From 00d943021b6e4df9446bb1165ee6dd9b083a29e1 Mon Sep 17 00:00:00 2001 From: JINGYJ <1458671527@qq.com> Date: Fri, 19 Jan 2024 11:43:35 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E9=A1=B9=E7=9B=AE=E6=A1=86=E6=9E=B6?= =?UTF-8?q?=E6=90=AD=E5=BB=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .editorconfig | 16 + .env | 6 + .env.development | 6 + .env.production | 5 + .eslintignore | 8 + .eslintrc.js | 8 + .gitignore | 43 + .prettierignore | 22 + .prettierrc.js | 21 + Dockerfile | 13 + README.md | 54 +- config/config.ts | 187 + config/defaultDrawer.ts | 1 + config/defaultForm.ts | 92 + config/defaultIcon.ts | 38 + config/defaultSettings.ts | 35 + config/defaultStyle.ts | 16 + config/defaultTable.ts | 46 + config/oneapi.json | 593 + config/proxy.ts | 64 + config/routes copy.ts | 332 + config/routes.ts | 351 + jest.config.ts | 23 + jsconfig.json | 11 + mock/DCSDevice.ts | 111 + mock/StaffEmployee.mock.ts | 23 + mock/listTableList.ts | 176 + mock/modelDetail.ts | 68 + mock/notices.ts | 115 + mock/requestRecord.mock.js | 324 + mock/route.ts | 5 + mock/user.ts | 203 + package.json | 137 + pnpm-lock.yaml | 20638 ++++++++++++++++ public/CNAME | 1 + public/bg.png | Bin 0 -> 59549 bytes public/favicon.ico | Bin 0 -> 165662 bytes public/icons/avatar.svg | 12 + public/icons/fault.svg | 12 + public/icons/icon-128x128.png | Bin 0 -> 1329 bytes public/icons/icon-192x192.png | Bin 0 -> 1856 bytes public/icons/icon-512x512.png | Bin 0 -> 5082 bytes public/icons/notice.svg | 5 + public/icons/offline.svg | 11 + public/icons/online.svg | 11 + public/icons/running.svg | 11 + .../images/computePowerAllocation/icon1.png | Bin 0 -> 392778 bytes .../computePowerAllocation/slideBtn1.png | Bin 0 -> 290 bytes .../computePowerAllocation/slideBtn2.png | Bin 0 -> 289 bytes public/images/icons/logo.svg | 24 + public/images/model.png | Bin 0 -> 104028 bytes public/loading.gif | Bin 0 -> 384183 bytes public/loading1.gif | Bin 0 -> 80205 bytes public/loginBoxLeft.png | Bin 0 -> 137418 bytes public/logo.svg | 24 + public/pro_icon.svg | 5 + public/scripts/loading.js | 202 + public/sst.png | Bin 0 -> 378479 bytes public/sst_logo.png | Bin 0 -> 4732 bytes src/access.ts | 22 + src/app.tsx | 230 + .../BatchOperation/isBatchDelete.tsx | 54 + src/components/DictionaryBox/alarmLevel.tsx | 39 + src/components/DictionaryBox/isEnable.tsx | 32 + src/components/Footer/index.tsx | 45 + src/components/HeaderDropdown/index.tsx | 23 + src/components/IconSelector/Category.tsx | 63 + src/components/IconSelector/CopyableIcon.tsx | 52 + .../IconSelector/IconPicSearcher.tsx | 233 + src/components/IconSelector/fields.ts | 223 + src/components/IconSelector/icon.ts | 11 + src/components/IconSelector/index.tsx | 147 + src/components/IconSelector/style.less | 137 + src/components/IconSelector/themeIcons.tsx | 41 + src/components/Loading/loadingSpin.tsx | 65 + src/components/Notice/index.module.less | 37 + src/components/Notice/index.tsx | 178 + .../RightContent/AvatarDropdown.tsx | 140 + src/components/RightContent/index.tsx | 66 + src/components/TableActionCard/index.tsx | 69 + .../TableActionCard/isConfirmAction.tsx | 58 + src/components/TableActionCard/isDelete.tsx | 56 + .../TableActionCard/isModalDelete.tsx | 45 + src/components/TableActionCard/stopBtn.tsx | 54 + src/components/TablePaginationCard/index.tsx | 39 + src/components/VideoPlayer/index.tsx | 54 + src/components/VideoPlayer/video.css | 1957 ++ .../VideoPlayer/videojs-new-markers.js | 172 + src/components/WebRtcPlayer/index.tsx | 32 + src/components/index.ts | 13 + src/enums/common.ts | 9 + src/enums/status.ts | 130 + src/enums/storage.ts | 3 + src/global.css | 399 + src/global.less | 543 + src/global.tsx | 91 + src/hooks/useAlarmSettingLevel.ts | 52 + src/layouts/context.tsx | 20 + src/layouts/index.tsx | 138 + src/layouts/treeAndTableList.tsx | 69 + src/layouts/useKeepAliveTabs.tsx | 152 + src/layouts/useMatchRoute.tsx | 88 + src/locales/bn-BD.ts | 26 + src/locales/bn-BD/component.ts | 5 + src/locales/bn-BD/globalHeader.ts | 17 + src/locales/bn-BD/menu.ts | 52 + src/locales/bn-BD/pages.ts | 68 + src/locales/bn-BD/pwa.ts | 7 + src/locales/bn-BD/settingDrawer.ts | 31 + src/locales/bn-BD/settings.ts | 59 + src/locales/en-US.ts | 29 + src/locales/en-US/component.ts | 5 + src/locales/en-US/device.ts | 4 + src/locales/en-US/globalHeader.ts | 17 + src/locales/en-US/menu.ts | 52 + src/locales/en-US/pages.ts | 68 + src/locales/en-US/pwa.ts | 6 + src/locales/en-US/resource.ts | 3 + src/locales/en-US/settingDrawer.ts | 31 + src/locales/en-US/settings.ts | 60 + src/locales/fa-IR.ts | 24 + src/locales/fa-IR/component.ts | 5 + src/locales/fa-IR/globalHeader.ts | 17 + src/locales/fa-IR/menu.ts | 52 + src/locales/fa-IR/pages.ts | 67 + src/locales/fa-IR/pwa.ts | 7 + src/locales/fa-IR/settingDrawer.ts | 32 + src/locales/fa-IR/settings.ts | 60 + src/locales/id-ID.ts | 25 + src/locales/id-ID/component.ts | 5 + src/locales/id-ID/globalHeader.ts | 17 + src/locales/id-ID/menu.ts | 52 + src/locales/id-ID/pages.ts | 70 + src/locales/id-ID/pwa.ts | 7 + src/locales/id-ID/settingDrawer.ts | 32 + src/locales/id-ID/settings.ts | 60 + src/locales/ja-JP.ts | 24 + src/locales/ja-JP/component.ts | 5 + src/locales/ja-JP/globalHeader.ts | 17 + src/locales/ja-JP/menu.ts | 52 + src/locales/ja-JP/pages.ts | 67 + src/locales/ja-JP/pwa.ts | 7 + src/locales/ja-JP/settingDrawer.ts | 31 + src/locales/ja-JP/settings.ts | 59 + src/locales/pt-BR.ts | 22 + src/locales/pt-BR/component.ts | 5 + src/locales/pt-BR/globalHeader.ts | 17 + src/locales/pt-BR/menu.ts | 52 + src/locales/pt-BR/pages.ts | 70 + src/locales/pt-BR/pwa.ts | 7 + src/locales/pt-BR/settingDrawer.ts | 32 + src/locales/pt-BR/settings.ts | 60 + src/locales/zh-CN.ts | 80 + src/locales/zh-CN/DCSDevice.ts | 87 + src/locales/zh-CN/account.ts | 14 + src/locales/zh-CN/alarm.ts | 50 + src/locales/zh-CN/analysis.ts | 1 + src/locales/zh-CN/app.ts | 23 + src/locales/zh-CN/common.ts | 54 + src/locales/zh-CN/component.ts | 5 + src/locales/zh-CN/contact.ts | 17 + src/locales/zh-CN/device.ts | 71 + src/locales/zh-CN/errorTypes.ts | 1 + src/locales/zh-CN/globalHeader.ts | 17 + src/locales/zh-CN/menu.ts | 82 + src/locales/zh-CN/notice.ts | 17 + src/locales/zh-CN/pages.ts | 75 + src/locales/zh-CN/project.ts | 24 + src/locales/zh-CN/pwa.ts | 6 + src/locales/zh-CN/resource.ts | 100 + src/locales/zh-CN/settingDrawer.ts | 31 + src/locales/zh-CN/settings.ts | 55 + src/locales/zh-CN/system.ts | 160 + src/locales/zh-CN/task.ts | 9 + src/locales/zh-TW.ts | 20 + src/locales/zh-TW/component.ts | 5 + src/locales/zh-TW/globalHeader.ts | 17 + src/locales/zh-TW/menu.ts | 52 + src/locales/zh-TW/pages.ts | 65 + src/locales/zh-TW/pwa.ts | 6 + src/locales/zh-TW/settingDrawer.ts | 31 + src/locales/zh-TW/settings.ts | 55 + src/manifest.json | 22 + src/pages/404.tsx | 18 + src/pages/Account/Center/center.less | 24 + .../Center/components/UpdateAccountForm.tsx | 92 + .../Center/components/UpdatePasswordForm.tsx | 144 + src/pages/Account/Center/index.tsx | 167 + src/pages/Admin.tsx | 45 + src/pages/Alarm/AlarmList/index.tsx | 155 + .../AlarmSetting/components/CreateForm.tsx | 158 + .../AlarmSetting/components/UpdateForm.tsx | 164 + .../components/alarmStatusForm.tsx | 190 + src/pages/Alarm/AlarmSetting/index.tsx | 322 + .../Alarm/AlarmWays/components/CreateForm.tsx | 95 + .../Alarm/AlarmWays/components/UpdateForm.tsx | 169 + src/pages/Alarm/AlarmWays/index.tsx | 222 + .../components/ColumnDrawer.tsx | 41 + .../components/Columns.tsx | 37 + .../components/CreateForm.tsx | 58 + .../components/UpdateForm.tsx | 62 + .../components/VideoModal.tsx | 147 + .../Analysis/ActionDetectionList/index.tsx | 384 + .../ComputePowerAllocation.tsx | 429 + src/pages/ComputePowerAllocation/typing.ts | 8 + .../ContactList/components/ColumnDrawer.tsx | 41 + .../ContactList/components/Columns.tsx | 47 + .../ContactList/components/CreateForm.tsx | 188 + .../ContactList/components/MyCreateForm.tsx | 537 + .../ContactList/components/UpdateForm.tsx | 240 + src/pages/Contact/ContactList/index.tsx | 317 + .../components/ColumnDrawer.tsx | 41 + .../DeviceCategoryList/components/Columns.tsx | 32 + .../components/CreateForm.tsx | 143 + .../components/UpdateForm.tsx | 187 + .../DCSDevice/DeviceCategoryList/index.tsx | 291 + .../components/ColumnDrawer.tsx | 41 + .../DeviceGroupList/components/Columns.tsx | 72 + .../DeviceGroupList/components/CreateForm.tsx | 274 + .../DeviceGroupList/components/UpdateForm.tsx | 291 + src/pages/DCSDevice/DeviceGroupList/index.tsx | 418 + .../DeviceList/components/ButtonState.tsx | 27 + .../DeviceList/components/ColumnDrawer.tsx | 41 + .../DeviceList/components/Columns.tsx | 62 + .../DeviceList/components/CreateForm.tsx | 233 + .../DeviceList/components/UpdateForm.tsx | 272 + .../DeviceList/components/VideoModal.tsx | 53 + src/pages/DCSDevice/DeviceList/index.tsx | 730 + .../components/DetailInfoCard.tsx | 477 + .../components/DeviceStatusCard.tsx | 115 + src/pages/DCSDevice/DeviceStatus/index.tsx | 301 + .../components/ColumnDrawer.tsx | 41 + .../DeviceCategoryList/components/Columns.tsx | 32 + .../components/CreateForm.tsx | 143 + .../components/UpdateForm.tsx | 187 + src/pages/Device/DeviceCategoryList/index.tsx | 291 + .../components/ColumnDrawer.tsx | 41 + .../DeviceGroupList/components/Columns.tsx | 72 + .../DeviceGroupList/components/CreateForm.tsx | 273 + .../DeviceGroupList/components/UpdateForm.tsx | 291 + src/pages/Device/DeviceGroupList/index.tsx | 417 + .../DeviceList/components/ColumnDrawer.tsx | 41 + .../Device/DeviceList/components/Columns.tsx | 62 + .../DeviceList/components/CreateForm.tsx | 233 + .../DeviceList/components/UpdateForm.tsx | 272 + .../DeviceList/components/VideoModal.tsx | 53 + src/pages/Device/DeviceList/index.tsx | 706 + .../components/ColumnDrawer.tsx | 41 + .../DeviceRelationList/components/Columns.tsx | 27 + .../components/CreateForm.tsx | 115 + .../components/UpdateForm.tsx | 170 + src/pages/Device/DeviceRelationList/index.tsx | 461 + .../Room/components/ColumnDrawer.tsx | 170 + .../Room/components/ModelTipBox.tsx | 112 + src/pages/FabricView/Room/index.tsx | 244 + src/pages/Hidden.tsx | 18 + src/pages/Home/Chart.tsx | 25 + src/pages/Home/Welcome.tsx | 218 + src/pages/Home/components/Detail.tsx | 25 + src/pages/Home/components/Pie.tsx | 45 + src/pages/Home/components/Rank.tsx | 7 + src/pages/Home/components/Scroll.tsx | 58 + src/pages/Home/components/style.less | 20 + src/pages/Notice/index.tsx | 210 + .../ProjectList/components/ColumnDrawer.tsx | 41 + .../ProjectList/components/Columns.tsx | 47 + .../ProjectList/components/CreateForm.tsx | 162 + .../ProjectList/components/MyCreateForm.tsx | 537 + .../ProjectList/components/UpdateForm.tsx | 225 + src/pages/Project/ProjectList/index.tsx | 310 + .../components/ColumnDrawer.tsx | 56 + .../AlgorithmModelList/components/Columns.tsx | 32 + .../components/CreateForm.tsx | 142 + .../components/UpdateForm.tsx | 194 + .../Resource/AlgorithmModelList/detail.tsx | 371 + .../Resource/AlgorithmModelList/index.tsx | 452 + .../components/ColumnDrawer.tsx | 41 + .../BusinessImageList/components/Columns.tsx | 57 + .../components/CreateForm.tsx | 209 + .../components/UpdateForm.tsx | 284 + .../Resource/BusinessImageList/index.tsx | 447 + .../components/ColumnDrawer.tsx | 41 + .../ContainerImageList/components/Columns.tsx | 47 + .../components/CreateForm.tsx | 84 + .../components/UpdateForm.tsx | 88 + .../Resource/ContainerImageList/index.tsx | 316 + .../components/ColumnDrawer.tsx | 53 + .../ModelCategoryList/components/Columns.tsx | 32 + .../components/CreateForm.tsx | 140 + .../components/UpdateForm.tsx | 179 + .../Resource/ModelCategoryList/index.tsx | 291 + .../components/ColumnDrawer.tsx | 49 + .../ModelImageList/components/Columns.tsx | 42 + .../ModelImageList/components/CreateForm.tsx | 329 + .../ModelImageList/components/UpdateForm.tsx | 224 + src/pages/Resource/ModelImageList/index.tsx | 428 + .../components/ColumnDrawer.tsx | 41 + .../ModelVersionList/components/Columns.tsx | 47 + .../components/CreateForm.tsx | 189 + .../components/MyCreateForm.tsx | 415 + .../components/UpdateForm.tsx | 252 + src/pages/Resource/ModelVersionList/index.tsx | 507 + .../components/DeviceStatusCard.tsx | 158 + .../Resource/ResourceDeviceStatus/index.tsx | 181 + .../ServerStatus/components/CreateForm.tsx | 191 + .../components/DeviceStatusCard.tsx | 115 + .../ServerStatus/components/UpdateForm.tsx | 197 + src/pages/Resource/ServerStatus/index.tsx | 418 + src/pages/Resource/index.tsx | 369 + src/pages/Setting/AlgorithmSetting.tsx | 407 + src/pages/Setting/components/AlarmSetForm.tsx | 148 + src/pages/Setting/components/ProjectCard.tsx | 84 + .../Setting/components/TableTransfer.tsx | 248 + src/pages/Setting/components/UpdateForm.tsx | 444 + .../ApiList/components/ColumnDrawer.tsx | 41 + .../System/ApiList/components/Columns.tsx | 28 + .../System/ApiList/components/CreateForm.tsx | 83 + .../System/ApiList/components/UpdateForm.tsx | 95 + src/pages/System/ApiList/index.tsx | 344 + src/pages/System/ApiList/system-en.ts | 1 + src/pages/System/ApiList/system.ts | 1 + .../components/ColumnDrawer.tsx | 41 + .../DepartmentList/components/Columns.tsx | 53 + .../DepartmentList/components/CreateForm.tsx | 143 + .../DepartmentList/components/UpdateForm.tsx | 132 + src/pages/System/DepartmentList/index.tsx | 419 + .../components/ColumnDrawer.tsx | 41 + .../DictionaryList/components/Columns.tsx | 28 + .../DictionaryList/components/CreateForm.tsx | 98 + .../DictionaryList/components/UpdateForm.tsx | 105 + src/pages/System/DictionaryList/index.tsx | 285 + src/pages/System/DictionaryList/system-en.ts | 1 + src/pages/System/DictionaryList/system.ts | 1 + .../MenuList/component/ColumnDrawer.tsx | 43 + .../System/MenuList/component/CreateForm.tsx | 356 + .../System/MenuList/component/UpdateForm.tsx | 358 + src/pages/System/MenuList/index.tsx | 425 + .../components/ColumnDrawer.tsx | 41 + .../components/Columns.tsx | 28 + .../components/CreateForm.tsx | 105 + .../components/UpdateForm.tsx | 105 + .../System/OperationRecordList/index.tsx | 432 + .../System/OperationRecordList/system-en.ts | 1 + .../System/OperationRecordList/system.ts | 1 + .../components/UpdateParameterForm.tsx | 92 + src/pages/System/ParameterSetting/index.tsx | 249 + .../ParameterSetting/parameterSetting.less | 29 + .../PostList/components/ColumnDrawer.tsx | 41 + .../System/PostList/components/Columns.tsx | 43 + .../System/PostList/components/CreateForm.tsx | 101 + .../System/PostList/components/UpdateForm.tsx | 108 + src/pages/System/PostList/index.tsx | 348 + src/pages/System/PostList/system-en.ts | 1 + src/pages/System/PostList/system.ts | 1 + .../RoleList/components/ColumnDrawer.tsx | 49 + .../System/RoleList/components/Columns.tsx | 28 + .../System/RoleList/components/CreateForm.tsx | 101 + .../RoleList/components/SetPermissionForm.tsx | 210 + .../System/RoleList/components/UpdateForm.tsx | 108 + src/pages/System/RoleList/index.tsx | 386 + src/pages/System/RoleList/system-en.ts | 1 + src/pages/System/RoleList/system.ts | 1 + .../UserList/components/ColumnDrawer.tsx | 41 + .../System/UserList/components/Columns.tsx | 28 + .../System/UserList/components/CreateForm.tsx | 266 + .../System/UserList/components/UpdateForm.tsx | 230 + src/pages/System/UserList/index.tsx | 376 + src/pages/System/UserList/system-en.ts | 1 + src/pages/System/UserList/system.ts | 1 + src/pages/Task/TaskList/index.tsx | 224 + .../Login/__snapshots__/login.test.tsx.snap | 1103 + src/pages/User/Login/index.tsx | 456 + src/pages/User/Login/index1.tsx | 538 + src/pages/User/Login/index2.tsx | 408 + src/pages/User/Login/login.less | 38 + src/pages/User/Login/login.test.tsx | 96 + src/pages/User/Login/login1.less | 50 + src/pages/Welcome/Welcome.tsx | 54 + .../Welcome/components/BannerInfoCard.tsx | 171 + src/pages/Welcome/components/FootInfoCard.tsx | 273 + .../Welcome/components/NavInfoCardList.tsx | 237 + src/pages/Welcome/styles/bannerInfoCard.less | 216 + src/pages/Welcome/styles/colors.css | 0 src/pages/Welcome/styles/colors.less | 0 src/pages/Welcome/testData.ts | 142 + src/pages/Welcome/typing.ts | 5 + src/requestErrorConfig.ts | 116 + src/service-worker.js | 65 + src/services/analysis/ActionDetection.ts | 21 + src/services/analysis/index.ts | 8 + src/services/analysis/typings.d.ts | 45 + src/services/ant-design-pro/api.ts | 85 + src/services/ant-design-pro/index.ts | 10 + src/services/ant-design-pro/login.ts | 21 + src/services/ant-design-pro/typings.d.ts | 101 + src/services/device/Device.ts | 171 + src/services/device/DeviceCategory.ts | 138 + src/services/device/DeviceGroup.ts | 146 + src/services/device/DeviceModelInGroup.ts | 162 + src/services/device/DeviceRelation.ts | 138 + src/services/device/index.ts | 14 + src/services/device/typings.d.ts | 222 + src/services/project/Project.ts | 162 + src/services/project/ProjectModelConfig.ts | 111 + src/services/project/index.ts | 11 + src/services/project/typings.d.ts | 126 + src/services/resource/AlgorithmModel.ts | 156 + src/services/resource/BusinessImage.ts | 138 + src/services/resource/ModelCategory.ts | 138 + src/services/resource/ModelImage.ts | 135 + src/services/resource/ModelVersion.ts | 153 + src/services/resource/index.ts | 16 + src/services/resource/typings.d.ts | 226 + src/services/swagger/index.ts | 12 + src/services/swagger/pet.ts | 153 + src/services/swagger/store.ts | 48 + src/services/swagger/typings.d.ts | 112 + src/services/swagger/user.ts | 100 + src/services/system/Api.ts | 108 + src/services/system/Base.ts | 26 + src/services/system/Casbin.ts | 36 + src/services/system/CheckDB.ts | 14 + src/services/system/Department.ts | 139 + src/services/system/Dictionary.ts | 84 + src/services/system/DictionaryDetail.ts | 93 + src/services/system/File.ts | 68 + src/services/system/InitDB.ts | 15 + src/services/system/Jwt.ts | 11 + src/services/system/Menu.ts | 76 + src/services/system/OperationRecord.ts | 93 + src/services/system/Post.ts | 117 + src/services/system/Role.ts | 99 + src/services/system/System.ts | 48 + src/services/system/User.ts | 137 + src/services/system/index.ts | 38 + src/services/system/typings.d.ts | 1028 + src/styles/color/bezierEasing.less | 110 + src/styles/color/colorPalette.less | 85 + src/styles/color/colors.less | 162 + src/styles/color/tinyColor.less | 1184 + src/styles/compact.less | 4 + src/styles/core/base.less | 10 + src/styles/core/global.less | 491 + src/styles/core/iconfont.less | 22 + src/styles/core/index.less | 5 + src/styles/core/motion.less | 22 + src/styles/core/motion/fade.less | 34 + src/styles/core/motion/move.less | 129 + src/styles/core/motion/other.less | 51 + src/styles/core/motion/slide.less | 131 + src/styles/core/motion/zoom.less | 179 + src/styles/css.js | 1 + src/styles/dark.less | 4 + src/styles/default.css | 1248 + src/styles/default.less | 4 + src/styles/index-pure.less | 2 + src/styles/index.css | 1248 + src/styles/index.d.ts | 1 + src/styles/index.js | 1 + src/styles/index.less | 3 + src/styles/mixins/box.less | 7 + src/styles/mixins/clearfix.less | 16 + src/styles/mixins/compact-item-vertical.less | 41 + src/styles/mixins/compact-item.less | 133 + src/styles/mixins/compatibility.less | 13 + src/styles/mixins/customize.less | 181 + src/styles/mixins/iconfont.less | 29 + src/styles/mixins/index.less | 16 + src/styles/mixins/modal-mask.less | 30 + src/styles/mixins/motion.less | 33 + src/styles/mixins/operation-unit.less | 15 + src/styles/mixins/reset.less | 11 + src/styles/mixins/rounded-arrow.less | 44 + src/styles/mixins/size.less | 10 + src/styles/mixins/typography.less | 58 + src/styles/themes/compact.less | 295 + src/styles/themes/dark.less | 457 + src/styles/themes/default.less | 1084 + src/styles/themes/index.less | 7 + src/styles/themes/variable.less | 1139 + src/styles/variable.less | 4 + src/testData/SettingAIgorithm.tsx | 41 + src/testData/fabricGroupRoom.ts | 1644 ++ src/testData/fabricRoomList.ts | 176 + src/testData/fabricRoomSvg.ts | 49 + src/testData/fabricWatchIcons.ts | 2264 ++ src/testData/testData.md | 11 + src/typings.d.ts | 24 + src/utils/FixMenuItemIcon.tsx | 63 + src/utils/IconUtil.ts | 24 + src/utils/common.ts | 123 + src/utils/downloadfile.ts | 63 + src/utils/options.ts | 12 + src/utils/permission.ts | 64 + src/utils/player.tsx | 9 + src/utils/storage.js | 78 + src/utils/tree.ts | 93 + tests/setupTests.jsx | 64 + tsconfig.json | 27 + types/cache/cache.json | 1 + types/cache/login.cache.json | 386 + types/cache/mock/login.mock.cache.js | 324 + types/cache/mock/mock.cache.js | 0 types/index.d.ts | 120 + 504 files changed, 87714 insertions(+), 1 deletion(-) create mode 100644 .editorconfig create mode 100644 .env create mode 100644 .env.development create mode 100644 .env.production create mode 100644 .eslintignore create mode 100644 .eslintrc.js create mode 100644 .gitignore create mode 100644 .prettierignore create mode 100644 .prettierrc.js create mode 100644 Dockerfile create mode 100644 config/config.ts create mode 100644 config/defaultDrawer.ts create mode 100644 config/defaultForm.ts create mode 100644 config/defaultIcon.ts create mode 100644 config/defaultSettings.ts create mode 100644 config/defaultStyle.ts create mode 100644 config/defaultTable.ts create mode 100644 config/oneapi.json create mode 100644 config/proxy.ts create mode 100644 config/routes copy.ts create mode 100644 config/routes.ts create mode 100644 jest.config.ts create mode 100644 jsconfig.json create mode 100644 mock/DCSDevice.ts create mode 100644 mock/StaffEmployee.mock.ts create mode 100644 mock/listTableList.ts create mode 100644 mock/modelDetail.ts create mode 100644 mock/notices.ts create mode 100644 mock/requestRecord.mock.js create mode 100644 mock/route.ts create mode 100644 mock/user.ts create mode 100644 package.json create mode 100644 pnpm-lock.yaml create mode 100644 public/CNAME create mode 100644 public/bg.png create mode 100644 public/favicon.ico create mode 100644 public/icons/avatar.svg create mode 100644 public/icons/fault.svg create mode 100644 public/icons/icon-128x128.png create mode 100644 public/icons/icon-192x192.png create mode 100644 public/icons/icon-512x512.png create mode 100644 public/icons/notice.svg create mode 100644 public/icons/offline.svg create mode 100644 public/icons/online.svg create mode 100644 public/icons/running.svg create mode 100644 public/images/computePowerAllocation/icon1.png create mode 100644 public/images/computePowerAllocation/slideBtn1.png create mode 100644 public/images/computePowerAllocation/slideBtn2.png create mode 100644 public/images/icons/logo.svg create mode 100644 public/images/model.png create mode 100644 public/loading.gif create mode 100644 public/loading1.gif create mode 100644 public/loginBoxLeft.png create mode 100644 public/logo.svg create mode 100644 public/pro_icon.svg create mode 100644 public/scripts/loading.js create mode 100644 public/sst.png create mode 100644 public/sst_logo.png create mode 100644 src/access.ts create mode 100644 src/app.tsx create mode 100644 src/components/BatchOperation/isBatchDelete.tsx create mode 100644 src/components/DictionaryBox/alarmLevel.tsx create mode 100644 src/components/DictionaryBox/isEnable.tsx create mode 100644 src/components/Footer/index.tsx create mode 100644 src/components/HeaderDropdown/index.tsx create mode 100644 src/components/IconSelector/Category.tsx create mode 100644 src/components/IconSelector/CopyableIcon.tsx create mode 100644 src/components/IconSelector/IconPicSearcher.tsx create mode 100644 src/components/IconSelector/fields.ts create mode 100644 src/components/IconSelector/icon.ts create mode 100644 src/components/IconSelector/index.tsx create mode 100644 src/components/IconSelector/style.less create mode 100644 src/components/IconSelector/themeIcons.tsx create mode 100644 src/components/Loading/loadingSpin.tsx create mode 100644 src/components/Notice/index.module.less create mode 100644 src/components/Notice/index.tsx create mode 100644 src/components/RightContent/AvatarDropdown.tsx create mode 100644 src/components/RightContent/index.tsx create mode 100644 src/components/TableActionCard/index.tsx create mode 100644 src/components/TableActionCard/isConfirmAction.tsx create mode 100644 src/components/TableActionCard/isDelete.tsx create mode 100644 src/components/TableActionCard/isModalDelete.tsx create mode 100644 src/components/TableActionCard/stopBtn.tsx create mode 100644 src/components/TablePaginationCard/index.tsx create mode 100644 src/components/VideoPlayer/index.tsx create mode 100644 src/components/VideoPlayer/video.css create mode 100644 src/components/VideoPlayer/videojs-new-markers.js create mode 100644 src/components/WebRtcPlayer/index.tsx create mode 100644 src/components/index.ts create mode 100644 src/enums/common.ts create mode 100644 src/enums/status.ts create mode 100644 src/enums/storage.ts create mode 100644 src/global.css create mode 100644 src/global.less create mode 100644 src/global.tsx create mode 100644 src/hooks/useAlarmSettingLevel.ts create mode 100644 src/layouts/context.tsx create mode 100644 src/layouts/index.tsx create mode 100644 src/layouts/treeAndTableList.tsx create mode 100644 src/layouts/useKeepAliveTabs.tsx create mode 100644 src/layouts/useMatchRoute.tsx create mode 100644 src/locales/bn-BD.ts create mode 100644 src/locales/bn-BD/component.ts create mode 100644 src/locales/bn-BD/globalHeader.ts create mode 100644 src/locales/bn-BD/menu.ts create mode 100644 src/locales/bn-BD/pages.ts create mode 100644 src/locales/bn-BD/pwa.ts create mode 100644 src/locales/bn-BD/settingDrawer.ts create mode 100644 src/locales/bn-BD/settings.ts create mode 100644 src/locales/en-US.ts create mode 100644 src/locales/en-US/component.ts create mode 100644 src/locales/en-US/device.ts create mode 100644 src/locales/en-US/globalHeader.ts create mode 100644 src/locales/en-US/menu.ts create mode 100644 src/locales/en-US/pages.ts create mode 100644 src/locales/en-US/pwa.ts create mode 100644 src/locales/en-US/resource.ts create mode 100644 src/locales/en-US/settingDrawer.ts create mode 100644 src/locales/en-US/settings.ts create mode 100644 src/locales/fa-IR.ts create mode 100644 src/locales/fa-IR/component.ts create mode 100644 src/locales/fa-IR/globalHeader.ts create mode 100644 src/locales/fa-IR/menu.ts create mode 100644 src/locales/fa-IR/pages.ts create mode 100644 src/locales/fa-IR/pwa.ts create mode 100644 src/locales/fa-IR/settingDrawer.ts create mode 100644 src/locales/fa-IR/settings.ts create mode 100644 src/locales/id-ID.ts create mode 100644 src/locales/id-ID/component.ts create mode 100644 src/locales/id-ID/globalHeader.ts create mode 100644 src/locales/id-ID/menu.ts create mode 100644 src/locales/id-ID/pages.ts create mode 100644 src/locales/id-ID/pwa.ts create mode 100644 src/locales/id-ID/settingDrawer.ts create mode 100644 src/locales/id-ID/settings.ts create mode 100644 src/locales/ja-JP.ts create mode 100644 src/locales/ja-JP/component.ts create mode 100644 src/locales/ja-JP/globalHeader.ts create mode 100644 src/locales/ja-JP/menu.ts create mode 100644 src/locales/ja-JP/pages.ts create mode 100644 src/locales/ja-JP/pwa.ts create mode 100644 src/locales/ja-JP/settingDrawer.ts create mode 100644 src/locales/ja-JP/settings.ts create mode 100644 src/locales/pt-BR.ts create mode 100644 src/locales/pt-BR/component.ts create mode 100644 src/locales/pt-BR/globalHeader.ts create mode 100644 src/locales/pt-BR/menu.ts create mode 100644 src/locales/pt-BR/pages.ts create mode 100644 src/locales/pt-BR/pwa.ts create mode 100644 src/locales/pt-BR/settingDrawer.ts create mode 100644 src/locales/pt-BR/settings.ts create mode 100644 src/locales/zh-CN.ts create mode 100644 src/locales/zh-CN/DCSDevice.ts create mode 100644 src/locales/zh-CN/account.ts create mode 100644 src/locales/zh-CN/alarm.ts create mode 100644 src/locales/zh-CN/analysis.ts create mode 100644 src/locales/zh-CN/app.ts create mode 100644 src/locales/zh-CN/common.ts create mode 100644 src/locales/zh-CN/component.ts create mode 100644 src/locales/zh-CN/contact.ts create mode 100644 src/locales/zh-CN/device.ts create mode 100644 src/locales/zh-CN/errorTypes.ts create mode 100644 src/locales/zh-CN/globalHeader.ts create mode 100644 src/locales/zh-CN/menu.ts create mode 100644 src/locales/zh-CN/notice.ts create mode 100644 src/locales/zh-CN/pages.ts create mode 100644 src/locales/zh-CN/project.ts create mode 100644 src/locales/zh-CN/pwa.ts create mode 100644 src/locales/zh-CN/resource.ts create mode 100644 src/locales/zh-CN/settingDrawer.ts create mode 100644 src/locales/zh-CN/settings.ts create mode 100644 src/locales/zh-CN/system.ts create mode 100644 src/locales/zh-CN/task.ts create mode 100644 src/locales/zh-TW.ts create mode 100644 src/locales/zh-TW/component.ts create mode 100644 src/locales/zh-TW/globalHeader.ts create mode 100644 src/locales/zh-TW/menu.ts create mode 100644 src/locales/zh-TW/pages.ts create mode 100644 src/locales/zh-TW/pwa.ts create mode 100644 src/locales/zh-TW/settingDrawer.ts create mode 100644 src/locales/zh-TW/settings.ts create mode 100644 src/manifest.json create mode 100644 src/pages/404.tsx create mode 100644 src/pages/Account/Center/center.less create mode 100644 src/pages/Account/Center/components/UpdateAccountForm.tsx create mode 100644 src/pages/Account/Center/components/UpdatePasswordForm.tsx create mode 100644 src/pages/Account/Center/index.tsx create mode 100644 src/pages/Admin.tsx create mode 100644 src/pages/Alarm/AlarmList/index.tsx create mode 100644 src/pages/Alarm/AlarmSetting/components/CreateForm.tsx create mode 100644 src/pages/Alarm/AlarmSetting/components/UpdateForm.tsx create mode 100644 src/pages/Alarm/AlarmSetting/components/alarmStatusForm.tsx create mode 100644 src/pages/Alarm/AlarmSetting/index.tsx create mode 100644 src/pages/Alarm/AlarmWays/components/CreateForm.tsx create mode 100644 src/pages/Alarm/AlarmWays/components/UpdateForm.tsx create mode 100644 src/pages/Alarm/AlarmWays/index.tsx create mode 100644 src/pages/Analysis/ActionDetectionList/components/ColumnDrawer.tsx create mode 100644 src/pages/Analysis/ActionDetectionList/components/Columns.tsx create mode 100644 src/pages/Analysis/ActionDetectionList/components/CreateForm.tsx create mode 100644 src/pages/Analysis/ActionDetectionList/components/UpdateForm.tsx create mode 100644 src/pages/Analysis/ActionDetectionList/components/VideoModal.tsx create mode 100644 src/pages/Analysis/ActionDetectionList/index.tsx create mode 100644 src/pages/ComputePowerAllocation/ComputePowerAllocation.tsx create mode 100644 src/pages/ComputePowerAllocation/typing.ts create mode 100644 src/pages/Contact/ContactList/components/ColumnDrawer.tsx create mode 100644 src/pages/Contact/ContactList/components/Columns.tsx create mode 100644 src/pages/Contact/ContactList/components/CreateForm.tsx create mode 100644 src/pages/Contact/ContactList/components/MyCreateForm.tsx create mode 100644 src/pages/Contact/ContactList/components/UpdateForm.tsx create mode 100644 src/pages/Contact/ContactList/index.tsx create mode 100644 src/pages/DCSDevice/DeviceCategoryList/components/ColumnDrawer.tsx create mode 100644 src/pages/DCSDevice/DeviceCategoryList/components/Columns.tsx create mode 100644 src/pages/DCSDevice/DeviceCategoryList/components/CreateForm.tsx create mode 100644 src/pages/DCSDevice/DeviceCategoryList/components/UpdateForm.tsx create mode 100644 src/pages/DCSDevice/DeviceCategoryList/index.tsx create mode 100644 src/pages/DCSDevice/DeviceGroupList/components/ColumnDrawer.tsx create mode 100644 src/pages/DCSDevice/DeviceGroupList/components/Columns.tsx create mode 100644 src/pages/DCSDevice/DeviceGroupList/components/CreateForm.tsx create mode 100644 src/pages/DCSDevice/DeviceGroupList/components/UpdateForm.tsx create mode 100644 src/pages/DCSDevice/DeviceGroupList/index.tsx create mode 100644 src/pages/DCSDevice/DeviceList/components/ButtonState.tsx create mode 100644 src/pages/DCSDevice/DeviceList/components/ColumnDrawer.tsx create mode 100644 src/pages/DCSDevice/DeviceList/components/Columns.tsx create mode 100644 src/pages/DCSDevice/DeviceList/components/CreateForm.tsx create mode 100644 src/pages/DCSDevice/DeviceList/components/UpdateForm.tsx create mode 100644 src/pages/DCSDevice/DeviceList/components/VideoModal.tsx create mode 100644 src/pages/DCSDevice/DeviceList/index.tsx create mode 100644 src/pages/DCSDevice/DeviceStatus/components/DetailInfoCard.tsx create mode 100644 src/pages/DCSDevice/DeviceStatus/components/DeviceStatusCard.tsx create mode 100644 src/pages/DCSDevice/DeviceStatus/index.tsx create mode 100644 src/pages/Device/DeviceCategoryList/components/ColumnDrawer.tsx create mode 100644 src/pages/Device/DeviceCategoryList/components/Columns.tsx create mode 100644 src/pages/Device/DeviceCategoryList/components/CreateForm.tsx create mode 100644 src/pages/Device/DeviceCategoryList/components/UpdateForm.tsx create mode 100644 src/pages/Device/DeviceCategoryList/index.tsx create mode 100644 src/pages/Device/DeviceGroupList/components/ColumnDrawer.tsx create mode 100644 src/pages/Device/DeviceGroupList/components/Columns.tsx create mode 100644 src/pages/Device/DeviceGroupList/components/CreateForm.tsx create mode 100644 src/pages/Device/DeviceGroupList/components/UpdateForm.tsx create mode 100644 src/pages/Device/DeviceGroupList/index.tsx create mode 100644 src/pages/Device/DeviceList/components/ColumnDrawer.tsx create mode 100644 src/pages/Device/DeviceList/components/Columns.tsx create mode 100644 src/pages/Device/DeviceList/components/CreateForm.tsx create mode 100644 src/pages/Device/DeviceList/components/UpdateForm.tsx create mode 100644 src/pages/Device/DeviceList/components/VideoModal.tsx create mode 100644 src/pages/Device/DeviceList/index.tsx create mode 100644 src/pages/Device/DeviceRelationList/components/ColumnDrawer.tsx create mode 100644 src/pages/Device/DeviceRelationList/components/Columns.tsx create mode 100644 src/pages/Device/DeviceRelationList/components/CreateForm.tsx create mode 100644 src/pages/Device/DeviceRelationList/components/UpdateForm.tsx create mode 100644 src/pages/Device/DeviceRelationList/index.tsx create mode 100644 src/pages/FabricView/Room/components/ColumnDrawer.tsx create mode 100644 src/pages/FabricView/Room/components/ModelTipBox.tsx create mode 100644 src/pages/FabricView/Room/index.tsx create mode 100644 src/pages/Hidden.tsx create mode 100644 src/pages/Home/Chart.tsx create mode 100644 src/pages/Home/Welcome.tsx create mode 100644 src/pages/Home/components/Detail.tsx create mode 100644 src/pages/Home/components/Pie.tsx create mode 100644 src/pages/Home/components/Rank.tsx create mode 100644 src/pages/Home/components/Scroll.tsx create mode 100644 src/pages/Home/components/style.less create mode 100644 src/pages/Notice/index.tsx create mode 100644 src/pages/Project/ProjectList/components/ColumnDrawer.tsx create mode 100644 src/pages/Project/ProjectList/components/Columns.tsx create mode 100644 src/pages/Project/ProjectList/components/CreateForm.tsx create mode 100644 src/pages/Project/ProjectList/components/MyCreateForm.tsx create mode 100644 src/pages/Project/ProjectList/components/UpdateForm.tsx create mode 100644 src/pages/Project/ProjectList/index.tsx create mode 100644 src/pages/Resource/AlgorithmModelList/components/ColumnDrawer.tsx create mode 100644 src/pages/Resource/AlgorithmModelList/components/Columns.tsx create mode 100644 src/pages/Resource/AlgorithmModelList/components/CreateForm.tsx create mode 100644 src/pages/Resource/AlgorithmModelList/components/UpdateForm.tsx create mode 100644 src/pages/Resource/AlgorithmModelList/detail.tsx create mode 100644 src/pages/Resource/AlgorithmModelList/index.tsx create mode 100644 src/pages/Resource/BusinessImageList/components/ColumnDrawer.tsx create mode 100644 src/pages/Resource/BusinessImageList/components/Columns.tsx create mode 100644 src/pages/Resource/BusinessImageList/components/CreateForm.tsx create mode 100644 src/pages/Resource/BusinessImageList/components/UpdateForm.tsx create mode 100644 src/pages/Resource/BusinessImageList/index.tsx create mode 100644 src/pages/Resource/ContainerImageList/components/ColumnDrawer.tsx create mode 100644 src/pages/Resource/ContainerImageList/components/Columns.tsx create mode 100644 src/pages/Resource/ContainerImageList/components/CreateForm.tsx create mode 100644 src/pages/Resource/ContainerImageList/components/UpdateForm.tsx create mode 100644 src/pages/Resource/ContainerImageList/index.tsx create mode 100644 src/pages/Resource/ModelCategoryList/components/ColumnDrawer.tsx create mode 100644 src/pages/Resource/ModelCategoryList/components/Columns.tsx create mode 100644 src/pages/Resource/ModelCategoryList/components/CreateForm.tsx create mode 100644 src/pages/Resource/ModelCategoryList/components/UpdateForm.tsx create mode 100644 src/pages/Resource/ModelCategoryList/index.tsx create mode 100644 src/pages/Resource/ModelImageList/components/ColumnDrawer.tsx create mode 100644 src/pages/Resource/ModelImageList/components/Columns.tsx create mode 100644 src/pages/Resource/ModelImageList/components/CreateForm.tsx create mode 100644 src/pages/Resource/ModelImageList/components/UpdateForm.tsx create mode 100644 src/pages/Resource/ModelImageList/index.tsx create mode 100644 src/pages/Resource/ModelVersionList/components/ColumnDrawer.tsx create mode 100644 src/pages/Resource/ModelVersionList/components/Columns.tsx create mode 100644 src/pages/Resource/ModelVersionList/components/CreateForm.tsx create mode 100644 src/pages/Resource/ModelVersionList/components/MyCreateForm.tsx create mode 100644 src/pages/Resource/ModelVersionList/components/UpdateForm.tsx create mode 100644 src/pages/Resource/ModelVersionList/index.tsx create mode 100644 src/pages/Resource/ResourceDeviceStatus/components/DeviceStatusCard.tsx create mode 100644 src/pages/Resource/ResourceDeviceStatus/index.tsx create mode 100644 src/pages/Resource/ServerStatus/components/CreateForm.tsx create mode 100644 src/pages/Resource/ServerStatus/components/DeviceStatusCard.tsx create mode 100644 src/pages/Resource/ServerStatus/components/UpdateForm.tsx create mode 100644 src/pages/Resource/ServerStatus/index.tsx create mode 100644 src/pages/Resource/index.tsx create mode 100644 src/pages/Setting/AlgorithmSetting.tsx create mode 100644 src/pages/Setting/components/AlarmSetForm.tsx create mode 100644 src/pages/Setting/components/ProjectCard.tsx create mode 100644 src/pages/Setting/components/TableTransfer.tsx create mode 100644 src/pages/Setting/components/UpdateForm.tsx create mode 100644 src/pages/System/ApiList/components/ColumnDrawer.tsx create mode 100644 src/pages/System/ApiList/components/Columns.tsx create mode 100644 src/pages/System/ApiList/components/CreateForm.tsx create mode 100644 src/pages/System/ApiList/components/UpdateForm.tsx create mode 100644 src/pages/System/ApiList/index.tsx create mode 100644 src/pages/System/ApiList/system-en.ts create mode 100644 src/pages/System/ApiList/system.ts create mode 100644 src/pages/System/DepartmentList/components/ColumnDrawer.tsx create mode 100644 src/pages/System/DepartmentList/components/Columns.tsx create mode 100644 src/pages/System/DepartmentList/components/CreateForm.tsx create mode 100644 src/pages/System/DepartmentList/components/UpdateForm.tsx create mode 100644 src/pages/System/DepartmentList/index.tsx create mode 100644 src/pages/System/DictionaryList/components/ColumnDrawer.tsx create mode 100644 src/pages/System/DictionaryList/components/Columns.tsx create mode 100644 src/pages/System/DictionaryList/components/CreateForm.tsx create mode 100644 src/pages/System/DictionaryList/components/UpdateForm.tsx create mode 100644 src/pages/System/DictionaryList/index.tsx create mode 100644 src/pages/System/DictionaryList/system-en.ts create mode 100644 src/pages/System/DictionaryList/system.ts create mode 100644 src/pages/System/MenuList/component/ColumnDrawer.tsx create mode 100644 src/pages/System/MenuList/component/CreateForm.tsx create mode 100644 src/pages/System/MenuList/component/UpdateForm.tsx create mode 100644 src/pages/System/MenuList/index.tsx create mode 100644 src/pages/System/OperationRecordList/components/ColumnDrawer.tsx create mode 100644 src/pages/System/OperationRecordList/components/Columns.tsx create mode 100644 src/pages/System/OperationRecordList/components/CreateForm.tsx create mode 100644 src/pages/System/OperationRecordList/components/UpdateForm.tsx create mode 100644 src/pages/System/OperationRecordList/index.tsx create mode 100644 src/pages/System/OperationRecordList/system-en.ts create mode 100644 src/pages/System/OperationRecordList/system.ts create mode 100644 src/pages/System/ParameterSetting/components/UpdateParameterForm.tsx create mode 100644 src/pages/System/ParameterSetting/index.tsx create mode 100644 src/pages/System/ParameterSetting/parameterSetting.less create mode 100644 src/pages/System/PostList/components/ColumnDrawer.tsx create mode 100644 src/pages/System/PostList/components/Columns.tsx create mode 100644 src/pages/System/PostList/components/CreateForm.tsx create mode 100644 src/pages/System/PostList/components/UpdateForm.tsx create mode 100644 src/pages/System/PostList/index.tsx create mode 100644 src/pages/System/PostList/system-en.ts create mode 100644 src/pages/System/PostList/system.ts create mode 100644 src/pages/System/RoleList/components/ColumnDrawer.tsx create mode 100644 src/pages/System/RoleList/components/Columns.tsx create mode 100644 src/pages/System/RoleList/components/CreateForm.tsx create mode 100644 src/pages/System/RoleList/components/SetPermissionForm.tsx create mode 100644 src/pages/System/RoleList/components/UpdateForm.tsx create mode 100644 src/pages/System/RoleList/index.tsx create mode 100644 src/pages/System/RoleList/system-en.ts create mode 100644 src/pages/System/RoleList/system.ts create mode 100644 src/pages/System/UserList/components/ColumnDrawer.tsx create mode 100644 src/pages/System/UserList/components/Columns.tsx create mode 100644 src/pages/System/UserList/components/CreateForm.tsx create mode 100644 src/pages/System/UserList/components/UpdateForm.tsx create mode 100644 src/pages/System/UserList/index.tsx create mode 100644 src/pages/System/UserList/system-en.ts create mode 100644 src/pages/System/UserList/system.ts create mode 100644 src/pages/Task/TaskList/index.tsx create mode 100644 src/pages/User/Login/__snapshots__/login.test.tsx.snap create mode 100644 src/pages/User/Login/index.tsx create mode 100644 src/pages/User/Login/index1.tsx create mode 100644 src/pages/User/Login/index2.tsx create mode 100644 src/pages/User/Login/login.less create mode 100644 src/pages/User/Login/login.test.tsx create mode 100644 src/pages/User/Login/login1.less create mode 100644 src/pages/Welcome/Welcome.tsx create mode 100644 src/pages/Welcome/components/BannerInfoCard.tsx create mode 100644 src/pages/Welcome/components/FootInfoCard.tsx create mode 100644 src/pages/Welcome/components/NavInfoCardList.tsx create mode 100644 src/pages/Welcome/styles/bannerInfoCard.less create mode 100644 src/pages/Welcome/styles/colors.css create mode 100644 src/pages/Welcome/styles/colors.less create mode 100644 src/pages/Welcome/testData.ts create mode 100644 src/pages/Welcome/typing.ts create mode 100644 src/requestErrorConfig.ts create mode 100644 src/service-worker.js create mode 100644 src/services/analysis/ActionDetection.ts create mode 100644 src/services/analysis/index.ts create mode 100644 src/services/analysis/typings.d.ts create mode 100644 src/services/ant-design-pro/api.ts create mode 100644 src/services/ant-design-pro/index.ts create mode 100644 src/services/ant-design-pro/login.ts create mode 100644 src/services/ant-design-pro/typings.d.ts create mode 100644 src/services/device/Device.ts create mode 100644 src/services/device/DeviceCategory.ts create mode 100644 src/services/device/DeviceGroup.ts create mode 100644 src/services/device/DeviceModelInGroup.ts create mode 100644 src/services/device/DeviceRelation.ts create mode 100644 src/services/device/index.ts create mode 100644 src/services/device/typings.d.ts create mode 100644 src/services/project/Project.ts create mode 100644 src/services/project/ProjectModelConfig.ts create mode 100644 src/services/project/index.ts create mode 100644 src/services/project/typings.d.ts create mode 100644 src/services/resource/AlgorithmModel.ts create mode 100644 src/services/resource/BusinessImage.ts create mode 100644 src/services/resource/ModelCategory.ts create mode 100644 src/services/resource/ModelImage.ts create mode 100644 src/services/resource/ModelVersion.ts create mode 100644 src/services/resource/index.ts create mode 100644 src/services/resource/typings.d.ts create mode 100644 src/services/swagger/index.ts create mode 100644 src/services/swagger/pet.ts create mode 100644 src/services/swagger/store.ts create mode 100644 src/services/swagger/typings.d.ts create mode 100644 src/services/swagger/user.ts create mode 100644 src/services/system/Api.ts create mode 100644 src/services/system/Base.ts create mode 100644 src/services/system/Casbin.ts create mode 100644 src/services/system/CheckDB.ts create mode 100644 src/services/system/Department.ts create mode 100644 src/services/system/Dictionary.ts create mode 100644 src/services/system/DictionaryDetail.ts create mode 100644 src/services/system/File.ts create mode 100644 src/services/system/InitDB.ts create mode 100644 src/services/system/Jwt.ts create mode 100644 src/services/system/Menu.ts create mode 100644 src/services/system/OperationRecord.ts create mode 100644 src/services/system/Post.ts create mode 100644 src/services/system/Role.ts create mode 100644 src/services/system/System.ts create mode 100644 src/services/system/User.ts create mode 100644 src/services/system/index.ts create mode 100644 src/services/system/typings.d.ts create mode 100644 src/styles/color/bezierEasing.less create mode 100644 src/styles/color/colorPalette.less create mode 100644 src/styles/color/colors.less create mode 100644 src/styles/color/tinyColor.less create mode 100644 src/styles/compact.less create mode 100644 src/styles/core/base.less create mode 100644 src/styles/core/global.less create mode 100644 src/styles/core/iconfont.less create mode 100644 src/styles/core/index.less create mode 100644 src/styles/core/motion.less create mode 100644 src/styles/core/motion/fade.less create mode 100644 src/styles/core/motion/move.less create mode 100644 src/styles/core/motion/other.less create mode 100644 src/styles/core/motion/slide.less create mode 100644 src/styles/core/motion/zoom.less create mode 100644 src/styles/css.js create mode 100644 src/styles/dark.less create mode 100644 src/styles/default.css create mode 100644 src/styles/default.less create mode 100644 src/styles/index-pure.less create mode 100644 src/styles/index.css create mode 100644 src/styles/index.d.ts create mode 100644 src/styles/index.js create mode 100644 src/styles/index.less create mode 100644 src/styles/mixins/box.less create mode 100644 src/styles/mixins/clearfix.less create mode 100644 src/styles/mixins/compact-item-vertical.less create mode 100644 src/styles/mixins/compact-item.less create mode 100644 src/styles/mixins/compatibility.less create mode 100644 src/styles/mixins/customize.less create mode 100644 src/styles/mixins/iconfont.less create mode 100644 src/styles/mixins/index.less create mode 100644 src/styles/mixins/modal-mask.less create mode 100644 src/styles/mixins/motion.less create mode 100644 src/styles/mixins/operation-unit.less create mode 100644 src/styles/mixins/reset.less create mode 100644 src/styles/mixins/rounded-arrow.less create mode 100644 src/styles/mixins/size.less create mode 100644 src/styles/mixins/typography.less create mode 100644 src/styles/themes/compact.less create mode 100644 src/styles/themes/dark.less create mode 100644 src/styles/themes/default.less create mode 100644 src/styles/themes/index.less create mode 100644 src/styles/themes/variable.less create mode 100644 src/styles/variable.less create mode 100644 src/testData/SettingAIgorithm.tsx create mode 100644 src/testData/fabricGroupRoom.ts create mode 100644 src/testData/fabricRoomList.ts create mode 100644 src/testData/fabricRoomSvg.ts create mode 100644 src/testData/fabricWatchIcons.ts create mode 100644 src/testData/testData.md create mode 100644 src/typings.d.ts create mode 100644 src/utils/FixMenuItemIcon.tsx create mode 100644 src/utils/IconUtil.ts create mode 100644 src/utils/common.ts create mode 100644 src/utils/downloadfile.ts create mode 100644 src/utils/options.ts create mode 100644 src/utils/permission.ts create mode 100644 src/utils/player.tsx create mode 100644 src/utils/storage.js create mode 100644 src/utils/tree.ts create mode 100644 tests/setupTests.jsx create mode 100644 tsconfig.json create mode 100644 types/cache/cache.json create mode 100644 types/cache/login.cache.json create mode 100644 types/cache/mock/login.mock.cache.js create mode 100644 types/cache/mock/mock.cache.js create mode 100644 types/index.d.ts diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..7e3649a --- /dev/null +++ b/.editorconfig @@ -0,0 +1,16 @@ +# http://editorconfig.org +root = true + +[*] +indent_style = space +indent_size = 2 +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true + +[*.md] +trim_trailing_whitespace = false + +[Makefile] +indent_style = tab diff --git a/.env b/.env new file mode 100644 index 0000000..3dc5b7a --- /dev/null +++ b/.env @@ -0,0 +1,6 @@ +# 平台本地运行端口号 +REACT_APP_ENV = dev +API_SERVER = 127.0.0.1:8888 +SERVER_HOST = http://localhost:8888/ +FILE_SERVER_HOST = http://192.168.10.28:8088 +WEBRTC_SERVER_HOST = http://192.168.10.96:9005 diff --git a/.env.development b/.env.development new file mode 100644 index 0000000..3dc5b7a --- /dev/null +++ b/.env.development @@ -0,0 +1,6 @@ +# 平台本地运行端口号 +REACT_APP_ENV = dev +API_SERVER = 127.0.0.1:8888 +SERVER_HOST = http://localhost:8888/ +FILE_SERVER_HOST = http://192.168.10.28:8088 +WEBRTC_SERVER_HOST = http://192.168.10.96:9005 diff --git a/.env.production b/.env.production new file mode 100644 index 0000000..76f4130 --- /dev/null +++ b/.env.production @@ -0,0 +1,5 @@ +REACT_APP_ENV = prod +API_SERVER = 127.0.0.1:8888 +SERVER_HOST = / +FILE_SERVER_HOST = http://192.168.10.96 +WEBRTC_SERVER_HOST = http://192.168.10.96:9005 diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..8336e93 --- /dev/null +++ b/.eslintignore @@ -0,0 +1,8 @@ +/lambda/ +/scripts +/config +.history +public +dist +.umi +mock \ No newline at end of file diff --git a/.eslintrc.js b/.eslintrc.js new file mode 100644 index 0000000..8ffdff8 --- /dev/null +++ b/.eslintrc.js @@ -0,0 +1,8 @@ +module.exports = { + extends: [require.resolve('@umijs/lint/dist/config/eslint')], + globals: { + page: true, + REACT_APP_ENV: true, + SERVER_HOST: true, + }, +}; diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..285319f --- /dev/null +++ b/.gitignore @@ -0,0 +1,43 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +**/node_modules +# roadhog-api-doc ignore +/src/utils/request-temp.js +_roadhog-api-doc + +# production +/dist +/taskDoc +/src/pages/Demo + +# misc +.DS_Store +npm-debug.log* +yarn-error.log + +/coverage +.idea +yarn.lock +package-lock.json +*bak +.vscode + + +# visual studio code +.history +*.log +functions/* +.temp/** + +# umi +.umi +.umi-production +.umi-test + +# screenshot +screenshot +.firebase +.eslintcache + +build diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..7999ccd --- /dev/null +++ b/.prettierignore @@ -0,0 +1,22 @@ +**/*.svg +.umi +.umi-production +/dist +.dockerignore +.DS_Store +.eslintignore +*.png +*.toml +docker +.editorconfig +Dockerfile* +.gitignore +.prettierignore +LICENSE +.eslintcache +*.lock +yarn-error.log +.history +CNAME +/build +/public diff --git a/.prettierrc.js b/.prettierrc.js new file mode 100644 index 0000000..3447a1a --- /dev/null +++ b/.prettierrc.js @@ -0,0 +1,21 @@ +module.exports = { + singleQuote: true, + trailingComma: 'all', + printWidth: 100, + proseWrap: 'never', + endOfLine: 'lf', + overrides: [ + { + files: '.prettierrc', + options: { + parser: 'json', + }, + }, + { + files: 'document.ejs', + options: { + parser: 'html', + }, + }, + ], +}; diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..e91e355 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,13 @@ +FROM circleci/node:latest-browsers + +WORKDIR /usr/src/app + +RUN npm config set registry https://registry.npmmirror.com + +USER root +COPY package.json ./ +RUN yarn +COPY ./ ./ +RUN npm run test:all + +CMD ["npm", "run", "build"] diff --git a/README.md b/README.md index 0188785..a87f846 100644 --- a/README.md +++ b/README.md @@ -1 +1,53 @@ -

Uighur-Recognition-Web

+# General-AI-Platform-Web +重点人群识别前端仓库 develop + +### 生成代码调整 +* ProFormSelect 选择控件 对应文案使用 common.please_select 默认可以使用 common.please_input + +### remark +* 列表筛选表单配置统一使用renderFormItem配置,方便个性化处理 +* 删除按钮颜色配色 统一将a标签换成Button 设置属性{ type="text" danger} +* 展示抽屉内容时需要有关闭按钮,排版需和谐 +* 使用stepForm的时候,最后的提交写在最后一步的onfinish里面而不是总的stepForm里 +* table操作栏按钮统一使用button,合理间距 + + +### 具体实现 +1. 筛选表单区: 列表在columns配置初始数据时,需要筛选的表单项统一使用renderFormItem属性,基于renderFormItem去配置表单项field, 【searchFormItemProps】属性统一配置自定义业务 +{ + width="md" // 表单项宽度可以是数字 + labelCol={{span: 4}} // 标签布局 + wrapperCol={{span: 22}} // 输入控件布局 +} + +2. 列表action区按钮个性化和操作确认调整为 统一将a标签换成Button 设置属性【actionInnerDeleteBtnProps】 +{ type="text" danger} + +3. 列表action有多个按钮显示更多 +暂时使用默认超过3个显示更多,如需统一处理或者权限控制下的按钮显示隐藏导致的按钮数量不一致,可根据需要独立封装TableActionComp + +4. 列表多选固定在顶部 +使用表格内容固定高度,溢出垂直方向可滚动 + +5. 列表可选时,首列需要固定 +新增首列index栏位,设置{fixed: 'left'}可实现固定 + +6. 列表固定表头 scroll={{ y: 500 }} +批量选择确认按钮固定,列表头内容固定 + +7. 列表批量选择 tableAlertOptionRender +配置多选操作选项区 + + +### git提交修饰 +feat: 新功能 +fix: bug修复 +docs: 仅文档更改 +style: 不影响代码含义的更改(空白、格式设置、缺失 分号等) +refactor: 既不修复bug也不添加特性的代码更改 +perf: 改进性能的代码更改 +test: 添加缺少的测试或更正现有测试 +chore: 对构建过程或辅助工具和库(如文档)的更改(无法确认内容可使用) + +### bug汇总 +* 新增路由页面,默认该角色拥有查看权限,实际配置并没有(重新配置权限,又能正常访问该新增页面) diff --git a/config/config.ts b/config/config.ts new file mode 100644 index 0000000..3fb1056 --- /dev/null +++ b/config/config.ts @@ -0,0 +1,187 @@ +// https://umijs.org/config/ +import { defineConfig } from '@umijs/max'; +import { join } from 'path'; +import defaultSettings from './defaultSettings'; +import proxy from './proxy'; +import routes from './routes'; + +const { REACT_APP_ENV, + API_SERVER, + SERVER_HOST, + FILE_SERVER_HOST, + WEBRTC_SERVER_HOST +} = process.env; +console.log(REACT_APP_ENV) +export default defineConfig({ + /** + * @name 开启 hash 模式 + * @description 让 build 之后的产物包含 hash 后缀。通常用于增量发布和避免浏览器加载缓存。 + * @doc https://umijs.org/docs/api/config#hash + */ + hash: true, + define: { + API_SERVER: API_SERVER, + SERVER_HOST: SERVER_HOST, + FILE_SERVER_HOST: FILE_SERVER_HOST, + WEBRTC_SERVER_HOST: WEBRTC_SERVER_HOST, + }, + /** + * @name 兼容性设置 + * @description 设置 ie11 不一定完美兼容,需要检查自己使用的所有依赖 + * @doc https://umijs.org/docs/api/config#targets + */ + // targets: { + // ie: 11, + // }, + /** + * @name 路由的配置,不在路由中引入的文件不会编译 + * @description 只支持 path,components,routes,redirect,wrappers,title 的配置 + * @doc https://umijs.org/docs/guides/routes + */ + // umi routes: https://umijs.org/docs/routing + routes, + /** + * @name 主题的配置 + * @description 虽然叫主题,但是其实只是 less 的变量设置 + * @doc antd的主题设置 https://ant.design/docs/react/customize-theme-cn + * @doc umi 的theme 配置 https://umijs.org/docs/api/config#theme + */ + theme: { + // 如果不想要 configProvide 动态设置主题需要把这个设置为 default + // 只有设置为 variable, 才能使用 configProvide 动态设置主色调 + 'root-entry-name': 'variable', + + }, + /** + * @name moment 的国际化配置 + * @description 如果对国际化没有要求,打开之后能减少js的包大小 + * @doc https://umijs.org/docs/api/config#ignoremomentlocale + */ + ignoreMomentLocale: true, + /** + * @name 代理配置 + * @description 可以让你的本地服务器代理到你的服务器上,这样你就可以访问服务器的数据了 + * @see 要注意以下 代理只能在本地开发时使用,build 之后就无法使用了。 + * @doc 代理介绍 https://umijs.org/docs/guides/proxy + * @doc 代理配置 https://umijs.org/docs/api/config#proxy + */ + proxy: proxy[REACT_APP_ENV as keyof typeof proxy], + /** + * @name 快速热更新配置 + * @description 一个不错的热更新组件,更新时可以保留 state + */ + fastRefresh: true, + //============== 以下都是max的插件配置 =============== + /** + * @name 数据流插件 + * @@doc https://umijs.org/docs/max/data-flow + */ + model: {}, + /** + * 一个全局的初始数据流,可以用它在插件之间共享数据 + * @description 可以用来存放一些全局的数据,比如用户信息,或者一些全局的状态,全局初始状态在整个 Umi 项目的最开始创建。 + * @doc https://umijs.org/docs/max/data-flow#%E5%85%A8%E5%B1%80%E5%88%9D%E5%A7%8B%E7%8A%B6%E6%80%81 + */ + initialState: {}, + /** + * @name layout 插件 + * @doc https://umijs.org/docs/max/layout-menu + */ + title: 'Ant Design Pro', + layout: { + locale: true, + ...defaultSettings, + }, + /** + * @name moment2dayjs 插件 + * @description 将项目中的 moment 替换为 dayjs + * @doc https://umijs.org/docs/max/moment2dayjs + */ + moment2dayjs: { + preset: 'antd', + plugins: ['duration'], + }, + /** + * @name 国际化插件 + * @doc https://umijs.org/docs/max/i18n + */ + locale: { + // default zh-CN + default: 'zh-CN', + antd: true, + // default true, when it is true, will use `navigator.language` overwrite default + baseNavigator: true, + }, + /** + * @name antd 插件 + * @description 内置了 babel import 插件 + * @doc https://umijs.org/docs/max/antd#antd + */ + antd: {}, + /** + * @name 网络请求配置 + * @description 它基于 axios 和 ahooks 的 useRequest 提供了一套统一的网络请求和错误处理方案。 + * @doc https://umijs.org/docs/max/request + */ + request: {}, + /** + * @name 权限插件 + * @description 基于 initialState 的权限插件,必须先打开 initialState + * @doc https://umijs.org/docs/max/access + */ + access: {}, + + /** + * @name 中额外的 script + * @description 配置 中额外的 script + */ + headScripts: [ + // 解决首次加载时白屏的问题 + { src: '/scripts/loading.js', async: true }, + ], + //================ pro 插件配置 ================= + presets: ['umi-presets-pro'], + /** + * @name openAPI 插件的配置 + * @description 基于 openapi 的规范生成serve 和mock,能减少很多样板代码 + * @doc https://pro.ant.design/zh-cn/docs/openapi/ + */ + openAPI: [ + // { + // requestLibPath: "import { request } from '@umijs/max'", + // // 或者使用在线的版本 + // // schemaPath: "https://gw.alipayobjects.com/os/antfincdn/M%24jrzTTYJN/oneapi.json" + // schemaPath: join(__dirname, 'oneapi.json'), + // mock: false, + // }, + // { + // requestLibPath: "import { request } from '@umijs/max'", + // schemaPath: 'https://gw.alipayobjects.com/os/antfincdn/CA1dOm%2631B/openapi.json', + // projectName: 'swagger', + // }, + // { + // requestLibPath: "import { request } from '@umijs/max'", + // // 或者使用在线的版本 + // // schemaPath: "https://gw.alipayobjects.com/os/antfincdn/M%24jrzTTYJN/oneapi.json" + // // schemaPath: join(__dirname, 'oneapi.json'), + // schemaPath: 'http://localhost:8888/api/v1/swagger/doc.json', + // mock: false, + // apiPrefix: "'/api/v1'", + // projectName: 'device1', + // }, + // { + // requestLibPath: "import { request } from '@umijs/max'", + // // 或者使用在线的版本 + // // schemaPath: "https://gw.alipayobjects.com/os/antfincdn/M%24jrzTTYJN/oneapi.json" + // // schemaPath: join(__dirname, 'oneapi.json'), + // schemaPath: 'http://127.0.0.1:9000/swagger.json', + // mock: false, + // apiPrefix: "'/api/v1'", + // projectName: 'staff', + // }, + ], + mfsu: { + strategy: 'normal', + }, + requestRecord: {}, +}); diff --git a/config/defaultDrawer.ts b/config/defaultDrawer.ts new file mode 100644 index 0000000..e37bef3 --- /dev/null +++ b/config/defaultDrawer.ts @@ -0,0 +1 @@ +// 待启用 抽屉全局配置 \ No newline at end of file diff --git a/config/defaultForm.ts b/config/defaultForm.ts new file mode 100644 index 0000000..9228aad --- /dev/null +++ b/config/defaultForm.ts @@ -0,0 +1,92 @@ +/* + * @Author: zhoux zhouxia@supervision.ltd + * @Date: 2023-11-13 14:19:57 + * @LastEditors: zhoux zhouxia@supervision.ltd + * @LastEditTime: 2023-12-27 16:09:07 + * @FilePath: \general-ai-platform-web\config\defaultForm.ts + * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE2 + */ + +import { CloseCircleOutlined, CopyOutlined, DeleteOutlined } from "@ant-design/icons"; +import { StepsFormProps } from "@ant-design/pro-components"; +import { ReactNode } from "react"; + +export type IconConfig = { + /** + * 新的icon的组件,我们会将其实例化 + * Icon: ()=>
+ */ + Icon?: React.FC; + /** + * tooltip 的提示文案 + */ + tooltipText?: string; +}; +// 通用表单配置 +export const proFormCommonOptions: Record = { +} + +const formBoxMargin = 2 * 24 +const formItemGap = 16 +// Small 560 +export const proFormSmallModelWidth: number = 560; +export const proFormSmallItemStyleProps: Record = { + width: proFormSmallModelWidth - formBoxMargin, // 一列 + // column2Width: (proFormSmallModelWidth - 2 * formBoxMargin)/2 , // 两列 + + +}; + +// normal 804 +export const proFormModelWidth: number = 804; +export const proFormItemStyleProps: Record = { + width: proFormModelWidth - formBoxMargin, // 一列 + column2Width: (proFormModelWidth - formBoxMargin - formItemGap)/2 , // 两列 +}; + +// max 968 +export const proFormMaxModelWidth: number = 968; +export const proFormMaxItemStyleProps: Record = { + width: proFormMaxModelWidth - formBoxMargin, + column2Width: (proFormMaxModelWidth - formBoxMargin - formItemGap)/2 , // 两列 +}; + + +/**表单具体单项配置 */ + + +// proFormList 新增一项按钮配置 +export const proFormListCreatorButtonProps : { + creatorButtonText?: ReactNode; + position?: 'top' | 'bottom'; + deleteIconProps?: IconConfig | false; +} = { + position: 'bottom', + creatorButtonText: '添加参数字段', // 设置新增一项数据的文案 + deleteIconProps: { + Icon: CloseCircleOutlined, + tooltipText: '不需要这行了', + } +} + +export const proFormListActionButtonProps : { + CopyableIconProps?: IconConfig | false; + deleteIconProps?: IconConfig | false; +} = { + CopyableIconProps: { + Icon: CopyOutlined, + tooltipText: '复制', + }, + deleteIconProps: { + Icon: DeleteOutlined, + tooltipText: '删除', + } +} + + +// 分步表单统一配置 +export const proFormStepsFormProps: StepsFormProps = { + stepsProps: { + labelPlacement: 'vertical', + } +} \ No newline at end of file diff --git a/config/defaultIcon.ts b/config/defaultIcon.ts new file mode 100644 index 0000000..b9fc3ae --- /dev/null +++ b/config/defaultIcon.ts @@ -0,0 +1,38 @@ +/* + * @Author: zhoux zhouxia@supervision.ltd + * @Date: 2023-11-28 14:13:05 + * @LastEditors: zhoux zhouxia@supervision.ltd + * @LastEditTime: 2023-12-22 16:17:35 + * @FilePath: \general-ai-platform-web\config\defaultIcon.ts + * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%A + */ + +import { proFormItemStyleProps } from './defaultForm'; + +// 分步表单统一配置 +export const proIconSelectWrapStyle: React.CSSProperties = { + position: 'relative', + width: proFormItemStyleProps.width + 48, + background: 'red', + left: 0, +}; + +export const proIconSelectStyle: React.CSSProperties = { + position: 'absolute', + left: '0', + padding: 16, + top: '5%', + width: '94%', + height: 500, + zIndex: 9, + boxShadow: '0px 4px 12px 0px rgba(0, 0, 0, 0.30)', + background: '#fff', + borderRadius: 4, + overflowY: 'scroll', +}; + +// 列表图标统一样式 + +export const proIconForTableActionStyle : React.CSSProperties = { + fontSize: 16, +} \ No newline at end of file diff --git a/config/defaultSettings.ts b/config/defaultSettings.ts new file mode 100644 index 0000000..96842be --- /dev/null +++ b/config/defaultSettings.ts @@ -0,0 +1,35 @@ +/* + * @Author: zhoux zhouxia@supervision.ltd + * @Date: 2023-11-01 13:56:33 + * @LastEditors: zhoux zhouxia@supervision.ltd + * @LastEditTime: 2023-11-30 17:10:05 + * @FilePath: \general-ai-platform-web\config\defaultSettings.ts + * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE + */ +import { ProLayoutProps } from '@ant-design/pro-components'; + +/** + * @name + */ +const Settings: ProLayoutProps & { + pwa?: boolean; + logo?: string; +} = { + navTheme: 'light', + // 拂晓蓝 + colorPrimary: '#155BD4', + layout: 'mix', + contentWidth: 'Fluid', + fixedHeader: false, + fixSiderbar: true, + colorWeak: false, + title: ' ', + pwa: true, + logo: '/logo.svg', + iconfontUrl: '', + token: { + // 参见ts声明,demo 见文档,通过token 修改样式 + //https://procomponents.ant.design/components/layout#%E9%80%9A%E8%BF%87-token-%E4%BF%AE%E6%94%B9%E6%A0%B7%E5%BC%8F + }, +}; +export default Settings; diff --git a/config/defaultStyle.ts b/config/defaultStyle.ts new file mode 100644 index 0000000..35ce779 --- /dev/null +++ b/config/defaultStyle.ts @@ -0,0 +1,16 @@ +/* + * @Author: zhoux zhouxia@supervision.ltd + * @Date: 2023-12-26 15:51:09 + * @LastEditors: zhoux zhouxia@supervision.ltd + * @LastEditTime: 2023-12-26 15:51:18 + * @FilePath: \general-ai-platform-web\config\defaultStyle.ts + * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE + */ +export const flex: React.CSSProperties = { + display: 'flex' +} + +export const flexRA: React.CSSProperties = { + ...flex, + +} \ No newline at end of file diff --git a/config/defaultTable.ts b/config/defaultTable.ts new file mode 100644 index 0000000..596c2e8 --- /dev/null +++ b/config/defaultTable.ts @@ -0,0 +1,46 @@ +/* + * @Author: zhoux zhouxia@supervision.ltd + * @Date: 2023-11-13 11:32:26 + * @LastEditors: zhoux zhouxia@supervision.ltd + * @LastEditTime: 2023-11-21 13:36:39 + * @FilePath: \general-ai-platform-web\config\defaultTable.ts + * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE + */ +import { ProColumns } from "@ant-design/pro-components"; +import { PaginationProps } from "antd"; +// 通用列表配置 +export const proTableCommonOptions: Record = { + scrollX: 'max-content', // 保证左右侧列的固定,并能保证没列标题不换行 + scrollY: 500, // 保证列表高度固定 + commscrollX: 1300, + commscrollY: 500, // 保证列表高度固定 + searchLabelWidth: 'auto', // 整体对齐,label根据实际字数自适应 +} + +// 操作栏位配置 +export const proTableActionColumnOptions: Record = { + dataIndex: 'option', + valueType: 'option', + align: 'center', + fixed: 'right', +} + +// 分页器配置 +export const proTablePaginationOptions: PaginationProps = { + showSizeChanger: true, + // showQuickJumper: true, + showTotal: (total) => `共${total}条`, +} + + + + +// 默认索引列配置 +// export const proTableIndexColumnOptions : ProColumns = { +// title: '序号', +// dataIndex: 'index', +// valueType: 'index', // 增加该属性以添加边框 +// fixed: 'left', // 将该列固定在左侧 +// width: 70, +// align:'center' +// } \ No newline at end of file diff --git a/config/oneapi.json b/config/oneapi.json new file mode 100644 index 0000000..c77d988 --- /dev/null +++ b/config/oneapi.json @@ -0,0 +1,593 @@ +{ + "openapi": "3.0.1", + "info": { + "title": "Ant Design Pro", + "version": "1.0.0" + }, + "servers": [ + { + "url": "http://localhost:8000/" + }, + { + "url": "https://localhost:8000/" + } + ], + "paths": { + "/api/currentUser": { + "get": { + "tags": ["api"], + "description": "获取当前的用户", + "operationId": "currentUser", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CurrentUser" + } + } + } + }, + "401": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + } + } + }, + "x-swagger-router-controller": "api" + }, + "/api/login/captcha": { + "post": { + "description": "发送验证码", + "operationId": "getFakeCaptcha", + "tags": ["login"], + "parameters": [ + { + "name": "phone", + "in": "query", + "description": "手机号", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FakeCaptcha" + } + } + } + } + } + } + }, + "/api/login/outLogin": { + "post": { + "description": "登录接口", + "operationId": "outLogin", + "tags": ["login"], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + }, + "401": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + } + } + }, + "x-swagger-router-controller": "api" + }, + "/api/login/account": { + "post": { + "tags": ["login"], + "description": "登录接口", + "operationId": "login", + "requestBody": { + "description": "登录系统", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LoginParams" + } + } + }, + "required": true + }, + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/LoginResult" + } + } + } + }, + "401": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + } + }, + "x-codegen-request-body-name": "body" + }, + "x-swagger-router-controller": "api" + }, + "/api/notices": { + "summary": "getNotices", + "description": "NoticeIconItem", + "get": { + "tags": ["api"], + "operationId": "getNotices", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/NoticeIconList" + } + } + } + } + } + } + }, + "/api/rule": { + "get": { + "tags": ["rule"], + "description": "获取规则列表", + "operationId": "rule", + "parameters": [ + { + "name": "current", + "in": "query", + "description": "当前的页码", + "schema": { + "type": "number" + } + }, + { + "name": "pageSize", + "in": "query", + "description": "页面的容量", + "schema": { + "type": "number" + } + } + ], + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RuleList" + } + } + } + }, + "401": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + } + } + }, + "post": { + "tags": ["rule"], + "description": "新建规则", + "operationId": "addRule", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RuleListItem" + } + } + } + }, + "401": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + } + } + }, + "put": { + "tags": ["rule"], + "description": "新建规则", + "operationId": "updateRule", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/RuleListItem" + } + } + } + }, + "401": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + } + } + }, + "delete": { + "tags": ["rule"], + "description": "删除规则", + "operationId": "removeRule", + "responses": { + "200": { + "description": "Success", + "content": { + "application/json": { + "schema": { + "type": "object" + } + } + } + }, + "401": { + "description": "Error", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ErrorResponse" + } + } + } + } + } + }, + "x-swagger-router-controller": "api" + }, + "/swagger": { + "x-swagger-pipe": "swagger_raw" + } + }, + "components": { + "schemas": { + "CurrentUser": { + "type": "object", + "properties": { + "name": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "userid": { + "type": "string" + }, + "email": { + "type": "string" + }, + "signature": { + "type": "string" + }, + "title": { + "type": "string" + }, + "group": { + "type": "string" + }, + "tags": { + "type": "array", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string" + }, + "label": { + "type": "string" + } + } + } + }, + "notifyCount": { + "type": "integer", + "format": "int32" + }, + "unreadCount": { + "type": "integer", + "format": "int32" + }, + "country": { + "type": "string" + }, + "access": { + "type": "string" + }, + "geographic": { + "type": "object", + "properties": { + "province": { + "type": "object", + "properties": { + "label": { + "type": "string" + }, + "key": { + "type": "string" + } + } + }, + "city": { + "type": "object", + "properties": { + "label": { + "type": "string" + }, + "key": { + "type": "string" + } + } + } + } + }, + "address": { + "type": "string" + }, + "phone": { + "type": "string" + } + } + }, + "LoginResult": { + "type": "object", + "properties": { + "status": { + "type": "string" + }, + "type": { + "type": "string" + }, + "currentAuthority": { + "type": "string" + } + } + }, + "PageParams": { + "type": "object", + "properties": { + "current": { + "type": "number" + }, + "pageSize": { + "type": "number" + } + } + }, + "RuleListItem": { + "type": "object", + "properties": { + "key": { + "type": "integer", + "format": "int32" + }, + "disabled": { + "type": "boolean" + }, + "href": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "name": { + "type": "string" + }, + "owner": { + "type": "string" + }, + "desc": { + "type": "string" + }, + "callNo": { + "type": "integer", + "format": "int32" + }, + "status": { + "type": "integer", + "format": "int32" + }, + "updatedAt": { + "type": "string", + "format": "datetime" + }, + "createdAt": { + "type": "string", + "format": "datetime" + }, + "progress": { + "type": "integer", + "format": "int32" + } + } + }, + "RuleList": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/RuleListItem" + } + }, + "total": { + "type": "integer", + "description": "列表的内容总数", + "format": "int32" + }, + "success": { + "type": "boolean" + } + } + }, + "FakeCaptcha": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "status": { + "type": "string" + } + } + }, + "LoginParams": { + "type": "object", + "properties": { + "username": { + "type": "string" + }, + "password": { + "type": "string" + }, + "autoLogin": { + "type": "boolean" + }, + "type": { + "type": "string" + } + } + }, + "ErrorResponse": { + "required": ["errorCode"], + "type": "object", + "properties": { + "errorCode": { + "type": "string", + "description": "业务约定的错误码" + }, + "errorMessage": { + "type": "string", + "description": "业务上的错误信息" + }, + "success": { + "type": "boolean", + "description": "业务上的请求是否成功" + } + } + }, + "NoticeIconList": { + "type": "object", + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NoticeIconItem" + } + }, + "total": { + "type": "integer", + "description": "列表的内容总数", + "format": "int32" + }, + "success": { + "type": "boolean" + } + } + }, + "NoticeIconItemType": { + "title": "NoticeIconItemType", + "description": "已读未读列表的枚举", + "type": "string", + "properties": {}, + "enum": ["notification", "message", "event"] + }, + "NoticeIconItem": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "extra": { + "type": "string", + "format": "any" + }, + "key": { "type": "string" }, + "read": { + "type": "boolean" + }, + "avatar": { + "type": "string" + }, + "title": { + "type": "string" + }, + "status": { + "type": "string" + }, + "datetime": { + "type": "string", + "format": "date" + }, + "description": { + "type": "string" + }, + "type": { + "extensions": { + "x-is-enum": true + }, + "$ref": "#/components/schemas/NoticeIconItemType" + } + } + } + } + } +} diff --git a/config/proxy.ts b/config/proxy.ts new file mode 100644 index 0000000..d8784aa --- /dev/null +++ b/config/proxy.ts @@ -0,0 +1,64 @@ +/** + * @name 代理的配置 + * @see 在生产环境 代理是无法生效的,所以这里没有生产环境的配置 + * ------------------------------- + * The agent cannot take effect in the production environment + * so there is no configuration of the production environment + * For details, please see + * https://pro.ant.design/docs/deploy + * + * @doc https://umijs.org/docs/guides/proxy + */ +export default { + // 如果需要自定义本地开发服务器 请取消注释按需调整 + // dev: { + // // localhost:8000/api/** -> https://preview.pro.ant.design/api/** + // '/api/': { + // // 要代理的地址 + // target: 'https://preview.pro.ant.design', + // // 配置了这个可以从 http 代理到 https + // // 依赖 origin 的功能可能需要这个,比如 cookie + // changeOrigin: true, + // }, + // }, + dev: { + // localhost:8000/api/** -> https://preview.pro.ant.design/api/** + '/api/v1/': { + // 要代理的地址 + target: 'http://192.168.10.96:8888/', + // target: 'https://www.baidu.com', + // 配置了这个可以从 http 代理到 https + // 依赖 origin 的功能可能需要这个,比如 cookie + changeOrigin: true, + secure: false, + }, + // '/video_save_path/': { + // // 要代理的地址 + // target: 'http://192.168.10.96/', + // // target: 'https://www.baidu.com', + // // 配置了这个可以从 http 代理到 https + // // 依赖 origin 的功能可能需要这个,比如 cookie + // changeOrigin: true, + // secure: false, + // }, + }, + /** + * @name 详细的代理配置 + * @doc https://github.com/chimurai/http-proxy-middleware + */ + test: { + // localhost:8000/api/** -> https://preview.pro.ant.design/api/** + '/api/': { + target: 'https://proapi.azurewebsites.net', + changeOrigin: true, + pathRewrite: { '^': '' }, + }, + }, + pre: { + '/api/': { + target: 'your pre url', + changeOrigin: true, + pathRewrite: { '^': '' }, + }, + }, +}; diff --git a/config/routes copy.ts b/config/routes copy.ts new file mode 100644 index 0000000..d1b2cba --- /dev/null +++ b/config/routes copy.ts @@ -0,0 +1,332 @@ +/** + * @name umi 的路由配置 + * @description 只支持 path,components,routes,redirect,wrappers,name,icon 的配置 + * @param path path 只支持两种占位符配置,第一种是动态参数 :id 的形式,第二种是 * 通配符,通配符只能出现路由字符串的最后。 + * @param components 配置 location 和 path 匹配后用于渲染的 React 组件路径。可以是绝对路径,也可以是相对路径,如果是相对路径,会从 src/pages 开始找起。 + * @param routes 配置子路由,通常在需要为多个路径增加 layout 组件时使用。 + * @param redirect 配置路由跳转 + * @param wrappers 配置路由组件的包装组件,通过包装组件可以为当前的路由组件组合进更多的功能。 比如,可以用于路由级别的权限校验 + * @param name 配置路由的标题,默认读取国际化文件 menu.ts 中 menu.xxxx 的值,如配置 name 为 login,则读取 menu.ts 中 menu.login 的取值作为标题 + * @param icon 配置路由的图标,取值参考 https://ant.design/components/icon-cn, 注意去除风格后缀和大小写,如想要配置图标为 则取值应为 stepBackward 或 StepBackward,如想要配置图标为 则取值应为 user 或者 User + * @doc https://umijs.org/docs/guides/routes + */ +export default [ + { + path: '/user', + layout: false, + routes: [ + { + name: 'login', + path: '/user/login', + component: './User/Login/index1', + }, + ], + }, + { + path: '/welcome', + name: 'welcome', + component: 'Welcome/Welcome', + }, + { + path: '/admin', + name: 'admin', + + access: 'canAdmin', + routes: [ + { + path: '/admin', + redirect: '/admin/sub-page', + }, + { + path: '/admin/sub-page', + name: 'sub-page', + component: './Admin', + }, + ], + }, + + { + path: '/system', + + name: 'system', + + routes: [ + { + name: 'api-list', + path: '/system/api-list', + component: 'System/ApiList', + access: 'canReadMenu', + }, + { + name: 'menu-list', + path: '/system/menu-list', + component: 'System/MenuList', + access: 'canReadMenu', + }, + { + name: 'role-list', + path: '/system/role-list', + component: 'System/RoleList', + access: 'canReadMenu', + }, + { + name: 'user-list', + path: '/system/user-list', + component: 'System/UserList', + access: 'canReadMenu', + }, + { + name: 'post-list', + path: '/system/post-list', + component: 'System/PostList', + access: 'canReadMenu', + }, + { + name: 'department-list', + path: '/system/department-list', + component: 'System/DepartmentList', + access: 'canReadMenu', + }, + { + name: 'operation_record-list', + path: '/system/operation_record-list', + component: 'System/OperationRecordList', + access: 'canReadMenu', + }, + ], + }, + { + name: 'device', + path: '/device', + routes: [ + { + name: 'device-list', + path: '/device/device-list', + component: 'Device/DeviceList', + access: 'canReadMenu', + }, + { + name: 'device-category-list', + path: '/device/device-category-list', + component: 'Device/DeviceCategoryList', + access: 'canReadMenu', + }, + { + name: 'device-group-list', + path: '/device/device-group-list', + component: 'Device/DeviceGroupList', + access: 'canReadMenu', + }, + { + name: 'device-relation-list', + path: '/device/device-relation-list', + component: 'Device/DeviceRelationList', + access: 'canReadMenu', + }, + ], + }, + { + name: 'DCSDevice', + path: '/DCSDevice', + routes: [ + { + name: 'DCSDevice-device-group-list', + path: '/DCSDevice/device-group-list', + component: 'DCSDevice/DeviceGroupList', + access: 'canReadMenu', + }, + { + name: 'DCSDevice-device-category-list', + path: '/DCSDevice/device-category-list', + component: 'DCSDevice/DeviceCategoryList', + access: 'canReadMenu', + }, + { + name: 'DCSDevice-device-list', + path: '/DCSDevice/device-list', + component: 'DCSDevice/DeviceList', + access: 'canReadMenu', + }, + { + name: 'DCSDevice-device-status', + path: '/DCSDevice/device-status', + component: 'DCSDevice/DeviceStatus', + access: 'canReadMenu', + }, + ], + }, + { + name: 'resource', + path: '/resource', + routes: [ + { + name: 'algorithm-model-list', + + path: '/resource/algorithm-model-list', + component: 'Resource/AlgorithmModelList', + access: 'canReadMenu', + }, + { + name: 'algorithm-model-detail', + path: '/resource/algorithm-model-detail/:id', + component: 'Resource/AlgorithmModelList/detail', + access: 'canReadMenu', + isHideTab: true, + }, + { + name: 'business-image-list', + + path: '/resource/business-image-list', + component: 'Resource/BusinessImageList', + access: 'canReadMenu', + }, + { + name: 'model-category-list', + + path: '/resource/model-category-list', + component: 'Resource/ModelCategoryList', + access: 'canReadMenu', + }, + { + name: 'model-image-list', + path: '/resource/model-image-list', + component: 'Resource/ModelImageList', + access: 'canReadMenu', + }, + { + name: 'model-version-list', + path: '/resource/model-version-list', + component: 'Resource/ModelVersionList', + access: 'canReadMenu', + }, + { + name: 'resource-device-status', + path: '/resource/resource-device-status', + component: 'Resource/ResourceDeviceStatus', + access: 'canReadMenu', + }, + ], + }, + { + name: 'analysis', + path: '/analysis', + routes: [ + { + name: 'action-detection-list', + path: '/analysis/action-detection-list', + component: 'Analysis/ActionDetectionList', + access: 'canReadMenu', + }, + ], + }, + { + name: 'project', + path: '/project', + routes: [ + { + name: 'project-list', + + path: '/project/project-list', + component: 'Project/ProjectList', + access: 'canReadMenu', + }, + ], + }, + { + name: 'Contact', + path: '/Contact', + routes: [ + { + name: 'Contact-contact-list', + path: '/Contact/contact-list', + component: 'Contact/ContactList', + access: 'canReadMenu', + }, + ], + }, + { + name: 'task', + path: '/task', + component: 'Hidden', + }, + { + name: 'compute_power', + path: '/compute_power', + component: 'ComputePowerAllocation/ComputePowerAllocation', + }, + { + name: 'data_screen', + path: '/data_screen', + }, + { + name: 'algorithm_setting', + path: '/algorithm_setting', + component: 'Setting/AlgorithmSetting', + }, + { + name: 'alarm', + path: '/alarm', + routes: [ + { + name: 'alarm-list', + path: '/alarm/alarm-list', + component: 'Alarm/AlarmList', + access: 'canReadMenu', + }, + { + name: 'alarm-setting', + path: '/alarm/alarm-setting', + component: 'Alarm/AlarmSetting', + access: 'canReadMenu', + }, + { + name: 'alarm-ways', + path: '/alarm/alarm-ways', + component: 'Alarm/AlarmWays', + access: 'canReadMenu', + }, + ], + }, + { + name: 'logging', + path: 'http://192.168.10.96:5601/app/r/s/uDpRg', + }, + { + path: '/', + redirect: '/welcome', + }, + { + path: '*', + layout: false, + component: './404', + }, + { + name: 'fabricView', + path: '/fabricView', + routes: [ + { + name: 'fabricView-room', + path: '/fabricView/room', + component: 'FabricView/Room', + access: 'canReadMenu', + }, + ], + }, + { + name: 'notice', + path: '/notice', + component: 'Notice', + }, + { + name: 'account', + path: '/account', + routes: [ + { + name: 'center', + path: '/account/center', + component: 'Account/Center', + access: 'canReadMenu', + }, + ], + }, +]; diff --git a/config/routes.ts b/config/routes.ts new file mode 100644 index 0000000..e3ed45e --- /dev/null +++ b/config/routes.ts @@ -0,0 +1,351 @@ +/** + * @name umi 的路由配置 + * @description 只支持 path,components,routes,redirect,wrappers,name,icon 的配置 + * @param path path 只支持两种占位符配置,第一种是动态参数 :id 的形式,第二种是 * 通配符,通配符只能出现路由字符串的最后。 + * @param components 配置 location 和 path 匹配后用于渲染的 React 组件路径。可以是绝对路径,也可以是相对路径,如果是相对路径,会从 src/pages 开始找起。 + * @param routes 配置子路由,通常在需要为多个路径增加 layout 组件时使用。 + * @param redirect 配置路由跳转 + * @param wrappers 配置路由组件的包装组件,通过包装组件可以为当前的路由组件组合进更多的功能。 比如,可以用于路由级别的权限校验 + * @param name 配置路由的标题,默认读取国际化文件 menu.ts 中 menu.xxxx 的值,如配置 name 为 login,则读取 menu.ts 中 menu.login 的取值作为标题 + * @param icon 配置路由的图标,取值参考 https://ant.design/components/icon-cn, 注意去除风格后缀和大小写,如想要配置图标为 则取值应为 stepBackward 或 StepBackward,如想要配置图标为 则取值应为 user 或者 User + * @doc https://umijs.org/docs/guides/routes + */ +export default [ + { + path: '/user', + layout: false, + routes: [ + { + name: 'login', + path: '/user/login', + component: './User/Login/index1', + }, + ], + }, + { + path: '/welcome', + name: 'welcome', + component: 'Welcome/Welcome', + }, + { + path: '/admin', + name: 'admin', + + access: 'canAdmin', + routes: [ + { + path: '/admin', + redirect: '/admin/sub-page', + }, + { + path: '/admin/sub-page', + name: 'sub-page', + component: './Admin', + }, + ], + }, + + { + path: '/system', + + name: 'system', + + routes: [ + { + name: 'api-list', + path: '/system/api-list', + component: 'System/ApiList', + access: 'canReadMenu', + }, + { + name: 'menu-list', + path: '/system/menu-list', + component: 'System/MenuList', + access: 'canReadMenu', + }, + { + name: 'role-list', + path: '/system/role-list', + component: 'System/RoleList', + access: 'canReadMenu', + }, + { + name: 'user-list', + path: '/system/user-list', + component: 'System/UserList', + access: 'canReadMenu', + }, + { + name: 'post-list', + path: '/system/post-list', + component: 'System/PostList', + access: 'canReadMenu', + }, + { + name: 'department-list', + path: '/system/department-list', + component: 'System/DepartmentList', + access: 'canReadMenu', + }, + { + name: 'operation_record-list', + path: '/system/operation_record-list', + component: 'System/OperationRecordList', + access: 'canReadMenu', + }, + { + name: 'parameter-setting', + path: '/system/parameter-setting', + component: 'System/ParameterSetting', + access: 'canReadMenu', + }, + ], + }, + { + name: 'device', + path: '/device', + routes: [ + { + name: 'device-list', + path: '/device/device-list', + component: 'Device/DeviceList', + access: 'canReadMenu', + }, + { + name: 'device-category-list', + path: '/device/device-category-list', + component: 'Device/DeviceCategoryList', + access: 'canReadMenu', + }, + { + name: 'device-group-list', + path: '/device/device-group-list', + component: 'Device/DeviceGroupList', + access: 'canReadMenu', + }, + { + name: 'device-relation-list', + path: '/device/device-relation-list', + component: 'Device/DeviceRelationList', + access: 'canReadMenu', + }, + ], + }, + { + name: 'DCSDevice', + path: '/DCSDevice', + routes: [ + { + name: 'DCSDevice-device-group-list', + path: '/DCSDevice/device-group-list', + component: 'DCSDevice/DeviceGroupList', + access: 'canReadMenu', + }, + { + name: 'DCSDevice-device-category-list', + path: '/DCSDevice/device-category-list', + component: 'DCSDevice/DeviceCategoryList', + access: 'canReadMenu', + }, + { + name: 'DCSDevice-device-list', + path: '/DCSDevice/device-list', + component: 'DCSDevice/DeviceList', + access: 'canReadMenu', + }, + { + name: 'DCSDevice-device-status', + path: '/DCSDevice/device-status', + component: 'DCSDevice/DeviceStatus', + access: 'canReadMenu', + }, + ], + }, + { + name: 'resource', + path: '/resource', + routes: [ + { + name: 'algorithm-model-list', + + path: '/resource/algorithm-model-list', + component: 'Resource/AlgorithmModelList', + access: 'canReadMenu', + }, + { + name: 'algorithm-model-detail', + path: '/resource/algorithm-model-detail/:id', + component: 'Resource/AlgorithmModelList/detail', + access: 'canReadMenu', + isHideTab: true, + }, + { + name: 'business-image-list', + + path: '/resource/business-image-list', + component: 'Resource/BusinessImageList', + access: 'canReadMenu', + }, + { + name: 'model-category-list', + + path: '/resource/model-category-list', + component: 'Resource/ModelCategoryList', + access: 'canReadMenu', + }, + { + name: 'model-image-list', + path: '/resource/model-image-list', + component: 'Resource/ModelImageList', + access: 'canReadMenu', + }, + { + name: 'model-version-list', + path: '/resource/model-version-list', + component: 'Resource/ModelVersionList', + access: 'canReadMenu', + }, + { + name: 'resource-device-status', + path: '/resource/resource-device-status', + component: 'Resource/ResourceDeviceStatus', + access: 'canReadMenu', + }, + { + name: 'server-status', + path: '/resource/server-status', + component: 'Resource/ServerStatus', + access: 'canReadMenu', + }, + ], + }, + { + name: 'analysis', + path: '/analysis', + routes: [ + { + name: 'action-detection-list', + path: '/analysis/action-detection-list', + component: 'Analysis/ActionDetectionList', + access: 'canReadMenu', + }, + ], + }, + { + name: 'project', + path: '/project', + routes: [ + { + name: 'project-list', + + path: '/project/project-list', + component: 'Project/ProjectList', + access: 'canReadMenu', + }, + ], + }, + { + name: 'Contact', + path: '/Contact', + routes: [ + { + name: 'Contact-contact-list', + path: '/Contact/contact-list', + component: 'Contact/ContactList', + access: 'canReadMenu', + }, + ], + }, + { + name: 'task', + path: '/task', + routes: [ + { + name: 'task-list', + path: '/task/task-list', + component: 'Task/TaskList', + access: 'canReadMenu', + }, + ], + }, + { + name: 'compute_power', + path: '/compute_power', + component: 'ComputePowerAllocation/ComputePowerAllocation', + }, + { + name: 'data_screen', + path: '/data_screen', + }, + { + name: 'algorithm_setting', + path: '/algorithm_setting', + component: 'Setting/AlgorithmSetting', + }, + { + name: 'alarm', + path: '/alarm', + routes: [ + { + name: 'alarm-list', + path: '/alarm/alarm-list', + component: 'Alarm/AlarmList', + access: 'canReadMenu', + }, + { + name: 'alarm-setting', + path: '/alarm/alarm-setting', + component: 'Alarm/AlarmSetting', + access: 'canReadMenu', + }, + { + name: 'alarm-ways', + path: '/alarm/alarm-ways', + component: 'Alarm/AlarmWays', + access: 'canReadMenu', + }, + ], + }, + { + name: 'logging', + path: 'http://192.168.10.96:5601/app/r/s/uDpRg', + }, + { + path: '/', + redirect: '/welcome', + }, + { + path: '*', + layout: false, + component: './404', + }, + { + name: 'fabricView', + path: '/fabricView', + routes: [ + { + name: 'fabricView-room', + path: '/fabricView/room', + component: 'FabricView/Room', + access: 'canReadMenu', + }, + ], + }, + { + name: 'notice', + path: '/notice', + component: 'Notice', + }, + { + name: 'account', + path: '/account', + routes: [ + { + name: 'center', + path: '/account/center', + component: 'Account/Center', + access: 'canReadMenu', + }, + ], + }, +]; diff --git a/jest.config.ts b/jest.config.ts new file mode 100644 index 0000000..646cec2 --- /dev/null +++ b/jest.config.ts @@ -0,0 +1,23 @@ +import { configUmiAlias, createConfig } from '@umijs/max/test'; + +export default async () => { + const config = await configUmiAlias({ + ...createConfig({ + target: 'browser', + }), + }); + console.log(JSON.stringify(config)); + + return { + ...config, + testEnvironmentOptions: { + ...(config?.testEnvironmentOptions || {}), + url: 'http://localhost:8000', + }, + setupFiles: [...(config.setupFiles || []), './tests/setupTests.jsx'], + globals: { + ...config.globals, + localStorage: null, + }, + }; +}; diff --git a/jsconfig.json b/jsconfig.json new file mode 100644 index 0000000..197bee5 --- /dev/null +++ b/jsconfig.json @@ -0,0 +1,11 @@ +{ + "compilerOptions": { + "jsx": "react-jsx", + "emitDecoratorMetadata": true, + "experimentalDecorators": true, + "baseUrl": ".", + "paths": { + "@/*": ["./src/*"] + } + } +} diff --git a/mock/DCSDevice.ts b/mock/DCSDevice.ts new file mode 100644 index 0000000..b72112f --- /dev/null +++ b/mock/DCSDevice.ts @@ -0,0 +1,111 @@ +import { Request, Response } from 'express'; +import moment from 'moment'; +import { parse } from 'url'; + +// mock tableListDataSource +const genList = (current: number, pageSize: number) => { + const tableListDataSource: API.RuleListItem[] = []; + + for (let i = 0; i < pageSize; i += 1) { + const index = (current - 1) * 10 + i; + tableListDataSource.push({ + key: index, + disabled: i % 6 === 0, + href: 'https://ant.design', + avatar: [ + 'https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png', + 'https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png', + ][i % 2], + name: `TradeCode ${index}`, + owner: '曲丽丽', + desc: '这是一段描述', + callNo: Math.floor(Math.random() * 1000), + status: Math.floor(Math.random() * 10) % 4, + updatedAt: moment().format('YYYY-MM-DD'), + createdAt: moment().format('YYYY-MM-DD'), + progress: Math.ceil(Math.random() * 100), + }); + } + tableListDataSource.reverse(); + return tableListDataSource; +}; + +let tableListDataSource = genList(1, 100); + +function getDCSDeviceStatusList(req: Request, res: Response, u: string) { + let realUrl = u; + if (!realUrl || Object.prototype.toString.call(realUrl) !== '[object String]') { + realUrl = req.url; + } + const { current = 1, pageSize = 10 } = req.query; + const params = parse(realUrl, true).query as unknown as API.PageParams & + API.RuleListItem & { + sorter: any; + filter: any; + }; + + let dataSource = [...tableListDataSource].slice( + ((current as number) - 1) * (pageSize as number), + (current as number) * (pageSize as number), + ); + if (params.sorter) { + const sorter = JSON.parse(params.sorter); + dataSource = dataSource.sort((prev, next) => { + let sortNumber = 0; + (Object.keys(sorter) as Array).forEach((key) => { + let nextSort = next?.[key] as number; + let preSort = prev?.[key] as number; + if (sorter[key] === 'descend') { + if (preSort - nextSort > 0) { + sortNumber += -1; + } else { + sortNumber += 1; + } + return; + } + if (preSort - nextSort > 0) { + sortNumber += 1; + } else { + sortNumber += -1; + } + }); + return sortNumber; + }); + } + if (params.filter) { + const filter = JSON.parse(params.filter as any) as { + [key: string]: string[]; + }; + if (Object.keys(filter).length > 0) { + dataSource = dataSource.filter((item) => { + return (Object.keys(filter) as Array).some((key) => { + if (!filter[key]) { + return true; + } + if (filter[key].includes(`${item[key]}`)) { + return true; + } + return false; + }); + }); + } + } + + if (params.name) { + dataSource = dataSource.filter((data) => data?.name?.includes(params.name || '')); + } + const result = { + data: dataSource, + total: tableListDataSource.length, + success: true, + pageSize, + current: parseInt(`${params.current}`, 10) || 1, + }; + + return res.json(result); +} + + +export default { + 'GET /api/mock/getDCSDeviceStatusList': getDCSDeviceStatusList, +}; diff --git a/mock/StaffEmployee.mock.ts b/mock/StaffEmployee.mock.ts new file mode 100644 index 0000000..f4ec50f --- /dev/null +++ b/mock/StaffEmployee.mock.ts @@ -0,0 +1,23 @@ +// @ts-ignore +import { Request, Response } from 'express'; + +export default { + 'POST /employee/createEmployee': (req: Request, res: Response) => { + res.status(200).send({}); + }, + 'DELETE /employee/deleteEmployee': (req: Request, res: Response) => { + res.status(200).send({}); + }, + 'DELETE /employee/deleteEmployeeByIds': (req: Request, res: Response) => { + res.status(200).send({}); + }, + 'POST /employee/getEmployeeById': (req: Request, res: Response) => { + res.status(200).send({}); + }, + 'POST /employee/getEmployeeList': (req: Request, res: Response) => { + res.status(200).send({}); + }, + 'PUT /employee/updateEmployee': (req: Request, res: Response) => { + res.status(200).send({}); + }, +}; diff --git a/mock/listTableList.ts b/mock/listTableList.ts new file mode 100644 index 0000000..35ec3ce --- /dev/null +++ b/mock/listTableList.ts @@ -0,0 +1,176 @@ +import { Request, Response } from 'express'; +import moment from 'moment'; +import { parse } from 'url'; + +// mock tableListDataSource +const genList = (current: number, pageSize: number) => { + const tableListDataSource: API.RuleListItem[] = []; + + for (let i = 0; i < pageSize; i += 1) { + const index = (current - 1) * 10 + i; + tableListDataSource.push({ + key: index, + disabled: i % 6 === 0, + href: 'https://ant.design', + avatar: [ + 'https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png', + 'https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png', + ][i % 2], + name: `TradeCode ${index}`, + owner: '曲丽丽', + desc: '这是一段描述', + callNo: Math.floor(Math.random() * 1000), + status: Math.floor(Math.random() * 10) % 4, + updatedAt: moment().format('YYYY-MM-DD'), + createdAt: moment().format('YYYY-MM-DD'), + progress: Math.ceil(Math.random() * 100), + }); + } + tableListDataSource.reverse(); + return tableListDataSource; +}; + +let tableListDataSource = genList(1, 100); + +function getRule(req: Request, res: Response, u: string) { + let realUrl = u; + if (!realUrl || Object.prototype.toString.call(realUrl) !== '[object String]') { + realUrl = req.url; + } + const { current = 1, pageSize = 10 } = req.query; + const params = parse(realUrl, true).query as unknown as API.PageParams & + API.RuleListItem & { + sorter: any; + filter: any; + }; + + let dataSource = [...tableListDataSource].slice( + ((current as number) - 1) * (pageSize as number), + (current as number) * (pageSize as number), + ); + if (params.sorter) { + const sorter = JSON.parse(params.sorter); + dataSource = dataSource.sort((prev, next) => { + let sortNumber = 0; + (Object.keys(sorter) as Array).forEach((key) => { + let nextSort = next?.[key] as number; + let preSort = prev?.[key] as number; + if (sorter[key] === 'descend') { + if (preSort - nextSort > 0) { + sortNumber += -1; + } else { + sortNumber += 1; + } + return; + } + if (preSort - nextSort > 0) { + sortNumber += 1; + } else { + sortNumber += -1; + } + }); + return sortNumber; + }); + } + if (params.filter) { + const filter = JSON.parse(params.filter as any) as { + [key: string]: string[]; + }; + if (Object.keys(filter).length > 0) { + dataSource = dataSource.filter((item) => { + return (Object.keys(filter) as Array).some((key) => { + if (!filter[key]) { + return true; + } + if (filter[key].includes(`${item[key]}`)) { + return true; + } + return false; + }); + }); + } + } + + if (params.name) { + dataSource = dataSource.filter((data) => data?.name?.includes(params.name || '')); + } + const result = { + data: dataSource, + total: tableListDataSource.length, + success: true, + pageSize, + current: parseInt(`${params.current}`, 10) || 1, + }; + + return res.json(result); +} + +function postRule(req: Request, res: Response, u: string, b: Request) { + let realUrl = u; + if (!realUrl || Object.prototype.toString.call(realUrl) !== '[object String]') { + realUrl = req.url; + } + + const body = (b && b.body) || req.body; + const { method, name, desc, key } = body; + + switch (method) { + /* eslint no-case-declarations:0 */ + case 'delete': + tableListDataSource = tableListDataSource.filter((item) => key.indexOf(item.key) === -1); + break; + case 'post': + (() => { + const i = Math.ceil(Math.random() * 10000); + const newRule: API.RuleListItem = { + key: tableListDataSource.length, + href: 'https://ant.design', + avatar: [ + 'https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png', + 'https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png', + ][i % 2], + name, + owner: '曲丽丽', + desc, + callNo: Math.floor(Math.random() * 1000), + status: Math.floor(Math.random() * 10) % 2, + updatedAt: moment().format('YYYY-MM-DD'), + createdAt: moment().format('YYYY-MM-DD'), + progress: Math.ceil(Math.random() * 100), + }; + tableListDataSource.unshift(newRule); + return res.json(newRule); + })(); + return; + + case 'update': + (() => { + let newRule = {}; + tableListDataSource = tableListDataSource.map((item) => { + if (item.key === key) { + newRule = { ...item, desc, name }; + return { ...item, desc, name }; + } + return item; + }); + return res.json(newRule); + })(); + return; + default: + break; + } + + const result = { + list: tableListDataSource, + pagination: { + total: tableListDataSource.length, + }, + }; + + res.json(result); +} + +export default { + 'GET /api/rule': getRule, + 'POST /api/rule': postRule, +}; diff --git a/mock/modelDetail.ts b/mock/modelDetail.ts new file mode 100644 index 0000000..1a3a9e4 --- /dev/null +++ b/mock/modelDetail.ts @@ -0,0 +1,68 @@ +/* + * @Author: zhoux zhouxia@supervision.ltd + * @Date: 2023-11-09 14:29:49 + * @LastEditors: zhoux zhouxia@supervision.ltd + * @LastEditTime: 2023-11-09 15:34:50 + * @FilePath: \general-ai-platform-web\mock\modelDetail.ts + * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE + */ +import { Request, Response } from 'express'; +import { parse } from 'url'; + +// mock tableListDataSource +const genData = (params: Record): Record => { + const data: Record = { + categoryFkId: 2, + createTime: '2023-10-20T06:23:56.158622Z', + defaultVersionFkId: null, + id: params.id, + name: '离岗', + remark: '', + updateTime: '2023-10-20T06:23:56.158622Z', + }; + + // key: index, + // disabled: i % 6 === 0, + // href: 'https://ant.design', + // avatar: [ + // 'https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png', + // 'https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png', + // ][i % 2], + // name: `TradeCode ${index}`, + // owner: '曲丽丽', + // desc: '这是一段描述', + // callNo: Math.floor(Math.random() * 1000), + // status: Math.floor(Math.random() * 10) % 4, + // updatedAt: moment().format('YYYY-MM-DD'), + // createdAt: moment().format('YYYY-MM-DD'), + // progress: Math.ceil(Math.random() * 100), + + return data; +}; + +function getModelDetail(req: Request, res: Response, u: string, b: Request) { +// let realUrl = u; +// if (!realUrl || Object.prototype.toString.call(realUrl) !== '[object String]') { +// realUrl = req.url; +// } + +// const body = (b && b.body) || req.body; +// const { method, name, desc, key } = body; +// const params = parse(realUrl, true).query as unknown as API.PageParams & +// API.RuleListItem & { +// sorter: any; +// filter: any; +// }; +// console.log(req, 'getModelDetailApi'); + const result = { + data: genData({id: 2}), + success: true, + msg: '获取成功', + }; + + return res.json(result); +} + +export default { + 'GET /api/v1/mock/model/detail': getModelDetail, +}; diff --git a/mock/notices.ts b/mock/notices.ts new file mode 100644 index 0000000..616c921 --- /dev/null +++ b/mock/notices.ts @@ -0,0 +1,115 @@ +import { Request, Response } from 'express'; + +const getNotices = (req: Request, res: Response) => { + res.json({ + data: [ + { + id: '000000001', + avatar: + 'https://mdn.alipayobjects.com/yuyan_qk0oxh/afts/img/MSbDR4FR2MUAAAAAAAAAAAAAFl94AQBr', + title: '你收到了 14 份新周报', + datetime: '2017-08-09', + type: 'notification', + }, + { + id: '000000002', + avatar: + 'https://mdn.alipayobjects.com/yuyan_qk0oxh/afts/img/hX-PTavYIq4AAAAAAAAAAAAAFl94AQBr', + title: '你推荐的 曲妮妮 已通过第三轮面试', + datetime: '2017-08-08', + type: 'notification', + }, + { + id: '000000003', + avatar: + 'https://mdn.alipayobjects.com/yuyan_qk0oxh/afts/img/jHX5R5l3QjQAAAAAAAAAAAAAFl94AQBr', + title: '这种模板可以区分多种通知类型', + datetime: '2017-08-07', + read: true, + type: 'notification', + }, + { + id: '000000004', + avatar: + 'https://mdn.alipayobjects.com/yuyan_qk0oxh/afts/img/Wr4mQqx6jfwAAAAAAAAAAAAAFl94AQBr', + title: '左侧图标用于区分不同的类型', + datetime: '2017-08-07', + type: 'notification', + }, + { + id: '000000005', + avatar: + 'https://mdn.alipayobjects.com/yuyan_qk0oxh/afts/img/Mzj_TbcWUj4AAAAAAAAAAAAAFl94AQBr', + title: '内容不要超过两行字,超出时自动截断', + datetime: '2017-08-07', + type: 'notification', + }, + { + id: '000000006', + avatar: + 'https://mdn.alipayobjects.com/yuyan_qk0oxh/afts/img/eXLzRbPqQE4AAAAAAAAAAAAAFl94AQBr', + title: '曲丽丽 评论了你', + description: '描述信息描述信息描述信息', + datetime: '2017-08-07', + type: 'message', + clickClose: true, + }, + { + id: '000000007', + avatar: + 'https://mdn.alipayobjects.com/yuyan_qk0oxh/afts/img/w5mRQY2AmEEAAAAAAAAAAAAAFl94AQBr', + title: '朱偏右 回复了你', + description: '这种模板用于提醒谁与你发生了互动,左侧放『谁』的头像', + datetime: '2017-08-07', + type: 'message', + clickClose: true, + }, + { + id: '000000008', + avatar: + 'https://mdn.alipayobjects.com/yuyan_qk0oxh/afts/img/wPadR5M9918AAAAAAAAAAAAAFl94AQBr', + title: '标题', + description: '这种模板用于提醒谁与你发生了互动,左侧放『谁』的头像', + datetime: '2017-08-07', + type: 'message', + clickClose: true, + }, + { + id: '000000009', + title: '任务名称', + description: '任务需要在 2017-01-12 20:00 前启动', + extra: '未开始', + status: 'todo', + type: 'event', + }, + { + id: '000000010', + title: '第三方紧急代码变更', + description: '冠霖提交于 2017-01-06,需在 2017-01-07 前完成代码变更任务', + extra: '马上到期', + status: 'urgent', + type: 'event', + }, + { + id: '000000011', + title: '信息安全考试', + description: '指派竹尔于 2017-01-09 前完成更新并发布', + extra: '已耗时 8 天', + status: 'doing', + type: 'event', + }, + { + id: '000000012', + title: 'ABCD 版本发布', + description: '冠霖提交于 2017-01-06,需在 2017-01-07 前完成代码变更任务', + extra: '进行中', + status: 'processing', + type: 'event', + }, + ], + }); +}; + +export default { + 'GET /api/notices': getNotices, +}; diff --git a/mock/requestRecord.mock.js b/mock/requestRecord.mock.js new file mode 100644 index 0000000..6c59e19 --- /dev/null +++ b/mock/requestRecord.mock.js @@ -0,0 +1,324 @@ +module.exports = { + 'GET /api/currentUser': { + data: { + name: 'Serati Ma', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png', + userid: '00000001', + email: 'antdesign@alipay.com', + signature: '海纳百川,有容乃大', + title: '交互专家', + group: '蚂蚁金服-某某某事业群-某某平台部-某某技术部-UED', + tags: [ + { key: '0', label: '很有想法的' }, + { key: '1', label: '专注设计' }, + { key: '2', label: '辣~' }, + { key: '3', label: '大长腿' }, + { key: '4', label: '川妹子' }, + { key: '5', label: '海纳百川' }, + ], + notifyCount: 12, + unreadCount: 11, + country: 'China', + geographic: { + province: { label: '浙江省', key: '330000' }, + city: { label: '杭州市', key: '330100' }, + }, + address: '西湖区工专路 77 号', + phone: '0752-268888888', + }, + }, + 'GET /api/rule': { + data: [ + { + key: 99, + disabled: false, + href: 'https://ant.design', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png', + name: 'TradeCode 99', + owner: '曲丽丽', + desc: '这是一段描述', + callNo: 503, + status: '0', + updatedAt: '2022-12-06T05:00:57.040Z', + createdAt: '2022-12-06T05:00:57.040Z', + progress: 81, + }, + { + key: 98, + disabled: false, + href: 'https://ant.design', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png', + name: 'TradeCode 98', + owner: '曲丽丽', + desc: '这是一段描述', + callNo: 164, + status: '0', + updatedAt: '2022-12-06T05:00:57.040Z', + createdAt: '2022-12-06T05:00:57.040Z', + progress: 12, + }, + { + key: 97, + disabled: false, + href: 'https://ant.design', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png', + name: 'TradeCode 97', + owner: '曲丽丽', + desc: '这是一段描述', + callNo: 174, + status: '1', + updatedAt: '2022-12-06T05:00:57.040Z', + createdAt: '2022-12-06T05:00:57.040Z', + progress: 81, + }, + { + key: 96, + disabled: true, + href: 'https://ant.design', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png', + name: 'TradeCode 96', + owner: '曲丽丽', + desc: '这是一段描述', + callNo: 914, + status: '0', + updatedAt: '2022-12-06T05:00:57.040Z', + createdAt: '2022-12-06T05:00:57.040Z', + progress: 7, + }, + { + key: 95, + disabled: false, + href: 'https://ant.design', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png', + name: 'TradeCode 95', + owner: '曲丽丽', + desc: '这是一段描述', + callNo: 698, + status: '2', + updatedAt: '2022-12-06T05:00:57.040Z', + createdAt: '2022-12-06T05:00:57.040Z', + progress: 82, + }, + { + key: 94, + disabled: false, + href: 'https://ant.design', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png', + name: 'TradeCode 94', + owner: '曲丽丽', + desc: '这是一段描述', + callNo: 488, + status: '1', + updatedAt: '2022-12-06T05:00:57.040Z', + createdAt: '2022-12-06T05:00:57.040Z', + progress: 14, + }, + { + key: 93, + disabled: false, + href: 'https://ant.design', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png', + name: 'TradeCode 93', + owner: '曲丽丽', + desc: '这是一段描述', + callNo: 580, + status: '2', + updatedAt: '2022-12-06T05:00:57.040Z', + createdAt: '2022-12-06T05:00:57.040Z', + progress: 77, + }, + { + key: 92, + disabled: false, + href: 'https://ant.design', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png', + name: 'TradeCode 92', + owner: '曲丽丽', + desc: '这是一段描述', + callNo: 244, + status: '3', + updatedAt: '2022-12-06T05:00:57.040Z', + createdAt: '2022-12-06T05:00:57.040Z', + progress: 58, + }, + { + key: 91, + disabled: false, + href: 'https://ant.design', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png', + name: 'TradeCode 91', + owner: '曲丽丽', + desc: '这是一段描述', + callNo: 959, + status: '0', + updatedAt: '2022-12-06T05:00:57.040Z', + createdAt: '2022-12-06T05:00:57.040Z', + progress: 66, + }, + { + key: 90, + disabled: true, + href: 'https://ant.design', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png', + name: 'TradeCode 90', + owner: '曲丽丽', + desc: '这是一段描述', + callNo: 958, + status: '0', + updatedAt: '2022-12-06T05:00:57.040Z', + createdAt: '2022-12-06T05:00:57.040Z', + progress: 72, + }, + { + key: 89, + disabled: false, + href: 'https://ant.design', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png', + name: 'TradeCode 89', + owner: '曲丽丽', + desc: '这是一段描述', + callNo: 301, + status: '2', + updatedAt: '2022-12-06T05:00:57.040Z', + createdAt: '2022-12-06T05:00:57.040Z', + progress: 2, + }, + { + key: 88, + disabled: false, + href: 'https://ant.design', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png', + name: 'TradeCode 88', + owner: '曲丽丽', + desc: '这是一段描述', + callNo: 277, + status: '1', + updatedAt: '2022-12-06T05:00:57.040Z', + createdAt: '2022-12-06T05:00:57.040Z', + progress: 12, + }, + { + key: 87, + disabled: false, + href: 'https://ant.design', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png', + name: 'TradeCode 87', + owner: '曲丽丽', + desc: '这是一段描述', + callNo: 810, + status: '1', + updatedAt: '2022-12-06T05:00:57.040Z', + createdAt: '2022-12-06T05:00:57.040Z', + progress: 82, + }, + { + key: 86, + disabled: false, + href: 'https://ant.design', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png', + name: 'TradeCode 86', + owner: '曲丽丽', + desc: '这是一段描述', + callNo: 780, + status: '3', + updatedAt: '2022-12-06T05:00:57.040Z', + createdAt: '2022-12-06T05:00:57.040Z', + progress: 22, + }, + { + key: 85, + disabled: false, + href: 'https://ant.design', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png', + name: 'TradeCode 85', + owner: '曲丽丽', + desc: '这是一段描述', + callNo: 705, + status: '3', + updatedAt: '2022-12-06T05:00:57.040Z', + createdAt: '2022-12-06T05:00:57.040Z', + progress: 12, + }, + { + key: 84, + disabled: true, + href: 'https://ant.design', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png', + name: 'TradeCode 84', + owner: '曲丽丽', + desc: '这是一段描述', + callNo: 203, + status: '0', + updatedAt: '2022-12-06T05:00:57.040Z', + createdAt: '2022-12-06T05:00:57.040Z', + progress: 79, + }, + { + key: 83, + disabled: false, + href: 'https://ant.design', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png', + name: 'TradeCode 83', + owner: '曲丽丽', + desc: '这是一段描述', + callNo: 491, + status: '2', + updatedAt: '2022-12-06T05:00:57.040Z', + createdAt: '2022-12-06T05:00:57.040Z', + progress: 59, + }, + { + key: 82, + disabled: false, + href: 'https://ant.design', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png', + name: 'TradeCode 82', + owner: '曲丽丽', + desc: '这是一段描述', + callNo: 73, + status: '0', + updatedAt: '2022-12-06T05:00:57.040Z', + createdAt: '2022-12-06T05:00:57.040Z', + progress: 100, + }, + { + key: 81, + disabled: false, + href: 'https://ant.design', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png', + name: 'TradeCode 81', + owner: '曲丽丽', + desc: '这是一段描述', + callNo: 406, + status: '3', + updatedAt: '2022-12-06T05:00:57.040Z', + createdAt: '2022-12-06T05:00:57.040Z', + progress: 61, + }, + { + key: 80, + disabled: false, + href: 'https://ant.design', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png', + name: 'TradeCode 80', + owner: '曲丽丽', + desc: '这是一段描述', + callNo: 112, + status: '2', + updatedAt: '2022-12-06T05:00:57.040Z', + createdAt: '2022-12-06T05:00:57.040Z', + progress: 20, + }, + ], + total: 100, + success: true, + pageSize: 20, + current: 1, + }, + 'POST /api/login/outLogin': { data: {}, success: true }, + 'POST /api/login/account': { + status: 'ok', + type: 'account', + currentAuthority: 'admin', + }, +}; diff --git a/mock/route.ts b/mock/route.ts new file mode 100644 index 0000000..418d10f --- /dev/null +++ b/mock/route.ts @@ -0,0 +1,5 @@ +export default { + '/api/auth_routes': { + '/form/advanced-form': { authority: ['admin', 'user'] }, + }, +}; diff --git a/mock/user.ts b/mock/user.ts new file mode 100644 index 0000000..75edd34 --- /dev/null +++ b/mock/user.ts @@ -0,0 +1,203 @@ +import { Request, Response } from 'express'; + +const waitTime = (time: number = 100) => { + return new Promise((resolve) => { + setTimeout(() => { + resolve(true); + }, time); + }); +}; + +async function getFakeCaptcha(req: Request, res: Response) { + await waitTime(2000); + return res.json('captcha-xxx'); +} + +const { ANT_DESIGN_PRO_ONLY_DO_NOT_USE_IN_YOUR_PRODUCTION } = process.env; + +/** + * 当前用户的权限,如果为空代表没登录 + * current user access, if is '', user need login + * 如果是 pro 的预览,默认是有权限的 + */ +let access = ANT_DESIGN_PRO_ONLY_DO_NOT_USE_IN_YOUR_PRODUCTION === 'site' ? 'admin' : ''; + +const getAccess = () => { + return access; +}; + +// 代码中会兼容本地 service mock 以及部署站点的静态数据 +export default { + // 支持值为 Object 和 Array + 'GET /api/currentUser': (req: Request, res: Response) => { + if (!getAccess()) { + res.status(401).send({ + data: { + isLogin: false, + }, + errorCode: '401', + errorMessage: '请先登录!', + success: true, + }); + return; + } + res.send({ + success: true, + data: { + name: 'Serati Ma', + avatar: 'https://gw.alipayobjects.com/zos/antfincdn/XAosXuNZyF/BiazfanxmamNRoxxVxka.png', + userid: '00000001', + email: 'antdesign@alipay.com', + signature: '海纳百川,有容乃大', + title: '交互专家', + group: '蚂蚁金服-某某某事业群-某某平台部-某某技术部-UED', + tags: [ + { + key: '0', + label: '很有想法的', + }, + { + key: '1', + label: '专注设计', + }, + { + key: '2', + label: '辣~', + }, + { + key: '3', + label: '大长腿', + }, + { + key: '4', + label: '川妹子', + }, + { + key: '5', + label: '海纳百川', + }, + ], + notifyCount: 12, + unreadCount: 11, + country: 'China', + access: getAccess(), + geographic: { + province: { + label: '浙江省', + key: '330000', + }, + city: { + label: '杭州市', + key: '330100', + }, + }, + address: '西湖区工专路 77 号', + phone: '0752-268888888', + }, + }); + }, + // GET POST 可省略 + 'GET /api/users': [ + { + key: '1', + name: 'John Brown', + age: 32, + address: 'New York No. 1 Lake Park', + }, + { + key: '2', + name: 'Jim Green', + age: 42, + address: 'London No. 1 Lake Park', + }, + { + key: '3', + name: 'Joe Black', + age: 32, + address: 'Sidney No. 1 Lake Park', + }, + ], + 'POST /api/login/account': async (req: Request, res: Response) => { + const { password, username, type } = req.body; + await waitTime(2000); + if (password === 'ant.design' && username === 'admin') { + res.send({ + status: 'ok', + type, + currentAuthority: 'admin', + }); + access = 'admin'; + return; + } + if (password === 'ant.design' && username === 'user') { + res.send({ + status: 'ok', + type, + currentAuthority: 'user', + }); + access = 'user'; + return; + } + if (type === 'mobile') { + res.send({ + status: 'ok', + type, + currentAuthority: 'admin', + }); + access = 'admin'; + return; + } + + res.send({ + status: 'error', + type, + currentAuthority: 'guest', + }); + access = 'guest'; + }, + 'POST /api/login/outLogin': (req: Request, res: Response) => { + access = ''; + res.send({ data: {}, success: true }); + }, + 'POST /api/register': (req: Request, res: Response) => { + res.send({ status: 'ok', currentAuthority: 'user', success: true }); + }, + 'GET /api/500': (req: Request, res: Response) => { + res.status(500).send({ + timestamp: 1513932555104, + status: 500, + error: 'error', + message: 'error', + path: '/base/category/list', + }); + }, + 'GET /api/404': (req: Request, res: Response) => { + res.status(404).send({ + timestamp: 1513932643431, + status: 404, + error: 'Not Found', + message: 'No message available', + path: '/base/category/list/2121212', + }); + }, + 'GET /api/403': (req: Request, res: Response) => { + res.status(403).send({ + timestamp: 1513932555104, + status: 403, + error: 'Forbidden', + message: 'Forbidden', + path: '/base/category/list', + }); + }, + 'GET /api/401': (req: Request, res: Response) => { + res.status(401).send({ + timestamp: 1513932555104, + status: 401, + error: 'Unauthorized', + message: 'Unauthorized', + path: '/base/category/list', + }); + }, + + 'GET /api/login/captcha': getFakeCaptcha, +}; diff --git a/package.json b/package.json new file mode 100644 index 0000000..7836835 --- /dev/null +++ b/package.json @@ -0,0 +1,137 @@ +{ + "name": "ant-design-pro", + "version": "6.0.0", + "private": true, + "description": "An out-of-box UI solution for enterprise applications", + "scripts": { + "analyze": "cross-env ANALYZE=1 max build", + "build": "cross-env API_ENV=production max build", + "deploy": "npm run build && npm run gh-pages", + "dev": "npm run start:dev", + "gh-pages": "gh-pages -d dist", + "i18n-remove": "pro i18n-remove --locale=zh-CN --write", + "postinstall": "max setup", + "jest": "jest", + "lint": "npm run lint:js && npm run lint:prettier && npm run tsc", + "lint-staged": "lint-staged", + "lint-staged:js": "eslint --ext .js,.jsx,.ts,.tsx ", + "lint:fix": "eslint --fix --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src ", + "lint:js": "eslint --cache --ext .js,.jsx,.ts,.tsx --format=pretty ./src", + "lint:prettier": "prettier -c --write \"**/**.{js,jsx,tsx,ts,less,md,json}\" --end-of-line auto", + "openapi": "max openapi", + "prepare": "husky install", + "prettier": "prettier -c --write \"**/**.{js,jsx,tsx,ts,less,md,json}\"", + "preview": "npm run build && max preview --port 8000", + "record": "cross-env NODE_ENV=development REACT_APP_ENV=test max record --scene=login", + "serve": "umi-serve", + "start": "cross-env UMI_ENV=dev max dev", + "start:dev": "cross-env REACT_APP_ENV=dev MOCK=none UMI_ENV=dev max dev", + "start:no-mock": "cross-env MOCK=none UMI_ENV=dev max dev", + "start:pre": "cross-env REACT_APP_ENV=pre UMI_ENV=dev max dev", + "start:test": "cross-env REACT_APP_ENV=test MOCK=none UMI_ENV=dev max dev", + "test": "jest", + "test:coverage": "npm run jest -- --coverage", + "test:update": "npm run jest -- -u", + "tsc": "tsc --noEmit" + }, + "lint-staged": { + "**/*.{js,jsx,ts,tsx}": "npm run lint-staged:js", + "**/*.{js,jsx,tsx,ts,less,md,json}": [ + "prettier --write" + ] + }, + "browserslist": [ + "> 1%", + "last 2 versions", + "not ie <= 10" + ], + "dependencies": { + "@ant-design/charts": "^1.4.2", + "@ant-design/icons": "^4.8.0", + "@ant-design/pro-components": "^2.6.29", + "@ant-design/use-emotion-css": "1.0.4", + "@umijs/route-utils": "^2.2.2", + "antd": "^5.5.1", + "classnames": "^2.3.2", + "echarts": "^5.4.3", + "echarts-for-react": "^3.0.2", + "fabric": "^5.3.0", + "js-yaml": "^4.1.0", + "lodash": "^4.17.21", + "moment": "^2.29.4", + "omit.js": "^2.0.2", + "querystring": "^0.2.1", + "rc-menu": "^9.9.2", + "rc-util": "^5.32.2", + "react": "^18.2.0", + "react-cookies": "^0.1.1", + "react-dev-inspector": "^1.8.4", + "react-dom": "^18.2.0", + "react-helmet-async": "^1.3.0", + "video.js": "^8.5.2", + "webrtc-streamer": "^0.8.3-4-g2d0afce" + }, + "devDependencies": { + "@ant-design/pro-cli": "^2.1.5", + "@testing-library/react": "^13.4.0", + "@types/classnames": "^2.3.1", + "@types/express": "^4.17.17", + "@types/fabric": "^5.3.6", + "@types/history": "^4.7.11", + "@types/jest": "^29.5.1", + "@types/js-yaml": "^4.0.8", + "@types/lodash": "^4.14.195", + "@types/react": "^18.2.7", + "@types/react-dom": "^18.2.4", + "@types/react-helmet": "^6.1.6", + "@umijs/fabric": "^2.14.1", + "@umijs/lint": "^4.0.69", + "@umijs/max": "^4.0.69", + "cross-env": "^7.0.3", + "eslint": "^8.41.0", + "express": "^4.18.2", + "gh-pages": "^3.2.3", + "husky": "^7.0.4", + "jest": "^29.5.0", + "jest-environment-jsdom": "^29.5.0", + "lint-staged": "^10.5.4", + "mockjs": "^1.1.0", + "prettier": "^2.8.8", + "swagger-ui-dist": "^4.19.0", + "ts-node": "^10.9.1", + "typescript": "^5.0.0", + "umi-presets-pro": "^2.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "create-umi": { + "ignoreScript": [ + "docker*", + "functions*", + "site", + "generateMock" + ], + "ignoreDependencies": [ + "netlify*", + "serverless" + ], + "ignore": [ + ".dockerignore", + ".git", + ".github", + ".gitpod.yml", + "CODE_OF_CONDUCT.md", + "Dockerfile", + "Dockerfile.*", + "lambda", + "LICENSE", + "netlify.toml", + "README.*.md", + "azure-pipelines.yml", + "docker", + "CNAME", + "create-umi" + ] + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..00df6e2 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,20638 @@ +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +dependencies: + '@ant-design/charts': + specifier: ^1.4.2 + version: 1.4.2(@ant-design/icons@4.8.0)(antd@5.5.1)(classnames@2.3.2)(lodash@4.17.21)(react-dom@18.2.0)(react@18.2.0)(reflect-metadata@0.1.14) + '@ant-design/icons': + specifier: ^4.8.0 + version: 4.8.0(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-components': + specifier: ^2.6.29 + version: 2.6.29(antd@5.5.1)(rc-field-form@1.32.0)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/use-emotion-css': + specifier: 1.0.4 + version: 1.0.4(antd@5.5.1)(react-dom@18.2.0)(react@18.2.0) + '@umijs/route-utils': + specifier: ^2.2.2 + version: 2.2.2 + antd: + specifier: ^5.5.1 + version: 5.5.1(moment@2.29.4)(react-dom@18.2.0)(react@18.2.0) + classnames: + specifier: ^2.3.2 + version: 2.3.2 + echarts: + specifier: ^5.4.3 + version: 5.4.3 + echarts-for-react: + specifier: ^3.0.2 + version: 3.0.2(echarts@5.4.3)(react@18.2.0) + fabric: + specifier: ^5.3.0 + version: 5.3.0 + js-yaml: + specifier: ^4.1.0 + version: 4.1.0 + lodash: + specifier: ^4.17.21 + version: 4.17.21 + moment: + specifier: ^2.29.4 + version: 2.29.4 + omit.js: + specifier: ^2.0.2 + version: 2.0.2 + querystring: + specifier: ^0.2.1 + version: 0.2.1 + rc-menu: + specifier: ^9.9.2 + version: 9.9.2(react-dom@18.2.0)(react@18.2.0) + rc-util: + specifier: ^5.32.2 + version: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: + specifier: ^18.2.0 + version: 18.2.0 + react-cookies: + specifier: ^0.1.1 + version: 0.1.1 + react-dev-inspector: + specifier: ^1.8.4 + version: 1.8.4(eslint@8.41.0)(react@18.2.0)(typescript@5.0.2)(webpack@5.84.1) + react-dom: + specifier: ^18.2.0 + version: 18.2.0(react@18.2.0) + react-helmet-async: + specifier: ^1.3.0 + version: 1.3.0(react-dom@18.2.0)(react@18.2.0) + video.js: + specifier: ^8.5.2 + version: 8.5.2 + webrtc-streamer: + specifier: ^0.8.3-4-g2d0afce + version: 0.8.3-4-g2d0afce + +devDependencies: + '@ant-design/pro-cli': + specifier: ^2.1.5 + version: 2.1.5 + '@testing-library/react': + specifier: ^13.4.0 + version: 13.4.0(react-dom@18.2.0)(react@18.2.0) + '@types/classnames': + specifier: ^2.3.1 + version: 2.3.1 + '@types/express': + specifier: ^4.17.17 + version: 4.17.17 + '@types/fabric': + specifier: ^5.3.6 + version: 5.3.6 + '@types/history': + specifier: ^4.7.11 + version: 4.7.11 + '@types/jest': + specifier: ^29.5.1 + version: 29.5.1 + '@types/js-yaml': + specifier: ^4.0.8 + version: 4.0.8 + '@types/lodash': + specifier: ^4.14.195 + version: 4.14.195 + '@types/react': + specifier: ^18.2.7 + version: 18.2.7 + '@types/react-dom': + specifier: ^18.2.4 + version: 18.2.4 + '@types/react-helmet': + specifier: ^6.1.6 + version: 6.1.6 + '@umijs/fabric': + specifier: ^2.14.1 + version: 2.14.1 + '@umijs/lint': + specifier: ^4.0.69 + version: 4.0.69(eslint@8.41.0)(jest@29.5.0)(styled-components@5.3.11)(stylelint@14.16.1)(typescript@5.0.2) + '@umijs/max': + specifier: ^4.0.69 + version: 4.0.69(@babel/core@7.22.1)(@types/node@20.2.5)(@types/react-dom@18.2.4)(@types/react@18.2.7)(dva@2.5.0-beta.2)(jest@29.5.0)(postcss@8.4.24)(prettier@2.8.8)(rc-field-form@1.32.0)(react-dom@18.2.0)(react@18.2.0)(styled-components@5.3.11)(typescript@5.0.2)(webpack@5.84.1) + cross-env: + specifier: ^7.0.3 + version: 7.0.3 + eslint: + specifier: ^8.41.0 + version: 8.41.0 + express: + specifier: ^4.18.2 + version: 4.18.2 + gh-pages: + specifier: ^3.2.3 + version: 3.2.3 + husky: + specifier: ^7.0.4 + version: 7.0.4 + jest: + specifier: ^29.5.0 + version: 29.5.0(@types/node@20.2.5)(ts-node@10.9.1) + jest-environment-jsdom: + specifier: ^29.5.0 + version: 29.5.0 + lint-staged: + specifier: ^10.5.4 + version: 10.5.4 + mockjs: + specifier: ^1.1.0 + version: 1.1.0 + prettier: + specifier: ^2.8.8 + version: 2.8.8 + swagger-ui-dist: + specifier: ^4.19.0 + version: 4.19.0 + ts-node: + specifier: ^10.9.1 + version: 10.9.1(@types/node@20.2.5)(typescript@5.0.2) + typescript: + specifier: ^5.0.0 + version: 5.0.2 + umi-presets-pro: + specifier: ^2.0.3 + version: 2.0.3(@types/react-dom@18.2.4)(@types/react@18.2.7)(antd@5.5.1)(dva@2.5.0-beta.2)(rc-field-form@1.32.0)(react-dom@18.2.0)(react@18.2.0)(umi@4.0.69) + +packages: + + /@ahooksjs/use-request@2.8.15(react@18.2.0): + resolution: {integrity: sha512-xhVaM4fyIiAMdVFuuU5i3CFUdFa/IblF+fvITVMFaUEO3w/V5tVCAF6WIA3T03n1/RPuzRkA7Ao1PFtSGtGelw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 + dependencies: + lodash.debounce: 4.0.8 + lodash.throttle: 4.1.1 + react: 18.2.0 + dev: true + + /@alita/babel-transform-jsx-class@0.0.2: + resolution: {integrity: sha512-TW4KukvBsmMcebUWfquhFQ36Uo+wFrRB4NiimXhtQ+QXrYBmHoVm5GgVojQ3AJKIAjTVicYsz4lEo/MPN+ZgNw==} + dev: true + + /@alita/inspx@0.0.2(react@18.2.0): + resolution: {integrity: sha512-NylAZjHY1jIyO5a58WaPSzZbR39idg8tGyUl4YLBiSmU0lvkl/K9C77TexPQMUHhzauelmmhBht2FRoA77U0tQ==} + engines: {node: '>=10'} + peerDependencies: + react: '>=16' + dependencies: + '@radix-ui/popper': 0.0.10 + react: 18.2.0 + dev: true + + /@alita/plugins@3.2.22(@types/react-dom@18.2.4)(@types/react@18.2.7)(antd@5.5.1)(dva@2.5.0-beta.2)(rc-field-form@1.32.0)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-6u2G48dsBj5s+BM2KhtyVDUqUhXkrOpSaqccSfA+HSJO9B4QeyjCpFZFNSL1pXBEd/M+f+e9bxQvipsuAmR+yg==} + dependencies: + '@alita/babel-transform-jsx-class': 0.0.2 + '@alita/inspx': 0.0.2(react@18.2.0) + '@alita/request': 3.1.1 + '@alita/types': 3.1.1 + '@umijs/bundler-utils': 4.0.59 + '@umijs/plugins': 4.0.59(@types/react-dom@18.2.4)(@types/react@18.2.7)(antd@5.5.1)(dva@2.5.0-beta.2)(rc-field-form@1.32.0)(react-dom@18.2.0)(react@18.2.0) + '@umijs/utils': 4.0.59 + ahooks: 3.7.7(react@18.2.0) + antd-mobile-alita: 2.3.4(react-dom@18.2.0)(react@18.2.0) + antd-mobile-icons: 0.2.2 + babel-plugin-import: 1.13.6 + babel-runtime-jsx-plus: 0.1.5 + classnames: 2.3.2 + dva-core: 2.0.4(redux@3.7.2) + dva-immer: 1.0.1(dva@2.5.0-beta.2) + dva-loading: 3.0.24(dva-core@2.0.4) + history: 5.3.0 + react-redux: 7.2.9(react-dom@18.2.0)(react@18.2.0) + react-router-dom: 6.11.2(react-dom@18.2.0)(react@18.2.0) + redux: 4.2.1 + semver: 7.3.5 + transitivePeerDependencies: + - '@types/lodash.merge' + - '@types/react' + - '@types/react-dom' + - antd + - babel-plugin-styled-components + - debug + - dva + - rc-field-form + - react + - react-dom + - react-native + - shallowequal + - stylis + - supports-color + dev: true + + /@alita/request@3.1.1: + resolution: {integrity: sha512-edz76AKAanJo7u2V4seomF4chlHi4rfl9T1hTNbothmd786lEgdDGOnItqilc/twTiLZjECJS43Un4/pttalyQ==} + dependencies: + umi-request: 1.4.0 + dev: true + + /@alita/types@3.1.1: + resolution: {integrity: sha512-yxejISI2ZwHI1iQCTTXz2axNji3i4Wgfvg3u0c7HtjGpG3JKql0iTVGVHDXtEhIs2CKLb4+TBWcRhEDxW+mECg==} + dev: true + + /@amap/amap-jsapi-loader@1.0.1: + resolution: {integrity: sha512-nPyLKt7Ow/ThHLkSvn2etQlUzqxmTVgK7bIgwdBRTg2HK5668oN7xVxkaiRe3YZEzGzfV2XgH5Jmu2T73ljejw==} + dev: false + + /@ampproject/remapping@2.2.1: + resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.18 + + /@ant-design/antd-theme-variable@1.0.0: + resolution: {integrity: sha512-0vr5GCwM7xlAl6NxG1lPbABO+SYioNJL3HVy2FA8wTlsIMoZvQwcwsxTw6eLQCiN9V2UQ8kBtfz8DW8utVVE5w==} + dev: true + + /@ant-design/charts@1.4.2(@ant-design/icons@4.8.0)(antd@5.5.1)(classnames@2.3.2)(lodash@4.17.21)(react-dom@18.2.0)(react@18.2.0)(reflect-metadata@0.1.14): + resolution: {integrity: sha512-BcVx6AAnwxSdzAVUZReSuvUVtnT5AkJivq3wmcYj17scll26HHficg35yimGskAj3Gu1upYjBQBz6Tk7GEMJsQ==} + peerDependencies: + '@ant-design/icons': ^4.6.0 + antd: ^4.6.3 + lodash: ^4.17.20 + react: '>=16.8.4' + react-dom: '>=16.8.4' + dependencies: + '@ant-design/flowchart': 1.2.2(@ant-design/icons@4.8.0)(antd@5.5.1)(classnames@2.3.2)(lodash@4.17.21)(react-dom@18.2.0)(react@18.2.0)(reflect-metadata@0.1.14) + '@ant-design/graphs': 1.4.1(react-dom@18.2.0)(react@18.2.0) + '@ant-design/icons': 4.8.0(react-dom@18.2.0)(react@18.2.0) + '@ant-design/maps': 1.0.8(react-dom@18.2.0)(react@18.2.0) + '@ant-design/plots': 1.2.6(react-dom@18.2.0)(react@18.2.0) + antd: 5.5.1(moment@2.29.4)(react-dom@18.2.0)(react@18.2.0) + lodash: 4.17.21 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + transitivePeerDependencies: + - bufferutil + - classnames + - reflect-metadata + - utf-8-validate + dev: false + + /@ant-design/colors@4.0.5: + resolution: {integrity: sha512-3mnuX2prnWOWvpFTS2WH2LoouWlOgtnIpc6IarWN6GOzzLF8dW/U8UctuvIPhoboETehZfJ61XP+CGakBEPJ3Q==} + dependencies: + tinycolor2: 1.6.0 + dev: false + + /@ant-design/colors@6.0.0: + resolution: {integrity: sha512-qAZRvPzfdWHtfameEGP2Qvuf838NhergR35o+EuVyB5XvSA98xod5r4utvi4TJ3ywmevm290g9nsCG5MryrdWQ==} + dependencies: + '@ctrl/tinycolor': 3.6.0 + + /@ant-design/colors@7.0.0: + resolution: {integrity: sha512-iVm/9PfGCbC0dSMBrz7oiEXZaaGH7ceU40OJEfKmyuzR9R5CRimJYPlRiFtMQGQcbNMea/ePcoIebi4ASGYXtg==} + dependencies: + '@ctrl/tinycolor': 3.6.0 + + /@ant-design/cssinjs@1.18.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-1JURAPrsjK1GwpqByTq3bJ7nF7lbMKDZpehqeR2n8/IR5O58/W1U4VcOeaw5ZyTHri3tEMcom7dyP2tvxpW54g==} + peerDependencies: + react: '>=16.0.0' + react-dom: '>=16.0.0' + dependencies: + '@babel/runtime': 7.22.3 + '@emotion/hash': 0.8.0 + '@emotion/unitless': 0.7.5 + classnames: 2.3.2 + csstype: 3.1.2 + rc-util: 5.38.1(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + stylis: 4.2.0 + + /@ant-design/cssinjs@1.9.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-CZt1vCMs/sY7RoacYuIkZwQmb8Bhp99ReNNE9Y8lnUzik8fmCdKAQA7ecvVOFwmNFdcBHga7ye/XIRrsbkiqWw==} + peerDependencies: + react: '>=16.0.0' + react-dom: '>=16.0.0' + dependencies: + '@babel/runtime': 7.22.3 + '@emotion/hash': 0.8.0 + '@emotion/unitless': 0.7.5 + classnames: 2.3.2 + csstype: 3.1.2 + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + stylis: 4.2.0 + + /@ant-design/flowchart@1.2.2(@ant-design/icons@4.8.0)(antd@5.5.1)(classnames@2.3.2)(lodash@4.17.21)(react-dom@18.2.0)(react@18.2.0)(reflect-metadata@0.1.14): + resolution: {integrity: sha512-bzHZ81qqHjWIrXcCMInDB6eMTzbswaVCOAdUTCQJ+B45aybkVsU9LMCKquyOwRM7U7PWNfPC9S/lAlx2i2BvBQ==} + peerDependencies: + '@ant-design/icons': ^4.6.0 + antd: ^4.6.3 + lodash: ^4.17.20 + react: '>=16.8.4' + react-dom: '>=16.8.4' + dependencies: + '@ant-design/icons': 4.8.0(react-dom@18.2.0)(react@18.2.0) + '@antv/layout': 0.1.31 + '@antv/x6': 1.35.0 + '@antv/x6-react-components': 1.1.20(antd@5.5.1)(react-dom@18.2.0)(react@18.2.0) + '@antv/x6-react-shape': 1.6.5(@antv/x6@1.35.0)(react-dom@18.2.0)(react@18.2.0) + '@antv/xflow': 1.1.52(@ant-design/icons@4.8.0)(antd@5.5.1)(classnames@2.3.2)(lodash@4.17.21)(react-dom@18.2.0)(react@18.2.0)(reflect-metadata@0.1.14) + antd: 5.5.1(moment@2.29.4)(react-dom@18.2.0)(react@18.2.0) + lodash: 4.17.21 + react: 18.2.0 + react-color: 2.17.3(react@18.2.0) + react-dom: 18.2.0(react@18.2.0) + react-use: 17.3.1(react-dom@18.2.0)(react@18.2.0) + transitivePeerDependencies: + - classnames + - reflect-metadata + dev: false + + /@ant-design/graphs@1.4.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-Qyj7Lnfo0gmbaMzm+9AdrS3fjkg2sFU/ZKaFl7xhgEf5LnX+N/KffIvoT8FsBmrZ9ni3onwlHs1dtYa5QdVhtQ==} + peerDependencies: + react: '>=16.8.4' + react-dom: '>=16.8.4' + dependencies: + '@antv/dom-util': 2.0.4 + '@antv/g6': 4.8.24 + '@antv/layout': 0.1.31 + '@antv/util': 2.0.17 + insert-css: 2.0.0 + react: 18.2.0 + react-content-loader: 5.1.4(react@18.2.0) + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@ant-design/icons-svg@4.2.1: + resolution: {integrity: sha512-EB0iwlKDGpG93hW8f85CTJTs4SvMX7tt5ceupvhALp1IF44SeUFOMhKUOYqpsoYWQKAOuTRDMqn75rEaKDp0Xw==} + + /@ant-design/icons@4.8.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-T89P2jG2vM7OJ0IfGx2+9FC5sQjtTzRSz+mCHTXkFn/ELZc2YpfStmYHmqzq2Jx55J0F7+O6i5/ZKFSVNWCKNg==} + engines: {node: '>=8'} + peerDependencies: + react: '>=16.0.0' + react-dom: '>=16.0.0' + dependencies: + '@ant-design/colors': 6.0.0 + '@ant-design/icons-svg': 4.2.1 + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /@ant-design/icons@5.1.3(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-vajYXDkzRQevAJwXgbFzVJ3970nKYqGjX+0+L5/FJcPbItSco32U1k06K9wC0OochLfL/z0U13JN1BsniqMYsA==} + engines: {node: '>=8'} + peerDependencies: + react: '>=16.0.0' + react-dom: '>=16.0.0' + dependencies: + '@ant-design/colors': 7.0.0 + '@ant-design/icons-svg': 4.2.1 + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /@ant-design/maps@1.0.8(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-q9Lv14Ekp7j24R9agrTXIINKc1/zslLXfTIWNuoZ0hUq7w1doyEhtLTsuF0n1wcgdKGjAX3wBKQRaVlgz+u8lw==} + peerDependencies: + react: '>=16.8.4' + react-dom: '>=16.8.4' + dependencies: + '@antv/l7': 2.20.8 + '@antv/l7plot': 0.5.7(@antv/l7@2.20.8) + '@antv/util': 2.0.17 + react: 18.2.0 + react-content-loader: 5.1.4(react@18.2.0) + react-dom: 18.2.0(react@18.2.0) + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: false + + /@ant-design/moment-webpack-plugin@0.0.3: + resolution: {integrity: sha512-MLm1FUpg02fP615ShQnCUN9la2E4RylDxKyolkGqAWTIHO4HyGM0A5x71AMALEyP/bC+UEEWBGSQ+D4/8hQ+ww==} + dev: true + + /@ant-design/plots@1.2.6(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-fFzB9DxRSPQa47S3WypRk4Rh+P8vBUuY/DT+IXgUrlKJtvVZUFnuYfjypX3Q/Pie2PEbI6gmskzXLxVF+3Ztvw==} + peerDependencies: + react: '>=16.8.4' + react-dom: '>=16.8.4' + dependencies: + '@antv/g2plot': 2.4.31 + '@antv/util': 2.0.17 + react: 18.2.0 + react-content-loader: 5.1.4(react@18.2.0) + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@ant-design/pro-card@2.5.19(antd@4.24.10)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-0XzLvPAczdpPOQOklB+4t/xem8h7Ida6sdcNp+PHwlwHtK1HBhFl/JG7gjs3fn6ZZbFAxNDQrPpdAU5donrplQ==} + peerDependencies: + antd: '>=4.23.0 || >=5.0.0' + react: '>=17.0.0' + dependencies: + '@ant-design/icons': 5.1.3(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-provider': 2.13.1(antd@4.24.10)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-utils': 2.14.7(antd@4.24.10)(react-dom@18.2.0)(react@18.2.0) + '@babel/runtime': 7.22.3 + antd: 4.24.10(react-dom@18.2.0)(react@18.2.0) + classnames: 2.3.2 + omit.js: 2.0.2 + rc-resize-observer: 1.3.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + transitivePeerDependencies: + - react-dom + dev: true + + /@ant-design/pro-card@2.5.19(antd@5.5.1)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-0XzLvPAczdpPOQOklB+4t/xem8h7Ida6sdcNp+PHwlwHtK1HBhFl/JG7gjs3fn6ZZbFAxNDQrPpdAU5donrplQ==} + peerDependencies: + antd: '>=4.23.0 || >=5.0.0' + react: '>=17.0.0' + dependencies: + '@ant-design/icons': 5.1.3(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-provider': 2.13.1(antd@5.5.1)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-utils': 2.14.7(antd@5.5.1)(react-dom@18.2.0)(react@18.2.0) + '@babel/runtime': 7.22.3 + antd: 5.5.1(moment@2.29.4)(react-dom@18.2.0)(react@18.2.0) + classnames: 2.3.2 + omit.js: 2.0.2 + rc-resize-observer: 1.3.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + transitivePeerDependencies: + - react-dom + + /@ant-design/pro-cli@2.1.5: + resolution: {integrity: sha512-nFdVRlKRFh6UcjKmkEnpImCz3mOCMz1u6lo9IIVo2lwlbNInc5EZxXfJJm4tAXUSrOfsiIl/Iwc2bsQ5xJBLeA==} + hasBin: true + dependencies: + '@babel/core': 7.22.1 + '@babel/generator': 7.22.3 + '@babel/parser': 7.22.3 + '@babel/traverse': 7.22.1(supports-color@5.5.0) + '@babel/types': 7.22.3 + '@umijs/fabric': 2.14.1 + babel-types: 6.26.0 + blink-diff: 1.0.13 + carlo: 0.9.46 + chalk: 4.1.2 + cross-port-killer: 1.4.0 + eslint: 7.32.0 + execa: 5.1.1 + getnpmregistry: 1.0.1 + glob: 7.2.3 + import-fresh: 3.3.0 + intl-messageformat: 9.13.0 + lodash.groupby: 4.6.0 + node-fetch: 2.6.11 + node-import-ts: 1.0.6 + ora: 5.4.1 + pngjs-image: 0.11.7 + prettier: 2.8.8 + rimraf: 3.0.2 + semver: 7.5.1 + typescript: 4.9.5 + umi-utils: 1.7.3 + yargs-parser: 20.2.9 + transitivePeerDependencies: + - bufferutil + - encoding + - postcss-jsx + - postcss-markdown + - supports-color + - utf-8-validate + dev: true + + /@ant-design/pro-components@2.6.29(antd@4.24.10)(rc-field-form@1.32.0)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-7ikKRF6mePWac1m6swy/BMuc7kvm+OAmgQIi6xn5dzAIIqcLv0WZUJtjL15aAZLccS7WQGY4HDMp3sNAui7rqg==} + peerDependencies: + antd: '>=4.23.0 || >=5.0.0' + react: '>=17.0.0' + react-dom: '>=17.0.0' + dependencies: + '@ant-design/pro-card': 2.5.19(antd@4.24.10)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-descriptions': 2.5.14(antd@4.24.10)(rc-field-form@1.32.0)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-field': 2.13.0(antd@4.24.10)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-form': 2.21.1(antd@4.24.10)(rc-field-form@1.32.0)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-layout': 7.17.7(antd@4.24.10)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-list': 2.5.28(antd@4.24.10)(rc-field-form@1.32.0)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-provider': 2.13.1(antd@4.24.10)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-skeleton': 2.1.7(antd@4.24.10)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-table': 3.12.13(antd@4.24.10)(rc-field-form@1.32.0)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-utils': 2.14.7(antd@4.24.10)(react-dom@18.2.0)(react@18.2.0) + '@babel/runtime': 7.22.3 + antd: 4.24.10(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + transitivePeerDependencies: + - '@types/lodash.merge' + - rc-field-form + dev: true + + /@ant-design/pro-components@2.6.29(antd@5.5.1)(rc-field-form@1.32.0)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-7ikKRF6mePWac1m6swy/BMuc7kvm+OAmgQIi6xn5dzAIIqcLv0WZUJtjL15aAZLccS7WQGY4HDMp3sNAui7rqg==} + peerDependencies: + antd: '>=4.23.0 || >=5.0.0' + react: '>=17.0.0' + react-dom: '>=17.0.0' + dependencies: + '@ant-design/pro-card': 2.5.19(antd@5.5.1)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-descriptions': 2.5.14(antd@5.5.1)(rc-field-form@1.32.0)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-field': 2.13.0(antd@5.5.1)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-form': 2.21.1(antd@5.5.1)(rc-field-form@1.32.0)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-layout': 7.17.7(antd@5.5.1)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-list': 2.5.28(antd@5.5.1)(rc-field-form@1.32.0)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-provider': 2.13.1(antd@5.5.1)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-skeleton': 2.1.7(antd@5.5.1)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-table': 3.12.13(antd@5.5.1)(rc-field-form@1.32.0)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-utils': 2.14.7(antd@5.5.1)(react-dom@18.2.0)(react@18.2.0) + '@babel/runtime': 7.22.3 + antd: 5.5.1(moment@2.29.4)(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + transitivePeerDependencies: + - '@types/lodash.merge' + - rc-field-form + + /@ant-design/pro-descriptions@2.5.14(antd@4.24.10)(rc-field-form@1.32.0)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-0h7ONe5xYzbfempLTWdRdfcbBy5Ein1Z45lx0oq+n5BaObYM2MVeTS8vK7GskrbLlLnvMlUpGiGle6tzn4OWtg==} + peerDependencies: + antd: '>=4.23.0 || >=5.0.0' + react: '>=17.0.0' + dependencies: + '@ant-design/pro-field': 2.13.0(antd@4.24.10)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-form': 2.21.1(antd@4.24.10)(rc-field-form@1.32.0)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-skeleton': 2.1.7(antd@4.24.10)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-utils': 2.14.7(antd@4.24.10)(react-dom@18.2.0)(react@18.2.0) + '@babel/runtime': 7.22.3 + antd: 4.24.10(react-dom@18.2.0)(react@18.2.0) + rc-resize-observer: 0.2.6(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + transitivePeerDependencies: + - '@types/lodash.merge' + - rc-field-form + - react-dom + dev: true + + /@ant-design/pro-descriptions@2.5.14(antd@5.5.1)(rc-field-form@1.32.0)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-0h7ONe5xYzbfempLTWdRdfcbBy5Ein1Z45lx0oq+n5BaObYM2MVeTS8vK7GskrbLlLnvMlUpGiGle6tzn4OWtg==} + peerDependencies: + antd: '>=4.23.0 || >=5.0.0' + react: '>=17.0.0' + dependencies: + '@ant-design/pro-field': 2.13.0(antd@5.5.1)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-form': 2.21.1(antd@5.5.1)(rc-field-form@1.32.0)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-skeleton': 2.1.7(antd@5.5.1)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-utils': 2.14.7(antd@5.5.1)(react-dom@18.2.0)(react@18.2.0) + '@babel/runtime': 7.22.3 + antd: 5.5.1(moment@2.29.4)(react-dom@18.2.0)(react@18.2.0) + rc-resize-observer: 0.2.6(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + transitivePeerDependencies: + - '@types/lodash.merge' + - rc-field-form + - react-dom + + /@ant-design/pro-field@2.13.0(antd@4.24.10)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-i3n9bprPAITpTPR76AkjSMGls/j02q20lUXfymV1Fb/lUoILQGpw6r17pO6OnH/eSG6dDGxnsQn1z9AnAScA7w==} + peerDependencies: + antd: '>=4.23.0 || >=5.0.0' + react: '>=17.0.0' + dependencies: + '@ant-design/icons': 5.1.3(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-provider': 2.13.1(antd@4.24.10)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-utils': 2.14.7(antd@4.24.10)(react-dom@18.2.0)(react@18.2.0) + '@babel/runtime': 7.22.3 + '@chenshuai2144/sketch-color': 1.0.9(react@18.2.0) + antd: 4.24.10(react-dom@18.2.0)(react@18.2.0) + classnames: 2.3.2 + dayjs: 1.11.10 + lodash.tonumber: 4.0.3 + omit.js: 2.0.2 + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + swr: 2.1.5(react@18.2.0) + transitivePeerDependencies: + - react-dom + dev: true + + /@ant-design/pro-field@2.13.0(antd@5.5.1)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-i3n9bprPAITpTPR76AkjSMGls/j02q20lUXfymV1Fb/lUoILQGpw6r17pO6OnH/eSG6dDGxnsQn1z9AnAScA7w==} + peerDependencies: + antd: '>=4.23.0 || >=5.0.0' + react: '>=17.0.0' + dependencies: + '@ant-design/icons': 5.1.3(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-provider': 2.13.1(antd@5.5.1)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-utils': 2.14.7(antd@5.5.1)(react-dom@18.2.0)(react@18.2.0) + '@babel/runtime': 7.22.3 + '@chenshuai2144/sketch-color': 1.0.9(react@18.2.0) + antd: 5.5.1(moment@2.29.4)(react-dom@18.2.0)(react@18.2.0) + classnames: 2.3.2 + dayjs: 1.11.10 + lodash.tonumber: 4.0.3 + omit.js: 2.0.2 + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + swr: 2.1.5(react@18.2.0) + transitivePeerDependencies: + - react-dom + + /@ant-design/pro-form@2.21.1(antd@4.24.10)(rc-field-form@1.32.0)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-wu3o0GzM4PSL4KnH9IY8z3f2QXGjzGrl8H+SLIUFxZOazq5xcZo6xbDxLu/mVDn1XUjKFHHjetJtuJ6qcBaYmA==} + peerDependencies: + '@types/lodash.merge': ^4.6.7 + antd: '>=4.23.0 || >=5.0.0' + rc-field-form: ^1.22.0 + react: '>=17.0.0' + react-dom: '>=17.0.0' + peerDependenciesMeta: + '@types/lodash.merge': + optional: true + dependencies: + '@ant-design/icons': 5.1.3(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-field': 2.13.0(antd@4.24.10)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-provider': 2.13.1(antd@4.24.10)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-utils': 2.14.7(antd@4.24.10)(react-dom@18.2.0)(react@18.2.0) + '@babel/runtime': 7.22.3 + '@chenshuai2144/sketch-color': 1.0.9(react@18.2.0) + '@umijs/use-params': 1.0.9(react@18.2.0) + antd: 4.24.10(react-dom@18.2.0)(react@18.2.0) + classnames: 2.3.2 + dayjs: 1.11.10 + lodash.merge: 4.6.2 + omit.js: 2.0.2 + rc-field-form: 1.32.0(react-dom@18.2.0)(react@18.2.0) + rc-resize-observer: 1.3.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: true + + /@ant-design/pro-form@2.21.1(antd@5.5.1)(rc-field-form@1.32.0)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-wu3o0GzM4PSL4KnH9IY8z3f2QXGjzGrl8H+SLIUFxZOazq5xcZo6xbDxLu/mVDn1XUjKFHHjetJtuJ6qcBaYmA==} + peerDependencies: + '@types/lodash.merge': ^4.6.7 + antd: '>=4.23.0 || >=5.0.0' + rc-field-form: ^1.22.0 + react: '>=17.0.0' + react-dom: '>=17.0.0' + peerDependenciesMeta: + '@types/lodash.merge': + optional: true + dependencies: + '@ant-design/icons': 5.1.3(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-field': 2.13.0(antd@5.5.1)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-provider': 2.13.1(antd@5.5.1)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-utils': 2.14.7(antd@5.5.1)(react-dom@18.2.0)(react@18.2.0) + '@babel/runtime': 7.22.3 + '@chenshuai2144/sketch-color': 1.0.9(react@18.2.0) + '@umijs/use-params': 1.0.9(react@18.2.0) + antd: 5.5.1(moment@2.29.4)(react-dom@18.2.0)(react@18.2.0) + classnames: 2.3.2 + dayjs: 1.11.10 + lodash.merge: 4.6.2 + omit.js: 2.0.2 + rc-field-form: 1.32.0(react-dom@18.2.0)(react@18.2.0) + rc-resize-observer: 1.3.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /@ant-design/pro-layout@7.17.7(antd@4.24.10)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-BTAC12mKWsImM2jKKteuL9dpozF5IL1txlWUoaG0sB6ihtDicc+5OOGtLHmhOiJZvJsZqpCfBaV311cmGJkctQ==} + peerDependencies: + antd: '>=4.23.0 || >=5.0.0' + react: '>=17.0.0' + react-dom: '>=17.0.0' + dependencies: + '@ant-design/icons': 5.1.3(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-provider': 2.13.1(antd@4.24.10)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-utils': 2.14.7(antd@4.24.10)(react-dom@18.2.0)(react@18.2.0) + '@babel/runtime': 7.22.3 + '@umijs/route-utils': 4.0.1 + '@umijs/use-params': 1.0.9(react@18.2.0) + antd: 4.24.10(react-dom@18.2.0)(react@18.2.0) + classnames: 2.3.2 + lodash.merge: 4.6.2 + omit.js: 2.0.2 + path-to-regexp: 2.4.0 + rc-resize-observer: 1.3.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + swr: 2.1.5(react@18.2.0) + warning: 4.0.3 + dev: true + + /@ant-design/pro-layout@7.17.7(antd@5.5.1)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-BTAC12mKWsImM2jKKteuL9dpozF5IL1txlWUoaG0sB6ihtDicc+5OOGtLHmhOiJZvJsZqpCfBaV311cmGJkctQ==} + peerDependencies: + antd: '>=4.23.0 || >=5.0.0' + react: '>=17.0.0' + react-dom: '>=17.0.0' + dependencies: + '@ant-design/icons': 5.1.3(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-provider': 2.13.1(antd@5.5.1)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-utils': 2.14.7(antd@5.5.1)(react-dom@18.2.0)(react@18.2.0) + '@babel/runtime': 7.22.3 + '@umijs/route-utils': 4.0.1 + '@umijs/use-params': 1.0.9(react@18.2.0) + antd: 5.5.1(moment@2.29.4)(react-dom@18.2.0)(react@18.2.0) + classnames: 2.3.2 + lodash.merge: 4.6.2 + omit.js: 2.0.2 + path-to-regexp: 2.4.0 + rc-resize-observer: 1.3.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + swr: 2.1.5(react@18.2.0) + warning: 4.0.3 + + /@ant-design/pro-list@2.5.28(antd@4.24.10)(rc-field-form@1.32.0)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-zqS3mO/ptmhI39znDGUv/cTqeZEWL9J9vuAKQqiLeutBNyAID+r64k9976/bvtZJwfieVFBBGwhHtC96Lf8yNA==} + peerDependencies: + antd: '>=4.23.0 || >=5.0.0' + react: '>=17.0.0' + react-dom: '>=17.0.0' + dependencies: + '@ant-design/icons': 5.1.3(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-card': 2.5.19(antd@4.24.10)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-field': 2.13.0(antd@4.24.10)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-table': 3.12.13(antd@4.24.10)(rc-field-form@1.32.0)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-utils': 2.14.7(antd@4.24.10)(react-dom@18.2.0)(react@18.2.0) + '@babel/runtime': 7.22.3 + antd: 4.24.10(react-dom@18.2.0)(react@18.2.0) + classnames: 2.3.2 + dayjs: 1.11.10 + rc-resize-observer: 1.3.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 4.21.1 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + transitivePeerDependencies: + - '@types/lodash.merge' + - rc-field-form + dev: true + + /@ant-design/pro-list@2.5.28(antd@5.5.1)(rc-field-form@1.32.0)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-zqS3mO/ptmhI39znDGUv/cTqeZEWL9J9vuAKQqiLeutBNyAID+r64k9976/bvtZJwfieVFBBGwhHtC96Lf8yNA==} + peerDependencies: + antd: '>=4.23.0 || >=5.0.0' + react: '>=17.0.0' + react-dom: '>=17.0.0' + dependencies: + '@ant-design/icons': 5.1.3(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-card': 2.5.19(antd@5.5.1)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-field': 2.13.0(antd@5.5.1)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-table': 3.12.13(antd@5.5.1)(rc-field-form@1.32.0)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-utils': 2.14.7(antd@5.5.1)(react-dom@18.2.0)(react@18.2.0) + '@babel/runtime': 7.22.3 + antd: 5.5.1(moment@2.29.4)(react-dom@18.2.0)(react@18.2.0) + classnames: 2.3.2 + dayjs: 1.11.10 + rc-resize-observer: 1.3.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 4.21.1 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + transitivePeerDependencies: + - '@types/lodash.merge' + - rc-field-form + + /@ant-design/pro-provider@2.13.1(antd@4.24.10)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-6oj2X2Rbr2tQ9lZeTX/g/Rojk1QypvewaDyAjQ18xbF4oL//zEWiDD/nvm0ng+K6IigyFYixkEVqf5NcOCSYEQ==} + peerDependencies: + antd: '>=4.23.0 || >=5.0.0' + react: '>=17.0.0' + react-dom: '>=17.0.0' + dependencies: + '@ant-design/cssinjs': 1.18.1(react-dom@18.2.0)(react@18.2.0) + '@babel/runtime': 7.22.3 + '@ctrl/tinycolor': 3.6.0 + antd: 4.24.10(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + swr: 2.1.5(react@18.2.0) + dev: true + + /@ant-design/pro-provider@2.13.1(antd@5.5.1)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-6oj2X2Rbr2tQ9lZeTX/g/Rojk1QypvewaDyAjQ18xbF4oL//zEWiDD/nvm0ng+K6IigyFYixkEVqf5NcOCSYEQ==} + peerDependencies: + antd: '>=4.23.0 || >=5.0.0' + react: '>=17.0.0' + react-dom: '>=17.0.0' + dependencies: + '@ant-design/cssinjs': 1.18.1(react-dom@18.2.0)(react@18.2.0) + '@babel/runtime': 7.22.3 + '@ctrl/tinycolor': 3.6.0 + antd: 5.5.1(moment@2.29.4)(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + swr: 2.1.5(react@18.2.0) + + /@ant-design/pro-skeleton@2.1.7(antd@4.24.10)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-5DLD319GTEfxe/GW/Pgja+QjWp89J1DJlKrKvjfQu9z5SCekKPxqG9KmB1F55/eHow1Oe+YjkaqSF55i0xK79Q==} + peerDependencies: + antd: '>=4.23.0 || >=5.0.0' + react: '>=17.0.0' + react-dom: '>=17.0.0' + dependencies: + '@babel/runtime': 7.22.3 + antd: 4.24.10(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: true + + /@ant-design/pro-skeleton@2.1.7(antd@5.5.1)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-5DLD319GTEfxe/GW/Pgja+QjWp89J1DJlKrKvjfQu9z5SCekKPxqG9KmB1F55/eHow1Oe+YjkaqSF55i0xK79Q==} + peerDependencies: + antd: '>=4.23.0 || >=5.0.0' + react: '>=17.0.0' + react-dom: '>=17.0.0' + dependencies: + '@babel/runtime': 7.22.3 + antd: 5.5.1(moment@2.29.4)(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /@ant-design/pro-table@3.12.13(antd@4.24.10)(rc-field-form@1.32.0)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-fj7NWHMI+SjKtXk43u38Z6bJUOEAwrvnJEZzc/bZK+KWy4rVu6da6b6xNW63EoJNvDLVFlqiITlJWjCHOyE8AQ==} + peerDependencies: + antd: '>=4.23.0 || >=5.0.0' + rc-field-form: ^1.22.0 + react: '>=17.0.0' + react-dom: '>=17.0.0' + dependencies: + '@ant-design/icons': 5.1.3(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-card': 2.5.19(antd@4.24.10)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-field': 2.13.0(antd@4.24.10)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-form': 2.21.1(antd@4.24.10)(rc-field-form@1.32.0)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-provider': 2.13.1(antd@4.24.10)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-utils': 2.14.7(antd@4.24.10)(react-dom@18.2.0)(react@18.2.0) + '@babel/runtime': 7.22.3 + '@dnd-kit/core': 6.1.0(react-dom@18.2.0)(react@18.2.0) + '@dnd-kit/modifiers': 6.0.1(@dnd-kit/core@6.1.0)(react@18.2.0) + '@dnd-kit/sortable': 7.0.2(@dnd-kit/core@6.1.0)(react@18.2.0) + '@dnd-kit/utilities': 3.2.2(react@18.2.0) + antd: 4.24.10(react-dom@18.2.0)(react@18.2.0) + classnames: 2.3.2 + dayjs: 1.11.10 + omit.js: 2.0.2 + rc-field-form: 1.32.0(react-dom@18.2.0)(react@18.2.0) + rc-resize-observer: 1.3.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + transitivePeerDependencies: + - '@types/lodash.merge' + dev: true + + /@ant-design/pro-table@3.12.13(antd@5.5.1)(rc-field-form@1.32.0)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-fj7NWHMI+SjKtXk43u38Z6bJUOEAwrvnJEZzc/bZK+KWy4rVu6da6b6xNW63EoJNvDLVFlqiITlJWjCHOyE8AQ==} + peerDependencies: + antd: '>=4.23.0 || >=5.0.0' + rc-field-form: ^1.22.0 + react: '>=17.0.0' + react-dom: '>=17.0.0' + dependencies: + '@ant-design/icons': 5.1.3(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-card': 2.5.19(antd@5.5.1)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-field': 2.13.0(antd@5.5.1)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-form': 2.21.1(antd@5.5.1)(rc-field-form@1.32.0)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-provider': 2.13.1(antd@5.5.1)(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-utils': 2.14.7(antd@5.5.1)(react-dom@18.2.0)(react@18.2.0) + '@babel/runtime': 7.22.3 + '@dnd-kit/core': 6.1.0(react-dom@18.2.0)(react@18.2.0) + '@dnd-kit/modifiers': 6.0.1(@dnd-kit/core@6.1.0)(react@18.2.0) + '@dnd-kit/sortable': 7.0.2(@dnd-kit/core@6.1.0)(react@18.2.0) + '@dnd-kit/utilities': 3.2.2(react@18.2.0) + antd: 5.5.1(moment@2.29.4)(react-dom@18.2.0)(react@18.2.0) + classnames: 2.3.2 + dayjs: 1.11.10 + omit.js: 2.0.2 + rc-field-form: 1.32.0(react-dom@18.2.0)(react@18.2.0) + rc-resize-observer: 1.3.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + transitivePeerDependencies: + - '@types/lodash.merge' + + /@ant-design/pro-utils@2.14.7(antd@4.24.10)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-ilLo4IdFfJzlAtVinSsLweo6gU7+G0U1ykCRASwQ4pTFRKK7CHamsZaXZ2LCBvPqyKgt8Mc5wvrR8z0E+cZaPA==} + peerDependencies: + antd: '>=4.23.0 || >=5.0.0' + react: '>=17.0.0' + react-dom: '>=17.0.0' + dependencies: + '@ant-design/icons': 5.1.3(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-provider': 2.13.1(antd@4.24.10)(react-dom@18.2.0)(react@18.2.0) + '@babel/runtime': 7.22.3 + antd: 4.24.10(react-dom@18.2.0)(react@18.2.0) + classnames: 2.3.2 + dayjs: 1.11.10 + lodash.merge: 4.6.2 + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + safe-stable-stringify: 2.4.3 + swr: 2.1.5(react@18.2.0) + dev: true + + /@ant-design/pro-utils@2.14.7(antd@5.5.1)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-ilLo4IdFfJzlAtVinSsLweo6gU7+G0U1ykCRASwQ4pTFRKK7CHamsZaXZ2LCBvPqyKgt8Mc5wvrR8z0E+cZaPA==} + peerDependencies: + antd: '>=4.23.0 || >=5.0.0' + react: '>=17.0.0' + react-dom: '>=17.0.0' + dependencies: + '@ant-design/icons': 5.1.3(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-provider': 2.13.1(antd@5.5.1)(react-dom@18.2.0)(react@18.2.0) + '@babel/runtime': 7.22.3 + antd: 5.5.1(moment@2.29.4)(react-dom@18.2.0)(react@18.2.0) + classnames: 2.3.2 + dayjs: 1.11.10 + lodash.merge: 4.6.2 + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + safe-stable-stringify: 2.4.3 + swr: 2.1.5(react@18.2.0) + + /@ant-design/react-slick@0.29.2(react@18.2.0): + resolution: {integrity: sha512-kgjtKmkGHa19FW21lHnAfyyH9AAoh35pBdcJ53rHmQ3O+cfFHGHnUbj/HFrRNJ5vIts09FKJVAD8RpaC+RaWfA==} + peerDependencies: + react: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + json2mq: 0.2.0 + lodash: 4.17.21 + react: 18.2.0 + resize-observer-polyfill: 1.5.1 + dev: true + + /@ant-design/react-slick@1.0.1(react@18.2.0): + resolution: {integrity: sha512-ARM0TmpGdDuUVE10NwUCENQlJSInNKo5NiBjL5szu5BxWNEHNwQMcDrlVCqFbkvFLy+2CvywW8Y59QJtC0YDag==} + peerDependencies: + react: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + json2mq: 0.2.0 + react: 18.2.0 + resize-observer-polyfill: 1.5.1 + throttle-debounce: 5.0.0 + + /@ant-design/use-emotion-css@1.0.4(antd@5.5.1)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-PekXeeHCpSNi6ziV62gy2Yy2MijssiVMaCJbbyOmPbeZJYQmB4FecJwlB+e2WuIbSHQdM3O9pyN4Cx3GJKxJkA==} + peerDependencies: + antd: '>=5.0.0' + react: '>=17.0.0' + react-dom: '>=17.0.0' + dependencies: + '@emotion/css': 11.11.0 + antd: 5.5.1(moment@2.29.4)(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@antfu/install-pkg@0.1.1: + resolution: {integrity: sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==} + dependencies: + execa: 5.1.1 + find-up: 5.0.0 + dev: true + + /@antfu/utils@0.7.2: + resolution: {integrity: sha512-vy9fM3pIxZmX07dL+VX1aZe7ynZ+YyB0jY+jE6r3hOK6GNY2t6W8rzpFC4tgpbXUYABkFQwgJq2XYXlxbXAI0g==} + dev: true + + /@antv/adjust@0.2.5: + resolution: {integrity: sha512-MfWZOkD9CqXRES6MBGRNe27Q577a72EIwyMnE29wIlPliFvJfWwsrONddpGU7lilMpVKecS3WAzOoip3RfPTRQ==} + dependencies: + '@antv/util': 2.0.17 + tslib: 1.14.1 + dev: false + + /@antv/algorithm@0.1.26: + resolution: {integrity: sha512-DVhcFSQ8YQnMNW34Mk8BSsfc61iC1sAnmcfYoXTAshYHuU50p/6b7x3QYaGctDNKWGvi1ub7mPcSY0bK+aN0qg==} + dependencies: + '@antv/util': 2.0.17 + tslib: 2.6.2 + dev: false + + /@antv/async-hook@2.2.9: + resolution: {integrity: sha512-4BUp2ZUaTi2fYL67Ltkf6eV912rYJeSBokGhd5fhhnpUkMA1LEI1mg97Pqmx3yC50VEQ+LKXZxj9ePZs80ECfw==} + dependencies: + async: 3.2.5 + dev: false + + /@antv/attr@0.3.5: + resolution: {integrity: sha512-wuj2gUo6C8Q2ASSMrVBuTcb5LcV+Tc0Egiy6bC42D0vxcQ+ta13CLxgMmHz8mjD0FxTPJDXSciyszRSC5TdLsg==} + dependencies: + '@antv/color-util': 2.0.6 + '@antv/scale': 0.3.18 + '@antv/util': 2.0.17 + tslib: 2.5.2 + dev: false + + /@antv/color-util@2.0.6: + resolution: {integrity: sha512-KnPEaAH+XNJMjax9U35W67nzPI+QQ2x27pYlzmSIWrbj4/k8PGrARXfzDTjwoozHJY8qG62Z+Ww6Alhu2FctXQ==} + dependencies: + '@antv/util': 2.0.17 + tslib: 2.5.2 + dev: false + + /@antv/component@0.8.35: + resolution: {integrity: sha512-VnRa5X77nBPI952o2xePEEMSNZ6g2mcUDrQY8mVL2kino/8TFhqDq5fTRmDXZyWyIYd4ulJTz5zgeSwAnX/INQ==} + dependencies: + '@antv/color-util': 2.0.6 + '@antv/dom-util': 2.0.4 + '@antv/g-base': 0.5.15 + '@antv/matrix-util': 3.1.0-beta.3 + '@antv/path-util': 2.0.15 + '@antv/scale': 0.3.18 + '@antv/util': 2.0.17 + fecha: 4.2.3 + tslib: 2.5.2 + dev: false + + /@antv/coord@0.3.1: + resolution: {integrity: sha512-rFE94C8Xzbx4xmZnHh2AnlB3Qm1n5x0VT3OROy257IH6Rm4cuzv1+tZaUBATviwZd99S+rOY9telw/+6C9GbRw==} + dependencies: + '@antv/matrix-util': 3.1.0-beta.3 + '@antv/util': 2.0.17 + tslib: 2.5.2 + dev: false + + /@antv/dom-util@2.0.4: + resolution: {integrity: sha512-2shXUl504fKwt82T3GkuT4Uoc6p9qjCKnJ8gXGLSW4T1W37dqf9AV28aCfoVPHp2BUXpSsB+PAJX2rG/jLHsLQ==} + dependencies: + tslib: 2.5.2 + dev: false + + /@antv/event-emitter@0.1.3: + resolution: {integrity: sha512-4ddpsiHN9Pd4UIlWuKVK1C4IiZIdbwQvy9i7DUSI3xNJ89FPUFt8lxDYj8GzzfdllV0NkJTRxnG+FvLk0llidg==} + dev: false + + /@antv/g-base@0.5.15: + resolution: {integrity: sha512-QOtq50QpnKez9J75/Z8j2yZ7QDQdk8R8mVQJiHtaEO5eI7DM4ZbrsWff/Ew26JYmPWdq7nbRuARMAD4PX9uuLA==} + dependencies: + '@antv/event-emitter': 0.1.3 + '@antv/g-math': 0.1.9 + '@antv/matrix-util': 3.1.0-beta.3 + '@antv/path-util': 2.0.15 + '@antv/util': 2.0.17 + '@types/d3-timer': 2.0.3 + d3-ease: 1.0.7 + d3-interpolate: 3.0.1 + d3-timer: 1.0.10 + detect-browser: 5.3.0 + tslib: 2.5.2 + dev: false + + /@antv/g-canvas@0.5.14: + resolution: {integrity: sha512-IUGLEMIMAUYgaBMT8h3FTmYQYz7sjQkKWwh6Psqx+UPK86fySa+G8fMRrh1EqAL07jVB+GRnn6Ym+3FoFUgeFg==} + dependencies: + '@antv/g-base': 0.5.15 + '@antv/g-math': 0.1.9 + '@antv/matrix-util': 3.1.0-beta.3 + '@antv/path-util': 2.0.15 + '@antv/util': 2.0.17 + gl-matrix: 3.4.3 + tslib: 2.6.2 + dev: false + + /@antv/g-device-api@1.4.9: + resolution: {integrity: sha512-sMlDIegcakxN3C/JndgIDUkQqMsccvxmK40ZzEhgMOe4KUO8/XXfK3EDEC84qPyVAUW+lOke65YGURZmPC279w==} + dependencies: + '@antv/util': 3.3.5 + '@webgpu/types': 0.1.40 + eventemitter3: 5.0.1 + gl-matrix: 3.4.3 + tslib: 2.6.2 + dev: false + + /@antv/g-math@0.1.9: + resolution: {integrity: sha512-KHMSfPfZ5XHM1PZnG42Q2gxXfOitYveNTA7L61lR6mhZ8Y/aExsYmHqaKBsSarU0z+6WLrl9C07PQJZaw0uljQ==} + dependencies: + '@antv/util': 2.0.17 + gl-matrix: 3.4.3 + dev: false + + /@antv/g-svg@0.5.7: + resolution: {integrity: sha512-jUbWoPgr4YNsOat2Y/rGAouNQYGpw4R0cvlN0YafwOyacFFYy2zC8RslNd6KkPhhR3XHNSqJOuCYZj/YmLUwYw==} + dependencies: + '@antv/g-base': 0.5.15 + '@antv/g-math': 0.1.9 + '@antv/util': 2.0.17 + detect-browser: 5.3.0 + tslib: 2.6.2 + dev: false + + /@antv/g-webgpu-core@0.5.6: + resolution: {integrity: sha512-DPiH3GkAUiT0Q+LAKeImpI+IOQ/gP2w6HstYKivpFIpBPIvZ/9equM3icVrn1iDfDkZANVXQ1PppcO3xBv1ZTw==} + dependencies: + eventemitter3: 4.0.7 + gl-matrix: 3.4.3 + inversify: 5.1.1 + inversify-inject-decorators: 3.1.0 + probe.gl: 3.6.0 + reflect-metadata: 0.1.14 + dev: false + + /@antv/g-webgpu-core@0.7.2: + resolution: {integrity: sha512-xUMmop7f3Rs34zFYKXLqHhDR1CQTeDl/7vI7Sn3X/73BqJc3X3HIIRvm83Fg2CjVACaOzw4WeLRXNaOCp9fz9w==} + dependencies: + eventemitter3: 4.0.7 + gl-matrix: 3.4.3 + lodash: 4.17.21 + probe.gl: 3.6.0 + dev: false + + /@antv/g-webgpu-engine@0.5.6: + resolution: {integrity: sha512-D311qYUefdEFwLayutIHqucrAY3cAGH3BdnXS37nq+0nsglrHcNP0Ab1YTinn9RihLoY3yXFTLzrYkJHJbZXDg==} + dependencies: + '@antv/g-webgpu-core': 0.5.6 + '@webgpu/glslang': 0.0.15 + '@webgpu/types': 0.0.31 + gl-matrix: 3.4.3 + hammerjs: 2.0.8 + inversify: 5.1.1 + inversify-inject-decorators: 3.1.0 + probe.gl: 3.6.0 + reflect-metadata: 0.1.14 + regl: 1.7.0 + dev: false + + /@antv/g-webgpu-engine@0.7.2: + resolution: {integrity: sha512-lx8Y93IW2cnJvdoDRKyMmTdYqSC1pOmF0nyG3PGGyA0NI9vBYVgO0KTF6hkyWjdTWVq7XDZyf/h8CJridLh3lg==} + dependencies: + '@antv/g-webgpu-core': 0.7.2 + gl-matrix: 3.4.3 + lodash: 4.17.21 + regl: 1.7.0 + dev: false + + /@antv/g-webgpu@0.5.5: + resolution: {integrity: sha512-TxtBniINFq1jFGEPo46xjJfrbJbUqkFd5wmsRs3tcg/7J7xoldOP1kEadpI3AJG9knMYdE92VpILw1VPd6DgzQ==} + dependencies: + '@antv/g-webgpu-core': 0.5.6 + '@antv/g-webgpu-engine': 0.5.6 + '@webgpu/types': 0.0.31 + gl-matrix: 3.4.3 + gl-vec2: 1.3.0 + hammerjs: 2.0.8 + inversify: 5.1.1 + inversify-inject-decorators: 3.1.0 + polyline-miter-util: 1.0.1 + polyline-normals: 2.0.2 + probe.gl: 3.6.0 + reflect-metadata: 0.1.14 + dev: false + + /@antv/g-webgpu@0.7.2: + resolution: {integrity: sha512-kw+oYGsdvj5qeUfy5DPb/jztZBV+2fmqBd3Vv8NlKatfBmv8AirYX/CCW74AUSdWm99rEiLyxFB1VdRZ6b/wnQ==} + dependencies: + '@antv/g-webgpu-core': 0.7.2 + '@antv/g-webgpu-engine': 0.7.2 + gl-matrix: 3.4.3 + gl-vec2: 1.3.0 + lodash: 4.17.21 + dev: false + + /@antv/g2@4.2.10: + resolution: {integrity: sha512-/ZlJ/DFJBCvtEQgE6roxdd6sBml0fZ8ZVfzG+HdjGpA7/ceURb8XkxUcqa0E8NV+e4sFijnaAhBCdUm2whiuyA==} + dependencies: + '@antv/adjust': 0.2.5 + '@antv/attr': 0.3.5 + '@antv/color-util': 2.0.6 + '@antv/component': 0.8.35 + '@antv/coord': 0.3.1 + '@antv/dom-util': 2.0.4 + '@antv/event-emitter': 0.1.3 + '@antv/g-base': 0.5.15 + '@antv/g-canvas': 0.5.14 + '@antv/g-svg': 0.5.7 + '@antv/matrix-util': 3.1.0-beta.3 + '@antv/path-util': 2.0.15 + '@antv/scale': 0.3.18 + '@antv/util': 2.0.17 + tslib: 2.5.2 + dev: false + + /@antv/g2plot@2.4.31: + resolution: {integrity: sha512-SlWHYVsJgRN7E1Oe5Qk6yWBrSWmctmloknFmklaqe9vEeK+YB9ZLUffZvtAHT10mA2NZ+VjGUhlnMNgR9M1PQg==} + dependencies: + '@antv/color-util': 2.0.6 + '@antv/event-emitter': 0.1.3 + '@antv/g-base': 0.5.15 + '@antv/g2': 4.2.10 + '@antv/matrix-util': 3.1.0-beta.3 + '@antv/path-util': 3.0.1 + '@antv/scale': 0.3.18 + '@antv/util': 2.0.17 + d3-hierarchy: 2.0.0 + d3-regression: 1.3.10 + fmin: 0.0.2 + pdfast: 0.2.0 + size-sensor: 1.0.2 + tslib: 2.5.2 + dev: false + + /@antv/g6-core@0.8.24: + resolution: {integrity: sha512-rgI3dArAD8uoSz2+skS4ctN4x/Of33ivTIKaEYYvClxgkLZWVz9zvocy+5AWcVPBHZsAXkZcdh9zndIoWY/33A==} + dependencies: + '@antv/algorithm': 0.1.26 + '@antv/dom-util': 2.0.4 + '@antv/event-emitter': 0.1.3 + '@antv/g-base': 0.5.15 + '@antv/g-math': 0.1.9 + '@antv/matrix-util': 3.1.0-beta.3 + '@antv/path-util': 2.0.15 + '@antv/util': 2.0.17 + ml-matrix: 6.11.0 + tslib: 2.6.2 + dev: false + + /@antv/g6-element@0.8.24(@antv/g6@4.8.24): + resolution: {integrity: sha512-61FXkt9LY+6EOUtSam1iFTOW2AM59sPVcV1BuPj4dXiD0dluLE+R7d8B/94g1tKDw9tsjhfUQGC7hTXscJRJFw==} + peerDependencies: + '@antv/g6': 4.8.24 + dependencies: + '@antv/g-base': 0.5.15 + '@antv/g6': 4.8.24 + '@antv/g6-core': 0.8.24 + '@antv/util': 2.0.17 + tslib: 2.6.2 + dev: false + + /@antv/g6-pc@0.8.24(@antv/g6@4.8.24): + resolution: {integrity: sha512-nf0y1lrp8J5DotqRryXd2S/J30COW8spVcLF9gUqywGqQAHfE00Ywkqr+PZBnsfCZXsXCi9o0+CE9NrkWs4SBQ==} + dependencies: + '@ant-design/colors': 4.0.5 + '@antv/algorithm': 0.1.26 + '@antv/dom-util': 2.0.4 + '@antv/event-emitter': 0.1.3 + '@antv/g-base': 0.5.15 + '@antv/g-canvas': 0.5.14 + '@antv/g-math': 0.1.9 + '@antv/g-svg': 0.5.7 + '@antv/g6-core': 0.8.24 + '@antv/g6-element': 0.8.24(@antv/g6@4.8.24) + '@antv/g6-plugin': 0.8.24(@antv/g6@4.8.24) + '@antv/hierarchy': 0.6.11 + '@antv/layout': 0.3.25(dagre@0.8.5) + '@antv/matrix-util': 3.1.0-beta.3 + '@antv/path-util': 2.0.15 + '@antv/util': 2.0.17 + color: 3.2.1 + d3-force: 2.1.1 + dagre: 0.8.5 + insert-css: 2.0.0 + ml-matrix: 6.11.0 + tslib: 2.6.2 + transitivePeerDependencies: + - '@antv/g6' + dev: false + + /@antv/g6-plugin@0.8.24(@antv/g6@4.8.24): + resolution: {integrity: sha512-ZIOnwLTC7SM2bFiJZ3vYFWnkyOCWKqnU96i/fBh1qAoY5slDS3hatenZWEXUtOcqaKw1h+5A5f72MRXqBBVn0g==} + peerDependencies: + '@antv/g6': 4.8.24 + dependencies: + '@antv/dom-util': 2.0.4 + '@antv/g-base': 0.5.15 + '@antv/g-canvas': 0.5.14 + '@antv/g-svg': 0.5.7 + '@antv/g6': 4.8.24 + '@antv/g6-core': 0.8.24 + '@antv/g6-element': 0.8.24(@antv/g6@4.8.24) + '@antv/matrix-util': 3.1.0-beta.3 + '@antv/path-util': 2.0.15 + '@antv/scale': 0.3.18 + '@antv/util': 2.0.17 + insert-css: 2.0.0 + dev: false + + /@antv/g6@4.8.24: + resolution: {integrity: sha512-bgj7sZ+z45JmOngIpYpwmSIg7SboMLZBoAlX0+RoAETZB3/xvZO0MXT3lCSyAhIgm5Sb68pekKi7OStuo04NyQ==} + dependencies: + '@antv/g6-pc': 0.8.24(@antv/g6@4.8.24) + dev: false + + /@antv/graphlib@1.2.0: + resolution: {integrity: sha512-hhJOMThec51nU4Fe5p/viLlNIL71uDEgYFzKPajWjr2715SFG1HAgiP6AVylIeqBcAZ04u3Lw7usjl/TuI5RuQ==} + dev: false + + /@antv/hierarchy@0.6.11: + resolution: {integrity: sha512-RJVhEMCuu4vj+Dt25lXIiNdd7jaqm/fqWGYikiELha4S5tnzdJoTUaUvvpfWlxLx4B0RsS9XRwBs1bOKN71TKg==} + dependencies: + '@antv/util': 2.0.17 + dev: false + + /@antv/l7-component@2.20.8: + resolution: {integrity: sha512-3pLKnkBYuVmUuDsTkWedLpnMLkATYa/C507pBoxlE6befnpfpX50FzbK1IzFsnD0sRUoz+9W/naStQi9vKe5kw==} + dependencies: + '@antv/l7-core': 2.20.8 + '@antv/l7-utils': 2.20.8 + '@babel/runtime': 7.22.3 + eventemitter3: 4.0.7 + inversify: 5.1.1 + reflect-metadata: 0.2.1 + supercluster: 7.1.5 + dev: false + + /@antv/l7-core@2.20.8: + resolution: {integrity: sha512-5y7BeU65KLi/2e1KFaCrZRiyPd23XhhZSoxvVzmbL8JF2vImw8SClH0RDkOed/ZVm9Kor45IoAEWu1wdqJl7Zg==} + dependencies: + '@antv/async-hook': 2.2.9 + '@antv/l7-utils': 2.20.8 + '@babel/runtime': 7.22.3 + '@mapbox/tiny-sdf': 1.2.5 + '@turf/helpers': 6.5.0 + ajv: 6.12.6 + element-resize-event: 3.0.6 + eventemitter3: 4.0.7 + gl-matrix: 3.4.3 + hammerjs: 2.0.8 + inversify: 5.1.1 + inversify-inject-decorators: 3.1.0 + reflect-metadata: 0.2.1 + viewport-mercator-project: 6.2.3 + dev: false + + /@antv/l7-layers@2.20.8: + resolution: {integrity: sha512-023c3lgSHvb/UXZgrBuInTPVDtCIwB1JklsfFxcB7yRK56BHnX+u9PL5ayGQ+2aEWHrfEPRm6Udsgie7JP0vig==} + dependencies: + '@antv/async-hook': 2.2.9 + '@antv/l7-core': 2.20.8 + '@antv/l7-maps': 2.20.8 + '@antv/l7-source': 2.20.8 + '@antv/l7-utils': 2.20.8 + '@babel/runtime': 7.22.3 + '@mapbox/martini': 0.2.0 + '@turf/clone': 6.5.0 + '@turf/helpers': 6.5.0 + '@turf/meta': 6.5.0 + '@turf/polygon-to-line': 6.5.0 + '@turf/union': 6.5.0 + d3-array: 1.2.4 + d3-color: 1.4.1 + d3-interpolate: 1.4.0 + d3-scale: 2.2.2 + earcut: 2.2.4 + eventemitter3: 4.0.7 + extrude-polyline: 1.0.6 + gl-matrix: 3.4.3 + gl-vec2: 1.3.0 + inversify: 5.1.1 + polyline-miter-util: 1.0.1 + reflect-metadata: 0.1.14 + dev: false + + /@antv/l7-map@2.20.8: + resolution: {integrity: sha512-WsFvmzwLiwWmQLidLtOnkHd0NM/ZmGyeONhlKLoulwVCmV2n9RiNrqFnrstOBgLxPMITjpDiya9HXbpNGVoNLw==} + dependencies: + '@antv/l7-utils': 2.20.8 + '@babel/runtime': 7.22.3 + '@mapbox/point-geometry': 0.1.0 + '@mapbox/unitbezier': 0.0.0 + eventemitter3: 4.0.7 + gl-matrix: 3.4.3 + lodash-es: 4.17.21 + dev: false + + /@antv/l7-maps@2.20.8: + resolution: {integrity: sha512-P56Fba3c31Tn3nwUPk6rmo5B1MUPg1z/2yXfN7fWDNDMLNYDNRUuqTNMnG1OMTqswmAslMuvGV5Rw6+vbCJWfQ==} + dependencies: + '@amap/amap-jsapi-loader': 1.0.1 + '@antv/l7-core': 2.20.8 + '@antv/l7-map': 2.20.8 + '@antv/l7-utils': 2.20.8 + '@babel/runtime': 7.22.3 + gl-matrix: 3.4.3 + inversify: 5.1.1 + mapbox-gl: 1.13.3 + maplibre-gl: 3.6.2 + reflect-metadata: 0.2.1 + viewport-mercator-project: 6.2.3 + dev: false + + /@antv/l7-renderer@2.20.8: + resolution: {integrity: sha512-HvuqnjgwOuA2DJH1kcnSXPHSPhE3lpvCnUShXxUqFU2/Md7EqfkMJab7M5cpjEBO7FXNrLPTo5nqTOfous+51g==} + dependencies: + '@antv/g-device-api': 1.4.9 + '@antv/l7-core': 2.20.8 + '@antv/l7-utils': 2.20.8 + '@babel/runtime': 7.22.3 + inversify: 5.1.1 + reflect-metadata: 0.2.1 + regl: 1.6.1 + dev: false + + /@antv/l7-scene@2.20.8: + resolution: {integrity: sha512-n8OM1rNOav4KAaur4/uvaevgHR/qDuvpG/ccDophsX00rauwDBAZuarwKohhqJzqNSNvuPRNXVwRQZB/cRX+sg==} + dependencies: + '@antv/l7-component': 2.20.8 + '@antv/l7-core': 2.20.8 + '@antv/l7-layers': 2.20.8 + '@antv/l7-maps': 2.20.8 + '@antv/l7-renderer': 2.20.8 + '@antv/l7-utils': 2.20.8 + '@babel/runtime': 7.22.3 + eventemitter3: 4.0.7 + inversify: 5.1.1 + mapbox-gl: 1.13.3 + reflect-metadata: 0.1.14 + dev: false + + /@antv/l7-source@2.20.8: + resolution: {integrity: sha512-p8F0I7SzQWE1HuakwHvcc+48xFKrWwt2d/+GC33YUTDImGmSrMzGPGmjtBuYnbgc4P4f7bp4PcXnI1O/ee3KAg==} + dependencies: + '@antv/async-hook': 2.2.9 + '@antv/l7-core': 2.20.8 + '@antv/l7-utils': 2.20.8 + '@babel/runtime': 7.22.3 + '@mapbox/geojson-rewind': 0.5.2 + '@mapbox/vector-tile': 1.3.1 + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + '@turf/meta': 6.5.0 + d3-dsv: 1.2.0 + d3-hexbin: 0.2.2 + eventemitter3: 4.0.7 + geojson-vt: 3.2.1 + inversify: 5.1.1 + pbf: 3.2.1 + reflect-metadata: 0.2.1 + supercluster: 7.1.5 + dev: false + + /@antv/l7-utils@2.20.8: + resolution: {integrity: sha512-aUYEkD22KQcsDToTFRdv153u5WQEHhiDoQQEDECeIK0e2XmRyxeU5rg4WZSKosd5BHPTxPbmiUEWZgm+4SNFZg==} + dependencies: + '@babel/runtime': 7.22.3 + '@turf/bbox': 6.5.0 + '@turf/bbox-polygon': 6.5.0 + '@turf/helpers': 6.5.0 + d3-color: 1.4.1 + earcut: 2.2.4 + eventemitter3: 4.0.7 + gl-matrix: 3.4.3 + lodash: 4.17.21 + web-worker-helper: 0.0.3 + dev: false + + /@antv/l7@2.20.8: + resolution: {integrity: sha512-Q5hQQGGiiw4eJzZ0RPD+lFFE3/LZQJZHdp2Ofxv6n1W79i28TPr5I1j4pcySzVCZZRDbXLWuDKLGhPbdRSCoWg==} + dependencies: + '@antv/l7-component': 2.20.8 + '@antv/l7-core': 2.20.8 + '@antv/l7-layers': 2.20.8 + '@antv/l7-maps': 2.20.8 + '@antv/l7-scene': 2.20.8 + '@antv/l7-source': 2.20.8 + '@antv/l7-utils': 2.20.8 + '@babel/runtime': 7.22.3 + webpack-bundle-analyzer: 4.10.1 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: false + + /@antv/l7plot-component@0.0.10: + resolution: {integrity: sha512-jnlg2Qm4tcUUuei+7fVk/HwRqhgxWnfdawOdB3C2u7YJqhkpk2mb7FPY+KGeZd+pqEQcAJTFi/1NeKpnZcP8kg==} + dependencies: + '@antv/dom-util': 2.0.4 + '@antv/util': 2.0.17 + dev: false + + /@antv/l7plot@0.5.7(@antv/l7@2.20.8): + resolution: {integrity: sha512-ujsrpH2DH2cvEUqyuZdI7w/jPs0PXiGKK87BjMrszIxh3VZ5vEEaF09OVQUqpCLPE7lB/JvJVYZw//iBPqbHTg==} + peerDependencies: + '@antv/l7': ^2.11.5 + dependencies: + '@antv/event-emitter': 0.1.3 + '@antv/l7': 2.20.8 + '@antv/l7plot-component': 0.0.10 + '@antv/util': 2.0.17 + lodash-es: 4.17.21 + topojson-client: 3.1.0 + dev: false + + /@antv/layout@0.1.31: + resolution: {integrity: sha512-iz9i19dOJGiZr5xBWI5sfG+2K3QVMNAGOBrbjWKH2RGLvGpf2TSFySidhz0siDrcQA46cDsjLmGstezQdgeGzA==} + dependencies: + '@antv/g-webgpu': 0.5.5 + '@dagrejs/graphlib': 2.1.4 + d3-force: 2.1.1 + ml-matrix: 6.11.0 + dev: false + + /@antv/layout@0.3.25(dagre@0.8.5): + resolution: {integrity: sha512-d29Aw1PXoAavMRZy7iTB9L5rMBeChFEX0BJ9ELP4TI35ySdCu07YbmPo9ju9OH/6sG2/NB3o85Ayxrre3iwX/g==} + dependencies: + '@antv/g-webgpu': 0.7.2 + '@antv/graphlib': 1.2.0 + '@antv/util': 3.3.5 + d3-force: 2.1.1 + d3-quadtree: 2.0.0 + dagre-compound: 0.0.11(dagre@0.8.5) + ml-matrix: 6.5.0 + transitivePeerDependencies: + - dagre + dev: false + + /@antv/matrix-util@3.0.4: + resolution: {integrity: sha512-BAPyu6dUliHcQ7fm9hZSGKqkwcjEDVLVAstlHULLvcMZvANHeLXgHEgV7JqcAV/GIhIz8aZChIlzM1ZboiXpYQ==} + dependencies: + '@antv/util': 2.0.17 + gl-matrix: 3.4.3 + tslib: 2.6.2 + dev: false + + /@antv/matrix-util@3.1.0-beta.3: + resolution: {integrity: sha512-W2R6Za3A6CmG51Y/4jZUM/tFgYSq7vTqJL1VD9dKrvwxS4sE0ZcXINtkp55CdyBwJ6Cwm8pfoRpnD4FnHahN0A==} + dependencies: + '@antv/util': 2.0.17 + gl-matrix: 3.4.3 + tslib: 2.5.2 + dev: false + + /@antv/path-util@2.0.15: + resolution: {integrity: sha512-R2VLZ5C8PLPtr3VciNyxtjKqJ0XlANzpFb5sE9GE61UQqSRuSVSzIakMxjEPrpqbgc+s+y8i+fmc89Snu7qbNw==} + dependencies: + '@antv/matrix-util': 3.0.4 + '@antv/util': 2.0.17 + tslib: 2.6.2 + dev: false + + /@antv/path-util@3.0.1: + resolution: {integrity: sha512-tpvAzMpF9Qm6ik2YSMqICNU5tco5POOW7S4XoxZAI/B0L26adU+Md/SmO0BBo2SpuywKvzPH3hPT3xmoyhr04Q==} + dependencies: + gl-matrix: 3.4.3 + lodash-es: 4.17.21 + tslib: 2.5.2 + dev: false + + /@antv/scale@0.3.18: + resolution: {integrity: sha512-GHwE6Lo7S/Q5fgaLPaCsW+CH+3zl4aXpnN1skOiEY0Ue9/u+s2EySv6aDXYkAqs//i0uilMDD/0/4n8caX9U9w==} + dependencies: + '@antv/util': 2.0.17 + fecha: 4.2.3 + tslib: 2.5.2 + dev: false + + /@antv/util@2.0.17: + resolution: {integrity: sha512-o6I9hi5CIUvLGDhth0RxNSFDRwXeywmt6ExR4+RmVAzIi48ps6HUy+svxOCayvrPBN37uE6TAc2KDofRo0nK9Q==} + dependencies: + csstype: 3.1.2 + tslib: 2.5.2 + dev: false + + /@antv/util@3.3.5: + resolution: {integrity: sha512-bVv1loamL/MgUEN9dNt7VKAsghO4Wgb+kzr8B9TgkM5tHgKk++xiTwi3pejIdgU8DDkzcyaRsO+VTOXJt8jLng==} + dependencies: + fast-deep-equal: 3.1.3 + flru: 1.0.2 + gl-matrix: 3.4.3 + tslib: 2.6.2 + dev: false + + /@antv/x6-react-components@1.1.20(antd@5.5.1)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-HpQqjPCUo+jfcbfW2sr9oxuXMCxWnXxWvE8jXKJzvrlMNZ3kgfxNqMCRxwGi2QTCxLB3g/KYi5/n8kze8ui1/Q==} + peerDependencies: + antd: '>=4.4.2 || >=5.0.0-beta.0' + react: '>=16.8.6 || >=17.0.0' + react-dom: '>=16.8.6 || >=17.0.0' + dependencies: + antd: 5.5.1(moment@2.29.4)(react-dom@18.2.0)(react@18.2.0) + clamp: 1.0.1 + classnames: 2.3.2 + rc-dropdown: 3.6.2(react-dom@18.2.0)(react@18.2.0) + rc-util: 4.21.1 + react: 18.2.0 + react-color: 2.17.1(react@18.2.0) + react-dom: 18.2.0(react@18.2.0) + react-resize-detector: 7.1.2(react-dom@18.2.0)(react@18.2.0) + ua-parser-js: 0.7.35 + dev: false + + /@antv/x6-react-shape@1.6.5(@antv/x6@1.35.0)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-wdZWGluEuo1K9QIk0MSndiEcFtpHrMz6HlvswPQJhwxCiiEdC8q5eiP0zgPdfD1SjI3N3DUa8g2B93vrUJxQxw==} + peerDependencies: + '@antv/x6': ^1.x + react: '>=16.8.6 || >=17.0.0' + react-dom: '>=16.8.6 || >=17.0.0' + dependencies: + '@antv/x6': 1.35.0 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@antv/x6@1.35.0: + resolution: {integrity: sha512-OwpGQelMc/zEOfJwaAvkJQ88JYEbyGKYOjI5RhHXTvGj5NTkZgOnNTzVx0RzcZRfUGgjZ7YPYprSKsxa9+/gfw==} + dependencies: + csstype: 3.1.2 + jquery: 3.7.1 + jquery-mousewheel: 3.1.13 + lodash-es: 4.17.21 + mousetrap: 1.6.5 + utility-types: 3.10.0 + dev: false + + /@antv/xflow-core@1.1.52(@ant-design/icons@4.8.0)(@antv/x6-react-components@1.1.20)(@antv/x6-react-shape@1.6.5)(@antv/x6@1.35.0)(antd@5.5.1)(lodash@4.17.21)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-62CZeOLMXvDpKOqbq/8zoDt7MUjOkGh9dKBDbxL744UgZCN5Fx4SE+qRhK5purGixTq35XzZ+b9G5wdAX4rLjw==} + peerDependencies: + '@ant-design/icons': ^4.6.0 + '@antv/x6': ^1.30.1 + '@antv/x6-react-components': ^1.1.15 + '@antv/x6-react-shape': ^1.2.5 + antd: ^4.6.3 + lodash: ^4.17.20 + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + dependencies: + '@ant-design/icons': 4.8.0(react-dom@18.2.0)(react@18.2.0) + '@antv/x6': 1.35.0 + '@antv/x6-react-components': 1.1.20(antd@5.5.1)(react-dom@18.2.0)(react@18.2.0) + '@antv/x6-react-shape': 1.6.5(@antv/x6@1.35.0)(react-dom@18.2.0)(react@18.2.0) + '@antv/xflow-hook': 1.0.52 + antd: 5.5.1(moment@2.29.4)(react-dom@18.2.0)(react@18.2.0) + classnames: 2.3.2 + immer: 9.0.21 + lodash: 4.17.21 + mana-common: 0.3.2 + mana-syringe: 0.2.2 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + reflect-metadata: 0.1.14 + rxjs: 6.6.7 + dev: false + + /@antv/xflow-extension@1.1.52(@ant-design/icons@4.8.0)(@antv/x6-react-components@1.1.20)(@antv/x6-react-shape@1.6.5)(@antv/x6@1.35.0)(antd@5.5.1)(classnames@2.3.2)(lodash@4.17.21)(react-dom@18.2.0)(react@18.2.0)(reflect-metadata@0.1.14): + resolution: {integrity: sha512-pPpx00xwucAkl5+QyxxWiOaRpKGnu0Z1+IDUEYuDvEKxms7+Ml0nDc4+CnDi1e1wr4hB3QgxgLOb0JpUTgBCfg==} + peerDependencies: + '@ant-design/icons': ^4.6.0 + '@antv/x6': ^1.30.1 + '@antv/x6-react-components': ^1.1.15 + '@antv/x6-react-shape': ^1.2.5 + antd: ^4.6.3 + classnames: ^2.2.6 + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + reflect-metadata: ^0.1.13 + dependencies: + '@ant-design/icons': 4.8.0(react-dom@18.2.0)(react@18.2.0) + '@antv/x6': 1.35.0 + '@antv/x6-react-components': 1.1.20(antd@5.5.1)(react-dom@18.2.0)(react@18.2.0) + '@antv/x6-react-shape': 1.6.5(@antv/x6@1.35.0)(react-dom@18.2.0)(react@18.2.0) + '@antv/xflow-core': 1.1.52(@ant-design/icons@4.8.0)(@antv/x6-react-components@1.1.20)(@antv/x6-react-shape@1.6.5)(@antv/x6@1.35.0)(antd@5.5.1)(lodash@4.17.21)(react-dom@18.2.0)(react@18.2.0) + '@antv/xflow-hook': 1.0.52 + antd: 5.5.1(moment@2.29.4)(react-dom@18.2.0)(react@18.2.0) + classnames: 2.3.2 + mana-syringe: 0.2.2 + moment: 2.29.4 + rc-field-form: 1.32.0(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-color: 2.17.1(react@18.2.0) + react-dom: 18.2.0(react@18.2.0) + reflect-metadata: 0.1.14 + transitivePeerDependencies: + - lodash + dev: false + + /@antv/xflow-hook@1.0.52: + resolution: {integrity: sha512-qyheVO5bwhDjKGSldf3pkneowf8ZCydIIrX4n8LRTFpvVhVF9cPoXG9e6+1LhIFvSEaLAJcYBH4gNqAjRrbUYw==} + dependencies: + toposort: 2.0.2 + dev: false + + /@antv/xflow-hook@1.1.52: + resolution: {integrity: sha512-wQfJgCxZG/PYH4DhpcfOi8Js0gHlVmTMHYVJ4DZMvGPcuhEhic0vOtyd9cie0YPzWPufw6lBKtn3/0FY3yHapg==} + dependencies: + toposort: 2.0.2 + dev: false + + /@antv/xflow@1.1.52(@ant-design/icons@4.8.0)(antd@5.5.1)(classnames@2.3.2)(lodash@4.17.21)(react-dom@18.2.0)(react@18.2.0)(reflect-metadata@0.1.14): + resolution: {integrity: sha512-B2IApV4vG2DmMubbfXGjE+oKi2eXvPuijdHhbxwQheIWcm+VtVQscaFvwUexb4CHH5tBSnjtUeKrhRIkXop70w==} + peerDependencies: + '@ant-design/icons': ^4.6.0 + antd: ^4.6.3 + lodash: ^4.17.20 + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + dependencies: + '@ant-design/icons': 4.8.0(react-dom@18.2.0)(react@18.2.0) + '@antv/layout': 0.1.31 + '@antv/x6': 1.35.0 + '@antv/x6-react-components': 1.1.20(antd@5.5.1)(react-dom@18.2.0)(react@18.2.0) + '@antv/x6-react-shape': 1.6.5(@antv/x6@1.35.0)(react-dom@18.2.0)(react@18.2.0) + '@antv/xflow-core': 1.1.52(@ant-design/icons@4.8.0)(@antv/x6-react-components@1.1.20)(@antv/x6-react-shape@1.6.5)(@antv/x6@1.35.0)(antd@5.5.1)(lodash@4.17.21)(react-dom@18.2.0)(react@18.2.0) + '@antv/xflow-extension': 1.1.52(@ant-design/icons@4.8.0)(@antv/x6-react-components@1.1.20)(@antv/x6-react-shape@1.6.5)(@antv/x6@1.35.0)(antd@5.5.1)(classnames@2.3.2)(lodash@4.17.21)(react-dom@18.2.0)(react@18.2.0)(reflect-metadata@0.1.14) + '@antv/xflow-hook': 1.1.52 + antd: 5.5.1(moment@2.29.4)(react-dom@18.2.0)(react@18.2.0) + lodash: 4.17.21 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + transitivePeerDependencies: + - classnames + - reflect-metadata + dev: false + + /@babel/cli@7.21.5(@babel/core@7.22.1): + resolution: {integrity: sha512-TOKytQ9uQW9c4np8F+P7ZfPINy5Kv+pizDIUwSVH8X5zHgYHV4AA8HE5LA450xXeu4jEfmUckTYvv1I4S26M/g==} + engines: {node: '>=6.9.0'} + hasBin: true + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@jridgewell/trace-mapping': 0.3.18 + commander: 4.1.1 + convert-source-map: 1.9.0 + fs-readdir-recursive: 1.1.0 + glob: 7.2.3 + make-dir: 2.1.0 + slash: 2.0.0 + optionalDependencies: + '@nicolo-ribaudo/chokidar-2': 2.1.8-no-fsevents.3 + chokidar: 3.5.3 + dev: true + + /@babel/code-frame@7.12.11: + resolution: {integrity: sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==} + dependencies: + '@babel/highlight': 7.18.6 + dev: true + + /@babel/code-frame@7.21.4: + resolution: {integrity: sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.18.6 + + /@babel/compat-data@7.22.3: + resolution: {integrity: sha512-aNtko9OPOwVESUFp3MZfD8Uzxl7JzSeJpd7npIoxCasU37PFbAQRpKglkaKwlHOyeJdrREpo8TW8ldrkYWwvIQ==} + engines: {node: '>=6.9.0'} + + /@babel/core@7.21.0: + resolution: {integrity: sha512-PuxUbxcW6ZYe656yL3EAhpy7qXKq0DmYsrJLpbB8XrsCP9Nm+XCg9XFMb5vIDliPD7+U/+M+QJlH17XOcB7eXA==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.1 + '@babel/code-frame': 7.21.4 + '@babel/generator': 7.22.3 + '@babel/helper-compilation-targets': 7.22.1(@babel/core@7.21.0) + '@babel/helper-module-transforms': 7.22.1 + '@babel/helpers': 7.22.3 + '@babel/parser': 7.22.3 + '@babel/template': 7.21.9 + '@babel/traverse': 7.22.1(supports-color@5.5.0) + '@babel/types': 7.22.3 + convert-source-map: 1.9.0 + debug: 4.3.4(supports-color@5.5.0) + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/core@7.22.1: + resolution: {integrity: sha512-Hkqu7J4ynysSXxmAahpN1jjRwVJ+NdpraFLIWflgjpVob3KNyK3/tIUc7Q7szed8WMp0JNa7Qtd1E9Oo22F9gA==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.1 + '@babel/code-frame': 7.21.4 + '@babel/generator': 7.22.3 + '@babel/helper-compilation-targets': 7.22.1(@babel/core@7.22.1) + '@babel/helper-module-transforms': 7.22.1 + '@babel/helpers': 7.22.3 + '@babel/parser': 7.22.3 + '@babel/template': 7.21.9 + '@babel/traverse': 7.22.1(supports-color@5.5.0) + '@babel/types': 7.22.3 + convert-source-map: 1.9.0 + debug: 4.3.4(supports-color@5.5.0) + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + + /@babel/eslint-parser@7.19.1(@babel/core@7.21.0)(eslint@8.35.0): + resolution: {integrity: sha512-AqNf2QWt1rtu2/1rLswy6CDP7H9Oh3mMhk177Y67Rg8d7RD9WfOLLv8CGn6tisFvS2htm86yIe1yLF6I1UDaGQ==} + engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} + peerDependencies: + '@babel/core': '>=7.11.0' + eslint: ^7.5.0 || ^8.0.0 + dependencies: + '@babel/core': 7.21.0 + '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 + eslint: 8.35.0 + eslint-visitor-keys: 2.1.0 + semver: 6.3.0 + dev: true + + /@babel/eslint-parser@7.19.1(@babel/core@7.21.0)(eslint@8.41.0): + resolution: {integrity: sha512-AqNf2QWt1rtu2/1rLswy6CDP7H9Oh3mMhk177Y67Rg8d7RD9WfOLLv8CGn6tisFvS2htm86yIe1yLF6I1UDaGQ==} + engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} + peerDependencies: + '@babel/core': '>=7.11.0' + eslint: ^7.5.0 || ^8.0.0 + dependencies: + '@babel/core': 7.21.0 + '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 + eslint: 8.41.0 + eslint-visitor-keys: 2.1.0 + semver: 6.3.0 + dev: true + + /@babel/eslint-parser@7.21.8(@babel/core@7.22.1)(eslint@7.32.0): + resolution: {integrity: sha512-HLhI+2q+BP3sf78mFUZNCGc10KEmoUqtUT1OCdMZsN+qr4qFeLUod62/zAnF3jNQstwyasDkZnVXwfK2Bml7MQ==} + engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} + peerDependencies: + '@babel/core': '>=7.11.0' + eslint: ^7.5.0 || ^8.0.0 + dependencies: + '@babel/core': 7.22.1 + '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 + eslint: 7.32.0 + eslint-visitor-keys: 2.1.0 + semver: 6.3.0 + dev: true + + /@babel/generator@7.22.3: + resolution: {integrity: sha512-C17MW4wlk//ES/CJDL51kPNwl+qiBQyN7b9SKyVp11BLGFeSPoVaHrv+MNt8jwQFhQWowW88z1eeBx3pFz9v8A==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.3 + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.18 + jsesc: 2.5.2 + + /@babel/helper-annotate-as-pure@7.18.6: + resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.3 + dev: true + + /@babel/helper-builder-binary-assignment-operator-visitor@7.22.3: + resolution: {integrity: sha512-ahEoxgqNoYXm0k22TvOke48i1PkavGu0qGCmcq9ugi6gnmvKNaMjKBSrZTnWUi1CFEeNAUiVba0Wtzm03aSkJg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.3 + dev: true + + /@babel/helper-compilation-targets@7.22.1(@babel/core@7.21.0): + resolution: {integrity: sha512-Rqx13UM3yVB5q0D/KwQ8+SPfX/+Rnsy1Lw1k/UwOC4KC6qrzIQoY3lYnBu5EHKBlEHHcj0M0W8ltPSkD8rqfsQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/compat-data': 7.22.3 + '@babel/core': 7.21.0 + '@babel/helper-validator-option': 7.21.0 + browserslist: 4.21.6 + lru-cache: 5.1.1 + semver: 6.3.0 + dev: true + + /@babel/helper-compilation-targets@7.22.1(@babel/core@7.22.1): + resolution: {integrity: sha512-Rqx13UM3yVB5q0D/KwQ8+SPfX/+Rnsy1Lw1k/UwOC4KC6qrzIQoY3lYnBu5EHKBlEHHcj0M0W8ltPSkD8rqfsQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/compat-data': 7.22.3 + '@babel/core': 7.22.1 + '@babel/helper-validator-option': 7.21.0 + browserslist: 4.21.6 + lru-cache: 5.1.1 + semver: 6.3.0 + + /@babel/helper-create-class-features-plugin@7.22.1(@babel/core@7.22.1): + resolution: {integrity: sha512-SowrZ9BWzYFgzUMwUmowbPSGu6CXL5MSuuCkG3bejahSpSymioPmuLdhPxNOc9MjuNGjy7M/HaXvJ8G82Lywlw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-environment-visitor': 7.22.1 + '@babel/helper-function-name': 7.21.0 + '@babel/helper-member-expression-to-functions': 7.22.3 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/helper-replace-supers': 7.22.1 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + '@babel/helper-split-export-declaration': 7.18.6 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-create-regexp-features-plugin@7.22.1(@babel/core@7.22.1): + resolution: {integrity: sha512-WWjdnfR3LPIe+0EY8td7WmjhytxXtjKAEpnAxun/hkNiyOaPlvGK+NZaBFIdi9ndYV3Gav7BpFvtUwnaJlwi1w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-annotate-as-pure': 7.18.6 + regexpu-core: 5.3.2 + semver: 6.3.0 + dev: true + + /@babel/helper-define-polyfill-provider@0.4.0(@babel/core@7.22.1): + resolution: {integrity: sha512-RnanLx5ETe6aybRi1cO/edaRH+bNYWaryCEmjDDYyNr4wnSzyOp8T0dWipmqVHKEY3AbVKUom50AKSlj1zmKbg==} + peerDependencies: + '@babel/core': ^7.4.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-compilation-targets': 7.22.1(@babel/core@7.22.1) + '@babel/helper-plugin-utils': 7.21.5 + debug: 4.3.4(supports-color@5.5.0) + lodash.debounce: 4.0.8 + resolve: 1.22.2 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-environment-visitor@7.22.1: + resolution: {integrity: sha512-Z2tgopurB/kTbidvzeBrc2To3PUP/9i5MUe+fU6QJCQDyPwSH2oRapkLw3KGECDYSjhQZCNxEvNvZlLw8JjGwA==} + engines: {node: '>=6.9.0'} + + /@babel/helper-function-name@7.21.0: + resolution: {integrity: sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.21.9 + '@babel/types': 7.22.3 + + /@babel/helper-hoist-variables@7.18.6: + resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.3 + + /@babel/helper-member-expression-to-functions@7.22.3: + resolution: {integrity: sha512-Gl7sK04b/2WOb6OPVeNy9eFKeD3L6++CzL3ykPOWqTn08xgYYK0wz4TUh2feIImDXxcVW3/9WQ1NMKY66/jfZA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.3 + dev: true + + /@babel/helper-module-imports@7.21.4: + resolution: {integrity: sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.3 + + /@babel/helper-module-transforms@7.22.1: + resolution: {integrity: sha512-dxAe9E7ySDGbQdCVOY/4+UcD8M9ZFqZcZhSPsPacvCG4M+9lwtDDQfI2EoaSvmf7W/8yCBkGU0m7Pvt1ru3UZw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-environment-visitor': 7.22.1 + '@babel/helper-module-imports': 7.21.4 + '@babel/helper-simple-access': 7.21.5 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/helper-validator-identifier': 7.19.1 + '@babel/template': 7.21.9 + '@babel/traverse': 7.22.1(supports-color@5.5.0) + '@babel/types': 7.22.3 + transitivePeerDependencies: + - supports-color + + /@babel/helper-optimise-call-expression@7.18.6: + resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.3 + dev: true + + /@babel/helper-plugin-utils@7.21.5: + resolution: {integrity: sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-remap-async-to-generator@7.18.9(@babel/core@7.22.1): + resolution: {integrity: sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-environment-visitor': 7.22.1 + '@babel/helper-wrap-function': 7.20.5 + '@babel/types': 7.22.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-replace-supers@7.22.1: + resolution: {integrity: sha512-ut4qrkE4AuSfrwHSps51ekR1ZY/ygrP1tp0WFm8oVq6nzc/hvfV/22JylndIbsf2U2M9LOMwiSddr6y+78j+OQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-environment-visitor': 7.22.1 + '@babel/helper-member-expression-to-functions': 7.22.3 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/template': 7.21.9 + '@babel/traverse': 7.22.1(supports-color@5.5.0) + '@babel/types': 7.22.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helper-simple-access@7.21.5: + resolution: {integrity: sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.3 + + /@babel/helper-skip-transparent-expression-wrappers@7.20.0: + resolution: {integrity: sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.3 + dev: true + + /@babel/helper-split-export-declaration@7.18.6: + resolution: {integrity: sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.22.3 + + /@babel/helper-string-parser@7.21.5: + resolution: {integrity: sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==} + engines: {node: '>=6.9.0'} + + /@babel/helper-validator-identifier@7.19.1: + resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} + engines: {node: '>=6.9.0'} + + /@babel/helper-validator-option@7.21.0: + resolution: {integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==} + engines: {node: '>=6.9.0'} + + /@babel/helper-wrap-function@7.20.5: + resolution: {integrity: sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-function-name': 7.21.0 + '@babel/template': 7.21.9 + '@babel/traverse': 7.22.1(supports-color@5.5.0) + '@babel/types': 7.22.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/helpers@7.22.3: + resolution: {integrity: sha512-jBJ7jWblbgr7r6wYZHMdIqKc73ycaTcCaWRq4/2LpuPHcx7xMlZvpGQkOYc9HeSjn6rcx15CPlgVcBtZ4WZJ2w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.21.9 + '@babel/traverse': 7.22.1(supports-color@5.5.0) + '@babel/types': 7.22.3 + transitivePeerDependencies: + - supports-color + + /@babel/highlight@7.18.6: + resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.19.1 + chalk: 2.4.2 + js-tokens: 4.0.0 + + /@babel/parser@7.22.3: + resolution: {integrity: sha512-vrukxyW/ep8UD1UDzOYpTKQ6abgjFoeG6L+4ar9+c5TN9QnlqiOi6QK7LSR5ewm/ERyGkT/Ai6VboNrxhbr9Uw==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.22.3 + + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.18.6(@babel/core@7.22.1): + resolution: {integrity: sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.22.3(@babel/core@7.22.1): + resolution: {integrity: sha512-6r4yRwEnorYByILoDRnEqxtojYKuiIv9FojW2E8GUKo9eWBwbKcd9IiZOZpdyXc64RmyGGyPu3/uAcrz/dq2kQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + '@babel/plugin-transform-optional-chaining': 7.22.3(@babel/core@7.22.1) + dev: true + + /@babel/plugin-external-helpers@7.18.6(@babel/core@7.22.1): + resolution: {integrity: sha512-wNqc87qjLvsD1PIMQBzLn1bMuTlGzqLzM/1VGQ22Wm51cbCWS9k71ydp5iZS4hjwQNuTWSn/xbZkkusNENwtZg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.22.1): + resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-create-class-features-plugin': 7.22.1(@babel/core@7.22.1) + '@babel/helper-plugin-utils': 7.21.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-proposal-decorators@7.22.3(@babel/core@7.22.1): + resolution: {integrity: sha512-XjTKH3sHr6pPqG+hR1NCdVupwiosfdKM2oSMyKQVQ5Bym9l/p7BuLAqT5U32zZzRCfPq/TPRPzMiiTE9bOXU4w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-create-class-features-plugin': 7.22.1(@babel/core@7.22.1) + '@babel/helper-plugin-utils': 7.21.5 + '@babel/helper-replace-supers': 7.22.1 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/plugin-syntax-decorators': 7.22.3(@babel/core@7.22.1) + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.22.1): + resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.22.3 + '@babel/core': 7.22.1 + '@babel/helper-compilation-targets': 7.22.1(@babel/core@7.22.1) + '@babel/helper-plugin-utils': 7.21.5 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.1) + '@babel/plugin-transform-parameters': 7.22.3(@babel/core@7.22.1) + dev: true + + /@babel/plugin-proposal-private-property-in-object@7.21.0(@babel/core@7.22.1): + resolution: {integrity: sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-create-class-features-plugin': 7.22.1(@babel/core@7.22.1) + '@babel/helper-plugin-utils': 7.21.5 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.1) + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.22.1): + resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} + engines: {node: '>=4'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-create-regexp-features-plugin': 7.22.1(@babel/core@7.22.1) + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.22.1): + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.22.1): + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.22.1): + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.22.1): + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-decorators@7.22.3(@babel/core@7.22.1): + resolution: {integrity: sha512-R16Zuge73+8/nLcDjkIpyhi5wIbN7i7fiuLJR8yQX7vPAa/ltUKtd3iLbb4AgP5nrLi91HnNUNosELIGUGH1bg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.22.1): + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.22.1): + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-import-assertions@7.20.0(@babel/core@7.22.1): + resolution: {integrity: sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-import-attributes@7.22.3(@babel/core@7.22.1): + resolution: {integrity: sha512-i35jZJv6aO7hxEbIWQ41adVfOzjm9dcYDNeWlBMd8p0ZQRtNUCBrmGwZt+H5lb+oOC9a3svp956KP0oWGA1YsA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.22.1): + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.22.1): + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-jsx@7.21.4(@babel/core@7.22.1): + resolution: {integrity: sha512-5hewiLct5OKyh6PLKEYaFclcqtIgCb6bmELouxjF6up5q3Sov7rOayW4RwhbaBL0dit8rA80GNfY+UuDp2mBbQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.22.1): + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.22.1): + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.22.1): + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.22.1): + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.22.1): + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.22.1): + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.22.1): + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.22.1): + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-typescript@7.21.4(@babel/core@7.22.1): + resolution: {integrity: sha512-xz0D39NvhQn4t4RNsHmDnnsaQizIlUkdtYvLs8La1BlfjQ6JEwxkJGeqJMW2tAXx+q6H+WFuUTXNdYVpEya0YA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.22.1): + resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-create-regexp-features-plugin': 7.22.1(@babel/core@7.22.1) + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-arrow-functions@7.21.5(@babel/core@7.22.1): + resolution: {integrity: sha512-wb1mhwGOCaXHDTcsRYMKF9e5bbMgqwxtqa2Y1ifH96dXJPwbuLX9qHy3clhrxVqgMz7nyNXs8VkxdH8UBcjKqA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-async-generator-functions@7.22.3(@babel/core@7.22.1): + resolution: {integrity: sha512-36A4Aq48t66btydbZd5Fk0/xJqbpg/v4QWI4AH4cYHBXy9Mu42UOupZpebKFiCFNT9S9rJFcsld0gsv0ayLjtA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-environment-visitor': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.22.1) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.1) + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-async-to-generator@7.20.7(@babel/core@7.22.1): + resolution: {integrity: sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-module-imports': 7.21.4 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.22.1) + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-block-scoped-functions@7.18.6(@babel/core@7.22.1): + resolution: {integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-block-scoping@7.21.0(@babel/core@7.22.1): + resolution: {integrity: sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-class-properties@7.22.3(@babel/core@7.22.1): + resolution: {integrity: sha512-mASLsd6rhOrLZ5F3WbCxkzl67mmOnqik0zrg5W6D/X0QMW7HtvnoL1dRARLKIbMP3vXwkwziuLesPqWVGIl6Bw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-create-class-features-plugin': 7.22.1(@babel/core@7.22.1) + '@babel/helper-plugin-utils': 7.21.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-class-static-block@7.22.3(@babel/core@7.22.1): + resolution: {integrity: sha512-5BirgNWNOx7cwbTJCOmKFJ1pZjwk5MUfMIwiBBvsirCJMZeQgs5pk6i1OlkVg+1Vef5LfBahFOrdCnAWvkVKMw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.12.0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-create-class-features-plugin': 7.22.1(@babel/core@7.22.1) + '@babel/helper-plugin-utils': 7.21.5 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.1) + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-classes@7.21.0(@babel/core@7.22.1): + resolution: {integrity: sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-compilation-targets': 7.22.1(@babel/core@7.22.1) + '@babel/helper-environment-visitor': 7.22.1 + '@babel/helper-function-name': 7.21.0 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/helper-replace-supers': 7.22.1 + '@babel/helper-split-export-declaration': 7.18.6 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-computed-properties@7.21.5(@babel/core@7.22.1): + resolution: {integrity: sha512-TR653Ki3pAwxBxUe8srfF3e4Pe3FTA46uaNHYyQwIoM4oWKSoOZiDNyHJ0oIoDIUPSRQbQG7jzgVBX3FPVne1Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/template': 7.21.9 + dev: true + + /@babel/plugin-transform-destructuring@7.21.3(@babel/core@7.22.1): + resolution: {integrity: sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-dotall-regex@7.18.6(@babel/core@7.22.1): + resolution: {integrity: sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-create-regexp-features-plugin': 7.22.1(@babel/core@7.22.1) + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-duplicate-keys@7.18.9(@babel/core@7.22.1): + resolution: {integrity: sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-dynamic-import@7.22.1(@babel/core@7.22.1): + resolution: {integrity: sha512-rlhWtONnVBPdmt+jeewS0qSnMz/3yLFrqAP8hHC6EDcrYRSyuz9f9yQhHvVn2Ad6+yO9fHXac5piudeYrInxwQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.1) + dev: true + + /@babel/plugin-transform-exponentiation-operator@7.18.6(@babel/core@7.22.1): + resolution: {integrity: sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.22.3 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-export-namespace-from@7.22.3(@babel/core@7.22.1): + resolution: {integrity: sha512-5Ti1cHLTDnt3vX61P9KZ5IG09bFXp4cDVFJIAeCZuxu9OXXJJZp5iP0n/rzM2+iAutJY+KWEyyHcRaHlpQ/P5g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.1) + dev: true + + /@babel/plugin-transform-for-of@7.21.5(@babel/core@7.22.1): + resolution: {integrity: sha512-nYWpjKW/7j/I/mZkGVgHJXh4bA1sfdFnJoOXwJuj4m3Q2EraO/8ZyrkCau9P5tbHQk01RMSt6KYLCsW7730SXQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-function-name@7.18.9(@babel/core@7.22.1): + resolution: {integrity: sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-compilation-targets': 7.22.1(@babel/core@7.22.1) + '@babel/helper-function-name': 7.21.0 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-json-strings@7.22.3(@babel/core@7.22.1): + resolution: {integrity: sha512-IuvOMdeOOY2X4hRNAT6kwbePtK21BUyrAEgLKviL8pL6AEEVUVcqtRdN/HJXBLGIbt9T3ETmXRnFedRRmQNTYw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.1) + dev: true + + /@babel/plugin-transform-literals@7.18.9(@babel/core@7.22.1): + resolution: {integrity: sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-logical-assignment-operators@7.22.3(@babel/core@7.22.1): + resolution: {integrity: sha512-CbayIfOw4av2v/HYZEsH+Klks3NC2/MFIR3QR8gnpGNNPEaq2fdlVCRYG/paKs7/5hvBLQ+H70pGWOHtlNEWNA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.1) + dev: true + + /@babel/plugin-transform-member-expression-literals@7.18.6(@babel/core@7.22.1): + resolution: {integrity: sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-modules-amd@7.20.11(@babel/core@7.22.1): + resolution: {integrity: sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-module-transforms': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-modules-commonjs@7.21.2(@babel/core@7.22.1): + resolution: {integrity: sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-module-transforms': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/helper-simple-access': 7.21.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-modules-commonjs@7.21.5(@babel/core@7.22.1): + resolution: {integrity: sha512-OVryBEgKUbtqMoB7eG2rs6UFexJi6Zj6FDXx+esBLPTCxCNxAY9o+8Di7IsUGJ+AVhp5ncK0fxWUBd0/1gPhrQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-module-transforms': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/helper-simple-access': 7.21.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-modules-systemjs@7.22.3(@babel/core@7.22.1): + resolution: {integrity: sha512-V21W3bKLxO3ZjcBJZ8biSvo5gQ85uIXW2vJfh7JSWf/4SLUSr1tOoHX3ruN4+Oqa2m+BKfsxTR1I+PsvkIWvNw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-hoist-variables': 7.18.6 + '@babel/helper-module-transforms': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/helper-validator-identifier': 7.19.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-modules-umd@7.18.6(@babel/core@7.22.1): + resolution: {integrity: sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-module-transforms': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-named-capturing-groups-regex@7.22.3(@babel/core@7.22.1): + resolution: {integrity: sha512-c6HrD/LpUdNNJsISQZpds3TXvfYIAbo+efE9aWmY/PmSRD0agrJ9cPMt4BmArwUQ7ZymEWTFjTyp+yReLJZh0Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-create-regexp-features-plugin': 7.22.1(@babel/core@7.22.1) + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-new-target@7.22.3(@babel/core@7.22.1): + resolution: {integrity: sha512-5RuJdSo89wKdkRTqtM9RVVJzHum9c2s0te9rB7vZC1zKKxcioWIy+xcu4OoIAjyFZhb/bp5KkunuLin1q7Ct+w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-nullish-coalescing-operator@7.22.3(@babel/core@7.22.1): + resolution: {integrity: sha512-CpaoNp16nX7ROtLONNuCyenYdY/l7ZsR6aoVa7rW7nMWisoNoQNIH5Iay/4LDyRjKMuElMqXiBoOQCDLTMGZiw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.1) + dev: true + + /@babel/plugin-transform-numeric-separator@7.22.3(@babel/core@7.22.1): + resolution: {integrity: sha512-+AF88fPDJrnseMh5vD9+SH6wq4ZMvpiTMHh58uLs+giMEyASFVhcT3NkoyO+NebFCNnpHJEq5AXO2txV4AGPDQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.1) + dev: true + + /@babel/plugin-transform-object-rest-spread@7.22.3(@babel/core@7.22.1): + resolution: {integrity: sha512-38bzTsqMMCI46/TQnJwPPpy33EjLCc1Gsm2hRTF6zTMWnKsN61vdrpuzIEGQyKEhDSYDKyZHrrd5FMj4gcUHhw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.22.3 + '@babel/core': 7.22.1 + '@babel/helper-compilation-targets': 7.22.1(@babel/core@7.22.1) + '@babel/helper-plugin-utils': 7.21.5 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.1) + '@babel/plugin-transform-parameters': 7.22.3(@babel/core@7.22.1) + dev: true + + /@babel/plugin-transform-object-super@7.18.6(@babel/core@7.22.1): + resolution: {integrity: sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/helper-replace-supers': 7.22.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-optional-catch-binding@7.22.3(@babel/core@7.22.1): + resolution: {integrity: sha512-bnDFWXFzWY0BsOyqaoSXvMQ2F35zutQipugog/rqotL2S4ciFOKlRYUu9djt4iq09oh2/34hqfRR2k1dIvuu4g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.1) + dev: true + + /@babel/plugin-transform-optional-chaining@7.22.3(@babel/core@7.22.1): + resolution: {integrity: sha512-63v3/UFFxhPKT8j8u1jTTGVyITxl7/7AfOqK8C5gz1rHURPUGe3y5mvIf68eYKGoBNahtJnTxBKug4BQOnzeJg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.1) + dev: true + + /@babel/plugin-transform-parameters@7.22.3(@babel/core@7.22.1): + resolution: {integrity: sha512-x7QHQJHPuD9VmfpzboyGJ5aHEr9r7DsAsdxdhJiTB3J3j8dyl+NFZ+rX5Q2RWFDCs61c06qBfS4ys2QYn8UkMw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-private-methods@7.22.3(@babel/core@7.22.1): + resolution: {integrity: sha512-fC7jtjBPFqhqpPAE+O4LKwnLq7gGkD3ZmC2E3i4qWH34mH3gOg2Xrq5YMHUq6DM30xhqM1DNftiRaSqVjEG+ug==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-create-class-features-plugin': 7.22.1(@babel/core@7.22.1) + '@babel/helper-plugin-utils': 7.21.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-private-property-in-object@7.22.3(@babel/core@7.22.1): + resolution: {integrity: sha512-C7MMl4qWLpgVCbXfj3UW8rR1xeCnisQ0cU7YJHV//8oNBS0aCIVg1vFnZXxOckHhEpQyqNNkWmvSEWnMLlc+Vw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-create-class-features-plugin': 7.22.1(@babel/core@7.22.1) + '@babel/helper-plugin-utils': 7.21.5 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.1) + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-property-literals@7.18.6(@babel/core@7.22.1): + resolution: {integrity: sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-react-display-name@7.18.6(@babel/core@7.22.1): + resolution: {integrity: sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-react-jsx-development@7.18.6(@babel/core@7.22.1): + resolution: {integrity: sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/plugin-transform-react-jsx': 7.22.3(@babel/core@7.22.1) + dev: true + + /@babel/plugin-transform-react-jsx-self@7.21.0(@babel/core@7.22.1): + resolution: {integrity: sha512-f/Eq+79JEu+KUANFks9UZCcvydOOGMgF7jBrcwjHa5jTZD8JivnhCJYvmlhR/WTXBWonDExPoW0eO/CR4QJirA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-react-jsx-source@7.19.6(@babel/core@7.22.1): + resolution: {integrity: sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-react-jsx@7.22.3(@babel/core@7.22.1): + resolution: {integrity: sha512-JEulRWG2f04a7L8VWaOngWiK6p+JOSpB+DAtwfJgOaej1qdbNxqtK7MwTBHjUA10NeFcszlFNqCdbRcirzh2uQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-module-imports': 7.21.4 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/plugin-syntax-jsx': 7.21.4(@babel/core@7.22.1) + '@babel/types': 7.22.3 + dev: true + + /@babel/plugin-transform-react-pure-annotations@7.18.6(@babel/core@7.22.1): + resolution: {integrity: sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-regenerator@7.21.5(@babel/core@7.22.1): + resolution: {integrity: sha512-ZoYBKDb6LyMi5yCsByQ5jmXsHAQDDYeexT1Szvlmui+lADvfSecr5Dxd/PkrTC3pAD182Fcju1VQkB4oCp9M+w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + regenerator-transform: 0.15.1 + dev: true + + /@babel/plugin-transform-reserved-words@7.18.6(@babel/core@7.22.1): + resolution: {integrity: sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-shorthand-properties@7.18.6(@babel/core@7.22.1): + resolution: {integrity: sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-spread@7.20.7(@babel/core@7.22.1): + resolution: {integrity: sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + dev: true + + /@babel/plugin-transform-sticky-regex@7.18.6(@babel/core@7.22.1): + resolution: {integrity: sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-template-literals@7.18.9(@babel/core@7.22.1): + resolution: {integrity: sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-typeof-symbol@7.18.9(@babel/core@7.22.1): + resolution: {integrity: sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-typescript@7.22.3(@babel/core@7.22.1): + resolution: {integrity: sha512-pyjnCIniO5PNaEuGxT28h0HbMru3qCVrMqVgVOz/krComdIrY9W6FCLBq9NWHY8HDGaUlan+UhmZElDENIfCcw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-create-class-features-plugin': 7.22.1(@babel/core@7.22.1) + '@babel/helper-plugin-utils': 7.21.5 + '@babel/plugin-syntax-typescript': 7.21.4(@babel/core@7.22.1) + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/plugin-transform-unicode-escapes@7.21.5(@babel/core@7.22.1): + resolution: {integrity: sha512-LYm/gTOwZqsYohlvFUe/8Tujz75LqqVC2w+2qPHLR+WyWHGCZPN1KBpJCJn+4Bk4gOkQy/IXKIge6az5MqwlOg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-unicode-property-regex@7.22.3(@babel/core@7.22.1): + resolution: {integrity: sha512-5ScJ+OmdX+O6HRuMGW4kv7RL9vIKdtdAj9wuWUKy1wbHY3jaM/UlyIiC1G7J6UJiiyMukjjK0QwL3P0vBd0yYg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-create-regexp-features-plugin': 7.22.1(@babel/core@7.22.1) + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-unicode-regex@7.18.6(@babel/core@7.22.1): + resolution: {integrity: sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-create-regexp-features-plugin': 7.22.1(@babel/core@7.22.1) + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/plugin-transform-unicode-sets-regex@7.22.3(@babel/core@7.22.1): + resolution: {integrity: sha512-hNufLdkF8vqywRp+P55j4FHXqAX2LRUccoZHH7AFn1pq5ZOO2ISKW9w13bFZVjBoTqeve2HOgoJCcaziJVhGNw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-create-regexp-features-plugin': 7.22.1(@babel/core@7.22.1) + '@babel/helper-plugin-utils': 7.21.5 + dev: true + + /@babel/preset-env@7.22.2(@babel/core@7.22.1): + resolution: {integrity: sha512-UPNK9pgphMULvA2EMKIWHU90C47PKyuvQ8pE1MzH7l9PgFcRabdrHhlePpBuWxYZQ+TziP2nycKoI5C1Yhdm9Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.22.3 + '@babel/core': 7.22.1 + '@babel/helper-compilation-targets': 7.22.1(@babel/core@7.22.1) + '@babel/helper-plugin-utils': 7.21.5 + '@babel/helper-validator-option': 7.21.0 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6(@babel/core@7.22.1) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.22.3(@babel/core@7.22.1) + '@babel/plugin-proposal-private-property-in-object': 7.21.0(@babel/core@7.22.1) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.1) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.1) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.22.1) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.22.1) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.22.1) + '@babel/plugin-syntax-import-assertions': 7.20.0(@babel/core@7.22.1) + '@babel/plugin-syntax-import-attributes': 7.22.3(@babel/core@7.22.1) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.1) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.1) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.1) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.1) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.1) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.1) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.1) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.1) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.22.1) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.1) + '@babel/plugin-syntax-unicode-sets-regex': 7.18.6(@babel/core@7.22.1) + '@babel/plugin-transform-arrow-functions': 7.21.5(@babel/core@7.22.1) + '@babel/plugin-transform-async-generator-functions': 7.22.3(@babel/core@7.22.1) + '@babel/plugin-transform-async-to-generator': 7.20.7(@babel/core@7.22.1) + '@babel/plugin-transform-block-scoped-functions': 7.18.6(@babel/core@7.22.1) + '@babel/plugin-transform-block-scoping': 7.21.0(@babel/core@7.22.1) + '@babel/plugin-transform-class-properties': 7.22.3(@babel/core@7.22.1) + '@babel/plugin-transform-class-static-block': 7.22.3(@babel/core@7.22.1) + '@babel/plugin-transform-classes': 7.21.0(@babel/core@7.22.1) + '@babel/plugin-transform-computed-properties': 7.21.5(@babel/core@7.22.1) + '@babel/plugin-transform-destructuring': 7.21.3(@babel/core@7.22.1) + '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.22.1) + '@babel/plugin-transform-duplicate-keys': 7.18.9(@babel/core@7.22.1) + '@babel/plugin-transform-dynamic-import': 7.22.1(@babel/core@7.22.1) + '@babel/plugin-transform-exponentiation-operator': 7.18.6(@babel/core@7.22.1) + '@babel/plugin-transform-export-namespace-from': 7.22.3(@babel/core@7.22.1) + '@babel/plugin-transform-for-of': 7.21.5(@babel/core@7.22.1) + '@babel/plugin-transform-function-name': 7.18.9(@babel/core@7.22.1) + '@babel/plugin-transform-json-strings': 7.22.3(@babel/core@7.22.1) + '@babel/plugin-transform-literals': 7.18.9(@babel/core@7.22.1) + '@babel/plugin-transform-logical-assignment-operators': 7.22.3(@babel/core@7.22.1) + '@babel/plugin-transform-member-expression-literals': 7.18.6(@babel/core@7.22.1) + '@babel/plugin-transform-modules-amd': 7.20.11(@babel/core@7.22.1) + '@babel/plugin-transform-modules-commonjs': 7.21.5(@babel/core@7.22.1) + '@babel/plugin-transform-modules-systemjs': 7.22.3(@babel/core@7.22.1) + '@babel/plugin-transform-modules-umd': 7.18.6(@babel/core@7.22.1) + '@babel/plugin-transform-named-capturing-groups-regex': 7.22.3(@babel/core@7.22.1) + '@babel/plugin-transform-new-target': 7.22.3(@babel/core@7.22.1) + '@babel/plugin-transform-nullish-coalescing-operator': 7.22.3(@babel/core@7.22.1) + '@babel/plugin-transform-numeric-separator': 7.22.3(@babel/core@7.22.1) + '@babel/plugin-transform-object-rest-spread': 7.22.3(@babel/core@7.22.1) + '@babel/plugin-transform-object-super': 7.18.6(@babel/core@7.22.1) + '@babel/plugin-transform-optional-catch-binding': 7.22.3(@babel/core@7.22.1) + '@babel/plugin-transform-optional-chaining': 7.22.3(@babel/core@7.22.1) + '@babel/plugin-transform-parameters': 7.22.3(@babel/core@7.22.1) + '@babel/plugin-transform-private-methods': 7.22.3(@babel/core@7.22.1) + '@babel/plugin-transform-private-property-in-object': 7.22.3(@babel/core@7.22.1) + '@babel/plugin-transform-property-literals': 7.18.6(@babel/core@7.22.1) + '@babel/plugin-transform-regenerator': 7.21.5(@babel/core@7.22.1) + '@babel/plugin-transform-reserved-words': 7.18.6(@babel/core@7.22.1) + '@babel/plugin-transform-shorthand-properties': 7.18.6(@babel/core@7.22.1) + '@babel/plugin-transform-spread': 7.20.7(@babel/core@7.22.1) + '@babel/plugin-transform-sticky-regex': 7.18.6(@babel/core@7.22.1) + '@babel/plugin-transform-template-literals': 7.18.9(@babel/core@7.22.1) + '@babel/plugin-transform-typeof-symbol': 7.18.9(@babel/core@7.22.1) + '@babel/plugin-transform-unicode-escapes': 7.21.5(@babel/core@7.22.1) + '@babel/plugin-transform-unicode-property-regex': 7.22.3(@babel/core@7.22.1) + '@babel/plugin-transform-unicode-regex': 7.18.6(@babel/core@7.22.1) + '@babel/plugin-transform-unicode-sets-regex': 7.22.3(@babel/core@7.22.1) + '@babel/preset-modules': 0.1.5(@babel/core@7.22.1) + '@babel/types': 7.22.3 + babel-plugin-polyfill-corejs2: 0.4.3(@babel/core@7.22.1) + babel-plugin-polyfill-corejs3: 0.8.1(@babel/core@7.22.1) + babel-plugin-polyfill-regenerator: 0.5.0(@babel/core@7.22.1) + core-js-compat: 3.30.2 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/preset-modules@0.1.5(@babel/core@7.22.1): + resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.22.1) + '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.22.1) + '@babel/types': 7.22.3 + esutils: 2.0.3 + dev: true + + /@babel/preset-react@7.22.3(@babel/core@7.22.1): + resolution: {integrity: sha512-lxDz1mnZ9polqClBCVBjIVUypoB4qV3/tZUDb/IlYbW1kiiLaXaX+bInbRjl+lNQ/iUZraQ3+S8daEmoELMWug==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/helper-validator-option': 7.21.0 + '@babel/plugin-transform-react-display-name': 7.18.6(@babel/core@7.22.1) + '@babel/plugin-transform-react-jsx': 7.22.3(@babel/core@7.22.1) + '@babel/plugin-transform-react-jsx-development': 7.18.6(@babel/core@7.22.1) + '@babel/plugin-transform-react-pure-annotations': 7.18.6(@babel/core@7.22.1) + dev: true + + /@babel/preset-typescript@7.21.5(@babel/core@7.22.1): + resolution: {integrity: sha512-iqe3sETat5EOrORXiQ6rWfoOg2y68Cs75B9wNxdPW4kixJxh7aXQE1KPdWLDniC24T/6dSnguF33W9j/ZZQcmA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-plugin-utils': 7.21.5 + '@babel/helper-validator-option': 7.21.0 + '@babel/plugin-syntax-jsx': 7.21.4(@babel/core@7.22.1) + '@babel/plugin-transform-modules-commonjs': 7.21.5(@babel/core@7.22.1) + '@babel/plugin-transform-typescript': 7.22.3(@babel/core@7.22.1) + transitivePeerDependencies: + - supports-color + dev: true + + /@babel/regjsgen@0.8.0: + resolution: {integrity: sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==} + dev: true + + /@babel/runtime@7.21.0: + resolution: {integrity: sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.13.11 + dev: true + + /@babel/runtime@7.22.3: + resolution: {integrity: sha512-XsDuspWKLUsxwCp6r7EhsExHtYfbe5oAGQ19kqngTdCPUoPQzOPdUbD/pB9PJiwb2ptYKQDjSJT3R6dC+EPqfQ==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.13.11 + + /@babel/template@7.21.9: + resolution: {integrity: sha512-MK0X5k8NKOuWRamiEfc3KEJiHMTkGZNUjzMipqCGDDc6ijRl/B7RGSKVGncu4Ro/HdyzzY6cmoXuKI2Gffk7vQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.21.4 + '@babel/parser': 7.22.3 + '@babel/types': 7.22.3 + + /@babel/traverse@7.22.1(supports-color@5.5.0): + resolution: {integrity: sha512-lAWkdCoUFnmwLBhIRLciFntGYsIIoC6vIbN8zrLPqBnJmPu7Z6nzqnKd7FsxQUNAvZfVZ0x6KdNvNp8zWIOHSQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.21.4 + '@babel/generator': 7.22.3 + '@babel/helper-environment-visitor': 7.22.1 + '@babel/helper-function-name': 7.21.0 + '@babel/helper-hoist-variables': 7.18.6 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/parser': 7.22.3 + '@babel/types': 7.22.3 + debug: 4.3.4(supports-color@5.5.0) + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + /@babel/types@7.22.3: + resolution: {integrity: sha512-P3na3xIQHTKY4L0YOG7pM8M8uoUIB910WQaSiiMCZUC2Cy8XFEQONGABFnHWBa2gpGKODTAJcNhi5Zk0sLRrzg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.21.5 + '@babel/helper-validator-identifier': 7.19.1 + to-fast-properties: 2.0.0 + + /@bcoe/v8-coverage@0.2.3: + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + dev: true + + /@bloomberg/record-tuple-polyfill@0.0.4: + resolution: {integrity: sha512-h0OYmPR3A5Dfbetra/GzxBAzQk8sH7LhRkRUTdagX6nrtlUgJGYCTv4bBK33jsTQw9HDd8PE2x1Ma+iRKEDUsw==} + dev: true + + /@chenshuai2144/sketch-color@1.0.9(react@18.2.0): + resolution: {integrity: sha512-obzSy26cb7Pm7OprWyVpgMpIlrZpZ0B7vbrU0RMbvRg0YAI890S5Xy02Aj1Nhl4+KTbi1lVYHt6HQP8Hm9s+1w==} + peerDependencies: + react: '>=16.12.0' + dependencies: + react: 18.2.0 + reactcss: 1.2.3(react@18.2.0) + tinycolor2: 1.6.0 + + /@cspotcode/source-map-support@0.8.1: + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/trace-mapping': 0.3.9 + dev: true + + /@csstools/postcss-color-function@1.1.1(postcss@8.4.24): + resolution: {integrity: sha512-Bc0f62WmHdtRDjf5f3e2STwRAl89N2CLb+9iAwzrv4L2hncrbDwnQD9PCq0gtAt7pOI2leIV08HIBUd4jxD8cw==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.24) + postcss: 8.4.24 + postcss-value-parser: 4.2.0 + dev: true + + /@csstools/postcss-font-format-keywords@1.0.1(postcss@8.4.24): + resolution: {integrity: sha512-ZgrlzuUAjXIOc2JueK0X5sZDjCtgimVp/O5CEqTcs5ShWBa6smhWYbS0x5cVc/+rycTDbjjzoP0KTDnUneZGOg==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + postcss: 8.4.24 + postcss-value-parser: 4.2.0 + dev: true + + /@csstools/postcss-hwb-function@1.0.2(postcss@8.4.24): + resolution: {integrity: sha512-YHdEru4o3Rsbjmu6vHy4UKOXZD+Rn2zmkAmLRfPet6+Jz4Ojw8cbWxe1n42VaXQhD3CQUXXTooIy8OkVbUcL+w==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + postcss: 8.4.24 + postcss-value-parser: 4.2.0 + dev: true + + /@csstools/postcss-ic-unit@1.0.1(postcss@8.4.24): + resolution: {integrity: sha512-Ot1rcwRAaRHNKC9tAqoqNZhjdYBzKk1POgWfhN4uCOE47ebGcLRqXjKkApVDpjifL6u2/55ekkpnFcp+s/OZUw==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.24) + postcss: 8.4.24 + postcss-value-parser: 4.2.0 + dev: true + + /@csstools/postcss-is-pseudo-class@2.0.7(postcss@8.4.24): + resolution: {integrity: sha512-7JPeVVZHd+jxYdULl87lvjgvWldYu+Bc62s9vD/ED6/QTGjy0jy0US/f6BG53sVMTBJ1lzKZFpYmofBN9eaRiA==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.0.13) + postcss: 8.4.24 + postcss-selector-parser: 6.0.13 + dev: true + + /@csstools/postcss-normalize-display-values@1.0.1(postcss@8.4.24): + resolution: {integrity: sha512-jcOanIbv55OFKQ3sYeFD/T0Ti7AMXc9nM1hZWu8m/2722gOTxFg7xYu4RDLJLeZmPUVQlGzo4jhzvTUq3x4ZUw==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + postcss: 8.4.24 + postcss-value-parser: 4.2.0 + dev: true + + /@csstools/postcss-oklab-function@1.1.1(postcss@8.4.24): + resolution: {integrity: sha512-nJpJgsdA3dA9y5pgyb/UfEzE7W5Ka7u0CX0/HIMVBNWzWemdcTH3XwANECU6anWv/ao4vVNLTMxhiPNZsTK6iA==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.24) + postcss: 8.4.24 + postcss-value-parser: 4.2.0 + dev: true + + /@csstools/postcss-progressive-custom-properties@1.3.0(postcss@8.4.24): + resolution: {integrity: sha512-ASA9W1aIy5ygskZYuWams4BzafD12ULvSypmaLJT2jvQ8G0M3I8PRQhC0h7mG0Z3LI05+agZjqSR9+K9yaQQjA==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.3 + dependencies: + postcss: 8.4.24 + postcss-value-parser: 4.2.0 + dev: true + + /@csstools/postcss-stepped-value-functions@1.0.1(postcss@8.4.24): + resolution: {integrity: sha512-dz0LNoo3ijpTOQqEJLY8nyaapl6umbmDcgj4AD0lgVQ572b2eqA1iGZYTTWhrcrHztWDDRAX2DGYyw2VBjvCvQ==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + postcss: 8.4.24 + postcss-value-parser: 4.2.0 + dev: true + + /@csstools/postcss-unset-value@1.0.2(postcss@8.4.24): + resolution: {integrity: sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + postcss: 8.4.24 + dev: true + + /@csstools/selector-specificity@2.2.0(postcss-selector-parser@6.0.13): + resolution: {integrity: sha512-+OJ9konv95ClSTOJCmMZqpd5+YGsB2S+x6w3E1oaM8UuR5j8nTNHYSz8c9BEPGDOCMQYIEEGlVPj/VY64iTbGw==} + engines: {node: ^14 || ^16 || >=18} + peerDependencies: + postcss-selector-parser: ^6.0.10 + dependencies: + postcss-selector-parser: 6.0.13 + dev: true + + /@ctrl/tinycolor@3.6.0: + resolution: {integrity: sha512-/Z3l6pXthq0JvMYdUFyX9j0MaCltlIn6mfh9jLyQwg5aPKxkyNa0PTHtU1AlFXLNk55ZuAeJRcpvq+tmLfKmaQ==} + engines: {node: '>=10'} + + /@dagrejs/graphlib@2.1.4: + resolution: {integrity: sha512-QCg9sL4uhjn468FDEsb/S9hS2xUZSrv/+dApb1Ze5VKO96pTXKNJZ6MGhIpgWkc1TVhbVGH9/7rq/Mf8/jWicw==} + dependencies: + lodash: 4.17.21 + dev: false + + /@discoveryjs/json-ext@0.5.7: + resolution: {integrity: sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==} + engines: {node: '>=10.0.0'} + dev: false + + /@dnd-kit/accessibility@3.1.0(react@18.2.0): + resolution: {integrity: sha512-ea7IkhKvlJUv9iSHJOnxinBcoOI3ppGnnL+VDJ75O45Nss6HtZd8IdN8touXPDtASfeI2T2LImb8VOZcL47wjQ==} + peerDependencies: + react: '>=16.8.0' + dependencies: + react: 18.2.0 + tslib: 2.5.2 + + /@dnd-kit/core@6.1.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-J3cQBClB4TVxwGo3KEjssGEXNJqGVWx17aRTZ1ob0FliR5IjYgTxl5YJbKTzA6IzrtelotH19v6y7uoIRUZPSg==} + peerDependencies: + react: '>=16.8.0' + react-dom: '>=16.8.0' + dependencies: + '@dnd-kit/accessibility': 3.1.0(react@18.2.0) + '@dnd-kit/utilities': 3.2.2(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + tslib: 2.5.2 + + /@dnd-kit/modifiers@6.0.1(@dnd-kit/core@6.1.0)(react@18.2.0): + resolution: {integrity: sha512-rbxcsg3HhzlcMHVHWDuh9LCjpOVAgqbV78wLGI8tziXY3+qcMQ61qVXIvNKQFuhj75dSfD+o+PYZQ/NUk2A23A==} + peerDependencies: + '@dnd-kit/core': ^6.0.6 + react: '>=16.8.0' + dependencies: + '@dnd-kit/core': 6.1.0(react-dom@18.2.0)(react@18.2.0) + '@dnd-kit/utilities': 3.2.2(react@18.2.0) + react: 18.2.0 + tslib: 2.5.2 + + /@dnd-kit/sortable@7.0.2(@dnd-kit/core@6.1.0)(react@18.2.0): + resolution: {integrity: sha512-wDkBHHf9iCi1veM834Gbk1429bd4lHX4RpAwT0y2cHLf246GAvU2sVw/oxWNpPKQNQRQaeGXhAVgrOl1IT+iyA==} + peerDependencies: + '@dnd-kit/core': ^6.0.7 + react: '>=16.8.0' + dependencies: + '@dnd-kit/core': 6.1.0(react-dom@18.2.0)(react@18.2.0) + '@dnd-kit/utilities': 3.2.2(react@18.2.0) + react: 18.2.0 + tslib: 2.5.2 + + /@dnd-kit/utilities@3.2.2(react@18.2.0): + resolution: {integrity: sha512-+MKAJEOfaBe5SmV6t34p80MMKhjvUz0vRrvVJbPT0WElzaOJ/1xs+D+KDv+tD/NE5ujfrChEcshd4fLn0wpiqg==} + peerDependencies: + react: '>=16.8.0' + dependencies: + react: 18.2.0 + tslib: 2.5.2 + + /@emotion/babel-plugin@11.11.0: + resolution: {integrity: sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==} + dependencies: + '@babel/helper-module-imports': 7.21.4 + '@babel/runtime': 7.22.3 + '@emotion/hash': 0.9.1 + '@emotion/memoize': 0.8.1 + '@emotion/serialize': 1.1.2 + babel-plugin-macros: 3.1.0 + convert-source-map: 1.9.0 + escape-string-regexp: 4.0.0 + find-root: 1.1.0 + source-map: 0.5.7 + stylis: 4.2.0 + dev: false + + /@emotion/cache@11.11.0: + resolution: {integrity: sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==} + dependencies: + '@emotion/memoize': 0.8.1 + '@emotion/sheet': 1.2.2 + '@emotion/utils': 1.2.1 + '@emotion/weak-memoize': 0.3.1 + stylis: 4.2.0 + dev: false + + /@emotion/css@11.11.0: + resolution: {integrity: sha512-m4g6nKzZyiKyJ3WOfdwrBdcujVcpaScIWHAnyNKPm/A/xJKwfXPfQAbEVi1kgexWTDakmg+r2aDj0KvnMTo4oQ==} + dependencies: + '@emotion/babel-plugin': 11.11.0 + '@emotion/cache': 11.11.0 + '@emotion/serialize': 1.1.2 + '@emotion/sheet': 1.2.2 + '@emotion/utils': 1.2.1 + dev: false + + /@emotion/hash@0.8.0: + resolution: {integrity: sha512-kBJtf7PH6aWwZ6fka3zQ0p6SBYzx4fl1LoZXE2RrnYST9Xljm7WfKJrU4g/Xr3Beg72MLrp1AWNUmuYJTL7Cow==} + + /@emotion/hash@0.9.1: + resolution: {integrity: sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==} + dev: false + + /@emotion/is-prop-valid@1.2.1: + resolution: {integrity: sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw==} + dependencies: + '@emotion/memoize': 0.8.1 + dev: true + + /@emotion/memoize@0.8.1: + resolution: {integrity: sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==} + + /@emotion/serialize@1.1.2: + resolution: {integrity: sha512-zR6a/fkFP4EAcCMQtLOhIgpprZOwNmCldtpaISpvz348+DP4Mz8ZoKaGGCQpbzepNIUWbq4w6hNZkwDyKoS+HA==} + dependencies: + '@emotion/hash': 0.9.1 + '@emotion/memoize': 0.8.1 + '@emotion/unitless': 0.8.1 + '@emotion/utils': 1.2.1 + csstype: 3.1.2 + dev: false + + /@emotion/sheet@1.2.2: + resolution: {integrity: sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==} + dev: false + + /@emotion/stylis@0.8.5: + resolution: {integrity: sha512-h6KtPihKFn3T9fuIrwvXXUOwlx3rfUvfZIcP5a6rh8Y7zjE3O06hT5Ss4S/YI1AYhuZ1kjaE/5EaOOI2NqSylQ==} + dev: true + + /@emotion/unitless@0.7.5: + resolution: {integrity: sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg==} + + /@emotion/unitless@0.8.1: + resolution: {integrity: sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==} + + /@emotion/utils@1.2.1: + resolution: {integrity: sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==} + dev: false + + /@emotion/weak-memoize@0.3.1: + resolution: {integrity: sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==} + dev: false + + /@esbuild-kit/cjs-loader@2.4.2: + resolution: {integrity: sha512-BDXFbYOJzT/NBEtp71cvsrGPwGAMGRB/349rwKuoxNSiKjPraNNnlK6MIIabViCjqZugu6j+xeMDlEkWdHHJSg==} + dependencies: + '@esbuild-kit/core-utils': 3.1.0 + get-tsconfig: 4.5.0 + dev: true + + /@esbuild-kit/core-utils@3.1.0: + resolution: {integrity: sha512-Uuk8RpCg/7fdHSceR1M6XbSZFSuMrxcePFuGgyvsBn+u339dk5OeL4jv2EojwTN2st/unJGsVm4qHWjWNmJ/tw==} + dependencies: + esbuild: 0.17.19 + source-map-support: 0.5.21 + dev: true + + /@esbuild-kit/esm-loader@2.5.5: + resolution: {integrity: sha512-Qwfvj/qoPbClxCRNuac1Du01r9gvNOT+pMYtJDapfB1eoGN1YlJ1BixLyL9WVENRx5RXgNLdfYdx/CuswlGhMw==} + dependencies: + '@esbuild-kit/core-utils': 3.1.0 + get-tsconfig: 4.5.0 + dev: true + + /@esbuild/android-arm64@0.16.17: + resolution: {integrity: sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm64@0.17.19: + resolution: {integrity: sha512-KBMWvEZooR7+kzY0BtbTQn0OAYY7CsiydT63pVEaPtVYF0hXbUaOyZog37DKxK7NF3XacBJOpYT4adIJh+avxA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm@0.16.17: + resolution: {integrity: sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm@0.17.19: + resolution: {integrity: sha512-rIKddzqhmav7MSmoFCmDIb6e2W57geRsM94gV2l38fzhXMwq7hZoClug9USI2pFRGL06f4IOPHHpFNOkWieR8A==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64@0.16.17: + resolution: {integrity: sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64@0.17.19: + resolution: {integrity: sha512-uUTTc4xGNDT7YSArp/zbtmbhO0uEEK9/ETW29Wk1thYUJBz3IVnvgEiEwEa9IeLyvnpKrWK64Utw2bgUmDveww==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64@0.16.17: + resolution: {integrity: sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64@0.17.19: + resolution: {integrity: sha512-80wEoCfF/hFKM6WE1FyBHc9SfUblloAWx6FJkFWTWiCoht9Mc0ARGEM47e67W9rI09YoUxJL68WHfDRYEAvOhg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-x64@0.16.17: + resolution: {integrity: sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-x64@0.17.19: + resolution: {integrity: sha512-IJM4JJsLhRYr9xdtLytPLSH9k/oxR3boaUIYiHkAawtwNOXKE8KoU8tMvryogdcT8AU+Bflmh81Xn6Q0vTZbQw==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-arm64@0.16.17: + resolution: {integrity: sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-arm64@0.17.19: + resolution: {integrity: sha512-pBwbc7DufluUeGdjSU5Si+P3SoMF5DQ/F/UmTSb8HXO80ZEAJmrykPyzo1IfNbAoaqw48YRpv8shwd1NoI0jcQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-x64@0.16.17: + resolution: {integrity: sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-x64@0.17.19: + resolution: {integrity: sha512-4lu+n8Wk0XlajEhbEffdy2xy53dpR06SlzvhGByyg36qJw6Kpfk7cp45DR/62aPH9mtJRmIyrXAS5UWBrJT6TQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm64@0.16.17: + resolution: {integrity: sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm64@0.17.19: + resolution: {integrity: sha512-ct1Tg3WGwd3P+oZYqic+YZF4snNl2bsnMKRkb3ozHmnM0dGWuxcPTTntAF6bOP0Sp4x0PjSF+4uHQ1xvxfRKqg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm@0.16.17: + resolution: {integrity: sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm@0.17.19: + resolution: {integrity: sha512-cdmT3KxjlOQ/gZ2cjfrQOtmhG4HJs6hhvm3mWSRDPtZ/lP5oe8FWceS10JaSJC13GBd4eH/haHnqf7hhGNLerA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32@0.16.17: + resolution: {integrity: sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32@0.17.19: + resolution: {integrity: sha512-w4IRhSy1VbsNxHRQpeGCHEmibqdTUx61Vc38APcsRbuVgK0OPEnQ0YD39Brymn96mOx48Y2laBQGqgZ0j9w6SQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64@0.16.17: + resolution: {integrity: sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64@0.17.19: + resolution: {integrity: sha512-2iAngUbBPMq439a+z//gE+9WBldoMp1s5GWsUSgqHLzLJ9WoZLZhpwWuym0u0u/4XmZ3gpHmzV84PonE+9IIdQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el@0.16.17: + resolution: {integrity: sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el@0.17.19: + resolution: {integrity: sha512-LKJltc4LVdMKHsrFe4MGNPp0hqDFA1Wpt3jE1gEyM3nKUvOiO//9PheZZHfYRfYl6AwdTH4aTcXSqBerX0ml4A==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64@0.16.17: + resolution: {integrity: sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64@0.17.19: + resolution: {integrity: sha512-/c/DGybs95WXNS8y3Ti/ytqETiW7EU44MEKuCAcpPto3YjQbyK3IQVKfF6nbghD7EcLUGl0NbiL5Rt5DMhn5tg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64@0.16.17: + resolution: {integrity: sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64@0.17.19: + resolution: {integrity: sha512-FC3nUAWhvFoutlhAkgHf8f5HwFWUL6bYdvLc/TTuxKlvLi3+pPzdZiFKSWz/PF30TB1K19SuCxDTI5KcqASJqA==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x@0.16.17: + resolution: {integrity: sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x@0.17.19: + resolution: {integrity: sha512-IbFsFbxMWLuKEbH+7sTkKzL6NJmG2vRyy6K7JJo55w+8xDk7RElYn6xvXtDW8HCfoKBFK69f3pgBJSUSQPr+4Q==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64@0.16.17: + resolution: {integrity: sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64@0.17.19: + resolution: {integrity: sha512-68ngA9lg2H6zkZcyp22tsVt38mlhWde8l3eJLWkyLrp4HwMUr3c1s/M2t7+kHIhvMjglIBrFpncX1SzMckomGw==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64@0.16.17: + resolution: {integrity: sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64@0.17.19: + resolution: {integrity: sha512-CwFq42rXCR8TYIjIfpXCbRX0rp1jo6cPIUPSaWwzbVI4aOfX96OXY8M6KNmtPcg7QjYeDmN+DD0Wp3LaBOLf4Q==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64@0.16.17: + resolution: {integrity: sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64@0.17.19: + resolution: {integrity: sha512-cnq5brJYrSZ2CF6c35eCmviIN3k3RczmHz8eYaVlNasVqsNY+JKohZU5MKmaOI+KkllCdzOKKdPs762VCPC20g==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64@0.16.17: + resolution: {integrity: sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64@0.17.19: + resolution: {integrity: sha512-vCRT7yP3zX+bKWFeP/zdS6SqdWB8OIpaRq/mbXQxTGHnIxspRtigpkUcDMlSCOejlHowLqII7K2JKevwyRP2rg==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64@0.16.17: + resolution: {integrity: sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64@0.17.19: + resolution: {integrity: sha512-yYx+8jwowUstVdorcMdNlzklLYhPxjniHWFKgRqH7IFlUEa0Umu3KuYplf1HUZZ422e3NU9F4LGb+4O0Kdcaag==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32@0.16.17: + resolution: {integrity: sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32@0.17.19: + resolution: {integrity: sha512-eggDKanJszUtCdlVs0RB+h35wNlb5v4TWEkq4vZcmVt5u/HiDZrTXe2bWFQUez3RgNHwx/x4sk5++4NSSicKkw==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64@0.16.17: + resolution: {integrity: sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64@0.17.19: + resolution: {integrity: sha512-lAhycmKnVOuRYNtRtatQR1LPQf2oYCkRGkSFnseDAKPl8lu5SOsK/e1sXe5a0Pc5kHIHe6P2I/ilntNv2xf3cA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@eslint-community/eslint-utils@4.4.0(eslint@7.32.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 7.32.0 + eslint-visitor-keys: 3.4.1 + dev: true + + /@eslint-community/eslint-utils@4.4.0(eslint@8.35.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.35.0 + eslint-visitor-keys: 3.4.1 + dev: true + + /@eslint-community/eslint-utils@4.4.0(eslint@8.41.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.41.0 + eslint-visitor-keys: 3.4.1 + + /@eslint-community/regexpp@4.5.1: + resolution: {integrity: sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + /@eslint/eslintrc@0.4.3: + resolution: {integrity: sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4(supports-color@5.5.0) + espree: 7.3.1 + globals: 13.20.0 + ignore: 4.0.6 + import-fresh: 3.3.0 + js-yaml: 3.14.1 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/eslintrc@2.0.3: + resolution: {integrity: sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4(supports-color@5.5.0) + espree: 9.5.2 + globals: 13.20.0 + ignore: 5.2.4 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + /@eslint/js@8.35.0: + resolution: {integrity: sha512-JXdzbRiWclLVoD8sNUjR443VVlYqiYmDVT6rGUEIEHU5YJW0gaVZwV2xgM7D4arkvASqD0IlLUVjHiFuxaftRw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@eslint/js@8.41.0: + resolution: {integrity: sha512-LxcyMGxwmTh2lY9FwHPGWOHmYFCZvbrFCBZL4FzSSsxsRPuhrYUg/49/0KDfW8tnIEaEHtfmn6+NPN+1DqaNmA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + /@exodus/schemasafe@1.0.1: + resolution: {integrity: sha512-PQdbF8dGd4LnbwBlcc4ML8RKYdplm+e9sUeWBTr4zgF13/Shiuov9XznvM4T8cb1CfyKK21yTUkuAIIh/DAH/g==} + dev: true + + /@floating-ui/core@0.6.2: + resolution: {integrity: sha512-jktYRmZwmau63adUG3GKOAVCofBXkk55S/zQ94XOorAHhwqFIOFAy1rSp2N0Wp6/tGbe9V3u/ExlGZypyY17rg==} + dev: true + + /@floating-ui/dom@0.4.5: + resolution: {integrity: sha512-b+prvQgJt8pieaKYMSJBXHxX/DYwdLsAWxKYqnO5dO2V4oo/TYBZJAUQCVNjTWWsrs6o4VDrNcP9+E70HAhJdw==} + dependencies: + '@floating-ui/core': 0.6.2 + dev: true + + /@floating-ui/react-dom-interactions@0.3.1(@types/react@18.2.7)(react-dom@18.1.0)(react@18.1.0): + resolution: {integrity: sha512-tP2KEh7EHJr5hokSBHcPGojb+AorDNUf0NYfZGg/M+FsMvCOOsSEeEF0O1NDfETIzDnpbHnCs0DuvCFhSMSStg==} + deprecated: Package renamed to @floating-ui/react + dependencies: + '@floating-ui/react-dom': 0.6.3(@types/react@18.2.7)(react-dom@18.1.0)(react@18.1.0) + aria-hidden: 1.2.3 + point-in-polygon: 1.1.0 + use-isomorphic-layout-effect: 1.1.2(@types/react@18.2.7)(react@18.1.0) + transitivePeerDependencies: + - '@types/react' + - react + - react-dom + dev: true + + /@floating-ui/react-dom@0.6.3(@types/react@18.2.7)(react-dom@18.1.0)(react@18.1.0): + resolution: {integrity: sha512-hC+pS5D6AgS2wWjbmSQ6UR6Kpy+drvWGJIri6e1EDGADTPsCaa4KzCgmCczHrQeInx9tqs81EyDmbKJYY2swKg==} + peerDependencies: + react: '>=16.8.0' + react-dom: '>=16.8.0' + dependencies: + '@floating-ui/dom': 0.4.5 + react: 18.1.0 + react-dom: 18.1.0(react@18.1.0) + use-isomorphic-layout-effect: 1.1.2(@types/react@18.2.7)(react@18.1.0) + transitivePeerDependencies: + - '@types/react' + dev: true + + /@formatjs/ecma402-abstract@1.11.4: + resolution: {integrity: sha512-EBikYFp2JCdIfGEb5G9dyCkTGDmC57KSHhRQOC3aYxoPWVZvfWCDjZwkGYHN7Lis/fmuWl906bnNTJifDQ3sXw==} + dependencies: + '@formatjs/intl-localematcher': 0.2.25 + tslib: 2.5.2 + dev: true + + /@formatjs/fast-memoize@1.2.1: + resolution: {integrity: sha512-Rg0e76nomkz3vF9IPlKeV+Qynok0r7YZjL6syLz4/urSg0IbjPZCB/iYUMNsYA643gh4mgrX3T7KEIFIxJBQeg==} + dependencies: + tslib: 2.5.2 + dev: true + + /@formatjs/icu-messageformat-parser@2.1.0: + resolution: {integrity: sha512-Qxv/lmCN6hKpBSss2uQ8IROVnta2r9jd3ymUEIjm2UyIkUCHVcbUVRGL/KS/wv7876edvsPe+hjHVJ4z8YuVaw==} + dependencies: + '@formatjs/ecma402-abstract': 1.11.4 + '@formatjs/icu-skeleton-parser': 1.3.6 + tslib: 2.5.2 + dev: true + + /@formatjs/icu-skeleton-parser@1.3.6: + resolution: {integrity: sha512-I96mOxvml/YLrwU2Txnd4klA7V8fRhb6JG/4hm3VMNmeJo1F03IpV2L3wWt7EweqNLES59SZ4d6hVOPCSf80Bg==} + dependencies: + '@formatjs/ecma402-abstract': 1.11.4 + tslib: 2.5.2 + dev: true + + /@formatjs/intl-displaynames@1.2.10: + resolution: {integrity: sha512-GROA2RP6+7Ouu0WnHFF78O5XIU7pBfI19WM1qm93l6MFWibUk67nCfVCK3VAYJkLy8L8ZxjkYT11VIAfvSz8wg==} + dependencies: + '@formatjs/intl-utils': 2.3.0 + dev: true + + /@formatjs/intl-listformat@1.4.8: + resolution: {integrity: sha512-WNMQlEg0e50VZrGIkgD5n7+DAMGt3boKi1GJALfhFMymslJb5i+5WzWxyj/3a929Z6MAFsmzRIJjKuv+BxKAOQ==} + dependencies: + '@formatjs/intl-utils': 2.3.0 + dev: true + + /@formatjs/intl-localematcher@0.2.25: + resolution: {integrity: sha512-YmLcX70BxoSopLFdLr1Ds99NdlTI2oWoLbaUW2M406lxOIPzE1KQhRz2fPUkq34xVZQaihCoU29h0KK7An3bhA==} + dependencies: + tslib: 2.5.2 + dev: true + + /@formatjs/intl-relativetimeformat@4.5.16: + resolution: {integrity: sha512-IQ0haY97oHAH5OYUdykNiepdyEWj3SAT+Fp9ZpR85ov2JNiFx+12WWlxlVS8ehdyncC2ZMt/SwFIy2huK2+6/A==} + dependencies: + '@formatjs/intl-utils': 2.3.0 + dev: true + + /@formatjs/intl-unified-numberformat@3.3.7: + resolution: {integrity: sha512-KnWgLRHzCAgT9eyt3OS34RHoyD7dPDYhRcuKn+/6Kv2knDF8Im43J6vlSW6Hm1w63fNq3ZIT1cFk7RuVO3Psag==} + deprecated: We have renamed the package to @formatjs/intl-numberformat + dependencies: + '@formatjs/intl-utils': 2.3.0 + dev: true + + /@formatjs/intl-utils@2.3.0: + resolution: {integrity: sha512-KWk80UPIzPmUg+P0rKh6TqspRw0G6eux1PuJr+zz47ftMaZ9QDwbGzHZbtzWkl5hgayM/qrKRutllRC7D/vVXQ==} + deprecated: the package is rather renamed to @formatjs/ecma-abstract with some changes in functionality (primarily selectUnit is removed and we don't plan to make any further changes to this package + dev: true + + /@humanwhocodes/config-array@0.11.8: + resolution: {integrity: sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 1.2.1 + debug: 4.3.4(supports-color@5.5.0) + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + /@humanwhocodes/config-array@0.5.0: + resolution: {integrity: sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 1.2.1 + debug: 4.3.4(supports-color@5.5.0) + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/module-importer@1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + /@humanwhocodes/object-schema@1.2.1: + resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} + + /@iconify/types@2.0.0: + resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} + dev: true + + /@iconify/utils@2.1.1: + resolution: {integrity: sha512-H8xz74JDzDw8f0qLxwIaxFMnFkbXTZNWEufOk3WxaLFHV4h0A2FjIDgNk5LzC0am4jssnjdeJJdRs3UFu3582Q==} + dependencies: + '@antfu/install-pkg': 0.1.1 + '@antfu/utils': 0.7.2 + '@iconify/types': 2.0.0 + debug: 4.3.4(supports-color@5.5.0) + kolorist: 1.8.0 + local-pkg: 0.4.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@icons/material@0.2.4(react@18.2.0): + resolution: {integrity: sha512-QPcGmICAPbGLGb6F/yNf/KzKqvFx8z5qx3D1yFqVAjoFmXK35EgyW+cJ57Te3CNsmzblwtzakLGFqHPqrfb4Tw==} + peerDependencies: + react: '*' + dependencies: + react: 18.2.0 + dev: false + + /@istanbuljs/load-nyc-config@1.1.0: + resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} + engines: {node: '>=8'} + dependencies: + camelcase: 5.3.1 + find-up: 4.1.0 + get-package-type: 0.1.0 + js-yaml: 3.14.1 + resolve-from: 5.0.0 + dev: true + + /@istanbuljs/schema@0.1.3: + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + dev: true + + /@jest/console@29.5.0: + resolution: {integrity: sha512-NEpkObxPwyw/XxZVLPmAGKE89IQRp4puc6IQRPru6JKd1M3fW9v1xM1AnzIJE65hbCkzQAdnL8P47e9hzhiYLQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.5.0 + '@types/node': 20.2.5 + chalk: 4.1.2 + jest-message-util: 29.5.0 + jest-util: 29.5.0 + slash: 3.0.0 + dev: true + + /@jest/core@29.5.0(ts-node@10.9.1): + resolution: {integrity: sha512-28UzQc7ulUrOQw1IsN/kv1QES3q2kkbl/wGslyhAclqZ/8cMdB5M68BffkIdSJgKBUt50d3hbwJ92XESlE7LiQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/console': 29.5.0 + '@jest/reporters': 29.5.0 + '@jest/test-result': 29.5.0 + '@jest/transform': 29.5.0 + '@jest/types': 29.5.0 + '@types/node': 20.2.5 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + ci-info: 3.8.0 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-changed-files: 29.5.0 + jest-config: 29.5.0(@types/node@20.2.5)(ts-node@10.9.1) + jest-haste-map: 29.5.0 + jest-message-util: 29.5.0 + jest-regex-util: 29.4.3 + jest-resolve: 29.5.0 + jest-resolve-dependencies: 29.5.0 + jest-runner: 29.5.0 + jest-runtime: 29.5.0 + jest-snapshot: 29.5.0 + jest-util: 29.5.0 + jest-validate: 29.5.0 + jest-watcher: 29.5.0 + micromatch: 4.0.5 + pretty-format: 29.5.0 + slash: 3.0.0 + strip-ansi: 6.0.1 + transitivePeerDependencies: + - supports-color + - ts-node + dev: true + + /@jest/environment@29.5.0: + resolution: {integrity: sha512-5FXw2+wD29YU1d4I2htpRX7jYnAyTRjP2CsXQdo9SAM8g3ifxWPSV0HnClSn71xwctr0U3oZIIH+dtbfmnbXVQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/fake-timers': 29.5.0 + '@jest/types': 29.5.0 + '@types/node': 20.2.5 + jest-mock: 29.5.0 + dev: true + + /@jest/expect-utils@29.5.0: + resolution: {integrity: sha512-fmKzsidoXQT2KwnrwE0SQq3uj8Z763vzR8LnLBwC2qYWEFpjX8daRsk6rHUM1QvNlEW/UJXNXm59ztmJJWs2Mg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + jest-get-type: 29.4.3 + dev: true + + /@jest/expect@29.5.0: + resolution: {integrity: sha512-PueDR2HGihN3ciUNGr4uelropW7rqUfTiOn+8u0leg/42UhblPxHkfoh0Ruu3I9Y1962P3u2DY4+h7GVTSVU6g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + expect: 29.5.0 + jest-snapshot: 29.5.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/fake-timers@29.5.0: + resolution: {integrity: sha512-9ARvuAAQcBwDAqOnglWq2zwNIRUDtk/SCkp/ToGEhFv5r86K21l+VEs0qNTaXtyiY0lEePl3kylijSYJQqdbDg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.5.0 + '@sinonjs/fake-timers': 10.2.0 + '@types/node': 20.2.5 + jest-message-util: 29.5.0 + jest-mock: 29.5.0 + jest-util: 29.5.0 + dev: true + + /@jest/globals@29.5.0: + resolution: {integrity: sha512-S02y0qMWGihdzNbUiqSAiKSpSozSuHX5UYc7QbnHP+D9Lyw8DgGGCinrN9uSuHPeKgSSzvPom2q1nAtBvUsvPQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/environment': 29.5.0 + '@jest/expect': 29.5.0 + '@jest/types': 29.5.0 + jest-mock: 29.5.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/reporters@29.5.0: + resolution: {integrity: sha512-D05STXqj/M8bP9hQNSICtPqz97u7ffGzZu+9XLucXhkOFBqKcXe04JLZOgIekOxdb73MAoBUFnqvf7MCpKk5OA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@bcoe/v8-coverage': 0.2.3 + '@jest/console': 29.5.0 + '@jest/test-result': 29.5.0 + '@jest/transform': 29.5.0 + '@jest/types': 29.5.0 + '@jridgewell/trace-mapping': 0.3.18 + '@types/node': 20.2.5 + chalk: 4.1.2 + collect-v8-coverage: 1.0.1 + exit: 0.1.2 + glob: 7.2.3 + graceful-fs: 4.2.11 + istanbul-lib-coverage: 3.2.0 + istanbul-lib-instrument: 5.2.1 + istanbul-lib-report: 3.0.0 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.1.5 + jest-message-util: 29.5.0 + jest-util: 29.5.0 + jest-worker: 29.5.0 + slash: 3.0.0 + string-length: 4.0.2 + strip-ansi: 6.0.1 + v8-to-istanbul: 9.1.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/schemas@29.4.3: + resolution: {integrity: sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@sinclair/typebox': 0.25.24 + dev: true + + /@jest/source-map@29.4.3: + resolution: {integrity: sha512-qyt/mb6rLyd9j1jUts4EQncvS6Yy3PM9HghnNv86QBlV+zdL2inCdK1tuVlL+J+lpiw2BI67qXOrX3UurBqQ1w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jridgewell/trace-mapping': 0.3.18 + callsites: 3.1.0 + graceful-fs: 4.2.11 + dev: true + + /@jest/test-result@29.5.0: + resolution: {integrity: sha512-fGl4rfitnbfLsrfx1uUpDEESS7zM8JdgZgOCQuxQvL1Sn/I6ijeAVQWGfXI9zb1i9Mzo495cIpVZhA0yr60PkQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/console': 29.5.0 + '@jest/types': 29.5.0 + '@types/istanbul-lib-coverage': 2.0.4 + collect-v8-coverage: 1.0.1 + dev: true + + /@jest/test-sequencer@29.5.0: + resolution: {integrity: sha512-yPafQEcKjkSfDXyvtgiV4pevSeyuA6MQr6ZIdVkWJly9vkqjnFfcfhRQqpD5whjoU8EORki752xQmjaqoFjzMQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/test-result': 29.5.0 + graceful-fs: 4.2.11 + jest-haste-map: 29.5.0 + slash: 3.0.0 + dev: true + + /@jest/transform@29.5.0: + resolution: {integrity: sha512-8vbeZWqLJOvHaDfeMuoHITGKSz5qWc9u04lnWrQE3VyuSw604PzQM824ZeX9XSjUCeDiE3GuxZe5UKa8J61NQw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@babel/core': 7.22.1 + '@jest/types': 29.5.0 + '@jridgewell/trace-mapping': 0.3.18 + babel-plugin-istanbul: 6.1.1 + chalk: 4.1.2 + convert-source-map: 2.0.0 + fast-json-stable-stringify: 2.1.0 + graceful-fs: 4.2.11 + jest-haste-map: 29.5.0 + jest-regex-util: 29.4.3 + jest-util: 29.5.0 + micromatch: 4.0.5 + pirates: 4.0.5 + slash: 3.0.0 + write-file-atomic: 4.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@jest/types@27.5.1: + resolution: {integrity: sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + '@types/istanbul-lib-coverage': 2.0.4 + '@types/istanbul-reports': 3.0.1 + '@types/node': 20.2.5 + '@types/yargs': 16.0.5 + chalk: 4.1.2 + dev: true + + /@jest/types@29.5.0: + resolution: {integrity: sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.4.3 + '@types/istanbul-lib-coverage': 2.0.4 + '@types/istanbul-reports': 3.0.1 + '@types/node': 20.2.5 + '@types/yargs': 17.0.24 + chalk: 4.1.2 + dev: true + + /@jridgewell/gen-mapping@0.3.3: + resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.18 + + /@jridgewell/resolve-uri@3.1.0: + resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + engines: {node: '>=6.0.0'} + + /@jridgewell/resolve-uri@3.1.1: + resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/set-array@1.1.2: + resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + engines: {node: '>=6.0.0'} + + /@jridgewell/source-map@0.3.3: + resolution: {integrity: sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==} + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + '@jridgewell/trace-mapping': 0.3.18 + + /@jridgewell/sourcemap-codec@1.4.14: + resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + + /@jridgewell/trace-mapping@0.3.18: + resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} + dependencies: + '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/sourcemap-codec': 1.4.14 + + /@jridgewell/trace-mapping@0.3.9: + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + dependencies: + '@jridgewell/resolve-uri': 3.1.1 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /@ljharb/resumer@0.0.1: + resolution: {integrity: sha512-skQiAOrCfO7vRTq53cxznMpks7wS1va95UCidALlOVWqvBAzwPVErwizDwoMqNVMEn1mDq0utxZd02eIrvF1lw==} + engines: {node: '>= 0.4'} + dependencies: + '@ljharb/through': 2.3.11 + dev: false + + /@ljharb/through@2.3.11: + resolution: {integrity: sha512-ccfcIDlogiXNq5KcbAwbaO7lMh3Tm1i3khMPYpxlK8hH/W53zN81KM9coerRLOnTGu3nfXIniAmQbRI9OxbC0w==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + dev: false + + /@loadable/component@5.15.2(react@18.1.0): + resolution: {integrity: sha512-ryFAZOX5P2vFkUdzaAtTG88IGnr9qxSdvLRvJySXcUA4B4xVWurUNADu3AnKPksxOZajljqTrDEDcYjeL4lvLw==} + engines: {node: '>=8'} + peerDependencies: + react: '>=16.3.0' + dependencies: + '@babel/runtime': 7.22.3 + hoist-non-react-statics: 3.3.2 + react: 18.1.0 + react-is: 16.13.1 + dev: true + + /@loadable/component@5.15.2(react@18.2.0): + resolution: {integrity: sha512-ryFAZOX5P2vFkUdzaAtTG88IGnr9qxSdvLRvJySXcUA4B4xVWurUNADu3AnKPksxOZajljqTrDEDcYjeL4lvLw==} + engines: {node: '>=8'} + peerDependencies: + react: '>=16.3.0' + dependencies: + '@babel/runtime': 7.22.3 + hoist-non-react-statics: 3.3.2 + react: 18.2.0 + react-is: 16.13.1 + dev: true + + /@mapbox/geojson-rewind@0.5.2: + resolution: {integrity: sha512-tJaT+RbYGJYStt7wI3cq4Nl4SXxG8W7JDG5DMJu97V25RnbNg3QtQtf+KD+VLjNpWKYsRvXDNmNrBgEETr1ifA==} + hasBin: true + dependencies: + get-stream: 6.0.1 + minimist: 1.2.8 + dev: false + + /@mapbox/geojson-types@1.0.2: + resolution: {integrity: sha512-e9EBqHHv3EORHrSfbR9DqecPNn+AmuAoQxV6aL8Xu30bJMJR1o8PZLZzpk1Wq7/NfCbuhmakHTPYRhoqLsXRnw==} + dev: false + + /@mapbox/jsonlint-lines-primitives@2.0.2: + resolution: {integrity: sha512-rY0o9A5ECsTQRVhv7tL/OyDpGAoUB4tTvLiW1DSzQGq4bvTPhNw1VpSNjDJc5GFZ2XuyOtSWSVN05qOtcD71qQ==} + engines: {node: '>= 0.6'} + dev: false + + /@mapbox/mapbox-gl-supported@1.5.0(mapbox-gl@1.13.3): + resolution: {integrity: sha512-/PT1P6DNf7vjEEiPkVIRJkvibbqWtqnyGaBz3nfRdcxclNSnSdaLU5tfAgcD7I8Yt5i+L19s406YLl1koLnLbg==} + peerDependencies: + mapbox-gl: '>=0.32.1 <2.0.0' + dependencies: + mapbox-gl: 1.13.3 + dev: false + + /@mapbox/martini@0.2.0: + resolution: {integrity: sha512-7hFhtkb0KTLEls+TRw/rWayq5EeHtTaErgm/NskVoXmtgAQu/9D299aeyj6mzAR/6XUnYRp2lU+4IcrYRFjVsQ==} + dev: false + + /@mapbox/node-pre-gyp@1.0.11: + resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} + hasBin: true + dependencies: + detect-libc: 2.0.2 + https-proxy-agent: 5.0.1 + make-dir: 3.1.0 + node-fetch: 2.6.11 + nopt: 5.0.0 + npmlog: 5.0.1 + rimraf: 3.0.2 + semver: 7.5.1 + tar: 6.2.0 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + optional: true + + /@mapbox/point-geometry@0.1.0: + resolution: {integrity: sha512-6j56HdLTwWGO0fJPlrZtdU/B13q8Uwmo18Ck2GnGgN9PCFyKTZ3UbXeEdRFh18i9XQ92eH2VdtpJHpBD3aripQ==} + dev: false + + /@mapbox/tiny-sdf@1.2.5: + resolution: {integrity: sha512-cD8A/zJlm6fdJOk6DqPUV8mcpyJkRz2x2R+/fYcWDYG3oWbG7/L7Yl/WqQ1VZCjnL9OTIMAn6c+BC5Eru4sQEw==} + dev: false + + /@mapbox/tiny-sdf@2.0.6: + resolution: {integrity: sha512-qMqa27TLw+ZQz5Jk+RcwZGH7BQf5G/TrutJhspsca/3SHwmgKQ1iq+d3Jxz5oysPVYTGP6aXxCo5Lk9Er6YBAA==} + dev: false + + /@mapbox/unitbezier@0.0.0: + resolution: {integrity: sha512-HPnRdYO0WjFjRTSwO3frz1wKaU649OBFPX3Zo/2WZvuRi6zMiRGui8SnPQiQABgqCf8YikDe5t3HViTVw1WUzA==} + dev: false + + /@mapbox/unitbezier@0.0.1: + resolution: {integrity: sha512-nMkuDXFv60aBr9soUG5q+GvZYL+2KZHVvsqFCzqnkGEf46U2fvmytHaEVc1/YZbiLn8X+eR3QzX1+dwDO1lxlw==} + dev: false + + /@mapbox/vector-tile@1.3.1: + resolution: {integrity: sha512-MCEddb8u44/xfQ3oD+Srl/tNcQoqTw3goGk2oLsrFxOTc3dUp+kAnby3PvAeeBYSMSjSPD1nd1AJA6W49WnoUw==} + dependencies: + '@mapbox/point-geometry': 0.1.0 + dev: false + + /@mapbox/whoots-js@3.1.0: + resolution: {integrity: sha512-Es6WcD0nO5l+2BOQS4uLfNPYQaNDfbot3X1XUoloz+x0mPDS3eeORZJl06HXjwBG1fOGwCRnzK88LMdxKRrd6Q==} + engines: {node: '>=6.0.0'} + dev: false + + /@maplibre/maplibre-gl-style-spec@19.3.3: + resolution: {integrity: sha512-cOZZOVhDSulgK0meTsTkmNXb1ahVvmTmWmfx9gRBwc6hq98wS9JP35ESIoNq3xqEan+UN+gn8187Z6E4NKhLsw==} + hasBin: true + dependencies: + '@mapbox/jsonlint-lines-primitives': 2.0.2 + '@mapbox/unitbezier': 0.0.1 + json-stringify-pretty-compact: 3.0.0 + minimist: 1.2.8 + rw: 1.3.3 + sort-object: 3.0.3 + dev: false + + /@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents.3: + resolution: {integrity: sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==} + requiresBuild: true + dev: true + optional: true + + /@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1: + resolution: {integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==} + dependencies: + eslint-scope: 5.1.1 + dev: true + + /@nodelib/fs.scandir@2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + /@nodelib/fs.stat@2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + /@nodelib/fs.walk@1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.15.0 + + /@pkgr/utils@2.4.1: + resolution: {integrity: sha512-JOqwkgFEyi+OROIyq7l4Jy28h/WwhDnG/cPkXG2Z1iFbubB6jsHW1NDvmyOzTBxHr3yg68YGirmh1JUgMqa+9w==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + dependencies: + cross-spawn: 7.0.3 + fast-glob: 3.2.12 + is-glob: 4.0.3 + open: 9.1.0 + picocolors: 1.0.0 + tslib: 2.5.2 + dev: true + + /@pmmmwh/react-refresh-webpack-plugin@0.5.10(react-refresh@0.14.0)(webpack@5.84.1): + resolution: {integrity: sha512-j0Ya0hCFZPd4x40qLzbhGsh9TMtdb+CJQiso+WxLOPNasohq9cc5SNUcwsZaRH6++Xh91Xkm/xHCkuIiIu0LUA==} + engines: {node: '>= 10.13'} + peerDependencies: + '@types/webpack': 4.x || 5.x + react-refresh: '>=0.10.0 <1.0.0' + sockjs-client: ^1.4.0 + type-fest: '>=0.17.0 <4.0.0' + webpack: '>=4.43.0 <6.0.0' + webpack-dev-server: 3.x || 4.x + webpack-hot-middleware: 2.x + webpack-plugin-serve: 0.x || 1.x + peerDependenciesMeta: + '@types/webpack': + optional: true + sockjs-client: + optional: true + type-fest: + optional: true + webpack-dev-server: + optional: true + webpack-hot-middleware: + optional: true + webpack-plugin-serve: + optional: true + dependencies: + ansi-html-community: 0.0.8 + common-path-prefix: 3.0.0 + core-js-pure: 3.30.2 + error-stack-parser: 2.1.4 + find-up: 5.0.0 + html-entities: 2.3.3 + loader-utils: 2.0.4 + react-refresh: 0.14.0 + schema-utils: 3.1.2 + source-map: 0.7.4 + webpack: 5.84.1 + dev: true + + /@polka/url@1.0.0-next.24: + resolution: {integrity: sha512-2LuNTFBIO0m7kKIQvvPHN6UE63VjpmL9rnEEaOOaiSPbZK+zUOYIzBAWcED+3XYzhYsd/0mD57VdxAEqqV52CQ==} + dev: false + + /@probe.gl/env@3.6.0: + resolution: {integrity: sha512-4tTZYUg/8BICC3Yyb9rOeoKeijKbZHRXBEKObrfPmX4sQmYB15ZOUpoVBhAyJkOYVAM8EkPci6Uw5dLCwx2BEQ==} + dependencies: + '@babel/runtime': 7.22.3 + dev: false + + /@probe.gl/log@3.6.0: + resolution: {integrity: sha512-hjpyenpEvOdowgZ1qMeCJxfRD4JkKdlXz0RC14m42Un62NtOT+GpWyKA4LssT0+xyLULCByRAtG2fzZorpIAcA==} + dependencies: + '@babel/runtime': 7.22.3 + '@probe.gl/env': 3.6.0 + dev: false + + /@probe.gl/stats@3.6.0: + resolution: {integrity: sha512-JdALQXB44OP4kUBN/UrQgzbJe4qokbVF4Y8lkIA8iVCFnjVowWIgkD/z/0QO65yELT54tTrtepw1jScjKB+rhQ==} + dependencies: + '@babel/runtime': 7.22.3 + dev: false + + /@qixian.cs/path-to-regexp@6.1.0: + resolution: {integrity: sha512-2jIiLiVZB1jnY7IIRQKtoV8Gnr7XIhk4mC88ONGunZE3hYt5IHUG4BE/6+JiTBjjEWQLBeWnZB8hGpppkufiVw==} + dev: false + + /@radix-ui/popper@0.0.10: + resolution: {integrity: sha512-YFKuPqQPKscreQid7NuB4it3PMzSwGg03vgrud6sVliHkI43QNAOHyrHyMNo015jg6QK5GVDn+7J2W5uygqSGA==} + dependencies: + '@babel/runtime': 7.22.3 + csstype: 3.1.2 + dev: true + + /@rc-component/color-picker@1.1.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-MKYqgEncpISQiZIaj8ykcdzZewgjslEfDo2iHg627jPnt+DbWIKG1T8MS55qXjuxkokgL0cNueyGnOndfaaNKw==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + '@ctrl/tinycolor': 3.6.0 + classnames: 2.3.2 + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /@rc-component/context@1.3.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-6QdaCJ7Wn5UZLJs15IEfqy4Ru3OaL5ctqpQYWd5rlfV9wwzrzdt6+kgAQZV/qdB0MUPN4nhyBfRembQCIvBf+w==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /@rc-component/mini-decimal@1.0.1: + resolution: {integrity: sha512-9N8nRk0oKj1qJzANKl+n9eNSMUGsZtjwNuDCiZ/KA+dt1fE3zq5x2XxclRcAbOIXnZcJ53ozP2Pa60gyELXagA==} + engines: {node: '>=8.x'} + dependencies: + '@babel/runtime': 7.22.3 + + /@rc-component/mutate-observer@1.0.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-okqRJSfNisXdI6CUeOLZC5ukBW/8kir2Ii4PJiKpUt+3+uS7dxwJUMxsUZquxA1rQuL8YcEmKVp/TCnR+yUdZA==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /@rc-component/portal@1.1.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-m8w3dFXX0H6UkJ4wtfrSwhe2/6M08uz24HHrF8pWfAXPwA9hwCuTE5per/C86KwNLouRpwFGcr7LfpHaa1F38g==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /@rc-component/tour@1.8.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-rrRGioHTLQlGca27G2+lw7QpRb3uuMYCUIJjj31/B44VCJS0P2tqYhOgtzvWQmaLMlWH3ZlpzotkKX13NT4XEA==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + '@rc-component/portal': 1.1.1(react-dom@18.2.0)(react@18.2.0) + '@rc-component/trigger': 1.13.3(react-dom@18.2.0)(react@18.2.0) + classnames: 2.3.2 + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /@rc-component/trigger@1.13.3(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-CA4s8QGj2kagp8dmYRVcSIW5IErw/YBxSeFEsQmt6SB0oaj9pj+akkB6O0S/Y6ww5JrIDu9Bukq89se1oW9F3w==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + '@rc-component/portal': 1.1.1(react-dom@18.2.0)(react@18.2.0) + classnames: 2.3.2 + rc-align: 4.0.15(react-dom@18.2.0)(react@18.2.0) + rc-motion: 2.7.3(react-dom@18.2.0)(react@18.2.0) + rc-resize-observer: 1.3.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /@remix-run/router@1.6.2: + resolution: {integrity: sha512-LzqpSrMK/3JBAVBI9u3NWtOhWNw5AMQfrUFYB0+bDHTSw17z++WJLsPsxAuK+oSddsxk4d7F/JcdDPM1M5YAhA==} + engines: {node: '>=14'} + dev: true + + /@sinclair/typebox@0.25.24: + resolution: {integrity: sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==} + dev: true + + /@sinonjs/commons@3.0.0: + resolution: {integrity: sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==} + dependencies: + type-detect: 4.0.8 + dev: true + + /@sinonjs/fake-timers@10.2.0: + resolution: {integrity: sha512-OPwQlEdg40HAj5KNF8WW6q2KG4Z+cBCZb3m4ninfTZKaBmbIJodviQsDBoYMPHkOyJJMHnOJo5j2+LKDOhOACg==} + dependencies: + '@sinonjs/commons': 3.0.0 + dev: true + + /@stylelint/postcss-css-in-js@0.37.3(postcss-syntax@0.36.2)(postcss@7.0.39): + resolution: {integrity: sha512-scLk3cSH1H9KggSniseb2KNAU5D9FWc3H7BxCSAIdtU9OWIyw0zkEZ9qEKHryRM+SExYXRKNb7tOOVNAsQ3iwg==} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. + peerDependencies: + postcss: '>=7.0.0' + postcss-syntax: '>=0.36.2' + dependencies: + '@babel/core': 7.22.1 + postcss: 7.0.39 + postcss-syntax: 0.36.2(postcss-html@0.36.0)(postcss-less@3.1.4)(postcss-scss@2.1.1)(postcss@7.0.39) + transitivePeerDependencies: + - supports-color + dev: true + + /@stylelint/postcss-css-in-js@0.38.0(postcss-syntax@0.36.2)(postcss@8.4.24): + resolution: {integrity: sha512-XOz5CAe49kS95p5yRd+DAIWDojTjfmyAQ4bbDlXMdbZTQ5t0ThjSLvWI6JI2uiS7MFurVBkZ6zUqcimzcLTBoQ==} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. + peerDependencies: + postcss: '>=7.0.0' + postcss-syntax: '>=0.36.2' + dependencies: + '@babel/core': 7.21.0 + postcss: 8.4.24 + postcss-syntax: 0.36.2(postcss@8.4.24) + transitivePeerDependencies: + - supports-color + dev: true + + /@stylelint/postcss-markdown@0.36.2(postcss-syntax@0.36.2)(postcss@7.0.39): + resolution: {integrity: sha512-2kGbqUVJUGE8dM+bMzXG/PYUWKkjLIkRLWNh39OaADkiabDRdw8ATFCgbMz5xdIcvwspPAluSL7uY+ZiTWdWmQ==} + deprecated: 'Use the original unforked package instead: postcss-markdown' + peerDependencies: + postcss: '>=7.0.0' + postcss-syntax: '>=0.36.2' + dependencies: + postcss: 7.0.39 + postcss-syntax: 0.36.2(postcss-html@0.36.0)(postcss-less@3.1.4)(postcss-scss@2.1.1)(postcss@7.0.39) + remark: 13.0.0 + unist-util-find-all-after: 3.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@svgr/babel-plugin-add-jsx-attribute@6.5.1(@babel/core@7.22.1): + resolution: {integrity: sha512-9PYGcXrAxitycIjRmZB+Q0JaN07GZIWaTBIGQzfaZv+qr1n8X1XUEJ5rZ/vx6OVD9RRYlrNnXWExQXcmZeD/BQ==} + engines: {node: '>=10'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + dev: true + + /@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.22.1): + resolution: {integrity: sha512-BcCkm/STipKvbCl6b7QFrMh/vx00vIP63k2eM66MfHJzPr6O2U0jYEViXkHJWqXqQYjdeA9cuCl5KWmlwjDvbA==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + dev: true + + /@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.22.1): + resolution: {integrity: sha512-5BcGCBfBxB5+XSDSWnhTThfI9jcO5f0Ai2V24gZpG+wXF14BzwxxdDb4g6trdOux0rhibGs385BeFMSmxtS3uA==} + engines: {node: '>=14'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + dev: true + + /@svgr/babel-plugin-replace-jsx-attribute-value@6.5.1(@babel/core@7.22.1): + resolution: {integrity: sha512-8DPaVVE3fd5JKuIC29dqyMB54sA6mfgki2H2+swh+zNJoynC8pMPzOkidqHOSc6Wj032fhl8Z0TVn1GiPpAiJg==} + engines: {node: '>=10'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + dev: true + + /@svgr/babel-plugin-svg-dynamic-title@6.5.1(@babel/core@7.22.1): + resolution: {integrity: sha512-FwOEi0Il72iAzlkaHrlemVurgSQRDFbk0OC8dSvD5fSBPHltNh7JtLsxmZUhjYBZo2PpcU/RJvvi6Q0l7O7ogw==} + engines: {node: '>=10'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + dev: true + + /@svgr/babel-plugin-svg-em-dimensions@6.5.1(@babel/core@7.22.1): + resolution: {integrity: sha512-gWGsiwjb4tw+ITOJ86ndY/DZZ6cuXMNE/SjcDRg+HLuCmwpcjOktwRF9WgAiycTqJD/QXqL2f8IzE2Rzh7aVXA==} + engines: {node: '>=10'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + dev: true + + /@svgr/babel-plugin-transform-react-native-svg@6.5.1(@babel/core@7.22.1): + resolution: {integrity: sha512-2jT3nTayyYP7kI6aGutkyfJ7UMGtuguD72OjeGLwVNyfPRBD8zQthlvL+fAbAKk5n9ZNcvFkp/b1lZ7VsYqVJg==} + engines: {node: '>=10'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + dev: true + + /@svgr/babel-plugin-transform-svg-component@6.5.1(@babel/core@7.22.1): + resolution: {integrity: sha512-a1p6LF5Jt33O3rZoVRBqdxL350oge54iZWHNI6LJB5tQ7EelvD/Mb1mfBiZNAan0dt4i3VArkFRjA4iObuNykQ==} + engines: {node: '>=12'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + dev: true + + /@svgr/babel-preset@6.5.1(@babel/core@7.22.1): + resolution: {integrity: sha512-6127fvO/FF2oi5EzSQOAjo1LE3OtNVh11R+/8FXa+mHx1ptAaS4cknIjnUA7e6j6fwGGJ17NzaTJFUwOV2zwCw==} + engines: {node: '>=10'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@svgr/babel-plugin-add-jsx-attribute': 6.5.1(@babel/core@7.22.1) + '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.22.1) + '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.22.1) + '@svgr/babel-plugin-replace-jsx-attribute-value': 6.5.1(@babel/core@7.22.1) + '@svgr/babel-plugin-svg-dynamic-title': 6.5.1(@babel/core@7.22.1) + '@svgr/babel-plugin-svg-em-dimensions': 6.5.1(@babel/core@7.22.1) + '@svgr/babel-plugin-transform-react-native-svg': 6.5.1(@babel/core@7.22.1) + '@svgr/babel-plugin-transform-svg-component': 6.5.1(@babel/core@7.22.1) + dev: true + + /@svgr/core@6.5.1: + resolution: {integrity: sha512-/xdLSWxK5QkqG524ONSjvg3V/FkNyCv538OIBdQqPNaAta3AsXj/Bd2FbvR87yMbXO2hFSWiAe/Q6IkVPDw+mw==} + engines: {node: '>=10'} + dependencies: + '@babel/core': 7.22.1 + '@svgr/babel-preset': 6.5.1(@babel/core@7.22.1) + '@svgr/plugin-jsx': 6.5.1(@svgr/core@6.5.1) + camelcase: 6.3.0 + cosmiconfig: 7.1.0 + transitivePeerDependencies: + - supports-color + dev: true + + /@svgr/hast-util-to-babel-ast@6.5.1: + resolution: {integrity: sha512-1hnUxxjd83EAxbL4a0JDJoD3Dao3hmjvyvyEV8PzWmLK3B9m9NPlW7GKjFyoWE8nM7HnXzPcmmSyOW8yOddSXw==} + engines: {node: '>=10'} + dependencies: + '@babel/types': 7.22.3 + entities: 4.5.0 + dev: true + + /@svgr/plugin-jsx@6.5.1(@svgr/core@6.5.1): + resolution: {integrity: sha512-+UdQxI3jgtSjCykNSlEMuy1jSRQlGC7pqBCPvkG/2dATdWo082zHTTK3uhnAju2/6XpE6B5mZ3z4Z8Ns01S8Gw==} + engines: {node: '>=10'} + peerDependencies: + '@svgr/core': ^6.0.0 + dependencies: + '@babel/core': 7.22.1 + '@svgr/babel-preset': 6.5.1(@babel/core@7.22.1) + '@svgr/core': 6.5.1 + '@svgr/hast-util-to-babel-ast': 6.5.1 + svg-parser: 2.0.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@svgr/plugin-svgo@6.5.1(@svgr/core@6.5.1): + resolution: {integrity: sha512-omvZKf8ixP9z6GWgwbtmP9qQMPX4ODXi+wzbVZgomNFsUIlHA1sf4fThdwTWSsZGgvGAG6yE+b/F5gWUkcZ/iQ==} + engines: {node: '>=10'} + peerDependencies: + '@svgr/core': '*' + dependencies: + '@svgr/core': 6.5.1 + cosmiconfig: 7.1.0 + deepmerge: 4.3.1 + svgo: 2.8.0 + dev: true + + /@tanstack/match-sorter-utils@8.8.4: + resolution: {integrity: sha512-rKH8LjZiszWEvmi01NR72QWZ8m4xmXre0OOwlRGnjU01Eqz/QnN+cqpty2PJ0efHblq09+KilvyR7lsbzmXVEw==} + engines: {node: '>=12'} + dependencies: + remove-accents: 0.4.2 + dev: true + + /@tanstack/query-core@4.29.11: + resolution: {integrity: sha512-8C+hF6SFAb/TlFZyS9FItgNwrw4PMa7YeX+KQYe2ZAiEz6uzg6yIr+QBzPkUwZ/L0bXvGd1sufTm3wotoz+GwQ==} + dev: true + + /@tanstack/react-query-devtools@4.29.11(@tanstack/react-query@4.29.11)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-paOSRfNtUbeo3anTtKgRSaMGplAN2VilmzLR9a3lbVZVCF4EzvL1Xmp4Xv9cDN8kGuv2CZTvUP6lvyxPlKSpew==} + peerDependencies: + '@tanstack/react-query': 4.29.11 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@tanstack/match-sorter-utils': 8.8.4 + '@tanstack/react-query': 4.29.11(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + superjson: 1.12.3 + use-sync-external-store: 1.2.0(react@18.2.0) + dev: true + + /@tanstack/react-query@4.29.11(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-aLaOAhBnCr12YKPjDsZOc0fAtkyaW7f9KfVfw49oYpfe0H9EPXBUgDBIKJ8qdHF3uGzTVSMcmpiw1Za41BLZlw==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-native: '*' + peerDependenciesMeta: + react-dom: + optional: true + react-native: + optional: true + dependencies: + '@tanstack/query-core': 4.29.11 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + use-sync-external-store: 1.2.0(react@18.2.0) + dev: true + + /@testing-library/dom@8.20.0: + resolution: {integrity: sha512-d9ULIT+a4EXLX3UU8FBjauG9NnsZHkHztXoIcTsOKoOw030fyjheN9svkTULjJxtYag9DZz5Jz5qkWZDPxTFwA==} + engines: {node: '>=12'} + dependencies: + '@babel/code-frame': 7.21.4 + '@babel/runtime': 7.22.3 + '@types/aria-query': 5.0.1 + aria-query: 5.1.3 + chalk: 4.1.2 + dom-accessibility-api: 0.5.16 + lz-string: 1.5.0 + pretty-format: 27.5.1 + dev: true + + /@testing-library/react@13.4.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw==} + engines: {node: '>=12'} + peerDependencies: + react: ^18.0.0 + react-dom: ^18.0.0 + dependencies: + '@babel/runtime': 7.22.3 + '@testing-library/dom': 8.20.0 + '@types/react-dom': 18.2.4 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: true + + /@tootallnate/once@1.1.2: + resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} + engines: {node: '>= 6'} + dev: false + + /@tootallnate/once@2.0.0: + resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} + engines: {node: '>= 10'} + + /@trysound/sax@0.2.0: + resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} + engines: {node: '>=10.13.0'} + dev: true + + /@tsconfig/node10@1.0.9: + resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} + dev: true + + /@tsconfig/node12@1.0.11: + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} + dev: true + + /@tsconfig/node14@1.0.3: + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} + dev: true + + /@tsconfig/node16@1.0.4: + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + dev: true + + /@turf/bbox-polygon@6.5.0: + resolution: {integrity: sha512-+/r0NyL1lOG3zKZmmf6L8ommU07HliP4dgYToMoTxqzsWzyLjaj/OzgQ8rBmv703WJX+aS6yCmLuIhYqyufyuw==} + dependencies: + '@turf/helpers': 6.5.0 + dev: false + + /@turf/bbox@6.5.0: + resolution: {integrity: sha512-RBbLaao5hXTYyyg577iuMtDB8ehxMlUqHEJiMs8jT1GHkFhr6sYre3lmLsPeYEi/ZKj5TP5tt7fkzNdJ4GIVyw==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/meta': 6.5.0 + dev: false + + /@turf/clone@6.5.0: + resolution: {integrity: sha512-mzVtTFj/QycXOn6ig+annKrM6ZlimreKYz6f/GSERytOpgzodbQyOgkfwru100O1KQhhjSudKK4DsQ0oyi9cTw==} + dependencies: + '@turf/helpers': 6.5.0 + dev: false + + /@turf/helpers@6.5.0: + resolution: {integrity: sha512-VbI1dV5bLFzohYYdgqwikdMVpe7pJ9X3E+dlr425wa2/sMJqYDhTO++ec38/pcPvPE6oD9WEEeU3Xu3gza+VPw==} + dev: false + + /@turf/invariant@6.5.0: + resolution: {integrity: sha512-Wv8PRNCtPD31UVbdJE/KVAWKe7l6US+lJItRR/HOEW3eh+U/JwRCSUl/KZ7bmjM/C+zLNoreM2TU6OoLACs4eg==} + dependencies: + '@turf/helpers': 6.5.0 + dev: false + + /@turf/meta@6.5.0: + resolution: {integrity: sha512-RrArvtsV0vdsCBegoBtOalgdSOfkBrTJ07VkpiCnq/491W67hnMWmDu7e6Ztw0C3WldRYTXkg3SumfdzZxLBHA==} + dependencies: + '@turf/helpers': 6.5.0 + dev: false + + /@turf/polygon-to-line@6.5.0: + resolution: {integrity: sha512-5p4n/ij97EIttAq+ewSnKt0ruvuM+LIDzuczSzuHTpq4oS7Oq8yqg5TQ4nzMVuK41r/tALCk7nAoBuw3Su4Gcw==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + dev: false + + /@turf/union@6.5.0: + resolution: {integrity: sha512-igYWCwP/f0RFHIlC2c0SKDuM/ObBaqSljI3IdV/x71805QbIvY/BYGcJdyNcgEA6cylIGl/0VSlIbpJHZ9ldhw==} + dependencies: + '@turf/helpers': 6.5.0 + '@turf/invariant': 6.5.0 + polygon-clipping: 0.15.7 + dev: false + + /@types/aria-query@5.0.1: + resolution: {integrity: sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==} + dev: true + + /@types/babel__core@7.20.1: + resolution: {integrity: sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==} + dependencies: + '@babel/parser': 7.22.3 + '@babel/types': 7.22.3 + '@types/babel__generator': 7.6.4 + '@types/babel__template': 7.4.1 + '@types/babel__traverse': 7.20.0 + dev: true + + /@types/babel__generator@7.6.4: + resolution: {integrity: sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==} + dependencies: + '@babel/types': 7.22.3 + dev: true + + /@types/babel__template@7.4.1: + resolution: {integrity: sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==} + dependencies: + '@babel/parser': 7.22.3 + '@babel/types': 7.22.3 + dev: true + + /@types/babel__traverse@7.20.0: + resolution: {integrity: sha512-TBOjqAGf0hmaqRwpii5LLkJLg7c6OMm4nHLmpsUxwk9bBHtoTC6dAHdVWdGv4TBxj2CZOZY8Xfq8WmfoVi7n4Q==} + dependencies: + '@babel/types': 7.22.3 + dev: true + + /@types/body-parser@1.19.2: + resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} + dependencies: + '@types/connect': 3.4.35 + '@types/node': 20.2.5 + dev: true + + /@types/classnames@2.3.1: + resolution: {integrity: sha512-zeOWb0JGBoVmlQoznvqXbE0tEC/HONsnoUNH19Hc96NFsTAwTXbTqb8FMYkru1F/iqp7a18Ws3nWJvtA1sHD1A==} + deprecated: This is a stub types definition. classnames provides its own type definitions, so you do not need this installed. + dependencies: + classnames: 2.3.2 + dev: true + + /@types/connect@3.4.35: + resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} + dependencies: + '@types/node': 20.2.5 + dev: true + + /@types/d3-timer@2.0.3: + resolution: {integrity: sha512-jhAJzaanK5LqyLQ50jJNIrB8fjL9gwWZTgYjevPvkDLMU+kTAZkYsobI59nYoeSrH1PucuyJEi247Pb90t6XUg==} + dev: false + + /@types/eslint-scope@3.7.4: + resolution: {integrity: sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==} + dependencies: + '@types/eslint': 8.40.0 + '@types/estree': 1.0.1 + + /@types/eslint@7.29.0: + resolution: {integrity: sha512-VNcvioYDH8/FxaeTKkM4/TiTwt6pBV9E3OfGmvaw8tPl0rrHCJ4Ll15HRT+pMiFAf/MLQvAzC+6RzUMEL9Ceng==} + dependencies: + '@types/estree': 1.0.1 + '@types/json-schema': 7.0.12 + dev: true + + /@types/eslint@8.40.0: + resolution: {integrity: sha512-nbq2mvc/tBrK9zQQuItvjJl++GTN5j06DaPtp3hZCpngmG6Q3xoyEmd0TwZI0gAy/G1X0zhGBbr2imsGFdFV0g==} + dependencies: + '@types/estree': 1.0.1 + '@types/json-schema': 7.0.12 + + /@types/estree@1.0.1: + resolution: {integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==} + + /@types/express-serve-static-core@4.17.35: + resolution: {integrity: sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==} + dependencies: + '@types/node': 20.2.5 + '@types/qs': 6.9.7 + '@types/range-parser': 1.2.4 + '@types/send': 0.17.1 + dev: true + + /@types/express@4.17.17: + resolution: {integrity: sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==} + dependencies: + '@types/body-parser': 1.19.2 + '@types/express-serve-static-core': 4.17.35 + '@types/qs': 6.9.7 + '@types/serve-static': 1.15.1 + dev: true + + /@types/fabric@5.3.6: + resolution: {integrity: sha512-nTP5I68SsGnanIHxCoBX83ghscw9M9DI27iSDcd0Z+cpiQ5cZByH0nzkm4itDR/LgAy253q7B93xHgyOh2+hFQ==} + dev: true + + /@types/geojson@7946.0.13: + resolution: {integrity: sha512-bmrNrgKMOhM3WsafmbGmC+6dsF2Z308vLFsQ3a/bT8X8Sv5clVYpPars/UPq+sAaJP+5OoLAYgwbkS5QEJdLUQ==} + dev: false + + /@types/glob@7.2.0: + resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} + dependencies: + '@types/minimatch': 5.1.2 + '@types/node': 20.2.5 + dev: true + + /@types/graceful-fs@4.1.6: + resolution: {integrity: sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw==} + dependencies: + '@types/node': 20.2.5 + dev: true + + /@types/hapi__joi@17.1.9: + resolution: {integrity: sha512-oOMFT8vmCTFncsF1engrs04jatz8/Anwx3De9uxnOK4chgSEgWBvFtpSoJo8u3784JNO+ql5tzRR6phHoRnscQ==} + dev: true + + /@types/history@4.7.11: + resolution: {integrity: sha512-qjDJRrmvBMiTx+jyLxvLfJU7UznFuokDv4f3WRuriHKERccVpFU+8XMQUAbDzoiJCsmexxRExQeMwwCdamSKDA==} + dev: true + + /@types/hoist-non-react-statics@3.3.1: + resolution: {integrity: sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==} + dependencies: + '@types/react': 18.2.7 + hoist-non-react-statics: 3.3.2 + dev: true + + /@types/html-minifier-terser@6.1.0: + resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==} + dev: true + + /@types/invariant@2.2.35: + resolution: {integrity: sha512-DxX1V9P8zdJPYQat1gHyY0xj3efl8gnMVjiM9iCY6y27lj+PoQWkgjt8jDqmovPqULkKVpKRg8J36iQiA+EtEg==} + dev: true + + /@types/isomorphic-fetch@0.0.34: + resolution: {integrity: sha512-BmJKuPCZCR6pbYYgi5nKFJrPC4pLoBgsi/B1nFN64Ba+hLLGUcKPIh7eVlR2xG763Ap08hgQafq/Wx4RFb0omQ==} + dev: true + + /@types/istanbul-lib-coverage@2.0.4: + resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==} + dev: true + + /@types/istanbul-lib-report@3.0.0: + resolution: {integrity: sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==} + dependencies: + '@types/istanbul-lib-coverage': 2.0.4 + dev: true + + /@types/istanbul-reports@3.0.1: + resolution: {integrity: sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==} + dependencies: + '@types/istanbul-lib-report': 3.0.0 + dev: true + + /@types/jest@29.5.1: + resolution: {integrity: sha512-tEuVcHrpaixS36w7hpsfLBLpjtMRJUE09/MHXn923LOVojDwyC14cWcfc0rDs0VEfUyYmt/+iX1kxxp+gZMcaQ==} + dependencies: + expect: 29.5.0 + pretty-format: 29.5.0 + dev: true + + /@types/js-cookie@2.2.7: + resolution: {integrity: sha512-aLkWa0C0vO5b4Sr798E26QgOkss68Un0bLjs7u9qxzPT5CG+8DuNTffWES58YzJs3hrVAOs1wonycqEBqNJubA==} + + /@types/js-yaml@4.0.8: + resolution: {integrity: sha512-m6jnPk1VhlYRiLFm3f8X9Uep761f+CK8mHyS65LutH2OhmBF0BeMEjHgg05usH8PLZMWWc/BUR9RPmkvpWnyRA==} + dev: true + + /@types/jsdom@20.0.1: + resolution: {integrity: sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==} + dependencies: + '@types/node': 20.2.5 + '@types/tough-cookie': 4.0.2 + parse5: 7.1.2 + dev: true + + /@types/json-schema@7.0.12: + resolution: {integrity: sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==} + + /@types/lodash@4.14.195: + resolution: {integrity: sha512-Hwx9EUgdwf2GLarOjQp5ZH8ZmblzcbTBC2wtQWNKARBSxM9ezRIAUpeDTgoQRAFB0+8CNWXVA9+MaSOzOF3nPg==} + dev: true + + /@types/mapbox__point-geometry@0.1.4: + resolution: {integrity: sha512-mUWlSxAmYLfwnRBmgYV86tgYmMIICX4kza8YnE/eIlywGe2XoOxlpVnXWwir92xRLjwyarqwpu2EJKD2pk0IUA==} + dev: false + + /@types/mapbox__vector-tile@1.3.4: + resolution: {integrity: sha512-bpd8dRn9pr6xKvuEBQup8pwQfD4VUyqO/2deGjfpe6AwC8YRlyEipvefyRJUSiCJTZuCb8Pl1ciVV5ekqJ96Bg==} + dependencies: + '@types/geojson': 7946.0.13 + '@types/mapbox__point-geometry': 0.1.4 + '@types/pbf': 3.0.5 + dev: false + + /@types/mdast@3.0.11: + resolution: {integrity: sha512-Y/uImid8aAwrEA24/1tcRZwpxX3pIFTSilcNDKSPn+Y2iDywSEachzRuvgAYYLR3wpGXAsMbv5lvKLDZLeYPAw==} + dependencies: + '@types/unist': 2.0.6 + dev: true + + /@types/mime@1.3.2: + resolution: {integrity: sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==} + dev: true + + /@types/mime@3.0.1: + resolution: {integrity: sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==} + dev: true + + /@types/minimatch@5.1.2: + resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} + dev: true + + /@types/minimist@1.2.2: + resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} + dev: true + + /@types/node@12.20.55: + resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} + dev: true + + /@types/node@20.2.5: + resolution: {integrity: sha512-JJulVEQXmiY9Px5axXHeYGLSjhkZEnD+MDPDGbCbIAbMslkKwmygtZFy1X6s/075Yo94sf8GuSlFfPzysQrWZQ==} + + /@types/normalize-package-data@2.4.1: + resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} + dev: true + + /@types/parse-json@4.0.0: + resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} + + /@types/pbf@3.0.5: + resolution: {integrity: sha512-j3pOPiEcWZ34R6a6mN07mUkM4o4Lwf6hPNt8eilOeZhTFbxFXmKhvXl9Y28jotFPaI1bpPDJsbCprUoNke6OrA==} + dev: false + + /@types/prettier@2.7.2: + resolution: {integrity: sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==} + dev: true + + /@types/prop-types@15.7.5: + resolution: {integrity: sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==} + dev: true + + /@types/qs@6.9.7: + resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} + dev: true + + /@types/range-parser@1.2.4: + resolution: {integrity: sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==} + dev: true + + /@types/react-dom@18.2.4: + resolution: {integrity: sha512-G2mHoTMTL4yoydITgOGwWdWMVd8sNgyEP85xVmMKAPUBwQWm9wBPQUmvbeF4V3WBY1P7mmL4BkjQ0SqUpf1snw==} + dependencies: + '@types/react': 18.2.7 + dev: true + + /@types/react-helmet@6.1.6: + resolution: {integrity: sha512-ZKcoOdW/Tg+kiUbkFCBtvDw0k3nD4HJ/h/B9yWxN4uDO8OkRksWTO+EL+z/Qu3aHTeTll3Ro0Cc/8UhwBCMG5A==} + dependencies: + '@types/react': 18.2.7 + dev: true + + /@types/react-redux@7.1.25: + resolution: {integrity: sha512-bAGh4e+w5D8dajd6InASVIyCo4pZLJ66oLb80F9OBLO1gKESbZcRCJpTT6uLXX+HAB57zw1WTdwJdAsewuTweg==} + dependencies: + '@types/hoist-non-react-statics': 3.3.1 + '@types/react': 18.2.7 + hoist-non-react-statics: 3.3.2 + redux: 4.2.1 + dev: true + + /@types/react-router-dom@4.3.5: + resolution: {integrity: sha512-eFajSUASYbPHg2BDM1G8Btx+YqGgvROPIg6sBhl3O4kbDdYXdFdfrgQFf/pcBuQVObjfT9AL/dd15jilR5DIEA==} + dependencies: + '@types/history': 4.7.11 + '@types/react': 18.2.7 + '@types/react-router': 5.1.20 + dev: true + + /@types/react-router-redux@5.0.22: + resolution: {integrity: sha512-0Vcr0HzpZTC+PQVY6vGJ57yv1hFZSPFs/QHqYPbn2uEDKUYBV3dAZQtoTYhsa1bGqRE91yedgX29AM68FlxfmA==} + dependencies: + '@types/history': 4.7.11 + '@types/react': 18.2.7 + '@types/react-router': 5.1.20 + redux: 4.2.1 + dev: true + + /@types/react-router@5.1.20: + resolution: {integrity: sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==} + dependencies: + '@types/history': 4.7.11 + '@types/react': 18.2.7 + dev: true + + /@types/react@18.2.7: + resolution: {integrity: sha512-ojrXpSH2XFCmHm7Jy3q44nXDyN54+EYKP2lBhJ2bqfyPj6cIUW/FZW/Csdia34NQgq7KYcAlHi5184m4X88+yw==} + dependencies: + '@types/prop-types': 15.7.5 + '@types/scheduler': 0.16.3 + csstype: 3.1.2 + dev: true + + /@types/scheduler@0.16.3: + resolution: {integrity: sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==} + dev: true + + /@types/semver@7.5.0: + resolution: {integrity: sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==} + dev: true + + /@types/send@0.17.1: + resolution: {integrity: sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==} + dependencies: + '@types/mime': 1.3.2 + '@types/node': 20.2.5 + dev: true + + /@types/serve-static@1.15.1: + resolution: {integrity: sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ==} + dependencies: + '@types/mime': 3.0.1 + '@types/node': 20.2.5 + dev: true + + /@types/stack-utils@2.0.1: + resolution: {integrity: sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==} + dev: true + + /@types/supercluster@7.1.3: + resolution: {integrity: sha512-Z0pOY34GDFl3Q6hUFYf3HkTwKEE02e7QgtJppBt+beEAxnyOpJua+voGFvxINBHa06GwLFFym7gRPY2SiKIfIA==} + dependencies: + '@types/geojson': 7946.0.13 + dev: false + + /@types/tough-cookie@4.0.2: + resolution: {integrity: sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==} + dev: true + + /@types/unist@2.0.6: + resolution: {integrity: sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==} + dev: true + + /@types/use-sync-external-store@0.0.3: + resolution: {integrity: sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==} + dev: true + + /@types/yargs-parser@21.0.0: + resolution: {integrity: sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==} + dev: true + + /@types/yargs@16.0.5: + resolution: {integrity: sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ==} + dependencies: + '@types/yargs-parser': 21.0.0 + dev: true + + /@types/yargs@17.0.24: + resolution: {integrity: sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==} + dependencies: + '@types/yargs-parser': 21.0.0 + dev: true + + /@typescript-eslint/eslint-plugin@5.48.1(@typescript-eslint/parser@5.48.1)(eslint@8.35.0)(typescript@5.0.2): + resolution: {integrity: sha512-9nY5K1Rp2ppmpb9s9S2aBiF3xo5uExCehMDmYmmFqqyxgenbHJ3qbarcLt4ITgaD6r/2ypdlcFRdcuVPnks+fQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + '@typescript-eslint/parser': ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/parser': 5.48.1(eslint@8.35.0)(typescript@5.0.2) + '@typescript-eslint/scope-manager': 5.48.1 + '@typescript-eslint/type-utils': 5.48.1(eslint@8.35.0)(typescript@5.0.2) + '@typescript-eslint/utils': 5.48.1(eslint@8.35.0)(typescript@5.0.2) + debug: 4.3.4(supports-color@5.5.0) + eslint: 8.35.0 + ignore: 5.2.4 + natural-compare-lite: 1.4.0 + regexpp: 3.2.0 + semver: 7.5.1 + tsutils: 3.21.0(typescript@5.0.2) + typescript: 5.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/eslint-plugin@5.48.1(@typescript-eslint/parser@5.48.1)(eslint@8.41.0)(typescript@5.0.2): + resolution: {integrity: sha512-9nY5K1Rp2ppmpb9s9S2aBiF3xo5uExCehMDmYmmFqqyxgenbHJ3qbarcLt4ITgaD6r/2ypdlcFRdcuVPnks+fQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + '@typescript-eslint/parser': ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/parser': 5.48.1(eslint@8.41.0)(typescript@5.0.2) + '@typescript-eslint/scope-manager': 5.48.1 + '@typescript-eslint/type-utils': 5.48.1(eslint@8.41.0)(typescript@5.0.2) + '@typescript-eslint/utils': 5.48.1(eslint@8.41.0)(typescript@5.0.2) + debug: 4.3.4(supports-color@5.5.0) + eslint: 8.41.0 + ignore: 5.2.4 + natural-compare-lite: 1.4.0 + regexpp: 3.2.0 + semver: 7.5.1 + tsutils: 3.21.0(typescript@5.0.2) + typescript: 5.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/eslint-plugin@5.59.7(@typescript-eslint/parser@5.59.7)(eslint@7.32.0)(typescript@4.9.5): + resolution: {integrity: sha512-BL+jYxUFIbuYwy+4fF86k5vdT9lT0CNJ6HtwrIvGh0PhH8s0yy5rjaKH2fDCrz5ITHy07WCzVGNvAmjJh4IJFA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + '@typescript-eslint/parser': ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@eslint-community/regexpp': 4.5.1 + '@typescript-eslint/parser': 5.59.7(eslint@7.32.0)(typescript@4.9.5) + '@typescript-eslint/scope-manager': 5.59.7 + '@typescript-eslint/type-utils': 5.59.7(eslint@7.32.0)(typescript@4.9.5) + '@typescript-eslint/utils': 5.59.7(eslint@7.32.0)(typescript@4.9.5) + debug: 4.3.4(supports-color@5.5.0) + eslint: 7.32.0 + grapheme-splitter: 1.0.4 + ignore: 5.2.4 + natural-compare-lite: 1.4.0 + semver: 7.5.1 + tsutils: 3.21.0(typescript@4.9.5) + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/experimental-utils@4.33.0(eslint@7.32.0)(typescript@4.9.5): + resolution: {integrity: sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q==} + engines: {node: ^10.12.0 || >=12.0.0} + peerDependencies: + eslint: '*' + dependencies: + '@types/json-schema': 7.0.12 + '@typescript-eslint/scope-manager': 4.33.0 + '@typescript-eslint/types': 4.33.0 + '@typescript-eslint/typescript-estree': 4.33.0(typescript@4.9.5) + eslint: 7.32.0 + eslint-scope: 5.1.1 + eslint-utils: 3.0.0(eslint@7.32.0) + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/parser@5.48.1(eslint@8.35.0)(typescript@5.0.2): + resolution: {integrity: sha512-4yg+FJR/V1M9Xoq56SF9Iygqm+r5LMXvheo6DQ7/yUWynQ4YfCRnsKuRgqH4EQ5Ya76rVwlEpw4Xu+TgWQUcdA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 5.48.1 + '@typescript-eslint/types': 5.48.1 + '@typescript-eslint/typescript-estree': 5.48.1(typescript@5.0.2) + debug: 4.3.4(supports-color@5.5.0) + eslint: 8.35.0 + typescript: 5.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/parser@5.48.1(eslint@8.41.0)(typescript@5.0.2): + resolution: {integrity: sha512-4yg+FJR/V1M9Xoq56SF9Iygqm+r5LMXvheo6DQ7/yUWynQ4YfCRnsKuRgqH4EQ5Ya76rVwlEpw4Xu+TgWQUcdA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 5.48.1 + '@typescript-eslint/types': 5.48.1 + '@typescript-eslint/typescript-estree': 5.48.1(typescript@5.0.2) + debug: 4.3.4(supports-color@5.5.0) + eslint: 8.41.0 + typescript: 5.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/parser@5.59.7(eslint@7.32.0)(typescript@4.9.5): + resolution: {integrity: sha512-VhpsIEuq/8i5SF+mPg9jSdIwgMBBp0z9XqjiEay+81PYLJuroN+ET1hM5IhkiYMJd9MkTz8iJLt7aaGAgzWUbQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 5.59.7 + '@typescript-eslint/types': 5.59.7 + '@typescript-eslint/typescript-estree': 5.59.7(typescript@4.9.5) + debug: 4.3.4(supports-color@5.5.0) + eslint: 7.32.0 + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/scope-manager@4.33.0: + resolution: {integrity: sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==} + engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} + dependencies: + '@typescript-eslint/types': 4.33.0 + '@typescript-eslint/visitor-keys': 4.33.0 + dev: true + + /@typescript-eslint/scope-manager@5.48.1: + resolution: {integrity: sha512-S035ueRrbxRMKvSTv9vJKIWgr86BD8s3RqoRZmsSh/s8HhIs90g6UlK8ZabUSjUZQkhVxt7nmZ63VJ9dcZhtDQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.48.1 + '@typescript-eslint/visitor-keys': 5.48.1 + dev: true + + /@typescript-eslint/scope-manager@5.59.7: + resolution: {integrity: sha512-FL6hkYWK9zBGdxT2wWEd2W8ocXMu3K94i3gvMrjXpx+koFYdYV7KprKfirpgY34vTGzEPPuKoERpP8kD5h7vZQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.59.7 + '@typescript-eslint/visitor-keys': 5.59.7 + dev: true + + /@typescript-eslint/type-utils@5.48.1(eslint@8.35.0)(typescript@5.0.2): + resolution: {integrity: sha512-Hyr8HU8Alcuva1ppmqSYtM/Gp0q4JOp1F+/JH5D1IZm/bUBrV0edoewQZiEc1r6I8L4JL21broddxK8HAcZiqQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '*' + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 5.48.1(typescript@5.0.2) + '@typescript-eslint/utils': 5.48.1(eslint@8.35.0)(typescript@5.0.2) + debug: 4.3.4(supports-color@5.5.0) + eslint: 8.35.0 + tsutils: 3.21.0(typescript@5.0.2) + typescript: 5.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/type-utils@5.48.1(eslint@8.41.0)(typescript@5.0.2): + resolution: {integrity: sha512-Hyr8HU8Alcuva1ppmqSYtM/Gp0q4JOp1F+/JH5D1IZm/bUBrV0edoewQZiEc1r6I8L4JL21broddxK8HAcZiqQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '*' + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 5.48.1(typescript@5.0.2) + '@typescript-eslint/utils': 5.48.1(eslint@8.41.0)(typescript@5.0.2) + debug: 4.3.4(supports-color@5.5.0) + eslint: 8.41.0 + tsutils: 3.21.0(typescript@5.0.2) + typescript: 5.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/type-utils@5.59.7(eslint@7.32.0)(typescript@4.9.5): + resolution: {integrity: sha512-ozuz/GILuYG7osdY5O5yg0QxXUAEoI4Go3Do5xeu+ERH9PorHBPSdvD3Tjp2NN2bNLh1NJQSsQu2TPu/Ly+HaQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '*' + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 5.59.7(typescript@4.9.5) + '@typescript-eslint/utils': 5.59.7(eslint@7.32.0)(typescript@4.9.5) + debug: 4.3.4(supports-color@5.5.0) + eslint: 7.32.0 + tsutils: 3.21.0(typescript@4.9.5) + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/types@4.33.0: + resolution: {integrity: sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==} + engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} + dev: true + + /@typescript-eslint/types@5.48.1: + resolution: {integrity: sha512-xHyDLU6MSuEEdIlzrrAerCGS3T7AA/L8Hggd0RCYBi0w3JMvGYxlLlXHeg50JI9Tfg5MrtsfuNxbS/3zF1/ATg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@typescript-eslint/types@5.59.7: + resolution: {integrity: sha512-UnVS2MRRg6p7xOSATscWkKjlf/NDKuqo5TdbWck6rIRZbmKpVNTLALzNvcjIfHBE7736kZOFc/4Z3VcZwuOM/A==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@typescript-eslint/typescript-estree@4.33.0(typescript@4.9.5): + resolution: {integrity: sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==} + engines: {node: ^10.12.0 || >=12.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 4.33.0 + '@typescript-eslint/visitor-keys': 4.33.0 + debug: 4.3.4(supports-color@5.5.0) + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.5.1 + tsutils: 3.21.0(typescript@4.9.5) + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/typescript-estree@5.48.1(typescript@5.0.2): + resolution: {integrity: sha512-Hut+Osk5FYr+sgFh8J/FHjqX6HFcDzTlWLrFqGoK5kVUN3VBHF/QzZmAsIXCQ8T/W9nQNBTqalxi1P3LSqWnRA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 5.48.1 + '@typescript-eslint/visitor-keys': 5.48.1 + debug: 4.3.4(supports-color@5.5.0) + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.5.1 + tsutils: 3.21.0(typescript@5.0.2) + typescript: 5.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/typescript-estree@5.59.7(typescript@4.9.5): + resolution: {integrity: sha512-4A1NtZ1I3wMN2UGDkU9HMBL+TIQfbrh4uS0WDMMpf3xMRursDbqEf1ahh6vAAe3mObt8k3ZATnezwG4pdtWuUQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 5.59.7 + '@typescript-eslint/visitor-keys': 5.59.7 + debug: 4.3.4(supports-color@5.5.0) + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.5.1 + tsutils: 3.21.0(typescript@4.9.5) + typescript: 4.9.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/typescript-estree@5.59.7(typescript@5.0.2): + resolution: {integrity: sha512-4A1NtZ1I3wMN2UGDkU9HMBL+TIQfbrh4uS0WDMMpf3xMRursDbqEf1ahh6vAAe3mObt8k3ZATnezwG4pdtWuUQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 5.59.7 + '@typescript-eslint/visitor-keys': 5.59.7 + debug: 4.3.4(supports-color@5.5.0) + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.5.1 + tsutils: 3.21.0(typescript@5.0.2) + typescript: 5.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/utils@5.48.1(eslint@8.35.0)(typescript@5.0.2): + resolution: {integrity: sha512-SmQuSrCGUOdmGMwivW14Z0Lj8dxG1mOFZ7soeJ0TQZEJcs3n5Ndgkg0A4bcMFzBELqLJ6GTHnEU+iIoaD6hFGA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@types/json-schema': 7.0.12 + '@types/semver': 7.5.0 + '@typescript-eslint/scope-manager': 5.48.1 + '@typescript-eslint/types': 5.48.1 + '@typescript-eslint/typescript-estree': 5.48.1(typescript@5.0.2) + eslint: 8.35.0 + eslint-scope: 5.1.1 + eslint-utils: 3.0.0(eslint@8.35.0) + semver: 7.5.1 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/utils@5.48.1(eslint@8.41.0)(typescript@5.0.2): + resolution: {integrity: sha512-SmQuSrCGUOdmGMwivW14Z0Lj8dxG1mOFZ7soeJ0TQZEJcs3n5Ndgkg0A4bcMFzBELqLJ6GTHnEU+iIoaD6hFGA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@types/json-schema': 7.0.12 + '@types/semver': 7.5.0 + '@typescript-eslint/scope-manager': 5.48.1 + '@typescript-eslint/types': 5.48.1 + '@typescript-eslint/typescript-estree': 5.48.1(typescript@5.0.2) + eslint: 8.41.0 + eslint-scope: 5.1.1 + eslint-utils: 3.0.0(eslint@8.41.0) + semver: 7.5.1 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/utils@5.59.7(eslint@7.32.0)(typescript@4.9.5): + resolution: {integrity: sha512-yCX9WpdQKaLufz5luG4aJbOpdXf/fjwGMcLFXZVPUz3QqLirG5QcwwnIHNf8cjLjxK4qtzTO8udUtMQSAToQnQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@7.32.0) + '@types/json-schema': 7.0.12 + '@types/semver': 7.5.0 + '@typescript-eslint/scope-manager': 5.59.7 + '@typescript-eslint/types': 5.59.7 + '@typescript-eslint/typescript-estree': 5.59.7(typescript@4.9.5) + eslint: 7.32.0 + eslint-scope: 5.1.1 + semver: 7.5.1 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/utils@5.59.7(eslint@8.35.0)(typescript@5.0.2): + resolution: {integrity: sha512-yCX9WpdQKaLufz5luG4aJbOpdXf/fjwGMcLFXZVPUz3QqLirG5QcwwnIHNf8cjLjxK4qtzTO8udUtMQSAToQnQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.35.0) + '@types/json-schema': 7.0.12 + '@types/semver': 7.5.0 + '@typescript-eslint/scope-manager': 5.59.7 + '@typescript-eslint/types': 5.59.7 + '@typescript-eslint/typescript-estree': 5.59.7(typescript@5.0.2) + eslint: 8.35.0 + eslint-scope: 5.1.1 + semver: 7.5.1 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/utils@5.59.7(eslint@8.41.0)(typescript@5.0.2): + resolution: {integrity: sha512-yCX9WpdQKaLufz5luG4aJbOpdXf/fjwGMcLFXZVPUz3QqLirG5QcwwnIHNf8cjLjxK4qtzTO8udUtMQSAToQnQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.41.0) + '@types/json-schema': 7.0.12 + '@types/semver': 7.5.0 + '@typescript-eslint/scope-manager': 5.59.7 + '@typescript-eslint/types': 5.59.7 + '@typescript-eslint/typescript-estree': 5.59.7(typescript@5.0.2) + eslint: 8.41.0 + eslint-scope: 5.1.1 + semver: 7.5.1 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/visitor-keys@4.33.0: + resolution: {integrity: sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==} + engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} + dependencies: + '@typescript-eslint/types': 4.33.0 + eslint-visitor-keys: 2.1.0 + dev: true + + /@typescript-eslint/visitor-keys@5.48.1: + resolution: {integrity: sha512-Ns0XBwmfuX7ZknznfXozgnydyR8F6ev/KEGePP4i74uL3ArsKbEhJ7raeKr1JSa997DBDwol/4a0Y+At82c9dA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.48.1 + eslint-visitor-keys: 3.4.1 + dev: true + + /@typescript-eslint/visitor-keys@5.59.7: + resolution: {integrity: sha512-tyN+X2jvMslUszIiYbF0ZleP+RqQsFVpGrKI6e0Eet1w8WmhsAtmzaqm8oM8WJQ1ysLwhnsK/4hYHJjOgJVfQQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.59.7 + eslint-visitor-keys: 3.4.1 + dev: true + + /@umijs/ast@4.0.69: + resolution: {integrity: sha512-Bsq9j00EHL5owk3KpfZyGB65JZ29wyd8w1WBHWjgKX1LkKmiprV73E6DgFjIyNVNw3mX2r2HNtmFPJycmJR0mw==} + dependencies: + '@umijs/bundler-utils': 4.0.69 + transitivePeerDependencies: + - supports-color + dev: true + + /@umijs/babel-preset-umi@4.0.69(styled-components@5.3.11): + resolution: {integrity: sha512-0978ONVhvUuu0c5CRcwaMZYrvNYjmNaTD0JRNZQMaT9/2H65rnj9dazY4OT07dSEN9ZKIcJb3mTalNdVw2/rHA==} + dependencies: + '@babel/runtime': 7.21.0 + '@bloomberg/record-tuple-polyfill': 0.0.4 + '@umijs/bundler-utils': 4.0.69 + '@umijs/utils': 4.0.69 + babel-plugin-styled-components: 2.1.1(styled-components@5.3.11) + core-js: 3.28.0 + transitivePeerDependencies: + - styled-components + - supports-color + dev: true + + /@umijs/bundler-esbuild@4.0.69: + resolution: {integrity: sha512-3WcjSnQT818pSZsgE+Q10ADA+e8Co1Wd1M3Hxk05hLoIpUlMXkA5E/NS/C0UY+D3g/4R9zoxd7oqSvT62VEajw==} + hasBin: true + dependencies: + '@umijs/bundler-utils': 4.0.69 + '@umijs/utils': 4.0.69 + enhanced-resolve: 5.9.3 + postcss: 8.4.24 + postcss-flexbugs-fixes: 5.0.2(postcss@8.4.24) + postcss-preset-env: 7.5.0(postcss@8.4.24) + transitivePeerDependencies: + - supports-color + dev: true + + /@umijs/bundler-utils@4.0.59: + resolution: {integrity: sha512-hgScOWi1x3vrKMAMFdZNanDN0p4Iae1avsuP8vcpLtXBNSgGbWeNJCv0fVgInyfH1EsTNd2CzhqwR8lFOhA+tg==} + dependencies: + '@umijs/utils': 4.0.59 + esbuild: 0.16.17 + regenerate: 1.4.2 + regenerate-unicode-properties: 10.1.0 + spdy: 4.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@umijs/bundler-utils@4.0.69: + resolution: {integrity: sha512-xdKsz3q0zHpR+oeYz0nrxsHBv7++CmFsSZBh3SjQlmyOr8yrjMsqF9VaW1olh+syrkHFvxX5OdMF21oQPuIQVg==} + dependencies: + '@umijs/utils': 4.0.69 + esbuild: 0.16.17 + regenerate: 1.4.2 + regenerate-unicode-properties: 10.1.0 + spdy: 4.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@umijs/bundler-vite@4.0.69(@types/node@20.2.5)(postcss@8.4.24): + resolution: {integrity: sha512-IZVX230PbLPlBOgecZR1O5q90g09H/DjbmedUUgmK5bdmG8tdLXnGnZYgQ1V8rp9WjAr+4TkO4kVkui3Az16Cw==} + hasBin: true + dependencies: + '@svgr/core': 6.5.1 + '@umijs/bundler-utils': 4.0.69 + '@umijs/utils': 4.0.69 + '@vitejs/plugin-react': 4.0.0(vite@4.3.1) + less: 4.1.3 + postcss-preset-env: 7.5.0(postcss@8.4.24) + rollup-plugin-visualizer: 5.9.0 + vite: 4.3.1(@types/node@20.2.5)(less@4.1.3) + transitivePeerDependencies: + - '@types/node' + - postcss + - rollup + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /@umijs/bundler-webpack@4.0.69(styled-components@5.3.11)(typescript@5.0.2)(webpack@5.84.1): + resolution: {integrity: sha512-p1h3MvcYr5aecrWwLDS0UZf5GgrITQuZAEl382zC6quB2TtWrJ/5BNxxQxuMyt9/Uf5IeqSvlLJGfp0ipyaD8Q==} + hasBin: true + dependencies: + '@pmmmwh/react-refresh-webpack-plugin': 0.5.10(react-refresh@0.14.0)(webpack@5.84.1) + '@svgr/core': 6.5.1 + '@svgr/plugin-jsx': 6.5.1(@svgr/core@6.5.1) + '@svgr/plugin-svgo': 6.5.1(@svgr/core@6.5.1) + '@types/hapi__joi': 17.1.9 + '@umijs/babel-preset-umi': 4.0.69(styled-components@5.3.11) + '@umijs/bundler-utils': 4.0.69 + '@umijs/case-sensitive-paths-webpack-plugin': 1.0.1 + '@umijs/mfsu': 4.0.69 + '@umijs/utils': 4.0.69 + cors: 2.8.5 + css-loader: 6.7.1(webpack@5.84.1) + es5-imcompatible-versions: 0.1.82 + fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.0.2)(webpack@5.84.1) + jest-worker: 29.4.3 + lightningcss: 1.19.0 + node-libs-browser: 2.2.1 + postcss: 8.4.24 + postcss-preset-env: 7.5.0(postcss@8.4.24) + react-error-overlay: 6.0.9 + react-refresh: 0.14.0 + transitivePeerDependencies: + - '@types/webpack' + - sockjs-client + - styled-components + - supports-color + - type-fest + - typescript + - webpack + - webpack-dev-server + - webpack-hot-middleware + - webpack-plugin-serve + dev: true + + /@umijs/case-sensitive-paths-webpack-plugin@1.0.1: + resolution: {integrity: sha512-kDKJ8yTarxwxGJDInG33hOpaQRZ//XpNuuznQ/1Mscypw6kappzFmrBr2dOYave++K7JHouoANF354UpbEQw0Q==} + dev: true + + /@umijs/core@4.0.69: + resolution: {integrity: sha512-UXeEJqSY5kTf+cqrBYkTIVZ/JxPYrnoP6VAyZmHVgydv6+eoalFKhuhOcX5X5diIBK1F2Xcs9nUtJHn+OH/y+w==} + dependencies: + '@umijs/bundler-utils': 4.0.69 + '@umijs/utils': 4.0.69 + transitivePeerDependencies: + - supports-color + dev: true + + /@umijs/did-you-know@1.0.3: + resolution: {integrity: sha512-9EZ+rgY9+2HEaE+Z9dGkal2ccw8L4uuz77tCB5WpskW7NBZX5nOj82sqF/shEtA5tU3SWO/Mi4n35K3iONvDtw==} + dev: true + + /@umijs/es-module-parser-darwin-arm64@0.0.7: + resolution: {integrity: sha512-1QeNupekuVYVvL4UHyCRq4ISP2PNk4rDd9UOPONW+KpqTyP9p7RfgGpwB0VLPaFSu2ADtm0XZyIaYEGPY6zuDw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@umijs/es-module-parser-darwin-x64@0.0.7: + resolution: {integrity: sha512-FBFmfigmToPc9qBCW7wHiTYpqnLdPbAvoMGOydzAu2NspdPEF7TfILcr8vCPNbNe3vCobS+T/YM1dP+SagERlA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@umijs/es-module-parser-linux-arm-gnueabihf@0.0.7: + resolution: {integrity: sha512-AXfmg3htkadLGsXUyiyrTig4omGCWIN4l+HS7Qapqv0wlfFYSpC0KPemjyBQgzXO70tDcT+1FNhGjIy+yr2pIQ==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@umijs/es-module-parser-linux-arm64-gnu@0.0.7: + resolution: {integrity: sha512-2wSdChFc39fPJwvS8tRq+jx8qNlIwrjRk1hb3N5o0rJR+rqt+ceAyNPbYwpNBmUHW7xtmDQvJUeinvr7hIBP+w==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [glibc] + requiresBuild: true + dev: true + optional: true + + /@umijs/es-module-parser-linux-arm64-musl@0.0.7: + resolution: {integrity: sha512-cqQffARWkmQ3n1RYNKZR3aD6X8YaP6u1maASjDgPQOpZMAlv/OSDrM/7iGujWTs0PD0haockNG9/DcP6lgPHMw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [musl] + requiresBuild: true + dev: true + optional: true + + /@umijs/es-module-parser-linux-x64-gnu@0.0.7: + resolution: {integrity: sha512-PHrKHtT665Za0Ydjch4ACrNpRU+WIIden12YyF1CtMdhuLDSoU6UfdhF3NoDbgEUcXVDX/ftOqmj0SbH3R1uew==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [glibc] + requiresBuild: true + dev: true + optional: true + + /@umijs/es-module-parser-linux-x64-musl@0.0.7: + resolution: {integrity: sha512-cyZvUK5lcECLWzLp/eU1lFlCETcz+LEb+wrdARQSST1dgoIGZsT4cqM1WzYmdZNk3o883tiZizLt58SieEiHBQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [musl] + requiresBuild: true + dev: true + optional: true + + /@umijs/es-module-parser-win32-arm64-msvc@0.0.7: + resolution: {integrity: sha512-V7WxnUI88RboSl0RWLNQeKBT7EDW35fW6Tn92zqtoHHxrhAIL9DtDyvC8REP4qTxeZ6Oej/Ax5I6IjsLx3yTOg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@umijs/es-module-parser-win32-x64-msvc@0.0.7: + resolution: {integrity: sha512-X3Pqy0l38hg6wMPquPeMHuoHU+Cx+wzyz32SVYCta+RPJQ7n9PjrEBiIuVAw5+GJZjSABN7LVr8u/n0RZT9EQA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@umijs/es-module-parser@0.0.7: + resolution: {integrity: sha512-x47CMi/Hw7Nkz3RXTUqlldH/UM+Tcmw2PziV3k+itJqTFJc8oVx3lzdUgCnG+eL3ZtmLPbOEBhPb30V0NytNDQ==} + engines: {node: '>= 10'} + optionalDependencies: + '@umijs/es-module-parser-darwin-arm64': 0.0.7 + '@umijs/es-module-parser-darwin-x64': 0.0.7 + '@umijs/es-module-parser-linux-arm-gnueabihf': 0.0.7 + '@umijs/es-module-parser-linux-arm64-gnu': 0.0.7 + '@umijs/es-module-parser-linux-arm64-musl': 0.0.7 + '@umijs/es-module-parser-linux-x64-gnu': 0.0.7 + '@umijs/es-module-parser-linux-x64-musl': 0.0.7 + '@umijs/es-module-parser-win32-arm64-msvc': 0.0.7 + '@umijs/es-module-parser-win32-x64-msvc': 0.0.7 + dev: true + + /@umijs/fabric@2.14.1: + resolution: {integrity: sha512-fOyXcbViOB+/jW+g2rCiK9XjSZVn4OzFuMZpSCriCdR/KxhxLTokvJWFm3CzBEmg9vXfrBFQ4c/ykmqoVacHtw==} + hasBin: true + dependencies: + '@babel/core': 7.22.1 + '@babel/eslint-parser': 7.21.8(@babel/core@7.22.1)(eslint@7.32.0) + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.22.1) + '@babel/plugin-proposal-decorators': 7.22.3(@babel/core@7.22.1) + '@babel/preset-env': 7.22.2(@babel/core@7.22.1) + '@babel/preset-react': 7.22.3(@babel/core@7.22.1) + '@babel/preset-typescript': 7.21.5(@babel/core@7.22.1) + '@typescript-eslint/eslint-plugin': 5.59.7(@typescript-eslint/parser@5.59.7)(eslint@7.32.0)(typescript@4.9.5) + '@typescript-eslint/parser': 5.59.7(eslint@7.32.0)(typescript@4.9.5) + chalk: 4.1.2 + eslint: 7.32.0 + eslint-config-prettier: 8.8.0(eslint@7.32.0) + eslint-formatter-pretty: 4.1.0 + eslint-plugin-babel: 5.3.1(eslint@7.32.0) + eslint-plugin-jest: 24.7.0(@typescript-eslint/eslint-plugin@5.59.7)(eslint@7.32.0)(typescript@4.9.5) + eslint-plugin-promise: 6.1.1(eslint@7.32.0) + eslint-plugin-react: 7.32.2(eslint@7.32.0) + eslint-plugin-react-hooks: 4.6.0(eslint@7.32.0) + eslint-plugin-unicorn: 20.1.0(eslint@7.32.0) + fast-glob: 3.2.12 + os-locale: 5.0.0 + prettier: 2.8.8 + prettier-plugin-packagejson: 2.3.0(prettier@2.8.8) + prettier-plugin-two-style-order: 1.0.1(prettier@2.8.8) + stylelint: 13.13.1 + stylelint-config-css-modules: 2.3.0(stylelint@13.13.1) + stylelint-config-prettier: 8.0.2(stylelint@13.13.1) + stylelint-config-standard: 20.0.0(stylelint@13.13.1) + stylelint-declaration-block-no-ignored-properties: 2.7.0(stylelint@13.13.1) + typescript: 4.9.5 + transitivePeerDependencies: + - postcss-jsx + - postcss-markdown + - supports-color + dev: true + + /@umijs/history@5.3.1: + resolution: {integrity: sha512-/e0cEGrR2bIWQD7pRl3dl9dcyRGeC9hoW0OCvUTT/hjY0EfUrkd6G8ZanVghPMpDuY5usxq9GVcvrT8KNXLWvA==} + dependencies: + '@babel/runtime': 7.22.3 + query-string: 6.14.1 + dev: true + + /@umijs/lint@4.0.69(eslint@8.35.0)(jest@29.5.0)(styled-components@5.3.11)(stylelint@14.8.2)(typescript@5.0.2): + resolution: {integrity: sha512-1b5e2wKLdbDczNIPQ6brO7eYUL633HtvEm+tf+4dOQJhvczs0zm6xUZAot0LMDPl/yyliFbLV3gk12ijcNRx6Q==} + dependencies: + '@babel/core': 7.21.0 + '@babel/eslint-parser': 7.19.1(@babel/core@7.21.0)(eslint@8.35.0) + '@stylelint/postcss-css-in-js': 0.38.0(postcss-syntax@0.36.2)(postcss@8.4.24) + '@typescript-eslint/eslint-plugin': 5.48.1(@typescript-eslint/parser@5.48.1)(eslint@8.35.0)(typescript@5.0.2) + '@typescript-eslint/parser': 5.48.1(eslint@8.35.0)(typescript@5.0.2) + '@umijs/babel-preset-umi': 4.0.69(styled-components@5.3.11) + eslint-plugin-jest: 27.2.1(@typescript-eslint/eslint-plugin@5.48.1)(eslint@8.35.0)(jest@29.5.0)(typescript@5.0.2) + eslint-plugin-react: 7.32.2(eslint@8.35.0) + eslint-plugin-react-hooks: 4.6.0(eslint@8.35.0) + postcss: 8.4.24 + postcss-syntax: 0.36.2(postcss@8.4.24) + stylelint-config-standard: 25.0.0(stylelint@14.8.2) + transitivePeerDependencies: + - eslint + - jest + - postcss-html + - postcss-jsx + - postcss-less + - postcss-markdown + - postcss-scss + - styled-components + - stylelint + - supports-color + - typescript + dev: true + + /@umijs/lint@4.0.69(eslint@8.41.0)(jest@29.5.0)(styled-components@5.3.11)(stylelint@14.16.1)(typescript@5.0.2): + resolution: {integrity: sha512-1b5e2wKLdbDczNIPQ6brO7eYUL633HtvEm+tf+4dOQJhvczs0zm6xUZAot0LMDPl/yyliFbLV3gk12ijcNRx6Q==} + dependencies: + '@babel/core': 7.21.0 + '@babel/eslint-parser': 7.19.1(@babel/core@7.21.0)(eslint@8.41.0) + '@stylelint/postcss-css-in-js': 0.38.0(postcss-syntax@0.36.2)(postcss@8.4.24) + '@typescript-eslint/eslint-plugin': 5.48.1(@typescript-eslint/parser@5.48.1)(eslint@8.41.0)(typescript@5.0.2) + '@typescript-eslint/parser': 5.48.1(eslint@8.41.0)(typescript@5.0.2) + '@umijs/babel-preset-umi': 4.0.69(styled-components@5.3.11) + eslint-plugin-jest: 27.2.1(@typescript-eslint/eslint-plugin@5.48.1)(eslint@8.41.0)(jest@29.5.0)(typescript@5.0.2) + eslint-plugin-react: 7.32.2(eslint@8.41.0) + eslint-plugin-react-hooks: 4.6.0(eslint@8.41.0) + postcss: 8.4.24 + postcss-syntax: 0.36.2(postcss@8.4.24) + stylelint-config-standard: 25.0.0(stylelint@14.16.1) + transitivePeerDependencies: + - eslint + - jest + - postcss-html + - postcss-jsx + - postcss-less + - postcss-markdown + - postcss-scss + - styled-components + - stylelint + - supports-color + - typescript + dev: true + + /@umijs/max-plugin-openapi@2.0.3: + resolution: {integrity: sha512-pV2GLscYHdOYNbQ1jgC+s99CGYFHegT/B+uRWVomL6+2mCdm9mP/KDSzGjkLZpL7PeXDlfPMsx/vSqAvDBGE2A==} + dependencies: + '@umijs/openapi': 1.8.3 + rimraf: 4.4.1 + serve-static: 1.15.0 + swagger-ui-dist: 4.19.0 + transitivePeerDependencies: + - chokidar + - encoding + - postcss-jsx + - postcss-markdown + - supports-color + dev: true + + /@umijs/max@4.0.69(@babel/core@7.22.1)(@types/node@20.2.5)(@types/react-dom@18.2.4)(@types/react@18.2.7)(dva@2.5.0-beta.2)(jest@29.5.0)(postcss@8.4.24)(prettier@2.8.8)(rc-field-form@1.32.0)(react-dom@18.2.0)(react@18.2.0)(styled-components@5.3.11)(typescript@5.0.2)(webpack@5.84.1): + resolution: {integrity: sha512-S6V27+g1NR6NjawRvAX596WwY68UBFPw76uydBv4QjdXGkMnSVIXLU8/zySf3ZWRLkchG3VcNH8PlBIIPkpgCQ==} + hasBin: true + dependencies: + '@umijs/lint': 4.0.69(eslint@8.35.0)(jest@29.5.0)(styled-components@5.3.11)(stylelint@14.8.2)(typescript@5.0.2) + '@umijs/plugins': 4.0.69(@types/react-dom@18.2.4)(@types/react@18.2.7)(antd@4.24.10)(dva@2.5.0-beta.2)(rc-field-form@1.32.0)(react-dom@18.2.0)(react@18.2.0) + antd: 4.24.10(react-dom@18.2.0)(react@18.2.0) + eslint: 8.35.0 + stylelint: 14.8.2 + umi: 4.0.69(@babel/core@7.22.1)(@types/node@20.2.5)(@types/react@18.2.7)(eslint@8.35.0)(jest@29.5.0)(postcss@8.4.24)(prettier@2.8.8)(react-dom@18.2.0)(react@18.2.0)(styled-components@5.3.11)(stylelint@14.8.2)(typescript@5.0.2)(webpack@5.84.1) + transitivePeerDependencies: + - '@babel/core' + - '@types/lodash.merge' + - '@types/node' + - '@types/react' + - '@types/react-dom' + - '@types/webpack' + - '@volar/vue-language-plugin-pug' + - '@volar/vue-typescript' + - babel-plugin-styled-components + - debug + - dva + - jest + - postcss + - postcss-html + - postcss-jsx + - postcss-less + - postcss-markdown + - postcss-scss + - prettier + - rc-field-form + - react + - react-dom + - react-native + - rollup + - sass + - sockjs-client + - styled-components + - stylus + - sugarss + - supports-color + - terser + - type-fest + - typescript + - webpack + - webpack-dev-server + - webpack-hot-middleware + - webpack-plugin-serve + dev: true + + /@umijs/mfsu@4.0.69: + resolution: {integrity: sha512-ITLKw1DGAOMSeiQicXXO5nQh9FLMaf0/lxaZtAPYboq9DcodfJIG+J4xHYTjE+Ns5/9TQjkqMqTsKUCGCN6SIw==} + dependencies: + '@umijs/bundler-esbuild': 4.0.69 + '@umijs/bundler-utils': 4.0.69 + '@umijs/utils': 4.0.69 + enhanced-resolve: 5.9.3 + is-equal: 1.6.4 + transitivePeerDependencies: + - supports-color + dev: true + + /@umijs/openapi@1.8.3: + resolution: {integrity: sha512-17xgd/x2aouxl/cITy0YD3TJ+kPf/rX+zXLJYg/Cf1DavMLntoqalcUQeh5/VtVO2+rSGtEepC3Ppl54LHqSUA==} + dependencies: + '@umijs/fabric': 2.14.1 + chalk: 4.1.2 + dayjs: 1.11.7 + glob: 7.2.3 + lodash: 4.17.21 + memoizee: 0.4.15 + mock.js: 0.2.0 + mockjs: 1.1.0 + node-fetch: 2.6.11 + nunjucks: 3.2.4 + openapi3-ts: 2.0.2 + prettier: 2.8.8 + reserved-words: 0.1.2 + rimraf: 3.0.2 + swagger2openapi: 7.0.8 + tiny-pinyin: 1.3.2 + transitivePeerDependencies: + - chokidar + - encoding + - postcss-jsx + - postcss-markdown + - supports-color + dev: true + + /@umijs/plugin-run@4.0.69: + resolution: {integrity: sha512-GzdbWdTUZt4/ZtxOn7AdPffrLXIaBp6ZiT5zJIugRuWnKLwJyNSmrAy1iD3ks4ZyEGfAqRd9Ou0Q+clmLGR7FA==} + dependencies: + tsx: 3.12.7 + dev: true + + /@umijs/plugins@4.0.59(@types/react-dom@18.2.4)(@types/react@18.2.7)(antd@5.5.1)(dva@2.5.0-beta.2)(rc-field-form@1.32.0)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-Sa0CI09Ewu1r4p+CQxMpCf6HYjaAVf2OtvW7z3J5CLe7hDo45KQ5/9iYKCXV5GEoSVXvYkiDJyDjCerEkfU/gw==} + dependencies: + '@ahooksjs/use-request': 2.8.15(react@18.2.0) + '@ant-design/antd-theme-variable': 1.0.0 + '@ant-design/icons': 4.8.0(react-dom@18.2.0)(react@18.2.0) + '@ant-design/pro-components': 2.6.29(antd@5.5.1)(rc-field-form@1.32.0)(react-dom@18.2.0)(react@18.2.0) + '@tanstack/react-query': 4.29.11(react-dom@18.2.0)(react@18.2.0) + '@tanstack/react-query-devtools': 4.29.11(@tanstack/react-query@4.29.11)(react-dom@18.2.0)(react@18.2.0) + '@umijs/bundler-utils': 4.0.59 + '@umijs/valtio': 1.0.3(react@18.2.0) + antd-dayjs-webpack-plugin: 1.0.6(dayjs@1.11.7) + axios: 0.27.2 + babel-plugin-import: 1.13.6 + dayjs: 1.11.7 + dva-core: 2.0.4(redux@4.2.1) + dva-immer: 1.0.1(dva@2.5.0-beta.2) + dva-loading: 3.0.24(dva-core@2.0.4) + event-emitter: 0.3.5 + fast-deep-equal: 3.1.3 + intl: 1.2.5 + lodash: 4.17.21 + moment: 2.29.4 + qiankun: 2.10.8 + react-intl: 3.12.1(react@18.2.0) + react-redux: 8.0.5(@types/react-dom@18.2.4)(@types/react@18.2.7)(react-dom@18.2.0)(react@18.2.0)(redux@4.2.1) + redux: 4.2.1 + styled-components: 6.0.0-beta.9(react-dom@18.2.0)(react@18.2.0)(tslib@2.5.2) + tslib: 2.5.2 + warning: 4.0.3 + transitivePeerDependencies: + - '@types/lodash.merge' + - '@types/react' + - '@types/react-dom' + - antd + - babel-plugin-styled-components + - debug + - dva + - rc-field-form + - react + - react-dom + - react-native + - shallowequal + - stylis + - supports-color + dev: true + + /@umijs/plugins@4.0.69(@types/react-dom@18.2.4)(@types/react@18.2.7)(antd@4.24.10)(dva@2.5.0-beta.2)(rc-field-form@1.32.0)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-tPDO816TFrE+UJ1293n+TytSGw53VexP6pZREPTwKZNdHgAgV/WdnKV0rsWsyUouiDXXbFCPwnoc1HNK+ve34w==} + dependencies: + '@ahooksjs/use-request': 2.8.15(react@18.2.0) + '@ant-design/antd-theme-variable': 1.0.0 + '@ant-design/icons': 4.8.0(react-dom@18.2.0)(react@18.2.0) + '@ant-design/moment-webpack-plugin': 0.0.3 + '@ant-design/pro-components': 2.6.29(antd@4.24.10)(rc-field-form@1.32.0)(react-dom@18.2.0)(react@18.2.0) + '@tanstack/react-query': 4.29.11(react-dom@18.2.0)(react@18.2.0) + '@tanstack/react-query-devtools': 4.29.11(@tanstack/react-query@4.29.11)(react-dom@18.2.0)(react@18.2.0) + '@umijs/bundler-utils': 4.0.69 + '@umijs/valtio': 1.0.3(react@18.2.0) + antd-dayjs-webpack-plugin: 1.0.6(dayjs@1.11.7) + axios: 0.27.2 + babel-plugin-import: 1.13.6 + dayjs: 1.11.7 + dva-core: 2.0.4(redux@4.2.1) + dva-immer: 1.0.1(dva@2.5.0-beta.2) + dva-loading: 3.0.24(dva-core@2.0.4) + event-emitter: 0.3.5 + fast-deep-equal: 3.1.3 + intl: 1.2.5 + lodash: 4.17.21 + moment: 2.29.4 + qiankun: 2.10.8 + react-intl: 3.12.1(react@18.2.0) + react-redux: 8.0.5(@types/react-dom@18.2.4)(@types/react@18.2.7)(react-dom@18.2.0)(react@18.2.0)(redux@4.2.1) + redux: 4.2.1 + styled-components: 6.0.0-rc.0(react-dom@18.2.0)(react@18.2.0) + tslib: 2.5.2 + warning: 4.0.3 + transitivePeerDependencies: + - '@types/lodash.merge' + - '@types/react' + - '@types/react-dom' + - antd + - babel-plugin-styled-components + - debug + - dva + - rc-field-form + - react + - react-dom + - react-native + - supports-color + dev: true + + /@umijs/plugins@4.0.69(@types/react-dom@18.2.4)(@types/react@18.2.7)(antd@5.5.1)(dva@2.5.0-beta.2)(rc-field-form@1.32.0)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-tPDO816TFrE+UJ1293n+TytSGw53VexP6pZREPTwKZNdHgAgV/WdnKV0rsWsyUouiDXXbFCPwnoc1HNK+ve34w==} + dependencies: + '@ahooksjs/use-request': 2.8.15(react@18.2.0) + '@ant-design/antd-theme-variable': 1.0.0 + '@ant-design/icons': 4.8.0(react-dom@18.2.0)(react@18.2.0) + '@ant-design/moment-webpack-plugin': 0.0.3 + '@ant-design/pro-components': 2.6.29(antd@5.5.1)(rc-field-form@1.32.0)(react-dom@18.2.0)(react@18.2.0) + '@tanstack/react-query': 4.29.11(react-dom@18.2.0)(react@18.2.0) + '@tanstack/react-query-devtools': 4.29.11(@tanstack/react-query@4.29.11)(react-dom@18.2.0)(react@18.2.0) + '@umijs/bundler-utils': 4.0.69 + '@umijs/valtio': 1.0.3(react@18.2.0) + antd-dayjs-webpack-plugin: 1.0.6(dayjs@1.11.7) + axios: 0.27.2 + babel-plugin-import: 1.13.6 + dayjs: 1.11.7 + dva-core: 2.0.4(redux@4.2.1) + dva-immer: 1.0.1(dva@2.5.0-beta.2) + dva-loading: 3.0.24(dva-core@2.0.4) + event-emitter: 0.3.5 + fast-deep-equal: 3.1.3 + intl: 1.2.5 + lodash: 4.17.21 + moment: 2.29.4 + qiankun: 2.10.8 + react-intl: 3.12.1(react@18.2.0) + react-redux: 8.0.5(@types/react-dom@18.2.4)(@types/react@18.2.7)(react-dom@18.2.0)(react@18.2.0)(redux@4.2.1) + redux: 4.2.1 + styled-components: 6.0.0-rc.0(react-dom@18.2.0)(react@18.2.0) + tslib: 2.5.2 + warning: 4.0.3 + transitivePeerDependencies: + - '@types/lodash.merge' + - '@types/react' + - '@types/react-dom' + - antd + - babel-plugin-styled-components + - debug + - dva + - rc-field-form + - react + - react-dom + - react-native + - supports-color + dev: true + + /@umijs/preset-umi@4.0.69(@types/node@20.2.5)(@types/react@18.2.7)(postcss@8.4.24)(styled-components@5.3.11)(typescript@5.0.2)(webpack@5.84.1): + resolution: {integrity: sha512-W/Olv2ldPtGnPa+mbsFZwoyEhykCcWTbkmowf/4AewHe0n5CJEyqjeo1cOlD7fr8RbpIqzoxdlMrlMi/bBqbNQ==} + dependencies: + '@iconify/utils': 2.1.1 + '@svgr/core': 6.5.1 + '@umijs/ast': 4.0.69 + '@umijs/babel-preset-umi': 4.0.69(styled-components@5.3.11) + '@umijs/bundler-utils': 4.0.69 + '@umijs/bundler-vite': 4.0.69(@types/node@20.2.5)(postcss@8.4.24) + '@umijs/bundler-webpack': 4.0.69(styled-components@5.3.11)(typescript@5.0.2)(webpack@5.84.1) + '@umijs/core': 4.0.69 + '@umijs/did-you-know': 1.0.3 + '@umijs/es-module-parser': 0.0.7 + '@umijs/history': 5.3.1 + '@umijs/mfsu': 4.0.69 + '@umijs/plugin-run': 4.0.69 + '@umijs/renderer-react': 4.0.69(react-dom@18.1.0)(react@18.1.0) + '@umijs/server': 4.0.69 + '@umijs/ui': 3.0.1 + '@umijs/utils': 4.0.69 + '@umijs/zod2ts': 4.0.69 + babel-plugin-dynamic-import-node: 2.3.3 + click-to-react-component: 1.0.8(@types/react@18.2.7)(react-dom@18.1.0)(react@18.1.0) + core-js: 3.28.0 + current-script-polyfill: 1.0.0 + enhanced-resolve: 5.9.3 + fast-glob: 3.2.12 + html-webpack-plugin: 5.5.0(webpack@5.84.1) + path-to-regexp: 1.7.0 + postcss-prefix-selector: 1.16.0(postcss@8.4.24) + react: 18.1.0 + react-dom: 18.1.0(react@18.1.0) + react-router: 6.3.0(react@18.1.0) + react-router-dom: 6.3.0(react-dom@18.1.0)(react@18.1.0) + regenerator-runtime: 0.13.11 + transitivePeerDependencies: + - '@types/node' + - '@types/react' + - '@types/webpack' + - postcss + - rollup + - sass + - sockjs-client + - styled-components + - stylus + - sugarss + - supports-color + - terser + - type-fest + - typescript + - webpack + - webpack-dev-server + - webpack-hot-middleware + - webpack-plugin-serve + dev: true + + /@umijs/renderer-react@4.0.69(react-dom@18.1.0)(react@18.1.0): + resolution: {integrity: sha512-7jD97cXoesulvqESJipTV3KJ0eEvtp94Kk/nUH82vYysHQlCS+P/WeWXqKo7nC4fvDCDGMz4aUV16r6Is7ZL8A==} + peerDependencies: + react: '>=16.8' + react-dom: '>=16.8' + dependencies: + '@babel/runtime': 7.21.0 + '@loadable/component': 5.15.2(react@18.1.0) + history: 5.3.0 + react: 18.1.0 + react-dom: 18.1.0(react@18.1.0) + react-helmet-async: 1.3.0(react-dom@18.1.0)(react@18.1.0) + react-router-dom: 6.3.0(react-dom@18.1.0)(react@18.1.0) + dev: true + + /@umijs/renderer-react@4.0.69(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-7jD97cXoesulvqESJipTV3KJ0eEvtp94Kk/nUH82vYysHQlCS+P/WeWXqKo7nC4fvDCDGMz4aUV16r6Is7ZL8A==} + peerDependencies: + react: '>=16.8' + react-dom: '>=16.8' + dependencies: + '@babel/runtime': 7.21.0 + '@loadable/component': 5.15.2(react@18.2.0) + history: 5.3.0 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-helmet-async: 1.3.0(react-dom@18.2.0)(react@18.2.0) + react-router-dom: 6.3.0(react-dom@18.2.0)(react@18.2.0) + dev: true + + /@umijs/request-record@1.1.4(umi@4.0.69): + resolution: {integrity: sha512-GFfAxgqbOMlhFpqGLNxizA4ywmPK+mxfJ53IdBw1IDd2Vzp5qLzlelbx0X1X+2v4dh9KE57YtjT9H7us66uw7Q==} + peerDependencies: + umi: '>=3' + dependencies: + chokidar: 3.5.3 + express: 4.18.2 + lodash: 4.17.21 + prettier: 2.8.8 + umi: 4.0.69(@babel/core@7.22.1)(@types/node@20.2.5)(@types/react@18.2.7)(eslint@8.41.0)(jest@29.5.0)(postcss@8.4.24)(prettier@2.8.8)(react-dom@18.2.0)(react@18.2.0)(styled-components@5.3.11)(stylelint@14.16.1)(typescript@5.0.2)(webpack@5.84.1) + transitivePeerDependencies: + - supports-color + dev: true + + /@umijs/route-utils@2.2.2: + resolution: {integrity: sha512-cMk6qizy0pfpiwpVCvNQB0BKBUJEH33pDv5q5k2tSleSDw2abkJkTu2Kd5hKzoESLuFK43oGeOfcplZqm2bRxw==} + dependencies: + '@qixian.cs/path-to-regexp': 6.1.0 + fast-deep-equal: 3.1.3 + lodash.isequal: 4.5.0 + memoize-one: 5.2.1 + dev: false + + /@umijs/route-utils@4.0.1: + resolution: {integrity: sha512-+1ixf1BTOLuH+ORb4x8vYMPeIt38n9q0fJDwhv9nSxrV46mxbLF0nmELIo9CKQB2gHfuC4+hww6xejJ6VYnBHQ==} + + /@umijs/server@4.0.69: + resolution: {integrity: sha512-znL4i6XC1dLmDCHk7fw3cKlehB4qKUqJeIao6j/eSzlfm6mCFzygsGqxzN8obrjCV0ohe/F/4WIRJDkEqwHleQ==} + dependencies: + '@umijs/bundler-utils': 4.0.69 + history: 5.3.0 + react: 18.1.0 + react-dom: 18.1.0(react@18.1.0) + react-router-dom: 6.3.0(react-dom@18.1.0)(react@18.1.0) + transitivePeerDependencies: + - supports-color + dev: true + + /@umijs/test@4.0.69(@babel/core@7.22.1): + resolution: {integrity: sha512-xkTNawfhz2xC0qqR2Q+JDJPoLNosSBNDAuna86YxNZK/WCvJ7n3/jehz2l9S6wxmstDW06yrXNM+IPoipUBAmg==} + dependencies: + '@babel/plugin-transform-modules-commonjs': 7.21.2(@babel/core@7.22.1) + '@jest/types': 27.5.1 + '@umijs/bundler-utils': 4.0.69 + '@umijs/utils': 4.0.69 + babel-jest: 29.5.0(@babel/core@7.22.1) + esbuild: 0.16.17 + identity-obj-proxy: 3.0.0 + isomorphic-unfetch: 4.0.2 + transitivePeerDependencies: + - '@babel/core' + - supports-color + dev: true + + /@umijs/ui@3.0.1: + resolution: {integrity: sha512-zcz37AJH0xt/6XVVbyO/hmsK9Hq4vH23HZ4KYVi5A8rbM9KeJkJigTS7ELOdArawZhVNGe+h3a5Oixs4a2QsWw==} + dev: true + + /@umijs/use-params@1.0.9(react@18.2.0): + resolution: {integrity: sha512-QlN0RJSBVQBwLRNxbxjQ5qzqYIGn+K7USppMoIOVlf7fxXHsnQZ2bEsa6Pm74bt6DVQxpUE8HqvdStn6Y9FV1w==} + peerDependencies: + react: '*' + dependencies: + react: 18.2.0 + + /@umijs/utils@4.0.59: + resolution: {integrity: sha512-NLRoZArsQArQyzIM/I3isWlRAYSpEh8lQ4JTqdIZQmyjRlNw1Lp80kDxlTcsmEpEa3ZkpHKKZNLJNpI99JdqTA==} + dependencies: + chokidar: 3.5.3 + pino: 7.11.0 + dev: true + + /@umijs/utils@4.0.69: + resolution: {integrity: sha512-lLUsceXtNWBFb+A6/Sw/BRBrBCJMGCurkkuwFsPjVxuiHtJrI3X7RBUMH0uFilhG78dhQdHGN2tc+NH7Z1YXKw==} + dependencies: + chokidar: 3.5.3 + pino: 7.11.0 + dev: true + + /@umijs/valtio@1.0.3(react@18.2.0): + resolution: {integrity: sha512-fjr1UMZLFOO+uy5YtLVcmvr+m2ZlU9rp04yXlCaPrKkdBg/UNPBVo6YS9TBx2v0a62gYaztLL3Put3dcNGH5tQ==} + dependencies: + valtio: 1.9.0(react@18.2.0) + transitivePeerDependencies: + - react + dev: true + + /@umijs/zod2ts@4.0.69: + resolution: {integrity: sha512-whXJSz9vm8cuU+qUSGtcacuPGUG7Vp2yv1fiJ726mukb/bJS4uG/3tcCOOlkztV5cvkRB4QtZ6IEMaqvxtt7xw==} + dev: true + + /@videojs/http-streaming@3.5.3(video.js@8.5.2): + resolution: {integrity: sha512-dty8lsZk9QPc0i4It79tjWsmPiaC3FpgARFM0vJGko4k3yKNZIYkAk8kjiDRfkAQH/HZ3rYi5dDTriFNzwSsIg==} + engines: {node: '>=8', npm: '>=5'} + peerDependencies: + video.js: ^7 || ^8 + dependencies: + '@babel/runtime': 7.22.3 + '@videojs/vhs-utils': 4.0.0 + aes-decrypter: 4.0.1 + global: 4.4.0 + m3u8-parser: 7.1.0 + mpd-parser: 1.3.0 + mux.js: 7.0.0 + video.js: 8.5.2 + dev: false + + /@videojs/vhs-utils@3.0.5: + resolution: {integrity: sha512-PKVgdo8/GReqdx512F+ombhS+Bzogiofy1LgAj4tN8PfdBx3HSS7V5WfJotKTqtOWGwVfSWsrYN/t09/DSryrw==} + engines: {node: '>=8', npm: '>=5'} + dependencies: + '@babel/runtime': 7.22.3 + global: 4.4.0 + url-toolkit: 2.2.5 + dev: false + + /@videojs/vhs-utils@4.0.0: + resolution: {integrity: sha512-xJp7Yd4jMLwje2vHCUmi8MOUU76nxiwII3z4Eg3Ucb+6rrkFVGosrXlMgGnaLjq724j3wzNElRZ71D/CKrTtxg==} + engines: {node: '>=8', npm: '>=5'} + dependencies: + '@babel/runtime': 7.22.3 + global: 4.4.0 + url-toolkit: 2.2.5 + dev: false + + /@videojs/xhr@2.6.0: + resolution: {integrity: sha512-7J361GiN1tXpm+gd0xz2QWr3xNWBE+rytvo8J3KuggFaLg+U37gZQ2BuPLcnkfGffy2e+ozY70RHC8jt7zjA6Q==} + dependencies: + '@babel/runtime': 7.22.3 + global: 4.4.0 + is-function: 1.0.2 + dev: false + + /@vitejs/plugin-react@4.0.0(vite@4.3.1): + resolution: {integrity: sha512-HX0XzMjL3hhOYm+0s95pb0Z7F8O81G7joUHgfDd/9J/ZZf5k4xX6QAMFkKsHFxaHlf6X7GD7+XuaZ66ULiJuhQ==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + vite: ^4.2.0 + dependencies: + '@babel/core': 7.22.1 + '@babel/plugin-transform-react-jsx-self': 7.21.0(@babel/core@7.22.1) + '@babel/plugin-transform-react-jsx-source': 7.19.6(@babel/core@7.22.1) + react-refresh: 0.14.0 + vite: 4.3.1(@types/node@20.2.5)(less@4.1.3) + transitivePeerDependencies: + - supports-color + dev: true + + /@webassemblyjs/ast@1.11.6: + resolution: {integrity: sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==} + dependencies: + '@webassemblyjs/helper-numbers': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + + /@webassemblyjs/floating-point-hex-parser@1.11.6: + resolution: {integrity: sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==} + + /@webassemblyjs/helper-api-error@1.11.6: + resolution: {integrity: sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==} + + /@webassemblyjs/helper-buffer@1.11.6: + resolution: {integrity: sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==} + + /@webassemblyjs/helper-numbers@1.11.6: + resolution: {integrity: sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==} + dependencies: + '@webassemblyjs/floating-point-hex-parser': 1.11.6 + '@webassemblyjs/helper-api-error': 1.11.6 + '@xtuc/long': 4.2.2 + + /@webassemblyjs/helper-wasm-bytecode@1.11.6: + resolution: {integrity: sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==} + + /@webassemblyjs/helper-wasm-section@1.11.6: + resolution: {integrity: sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==} + dependencies: + '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/helper-buffer': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/wasm-gen': 1.11.6 + + /@webassemblyjs/ieee754@1.11.6: + resolution: {integrity: sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==} + dependencies: + '@xtuc/ieee754': 1.2.0 + + /@webassemblyjs/leb128@1.11.6: + resolution: {integrity: sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==} + dependencies: + '@xtuc/long': 4.2.2 + + /@webassemblyjs/utf8@1.11.6: + resolution: {integrity: sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==} + + /@webassemblyjs/wasm-edit@1.11.6: + resolution: {integrity: sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==} + dependencies: + '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/helper-buffer': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/helper-wasm-section': 1.11.6 + '@webassemblyjs/wasm-gen': 1.11.6 + '@webassemblyjs/wasm-opt': 1.11.6 + '@webassemblyjs/wasm-parser': 1.11.6 + '@webassemblyjs/wast-printer': 1.11.6 + + /@webassemblyjs/wasm-gen@1.11.6: + resolution: {integrity: sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==} + dependencies: + '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/ieee754': 1.11.6 + '@webassemblyjs/leb128': 1.11.6 + '@webassemblyjs/utf8': 1.11.6 + + /@webassemblyjs/wasm-opt@1.11.6: + resolution: {integrity: sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==} + dependencies: + '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/helper-buffer': 1.11.6 + '@webassemblyjs/wasm-gen': 1.11.6 + '@webassemblyjs/wasm-parser': 1.11.6 + + /@webassemblyjs/wasm-parser@1.11.6: + resolution: {integrity: sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==} + dependencies: + '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/helper-api-error': 1.11.6 + '@webassemblyjs/helper-wasm-bytecode': 1.11.6 + '@webassemblyjs/ieee754': 1.11.6 + '@webassemblyjs/leb128': 1.11.6 + '@webassemblyjs/utf8': 1.11.6 + + /@webassemblyjs/wast-printer@1.11.6: + resolution: {integrity: sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==} + dependencies: + '@webassemblyjs/ast': 1.11.6 + '@xtuc/long': 4.2.2 + + /@webgpu/glslang@0.0.15: + resolution: {integrity: sha512-niT+Prh3Aff8Uf1MVBVUsaNjFj9rJAKDXuoHIKiQbB+6IUP/3J3JIhBNyZ7lDhytvXxw6ppgnwKZdDJ08UMj4Q==} + dev: false + + /@webgpu/types@0.0.31: + resolution: {integrity: sha512-cvvCMSZBT4VsRNtt0lI6XQqvOIIWw6+NRUtnPUMDVDgsI4pCZColz3qzF5QcP9wIYOHEc3jssIBse8UWONKhlQ==} + dev: false + + /@webgpu/types@0.1.40: + resolution: {integrity: sha512-/BBkHLS6/eQjyWhY2H7Dx5DHcVrS2ICj9owvSRdgtQT6KcafLZA86tPze0xAOsd4FbsYKCUBUQyNi87q7gV7kw==} + dev: false + + /@xmldom/xmldom@0.8.10: + resolution: {integrity: sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw==} + engines: {node: '>=10.0.0'} + dev: false + + /@xmldom/xmldom@0.8.7: + resolution: {integrity: sha512-sI1Ly2cODlWStkINzqGrZ8K6n+MTSbAeQnAipGyL+KZCXuHaRlj2gyyy8B/9MvsFFqN7XHryQnB2QwhzvJXovg==} + engines: {node: '>=10.0.0'} + requiresBuild: true + dev: false + optional: true + + /@xobotyi/scrollbar-width@1.9.5: + resolution: {integrity: sha512-N8tkAACJx2ww8vFMneJmaAgmjAG1tnVBZJRLRcx061tmsLRZHSEZSLuGWnwPtunsSLvSqXQ2wfp7Mgqg1I+2dQ==} + dev: false + + /@xtuc/ieee754@1.2.0: + resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} + + /@xtuc/long@4.2.2: + resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + + /a-sync-waterfall@1.0.1: + resolution: {integrity: sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==} + dev: true + + /abab@2.0.6: + resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} + deprecated: Use your platform's native atob() and btoa() methods instead + + /abbrev@1.1.1: + resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} + dev: false + optional: true + + /accepts@1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + dependencies: + mime-types: 2.1.35 + negotiator: 0.6.3 + dev: true + + /acorn-globals@6.0.0: + resolution: {integrity: sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==} + dependencies: + acorn: 7.4.1 + acorn-walk: 7.2.0 + dev: false + + /acorn-globals@7.0.1: + resolution: {integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==} + dependencies: + acorn: 8.8.2 + acorn-walk: 8.2.0 + dev: true + + /acorn-import-assertions@1.9.0(acorn@8.8.2): + resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} + peerDependencies: + acorn: ^8 + dependencies: + acorn: 8.8.2 + + /acorn-jsx@5.3.2(acorn@7.4.1): + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 7.4.1 + dev: true + + /acorn-jsx@5.3.2(acorn@8.8.2): + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.8.2 + + /acorn-walk@7.2.0: + resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} + engines: {node: '>=0.4.0'} + dev: false + + /acorn-walk@8.2.0: + resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + engines: {node: '>=0.4.0'} + + /acorn@7.4.1: + resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} + engines: {node: '>=0.4.0'} + hasBin: true + + /acorn@8.8.2: + resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} + engines: {node: '>=0.4.0'} + hasBin: true + + /add-dom-event-listener@1.1.0: + resolution: {integrity: sha512-WCxx1ixHT0GQU9hb0KI/mhgRQhnU+U3GvwY6ZvVjYq8rsihIGoaIOUbY0yMPBxLH5MDtr0kz3fisWGNcbWW7Jw==} + dependencies: + object-assign: 4.1.1 + + /address@1.2.2: + resolution: {integrity: sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==} + engines: {node: '>= 10.0.0'} + dev: false + + /aes-decrypter@4.0.1: + resolution: {integrity: sha512-H1nh/P9VZXUf17AA5NQfJML88CFjVBDuGkp5zDHa7oEhYN9TTpNLJknRY1ie0iSKWlDf6JRnJKaZVDSQdPy6Cg==} + dependencies: + '@babel/runtime': 7.22.3 + '@videojs/vhs-utils': 3.0.5 + global: 4.4.0 + pkcs7: 1.0.4 + dev: false + + /agent-base@4.3.0: + resolution: {integrity: sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==} + engines: {node: '>= 4.0.0'} + dependencies: + es6-promisify: 5.0.0 + dev: true + + /agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + dependencies: + debug: 4.3.4(supports-color@5.5.0) + transitivePeerDependencies: + - supports-color + + /aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + dev: true + + /ahooks-v3-count@1.0.0: + resolution: {integrity: sha512-V7uUvAwnimu6eh/PED4mCDjE7tokeZQLKlxg9lCTMPhN+NjsSbtdacByVlR1oluXQzD3MOw55wylDmQo4+S9ZQ==} + dev: true + + /ahooks@3.7.7(react@18.2.0): + resolution: {integrity: sha512-5e5WlPq81Y84UnTLOKIQeq2cJw4aa7yj8fR2Nb/oMmXPrWMjIMCbPS1o+fpxSfCaNA3AzOnnMc8AehWRZltkJQ==} + engines: {node: '>=8.0.0'} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@babel/runtime': 7.22.3 + '@types/js-cookie': 2.2.7 + ahooks-v3-count: 1.0.0 + dayjs: 1.11.7 + intersection-observer: 0.12.2 + js-cookie: 2.2.1 + lodash: 4.17.21 + react: 18.2.0 + resize-observer-polyfill: 1.5.1 + screenfull: 5.2.0 + tslib: 2.5.2 + dev: true + + /ajv-keywords@3.5.2(ajv@6.12.6): + resolution: {integrity: sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==} + peerDependencies: + ajv: ^6.9.1 + dependencies: + ajv: 6.12.6 + + /ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + /ajv@8.12.0: + resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + dev: true + + /align-text@0.1.4: + resolution: {integrity: sha512-GrTZLRpmp6wIC2ztrWW9MjjTgSKccffgFagbNDOX95/dcjEcYZibYTeaOntySQLcdw1ztBoFkviiUvTMbb9MYg==} + engines: {node: '>=0.10.0'} + dependencies: + kind-of: 3.2.2 + longest: 1.0.1 + repeat-string: 1.6.1 + dev: false + + /amdefine@1.0.1: + resolution: {integrity: sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==} + engines: {node: '>=0.4.2'} + dev: false + + /ansi-colors@4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} + dev: true + + /ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.21.3 + dev: true + + /ansi-html-community@0.0.8: + resolution: {integrity: sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==} + engines: {'0': node >= 0.8.0} + hasBin: true + dev: true + + /ansi-regex@2.1.1: + resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} + engines: {node: '>=0.10.0'} + dev: false + + /ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + /ansi-styles@2.2.1: + resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} + engines: {node: '>=0.10.0'} + dev: false + + /ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + + /ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + + /ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + dev: true + + /antd-dayjs-webpack-plugin@1.0.6(dayjs@1.11.7): + resolution: {integrity: sha512-UlK3BfA0iE2c5+Zz/Bd2iPAkT6cICtrKG4/swSik5MZweBHtgmu1aUQCHvICdiv39EAShdZy/edfP6mlkS/xXg==} + peerDependencies: + dayjs: '*' + dependencies: + dayjs: 1.11.7 + dev: true + + /antd-mobile-alita@2.3.4(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-MlCFwuXQRAzifBEuhari4Jf9nbvsiyrm7HJvoGVMkjXKXk8PaaTJL6hTo7UwI3uD/CFeTxhW9X27Z8sd65J4fw==} + dependencies: + array-tree-filter: 2.1.0 + babel-runtime: 6.26.0 + classnames: 2.3.2 + normalize.css: 7.0.0 + rc-checkbox: 2.0.3 + rc-collapse: 1.9.3(react-dom@18.2.0)(react@18.2.0) + rc-slider: 8.2.0(react-dom@18.2.0)(react@18.2.0) + rc-swipeout: 2.0.11 + rmc-calendar: 1.1.4(react-dom@18.2.0)(react@18.2.0) + rmc-cascader: 5.0.3(react-dom@18.2.0)(react@18.2.0) + rmc-date-picker: 6.0.10(react-dom@18.2.0)(react@18.2.0) + rmc-dialog: 1.1.1(react-dom@18.2.0)(react@18.2.0) + rmc-drawer: 0.4.11 + rmc-feedback: 2.0.0 + rmc-input-number: 1.0.5 + rmc-list-view: 0.11.5 + rmc-notification: 1.0.0(react-dom@18.2.0)(react@18.2.0) + rmc-nuka-carousel: 3.0.1 + rmc-picker: 5.0.10(react-dom@18.2.0)(react@18.2.0) + rmc-pull-to-refresh: 1.0.13 + rmc-steps: 1.0.1 + rmc-tabs: 1.2.29 + rmc-tooltip: 1.0.1(react-dom@18.2.0)(react@18.2.0) + transitivePeerDependencies: + - react + - react-dom + dev: true + + /antd-mobile-icons@0.2.2: + resolution: {integrity: sha512-iquIc7EsQTndk5nMv9pQQv+/OY5YnjVIPhtCFo7W7JL+Gjqzq/YJ/HO2WxUxyCgYha2NsTTNAb2vPa/M4zAi2g==} + dev: true + + /antd@4.24.10(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-GihdwTGFW0dUaWjcvSIfejFcT63HjEp2EbYd+ojEXayldhey230KrHDJ+C53rkrkzLvymrPBfSxlLxJzyFIZsg==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@ant-design/colors': 6.0.0 + '@ant-design/icons': 4.8.0(react-dom@18.2.0)(react@18.2.0) + '@ant-design/react-slick': 0.29.2(react@18.2.0) + '@babel/runtime': 7.22.3 + '@ctrl/tinycolor': 3.6.0 + classnames: 2.3.2 + copy-to-clipboard: 3.3.3 + lodash: 4.17.21 + moment: 2.29.4 + rc-cascader: 3.7.2(react-dom@18.2.0)(react@18.2.0) + rc-checkbox: 3.0.1(react-dom@18.2.0)(react@18.2.0) + rc-collapse: 3.4.2(react-dom@18.2.0)(react@18.2.0) + rc-dialog: 9.0.2(react-dom@18.2.0)(react@18.2.0) + rc-drawer: 6.1.6(react-dom@18.2.0)(react@18.2.0) + rc-dropdown: 4.0.1(react-dom@18.2.0)(react@18.2.0) + rc-field-form: 1.27.4(react-dom@18.2.0)(react@18.2.0) + rc-image: 5.13.0(react-dom@18.2.0)(react@18.2.0) + rc-input: 0.1.4(react-dom@18.2.0)(react@18.2.0) + rc-input-number: 7.3.11(react-dom@18.2.0)(react@18.2.0) + rc-mentions: 1.13.1(react-dom@18.2.0)(react@18.2.0) + rc-menu: 9.8.4(react-dom@18.2.0)(react@18.2.0) + rc-motion: 2.7.3(react-dom@18.2.0)(react@18.2.0) + rc-notification: 4.6.1(react-dom@18.2.0)(react@18.2.0) + rc-pagination: 3.2.0(react-dom@18.2.0)(react@18.2.0) + rc-picker: 2.7.2(react-dom@18.2.0)(react@18.2.0) + rc-progress: 3.4.1(react-dom@18.2.0)(react@18.2.0) + rc-rate: 2.9.2(react-dom@18.2.0)(react@18.2.0) + rc-resize-observer: 1.3.1(react-dom@18.2.0)(react@18.2.0) + rc-segmented: 2.1.2(react-dom@18.2.0)(react@18.2.0) + rc-select: 14.1.17(react-dom@18.2.0)(react@18.2.0) + rc-slider: 10.0.1(react-dom@18.2.0)(react@18.2.0) + rc-steps: 5.0.0(react-dom@18.2.0)(react@18.2.0) + rc-switch: 3.2.2(react-dom@18.2.0)(react@18.2.0) + rc-table: 7.26.0(react-dom@18.2.0)(react@18.2.0) + rc-tabs: 12.5.10(react-dom@18.2.0)(react@18.2.0) + rc-textarea: 0.4.7(react-dom@18.2.0)(react@18.2.0) + rc-tooltip: 5.2.2(react-dom@18.2.0)(react@18.2.0) + rc-tree: 5.7.4(react-dom@18.2.0)(react@18.2.0) + rc-tree-select: 5.5.5(react-dom@18.2.0)(react@18.2.0) + rc-trigger: 5.3.4(react-dom@18.2.0)(react@18.2.0) + rc-upload: 4.3.4(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + scroll-into-view-if-needed: 2.2.31 + dev: true + + /antd@5.5.1(moment@2.29.4)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-H9vPVGQ/8fT9Zidl4fzMSVAOCDIe/ZQtiU2hDzrN2tqAbaxOet+1HqfoKv7dfy+e0ttKIFvs6Y2yWw/ign1MwQ==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@ant-design/colors': 7.0.0 + '@ant-design/cssinjs': 1.9.1(react-dom@18.2.0)(react@18.2.0) + '@ant-design/icons': 5.1.3(react-dom@18.2.0)(react@18.2.0) + '@ant-design/react-slick': 1.0.1(react@18.2.0) + '@babel/runtime': 7.22.3 + '@ctrl/tinycolor': 3.6.0 + '@rc-component/color-picker': 1.1.1(react-dom@18.2.0)(react@18.2.0) + '@rc-component/mutate-observer': 1.0.0(react-dom@18.2.0)(react@18.2.0) + '@rc-component/tour': 1.8.0(react-dom@18.2.0)(react@18.2.0) + '@rc-component/trigger': 1.13.3(react-dom@18.2.0)(react@18.2.0) + classnames: 2.3.2 + copy-to-clipboard: 3.3.3 + dayjs: 1.11.7 + qrcode.react: 3.1.0(react@18.2.0) + rc-cascader: 3.12.0(react-dom@18.2.0)(react@18.2.0) + rc-checkbox: 3.0.1(react-dom@18.2.0)(react@18.2.0) + rc-collapse: 3.5.2(react-dom@18.2.0)(react@18.2.0) + rc-dialog: 9.1.0(react-dom@18.2.0)(react@18.2.0) + rc-drawer: 6.1.6(react-dom@18.2.0)(react@18.2.0) + rc-dropdown: 4.1.0(react-dom@18.2.0)(react@18.2.0) + rc-field-form: 1.31.0(react-dom@18.2.0)(react@18.2.0) + rc-image: 5.16.0(react-dom@18.2.0)(react@18.2.0) + rc-input: 1.0.4(react-dom@18.2.0)(react@18.2.0) + rc-input-number: 7.4.2(react-dom@18.2.0)(react@18.2.0) + rc-mentions: 2.2.0(react-dom@18.2.0)(react@18.2.0) + rc-menu: 9.8.4(react-dom@18.2.0)(react@18.2.0) + rc-motion: 2.7.3(react-dom@18.2.0)(react@18.2.0) + rc-notification: 5.0.4(react-dom@18.2.0)(react@18.2.0) + rc-pagination: 3.4.2(react-dom@18.2.0)(react@18.2.0) + rc-picker: 3.7.6(dayjs@1.11.7)(moment@2.29.4)(react-dom@18.2.0)(react@18.2.0) + rc-progress: 3.4.1(react-dom@18.2.0)(react@18.2.0) + rc-rate: 2.10.0(react-dom@18.2.0)(react@18.2.0) + rc-resize-observer: 1.3.1(react-dom@18.2.0)(react@18.2.0) + rc-segmented: 2.2.2(react-dom@18.2.0)(react@18.2.0) + rc-select: 14.5.1(react-dom@18.2.0)(react@18.2.0) + rc-slider: 10.1.1(react-dom@18.2.0)(react@18.2.0) + rc-steps: 6.0.0(react-dom@18.2.0)(react@18.2.0) + rc-switch: 4.1.0(react-dom@18.2.0)(react@18.2.0) + rc-table: 7.32.1(react-dom@18.2.0)(react@18.2.0) + rc-tabs: 12.6.0(react-dom@18.2.0)(react@18.2.0) + rc-textarea: 1.2.3(react-dom@18.2.0)(react@18.2.0) + rc-tooltip: 6.0.1(react-dom@18.2.0)(react@18.2.0) + rc-tree: 5.7.4(react-dom@18.2.0)(react@18.2.0) + rc-tree-select: 5.9.0(react-dom@18.2.0)(react@18.2.0) + rc-upload: 4.3.4(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + scroll-into-view-if-needed: 3.0.10 + throttle-debounce: 5.0.0 + transitivePeerDependencies: + - date-fns + - luxon + - moment + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + /aproba@2.0.0: + resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} + dev: false + optional: true + + /are-we-there-yet@2.0.0: + resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} + engines: {node: '>=10'} + dependencies: + delegates: 1.0.0 + readable-stream: 3.6.2 + dev: false + optional: true + + /arg@4.1.3: + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + dev: true + + /argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + dependencies: + sprintf-js: 1.0.3 + dev: true + + /argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + /aria-hidden@1.2.3: + resolution: {integrity: sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==} + engines: {node: '>=10'} + dependencies: + tslib: 2.5.2 + dev: true + + /aria-query@5.1.3: + resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} + dependencies: + deep-equal: 2.2.1 + dev: true + + /arr-union@3.1.0: + resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==} + engines: {node: '>=0.10.0'} + dev: false + + /array-buffer-byte-length@1.0.0: + resolution: {integrity: sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==} + dependencies: + call-bind: 1.0.5 + is-array-buffer: 3.0.2 + + /array-flatten@1.1.1: + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + dev: true + + /array-includes@3.1.6: + resolution: {integrity: sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + get-intrinsic: 1.2.1 + is-string: 1.0.7 + dev: true + + /array-tree-filter@2.1.0: + resolution: {integrity: sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==} + + /array-union@1.0.2: + resolution: {integrity: sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==} + engines: {node: '>=0.10.0'} + dependencies: + array-uniq: 1.0.3 + dev: true + + /array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + + /array-uniq@1.0.3: + resolution: {integrity: sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==} + engines: {node: '>=0.10.0'} + dev: true + + /array.prototype.flatmap@1.3.1: + resolution: {integrity: sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + es-shim-unscopables: 1.0.0 + dev: true + + /array.prototype.tosorted@1.1.1: + resolution: {integrity: sha512-pZYPXPRl2PqWcsUs6LOMn+1f1532nEoPTYowBtqLwAW+W8vSVhkIGnmOX1t/UQjD6YGI0vcD2B1U7ZFGQH9jnQ==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + es-shim-unscopables: 1.0.0 + get-intrinsic: 1.2.1 + dev: true + + /arraybuffer.prototype.slice@1.0.2: + resolution: {integrity: sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.0 + call-bind: 1.0.5 + define-properties: 1.2.0 + es-abstract: 1.22.3 + get-intrinsic: 1.2.2 + is-array-buffer: 3.0.2 + is-shared-array-buffer: 1.0.2 + dev: false + + /arrify@1.0.1: + resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} + engines: {node: '>=0.10.0'} + dev: true + + /as-number@1.0.0: + resolution: {integrity: sha512-HkI/zLo2AbSRO4fqVkmyf3hms0bJDs3iboHqTrNuwTiCRvdYXM7HFhfhB6Dk51anV2LM/IMB83mtK9mHw4FlAg==} + dev: false + + /asap@1.0.0: + resolution: {integrity: sha512-Ej9qjcXY+8Tuy1cNqiwNMwFRXOy9UwgTeMA8LxreodygIPV48lx8PU1ecFxb5ZeU1DpMKxiq6vGLTxcitWZPbA==} + dev: true + + /asap@2.0.6: + resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} + dev: true + + /asn1.js@5.4.1: + resolution: {integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==} + dependencies: + bn.js: 4.12.0 + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + safer-buffer: 2.1.2 + dev: true + + /asn1@0.2.6: + resolution: {integrity: sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==} + dependencies: + safer-buffer: 2.1.2 + dev: true + + /assert-plus@1.0.0: + resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} + engines: {node: '>=0.8'} + dev: true + + /assert@1.5.0: + resolution: {integrity: sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==} + dependencies: + object-assign: 4.1.1 + util: 0.10.3 + dev: true + + /assign-symbols@1.0.0: + resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==} + engines: {node: '>=0.10.0'} + dev: false + + /astral-regex@2.0.0: + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} + dev: true + + /async-limiter@1.0.1: + resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==} + dev: true + + /async-validator@4.2.5: + resolution: {integrity: sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==} + + /async@2.6.4: + resolution: {integrity: sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==} + dependencies: + lodash: 4.17.21 + dev: true + + /async@3.2.5: + resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} + dev: false + + /asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + /at-least-node@1.0.0: + resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} + engines: {node: '>= 4.0.0'} + dev: false + + /atomic-sleep@1.0.0: + resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} + engines: {node: '>=8.0.0'} + dev: true + + /autoprefixer@10.4.14(postcss@8.4.24): + resolution: {integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==} + engines: {node: ^10 || ^12 || >=14} + hasBin: true + peerDependencies: + postcss: ^8.1.0 + dependencies: + browserslist: 4.21.6 + caniuse-lite: 1.0.30001489 + fraction.js: 4.2.0 + normalize-range: 0.1.2 + picocolors: 1.0.0 + postcss: 8.4.24 + postcss-value-parser: 4.2.0 + dev: true + + /autoprefixer@9.8.8: + resolution: {integrity: sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==} + hasBin: true + dependencies: + browserslist: 4.21.6 + caniuse-lite: 1.0.30001489 + normalize-range: 0.1.2 + num2fraction: 1.2.2 + picocolors: 0.2.1 + postcss: 7.0.39 + postcss-value-parser: 4.2.0 + dev: true + + /available-typed-arrays@1.0.5: + resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} + engines: {node: '>= 0.4'} + + /aws-sign2@0.7.0: + resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} + dev: true + + /aws4@1.12.0: + resolution: {integrity: sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==} + dev: true + + /axios@0.27.2: + resolution: {integrity: sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==} + dependencies: + follow-redirects: 1.15.2 + form-data: 4.0.0 + transitivePeerDependencies: + - debug + dev: true + + /babel-jest@29.5.0(@babel/core@7.22.1): + resolution: {integrity: sha512-mA4eCDh5mSo2EcA9xQjVTpmbbNk32Zb3Q3QFQsNhaK56Q+yoXowzFodLux30HRgyOho5rsQ6B0P9QpMkvvnJ0Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.8.0 + dependencies: + '@babel/core': 7.22.1 + '@jest/transform': 29.5.0 + '@types/babel__core': 7.20.1 + babel-plugin-istanbul: 6.1.1 + babel-preset-jest: 29.5.0(@babel/core@7.22.1) + chalk: 4.1.2 + graceful-fs: 4.2.11 + slash: 3.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-dynamic-import-node@2.3.3: + resolution: {integrity: sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==} + dependencies: + object.assign: 4.1.4 + dev: true + + /babel-plugin-import@1.13.6: + resolution: {integrity: sha512-N7FYnGh0DFsvDRkAPsvFq/metVfVD7P2h1rokOPpEH4cZbdRHCW+2jbXt0nnuqowkm/xhh2ww1anIdEpfYa7ZA==} + dependencies: + '@babel/helper-module-imports': 7.21.4 + dev: true + + /babel-plugin-istanbul@6.1.1: + resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} + engines: {node: '>=8'} + dependencies: + '@babel/helper-plugin-utils': 7.21.5 + '@istanbuljs/load-nyc-config': 1.1.0 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-instrument: 5.2.1 + test-exclude: 6.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-jest-hoist@29.5.0: + resolution: {integrity: sha512-zSuuuAlTMT4mzLj2nPnUm6fsE6270vdOfnpbJ+RmruU75UhLFvL0N2NgI7xpeS7NaB6hGqmd5pVpGTDYvi4Q3w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@babel/template': 7.21.9 + '@babel/types': 7.22.3 + '@types/babel__core': 7.20.1 + '@types/babel__traverse': 7.20.0 + dev: true + + /babel-plugin-macros@3.1.0: + resolution: {integrity: sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==} + engines: {node: '>=10', npm: '>=6'} + dependencies: + '@babel/runtime': 7.22.3 + cosmiconfig: 7.1.0 + resolve: 1.22.2 + dev: false + + /babel-plugin-polyfill-corejs2@0.4.3(@babel/core@7.22.1): + resolution: {integrity: sha512-bM3gHc337Dta490gg+/AseNB9L4YLHxq1nGKZZSHbhXv4aTYU2MD2cjza1Ru4S6975YLTaL1K8uJf6ukJhhmtw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.22.3 + '@babel/core': 7.22.1 + '@babel/helper-define-polyfill-provider': 0.4.0(@babel/core@7.22.1) + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-polyfill-corejs3@0.8.1(@babel/core@7.22.1): + resolution: {integrity: sha512-ikFrZITKg1xH6pLND8zT14UPgjKHiGLqex7rGEZCH2EvhsneJaJPemmpQaIZV5AL03II+lXylw3UmddDK8RU5Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-define-polyfill-provider': 0.4.0(@babel/core@7.22.1) + core-js-compat: 3.30.2 + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-polyfill-regenerator@0.5.0(@babel/core@7.22.1): + resolution: {integrity: sha512-hDJtKjMLVa7Z+LwnTCxoDLQj6wdc+B8dun7ayF2fYieI6OzfuvcLMB32ihJZ4UhCBwNYGl5bg/x/P9cMdnkc2g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.22.1 + '@babel/helper-define-polyfill-provider': 0.4.0(@babel/core@7.22.1) + transitivePeerDependencies: + - supports-color + dev: true + + /babel-plugin-styled-components@2.1.1(styled-components@5.3.11): + resolution: {integrity: sha512-c8lJlszObVQPguHkI+akXv8+Jgb9Ccujx0EetL7oIvwU100LxO6XAGe45qry37wUL40a5U9f23SYrivro2XKhA==} + peerDependencies: + styled-components: '>= 2' + dependencies: + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-module-imports': 7.21.4 + babel-plugin-syntax-jsx: 6.18.0 + lodash: 4.17.21 + picomatch: 2.3.1 + styled-components: 5.3.11(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) + dev: true + + /babel-plugin-styled-components@2.1.3(styled-components@5.3.11): + resolution: {integrity: sha512-jBioLwBVHpOMU4NsueH/ADcHrjS0Y/WTpt2eGVmmuSFNEv2DF3XhcMncuZlbbjxQ4vzxg+yEr6E6TNjrIQbsJQ==} + peerDependencies: + styled-components: '>= 2' + dependencies: + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-module-imports': 7.21.4 + babel-plugin-syntax-jsx: 6.18.0 + lodash: 4.17.21 + picomatch: 2.3.1 + styled-components: 5.3.11(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0) + dev: true + + /babel-plugin-syntax-jsx@6.18.0: + resolution: {integrity: sha512-qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw==} + dev: true + + /babel-preset-current-node-syntax@1.0.1(@babel/core@7.22.1): + resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.1 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.22.1) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.22.1) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.22.1) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.22.1) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.22.1) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.22.1) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.22.1) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.22.1) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.22.1) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.22.1) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.22.1) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.22.1) + dev: true + + /babel-preset-jest@29.5.0(@babel/core@7.22.1): + resolution: {integrity: sha512-JOMloxOqdiBSxMAzjRaH023/vvcaSaec49zvg+2LmNsktC7ei39LTJGw02J+9uUtTZUq6xbLyJ4dxe9sSmIuAg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.22.1 + babel-plugin-jest-hoist: 29.5.0 + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.1) + dev: true + + /babel-runtime-jsx-plus@0.1.5: + resolution: {integrity: sha512-5qjZDfUzZGxHgX8o0tkS9o0HbyBvnUuaAtqHC9IN5CgjWFGJBg6a0Xp31wiG7btiHV0dP5t1t8cthlTCYwtnig==} + dev: true + + /babel-runtime@6.26.0: + resolution: {integrity: sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==} + dependencies: + core-js: 2.6.12 + regenerator-runtime: 0.11.1 + dev: true + + /babel-types@6.26.0: + resolution: {integrity: sha512-zhe3V/26rCWsEZK8kZN+HaQj5yQ1CilTObixFzKW1UWjqG7618Twz6YEsCnjfg5gBcJh02DrpCkS9h98ZqDY+g==} + dependencies: + babel-runtime: 6.26.0 + esutils: 2.0.3 + lodash: 4.17.21 + to-fast-properties: 1.0.3 + dev: true + + /bail@1.0.5: + resolution: {integrity: sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==} + dev: true + + /balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + /balanced-match@2.0.0: + resolution: {integrity: sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==} + dev: true + + /base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + dev: true + + /bcrypt-pbkdf@1.0.2: + resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} + dependencies: + tweetnacl: 0.14.5 + dev: true + + /big-integer@1.6.51: + resolution: {integrity: sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==} + engines: {node: '>=0.6'} + dev: true + + /big.js@5.2.2: + resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} + + /binary-extensions@2.2.0: + resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} + engines: {node: '>=8'} + + /bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: true + + /blink-diff@1.0.13: + resolution: {integrity: sha512-2hIEnGq8wruXfje9GvDV41VXo+4YdjrjL5ZMlVJT3Wi5k1jjz20fCTlVejSXoERirhEVsFYz9NmgdUYgQ41Giw==} + hasBin: true + dependencies: + pngjs-image: 0.11.7 + preceptor-core: 0.10.1 + promise: 6.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /bn.js@4.12.0: + resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==} + dev: true + + /bn.js@5.2.1: + resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} + dev: true + + /body-parser@1.20.1: + resolution: {integrity: sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + dependencies: + bytes: 3.1.2 + content-type: 1.0.5 + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + on-finished: 2.4.1 + qs: 6.11.0 + raw-body: 2.5.1 + type-is: 1.6.18 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + dev: true + + /bplist-parser@0.2.0: + resolution: {integrity: sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==} + engines: {node: '>= 5.10.0'} + dependencies: + big-integer: 1.6.51 + dev: true + + /brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + /brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + dependencies: + balanced-match: 1.0.2 + dev: true + + /braces@3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + + /brorand@1.1.0: + resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} + dev: true + + /browser-process-hrtime@1.0.0: + resolution: {integrity: sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==} + dev: false + + /browserify-aes@1.2.0: + resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} + dependencies: + buffer-xor: 1.0.3 + cipher-base: 1.0.4 + create-hash: 1.2.0 + evp_bytestokey: 1.0.3 + inherits: 2.0.4 + safe-buffer: 5.2.1 + dev: true + + /browserify-cipher@1.0.1: + resolution: {integrity: sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==} + dependencies: + browserify-aes: 1.2.0 + browserify-des: 1.0.2 + evp_bytestokey: 1.0.3 + dev: true + + /browserify-des@1.0.2: + resolution: {integrity: sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==} + dependencies: + cipher-base: 1.0.4 + des.js: 1.0.1 + inherits: 2.0.4 + safe-buffer: 5.2.1 + dev: true + + /browserify-rsa@4.1.0: + resolution: {integrity: sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==} + dependencies: + bn.js: 5.2.1 + randombytes: 2.1.0 + dev: true + + /browserify-sign@4.2.1: + resolution: {integrity: sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==} + dependencies: + bn.js: 5.2.1 + browserify-rsa: 4.1.0 + create-hash: 1.2.0 + create-hmac: 1.1.7 + elliptic: 6.5.4 + inherits: 2.0.4 + parse-asn1: 5.1.6 + readable-stream: 3.6.2 + safe-buffer: 5.2.1 + dev: true + + /browserify-zlib@0.2.0: + resolution: {integrity: sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==} + dependencies: + pako: 1.0.11 + dev: true + + /browserslist@4.21.6: + resolution: {integrity: sha512-PF07dKGXKR+/bljJzCB6rAYtHEu21TthLxmJagtQizx+rwiqdRDBO5971Xu1N7MgcMLi4+mr4Cnl76x7O3DHtA==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001489 + electron-to-chromium: 1.4.411 + node-releases: 2.0.12 + update-browserslist-db: 1.0.11(browserslist@4.21.6) + + /bser@2.1.1: + resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + dependencies: + node-int64: 0.4.0 + dev: true + + /buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + dev: true + + /buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + /buffer-xor@1.0.3: + resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} + dev: true + + /buffer@4.9.2: + resolution: {integrity: sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + isarray: 1.0.0 + dev: true + + /buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: true + + /builtin-status-codes@3.0.0: + resolution: {integrity: sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==} + dev: true + + /bundle-name@3.0.0: + resolution: {integrity: sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==} + engines: {node: '>=12'} + dependencies: + run-applescript: 5.0.0 + dev: true + + /bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + dev: true + + /bytewise-core@1.2.3: + resolution: {integrity: sha512-nZD//kc78OOxeYtRlVk8/zXqTB4gf/nlguL1ggWA8FuchMyOxcyHR4QPQZMUmA7czC+YnaBrPUCubqAWe50DaA==} + dependencies: + typewise-core: 1.2.0 + dev: false + + /bytewise@1.1.0: + resolution: {integrity: sha512-rHuuseJ9iQ0na6UDhnrRVDh8YnWVlU6xM3VH6q/+yHDeUH2zIhUzP+2/h3LIrhLDBtTqzWpE3p3tP/boefskKQ==} + dependencies: + bytewise-core: 1.2.3 + typewise: 1.0.3 + dev: false + + /call-bind@1.0.2: + resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} + dependencies: + function-bind: 1.1.1 + get-intrinsic: 1.2.1 + + /call-bind@1.0.5: + resolution: {integrity: sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==} + dependencies: + function-bind: 1.1.2 + get-intrinsic: 1.2.2 + set-function-length: 1.1.1 + + /call-me-maybe@1.0.2: + resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==} + dev: true + + /callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + /camel-case@4.1.2: + resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + dependencies: + pascal-case: 3.1.2 + tslib: 2.5.2 + dev: true + + /camelcase-keys@6.2.2: + resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} + engines: {node: '>=8'} + dependencies: + camelcase: 5.3.1 + map-obj: 4.3.0 + quick-lru: 4.0.1 + dev: true + + /camelcase@1.2.1: + resolution: {integrity: sha512-wzLkDa4K/mzI1OSITC+DUyjgIl/ETNHE9QvYgy6J6Jvqyyz4C0Xfd+lQhb19sX2jMpZV4IssUn0VDVmglV+s4g==} + engines: {node: '>=0.10.0'} + dev: false + + /camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + dev: true + + /camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + dev: true + + /camelize@1.0.1: + resolution: {integrity: sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==} + dev: true + + /caniuse-lite@1.0.30001489: + resolution: {integrity: sha512-x1mgZEXK8jHIfAxm+xgdpHpk50IN3z3q3zP261/WS+uvePxW8izXuCu6AHz0lkuYTlATDehiZ/tNyYBdSQsOUQ==} + + /canvas@2.11.2: + resolution: {integrity: sha512-ItanGBMrmRV7Py2Z+Xhs7cT+FNt5K0vPL4p9EZ/UX/Mu7hFbkxSjKF2KVtPwX7UYWp7dRKnrTvReflgrItJbdw==} + engines: {node: '>=6'} + requiresBuild: true + dependencies: + '@mapbox/node-pre-gyp': 1.0.11 + nan: 2.18.0 + simple-get: 3.1.1 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + optional: true + + /carlo@0.9.46: + resolution: {integrity: sha512-FwZ/wxjqe+5RgzF2SRsPSWsVB9+McAVRWW0tRkmbh7fBjrf3HFZZbcr8vr61p1K+NBaAPv57DRjxgIyfbHmd7g==} + engines: {node: '>=7.6.0'} + dependencies: + debug: 4.3.4(supports-color@5.5.0) + puppeteer-core: 1.12.2 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: true + + /caseless@0.12.0: + resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} + dev: true + + /center-align@0.1.3: + resolution: {integrity: sha512-Baz3aNe2gd2LP2qk5U+sDk/m4oSuwSDcBfayTCTBoWpfIGO5XFxPmjILQII4NGiZjD6DoDI6kf7gKaxkf7s3VQ==} + engines: {node: '>=0.10.0'} + dependencies: + align-text: 0.1.4 + lazy-cache: 1.0.4 + dev: false + + /chalk@1.1.3: + resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} + engines: {node: '>=0.10.0'} + dependencies: + ansi-styles: 2.2.1 + escape-string-regexp: 1.0.5 + has-ansi: 2.0.0 + strip-ansi: 3.0.1 + supports-color: 2.0.0 + dev: false + + /chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + /chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + /char-regex@1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + dev: true + + /character-entities-legacy@1.1.4: + resolution: {integrity: sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==} + dev: true + + /character-entities@1.2.4: + resolution: {integrity: sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==} + dev: true + + /character-reference-invalid@1.1.4: + resolution: {integrity: sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==} + dev: true + + /chokidar@3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.2 + + /chownr@2.0.0: + resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} + engines: {node: '>=10'} + dev: false + optional: true + + /chrome-trace-event@1.0.3: + resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} + engines: {node: '>=6.0'} + + /ci-info@2.0.0: + resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} + dev: true + + /ci-info@3.8.0: + resolution: {integrity: sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==} + engines: {node: '>=8'} + dev: true + + /cipher-base@1.0.4: + resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==} + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + dev: true + + /cjs-module-lexer@1.2.2: + resolution: {integrity: sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==} + dev: true + + /clamp@1.0.1: + resolution: {integrity: sha512-kgMuFyE78OC6Dyu3Dy7vcx4uy97EIbVxJB/B0eJ3bUNAkwdNcxYzgKltnyADiYwsR7SEqkkUPsEUT//OVS6XMA==} + dev: false + + /classnames@2.3.2: + resolution: {integrity: sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==} + + /clean-css@5.3.2: + resolution: {integrity: sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==} + engines: {node: '>= 10.0'} + dependencies: + source-map: 0.6.1 + dev: true + + /clean-regexp@1.0.0: + resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} + engines: {node: '>=4'} + dependencies: + escape-string-regexp: 1.0.5 + dev: true + + /clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + dev: true + + /cli-cursor@3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} + dependencies: + restore-cursor: 3.1.0 + dev: true + + /cli-spinners@2.9.0: + resolution: {integrity: sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==} + engines: {node: '>=6'} + dev: true + + /cli-truncate@2.1.0: + resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} + engines: {node: '>=8'} + dependencies: + slice-ansi: 3.0.0 + string-width: 4.2.3 + dev: true + + /click-to-react-component@1.0.8(@types/react@18.2.7)(react-dom@18.1.0)(react@18.1.0): + resolution: {integrity: sha512-YBNYOp00udy+NBEnUmM/3Df0Yco1iHNQ8k0ltlJVcDYK9AuYt14xPoJicBh/BokLqbzkci1p+pbdY5r4JXZC4g==} + peerDependencies: + react: '>=16.8.0' + dependencies: + '@floating-ui/react-dom-interactions': 0.3.1(@types/react@18.2.7)(react-dom@18.1.0)(react@18.1.0) + htm: 3.1.1 + react: 18.1.0 + react-merge-refs: 1.1.0 + transitivePeerDependencies: + - '@types/react' + - react-dom + dev: true + + /cliui@2.1.0: + resolution: {integrity: sha512-GIOYRizG+TGoc7Wgc1LiOTLare95R3mzKgoln+Q/lE4ceiYH19gUpl0l0Ffq4lJDEf3FxujMe6IBfOCs7pfqNA==} + dependencies: + center-align: 0.1.3 + right-align: 0.1.3 + wordwrap: 0.0.2 + dev: false + + /cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + dev: true + + /clone-regexp@2.2.0: + resolution: {integrity: sha512-beMpP7BOtTipFuW8hrJvREQ2DrRu3BE7by0ZpibtfBA+qfHYvMGTc2Yb1JMYPKg/JUw0CHYvpg796aNTSW9z7Q==} + engines: {node: '>=6'} + dependencies: + is-regexp: 2.1.0 + dev: true + + /clone@1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + dev: true + + /co@4.6.0: + resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + dev: true + + /collect-v8-coverage@1.0.1: + resolution: {integrity: sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg==} + dev: true + + /color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + + /color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + + /color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + /color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + /color-string@1.9.1: + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + dependencies: + color-name: 1.1.4 + simple-swizzle: 0.2.2 + dev: false + + /color-support@1.1.3: + resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} + hasBin: true + dev: false + optional: true + + /color@3.2.1: + resolution: {integrity: sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==} + dependencies: + color-convert: 1.9.3 + color-string: 1.9.1 + dev: false + + /colord@2.9.3: + resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} + dev: true + + /colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + dev: true + + /combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + dependencies: + delayed-stream: 1.0.0 + + /commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} + dev: true + + /commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + + /commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + dev: true + + /commander@5.1.0: + resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} + engines: {node: '>= 6'} + dev: true + + /commander@6.2.1: + resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} + engines: {node: '>= 6'} + dev: true + + /commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + + /commander@8.3.0: + resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} + engines: {node: '>= 12'} + dev: true + + /common-path-prefix@3.0.0: + resolution: {integrity: sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==} + dev: true + + /commondir@1.0.1: + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + dev: true + + /component-classes@1.2.6: + resolution: {integrity: sha512-hPFGULxdwugu1QWW3SvVOCUHLzO34+a2J6Wqy0c5ASQkfi9/8nZcBB0ZohaEbXOQlCflMAEMmEWk7u7BVs4koA==} + dependencies: + component-indexof: 0.0.3 + dev: true + + /component-indexof@0.0.3: + resolution: {integrity: sha512-puDQKvx/64HZXb4hBwIcvQLaLgux8o1CbWl39s41hrIIZDl1lJiD5jc22gj3RBeGK0ovxALDYpIbyjqDUUl0rw==} + dev: true + + /compute-scroll-into-view@1.0.20: + resolution: {integrity: sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==} + dev: true + + /compute-scroll-into-view@3.0.3: + resolution: {integrity: sha512-nadqwNxghAGTamwIqQSG433W6OADZx2vCo3UXHNrzTRHK/htu+7+L0zhjEoaeaQVNAi3YgqWDv8+tzf0hRfR+A==} + + /concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + /concat-stream@1.6.2: + resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} + engines: {'0': node >= 0.8} + dependencies: + buffer-from: 1.1.2 + inherits: 2.0.4 + readable-stream: 2.3.8 + typedarray: 0.0.6 + dev: true + + /console-browserify@1.2.0: + resolution: {integrity: sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==} + dev: true + + /console-control-strings@1.1.0: + resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} + dev: false + optional: true + + /constants-browserify@1.0.0: + resolution: {integrity: sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==} + dev: true + + /content-disposition@0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + dev: true + + /contour_plot@0.0.1: + resolution: {integrity: sha512-Nil2HI76Xux6sVGORvhSS8v66m+/h5CwFkBJDO+U5vWaMdNC0yXNCsGDPbzPhvqOEU5koebhdEvD372LI+IyLw==} + dev: false + + /convert-source-map@1.9.0: + resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==} + + /convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + dev: true + + /cookie-signature@1.0.6: + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} + dev: true + + /cookie@0.3.1: + resolution: {integrity: sha512-+IJOX0OqlHCszo2mBUq+SrEbCj6w7Kpffqx60zYbPTFaO4+yYgRjHwcZNpWvaTylDHaV7PPmBHzSecZiMhtPgw==} + engines: {node: '>= 0.6'} + dev: false + + /cookie@0.5.0: + resolution: {integrity: sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==} + engines: {node: '>= 0.6'} + dev: true + + /copy-anything@2.0.6: + resolution: {integrity: sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==} + dependencies: + is-what: 3.14.1 + dev: true + + /copy-anything@3.0.5: + resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==} + engines: {node: '>=12.13'} + dependencies: + is-what: 4.1.11 + dev: true + + /copy-to-clipboard@3.3.3: + resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==} + dependencies: + toggle-selection: 1.0.6 + + /core-js-compat@3.30.2: + resolution: {integrity: sha512-nriW1nuJjUgvkEjIot1Spwakz52V9YkYHZAQG6A1eCgC8AA1p0zngrQEP9R0+V6hji5XilWKG1Bd0YRppmGimA==} + dependencies: + browserslist: 4.21.6 + dev: true + + /core-js-pure@3.30.2: + resolution: {integrity: sha512-p/npFUJXXBkCCTIlEGBdghofn00jWG6ZOtdoIXSJmAu2QBvN0IqpZXWweOytcwE6cfx8ZvVUy1vw8zxhe4Y2vg==} + requiresBuild: true + dev: true + + /core-js@1.2.7: + resolution: {integrity: sha512-ZiPp9pZlgxpWRu0M+YWbm6+aQ84XEfH1JRXvfOc/fILWI0VKhLC2LX13X1NYq4fULzLMq7Hfh43CSo2/aIaUPA==} + deprecated: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js. + dev: true + + /core-js@2.6.12: + resolution: {integrity: sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==} + deprecated: core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js. + requiresBuild: true + dev: true + + /core-js@3.28.0: + resolution: {integrity: sha512-GiZn9D4Z/rSYvTeg1ljAIsEqFm0LaN9gVtwDCrKL80zHtS31p9BAjmTxVqTQDMpwlMolJZOFntUG2uwyj7DAqw==} + requiresBuild: true + dev: true + + /core-util-is@1.0.2: + resolution: {integrity: sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==} + dev: true + + /core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + dev: true + + /cors@2.8.5: + resolution: {integrity: sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==} + engines: {node: '>= 0.10'} + dependencies: + object-assign: 4.1.1 + vary: 1.1.2 + dev: true + + /cosmiconfig@6.0.0: + resolution: {integrity: sha512-xb3ZL6+L8b9JLLCx3ZdoZy4+2ECphCMo2PwqgP1tlfVq6M6YReyzBJtvWWtbDSpNr9hn96pkCiZqUcFEc+54Qg==} + engines: {node: '>=8'} + dependencies: + '@types/parse-json': 4.0.0 + import-fresh: 3.3.0 + parse-json: 5.2.0 + path-type: 4.0.0 + yaml: 1.10.2 + dev: false + + /cosmiconfig@7.1.0: + resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} + engines: {node: '>=10'} + dependencies: + '@types/parse-json': 4.0.0 + import-fresh: 3.3.0 + parse-json: 5.2.0 + path-type: 4.0.0 + yaml: 1.10.2 + + /create-ecdh@4.0.4: + resolution: {integrity: sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==} + dependencies: + bn.js: 4.12.0 + elliptic: 6.5.4 + dev: true + + /create-hash@1.2.0: + resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} + dependencies: + cipher-base: 1.0.4 + inherits: 2.0.4 + md5.js: 1.3.5 + ripemd160: 2.0.2 + sha.js: 2.4.11 + dev: true + + /create-hmac@1.1.7: + resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} + dependencies: + cipher-base: 1.0.4 + create-hash: 1.2.0 + inherits: 2.0.4 + ripemd160: 2.0.2 + safe-buffer: 5.2.1 + sha.js: 2.4.11 + dev: true + + /create-react-class@15.7.0: + resolution: {integrity: sha512-QZv4sFWG9S5RUvkTYWbflxeZX+JG7Cz0Tn33rQBJ+WFQTqTfUTjMjiv9tnfXazjsO5r0KhPs+AqCjyrQX6h2ng==} + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + dev: true + + /create-require@1.1.1: + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + dev: true + + /cross-env@7.0.3: + resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} + engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} + hasBin: true + dependencies: + cross-spawn: 7.0.3 + dev: true + + /cross-port-killer@1.4.0: + resolution: {integrity: sha512-ujqfftKsSeorFMVI6JP25xMBixHEaDWVK+NarRZAGnJjR5AhebRQU+g+k/Lj8OHwM6f+wrrs8u5kkCdI7RLtxQ==} + hasBin: true + dev: true + + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + /crypto-browserify@3.12.0: + resolution: {integrity: sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==} + dependencies: + browserify-cipher: 1.0.1 + browserify-sign: 4.2.1 + create-ecdh: 4.0.4 + create-hash: 1.2.0 + create-hmac: 1.1.7 + diffie-hellman: 5.0.3 + inherits: 2.0.4 + pbkdf2: 3.1.2 + public-encrypt: 4.0.3 + randombytes: 2.1.0 + randomfill: 1.0.4 + dev: true + + /css-animation@1.6.1: + resolution: {integrity: sha512-/48+/BaEaHRY6kNQ2OIPzKf9A6g8WjZYjhiNDNuIVbsm5tXCGIAsHDjB4Xu1C4vXJtUWZo26O68OQkDpNBaPog==} + dependencies: + babel-runtime: 6.26.0 + component-classes: 1.2.6 + dev: true + + /css-blank-pseudo@3.0.3(postcss@8.4.24): + resolution: {integrity: sha512-VS90XWtsHGqoM0t4KpH053c4ehxZ2E6HtGI7x68YFV0pTo/QmkV/YFA+NnlvK8guxZVNWGQhVNJGC39Q8XF4OQ==} + engines: {node: ^12 || ^14 || >=16} + hasBin: true + peerDependencies: + postcss: ^8.4 + dependencies: + postcss: 8.4.24 + postcss-selector-parser: 6.0.13 + dev: true + + /css-color-keywords@1.0.0: + resolution: {integrity: sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==} + engines: {node: '>=4'} + dev: true + + /css-functions-list@3.1.0: + resolution: {integrity: sha512-/9lCvYZaUbBGvYUgYGFJ4dcYiyqdhSjG7IPVluoV8A1ILjkF7ilmhp1OGUz8n+nmBcu0RNrQAzgD8B6FJbrt2w==} + engines: {node: '>=12.22'} + dev: true + + /css-has-pseudo@3.0.4(postcss@8.4.24): + resolution: {integrity: sha512-Vse0xpR1K9MNlp2j5w1pgWIJtm1a8qS0JwS9goFYcImjlHEmywP9VUF05aGBXzGpDJF86QXk4L0ypBmwPhGArw==} + engines: {node: ^12 || ^14 || >=16} + hasBin: true + peerDependencies: + postcss: ^8.4 + dependencies: + postcss: 8.4.24 + postcss-selector-parser: 6.0.13 + dev: true + + /css-in-js-utils@3.1.0: + resolution: {integrity: sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A==} + dependencies: + hyphenate-style-name: 1.0.4 + dev: false + + /css-loader@6.7.1(webpack@5.84.1): + resolution: {integrity: sha512-yB5CNFa14MbPJcomwNh3wLThtkZgcNyI2bNMRt8iE5Z8Vwl7f8vQXFAzn2HDOJvtDq2NTZBUGMSUNNyrv3/+cw==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^5.0.0 + dependencies: + icss-utils: 5.1.0(postcss@8.4.24) + postcss: 8.4.24 + postcss-modules-extract-imports: 3.0.0(postcss@8.4.24) + postcss-modules-local-by-default: 4.0.3(postcss@8.4.24) + postcss-modules-scope: 3.0.0(postcss@8.4.24) + postcss-modules-values: 4.0.0(postcss@8.4.24) + postcss-value-parser: 4.2.0 + semver: 7.5.1 + webpack: 5.84.1 + dev: true + + /css-prefers-color-scheme@6.0.3(postcss@8.4.24): + resolution: {integrity: sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==} + engines: {node: ^12 || ^14 || >=16} + hasBin: true + peerDependencies: + postcss: ^8.4 + dependencies: + postcss: 8.4.24 + dev: true + + /css-select@4.3.0: + resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 4.3.1 + domutils: 2.8.0 + nth-check: 2.1.1 + dev: true + + /css-to-react-native@3.2.0: + resolution: {integrity: sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==} + dependencies: + camelize: 1.0.1 + css-color-keywords: 1.0.0 + postcss-value-parser: 4.2.0 + dev: true + + /css-tree@1.1.3: + resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} + engines: {node: '>=8.0.0'} + dependencies: + mdn-data: 2.0.14 + source-map: 0.6.1 + + /css-what@6.1.0: + resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} + engines: {node: '>= 6'} + dev: true + + /csscolorparser@1.0.3: + resolution: {integrity: sha512-umPSgYwZkdFoUrH5hIq5kf0wPSXiro51nPw0j2K/c83KflkPSTBGMz6NJvMB+07VlL0y7VPo6QJcDjcgKTTm3w==} + dev: false + + /cssdb@6.6.3: + resolution: {integrity: sha512-7GDvDSmE+20+WcSMhP17Q1EVWUrLlbxxpMDqG731n8P99JhnQZHR9YvtjPvEHfjFUjvQJvdpKCjlKOX+xe4UVA==} + dev: true + + /cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /csso@4.2.0: + resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} + engines: {node: '>=8.0.0'} + dependencies: + css-tree: 1.1.3 + dev: true + + /cssom@0.3.8: + resolution: {integrity: sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==} + + /cssom@0.4.4: + resolution: {integrity: sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw==} + dev: false + + /cssom@0.5.0: + resolution: {integrity: sha512-iKuQcq+NdHqlAcwUY0o/HL69XQrUaQdMjmStJ8JFmUaiiQErlhrmuigkg/CU4E2J0IyUKUrMAgl36TvN67MqTw==} + + /cssstyle@2.3.0: + resolution: {integrity: sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==} + engines: {node: '>=8'} + dependencies: + cssom: 0.3.8 + + /csstype@3.1.2: + resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} + + /current-script-polyfill@1.0.0: + resolution: {integrity: sha512-qv8s+G47V6Hq+g2kRE5th+ASzzrL7b6l+tap1DHKK25ZQJv3yIFhH96XaQ7NGL+zRW3t/RDbweJf/dJDe5Z5KA==} + dev: true + + /d3-array@1.2.4: + resolution: {integrity: sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==} + dev: false + + /d3-collection@1.0.7: + resolution: {integrity: sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A==} + dev: false + + /d3-color@1.4.1: + resolution: {integrity: sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q==} + dev: false + + /d3-color@3.1.0: + resolution: {integrity: sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==} + engines: {node: '>=12'} + dev: false + + /d3-dispatch@2.0.0: + resolution: {integrity: sha512-S/m2VsXI7gAti2pBoLClFFTMOO1HTtT0j99AuXLoGFKO6deHDdnv6ZGTxSTTUTgO1zVcv82fCOtDjYK4EECmWA==} + dev: false + + /d3-dsv@1.2.0: + resolution: {integrity: sha512-9yVlqvZcSOMhCYzniHE7EVUws7Fa1zgw+/EAV2BxJoG3ME19V6BQFBwI855XQDsxyOuG7NibqRMTtiF/Qup46g==} + hasBin: true + dependencies: + commander: 2.20.3 + iconv-lite: 0.4.24 + rw: 1.3.3 + dev: false + + /d3-ease@1.0.7: + resolution: {integrity: sha512-lx14ZPYkhNx0s/2HX5sLFUI3mbasHjSSpwO/KaaNACweVwxUruKyWVcb293wMv1RqTPZyZ8kSZ2NogUZNcLOFQ==} + dev: false + + /d3-force@2.1.1: + resolution: {integrity: sha512-nAuHEzBqMvpFVMf9OX75d00OxvOXdxY+xECIXjW6Gv8BRrXu6gAWbv/9XKrvfJ5i5DCokDW7RYE50LRoK092ew==} + dependencies: + d3-dispatch: 2.0.0 + d3-quadtree: 2.0.0 + d3-timer: 2.0.0 + dev: false + + /d3-format@1.4.5: + resolution: {integrity: sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ==} + dev: false + + /d3-hexbin@0.2.2: + resolution: {integrity: sha512-KS3fUT2ReD4RlGCjvCEm1RgMtp2NFZumdMu4DBzQK8AZv3fXRM6Xm8I4fSU07UXvH4xxg03NwWKWdvxfS/yc4w==} + dev: false + + /d3-hierarchy@2.0.0: + resolution: {integrity: sha512-SwIdqM3HxQX2214EG9GTjgmCc/mbSx4mQBn+DuEETubhOw6/U3fmnji4uCVrmzOydMHSO1nZle5gh6HB/wdOzw==} + dev: false + + /d3-interpolate@1.4.0: + resolution: {integrity: sha512-V9znK0zc3jOPV4VD2zZn0sDhZU3WAE2bmlxdIwwQPPzPjvyLkd8B3JUVdS1IDUFDkWZ72c9qnv1GK2ZagTZ8EA==} + dependencies: + d3-color: 1.4.1 + dev: false + + /d3-interpolate@3.0.1: + resolution: {integrity: sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==} + engines: {node: '>=12'} + dependencies: + d3-color: 3.1.0 + dev: false + + /d3-quadtree@2.0.0: + resolution: {integrity: sha512-b0Ed2t1UUalJpc3qXzKi+cPGxeXRr4KU9YSlocN74aTzp6R/Ud43t79yLLqxHRWZfsvWXmbDWPpoENK1K539xw==} + dev: false + + /d3-regression@1.3.10: + resolution: {integrity: sha512-PF8GWEL70cHHWpx2jUQXc68r1pyPHIA+St16muk/XRokETzlegj5LriNKg7o4LR0TySug4nHYPJNNRz/W+/Niw==} + dev: false + + /d3-scale@2.2.2: + resolution: {integrity: sha512-LbeEvGgIb8UMcAa0EATLNX0lelKWGYDQiPdHj+gLblGVhGLyNbaCn3EvrJf0A3Y/uOOU5aD6MTh5ZFCdEwGiCw==} + dependencies: + d3-array: 1.2.4 + d3-collection: 1.0.7 + d3-format: 1.4.5 + d3-interpolate: 1.4.0 + d3-time: 1.1.0 + d3-time-format: 2.3.0 + dev: false + + /d3-time-format@2.3.0: + resolution: {integrity: sha512-guv6b2H37s2Uq/GefleCDtbe0XZAuy7Wa49VGkPVPMfLL9qObgBST3lEHJBMUp8S7NdLQAGIvr2KXk8Hc98iKQ==} + dependencies: + d3-time: 1.1.0 + dev: false + + /d3-time@1.1.0: + resolution: {integrity: sha512-Xh0isrZ5rPYYdqhAVk8VLnMEidhz5aP7htAADH6MfzgmmicPkTo8LhkLxci61/lCB7n7UmE3bN0leRt+qvkLxA==} + dev: false + + /d3-timer@1.0.10: + resolution: {integrity: sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw==} + dev: false + + /d3-timer@2.0.0: + resolution: {integrity: sha512-TO4VLh0/420Y/9dO3+f9abDEFYeCUr2WZRlxJvbp4HPTQcSylXNiL6yZa9FIUvV1yRiFufl1bszTCLDqv9PWNA==} + dev: false + + /d@1.0.1: + resolution: {integrity: sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==} + dependencies: + es5-ext: 0.10.62 + type: 1.2.0 + dev: true + + /dagre-compound@0.0.11(dagre@0.8.5): + resolution: {integrity: sha512-UrSgRP9LtOZCYb9e5doolZXpc7xayyszgyOs7uakTK4n4KsLegLVTRRtq01GpQd/iZjYw5fWMapx9ed+c80MAQ==} + engines: {node: '>=6.0.0'} + peerDependencies: + dagre: ^0.8.5 + dependencies: + dagre: 0.8.5 + dev: false + + /dagre@0.8.5: + resolution: {integrity: sha512-/aTqmnRta7x7MCCpExk7HQL2O4owCT2h8NT//9I1OQ9vt29Pa0BzSAkR5lwFUcQ7491yVi/3CXU9jQ5o0Mn2Sw==} + dependencies: + graphlib: 2.1.8 + lodash: 4.17.21 + dev: false + + /dashdash@1.14.1: + resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} + engines: {node: '>=0.10'} + dependencies: + assert-plus: 1.0.0 + dev: true + + /data-uri-to-buffer@4.0.1: + resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} + engines: {node: '>= 12'} + dev: true + + /data-urls@2.0.0: + resolution: {integrity: sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==} + engines: {node: '>=10'} + dependencies: + abab: 2.0.6 + whatwg-mimetype: 2.3.0 + whatwg-url: 8.7.0 + dev: false + + /data-urls@3.0.2: + resolution: {integrity: sha512-Jy/tj3ldjZJo63sVAvg6LHt2mHvl4V6AgRAmNDtLdm7faqtsx+aJG42rsyCo9JCoRVKwPFzKlIPx3DIibwSIaQ==} + engines: {node: '>=12'} + dependencies: + abab: 2.0.6 + whatwg-mimetype: 3.0.0 + whatwg-url: 11.0.0 + + /date-fns@2.30.0: + resolution: {integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==} + engines: {node: '>=0.11'} + dependencies: + '@babel/runtime': 7.22.3 + dev: true + + /date-format@0.0.0: + resolution: {integrity: sha512-kAmAdtsjW5nQ02FERwI1bP4xe6HQBPwy5kpAF4CRSLOMUs/vgMIEEwpy6JqUs7NitTyhZiImxwAjgPpnteycHg==} + deprecated: 0.x is no longer supported. Please upgrade to 4.x or higher. + dev: true + + /dayjs@1.11.10: + resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} + + /dayjs@1.11.7: + resolution: {integrity: sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ==} + + /debounce@1.2.1: + resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} + dev: false + + /debug@0.7.4: + resolution: {integrity: sha512-EohAb3+DSHSGx8carOSKJe8G0ayV5/i609OD0J2orCkuyae7SyZSz2aoLmQF2s0Pj5gITDebwPH7GFBlqOUQ1Q==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dev: true + + /debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.0.0 + + /debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.3 + dev: true + + /debug@4.3.4(supports-color@5.5.0): + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + supports-color: 5.5.0 + + /decamelize-keys@1.1.1: + resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} + engines: {node: '>=0.10.0'} + dependencies: + decamelize: 1.2.0 + map-obj: 1.0.1 + dev: true + + /decamelize@1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + + /decimal.js@10.4.3: + resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} + + /decode-uri-component@0.2.2: + resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} + engines: {node: '>=0.10'} + dev: true + + /decompress-response@4.2.1: + resolution: {integrity: sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==} + engines: {node: '>=8'} + dependencies: + mimic-response: 2.1.0 + dev: false + optional: true + + /dedent@0.7.0: + resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} + dev: true + + /deep-equal@1.1.2: + resolution: {integrity: sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg==} + engines: {node: '>= 0.4'} + dependencies: + is-arguments: 1.1.1 + is-date-object: 1.0.5 + is-regex: 1.1.4 + object-is: 1.1.5 + object-keys: 1.1.1 + regexp.prototype.flags: 1.5.1 + dev: false + + /deep-equal@2.2.1: + resolution: {integrity: sha512-lKdkdV6EOGoVn65XaOsPdH4rMxTZOnmFyuIkMjM1i5HHCbfjC97dawgTAy0deYNfuqUqW+Q5VrVaQYtUpSd6yQ==} + dependencies: + array-buffer-byte-length: 1.0.0 + call-bind: 1.0.2 + es-get-iterator: 1.1.3 + get-intrinsic: 1.2.1 + is-arguments: 1.1.1 + is-array-buffer: 3.0.2 + is-date-object: 1.0.5 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.2 + isarray: 2.0.5 + object-is: 1.1.5 + object-keys: 1.1.1 + object.assign: 4.1.4 + regexp.prototype.flags: 1.5.0 + side-channel: 1.0.4 + which-boxed-primitive: 1.0.2 + which-collection: 1.0.1 + which-typed-array: 1.1.9 + dev: true + + /deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + /deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + + /default-browser-id@3.0.0: + resolution: {integrity: sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==} + engines: {node: '>=12'} + dependencies: + bplist-parser: 0.2.0 + untildify: 4.0.0 + dev: true + + /default-browser@4.0.0: + resolution: {integrity: sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==} + engines: {node: '>=14.16'} + dependencies: + bundle-name: 3.0.0 + default-browser-id: 3.0.0 + execa: 7.1.1 + titleize: 3.0.0 + dev: true + + /defaults@1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + dependencies: + clone: 1.0.4 + dev: true + + /define-data-property@1.1.1: + resolution: {integrity: sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.1 + gopd: 1.0.1 + has-property-descriptors: 1.0.0 + + /define-lazy-prop@2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + + /define-lazy-prop@3.0.0: + resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} + engines: {node: '>=12'} + dev: true + + /define-properties@1.2.0: + resolution: {integrity: sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==} + engines: {node: '>= 0.4'} + dependencies: + has-property-descriptors: 1.0.0 + object-keys: 1.1.1 + + /defined@1.0.1: + resolution: {integrity: sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==} + dev: false + + /delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + /delegates@1.0.0: + resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} + dev: false + optional: true + + /depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + dev: true + + /des.js@1.0.1: + resolution: {integrity: sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==} + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + dev: true + + /destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + dev: true + + /detect-browser@5.3.0: + resolution: {integrity: sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w==} + dev: false + + /detect-indent@6.1.0: + resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} + engines: {node: '>=8'} + dev: true + + /detect-indent@7.0.1: + resolution: {integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==} + engines: {node: '>=12.20'} + dev: true + + /detect-libc@1.0.3: + resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} + engines: {node: '>=0.10'} + hasBin: true + dev: true + + /detect-libc@2.0.2: + resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} + engines: {node: '>=8'} + dev: false + optional: true + + /detect-newline@3.1.0: + resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} + engines: {node: '>=8'} + dev: true + + /detect-newline@4.0.0: + resolution: {integrity: sha512-1aXUEPdfGdzVPFpzGJJNgq9o81bGg1s09uxTWsqBlo9PI332uyJRQq13+LK/UN4JfxJbFdCXonUFQ9R/p7yCtw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /detect-node@2.1.0: + resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} + dev: true + + /detect-port-alt@1.1.6: + resolution: {integrity: sha512-5tQykt+LqfJFBEYaDITx7S7cR7mJ/zQmLXZ2qt5w04ainYZw6tBf9dBunMjVeVOdYVRUzUOE4HkY5J7+uttb5Q==} + engines: {node: '>= 4.2.1'} + hasBin: true + dependencies: + address: 1.2.2 + debug: 2.6.9 + transitivePeerDependencies: + - supports-color + dev: false + + /diff-sequences@29.4.3: + resolution: {integrity: sha512-ofrBgwpPhCD85kMKtE9RYFFq6OC1A89oW2vvgWZNCwxrUpRUILopY7lsYyMDSjc8g6U6aiO0Qubg6r4Wgt5ZnA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + + /diff@4.0.2: + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} + dev: true + + /diffie-hellman@5.0.3: + resolution: {integrity: sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==} + dependencies: + bn.js: 4.12.0 + miller-rabin: 4.0.1 + randombytes: 2.1.0 + dev: true + + /dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + dependencies: + path-type: 4.0.0 + + /doctrine@2.1.0: + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + dependencies: + esutils: 2.0.3 + + /dom-accessibility-api@0.5.16: + resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} + dev: true + + /dom-align@1.12.4: + resolution: {integrity: sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw==} + + /dom-converter@0.2.0: + resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==} + dependencies: + utila: 0.4.0 + dev: true + + /dom-serializer@0.2.2: + resolution: {integrity: sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==} + dependencies: + domelementtype: 2.3.0 + entities: 2.2.0 + dev: true + + /dom-serializer@1.4.1: + resolution: {integrity: sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==} + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + entities: 2.2.0 + dev: true + + /dom-walk@0.1.2: + resolution: {integrity: sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==} + + /domain-browser@1.2.0: + resolution: {integrity: sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==} + engines: {node: '>=0.4', npm: '>=1.2'} + dev: true + + /domelementtype@1.3.1: + resolution: {integrity: sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==} + dev: true + + /domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + dev: true + + /domexception@2.0.1: + resolution: {integrity: sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==} + engines: {node: '>=8'} + deprecated: Use your platform's native DOMException instead + dependencies: + webidl-conversions: 5.0.0 + dev: false + + /domexception@4.0.0: + resolution: {integrity: sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==} + engines: {node: '>=12'} + deprecated: Use your platform's native DOMException instead + dependencies: + webidl-conversions: 7.0.0 + + /domhandler@2.4.2: + resolution: {integrity: sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==} + dependencies: + domelementtype: 1.3.1 + dev: true + + /domhandler@4.3.1: + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} + engines: {node: '>= 4'} + dependencies: + domelementtype: 2.3.0 + dev: true + + /domutils@1.7.0: + resolution: {integrity: sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==} + dependencies: + dom-serializer: 0.2.2 + domelementtype: 1.3.1 + dev: true + + /domutils@2.8.0: + resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==} + dependencies: + dom-serializer: 1.4.1 + domelementtype: 2.3.0 + domhandler: 4.3.1 + dev: true + + /dot-case@3.0.4: + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + dependencies: + no-case: 3.0.4 + tslib: 2.5.2 + dev: true + + /dotenv@8.6.0: + resolution: {integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==} + engines: {node: '>=10'} + dev: true + + /dotignore@0.1.2: + resolution: {integrity: sha512-UGGGWfSauusaVJC+8fgV+NVvBXkCTmVv7sk6nojDZZvuOUNGUy0Zk4UpHQD6EDjS0jpBwcACvH4eofvyzBcRDw==} + hasBin: true + dependencies: + minimatch: 3.1.2 + dev: false + + /duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + dev: false + + /duplexify@4.1.2: + resolution: {integrity: sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw==} + dependencies: + end-of-stream: 1.4.4 + inherits: 2.0.4 + readable-stream: 3.6.2 + stream-shift: 1.0.1 + dev: true + + /dva-core@1.5.0-beta.2(redux@3.7.2): + resolution: {integrity: sha512-xmtr/J63EZXBdVXNBW+QCD7p9CaE8kAo2U1faRyv3PIGcy0G3Y6IBDNtoBB/Cj3nzk/jvX0dv96Hnh1kpSnI7Q==} + peerDependencies: + redux: 3.x + dependencies: + '@babel/runtime': 7.22.3 + flatten: 1.0.3 + global: 4.4.0 + invariant: 2.2.4 + is-plain-object: 2.0.4 + redux: 3.7.2 + redux-saga: 0.16.2 + warning: 3.0.0 + dev: true + + /dva-core@2.0.4(redux@3.7.2): + resolution: {integrity: sha512-Zh39llFyItu9HKXKfCZVf9UFtDTcypdAjGBew1S+wK8BGVzFpm1GPTdd6uIMeg7O6STtCvt2Qv+RwUut1GFynA==} + peerDependencies: + redux: 4.x + dependencies: + '@babel/runtime': 7.22.3 + flatten: 1.0.3 + global: 4.4.0 + invariant: 2.2.4 + is-plain-object: 2.0.4 + redux: 3.7.2 + redux-saga: 0.16.2 + warning: 3.0.0 + dev: true + + /dva-core@2.0.4(redux@4.2.1): + resolution: {integrity: sha512-Zh39llFyItu9HKXKfCZVf9UFtDTcypdAjGBew1S+wK8BGVzFpm1GPTdd6uIMeg7O6STtCvt2Qv+RwUut1GFynA==} + peerDependencies: + redux: 4.x + dependencies: + '@babel/runtime': 7.22.3 + flatten: 1.0.3 + global: 4.4.0 + invariant: 2.2.4 + is-plain-object: 2.0.4 + redux: 4.2.1 + redux-saga: 0.16.2 + warning: 3.0.0 + dev: true + + /dva-immer@1.0.1(dva@2.5.0-beta.2): + resolution: {integrity: sha512-Oe+yFTtu2UMNcMoBLLTa/ms1RjUry38Yf0ClN8LiHbF+gT2QAdLYLk3miu1dDtm3Sxl9nk+DH1edKX0Hy49uQg==} + peerDependencies: + dva: ^2.5.0-0 + dependencies: + '@babel/runtime': 7.22.3 + dva: 2.5.0-beta.2(react-dom@18.2.0)(react@18.2.0) + immer: 8.0.4 + dev: true + + /dva-loading@3.0.24(dva-core@2.0.4): + resolution: {integrity: sha512-3j4bmuXOYH93xe+CC//z3Si8XMx6DLJveep+UbzKy0jhA7oQrCCZTdKxu0UPYXeAMYXpCO25pG4JOnVhzmC7ug==} + peerDependencies: + dva-core: ^1.1.0 || ^1.5.0-0 || ^1.6.0-0 + dependencies: + '@babel/runtime': 7.22.3 + dva-core: 2.0.4(redux@4.2.1) + dev: true + + /dva@2.5.0-beta.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-kc2+CHhF1cNIU3Rg1miMhHgOKJ/VDrq9d6ynVBZf1EN2YKWU3MVFq/uTTBqMr2qkR0m9f8VKHOFmfKLtfMI93Q==} + peerDependencies: + react: 15.x || ^16.0.0-0 + react-dom: 15.x || ^16.0.0-0 + dependencies: + '@babel/runtime': 7.22.3 + '@types/isomorphic-fetch': 0.0.34 + '@types/react-router-dom': 4.3.5 + '@types/react-router-redux': 5.0.22 + dva-core: 1.5.0-beta.2(redux@3.7.2) + global: 4.4.0 + history: 4.10.1 + invariant: 2.2.4 + isomorphic-fetch: 2.2.1 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-redux: 5.1.2(react@18.2.0)(redux@3.7.2) + react-router-dom: 4.3.1(react@18.2.0) + react-router-redux: 5.0.0-alpha.9(react@18.2.0) + redux: 3.7.2 + dev: true + + /earcut@2.2.4: + resolution: {integrity: sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==} + dev: false + + /ecc-jsbn@0.1.2: + resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} + dependencies: + jsbn: 0.1.1 + safer-buffer: 2.1.2 + dev: true + + /echarts-for-react@3.0.2(echarts@5.4.3)(react@18.2.0): + resolution: {integrity: sha512-DRwIiTzx8JfwPOVgGttDytBqdp5VzCSyMRIxubgU/g2n9y3VLUmF2FK7Icmg/sNVkv4+rktmrLN9w22U2yy3fA==} + peerDependencies: + echarts: ^3.0.0 || ^4.0.0 || ^5.0.0 + react: ^15.0.0 || >=16.0.0 + dependencies: + echarts: 5.4.3 + fast-deep-equal: 3.1.3 + react: 18.2.0 + size-sensor: 1.0.2 + dev: false + + /echarts@5.4.3: + resolution: {integrity: sha512-mYKxLxhzy6zyTi/FaEbJMOZU1ULGEQHaeIeuMR5L+JnJTpz+YR03mnnpBhbR4+UYJAgiXgpyTVLffPAjOTLkZA==} + dependencies: + tslib: 2.3.0 + zrender: 5.4.4 + dev: false + + /ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + dev: true + + /electron-to-chromium@1.4.411: + resolution: {integrity: sha512-5VXLW4Qw89vM2WTICHua/y8v7fKGDRVa2VPOtBB9IpLvW316B+xd8yD1wTmLPY2ot/00P/qt87xdolj4aG/Lzg==} + + /element-resize-event@3.0.6: + resolution: {integrity: sha512-sSeXY9rNDp86bJODW68pxLcy3A5FrPZfIgOrJHzqgYzX513Zq6/ytdBigp7KeJEpZZopBBSiO1cVuiRkZpNxLw==} + dev: false + + /elliptic@6.5.4: + resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==} + dependencies: + bn.js: 4.12.0 + brorand: 1.1.0 + hash.js: 1.1.7 + hmac-drbg: 1.0.1 + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + dev: true + + /email-addresses@3.1.0: + resolution: {integrity: sha512-k0/r7GrWVL32kZlGwfPNgB2Y/mMXVTq/decgLczm/j34whdaspNrZO8CnXPf1laaHxI6ptUlsnAxN+UAPw+fzg==} + dev: true + + /emittery@0.13.1: + resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} + engines: {node: '>=12'} + dev: true + + /emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + /emojis-list@3.0.0: + resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} + engines: {node: '>= 4'} + + /encodeurl@1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + dev: true + + /encoding@0.1.13: + resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} + dependencies: + iconv-lite: 0.6.3 + dev: true + + /end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + dev: true + + /enhanced-resolve@5.14.1: + resolution: {integrity: sha512-Vklwq2vDKtl0y/vtwjSesgJ5MYS7Etuk5txS8VdKL4AOS1aUlD96zqIfsOSLQsdv3xgMRbtkWM8eG9XDfKUPow==} + engines: {node: '>=10.13.0'} + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + + /enhanced-resolve@5.9.3: + resolution: {integrity: sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow==} + engines: {node: '>=10.13.0'} + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + dev: true + + /enquirer@2.3.6: + resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} + engines: {node: '>=8.6'} + dependencies: + ansi-colors: 4.1.3 + dev: true + + /entities@1.1.2: + resolution: {integrity: sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==} + dev: true + + /entities@2.2.0: + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + dev: true + + /entities@4.5.0: + resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} + engines: {node: '>=0.12'} + dev: true + + /errno@0.1.8: + resolution: {integrity: sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==} + hasBin: true + requiresBuild: true + dependencies: + prr: 1.0.1 + dev: true + optional: true + + /error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + dependencies: + is-arrayish: 0.2.1 + + /error-stack-parser@2.1.4: + resolution: {integrity: sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==} + dependencies: + stackframe: 1.3.4 + + /es-abstract@1.21.2: + resolution: {integrity: sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.0 + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + es-set-tostringtag: 2.0.1 + es-to-primitive: 1.2.1 + function.prototype.name: 1.1.5 + get-intrinsic: 1.2.1 + get-symbol-description: 1.0.0 + globalthis: 1.0.3 + gopd: 1.0.1 + has: 1.0.3 + has-property-descriptors: 1.0.0 + has-proto: 1.0.1 + has-symbols: 1.0.3 + internal-slot: 1.0.5 + is-array-buffer: 3.0.2 + is-callable: 1.2.7 + is-negative-zero: 2.0.2 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.2 + is-string: 1.0.7 + is-typed-array: 1.1.10 + is-weakref: 1.0.2 + object-inspect: 1.12.3 + object-keys: 1.1.1 + object.assign: 4.1.4 + regexp.prototype.flags: 1.5.0 + safe-regex-test: 1.0.0 + string.prototype.trim: 1.2.7 + string.prototype.trimend: 1.0.6 + string.prototype.trimstart: 1.0.6 + typed-array-length: 1.0.4 + unbox-primitive: 1.0.2 + which-typed-array: 1.1.9 + dev: true + + /es-abstract@1.22.3: + resolution: {integrity: sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.0 + arraybuffer.prototype.slice: 1.0.2 + available-typed-arrays: 1.0.5 + call-bind: 1.0.5 + es-set-tostringtag: 2.0.1 + es-to-primitive: 1.2.1 + function.prototype.name: 1.1.6 + get-intrinsic: 1.2.2 + get-symbol-description: 1.0.0 + globalthis: 1.0.3 + gopd: 1.0.1 + has-property-descriptors: 1.0.0 + has-proto: 1.0.1 + has-symbols: 1.0.3 + hasown: 2.0.0 + internal-slot: 1.0.5 + is-array-buffer: 3.0.2 + is-callable: 1.2.7 + is-negative-zero: 2.0.2 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.2 + is-string: 1.0.7 + is-typed-array: 1.1.12 + is-weakref: 1.0.2 + object-inspect: 1.13.1 + object-keys: 1.1.1 + object.assign: 4.1.4 + regexp.prototype.flags: 1.5.1 + safe-array-concat: 1.0.1 + safe-regex-test: 1.0.0 + string.prototype.trim: 1.2.8 + string.prototype.trimend: 1.0.7 + string.prototype.trimstart: 1.0.7 + typed-array-buffer: 1.0.0 + typed-array-byte-length: 1.0.0 + typed-array-byte-offset: 1.0.0 + typed-array-length: 1.0.4 + unbox-primitive: 1.0.2 + which-typed-array: 1.1.13 + dev: false + + /es-get-iterator@1.1.3: + resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + has-symbols: 1.0.3 + is-arguments: 1.1.1 + is-map: 2.0.2 + is-set: 2.0.2 + is-string: 1.0.7 + isarray: 2.0.5 + stop-iteration-iterator: 1.0.0 + dev: true + + /es-module-lexer@1.2.1: + resolution: {integrity: sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==} + + /es-set-tostringtag@2.0.1: + resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.2 + has: 1.0.3 + has-tostringtag: 1.0.0 + + /es-shim-unscopables@1.0.0: + resolution: {integrity: sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w==} + dependencies: + has: 1.0.3 + dev: true + + /es-to-primitive@1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + dependencies: + is-callable: 1.2.7 + is-date-object: 1.0.5 + is-symbol: 1.0.4 + + /es5-ext@0.10.62: + resolution: {integrity: sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==} + engines: {node: '>=0.10'} + requiresBuild: true + dependencies: + es6-iterator: 2.0.3 + es6-symbol: 3.1.3 + next-tick: 1.1.0 + dev: true + + /es5-imcompatible-versions@0.1.82: + resolution: {integrity: sha512-Y4vitTOiUyvIHPMcj6yrLaS2Un1SLlH9opeHZmpF68e8CFL173XeDkSA2UOVnDDB9WRi2+wztzbcIXRhIeQVnA==} + dev: true + + /es6-iterator@2.0.3: + resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} + dependencies: + d: 1.0.1 + es5-ext: 0.10.62 + es6-symbol: 3.1.3 + dev: true + + /es6-promise@3.3.1: + resolution: {integrity: sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==} + dev: true + + /es6-promise@4.2.8: + resolution: {integrity: sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==} + dev: true + + /es6-promisify@5.0.0: + resolution: {integrity: sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ==} + dependencies: + es6-promise: 4.2.8 + dev: true + + /es6-symbol@3.1.3: + resolution: {integrity: sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==} + dependencies: + d: 1.0.1 + ext: 1.7.0 + dev: true + + /es6-weak-map@2.0.3: + resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==} + dependencies: + d: 1.0.1 + es5-ext: 0.10.62 + es6-iterator: 2.0.3 + es6-symbol: 3.1.3 + dev: true + + /esbuild@0.16.17: + resolution: {integrity: sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.16.17 + '@esbuild/android-arm64': 0.16.17 + '@esbuild/android-x64': 0.16.17 + '@esbuild/darwin-arm64': 0.16.17 + '@esbuild/darwin-x64': 0.16.17 + '@esbuild/freebsd-arm64': 0.16.17 + '@esbuild/freebsd-x64': 0.16.17 + '@esbuild/linux-arm': 0.16.17 + '@esbuild/linux-arm64': 0.16.17 + '@esbuild/linux-ia32': 0.16.17 + '@esbuild/linux-loong64': 0.16.17 + '@esbuild/linux-mips64el': 0.16.17 + '@esbuild/linux-ppc64': 0.16.17 + '@esbuild/linux-riscv64': 0.16.17 + '@esbuild/linux-s390x': 0.16.17 + '@esbuild/linux-x64': 0.16.17 + '@esbuild/netbsd-x64': 0.16.17 + '@esbuild/openbsd-x64': 0.16.17 + '@esbuild/sunos-x64': 0.16.17 + '@esbuild/win32-arm64': 0.16.17 + '@esbuild/win32-ia32': 0.16.17 + '@esbuild/win32-x64': 0.16.17 + dev: true + + /esbuild@0.17.19: + resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.17.19 + '@esbuild/android-arm64': 0.17.19 + '@esbuild/android-x64': 0.17.19 + '@esbuild/darwin-arm64': 0.17.19 + '@esbuild/darwin-x64': 0.17.19 + '@esbuild/freebsd-arm64': 0.17.19 + '@esbuild/freebsd-x64': 0.17.19 + '@esbuild/linux-arm': 0.17.19 + '@esbuild/linux-arm64': 0.17.19 + '@esbuild/linux-ia32': 0.17.19 + '@esbuild/linux-loong64': 0.17.19 + '@esbuild/linux-mips64el': 0.17.19 + '@esbuild/linux-ppc64': 0.17.19 + '@esbuild/linux-riscv64': 0.17.19 + '@esbuild/linux-s390x': 0.17.19 + '@esbuild/linux-x64': 0.17.19 + '@esbuild/netbsd-x64': 0.17.19 + '@esbuild/openbsd-x64': 0.17.19 + '@esbuild/sunos-x64': 0.17.19 + '@esbuild/win32-arm64': 0.17.19 + '@esbuild/win32-ia32': 0.17.19 + '@esbuild/win32-x64': 0.17.19 + dev: true + + /escalade@3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} + + /escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + dev: true + + /escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + /escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + dev: true + + /escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + /escodegen@2.0.0: + resolution: {integrity: sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==} + engines: {node: '>=6.0'} + hasBin: true + dependencies: + esprima: 4.0.1 + estraverse: 5.3.0 + esutils: 2.0.3 + optionator: 0.8.3 + optionalDependencies: + source-map: 0.6.1 + + /eslint-ast-utils@1.1.0: + resolution: {integrity: sha512-otzzTim2/1+lVrlH19EfQQJEhVJSu0zOb9ygb3iapN6UlyaDtyRq4b5U1FuW0v1lRa9Fp/GJyHkSwm6NqABgCA==} + engines: {node: '>=4'} + dependencies: + lodash.get: 4.4.2 + lodash.zip: 4.2.0 + dev: true + + /eslint-config-prettier@8.8.0(eslint@7.32.0): + resolution: {integrity: sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + dependencies: + eslint: 7.32.0 + dev: true + + /eslint-formatter-pretty@4.1.0: + resolution: {integrity: sha512-IsUTtGxF1hrH6lMWiSl1WbGaiP01eT6kzywdY1U+zLc0MP+nwEnUiS9UI8IaOTUhTeQJLlCEWIbXINBH4YJbBQ==} + engines: {node: '>=10'} + dependencies: + '@types/eslint': 7.29.0 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + eslint-rule-docs: 1.1.235 + log-symbols: 4.1.0 + plur: 4.0.0 + string-width: 4.2.3 + supports-hyperlinks: 2.3.0 + dev: true + + /eslint-plugin-babel@5.3.1(eslint@7.32.0): + resolution: {integrity: sha512-VsQEr6NH3dj664+EyxJwO4FCYm/00JhYb3Sk3ft8o+fpKuIfQ9TaW6uVUfvwMXHcf/lsnRIoyFPsLMyiWCSL/g==} + engines: {node: '>=4'} + peerDependencies: + eslint: '>=4.0.0' + dependencies: + eslint: 7.32.0 + eslint-rule-composer: 0.3.0 + dev: true + + /eslint-plugin-jest@24.7.0(@typescript-eslint/eslint-plugin@5.59.7)(eslint@7.32.0)(typescript@4.9.5): + resolution: {integrity: sha512-wUxdF2bAZiYSKBclsUMrYHH6WxiBreNjyDxbRv345TIvPeoCEgPNEn3Sa+ZrSqsf1Dl9SqqSREXMHExlMMu1DA==} + engines: {node: '>=10'} + peerDependencies: + '@typescript-eslint/eslint-plugin': '>= 4' + eslint: '>=5' + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true + dependencies: + '@typescript-eslint/eslint-plugin': 5.59.7(@typescript-eslint/parser@5.59.7)(eslint@7.32.0)(typescript@4.9.5) + '@typescript-eslint/experimental-utils': 4.33.0(eslint@7.32.0)(typescript@4.9.5) + eslint: 7.32.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /eslint-plugin-jest@27.2.1(@typescript-eslint/eslint-plugin@5.48.1)(eslint@8.35.0)(jest@29.5.0)(typescript@5.0.2): + resolution: {integrity: sha512-l067Uxx7ZT8cO9NJuf+eJHvt6bqJyz2Z29wykyEdz/OtmcELQl2MQGQLX8J94O1cSJWAwUSEvCjwjA7KEK3Hmg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@typescript-eslint/eslint-plugin': ^5.0.0 + eslint: ^7.0.0 || ^8.0.0 + jest: '*' + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true + jest: + optional: true + dependencies: + '@typescript-eslint/eslint-plugin': 5.48.1(@typescript-eslint/parser@5.48.1)(eslint@8.35.0)(typescript@5.0.2) + '@typescript-eslint/utils': 5.59.7(eslint@8.35.0)(typescript@5.0.2) + eslint: 8.35.0 + jest: 29.5.0(@types/node@20.2.5)(ts-node@10.9.1) + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /eslint-plugin-jest@27.2.1(@typescript-eslint/eslint-plugin@5.48.1)(eslint@8.41.0)(jest@29.5.0)(typescript@5.0.2): + resolution: {integrity: sha512-l067Uxx7ZT8cO9NJuf+eJHvt6bqJyz2Z29wykyEdz/OtmcELQl2MQGQLX8J94O1cSJWAwUSEvCjwjA7KEK3Hmg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@typescript-eslint/eslint-plugin': ^5.0.0 + eslint: ^7.0.0 || ^8.0.0 + jest: '*' + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true + jest: + optional: true + dependencies: + '@typescript-eslint/eslint-plugin': 5.48.1(@typescript-eslint/parser@5.48.1)(eslint@8.41.0)(typescript@5.0.2) + '@typescript-eslint/utils': 5.59.7(eslint@8.41.0)(typescript@5.0.2) + eslint: 8.41.0 + jest: 29.5.0(@types/node@20.2.5)(ts-node@10.9.1) + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /eslint-plugin-promise@6.1.1(eslint@7.32.0): + resolution: {integrity: sha512-tjqWDwVZQo7UIPMeDReOpUgHCmCiH+ePnVT+5zVapL0uuHnegBUs2smM13CzOs2Xb5+MHMRFTs9v24yjba4Oig==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + dependencies: + eslint: 7.32.0 + dev: true + + /eslint-plugin-react-hooks@4.6.0(eslint@7.32.0): + resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} + engines: {node: '>=10'} + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 + dependencies: + eslint: 7.32.0 + dev: true + + /eslint-plugin-react-hooks@4.6.0(eslint@8.35.0): + resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} + engines: {node: '>=10'} + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 + dependencies: + eslint: 8.35.0 + dev: true + + /eslint-plugin-react-hooks@4.6.0(eslint@8.41.0): + resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} + engines: {node: '>=10'} + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 + dependencies: + eslint: 8.41.0 + dev: true + + /eslint-plugin-react@7.32.2(eslint@7.32.0): + resolution: {integrity: sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==} + engines: {node: '>=4'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + dependencies: + array-includes: 3.1.6 + array.prototype.flatmap: 1.3.1 + array.prototype.tosorted: 1.1.1 + doctrine: 2.1.0 + eslint: 7.32.0 + estraverse: 5.3.0 + jsx-ast-utils: 3.3.3 + minimatch: 3.1.2 + object.entries: 1.1.6 + object.fromentries: 2.0.6 + object.hasown: 1.1.2 + object.values: 1.1.6 + prop-types: 15.8.1 + resolve: 2.0.0-next.4 + semver: 6.3.0 + string.prototype.matchall: 4.0.8 + dev: true + + /eslint-plugin-react@7.32.2(eslint@8.35.0): + resolution: {integrity: sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==} + engines: {node: '>=4'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + dependencies: + array-includes: 3.1.6 + array.prototype.flatmap: 1.3.1 + array.prototype.tosorted: 1.1.1 + doctrine: 2.1.0 + eslint: 8.35.0 + estraverse: 5.3.0 + jsx-ast-utils: 3.3.3 + minimatch: 3.1.2 + object.entries: 1.1.6 + object.fromentries: 2.0.6 + object.hasown: 1.1.2 + object.values: 1.1.6 + prop-types: 15.8.1 + resolve: 2.0.0-next.4 + semver: 6.3.0 + string.prototype.matchall: 4.0.8 + dev: true + + /eslint-plugin-react@7.32.2(eslint@8.41.0): + resolution: {integrity: sha512-t2fBMa+XzonrrNkyVirzKlvn5RXzzPwRHtMvLAtVZrt8oxgnTQaYbU6SXTOO1mwQgp1y5+toMSKInnzGr0Knqg==} + engines: {node: '>=4'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + dependencies: + array-includes: 3.1.6 + array.prototype.flatmap: 1.3.1 + array.prototype.tosorted: 1.1.1 + doctrine: 2.1.0 + eslint: 8.41.0 + estraverse: 5.3.0 + jsx-ast-utils: 3.3.3 + minimatch: 3.1.2 + object.entries: 1.1.6 + object.fromentries: 2.0.6 + object.hasown: 1.1.2 + object.values: 1.1.6 + prop-types: 15.8.1 + resolve: 2.0.0-next.4 + semver: 6.3.0 + string.prototype.matchall: 4.0.8 + dev: true + + /eslint-plugin-unicorn@20.1.0(eslint@7.32.0): + resolution: {integrity: sha512-XQxLBJT/gnwyRR6cfYsIK1AdekQchAt5tmcsnldevGjgR2xoZsRUa5/i6e0seNHy2RoT57CkTnbVHwHF8No8LA==} + engines: {node: '>=10'} + peerDependencies: + eslint: '>=7.0.0' + dependencies: + ci-info: 2.0.0 + clean-regexp: 1.0.0 + eslint: 7.32.0 + eslint-ast-utils: 1.1.0 + eslint-template-visitor: 2.3.2(eslint@7.32.0) + eslint-utils: 2.1.0 + import-modules: 2.1.0 + lodash: 4.17.21 + pluralize: 8.0.0 + read-pkg-up: 7.0.1 + regexp-tree: 0.1.27 + reserved-words: 0.1.2 + safe-regex: 2.1.1 + semver: 7.5.1 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-rule-composer@0.3.0: + resolution: {integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==} + engines: {node: '>=4.0.0'} + dev: true + + /eslint-rule-docs@1.1.235: + resolution: {integrity: sha512-+TQ+x4JdTnDoFEXXb3fDvfGOwnyNV7duH8fXWTPD1ieaBmB8omj7Gw/pMBBu4uI2uJCCU8APDaQJzWuXnTsH4A==} + dev: true + + /eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + dependencies: + esrecurse: 4.3.0 + estraverse: 4.3.0 + + /eslint-scope@7.2.0: + resolution: {integrity: sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + + /eslint-template-visitor@2.3.2(eslint@7.32.0): + resolution: {integrity: sha512-3ydhqFpuV7x1M9EK52BPNj6V0Kwu0KKkcIAfpUhwHbR8ocRln/oUHgfxQupY8O1h4Qv/POHDumb/BwwNfxbtnA==} + peerDependencies: + eslint: '>=7.0.0' + dependencies: + '@babel/core': 7.22.1 + '@babel/eslint-parser': 7.21.8(@babel/core@7.22.1)(eslint@7.32.0) + eslint: 7.32.0 + eslint-visitor-keys: 2.1.0 + esquery: 1.5.0 + multimap: 1.1.0 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint-utils@2.1.0: + resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} + engines: {node: '>=6'} + dependencies: + eslint-visitor-keys: 1.3.0 + dev: true + + /eslint-utils@3.0.0(eslint@7.32.0): + resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} + engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} + peerDependencies: + eslint: '>=5' + dependencies: + eslint: 7.32.0 + eslint-visitor-keys: 2.1.0 + dev: true + + /eslint-utils@3.0.0(eslint@8.35.0): + resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} + engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} + peerDependencies: + eslint: '>=5' + dependencies: + eslint: 8.35.0 + eslint-visitor-keys: 2.1.0 + dev: true + + /eslint-utils@3.0.0(eslint@8.41.0): + resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} + engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} + peerDependencies: + eslint: '>=5' + dependencies: + eslint: 8.41.0 + eslint-visitor-keys: 2.1.0 + dev: true + + /eslint-visitor-keys@1.3.0: + resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} + engines: {node: '>=4'} + dev: true + + /eslint-visitor-keys@2.1.0: + resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} + engines: {node: '>=10'} + dev: true + + /eslint-visitor-keys@3.4.1: + resolution: {integrity: sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + /eslint@7.32.0: + resolution: {integrity: sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==} + engines: {node: ^10.12.0 || >=12.0.0} + hasBin: true + dependencies: + '@babel/code-frame': 7.12.11 + '@eslint/eslintrc': 0.4.3 + '@humanwhocodes/config-array': 0.5.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4(supports-color@5.5.0) + doctrine: 3.0.0 + enquirer: 2.3.6 + escape-string-regexp: 4.0.0 + eslint-scope: 5.1.1 + eslint-utils: 2.1.0 + eslint-visitor-keys: 2.1.0 + espree: 7.3.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + functional-red-black-tree: 1.0.1 + glob-parent: 5.1.2 + globals: 13.20.0 + ignore: 4.0.6 + import-fresh: 3.3.0 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + js-yaml: 3.14.1 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.1 + progress: 2.0.3 + regexpp: 3.2.0 + semver: 7.5.1 + strip-ansi: 6.0.1 + strip-json-comments: 3.1.1 + table: 6.8.1 + text-table: 0.2.0 + v8-compile-cache: 2.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint@8.35.0: + resolution: {integrity: sha512-BxAf1fVL7w+JLRQhWl2pzGeSiGqbWumV4WNvc9Rhp6tiCtm4oHnyPBSEtMGZwrQgudFQ+otqzWoPB7x+hxoWsw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint/eslintrc': 2.0.3 + '@eslint/js': 8.35.0 + '@humanwhocodes/config-array': 0.11.8 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4(supports-color@5.5.0) + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.0 + eslint-utils: 3.0.0(eslint@8.35.0) + eslint-visitor-keys: 3.4.1 + espree: 9.5.2 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.20.0 + grapheme-splitter: 1.0.4 + ignore: 5.2.4 + import-fresh: 3.3.0 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-sdsl: 4.4.0 + js-yaml: 4.1.0 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.1 + regexpp: 3.2.0 + strip-ansi: 6.0.1 + strip-json-comments: 3.1.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + dev: true + + /eslint@8.41.0: + resolution: {integrity: sha512-WQDQpzGBOP5IrXPo4Hc0814r4/v2rrIsB0rhT7jtunIalgg6gYXWhRMOejVO8yH21T/FGaxjmFjBMNqcIlmH1Q==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.41.0) + '@eslint-community/regexpp': 4.5.1 + '@eslint/eslintrc': 2.0.3 + '@eslint/js': 8.41.0 + '@humanwhocodes/config-array': 0.11.8 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4(supports-color@5.5.0) + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.0 + eslint-visitor-keys: 3.4.1 + espree: 9.5.2 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.20.0 + graphemer: 1.4.0 + ignore: 5.2.4 + import-fresh: 3.3.0 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-yaml: 4.1.0 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.1.2 + natural-compare: 1.4.0 + optionator: 0.9.1 + strip-ansi: 6.0.1 + strip-json-comments: 3.1.1 + text-table: 0.2.0 + transitivePeerDependencies: + - supports-color + + /espree@7.3.1: + resolution: {integrity: sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + acorn: 7.4.1 + acorn-jsx: 5.3.2(acorn@7.4.1) + eslint-visitor-keys: 1.3.0 + dev: true + + /espree@9.5.2: + resolution: {integrity: sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.8.2 + acorn-jsx: 5.3.2(acorn@8.8.2) + eslint-visitor-keys: 3.4.1 + + /esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + /esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.3.0 + + /esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + dependencies: + estraverse: 5.3.0 + + /estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + + /estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + /esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + /etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + dev: true + + /event-emitter@0.3.5: + resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==} + dependencies: + d: 1.0.1 + es5-ext: 0.10.62 + dev: true + + /eventemitter3@4.0.7: + resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + dev: false + + /eventemitter3@5.0.1: + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + dev: false + + /events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + + /evp_bytestokey@1.0.3: + resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} + dependencies: + md5.js: 1.3.5 + safe-buffer: 5.2.1 + dev: true + + /execa@4.1.0: + resolution: {integrity: sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==} + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 5.2.0 + human-signals: 1.1.1 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + dev: true + + /execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + dev: true + + /execa@7.1.1: + resolution: {integrity: sha512-wH0eMf/UXckdUYnO21+HDztteVv05rq2GXksxT4fCGeHkBhw1DROXh40wcjMcRqDOWE7iPJ4n3M7e2+YFP+76Q==} + engines: {node: ^14.18.0 || ^16.14.0 || >=18.0.0} + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 4.3.1 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.1.0 + onetime: 6.0.0 + signal-exit: 3.0.7 + strip-final-newline: 3.0.0 + dev: true + + /execall@2.0.0: + resolution: {integrity: sha512-0FU2hZ5Hh6iQnarpRtQurM/aAvp3RIbfvgLHrcqJYzhXyV2KFruhuChf9NC6waAhiUR7FFtlugkI4p7f2Fqlow==} + engines: {node: '>=8'} + dependencies: + clone-regexp: 2.2.0 + dev: true + + /exenv@1.2.2: + resolution: {integrity: sha512-Z+ktTxTwv9ILfgKCk32OX3n/doe+OcLTRtqK9pcL+JsP3J1/VW8Uvl4ZjLlKqeW4rzK4oesDOGMEMRIZqtP4Iw==} + dev: true + + /exit@0.1.2: + resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} + engines: {node: '>= 0.8.0'} + dev: true + + /expect@29.5.0: + resolution: {integrity: sha512-yM7xqUrCO2JdpFo4XpM82t+PJBFybdqoQuJLDGeDX2ij8NZzqRHyu3Hp188/JX7SWqud+7t4MUdvcgGBICMHZg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/expect-utils': 29.5.0 + jest-get-type: 29.4.3 + jest-matcher-utils: 29.5.0 + jest-message-util: 29.5.0 + jest-util: 29.5.0 + dev: true + + /express@4.18.2: + resolution: {integrity: sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==} + engines: {node: '>= 0.10.0'} + dependencies: + accepts: 1.3.8 + array-flatten: 1.1.1 + body-parser: 1.20.1 + content-disposition: 0.5.4 + content-type: 1.0.5 + cookie: 0.5.0 + cookie-signature: 1.0.6 + debug: 2.6.9 + depd: 2.0.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + finalhandler: 1.2.0 + fresh: 0.5.2 + http-errors: 2.0.0 + merge-descriptors: 1.0.1 + methods: 1.1.2 + on-finished: 2.4.1 + parseurl: 1.3.3 + path-to-regexp: 0.1.7 + proxy-addr: 2.0.7 + qs: 6.11.0 + range-parser: 1.2.1 + safe-buffer: 5.2.1 + send: 0.18.0 + serve-static: 1.15.0 + setprototypeof: 1.2.0 + statuses: 2.0.1 + type-is: 1.6.18 + utils-merge: 1.0.1 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /ext@1.7.0: + resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} + dependencies: + type: 2.7.2 + dev: true + + /extend-shallow@2.0.1: + resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} + engines: {node: '>=0.10.0'} + dependencies: + is-extendable: 0.1.1 + dev: false + + /extend-shallow@3.0.2: + resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==} + engines: {node: '>=0.10.0'} + dependencies: + assign-symbols: 1.0.0 + is-extendable: 1.0.1 + dev: false + + /extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + dev: true + + /extract-zip@1.7.0: + resolution: {integrity: sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==} + hasBin: true + dependencies: + concat-stream: 1.6.2 + debug: 2.6.9 + mkdirp: 0.5.6 + yauzl: 2.10.0 + transitivePeerDependencies: + - supports-color + dev: true + + /extrude-polyline@1.0.6: + resolution: {integrity: sha512-fcKIanU/v+tcdgG0+xMbS0C2VZ0/CF3qqxSjHiWfWICh0yFBezPr3SsOhgdzwE5E82plG6p1orEsfSqgldpxVg==} + dependencies: + as-number: 1.0.0 + gl-vec2: 1.3.0 + polyline-miter-util: 1.0.1 + dev: false + + /extsprintf@1.3.0: + resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} + engines: {'0': node >=0.6.0} + dev: true + + /fabric@5.3.0: + resolution: {integrity: sha512-AVayKuzWoXM5cTn7iD3yNWBlfEa8r1tHaOe2g8NsZrmWKAHjryTxT/j6f9ncRfOWOF0I1Ci1AId3y78cC+GExQ==} + engines: {node: '>=14.0.0'} + optionalDependencies: + canvas: 2.11.2 + jsdom: 19.0.0(canvas@2.11.2) + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + dev: false + + /fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + /fast-glob@3.2.12: + resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + + /fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + /fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + /fast-loops@1.1.3: + resolution: {integrity: sha512-8EZzEP0eKkEEVX+drtd9mtuQ+/QrlfW/5MlwcwK5Nds6EkZ/tRzEexkzUY2mIssnAyVLT+TKHuRXmFNNXYUd6g==} + dev: false + + /fast-redact@3.2.0: + resolution: {integrity: sha512-zaTadChr+NekyzallAMXATXLOR8MNx3zqpZ0MUF2aGf4EathnG0f32VLODNlY8IuGY3HoRO2L6/6fSzNsLaHIw==} + engines: {node: '>=6'} + dev: true + + /fast-safe-stringify@2.1.1: + resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + dev: true + + /fast-shallow-equal@1.0.0: + resolution: {integrity: sha512-HPtaa38cPgWvaCFmRNhlc6NG7pv6NUHqjPgVAkWGoB9mQMwYB27/K0CvOM5Czy+qpT3e8XJ6Q4aPAnzpNpzNaw==} + dev: false + + /fastest-levenshtein@1.0.16: + resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} + engines: {node: '>= 4.9.1'} + dev: true + + /fastest-stable-stringify@2.0.2: + resolution: {integrity: sha512-bijHueCGd0LqqNK9b5oCMHc0MluJAx0cwqASgbWMvkO01lCYgIhacVRLcaDz3QnyYIRNJRDwMb41VuT6pHJ91Q==} + dev: false + + /fastq@1.15.0: + resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} + dependencies: + reusify: 1.0.4 + + /fb-watchman@2.0.2: + resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + dependencies: + bser: 2.1.1 + dev: true + + /fbjs@0.8.18: + resolution: {integrity: sha512-EQaWFK+fEPSoibjNy8IxUtaFOMXcWsY0JaVrQoZR9zC8N2Ygf9iDITPWjUTVIax95b6I742JFLqASHfsag/vKA==} + dependencies: + core-js: 1.2.7 + isomorphic-fetch: 2.2.1 + loose-envify: 1.4.0 + object-assign: 4.1.1 + promise: 7.3.1 + setimmediate: 1.0.5 + ua-parser-js: 0.7.35 + dev: true + + /fd-slicer@1.1.0: + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + dependencies: + pend: 1.2.0 + dev: true + + /fecha@4.2.3: + resolution: {integrity: sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==} + dev: false + + /fetch-blob@3.2.0: + resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} + engines: {node: ^12.20 || >= 14.13} + dependencies: + node-domexception: 1.0.0 + web-streams-polyfill: 3.2.1 + dev: true + + /file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flat-cache: 3.0.4 + + /filename-reserved-regex@2.0.0: + resolution: {integrity: sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==} + engines: {node: '>=4'} + dev: true + + /filenamify@4.3.0: + resolution: {integrity: sha512-hcFKyUG57yWGAzu1CMt/dPzYZuv+jAJUT85bL8mrXvNe6hWj6yEHEc4EdcgiA6Z3oi1/9wXJdZPXF2dZNgwgOg==} + engines: {node: '>=8'} + dependencies: + filename-reserved-regex: 2.0.0 + strip-outer: 1.0.1 + trim-repeated: 1.0.0 + dev: true + + /filesize@8.0.7: + resolution: {integrity: sha512-pjmC+bkIF8XI7fWaH8KxHcZL3DPybs1roSKP4rKDvy20tAWwIObE4+JIseG2byfGKhud5ZnM4YSGKBz7Sh0ndQ==} + engines: {node: '>= 0.4.0'} + dev: false + + /fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + + /filter-obj@1.1.0: + resolution: {integrity: sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ==} + engines: {node: '>=0.10.0'} + dev: true + + /finalhandler@1.2.0: + resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} + engines: {node: '>= 0.8'} + dependencies: + debug: 2.6.9 + encodeurl: 1.0.2 + escape-html: 1.0.3 + on-finished: 2.4.1 + parseurl: 1.3.3 + statuses: 2.0.1 + unpipe: 1.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /find-cache-dir@3.3.2: + resolution: {integrity: sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==} + engines: {node: '>=8'} + dependencies: + commondir: 1.0.1 + make-dir: 3.1.0 + pkg-dir: 4.2.0 + dev: true + + /find-root@1.1.0: + resolution: {integrity: sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==} + dev: false + + /find-up@3.0.0: + resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} + engines: {node: '>=6'} + dependencies: + locate-path: 3.0.0 + dev: false + + /find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + dependencies: + locate-path: 5.0.0 + path-exists: 4.0.0 + dev: true + + /find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + /flat-cache@3.0.4: + resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flatted: 3.2.7 + rimraf: 3.0.2 + + /flatted@3.2.7: + resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} + + /flatten@1.0.3: + resolution: {integrity: sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==} + deprecated: flatten is deprecated in favor of utility frameworks such as lodash. + dev: true + + /flru@1.0.2: + resolution: {integrity: sha512-kWyh8ADvHBFz6ua5xYOPnUroZTT/bwWfrCeL0Wj1dzG4/YOmOcfJ99W8dOVyyynJN35rZ9aCOtHChqQovV7yog==} + engines: {node: '>=6'} + dev: false + + /fmin@0.0.2: + resolution: {integrity: sha512-sSi6DzInhl9d8yqssDfGZejChO8d2bAGIpysPsvYsxFe898z89XhCZg6CPNV3nhUhFefeC/AXZK2bAJxlBjN6A==} + dependencies: + contour_plot: 0.0.1 + json2module: 0.0.3 + rollup: 0.25.8 + tape: 4.17.0 + uglify-js: 2.8.29 + dev: false + + /follow-redirects@1.15.2: + resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dev: true + + /for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + dependencies: + is-callable: 1.2.7 + + /forever-agent@0.6.1: + resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} + dev: true + + /fork-ts-checker-webpack-plugin@6.5.3(eslint@8.41.0)(typescript@5.0.2)(webpack@5.84.1): + resolution: {integrity: sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==} + engines: {node: '>=10', yarn: '>=1.0.0'} + peerDependencies: + eslint: '>= 6' + typescript: '>= 2.7' + vue-template-compiler: '*' + webpack: '>= 4' + peerDependenciesMeta: + eslint: + optional: true + vue-template-compiler: + optional: true + dependencies: + '@babel/code-frame': 7.21.4 + '@types/json-schema': 7.0.12 + chalk: 4.1.2 + chokidar: 3.5.3 + cosmiconfig: 6.0.0 + deepmerge: 4.3.1 + eslint: 8.41.0 + fs-extra: 9.1.0 + glob: 7.2.3 + memfs: 3.5.1 + minimatch: 3.1.2 + schema-utils: 2.7.0 + semver: 7.5.1 + tapable: 1.1.3 + typescript: 5.0.2 + webpack: 5.84.1 + dev: false + + /fork-ts-checker-webpack-plugin@8.0.0(typescript@5.0.2)(webpack@5.84.1): + resolution: {integrity: sha512-mX3qW3idpueT2klaQXBzrIM/pHw+T0B/V9KHEvNrqijTq9NFnMZU6oreVxDYcf33P8a5cW+67PjodNHthGnNVg==} + engines: {node: '>=12.13.0', yarn: '>=1.0.0'} + peerDependencies: + typescript: '>3.6.0' + webpack: ^5.11.0 + dependencies: + '@babel/code-frame': 7.21.4 + chalk: 4.1.2 + chokidar: 3.5.3 + cosmiconfig: 7.1.0 + deepmerge: 4.3.1 + fs-extra: 10.1.0 + memfs: 3.5.1 + minimatch: 3.1.2 + node-abort-controller: 3.1.1 + schema-utils: 3.1.2 + semver: 7.5.1 + tapable: 2.2.1 + typescript: 5.0.2 + webpack: 5.84.1 + dev: true + + /form-data@2.3.3: + resolution: {integrity: sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==} + engines: {node: '>= 0.12'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + dev: true + + /form-data@3.0.1: + resolution: {integrity: sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==} + engines: {node: '>= 6'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + dev: false + + /form-data@4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + + /formdata-polyfill@4.0.10: + resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} + engines: {node: '>=12.20.0'} + dependencies: + fetch-blob: 3.2.0 + dev: true + + /forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + dev: true + + /fraction.js@4.2.0: + resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} + dev: true + + /fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + dev: true + + /fs-extra@10.1.0: + resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} + engines: {node: '>=12'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.0 + dev: true + + /fs-extra@8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: true + + /fs-extra@9.1.0: + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} + dependencies: + at-least-node: 1.0.0 + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.0 + dev: false + + /fs-minipass@2.1.0: + resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} + engines: {node: '>= 8'} + dependencies: + minipass: 3.3.6 + dev: false + optional: true + + /fs-monkey@1.0.3: + resolution: {integrity: sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==} + + /fs-readdir-recursive@1.1.0: + resolution: {integrity: sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==} + dev: true + + /fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + /fsevents@2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + + /function-bind@1.1.1: + resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + + /function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + /function.prototype.name@1.1.5: + resolution: {integrity: sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + functions-have-names: 1.2.3 + dev: true + + /function.prototype.name@1.1.6: + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.0 + es-abstract: 1.22.3 + functions-have-names: 1.2.3 + dev: false + + /functional-red-black-tree@1.0.1: + resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==} + dev: true + + /functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + + /gauge@3.0.2: + resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} + engines: {node: '>=10'} + dependencies: + aproba: 2.0.0 + color-support: 1.1.3 + console-control-strings: 1.1.0 + has-unicode: 2.0.1 + object-assign: 4.1.1 + signal-exit: 3.0.7 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wide-align: 1.1.5 + dev: false + optional: true + + /gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + /geojson-vt@3.2.1: + resolution: {integrity: sha512-EvGQQi/zPrDA6zr6BnJD/YhwAkBP8nnJ9emh3EnHQKVMfg/MRVtPbMYdgVy/IaEmn4UfagD2a6fafPDL5hbtwg==} + dev: false + + /get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + dev: true + + /get-intrinsic@1.2.1: + resolution: {integrity: sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==} + dependencies: + function-bind: 1.1.1 + has: 1.0.3 + has-proto: 1.0.1 + has-symbols: 1.0.3 + + /get-intrinsic@1.2.2: + resolution: {integrity: sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==} + dependencies: + function-bind: 1.1.2 + has-proto: 1.0.1 + has-symbols: 1.0.3 + hasown: 2.0.0 + + /get-own-enumerable-property-symbols@3.0.2: + resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} + dev: true + + /get-package-type@0.1.0: + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} + dev: true + + /get-stdin@8.0.0: + resolution: {integrity: sha512-sY22aA6xchAzprjyqmSEQv4UbAAzRN0L2dQB0NlN5acTTK9Don6nhoc3eAbUnpZiCANAMfd/+40kVdKfFygohg==} + engines: {node: '>=10'} + dev: true + + /get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + dependencies: + pump: 3.0.0 + dev: true + + /get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + + /get-symbol-description@1.0.0: + resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + + /get-tsconfig@4.5.0: + resolution: {integrity: sha512-MjhiaIWCJ1sAU4pIQ5i5OfOuHHxVo1oYeNsWTON7jxYkod8pHocXeh+SSbmu5OZZZK73B6cbJ2XADzXehLyovQ==} + dev: true + + /get-value@2.0.6: + resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==} + engines: {node: '>=0.10.0'} + dev: false + + /getnpmregistry@1.0.1: + resolution: {integrity: sha512-OZRQ1RmRC0JduSLlQrHAaBLLrB23D3gaREsMBtM7aV8pxKB3duPs+a7iH7662b8zu1G9H6wiOvZc814g/bcHVg==} + dependencies: + node-fetch: 2.6.11 + transitivePeerDependencies: + - encoding + dev: true + + /getpass@0.1.7: + resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} + dependencies: + assert-plus: 1.0.0 + dev: true + + /gh-pages@3.2.3: + resolution: {integrity: sha512-jA1PbapQ1jqzacECfjUaO9gV8uBgU6XNMV0oXLtfCX3haGLe5Atq8BxlrADhbD6/UdG9j6tZLWAkAybndOXTJg==} + engines: {node: '>=10'} + hasBin: true + dependencies: + async: 2.6.4 + commander: 2.20.3 + email-addresses: 3.1.0 + filenamify: 4.3.0 + find-cache-dir: 3.3.2 + fs-extra: 8.1.0 + globby: 6.1.0 + dev: true + + /git-hooks-list@1.0.3: + resolution: {integrity: sha512-Y7wLWcrLUXwk2noSka166byGCvhMtDRpgHdzCno1UQv/n/Hegp++a2xBWJL1lJarnKD3SWaljD+0z1ztqxuKyQ==} + dev: true + + /git-hooks-list@3.1.0: + resolution: {integrity: sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA==} + dev: true + + /gl-matrix@3.4.3: + resolution: {integrity: sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA==} + dev: false + + /gl-vec2@1.3.0: + resolution: {integrity: sha512-YiqaAuNsheWmUV0Sa8k94kBB0D6RWjwZztyO+trEYS8KzJ6OQB/4686gdrf59wld4hHFIvaxynO3nRxpk1Ij/A==} + dev: false + + /glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + + /glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + dependencies: + is-glob: 4.0.3 + + /glob-to-regexp@0.4.1: + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + + /glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + /glob@9.3.5: + resolution: {integrity: sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + fs.realpath: 1.0.0 + minimatch: 8.0.4 + minipass: 4.2.8 + path-scurry: 1.9.2 + dev: true + + /global-modules@2.0.0: + resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==} + engines: {node: '>=6'} + dependencies: + global-prefix: 3.0.0 + + /global-prefix@3.0.0: + resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==} + engines: {node: '>=6'} + dependencies: + ini: 1.3.8 + kind-of: 6.0.3 + which: 1.3.1 + + /global@4.4.0: + resolution: {integrity: sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==} + dependencies: + min-document: 2.19.0 + process: 0.11.10 + + /globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + + /globals@13.20.0: + resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + + /globalthis@1.0.3: + resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + engines: {node: '>= 0.4'} + dependencies: + define-properties: 1.2.0 + + /globby@10.0.0: + resolution: {integrity: sha512-3LifW9M4joGZasyYPz2A1U74zbC/45fvpXUvO/9KbSa+VV0aGZarWkfdgKyR9sExNP0t0x0ss/UMJpNpcaTspw==} + engines: {node: '>=8'} + dependencies: + '@types/glob': 7.2.0 + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.2.12 + glob: 7.2.3 + ignore: 5.2.4 + merge2: 1.4.1 + slash: 3.0.0 + dev: true + + /globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.2.12 + ignore: 5.2.4 + merge2: 1.4.1 + slash: 3.0.0 + + /globby@13.1.4: + resolution: {integrity: sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + dir-glob: 3.0.1 + fast-glob: 3.2.12 + ignore: 5.2.4 + merge2: 1.4.1 + slash: 4.0.0 + dev: true + + /globby@6.1.0: + resolution: {integrity: sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==} + engines: {node: '>=0.10.0'} + dependencies: + array-union: 1.0.2 + glob: 7.2.3 + object-assign: 4.1.1 + pify: 2.3.0 + pinkie-promise: 2.0.1 + dev: true + + /globjoin@0.1.4: + resolution: {integrity: sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==} + dev: true + + /gonzales-pe@4.3.0: + resolution: {integrity: sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==} + engines: {node: '>=0.6.0'} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: true + + /gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + dependencies: + get-intrinsic: 1.2.1 + + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + /grapheme-splitter@1.0.4: + resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} + dev: true + + /graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + + /graphlib@2.1.8: + resolution: {integrity: sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==} + dependencies: + lodash: 4.17.21 + dev: false + + /grid-index@1.1.0: + resolution: {integrity: sha512-HZRwumpOGUrHyxO5bqKZL0B0GlUpwtCAzZ42sgxUPniu33R1LSFH5yrIcBCHjkctCAh3mtWKcKd9J4vDDdeVHA==} + dev: false + + /gzip-size@6.0.0: + resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} + engines: {node: '>=10'} + dependencies: + duplexer: 0.1.2 + dev: false + + /hammerjs@2.0.8: + resolution: {integrity: sha512-tSQXBXS/MWQOn/RKckawJ61vvsDpCom87JgxiYdGwHdOa0ht0vzUWDlfioofFCRU0L+6NGDt6XzbgoJvZkMeRQ==} + engines: {node: '>=0.8.0'} + dev: false + + /handle-thing@2.0.1: + resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} + dev: true + + /har-schema@2.0.0: + resolution: {integrity: sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==} + engines: {node: '>=4'} + dev: true + + /har-validator@5.1.5: + resolution: {integrity: sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==} + engines: {node: '>=6'} + deprecated: this library is no longer supported + dependencies: + ajv: 6.12.6 + har-schema: 2.0.0 + dev: true + + /hard-rejection@2.1.0: + resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} + engines: {node: '>=6'} + dev: true + + /harmony-reflect@1.6.2: + resolution: {integrity: sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==} + dev: true + + /has-ansi@2.0.0: + resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} + engines: {node: '>=0.10.0'} + dependencies: + ansi-regex: 2.1.1 + dev: false + + /has-bigints@1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + + /has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + /has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + /has-property-descriptors@1.0.0: + resolution: {integrity: sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==} + dependencies: + get-intrinsic: 1.2.1 + + /has-proto@1.0.1: + resolution: {integrity: sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==} + engines: {node: '>= 0.4'} + + /has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + + /has-tostringtag@1.0.0: + resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + + /has-unicode@2.0.1: + resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} + dev: false + optional: true + + /has@1.0.3: + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + engines: {node: '>= 0.4.0'} + dependencies: + function-bind: 1.1.1 + + /hash-base@3.1.0: + resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} + engines: {node: '>=4'} + dependencies: + inherits: 2.0.4 + readable-stream: 3.6.2 + safe-buffer: 5.2.1 + dev: true + + /hash.js@1.1.7: + resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + dev: true + + /hasown@2.0.0: + resolution: {integrity: sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==} + engines: {node: '>= 0.4'} + dependencies: + function-bind: 1.1.2 + + /he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + dev: true + + /history@4.10.1: + resolution: {integrity: sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==} + dependencies: + '@babel/runtime': 7.22.3 + loose-envify: 1.4.0 + resolve-pathname: 3.0.0 + tiny-invariant: 1.3.1 + tiny-warning: 1.0.3 + value-equal: 1.0.1 + dev: true + + /history@5.3.0: + resolution: {integrity: sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==} + dependencies: + '@babel/runtime': 7.22.3 + dev: true + + /hmac-drbg@1.0.1: + resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} + dependencies: + hash.js: 1.1.7 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + dev: true + + /hoist-non-react-statics@2.5.5: + resolution: {integrity: sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw==} + dev: true + + /hoist-non-react-statics@3.3.2: + resolution: {integrity: sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==} + dependencies: + react-is: 16.13.1 + dev: true + + /hosted-git-info@2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + dev: true + + /hosted-git-info@4.1.0: + resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} + engines: {node: '>=10'} + dependencies: + lru-cache: 6.0.0 + dev: true + + /hotkeys-js@3.10.2: + resolution: {integrity: sha512-Z6vLmJTYzkbZZXlBkhrYB962Q/rZGc/WHQiyEGu9ZZVF7bAeFDjjDa31grWREuw9Ygb4zmlov2bTkPYqj0aFnQ==} + dev: false + + /hpack.js@2.1.6: + resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} + dependencies: + inherits: 2.0.4 + obuf: 1.1.2 + readable-stream: 2.3.8 + wbuf: 1.7.3 + dev: true + + /htm@3.1.1: + resolution: {integrity: sha512-983Vyg8NwUE7JkZ6NmOqpCZ+sh1bKv2iYTlUkzlWmA5JD2acKoxd4KVxbMmxX/85mtfdnDmTFoNKcg5DGAvxNQ==} + dev: true + + /html-encoding-sniffer@2.0.1: + resolution: {integrity: sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==} + engines: {node: '>=10'} + dependencies: + whatwg-encoding: 1.0.5 + dev: false + + /html-encoding-sniffer@3.0.0: + resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} + engines: {node: '>=12'} + dependencies: + whatwg-encoding: 2.0.0 + + /html-entities@2.3.3: + resolution: {integrity: sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==} + dev: true + + /html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + + /html-minifier-terser@6.1.0: + resolution: {integrity: sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==} + engines: {node: '>=12'} + hasBin: true + dependencies: + camel-case: 4.1.2 + clean-css: 5.3.2 + commander: 8.3.0 + he: 1.2.0 + param-case: 3.0.4 + relateurl: 0.2.7 + terser: 5.17.6 + dev: true + + /html-tags@3.3.1: + resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} + engines: {node: '>=8'} + dev: true + + /html-webpack-plugin@5.5.0(webpack@5.84.1): + resolution: {integrity: sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==} + engines: {node: '>=10.13.0'} + peerDependencies: + webpack: ^5.20.0 + dependencies: + '@types/html-minifier-terser': 6.1.0 + html-minifier-terser: 6.1.0 + lodash: 4.17.21 + pretty-error: 4.0.0 + tapable: 2.2.1 + webpack: 5.84.1 + dev: true + + /htmlparser2@3.10.1: + resolution: {integrity: sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==} + dependencies: + domelementtype: 1.3.1 + domhandler: 2.4.2 + domutils: 1.7.0 + entities: 1.1.2 + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: true + + /htmlparser2@6.1.0: + resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} + dependencies: + domelementtype: 2.3.0 + domhandler: 4.3.1 + domutils: 2.8.0 + entities: 2.2.0 + dev: true + + /http-deceiver@1.2.7: + resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==} + dev: true + + /http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + dev: true + + /http-proxy-agent@4.0.1: + resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} + engines: {node: '>= 6'} + dependencies: + '@tootallnate/once': 1.1.2 + agent-base: 6.0.2 + debug: 4.3.4(supports-color@5.5.0) + transitivePeerDependencies: + - supports-color + dev: false + + /http-proxy-agent@5.0.0: + resolution: {integrity: sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==} + engines: {node: '>= 6'} + dependencies: + '@tootallnate/once': 2.0.0 + agent-base: 6.0.2 + debug: 4.3.4(supports-color@5.5.0) + transitivePeerDependencies: + - supports-color + + /http-signature@1.2.0: + resolution: {integrity: sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==} + engines: {node: '>=0.8', npm: '>=1.3.7'} + dependencies: + assert-plus: 1.0.0 + jsprim: 1.4.2 + sshpk: 1.17.0 + dev: true + + /http2-client@1.3.5: + resolution: {integrity: sha512-EC2utToWl4RKfs5zd36Mxq7nzHHBuomZboI0yYL6Y0RmBgT7Sgkq4rQ0ezFTYoIsSs7Tm9SJe+o2FcAg6GBhGA==} + dev: true + + /https-browserify@1.0.0: + resolution: {integrity: sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==} + dev: true + + /https-proxy-agent@2.2.4: + resolution: {integrity: sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==} + engines: {node: '>= 4.5.0'} + dependencies: + agent-base: 4.3.0 + debug: 3.2.7 + transitivePeerDependencies: + - supports-color + dev: true + + /https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + dependencies: + agent-base: 6.0.2 + debug: 4.3.4(supports-color@5.5.0) + transitivePeerDependencies: + - supports-color + + /human-signals@1.1.1: + resolution: {integrity: sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==} + engines: {node: '>=8.12.0'} + dev: true + + /human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + dev: true + + /human-signals@4.3.1: + resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} + engines: {node: '>=14.18.0'} + dev: true + + /husky@7.0.4: + resolution: {integrity: sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==} + engines: {node: '>=12'} + hasBin: true + dev: true + + /hyphenate-style-name@1.0.4: + resolution: {integrity: sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==} + dev: false + + /iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + + /iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + + /icss-utils@5.1.0(postcss@8.4.24): + resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.4.24 + dev: true + + /identity-obj-proxy@3.0.0: + resolution: {integrity: sha512-00n6YnVHKrinT9t0d9+5yZC6UBNJANpYEQvL2LlX6Ab9lnmxzIRcEmTPuyGScvl1+jKuCICX1Z0Ab1pPKKdikA==} + engines: {node: '>=4'} + dependencies: + harmony-reflect: 1.6.2 + dev: true + + /ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + /ignore@4.0.6: + resolution: {integrity: sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==} + engines: {node: '>= 4'} + dev: true + + /ignore@5.2.4: + resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} + engines: {node: '>= 4'} + + /image-size@0.5.5: + resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==} + engines: {node: '>=0.10.0'} + hasBin: true + requiresBuild: true + dev: true + optional: true + + /immer@8.0.4: + resolution: {integrity: sha512-jMfL18P+/6P6epANRvRk6q8t+3gGhqsJ9EuJ25AXE+9bNTYtssvzeYbEd0mXRYWCmmXSIbnlpz6vd6iJlmGGGQ==} + dev: true + + /immer@9.0.21: + resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==} + dev: false + + /import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + /import-html-entry@1.14.6: + resolution: {integrity: sha512-5MQkbwIr8n/bXOoE05M5/Nm0lnHO46vnb3D6svSvtVwpDqwhd/X14zjLcU31QWZ6gL8rUXNzj6vKHx4yOUL6gQ==} + dependencies: + '@babel/runtime': 7.22.3 + dev: true + + /import-lazy@4.0.0: + resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} + engines: {node: '>=8'} + dev: true + + /import-local@3.1.0: + resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} + engines: {node: '>=8'} + hasBin: true + dependencies: + pkg-dir: 4.2.0 + resolve-cwd: 3.0.0 + dev: true + + /import-modules@2.1.0: + resolution: {integrity: sha512-8HEWcnkbGpovH9yInoisxaSoIg9Brbul+Ju3Kqe2UsYDUBJD/iQjSgEj0zPcTDPKfPp2fs5xlv1i+JSye/m1/A==} + engines: {node: '>=8'} + dev: true + + /imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + /indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + dev: true + + /individual@2.0.0: + resolution: {integrity: sha512-pWt8hBCqJsUWI/HtcfWod7+N9SgAqyPEaF7JQjwzjn5vGrpg6aQ5qeAFQ7dx//UH4J1O+7xqew+gCeeFt6xN/g==} + dev: false + + /inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + /inherits@2.0.1: + resolution: {integrity: sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==} + dev: true + + /inherits@2.0.3: + resolution: {integrity: sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==} + dev: true + + /inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + /ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + + /inline-style-prefixer@7.0.0: + resolution: {integrity: sha512-I7GEdScunP1dQ6IM2mQWh6v0mOYdYmH3Bp31UecKdrcUgcURTcctSe1IECdUznSHKSmsHtjrT3CwCPI1pyxfUQ==} + dependencies: + css-in-js-utils: 3.1.0 + fast-loops: 1.1.3 + dev: false + + /insert-css@2.0.0: + resolution: {integrity: sha512-xGq5ISgcUP5cvGkS2MMFLtPDBtrtQPSFfC6gA6U8wHKqfjTIMZLZNxOItQnoSjdOzlXOLU/yD32RKC4SvjNbtA==} + dev: false + + /internal-slot@1.0.5: + resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.2 + has: 1.0.3 + side-channel: 1.0.4 + + /intersection-observer@0.12.2: + resolution: {integrity: sha512-7m1vEcPCxXYI8HqnL8CKI6siDyD+eIWSwgB3DZA+ZTogxk9I4CDnj4wilt9x/+/QbHI4YG5YZNmC6458/e9Ktg==} + dev: true + + /intl-format-cache@4.3.1: + resolution: {integrity: sha512-OEUYNA7D06agqPOYhbTkl0T8HA3QKSuwWh1HiClEnpd9vw7N+3XsQt5iZ0GUEchp5CW1fQk/tary+NsbF3yQ1Q==} + dev: true + + /intl-messageformat-parser@3.6.4: + resolution: {integrity: sha512-RgPGwue0mJtoX2Ax8EmMzJzttxjnva7gx0Q7mKJ4oALrTZvtmCeAw5Msz2PcjW4dtCh/h7vN/8GJCxZO1uv+OA==} + deprecated: We've written a new parser that's 6x faster and is backwards compatible. Please use @formatjs/icu-messageformat-parser + dependencies: + '@formatjs/intl-unified-numberformat': 3.3.7 + dev: true + + /intl-messageformat@7.8.4: + resolution: {integrity: sha512-yS0cLESCKCYjseCOGXuV4pxJm/buTfyCJ1nzQjryHmSehlptbZbn9fnlk1I9peLopZGGbjj46yHHiTAEZ1qOTA==} + dependencies: + intl-format-cache: 4.3.1 + intl-messageformat-parser: 3.6.4 + dev: true + + /intl-messageformat@9.13.0: + resolution: {integrity: sha512-7sGC7QnSQGa5LZP7bXLDhVDtQOeKGeBFGHF2Y8LVBwYZoQZCgWeKoPGTa5GMG8g/TzDgeXuYJQis7Ggiw2xTOw==} + dependencies: + '@formatjs/ecma402-abstract': 1.11.4 + '@formatjs/fast-memoize': 1.2.1 + '@formatjs/icu-messageformat-parser': 2.1.0 + tslib: 2.5.2 + dev: true + + /intl@1.2.5: + resolution: {integrity: sha512-rK0KcPHeBFBcqsErKSpvZnrOmWOj+EmDkyJ57e90YWaQNqbcivcqmKDlHEeNprDWOsKzPsh1BfSpPQdDvclHVw==} + dev: true + + /invariant@2.2.4: + resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} + dependencies: + loose-envify: 1.4.0 + + /inversify-inject-decorators@3.1.0: + resolution: {integrity: sha512-/seBlVp5bXrLQS3DpKEmlgeZL6C7Tf/QITd+IMQrbBBGuCbxb7k3hRAWu9XSreNpFzLgSboz3sClLSEmGwHphw==} + dev: false + + /inversify@5.1.1: + resolution: {integrity: sha512-j8grHGDzv1v+8T1sAQ+3boTCntFPfvxLCkNcxB1J8qA0lUN+fAlSyYd+RXKvaPRL4AGyPxViutBEJHNXOyUdFQ==} + dev: false + + /invert-kv@3.0.1: + resolution: {integrity: sha512-CYdFeFexxhv/Bcny+Q0BfOV+ltRlJcd4BBZBYFX/O0u4npJrgZtIcjokegtiSMAvlMTJ+Koq0GBCc//3bueQxw==} + engines: {node: '>=8'} + dev: true + + /ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + dev: true + + /irregular-plurals@3.5.0: + resolution: {integrity: sha512-1ANGLZ+Nkv1ptFb2pa8oG8Lem4krflKuX/gINiHJHjJUKaJHk/SXk5x6K3J+39/p0h1RQ2saROclJJ+QLvETCQ==} + engines: {node: '>=8'} + dev: true + + /is-alphabetical@1.0.4: + resolution: {integrity: sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==} + dev: true + + /is-alphanumerical@1.0.4: + resolution: {integrity: sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==} + dependencies: + is-alphabetical: 1.0.4 + is-decimal: 1.0.4 + dev: true + + /is-any-array@2.0.1: + resolution: {integrity: sha512-UtilS7hLRu++wb/WBAw9bNuP1Eg04Ivn1vERJck8zJthEvXCBEBpGR/33u/xLKWEQf95803oalHrVDptcAvFdQ==} + dev: false + + /is-arguments@1.1.1: + resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + has-tostringtag: 1.0.0 + + /is-array-buffer@3.0.2: + resolution: {integrity: sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + is-typed-array: 1.1.12 + + /is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + /is-arrayish@0.3.2: + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + dev: false + + /is-arrow-function@2.0.3: + resolution: {integrity: sha512-iDStzcT1FJMzx+TjCOK//uDugSe/Mif/8a+T0htydQ3qkJGvSweTZpVYz4hpJH0baloSPiAFQdA8WslAgJphvQ==} + engines: {node: '>= 0.4'} + dependencies: + is-callable: 1.2.7 + dev: true + + /is-async-function@2.0.0: + resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-bigint@1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + dependencies: + has-bigints: 1.0.2 + + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.2.0 + + /is-boolean-object@1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + has-tostringtag: 1.0.0 + + /is-buffer@1.1.6: + resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + dev: false + + /is-buffer@2.0.5: + resolution: {integrity: sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==} + engines: {node: '>=4'} + dev: true + + /is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + + /is-core-module@2.12.1: + resolution: {integrity: sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==} + dependencies: + has: 1.0.3 + + /is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + dependencies: + hasown: 2.0.0 + dev: false + + /is-date-object@1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + + /is-decimal@1.0.4: + resolution: {integrity: sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==} + dev: true + + /is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + + /is-docker@3.0.0: + resolution: {integrity: sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + dev: true + + /is-equal@1.6.4: + resolution: {integrity: sha512-NiPOTBb5ahmIOYkJ7mVTvvB1bydnTzixvfO+59AjJKBpyjPBIULL3EHGxySyZijlVpewveJyhiLQThcivkkAtw==} + engines: {node: '>= 0.4'} + dependencies: + es-get-iterator: 1.1.3 + functions-have-names: 1.2.3 + has: 1.0.3 + has-bigints: 1.0.2 + has-symbols: 1.0.3 + is-arrow-function: 2.0.3 + is-bigint: 1.0.4 + is-boolean-object: 1.1.2 + is-callable: 1.2.7 + is-date-object: 1.0.5 + is-generator-function: 1.0.10 + is-number-object: 1.0.7 + is-regex: 1.1.4 + is-string: 1.0.7 + is-symbol: 1.0.4 + isarray: 2.0.5 + object-inspect: 1.12.3 + object.entries: 1.1.6 + object.getprototypeof: 1.0.4 + which-boxed-primitive: 1.0.2 + which-collection: 1.0.1 + dev: true + + /is-extendable@0.1.1: + resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} + engines: {node: '>=0.10.0'} + dev: false + + /is-extendable@1.0.1: + resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==} + engines: {node: '>=0.10.0'} + dependencies: + is-plain-object: 2.0.4 + dev: false + + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + /is-finalizationregistry@1.0.2: + resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} + dependencies: + call-bind: 1.0.2 + dev: true + + /is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + /is-function@1.0.2: + resolution: {integrity: sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ==} + dev: false + + /is-generator-fn@2.1.0: + resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} + engines: {node: '>=6'} + dev: true + + /is-generator-function@1.0.10: + resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + + /is-hexadecimal@1.0.4: + resolution: {integrity: sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==} + dev: true + + /is-inside-container@1.0.0: + resolution: {integrity: sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==} + engines: {node: '>=14.16'} + hasBin: true + dependencies: + is-docker: 3.0.0 + dev: true + + /is-interactive@1.0.0: + resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} + engines: {node: '>=8'} + dev: true + + /is-map@2.0.2: + resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} + dev: true + + /is-negative-zero@2.0.2: + resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} + engines: {node: '>= 0.4'} + + /is-number-object@1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + + /is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + /is-obj@1.0.1: + resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} + engines: {node: '>=0.10.0'} + dev: true + + /is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + + /is-plain-obj@1.1.0: + resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} + engines: {node: '>=0.10.0'} + dev: true + + /is-plain-obj@2.1.0: + resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} + engines: {node: '>=8'} + dev: true + + /is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + dev: true + + /is-plain-object@2.0.4: + resolution: {integrity: sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==} + engines: {node: '>=0.10.0'} + dependencies: + isobject: 3.0.1 + + /is-plain-object@5.0.0: + resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} + engines: {node: '>=0.10.0'} + + /is-potential-custom-element-name@1.0.1: + resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} + + /is-promise@2.2.2: + resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} + dev: true + + /is-regex@1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + has-tostringtag: 1.0.0 + + /is-regexp@1.0.0: + resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} + engines: {node: '>=0.10.0'} + dev: true + + /is-regexp@2.1.0: + resolution: {integrity: sha512-OZ4IlER3zmRIoB9AqNhEggVxqIH4ofDns5nRrPS6yQxXE1TPCUpFznBfRQmQa8uC+pXqjMnukiJBxCisIxiLGA==} + engines: {node: '>=6'} + dev: true + + /is-root@2.1.0: + resolution: {integrity: sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg==} + engines: {node: '>=6'} + dev: false + + /is-set@2.0.2: + resolution: {integrity: sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==} + dev: true + + /is-shared-array-buffer@1.0.2: + resolution: {integrity: sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==} + dependencies: + call-bind: 1.0.5 + + /is-stream@1.1.0: + resolution: {integrity: sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==} + engines: {node: '>=0.10.0'} + dev: true + + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: true + + /is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /is-string@1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + + /is-symbol@1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + + /is-typed-array@1.1.10: + resolution: {integrity: sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.0 + dev: true + + /is-typed-array@1.1.12: + resolution: {integrity: sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==} + engines: {node: '>= 0.4'} + dependencies: + which-typed-array: 1.1.13 + + /is-typedarray@1.0.0: + resolution: {integrity: sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==} + dev: true + + /is-unicode-supported@0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + dev: true + + /is-url@1.2.4: + resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} + dev: true + + /is-weakmap@2.0.1: + resolution: {integrity: sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==} + dev: true + + /is-weakref@1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + dependencies: + call-bind: 1.0.5 + + /is-weakset@2.0.2: + resolution: {integrity: sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.1 + dev: true + + /is-what@3.14.1: + resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==} + dev: true + + /is-what@4.1.11: + resolution: {integrity: sha512-gr9+qDrJvdwT4+N2TAACsZQIB4Ow9j2eefqlh3m9JUV41M1LoKhcE+/j+IVni/r6U8Jnc1PwhjdjVJr+Xmtb0A==} + engines: {node: '>=12.13'} + dev: true + + /is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + dependencies: + is-docker: 2.2.1 + + /isarray@0.0.1: + resolution: {integrity: sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==} + dev: true + + /isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + dev: true + + /isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + /isobject@3.0.1: + resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} + engines: {node: '>=0.10.0'} + + /isomorphic-fetch@2.2.1: + resolution: {integrity: sha512-9c4TNAKYXM5PRyVcwUZrF3W09nQ+sO7+jydgs4ZGW9dhsLG2VOlISJABombdQqQRXCwuYG3sYV/puGf5rp0qmA==} + dependencies: + node-fetch: 1.7.3 + whatwg-fetch: 3.6.2 + dev: true + + /isomorphic-unfetch@4.0.2: + resolution: {integrity: sha512-1Yd+CF/7al18/N2BDbsLBcp6RO3tucSW+jcLq24dqdX5MNbCNTw1z4BsGsp4zNmjr/Izm2cs/cEqZPp4kvWSCA==} + dependencies: + node-fetch: 3.3.1 + unfetch: 5.0.0 + dev: true + + /isstream@0.1.2: + resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} + dev: true + + /istanbul-lib-coverage@3.2.0: + resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==} + engines: {node: '>=8'} + dev: true + + /istanbul-lib-instrument@5.2.1: + resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} + engines: {node: '>=8'} + dependencies: + '@babel/core': 7.22.1 + '@babel/parser': 7.22.3 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.0 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-lib-report@3.0.0: + resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==} + engines: {node: '>=8'} + dependencies: + istanbul-lib-coverage: 3.2.0 + make-dir: 3.1.0 + supports-color: 7.2.0 + dev: true + + /istanbul-lib-source-maps@4.0.1: + resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + engines: {node: '>=10'} + dependencies: + debug: 4.3.4(supports-color@5.5.0) + istanbul-lib-coverage: 3.2.0 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-reports@3.1.5: + resolution: {integrity: sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==} + engines: {node: '>=8'} + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.0 + dev: true + + /jest-changed-files@29.5.0: + resolution: {integrity: sha512-IFG34IUMUaNBIxjQXF/iu7g6EcdMrGRRxaUSw92I/2g2YC6vCdTltl4nHvt7Ci5nSJwXIkCu8Ka1DKF+X7Z1Ag==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + execa: 5.1.1 + p-limit: 3.1.0 + dev: true + + /jest-circus@29.5.0: + resolution: {integrity: sha512-gq/ongqeQKAplVxqJmbeUOJJKkW3dDNPY8PjhJ5G0lBRvu0e3EWGxGy5cI4LAGA7gV2UHCtWBI4EMXK8c9nQKA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/environment': 29.5.0 + '@jest/expect': 29.5.0 + '@jest/test-result': 29.5.0 + '@jest/types': 29.5.0 + '@types/node': 20.2.5 + chalk: 4.1.2 + co: 4.6.0 + dedent: 0.7.0 + is-generator-fn: 2.1.0 + jest-each: 29.5.0 + jest-matcher-utils: 29.5.0 + jest-message-util: 29.5.0 + jest-runtime: 29.5.0 + jest-snapshot: 29.5.0 + jest-util: 29.5.0 + p-limit: 3.1.0 + pretty-format: 29.5.0 + pure-rand: 6.0.2 + slash: 3.0.0 + stack-utils: 2.0.6 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-cli@29.5.0(@types/node@20.2.5)(ts-node@10.9.1): + resolution: {integrity: sha512-L1KcP1l4HtfwdxXNFCL5bmUbLQiKrakMUriBEcc1Vfz6gx31ORKdreuWvmQVBit+1ss9NNR3yxjwfwzZNdQXJw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/core': 29.5.0(ts-node@10.9.1) + '@jest/test-result': 29.5.0 + '@jest/types': 29.5.0 + chalk: 4.1.2 + exit: 0.1.2 + graceful-fs: 4.2.11 + import-local: 3.1.0 + jest-config: 29.5.0(@types/node@20.2.5)(ts-node@10.9.1) + jest-util: 29.5.0 + jest-validate: 29.5.0 + prompts: 2.4.2 + yargs: 17.7.2 + transitivePeerDependencies: + - '@types/node' + - supports-color + - ts-node + dev: true + + /jest-config@29.5.0(@types/node@20.2.5)(ts-node@10.9.1): + resolution: {integrity: sha512-kvDUKBnNJPNBmFFOhDbm59iu1Fii1Q6SxyhXfvylq3UTHbg6o7j/g8k2dZyXWLvfdKB1vAPxNZnMgtKJcmu3kA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@types/node': '*' + ts-node: '>=9.0.0' + peerDependenciesMeta: + '@types/node': + optional: true + ts-node: + optional: true + dependencies: + '@babel/core': 7.22.1 + '@jest/test-sequencer': 29.5.0 + '@jest/types': 29.5.0 + '@types/node': 20.2.5 + babel-jest: 29.5.0(@babel/core@7.22.1) + chalk: 4.1.2 + ci-info: 3.8.0 + deepmerge: 4.3.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-circus: 29.5.0 + jest-environment-node: 29.5.0 + jest-get-type: 29.4.3 + jest-regex-util: 29.4.3 + jest-resolve: 29.5.0 + jest-runner: 29.5.0 + jest-util: 29.5.0 + jest-validate: 29.5.0 + micromatch: 4.0.5 + parse-json: 5.2.0 + pretty-format: 29.5.0 + slash: 3.0.0 + strip-json-comments: 3.1.1 + ts-node: 10.9.1(@types/node@20.2.5)(typescript@5.0.2) + transitivePeerDependencies: + - supports-color + dev: true + + /jest-diff@29.5.0: + resolution: {integrity: sha512-LtxijLLZBduXnHSniy0WMdaHjmQnt3g5sa16W4p0HqukYTTsyTW3GD1q41TyGl5YFXj/5B2U6dlh5FM1LIMgxw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + chalk: 4.1.2 + diff-sequences: 29.4.3 + jest-get-type: 29.4.3 + pretty-format: 29.5.0 + dev: true + + /jest-docblock@29.4.3: + resolution: {integrity: sha512-fzdTftThczeSD9nZ3fzA/4KkHtnmllawWrXO69vtI+L9WjEIuXWs4AmyME7lN5hU7dB0sHhuPfcKofRsUb/2Fg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + detect-newline: 3.1.0 + dev: true + + /jest-each@29.5.0: + resolution: {integrity: sha512-HM5kIJ1BTnVt+DQZ2ALp3rzXEl+g726csObrW/jpEGl+CDSSQpOJJX2KE/vEg8cxcMXdyEPu6U4QX5eruQv5hA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.5.0 + chalk: 4.1.2 + jest-get-type: 29.4.3 + jest-util: 29.5.0 + pretty-format: 29.5.0 + dev: true + + /jest-environment-jsdom@29.5.0: + resolution: {integrity: sha512-/KG8yEK4aN8ak56yFVdqFDzKNHgF4BAymCx2LbPNPsUshUlfAl0eX402Xm1pt+eoG9SLZEUVifqXtX8SK74KCw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + dependencies: + '@jest/environment': 29.5.0 + '@jest/fake-timers': 29.5.0 + '@jest/types': 29.5.0 + '@types/jsdom': 20.0.1 + '@types/node': 20.2.5 + jest-mock: 29.5.0 + jest-util: 29.5.0 + jsdom: 20.0.3 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: true + + /jest-environment-node@29.5.0: + resolution: {integrity: sha512-ExxuIK/+yQ+6PRGaHkKewYtg6hto2uGCgvKdb2nfJfKXgZ17DfXjvbZ+jA1Qt9A8EQSfPnt5FKIfnOO3u1h9qw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/environment': 29.5.0 + '@jest/fake-timers': 29.5.0 + '@jest/types': 29.5.0 + '@types/node': 20.2.5 + jest-mock: 29.5.0 + jest-util: 29.5.0 + dev: true + + /jest-get-type@29.4.3: + resolution: {integrity: sha512-J5Xez4nRRMjk8emnTpWrlkyb9pfRQQanDrvWHhsR1+VUfbwxi30eVcZFlcdGInRibU4G5LwHXpI7IRHU0CY+gg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + + /jest-haste-map@29.5.0: + resolution: {integrity: sha512-IspOPnnBro8YfVYSw6yDRKh/TiCdRngjxeacCps1cQ9cgVN6+10JUcuJ1EabrgYLOATsIAigxA0rLR9x/YlrSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.5.0 + '@types/graceful-fs': 4.1.6 + '@types/node': 20.2.5 + anymatch: 3.1.3 + fb-watchman: 2.0.2 + graceful-fs: 4.2.11 + jest-regex-util: 29.4.3 + jest-util: 29.5.0 + jest-worker: 29.5.0 + micromatch: 4.0.5 + walker: 1.0.8 + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /jest-leak-detector@29.5.0: + resolution: {integrity: sha512-u9YdeeVnghBUtpN5mVxjID7KbkKE1QU4f6uUwuxiY0vYRi9BUCLKlPEZfDGR67ofdFmDz9oPAy2G92Ujrntmow==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + jest-get-type: 29.4.3 + pretty-format: 29.5.0 + dev: true + + /jest-matcher-utils@29.5.0: + resolution: {integrity: sha512-lecRtgm/rjIK0CQ7LPQwzCs2VwW6WAahA55YBuI+xqmhm7LAaxokSB8C97yJeYyT+HvQkH741StzpU41wohhWw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + chalk: 4.1.2 + jest-diff: 29.5.0 + jest-get-type: 29.4.3 + pretty-format: 29.5.0 + dev: true + + /jest-message-util@29.5.0: + resolution: {integrity: sha512-Kijeg9Dag6CKtIDA7O21zNTACqD5MD/8HfIV8pdD94vFyFuer52SigdC3IQMhab3vACxXMiFk+yMHNdbqtyTGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@babel/code-frame': 7.21.4 + '@jest/types': 29.5.0 + '@types/stack-utils': 2.0.1 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.5 + pretty-format: 29.5.0 + slash: 3.0.0 + stack-utils: 2.0.6 + dev: true + + /jest-mock@29.5.0: + resolution: {integrity: sha512-GqOzvdWDE4fAV2bWQLQCkujxYWL7RxjCnj71b5VhDAGOevB3qj3Ovg26A5NI84ZpODxyzaozXLOh2NCgkbvyaw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.5.0 + '@types/node': 20.2.5 + jest-util: 29.5.0 + dev: true + + /jest-pnp-resolver@1.2.3(jest-resolve@29.5.0): + resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} + engines: {node: '>=6'} + peerDependencies: + jest-resolve: '*' + peerDependenciesMeta: + jest-resolve: + optional: true + dependencies: + jest-resolve: 29.5.0 + dev: true + + /jest-regex-util@29.4.3: + resolution: {integrity: sha512-O4FglZaMmWXbGHSQInfXewIsd1LMn9p3ZXB/6r4FOkyhX2/iP/soMG98jGvk/A3HAN78+5VWcBGO0BJAPRh4kg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + + /jest-resolve-dependencies@29.5.0: + resolution: {integrity: sha512-sjV3GFr0hDJMBpYeUuGduP+YeCRbd7S/ck6IvL3kQ9cpySYKqcqhdLLC2rFwrcL7tz5vYibomBrsFYWkIGGjOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + jest-regex-util: 29.4.3 + jest-snapshot: 29.5.0 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-resolve@29.5.0: + resolution: {integrity: sha512-1TzxJ37FQq7J10jPtQjcc+MkCkE3GBpBecsSUWJ0qZNJpmg6m0D9/7II03yJulm3H/fvVjgqLh/k2eYg+ui52w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + chalk: 4.1.2 + graceful-fs: 4.2.11 + jest-haste-map: 29.5.0 + jest-pnp-resolver: 1.2.3(jest-resolve@29.5.0) + jest-util: 29.5.0 + jest-validate: 29.5.0 + resolve: 1.22.2 + resolve.exports: 2.0.2 + slash: 3.0.0 + dev: true + + /jest-runner@29.5.0: + resolution: {integrity: sha512-m7b6ypERhFghJsslMLhydaXBiLf7+jXy8FwGRHO3BGV1mcQpPbwiqiKUR2zU2NJuNeMenJmlFZCsIqzJCTeGLQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/console': 29.5.0 + '@jest/environment': 29.5.0 + '@jest/test-result': 29.5.0 + '@jest/transform': 29.5.0 + '@jest/types': 29.5.0 + '@types/node': 20.2.5 + chalk: 4.1.2 + emittery: 0.13.1 + graceful-fs: 4.2.11 + jest-docblock: 29.4.3 + jest-environment-node: 29.5.0 + jest-haste-map: 29.5.0 + jest-leak-detector: 29.5.0 + jest-message-util: 29.5.0 + jest-resolve: 29.5.0 + jest-runtime: 29.5.0 + jest-util: 29.5.0 + jest-watcher: 29.5.0 + jest-worker: 29.5.0 + p-limit: 3.1.0 + source-map-support: 0.5.13 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-runtime@29.5.0: + resolution: {integrity: sha512-1Hr6Hh7bAgXQP+pln3homOiEZtCDZFqwmle7Ew2j8OlbkIu6uE3Y/etJQG8MLQs3Zy90xrp2C0BRrtPHG4zryw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/environment': 29.5.0 + '@jest/fake-timers': 29.5.0 + '@jest/globals': 29.5.0 + '@jest/source-map': 29.4.3 + '@jest/test-result': 29.5.0 + '@jest/transform': 29.5.0 + '@jest/types': 29.5.0 + '@types/node': 20.2.5 + chalk: 4.1.2 + cjs-module-lexer: 1.2.2 + collect-v8-coverage: 1.0.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + jest-haste-map: 29.5.0 + jest-message-util: 29.5.0 + jest-mock: 29.5.0 + jest-regex-util: 29.4.3 + jest-resolve: 29.5.0 + jest-snapshot: 29.5.0 + jest-util: 29.5.0 + slash: 3.0.0 + strip-bom: 4.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-snapshot@29.5.0: + resolution: {integrity: sha512-x7Wolra5V0tt3wRs3/ts3S6ciSQVypgGQlJpz2rsdQYoUKxMxPNaoHMGJN6qAuPJqS+2iQ1ZUn5kl7HCyls84g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@babel/core': 7.22.1 + '@babel/generator': 7.22.3 + '@babel/plugin-syntax-jsx': 7.21.4(@babel/core@7.22.1) + '@babel/plugin-syntax-typescript': 7.21.4(@babel/core@7.22.1) + '@babel/traverse': 7.22.1(supports-color@5.5.0) + '@babel/types': 7.22.3 + '@jest/expect-utils': 29.5.0 + '@jest/transform': 29.5.0 + '@jest/types': 29.5.0 + '@types/babel__traverse': 7.20.0 + '@types/prettier': 2.7.2 + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.22.1) + chalk: 4.1.2 + expect: 29.5.0 + graceful-fs: 4.2.11 + jest-diff: 29.5.0 + jest-get-type: 29.4.3 + jest-matcher-utils: 29.5.0 + jest-message-util: 29.5.0 + jest-util: 29.5.0 + natural-compare: 1.4.0 + pretty-format: 29.5.0 + semver: 7.5.1 + transitivePeerDependencies: + - supports-color + dev: true + + /jest-util@29.5.0: + resolution: {integrity: sha512-RYMgG/MTadOr5t8KdhejfvUU82MxsCu5MF6KuDUHl+NuwzUt+Sm6jJWxTJVrDR1j5M/gJVCPKQEpWXY+yIQ6lQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.5.0 + '@types/node': 20.2.5 + chalk: 4.1.2 + ci-info: 3.8.0 + graceful-fs: 4.2.11 + picomatch: 2.3.1 + dev: true + + /jest-validate@29.5.0: + resolution: {integrity: sha512-pC26etNIi+y3HV8A+tUGr/lph9B18GnzSRAkPaaZJIE1eFdiYm6/CewuiJQ8/RlfHd1u/8Ioi8/sJ+CmbA+zAQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/types': 29.5.0 + camelcase: 6.3.0 + chalk: 4.1.2 + jest-get-type: 29.4.3 + leven: 3.1.0 + pretty-format: 29.5.0 + dev: true + + /jest-watcher@29.5.0: + resolution: {integrity: sha512-KmTojKcapuqYrKDpRwfqcQ3zjMlwu27SYext9pt4GlF5FUgB+7XE1mcCnSm6a4uUpFyQIkb6ZhzZvHl+jiBCiA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/test-result': 29.5.0 + '@jest/types': 29.5.0 + '@types/node': 20.2.5 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + emittery: 0.13.1 + jest-util: 29.5.0 + string-length: 4.0.2 + dev: true + + /jest-worker@27.5.1: + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} + dependencies: + '@types/node': 20.2.5 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + /jest-worker@29.4.3: + resolution: {integrity: sha512-GLHN/GTAAMEy5BFdvpUfzr9Dr80zQqBrh0fz1mtRMe05hqP45+HfQltu7oTBfduD0UeZs09d+maFtFYAXFWvAA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@types/node': 20.2.5 + jest-util: 29.5.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 + dev: true + + /jest-worker@29.5.0: + resolution: {integrity: sha512-NcrQnevGoSp4b5kg+akIpthoAFHxPBcb5P6mYPY0fUNT+sSvmtu6jlkEle3anczUKIKEbMxFimk9oTP/tpIPgA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@types/node': 20.2.5 + jest-util: 29.5.0 + merge-stream: 2.0.0 + supports-color: 8.1.1 + dev: true + + /jest@29.5.0(@types/node@20.2.5)(ts-node@10.9.1): + resolution: {integrity: sha512-juMg3he2uru1QoXX078zTa7pO85QyB9xajZc6bU+d9yEGwrKX6+vGmJQ3UdVZsvTEUARIdObzH68QItim6OSSQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + dependencies: + '@jest/core': 29.5.0(ts-node@10.9.1) + '@jest/types': 29.5.0 + import-local: 3.1.0 + jest-cli: 29.5.0(@types/node@20.2.5)(ts-node@10.9.1) + transitivePeerDependencies: + - '@types/node' + - supports-color + - ts-node + dev: true + + /jquery-mousewheel@3.1.13: + resolution: {integrity: sha512-GXhSjfOPyDemM005YCEHvzrEALhKDIswtxSHSR2e4K/suHVJKJxxRCGz3skPjNxjJjQa9AVSGGlYjv1M3VLIPg==} + dev: false + + /jquery@3.7.1: + resolution: {integrity: sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==} + dev: false + + /js-cookie@2.2.1: + resolution: {integrity: sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==} + + /js-sdsl@4.4.0: + resolution: {integrity: sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==} + dev: true + + /js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + /js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + dev: true + + /js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + + /jsbn@0.1.1: + resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} + dev: true + + /jsdom@16.7.0: + resolution: {integrity: sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==} + engines: {node: '>=10'} + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + dependencies: + abab: 2.0.6 + acorn: 8.8.2 + acorn-globals: 6.0.0 + cssom: 0.4.4 + cssstyle: 2.3.0 + data-urls: 2.0.0 + decimal.js: 10.4.3 + domexception: 2.0.1 + escodegen: 2.0.0 + form-data: 3.0.1 + html-encoding-sniffer: 2.0.1 + http-proxy-agent: 4.0.1 + https-proxy-agent: 5.0.1 + is-potential-custom-element-name: 1.0.1 + nwsapi: 2.2.4 + parse5: 6.0.1 + saxes: 5.0.1 + symbol-tree: 3.2.4 + tough-cookie: 4.1.2 + w3c-hr-time: 1.0.2 + w3c-xmlserializer: 2.0.0 + webidl-conversions: 6.1.0 + whatwg-encoding: 1.0.5 + whatwg-mimetype: 2.3.0 + whatwg-url: 8.7.0 + ws: 7.5.9 + xml-name-validator: 3.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: false + + /jsdom@19.0.0(canvas@2.11.2): + resolution: {integrity: sha512-RYAyjCbxy/vri/CfnjUWJQQtZ3LKlLnDqj+9XLNnJPgEGeirZs3hllKR20re8LUZ6o1b1X4Jat+Qd26zmP41+A==} + engines: {node: '>=12'} + requiresBuild: true + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + dependencies: + abab: 2.0.6 + acorn: 8.8.2 + acorn-globals: 6.0.0 + canvas: 2.11.2 + cssom: 0.5.0 + cssstyle: 2.3.0 + data-urls: 3.0.2 + decimal.js: 10.4.3 + domexception: 4.0.0 + escodegen: 2.0.0 + form-data: 4.0.0 + html-encoding-sniffer: 3.0.0 + http-proxy-agent: 5.0.0 + https-proxy-agent: 5.0.1 + is-potential-custom-element-name: 1.0.1 + nwsapi: 2.2.4 + parse5: 6.0.1 + saxes: 5.0.1 + symbol-tree: 3.2.4 + tough-cookie: 4.1.2 + w3c-hr-time: 1.0.2 + w3c-xmlserializer: 3.0.0 + webidl-conversions: 7.0.0 + whatwg-encoding: 2.0.0 + whatwg-mimetype: 3.0.0 + whatwg-url: 10.0.0 + ws: 8.13.0 + xml-name-validator: 4.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: false + optional: true + + /jsdom@20.0.3: + resolution: {integrity: sha512-SYhBvTh89tTfCD/CRdSOm13mOBa42iTaTyfyEWBdKcGdPxPtLFBXuHR8XHb33YNYaP+lLbmSvBTsnoesCNJEsQ==} + engines: {node: '>=14'} + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + dependencies: + abab: 2.0.6 + acorn: 8.8.2 + acorn-globals: 7.0.1 + cssom: 0.5.0 + cssstyle: 2.3.0 + data-urls: 3.0.2 + decimal.js: 10.4.3 + domexception: 4.0.0 + escodegen: 2.0.0 + form-data: 4.0.0 + html-encoding-sniffer: 3.0.0 + http-proxy-agent: 5.0.0 + https-proxy-agent: 5.0.1 + is-potential-custom-element-name: 1.0.1 + nwsapi: 2.2.4 + parse5: 7.1.2 + saxes: 6.0.0 + symbol-tree: 3.2.4 + tough-cookie: 4.1.2 + w3c-xmlserializer: 4.0.0 + webidl-conversions: 7.0.0 + whatwg-encoding: 2.0.0 + whatwg-mimetype: 3.0.0 + whatwg-url: 11.0.0 + ws: 8.13.0 + xml-name-validator: 4.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: true + + /jsesc@0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true + dev: true + + /jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + + /json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + /json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + /json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + dev: true + + /json-schema@0.4.0: + resolution: {integrity: sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==} + dev: true + + /json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + /json-stringify-pretty-compact@3.0.0: + resolution: {integrity: sha512-Rc2suX5meI0S3bfdZuA7JMFBGkJ875ApfVyq2WHELjBiiG22My/l7/8zPpH/CfFVQHuVLd8NLR0nv6vi0BYYKA==} + dev: false + + /json-stringify-safe@5.0.1: + resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + dev: true + + /json2module@0.0.3: + resolution: {integrity: sha512-qYGxqrRrt4GbB8IEOy1jJGypkNsjWoIMlZt4bAsmUScCA507Hbc2p1JOhBzqn45u3PWafUgH2OnzyNU7udO/GA==} + hasBin: true + dependencies: + rw: 1.3.3 + dev: false + + /json2mq@0.2.0: + resolution: {integrity: sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==} + dependencies: + string-convert: 0.2.1 + + /json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + /jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.0 + optionalDependencies: + graceful-fs: 4.2.11 + + /jsprim@1.4.2: + resolution: {integrity: sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==} + engines: {node: '>=0.6.0'} + dependencies: + assert-plus: 1.0.0 + extsprintf: 1.3.0 + json-schema: 0.4.0 + verror: 1.10.0 + dev: true + + /jsx-ast-utils@3.3.3: + resolution: {integrity: sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==} + engines: {node: '>=4.0'} + dependencies: + array-includes: 3.1.6 + object.assign: 4.1.4 + dev: true + + /kdbush@3.0.0: + resolution: {integrity: sha512-hRkd6/XW4HTsA9vjVpY9tuXJYLSlelnkTmVFu4M9/7MIYQtFcHpbugAU7UbOfjOiVSVYl2fqgBuJ32JUmRo5Ew==} + dev: false + + /kdbush@4.0.2: + resolution: {integrity: sha512-WbCVYJ27Sz8zi9Q7Q0xHC+05iwkm3Znipc2XTlrnJbsHMYktW4hPhXUE8Ys1engBrvffoSCqbil1JQAa7clRpA==} + dev: false + + /keycode@2.2.0: + resolution: {integrity: sha512-ps3I9jAdNtRpJrbBvQjpzyFbss/skHqzS+eu4RxKLaEAtFqkjZaB6TZMSivPbLxf4K7VI4SjR0P5mRCX5+Q25A==} + dev: false + + /kind-of@3.2.2: + resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==} + engines: {node: '>=0.10.0'} + dependencies: + is-buffer: 1.1.6 + dev: false + + /kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + + /kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + + /known-css-properties@0.21.0: + resolution: {integrity: sha512-sZLUnTqimCkvkgRS+kbPlYW5o8q5w1cu+uIisKpEWkj31I8mx8kNG162DwRav8Zirkva6N5uoFsm9kzK4mUXjw==} + dev: true + + /known-css-properties@0.25.0: + resolution: {integrity: sha512-b0/9J1O9Jcyik1GC6KC42hJ41jKwdO/Mq8Mdo5sYN+IuRTXs2YFHZC3kZSx6ueusqa95x3wLYe/ytKjbAfGixA==} + dev: true + + /known-css-properties@0.26.0: + resolution: {integrity: sha512-5FZRzrZzNTBruuurWpvZnvP9pum+fe0HcK8z/ooo+U+Hmp4vtbyp1/QDsqmufirXy4egGzbaH/y2uCZf+6W5Kg==} + dev: true + + /kolorist@1.8.0: + resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} + dev: true + + /lazy-cache@1.0.4: + resolution: {integrity: sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ==} + engines: {node: '>=0.10.0'} + dev: false + + /lcid@3.1.1: + resolution: {integrity: sha512-M6T051+5QCGLBQb8id3hdvIW8+zeFV2FyBGFS9IEK5H9Wt4MueD4bW1eWikpHgZp+5xR3l5c8pZUkQsIA0BFZg==} + engines: {node: '>=8'} + dependencies: + invert-kv: 3.0.1 + dev: true + + /less@4.1.3: + resolution: {integrity: sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==} + engines: {node: '>=6'} + hasBin: true + dependencies: + copy-anything: 2.0.6 + parse-node-version: 1.0.1 + tslib: 2.5.2 + optionalDependencies: + errno: 0.1.8 + graceful-fs: 4.2.11 + image-size: 0.5.5 + make-dir: 2.1.0 + mime: 1.6.0 + needle: 3.2.0 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + dev: true + + /leven@3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + dev: true + + /levn@0.3.0: + resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.1.2 + type-check: 0.3.2 + + /levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + + /lightningcss-darwin-arm64@1.19.0: + resolution: {integrity: sha512-wIJmFtYX0rXHsXHSr4+sC5clwblEMji7HHQ4Ub1/CznVRxtCFha6JIt5JZaNf8vQrfdZnBxLLC6R8pC818jXqg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /lightningcss-darwin-x64@1.19.0: + resolution: {integrity: sha512-Lif1wD6P4poaw9c/4Uh2z+gmrWhw/HtXFoeZ3bEsv6Ia4tt8rOJBdkfVaUJ6VXmpKHALve+iTyP2+50xY1wKPw==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /lightningcss-linux-arm-gnueabihf@1.19.0: + resolution: {integrity: sha512-P15VXY5682mTXaiDtbnLYQflc8BYb774j2R84FgDLJTN6Qp0ZjWEFyN1SPqyfTj2B2TFjRHRUvQSSZ7qN4Weig==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /lightningcss-linux-arm64-gnu@1.19.0: + resolution: {integrity: sha512-zwXRjWqpev8wqO0sv0M1aM1PpjHz6RVIsBcxKszIG83Befuh4yNysjgHVplF9RTU7eozGe3Ts7r6we1+Qkqsww==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + libc: [glibc] + requiresBuild: true + dev: true + optional: true + + /lightningcss-linux-arm64-musl@1.19.0: + resolution: {integrity: sha512-vSCKO7SDnZaFN9zEloKSZM5/kC5gbzUjoJQ43BvUpyTFUX7ACs/mDfl2Eq6fdz2+uWhUh7vf92c4EaaP4udEtA==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + libc: [musl] + requiresBuild: true + dev: true + optional: true + + /lightningcss-linux-x64-gnu@1.19.0: + resolution: {integrity: sha512-0AFQKvVzXf9byrXUq9z0anMGLdZJS+XSDqidyijI5njIwj6MdbvX2UZK/c4FfNmeRa2N/8ngTffoIuOUit5eIQ==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + libc: [glibc] + requiresBuild: true + dev: true + optional: true + + /lightningcss-linux-x64-musl@1.19.0: + resolution: {integrity: sha512-SJoM8CLPt6ECCgSuWe+g0qo8dqQYVcPiW2s19dxkmSI5+Uu1GIRzyKA0b7QqmEXolA+oSJhQqCmJpzjY4CuZAg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + libc: [musl] + requiresBuild: true + dev: true + optional: true + + /lightningcss-win32-x64-msvc@1.19.0: + resolution: {integrity: sha512-C+VuUTeSUOAaBZZOPT7Etn/agx/MatzJzGRkeV+zEABmPuntv1zihncsi+AyGmjkkzq3wVedEy7h0/4S84mUtg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /lightningcss@1.19.0: + resolution: {integrity: sha512-yV5UR7og+Og7lQC+70DA7a8ta1uiOPnWPJfxa0wnxylev5qfo4P+4iMpzWAdYWOca4jdNQZii+bDL/l+4hUXIA==} + engines: {node: '>= 12.0.0'} + dependencies: + detect-libc: 1.0.3 + optionalDependencies: + lightningcss-darwin-arm64: 1.19.0 + lightningcss-darwin-x64: 1.19.0 + lightningcss-linux-arm-gnueabihf: 1.19.0 + lightningcss-linux-arm64-gnu: 1.19.0 + lightningcss-linux-arm64-musl: 1.19.0 + lightningcss-linux-x64-gnu: 1.19.0 + lightningcss-linux-x64-musl: 1.19.0 + lightningcss-win32-x64-msvc: 1.19.0 + dev: true + + /lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + /lint-staged@10.5.4: + resolution: {integrity: sha512-EechC3DdFic/TdOPgj/RB3FicqE6932LTHCUm0Y2fsD9KGlLB+RwJl2q1IYBIvEsKzDOgn0D4gll+YxG5RsrKg==} + hasBin: true + dependencies: + chalk: 4.1.2 + cli-truncate: 2.1.0 + commander: 6.2.1 + cosmiconfig: 7.1.0 + debug: 4.3.4(supports-color@5.5.0) + dedent: 0.7.0 + enquirer: 2.3.6 + execa: 4.1.0 + listr2: 3.14.0(enquirer@2.3.6) + log-symbols: 4.1.0 + micromatch: 4.0.5 + normalize-path: 3.0.0 + please-upgrade-node: 3.2.0 + string-argv: 0.3.1 + stringify-object: 3.3.0 + transitivePeerDependencies: + - supports-color + dev: true + + /listr2@3.14.0(enquirer@2.3.6): + resolution: {integrity: sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==} + engines: {node: '>=10.0.0'} + peerDependencies: + enquirer: '>= 2.3.0 < 3' + peerDependenciesMeta: + enquirer: + optional: true + dependencies: + cli-truncate: 2.1.0 + colorette: 2.0.20 + enquirer: 2.3.6 + log-update: 4.0.0 + p-map: 4.0.0 + rfdc: 1.3.0 + rxjs: 7.8.1 + through: 2.3.8 + wrap-ansi: 7.0.0 + dev: true + + /loader-runner@4.3.0: + resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} + engines: {node: '>=6.11.5'} + + /loader-utils@2.0.4: + resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} + engines: {node: '>=8.9.0'} + dependencies: + big.js: 5.2.2 + emojis-list: 3.0.0 + json5: 2.2.3 + + /loader-utils@3.2.1: + resolution: {integrity: sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==} + engines: {node: '>= 12.13.0'} + dev: false + + /local-pkg@0.4.3: + resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} + engines: {node: '>=14'} + dev: true + + /locate-path@3.0.0: + resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} + engines: {node: '>=6'} + dependencies: + p-locate: 3.0.0 + path-exists: 3.0.0 + dev: false + + /locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + dependencies: + p-locate: 4.1.0 + dev: true + + /locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + + /lodash-es@4.17.21: + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + + /lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + dev: true + + /lodash.get@4.4.2: + resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} + dev: true + + /lodash.groupby@4.6.0: + resolution: {integrity: sha512-5dcWxm23+VAoz+awKmBaiBvzox8+RqMgFhi7UvX9DHZr2HdxHXM/Wrf8cfKpsW37RNrvtPn6hSwNqurSILbmJw==} + dev: true + + /lodash.isequal@4.5.0: + resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + dev: false + + /lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + /lodash.throttle@4.1.1: + resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==} + dev: true + + /lodash.tonumber@4.0.3: + resolution: {integrity: sha512-SY0SwuPOHRwKcCNTdsntPYb+Zddz5mDUIVFABzRMqmAiL41pMeyoQFGxYAw5zdc9NnH4pbJqiqqp5ckfxa+zSA==} + + /lodash.truncate@4.4.2: + resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} + dev: true + + /lodash.zip@4.2.0: + resolution: {integrity: sha512-C7IOaBBK/0gMORRBd8OETNx3kmOkgIWIPvyDpZSCTwUrpYmgZwJkjZeOD8ww4xbOUOs4/attY+pciKvadNfFbg==} + dev: true + + /lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + /log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} + dependencies: + chalk: 4.1.2 + is-unicode-supported: 0.1.0 + dev: true + + /log-update@4.0.0: + resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} + engines: {node: '>=10'} + dependencies: + ansi-escapes: 4.3.2 + cli-cursor: 3.1.0 + slice-ansi: 4.0.0 + wrap-ansi: 6.2.0 + dev: true + + /log4js@1.1.1: + resolution: {integrity: sha512-lYb14ZSs1M/CUFuvy7Zk3VZLDtqrqOaVql9CE0tv8g6/qE1Gfq97XKdltBsjSxxvcJ+t8fAXOnvFxSsms7gGVg==} + engines: {node: '>=0.12'} + deprecated: 1.x is no longer supported. Please upgrade to 6.x or higher. + dependencies: + debug: 2.6.9 + semver: 5.7.1 + streamroller: 0.4.1 + transitivePeerDependencies: + - supports-color + dev: true + + /longest-streak@2.0.4: + resolution: {integrity: sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==} + dev: true + + /longest@1.0.1: + resolution: {integrity: sha512-k+yt5n3l48JU4k8ftnKG6V7u32wyH2NfKzeMto9F/QRE0amxy/LayxwlvjjkZEIzqR+19IrtFO8p5kB9QaYUFg==} + engines: {node: '>=0.10.0'} + dev: false + + /loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + dependencies: + js-tokens: 4.0.0 + + /lower-case@2.0.2: + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + dependencies: + tslib: 2.5.2 + dev: true + + /lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + dependencies: + yallist: 3.1.1 + + /lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + + /lru-cache@9.1.1: + resolution: {integrity: sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A==} + engines: {node: 14 || >=16.14} + dev: true + + /lru-queue@0.1.0: + resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==} + dependencies: + es5-ext: 0.10.62 + dev: true + + /lz-string@1.5.0: + resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} + hasBin: true + dev: true + + /m3u8-parser@6.2.0: + resolution: {integrity: sha512-qlC00JTxYOxawcqg+RB8jbyNwL3foY/nCY61kyWP+RCuJE9APLeqB/nSlTjb4Mg0yRmyERgjswpdQxMvkeoDrg==} + dependencies: + '@babel/runtime': 7.22.3 + '@videojs/vhs-utils': 3.0.5 + global: 4.4.0 + dev: false + + /m3u8-parser@7.1.0: + resolution: {integrity: sha512-7N+pk79EH4oLKPEYdgRXgAsKDyA/VCo0qCHlUwacttQA0WqsjZQYmNfywMvjlY9MpEBVZEt0jKFd73Kv15EBYQ==} + dependencies: + '@babel/runtime': 7.22.3 + '@videojs/vhs-utils': 3.0.5 + global: 4.4.0 + dev: false + + /make-dir@2.1.0: + resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} + engines: {node: '>=6'} + dependencies: + pify: 4.0.1 + semver: 5.7.1 + dev: true + + /make-dir@3.1.0: + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} + dependencies: + semver: 6.3.0 + + /make-error@1.3.6: + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + dev: true + + /makeerror@1.0.12: + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + dependencies: + tmpl: 1.0.5 + dev: true + + /mana-common@0.3.2: + resolution: {integrity: sha512-1oylLR9CcyshQcTiBdM96HxIoaA413eudpo1INiOCwyZE554TDJNUD0zrIjmeBvw8CBAjukzaAHn2gn0hZphIg==} + dev: false + + /mana-syringe@0.2.2: + resolution: {integrity: sha512-Sv5r0/PrQRq4pW+9lDicGsEPzPLkd1PwjTs5zHUV1I293S3alkBNyuSjktVeBploofH8MAMLd4DS2crwct48wg==} + dependencies: + inversify: 5.1.1 + dev: false + + /map-age-cleaner@0.1.3: + resolution: {integrity: sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==} + engines: {node: '>=6'} + dependencies: + p-defer: 1.0.0 + dev: true + + /map-obj@1.0.1: + resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} + engines: {node: '>=0.10.0'} + dev: true + + /map-obj@4.3.0: + resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} + engines: {node: '>=8'} + dev: true + + /mapbox-gl@1.13.3: + resolution: {integrity: sha512-p8lJFEiqmEQlyv+DQxFAOG/XPWN0Wp7j/Psq93Zywz7qt9CcUKFYDBOoOEKzqe6gudHVJY8/Bhqw6VDpX2lSBg==} + engines: {node: '>=6.4.0'} + dependencies: + '@mapbox/geojson-rewind': 0.5.2 + '@mapbox/geojson-types': 1.0.2 + '@mapbox/jsonlint-lines-primitives': 2.0.2 + '@mapbox/mapbox-gl-supported': 1.5.0(mapbox-gl@1.13.3) + '@mapbox/point-geometry': 0.1.0 + '@mapbox/tiny-sdf': 1.2.5 + '@mapbox/unitbezier': 0.0.0 + '@mapbox/vector-tile': 1.3.1 + '@mapbox/whoots-js': 3.1.0 + csscolorparser: 1.0.3 + earcut: 2.2.4 + geojson-vt: 3.2.1 + gl-matrix: 3.4.3 + grid-index: 1.1.0 + murmurhash-js: 1.0.0 + pbf: 3.2.1 + potpack: 1.0.2 + quickselect: 2.0.0 + rw: 1.3.3 + supercluster: 7.1.5 + tinyqueue: 2.0.3 + vt-pbf: 3.1.3 + dev: false + + /maplibre-gl@3.6.2: + resolution: {integrity: sha512-krg2KFIdOpLPngONDhP6ixCoWl5kbdMINP0moMSJFVX7wX1Clm2M9hlNKXS8vBGlVWwR5R3ZfI6IPrYz7c+aCQ==} + engines: {node: '>=16.14.0', npm: '>=8.1.0'} + dependencies: + '@mapbox/geojson-rewind': 0.5.2 + '@mapbox/jsonlint-lines-primitives': 2.0.2 + '@mapbox/point-geometry': 0.1.0 + '@mapbox/tiny-sdf': 2.0.6 + '@mapbox/unitbezier': 0.0.1 + '@mapbox/vector-tile': 1.3.1 + '@mapbox/whoots-js': 3.1.0 + '@maplibre/maplibre-gl-style-spec': 19.3.3 + '@types/geojson': 7946.0.13 + '@types/mapbox__point-geometry': 0.1.4 + '@types/mapbox__vector-tile': 1.3.4 + '@types/pbf': 3.0.5 + '@types/supercluster': 7.1.3 + earcut: 2.2.4 + geojson-vt: 3.2.1 + gl-matrix: 3.4.3 + global-prefix: 3.0.0 + kdbush: 4.0.2 + murmurhash-js: 1.0.0 + pbf: 3.2.1 + potpack: 2.0.0 + quickselect: 2.0.0 + supercluster: 8.0.1 + tinyqueue: 2.0.3 + vt-pbf: 3.1.3 + dev: false + + /material-colors@1.2.6: + resolution: {integrity: sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg==} + dev: false + + /mathml-tag-names@2.1.3: + resolution: {integrity: sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==} + dev: true + + /md5.js@1.3.5: + resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} + dependencies: + hash-base: 3.1.0 + inherits: 2.0.4 + safe-buffer: 5.2.1 + dev: true + + /mdast-util-from-markdown@0.8.5: + resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} + dependencies: + '@types/mdast': 3.0.11 + mdast-util-to-string: 2.0.0 + micromark: 2.11.4 + parse-entities: 2.0.0 + unist-util-stringify-position: 2.0.3 + transitivePeerDependencies: + - supports-color + dev: true + + /mdast-util-to-markdown@0.6.5: + resolution: {integrity: sha512-XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ==} + dependencies: + '@types/unist': 2.0.6 + longest-streak: 2.0.4 + mdast-util-to-string: 2.0.0 + parse-entities: 2.0.0 + repeat-string: 1.6.1 + zwitch: 1.0.5 + dev: true + + /mdast-util-to-string@2.0.0: + resolution: {integrity: sha512-AW4DRS3QbBayY/jJmD8437V1Gombjf8RSOUCMFBuo5iHi58AGEgVCKQ+ezHkZZDpAQS75hcBMpLqjpJTjtUL7w==} + dev: true + + /mdn-data@2.0.14: + resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} + + /media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + dev: true + + /mem@5.1.1: + resolution: {integrity: sha512-qvwipnozMohxLXG1pOqoLiZKNkC4r4qqRucSoDwXowsNGDSULiqFTRUF05vcZWnwJSG22qTsynQhxbaMtnX9gw==} + engines: {node: '>=8'} + dependencies: + map-age-cleaner: 0.1.3 + mimic-fn: 2.1.0 + p-is-promise: 2.1.0 + dev: true + + /memfs@3.5.1: + resolution: {integrity: sha512-UWbFJKvj5k+nETdteFndTpYxdeTMox/ULeqX5k/dpaQJCCFmj5EeKv3dBcyO2xmkRAx2vppRu5dVG7SOtsGOzA==} + engines: {node: '>= 4.0.0'} + dependencies: + fs-monkey: 1.0.3 + + /memoize-one@5.2.1: + resolution: {integrity: sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==} + dev: false + + /memoizee@0.4.15: + resolution: {integrity: sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==} + dependencies: + d: 1.0.1 + es5-ext: 0.10.62 + es6-weak-map: 2.0.3 + event-emitter: 0.3.5 + is-promise: 2.2.2 + lru-queue: 0.1.0 + next-tick: 1.1.0 + timers-ext: 0.1.7 + dev: true + + /meow@9.0.0: + resolution: {integrity: sha512-+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==} + engines: {node: '>=10'} + dependencies: + '@types/minimist': 1.2.2 + camelcase-keys: 6.2.2 + decamelize: 1.2.0 + decamelize-keys: 1.1.1 + hard-rejection: 2.1.0 + minimist-options: 4.1.0 + normalize-package-data: 3.0.3 + read-pkg-up: 7.0.1 + redent: 3.0.0 + trim-newlines: 3.0.1 + type-fest: 0.18.1 + yargs-parser: 20.2.9 + dev: true + + /merge-descriptors@1.0.1: + resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} + dev: true + + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + /merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + /methods@1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} + dev: true + + /micromark@2.11.4: + resolution: {integrity: sha512-+WoovN/ppKolQOFIAajxi7Lu9kInbPxFuTBVEavFcL8eAfVstoc5MocPmqBeAdBOJV00uaVjegzH4+MA0DN/uA==} + dependencies: + debug: 4.3.4(supports-color@5.5.0) + parse-entities: 2.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + + /miller-rabin@4.0.1: + resolution: {integrity: sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==} + hasBin: true + dependencies: + bn.js: 4.12.0 + brorand: 1.1.0 + dev: true + + /mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + /mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + + /mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /mime@2.6.0: + resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} + engines: {node: '>=4.0.0'} + hasBin: true + dev: true + + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: true + + /mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + dev: true + + /mimic-response@2.1.0: + resolution: {integrity: sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==} + engines: {node: '>=8'} + dev: false + optional: true + + /min-document@2.19.0: + resolution: {integrity: sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==} + dependencies: + dom-walk: 0.1.2 + + /min-indent@1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + dev: true + + /minimalistic-assert@1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + dev: true + + /minimalistic-crypto-utils@1.0.1: + resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} + dev: true + + /minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + + /minimatch@8.0.4: + resolution: {integrity: sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimist-options@4.1.0: + resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} + engines: {node: '>= 6'} + dependencies: + arrify: 1.0.1 + is-plain-obj: 1.1.0 + kind-of: 6.0.3 + dev: true + + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + /minipass@3.3.6: + resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} + engines: {node: '>=8'} + dependencies: + yallist: 4.0.0 + dev: false + optional: true + + /minipass@4.2.8: + resolution: {integrity: sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==} + engines: {node: '>=8'} + dev: true + + /minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} + engines: {node: '>=8'} + dev: false + optional: true + + /minipass@6.0.2: + resolution: {integrity: sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==} + engines: {node: '>=16 || 14 >=14.17'} + dev: true + + /minizlib@2.1.2: + resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} + engines: {node: '>= 8'} + dependencies: + minipass: 3.3.6 + yallist: 4.0.0 + dev: false + optional: true + + /mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + dependencies: + minimist: 1.2.8 + dev: true + + /mkdirp@1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true + dev: false + optional: true + + /ml-array-max@1.2.4: + resolution: {integrity: sha512-BlEeg80jI0tW6WaPyGxf5Sa4sqvcyY6lbSn5Vcv44lp1I2GR6AWojfUvLnGTNsIXrZ8uqWmo8VcG1WpkI2ONMQ==} + dependencies: + is-any-array: 2.0.1 + dev: false + + /ml-array-min@1.2.3: + resolution: {integrity: sha512-VcZ5f3VZ1iihtrGvgfh/q0XlMobG6GQ8FsNyQXD3T+IlstDv85g8kfV0xUG1QPRO/t21aukaJowDzMTc7j5V6Q==} + dependencies: + is-any-array: 2.0.1 + dev: false + + /ml-array-rescale@1.3.7: + resolution: {integrity: sha512-48NGChTouvEo9KBctDfHC3udWnQKNKEWN0ziELvY3KG25GR5cA8K8wNVzracsqSW1QEkAXjTNx+ycgAv06/1mQ==} + dependencies: + is-any-array: 2.0.1 + ml-array-max: 1.2.4 + ml-array-min: 1.2.3 + dev: false + + /ml-matrix@6.11.0: + resolution: {integrity: sha512-7jr9NmFRkaUxbKslfRu3aZOjJd2LkSitCGv+QH9PF0eJoEG7jIpjXra1Vw8/kgao8+kHCSsJONG6vfWmXQ+/Eg==} + dependencies: + is-any-array: 2.0.1 + ml-array-rescale: 1.3.7 + dev: false + + /ml-matrix@6.5.0: + resolution: {integrity: sha512-sms732Dge+rs5dU4mnjE0oqLWm1WujvR2fr38LgUHRG2cjXjWlO3WJupLYaSz3++2iYr0UrGDK72OAivr3J8dg==} + dependencies: + ml-array-rescale: 1.3.7 + dev: false + + /mock-property@1.0.3: + resolution: {integrity: sha512-2emPTb1reeLLYwHxyVx993iYyCHEiRRO+y8NFXFPL5kl5q14sgTK76cXyEKkeKCHeRw35SfdkUJ10Q1KfHuiIQ==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + functions-have-names: 1.2.3 + gopd: 1.0.1 + has-property-descriptors: 1.0.0 + hasown: 2.0.0 + isarray: 2.0.5 + dev: false + + /mock.js@0.2.0: + resolution: {integrity: sha512-DKI8Rh/h7Mma+fg+6aD0uUvwn0QXAjKG6q3s+lTaCboCQ/kvQMBN9IXRBzgEaz4aPiYoRnKU9jVsfZp0mHpWrQ==} + dev: true + + /mockjs@1.1.0: + resolution: {integrity: sha512-eQsKcWzIaZzEZ07NuEyO4Nw65g0hdWAyurVol1IPl1gahRwY+svqzfgfey8U8dahLwG44d6/RwEzuK52rSa/JQ==} + hasBin: true + dependencies: + commander: 10.0.1 + dev: true + + /moment@2.29.4: + resolution: {integrity: sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==} + + /mousetrap@1.6.5: + resolution: {integrity: sha512-QNo4kEepaIBwiT8CDhP98umTetp+JNfQYBWvC1pc6/OAibuXtRcxZ58Qz8skvEHYvURne/7R8T5VoOI7rDsEUA==} + dev: false + + /mpd-parser@1.3.0: + resolution: {integrity: sha512-WgeIwxAqkmb9uTn4ClicXpEQYCEduDqRKfmUdp4X8vmghKfBNXZLYpREn9eqrDx/Tf5LhzRcJLSpi4ohfV742Q==} + hasBin: true + dependencies: + '@babel/runtime': 7.22.3 + '@videojs/vhs-utils': 4.0.0 + '@xmldom/xmldom': 0.8.10 + global: 4.4.0 + dev: false + + /mrmime@2.0.0: + resolution: {integrity: sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==} + engines: {node: '>=10'} + dev: false + + /ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + + /ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: true + + /multimap@1.1.0: + resolution: {integrity: sha512-0ZIR9PasPxGXmRsEF8jsDzndzHDj7tIav+JUmvIFB/WHswliFnquxECT/De7GR4yg99ky/NlRKJT82G1y271bw==} + dev: true + + /murmurhash-js@1.0.0: + resolution: {integrity: sha512-TvmkNhkv8yct0SVBSy+o8wYzXjE4Zz3PCesbfs8HiCXXdcTuocApFv11UWlNFWKYsP2okqrhb7JNlSm9InBhIw==} + dev: false + + /mux.js@6.3.0: + resolution: {integrity: sha512-/QTkbSAP2+w1nxV+qTcumSDN5PA98P0tjrADijIzQHe85oBK3Akhy9AHlH0ne/GombLMz1rLyvVsmrgRxoPDrQ==} + engines: {node: '>=8', npm: '>=5'} + hasBin: true + dependencies: + '@babel/runtime': 7.22.3 + global: 4.4.0 + dev: false + + /mux.js@7.0.0: + resolution: {integrity: sha512-DeZmr+3NDrO02k4SREtl4VB5GyGPCz2fzMjDxBIlamkxffSTLge97rtNMoonnmFHTp96QggDucUtKv3fmyObrA==} + engines: {node: '>=8', npm: '>=5'} + hasBin: true + dependencies: + '@babel/runtime': 7.22.3 + global: 4.4.0 + dev: false + + /nan@2.18.0: + resolution: {integrity: sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w==} + dev: false + optional: true + + /nano-css@5.6.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-T2Mhc//CepkTa3X4pUhKgbEheJHYAxD0VptuqFhDbGMUWVV2m+lkNiW/Ieuj35wrfC8Zm0l7HvssQh7zcEttSw==} + peerDependencies: + react: '*' + react-dom: '*' + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + css-tree: 1.1.3 + csstype: 3.1.2 + fastest-stable-stringify: 2.0.2 + inline-style-prefixer: 7.0.0 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + rtl-css-js: 1.16.1 + stacktrace-js: 2.0.2 + stylis: 4.3.0 + dev: false + + /nanoid@3.3.6: + resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: true + + /natural-compare-lite@1.4.0: + resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} + dev: true + + /natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + /needle@3.2.0: + resolution: {integrity: sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==} + engines: {node: '>= 4.4.x'} + hasBin: true + requiresBuild: true + dependencies: + debug: 3.2.7 + iconv-lite: 0.6.3 + sax: 1.2.4 + transitivePeerDependencies: + - supports-color + dev: true + optional: true + + /negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + dev: true + + /neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + + /next-tick@1.1.0: + resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} + dev: true + + /no-case@3.0.4: + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + dependencies: + lower-case: 2.0.2 + tslib: 2.5.2 + dev: true + + /node-abort-controller@3.1.1: + resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==} + dev: true + + /node-domexception@1.0.0: + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} + dev: true + + /node-fetch-h2@2.3.0: + resolution: {integrity: sha512-ofRW94Ab0T4AOh5Fk8t0h8OBWrmjb0SSB20xh1H8YnPV9EJ+f5AMoYSUQ2zgJ4Iq2HAK0I2l5/Nequ8YzFS3Hg==} + engines: {node: 4.x || >=6.0.0} + dependencies: + http2-client: 1.3.5 + dev: true + + /node-fetch@1.7.3: + resolution: {integrity: sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ==} + dependencies: + encoding: 0.1.13 + is-stream: 1.1.0 + dev: true + + /node-fetch@2.6.0: + resolution: {integrity: sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==} + engines: {node: 4.x || >=6.0.0} + dev: true + + /node-fetch@2.6.11: + resolution: {integrity: sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + + /node-fetch@3.3.1: + resolution: {integrity: sha512-cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + data-uri-to-buffer: 4.0.1 + fetch-blob: 3.2.0 + formdata-polyfill: 4.0.10 + dev: true + + /node-import-ts@1.0.6: + resolution: {integrity: sha512-zm2zxUn5KI+jjDyx80MbrIrLRUwQ3oQYGotgZ+Z6xTSaXoUgIIO7h5mks5c9v4tBBpc+VlIyyq5WkGcdCn7qfA==} + dependencies: + '@types/node': 12.20.55 + import-fresh: 3.3.0 + typescript: 3.9.10 + dev: true + + /node-int64@0.4.0: + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + dev: true + + /node-libs-browser@2.2.1: + resolution: {integrity: sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==} + dependencies: + assert: 1.5.0 + browserify-zlib: 0.2.0 + buffer: 4.9.2 + console-browserify: 1.2.0 + constants-browserify: 1.0.0 + crypto-browserify: 3.12.0 + domain-browser: 1.2.0 + events: 3.3.0 + https-browserify: 1.0.0 + os-browserify: 0.3.0 + path-browserify: 0.0.1 + process: 0.11.10 + punycode: 1.4.1 + querystring-es3: 0.2.1 + readable-stream: 2.3.8 + stream-browserify: 2.0.2 + stream-http: 2.8.3 + string_decoder: 1.3.0 + timers-browserify: 2.0.12 + tty-browserify: 0.0.0 + url: 0.11.0 + util: 0.11.1 + vm-browserify: 1.1.2 + dev: true + + /node-readfiles@0.2.0: + resolution: {integrity: sha512-SU00ZarexNlE4Rjdm83vglt5Y9yiQ+XI1XpflWlb7q7UTN1JUItm69xMeiQCTxtTfnzt+83T8Cx+vI2ED++VDA==} + dependencies: + es6-promise: 3.3.1 + dev: true + + /node-releases@2.0.12: + resolution: {integrity: sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==} + + /nopt@5.0.0: + resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} + engines: {node: '>=6'} + hasBin: true + dependencies: + abbrev: 1.1.1 + dev: false + optional: true + + /normalize-package-data@2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + dependencies: + hosted-git-info: 2.8.9 + resolve: 1.22.2 + semver: 5.7.1 + validate-npm-package-license: 3.0.4 + dev: true + + /normalize-package-data@3.0.3: + resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} + engines: {node: '>=10'} + dependencies: + hosted-git-info: 4.1.0 + is-core-module: 2.12.1 + semver: 7.5.1 + validate-npm-package-license: 3.0.4 + dev: true + + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + /normalize-range@0.1.2: + resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} + engines: {node: '>=0.10.0'} + dev: true + + /normalize-selector@0.2.0: + resolution: {integrity: sha512-dxvWdI8gw6eAvk9BlPffgEoGfM7AdijoCwOEJge3e3ulT2XLgmU7KvvxprOaCu05Q1uGRHmOhHe1r6emZoKyFw==} + dev: true + + /normalize.css@7.0.0: + resolution: {integrity: sha512-LYaFZxj2Q1Q9e1VJ0f6laG46Rt5s9URhKyckNaA2vZnL/0gwQHWhM7ALQkp3WBQKM5sXRLQ5Ehrfkp+E/ZiCRg==} + dev: true + + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: true + + /npm-run-path@5.1.0: + resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + path-key: 4.0.0 + dev: true + + /npmlog@5.0.1: + resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} + dependencies: + are-we-there-yet: 2.0.0 + console-control-strings: 1.1.0 + gauge: 3.0.2 + set-blocking: 2.0.0 + dev: false + optional: true + + /nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + dependencies: + boolbase: 1.0.0 + dev: true + + /num2fraction@1.2.2: + resolution: {integrity: sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==} + dev: true + + /nunjucks@3.2.4: + resolution: {integrity: sha512-26XRV6BhkgK0VOxfbU5cQI+ICFUtMLixv1noZn1tGU38kQH5A5nmmbk/O45xdyBhD1esk47nKrY0mvQpZIhRjQ==} + engines: {node: '>= 6.9.0'} + hasBin: true + peerDependencies: + chokidar: ^3.3.0 + peerDependenciesMeta: + chokidar: + optional: true + dependencies: + a-sync-waterfall: 1.0.1 + asap: 2.0.6 + commander: 5.1.0 + dev: true + + /nwsapi@2.2.4: + resolution: {integrity: sha512-NHj4rzRo0tQdijE9ZqAx6kYDcoRwYwSYzCA8MY3JzfxlrvEU0jhnhJT9BhqhJs7I/dKcrDm6TyulaRqZPIhN5g==} + + /oas-kit-common@1.0.8: + resolution: {integrity: sha512-pJTS2+T0oGIwgjGpw7sIRU8RQMcUoKCDWFLdBqKB2BNmGpbBMH2sdqAaOXUg8OzonZHU0L7vfJu1mJFEiYDWOQ==} + dependencies: + fast-safe-stringify: 2.1.1 + dev: true + + /oas-linter@3.2.2: + resolution: {integrity: sha512-KEGjPDVoU5K6swgo9hJVA/qYGlwfbFx+Kg2QB/kd7rzV5N8N5Mg6PlsoCMohVnQmo+pzJap/F610qTodKzecGQ==} + dependencies: + '@exodus/schemasafe': 1.0.1 + should: 13.2.3 + yaml: 1.10.2 + dev: true + + /oas-resolver@2.5.6: + resolution: {integrity: sha512-Yx5PWQNZomfEhPPOphFbZKi9W93CocQj18NlD2Pa4GWZzdZpSJvYwoiuurRI7m3SpcChrnO08hkuQDL3FGsVFQ==} + hasBin: true + dependencies: + node-fetch-h2: 2.3.0 + oas-kit-common: 1.0.8 + reftools: 1.1.9 + yaml: 1.10.2 + yargs: 17.7.2 + dev: true + + /oas-schema-walker@1.1.5: + resolution: {integrity: sha512-2yucenq1a9YPmeNExoUa9Qwrt9RFkjqaMAA1X+U7sbb0AqBeTIdMHky9SQQ6iN94bO5NW0W4TRYXerG+BdAvAQ==} + dev: true + + /oas-validator@5.0.8: + resolution: {integrity: sha512-cu20/HE5N5HKqVygs3dt94eYJfBi0TsZvPVXDhbXQHiEityDN+RROTleefoKRKKJ9dFAF2JBkDHgvWj0sjKGmw==} + dependencies: + call-me-maybe: 1.0.2 + oas-kit-common: 1.0.8 + oas-linter: 3.2.2 + oas-resolver: 2.5.6 + oas-schema-walker: 1.1.5 + reftools: 1.1.9 + should: 13.2.3 + yaml: 1.10.2 + dev: true + + /oauth-sign@0.9.0: + resolution: {integrity: sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==} + dev: true + + /object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + /object-inspect@1.12.3: + resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} + + /object-inspect@1.13.1: + resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + + /object-is@1.1.5: + resolution: {integrity: sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + + /object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + /object.assign@4.1.4: + resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.0 + has-symbols: 1.0.3 + object-keys: 1.1.1 + + /object.entries@1.1.6: + resolution: {integrity: sha512-leTPzo4Zvg3pmbQ3rDK69Rl8GQvIqMWubrkxONG9/ojtFE2rD9fjMKfSI5BxW3osRH1m6VdzmqK8oAY9aT4x5w==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + dev: true + + /object.fromentries@2.0.6: + resolution: {integrity: sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + dev: true + + /object.getprototypeof@1.0.4: + resolution: {integrity: sha512-xV/FkUNM9sHa56AB5deXrlIR+jBtDAHieyfm6XZUuehqlMX+YJPh8CAYtPrXGA/mFLFttasTc9ihhpkPrH7pLw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + reflect.getprototypeof: 1.0.3 + dev: true + + /object.hasown@1.1.2: + resolution: {integrity: sha512-B5UIT3J1W+WuWIU55h0mjlwaqxiE5vYENJXIXZ4VFe05pNYrkKuK0U/6aFcb0pKywYJh7IhfoqUfKVmrJJHZHw==} + dependencies: + define-properties: 1.2.0 + es-abstract: 1.21.2 + dev: true + + /object.values@1.1.6: + resolution: {integrity: sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + dev: true + + /obuf@1.1.2: + resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + dev: true + + /omit.js@2.0.2: + resolution: {integrity: sha512-hJmu9D+bNB40YpL9jYebQl4lsTW6yEHRTroJzNLqQJYHm7c+NQnJGfZmIWh8S3q3KoaxV1aLhV6B3+0N0/kyJg==} + + /on-exit-leak-free@0.2.0: + resolution: {integrity: sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg==} + dev: true + + /on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + dependencies: + ee-first: 1.1.1 + dev: true + + /once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: true + + /onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + dependencies: + mimic-fn: 4.0.0 + dev: true + + /open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + + /open@9.1.0: + resolution: {integrity: sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==} + engines: {node: '>=14.16'} + dependencies: + default-browser: 4.0.0 + define-lazy-prop: 3.0.0 + is-inside-container: 1.0.0 + is-wsl: 2.2.0 + dev: true + + /openapi3-ts@2.0.2: + resolution: {integrity: sha512-TxhYBMoqx9frXyOgnRHufjQfPXomTIHYKhSKJ6jHfj13kS8OEIhvmE8CTuQyKtjjWttAjX5DPxM1vmalEpo8Qw==} + dependencies: + yaml: 1.10.2 + dev: true + + /opener@1.5.2: + resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==} + hasBin: true + dev: false + + /optionator@0.8.3: + resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} + engines: {node: '>= 0.8.0'} + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.3.0 + prelude-ls: 1.1.2 + type-check: 0.3.2 + word-wrap: 1.2.3 + + /optionator@0.9.1: + resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==} + engines: {node: '>= 0.8.0'} + dependencies: + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + word-wrap: 1.2.3 + + /ora@5.4.1: + resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} + engines: {node: '>=10'} + dependencies: + bl: 4.1.0 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-spinners: 2.9.0 + is-interactive: 1.0.0 + is-unicode-supported: 0.1.0 + log-symbols: 4.1.0 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + dev: true + + /os-browserify@0.3.0: + resolution: {integrity: sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==} + dev: true + + /os-locale@5.0.0: + resolution: {integrity: sha512-tqZcNEDAIZKBEPnHPlVDvKrp7NzgLi7jRmhKiUoa2NUmhl13FtkAGLUVR+ZsYvApBQdBfYm43A4tXXQ4IrYLBA==} + engines: {node: '>=10'} + dependencies: + execa: 4.1.0 + lcid: 3.1.1 + mem: 5.1.1 + dev: true + + /p-defer@1.0.0: + resolution: {integrity: sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw==} + engines: {node: '>=4'} + dev: true + + /p-is-promise@2.1.0: + resolution: {integrity: sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==} + engines: {node: '>=6'} + dev: true + + /p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + dependencies: + p-try: 2.2.0 + + /p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + + /p-locate@3.0.0: + resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} + engines: {node: '>=6'} + dependencies: + p-limit: 2.3.0 + dev: false + + /p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + dependencies: + p-limit: 2.3.0 + dev: true + + /p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + + /p-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} + dependencies: + aggregate-error: 3.1.0 + dev: true + + /p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + /pako@0.2.9: + resolution: {integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==} + dev: true + + /pako@1.0.11: + resolution: {integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==} + dev: true + + /param-case@3.0.4: + resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} + dependencies: + dot-case: 3.0.4 + tslib: 2.5.2 + dev: true + + /parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + dependencies: + callsites: 3.1.0 + + /parse-asn1@5.1.6: + resolution: {integrity: sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==} + dependencies: + asn1.js: 5.4.1 + browserify-aes: 1.2.0 + evp_bytestokey: 1.0.3 + pbkdf2: 3.1.2 + safe-buffer: 5.2.1 + dev: true + + /parse-entities@2.0.0: + resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} + dependencies: + character-entities: 1.2.4 + character-entities-legacy: 1.1.4 + character-reference-invalid: 1.1.4 + is-alphanumerical: 1.0.4 + is-decimal: 1.0.4 + is-hexadecimal: 1.0.4 + dev: true + + /parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + dependencies: + '@babel/code-frame': 7.21.4 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + + /parse-node-version@1.0.1: + resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==} + engines: {node: '>= 0.10'} + dev: true + + /parse5@6.0.1: + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} + dev: false + + /parse5@7.1.2: + resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + dependencies: + entities: 4.5.0 + dev: true + + /parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + dev: true + + /pascal-case@3.1.2: + resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + dependencies: + no-case: 3.0.4 + tslib: 2.5.2 + dev: true + + /path-browserify@0.0.1: + resolution: {integrity: sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==} + dev: true + + /path-exists@3.0.0: + resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} + engines: {node: '>=4'} + dev: false + + /path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + /path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + /path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + dev: true + + /path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + /path-scurry@1.9.2: + resolution: {integrity: sha512-qSDLy2aGFPm8i4rsbHd4MNyTcrzHFsLQykrtbuGRknZZCBBVXSv2tSCDN2Cg6Rt/GFRw8GoW9y9Ecw5rIPG1sg==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + lru-cache: 9.1.1 + minipass: 6.0.2 + dev: true + + /path-to-regexp@0.1.7: + resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} + dev: true + + /path-to-regexp@1.7.0: + resolution: {integrity: sha512-nifX1uj4S9IrK/w3Xe7kKvNEepXivANs9ng60Iq7PU/BlouV3yL/VUhFqTuTq33ykwUqoNcTeGo5vdOBP4jS/Q==} + dependencies: + isarray: 0.0.1 + dev: true + + /path-to-regexp@1.8.0: + resolution: {integrity: sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==} + dependencies: + isarray: 0.0.1 + dev: true + + /path-to-regexp@2.4.0: + resolution: {integrity: sha512-G6zHoVqC6GGTQkZwF4lkuEyMbVOjoBKAEybQUypI1WTkqinCOrq2x6U2+phkJ1XsEMTy4LjtwPI7HW+NVrRR2w==} + + /path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + /pbf@3.2.1: + resolution: {integrity: sha512-ClrV7pNOn7rtmoQVF4TS1vyU0WhYRnP92fzbfF75jAIwpnzdJXf8iTd4CMEqO4yUenH6NDqLiwjqlh6QgZzgLQ==} + hasBin: true + dependencies: + ieee754: 1.2.1 + resolve-protobuf-schema: 2.1.0 + dev: false + + /pbkdf2@3.1.2: + resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} + engines: {node: '>=0.12'} + dependencies: + create-hash: 1.2.0 + create-hmac: 1.1.7 + ripemd160: 2.0.2 + safe-buffer: 5.2.1 + sha.js: 2.4.11 + dev: true + + /pdfast@0.2.0: + resolution: {integrity: sha512-cq6TTu6qKSFUHwEahi68k/kqN2mfepjkGrG9Un70cgdRRKLKY6Rf8P8uvP2NvZktaQZNF3YE7agEkLj0vGK9bA==} + dev: false + + /pend@1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + dev: true + + /performance-now@2.1.0: + resolution: {integrity: sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==} + dev: true + + /picocolors@0.2.1: + resolution: {integrity: sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==} + dev: true + + /picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + /pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + dev: true + + /pify@4.0.1: + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} + dev: true + + /pinkie-promise@2.0.1: + resolution: {integrity: sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==} + engines: {node: '>=0.10.0'} + dependencies: + pinkie: 2.0.4 + dev: true + + /pinkie@2.0.4: + resolution: {integrity: sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==} + engines: {node: '>=0.10.0'} + dev: true + + /pino-abstract-transport@0.5.0: + resolution: {integrity: sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ==} + dependencies: + duplexify: 4.1.2 + split2: 4.2.0 + dev: true + + /pino-std-serializers@4.0.0: + resolution: {integrity: sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q==} + dev: true + + /pino@7.11.0: + resolution: {integrity: sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg==} + hasBin: true + dependencies: + atomic-sleep: 1.0.0 + fast-redact: 3.2.0 + on-exit-leak-free: 0.2.0 + pino-abstract-transport: 0.5.0 + pino-std-serializers: 4.0.0 + process-warning: 1.0.0 + quick-format-unescaped: 4.0.4 + real-require: 0.1.0 + safe-stable-stringify: 2.4.3 + sonic-boom: 2.8.0 + thread-stream: 0.15.2 + dev: true + + /pirates@4.0.5: + resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} + engines: {node: '>= 6'} + dev: true + + /pkcs7@1.0.4: + resolution: {integrity: sha512-afRERtHn54AlwaF2/+LFszyAANTCggGilmcmILUzEjvs3XgFZT+xE6+QWQcAGmu4xajy+Xtj7acLOPdx5/eXWQ==} + hasBin: true + dependencies: + '@babel/runtime': 7.22.3 + dev: false + + /pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + dev: true + + /pkg-up@3.1.0: + resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} + engines: {node: '>=8'} + dependencies: + find-up: 3.0.0 + dev: false + + /please-upgrade-node@3.2.0: + resolution: {integrity: sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==} + dependencies: + semver-compare: 1.0.0 + dev: true + + /plur@4.0.0: + resolution: {integrity: sha512-4UGewrYgqDFw9vV6zNV+ADmPAUAfJPKtGvb/VdpQAx25X5f3xXdGdyOEVFwkl8Hl/tl7+xbeHqSEM+D5/TirUg==} + engines: {node: '>=10'} + dependencies: + irregular-plurals: 3.5.0 + dev: true + + /pluralize@8.0.0: + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} + engines: {node: '>=4'} + dev: true + + /pngjs-image@0.11.7: + resolution: {integrity: sha512-JRyrmT+HXa1/gvdHpebus8TGqKa8WRgcsHz/DDalxRsMhvu6AOA99/enBFjZIPvmXVAzwKR051s80TuE1IiCpg==} + dependencies: + iconv-lite: 0.4.24 + pako: 0.2.9 + pngjs: 2.3.1 + request: 2.88.2 + stream-buffers: 1.0.1 + underscore: 1.7.0 + dev: true + + /pngjs@2.3.1: + resolution: {integrity: sha512-ITNPqvx+SSssNFOgHQzGG87HrqQ0g2nMSHc1jjU5Piq9xJEJ40fiFEPz0S5HSSXxBHrTnhaBHIayTO5aRfk2vw==} + engines: {iojs: '>= 1.0.0', node: '>=0.10.0'} + dev: true + + /point-in-polygon@1.1.0: + resolution: {integrity: sha512-3ojrFwjnnw8Q9242TzgXuTD+eKiutbzyslcq1ydfu82Db2y+Ogbmyrkpv0Hgj31qwT3lbS9+QAAO/pIQM35XRw==} + dev: true + + /polygon-clipping@0.15.7: + resolution: {integrity: sha512-nhfdr83ECBg6xtqOAJab1tbksbBAOMUltN60bU+llHVOL0e5Onm1WpAXXWXVB39L8AJFssoIhEVuy/S90MmotA==} + dependencies: + robust-predicates: 3.0.2 + splaytree: 3.1.2 + dev: false + + /polyline-miter-util@1.0.1: + resolution: {integrity: sha512-/3u91zz6mBerBZo6qnOJOTjv7EfPhKtsV028jMyj86YpzLRNmCCFfrX7IO9tCEQ2W4x45yc+vKOezjf7u2Nd6Q==} + dependencies: + gl-vec2: 1.3.0 + dev: false + + /polyline-normals@2.0.2: + resolution: {integrity: sha512-dpHrAi61ymhsB4N0XlNb3YpkKJeTFnXBXDWpeH8Ucstq0TUZrCN3YK4Jlgk8ofMWN25lhGC4wnxLMv+TUK8rig==} + dependencies: + polyline-miter-util: 1.0.1 + dev: false + + /postcss-attribute-case-insensitive@5.0.2(postcss@8.4.24): + resolution: {integrity: sha512-XIidXV8fDr0kKt28vqki84fRK8VW8eTuIa4PChv2MqKuT6C9UjmSKzen6KaWhWEoYvwxFCa7n/tC1SZ3tyq4SQ==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + postcss: 8.4.24 + postcss-selector-parser: 6.0.13 + dev: true + + /postcss-clamp@4.1.0(postcss@8.4.24): + resolution: {integrity: sha512-ry4b1Llo/9zz+PKC+030KUnPITTJAHeOwjfAyyB60eT0AorGLdzp52s31OsPRHRf8NchkgFoG2y6fCfn1IV1Ow==} + engines: {node: '>=7.6.0'} + peerDependencies: + postcss: ^8.4.6 + dependencies: + postcss: 8.4.24 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-color-functional-notation@4.2.4(postcss@8.4.24): + resolution: {integrity: sha512-2yrTAUZUab9s6CpxkxC4rVgFEVaR6/2Pipvi6qcgvnYiVqZcbDHEoBDhrXzyb7Efh2CCfHQNtcqWcIruDTIUeg==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + postcss: 8.4.24 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-color-hex-alpha@8.0.4(postcss@8.4.24): + resolution: {integrity: sha512-nLo2DCRC9eE4w2JmuKgVA3fGL3d01kGq752pVALF68qpGLmx2Qrk91QTKkdUqqp45T1K1XV8IhQpcu1hoAQflQ==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.4 + dependencies: + postcss: 8.4.24 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-color-rebeccapurple@7.1.1(postcss@8.4.24): + resolution: {integrity: sha512-pGxkuVEInwLHgkNxUc4sdg4g3py7zUeCQ9sMfwyHAT+Ezk8a4OaaVZ8lIY5+oNqA/BXXgLyXv0+5wHP68R79hg==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + postcss: 8.4.24 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-custom-media@8.0.2(postcss@8.4.24): + resolution: {integrity: sha512-7yi25vDAoHAkbhAzX9dHx2yc6ntS4jQvejrNcC+csQJAXjj15e7VcWfMgLqBNAbOvqi5uIa9huOVwdHbf+sKqg==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.3 + dependencies: + postcss: 8.4.24 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-custom-properties@12.1.11(postcss@8.4.24): + resolution: {integrity: sha512-0IDJYhgU8xDv1KY6+VgUwuQkVtmYzRwu+dMjnmdMafXYv86SWqfxkc7qdDvWS38vsjaEtv8e0vGOUQrAiMBLpQ==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + postcss: 8.4.24 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-custom-selectors@6.0.3(postcss@8.4.24): + resolution: {integrity: sha512-fgVkmyiWDwmD3JbpCmB45SvvlCD6z9CG6Ie6Iere22W5aHea6oWa7EM2bpnv2Fj3I94L3VbtvX9KqwSi5aFzSg==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.3 + dependencies: + postcss: 8.4.24 + postcss-selector-parser: 6.0.13 + dev: true + + /postcss-dir-pseudo-class@6.0.5(postcss@8.4.24): + resolution: {integrity: sha512-eqn4m70P031PF7ZQIvSgy9RSJ5uI2171O/OO/zcRNYpJbvaeKFUlar1aJ7rmgiQtbm0FSPsRewjpdS0Oew7MPA==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + postcss: 8.4.24 + postcss-selector-parser: 6.0.13 + dev: true + + /postcss-double-position-gradients@3.1.2(postcss@8.4.24): + resolution: {integrity: sha512-GX+FuE/uBR6eskOK+4vkXgT6pDkexLokPaz/AbJna9s5Kzp/yl488pKPjhy0obB475ovfT1Wv8ho7U/cHNaRgQ==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.24) + postcss: 8.4.24 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-env-function@4.0.6(postcss@8.4.24): + resolution: {integrity: sha512-kpA6FsLra+NqcFnL81TnsU+Z7orGtDTxcOhl6pwXeEq1yFPpRMkCDpHhrz8CFQDr/Wfm0jLiNQ1OsGGPjlqPwA==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.4 + dependencies: + postcss: 8.4.24 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-flexbugs-fixes@5.0.2(postcss@8.4.24): + resolution: {integrity: sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==} + peerDependencies: + postcss: ^8.1.4 + dependencies: + postcss: 8.4.24 + dev: true + + /postcss-focus-visible@6.0.4(postcss@8.4.24): + resolution: {integrity: sha512-QcKuUU/dgNsstIK6HELFRT5Y3lbrMLEOwG+A4s5cA+fx3A3y/JTq3X9LaOj3OC3ALH0XqyrgQIgey/MIZ8Wczw==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.4 + dependencies: + postcss: 8.4.24 + postcss-selector-parser: 6.0.13 + dev: true + + /postcss-focus-within@5.0.4(postcss@8.4.24): + resolution: {integrity: sha512-vvjDN++C0mu8jz4af5d52CB184ogg/sSxAFS+oUJQq2SuCe7T5U2iIsVJtsCp2d6R4j0jr5+q3rPkBVZkXD9fQ==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.4 + dependencies: + postcss: 8.4.24 + postcss-selector-parser: 6.0.13 + dev: true + + /postcss-font-variant@5.0.0(postcss@8.4.24): + resolution: {integrity: sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.4.24 + dev: true + + /postcss-gap-properties@3.0.5(postcss@8.4.24): + resolution: {integrity: sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + postcss: 8.4.24 + dev: true + + /postcss-html@0.36.0(postcss-syntax@0.36.2)(postcss@7.0.39): + resolution: {integrity: sha512-HeiOxGcuwID0AFsNAL0ox3mW6MHH5cstWN1Z3Y+n6H+g12ih7LHdYxWwEA/QmrebctLjo79xz9ouK3MroHwOJw==} + peerDependencies: + postcss: '>=5.0.0' + postcss-syntax: '>=0.36.0' + dependencies: + htmlparser2: 3.10.1 + postcss: 7.0.39 + postcss-syntax: 0.36.2(postcss-html@0.36.0)(postcss-less@3.1.4)(postcss-scss@2.1.1)(postcss@7.0.39) + dev: true + + /postcss-image-set-function@4.0.7(postcss@8.4.24): + resolution: {integrity: sha512-9T2r9rsvYzm5ndsBE8WgtrMlIT7VbtTfE7b3BQnudUqnBcBo7L758oc+o+pdj/dUV0l5wjwSdjeOH2DZtfv8qw==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + postcss: 8.4.24 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-initial@4.0.1(postcss@8.4.24): + resolution: {integrity: sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==} + peerDependencies: + postcss: ^8.0.0 + dependencies: + postcss: 8.4.24 + dev: true + + /postcss-lab-function@4.2.1(postcss@8.4.24): + resolution: {integrity: sha512-xuXll4isR03CrQsmxyz92LJB2xX9n+pZJ5jE9JgcnmsCammLyKdlzrBin+25dy6wIjfhJpKBAN80gsTlCgRk2w==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.24) + postcss: 8.4.24 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-less@3.1.4: + resolution: {integrity: sha512-7TvleQWNM2QLcHqvudt3VYjULVB49uiW6XzEUFmvwHzvsOEF5MwBrIXZDJQvJNFGjJQTzSzZnDoCJ8h/ljyGXA==} + engines: {node: '>=6.14.4'} + dependencies: + postcss: 7.0.39 + dev: true + + /postcss-less@4.0.1: + resolution: {integrity: sha512-C92S4sHlbDpefJ2QQJjrucCcypq3+KZPstjfuvgOCNnGx0tF9h8hXgAlOIATGAxMXZXaF+nVp+/Mi8pCAWdSmw==} + engines: {node: '>=10'} + dependencies: + postcss: 8.4.24 + dev: true + + /postcss-logical@5.0.4(postcss@8.4.24): + resolution: {integrity: sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.4 + dependencies: + postcss: 8.4.24 + dev: true + + /postcss-media-minmax@5.0.0(postcss@8.4.24): + resolution: {integrity: sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==} + engines: {node: '>=10.0.0'} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.4.24 + dev: true + + /postcss-media-query-parser@0.2.3: + resolution: {integrity: sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==} + dev: true + + /postcss-modules-extract-imports@3.0.0(postcss@8.4.24): + resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.4.24 + dev: true + + /postcss-modules-local-by-default@4.0.3(postcss@8.4.24): + resolution: {integrity: sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + icss-utils: 5.1.0(postcss@8.4.24) + postcss: 8.4.24 + postcss-selector-parser: 6.0.13 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-modules-scope@3.0.0(postcss@8.4.24): + resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.4.24 + postcss-selector-parser: 6.0.13 + dev: true + + /postcss-modules-values@4.0.0(postcss@8.4.24): + resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + icss-utils: 5.1.0(postcss@8.4.24) + postcss: 8.4.24 + dev: true + + /postcss-nesting@10.2.0(postcss@8.4.24): + resolution: {integrity: sha512-EwMkYchxiDiKUhlJGzWsD9b2zvq/r2SSubcRrgP+jujMXFzqvANLt16lJANC+5uZ6hjI7lpRmI6O8JIl+8l1KA==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.0.13) + postcss: 8.4.24 + postcss-selector-parser: 6.0.13 + dev: true + + /postcss-opacity-percentage@1.1.3(postcss@8.4.24): + resolution: {integrity: sha512-An6Ba4pHBiDtyVpSLymUUERMo2cU7s+Obz6BTrS+gxkbnSBNKSuD0AVUc+CpBMrpVPKKfoVz0WQCX+Tnst0i4A==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + postcss: 8.4.24 + dev: true + + /postcss-overflow-shorthand@3.0.4(postcss@8.4.24): + resolution: {integrity: sha512-otYl/ylHK8Y9bcBnPLo3foYFLL6a6Ak+3EQBPOTR7luMYCOsiVTUk1iLvNf6tVPNGXcoL9Hoz37kpfriRIFb4A==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + postcss: 8.4.24 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-page-break@3.0.4(postcss@8.4.24): + resolution: {integrity: sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==} + peerDependencies: + postcss: ^8 + dependencies: + postcss: 8.4.24 + dev: true + + /postcss-place@7.0.5(postcss@8.4.24): + resolution: {integrity: sha512-wR8igaZROA6Z4pv0d+bvVrvGY4GVHihBCBQieXFY3kuSuMyOmEnnfFzHl/tQuqHZkfkIVBEbDvYcFfHmpSet9g==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + postcss: 8.4.24 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-prefix-selector@1.16.0(postcss@8.4.24): + resolution: {integrity: sha512-rdVMIi7Q4B0XbXqNUEI+Z4E+pueiu/CS5E6vRCQommzdQ/sgsS4dK42U7GX8oJR+TJOtT+Qv3GkNo6iijUMp3Q==} + peerDependencies: + postcss: '>4 <9' + dependencies: + postcss: 8.4.24 + dev: true + + /postcss-preset-env@7.5.0(postcss@8.4.24): + resolution: {integrity: sha512-0BJzWEfCdTtK2R3EiKKSdkE51/DI/BwnhlnicSW482Ym6/DGHud8K0wGLcdjip1epVX0HKo4c8zzTeV/SkiejQ==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.4 + dependencies: + '@csstools/postcss-color-function': 1.1.1(postcss@8.4.24) + '@csstools/postcss-font-format-keywords': 1.0.1(postcss@8.4.24) + '@csstools/postcss-hwb-function': 1.0.2(postcss@8.4.24) + '@csstools/postcss-ic-unit': 1.0.1(postcss@8.4.24) + '@csstools/postcss-is-pseudo-class': 2.0.7(postcss@8.4.24) + '@csstools/postcss-normalize-display-values': 1.0.1(postcss@8.4.24) + '@csstools/postcss-oklab-function': 1.1.1(postcss@8.4.24) + '@csstools/postcss-progressive-custom-properties': 1.3.0(postcss@8.4.24) + '@csstools/postcss-stepped-value-functions': 1.0.1(postcss@8.4.24) + '@csstools/postcss-unset-value': 1.0.2(postcss@8.4.24) + autoprefixer: 10.4.14(postcss@8.4.24) + browserslist: 4.21.6 + css-blank-pseudo: 3.0.3(postcss@8.4.24) + css-has-pseudo: 3.0.4(postcss@8.4.24) + css-prefers-color-scheme: 6.0.3(postcss@8.4.24) + cssdb: 6.6.3 + postcss: 8.4.24 + postcss-attribute-case-insensitive: 5.0.2(postcss@8.4.24) + postcss-clamp: 4.1.0(postcss@8.4.24) + postcss-color-functional-notation: 4.2.4(postcss@8.4.24) + postcss-color-hex-alpha: 8.0.4(postcss@8.4.24) + postcss-color-rebeccapurple: 7.1.1(postcss@8.4.24) + postcss-custom-media: 8.0.2(postcss@8.4.24) + postcss-custom-properties: 12.1.11(postcss@8.4.24) + postcss-custom-selectors: 6.0.3(postcss@8.4.24) + postcss-dir-pseudo-class: 6.0.5(postcss@8.4.24) + postcss-double-position-gradients: 3.1.2(postcss@8.4.24) + postcss-env-function: 4.0.6(postcss@8.4.24) + postcss-focus-visible: 6.0.4(postcss@8.4.24) + postcss-focus-within: 5.0.4(postcss@8.4.24) + postcss-font-variant: 5.0.0(postcss@8.4.24) + postcss-gap-properties: 3.0.5(postcss@8.4.24) + postcss-image-set-function: 4.0.7(postcss@8.4.24) + postcss-initial: 4.0.1(postcss@8.4.24) + postcss-lab-function: 4.2.1(postcss@8.4.24) + postcss-logical: 5.0.4(postcss@8.4.24) + postcss-media-minmax: 5.0.0(postcss@8.4.24) + postcss-nesting: 10.2.0(postcss@8.4.24) + postcss-opacity-percentage: 1.1.3(postcss@8.4.24) + postcss-overflow-shorthand: 3.0.4(postcss@8.4.24) + postcss-page-break: 3.0.4(postcss@8.4.24) + postcss-place: 7.0.5(postcss@8.4.24) + postcss-pseudo-class-any-link: 7.1.6(postcss@8.4.24) + postcss-replace-overflow-wrap: 4.0.0(postcss@8.4.24) + postcss-selector-not: 5.0.0(postcss@8.4.24) + postcss-value-parser: 4.2.0 + dev: true + + /postcss-pseudo-class-any-link@7.1.6(postcss@8.4.24): + resolution: {integrity: sha512-9sCtZkO6f/5ML9WcTLcIyV1yz9D1rf0tWc+ulKcvV30s0iZKS/ONyETvoWsr6vnrmW+X+KmuK3gV/w5EWnT37w==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + dependencies: + postcss: 8.4.24 + postcss-selector-parser: 6.0.13 + dev: true + + /postcss-replace-overflow-wrap@4.0.0(postcss@8.4.24): + resolution: {integrity: sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==} + peerDependencies: + postcss: ^8.0.3 + dependencies: + postcss: 8.4.24 + dev: true + + /postcss-resolve-nested-selector@0.1.1: + resolution: {integrity: sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==} + dev: true + + /postcss-safe-parser@4.0.2: + resolution: {integrity: sha512-Uw6ekxSWNLCPesSv/cmqf2bY/77z11O7jZGPax3ycZMFU/oi2DMH9i89AdHc1tRwFg/arFoEwX0IS3LCUxJh1g==} + engines: {node: '>=6.0.0'} + dependencies: + postcss: 7.0.39 + dev: true + + /postcss-safe-parser@6.0.0(postcss@8.4.24): + resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.3.3 + dependencies: + postcss: 8.4.24 + dev: true + + /postcss-sass@0.4.4: + resolution: {integrity: sha512-BYxnVYx4mQooOhr+zer0qWbSPYnarAy8ZT7hAQtbxtgVf8gy+LSLT/hHGe35h14/pZDTw1DsxdbrwxBN++H+fg==} + dependencies: + gonzales-pe: 4.3.0 + postcss: 7.0.39 + dev: true + + /postcss-scss@2.1.1: + resolution: {integrity: sha512-jQmGnj0hSGLd9RscFw9LyuSVAa5Bl1/KBPqG1NQw9w8ND55nY4ZEsdlVuYJvLPpV+y0nwTV5v/4rHPzZRihQbA==} + engines: {node: '>=6.0.0'} + dependencies: + postcss: 7.0.39 + dev: true + + /postcss-selector-not@5.0.0(postcss@8.4.24): + resolution: {integrity: sha512-/2K3A4TCP9orP4TNS7u3tGdRFVKqz/E6pX3aGnriPG0jU78of8wsUcqE4QAhWEU0d+WnMSF93Ah3F//vUtK+iQ==} + peerDependencies: + postcss: ^8.1.0 + dependencies: + balanced-match: 1.0.2 + postcss: 8.4.24 + dev: true + + /postcss-selector-parser@6.0.13: + resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + dev: true + + /postcss-sorting@6.0.0(postcss@8.4.24): + resolution: {integrity: sha512-bYJ0vgAiGbjCBKi7B07CzsBc9eM84nLEbavUmwNp8rAa+PNyrgdH+6PpnqTtciLuUs99c4rFQQmCaYgeBQYmSQ==} + peerDependencies: + postcss: ^8.0.4 + dependencies: + lodash: 4.17.21 + postcss: 8.4.24 + dev: true + + /postcss-syntax@0.36.2(postcss-html@0.36.0)(postcss-less@3.1.4)(postcss-scss@2.1.1)(postcss@7.0.39): + resolution: {integrity: sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==} + peerDependencies: + postcss: '>=5.0.0' + postcss-html: '*' + postcss-jsx: '*' + postcss-less: '*' + postcss-markdown: '*' + postcss-scss: '*' + peerDependenciesMeta: + postcss-html: + optional: true + postcss-jsx: + optional: true + postcss-less: + optional: true + postcss-markdown: + optional: true + postcss-scss: + optional: true + dependencies: + postcss: 7.0.39 + postcss-html: 0.36.0(postcss-syntax@0.36.2)(postcss@7.0.39) + postcss-less: 3.1.4 + postcss-scss: 2.1.1 + dev: true + + /postcss-syntax@0.36.2(postcss@8.4.24): + resolution: {integrity: sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==} + peerDependencies: + postcss: '>=5.0.0' + postcss-html: '*' + postcss-jsx: '*' + postcss-less: '*' + postcss-markdown: '*' + postcss-scss: '*' + peerDependenciesMeta: + postcss-html: + optional: true + postcss-jsx: + optional: true + postcss-less: + optional: true + postcss-markdown: + optional: true + postcss-scss: + optional: true + dependencies: + postcss: 8.4.24 + dev: true + + /postcss-value-parser@4.2.0: + resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} + dev: true + + /postcss@7.0.39: + resolution: {integrity: sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==} + engines: {node: '>=6.0.0'} + dependencies: + picocolors: 0.2.1 + source-map: 0.6.1 + dev: true + + /postcss@8.4.24: + resolution: {integrity: sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.6 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + + /potpack@1.0.2: + resolution: {integrity: sha512-choctRBIV9EMT9WGAZHn3V7t0Z2pMQyl0EZE6pFc/6ml3ssw7Dlf/oAOvFwjm1HVsqfQN8GfeFyJ+d8tRzqueQ==} + dev: false + + /potpack@2.0.0: + resolution: {integrity: sha512-Q+/tYsFU9r7xoOJ+y/ZTtdVQwTWfzjbiXBDMM/JKUux3+QPP02iUuIoeBQ+Ot6oEDlC+/PGjB/5A3K7KKb7hcw==} + dev: false + + /preceptor-core@0.10.1: + resolution: {integrity: sha512-WLDk+UowEESixvlhiamGOj/iqWrp8IWeCCHvBZrLh0g4/A1Fa77fDQWqQUd5S5rScT+9u49aDfa45xYRkxqmiA==} + dependencies: + log4js: 1.1.1 + underscore: 1.7.0 + transitivePeerDependencies: + - supports-color + dev: true + + /prelude-ls@1.1.2: + resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} + engines: {node: '>= 0.8.0'} + + /prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + /prettier-plugin-organize-imports@3.2.2(prettier@2.8.8)(typescript@5.0.2): + resolution: {integrity: sha512-e97lE6odGSiHonHJMTYC0q0iLXQyw0u5z/PJpvP/3vRy6/Zi9kLBwFAbEGjDzIowpjQv8b+J04PDamoUSQbzGA==} + peerDependencies: + '@volar/vue-language-plugin-pug': ^1.0.4 + '@volar/vue-typescript': ^1.0.4 + prettier: '>=2.0' + typescript: '>=2.9' + peerDependenciesMeta: + '@volar/vue-language-plugin-pug': + optional: true + '@volar/vue-typescript': + optional: true + dependencies: + prettier: 2.8.8 + typescript: 5.0.2 + dev: true + + /prettier-plugin-packagejson@2.3.0(prettier@2.8.8): + resolution: {integrity: sha512-2SAPMMk1UDkqsB7DifWKcwCm6VC52JXMrzLHfbcQHJRWhRCj9zziOy+s+2XOyPBeyqFqS+A/1IKzOrxKFTo6pw==} + peerDependencies: + prettier: '>= 1.16.0' + peerDependenciesMeta: + prettier: + optional: true + dependencies: + prettier: 2.8.8 + sort-package-json: 1.57.0 + dev: true + + /prettier-plugin-packagejson@2.4.3(prettier@2.8.8): + resolution: {integrity: sha512-kPeeviJiwy0BgOSk7No8NmzzXfW4R9FYWni6ziA5zc1kGVVrKnBzMZdu2TUhI+I7h8/5Htt3vARYOk7KKJTTNQ==} + peerDependencies: + prettier: '>= 1.16.0' + peerDependenciesMeta: + prettier: + optional: true + dependencies: + prettier: 2.8.8 + sort-package-json: 2.4.1 + synckit: 0.8.5 + dev: true + + /prettier-plugin-two-style-order@1.0.1(prettier@2.8.8): + resolution: {integrity: sha512-ETltO2FRR/Pxc7bsgz2XwuzWSPwafl7/v5+5Rria4S579CTas7dya+xsmbkix0q1tYQiuRjVVdfGnCKlH/aOuQ==} + peerDependencies: + prettier: '>= 2.0.0' + dependencies: + postcss: 8.4.24 + postcss-less: 4.0.1 + postcss-sorting: 6.0.0(postcss@8.4.24) + prettier: 2.8.8 + dev: true + + /prettier@1.15.3: + resolution: {integrity: sha512-gAU9AGAPMaKb3NNSUUuhhFAS7SCO4ALTN4nRIn6PJ075Qd28Yn2Ig2ahEJWdJwJmlEBTUfC7mMUSFy8MwsOCfg==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /prettier@2.8.8: + resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} + engines: {node: '>=10.13.0'} + hasBin: true + dev: true + + /pretty-error@4.0.0: + resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} + dependencies: + lodash: 4.17.21 + renderkid: 3.0.0 + dev: true + + /pretty-format@27.5.1: + resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} + engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} + dependencies: + ansi-regex: 5.0.1 + ansi-styles: 5.2.0 + react-is: 17.0.2 + dev: true + + /pretty-format@29.5.0: + resolution: {integrity: sha512-V2mGkI31qdttvTFX7Mt4efOqHXqJWMu4/r66Xh3Z3BwZaPfPJgp6/gbwoujRpPUtfEF6AUUWx3Jim3GCw5g/Qw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.4.3 + ansi-styles: 5.2.0 + react-is: 18.2.0 + dev: true + + /probe.gl@3.6.0: + resolution: {integrity: sha512-19JydJWI7+DtR4feV+pu4Mn1I5TAc0xojuxVgZdXIyfmTLfUaFnk4OloWK1bKbPtkgGKLr2lnbnCXmpZEcEp9g==} + dependencies: + '@babel/runtime': 7.22.3 + '@probe.gl/env': 3.6.0 + '@probe.gl/log': 3.6.0 + '@probe.gl/stats': 3.6.0 + dev: false + + /process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + dev: true + + /process-warning@1.0.0: + resolution: {integrity: sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==} + dev: true + + /process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + + /progress@2.0.3: + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} + dev: true + + /promise@6.0.0: + resolution: {integrity: sha512-PjIqIEWR8EWwP5ml3Wf5KWIP3sIdXAew9vQ6vLOLV+z4LMa/8ZQyLd7sTWe2r8OuA8A9jsIYptDfbEn/L36ogw==} + dependencies: + asap: 1.0.0 + dev: true + + /promise@7.3.1: + resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==} + dependencies: + asap: 2.0.6 + dev: true + + /prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + + /prop-types@15.8.1: + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + react-is: 16.13.1 + + /protocol-buffers-schema@3.6.0: + resolution: {integrity: sha512-TdDRD+/QNdrCGCE7v8340QyuXd4kIWIgapsE2+n/SaGiSSbomYl4TjHlvIoCWRpE7wFt02EpB35VVA2ImcBVqw==} + dev: false + + /proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + dev: true + + /proxy-compare@2.4.0: + resolution: {integrity: sha512-FD8KmQUQD6Mfpd0hywCOzcon/dbkFP8XBd9F1ycbKtvVsfv6TsFUKJ2eC0Iz2y+KzlkdT1Z8SY6ZSgm07zOyqg==} + dev: true + + /proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + dev: true + + /prr@1.0.1: + resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} + dev: true + optional: true + + /psl@1.9.0: + resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} + + /public-encrypt@4.0.3: + resolution: {integrity: sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==} + dependencies: + bn.js: 4.12.0 + browserify-rsa: 4.1.0 + create-hash: 1.2.0 + parse-asn1: 5.1.6 + randombytes: 2.1.0 + safe-buffer: 5.2.1 + dev: true + + /pump@3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: true + + /punycode@1.3.2: + resolution: {integrity: sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==} + dev: true + + /punycode@1.4.1: + resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} + dev: true + + /punycode@2.3.0: + resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + engines: {node: '>=6'} + + /puppeteer-core@1.12.2: + resolution: {integrity: sha512-M+atMV5e+MwJdR+OwQVZ1xqAIwh3Ou4nUxNuf334GwpcLG+LDj5BwIph4J9y8YAViByRtWGL+uF8qX2Ggzb+Fg==} + engines: {node: '>=6.4.0'} + requiresBuild: true + dependencies: + debug: 4.3.4(supports-color@5.5.0) + extract-zip: 1.7.0 + https-proxy-agent: 2.2.4 + mime: 2.6.0 + progress: 2.0.3 + proxy-from-env: 1.1.0 + rimraf: 2.7.1 + ws: 6.2.2 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: true + + /pure-rand@6.0.2: + resolution: {integrity: sha512-6Yg0ekpKICSjPswYOuC5sku/TSWaRYlA0qsXqJgM/d/4pLPHPuTxK7Nbf7jFKzAeedUhR8C7K9Uv63FBsSo8xQ==} + dev: true + + /qiankun@2.10.8: + resolution: {integrity: sha512-5w6QeM1INFavJdIWfSoDIVv2InV8MEojauvY5tY9Biu8hhE5Rml/HM2t/Y60kZcuOpgy/HGX+tcc6NkQuzDoCg==} + dependencies: + '@babel/runtime': 7.22.3 + import-html-entry: 1.14.6 + lodash: 4.17.21 + single-spa: 5.9.4 + dev: true + + /qrcode.react@3.1.0(react@18.2.0): + resolution: {integrity: sha512-oyF+Urr3oAMUG/OiOuONL3HXM+53wvuH3mtIWQrYmsXoAq0DkvZp2RYUWFSMFtbdOpuS++9v+WAkzNVkMlNW6Q==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + react: 18.2.0 + + /qs@6.11.0: + resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} + engines: {node: '>=0.6'} + dependencies: + side-channel: 1.0.4 + dev: true + + /qs@6.11.2: + resolution: {integrity: sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==} + engines: {node: '>=0.6'} + dependencies: + side-channel: 1.0.4 + dev: true + + /qs@6.5.3: + resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==} + engines: {node: '>=0.6'} + dev: true + + /query-string@6.14.1: + resolution: {integrity: sha512-XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==} + engines: {node: '>=6'} + dependencies: + decode-uri-component: 0.2.2 + filter-obj: 1.1.0 + split-on-first: 1.1.0 + strict-uri-encode: 2.0.0 + dev: true + + /querystring-es3@0.2.1: + resolution: {integrity: sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==} + engines: {node: '>=0.4.x'} + dev: true + + /querystring@0.2.0: + resolution: {integrity: sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==} + engines: {node: '>=0.4.x'} + deprecated: The querystring API is considered Legacy. new code should use the URLSearchParams API instead. + dev: true + + /querystring@0.2.1: + resolution: {integrity: sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg==} + engines: {node: '>=0.4.x'} + deprecated: The querystring API is considered Legacy. new code should use the URLSearchParams API instead. + dev: false + + /querystringify@2.2.0: + resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} + + /queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + /quick-format-unescaped@4.0.4: + resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} + dev: true + + /quick-lru@4.0.1: + resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} + engines: {node: '>=8'} + dev: true + + /quickselect@2.0.0: + resolution: {integrity: sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==} + dev: false + + /raf@3.4.1: + resolution: {integrity: sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==} + dependencies: + performance-now: 2.1.0 + dev: true + + /randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + dependencies: + safe-buffer: 5.2.1 + + /randomfill@1.0.4: + resolution: {integrity: sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==} + dependencies: + randombytes: 2.1.0 + safe-buffer: 5.2.1 + dev: true + + /range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + dev: true + + /raw-body@2.5.1: + resolution: {integrity: sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==} + engines: {node: '>= 0.8'} + dependencies: + bytes: 3.1.2 + http-errors: 2.0.0 + iconv-lite: 0.4.24 + unpipe: 1.0.0 + dev: true + + /rc-align@2.4.5: + resolution: {integrity: sha512-nv9wYUYdfyfK+qskThf4BQUSIadeI/dCsfaMZfNEoxm9HwOIioQ+LyqmMK6jWHAZQgOzMLaqawhuBXlF63vgjw==} + dependencies: + babel-runtime: 6.26.0 + dom-align: 1.12.4 + prop-types: 15.8.1 + rc-util: 4.21.1 + dev: true + + /rc-align@4.0.15(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-wqJtVH60pka/nOX7/IspElA8gjPNQKIx/ZqJ6heATCkXpe1Zg4cPVrMD2vC96wjsFFL8WsmhPbx9tdMo1qqlIA==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + dom-align: 1.12.4 + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + resize-observer-polyfill: 1.5.1 + + /rc-animate@2.11.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-1NyuCGFJG/0Y+9RKh5y/i/AalUCA51opyyS/jO2seELpgymZm2u9QV3xwODwEuzkmeQ1BDPxMLmYLcTJedPlkQ==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + babel-runtime: 6.26.0 + classnames: 2.3.2 + css-animation: 1.6.1 + prop-types: 15.8.1 + raf: 3.4.1 + rc-util: 4.21.1 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-lifecycles-compat: 3.0.4 + dev: true + + /rc-cascader@3.12.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-QTeGPTNYX33alozNy9lYg7YKpvYVwquai/mrFRR8mHlHnK7QlqJyMqbs2p7rc5eeKARKMRTUeoN5CfO+Gr9UBw==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + array-tree-filter: 2.1.0 + classnames: 2.3.2 + rc-select: 14.5.1(react-dom@18.2.0)(react@18.2.0) + rc-tree: 5.7.4(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /rc-cascader@3.7.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-5nPEM76eMyikd0NFiy1gjwiB9m+bOzjY6Lnd5bVC6Ar3XLlOpOnlCcV3oBFWLN3f7B18tAGpaAVlT2uyEDCv9w==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + array-tree-filter: 2.1.0 + classnames: 2.3.2 + rc-select: 14.1.17(react-dom@18.2.0)(react@18.2.0) + rc-tree: 5.7.4(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: true + + /rc-checkbox@2.0.3: + resolution: {integrity: sha512-sSDV5AcxK5CxBTyUNj9pb0zfhdgLLsWKHwJG18ikeGoIwklcxXvIF6cI/KGVbPLFDa8mPS5WLOlLRqbq/1/ouw==} + dependencies: + babel-runtime: 6.26.0 + classnames: 2.3.2 + prop-types: 15.8.1 + rc-util: 4.21.1 + dev: true + + /rc-checkbox@3.0.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-k7nxDWxYF+jDI0ZcCvuvj71xONmWRVe5+1MKcERRR9MRyP3tZ69b+yUCSXXh+sik4/Hc9P5wHr2nnUoGS2zBjA==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /rc-collapse@1.9.3(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-8cG+FzudmgFCC9zRGKXJZA36zoI9Dmyjp6UDi8N80sXUch0JOpsZDxgcFzw4HPpPpK/dARtTilEe9zyuspnW0w==} + dependencies: + classnames: 2.3.2 + css-animation: 1.6.1 + prop-types: 15.8.1 + rc-animate: 2.11.1(react-dom@18.2.0)(react@18.2.0) + transitivePeerDependencies: + - react + - react-dom + dev: true + + /rc-collapse@3.4.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-jpTwLgJzkhAgp2Wpi3xmbTbbYExg6fkptL67Uu5LCRVEj6wqmy0DHTjjeynsjOLsppHGHu41t1ELntZ0lEvS/Q==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + rc-motion: 2.7.3(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + shallowequal: 1.1.0 + dev: true + + /rc-collapse@3.5.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-/TNiT3DW1t3sUCiVD/DPUYooJZ3BLA93/2rZsB3eM2bGJCCla2X9D2E4tgm7LGMQGy5Atb2lMUn2FQuvQNvavQ==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + rc-motion: 2.7.3(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /rc-dialog@9.0.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-s3U+24xWUuB6Bn2Lk/Qt6rufy+uT+QvWkiFhNBcO9APLxcFFczWamaq7x9h8SCuhfc1nHcW4y8NbMsnAjNnWyg==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + '@rc-component/portal': 1.1.1(react-dom@18.2.0)(react@18.2.0) + classnames: 2.3.2 + rc-motion: 2.7.3(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: true + + /rc-dialog@9.1.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-5ry+JABAWEbaKyYsmITtrJbZbJys8CtMyzV8Xn4LYuXMeUx5XVHNyJRoqLFE4AzBuXXzOWeaC49cg+XkxK6kHA==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + '@rc-component/portal': 1.1.1(react-dom@18.2.0)(react@18.2.0) + classnames: 2.3.2 + rc-motion: 2.7.3(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /rc-drawer@6.1.6(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-EBRFM9o3lPU5kYh8sFoXYA9KxpdT765HDqj/AbZWicXkhwEYUH7MjUH0ctenPCiHBxXQUgIUvK14+6rPuURd6w==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + '@rc-component/portal': 1.1.1(react-dom@18.2.0)(react@18.2.0) + classnames: 2.3.2 + rc-motion: 2.7.3(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /rc-dropdown@3.6.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-Wsw7GkVbUXADEs8FPL0v8gd+3mWQiydPFXBlr2imMScQaf8hh79pG9KrBc1DwK+nqHmYOpQfK2gn6jG2AQw9Pw==} + peerDependencies: + react: '>=16.11.0' + react-dom: '>=16.11.0' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + rc-trigger: 5.3.4(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /rc-dropdown@4.0.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-OdpXuOcme1rm45cR0Jzgfl1otzmU4vuBVb+etXM8vcaULGokAKVpKlw8p6xzspG7jGd/XxShvq+N3VNEfk/l5g==} + peerDependencies: + react: '>=16.11.0' + react-dom: '>=16.11.0' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + rc-trigger: 5.3.4(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: true + + /rc-dropdown@4.1.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-VZjMunpBdlVzYpEdJSaV7WM7O0jf8uyDjirxXLZRNZ+tAC+NzD3PXPEtliFwGzVwBBdCmGuSqiS9DWcOLxQ9tw==} + peerDependencies: + react: '>=16.11.0' + react-dom: '>=16.11.0' + dependencies: + '@babel/runtime': 7.22.3 + '@rc-component/trigger': 1.13.3(react-dom@18.2.0)(react@18.2.0) + classnames: 2.3.2 + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /rc-field-form@1.27.4(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-PQColQnZimGKArnOh8V2907+VzDCXcqtFvHgevDLtqWc/P7YASb/FqntSmdS8q3VND5SHX3Y1vgMIzY22/f/0Q==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + async-validator: 4.2.5 + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: true + + /rc-field-form@1.31.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-3u6crithuSQMfHaDL3rMvzjG5oXJQIgCTxDfT0pJL9kI/C2LWuR8GrApzOvB9gKcf8VvvnejzmSPnsUJz4YGmQ==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + async-validator: 4.2.5 + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /rc-field-form@1.32.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-vr5pA0/gWiBZf0HKdevQJcWSsAac10Z8Nj1Brs3OOCnExk7l+u8GtsW+4cRSqJLug5fxV11dOGXpxf7+aHT/2A==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + async-validator: 4.2.5 + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /rc-gesture@0.0.22: + resolution: {integrity: sha512-6G6qrCE0MUTXyjh/powj91XkjRjoFL4HiJLPU5lALXHvGX+/efcUjGYUrHrrw0mwQdmrmg4POqnY/bibns+G3g==} + dependencies: + babel-runtime: 6.26.0 + dev: true + + /rc-image@5.13.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-iZTOmw5eWo2+gcrJMMcnd7SsxVHl3w5xlyCgsULUdJhJbnuI8i/AL0tVOsE7aLn9VfOh1qgDT3mC2G75/c7mqg==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + '@rc-component/portal': 1.1.1(react-dom@18.2.0)(react@18.2.0) + classnames: 2.3.2 + rc-dialog: 9.0.2(react-dom@18.2.0)(react@18.2.0) + rc-motion: 2.7.3(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: true + + /rc-image@5.16.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-11DOye57IgTXh2yTsmxFNynZJG3tdx8RZnnaqb38eYWrBPPyhVHIuURxyiSZ8B68lEUAggR7SBA0Zb95KP/CyQ==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + '@rc-component/portal': 1.1.1(react-dom@18.2.0)(react@18.2.0) + classnames: 2.3.2 + rc-dialog: 9.1.0(react-dom@18.2.0)(react@18.2.0) + rc-motion: 2.7.3(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /rc-input-number@7.3.11(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-aMWPEjFeles6PQnMqP5eWpxzsvHm9rh1jQOWXExUEIxhX62Fyl/ptifLHOn17+waDG1T/YUb6flfJbvwRhHrbA==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: true + + /rc-input-number@7.4.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-yGturTw7WGP+M1GbJ+UTAO7L4buxeW6oilhL9Sq3DezsRS8/9qec4UiXUbeoiX9bzvRXH11JvgskBtxSp4YSNg==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + '@rc-component/mini-decimal': 1.0.1 + classnames: 2.3.2 + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /rc-input@0.1.4(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-FqDdNz+fV2dKNgfXzcSLKvC+jEs1709t7nD+WdfjrdSaOcefpgc7BUJYadc3usaING+b7ediMTfKxuJBsEFbXA==} + peerDependencies: + react: '>=16.0.0' + react-dom: '>=16.0.0' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: true + + /rc-input@1.0.4(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-clY4oneVHRtKHYf/HCxT/MO+4BGzCIywSNLosXWOm7fcQAS0jQW7n0an8Raa8JMB8kpxc8m28p7SNwFZmlMj6g==} + peerDependencies: + react: '>=16.0.0' + react-dom: '>=16.0.0' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /rc-mentions@1.13.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-FCkaWw6JQygtOz0+Vxz/M/NWqrWHB9LwqlY2RtcuFqWJNFK9njijOOzTSsBGANliGufVUzx/xuPHmZPBV0+Hgw==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + rc-menu: 9.8.4(react-dom@18.2.0)(react@18.2.0) + rc-textarea: 0.4.7(react-dom@18.2.0)(react@18.2.0) + rc-trigger: 5.3.4(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: true + + /rc-mentions@2.2.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-R7ncCldr02uKgJBBPlXdtnOGQIjZ9C3uoIMi4fabU3CPFdmefYlNF6QM4u2AzgcGt8V0KkoHTN5T6HPdUpet8g==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + '@rc-component/trigger': 1.13.3(react-dom@18.2.0)(react@18.2.0) + classnames: 2.3.2 + rc-input: 1.0.4(react-dom@18.2.0)(react@18.2.0) + rc-menu: 9.8.4(react-dom@18.2.0)(react@18.2.0) + rc-textarea: 1.2.3(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /rc-menu@9.8.4(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-lmw2j8I2fhdIzHmC9ajfImfckt0WDb2KVJJBBRIsxPEw2kGkEfjLMUoB1NgiNT/Q5cC8PdjGOGQjHJIJMwyNMw==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + rc-motion: 2.7.3(react-dom@18.2.0)(react@18.2.0) + rc-overflow: 1.3.0(react-dom@18.2.0)(react@18.2.0) + rc-trigger: 5.3.4(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /rc-menu@9.9.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-kVJwaQn5VUu6DIddxd/jz3QupTPg0tNYq+mpFP8wYsRF5JgzPA9fPVw+CfwlTPwA1w7gzEY42S8pj6M3uev5CQ==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + '@rc-component/trigger': 1.13.3(react-dom@18.2.0)(react@18.2.0) + classnames: 2.3.2 + rc-motion: 2.7.3(react-dom@18.2.0)(react@18.2.0) + rc-overflow: 1.3.0(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /rc-motion@2.7.3(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-2xUvo8yGHdOHeQbdI8BtBsCIrWKchEmFEIskf0nmHtJsou+meLd/JE+vnvSX2JxcBrJtXY2LuBpxAOxrbY/wMQ==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /rc-notification@4.6.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-NSmFYwrrdY3+un1GvDAJQw62Xi9LNMSsoQyo95tuaYrcad5Bn9gJUL8AREufRxSQAQnr64u3LtP3EUyLYT6bhw==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + rc-motion: 2.7.3(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: true + + /rc-notification@5.0.4(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-3535oellIRlt1LspERfK8yvCqb8Gio3R02rULciaSc1xe3H7ArTU/khlUTv1ddGzua4HhmF4D4Rwz/+mBxETvg==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + rc-motion: 2.7.3(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /rc-overflow@1.3.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-p2Qt4SWPTHAYl4oAao1THy669Fm5q8pYBDBHRaFOekCvcdcrgIx0ByXQMEkyPm8wUDX4BK6aARWecvCRc/7CTA==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + rc-resize-observer: 1.3.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /rc-pagination@3.2.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-5tIXjB670WwwcAJzAqp2J+cOBS9W3cH/WU1EiYwXljuZ4vtZXKlY2Idq8FZrnYBz8KhN3vwPo9CoV/SJS6SL1w==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: true + + /rc-pagination@3.4.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-arFQKD15h26+rSXRnQNA8b/tHy98/853W/leXkas2WlViOYG5A2qgEg7CRX64GKb9TqJjdqnDzaMAvl0qF4Tig==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /rc-picker@2.7.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-KbUKgbzgWVN5L+V9xhZDKSmseHIyFneBlmuMtMrZ9fU7Oypw6D+owS5kuUicIEV08Y17oXt8dUqauMeC5IFBPg==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + date-fns: 2.30.0 + dayjs: 1.11.7 + moment: 2.29.4 + rc-trigger: 5.3.4(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + shallowequal: 1.1.0 + dev: true + + /rc-picker@3.7.6(dayjs@1.11.7)(moment@2.29.4)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-v84wVXjgx5hQ5vTLjMeMMtj6+gn480Gqzwur2A2+o8+eFnhY4jKmuqzHmD8sEevrz0WT/j1pLHFxAV8/lksI2A==} + engines: {node: '>=8.x'} + peerDependencies: + date-fns: '>= 2.x' + dayjs: '>= 1.x' + luxon: '>= 3.x' + moment: '>= 2.x' + react: '>=16.9.0' + react-dom: '>=16.9.0' + peerDependenciesMeta: + date-fns: + optional: true + dayjs: + optional: true + luxon: + optional: true + moment: + optional: true + dependencies: + '@babel/runtime': 7.22.3 + '@rc-component/trigger': 1.13.3(react-dom@18.2.0)(react@18.2.0) + classnames: 2.3.2 + dayjs: 1.11.7 + moment: 2.29.4 + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /rc-progress@3.4.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-eAFDHXlk8aWpoXl0llrenPMt9qKHQXphxcVsnKs0FHC6eCSk1ebJtyaVjJUzKe0233ogiLDeEFK1Uihz3s67hw==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /rc-rate@2.10.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-TCjEpKPeN1m0EnGDDbb1KyxjNTJRzoReiPdtbrBJEey4Ryf/UGOQ6vqmz2yC6DJdYVDVUoZPdoz043ryh0t/nQ==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /rc-rate@2.9.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-SaiZFyN8pe0Fgphv8t3+kidlej+cq/EALkAJAc3A0w0XcPaH2L1aggM8bhe1u6GAGuQNAoFvTLjw4qLPGRKV5g==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: true + + /rc-resize-observer@0.2.6(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-YX6nYnd6fk7zbuvT6oSDMKiZjyngjHoy+fz+vL3Tez38d/G5iGdaDJa2yE7345G6sc4Mm1IGRUIwclvltddhmA==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + resize-observer-polyfill: 1.5.1 + + /rc-resize-observer@1.3.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-iFUdt3NNhflbY3mwySv5CA1TC06zdJ+pfo0oc27xpf4PIOvfZwZGtD9Kz41wGYqC4SLio93RVAirSSpYlV/uYg==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + resize-observer-polyfill: 1.5.1 + + /rc-segmented@2.1.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-qGo1bCr83ESXpXVOCXjFe1QJlCAQXyi9KCiy8eX3rIMYlTeJr/ftySIaTnYsitL18SvWf5ZEHsfqIWoX0EMfFQ==} + peerDependencies: + react: '>=16.0.0' + react-dom: '>=16.0.0' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + rc-motion: 2.7.3(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: true + + /rc-segmented@2.2.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-Mq52M96QdHMsNdE/042ibT5vkcGcD5jxKp7HgPC2SRofpia99P5fkfHy1pEaajLMF/kj0+2Lkq1UZRvqzo9mSA==} + peerDependencies: + react: '>=16.0.0' + react-dom: '>=16.0.0' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + rc-motion: 2.7.3(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /rc-select@14.1.17(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-6qQhMqtoUkkboRqXKKFRR5Nu1mrnw2mC1uxIBIczg7aiJ94qCZBg4Ww8OLT9f4xdyCgbFSGh6r3yB9EBsjoHGA==} + engines: {node: '>=8.x'} + peerDependencies: + react: '*' + react-dom: '*' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + rc-motion: 2.7.3(react-dom@18.2.0)(react@18.2.0) + rc-overflow: 1.3.0(react-dom@18.2.0)(react@18.2.0) + rc-trigger: 5.3.4(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + rc-virtual-list: 3.5.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: true + + /rc-select@14.5.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-RQ3yiguq6yJ+kbtip7/6RTq2hOotS/s00nyZL2nxyz5194C6uOtSB8Kgsw3c6ZXII1EDjuJX3zLI1pkxkNWyww==} + engines: {node: '>=8.x'} + peerDependencies: + react: '*' + react-dom: '*' + dependencies: + '@babel/runtime': 7.22.3 + '@rc-component/trigger': 1.13.3(react-dom@18.2.0)(react@18.2.0) + classnames: 2.3.2 + rc-motion: 2.7.3(react-dom@18.2.0)(react@18.2.0) + rc-overflow: 1.3.0(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + rc-virtual-list: 3.5.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /rc-slider@10.0.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-igTKF3zBet7oS/3yNiIlmU8KnZ45npmrmHlUUio8PNbIhzMcsh+oE/r2UD42Y6YD2D/s+kzCQkzQrPD6RY435Q==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + shallowequal: 1.1.0 + dev: true + + /rc-slider@10.1.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-gn8oXazZISEhnmRinI89Z/JD/joAaM35jp+gDtIVSTD/JJMCCBqThqLk1SVJmvtfeiEF/kKaFY0+qt4SDHFUDw==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /rc-slider@8.2.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-rnO36M3VhMoPWh1kRuCeJoluT4duAW7+5aLaAn9oLu2pKEKsuOFUh5DmA2kEo88UmvPV6nr7HHDeZuC8SNM/lA==} + dependencies: + babel-runtime: 6.26.0 + classnames: 2.3.2 + prop-types: 15.8.1 + rc-tooltip: 3.7.3(react-dom@18.2.0)(react@18.2.0) + rc-util: 4.21.1 + shallowequal: 1.1.0 + warning: 3.0.0 + transitivePeerDependencies: + - react + - react-dom + dev: true + + /rc-steps@5.0.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-9TgRvnVYirdhbV0C3syJFj9EhCRqoJAsxt4i1rED5o8/ZcSv5TLIYyo4H8MCjLPvbe2R+oBAm/IYBEtC+OS1Rw==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: true + + /rc-steps@6.0.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-+KfMZIty40mYCQSDvYbZ1jwnuObLauTiIskT1hL4FFOBHP6ZOr8LK0m143yD3kEN5XKHSEX1DIwCj3AYZpoeNQ==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /rc-swipeout@2.0.11: + resolution: {integrity: sha512-d37Lgn4RX4OOQyuA2BFo0rGlUwrmZk5q83srH3ixJ1Y1jidr2GKjgJDbNeGUVZPNfYBL91Elu6+xfVGftWf4Lg==} + dependencies: + babel-runtime: 6.26.0 + classnames: 2.3.2 + rc-gesture: 0.0.22 + react-native-swipeout: 2.3.6 + dev: true + + /rc-switch@3.2.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-+gUJClsZZzvAHGy1vZfnwySxj+MjLlGRyXKXScrtCTcmiYNPzxDFOxdQ/3pK1Kt/0POvwJ/6ALOR8gwdXGhs+A==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: true + + /rc-switch@4.1.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-TI8ufP2Az9oEbvyCeVE4+90PDSljGyuwix3fV58p7HV2o4wBnVToEyomJRVyTaZeqNPAp+vqeo4Wnj5u0ZZQBg==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /rc-table@7.26.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-0cD8e6S+DTGAt5nBZQIPFYEaIukn17sfa5uFL98faHlH/whZzD8ii3dbFL4wmUDEL4BLybhYop+QUfZJ4CPvNQ==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + rc-resize-observer: 1.3.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + shallowequal: 1.1.0 + dev: true + + /rc-table@7.32.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-fHMQteKMocUC9I9Vex3eBLH7QsiaMR/qtzh3B1Ty2PoNGwVTwVdDFyRL05zch+JU3KnNNczgQeVvtf/p//gdrQ==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + '@rc-component/context': 1.3.0(react-dom@18.2.0)(react@18.2.0) + classnames: 2.3.2 + rc-resize-observer: 1.3.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /rc-tabs@12.5.10(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-Ay0l0jtd4eXepFH9vWBvinBjqOpqzcsJTerBGwJy435P2S90Uu38q8U/mvc1sxUEVOXX5ZCFbxcWPnfG3dH+tQ==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + rc-dropdown: 4.0.1(react-dom@18.2.0)(react@18.2.0) + rc-menu: 9.8.4(react-dom@18.2.0)(react@18.2.0) + rc-motion: 2.7.3(react-dom@18.2.0)(react@18.2.0) + rc-resize-observer: 1.3.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: true + + /rc-tabs@12.6.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-L9yIptdrmft573MEsc+xKoGbXzfg3V6NYvgT0sNh+PSzWaeF34W7CIPi98lcWjtsYB80oFMOcAXRilUFxLHTaA==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + rc-dropdown: 4.1.0(react-dom@18.2.0)(react@18.2.0) + rc-menu: 9.8.4(react-dom@18.2.0)(react@18.2.0) + rc-motion: 2.7.3(react-dom@18.2.0)(react@18.2.0) + rc-resize-observer: 1.3.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /rc-textarea@0.4.7(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-IQPd1CDI3mnMlkFyzt2O4gQ2lxUsnBAeJEoZGJnkkXgORNqyM9qovdrCj9NzcRfpHgLdzaEbU3AmobNFGUznwQ==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + rc-resize-observer: 1.3.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + shallowequal: 1.1.0 + dev: true + + /rc-textarea@1.2.3(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-YvN8IskIVBRRzcS4deT0VAMim31+T3IoVX4yoCJ+b/iVCvw7yf0usR7x8OaHiUOUoURKcn/3lfGjmtzplcy99g==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + rc-input: 1.0.4(react-dom@18.2.0)(react@18.2.0) + rc-resize-observer: 1.3.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /rc-tooltip@3.7.3(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-dE2ibukxxkrde7wH9W8ozHKUO4aQnPZ6qBHtrTH9LoO836PjDdiaWO73fgPB05VfJs9FbZdmGPVEbXCeOP99Ww==} + dependencies: + babel-runtime: 6.26.0 + prop-types: 15.8.1 + rc-trigger: 2.6.5(react-dom@18.2.0)(react@18.2.0) + transitivePeerDependencies: + - react + - react-dom + dev: true + + /rc-tooltip@5.2.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-jtQzU/18S6EI3lhSGoDYhPqNpWajMtS5VV/ld1LwyfrDByQpYmw/LW6U7oFXXLukjfDHQ7Ju705A82PRNFWYhg==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + rc-trigger: 5.3.4(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: true + + /rc-tooltip@6.0.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-MdvPlsD1fDSxKp9+HjXrc/CxLmA/s11QYIh1R7aExxfodKP7CZA++DG1AjrW80F8IUdHYcR43HAm0Y2BYPelHA==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + '@rc-component/trigger': 1.13.3(react-dom@18.2.0)(react@18.2.0) + classnames: 2.3.2 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /rc-tree-select@5.5.5(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-k2av7jF6tW9bIO4mQhaVdV4kJ1c54oxV3/hHVU+oD251Gb5JN+m1RbJFTMf1o0rAFqkvto33rxMdpafaGKQRJw==} + peerDependencies: + react: '*' + react-dom: '*' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + rc-select: 14.1.17(react-dom@18.2.0)(react@18.2.0) + rc-tree: 5.7.4(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: true + + /rc-tree-select@5.9.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-oh3blESzLfLCBPSiVDtZ2irzrWWZUMeHvnSwRvFo79br8Z+K/1OhXhXBZmROvfKwaH8YUugAQy8B2j5EGQbdyA==} + peerDependencies: + react: '*' + react-dom: '*' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + rc-select: 14.5.1(react-dom@18.2.0)(react@18.2.0) + rc-tree: 5.7.4(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /rc-tree@5.7.4(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-7VfDq4jma+6fvlzfDXvUJ34SaO2EWkcXGBmPgeFmVKsLNNXcKGl4cRAhs6Ts1zqnX994vu/hb3f1dyTjn43RFg==} + engines: {node: '>=10.x'} + peerDependencies: + react: '*' + react-dom: '*' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + rc-motion: 2.7.3(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + rc-virtual-list: 3.5.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /rc-trigger@2.6.5(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-m6Cts9hLeZWsTvWnuMm7oElhf+03GOjOLfTuU0QmdB9ZrW7jR2IpI5rpNM7i9MvAAlMAmTx5Zr7g3uu/aMvZAw==} + dependencies: + babel-runtime: 6.26.0 + classnames: 2.3.2 + prop-types: 15.8.1 + rc-align: 2.4.5 + rc-animate: 2.11.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 4.21.1 + react-lifecycles-compat: 3.0.4 + transitivePeerDependencies: + - react + - react-dom + dev: true + + /rc-trigger@5.3.4(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-mQv+vas0TwKcjAO2izNPkqR4j86OemLRmvL2nOzdP9OWNWA1ivoTt5hzFqYNW9zACwmTezRiN8bttrC7cZzYSw==} + engines: {node: '>=8.x'} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + rc-align: 4.0.15(react-dom@18.2.0)(react@18.2.0) + rc-motion: 2.7.3(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /rc-upload@4.3.4(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-uVbtHFGNjHG/RyAfm9fluXB6pvArAGyAx8z7XzXXyorEgVIWj6mOlriuDm0XowDHYz4ycNK0nE0oP3cbFnzxiQ==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /rc-util@4.21.1: + resolution: {integrity: sha512-Z+vlkSQVc1l8O2UjR3WQ+XdWlhj5q9BMQNLk2iOBch75CqPfrJyGtcWMcnhRlNuDu0Ndtt4kLVO8JI8BrABobg==} + dependencies: + add-dom-event-listener: 1.1.0 + prop-types: 15.8.1 + react-is: 16.13.1 + react-lifecycles-compat: 3.0.4 + shallowequal: 1.1.0 + + /rc-util@5.32.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-nfwctiglkgaRjJAnWp0W6BH9Am0cuLOz5HbcBrswQVeLDwnuoholdGex/vZjwug/oq5H1wBwao12DpP61FI1yA==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-is: 16.13.1 + + /rc-util@5.38.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-e4ZMs7q9XqwTuhIK7zBIVFltUtMSjphuPPQXHoHlzRzNdOwUxDejo0Zls5HYaJfRKNURcsS/ceKVULlhjBrxng==} + peerDependencies: + react: '>=16.9.0' + react-dom: '>=16.9.0' + dependencies: + '@babel/runtime': 7.22.3 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-is: 18.2.0 + + /rc-virtual-list@3.5.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-sE2G9hTPjVmatQni8OP2Kx33+Oth6DMKm67OblBBmgMBJDJQOOFpSGH7KZ6Pm85rrI2IGxDRXZCr0QhYOH2pfQ==} + engines: {node: '>=8.x'} + peerDependencies: + react: '*' + react-dom: '*' + dependencies: + '@babel/runtime': 7.22.3 + classnames: 2.3.2 + rc-resize-observer: 1.3.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 5.32.2(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + + /react-color@2.17.1(react@18.2.0): + resolution: {integrity: sha512-S+I6TkUKJaqfALLkAIfiCZ/MANQyy7dKkf7g9ZU5GTUy2rf8c2Rx62otyvADAviWR+6HRkzdf2vL1Qvz9goCLQ==} + peerDependencies: + react: '*' + dependencies: + '@icons/material': 0.2.4(react@18.2.0) + lodash: 4.17.21 + material-colors: 1.2.6 + prop-types: 15.8.1 + react: 18.2.0 + reactcss: 1.2.3(react@18.2.0) + tinycolor2: 1.6.0 + dev: false + + /react-color@2.17.3(react@18.2.0): + resolution: {integrity: sha512-1dtO8LqAVotPIChlmo6kLtFS1FP89ll8/OiA8EcFRDR+ntcK+0ukJgByuIQHRtzvigf26dV5HklnxDIvhON9VQ==} + peerDependencies: + react: '*' + dependencies: + '@icons/material': 0.2.4(react@18.2.0) + lodash: 4.17.21 + material-colors: 1.2.6 + prop-types: 15.8.1 + react: 18.2.0 + reactcss: 1.2.3(react@18.2.0) + tinycolor2: 1.6.0 + dev: false + + /react-content-loader@5.1.4(react@18.2.0): + resolution: {integrity: sha512-hTq7pZi2GKCK6a9d3u6XStozm0QGCEjw8cSqQReiWnh2up6IwCha5R5TF0o6SY5qUDpByloEZEZtnFxpJyENFw==} + engines: {node: '>=10'} + peerDependencies: + react: '>=16.0.0' + dependencies: + react: 18.2.0 + dev: false + + /react-cookies@0.1.1: + resolution: {integrity: sha512-PP75kJ4vtoHuuTdq0TAD3RmlAv7vuDQh9fkC4oDlhntgs9vX1DmREomO0Y1mcQKR9nMZ6/zxoflaMJ3MAmF5KQ==} + dependencies: + cookie: 0.3.1 + object-assign: 4.1.1 + dev: false + + /react-dev-inspector@1.8.4(eslint@8.41.0)(react@18.2.0)(typescript@5.0.2)(webpack@5.84.1): + resolution: {integrity: sha512-+MpF43RHTKjkilQ4TgUfSgpVlJFKpL4uPc/0FBJAMNPICYxw27q81++AcBIThfxFmBgsFbMj3EKZwkaPZ43V7w==} + engines: {node: '>=12.0.0'} + peerDependencies: + react: '>=16.8.0' + dependencies: + '@babel/core': 7.22.1 + '@babel/generator': 7.22.3 + '@babel/parser': 7.22.3 + '@babel/traverse': 7.22.1(supports-color@5.5.0) + '@babel/types': 7.22.3 + hotkeys-js: 3.10.2 + loader-utils: 2.0.4 + querystring: 0.2.1 + react: 18.2.0 + react-dev-utils: 12.0.1(eslint@8.41.0)(typescript@5.0.2)(webpack@5.84.1) + transitivePeerDependencies: + - eslint + - supports-color + - typescript + - vue-template-compiler + - webpack + dev: false + + /react-dev-utils@12.0.1(eslint@8.41.0)(typescript@5.0.2)(webpack@5.84.1): + resolution: {integrity: sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=2.7' + webpack: '>=4' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@babel/code-frame': 7.21.4 + address: 1.2.2 + browserslist: 4.21.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + detect-port-alt: 1.1.6 + escape-string-regexp: 4.0.0 + filesize: 8.0.7 + find-up: 5.0.0 + fork-ts-checker-webpack-plugin: 6.5.3(eslint@8.41.0)(typescript@5.0.2)(webpack@5.84.1) + global-modules: 2.0.0 + globby: 11.1.0 + gzip-size: 6.0.0 + immer: 9.0.21 + is-root: 2.1.0 + loader-utils: 3.2.1 + open: 8.4.2 + pkg-up: 3.1.0 + prompts: 2.4.2 + react-error-overlay: 6.0.11 + recursive-readdir: 2.2.3 + shell-quote: 1.8.1 + strip-ansi: 6.0.1 + text-table: 0.2.0 + typescript: 5.0.2 + webpack: 5.84.1 + transitivePeerDependencies: + - eslint + - supports-color + - vue-template-compiler + dev: false + + /react-dom@18.1.0(react@18.1.0): + resolution: {integrity: sha512-fU1Txz7Budmvamp7bshe4Zi32d0ll7ect+ccxNu9FlObT605GOEB8BfO4tmRJ39R5Zj831VCpvQ05QPBW5yb+w==} + peerDependencies: + react: ^18.1.0 + dependencies: + loose-envify: 1.4.0 + react: 18.1.0 + scheduler: 0.22.0 + dev: true + + /react-dom@18.2.0(react@18.2.0): + resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} + peerDependencies: + react: ^18.2.0 + dependencies: + loose-envify: 1.4.0 + react: 18.2.0 + scheduler: 0.23.0 + + /react-error-overlay@6.0.11: + resolution: {integrity: sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==} + dev: false + + /react-error-overlay@6.0.9: + resolution: {integrity: sha512-nQTTcUu+ATDbrSD1BZHr5kgSD4oF8OFjxun8uAaL8RwPBacGBNPf/yAuVVdx17N8XNzRDMrZ9XcKZHCjPW+9ew==} + dev: true + + /react-fast-compare@3.2.2: + resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==} + + /react-helmet-async@1.3.0(react-dom@18.1.0)(react@18.1.0): + resolution: {integrity: sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==} + peerDependencies: + react: ^16.6.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@babel/runtime': 7.22.3 + invariant: 2.2.4 + prop-types: 15.8.1 + react: 18.1.0 + react-dom: 18.1.0(react@18.1.0) + react-fast-compare: 3.2.2 + shallowequal: 1.1.0 + dev: true + + /react-helmet-async@1.3.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-9jZ57/dAn9t3q6hneQS0wukqC2ENOBgMNVEhb/ZG9ZSxUetzVIw4iAmEU38IaVg3QGYauQPhSeUTuIUtFglWpg==} + peerDependencies: + react: ^16.6.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.6.0 || ^17.0.0 || ^18.0.0 + dependencies: + '@babel/runtime': 7.22.3 + invariant: 2.2.4 + prop-types: 15.8.1 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-fast-compare: 3.2.2 + shallowequal: 1.1.0 + + /react-intl@3.12.1(react@18.2.0): + resolution: {integrity: sha512-cgumW29mwROIqyp8NXStYsoIm27+8FqnxykiLSawWjOxGIBeLuN/+p2srei5SRIumcJefOkOIHP+NDck05RgHg==} + peerDependencies: + react: ^16.3.0 + dependencies: + '@formatjs/intl-displaynames': 1.2.10 + '@formatjs/intl-listformat': 1.4.8 + '@formatjs/intl-relativetimeformat': 4.5.16 + '@formatjs/intl-unified-numberformat': 3.3.7 + '@formatjs/intl-utils': 2.3.0 + '@types/hoist-non-react-statics': 3.3.1 + '@types/invariant': 2.2.35 + hoist-non-react-statics: 3.3.2 + intl-format-cache: 4.3.1 + intl-messageformat: 7.8.4 + intl-messageformat-parser: 3.6.4 + react: 18.2.0 + shallow-equal: 1.2.1 + dev: true + + /react-is@16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + + /react-is@17.0.2: + resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} + dev: true + + /react-is@18.2.0: + resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + + /react-lifecycles-compat@3.0.4: + resolution: {integrity: sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==} + + /react-merge-refs@1.1.0: + resolution: {integrity: sha512-alTKsjEL0dKH/ru1Iyn7vliS2QRcBp9zZPGoWxUOvRGWPUYgjo+V01is7p04It6KhgrzhJGnIj9GgX8W4bZoCQ==} + dev: true + + /react-native-swipeout@2.3.6: + resolution: {integrity: sha512-t9suUCspzck4vp2pWggWe0frS/QOtX6yYCawHnEes75A7dZCEE74bxX2A1bQzGH9cUMjq6xsdfC94RbiDKIkJg==} + deprecated: Package no longer supported. Use at your own risk or consider using https://github.com/software-mansion/react-native-gesture-handler + dependencies: + create-react-class: 15.7.0 + prop-types: 15.8.1 + react-tween-state: 0.1.5 + dev: true + + /react-redux@5.1.2(react@18.2.0)(redux@3.7.2): + resolution: {integrity: sha512-Ns1G0XXc8hDyH/OcBHOxNgQx9ayH3SPxBnFCOidGKSle8pKihysQw2rG/PmciUQRoclhVBO8HMhiRmGXnDja9Q==} + peerDependencies: + react: ^0.14.0 || ^15.0.0-0 || ^16.0.0-0 + redux: ^2.0.0 || ^3.0.0 || ^4.0.0-0 + dependencies: + '@babel/runtime': 7.22.3 + hoist-non-react-statics: 3.3.2 + invariant: 2.2.4 + loose-envify: 1.4.0 + prop-types: 15.8.1 + react: 18.2.0 + react-is: 16.13.1 + react-lifecycles-compat: 3.0.4 + redux: 3.7.2 + dev: true + + /react-redux@7.2.9(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-Gx4L3uM182jEEayZfRbI/G11ZpYdNAnBs70lFVMNdHJI76XYtR+7m0MN+eAs7UHBPhWXcnFPaS+9owSCJQHNpQ==} + peerDependencies: + react: ^16.8.3 || ^17 || ^18 + react-dom: '*' + react-native: '*' + peerDependenciesMeta: + react-dom: + optional: true + react-native: + optional: true + dependencies: + '@babel/runtime': 7.22.3 + '@types/react-redux': 7.1.25 + hoist-non-react-statics: 3.3.2 + loose-envify: 1.4.0 + prop-types: 15.8.1 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-is: 17.0.2 + dev: true + + /react-redux@8.0.5(@types/react-dom@18.2.4)(@types/react@18.2.7)(react-dom@18.2.0)(react@18.2.0)(redux@4.2.1): + resolution: {integrity: sha512-Q2f6fCKxPFpkXt1qNRZdEDLlScsDWyrgSj0mliK59qU6W5gvBiKkdMEG2lJzhd1rCctf0hb6EtePPLZ2e0m1uw==} + peerDependencies: + '@types/react': ^16.8 || ^17.0 || ^18.0 + '@types/react-dom': ^16.8 || ^17.0 || ^18.0 + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + react-native: '>=0.59' + redux: ^4 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + react-dom: + optional: true + react-native: + optional: true + redux: + optional: true + dependencies: + '@babel/runtime': 7.22.3 + '@types/hoist-non-react-statics': 3.3.1 + '@types/react': 18.2.7 + '@types/react-dom': 18.2.4 + '@types/use-sync-external-store': 0.0.3 + hoist-non-react-statics: 3.3.2 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-is: 18.2.0 + redux: 4.2.1 + use-sync-external-store: 1.2.0(react@18.2.0) + dev: true + + /react-refresh@0.14.0: + resolution: {integrity: sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==} + engines: {node: '>=0.10.0'} + dev: true + + /react-resize-detector@7.1.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-zXnPJ2m8+6oq9Nn8zsep/orts9vQv3elrpA+R8XTcW7DVVUJ9vwDwMXaBtykAYjMnkCIaOoK9vObyR7ZgFNlOw==} + peerDependencies: + react: ^16.0.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.0.0 || ^17.0.0 || ^18.0.0 + dependencies: + lodash: 4.17.21 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /react-router-dom@4.3.1(react@18.2.0): + resolution: {integrity: sha512-c/MlywfxDdCp7EnB7YfPMOfMD3tOtIjrQlj/CKfNMBxdmpJP8xcz5P/UAFn3JbnQCNUxsHyVVqllF9LhgVyFCA==} + peerDependencies: + react: '>=15' + dependencies: + history: 4.10.1 + invariant: 2.2.4 + loose-envify: 1.4.0 + prop-types: 15.8.1 + react: 18.2.0 + react-router: 4.3.1(react@18.2.0) + warning: 4.0.3 + dev: true + + /react-router-dom@6.11.2(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-JNbKtAeh1VSJQnH6RvBDNhxNwemRj7KxCzc5jb7zvDSKRnPWIFj9pO+eXqjM69gQJ0r46hSz1x4l9y0651DKWw==} + engines: {node: '>=14'} + peerDependencies: + react: '>=16.8' + react-dom: '>=16.8' + dependencies: + '@remix-run/router': 1.6.2 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-router: 6.11.2(react@18.2.0) + dev: true + + /react-router-dom@6.3.0(react-dom@18.1.0)(react@18.1.0): + resolution: {integrity: sha512-uaJj7LKytRxZNQV8+RbzJWnJ8K2nPsOOEuX7aQstlMZKQT0164C+X2w6bnkqU3sjtLvpd5ojrezAyfZ1+0sStw==} + peerDependencies: + react: '>=16.8' + react-dom: '>=16.8' + dependencies: + history: 5.3.0 + react: 18.1.0 + react-dom: 18.1.0(react@18.1.0) + react-router: 6.3.0(react@18.1.0) + dev: true + + /react-router-dom@6.3.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-uaJj7LKytRxZNQV8+RbzJWnJ8K2nPsOOEuX7aQstlMZKQT0164C+X2w6bnkqU3sjtLvpd5ojrezAyfZ1+0sStw==} + peerDependencies: + react: '>=16.8' + react-dom: '>=16.8' + dependencies: + history: 5.3.0 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-router: 6.3.0(react@18.2.0) + dev: true + + /react-router-redux@5.0.0-alpha.9(react@18.2.0): + resolution: {integrity: sha512-euSgNIANnRXr4GydIuwA7RZCefrLQzIw5WdXspS8NPYbV+FxrKSS9MKG7U9vb6vsKHONnA4VxrVNWfnMUnUQAw==} + deprecated: This project is no longer maintained. + peerDependencies: + react: '>=15' + dependencies: + history: 4.10.1 + prop-types: 15.8.1 + react: 18.2.0 + react-router: 4.3.1(react@18.2.0) + dev: true + + /react-router@4.3.1(react@18.2.0): + resolution: {integrity: sha512-yrvL8AogDh2X42Dt9iknk4wF4V8bWREPirFfS9gLU1huk6qK41sg7Z/1S81jjTrGHxa3B8R3J6xIkDAA6CVarg==} + peerDependencies: + react: '>=15' + dependencies: + history: 4.10.1 + hoist-non-react-statics: 2.5.5 + invariant: 2.2.4 + loose-envify: 1.4.0 + path-to-regexp: 1.8.0 + prop-types: 15.8.1 + react: 18.2.0 + warning: 4.0.3 + dev: true + + /react-router@6.11.2(react@18.2.0): + resolution: {integrity: sha512-74z9xUSaSX07t3LM+pS6Un0T55ibUE/79CzfZpy5wsPDZaea1F8QkrsiyRnA2YQ7LwE/umaydzXZV80iDCPkMg==} + engines: {node: '>=14'} + peerDependencies: + react: '>=16.8' + dependencies: + '@remix-run/router': 1.6.2 + react: 18.2.0 + dev: true + + /react-router@6.3.0(react@18.1.0): + resolution: {integrity: sha512-7Wh1DzVQ+tlFjkeo+ujvjSqSJmkt1+8JO+T5xklPlgrh70y7ogx75ODRW0ThWhY7S+6yEDks8TYrtQe/aoboBQ==} + peerDependencies: + react: '>=16.8' + dependencies: + history: 5.3.0 + react: 18.1.0 + dev: true + + /react-router@6.3.0(react@18.2.0): + resolution: {integrity: sha512-7Wh1DzVQ+tlFjkeo+ujvjSqSJmkt1+8JO+T5xklPlgrh70y7ogx75ODRW0ThWhY7S+6yEDks8TYrtQe/aoboBQ==} + peerDependencies: + react: '>=16.8' + dependencies: + history: 5.3.0 + react: 18.2.0 + dev: true + + /react-tween-state@0.1.5: + resolution: {integrity: sha512-sJQpjsdn0wjlDIUpfpb7jQGnOG8hAEW2e8k0KPA+xmf5KFa6Xat2JldbmxBhaqP0S/uIXhVE5ymKyH/b9X8nYA==} + dependencies: + raf: 3.4.1 + tween-functions: 1.2.0 + dev: true + + /react-universal-interface@0.6.2(react@18.2.0)(tslib@2.5.2): + resolution: {integrity: sha512-dg8yXdcQmvgR13RIlZbTRQOoUrDciFVoSBZILwjE2LFISxZZ8loVJKAkuzswl5js8BHda79bIb2b84ehU8IjXw==} + peerDependencies: + react: '*' + tslib: '*' + dependencies: + react: 18.2.0 + tslib: 2.5.2 + dev: false + + /react-use@17.3.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-hs7+tS4rRm1QLHPfanLCqXIi632tP4V7Sai1ENUP2WTufU6am++tU9uSw9YrNCFqbABiEv0ndKU1XCUcfu2tXA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 + react-dom: ^16.8.0 || ^17.0.0 + dependencies: + '@types/js-cookie': 2.2.7 + '@xobotyi/scrollbar-width': 1.9.5 + copy-to-clipboard: 3.3.3 + fast-deep-equal: 3.1.3 + fast-shallow-equal: 1.0.0 + js-cookie: 2.2.1 + nano-css: 5.6.1(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-universal-interface: 0.6.2(react@18.2.0)(tslib@2.5.2) + resize-observer-polyfill: 1.5.1 + screenfull: 5.2.0 + set-harmonic-interval: 1.0.1 + throttle-debounce: 3.0.1 + ts-easing: 0.2.0 + tslib: 2.5.2 + dev: false + + /react@18.1.0: + resolution: {integrity: sha512-4oL8ivCz5ZEPyclFQXaNksK3adutVS8l2xzZU0cqEFrE9Sb7fC0EFK5uEk74wIreL1DERyjvsU915j1pcT2uEQ==} + engines: {node: '>=0.10.0'} + dependencies: + loose-envify: 1.4.0 + dev: true + + /react@18.2.0: + resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} + engines: {node: '>=0.10.0'} + dependencies: + loose-envify: 1.4.0 + + /reactcss@1.2.3(react@18.2.0): + resolution: {integrity: sha512-KiwVUcFu1RErkI97ywr8nvx8dNOpT03rbnma0SSalTYjkrPYaEajR4a/MRt6DZ46K6arDRbWMNHF+xH7G7n/8A==} + peerDependencies: + react: '*' + dependencies: + lodash: 4.17.21 + react: 18.2.0 + + /read-pkg-up@7.0.1: + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} + dependencies: + find-up: 4.1.0 + read-pkg: 5.2.0 + type-fest: 0.8.1 + dev: true + + /read-pkg@5.2.0: + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} + dependencies: + '@types/normalize-package-data': 2.4.1 + normalize-package-data: 2.5.0 + parse-json: 5.2.0 + type-fest: 0.6.0 + dev: true + + /readable-stream@1.1.14: + resolution: {integrity: sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ==} + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 0.0.1 + string_decoder: 0.10.31 + dev: true + + /readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + dev: true + + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + + /readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + + /real-require@0.1.0: + resolution: {integrity: sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg==} + engines: {node: '>= 12.13.0'} + dev: true + + /recursive-readdir@2.2.3: + resolution: {integrity: sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==} + engines: {node: '>=6.0.0'} + dependencies: + minimatch: 3.1.2 + dev: false + + /redent@3.0.0: + resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} + engines: {node: '>=8'} + dependencies: + indent-string: 4.0.0 + strip-indent: 3.0.0 + dev: true + + /redux-saga@0.16.2: + resolution: {integrity: sha512-iIjKnRThI5sKPEASpUvySemjzwqwI13e3qP7oLub+FycCRDysLSAOwt958niZW6LhxfmS6Qm1BzbU70w/Koc4w==} + dev: true + + /redux@3.7.2: + resolution: {integrity: sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A==} + dependencies: + lodash: 4.17.21 + lodash-es: 4.17.21 + loose-envify: 1.4.0 + symbol-observable: 1.2.0 + dev: true + + /redux@4.2.1: + resolution: {integrity: sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==} + dependencies: + '@babel/runtime': 7.22.3 + dev: true + + /reflect-metadata@0.1.14: + resolution: {integrity: sha512-ZhYeb6nRaXCfhnndflDK8qI6ZQ/YcWZCISRAWICW9XYqMUwjZM9Z0DveWX/ABN01oxSHwVxKQmxeYZSsm0jh5A==} + dev: false + + /reflect-metadata@0.2.1: + resolution: {integrity: sha512-i5lLI6iw9AU3Uu4szRNPPEkomnkjRTaVt9hy/bn5g/oSzekBSMeLZblcjP74AW0vBabqERLLIrz+gR8QYR54Tw==} + dev: false + + /reflect.getprototypeof@1.0.3: + resolution: {integrity: sha512-TTAOZpkJ2YLxl7mVHWrNo3iDMEkYlva/kgFcXndqMgbo/AZUmmavEkdXV+hXtE4P8xdyEKRzalaFqZVuwIk/Nw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + get-intrinsic: 1.2.1 + globalthis: 1.0.3 + which-builtin-type: 1.1.3 + dev: true + + /reftools@1.1.9: + resolution: {integrity: sha512-OVede/NQE13xBQ+ob5CKd5KyeJYU2YInb1bmV4nRoOfquZPkAkxuOXicSe1PvqIuZZ4kD13sPKBbR7UFDmli6w==} + dev: true + + /regenerate-unicode-properties@10.1.0: + resolution: {integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==} + engines: {node: '>=4'} + dependencies: + regenerate: 1.4.2 + dev: true + + /regenerate@1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + dev: true + + /regenerator-runtime@0.11.1: + resolution: {integrity: sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==} + dev: true + + /regenerator-runtime@0.13.11: + resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} + + /regenerator-transform@0.15.1: + resolution: {integrity: sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==} + dependencies: + '@babel/runtime': 7.22.3 + dev: true + + /regexp-tree@0.1.27: + resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} + hasBin: true + dev: true + + /regexp.prototype.flags@1.5.0: + resolution: {integrity: sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + functions-have-names: 1.2.3 + dev: true + + /regexp.prototype.flags@1.5.1: + resolution: {integrity: sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + set-function-name: 2.0.1 + dev: false + + /regexpp@3.2.0: + resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} + engines: {node: '>=8'} + dev: true + + /regexpu-core@5.3.2: + resolution: {integrity: sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==} + engines: {node: '>=4'} + dependencies: + '@babel/regjsgen': 0.8.0 + regenerate: 1.4.2 + regenerate-unicode-properties: 10.1.0 + regjsparser: 0.9.1 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.1.0 + dev: true + + /regjsparser@0.9.1: + resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} + hasBin: true + dependencies: + jsesc: 0.5.0 + dev: true + + /regl@1.6.1: + resolution: {integrity: sha512-7Z9rmpEqmLNwC9kCYCyfyu47eWZaQWeNpwZfwz99QueXN8B/Ow40DB0N+OeUeM/yu9pZAB01+JgJ+XghGveVoA==} + dev: false + + /regl@1.7.0: + resolution: {integrity: sha512-bEAtp/qrtKucxXSJkD4ebopFZYP0q1+3Vb2WECWv/T8yQEgKxDxJ7ztO285tAMaYZVR6mM1GgI6CCn8FROtL1w==} + dev: false + + /relateurl@0.2.7: + resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} + engines: {node: '>= 0.10'} + dev: true + + /remark-parse@9.0.0: + resolution: {integrity: sha512-geKatMwSzEXKHuzBNU1z676sGcDcFoChMK38TgdHJNAYfFtsfHDQG7MoJAjs6sgYMqyLduCYWDIWZIxiPeafEw==} + dependencies: + mdast-util-from-markdown: 0.8.5 + transitivePeerDependencies: + - supports-color + dev: true + + /remark-stringify@9.0.1: + resolution: {integrity: sha512-mWmNg3ZtESvZS8fv5PTvaPckdL4iNlCHTt8/e/8oN08nArHRHjNZMKzA/YW3+p7/lYqIw4nx1XsjCBo/AxNChg==} + dependencies: + mdast-util-to-markdown: 0.6.5 + dev: true + + /remark@13.0.0: + resolution: {integrity: sha512-HDz1+IKGtOyWN+QgBiAT0kn+2s6ovOxHyPAFGKVE81VSzJ+mq7RwHFledEvB5F1p4iJvOah/LOKdFuzvRnNLCA==} + dependencies: + remark-parse: 9.0.0 + remark-stringify: 9.0.1 + unified: 9.2.2 + transitivePeerDependencies: + - supports-color + dev: true + + /remove-accents@0.4.2: + resolution: {integrity: sha512-7pXIJqJOq5tFgG1A2Zxti3Ht8jJF337m4sowbuHsW30ZnkQFnDzy9qBNhgzX8ZLW4+UBcXiiR7SwR6pokHsxiA==} + dev: true + + /renderkid@3.0.0: + resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==} + dependencies: + css-select: 4.3.0 + dom-converter: 0.2.0 + htmlparser2: 6.1.0 + lodash: 4.17.21 + strip-ansi: 6.0.1 + dev: true + + /repeat-string@1.6.1: + resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} + engines: {node: '>=0.10'} + + /request@2.88.2: + resolution: {integrity: sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==} + engines: {node: '>= 6'} + deprecated: request has been deprecated, see https://github.com/request/request/issues/3142 + dependencies: + aws-sign2: 0.7.0 + aws4: 1.12.0 + caseless: 0.12.0 + combined-stream: 1.0.8 + extend: 3.0.2 + forever-agent: 0.6.1 + form-data: 2.3.3 + har-validator: 5.1.5 + http-signature: 1.2.0 + is-typedarray: 1.0.0 + isstream: 0.1.2 + json-stringify-safe: 5.0.1 + mime-types: 2.1.35 + oauth-sign: 0.9.0 + performance-now: 2.1.0 + qs: 6.5.3 + safe-buffer: 5.2.1 + tough-cookie: 2.5.0 + tunnel-agent: 0.6.0 + uuid: 3.4.0 + dev: true + + /require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + dev: true + + /require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + dev: true + + /requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + + /reserved-words@0.1.2: + resolution: {integrity: sha512-0S5SrIUJ9LfpbVl4Yzij6VipUdafHrOTzvmfazSw/jeZrZtQK303OPZW+obtkaw7jQlTQppy0UvZWm9872PbRw==} + dev: true + + /resize-observer-polyfill@1.5.1: + resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==} + + /resolve-cwd@3.0.0: + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} + dependencies: + resolve-from: 5.0.0 + dev: true + + /resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + /resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + dev: true + + /resolve-pathname@3.0.0: + resolution: {integrity: sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==} + dev: true + + /resolve-protobuf-schema@2.1.0: + resolution: {integrity: sha512-kI5ffTiZWmJaS/huM8wZfEMer1eRd7oJQhDuxeCLe3t7N7mX3z94CN0xPxBQxFYQTSNz9T0i+v6inKqSdK8xrQ==} + dependencies: + protocol-buffers-schema: 3.6.0 + dev: false + + /resolve.exports@2.0.2: + resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} + engines: {node: '>=10'} + dev: true + + /resolve@1.22.2: + resolution: {integrity: sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==} + hasBin: true + dependencies: + is-core-module: 2.12.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + /resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: false + + /resolve@2.0.0-next.4: + resolution: {integrity: sha512-iMDbmAWtfU+MHpxt/I5iWI7cY6YVEZUQ3MBgPQ++XD1PELuJHIl82xBmObyP2KyQmkNB2dsqF7seoQQiAn5yDQ==} + hasBin: true + dependencies: + is-core-module: 2.12.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /restore-cursor@3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + dev: true + + /reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + /rfdc@1.3.0: + resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} + dev: true + + /right-align@0.1.3: + resolution: {integrity: sha512-yqINtL/G7vs2v+dFIZmFUDbnVyFUJFKd6gK22Kgo6R4jfJGFtisKyncWDDULgjfqf4ASQuIQyjJ7XZ+3aWpsAg==} + engines: {node: '>=0.10.0'} + dependencies: + align-text: 0.1.4 + dev: false + + /rimraf@2.7.1: + resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} + hasBin: true + dependencies: + glob: 7.2.3 + dev: true + + /rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + dependencies: + glob: 7.2.3 + + /rimraf@4.4.1: + resolution: {integrity: sha512-Gk8NlF062+T9CqNGn6h4tls3k6T1+/nXdOcSZVikNVtlRdYpA7wRJJMoXmuvOnLW844rPjdQ7JgXCYM6PPC/og==} + engines: {node: '>=14'} + hasBin: true + dependencies: + glob: 9.3.5 + dev: true + + /ripemd160@2.0.2: + resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} + dependencies: + hash-base: 3.1.0 + inherits: 2.0.4 + dev: true + + /rmc-align@1.0.0: + resolution: {integrity: sha512-3gEa5/+hqqoEVoeQ25KoRc8DOsXIdSaVpaBq1zQFaV941LR3xvZIRTlxTDT/IagYwoGM1KZea/jd7cNMYP34Rg==} + dependencies: + babel-runtime: 6.26.0 + dom-align: 1.12.4 + rc-util: 4.21.1 + dev: true + + /rmc-calendar@1.1.4(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-xxQZaPFDnpHt4IFO8mukYrXSgC1W8LcNVp+EoX4iyeOJFimungOKB/iP5/cy+st8yXq8lUgk9TXsHNtM6Xo6ZA==} + dependencies: + babel-runtime: 6.26.0 + rc-animate: 2.11.1(react-dom@18.2.0)(react@18.2.0) + rmc-date-picker: 6.0.10(react-dom@18.2.0)(react@18.2.0) + transitivePeerDependencies: + - react + - react-dom + dev: true + + /rmc-cascader@5.0.3(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-PxDhMjWViDdG4SMZqoXtAthGwgDyYnyxxZEE17IDDYsiCHpWtOhoIL8nsI+/hZ212UT/XF2LpqCsOlMoJiYk+w==} + dependencies: + array-tree-filter: 2.1.0 + babel-runtime: 6.26.0 + rmc-picker: 5.0.10(react-dom@18.2.0)(react@18.2.0) + transitivePeerDependencies: + - react + - react-dom + dev: true + + /rmc-date-picker@6.0.10(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-/9+I6lm3EDEl6M7862V6++zFuxwsM0UEq8wSHbotYIPPmyB/65gx1cviblghOv2QfB0O9+U2w3qEJlRP/WsMrA==} + dependencies: + babel-runtime: 6.26.0 + rmc-picker: 5.0.10(react-dom@18.2.0)(react@18.2.0) + transitivePeerDependencies: + - react + - react-dom + dev: true + + /rmc-dialog@1.1.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-28aJqtPTX6v13Z/aU1WBy1AFIXkE74PxZXde7JvtEIy9hQDTjH8fqOi822BpzAbXCyNE7jF9iFomy3H2ClsDJA==} + dependencies: + babel-runtime: 6.26.0 + rc-animate: 2.11.1(react-dom@18.2.0)(react@18.2.0) + transitivePeerDependencies: + - react + - react-dom + dev: true + + /rmc-drawer@0.4.11: + resolution: {integrity: sha512-YfB9XEJ8iM0MMuLWAK4313uOxSM8NAljC8Cqun1KamXutglYTuRviUuTLNSOzV8HHPp5kNpsVduvPCGLWXvThw==} + engines: {node: '>=4.0.0'} + dependencies: + babel-runtime: 6.26.0 + classnames: 2.3.2 + prop-types: 15.8.1 + dev: true + + /rmc-feedback@2.0.0: + resolution: {integrity: sha512-5PWOGOW7VXks/l3JzlOU9NIxRpuaSS8d9zA3UULUCuTKnpwBHNvv1jSJzxgbbCQeYzROWUpgKI4za3X4C/mKmQ==} + dependencies: + babel-runtime: 6.26.0 + classnames: 2.3.2 + dev: true + + /rmc-input-number@1.0.5: + resolution: {integrity: sha512-prPkEtoOVde77GnEnEaBeWjBobMOPgGqU5bd0gxfp1kt1pUN740mMpVAcH7uxpJjVfmw+kuGWtiz4S7CueagSg==} + dependencies: + babel-runtime: 6.26.0 + classnames: 2.3.2 + rmc-feedback: 2.0.0 + dev: true + + /rmc-list-view@0.11.5: + resolution: {integrity: sha512-eMOC5394tLNawcdEEhF7boMpQgpjJGDdL5lS+LblAWdBec7Q4EYkUdnrKNbt+O9k5RGM6nSLAGZK5oB4FN85Lg==} + dependencies: + babel-runtime: 6.26.0 + classnames: 2.3.2 + fbjs: 0.8.18 + prop-types: 15.8.1 + warning: 3.0.0 + zscroller: 0.4.8 + dev: true + + /rmc-notification@1.0.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-9sPxjltFvtRLt2v312Hu7OXwk53pHkBYgINRDmnJ3A5NF1qtJeCCcdN0Xr0fzJ6sbQvtGju822tWHdzYA9u7Vw==} + dependencies: + babel-runtime: 6.26.0 + classnames: 2.3.2 + prop-types: 15.8.1 + rc-animate: 2.11.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 4.21.1 + transitivePeerDependencies: + - react + - react-dom + dev: true + + /rmc-nuka-carousel@3.0.1: + resolution: {integrity: sha512-w2EPTERMUUZqcUSKFuejjin7xsMlhrLrtS0A/igTXpFJGq3kemDKcRi7q3pSYDuZBHYBl5iV4UqsLLkjdFtrYA==} + dependencies: + exenv: 1.2.2 + raf: 3.4.1 + dev: true + + /rmc-picker@5.0.10(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-KZ70+WjcaZHnG5GyCxWCPFWAZ12s6NqyrbW73LeqH0WEqaTMMs0sOrk2f4mQAZ/CGT0XcFN6VZLw7Ozoxfn7LA==} + dependencies: + babel-runtime: 6.26.0 + classnames: 2.3.2 + rmc-dialog: 1.1.1(react-dom@18.2.0)(react@18.2.0) + rmc-feedback: 2.0.0 + transitivePeerDependencies: + - react + - react-dom + dev: true + + /rmc-pull-to-refresh@1.0.13: + resolution: {integrity: sha512-iYLsURiR7G/sKmRA6p2kq6ZXicn7Hyeo6VQFljssV1eMW+fzDgihhaz0kv5mza0f88vphGJvjOihT9E6+xGb6Q==} + dependencies: + babel-runtime: 6.26.0 + classnames: 2.3.2 + dev: true + + /rmc-steps@1.0.1: + resolution: {integrity: sha512-8ijtwp4D1CYTtI2yerXJYqCv+GQbiBc9T12nrFngd/vM0y+58CnznGphTAueF6IWf7qbxBwcjTrcFgg7bP2YGA==} + dependencies: + babel-runtime: 6.26.0 + classnames: 2.3.2 + dev: true + + /rmc-tabs@1.2.29: + resolution: {integrity: sha512-wiJS9WSJi9JH9GQO+FqncX+zaHP31qHa/S8nDW9UXUx0qbCX294QcJEnvfB+WmsfUws7rXjs6sOQp5EDiObnHg==} + dependencies: + babel-runtime: 6.26.0 + rc-gesture: 0.0.22 + dev: true + + /rmc-tooltip@1.0.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-fSDArf2BlMVrHExmBiqb2TkCRJHshvXFJQ/7tMraLellwaJLNiwrxtWpW329k3S+zTtoVG8UxFS1TjBGEsMzRg==} + dependencies: + babel-runtime: 6.26.0 + rmc-trigger: 1.0.12(react-dom@18.2.0)(react@18.2.0) + transitivePeerDependencies: + - react + - react-dom + dev: true + + /rmc-trigger@1.0.12(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-AccQniX7PX7Pm8hBhHEsnf3JU6CA61Xc7fAt2WbO+oXrGaI/jqN8C3COhhOXG54S5iTOjLS26j858zshwAxR9A==} + dependencies: + babel-runtime: 6.26.0 + rc-animate: 2.11.1(react-dom@18.2.0)(react@18.2.0) + rc-util: 4.21.1 + rmc-align: 1.0.0 + transitivePeerDependencies: + - react + - react-dom + dev: true + + /robust-predicates@3.0.2: + resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} + dev: false + + /rollup-plugin-visualizer@5.9.0: + resolution: {integrity: sha512-bbDOv47+Bw4C/cgs0czZqfm8L82xOZssk4ayZjG40y9zbXclNk7YikrZTDao6p7+HDiGxrN0b65SgZiVm9k1Cg==} + engines: {node: '>=14'} + hasBin: true + peerDependencies: + rollup: 2.x || 3.x + peerDependenciesMeta: + rollup: + optional: true + dependencies: + open: 8.4.2 + picomatch: 2.3.1 + source-map: 0.7.4 + yargs: 17.7.2 + dev: true + + /rollup@0.25.8: + resolution: {integrity: sha512-a2S4Bh3bgrdO4BhKr2E4nZkjTvrJ2m2bWjMTzVYtoqSCn0HnuxosXnaJUHrMEziOWr3CzL9GjilQQKcyCQpJoA==} + hasBin: true + dependencies: + chalk: 1.1.3 + minimist: 1.2.8 + source-map-support: 0.3.3 + dev: false + + /rollup@3.23.0: + resolution: {integrity: sha512-h31UlwEi7FHihLe1zbk+3Q7z1k/84rb9BSwmBSr/XjOCEaBJ2YyedQDuM0t/kfOS0IxM+vk1/zI9XxYj9V+NJQ==} + engines: {node: '>=14.18.0', npm: '>=8.0.0'} + hasBin: true + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /rtl-css-js@1.16.1: + resolution: {integrity: sha512-lRQgou1mu19e+Ya0LsTvKrVJ5TYUbqCVPAiImX3UfLTenarvPUl1QFdvu5Z3PYmHT9RCcwIfbjRQBntExyj3Zg==} + dependencies: + '@babel/runtime': 7.22.3 + dev: false + + /run-applescript@5.0.0: + resolution: {integrity: sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==} + engines: {node: '>=12'} + dependencies: + execa: 5.1.1 + dev: true + + /run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + + /rust-result@1.0.0: + resolution: {integrity: sha512-6cJzSBU+J/RJCF063onnQf0cDUOHs9uZI1oroSGnHOph+CQTIJ5Pp2hK5kEQq1+7yE/EEWfulSNXAQ2jikPthA==} + dependencies: + individual: 2.0.0 + dev: false + + /rw@1.3.3: + resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==} + dev: false + + /rxjs@6.6.7: + resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==} + engines: {npm: '>=2.0.0'} + dependencies: + tslib: 1.14.1 + dev: false + + /rxjs@7.8.1: + resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} + dependencies: + tslib: 2.5.2 + dev: true + + /safe-array-concat@1.0.1: + resolution: {integrity: sha512-6XbUAseYE2KtOuGueyeobCySj9L4+66Tn6KQMOPQJrAJEowYKW/YR/MGJZl7FdydUdaFu4LYyDZjxf4/Nmo23Q==} + engines: {node: '>=0.4'} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + has-symbols: 1.0.3 + isarray: 2.0.5 + dev: false + + /safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + dev: true + + /safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + /safe-json-parse@4.0.0: + resolution: {integrity: sha512-RjZPPHugjK0TOzFrLZ8inw44s9bKox99/0AZW9o/BEQVrJfhI+fIHMErnPyRa89/yRXUUr93q+tiN6zhoVV4wQ==} + dependencies: + rust-result: 1.0.0 + dev: false + + /safe-regex-test@1.0.0: + resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + is-regex: 1.1.4 + + /safe-regex@2.1.1: + resolution: {integrity: sha512-rx+x8AMzKb5Q5lQ95Zoi6ZbJqwCLkqi3XuJXp5P3rT8OEc6sZCJG5AE5dU3lsgRr/F4Bs31jSlVN+j5KrsGu9A==} + dependencies: + regexp-tree: 0.1.27 + dev: true + + /safe-stable-stringify@2.4.3: + resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} + engines: {node: '>=10'} + + /safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + /sax@1.2.4: + resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} + dev: true + optional: true + + /saxes@5.0.1: + resolution: {integrity: sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==} + engines: {node: '>=10'} + dependencies: + xmlchars: 2.2.0 + dev: false + + /saxes@6.0.0: + resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} + engines: {node: '>=v12.22.7'} + dependencies: + xmlchars: 2.2.0 + dev: true + + /scheduler@0.22.0: + resolution: {integrity: sha512-6QAm1BgQI88NPYymgGQLCZgvep4FyePDWFpXVK+zNSUgHwlqpJy8VEh8Et0KxTACS4VWwMousBElAZOH9nkkoQ==} + dependencies: + loose-envify: 1.4.0 + dev: true + + /scheduler@0.23.0: + resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + dependencies: + loose-envify: 1.4.0 + + /schema-utils@2.7.0: + resolution: {integrity: sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==} + engines: {node: '>= 8.9.0'} + dependencies: + '@types/json-schema': 7.0.12 + ajv: 6.12.6 + ajv-keywords: 3.5.2(ajv@6.12.6) + dev: false + + /schema-utils@3.1.2: + resolution: {integrity: sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==} + engines: {node: '>= 10.13.0'} + dependencies: + '@types/json-schema': 7.0.12 + ajv: 6.12.6 + ajv-keywords: 3.5.2(ajv@6.12.6) + + /screenfull@5.2.0: + resolution: {integrity: sha512-9BakfsO2aUQN2K9Fdbj87RJIEZ82Q9IGim7FqM5OsebfoFC6ZHXgDq/KvniuLTPdeM8wY2o6Dj3WQ7KeQCj3cA==} + engines: {node: '>=0.10.0'} + + /scroll-into-view-if-needed@2.2.31: + resolution: {integrity: sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==} + dependencies: + compute-scroll-into-view: 1.0.20 + dev: true + + /scroll-into-view-if-needed@3.0.10: + resolution: {integrity: sha512-t44QCeDKAPf1mtQH3fYpWz8IM/DyvHLjs8wUvvwMYxk5moOqCzrMSxK6HQVD0QVmVjXFavoFIPRVrMuJPKAvtg==} + dependencies: + compute-scroll-into-view: 3.0.3 + + /select-hose@2.0.0: + resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} + dev: true + + /semver-compare@1.0.0: + resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} + dev: true + + /semver@5.7.1: + resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} + hasBin: true + dev: true + + /semver@6.3.0: + resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} + hasBin: true + + /semver@7.3.5: + resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /semver@7.5.1: + resolution: {integrity: sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + + /send@0.18.0: + resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} + engines: {node: '>= 0.8.0'} + dependencies: + debug: 2.6.9 + depd: 2.0.0 + destroy: 1.2.0 + encodeurl: 1.0.2 + escape-html: 1.0.3 + etag: 1.8.1 + fresh: 0.5.2 + http-errors: 2.0.0 + mime: 1.6.0 + ms: 2.1.3 + on-finished: 2.4.1 + range-parser: 1.2.1 + statuses: 2.0.1 + transitivePeerDependencies: + - supports-color + dev: true + + /serialize-javascript@6.0.1: + resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==} + dependencies: + randombytes: 2.1.0 + + /serve-static@1.15.0: + resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} + engines: {node: '>= 0.8.0'} + dependencies: + encodeurl: 1.0.2 + escape-html: 1.0.3 + parseurl: 1.3.3 + send: 0.18.0 + transitivePeerDependencies: + - supports-color + dev: true + + /set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + dev: false + optional: true + + /set-function-length@1.1.1: + resolution: {integrity: sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + get-intrinsic: 1.2.2 + gopd: 1.0.1 + has-property-descriptors: 1.0.0 + + /set-function-name@2.0.1: + resolution: {integrity: sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.1 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.0 + dev: false + + /set-harmonic-interval@1.0.1: + resolution: {integrity: sha512-AhICkFV84tBP1aWqPwLZqFvAwqEoVA9kxNMniGEUvzOlm4vLmOFLiTT3UZ6bziJTy4bOVpzWGTfSCbmaayGx8g==} + engines: {node: '>=6.9'} + dev: false + + /set-value@2.0.1: + resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==} + engines: {node: '>=0.10.0'} + dependencies: + extend-shallow: 2.0.1 + is-extendable: 0.1.1 + is-plain-object: 2.0.4 + split-string: 3.1.0 + dev: false + + /setimmediate@1.0.5: + resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} + dev: true + + /setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + dev: true + + /sha.js@2.4.11: + resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} + hasBin: true + dependencies: + inherits: 2.0.4 + safe-buffer: 5.2.1 + dev: true + + /shallow-equal@1.2.1: + resolution: {integrity: sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==} + dev: true + + /shallowequal@1.1.0: + resolution: {integrity: sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==} + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + /shell-quote@1.8.1: + resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} + dev: false + + /should-equal@2.0.0: + resolution: {integrity: sha512-ZP36TMrK9euEuWQYBig9W55WPC7uo37qzAEmbjHz4gfyuXrEUgF8cUvQVO+w+d3OMfPvSRQJ22lSm8MQJ43LTA==} + dependencies: + should-type: 1.4.0 + dev: true + + /should-format@3.0.3: + resolution: {integrity: sha512-hZ58adtulAk0gKtua7QxevgUaXTTXxIi8t41L3zo9AHvjXO1/7sdLECuHeIN2SRtYXpNkmhoUP2pdeWgricQ+Q==} + dependencies: + should-type: 1.4.0 + should-type-adaptors: 1.1.0 + dev: true + + /should-type-adaptors@1.1.0: + resolution: {integrity: sha512-JA4hdoLnN+kebEp2Vs8eBe9g7uy0zbRo+RMcU0EsNy+R+k049Ki+N5tT5Jagst2g7EAja+euFuoXFCa8vIklfA==} + dependencies: + should-type: 1.4.0 + should-util: 1.0.1 + dev: true + + /should-type@1.4.0: + resolution: {integrity: sha512-MdAsTu3n25yDbIe1NeN69G4n6mUnJGtSJHygX3+oN0ZbO3DTiATnf7XnYJdGT42JCXurTb1JI0qOBR65shvhPQ==} + dev: true + + /should-util@1.0.1: + resolution: {integrity: sha512-oXF8tfxx5cDk8r2kYqlkUJzZpDBqVY/II2WhvU0n9Y3XYvAYRmeaf1PvvIvTgPnv4KJ+ES5M0PyDq5Jp+Ygy2g==} + dev: true + + /should@13.2.3: + resolution: {integrity: sha512-ggLesLtu2xp+ZxI+ysJTmNjh2U0TsC+rQ/pfED9bUZZ4DKefP27D+7YJVVTvKsmjLpIi9jAa7itwDGkDDmt1GQ==} + dependencies: + should-equal: 2.0.0 + should-format: 3.0.3 + should-type: 1.4.0 + should-type-adaptors: 1.1.0 + should-util: 1.0.1 + dev: true + + /side-channel@1.0.4: + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + object-inspect: 1.13.1 + + /signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + /simple-concat@1.0.1: + resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} + dev: false + optional: true + + /simple-get@3.1.1: + resolution: {integrity: sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==} + dependencies: + decompress-response: 4.2.1 + once: 1.4.0 + simple-concat: 1.0.1 + dev: false + optional: true + + /simple-swizzle@0.2.2: + resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + dependencies: + is-arrayish: 0.3.2 + dev: false + + /single-spa@5.9.4: + resolution: {integrity: sha512-QkEoh0AzGuU82qnbUUk0ydF78QbU5wMKqKKJn7uUQfBiOYlRQEfIOpLM4m23Sab+kTOLI1kbYhYeiQ7fX5KVVw==} + dev: true + + /sirv@2.0.4: + resolution: {integrity: sha512-94Bdh3cC2PKrbgSOUqTiGPWVZeSiXfKOVZNJniWoqrWrRkB1CJzBU3NEbiTsPcYy1lDsANA/THzS+9WBiy5nfQ==} + engines: {node: '>= 10'} + dependencies: + '@polka/url': 1.0.0-next.24 + mrmime: 2.0.0 + totalist: 3.0.1 + dev: false + + /sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + + /size-sensor@1.0.2: + resolution: {integrity: sha512-2NCmWxY7A9pYKGXNBfteo4hy14gWu47rg5692peVMst6lQLPKrVjhY+UTEsPI5ceFRJSl3gVgMYaUi/hKuaiKw==} + dev: false + + /slash2@2.0.0: + resolution: {integrity: sha512-7ElvBydJPi3MHU/KEOblFSbO/skl4Z69jKkFCpYIYVOMSIZsKi4gYU43HGeZPmjxCXrHekoDAAewphPQNnsqtA==} + engines: {node: '>=6'} + dev: true + + /slash@2.0.0: + resolution: {integrity: sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==} + engines: {node: '>=6'} + dev: true + + /slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + /slash@4.0.0: + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} + dev: true + + /slice-ansi@3.0.0: + resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} + engines: {node: '>=8'} + dependencies: + ansi-styles: 4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + dev: true + + /slice-ansi@4.0.0: + resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + dev: true + + /sonic-boom@2.8.0: + resolution: {integrity: sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg==} + dependencies: + atomic-sleep: 1.0.0 + dev: true + + /sort-asc@0.2.0: + resolution: {integrity: sha512-umMGhjPeHAI6YjABoSTrFp2zaBtXBej1a0yKkuMUyjjqu6FJsTF+JYwCswWDg+zJfk/5npWUUbd33HH/WLzpaA==} + engines: {node: '>=0.10.0'} + dev: false + + /sort-desc@0.2.0: + resolution: {integrity: sha512-NqZqyvL4VPW+RAxxXnB8gvE1kyikh8+pR+T+CXLksVRN9eiQqkQlPwqWYU0mF9Jm7UnctShlxLyAt1CaBOTL1w==} + engines: {node: '>=0.10.0'} + dev: false + + /sort-object-keys@1.1.3: + resolution: {integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==} + dev: true + + /sort-object@3.0.3: + resolution: {integrity: sha512-nK7WOY8jik6zaG9CRwZTaD5O7ETWDLZYMM12pqY8htll+7dYeqGfEUPcUBHOpSJg2vJOrvFIY2Dl5cX2ih1hAQ==} + engines: {node: '>=0.10.0'} + dependencies: + bytewise: 1.1.0 + get-value: 2.0.6 + is-extendable: 0.1.1 + sort-asc: 0.2.0 + sort-desc: 0.2.0 + union-value: 1.0.1 + dev: false + + /sort-package-json@1.57.0: + resolution: {integrity: sha512-FYsjYn2dHTRb41wqnv+uEqCUvBpK3jZcTp9rbz2qDTmel7Pmdtf+i2rLaaPMRZeSVM60V3Se31GyWFpmKs4Q5Q==} + hasBin: true + dependencies: + detect-indent: 6.1.0 + detect-newline: 3.1.0 + git-hooks-list: 1.0.3 + globby: 10.0.0 + is-plain-obj: 2.1.0 + sort-object-keys: 1.1.3 + dev: true + + /sort-package-json@2.4.1: + resolution: {integrity: sha512-Nd3rgLBJcZ4iw7tpuOhwBupG6SvUDU0Fy1cZGAMorA2JmDUb+29Dg5phJK9gapa2Ak9d15w/RuMl/viwX+nKwQ==} + hasBin: true + dependencies: + detect-indent: 7.0.1 + detect-newline: 4.0.0 + git-hooks-list: 3.1.0 + globby: 13.1.4 + is-plain-obj: 4.1.0 + sort-object-keys: 1.1.3 + dev: true + + /source-map-js@1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + dev: true + + /source-map-support@0.3.3: + resolution: {integrity: sha512-9O4+y9n64RewmFoKUZ/5Tx9IHIcXM6Q+RTSw6ehnqybUz4a7iwR3Eaw80uLtqqQ5D0C+5H03D4KKGo9PdP33Gg==} + dependencies: + source-map: 0.1.32 + dev: false + + /source-map-support@0.5.13: + resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + dev: true + + /source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + /source-map@0.1.32: + resolution: {integrity: sha512-htQyLrrRLkQ87Zfrir4/yN+vAUd6DNjVayEjTSHXu29AYQJw57I4/xEL/M6p6E/woPNJwvZt6rVlzc7gFEJccQ==} + engines: {node: '>=0.8.0'} + dependencies: + amdefine: 1.0.1 + dev: false + + /source-map@0.5.6: + resolution: {integrity: sha512-MjZkVp0NHr5+TPihLcadqnlVoGIoWo4IBHptutGh9wI3ttUYvCG26HkSuDi+K6lsZ25syXJXcctwgyVCt//xqA==} + engines: {node: '>=0.10.0'} + dev: false + + /source-map@0.5.7: + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} + engines: {node: '>=0.10.0'} + dev: false + + /source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + /source-map@0.7.4: + resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} + engines: {node: '>= 8'} + dev: true + + /spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + dependencies: + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.13 + dev: true + + /spdx-exceptions@2.3.0: + resolution: {integrity: sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==} + dev: true + + /spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + dependencies: + spdx-exceptions: 2.3.0 + spdx-license-ids: 3.0.13 + dev: true + + /spdx-license-ids@3.0.13: + resolution: {integrity: sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==} + dev: true + + /spdy-transport@3.0.0: + resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} + dependencies: + debug: 4.3.4(supports-color@5.5.0) + detect-node: 2.1.0 + hpack.js: 2.1.6 + obuf: 1.1.2 + readable-stream: 3.6.2 + wbuf: 1.7.3 + transitivePeerDependencies: + - supports-color + dev: true + + /spdy@4.0.2: + resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} + engines: {node: '>=6.0.0'} + dependencies: + debug: 4.3.4(supports-color@5.5.0) + handle-thing: 2.0.1 + http-deceiver: 1.2.7 + select-hose: 2.0.0 + spdy-transport: 3.0.0 + transitivePeerDependencies: + - supports-color + dev: true + + /specificity@0.4.1: + resolution: {integrity: sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==} + hasBin: true + dev: true + + /splaytree@3.1.2: + resolution: {integrity: sha512-4OM2BJgC5UzrhVnnJA4BkHKGtjXNzzUfpQjCO8I05xYPsfS/VuQDwjCGGMi8rYQilHEV4j8NBqTFbls/PZEE7A==} + dev: false + + /split-on-first@1.1.0: + resolution: {integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==} + engines: {node: '>=6'} + dev: true + + /split-string@3.1.0: + resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==} + engines: {node: '>=0.10.0'} + dependencies: + extend-shallow: 3.0.2 + dev: false + + /split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + dev: true + + /sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + dev: true + + /sshpk@1.17.0: + resolution: {integrity: sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==} + engines: {node: '>=0.10.0'} + hasBin: true + dependencies: + asn1: 0.2.6 + assert-plus: 1.0.0 + bcrypt-pbkdf: 1.0.2 + dashdash: 1.14.1 + ecc-jsbn: 0.1.2 + getpass: 0.1.7 + jsbn: 0.1.1 + safer-buffer: 2.1.2 + tweetnacl: 0.14.5 + dev: true + + /stable@0.1.8: + resolution: {integrity: sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==} + deprecated: 'Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility' + dev: true + + /stack-generator@2.0.10: + resolution: {integrity: sha512-mwnua/hkqM6pF4k8SnmZ2zfETsRUpWXREfA/goT8SLCV4iOFa4bzOX2nDipWAZFPTjLvQB82f5yaodMVhK0yJQ==} + dependencies: + stackframe: 1.3.4 + dev: false + + /stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + dependencies: + escape-string-regexp: 2.0.0 + dev: true + + /stackframe@1.3.4: + resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} + + /stacktrace-gps@3.1.2: + resolution: {integrity: sha512-GcUgbO4Jsqqg6RxfyTHFiPxdPqF+3LFmQhm7MgCuYQOYuWyqxo5pwRPz5d/u6/WYJdEnWfK4r+jGbyD8TSggXQ==} + dependencies: + source-map: 0.5.6 + stackframe: 1.3.4 + dev: false + + /stacktrace-js@2.0.2: + resolution: {integrity: sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg==} + dependencies: + error-stack-parser: 2.1.4 + stack-generator: 2.0.10 + stacktrace-gps: 3.1.2 + dev: false + + /statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + dev: true + + /stop-iteration-iterator@1.0.0: + resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} + engines: {node: '>= 0.4'} + dependencies: + internal-slot: 1.0.5 + dev: true + + /stream-browserify@2.0.2: + resolution: {integrity: sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==} + dependencies: + inherits: 2.0.4 + readable-stream: 2.3.8 + dev: true + + /stream-buffers@1.0.1: + resolution: {integrity: sha512-t+8bSU8qPq7NnWHWAvikjcZf+biErLZzD15RroYft1IKQwYbkRyiwppT7kNqwdtYLS59YPxc4sTSvwbLSMaodw==} + engines: {node: '>= 0.3.0'} + dev: true + + /stream-http@2.8.3: + resolution: {integrity: sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==} + dependencies: + builtin-status-codes: 3.0.0 + inherits: 2.0.4 + readable-stream: 2.3.8 + to-arraybuffer: 1.0.1 + xtend: 4.0.2 + dev: true + + /stream-shift@1.0.1: + resolution: {integrity: sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==} + dev: true + + /streamroller@0.4.1: + resolution: {integrity: sha512-w0GGkMlWOiIBIYTmOWHTWKy9Y5hKxGKpQ5WpiHqwhvoSoMHXNTITrk6ZsR3fdgz3Bi/c+CXVHwmfPUQFkEPL+A==} + engines: {node: '>=0.12.0'} + deprecated: 0.x is no longer supported. Please upgrade to 3.x or higher. + dependencies: + date-format: 0.0.0 + debug: 0.7.4 + mkdirp: 0.5.6 + readable-stream: 1.1.14 + transitivePeerDependencies: + - supports-color + dev: true + + /strict-uri-encode@2.0.0: + resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==} + engines: {node: '>=4'} + dev: true + + /string-argv@0.3.1: + resolution: {integrity: sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==} + engines: {node: '>=0.6.19'} + dev: true + + /string-convert@0.2.1: + resolution: {integrity: sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A==} + + /string-length@4.0.2: + resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} + engines: {node: '>=10'} + dependencies: + char-regex: 1.0.2 + strip-ansi: 6.0.1 + dev: true + + /string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + /string.prototype.matchall@4.0.8: + resolution: {integrity: sha512-6zOCOcJ+RJAQshcTvXPHoxoQGONa3e/Lqx90wUA+wEzX78sg5Bo+1tQo4N0pohS0erG9qtCqJDjNCQBjeWVxyg==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + get-intrinsic: 1.2.1 + has-symbols: 1.0.3 + internal-slot: 1.0.5 + regexp.prototype.flags: 1.5.0 + side-channel: 1.0.4 + dev: true + + /string.prototype.trim@1.2.7: + resolution: {integrity: sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + dev: true + + /string.prototype.trim@1.2.8: + resolution: {integrity: sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.22.3 + dev: false + + /string.prototype.trimend@1.0.6: + resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + dev: true + + /string.prototype.trimend@1.0.7: + resolution: {integrity: sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.0 + es-abstract: 1.22.3 + dev: false + + /string.prototype.trimstart@1.0.6: + resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.2.0 + es-abstract: 1.21.2 + dev: true + + /string.prototype.trimstart@1.0.7: + resolution: {integrity: sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==} + dependencies: + call-bind: 1.0.5 + define-properties: 1.2.0 + es-abstract: 1.22.3 + dev: false + + /string_decoder@0.10.31: + resolution: {integrity: sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==} + dev: true + + /string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + dependencies: + safe-buffer: 5.1.2 + dev: true + + /string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + dependencies: + safe-buffer: 5.2.1 + + /stringify-object@3.3.0: + resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} + engines: {node: '>=4'} + dependencies: + get-own-enumerable-property-symbols: 3.0.2 + is-obj: 1.0.1 + is-regexp: 1.0.0 + dev: true + + /strip-ansi@3.0.1: + resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} + engines: {node: '>=0.10.0'} + dependencies: + ansi-regex: 2.1.1 + dev: false + + /strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + + /strip-bom@4.0.0: + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} + dev: true + + /strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: true + + /strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + dev: true + + /strip-indent@3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + dependencies: + min-indent: 1.0.1 + dev: true + + /strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + /strip-outer@1.0.1: + resolution: {integrity: sha512-k55yxKHwaXnpYGsOzg4Vl8+tDrWylxDEpknGjhTiZB8dFRU5rTo9CAzeycivxV3s+zlTKwrs6WxMxR95n26kwg==} + engines: {node: '>=0.10.0'} + dependencies: + escape-string-regexp: 1.0.5 + dev: true + + /strophe.jingle@0.0.9: + resolution: {integrity: sha512-6spYc1+69IoTEuoZU36fwH+KOM4xrLOvgUltLIvtCZUr8ANx9AJ900rjbhAKiu14End1akC4knSLhIBkW/T/Pw==} + dependencies: + strophe.js: 1.6.2 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: false + + /strophe.js@1.6.2: + resolution: {integrity: sha512-aS4zkPACypSsmewr54IAVexn+m9RHrnxQEn/kr8eF8jK5lhv+nZTEEcKMaXBRyQ00lpOAEY9lYHbApXwqIjCpA==} + dependencies: + abab: 2.0.6 + optionalDependencies: + '@xmldom/xmldom': 0.8.7 + ws: 8.13.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: false + + /strophejs-plugin-caps@1.1.3(strophe.js@1.6.2)(strophejs-plugin-disco@0.0.2): + resolution: {integrity: sha512-TsnZiU7fKFv8J/jU8wFI+7kJv3zlv0Ny0PYg5zIazyprmfVbxjZxNft7GzSo20L1+Gp25Aq/zsw0YAmzhdY+DQ==} + peerDependencies: + strophe.js: '>=1.2' + strophejs-plugin-disco: '>=0.0.1' + dependencies: + strophe.js: 1.6.2 + strophejs-plugin-disco: 0.0.2(strophe.js@1.6.2) + dev: false + + /strophejs-plugin-disco@0.0.2(strophe.js@1.6.2): + resolution: {integrity: sha512-T9pJFzn1ZUqZ/we9+OvI5pFdrjeb4IBMbEjK+ZWEZV036wEl8l8GOtF8AJ3sIqOMtdIiFLdFu99JiGWd7yapAQ==} + peerDependencies: + strophe.js: ^1.2.12 + dependencies: + strophe.js: 1.6.2 + dev: false + + /strophejs-plugin-muc@1.1.0(strophe.js@1.6.2): + resolution: {integrity: sha512-IGMCOSxGIgYwHRDVBRCzjDy8AedHxjz2TuJ0vTuLo6v3DisLeW4d107R/SkbkjVknoX1M42fdpZ9oKb5zRsLxw==} + peerDependencies: + strophe.js: '>=1.2' + dependencies: + strophe.js: 1.6.2 + dev: false + + /style-search@0.1.0: + resolution: {integrity: sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==} + dev: true + + /styled-components@5.3.11(react-dom@18.2.0)(react-is@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-uuzIIfnVkagcVHv9nE0VPlHPSCmXIUGKfJ42LNjxCCTDTL5sgnJ8Z7GZBq0EnLYGln77tPpEpExt2+qa+cZqSw==} + engines: {node: '>=10'} + peerDependencies: + react: '>= 16.8.0' + react-dom: '>= 16.8.0' + react-is: '>= 16.8.0' + dependencies: + '@babel/helper-module-imports': 7.21.4 + '@babel/traverse': 7.22.1(supports-color@5.5.0) + '@emotion/is-prop-valid': 1.2.1 + '@emotion/stylis': 0.8.5 + '@emotion/unitless': 0.7.5 + babel-plugin-styled-components: 2.1.3(styled-components@5.3.11) + css-to-react-native: 3.2.0 + hoist-non-react-statics: 3.3.2 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-is: 18.2.0 + shallowequal: 1.1.0 + supports-color: 5.5.0 + dev: true + + /styled-components@6.0.0-beta.9(react-dom@18.2.0)(react@18.2.0)(tslib@2.5.2): + resolution: {integrity: sha512-RYtmvWZForwSd24aZgi3iGZM/6HvJkP7zobHK+bwC01vI6QhHK5MX9ayXEnJWaFY7DoEWoAnar5ACiGVkTCoCQ==} + engines: {node: '>= 14'} + peerDependencies: + babel-plugin-styled-components: '>= 2' + react: '>= 16.8.0' + react-dom: '>= 16.8.0' + shallowequal: '>= 1' + stylis: ^4.0.0 + tslib: ^2.0.0 + peerDependenciesMeta: + babel-plugin-styled-components: + optional: true + shallowequal: + optional: true + stylis: + optional: true + tslib: + optional: true + dependencies: + '@babel/cli': 7.21.5(@babel/core@7.22.1) + '@babel/core': 7.22.1 + '@babel/helper-module-imports': 7.21.4 + '@babel/plugin-external-helpers': 7.18.6(@babel/core@7.22.1) + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.22.1) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.22.1) + '@babel/preset-env': 7.22.2(@babel/core@7.22.1) + '@babel/preset-react': 7.22.3(@babel/core@7.22.1) + '@babel/preset-typescript': 7.21.5(@babel/core@7.22.1) + '@babel/traverse': 7.22.1(supports-color@5.5.0) + '@emotion/unitless': 0.8.1 + css-to-react-native: 3.2.0 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + tslib: 2.5.2 + transitivePeerDependencies: + - supports-color + dev: true + + /styled-components@6.0.0-rc.0(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-3+Lnu1NC5JuieYi8dV/nhmlK7/yzqZW43u4P7WgIJfu5Dq5AiPU3t4efu0nWLmlMEmWrSXdrinxfbDnqnpP6hg==} + engines: {node: '>= 14'} + peerDependencies: + babel-plugin-styled-components: '>= 2' + react: '>= 16.8.0' + react-dom: '>= 16.8.0' + peerDependenciesMeta: + babel-plugin-styled-components: + optional: true + dependencies: + '@babel/cli': 7.21.5(@babel/core@7.22.1) + '@babel/core': 7.22.1 + '@babel/helper-module-imports': 7.21.4 + '@babel/plugin-external-helpers': 7.18.6(@babel/core@7.22.1) + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.22.1) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.22.1) + '@babel/preset-env': 7.22.2(@babel/core@7.22.1) + '@babel/preset-react': 7.22.3(@babel/core@7.22.1) + '@babel/preset-typescript': 7.21.5(@babel/core@7.22.1) + '@babel/traverse': 7.22.1(supports-color@5.5.0) + '@emotion/unitless': 0.8.1 + css-to-react-native: 3.2.0 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + shallowequal: 1.1.0 + stylis: 4.2.0 + tslib: 2.5.2 + transitivePeerDependencies: + - supports-color + dev: true + + /stylelint-config-css-modules@2.3.0(stylelint@13.13.1): + resolution: {integrity: sha512-nSxwaJMv9wBrTAi+O4qXubyi1AR9eB36tJpY0uaFhKgEc3fwWGUzUK1Edl8AQHAoU7wmUeKtsuYjblyRP/V7rw==} + peerDependencies: + stylelint: 11.x - 14.x + dependencies: + stylelint: 13.13.1 + dev: true + + /stylelint-config-prettier@8.0.2(stylelint@13.13.1): + resolution: {integrity: sha512-TN1l93iVTXpF9NJstlvP7nOu9zY2k+mN0NSFQ/VEGz15ZIP9ohdDZTtCWHs5LjctAhSAzaILULGbgiM0ItId3A==} + engines: {node: '>= 10', npm: '>= 5'} + hasBin: true + peerDependencies: + stylelint: '>=11.0.0' + dependencies: + stylelint: 13.13.1 + dev: true + + /stylelint-config-recommended@3.0.0(stylelint@13.13.1): + resolution: {integrity: sha512-F6yTRuc06xr1h5Qw/ykb2LuFynJ2IxkKfCMf+1xqPffkxh0S09Zc902XCffcsw/XMFq/OzQ1w54fLIDtmRNHnQ==} + peerDependencies: + stylelint: '>=10.1.0' + dependencies: + stylelint: 13.13.1 + dev: true + + /stylelint-config-recommended@7.0.0(stylelint@14.16.1): + resolution: {integrity: sha512-yGn84Bf/q41J4luis1AZ95gj0EQwRX8lWmGmBwkwBNSkpGSpl66XcPTulxGa/Z91aPoNGuIGBmFkcM1MejMo9Q==} + peerDependencies: + stylelint: ^14.4.0 + dependencies: + stylelint: 14.16.1 + dev: true + + /stylelint-config-recommended@7.0.0(stylelint@14.8.2): + resolution: {integrity: sha512-yGn84Bf/q41J4luis1AZ95gj0EQwRX8lWmGmBwkwBNSkpGSpl66XcPTulxGa/Z91aPoNGuIGBmFkcM1MejMo9Q==} + peerDependencies: + stylelint: ^14.4.0 + dependencies: + stylelint: 14.8.2 + dev: true + + /stylelint-config-standard@20.0.0(stylelint@13.13.1): + resolution: {integrity: sha512-IB2iFdzOTA/zS4jSVav6z+wGtin08qfj+YyExHB3LF9lnouQht//YyB0KZq9gGz5HNPkddHOzcY8HsUey6ZUlA==} + peerDependencies: + stylelint: '>=10.1.0' + dependencies: + stylelint: 13.13.1 + stylelint-config-recommended: 3.0.0(stylelint@13.13.1) + dev: true + + /stylelint-config-standard@25.0.0(stylelint@14.16.1): + resolution: {integrity: sha512-21HnP3VSpaT1wFjFvv9VjvOGDtAviv47uTp3uFmzcN+3Lt+RYRv6oAplLaV51Kf792JSxJ6svCJh/G18E9VnCA==} + peerDependencies: + stylelint: ^14.4.0 + dependencies: + stylelint: 14.16.1 + stylelint-config-recommended: 7.0.0(stylelint@14.16.1) + dev: true + + /stylelint-config-standard@25.0.0(stylelint@14.8.2): + resolution: {integrity: sha512-21HnP3VSpaT1wFjFvv9VjvOGDtAviv47uTp3uFmzcN+3Lt+RYRv6oAplLaV51Kf792JSxJ6svCJh/G18E9VnCA==} + peerDependencies: + stylelint: ^14.4.0 + dependencies: + stylelint: 14.8.2 + stylelint-config-recommended: 7.0.0(stylelint@14.8.2) + dev: true + + /stylelint-declaration-block-no-ignored-properties@2.7.0(stylelint@13.13.1): + resolution: {integrity: sha512-44SpI9+9Oc1ICuwwRfwS/3npQ2jPobDSTnwWdNgZGryGqQCp17CgEIWjCv1BgUOSzND3RqywNCNLKvO1AOxbfg==} + engines: {node: '>=6'} + peerDependencies: + stylelint: ^7.0.0 || ^8.0.0 || ^9.0.0 || ^10.0.0 || ^11.0.0 || ^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0 + dependencies: + stylelint: 13.13.1 + dev: true + + /stylelint@13.13.1: + resolution: {integrity: sha512-Mv+BQr5XTUrKqAXmpqm6Ddli6Ief+AiPZkRsIrAoUKFuq/ElkUh9ZMYxXD0iQNZ5ADghZKLOWz1h7hTClB7zgQ==} + engines: {node: '>=10.13.0'} + hasBin: true + dependencies: + '@stylelint/postcss-css-in-js': 0.37.3(postcss-syntax@0.36.2)(postcss@7.0.39) + '@stylelint/postcss-markdown': 0.36.2(postcss-syntax@0.36.2)(postcss@7.0.39) + autoprefixer: 9.8.8 + balanced-match: 2.0.0 + chalk: 4.1.2 + cosmiconfig: 7.1.0 + debug: 4.3.4(supports-color@5.5.0) + execall: 2.0.0 + fast-glob: 3.2.12 + fastest-levenshtein: 1.0.16 + file-entry-cache: 6.0.1 + get-stdin: 8.0.0 + global-modules: 2.0.0 + globby: 11.1.0 + globjoin: 0.1.4 + html-tags: 3.3.1 + ignore: 5.2.4 + import-lazy: 4.0.0 + imurmurhash: 0.1.4 + known-css-properties: 0.21.0 + lodash: 4.17.21 + log-symbols: 4.1.0 + mathml-tag-names: 2.1.3 + meow: 9.0.0 + micromatch: 4.0.5 + normalize-selector: 0.2.0 + postcss: 7.0.39 + postcss-html: 0.36.0(postcss-syntax@0.36.2)(postcss@7.0.39) + postcss-less: 3.1.4 + postcss-media-query-parser: 0.2.3 + postcss-resolve-nested-selector: 0.1.1 + postcss-safe-parser: 4.0.2 + postcss-sass: 0.4.4 + postcss-scss: 2.1.1 + postcss-selector-parser: 6.0.13 + postcss-syntax: 0.36.2(postcss-html@0.36.0)(postcss-less@3.1.4)(postcss-scss@2.1.1)(postcss@7.0.39) + postcss-value-parser: 4.2.0 + resolve-from: 5.0.0 + slash: 3.0.0 + specificity: 0.4.1 + string-width: 4.2.3 + strip-ansi: 6.0.1 + style-search: 0.1.0 + sugarss: 2.0.0 + svg-tags: 1.0.0 + table: 6.8.1 + v8-compile-cache: 2.3.0 + write-file-atomic: 3.0.3 + transitivePeerDependencies: + - postcss-jsx + - postcss-markdown + - supports-color + dev: true + + /stylelint@14.16.1: + resolution: {integrity: sha512-ErlzR/T3hhbV+a925/gbfc3f3Fep9/bnspMiJPorfGEmcBbXdS+oo6LrVtoUZ/w9fqD6o6k7PtUlCOsCRdjX/A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + dependencies: + '@csstools/selector-specificity': 2.2.0(postcss-selector-parser@6.0.13) + balanced-match: 2.0.0 + colord: 2.9.3 + cosmiconfig: 7.1.0 + css-functions-list: 3.1.0 + debug: 4.3.4(supports-color@5.5.0) + fast-glob: 3.2.12 + fastest-levenshtein: 1.0.16 + file-entry-cache: 6.0.1 + global-modules: 2.0.0 + globby: 11.1.0 + globjoin: 0.1.4 + html-tags: 3.3.1 + ignore: 5.2.4 + import-lazy: 4.0.0 + imurmurhash: 0.1.4 + is-plain-object: 5.0.0 + known-css-properties: 0.26.0 + mathml-tag-names: 2.1.3 + meow: 9.0.0 + micromatch: 4.0.5 + normalize-path: 3.0.0 + picocolors: 1.0.0 + postcss: 8.4.24 + postcss-media-query-parser: 0.2.3 + postcss-resolve-nested-selector: 0.1.1 + postcss-safe-parser: 6.0.0(postcss@8.4.24) + postcss-selector-parser: 6.0.13 + postcss-value-parser: 4.2.0 + resolve-from: 5.0.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + style-search: 0.1.0 + supports-hyperlinks: 2.3.0 + svg-tags: 1.0.0 + table: 6.8.1 + v8-compile-cache: 2.3.0 + write-file-atomic: 4.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /stylelint@14.8.2: + resolution: {integrity: sha512-tjDfexCYfoPdl/xcDJ9Fv+Ko9cvzbDnmdiaqEn3ovXHXasi/hbkt5tSjsiReQ+ENqnz0eltaX/AOO+AlzVdcNA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + dependencies: + balanced-match: 2.0.0 + colord: 2.9.3 + cosmiconfig: 7.1.0 + css-functions-list: 3.1.0 + debug: 4.3.4(supports-color@5.5.0) + execall: 2.0.0 + fast-glob: 3.2.12 + fastest-levenshtein: 1.0.16 + file-entry-cache: 6.0.1 + get-stdin: 8.0.0 + global-modules: 2.0.0 + globby: 11.1.0 + globjoin: 0.1.4 + html-tags: 3.3.1 + ignore: 5.2.4 + import-lazy: 4.0.0 + imurmurhash: 0.1.4 + is-plain-object: 5.0.0 + known-css-properties: 0.25.0 + mathml-tag-names: 2.1.3 + meow: 9.0.0 + micromatch: 4.0.5 + normalize-path: 3.0.0 + normalize-selector: 0.2.0 + picocolors: 1.0.0 + postcss: 8.4.24 + postcss-media-query-parser: 0.2.3 + postcss-resolve-nested-selector: 0.1.1 + postcss-safe-parser: 6.0.0(postcss@8.4.24) + postcss-selector-parser: 6.0.13 + postcss-value-parser: 4.2.0 + resolve-from: 5.0.0 + specificity: 0.4.1 + string-width: 4.2.3 + strip-ansi: 6.0.1 + style-search: 0.1.0 + supports-hyperlinks: 2.3.0 + svg-tags: 1.0.0 + table: 6.8.1 + v8-compile-cache: 2.3.0 + write-file-atomic: 4.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /stylis@4.2.0: + resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==} + + /stylis@4.3.0: + resolution: {integrity: sha512-E87pIogpwUsUwXw7dNyU4QDjdgVMy52m+XEOPEKUn161cCzWjjhPSQhByfd1CcNvrOLnXQ6OnnZDwnJrz/Z4YQ==} + dev: false + + /sugarss@2.0.0: + resolution: {integrity: sha512-WfxjozUk0UVA4jm+U1d736AUpzSrNsQcIbyOkoE364GrtWmIrFdk5lksEupgWMD4VaT/0kVx1dobpiDumSgmJQ==} + dependencies: + postcss: 7.0.39 + dev: true + + /supercluster@7.1.5: + resolution: {integrity: sha512-EulshI3pGUM66o6ZdH3ReiFcvHpM3vAigyK+vcxdjpJyEbIIrtbmBdY23mGgnI24uXiGFvrGq9Gkum/8U7vJWg==} + dependencies: + kdbush: 3.0.0 + dev: false + + /supercluster@8.0.1: + resolution: {integrity: sha512-IiOea5kJ9iqzD2t7QJq/cREyLHTtSmUT6gQsweojg9WH2sYJqZK9SswTu6jrscO6D1G5v5vYZ9ru/eq85lXeZQ==} + dependencies: + kdbush: 4.0.2 + dev: false + + /superjson@1.12.3: + resolution: {integrity: sha512-0j+U70KUtP8+roVPbwfqkyQI7lBt7ETnuA7KXbTDX3mCKiD/4fXs2ldKSMdt0MCfpTwiMxo20yFU3vu6ewETpQ==} + engines: {node: '>=10'} + dependencies: + copy-anything: 3.0.5 + dev: true + + /supports-color@2.0.0: + resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} + engines: {node: '>=0.8.0'} + dev: false + + /supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + + /supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + + /supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + dependencies: + has-flag: 4.0.0 + + /supports-hyperlinks@2.3.0: + resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + supports-color: 7.2.0 + dev: true + + /supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + /svg-parser@2.0.4: + resolution: {integrity: sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==} + dev: true + + /svg-tags@1.0.0: + resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} + dev: true + + /svgo@2.8.0: + resolution: {integrity: sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==} + engines: {node: '>=10.13.0'} + hasBin: true + dependencies: + '@trysound/sax': 0.2.0 + commander: 7.2.0 + css-select: 4.3.0 + css-tree: 1.1.3 + csso: 4.2.0 + picocolors: 1.0.0 + stable: 0.1.8 + dev: true + + /swagger-ui-dist@4.19.0: + resolution: {integrity: sha512-9C9fJGI18gK5AhaU5YRyPY1lXJH4lmWh8h9zFMrJBkYzdRjCbAzYl1ayWPYgwFvag/Luqi3Co599OK/39IS2QQ==} + dev: true + + /swagger2openapi@7.0.8: + resolution: {integrity: sha512-upi/0ZGkYgEcLeGieoz8gT74oWHA0E7JivX7aN9mAf+Tc7BQoRBvnIGHoPDw+f9TXTW4s6kGYCZJtauP6OYp7g==} + hasBin: true + dependencies: + call-me-maybe: 1.0.2 + node-fetch: 2.6.11 + node-fetch-h2: 2.3.0 + node-readfiles: 0.2.0 + oas-kit-common: 1.0.8 + oas-resolver: 2.5.6 + oas-schema-walker: 1.1.5 + oas-validator: 5.0.8 + reftools: 1.1.9 + yaml: 1.10.2 + yargs: 17.7.2 + transitivePeerDependencies: + - encoding + dev: true + + /swr@2.1.5(react@18.2.0): + resolution: {integrity: sha512-/OhfZMcEpuz77KavXST5q6XE9nrOBOVcBLWjMT+oAE/kQHyE3PASrevXCtQDZ8aamntOfFkbVJp7Il9tNBQWrw==} + peerDependencies: + react: ^16.11.0 || ^17.0.0 || ^18.0.0 + dependencies: + react: 18.2.0 + use-sync-external-store: 1.2.0(react@18.2.0) + + /symbol-observable@1.2.0: + resolution: {integrity: sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==} + engines: {node: '>=0.10.0'} + dev: true + + /symbol-tree@3.2.4: + resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + + /synckit@0.8.5: + resolution: {integrity: sha512-L1dapNV6vu2s/4Sputv8xGsCdAVlb5nRDMFU/E27D44l5U6cw1g0dGd45uLc+OXjNMmF4ntiMdCimzcjFKQI8Q==} + engines: {node: ^14.18.0 || >=16.0.0} + dependencies: + '@pkgr/utils': 2.4.1 + tslib: 2.5.2 + dev: true + + /table@6.8.1: + resolution: {integrity: sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==} + engines: {node: '>=10.0.0'} + dependencies: + ajv: 8.12.0 + lodash.truncate: 4.4.2 + slice-ansi: 4.0.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /tapable@1.1.3: + resolution: {integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==} + engines: {node: '>=6'} + dev: false + + /tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + + /tape@4.17.0: + resolution: {integrity: sha512-KCuXjYxCZ3ru40dmND+oCLsXyuA8hoseu2SS404Px5ouyS0A99v8X/mdiLqsR5MTAyamMBN7PRwt2Dv3+xGIxw==} + hasBin: true + dependencies: + '@ljharb/resumer': 0.0.1 + '@ljharb/through': 2.3.11 + call-bind: 1.0.2 + deep-equal: 1.1.2 + defined: 1.0.1 + dotignore: 0.1.2 + for-each: 0.3.3 + glob: 7.2.3 + has: 1.0.3 + inherits: 2.0.4 + is-regex: 1.1.4 + minimist: 1.2.8 + mock-property: 1.0.3 + object-inspect: 1.12.3 + resolve: 1.22.8 + string.prototype.trim: 1.2.8 + dev: false + + /tar@6.2.0: + resolution: {integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==} + engines: {node: '>=10'} + dependencies: + chownr: 2.0.0 + fs-minipass: 2.1.0 + minipass: 5.0.0 + minizlib: 2.1.2 + mkdirp: 1.0.4 + yallist: 4.0.0 + dev: false + optional: true + + /terser-webpack-plugin@5.3.9(webpack@5.84.1): + resolution: {integrity: sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + esbuild: + optional: true + uglify-js: + optional: true + dependencies: + '@jridgewell/trace-mapping': 0.3.18 + jest-worker: 27.5.1 + schema-utils: 3.1.2 + serialize-javascript: 6.0.1 + terser: 5.17.6 + webpack: 5.84.1 + + /terser@5.17.6: + resolution: {integrity: sha512-V8QHcs8YuyLkLHsJO5ucyff1ykrLVsR4dNnS//L5Y3NiSXpbK1J+WMVUs67eI0KTxs9JtHhgEQpXQVHlHI92DQ==} + engines: {node: '>=10'} + hasBin: true + dependencies: + '@jridgewell/source-map': 0.3.3 + acorn: 8.8.2 + commander: 2.20.3 + source-map-support: 0.5.21 + + /test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + dev: true + + /text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + + /thread-stream@0.15.2: + resolution: {integrity: sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA==} + dependencies: + real-require: 0.1.0 + dev: true + + /throttle-debounce@3.0.1: + resolution: {integrity: sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==} + engines: {node: '>=10'} + dev: false + + /throttle-debounce@5.0.0: + resolution: {integrity: sha512-2iQTSgkkc1Zyk0MeVrt/3BvuOXYPl/R8Z0U2xxo9rjwNciaHDG3R+Lm6dh4EeUci49DanvBnuqI6jshoQQRGEg==} + engines: {node: '>=12.22'} + + /through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + dev: true + + /timers-browserify@2.0.12: + resolution: {integrity: sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==} + engines: {node: '>=0.6.0'} + dependencies: + setimmediate: 1.0.5 + dev: true + + /timers-ext@0.1.7: + resolution: {integrity: sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==} + dependencies: + es5-ext: 0.10.62 + next-tick: 1.1.0 + dev: true + + /tiny-invariant@1.3.1: + resolution: {integrity: sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==} + dev: true + + /tiny-pinyin@1.3.2: + resolution: {integrity: sha512-uHNGu4evFt/8eNLldazeAM1M8JrMc1jshhJJfVRARTN3yT8HEEibofeQ7QETWQ5ISBjd6fKtTVBCC/+mGS6FpA==} + dev: true + + /tiny-warning@1.0.3: + resolution: {integrity: sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==} + dev: true + + /tinycolor2@1.6.0: + resolution: {integrity: sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw==} + + /tinyqueue@2.0.3: + resolution: {integrity: sha512-ppJZNDuKGgxzkHihX8v9v9G5f+18gzaTfrukGrq6ueg0lmH4nqVnA2IPG0AEH3jKEk2GRJCUhDoqpoiw3PHLBA==} + dev: false + + /titleize@3.0.0: + resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==} + engines: {node: '>=12'} + dev: true + + /tmpl@1.0.5: + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + dev: true + + /to-arraybuffer@1.0.1: + resolution: {integrity: sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==} + dev: true + + /to-fast-properties@1.0.3: + resolution: {integrity: sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og==} + engines: {node: '>=0.10.0'} + dev: true + + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + /to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + + /toggle-selection@1.0.6: + resolution: {integrity: sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==} + + /toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + dev: true + + /topojson-client@3.1.0: + resolution: {integrity: sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==} + hasBin: true + dependencies: + commander: 2.20.3 + dev: false + + /toposort@2.0.2: + resolution: {integrity: sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==} + dev: false + + /totalist@3.0.1: + resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + engines: {node: '>=6'} + dev: false + + /tough-cookie@2.5.0: + resolution: {integrity: sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==} + engines: {node: '>=0.8'} + dependencies: + psl: 1.9.0 + punycode: 2.3.0 + dev: true + + /tough-cookie@4.1.2: + resolution: {integrity: sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==} + engines: {node: '>=6'} + dependencies: + psl: 1.9.0 + punycode: 2.3.0 + universalify: 0.2.0 + url-parse: 1.5.10 + + /tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + + /tr46@2.1.0: + resolution: {integrity: sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==} + engines: {node: '>=8'} + dependencies: + punycode: 2.3.0 + dev: false + + /tr46@3.0.0: + resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} + engines: {node: '>=12'} + dependencies: + punycode: 2.3.0 + + /trim-newlines@3.0.1: + resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} + engines: {node: '>=8'} + dev: true + + /trim-repeated@1.0.0: + resolution: {integrity: sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==} + engines: {node: '>=0.10.0'} + dependencies: + escape-string-regexp: 1.0.5 + dev: true + + /trough@1.0.5: + resolution: {integrity: sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==} + dev: true + + /ts-easing@0.2.0: + resolution: {integrity: sha512-Z86EW+fFFh/IFB1fqQ3/+7Zpf9t2ebOAxNI/V6Wo7r5gqiqtxmgTlQ1qbqQcjLKYeSHPTsEmvlJUDg/EuL0uHQ==} + dev: false + + /ts-node@10.9.1(@types/node@20.2.5)(typescript@5.0.2): + resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.9 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 20.2.5 + acorn: 8.8.2 + acorn-walk: 8.2.0 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.0.2 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + dev: true + + /tslib@1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + + /tslib@2.3.0: + resolution: {integrity: sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==} + dev: false + + /tslib@2.5.2: + resolution: {integrity: sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==} + + /tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + dev: false + + /tsutils@3.21.0(typescript@4.9.5): + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} + peerDependencies: + typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + dependencies: + tslib: 1.14.1 + typescript: 4.9.5 + dev: true + + /tsutils@3.21.0(typescript@5.0.2): + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} + peerDependencies: + typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + dependencies: + tslib: 1.14.1 + typescript: 5.0.2 + dev: true + + /tsx@3.12.7: + resolution: {integrity: sha512-C2Ip+jPmqKd1GWVQDvz/Eyc6QJbGfE7NrR3fx5BpEHMZsEHoIxHL1j+lKdGobr8ovEyqeNkPLSKp6SCSOt7gmw==} + hasBin: true + dependencies: + '@esbuild-kit/cjs-loader': 2.4.2 + '@esbuild-kit/core-utils': 3.1.0 + '@esbuild-kit/esm-loader': 2.5.5 + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /tty-browserify@0.0.0: + resolution: {integrity: sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==} + dev: true + + /tunnel-agent@0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /tween-functions@1.2.0: + resolution: {integrity: sha512-PZBtLYcCLtEcjL14Fzb1gSxPBeL7nWvGhO5ZFPGqziCcr8uvHp0NDmdjBchp6KHL+tExcg0m3NISmKxhU394dA==} + dev: true + + /tweetnacl@0.14.5: + resolution: {integrity: sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==} + dev: true + + /type-check@0.3.2: + resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.1.2 + + /type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + + /type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + dev: true + + /type-fest@0.18.1: + resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} + engines: {node: '>=10'} + dev: true + + /type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + + /type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + dev: true + + /type-fest@0.6.0: + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} + dev: true + + /type-fest@0.8.1: + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} + dev: true + + /type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + dev: true + + /type@1.2.0: + resolution: {integrity: sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==} + dev: true + + /type@2.7.2: + resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==} + dev: true + + /typed-array-buffer@1.0.0: + resolution: {integrity: sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + get-intrinsic: 1.2.2 + is-typed-array: 1.1.12 + dev: false + + /typed-array-byte-length@1.0.0: + resolution: {integrity: sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.5 + for-each: 0.3.3 + has-proto: 1.0.1 + is-typed-array: 1.1.12 + dev: false + + /typed-array-byte-offset@1.0.0: + resolution: {integrity: sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.5 + for-each: 0.3.3 + has-proto: 1.0.1 + is-typed-array: 1.1.12 + dev: false + + /typed-array-length@1.0.4: + resolution: {integrity: sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==} + dependencies: + call-bind: 1.0.5 + for-each: 0.3.3 + is-typed-array: 1.1.12 + + /typedarray-to-buffer@3.1.5: + resolution: {integrity: sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==} + dependencies: + is-typedarray: 1.0.0 + dev: true + + /typedarray@0.0.6: + resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} + dev: true + + /typescript@3.9.10: + resolution: {integrity: sha512-w6fIxVE/H1PkLKcCPsFqKE7Kv7QUwhU8qQY2MueZXWx5cPZdwFupLgKK3vntcK98BtNHZtAF4LA/yl2a7k8R6Q==} + engines: {node: '>=4.2.0'} + hasBin: true + dev: true + + /typescript@4.9.5: + resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} + engines: {node: '>=4.2.0'} + hasBin: true + dev: true + + /typescript@5.0.2: + resolution: {integrity: sha512-wVORMBGO/FAs/++blGNeAVdbNKtIh1rbBL2EyQ1+J9lClJ93KiiKe8PmFIVdXhHcyv44SL9oglmfeSsndo0jRw==} + engines: {node: '>=12.20'} + hasBin: true + + /typewise-core@1.2.0: + resolution: {integrity: sha512-2SCC/WLzj2SbUwzFOzqMCkz5amXLlxtJqDKTICqg30x+2DZxcfZN2MvQZmGfXWKNWaKK9pBPsvkcwv8bF/gxKg==} + dev: false + + /typewise@1.0.3: + resolution: {integrity: sha512-aXofE06xGhaQSPzt8hlTY+/YWQhm9P0jYUp1f2XtmW/3Bk0qzXcyFWAtPoo2uTGQj1ZwbDuSyuxicq+aDo8lCQ==} + dependencies: + typewise-core: 1.2.0 + dev: false + + /ua-parser-js@0.7.35: + resolution: {integrity: sha512-veRf7dawaj9xaWEu9HoTVn5Pggtc/qj+kqTOFvNiN1l0YdxwC1kvel57UCjThjGa3BHBihE8/UJAHI+uQHmd/g==} + + /uglify-js@2.8.29: + resolution: {integrity: sha512-qLq/4y2pjcU3vhlhseXGGJ7VbFO4pBANu0kwl8VCa9KEI0V8VfZIx2Fy3w01iSTA/pGwKZSmu/+I4etLNDdt5w==} + engines: {node: '>=0.8.0'} + hasBin: true + dependencies: + source-map: 0.5.7 + yargs: 3.10.0 + optionalDependencies: + uglify-to-browserify: 1.0.2 + dev: false + + /uglify-to-browserify@1.0.2: + resolution: {integrity: sha512-vb2s1lYx2xBtUgy+ta+b2J/GLVUR+wmpINwHePmPRhOsIVCG2wDzKJ0n14GslH1BifsqVzSOwQhRaCAsZ/nI4Q==} + requiresBuild: true + dev: false + optional: true + + /umi-presets-pro@2.0.3(@types/react-dom@18.2.4)(@types/react@18.2.7)(antd@5.5.1)(dva@2.5.0-beta.2)(rc-field-form@1.32.0)(react-dom@18.2.0)(react@18.2.0)(umi@4.0.69): + resolution: {integrity: sha512-sHKynw/fi7UeUftzTRPRsrV5GHV4BWvWYhyvwkg8s+shmt0ROPW/52y4gxBziEvetxl8yWMKUCWk50OUDOcrww==} + dependencies: + '@alita/plugins': 3.2.22(@types/react-dom@18.2.4)(@types/react@18.2.7)(antd@5.5.1)(dva@2.5.0-beta.2)(rc-field-form@1.32.0)(react-dom@18.2.0)(react@18.2.0) + '@umijs/max-plugin-openapi': 2.0.3 + '@umijs/plugins': 4.0.69(@types/react-dom@18.2.4)(@types/react@18.2.7)(antd@5.5.1)(dva@2.5.0-beta.2)(rc-field-form@1.32.0)(react-dom@18.2.0)(react@18.2.0) + '@umijs/request-record': 1.1.4(umi@4.0.69) + swagger-ui-dist: 4.19.0 + transitivePeerDependencies: + - '@types/lodash.merge' + - '@types/react' + - '@types/react-dom' + - antd + - babel-plugin-styled-components + - chokidar + - debug + - dva + - encoding + - postcss-jsx + - postcss-markdown + - rc-field-form + - react + - react-dom + - react-native + - shallowequal + - stylis + - supports-color + - umi + dev: true + + /umi-request@1.4.0: + resolution: {integrity: sha512-OknwtQZddZHi0Ggi+Vr/olJ7HNMx4AzlywyK0W3NZBT7B0stjeZ9lcztA85dBgdAj3KVk8uPJPZSnGaDjELhrA==} + dependencies: + isomorphic-fetch: 2.2.1 + qs: 6.11.2 + dev: true + + /umi-utils@1.7.3: + resolution: {integrity: sha512-KLUGIKXkuPOq8LACQN57nj9rSPIjLz8eLbR4mZpihJ3BgL3f1bZFvmUV/VYHr9D7PfFH2Vb1Y6UAOuNkKL9g2g==} + dependencies: + chalk: 2.4.2 + dotenv: 8.6.0 + is-url: 1.2.4 + node-fetch: 2.6.0 + prettier: 1.15.3 + slash2: 2.0.0 + dev: true + + /umi@4.0.69(@babel/core@7.22.1)(@types/node@20.2.5)(@types/react@18.2.7)(eslint@8.35.0)(jest@29.5.0)(postcss@8.4.24)(prettier@2.8.8)(react-dom@18.2.0)(react@18.2.0)(styled-components@5.3.11)(stylelint@14.8.2)(typescript@5.0.2)(webpack@5.84.1): + resolution: {integrity: sha512-n6MqLQnJKpCDPzzMptSBa/2yfawNs0yXSWg6yWwKAyVew+IxodqD99+6i9ssGCudXPaC5AnbjIqF4bwa1IjTWw==} + engines: {node: '>=14'} + hasBin: true + dependencies: + '@babel/runtime': 7.21.0 + '@umijs/bundler-utils': 4.0.69 + '@umijs/bundler-webpack': 4.0.69(styled-components@5.3.11)(typescript@5.0.2)(webpack@5.84.1) + '@umijs/core': 4.0.69 + '@umijs/lint': 4.0.69(eslint@8.35.0)(jest@29.5.0)(styled-components@5.3.11)(stylelint@14.8.2)(typescript@5.0.2) + '@umijs/preset-umi': 4.0.69(@types/node@20.2.5)(@types/react@18.2.7)(postcss@8.4.24)(styled-components@5.3.11)(typescript@5.0.2)(webpack@5.84.1) + '@umijs/renderer-react': 4.0.69(react-dom@18.2.0)(react@18.2.0) + '@umijs/server': 4.0.69 + '@umijs/test': 4.0.69(@babel/core@7.22.1) + '@umijs/utils': 4.0.69 + prettier-plugin-organize-imports: 3.2.2(prettier@2.8.8)(typescript@5.0.2) + prettier-plugin-packagejson: 2.4.3(prettier@2.8.8) + transitivePeerDependencies: + - '@babel/core' + - '@types/node' + - '@types/react' + - '@types/webpack' + - '@volar/vue-language-plugin-pug' + - '@volar/vue-typescript' + - eslint + - jest + - postcss + - postcss-html + - postcss-jsx + - postcss-less + - postcss-markdown + - postcss-scss + - prettier + - react + - react-dom + - rollup + - sass + - sockjs-client + - styled-components + - stylelint + - stylus + - sugarss + - supports-color + - terser + - type-fest + - typescript + - webpack + - webpack-dev-server + - webpack-hot-middleware + - webpack-plugin-serve + dev: true + + /umi@4.0.69(@babel/core@7.22.1)(@types/node@20.2.5)(@types/react@18.2.7)(eslint@8.41.0)(jest@29.5.0)(postcss@8.4.24)(prettier@2.8.8)(react-dom@18.2.0)(react@18.2.0)(styled-components@5.3.11)(stylelint@14.16.1)(typescript@5.0.2)(webpack@5.84.1): + resolution: {integrity: sha512-n6MqLQnJKpCDPzzMptSBa/2yfawNs0yXSWg6yWwKAyVew+IxodqD99+6i9ssGCudXPaC5AnbjIqF4bwa1IjTWw==} + engines: {node: '>=14'} + hasBin: true + dependencies: + '@babel/runtime': 7.21.0 + '@umijs/bundler-utils': 4.0.69 + '@umijs/bundler-webpack': 4.0.69(styled-components@5.3.11)(typescript@5.0.2)(webpack@5.84.1) + '@umijs/core': 4.0.69 + '@umijs/lint': 4.0.69(eslint@8.41.0)(jest@29.5.0)(styled-components@5.3.11)(stylelint@14.16.1)(typescript@5.0.2) + '@umijs/preset-umi': 4.0.69(@types/node@20.2.5)(@types/react@18.2.7)(postcss@8.4.24)(styled-components@5.3.11)(typescript@5.0.2)(webpack@5.84.1) + '@umijs/renderer-react': 4.0.69(react-dom@18.2.0)(react@18.2.0) + '@umijs/server': 4.0.69 + '@umijs/test': 4.0.69(@babel/core@7.22.1) + '@umijs/utils': 4.0.69 + prettier-plugin-organize-imports: 3.2.2(prettier@2.8.8)(typescript@5.0.2) + prettier-plugin-packagejson: 2.4.3(prettier@2.8.8) + transitivePeerDependencies: + - '@babel/core' + - '@types/node' + - '@types/react' + - '@types/webpack' + - '@volar/vue-language-plugin-pug' + - '@volar/vue-typescript' + - eslint + - jest + - postcss + - postcss-html + - postcss-jsx + - postcss-less + - postcss-markdown + - postcss-scss + - prettier + - react + - react-dom + - rollup + - sass + - sockjs-client + - styled-components + - stylelint + - stylus + - sugarss + - supports-color + - terser + - type-fest + - typescript + - webpack + - webpack-dev-server + - webpack-hot-middleware + - webpack-plugin-serve + dev: true + + /unbox-primitive@1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + dependencies: + call-bind: 1.0.5 + has-bigints: 1.0.2 + has-symbols: 1.0.3 + which-boxed-primitive: 1.0.2 + + /underscore@1.7.0: + resolution: {integrity: sha512-cp0oQQyZhUM1kpJDLdGO1jPZHgS/MpzoWYfe9+CM2h/QGDZlqwT2T3YGukuBdaNJ/CAPoeyAZRRHz8JFo176vA==} + dev: true + + /unfetch@5.0.0: + resolution: {integrity: sha512-3xM2c89siXg0nHvlmYsQ2zkLASvVMBisZm5lF3gFDqfF2xonNStDJyMpvaOBe0a1Edxmqrf2E0HBdmy9QyZaeg==} + dev: true + + /unicode-canonical-property-names-ecmascript@2.0.0: + resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} + engines: {node: '>=4'} + dev: true + + /unicode-match-property-ecmascript@2.0.0: + resolution: {integrity: sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==} + engines: {node: '>=4'} + dependencies: + unicode-canonical-property-names-ecmascript: 2.0.0 + unicode-property-aliases-ecmascript: 2.1.0 + dev: true + + /unicode-match-property-value-ecmascript@2.1.0: + resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} + engines: {node: '>=4'} + dev: true + + /unicode-property-aliases-ecmascript@2.1.0: + resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + engines: {node: '>=4'} + dev: true + + /unified@9.2.2: + resolution: {integrity: sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==} + dependencies: + '@types/unist': 2.0.6 + bail: 1.0.5 + extend: 3.0.2 + is-buffer: 2.0.5 + is-plain-obj: 2.1.0 + trough: 1.0.5 + vfile: 4.2.1 + dev: true + + /union-value@1.0.1: + resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==} + engines: {node: '>=0.10.0'} + dependencies: + arr-union: 3.1.0 + get-value: 2.0.6 + is-extendable: 0.1.1 + set-value: 2.0.1 + dev: false + + /unist-util-find-all-after@3.0.2: + resolution: {integrity: sha512-xaTC/AGZ0rIM2gM28YVRAFPIZpzbpDtU3dRmp7EXlNVA8ziQc4hY3H7BHXM1J49nEmiqc3svnqMReW+PGqbZKQ==} + dependencies: + unist-util-is: 4.1.0 + dev: true + + /unist-util-is@4.1.0: + resolution: {integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==} + dev: true + + /unist-util-stringify-position@2.0.3: + resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} + dependencies: + '@types/unist': 2.0.6 + dev: true + + /universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + dev: true + + /universalify@0.2.0: + resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} + engines: {node: '>= 4.0.0'} + + /universalify@2.0.0: + resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} + engines: {node: '>= 10.0.0'} + + /unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + dev: true + + /untildify@4.0.0: + resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} + engines: {node: '>=8'} + dev: true + + /update-browserslist-db@1.0.11(browserslist@4.21.6): + resolution: {integrity: sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.21.6 + escalade: 3.1.1 + picocolors: 1.0.0 + + /uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.3.0 + + /url-parse@1.5.10: + resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} + dependencies: + querystringify: 2.2.0 + requires-port: 1.0.0 + + /url-toolkit@2.2.5: + resolution: {integrity: sha512-mtN6xk+Nac+oyJ/PrI7tzfmomRVNFIWKUbG8jdYFt52hxbiReFAXIjYskvu64/dvuW71IcB7lV8l0HvZMac6Jg==} + dev: false + + /url@0.11.0: + resolution: {integrity: sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==} + dependencies: + punycode: 1.3.2 + querystring: 0.2.0 + dev: true + + /use-isomorphic-layout-effect@1.1.2(@types/react@18.2.7)(react@18.1.0): + resolution: {integrity: sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==} + peerDependencies: + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + dependencies: + '@types/react': 18.2.7 + react: 18.1.0 + dev: true + + /use-sync-external-store@1.2.0(react@18.2.0): + resolution: {integrity: sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + react: 18.2.0 + + /util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + /util@0.10.3: + resolution: {integrity: sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==} + dependencies: + inherits: 2.0.1 + dev: true + + /util@0.11.1: + resolution: {integrity: sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==} + dependencies: + inherits: 2.0.3 + dev: true + + /utila@0.4.0: + resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==} + dev: true + + /utility-types@3.10.0: + resolution: {integrity: sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg==} + engines: {node: '>= 4'} + dev: false + + /utils-merge@1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} + dev: true + + /uuid@3.4.0: + resolution: {integrity: sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==} + deprecated: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. + hasBin: true + dev: true + + /v8-compile-cache-lib@3.0.1: + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + dev: true + + /v8-compile-cache@2.3.0: + resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} + dev: true + + /v8-to-istanbul@9.1.0: + resolution: {integrity: sha512-6z3GW9x8G1gd+JIIgQQQxXuiJtCXeAjp6RaPEPLv62mH3iPHPxV6W3robxtCzNErRo6ZwTmzWhsbNvjyEBKzKA==} + engines: {node: '>=10.12.0'} + dependencies: + '@jridgewell/trace-mapping': 0.3.18 + '@types/istanbul-lib-coverage': 2.0.4 + convert-source-map: 1.9.0 + dev: true + + /validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + dependencies: + spdx-correct: 3.2.0 + spdx-expression-parse: 3.0.1 + dev: true + + /valtio@1.9.0(react@18.2.0): + resolution: {integrity: sha512-mQLFsAlKbYascZygFQh6lXuDjU5WHLoeZ8He4HqMnWfasM96V6rDbeFkw1XeG54xycmDonr/Jb4xgviHtuySrA==} + engines: {node: '>=12.20.0'} + peerDependencies: + react: '>=16.8' + peerDependenciesMeta: + react: + optional: true + dependencies: + proxy-compare: 2.4.0 + react: 18.2.0 + use-sync-external-store: 1.2.0(react@18.2.0) + dev: true + + /value-equal@1.0.1: + resolution: {integrity: sha512-NOJ6JZCAWr0zlxZt+xqCHNTEKOsrks2HQd4MqhP1qy4z1SkbEP467eNx6TgDKXMvUOb+OENfJCZwM+16n7fRfw==} + dev: true + + /vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + dev: true + + /verror@1.10.0: + resolution: {integrity: sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==} + engines: {'0': node >=0.6.0} + dependencies: + assert-plus: 1.0.0 + core-util-is: 1.0.2 + extsprintf: 1.3.0 + dev: true + + /vfile-message@2.0.4: + resolution: {integrity: sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==} + dependencies: + '@types/unist': 2.0.6 + unist-util-stringify-position: 2.0.3 + dev: true + + /vfile@4.2.1: + resolution: {integrity: sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==} + dependencies: + '@types/unist': 2.0.6 + is-buffer: 2.0.5 + unist-util-stringify-position: 2.0.3 + vfile-message: 2.0.4 + dev: true + + /video.js@8.5.2: + resolution: {integrity: sha512-6/uNXQV3xSaKLpaPf/bVvr7omd+82sKUp0RMBgIt4PxHIe28GtX+O+GcNfI2fuwBvcDRDqk5Ei5AG9bJJOpulA==} + dependencies: + '@babel/runtime': 7.22.3 + '@videojs/http-streaming': 3.5.3(video.js@8.5.2) + '@videojs/vhs-utils': 4.0.0 + '@videojs/xhr': 2.6.0 + aes-decrypter: 4.0.1 + global: 4.4.0 + keycode: 2.2.0 + m3u8-parser: 6.2.0 + mpd-parser: 1.3.0 + mux.js: 6.3.0 + safe-json-parse: 4.0.0 + videojs-contrib-quality-levels: 4.0.0(video.js@8.5.2) + videojs-font: 4.1.0 + videojs-vtt.js: 0.15.5 + dev: false + + /videojs-contrib-quality-levels@4.0.0(video.js@8.5.2): + resolution: {integrity: sha512-u5rmd8BjLwANp7XwuQ0Q/me34bMe6zg9PQdHfTS7aXgiVRbNTb4djcmfG7aeSrkpZjg+XCLezFNenlJaCjBHKw==} + engines: {node: '>=14', npm: '>=6'} + peerDependencies: + video.js: ^8 + dependencies: + global: 4.4.0 + video.js: 8.5.2 + dev: false + + /videojs-font@4.1.0: + resolution: {integrity: sha512-X1LuPfLZPisPLrANIAKCknZbZu5obVM/ylfd1CN+SsCmPZQ3UMDPcvLTpPBJxcBuTpHQq2MO1QCFt7p8spnZ/w==} + dev: false + + /videojs-vtt.js@0.15.5: + resolution: {integrity: sha512-yZbBxvA7QMYn15Lr/ZfhhLPrNpI/RmCSCqgIff57GC2gIrV5YfyzLfLyZMj0NnZSAz8syB4N0nHXpZg9MyrMOQ==} + dependencies: + global: 4.4.0 + dev: false + + /viewport-mercator-project@6.2.3: + resolution: {integrity: sha512-QQb0/qCLlP4DdfbHHSWVYXpghB2wkLIiiZQnoelOB59mXKQSyZVxjreq1S+gaBJFpcGkWEcyVtre0+2y2DTl/Q==} + dependencies: + '@babel/runtime': 7.22.3 + gl-matrix: 3.4.3 + dev: false + + /vite@4.3.1(@types/node@20.2.5)(less@4.1.3): + resolution: {integrity: sha512-EPmfPLAI79Z/RofuMvkIS0Yr091T2ReUoXQqc5ppBX/sjFRhHKiPPF/R46cTdoci/XgeQpB23diiJxq5w30vdg==} + engines: {node: ^14.18.0 || >=16.0.0} + hasBin: true + peerDependencies: + '@types/node': '>= 14' + less: '*' + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 20.2.5 + esbuild: 0.17.19 + less: 4.1.3 + postcss: 8.4.24 + rollup: 3.23.0 + optionalDependencies: + fsevents: 2.3.2 + dev: true + + /vm-browserify@1.1.2: + resolution: {integrity: sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==} + dev: true + + /vt-pbf@3.1.3: + resolution: {integrity: sha512-2LzDFzt0mZKZ9IpVF2r69G9bXaP2Q2sArJCmcCgvfTdCCZzSyz4aCLoQyUilu37Ll56tCblIZrXFIjNUpGIlmA==} + dependencies: + '@mapbox/point-geometry': 0.1.0 + '@mapbox/vector-tile': 1.3.1 + pbf: 3.2.1 + dev: false + + /w3c-hr-time@1.0.2: + resolution: {integrity: sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==} + deprecated: Use your platform's native performance.now() and performance.timeOrigin. + dependencies: + browser-process-hrtime: 1.0.0 + dev: false + + /w3c-xmlserializer@2.0.0: + resolution: {integrity: sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==} + engines: {node: '>=10'} + dependencies: + xml-name-validator: 3.0.0 + dev: false + + /w3c-xmlserializer@3.0.0: + resolution: {integrity: sha512-3WFqGEgSXIyGhOmAFtlicJNMjEps8b1MG31NCA0/vOF9+nKMUW1ckhi9cnNHmf88Rzw5V+dwIwsm2C7X8k9aQg==} + engines: {node: '>=12'} + dependencies: + xml-name-validator: 4.0.0 + dev: false + optional: true + + /w3c-xmlserializer@4.0.0: + resolution: {integrity: sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==} + engines: {node: '>=14'} + dependencies: + xml-name-validator: 4.0.0 + dev: true + + /walker@1.0.8: + resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + dependencies: + makeerror: 1.0.12 + dev: true + + /warning@3.0.0: + resolution: {integrity: sha512-jMBt6pUrKn5I+OGgtQ4YZLdhIeJmObddh6CsibPxyQ5yPZm1XExSyzC1LCNX7BzhxWgiHmizBWJTHJIjMjTQYQ==} + dependencies: + loose-envify: 1.4.0 + dev: true + + /warning@4.0.3: + resolution: {integrity: sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==} + dependencies: + loose-envify: 1.4.0 + + /watchpack@2.4.0: + resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} + engines: {node: '>=10.13.0'} + dependencies: + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + + /wbuf@1.7.3: + resolution: {integrity: sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==} + dependencies: + minimalistic-assert: 1.0.1 + dev: true + + /wcwidth@1.0.1: + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + dependencies: + defaults: 1.0.4 + dev: true + + /web-streams-polyfill@3.2.1: + resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} + engines: {node: '>= 8'} + dev: true + + /web-worker-helper@0.0.3: + resolution: {integrity: sha512-/TllNPjGenDwjE67M16TD9ALwuY847/zIoH7r+e5rSeG4kEa3HiMTAsUDj80yzIzhtshkv215KfsnQ/RXR3nVA==} + dev: false + + /webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + + /webidl-conversions@5.0.0: + resolution: {integrity: sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==} + engines: {node: '>=8'} + dev: false + + /webidl-conversions@6.1.0: + resolution: {integrity: sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==} + engines: {node: '>=10.4'} + dev: false + + /webidl-conversions@7.0.0: + resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} + engines: {node: '>=12'} + + /webpack-bundle-analyzer@4.10.1: + resolution: {integrity: sha512-s3P7pgexgT/HTUSYgxJyn28A+99mmLq4HsJepMPzu0R8ImJc52QNqaFYW1Z2z2uIb1/J3eYgaAWVpaC+v/1aAQ==} + engines: {node: '>= 10.13.0'} + hasBin: true + dependencies: + '@discoveryjs/json-ext': 0.5.7 + acorn: 8.8.2 + acorn-walk: 8.2.0 + commander: 7.2.0 + debounce: 1.2.1 + escape-string-regexp: 4.0.0 + gzip-size: 6.0.0 + html-escaper: 2.0.2 + is-plain-object: 5.0.0 + opener: 1.5.2 + picocolors: 1.0.0 + sirv: 2.0.4 + ws: 7.5.9 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: false + + /webpack-sources@3.2.3: + resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} + engines: {node: '>=10.13.0'} + + /webpack@5.84.1: + resolution: {integrity: sha512-ZP4qaZ7vVn/K8WN/p990SGATmrL1qg4heP/MrVneczYtpDGJWlrgZv55vxaV2ul885Kz+25MP2kSXkPe3LZfmg==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + dependencies: + '@types/eslint-scope': 3.7.4 + '@types/estree': 1.0.1 + '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/wasm-edit': 1.11.6 + '@webassemblyjs/wasm-parser': 1.11.6 + acorn: 8.8.2 + acorn-import-assertions: 1.9.0(acorn@8.8.2) + browserslist: 4.21.6 + chrome-trace-event: 1.0.3 + enhanced-resolve: 5.14.1 + es-module-lexer: 1.2.1 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.0 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 3.1.2 + tapable: 2.2.1 + terser-webpack-plugin: 5.3.9(webpack@5.84.1) + watchpack: 2.4.0 + webpack-sources: 3.2.3 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + + /webrtc-streamer@0.8.3-4-g2d0afce: + resolution: {integrity: sha512-Wo+tevtZmoYAdJkoOSen76kJNmsSzEcuJvEWy/nuKLniyecKEzlWgWK6QoXjXR/fjEAsomM+saaKMCM51TzD6g==} + dependencies: + jquery: 3.7.1 + jsdom: 16.7.0 + node-fetch: 2.6.11 + strophe.jingle: 0.0.9 + strophe.js: 1.6.2 + strophejs-plugin-caps: 1.1.3(strophe.js@1.6.2)(strophejs-plugin-disco@0.0.2) + strophejs-plugin-disco: 0.0.2(strophe.js@1.6.2) + strophejs-plugin-muc: 1.1.0(strophe.js@1.6.2) + transitivePeerDependencies: + - bufferutil + - canvas + - encoding + - supports-color + - utf-8-validate + dev: false + + /whatwg-encoding@1.0.5: + resolution: {integrity: sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==} + dependencies: + iconv-lite: 0.4.24 + dev: false + + /whatwg-encoding@2.0.0: + resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} + engines: {node: '>=12'} + dependencies: + iconv-lite: 0.6.3 + + /whatwg-fetch@3.6.2: + resolution: {integrity: sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==} + dev: true + + /whatwg-mimetype@2.3.0: + resolution: {integrity: sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==} + dev: false + + /whatwg-mimetype@3.0.0: + resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} + engines: {node: '>=12'} + + /whatwg-url@10.0.0: + resolution: {integrity: sha512-CLxxCmdUby142H5FZzn4D8ikO1cmypvXVQktsgosNy4a4BHrDHeciBBGZhb0bNoR5/MltoCatso+vFjjGx8t0w==} + engines: {node: '>=12'} + dependencies: + tr46: 3.0.0 + webidl-conversions: 7.0.0 + dev: false + optional: true + + /whatwg-url@11.0.0: + resolution: {integrity: sha512-RKT8HExMpoYx4igMiVMY83lN6UeITKJlBQ+vR/8ZJ8OCdSiN3RwCq+9gH0+Xzj0+5IrM6i4j/6LuvzbZIQgEcQ==} + engines: {node: '>=12'} + dependencies: + tr46: 3.0.0 + webidl-conversions: 7.0.0 + + /whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + + /whatwg-url@8.7.0: + resolution: {integrity: sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==} + engines: {node: '>=10'} + dependencies: + lodash: 4.17.21 + tr46: 2.1.0 + webidl-conversions: 6.1.0 + dev: false + + /which-boxed-primitive@1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + dependencies: + is-bigint: 1.0.4 + is-boolean-object: 1.1.2 + is-number-object: 1.0.7 + is-string: 1.0.7 + is-symbol: 1.0.4 + + /which-builtin-type@1.1.3: + resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} + engines: {node: '>= 0.4'} + dependencies: + function.prototype.name: 1.1.5 + has-tostringtag: 1.0.0 + is-async-function: 2.0.0 + is-date-object: 1.0.5 + is-finalizationregistry: 1.0.2 + is-generator-function: 1.0.10 + is-regex: 1.1.4 + is-weakref: 1.0.2 + isarray: 2.0.5 + which-boxed-primitive: 1.0.2 + which-collection: 1.0.1 + which-typed-array: 1.1.9 + dev: true + + /which-collection@1.0.1: + resolution: {integrity: sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==} + dependencies: + is-map: 2.0.2 + is-set: 2.0.2 + is-weakmap: 2.0.1 + is-weakset: 2.0.2 + dev: true + + /which-typed-array@1.1.13: + resolution: {integrity: sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.5 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.0 + + /which-typed-array@1.1.9: + resolution: {integrity: sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.5 + call-bind: 1.0.2 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.0 + is-typed-array: 1.1.10 + dev: true + + /which@1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + dependencies: + isexe: 2.0.0 + + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + + /wide-align@1.1.5: + resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} + dependencies: + string-width: 4.2.3 + dev: false + optional: true + + /window-size@0.1.0: + resolution: {integrity: sha512-1pTPQDKTdd61ozlKGNCjhNRd+KPmgLSGa3mZTHoOliaGcESD8G1PXhh7c1fgiPjVbNVfgy2Faw4BI8/m0cC8Mg==} + engines: {node: '>= 0.8.0'} + dev: false + + /word-wrap@1.2.3: + resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} + engines: {node: '>=0.10.0'} + + /wordwrap@0.0.2: + resolution: {integrity: sha512-xSBsCeh+g+dinoBv3GAOWM4LcVVO68wLXRanibtBSdUvkGWQRGeE9P7IwU9EmDDi4jA6L44lz15CGMwdw9N5+Q==} + engines: {node: '>=0.4.0'} + dev: false + + /wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + /write-file-atomic@3.0.3: + resolution: {integrity: sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==} + dependencies: + imurmurhash: 0.1.4 + is-typedarray: 1.0.0 + signal-exit: 3.0.7 + typedarray-to-buffer: 3.1.5 + dev: true + + /write-file-atomic@4.0.2: + resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + dependencies: + imurmurhash: 0.1.4 + signal-exit: 3.0.7 + dev: true + + /ws@6.2.2: + resolution: {integrity: sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dependencies: + async-limiter: 1.0.1 + dev: true + + /ws@7.5.9: + resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dev: false + + /ws@8.13.0: + resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + /xml-name-validator@3.0.0: + resolution: {integrity: sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==} + dev: false + + /xml-name-validator@4.0.0: + resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} + engines: {node: '>=12'} + + /xmlchars@2.2.0: + resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} + + /xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + dev: true + + /y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + dev: true + + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + /yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + /yaml@1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} + + /yargs-parser@20.2.9: + resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} + engines: {node: '>=10'} + dev: true + + /yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + dev: true + + /yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + dependencies: + cliui: 8.0.1 + escalade: 3.1.1 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + dev: true + + /yargs@3.10.0: + resolution: {integrity: sha512-QFzUah88GAGy9lyDKGBqZdkYApt63rCXYBGYnEP4xDJPXNqXXnBDACnbrXnViV6jRSqAePwrATi2i8mfYm4L1A==} + dependencies: + camelcase: 1.2.1 + cliui: 2.1.0 + decamelize: 1.2.0 + window-size: 0.1.0 + dev: false + + /yauzl@2.10.0: + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + dependencies: + buffer-crc32: 0.2.13 + fd-slicer: 1.1.0 + dev: true + + /yn@3.1.1: + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} + dev: true + + /yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + /zrender@5.4.4: + resolution: {integrity: sha512-0VxCNJ7AGOMCWeHVyTrGzUgrK4asT4ml9PEkeGirAkKNYXYzoPJCLvmyfdoOXcjTHPs10OZVMfD1Rwg16AZyYw==} + dependencies: + tslib: 2.3.0 + dev: false + + /zscroller@0.4.8: + resolution: {integrity: sha512-G5NiNLKx2+QhhvZi2yV1jjVXY50otktxkseX2hG2N/eixohOUk0AY8ZpbAxNqS9oJS/NxItCsowupy2tsXxAMw==} + dependencies: + babel-runtime: 6.26.0 + dev: true + + /zwitch@1.0.5: + resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==} + dev: true diff --git a/public/CNAME b/public/CNAME new file mode 100644 index 0000000..30c2d4d --- /dev/null +++ b/public/CNAME @@ -0,0 +1 @@ +preview.pro.ant.design \ No newline at end of file diff --git a/public/bg.png b/public/bg.png new file mode 100644 index 0000000000000000000000000000000000000000..2b08d4f22ac2c50ff3667622cf55f1368cfa2b62 GIT binary patch literal 59549 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 Z(RT6lPtlDWpK0+iBlkP+tF*&i{2xXaCSm{p literal 0 HcmV?d00001 diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..da979d741b284be098d6a6c2ad7a6b8c6794393c GIT binary patch literal 165662 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 Xn3sn8&f_EZWAhbaJ|Onn7;yQ2P&!cg literal 0 HcmV?d00001 diff --git a/public/icons/avatar.svg b/public/icons/avatar.svg new file mode 100644 index 0000000..e5f148c --- /dev/null +++ b/public/icons/avatar.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/public/icons/fault.svg b/public/icons/fault.svg new file mode 100644 index 0000000..0e8f7fd --- /dev/null +++ b/public/icons/fault.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/public/icons/icon-128x128.png b/public/icons/icon-128x128.png new file mode 100644 index 0000000000000000000000000000000000000000..48d0e2339a60a637b94319c65e8654289b4f4b6c GIT binary patch literal 1329 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

*C7T$?5!b= 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 + + + + diff --git a/public/icons/offline.svg b/public/icons/offline.svg new file mode 100644 index 0000000..72bbe1f --- /dev/null +++ b/public/icons/offline.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/public/icons/online.svg b/public/icons/online.svg new file mode 100644 index 0000000..9f11163 --- /dev/null +++ b/public/icons/online.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/public/icons/running.svg b/public/icons/running.svg new file mode 100644 index 0000000..ac23c91 --- /dev/null +++ b/public/icons/running.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/public/images/computePowerAllocation/icon1.png b/public/images/computePowerAllocation/icon1.png new file mode 100644 index 0000000000000000000000000000000000000000..2c6a354eaff1baaee5e707efdc50df6ce9533919 GIT binary patch literal 392778 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�>OIZn;D;+sMi@ngD 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 R1Yk;fox6eIzu8hPWIA_X>Lgue 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%0Asm4+in#m+rimlo7==Iymwq^JsuQ)!A? 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�*4qioyR3VF%F5g7^XDK24OCai!9VE=NM(gLBOJtA8o{f6 zGXsU};ZLsQ(J4BDI^x9rn+pE9QJY5o9Zk-aJV5O+>^D4s8_!?MW+j($*iHm2OZW2keV85lgcG zhxBtT)w~R?9ZU=*JhrCr;^z6zL76Q&kwiIcAh*o=*1$)_8_h5TC9M<@Ba@JA_NMGK z2oo!np+>iha|Uew&mlzz87@NUhq__a29lBoO73#w?X}Ux4P41J#Q0F!^!*3fXyw{i z$fikY{R)66(Gp`1BhN!ErT+U`@jAlIY5N^Wzp2d4MHJaYBAI}Av5KpA6hb@M>w_%% z$1-+*N8i-A$}Se!NSnz~5J^#29^I9Qrh1FM}^`eYW|w`IO5f(Ovz{TaW+;O|SmZ5+`t!!`;3;%LBi<#-5r zOu}ZamPk%z4ZpW|pNL7)K}&kbuOqP%BBviGKY~yU)>3;KT51Ss*FPntmFw}c8X9^1 zcK1tj7BX@l@V@WAi|v$>f#PhX9mW+>%q7J+ArOc-04Grd{UkHtrcqQ{4U=zD(@h)`fhC0{i?)Qa-}V^-+k;2dKj?KaC}lZqxa;rGd|vn z#9;!#bjn85!!;|eRk35Wypcc(}l48A{MMs&%KHcE8AtY!H&F z9KobDI9Z8uBBCRge>6uY^8GnbSY_OS`xI`4+mMe8EVxrNtpR8UGh+B1RYLeV;?n83 zdb*6Lxg9c_LlHOiDZigjADJHn?!~F-k;sx)kv}7ttwi1@{<3EOfI)7=S<(}}_*%a^&<$}XC zX^Dt#BE~D>-HxA)l%ir}vDx5Ss9CVv&w&rI@7@~q2P$PC0t>>T+D!Y8yU(JR+{l|D zodP+rrcgA#G#|pQg(D%&FmfbnZse&!rj`bTAV>Zp z-fDfSH+#Y>a>E-t{)M4BURFjUaq4?+3RarnQtxXkUZ@ou?u_Vb7Ct1|n|Qgf`V{r^ z8`}u0;S+k>^|Wtn7S(bJ)o#f0DVaco(LDU6LbZFM$)=gVK6ZYeMQA6}cnyTWKd~^e>QnZSRF{F6Z z%O*SsB>}Mt_a5=|B?pjF>iv(Ul7m)n!mozzyd%T=nJHct18y9F6ZcQ+XGN$t_HmfM z-XNI|QY*s}SX3H-1l4I=zayI5mEQmH$uCx7F^3xVMQYc) zRh+Djji8srg*q`?F|_j6afiOzmeH8L#BMAfAWNj!6mE<~YC5v?&B}%~1&}LUbz|tY z46CSg{KW>Vl~0^5Jn5bpd1KJ`pO(lB_1xTO{5?~KhUk}(E)tY|$y{3b6JOWBPM%yT zbv6#7o49E_?p*6e7wN*2mytry@ZXPOxT4)EFn#9mlc%r+ zi%bFll3a(xwgf1G5#9}q-INK8z0?t1THh@VDHAnZp4I)5c_W9nPl|Cg*spbs)=@;-O{v&geAb z$;fFsCkxql`!r&vmmR6`OnLxx!@+rk)Tre#@BZE$3*%5tvaGg4z~FQ3CPTkOaIpZ< zO(exqk6u7a@l?4Wq>e!6s%!bE-(y6^%NB2Pm~DjJ&=)d^N+lN2p+_bixRDvIGxd(i z5HXjbWQ_Dq{0&s`IJH0CAAJ0=W9r-yYJNTPz4i@JOoP|R=)6T>F*W7JKELFb2x@OT z*mcJ%2ssQt0Q>5IWOv8nXYyFqT!{?1FFUq&{ z>4=M~>%*(m7`LOpDp{Johi8QCrc%u2m#SJuWvh(4ke>al>tUad9*5oge-?s##P=Xw ze&bwXxbX}@=bdj&RvuOaEXR6+DB+z}m`nPS7-$bW2w{O=pf^0(iI zst2NE`=rv76N(Vw#fDIVEBRIUW>We2$rIhHh(DlhrjVhGV)1_7%5ga3Ggld5d@W|7 z%@U>>TVisj?2dm0uB%LKQT&<#)3STij2)w`V{2>8lqf7d<9zqF_Rv&TRfE}|;cux$ zF_^Thcqw=J{$lMruNRa zV0e&O+pC}bu@X;x&b!{f zfVF0EKlgp@YwzDi^CLab<555w)kYO##dDUhRaV%BP?M%=02dQzLg{lz%34K;g6zmU zjK6{Pn+u8hxGPW+E69NgE}`q&q{0z`k z4#`TzgMfTB@QkTHFe8M0Qf33bfZUdYxdNIF8+d?OLo2~#{+i%dx9eF){mO0uxGx5Y z{OKz(7~pyF4DMRGRidTszgwoJEjC!ZwJwEXms7CV8XML}T{yo^9?*Yl7}zW8+y>mJ z>}Z*y6`bh=ByDsIRie?gb*Cp{zkQh2xZYJY(I-~d4G+y(ndV|neps|FqMST|C9-k+ zb9)$w70dqw!mTEa2g%^H0H-mDcBQzB62SDKi5!@c)?rWy7aTHtS~n_O55Oj zXneJSv{;*EZz^Z3Yxd6aQ@{Q0N&EfZyZfMlm(uSK2#0vq0$09qc8NSdwEuc;rk>Xn z(>e#F+>g6#=S{#kR*!r=`9XqquP09pf!S;4Sxt8B>@MT_Q8jC<{kK*JwN+}C=G zRQa}6>XCr`XN67lxYu7X>}R(ZHp^HwpXsDX*@L&`W<-BpZ=xW*rKvqL3nw*|tbC@{ zyT(|MD7LN+kORc@SU%0Oh~QiIj)WZ?6K+KQus?lOh4^hh<9_p{ToNZ%OLKzc9aWA& zGUB2o)qO_1@{B&u1YSU6=30}0f0f~X=-n#7bWvBuE_yI4`T8O2)qn85X*nR=#dpTthE`u= z!HU;k>(12Afa~TX@v9ayA|am(^iKWN1Tipp1T{-d&(;DduA-yvIi9;WOEv(d9*A8P z6Dh()l$EM7fMx>LL0#Z;w!HGbmXt7VWmCnCqn0?^7K+y+h!yNmm zIV+Ba_4Oh0rnE!M^VT38+R{rKFw=Z3yyqc*a-%{54^WpDp3!u$xB?`|v&qHJ#&$3A z6u%1nckZF=0E|f+y~96Jt-Hmfe)w%BO%$dmw0cn7~H?ep1z={;c20uwGi=@3=%iY%)8-I)`dgFg0k-%WHREBykmiS5UHL5Cvl4l)oI^sj} zD6;*h;Y>Tt(OmIp_-WUij3%5?KW{_6k%((Sq4e?6_3vWaMd- zAqdTe6`Ir5B2<|FOlZe+-xdw2wGNlM>3gP@RmFa>=-NI4OOT}YQOS~MXo$`>VPP|8 zM9u_}M4pT_>xcDtsI-?pU;_~<{p9C&WTt8~twqw^{Zo(k(4t{-VZE`a9*(;14bXf6vjW-GZ>F;f-X`N77 zI$@-O-?++UVL!2oeO-{*m+%wO(uauZ^|s%LeV|A2qQi#_nd9EP&L4KcrvGCxZ$7a9 zk{W#&2KVKN+=3N z%~;u96;A(^v&OG)6)-&9XKAx-e?nIanFr}ga&kbsD314n3*Y%GvDJu=CI&K&Em=Wy znxXEF711KC5oFkGU>%YQn%DZ`%2n>krrQinIU{k< z{8DdgNL!4xeTZVvy8Em##ZlkMyw4dLU^7E{GJE(N7oxhz*=rxX=Q`wVKH5hTxz#`S zS<_$L(3hJsPN%~C!v6WU;#dCvo+=9$OjC=F+O@#U-@6?5^S9+{H7~^n1CL$_Hd{RJ zh5c^P$mzbQIhz?heo^P}+@(1tb-KAx3tkf&n)`5%TC@Kpsw-_pnq%TIFUriZz7pU-0RtW-Fj!s@;OGySDNfq> z5l6750j}n^-->Fn4>EO3(WWA3FN85V?-aAe(yy)v%-3A39m^ALQH9UniLzacz5r$> z5Kf;$C1xHtK|T#@)p;~&?t zCDOg}whq)RGZGoo>d?iU)uQ(L_W9m(C)AaJDzcJNHfCtXOMDK~YJ#%_WXD!)fv@h~Ib6#acZ!rc77k zH4S`&c(UJ@TSshzb?fktJUTQPaUeuXqLpPk4MzkZL!eiFyY3M5FTae!DfKW)YGau; zD8)>vD+n6p|2eghGHW!y@OswUKxI@ zj(?Uu4Mzc;{3X)Am+Hl^kYVHa55hz{8KecNDbJC;OC-uj&$+eEfS&!uFc0bnsWX$4 zQS;9U>(j&QN)Z%VAkT;ry|f4?M<80|psd0IgICa;ik2b}lRw+*9P-)Ix?g%#Uqopw zBp!Q4o&Mw?RCMDU)*Q_5#ezk2kpx^vReC|VxJ~lWSZdTeJJ~QNtCyqQ`Ca3U?l8WZ zr^Nm6s6YG3DhX6s+SRN=DW&gEgwNyut8qVZh|9n~1SZgS!D(bh&|kXyTM$sU{G&RJufD;IFpm>+bng1KC)3y7ItLg%M@8;hkdhl* z(;`%*KX2ZWLGF2RVG)ni>sYQ>xuEr`HQ9Tyg7kfC7c<(Q`z4GDi`{QSbVttTSk>uQ zuPRBilHDvpp~$s4-$2xv1hWU}AtXV+zBR+Da3(z+=M;V^_2KOL7yHw2an~u-r8_%T zzH0xF4$}%Ggt2)#pDZr?&kJBnDGMFJk%cA$NnyTBU@Q{&#^k}_tOCSODp6vKyf9~C z+xg>?>%~LbO6tv5fQ1GE=?@nB9EKGK{s5Rdy5zA^Q9mG%i1{e7F{FIgn$FJt%Lsa- z`|URr^4bIluFKY}DClhOM}G7nu;zC#F(52vlMyR$HeY5@Qr_rJClwIgSlP9d?M~oV z5&o(yaQ2VKq>-&g>{a;P*jKK5|sM%wA=E(?R26=gf zJN*zeBlmfS6sLr~d*Fw1iAH9Imj3+ieSgcd^m@BR_TDom>B18=--p8&zv3JUiy!t( zUp_slvrwg##e!rY6x*dY`c`{CII5~q>fc{6C^=qPjY2pW8eNEW1YXL0hkZ-2vUYjp z!NI64rop)N20+=7f!>9`3cD6hib`HVlYn@cUaLsu=fdcifIjIQHK9YW817v5lusD6u zD0)UpKV^L{JF3+1`Zprs^yfy5-fE!qg6e9>H~v#_i1zUXRjG_EkF2e?h~3HGp)twd zSxp_(x@x>u{q7ZPP8hg?9GPrD<)OoK(NCS?_7L|8oKWZsGK_t6Sfh&8(jM-2#zOEB zAR%f~Wf(LBr;KVyw9F%lxo{`l8sVSvp+2<NYZzQDxj_@ z6I1!w68Oz3tw1<&u|WDrTCF2m;a-DgAEhFYQJXFp3qMcB7MI}Y^w0Croo=-9LhaYC z+jznqm)@V6^#N`5r+=J8hMw=^FE0K`dhOWsta%l!ZQ3tCZ9ob2PycmteSUwZti)GX zv1O@}LYWynwC1|?_rGJ*gQvF)K^#{H*T~#M!Vmu29UFtI8#>?afB)9HT8}bdclXCs zo9C++TSbpIQo>igNlLA%Cy)JcLf(&deT62G+|(mfzTp1FUmphZ0OQAJUKjl&m% zWrzASH`GD0^Gp68P6eo28nCV0c8Q>h;C2epvAx zDr)yng3_`nQW-4v1s$<7e=wa659b z@CeeQAE4M3!V{?&dWm#=%qZv5HOla8-jIN4)ZYoXhZK-}Rbeb>bmvKmp>;VIrV}*y zxSpG!P0fqN#+Vzw%m&$x!QbT<-R-$Sxt#!s7C{`4p#4j%=ryN%O?^HhB8H zq&)~*nK2g-1vhsWEQJtksTEapoN zn{70>sS8Fv)$%)9R+TPQ74SM^HZ~j`hbtXnUS#0KL!Pt15sN{J4`j!;j4}T<$(ZV4 zNo#yA_&LDi>B2aBi=0FVvu#4ovq#SDd3{h2%KY<+^DzC-3_VNw#@FoZtY`O;?}zH0 zG+o4`-S-14ZkP9gl>hL>!fOd7!)x&+j ze#yQ+eXhC3f}7pkud{W|rto8rbTe9^!C-U~hKByd{7362Az9|bFK-gp=W1p`o=ufM zT>uU)Pz(w=GAAvGj&T}#e8ET6a<1I`pG6-z@RmIiW2tVH4-7E*7$=D;RLv;md-c&a z$t@2ZGlhBTNVE_@gJ2v6nS0GL)xrD5&=~9A%<=jETB6{aR74GHedhwy)A!EK5@R8? zuXf6&2%!Rp*u@hL<)F6;d2kY&~F_M)P zN=AD3IofbMq3fV@Xj}R+!+9Wq*XhieJ~rpd+}Q*LHWv!GQ#g|61B1+VwYf5Jp-)MU zgAgBSHr0AjB0>}jy*0U zh2Z)U(X?(J$%Yb);VC9rUs#4qRvB;_31(Sx>)bgVT(k`2vZyrG7)4kjYfAB8KYq3 z&=E#ViB%uAh^r`?&S@INwYAI-cFTWssM4x$lf+3THh0@7lYd!S->5|Qm3$#U&5oiO z@C`FO;!pm_hZKgj5wSmlVGOVhSjk{S=84pc@(R#`b85`g6yWiw6c(ce1_W6J(I4V2 zOqw!r(4RciF$u^Ij0b`73J5_8r9^NyY*2lHnkSL4gjibpB5h(2nMxv@pbcKNsYtf`GA(gQ^$N4PEX7k5UXvqR$ zVBK|w5{v%R=?1%h&;xMvo-d;)51#p*VsGf_f`0f<29N&=TnQ(AkBRTUxboZ`(-@xj zP&x{&t$VT&-|WEvUYxiEFQlbcP(FPUJLSi!?JZ6iwr4OQ@*aT)5H{|)TF`%kY3XfT zq(yo^?jx~~fY0%Wz*y`L;C$u~=zeS%DL$XX!a^ghI*e^2I|FX*g1xzU^+>fJJ!@V%9%9+5i^_)=9XrkcRYR{@DSN%cfp7V3mEM?RgW-o&-Ty0~Oc z-M=etXff_;O7fq)ldYC{BlU5b98GyEk=Ej1oEwP(OM#h`*NQBr?!2nZi%gqWT|X(j z1UR_fvhk*qy$G4z9mCw=flgSQfn9^!O_Y}2C-?Vz7N4qUXpI+G}BMuT6$&~A=~X7L~OiExaWatxGwEp{k13L?Tbih~n4i97j4pq*BYQFeRmy0XmEp_qa=g zXLf@eX`fGNDZsHSp;$X}#TaQ5fMoDjVT`*idTEf7zif-iE<@R}a73W2n7SdB*J|yB zun)XA=jW=pl0pcscu09Jj=_$>0FhokSXY${mgY{7A{~Kh#z^+HzOHc*5l79fK2gUf zG>I5-qUIM8);CyYO0BO*8D^{kJK-QheaQ-oz{?#kjvLny7 zClUqU+K;PwS$WtKFLY>FkNMZbT%5x@QUhMQ=k9h6@Wy;w#0Zy9VSP~@$R4#Fzr36&>KaUdxwACG^tz1q>!r1`?^hgYuXiT|YU8hqYp_m{uDV!w9w z-T3PL^W^8`deIemtHjQuxH!{jsjb1YxZXNdTqRCyu8%Zgm}&D!3)CT;_%gb*A#Y95 zoF(7h-sJWoKpfS>8nVxyW`=o}*6WVmM<1Qs8@P*k^RC*cSRv4nZO2IPX!D{W{gm0S z9PZmYf{#WDdgj+DkXeOV+e{MZ4Z~I|`n>&2SBM)hP@O;gv_e%wWT8h*-B;c|6G)W( zx2)^ANt}r0!BhVlCoZXHyJS7h&Fi4~(Z45d@ock3x8eBlQ7P&zTGGh=Z3iKt~h)j?o!$`eKD3f)jQ8+=i5IH4V?3sp0lAd-QM+hNAp`5dm-h&G7 zSM8VxzvOst;~Uhos`*dzXwrAK-<0s#!~xJ=x;%_ygn$L;pVTkDiYs73TyA41I=dlm z!RTz|8qw=H7d3W7`a{m%5ahKiJ3l^=nS`Zm(+=XY0^12~5j)#9XnTDWGbCN-6_;fd zTIs*?!)_bP7v$;6q?PsRTNbI~FQ8#MwoGwB!4({o8t{e|j5O4-)ZEP7dMEY6T0Y|L z37N?@4A3Ut*s{yIA^ClwGWw9)MUh670*^3WHhAsTW^uGWe~v} zDK749>6=LuWLrog4Y2h7sKGTNSeI3xQ?NR=V`P}|9%9tp7(xuz*HvLGCPR)OPi$fh zX=0|B&!AFfhv*Luyu>(E<8}rTB~wq0P)Xa~9468pHAf2gPsnFf`jfNuUZd#u;_uGt zxVXkHAi_N-Vuy7A8_TmSz5Qc5I+*0VtMy)wl%DHyW6IO^%1Uk+2c4_x)Kiv&L!9>( z{#+lrSY`JhR*3vNl@?3It6(@*@zStHQAcvsXgNB1mL*=p6Y}erC4SeE5o@JDHLLew zmYF_FTBRfhu%C_V>>NR(v6Mgn3Xy4v6m=6biWz>Hp*`4S9l3ush)(Wr5Gheclf z3!zj1pTB|S+MA;@z;fG}WVb&`erTd=)yHf-K%TXZIhwTBqE=>X3^-d`p zCu$c|<^`v{#-k@r+6ey>_zjb*xAk+}7;(!@XWet@y3;S9k**>($E^sRtF<)x8a|0a z?$w;{O@wM3Sc`)BKUR6>aR|3_zQ3Bf>W)YUp?bIV*7u7w|3IJVF1H}?)P{7_mUqDB zW9K_JJf48k_dTyPy^m5a26+7`CC~Sj+HRt{Qt$f{QGdDyvx{DQDN?bKpR&&sc=~Di z^IG8u*PP8|t+;e%(dQ1OZ~y_#p-?_UjSB-7*bat3NrFB2;f{>Fm~x(1?=J3UCRWw2 zq&~>yb3uyti=qf_XnZmp{4$es-ZpMd-4Y_GjKFbgII3cNJ0gfg@4pycxAKKK_mC;~ z4P$^3DWa{E*4dtP$n`w}!6ou1QCTKiNlWaHA`L`AcJ%O->i|&sUOF2$8;8-HIrFql z?n`cl9AA)9MV2n4q_Jft_}PrP(hms0$}qx+Q~~>Jeh zG!-`bG8Md0JV;TK*`fo5)Ms_IgM%6I*cWVIb+p_?OXxn%zr{`E$T2!2%u(zHQ%bKxzGnvE7LYhZUo z0*4wE2c3C=NRZnyf-Gpc`}O2N3JtEBk2}i;F-qXPlfB-Xn#aEUU)L(Jk04 zDhYdaRdkXW<(@jP{CM03#MSnRd5}t8Y+`YCn0~aA#d+F(nEAfY_PaM^k3B5xi)kHi^rBhmxK`dP%6L_|Z*T>?XBFt|Isr(OV@R7Ov)cv`j9d#+l`k z`eYFvd!#0m{wK9Ub%}70kh$XUL!~u7#|Vc0JDKVCCQ{qFdOglB$iqeoKjIci@B^Jd zFnBQ>gKWZzNO_T7p+8pNXjWahPA*Q%bT$yZz|=w8WVwRtrLiGNcG4u$-GpH8gL*y^ z#lH=M^wSy0QkVHkUvo=2($0zL7o%<}6_OU5(8_ES|#`REd_} z_JTwo4gQ}Po0eI2zxzOf(F?l6(u$Ao{sVDy(1Il4gpG)+YO~uYZi8@v?X4;xE}>kI zn0|B$VaC+B%zMvZ(;V72is#JB|2bIUT9?=o@j(Jv0eyRhC+oYV_uZ(@UxtE!9W7a3 zWGa_+`Nhu0-*HaZ8xb4#FLA{($-ZkPY*^1ID)LP?=sWV5uz46#i9OF0oZnjDRWZZ1 zva<5stYj0R(6&;z5BE7L4mnvyVulPzRONe}d;vhI@2kSOFNZIEbH4pvVSzU$7c$_4 zqRK8lC-92H@x_GxhHbVo)kt} z$wfOZU@%zGHn=IYJSvB{vlUqqn_UI}<7?pp)?pp7cJ7MdTQKX;2{@#FhIxKd*NjL` zrWyBDiwFermHM8C|8;HHg|S8*J3H9as}kuk=;_c@__K}^LqHT^zsT*Wb}Z)R^)274 znW$`~z^tzj94&~UlyEZ_^%1+lk~Z> zrB$({&VSPz_Z{89J-5)ox<*WqabKO-$J~NbDU*zKx<+6@w30C;)4bfW0uy7=@3L@qSbifrLf_K3#_zJ2V7CY`dm;S%&$)0JROc~B2hHj zM*r?jF&lJ%kljTla-JK3DI3|$hs=WG&^Q9pgWl|N$te6*`lX+*+u&1mK|zI8W*eok zWmkGJo=i#ou0G{+40ySZsz$m}m5kG2Nt;LR_MW%SEsol{d1fCF13)oIq(Vy0ZlJAe zmiXVZ5qCNApP6~P;-=M!Ld)os@Q4O7ZGD4AY@v26I0ZipB*!YvO`B(*K7wkLO zmNB2v7o7@`G1!EX5zu5O#4FvqhhymikfS&|%_^JPYvD1DeACVFxRH1IE*myoP?aAn zVRTN~;O?_x!n`#hc#%2>tB!V|UlBRkj@Ij9pj)h)9VEt{tOWwH`@9n>cU-#8jG;h} z0^=;1v9gpaqtRkl+SNfTJC`L|N&>4RYHGOZNTe=>aJ~S%JI!s%=x7wNlS+fpoL3Kj z=7Qf>L8n~C_ux~EAtfuT|GKD!svQUq_w>9WFu$tM8)}zTP(|?8E#@9A`4jwYmQk!e(^Zj%z zK9icwxb6tvy{3?U(T*l~KP;@dCpjuua*uZs-=qF<@^16>LZ`^LoIg)*OW1ds_`mKI ztiR;t3`FlTN+^&v15MHMZfKJJ4qwvTZkQ!=cV%Z8D&6R-{r)U^`Ud5{wdXA-NRaK) z0?UBBF5M@h<|C6N_3_(@1Js$5hr#v3`ye5{7PAFH5Bf)ie1v__bkAw_T7b^^Wo7s~ zsk?xl^C)`ilxLay(9Dy7PR$=T;sk7Mc}wKMi{_otj}5#!`_SoT=I?{vc_pywZp+xi z7!1H1>5inF2!hw8i@Q>{YD)8RifS9h zh#d|hoaH)~Nbbm8?tcdAkJ##cODMy~TU!SW2xGHGkVvvPryqQG(ZE{UL9~v)8)#@> zfQbBACIF2j)jVD#zDBz7vh^T7va}7oh&WFYT-$cq2#cbt?G>vmCHcSqOveay{ z3WZ@{^pmo-l1~XuHbf1ydyxe!_PKWN#=J_Eq)V@L+4Vi@|}&di%Q{kV*v{u+xVf zpKWZuCRHgB2(M>TLXC|`pT~)1M~<)rRRRT2P>PH#waNvZ3N9{PQ-_!f73Y73HqqT2 zjbYVX#oKD2ACaUPTKeQjJ1;?G{khD}5 zbBmSNA=`D#1o5gD44Wv)`m$jlcwA+GS`!6)ETh>F*NX$WiqJ>d=1KDGtx1+H& zACgfo4b9$1MKN-M9IDFvA!VMIyp%HeCu}`J zP!{@)qIDW}&IvYf;-9;=&-8-xI-=g&TcFN9nn-3p|3xh?Iu#Ohuv~KS?$W<>k@^Pl z7|)vedz^iu?miLV5ob~#`5uxMWTB` zl4)X4s=?-~48A8Ctrx^iB)U&!&%>d$^#APu;)J8N#{AyHrZ(#+4cu({+tEY&>-}zC z&xwW4CN1SYifa`s^;mYRZy~Vv-nK{wy5ltDqbVuSt;ZB1d8UE|tN?Y4n{nH|jAV(pn zZPZl`5z~6a5*amY5ooqe=#g+Qfl3(n2m{4|-w4qSz`pFyTIv7u0$2fj6nuP+m*%3R z0uc&h8MYf@(p9i~Y|jDxpIJmjE)Wz$2W(xAc!Ixz&Xa|68IOk}HS26*Yh)$b)`b3b zRZ}t?eZb!$Z{5w+w}pJHptf#NC1R|KXN5bzYHgK~iCNqS6~Ek|&W)D-BTGY`Hu-X_ zhQ=wBii7(Hy7^(}fL$7f4kzAW_jim`sR8?!d;HV#KZ%#yTQh;}8%@>iVD68t1Qx#u zJ|ck`nM*rVyp@Iv5!CA-bOrQ7N6J@Q@D54Y2uqo!h^YchphHl)m~DH2@MT1-uv1KT zX`#Z}8X>!JOxr99n{jm^etb6N*;Q6x`RD7}->f0mZdA9^yple_p`lmXL}ICfZDX0= zbAP0uOn|kDOE^Pm_kirP@AMx%hg)v*!+em83fmj>0xoVad2gbcgAq^f-~f)WKbH+N zUr0!O;lRLG_wY5G3CS1hUy2cNuLxA{>j774SdFqh1bIM*OGf> zEiwPk-TAEP9TKQ(o*%x_u2}qgRjBBE&3qp?mluyX^iSKpq?%o)Pd|8gBlCPW2F;my zKjDlXJ;<+hzT?FgU3qF-PoaN4eC%I4c$xdL10IG=owY23Pw#Rq$bzvJpERgRG4Q8P z%;SU7m(f2{+9Al4oFN{1`TE*#a`%>8@6PiZmb&D#%$I=79Eqh>?Ze=Tj?spY$u{q5 zQbAF*Mb*}9a2MgDh+lH840B$AyLmZ>U$ww%uMdn>x5$GORg^6d3k>}dospQ}c_OQp zsPYvo<>_WV6KM(%E@RX_&X+6hA3Lm_=3^tLR#)z|KB+7@i+T1A%e~R~@5)P^J=xhD zL9_aqKAV)?gV68XJo4qfzc5%SYE6JCx-Gv1A)&@W@?)&><>+URtiwkroQ#N2rVNS+#`*IxqUng*hxLpLWRH zz7Hi|&3v{%$cLhk;lFyx<#UKhfr!_*n&SKEMd1|Pp0BT#r9ynuRLQ4WxUsM+WIT>m z0FRSI9+X;KD_a5uG>3*BNE!wj8?|AvIRT7PkqyJc7B67KUc$-W!W;$g#aQ0NbBRw7 zbsbhBq&S$slS7FL6#6tRaML$|HrZDCXs@c+pe1CBhB(eeSIih-M8=A4o>pFw)R=p*=N(dP6~o*A^RSI(kYrQ{iG>Hf@UcxaiTE2=Y2#>>!78Q0 z7^(n%WP-gxDca9$4*I)P3Y((y`X;+P@CN>7^y3hVlY4Mw&v>v1{Gk@0TYMhUsLELi z`p>l)r5AkgmGIru`Z4_c{sfQvI4w`>8v6jJ!+9Szh-y@qL{TCIt{&-W&Y{mk~RxL4((W3oZT5g_+cuy zc9cc4(Z3EsTP$Kj)!vLx%7QyI;MfsaksXif!tG@0i`i37o~U2SV;7c>j`aGO|KP>F zQRrOu9h7_I$W_Xy=QSgB5;O9P&ZvwtRIS2rMvDv{DIMET8MYDp11Ixe3#yLKB*MHU zrVf15T1-1H%k6HfE%MRXRW+vJp!L)K7<|$i}>nkgUx0B;N<4O2~sVEZa<^d7P- zg<6PB$0bdG%vN<=B6p^Cju(6!u|#Uzz8Gqb7p%1^uM-N^N`V!Ssa?JPoUFsf4T&J# z(bb2y;4IKUBelSb7SQdurSu?AY^!Sz4 zojb2rMeaz=MHRtrfAG6ng(P&6cOc3)4DxvBtQY&lPSn4x4$#!qWFUQ*tXOP*T8_lc z3MC}xKDQX<6~z`T0e5_kwUnD)e*88Kl-6GV_%5=5!Vllcy|-S~*HOz{Y-4@S(ceLRAG2%(X5}M@KC2k?gf; z4>7J+o)ez~z2L!~TG|;c>uI&#@x9eacs0Ut-?=88+gs3R-$$7XN?`vk6Sejq&Q4wZvJv~>Q|NYhs;~pwz~v9?(vwe0=M71# zi=iTJ!%3yIFVwA+B&7MT{)%-N5{NlV|Ca~S0$CAJF@Ew>={7;1_@K)|t|(^woDwX_(LYv~=Es>=b8N_l4!ch})_5 zriZ)Q80a#|F#1Q8*rfE(wPxDT>-E&axGA@ND(CmDW8uA|338#@w7p-@s{5QReVr2@3bV7bVs z7>=ceN8jxL(XERa0O(BH=Nc`I5rD7)FH&PTxbUOM;NxIZ?c3mroajtbyJgghsnz2M z?{psy$ojG|812cUzPJTKlMdCl1SwBjBE+1&;eMvxmT;}cJ$o@8t>)2!N8Jc?m3c2F zK%>48d$+#e$NZJm-0~s@Dm6ALOvJ0Yi!wv_=GCPZOKC=~yc6>24++w)(wsd~YlgGr zn9hUxmRLY9vXFIL(xf0R@RR+LiG+&I@KOhh){mQE5Q7bPoYTI1cUe{2l;>;qOR18> zg#kJl+AJtuyk((1IbB+jTi(LwnH2g}ty5Wwaji;6f!H=u59=%B@-;%GW*SG!Mu8Wb zeXM9tA{LG8T9aQP>Rzn4=&LS*!c2`4=1FTNr(pg9)LF`+#VdhjhLua(yZVB4k3crAkN%9_kj4V zL1J>-)t+zz0kH`!Rm*hD8Fe02hb%kC7c;7!r5JY*{wJKKDL3n1e-LAj8bvq;1Mhev zUC&}86K0Ggd1sPe$)Svly^5e9t;^298ksC=N6@jq5a84F$11BHtc_FuG6&2>+gL~((MN>_a~S_^`}U52^w9)Q z&$&cO53dUMQgp!J1|{PjL*bnH+V=^~=K~}A%rYg-%-;Z8S!`?=xiP|L%qSkCAe$WV zl5hTr>MejSq- zIP%r^@UfmUf6w!JTWOUuxH<5--o8EJYtUsOaIMo5y50t9QMtaz*m9-(8lqAqB<;i= z*@BWLk4M*y^*H>x=y@bie|3V(QmHhQTZyYmv*81L3UsB1OS!~o?wRO@%V{iGmv3J) z5L_hykZ_6Di##|08ZsFX+*w)1xJ}lWxS#sm^r=ano>kIcArku?^Oj(fWV_ zrK5n$_ofl68t!}P83{qDp++V^v9mtBpVF4i{J65w*WJzWzDQM`is%IyIueRutA0f! zy%xBjoBY$Bhu==%tZ{EF3NbQs1a+RRcEfXBT5SKO{)eL8m`N20O?;jGTlGBXUw`}v zu5*Y&%wc#+Z>)I)*=M=Wy92EI(Dqq4v;;9?YxROW4OHoUfXy{f_ArJH(_jh4=2yWq5 z_^5;)dB*Ez=q_m@u?|D;Ygt(U?}IWDD>2b~PDAkyFLmf+Jt*Ah_e994; zGTMuOtzB2i{!)LID~;?6Ft-Ah@3##_&JeUrYR{0&47lGz#oYTL`{lkTJy`{+=P43Tr`ZTsIwr1h9v*K#1+p@rh^m=5NVKNe|66HQv>W)sjrQJN8+9D?73J6j1Rx zzBPpX9AYvu_VLXKy;3;G7Y&V2#g>(;6{?EX>V8|>fBnzvPxEz!RYhi8YwbwSshBMo zl^xwY-uPgkH9>=_ZZ%<=`ZpD8$UrD|L<;^p_4PA9N|q{bD})~<(}Ear_fY6<_;|GV zI)z-w2(sgi@rUmTcaE-OQhP)3U9ReDyF**Q>C~4G`idp#)PEgee4+R`@}{RZ^eeu{ z+0&d&r$K%Qyk5hw8&mWsCAp~5H--i$olM)+kV792CK&YxlLRG>Lsp%SZM_Z!B{{^0u{;>u1E4>|O zbX9L%aSjZa{EMc}<;Y94GG0*Jk!pW5WM@MoLW$K-fe=8o5J4=6W#%+eT+UdHDwgCl z<@<#k9Whd{PtcXSZ{AdW4jeIYMKeet98-k@FG&;TEr(%gF;>AgkBZ!4kx_7}<508= ze-)b67$HQDBtBGNWElsc&`Ja=mMtSYoE*ly%f8V1gpE=oi1n2+{%rvnwai?Y;=PUHvt#7K)@TViry1(q4WI8emOJ`TJKORp3>4sIOWYed3tQP{c15 z^|AMeOK0948)GImO>*07?WIt2@O4oI0;vm$Opc8Ww;>QkUtUNAgj37z59sAIF>Od2 zfOc*RwH6~6!e;|%e3t#!1Z|8ly7i5x)-8vD>-G)Qvc4YlZ{vWMIXEIHjDfCDoib+& zVZFgx7@HoDDMZnK3HH8!`=*Fk+Tm({8prTyPzIfggY?1kn)2YK@m&II2YK*GSs>@J z-`=;B`;{AxgT>>=3o|-A@e2eh>O@z7cWndjbMZ+NkMzFD^xuh_8n4!t-M{{HI78km zJ>3_=$4c@j$8;??uZCYU#{S+Oe%iCOx?*+AdFWV-sf1!IWfG$+Tl&16yB={63T0 zlI%$idVyVb^gbMwnA()8s}TE@Nb8_PP!}$#Zf^AdN7P$}Mfpbk+H?#ZGc*WD4c*-! z2+{)#NFybnh_ryz&`QG)5+gBmBi$&{AuUo864EL0-v9mVXTKleIN$@!y6@{+>$lF+ ze7ip)b(Y;OjVNv^Tli2(bc^Zt{@3=PQMjhx!r_w<1_Tr`7|*Doax(Ght`%ci2yg;`zz`pQtK=mhxqxr>aGh_%iIg=G*y_fnz*2LDuVzU z1~+-_cm!2g2r?5FIP$x}=>=}<@gNcozs<$nsS|s5E#>r@ZS6ITai9G(UDgZvaOdyL zea(nFKqdl0N1*D)yW39X;of1d4M_^p`8ZPN=_N#@#)ag{1Nb*Od1!4p5uyG*xf!hf zggoVOrKxbZ@w1tJY6-!D{2V|+BJuXOzeMok{ED@G>tTI)Wrsc z{fyqsklv~@H=OSkLw~iT3HWa_N6WCLc=^wkb_b~5;Qj5q7YLrBjhCelPWY|8{bpaT zaOOA+@i`;(Qwi~{%ZYcpcnN0DTSkK1y>8ih`UzJP{(ym5))&P%DTzp#2uhgLc!laE zPb0xxhzin5Lwtf~jKYHRm8acrdahoeR3*P7e#Ho!S?fB#v9qaD71MdK@wJrB?bo1Z zAEzToGf6u2`!~7hAs=?mzBqKdj}+{ReeA7bF%mOy#Cs%D6W+5fP&{_>nVXuaxk zT<)yzi{5h3`!DN<%Xj#JylB_{QDus&tRTUy{Q=RpKC7Pxjgb;QJe(iRVh3wuqG`YR z^Kd??=>3riJlcZktr}JYYe@Hj2G#%RB)<>9_b{3h`^iXc;JHUs?X*0}!FL%&7MUA( zH1=wfiTS|l{&)BxOmUIFmG$;h%xK($NGI#x%I_cNnI}h6RzCQAq;2e{X?!WUD^Zj^ z?>E^0)r%;5x+shdW7C5OedMPdi8#mS@FJIM2srT_FDqp?PJ3%nK6W;OPAzv#2q<3c z4Tk#YuSvV#QQF=NcfWJ(*vVU0Uo$2Ew13VH0}8G}lOd0)EK@;5l{W3Vi8lIy{^^Jh z0}xW{WDGVN^*;Pl;g_Rk6~^K0VuYv6i%NXL`25Le>Lek8*%4&8Zh`wJd_0#9Cz^Do)IXSB{Sg$MS zi8N-i|EUzA2sHKo56w-#jJj~%29Q(w>`XwTB1wNmy1ub8>k@+zY^p13GqdEyMuTQf zFR)%-<@{*XSB{rYv9mtyq_5Il){h;MOCYF=)3TD`8~^&D%sgW(-?^OTU9rB-TDD0T z5Lv>6su%04n1IcJ+MX3uMRTGiflK(Ljh!98?2q!(ece1mlv1P)Yh37ulF&-05dM*p zRG?S0r1w;F;rm+$r84(@8P`xqKYN;zmAH_=Xxuj%spBI#nqP1i+a*F9TVukDoXbZg zlv3OQTbl6kE==O+Y7NQ7PRCi+$4$(yzezljYQlW~X*uMt@c9mtQIu7?#AniirsG#$ z{A_cQY<88{YdoY8)o<9?20~-@7->`1`=f>}cfR~U{L;20(Dt&O@Z^fD@LErK!G%}p zVYfq1V^^;;GSYxk_>3K0la;Z{r}upB=Vu(MN3CeO=>&h_%jhxGpup*=^QB#gm4gA~ z#WhYL!Fhy#Dr26$p&uVC)xsdS(?_S>)_!G2cgise1KHkoPTVhm7aE3Sw8B3+{p zoLi>5LNznPu~ipW<71V~XI;A(k`&M#avRbjSG7$^=EJwg|Cm(k-~TK<{P3+qez#<5pn$+_2=?5H7D`k!DEvz;%Cards~N(c;;?Pd)YPA=f~VvWo%n3Wq}dP@!` zH8q1P>q`qLt1E%3spMeif@Og30V+%n!~>l}*5-_6MHGsI1MlGLt|DH~N#d;*qK~M# z*ygkdVqmVo6!U9Ivyfv@J*~ZwMYQ=re}uTM+A+y06dxiSRaZ?%bRo&^qbFK?;KLq} z!C=t#6WP2J?krwh<`1%UNTA6f6cHu$OY#cSA)tfcCxfJ)Rmi!7%v42k(e8*2s8zdg zrteD{%-R$b&Z-nN8Q0{&wNsT%5_`Y#H7{bZVTFhRn>#<=&S~kHeL~Q+k(@=J+PcU5c|C}P zKS~31P|;deA_*v7pV|N#d`t)Nxw3sBFtt3vBUf?1t5fa>>b~lHeFF*|X6+)9XQ_Mw z4T*+sF_Z%pSB)R^J?ZB;_^iy;lR{L$h&uzHw;q;X6{M7U9Bg!($OQR3*OFRv+nXB* zW3Clat#CaBu*`@9^1^qL*n@+4`6pGmIL5p4P_G_6F2-b?=17dtt?p|R-8=Gm#(pnS z4ixc1w6D_-)a98>gl;8v^<|bx)T@-2!nW@0Y;!W?EnhmZu?@ zf4C$TtDvv~DpU&{?_b;?2lrTIu6=Eg#{&^Ufxw1RdW`0w^#5i7hD!AfqzyQ-rL9UE zad*Wletgeww>CDwK&^#8ngW@)WdgvnMZDte#enW__q-&2RWotJrc|&_NNQNM?=zkj zacA8H_iAFr^G~{}Oo{=ojy?cUq!8hBt_{_mvmr)7rNynd7kt45tzK?cra7%6OS>r$}FCKf4|4+CAm=ZlO$>u94 zW4+p?jC|f2Vf;RB#^5ipZd=DV@n?;lhT`TgpDj{WXb-Z4{A@Qun@L8amwv`0o_9zE z{EV2xeep@8hG#n5k!wPqY+vf7tx>BX%x$8M1AE?syg860zeqbgCilPwHU0(yBF5}b zH=-DdmC-2Au-2Kh4S+(+!sV-v-&{a}YZkT1^PMkKaWykm)YCWKlPZx|*qD683$_UY_;?0R%0N2^&;B?@h2> zaV*NVACHS3&>6#?b3ZNwRMX|0Ii+*nHR3@|^OR|8%yWq#$$<#1=icp(xCGPT6@hk9D;c)m=;{)&>B}7%o4s0W+ zp}c&0BgG$KdPt2V2|<@*w*397#4f6c)DD`uFP$@r@)iT{(qnIx5lt0}Jfm zFy-5iJ9(D(x4X(1g3Y7_>Fo@bQHg&faY7=VRU>GpUs8yi12d;zS(DMLbRYbj9OYGt zmz5587ZP>U>0{IiqYBTE752-dV&Q+gp5mYz znDe{e2A7wm+QUY_j;P)fFsu?|*W#po=5(B#<=D5x+j2BVBKN+=+bbj)WD3fR)}Pg| z-k>zwGIqrT%L1xDF#s0Gq{{4 zlrYfMooG_3{hE`g9I|~WuJalR?20K)!KxD6&HQaTfy4 z&fYrMj|MduJ)pQ`g7km1Y<%MolvBvRZTS}PY428ZJXTllJ?z(7ZH=p<|5^A~mIfBT zjgR=M)19mpR>~BZ>cFpkPU#o@zYA;fvX5?C>O}95YHz&~=>D>@XS8l?zdp6;fv{}3 zAKT16A!}keURP_0kyUXeKiktLxX}?017?6kM%im`uo%d++cL&V2kGFxVj%V@=Xo8|%QfQO-3|NK8sq<;QD$ya= zuV$XTxiWi5Q;rR~8TSe4(yxhHxw_7dTrw+ILaB`!n*Zj_`3BnFe8~A9ePad1T6xaY zl)93^%kMa2uAh*D{*5^;#aWcP2#2CjgQaS={V8)|v{lsif3CtVZ80%za?x9w?oZBi zp4!-9qs$Ry{IZif~JZ)3MKQ$*wh+^<{B1VNM zL3FuXt3JySGHO6(oj+x_ zCZzplFHZ;hUe0%nk|WlX@qATqZEo@{w4jib6-&3dO8qsI%V=+c_XbY|wRbeuAcHgR z)^F`3w!ZB0VMo4zIp~SFy(5;;E8!#MF#J2pPdoMVF=P-~VX0DzaH>yN+>-0d{ zWP&5^nBa8A;;iJvaXZ4g#ZOJXPc>_6_*N)A*nXr2(&by{zK;2Ox}TvUWy^IlbIoZ& z=snQ8$fg}}@LnRV%QP}Xd9kA*i%kRymQV+vyKd6pbpBV_dId7QZ(9>$Yl5zo)zbKi zr%=HCsu*MYNe5yPPn@1V`c{i6y(!@MTBK%b7qjzL*~4RKj-3tgr&n)CU=5Aq7q49Z zL;@LICWG6F6x$X(A3BrS>lm`(ydWR_fm2Hb?!DWevWNsl;hKtNs_^k&m(JrUiaS3( z?<`pYl?U81?;!^1*Tafw-SXJ~69>leS$*$}|AJ-(m^HcV0l4vZ@vb~BcqRwOtZ$;o zw3{;F%>!!ZU@Ede53urs*@x<`x471aKDf#~;siGiU|kb)ZYcJ=MiCgzh$m5q?O&qU zbz@qd+^7u1NKY%!1|TE+6skAGKtCj zLC{*TC2eAH0y}m|>CLpGIPC+p9bE6jS z@UwRQ&@j<@q4i?|?smll_t=;acILg)U7z)KEXLX``x6O?kjW!9>NFVkvSa-_1euU# z=oV|mh3eUOYEmFt^XUVlnGbS<&lX|ao;t8s(eUno7h6PNNP(N(_urA9o2bl)*P3F6 zq^%R(LsvJ2&*y4bxaA)+aXrkq`|GXC=2g52_8Yukp8{1wo(`s(dqg~$WAiG@;`-il z`5X93w~UG-W+iJ~<&uD?YoQBM&^jw*Wvg1{L5hfl@5pAt5MSY`e)wJy>6=%YD5`Ku zCfb~x?!?Djesa%B`Bl?pDKdyg6rOOX_r{P8)i22nlLGm1Hi_{l+y%&%69Z~kE?Y`q zNL)BCNFO+XVj{NTn;%8vIBEn*8GP$TgtBE~y*o_|;5NOKD-3|mCNbG5)?!F2c>ILl z_HO;s-K+|cr?+;P9*Wvcw*avsHYUvSVLZ?by5hMSl;iSGgYMWm@0iA>KprIuh|prc zm&8DE+0g|KSlV1^vy}z@2%P@p?A3YJSptT3x$HeVKJ4~b+|dADE5b&x;`iD2t8eZ{ z?yD~uH%`B%{q>*z6JP;mo|&N~c>(u*w@$J_hKns5TpW6eGHB$))ZbsqC5N_$H3IBM z%kS(3f<>c8<2Iw-V1hSUt|f3@G5p`SZ+R2;+-@z>q>}#+=PZj@?L|n8L#fr{{WII3 zEVAwLXE=8(DnkxGrw%}`{`#noD0j8Rukq$I2jaq4Ah3@ZBc(4O*v7!pl8@San;R(3 z^6ByOez)1`rZUhBwdJ4T&e=pD95{k5G{%TR;IB|7QZ`M+t-F%vQPwA+Omz1}=K|&d zLE=Wq5F=d%-(x2LPP7?*eh1r%_(Ibp?9ODQpB((O7x3E(^=Bq|%is2R(%V`!$%CDPZ-3F7Y3E~Ba11tLy6t;6I6Ky^ej;|td zsGvM;a>yt8K%*ot?L01BXv?hlz_yXCrFfaQvA4fgTWO19AvO8oJyd($$PdtR742r> zhCRO$p(-#k4tB^Rl+fktU@hn&<8GR0#h`h2WYt5E29|A}fN*v{Q3heE`XX zsWMki#-m&cI(Jum&G}-WkbXx%3HQE}i+FH)ivvcz<)cPAKn)$DCjlsrm>eP)T{q1z zlZeVVkXC8kn>WSgy>GQ@SqYAP81&5Ny%u|$jOw0Uj2UXfjwwGd7@vNHU8vhS2&QQ) zm|{-)cjn_EgZh;+q;>rK%806gvBZ=d_P1&*jne%2M-E+K;9PB|)ol4Nq;`waIS3w@ zPxty`*T>uxR|*xWm@4(doq!0?qf&K2T%H0d*GboP65*R?73wSKy&c)FQB@il1@+Zr zx$d{LdXgPc)_IwTq_-gnG_psNl=uo}>)rV{OYq(9)yMdekGb^=aNRPo`!b}3oMTks zwA(M9Pn~%8_cI#5Lf#q9TL!-jrgGd4sChJO_}^|SATdj1gT7m+u(}@FRnMlWv>bU+ z+Gt{+_MZAei{gWf%VDxsY)yc{IjTrdFW1`A8MH@J@FW}rAcKtvxHX10N8)35o*mXG zgH8ckF{(hVoEu99ru2)9Ljpc&MlDYyiwvV~d4&n?s#CFXY0$SOquuXX@3ybBs=jBo zaq*6N|NGIpt1^Y%&)b_l+1KyH`8M0S{~Gp!iNU2)rH+3VTGQO73|b<(H=0jiAo|F1IM z25j$9f`ap1fXmBCH*<=tHmW#k5gGsa(LMNhKK_E zXLLC|%#ALs5(E=*%eRZ7bibRbXE97wVS`aWud%|8Gl8KC0b;Ta2O+dI1H_V&_lN~W z(-mfGOLUjq;S3zQJ0>n5BmzEZ17s}pDpFL2sp9cE^k$C8gf)CRTqP_u9JfKqBP>lf zK=7>YWN>ysC>bbVW*XA`-?F?X!SlHYur9ei0T&LWAlJi$T_jUWYgo8i&uX`4=Z%8<#!l5eTV&k@U8xrX=H#XpibReTH%_5gk^UH;T=Jr3S6sehY%%;_;AaPi>^d#zh z^-2-$5vhj5)%i8sgxTVT6bnILdw+q5+UDD9M|!Phl*HQT*+L$6*(8~Br{cNnvxIEB z$ka_kDv0>R`M{~+6+6a+`=(u@x67=*S>#{G7`EB_W)D{4!T;|ts^3~N_v6^g{Rfy% zZC~cn)O$L_*is;AMj1H@Yxrsj#>)AIC`ouK_6N!UpE0>1fUeHYfa#}iYrO*+Tk|<7 z{;4X_TOS(&YZ>n79g|}DDg-5J!}2K)dd@5(f$qJwCUB7p|7Ts+d*(hv-5blIpSnC; zRny>ph3-2ww*-b%V6ZIuY6eg>&O0Vqm-Z1hRQjBM3E9-{{A!?X`*~g9{rpAc9R9E7 zjWn{;!{FnTFnsGPbbDVtHktgix7YV+%g8jJU>6GjlGqFEdzIHZ9ON=22CWR=jomn7O)HGBhR(*aL;Nny{Wmka3L}%Ga88;nZmE(flj5c=;LaEHzor zWYY{Gx5I~I_oDto#0EhA3%VQg>G5foo{-S+?w>vXtNsACq6R?!>E-M)M0VMC-32xg zUnsU=*qUJ=cOjU(+O({@8fId1f*~ydtGNrgl3ICc7%e9EjjIP_?rLkYHyS|_ z{Wzb`7f7ixQ>lp|pP>$h@%SzDejj_{_hw|#)>6`XV$e2%qZj{zrKzDjFm0T|c}$Kp z=`=^%J3A`}nQsC>xn0|MfOmcdHR9vtvKe<~z|Y9=U`X-ArXH^;2(3jP6+ zQw~XI7C8>Ci0PcxiHEzf9mF?;gRPBb`74v1AJt;U;*pKvkiCBou{4Wk4Z>xlH^2R+ z<<9D{)8o1*;@I^`UW2`gcNp#;j+nRPY#lwaQ>D9gh`hT_VN;3S4@WVGzIohoP6W^-Q66KZki^L$*AMvP4degCur@HR zH>Q+POm-Bw3~->XgsoZ`Kd#jS?=*1&eL8AEpj!TX9YELe>U3#VqWg(Ci&J@^A#UrnoWtmgD2SqNrnPXoLC&Z zudjFN#yymbf~y6%as+|?DI zzhc6^b3ROPqiC$66G~(Abe+HQ2enEZXxda$f6{VWkx2Kf#iX7|m%8Do)dWVsebKm6 zq>@&IXLF&>3*G;x563=xzNP-~Lhz$?%1k@~>0+50Ex@6mmqWXu#f?edFgP0hn3yvk z^?5Xz;G#HZVo=)$dj0L6MMGi`IC^2d_p1MiT7`!V+rN^D3x{xuDnNXLMg7Z1nze{x z!?ab%uIPEZ0nn_JT8^8Pm80$G34ilkF8UYinyLwAN@l9FdAk$=Zv>?{PChvdr=eNc zA)6r+*y0=Z@&T3@Rps700u(QyHk7;SKk#bp!!yT5#KO|EvusDyr5M$ut4*CX;HM=|Lkvq%H3saM>LgHZ)N6eX_Xs5)u#j6DO@gjxfhtV&zMD1GRObC#&V_ZA0huD$+6LKsG9lXQi+!q((Sypn9KiW>3n_y1{0s5lo z^vuMms2a-BEy4&eAz%Bf>@MC-yeoC=FmFchPoFLuWU$w)r6v2+{XtKE z!)tPnR-w2PTzLb9Q!^Z0JfHu&Leg#OgumO43_1pR6fB-$1J_6lgVE#;+=^dCO6tB@ z#T-wggeBOd&M3nt-^t5!V^ zc0g>#gV8%m9ZkX4U}|@wdIyt+^SFeTj9I~S?kbFv^3coVc7o?sO6tm?7~pJ?Udj0g zT=UFZA5L7}n`ST)?Hb&urW~Vhz8})d73H-%<;eWdvG z$pFm2&&sUfc2<}~Acv68)I3BrJnDTDCg@+sksS8bO+Zo@cr4;^*ieNf-ml!Pfpn2U zMy$TSz)7j1uK5RoW9pK<#~iRx)ei>BP< z-KV=QF57Gs&NC5B0)Kg&Y>!c!f3fl;$=?n}m6Wtju+|Y)kGy0%KTaHy2=0m;Q4fW?72oPTo0PR zv|=lca1B1f(^+0EyC`HPYDw7wP=iiBmvd+&#(&l*xVGk)Gg)wr(&*shMrTCpI5oiZp|E+1ab zANy33d=EOCW7+m*E4*FrTj#Q7$U5ym4Ns82y*Wa?vt~9w`fBi!NU-y4GJ#+J+=3K3&CYWh7&oGH-2)JHaJXV5XW(Z)HKtsG;61xjvU=o&W z^%8$=F@HX3qEu@PPdyc{5}HKd@-(i&S1_?Zjw@iDmUv>8zm87@<$O6`9!w}zYt}8+ zFb{YWh%nWOXIgR-)b*v&0j0m|Mdg(dv(3v7s~$v%8;(0r%g47rEqr8 zK>t};HN(?5U4R6dL&z3zp-Ra6{?ETfNAseSD(vZ5X(54H1B_^3xG+RGlLj`_S(9^7 zXJ<>cq~)QeCX1}}V7DuxN{P5D$D}f}p!MpH8|*Ly+p1R|KbNO%8weMEE+4(vBdPbw zb}#FRjje~m%!kZgJWhUVVYeH=EOO989X7<_qQ~x4vlCL4`$T*BuV?y*I1Vu6MsBQe z-TS~PbVLQ=gPo4H+DS15$DB8#LdR>2RC@_#QcL+*mt`o^S}cOFs7SJ2P(j#SL@&yi zhJ?4w4z6rW6zEJqk@%VK1u8F=B=XFifGf~q4Ck>ziCNpTcJY}wcQCoU!F*v7bTG?K zHJug`!dB2{{axGiY`xJAdrxop>j%QJWMHL!q(C1)F7H6CMzYCa&YP$J749{K6J&Tz zZ{FH1eW$d<(XN~1qK4SUceLZP#ce7CyYt$*`xKN<$VgrD>BgaY5ufq1Y*U{!#3%o{f^kL6PjalH};iKvuhwY=MTbvrp~{`Z851NY6u)nUvax4 z<@AuOzi%D08J3ejUD*IJgwYC(y!n83Nz+XubQzyJb?i{hfT2zSN+fl!2mp6jAu`j{ zdbQXi1w09aSabTR4C~wzlQ&fZA(-k=p1QIO9O`s7M?7_29=3$!Z^a)fb~&(5VS4jq z9GUWNCwvu;3MaNSG>t)8v4%zsv2~sBi!O@UPJpuDB!(u3syp3)9;uR;+(BD#EXs{W znY}-2yhHwS#H?413!zjYNTbdsd8P^)KYp`^Zbo~4rPoy`DxSws|G6dFjo1!q2%llA zoZ)4)-F$tg+CSI&MD6EDE_XHANbAP+_iw>R+fV-}`n&I!=G}X$ecgCa5GyyDv&Gfx zl94*iv?d!lygEGGmOD9#pTeg_ABu38;%tT+dAL4`I{6|Y?ZN*)*_H0DZc+^A_rT`= zO%5SeOq0Khri-j~2kHJ07LMP%@<0=3O^p-il)HVoZ&r z?eHi(3im&Dk1X)FT%Mn(M&10#0=KF;--dB`(zOdPtE$EhIp}{nCc`4)eOEfw9{^be zY8p0#=4qq7g-rgp&&XfNVx7r?P#tn2e_2%@PVsV_;8Sru{O+ zQDIG$!q9)`*A^`PbkEQsw3cvlrAWFcC_3YP>u~TZ`s<&{$CMePoTezd%#uxJs z8WyJ+gKCaWZ4P;)9G2Z2L)0v|+KGizn}ib+G~S<{i9tCSc-SfW=KkG7KepPCz*7i6 zLu~V#mE=rKIhD-IciTA+T|bD)$4c*yUuVuC0iy~31Kz&Kc&rf#rtVJ?HH7~)GU1vl zXhe3+{@#V9n!5QqwFh;InLCf{N75aj^5Y9oDn$`5K?UL0)C+$TuaBjfAn<cDm60nNyC}fX=6FC zE>gJAm*y3@k}W|4kHBj-!1riKltU5<0w=`Z#Vw7ktBZ3GbC*>`{6iB|a5oSSmmj?e zX9w(-eFvs}<&P=+%b7Yw+!N$$HSkvf`-V zzqlwau)^6UO`O8z;2BC#L2mEsikwKtew=k)@EXy|mBX>Mk+T2Q_1^oNO|G(s^9R2_ z>kk4D!N?od4{<9j(Z3Ey<8v5Vu-HvkQ-W|Y0wLW?7**O`=8r%&f+2$M>)zL|J>QS4{mb@Yw7t$)uJ#Y z>;B4)AfovvVHy=y+!&T1@p9Y!BM^5EN8DQ3bHYUOmlh!ws=otrlvIjBmHl5)!QjQn z>S4S9EY%N~ue`9T-3|u!EsVAC0M`P*e8GVe@DM&5-|Ooi<$3litM^Rj4%sFhdY!#4 zQlA%#G5Qs!&gX2kD9+`@M4_;aR~lW-}c*1PZ}X~x7ydrzE#!oMtd=e~@s4{~^fs96svtl&AR{hPIy z;`u?E`uTEPT1Nv{>4Y~I^WooO;_F3&&-Wp_-%g|c-cRb)2|Sb=n0&|}4T zxXS;vF*qLdz&jxyGO%xolBQm4Z&t+7ZDzqr9ceMiFCuAHem?X^zrMy-f|mz> zstSYK=Z+j76^3aAg=oWss8!Ga9;3OsK6m4p5TX3NA%P|V$01z=1eY8tK&p@Pg0Y6& zgn*wWn}4;YWh0c5Y=)v#W=T246A~6gxMbrCIo0FRNA8?U zpZ=yz%fP8?x{Ur$4vzO5m?VvzR`t^GTN00qDh-=@h(p|ZV5@c1@Y0)ZjEOZtq znpXj-o*D)t!JYGFxgn@T!;zCofdn=aLC0h~)zc+fr0>gEr6Cg2(aQLi$KjS>ym!2T zZu~g+uXI6ir1Yg~n(BzO&c`Jv+Z&Vo`fui4I53$|XG!vdx`niO6so&-V=?oWgUOG- z;7DqD33M^Jxk{{-91j2fXW%C$>|swQ-~K#|UmDRG=>b(b{1IEnxc?mdJm`-$!~NBg z8ScYY(w~fnK3^{D`>xJU-hYe|MtQIIzZ6?O+)9>M+>L*(6L^1LE;|1H!c|n@c9T72 z{NcK9W9J1!nAU7NC?rneBz5H@?<(&6 z(h^z!zp0%+m!j+ohwPJiPxPiVL^ePBlAFB5xc&b6TN{f%%_sRQ%rwN}6W3Ep?{%vX z&jkA{Bi5P;pPAl!>Mz*)a#Wgl9G{E1E4Yyn)W9Xv-KLF@Cj+~o0aumJx=)#dnBCUd zV5aCRfCPP7Xz*B>gR$y00}S>!yZ5Ed2VH}L4;3>eqNwd`Wm^;30J{$SGAIho9WRB8 zfY35w@q&1&UK-P?6()ldPFpU+Qjdf?KfWU|Fl~lEZfNe2BOb4Jv3n}%b|jy%=10Uh zC9A$~HM=VgOtGy%DNTh!9Ir71>#>7!gKpbDKwfRRzX2F$)t_TyiKYc*M#`+3rrT4Q z(<%EU^6dIfct#Xcdvor1Mr@4+!+H3a@c80LFXK8i9}Vyq5^~5;8zNPc?9azYO;~K+ z7d3`|s;YI!b5O1v6}I$uRAI0F-gtp=4aPI_B;aGteQtZoyWiCtnFN!i7Kxbc^%?_Px53`Z^MR3O_~CCfZuSFR7M%Wv`Lp< zO;B^+>W;?)EFYEDq&EkBapMHO-#06uGEiEE(XKF3aCAeV;B5ASbn~?}L$_+mzhgw^ zQ$9Ic{Y63xcS4VJfAD?KvAL+|0MvD#Z+y>!VHH%bn$}(J6gZ;bhP<}hYdcZgLomk-> zOax7EKNu+7mqH_JCO^mT<5&&-8Mrzplxq|T%@e5K`16I5PRe$sx^(ZIkh;c4+_dj} zrtO>`XH4ZP_(39R9q?t>PhQ!Q`J-_&9kXEnDRy;Z>U3s^X2B-#%&ZMGcv{fNi;+gX z*nxbyU~X44z0mHHPQUNb<8Lrcz!j0|8NR%U`HLU>!W6E)sr_~u?lqxmFl__uRIp6| zL<{ACG_J9bp$-v1l83h~?c4Iw3iuxzuJOWfpRsDd(*9nC4S9G>24TgNaRoeclBW5x zKohy&_O9aP^tWA`H~Z7Cx2s<;U4L20H9soVD7LySXL%-Y^Am06bU!>-UlnBgBWy2^ z<-E6X{9f@?@OE?Kv&8K}f?2MgMo*ql)JaiAm|}z05JCQq_pQ+Bpv+;PMMu)MLJcp5 zjXK7oBr(mi8_mb~tVLf|sD%C;d?|}X^YQ@04=I0+%g~PNB$nGQjH{mq<~Y8t*kTQ& z=?qn_fz`<>yvA_(?{25fMsWIpU~s-P z6sm4aRlV(e>#cH$M{lNYwnN^kkQ=#xNJy`Hn2yn-v`VR{Py{rl`y-Y%fywVTuY?75 zwTvG5_LzP2yKJN`cKVi-7MhB)<<3^qFYKf(Sp15yJAyw~X=vm_5El2TWF&Q}?e6fS zefS>DFxB{HnRO+^oxT)Op0(M-imk&C59b-Wc|;!Bn{!LO#pLK+gUKhW5Hb*zg6x{*{V*4)s{A(q$20K9bDluQbqwY#WIxf8e9g-rGZI9?Sllmpe(W98ncz@IHm!92 zww<+QNVQ%KJFz>2*7&EI>IsXz1}MjMJMldy!9C8CP;Zi??Wk6-r4sLc^e0>QYiQansl~B5_ohtfIMgUnK$<=xZvuyEE#h z;Hj?**X*V8JUfTXyP)Qko|G||6j($D)|N^UL!i*2B`9}8I0Xz{j9%6@PC4o{xu3#I zJS;(bk&GAqbb3$FTmzzAdyJ=V{3pH44s#Kuz;^KDqq_YsUcCyQTkF#FK&O+;arrFo z^|;Rvi~HLQE1471m8>`Cf}QE!=i^U0%)dDk+t|wqxGx@DRay(wl#xu;e|`*ic9DB4o>_yb3s7ypidy!XgrY>H2(Xf(S46 z>w-_^ahyLcZr?%m4ai$oDxgF?h%R;(4OiMqOAypJ0_=oY4#Fm4Eg3zJ%0FzQZ>GS^ z9rVdpiHom)^Mn>&vG%6Y@_nue#Z9m53;x^j`ofV>8t zn>R7WUDSp@P}FsS280uVIEP1j5>B-p;j1&O})o@r;#<+h*Ht`fqe+Oq19kU`=V&v~K2D#RySuzqOhFX%qEBEqpefT`7` z?K?~1!CqDQS9OQjZd3QPBv*bMZkt|GGO`aW-A-T0R^Ra&p_*!F$oVajy;1y=03HBx z?@k$T+T`R^OORV;cbxbUIwWxHVFMK;{{T%1eUU0~S}sONvJncQ?x4QeIu` z#So+8gED8UN#j2`ZBPE(O8gnSMEYqQ&27d+t6@`6r=o8*5mUXdy;j?<@C;5xqhCB_q0r2X#bRFd-Q+HlLvEh9i8C}$`qHoK(O^=?th#PY1>{z+o3 zzl*&_>0j?Y3D2K?_7f**-wqh?_&mu46oE7>hx!Ru({CX#ghzSA0)%~DhDybqSAECQ zclJ}@w6=tJunX6X3q7K{aURIdF-?c!s<5cQCV=7^E78eLm!HSg^iKYvSDM25+T+m? z4%oXI5H3Z6V|Ldd9v+a8DmD0fIec&KohOu4$sjue$}QrW_)Grd2X^VjHe#7p5_5KD zdUh9>R&#LqAQr*pB!aJ z-8=t48@$KBOr^lx{0v|C??M<`E_FiB@(+x0#Qh;%nT$JClPXqQkblvm=#RHxTm z{KkX+AyHZqMWh%~uygaQ3(CAO?uB_@xMPNU>%BYfA|K|WAKZYV_{ zKli!2DUN4k&~b$tHe#JOWZP!?4)%rJ zVp_N~`Q8}o6j;W1s4UU+JSK*kx5BkVWUp*+pY$XnNY1e8$XzfyHAXIL3y%WOx6q8z4qBRLN4Bng3-&v zP@a*@XM?&ny?EJASu37RIVLa!9Q`a~zIBTkt&zKSRH0Ya{q+NXv6Fyr`otMqdv&w2 zV~{u8E7#iEd6>*d+4kC2;_Zv^)DH*<3|&U9d3E^Bb9!ndWe5Zyb_#_ak8gdbS_-T+ z)+ONHf6s0r80Hf58ndX^MlUnzrS&^tO$3bT1Hr#)s}QqN{4D|{H5{9n7m}Y@5ort_ z2rNI`kO)HyT`AL@^eE+|BaBPmf3CFRC$Ous~4~{*LT_GbYqr-71yRwBth=c4=)^UXFlug-W?~&2_ zdw+iT{srgpIQMO_-3n*7F=;yo%{2kXGEj0R)-;xOL7^Y#?Hp(xO z>WtsjcI5vIp%y1&K>v;uI{RdmLVPdr?p|Z$K zwBz5gH|i{J{tQg7I=8q07W{+QTkOmE4l zBn`+A(__;lw-5$C#gygrzB*MlWK0wyVAy*dt& zP(pJ?I{hfU091uHK21S(=r==Oo1x#({CFG{mzu%+ALLQ#ZTAG2vp_5@kFvJ6iBtbj zL(+_9D|_6krD9KNV>{c5@kiNn_OL>$T(%|cCMvPMpG@yR+7Rk`-e+>_N7oQ)ud^B> zBm;z#Hg@>%CB235@$2SbN->|MVU>Tti&3%6I&t^s?-C1X7_>6J>Aa~PU3+9hX{Bv$ z;#s)d6Dhw-oc#NC*5|Ip%@SS*tH(7f{-_*R{=zV=*qD{_j0PGlDxfejfyRf~s%YeL zf)|xa@KvX1CbuZVYm<(jl7}2)yUyK9{2GXv(lWXA80%^C=K~i^kTn(a-M@1mcsX!r zlsBNX;L7XcO3{0-VHE@RK9q1q(k9l+i-LNykUxKk!;wrCm4D0rIQ=x8TY0#cITbg+ z9UxZNHZk!4CyytP(3{cy%?kX=rhvf{@NL6brPE^k|N1MdsjwGT;k}Ee^6D9O2eRj> zan)`;2YFLW7kfnx;lY0Ny&dz(wbnjEoA|8CphP6OG==2Kdtt9ibY@=(lU3_rsc+L< zLrPNKRC0BjJ{%e9Tv2R*{WVxFwqi{#AsW@M+@#VTRMaf+BG)|hiH;Tuvo%ovtWP%3 zjIVU<)On!S!C-DW;nCCOkgNA`^UjKO4JbjZsi&s!ly!%ance!j+XR-c|o}oCMx$yQmB1 zaa-t=rxe3~z6Z?JKND=Z10T&-ZQgeqB-*m2VAw8N;?8~9*I9S(%<-9P-g&L#(Hp)C z6FcHbDGK;ET$KIm+s^HvS_j8*<|yFG10MKKK3(6A*1m5%Cr!yjJc8mB7B+ju4TA>` z{E9NM+gCqXZP=SEt(JEF*y5!+53L05Ujyll7-jtuCV|XKg!IccbNn+=hFzVJCCgUB!%{=u{Ch|kvqg>UY`L9ODF_~Fb z_{z6M{6JoZA4fp571RW%Tap{4CC;#;hA|s`ly&rn+Fi$1I*?_2|M&L85U$0~i%7p5 z7qh-5I{mN*vuVFMFE3@O8Hn*M;$YT__en79&-?I}urh>==>p2J(z9-wBdk%(77$Zy z1-R9cR$gkqOt=S%$CB0|d~Pwj1oX3x*60@)zQDHFWM=Gh+g4bZ6iSv(N6iP80^gET z5!P|S@UNgSYp)knoeusO@QHE~OZjqi{N7=$q%oF93o2HFD~f7UQmi zoDaofqxdd%R}>$dS$vQ=O0!tF0g{PKh%2JRSg8ldhVU6WdOk(k0_iF(K;dhjh;siV1! zZNb_AXhKs5pWPS0Cg%N2mIaHvwSD{$1ZU4+dzuyTo*Y7+L6<1>ZRlyA<$@vdc15IH z-(mD%iOfeWpbpL;RqBKl(PHT4ruyGKWTUiAyXWC-Dp3@m=gM{rMH=#zGFwn;C{r0M zj02N@6yoGR!&JDcts%LONt3E)9$FisfZsvF#r6J z^qX&%y4_6zIDsU79nn&)*MCJEul``2q0)-H=XZnGzM|*$>cMx;!?Eu<+JOO`)9tYB z7r^bumVVmaGWR{Mm6j|GBFJcrjoqR2ninSi2)(CHzsmy}GYZR$&ESouLYB0nyQ8RY>Ucm1J5MU1 z%9B=9`$$YWJhH4R<;VYP0oJzZcLc);FMU;$m`Qk?3+wcvV9-E1#Q5)$J{Aqa*1$b| zbH69?B>L__#Gy8L0=5ViKLVCmipXG}jCVj%0?P#Qulv*;%%phScI-TsLAu>yC4Zq~n%#a{zV(F2_H##M*D@*q20oK+*`t-F-0VCEMFsGcqwb4HuC zqh}x|(P!pHEr$B^`h&6Q?*tZ^UwHrH2E;b*LeoD>s6wvNx*B%X^M{R)ra{u{J`H~% zT&47yj~t9aa7q~NJ+#vIUV?9TfKPs>a;)-Pm~0_`(qB3a_A)jdVKV45ZhGSQFgp-D znGW@2Kn^B8)Wq%lKp1lE{?|6cHfVqfiRNdDW%&Jf6bco{GD%$;Iu57RqO9I1ROx_- zz;oZd|4@>g;#U$gqdJ zE*dUDjA0=lkmdWd2kVjO{o#Y!jZckKvaL1s^SXXSv1{iGCvRSgLP5ID}tPds%! z5dkmz=67%o^CF4N-dHO1FufRmM|#nfn-2&y;PE!^F{v27viIY$xZ&CY@UdZ4)BFM8 zOD{Fm5lCe)O`grpTb~id^i2=>eL|<}#H81EK%p`3?u@Xv`As@)hN9QlNUnV!kvJCc z^)<5zA3&=dtA!6PB%*=xR=xP)5*icp^+uN+J8Ds~Y)y?#NX?S64Ze3I*?C@k_hKs_ z^5EG{_iCWu+_Wqyv>_7X_M zoCVyBKQrpiSTf@2qQNyErYXxLW}m^Qchn1TUPc(qy@nJpOS+=RU%_zKSjC9veS`?a zi7djRrRp<_iKP{f1gRAIi5|PI+#(anyMxdSf%Plr5#d=DY@=FI>15=%qNvHwA8|Mv zo3kX#$Gx`Ty?mFlQzO1(~Hy>n9< z$vd8Njw)w=O>1tINzi*`W~i+;qkUybX+${tlsG&{60Z?oChIpenuHutjE;ZyKS7@i zmfKK|6{rzKy7nJNN+{3nr==B_0X9D|lko9bJS$%v zOrdsHOgu`#I6J z;Uty!>H15ziYplmeC|4Z2L5r$G-H7pZ7KN2sfxYk>>?^$`6FatF75qG*|*g(%D|Jan?E_^DjM z_R{j7{gJF_MbzKE2m`fc{AvvO+e&8j_4g;T8zCs=n0L&qrt5jPv%=;T{a0n(fu?Q! z(P_JZx&V;46nk5!7=C#WAFzM2l3V@tFzGMCLJKR`hl4p^<@^%cdgW@tU7VOdm+U9t z#G#gZmAB{@J<#&mq@rv`5Bc1o;CZP>$Zyb}F!?9(<|a%|YtlFqIgt{lgkXv^Ja%+`14yhl{`jEHLhb&4=)xRwd~sHBjnSZyHmP)x-@SUA;g;LI7l z>tNW_UrLL~(|d2>wl3ilsoLiE?>*rJ!KdW-Q3R(5{Z{F1^4V`Ca#`XY zL*6`}tXCz8UY=YXsr`qH9R1%m`1yssu;kJ)?h}In0jB4!LL=N=o5${Q<#&Sh=-|^v ztrsnnW#cog8Ny?lIwf)-JD)n?czKz^0dS#ULzN66n^oH4Qn1X9dZwqWs3uH_1*K)l zV&G`0&z_+0Q5hcyYX3moh_yaM5$%yRT(cr&rT!1Q-xUP?s#js9y@{nKZ=~Y=8$+Cj{VVW4%o(k zm6nHljI(D4j9x|HjDAzeh>nsB>ObSy`Qim%;9Ha;Je7LyV)|NceyWY&vIg~dXK3nZd{nc}QZnw7^hZP6rb+GFdv*>W33Qvp)ShYty7w~j1sIW&NRFS0hIIh4`Iyh3_gvRq$2{FAk#3(EQTAo%wex(NQF!3TxUtU-k;2-Hg)q4& zwC3e$5L_p_O(5!#9Hlr_Z3Lrf@zRHC!wdg`k=dZec%GZymt z+g{<8k6<>mUM)pTp!CEXIT|~wu8Q`bY#NVKLOr*2KPcpAxrA{l7(SZ!-s;-DRN9*q zHu?2ELFKgJrSRDFY|8p8O>w@3k&T~H?qOB%MVCWzJuy?5I*kOYZ!8Q37L{xL(M?7dML!h*@ZKe_yPbfKnw2$2hDo_MI_)Vd+z)9U zJ@B(aRkeMxdzW3m)yAs!7_QV`CiY~?AFjoZG#63)v*MifIcjh?3V|%jA=K5`xgPm( zgT-SY855HG;F`{%#kE~^k!NSJVINbj{n5Gh#Ge{x`Ua0}%bJMX{G6s5ZC z*D2DGW-wr7VybHh-cb-hEd`sSgsHDHK1e=Uq2*{InSR^d5N@JLmDFuvZ~bB#Ce{#U zy=~b!WUCheX`(wzS=tXNWNZo*Ug|PeediC%%E+GTniqoYW{B4u>h+?ODaugfbiN+# zu4&x~TI zmfLAf2kpTYxHxvmc%8*61CTiFd&FWc>)Jb^#ObdPf0=Ym8rRZ;RNI6wwOp4nq24qr zQ@3OyB?H8K81BZ>nwa`aHW-W;>WaSDET}7_SgB{udNYM?t|lwOu4Zsmws{>4iST_` zFk1OoLA%a#So4|WM`I-OvB(e69hZ+k3-#I?pZPYi1PX$B|D(s=mzImOUtK_S#UoqsG0{s(?570}+CXaPZo`Xydq%!IDn5IuTtUrC zb&Jh|F;)dn;jHIYd{5J6m=)i>MY6EqZpqm>l&JO6OL*M8&1UIB8QI{!?B+2k76^W0 z@MLPAq!R&@PaGggFW$|6SMBE|fb{c~#6UR$ni{isi~GIhsdm(@54eNS!gxn8KN+#l zc4ePiN6Hs18LI9_>;@PU=Z5-&9uP_7wgV&S|r34*}l6UWuD%%$lF4c9CV^fyOk!UbmUqkrg zKp9X;=u~cKI!)QZp1SzMz#67^UDvAyujb@*dD$Zu0clxqn$x z!Hr0t{#-wx&+Xw=$@0_>p+{|gWqhA4e@+L8;`j8vg{6ZsK6NId;s+OGf`xDtxk~=E z!z-0UtaYIPX3+{>Q~YqL?ph%8{5+ zW4R#P^4k-hF4HmrXl~pA_KK?6mh{z)_!H#1MQa|{r9@eHSY1j$5{Tm2UEz`+i|k9< zL_Gu`4!w%5@9FV4Ctm?aCgCHm@zTSDpU#G>S1Vz{C;k~-3*9XCi~E8ZO%|}*pkpI; z1GOD5hdxmE5g9YxY}sF^ilJtf z?p|el=mihGOTeX!pCOI3?8my1*-jA*5oS(K4hO7)F((Gu2Kww>?%v$`M#b6+{Zfin zW?rfGt~DLE@awsF!aLB)}-XZp!KO^1Yb|Lv-DwW~Pxd$l- zli#0_z(QdVR9F7tO!tjMytyf*C<&BAjAl%}fMnH@C`{bz0p@Q;XTkasZS1CPR6rn6 zSh+8QsZqVE-@6+l7WmS6P4w&fz(?;Mwnyn+_@;M39OQ`ZJNc#jwDuPlfKyri2NsuT z2-Rtg;7Z#sj(3JnO(uNlz4fHL`1VQRms$$*_qkyvQ?sH^<0pgYt9Uw43|;6EY8Vt( zl+6kml2x!r!rOW zY6RRnPs)~vFl`|!AvdUp&U^erZ9q&Z`R>f_3Wjb9pfml$6Bia;0;9a)(2ZDPJ$6%w zg_8WBmWoxEy%4VdL_yYd?QZT=uhP1AB2_A7nl46$0-EcbmC4p^N6r!p;NUewVle&W zQ+?xf;fI$cWVJ&Gb4sy?SG7Cr8@GOc+wYqrf4oypQ?oBsvmvF~qm?dEW^e5g#VFO1 z%TG?yqO_sF6o>&o$|I*D#IBo-AC*K{Aan%Y)9^hx7tDgb=f>S`fj_&IDTrFeHIx$w zn0vVb`R&ZuVikbj?mD^wNlV-b`DaMlU;UhOep3;eV&ep`E(AcOcmIMLVL=Id#wQcv z`Zgs%vUj!(#)E|xBRJoeDU!(bm^l6R;rnmXLoED-0r;hgg0SI#@pmgPwK1>Lhbg0?)qMO}T$YyrON;kVsDmioVt88#ElX8!S(IZqKSsEAU=`(g$M~X=ZXQen@O*xHR z9UZ%BhhP$4=jKX@r26Cnk>UbPs-?T8&LADLk=5IfKH7z#Ot!(yGrd}#jdNXdX_%OW zPH6MElXOK#x{b!nhKAcqOjlGc{*6lNgVg^PXpA}4SsSgCl=~!j&?gi4^43pFAGS3L z9&dfyM?`}=JrpXI`L#Qq+AGLtQ5Ogu6b2i!G%yiM4 z`Iz~=J_r5L57VWa-g1(7D)F5uC+|z$4zc6!l(oL*zQfbjKn?RG;`?h}zstT09Q&G= zgw}8$9`rFPx*qP2r`6z!=D;%HJHD?tod5dEbc?)2Gq@bXa5(7uvgM-Gq9^eq`w?vs z1riMW_ZJdK(-KXYn!=RLbuN40K$kLi4P|jm{$TQ{>H{obEs}B0+&DHe5fd(}3EzdG zRYop*8~|Y?P}hwAHneBdv~!$%r=FOM8Ye#7bl&p@Mhz9M@VdwHyYb@yfg7Al`bp)! z#^J&8UA}6*1K&d4GVJhRJ6+eR-Zor8hlMC_M*D4w=*4%zuj*WL(sWJ(TRuYro4t0# ztb|wfk&Fgp7CV(#t?j8*hBC^u8icHX&c^-8OC4QC4Cbs_=w^9o!I5;Qm3i@(o=VWK zCgB_^3KH?9e=>XQ75?_FtgjYL>8)P{$VyTBQ^*wI%7zn=evK%T*M4&`oaP>`LDhv@ zRK%}>WK4PyCS!F!d=6h;(go;%*tWwVidRa0bA4^YAn8h(kV8o{4;w9R1&ue&sEy{J znqanqsgU-!Fd#Yq$$gk zRuD$e1?fQ2NYI#1g)7lN>EK4n8c4de=&q+8Wq9_XyE(nrW>Ff{ORj6=Xch$gla)px z?ntqZgFbOy;K1Tcr-;il>F8Z$i^+VR3!48Dq5UP| zGbvD5wBtZkQKqc|s3sDjA_!9@#G}^?b_nZD8aZ4%O0O9paiOmn5LP)^2S1Rzj%fi@ z(6l6S3xpvRS}(JfCqPVokm4ySq`C`LLH9u1szr{yOBgY7F-9L*5*b!NwJ1GM@!j5J z4e?qgwagi>{M^plkpsn1nh1^g^PZT7JWB+tOmf?o*!WarJWTl7%Etrirc@SF<IikAQT*LAogs;M!uK{P6rq}BiG+7ZGBC_oyUHNZDQtBS zuHJW)g60-2BvP@ry>(+4YF{Z=WbSN_evTU;9N)dDf7Y_M`fP8%D{aC)tG$pbfKoJ< z0+?sr%xJ2;;*tM)eQfhDvQjK5h2y9M1vD6SN*uM0NW>me99%|4uG$&6?EfOV!tu)s zxb5d@q@@Qxo7vXTW#kv&SF%E~NNIKJC{B14%_7As`$Gw@%$z8ZWITJ!fU(UEAD0e+ ziO!FfiP4!tLT-HzD*jzABdh3TbiNguLZvz2`6?b!b z8yWoTp4^K<18JgmP$^w!?T}guj4&ei42Z&XjSLE7K zm3lAS#1Hv`>IZcqgYFJL{`;1KSe%fQVs%d+s3za~ohdaGVd$!)(f`>e)y%8Pal2&9 z1$C;U?yrxsBj^gR21mkjYnEN+ZPi%|Zcm#~dA*Z52DMVc?u2`s)=f%-*0Uc8WbKF) zr-4GwOEK>>b&;>1P!_MM==N8WCI7})^>(OEbQiUQrgF;O&i?q?5IF{V;8gC!$6}6n zE>iO~i!0C`aOwdP(mWRU?c2tlOUmX}A;0tMQCfYZ-ABuWSLCmre;ng{R9NCoWSIAO zTtNi>^9OpiSAAUZ{6lF6ePh+5+R#RAwOf~<#Zb_%hP+@#4Xc{I4DQLgZn7jtF1^@t zXtR^B%A`dHen2%l@+wm$pkZXjC(1 zM3NvH57xvCfG3zie}r~Hl8m!$sHRuskk~c1&b(pnsv<3O%wGtd4}E|6ciXMKmWDow z$^+7e>L+9dAoMA#6;yb^*8DZ2g>$&t3k%W{ApQ|8O!1?rQl^?v2um2Oeol08OcDO~ zUL7Cbu1*JvME^gW+~T6Pm*G4wNQ~q3Yt$fvr(cSw6BNklqx@4w_~F{AbaCe^{RQsD z)6WAM12yjl7!-66^d6+t=9io?DTN!c6=L_zStwuvgKR8Jgoo^Ma!a8YCYZ#hDKK9J ztBktnhoXasqrmq$rVnL46v@#b@@*a;49$TmFME!@TILlw?>d5|>EQ4E1#1Z8#iY!6 z@_psc8$d0;cox466UjGos&-DY!Dj+~ExJqKlU_xrFKJUq+LLI+Flfc^wR&SXlt&WD zM=LG~`2vy})^~ibGvX>~Wrv0~wJfA0os3MV#Kp-@mYbJTluF1> zSvwq*WY8!SPDFK)OMAeCfHi-C9-y0ZEKNKa8JaBzz*HDc~{7gXJ*>OsigO84Vaq}Ed9h) zhPlMpD(%;(MEA)d?&e;fk?SVfI>5&h?-YfGtiz|h^DU%sw}uKOlw4#oQ~l?Iu%cNE z4sw99%FhDeiz+^iecb8$e=UHOl0cbn*zg1q8H>#i2t(*F6}r;3w{x?<;>$ta>#7TZ z2^JeXrD(mqk(<=9gvDcyZAg0cvqLh3h+Cfw(%vrmgakT-tE|TowjAG0_8tDfvAcKt zj60p;$Y@rSuE-)Q%4aZ|WHxf0#)tb*5ewsE-x6^>Bm4GwDS_O}#TqrdhEEUbE$OF0bl;6$&narZtP#Z5 zszf1fE{|^0SMRTRL|2{l{1$V*@sHPg+)fUToTB4s2tO1-ej5<>T}Ekp*@LCQVn&Aj z?*nN0K3p5Ik$-KrPD{Qm$itf>c;o4*U({4cp&+^Q<_AUW>Qk;4W8cS8N-gLQ^KYvz zyel1*ur!!1{G}fNT{4J=3BE{iS#C zjW0k@@#$9gM(VnhG||zYpqMO*NF?&{;Cs;7)*nU12i(LZ3eEsD7xwz?vJ(c&w8Rbq z#Q)22&aI76Cd7kd7cy53q<=fL!pY~`zbz1)g!Zvk%Tej}f8Yjju=kYv;*3k5q z(~vT$eXRbtSQsSzYr}4LfTI;&bbU2gyR@aJ`)Ena5vv2Fe*1sLW&Gi`Fefm4m{Tx% z^X6?|I8RXPN7ypI&L<2h)33>)*EsRIeclgFAL>c;Bgo3eBE=1fx=)JA#)-W0AHqZT zB+&ycq$~tI=HexXLR(*I1|?k+=$o0DFD=jy?Fm?dd-#seh+P-q7ijd;(ZQfXzEy|S zzYHK|-{R>n)2qpeCe8HN^p4dKN~eqZRW&HP@@XtM1qYL3cCeey$G;6O+sVz4%{Z*E+$`leOTIkonmq0&Pb6u)sOoZ_z7z`NM*ui$OrwQ?3 z56~71FvCy^+=b|YG%>VN-a!~A!3-5bf|>ePtzPfgjchR_om@pN5>ybH_F0sKLM+OvLt9PkpmwqNO=7>e z(Ie!~2LSd)EpcbZ#UZMzjbtte6KoniXlBSC(%Nk&92%1iey07Q3 z*EvceZs$%j9P~57#FKV+tZX6tSH1j|s}N=Kp3{c{m0nOf{0dNq_V#N`hM^m=|BP7) z+4Q%0Juyi~{8=us`>w)8zbW56haHz?cY50aR36~mbXNLTYHsW$g%N($xE;=)4T=48 z{-}PG2nZ&vm@1q@p}@`0h#&fphWU_Pd=%q#n9~=Yj0WHPIPzt{5rNRlMSXIZdg#Vp zsq3Up2Et|w_lWhMF-^-(fP6uY=K1lQgzWAu1nn;EzMYWKCNG5_N&P5XfA+rE__ zbAG(n_SWa){P0-2)l|l*;C2`~EjcM`ySeB|97(?~mU92UyK`;jy|UM}{_k<|Xx6>f z>wzwcE5rY~A}@h7eKW)+b33rV|94q%;6dDyp-VD6c6;`2c*Aq6RyNI;&k&2rS8$Wf z6YZv?ns9#Nl3^{3)fY-JI)shYQbMGq<%^K-pmo?wM!VuKZ2HXguq;v@3f19HdhF(G zR40#KJ6B+#WeiRi0t&YP6&yh89*@?oBAchbdIicvKRSxU%USVw9f@uhC@}R|`b-c7 zKS{Dbh~w90f#k($=>PF6N{mTk#xRj{X!W-vAffZV30BPTUqlVs6934f$QgNs(p>TG z(@lg2?0OIb0vJ5H-J!mrR*!~IOQ5ku-wE4zuSe__Ct1dV8m@8GD4B_l zPrIo^$Dj&qkOwrHC1G%r!kcI`wa4$JTeoP4A#7MS4ZjV~Q$cK61BF%S&|-f&Z@$AO za+6rdi4d?8rkQtM6s|b zW=8xHDUNY^Ah2nd*EM5fQ$>@ExSV#(=>4oRc`2M)gf(?DPp4K0>ag2id6Ap)GdQB{ z%dpe6Er@wRaXN4es|Yx4X^l+&{)X_~`C?|}H{Jd6COgjfK?L3fKNCNIOVh> z=0l8zWdP^e}2(A{NyRyRd?Xyu~tuQl3r?u~;I|EV@JGz?s2 z57Z!PDnI5&`M-UVNDkcetObqc9qZIsKveRZMDKxSVUB+fPXKGR`IH2f!IV-Y`!DX- z$5Z%!v?EhCx&jC${zgxd3H5(!QZw)HLMw9z=*Nt;5lPvDpUzAY^PXwCowNmoyVR%D zZePh{W9y`()Zktqz$MS_V8_yZeRBiI{VQ7;odVx<vB#3vNeA}HNfe&rds_a6CyUc*q8A0;?R`u_$+K1 zhzD-l^l-vNm{5u|yfo2yGjdF4+G3bH^-qugKUT?byk@d3UN&|!fi&DL-W&nWwYxu? zTBIdzWnFKEu;XJX|5u`Be*43+KaA{MB94%Y?q-1~1GIPgW7|3p>*0=92 z$i>AZ{k?5&_2ACkt0-zd=?yEMq1i6?2-8U_V29Uaqy0d%*J(U{cmLf{^VypYVe^C8S#gPN*6bG~f@5QRR*PF>Lav zhlm?}Vp#P66d*b59kpuf+S;=_7=AP2k#XV1J=4)cV$p=YEeKUWwv~y-I*8iRw ztzX8O6-~~UIYZa=h~4?5EoO|X>L$U_=URH^S-m*e&_ahJ+>k_3125q;c`~P?mvck3{o?~aq2(2PAfJ2yO>gyWxdI7t zXECQ=K8uH9_^FSa;ae)ayq6taU%C0FX3II1$xCK6!RhZfJx-T{8mqK|+R3MF{;Z6h z^5!pWx+sQWYvyGFpaSG>HKOt6aL;2wEQ3K=k%VebOL^^yST)doNJ~!>(bJvF0 zf`y|}>NW|qa<%b`jE3Sv6IA0A=_;%3Q?{;{8xzGJTf*IJbCwQbDHPM+d`=J+dP-N* zRwS$GM7esXs-aH^qA(o))HYj1!d;hu;|cNMd=+&? z4BarhaGoji{B5Alr!$S$XYD&8nU*qpfXo@~W z(OFI;=*8p2c4k;diWztbi~iL&SHzE$-VyrdpWUO8`ceg7B{_He_o{RDUR@@a^~PVc zVON~;V|B6Zwv?TerFSP%QlC`P|kn;hS2n%Qifz}C)SYtyNH z9drI2qDR+_yo}S&d~$U*S1E3F2d0&^Mi2dBc6a#tZ*8yR;PbVwz~VH${JLe^RfTwE zpVxmCLN=MQ#y<_mwowhTC5TT2)lD1BZ`gOChjVm0AQe~;}LCOO-} zgfR8y`5IK>C`QDsiX!~-`e2~?C&j-|pX1uy#I99y;$CS`9eD82e@-*8J%qd9-$SPp zRlbJg2&yN#>mXDywOQ3m#t4(F~W-|c|jp0C^K%~M{jBDJ*0Hcg++Rb z0&^zy5$h|GHkA3cTk+O^xOMo~tu?fHdxpJCNP=SZF{oOfwWs^(k8fl3tku3}UuQZf zp|}hN1FIKGbLD_^It=wuX;EgT`}6FsPR|TJ`Pg0KHEDW88^=06I3gR=FM|7kj6NH>s|of0H5CoQhh*^WyKb>ilkT+c_)Fr_P_3 zIA>dD-+Cs}U<)OaK4npi7LU#KU5k^R&l3GGKh>kbiTxNK3(U2&YTJ7k@o>v6Kf&}+r>;K~^8y4qGb-W4yaDR)t+2x0U}oIhowd`wIB zAg9FcQ(UhiwKT2akVVV`F1Dqh?^{2of!DwIN7!p^={-NfQYoenIlc5Z#FSn@nsw7qxZitMOm^FdvmD z5n@nhXU|390^H=M#4xO>D%$>9i#~9kT+XY!VFO;;n zHA`j{OOyI-Xb z9*H^{A<}un0OZg=SArM5U;;6!8B??G!vnsBMw?LT#S-cLY0)wQd3q8D6uL_W8|W^R zyrDkRnfoI9KU3C`+R)&B-)uc;)6jvv)gS&eVBUq&8JsEeo3Oau3oC2UoMU5q5N~_+Plf1SdKn3G@*cv6@-pTl-r~EYQf@Zy+8jL1%T5RpicxImQ17@XpE^>6%}a zN(7g#WV(^JAi7)EA9Ldld|T$byTHaxDVBegY+VAxJf3E45Ph2D8dBR@8KV`u_SNV7 z&|G|YGyK@#-lG0vOcW>LK0XDOu$to;xwZ3BE^-h?&;~L7!5_uwH!uI4_@7LW>%7K_}4yh z2v(dVS#AZR?(vVQroO`}s;Y~_Axhp{uAVyq5vm+kqN@V*u95Lsq^1K_Thg({@elKKQ&6U7&)xx46Q{&EbLFMeUDs6iZmpsFHL3Q`UPWuoWwss*@Hx|2wMYsf zwO=DIszo<Hnow)W5H`N~ zQhWP&z#_!3N)?%eS48^I3Lxck|2}`uFoy;QouUBX46W&;`%kEWL6B0mC>qYg0TM+H zvNg-c>rtAL*~Mzc<6z-857^2qWyZ4cgs$^p7yp}B@=YqCCpSzQCORdd&@#K{Yp(}Y zqCRGFs9u$J{mLST%s#7(ciyN-`tocdC7#aK|Dw?zbkBBY>7%}?#ONKSx1AG@1!B{4 zJZA(G;lzNQ@(K+7Vkl#xyENqA8=j1!*fr{Qy47aP(7&USz}}ku6V_{8h#7{-_m#NH z`Kr))soq05?wuV@lGFcfoFo)E3HmNCqKS%dueHGE%5vCcr`S%?D9t!LV9NfZG)j$C zQpuF0@LpQ=|DYA$1%S;7Jo6od-S7JkJ(n5XCYST$KKF)7nvwuG250B(|zCfuFEt|IAG7f2J=f4jBex7U4O~c&~t^ z{T=%vEEKDxYyHp@`Sa^j&^C2aS#&0M_^UcOZX-KsZWHS#JYN~?rg!QYp-(7`%sEw0 zZOBrLo^?-6{$+3f!X|%5_-ky_KTwsO*EqYAf!ACvObx3d`NC2^tEfIr@i{4yVkFtL?gJo^DB;kQa*wgJH`?-@h>765! zB%*sHC6Z_?lR!<)E!ib)m2nj~2Z_WdUs}Gt9ZK_LMMZD-m0qaIAU#(3t+ttMLE@JT z-rK$^vnjFPP}2ifW|iwb1my=raq@-Q^-zg>5-5Vpp=N7lWH2+ss{4wJE*0Mg@}!io zd!AGkVoTo9aay_|>rH#qN@8tFftY=1@2Itslz{);{sB+#{to{~R(-5K(wV)GQ$UV= zuUI|%fR9#^8vv_g(coRjNsAW?r%maLD~{>XDU9LS3H?O{Gxwnr7gHU14<=5IK(r7kIl5Fi zHbkg36R=;{pii36SVFu$5EK4?G<|n8n-AD_>5h?20#U2@YXP8}Xe)7s)-9o?q0>UHFG^iILl*4Ba3WM$Er8w7^bV3|vvci+;O{18b`x%kzqM=$Sf_I^&NN zlEw(#?7(V1au9R;2%uk;`IG(BH~j+!inT}*<)`RxL(3?&x0-Vq7H6yd0<+KGC^ zgL%1qn{+3#_X*BC9VhOxb(kk0kc70n8GVTYGx}#b<&q^@c%3d3V^4dy6GR46eK#-u z_Kla2gpZsSqLGZfnPyjrtWESs@5)=Bgie*n0Bturdjis={pJ1`Csany_&yF&Q&FG# ze$Bks*T*afLV}N4>K?2|Y7h^2YKm+ozN0g63Ov`opQO$nN)d zA96kDSjDPMg4T6G2D{PSIsJXDi6E8toQ4Hw8-wjYgD${Vaq`n}K-A7&S9WSu$Dv}t z_|ALci=8hp^ECbX?m42I{+Hz??;$;)4mo^vGwZj%0WUuqu6BIuSe(zh>)kJ=S9{Z8 z;JioQEUP#eBmdAio+tWkYqeONt)J6C-HX_g$`_^*p${}t6Is%BJ2KLp^6mH}(sMkt z0WxGS0nr&AYJi1Xr}F!6caAcS%-GFx(-X~KnLcjbp73FO^oL?}Uq1WdDj@rd3szWt zi^D<~(b=QVp`pu~`fDSrW__=dZ%vHLIy4?iSB404dgpIX&*U}kgb6w5|j$C8F*%-Co8dpqHvW1d?71lVChGY8J_B<^y66`|% z)QX{m1uB82y;-ceptAXR<=FIW<&0$a@_RGj*HiyGo4zUAlSgG5ab4C6heE9HP$U$S zJOU0*y}Ej1qzeFUXCdh%MW$3{0H3Ypg937Y|Em!H+-r-sHLpqT74RxJVi?0gp$R9* zeJ|MU60~#yTF=84Uxek>OzYGjg(lMa(Uo!PIy=KyN{n8=ZYL+mKmR9*B zJ_&Iiet{RLI&paW8`B(pQ%&*F#5!3CpBHw!JBh=5syS?6tFM(JS9yIJSBx4rzsfJJcosTCnwwpe z<;lSR=)l|epiVK7a7rkDpmlG;p|S$G(tWit9jtsPrl5e^DChBkw?n7*dgZ~(qZMDW zXmY*FPaD11KvG* z>vaq__wP&uP?1n2tYN>6oUdd{j})RtHsHW0mkyrvR|3I;!NBn3!Kvp3M}G5q6f#6T;)WzJos4lliM zqTl->^>yVe<4YV2bcaZIF8SVnGU14`>!<&VOZfW$m$=)MhK00V{m*TUByr18~dXM zd&L2sJOwrF4LMxxT$F8Z7-;Q?#cJ(T3#68B5x;CP8w_u1zOw%po(}Z)v{7xpGEog| zd}yZ)i?TK-zau+f+PK_B$Qix(UAaoWAz-@1cC`zfbG8h|L?6km$<3)elEAT@1KU8$8cz7nyrCg{pI-+|G?$t>gTm zN&9WA$M}2t$9TWcw$o=h&IJ(pv0*OQivBHh=VGc>FA|Rshcrd18Y)?s^np{xwf>@K9V%Aup%T=heED zn~y;la7f?!`o$%~m40p}jb?K6*2{DEdBZGSW&Lv{jTLgi7Rw{ftoFc-`NlPYrQvcb z*>G?;UAx`v746f8;qvp2j80ABYdq@w;?mOdBEge$b_M^cA-l(O(emHvjU>U73Ks~# zeTt60%8Q7I2!w5AbED7q1IPGO0)jK1`RS-a{xfRzr9(ieQA`s$|4No$klc;(kYjQ- zHmV`qs-h=>j{OzIl72)5cRN{jLIeK$V6RJuX5q?-6ef(x-N7&n3*Ck)R^GF3Q;1RR z#xb&N2|j;rRrf=$XhH3*+|rzRQE4?wlMg%qQDpDL0Uy3wA<38k^v7RD3OxGhJvJ16 zL#wBUx3l~DT=OT1fN{WDxqd!k?2Bm=j%EQ?(6i*G6BjPjbd$r@@UGm;z^W&UJ4Va)&1{Hr2 z)$V7Lx?;0_FP~@e7?j`Q4~i8KkT~)*YB)3IrD2J)+J?`SQ-JhP&vO4oO?OYH6~za2 z5Az|EiD5xx(9~RaJCq}P@?4oZ9og7Ic_N|oBBbqI;OMw4aK|EW8E6}=naOGid=Nwx z_50xyd`y+Fj(K-*D7*Iea)jWZlf}E|CK<9N6G?n^VcyQhHipO)e_Q}m`upEjA8kt2 zvcGo@zx4KZ--6ya6K4Sxs=y?%gWFJdktclRL?boc2D%#62U7ygi7-lj9vG~;t^7Q(U? z-#)oH={5Z4@+W)hi=p;TH8ql0PEw&#Uy{_#;^A!xy(g;z!12XfZZOe1fD= zj)9hi*`^|2+P#ad*Me<`!C>3wy2=r(i7)rv!4w#7D9_;36N)H98;23kz1c1-xm3hM zqXe~GOIjkizq8~7tu2%e=}UJY21VU9wNB`bhVVO&ttVlliP6clC<$@Rbko(D$fmI< z{gMgEEIPuNzjFJz(&!Ue_}(smZJy?wr}CV?^4v5}>->YOF^({U*4A6li{|*MF`m8s zIJWRrs<#FQ1Ct;^hHhWfFS%ZrljWQUmu(96^2`jS%WGHq^>Xw(9bF6-8>gB&zIm3h z4yA#rs2Y}o?f#4ESEpS{peYRj&Ua`kKsJPt7bZojaF%}vI2|!v)R!^8S zyH*auq53U9pGQBc`6HdVVn<#ws6IaaVrLcD(uU`ug%Mah~aD7ia7IE&Zru zFjU;$Gln4xcbT5+VCQ`;vrz=EGp`Mnj`MC@A!p5RdC{@#2!DMc`uBU8@$035|2!To zQS!p_M9qrw$|ojMZ^87$@ZWh!_@y&`8wk}UEA>4;@fqeUc}u(wC=tiNFc>ty@lJvu zsxE?H{lp3;!%U=dBF@M8LVfLVNm0lF9*2K*$o8u|>{6T1X77$>b&xKY7K3-wO5(Tr z&j}EZ0y9m+>Wn^CzqF~eXyrBc8=eH01J*IERjC=&QO4mdaix2dJPtR<1;1Be^Q*hP)AWdE zXbo_C{Ll`|6-pE#BHRbUKnu9TC?8HT(LY|PcC3dzbj)!6n}IcKbYlPdbz zUPrsP-+ZP8z&Knk|6l!cX%a02f&p71%Ubj2O`+#*HqiHWUa2@QkP*p0jN8JP&_DtI>?mY{EM~{|~j9 z=l(zsRX_-9TEVI?;Z4$5gd5qzXFJOJ5)(yK_6_s)XwsQ|KwSqj%^#lGi%TiI8e*p& z(^*O}ER4+0w-Fa2R(0f%ovG`$7CFL6!J*0Q24#;3ILx_m78B|*w~EUAjcG2W@+Lk#C0QMeA#0!nZ?GRoE{mS>MfSmrn}u^ zww46cBu(;^yjWQ4i+D{#-@| zMR42`m`p)|n6_c-#_#pqrJdns3o`6eZ!Trss z_NM}8U)ir#D;pLOC~z5^5glE$8Q6T5j8Aa;9&VHfh{Xr2>a<_6w6C+%1JNO6u^Ys7hGg+h1x{~%Mpgs5ApMsZ@pH+0G zF}{D%s)5(npRTPhJQu3pT8xM%8g$Zx{qEf-_rIuBS@MzJ?A-fL4gexPF3#rSz)0f) zIZ(D;wZATpfN`^h%v~_G>2bCNd7`I%h=uGEY0E8)M<+@^4|Qft3K7Rgl7L`nN=P9I zjtqEo-w9plwh{aX8+g;v!VfK%D0ci;G}r81W*<5w@eE8MyzDdQp+JVhZ#WHc=5@bX zXhdxd6#1(*GcT;Ks$UeMM2MASi* zYdxKU86W92#G@ZYSmA#!-fv@9j~;}Fti3|7_@WR!Wv0{T18*Sus&B5dj@`c+GW+G4 z;ZBW_8c7BGWn~RKu=FcmGB8yF%rcEEvKadM=x{bC&ub}mqxviGRp@2I{>7kl-O+N# zirC(r!=u`Z!i)pfs{ZpduBB_DAK}1gW37EWd(Jt;ps6Uk(N|w_Jn-N42mt!E32BO~C-QC+mYi zX#ysNzb3xExN~9HUnEt4ouk$H8==_${5@Tp0VbY9Gioqt8js3zE$`>>~ENC=$Y(j{rO9$pmY^`Hg z`7}ACb+`X&917semW)~s&?KvND-YZ6pVNJJk~c8ML@ z9GUlf0gTtjSqHmFXGt~3uT*Dyc)LOl8c!OG(?vfX9JL|puWqsdovj%JH`K?NJ zh0C8+2zLQh9{pea%M_5xezVzW5*Yc0uF-cP-LbSwpv}t`kb!W05HWaF3$I~Y-k7zo zsU5Zv9nv)t5x@`O15mkk{ROlRW$7+U&2O1-b$|Uw36=lPK%4fLd3%XHz0S_vShyuG zp!q}08lF(DS(=RVSf$nqVyyEIlq+ID?UDk%7Yp0$Pfv#gIB^I}tU>(Vc+}fin z9U+m{lN|t77s4&?7jY{c)|LrvS*lV1G*^5ff1Qz9rklEkBZU<~o(XTbp~H< ztn^0&!;v~OUR)v&YHDq!K+BH)MsgutwsTmoybW{2!=b*r5GCa1;#GB%^F|3j^z={W^bsB2R(JEx z&9@)e{c?IjCjt8<7T@;3`1)HFFZu7vw<40T55I@zx>pn_e)qXQ^-I>md;|jH74Rw_+L6d0OzOM|lir$h$@v1}>)LRhaMEuEXnE8L&kB+~Wn9VfKH6?-=-T4Z5$IfFShwG{C7Vr-3;nRe; zl^kpoH?=fJe~c@K>risYn$Mvx&`$~p9$}9xlJZ?}X#eX%EibZ?*20RB=)q^e#pjmE zEP9e~^X!YbOE~RMA$3Cb`2N9C-9L4~OuTrhDdN1MQMrNC7 zA@PYIDrTk@O5P4?;Vu?|NjZzim>t;nU=Y=56j(;0U6Kq>QAdQ+*2PZ_z+O{pImuqZ&KeI|Qhmx=4E%;qjC6HH(wTX1B%ltr z$0^n;k-&DL;d7^XO2Ho{9yKn?YJBCJf4?Qh#8~PraQW-y&aK47kNl%H+xC5k^X9r| zbpL6fweaR%eqo0NU`kO!L2s`Bj4qx4#7T9@6U=Pj}aQL^Rce%N|gw?S%xBX z=Ep`xJs#NG71l&mVd4(qY8~V*u~}QKT%Mubs>YUwDW6m8)&!G5oTj1t#vc{vXG|lk zmGASM@Q^ai3%T4b`M(f;OnXy4C_C9GcNdGA5 z69oT1wjqx6hZ!v&)&vS6W;!3Qqn{N82o5U&9sBJ%@U;_3G`h|t&)882-FGaw8V#3v z8!{T-i;&}!Fzj1deCv}jf*8K-`srZ#<#ipLECs{*s1zn*3`$d=j~;Y0CsuC*1>(JFFO)nMe4=U}ZQpCwAB%a*SnIPwaQ!jE+ic8+HEEHq;p zL*i%KrCfHxc8%Hseo4;;q`e{u^9cCVi{wr!%`Q0#D4O=U8R#WdSJ+iWpR(PXZg=F& zJ~xCw%@n=zs_1IDRl3~c;$wL9@d;3q!gwYo*e?1LkA8jCJK&Xe$rv*o3km2$A+)mJ z@CL2Q+*E<&5f+g$CXbImObg;xQP4_K z8SJsk|Ga}6F>3?#8;+4K7cJzX>`#e+jN-3)Z!!QL!W4dco!#JY^}NwUs<3tVw0JZg zW=W*utiIcm0}>;Ayo@L`3Ix? zX$^@K!my)csHf>+b|_lZv+|dxYyWYivi>-=G#%Z)f^6z=($6g*i%xw9OR(6#g>q!Y zDK0{pdAZiuE){vf4qZVh%87>P0oZc~-9PhnT&G258pi0H5$nuy58G~%u(H!S?-8zE zaKhYdxy`{y-AI9aenAUq0XZ31<*2McD)EdqMJi)=@YgpkeDTC^8FF6s0heH~fW;HG z6JJ0KZu@L!qlLtTl(C(Ym>GRk{ddEesRif6TF}5lPctJLgsk0-hRwCb&<*Wue$(gR z$R4YVGW2wMGYk#V-?J#-r-ri|5fP9sDu}VUPI6uBk=eI4?rIhPwSUrAmsiBQ#1lP( zSsFy=it4j98YN(ABId{8zc6tkW*~l6(pdf7hH4a=txcBZ0`y}u?@fnB+xXTjf5<8l z__x^^`Da10T(*u3THSQo(PANIoK`!qYu>k_3R!gLRf?de?~~+)Xkc1`(r!USLRFNq zf{8RoOFW42*L&4#8Ngb`@tpK}!{0A8LQwK{SybXf4b@7Zg@#69NFr+2k?>e?$2uJ)LIi^-sOq>TFtfn_xt&Ou`-Ts;DQ znXw3!phW^IjYj4va2{D|-w$fS)OaqQ@)8*y}X*CxxWZjuxKk_&q*ua@v#g^@W_+=>zoxCi<# z{FCiQ$%Who9m>qO&m9VZ8alzcKDOHnRr=%U?7EeB*O%&`1f6h6^$t>QU3%Lz162cuzr2b*lGI`7D5Z}56gNm zH|%T1&kwt`G<*QFwC<;N)UfYQd!wpOg7}`4(mf!?n+c&U%K$mba}zj1zuTh4tKJ9tH^b9Upss;EJ zY&?oy^I_iaBz+=(q>1G*CsT4Q9U6eZ*hfar13b(63V%CBTCP@DV^`?77S_d^W-PnW zF1U#dR)3oS3R$DT?e_TjPIeS!iHT9sVYded=6hPh!T`*&k6uk?Fkf^o;AS(vTA^#up=ejK% z?#E9k{vEfnO)ciSVxwk=GC-uVKL*e$4cJjJg?~OKYRbQqFN+@>NvVGA?JO|zX=fFB z+Oeaidq25rKZG_CEcI79m}cW#KIZ`mYY>$|nGBpML6!vd$YOFi;#K8uSJMBe66R8S zg^e_%lRo62w^`d)4V>Pz;tN?%??Gx;5QR(c91L#OuU{GXvIs{=C#ERp%sw(EBS@Sq>RSWN>-ST{RoA)+NFe~kIP_Vy zm(>m&AL^{=te4NM$$ZCJEUBp4Kn$p9ikYF^Teo;A`8JsJK|8-+!&UDv z5mle;z&f>G-vB)N|GFp*Y6I3f2{n8DaF`DJapAp@otS!H>(tZP<%xpN8=Bzq7ylky z4j*|6FaH!MxF1BFnn(_rX`5L;9}muQ?)ZvIK+Q&(MV{(Z9)2qj(6F+)cfs80>k<-K zb;yJbsTyOeUsw;Dq}fRh?h}nWQ~=9*joN6QJv0Nn@(|W6)UT4s8w8X-LjV*J0=35Cg zC%2Fl>O{E{q4KpiO3w|^xU;fm)cI;G_+e<$+C(C>K&rwl%GLTW=^1tqmp{~ExdDva zvyZtIltaj}AbW88{ykd@1N}a9*iWdJ`_1*aZ>QpKGj}Ie*FLK-&!97jX|xQVt^tJ%sM zZ@J!<)0c&(^yD1!`i}2J161Mzp{tU@uZ4dSjWerOzKI|#9>_ml!0+($qvRt!!-~)$ zW=ReYRaL#|z5^Hqef6ugejv@7mM#ecJIblK=Z|f#V`r$pq0XTPwagjYL>P}WhK=jM zgYrH#%IShB*q4ev{S}})W)i{=hh`bz$5Mc2ojo$0$9s1sG@#ViEcFh*Zam+MGj4@yIe5b+@&Un<4-~iEu60h z|CMa4bw~5+&s8PtAVC(s^JUEKxuZ6=tINBOD=MD!==~N6_!oeOVyz1Vc4v9hbnjDK zXGqp7T7yH?cOhWK-ggrG5K2~RZ6{s&pD&``)m`ndo6PY2`V-WplI_ei<0l)^cHmA9 z?rKwt4EvqnyAl)hMU6kokQ2c*uGBxT6iJxM;fl;~_raovX#ttUPg>7~anEuQo9?GBzgqka7H@R5UJ427{(qY^#N~(Xj>9CO&5b|>p zQ2kq7yBX}aWp3lPAZD_}o|yGrblO5J_rpvyj*!!e>+5|UA@P=y+<4QDO{G|U7#X;(@V1@Uyy5CaNxWjLa zMabG9e81%zJYTiwe;2vv5f!3#@SsJ*)KJw~8f&E2Q-CvKSp-n1lbGSw>$+g(BA{60 z1DfxWbs8IUP?>qQ_pMQ5U-{BQyzWuYc}flYLHfKOLx$T*-_X|LC(0fw%ihM!`9D5c zO35_!9WSQ)?e=x$8EKppuAzvyMzJHyG$j%G3?;5dO$w%qAk=FZD2@Jm3$>i%FPwyu z3&5i~1CG=Nu{M?DNuZt)nz^ zSEcy=eSpDKNnuAJHZmlwE1lb`qHyOw1G#!+7>G?FAJEzfl*Yj1V%G+ggvpp=CX*gg zA}jn@YjD{IKR`Gt1C|aT*1bS6Chy5uVblSmj?C!I^_6nqnfmBDBc5P~tJ6dtJtYNG zC6jY2X^eaG%T#4&eVk{nUfr!$`m!>qM4mJbc%H8`LmB|FlioGUk7J3$X55)mlh>HH z6V#lCZI9qT!EeK)aR3I`rLo!mUL>}vu55I8afXJ%$W3WB3&milYbGxO*@_Gz{Z-N4 z`~@_9G*ec=+5W=Lod&E+%yEV%kfJOhQ zb=NV2ZRb$T%Zmq53?2}-#k3NO{kq;~u@_W$`_m-CVJP^jCl*Qwom75xn>=T|#k*+2 z!*eXg&cT1=<4Fy(%oGU@TR?uHwEPp$uRfT49J`3PnIQ@yMjVdEGG^N-pKUyrzx)2~ zFNT~8P2JY~_ae%Egc7Y>Z)`zBNW9&NuD%>gpcuMPALU&FZNQF>mMYYOeznf()6Nfr z64|ZUWq$H6SKn)&+`Xgg7ah2CxBAETq3{f`civlwDt6o%RaX7?!oOE%9gOJ#8~?+H z4#|vQFtOlIKexO8F6G*Dp@QOK3E@8%Hf%#v9}*$LjM8(BW#4`#GJZQU%^ctT!jO?A zXbApiNU{NQGt91i~ELbeDq&A^Nz9xYx^_z8!Xm*Bn+r^Y6 z&g{~x;|ipN&%}4hgaX)Y(YwgqFJzY~$hgd#pxk&6lOg=ljaI3u{OIU5qnY7?wuI10 zaFU6UalAh9Uma^RZWmQ5tPLSyF_;~IncgcoT$2V-G1w7}e^ogZfAir1co&EvDhQ+c zSGlzi%1>=FbD9ykp{pP~PVTPW1x&I>L3H17^9%f@p+!;V=DNS{mqlTkAgx|46Vrx7 z3FQ;zw{pyH8mdt@Z%S@aR>YY))I9s_whT|hO z)8;&PYu3a+TFP4=qql?N=PH}aCmzAjL@I^0jv<33?)NP;1j(cS%IK=!KJ5|xYScoDh+h~$VaU0NhbtFTHNxP!D%09A8ZrKYG?6?{ zDKh#8vNWMGPX-^dKhJ#J5iG?icjx$Ta6y@zv5@~>wDi>lc$~2NmB?`Rzan(yjT0V_ zsoG9@UTtgY5yk}c2qQw4GF^wqvYiqb6ob+?EAoMfSN1H*MMws-F z)`eE}zQ(m>Jw{$Lg63uUabn7x6+QoG$!*rC+kay3kAg&3=FK zPtf-q+=+jSmttVxNd5WfLEdgP(=VAs@HGbiM*hNtGko9JTnwNypsY#CR{u^{cjA6{ zZ^IjLiT3};c?u>5>u7rx*IxB*vkN8NK=K&zO}8kP;QS1DgV4yC3cY4~o7C~leQ8;f2TmgcVDKW-_}d#4n|hi%9wSi6#?d_u%G zf#i)UJ{U`{zRB>AvtXx2ov|MIaedp*@lpDAf%oR+8OkRTy|fx?@wqE;Aw}-E>=O8U z%vYyVO{xog9vPC%U%Cg^yCifx86JB5>oXQ?YORp7lQtpBYK3odeeT-THXHiAutBtI zH_Ee)>R|<%%0}14HCTU;gnMYQx?3NVz2_a>WX+X`qB49yG%ZH|+8HDeF9gX<$H*rY zpHwFo*Cd48Asnn3=qDP$$e|7mL-NFh*8hxxMC*MUi)_lJ3m?=)gPn===66d;;V$vp zkiy8cVm|4Nzij^5`{6@T$WArn?e68@M%#~dBzVF>yXX$;$Vh%(&cuBk<#Sw12HVH> zjiQjQ({724xOh7%FnU?-v7_7_FedzV?g#QxDVCZ;#OP|T=1$b1snFtRp!Z?gb!c$E z=auD5Cugbz;yl_g|6g%X|J~_YHiR_G@%J2+xBHf(mb(o(^InUi^e3>F|CUoCItgLj zue!@ricdklYbYyB>)>#huSybGE%}+0>P-UD1;B4_vq;|k!rx}}uDxcf8+0>zynsj9 zB_oR1pLgzEEkX*6Q=yNei^fYl#u#MH5DKt3ZqN6raC9OUZ@v4(u4muvXWj~#Hk7YZ zcEaHto3wA!p5!EXQ$c9-!`0gTa81*!R7@vi( z#6CYd) z(GxEX^r$z}>7Ykk^r-Fg1bmjm$2bOM)wwz3Hd<0K6nP;V679bi=2Z`tS!l-o&|s4s z?ltTG-SX_wqnCCHoBfYdF_F)Nbjzf?3hK50<>zuE8hc1(p?sQ&pKxT zJY-Cfc~6^@QO=`-7hYMq8vC=g`wQn6XF63we$AHqh?NUDDndnA$lGZnaS-;GoMWWF zy0Oho5owfw;62fF51VIA-VrOpZkcNMiD7zOLj~iFs|CxA1IeSxkk6*AEEc=?fdfSW z8fPZk%+~uq3G~vGJI%-^Jy}HW1kYr>da4Y~R9-Epq-k}fTkxyaS!Yz%&$j=&-$kf` zQ%kkv%Yhi|DLt4iRh_sa$FnIMZfV^X_{qYKzFdDHnO4|67OV-vq-DUx^Hy>QwuEA? zbTX(-GNNWh#V;;QGzv|;A*8B`T~I>?2^g*(XDdnwH9F`H=>o^q*uNbw#oF|D_AbB? z`wpbOA-lFCHmp~iOQQlAmY}8Fr~D#<0ya>B0%O?3@jxE&-lN{*SMCD_rT>b7yr~p} z7;tFHL?DHFYNmjvGjEd2$$DH=1q1lMfB=azss6kn5MvRfX-Bn*TkjOJmN@;4!BBhlMQgR$6 zrr@!h!4dww_k>*(pp@V3rkbI#3a zgu_)=B)@;aP)&ftT1~*-nuGt=8b1*~j1$UT%%=0yH08Y^FDI9gr@Q9D>WwxVbPKg_ zmFe$6Ygd#;xAVd{7mYVB?!x^yCRGH8v*H|;ldKI+lJBeogF*ekWZz7vMPcIp&ITwL z#~;#1Ao?ckL#D_?zJw00OtOO$CDRLB!6adi_R@_nC7Dz{7Yu#z#&XK0gx>nK;utj& zFsu|Ne62)^@mu%Yuxt9-i@q6{$`D!C+O6eQSC$q*FMEDgJb=NOV$|f9&vrDF@28Vu zTl%;lI%2(3V;wJ6BMJhX9AN*v?B6HUn?5K3K!T_z+ftUSYN}gPG=0i5b3tQSoLilx z%I#OK)^9Jo-mF{=kRKKz-g4$a@^_3sTxU~3I47Nr{l!agC7-i#)t(WnT3FQjtbycc>}-e z&*j$x_1g&pMpwm(bL|MDlJh*{j!m=dDkxF@lW+to>9rQq8eK$Ta0NKmtG_HfpF#`e zZ4wUH`>Au@uCLe4+TxZ70yW9ClIQYO;5>NYXw63=ly~)ru0E} zN4L4~C_k6N*;(&A_gjq_+l3cj9*b76wI z?9~u&zffNSy!i14HYJz4cH#e#eJ1A(7%UE8jiViXDK`727wbx4f_cD_1L0@@| z);EgRWw}yM8@hg7z?z)zrZWqRptgU;4X$)gdn|&&UflCQ6hfg6pJVYb%T2#uElftV z$auCNT`Nsuo3V@q*pKLQmHQ;fpxYx^Qn~kf<*{xbuV_j2pIv!ckA%PFrPMN?QY8tFozC~S`e>RB{`zczb)n7Q zAh6QkKxcw#q0Ljd{qNsIB8draKN+hDxSDjh>TlvFt{*#I@^RIN>V?gxu#`QTooRDF zrkZs`j#>=J#It17e4gn|?@m}iMb2oEc^JYg2$OslIFJM2ooTVKSKfD|hW9sO>3&O9 zc;qNx<5_~pon`bKuUH+vrgmZ9Kia#SuJZFWf9-#sJR~&!9x(~3%Ho}r&n$T8s)I=Q zGjuB4y`^7jU{!QOEE~QsDC5PU%DVCqz>!y|<9;|@`(g(4bEaj(U`x@=SK&`zp9KETCO zwf)FdHSqGqs7<)_*M8=^@K7+3?8LX#0FN6II< zG|KXE&Pw5@zt~Z`S2EQ>ZVDqwgbVM0Pp9wvGE9|d_P5Nw{%XzcC2^MvNAfdG-@2AB znzlo)VA>oPSSTMf3YI)G?^7i2);{f%*wze9mp=sw*F9fbi-V|@VstVgh&K_-dc z(rID4@Yq&fA6Wduxg-7`%6PEo8$&nb|Il>i(NI5L+#kzW##S++tYw)QM7Hc(sf=xm z8OAO`S&C%eX;LD6nXxZp8I2`7*|!?9MIw7bcCwST=kt5c^PJ=O6UUj){oMP$@7Mbx z0(S37o2V)E==>*3?LHu4h)jr!W+=0}UC1~)$q#8fyork#GIU&$cYYFMsX z8G}RSU&s6jQD43TVC%)`?{^?C^PZ!=NtmjEE<`2fzg03A%jKKA93ELY*Onk5EIDQ) zs@K*&H!UQp`X~Oeoa;+ESa z?G%*;c9%}lsBbpo0%h|#V6X!f&RFH}zXn-d9|M}*tvbaEkz+ONe)mKH64{CZA8XFA9e47{1P?v*y-{&ox`RoQsYNx;PIUY5yzL;z6d}AHvnxo zMOWLWZ3tVVreInxG4Zk7JC(dl~Xh)2VPpd1i)*6sE=r)Fydb@;=6zQoAN z{LfoQDYv_YsYM}V(kb9+(s;R05nxiYw(*vdg-UBIN)y@tJRr{oqV-sqrTu0L?@ap zq{{_<-3+!tP5ah$e;rq-IT=^!5X>_(X}|kYV!>=pZQ{11%gH~$+TiDxd3eZ$`+Cy8fQ9u$G zabJq-iez7a-7^OH&B{p?`efLH;8M{8HQ{)NR6-JyxV*<59~#U7-;J68#`;UY?gU;% z0WEu`TN@Z<@y~X!B@Yiisq6OqRAC$dBJ6d?kGBko%ip4d{@bHI5g8X3IuaK!o4rmH z6N#4fc6@9e2y&{0$$v!Q==u--)baeeYdC8f%ut^bfwl=r&7HGP7zn3fS(fyCikh<^ z8d!L3!s;~szZU@KHS*b|#DJi+sIbeS>ESmsbc)347GkXvuFYu&v_xyaE|y5$Y5!l; zgC2&+LBAX@mA}eE@h=sL03hjL-$&i;FA}Inp-&EVY-agvmnBTe44ru~4xY)C>La#r zy$3XAAf71TDmVyeJZwHy#3MuOFs4(q&I_+iN2KY9^rBdth4Vk9k@n8()oLy3%jw1# zR$SJY(N>!Ce>YE`pyn1LzBkc}Ons%sf>{^B!OD|*z^&44YLG@FG9-A9>zDcF;wMM_aXk_@osJrJ`i!;}~@Q&2xV z0mHc-e5Cc5#?qa^nUbYwQ8eAL*Iub{$Qf#ER(3BTp>oIb0^Qc%szVo_lecTfyZpDR zS3Py(`Pl-Si~_d_d(+e2$C;z=_XX|fG0yubQ9U`pjFA4Fzj3b4fJLAn^&rfUt|BNvr`;LNzDFoG zTEs2cs;Ow#L6eK6=Y5tqcWhaOe}JwulCA80ajbyNFCC1!2Z~{4A2Y<1)I3{8jBGOaKEQH6q;4bzHGG+z6&;exoW0MNaT9d zZH~OlCYbV21*po{#sB%J1;WWygFpZ1EZu|5zTlC8>gGZ_mdQ+F6!GhqFMkv-L(bO< zLb)(p4FmDwxNa%?(jo&ODXQS%gJV}CCtmy4OaI%8Hia$lLVxB3Wc%6E@S)IrsAt%P zPeP($lEa+m|H<{!Pz9sh_|ZF#=RAG2XBV}oWun;~ih?iR8t?3$ZTSeW)g(`}14F@h z^w4SMDZkay_TlqlT-X1EMc-KJKdF~z5ypg7LDtpP-dzc(Px=`P3O;;W5Xw;0bID0` zqLl*bT;`9-ITlXS08D=%z>9C&SFBXN^|+7e-JGMmvpFjCOLd00e0-pe5n1Zxx`_q* z5A*8n=1037f3Wz3^zfd^#>k%&{MEC~lm`1e2b!;jtJg$1`B8l6A@^I2n7P4qyIUsM zQwFqZIv~%G^0%m5wG_JJGzGI(8y$U*saDw=-i~)YJwXO?YEn?SGq>UT|niz#@B($tf`jAo6ua z&f4!XPEJZm*A9k0_w6?inQ$c$?s=hdAUJja@rB#;t#=)zInw{>%D34d|C!|3b1`NN zS*s_-`Dky9A~P9rXt}$`sY>~n%X8g77EZKc+8J2_xss;XlOhjB+~od#5lr4#D4pez z`BV<_4=U6QsK_DWOl)YuLK;DIR-Tz9d0D@KzK%^KzpeY9xM<>c*< z-6fX+si^mzPPWO#2wWK`dtO~TI^rG1cT7u^F==XX;YS%k(@PYeDhaV$Q|2lOEXd8b zZ;Ak{n+!6{xG`U)SvNlGiB5g~RkEaK4 ?N}E|*x8gsog>FZ3OHGK`$BmQ`yQZ+) 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�EE=>fxv|j8RJa) zT`4oTh!V(PAFxGI5w5lbk*iw2?K(VU2=sAc=(J1k{v`Ad-&psdxF+I#nb&bkCnS4e z2Bm&86|WIkOqu;kF`jZ)IhK+{ex>JnxcRXGr9?69YR4TrnUok*Vnv7{$9MW50CJq3 z%jfM3e5FC&<~r?Aky;F(BYPNf-F+M%AnbEoR>ZG%5;1J@&q+Vn++LZ-HKB7Ny759; z>S-8)K=3uvjPxeV6)PRZheZ5tB{S02Ob;UWURJ(Q+iO?PX2FQJz50#pCj2aW%p zj07&TiYhMBKMd@@pbZ`IR0%2&frfZaE-iUE0#Sh{yBF%IPh>NGuJR04%xqNWgnT4x1BZAgq73*WMMoX5ws)|K&0R->#kGM&8 z6YwV#j=crh@(Ec4ND2a6QD2m{W8V~`wT00y(Kr7rwf&Nc%2|+4>NJzfWA-I|tSCS4 z{uDo*b>K=PIxA$bd0cV=t|zdX)sGW##+Ll1K8gjauK*Hua8+YTB!gBmVRE&|C%9TV zQVNu;MQKS(l-X9IJzb_QGZmsA-0qMXeN@L+h>E1l(?nsN8tv~zBD(rlkEEqNXzBC0_3YPt3L_*8MSheUp9b0*cP2gTK<`icGUQ(wah zkElOu;uO6eVpdnG*n=-po10>{nmdjwbNE=~i4wZ|9}QXald2i0i)eu0KEm=7R*2^I zA+-t9eK~`mFmqaahavhe>?tPH_s2vR*rGCz<$hL|GLIqio zNtP54yW8VM0pahl5eis(1z=HO!nD1x+R%DZRF~0sShQYQ?d<%?+4~aA?4kU>5jwcX zyL0QqZyZd!cb%3bL!|Oo<3(Sm-~4tU7nSRql+#GBy6=(W<|lc_Nucbv7R=%^8T2Ss zH~#Ef?z#MQ~IZr$u7p=SXTJ$MI4j5zT??)2DswcsPllorEb{)plvk!YlaC=q=y?9qk49Z=`lHV zaVU!Fa5ZJ|+A8~sGH@jMMUi5SjcZ*Ss-(&uX;n~XWWWuM9ypwq8xY!i4`EeR;(t|r z9iTFB&fP=0^E94dpx(+(xkd?;IcUG#vzp5Jr5uI!5V@Jz%K{f5U0XB)OlT__hjr&~4kg&m@;ymx?w~za@_>J}{ipz7nq;+F80VGt7I*%=YOw@sZCye(OCbGuV|))BV2mn6Y-Rb>cz+IbpolY_=R{DcLyNC?sS= z5@8|XP}gb5>bJoLVdk_ukzZug4I#Y}=Ag8Cq)GIX-1v}>PTc-APUf?jyleX9^0y^N zPy3){2VqKUnet?h)SK?{T}}Db7mIGI@%Ss-%`c7KmU^N5>CYJeuvZe?y&;5{3Rp`9 zm@K$o8X!2`6cW>X^wa<+fUOa#6N=o!!ouEA)jzw>7NOQeUwB$4-@Hk4SY%N8C3ITS5`J)v)&@cl5bZ%t z)7=tOMgsW$`-;?(w%99+vWE@w!4Ib;?s%ZPTV84^r6cPN%*l-y^W1QmnZmckq9GMg z^2K!ormsPX7(w28Iz6^0-dw%ZI#gD~k6*mob$mHP`)YaaGuvK61g6*FW>V`i*h;8h zatoK299;j%%V>br%N?#s513!UF(`$gvh;ZEYHE+x52-Cr!Bod)`s^*DiJ*ho2t{io*!QSqGCWN0$< zcEN$*R#I;g%v{$5mP8Pj=FK+iJ(kD=*e^PSjw%%~ibZ>Kg_#>^69q8NPRYW`sD&wX zYp?AT=Wxjxi7p$m<=FoS=(f3P&(6L^TjE6s{bX~Y6 zCBK${pL12H3MCV44>B7vUTSzlPW5R@5^xEWl!yRDdw|niRJbIoIl4#j0R-?}EM{6A$e}pu_kZ6s!HCKxy`ciWLwAmw>@TA75n&T@b&W{di1X_ zI&PM^=;T3i9unac+9v!&$bG@%KeRdL#~bE$a!s(M*hgo{N;{r7!IMwlics3FK&_W~ zH;fQgSK1^AqEs2rGlTKs)I{E$b%^j5NkO*ND`Hkjr-9ZpOJ-}E19Q`VPp)nBxCfT} z(N|%V9S3+ry1SWDL$(`!|HZR!Wq6;3blC+~+EYNX?R zFFFRdZ9A%qQc-x;$Ahe=TD3H4&MXTSOVaKx1|JZAb9?^bx$tZ535(Ab(SxdEh4OAJa2Xgo;|wB z#Eh4on@`mNGvOHrzI9P?-0HJQ7;2tVMSe}lI4E1&ea1cqu{aUIb z+IuLd5Al*!q=QVK8-X4g(cqTi1&c0{{w{|89dq-??r6E%ydR#fn3vtT6t}A$knok1 zC>G^J<4>w;$(o4=0J9g7bMraiG5-Bgd0wFv!kB%sG`+=ztlhq4%qmz+=o;{t+{N=4gB>+ zkcAQPon|hmu>Y_;E6JVMlD#vKBDoU|$=>2MIwhO=a!K1@Suq3VTNynN$?dmN{LPRs zBVl$w%!7f}%ox9n65uMB6>T@;s(!U%P6|0UBjd1WLhif7qOtbULyZ3wi|dk!#xh2u zQr^rBNy`j|KqQ0B_ylniZ74AM3&-6uj)o9(gmbQ&yp-W_Vsi z$F+X^+dd_q?MuMSs#K5zjYR-UEO6^ck7oF1<0FVOVx2V6a582~HMNAnx&#QoY#XlP z28Yj&V>j)ep>OUwqHi`)ayzG=7=_sb$y{}4$OFLyMoLcQkZhTSpQz-{g=pH2v6w+F zwO7VF?l{5KtS#4Ypzi9pET0Bo-ZCen@LUkn69z#5IOJjUI4i(_^*huX(CT;uBQsBa zxq16WbY!EVQJLHo(a+7;2cCI#PcJH?a&@+JlHQ~1dUfc_P6@9~q(LlP+sO;P>ttl1 zor|wM?@Jb_n4J2ChusHbHK@sFzHh!7S3>#LlB3SO|5A?3d2^b(3%Z^csVCs74@Q4$h~E6Teh?&iscwur z%ph`6bZC~b#$cMG86pkKK1vM_UJ9E;Ip;E4w9(|z#%%$hKik zm!D>|nu2pr0vjI9fQN=Q{w(TDBN{0r+sR~bx)M~GdIOA`&grQdSHmv{+g+qn5yy1g1 zz!EW~cLhEReov&u$9vhqo27_s@K;;Q?Ed?oqdqB=@6TOIv_Wr&AD1YW={h#Ti~D9^ zwzf5%UJ^Uqf%}awlJWJG@-bJO6oSr3W|&|M(Nhx9r>s$|2?++Q(o##U!b0yzSUN_g zq!Yl^eGn{9s01;S{pZv^jlt4h!&B8o@jtvp#9Wy`l`3x;OO0INSEu~~f%6*-JFRu! zEp<$hsw#|kHNDDERYtt3Nc;U|KJkV^dPcXHtg0b|0Vu#Cbse%ZJyW+IFhi4{1zM~Ap7@RaU~6+KlQ!0eWtb;ca8@;bu47Ff z2*7E33G@?2F%U7Do0ko?VTC==W-Hd!lc!%6Uo1z5(3Wg-S?ZqaLXDC!B4L;k^e5r6 zu~Kc=>Yt~lz09A--F{2k8NrK%Rtd4foI&z&T#(xFY<&N@f%&&;k)sA(EJ`kXC~woY zCnx60l1z|Ul};`oRC5|lW<`9DMzopOV<2wF*r{dtfCl~RM|5NH-<(FMAO+APv`6|d z7Gw@E3xJ(wSpaE^3WIi3B40Qv{!(*TS0@#GLrS-@yN8rY?Fg^fATakxo%fBD;i12w zP#O9xBuET#P>C^%+bt{6hARPcw9m9<5J1uFd18GV}y1P$?^H0Pc5Nj?isgt6kw;U=)_6ky* zVL00BiX7bwkj?TvOc@ncaIZ zO!~4JFK}Dp5AHPXfz1b@sxAhgyy=!80y$Nwod$#x&0IXi1Xq(H)IL)(ekwD!B}xH8 zeV)@tH7{0L}j5w|rQ;~^ftofnW z0?w_#a7^>YS7!&$j*=`LA}4Llxcz#zJ)K(u^FmAXP!U4F+j|-w?A#NUFZ<}ck|%`e)?Wp<3e0Gd)8x2%aKyD^yjuTE8wMnX1z$G z0$i0}$_A(opG+tUM(IN#R*y4iwP0+r2uo>r5~A}_!$fu_8x0bzU-=lyJlP5Sy(59r z7pK^n*fetzVWb%`B4-ZfsyosALL3CHHKSaLg;Gp*VS>fJE>#_OO(x3*mNYV(-TjNp zaraSGmVYHZ8N5HR1+JjC`sgb4M#M4iLvnj0`7{&T_HgKElcW`KUcC}EAwa!{0#N}F z3eEmePO=BE)2R;s`FzN5+QGWYoj(>sd*zZ0L<-f;zW5)peos;FrGjtBi+GWAui_6L z9T%cM;Y&jDe7-6C^!^d>d3=4`1tj5-@5SiYA}lizkXU68h7dwbFG`&8RSxt;fzy(N z47>0;NXLdw%aS@#=EdCp^~F>r@RlaCGjaDBMX53ZiNrPe$mzCwd#5VDa#u3HzYx+k zA`{HN_|TigzR3wS>c=0|PTHwReN~wkpD=P;BYI~W?7!}y31hH9=l**!@pDxEzI2J9!%G{B$A_pz+v*6ZH~(-xJXyH@2TEckTMc)F1}ON$ z1UQIEQfuRXyV&!N%WIP%<>_Ue_N%a@|D5EpyR#`#sRphaCmMETOCWM4gL|2F zBxy+NYZ*5Nxc47nPwb&Pmb`(@SZzs)5NtiGz6Ue zyeH|{w#lLDWTG#deGE$byV<;0rpWdybM)itpI=1=#};YZ&^tOQtpF>$RB~#0koLop zc$SR)Y|J-NInIyLr0%q~y4;4jo({%uH!95D9%eCw`_f8f9?z#Ivgui5r!*s>$cZ>C+<{9KVh4<=>{+*2Uq zNogK0D58rpBH&Ah;(2<)b{_ElwuzIf{Z=19S*Do3S71qZcp^=aZ<8|7MuiA8HK1P{ zp#N*q`NE6gDgsl~^C-n5!_88%dRx%bP_;u-O;`>`TPJo@JXVO`d@#`&%lW$s11ERt z)v>tGRoKhWJ7;QN6dSUkL_X2RXFwkl%4IO`!cZP)D=%qyNU?4r&!0w2F~Hd7!1{#| zAfLB$1$x+$xIDVOFTm@1&n{)lY-Hl=RK31v$o_VX;=&Jf_Y^0#md@m1^P7U{ZYnD> z=q??y0#`odO)Q+XC0O+Ui69d>L~0e69JFr-90ocD(l6@k+QL+i2Jj$s* z5PSzAU$ov^+?NT~;~G#?mOIU@(|5Oz3J{!QCqPvO!A?%YjVbv}PFqKlmsd_&Xb9sp z%`a&j4!>TgyHSxYLI{n=+r1qWE8VhO(`;S+eioPzi{8|(OK419kt(kLEh%{}oE&zX zdpAO&@GzIAP`?OaWo1RO#DC$kG1nqV{p!-o*;_B3$I0 z9hE%O$pm;fzJYk2ERCh+YrZ#v@1^k$U{@z)sntgrrROqe8ICI#?$bw;ub0=B`o%B- z@>bsE;^6C6@4t&P%UhjFk$JmFi!ht4*=1cmc9pE7%EzzuP0wUpVanqwMZ{^&n~t@$ zkK-i&X`An&a#taDU)26uS7LTBN^dQxpNI{QacO>oqOkZjyJ4;w=k91i=-EeYCzO_m z1-d+40hu|6^RI1zjY||3D1b3>j9X167pD%=&i4$$+IryW6`H#FFFLL0DKqh$Dy8j(zZ}N-MWFbBCd0(A% zKnxee@E8h$1X}=Da0a^^<$fJiEmvz_lFu{<%W*C!G4r_vF+zDN6@UATOn{7f+u=Df z3RkLdPe9YVPCw!<0Y3q_))~Qhh`8WhCT`O6ePAOrO4{OGOq^0fD!~0weQ)H@SR8Jp&IiuBYRTZCn22y*pi^%st2L9A?Yl z2GL+^q)o}}l}NVCs%SG)gb}j9W?6R%B0D+x84u~;FtIai=|Vzs*EmfC*y`H~T~R;6 z3e?e(AC_EhLRmhuPbXxUJZ=dg1Y^O3=)FZj2WBbYj979mPvR5{ue1Rf{0=&)ZpPv- zE|uZtr|qbyl_z!N^c|l9xj^xYhw|b2g(~%@AM^n!_q=s?T_uodu0g?Xr{M5krTOC5 zf=Hzyhwx{Ghiu9tvT)v-y$GRTX;eZNVyycE=f&&isXkxAGa16({g#FC@YOHx!Clhu z4d89C#;DrzHU8rISt{@Bwz08UCiTzaqWWCHXv^s|;X^T|cgV-yfx;;ivdD)oyuG-d ztcknXF6CdMcq#`|DL$V%$FLNEkC4)f0Qr>{=Rzh560am;jG@~} zg@&=pd5g!=o7+aqNrqb|P?EkOgM;?c)G7&IOI-~{^-Z>)=GVa-op)D1gs$_*r+6OK z?Ma3iZKj6bNL`=$$~W(PR2C7p!(e|;g9({{e$8tjG$*zS+%_vBSGG%lRe?J zU~SULPBA8(BK6|HRs<_58|JJfRgN?w zS9TAaIDUIO0|Z$EdNf%X*_a$_&0~R@(C3;&*S`m;Pp67l3c?OqpjNp3{+?%I05_~a z=iZ2-%+!0NPfAfn_g1?|8?t;Y$ZR+GsrvBogFrVR%}z@IggB-;5x+RAgh9e4XMC91 zGyu2rt0)yno?wj#pdBASDV3_zjkhe?HKx5f&XddOK6090ng};-Vkv&c>dd{p>E<-B}5_*)FeWrWszuM>$ znds|`O+(i0ByBjWMfm{vvNJl0VtK`fC{t*y+8UP$4mLKb2uhMJ2!q=^YmPNsn0~$4 zj?Hh51}4|b592`;ysq2$6pXM7^Fx95Ki^o%>wQ(10ZZ#FD>=JQ&@(a7fQIBtU{SBx zLuDuNf$pvpvi^^x-*n;CtW8{AaWA7^((0l2dh!=@ ze{04Cg(lblrNfL5o%ixUA+J3cd3Z5LXThJN z2gnXFaINCv1=HhR+RbMgCh!Mm6OeT%?iO^7Rpo| z>K7NxJtCU>gZ3S7vW|Z~$JnPQ(Odv|xUyV60-h~Yg}3=rCulYeNSh1Xsr2_Wsdfj?_8iH6HBmtwtr{Tw* z-}xU+XBp7c|F&_uq}eD5i2)lZA^oFeNC{(%QWzyjsUU)MhYS>nQ6f2D3?xJpq+_6T zmq>~T(%n4g|KfQ)a%bn<-}}C=>vKsX%{OcqCGw5ow^nRGVCoF1y3o2f{=_e_1q(#3J3fBpUPHin~-`YyA44QUE%z?^I-DN1>)+qL^Cup_k3st0t0BdyFh!C)eA(?Ld zK#;gKhZ!V{OAE8XKlA!u2BYsQaZV&GduX4D%a?)+w#;$A59Q=z;;LN80+==tBw38MR4kE6Pr@|^>m+i9A=#f|F$&kmFyzITIoi=SZXE^Fo&{9pgROnpb^k` z07ZCU1Vj-gIDUPTZ@^Eu@W@)VTI;=l+W$Tl%&5%)EQaU^eNli00om*oh%OF*3Cf6A zxp9oYuBS~P{KXzr-Y*f6exZ-N`KerD;6F96n8j4;Pl(KhLC`VGA|^6EIElic)w z|EH%%DJgl^8sX;mu=32P_&9%7QQ&eJJ$KRAP#$x&7CUSQ~{<)ZL{i;4o0ZqC5!}wzVZ6=V#Eu^ zGt+YMrgR=g<%v43X6xxbH78O-IYQakzfvGoERF!Y4L-WIuA9<%LqaO$Q#IDjtiznS^RZ1ml| z!%sZ;Po9;bZ@ZDXUp;F>IHCn|SLe3}b&eT4|HhU+EN;%oqLPa<FZmj$ST9=c0|)N)H~*B_~ZxA7bu!KHk#C6ir! zTPg`aBeWh@668uZ)xUvy{x2#S8R`0{{9=6jnJJP+kO$dpY1%-SM{F2n8XuD++?g|m zFKC0n$M}rQxh7aKeyB|F3Y2I_dZX)b$;P$wkeorEMw;b2p3wgGXp-q!>cCMh-^}Z> zZ9@0`XJy?@#$O!w^bZsJrkT43ie-Iep|}kfL;Iqlkov5pByeMAIsmi-{3mmAKE{lu z$16J%pU~uKjaltf?_?*~P=0#%MkM*qyzHzQ0NJ*VR1N)agl3l27NU;0w#}Bpz-z8+eZ%^50 z^GjAs%cS5k-@zD^91Yj7aW+Unk4wKHo+ces^eFPZ=lhDPoD1@|&zdX6WrU+m8+j0{ zWMYnhH_VM%AR30jg%YKmjp&RkDRaA)B5&w+@{-i*uoqV`st+uXs=ZX-4 z@k7y}z{h2Pw#l9!ObLW#nD5HGV}TS|gTW@2<%>dXot3Ja@ld;^d#AC^7n`G^L+%M9 z_xLeT5msIVKrKIJZ|6e)sr(9(js7Y>2ETKEd>g}wi9 z!O?b0+k3ipJ4%JNfd_Kv{TA}VKHkR|6o{JrEZAu0S5%7K9e3yT?X_`2S|7d3KZK9d z`PRP4eZG^wKKx z_ELME8S-`;`^wbH$~E_icZ)60Y3ytFtJoi_&6NR8?B40l(t%ct|M~v29ooDfKH+N) zHnk-VvvK?P%XA*#Xx1%bE&fY%8iHF=XQ;CTf9W^n3F}HgmO@ zfN)^C9y{~P0tKRqIGLFA0h?KoCJ1a!vHT8HMOuCaSC5alv6}nma6u=Wc^3!5g}4?; z0iw1L&lD{>@klRv*Ul0u*#*phQ;W@vLLvU3(aEmeiKS-}KTFr_8kmZ!-HgdvKCUOr zN*80`YM`uTT5-)FKzKf9g>C(;Y`1sxne(r$Xs5(R+oSlvoi8W~fH)@tblWHjBo8X< zfti;NT%!x1Lq`_{!QW|4N%4NY2-iBZv=n0g2+Wz~&leR5@&+h!*QwJ5B@DHIY9Edf3 z8$TFD_`&8~yHOQJCm#A>0}PM;wc0%}iIP0b?JO!&(S+Y}ZU#_VS;)n(f+67Pj6lpb zIM8741_FL^ z^)JhjlD_$aua^mUzjX^h^kbW(P((hLIad}8{2y~MH)tX3r8t@dgc1vpC}_aQQ3`ds zHy*pUc)cnGAYO^1>3K}V{LZ$H@Myb*V;Yi>d5!SUO678?7$L*cCFR@|n&a;(Vc>AK z;~Y;(rpq?DMU6QhZaE0WjSz(v#?|IO(ox`8h8BxGWfGRHebtgq5_IFsYFt2OyB0P& z60wwI*Ipm0h6PthPsrk`{VnKzO7Lzp1q>`R;T)+=Eo-5H1KIn(dA_N{gWrd%QcDrW zlrGgL$2_h%e5A#6IbYHQDMryqFzeDtvUm8uv~|*<=9re;77sXjdA{-s$T8tbgs2a; z#{Q{p()0NBp{)myg;b)8*DOsyJ9ZB_7jKD19xIAYc``Grz$83vL#}66vI5L%CF1>O zAIbhcC2NHSp+`E*Zv{MS?l0UH8eG5h@2$ybdX4RVLB_9Q&8F@4ehh#+N2`J5Lmo$0 zCWirjb4#dW1RPILd@XgBjaaH;{m8ZPdLHM8rbA%B;6R-)$PPXVaF;XX3y0kde@CLz z&Ic<2gyz_tkZ=t0x7lK-dqA*OUVbS2%IhyxOz5`M)n7^Xol?Nm(Q6}N?{SI3oZ9*Xa}0QIin36`AZkY)5VwH z<@E^R5P5EBPZjRu$ohQ1V#o{Os+f%(=|q`nnx>2AUw*64=DBssn7a3{NAAMNTqVl@W>!DK43wDXYVfJ(+P z(}5sG0hSLsNd0^!LYGXCWaW}{r+8;DPTa)#L-V9Q_LTYim)cwC<032;?)^B{(p!it zrA;VJSavP-Riq&%-0Q7K2St8B4^NgyNj4RH@ipqzwv^of$7O`0qE*q%6-JqN@Sg<=iM^^0M#3N>LMpc zBq7otlppz6DcQ$h=roJSgSVczI(%FJ!wF*O-T2)(dF!(`zScT$rxP#hGc)-}*+bzy zd|g&MCk*Cai75%PK|Sl|b&YuCQeSD4rHRx83cQ7hO4_ggnZw_k$mfA8B@Aiua4B@8 zDxJA9S{eY9@UN%CI$c|v8OXvyi*qsmee0q-!2hIs7<8K=mBi?Rch4x~J~ew}@=o*o zd2qo!>RgDJ9zBSC?pSW%w0Et)*_r*l+|*K!62sI}3d;I#gs8ero3YGyK5%T?|uD z%*g}N&?ONTsEWe$xUS}_Lo)8W+A&I?E2c(U>-b1w2RlAXQpepT4&|~AoX!`M=&D@y zjx_%cp}j>L4xvc#92nenFOGyHlc=I!T~;~=9qiZEE%y4@aa-VuGe%yN6@^2q022@R zp21&Jds+uQ@_1D0S&))L*`7}!U>|ouTILtDYu3Gng_jb5hmS~rFP;N04S}n`qS(Vz zgSe*{$ZvX*A2TDVUQ}`6N@2wnQkU_iHVTYtF6%%;p5ku$=;UJPqRIFXH)mVSzA=Ma ztK6mI$oKX*MQ5s81AE3m_Y#`>z8Je7Cv?Ab$JbNn`7Y3Zj*q{uk^RZw6! zokM(iW??QWmD4X+)_{8~$*^C(N38DF1kyFL)-%s)zd|B^-KJyDKEG8pX1Sh*d(4%$ zqb3mLS(EFnMZ2Aughp{z0NAE>47uU2MS8b~4AwM~yqVt>w=uN&(HcmVDgKyuOD1+i z5cW@sQu*WcNhUmAxJaRgCPI%=AX++y8oM5KfVAgw@bxZ%q7!yampD}w?&Qh%hUfb(teA$3ZLk;xR`jod zS7qEieG*YX>cg!?erdX-8n^5U6LZey(A~YWMf!TtYO2zRy?p8!5E7r3`gMURMj9KxX8Z9Za?kg}UEcCWUVa=w zi*hAg{@^sG*k376mm|QpfJ4{5qg&ouKNlFC{m<@o|Lx+Ez{8xnDP76`@y>T$hF*xk z;btHM>J*gJfSH*+yz-OgN3nCQ8_kD=6+ca;7BbNftt`}75^X`xT{)fi_X!wsgLg+O zd99qJ5goDJ8k$h4QEI8>Z7;d#?H5zK$7fHXTx~NDmoV{-RIOX4OO^JDL?-^tPvq1$(a`2V$q)Nqw)72(e*iks zC#xMr|H9LjIbWpRKe(R#b4^KNUERR$g*={6)t`HGyrUo&F2D;Ph^Kzf==H|r&lS() zCK_}aRL4GG(D+DAe3otC!PDu+yKm}yZ$YgLdkaE^F}>ay;_kp`+^Kx5=yAol#}-21 z+&I*BzGQpn`1Q=vw!~S`Wx~$+wDm2h=sP)Y6Grig)zACi;aWqc}y3OKv3Q9OWm8Fy+y=*4zF2 zk981N0Wv#Y3JGV8EnsbJ-~O}URjgZ!DRmOSd#YESj+R=pTQ(}kJ=%6_6}>8^QuuU@ zL2b*p*i%-CQ5pi$BzCTe`*0En%q07`)Nh6ZkV&1beE54CEa7n?<`nN*!7&f$K&?#g zbN{85*IVb9{QMk4Mk@dZV^#9BdoU!JLvv|Mfj(yQiju{gopyi4f|pVOC`F#fS&!9& zVLTMzaIC0NcEHO>$jGvg7xy*|tcZ4>BoQdKd2iRT?FWTF(Q^5NLto=mz4 z=e!Y2Z_9AF8q??RwWy0vS5SXX;H+eRd1l0+rg$WL=g#wP$TR$tIESpi0N=kE%He-} zx+jm&v=2xxH+irtLuC3pi)Bv}6ZwoV0dm75erB>V)?#Y<0{y#Gzkx+*s>uhbG*aCLNTm&JsgbFbX{ z0|qwd0i3+%G<1vKYy*F*4sSQ-Yi8Rj+PM^&s zb*BB=Zt_NtC-3ka&MB|%^3=T~ud1OM581jJJPEwwP#lSqHoQCYY;2PRKqLG%Od5n$ zG3)Q`kE*h5(XKwJ$%T{3ZyLsPOTPkEJS=>Fci+_|T;6{Dl1#{#+xg? z#Knesk$+#(2XzL223{y7_I}E6^ggq3mgtLcianliJG?_pQhbXS7cs&pE8QQz!-9KR zj}*Ms9_U=P`b``bGPoFitaxnMh+cpL9CsAU^!A?v&;BD;c5CS*|0=#Yaasr?XOW;8 zoAJ4fAB)(oTwpP$+DRr4@!y3Hd*$xK1)SJnncs)&7SA1i-mC4B<^PJTevjMYi4R^) z7^K{XNhnYk2N1+I>}<=6vn%#ENTZ>)Tc%0w7FP7u81YaO>H4-*KoM$An}UY=Yb52s zOo)|QVfmOBm#s0T+gCT6#axC&I$1BGm9|e(*2D-1#r*^Z& zAjqr?sgWeC098N$@HGjBlr>8EF_TD!zA-R$ij;EphR^~he&eeW7@Vf${KJ7DH1l+B z0r-Sy5KY@CP%~i5b!C|y0YaQ6o#`~iLy5g#1?9jI;0-_1li?RKv1aGVH6uIv|E~q8 z+ou*Silxnuv{|`tsBb4sZQ4@IidrgoU9|-0akU?m4jFC9cGnp9r0mN!#bfI-_6`-d zEjo+zr>?u_0yTb^*|`2}mp8ErQxEhY7gTxzT)uPim zyM8Ly<)O`?$*O$90{PjL86Jl0nx*%AUYWfrixd|2@$nfyuY8qzIj8Jn_K}3<{EGP1*s|?U3V~`r?~4lYhLrdm5V(+j=5YoF(QWf671JaIiS$ir&-zmS9^mzRNJYDt(;0{xj7Ylh>&K^6qceLZ=@05 z!(}goIV{MSshUL;?0xxRb?{z;U!RT2b`&Furc+A|KJUTkl5t0X+TynShbjwlc6_M7 zyALTui~ao8Q;wj>H^Yj&{v`9y2Q(p@RxB!>>fI43kJZRH`gtYjjFy5g3>!HlTy8gi z9pv2{o@sL^$9q;T2#4^hr;tQDew=O`!#0sz!pj-YVmSgdvF*+DN0M2IIr}}UUBBsn z>}P$LM*mbwd}5SyD6dBM7)^||T^_#p+dI-iO48j}NBJ{1KwujdH^$l(fo*nFK&7?T zh-dEmn3^AOZ|;7d{98*UJyYVhb7}nZE*(wMJR@jhN0Qm9nT1NYS0Ro04jJYTS$XO) zdv#FLpmdib_4_^dOaGe}{t5DL3z}li>q@qdpSUguTBPrMH!WI-ccF8It8n&4j_5iS zL2;pGvi_+^K{MjwJv#^HWrUEF!0#!`q{_Geg77)d9ablZ{=N)iQ8~QxcsfIhc@XYS z1}cRDI5v`K_&b&oe~33r-p(=j7%|MJQ?a(Rx?(A`7i_1{k+t-g>E*; z;$}=xz>R@Mmz!#e$xSAB0#LulLE9f#^+DY_XUai}dnICr1|~zS1r{U*$VRQwC8mJN z)OT|$ZWyf8oib72${AQ$(Uzh$eRiumUXP{L6arKj^P@=YyLIB&9fKRD>ysz+1ALGE zsbL=)Tq=8e+#XnhTXLDk*SM{FiIhdYspuH0^yq$4@$~aLI-dVm{JcjVf3(Qy!Xx{~ zgp9Vho2%ERRA&rWJnh*nnZ5xPtrpDr}et?p-10Xm0#4#_*wMvwB%8%TaRLX^0~BbGL6~Ktef}MeH9IhgZWp_R#gOcSgu4D zWm)QTEOw5A%=cxkX~)@Y2y+mP{Nv6`;EmkRucMCko`9p*f5-%wkYzI?TvD&ksRQWE zfnhfLL4#~0n_HHl=9+rFG#~>nu4+$z!*%sm?ju^OEr(w@LiO?9XOboWf=+tz3UTD`%UIJ_eQY>m~hNJ=&wRu5lVm3A%5a?mK}U>#c;;(d82a@J4tdeW)x0YZ%A&#+W0I1gG9j4$rc|#Y5Hi$-c1h^$M^(gajAn+AE(h{Up zV&EN1s1hDZro!qfv3#bHJwbC@#E)y>X4D2;D>dNW8!dv@Jw=lW_ES&fmp9_SF5VOR zcjSH~28MT?Etmi}4_|yNhW$Bw#6Lv|Zw#9_L`Pgk11iSBh;1m)c-UBQ4942X*)Mp-zmwDQzc6aLTru#(C zGfsR4lT&Vy|1Ztu)2v1t*-Cd!lSv`Fd)4HyGw*pKz#)h{bJk!jR5Dw9q*CDafq(5W#VhtOOkx}nvZTBy}+ zCL<;LH#AxdWE7uybisUq!<+t(yizOrob1|NyJEiwJu&g<)VS>D)u=mXCYBM38u|#N zQTE@~c95i2|G42L0fn->jOShJ4O>EEp(yje7C)9cY5Ns-e{OPWI03usCmcp~#o+F@ z?q5DvEsMzT8ipa|M@?Pr{g(jR6&Cw-L`+>IHiScV@yvFUanBRV6X7^z=kw!tGX{es z6=V6lK`jQPx>5U4Q%1g1yMS2(a<4XBtWulShVi1e;$Z#bU#lnku3KT!ZU^|_>QC*t z@%z#ef6>)5-0F{1<|h@YK$~$`FgY7FYpK}m6Gu4VPU8`Ygnu6(S6;#R?bY+C{CHW# z@iu3lafRoV7@(|0A9H?NZ;(1*P)_C#?h6kg|Ic^%D&0N2M1e(%>~+;hn%%w7IQw7Z#V#|hHWmn}^ZIov#xfCFsT+IIv^ArY{ZkR18AV|d0 zxy!(UaILdOfhx;q03?YM)7LXeC=28IuKg}K?9HH=MtncB1IQfLIbrXj1T z8W;;Pn&8#;GxmJFx~x>OyDzi1)aSDDMTZ%GPv)BOU?nuh2KjA<>1&BSP;zZ>btDu^E1w4V`wCuX)9S(V@rF< z67xN5r)kUMVg)$785C|%UW{vmk(vWD^VEb_i0WkGq2d$kdoLhTci#qb)0^YJWCL%u z^x=tZdNt1L_OtU6-|~wNwZ3Z`5_a>ef~2dKiL|y(l9emfTX~*+-`(tM|HJsTnXyIC zGHja{Oo4&_EtyUP0)NK}2$Mvq#3~4uFiQ$?nV$Fj(K`N>JYAE_QZVJ&_x@^PA{2n{ zpkSmq`EL(h?tP6?Zv^c-Ergfl^l-d03}$$F_QS|jy)PY5VqJ=Um82>5Z@&RF4d{g8 zjH-Vs;g7G>`mDM7_U=ylI(Cgz4FJw41A*+mhof(l+#9@B_p0O_SwsZ<4jNvZEOmX4mPGuI3ueJk zC%66RT6O|B`kbXaExX06 zB7djhTtqT1z#qtC0$35{>lVN?LO)&{xMZD%gZ{?kHEy=$Wby*>%TxU!0UT$8KcCX| z>WwydZj4F1t^Bd1SR7(S{=G*H=60cLX+NqXt`MXtq~`nRznO1jg;i|IOnnq7Crbk8 zDqtDbp@<39A%EQj&!Rst<3VOd+7EtBz<}^Z8vdlzxB_wqx$Amx^uH%T6nX94p zbA7~Ota8utludP2^}Hl>V7Wf=$&gPXsd00}HveDi;Fp^;7gQucM@5^h{5ecxx5Y}? zb3>}>St;I=aNAeRTt)V?yl%fsw&`Ae(pf_(VP)GH>>f`=QJxK#vK#Z8J|nqdk3J_0 z>h$K>e)aKKNr#-@PeMI(jWnml?*YpVi^GSe{ARmL0$Do#FtI2QU-lY<{>WEcPE~K? zLgDZtgp7$Srb*;&k};stzF9KTRV(>*KRkzOo&b-U3)l~Tw$C4hCi@CW)hf-OA$SB>%`_Y;2d@RgEl zTMnbkcJ}NeAdv6+^(LdZ0E2{V@MBCy8Px5<1sJZGeo1FIM8CBh5`;uU54tA%)qt|u+77D_N zj${(U7cOtf^P)n;8H({zkPXA)s5h0}YlUuJd&FA5d0fE7i{U#G3LTf|i-%RoNHZFM z$9L0;7a(sC;y|h8k(e>ik$K!m3u-fd7}*4J#jmb(1(qFvi^8l376edr-+n^c-pU+E zT%AWQ9`{KQ9E|}|E(T5B#F@5cP??Lviy&k`_$d0^|NVake!o{#?wsnCl=2(y7p(q1 zKdv(gA$>3JyZq&PI)1t=Fk(LH*J^(xt48!n33=OCXbH8>{IGdDRyj{pGWv8{1 zHx$a63Q7Y%lhqZ-qcLZdgCNbOgre7MQAjO*tmOk*V8PRQR$8?_Ir+$|UD*6aiZKzK z%4y`1nmg-(PQ^(`mjzUFTRyn^w&@#KbYRA*^+mf)gV*fWpI#EHqMsK|epsb03UlZ) zvmx9*{XHHRIk|Ta<1@K{6G>sc`nVBo6gDD`h;s`{!d`WF{K}gQQxBmSa;2~ZoI#*d;5IjetBO99M zvi>7yL2prQ?op~Sanb>ym+1dIy(Dt8H`ciuWs&12pQx_FKVTF5VGt;du)!pi(28JA zzdd3hBsP&Gf@eUmZ1WXKOXhx5Mt3gM?#GNE`+GOdm8I6nWS=Tkg9#QF zvN6vJdNFPb+m`1KPRM)IGkkY1CsOBA2CE0F($rD~*()R#Gt>Z$2BODM&mIZr6S}JY^^F?Q1Qbt!XPI z*n}?Q&lx5v?D1{$2L;t6TIUhSJ5c_DGC3`aK z`C-jNslTI-q%R7dp0v_bk~!NUpY7=${=S_1D{YR{lEjkmQ9<>|*)sh8r^DWzf`txO zvbH+4$V!>h+~isy>a)}sV>As>IaA|ok0$FR;Z6x9UR<9~rjV_vSL1e60mc3w48X(% zh`BYl)GQcK=aAhP$5tQut>TsG8}0tPbM`F7jH+R~I{0M!P2dBoQy_NmGV6Z=%oYKB zMnOSLV)VN|D;Uf|6fl@DwtvaYf*Trjs4CEPDJ2uv`({ChqT!-~GKw`?U;t*?3!(eP z9##a7(I$MOpDdiX7+tBC%4WO|80&fAV_(=!z6x1enWE_G4xankpDi_N#+@3m$DpBK zM~95~d)n<%b8D3or``85eEI+Tyx-$^R-m%=*lqGm`e$F9uY{fzpN%PxNW{> z0JV!^i3J}S>w&iIlEO>s`7wHXE#yWT+AgpTSrd*XR}?SDDu}7 zX1V*WQ$kfcsEVEEuCyQG%w{Gb_YSRE>RgVeov5Gi4ofLCDwdbm>2>wFY-;B*)HA7D z+pL_1Jj?VO=jzBi)-s8i!C>kJ3i|OQuLt|`My28b9|hIfx-nVm2oMVO)6sqHvs7EW z13gTi^1m=+_;!idU)`;uEU^`XW0q_h+9(lPVNrz7BnhAMlA=Y7W2@XB#-Q(FI@T2i#rVWZLnjMAS-IGOO_1`ZU5$8Yvxo zdruC&HJTyKm##_4C;>6pURt&M{3R+d?bxB?9%SsU+;=dL2Zcn?-%{xprvgPX$FgY} zM61Ks^(YkMSlRrIH%^$&BiZOHC^>Xxtnu7p=bA7G`G#7+9RY!((w%7~GvoMFw)67gU~be1)HVWaYE*Cqlg{4ZdidnG zJB>s%nMUQLMa96v@4;t8t8|YJYMp1XMG?R{5o)`xYkNc7)KF|!R;oB~IF_{}I2u(I zqisT~h8;2m6fsPSID|c*`&kYFA3a)xz~Pss$pe6>IavX)@D&s|@PXTP3-H=%SY0dW zZ9pkWnX6BNtwDNIaJbXy<X`p*zhZh`wUdMp zNC?wfR+S`A2hdQmEJ!+M!jqYF8`%kkLr!3HL64mE7PN~4gZE3Nh`nH}wx$=;4buks zntwrG%5yx}0segZ=i6j7g{1K%ku36GYR`!<^k#^cAh`QOBm zUDrDL{rhtbrayD@k(us+o~s13d$Zqa4`1IjqE&@^kbk2s`;BUyw~wUr$2H=IvOp>K z+sDTaBDrm+J|Vy_%RW@is4b@Uo;b8S%Hr!Yw;qkG=dS!$9X$Kr^WYV~tuwyaTD6UF zzqxPdzMn&E6+WtU?lz>ao-T|>HcTEbY%x$?{JtU!+4ZAUpPPzLy#95kab?1n{whS& zD03n@U*WTZ-2)-2n+dXxuS)_LUg%0E(v|twM>qgOQ;CX#|M5=$Jjl$t0kumZ%ce-w zr$f2m(+eCBtYg5%g>e2$%;iy@ut*hP#~b!6S_UBhs%K6`EYnELKkbf-!umIOjquti z9<8%CKDB1N)R8NkPk+C2Xp1^S(2zFzadMP@{x1X979E%@{^4xp_{X<<(IfFRG)T?5 z`>lDGjU3r{Qrr>h&DueQ+7>1KQ35J}WAb1F6Kpod{!x4nQ7P?cdrU^PwdT%KnW+rg z9Crs{_uv`t0@~%~+!MDRJoUO&T`!w0#$d?Y;bY-+vMAXMCAU#X)9DfBWb(=xuJ{N1@*ll2(&% zyzl&a`zpls=0KAK&Nuo%@)Sjuo%-g`=j2^UBm|>RFM%{K(3R2)f)$t3Ajz_`4Hl~6 zF_>2$N}dxN#=MQdEx6+ByM&2^eOkO?D(V0Q2zpT|(hO}9>gGT)DvU>AK>~ntVr+7# zocFh!hBJ2iqcwzlbjG*dmBm&>aY>od?r6<%zyz{mQ=l2}k{(7WYF-^Ikx)h2s zq>xC60+YtuMZZIC3f5`wQ>32sY)LF8ZBizjtnl?&4@bHh>}NE~CjLzSBfZ?LQhdAD zafTHp<}WVU*JD$&T|$OzJt%6dLs!)*x!<4y(9Xq@KO9BOl2aldaBPxb)D?Xx=rb%XvV4}bHUPet{CAi`X!bh(nIOD5K zqJM7(Jo3VNKkxVMvYhJ4beBpmZN zdh9(P)Q|!*S8~8QQ3}1J6*ujD!&^k4&zN!WY=6-imo#@?5_Qg#!RPFJR`$?y1S~sG zT~w5P1wQ*IJl;YhWqPkAm902!926cOfaff)Ykx5dzWv8mDP-%}!TahPmla#BqQ#pU zU&e#Q0<{$UB4`W_%*k0bZ)j@$+s!74M8AD3;e@-3I{g%>LfYO0T?^K~M1o|c=pHJv zFW|brsFS6-LG27nmefMnfAYWC+*fLBobaL-iwZyRmM!`2^M=cI8=kRnmjc55ul^!P zKK+g`11BZ(G@jW}%A2IhidWUZF|?`8Sk`%Fx?p_qEY}I5 za&Vq}sIi!z9cx1nQ>kM$?-R4-A8Ei9&=`W)4z)=N$0QTaHRA!0D$@#WEAA3zZGgQa zzwo+Ec+(g-kb^x1#AvKN`p$LNr0_d|qzRkxD&jzRAE88mY_RU3% ze(DuCHI+mrxD;0XjrEKmYe|$Wy8xSABV8S^!bXH(7NoU}(yPZL>_;jB3E58>_nCz=YF)9uWC8@vx3zr-s2YVK#P(~6=DSdB4_P!q#3AS`X94Y2?H zFLc>VlKXGULFGFt9aGiOw)KZSBImOMXq7X4g*&GvqRtYtu|HQ|#k!&QU6WU9C(rU{ zeFxD7iw;hbY20ZhA!iXy8NS8}&Xwz38`yIo|3m%9%K!xXhMYQJOk1<4$vh(x><)5I zd`b?rXjh`v^r~U#HC^Mla}?(^Zun?eV%ugV1=(?sgWsqM66+;P7>XBU0%-7!$&-oZ zFPFC`R(E^n5A9}+|MS{-t;3`6jh4JL%h02pne6+Ch`}niulr4-%wgBbAM>u=8b^j) z^9h`njTX6R@%@5i=Sqy#Q6(hZZE z`qt$(b{&E!4P(VZe6d8s!w)O>>KK0`-D&s;Bsz9d%!}?e{?f09EsNrr1jY?^k~(1; z4(=2b6?$gFYQOHo=+q6k6&Vk65P3~&)eD*?EkbkMSD+B|W?bPIi0JoVnZl4lu=)vv zQqUQfc(hyVTd&pWW|t+zT%F5ku%mvBl;jKjvoMDh@?w;QuauIpSKd44-_Pb4cmprL z;@vs%J|VKG+wliSDjX@i`xRa0`bC{JRF~<%@QO4fH8gCpb>tHvT#slC&PY-gq>MiA z-(L!3@GyjXRaN^4BeXv?KY_CtD5O>u$@4t)xBH{8ru^9S!!0|HO39mlC`B+RxU4+q z+6~}ugld?KOY$|-3dKE#P^Ek~l=OioRi&v z^J^5ol-#sP7;T}Uz2FIA50`2n|6WUlVAK8UGgEdNNo;P_mTI3YA%%Mzs*kGO{5N+g z9{8&>V3YSL=RxU5#pMFKI%7bd*H&222tCNJ;~@61H3T?#YArYZnvBFYk>$xoDW)9* zIA=+qIH!UQ4jnqWl^a;a1W-dMOHf-^xgzTvMO-MY{s0#nAuu}d)C^w{CDTbI1SN^f z|KAfh4Djhuz;YOM?3BENgy!T5_{dw3v3jq**iEyYSN$FiKDn*w^o#Fq=}nw0`wp`B z9qMuhR1)m($2JwSpy}<7>?a-`Y1uD#Ef{Au+u2HWN#d;3o=?vD_=|%LIqf@iBAMikUncf= z96jFZ@;Q$mNr z?Z3WS`u(#(YU9yUPF)`-tqEj1%}w(Dz$G`j_y5g|BUvaV)^&36PztUz;pSqnXlCYI zFI!C|278;)t%o+HDXB0OAw{m!by=TSOQEy9!Cx$ZjN2sg)}9KR{2(tfiNNrnoV7l<%C5vCEuKdFNch0h z*oH3exx11eb_vU9qHoUfw8SChL6X|)?&%G4u-81*M)_vvJB1^P-~-p^>(BFo75MyJ zf4--dxFEmSxS`sD)<)#-v0N{1lFO34tE=ohrZL}O3Vf)!$kz{dY@Tn&!e?t5qeOFP z=YPLfFW}A_N?|GTrPY;i63?1cbu7rnfv}Gg!=g>r4FU$nnc8%fX9VVL3wJ|Ir1Hez z#Bj(R14A+9upOlcivB~N%2RTgu}x%({e1aVn+yoSKa+2r}D` zd3y}x3&&vnB)fym-2-bn58T_{xg)8)|GaG%;v6X+_SVlOD~0itJ)_g zmN(NU7J+l=(oyJEXUuAY*WmV1-ZN@&avq);_1DGU0yUZ8SfxicO6;cn84`CAA0-OvE~@S0bsuQ=iTb42kdim@CO%{~`ah19k37=n1(v6a(H>Kr-+F5(q)DCF!Qe9_`xfzl zQj<4x%dEvE12EVo4~-3LM1#L&xYf!h);Fe6%N3C!QRCudshP){wN!8Q_(76#eLdD- zY$J{4#`~p}=;<49PnrM7!1AsrNsx~D-dQ(L3TG~!HLk8pysejrB$czG&m2q0H_hw; zlSD&pHsV+-oJ|ol66D=-4u2IMdaZBTD4re}(bs<@CvO?XTrD^LYwU*;-k&0W zhMpVVJ^L^jr56fd97)Au$Yn{RAfx`4kn$nn{^#Fmd8Mmp5EMddVne#AU<M|S*Dym}kb^Y=rWtrpa!P0KY zytU6tbo%~Xj`CKW|KgkCR#lq$2Ln(hA;ev6Q30v;h z#kWsg_bnE#ELoIp`Dwd8qMhozwX`GnBK=#z>d%@rxRps~7PSHX z&c4}A_qWn_^vX{;4P~DMQsR>W+M6zTynavJAw0XixX@auv06D7Un5yc{IB^l!>YA; z{3R@eI0qutUwS~>&u0~2S!#>2?#W~QHg*G{73Z*>ujR4`Ka3*WAa#0dX$pWiy?B#}zONe&XGAC~s=p#^0WjgGb6a8^OM!ROUJ+Bb?% zU#iAfTgQ8gC@k@_Z)sWZrM*4;Bo3Q6#uYuLqiYgJA>{!Si5Ud<`ldq+l3K z55v(*$7Yn#1HPw^1MYw4+tcw%@x4XSA2l6uIhKTU5_oID+dZhp>5ugxldJBs{S!{W z2r3szy8K@Hu>%((h7F}3HS?Vt) zyC{+&gZZpjI3}Py{up6jbHCj{m$Fc6B;m^9OWyT(h|RRyN*uM{{WF<7iv7k@6Cm^| zr}Gj;kLIznr0ffVrM&p7pcWs(A-{MzKOKH1K?~s#EPcq#v++VqAP9(>mQd;YQX9Lq zXDu{_BZVKYXSVBV{Cxorj}4sLzhun-P-|`(9|H;LM^o8oQO~%M<|9+Y$O3Dm9-Z?@ z2sn~i6SEDD8Y&UeShU=yj+f5B9q$3cmNj&eJJ0^owgA`t{j7iDJ-Nwf1y2?{%ESbQ zY{pg4Sb~6W82phcN&Z2M)!ectquJoddhMU}k3H|OA!`)AqRt89pz zAX-VDdba&x(QA`X^3BR61rN}v&UN?$_2;8$OP?vrcA{FfLjBG!$Ul&=G~J1dU?+W0 zUQo^e>uEQGs5H^Kc+eKbY__h)dXrKH7BlNQK%!&40gYJ%LtFf>?l*izcpS3HBez3` zvXRCzNS*2Tm$}$)$zeLFXK*vY@N`Q(mO5<{Z1Vw6TkNkJXh9OaGVvK(7DtV^uA_Px zsYtPw+kIasnHRQgD>+nl(90cfssmUPX*q+;c_{e;5>L>}h65tbiIH`!~}l0o*z zEv{6Y6!|z?f$0V|b(kwMJ<&)2H?~}8dUGe~2gAt@jw%~!7Cp!2`{7k|Gyy}35yYle zmtTODM{mCNYH!e06Mpd`WZI2EM zO-plqYn8A9l;)r@!DjyOUHt4~CQjoj9H_3=f_zr$M|`D#8qT43{SO`j?!ZkXkIaTb?l|sDSGOc5t%@V^!QhX;Dm^caoN`kUHmACMzY67y zSf46cM!Ld|izWdZOZXEZ$eCU)f1ghY*XHo^S!Q9DGez&cUMe2{)&Vq*ai}_0+(O`b zHS31dqpylyZ#%86+EU2ZUkjxK-XzO%0 z%7mokpzyS33bP2Jhd`=dLQ?)HeU{(y{#^0zZpU$@g+a zMS{B6R*;QjVz0|IAEM?)rXIfKxWf1Yc>^)TidOINSB}$ini7%P-Bhz%c{smXaI`L1 zM^pDW24d1`7?Eb)y#p~#!P(mKDdn~)u&uAsEu+4NWU|Gw+xW;6On3OH1DPRs%T1YX zQ3$y%Q(z%I^~!H+$ZIUH>b()@j&pjO^5w;=bZY;nXL)3j75Hox;WDW3-)Y|@&s5f! zZj|j(ijTh_ggo`W%MVHEKNuws@Dzpq-fpMthrL63x~Q~rI!)~0con(3I!)?P7W#gc zUuFp>W~7vRwM=~TU*xkmk}&P)l#fBSjGQy}oyh6!U{RjP>*mxaupk8vm;tT!5R!oS zLLX_^@4ZY3uN<-5xs((*1MZaf7Ss_-3lR@aB!e;L>ktcFxTPE*E$YYvb847x{6J)- z>2>X>{M1xmV*mrgWMK4_=CeNf!_OrB2{&)SYz87>ks0GqKUlfg9Z#Ao(3Q#dg zRrHqJ5RdyVA}jJex@tv^i;T>IPB3u8(xW`6i4k}L<6yj(SRAk=fR9XT!?eg3T%66I zg!4(AYKdrHn5L2bjvN{P7Z_6xd|s`*Q>l{tAyukUnF zx9FHX>ArOnHdQT86bn zfDHcFqb6kIjGBd2GvPKYAXe3NIG(3t>B~rt_j9wXVJ!Mn4P4bA4s9bM1=K^KNR@kRFh~8| zp9gTdMYeBY)VNtpAu7%9fe8%f?-n^6)}fT~wK^@V{x9+36Sx~c!o9SnRI z`(Wm-E`o|}n6b2f@j1yWl(n>Cr`s$$2)41IX4hJg!9yaLAPBVLrk+$+vuK41)n+1Ny zTw)M+#mYy>!2r(S{DmHQwbx%u`4H*n5pieY8kflan)i9O_Hl@uGm*G|ruODqi>Y%Y zqKm;R+0^mpHw!J4n1sQ>zBJdbu*o7Rtdyg5I{s*qH`2KOFxLc!p;2&i$!u*$vHUUL zkoFDAlFDreQ_8ly4QEYp=CRxiT{AjIt9G&?Cw*+E9&b&7YK6~C$AtQN%9B=oc5J^!ITgP z5{KT0cY0hX*PivUC+jW#r5|aqa=qPn2?mef@2((r)A%*^tnDDR_4CLGAX?V6vf{x{2>YsAe#-lv8GYhbh^qt5b25>2o&>8`h>P(x7oh!g*Fo zrch9gP%kBbq+jlu;TL$7rFODMo5nTDXkhE?8aS5R%@M{Wb2Be4vz)1F(0*>4IoC17GCd?MgkY1v4$V9-3ylz9ktjUJgPR zRi}AYL)-II)N0{Pk&m^aHGen$b`cg^TPat?MIYRZl2M<*7>{>9k-}{MrKUB&AC(c5 z`;&`1q)%p7J?hirtjqhOxjq;UmeVt}KPP3MRnd;353{Wj(@Amnh|x^UB0&J{wVf zJ?#j@NVwMp8z?7<2>ia?^QPH$1b?b|G=6rt40_=6s`}wt?>jo6Ro%VvTB^zyR_V%M z1^`S3y3Gc)+h}s1I#sZq`g~apyToC+bD|sgYl@NLUf=^PM&6k_izV=*s_j(=h2VJX z+=rywxq76a+!(j8)LBy05fG)8QuWv*-mmdwANSVQ3V5V=SQ~v#&g@?-`*%gIl5qZY z{tvMqPLJy;S2pCoFpPiB#a;tVXZ)dNaG6&0U~# zURstd6txA-<7RorDar}}7VGlH$moyx*Ir-gP%b9aE0NiWLl_oOQX zH1Eq3`I@S02Z))Edc7SYiSQ8OMQ+!7D_Z%Xw(b?+cqx%;iq=dTJ5^tYJ)n_!{?Uf0J%@xd z%OEE3^*!{%cCec5QB@e!3|(Vgkof%UyVDrBx@j_h6sFExSSeoeBO}kf3aK2AMB|{= zZb`eT|5Dw(;{fN~Ah|5|I_EEnAUC4f&=m+F?o@6;i7UeKrQ2zQQVNC zBE;L=ByDugFtCB{j97S(P-!UsE<`1Igub7H~b(D&Si}-Q3ns576bWPJR z`u$0`EB5QnhEiuxKMa|*yA{NI%6JE6MDkY(M|Z^dVql~#q}FE25FzpCwS2m?-aTDX z_i-AJ9L{|*xhplM6noS`(W~@BSdYIGiaJMtKqF5gSfwKCXmx!1Ld;80-1sO(otC23txT* zZFW)UH#eWGQnqWNbP9L!U@;vCb_$ z&ubVi89dZ=lVxW{p|j=f$W>PsRk#;p_^6Ce&&+Mn(*wf<1Q^E|q2LGg?jhXnw9f8r z>9aTd4)ltWY3RY`FC382U{{&lQiT%bPIi4w2DLx01+SDLoPNwLSiG(A+AU7%4#>R2 z=-?OQYsPsMx}nq<(TV`3o~oPtCTmaoW#hms2&V8tic0s$-@DUx7k&8h{fMo@mq{t+ z2d7F(L!Ot_J^q=~eYP$YX-tl0k_2k&-rW%g#8RxlFB}kb(J;5n&VZQKlu^X%{59j5 z>YP8hKPO5t-$D#~W;|r>Yln1Y*LI{Uh)?RNzk+xcq$>46eM`@d z3~vy-$Ax=zM7kwKeivm#GM;+?^51lHVS z9Z4%&cfHzaHb(*f#a#ugan2&ZQ_x9TgZWjYTam~bo9s^KfXzYofUWzQ|B6Em(!BWN z+s?lmyT_H2=i+}uBr~5kp~tsPeXKl4N*1!I=Py6&ThI;q?JHtR|1gq zB`@?kh!A#psb;Vsifi364CJL=Vv=Q0EnBBDZ+TE3@Op+|0RznVw|~3(fc{uV6}05% z2iDC7C0m7CvBF!CGgaOqBUR)7jWs4jojt^W*rg0=lSPyVhvGDs3!uH%t$}p5RNt^% zcu;pzk1FOWd#Pz<76R4;Jd+B4UkxY!zPi3)y1RQ|GIlq>jccl7;*4|duEv*_&JB4F zG_ZH}0J)PPtg-EiUFx+kdyAr?2`O0)$0DC#{Cn=u8UN)~b}q;gAn~l&h2=}%b5YjP z2#7`o&)1o+ihiYWccYIOGlv>-M)-ALVphHto%VZ-)>WyMhkQo$;Zuf$SpGGo6lb0* zsRlYn_|CRW2GAO6VCPJ`AscbP=0&_&i z+fs;qR4E3Z-*P)rSr{`wZpFeFhN15Be%u20g)UR z-YnH}=<&CLG6A@{R_r#`vk=+`U)yv8N2S3r*_ip{eZrquh`SL*fwk*M>H$g0pJ}!Q zA1w}!iwV6h3g@#)E?#DzdYM|;UPos2o8292bSbS|KO%wKYmDhKfz-L=Oft3U-!_LX zA(0DgCjF3wdrpRo5DIU^&a2!Ih4|rhQI5UO-F1~7@ev^YBJZyray8DxtWDqiNGtNr znsUQ9_EfKW2w50oBkh3gJ4;PE1whHA5F~MNhLH9fs!#ecPb8H$#_e`a19dnsa$b?}Aq`?Fa&3~g5p zu6{GHJ!*0ky6T?&c=ZG2lPOWl)T0i=4@xTVR?&)9I}0O&0Cl_kdx@-au2slu&6laU z*5dP4h*JCBzX5@gEcV8L>voUC&*^2V3G+h$u11x8Cv85yIBll<1Z}q9w|m+RVXuK7 zI1H!P|I)<2VSi+7v-_n(0C{bXaMk0`GGNetW*f7R#B2V#!CX)d&H~X?W0TftSChB@ zhysPcMX~$9VA>sGgtpC%NI~xq!GM~*ucaF)U)p?llPWf}vcSvgrH__fdUgwob8_3( z*Hew-GvLj7Kx}X3S;ZSlaBs$MHSs@L0M4Q!9ufh?BlBHqZZ8g(+6CXNk^+}xJA2d0 zoRYj$T@c;o;|G5xVErC6*s;@%&qnWhx6q%H(};Y3GLu>8L#`j8KIR?He+W3;0ZPg! zYpc*M0953srS7VUEcBD8Aj(`d+0g+i*U3XuAfq^3p;arv!SnSNtI51H0xXfA`b8~P ziQm#(wUH2A2TsSqXAvYr%${-GbY7 zPYuak7TU}UN#%f0lC;;cC{_8DUR^P(erO`pEhKy)yL%fzV+WhZkKODJf+mNB27J95 z=lvJsy8}Iq0bYl~Xu~#U`<8AXC{Mbk*3vvlTeVRWO&gv4r0S}}vr?=6a7;&!dyRCQ zs>VfhTp0Fz9yKnpsarK9QOd3RdT4&=HuPt}eGg3P)Nf65E7SJNX7<48qX9!we83Oc zFDspKzYUL!W|P%l`&6ZMVDLtNUe3v1l8`}9!$ffuNyNelI%KITw`esC$ya10~!~mW5K}rGZ@>NA%wcQso zxxyR?g9r#FSyyz&GkqN==@4*m^cJn?z>jg3PGGQHPBpu)!`U;BT9xc5PP?SD(Q89fh}aBs~43$4(;RD+p}Vnecf` z8`A8J(2W#y0Ro;|Ti33ZGb}cG(yLzXGieJt8uU%RLeE#b^UH{zd#2fD z83VuRPtp{Hr9YnNY8b;<3VMTtG+%n_pPV?DM*FaS^DD?B(=I7kYHOvJWzDG|PHug7 zefeA58%`NV|I@DD6Cg|WWq`QdmP%q$64ItjEC(MxBp^J3%VGV51!&GO)z#Y3{Hdvh z|JT%569i6q*4_-fA)R|x>3@Z!3nlAy)B?YmA~Vyd$I)j*SMs9uGozQ zy5N9@Gf9iiEmmxpFBZ*WPs!NX@nUXVc^OpC95znrWQdwdI;qy(S1E-UvE=|uE7jU9 zh&hffc^&%@5|bb!_yPp?YDzJiqmtL;6IOCBTDw-VWeSPvH#+2g=ZE2C!~Kx+X)Eq` z+M|;6wie7AZ(%ti@kUK)V{)a_;vNSrv&H_oOJiZInO~vjR5#epzj%Ko z2QT9%a03Ol)z$g^?Vr-oh5e`SMy>1pzv8<@7^%KCn??YUlT)?eL;o;O|<;TXH<^qT`c1m5$aYpV0M zF3a`A;)fA9eqQfO9$=r^hNx2IIoykE3DQttDC4eL_6WYVnuV(~G6;r5T4DiHbyFb?y1hkR3xClbInx%j)MpgMir&a)Ypmkj2p~(4F8YY zKR3LcVcK89ojEjz8enm$VY<0kEOm458GKUWHc-w3ZX zms0%Lqs5>sbq4IC|K3`>Mh5z}t>m)ItYc;BBjL8Y`7@w2mHQ%) z6*rtC3h0Q@c?KX!9?Ni2LPS}i7rC;fEP*sn2&nwerVJ=VB`=SMFi7DM|M}3j{o^A? zH?O^@mqh7geq5ZI4!wg#nPDjY@*Qvw{xG@b(C2l996-9I0Tj1?EU3vB^A-^olpC~6 zIM>f@?k=w=I?CGe*1z3-JhvfgZYK_XXVa_W*d&x=2&cK{^&ac34{^i zEKS9sul$pH?AYlH%2;%|XD

=PCBDAz1k3@P5Zr<(o&!<0z)L4#KB7m@ksBE6Ni1 zO;llk{ulcnzlUEY4Ov2wBo$J<2T;$_m2sX!xvtCYwe-zcZyK9F(&(&O`r1c{I4Bxr z5h?-YSCjX_mKeNJ3xo=+=4;z|4tb(2o}28_TmEKlMtj@@SW|n?#xFe!!!MU859bXh zWe(-hV7_2=>9r10d1M}n!i+8FNK{*AT@VcNNg}|0#zgYhBn95(}HNFz=Q!h^*=U-BU_7^kr%iW9clC5oAdXTCmPcxkUrrg$oSFLmvQmU_J6*rk&FGi18G znQ=P~Io&a2T|Y5Rt8thE)`4lV_$w$BE|bbRg#7qfQh@}Tv*jv#9Hv%)cJ=L@a! z`vft|b-VwmMta%~wMGnv^~WXV0XB;5#^!EAK6T^IIQ>NlYL`&@UB$(DTJn-=_TwXR z4|C3&c)yOG*puwWZ-mUP^^C3+L5w{|NP%0LXN_zAx%{iv zaS*u3d-OHEc8iT~JV-}pDMo=yOOGEN-=B-_8w=Zjt1Jk@rFLq`QN>&}w6RU^dt~5v za&<w# zC3JVaUXS?^8=wVU{+AYf{{Lw~x&LUvL`~QwSP%zX7{b_DoOh`cD<9^DMWdsR1!?xg z{utqXuK4Ovxhk37^d%Vh9h}HL)sVdKe)wtF+dmL&Yt}F3QMAk5{%X7Rb`Dj2A#biq z#k{lkjp2*z4ZW8-fJ|U!`C>mODMTF?@wVk}S9P|p3gZ`j(9ydo*#+z%ga#=`%rOMA z(~+10WSuq5fggn1-5&FE%jSdSUIf;>C3Qp+8kJP0xx+uBCUm-mZVcvQUJ)#Uw+HYuL7s_INv{-a*EwyQtAL=k=# z++%MfHnhTG(V)8eV~l#Z7cVWY*9hM^b#8ut<1#5G+_+Oj)czhgeL%N&5XX|(s-h_I z*6W(MbD>50iZ>K`;YXIlEYigL6_Wsz(L9?ifrOam>a^v&X)N<^8nV3Ck|I`1=x&-; zn%g*=Jil5UeVY?<5>0CY5KVveXkSH6<3l%0L|y+Q`G2BKO|=)~{dbQU@&XR~^k)M7 zPhBko)-FTV9$v%L4z9msJ#zdF@OfL1MG^bB5DY3P*H4TFUlAC`>)r+imck$-;VE3i zWG0--dHkFmt;hdE{aKz&1X%NU-Dq7k`U#*+BIa$g`wLwst#aS!_GUEipa@3lZRb6{ zVUd37`?Zt}J=|Zrqyho?TyJMqvI_Iycs8UIB&1{=nY`S$18yrRP?iTOL_wf#K)DL+ z?|+?3Uq#;fx(u3p5&xizbN@NOwsSH}2cJ_XUC>FviX*czsXM6`Khs4m8+onOdV2>d zg9MOktC`>vsOIG%)T2S*^i5pBWXJcE5ytZoU1D_>KZtp0+|>zhG#yCVbSw5+4FHu- z)gOnh=>2*HL#GP+rkC`PE8R1e%+fp_Q6EP>fPw(y!GQ*S7N`aVF*J2Y>!Om^9#JEmO zXX{(b!`u9dEXO5jTJ1hP1K8!rtMer7+m4l(PuIC<47jTW?J}$1ULU=Fz^>~^z+rm$ z8rmOuMg6%QEE6jFdgxRs^hpe z%hN*?3`;%$C||M%Q|CWXIQm8wp3#}GAVICy)pyiW=Y=#m6)d_)$$`-3e;$2dRsm1j zOs!%vf%~hn#oD4{+tg}a9l!LrOm=6VEOp=ojSv<+E;5AdU~=Kf%OYP~>I^r#-1+cF z%0IG?4Oe=1RfG<%(A%om5>Ww*bZR|N3N6$5KO(*+(NNWn*{G`JrKlKZhu&~88<*qn zLXCg6UixhzafFAnMQi6klp)HmV5Kt8%yUCn5xK10raUPmFA=Vxey|&Z!XyfV2RfND zrec!@#={oANX^j&`{Y&`nXi=F#)ZL(=v>U+Cc^VKmh50!=FW zlKkO){VZQp6SV0S;i^HDWrDyWvYx+;i8_K{NDj1m+t$ z-#gv1P@M=d^>lVeup~@~9QFhAXcS7~(%WZV$UuV?yAMSP;X;;eZQg6`C|+mOd*AIQ zViY}W@MVe=k#ok488**BC^K9M^iaUrG=mr9m2}Ss02QdY>D^^!(LNN=;Lpr`)15?W zhUg>OZ3QJFuataWx0GQkIy>~NW-NxJzlZUmgA{%QvCj?%zag+--?KNvN=HP9yXP7( zgHxdI`c*#FdJTKL-SM>Mmbo)9u^XZKclb18=W_^oDJOo=3j%n36Aj`lmi?rjghwiK zirx98H%6k^sOV1A3aY-`dCb;UQ34dNoW%&5#XpYsnt)i3KtXn)1gz3=)aI6-j#7B-N*i42I-IrYKGM^}MMPXb#{{&bp3A{}`cX9VhxJd>_9-jT zq^2v#>6ddx>GOZpwk>Z`uC?ffbA-nHxhih@WVkn^H;324X1mp37K4^h2+6bJZ@q$D zKqBCBW@e)=>lti%xvVs>`KuTBaA#xwM44si*! zUtd*gYvBJ{p0XNJ7nr{^gsjtO5WyL=g$_*CG9l0dt?QnYcg6zWd*B$ao7Q|U(-jnw zdwp{8bf1MCoVXbz(@P3rj{u(4aC=}*vLLwZ$EDhwJ5$NtHcT%LogE$`eh%yxAAHn- znP_9s;oSgJrext@nKyBfrDf1mn9kGV_tSS_{pMMm1#0g91#CM?vNCz}I8K0Y9@i$f zKEQa1=g<^*iB`)4Q2^afeXHE>X?%3JBbFO66`h@Wf~xum;MV-f@?n%dhEngo);c<#Sz-5FD6xcR?sRE zpM?dTx(j(&Q?IC{JJp$Y>+WM9!e1Yft(x4ad(VwS{UEh;YQz^3WSYu!D%0Mmd08VH zo((&7MWyG_RM}?+si1cIL?3PeES*2$x7I~&^#tiSuT*NUE#>oJ-RqNN+my3_fWOTL zit~?B4ru)iW1qder#?XZI#0|-~()7BpG+i{dsFKCh;sAW3 znLmOX_j+EMhJznK$A5ssCi0!olb`qUKXtdR8t*HH&P_gkRi~HUMeY&>BP~_*K>am| zZXdU{CLRO>bn%iUXM*c71~)|OA(K8tDS!cjZutqw;fX|t zbSHJI5pFQ(G`qXLgA?MY9hc1TYd%U^u-@j1eEatnr$_=Pz8 z7L%=Y7o!)NjN4py$EtMYw;iAvmp zv-toYPuy%WwHS4~NOn$l|Hly2Z0^!gh#tq?Ek*2HBujzaozVv2Yu9be%E}%3s4IR? zsRPF^zV4Gwnr!r&3$~`vSJ)&z(if-21<6$Cg!wb6XT}6Cu{e-YjRO;Tw@5B?EmYEa zr)4`Rdm}d!VjhCocV>KJdP@TGeiA>A%|mrBjZbh=;=+GucF55Ir!&SPi}fMRaD0!= zfz5IJ&_l}^lvIgTRL9?i1SRW=z@8esc&CJZ+pKzZe|jr$(4u~|l_*WXx1;jLGKOzTcUL#A@aHBbFwDx=^3xV}r! z^25z9!Vj7s!t$UfR=4^|_``a>?0)wEz>j`=`fUAd*x~J=OVwSUS93fzWbX4amTP#boJoqgi9|=%Y=5N&TKRi?jFU*e6Y~;#OHnf z*9_8$0#%(^LsbiMlvT)q56DG}5kX14O+5C@`w9m$)2znI`T@y_Z*;W5Fu>u2034Xb z4elFvpBWn+VKQ8hFjU{|K0yvePrkwVM8t=*tYA>gh?uM_?}5JxB?7bZK|t@T3zxN>D0|_DIJ1M@IWf zG38@rG!>sB@rg87(*&VhT1>}u0k8Mp^p5CGcroDII05;6lGCI)-Rt%iJnByBfR#oi z2!u`$4EwSzVPlj!s-p54rPv{;zT;_%v%T`u9#?D2`(M$}Dgjn*D4bvxn^EdHK2KI9 z2bUJ8x_1b^u9V0+MGN5ykTXc9UYRF(h;0Vui@C<9bOVW2EtYa?nFrD*(&9?WiQSgC zuDIMG=z%sdBzz2xrjF^)$#U#~tD$~D8X1YxD3~JdEuRN}R6=*&ZBH~VkR&0wlIoXP zd$EU+3>ExZf(IxdFKh=#Pj(|uMuuS{W`n1&A2@5NC9@sMyn#(drle+-yP4gMEGT-@ zGox{h$kS#;$!+h3k+R6((YG|N;^VT-mpjg@QICLU@Tl)?=cn<@)ob3{vFr{tb$ZO4 zB~`Gs${~e68JcrqUS88YefDqU=2=yR3$}IN{q194++&hKTz%?eFqZ{($KM6RZhuDw z{?yU>12YR|%E$!vO>P`Yba+KsV~B#6AYP&YhqgWzCk9m?fgFpUvLJcp4*}-ioK>!d zIq7-x*}y_|880KJBrEp5hu@;-46F z>4bK6ki53GFa^@1Uz;so{~S@bPX=9nEGL8_i$8pME=lvRus~o+*|{dZ4!8p90pXC? z?KmAM&0*+&PYkt3Aw8HWxVzsjMXIvL7tl&lPAjBSZ`@W68Qr9QRhsRvG^}y0DD!d~ z5bhU^s1sP82jX5Kkr1f79)4lWPb?uX9q0@Sf3s=2-?r27syBh^Vr-IF{J2|^+wE@E z?YCEbCkXFGQvsURCsKm&24)5aYtqTUsL-x?T(aOQ69mGfq}yji>}R!uE{hF!sp(}t zP#w+<>~;Vj@nF;o-nquPSe?v~}w(F9_E=q!=K-@lpe%58UP6S`ydgo4>FA zmc6@k@>rG}dfdR2rg8P;jAKsh3UZ|t?h~$$ftWgrork$hy(#k6(KOZ~FL2>U4@XQ> zm-Hr3^ymJ}hwuTXWEm_rt@&oe@<>mDsKpx>AQT(|Q1WKOpQ8gNUU=&d-Rr2y=NhfU z0c&C?h48SB%CSfJO>$4oM#kh}_sdKlYx=AuV*zG@TOCBr6L&HOuhL*Powmi+zpOg- z?j_p{@-K2Il<04}vTyOor0&X?39=KpxU{v_l?xTj*AuJ~SXYnhX>?J$gnAt4E&RV17B}8I6GsJ!Ri+ z?eV^tYy&18&Wp}ZfSJIuQDn{IH=crk8do;%S9b$#n>W9mMRIy&m*#$Z-In1_wz~T} z@A3x_yx5l|$weBTFcaM4_RN3>D>-<68DczAyz{CHTT~mou{}b(EmNrnjMEdWX2_nH zwz*3?2BkO;$a#!jJB3$tGGM0#>HSq5CzD!eTjjt=RMgh7l#3q7+T}2emX|*)mjE`D zq@4Y`fcu%@NWv8)AV2`WF^a!*$c&&I8|b9;)wz1r$fOkaPkYypueH6QCTg)rY8RiY zNg?W|>5Q#!;^4Uv9PP3A_Dgo%#)9VCuIGG9I6j(&j1>y%HAz6rE*#xz`Um@Yc|}%c zK2W4W^~|5WPT*_IEu+ajKtUBJFdfynpvp#7x{4Dk&=i^ ziX9Ns*V1LspwQz$Jt;~pRFFSDtGbN+imUhO(s0qBgyiWsvJ`LuVt`}Ru<28~d`mE5 zo#Z#M?j_^4s4zYh_*|H5CGCBFsGE7 z1Kf>qZUAu_tWU0xetUek`i%RTO=i8g$a_%9gn)BG_rXbwu{=w`k9bz)SIuG&iOeg_ zwDnDUVC!dAF|?5a`+c<@c+eHKa?mxC{qMyiaJ22!aDa(ExJrjp)PlyJi!yC-GXRCJ zE}k4DR5K~XxuxX#h(7>MZfiwS6Q4Wm()bjio=>Jux4-ZDq`+aVK#4Q|M(_`kA;Rw) zanHMVeF+)A1g^@ci0HOo-V{W_b&j%?)h&|wfp2g1`j85CC$I!5;EChRnTULEPx)ZI zDT9g1YAtrb*Uke~5&-EqNC>(f7@d&x27`*}U?b)<4C^%aN^EEUmjxQAC$fVNoe~{c zoK22UgB)|2Pa6A}oKh7QiD%My?Rb+A+>J=30j+qK%d4rY{zTj%WPLP-Qv@*=hOy>A zK@9=HN=D?vPS)Yzyg(5EAnH%Cq3}hFt z5hv37DpYqhF>@#$RW`rqvTxyI?6YVv$A`YsY?U4LTx8PE=;3v@@eJw84`Wsv{k*UI zjz%ANlvWObua@W|4pmiTa^CAltfZtKzlFpw)K!m61Ae}k6amk#3CHBNE8=kfPiqiU zI$;MjVWSiEh<>1kkYpwPTu5KBHUht+I64?>4iWpVad=j1eqB>~= z{|y#r>%5^LRFP*h>~J8|mqfiI@#Mi&Npk_QUHRhqe zrA6^JwTGBSW7Q&6wM|(NGnRAig1~T)00e4XU!VXJv@YDYkQmkJ)F^Hi>bi%9P-6_g zP|(2X;TvE5y6rr$ANcRZ{4&L&C-vm91A0aSwZJtlcI^EJ^l~Qd9BS-3GD9QGG%^h= zE-dO0e2Z{5V!?v6bb#nK1IAw94mt^&-PB+>)Asn&l0R%<4!y2nomSK?IAhc5Q)~ZO zi$Gt@!zX6`!~T`35v#4*cYdpnt;pcVIzaMus*!oZ-{P_hsL(=Rimm^nR4lbnAgIzQ z3L7%DNzbO4YO_ODeb9nwC0FH!rTh?aE{sav0uKz5@P^Up-=t4qL7yrDJLf^M!_Mm0 zAIyJ27?Pw2-Ei zHadg?0s*^adY-n9evibIA|1lvk%~Gbc_Q!8r`<+l5?m81#L`FlP?Y!LiRDD1w)VP2 zJ83dg#%T?Dlx)wORnW1k9vD#nCbMXC_JOIG%J6yMIGI)HNJs89JO#r5A^Q1EJCHZR08?2nq;6-2QUqMS z;HRo2+QxZqu%kx)1-5<~ImQC^eGI%<#x$<{CV44~9@^EYT+3eG5~MEp6r_WJK25x^ zn?%UbS!iI@nMP5mh{wSq#?H=8_Cx(Pk{%D;Nj1g#RZ8NLz_W#-CS}RDHX4WbYTl3I zE$!zA-)tP?oG^2}SAUM*EG`Rw^N{)$aBJe|en=&S)EtxaX)o~b|KagqME5L~l!bjr$!2}R!d}gY0@dRa zI-E*>dz2%U+%=;AwS~eJut#O*3CiQV#Yzz$Yk04{E)FI<#}^JEZ>Nq^8g4-AUqpXe z8-SIv)Cx+GRK|b4unnfF6z*iXOSYM`Nzi_#%mR4eP(TYv&R0jOFD81JPXeCmTWvJ? z4Glh;1pea5sw>4DkbZok;iFf+`Q?QN?6%~EDC`=7fztVwz^^d0RC(rfs)ljHl6mHbJ@L4QbzpNe#if70!KHs&v-LtW+-7kxZ~}d2Y98J?q;Y|^fgz~xXKOSW+m+`K z>hQq}2xlQ`E6u95-Y(Y^2ME74smC!&;(G*5xO`wR6nRb7 z^(bJ*dPDt_&HzE=psgn$=-;LwbJp=lHp{2+Kaf+Jo^f9Xg`CZ6@ZLH`;mGcM})SVwvmGtkIF77MktlbXDao}=(>}N}`Gd)rmz8r83d8t&2yf~m`;2FvLD(+}u8UixH zP|GzG?Tgy(>wzn!1|2M)u_tKEr?$&Pz-$?N@%bg9bmkh?T=x{?kQCc{@AV{Wmp~Z9 z_9Vb9o`=)ggkD49JF%vh2|3m$TVtUxTVu&s&bFH26CK0;1-Xb-`92N?{fGs{PAv91 z9Fe+=MtXl+{j#*(=&$+K?^}ajMxWD5R?ww&siw${OQA@HVS@^7QkonWvqeeW?6+?S z4ciLMGhlo_CxVsQD~L50g<_SYnvmh+d{&cgLxx8cLQLK-X?eMa#c#jrDh;JorfAW* zbA)%U=bC+O@Pr#F0$H(%TK1YD3i=YSIOK(vAZ)Xf$nOZRahO|J>)+Tqp;VJWm_}bgw zhPB}mPa&KfI$C(#OWYixlnO(cWwkpP@3ss@u)_yW!oXW!Uw}Cpuz3eRSfD4P#N26f zcml?AIEIDyW3C}MTub%KIc#0{YnwD7QOy63ruPnK`}_a@jaZ>}Y>GBUP^-2YLG8U_ z$Lg|IQF{}!cCDf|B{sEV)uvTi)T~Xd+Uxgxy?@`&A5Sj1k}Iy{dCqy9$GP3_ca2Wj zNJi-|bv9=h2_0+7jx@%=*Vx3C-@~#4O$A#%X8mJIWy{Y9E>sBUQ46Q-i4pbnRO$yZ z*k~-HNcotNlBL6%NGmXkn~&Ec$5`9OYPnD_iUuAE3$zy<{nfr47J&tyUsjYW6c9KK z_|3Khwpx-+G$dGi>7LeuL~RQ5@?pge_&y}nH8f`%>Q)Mn{dlf=o+#=Nl|xkyyOB2M zA9?$!bKn!Cics-sX(#XC2|4DxPtYX7&wkfku6Nc35JD73HjQT)lGwMj8J?h6lTSFS z=TcZ7n-F|>HpF376gg7!898YA&-=`F-6gm8hkx&w)MPuZ>=N@9%fQh5xpgX|^zq2D zt1^p0_1q_an!ui|SiBZ@Z^+V|Nq?tVTrY=X%Lf#c)_D5{e5%R(&HlG$-U(~ERy{WulOMtEVk|eoEF9WNpmJ!sfWjD9}@%g zpW}p+gW3J3KacegZ2mPiA=*??eIM`2{_6euwMsCC{EN_>WO-51r%xl+{a6v!RuGybT)R;r)`V{pGZgcG3}Y|}O^Rm2ry>B>HmyNw6qzgWZezuGbJ$FSO0 zCui(OU^E$p4?uAo;aq& z>+d8+(^3C0cIjCXrrlCod>i9d^{@ZWJAEC>G9A?+WFHc6S{pH5@xNt(CCb#;NpSJi zaIGFRX#$o9rFu4B*5e4_c8onS8$h@Vq}g-0I0yY%fFB3!UHdYRK%v7?Gn@=3m{n19 zT>qKQ$C;GFdNhB+I$Pf$Lp&n@MPPh!sP?mMb}!~giT3Kp&WA;F-Si2H(0}9};lx(6 z@oZWKm;!ziy^SDJ^WLWA$Bbmlg|*l9p(!m12QdNiksCHki{6M&t=IJ+$wi)xf`4bT zXb*l5H~mJPOH!%OM7JN_#TC;@jRCv|QHSzd)n>tFL8y};8SPSEqZ87n2i-2W%q^$N zKKow0FWdb{jo$9LMfB%+j)th*Q0m^PG1+EY+Zzi6*&9Qe7Y!8(#3I6UYX!vJP8H?g zBRc${&tE8*$=U2OJrRNeoRq^TrAnwfT>O1Sa=gbPcBs)CR8`1`H8qVqey&%e{q{|z zCLODI=2(wbIAJIMnf=Lri)d3?z0KruO@GtOt9EDJs(Rmhl9_}GHAe#Eltcp#mBTdy z_Hd64J%Lo|lxgM%DO5d?X;Fn|+Jjd`-2zp7xT%vfkvYGZ&aLRNV30`657)D{FRs%b z=e9q1<{WVcuXe0FuFL2excQLNhQj#-`@r4R4 z8IQ?cD=&qf)}MhyQdkL)uX>Y{rPq}>%$=>!$R82F{cpq(jJtLR(=*6q;wN9}guUUE zA`ti`&Ze}2G>gqkn$TqTrLKMFKw$K7DMSfa2Udg~Uf{v%2J=jwk5G-!u)H0*=eDIZ zj2laxlF+H$v2rrd{WAROB_Tp3i?d9}P!Q?nVA$0zeUy7Xw%nibU|E>twh)DR>>H{o zEj>CiOw1#{c&=p4GW@bxdyUw5VtLg?bG5G~!KOzx4(a4XpqWjG@;D8|z?~wo+aT*IlC1_|`j}xggN)-|6(C9t;r9sGT0=f~9l|)DS>1gsk5f6x}oI^rM=@7%b|6_v%#^*r%N}@7YEWjF6hF!)HHIJnv z2V`ix0_^-kqgj3-l!_KwQu+kYhOl=uTCpwb}JqL!rT24<{XOqTd_ zBzYWNOL#jZ1fS}Z_`qco|mzQ6g& zhl*rIPTp7Xb1wqS1>VPxeX8p7ik}0YqdY(yxa0(EO%fj;#wKCT-vl(bi`|@m%;G4U zcKuGqW8|FKbq|V@SdyD!{0B{z6?|Fg(MeDlYZ@{2v}yCj^4WFPB}><-){7HdU_kKi zk}d?2b$%5J^00bx6uU9mBnLIg6+2gI*q2Oaty)F>HoUo5WKipP-K(O{OUNELDUmqI zp84u&No%ChB&A$2sg64eY|V~AEyImG$PBCt>YXug zMyk5DsZua1ZUUFXl-3Xu;YXqK)0y9B$|$oZ1jAIsL|sMw(k&^i6I`Fp`Vm|0$%49^ zJ7K=SODNOt+o4~}kN!9~XZ5_^{m|u(#hEuUj3hZ%yDrs{(Cz1+j|p_jj_}C6>-usy zsvf1O$6&^o_-DI5|lf#*#4ANc*w7wb51#65{L?pc%-|nYQsm=zRHAjn(IFj zW4GB5`kd2R?3>GRlXT_J zM~JiaE9q3;(cSxm5D9J`S&?X^Y%rp|^HnRis>G2w;0coMmpnkXsKi?9-nS?!qJ&b# z0@_aSP8vPt0=2rv=zf=dTx|OzC0xWslO->*)fz+0HgK+8`+$X?HQ#e(iw{~q==g#7 zQu6F3dA)+k!&1+ZGN0P1CN;{1t6)7M*XIm+yR|Js(OcQ;iHtkG>=$bcZVpKIG2(Vwwk zITOo|;yg4wXlO(y%wHPl*qEuQ;`&e&{dDl8x_N=_vSlEUN=C8E2|6SR*qkpV2u-Q4lpy7moXkwNOUK6T=qcJx(a5!N$>@H5iB|7tJ%oGyzdE|?Ipo4 z1CWFhH_NQ!H_HNf|017^c(L^fxbzQGOBG4a6hxrm;w#cl(!3#gSa4U0Dnb=$W2nAa zs>Z`(13DH_@m#szSi( z?6lXgE&8g}>M&vP-8I~c(S%C|NTN%>cwH}{&%0FF74&5AiAD!=7s(= z8>iYtIz|D3AazR%4cPFDbb5|59lmX~OKxl}>N9(_VLXi-?P64MJ|a-<=b!gT%nc+2 zwI5qo93EltVsSETtsH3J0`R0i3XmE6s;QBKRt4j~mcI!mk5Xe|sNJFKkHV-3lB65#PADuvJPmK!z`%>vbFxkt z&lG^^D8j#XVpf=7wjg4>Np2t?S_Y%AAu(Fb!Hwz(t){4|R(F_OWwY|a`c7!-Ke`;g zUslq0s;6PjSE%rjjG)a*q`#);niKJU{j`diI#rzW>oVPZxM2J<#Jr9n5e!^2cwV+! zm&=T8hnV77FA&gUdluIqz;A@}JC_}HasBZI6y&;n7gi26-;~3Me2`svPiMT}Yv3T8 zcPO=CBqFQzze0%rn$$C4jeB-6?zrh0#80x2KjosoP!I#0(S@Q&p9v1l98`z43M_27 zFF6?!&(`i3%#AJf$QM{qh=O?Bs;oOv3Q?c+TQUaR!2#HEFp(vD`bi3_Zhb%LYRX0Nqc#`*gHUJOLo z@;RAoWkdv*Kd!A(h&8;RESjX0F*jtJMh6YQfKFXk|0CsED9%IM43>~q0o556HD;9I zpk{H}`I5uHfDm?sC_fa4^mQ8#>3271pLm0m<{io_KyEgMZ1TxCd8~?9ES}!FVD65{)N+Sv^SmWB@Z zD@2GJgSXjJ(GSxg@Hpr&BVg}DhfYO*#g14pH_FPCgR8u+!|YgP#{#j0(}za~^xa1X z`-6pIXPNKdDz%F5(s|CtSQ>e5a|-o@lmLTA=tP@leljfN*&B6QQ%gg|k&)Pon`V6$ zHG9c*eL4imICLa?O|wyf=tSZo(^!)z7%ookO0MNe9$7Xwjg9J!=mF1@Qu#mhtSd$% zex}MP?Al5EbqbA2$gD4{eRXNN^U{fI>6_1s0BJI=cORR^m+FH|L=KKyY2MX_K2{n2YM)h39q;p+GsE$u8?gDqse>0zxTVk}1=6U-U`Fi-E} zlK_cf6R9bPL&B>c$tJrgHSO_aqr9xfKE4)M07)Wpu$UZ)`Sw zvzH57Q$%T8SFb?qoK9+t@(f>r_$MREqM{w7iL=_MzBN<;H?63yZ0wJZzG2JIqeLt| z5ZQXMz>!Rd>eL{Uo)75{2%Nb0>yuZ5sCX#TeUv`JhvUSU6fYfb;>ntBm(}x;ETO!* z*0}kD?Akxkol`}CK^Yz8b4YPLXS{vB`=ort&_831N7!n0O(tt+uU)OEoqt|<&yFsC zUdm~>Nl}VYPraWNth(D2ZYb~%ZzaOlBS|F>BDJ;ZT>43oFzlmRskYW=f0x#+vm)KuynuRR** z6sMGNmN++$vKfmS5g-3n->!_T#*>Dy@g{C4%f^o~P1mGh;JeRacUaRkag!@Jc_L1K zF2LUz84(;oE*M69P-*e9Bc~SrX=`inlJ^e}PAqcZGqxg~?MK%Vw_O5c%-T#InK_-& z`eBb3KKmkV>g0~Vr2=tIvgc$F79$g`~##;bo8gg1Mfe@qbcXz;^*QPTTWQ~PrVn?-UPO9 zFuz(1x!;yL4D&m5X>&#uSUu=ozj`{sUs8FF!)rL|TEpxI!58(G3F#lEu{7(~CYzr8 zv1?dYR0Tp5C_G&0&sVzS>a;|&7eB_$2J~3CQIy!Yv-VCs__LtsDgWHMWMeYUv9|wX z0Swx;b)wNWx2_hFn>n-shjVX~N6sPFmv322x7t18yWzXPn$M{=8X`sWs0Md2-R{8{ zFaO&nI6Wv8H5ydk=Q^5&p_tZ718V&!cQ6Xx^9qm0ytGl{ z-zJsOU5!rF^5uQoL(a}x+R~iam=voYsKIJ=zcK_KnsZ z-v3xVFVShem|Wb)HOkjmOM_WZ+`26}nJu#KFmgYF$KW<+aK z$6rKa0du9Or%nHtw^ctU^L`ob)l`05`;xXhSDT#fAl7Jonr_4^+Z>KJk<$}eYFvA0 z@*r3V8m|poTR+fRM^%>PzkDnYUMZ?~5#{E&t=}prbVuUzUvNRv=tp#|Sy0%+X+%0Q z^-c^y9;Z*A+>Srhx?QD9xXq^Ey&tS~LFVu6~Yaa2cLqPuR3x*6ltDCxdaBeM|Vq1Vrhsk#Z4>LP!)7 zfbAVVSCiXXr9NcJ6 zP9GX9b)sj!XPzL{K6$xO;9zPNOj!|PzkBSOOm=(RIm43(9Bv20=?Gon;*;+j>L+@8 zyFidS&pX3Y6bkoRdT9eU9I*sEMq=74Gw-z)we4WBNXfPO)Bl$6$w{LxbDpdqAS)BO z`Pa$N>1+4{)6%>SZzE)0$k0425I9N|;J31N&fBf-Ai7xTxDX6}bXR(tv2mL1o$pJ) z!tR|9@tNK~UwwHKIz{`r5w)a*fxGjIvafFMltFLN{GaV$de(h_SssTEd64!>md4KE#M+-&??y&B5K1MltUqktwdWRgC z4MfL!RP~H@sJ4Z@pk-W_(rGEPrDG2nu}8QUuI&Q!j6vMI+@m`ddWKJ(hyKlp^?Mjl z77?0mOsD=}ltiyCyp=wSxA3`9y7js7yFTiRy>grLy9TZ+H-`C!gWbXMgYCg`+RL7% z8sELPE4Q7ttD~RZXREab8&ipc9m33rzL@yG86?TO?N?>GEqCL+91*O#!O$7q-f|gHX*7rp8!OjdSq-9hgcZbB zM4&n7;#Y5fIjE!8en5GrjCeGmL=)Q>hKg0yRV!V!xq{b#jNJ|$&@@Ed>0qqm)oVY|-- zD0~i?8b3iATs0;ko7<^kJDY=R41S3?RO>aPR6G6WPywJkb)b5i>F16XF6WBJT9+Ga z2#E^`!<}G57NVbopsv8{Hf6>&QNF%`YRpN0;2mWpu9gM%{!Ws5@7|~>qdeL-p7zpm z1mB;Q28gfzB0%r$8RcLm`JJ)0D~8MUjO`RUhq)Q`E;69sHr)*XqbkO79(;B%_Pn`D z1*($A01h}?F>9q}!wCiDYF%rJii!f;_TgP`oCs!sHHI?)NnRS{Nmm-=NcYm;pRV-& zh%3+k7gyfn>myz1?X^d5r7!F3KK_fL$hnK5kUk1(YrLb=x(6jvf6_$~TqgoP=!Fy>`dpNqo28~Y)a;6`A)*QEFn}!yCaWviq`{Ys>xj4jtQV{VZ zF`5!K?bQa`xBqh)JZjw?x%l_j#QzK!9(R#Ko#^JcjG))x#LGkRgf2&>5!q*`w2zFv z6%&cpV@nCvKQf-zUVWs@uev+tn(?o%xTCvhG)tj8bB;L$(YC*_z7d=3Pm?P$#u$# zG$(}Ix*{E1s#d$IZ34?#w2sBBx~>`8f_$c2ZX3mLnwP?2gMI*E4X0WETTcqTm;Ge> zqcXb+`Poe1(a7-hwbalL_3mSxSN3ESfJotPk zAu$Tk5|_S!wa_0R)=b?Y955v!(K*HvBFpSM*CZCQ>B3aBZjnc!>}jhjC+sF+EOElv&uEDIC@@cO|h zMyEUf-u6t>lyfXBPc1|B4L3xC%{ywJMff`Hb+0Y`j^YHyj`rP_087vjtJaq!zfaVA zX!rhf2fe465=WuzTJ7j)ki&+Z-wj5@eiL_S z*M^)kNk0whPkmpOMToEy+3coN7}`oDR`X$&4;|Rpb+~a&A9v58MQ3__E%;u=1gW;a zr+t=M1Mp8Ci_GHx7~Hq^J2oKc=3g^dKmF)!FUnUOIpiNd5vBn7Sirbm;JUtAz*02tWs3aF)zu2(c?`k@B~&~!qOm*}k}Zi2EwIZ5&rA%6ca{r}eRtldKFdY)fUV7>s)~*#-yx62NPM@A?F^6+CfN;}TBzjUDXxQ3&4hj5lv0eYhtBg0W7hIsgci( zzm^QjaDk-9Y3jMMGW3G$oGdgV=oeGUPBYEX*LZHSbpTyhl@pBMO1LCF2u*5FGi4_f z%+@zbt$|m1;Xg5W-tth5(6F#VE_#S^-QwBGyRbB@N1>D^lKV5H!FmL|GR_G>qq=TN zz~Nj%m%FaH>dHIjrh#kV8J~xEcucw|S_t)u$_NdZ6!$vbWwTl*QC%@ffppy0qclHH zJu4Z;kn`T(;6vNySmPNQYFISN}Tryk20QQsH@g-ZE9N&c#<`T@R5j9p)O?Hsis zZO&CIZ{Q=H4Y7RkQG#g6#B3!YroB1F3ULH70u93P%4hFabS(_OoSc}E;%)FPY?q4& zfQJp>G3r|Q3RI|ps4PaR3?LKAD|FbQ2ainUBL*19UTgBI=ES$63OjkNLzG7~YXfz3 zw|-JRZ7FHA9XQs}5PYq@Gn9i8vIi57P*QQ(*bDYVTON?RQsk36+mNCvVf2|kOVt^~ z*eNJI8;o>s`vu6IdTaYUNifjJ*!sddrLnvUgj|Vyzt(v_{POOAFyWm%PeRa;d``n# zQjHyhwER33rT5SzG_yR^fxr+tqIslvog&5=0bQ>ZZ*X*f#pYS%G-zw}JL0?SQy`4V zF!lT5TuQgyGwT7s)Y=`f9&6a{Q|4sYjY3ygEj)JjU~3ekeIWVMsx?Bn^w;_eeZPqK zQr{*o*V~E{soK?>w;nfUdD02M9lx9{Ws;0iU8=|DG|=_Y&;w$l`+wTu>DNO>4O**F z^M5Omr&1+T?u#Irc3Vo$b{7oNUc!34j;QKt^l5sKE7pi8&FAD1lkm86BTp!bz zwALdHBgOZHYKnY+J&}qsY^QPIGr_r~G`gy@dpBpWGLpP$@|(xtg57hAH3_ZhKy)E5 zZ~ZqWjg2N1)HZoyz*~^VC=EnmacvZ|S5YM{F2s+xsHqz0Q+X7agHMHk9z~6>VQOY2 zB{c*a#m$`;h0*IN$@dwuh9{=ROBO%wMq&CuP!Ls!S_1{5sOXTXY3!1=OcA2gy=qI3 z_W7A1uSSABf*lKNF8_@5D6Y|e^`SG~V+{W@AS|%rN7KTjC4VGB-|{D_rvY&srcE*FHbtyn6P}D>rj#I8uXnEArDIv7F9MCp!`p0fv)%mMN&v3tPUwL zUygTBGqbH>TeSirb`HN@HRY)wlL6d2o?;j5_HgR`yj|z)k zW=gWYf!5TEL>6!f^LBYvX5nhZaMmd>ZzrI?g>afnM{@?*O~O0!{^bQ$Su0h0F(do= zVFL7-Wx3dDQ*Wy`|DOJ;{WVw?=cq9WkLXK~1pJab#dCoE6CfhQUvG7 z{v;1`47gHU5-6kh+HtfHOEFZU-X-CeCy1fSBv!zgKR|EiOik6Vi1&Baa=4DLx2Hr- z(HpB+A|{RhOz}a~J>X3mCq5(vPoR?~7(kTfNqO}2Nc74I(M+|t!6w+8}`Q=(_w{j0nYB;YU&;PU^u}uIh9X>4?Y(x3QO^-KYqk%WF2SKPSe752UpZ$>$kT8qa|UBS!~IQ4H8h z7zez0!Gdu1@o9)WSS)n!E%VbUTSA)3gZItbdK88nDt`vxy3RklSn7J+sd{qz^uL+} z`0*QHhMfJ6v$BJEa6S9@fpP>YbuJVHW#$foMxgq=7JlEENmaJ2y%h00|FKstOErPV z3W`&hv)0IGT@QDVDDkLbb~h+QB{x1w1+~;V5YVxyY@gcUf%oc}KhOE|o6eTuWQO!f zuh@7_dR5Pb$A}NO`SF=x@R!JBiBs0g3thFT|2~iWqEgZUS3y1sMD5G;28*h^Dc)Oc6Q6 z%@a=NOsA?`WrP>_4vpGuuMJn0y=OJb6V8zPNRXDYp;{&jvNS01(H}Of6%g1juz|*= zRMcgGhrhfP_;5Gfe7?f{ka<8~MktOm$d#PaLI;$xW$dC-979#)GcV>dYLH6Er>nbS z3HT6*7dfgWB^#vU7&$*dwuY#`(U&Md)$O!Ph}drrkV;=cm|ywo^2i(~;%4S)!iJ|c zAdjd>xxb6VX{8HF8a@wA`vrpOJ9EB#U`j`tKCTTOQM#9jPuKh;{w9DZcGhbd1RqLg zPtVhqQ%wi*@q%Qqi-jFGGK1}pUNlR{0dW@^Rk_?SA}vC$P-=Z0|1jlp?uL>=a&r*O zjQG@-TV4r(L+(O}zkJ5bQtT4Hy6n|*yqhL}QIdS|REUH;^#Rj{|g|OAyP5bn5&;kD*tBT>ba| zCR~8x?ArETKJ#;R0u!ho3-)&Um^-ss3XF($aW(I&=GX1wNBR{9AikC8d2G5fd-vLJ zulddE-GOu0s*Y)Upj^EF!7+Wg?&Tc#V%XwOS$aFSel9J^zch8Q$vznCmRl}7tjRB# zwBG#UqX-;moHRb_CZuaII_PJ*d=gxs_12ZvyOGblB5nrrcn}Zij^4#9-YP6l{DTS;jT=+WU0p#gr`I)7wHz)Q5l~CwW?)EtrxelO+eODf zQ_$broiLxAuLv8)ah~2Sr|sCFRMN{7kopU9tHNZ{t!IUL*GS&~q~vp;?~XAO;x zXC{S*h8D*2`D)2n=h@;==}Sse$6*b1cF<~982_9N!=t*(-eqdMlu3IpzI}2CC!S9t?E5#J-KKHt8X+;-v73_(&R zo_(X1YBLTRXfD+oTGv+H$QibI_>B+M*RonR@7hx9bH91P_QyY;geyU#<-2m7n^Q) zHs!wl9oWP8qHFgc3$1vTp5bYFED1@2nt@eKYTr_D5^6NLJ}E77OklGr<`sihaI3q^ zC3C|b92=16G|@cJDyz0Dj1B1YLop^>ZBRJ8u`{>U}^37{L^K|9L=%Up{8zM}~;Xk?WI$qf;W@ zn}Zp5gCYaP#-jHX7~d%HBB$iRhX)>_PcEV*U<_;C;CV2v{?aCyt}&qe!B)9owqKI! z8So9%8b3+;RwyIiI~PiK8W6yY_VJ-Hr0KK@i8O#<$5m~d1jH*>N~iwqG%&hg*XQAq$*5?6)nQ2~a}NwM94?U*Etkqarw^mLB!2$ioa^Mhoc?evw9+L!Ky^HT zp5stuSt#QZW`Ww7x^<9BJeUnsZ>S+l(2WJGXX!))k(Pz~s@0HSg}Dtwuu=P_1H zK72Cylv#iQKD1&0!HJ=!ilPmpipO(}kt>*uw{;W)Uk=yA1cXtNwI$cVp%MF(hKY9| zE(4jZ7M^Jo*30W60o~t=Vq(8@aL(Z?J>=*!xLUec)KYH^^_Tux^z4ebHS5d$)5}iJ zJRX)%u;pL^{u(I3F*lXc6az{WaB*F=kN-uJqhep{OF%2H@|)=#K~XjNw%AqZbFs(Z z4dm{k>uL?Ce?3T-!|To5C_RkbTVXrI=CAO0K~&CLnLS`^dnZP%#f6aXOH#;S_kk$o z!@l#gwLU()Dr*+7cSbW%L?%fnMK}QqFekp;5T=WI0}>1ro@$oqiY~!=-8=YihShLW zNgHy0ydd{jvq-@wUkCTLmE{;{JQIXQuvt+-aMNnbv!LT-@rG01trWb2#&XscdrV=8 zQaT=!pFdD4ctsGMHE1+7y9$h0sY=z}uLs5FuUC;W9UYTaezlidg~cvEu7EizLzVV3 zRb(?1Kc=RxLGa&N4!x~08AtW02O>SHY{qKGIuWJrno0M zTPQ)YFNr>Z2m3v$Eur9$P3O^Z4)-hiuowANiLJF1ktT z8%{AspQ>V_`!yqV0_%zU;cFsx$wVi8RXn~>swhe`o(saaokx=5M7ww#CR(ToBHq#M za{`WE2vYN>T9p%2gVQCFg-un{ka}!W5QHhC4s#;H(xYU1{<6HtRhD{0fxgmu$w|cD z)(^7u%WLa^FUapv96DEam7$4#!)yNc#ez#V**E{L|5XRTo-Fup_x|cp3f`!7)tgGGZhDxr55|~hI z&9WP4uy_upP{ecmNBX)$rDnd)tBl5q(f?xsG6w7(IUe4k`LkUH8*4RR$^eMw*|wds z+=^sJb%*SFc(@u;`asSMhuV4X75UoG5zu+*s5XHP@woJ}h0d%obgZWj(EYvLJMivIoreZ#X?dlX8)|MI^;ufiKJ~f7uNe(%UDetNZy$ue zheZw$a!C%WDt#!ki5niagD6nh|2s9VZ;#FE1aWLAekY=B$t*O+gV08XQy7(0g&*bQ zHtrxn=?qUU>SY?Fo0*k!M}&I0U-o0!tCvRkL3(beLt}bS%^A+cS(MBD3SAo&fyI6A zA_Dmib@=B$ShjLCq#GOnS~Hp}kqmQf!}Vw{yas^0bl_*~26?Pka)Y7)KxwFw(?phw zm%asr02*50lZr6vjrI!(Pk)ohOw@BwwuY)(_g7XZnGm)di3VNZHdqy(p;aVjGbbX5 zNCiaVc_^__U;!Yz4<=%5n`S0N1c=yd@gK{S>hPNY)Us8g4#ljQnFLRkhdO%lo&0mr zjqVo*!d(1OW!%=|)l*pJ;#$j-4s`xHc%Qzk79c4Q8U;r?R{r-VJ>ZF2>C|n8zc(fj zt1h8inK^|{d~%zvR#KiD&GlNRX3AZvpG8Y^2F@2vZM6s3x07PD|F0(KcDZJ5*?0C& zlv*IxDqMe&w8yz#{NnoaUMCT-XRAaN-5Mhv@LnIE?jYkjeg_6XuIJ0pMWr|NIpV2b ztxLz?-3(kDS$_Fob$mWw9U>Hv6RFkK4ZpSOV^H+O?HFaVCRMZ2WBKQcNAD$yMU35@ zTA=p>>yvXXZu|h~Ar3_XF>6&;#xxBc>r$yx3PoU0^DA8=fX;9^4+fSVd(dkB0`2kZoi7{TH@>-(>KwRmK%ML2dI8-~3ZI{fJvni>O+ z9C#rpop-GJoa2MIRnJ#D`hbOiJTS{jxK?u|r+d)@Bk7N!3H;37lAk+pMdCD!1WmNM zg+wiyCeebCQDa6rC$8wQ-}L}ork>vAzW45Ld|^(igp^oGg%$U?-OB`h~ZA`vx$o=G2nV?`X2%RfFlS#x_* zil#FVkKXFcicjnG4_tLcfw2{k>^!bV62ub*-vY2GC3f&1`Et2I`lo5h?pNPQ-s_1J zMY=A`Q2-f%K9;fh8|0IRUcXx4?I5Lw(4?O;*ONJB+5niBLmx_}+ydB<9y|YEgA3Sik?oK!hy`;x&4+OtouKlQU8qzDIYzAt z>M&u~m5%!2nPFp)w$^OtfP{v9lckR@Tfum^GLn#VbD=9Gl}WAA9v-j2ot_ zImLh>n6G0y_M9DR-$D(42@3L)Hdrsxi8 z*J})dW$(TTB={`K^9K56?+Z-~BcsY-8tGQ^k^192%R>hb`}AeR!+z}9E0hyQ}{Z|5E1erS*Wy3fIlL?&QXCN z!M^aOe*Q4Mi%!mWfO)?hhW{K!#{|s*!WOMxRmEBB8@}LMaByr#b@m9odq?H^@0**K z&Nf@w1slOUvbYPs`V-ZwgfiKqhji7}--hWYvW9J1dGdON>{pQ60RgrLj}!h}2hanU zp=K4Z=P}nDO5ScRvAdE`>IXJ1XI`DS;1L=ErFC%}6wr7sV**&JdMUTQIrh6Hmh@ws z%qYwRx7>S?^>DRhdGpXrh3QlQWvr>5>!PNr-y;HAkPwfOOcERrBoh1R^a07U1@)7X zWJ0|{L$hU!D{o_%$fRppPd@bVl7p5}eqqo7A-5NLHUCj2n}F+Q6M2nb>gu%|pjX8+ zlh92m4~-+v0X@YBB8ZB_lMb(PQry`Y2Y<>e$RB>4Al5sc#LTYc^q>@o=W#wrqYsyS z-bLbRz4_T`Y;76;5N9LEjPcCEx;4j_OAK3VDP~r-?BUtQ>i-ZwK;UfAhAXxd(JUaC zm~Tz+amySK?~L$k1Qr}`lPh!~hA-wAD_i~!Omlp-+Zk>w*SxU48$LfkdZAmBzl4(# z<56V-Nw7>TDlHiy&q;M0c}t53@mF&O3fJ4O0I|Yz2_6u({!0|MK}>>h8nxuN_DH$V z^x4`@M^d>u-w+MwPPPUvPN*FI$n^|%G%l{y{IdMaARe_Bnrg-lNs0A*hsbJV`4L=| zj!I|pg#-_ooS|T_8y8!?qEf`{H#)12PLdXJTB|IOZ2tZJgJ+vq>78{Cs#fjM@JYmM zLW*buW2*Eipk5m$AUG_Fy#mCOlr>JcDcjoYsXj8q*!GPfYN6>Od5M_A8fyHKo7B{L z$`k#TW^f{e(IB$rmDGq?VS9uR#4)eHisZz!vz#h+d|Pqk#MEu3t!+}cd)TbI&)~bI5h`m!sb;&T)~mh^Ff}iht-9Z&2QE*<)}$rN+74(Cy2yo>*7oDH?gld zX{Hr4N~N`X3=$TEipE#1DL7X5iN;$_I>9ImVdUZ16>g2hc{<<$Q9x zQ}(<0I4-EajlLn>Dw=+QZ7F7I|ho=>Q@cZGx3d{ZTDEQfh3z3Mab_G|QR z)&82V9DqVJ<%e#T2Ly@Y(!rk-?tb&d=djkwXFpt)Y_z`wd~S$|i7$DWKIW|A=ZP%* z>jmGP48y7x1PoIzG3~1^JV7o2+VvNHBOczrK?`@n{@dPTv#$d4{_kdu0P4^4)sGi= zs&p$EP;8|nfTwLkuE%*V8T5LIogj~&X?O{q_D|f4dN+4{LAmT#ta4s^tj7gJy#qYy zA@-Jd#q!Z~%x;#w30OQd&)3&NNk7}l!noqEBun3~du14)Y%!#WX8N3R>=f>7q zWva2pdL%G(E~4dg_^6tb3(c>t!tHC-&CXcRHvm5l5~U4(%oxj>Ou#fIk$;$@!9CRc zER`pljLjnIPx&h+G!8WeOiX}Y>c3vh#`J7W3##pmw^jNKJAlQHF9~XI(wq=p&WtSg zkxy>!q9WY}2nde;#1gpfIH)6fVOG2IR6b}=w~|5tr3P$S-9;Z8_NPKBgsRbs>Pq(U zm@YyXc;CGky8ek;(@Pbs2K1qZ=18UYs^03`{FPjWl)oT+1o;rwgYO5#==KY01!-XHti@(+Y_T~U z8+3WhV17QvY-k=303nd1LQf8H@Dj4H=jfQk1XP!g7{<85>5e)ne|Tv|yeQY!5r7uS z``XBZoLFq04(MMzarlSe<5g`vydn z=Qy#;5d78M$#M4!(?_{`~^ z-q--dXJqkN%y4ey(`itvJI+WmHF|ICR(!t@TlzFCOnm==1){$Cfkx5GegS=D61^RH zdo7a>`UZM{*CAkLVOf%CZArtDPMv0GV9+E`#RJ3&u7-Ot`}D=mx&C+k;Cub@-!?sr z(;k-`u5zz~hieNVyRNWCn&<1uYX|A+07v%6x`ePMPVKQAR~XN4n!ic}Io8&B*;5~L z)Fpn?7uhAai1@KjxC(lxjlHh2_Ahia?8$U>SwZR#Q6db+FE-jr(HGK2b35IFj9`2o zUEQhYi6#js`JtQ&8`XcK3coZABi1ajM?HgXuo5Q>!nJM3*6Fw}U z!*C7Wrp)Q{?RhR*;`dmbt>I4(^iRbW%Z?-tb-7VE`M9P=aSp5_p-0KU$bDZ!$!%-s z3Pcs9T7i%AK%V$|=B$;(X4N!O__BlY|D)+FTCEX#RG)UJwpZ9q_z$f^?xPRw9_jO(8e_UtY;9-?j;PHF- zpH?Xih%{jmu~YVSx+<(KTt!hk2zJB&9SOn@p%H<*&&Wo;_2h4{ZV z%j}fzWA;~X-2a5i0*XA5fh1YY)&hrnW+^rCDCt`jixO}uPx*6;ItcE3BZhDa93(1| zk+OAVU;KGY@JUbeY)QZJ1}c%|aR@z5iJ$=XhSquv>}Ap?Y)gQ_bw8>~i!EBS){jWT zDsrI|P2Qt4@zc>e;(Y-)>`PO$zJVV-y#}Um0R8btO>Qy6%~uZghjM*c#QtFNkf^Sx zWa!QaE-#rm2u!AXVQynR&-`V25|gY8>K+lgc=2R2h$RKSBF}6|j1x_XnR|x()79Qu zFlnlaZ_juSg5y?ug9Myw9n5jK$}mLVnl#i(H~D@_!J0U1KQJxlxU9nUu1nh-8*NL5I$r}G=^ONqz1&=60!7P)32 z2bsQMPqe>8*8)#CI#GO|-m{rDj+=M$-5DOE8VGTPFKZOE|nj02E?Xu)$ zj^F2G$A|!uNESo}E{Qu^n(HL>i*IcWGlB3x(X|W`HF4G;nx(HZQ;j6u5X}aCXXEDb zhf3k)IhA5hmkq(mcn`162YO!*K(>e;fzUShU$nH20_}gyid(9|qJ!ixV1ZLnvXaf( ztVVhx6It?{XVz7jIws!SM6WSjd>D#%h-X^l0xxKs3(T9H#G?Ejin&5CE-IHUt>=E} z3L>PZ^>0F4oBx+cLGVXe^3n+SeEM7nZA9AFSAf<)lBHYKTi`46lK&nuMwsWyCe!-u z^scR;0lPo2Pry=|y@{iU>*kSN;%$~m@r=9soM0le`z3#P(xhuo8SUM?Xv|GVyrX_j zBr(S)FNwR5R6j`_UGPK3DY(*Nket3Hvg6MjDEyiK4}9a9v^53$?BQxT!~y*;*I2Zo z{&ZC8!FzwX@L9j*oX~7`lPzb7b=oAK+}6$GbuejofYBYooV~vTf4Pmp?Nj|u5F67U zb}qL;N9q#N;)%FMn79{N@}c|8!ywD_v@R+JHy~t^f}0QL(Or|%Iyt5sy5Fh2XfUEN#-~zu@uf`7pnU)dN;Mq5I1L<&NPYUEk9CAQU0zTe+Xo^l}$`wQTy*@IgCqJ z)Ax;D5GaEmwY&vG>!4Fmg|;Vl6{|?=JpkQoW^ZAxmj$q5dfw!R<3Jso92k!qew%yALZyD}ir2yoW#lZUX zNT>Z^E==3`ZVRFYW)az3pEC&8Oe`gU5ws~`OrH~yuNQM0de^sW3Sy~8ZJWI{;>We3 z`P(30u{10)=?T?8DnF3#&|S_Tmus54^_(@;Cr|DFcRR-~1s~iJE+fU#f9+jyDss!5 zOHNN=O5#i0r5%@Npj4CM2A}M~b>M5>z>Q+qi$EV{X=tkZtAsW5dmsW3-xaJvc)xb) zh+KWXY$zQ~H|v zWLeTw?m(6XherX50Xvr%nh&^QOZ)33`%rIUdz`b${ub7>+|EgRD57kcg^(z$z>M3E zHqzNq8xZ+RT`l&H(9bn?Uj^)&Kh+(iw-!(GFq~!NC~2^k6w~dR@tExF;3%*s((Nta zS?O@CC{BCKPc*#txBhJA-Fu}{0qRWNC1ZL0BOa%}h2%Y9$=D_cufJEhpUxBG|7KYK zpl6dv3VGi+VnhP-7%oCmmne(pbZMYn@yOb398fE4AyJ8&{%U_>Wa0k6=w9eukK4O| zBWYDFA;X7;*puN~vmJpH+yb+0BMa0(dDqT2f9Mtz1>GvhFp*U};2Sh~aQN01Qt^JD zOmma&XG5?GI1Ru>Cck^YJ?uSWKzLBqCR~Oe#DZS6r*KlV?di?M;KUjil3K>C&}*w^ zQ;aGYwP$GJ@aL_t-)%8%$wEbh=h1n*76_cQ=ZoyIE&G=9&P;Tw!e2CSdh@l&j&7=B zWAG!_oo@~G&2;gXOt)h$<}Lp#pAMc#QnCH1X14^3n%T7SU%SXt?BT_|qB7Hw^-Wlv zMOy0&l(<*GH()H#-*}PKg!5l(d z#T*{j0)X$>{9dT$1B^BRLh4+Gaumxcri+|cNOdV=MXO8)-MC>!7LX`(50nx_@Dwwv z_{bH1%Z(SLj>FyB8>HaO&Et(EtHFDAJe7hGt#9ZTrKrsd1}s`RIw8Qwdl^4+HQbn^ zbB~pa%gfeB?MDehE-iicw}W-~yk0Nq;=Et-=)2xSROm zG}g|JI?2=s8YiBAY-`P#&b5rO!!v7YDXs~)wE}EPLb8G%`CPrk=PuGP6wG4Ka%B(%-PD0tXYRJ12QVpK<=NK}vXvyPJkO8k2X zp@;!+DAS~z5w7$;LcG{}D@i?DdaumV%7JQqzziSLnVVv=^p|`|Uf{18-&%s!MW_;A z|C5ZOf)-B9e%19EX&%68Dxod;^!#b`ppkMBaq!)hRLH8qR^O;tQ2S{1u)tqG&KD) ziplob8hPMyQ*>T)vW*(aGkW|Y;&}wUABC!jI z8XgRdrlbhQyLQMpP3+dyvKzeNUk$B?wRYe-NN%A9XA~p^elP`Z6ie&v&ZWUD9|gkk zkL$A9;xVD3&1PAX2j+h@PZ&OC*Z;3U%=cVrWz2j&`%&fihNWI$2LQXW;z&4b*n9_T z^>u{$wx(J6l&^5;->jXxdl7Ax-?TaFEx4LM%@&2-#eT0)kTS*;lXv71dw{vJ;#m$8 zQ1XMtW*$RDS>NThBudF#zmFT~o1~7S-`0f0U^hS^2}Rz!M@viM2!@5wp4y7@r*tP%o?-J_syhx{*?+OJ@f{OGzxdqO z@DANMjn4mUryeJ16-L{d3V^K;`VYjf{xe__)SveW@nqc_}Tu`eX<79b6c0iL9#3JnFl9L(LaB z6CClaih`j2;*J}Kmz}=4C@9r{lJ~*J;5^6P(sK>=4cSAeTsJZg*np=-Tgt9Xs=4h! zU`V;7_kfm4{u`nB>ta+aTp3?b0ZG<^VKyDGV^KU6*inURRkbLnd}QG;*JPp`4IjWhk(jQ*buqj38V7sS7Q$8#y*;vf9;^}b|S;v)BK zz`=R(j4w~c4vxIq4`N^AT7t6))bW+*Tiv6s>^#nX54FYv1cOJnU-Hb`3bGPK&CyF* zYYS&%_aN!+Xm!5;nKpfY-#}uykmMJ$`q^9Et#dUV-!VTB?pKs;p&DW8?kC`cVU02j z7#+3BcjDR3(v}jX4hJ$sRxk})nmAt2c=3f27#S$6eY}xc4Vi3lk_rnXd*pH06vias z>cKk{MWb$u@^&tLyrb7aXgs5zJ-wrse8Kh_=OSdtP%}$o}1RMXl{`FghhGK@P<%!7fl@7%#d4oyf&05N4$JAx3y~J~8 znbO*VQxE0E#*|zZ`w3(Z{SN6_ehY}CZB=~Jlo*2@5bi)=A-Siu#n)#M*!K5s+2P&N zK4xR&`%LP!8`yhZ)5}B|cshKXTcRX%e^lW@0K5u$+c4{p6p4IAcVZ}}^i6 zZ)irr)KS(Uf`=tm#OGH_SyH`UAgxYDJ7wSQW3dv~%-h@*lA{azQ*b^?%l}iLYwjfKqBU0#S4557VzP_GclQ&iIi^Wd;XMnz2<~K>^R)n@U1#z zCoz$Q=Tx!(bhmtFG!EOo{_}=W>BVT;HQ&TbtHgtp920N?D%>>1$DZ#Oj~oJ&k`-)} z?85-_ao{@B)WX1~gu`--sm|C35BWOqQz&1Ze;n6_=MEyrSl8X}04IO%(lVqmq`a&GGuxz{kQgkH0O9@w0 z`h(paqA{n5e2`|@&6QSlgeQ07cd6GB?iJtcry@QN-rv7OwY69=UX7Qe$xe`^ zEK5Uwtedm0?#x!35oV55*T%bbj+peOM5Ol!Cx}IJ?4yJpI|=`;k}Mg<{8GofUb4XK zXZ2IeoZ;&s@oLZUtv?PrfiXE@>xGi{Fa*(g?bKoRd~qEogcWr9aU`u1z^W#;m=5X7^7)#gqN%Mgsj4pO=|4lKzKSo&|mhh$Q6bS~O``rGjO1KWG z&R4vacGr+_`l%F}tY)U-o6qZKi)(y`hHeEk%p=a!HBO?$*6yr|=$__~yh6?}G&x z!eJ7K)$KAP@54B4qSA0$3DuVme0z5v+lQ-LE$Y0HIbtd^E@a>dBD$n-l!*2qSIP}d z-yob66#7YRh^c^i6%_+C_k9=y@H_bE%JMtFuV6!oJ!4McaDPx(5e#TrCB)5!L4|qY zFrI|@9GP|?>QcADT?OijFmc_H8u%2`!M`BO9QBdZ(F5}m z>(kg=%*~WL;$p)CGcrdae0qf5Z9E@2zUJ7o?ljw=iOUQqSP|joa^t<9Pd%V`{dO0N z_{`GmFE)S|PyuO205}0+EW@Jn|BdJTOYr7OR-CIlHU4SlrsvgB#)J7lHkdn^um^rE z@V;I?5B49jY!pusuxmx7JUJ_dg)!YFU|g7D>6|aDy`$_MDy*vQD_%8V%vvwcxZf2& zwKgTVc}c)(4e!)1{T#7bGUF3+PeT%UEqb0t_cBGs%I2QlNI4NGmh7DmEWJt}yaJ`5 z(aPdNhbt{#`FD3lY41#ItceBa*ZqZ&_^AnSG_tCNn=|14#MwN4$7j*)kw!YCwhujf&v}vJih6F7Y}b-0s5MJ-R%_wi z)*{em&f)p9)xk5(A19po`+Y*SMQ4snNLzcTqzl;PnoLG|S%WVq0%%BxZ0s5cxttQ| z`ws!*KMM0*#6f%M(=Llg^f4A|XZczEYd#Js0rYshC2>_-Q^g$vtp^5`j<2qcDws&` z$B-A)3f*1{r`42c8W9Vf9eGs^T^h`hs}>=o;sYKozq=hx0dn(Pzj%hX=5g4G`8;yP z1zaN?g*hB|I*nsT?DH{E+)r{*fs7r|?GH)#XT?@oaQS94femX$I)v^qgxP}kACB*%jo8oH4EKjXcG467x1&`=x zz*4a%at`}2OlvIp^~H~pdP%XYxLXE%jF+}B8(_mL{(duNJa|ZYL!`h1uP#oVGybC6 zxbj{^=Fdh9-LEp6QEfYxfJw^7`oe=q_OMsNw9%-jmGIF7671?q04W;KZeW~>aK~QR1zCx&vt1UkD*(H>fnc#=Jzr; zrru(e_rrNrUg>G2V{=kr^mYq({9w*isaBaS45Xawg^fEZs(bg2YJDM}8(QI9Sl0>1Vkr8O65ZA}W z-R!^8+&^yUCGo;B#eyui6bxoGZyn5?Mj@MC-sxIF=YoaDYYWNWCu?VM-12@SSo+cio5L-xJioO= zQBzOMF@+3n;7^ElObRDcEUI2PZuXViE4a(BCkl z#Z}_2LVDruenb}5E1kCn@Az2om%lkv@k~K^weFV7EwxpNLb15}KG%vx$7%NV-#Z`-)O<9GA<$$(U5sF?iSab3(SN69sbB6XBjo`qhdDB% zb4Kdc3?IMF`oK7FB{5^10OFdI(&x;WBGv0}N0E2fhS?dk{4eooOp5XjiiBHB#H$BRQI-6{q(aDN`glLcr0HhMMR&yl*yLl1 zV3{P|JYRyuA`deO^{uGWgW&D5=)WS%NkD{Qmt(h3C)RX7`S@x#^2>#IUlmGxgL#5OY+J zf^!qCkSppk45kv>A$TSkUvHpWj7}ND5+gZ}%iK?#fr@tS?TN7%B<;ueVgwGCwjQl4 z=Hn+*n;6E5?p^GqhXUnsXj?f*xIS_sUAy3t0`I)Ag}YbAd~Im?axLp4d+*QJ2bAx8+`a|B>*@#A(>w05q4Cs; zU+ffG1xi|iaaeF4<%b=1h(Dckm|51xoFIIz6fk$G-hwYW#+O+4X#E=Yg>p84qO8JZ znDzc!GVaQ?#;9eSMiVv<4$Qi&Rnv^7Tx7u){s#d{g}v+ZBB2GSVx@$aJEP@iG}TcN zfwN+AEFsFf7*LC;rs0Jr4V3cqheS>HW&iKw_Tgz^zJzgU=U$~R6$L~=5KaU&wC&N%J;R>c-{)Gh&O@znw26fUC&M%uJnSz741m!%W7webOaJL0P3B7v$Ip{h#S2s~zY zT*7C>HJpPdKjj2fQ2qX4@25UuLium$OI8^faK~>jAh^ToYln+|f8MV{$6YEk{m8K4 zhYbBKk7+V{B@Errm-n;2Cx)t3d{0$-T}Y_uOyrrv5&#c_ZP#(&U$7Y zS3{BaZ|S!Hx9KP;(Z@TD7H!2oIl3?QW_+{7wszf5GH-ic5!qxLn>aeH+d5~wa>d0m ztgCbMy~^b(P{5cHE0XPrSieoM;gv9y!uwou*W-^L$-chDJd4*@SJ)PbTujG@^7+sUib;sT&P_IgPOa@_{Vr%w57FC;MV1r zS3e->q2c?1s)$%8^S~W~yT9MwNOYV6x!a^4g`MsrUzybg$hU!RA%A%e6^w&bDbDUe zyzHF*M`TOqDpB@hpZJ-z^lB28>h(x*~y|D}9~c zg1=(M+r$b9>Gi4h(KVz@RlWdNz~SXn(mViPGiD@o6Tf`#?sM=DfvGyuKe+tHC+*)q znK6HG69dXPWDrvW3+<>Jald}>=KcMxGL|Wcn7y|7?QJFM2ZLYe)qblPl<>uUu^YkW<1X+;8&-6zKA{j&J9o7ODza;1S004v$=-tBYi>9 z&7pdAcU5nD!rJJ#IYP*|xg|yp(UqQBI>s;h0put|E62f4OP0+dq9-*j#^9fAPpnH# zwP=7$3PB*JJn_9ZiMf~pcyC|D;J}G~0fhqCPJM$~7Oud&ITbao9e%(VK(2Ll@pv89 zqvJO%47X;oWET!`cL5cDH%>%r-5!I#)W5y(b>20(cJRHIMffuvKAh&`zFL&vzQG~7 zWn?IlUOeoXe|s76H)+OvYAAr^QCLn%0(XfguA@Q0tG_&><+5#{HWUxiu5GikVR40c zQgaBAy4p|rPIAVwnzaC!(mQPKygQUKm$0Oz6O?+8#J=n0oF{gNH(mL-_Qw+YVM8Ie z(-aUSt0IK%X?OrS`Xh%Jd1p>_e;%rr-1to8>86?aH=4Pa5QN@&LFE+Ik|s5!49-@jcgA zCM^UNf`NUT_@GF=1t-uNOM|y+y89+fh8OjU9O+BBL`; z-RH5M04iMgSiHBXYc0wN%P=oNkV+3kiIiQ&z2$-_pve>D=`j(&wZ3QK7RwG!JCjI_ zaQHsbk*=X@uPOAXegcHhHUvMW(VX*EF?$KLNxn9~Rh(=5LxOxsApYzoDw)FJ&mm(l zwp>)N&9^ozZs+XeL{0Ig+e`xU*Czg@P;}lUEd_l8yL9a)$By+UcQoR52BTbE%~R(W z9yU-J|N4`%5_Uw$5fFPJxqj*x)AsmJj?=-Dx{8SzPX*hpdO6Y7)`ZD*mYrX#BhL1A zvjKhOYa^_03<8oq+)hPWcihcc{Mb6k{%R2%fPDqsHel9AZoa=A4lO9{I92s*m~dI_ zz{}+f|Mh+@F1vJZVG>hnFyrUMnT5{FQRI;tf-)7L8NZ$NIdyYw^y^?^>?#6TFrP%4 zKV6N7Su2<)1Z)=JURz0<#xS{M{VIs6w|Rxdkj!xV3KX>8xJe{8#0W!3ipCO{YN~1) z%oQJl5`$=P3FZKlF6K@yozEjhdicHfXk<-k@Lyn1c38e&*Hc$xX7a0Y=#Kl7&wD#jrx+iCSjcUCGAKJ<{&B9pWi@{BYvO zC2Wyyw%F~;vg2oOuKd+MZUrSKL%F&BV&SzM@Rta3z~Lk7==ZuwCFqOZr@$Yh;CCKMQT0jkA4WbL3_vR0r=+~V0*BxPE9h&}n?K{?DGgy^{@oPN(^yuHI=!O@vb9HK z=>$rC9BEw1yROe~yy5$n_iikympDNG`uy%ZKKbv3_U_;T3Pt*$-YPyedB>nHx8cyl z{crMY3jXy$K=RWmAa8dCsnyghp6Tp%!AcW+q8bF)p__PVBygm~)g(`~I;lOD{w`ZrZ(4OKq-Bfr?! zCj;oCGUqINJo&`V+<vyt!lR^%+p(brm@@|t`PBMU}kX^^U!2>Gx zAyd?Iqw|xa)s(!@!+r2%_wL!>b{CDw0QAR&j}E(2Hh=-}R;?MsSF;|r%APF)+NUo9 z-{w@FO!Igeu~cjGSKwya7+NaKN&_gLe#fJ#097QMI-X3qB(IXtzCxKL+Yc!+iMNCp#p>PLJp`8w|3*y zxD9{zkrt^W1%V9z>1)>OK@WQOGWLm6LugJ&1|u*#h_|Ufv=5oJ3@>xFzrHheyIfPJ zPHgK^Z-`qhP^(Kjn(bXwoLPYAHXS~EkrS9))%i^N>9egWZ#8FR=ozVp#|V~~m)Ty+ z0#$+{FKYA9{DrEX);(#1jo|y8R9W~|)hs*jTs!VTyaJM0ObfL(g@Zi20bqIB&8k)A zoQP4Hu{zNmu-L-a@lEqe#3I9dI(NQrg(T@e*9ww80dsRVKR{RAfJSF3X(Gb363G2? ziig6gWoRB7@v#Tmdu2j{kY%+1bjg6xH+ zxL%T%tTcTN6~np`6``A7ph>R^ep5P5qoYesO&yX_Qo@BcXAaS8#$r~uRe@_cSYdAH za3V=(0K6Er&}2x`7*KQ|j8v%@iz^ZU^gU#&x4seP>c7?20x8cKV&cJLFg_P z%D+ETPp9epOFx4AMmb;fCyZ<9N-^n9FUl8=8b^XIZ9f z>bN)okV^LbwS4L%8r1<6+x4GD;y`s6<`SZ?o94iI>)ujF*PW|2adx>e7x$@j@27h# zkacnW=Sl6krAFr0y&0N6jARBnC^$rS21BygE#?k^8fcT}p$oT>pW7;rT=tQ=^_-t7 zn~mUad<`VYlfPs0@Ng|r)z}DXz3wtn}QQ2t%EyIx;j+?fe!!QiA4WW_(TXQ|ia* z(e8cbkN|SvTzr+`y4*&u()*gRLZJ(*8O^Hilw2L|YWy-WZ#&*5+3>)V69S5k%nPlJwM ziWh#BAC-F4#-xOZyH0vQ+wA(el3-fpr4u7kV^eUy?uhk^nw3qc_?yOK$_hr;`{yTKB#T`+A!@oo z@-g)G6>s3*lm#yT+$gN=e_toQ*6=3f`>ns%+QdF4*9L6U9~gqqf53mEM6f`AM=%`A=Fu?Bj9hPF!fBY{@wtD z&ci@SI};TOmsKI)0Yu2c566I1A}e<@)FTPGb(^mHvgBxx$B`+qKuD5Pv-2=Tg>uKg z&m{=X-D-iAO57m0ugOB!J`RIraw37$^s?H#Q2^|DMjFlS=|-nQRvC+g#IoO-7 ztC?7`ED8&oJW~}%d9dX~os z^RCaEWfoTtPYlx(><$=;_m1~^v4m<@AL!b=VXqgCvklD}`6dvo!blNR6U2hVhuVJM zAej072T_w>ylw3Bql%cVU9lYn$lr?>iXaO{=_Xe=`=J(E8S`PM3<++^_;~U;q-Z3A zT@ZzN^qRplU^L(hMfP~ebDtPAyGf%@Kg4kEMB20+z>2o=Fdf)IYg;L6bCeMme!q=I z9d(zY(|MP2mJoTI!^IF6B&0;iCyb&7MXDo6(gMo%3sxSTq@F2QrE4?Q+`FdY1C)@2$D0 z=u0Etsrf~yi@g1-W*tpJOX5Hk1K@NDz~-)s@ui0twNZW^$A$vfiFNTiAnjF`RkL)u zQYmiEH+(QgxW3>x2ov{2+bDB$ca;7w3t$9P&Ppa~3RNDm#Ci%b1oPaTXX`#N7d@E9 zTx7u>$bJ~2pba|-%maEL7xh&jC(Oq6=xvb7*F5EyWa-`O=2)rQuY%z{%vh#Dbmb0A zhbxCHkt+H@xkpqsj|#yn7+BgBHZL&`H}S@JY@~v?p^I3p8`sh8fgm{qRi9rR6REO# zjwRdp$c`!I>f0skH0O&VA%PpO!+HC$-WBQf^xVG(wZ#u;WV0fe^iJYiX!LsBJr_2s z^oW1r)tdrdD{WU?F~6p|Xz;v+z-Z?tYQ?8lDj=Mx3a{b*PRId4S^vK5QKF^7o)l+2 z5VUEdig`l+Z0udKX?E>2)y0;6N8~-9daYMQ%nsz5-H7h1v1S0|Fr9Prwy%zox!+{g zj2zMDalUOko0$Os?!ug3#x{K%(iRl0Ma5&9#$~w zVK=MUUZrR+gD={99IdG8O9xUYwDEp!afkI!Y|J(}G>iY5(o0LHFwlfG3u(>P3OP9& z^x?i`cu*cSXSwmmxq3ZY^zEUJX+15Lt{5?A#=OkiMC!_1ho!7CV*@@U+kUp?9gqCj^_}Wz0HzKB;;?n`|F2Q^93+Kzp6hu>dS4EO) zdZ3*}nJh@~0kXYmXW9Jm(BS0lqoGrgb(QC<2jRuX^YgKN(AL0; ziT<@~QCH1Ebte7DV+qd2esZ?3>uYMj37%b-If%A~J7sYJ_cc=fY zAr=GBNCBgLLNea(z``5FfXZr~vyniLAw~d0fB|1s(AX47l0jYkMGA#|bQPwBXD2)t z`cwX$A%>~$UonxyMWEL6ui5vwGkk)hcnkJ z5>p46wAI0!K<3ZAx2Ic20P3R?K*KL{ixWZ_vfn_Mcz_n|v4tU=OHHm)9< zj?9Kc^Dw}#b)o&y!ml$t*?xZH(iddjCeX-X5SEbTZaS+!Ln;!`7kEiFIlEj|R(P?# zt8ML0&@(x>*!KM{AAQAcrRTt!V4k48+fMM5AH++7$Q*D1Dpv)qg7kN>ihn+ZxhlLZ zJ1SaRnw%2-pfaFhv&-Uc&_AcAP4GDpz>2Mm@_pc94j^!`5aq-<``tL_S_IbCd=|O) z+P5mt$5uyaz<~G<6~jeIU3|Rg*|)CPPv7)s|2SyLc-Yeq0%MTP=-iO_kd*f*6zE^F4JXvdBI0cf5J&5#l(x}cT#*IhD2qjUfc{)crsR%?pkR{`sLpqp-jJ-3JwmR( z1lq49v7)VXF-H!Nk4+|rFjY!et6RSd&t+jI%e2Xu|Ck0%nFheoECkzy3@aVJr!rSb zJn6~gC6IteB-^7iq&0Xp@=-@Z!O<8}u6eQz;rzUxsK}kadW9cd1WQkzHN&&<^R@s2 z0NqphsI3FBBCiczRTGg}d?#=(HEGw#wpjCU-Am)USMV(F=_pZCcv7dHK z416hjDKta2_YGZN(kXkD3w(Y*TQ5Qtd9)ogcr&*uJikfM;)-E<22qvq>ej-ThgE4m z09{{9PlB+4Q6-@mdN82-8uJIL?%SU*ZYd;?{|;bKmw>1eJPaZ0P~pPtJknN|hm+;i zxFChncAgsY|3><=QUtBh1)4vY#;@(^z#%0I`~F3y@n!8OdGJLD!|9-%SWdb0Yd-|8 zpWFHcY1~a1LREh6l+$N_XAG=UVi1zf8S_-^5 z3TL;}5fJOwckazE^SUN-?eseT&Tm0W(SoPGeLnrc8AN4Hu)e_pVm4k4sAYjh2DsWg0lKkY!)ETECO+K1X4)G2ew5`?1 zdUyEJnqDJIdnaJM~tCVj>Swb+wkXiozT4#X`*K2+af)iDTCX0{GW4z9<~ z-FlVX=C1wbdihESx$y({MEU+|Q6cs@-;=XrTkxP`SJ88aOvyqIheC8FfEzHF<$yrx z0M%V@J6wF8r>s);wD-R?oBcUCxA}l>Bm3q+-T~0&3APX@T~m)5ZU0ja2Yx$qWw-z00?zc+*{Aa8dF-nz$@Vo(atwG9n>Z+l z__SZ5qUE`fN)QV>Tz}e)3m*zUWcltI2~Z=?tg$9RjCGxvLR1T~x8&G6Zo{54>VFug zmkoMPIWjIEm7E0Tr+H%hg3Jkx0#`Jwb*%qf9nEQ6yelabEWl#ttKc$cH*I5liW#H- z2A{vq5+>F(k91Si7cAG;_#*J9c%jJY?aKl{^g`P^D?J3tiW0h}ixCd=zFN2-N+519 z6+LdWHWJ&`);qkdqqjPW%=$HtHa>ywugy2s3sN}Y;`Bj3HZs`1D4ud$1g@gVQ$;HH zcUBmWOxjvVFmZzjkd5nu1<`XSrzBNUI?W<(!y>NPx`ag3)23^Kf|bwqw{tI?PBvV} zlp4KDU5K2H%4Ub;tqD9MNXA*OIi#EYZL!%q-UaopD!M9dax=&9j3iBX;X(__KBUFB8{XB3@Tvc#DU4cX%jW(cIG^0i)o?8D%xz?|uec(lC z)ZzG1Ku}8!GNKYQK8&vXfa&g7iQz8hpty>=`j6uT?pY*vS?)s+(GM~bE*f95X4?Kv zG3EZxX8!(*x z{{G=^d(`Xm8KyK5m*u;LItqK9W`&BAb+cMUBn!3M#ddeG%^SFDVhW`!`o~3zUdn=c zJBw@wM6HFv-Rt?sbyAFRk&XLP6;76p#H<}gz`b8&x#*WY9@JQy)7G@=8aZibA|D;E z!{)Ixsj$piXrb1TLNuhj3AWX6#h1m5o{OC08`=b?L#rd=hn^~#`p?|BC+Hic1|&m8 z^7BZ(Wc61_&bZWGT}ooD8+x3VmlP+rUwH%aO*F8D;rkXO4kH)g8m+jKxD}-3EPCN3 z$o7HIzJ`#=y5kxlZE6c99$}40rK9xZN)RWdv*H_|u8jEP3~odukEOf8xL3Vr0oF?M z3aId(^$?d`WNO*YM{qIPJ1g2)8TF<N(sT zc7a#{Hf;4~zkV9n8CLrtyy+%i$nCkt?6OU~GoFlm6Rc#&d|f+a4&+0bxQPk{$1s+= zJKwP#1zu zxzW{&=GR%R%ackAt2vMD3d(1h7I#E*5B{ra{HJ&LWFT8{JWS%%7iC{I8|eKjnFxF6 zI^IazSPCxG(-}AU_UzG1lw-5c*SZmbRSEqygTD&>y?ee9KW@JWn3g(Usx+?eXWVN( z2lF+S&u{u|Uw}}E08@QE<4MJ01Q*xPgBlxn&teOhTc|JinLkiMHcFS$!5R-`%&u6$ zLN}W07V)4l5Ifx_ynDXL;zR2br6ZmY>JEgye)@ctr(Q}~6)4kHDhlZnvNLxo}IMS>%)@0i!R3DGVUo?vFd;&+)1RSY5~0CtVfLQr08)yy}U0TrJz4rT2rF5^K*=b?Cvvk!a!i zVuy*XT06=SSk2#7nPyLp^_C|o8{V$Jzpo4Vj!?+S!^yXP3cNl4Ypp)`=Xc`Xfl&7Mh`Q2T>Gi* z(P5j8Rn>wmhpeJ=s2pBs057EjB--YPwN2&#}4KAcS@)@Ork$ z!r#*5fne}+zh1r?n}jh#LxcY#>n-D&?BD<4ZFES75`rj_Qpx~nkX9JENh2L2MClkH zBHf`#3eqjzHKY}R0i#o3fPi$}=k<&4>-ydQXXn%HJU_?hINo)@AO_Xdki0*hm2FC| zgV6Li7k|Arl}7M`2}z@y@{yM&?pp%=N;Rt>jzZxbw=l!sDdq^kTY!ec>m_raR zJ)Y=c%ub8S>7xV#fKd_GkbCcgBkMFfY=2qFj^eGQw-#=PuTu-EJ9Syqw;32votF6n z-%wqM2wiGbb8H$tSS>fFZT)zRCPez0v&R9}5rSr-<|q-X+0$VkGmvgbl$E*d=c^7$*8D>64q5|`^LwHa;3 zXEt~1S)gB?CiC;m*8*14=ccBrNmyU+dnj{Ptsg+9?rxgMYN@g>&>_%3uD5Ve>i6PAFAfZ`#7V;KyW-JLf2J{xdaNcEPk z2Gn}v9Cu(Cy08O>=KVY(x>ZhwP)G|wlA646HIz3owe3q-sWBaGVT13U8}?I+%MF_H zwC0Cw>A#vj!BNs7nVP`uKXt2%bM5%2KxGni0FJgNMg`i$TSJ(0A zwnJg&o`DsTDLOogV9I(Dm^cQ(oXR0|CnuNKfaTef3d^+wPV@bZ*e6|z10+HmqMQUb zUrZM%LVX!Mvzy(xQQ=8(_d3)B%(gHsn9{{(7|J?3Uo|JUULVfR( zm@mazZL>(grTrRD0XQ5d()<2%w0lf}dE)FGxntrddV1)Fi;gbp9$Z_w(R(6U+DoBn z4UM8;54C*dfmuJ^^;$c0e!;N#DkLMBc3#WiWs@bKJ0VI&5CwfWw{mZv(RnVl&6u44 zP{Y;b#c$a2cLul19N#!G8o!aT!ZUn-4sm|{T%C;n6PrO+6`*WB+6Xk= z0$|^sZ3I&iMc@lJ1|~%$^!=AmLdc3er>yVXtHI}IeQ*R#xzH{XJ*ldJ_Kah09k$u z?m3&v4S7v3F4>Enc?#JQ8E6n`t5$EhZA{NXZ<9^;qm9bd?#~A3ye5dTJnJ(|1-n~5VW-bx`)|oFgVTSwKRJ}T3XVV0u5XQrXa0wr>8L? z-$w6pfJkKu0p@QO(5bM#9&k3Le7{{p%sbypA^*X+qf#5B)3IodX9ZHuV|%#5z)Kp} zMJQ&jd`R%%^F|#y=+;bi<0IEQBo83zLCK6=NkG&oO3%KqYiribp6l%IIibxppDkE2J8e$6Pzz* zVNdI}F%k&O%qXsrKWV5J?SLyPwR$&zH)HCN*-yB@${;l|T`88XjM+jX+Z}d4W*Pip8Q%f7t z(W3At@a6V{eP}rs@1iUY;X3Wgmjg>PZSL81AzZwppYzQBVCa&i$CK`*R#NYp>uBMN z1QV5>R|emfCmkI{GxP>U7x8gxE6JEys=f$sNV&&Oa`enq!AbpnVx1W;&|#P5(k$MK z`>AY1l^Y;S=?Z=-?s@vV!Dq9TSO>wDl}ewA&o?vln5e#VE~!I8+I3}DPe!@cOFt^r zq&o)NCCfpKOahkP0RBoF?)!dm>ehNi< zuWZEymuQWgCmRDIsmY@7>hxg^H*UFs<&c^3S%;{nLQbwOFD3#Sszvl0yArUzv0^eO zTZomQs}A`9Sqknu#^aimOM4P0T=Ys2z~+GMZo?lVSFg7nOxjl!3f@MY1xMX0ktlr& zicwT`-gXB`i6pIFe~$6eJFY1GN@etbihA5NQzSr5`{zbkJ9s(fgM?2lvd*=@?L?sM z=5>>Wel(n+mnN&4`LX!GtyCFjI#zLHUFECxZTM+Pd%N+!O0ro7eVUI|``(If{-WhI zH8Kz(jrW2?YJGQc1Mab{4+~sdSy@lU$x0apE4tO5T~pV%?3C<`_s)c5ff<6Hm4C^7 zZZ0zkrk&0Bdm9i4I2nk(*Kg16zTjXWP+dHm?x^Omeq7>4M0=MlBJytRumfqj)wy9h zO6f{bNQ4xY>q4x&{0WjsF3>W<0MjuN;`qII#;OORVO5jZJl?-_G7ch&B?)h!>J0;t zRIqweAW^xs-(KpP=QlJi9fvk!q;^f^NcVXu`0$AGBq=>+PU%GebiRt0A{AM@jN&2s zdiwd`6Q|H%T$j)9$DThx54w^g+rgdTPV?iAwB^HM2A*eEG5$_Awf6dk%Pa+5Q-{*C zErbTs-L|zR%wo+@gWV21p0ftljh{WCSy>a`DxsU!=tx4Hb@<%$R5OKd@Nfd{j8}lKEb!4uUFJzEg z4lIX%f4|{asyBo9nMn4kOa~$HyjTB%jwO*+&aCL&`o5DaqQ0>06ut)%k??P8&LxdI zCp%oV@ut_8c~?ahBNeJQ>i-Bo{--xSy;sqZZ*<%qH*!1BA>aAYqE2waS^}y`;pvKo znEEZU-2)oG*aL+QZcm5=@etQtl-!s`Jx2g%5@ix?@SK^X&iOLSLN%QEhik1eEWxHA6t;}I}}BnQozl;f^nTYIwMfB${P8qA>?%ETA{Y6c@XUo+V)FR(THO^#tt7f^S( z!p3R%U~a0~U+Y!B3aye(Oh0pUA9|mBs}x#J!8>po>iFXjJ!wkOmy?|fqqN>x>u`RN zezVXhGw-FXPO7_n%&BoPgIM#&puwL+1O`u|-SpBb12P6K1m+4Oav=y1ySA><;-E5#nw?a+sqX4IO*T1LW9ww} zk)pbewxJTI43b&sYVEPqGpWwHggTJv8p1$oMOs0) zzI8G9KP=gQX}=~+f(~hqO_t%umli;$vd31qllaRi*MsjJo2(JGbJRid&r4*OR!T_3 z$wdr(!$)H~Dc3t|sOSgGJCj?x4P$#~!o(M~E<)N$xs==VlZkwAU(d^ZXZ3O0s%b0Q ziI_pS?AVX>sdvYkRl6bu(Z-St=}$8T4_Ib;e2hHvr&;oahwoTVv)?-ELx;;ONQH`I zyYufwMmM9B)FZpYUm;+L-yIkt$hNgUhmGOm(SO5E#oM)SH>}rAT2yjBiago=epzej z$r_^$6_N{G=~NW)%=xU>EMR@YYy`Qab9pd928+KizHI$gOv@WFp9RtnRIJ|IQ{p8B ztuUWWO*uZ^V|GDicGr0>9C_Q}F%v-GVodjIh0GNOEcgXX^-{8o_<{98^Uf^>)Y-X1 zKA3UzQ!kw1aN<$l>E*!2`dO+oH1izMk$+Nnk~Bd#pJm+iJ}G%TYh$(D-7NhyPzYZj zr%*@$BUnDyrFt32@|3ak!J4|W*)GGRwtkD?cpSOFJcW=OB3uHQexvad6A<&c;F|$a&Cu$mJS+j63 zakci_%==$8w_TmD@^4qbMXzwPB6|U3x5g2&OR8=g6%icCI56;ng7=+PzU5av@`Bjg zj1Dq!S9b0tS_k|z|EmQ!^{hyEWcy`2CA;k%g*n1|eXes7bL&GCvc%8j6B51T zDRZ@Jd#B*fCpP=GyJ7>c=lqcCza@@ZO!a5^BKsWIMEB3FR9c8yxmq!k)psI95&5iP zu@xx@;@Gecxm0Kz_mfY0UI3B;k&)U6FszKLno zqCYqJ!^0Cn|J-c0&GiPNw_8SMP0)N<*fFr&YVnq@ga^rN9`0lZ*o7AdFYuhfhS^ab z@E71e_!Um8*cbjzgU$0Yq4!#4vMSuvGw%=i1H)}9BTcC6m!ewR9 ziQlg&OD!yjX0-Raky|Ntdmmkw@#=EsNw*^VV`G)IMYWnnu4CPHb+etTU;n|M01wL1 z%b-T<3rfn*`0B+8t;(JR*2yEM=0&xyk41#}ZL%x{#R3)?j?b*!PlQnGtNAlAfu@UV zy@zPL^l9;&IJ-mf@t9kj=~*69b9XQglOhhB#HUr=q>QA z(&niYsVqpxGx8O!Jd(GL&0OJlANlfinMVIDuf4K_+}d3~gO~nBOM5wZd=T1~oe|L8 z89&Rl;3Tp3ztaAbQ(MYNqmTipqSC!NAvf;PNj|~PK1+s{sm=_ljeaFi3Y1cc$H@=3C+r!tgUtLMlC8O_F>`cv! zbQqXT9{V|(3)b=a?!PwQuHZEa(7|T-_Vnh-`B)o99vvPnwh}xzxC^+G*lDxl_K``& z92i05Eiw5n6dxHi2y|TgXKM3b%-z#tI0q+) z2wa?B&N;ROwDJX90d^YusNuJS)bp|JTtOe4P!aP5qhDMog)B11=}^yNb+70~?7yV^ zAk>2~H^tJt2W={>s zvP;`n9~a}&FPLs929IFJ=XY_(eDf6@8ps~7DN}uH;4`zet6#_e3l{%#SWN)Kn8)8g zYLDlXoJ^SC6u3S!0o^Q(tdO|27z}nUYYI2(EyJh0NXd_@U*EXthoq(SS?f~tc>VF| zAULF(-DM#D!0vf;Q9GuLz@X1(iJeEUI=~w!)H#8mvp1z1#;i`V+?(Pagc*vZ{&Jrk z{F+7e04+5GVaN=DGTRsNp~%!}MpsY?v$=($B7p_M4wiG&Z0B@PwsyqYjDz zj2N`AsbRBGKIyTfY{}?Cm8$bf*8^#}Q6UOg=g=nMGVSA2@il;*>Z|upJ*U#uJ~qRuRwnWd~l^%#?Q6dW)CCF;RfUOu+f*=-IyS^-$7P zph_0@SD#I!Cs~wTxl^NQQ4LDU$J56$vokpbhFBx@$E$55Aq9oO)Ytl&5F3 zAsAH~DWb+bmV8#iW^5~xyvoxPlcfV@yjp&7W$jJ1>85*7|86j#xLeS-dThEf1lDnW zPUp!t9|n4Ep0JQu{}`oe-S1EG9M}rCWvHVr&iIY^_v(4?VF^G23w-W*da-~ErW_tM z&xHb8>}vD9irQ--$$5FFX%2;;(`_Y!rslD!wv}4{bRX{Em^bcgZ+or8*Wc}5UY-2Z zPKZd$Xmgf5ynns5n+5C>`ww8mmPIe_K6gFE)e!P_3-aBwxzM95m8@Lg3-ToD*7P|RGE#c>^wmvxSBy=dB7qH_X&n5VlS3AI)pq#6h%DMa%v8-5XQTG z=q$_%a(b2vL9$JCe~RR!j6nhRP9!g{PVOO)h~F!=vUI%a{Oad=BSI2tIXap9{`;?7 z=oypF+*N>OO=Jj)R-P1EPo@f@?N<3%b3TNNy?`@_9^_Jj@S0{_}FpjaLWmO7i8!CFx@ILCd(S#oXhT#=%r}PJ%H{3(n?1 z`^SRY%zsvkS3!zP-zR2FcX5!2v0E-}#ZqN|Y#G&!CmS83&)jO~YvGRFoMay)0&A-- z2BZ5FT#*iLpPQ^az;cbINw>$-avWWUXH_m7{x)(llvXD)s>|!jg8OA{GB(Hc<8dtjqU#FRaz?j>a> zp%5hdf!!S@BG)d?=asq9jd9k{QO?h{sP3HOxK;_zF@qzWe#-jI>IXNxNLq-TqBh;He z#y&S|P?q+;>uicYSn#I1kegeFOGc2i|0RuzF^?Q1snCD@^&MI7s;YkPWtCH3fzd&m zPfiwDCWS0kf733#&Xrkh=iZjq)xeo0{TtnY9hhb^wt6JaN^3W-~MGdf#ajUWDh?s$$XWPbscOJ9M8Rtduu9@b)<`~&F zK3BJ)5jUbLZvIJ|-hDRLBJP(aKPdzIAW-9#3;ZQE4oQk47Yz>~bIy|c4z@znpI6(+ zp%9jHLj(zdk}!|VF~yIr76bizim4r(JX|s=TclTmO7yR}wVehE+wg@t!suwLQyR%q z&#ms)DS=NRw*&ntH98gZjeA4;#D0$s%Uk%Aqxx_h20N&5rKA{$2tsx}GQ+GCw|T!t z_DJJor{H=v>T1aBWBtuv!BOnqO(>6%KWSmoHvMe}mS+*Kb&@@Ncb;Z`8Ori7w|CkP zSlj1imTY)O59^e6O2(OEC6E0=#?ggz1hDsd$P*>ejngmiS2Z# zTJf}kQ*sVb^zi3NM~=^;BG9Zd_&n3abAZl@>{$~uLG?|LvVf_x_U){6TV>zIxv6o5 z6(#$Hiw3%);mRsoqd1xcquup2pUv9Sm%KvGDQyHrys7gf2=-ADc7ka4`@3aBQ$8<|4WjY@IXSLl#kHf^f|Q*grW(VLyi z&n*X~vBacdsfG%=@$clxuUNX>(?1tr1M86NKl04VjrBG?m@s><-EL zb@G6Yq0!Mk(}}c@Ekbb<*qm&%Qr669PR&c|K;iCcfB005dCmXvt~tllk4FBhqN~u^ zRs~UeFhB{t)V3HYo<4kAGYnsM4rdEAWJVoa-OqT_m9h5)YVpCj(6vUXlBSq+6RWMQ zxlk#4&3WapYi97T<9tPGN1!=ZdGr1aIsmTYpnjbLH`77Dw7-{k6E6QK0P}D;VsFB| z-D>yluJ3Z)iRblwCwaU41(^G#Qvc39xo~ktcE!#U3cd~v2+a|R0n5WC6zv9tE+}%H zV%imsM}vR2x(6$sr~2}zHv&W;4%V^LcoeVyzVg_(GT~7+haHJ|Zrh-Zb)B$~(SkDz z0_r(b$RR7EKRxb8;_A{FT@b%%1`_F*m z)RY}u8Jt4Yo$QFY0wV(l(R3&*tV|3*iSXP*do8TZ9peYQ{F|#)@)~2N=wIm~%)n$@ zB*>r$=<)ah7?CN3bo!#JA5c*4R8ZvP^tHM>YvOJzuV%5mX^X9FbcmI~*RM38wzDUE9Tes!VL zqikZEgkejhkx(KXZMmd_F)xXwL%R()saB`(s5cU=X(@>N4p(YVypd!x)j+QNLZIhUtiZif&Z*OM7R#!CFh zd5_VoINvabX6YK{_Ay>AYOjUN5{8IznwN6->!)W)m7o6TLc`gC%np1$3YHH1ihC%O zw^Pbt;K1RBzmdrAFaB?*3xz>GUy`f|4HIf!)F_uxB@GQbjOodt)0 z*7;`W+tt|8#_=Dpv-w+Zr;F2un9Tdw>7Ww66-++#Mj4Bx$%Lrei`CUtr4L6&%Ys0}vo8syhAg#Zq+O1u&wN(psg8gCvN|hf&7J1g znDeTd^h!X{+A?RkpIRYPfz+?RJQKL#@H2T31N(PHTAXx;W) zN5CsvsQ^M0wwP7f+QWmwAf32{^c&oRE;VC$PLZvsc;B|N294bp6g2e6^$@@Z-PaQGfY_90&x`uX=jj zn)@jwgNm+0*e2&%VkSNQ)a2$au7~D|=+&F|D1*%{ez`4rArDWO77%A>S?HM}6$g8# zGIj;n2g*drZXZMtN7a&7cWy->SUo_9CY+XkCP#yrs)@ybvt31DsAN5WKF4;vx zJet$iM>+gBXsy&-_U!PN2X5@^qj`(FAP6q0?(RbEr^mu#mHX2{(J%BpHs(7f#fpfv z+*D_~cm-)1JJJ5I>6+S^6g-4+G63Xq^9@om`!*dnr85Q{H0WhC!m#_g4Yu^~a;?$S zQW&bcfN^MoeovATmA$$MWhjR`mBI(zKey>&a}w9sZPrE(cBPhxWi=2b_TpGW9#c$Cx=Riag5pDAqb<8nVg=^XO+}YJTlaJM*_-H)uR8Ze{L{G zd6Am*mb0nVsm>f7`z<-J!23mfRq8^(MnSE(9IGK<^3)TgrXG3jtr@+vOtAW=>4V}u zh7XXMJyw1t@FhFM90*tCGv~MCtqL=qtW#AaFK+B1EvPzSNN>l{5@~1JS(Y@a(H5b1bbvK zsF(&h@s$+gp)rz#*!vLxRdFaOK~IQ&i@#g-AX2}L0hfXzx%K@MCr(p~AvR7B#(L0g`*iKqh#B|$d ziYI45wnx^2@LL`0At3|^*P?qF!s+hN!!j~NaPmDnFarM(0GIM1P+^Psd?!3$3g*DD zB#IB@VD%0XcW-0>ReG>dD!T$;XLpkezrJU;IrLUlULxKH5D}=5nn4pOvuH3Vj)|$r zvWH-epp<0_`i|&R z*ZQ%CncljG(Rkzz&%G%QZ`0}ZYRQPD8{M5EBQYvJYd?);nNa}N-yN&V1)}bX00=GIC#25 zQAv8PMopgyU#RRITuqMt3rq%R+KNt6Ki7uyKfWsI2@wd-M=G=XxF*xeobSxHtf?>l z*jci%I2l`8(0*ShJ}D_J{RZO@kMF7uV_hSB7)lW7vy4jEDkSeD5u(msG3QX#_D=%D zIHDv!s9OGUdH$&IsQY#m*PJ>cX};{P!&b4mpZK+5qte2E_IBsGR;F0p-D1+9`mZM?>YW_YxEb{4s>dj! z2)Qp)tJ}pI^{uDG>VqThv~h+afV2>2x()hqZEtBwmfSiuUB_i4dF<-nmxA%Y0i;m7 zM~8YG2VBsh>W}w)qZ!Se248~)Gi?=o6jdIvAqxz`J$1`W16DzFJnv$01FT%5x)1zkzUw>x-LZ_~2XyuOHUhZq(0R>^?lz7#r7@m)3 z&2~sk_+C5+ee0n-9^`t)>?&QmL6*z@os? z*-tD}(cwYTUWn;)L+fp$kle4&jET0o2b)C3Zq@vh^{uVDpOr-JF4rCZ%k8uJBsQAM zOB{&ecj_omb+Is-eg{vc)XH4mUCGI*{Hh>n z-$taC+52?NOpLTCmwZQu>q$aF*LHyZL|xTOko9KfoxqJe1;Qv0L1%cWc^*MhUanA} z>PxUDiy@hml%KI4EtvFWtCyLvu7HX0eLQvF@_?Z5Y|bn)gV%EY!SuaNKo}D zkF|40PT7NG@Xt>q*|YJz4GB$79v)wtldVGDyWE0un=^W+Rr(rZEJq~9_z$=Cc)4~7 zA951ZavBeLu{HQbKmD-rhy8C@beS`>PLx}ij~UAu5DL0XePJm`Wb-&u(qjkefCeIT zD990iET2x#5;~v73MOz~td{VB5f znRN|AGhGy8rVvi-YH@Q)T4CK3{w3}%m1qdFu;Fw zpC4Ec;Cga?UwimE_PUn9IfYHY>0&yl}fJMZZzKWO?&SU%Vsn0V zX#!D-j15)sn<(9AT`2Krh>M~(^R%a!y+O@vwtT{irxFhI* z9cE9T3?k*>mC?*v*2}&1Mu^ZV`?D9zfK49rE?p8`8nB>XLU8*kI9fW1j)*>5xc*CF zLnOSxyUZo6%=wAOu7h>^rA6btPM-tmxOTFcJ<`VHS1PPIBL}VS7DF)owqDLl3->=JX*=;)2V1b$EcQgg>*XuE>N3D<2oP8@zp z-x%`NxGCwZx1 z5=A9B4}VT!VMX5Vt)re_r!meo({1guQ;8Gbi48>SgzcO{-k?Kr8*pjU2fqfKqv*}$ zEjn*Go&bi$x`rr=4MxX{{E$&xL4X^22B@+2BiB6(h-zQYA?N42Q!m!FC~)hm9!;ig zKt##_=_s4|V+l#u-jH#O)hEe6_KBr44E~=EcT=*F&?BeItTuLr{HjAS^#r2b$-@>l zHr?YwG@6m9&R_?fL&bd)H)LJ3_#iGg9phngaRh_eFfxbH5hY1RTO5KrDmO>jmjS^v zVim{->j86C`<0a?zlyf{%W>S@r!Y+A_x4Fg`3wHxty{0ydJH`xqOH`3yy>Uzs!`Pj`3()mO@|-uSi)NqC z7at>8Dm4|FFiBAQrCim5x&y?8g!y-nq88&gyyEo((6y~8To644ge6yWQ*n?N``7fTXz-{VI&HKt{`FG)BEJCig@Wi{m zLf;yGFgatp*_8$wU2#WQ+N}Y$(@=Y(HrqAfCUm+}(^pvx{%GxvfV~{;TSUXQW}GBZ z@q7NA-Kv|ZU6$d*NA8dA>b}yMmqqwKim#0Z3>O-~#Jj&~5u@@KS9sAT87xzgJ9FZ6 zAZu$R*0iPAEK>0v^Yn}XlFV~>iK!N!YF`oQS1nq+F`|)(_lS z(;a}dWpo&L-1vc@gII_~K_Mq6_RyKFa@F7JDcNoNxz>Zm4op;iq{bPBr`V^Hj4Muf*fq-bxt@9bcC~GAi-uS4JswB6&j~HEk=NK4%~xGk;eG2XD=uQ}w*T-aI`tgoKFrJGu%y2S1C5ji#shr0xlG^k|6T`&T|TVocTYQWcG@H)$!liy9) z3dV7GJMJeW!njk1U3wrArDWhbMnG4@7jnO*}dO)5!1`;8E(4R#EF6OXiD6{Ff!JnQKrq3MJ|#bsdIO9Sl?qW zbNa6n(*4ltR*7HCX!`A>GYYYvnf!IeT<7S>1oz=AOV7_fkNhTQW@)}GBb}U8J}XM@ zv5t~-5e7)F&;=TWX%H5NaPc*tIMv^cSccuLpo|*tZ}htF#@*l@?+@hIR`oZczcLO8 zCptNM_Ho(j3Q1?@EP4_A^8H#595mx*6gY`4wt_l)^;IluZ(e9pQddK0(rhXy&;L1B zVF0l?#LhLtsQ1dLrb0&)#8K%>;G;-t8PLdSw5OF7W-oVa`Rr`fc70G%!u;vExR88@q(5FWv~GonmjucFP7xWM$TWQ+_3*1yii`=s zc`)iZYq?;3*;2g-{dW}&06K+E{D`1b$PA>L)Rjb5^aXhVBNr_)m;&CDiQ{zrNq-rnNlM*J^p_ZGsv+QT})rENxwI|IZgC@?X`ZRAdeT}vr!VuDhhCV6i8`bx?u?RN<6QW|Yi%DT3_?JK)P^8VxRA=8;Nd}>Z_Ng`gu>F>4q#*p?p}6waFNh72?GP=tI@cVw3!R zsS}f#CgsNY+t~^tp<+(XwM!G9?@2DZd?jE4trwo5&#z*K%eCNjhCm<8JtICa94Vf3 z1g~v=J@?7U=~W#!Pa)44Ocq)%YWu40;H>^(2~@hOLveBimKhdY{nClqOOSw*Xb$hT zc9CgBIH-5&0qU8*V$fgk6J)7+a0=7_V2Iqf3!nDn#C3iAwmh)f`&5G-i7^)H-LJs*|O{d(m^_s&JVb&ajv+II$=IF{h#6(?E&*WGQ0R!%j_I+ zYH>@`-A}0!b9(7%dANoKD``g6l&kYE9?)?Y6T2!H#pMDfH`KhM@f&f^%#@Zt7E)ui_8w?9Zzq5cjp&K-{(4H zZ0EjIr5>d&QDMvX#umPFS*0tO2roQeIXD`QWxBZB>d16ho+LZOf^8_cn}$ z6x5B76tl(C;QfHM&QcdvGhn~}w#TH24wjXzbS1N=6z<)5gxfT<%*v>k8;*R(*f3U` zm3&RP{WyY|nhEar=~^~*^!=+(HXD7oo8180|L2Q00~@!sJ$Km${Lsh>=Pa>o@0vrU znT9`JDPL(kU45IXYy~+2@>eJx%Gn2T&UP6~Ya8tvpGnD+cs9WyQZQwF5r84`+a)E9 z?HA^8yEP2VR4E|FOqWf0OV8ae@5c$PzONrQ$2ex1t(f-f)gI&>8}b1F_*^H{lenou zIv`)9CfPQ*ImD!;ZH08OS)q?oWDlDCnyP`_eH^Ph<3QVzYOQ-|VoZ2~`G+zawA!7S zw%^Y2f>vldn}!S!zCgxiVmusMggah2+4KklhE}I={d=bQNJr=0FE4K1tW+8BLP_!# zcS9W+Q4lJs3$Ux*^FKKVh7l8`{;G#yrk&ZmJYv|T+x_#f4yApbAzxF|!SjEzMli=^ zSDg32yb%?Ri#;y{NFiH*bGdU8Aagkr zJ%;Sy;V)*A@==R<%*LaBXclF5ng{UOD;Yjzu%sxHQ3ZxoQrGjMkTA6|S%08Jz z<5#nj0OX-3C}k$IjNVg-F4@3hx_rkPS!WqNJdcHrCu@k!mzQ3$$8}kPk||xUB1WfW zZ}QSAJ0~`F-A^xm5Q^6aO%W#neN5F^GB9E{cuTWs>jw~tRg?wwnHe)X;wJTEip48- zCh0;2?v%^|b@@wQB(MA1Qv6?d?L9dlE*2ziYadYsEP~CMq~V zPb;)Bpj9e1IC^x5o^2WSm4WGEJ_o|BBmehC$79@f$x_0Ud!|q*Otv2Wc<@*_CKZDrf&q_kc!Do z^Upi%kq^u^CqH@(df@p*aM5a9)GOvJKX{2t;?T5GYRBC=7s8M#r>)+{;2 z7?hG*h(j0R@{!` zM;)e+EmaZnR@~g6ft*AeMi*@0h4q!@mKpqC zGwwfEo6t9itqV3w>e5>;dxTWIO;NMi_YG82Cg9uYFm3z6e9(-*oD;6U2Et#+7o3QL ztnc%H9{^Pz6~-t0rP^QHOK10`8nwNC0xAwOoW-6(SETvgcgqXBPA;P_Oi5uWe912z-5wU*awEw=@UkUy2Ta^sxS0s-Na$C`(w z9R5Bx3kLn+mpyK4XQn(Br~qTLyD@O+xMoR}7wPGBy&!hy6-yJFY1I z5-h;-oGv5*vJNJOYvXf%>h>l~wX+ppYLdE(-N8tt_;3qO4x6^v;fC^)oEt7~oMR8Q ze-tv4smO>m3poe6{FV&}9Q!{X<`t=*zQN*H!_^nXf`n~2X(2{g6pMi>Q;Y97b5plN zO8s2(j>(_TiV}hhJp~*6*38exxm4XmAC&M*9KstMmq^j_&%-;ugwn}t4bd-tbBK~7 zO2;nQDCZvnK`&v%avW?Z!i`|M^&+jS>Q9Mf?8HVCQS ziWa7Ez*L!`g4g^8iJj~GPIas_o~Z3kR``H^SiZ*)F4SpvExD*E?Z&+@1IHFH^7%Hj zAxGU=1^|f}Xdt@?cSiWue8@3qajQ4zQ>X<1wqfH_us)vZ2 ztn43qAfuQ>yAO*b4-O`rJJICaI@&M;5czDSUA=%rjag%;d#OZ7U0~g=a{24T1-ijjd!%keFAZwo97U zlqt-<*W)-60hd8QW}BYlXjfi}3f%~716Ph8S91jPau}tZoq1S78=q7j!ms=1IwQ6* z#7ECP_t%&{aBhzSR>!@PokiQ|Ie)3j33<{aO1aKqvNbEm0*4x(c<0jzO>0^*AbewH zDnGrJDAKIeBp9u&FJLTqr!7;;UMl8Y@llvepgo3bC=DLdRGaED>9J{G$yniDhW?bIg!MB2S56b#66^Zz|E+ zVg$i2_xJz(eDB`(JJa%5Nl z<(~A3vzQ2zh_H2J*Zv~HeziWB>ybXO2?-)GaJCdHqHRDM)NhV2h`Kg#{rRv7IsEDCyx~2c+K=0*3w(68Jk^nf#F^!%rVxY z(b;?7$erHiY{jhFqJDDXXsuIveN)qho|_bb##CEF>XNGQuF~EIFIPk&in!ve{MdU%YNYrb=nWne#e%p0Ow4jzbn@AK{tHq%#@qDWH%2u~< zrDyGiee0Kb#nZLTzsp7brx0`Q1?4TvT7*L2$GWf!VpG8C?ZmbRE<&y}Ek!0jPvGAK z#-%`t@dTD9mxP5#Mfx_47%FMX39IY{)lI9mhsBBEiA%pV$ggsb`}GaJ?Cn!=mI8Fd z2O`7B{J8$&9McE>MTHq0oYXsq$)7Zb*iD_CCE&`+`asQ#>HkAi)vE3n80~}RM^A}DqA3e0eJZ+)AhhedrQBk{oh-?!!Xq4r^4Cd?2h2`<7e|9DMVXRI>1sA6 zduRQHL@x->IzggT{l1z`k{bJFHBL=*a!_iMMMcXx!ecAPIWnF(txvw}0bYKTqXf2a zUY{BLcK=e^q#~)vvGi-?QCBv`#=PA(_o#7jalxaKtZ!13l&E-+>__TB)-Re9irW(5 z51#wAg`)QKKrl0ljF*=(#ebie6iq(eRZ65|mIa+FCyyOhpX>FU7N2T=5By3XHH15y z`=#uy{P_=>_+R!Kp`oM==6<68D<&wZ;EG|(aNpgk+wHAVp!3S%{q z{PfEDiK$yplx8SHS79QU7N$1N*6l_Lh8<$>r`Y}SGiC?yGO^RfRYa2Ae69St?b6we zCWfx5%i522AK3s@)2MpGd0yWObAppUOD_~8*Wi6dGsF&q+VREO{!pBKI{VZ@%O&|) zz43}^{d`mXmYJ=cZK*|;U+WgQ!*jr|HDDLp|D`1R%cg0zvTjq+fKSayZwAYJ($-1# z;~&l?{NL4)DuZ-~4;31;@%;l>fm*S@ms~@^WC~$KxEo|4_n`{UPZ&rsxz=cqV`Ykj% zUMePaF{$HZRpVM^;t50f98};NZerHwj6#fwikVxhn3v1T!F(0baV+j>!xLWWK)jfZb83Mg+~j9#N#IRZ*WU$aY*>>Fc_0@U~= z+;6=4J7bz|zTW#acaS4p$f;~flgUw!rA6EP(ZNpSkq<^!Y-5?yUg(XRp<4a<*3Nn52zE<@$S3O>~v- z#FSf8avQnp+@m3JH?)skhKmyeZV$_*zvi=kI3dW$(EU^E(h$`tvh6-cH zNE26Z$B8fM^iGrO+xe5Jc{r0iM4GE_3P(JJrj5_go%Pxus~OqDJncmJQZR;B!-KbDie~g0oU7cITZ*5MhsWw-yhhLWgQu6D}%=f zJkH!MOI`}Epy>p3hN83LC1Z3k#ALxtIvE3{j)2$!Zs|S*$n|rpZ$H#!nE;E0ca?$KdaxhPy{FC*^{cK1WiGC3RIoOW18RFf~F`+nVfWaWJBcyz{s z!H$ivThjy;-s{TU5Cc0Ax3L;v!?AGagy7qJE7iKE<75>`Y9KJY;?|aQWW5CQHJMcE z6jV~8uPM!&B>$)11C!HY&KGz(lT@{g<9ycdfB>m?kcP`VpIIahw)W^RiqGCVXKp!e zIOEPAk)* z`t2i5G%b5jKU*0^3+N1cHpXT>twI^y%Muc}yJbFwj&GKRw-Tal16Sy4k@eKvOVu@- zZUGz<*hs5lx=Jm1J5~{>?o<_*8qK(k5c{EobOzK>7QLM5lN3%&R#!WtaTRf&m?*ch zTHhlkBfm42&G&83JzWUo4NUu?YTR5gOhJQg+WZmjr+APjgbu@8ix7An7YyHQp9wHz zpIYgCry5|1)mv@|!aYwLM}1KpzZbW80nVX105JB~k<%O0-)?i`its{iTV3Mf-oPtu zexFW0s@cq~n2Tk^jTg!m*}pw~1AFQ}VP40^?{Cm#LfREC;xwmR_OBaQqhMUj5q|E< zhg`dlR)AaPbWl&dlQXk3W1c-nun3WtOmCSZO=bCTFS@w>|KxFV`y&H;+CvV!v5<)v znEx#UfU(%$gy?w!@FDToZ+6$0>9^;jzeO%b&|5@&w~iRg24fsv^nIM znBP3uwURTj`rF5$^@GieFi4_ADw{;G?t$0pDo(?LZrn9O$tk~Xha7%-NlqOLO8hy+ zEKDmcwH3*B&ER#x-1{F%D5cI;of7>%J}(3uB~cD1D#>LwURN}fp6l{IGHVeJJ_jIO zxl(--uyE&zj7fCs&PQTv-k|W`8)XpI_MP=?gMQlWFiZf)6d270ib|03H-CAa*Y~c% zr~IeGS`QM*0TKHJ)qqj0L2`cd7~dX-1{n@p4?6TWE|G+#2b0NuP~-D10J@~-G6lE^ z)0l4=8u1Wp@|6m)wHEL-(ezXwo<@a?gH{T%vfpzDJB}f!x*oTuIh>bvUEH$xV9^c8 zMb`^G&_zh0f0$Dyt+*vlgvI+EYGU;$@S*$>VL_QAc!TzzM4n^U(bfxGk`bT1r3b|JSAdNWjH;t?R;R1}!xe3xx zUa(x>n(<;6S2&m2+`HMCn}N!o&)tYXcR#?Yw)=(!nt>F>nYro@8+-?QbE5Nv$}nDa zGADaD$WQ$Vu`+q5jk_U}LaJyZS@dV~xunF1fYG<{PdW`4S6|q0(Zqjk`H{Xn z+bb_r_lxqVU_Jz2a_5k&*@nO|xWe`{>FsN(|GnBWG;;!I&&6HQ2OxU^!#rFE-0ujO z;#=w6Y&JN;rT`K06~`P!Fer`qh@v+kk1`K#-s~~XU68nMXx#na{&KUhG#4w#bgBP< zSX|F0wpZacu(7RT(UjKpE@x?;S*)*k!l%x2fw-{(PH^;)!E>1Ri$1CVq)4LCE>cf83aFKfyXJ)BrY&6diq-n={HE z=z)Vux~7d_Yj*a^s%E=~+()2x33GDreI5Ad6&hyvs26-C_KP|{izu<)e=ss@mqk%P zuu0e{UgP|bdl&TxUX!sH@C|)A8*?~650{Lc4}5$M8pg5y$2wwo!=_^8c70yXyD^Bf zJPH;$X&HCqVGl{xrw_&8Dy!r|LNG@H@E(sxZFZ<;HWp@P>AcS9cs{|-2ihVI-$_0B zL}@Q9+a`FcOmsQ>y1xpT&vk(=DI<<9lA(G*iehWi_g=_ge)c5{atil9-7fh0HGTQ; z`W9h^MS*3#{PZ{Z*@5g>MKz=D^?a+z8Mg_O%d9D(R({_z10NzK4d}R1X2WP{2d(AU z(QQI<4!>BSsMFsYG%h+^OW17#AzpPMajs)rHRj5Qmek#>T%?rm-Ki5{$xzwwdST8W zzgdq`1x&j|gqy8ZmI^FL{^0lu9P8pApUEc4e1(~jr(yNzJsm`O)Z<9DB^nCS7!wFg4`4H6VCN}pD z1=J$kdq=_5`ZQ)fA+Nl5EmVEndczPTm^kgt(_ z0}A%Mg3!{XJjpE|u(D?|G40=hJ0EUao?|70&!#z6TlN{p#xh&UzGHXCqLVaDdViZ2 zKWU$MMLAN*GIP>>l(Fu2cY-$}l+*64pyGy!kR6cgX<8s+Q35B0!yEX{NT8co$2{)% z{De4|7Y)^Y$Zs6XEe8Ees>*2okl&10wCYoYUJYX49rx#)@}HFTodsz9hp(~756`#?k>=&BYlPk3< z>_su(dZK_-uwt@emgnM3D+%?R8=iL{b2xNvH7Es&|K0ZWbqobV( zpPJr;Se}Rct#w{g1=3Jpw-yGay_Q#1JdOG-Kl47IX}@}Y>@>%MuPaD765TTYcB-{I zuyKQK{e77YB#DpDX#^~G`@DeRc1o%>ivKKQ?m8hhXGR%Z{@}2oBT1+ zEL=(89>2tTr{E~Iu@AM9(vRC8d=4Epq>L`+c^}=gPahxZ)A=Bp?bh(JH53ANAskpl zJic&+Q{FT{g-&C(^_yobTMfcl%!aBlVC7tS;QK zc^}t2hF0*E44JvDhqq1y!+O4(3iYmSdzo5}5r8J<8oIz}b*2o$Ucg(GNH36STJ$S6 z-)*w97KEtt{hUCC_*JE(?Kqxy81OCTC2{%dAK;Qvt$1PL-IvsV`v44YOv!^r2;3Rj zuQHK-dh4)T`(F$837H@`QS^@M5f^YU=({wDKh<6o+PQ1ggzKQth;CcEW8tOFL$8V4Sg$zT?2SF5cE9ahe+#|)6+f3;-w6~gZg)hvf#&Q6 z8;#fP02b) zxo>_oxIQ^m39G~nBZtArLqnJMLJ56G@5CZ(kwYiLLyVhR&=wj>PRa|NWK8SuE-CXD zIMa1*R6WXM?9B~*A;{}p6$bjfoV0tlwFarzs*G@q-2l-=G76B2_WK7JG_2Dj%_nVh z7F@3D#31D@*-nXap)bN;A0rdT94UQ|UAeXt@&e{1Cnj09S$J)OnF57P^l z6WW;sw&s_*QL~lSK6(WppK7n{vW{qK&>gr9lzvkl!QgyY=6k_9uRxb-f_m_qvz3Cs z1v~k}TqI}jz^%Z)Fu)5w^EdV0lHe1@OuULf8d5Hgupm@b7O#FY=o6MlJwNIW&=B~h zZel*Lvk{?i_O<&ad}W+`gke&T_1KYmHv;hwpG$ItO6$IL z0YSRkcOmUVzLfbREauI0P4l$oPLyTlgToV@zyx3xGY{?fZ`y1Ye`6sdnzgmPlnQau z>!nLLa`j|GWWWxudv+I%d?So*_c=OF=bk={>oqT5{z)`XB46=nR6UpLe?NtKaw^!;NIYwQ1e63ceh2q{)WLV(QVdDjn}QpN1Ug zx$QV(z>+*bTo{%lCg3g3nMwM?Y+rh6)rP*x#Bd)@CQ+w&c@eu>7llkCAtORxbV@<6 z>3LNa7b^`9gjrr2DWT?WxWjhKe+SjTCe|)F9}b1K2D#5iC%5itNfEwtI~_5#O@KDc zTmzeN0*L}zEZRCo`nS0A3KcQcWxx#!`MV7sue?_rHu6$=eaVHcr#G0NlFW65+3+5qphoSOtGP0VS?ZK0EIAPG#i{58WLz1BFU z?Naj8`2~JFmh&GRxIn4Npxf7(%eE5Mq!Iq8)c3Pa4X!t*`G(}=S)dJr7&?hZJ)C+I z>>_uCQWVwloe5PEKbiGK9~vs#dCA#SkFvY+$1nFqfMik|MvH}3kIULAih8SwbIv7_ zK1H@mZ{WF!Nq0pHUEcuC#N_8^=(FncSM0q^Eha?Z%Bz-%uE%YfEHMP>P}}A^mhJFT z`7*D&cYNf`e{~1l>Urw=EW{&MHay5-q#<@0mJ`o~hcI7`g7rGnrJ7yaTxr|>Dj~zS zK9Ye(2&(pcWLwbN-sNIu;_RjKMCzK=igkKV72dFRxMpov6#Z<1tr>i_`tv^A=axd| zVdU=Z2MIT)T9S&WR;IQDPw?;W&WZl8L`~bDTIehPxk*#swQVyGoSYaZR@_pUO9lnA zo_Vbo-uAcFC8{a3m`jGNoTdP259RAPJhbBc41^w)@MWi<08DC;kx9!k@p&+r_?rTv zV2RIZ@=608x~!CXanmRA*i`xWI)>_b~DasF||VjJ>h zRhQn7oKB<%gV0{wHqO|rY4z<*zEZQ+D)CaiLHw<3hTtyn`^)j14~sGfz3%!*17RDj zdIrQPpWcogY6C;u$<&XFv^vmWHUbl9u{^zo?{ByC=5`6i*yf@oM_R}4NRkpdRhym? z((F624%v~J2JRaB-eq@{wVb63(V71U?+lN8rd6P)+IBVfE0Qyu+S#<6bO6O<_J3zW zXI`h_n=?_C^M7lWq<%K$%fto#Ecyfe*&=tqJoUz->{%{^s|S{W&2;q_mB!ZI%L-ky za(xFA?lpUvJ$k=e#$^f><}dqCiF;EMa+QG(?{D9)L=REu{UT>ylCES2-`EQ^$r>9^ z{gSf8=d5+&;bi&^Pj|QlmjGd_%^mu7TvQ3!KbUx0`db_inl)QJHL@0+uUNDZWrBY` zYd!f5`g6uK3~8;gt=}rHMGS7M4WE6{$r#fMK<>?@rgdnS)8dYDsC{uBab>x{T0ffc z;JV1OG&nztaAR9n4L*T@3Ym7p#8&l+*A!ReQ`d_#g;eQ8WXs9T9NME@7je`<+& z(Ki`PzQw|GF5DDa;Qck>BC#w6iQ#1wktO0#g3qa-u6x(0N0C@TguodYzQ>pDyz7^O#$^xxqDbyopF-y0~esbeJ7YABD@f_QSS+jkpYL;z0&<@` zjLG4n)eaAYH8{!Sd^aug+fU1iB(@hVZXe|@d7slv`}s3(?JX3>ojtGMv$qYB!mIz@ zHJN3yjYf4qNk)v>d{zH(!B|)J7y@cPUEeC^VRswdM&OBnXtuZ)n;2O z%zQaZVJgqep7#fLWe2U}48yUvnalYx^_QZ!;XU$%2ZUd+zUYL{M^-wSO;lRBsQi*s z`>%s95Q4!)L{240%#(O@S@SrY`Y?5>LJ=9JjHfx%e9`--hz6tEh)QRr(c{RF7Gc$W z!|ulrz75K$4qD4crQ)BZeneuf;o}%09Cz|sZzcq@L0*?QuY58dtIc#R(peizU4rea zbQ6M!KC9eQ#VVL%BMkgV)%O~DXu&m;8>n#CQ*NTt*P==PMF~yv)V6%fgxNGQH85aO zwnf;JiHuo79IPXXKGA9GW|nBBdC%teB~|ssT<)DzlQBoY$uq>=(+>eCoPdj5k*iH( zNQz%$MItE>WALe?S!si?_$1B3;oI;G^{dzg{NP$+so&o|DoIWk$!B>9AG)$%o@vge z+6DNeOUIWR`G~?m`Njgkds_2R#R&8b^G$}P#nZlz+OXn+< zaOuFx7D@@YZ5-yB6fovUR8ONyxz`i)ggwz~gBkQRmJqNM9YlMTr>6{GZ4HX&Ws_^N}nE4lqw&tK78ZY5sOa>Wf}I;c$&~WoW2C)U~;tcD6}+ zQ_pRRve8%*A+U+8f%X1Kwrl#^+)wWAV$FAYz%uH0eRjYH`+416>Wz$74}UE}QG_DIvJm9@pQt_75VFBcn@_eZ^pE=ehK+yiQ7ph z)?QQk$|3#+{#`q@kUbw`eDwdtEMHSKU7)zDzB4ZsvVtZU z@1nvIiOHFuxoUaQT*QhA#THr8y6cueo{jj}xM#@^QRbUYpzx?jI(YIGHpEWNegUHY zL!1tx2>)z0ThQB!R2=Escv||IfzEsE#JCS_EiWQ0HKy|^Ej8EIMSZU(JU?Pk%4stS zy-=5y;L;b3=>h0=J2p`zpOt5EQgkZ(Jq9}}6ly|gY+|ee zER?j0^nI#Fo1?&HRXQ!lZPfFE_kId@)ff#}L|+6|F=r2d+^-rud=ih3A2tmV0frFg zl9!8ucPgd5E(Gz@hD^;rEfxIJE{I?x+YUPAkAVSr(a|p!uYB66V20j{bo0X*GKlm# z$_M63Kox1;7gk4=gGz0!peNQ&_@I&j`<U&I=_X7_0KO^I9RZvyCY zI`^^V7}Ztd(J<@m_o(zox%(Pex-E;Iq3;*PO36n6Z4N!qS5wfc^(KN)2^+6duL}2p z=v1iwj!kq;Rk>n$^$SF0A4X}B$_7Gs!F7`xI~o~iclo@B<3KboUi8nwKf7u&fkL>h zlBe-mHoY=aq+!y!st2QGD)aGGAWluvbY473f4jXO`+H)=q!tHTja2Cd(6$;eC_yd8 zit!)uY1XW#wYFF$v}`2wWTd3yf4^MNr;n!scQMOX**soOhki<%xMpncBt9K9pu!#wn{2dP3r(h>NbJC?*l1JSErSkY5*x2bJ5I zSPV+E?)_YjX;v@1E$|^j;x-4!35)@7aJ)udt!SW|Nq1xa_-IE3c66Ir>_`|kC<$`V z{*iV?MG)g~ckXvpOZJ3@8O8}>aZ+{W9vArxuC>v&z<2hG<4iO+{vS4_B;%^+BIg-@ zvz)GMJ@K|;`|nxNHf&sEJTTgTc4$nLnPp7yN7%x|F9j zf`_9Wed+r&OE5Ldj_~@p+NXzDyseR+|JaUO#k+h%#q2b2n$V!c=b8+%t2}>enld;;nAmf9xK|@sRrjfUaIgXLSktSIXY{!E0R3O#5XD{087gb zT!=HHGCn?K8%DaZJo+wn_n|VXOD3<48V@RMSXSX1uvtsLvS@8k)v6&`AZnpTq|f+ zjmw9a4H$`p!6=S-hIn2!g5{1`8#+FIFzV0KfiqvLI_)^P48JM@!nx*q|B++A=@v?I zSA&IpjhA2v{qpR`)ksdu&3uA{>%$7{Y)+}MoXp{oaLADVYwpwEz_VjlF+b#PQftF& z#A(-;!!Hw=p6*wsjtX1`(bu5^%lj4T9D_(`VBC;hKqWF)8CQsl;9`Y@%E<)1#ctBf zoedpv{1(<88-LSIZDkds0weGALtdrO`jp|e%H12M%-uVz2W5&Lm9K#y>x=O#?Cd_P z9Mq@qQzaCa%6$6%(wtM1Woq6>yVFK)txuT*O8u~ZNJod13NrRx~h`&8mO*&9R` z0Wr8SlwGJ#Rl%)y*w9E%be*4S`zy7NINMhv{upQ5QMJt8p+30(DlLu5`*vAn-O?Aw z&Lcw}>(Gva zMKrYwhD;S1uj(;Kh&sw2c)tnp*ry9#FZLt=&I7Jl1_f}`UOTQ%gnEuZeb^=%`}t00 z0v^Y6N*&ig+6ks^N+Uk^h*em*(O_1_tjdN zc|rQqhcDJx;s&h|Rl!YL{but1mprxKb9x_ga)BvKUG3^-PT9k39(9eEVdP82H%AY$ z*S8jsV3DH0{ZX+$w)D0L17VY&XdLZ$4Vz+}d&5eR@sa>T(-eNklowTJ` zo!3Qgkg>8ot<&z@=l!m?mbXslSdRsi=*aD)%byLZ-A}ZE${+5-R))HQ#Q07$)#5g4 zCjyTBSd#{qo8|5uzEedU7W{mwK%!%bML@G4Dru~gy3HsibSQ!PW~d`UrY8Qb?;A;A zM^{%3`pjbCK*{Y;X-IKFLV|A3b8}*T3w@vwuUC>$@g-~icq@c2cUOdX_9FgIM<{{p zbqHNsD|;`u4StH11}e#+MpIf2vQ0y#22Uj~t6(3TuSg82)UL~K8672*4;(YK`-)72 zob^@`X0aF7H{0gRtx=ePrN&}{r@DTp!}!Ao;pxqQPfQUwktr^xk4ntRW9*_4UX zsHoJ;WhFPO2C`UZ_RMSDZ8gM3&R4%7!uL%9x?K@It8l+yos-OG^X{uF&joRN_)h7O zhSIDWegrNqJSrIX=fMV{Bsa(*0?5vM#pdZ3;@!65IcW^q08FRR!OVgr$M&k4sU;zE z|8aQ7iw$NGFm=hnlZqO%_=*PX0C+y~bQp~iw;FEb}@8@U4%t|jEbt2hL3|aNFBn?vZ3&};5jaY%~sq+7%1Xr>$AoJ z)E-Sfh%D#!gGyGKTmT>j#Ug4{D)>+^ynaam9@&Ci+|I&YB(9o`K5jp|u19&Yq2I0h zg^Y}2R^!3_C(<)>Zw8H@&AUxZMx4u{JDXND4wB1)#!i9L`SWI!c+q=@Ip|nMIHYAp zeQgbmjLpl{)i^2eTFa=}r(Ie7jRRjBljYnb@lv9g$7Ed;W`O-oZ=sfPrQ(_6Snahj zkaMNt(5BLReT~-TFaI!~`6%-4k@#cEB=kEyv~wnm9_LD?Qe7<0klrEn3gxCWkhE;4 z1z<94T^?n|^B8OAoiEjnZP%ASB~78dyw57+vWb}w!6l$>@(kD749i&Nfy1azWiUvu z2NJPOMwqC+FZWkLH-nVHs@?w_how6KTR*uo~oTJU*`}uO3 z2ZpYSWgCYt#so)=oAiIJ_7Xpvf&E0qXLshST9kg$^lq0h!A>V3F`jk7yyyjr&Pa6d zb*$GsG`KStZ?~yN%XHj$sZN*bicPam+FZ7rAOho$M7LXE&^x_PyXktk{>WzuHEcHfJt+e}G>_H_7;;I4Zez#_M3e3~(PR zAad6MowV5{Zw4BU;3NjVcD@SHBKnvX--BsthpHdpOlkESGWzGMQ_#s`VLQ^53ON&e+5pdGMwg z2gbuBc(qt+V)o;^uSfDqpzx<&WqW>J!BMPbOdVQSP*5hsZ7v^`dOi@`vT(WA-@bM9 z#mHU6sIW|mcUx|u0y<2cLuC0Lu($bgTeVBXtK5ml z6UN&=!kaT^^bYSipU=!=zPjJYwVro<_GdKT`2A}$)z&+KYGj#Y7X7?hE49?wKZMiQ<~ih$ zNjQ25OjY(z^-ph^}><;gE8oUYJrb5+T zhgZ`6NPSSV@_ICe^8^)Sno$myA0ycm!}FvUPyAt1R*zsIOx4F1pj20b;X0G|bAp9)Lx`$!}HF=Wlt@p z55C#|3Z4oYh`#7-YT3#guen2MtoFyy7DoB*9C91*FqV(7@g!OXHqIWJ~;kWeL$APxj; zhlY%O_vbx?B(DX@kIDFP1l9da$YvIpcAc}UGr=kfGvArfGGhkTq?B?V_HA5Ca8x_~Dcex8*IQz)PdcL_U*oKC`3`A=5}hjdpF0}>6;r)*GaQwu%7r7o^czbU z4QxY26@>$T`Q)VK*m6+=D8ruNBc3>qs$QM)Fy8_|pJ(!lYkzUw^cLzj%#mB4rLG+w z$?(9nL49wk+62TI`CIyb= zx-#Z6(+Z8rm!ai7CZ)MOJxePfT+^XeG;92hqwBTa%E2vjK&@KRnwy<}xMBXM zU@6`-axb!_$mkot($|j}1RmR0Ela7ZHD^B(rg$3}{os!8@NG6V66IVeuKy|Tb7Eyx z$Oe8&+G#_`&PC^`+vh8goS}^2DW<0DbI1O1W1BawYlDHc_xlJ);1=b>rxSO)@0PgA z183r)kdtj5%O>^0N|3rL{9?SwtuC{yu`$^ICzrC$@Dqs?&v3up3A+HgfCPQ{ol&EI z_yueC78WsS&rB!<@_b1ynt;G}nYAR-gG!|qCC>1H2S-$5Ev3Mz?=79c5qK~WNpi>i zPe)|NMhw$St)72fQf(EIShrQKc9vzJczsx=|0Fz`{e|jc-3^)V?nbRMtZ{-^MG>XG zwQTgzb8NGmj>Y{aCYGiG!y~)8EUd*vL2={G&Qn#8Q}C>6o9co>Ir>l^asLk#?@{P7 zkZnuh*V;N>F>pY@@8bb*29bxuj3nkVqAH|h8ejB`hT|ZT95ZfjL(0hLoOJnNn#ing zeMRN-jLwk;8}5u`r44jY55Hgc5nQYqU%Z;AXhzvEkjA1FGdhUgZ#IQnj2+OguhS zb$%#?s%Rp9qYrv5PyYpA4t_&BZ+rElEjgG{tD*!UWPyyW(XIDT#LPA>zPdHWp%6;; zwI$fa-^i(%6iup533zTc;aCmXTgDFnEztK~u(obD1Rd`EBkKQPA(DcOSOn;8lY>2A z=A1LM+MXA<^D%#cB<@c9L~R;xoU-G&Jp@F9_{FQ8LP{iMFMh9{nRopDBOz?j1h$Vt zAJt%QU1n9n*GR?W-do5Lg6VIck|Jh~t9|bK4d~H0VC=ftV+{s}f_wB!KMD9D5STt_Ltahyv0$kF@4n^=D96c|=z&;F@n&r3r)KU6 za2p%sa4S;@@rOC_nkqArq-Uh0<1xHRaCTu%>ylUD2_`~RCbB$_9sR%((+)wiUC7z4 z4}}ZJ;}?VZ`XXa~Dk0cr+8BdRZSd!}#iEaRVH>X;ww<@f#ua=Gjj0xCPOWFdVOt@` zcnQliGHKWq*wBlhytBHN`Ce+pYbyi2 z{v=2-yphdn8&D*ceo$K&`@z#Blq2!!@xyD^?LrHg*N~-2tFOXJ@wQ$?M!}#4tS~dg$ICCm3lI zZ$vJToloxFlmNT0s)a@-`g<3=GJiyo%Q*FWpVY9uQztE7TZGHhm3sI^$M@FOmP) zYMy)*KHT#ko}nIhejDk)-~*MUPj-}#a<1W&oci5UJU+9u%oiF(#oV|vVZ?&mLkP17L07%KFO2k-C9fv!) zZhvJ6Y$sUNV%Vhg7-ae*Yde3tH?b*eWYyn>wvZ~c?w!k>?YwCEaqDk~{Vx!jgI(}jtz_Il-64j-QK~^B~I`T?Q zaRDSSlMpw(#s3U9lAh?sN`6A`X5+s&!Xox~1n!#UdQY(V`o2o@OV~rIUr~Pi8fnHn zuU;w&4cmAu`FX|x`rD(wD@L`3uqyrL{ny~Gkvwp7&VC0JxG`a7V{c^QugkM8=Dic9()*hN|+3M0{OXwXoj zVS0baqB*Zi7VEK>N*&?BF}r|Wy{KKYtiVqMbJ1IV=UD9&(DHBln5Vse1{Fw;0n?KQ z(C-w3M0^VG`0O3dIieo$i1{8ZF~tcU41WLVt3WLl5$*?N>eM#CC7?M;ER?eu{6en$ zpE+>ScgR(8vX+oQI!%#*zw#~dy$$ykq%jb{HRQ#Jom2t^uXZLN2d!kR0A zwqWVhpfmG}TySs_kXdZ5_$sA%!dIrWuVB0 zswm~V)4?*XEXVNYCqe}%ocHau&19f@V2dyYKJG3-dQaSu^!3utN5R6l%+&vsSW&g7e8 z3i)i~8TZj8r!^co&Jd}T_^+w5P(q@I=*Kvcz*O%%rR2o`>Tycah2k7ZoV|HoNC%59fW)NCzf z9oZ818jV#}$6+aM?#nZ*XY0KU_8VIN64(_UH{_MG?!^`jBEq#>eGJ3==Q&Es^iNXH zh+O~x2*!|upqC;4g8sj^|3%=x2>cg;|03{T1pbS_|1SuXbG_6lrw&{a?%iP;;*|JlIT%;kh$=b?8v5)OQ zoT2{P>ixwxKN>jjTn#?3`fyy$`?#< + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/images/model.png b/public/images/model.png new file mode 100644 index 0000000000000000000000000000000000000000..9242b289eb3399e2bcdb2a1fe07a4308c52723bc GIT binary patch literal 104028 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 Uzu*vc-m4uwitgSTf56 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 P+D}bc>uKp@>o@-gh~MY- literal 0 HcmV?d00001 diff --git a/public/loading.gif b/public/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..d980e933b0ea8437ad9f85a16b757af72e915615 GIT binary patch literal 384183 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%0A$ITTq!6;Es8mSUHRo5YNEH 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 z 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 z zrg4azb}~UM%$6pULOEKu3}T)~A9Mg$z(DmZWIctNp@vRHKbk7X?}e5QWHqLn9R;ym zjSZB!*Js>WnG&yxPv2QM;$CTGb}mEB27Nf<0p(?O1jc6{upjdQQNlo68RN2W8ukSf zslNsj`f2bHn}|Z1K}VhT*;53^ zt|+gWrj)Yz<9EzVDS`{_cNY1=e9?=ON-y4$99H&BVupb4<~~2-Nq5WGN6dc0^!~wd z`I%1wX(pGR_JcsrA4uxnOG(9<# zx@yH{VugyFg(}wBVv_hng>vMP#yIaviwb9U>_(aXAnZz47e~F*hJ^^9jOrZiVgr$( z1r0*`uzQe74OSuzq^6AYa@|dGnFx>nVuIZ9mAZY$DCo_wybT#wo~|(ocVAeMf^e)wDK^Khq*^;Ofc=Wc2i8 z-g?D+tOF!6dB28leSoD@f)QTJT$t-j_Hp%I5it29b!BqmU z2^NCiMGkivAZM%%RfyO{FLxQFx2g@-hTp>;cNt=@s*SXc*uy__8RoyNjrNA$Cx&w! z5o4^2jgHtSr*j>ZwW^EHhCiT|aUJ_nRhL*DaX@eGI<9e9m)s41$QP2GC>Cv(IQl+fJoGa=I zi52zrm^n|(3W3VX--IP!9B7Ea^(eE=QXr{AAdv-b%4#?iM;oha0mDWzo-&{{*U@TC zDIZ7e3@9kRE1t|2`vdvF(@>&hE8$G33HwuBIYS{|Es^uV=uf#ux?y2!WBD(AZT%pE z@TBeZa^v|n2Dti4^#&XDu}r$AsFCB=ITG)l;Chd(k=x%{nBXR8WSlcdoeL& zWSV>}#RttP`6`YbaXHeA!Uq58(X1PMA^FOI#FwYxh6 zoF1-w-H_zEfo3m9z^$`kAwmb>yYZsuZ?ib7u9lvOXmMtGdurIlqYjP?0-p!gJ zJJJ|^pCtmJ8FdyYsgk6g2WnP|uFpy3$ZiN@o3UO*f@cV61gG?m4DsQMW%+2Z*=Xss{{1+7K^(;det9VhAr=DPba)Wk5kDbF9aSgHZC2qtZQ4L_DR@;rKnV09i!tc zLmV)x;XiN#Zs!k8g;@lQG165CAquaRH^3{ZM>Qho$V4?Q*}WDv*ZQSLvITub-0ieUyeqB;F^u8aw3wPL?8n&0JAzAz zw)s_w1>Hf|jlJPFL}u~8{n(+T=Lhf0i1{^dXO%uGSjSY*_#77*B_=r*`Kl`<=J6CW zv6jICeK>8+R97CB)n0X*zF59Ka0*+vXWlKE4->GhxGrS&Zh${|aLjr@WpbtJK?yn& z1?U5HS_VRbD_hpJUlE@6?i?$w54_zsiAGKBtGKqa(=Rzsql^(>4jrhn?svtfqg*f2 zo+4k5YpS)__NtBw+)jG87n>|(~V3$p_C%-8MtlwKMKO!9W6sEiKa=PeTbZ%rzR!hq9uZB#xCy#p-2vVo z8-Cl9vJKqp$3}1Gu4g)&4i}Elz#gaOW7V38P)FZ`m~I(j?_=>JWmm-{TNY=}vyOs- z&m$-v8K4EL^JSVBC4iF({7R|>8>T^yj(Z|WCCnNpn?g>Js52^KW*47vUO*)TGo~08 zhv18ENGfA0EuP1k7_C7;M{zQys=}I7H$cu{9tuIbTL;s&et_zBGENS{mLh>o$r7$J zp^r$CItCBMmj2>zELsmWS3q7AcTBCKh32=zcEHIHGW^}^E?5n{7;fHHMlR|uR2BVz z7hF=(Ig5?(q+_3t3wv5|Gd|=6;y@7VmxB2e8WCvZzL3l>MG3DLHl8XG)vDk(U{rn=*!>ZkChF1k2gSCtS7SQyhxq-U zFWv;IQPeEUxagd^#BK+Ah0e=A1f4<&?+$;1rmMPsNy>9~JT^qYqa5~1s*P8FyedPdmF($C+Lwz#yZ%HoCU>N4IT|fi!TKPbCo3xn(}W z*EYTU*P-YVwhmYOLL#HHa?Qq76>-NdWVQ3SI@oRA62z${6U^$F7D^9S z*JC+}XRq7ltKFR!;KAJM6>b{@&ZP%}vBnoEVjF_ar5E0+#-9j&2U^CZ551};kSSsZ z-u(adQ^0Ku++X1T0X&cpoYUXI+A1v7>OUNdA=-5HWEuF z6n9T~Qy?8dsfvhp!b;hf#OmE!5o%8)m%(KZ$Y`!Nn$8wmf=v7be$G}x{}Xseb>-ww z;4i3(O+JC2Hl%3#1U|vGp$I>G(foJKC-4+-!}R{m4v})2I8BVJ?X-8N7~@X`TiqJq z@%XaKWjk?}X!DxzsI_~AF?`Zl^jwTR45fpb)M&aqO2}7slox0=I-ak$-mGeC zf4bf_)hF`yWO#x+X6v@i&Ut@&y4xG4Qto0r3NNXnG$HY4oh;D7m*R9UQG+9MKSXK7 z9FWP-W4=JdVB`E#YTU!zIH#|r@=02>fAU8x$4og>?O@DGmLdRprA0>jCo!>AVW#CQ zWw2*#CA4DZl_cNL3#wFaSBt9yz|?bU`cch+KDF_r?ml(Hq-W>V6Nt!`dGku@mE22u z>6R7qPHT}MYiYgkx_fD{%dLh5<(Js!O?X4?*Ip!79hwW~SD4R->4RNwT02**9~9<{ z-Qf1+OWjaV{Fi-@M`zdCuuDtl{g2`qHNEI)^tD3(jC7U(JTi@?0V37)+7T*y{M$h? zwho3N3U^uJakg>|w$UsYrBWEyD}2dminljR647|!26b`s)4Op@aJzeGsp3ZVQn~61 z`&oZ6hQ0-N%g;Lz<%{thmL;P%SQm_BA|EFW)fqS!nU8uMp|zraI+m#(@pBP6`rB~n z==6Iwtt))oJVE*14c)D3HX}5w2Gj#BxmV)O2)MR_Ut?RK!m&8H4+G7ucy^=K5Ly=_ z6@V@Wrs-3>r&aBqJXP*gk~?P^*@!Nu(!o~lhb{iHeCK(}@@+Z}p6^Dd%~-$kb1FVK{<-!5yP1l{+CB%-w#i>tsQYMMjVJe#OgENHuWYDQ$ZF^V>hM2XcpN)xc)8OuQfA{M;Sw6)$%>pmW?!y-fC;xZ4on!XZ_Y;y^|RLP47faUe#{It9R{ybkV;=c zb%TkZ6aYHuaJKM0pp?vj79t9FApaFjT=W~aFe>K)8Ob+O7Ry!WjK#TDpOrw^L3{>j@AjwD*J4>jbmx&wuQYWFR;t>-c4uKUVr&#UmQw^Qftw~K1;kN;8NTTmeX(){0|`I~_vOa2hh z9t*?b4chLPL^O$vUx$9&c6S0jO`ZjhCB;N4ly=jA1e>vNI=$`bTWYkibhdDK8=6^M z$!sCAd+(1ib~Ek*iq8&wTBMm|`LFgadpG5xrCRN?iG69#N|s8h!7|TwObdl(o3k?Z z*MzE#P79&Djn}5Dp>Cgf*hR^f>*anNG`h>Nmb|@TRkHR4nbeAd(0DesjklV5^cueifHlDkU znS4^Lk`92*iF&sAu-s9_)0Mq_vaw_q`%}}x{6|NZeaGwNp?7n(kb9^0%QLWf$=OTW zyDbnZOAPGrY0Kf5;8za*F62m#pFMwzPQW7ycaATn7PqcHoP~>4FpeGssSkFLq+aNK z=7??>?Pc2$%7+Wfr3Dj`~XJ8(Uqu>o8W!HYtRJE_zV6~ zg#@LluZ8ilT2cy0fM27AJX&8G4O1j&O34C@L_>=V468y7)5RX4jT7xCON}xOz+m!Y z+{{L)q9uSY2bsB@QYGA<11*!h4f<8X{3t8%6Mh}})#%(JsW2MO#4&r*;u#M&qpUnm zjycd`@w76~a<$d6^6I43(~5>7v$KR+#F%n{_D5Xfik`B1y6XP07vNd#K6?3i-6$vD zpZXaqGT~YyX62MdBkCecoOLI@q2}!%lFJtD1am8_}W(9LJCku;at)K>_=ftA6D;PE*Se`~gJ z7;~kc6rJZld$)&GqC$XPpwl3*BT)nIWSi1_)!=~DNVXVRQVC|bU-mDt*5urBQK)p-@g<6SAo58jcIh`*0}^oTIZ(;JEGFe&H15V& zUvllF`oG()Whh*pZ4^#>0@kwPkz3Wgy9GthgF>_14$6<@PBq)2CvFdZ&ola6r0o!% zUs1>5yB+0Mck=D_3lTZrN50;0pXVT5dR(TdGj;3@1nYQMZ%};*T=NGUv; zz(e#pb97f|1L&Oh|AK5h@P0vgbc4?Vags4kO{MdeM=z)Vg&09(tRNbS9=4+YG3we^0S4~ z!`DX~Ga17Bq?zNBX5&wqhlr!>JU|J~LWcQIZKFNT^NBv7M}%SR{w>W433z1X$0HJY zEOBw`q!e@~gED%o5ozn>ID99gY<{c>X805|YbImLeJqJ(8Dwmt~ROSfgjpd)RM&$suagN3E>) za2_nnA$Z(H?o9M>ul$mS&tQu@>FD8|T$YFHu#dQ@7-Gx(rC_tp7BY}mh|EC}N43vJ z@G6$Yl*2sZf`0D-g<--3tZbbDsKxj)4sn+pnj@cZ(hlw=~n1YMDb6PZ6a^AuSPPEwFd zimuNJT7-Wx!(i59T%0> z-f-*Nu+A+53{|$#V&Uuiw9fxCG|MUe)%AZwSNznT0_jL}{=wQQ;ODgzNihO?5j z2B)>mQ$51+Gat{u;$>p1G}~SD^ETR>ufBHrY{5E7w%DxpBcRa{jxQf>4V#gXImqIa zANZ%R$!zd{>ROcJEKj)6=pZ~>5?=OYr0rpP=}m8ZO3FR^VvXG%N?_8x^va{%zZ$;^ zxy3eT!-vCq#7g`1sxtFs8qG8rH5F; zPzBoQ!5C#~=Ka>ma^rPAN|gn+?xrXvNtIanYKa@?DKm^27X^}- z)(e!?9Zt(#t}|pmJI9_8#~W%`@Y20#)HEo+z+87qA8g*%`qcGjg83!-aS`69u7aPs z$_>z6q2BZ2k>`1g^5u0o{#m<<^#RSO?(w}*XBHnLwJ7KVXVWN5`w*2a>V56PtLcZ* z&$tGAB22FxhO=L<89|E2ukE%$(O{LLs>iDv$Ln9Ooxqx3x05C#Q<6tuIr}ft=xl-uIJ`F1*&Q zyx=#^tp^ zNa}~Z1lcR>v@gxN+I(BxrGh77Wl+D2Mfgb)LY^;I<>5+umHw`zGB%Qf}3%O-UwJe|b z7PLa>5H(5tqz|dGw|i)=Pv4BQP|~y#_D^k6rOt8Vlg5?Epi@Rf%*hbb*XQ<`S}9bq+94Nanq08khg`0NLrzL{x$p_pJmh&3NDepQXauzU!dD6&4K8W<-rGc` z%p*E;vsvS9mZC)uN?G*L89-J-zR>&!iEuaHJfa3H5zW$13CBwOEtI9a1!T(jD|2NC z5&`O;N|oDS7OKM>%MEDD)F#6g>PsCfEG)}3HenWIpI}qvF6?cN_f%o!cSR<{gLpp&}@2x2d+yaYgtWL z*i?4P@bL8@AbKImTA$O&1L%3HHf25WdjQ?~ub;6*J|p$^1a`qNc`PyHfQNj>RrpC^ zyZsI5{goZz*HX8BR}_($-%mLv{E>t^nOp-*Yf>o}x-Y--Q_l-K)1VzHurGd&~f}LG$cAFj>A>=5HHze zdxrH*T-L@!JPhk0r+u(X3g^^encC&>45)KF19l z44u#sGt6b%jCfRq$dh&>IoF9gOeMz?9d9n%fpA-uz#XzRnb?oj&zacm8wzHAu&`e< zNrH6TV}2+zO3IKS`r%_12LE9Vq+hV(nIoKpQO~y>?M#9oWn*os+SqTbXe>cvrkDGm$2PzlHob= zR8)`)YIDdfbTZp7k_Z|#%d5|G+@?B8?(q~ZYjMqQGC`+n*?jss9GR--YO!K9@|2m`(o8h zH)5XCCf7@i+}V$?XI=TB&b_ix|I(b{D-^lKKrb9WoNYgftdwmj(T~%CE)4set3h># z)0$qe;EYehBr3YsBZ~Ruc4#zBul-{T?1VSJBM52z95ZP zSMNr6)XrQmNY~Cj3gFhxeUv||nTOHss98WH$gEz(Vl1g$BD9UHS%&kmtX`pyU9X>( z?Za(YQ=HXoSXbG}Y}nAaS#Q|X&eN<}Wka_5&cTDRfw~_Wxv2APdKgxy18(6Wl=tj6_ejTW zcmjUkQ&3^m{NWb;`rFQC7vAgE(?Ms~`dyXnyQJ2KNcQfLNP478f8ST9Z~Ubu(VpAX z1WyRf?GQ#*RCQ&W5G8Y+Cj)0*_V(JF-(A>IKO+RXE9$PWJaSepo%#+^VZ-SsCt+?> zJ4@tj4Ok5KcC}R7aR1bq2{Y-*CA1AeyUA%1{Vw>*Xsai4ivmQ-Qx!s9fDcy_0Zf?~ z_0vE51ncc;ql_(qGvzY+8~@ya>^Kx9E@q6nf+fa9UK-@CwGDIg*m-@X2;c;>`{ajX z00Uz>j7q>1OR7rp=jhiiE}=Z1lsR)=he>zmgtwWJ!`4XYv5&^IqdqwGLKxA8FN5h3DMF0?B!fyjl0pO}yl_&;SeZ$S&C}>p zR;0d0x2g^4lcD%Gp&bxlKZ2RVz-Q9Q9ZW8zN?Ca!XVKV@PacYYcdd-in4dl1erl1n z2SWi+RU1!0l}h?r<>FF+n{WVIIADSlKITv`9Nx;Y$Om&x0g(IS##qv1qEHa?sKHIS zzq!eyCn|Xw1r$?|v??H0A_gSpo6vtL6-!U+&Sjo0Vbpy74v6z9Vn97+kY7=ZA4Dy3 zW}#w^RaYulKrN-UFQqS5S5BHiDgOORDczx+N=;x+Hh#FL$B$;JlwPbgyz12dFBtGYdSBB01Mkbs zzr7^?hcYO-mK6dopL6GgOa|Q|-X>6n&^kKHrixyMzUEz9>SMR>^z#$(cR7OIz#%wM z9Vj`%{?Kk5q3mK=B2i$-SA2{5qATLwCD zY|gE}QYXpzA%yh7c;y^4Ci8isi44OmDU}Lj;H3)4?#$*&Kh{f(9p6zeRzHTsSw4&9 zSJjPn*IL4UrwwTuS(~xMc-UEK`{;i?kmkIz(bap3LWhH~^SiGLj@c?BWm|7B3Li4= zWy`jDG=W$)!z0DsWD@7VEXd-XWv$*#8t_&6(eC6|sqT9s?NWo$s)sH0g5`3RnL#Hh z_(g^rht@)iY1h}vcKVym31{JGzVgR|oxFJcNtral!==S86}T>&*R$*WvK;)8%=U-- z;y0aphKvWzvjSilBtRD5dwZY>&*uy}1<$vm#u(4<@+o*t@z(NQO9X~M~oXR){;&jrPlXkFUHnlh2U#XD55adZI$%U>7&Q!FpSz_!brj1 z$D{~xtd?j{TH2K;Ui9h_CxKtWH9B5Wy#yylnrI{`PFD{aCB-<@l`NGbRs3t3WvMGl zx^4?6dBzRsO`Pev@)RHWX`3S_Sut*jIGI$&I0HZphD884G2txC30z^vPFxUICoLFP zd&bX$HiD2;5*^_W6G4Ko_c;%Wal2XoHNgv9MB zGl~GDW&e~2s_yNy5J?3Kk`(({->lpX!QC8}5^armu2x{(La)_R?P42NM(t8Su6gY; zj?P>43U>8)^(t0(X7w88)R}dGd7D)2I>v8Yn_T0%^!pI&8{XPY^bcCqmF{_(wcB4A zfSpwv!NPbWEW+QlKJIyZ_zH1wM{o{xD1*(%eiWGk^gl#(>4ZFy&+}?Jju_tXKY`Q* zLY*tk0-MglA3Oce5uvM~u2jIgIIcq}0RC6#oY7FX9N#aH?}Amm!S6{;t)U*+TsA+P zx`k+iKhgMVLp`$;SD{`Mn0K<=#MjA&yfAmmnn|P_(t`t^pezzT=)ge~m-4Fh`Y;F( z)CLVOLE>4+BiCymTrRS~M#*>)#{cdHDhZAiMEMikWIq|`3Be6Y`&TLIuB$e4_kKeN z8Y12rQZNyY-jWOQ%-g!PTdKi@DYqdi$3@~K6LCYfRgB)rnP)rbB|oPRQ{W*0ekptO zL)An6q`sC5-Fo;9#fLG12!j~2i7k;?=qkjlo(Ow2Wq`W32Er&~2P)HK=wXC0y4VdB zKlx#h|6fmN|7M>4eFoLX`?>cPb~uVw&y++PKuX(n*r$O|soa`iNayY+bRt6(c_r$LR{z!j}f4Bc}NgC&X-QLaI$$B%=#QIg9gcX@zA+dFG!D7 ziQoX{S897}F!DNaRg9axI>o8KyY5$+UA^#%=h5Ca*llA}RVg6sjjd0l`9K?0#e&H7+0oE00- zvc+LnAVOTpimL70G@<08GH4C!&U`-Ke(ck@d-KKi;1!V=MVia${;w?bh)xf#yPkSY z_Mk|2ZfAi8u{9Y2t=zlhjw7H94$qVG(bg>YCVYqI+QR|xJpp}MTm620G1KP8P-W8x zu;rZTWqAdO=en`{b?XNVSRX=fgDZFyI2cT@$#R0(4Dl_?0K#f4f( zVx;%)cX_dMIktUtxzP4h6ywxLLm(AGHv%!3hPTr#1}P6xc?(A7)97X>^^+C6DATj9 zBA$%>jI1ch0IE+TB-s)xsT5i25~HLAu~cS&90k*3!_-Ws)}lORK`b-XkG-S^ex-UN zW?4=>SOR60W({T)6`ciTQEEh?KPnrqsZJ~Fp0R)@1yw|=Wwp&ST&Fdnz*dv$DJ*l^ zx@jYB%i3T0*5wKt&!8-_a~vU88Pss`d&$Yx!V>+Z#mW) zS?0|8ISoZz$6gipn1*_*uh0j5`p$A}O~%Bym9reZnT>ts_ET)l*23!zOWOLlY`xCb zG3+fru5q17TO(iDmwhE`U6B3FfpU*A^SF$zpA%n_e|1OJy}6LYroVD-4@9A1=+wWqx^FZuFt>+;g2QAv2 zOs~H12ro{i^L|_HTjdqo#Mb0J-zmceem~IA!?jcXvQZxBmarSRQyVpDc-M~gxr64Sk{lpuP8;73X6hEF&8YcSkaL3 zV+n^!nqOjlJZVRv3bU$$AJ%!VA%Y1skA{RUTmEW3xr^y1y;7Ovcmbn!k5FbKA(@m1 zzkPV05gs!k!PIJIBk~OKPgW~3X(j!?n7M;F?HXq?w(9pM=F}veHc&DnZpg^HIVUUg zXS33~4;a?fz%3+X({qpxiC#Hj{Hefla^+0$3voxqLeAxL-SSQFXv4%JHstf1c1>`3 zCB$MT$6uiRh3TP}#B(-5?Q$`&MSt?4Tt;1$BjvYYN5+$RIh zrSj2XbNN(`B~q59iU64TVhP7mrHWGJs<8QTGsm)@XQe7#|CRZw+QG-@nYBXwa;Wa^ zebpi`%673O?4!k#ja*B*;u~^$(c|N4x!RiWdreLMyBF>1t-GEH|h^lkNJvuj>T? z(Zj>}^tUZ{u+#>3&MLKCaOA~`hwZTnuwvH8JIj5QH(1+pX1oty8QAdox7VR^5uO9Q z%!7_MG8sFe-xn&E92?A9{S242FU1SK1Y}V2eubXRG9gEi--*HxnxP0IK8=PX`VgUf z*K@sLEZPa@88p!gr(i4CHs(kY&I@GQZZhDIwtF=2koRLY48zq@*^Lk*OC&K;`GIB- zDZH^{7RWB*f={Y_s%ce6c zttfU%E6ZyVIxekh3tHJJE-zFEo|YPcN#NzG_a9q)of35)sGs`*vIZ3m$}G{=oL>5y zezSqBK}k^X2Ia8Oy}$MJE65rY1_f_A?l;0gt*z%{)?Gj#tW7r7cMdxaO$Dq6h0mnI_Z-`)(;Ch%P!J-z9q6n^Ulm_*Ab`0^I${vAkvAlPD z1*~Pi`fVoJZ(Zg-Nv^UOX%M+muJ4~ei$;9 zzr|6tpm(GQfE&KszTdqnccg`7p!X%@CVcmNTq-N~B z=hQ0x4E;AS?i@8|qVnR)WmMcH_D4YF6%nCzRoyK-T$B~-i zX2rcSk$CmvFF!ReCoi+m8^r!5@Ai#L037hOXw2Fh?&6?}SNip$y6e3`;yYNm;0M_6 z<%WcEhIbk|hggT*i-HV(P3Z)myn{jc#7T3k(`-n7s9vNnn*b7;9BA2)UbIr1KpKl2 zSZ%02j8U5)mhv2U>ySR2W1C=}(;P%^sD1(%+Yk|&T;%AGeiAC%P$`StKdB3ua3g&i zcr#}_u&&G)zH@_u-VicCPe&i2mw|^V$yltIB8zOwGJu6TEy`kbg=$MOfQ>9aB)=9b zJ1xJ1!y79me=090aJ7SZ7DB27hay8Qzl+a}JlwZeWE(uEPgEknMM85eW)LStwtDwn zMkFrobDRO`C)W{6X*;`|wSEeKUURUXmmnFIQX5*$Ic3I@rq;;H7(pq*60qx=qOldXg+dP1@(Pe(iZ2O4a zpT=N2yE670lv$b?`!0*I6$tr-Xk=HBrT8t3yd z=$-?HbfLYEo^mW0)A^@STsqI@lu8~lm{N&ctUr~@en6E{U-f(1J{0(;Et(^5@QTz$axhcKE zax*xZS&ELG#bRPYQ)p45z4+?5JAgXc7Ms@jq+XC7z~{y@d0kn69$lezCKD z6grUo4MEFjO9tZy_xO}qy~7Vh4qya?~e5P?|HuWb2dQk9tG zR#rf$qB!7qDtfxxRVsP(!_%Y62QM%uS|&l%v92$1wDgJU=?|;sO(dQX@co zoN7r?^k`~Haq_vES$4YKN=XS@VW@u2kG0UEa)l`~^DoW&TmzNuqFX0bvJli3sQq8t zfc-VYWI3m`Vk{>X$Wx-+{q=L7L5#x>VjRRZr?$SP-%*lQE&EyFR;|aCV^(eFov_yJ z*AtTe%sBLodH0h2xgTx_F1xwVEEo_#R$N~%oXW^vpC|{7ZCufhQ}6+dw(P4x8juwS zLl7L%J4^!l%|=M_%WI)%-mwt-^(L_GQy8W->?7qy)9VJxT3730-b=A>Vd-zwS%v_) z=?<`B2P?Njk^t;G7}-_zhGE6@bVnG_Sp~-tjb!Y5Xl+TetSR(54YpDJ_*ExpV{@$h z8Q~)Ahf(Y3^am*WHua`icmLILX-yQ(_Bb zI$+)v5)k}_3o_4I8Pq+flGysWjCuSzucv)LwAb@-6{sxeybIC$ z^?Fj)`|W-++8g+MG3osdd`Im50Au3=L6iLvF{B%U%ElMYA{!hZss~EK#t*GL`xAXg z51g5eKh9qmrv)aJ$SI~6hw}R)6lxS$V3b@Ah3XO%dJtGpL<}K?iE5#L23Rop3^J9A z3kh-(SV&0q7I}yZ6tNpvXpo#9d5S6&xgA(oK+N_zSuqC`wHa8r-;^F%GX@mB9$17A z(hlkHBP6prSfrPnKIzgDB)bAwlt;`C$zd}jw**+U+mt@ZV+tgHl3a|t)G9RelbCQN zQmntlBot<<(6>&cINF3=I7&=m$ql4<*126|&eXo&uSf|5pt6O3X~jX0sgBwu)t490 zT8EDPJhn@2KP{m5hW@1kW1rGbQ^*({`pbaIKJ}MHAu|Aa+(g1YZLYkKwJLPn!puH> z?X-}+3wpvP%syk6rigPgbi$$3KJ(O~h>$be;Uo(!}r?3BAUmdF_e-`e* zLD@uPl(+x-OW_W!=T8gvKMHqfHUEfX;32F_lUsQq$nXV&3U?~#4(Rx!;qb+xH?0tp zH?2G02LavIAJ##ecojO>0dSj?KW7>A>VlC-)yu^g#|MCsn5^ugr3<6ri#w8xFUg^ ziDt^5Rl<$tTa^VDVYPdLzA-Easd*Zs=2uiFX=*fy77W6(qg!g0J74XyUN#zPcX@-) z;z)5+ZDoecev50l=*dA$uIxBC zKCe&ggO^>8y~AE=$!+4)`gw9#yh#pDr_CX|eF3~8@3hL&xkpyUwcDG1Sn+`9zz2A`e?43wh3$k`kAu%bA?uX1kn} z42hGfn@CKCp_`x{^m$)R54dEcYK;PI7;nDv_27qnTuEUfSdvK*0KJgY;ETssiGiFD ziJZe+IhNyM)ELpx{`>?g-J^o<2Bjs)8BP-YMcFWf$Hf8(W~GS5gt#Hf6iq2x% z5@#okzKq|M1n13^pguJ>Q^EN_IAQAF*VYR2@(JK3*lc9CjI?(U)sZbY$ zw(EWm1IC)M7sa{isT&)EMPVO{9d~*EmRES$Ad6hao;|v-RQV9I&zhk>7&%V)2vasr z;V7#88nj2~X!})n-V#sX7-P2u)MUi=E8}cv98b+83DySKWfytr|{W#t;_%9ZTi3cpp^Y0t{F%rwhikDCd8M9MQ5SyVvv8DnCE)4&cW|@sJM2A^BQ` z_OZPGgSfna1dfgI+e<|oR9tJez{#YIbc|pu+aDVvQeu%flp0vFxXmw&;sA#rc z3EDmw%v}Vz(ncZS%xY80pF+^e-#LKuNQ#W@Y6u^j`$*QNf|xVZkpe03@Z%uA;5+Cb zGf#^k@*$(jqir=ILc53{X(9WnIc$H$Z04u&LiW>4*v6n#6{V(=57yn?#%!QKQkJ?x zQNGo}ZF3eo-?MdhpVPvBTN=EF{#SATf51%oGmi0J<^bXU_F(>(_O$X-=&3*2(`b36 zH7z}*J1m07*U#QOD>NZxw5+md|40TPWL0k9(euC2v3o~r;|EXTS0OIa|8DWNhQM+V zs~+zOTtlHUfI`j`W<{nJO>Z8|9RwO-P=dgm@eeScj3`%~=@mC2{2?SI-a|Tu$b{aT zAvcQ|lJVJE;y1Jo`IHwQ@rN&5EZWnMVy0xut@VP6h_X4NnhXuX^X@7I*CMSAnkt{w zI0F*dzn-WR87~(o%Q*>a)L0|;&oeAqu7f)>?`k$BU#ORQkAGsDLKoKU3r5ve{fVGx zKp3SgBx+)67c=^WPQNlA6Y3x(t3#ZO-GF6cW?jY`nDb125|k{|hga^%#9&bEEw2;TdQxN-V?s_P+(u8!*|dq3IS zdcvt=;(lgRF`6F0>vYKr>=zz>mvX3IPR8@PhHl1oqbm`^^Xo-!&h|awOv&)0W?Wj= z{rEV9=7Yo9n5m6-+=L#C5b<44lgw=|Cx|+ZH8-4)>ML=`CGtXUXk_F-YPZNHr17 z*-z6qIwC{09Hb=Aa3Etm$aGmLDMEI=KOzVCJb&HK{>o-Tf#OXDvlS5WS^Y3?>l>A6 zL6TOOX6#ID#NlMvy zsJ51whWCX!7Cqu=lG+8rLs%+(&5cuBcIxtaQYFPl#c6AV7dkteG;mpU8wz;ISOx@G zY9_{X#4&6}3QS>n+q!qV>#OwFBkpT5Qf}m0cy#hwJ5<`mOC}=5Mc3LcTyMJ@6lPEa zfRLB^>IO~_o9Q--lRASb@0;wZL$2(QO?@)p_+`g4IqFCU zx*zq#^SvGpgnM}$j`(-J9*nyKJr1VhJsc@#%YO1wE}Ap3KJ@0!c#^F$zh(DHV!ys2 zgQt0CQSE4C)ITprUw01gDe~|?k5OUq=bsfR@F(9@L2c#5NIyFBM`p_E9o=ZNmV@rv zWkdLW5mE(WH1j`^A{n6Hs)9pv2oQ=rExw2!fb5fo1Pa81=aI(TE4JS5 z$rL?ibLmLaM2>N!=4HxtpNpf?~Ln&p);iT-MIE zp<5|-L41V#{o-q*+a1D7!S*ns5jTj7mmI!kS^K*@3DqqwB7iA)B8%IXkH`(&)HVe- zcjML3aeuN-yDEdqUBi4mN4IKxeAU5{xPWQepkroK1hmjtH>i3u)g5D{X>4qJ*lo5)b+pOt9 z-J6mX!R!SA2>Yx~xD};zdzgnN@ELj_MubauH&%+IBp*eJ?I3w*yfjjR-M(VUzG|tc@RgI*?crf+%9-Cc_ zLA27;*-|aS`3`fO{A8YFdU<7<>VR=h?;D>jdQ;?N*od2O6>A0Y7 zJ?^-u3bXqa18h2W?>VkJ(vzwH5UU%Azblz~g7O^F z2>z!4F6GLTBR?FNGx{Yw`itzxbFj-dn8}TCS`2=M>qY3qwxLA@9@_IB$<2zJforrk zLuHPiyb9~sFCF(IYTi8eI|_i>$3=JkH|H(kcfO}9a~}SOyW}L^7xcVMp1ZRN?|g!d zYljCi@LC^N5ry9{7#JjweA0g0;5xfB9Gq}JWc-tNboP0gIgy-X0szFihf*9|Xh|}G zMf!vb6idwLSXTeQK>sgZH2;6ii~bXhnR5TT&nx~VsQxK&;UQx{1;HSR3y(*);Tg&9 z6_r)lscF>&M8MzFLf5vY=aY5rngnF>FVgFDc-ui>{S;%E=m|VP(bI>zO7CMwrnXBz z9LyC3e!y4-fokmdP#EE2M1-osxOfQVY`MV_%J^6yBXxuW{tFz zpA#7zzD@gx5tAs_)N3n3$tsHMvEKEe9l)!%}yy9w_44dN>ghrkw6@H{D7HHOHJL-d#TJI)qDN^3bH@8NP+ zv;*=iULQOav-T#^tFf*zhEYno7mkz3?_g;q3Zf8% zq+y6q3c8%_F!B1sZDfW))&2+;1l^rT!QJ8=P}SQ~UyuNTxIwHaUZ_Ew1l$*?$bGn22{4A#Mgk1+7xQ?HWY4PW>raCSYq`EQ5#L60_PZl&9oiYS>Pm< zygA8`5cNjLfYo(H&5oG@UCV({99`>)-V9yag%%2Z`;B@UZDUvMN_qWDZ(3C`Tqzbq zHA#g6ea8b|>3lC-`rc(9tOGTpF0x9*hXD-ppH~AIe+$2o0V3>1sj7b2jnQ?%+5cji zl(HXZ+l;WE;JWx_KgstF=P)INDD5yUiXZ7PBSAmzFe~#XsKRgPlFK?d>Z@s3GA)2k zfU+)<{&D5ZFkG5x*)$z=){MC9jcwJojh1Q6aV%1}hiJu8xYzbd(|^4`;U8xlbmsT?AJH?pYm=xMTF7GvzA)a-hqxH~G8Mvo`sM8F3$b zqU;Pf404EGabIh_>~x$*fmV6Te?PPSKjM=91ytex2C5li|80XL|B>$erzyanx-$~~ z1KuAU>Q*3#MELDlbPhzgn6LstBtE}32qLw!WI+(wuTmJxBU=Y z{c3$OpvjQ@P1C~}byu?nT}!*mxaD&a`(wBEmtbUagldj&`i{}?BBG3(nuf!H14evJ zPuHQ7+0@}|f-64{C#)2;S;o^UPi)J?Q8H;O*+y5JIeQ!78y;FW+x#CE#^WArw?`s( zL=hC9?DwZLCxc`ZpB;~vE7}Gt6PltDE$Z~PyFkJq-+RE>YcqRp76a;wOml;EbN8X}9cNZ$T? zw%)%FlKkro?B7C z4aNC-Hhq6(CpP2sFHYj->{AW1+U^TZ->vHs@7e8}emILc?<793dXIf+X7xv1U>6N0 zMrvAiA4_@^38!xQ;ldiP@q?2!+5T&ba5{VC{f?U<-}phkq`un$bV28tQn|DH;>kQb znY(j+IN#nr&2cBu1=VvF(Io|pH_;UtmNwBf2^Bxl4G|YU(Jg_*JK-Iky0`6rIMV$; zWa|}&|F;b({9QEri{RtK`>gX9!8fsSo+T6Yz$dGHf#+>p)x{reJ%q^co73A70&5MF zQ|t-6MVZirs>u}QM5gXdhZ_2e;A6HbU%L8Zrnw3dd^5Y^L6pno2FnV62tLCJ7FFhP z=?qTF?6n$29a#X9D+D};L$55Z*hjL&Y8Ej?FIi%d0md)7^N=dm2J=mc=JMIvCxMPr z^P*~X#+dmPHI2HfpR7&$&zj6K6I+?jJM{~iV6-v4F7}k0oM~ozPd^ZUEmx)5=`N*^ z#l+FCHB?H^(+SFXx>|z(Xa{t1U@IY)v4?NA zxo-YQZ*%#uMIC}}T-ob-xnmPgEz9%5b-%DeXnf(d%;hqo zd%TXEs*>I1^CEl(K7b!x01!WXHc@hgKw$js3qv=ookJtnEz7^#vwJ^wJdJkc1S5KbTNZ21C*AARy1t47A6%n8DbQyR2dNzWSLp~gs>#lyl$TK3FNEdQTE z3V#pHqF>3-qcL_0t_Fh~Pi^&igJ`CQNy6QBMkrQ`nM!GzPN{|&z?*h{fu~y3MYGKY z-TdOZc(tG4?X$pYr96|ew_hI&07<{#ITmxtCbR}?MSS@BIaz0=I~$ecxrP}HeKaQr zZQ;y@d3{+WCzyS&SvDAJchm=HduPQaXlMI)XJ~ipS$1e|bJRyDe`CdFs986`CxkL#E|a>XUHB7NOeC^WeG zk+sP`rj51Dd&-@)%N>b_wa;1Zm1W32rk!QXddh=klHHYUv1m5SO?p;XjdyvmZJl>@ za}2jrcvT;Xm*qfKt@CVWb)8S}L<6bo^mv!)1@%@t=va$2LS|9 z8)4WvIdJA%0l06MLa6mA|2m}be@^g0{vr4<{)ZSoe|7KwV)* zf?mV)h=59v;RC?ejxM@*r;pym^?`tesaIsk>GF3(<7yv@ndl3>B^u2MiOu|D#K>qB zF+068#7;;VMWS}SCC&~SF&fOyY)PgtqE7r&oZTO1;e&Nf=jK+1VJq;u1 zO`=?iu$frMmqix=GYvD3_v5Z+l>M%Fwo;*H0#=d*YPq(w+w6;mW-CfEL#(V1lJ>qYVldG)(yS%T&>j$e{(fnON(7olCmv=-RA25XP zI=-LrKppx2MR4rEH6s4Zv2UWJ#dA-w7%laYEZ;)p>(OfLccJQ?I7F5s18_OfmhJ>4 zGM&9dNP`l?4?lyhu_?5}Mp7vCy->)~B+}H3D2)fdsJU9kT^s4!3dI(ZI|2(*4D6$7 zi*!9DVvWgt71)Y1(sJx5EJL@SiYOwF?T=Ep; z1uIBYImvNPl%7SE52a}}SktAsIj;9gdJV^^l$l*vSTxyvrRqS7(Uz#g>oKB1o|9mfP0pL~@`iF|JyMc%nMvO_I2JCU z7oOhcDV#{m=_b7XTVokWQ~9~`?Ce|SAMs8?3lkQWt8?a-5Ny_(=$AxMBox`QSE*ti(v+=vf$FMW|ljAyb28YXWY;$PTxaYx?-yi5tvq+Rj>-Yu!J0 z+yGyQdQMU}0MROTub=v0wcClt!8zHAr^%V#Vtg0lJ7QNM-`LmZS8@3^MxtlmASS`% zz2ZRIFMOMtPw;G@ubbnuItY*FkADfC?IM3e#QEsZ{p=+#KnZ_|4QEHiQn-TUb>bn#}`rl$~MMO!Uhe$*c ztd*Dyjt2LHeo)Jg@O-~17*GFXKe0A~nk}30BY+4R%ci)8T0EM7wY1bIu~0ON?I&p> z%skPLH_9_LG^)kQr%tO(J0}pJsyfPiku;#?tFtM{|3ajqw+gVX`Z2B%U8!B+cm>wk zoNS_9C4)GL`pc!JGcO8R)KSvKW^EJ;7!5&HWvLul@0A zcPyPhny=&e?sT=y8dr72p&G{7?ZcTe)$CJPj$ZDg*oH9~!#Psf8dJFTRvUws5v~tl zeH98*&FD%4Q#AuqTZ(lnInxf!V?W!P=qC!566M89QKTn> z$x}(@H6l?<)YZySi#KUCmj!nGc%%;Ok>My07!Y*<(gcj~HJAI3J3X4kedZY>Xn<8O zBWQ#+qqc0?@Pf5!{=08y`eLT*-P5iQD%6+KQ(sSKdZ5ztFMIJ=PcOwF#9lA^(Ih?2 z2C&u2Z7ZJ~BWxQ90R30P07HxGBFMru3O|}Mi{E2qPM1|&On_6t@uM}k1xT*EKKo)? zQ4N`?3cbr4PEqSL!I^y;Pbx?mba+QIPJ3#p`5&_pjtuIPpL*wZJt~qXHNl1NgLMIK zk}Je%(zi=iRZz}F+>@5e^S06c&Ko~3Xk|8;CB_>+;UN;aKH4 z*2yHeZb%YOEZNKB#cH26GvB9N2y#&IS`q=mcF&)~Pvp1=D$FlicNyw7nzjRzo1cm6 z*gLpC)x2ME&-5T>a_+SV^R*)Oy~uln3`t&k;7?=o@kVuU+woqMn74Qmufqa7Bes~C z_^y-n-GD?#irT=aGwSQk`%QOFZ=$<&Z*TUOu}yxf*DBGgx`7X#O5N%>F&`Vihrs+3 z1k`!tKEl5aLWH9AsQpCx_~mx+b992Bnum=#VZ;DbqLPqmMzudsBWq8=k-hzh&SzCs z7e-rG7|U!Y;Bsrr-Qy6CpiwO3lyKWEq8N{)P%QLNciT0?1dk#~ENnMt+t8()0*@w0 zEd1^GAK4%L2OM;WZ~t@0mj51lL0XnymLJ9@8g%q&aucB4H3aDP1^akR7{WmK!QU06 zM2Col4gYm^SBn=gG#p5XyiGFg{7L55a2##hz+a`{s zb3DzT4%ZofSLXf(bN0ZjKb1%BSom|4g;JE755Q0%aclaeT)Of+{@C_JrA+Ic(~#21 zWU=+6cAUsd=x&@9Z@gpY?-7F~w9NTV*5FFp_>oyp1*pFN=^8ExoFlwUt+;IBAFL@uCXH<70 z&Gw3kHCb1d^cA^H3N&Jb_T`jfMXzIaEk(hCgyZXZM@V92=s5Ee74=H|6KdpB4Yff@ zuYwefILty#iQMIaBzYUwm2ksS&QBTsHKFLiyvCv?6wwWy<9A8CS9#Q>@m)Qt#a7f)aooR%v;j zUszgkQ?EKz7SA(QUL_@r22l+m)+&&&7L!VYunw7Pm7pG4LW7{;qxvd-KZ8iVj zfnM(3c=?8+3;FZAF^sMc_GFjc`B}!7QtxCD=B{w;QX75sY2=JmP%6JD+%b&XHwNR( zP8ofV0%@4sNQj}XN6_?iPS~l0hwaAJ+uN@{t?>yn2Vt(AN=+o4(J-^~`D4^IF(XFm zO;-l_JIt^_c1X|CP*o6fD)d3sPYY?&ntbA6?{i#4^B9*};#L>9XEIWJu3wO^I-^*T zGY5BG)0)hbUY8p^V_SE$j%kEK!p~*@?b2maO%!O3!~qpbUhA?Tc>y%5+4g4kYKDy_ zM&X=iuNZo zz-v2$`pmW3&zEobx-Ra(y}K?~Coens`zM9ZBn3abF?4@sIR}S46$bmJB!I>egNVo? z4$=gpp-o%7x~yEFZt{?muA>ej7Wg(> zjm^T}ix{meM%=}W%Y)d96gksRghm!db*=$_@YK`NH(}2g42_x@_KU(0IYKh2An{a? zD~5`4#!gL~u&B~?;QIcW*Qikur@~3{w8(+iDoGKq@J{l0;D*P^S&<;qN$POlfye8c zBGC=hzYU)LkDHhNDH!bEb)sr0|2N{u|L{=%<;Zr3wNqOljy$bb4iX)JRwm2_eF5-z zp!65!UBM7Eg8FiERE$AjR5>SY(Xj)`Kpg4Ucy{+2W8pYjs2J;$S@Q8v0<%XW3%25k za9p?Bxi<78`8*!4S4d&!GUZ$u19+EL)?*a_N4g?|W^y^8kiWrjW3G+)bq;-TK6t1`bwpFcC% z+UzoYM&6$)o$Bp2dq)7??;ULU`{jY9`TM7#F6Ra$k)-7YhOngN1rdrY=LO>_W9R?G zFevj6!Ey}q55*3^E(k-5clQscD!}%SKwXGiv|w~37mF&HSpFP!79FxD#lEbr84Gvv zOlTomaK9Jxg0G*{=2P*YU(#e&>o)clZA1*P;%Z*jDtk6glx2zzD z6c>=4IJr_*VgtIA(oFE>{aO}C2y32R>iB3yuhso!#!CGgt-VMFG4f{bw^I;v1Ocvrn&|>!-Xwx}iP$Cw8vya$sO*`odtI+X2pD`Vh*( zeLU)M9xHO&cbMv(2*8P;HHe+tq9uN`kg4DqvFuXV65+F-igtzl+S}^O0;rp@4t4!I z&(6zHNCk1YqRu<>-f4o!iiKh9>(J;7L(x>Hj1kh_L@l4wNhByQ6hca^c2~;Ph2SvB zBBfSISF1}0G8|akG>dj|{mcfcyBz#1-dFHXu%+rY91Og~)rsz)Bo96@^8|@2lEgYm z?~&JYN0KX&h2BZ;h_iAhLMl@DImv7p*X#aEJKz7B;P~%8)c=vQF}45S#_|3K*K7Z1 z7WhZO$9+k036<$Z zI*0B4F*Am=Uxg&+7Yo+H@+4U04CCLod1LX+M(|m1^(7ObW$LHvZ75VAzbnn7Jjg{P zkdK{6``u#HY@}2&8?uVjh2ndH+JnZ(=r@|Aif_Gy8nBaZV0AG5hj>;Kea{%-`2(!xpYt-e3gFTjVZt(7f^zpNVqV)a{I z0L*2w{wD<1wC$iwjxhgVCgn8$pP>fs{vm}9=Ki5#e;;$Kc=dwtp!~93J@V$(-AHD^ zMNu1s328Ef`aeN?#*F9EUt?1j%*kR!k?+Cd?(oC+VrJ0dV6%Bluzh*f#AU~}gyePh$ z_arZ~fR`#eIfC{$zhSq$xT-@kq_idD_tZW}*)nZILLR+qGW%WcLt-wB&Bk4hU#mjGg zfgdO7g~G)r{`H3@i>UvBN1kZlPA1CmH>O^c!yxXz3KP_pE&S|hb{o7`>}}vdZzsJu zMl?w8qO)d2;R)LkGjq=q`>$usI_LUUjeVIW0?JE*DOkg;j-1hNEv@ z`@(tgS*`ye8E7G(u*~mabFpaZrD?D*R5{@qYKsT)Q~;mAps-O(`-y|ov)|)s$@1gE zJOp%o_M96~s^hwgdhesK`?CcY?Z%!Ut*8o)UEyy~qUN;9h52E|c zKccn5yv9nlRFER@I&;F9f^nV%&U$boOTSP$m5}M=XAlp5h`s)v4#f-JhEm`XhpCDM z=ZjK6i-qYR+r12Vd?Nt@1Iv1PWTqmh2S_0RVZEfYN)gj@q#pyY;;i7)QQ%2fV5r7n zgtRQ7gyy99`>+xSwz0w1Mf#5gtx|}B4&msvdp57IqFfPiIu7{c1XYL9jEoSm!RJsE zL@&+K1$8*7Nky!@Z6luM^?@FE2Sj)iw71Fa z>nigJWduCX=xHmcrYzy%1V)tT=}XF{Z0QyRW|HU`3-P8L02uoo&`!{H_!a2}w+pDrnEhO@meKJ*ToG$HjtFqS97w+Ly`bbP74FS~8W382{c8 zsERRDD4DJzgX>JwO)gv^EJ4vk^u1KII%hP)&T6JqAUUv$O08m{UU^E>nzxxwtJ3zY z7^y?8Y^B{U_8Ub-3&U22>fI{-=u@6vwMu7(?E2EMUR%J4C^GC1hV6bY67(4J-wuGW z2%@P!vYOY%V>udE;#uydc(Z9H75O$^NSEstu6KfaZ*J+^zlJ_D5gu~iGL5FXSzLM} z+#hR{s7iUhwEsu7ng4aq*a~MO#4_w3#4FP3AIza#=Kqt$Ak9C7!2v}1X#(8+!zkj- z{liJ}L6o1M?zljbdhmEAiao=4FS=B@tk4|sv6U=XSS@5HE-O85RZy}!#5m!KUgk6W zVmicuC7Ha2VsezuNfDpspagizzBfPv&M-!dQdhyW)HuUD+rEU`w!6*L>g%KhR+dh4 zkQoRi7EN<+rQ4|Z0wpm`^Uv^k%W|wYN2v2-Jx9!KOliv%i&H3hEl|}A3jjr~vdt7_ z$r13!hWe&x<%NZwnx_<1Kpu5dOHTLl3P3`8IUxR2v!dL@lJ%@O8|?-NsBD|nTr$gZ zP@ylaA;qhpm~r$t|2(4EQCT-!%Hj z!8iF$PqSgrx6ZY>&CMbLt#?8Lqqqf-=^5nqVz_{xJm?e1Rt>f%v^ULzGuZk)Ed22Z z6^=7a6?xf9gn%!s6{?%BRzDC)a4V%tb8{<;9i}? zBe8^?EoZArnGojb*iYgBl1~=WXn1H!#@yoJ$O^DRUq-+F z?5!Yr%qZ<58lBb?Fb+qHZtZSzjR-j=YInra%eJA?3XQ=Z#xR0=z!a z%~+pE5PKL0`PSc$o|FM9dTI?)Lc%G@w+If(8^Uj>#SF znL_+HG>JiylWB7NB&6@%2IpGiv3*k7+&DjwowQ=iqZRX>i%d4vt9QA&prKYsUE=A z$L8#OM#1R{_|k!SzDwuDy4~Bt}V4gnSUsAK$w3R{a>|- z=&#yDUbkEjiQh-P7e&7qh8oQs;=C6_@o;P;Ck!2q6($ZJz8lYi1TeNF=d?(RSF(NF zPf~Q<-Vs#O9T7>nw+1Z2=oUawTHr-_D5fV__?PflMl4czY$)6%>>gUkzl+De%go(J1g@gyk1ix%%`XQUSdw2xTW#x`TolqNB1 zip3`e)6%At&E}PpSLVE0pwvmST9wpH+S8G@d0J9`?h?E`E4x0C1X57^Zr7wk>F2Gt z&YHNqwkDg&X{$h7V0C23Tp6srAl)#{10e6vvNA#+9NOEGp6J#xB43c++A44TV!k4I zV05`cc)_h_g1Xtfwj%+PTBt#QLU+8jforL~CPtECu0=vcV6C%9X|Q)7#(8SKVJG5K za^NE4Qex$zVvD=wq+^<{=VS`Su4iYX`s~EXm8$N<&R4q3#x8^x$Hpl(#9hTLh2=9b zD=s}t6j)H4Qe zh`c5IUX$`CB@ofCtmST_uf?Q2o3yj_Yw~;(Rdixr7k*>V?UyZy!1n8eNnQTQLWJy& z+YYL^jvJ%BocEJ{Ha(y7A=R4p`!Le2uDd0%jn0QP2m}kFnMl9xy1PGh-7j;6U&~() ztb}^ryur|ffLlfzO`hvtou?XpEYhS<64f9;fqPJgu>q)G z^dG5Pg%Mn*1Bm9gKaSn#g^WK3J|u2Kqz?6AdNO<8^5p|hfAwHt#_7SVhauC2RT28` zhms)fLZPULVwOz%$^_@bnn;V{zS=2i6DWAloC(kI8Fw?Rr*Wt6%b*?zDKZ<3hI)MkF}vM zAbr9{6*&x#bBWp|u{s{YYo`c}mM3rPRmYc^4Nvel-o;T!li^KCh%EiKOM8LMFFvUp zS<`4t&%z@ufSC|qg}+DUhBKl#sS=%RY{b+R#>|}qGKY{J0Jn$aIe5@Rr@xreTD*)4 zYqF*KjhE0c@krQO-qL6Bm*5Ej#*@VxeN+~p%J6F<>vav)u@MXG|QCw6Y~C#R2iJltkzOujhb zB~ybeWD`?AzsQnRY0F5BOa~*g7ehr;%TujR|E5qXrPx2A@ySpfy7*QmAdvNcDA5(v zn1vViU);W)1Eci!80W9P79*&5$td)73OV*iZVi*4UkhkiqAkP+hH#3fK9u*%1NMae z@8pCZ_GL>ZN|lAo9~g`sxNWdlG>ydsvj{MFsE}pu z488A=Kn0ciDM0WG=m=b}kSShLsohyhsq}LmVUlMO=m`8FZF2tA-|9!DLLcjAxv2_~ z2IOg0^0(v*@Rs-O>SVrDTfQbfK$%goTg^tdDzF+JUwLT$*U2X`&Pwizt-(+t)fjCx z`2BAwOh@XKD{SSHm@GrTBmM7rx`mXflo;&ot(IW)Q;l?zTy54`KTbB0I^5>Bnz=?N z6|$Zjwt67GVEJ-*Tp#qi2-*1_@IKP6wy@<~{^>ZqPV7qzo&D1Za%iU4+STj}c$42A z;Q{P&VS(?Wpko{u&@ql6=orV@8RI|f&=heX%{TXtAgnviip2Rx_)-VKSD@N%41dCL zp)nP7x<;({=Fi=DX=K2@wLIsDc7l@R%YM?!vH3wVmnpymdNjJ1u;{=xD3Qc55q0M|AZq;8!T?8Hz$@uNg>p z)Oaru4+tG?RjSL^tjR7Ery1bSa9L|0A9C#NNL~b!s}cX8-Cn6(!Q(TLL4{)2BSN6m z+iM~9U)K_&a@E$rVZb=vXrTAhvJev-xzzT<-M!M+#p2LWHf3w#F*HcfX4TiT7TguQ0u#GN=YMtk)Rz#_n@kMGmawa{#K7MXS6ah4k0Wj%6O4XHn6+Rd#!7JHqowXnOPY>aOQNEx|rdH|7X zcWtL89-1mdfym^0M4JL6hiI0BBuAe;fyBqi5u3y(h#B3)r|{)D#AmSWy2R(qlc0Ph z;=cBkgI2Thx68uEORviMADErjDd?*FkpnaL>YB;!6G>5P3r6%iV*&qlt-wi8dtD;?O9sg9*t= zV5p8+hU#_#!vi%|?uErfSL_40zvV+!DrsaSelH9$F_w+Qv*u$2iFF;B{ zw=iNNYm?P)o=p_3(El2xL8T|Fk{&~DOo^2)r^u+9f>vmvmvH&<=Ci3%G;q7QXN3^Ldg5UBR%IRDL zIER~s;(R0GKW9z!rTd`*C>bcW*>gw&oKOitD z_-9CHSa?KaRCG*iTzo=eQgTXaT6#uiR(4KqUVcGgQE^FW8KAtPvZ}hKwywURv8lPG zwXMCQv#YzOx9?Z~!0*AK;gQj?@rlW)>6zKN`Gv)$<(1X7^^MJ~?Hx?8{e#1!Dz%4mw6tnswliO~p#jm{$Mh6(vFj+J%qv>;iys`YI`MH0&-Bdq&>?s$haYJ-&;oRecY4^|^l7Qp+$RN!oD3G}ElNx@$UkSrpN3 zGe}-Eu}{_0E%U;J#iht;nKm<$9e zgX#OLAW9Q|fhIf_4}@p!(+`s6hb2KnQ#2Rb4|iWw{|3e(_=0C~Qy@N1=0KWS+_ zlLI|Z0AU)^T z1R8t0aCM4?Ix^nbCREq7IVOLcWpPYty;b74p>jCdLryf;GWVj3*;LMpsQ8o*$~nC^ z%^A>Tv&~60WH+uo(P}f3m{la(BU<6DbN*7cQsvf;HoJR{wFB~XbFYRPvAx8l>ovT@ z$6NWf?c{q2@`BD5e0dK7Du7&jfJh+kVX@ZTOF~_yAm2&bS~u@e(+{V&#O$|jzSF8P zAp5q2mTzZt{}8r7)Lf5xSL9Mlnn2`Q&2m@7Rw=e%#9pp?clc3inqc@ScrOJQIQ1JJ z%k7kq{GTbTppV;;^V}y^VCEVdI5n;L=UP>0{_P^PvR-kP+5kUKV#qV{KDcH;ASORL zG#hpalB1Fw;X85i@gj$Jn394To)(c}m}oU14uyU`4}oqk6gz?DC%bk&Qde;Q(7b&p zaaKNx3+wm^djds*F6oJX)@F5%r@9Fyh;OJjPYvZ~BsG_dd38tboSf zt)b6X3&k$62N_QsNWJCBu%Q5;qD)lhVCQg> z57B!(W&Y2{! z;Cwng0GAS)af%ARA)`sS9OLP2gyOl0#wIr?Y?h5~;9V9!7AMJ=bS`b2KZ32ae%yT0 zI70zY!toueu(UWCoG+UTR^9E*RU zB_aer9Ea8zkIPUbvxg}gWb0h4TyRWj2RE12oK#d*Nt0r1DHnO_EZ5{sBIc)AoH;pP zDjuDt>;*qtMEj6H^SwwlceJBS(6O9m51@1u{+%7_dou9Ya=H;-EhAzQW`z~-BTj$&C-*pT-Jm}mC&u)J!hPOo7G4gF6XPXGbly)@K`q;U zK~F7Ni^6%~X~AR}*61!d*#lEl)7#3X+2?vO4>8AyV7|)jhxsP7*TL_FmsAmbx1az_ zU3+%}y`o4AcGJ{lb7SztrSGPmJPqv=D#clH2ROS%rOJ|pv^vP_YBSs4>NednEKiq< z%zji>Jv?%)w14mKJ<~F}-0txRijKl}L)?wbr1HB=ZM%0HozUzdWaeADSkm#j81Le9 z8Qw0Aq>{^d^K824_e#y|e(`F(S(u{ICVBz-bo_yOBGLmp<;>H6S!u~Ngqn0EHiUb1 zTfsa?=OV$x&@Gb)!8KIZ4JB-cDZs#wk(LOj{6z^$c^Dlsba?H8g^FP16fugHTMsir zW^CUr==@(et5>< zQN$|yD^51iFET)(zgom(ag{Q>1!vamV_9T;Nc&nDONwQ=Q@U@&MENh0azJ^lVQ6_^ z=Az|#7207r9hVXk&qPggvn*}dfF_W-qGE}>g1&HEbI-cAfmDvZX-18$s&uGXNr!ap zmUi2tj0CN^4$%H-gXD;DjRD~dcb2j7s`|4X$=xi)IouOkLXGZQ#`G2O2RNoZ90Y<& ztpQA8oINoD+u}7W3Itl6F?yuZ4d;lVRt-Gfn*)m}PUvSxUIHf&9BMNZNj=Dm@@8AwjIQmHbnBAuu(xoWZ=v6-`t`Kr?Si*zf=)L>fGpA$a80DD z`saKU^vCR*R748TD=3jZ%d5Gu?aikje=Ogow8nThFS!u>#=9rKy8oHo>~R6kXeF)O zQwdL^D*2OjsDd9g_HuF9E1>YJLJqO_F@3j}!|F_E_@vYe4cn`ci3bfUMjeGph=N1O zPYkcBPIq1RS&h*m5}K@G1A^vs#b!Z>69ee&HQ(&p3~smI@S!YAm?A8S@UN*5-*V8L%kF7Tnb9M@&0aVI1Z*t#k|L(d zWEbSV*%XR_%C1V)9?G;aRMk@97HcysDzDeeH5P&wLs(s^TyM+Ow%~uj5;#|@RaNAy zjw*v($JO3QW>O!t<-HkBwZQ_(21_SP1B$2B#vA}6B&e0fS(o~~Flrvu$Q8p8j(XCI zb0aLRuagmK4RYya=57m73$&v+)dUP|hLM1k+2-2jt|~*P3N5vp=9bDo4E6yJQ9G}$ zID@X)idKnd8vCrNt+f=GpP+?*A^+b%>Qm>jLXGFr*ydyVQ`dELjrWn<*6Zq1_wz)J z@6*^8@b#(Z6LPITjQln@-g7UkVr?MS_%<}(bKmEf+F&aA9eAzhU)YniAzbepkpI=O zxd7~6jk}BU-aCKC-IYDBlZ(r%-7}Bt`-iRDyT{izuxI!8PbV)OpmDb&z!i~}J+u}y z?mpp821q+(4uoT{4R*kS#$Cx62Yyq?6=iaX1Uva0@fAr5@e~Ff#^4dj!*L8w3&UDK zoP=UFraSIE4Z68fK3I4=yC#^0N|r>rqCLD4Ko+11xNNXQtAMQ1%4d9l2dfmU29*zU zXrWX|HK8mwV|ZcMLbQROxHgS_V&ZQhdSSeNL%x>ogNN;4(?)eL{C$F5BaX;Zzu74N zE4n;N@pf!HL(D<&=*1w>aY3@M`yG?Lb-rA$0lCwdqii|<`+H^f8@laEd*Lngph<8x!SB3 z@4N3l6+*Y4jSo;{2=W?>2>$Mdg4lOsK_cBBD9}Xghop9}9DsTYLHzT@=W*KyBczGM zn;?gSBnT&ilQfuuvV|xd?()IFlVsJ2B=Q!ng*1Y}@Ug(1VcDEG`jc*eL7Y0GOc918 zp^QX=tZbigq7pw`F}jN43Sq1oFPw2osm;iNo4T(|ajGGyvPrr`R`}s(%j%QEOnXrG zWR~-y1t@~~5O9>^ZR@yg=#z7OBodIpTxRk!!QR{~oVJ}>EIQ_zx+p$`8DNv_Yj5F` z?pRCXknQ<;;*lT0OUtDfPcs3y{9SCxURi)Ek~ujrnq9#?YE;1qIBcJ+-m5w|sKi}_jeF8A$8xg=Nxfp7)%iFO^*2VSa+*L8zzPTCE{bZ;|`eS}Zz zLsLw4_6;LEh5U|iQVm&+V|+o=jZ5l!RkbVFbJ2|(q(^e~n~HY|ce7|i@(wG(6^PsmfoEB*6S@sSty}Uy zscM)RcbG2jm1sHzj~#WQO`iGKyUv%TLM@xdgO?&gS7@U`-O5hK7901~20NX%t(Knb zx7CgxzU}+fX1+}^8XtsDuJ?k7A4Wdc zd1OqU&pvug?@wM0LeEDL{Y0(rF>`u7ud7$M0xl4J>(7=h-Isj`emPEC?2u(W#u%Ud z_h~mjW%da}Ri6e-z!5`77mC1f+H2yyE5M*ix1*p<2Vn+(hjn24bpbZze=bV$%E;ZW zqMT>KIWCLjG%TQYWADQEp8u>(Jx~Z)7xr>Tgchw%|B1d196WDvE{fzg4Q3%QLh1`N zri}D&2HKlo-Fp()eriePgd0_4{=KreuY{&UG}xg5wXhofW`o445wQKv8nNZ-XVSLYqMR5?Qt>FQR=TWSk<_kC~|60 zw+abn1LZisF)KscxOus0{E~PP=$~+6hTSnU>%^412~M#mtbuilzSMAXM8UBOnX zZ?{T{I~ry7eNv>r1kaQ=uSu?ZU#ZZU#)zq*ao#n38GA*zQlR2o9?;R;T$HGNI!HE& z_S1ry5EFclR!Bgh=E$))4!lZE*gQQr17MRM9y*!ypa_`)Ajj7}7CU)wPXFhZf`jH< z%B6F$z{1H_3(HP6#N;w``F`bwRB?S=C%}?JiE2LFLKzS(1Qk?78P2o7VeV3)@Y_L43SA7ZrC}gN-Ckv-2^h!9_^nGr@F_hn7J{ad14b_oYp6`odDflF&`KUB5#&q!@~nx)ndn`&G1 z(SBXC-Msy16-8{*{A5kg9Yq8FFModADv^Z zR~|HFdM_DuJqz_r{?QLxz+YTypRoNga))`ytc&7`Z+!RDPcn?`2q8u|6Sne4mohm=_9tkdIm_zuyiKPcW;MaThNF8=w&k8p6pMqp<``Ax|Xtr4y{>4aL({4#d$J zi|fWe-x-8wu$pQ10d zt#*H(fP2YTV&C$N5Jczg8NWCh)k|>Nop#zo&Q0fV#AAlOkfY9&{|K_`LUTEhuQ&5k zv&wupUSBg;ozKGMvUlv*c|;z1ap&A&Nl?Z+$q%)J$iB7@`J%lB6flrT*^~f z$#)y^yVa4>`w5R5O5%UF!m%7m1jW5#M6L*n5kXXLjuDC7KD-b{laYoKg}8dGsYf1I zmLJByh)rt9-dtv6BQfZ{Z_ka}YV0g?$X#Tl%*#Vz{$2KY-%X>Os!(0Q(xceXz*8n2 zQy?e2B+gPZ-Zb+^C!86E<0OwnwyR`-SdUd zJeWn1aIMTqahhrQNlBLL=}GD2{WD=1YnUYwfH`fI2sC_K5>zm>zS36G4SS+gF)p|3 zLZplqR!DX}j!xFh4O3Y2444ATdW%NMGxcgE;rFe>eI?eW8U-1>thts!ozsFFq7_Ar zbDn&cO$QNl6z!849gM9fYF><;7v)wI9V6{tOkFRlbd=o#r*BL>U~g83X~xiK)ty&? z{@K57(3%-wP$24S2ex=SNd_KRJ8K4oHSz13ar~5Sh_Dj*nTEw3*K39#8sv+|p!&V9 zV;LgXSqAAcJL@Ky?$&FkNI)2GLg8g!Peenu(J(87*VQm8CZ@waC&lK~H|xV*)ui;p zE&E{r&we6w$=FK2nahZ3qi^-F@z4F5vXMa3-1j+x#}&sT1&0m8tv?(p{&x)StLzw) zk2|&>T~E6rs()B!cz|*QJe!GHI&B-ND3?jQ4s3!gdzmnsJiFMv*)XfosYtJ7E zly29_Qek(~BhcQ@3AX$Ung6Qw4f*YI2;sx$VrMI-_3d1^w55laX- z5$oQAw)|ooLXkl+t-tqzrU~8G{s-#XALx}gLE1`jr!?)2FRtzdsVwq|6CrrrKpGCA zH44L(=^J%r47|~DSx~EeK!3rGgDGqe7Uy0F31k{{^pTk9CzhX_^Cb4}(!He3O5tq= zyC3TAzX*3f12v@jG2k;wexuvhMWRKKVt>E>&9WP%{)w3k9@4*xp0Y67Rva4tO6@n# zDSV`BCt1sFnH2V|vKqX2fjID(78afrIT&&u8f7G2ynHl{H7kgWsBKsp*)bvImo7Fl z4XyOzbwZYRDrFxC=p$+ni{BTid*Vhts%8-@Zsz+$TUuI~F8@s!3MCd{+ zxUXJL(DzO77|;%4VF;Hu2r*8VtK4V7gHvEZV@bCxGi9$i8BZ`*<;+>nC+}&?u(w5z z-zSgesR9k*nx@&?_@#U#5L1qz61AUzQeIGPXXkMP8|;ahU@?uN68t^=hc}fF3T{g9 ztW!P^u_{6g3w=6_G%4?>s6?WLbtVAUxe(*+AVZi|IjUZ@kR0iRekg7>!7(v@%KBtV zJOe77vbfL>P^RD{sY-wDTtbJ@|5a>pjvI-?L&9ZF8IOD1w%Gt6uRxofmr+~tYd-TE z#r-ZJhmgOn(%95_p=9(yySR-z*h2Uy zQRVPcYmJZLsmWKz>PPO{+VSE;-F(%heX-W^d5&er5<|6H)0#F-6qdlj!kotl-n>G! z8}A|oz3bLn`MqdB_l}6IVnF1U*~yQ_jte{Uqk=i$=4lV)VNC$cdI~rmwmPhBZ6K7j z<{~t9kGuDEwQt!Dgi~w(XCQM}^1}dXVrxtfc<-m(vcdlp(90jtYQ2oAPu8cjj2|$1 zy^QH2H>3^8AF^h?jGHSqWGsyza(28-*vB+v9myZ@uDwjUZ%X`&&FjC?&f6F4U+=s} zhrJg6?z|V4JvTuD{oJ<4!O7{~k^9-z_56j~&BNo^o$J%v^^422N0C9trzudq|UhO?k1y>f4fuug_<@^9D1Ho+9 z*mUlfVi2z%^s$DBd2gOjxC%4;=M%+Z^t4;22=sDDz+2gDBQDsPKov`y=(Qz^wOk#_ z@FH6US`|do&2onG+9z8f6qOU!+Bd~&=`Mul>bo~oX0X0fSSxmKYzLm-RA79*QK=`f z-N}@RL7lTOrm`6;-#I-!><_0mxmD@2pV=*K%S}8vkzP5@XGAp+oNd-L&qLd3mM$;w z+-6s*LeXQFNtkXoMpHZ3f%k3KGP6C(HI_bXSLc{5b{CAiyzXW_P6c8|9fZ0&nHupC$L`pEMjk$qP%?o*);KT%u&24*B*v4O?;uK4XoJIYk7RJ&n+Hl#Eo5BZl3!hb$ouS7CeFMo-iD|XL`RmFiW z^ugz*T8S6iX-$ilM@z>@l9GMFNEYD5N!OLa)HFeMH`TTfeLirI zQv;ZoIhekfy0}E}99i0Ix>LD%WVDr92bA+r+xwIcr(x=V>OYcV3}?)Xe#pyOV5I2s zN|a% z^20_F*8Ro>%8}OdQg@tJ4RTu%HU5^yBWoH^Kci^wH^;*+Lh`8i)bcBAEiG$D^Npb$ zHeJq^`7&^=x_xhyPpR{KQ|_wGb&~F){mNkM*a|8uM?(Uw^Tq~$Rh~iP-|aYz(+9~k z)N;P9uw`M#b~5(~Vr8?=QtWxx&oZ%f)z2}A=`_sqt7bb7;gEIS%xUB4+$?<$?P4EM z)k18Z)ZwafU9pa=Vv)Bpn{!?a21%PuBBko7S`fww-3j#whNm@m=zsL`^ZY z@3sb2cYLky5aT;bEbQhv&xe?LJ1^d|>A0zZ>25Dzm3wX|u47{IzDvjjx}DCNeQ@8k zk#)a4ucg|(-fa;P`QA!EeVw|VM?vzr8vY>cdAxJddwXdi%e@*e<-dRU>N5$k{Rc8l z2>f!&|21zb4!JnzEI`g1On&RrQfcp_1d7+SR>V8$vCyu^S3`e@e4zNS5E^N%*SQ$U z^S5JROwns1G{~upOG6Q7gXtimPJP(;x`vPJ!Z6A#7_>90S}a^te7P+BcG=;9U}a@s z1klkCZ4Fg|K(;7yr41Ilm~0R~E6Os(=DT3A8Xf$XeQdDXW7z}Wrbre6R=G-3O1i(QVASb5k zGne3o_7y7p0VoPjF69}{yv=&3azSMhvkzc2z3A1FnL zPLspB2lKyF9gEzB$Ad0`3y#mrq;C45+M%5g0gRHa)f#0E}O3->{CpGQ;TCUzwk>BY}JFRL$G zSmUXk%SeYlaNqQ>&bj#i*!20mWNsNEKZ}By_64A7Z<{i5Oa9chN2josFagv5?y`TwV_Zpl4o);I8J zuO$!-m|Xcw19rDP_K#2I4*yC7L+5UwaH3n+hnJHlmsjAy`{6rYD?^@eAnX!ORAQ|` z!%sv4S#fC8$$`k-rs)Bi*%U2y~O+Q?4 z_jnJ~l9HVeah;U$lomq~2G-{SadN{nqX0hM`MprI5OpJemV%UF zP_fO=mFTuV$9i!rB5>Jcr-2t zO;K`2Gax=6p6fJ&#?{?2rP#B@GQFz)=`<-@@qwl!%EZCETJwCA4zn9*DN*}NMZ~&J z1s@nm|7Dc%OuS)|70jklR$h()ZBf@sym=L^&!$Dx8-ek2C^+*a8W_H;g~Vw!f^tV* zJpxlH(S%%$!w}975i{?<6{y*&CjTUbi1v6~7E`ZM zvr6M3-{E)NB-X?bc4+0+Fu9#IYan&$xJHSA=lQKU^Aye9c=Ez}DJS<)=WP(f(|GD+ zz$X3uw2&6|{fs5*McIrzS9W8xoYWuVa+_Q0rg`-}z{8?0&xOT;z8As5f?jG>c_M8> zRdbnj4Z-A^%~1Bky7QI~#;W^KRoRAV?w;GW&JDx!b_zJqZ7Zy!+V%R5~-*8Xx@+9K$2Qfo!~Hd3?1NOKxjQT>*l zGj{QI)v>ktay>9K?sYIs)#G&S*|O)IKW3%)cHgY_)$?wdi-RMf%`LaK@Rc0fD}Cpw-1Ik)<4G&`*m9O+5N+6$DzCB7xw5h z4}0(qoSl0ymWrJZ|9}DHm{~vZpjp_dQ9kNNVm}eBL%2eH-nA>N1Xjv4&{Lw46g{51 zm)?>k;xg0lPj^`y~ReTt5~${`bgjI@SxkwO*B|Xq32=Qko$gJtnWS< zaUXV^$Y@=3$od=+IzU>45-lbu*q8{084a8nO_#i_sGSucUDC7h0<_Exvro1$EeMo#T_eF{Ve1tSjSsLrh;Qa5`VV-QW9E?PrcFaMz{H(-2= zxgovIgOc6CbljqxK7BFDl%wH<&D!zKWbM5~zlcV$Bd#G!8;_EA0%y`C;UMd>lbCid zoZW8rF8iX>?EVn&)qAxe*N`4U_zz$*z%ectdZSbr9ao8!x$%Frch+xF0NkDjhfYOB zLP4avy95PcNNJIfh5?3dhL-N`7bF}@Aldg619S;ByC=(z{XQb zYKz5uS(T$c3}y&b7Yf1Ylw7>!vrm&tq#nvo3D_p?p462s-7#zQx=$3Bl$WRqvS}4& zPLyb92g|hXY1Y6d365$j9FS~!NDbk(>vm+|K{n-VSbf9(@%B^O?_@^!5>vNY)PJ* zy$H49B%J$YlnO10Ik0B_JU8K>WO(S<-YGJv(X*TRFyE1j-(q%ozQ6uQFLS)4&!59 zcyH}eip&;+p!Qh>Xnx_zJv>nX9Xdwb<$3`$vFoWO z8iL(rK0^a}XNKJEI|g_G>AuTWt)z-jZ^gNeJ=;g?0s%6s0~C!r)xw?PFG#gFJQ<9- zc_}mz27i$H{Xk)tdYl_3Ye>w8q)WR?*R~0m8IopS47M{f4*Xpib0GxIj*zy>&E9F~ zT!Dv$ae?pW4-hSfH(=Dk&E$@GhNf`|HIutXb%X8))z6}PyKAF~VPKTt?Ri&o!+qPO zq%Um0s-Xe?(1!BH_Z@49gZ$}FOAPS1*f#c^Qu+GD7^}o8Uy+oAyucIf!qAz9b66{f z(%N6oe4P)(8~1Bv-6@Emh_KFxBt&|WMUHpuU$C~vC5JVn=|W~7e|6wP8K)( zWS1;v)@{c`lNi*^;Hf}WYA!2}U@{N<7$j%``3#(~_-sr=tH@F|zt$ zY+2akr;}|@l@xFZ?-eH>U6vP?dpGPQ73Y?+!h(UK>}BwgtG&o3nnv5`R*mcZm=2K0 zL40>8%9A6l&fAN=$5#|3SSM) zj!NTj)|$P4VRJqf#MsI(s_fJ3?5zG__*9d5)XeSo7_j1EO2Z5yDD@?bSSCOzZFp&7 zQyX3nH`RQ&n78d+yj*a7I^e!&z71bq@?Sp`&Is5?1KER|1P$b;VBzHlfun=;{!RofxVgH_3~j{?)FaB~t9zB3R*R>>H3vEE2=QMn z6~Mb=Ib81M&e1`xdq0;QojGbru#&!(Ud%K!X!n zOj-rTD@u0XXW73oeYSrPQGtRxmGW^t%saN-97ALtt)8G=bk6d}zHjVI1hYenYx{ZB zxV2~r9n!N9V-7(Q%5;F^`mWb}!J#`*1yAC3y6!QZB9N>Fhmm-4kpfRpfm)SoVTisC zX3!H6QD0;7c9t?8BlQUL`_adAAHoC(c!L0Th17cVGx&NaAf_N4OB29Hni^`s zW=A|?m(Ev+|IJ2&-^{9!37KE65-V7fWxd8EB5gVB1gp&6@}1@S?KR?n)XZ7)Wgebl z9rfy|$(1T(mOAqqg*e0WP#nfWfJgxdnO1&>#E$e>`7a!3K>^Ad!1CVd>Q_V$Zvi=@ zsT}`+e6({i6!5^JAjzh&|FyP=iIEkU<2jy!)GFp8E)X}1?2Z|)jpA%&C9;D3&Y7z% z6}x9uAMN{Hkf~lKzeulQa7Lxua{4^X?_nPoz^+GjR9Ec}V>jI` zo9UK6sg8xL>(LLgbZXRx8MbnmF;~nEch=VAGBR1?&d-eHk|9gFi!3y$2PToJ$=MK2 z^!Cx`ZS(s2Qa4U8B;xZBw7#Kw!rtDC&|osvy`eUP6AVVHp&M)sDMKloPI=!KW;AqD z#x{vC2v(Rdh%}A=)kXi00r}sEbN@_VUL%Z&L3e{i48Zs=eE%=_mQyGjeT@_PI88BJ zVRRKck|IiFs0=k?$`eZ|9K^8wty3ZTjhZ*RqKw7QWG+Hv2;~{=aOQ;N($7y0%%hfK zFHp6tuGS;@q|vu$<tnlM%Jx-UaxH`18W8#6JKPOF^l;lH%=Na6x+3Yw!FI&FlYK!Ev}uva(dVnlVlC2cSNti{b=v|USh?=861q!FQ7t54(y z=PMj&|Dx0%zMNd;`b%T(#Ja9NK|h7CYO*pmIQb-OZ21UU`dXFfNYf-}4_}DRni}L` zqCyD`&JTaZbh&Cnrz&i!%-Fp7#h=xv9%{?UcLi1A9ZxZH5{FF`8hw?(Th@+W)SHiM z!}c1FXXo|GN}`v+PfxD?h@Y4eW|EPa`qF7vFF}4u*UScZDsP$bB{X@HppR)oNrJy$T2Mi-l%BN@%WI%QhNX^hTKaVMj%n@)( zoO01L3q5}|uu~YH2rMYUTM+2kRZ%w>+_^H#L2VKCE^7{etZEG$0@L1~%{S?2ST^ckE5pnc^IYi{(BChF{(i z(6t!#DLGJFF5Sts-MV);w12)QbR>U7>MPfQqf5t)fp7IBpk>}0%jqY%%02uid0v!L z&#}&sQ!fdG2r2W1`@2)W7&7FvmbprTvDx)z&dIPK64V3LGB zMP;b8b2-1;196*kbs2U~blE1ZT^zeSy!wsCckhbUi`;9OaH|T>DNkXNtEEGfJeSvE zauwuyGs&kL-B16`X7#yxTq8w<7p|APej(Fp?eVM{MfqWrPcVX=d1P z=0*aaRer%DPWwRwvk8t0&cg-Z$@ZBzhA`dcUWJBrvRoVoy|G*MGwN$58E_0GuPi`; z@nqJExk4o-9ur3ib-a!(4`~EIpFjkD&dfSS@D0#CQN!y7F>s>1IV#s2GDYg&fSd%_ zd=t;x6c`v%k0Z<_prnin-2zl$QJrT{>a3^on-)&7CuQ`v8{xeYoe5s{2Zgl7J3n6$ z@M-z~d_zkr8qFTW9gn^gPSYjOqX15bHw-CaeAUz`C!d&P+Op2f+%K)hN0#g^uu1o^ z>4QovUqYM~l(E4~{3uq7CqA!ZqKg4Ygt_}y{zz1DLC%gZv&3}wh*zv# z_N73E#92QQa>{REdu=7X&#In@U7L@i!YrFrH2if-xd26SF)KqqR~w;`%(vCDvwdIw zar#MZA&n$JVIF5Jf#$f7$$}oJNhOhj?3~WLfjqdz{uykV23%L=yvhDWkY%PrsH`ZI_`vw-_vvoF zsVXA~M;-^;C%{M@GQ^F;lGJB*nBd8`+-?)AcZ2VLC8pMVmE^Qiu9#zqt*--3aM+nq z&(0b}AnQ5JKXPB#1C+=1^a^WQGFx&aUhqoP1eLFUmDTKAsM)kuxD2zEv>B; z>|k86xS`+heXx?#)5U9H$I`WBp0mnjG|I@zuc7sW#poU20iB6 zY+}NH#(V!~@cmD_b^jw)k9GXlG5Y`KyeGMR7`mdk$6x4i$nP-0;C^W^Q~CN`Abzl9 zw)GHQx9<~ngN1Mu9P>joC9`jlwNp`Z{2LWMj`GBpKzz;@$mrce3#?2Wt2GAevkuj8 z8voS&a?PFoeEFs)oS74h<0Vt6QeVB3F(+*`;6`q}uI$K4!WJE3b{#4`Y>P2Bm8d@) z^G>$Qnb&$dhw5T#n&vc zY~rwtO%l$6L|>ov{DM*^a@pO!*_#*?i?UbI;6L!Mco@&UzP+4Y@bZv8IQ;&`@q4H4 z92bhZY6rcr!7qH|%YPpHvy?FD@WLA%xIax&IfQ(1KU`=?#T^ilxHuWT0^%G?JxpGp zM${VAp8KPuABIkFQ~Yl+^s)m~p5STt96bsCqCqfamhV7H^_))f>5@)?`ir@D#-7xu ziB)mRPVzNXdglu|@7{h!V@o2TM#HGUR=l~$yD`s{Mg)+oy<7gN1|Erb=@rM z5hBGRxA^-L0&&dnSx9mqs=!fqb1E+`~WCvIKfujN+`%9PMA3$o*OA#d^)*6YcY?t~3 zH189{j){85q?sVFG36I30>6|#92Wnsm9@X9l_rE;OaYA_1ZO^}9lA}LJ4DtY%u0v% z=jsPm>*owzVlEf#vh1&@J*DBoiyl{;c8mW|>=r`U?XOpZ|H2!oquX;Dm!nW0RF5|- zbityX>D%y|tuLLNUMuH_<=d)9M_B7e z;y-@4EZzONCm*f;)2HTryMqu`yFY`!#7R@ZA{-bJ)Btad7ZU zoLxqsZVjN^r3-&t?i_E&rv3fyTDGg&)9(qF?ohZaH*kb6)=)C0N!SmpR8U|fG!HPl z-8vNL5OhMAe{vtzp(azUNp_H*CD7P{8Tm_>fgulHtqe+P>hP80eG;Mn^bZOuP-t^S z0ddOLcPG1!VS-J|_kMWqyUuyM-g7|BVnrk=*v7(He=cL^g?AEogVC$wb|%llc7Af` z$cN*izuZk@%Hu>jMK80MVI_sjFYt`{(b*MhF7+Y!2R>5%4Wg$$p2_A6O$hegh^CTh z?0rj4ALoWuME6_a!}hFGf(FR^>KT6j4AJS=&V| z3@dATzn1)XoTXhcyH)MLgQP}MxN8xIRmPyAsZ(ldr3H?|r+y=MWPEoE191etqFE$a z#;}$pNk)@`RW4cPWO4~8IP9McvH9U;b z+`59?OLKsfllv%SpfV3-PWcu9LI#p)S=fkJ4-moB(;3nEIi4KgJ-v5mMEyYlc^#!Z z|6Wauv#T}PgY}1ZY#Q-8=yqKY0MyhEO%YNd=8~gQHe(Zt8?SX_Zrz<#fN5sKYD;|v zS=HOGeix9{70XMqQ6|E)B6%+&sjdmBCPEq1T zg}&rI?QhtW;9M;{#FyOwz5UjtT7z(xgBqO8y>B@cOt5>Xpt)kxGmfpRM(5|I#I{r2 zBvVzfb&Tfpgm2O9Ix?xXGS?C|Yo=dcgT29F-CjO32EME*f#h3jipx$Q$#rc#4|(|6 zKa=g&)VoG^=vz*HP1gF*oxVWay=VbWF)w~3-lH*)}DMn66E$;|2%Lr?$L7CdQ7)kv3xYw z(7r>&9Z;CEjLGl%W1oX3fHZpL3f9m;g5nOLWn95N^XP#LGHN}U zf-WmOS}Jn|8ECi30T+3Z2uh}~JDTRsDf#g!U0>pry!_kpKMYDMK!CUw=x7>PEE0+;@z9*Q+NR$=Hs;+tf2laZ*zCqxll|x{g3Io z)!28XOD>~h&+QGmv=?cd6wM!Y+sd!%5Kr#x551d=&q=6#4Nqtz_#LDSMI0`MhDYVN z6MR88;N7f{<)tQ+|jCbAsl1J#&ILWhin(7C(CCecd(@ z$qfbE>QV-92424mJM&66vflTaqQ#BB8G|};gCCpG@;9fiSe1Sgq4%>*NRJO-j_k{f zyvVqwjl7|2%8TQCWRn^%Ak&naZ1%A!A(5VsvM34D*{dj_Iq(xS<-|+0IOAR9C#H;! zlO3wehsm;zn6Zt%rC6RIrovo3zv4|*aF2}@jwc9EmiY%(mX$;6i!5y}(kP^u4bYLNj}zRqhn~AvK{pyHfdEl&pn8V$Bu^ zxg(%@Ts#VecTm(x20SS45t^ugwohfQ!6~KYi|bT0innviz>J{UXApK99TTT4)+VBi z?;Oo0O%+F(ORTOr3pAL=JbA;9HkG`{k>u&eXsyZ;~7r0dke|uLWcQff6 zy3KtFF?uYp{=mz4(P;qijV`rw|HqN}9cq@+>}m>5<8tR}j^2f(L6aHZvo6q1_Un-^ z*Y~e~8RHq!jTuq2(v2IkNWT7UAOd+a@mZmjVNzdjk#XviHH2YW&(n};MmPM`%UPXt z!`E}#Wv#F0wHja1Eok;Z=oU3*7U`Bg?&Q2#R=-|kSW&}6F|Mjov@xxzuq?5xD~r%@ zY$%}=MmRQsdL-Oiiq_!C?|EITO()DJZR%Wu;R5HG&N^$$N-iE+2zzdZ)XC zsxI5RBgCd3)}O|+Y@CyHd{S8&GM*ZfV9YRKt_1`L@U9R)Ze+xs z3kVEx{zCj(uYBq2k;k)a+{5_JW+JBUppve9-0yE>sG@loUmGm$s^TR*n;Ieh$6*=K z#!d>DS@8Sad}0TYu9s7eVRpN8$M5mpm*9P47UMAe7@J;}%gP(hnBDQTfTfjR*$EZ# zF}dUULqa!&-59mV%Qr;r3aMP30nrwf(C%L%&zV#QBkU^WDH5)`L~gsIxvL9bE{0bM z?Tm4Gx^~c#lJ$`jX;8V?t(}l~rOF}$5@NK>C|`?GNsZV&7ci+G$|tOcXKj zlMk3NoW?|PSn#UOeh?}n6V6laVAr+jS21x;9TuhJa#2JYlKf!7n%V5uU{#Ln_?FK4 z8NjC^KV;F9h&7_T#ak%K!>)0bLEp$EB$q$@ksO{yltm-LI5p%HYm>R<`&8_AM!6eO zQ~Sub6u!nf3LdM;J#S`~vMCvb+#>Q&M09Tfx1G*pt`-2vG74hYFMmFCb?^wn@}7`w zB;r&PN^WQ^$M4+{;+(8a^T2|TWg91Dttn!YU++?PNkd>Ysce%7ygHZ_luZY+HUXDXtT37c zYIU)7RU~S&SW52WqN{@vbePYHt`6V?=<1*ZT^*R~o<+(wow`N%J+M<;vCViquCJCL z;xL^@hxtd}zQr068PO{#^=Vvkq_!UL#lt@RP_3`YK0Nrs&#tdYQ(qe_$_Y9ao0=5c zs>vjV+tL!w4-UB3C)#s@**||CSaNSjKeRXZCtMhY)i+kbCpn!Xq84UeHZ(QTae^}l z4VTy&8YkcgtC0Pf15jETwIL}60S`R}QIgqz(iZ&xWg4&$_OCm2|L-;YeVCa4U6}hp z@h{#y`c~ZB%!_|np5I+u??4N4e@>PTo}XS`UEiEPyLmwUUAa`jP^iwAv3SJz(x5N? zOD7&NJuvy|ap%t{ieYWvc+|JT4^Gt7zAqJ>KPe&O;kC1^)t&kGT=7oV7RX zKNTIkoSTW$oFA}AB?r$oc_vI=PzYBooA`)dKI{uu4}T9KY~PF$;Wg@_z!gs=yn$}? z+p(*)M9)@k<-~~RJ-ke)*?|{PXG$3g3U*Ca<~8F`iPcZd;+o9MN6zOTEz0`5xF=pH zb%feR1xu2|H=bq={T1~m;csr=ozT_S)fc}TJ-lu9nZ~D~y*x46=Y1ZRYkA|dJPB zSwS!vOl~!dn~s7sfPti!&YH4>f=+tBZU^c|*H+dW&D*KB94--7|Xv-0(a!}ACkVxlp*F@qXhJ=rgJ)k$sH$WiFlFRpTt8ReYu~UAAq2ax#oie-ZIOq8o4>;c z!FES&KKd=E?(z<;NsCbqrng6Ty6vbfY{wri#LAAJacCu|s0q3T9lOq?h`zOwsbxEK zlb@jj{=eX%Z$D`K4IKO4&?`Il6IKN}_p((HIS+Eh5xER8jVikgfEJWz`^5%(Tt*cc ziCo>JNn`ScGP?mny@OFFj04eoA#iOZLR_U+wQL(>91e@Ai~xv$3-dU-$CPIjsCsg zjdxC58}Dk>Xxr@(0LT9xyH@7yeUnn0w8HJNvC16^u!6!0mwwbU8gTS(<@Q;)6i(`B z;9Bs?6+@pSf#qn>RM*P60G=d?&}i@gVD;p^f&>}PXh_?;)g!HNaq_8=ugKulee*ss zs*;h=lCISqS3EHq_mQwnz}jYrg6JFhk?`1eYir5jB245X5kbLg%SC;{Y+J*qNcXO_ zg<3peuKM995MX`wr-Be)=y0^ryY;Dwa6uuR;TVnJ_1_zP0_a!hvGQH(zs~Ulq%Mcz z!~h$^Sc?3zJwx$a?=}XWMexa|4kf$^-solM=LK30C6ae-{1m|FRTUaaA^>c5yjSGW zz!^$L$!@l3MR4m(4W^t1ZGJcJ=h813Ox^0-Y;?uvGIEbfz+ee5#>nT*r8rCPQ!e34 z>mRZdJInYLT_RAbI1JK1%bXc15o+ik278}ntq_%p^eT=xXP#y6D3^*&_m8+YpXL0C zE|u6;9QB?%%e@{dmAdL5^}9XG!yqnuiwpb}M0K8zr&1>SV&GS(*m(i%t}{{)KccbJ!3l?+GSgQr^hlT1{z#C-_dMAWTv z3l#o7WK;eNMFMFcz~@UE=_(bVNs5%+3HX;TLr8{T<)?Upm^INs_xYI=i}?Y;+2{My zO`cDt7=6$bF?G=HK~uzWpd;jjiYr3o+d?-3wYVjrsO55hcW3eWL<#xzWh%_dsM~O#)Vkti6Y9U{!-_S zKQ|_BN>ZAIeD-$|N_`wg5+rg?wBa9q#!B70S1rynYcI#Q-cPS^_O{bXw4*>L_bHdT zhIiQ3G{A*LlP~@NQ0YpL#Mt)JfX8doE0)+g;dCzeVx@GxFN1bg!$|a9^ItNMQ9vW< zOITJS8K+j)LYdsrXGgiGSk_`hnsMo4BrdO)zvf%86gi+iU9Thn_xeoZmES0u$D%1> zkXZZCn(-|em-%w)rK{Jkv@bpMB{JrzHzOI?#pNYpc4QVCS@xzGS*fm}Hl@i*TcTUJ zUBkPj(oW71+xfPSyo>Y0*EGvC!h|wM3Pa@Cc14pf*SCuIS-f+Kvm-Zmz4JqFRZ4D? zL7-C2+nH^ccfC1AW%&TGq7XUaZClBCIIyqSCTn3^t+NTV`_@H+A}swjz?EfJlg>wI zUpuNwID*kc^*E;Pd3^^wbjgp}*A!=bP2f#y;dcNZd}u|I>CTTW>(<1B=T@?&Oe*k;vcs4N6(7EtfIM<7fdr8E($S zF;)Lc*9oMG%Ef@Xv7z&nKDCwGG!YE*(!(ImaB9=3$v7+`}<@#3uZLB9{B)6*kx-T<{XbJ?ShR9n@HTLt^LO?sbwp08^ zwzr^GqMo}?b7ODwU{yv|`v__RpMwGZ4Vo+KQel||11i9!lifa{DagbKIS`r8NT@OX8wHb}&9g`pL<}JrZXBc{%-Y5t51TQY4mGP@ai9PJPE4HkC{ZJxX*G9j9BA;sLP!bJbv*&#TuZGT0GTFP$F0FnZ9j2iaoZ!tL z=J-7NmxHOdotv$$irhv$gK0;PwwgmCxJ*+A)7NCT8j|}t6&~ed_+thPBIW+`DZ=;f fPy{%hn0a2rqEZgj9T-n-J}>5pVdX*Z^N9a9I_Y1V literal 0 HcmV?d00001 diff --git a/public/loginBoxLeft.png b/public/loginBoxLeft.png new file mode 100644 index 0000000000000000000000000000000000000000..eaf3f73dd9f8cc7e07c29d6d9efe2abe451ed096 GIT binary patch literal 137418 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 X`v=jFJch3l00000NkvXXu0mjfM9!=l literal 0 HcmV?d00001 diff --git a/public/logo.svg b/public/logo.svg new file mode 100644 index 0000000..c458fad --- /dev/null +++ b/public/logo.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/public/pro_icon.svg b/public/pro_icon.svg new file mode 100644 index 0000000..e075b78 --- /dev/null +++ b/public/pro_icon.svg @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/public/scripts/loading.js b/public/scripts/loading.js new file mode 100644 index 0000000..c1ced54 --- /dev/null +++ b/public/scripts/loading.js @@ -0,0 +1,202 @@ +/** + * loading 占位 + * 解决首次加载时白屏的问题 + */ + (function () { + const _root = document.querySelector('#root'); + if (_root && _root.innerHTML === '') { + _root.innerHTML = ` + + +

+ `; + } +})(); diff --git a/public/sst.png b/public/sst.png new file mode 100644 index 0000000000000000000000000000000000000000..2d73161557c42953ed6a2005549284cfa6ea1d42 GIT binary patch literal 378479 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

Z7OKgU?F53J;& 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 + // return read_paths?.includes(route.path) + return true + }, + canUpdate: (path: string)=>{ + // return update_paths?.includes(path) + return true + } + }; +} + diff --git a/src/app.tsx b/src/app.tsx new file mode 100644 index 0000000..5141e14 --- /dev/null +++ b/src/app.tsx @@ -0,0 +1,230 @@ +import { AvatarDropdown, AvatarName, Footer, Question, SelectLang, Notice } from '@/components'; +import { LinkOutlined } from '@ant-design/icons'; +import type { Settings as LayoutSettings } from '@ant-design/pro-components'; +import { SettingDrawer } from '@ant-design/pro-components'; +import { Link, RunTimeLayoutConfig, getLocale, history, useIntl } from '@umijs/max'; +import { RequestConfig } from 'umi'; +import defaultSettings from '../config/defaultSettings'; +import { errorConfig } from './requestErrorConfig'; +const isDev = process.env.NODE_ENV === 'development'; +const loginPath = '/user/login'; +// @ts-ignore +import { SelectRole } from '@/components/RightContent'; +import zhCN from '@/locales/zh-CN'; +import { postMenuGetMenu } from '@/services/system/Menu'; +import { getUserGetUserInfo } from '@/services/system/User'; +import fixMenuItemIcon from '@/utils/FixMenuItemIcon'; +import { getAllRouteNameTile } from '@/utils/common'; +import { addLocale } from '@@/plugin-locale'; +import { MenuDataItem } from '@ant-design/pro-layout'; +import cookie from 'react-cookies'; +/** + * @see https://umijs.org/zh-CN/plugins/plugin-initial-state + * */ +// 自定义路由路径集合 +const isCustomPageTitlePaths : string[]= ['/resource/algorithm-model-detail'] + + +export async function getInitialState(): Promise<{ + settings?: Partial; + currentUser?: API.UserView; + loading?: boolean; + fetchUserInfo?: any; + menuData?: MenuDataItem[]; +}> { + const fetchUserInfo = async () => { + try { + const msg = await getUserGetUserInfo(); + return msg.data.userInfo; + } catch (error) { + history.push(loginPath); + } + return undefined; + }; + // 如果不是登录页面,执行 + const { location } = history; + if (location.pathname !== loginPath && localStorage.getItem('access')) { + const currentUser = await fetchUserInfo(); + const menus = await postMenuGetMenu(); + if (getLocale() === 'zh-CN') { + let localData = getAllRouteNameTile(menus.data.routes, ''); + let localRes: any = {}; + localData.forEach((v) => { + // console.log(v.title,'localData_v') + localRes[`menu${v.name}`] = v.title; + }); + console.log(localRes, 'getAllRouteNameTile'); + addLocale('zh-CN', localRes, { + momentLocale: 'zh-CN', + antd: zhCN, + }); + } + + return { + fetchUserInfo, + currentUser, + settings: defaultSettings as Partial, + menuData: menus.data.routes, + }; + } + + return { + fetchUserInfo, + settings: defaultSettings as Partial, + }; +} + +// ProLayout 支持的api https://procomponents.ant.design/components/layout +export const layout: RunTimeLayoutConfig = ({ initialState, setInitialState }) => { + + return { + actionsRender: () => [ + , + , + , + + ], + avatarProps: { + src: SERVER_HOST + initialState?.currentUser?.avatarUrl, + title: , + render: (_, avatarChildren) => { + console.log(avatarChildren,'111111111') + return {avatarChildren}; + }, + }, + pageTitleRender: () => { + console.log(history, 'pageTitleRender'); + // TODO 目前使用路由path全匹配,后续改成从接口字段读取 + let isCustom: boolean = false + for(let i=0; i { + // console.log(initialState?.menuData,'initialState_menuData') + return initialState?.menuData || []; + }, + }, + footerRender: () =>

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�y{|zPU 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

+ } + > + + + )} */} + + + + + + + ); +}; + +export default PostList; diff --git a/src/pages/System/PostList/system-en.ts b/src/pages/System/PostList/system-en.ts new file mode 100644 index 0000000..b299e90 --- /dev/null +++ b/src/pages/System/PostList/system-en.ts @@ -0,0 +1 @@ +export const api: {[key: string]: string} = {'system.api.table.list.id': 'id', 'system.api.table.list.path': 'path', 'system.api.table.list.method': 'method', 'system.api.table.list.apiGroup': 'apiGroup', 'system.api.table.list.description': 'description', 'system.api.table.rule.required.path': 'path is required', 'system.api.enum.GET': 'GET', 'system.api.enum.POST': 'POST', 'system.api.enum.DELETE': 'DELETE', 'system.api.enum.PUT': 'PUT', 'system.api.enum.PATCH': 'PATCH'} diff --git a/src/pages/System/PostList/system.ts b/src/pages/System/PostList/system.ts new file mode 100644 index 0000000..f0ec2ae --- /dev/null +++ b/src/pages/System/PostList/system.ts @@ -0,0 +1 @@ +export const api: {[key: string]: string} = {'system.api.table.list.id': 'ID', 'system.api.table.list.path': '接口路径', 'system.api.table.list.method': '请求方式', 'system.api.table.list.apiGroup': '接口分组', 'system.api.table.list.description': '接口描述', 'system.api.table.rule.required.path': '接口路径为必填项', 'system.api.enum.GET': 'GET', 'system.api.enum.POST': 'POST', 'system.api.enum.DELETE': 'DELETE', 'system.api.enum.PUT': 'PUT', 'system.api.enum.PATCH': 'PATCH'} diff --git a/src/pages/System/RoleList/components/ColumnDrawer.tsx b/src/pages/System/RoleList/components/ColumnDrawer.tsx new file mode 100644 index 0000000..f0498b3 --- /dev/null +++ b/src/pages/System/RoleList/components/ColumnDrawer.tsx @@ -0,0 +1,49 @@ +/* + * @Author: zhoux zhouxia@supervision.ltd + * @Date: 2023-11-01 13:56:33 + * @LastEditors: zhoux zhouxia@supervision.ltd + * @LastEditTime: 2023-11-22 14:54:56 + * @FilePath: \general-ai-platform-web\src\pages\System\RoleList\components\ColumnDrawer.tsx + * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE + */ +import React from "react"; +import {Drawer} from "antd"; +import {ProColumns, ProDescriptions, ProDescriptionsItemProps} from "@ant-design/pro-components"; + +export type ColumnDrawProps = { + handleDrawer: (id?: any) => void; + isShowDetail: boolean; + columns: ProColumns[]; + currentRow: API.Api | undefined; +}; + + +const ColumnDrawer: React.FC = (props) => { + + return ( + { + props.handleDrawer(); + }} + closable={false} + > + {props.currentRow?.id && ( + + column={2} + title={props.currentRow?.id} + request={async () => ({ + data: props.currentRow || {}, + })} + params={{ + id: props.currentRow?.id, + }} + columns={props.columns as ProDescriptionsItemProps[]} + /> + )} + + ) +} +export {ColumnDrawer} + diff --git a/src/pages/System/RoleList/components/Columns.tsx b/src/pages/System/RoleList/components/Columns.tsx new file mode 100644 index 0000000..d2159f1 --- /dev/null +++ b/src/pages/System/RoleList/components/Columns.tsx @@ -0,0 +1,28 @@ +import {FormattedMessage} from '@umijs/max'; + +export const ApiColumns = [{ + title: (), + dataIndex: "id", +}, { + title: (), + dataIndex: "path", +}, { + title: (), + dataIndex: "method", +}, { + title: (), + dataIndex: "apiGroup", +}, { + title: (), + dataIndex: "description", +},] diff --git a/src/pages/System/RoleList/components/CreateForm.tsx b/src/pages/System/RoleList/components/CreateForm.tsx new file mode 100644 index 0000000..5e1df3a --- /dev/null +++ b/src/pages/System/RoleList/components/CreateForm.tsx @@ -0,0 +1,101 @@ +import {ModalForm, ProForm, ProFormDigit, ProFormSwitch} from '@ant-design/pro-components'; +import {ProFormText} from '@ant-design/pro-components'; +import {ProFormSelect} from '@ant-design/pro-components'; +import {FormattedMessage, useIntl} from '@umijs/max'; +import React from 'react'; +import {postRoleCreateRole} from "@/services/system/Role"; +import {Form, message} from 'antd'; +// 表单宽度 804 两列 +import { proFormItemStyleProps, proFormModelWidth } from '../../../../../config/defaultForm'; + +export type CreateFormProps = { + createModalOpen: boolean; + handleModal: () => void; + values: Partial; + reload: any; +}; +const CreateForm: React.FC = (props) => { + + const intl = useIntl(); + const [form] = Form.useForm(); + + return ( + + width={proFormModelWidth} + title={intl.formatMessage({ + id: 'system.role.table.list.create', + defaultMessage: '$$$', + })} + open={props.createModalOpen} + form={form} + autoFocusFirstInput + modalProps={{ + destroyOnClose: true, + onCancel: () => props.handleModal(), + }} + submitTimeout={2000} + onFinish={async (values) => { + postRoleCreateRole(values).then(() => { + message.success(intl.formatMessage({id: 'common.success', defaultMessage: '$$$'})) + props.reload() + }).catch(() => { + message.error(intl.formatMessage({id: 'common.error', defaultMessage: '$$$'})) + }) + props.handleModal(); + return true; + }} + > + + + } + placeholder={`${intl.formatMessage({id: 'common.please_input', defaultMessage: '$$$'})}${intl.formatMessage({id: 'system.role.table.list.name', defaultMessage: '$$$'})}`} + required={true} + rules={[ + { + required: true, + message: ( + + ), + }, + ]} + /> + } + placeholder={`${intl.formatMessage({id: 'common.please_input', defaultMessage: '$$$'})}${intl.formatMessage({id: 'system.role.table.list.code', defaultMessage: '$$$'})}`} + required={true} + rules={[ + { + required: true, + message: ( + + ), + }, + ]} + /> + } + placeholder={`${intl.formatMessage({id: 'common.please_input', defaultMessage: '$$$'})}${intl.formatMessage({id: 'system.role.table.list.sort', defaultMessage: '$$$'})}`} + initialValue={1} + /> + + + } + placeholder={`${intl.formatMessage({id: 'common.please_input', defaultMessage: '$$$'})}${intl.formatMessage({id: 'system.role.table.list.remark', defaultMessage: '$$$'})}`} + required={false}/> + } + required={false}> + + + + ) +} +export default CreateForm; diff --git a/src/pages/System/RoleList/components/SetPermissionForm.tsx b/src/pages/System/RoleList/components/SetPermissionForm.tsx new file mode 100644 index 0000000..2184f54 --- /dev/null +++ b/src/pages/System/RoleList/components/SetPermissionForm.tsx @@ -0,0 +1,210 @@ +import {ModalForm, ProForm} from '@ant-design/pro-components'; +import {ProFormText, ProFormDependency} from '@ant-design/pro-components'; +import {ProFormSelect} from '@ant-design/pro-components'; +import {useIntl} from '@umijs/max'; +import React, {useEffect} from 'react'; +import {Form, message, Tabs, Tree, Select} from 'antd'; +import {postMenuGetMenuTree} from "@/services/system/Menu"; +import {postApiGetAllApisByGroup} from "@/services/system/Api"; +import {postDepartmentGetDepartmentTree} from "@/services/system/Department"; +import {putRoleUpdateRolePermission, postRoleGetRolePermission} from "@/services/system/Role"; +import type { DataNode } from 'antd/es/tree'; + +export type SetPermissionFormProps = { + updateModalOpen: boolean; + handleModal: () => void; + values: Partial; + reload: any; +}; + + +const { Option } = Select; +const children = []; +for (let i = 10; i < 36; i++) { + children.push(); +} +const SetPermissionForm: React.FC = (props) => { + + const [treeData, setTreeData] = React.useState([]); + const [deptTreeData, setDeptTreeData] = React.useState([]); + + const [apitreeData, setApiTreeData] = React.useState([]); + const [initApiData, setInitApiData] = React.useState([]); + const [initMenuData, setInitMenuData] = React.useState([]); + const [initDepartmentData, setInitDepartmentData] = React.useState([]); + const [dataScope, setDataScope] = React.useState('1'); + const [hasInit, setHasInit] = React.useState(false); + + const dataSourceItems = [ + {'label': '全部数据权限', 'value': '1'}, + {'label': '自定义数据权限', 'value': '2'}, + {'label': '本部门数据权限', 'value': '3'}, + {'label': '本部门及以下数据权限', 'value': '4'}, + {'label': '仅本人数据权限', 'value': '5'}, + + ] + const intl = useIntl(); + const [form] = Form.useForm(); + + useEffect(()=>{ + setHasInit(false) + if (props.updateModalOpen) { + postMenuGetMenuTree().then((resp: API.Response)=>{ + setTreeData(resp.data.tree) + }).catch(()=>{}) + postApiGetAllApisByGroup().then((resp: API.Response)=> { + setApiTreeData(resp.data.apis) + }).catch(()=>{}) + postDepartmentGetDepartmentTree().then((resp)=>{ + setDeptTreeData(resp.data.tree) + }).catch(()=>{}) + postRoleGetRolePermission({id: props.values.id}).then((resp)=>{ + setInitApiData(resp.data.apiIds) + setInitMenuData(resp.data.menuIds) + setDataScope(resp.data.dataScope) + setInitDepartmentData(resp.data.deptIds) + setHasInit(true) + console.log(initMenuData, initDepartmentData, initApiData) + }).catch(()=>{}) + } + + }, [props.updateModalOpen]) + return ( + // TODO 权限数据过长 1440px 1920px尺寸下700溢出滚动,更大的屏幕可以自适应 + + title={intl.formatMessage({ + id: 'system.role.table.list.set_permission', + defaultMessage: '$$$', + })} + open={props.updateModalOpen} + form={form} + autoFocusFirstInput + modalProps={{ + destroyOnClose: true, + onCancel: () => props.handleModal(), + }} + submitTimeout={2000} + onFinish={async (values) => { + console.log(333333, values) + putRoleUpdateRolePermission(values).then(() => { + message.success(intl.formatMessage({id: 'common.success', defaultMessage: '$$$'})) + props.reload() + }).catch(() => { + message.error(intl.formatMessage({id: 'common.failure', defaultMessage: '$$$'})) + }) + + props.handleModal(); + return true; + }} + > + + { + hasInit && ( + + + } + items={[ + { + key: 'menu', + label: intl.formatMessage({id: 'system.role.table.list.menu_permission', defaultMessage: '$$$'}), + children: + + {(form) => { + return ( + + { + form.setFieldsValue({menuIds: checkedKeys}) + }} + height={820} + treeData={treeData} + // loadData={({treeNode}) => { + // return treeData + // }} + /> + + ); + }} + + + }, + { + key: 'api', + label: intl.formatMessage({id: 'system.role.table.list.api_permission', defaultMessage: '$$$'}), + children: + {(form) => { + return ( + + { + form.setFieldsValue({apiIds: checkedKeys}) + }} + height={820} + treeData={apitreeData} + // loadData={({treeNode}) => { + // return treeData + // }} + /> + + ); + }} + + }, + { + key: 'resource', + label: intl.formatMessage({id: 'system.role.table.list.resource_permission', defaultMessage: '$$$'}), + children: + <> + + + {({ dataScope }) => { + if (dataScope === '2') { + return ( + + { + form.setFieldsValue({deptIds: checkedKeys}) + }} + height={760} + treeData={deptTreeData} + /> + + ); + } + }} + + + + }, + ]} + /> + ) + } + + ) +} +export default SetPermissionForm; diff --git a/src/pages/System/RoleList/components/UpdateForm.tsx b/src/pages/System/RoleList/components/UpdateForm.tsx new file mode 100644 index 0000000..c72d4c1 --- /dev/null +++ b/src/pages/System/RoleList/components/UpdateForm.tsx @@ -0,0 +1,108 @@ +import {ModalForm, ProForm, ProFormDigit, ProFormSwitch} from '@ant-design/pro-components'; +import {ProFormText} from '@ant-design/pro-components'; +import {ProFormSelect} from '@ant-design/pro-components'; +import {FormattedMessage, useIntl} from '@umijs/max'; +import React from 'react'; +import {Form, message} from 'antd'; +import {putRoleUpdateRole} from "@/services/system/Role"; +// 表单宽度 804 两列 +import { proFormItemStyleProps, proFormModelWidth } from '../../../../../config/defaultForm'; + +export type UpdateFormProps = { + updateModalOpen: boolean; + handleModal: () => void; + values: Partial; + reload: any; +}; +const UpdateForm: React.FC = (props) => { + + const intl = useIntl(); + const [form] = Form.useForm(); + + return ( + + width={proFormModelWidth} + title={intl.formatMessage({ + id: 'system.role.table.list.update', + defaultMessage: '$$$', + })} + open={props.updateModalOpen} + form={form} + autoFocusFirstInput + modalProps={{ + destroyOnClose: true, + onCancel: () => props.handleModal(), + }} + submitTimeout={2000} + onFinish={async (values) => { + putRoleUpdateRole(values).then(() => { + message.success(intl.formatMessage({id: 'common.success', defaultMessage: '$$$'})) + props.reload() + }).catch(() => { + message.error(intl.formatMessage({id: 'common.failure', defaultMessage: '$$$'})) + }) + + props.handleModal(); + return true; + }} + > + + + + + } + placeholder={`${intl.formatMessage({id: 'common.please_input', defaultMessage: '$$$'})}${intl.formatMessage({id: 'system.role.table.list.name', defaultMessage: '$$$'})}`} + required={true} + initialValue={props.values.name} + rules={[ + { + required: true, + message: ( + + ), + }, + ]} + /> + } + placeholder={`${intl.formatMessage({id: 'common.please_input', defaultMessage: '$$$'})}${intl.formatMessage({id: 'system.role.table.list.code', defaultMessage: '$$$'})}`} + required={true} + initialValue={props.values.code} + rules={[ + { + required: true, + message: ( + + ), + }, + ]} + /> + } + placeholder={`${intl.formatMessage({id: 'common.please_input', defaultMessage: '$$$'})}${intl.formatMessage({id: 'system.role.table.list.sort', defaultMessage: '$$$'})}`} + initialValue={props.values.sort} + /> + + + } + placeholder={`${intl.formatMessage({id: 'common.please_input', defaultMessage: '$$$'})}${intl.formatMessage({id: 'system.role.table.list.remark', defaultMessage: '$$$'})}`} + required={false} + initialValue={props.values.remark} + /> + } + required={false}> + + + + ) +} +export default UpdateForm; diff --git a/src/pages/System/RoleList/index.tsx b/src/pages/System/RoleList/index.tsx new file mode 100644 index 0000000..4ebc0ea --- /dev/null +++ b/src/pages/System/RoleList/index.tsx @@ -0,0 +1,386 @@ +import {PlusOutlined} from '@ant-design/icons'; +import type {ActionType, ProColumns} from '@ant-design/pro-components'; +import { + FooterToolbar, + PageContainer, + ProTable, +} from '@ant-design/pro-components'; +import {FormattedMessage, useIntl, useAccess, Access, history} from '@umijs/max'; +import {Button, Popconfirm, message} from 'antd'; +import React, {useRef, useState} from 'react'; +import UpdateForm from './components/UpdateForm'; +import CreateForm from "./components/CreateForm"; +import SetPermissionForm from "./components/SetPermissionForm"; +import {ColumnDrawer} from "./components/ColumnDrawer"; +import {postRoleGetRoleList} from "@/services/system/Role"; +// 列表操作栏组件 +import TableActionCard from '@/components/TableActionCard'; +import IsDelete from '@/components/TableActionCard/isDelete'; +// 批量删除 +import IsBatchDelete from '@/components/BatchOperation/isBatchDelete'; + +const RoleList: React.FC = () => { + /** + * @en-US Pop-up window of new window + * @zh-CN 新建窗口的弹窗 + * */ + const [createModalOpen, setCreateModalOpen] = useState(false); + /** + * @en-US The pop-up window of the distribution update window + * @zh-CN 分布更新窗口的弹窗 + * */ + const [updateModalOpen, setUpdateModalOpen] = useState(false); + const [showDetail, setShowDetail] = useState(false); + /** + * @en-US International configuration + * @zh-CN 国际化配置 + * */ + const access = useAccess(); + const intl = useIntl(); + const actionRef = useRef(); + const [currentRow, setCurrentRow] = useState(); + const [selectedRowsState, setSelectedRows] = useState([]); + const [setPermissionModalOpen, setSetPermissionModalOpen] = useState(false); + + const handleUpdateModal = () => { + if (updateModalOpen) { + setUpdateModalOpen(false) + setCurrentRow(undefined) + } else { + setUpdateModalOpen(true) + } + } + const handleSetPermissionModal = () => { + if (setPermissionModalOpen) { + setSetPermissionModalOpen(false) + setCurrentRow(undefined) + } else { + setSetPermissionModalOpen(true) + } + } + const handleCreateModal = () => { + if (createModalOpen) { + setCreateModalOpen(false) + setCurrentRow(undefined) + } else { + setCreateModalOpen(true) + } + } + const handleColumnDrawer = () => { + if (showDetail) { + setShowDetail(false) + setCurrentRow(undefined) + } else { + setShowDetail(true) + } + } + const handleDestroy = async (selectedRow: API.Role) => { + // postRoleDeleteRole(selectedRow).then(() => { + // message.success(intl.formatMessage({id: 'common.success', defaultMessage: '$$$'})) + // actionRef.current?.reload() + // }).catch(() => { + // message.error(intl.formatMessage({id: 'common.failure', defaultMessage: '$$$'})) + // }) + }; + + const columns: ProColumns[] = [ + + { + title: (), + dataIndex: "id", + sorter: true, + // valueType: "digit", + filters: true, onFilter: true, + render: (dom, entity) => { + return ( + { + setCurrentRow(entity); + setShowDetail(true); + }} + > + {dom} + + ); + }, + }, + + { + sorter: true, + title: (), + dataIndex: "name", + hideInSearch: true, + }, + + + { + title: (), + dataIndex: "code", + hideInSearch: true, + }, + { + title: (), + dataIndex: "sort", + hideInSearch: true, + }, + { + title: (), + dataIndex: "status", + valueEnum: { + true: { + text: (), + status: 'Success' + }, + false: { + text: (), + status: 'Error' + } + }, + filters: true, onFilter: true, + }, + + { + title: , + dataIndex: 'option', + valueType: 'option', + fixed: 'right', + render: (_, record) => [ + { + setUpdateModalOpen(true); + setCurrentRow(record); + }} + > + + + ), + }, + { + key: 'set_permissions', + renderDom: ( + + ), + }, + { + key: 'destroy', + renderDom: ( + { + handleDestroy(record).then(() => {}); + }} + > + ), + }, + ]} + > + // + // { + // setUpdateModalOpen(true); + // setCurrentRow(record); + // }} + // > + // + // + // { + // setSetPermissionModalOpen(true) + // setCurrentRow(record) + // }} + // > + // { + // handleDestroy(record).then(() => {}); + // }} + // > + // + // + // + ], + },]; + return ( + + + headerTitle={intl.formatMessage({ + id: 'pages.searchTable.title', + defaultMessage: '$$$', + })} + options={{fullScreen: true, setting: true, density: true, reload: true}} + actionRef={actionRef} + rowKey="key" + search={{ + labelWidth: 'auto', + }} + pagination={{ + showSizeChanger: true, + pageSize: 10, + }} + columnsState={{ + persistenceKey: 'api_list', + persistenceType: 'localStorage' + }} + toolBarRender={() => [ + + + + ]} + request={async (params = {}, sort) => { + const {current, ...rest} = params + const reqParams = { + page: current, + desc: false, + orderKey: "", + ...rest, + } + if ('status' in reqParams){ + reqParams.status = reqParams.status === 'true' + } + if (sort && Object.keys(sort).length) { + reqParams.orderKey = Object.keys(sort)[0] + let sort_select = sort[reqParams.orderKey] + reqParams.desc = sort_select === 'descend'; + } + let resp = await postRoleGetRoleList({...reqParams}) + return { + data: resp.data.list.map((v: API.Role)=>{ return {...v, key: v.id}}), + success: resp.success, + total: resp.data.total, + current: resp.data.page, + pageSize: resp.data.pageSize + }; + }} + columns={columns} + rowSelection={{ + onChange: (_, selectedRows) => { + setSelectedRows(selectedRows); + }, + }} + tableAlertOptionRender={() => { + return ( + <> + {selectedRowsState?.length > 0 && ( + { + const ids = selectedRowsState.map((v: API.Role) => { + return v.id + }) + // deleteRoleDeleteRolesByIds({ids: ids as number[]}).then(() => { + // actionRef.current?.reloadAndRest?.(); + // }) + }} + /> + )} + + ); + }} + /> + {selectedRowsState?.length > 0 && ( + + {' '} + {selectedRowsState.length}{' '} + + + } + > + + + )} + + + + + + + + ); +}; + +export default RoleList; diff --git a/src/pages/System/RoleList/system-en.ts b/src/pages/System/RoleList/system-en.ts new file mode 100644 index 0000000..b299e90 --- /dev/null +++ b/src/pages/System/RoleList/system-en.ts @@ -0,0 +1 @@ +export const api: {[key: string]: string} = {'system.api.table.list.id': 'id', 'system.api.table.list.path': 'path', 'system.api.table.list.method': 'method', 'system.api.table.list.apiGroup': 'apiGroup', 'system.api.table.list.description': 'description', 'system.api.table.rule.required.path': 'path is required', 'system.api.enum.GET': 'GET', 'system.api.enum.POST': 'POST', 'system.api.enum.DELETE': 'DELETE', 'system.api.enum.PUT': 'PUT', 'system.api.enum.PATCH': 'PATCH'} diff --git a/src/pages/System/RoleList/system.ts b/src/pages/System/RoleList/system.ts new file mode 100644 index 0000000..f0ec2ae --- /dev/null +++ b/src/pages/System/RoleList/system.ts @@ -0,0 +1 @@ +export const api: {[key: string]: string} = {'system.api.table.list.id': 'ID', 'system.api.table.list.path': '接口路径', 'system.api.table.list.method': '请求方式', 'system.api.table.list.apiGroup': '接口分组', 'system.api.table.list.description': '接口描述', 'system.api.table.rule.required.path': '接口路径为必填项', 'system.api.enum.GET': 'GET', 'system.api.enum.POST': 'POST', 'system.api.enum.DELETE': 'DELETE', 'system.api.enum.PUT': 'PUT', 'system.api.enum.PATCH': 'PATCH'} diff --git a/src/pages/System/UserList/components/ColumnDrawer.tsx b/src/pages/System/UserList/components/ColumnDrawer.tsx new file mode 100644 index 0000000..7745c4c --- /dev/null +++ b/src/pages/System/UserList/components/ColumnDrawer.tsx @@ -0,0 +1,41 @@ +import React from "react"; +import {Drawer} from "antd"; +import {ProColumns, ProDescriptions, ProDescriptionsItemProps} from "@ant-design/pro-components"; + +export type ColumnDrawProps = { + handleDrawer: (id?: any) => void; + isShowDetail: boolean; + columns: ProColumns[]; + currentRow: API.Api | undefined; +}; + + +const ColumnDrawer: React.FC = (props) => { + + return ( + { + props.handleDrawer(); + }} + closable={false} + > + {props.currentRow?.id && ( + + column={2} + title={props.currentRow?.id} + request={async () => ({ + data: props.currentRow || {}, + })} + params={{ + id: props.currentRow?.id, + }} + columns={props.columns as ProDescriptionsItemProps[]} + /> + )} + + ) +} +export {ColumnDrawer} + diff --git a/src/pages/System/UserList/components/Columns.tsx b/src/pages/System/UserList/components/Columns.tsx new file mode 100644 index 0000000..d2159f1 --- /dev/null +++ b/src/pages/System/UserList/components/Columns.tsx @@ -0,0 +1,28 @@ +import {FormattedMessage} from '@umijs/max'; + +export const ApiColumns = [{ + title: (), + dataIndex: "id", +}, { + title: (), + dataIndex: "path", +}, { + title: (), + dataIndex: "method", +}, { + title: (), + dataIndex: "apiGroup", +}, { + title: (), + dataIndex: "description", +},] diff --git a/src/pages/System/UserList/components/CreateForm.tsx b/src/pages/System/UserList/components/CreateForm.tsx new file mode 100644 index 0000000..859e37d --- /dev/null +++ b/src/pages/System/UserList/components/CreateForm.tsx @@ -0,0 +1,266 @@ +import { + ModalForm, + ProForm, + ProFormSwitch, + ProFormTreeSelect, + ProFormUploadButton +} from '@ant-design/pro-components'; +import {ProFormText} from '@ant-design/pro-components'; +import {ProFormSelect, ProFormDependency} from '@ant-design/pro-components'; +import {FormattedMessage, useIntl} from '@umijs/max'; +import React from 'react'; +import {postUserAdminRegister} from '@/services/system/User'; +import {postRoleGetRoleFkSelect} from "@/services/system/Role"; +import {postDepartmentGetDepartmentFkSelect} from "@/services/system/Department"; +import {postPostGetPostFkSelect} from "@/services/system/Post"; +import {Form, message} from 'antd'; +import {beforeUploadImage, handleOneFile} from "@/utils/common"; +// @ts-ignore +import cookie from 'react-cookies'; +// 表单宽度 804 两列 +import { proFormItemStyleProps, proFormModelWidth } from '../../../../../config/defaultForm'; + +export type CreateFormProps = { + createModalOpen: boolean; + handleModal: () => void; + values: Partial; + reload: any; +}; +const CreateForm: React.FC = (props) => { + + const intl = useIntl(); + const [form] = Form.useForm(); + + return ( + + width={proFormModelWidth} + title={intl.formatMessage({ + id: 'system.user.table.list.create', + defaultMessage: '$$$', + })} + open={props.createModalOpen} + name={'createUserForm'} + form={form} + autoFocusFirstInput + modalProps={{ + destroyOnClose: true, + onCancel: () => props.handleModal(), + }} + submitTimeout={2000} + onFinish={async (values: any) => { + console.log(values) + if ((values?.roleIds || []).length) { + values.roleId = values.roleIds[0] + values.roleIds = values.roleIds.join(',') + } + if ((values?.postIds || []).length) { + values.postId = values.postIds[0] + values.postIds = values.postIds.join(',') + } + handleOneFile(values, 'avatarId') + console.log(values) + postUserAdminRegister(values).then(() => { + message.success(intl.formatMessage({id: 'common.success', defaultMessage: '$$$'})) + props.reload() + }).catch(() => { + message.error(intl.formatMessage({id: 'common.error', defaultMessage: '$$$'})) + }) + props.handleModal(); + return true; + }} + > + + + } + placeholder={`${intl.formatMessage({ + id: 'common.please_input', + defaultMessage: '$$$' + })}${intl.formatMessage({id: 'system.user.table.list.userName', defaultMessage: '$$$'})}`} + required={true} + rules={[ + { + required: true, + message: ( + + ), + }, + ]} + /> + } + placeholder={`${intl.formatMessage({ + id: 'common.please_input', + defaultMessage: '$$$' + })}${intl.formatMessage({id: 'system.user.table.list.nickName', defaultMessage: '$$$'})}`} + required={true} + rules={[ + { + required: true, + message: ( + + ), + }, + ]} + /> + } + placeholder={`${intl.formatMessage({ + id: 'common.please_input', + defaultMessage: '$$$' + })}${intl.formatMessage({id: 'system.user.table.list.password', defaultMessage: '$$$'})}`} + required={true} + rules={[ + { + required: true, + message: ( + + ), + }, + ]} + /> + + { + (record) => { + return ( + } + placeholder={`${intl.formatMessage({ + id: 'common.please_input', + defaultMessage: '$$$' + })}${intl.formatMessage({ + id: 'system.user.table.list.password_re', + defaultMessage: '$$$' + })}`} + required={true} + rules={[ + { + required: true, + message: ( + + ), + }, + () => ({ + validator(rule, value) { + if (!value || record.password === value) { + return Promise.resolve() + } + return Promise.reject(intl.formatMessage({id: 'system.user.table.rule.password.not_same', defaultMessage: '$$$'})) + } + }) + ]} + /> + ) + } + } + + + + + + } + placeholder={`${intl.formatMessage({ + id: 'common.please_select', + defaultMessage: '$$$' + })}${intl.formatMessage({id: 'system.user.table.list.roleId', defaultMessage: '$$$'})}`} + required={false} + request={ + async (keyWord) => { + let resp = await postRoleGetRoleFkSelect({keyword: keyWord.keyWords}) + return resp.data.list.map((v: any)=>{ + return { + label: v.name, + value: v.id + } + }) + } + } + > + + + } + placeholder={`${intl.formatMessage({ + id: 'common.please_select', + defaultMessage: '$$$' + })}${intl.formatMessage({id: 'system.user.table.list.postId', defaultMessage: '$$$'})}`} + required={false} + request={ + async (keyWord) => { + let resp = await postPostGetPostFkSelect({keyword: keyWord.keyWords}) + return resp.data.list.map((v: any)=>{ + return { + label: v.name, + value: v.id + } + }) + } + } + > + + + } + placeholder={`${intl.formatMessage({ + id: 'common.please_select', + defaultMessage: '$$$' + })}${intl.formatMessage({id: 'system.user.table.list.deptId', defaultMessage: '$$$'})}`} + required={false} + request={async () => { + let resp = await postDepartmentGetDepartmentFkSelect() + return resp.data.list + }} + > + + + + + } + fieldProps={{ + name: 'file', + listType: 'picture-card', + beforeUpload: beforeUploadImage, + data: {path: 'user/avatar'}, + headers: { 'X-CSRFToken': cookie.load('csrftoken') , 'X-Token': `${localStorage.getItem('access') || ''}`},}}/> + + + + } + placeholder={`${intl.formatMessage({ + id: 'common.please_input', + defaultMessage: '$$$' + })}${intl.formatMessage({id: 'system.user.table.list.remark', defaultMessage: '$$$'})}`} + required={false}/> + } + required={false}> + + + + ) +} +export default CreateForm; diff --git a/src/pages/System/UserList/components/UpdateForm.tsx b/src/pages/System/UserList/components/UpdateForm.tsx new file mode 100644 index 0000000..3fb23a1 --- /dev/null +++ b/src/pages/System/UserList/components/UpdateForm.tsx @@ -0,0 +1,230 @@ +import { + ModalForm, + ProForm, + ProFormDependency, + ProFormDigit, + ProFormSwitch, ProFormTreeSelect, + ProFormUploadButton +} from '@ant-design/pro-components'; +import {ProFormText} from '@ant-design/pro-components'; +import {ProFormSelect} from '@ant-design/pro-components'; +import {FormattedMessage, useIntl} from '@umijs/max'; +import React from 'react'; +import {Form, message} from 'antd'; +import {putUserSetUserInfo} from "@/services/system/User"; +import {beforeUploadImage, handleOneFile, imageInit, parseIds} from "@/utils/common"; +// @ts-ignore +import cookie from 'react-cookies'; +import {postRoleGetRoleFkSelect} from "@/services/system/Role"; +import {postPostGetPostFkSelect} from "@/services/system/Post"; +import {postDepartmentGetDepartmentFkSelect} from "@/services/system/Department"; +// 表单宽度 804 两列 +import { proFormItemStyleProps, proFormModelWidth } from '../../../../../config/defaultForm'; + + + +export type UpdateFormProps = { + updateModalOpen: boolean; + handleModal: () => void; + values: Partial; + reload: any; +}; +const UpdateForm: React.FC = (props) => { + + const intl = useIntl(); + const [form] = Form.useForm(); + + return ( + + width={proFormModelWidth} + title={intl.formatMessage({ + id: 'system.user.table.list.update', + defaultMessage: '$$$', + })} + open={props.updateModalOpen} + form={form} + autoFocusFirstInput + modalProps={{ + destroyOnClose: true, + onCancel: () => props.handleModal(), + }} + submitTimeout={2000} + onFinish={async (values: any) => { + if ('roleIds' in values) { + if ((values?.roleIds || []).length) { + values.roleId = values.roleIds[0] + values.roleIds = values.roleIds.join(',') + } else { + values.roleId = undefined + values.roleIds = '' + } + } + if ('postIds' in values) { + if ((values?.postIds || []).length) { + values.postId = values.postIds[0] + values.postIds = values.postIds.join(',') + } else { + values.postIds = '' + values.postId = undefined + } + } + + handleOneFile(values, 'avatarId') + console.log(values) + console.log(props.values) + putUserSetUserInfo(values).then(() => { + message.success(intl.formatMessage({id: 'common.success', defaultMessage: '$$$'})) + props.reload() + }).catch(() => { + message.error(intl.formatMessage({id: 'common.failure', defaultMessage: '$$$'})) + }) + + props.handleModal(); + return true; + }} + > + + + + } + placeholder={`${intl.formatMessage({ + id: 'common.please_input', + defaultMessage: '$$$' + })}${intl.formatMessage({id: 'system.user.table.list.userName', defaultMessage: '$$$'})}`} + initialValue={props.values.userName} + required={true} + rules={[ + { + required: true, + message: ( + + ), + }, + ]} + /> + } + placeholder={`${intl.formatMessage({ + id: 'common.please_input', + defaultMessage: '$$$' + })}${intl.formatMessage({id: 'system.user.table.list.nickName', defaultMessage: '$$$'})}`} + initialValue={props.values.nickName} + required={true} + rules={[ + { + required: true, + message: ( + + ), + }, + ]} + /> + + + + + } + placeholder={`${intl.formatMessage({ + id: 'common.please_select', + defaultMessage: '$$$' + })}${intl.formatMessage({id: 'system.user.table.list.roleId', defaultMessage: '$$$'})}`} + required={false} + initialValue={parseIds(props.values.roleIds)} + request={ + async (keyWord) => { + let resp = await postRoleGetRoleFkSelect({keyword: keyWord.keyWords}) + return resp.data.list.map((v: any)=>{ + return { + label: v.name, + value: v.id + } + }) + } + } + > + + + } + placeholder={`${intl.formatMessage({ + id: 'common.please_select', + defaultMessage: '$$$' + })}${intl.formatMessage({id: 'system.user.table.list.postId', defaultMessage: '$$$'})}`} + required={false} + initialValue={parseIds(props.values.postIds)} + request={ + async (keyWord) => { + let resp = await postPostGetPostFkSelect({keyword: keyWord.keyWords}) + return resp.data.list.map((v: any)=>{ + return { + label: v.name, + value: v.id + } + }) + } + } + > + + + } + placeholder={`${intl.formatMessage({ + id: 'common.please_select', + defaultMessage: '$$$' + })}${intl.formatMessage({id: 'system.user.table.list.deptId', defaultMessage: '$$$'})}`} + required={false} + initialValue={props.values.deptId} + request={async () => { + let resp = await postDepartmentGetDepartmentFkSelect() + return resp.data.list + }} + > + + + + + } + initialValue={imageInit(SERVER_HOST,props.values.avatarUrl)} + fieldProps={{ + name: 'file', + listType: 'picture-card', + beforeUpload: beforeUploadImage, + data: {path: 'user/avatar'}, + headers: { 'X-CSRFToken': cookie.load('csrftoken') , 'X-Token': `${localStorage.getItem('access') || ''}`},}}/> + + + + } + placeholder={`${intl.formatMessage({ + id: 'common.please_input', + defaultMessage: '$$$' + })}${intl.formatMessage({id: 'system.user.table.list.remark', defaultMessage: '$$$'})}`} + initialValue={props.values.remark} + required={false}/> + } + required={false}> + + + + ) +} +export default UpdateForm; diff --git a/src/pages/System/UserList/index.tsx b/src/pages/System/UserList/index.tsx new file mode 100644 index 0000000..b9f44e1 --- /dev/null +++ b/src/pages/System/UserList/index.tsx @@ -0,0 +1,376 @@ +import { deleteUserDeleteUser, postUserGetUserList } from '@/services/system/User'; +import { PlusOutlined } from '@ant-design/icons'; +import type { ActionType, ProColumns } from '@ant-design/pro-components'; +import { PageContainer, ProTable } from '@ant-design/pro-components'; +import { Access, FormattedMessage, history, useAccess, useIntl } from '@umijs/max'; +import { Button, message } from 'antd'; +import React, { useEffect, useRef, useState } from 'react'; +import { ColumnDrawer } from './components/ColumnDrawer'; +import CreateForm from './components/CreateForm'; +import UpdateForm from './components/UpdateForm'; + +import { postDepartmentGetDepartmentTree } from '@/services/system/Department'; +import { RedoOutlined } from '@ant-design/icons'; +import { Tree } from 'antd'; +import type { DataNode } from 'antd/es/tree'; +// 列表操作栏组件 +import TableActionCard from '@/components/TableActionCard'; +import IsDelete from '@/components/TableActionCard/isDelete'; +// 批量删除 +import IsBatchDelete from '@/components/BatchOperation/isBatchDelete'; +import TreeAndTableList, { ProCardTypeProps } from '@/layouts/treeAndTableList'; + +const UserList: React.FC = () => { + /** + * @en-US Pop-up window of new window + * @zh-CN 新建窗口的弹窗 + * */ + const [createModalOpen, setCreateModalOpen] = useState(false); + /** + * @en-US The pop-up window of the distribution update window + * @zh-CN 分布更新窗口的弹窗 + * */ + const [updateModalOpen, setUpdateModalOpen] = useState(false); + const [showDetail, setShowDetail] = useState(false); + /** + * @en-US International configuration + * @zh-CN 国际化配置 + * */ + const access = useAccess(); + const intl = useIntl(); + const actionRef = useRef(); + const [currentRow, setCurrentRow] = useState(); + const [selectedRowsState, setSelectedRows] = useState([]); + const [deptTreeData, setDeptTreeData] = React.useState([]); + const [selectDepts, setSelectDepts] = React.useState([]); + const [hasInit, setHasInit] = useState(false); + + useEffect(() => { + postDepartmentGetDepartmentTree() + .then((resp) => { + setDeptTreeData(resp.data.tree); + setHasInit(true); + }) + .catch(() => { + message.error(intl.formatMessage({ id: 'common.failure', defaultMessage: '$$$' })); + }); + }, []); + const handleUpdateModal = () => { + if (updateModalOpen) { + setUpdateModalOpen(false); + setCurrentRow(undefined); + } else { + setUpdateModalOpen(true); + } + }; + const handleCreateModal = () => { + if (createModalOpen) { + setCreateModalOpen(false); + setCurrentRow(undefined); + } else { + setCreateModalOpen(true); + } + }; + const handleColumnDrawer = () => { + if (showDetail) { + setShowDetail(false); + setCurrentRow(undefined); + } else { + setShowDetail(true); + } + }; + const handleDestroy = async (selectedRow: API.User) => { + deleteUserDeleteUser(selectedRow) + .then(() => { + message.success(intl.formatMessage({ id: 'common.success', defaultMessage: '$$$' })); + actionRef.current?.reload(); + }) + .catch(() => { + message.error(intl.formatMessage({ id: 'common.failure', defaultMessage: '$$$' })); + }); + }; + + const columns: ProColumns[] = [ + { + title: , + dataIndex: 'id', + sorter: true, + // valueType: "digit", + filters: true, + onFilter: true, + render: (dom, entity) => { + return ( + { + setCurrentRow(entity); + setShowDetail(true); + }} + > + {dom} + + ); + }, + }, + + { + sorter: true, + title: , + dataIndex: 'userName', + hideInSearch: true, + }, + + { + title: , + dataIndex: 'nickName', + hideInSearch: true, + }, + { + title: , + dataIndex: 'avatarUrl', + hideInSearch: true, + renderText: (v) => { + if (v) { + return SERVER_HOST + v.replace(/\\/g, '/'); + } else { + return ''; + } + }, + // hideInTable: true, + valueType: 'image', + }, + { + title: , + dataIndex: 'enable', + valueEnum: { + true: { + text: , + status: 'Success', + }, + false: { + text: , + status: 'Error', + }, + }, + filters: true, + onFilter: true, + }, + + { + title: , + dataIndex: 'option', + valueType: 'option', + fixed: 'right', + render: (_, record) => [ + { + setUpdateModalOpen(true); + setCurrentRow(record); + }} + > + + + ), + }, + { + key: 'destroy', + renderDom: ( + { + handleDestroy(record).then(() => {}); + }} + > + ), + }, + ]} + >, + // + // { + // setUpdateModalOpen(true); + // setCurrentRow(record); + // }} + // > + // + // + // { + // handleDestroy(record).then(() => {}); + // }} + // > + // + // + // + ], + }, + ]; + return ( + + + + + ), + } as ProCardTypeProps + } + leftDom={ + hasInit && ( + { + setSelectDepts(selectKeys); + actionRef.current?.reload(); + }} + /> + ) + } + rightDom={ + + headerTitle={intl.formatMessage({ + id: 'pages.searchTable.title', + defaultMessage: '$$$', + })} + options={{ fullScreen: true, setting: true, density: true, reload: true }} + actionRef={actionRef} + rowKey="id" + search={{ + labelWidth: 'auto', + }} + pagination={{ + showSizeChanger: true, + pageSize: 10, + }} + columnsState={{ + persistenceKey: 'api_list', + persistenceType: 'localStorage', + }} + toolBarRender={() => [ + + + , + ]} + request={async (params = {}, sort) => { + const { current, ...rest } = params; + const reqParams: any = { + page: current, + desc: false, + orderKey: '', + ...rest, + }; + if (selectDepts.length) { + reqParams.deptId = selectDepts[0]; + } + if (sort && Object.keys(sort).length) { + reqParams.orderKey = Object.keys(sort)[0]; + let sort_select = sort[reqParams.orderKey]; + reqParams.desc = sort_select === 'descend'; + } + let resp = await postUserGetUserList({ ...reqParams }); + console.log(resp); + return { + data: resp.data.list, + success: resp.success, + total: resp.data.total, + current: resp.data.page, + pageSize: resp.data.pageSize, + }; + }} + columns={columns} + rowSelection={{ + onChange: (_, selectedRows) => { + setSelectedRows(selectedRows); + }, + }} + tableAlertOptionRender={() => { + return ( + <> + {selectedRowsState?.length > 0 && ( + { + const ids = selectedRowsState.map((v: API.User) => { + return v.id; + }); + // deleteUserDeleteUsersByIds({ids: ids as number[]}).then(() => { + // actionRef.current?.reloadAndRest?.(); + // }) + }} + /> + )} + + ); + }} + /> + } + > + + + + + + + ); +}; + +export default UserList; diff --git a/src/pages/System/UserList/system-en.ts b/src/pages/System/UserList/system-en.ts new file mode 100644 index 0000000..b299e90 --- /dev/null +++ b/src/pages/System/UserList/system-en.ts @@ -0,0 +1 @@ +export const api: {[key: string]: string} = {'system.api.table.list.id': 'id', 'system.api.table.list.path': 'path', 'system.api.table.list.method': 'method', 'system.api.table.list.apiGroup': 'apiGroup', 'system.api.table.list.description': 'description', 'system.api.table.rule.required.path': 'path is required', 'system.api.enum.GET': 'GET', 'system.api.enum.POST': 'POST', 'system.api.enum.DELETE': 'DELETE', 'system.api.enum.PUT': 'PUT', 'system.api.enum.PATCH': 'PATCH'} diff --git a/src/pages/System/UserList/system.ts b/src/pages/System/UserList/system.ts new file mode 100644 index 0000000..f0ec2ae --- /dev/null +++ b/src/pages/System/UserList/system.ts @@ -0,0 +1 @@ +export const api: {[key: string]: string} = {'system.api.table.list.id': 'ID', 'system.api.table.list.path': '接口路径', 'system.api.table.list.method': '请求方式', 'system.api.table.list.apiGroup': '接口分组', 'system.api.table.list.description': '接口描述', 'system.api.table.rule.required.path': '接口路径为必填项', 'system.api.enum.GET': 'GET', 'system.api.enum.POST': 'POST', 'system.api.enum.DELETE': 'DELETE', 'system.api.enum.PUT': 'PUT', 'system.api.enum.PATCH': 'PATCH'} diff --git a/src/pages/Task/TaskList/index.tsx b/src/pages/Task/TaskList/index.tsx new file mode 100644 index 0000000..4acf958 --- /dev/null +++ b/src/pages/Task/TaskList/index.tsx @@ -0,0 +1,224 @@ +import IsBatchDelete from '@/components/BatchOperation/isBatchDelete'; +import TableActionCard from '@/components/TableActionCard'; +import StopBtn from '@/components/TableActionCard/stopBtn'; +import { + deleteProjectDeleteProject, + deleteProjectDeleteProjectByIds, + postProjectGetProjectList, +} from '@/services/project/Project'; +import type { ActionType, ProColumns } from '@ant-design/pro-components'; +import { PageContainer, ProTable } from '@ant-design/pro-components'; +import { FormattedMessage, useAccess, useIntl } from '@umijs/max'; +import { Tag, message } from 'antd'; +import React, { useRef, useState } from 'react'; +import { proTableCommonOptions, proTablePaginationOptions } from '../../../../config/defaultTable'; +const TaskList: React.FC = () => { + /** + * @en-US Pop-up window of new window + * @zh-CN 新建窗口的弹窗 + * */ + const [createModalOpen, setCreateModalOpen] = useState(false); + /** + * @en-US The pop-up window of the distribution update window + * @zh-CN 分布更新窗口的弹窗 + * */ + const [updateModalOpen, setUpdateModalOpen] = useState(false); + const [showDetail, setShowDetail] = useState(false); + /** + * @en-US International configuration + * @zh-CN 国际化配置 + * */ + const intl = useIntl(); + const actionRef = useRef(); + // 动态设置每页数量 + const [currentPageSize, setCurrentPageSize] = useState(10); + const [currentRow, setCurrentRow] = useState(); + const [selectedRowsState, setSelectedRows] = useState([]); + + const handleUpdateModal = () => { + if (updateModalOpen) { + setUpdateModalOpen(false); + setCurrentRow(undefined); + } else { + setUpdateModalOpen(true); + } + }; + const handleCreateModal = () => { + if (createModalOpen) { + setCreateModalOpen(false); + setCurrentRow(undefined); + } else { + setCreateModalOpen(true); + } + }; + const handleColumnDrawer = () => { + if (showDetail) { + setShowDetail(false); + setCurrentRow(undefined); + } else { + setShowDetail(true); + } + }; + const handleDestroy = async (selectedRow: API.Project) => { + deleteProjectDeleteProject({ id: selectedRow.id }) + .then(() => { + message.success(intl.formatMessage({ id: 'common.success', defaultMessage: '$$$' })); + actionRef.current?.reload(); + }) + .catch(() => { + message.error(intl.formatMessage({ id: 'common.failure', defaultMessage: '$$$' })); + }); + }; + + const columns: ProColumns[] = [ + { + title: , + dataIndex: 'name', + hideInSearch: false, + key: 'fixedName', + fixed: 'left', + }, + + { + title: , + dataIndex: 'info', + hideInSearch: true, + }, + + { + title: , + dataIndex: 'code', + // hideInSearch: true, + render: (dom) => { + return ( + + {dom} + + ); + }, + }, + + { + title: , + dataIndex: 'createTime', + hideInSearch: true, + valueType: 'dateTime', + }, + { + title: , + dataIndex: 'createTime', + hideInSearch: true, + valueType: 'dateTime', + }, + + { + title: , + dataIndex: 'createTime', + hideInSearch: true, + valueType: 'dateTime', + }, + + { + title: , + dataIndex: 'option', + valueType: 'option', + fixed: 'right', + render: (_, record) => [ + { + handleDestroy(record).then(() => {}); + }} + > + ), + }, + ]} + >, + ], + }, + ]; + return ( + + + headerTitle={intl.formatMessage({ + id: 'pages.searchTable.title', + defaultMessage: '$$$', + })} + scroll={{ y: proTableCommonOptions.commscrollY, x: proTableCommonOptions.commscrollX }} + options={{ fullScreen: true, setting: true, density: true, reload: true }} + actionRef={actionRef} + rowKey="key" + search={{ + labelWidth: proTableCommonOptions.searchLabelWidth, + }} + onDataSourceChange={() => {}} + pagination={{ + ...proTablePaginationOptions, + pageSize: currentPageSize, + onChange: (page, pageSize) => setCurrentPageSize(pageSize), + }} + columnsState={{ + persistenceKey: 'project_list', + persistenceType: 'localStorage', + }} + tableAlertOptionRender={() => { + return ( + <> + {selectedRowsState?.length > 0 && ( + { + // TODO 需要;联调删除接口 + deleteProjectDeleteProjectByIds({ + ids: selectedRowsState.map((v: API.Project) => { + return v.id as number; + }), + }).then(() => { + actionRef.current?.reloadAndRest?.(); + }); + }} + /> + )} + + ); + }} + request={async (params = {}, sort) => { + const { current, ...rest } = params; + const reqParams = { + page: current, + desc: false, + orderKey: '', + ...rest, + }; + if (sort && Object.keys(sort).length) { + reqParams.orderKey = Object.keys(sort)[0]; + let sort_select = sort[reqParams.orderKey]; + reqParams.desc = sort_select === 'descend'; + } + let resp = await postProjectGetProjectList({ ...reqParams }); + return { + data: resp.data.list.map((v: API.Project) => { + return { ...v, key: v.id }; + }), + success: resp.success, + total: resp.data.total, + current: resp.data.page, + pageSize: resp.data.pageSize, + }; + }} + columns={columns} + // rowSelection={{ + // onChange: (_, selectedRows) => { + // setSelectedRows(selectedRows); + // }, + // }} + /> + + ); +}; + +export default TaskList; diff --git a/src/pages/User/Login/__snapshots__/login.test.tsx.snap b/src/pages/User/Login/__snapshots__/login.test.tsx.snap new file mode 100644 index 0000000..327971e --- /dev/null +++ b/src/pages/User/Login/__snapshots__/login.test.tsx.snap @@ -0,0 +1,1103 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Login Page should login success 1`] = ` + +
+
+
+
+
+ +
+
+
+
+ +
+
+
+
+
+
+
+ + + +
+
+
+ + + + + +
+ +
+ + + + + + Serati Ma + + +
+
+
+
+
+
+
+
+
+
+
+
+
+ + Welcome + +
+
+
+
+
+
+
+
+
+
+
+ 欢迎使用 Ant Design Pro +
+

+ Ant Design Pro 是一个整合了 umi,Ant Design 和 ProComponents 的脚手架方案。致力于在设计规范和基础组件的基础上,继续向上构建,提炼出典型模板/业务组件/配套设计资源,进一步提升企业级中后台产品设计研发过程中的『用户』和『设计者』的体验。 +

+
+
+
+
+ 1 +
+
+ 了解 umi +
+
+
+ umi 是一个可扩展的企业级前端应用框架,umi 以路由为基础的,同时支持配置式路由和约定式路由,保证路由的功能完备,并以此进行功能扩展。 +
+ + 了解更多 > + +
+
+
+
+ 2 +
+
+ 了解 ant design +
+
+
+ antd 是基于 Ant Design 设计体系的 React UI 组件库,主要用于研发企业级中后台产品。 +
+ + 了解更多 > + +
+
+
+
+ 3 +
+
+ 了解 Pro Components +
+
+
+ ProComponents 是一个基于 Ant Design 做了更高抽象的模板组件,以 一个组件就是一个页面为开发理念,为中后台开发带来更好的体验。 +
+ + 了解更多 > + +
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+
+
+ +`; + +exports[`Login Page should show login form 1`] = ` + +
+
+ + + + + +
+
+ + +`; diff --git a/src/pages/User/Login/index.tsx b/src/pages/User/Login/index.tsx new file mode 100644 index 0000000..8e5338d --- /dev/null +++ b/src/pages/User/Login/index.tsx @@ -0,0 +1,456 @@ +// import Footer from '@/components/Footer'; +import { login } from '@/services/ant-design-pro/api'; +import { getFakeCaptcha } from '@/services/ant-design-pro/login'; +import { + KeyOutlined, + LockOutlined, + MobileOutlined, + UserOutlined, +} from '@ant-design/icons'; +import { + LoginFormPage, + ProFormCaptcha, + ProFormCheckbox, + ProFormText, +} from '@ant-design/pro-components'; +import { useEmotionCss } from '@ant-design/use-emotion-css'; +import { FormattedMessage, history, SelectLang, useIntl, useModel, Helmet } from '@umijs/max'; +import {Alert, Image, message, theme} from 'antd'; +import Settings from '../../../../config/defaultSettings'; +import React, {useEffect, useState} from 'react'; +import { flushSync } from 'react-dom'; +import styles from './login.less' +import {postBaseCaptcha, postBaseLogin} from "@/services/system/Base"; +import {postMenuGetMenu} from "@/services/system/Menu"; +import {getLocale} from "@@/exports"; +import {getAllRouteNameTile} from "@/utils/common"; +import {addLocale} from "@@/plugin-locale"; +import zhCN from "@/locales/zh-CN"; + +// const ActionIcons = () => { +// const langClassName = useEmotionCss(({ token }) => { +// return { +// marginLeft: '8px', +// color: 'rgba(0, 0, 0, 0.2)', +// fontSize: '24px', +// verticalAlign: 'middle', +// cursor: 'pointer', +// transition: 'color 0.3s', +// '&:hover': { +// color: token.colorPrimaryActive, +// }, +// }; +// }); + +// return ( +// <> +// +// +// +// +// ); +// }; + +const Lang = () => { + const langClassName = useEmotionCss(({ token }) => { + return { + width: 42, + height: 42, + lineHeight: '42px', + position: 'fixed', + right: 16, + // zIndex: 99, + borderRadius: token.borderRadius, + ':hover': { + backgroundColor: token.colorBgTextHover, + }, + }; + }); + + return ( +
+ {SelectLang && } +
+ ); +}; + +const LoginMessage: React.FC<{ + content: string; +}> = ({ content }) => { + return ( + + ); +}; + +const Login: React.FC = () => { + const [userLoginState, setUserLoginState] = useState({}); + const [type] = useState('account'); + const { initialState, setInitialState } = useModel('@@initialState'); + const { token } = theme.useToken(); + const [captcha, setCaptcha] = useState(''); + const [captchaId, setCaptchaId] = useState(''); + const [loginLoading, setLoginLoading] = useState(false); + + const containerClassName = useEmotionCss(() => { + return { + display: 'flex', + flexDirection: 'column', + height: '100vh', + overflow: 'auto', + backgroundImage: + "url('https://mdn.alipayobjects.com/yuyan_qk0oxh/afts/img/V-_oS6r-i7wAAAAAAAAAAAAAFl94AQBr')", + backgroundSize: '100% 100%', + }; + }); + + const intl = useIntl(); + + const refreshCaptcha = () => { + postBaseCaptcha().then((r: API.Response) => { + let resp_data: API.SysCaptchaResponse = r.data + setCaptcha(resp_data?.picPath ||'') + setCaptchaId(resp_data?.captchaId || '') + }) + } + + useEffect(()=>{ + refreshCaptcha() + }, []) + const fetchUserInfo = async () => { + const userInfo = await initialState?.fetchUserInfo?.(); + const menus = await postMenuGetMenu(); + if (userInfo) { + console.log(22, userInfo) + if (getLocale() === 'zh-CN') { + let localData = getAllRouteNameTile(menus.data.routes, '') + let localRes:any = {} + localData.forEach((v)=>{ + localRes[`menu${v.name}`] = v.title + }) + console.log(localRes) + addLocale("zh-CN", localRes,{ + momentLocale: "zh-CN", + antd: zhCN + }); + } + flushSync(() => { + setInitialState((s) => ({ + ...s, + currentUser: userInfo, + menuData: menus.data.routes + })); + }); + } + }; + + const handleSubmit = async (values: API.Login) => { + try { + // 登录 + //{username: "admin", password: "123456", captcha: "5531", captchaId: "GMeC0be8js61jFfbBaXz"} + const msg = await postBaseLogin({...values, captchaId: captchaId}) + + // const msg = await login({ ...values, type }); + if (msg.success === true) { + const defaultLoginSuccessMessage = intl.formatMessage({ + id: 'pages.login.success', + defaultMessage: '登录成功!', + }); + message.success(defaultLoginSuccessMessage); + localStorage.setItem('access', msg.data?.token || ''); + fetchUserInfo().then(()=>{ + const urlParams = new URL(window.location.href).searchParams; + console.log(222, urlParams.get('redirect')) + history.push(urlParams.get('redirect') || '/'); + }); + return; + // GetUserProfile().then(r=>{ + // console.log(223, r) + // }) + } + // 如果失败去设置用户错误信息 + setUserLoginState({ status: msg.success ? 'ok': 'error', type: type, currentAuthority: msg.data?.token || ''}); + } catch (error) { + const defaultLoginFailureMessage = intl.formatMessage({ + id: 'pages.login.failure', + defaultMessage: '登录失败,请重试!', + }); + message.error(defaultLoginFailureMessage); + refreshCaptcha() + } finally { + setLoginLoading(false) + } + }; + const { status, type: loginType } = userLoginState; + + return ( +
+ + + {intl.formatMessage({ + id: 'menu.login', + defaultMessage: '登录页', + })} + - {Settings.title} + + + +
+ { + await handleSubmit(values as API.LoginParams); + }} + + > + {/* */} + + {status === 'error' && loginType === 'account' && ( + + )} + {type === 'account' && ( + <> + + ), + }} + placeholder={'用户名:'} + rules={[ + { + required: true, + message: '请输入用户名!', + }, + ]} + /> + + ), + }} + placeholder={'密码:'} + rules={[ + { + required: true, + message: '请输入密码!', + }, + ]} + /> + , + }} + placeholder={intl.formatMessage({ + id: 'pages.login.captcha.placeholder', + defaultMessage: '验证码:', + })} + rules={[ + { + required: true, + message: ( + + ), + }, + ]} + addonAfter={} + /> + + )} + + {status === 'error' && loginType === 'mobile' && } + {type === 'mobile' && ( + <> + , + }} + name="mobile" + placeholder={intl.formatMessage({ + id: 'pages.login.phoneNumber.placeholder', + defaultMessage: '手机号', + })} + rules={[ + { + required: true, + message: ( + + ), + }, + { + pattern: /^1\d{10}$/, + message: ( + + ), + }, + ]} + /> + , + }} + captchaProps={{ + size: 'large', + }} + placeholder={intl.formatMessage({ + id: 'pages.login.captcha.placeholder', + defaultMessage: '请输入验证码', + })} + captchaTextRender={(timing, count) => { + if (timing) { + return `${count} ${intl.formatMessage({ + id: 'pages.getCaptchaSecondText', + defaultMessage: '获取验证码', + })}`; + } + return intl.formatMessage({ + id: 'pages.login.phoneLogin.getVerificationCode', + defaultMessage: '获取验证码', + }); + }} + name="captcha" + rules={[ + { + required: true, + message: ( + + ), + }, + ]} + onGetCaptcha={async (phone) => { + const result = await getFakeCaptcha({ + phone, + }); + if (!result) { + return; + } + message.success('获取验证码成功!验证码为:1234'); + }} + /> + + )} +
+ + + + + + +
+
+
+ {/*
*/} +
+ ); +}; + +export default Login; diff --git a/src/pages/User/Login/index1.tsx b/src/pages/User/Login/index1.tsx new file mode 100644 index 0000000..9c1739e --- /dev/null +++ b/src/pages/User/Login/index1.tsx @@ -0,0 +1,538 @@ +// import Footer from '@/components/Footer'; +import { login } from '@/services/ant-design-pro/api'; +import { getFakeCaptcha } from '@/services/ant-design-pro/login'; +import { + KeyOutlined, + LockOutlined, + MobileOutlined, + UserOutlined, +} from '@ant-design/icons'; +import { + LoginForm, + LoginFormPage, + ProConfigProvider, + ProFormCaptcha, + ProFormCheckbox, + ProFormText, +} from '@ant-design/pro-components'; +import { useEmotionCss } from '@ant-design/use-emotion-css'; +import { FormattedMessage, history, SelectLang, useIntl, useModel, Helmet } from '@umijs/max'; +import {Alert, Image, message, theme} from 'antd'; +import Settings from '../../../../config/defaultSettings'; +import React, {useEffect, useState} from 'react'; +import { flushSync } from 'react-dom'; +import styles from './login1.less' +import {postBaseCaptcha, postBaseLogin} from "@/services/system/Base"; +import {postMenuGetMenu} from "@/services/system/Menu"; +import {getLocale} from "@@/exports"; +import {getAllRouteNameTile} from "@/utils/common"; +import {addLocale} from "@@/plugin-locale"; +import zhCN from "@/locales/zh-CN"; +import Logo from "../../../../public/sst_logo.png" + +// const ActionIcons = () => { +// const langClassName = useEmotionCss(({ token }) => { +// return { +// marginLeft: '8px', +// color: 'rgba(0, 0, 0, 0.2)', +// fontSize: '24px', +// verticalAlign: 'middle', +// cursor: 'pointer', +// transition: 'color 0.3s', +// '&:hover': { +// color: token.colorPrimaryActive, +// }, +// }; +// }); + +// return ( +// <> +// +// +// +// +// ); +// }; + +const Lang = () => { + const langClassName = useEmotionCss(({ token }) => { + return { + display: 'none', + width: 42, + height: 42, + lineHeight: '42px', + position: 'fixed', + right: 16, + // zIndex: 99, + borderRadius: token.borderRadius, + ':hover': { + backgroundColor: token.colorBgTextHover, + }, + }; + }); + + return ( +
+ {SelectLang && } +
+ ); +}; + +const LoginMessage: React.FC<{ + content: string; +}> = ({ content }) => { + return ( + + ); +}; + +const Login: React.FC = () => { + const [userLoginState, setUserLoginState] = useState({}); + const [type] = useState('account'); + const { initialState, setInitialState } = useModel('@@initialState'); + const { token } = theme.useToken(); + const [captcha, setCaptcha] = useState(''); + const [captchaId, setCaptchaId] = useState(''); + const [loginLoading, setLoginLoading] = useState(false); + + const containerClassName = useEmotionCss(() => { + return { + display: 'flex', + flexDirection: 'column', + height: '100vh', + overflow: 'auto', + backgroundImage: + "url('https://mdn.alipayobjects.com/yuyan_qk0oxh/afts/img/V-_oS6r-i7wAAAAAAAAAAAAAFl94AQBr')", + backgroundSize: '100% 100%', + }; + }); + + const intl = useIntl(); + + const refreshCaptcha = () => { + postBaseCaptcha().then((r: API.Response) => { + let resp_data: API.SysCaptchaResponse = r.data + setCaptcha(resp_data?.picPath ||'') + setCaptchaId(resp_data?.captchaId || '') + }) + } + + useEffect(()=>{ + refreshCaptcha() + }, []) + const fetchUserInfo = async () => { + const userInfo = await initialState?.fetchUserInfo?.(); + const menus = await postMenuGetMenu(); + if (userInfo) { + console.log(22, userInfo) + if (getLocale() === 'zh-CN') { + let localData = getAllRouteNameTile(menus.data.routes, '') + let localRes:any = {} + localData.forEach((v)=>{ + localRes[`menu${v.name}`] = v.title + }) + console.log(localRes) + addLocale("zh-CN", localRes,{ + momentLocale: "zh-CN", + antd: zhCN + }); + } + flushSync(() => { + setInitialState((s) => ({ + ...s, + currentUser: userInfo, + menuData: menus.data.routes + })); + }); + } + }; + + const handleSubmit = async (values: API.Login) => { + try { + // 登录 + //{username: "admin", password: "123456", captcha: "5531", captchaId: "GMeC0be8js61jFfbBaXz"} + const msg = await postBaseLogin({...values, captchaId: captchaId}) + + // const msg = await login({ ...values, type }); + if (msg.success === true) { + const defaultLoginSuccessMessage = intl.formatMessage({ + id: 'pages.login.success', + defaultMessage: '登录成功!', + }); + message.success(defaultLoginSuccessMessage); + localStorage.setItem('access', msg.data?.token || ''); + fetchUserInfo().then(()=>{ + const urlParams = new URL(window.location.href).searchParams; + console.log(222, urlParams.get('redirect')) + history.push(urlParams.get('redirect') || '/'); + }); + return; + // GetUserProfile().then(r=>{ + // console.log(223, r) + // }) + } + // 如果失败去设置用户错误信息 + setUserLoginState({ status: msg.success ? 'ok': 'error', type: type, currentAuthority: msg.data?.token || ''}); + } catch (error) { + const defaultLoginFailureMessage = intl.formatMessage({ + id: 'pages.login.failure', + defaultMessage: '登录失败,请重试!', + }); + message.error(defaultLoginFailureMessage); + refreshCaptcha() + } finally { + setLoginLoading(false) + } + }; + const { status, type: loginType } = userLoginState; + + return ( +
+ + + {intl.formatMessage({ + id: 'menu.login', + defaultMessage: '登录页', + })} + - {Settings.title} + + + + +
+
+
+ +
+ + { + await handleSubmit(values as API.LoginParams); + }} + > + {status === 'error' && loginType === 'account' && ( + + )} + {type === 'account' && ( + <> + , + }} + placeholder={'用户名:'} + rules={[ + { + required: true, + message: '请输入用户名!', + }, + ]} + /> + + ), + }} + placeholder={'密码:'} + rules={[ + { + required: true, + message: '请输入密码!', + }, + ]} + /> + , + }} + placeholder={intl.formatMessage({ + id: 'pages.login.captcha.placeholder', + defaultMessage: '验证码:', + })} + rules={[ + { + required: true, + message: ( + + ), + }, + ]} + addonAfter={} + /> + + )} + {status === 'error' && loginType === 'mobile' && } +
+ + 自动登录 + + + 忘记密码 + +
+
+
+
+ + {/* { + await handleSubmit(values as API.LoginParams); + }} + + > + + {status === 'error' && loginType === 'account' && ( + + )} + {type === 'account' && ( + <> + + ), + }} + placeholder={'用户名:'} + rules={[ + { + required: true, + message: '请输入用户名!', + }, + ]} + /> + + ), + }} + placeholder={'密码:'} + rules={[ + { + required: true, + message: '请输入密码!', + }, + ]} + /> + + )} + + {status === 'error' && loginType === 'mobile' && } + {type === 'mobile' && ( + <> + , + }} + name="mobile" + placeholder={intl.formatMessage({ + id: 'pages.login.phoneNumber.placeholder', + defaultMessage: '手机号', + })} + rules={[ + { + required: true, + message: ( + + ), + }, + { + pattern: /^1\d{10}$/, + message: ( + + ), + }, + ]} + /> + , + }} + captchaProps={{ + size: 'large', + }} + placeholder={intl.formatMessage({ + id: 'pages.login.captcha.placeholder', + defaultMessage: '请输入验证码', + })} + captchaTextRender={(timing, count) => { + if (timing) { + return `${count} ${intl.formatMessage({ + id: 'pages.getCaptchaSecondText', + defaultMessage: '获取验证码', + })}`; + } + return intl.formatMessage({ + id: 'pages.login.phoneLogin.getVerificationCode', + defaultMessage: '获取验证码', + }); + }} + name="captcha" + rules={[ + { + required: true, + message: ( + + ), + }, + ]} + onGetCaptcha={async (phone) => { + const result = await getFakeCaptcha({ + phone, + }); + if (!result) { + return; + } + message.success('获取验证码成功!验证码为:1234'); + }} + /> + + )} +
+ + + + + + +
+
*/} +
+ {/*
*/} +
+ ); +}; + +export default Login; diff --git a/src/pages/User/Login/index2.tsx b/src/pages/User/Login/index2.tsx new file mode 100644 index 0000000..f306b2f --- /dev/null +++ b/src/pages/User/Login/index2.tsx @@ -0,0 +1,408 @@ +import { + AlipayOutlined, KeyOutlined, + LockOutlined, + MobileOutlined, + TaobaoOutlined, + UserOutlined, + WeiboOutlined, +} from '@ant-design/icons'; +import { + LoginFormPage, + ProConfigProvider, + ProFormCaptcha, + ProFormCheckbox, + ProFormText, +} from '@ant-design/pro-components'; +import {Alert, Button, Divider, Image, message, Space, Tabs, theme} from 'antd'; +import type { CSSProperties } from 'react'; +import React, {useEffect, useState} from 'react'; +import {FormattedMessage, history, useIntl, useModel} from "@@/exports"; +type LoginType = 'phone' | 'account'; + +const iconStyles: CSSProperties = { + color: 'rgba(0, 0, 0, 0.2)', + fontSize: '18px', + verticalAlign: 'middle', + cursor: 'pointer', +}; +import { getFakeCaptcha } from '@/services/ant-design-pro/login'; +import {postMenuGetMenu} from "@/services/system/Menu"; +import {flushSync} from "react-dom"; +import {postBaseCaptcha, postBaseLogin} from "@/services/system/Base"; + +const Page = () => { + // const [loginType, setLoginType] = useState('account'); + const { token } = theme.useToken(); + + const [captcha, setCaptcha] = useState(''); + const [captchaId, setCaptchaId] = useState(''); + const intl = useIntl(); + const { initialState, setInitialState } = useModel('@@initialState'); + const [userLoginState, setUserLoginState] = useState({}); + const [type, setType] = useState('account'); + + const [loginLoading, setLoginLoading] = useState(false); + const refreshCaptcha = () => { + postBaseCaptcha().then((r: API.Response) => { + let resp_data: API.SysCaptchaResponse = r.data + setCaptcha(resp_data?.picPath ||'') + setCaptchaId(resp_data?.captchaId || '') + }) + } + + useEffect(()=>{ + refreshCaptcha() + }, []) + + const LoginMessage: React.FC<{ + content: string; + }> = ({ content }) => { + return ( + + ); + }; + const fetchUserInfo = async () => { + const userInfo = await initialState?.fetchUserInfo?.(); + const menus = await postMenuGetMenu(); + if (userInfo) { + console.log(22, userInfo) + flushSync(() => { + setInitialState((s) => ({ + ...s, + currentUser: userInfo, + menuData: menus.data.routes + })); + }); + } + }; + + const handleSubmit = async (values: API.Login) => { + try { + // 登录 + //{username: "admin", password: "123456", captcha: "5531", captchaId: "GMeC0be8js61jFfbBaXz"} + const msg = await postBaseLogin({...values, captchaId: captchaId}) + + // const msg = await login({ ...values, type }); + if (msg.success === true) { + const defaultLoginSuccessMessage = intl.formatMessage({ + id: 'pages.login.success', + defaultMessage: '登录成功!', + }); + message.success(defaultLoginSuccessMessage); + localStorage.setItem('access', msg.data?.token || ''); + fetchUserInfo().then(()=>{ + const urlParams = new URL(window.location.href).searchParams; + history.push(urlParams.get('redirect') || '/'); + }); + return; + // GetUserProfile().then(r=>{ + // console.log(223, r) + // }) + } + // 如果失败去设置用户错误信息 + setUserLoginState({ status: msg.success ? 'ok': 'error', type: type, currentAuthority: msg.data?.token || ''}); + } catch (error) { + const defaultLoginFailureMessage = intl.formatMessage({ + id: 'pages.login.failure', + defaultMessage: '登录失败,请重试!', + }); + message.error(defaultLoginFailureMessage); + refreshCaptcha() + } finally { + setLoginLoading(false) + } + }; + const { status, type: loginType } = userLoginState; + + return ( +
+ { + setLoginLoading(true) + await handleSubmit(values as API.Login); + }} + loading={loginLoading} + initialValues={{ + autoLogin: true, + }} + // actions={ + //
+ // + // + // 其他登录方式 + // + // + // + //
+ // + //
+ //
+ // + //
+ //
+ // + //
+ //
+ //
+ //} + > + setType(activeKey as LoginType)} + items={[ + { + key: 'account', + label: intl.formatMessage({ + id: 'pages.login.accountLogin.tab', + defaultMessage: '账户密码登录', + }), + }, + // { + // key: 'mobile', + // label: intl.formatMessage({ + // id: 'pages.login.phoneLogin.tab', + // defaultMessage: '手机号登录', + // }), + // }, + ]} + + > + {/**/} + {/**/} + + {status === 'error' && loginType === 'account' && ( + + )} + {type === 'account' && ( + <> + + ), + }} + placeholder={'用户名:'} + rules={[ + { + required: true, + message: '请输入用户名!', + }, + ]} + /> + + ), + }} + placeholder={'密码:'} + rules={[ + { + required: true, + message: '请输入密码!', + }, + ]} + /> + , + }} + placeholder={intl.formatMessage({ + id: 'pages.login.captcha.placeholder', + defaultMessage: '验证码:', + })} + rules={[ + { + required: true, + message: ( + + ), + }, + ]} + addonAfter={} + /> + + )} + {loginType === 'phone' && ( + <> + + ), + }} + name="mobile" + placeholder={'手机号'} + rules={[ + { + required: true, + message: '请输入手机号!', + }, + { + pattern: /^1\d{10}$/, + message: '手机号格式错误!', + }, + ]} + /> + + ), + }} + captchaProps={{ + size: 'large', + }} + placeholder={'请输入验证码'} + captchaTextRender={(timing, count) => { + if (timing) { + return `${count} ${'获取验证码'}`; + } + return '获取验证码'; + }} + name="captcha" + rules={[ + { + required: true, + message: '请输入验证码!', + }, + ]} + onGetCaptcha={async () => { + message.success('获取验证码成功!验证码为:1234'); + }} + /> + + )} +
+ + 自动登录 + + + 忘记密码 + +
+
+
+ ); +}; + +export default () => { + + return ( + + + + ); +}; diff --git a/src/pages/User/Login/login.less b/src/pages/User/Login/login.less new file mode 100644 index 0000000..085a2ee --- /dev/null +++ b/src/pages/User/Login/login.less @@ -0,0 +1,38 @@ +.loginFrom { + :global { + .ant-pro-form-login-page-left { + max-width: none; + .ant-pro-form-login-page-container { + .ant-pro-form-login-page-top { + margin-bottom: 32px; + .ant-pro-form-login-page-title { + font-size: 32px; + font-weight: 400; + } + } + .ant-pro-form-login-page-main { + // 鼠标hover时候的颜色 + .ant-checkbox-wrapper:hover .ant-checkbox-inner, + .ant-checkbox:hover .ant-checkbox-inner, + .ant-checkbox-input:focus + .ant-checkbox-inner{ + border: 1px solid #FF6D00 !important; + } + // 设置默认的颜色 + .ant-checkbox{ + .ant-checkbox-inner{ + border: 1px solid #DDD; + background-color: transparent; + } + } + // 设置选中的颜色 + .ant-checkbox-checked .ant-checkbox-inner, + .ant-checkbox-indeterminate .ant-checkbox-inner { + background-color: #FF6D00; + border: 1px solid #FF6D00; + } + } + } + } + + } +} \ No newline at end of file diff --git a/src/pages/User/Login/login.test.tsx b/src/pages/User/Login/login.test.tsx new file mode 100644 index 0000000..18593f8 --- /dev/null +++ b/src/pages/User/Login/login.test.tsx @@ -0,0 +1,96 @@ +import { render, fireEvent, act } from '@testing-library/react'; +import React from 'react'; +import { TestBrowser } from '@@/testBrowser'; + +// @ts-ignore +import { startMock } from '@@/requestRecordMock'; + +const waitTime = (time: number = 100) => { + return new Promise((resolve) => { + setTimeout(() => { + resolve(true); + }, time); + }); +}; + +let server: { + close: () => void; +}; + +describe('Login Page', () => { + beforeAll(async () => { + server = await startMock({ + port: 8000, + scene: 'login', + }); + }); + + afterAll(() => { + server?.close(); + }); + + it('should show login form', async () => { + const historyRef = React.createRef(); + const rootContainer = render( + , + ); + + await rootContainer.findAllByText('Ant Design'); + + act(() => { + historyRef.current?.push('/user/login'); + }); + + expect(rootContainer.baseElement?.querySelector('.ant-pro-form-login-desc')?.textContent).toBe( + 'Ant Design is the most influential web design specification in Xihu district', + ); + + expect(rootContainer.asFragment()).toMatchSnapshot(); + + rootContainer.unmount(); + }); + + it('should login success', async () => { + const historyRef = React.createRef(); + const rootContainer = render( + , + ); + + await rootContainer.findAllByText('Ant Design'); + + const userNameInput = await rootContainer.findByPlaceholderText('Username: admin or user'); + + act(() => { + fireEvent.change(userNameInput, { target: { value: 'admin' } }); + }); + + const passwordInput = await rootContainer.findByPlaceholderText('Password: ant.design'); + + act(() => { + fireEvent.change(passwordInput, { target: { value: 'ant.design' } }); + }); + + await (await rootContainer.findByText('Login')).click(); + + // 等待接口返回结果 + await waitTime(5000); + + await rootContainer.findAllByText('Ant Design Pro'); + + expect(rootContainer.asFragment()).toMatchSnapshot(); + + await waitTime(2000); + + rootContainer.unmount(); + }); +}); diff --git a/src/pages/User/Login/login1.less b/src/pages/User/Login/login1.less new file mode 100644 index 0000000..c6676dc --- /dev/null +++ b/src/pages/User/Login/login1.less @@ -0,0 +1,50 @@ +.loginFrom { + .loginBox { + flex: 1; + width: 100vw; + height: 100vh; + background-image: url('../../../../public/sst.png'); + background-size: 100% 100%; + background-repeat: no-repeat; + display: flex; + justify-content: center; + align-items: center; + } + .loginLeft { + position: relative; + width: 704px; + height: 566px; + background-image: url('../../../../public/loginBoxLeft.png'); + background-size: 100% 100%; + background-repeat: no-repeat; + .loginlogo { + position: absolute; + top: -100px; + left: 0; + } + } + :global { + .ant-pro-form-login-container { + .ant-pro-form-login-top .css-dev-only-do-not-override-1lxmgnh { + width: 400px; + margin-bottom: 32px; + font-weight: 400; + } + :where(.css-dev-only-do-not-override-1lxmgnh).ant-pro-form-login-main { + min-width: 400px; + max-width: 580px; + margin: 0; + } + .ant-pro-form-login-main .css-dev-only-do-not-override-1lxmgnh { + width: 400px; + } + :where(.css-dev-only-do-not-override-qgg3xn).ant-input-affix-wrapper-lg { + padding: 7px 11px; + font-size: 16px; + line-height: 1.5; + border-radius: 4px; + } + } + + } +} \ No newline at end of file diff --git a/src/pages/Welcome/Welcome.tsx b/src/pages/Welcome/Welcome.tsx new file mode 100644 index 0000000..4155096 --- /dev/null +++ b/src/pages/Welcome/Welcome.tsx @@ -0,0 +1,54 @@ +import React from 'react'; +import BannerInfoCard from './components/BannerInfoCard'; +import NavInfoCardList from './components/NavInfoCardList'; +import FootInfoCard from './components/FootInfoCard'; +import { TimeType } from './typing'; + +// 测试数据 +import testData from './testData'; + +const { offendingData , rankingListData} = testData; +const Welcome: React.FC = () => { + const isActive = (type: TimeType) => { + console.log('isActive_type', type); + // if (!rangePickerValue) { + // return ''; + // } + // const value = getTimeDistance(type); + // if (!value) { + // return ''; + // } + // if (!rangePickerValue[0] || !rangePickerValue[1]) { + // return ''; + // } + // if ( + // rangePickerValue[0].isSame(value[0] as moment.Moment, 'day') && + // rangePickerValue[1].isSame(value[1] as moment.Moment, 'day') + // ) { + // return styles.currentDate; + // } + return ''; + }; + + const selectDate = (type: TimeType) => { + console.log('selectDate_type', type); + // setRangePickerValue(getTimeDistance(type)); + }; + + // const { token } = theme.useToken(); + // const { initialState } = useModel('@@initialState'); + return ( +
+ + + +
+ ); +}; + +export default Welcome; diff --git a/src/pages/Welcome/components/BannerInfoCard.tsx b/src/pages/Welcome/components/BannerInfoCard.tsx new file mode 100644 index 0000000..c024bbd --- /dev/null +++ b/src/pages/Welcome/components/BannerInfoCard.tsx @@ -0,0 +1,171 @@ +import { Column } from '@ant-design/charts'; +import { ProCard } from '@ant-design/pro-components'; +import { Tabs } from 'antd'; + +import React from 'react'; + +// type +import { TimeType } from '../typing'; + +// comp + +// style +import styles from '../styles/bannerInfoCard.less'; + +// typing + +/**comp 组件分解 */ +const { TabPane } = Tabs; + +/**styles 组件样式配置 */ +const offendingColSpanProps = { sm: 24, md: 12, lg: 16 }; // 违规卡片项栅格配置 +const rankingColSpanProps = { sm: 24, md: 12, lg: 8}; // 排名卡片项栅格配置 + +/**state 初始化数据 */ +const offendingTabData: Record[] = [ + { tabName: '违规总量', keyName: 'totalCount' }, + // { tabName: '违规网点', keyName: 'network' }, +]; +// const topItemStyle = { marginBottom: 24, height: 190 }; // 每个卡片独立样式 + +// 前三排名颜色样式 +const handleRanking = (value: number) => { + switch (value) { + case 0: + return styles.rankFirst + break; + case 1: + return styles.rankSecond + break; + case 2: + return styles.rankThird + break; + default: + return '' + break; + } +}; + +/**子组件 childComp */ +const RankListCard: React.FC = ({ + rankingListData, +}: { + rankingListData: Record[]; +}) => { + return ( +
    + {rankingListData.map((item, i) => ( +
  • + {/* */} + + {i + 1} + + + {item.title} + + {item.total} + {/* {numeral(item.total).format('0,0')} */} +
  • + ))} +
+ ); +}; + +const BannerInfoCard: React.FC = ({ + offendingData, + rankingListData, + isActive, + selectDate, +}: { + offendingData: Record[]; + rankingListData: Record[]; + isActive: (key: TimeType) => string; + selectDate: (key: TimeType) => void; +}) => { + // const { token } = theme.useToken(); + // const { initialState } = useModel('@@initialState'); + return ( + + } + size="large" + tabBarStyle={{ marginBottom: 24 }} + > + {offendingTabData.map((item) => { + return ( + + +
+ {/* TODO 替换使用reactEchart */} + +
+
+ + + +
+
) + })} + + +
+ ); +}; + +export default BannerInfoCard; diff --git a/src/pages/Welcome/components/FootInfoCard.tsx b/src/pages/Welcome/components/FootInfoCard.tsx new file mode 100644 index 0000000..9701cb9 --- /dev/null +++ b/src/pages/Welcome/components/FootInfoCard.tsx @@ -0,0 +1,273 @@ +import { TinyArea } from '@ant-design/charts'; +import { ProCard, ProColumns, ProTable, StatisticCard } from '@ant-design/pro-components'; +import { Space } from 'antd'; +// import type { RadioChangeEvent } from 'antd/es/radio'; +import ReactEcharts from 'echarts-for-react'; + +import React from 'react'; + +// style +import styles from '../styles/bannerInfoCard.less'; +// 测试数据 +import testData from '../testData'; +import { color } from 'echarts'; +/**data 数据源 */ +const { trendData, salesTypeData, salesTypeDataOnline, salesTypeDataOffline } = testData; + +const { useState } = React; + +// static data 静态数据 +const data = [ + { rank: 1, keyword: '网点一', users: 1000, range: 37, status: 1 }, + { rank: 2, keyword: '网点二', users: 800, range: 62, status: 1 }, + { rank: 3, keyword: '网点三', users: 1500, range: 20, status: 0 }, + { rank: 4, keyword: '网点四', users: 1200, range: 36, status: 0 }, + // 添加更多数据项 +]; + +// 前三排名颜色样式 +const handleRanking = (value: number) => { + switch (value) { + case 1: + return "rgba(224, 40, 40, 1)" + break; + case 2: + return "rgba(255, 172, 64, 1)" + break; + case 3: + return "rgba(250, 219, 20, 1)" + break; + default: + return '' + break; + } +}; + +/**comp 组件分解 */ +const { Statistic } = StatisticCard; + +const netWorkColumns: ProColumns[] = [ + { + title: '排名', + dataIndex: 'rank', + valueType: 'indexBorder', + width: 100, + render: ( text: React.ReactNode, record: { rank: number }) => ( + {record.rank} + ), + }, + { + title: '网点名', + dataIndex: 'keyword', + sorter: (a, b) => a.keyword.localeCompare(b.keyword), + }, + { + title: '异常数', + dataIndex: 'users', + sorter: (a, b) => a.users - b.users, + }, + // TODO 此处排序存在问题 需要优先判断状态,再区分数值 + { + title: '涨幅', + dataIndex: 'range', + key: 'range', + sorter: (a: { range: number }, b: { range: number }) => a.range - b.range, + render: (text: React.ReactNode, record: { status: number }) => ( + + ), + }, +]; + +/**styles 组件样式配置 */ +const footItemColSpanProps = { sm: 24, md: 24, lg: 12 }; // 底部卡片项栅格配置 +const footItemHeadStyleProps = { marginBottom: 30, marginLeft: 10, padding: 0 }; // 底部卡片headStyles 配置 + +const trendItemColSpanProps = { sm: 24, md: 16, lg: 8 }; // 每个卡片项栅格配置 +const trendItemStyle = { margin: 0, padding: 0, height: 190 }; // 每个卡片独立样式 +const trendItemHeadStyle = { padding: 0 }; + +/**state 初始化数据 */ +const offendingTrendData: Record[] = [ + { label: '玩手机', value1: 11093, value2: '17.1', status: 0 }, + { label: '打瞌睡', value1: 26, value2: '27.1', status: 1 }, + { label: '离岗', value1: 145, value2: '37.1', status: 1 }, +]; + +/**methods 事件交互 */ + +/**函数组件 */ +// 子组件 +// 趋势 TrendInfoCard +const TrendInfoCard: React.FC = () => { + return ( + <> + + {offendingTrendData.map((item, index) => { + return ( + + + + + + + + + } + /> + + ); + })} + + + ); +}; + +// 各类别占比环形图 +const DonutChart: React.FC = () => { + const getOption = () => { + return { + title: { + text: '总量', + x: 'center', + y: 'center' + }, + tooltip: { + trigger: 'item', + formatter: '{a}
{b} : {c} ({d}%)', + }, + legend: { + orient: 'vertical', + left: 10, + data: ['玩手机', '打瞌睡', '离岗'], + }, + series: [ + { + name: '类别名称', + type: 'pie', + radius: ['50%', '80%'], // 控制环形图大小 + color: ["#FF8110", "#FFB404", "#3250FF"], + avoidLabelOverlap: false, + label: { + show: false, + position: 'center', + }, + emphasis: { + label: { + show: false, + fontSize: '30', + fontWeight: 'bold', + }, + }, + labelLine: { + show: false, + }, + data: [ + { value: 235, name: '玩手机'}, + { value: 510, name: '打瞌睡' }, + { value: 134, name: '离岗' }, + ], + }, + ], + }; + }; + return ( +
+ +
+ ); +}; + +// const menu = ( +// +// 操作一 +// 操作二 +// +// ); + +// const dropdownGroup = ( +// +// +// +// +// + +// 主组件 +const FootInfoCard: React.FC = () => { + // type SalesType = 'all' | 'online' | 'stores'; + // const [salesType, setSalesType] = useState('all'); + + // const handleChangeSalesType = (e: RadioChangeEvent) => { + // setSalesType(e.target.value); + // }; + + // let salesPieData; + // if (salesType === 'all') { + // salesPieData = salesTypeData; + // } else { + // salesPieData = salesType === 'online' ? salesTypeDataOnline : salesTypeDataOffline; + // } + + return ( +
+ + + + + + +
+ +
+
+
+
+ ); +}; + +export default FootInfoCard; diff --git a/src/pages/Welcome/components/NavInfoCardList.tsx b/src/pages/Welcome/components/NavInfoCardList.tsx new file mode 100644 index 0000000..5389737 --- /dev/null +++ b/src/pages/Welcome/components/NavInfoCardList.tsx @@ -0,0 +1,237 @@ +import { Progress, TinyArea, TinyColumn } from '@ant-design/charts'; +import { InfoCircleOutlined } from '@ant-design/icons'; +import { ProCard, StatisticCard } from '@ant-design/pro-components'; +import { Divider, Space, Tooltip } from 'antd'; + +import React from 'react'; + +// 测试数据 +import testData from '../testData'; +// const { useState } = React; + +/**data 数据源 */ +const { equipData } = testData; +console.log(equipData, 'equipData'); +/**comp 组件分解 */ +const { Statistic } = StatisticCard; + +/**styles 组件样式配置 */ +const topColSpanProps = { sm: 24, md: 12, lg: 6 }; // 每个卡片项栅格配置 +const topItemStyle = { marginBottom: 24, height: 190, backgroundColor: '#FFFAF5', border: '1px solid #FFE9D6', borderRadius: 4 }; // 每个卡片独立样式 +const topItemStyle1 = { marginBottom: 24, height: 190, backgroundColor: '#F5F8FF', border: '1px solid #D6E1FF', borderRadius: 4 }; // 每个卡片独立样式 +const topItemStyle2 = { marginBottom: 24, height: 190, backgroundColor: '#F5F3FD', border: '1px solid #DDD5FD', borderRadius: 4 }; // 每个卡片独立样式 +const topItemStyle3 = { marginBottom: 24, height: 190, backgroundColor: '#F5FBFF', border: '1px solid #D6EFFF', borderRadius: 4 }; // 每个卡片独立样式 +const topItemHeadStyle = { padding: 15 }; +const chartsStyle = { + height: 84 +} +/** + * @顶部展示信息 + * @returns HTML components + */ +const NavInfoCardList: React.FC = () => { + return ( +
+ + {/* 异常总量 */} + + + + + + } + colSpan={topColSpanProps} + style={topItemStyle} + + > + + + + + ), + }} + chart={ + <> + + + + + + + + } + /> + + {/* 设备总量 */} + + + + + + } + colSpan={topColSpanProps} + style={topItemStyle1} + + > + + {/* TODO1025 需要替换成reactEcharts */} + + + ), + }} + chart={ + <> + + + + + + + + } + /> + + {/* 覆盖网点 */} + + + + + + } + colSpan={topColSpanProps} + style={topItemStyle2} + + > + + {/* TODO1025 需要替换成reactEcharts */} + + + ), + }} + chart={ + <> + + + + + + + + } + /> + + {/* 资源使用 */} + + + + + + } + colSpan={topColSpanProps} + style={topItemStyle3} + + > + + {/* TODO1025 需要替换成reactEcharts */} + + + ), + }} + chart={ + <> + + + + + + + } + /> + + +
+ ); +}; + +export default NavInfoCardList; diff --git a/src/pages/Welcome/styles/bannerInfoCard.less b/src/pages/Welcome/styles/bannerInfoCard.less new file mode 100644 index 0000000..c510444 --- /dev/null +++ b/src/pages/Welcome/styles/bannerInfoCard.less @@ -0,0 +1,216 @@ +@import '../../../styles/themes/default.less'; +.iconGroup { + span.anticon { + margin-left: 16px; + color: @text-color-secondary; + cursor: pointer; + transition: color 0.32s; + &:hover { + color: @text-color; + } + } +} + +.rankingList { + margin: 25px 0 0; + padding: 0; + list-style: none; + li { + display: flex; + align-items: center; + margin-top: 16px; + zoom: 1; + &::before, + &::after { + display: table; + content: ' '; + } + &::after { + clear: both; + height: 0; + font-size: 0; + visibility: hidden; + } + span { + color: @text-color; + font-size: 14px; + line-height: 22px; + } + .rankingItemNumber { + display: inline-block; + width: 20px; + height: 20px; + margin-top: 1.5px; + margin-right: 16px; + font-weight: 600; + font-size: 12px; + line-height: 20px; + text-align: center; + // background-color: @tag-default-bg; + background-color: #E7E9EF; + // border-radius: 20px; + border-radius: 2px; + &.active { + color: #fff; + background-color: #314659; + } + &.rankFirst { + color: #fff; + background-color: rgba(224, 40, 40, 1); + } + &.rankSecond { + color: #fff; + background-color: rgba(255, 172, 64, 1); + } + &.rankThird { + color: #fff; + background-color: rgba(250, 219, 20, 1); + } + } + .rankingItemTitle { + flex: 1; + margin-right: 8px; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + } + } +} + +.salesExtra { + display: inline-block; + margin-right: 24px; + a { + margin-left: 24px; + color: @text-color; + &:hover { + color: @primary-color; + } + &.currentDate { + color: @primary-color; + } + } +} + +.salesCard { + .salesBar { + padding: 0 0 32px 32px; + } + .salesRank { + padding: 0 32px 32px 72px; + } + :global { + .ant-tabs-bar, + .ant-tabs-nav-wrap { + padding-left: 16px; + .ant-tabs-nav .ant-tabs-tab { + padding-top: 16px; + padding-bottom: 14px; + line-height: 24px; + } + } + .ant-tabs-extra-content { + padding-right: 24px; + line-height: 55px; + } + .ant-card-head { + position: relative; + } + .ant-card-head-title { + align-items: normal; + } + } +} + +.salesCardExtra { + height: inherit; +} + +.salesTypeRadio { + position: absolute; + right: 54px; + bottom: 12px; +} + +.offlineCard { + :global { + .ant-tabs-ink-bar { + bottom: auto; + } + .ant-tabs-bar { + border-bottom: none; + } + .ant-tabs-nav-container-scrolling { + padding-right: 40px; + padding-left: 40px; + } + .ant-tabs-tab-prev-icon::before { + position: relative; + left: 6px; + } + .ant-tabs-tab-next-icon::before { + position: relative; + right: 6px; + } + .ant-tabs-tab-active h4 { + color: @primary-color; + } + } +} + +.trendText { + margin-left: 8px; + color: @heading-color; +} +// 首页网点列表 +.networkList { + display: inline-block; + width: 20px; + height: 20px; + margin-top: 1.5px; + margin-right: 16px; + font-weight: 600; + font-size: 12px; + line-height: 20px; + text-align: center; + background-color: #E7E9EF; + border-radius: 2px; +} + +@media screen and (max-width: @screen-lg) { + .salesExtra { + display: none; + } + + .rankingList { + li { + span:first-child { + margin-right: 8px; + } + } + } +} + +@media screen and (max-width: @screen-md) { + .rankingTitle { + margin-top: 16px; + } + + .salesCard .salesBar { + padding: 16px; + } +} + +@media screen and (max-width: @screen-sm) { + .salesExtraWrap { + display: none; + } + + .salesCard { + :global { + .ant-tabs-content { + padding-top: 30px; + } + } + } +} diff --git a/src/pages/Welcome/styles/colors.css b/src/pages/Welcome/styles/colors.css new file mode 100644 index 0000000..e69de29 diff --git a/src/pages/Welcome/styles/colors.less b/src/pages/Welcome/styles/colors.less new file mode 100644 index 0000000..e69de29 diff --git a/src/pages/Welcome/testData.ts b/src/pages/Welcome/testData.ts new file mode 100644 index 0000000..ff732f8 --- /dev/null +++ b/src/pages/Welcome/testData.ts @@ -0,0 +1,142 @@ +/**staticData */ +import moment from 'moment'; + +interface DataItem { + [field: string]: string | number | number[] | null | undefined; +} + +/**设备数据 */ +let equipData: DataItem[] = []; +const beginDay = new Date().getTime(); + +const fakeY = [7, 5, 4, 2, 4, 7, 5, 6, 5, 9, 6, 3, 1, 5, 3, 6, 5]; +for (let i = 0; i < fakeY.length; i += 1) { + equipData.push({ + x: moment(new Date(beginDay + 1000 * 60 * 60 * 24 * i)).format('YYYY-MM-DD'), + y: fakeY[i], + }); +} + +/**违规数据 */ +const offendingData: Record[] = []; +for (let i = 0; i < 12; i += 1) { + offendingData.push({ + x: `${i + 1}月`, + y: Math.floor(Math.random() * 1000) + 200, + }); +} + +/**排名数据 */ +function generateRandomArray(length: number, min: number, max: number): number[] { + const randomArray: number[] = []; + for (let i = 0; i < length; i++) { + const randomValue = Math.floor(Math.random() * (max - min + 1)) + min; + randomArray.push(randomValue); + } + + return randomArray; +} +const rankingListData: Record[] = []; +for (let i = 0; i < 7; i += 1) { + rankingListData.push({ + title: `工专路 ${i} 号店`, + total: generateRandomArray(1, 10000, 20000)[0], + }); +} + +/**趋势数据 */ +// const trendData: any[] = []; +const trendData = [1, 6, 4, 8, 3, 7, 2]; +// for (let i = 0; i < fakeY2.length; i += 1) { +// trendData.push({ +// x: moment(new Date(beginDay + 1000 * 60 * 60 * 24 * i)).format('YYYY-MM-DD'), +// y: fakeY2[i], +// }); +// } + +/**类别占比数据 */ +const salesTypeData = [ + { + x: '家用电器', + y: 4544, + }, + { + x: '食用酒水', + y: 3321, + }, + { + x: '个护健康', + y: 3113, + }, + { + x: '服饰箱包', + y: 2341, + }, + { + x: '母婴产品', + y: 1231, + }, + { + x: '其他', + y: 1231, + }, +]; + +const salesTypeDataOnline = [ + { + x: '家用电器', + y: 244, + }, + { + x: '食用酒水', + y: 321, + }, + { + x: '个护健康', + y: 311, + }, + { + x: '服饰箱包', + y: 41, + }, + { + x: '母婴产品', + y: 121, + }, + { + x: '其他', + y: 111, + }, +]; + +const salesTypeDataOffline = [ + { + x: '家用电器', + y: 99, + }, + { + x: '食用酒水', + y: 188, + }, + { + x: '个护健康', + y: 344, + }, + { + x: '服饰箱包', + y: 255, + }, + { + x: '其他', + y: 65, + }, +]; +export default { + equipData, + offendingData, + rankingListData, + trendData, + salesTypeData, + salesTypeDataOnline, + salesTypeDataOffline +}; diff --git a/src/pages/Welcome/typing.ts b/src/pages/Welcome/typing.ts new file mode 100644 index 0000000..b52eca8 --- /dev/null +++ b/src/pages/Welcome/typing.ts @@ -0,0 +1,5 @@ +export interface DataItem { + [field: string]: string | number | number[] | null | undefined; +} + +export type TimeType = 'today' | 'week' | 'month' | 'year'; \ No newline at end of file diff --git a/src/requestErrorConfig.ts b/src/requestErrorConfig.ts new file mode 100644 index 0000000..a9f3e77 --- /dev/null +++ b/src/requestErrorConfig.ts @@ -0,0 +1,116 @@ +import type { RequestOptions } from '@@/plugin-request/request'; +import type { RequestConfig } from '@umijs/max'; +import { message, notification } from 'antd'; + +// 错误处理方案: 错误类型 +enum ErrorShowType { + SILENT = 0, + WARN_MESSAGE = 1, + ERROR_MESSAGE = 2, + NOTIFICATION = 3, + REDIRECT = 9, +} +// 与后端约定的响应数据格式 +interface ResponseStructure { + success: boolean; + data: any; + errorCode?: number; + errorMessage?: string; + msg?: string; + showType?: ErrorShowType; +} + +/** + * @name 错误处理 + * pro 自带的错误处理, 可以在这里做自己的改动 + * @doc https://umijs.org/docs/max/request#配置 + */ +export const errorConfig: RequestConfig = { + // 错误处理: umi@3 的错误处理方案。 + errorConfig: { + // 错误抛出 + errorThrower: (res) => { + let { success, data, errorCode, errorMessage, showType,msg } = + res as unknown as ResponseStructure; + if (msg && !errorMessage) { + errorMessage = msg + } + if (!success) { + const error: any = new Error(errorMessage); + error.name = 'BizError'; + error.info = { errorCode, errorMessage, showType, data }; + throw error; // 抛出自制的错误 + } + }, + // 错误接收及处理 + errorHandler: (error: any, opts: any) => { + if (opts?.skipErrorHandler) throw error; + // 我们的 errorThrower 抛出的错误。 + if (error.name === 'BizError') { + const errorInfo: ResponseStructure | undefined = error.info; + if (errorInfo) { + let { errorMessage, errorCode ,msg} = errorInfo; + if (msg && !errorMessage) { + errorMessage = msg + } + switch (errorInfo.showType) { + case ErrorShowType.SILENT: + // do nothing + break; + case ErrorShowType.WARN_MESSAGE: + message.warning(errorMessage); + break; + case ErrorShowType.ERROR_MESSAGE: + message.error(errorMessage); + break; + case ErrorShowType.NOTIFICATION: + notification.open({ + description: errorMessage, + message: errorCode, + }); + break; + case ErrorShowType.REDIRECT: + // TODO: redirect + break; + default: + message.error(errorMessage); + } + } + } else if (error.response) { + // Axios 的错误 + // 请求成功发出且服务器也响应了状态码,但状态代码超出了 2xx 的范围 + message.error(`Response status:${error.response.status}`); + } else if (error.request) { + // 请求已经成功发起,但没有收到响应 + // \`error.request\` 在浏览器中是 XMLHttpRequest 的实例, + // 而在node.js中是 http.ClientRequest 的实例 + message.error('None response! Please retry.'); + } else { + // 发送请求时出了点问题 + message.error('Request error, please retry.'); + } + }, + }, + + // 请求拦截器 + requestInterceptors: [ + (config: RequestOptions) => { + // 拦截请求配置,进行个性化处理。 + const url = config?.url?.concat('?token = 123'); + return { ...config, url }; + }, + ], + + // 响应拦截器 + responseInterceptors: [ + (response) => { + // 拦截响应数据,进行个性化处理 + const { data } = response as unknown as ResponseStructure; + + if (data?.success === false) { + message.error('请求失败!'); + } + return response; + }, + ], +}; diff --git a/src/service-worker.js b/src/service-worker.js new file mode 100644 index 0000000..b86726c --- /dev/null +++ b/src/service-worker.js @@ -0,0 +1,65 @@ +/* eslint-disable no-restricted-globals */ +/* eslint-disable no-underscore-dangle */ +/* globals workbox */ +workbox.core.setCacheNameDetails({ + prefix: 'antd-pro', + suffix: 'v5', +}); +// Control all opened tabs ASAP +workbox.clientsClaim(); + +/** + * Use precaching list generated by workbox in build process. + * https://developers.google.com/web/tools/workbox/reference-docs/latest/workbox.precaching + */ +workbox.precaching.precacheAndRoute(self.__precacheManifest || []); + +/** + * Register a navigation route. + * https://developers.google.com/web/tools/workbox/modules/workbox-routing#how_to_register_a_navigation_route + */ +workbox.routing.registerNavigationRoute('/index.html'); + +/** + * Use runtime cache: + * https://developers.google.com/web/tools/workbox/reference-docs/latest/workbox.routing#.registerRoute + * + * Workbox provides all common caching strategies including CacheFirst, NetworkFirst etc. + * https://developers.google.com/web/tools/workbox/reference-docs/latest/workbox.strategies + */ + +/** Handle API requests */ +workbox.routing.registerRoute(/\/api\//, workbox.strategies.networkFirst()); + +/** Handle third party requests */ +workbox.routing.registerRoute( + /^https:\/\/gw\.alipayobjects\.com\//, + workbox.strategies.networkFirst(), +); +workbox.routing.registerRoute( + /^https:\/\/cdnjs\.cloudflare\.com\//, + workbox.strategies.networkFirst(), +); +workbox.routing.registerRoute(/\/color.less/, workbox.strategies.networkFirst()); + +/** Response to client after skipping waiting with MessageChannel */ +addEventListener('message', (event) => { + const replyPort = event.ports[0]; + const message = event.data; + if (replyPort && message && message.type === 'skip-waiting') { + event.waitUntil( + self.skipWaiting().then( + () => { + replyPort.postMessage({ + error: null, + }); + }, + (error) => { + replyPort.postMessage({ + error, + }); + }, + ), + ); + } +}); diff --git a/src/services/analysis/ActionDetection.ts b/src/services/analysis/ActionDetection.ts new file mode 100644 index 0000000..8aff5de --- /dev/null +++ b/src/services/analysis/ActionDetection.ts @@ -0,0 +1,21 @@ +// @ts-ignore +/* eslint-disable */ +import { request } from '@umijs/max'; + +/** 分页获取ActionDetection列表 POST /action_detection/getActionDetectionList */ +export async function postActionDetectionGetActionDetectionList( + body: API.SearchActionDetectionParams, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/action_detection/getActionDetectionList`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} diff --git a/src/services/analysis/index.ts b/src/services/analysis/index.ts new file mode 100644 index 0000000..5e89982 --- /dev/null +++ b/src/services/analysis/index.ts @@ -0,0 +1,8 @@ +// @ts-ignore +/* eslint-disable */ +// API 更新时间: +// API 唯一标识: +import * as ActionDetection from './ActionDetection'; +export default { + ActionDetection, +}; diff --git a/src/services/analysis/typings.d.ts b/src/services/analysis/typings.d.ts new file mode 100644 index 0000000..18fed1b --- /dev/null +++ b/src/services/analysis/typings.d.ts @@ -0,0 +1,45 @@ +declare namespace API { + type ActionDetection = { + id?: string; + source?: string; + configFile?: string; + type?: string; + remark?: string; + time?: number; + imagesPath?: string; + }; + + type PageResult = { + list?: any; + page?: number; + pageSize?: number; + total?: number; + }; + + type Response = { + code?: number; + data?: any; + msg?: string; + success?: boolean; + }; + + type SearchActionDetectionParams = { + configFile?: string; + createTime?: string; + /** 排序方式:升序false(默认)|降序true */ + desc?: boolean; + id?: number; + /** 关键字 */ + keyword?: string; + /** 排序 */ + orderKey?: string; + /** 页码 */ + page?: number; + /** 每页大小 */ + pageSize?: number; + remark?: string; + source?: string; + type?: string; + updateTime?: string; + }; +} diff --git a/src/services/ant-design-pro/api.ts b/src/services/ant-design-pro/api.ts new file mode 100644 index 0000000..cbd5961 --- /dev/null +++ b/src/services/ant-design-pro/api.ts @@ -0,0 +1,85 @@ +// @ts-ignore +/* eslint-disable */ +import { request } from '@umijs/max'; + +/** 获取当前的用户 GET /api/currentUser */ +export async function currentUser(options?: { [key: string]: any }) { + return request<{ + data: API.CurrentUser; + }>('/api/currentUser', { + method: 'GET', + ...(options || {}), + }); +} + +/** 退出登录接口 POST /api/login/outLogin */ +export async function outLogin(options?: { [key: string]: any }) { + return request>('/api/login/outLogin', { + method: 'POST', + ...(options || {}), + }); +} + +/** 登录接口 POST /api/login/account */ +export async function login(body: API.LoginParams, options?: { [key: string]: any }) { + return request('/api/login/account', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 此处后端没有提供注释 GET /api/notices */ +export async function getNotices(options?: { [key: string]: any }) { + return request('/api/notices', { + method: 'GET', + ...(options || {}), + }); +} + +/** 获取规则列表 GET /api/rule */ +export async function rule( + params: { + // query + /** 当前的页码 */ + current?: number; + /** 页面的容量 */ + pageSize?: number; + }, + options?: { [key: string]: any }, +) { + return request('/api/rule', { + method: 'GET', + params: { + ...params, + }, + ...(options || {}), + }); +} + +/** 新建规则 PUT /api/rule */ +export async function updateRule(options?: { [key: string]: any }) { + return request('/api/rule', { + method: 'PUT', + ...(options || {}), + }); +} + +/** 新建规则 POST /api/rule */ +export async function addRule(options?: { [key: string]: any }) { + return request('/api/rule', { + method: 'POST', + ...(options || {}), + }); +} + +/** 删除规则 DELETE /api/rule */ +export async function removeRule(options?: { [key: string]: any }) { + return request>('/api/rule', { + method: 'DELETE', + ...(options || {}), + }); +} diff --git a/src/services/ant-design-pro/index.ts b/src/services/ant-design-pro/index.ts new file mode 100644 index 0000000..1ac489f --- /dev/null +++ b/src/services/ant-design-pro/index.ts @@ -0,0 +1,10 @@ +// @ts-ignore +/* eslint-disable */ +// API 更新时间: +// API 唯一标识: +import * as api from './api'; +import * as login from './login'; +export default { + api, + login, +}; diff --git a/src/services/ant-design-pro/login.ts b/src/services/ant-design-pro/login.ts new file mode 100644 index 0000000..8871ed8 --- /dev/null +++ b/src/services/ant-design-pro/login.ts @@ -0,0 +1,21 @@ +// @ts-ignore +/* eslint-disable */ +import { request } from '@umijs/max'; + +/** 发送验证码 POST /api/login/captcha */ +export async function getFakeCaptcha( + params: { + // query + /** 手机号 */ + phone?: string; + }, + options?: { [key: string]: any }, +) { + return request('/api/login/captcha', { + method: 'GET', + params: { + ...params, + }, + ...(options || {}), + }); +} diff --git a/src/services/ant-design-pro/typings.d.ts b/src/services/ant-design-pro/typings.d.ts new file mode 100644 index 0000000..13e5a68 --- /dev/null +++ b/src/services/ant-design-pro/typings.d.ts @@ -0,0 +1,101 @@ +// @ts-ignore +/* eslint-disable */ + +declare namespace API { + type CurrentUser = { + name?: string; + avatar?: string; + userid?: string; + email?: string; + signature?: string; + title?: string; + group?: string; + tags?: { key?: string; label?: string }[]; + notifyCount?: number; + unreadCount?: number; + country?: string; + access?: string; + geographic?: { + province?: { label?: string; key?: string }; + city?: { label?: string; key?: string }; + }; + address?: string; + phone?: string; + }; + + type LoginResult = { + status?: string; + type?: string; + currentAuthority?: string; + }; + + type PageParams = { + current?: number; + pageSize?: number; + }; + + type RuleListItem = { + key?: number; + disabled?: boolean; + href?: string; + avatar?: string; + name?: string; + owner?: string; + desc?: string; + callNo?: number; + status?: number; + updatedAt?: string; + createdAt?: string; + progress?: number; + }; + + type RuleList = { + data?: RuleListItem[]; + /** 列表的内容总数 */ + total?: number; + success?: boolean; + }; + + type FakeCaptcha = { + code?: number; + status?: string; + }; + + type LoginParams = { + username?: string; + password?: string; + autoLogin?: boolean; + type?: string; + }; + + type ErrorResponse = { + /** 业务约定的错误码 */ + errorCode: string; + /** 业务上的错误信息 */ + errorMessage?: string; + /** 业务上的请求是否成功 */ + success?: boolean; + }; + + type NoticeIconList = { + data?: NoticeIconItem[]; + /** 列表的内容总数 */ + total?: number; + success?: boolean; + }; + + type NoticeIconItemType = 'notification' | 'message' | 'event'; + + type NoticeIconItem = { + id?: string; + extra?: string; + key?: string; + read?: boolean; + avatar?: string; + title?: string; + status?: string; + datetime?: string; + description?: string; + type?: NoticeIconItemType; + }; +} diff --git a/src/services/device/Device.ts b/src/services/device/Device.ts new file mode 100644 index 0000000..8258ff5 --- /dev/null +++ b/src/services/device/Device.ts @@ -0,0 +1,171 @@ +// @ts-ignore +/* eslint-disable */ +import { request } from '@umijs/max'; + +/** 创建基础Device POST /device/createDevice */ +export async function postDeviceCreateDevice(body: API.Device, options?: { [key: string]: any }) { + return request(`/api/v1/device/createDevice`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 删除Device DELETE /device/deleteDevice */ +export async function deleteDeviceDeleteDevice(body: API.Device, options?: { [key: string]: any }) { + return request(`/api/v1/device/deleteDevice`, { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 删除选中Device DELETE /device/deleteDeviceByIds */ +export async function deleteDeviceDeleteDeviceByIds( + body: API.IdsReq, + options?: { [key: string]: any }, +) { + return request(`/api/v1/device/deleteDeviceByIds`, { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 根据id获取Device POST /device/getDeviceById */ +export async function postDeviceGetDeviceById(body: API.GetById, options?: { [key: string]: any }) { + return request( + `/api/v1/device/getDeviceById`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 获取Device外键列表 POST /device/getDeviceFkSelect */ +export async function postDeviceGetDeviceFkSelect( + body: API.GetFkSelect, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/device/getDeviceFkSelect`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 分页获取Device列表 POST /device/getDeviceList */ +export async function postDeviceGetDeviceList( + body: API.SearchDeviceParams, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/device/getDeviceList`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 获得Device名称列表 POST /device/getDeviceNames */ +export async function postDeviceGetDeviceNames(body: API.IdsReq, options?: { [key: string]: any }) { + return request( + `/api/v1/device/getDeviceNames`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 修改基础Device PUT /device/updateDevice */ +export async function putDeviceUpdateDevice(body: API.Device, options?: { [key: string]: any }) { + return request(`/api/v1/device/updateDevice`, { + method: 'PUT', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 关闭rtsp摄像头驱动 POST /device/closeRtspCamera */ +export async function postDeviceCloseRtspCamera( + body: API.KillRtspReq, + options?: { [key: string]: any }, +) { + return request(`/api/v1/device/closeRtspCamera`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + + +/** 打开rtsp摄像头驱动 POST /device/openRtspCamera */ +export async function postDeviceOpenRtspCamera( + body: API.RtspReq, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/device/openRtspCamera`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +export async function postDeviceGetAllDeviceByGroup( + body: API.GetById, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/device/getAllDeviceByGroup`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} diff --git a/src/services/device/DeviceCategory.ts b/src/services/device/DeviceCategory.ts new file mode 100644 index 0000000..5c1d4a9 --- /dev/null +++ b/src/services/device/DeviceCategory.ts @@ -0,0 +1,138 @@ +// @ts-ignore +/* eslint-disable */ +import { request } from '@umijs/max'; + +/** 创建基础DeviceCategory POST /device_category/createDeviceCategory */ +export async function postDeviceCategoryCreateDeviceCategory( + body: API.DeviceCategory, + options?: { [key: string]: any }, +) { + return request(`/api/v1/device_category/createDeviceCategory`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 删除DeviceCategory DELETE /device_category/deleteDeviceCategory */ +export async function deleteDeviceCategoryDeleteDeviceCategory( + body: API.DeviceCategory, + options?: { [key: string]: any }, +) { + return request(`/api/v1/device_category/deleteDeviceCategory`, { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 删除选中DeviceCategory DELETE /device_category/deleteDeviceCategoryByIds */ +export async function deleteDeviceCategoryDeleteDeviceCategoryByIds( + body: API.IdsReq, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/device_category/deleteDeviceCategoryByIds`, + { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 根据id获取DeviceCategory POST /device_category/getDeviceCategoryById */ +export async function postDeviceCategoryGetDeviceCategoryById( + body: API.GetById, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/device_category/getDeviceCategoryById`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 获取DeviceCategory外键列表 POST /device_category/getDeviceCategoryFkSelect */ +export async function postDeviceCategoryGetDeviceCategoryFkSelect( + body: API.GetFkSelect, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/device_category/getDeviceCategoryFkSelect`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 分页获取DeviceCategory列表 POST /device_category/getDeviceCategoryList */ +export async function postDeviceCategoryGetDeviceCategoryList( + body: API.SearchDeviceCategoryParams, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/device_category/getDeviceCategoryList`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 获得DeviceCategory名称列表 POST /device_category/getDeviceCategoryNames */ +export async function postDeviceCategoryGetDeviceCategoryNames( + body: API.IdsReq, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/device_category/getDeviceCategoryNames`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 修改基础DeviceCategory PUT /device_category/updateDeviceCategory */ +export async function putDeviceCategoryUpdateDeviceCategory( + body: API.DeviceCategory, + options?: { [key: string]: any }, +) { + return request(`/api/v1/device_category/updateDeviceCategory`, { + method: 'PUT', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} diff --git a/src/services/device/DeviceGroup.ts b/src/services/device/DeviceGroup.ts new file mode 100644 index 0000000..89f1ebc --- /dev/null +++ b/src/services/device/DeviceGroup.ts @@ -0,0 +1,146 @@ +// @ts-ignore +/* eslint-disable */ +import { request } from '@umijs/max'; + +/** 创建基础DeviceGroup POST /device_group/createDeviceGroup */ +export async function postDeviceGroupCreateDeviceGroup( + body: API.DeviceGroup, + options?: { [key: string]: any }, +) { + return request(`/api/v1/device_group/createDeviceGroup`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 删除DeviceGroup DELETE /device_group/deleteDeviceGroup */ +export async function deleteDeviceGroupDeleteDeviceGroup( + body: API.DeviceGroup, + options?: { [key: string]: any }, +) { + return request(`/api/v1/device_group/deleteDeviceGroup`, { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 删除选中DeviceGroup DELETE /device_group/deleteDeviceGroupByIds */ +export async function deleteDeviceGroupDeleteDeviceGroupByIds( + body: API.IdsReq, + options?: { [key: string]: any }, +) { + return request(`/api/v1/device_group/deleteDeviceGroupByIds`, { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 根据id获取DeviceGroup POST /device_group/getDeviceGroupById */ +export async function postDeviceGroupGetDeviceGroupById( + body: API.GetById, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/device_group/getDeviceGroupById`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 获取DeviceGroup外键列表 POST /device_group/getDeviceGroupFkSelect */ +export async function postDeviceGroupGetDeviceGroupFkSelect( + body: API.GetFkSelect, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/device_group/getDeviceGroupFkSelect`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 分页获取DeviceGroup列表 POST /device_group/getDeviceGroupList */ +export async function postDeviceGroupGetDeviceGroupList( + body: API.SearchDeviceGroupParams, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/device_group/getDeviceGroupList`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 获得DeviceGroup名称列表 POST /device_group/getDeviceGroupNames */ +export async function postDeviceGroupGetDeviceGroupNames( + body: API.IdsReq, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/device_group/getDeviceGroupNames`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 获取设备组树 POST /device_group/getDeviceGroupTree */ +export async function postDeviceGroupGetDeviceGroupTree(options?: { [key: string]: any }) { + return request( + `/api/v1/device_group/getDeviceGroupTree`, + { + method: 'POST', + ...(options || {}), + }, + ); +} + +/** 修改基础DeviceGroup PUT /device_group/updateDeviceGroup */ +export async function putDeviceGroupUpdateDeviceGroup( + body: API.DeviceGroup, + options?: { [key: string]: any }, +) { + return request(`/api/v1/device_group/updateDeviceGroup`, { + method: 'PUT', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} diff --git a/src/services/device/DeviceModelInGroup.ts b/src/services/device/DeviceModelInGroup.ts new file mode 100644 index 0000000..159d3da --- /dev/null +++ b/src/services/device/DeviceModelInGroup.ts @@ -0,0 +1,162 @@ +// @ts-ignore +/* eslint-disable */ +import { request } from '@umijs/max'; + +/** 创建基础DeviceModelInGroup POST /device_model_in_group/createDeviceModelInGroup */ +export async function postDeviceModelInGroupCreateDeviceModelInGroup( + body: API.DeviceModelInGroup, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/device_model_in_group/createDeviceModelInGroup`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 删除DeviceModelInGroup DELETE /device_model_in_group/deleteDeviceModelInGroup */ +export async function deleteDeviceModelInGroupDeleteDeviceModelInGroup( + body: API.DeviceModelInGroup, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/device_model_in_group/deleteDeviceModelInGroup`, + { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 删除选中DeviceModelInGroup DELETE /device_model_in_group/deleteDeviceModelInGroupByIds */ +export async function deleteDeviceModelInGroupDeleteDeviceModelInGroupByIds( + body: API.IdsReq, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/device_model_in_group/deleteDeviceModelInGroupByIds`, + { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 根据id获取DeviceModelInGroup POST /device_model_in_group/getDeviceModelInGroupById */ +export async function postDeviceModelInGroupGetDeviceModelInGroupById( + body: API.GetById, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/device_model_in_group/getDeviceModelInGroupById`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 获取DeviceModelInGroup外键列表 POST /device_model_in_group/getDeviceModelInGroupFkSelect */ +export async function postDeviceModelInGroupGetDeviceModelInGroupFkSelect( + body: API.GetFkSelect, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/device_model_in_group/getDeviceModelInGroupFkSelect`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 分页获取DeviceModelInGroup列表 POST /device_model_in_group/getDeviceModelInGroupList */ +export async function postDeviceModelInGroupGetDeviceModelInGroupList( + body: API.SearchDeviceModelInGroupParams, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/device_model_in_group/getDeviceModelInGroupList`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 获得DeviceModelInGroup名称列表 POST /device_model_in_group/getDeviceModelInGroupNames */ +export async function postDeviceModelInGroupGetDeviceModelInGroupNames( + body: API.IdsReq, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/device_model_in_group/getDeviceModelInGroupNames`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 修改基础DeviceModelInGroup PUT /device_model_in_group/updateDeviceModelInGroup */ +export async function putDeviceModelInGroupUpdateDeviceModelInGroup( + body: API.DeviceModelInGroup, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/device_model_in_group/updateDeviceModelInGroup`, + { + method: 'PUT', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 更新网点中的设备 PUT /device_model_in_group/updateDevicesInGroupModel */ +export async function putRoleUpdateDevicesInGroupModel( + body: API.UpdateDevicesInGroupModelParams, + options?: { [key: string]: any }, +) { + return request(`/api/v1/device_model_in_group/updateDevicesInGroupModel`, { + method: 'PUT', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} diff --git a/src/services/device/DeviceRelation.ts b/src/services/device/DeviceRelation.ts new file mode 100644 index 0000000..f90242f --- /dev/null +++ b/src/services/device/DeviceRelation.ts @@ -0,0 +1,138 @@ +// @ts-ignore +/* eslint-disable */ +import { request } from '@umijs/max'; + +/** 创建基础DeviceRelation POST /device_relation/createDeviceRelation */ +export async function postDeviceRelationCreateDeviceRelation( + body: API.DeviceRelation, + options?: { [key: string]: any }, +) { + return request(`/api/v1/device_relation/createDeviceRelation`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 删除DeviceRelation DELETE /device_relation/deleteDeviceRelation */ +export async function deleteDeviceRelationDeleteDeviceRelation( + body: API.DeviceRelation, + options?: { [key: string]: any }, +) { + return request(`/api/v1/device_relation/deleteDeviceRelation`, { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 删除选中DeviceRelation DELETE /device_relation/deleteDeviceRelationByIds */ +export async function deleteDeviceRelationDeleteDeviceRelationByIds( + body: API.IdsReq, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/device_relation/deleteDeviceRelationByIds`, + { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 根据id获取DeviceRelation POST /device_relation/getDeviceRelationById */ +export async function postDeviceRelationGetDeviceRelationById( + body: API.GetById, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/device_relation/getDeviceRelationById`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 获取DeviceRelation外键列表 POST /device_relation/getDeviceRelationFkSelect */ +export async function postDeviceRelationGetDeviceRelationFkSelect( + body: API.GetFkSelect, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/device_relation/getDeviceRelationFkSelect`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 分页获取DeviceRelation列表 POST /device_relation/getDeviceRelationList */ +export async function postDeviceRelationGetDeviceRelationList( + body: API.SearchDeviceRelationParams, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/device_relation/getDeviceRelationList`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 获得DeviceRelation名称列表 POST /device_relation/getDeviceRelationNames */ +export async function postDeviceRelationGetDeviceRelationNames( + body: API.IdsReq, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/device_relation/getDeviceRelationNames`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 修改基础DeviceRelation PUT /device_relation/updateDeviceRelation */ +export async function putDeviceRelationUpdateDeviceRelation( + body: API.DeviceRelation, + options?: { [key: string]: any }, +) { + return request(`/api/v1/device_relation/updateDeviceRelation`, { + method: 'PUT', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} diff --git a/src/services/device/index.ts b/src/services/device/index.ts new file mode 100644 index 0000000..8ac824c --- /dev/null +++ b/src/services/device/index.ts @@ -0,0 +1,14 @@ +// @ts-ignore +/* eslint-disable */ +// API 更新时间: +// API 唯一标识: +import * as Device from './Device'; +import * as DeviceCategory from './DeviceCategory'; +import * as DeviceGroup from './DeviceGroup'; +import * as DeviceRelation from './DeviceRelation'; +export default { + Device, + DeviceCategory, + DeviceGroup, + DeviceRelation, +}; diff --git a/src/services/device/typings.d.ts b/src/services/device/typings.d.ts new file mode 100644 index 0000000..941743f --- /dev/null +++ b/src/services/device/typings.d.ts @@ -0,0 +1,222 @@ +declare namespace API { + type AllResult = { + list?: any; + }; + type Device = { + categoryFkId?: number; + code?: string; + createTime?: string; + groupFkId?: number; + id?: number; + isEnable?: boolean; + name?: string; + param?: string; + position?: string; + remark?: string; + spec?: string; + updateTime?: string; + }; + + type DeviceCategory = { + code?: string; + createTime?: string; + id?: number; + name?: string; + remark?: string; + updateTime?: string; + }; + + type RtspReq = { + /** rtsp地址 */ + url?: string; + }; + type KillRtspReq = { + /** rtsp地址 */ + pid?: number; + }; + + type RtspRes = { + host?: string; + pid?: number; + }; + + type DeviceDeviceCategoryResponse = { + deviceCategory?: DeviceCategory; + }; + + type DeviceDeviceGroupResponse = { + deviceGroup?: DeviceGroup; + }; + + type DeviceDeviceRelationResponse = { + deviceRelation?: DeviceRelation; + }; + + type DeviceDeviceResponse = { + device?: Device; + }; + + type DeviceGroup = { + address?: string; + children?: DeviceGroup[]; + code?: string; + createTime?: string; + id?: number; + isEnable?: boolean; + key?: string; + lat?: string; + lon?: string; + managerName?: string; + managerPhone?: string; + name?: string; + parentFkId?: number; + remark?: string; + telephone?: string; + updateTime?: string; + }; + + type DeviceRelation = { + createTime?: string; + deviceParentFkId?: number; + deviceSonFkId?: number; + id?: number; + updateTime?: string; + }; + + type FkResult = { + list?: any; + }; + + type GetById = { + /** 主键ID */ + id?: number; + }; + + type GetFkSelect = { + /** 关键字 */ + keyword?: string; + }; + + type IdsReq = { + ids?: number[]; + }; + + type NamesResult = { + list?: any; + }; + + type PageResult = { + list?: any; + page?: number; + pageSize?: number; + total?: number; + }; + + type Response = { + code?: number; + data?: any; + msg?: string; + success?: boolean; + }; + + type SearchDeviceCategoryParams = { + code?: string; + createTime?: string; + /** 排序方式:升序false(默认)|降序true */ + desc?: boolean; + id?: number; + /** 关键字 */ + keyword?: string; + name?: string; + /** 排序 */ + orderKey?: string; + /** 页码 */ + page?: number; + /** 每页大小 */ + pageSize?: number; + remark?: string; + updateTime?: string; + }; + + type SearchDeviceGroupParams = { + address?: string; + children?: DeviceGroup[]; + code?: string; + createTime?: string; + /** 排序方式:升序false(默认)|降序true */ + desc?: boolean; + id?: number; + isEnable?: boolean; + key?: string; + /** 关键字 */ + keyword?: string; + lat?: string; + lon?: string; + managerName?: string; + managerPhone?: string; + name?: string; + /** 排序 */ + orderKey?: string; + /** 页码 */ + page?: number; + /** 每页大小 */ + pageSize?: number; + parentFkId?: number; + remark?: string; + telephone?: string; + updateTime?: string; + }; + + type SearchDeviceParams = { + categoryFkId?: number; + code?: string; + createTime?: string; + /** 排序方式:升序false(默认)|降序true */ + desc?: boolean; + groupFkId?: number; + id?: number; + isEnable?: boolean; + /** 关键字 */ + keyword?: string; + name?: string; + /** 排序 */ + orderKey?: string; + /** 页码 */ + page?: number; + /** 每页大小 */ + pageSize?: number; + param?: string; + position?: string; + remark?: string; + spec?: string; + updateTime?: string; + }; + + type SearchDeviceRelationParams = { + createTime?: string; + /** 排序方式:升序false(默认)|降序true */ + desc?: boolean; + deviceParentFkId?: number; + deviceSonFkId?: number; + id?: number; + /** 关键字 */ + keyword?: string; + /** 排序 */ + orderKey?: string; + /** 页码 */ + page?: number; + /** 每页大小 */ + pageSize?: number; + updateTime?: string; + }; + + type Tree = { + children?: Tree[]; + key?: number; + title?: string; + }; + + type TreeResponse = { + tree?: Tree[]; + }; +} diff --git a/src/services/project/Project.ts b/src/services/project/Project.ts new file mode 100644 index 0000000..4a9fc7e --- /dev/null +++ b/src/services/project/Project.ts @@ -0,0 +1,162 @@ +// @ts-ignore +/* eslint-disable */ +import { request } from '@umijs/max'; + +/** 创建基础Project POST /project/createProject */ +export async function postProjectCreateProject( + body: API.Project, + options?: { [key: string]: any }, +) { + return request(`/api/v1/project/createProject`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 删除Project DELETE /project/deleteProject */ +export async function deleteProjectDeleteProject( + body: API.Project, + options?: { [key: string]: any }, +) { + return request(`/api/v1/project/deleteProject`, { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 删除选中Project DELETE /project/deleteProjectByIds */ +export async function deleteProjectDeleteProjectByIds( + body: API.IdsReq, + options?: { [key: string]: any }, +) { + return request(`/api/v1/project/deleteProjectByIds`, { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 根据组id获得项目id和name POST /project/getProjectByGroupId */ +export async function postProjectGetProjectByGroupId( + body: API.GetById, + options?: { [key: string]: any }, +) { + return request(`/api/v1/project/getProjectByGroupId`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 根据id获取Project POST /project/getProjectById */ +export async function postProjectGetProjectById( + body: API.GetById, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/project/getProjectById`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 获取Project外键列表 POST /project/getProjectFkSelect */ +export async function postProjectGetProjectFkSelect( + body: API.GetFkSelect, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/project/getProjectFkSelect`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 分页获取Project列表 POST /project/getProjectList */ +export async function postProjectGetProjectList( + body: API.SearchProjectParams, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/project/getProjectList`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 获得Project名称列表 POST /project/getProjectNames */ +export async function postProjectGetProjectNames( + body: API.IdsReq, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/project/getProjectNames`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 修改基础Project PUT /project/updateProject */ +export async function putProjectUpdateProject(body: API.Project, options?: { [key: string]: any }) { + return request(`/api/v1/project/updateProject`, { + method: 'PUT', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 更新项目的关联组 PUT /project/updateProjectGroup */ +export async function putProjectUpdateProjectGroup( + body: API.UpdateProjectGroupParams, + options?: { [key: string]: any }, +) { + return request(`/api/v1/project/updateProjectGroup`, { + method: 'PUT', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} diff --git a/src/services/project/ProjectModelConfig.ts b/src/services/project/ProjectModelConfig.ts new file mode 100644 index 0000000..ffa5852 --- /dev/null +++ b/src/services/project/ProjectModelConfig.ts @@ -0,0 +1,111 @@ +// @ts-ignore +/* eslint-disable */ +import { request } from '@umijs/max'; + +/** 创建基础ProjectModelConfig POST /project_model_config/createProjectModelConfig */ +export async function postProjectModelConfigCreateProjectModelConfig( + body: API.ProjectModelConfig, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/project_model_config/createProjectModelConfig`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 删除ProjectModelConfig DELETE /project_model_config/deleteProjectModelConfig */ +export async function deleteProjectModelConfigDeleteProjectModelConfig( + body: API.ProjectModelConfig, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/project_model_config/deleteProjectModelConfig`, + { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 删除选中ProjectModelConfig DELETE /project_model_config/deleteProjectModelConfigByIds */ +export async function deleteProjectModelConfigDeleteProjectModelConfigByIds( + body: API.IdsReq, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/project_model_config/deleteProjectModelConfigByIds`, + { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 根据id获取ProjectModelConfig POST /project_model_config/getProjectModelConfigById */ +export async function postProjectModelConfigGetProjectModelConfigById( + body: API.GetById, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/project_model_config/getProjectModelConfigById`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 分页获取ProjectModelConfig列表 POST /project_model_config/getProjectModelConfigList */ +export async function postProjectModelConfigGetProjectModelConfigList( + body: API.SearchProjectModelConfigParams, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/project_model_config/getProjectModelConfigList`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 修改基础ProjectModelConfig PUT /project_model_config/updateProjectModelConfig */ +export async function putProjectModelConfigUpdateProjectModelConfig( + body: API.ProjectModelConfig, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/project_model_config/updateProjectModelConfig`, + { + method: 'PUT', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} diff --git a/src/services/project/index.ts b/src/services/project/index.ts new file mode 100644 index 0000000..46874f5 --- /dev/null +++ b/src/services/project/index.ts @@ -0,0 +1,11 @@ +// @ts-ignore +/* eslint-disable */ +// API 更新时间: +// API 唯一标识: +import * as Project from './Project'; +import * as ProjectModelConfig from './ProjectModelConfig'; + +export default { + Project, + ProjectModelConfig, +}; diff --git a/src/services/project/typings.d.ts b/src/services/project/typings.d.ts new file mode 100644 index 0000000..acf0ff7 --- /dev/null +++ b/src/services/project/typings.d.ts @@ -0,0 +1,126 @@ +declare namespace API { + type FkResult = { + list?: any; + }; + + type GetById = { + /** 主键ID */ + id?: number; + }; + + type GetFkSelect = { + /** 关键字 */ + keyword?: string; + }; + + type IdsReq = { + ids?: number[]; + }; + + type NamesResult = { + list?: any; + }; + + type PageResult = { + list?: any; + page?: number; + pageSize?: number; + total?: number; + }; + + type Project = { + code?: string; + createTime?: string; + groupIds?: number[]; + id?: number; + inferConfig?: Record; + info?: string; + isEnable?: boolean; + name?: string; + projectFilePath?: string; + remark?: string; + updateTime?: string; + }; + + type ProjectModelConfig = { + createTime?: string; + /** 设备是一个 以,隔开的存储device id的字符例如 1,2 */ + devices?: string; + id?: number; + modelConfig?: Record; + modelFkId?: number; + modelVersionFkId?: number; + projectConfig?: Record; + projectGroupFkId?: number; + remark?: string; + updateTime?: string; + }; + + type ProjectProjectModelConfigResponse = { + ProjectModelConfig?: ProjectModelConfig; + }; + + type ProjectProjectResponse = { + project?: Project; + }; + + type Response = { + code?: number; + data?: any; + msg?: string; + success?: boolean; + }; + + type SearchProjectModelConfigParams = { + createTime?: string; + /** 排序方式:升序false(默认)|降序true */ + desc?: boolean; + /** 设备是一个 以,隔开的存储device id的字符例如 1,2 */ + devices?: string; + id?: number; + /** 关键字 */ + keyword?: string; + modelConfig?: Record; + modelFkId?: number; + modelVersionFkId?: number; + /** 排序 */ + orderKey?: string; + /** 页码 */ + page?: number; + /** 每页大小 */ + pageSize?: number; + projectConfig?: Record; + projectGroupFkId?: number; + remark?: string; + updateTime?: string; + }; + + type SearchProjectParams = { + code?: string; + createTime?: string; + /** 排序方式:升序false(默认)|降序true */ + desc?: boolean; + groupIds?: number[]; + id?: number; + inferConfig?: Record; + info?: string; + isEnable?: boolean; + /** 关键字 */ + keyword?: string; + name?: string; + /** 排序 */ + orderKey?: string; + /** 页码 */ + page?: number; + /** 每页大小 */ + pageSize?: number; + projectFilePath?: string; + remark?: string; + updateTime?: string; + }; + + type UpdateProjectGroupParams = { + groupIds?: number[]; + projectId?: number; + }; +} diff --git a/src/services/resource/AlgorithmModel.ts b/src/services/resource/AlgorithmModel.ts new file mode 100644 index 0000000..c7bce76 --- /dev/null +++ b/src/services/resource/AlgorithmModel.ts @@ -0,0 +1,156 @@ +// @ts-ignore +/* eslint-disable */ +import { request } from '@umijs/max'; + +/** 创建基础AlgorithmModel POST /algorithm_model/createAlgorithmModel */ +export async function postAlgorithmModelCreateAlgorithmModel( + body: API.AlgorithmModel, + options?: { [key: string]: any }, +) { + return request(`/api/v1/algorithm_model/createAlgorithmModel`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 删除AlgorithmModel DELETE /algorithm_model/deleteAlgorithmModel */ +export async function deleteAlgorithmModelDeleteAlgorithmModel( + body: API.AlgorithmModel, + options?: { [key: string]: any }, +) { + return request(`/api/v1/algorithm_model/deleteAlgorithmModel`, { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 删除选中AlgorithmModel DELETE /algorithm_model/deleteAlgorithmModelByIds */ +export async function deleteAlgorithmModelDeleteAlgorithmModelByIds( + body: API.IdsReq, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/algorithm_model/deleteAlgorithmModelByIds`, + { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 根据id获取AlgorithmModel POST /algorithm_model/getAlgorithmModelById */ +export async function postAlgorithmModelGetAlgorithmModelById( + body: API.GetById, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/algorithm_model/getAlgorithmModelById`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 获取AlgorithmModel外键列表 POST /algorithm_model/getAlgorithmModelFkSelect */ +export async function postAlgorithmModelGetAlgorithmModelFkSelect( + body: API.GetFkSelect, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/algorithm_model/getAlgorithmModelFkSelect`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 分页获取AlgorithmModel列表 POST /algorithm_model/getAlgorithmModelList */ +export async function postAlgorithmModelGetAlgorithmModelList( + body: API.SearchAlgorithmModelParams, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/algorithm_model/getAlgorithmModelList`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 获得AlgorithmModel名称列表 POST /algorithm_model/getAlgorithmModelNames */ +export async function postAlgorithmModelGetAlgorithmModelNames( + body: API.IdsReq, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/algorithm_model/getAlgorithmModelNames`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 修改基础AlgorithmModel PUT /algorithm_model/updateAlgorithmModel */ +export async function putAlgorithmModelUpdateAlgorithmModel( + body: API.AlgorithmModel, + options?: { [key: string]: any }, +) { + return request(`/api/v1/algorithm_model/updateAlgorithmModel`, { + method: 'PUT', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 根据id获取所有的版本 POST /algorithm_model/getAllVersionsById */ +export async function postAlgorithmModelGetAllVersionsById( + body: API.GetById, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/algorithm_model/getAllVersionsById`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} diff --git a/src/services/resource/BusinessImage.ts b/src/services/resource/BusinessImage.ts new file mode 100644 index 0000000..d59635f --- /dev/null +++ b/src/services/resource/BusinessImage.ts @@ -0,0 +1,138 @@ +// @ts-ignore +/* eslint-disable */ +import { request } from '@umijs/max'; + +/** 创建基础BusinessImage POST /business_image/createBusinessImage */ +export async function postBusinessImageCreateBusinessImage( + body: API.BusinessImage, + options?: { [key: string]: any }, +) { + return request(`/api/v1/business_image/createBusinessImage`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 删除BusinessImage DELETE /business_image/deleteBusinessImage */ +export async function deleteBusinessImageDeleteBusinessImage( + body: API.BusinessImage, + options?: { [key: string]: any }, +) { + return request(`/api/v1/business_image/deleteBusinessImage`, { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 删除选中BusinessImage DELETE /business_image/deleteBusinessImageByIds */ +export async function deleteBusinessImageDeleteBusinessImageByIds( + body: API.IdsReq, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/business_image/deleteBusinessImageByIds`, + { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 根据id获取BusinessImage POST /business_image/getBusinessImageById */ +export async function postBusinessImageGetBusinessImageById( + body: API.GetById, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/business_image/getBusinessImageById`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 获取BusinessImage外键列表 POST /business_image/getBusinessImageFkSelect */ +export async function postBusinessImageGetBusinessImageFkSelect( + body: API.GetFkSelect, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/business_image/getBusinessImageFkSelect`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 分页获取BusinessImage列表 POST /business_image/getBusinessImageList */ +export async function postBusinessImageGetBusinessImageList( + body: API.SearchBusinessImageParams, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/business_image/getBusinessImageList`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 获得BusinessImage名称列表 POST /business_image/getBusinessImageNames */ +export async function postBusinessImageGetBusinessImageNames( + body: API.IdsReq, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/business_image/getBusinessImageNames`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 修改基础BusinessImage PUT /business_image/updateBusinessImage */ +export async function putBusinessImageUpdateBusinessImage( + body: API.BusinessImage, + options?: { [key: string]: any }, +) { + return request(`/api/v1/business_image/updateBusinessImage`, { + method: 'PUT', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} diff --git a/src/services/resource/ModelCategory.ts b/src/services/resource/ModelCategory.ts new file mode 100644 index 0000000..ef047bd --- /dev/null +++ b/src/services/resource/ModelCategory.ts @@ -0,0 +1,138 @@ +// @ts-ignore +/* eslint-disable */ +import { request } from '@umijs/max'; + +/** 创建基础ModelCategory POST /model_category/createModelCategory */ +export async function postModelCategoryCreateModelCategory( + body: API.ModelCategory, + options?: { [key: string]: any }, +) { + return request(`/api/v1/model_category/createModelCategory`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 删除ModelCategory DELETE /model_category/deleteModelCategory */ +export async function deleteModelCategoryDeleteModelCategory( + body: API.ModelCategory, + options?: { [key: string]: any }, +) { + return request(`/api/v1/model_category/deleteModelCategory`, { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 删除选中ModelCategory DELETE /model_category/deleteModelCategoryByIds */ +export async function deleteModelCategoryDeleteModelCategoryByIds( + body: API.IdsReq, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/model_category/deleteModelCategoryByIds`, + { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 根据id获取ModelCategory POST /model_category/getModelCategoryById */ +export async function postModelCategoryGetModelCategoryById( + body: API.GetById, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/model_category/getModelCategoryById`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 获取ModelCategory外键列表 POST /model_category/getModelCategoryFkSelect */ +export async function postModelCategoryGetModelCategoryFkSelect( + body: API.GetFkSelect, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/model_category/getModelCategoryFkSelect`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 分页获取ModelCategory列表 POST /model_category/getModelCategoryList */ +export async function postModelCategoryGetModelCategoryList( + body: API.SearchModelCategoryParams, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/model_category/getModelCategoryList`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 获得ModelCategory名称列表 POST /model_category/getModelCategoryNames */ +export async function postModelCategoryGetModelCategoryNames( + body: API.IdsReq, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/model_category/getModelCategoryNames`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 修改基础ModelCategory PUT /model_category/updateModelCategory */ +export async function putModelCategoryUpdateModelCategory( + body: API.ModelCategory, + options?: { [key: string]: any }, +) { + return request(`/api/v1/model_category/updateModelCategory`, { + method: 'PUT', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} diff --git a/src/services/resource/ModelImage.ts b/src/services/resource/ModelImage.ts new file mode 100644 index 0000000..6f3031b --- /dev/null +++ b/src/services/resource/ModelImage.ts @@ -0,0 +1,135 @@ +// @ts-ignore +/* eslint-disable */ +import { request } from '@umijs/max'; + +/** 创建基础ModelImage POST /model_image/createModelImage */ +export async function postModelImageCreateModelImage( + body: API.ModelImage, + options?: { [key: string]: any }, +) { + return request(`/api/v1/model_image/createModelImage`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 删除ModelImage DELETE /model_image/deleteModelImage */ +export async function deleteModelImageDeleteModelImage( + body: API.ModelImage, + options?: { [key: string]: any }, +) { + return request(`/api/v1/model_image/deleteModelImage`, { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 删除选中ModelImage DELETE /model_image/deleteModelImageByIds */ +export async function deleteModelImageDeleteModelImageByIds( + body: API.IdsReq, + options?: { [key: string]: any }, +) { + return request(`/api/v1/model_image/deleteModelImageByIds`, { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 根据id获取ModelImage POST /model_image/getModelImageById */ +export async function postModelImageGetModelImageById( + body: API.GetById, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/model_image/getModelImageById`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 获取ModelImage外键列表 POST /model_image/getModelImageFkSelect */ +export async function postModelImageGetModelImageFkSelect( + body: API.GetFkSelect, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/model_image/getModelImageFkSelect`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 分页获取ModelImage列表 POST /model_image/getModelImageList */ +export async function postModelImageGetModelImageList( + body: API.SearchModelImageParams, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/model_image/getModelImageList`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 获得ModelImage名称列表 POST /model_image/getModelImageNames */ +export async function postModelImageGetModelImageNames( + body: API.IdsReq, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/model_image/getModelImageNames`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 修改基础ModelImage PUT /model_image/updateModelImage */ +export async function putModelImageUpdateModelImage( + body: API.ModelImage, + options?: { [key: string]: any }, +) { + return request(`/api/v1/model_image/updateModelImage`, { + method: 'PUT', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} diff --git a/src/services/resource/ModelVersion.ts b/src/services/resource/ModelVersion.ts new file mode 100644 index 0000000..dfa2c04 --- /dev/null +++ b/src/services/resource/ModelVersion.ts @@ -0,0 +1,153 @@ +// @ts-ignore +/* eslint-disable */ +import { request } from '@umijs/max'; + +/** 创建基础ModelVersion POST /model_version/createModelVersion */ +export async function postModelVersionCreateModelVersion( + body: API.ModelVersion, + options?: { [key: string]: any }, +) { + return request(`/api/v1/model_version/createModelVersion`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 删除ModelVersion DELETE /model_version/deleteModelVersion */ +export async function deleteModelVersionDeleteModelVersion( + body: API.ModelVersion, + options?: { [key: string]: any }, +) { + return request(`/api/v1/model_version/deleteModelVersion`, { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 删除选中ModelVersion DELETE /model_version/deleteModelVersionByIds */ +export async function deleteModelVersionDeleteModelVersionByIds( + body: API.IdsReq, + options?: { [key: string]: any }, +) { + return request(`/api/v1/model_version/deleteModelVersionByIds`, { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 根据id获取ModelVersion POST /model_version/getModelVersionById */ +export async function postModelVersionGetModelVersionById( + body: API.GetById, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/model_version/getModelVersionById`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 获取ModelVersion外键列表 POST /model_version/getModelVersionFkSelect */ +export async function postModelVersionGetModelVersionFkSelect( + body: API.GetFkSelect, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/model_version/getModelVersionFkSelect`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 分页获取ModelVersion列表 POST /model_version/getModelVersionList */ +export async function postModelVersionGetModelVersionList( + body: API.SearchModelVersionParams, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/model_version/getModelVersionList`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 获得ModelVersion名称列表 POST /model_version/getModelVersionNames */ +export async function postModelVersionGetModelVersionNames( + body: API.IdsReq, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/model_version/getModelVersionNames`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 修改基础ModelVersion PUT /model_version/updateModelVersion */ +export async function putModelVersionUpdateModelVersion( + body: API.ModelVersion, + options?: { [key: string]: any }, +) { + return request(`/api/v1/model_version/updateModelVersion`, { + method: 'PUT', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 根据ids获取ModelVersion列表 POST /model_version/getModelVersionListByIds */ +export async function postModelVersionGetModelVersionListByIds( + body: API.IdsReq, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/model_version/getModelVersionListByIds`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} diff --git a/src/services/resource/index.ts b/src/services/resource/index.ts new file mode 100644 index 0000000..37b6132 --- /dev/null +++ b/src/services/resource/index.ts @@ -0,0 +1,16 @@ +// @ts-ignore +/* eslint-disable */ +// API 更新时间: +// API 唯一标识: +import * as AlgorithmModel from './AlgorithmModel'; +import * as BusinessImage from './BusinessImage'; +import * as ModelCategory from './ModelCategory'; +import * as ModelImage from './ModelImage'; +import * as ModelVersion from './ModelVersion'; +export default { + AlgorithmModel, + BusinessImage, + ModelCategory, + ModelImage, + ModelVersion, +}; diff --git a/src/services/resource/typings.d.ts b/src/services/resource/typings.d.ts new file mode 100644 index 0000000..c3b795b --- /dev/null +++ b/src/services/resource/typings.d.ts @@ -0,0 +1,226 @@ +declare namespace API { + type ResourceModelVersionListResponse = { + modelVersions?: ModelVersion[]; + }; + type AlgorithmModel = { + categoryFkId?: number; + createTime?: string; + id?: number; + name?: string; + defaultVersionFkId?: number; + remark?: string; + updateTime?: string; + }; + + type ResourceModelVersionFkSelectResponse = { + id?: number; + name?: string; + }; + + type BusinessImage = { + configHash?: string; + createTime?: string; + id?: number; + name?: string; + path?: string; + projectFkId?: number; + remark?: string; + startCode?: string; + updateTime?: string; + version?: string; + }; + + type FkResult = { + list?: any; + }; + + type GetById = { + /** 主键ID */ + id?: number; + }; + + type GetFkSelect = { + /** 关键字 */ + keyword?: string; + }; + + type IdsReq = { + ids?: number[]; + }; + + type ModelCategory = { + code?: string; + createTime?: string; + id?: number; + name?: string; + remark?: string; + updateTime?: string; + }; + + type ModelImage = { + createTime?: string; + id?: number; + modelVersionFkId?: number; + name?: string; + path?: string; + remark?: string; + startCode?: string; + updateTime?: string; + }; + + type ModelVersion = { + createTime?: string; + id?: number; + isEnable?: boolean; + modelFkId?: number; + modelConfig?: Record; + path?: string; + status?: number; + remark?: string; + startCode?: string; + updateTime?: string; + version?: string; + }; + + type NamesResult = { + list?: any; + }; + + type PageResult = { + list?: any; + page?: number; + pageSize?: number; + total?: number; + }; + + type ResourceAlgorithmModelResponse = { + algorithmModel?: AlgorithmModel; + }; + + type ResourceBusinessImageResponse = { + businessImage?: BusinessImage; + }; + + type ResourceModelCategoryResponse = { + modelCategory?: ModelCategory; + }; + + type ResourceModelImageResponse = { + modelImage?: ModelImage; + }; + + type ResourceModelVersionResponse = { + modelVersion?: ModelVersion; + }; + + type Response = { + code?: number; + data?: any; + msg?: string; + success?: boolean; + }; + + type SearchAlgorithmModelParams = { + categoryFkId?: number; + createTime?: string; + /** 排序方式:升序false(默认)|降序true */ + desc?: boolean; + id?: number; + /** 关键字 */ + keyword?: string; + name?: string; + /** 排序 */ + orderKey?: string; + /** 页码 */ + page?: number; + /** 每页大小 */ + pageSize?: number; + remark?: string; + updateTime?: string; + }; + + type SearchBusinessImageParams = { + configHash?: string; + createTime?: string; + /** 排序方式:升序false(默认)|降序true */ + desc?: boolean; + id?: number; + /** 关键字 */ + keyword?: string; + name?: string; + /** 排序 */ + orderKey?: string; + /** 页码 */ + page?: number; + /** 每页大小 */ + pageSize?: number; + path?: string; + projectFkId?: number; + remark?: string; + startCode?: string; + updateTime?: string; + version?: string; + }; + + type SearchModelCategoryParams = { + code?: string; + createTime?: string; + /** 排序方式:升序false(默认)|降序true */ + desc?: boolean; + id?: number; + /** 关键字 */ + keyword?: string; + name?: string; + /** 排序 */ + orderKey?: string; + /** 页码 */ + page?: number; + /** 每页大小 */ + pageSize?: number; + remark?: string; + updateTime?: string; + }; + + type SearchModelImageParams = { + createTime?: string; + /** 排序方式:升序false(默认)|降序true */ + desc?: boolean; + id?: number; + /** 关键字 */ + keyword?: string; + modelVersionFkId?: number; + name?: string; + /** 排序 */ + orderKey?: string; + /** 页码 */ + page?: number; + /** 每页大小 */ + pageSize?: number; + path?: string; + remark?: string; + startCode?: string; + updateTime?: string; + }; + + type SearchModelVersionParams = { + createTime?: string; + /** 排序方式:升序false(默认)|降序true */ + desc?: boolean; + id?: number; + isEnable?: boolean; + /** 关键字 */ + keyword?: string; + modelFkId?: number; + /** 排序 */ + orderKey?: string; + /** 页码 */ + page?: number; + /** 每页大小 */ + pageSize?: number; + path?: string; + remark?: string; + startCode?: string; + updateTime?: string; + version?: string; + }; +} diff --git a/src/services/swagger/index.ts b/src/services/swagger/index.ts new file mode 100644 index 0000000..83cf97c --- /dev/null +++ b/src/services/swagger/index.ts @@ -0,0 +1,12 @@ +// @ts-ignore +/* eslint-disable */ +// API 更新时间: +// API 唯一标识: +import * as pet from './pet'; +import * as store from './store'; +import * as user from './user'; +export default { + pet, + store, + user, +}; diff --git a/src/services/swagger/pet.ts b/src/services/swagger/pet.ts new file mode 100644 index 0000000..b887475 --- /dev/null +++ b/src/services/swagger/pet.ts @@ -0,0 +1,153 @@ +// @ts-ignore +/* eslint-disable */ +import { request } from '@umijs/max'; + +/** Update an existing pet PUT /pet */ +export async function updatePet(body: API.Pet, options?: { [key: string]: any }) { + return request('/pet', { + method: 'PUT', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** Add a new pet to the store POST /pet */ +export async function addPet(body: API.Pet, options?: { [key: string]: any }) { + return request('/pet', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** Find pet by ID Returns a single pet GET /pet/${param0} */ +export async function getPetById( + // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) + params: API.getPetByIdParams, + options?: { [key: string]: any }, +) { + const { petId: param0, ...queryParams } = params; + return request(`/pet/${param0}`, { + method: 'GET', + params: { ...queryParams }, + ...(options || {}), + }); +} + +/** Updates a pet in the store with form data POST /pet/${param0} */ +export async function updatePetWithForm( + // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) + params: API.updatePetWithFormParams, + body: { name?: string; status?: string }, + options?: { [key: string]: any }, +) { + const { petId: param0, ...queryParams } = params; + const formData = new FormData(); + + Object.keys(body).forEach((ele) => { + const item = (body as any)[ele]; + + if (item !== undefined && item !== null) { + formData.append( + ele, + typeof item === 'object' && !(item instanceof File) ? JSON.stringify(item) : item, + ); + } + }); + + return request(`/pet/${param0}`, { + method: 'POST', + params: { ...queryParams }, + data: formData, + ...(options || {}), + }); +} + +/** Deletes a pet DELETE /pet/${param0} */ +export async function deletePet( + // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) + params: API.deletePetParams & { + // header + api_key?: string; + }, + options?: { [key: string]: any }, +) { + const { petId: param0, ...queryParams } = params; + return request(`/pet/${param0}`, { + method: 'DELETE', + headers: {}, + params: { ...queryParams }, + ...(options || {}), + }); +} + +/** uploads an image POST /pet/${param0}/uploadImage */ +export async function uploadFile( + // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) + params: API.uploadFileParams, + body: { additionalMetadata?: string; file?: string }, + file?: File, + options?: { [key: string]: any }, +) { + const { petId: param0, ...queryParams } = params; + const formData = new FormData(); + + if (file) { + formData.append('file', file); + } + + Object.keys(body).forEach((ele) => { + const item = (body as any)[ele]; + + if (item !== undefined && item !== null) { + formData.append( + ele, + typeof item === 'object' && !(item instanceof File) ? JSON.stringify(item) : item, + ); + } + }); + + return request(`/pet/${param0}/uploadImage`, { + method: 'POST', + params: { ...queryParams }, + data: formData, + requestType: 'form', + ...(options || {}), + }); +} + +/** Finds Pets by status Multiple status values can be provided with comma separated strings GET /pet/findByStatus */ +export async function findPetsByStatus( + // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) + params: API.findPetsByStatusParams, + options?: { [key: string]: any }, +) { + return request('/pet/findByStatus', { + method: 'GET', + params: { + ...params, + }, + ...(options || {}), + }); +} + +/** Finds Pets by tags Muliple tags can be provided with comma separated strings. Use tag1, tag2, tag3 for testing. GET /pet/findByTags */ +export async function findPetsByTags( + // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) + params: API.findPetsByTagsParams, + options?: { [key: string]: any }, +) { + return request('/pet/findByTags', { + method: 'GET', + params: { + ...params, + }, + ...(options || {}), + }); +} diff --git a/src/services/swagger/store.ts b/src/services/swagger/store.ts new file mode 100644 index 0000000..b9c689a --- /dev/null +++ b/src/services/swagger/store.ts @@ -0,0 +1,48 @@ +// @ts-ignore +/* eslint-disable */ +import { request } from '@umijs/max'; + +/** Returns pet inventories by status Returns a map of status codes to quantities GET /store/inventory */ +export async function getInventory(options?: { [key: string]: any }) { + return request>('/store/inventory', { + method: 'GET', + ...(options || {}), + }); +} + +/** Place an order for a pet POST /store/order */ +export async function placeOrder(body: API.Order, options?: { [key: string]: any }) { + return request('/store/order', { + method: 'POST', + data: body, + ...(options || {}), + }); +} + +/** Find purchase order by ID For valid response try integer IDs with value >= 1 and <= 10. Other values will generated exceptions GET /store/order/${param0} */ +export async function getOrderById( + // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) + params: API.getOrderByIdParams, + options?: { [key: string]: any }, +) { + const { orderId: param0, ...queryParams } = params; + return request(`/store/order/${param0}`, { + method: 'GET', + params: { ...queryParams }, + ...(options || {}), + }); +} + +/** Delete purchase order by ID For valid response try integer IDs with positive integer value. Negative or non-integer values will generate API errors DELETE /store/order/${param0} */ +export async function deleteOrder( + // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) + params: API.deleteOrderParams, + options?: { [key: string]: any }, +) { + const { orderId: param0, ...queryParams } = params; + return request(`/store/order/${param0}`, { + method: 'DELETE', + params: { ...queryParams }, + ...(options || {}), + }); +} diff --git a/src/services/swagger/typings.d.ts b/src/services/swagger/typings.d.ts new file mode 100644 index 0000000..d06bcfc --- /dev/null +++ b/src/services/swagger/typings.d.ts @@ -0,0 +1,112 @@ +declare namespace API { + type ApiResponse = { + code?: number; + type?: string; + message?: string; + }; + + type Category = { + id?: number; + name?: string; + }; + + type deleteOrderParams = { + /** ID of the order that needs to be deleted */ + orderId: number; + }; + + type deletePetParams = { + api_key?: string; + /** Pet id to delete */ + petId: number; + }; + + type deleteUserParams = { + /** The name that needs to be deleted */ + username: string; + }; + + type findPetsByStatusParams = { + /** Status values that need to be considered for filter */ + status: ('available' | 'pending' | 'sold')[]; + }; + + type findPetsByTagsParams = { + /** Tags to filter by */ + tags: string[]; + }; + + type getOrderByIdParams = { + /** ID of pet that needs to be fetched */ + orderId: number; + }; + + type getPetByIdParams = { + /** ID of pet to return */ + petId: number; + }; + + type getUserByNameParams = { + /** The name that needs to be fetched. Use user1 for testing. */ + username: string; + }; + + type loginUserParams = { + /** The user name for login */ + username: string; + /** The password for login in clear text */ + password: string; + }; + + type Order = { + id?: number; + petId?: number; + quantity?: number; + shipDate?: string; + /** Order Status */ + status?: 'placed' | 'approved' | 'delivered'; + complete?: boolean; + }; + + type Pet = { + id?: number; + category?: Category; + name: string; + photoUrls: string[]; + tags?: Tag[]; + /** pet status in the store */ + status?: 'available' | 'pending' | 'sold'; + }; + + type Tag = { + id?: number; + name?: string; + }; + + type updatePetWithFormParams = { + /** ID of pet that needs to be updated */ + petId: number; + }; + + type updateUserParams = { + /** name that need to be updated */ + username: string; + }; + + type uploadFileParams = { + /** ID of pet to update */ + petId: number; + }; + + type User = { + id?: number; + username?: string; + firstName?: string; + lastName?: string; + email?: string; + password?: string; + phone?: string; + /** User Status */ + userStatus?: number; + }; +} diff --git a/src/services/swagger/user.ts b/src/services/swagger/user.ts new file mode 100644 index 0000000..4dd6f42 --- /dev/null +++ b/src/services/swagger/user.ts @@ -0,0 +1,100 @@ +// @ts-ignore +/* eslint-disable */ +import { request } from '@umijs/max'; + +/** Create user This can only be done by the logged in user. POST /user */ +export async function createUser(body: API.User, options?: { [key: string]: any }) { + return request('/user', { + method: 'POST', + data: body, + ...(options || {}), + }); +} + +/** Get user by user name GET /user/${param0} */ +export async function getUserByName( + // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) + params: API.getUserByNameParams, + options?: { [key: string]: any }, +) { + const { username: param0, ...queryParams } = params; + return request(`/user/${param0}`, { + method: 'GET', + params: { ...queryParams }, + ...(options || {}), + }); +} + +/** Updated user This can only be done by the logged in user. PUT /user/${param0} */ +export async function updateUser( + // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) + params: API.updateUserParams, + body: API.User, + options?: { [key: string]: any }, +) { + const { username: param0, ...queryParams } = params; + return request(`/user/${param0}`, { + method: 'PUT', + params: { ...queryParams }, + data: body, + ...(options || {}), + }); +} + +/** Delete user This can only be done by the logged in user. DELETE /user/${param0} */ +export async function deleteUser( + // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) + params: API.deleteUserParams, + options?: { [key: string]: any }, +) { + const { username: param0, ...queryParams } = params; + return request(`/user/${param0}`, { + method: 'DELETE', + params: { ...queryParams }, + ...(options || {}), + }); +} + +/** Creates list of users with given input array POST /user/createWithArray */ +export async function createUsersWithArrayInput( + body: API.User[], + options?: { [key: string]: any }, +) { + return request('/user/createWithArray', { + method: 'POST', + data: body, + ...(options || {}), + }); +} + +/** Creates list of users with given input array POST /user/createWithList */ +export async function createUsersWithListInput(body: API.User[], options?: { [key: string]: any }) { + return request('/user/createWithList', { + method: 'POST', + data: body, + ...(options || {}), + }); +} + +/** Logs user into the system GET /user/login */ +export async function loginUser( + // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) + params: API.loginUserParams, + options?: { [key: string]: any }, +) { + return request('/user/login', { + method: 'GET', + params: { + ...params, + }, + ...(options || {}), + }); +} + +/** Logs out current logged in user session GET /user/logout */ +export async function logoutUser(options?: { [key: string]: any }) { + return request('/user/logout', { + method: 'GET', + ...(options || {}), + }); +} diff --git a/src/services/system/Api.ts b/src/services/system/Api.ts new file mode 100644 index 0000000..d1e2e04 --- /dev/null +++ b/src/services/system/Api.ts @@ -0,0 +1,108 @@ +// @ts-ignore +/* eslint-disable */ +import { request } from '@umijs/max'; + +/** 创建基础api POST /api/createApi */ +export async function postApiCreateApi(body: API.Api, options?: { [key: string]: any }) { + return request(`/api/v1/api/createApi`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 删除api DELETE /api/deleteApi */ +export async function deleteApiDeleteApi(body: API.Api, options?: { [key: string]: any }) { + return request(`/api/v1/api/deleteApi`, { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 删除选中Api DELETE /api/deleteApisByIds */ +export async function deleteApiDeleteApisByIds(body: API.IdsReq, options?: { [key: string]: any }) { + return request(`/api/v1/api/deleteApisByIds`, { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 刷新casbin缓存 GET /api/freshCasbin */ +export async function getApiFreshCasbin(options?: { [key: string]: any }) { + return request(`/api/v1/api/freshCasbin`, { + method: 'GET', + ...(options || {}), + }); +} + +/** 获取所有的Api 不分页 POST /api/getAllApis */ +export async function postApiGetAllApis(options?: { [key: string]: any }) { + return request( + `/api/v1/api/getAllApis`, + { + method: 'POST', + ...(options || {}), + }, + ); +} + +/** 获取所有的Api 不分页 POST /api/getAllApisByGroup */ +export async function postApiGetAllApisByGroup(options?: { [key: string]: any }) { + return request( + `/api/v1/api/getAllApisByGroup`, + { + method: 'POST', + ...(options || {}), + }, + ); +} + +/** 根据id获取api POST /api/getApiById */ +export async function postApiGetApiById(body: API.GetById, options?: { [key: string]: any }) { + return request(`/api/v1/api/getApiById`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 分页获取API列表 POST /api/getApiList */ +export async function postApiGetApiList( + body: API.SearchApiParams, + options?: { [key: string]: any }, +) { + return request(`/api/v1/api/getApiList`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 修改基础api PUT /api/updateApi */ +export async function putApiUpdateApi(body: API.Api, options?: { [key: string]: any }) { + return request(`/api/v1/api/updateApi`, { + method: 'PUT', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} diff --git a/src/services/system/Base.ts b/src/services/system/Base.ts new file mode 100644 index 0000000..c9cef6c --- /dev/null +++ b/src/services/system/Base.ts @@ -0,0 +1,26 @@ +// @ts-ignore +/* eslint-disable */ +import { request } from '@umijs/max'; + +/** 生成验证码 POST /base/captcha */ +export async function postBaseCaptcha(options?: { [key: string]: any }) { + return request( + `/api/v1/base/captcha`, + { + method: 'POST', + ...(options || {}), + }, + ); +} + +/** 用户登录 POST /base/login */ +export async function postBaseLogin(body: API.Login, options?: { [key: string]: any }) { + return request(`/api/v1/base/login`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} diff --git a/src/services/system/Casbin.ts b/src/services/system/Casbin.ts new file mode 100644 index 0000000..3583653 --- /dev/null +++ b/src/services/system/Casbin.ts @@ -0,0 +1,36 @@ +// @ts-ignore +/* eslint-disable */ +import { request } from '@umijs/max'; + +/** 获取权限列表 POST /casbin/getPolicyPathByRoleId */ +export async function postCasbinGetPolicyPathByRoleId( + body: API.CasbinInReceive, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/casbin/getPolicyPathByRoleId`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 更新角色api权限 POST /casbin/UpdateCasbin */ +export async function postCasbinUpdateCasbin( + body: API.CasbinInReceive, + options?: { [key: string]: any }, +) { + return request(`/api/v1/casbin/UpdateCasbin`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} diff --git a/src/services/system/CheckDB.ts b/src/services/system/CheckDB.ts new file mode 100644 index 0000000..5b81e97 --- /dev/null +++ b/src/services/system/CheckDB.ts @@ -0,0 +1,14 @@ +// @ts-ignore +/* eslint-disable */ +import { request } from '@umijs/max'; + +/** 初始化用户数据库 POST /init/checkdb */ +export async function postInitCheckdb(options?: { [key: string]: any }) { + return request; msg?: string }>( + `/api/v1/init/checkdb`, + { + method: 'POST', + ...(options || {}), + }, + ); +} diff --git a/src/services/system/Department.ts b/src/services/system/Department.ts new file mode 100644 index 0000000..22aa036 --- /dev/null +++ b/src/services/system/Department.ts @@ -0,0 +1,139 @@ +// @ts-ignore +/* eslint-disable */ +import { request } from '@umijs/max'; + +/** 创建基础department POST /department/createDepartment */ +export async function postDepartmentCreateDepartment( + body: API.Department, + options?: { [key: string]: any }, +) { + return request(`/api/v1/department/createDepartment`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 删除department DELETE /department/deleteDepartment */ +export async function deleteDepartmentDeleteDepartment( + body: API.Department, + options?: { [key: string]: any }, +) { + return request(`/api/v1/department/deleteDepartment`, { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 删除选中Department DELETE /department/deleteDepartmentsByIds */ +export async function deleteDepartmentDeleteDepartmentsByIds( + body: API.IdsReq, + options?: { [key: string]: any }, +) { + return request(`/api/v1/department/deleteDepartmentsByIds`, { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 根据id获取department POST /department/getDepartmentById */ +export async function postDepartmentGetDepartmentById( + body: API.GetById, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/department/getDepartmentById`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 分页获取角色列表 POST /department/getDepartmentFkSelect */ +export async function postDepartmentGetDepartmentFkSelect(options?: { [key: string]: any }) { + return request( + `/api/v1/department/getDepartmentFkSelect`, + { + method: 'POST', + ...(options || {}), + }, + ); +} + +/** 分页获取Department列表 POST /department/getDepartmentList */ +export async function postDepartmentGetDepartmentList( + body: API.PageInfo, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/department/getDepartmentList`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 获得名称列表 POST /department/getDepartmentNames */ +export async function postDepartmentGetDepartmentNames( + body: API.IdsReq, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/department/getDepartmentNames`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 获取部门树 POST /department/getDepartmentTree */ +export async function postDepartmentGetDepartmentTree(options?: { [key: string]: any }) { + return request( + `/api/v1/department/getDepartmentTree`, + { + method: 'POST', + ...(options || {}), + }, + ); +} + +/** 修改基础department PUT /department/updateDepartment */ +export async function putDepartmentUpdateDepartment( + body: API.Department, + options?: { [key: string]: any }, +) { + return request(`/api/v1/department/updateDepartment`, { + method: 'PUT', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} diff --git a/src/services/system/Dictionary.ts b/src/services/system/Dictionary.ts new file mode 100644 index 0000000..cae1e8d --- /dev/null +++ b/src/services/system/Dictionary.ts @@ -0,0 +1,84 @@ +// @ts-ignore +/* eslint-disable */ +import { request } from '@umijs/max'; + +/** 创建Dictionary POST /sysDictionary/createDictionary */ +export async function postSysDictionaryCreateDictionary( + body: API.Dictionary, + options?: { [key: string]: any }, +) { + return request(`/api/v1/sysDictionary/createDictionary`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 删除Dictionary DELETE /sysDictionary/deleteDictionary */ +export async function deleteSysDictionaryDeleteDictionary( + body: API.Dictionary, + options?: { [key: string]: any }, +) { + return request(`/api/v1/sysDictionary/deleteDictionary`, { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 用id查询Dictionary GET /sysDictionary/findDictionary */ +export async function getSysDictionaryFindDictionary( + // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) + params: API.getSysDictionaryFindDictionaryParams, + options?: { [key: string]: any }, +) { + return request; msg?: string }>( + `/api/v1/sysDictionary/findDictionary`, + { + method: 'GET', + params: { + ...params, + }, + ...(options || {}), + }, + ); +} + +/** 分页获取Dictionary列表 GET /sysDictionary/getDictionaryList */ +export async function getSysDictionaryGetDictionaryList( + // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) + params: API.getSysDictionaryGetDictionaryListParams, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/sysDictionary/getDictionaryList`, + { + method: 'GET', + params: { + ...params, + }, + ...(options || {}), + }, + ); +} + +/** 更新Dictionary PUT /sysDictionary/updateDictionary */ +export async function putSysDictionaryUpdateDictionary( + body: API.Dictionary, + options?: { [key: string]: any }, +) { + return request(`/api/v1/sysDictionary/updateDictionary`, { + method: 'PUT', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} diff --git a/src/services/system/DictionaryDetail.ts b/src/services/system/DictionaryDetail.ts new file mode 100644 index 0000000..0c3b13e --- /dev/null +++ b/src/services/system/DictionaryDetail.ts @@ -0,0 +1,93 @@ +// @ts-ignore +/* eslint-disable */ +import { request } from '@umijs/max'; + +/** 创建DictionaryDetail POST /sysDictionaryDetail/createDictionaryDetail */ +export async function postSysDictionaryDetailCreateDictionaryDetail( + body: API.DictionaryDetail, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/sysDictionaryDetail/createDictionaryDetail`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 删除DictionaryDetail DELETE /sysDictionaryDetail/deleteDictionaryDetail */ +export async function deleteSysDictionaryDetailDeleteDictionaryDetail( + body: API.DictionaryDetail, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/sysDictionaryDetail/deleteDictionaryDetail`, + { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 用id查询DictionaryDetail GET /sysDictionaryDetail/findDictionaryDetail */ +export async function getSysDictionaryDetailFindDictionaryDetail( + // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) + params: API.getSysDictionaryDetailFindDictionaryDetailParams, + options?: { [key: string]: any }, +) { + return request; msg?: string }>( + `/api/v1/sysDictionaryDetail/findDictionaryDetail`, + { + method: 'GET', + params: { + ...params, + }, + ...(options || {}), + }, + ); +} + +/** 分页获取DictionaryDetail列表 GET /sysDictionaryDetail/getDictionaryDetailList */ +export async function getSysDictionaryDetailGetDictionaryDetailList( + // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) + params: API.getSysDictionaryDetailGetDictionaryDetailListParams, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/sysDictionaryDetail/getDictionaryDetailList`, + { + method: 'GET', + params: { + ...params, + }, + ...(options || {}), + }, + ); +} + +/** 更新DictionaryDetail PUT /sysDictionaryDetail/updateDictionaryDetail */ +export async function putSysDictionaryDetailUpdateDictionaryDetail( + body: API.DictionaryDetail, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/sysDictionaryDetail/updateDictionaryDetail`, + { + method: 'PUT', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} diff --git a/src/services/system/File.ts b/src/services/system/File.ts new file mode 100644 index 0000000..bd5c60e --- /dev/null +++ b/src/services/system/File.ts @@ -0,0 +1,68 @@ +// @ts-ignore +/* eslint-disable */ +import { request } from '@umijs/max'; + +/** 获取文件路径 POST /file/getFileById */ +export async function postFileGetFileById(body: API.GetById, options?: { [key: string]: any }) { + return request(`/api/v1/file/getFileById`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 上传照片 POST /file/uploadImage */ +export async function postFileUploadImage(body: {}, file?: File, options?: { [key: string]: any }) { + const formData = new FormData(); + + if (file) { + formData.append('file', file); + } + + Object.keys(body).forEach((ele) => { + const item = (body as any)[ele]; + + if (item !== undefined && item !== null) { + formData.append( + ele, + typeof item === 'object' && !(item instanceof File) ? JSON.stringify(item) : item, + ); + } + }); + + return request(`/api/v1/file/uploadImage`, { + method: 'POST', + data: formData, + requestType: 'form', + ...(options || {}), + }); +} + +export async function postFileUploadFile(body: {}, file?: File, options?: { [key: string]: any }) { + const formData = new FormData(); + + if (file) { + formData.append('file', file); + } + + Object.keys(body).forEach((ele) => { + const item = (body as any)[ele]; + + if (item !== undefined && item !== null) { + formData.append( + ele, + typeof item === 'object' && !(item instanceof File) ? JSON.stringify(item) : item, + ); + } + }); + + return request(`/api/v1/file/uploadFile`, { + method: 'POST', + data: formData, + requestType: 'form', + ...(options || {}), + }); +} diff --git a/src/services/system/InitDB.ts b/src/services/system/InitDB.ts new file mode 100644 index 0000000..bb8a1e0 --- /dev/null +++ b/src/services/system/InitDB.ts @@ -0,0 +1,15 @@ +// @ts-ignore +/* eslint-disable */ +import { request } from '@umijs/max'; + +/** 初始化用户数据库 POST /init/initdb */ +export async function postInitInitdb(body: API.InitDB, options?: { [key: string]: any }) { + return request(`/api/v1/init/initdb`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} diff --git a/src/services/system/Jwt.ts b/src/services/system/Jwt.ts new file mode 100644 index 0000000..fb6d804 --- /dev/null +++ b/src/services/system/Jwt.ts @@ -0,0 +1,11 @@ +// @ts-ignore +/* eslint-disable */ +import { request } from '@umijs/max'; + +/** jwt加入黑名单 POST /jwt/jsonInBlacklist */ +export async function postJwtJsonInBlacklist(options?: { [key: string]: any }) { + return request(`/api/v1/jwt/jsonInBlacklist`, { + method: 'POST', + ...(options || {}), + }); +} diff --git a/src/services/system/Menu.ts b/src/services/system/Menu.ts new file mode 100644 index 0000000..3f92a06 --- /dev/null +++ b/src/services/system/Menu.ts @@ -0,0 +1,76 @@ +// @ts-ignore +/* eslint-disable */ +import { request } from '@umijs/max'; + +/** 新增菜单 POST /menu/createMenu */ +export async function postMenuCreateMenu(body: API.Menu, options?: { [key: string]: any }) { + return request(`/api/v1/menu/createMenu`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 删除菜单 DELETE /menu/deleteMenu */ +export async function deleteMenuDeleteMenu(body: API.GetById, options?: { [key: string]: any }) { + return request(`/api/v1/menu/deleteMenu`, { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 获取用户动态路由 POST /menu/getMenu */ +export async function postMenuGetMenu(options?: { [key: string]: any }) { + return request( + `/api/v1/menu/getMenu`, + { + method: 'POST', + ...(options || {}), + }, + ); +} + +/** 分页获取基础menu列表 POST /menu/getMenuList */ +export async function postMenuGetMenuList(body: API.PageInfo, options?: { [key: string]: any }) { + return request( + `/api/v1/menu/getMenuList`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 获取用户菜单树 POST /menu/getMenuTree */ +export async function postMenuGetMenuTree(options?: { [key: string]: any }) { + return request( + `/api/v1/menu/getMenuTree`, + { + method: 'POST', + ...(options || {}), + }, + ); +} + +/** 更新菜单 PUT /menu/updateMenu */ +export async function putMenuUpdateMenu(body: API.Menu, options?: { [key: string]: any }) { + return request(`/api/v1/menu/updateMenu`, { + method: 'PUT', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} diff --git a/src/services/system/OperationRecord.ts b/src/services/system/OperationRecord.ts new file mode 100644 index 0000000..60cab5a --- /dev/null +++ b/src/services/system/OperationRecord.ts @@ -0,0 +1,93 @@ +// @ts-ignore +/* eslint-disable */ +import { request } from '@umijs/max'; + +/** 创建OperationRecord POST /sysOperationRecord/createOperationRecord */ +export async function postSysOperationRecordCreateOperationRecord( + body: API.OperationRecord, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/sysOperationRecord/createOperationRecord`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 删除OperationRecord DELETE /sysOperationRecord/deleteOperationRecord */ +export async function deleteSysOperationRecordDeleteOperationRecord( + body: API.OperationRecord, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/sysOperationRecord/deleteOperationRecord`, + { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 批量删除OperationRecord DELETE /sysOperationRecord/deleteOperationRecordByIds */ +export async function deleteSysOperationRecordDeleteOperationRecordByIds( + body: API.IdsReq, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/sysOperationRecord/deleteOperationRecordByIds`, + { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 用id查询OperationRecord GET /sysOperationRecord/findOperationRecord */ +export async function getSysOperationRecordFindOperationRecord( + // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) + params: API.getSysOperationRecordFindOperationRecordParams, + options?: { [key: string]: any }, +) { + return request; msg?: string }>( + `/api/v1/sysOperationRecord/findOperationRecord`, + { + method: 'GET', + params: { + ...params, + }, + ...(options || {}), + }, + ); +} + +/** 分页获取OperationRecord列表 GET /sysOperationRecord/getOperationRecordList */ +export async function getSysOperationRecordGetOperationRecordList( + // 叠加生成的Param类型 (非body参数swagger默认没有生成对象) + params: API.getSysOperationRecordGetOperationRecordListParams, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/sysOperationRecord/getOperationRecordList`, + { + method: 'GET', + params: { + ...params, + }, + ...(options || {}), + }, + ); +} diff --git a/src/services/system/Post.ts b/src/services/system/Post.ts new file mode 100644 index 0000000..7fc5e52 --- /dev/null +++ b/src/services/system/Post.ts @@ -0,0 +1,117 @@ +// @ts-ignore +/* eslint-disable */ +import { request } from '@umijs/max'; + +/** 创建基础post POST /post/createPost */ +export async function postPostCreatePost(body: API.Post, options?: { [key: string]: any }) { + return request(`/api/v1/post/createPost`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 删除post DELETE /post/deletePost */ +export async function deletePostDeletePost(body: API.Post, options?: { [key: string]: any }) { + return request(`/api/v1/post/deletePost`, { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 删除选中Post DELETE /post/deletePostsByIds */ +export async function deletePostDeletePostsByIds( + body: API.IdsReq, + options?: { [key: string]: any }, +) { + return request(`/api/v1/post/deletePostsByIds`, { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 根据id获取post POST /post/getPostById */ +export async function postPostGetPostById(body: API.GetById, options?: { [key: string]: any }) { + return request(`/api/v1/post/getPostById`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 分页获取角色列表 POST /post/getPostFkSelect */ +export async function postPostGetPostFkSelect( + body: API.GetFkSelect, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/post/getPostFkSelect`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 分页获取Post列表 POST /post/getPostList */ +export async function postPostGetPostList( + body: API.SearchPostParams, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/post/getPostList`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 获得名称列表 POST /post/getPostNames */ +export async function postPostGetPostNames(body: API.IdsReq, options?: { [key: string]: any }) { + return request( + `/api/v1/post/getPostNames`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 修改基础post PUT /post/updatePost */ +export async function putPostUpdatePost(body: API.Post, options?: { [key: string]: any }) { + return request(`/api/v1/post/updatePost`, { + method: 'PUT', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} diff --git a/src/services/system/Role.ts b/src/services/system/Role.ts new file mode 100644 index 0000000..5d97cab --- /dev/null +++ b/src/services/system/Role.ts @@ -0,0 +1,99 @@ +// @ts-ignore +/* eslint-disable */ +import { request } from '@umijs/max'; + +/** 创建角色 POST /role/createRole */ +export async function postRoleCreateRole(body: API.Role, options?: { [key: string]: any }) { + return request( + `/api/v1/role/createRole`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 分页获取角色列表 POST /role/getRoleFkSelect */ +export async function postRoleGetRoleFkSelect( + body: API.GetFkSelect, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/role/getRoleFkSelect`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 分页获取角色列表 POST /role/getRoleList */ +export async function postRoleGetRoleList(body: API.PageInfo, options?: { [key: string]: any }) { + return request( + `/api/v1/role/getRoleList`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 获取角色权限 POST /role/getRolePermission */ +export async function postRoleGetRolePermission( + body: API.GetById, + options?: { [key: string]: any }, +) { + return request( + `/api/v1/role/getRolePermission`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 更新角色信息 PUT /role/updateRole */ +export async function putRoleUpdateRole(body: API.Role, options?: { [key: string]: any }) { + return request( + `/api/v1/role/updateRole`, + { + method: 'PUT', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 更新角色权限 PUT /role/updateRolePermission */ +export async function putRoleUpdateRolePermission( + body: API.UpdateRolePermissionParams, + options?: { [key: string]: any }, +) { + return request(`/api/v1/role/updateRolePermission`, { + method: 'PUT', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} diff --git a/src/services/system/System.ts b/src/services/system/System.ts new file mode 100644 index 0000000..314b898 --- /dev/null +++ b/src/services/system/System.ts @@ -0,0 +1,48 @@ +// @ts-ignore +/* eslint-disable */ +import { request } from '@umijs/max'; + +/** 获取服务器信息 POST /system/getServerInfo */ +export async function postSystemGetServerInfo(options?: { [key: string]: any }) { + return request; msg?: string }>( + `/api/v1/system/getServerInfo`, + { + method: 'POST', + ...(options || {}), + }, + ); +} + +/** 获取配置文件内容 POST /system/getSystemConfig */ +export async function postSystemGetSystemConfig(options?: { [key: string]: any }) { + return request( + `/api/v1/system/getSystemConfig`, + { + method: 'POST', + ...(options || {}), + }, + ); +} + +/** 重启系统 POST /system/reloadSystem */ +export async function postSystemReloadSystem(options?: { [key: string]: any }) { + return request(`/api/v1/system/reloadSystem`, { + method: 'POST', + ...(options || {}), + }); +} + +/** 设置配置文件内容 POST /system/setSystemConfig */ +export async function postSystemSetSystemConfig( + body: API.System, + options?: { [key: string]: any }, +) { + return request(`/api/v1/system/setSystemConfig`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} diff --git a/src/services/system/User.ts b/src/services/system/User.ts new file mode 100644 index 0000000..12c79b6 --- /dev/null +++ b/src/services/system/User.ts @@ -0,0 +1,137 @@ +// @ts-ignore +/* eslint-disable */ +import { request } from '@umijs/max'; + +/** 用户注册账号 POST /user/admin_register */ +export async function postUserAdminRegister(body: API.Register, options?: { [key: string]: any }) { + return request( + `/api/v1/user/admin_register`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 用户修改密码 POST /user/changePassword */ +export async function postUserChangePassword( + body: API.ChangePasswordReq, + options?: { [key: string]: any }, +) { + return request(`/api/v1/user/changePassword`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 删除用户 DELETE /user/deleteUser */ +export async function deleteUserDeleteUser(body: API.GetById, options?: { [key: string]: any }) { + return request(`/api/v1/user/deleteUser`, { + method: 'DELETE', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 获取用户信息 GET /user/getUserInfo */ +export async function getUserGetUserInfo(options?: { [key: string]: any }) { + return request(`/api/v1/user/getUserInfo`, { + method: 'GET', + ...(options || {}), + }); +} + +/** 分页获取用户列表 POST /user/getUserList */ +export async function postUserGetUserList(body: API.PageInfo, options?: { [key: string]: any }) { + return request( + `/api/v1/user/getUserList`, + { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 重置用户密码 POST /user/resetPassword */ +export async function postUserResetPassword(body: API.User, options?: { [key: string]: any }) { + return request(`/api/v1/user/resetPassword`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 设置用户信息 PUT /user/SetSelfInfo */ +export async function putUserSetSelfInfo(body: API.User, options?: { [key: string]: any }) { + return request; msg?: string }>( + `/api/v1/user/SetSelfInfo`, + { + method: 'PUT', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 设置用户信息 PUT /user/setUserInfo */ +export async function putUserSetUserInfo(body: API.User, options?: { [key: string]: any }) { + return request; msg?: string }>( + `/api/v1/user/setUserInfo`, + { + method: 'PUT', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }, + ); +} + +/** 更改用户权限 POST /user/setUserRole */ +export async function postUserSetUserRole(body: API.SetUserRole, options?: { [key: string]: any }) { + return request(`/api/v1/user/setUserRole`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} + +/** 设置用户权限 POST /user/setUserRoles */ +export async function postUserSetUserRoles( + body: API.SetUserRoles, + options?: { [key: string]: any }, +) { + return request(`/api/v1/user/setUserRoles`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + data: body, + ...(options || {}), + }); +} diff --git a/src/services/system/index.ts b/src/services/system/index.ts new file mode 100644 index 0000000..fce1532 --- /dev/null +++ b/src/services/system/index.ts @@ -0,0 +1,38 @@ +// @ts-ignore +/* eslint-disable */ +// API 更新时间: +// API 唯一标识: +import * as Api from './Api'; +import * as Base from './Base'; +import * as Casbin from './Casbin'; +import * as CheckDB from './CheckDB'; +import * as Department from './Department'; +import * as Dictionary from './Dictionary'; +import * as DictionaryDetail from './DictionaryDetail'; +import * as File from './File'; +import * as InitDB from './InitDB'; +import * as Jwt from './Jwt'; +import * as Menu from './Menu'; +import * as OperationRecord from './OperationRecord'; +import * as Post from './Post'; +import * as Role from './Role'; +import * as System from './System'; +import * as User from './User'; +export default { + Api, + Base, + Casbin, + Department, + File, + CheckDB, + InitDB, + Jwt, + Menu, + Post, + Role, + Dictionary, + DictionaryDetail, + OperationRecord, + System, + User, +}; diff --git a/src/services/system/typings.d.ts b/src/services/system/typings.d.ts new file mode 100644 index 0000000..37ecef7 --- /dev/null +++ b/src/services/system/typings.d.ts @@ -0,0 +1,1028 @@ +declare namespace API { + type AliyunOSS = { + 'access-key-id'?: string; + 'access-key-secret'?: string; + 'base-path'?: string; + 'bucket-name'?: string; + 'bucket-url'?: string; + endpoint?: string; + }; + + type Api = { + /** api组 */ + apiGroup?: string; + createTime?: string; + /** api中文描述 */ + description?: string; + id?: number; + /** 方法:创建POST(默认)|查看GET|更新PUT|删除DELETE */ + method?: string; + /** api路径 */ + path?: string; + updateTime?: string; + }; + + type ApiGroup = { + checkable?: boolean; + children?: ApiGroupSon[]; + key?: string; + title?: string; + }; + + type ApiGroupSon = { + key?: number; + title?: string; + }; + + type Autocode = { + root?: string; + server?: string; + 'server-api'?: string; + 'server-initialize'?: string; + 'server-model'?: string; + 'server-plug'?: string; + 'server-request'?: string; + 'server-router'?: string; + 'server-service'?: string; + 'transfer-restart'?: boolean; + web?: string; + 'web-api'?: string; + 'web-form'?: string; + 'web-table'?: string; + }; + + type AwsS3 = { + 'base-url'?: string; + bucket?: string; + 'disable-ssl'?: boolean; + endpoint?: string; + 'path-prefix'?: string; + region?: string; + 's3-force-path-style'?: boolean; + 'secret-id'?: string; + 'secret-key'?: string; + }; + + type Captcha = { + /** 验证码高度 */ + 'img-height'?: number; + /** 验证码宽度 */ + 'img-width'?: number; + /** 验证码长度 */ + 'key-long'?: number; + /** 防爆破验证码开启此数,0代表每次登录都需要验证码,其他数字代表错误密码此数,如3代表错误三次后出现验证码 */ + 'open-captcha'?: number; + /** 防爆破验证码超时时间,单位:s(秒) */ + 'open-captcha-timeout'?: number; + }; + + type CasbinInfo = { + /** 方法 */ + method?: string; + /** 路径 */ + path?: string; + }; + + type CasbinInReceive = { + casbinInfos?: CasbinInfo[]; + /** 权限id */ + roleId?: number; + }; + + type ChangePasswordReq = { + /** 新密码 */ + newPassword?: string; + /** 密码 */ + password?: string; + }; + + type CORS = { + mode?: string; + whitelist?: CORSWhitelist[]; + }; + + type CORSWhitelist = { + 'allow-credentials'?: boolean; + 'allow-headers'?: string; + 'allow-methods'?: string; + 'allow-origin'?: string; + 'expose-headers'?: string; + }; + + type Department = { + children?: Department[]; + code?: string; + createTime?: string; + email?: string; + id?: number; + /** userId */ + leader?: string; + name?: string; + parentId?: number; + path?: string; + phone?: string; + remark?: string; + sort?: number; + /** 状态 */ + status?: boolean; + updateTime?: string; + }; + + type DepartmentResponse = { + department?: Department; + }; + + type Detail = { + /** 需要比较时间的字段 */ + compareField?: string; + /** 时间间隔 */ + interval?: string; + /** 需要清理的表名 */ + tableName?: string; + }; + + type Dictionary = { + createTime?: string; + /** 描述 */ + desc?: string; + id?: number; + /** 字典名(中) */ + name?: string; + /** 状态 */ + status?: boolean; + sysDictionaryDetails?: DictionaryDetail[]; + /** 字典名(英) */ + type?: string; + updateTime?: string; + }; + + type DictionaryDetail = { + createTime?: string; + id?: number; + /** 展示值 */ + label?: string; + /** 排序标记 */ + sort?: number; + /** 启用状态 */ + status?: boolean; + /** 关联标记 */ + sysDictionaryID?: number; + updateTime?: string; + /** 字典值 */ + value?: number; + }; + + type Email = { + /** 收件人 */ + from?: string; + /** 服务器地址 */ + host?: string; + /** 是否SSL */ + 'is-ssl'?: boolean; + /** 昵称 */ + nickname?: string; + /** 端口 */ + port?: number; + /** 密钥 */ + secret?: string; + /** 收件人:多个以英文逗号分隔 */ + to?: string; + }; + + type Excel = { + dir?: string; + }; + + type File = { + createTime?: string; + id?: number; + /** 文件名 */ + name?: string; + path?: string; + /** 文件标签 */ + tag?: string; + updateTime?: string; + }; + + type FileResponse = { + file?: File; + }; + + type FkResult = { + list?: any; + }; + + type GetById = { + /** 主键ID */ + id?: number; + }; + + type GetFkSelect = { + /** 关键字 */ + keyword?: string; + }; + + type getSysDictionaryDetailFindDictionaryDetailParams = { + createTime?: string; + id?: number; + /** 展示值 */ + label?: string; + /** 排序标记 */ + sort?: number; + /** 启用状态 */ + status?: boolean; + /** 关联标记 */ + sysDictionaryID?: number; + updateTime?: string; + /** 字典值 */ + value?: number; + }; + + type getSysDictionaryDetailGetDictionaryDetailListParams = { + createTime?: string; + id?: number; + /** 关键字 */ + keyword?: string; + /** 展示值 */ + label?: string; + /** 页码 */ + page?: number; + /** 每页大小 */ + pageSize?: number; + /** 排序标记 */ + sort?: number; + /** 启用状态 */ + status?: boolean; + /** 关联标记 */ + sysDictionaryID?: number; + updateTime?: string; + /** 字典值 */ + value?: number; + }; + + type getSysDictionaryFindDictionaryParams = { + createTime?: string; + /** 描述 */ + desc?: string; + id?: number; + /** 字典名(中) */ + name?: string; + /** 状态 */ + status?: boolean; + /** 字典名(英) */ + type?: string; + updateTime?: string; + }; + + type getSysDictionaryGetDictionaryListParams = { + createTime?: string; + /** 描述 */ + desc?: string; + id?: number; + /** 关键字 */ + keyword?: string; + /** 字典名(中) */ + name?: string; + /** 页码 */ + page?: number; + /** 每页大小 */ + pageSize?: number; + /** 状态 */ + status?: boolean; + /** 字典名(英) */ + type?: string; + updateTime?: string; + }; + + type getSysOperationRecordFindOperationRecordParams = { + /** 代理 */ + agent?: string; + /** 请求Body */ + body?: string; + createTime?: string; + /** 错误信息 */ + error_message?: string; + id?: number; + /** 请求ip */ + ip?: string; + /** 延迟 */ + latency?: string; + /** 请求方法 */ + method?: string; + /** 请求路径 */ + path?: string; + /** 响应Body */ + resp?: string; + /** 请求状态 */ + status?: number; + updateTime?: string; + /** 用户id */ + user_id?: number; + }; + + type getSysOperationRecordGetOperationRecordListParams = { + /** 代理 */ + agent?: string; + /** 请求Body */ + body?: string; + createTime?: string; + /** 错误信息 */ + error_message?: string; + id?: number; + /** 请求ip */ + ip?: string; + /** 关键字 */ + keyword?: string; + /** 延迟 */ + latency?: string; + /** 请求方法 */ + method?: string; + /** 页码 */ + page?: number; + /** 每页大小 */ + pageSize?: number; + /** 请求路径 */ + path?: string; + /** 响应Body */ + resp?: string; + /** 请求状态 */ + status?: number; + updateTime?: string; + /** 用户id */ + user_id?: number; + }; + + type HuaWeiObs = { + 'access-key'?: string; + bucket?: string; + endpoint?: string; + path?: string; + 'secret-key'?: string; + }; + + type IdsReq = { + ids?: number[]; + }; + + type InitDB = { + /** 数据库名 */ + dbName: string; + /** 数据库类型 */ + dbType?: string; + /** 服务器地址 */ + host?: string; + /** DB initial langauge // added by mohamed hassan to support multilanguage */ + language?: string; + /** 数据库密码 */ + password?: string; + /** 数据库连接端口 */ + port?: string; + /** 数据库用户名 */ + userName: string; + }; + + type JWT = { + /** 缓冲时间 */ + 'buffer-time'?: string; + /** 过期时间 */ + 'expires-time'?: string; + /** 签发者 */ + issuer?: string; + /** jwt签名 */ + 'signing-key'?: string; + }; + + type Language = { + dir?: string; + language?: string; + }; + + type Local = { + /** 本地文件访问路径 */ + path?: string; + /** 本地文件存储路径 */ + 'store-path'?: string; + }; + + type Login = { + captcha?: string; + captchaId?: string; + password?: string; + username?: string; + }; + + type LoginResponse = { + expiresAt?: number; + token?: string; + user?: User; + }; + + type Menu = { + children?: Menu[]; + component?: string; + createTime?: string; + externalLink?: string; + hidden?: boolean; + icon?: string; + id?: number; + key?: string; + /** 路由name */ + name?: string; + parentId?: number; + path?: string; + permission?: string; + /** 备注 */ + remark?: string; + sort?: number; + title?: string; + /** 菜单类型(M目录 C菜单 F按钮) */ + type?: string; + updateTime?: string; + }; + + type Mssql = { + /** 高级配置 */ + config?: string; + /** 数据库名 */ + 'db-name'?: string; + /** 数据库引擎,默认InnoDB */ + engine?: string; + /** 是否开启Gorm全局日志 */ + 'log-mode'?: string; + /** 是否通过zap写入日志文件 */ + 'log-zap'?: boolean; + /** 空闲中的最大连接数 */ + 'max-idle-conns'?: number; + /** 打开到数据库的最大连接数 */ + 'max-open-conns'?: number; + /** 数据库密码 */ + password?: string; + /** 服务器地址:端口 */ + path?: string; + /** :端口 */ + port?: string; + /** 全局表前缀,单独定义TableName则不生效 */ + prefix?: string; + /** 是否开启全局禁用复数,true表示开启 */ + singular?: boolean; + /** 数据库用户名 */ + username?: string; + }; + + type Mysql = { + /** 高级配置 */ + config?: string; + /** 数据库名 */ + 'db-name'?: string; + /** 数据库引擎,默认InnoDB */ + engine?: string; + /** 是否开启Gorm全局日志 */ + 'log-mode'?: string; + /** 是否通过zap写入日志文件 */ + 'log-zap'?: boolean; + /** 空闲中的最大连接数 */ + 'max-idle-conns'?: number; + /** 打开到数据库的最大连接数 */ + 'max-open-conns'?: number; + /** 数据库密码 */ + password?: string; + /** 服务器地址:端口 */ + path?: string; + /** :端口 */ + port?: string; + /** 全局表前缀,单独定义TableName则不生效 */ + prefix?: string; + /** 是否开启全局禁用复数,true表示开启 */ + singular?: boolean; + /** 数据库用户名 */ + username?: string; + }; + + type NamesResult = { + list?: any; + }; + + type OperationRecord = { + /** 代理 */ + agent?: string; + /** 请求Body */ + body?: string; + createTime?: string; + /** 错误信息 */ + error_message?: string; + id?: number; + /** 请求ip */ + ip?: string; + /** 延迟 */ + latency?: string; + /** 请求方法 */ + method?: string; + /** 请求路径 */ + path?: string; + /** 响应Body */ + resp?: string; + /** 请求状态 */ + status?: number; + updateTime?: string; + /** 用户id */ + user_id?: number; + }; + + type Oracle = { + /** 高级配置 */ + config?: string; + /** 数据库名 */ + 'db-name'?: string; + /** 数据库引擎,默认InnoDB */ + engine?: string; + /** 是否开启Gorm全局日志 */ + 'log-mode'?: string; + /** 是否通过zap写入日志文件 */ + 'log-zap'?: boolean; + /** 空闲中的最大连接数 */ + 'max-idle-conns'?: number; + /** 打开到数据库的最大连接数 */ + 'max-open-conns'?: number; + /** 数据库密码 */ + password?: string; + /** 服务器地址:端口 */ + path?: string; + /** :端口 */ + port?: string; + /** 全局表前缀,单独定义TableName则不生效 */ + prefix?: string; + /** 是否开启全局禁用复数,true表示开启 */ + singular?: boolean; + /** 数据库用户名 */ + username?: string; + }; + + type PageInfo = { + /** 关键字 */ + keyword?: string; + /** 页码 */ + page?: number; + /** 每页大小 */ + pageSize?: number; + }; + + type PageResult = { + list?: any; + page?: number; + pageSize?: number; + total?: number; + }; + + type Pgsql = { + /** 高级配置 */ + config?: string; + /** 数据库名 */ + 'db-name'?: string; + /** 数据库引擎,默认InnoDB */ + engine?: string; + /** 是否开启Gorm全局日志 */ + 'log-mode'?: string; + /** 是否通过zap写入日志文件 */ + 'log-zap'?: boolean; + /** 空闲中的最大连接数 */ + 'max-idle-conns'?: number; + /** 打开到数据库的最大连接数 */ + 'max-open-conns'?: number; + /** 数据库密码 */ + password?: string; + /** 服务器地址:端口 */ + path?: string; + /** :端口 */ + port?: string; + /** 全局表前缀,单独定义TableName则不生效 */ + prefix?: string; + /** 是否开启全局禁用复数,true表示开启 */ + singular?: boolean; + /** 数据库用户名 */ + username?: string; + }; + + type PolicyPathResponse = { + paths?: CasbinInfo[]; + }; + + type Post = { + code?: string; + createTime?: string; + id?: number; + name?: string; + remark?: string; + sort?: number; + /** 状态 */ + status?: boolean; + updateTime?: string; + }; + + type PostResponse = { + post?: Post; + }; + + type Qiniu = { + /** 秘钥AK */ + 'access-key'?: string; + /** 空间名称 */ + bucket?: string; + /** CDN加速域名 */ + 'img-path'?: string; + /** 秘钥SK */ + 'secret-key'?: string; + /** 上传是否使用CDN上传加速 */ + 'use-cdn-domains'?: boolean; + /** 是否使用https */ + 'use-https'?: boolean; + /** 存储区域 */ + zone?: string; + }; + + type Redis = { + /** 服务器地址:端口 */ + addr?: string; + /** redis的哪个数据库 */ + db?: number; + /** 密码 */ + password?: string; + }; + + type Register = { + avatarId?: number; + deptId?: number; + email?: string; + enable?: boolean; + nickName?: string; + passWord?: string; + phone?: string; + postId?: number; + /** 多岗位 */ + postIds?: string; + roleId?: number; + /** 多角色 */ + roleIds?: string; + userName?: string; + }; + + type Response = { + code?: number; + data?: any; + msg?: string; + success?: boolean; + }; + + type Role = { + apiIds?: string; + code?: string; + createTime?: string; + dataScope?: string; + deptIds?: string; + id?: number; + menuIds?: string; + name?: string; + remark?: string; + sort?: number; + /** 状态 */ + status?: boolean; + updateTime?: string; + }; + + type RolePermissionResponse = { + apiIds?: number[]; + dataScope?: string; + deptIds?: number[]; + menuIds?: number[]; + roleId?: number; + }; + + type RoleResponse = { + role?: Role; + }; + + type RoleSelectResponse = { + label?: string; + value?: number; + }; + + type Route = { + access?: string; + component?: string; + icon?: string; + key?: string; + name?: string; + path?: string; + routes?: Route[]; + }; + + type RoutesResponse = { + routes?: Route[]; + }; + + type SearchApiParams = { + /** api组 */ + apiGroup?: string; + createTime?: string; + /** 排序方式:升序false(默认)|降序true */ + desc?: boolean; + /** api中文描述 */ + description?: string; + id?: number; + /** 关键字 */ + keyword?: string; + /** 方法:创建POST(默认)|查看GET|更新PUT|删除DELETE */ + method?: string; + /** 排序 */ + orderKey?: string; + /** 页码 */ + page?: number; + /** 每页大小 */ + pageSize?: number; + /** api路径 */ + path?: string; + updateTime?: string; + }; + + type SearchPostParams = { + code?: string; + createTime?: string; + /** 排序方式:升序false(默认)|降序true */ + desc?: boolean; + id?: number; + /** 关键字 */ + keyword?: string; + name?: string; + /** 排序 */ + orderKey?: string; + /** 页码 */ + page?: number; + /** 每页大小 */ + pageSize?: number; + remark?: string; + sort?: number; + /** 状态 */ + status?: boolean; + updateTime?: string; + }; + + type Server = { + 'aliyun-oss'?: AliyunOSS; + /** auto */ + autocode?: Autocode; + 'aws-s3'?: AwsS3; + captcha?: Captcha; + /** 跨域配置 */ + cors?: CORS; + 'db-list'?: SpecializedDB[]; + email?: Email; + excel?: Excel; + 'hua-wei-obs'?: HuaWeiObs; + jwt?: JWT; + language?: Language; + /** oss */ + local?: Local; + mssql?: Mssql; + /** gorm */ + mysql?: Mysql; + oracle?: Oracle; + pgsql?: Pgsql; + qiniu?: Qiniu; + redis?: Redis; + sqlite?: Sqlite; + system?: System; + 'tencent-cos'?: TencentCOS; + timer?: Timer; + zap?: Zap; + }; + + type SetUserRole = { + /** 角色ID */ + roleId?: number; + }; + + type SetUserRoles = { + id?: number; + /** 角色ID */ + roleIds?: number[]; + }; + + type SpecializedDB = { + 'alias-name'?: string; + /** 高级配置 */ + config?: string; + /** 数据库名 */ + 'db-name'?: string; + disable?: boolean; + /** 数据库引擎,默认InnoDB */ + engine?: string; + /** 是否开启Gorm全局日志 */ + 'log-mode'?: string; + /** 是否通过zap写入日志文件 */ + 'log-zap'?: boolean; + /** 空闲中的最大连接数 */ + 'max-idle-conns'?: number; + /** 打开到数据库的最大连接数 */ + 'max-open-conns'?: number; + /** 数据库密码 */ + password?: string; + /** 服务器地址:端口 */ + path?: string; + /** :端口 */ + port?: string; + /** 全局表前缀,单独定义TableName则不生效 */ + prefix?: string; + /** 是否开启全局禁用复数,true表示开启 */ + singular?: boolean; + type?: string; + /** 数据库用户名 */ + username?: string; + }; + + type Sqlite = { + /** 高级配置 */ + config?: string; + /** 数据库名 */ + 'db-name'?: string; + /** 数据库引擎,默认InnoDB */ + engine?: string; + /** 是否开启Gorm全局日志 */ + 'log-mode'?: string; + /** 是否通过zap写入日志文件 */ + 'log-zap'?: boolean; + /** 空闲中的最大连接数 */ + 'max-idle-conns'?: number; + /** 打开到数据库的最大连接数 */ + 'max-open-conns'?: number; + /** 数据库密码 */ + password?: string; + /** 服务器地址:端口 */ + path?: string; + /** :端口 */ + port?: string; + /** 全局表前缀,单独定义TableName则不生效 */ + prefix?: string; + /** 是否开启全局禁用复数,true表示开启 */ + singular?: boolean; + /** 数据库用户名 */ + username?: string; + }; + + type SysAPIByGroupResponse = { + apis?: ApiGroup[]; + }; + + type SysAPIListResponse = { + apis?: Api[]; + }; + + type SysAPIResponse = { + api?: Api; + }; + + type SysCaptchaResponse = { + captchaId?: string; + captchaLength?: number; + openCaptcha?: boolean; + picPath?: string; + }; + + type SysConfigResponse = { + config?: Server; + }; + + type System = { + /** 端口值 */ + addr?: number; + /** 数据库类型:mysql(默认)|sqlite|sqlserver|postgresql */ + 'db-type'?: string; + /** 环境值 */ + env?: string; + 'iplimit-count'?: number; + 'iplimit-time'?: number; + /** Oss类型 */ + 'oss-type'?: string; + 'router-prefix'?: string; + /** 多点登录拦截 */ + 'use-multipoint'?: boolean; + /** 使用redis */ + 'use-redis'?: boolean; + }; + + type System = { + config?: Server; + }; + + type TencentCOS = { + 'base-url'?: string; + bucket?: string; + 'path-prefix'?: string; + region?: string; + 'secret-id'?: string; + 'secret-key'?: string; + }; + + type Timer = { + detail?: Detail[]; + /** CRON表达式 */ + spec?: string; + /** 是否启用 */ + start?: boolean; + /** 是否精确到秒 */ + with_seconds?: boolean; + }; + + type Tree = { + children?: Tree[]; + key?: number; + title?: string; + }; + + type TreeResponse = { + tree?: Tree[]; + }; + + type UpdateRolePermissionParams = { + apiIds?: number[]; + dataScope?: string; + deptIds?: number[]; + menuIds?: number[]; + roleId?: number; + }; + + type User = { + avatarId?: number; + createTime?: string; + deptId?: number; + /** 用户邮箱 */ + email?: string; + /** 状态 */ + enable?: boolean; + id?: number; + lastLoginTime?: string; + nickName?: string; + /** 用户手机号 */ + phone?: string; + postId?: number; + /** 多岗位 */ + postIds?: string; + remark?: string; + roleId?: number; + /** 多角色 */ + roleIds?: string; + updateTime?: string; + /** 用户登录名 */ + userName?: string; + }; + + type UserResponse = { + user?: User; + }; + + type UserView = { + avatarId?: number; + avatarUrl?: string; + createTime?: string; + deptId?: number; + /** 用户邮箱 */ + email?: string; + /** 状态 */ + enable?: boolean; + id?: number; + lastLoginTime?: string; + nickName?: string; + /** 用户手机号 */ + phone?: string; + postId?: number; + /** 多岗位 */ + postIds?: string; + remark?: string; + roleId?: number; + /** 多角色 */ + roleIds?: string; + roles?: RoleSelectResponse[]; + updateTime?: string; + /** 用户登录名 */ + userName?: string; + }; + + type Zap = { + /** 日志文件夹 */ + director?: string; + /** 编码级 */ + 'encode-level'?: string; + /** 输出 */ + format?: string; + /** 级别 */ + level?: string; + /** 输出控制台 */ + 'log-in-console'?: boolean; + /** 日志留存时间 */ + 'max-age'?: number; + /** 日志前缀 */ + prefix?: string; + /** 显示行 */ + 'show-line'?: boolean; + /** 栈名 */ + 'stacktrace-key'?: string; + }; +} diff --git a/src/styles/color/bezierEasing.less b/src/styles/color/bezierEasing.less new file mode 100644 index 0000000..f53ffb3 --- /dev/null +++ b/src/styles/color/bezierEasing.less @@ -0,0 +1,110 @@ +/* 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(); diff --git a/src/styles/color/colorPalette.less b/src/styles/color/colorPalette.less new file mode 100644 index 0000000..e662c07 --- /dev/null +++ b/src/styles/color/colorPalette.less @@ -0,0 +1,85 @@ +/* stylelint-disable no-duplicate-selectors */ +@import "bezierEasing"; +@import "tinyColor"; + +// 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 = 0.16; + var saturationStep2 = 0.05; + var brightnessStep1 = 0.05; + var brightnessStep2 = 0.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) { + // grey color don't change saturation + if (hsv.h === 0 && hsv.s === 0) { + return hsv.s; + } + var saturation; + if (isLight) { + saturation = hsv.s - saturationStep * i; + } else if (i === darkColorCount) { + saturation = hsv.s + saturationStep; + } else { + saturation = hsv.s + saturationStep2 * i; + } + if (saturation > 1) { + saturation = 1; + } + if (isLight && i === lightColorCount && saturation > 0.1) { + saturation = 0.1; + } + if (saturation < 0.06) { + saturation = 0.06; + } + return Number(saturation.toFixed(2)); + }; + var getValue = function(hsv, i, isLight) { + var value; + if (isLight) { + value = hsv.v + brightnessStep1 * i; + }else{ + value = hsv.v - brightnessStep2 * i + } + if (value > 1) { + value = 1; + } + return Number(value.toFixed(2)) + }; + + 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(); diff --git a/src/styles/color/colors.less b/src/styles/color/colors.less new file mode 100644 index 0000000..51540bf --- /dev/null +++ b/src/styles/color/colors.less @@ -0,0 +1,162 @@ +@import 'colorPalette'; + +// color palettes +@blue-base: #1890ff; +@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: @blue-base; +@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-base: #722ed1; +@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: @purple-base; +@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-base: #13c2c2; +@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: @cyan-base; +@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-base: #52c41a; +@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: @green-base; +@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-base: #eb2f96; +@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: @magenta-base; +@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-base: #eb2f96; +@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: @pink-base; +@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-base: #f5222d; +@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: @red-base; +@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-base: #fa8c16; +@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: @orange-base; +@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-base: #fadb14; +@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: @yellow-base; +@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-base: #fa541c; +@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: @volcano-base; +@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-base: #2f54eb; +@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: @geekblue-base; +@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-base: #a0d911; +@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: @lime-base; +@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-base: #faad14; +@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: @gold-base; +@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) `); + +@preset-colors: pink, magenta, red, volcano, orange, yellow, gold, cyan, lime, green, blue, geekblue, + purple; diff --git a/src/styles/color/tinyColor.less b/src/styles/color/tinyColor.less new file mode 100644 index 0000000..e576c78 --- /dev/null +++ b/src/styles/color/tinyColor.less @@ -0,0 +1,1184 @@ +/* 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(); diff --git a/src/styles/compact.less b/src/styles/compact.less new file mode 100644 index 0000000..ef0008b --- /dev/null +++ b/src/styles/compact.less @@ -0,0 +1,4 @@ +@root-entry-name: default; + +@import './themes/compact.less'; +@import './core/index'; diff --git a/src/styles/core/base.less b/src/styles/core/base.less new file mode 100644 index 0000000..a704c55 --- /dev/null +++ b/src/styles/core/base.less @@ -0,0 +1,10 @@ +// Config global less under antd +[class^=~'@{ant-prefix}-'], +[class*=~' @{ant-prefix}-'] { + // remove the clear button of a text input control in IE10+ + &::-ms-clear, + input::-ms-clear, + input::-ms-reveal { + display: none; + } +} diff --git a/src/styles/core/global.less b/src/styles/core/global.less new file mode 100644 index 0000000..cb26cce --- /dev/null +++ b/src/styles/core/global.less @@ -0,0 +1,491 @@ +/* stylelint-disable property-no-vendor-prefix, at-rule-no-vendor-prefix */ + +// Reboot +// +// Normalization of HTML elements, manually forked from Normalize.css to remove +// styles targeting irrelevant browsers while applying new styles. +// +// Normalize is licensed MIT. https://github.com/necolas/normalize.css + +// HTML & Body reset +@{html-selector}, +body { + .square(100%); +} + +// remove the clear button of a text input control in IE10+ +input::-ms-clear, +input::-ms-reveal { + display: none; +} + +// Document +// +// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`. +// 2. Change the default font family in all browsers. +// 3. Correct the line height in all browsers. +// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS. +// 5. Setting @viewport causes scrollbars to overlap content in IE11 and Edge, so +// we force a non-overlapping, non-auto-hiding scrollbar to counteract. +// 6. Change the default tap highlight to be completely transparent in iOS. + +*, +*::before, +*::after { + box-sizing: border-box; // 1 +} + +@{html-selector} { + font-family: sans-serif; // 2 + line-height: 1.15; // 3 + -webkit-text-size-adjust: 100%; // 4 + -ms-text-size-adjust: 100%; // 4 + -ms-overflow-style: scrollbar; // 5 + -webkit-tap-highlight-color: fade(@black, 0%); // 6 +} + +// IE10+ doesn't honor `` in some cases. +@-ms-viewport { + width: device-width; +} + +// Body +// +// 1. remove the margin in all browsers. +// 2. As a best practice, apply a default `body-background`. + +body { + margin: 0; // 1 + color: @text-color; + font-size: @font-size-base; + font-family: @font-family; + font-variant: @font-variant-base; + line-height: @line-height-base; + background-color: @body-background; // 2 + font-feature-settings: @font-feature-settings-base; +} + +// Suppress the focus outline on elements that cannot be accessed via keyboard. +// This prevents an unwanted focus outline from appearing around elements that +// might still respond to pointer events. +// +// Credit: https://github.com/suitcss/base +[tabindex='-1']:focus { + outline: none !important; +} + +// Content grouping +// +// 1. Add the correct box sizing in Firefox. +// 2. Show the overflow in Edge and IE. + +hr { + box-sizing: content-box; // 1 + height: 0; // 1 + overflow: visible; // 2 +} + +// +// Typography +// + +// remove top margins from headings +// +// By default, `

`-`

` all receive top and bottom margins. We nuke the top +// margin for easier control within type scales as it avoids margin collapsing. +h1, +h2, +h3, +h4, +h5, +h6 { + margin-top: 0; + margin-bottom: 0.5em; + color: @heading-color; + font-weight: 500; +} + +// Reset margins on paragraphs +// +// Similarly, the top margin on `

`s get reset. However, we also reset the +// bottom margin to use `em` units instead of `em`. +p { + margin-top: 0; + margin-bottom: 1em; +} + +// Abbreviations +// +// 1. remove the bottom border in Firefox 39-. +// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari. +// 3. Add explicit cursor to indicate changed behavior. +// 4. Duplicate behavior to the data-* attribute for our tooltip plugin + +abbr[title], +abbr[data-original-title] { + // 4 + text-decoration: underline; // 2 + text-decoration: underline dotted; // 2 + border-bottom: 0; // 1 + cursor: help; // 3 +} + +address { + margin-bottom: 1em; + font-style: normal; + line-height: inherit; +} + +input[type='text'], +input[type='password'], +input[type='number'], +textarea { + -webkit-appearance: none; +} + +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1em; +} + +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} + +dt { + font-weight: 500; +} + +dd { + margin-bottom: 0.5em; + margin-left: 0; // Undo browser default +} + +blockquote { + margin: 0 0 1em; +} + +dfn { + font-style: italic; // Add the correct font style in Android 4.3- +} + +b, +strong { + font-weight: bolder; // Add the correct font weight in Chrome, Edge, and Safari +} + +small { + font-size: 80%; // Add the correct font size in all browsers +} + +// +// Prevent `sub` and `sup` elements from affecting the line height in +// all browsers. +// + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sub { + bottom: -0.25em; +} + +sup { + top: -0.5em; +} + +// +// Links +// + +a { + color: @link-color; + text-decoration: @link-decoration; + background-color: transparent; // remove the gray background on active links in IE 10. + outline: none; + cursor: pointer; + transition: color 0.3s; + -webkit-text-decoration-skip: objects; // remove gaps in links underline in iOS 8+ and Safari 8+. + + &:hover { + color: @link-hover-color; + } + + &:active { + color: @link-active-color; + } + + &:active, + &:hover { + text-decoration: @link-hover-decoration; + outline: 0; + } + + // https://github.com/ant-design/ant-design/issues/22503 + &:focus { + text-decoration: @link-focus-decoration; + outline: @link-focus-outline; + } + + &[disabled] { + color: @disabled-color; + cursor: not-allowed; + } +} + +// +// Code +// + +pre, +code, +kbd, +samp { + font-size: 1em; // Correct the odd `em` font sizing in all browsers. + font-family: @code-family; +} + +pre { + // remove browser default top margin + margin-top: 0; + // Reset browser default of `1em` to use `em`s + margin-bottom: 1em; + // Don't allow content to break outside + overflow: auto; +} + +// +// Figures +// +figure { + // Apply a consistent margin strategy (matches our type styles). + margin: 0 0 1em; +} + +// +// Images and content +// + +img { + vertical-align: middle; + border-style: none; // remove the border on images inside links in IE 10-. +} + +// Avoid 300ms click delay on touch devices that support the `touch-action` CSS property. +// +// In particular, unlike most other browsers, IE11+Edge on Windows 10 on touch devices and IE Mobile 10-11 +// DON'T remove the click delay when `` is present. +// However, they DO support emoving the click delay via `touch-action: manipulation`. +// See: +// * https://getbootstrap.com/docs/4.0/content/reboot/#click-delay-optimization-for-touch +// * http://caniuse.com/#feat=css-touch-action +// * https://patrickhlauke.github.io/touch/tests/results/#suppressing-300ms-delay + +a, +area, +button, +[role='button'], +input:not([type='range']), +label, +select, +summary, +textarea { + touch-action: manipulation; +} + +// +// Tables +// + +table { + border-collapse: collapse; // Prevent double borders +} + +caption { + padding-top: 0.75em; + padding-bottom: 0.3em; + color: @text-color-secondary; + text-align: left; + caption-side: bottom; +} + +// +// Forms +// + +input, +button, +select, +optgroup, +textarea { + margin: 0; // remove the margin in Firefox and Safari + color: inherit; + font-size: inherit; + font-family: inherit; + line-height: inherit; +} + +button, +input { + overflow: visible; // Show the overflow in Edge +} + +button, +select { + text-transform: none; // remove the inheritance of text transform in Firefox +} + +// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video` +// controls in Android 4. +// 2. Correct the inability to style clickable types in iOS and Safari. +button, +@{html-selector} [type="button"], /* 1 */ +[type="reset"], +[type="submit"] { + -webkit-appearance: button; // 2 +} + +// remove inner border and padding from Firefox, but don't restore the outline like Normalize. +button::-moz-focus-inner, +[type='button']::-moz-focus-inner, +[type='reset']::-moz-focus-inner, +[type='submit']::-moz-focus-inner { + padding: 0; + border-style: none; +} + +input[type='radio'], +input[type='checkbox'] { + box-sizing: border-box; // 1. Add the correct box sizing in IE 10- + padding: 0; // 2. remove the padding in IE 10- +} + +input[type='date'], +input[type='time'], +input[type='datetime-local'], +input[type='month'] { + // remove the default appearance of temporal inputs to avoid a Mobile Safari + // bug where setting a custom line-height prevents text from being vertically + // centered within the input. + // See https://bugs.webkit.org/show_bug.cgi?id=139848 + // and https://github.com/twbs/bootstrap/issues/11266 + -webkit-appearance: listbox; +} + +textarea { + overflow: auto; // remove the default vertical scrollbar in IE. + // Textareas should really only resize vertically so they don't break their (horizontal) containers. + resize: vertical; +} + +fieldset { + // Browsers set a default `min-width: min-content;` on fieldsets, + // unlike e.g. `

`s, which have `min-width: 0;` by default. + // So we reset that to ensure fieldsets behave more like a standard block element. + // See https://github.com/twbs/bootstrap/issues/12359 + // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements + min-width: 0; + margin: 0; + // Reset the default outline behavior of fieldsets so they don't affect page layout. + padding: 0; + border: 0; +} + +// 1. Correct the text wrapping in Edge and IE. +// 2. Correct the color inheritance from `fieldset` elements in IE. +legend { + display: block; + width: 100%; + max-width: 100%; // 1 + margin-bottom: 0.5em; + padding: 0; + color: inherit; // 2 + font-size: 1.5em; + line-height: inherit; + white-space: normal; // 1 +} + +progress { + vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera. +} + +// Correct the cursor style of incement and decement buttons in Chrome. +[type='number']::-webkit-inner-spin-button, +[type='number']::-webkit-outer-spin-button { + height: auto; +} + +[type='search'] { + // This overrides the extra rounded corners on search inputs in iOS so that our + // `.form-control` class can properly style them. Note that this cannot simply + // be added to `.form-control` as it's not specific enough. For details, see + // https://github.com/twbs/bootstrap/issues/11586. + outline-offset: -2px; // 2. Correct the outline style in Safari. + -webkit-appearance: none; +} + +// +// remove the inner padding and cancel buttons in Chrome and Safari on macOS. +// + +[type='search']::-webkit-search-cancel-button, +[type='search']::-webkit-search-decoration { + -webkit-appearance: none; +} + +// +// 1. Correct the inability to style clickable types in iOS and Safari. +// 2. Change font properties to `inherit` in Safari. +// + +::-webkit-file-upload-button { + font: inherit; // 2 + -webkit-appearance: button; // 1 +} + +// +// Correct element displays +// + +output { + display: inline-block; +} + +summary { + display: list-item; // Add the correct display in all browsers +} + +template { + display: none; // Add the correct display in IE +} + +// Always hide an element with the `hidden` HTML attribute (from PureCSS). +// Needed for proper display in IE 10-. +[hidden] { + display: none !important; +} + +mark { + padding: 0.2em; + background-color: @yellow-1; +} + +::selection { + color: @text-color-inverse; + background: @text-selection-bg; +} + +// Utility classes +.clearfix { + .clearfix(); +} diff --git a/src/styles/core/iconfont.less b/src/styles/core/iconfont.less new file mode 100644 index 0000000..597b854 --- /dev/null +++ b/src/styles/core/iconfont.less @@ -0,0 +1,22 @@ +@import '../themes/index'; +@import '../mixins/iconfont'; + +.@{iconfont-css-prefix} { + .iconfont-mixin(); + + // https://github.com/ant-design/ant-design/issues/33703 + & > & { + line-height: 0; + vertical-align: 0; + } + + &[tabindex] { + cursor: pointer; + } +} + +.@{iconfont-css-prefix}-spin, +.@{iconfont-css-prefix}-spin::before { + display: inline-block; + animation: loadingCircle 1s infinite linear; +} diff --git a/src/styles/core/index.less b/src/styles/core/index.less new file mode 100644 index 0000000..c493947 --- /dev/null +++ b/src/styles/core/index.less @@ -0,0 +1,5 @@ +@import '../mixins/index'; +@import 'base'; +@import 'global'; +@import 'iconfont'; +@import 'motion'; diff --git a/src/styles/core/motion.less b/src/styles/core/motion.less new file mode 100644 index 0000000..286d50e --- /dev/null +++ b/src/styles/core/motion.less @@ -0,0 +1,22 @@ +// @import '../mixins/motion'; This has moved to theme/xxx inside. +@import 'motion/fade'; +@import 'motion/move'; +@import 'motion/other'; +@import 'motion/slide'; +@import 'motion/zoom'; + +// For common/openAnimation +.ant-motion-collapse-legacy { + overflow: hidden; + + &-active { + transition: height @animation-duration-base @ease-in-out, + opacity @animation-duration-base @ease-in-out !important; + } +} + +.ant-motion-collapse { + overflow: hidden; + transition: height @animation-duration-base @ease-in-out, + opacity @animation-duration-base @ease-in-out !important; +} diff --git a/src/styles/core/motion/fade.less b/src/styles/core/motion/fade.less new file mode 100644 index 0000000..f4a9513 --- /dev/null +++ b/src/styles/core/motion/fade.less @@ -0,0 +1,34 @@ +.fade-motion(@className, @keyframeName) { + @name: ~'@{ant-prefix}-@{className}'; + .make-motion(@name, @keyframeName); + .@{name}-enter, + .@{name}-appear { + opacity: 0; + animation-timing-function: linear; + } + .@{name}-leave { + animation-timing-function: linear; + } +} + +.fade-motion(fade, antFade); + +@keyframes antFadeIn { + 0% { + opacity: 0; + } + + 100% { + opacity: 1; + } +} + +@keyframes antFadeOut { + 0% { + opacity: 1; + } + + 100% { + opacity: 0; + } +} diff --git a/src/styles/core/motion/move.less b/src/styles/core/motion/move.less new file mode 100644 index 0000000..733f26d --- /dev/null +++ b/src/styles/core/motion/move.less @@ -0,0 +1,129 @@ +.move-motion(@className, @keyframeName) { + @name: ~'@{ant-prefix}-@{className}'; + .make-motion(@name, @keyframeName); + .@{name}-enter, + .@{name}-appear { + opacity: 0; + animation-timing-function: @ease-out-circ; + } + .@{name}-leave { + animation-timing-function: @ease-in-circ; + } +} + +.move-motion(move-up, antMoveUp); +.move-motion(move-down, antMoveDown); +.move-motion(move-left, antMoveLeft); +.move-motion(move-right, antMoveRight); + +@keyframes antMoveDownIn { + 0% { + transform: translateY(100%); + transform-origin: 0 0; + opacity: 0; + } + + 100% { + transform: translateY(0%); + transform-origin: 0 0; + opacity: 1; + } +} + +@keyframes antMoveDownOut { + 0% { + transform: translateY(0%); + transform-origin: 0 0; + opacity: 1; + } + + 100% { + transform: translateY(100%); + transform-origin: 0 0; + opacity: 0; + } +} + +@keyframes antMoveLeftIn { + 0% { + transform: translateX(-100%); + transform-origin: 0 0; + opacity: 0; + } + + 100% { + transform: translateX(0%); + transform-origin: 0 0; + opacity: 1; + } +} + +@keyframes antMoveLeftOut { + 0% { + transform: translateX(0%); + transform-origin: 0 0; + opacity: 1; + } + + 100% { + transform: translateX(-100%); + transform-origin: 0 0; + opacity: 0; + } +} + +@keyframes antMoveRightIn { + 0% { + transform: translateX(100%); + transform-origin: 0 0; + opacity: 0; + } + + 100% { + transform: translateX(0%); + transform-origin: 0 0; + opacity: 1; + } +} + +@keyframes antMoveRightOut { + 0% { + transform: translateX(0%); + transform-origin: 0 0; + opacity: 1; + } + + 100% { + transform: translateX(100%); + transform-origin: 0 0; + opacity: 0; + } +} + +@keyframes antMoveUpIn { + 0% { + transform: translateY(-100%); + transform-origin: 0 0; + opacity: 0; + } + + 100% { + transform: translateY(0%); + transform-origin: 0 0; + opacity: 1; + } +} + +@keyframes antMoveUpOut { + 0% { + transform: translateY(0%); + transform-origin: 0 0; + opacity: 1; + } + + 100% { + transform: translateY(-100%); + transform-origin: 0 0; + opacity: 0; + } +} diff --git a/src/styles/core/motion/other.less b/src/styles/core/motion/other.less new file mode 100644 index 0000000..d1a2549 --- /dev/null +++ b/src/styles/core/motion/other.less @@ -0,0 +1,51 @@ +@keyframes loadingCircle { + 100% { + transform: rotate(360deg); + } +} + +@click-animating-true: ~"[@{ant-prefix}-click-animating='true']"; +@click-animating-with-extra-node-true: ~"[@{ant-prefix}-click-animating-without-extra-node='true']"; + +@{click-animating-true}, +@{click-animating-with-extra-node-true} { + position: relative; +} + +html { + --antd-wave-shadow-color: @primary-color; + --scroll-bar: 0; +} + +@click-animating-with-extra-node-true-after: ~'@{click-animating-with-extra-node-true}::after'; + +@{click-animating-with-extra-node-true-after}, +.@{ant-prefix}-click-animating-node { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + display: block; + border-radius: inherit; + box-shadow: 0 0 0 0 @primary-color; + box-shadow: 0 0 0 0 var(--antd-wave-shadow-color); + opacity: 0.2; + animation: fadeEffect 2s @ease-out-circ, waveEffect 0.4s @ease-out-circ; + animation-fill-mode: forwards; + content: ''; + pointer-events: none; +} + +@keyframes waveEffect { + 100% { + box-shadow: 0 0 0 @primary-color; + box-shadow: 0 0 0 @wave-animation-width var(--antd-wave-shadow-color); + } +} + +@keyframes fadeEffect { + 100% { + opacity: 0; + } +} diff --git a/src/styles/core/motion/slide.less b/src/styles/core/motion/slide.less new file mode 100644 index 0000000..7831b4b --- /dev/null +++ b/src/styles/core/motion/slide.less @@ -0,0 +1,131 @@ +.slide-motion(@className, @keyframeName) { + @name: ~'@{ant-prefix}-@{className}'; + .make-motion(@name, @keyframeName); + .@{name}-enter, + .@{name}-appear { + transform: scale(0); + transform-origin: 0% 0%; + opacity: 0; + animation-timing-function: @ease-out-quint; + } + .@{name}-leave { + animation-timing-function: @ease-in-quint; + } +} + +.slide-motion(slide-up, antSlideUp); +.slide-motion(slide-down, antSlideDown); +.slide-motion(slide-left, antSlideLeft); +.slide-motion(slide-right, antSlideRight); + +@keyframes antSlideUpIn { + 0% { + transform: scaleY(0.8); + transform-origin: 0% 0%; + opacity: 0; + } + + 100% { + transform: scaleY(1); + transform-origin: 0% 0%; + opacity: 1; + } +} + +@keyframes antSlideUpOut { + 0% { + transform: scaleY(1); + transform-origin: 0% 0%; + opacity: 1; + } + + 100% { + transform: scaleY(0.8); + transform-origin: 0% 0%; + opacity: 0; + } +} + +@keyframes antSlideDownIn { + 0% { + transform: scaleY(0.8); + transform-origin: 100% 100%; + opacity: 0; + } + + 100% { + transform: scaleY(1); + transform-origin: 100% 100%; + opacity: 1; + } +} + +@keyframes antSlideDownOut { + 0% { + transform: scaleY(1); + transform-origin: 100% 100%; + opacity: 1; + } + + 100% { + transform: scaleY(0.8); + transform-origin: 100% 100%; + opacity: 0; + } +} + +@keyframes antSlideLeftIn { + 0% { + transform: scaleX(0.8); + transform-origin: 0% 0%; + opacity: 0; + } + + 100% { + transform: scaleX(1); + transform-origin: 0% 0%; + opacity: 1; + } +} + +@keyframes antSlideLeftOut { + 0% { + transform: scaleX(1); + transform-origin: 0% 0%; + opacity: 1; + } + + 100% { + transform: scaleX(0.8); + transform-origin: 0% 0%; + opacity: 0; + } +} + +@keyframes antSlideRightIn { + 0% { + transform: scaleX(0.8); + transform-origin: 100% 0%; + opacity: 0; + } + + 100% { + transform: scaleX(1); + transform-origin: 100% 0%; + opacity: 1; + } +} + +@keyframes antSlideRightOut { + 0% { + transform: scaleX(1); + transform-origin: 100% 0%; + opacity: 1; + } + + 100% { + transform: scaleX(0.8); + transform-origin: 100% 0%; + opacity: 0; + } +} diff --git a/src/styles/core/motion/zoom.less b/src/styles/core/motion/zoom.less new file mode 100644 index 0000000..72739b7 --- /dev/null +++ b/src/styles/core/motion/zoom.less @@ -0,0 +1,179 @@ +.zoom-motion(@className, @keyframeName, @duration: @animation-duration-base) { + @name: ~'@{ant-prefix}-@{className}'; + .make-motion(@name, @keyframeName, @duration); + .@{name}-enter, + .@{name}-appear { + transform: scale(0); // need this by yiminghe + opacity: 0; + animation-timing-function: @ease-out-circ; + + &-prepare { + transform: none; + } + } + .@{name}-leave { + animation-timing-function: @ease-in-out-circ; + } +} + +// For Modal, Select choosen item +.zoom-motion(zoom, antZoom); +// For Popover, Popconfirm, Dropdown +.zoom-motion(zoom-big, antZoomBig); +// For Tooltip +.zoom-motion(zoom-big-fast, antZoomBig, @animation-duration-fast); + +.zoom-motion(zoom-up, antZoomUp); +.zoom-motion(zoom-down, antZoomDown); +.zoom-motion(zoom-left, antZoomLeft); +.zoom-motion(zoom-right, antZoomRight); + +@keyframes antZoomIn { + 0% { + transform: scale(0.2); + opacity: 0; + } + + 100% { + transform: scale(1); + opacity: 1; + } +} + +@keyframes antZoomOut { + 0% { + transform: scale(1); + } + + 100% { + transform: scale(0.2); + opacity: 0; + } +} + +@keyframes antZoomBigIn { + 0% { + transform: scale(0.8); + opacity: 0; + } + + 100% { + transform: scale(1); + opacity: 1; + } +} + +@keyframes antZoomBigOut { + 0% { + transform: scale(1); + } + + 100% { + transform: scale(0.8); + opacity: 0; + } +} + +@keyframes antZoomUpIn { + 0% { + transform: scale(0.8); + transform-origin: 50% 0%; + opacity: 0; + } + + 100% { + transform: scale(1); + transform-origin: 50% 0%; + } +} + +@keyframes antZoomUpOut { + 0% { + transform: scale(1); + transform-origin: 50% 0%; + } + + 100% { + transform: scale(0.8); + transform-origin: 50% 0%; + opacity: 0; + } +} + +@keyframes antZoomLeftIn { + 0% { + transform: scale(0.8); + transform-origin: 0% 50%; + opacity: 0; + } + + 100% { + transform: scale(1); + transform-origin: 0% 50%; + } +} + +@keyframes antZoomLeftOut { + 0% { + transform: scale(1); + transform-origin: 0% 50%; + } + + 100% { + transform: scale(0.8); + transform-origin: 0% 50%; + opacity: 0; + } +} + +@keyframes antZoomRightIn { + 0% { + transform: scale(0.8); + transform-origin: 100% 50%; + opacity: 0; + } + + 100% { + transform: scale(1); + transform-origin: 100% 50%; + } +} + +@keyframes antZoomRightOut { + 0% { + transform: scale(1); + transform-origin: 100% 50%; + } + + 100% { + transform: scale(0.8); + transform-origin: 100% 50%; + opacity: 0; + } +} + +@keyframes antZoomDownIn { + 0% { + transform: scale(0.8); + transform-origin: 50% 100%; + opacity: 0; + } + + 100% { + transform: scale(1); + transform-origin: 50% 100%; + } +} + +@keyframes antZoomDownOut { + 0% { + transform: scale(1); + transform-origin: 50% 100%; + } + + 100% { + transform: scale(0.8); + transform-origin: 50% 100%; + opacity: 0; + } +} diff --git a/src/styles/css.js b/src/styles/css.js new file mode 100644 index 0000000..b67dcb9 --- /dev/null +++ b/src/styles/css.js @@ -0,0 +1 @@ +import './index.css'; \ No newline at end of file diff --git a/src/styles/dark.less b/src/styles/dark.less new file mode 100644 index 0000000..12a3731 --- /dev/null +++ b/src/styles/dark.less @@ -0,0 +1,4 @@ +@root-entry-name: default; + +@import './themes/dark.less'; +@import './core/index'; diff --git a/src/styles/default.css b/src/styles/default.css new file mode 100644 index 0000000..b363d91 --- /dev/null +++ b/src/styles/default.css @@ -0,0 +1,1248 @@ +/* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */ +/* stylelint-disable no-duplicate-selectors */ +/* stylelint-disable */ +/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors,string-no-newline */ +[class^=ant-]::-ms-clear, +[class*= ant-]::-ms-clear, +[class^=ant-] input::-ms-clear, +[class*= ant-] input::-ms-clear, +[class^=ant-] input::-ms-reveal, +[class*= ant-] input::-ms-reveal { + display: none; +} +/* stylelint-disable property-no-vendor-prefix, at-rule-no-vendor-prefix */ +html, +body { + width: 100%; + height: 100%; +} +input::-ms-clear, +input::-ms-reveal { + display: none; +} +*, +*::before, +*::after { + box-sizing: border-box; +} +html { + font-family: sans-serif; + line-height: 1.15; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + -ms-overflow-style: scrollbar; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} +@-ms-viewport { + width: device-width; +} +body { + margin: 0; + color: rgba(0, 0, 0, 0.85); + font-size: 14px; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; + font-variant: tabular-nums; + line-height: 1.5715; + background-color: #fff; + font-feature-settings: 'tnum'; +} +[tabindex='-1']:focus { + outline: none !important; +} +hr { + box-sizing: content-box; + height: 0; + overflow: visible; +} +h1, +h2, +h3, +h4, +h5, +h6 { + margin-top: 0; + margin-bottom: 0.5em; + color: rgba(0, 0, 0, 0.85); + font-weight: 500; +} +p { + margin-top: 0; + margin-bottom: 1em; +} +abbr[title], +abbr[data-original-title] { + text-decoration: underline; + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + border-bottom: 0; + cursor: help; +} +address { + margin-bottom: 1em; + font-style: normal; + line-height: inherit; +} +input[type='text'], +input[type='password'], +input[type='number'], +textarea { + -webkit-appearance: none; +} +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1em; +} +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} +dt { + font-weight: 500; +} +dd { + margin-bottom: 0.5em; + margin-left: 0; +} +blockquote { + margin: 0 0 1em; +} +dfn { + font-style: italic; +} +b, +strong { + font-weight: bolder; +} +small { + font-size: 80%; +} +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} +sub { + bottom: -0.25em; +} +sup { + top: -0.5em; +} +a { + color: #1890ff; + text-decoration: none; + background-color: transparent; + outline: none; + cursor: pointer; + transition: color 0.3s; + -webkit-text-decoration-skip: objects; +} +a:hover { + color: #40a9ff; +} +a:active { + color: #096dd9; +} +a:active, +a:hover { + text-decoration: none; + outline: 0; +} +a:focus { + text-decoration: none; + outline: 0; +} +a[disabled] { + color: rgba(0, 0, 0, 0.25); + cursor: not-allowed; +} +pre, +code, +kbd, +samp { + font-size: 1em; + font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace; +} +pre { + margin-top: 0; + margin-bottom: 1em; + overflow: auto; +} +figure { + margin: 0 0 1em; +} +img { + vertical-align: middle; + border-style: none; +} +a, +area, +button, +[role='button'], +input:not([type='range']), +label, +select, +summary, +textarea { + touch-action: manipulation; +} +table { + border-collapse: collapse; +} +caption { + padding-top: 0.75em; + padding-bottom: 0.3em; + color: rgba(0, 0, 0, 0.45); + text-align: left; + caption-side: bottom; +} +input, +button, +select, +optgroup, +textarea { + margin: 0; + color: inherit; + font-size: inherit; + font-family: inherit; + line-height: inherit; +} +button, +input { + overflow: visible; +} +button, +select { + text-transform: none; +} +button, +html [type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} +button::-moz-focus-inner, +[type='button']::-moz-focus-inner, +[type='reset']::-moz-focus-inner, +[type='submit']::-moz-focus-inner { + padding: 0; + border-style: none; +} +input[type='radio'], +input[type='checkbox'] { + box-sizing: border-box; + padding: 0; +} +input[type='date'], +input[type='time'], +input[type='datetime-local'], +input[type='month'] { + -webkit-appearance: listbox; +} +textarea { + overflow: auto; + resize: vertical; +} +fieldset { + min-width: 0; + margin: 0; + padding: 0; + border: 0; +} +legend { + display: block; + width: 100%; + max-width: 100%; + margin-bottom: 0.5em; + padding: 0; + color: inherit; + font-size: 1.5em; + line-height: inherit; + white-space: normal; +} +progress { + vertical-align: baseline; +} +[type='number']::-webkit-inner-spin-button, +[type='number']::-webkit-outer-spin-button { + height: auto; +} +[type='search'] { + outline-offset: -2px; + -webkit-appearance: none; +} +[type='search']::-webkit-search-cancel-button, +[type='search']::-webkit-search-decoration { + -webkit-appearance: none; +} +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} +output { + display: inline-block; +} +summary { + display: list-item; +} +template { + display: none; +} +[hidden] { + display: none !important; +} +mark { + padding: 0.2em; + background-color: #feffe6; +} +::-moz-selection { + color: #fff; + background: #1890ff; +} +::selection { + color: #fff; + background: #1890ff; +} +.clearfix::before { + display: table; + content: ''; +} +.clearfix::after { + display: table; + clear: both; + content: ''; +} +.anticon { + display: inline-flex; + align-items: center; + color: inherit; + font-style: normal; + line-height: 0; + text-align: center; + text-transform: none; + vertical-align: -0.125em; + text-rendering: optimizelegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.anticon > * { + line-height: 1; +} +.anticon svg { + display: inline-block; +} +.anticon::before { + display: none; +} +.anticon .anticon-icon { + display: block; +} +.anticon > .anticon { + line-height: 0; + vertical-align: 0; +} +.anticon[tabindex] { + cursor: pointer; +} +.anticon-spin, +.anticon-spin::before { + display: inline-block; + animation: loadingCircle 1s infinite linear; +} +.ant-fade-enter, +.ant-fade-appear { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-fade-leave { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-fade-enter.ant-fade-enter-active, +.ant-fade-appear.ant-fade-appear-active { + animation-name: antFadeIn; + animation-play-state: running; +} +.ant-fade-leave.ant-fade-leave-active { + animation-name: antFadeOut; + animation-play-state: running; + pointer-events: none; +} +.ant-fade-enter, +.ant-fade-appear { + opacity: 0; + animation-timing-function: linear; +} +.ant-fade-leave { + animation-timing-function: linear; +} +@keyframes antFadeIn { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes antFadeOut { + 0% { + opacity: 1; + } + 100% { + opacity: 0; + } +} +.ant-move-up-enter, +.ant-move-up-appear { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-move-up-leave { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-move-up-enter.ant-move-up-enter-active, +.ant-move-up-appear.ant-move-up-appear-active { + animation-name: antMoveUpIn; + animation-play-state: running; +} +.ant-move-up-leave.ant-move-up-leave-active { + animation-name: antMoveUpOut; + animation-play-state: running; + pointer-events: none; +} +.ant-move-up-enter, +.ant-move-up-appear { + opacity: 0; + animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); +} +.ant-move-up-leave { + animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34); +} +.ant-move-down-enter, +.ant-move-down-appear { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-move-down-leave { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-move-down-enter.ant-move-down-enter-active, +.ant-move-down-appear.ant-move-down-appear-active { + animation-name: antMoveDownIn; + animation-play-state: running; +} +.ant-move-down-leave.ant-move-down-leave-active { + animation-name: antMoveDownOut; + animation-play-state: running; + pointer-events: none; +} +.ant-move-down-enter, +.ant-move-down-appear { + opacity: 0; + animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); +} +.ant-move-down-leave { + animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34); +} +.ant-move-left-enter, +.ant-move-left-appear { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-move-left-leave { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-move-left-enter.ant-move-left-enter-active, +.ant-move-left-appear.ant-move-left-appear-active { + animation-name: antMoveLeftIn; + animation-play-state: running; +} +.ant-move-left-leave.ant-move-left-leave-active { + animation-name: antMoveLeftOut; + animation-play-state: running; + pointer-events: none; +} +.ant-move-left-enter, +.ant-move-left-appear { + opacity: 0; + animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); +} +.ant-move-left-leave { + animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34); +} +.ant-move-right-enter, +.ant-move-right-appear { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-move-right-leave { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-move-right-enter.ant-move-right-enter-active, +.ant-move-right-appear.ant-move-right-appear-active { + animation-name: antMoveRightIn; + animation-play-state: running; +} +.ant-move-right-leave.ant-move-right-leave-active { + animation-name: antMoveRightOut; + animation-play-state: running; + pointer-events: none; +} +.ant-move-right-enter, +.ant-move-right-appear { + opacity: 0; + animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); +} +.ant-move-right-leave { + animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34); +} +@keyframes antMoveDownIn { + 0% { + transform: translateY(100%); + transform-origin: 0 0; + opacity: 0; + } + 100% { + transform: translateY(0%); + transform-origin: 0 0; + opacity: 1; + } +} +@keyframes antMoveDownOut { + 0% { + transform: translateY(0%); + transform-origin: 0 0; + opacity: 1; + } + 100% { + transform: translateY(100%); + transform-origin: 0 0; + opacity: 0; + } +} +@keyframes antMoveLeftIn { + 0% { + transform: translateX(-100%); + transform-origin: 0 0; + opacity: 0; + } + 100% { + transform: translateX(0%); + transform-origin: 0 0; + opacity: 1; + } +} +@keyframes antMoveLeftOut { + 0% { + transform: translateX(0%); + transform-origin: 0 0; + opacity: 1; + } + 100% { + transform: translateX(-100%); + transform-origin: 0 0; + opacity: 0; + } +} +@keyframes antMoveRightIn { + 0% { + transform: translateX(100%); + transform-origin: 0 0; + opacity: 0; + } + 100% { + transform: translateX(0%); + transform-origin: 0 0; + opacity: 1; + } +} +@keyframes antMoveRightOut { + 0% { + transform: translateX(0%); + transform-origin: 0 0; + opacity: 1; + } + 100% { + transform: translateX(100%); + transform-origin: 0 0; + opacity: 0; + } +} +@keyframes antMoveUpIn { + 0% { + transform: translateY(-100%); + transform-origin: 0 0; + opacity: 0; + } + 100% { + transform: translateY(0%); + transform-origin: 0 0; + opacity: 1; + } +} +@keyframes antMoveUpOut { + 0% { + transform: translateY(0%); + transform-origin: 0 0; + opacity: 1; + } + 100% { + transform: translateY(-100%); + transform-origin: 0 0; + opacity: 0; + } +} +@keyframes loadingCircle { + 100% { + transform: rotate(360deg); + } +} +[ant-click-animating='true'], +[ant-click-animating-without-extra-node='true'] { + position: relative; +} +html { + --antd-wave-shadow-color: #1890ff; + --scroll-bar: 0; +} +[ant-click-animating-without-extra-node='true']::after, +.ant-click-animating-node { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + display: block; + border-radius: inherit; + box-shadow: 0 0 0 0 #1890ff; + box-shadow: 0 0 0 0 var(--antd-wave-shadow-color); + opacity: 0.2; + animation: fadeEffect 2s cubic-bezier(0.08, 0.82, 0.17, 1), waveEffect 0.4s cubic-bezier(0.08, 0.82, 0.17, 1); + animation-fill-mode: forwards; + content: ''; + pointer-events: none; +} +@keyframes waveEffect { + 100% { + box-shadow: 0 0 0 #1890ff; + box-shadow: 0 0 0 6px var(--antd-wave-shadow-color); + } +} +@keyframes fadeEffect { + 100% { + opacity: 0; + } +} +.ant-slide-up-enter, +.ant-slide-up-appear { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-slide-up-leave { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-slide-up-enter.ant-slide-up-enter-active, +.ant-slide-up-appear.ant-slide-up-appear-active { + animation-name: antSlideUpIn; + animation-play-state: running; +} +.ant-slide-up-leave.ant-slide-up-leave-active { + animation-name: antSlideUpOut; + animation-play-state: running; + pointer-events: none; +} +.ant-slide-up-enter, +.ant-slide-up-appear { + transform: scale(0); + transform-origin: 0% 0%; + opacity: 0; + animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1); +} +.ant-slide-up-leave { + animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); +} +.ant-slide-down-enter, +.ant-slide-down-appear { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-slide-down-leave { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-slide-down-enter.ant-slide-down-enter-active, +.ant-slide-down-appear.ant-slide-down-appear-active { + animation-name: antSlideDownIn; + animation-play-state: running; +} +.ant-slide-down-leave.ant-slide-down-leave-active { + animation-name: antSlideDownOut; + animation-play-state: running; + pointer-events: none; +} +.ant-slide-down-enter, +.ant-slide-down-appear { + transform: scale(0); + transform-origin: 0% 0%; + opacity: 0; + animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1); +} +.ant-slide-down-leave { + animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); +} +.ant-slide-left-enter, +.ant-slide-left-appear { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-slide-left-leave { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-slide-left-enter.ant-slide-left-enter-active, +.ant-slide-left-appear.ant-slide-left-appear-active { + animation-name: antSlideLeftIn; + animation-play-state: running; +} +.ant-slide-left-leave.ant-slide-left-leave-active { + animation-name: antSlideLeftOut; + animation-play-state: running; + pointer-events: none; +} +.ant-slide-left-enter, +.ant-slide-left-appear { + transform: scale(0); + transform-origin: 0% 0%; + opacity: 0; + animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1); +} +.ant-slide-left-leave { + animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); +} +.ant-slide-right-enter, +.ant-slide-right-appear { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-slide-right-leave { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-slide-right-enter.ant-slide-right-enter-active, +.ant-slide-right-appear.ant-slide-right-appear-active { + animation-name: antSlideRightIn; + animation-play-state: running; +} +.ant-slide-right-leave.ant-slide-right-leave-active { + animation-name: antSlideRightOut; + animation-play-state: running; + pointer-events: none; +} +.ant-slide-right-enter, +.ant-slide-right-appear { + transform: scale(0); + transform-origin: 0% 0%; + opacity: 0; + animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1); +} +.ant-slide-right-leave { + animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); +} +@keyframes antSlideUpIn { + 0% { + transform: scaleY(0.8); + transform-origin: 0% 0%; + opacity: 0; + } + 100% { + transform: scaleY(1); + transform-origin: 0% 0%; + opacity: 1; + } +} +@keyframes antSlideUpOut { + 0% { + transform: scaleY(1); + transform-origin: 0% 0%; + opacity: 1; + } + 100% { + transform: scaleY(0.8); + transform-origin: 0% 0%; + opacity: 0; + } +} +@keyframes antSlideDownIn { + 0% { + transform: scaleY(0.8); + transform-origin: 100% 100%; + opacity: 0; + } + 100% { + transform: scaleY(1); + transform-origin: 100% 100%; + opacity: 1; + } +} +@keyframes antSlideDownOut { + 0% { + transform: scaleY(1); + transform-origin: 100% 100%; + opacity: 1; + } + 100% { + transform: scaleY(0.8); + transform-origin: 100% 100%; + opacity: 0; + } +} +@keyframes antSlideLeftIn { + 0% { + transform: scaleX(0.8); + transform-origin: 0% 0%; + opacity: 0; + } + 100% { + transform: scaleX(1); + transform-origin: 0% 0%; + opacity: 1; + } +} +@keyframes antSlideLeftOut { + 0% { + transform: scaleX(1); + transform-origin: 0% 0%; + opacity: 1; + } + 100% { + transform: scaleX(0.8); + transform-origin: 0% 0%; + opacity: 0; + } +} +@keyframes antSlideRightIn { + 0% { + transform: scaleX(0.8); + transform-origin: 100% 0%; + opacity: 0; + } + 100% { + transform: scaleX(1); + transform-origin: 100% 0%; + opacity: 1; + } +} +@keyframes antSlideRightOut { + 0% { + transform: scaleX(1); + transform-origin: 100% 0%; + opacity: 1; + } + 100% { + transform: scaleX(0.8); + transform-origin: 100% 0%; + opacity: 0; + } +} +.ant-zoom-enter, +.ant-zoom-appear { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-zoom-leave { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-zoom-enter.ant-zoom-enter-active, +.ant-zoom-appear.ant-zoom-appear-active { + animation-name: antZoomIn; + animation-play-state: running; +} +.ant-zoom-leave.ant-zoom-leave-active { + animation-name: antZoomOut; + animation-play-state: running; + pointer-events: none; +} +.ant-zoom-enter, +.ant-zoom-appear { + transform: scale(0); + opacity: 0; + animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); +} +.ant-zoom-enter-prepare, +.ant-zoom-appear-prepare { + transform: none; +} +.ant-zoom-leave { + animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86); +} +.ant-zoom-big-enter, +.ant-zoom-big-appear { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-zoom-big-leave { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-zoom-big-enter.ant-zoom-big-enter-active, +.ant-zoom-big-appear.ant-zoom-big-appear-active { + animation-name: antZoomBigIn; + animation-play-state: running; +} +.ant-zoom-big-leave.ant-zoom-big-leave-active { + animation-name: antZoomBigOut; + animation-play-state: running; + pointer-events: none; +} +.ant-zoom-big-enter, +.ant-zoom-big-appear { + transform: scale(0); + opacity: 0; + animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); +} +.ant-zoom-big-enter-prepare, +.ant-zoom-big-appear-prepare { + transform: none; +} +.ant-zoom-big-leave { + animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86); +} +.ant-zoom-big-fast-enter, +.ant-zoom-big-fast-appear { + animation-duration: 0.1s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-zoom-big-fast-leave { + animation-duration: 0.1s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-zoom-big-fast-enter.ant-zoom-big-fast-enter-active, +.ant-zoom-big-fast-appear.ant-zoom-big-fast-appear-active { + animation-name: antZoomBigIn; + animation-play-state: running; +} +.ant-zoom-big-fast-leave.ant-zoom-big-fast-leave-active { + animation-name: antZoomBigOut; + animation-play-state: running; + pointer-events: none; +} +.ant-zoom-big-fast-enter, +.ant-zoom-big-fast-appear { + transform: scale(0); + opacity: 0; + animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); +} +.ant-zoom-big-fast-enter-prepare, +.ant-zoom-big-fast-appear-prepare { + transform: none; +} +.ant-zoom-big-fast-leave { + animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86); +} +.ant-zoom-up-enter, +.ant-zoom-up-appear { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-zoom-up-leave { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-zoom-up-enter.ant-zoom-up-enter-active, +.ant-zoom-up-appear.ant-zoom-up-appear-active { + animation-name: antZoomUpIn; + animation-play-state: running; +} +.ant-zoom-up-leave.ant-zoom-up-leave-active { + animation-name: antZoomUpOut; + animation-play-state: running; + pointer-events: none; +} +.ant-zoom-up-enter, +.ant-zoom-up-appear { + transform: scale(0); + opacity: 0; + animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); +} +.ant-zoom-up-enter-prepare, +.ant-zoom-up-appear-prepare { + transform: none; +} +.ant-zoom-up-leave { + animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86); +} +.ant-zoom-down-enter, +.ant-zoom-down-appear { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-zoom-down-leave { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-zoom-down-enter.ant-zoom-down-enter-active, +.ant-zoom-down-appear.ant-zoom-down-appear-active { + animation-name: antZoomDownIn; + animation-play-state: running; +} +.ant-zoom-down-leave.ant-zoom-down-leave-active { + animation-name: antZoomDownOut; + animation-play-state: running; + pointer-events: none; +} +.ant-zoom-down-enter, +.ant-zoom-down-appear { + transform: scale(0); + opacity: 0; + animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); +} +.ant-zoom-down-enter-prepare, +.ant-zoom-down-appear-prepare { + transform: none; +} +.ant-zoom-down-leave { + animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86); +} +.ant-zoom-left-enter, +.ant-zoom-left-appear { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-zoom-left-leave { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-zoom-left-enter.ant-zoom-left-enter-active, +.ant-zoom-left-appear.ant-zoom-left-appear-active { + animation-name: antZoomLeftIn; + animation-play-state: running; +} +.ant-zoom-left-leave.ant-zoom-left-leave-active { + animation-name: antZoomLeftOut; + animation-play-state: running; + pointer-events: none; +} +.ant-zoom-left-enter, +.ant-zoom-left-appear { + transform: scale(0); + opacity: 0; + animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); +} +.ant-zoom-left-enter-prepare, +.ant-zoom-left-appear-prepare { + transform: none; +} +.ant-zoom-left-leave { + animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86); +} +.ant-zoom-right-enter, +.ant-zoom-right-appear { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-zoom-right-leave { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-zoom-right-enter.ant-zoom-right-enter-active, +.ant-zoom-right-appear.ant-zoom-right-appear-active { + animation-name: antZoomRightIn; + animation-play-state: running; +} +.ant-zoom-right-leave.ant-zoom-right-leave-active { + animation-name: antZoomRightOut; + animation-play-state: running; + pointer-events: none; +} +.ant-zoom-right-enter, +.ant-zoom-right-appear { + transform: scale(0); + opacity: 0; + animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); +} +.ant-zoom-right-enter-prepare, +.ant-zoom-right-appear-prepare { + transform: none; +} +.ant-zoom-right-leave { + animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86); +} +@keyframes antZoomIn { + 0% { + transform: scale(0.2); + opacity: 0; + } + 100% { + transform: scale(1); + opacity: 1; + } +} +@keyframes antZoomOut { + 0% { + transform: scale(1); + } + 100% { + transform: scale(0.2); + opacity: 0; + } +} +@keyframes antZoomBigIn { + 0% { + transform: scale(0.8); + opacity: 0; + } + 100% { + transform: scale(1); + opacity: 1; + } +} +@keyframes antZoomBigOut { + 0% { + transform: scale(1); + } + 100% { + transform: scale(0.8); + opacity: 0; + } +} +@keyframes antZoomUpIn { + 0% { + transform: scale(0.8); + transform-origin: 50% 0%; + opacity: 0; + } + 100% { + transform: scale(1); + transform-origin: 50% 0%; + } +} +@keyframes antZoomUpOut { + 0% { + transform: scale(1); + transform-origin: 50% 0%; + } + 100% { + transform: scale(0.8); + transform-origin: 50% 0%; + opacity: 0; + } +} +@keyframes antZoomLeftIn { + 0% { + transform: scale(0.8); + transform-origin: 0% 50%; + opacity: 0; + } + 100% { + transform: scale(1); + transform-origin: 0% 50%; + } +} +@keyframes antZoomLeftOut { + 0% { + transform: scale(1); + transform-origin: 0% 50%; + } + 100% { + transform: scale(0.8); + transform-origin: 0% 50%; + opacity: 0; + } +} +@keyframes antZoomRightIn { + 0% { + transform: scale(0.8); + transform-origin: 100% 50%; + opacity: 0; + } + 100% { + transform: scale(1); + transform-origin: 100% 50%; + } +} +@keyframes antZoomRightOut { + 0% { + transform: scale(1); + transform-origin: 100% 50%; + } + 100% { + transform: scale(0.8); + transform-origin: 100% 50%; + opacity: 0; + } +} +@keyframes antZoomDownIn { + 0% { + transform: scale(0.8); + transform-origin: 50% 100%; + opacity: 0; + } + 100% { + transform: scale(1); + transform-origin: 50% 100%; + } +} +@keyframes antZoomDownOut { + 0% { + transform: scale(1); + transform-origin: 50% 100%; + } + 100% { + transform: scale(0.8); + transform-origin: 50% 100%; + opacity: 0; + } +} +.ant-motion-collapse-legacy { + overflow: hidden; +} +.ant-motion-collapse-legacy-active { + transition: height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) !important; +} +.ant-motion-collapse { + overflow: hidden; + transition: height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) !important; +} diff --git a/src/styles/default.less b/src/styles/default.less new file mode 100644 index 0000000..ecec084 --- /dev/null +++ b/src/styles/default.less @@ -0,0 +1,4 @@ +// This is same as `index.less` but given `root-entry-name` for `dist/antd.less` usage +@root-entry-name: default; + +@import './index'; diff --git a/src/styles/index-pure.less b/src/styles/index-pure.less new file mode 100644 index 0000000..04efa3b --- /dev/null +++ b/src/styles/index-pure.less @@ -0,0 +1,2 @@ +@import './themes/index'; +@import './core/index'; diff --git a/src/styles/index.css b/src/styles/index.css new file mode 100644 index 0000000..b363d91 --- /dev/null +++ b/src/styles/index.css @@ -0,0 +1,1248 @@ +/* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */ +/* stylelint-disable no-duplicate-selectors */ +/* stylelint-disable */ +/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors,string-no-newline */ +[class^=ant-]::-ms-clear, +[class*= ant-]::-ms-clear, +[class^=ant-] input::-ms-clear, +[class*= ant-] input::-ms-clear, +[class^=ant-] input::-ms-reveal, +[class*= ant-] input::-ms-reveal { + display: none; +} +/* stylelint-disable property-no-vendor-prefix, at-rule-no-vendor-prefix */ +html, +body { + width: 100%; + height: 100%; +} +input::-ms-clear, +input::-ms-reveal { + display: none; +} +*, +*::before, +*::after { + box-sizing: border-box; +} +html { + font-family: sans-serif; + line-height: 1.15; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; + -ms-overflow-style: scrollbar; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} +@-ms-viewport { + width: device-width; +} +body { + margin: 0; + color: rgba(0, 0, 0, 0.85); + font-size: 14px; + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; + font-variant: tabular-nums; + line-height: 1.5715; + background-color: #fff; + font-feature-settings: 'tnum'; +} +[tabindex='-1']:focus { + outline: none !important; +} +hr { + box-sizing: content-box; + height: 0; + overflow: visible; +} +h1, +h2, +h3, +h4, +h5, +h6 { + margin-top: 0; + margin-bottom: 0.5em; + color: rgba(0, 0, 0, 0.85); + font-weight: 500; +} +p { + margin-top: 0; + margin-bottom: 1em; +} +abbr[title], +abbr[data-original-title] { + text-decoration: underline; + -webkit-text-decoration: underline dotted; + text-decoration: underline dotted; + border-bottom: 0; + cursor: help; +} +address { + margin-bottom: 1em; + font-style: normal; + line-height: inherit; +} +input[type='text'], +input[type='password'], +input[type='number'], +textarea { + -webkit-appearance: none; +} +ol, +ul, +dl { + margin-top: 0; + margin-bottom: 1em; +} +ol ol, +ul ul, +ol ul, +ul ol { + margin-bottom: 0; +} +dt { + font-weight: 500; +} +dd { + margin-bottom: 0.5em; + margin-left: 0; +} +blockquote { + margin: 0 0 1em; +} +dfn { + font-style: italic; +} +b, +strong { + font-weight: bolder; +} +small { + font-size: 80%; +} +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} +sub { + bottom: -0.25em; +} +sup { + top: -0.5em; +} +a { + color: #1890ff; + text-decoration: none; + background-color: transparent; + outline: none; + cursor: pointer; + transition: color 0.3s; + -webkit-text-decoration-skip: objects; +} +a:hover { + color: #40a9ff; +} +a:active { + color: #096dd9; +} +a:active, +a:hover { + text-decoration: none; + outline: 0; +} +a:focus { + text-decoration: none; + outline: 0; +} +a[disabled] { + color: rgba(0, 0, 0, 0.25); + cursor: not-allowed; +} +pre, +code, +kbd, +samp { + font-size: 1em; + font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace; +} +pre { + margin-top: 0; + margin-bottom: 1em; + overflow: auto; +} +figure { + margin: 0 0 1em; +} +img { + vertical-align: middle; + border-style: none; +} +a, +area, +button, +[role='button'], +input:not([type='range']), +label, +select, +summary, +textarea { + touch-action: manipulation; +} +table { + border-collapse: collapse; +} +caption { + padding-top: 0.75em; + padding-bottom: 0.3em; + color: rgba(0, 0, 0, 0.45); + text-align: left; + caption-side: bottom; +} +input, +button, +select, +optgroup, +textarea { + margin: 0; + color: inherit; + font-size: inherit; + font-family: inherit; + line-height: inherit; +} +button, +input { + overflow: visible; +} +button, +select { + text-transform: none; +} +button, +html [type="button"], +[type="reset"], +[type="submit"] { + -webkit-appearance: button; +} +button::-moz-focus-inner, +[type='button']::-moz-focus-inner, +[type='reset']::-moz-focus-inner, +[type='submit']::-moz-focus-inner { + padding: 0; + border-style: none; +} +input[type='radio'], +input[type='checkbox'] { + box-sizing: border-box; + padding: 0; +} +input[type='date'], +input[type='time'], +input[type='datetime-local'], +input[type='month'] { + -webkit-appearance: listbox; +} +textarea { + overflow: auto; + resize: vertical; +} +fieldset { + min-width: 0; + margin: 0; + padding: 0; + border: 0; +} +legend { + display: block; + width: 100%; + max-width: 100%; + margin-bottom: 0.5em; + padding: 0; + color: inherit; + font-size: 1.5em; + line-height: inherit; + white-space: normal; +} +progress { + vertical-align: baseline; +} +[type='number']::-webkit-inner-spin-button, +[type='number']::-webkit-outer-spin-button { + height: auto; +} +[type='search'] { + outline-offset: -2px; + -webkit-appearance: none; +} +[type='search']::-webkit-search-cancel-button, +[type='search']::-webkit-search-decoration { + -webkit-appearance: none; +} +::-webkit-file-upload-button { + font: inherit; + -webkit-appearance: button; +} +output { + display: inline-block; +} +summary { + display: list-item; +} +template { + display: none; +} +[hidden] { + display: none !important; +} +mark { + padding: 0.2em; + background-color: #feffe6; +} +::-moz-selection { + color: #fff; + background: #1890ff; +} +::selection { + color: #fff; + background: #1890ff; +} +.clearfix::before { + display: table; + content: ''; +} +.clearfix::after { + display: table; + clear: both; + content: ''; +} +.anticon { + display: inline-flex; + align-items: center; + color: inherit; + font-style: normal; + line-height: 0; + text-align: center; + text-transform: none; + vertical-align: -0.125em; + text-rendering: optimizelegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.anticon > * { + line-height: 1; +} +.anticon svg { + display: inline-block; +} +.anticon::before { + display: none; +} +.anticon .anticon-icon { + display: block; +} +.anticon > .anticon { + line-height: 0; + vertical-align: 0; +} +.anticon[tabindex] { + cursor: pointer; +} +.anticon-spin, +.anticon-spin::before { + display: inline-block; + animation: loadingCircle 1s infinite linear; +} +.ant-fade-enter, +.ant-fade-appear { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-fade-leave { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-fade-enter.ant-fade-enter-active, +.ant-fade-appear.ant-fade-appear-active { + animation-name: antFadeIn; + animation-play-state: running; +} +.ant-fade-leave.ant-fade-leave-active { + animation-name: antFadeOut; + animation-play-state: running; + pointer-events: none; +} +.ant-fade-enter, +.ant-fade-appear { + opacity: 0; + animation-timing-function: linear; +} +.ant-fade-leave { + animation-timing-function: linear; +} +@keyframes antFadeIn { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes antFadeOut { + 0% { + opacity: 1; + } + 100% { + opacity: 0; + } +} +.ant-move-up-enter, +.ant-move-up-appear { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-move-up-leave { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-move-up-enter.ant-move-up-enter-active, +.ant-move-up-appear.ant-move-up-appear-active { + animation-name: antMoveUpIn; + animation-play-state: running; +} +.ant-move-up-leave.ant-move-up-leave-active { + animation-name: antMoveUpOut; + animation-play-state: running; + pointer-events: none; +} +.ant-move-up-enter, +.ant-move-up-appear { + opacity: 0; + animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); +} +.ant-move-up-leave { + animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34); +} +.ant-move-down-enter, +.ant-move-down-appear { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-move-down-leave { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-move-down-enter.ant-move-down-enter-active, +.ant-move-down-appear.ant-move-down-appear-active { + animation-name: antMoveDownIn; + animation-play-state: running; +} +.ant-move-down-leave.ant-move-down-leave-active { + animation-name: antMoveDownOut; + animation-play-state: running; + pointer-events: none; +} +.ant-move-down-enter, +.ant-move-down-appear { + opacity: 0; + animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); +} +.ant-move-down-leave { + animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34); +} +.ant-move-left-enter, +.ant-move-left-appear { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-move-left-leave { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-move-left-enter.ant-move-left-enter-active, +.ant-move-left-appear.ant-move-left-appear-active { + animation-name: antMoveLeftIn; + animation-play-state: running; +} +.ant-move-left-leave.ant-move-left-leave-active { + animation-name: antMoveLeftOut; + animation-play-state: running; + pointer-events: none; +} +.ant-move-left-enter, +.ant-move-left-appear { + opacity: 0; + animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); +} +.ant-move-left-leave { + animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34); +} +.ant-move-right-enter, +.ant-move-right-appear { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-move-right-leave { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-move-right-enter.ant-move-right-enter-active, +.ant-move-right-appear.ant-move-right-appear-active { + animation-name: antMoveRightIn; + animation-play-state: running; +} +.ant-move-right-leave.ant-move-right-leave-active { + animation-name: antMoveRightOut; + animation-play-state: running; + pointer-events: none; +} +.ant-move-right-enter, +.ant-move-right-appear { + opacity: 0; + animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); +} +.ant-move-right-leave { + animation-timing-function: cubic-bezier(0.6, 0.04, 0.98, 0.34); +} +@keyframes antMoveDownIn { + 0% { + transform: translateY(100%); + transform-origin: 0 0; + opacity: 0; + } + 100% { + transform: translateY(0%); + transform-origin: 0 0; + opacity: 1; + } +} +@keyframes antMoveDownOut { + 0% { + transform: translateY(0%); + transform-origin: 0 0; + opacity: 1; + } + 100% { + transform: translateY(100%); + transform-origin: 0 0; + opacity: 0; + } +} +@keyframes antMoveLeftIn { + 0% { + transform: translateX(-100%); + transform-origin: 0 0; + opacity: 0; + } + 100% { + transform: translateX(0%); + transform-origin: 0 0; + opacity: 1; + } +} +@keyframes antMoveLeftOut { + 0% { + transform: translateX(0%); + transform-origin: 0 0; + opacity: 1; + } + 100% { + transform: translateX(-100%); + transform-origin: 0 0; + opacity: 0; + } +} +@keyframes antMoveRightIn { + 0% { + transform: translateX(100%); + transform-origin: 0 0; + opacity: 0; + } + 100% { + transform: translateX(0%); + transform-origin: 0 0; + opacity: 1; + } +} +@keyframes antMoveRightOut { + 0% { + transform: translateX(0%); + transform-origin: 0 0; + opacity: 1; + } + 100% { + transform: translateX(100%); + transform-origin: 0 0; + opacity: 0; + } +} +@keyframes antMoveUpIn { + 0% { + transform: translateY(-100%); + transform-origin: 0 0; + opacity: 0; + } + 100% { + transform: translateY(0%); + transform-origin: 0 0; + opacity: 1; + } +} +@keyframes antMoveUpOut { + 0% { + transform: translateY(0%); + transform-origin: 0 0; + opacity: 1; + } + 100% { + transform: translateY(-100%); + transform-origin: 0 0; + opacity: 0; + } +} +@keyframes loadingCircle { + 100% { + transform: rotate(360deg); + } +} +[ant-click-animating='true'], +[ant-click-animating-without-extra-node='true'] { + position: relative; +} +html { + --antd-wave-shadow-color: #1890ff; + --scroll-bar: 0; +} +[ant-click-animating-without-extra-node='true']::after, +.ant-click-animating-node { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + display: block; + border-radius: inherit; + box-shadow: 0 0 0 0 #1890ff; + box-shadow: 0 0 0 0 var(--antd-wave-shadow-color); + opacity: 0.2; + animation: fadeEffect 2s cubic-bezier(0.08, 0.82, 0.17, 1), waveEffect 0.4s cubic-bezier(0.08, 0.82, 0.17, 1); + animation-fill-mode: forwards; + content: ''; + pointer-events: none; +} +@keyframes waveEffect { + 100% { + box-shadow: 0 0 0 #1890ff; + box-shadow: 0 0 0 6px var(--antd-wave-shadow-color); + } +} +@keyframes fadeEffect { + 100% { + opacity: 0; + } +} +.ant-slide-up-enter, +.ant-slide-up-appear { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-slide-up-leave { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-slide-up-enter.ant-slide-up-enter-active, +.ant-slide-up-appear.ant-slide-up-appear-active { + animation-name: antSlideUpIn; + animation-play-state: running; +} +.ant-slide-up-leave.ant-slide-up-leave-active { + animation-name: antSlideUpOut; + animation-play-state: running; + pointer-events: none; +} +.ant-slide-up-enter, +.ant-slide-up-appear { + transform: scale(0); + transform-origin: 0% 0%; + opacity: 0; + animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1); +} +.ant-slide-up-leave { + animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); +} +.ant-slide-down-enter, +.ant-slide-down-appear { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-slide-down-leave { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-slide-down-enter.ant-slide-down-enter-active, +.ant-slide-down-appear.ant-slide-down-appear-active { + animation-name: antSlideDownIn; + animation-play-state: running; +} +.ant-slide-down-leave.ant-slide-down-leave-active { + animation-name: antSlideDownOut; + animation-play-state: running; + pointer-events: none; +} +.ant-slide-down-enter, +.ant-slide-down-appear { + transform: scale(0); + transform-origin: 0% 0%; + opacity: 0; + animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1); +} +.ant-slide-down-leave { + animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); +} +.ant-slide-left-enter, +.ant-slide-left-appear { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-slide-left-leave { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-slide-left-enter.ant-slide-left-enter-active, +.ant-slide-left-appear.ant-slide-left-appear-active { + animation-name: antSlideLeftIn; + animation-play-state: running; +} +.ant-slide-left-leave.ant-slide-left-leave-active { + animation-name: antSlideLeftOut; + animation-play-state: running; + pointer-events: none; +} +.ant-slide-left-enter, +.ant-slide-left-appear { + transform: scale(0); + transform-origin: 0% 0%; + opacity: 0; + animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1); +} +.ant-slide-left-leave { + animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); +} +.ant-slide-right-enter, +.ant-slide-right-appear { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-slide-right-leave { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-slide-right-enter.ant-slide-right-enter-active, +.ant-slide-right-appear.ant-slide-right-appear-active { + animation-name: antSlideRightIn; + animation-play-state: running; +} +.ant-slide-right-leave.ant-slide-right-leave-active { + animation-name: antSlideRightOut; + animation-play-state: running; + pointer-events: none; +} +.ant-slide-right-enter, +.ant-slide-right-appear { + transform: scale(0); + transform-origin: 0% 0%; + opacity: 0; + animation-timing-function: cubic-bezier(0.23, 1, 0.32, 1); +} +.ant-slide-right-leave { + animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); +} +@keyframes antSlideUpIn { + 0% { + transform: scaleY(0.8); + transform-origin: 0% 0%; + opacity: 0; + } + 100% { + transform: scaleY(1); + transform-origin: 0% 0%; + opacity: 1; + } +} +@keyframes antSlideUpOut { + 0% { + transform: scaleY(1); + transform-origin: 0% 0%; + opacity: 1; + } + 100% { + transform: scaleY(0.8); + transform-origin: 0% 0%; + opacity: 0; + } +} +@keyframes antSlideDownIn { + 0% { + transform: scaleY(0.8); + transform-origin: 100% 100%; + opacity: 0; + } + 100% { + transform: scaleY(1); + transform-origin: 100% 100%; + opacity: 1; + } +} +@keyframes antSlideDownOut { + 0% { + transform: scaleY(1); + transform-origin: 100% 100%; + opacity: 1; + } + 100% { + transform: scaleY(0.8); + transform-origin: 100% 100%; + opacity: 0; + } +} +@keyframes antSlideLeftIn { + 0% { + transform: scaleX(0.8); + transform-origin: 0% 0%; + opacity: 0; + } + 100% { + transform: scaleX(1); + transform-origin: 0% 0%; + opacity: 1; + } +} +@keyframes antSlideLeftOut { + 0% { + transform: scaleX(1); + transform-origin: 0% 0%; + opacity: 1; + } + 100% { + transform: scaleX(0.8); + transform-origin: 0% 0%; + opacity: 0; + } +} +@keyframes antSlideRightIn { + 0% { + transform: scaleX(0.8); + transform-origin: 100% 0%; + opacity: 0; + } + 100% { + transform: scaleX(1); + transform-origin: 100% 0%; + opacity: 1; + } +} +@keyframes antSlideRightOut { + 0% { + transform: scaleX(1); + transform-origin: 100% 0%; + opacity: 1; + } + 100% { + transform: scaleX(0.8); + transform-origin: 100% 0%; + opacity: 0; + } +} +.ant-zoom-enter, +.ant-zoom-appear { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-zoom-leave { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-zoom-enter.ant-zoom-enter-active, +.ant-zoom-appear.ant-zoom-appear-active { + animation-name: antZoomIn; + animation-play-state: running; +} +.ant-zoom-leave.ant-zoom-leave-active { + animation-name: antZoomOut; + animation-play-state: running; + pointer-events: none; +} +.ant-zoom-enter, +.ant-zoom-appear { + transform: scale(0); + opacity: 0; + animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); +} +.ant-zoom-enter-prepare, +.ant-zoom-appear-prepare { + transform: none; +} +.ant-zoom-leave { + animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86); +} +.ant-zoom-big-enter, +.ant-zoom-big-appear { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-zoom-big-leave { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-zoom-big-enter.ant-zoom-big-enter-active, +.ant-zoom-big-appear.ant-zoom-big-appear-active { + animation-name: antZoomBigIn; + animation-play-state: running; +} +.ant-zoom-big-leave.ant-zoom-big-leave-active { + animation-name: antZoomBigOut; + animation-play-state: running; + pointer-events: none; +} +.ant-zoom-big-enter, +.ant-zoom-big-appear { + transform: scale(0); + opacity: 0; + animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); +} +.ant-zoom-big-enter-prepare, +.ant-zoom-big-appear-prepare { + transform: none; +} +.ant-zoom-big-leave { + animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86); +} +.ant-zoom-big-fast-enter, +.ant-zoom-big-fast-appear { + animation-duration: 0.1s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-zoom-big-fast-leave { + animation-duration: 0.1s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-zoom-big-fast-enter.ant-zoom-big-fast-enter-active, +.ant-zoom-big-fast-appear.ant-zoom-big-fast-appear-active { + animation-name: antZoomBigIn; + animation-play-state: running; +} +.ant-zoom-big-fast-leave.ant-zoom-big-fast-leave-active { + animation-name: antZoomBigOut; + animation-play-state: running; + pointer-events: none; +} +.ant-zoom-big-fast-enter, +.ant-zoom-big-fast-appear { + transform: scale(0); + opacity: 0; + animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); +} +.ant-zoom-big-fast-enter-prepare, +.ant-zoom-big-fast-appear-prepare { + transform: none; +} +.ant-zoom-big-fast-leave { + animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86); +} +.ant-zoom-up-enter, +.ant-zoom-up-appear { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-zoom-up-leave { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-zoom-up-enter.ant-zoom-up-enter-active, +.ant-zoom-up-appear.ant-zoom-up-appear-active { + animation-name: antZoomUpIn; + animation-play-state: running; +} +.ant-zoom-up-leave.ant-zoom-up-leave-active { + animation-name: antZoomUpOut; + animation-play-state: running; + pointer-events: none; +} +.ant-zoom-up-enter, +.ant-zoom-up-appear { + transform: scale(0); + opacity: 0; + animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); +} +.ant-zoom-up-enter-prepare, +.ant-zoom-up-appear-prepare { + transform: none; +} +.ant-zoom-up-leave { + animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86); +} +.ant-zoom-down-enter, +.ant-zoom-down-appear { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-zoom-down-leave { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-zoom-down-enter.ant-zoom-down-enter-active, +.ant-zoom-down-appear.ant-zoom-down-appear-active { + animation-name: antZoomDownIn; + animation-play-state: running; +} +.ant-zoom-down-leave.ant-zoom-down-leave-active { + animation-name: antZoomDownOut; + animation-play-state: running; + pointer-events: none; +} +.ant-zoom-down-enter, +.ant-zoom-down-appear { + transform: scale(0); + opacity: 0; + animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); +} +.ant-zoom-down-enter-prepare, +.ant-zoom-down-appear-prepare { + transform: none; +} +.ant-zoom-down-leave { + animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86); +} +.ant-zoom-left-enter, +.ant-zoom-left-appear { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-zoom-left-leave { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-zoom-left-enter.ant-zoom-left-enter-active, +.ant-zoom-left-appear.ant-zoom-left-appear-active { + animation-name: antZoomLeftIn; + animation-play-state: running; +} +.ant-zoom-left-leave.ant-zoom-left-leave-active { + animation-name: antZoomLeftOut; + animation-play-state: running; + pointer-events: none; +} +.ant-zoom-left-enter, +.ant-zoom-left-appear { + transform: scale(0); + opacity: 0; + animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); +} +.ant-zoom-left-enter-prepare, +.ant-zoom-left-appear-prepare { + transform: none; +} +.ant-zoom-left-leave { + animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86); +} +.ant-zoom-right-enter, +.ant-zoom-right-appear { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-zoom-right-leave { + animation-duration: 0.2s; + animation-fill-mode: both; + animation-play-state: paused; +} +.ant-zoom-right-enter.ant-zoom-right-enter-active, +.ant-zoom-right-appear.ant-zoom-right-appear-active { + animation-name: antZoomRightIn; + animation-play-state: running; +} +.ant-zoom-right-leave.ant-zoom-right-leave-active { + animation-name: antZoomRightOut; + animation-play-state: running; + pointer-events: none; +} +.ant-zoom-right-enter, +.ant-zoom-right-appear { + transform: scale(0); + opacity: 0; + animation-timing-function: cubic-bezier(0.08, 0.82, 0.17, 1); +} +.ant-zoom-right-enter-prepare, +.ant-zoom-right-appear-prepare { + transform: none; +} +.ant-zoom-right-leave { + animation-timing-function: cubic-bezier(0.78, 0.14, 0.15, 0.86); +} +@keyframes antZoomIn { + 0% { + transform: scale(0.2); + opacity: 0; + } + 100% { + transform: scale(1); + opacity: 1; + } +} +@keyframes antZoomOut { + 0% { + transform: scale(1); + } + 100% { + transform: scale(0.2); + opacity: 0; + } +} +@keyframes antZoomBigIn { + 0% { + transform: scale(0.8); + opacity: 0; + } + 100% { + transform: scale(1); + opacity: 1; + } +} +@keyframes antZoomBigOut { + 0% { + transform: scale(1); + } + 100% { + transform: scale(0.8); + opacity: 0; + } +} +@keyframes antZoomUpIn { + 0% { + transform: scale(0.8); + transform-origin: 50% 0%; + opacity: 0; + } + 100% { + transform: scale(1); + transform-origin: 50% 0%; + } +} +@keyframes antZoomUpOut { + 0% { + transform: scale(1); + transform-origin: 50% 0%; + } + 100% { + transform: scale(0.8); + transform-origin: 50% 0%; + opacity: 0; + } +} +@keyframes antZoomLeftIn { + 0% { + transform: scale(0.8); + transform-origin: 0% 50%; + opacity: 0; + } + 100% { + transform: scale(1); + transform-origin: 0% 50%; + } +} +@keyframes antZoomLeftOut { + 0% { + transform: scale(1); + transform-origin: 0% 50%; + } + 100% { + transform: scale(0.8); + transform-origin: 0% 50%; + opacity: 0; + } +} +@keyframes antZoomRightIn { + 0% { + transform: scale(0.8); + transform-origin: 100% 50%; + opacity: 0; + } + 100% { + transform: scale(1); + transform-origin: 100% 50%; + } +} +@keyframes antZoomRightOut { + 0% { + transform: scale(1); + transform-origin: 100% 50%; + } + 100% { + transform: scale(0.8); + transform-origin: 100% 50%; + opacity: 0; + } +} +@keyframes antZoomDownIn { + 0% { + transform: scale(0.8); + transform-origin: 50% 100%; + opacity: 0; + } + 100% { + transform: scale(1); + transform-origin: 50% 100%; + } +} +@keyframes antZoomDownOut { + 0% { + transform: scale(1); + transform-origin: 50% 100%; + } + 100% { + transform: scale(0.8); + transform-origin: 50% 100%; + opacity: 0; + } +} +.ant-motion-collapse-legacy { + overflow: hidden; +} +.ant-motion-collapse-legacy-active { + transition: height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) !important; +} +.ant-motion-collapse { + overflow: hidden; + transition: height 0.2s cubic-bezier(0.645, 0.045, 0.355, 1), opacity 0.2s cubic-bezier(0.645, 0.045, 0.355, 1) !important; +} diff --git a/src/styles/index.d.ts b/src/styles/index.d.ts new file mode 100644 index 0000000..d74e52e --- /dev/null +++ b/src/styles/index.d.ts @@ -0,0 +1 @@ +import './index.less'; diff --git a/src/styles/index.js b/src/styles/index.js new file mode 100644 index 0000000..17665f8 --- /dev/null +++ b/src/styles/index.js @@ -0,0 +1 @@ +import './index.less'; \ No newline at end of file diff --git a/src/styles/index.less b/src/styles/index.less new file mode 100644 index 0000000..7882cea --- /dev/null +++ b/src/styles/index.less @@ -0,0 +1,3 @@ +@root-entry-name: default; + +@import './index-pure.less'; \ No newline at end of file diff --git a/src/styles/mixins/box.less b/src/styles/mixins/box.less new file mode 100644 index 0000000..4bd3ffa --- /dev/null +++ b/src/styles/mixins/box.less @@ -0,0 +1,7 @@ +.box(@position: absolute) { + position: @position; + top: 0; + right: 0; + bottom: 0; + left: 0; +} diff --git a/src/styles/mixins/clearfix.less b/src/styles/mixins/clearfix.less new file mode 100644 index 0000000..07e89f8 --- /dev/null +++ b/src/styles/mixins/clearfix.less @@ -0,0 +1,16 @@ +// mixins for clearfix +// ------------------------ +.clearfix() { + // https://github.com/ant-design/ant-design/issues/21301#issuecomment-583955229 + &::before { + display: table; + content: ''; + } + + &::after { + // https://github.com/ant-design/ant-design/issues/21864 + display: table; + clear: both; + content: ''; + } +} diff --git a/src/styles/mixins/compact-item-vertical.less b/src/styles/mixins/compact-item-vertical.less new file mode 100644 index 0000000..503b1f0 --- /dev/null +++ b/src/styles/mixins/compact-item-vertical.less @@ -0,0 +1,41 @@ +.compact-item-vertical-border-radius(@prefix-cls) { + &-item:not(&-first-item):not(&-last-item) { + border-radius: 0; + } + + &-item&-first-item:not(&-last-item) { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; + } + + &-item&-last-item:not(&-first-item) { + border-top-left-radius: 0; + border-top-right-radius: 0; + } +} + +.compact-item-vertical-border(@prefix-cls) { + // border collapse + &-item:not(&-last-item) { + margin-bottom: -@border-width-base; + } + + &-item { + &:hover, + &:focus, + &:active { + z-index: 2; + } + + &[disabled] { + z-index: 0; + } + } +} + +.compact-item-vertical(@prefix-cls) { + &-compact-vertical { + .compact-item-vertical-border(@prefix-cls); + .compact-item-vertical-border-radius(@prefix-cls); + } +} diff --git a/src/styles/mixins/compact-item.less b/src/styles/mixins/compact-item.less new file mode 100644 index 0000000..cb49027 --- /dev/null +++ b/src/styles/mixins/compact-item.less @@ -0,0 +1,133 @@ +.compact-item-border-radius(@prefix-cls, @bordered-item-cls: null) { + & when (@bordered-item-cls = null) { + // border-radius + &-item:not(&-first-item):not(&-last-item).@{prefix-cls} { + border-radius: 0; + } + + &-item.@{prefix-cls}&-first-item:not(&-last-item):not(&-item-rtl) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + + &-item.@{prefix-cls}&-last-item:not(&-first-item):not(&-item-rtl) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + + // ----------rtl for first item---------- + &-item.@{prefix-cls}&-item-rtl&-first-item:not(&-last-item) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + + // ----------rtl for last item---------- + &-item.@{prefix-cls}&-item-rtl&-last-item:not(&-first-item) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + } + + & when (not (@bordered-item-cls = null)) { + // border-radius + &-item:not(&-first-item):not(&-last-item).@{prefix-cls} > .@{bordered-item-cls} { + border-radius: 0; + } + + &-item&-first-item.@{prefix-cls}:not(&-last-item):not(&-item-rtl) > .@{bordered-item-cls} { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + + &-item&-last-item.@{prefix-cls}:not(&-first-item):not(&-item-rtl) > .@{bordered-item-cls} { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + + // ----------rtl for first item---------- + &-item.@{prefix-cls}&-first-item&-item-rtl:not(&-last-item) > .@{bordered-item-cls} { + border-top-left-radius: 0; + border-bottom-left-radius: 0; + } + + // ----------rtl for last item---------- + &-item.@{prefix-cls}&-last-item&-item-rtl:not(&-first-item) > .@{bordered-item-cls} { + border-top-right-radius: 0; + border-bottom-right-radius: 0; + } + } +} + +.compact-item-border(@prefix-cls, @bordered-item-cls: null, @special-open-cls) { + & when (@bordered-item-cls = null) { + // border collapse + &-item:not(&-last-item):not(&-item-rtl) { + margin-right: -@border-width-base; + } + + // rtl border collapse + &-item:not(&-last-item)&-item-rtl { + margin-left: -@border-width-base; + } + + &-item { + &:hover, + &:focus, + &:active { + z-index: 2; + } + + // Select has an extra focus className + & when (not (@special-item-cls = null)) { + &.@{special-item-cls} { + z-index: 2; + } + } + + &[disabled] { + z-index: 0; + } + } + } + + & when (not (@bordered-item-cls = null)) { + // border collapse + &-item:not(&-last-item) { + margin-right: -@border-width-base; + + &.@{prefix-cls}-compact-item-rtl { + margin-right: 0; + margin-left: -@border-width-base; + } + } + + &-item { + &:hover, + &:focus, + &:active { + > * { + z-index: 2; + } + } + + // Select has an special focus-item + & when (not (@special-item-cls = null)) { + &.@{special-item-cls} > * { + z-index: 2; + } + } + + &[disabled] > * { + z-index: 0; + } + } + } +} + +.compact-item(@prefix-cls, @bordered-item-cls: null, @special-item-cls: null) { + &-compact { + .compact-item-border(@prefix-cls, @bordered-item-cls, @special-item-cls); + + .compact-item-border-radius(@prefix-cls, @bordered-item-cls); + } +} diff --git a/src/styles/mixins/compatibility.less b/src/styles/mixins/compatibility.less new file mode 100644 index 0000000..9464a75 --- /dev/null +++ b/src/styles/mixins/compatibility.less @@ -0,0 +1,13 @@ +// Compatibility for browsers. + +// Placeholder text +.placeholder(@color: @input-placeholder-color) { + &::placeholder { + color: @color; + user-select: none; // https://github.com/ant-design/ant-design/pull/32639 + } + + &:placeholder-shown { + text-overflow: ellipsis; + } +} diff --git a/src/styles/mixins/customize.less b/src/styles/mixins/customize.less new file mode 100644 index 0000000..6f6fc18 --- /dev/null +++ b/src/styles/mixins/customize.less @@ -0,0 +1,181 @@ +// customize dark components background in popover containers(like Modal, Drawer, Card, Popover, Popconfirm, Notification, ...) +// for dark theme +.popover-customize-bg(@containerClass, @background: @popover-background, @prefix: @ant-prefix) + when + (@theme = dark) { + @picker-prefix-cls: ~'@{prefix}-picker'; + @slider-prefix-cls: ~'@{prefix}-slider'; + @anchor-prefix-cls: ~'@{prefix}-anchor'; + @collapse-prefix-cls: ~'@{prefix}-collapse'; + @tab-prefix-cls: ~'@{prefix}-tabs'; + @timeline-prefix-cls: ~'@{prefix}-timeline'; + @tree-prefix-cls: ~'@{prefix}-tree'; + @card-prefix-cls: ~'@{prefix}-card'; + @badge-prefix-cls: ~'@{prefix}-badge'; + @transfer-prefix-cls: ~'@{prefix}-transfer'; + @calendar-prefix-cls: ~'@{prefix}-picker-calendar'; + @calendar-picker-prefix-cls: ~'@{prefix}-picker'; + @table-prefix-cls: ~'@{prefix}-table'; + + @popover-border: @border-width-base @border-style-base @popover-customize-border-color; + + .@{containerClass} { + .@{picker-prefix-cls}-clear, + .@{slider-prefix-cls}-handle, + .@{anchor-prefix-cls}-wrapper, + .@{collapse-prefix-cls}-content, + .@{timeline-prefix-cls}-item-head, + .@{card-prefix-cls} { + background-color: @background; + } + + .@{transfer-prefix-cls} { + &-list { + &-header { + background: @background; + border-bottom: @popover-border; + } + &-content-item:not(.@{transfer-prefix-cls}-list-content-item-disabled):hover { + background-color: @item-hover-bg; + } + } + } + + tr.@{table-prefix-cls}-expanded-row { + &, + &:hover { + > td { + background: #272727; + } + } + } + .@{table-prefix-cls}.@{table-prefix-cls}-small { + thead { + > tr { + > th { + background-color: @background; + border-bottom: @popover-border; + } + } + } + } + .@{table-prefix-cls} { + background-color: @background; + .@{table-prefix-cls}-row-expand-icon { + border: @popover-border; + } + + tfoot { + > tr { + > th, + > td { + border-bottom: @popover-border; + } + } + } + + thead { + > tr { + > th { + background-color: #272727; + border-bottom: @popover-border; + } + } + } + + tbody { + > tr { + > td { + border-bottom: @popover-border; + &.@{table-prefix-cls}-cell-fix-left, + &.@{table-prefix-cls}-cell-fix-right { + background-color: @background; + } + } + &.@{table-prefix-cls}-row:hover { + > td { + background: @table-header-sort-active-bg; + } + } + } + } + &.@{table-prefix-cls}-bordered { + .@{table-prefix-cls}-title { + border: @popover-border; + } + + // ============================= Cell ============================= + thead > tr > th, + tbody > tr > td, + tfoot > tr > th, + tfoot > tr > td { + border-right: @popover-border; + } + + // Fixed right should provides additional border + .@{table-prefix-cls}-cell-fix-right-first::after { + border-right: @popover-border; + } + + // ============================ Header ============================ + table > { + thead { + > tr:not(:last-child) > th { + border-bottom: @border-width-base @border-style-base @border-color-split; + } + } + } + + // =========================== Content ============================ + .@{table-prefix-cls}-container { + border: @popover-border; + } + + // ========================== Expandable ========================== + .@{table-prefix-cls}-expanded-row-fixed { + &::after { + border-right: @popover-border; + } + } + + .@{table-prefix-cls}-footer { + border: @popover-border; + } + } + .@{table-prefix-cls}-filter-trigger-container-open { + background-color: #525252; + } + } + + .@{calendar-prefix-cls}-full { + background-color: @background; + .@{calendar-picker-prefix-cls}-panel { + background-color: @background; + .@{calendar-prefix-cls}-date { + border-top: 2px solid @popover-customize-border-color; + } + } + } + + .@{tab-prefix-cls} { + &.@{tab-prefix-cls}-card .@{tab-prefix-cls}-card-bar .@{tab-prefix-cls}-tab-active { + background-color: @background; + border-bottom: @border-width-base solid @background; + } + } + + .@{badge-prefix-cls} { + &-count { + box-shadow: 0 0 0 1px @background; + } + } + + .@{tree-prefix-cls} { + &-show-line { + .@{tree-prefix-cls}-switcher { + background: @background; + } + } + } + } +} diff --git a/src/styles/mixins/iconfont.less b/src/styles/mixins/iconfont.less new file mode 100644 index 0000000..aeb4e96 --- /dev/null +++ b/src/styles/mixins/iconfont.less @@ -0,0 +1,29 @@ +.iconfont-mixin() { + display: inline-flex; + align-items: center; + color: @icon-color; + font-style: normal; + line-height: 0; + text-align: center; + text-transform: none; + vertical-align: -0.125em; // for SVG icon, see https://blog.prototypr.io/align-svg-icons-to-text-and-say-goodbye-to-font-icons-d44b3d7b26b4 + text-rendering: optimizelegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + + > * { + line-height: 1; + } + + svg { + display: inline-block; + } + + &::before { + display: none; // dont display old icon. + } + + & &-icon { + display: block; + } +} diff --git a/src/styles/mixins/index.less b/src/styles/mixins/index.less new file mode 100644 index 0000000..5438846 --- /dev/null +++ b/src/styles/mixins/index.less @@ -0,0 +1,16 @@ +// Mixins +// -------------------------------------------------- +@import 'size'; +@import 'compatibility'; +@import 'clearfix'; +@import 'iconfont'; +@import 'typography'; +@import 'customize'; +@import 'box'; +@import 'modal-mask'; +@import 'motion'; +@import 'reset'; +@import 'operation-unit'; +@import 'rounded-arrow'; +@import 'compact-item'; +@import 'compact-item-vertical'; diff --git a/src/styles/mixins/modal-mask.less b/src/styles/mixins/modal-mask.less new file mode 100644 index 0000000..b406bc1 --- /dev/null +++ b/src/styles/mixins/modal-mask.less @@ -0,0 +1,30 @@ +@import 'box'; + +.modal-mask() { + pointer-events: none; + + &.@{ant-prefix}-zoom-enter, + &.@{ant-prefix}-zoom-appear { + transform: none; // reset scale avoid mousePosition bug + opacity: 0; + animation-duration: @animation-duration-slow; + user-select: none; // https://github.com/ant-design/ant-design/issues/11777 + } + + &-mask { + .box(fixed); + z-index: @zindex-modal-mask; + height: 100%; + background-color: @modal-mask-bg; + + &-hidden { + display: none; + } + } + + &-wrap { + .box(fixed); + overflow: auto; + outline: 0; + } +} diff --git a/src/styles/mixins/motion.less b/src/styles/mixins/motion.less new file mode 100644 index 0000000..1e15350 --- /dev/null +++ b/src/styles/mixins/motion.less @@ -0,0 +1,33 @@ +.motion-common(@duration: @animation-duration-base) { + animation-duration: @duration; + animation-fill-mode: both; +} + +.motion-common-leave(@duration: @animation-duration-base) { + animation-duration: @duration; + animation-fill-mode: both; +} + +.make-motion(@className, @keyframeName, @duration: @animation-duration-base) { + .@{className}-enter, + .@{className}-appear { + .motion-common(@duration); + + animation-play-state: paused; + } + .@{className}-leave { + .motion-common-leave(@duration); + + animation-play-state: paused; + } + .@{className}-enter.@{className}-enter-active, + .@{className}-appear.@{className}-appear-active { + animation-name: ~'@{keyframeName}In'; + animation-play-state: running; + } + .@{className}-leave.@{className}-leave-active { + animation-name: ~'@{keyframeName}Out'; + animation-play-state: running; + pointer-events: none; + } +} diff --git a/src/styles/mixins/operation-unit.less b/src/styles/mixins/operation-unit.less new file mode 100644 index 0000000..b695171 --- /dev/null +++ b/src/styles/mixins/operation-unit.less @@ -0,0 +1,15 @@ +.operation-unit() { + color: @link-color; + outline: none; + cursor: pointer; + transition: color 0.3s; + + &:focus-visible, + &:hover { + color: @link-hover-color; + } + + &:active { + color: @link-active-color; + } +} diff --git a/src/styles/mixins/reset.less b/src/styles/mixins/reset.less new file mode 100644 index 0000000..905c16e --- /dev/null +++ b/src/styles/mixins/reset.less @@ -0,0 +1,11 @@ +.reset-component() { + box-sizing: border-box; + margin: 0; + padding: 0; + color: @text-color; + font-size: @font-size-base; + font-variant: @font-variant-base; + line-height: @line-height-base; + list-style: none; + font-feature-settings: @font-feature-settings-base; +} diff --git a/src/styles/mixins/rounded-arrow.less b/src/styles/mixins/rounded-arrow.less new file mode 100644 index 0000000..1c82643 --- /dev/null +++ b/src/styles/mixins/rounded-arrow.less @@ -0,0 +1,44 @@ +.roundedArrow(@width, @outer-radius, @bg-color: var(--antd-arrow-background-color)) { + @corner-height: unit(((@outer-radius) * (1 - 1 / sqrt(2)))); + + @width-without-unit: unit(@width); + @outer-radius-without-unit: unit(@outer-radius); + @inner-radius-without-unit: unit(@arrow-border-radius); + + @a-x: @width-without-unit - @corner-height; + @a-y: 2 * @width-without-unit + @corner-height; + @b-x: @a-x + @outer-radius-without-unit * (1 / sqrt(2)); + @b-y: 2 * @width-without-unit; + @c-x: 2 * @width-without-unit - @inner-radius-without-unit; + @c-y: 2 * @width-without-unit; + @d-x: 2 * @width-without-unit; + @d-y: 2 * @width-without-unit - @inner-radius-without-unit; + @e-x: 2 * @width-without-unit; + @e-y: @f-y + @outer-radius-without-unit * (1 / sqrt(2)); + @f-x: 2 * @width-without-unit + @corner-height; + @f-y: @width-without-unit - @corner-height; + @g-x: @f-x - 1; + @g-y: @f-y; + @h-x: @a-x; + @h-y: @a-y - 1; + + border-radius: 0 0 @arrow-border-radius; + pointer-events: none; + + &::before { + position: absolute; + top: -@width; + left: -@width; + width: @width * 3; + height: @width * 3; + background: @bg-color; + // Hack firefox: https://github.com/ant-design/ant-design/pull/33710#issuecomment-1015287825 + background-repeat: no-repeat; + background-position: ceil(-@width + 1px) ceil(-@width + 1px); + content: ''; + clip-path: inset(33% 33%); // For browsers that do not support path() + clip-path: path( + 'M @{a-x} @{a-y} A @{outer-radius-without-unit} @{outer-radius-without-unit} 0 0 1 @{b-x} @{b-y} L @{c-x} @{c-y} A @{inner-radius-without-unit} @{inner-radius-without-unit} 0 0 0 @{d-x} @{d-y} L @{e-x} @{e-y} A @{outer-radius-without-unit} @{outer-radius-without-unit} 0 0 1 @{f-x} @{f-y} L @{g-x} @{g-y} L @{h-x} @{h-y} Z' + ); + } +} diff --git a/src/styles/mixins/size.less b/src/styles/mixins/size.less new file mode 100644 index 0000000..a8be650 --- /dev/null +++ b/src/styles/mixins/size.less @@ -0,0 +1,10 @@ +// Sizing shortcuts + +.size(@width; @height) { + width: @width; + height: @height; +} + +.square(@size) { + .size(@size; @size); +} diff --git a/src/styles/mixins/typography.less b/src/styles/mixins/typography.less new file mode 100644 index 0000000..71a4d39 --- /dev/null +++ b/src/styles/mixins/typography.less @@ -0,0 +1,58 @@ +// =============== Common =============== +.typography-paragraph() { + margin-bottom: 1em; +} + +.typography-title(@fontSize; @fontWeight; @lineHeight; @headingColor; @headingMarginBottom;) { + margin-bottom: @headingMarginBottom; + color: @headingColor; + font-weight: @fontWeight; + font-size: @fontSize; + line-height: @lineHeight; +} + +.typography-title-1() { + .typography-title( + @heading-1-size, + @typography-title-font-weight, + 1.23, + @heading-color, + @typography-title-margin-bottom + ); +} +.typography-title-2() { + .typography-title( + @heading-2-size, + @typography-title-font-weight, + 1.35, + @heading-color, + @typography-title-margin-bottom + ); +} +.typography-title-3() { + .typography-title( + @heading-3-size, + @typography-title-font-weight, + 1.35, + @heading-color, + @typography-title-margin-bottom + ); +} +.typography-title-4() { + .typography-title( + @heading-4-size, + @typography-title-font-weight, + 1.4, + @heading-color, + @typography-title-margin-bottom + ); +} +.typography-title-5() { + .typography-title( + @heading-5-size, + @typography-title-font-weight, + 1.5, + @heading-color, + @typography-title-margin-bottom + ); +} diff --git a/src/styles/themes/compact.less b/src/styles/themes/compact.less new file mode 100644 index 0000000..bd0b01d --- /dev/null +++ b/src/styles/themes/compact.less @@ -0,0 +1,295 @@ +@import './default.less'; + +@line-height-base: 1.66667; +@mode: compact; +@font-size-base: 12px; +@font-size-lg: @font-size-base + 2px; + +// default paddings +@default-padding-lg: 24px; // containers +@default-padding-md: 16px; // small containers and buttons +@default-padding-sm: 12px; // Form controls and items +@default-padding-xs: 8px; // small items +@default-padding-xss: 4px; // more small + +// vertical paddings +@padding-lg: 16px; // containers +@padding-md: 8px; // small containers and buttons +@padding-sm: 8px; // Form controls and items +@padding-xs: 4px; // small items +@padding-xss: 0px; // more small + +// vertical padding for all form controls +@control-padding-horizontal: @padding-sm; +@control-padding-horizontal-sm: @default-padding-xs; + +// vertical margins +@margin-lg: 16px; // containers +@margin-md: 8px; // small containers and buttons +@margin-sm: 8px; // Form controls and items +@margin-xs: 4px; // small items +@margin-xss: 0px; // more small + +// height rules +@height-base: 28px; +@height-lg: 32px; +@height-sm: 22px; + +// Button +// --- +@btn-padding-horizontal-base: @default-padding-sm - 1px; +@btn-padding-horizontal-lg: @btn-padding-horizontal-base; +@btn-padding-horizontal-sm: @default-padding-xs - 1px; +@btn-square-only-icon-size-lg: 16px; +@btn-square-only-icon-size: 14px; +@btn-square-only-icon-size-sm: 12px; + +// Breadcrumb +// --- +@breadcrumb-font-size: @font-size-base; +@breadcrumb-icon-font-size: @font-size-base; + +//Dropdown +@dropdown-line-height: 18px; + +// Menu +@menu-item-padding-horizontal: 12px; +@menu-horizontal-line-height: 38px; +@menu-inline-toplevel-item-height: 32px; +@menu-item-height: 32px; +@menu-item-vertical-margin: 0px; +@menu-item-boundary-margin: 0px; +@menu-icon-margin-right: 8px; + +// Checkbox +@checkbox-size: 14px; +@checkbox-group-item-margin-right: 6px; + +// picker +@picker-panel-cell-height: 22px; +@picker-panel-cell-width: 32px; +@picker-text-height: 32px; +@picker-time-panel-cell-height: 24px; +@picker-panel-without-time-cell-height: 48px; + +// Form +// --- +@form-item-margin-bottom: 16px; +@form-vertical-label-padding: 0 0 4px; + +// Rate +// --- +@rate-star-size: 16px; + +// Radio +// --- +@radio-size: 14px; +@radio-wrapper-margin-right: 6px; + +// Switch +// --- +@switch-height: 20px; +@switch-sm-height: 14px; +@switch-min-width: 40px; +@switch-sm-min-width: 24px; +@switch-inner-margin-min: 4px; +@switch-inner-margin-max: 22px; + +// Slider +// --- +@slider-handle-size: 12px; +@slider-handle-margin-top: -4px; + +// Input +// --- +@input-padding-vertical-base: round( + max( + (round(((@input-height-base - @font-size-base * @line-height-base) / 2) * 10) / 10) - + @border-width-base, + 2px + ) +); +@input-padding-horizontal-lg: 11px; + +// PageHeader +// --- +@page-header-padding: 16px; +@page-header-padding-vertical: 8px; +@page-header-heading-title: 16px; +@page-header-heading-sub-title: 12px; +@page-header-tabs-tab-font-size: 14px; + +// Pagination +// --- +@pagination-mini-options-size-changer-top: 1px; +@pagination-item-size-sm: 22px; + +// Cascader +// ---- +@cascader-dropdown-line-height: @dropdown-line-height; + +// Select +// --- +@select-dropdown-height: @height-base; +@select-single-item-height-lg: 32px; +@select-multiple-item-height: @input-height-base - max(@input-padding-vertical-base, 4) * 2; // Normal 24px +@select-multiple-item-height-lg: 24px; +@select-multiple-item-spacing-half: 3px; + +// Tree +// --- +@tree-title-height: 20px; + +// Transfer +// --- +@transfer-item-padding-vertical: 3px; +@transfer-list-search-icon-top: 8px; +@transfer-header-height: 36px; + +// Comment +// --- +@comment-actions-margin-bottom: 0px; +@comment-actions-margin-top: @margin-xs; +@comment-content-detail-p-margin-bottom: 0px; + +// Steps +// --- +@steps-icon-size: 24px; +@steps-icon-custom-size: 20px; +@steps-icon-custom-font-size: 20px; +@steps-icon-custom-top: 2px; +@steps-icon-margin: 2px 8px 2px 0; +@steps-icon-font-size: @font-size-base; +@steps-dot-top: 4px; +@steps-icon-top: 0px; +@steps-small-icon-size: 20px; +@steps-vertical-icon-width: 12px; +@steps-vertical-tail-width: 12px; +@steps-vertical-tail-width-sm: 10px; +// Collapse +// --- +//@collapse-header-padding-extra: 32px; +@collapse-content-padding: @padding-md @padding-lg; + +// List +// --- +@list-item-meta-description-font-size: @font-size-sm; +@list-item-padding-sm: 4px 12px; +@list-item-padding-lg: 12px 16px; + +// Drawer +// --- +@drawer-header-padding: 11px @padding-lg; +@drawer-footer-padding-vertical: @padding-sm; +@drawer-footer-padding-horizontal: @padding-sm; +@drawer-header-close-size: 44px; + +// Modal +// -- +@modal-header-padding-vertical: 11px; +@modal-header-padding: @modal-header-padding-vertical @modal-header-padding-horizontal; +@modal-footer-padding-vertical: @padding-sm; +@modal-header-close-size: @modal-header-title-line-height + 2 * @modal-header-padding-vertical; +@modal-confirm-body-padding: 24px 24px 16px; + +// Message +// --- +@message-notice-content-padding: 8px 16px; + +// popover +// -- +@popover-min-height: 28px; +@popover-padding-horizontal: @default-padding-sm; + +// Card +// --- +@card-head-height: 36px; +@card-head-font-size: @card-head-font-size-sm; +@card-head-padding: 8.5px; +@card-padding-base: 12px; +@card-padding-base-sm: @card-padding-base; +@card-head-height-sm: 30px; +@card-head-padding-sm: 6px; +@card-actions-li-margin: 4px 0; +@card-head-tabs-margin-bottom: -9px; + +// Table +// --- +@table-padding-vertical: 12px; +@table-padding-horizontal: 8px; +@table-padding-vertical-md: 8px; +@table-padding-horizontal-md: 8px; +@table-padding-vertical-sm: 4px; +@table-padding-horizontal-sm: 4px; +@table-selection-column-width: 32px; + +// Statistic +// --- +@statistic-content-font-size: 20px; + +// Alert +// --- +@alert-with-description-no-icon-padding-vertical: 7px; +@alert-with-description-padding-vertical: 11px; +@alert-icon-top: 7px + @font-size-base * (@line-height-base / 2) - (@font-size-base / 2); +@alert-with-description-icon-size: 20px; + +// Skeleton +// --- +@skeleton-paragraph-margin-top: 20px; +@skeleton-paragraph-li-margin-top: 12px; +@skeleton-paragraph-li-height: 14px; +@skeleton-title-height: 14px; +@skeleton-title-paragraph-margin-top: 20px; + +// Descriptions +@descriptions-title-margin-bottom: 8px; +@descriptions-default-padding: 12px @padding-lg; +@descriptions-item-padding-bottom: @padding-xs; + +// Avatar +// --- +@avatar-size-base: 28px; +@avatar-size-lg: 32px; +@avatar-size-sm: 22px; +@avatar-font-size-base: 16px; +@avatar-font-size-lg: 20px; +@avatar-font-size-sm: 12px; + +// Badge +// --- +@badge-height: 18px; + +// Tag +// --- +@tag-line-height: 18px; + +// Notification +// --- +@notification-padding-vertical: 12px; +@notification-padding-horizontal: 16px; + +// Result +// --- +@result-title-font-size: 20px; +@result-icon-font-size: 64px; +@result-extra-margin: 24px 0 0 0; + +// Anchor +// --- +@anchor-link-top: 4px; +@anchor-link-left: 16px; +@anchor-link-padding: @anchor-link-top 0 @anchor-link-top @anchor-link-left; + +// Tabs +// --- +@tabs-card-horizontal-padding: 4px @padding-md; + +// Progress +// --- +@progress-circle-text-font-size: 0.833333em; + +// Image +// --- +@image-size-base: 48px; +@image-font-size-base: 24px; diff --git a/src/styles/themes/dark.less b/src/styles/themes/dark.less new file mode 100644 index 0000000..4cfda90 --- /dev/null +++ b/src/styles/themes/dark.less @@ -0,0 +1,457 @@ +@import './default.less'; + +@theme: dark; +// color palettes +@blue-1: mix(color(~`colorPalette('@{blue-base}', 8) `), @component-background, 15%); +@blue-2: mix(color(~`colorPalette('@{blue-base}', 7) `), @component-background, 25%); +@blue-3: mix(@blue-base, @component-background, 30%); +@blue-4: mix(@blue-base, @component-background, 45%); +@blue-5: mix(@blue-base, @component-background, 65%); +@blue-6: mix(@blue-base, @component-background, 85%); +@blue-7: mix(color(~`colorPalette('@{blue-base}', 5) `), @component-background, 90%); +@blue-8: mix(color(~`colorPalette('@{blue-base}', 4) `), @component-background, 95%); +@blue-9: mix(color(~`colorPalette('@{blue-base}', 3) `), @component-background, 97%); +@blue-10: mix(color(~`colorPalette('@{blue-base}', 2) `), @component-background, 98%); + +@purple-1: mix(color(~`colorPalette('@{purple-base}', 8) `), @component-background, 15%); +@purple-2: mix(color(~`colorPalette('@{purple-base}', 7) `), @component-background, 25%); +@purple-3: mix(@purple-base, @component-background, 30%); +@purple-4: mix(@purple-base, @component-background, 45%); +@purple-5: mix(@purple-base, @component-background, 65%); +@purple-6: mix(@purple-base, @component-background, 85%); +@purple-7: mix(color(~`colorPalette('@{purple-base}', 5) `), @component-background, 90%); +@purple-8: mix(color(~`colorPalette('@{purple-base}', 4) `), @component-background, 95%); +@purple-9: mix(color(~`colorPalette('@{purple-base}', 3) `), @component-background, 97%); +@purple-10: mix(color(~`colorPalette('@{purple-base}', 2) `), @component-background, 98%); + +@cyan-1: mix(color(~`colorPalette('@{cyan-base}', 8) `), @component-background, 15%); +@cyan-2: mix(color(~`colorPalette('@{cyan-base}', 7) `), @component-background, 25%); +@cyan-3: mix(@cyan-base, @component-background, 30%); +@cyan-4: mix(@cyan-base, @component-background, 45%); +@cyan-5: mix(@cyan-base, @component-background, 65%); +@cyan-6: mix(@cyan-base, @component-background, 85%); +@cyan-7: mix(color(~`colorPalette('@{cyan-base}', 5) `), @component-background, 90%); +@cyan-8: mix(color(~`colorPalette('@{cyan-base}', 4) `), @component-background, 95%); +@cyan-9: mix(color(~`colorPalette('@{cyan-base}', 3) `), @component-background, 97%); +@cyan-10: mix(color(~`colorPalette('@{cyan-base}', 2) `), @component-background, 98%); + +@green-1: mix(color(~`colorPalette('@{green-base}', 8) `), @component-background, 15%); +@green-2: mix(color(~`colorPalette('@{green-base}', 7) `), @component-background, 25%); +@green-3: mix(@green-base, @component-background, 30%); +@green-4: mix(@green-base, @component-background, 45%); +@green-5: mix(@green-base, @component-background, 65%); +@green-6: mix(@green-base, @component-background, 85%); +@green-7: mix(color(~`colorPalette('@{green-base}', 5) `), @component-background, 90%); +@green-8: mix(color(~`colorPalette('@{green-base}', 4) `), @component-background, 95%); +@green-9: mix(color(~`colorPalette('@{green-base}', 3) `), @component-background, 97%); +@green-10: mix(color(~`colorPalette('@{green-base}', 2) `), @component-background, 98%); + +@magenta-1: mix(color(~`colorPalette('@{magenta-base}', 8) `), @component-background, 15%); +@magenta-2: mix(color(~`colorPalette('@{magenta-base}', 7) `), @component-background, 25%); +@magenta-3: mix(@magenta-base, @component-background, 30%); +@magenta-4: mix(@magenta-base, @component-background, 45%); +@magenta-5: mix(@magenta-base, @component-background, 65%); +@magenta-6: mix(@magenta-base, @component-background, 85%); +@magenta-7: mix(color(~`colorPalette('@{magenta-base}', 5) `), @component-background, 90%); +@magenta-8: mix(color(~`colorPalette('@{magenta-base}', 4) `), @component-background, 95%); +@magenta-9: mix(color(~`colorPalette('@{magenta-base}', 3) `), @component-background, 97%); +@magenta-10: mix(color(~`colorPalette('@{magenta-base}', 2) `), @component-background, 98%); + +@pink-1: mix(color(~`colorPalette('@{pink-base}', 8) `), @component-background, 15%); +@pink-2: mix(color(~`colorPalette('@{pink-base}', 7) `), @component-background, 25%); +@pink-3: mix(@pink-base, @component-background, 30%); +@pink-4: mix(@pink-base, @component-background, 45%); +@pink-5: mix(@pink-base, @component-background, 65%); +@pink-6: mix(@pink-base, @component-background, 85%); +@pink-7: mix(color(~`colorPalette('@{pink-base}', 5) `), @component-background, 90%); +@pink-8: mix(color(~`colorPalette('@{pink-base}', 4) `), @component-background, 95%); +@pink-9: mix(color(~`colorPalette('@{pink-base}', 3) `), @component-background, 97%); +@pink-10: mix(color(~`colorPalette('@{pink-base}', 2) `), @component-background, 98%); + +@red-1: mix(color(~`colorPalette('@{red-base}', 8) `), @component-background, 15%); +@red-2: mix(color(~`colorPalette('@{red-base}', 7) `), @component-background, 25%); +@red-3: mix(@red-base, @component-background, 30%); +@red-4: mix(@red-base, @component-background, 45%); +@red-5: mix(@red-base, @component-background, 65%); +@red-6: mix(@red-base, @component-background, 85%); +@red-7: mix(color(~`colorPalette('@{red-base}', 5) `), @component-background, 90%); +@red-8: mix(color(~`colorPalette('@{red-base}', 4) `), @component-background, 95%); +@red-9: mix(color(~`colorPalette('@{red-base}', 3) `), @component-background, 97%); +@red-10: mix(color(~`colorPalette('@{red-base}', 2) `), @component-background, 98%); + +@orange-1: mix(color(~`colorPalette('@{orange-base}', 8) `), @component-background, 15%); +@orange-2: mix(color(~`colorPalette('@{orange-base}', 7) `), @component-background, 25%); +@orange-3: mix(@orange-base, @component-background, 30%); +@orange-4: mix(@orange-base, @component-background, 45%); +@orange-5: mix(@orange-base, @component-background, 65%); +@orange-6: mix(@orange-base, @component-background, 85%); +@orange-7: mix(color(~`colorPalette('@{orange-base}', 5) `), @component-background, 90%); +@orange-8: mix(color(~`colorPalette('@{orange-base}', 4) `), @component-background, 95%); +@orange-9: mix(color(~`colorPalette('@{orange-base}', 3) `), @component-background, 97%); +@orange-10: mix(color(~`colorPalette('@{orange-base}', 2) `), @component-background, 98%); + +@yellow-1: mix(color(~`colorPalette('@{yellow-base}', 8) `), @component-background, 15%); +@yellow-2: mix(color(~`colorPalette('@{yellow-base}', 7) `), @component-background, 25%); +@yellow-3: mix(@yellow-base, @component-background, 30%); +@yellow-4: mix(@yellow-base, @component-background, 45%); +@yellow-5: mix(@yellow-base, @component-background, 65%); +@yellow-6: mix(@yellow-base, @component-background, 85%); +@yellow-7: mix(color(~`colorPalette('@{yellow-base}', 5) `), @component-background, 90%); +@yellow-8: mix(color(~`colorPalette('@{yellow-base}', 4) `), @component-background, 95%); +@yellow-9: mix(color(~`colorPalette('@{yellow-base}', 3) `), @component-background, 97%); +@yellow-10: mix(color(~`colorPalette('@{yellow-base}', 2) `), @component-background, 98%); + +@volcano-1: mix(color(~`colorPalette('@{volcano-base}', 8) `), @component-background, 15%); +@volcano-2: mix(color(~`colorPalette('@{volcano-base}', 7) `), @component-background, 25%); +@volcano-3: mix(@volcano-base, @component-background, 30%); +@volcano-4: mix(@volcano-base, @component-background, 45%); +@volcano-5: mix(@volcano-base, @component-background, 65%); +@volcano-6: mix(@volcano-base, @component-background, 85%); +@volcano-7: mix(color(~`colorPalette('@{volcano-base}', 5) `), @component-background, 90%); +@volcano-8: mix(color(~`colorPalette('@{volcano-base}', 4) `), @component-background, 95%); +@volcano-9: mix(color(~`colorPalette('@{volcano-base}', 3) `), @component-background, 97%); +@volcano-10: mix(color(~`colorPalette('@{volcano-base}', 2) `), @component-background, 98%); + +@geekblue-1: mix(color(~`colorPalette('@{geekblue-base}', 8) `), @component-background, 15%); +@geekblue-2: mix(color(~`colorPalette('@{geekblue-base}', 7) `), @component-background, 25%); +@geekblue-3: mix(@geekblue-base, @component-background, 30%); +@geekblue-4: mix(@geekblue-base, @component-background, 45%); +@geekblue-5: mix(@geekblue-base, @component-background, 65%); +@geekblue-6: mix(@geekblue-base, @component-background, 85%); +@geekblue-7: mix(color(~`colorPalette('@{geekblue-base}', 5) `), @component-background, 90%); +@geekblue-8: mix(color(~`colorPalette('@{geekblue-base}', 4) `), @component-background, 95%); +@geekblue-9: mix(color(~`colorPalette('@{geekblue-base}', 3) `), @component-background, 97%); +@geekblue-10: mix(color(~`colorPalette('@{geekblue-base}', 2) `), @component-background, 98%); + +@lime-1: mix(color(~`colorPalette('@{lime-base}', 8) `), @component-background, 15%); +@lime-2: mix(color(~`colorPalette('@{lime-base}', 7) `), @component-background, 25%); +@lime-3: mix(@lime-base, @component-background, 30%); +@lime-4: mix(@lime-base, @component-background, 45%); +@lime-5: mix(@lime-base, @component-background, 65%); +@lime-6: mix(@lime-base, @component-background, 85%); +@lime-7: mix(color(~`colorPalette('@{lime-base}', 5) `), @component-background, 90%); +@lime-8: mix(color(~`colorPalette('@{lime-base}', 4) `), @component-background, 95%); +@lime-9: mix(color(~`colorPalette('@{lime-base}', 3) `), @component-background, 97%); +@lime-10: mix(color(~`colorPalette('@{lime-base}', 2) `), @component-background, 98%); + +@gold-1: mix(color(~`colorPalette('@{gold-base}', 8) `), @component-background, 15%); +@gold-2: mix(color(~`colorPalette('@{gold-base}', 7) `), @component-background, 25%); +@gold-3: mix(@gold-base, @component-background, 30%); +@gold-4: mix(@gold-base, @component-background, 45%); +@gold-5: mix(@gold-base, @component-background, 65%); +@gold-6: mix(@gold-base, @component-background, 85%); +@gold-7: mix(color(~`colorPalette('@{gold-base}', 5) `), @component-background, 90%); +@gold-8: mix(color(~`colorPalette('@{gold-base}', 4) `), @component-background, 95%); +@gold-9: mix(color(~`colorPalette('@{gold-base}', 3) `), @component-background, 97%); +@gold-10: mix(color(~`colorPalette('@{gold-base}', 2) `), @component-background, 98%); + +// Color used by default to control hover and active backgrounds and for +// alert info backgrounds. +@primary-1: mix(color(~`colorPalette('@{primary-color}', 8) `), @component-background, 15%); +@primary-2: mix(color(~`colorPalette('@{primary-color}', 7) `), @component-background, 25%); +@primary-3: mix(@primary-color, @component-background, 30%); +@primary-4: mix(@primary-color, @component-background, 45%); +@primary-5: mix(@primary-color, @component-background, 65%); +@primary-6: @primary-color; +@primary-7: mix(color(~`colorPalette('@{primary-color}', 5) `), @component-background, 90%); +@primary-8: mix(color(~`colorPalette('@{primary-color}', 4) `), @component-background, 95%); +@primary-9: mix(color(~`colorPalette('@{primary-color}', 3) `), @component-background, 97%); +@primary-10: mix(color(~`colorPalette('@{primary-color}', 2) `), @component-background, 98%); + +// Layer background +@popover-background: #1f1f1f; +@popover-customize-border-color: #3a3a3a; +@body-background: @black; +@component-background: #141414; + +@text-color: fade(@white, 85%); +@text-color-secondary: fade(@white, 45%); +@text-color-inverse: @white; +@icon-color-hover: fade(@white, 75%); +@heading-color: fade(@white, 85%); + +// The background colors for active and hover states for things like +// list items or table cells. +@item-active-bg: @primary-1; +@item-hover-bg: fade(@white, 8%); + +// Border color +@border-color-base: #434343; // base border outline a component +@border-color-split: #303030; // split border inside a component + +@background-color-light: fade(@white, 4%); // background of header and selected item +@background-color-base: fade(@white, 8%); // Default grey background color + +// Disabled states +@disabled-color: fade(@white, 30%); +@disabled-bg: @background-color-base; +@disabled-color-dark: fade(@white, 30%); + +// Tree +// --- +@tree-bg: transparent; + +// List +// --- +@list-customize-card-bg: transparent; + +// Shadow +// --- +@shadow-color: rgba(0, 0, 0, 0.45); +@shadow-color-inverse: @component-background; +@box-shadow-base: @shadow-2; +@shadow-1-up: 0 -6px 16px -8px rgba(0, 0, 0, 0.32), 0 -9px 28px 0 rgba(0, 0, 0, 0.2), + 0 -12px 48px 16px rgba(0, 0, 0, 0.12); +@shadow-1-down: 0 6px 16px -8px rgba(0, 0, 0, 0.32), 0 9px 28px 0 rgba(0, 0, 0, 0.2), + 0 12px 48px 16px rgba(0, 0, 0, 0.12); +@shadow-1-right: 6px 0 16px -8px rgba(0, 0, 0, 0.32), 9px 0 28px 0 rgba(0, 0, 0, 0.2), + 12px 0 48px 16px rgba(0, 0, 0, 0.12); +@shadow-2: 0 3px 6px -4px rgba(0, 0, 0, 0.48), 0 6px 16px 0 rgba(0, 0, 0, 0.32), + 0 9px 28px 8px rgba(0, 0, 0, 0.2); + +// Buttons +// --- +@btn-shadow: 0 2px 0 rgba(0, 0, 0, 0.015); +@btn-primary-shadow: 0 2px 0 rgba(0, 0, 0, 0.045); +@btn-text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.12); + +@btn-default-bg: transparent; + +@btn-default-ghost-color: @text-color; +@btn-default-ghost-border: fade(@white, 25%); + +@btn-text-hover-bg: rgba(255, 255, 255, 0.03); + +// Checkbox +// --- +@checkbox-check-bg: transparent; + +// Descriptions +// --- +@descriptions-bg: @background-color-light; + +// Divider +// --- +@divider-color: rgba(255, 255, 255, 12%); + +// Modal +// --- +@modal-header-bg: @popover-background; +@modal-header-border-color-split: @border-color-split; +@modal-content-bg: @popover-background; +@modal-footer-border-color-split: @border-color-split; + +// Radio +// --- +@radio-solid-checked-color: @white; +@radio-dot-disabled-color: fade(@white, 20%); + +// Radio buttons +// --- +@radio-disabled-button-checked-bg: fade(@white, 20%); +@radio-disabled-button-checked-color: @disabled-color; + +// Layout +// --- +@layout-body-background: @body-background; +@layout-header-background: @popover-background; +@layout-trigger-background: #262626; + +// Input +// --- +@input-bg: transparent; +@input-placeholder-color: fade(@white, 30%); +@input-icon-color: fade(@white, 30%); +@input-number-handler-active-bg: @item-hover-bg; +@input-icon-hover-color: fade(@white, 85%); + +// Select +// --- +@select-background: transparent; +@select-dropdown-bg: @popover-background; +@select-clear-background: @component-background; +@select-selection-item-bg: fade(@white, 8); +@select-selection-item-border-color: @border-color-split; +@select-multiple-disabled-background: @component-background; +@select-multiple-item-disabled-color: #595959; +@select-multiple-item-disabled-border-color: @popover-background; + +// Cascader +// --- +@cascader-bg: transparent; +@cascader-menu-bg: @popover-background; +@cascader-menu-border-color-split: @border-color-split; + +// Tooltip +// --- +// Tooltip background color +@tooltip-bg: #434343; + +// Menu +// --- +// dark theme +@menu-dark-inline-submenu-bg: @component-background; +@menu-dark-bg: @popover-background; +@menu-popup-bg: @popover-background; + +// Message +// --- +@message-notice-content-bg: @popover-background; + +// Notification +@notification-bg: @popover-background; + +// LINK +@link-hover-color: @primary-5; +@link-active-color: @primary-7; + +// Table +// -- +@table-header-bg: #1d1d1d; +@table-body-sort-bg: fade(@white, 1%); +@table-row-hover-bg: #262626; +@table-header-cell-split-color: fade(@white, 8%); +@table-header-sort-bg: #262626; +@table-header-filter-active-bg: #434343; +@table-header-sort-active-bg: #303030; +@table-fixed-header-sort-active-bg: #222; +@table-filter-btns-bg: @popover-background; +@table-expanded-row-bg: @table-header-bg; +@table-filter-dropdown-bg: @popover-background; +@table-expand-icon-bg: transparent; + +// Tag +// --- +@info-color-deprecated-bg: @primary-1; +@info-color-deprecated-border: @primary-3; +@success-color-deprecated-bg: @green-1; +@success-color-deprecated-border: @green-3; +@warning-color-deprecated-bg: @orange-1; +@warning-color-deprecated-border: @orange-3; +@error-color-deprecated-bg: @red-1; +@error-color-deprecated-border: @red-3; + +// TimePicker +// --- +@picker-basic-cell-hover-with-range-color: darken(@primary-color, 35%); +@picker-basic-cell-disabled-bg: #303030; +@picker-border-color: @border-color-split; +@picker-bg: transparent; +@picker-date-hover-range-border-color: darken(@primary-color, 20%); + +// Dropdown +// --- +@dropdown-menu-bg: @popover-background; +@dropdown-menu-submenu-disabled-bg: transparent; + +// Steps +// --- +@steps-nav-arrow-color: fade(@white, 20%); +@steps-background: transparent; + +// Avatar +// --- +@avatar-bg: fade(@white, 30%); + +// Progress +// --- +@progress-steps-item-bg: fade(@white, 8%); + +// Calendar +// --- +@calendar-bg: @popover-background; +@calendar-input-bg: @calendar-bg; +@calendar-border-color: transparent; +@calendar-full-bg: @component-background; + +// Badge +// --- +@badge-text-color: @white; + +// Popover +@popover-bg: @popover-background; + +// Drawer +@drawer-bg: @popover-background; + +// Card +// --- +@card-actions-background: @component-background; +@card-skeleton-bg: #303030; +@card-shadow: 0 1px 2px -2px rgba(0, 0, 0, 0.64), 0 3px 6px 0 rgba(0, 0, 0, 0.48), + 0 5px 12px 4px rgba(0, 0, 0, 0.36); + +// Transfer +// --- +@transfer-item-hover-bg: #262626; + +// Comment +// --- +@comment-bg: transparent; +@comment-author-time-color: fade(@white, 30%); +@comment-action-hover-color: fade(@white, 65%); + +// Rate +// --- +@rate-star-bg: fade(@white, 12%); + +// Switch +// --- +@switch-bg: @white; + +// Pagination +// --- +@pagination-item-bg: transparent; +@pagination-item-bg-active: transparent; +@pagination-item-link-bg: transparent; +@pagination-item-disabled-bg-active: fade(@white, 25%); +@pagination-item-disabled-color-active: @black; +@pagination-item-input-bg: @pagination-item-bg; + +// PageHeader +// --- +@page-header-back-color: @icon-color; +@page-header-ghost-bg: transparent; + +// Slider +// --- +@slider-rail-background-color: #262626; +@slider-rail-background-color-hover: @border-color-base; +@slider-dot-border-color: @border-color-split; +@slider-dot-border-color-active: @primary-4; + +// Skeleton +// --- +@skeleton-to-color: fade(@white, 16%); + +// Alert +// --- +@alert-success-border-color: @green-3; +@alert-success-bg-color: @green-1; +@alert-success-icon-color: @success-color; +@alert-info-border-color: @primary-3; +@alert-info-bg-color: @primary-1; +@alert-info-icon-color: @info-color; +@alert-warning-border-color: @gold-3; +@alert-warning-bg-color: @gold-1; +@alert-warning-icon-color: @warning-color; +@alert-error-border-color: @red-3; +@alert-error-bg-color: @red-1; +@alert-error-icon-color: @error-color; + +// Timeline +// --- +@timeline-color: @border-color-split; +@timeline-dot-color: @primary-color; + +// Mentions +// --- +@mentions-dropdown-bg: @popover-background; + +// Segmented +// --- +@segmented-bg: fade(@black, 25%); +@segmented-hover-bg: fade(@black, 45%); +@segmented-selected-bg: #333333; +@segmented-label-color: fade(@white, 65%); +@segmented-label-hover-color: fade(@white, 85%); diff --git a/src/styles/themes/default.less b/src/styles/themes/default.less new file mode 100644 index 0000000..5c5b47f --- /dev/null +++ b/src/styles/themes/default.less @@ -0,0 +1,1084 @@ +/* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */ +@import '../color/colors'; + +@theme: default; + +// The prefix to use on all css classes from ant. +@ant-prefix: ant; + +// An override for the html selector for theme prefixes +@html-selector: html; + +// [CSS-VARIABLE-REPLACE-BEGIN: html-variables] +// [CSS-VARIABLE-REPLACE-END: html-variables] + +// -------- Colors ----------- +// >>> Primary +@primary-color: @blue-6; +@primary-color-hover: color(~`colorPalette('@{primary-color}', 5) `); +@primary-color-active: color(~`colorPalette('@{primary-color}', 7) `); +@primary-color-outline: fade(@primary-color, @outline-fade); + +@processing-color: @blue-6; + +// >>> Info +@info-color: @primary-color; +@info-color-deprecated-bg: color(~`colorPalette('@{info-color}', 1) `); +@info-color-deprecated-border: color(~`colorPalette('@{info-color}', 3) `); + +// >>> Success +@success-color: @green-6; +@success-color-hover: color(~`colorPalette('@{success-color}', 5) `); +@success-color-active: color(~`colorPalette('@{success-color}', 7) `); +@success-color-outline: fade(@success-color, @outline-fade); +@success-color-deprecated-bg: color(~`colorPalette('@{success-color}', 1) `); +@success-color-deprecated-border: color(~`colorPalette('@{success-color}', 3) `); + +// >>> Warning +@warning-color: @gold-6; +@warning-color-hover: color(~`colorPalette('@{warning-color}', 5) `); +@warning-color-active: color(~`colorPalette('@{warning-color}', 7) `); +@warning-color-outline: fade(@warning-color, @outline-fade); +@warning-color-deprecated-bg: color(~`colorPalette('@{warning-color}', 1) `); +@warning-color-deprecated-border: color(~`colorPalette('@{warning-color}', 3) `); + +// >>> Error +@error-color: @red-5; +@error-color-hover: color(~`colorPalette('@{error-color}', 5) `); +@error-color-active: color(~`colorPalette('@{error-color}', 7) `); +@error-color-outline: fade(@error-color, @outline-fade); +@error-color-deprecated-bg: color(~`colorPalette('@{error-color}', 1) `); +@error-color-deprecated-border: color(~`colorPalette('@{error-color}', 3) `); + +@highlight-color: @red-5; +@normal-color: #d9d9d9; +@white: #fff; +@black: #000; + +// 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; +// Popover background color +@popover-background: @component-background; +@popover-customize-border-color: @border-color-split; +@font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, + 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', + 'Noto Color Emoji'; +@code-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace; +@text-color: fade(@black, 85%); +@text-color-secondary: fade(@black, 45%); +@text-color-inverse: @white; +@icon-color: inherit; +@icon-color-hover: fade(@black, 75%); +@heading-color: fade(@black, 85%); +@text-color-dark: fade(@white, 85%); +@text-color-secondary-dark: fade(@white, 65%); +@text-selection-bg: @primary-color; +@font-variant-base: tabular-nums; +@font-feature-settings-base: 'tnum'; +@font-size-base: 14px; +@font-size-lg: @font-size-base + 2px; +@font-size-sm: 12px; +@heading-1-size: ceil(@font-size-base * 2.71); +@heading-2-size: ceil(@font-size-base * 2.14); +@heading-3-size: ceil(@font-size-base * 1.71); +@heading-4-size: ceil(@font-size-base * 1.42); +@heading-5-size: ceil(@font-size-base * 1.14); +// https://github.com/ant-design/ant-design/issues/20210 +@line-height-base: 1.5715; +@border-radius-base: 2px; +@border-radius-sm: 2px; + +// control border +@control-border-radius: @border-radius-base; + +// arrow border +@arrow-border-radius: 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 +@padding-xss: 4px; // more small + +// vertical padding for all form controls +@control-padding-horizontal: @padding-sm; +@control-padding-horizontal-sm: @padding-xs; + +// vertical margins +@margin-lg: 24px; // containers +@margin-md: 16px; // small containers and buttons +@margin-sm: 12px; // Form controls and items +@margin-xs: 8px; // small items +@margin-xss: 4px; // more small + +// height rules +@height-base: 32px; +@height-lg: 40px; +@height-sm: 24px; + +// The background colors for active and hover states for things like +// list items or table cells. +@item-active-bg: @primary-1; +@item-hover-bg: #f5f5f5; + +// 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; +@link-focus-decoration: none; +@link-focus-outline: 0; + +// 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, 94%); // split border inside a component +@border-color-inverse: @white; +@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; // No use anymore +@outline-fade: 20%; + +@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-active-bg: tint(@black, 90%); +@disabled-color-dark: fade(#fff, 35%); + +// Shadow +@shadow-color: rgba(0, 0, 0, 0.15); +@shadow-color-inverse: @component-background; +@box-shadow-base: @shadow-2; +@shadow-1-up: 0 -6px 16px -8px rgba(0, 0, 0, 0.08), 0 -9px 28px 0 rgba(0, 0, 0, 0.05), + 0 -12px 48px 16px rgba(0, 0, 0, 0.03); +@shadow-1-down: 0 6px 16px -8px rgba(0, 0, 0, 0.08), 0 9px 28px 0 rgba(0, 0, 0, 0.05), + 0 12px 48px 16px rgba(0, 0, 0, 0.03); +@shadow-1-left: -6px 0 16px -8px rgba(0, 0, 0, 0.08), -9px 0 28px 0 rgba(0, 0, 0, 0.05), + -12px 0 48px 16px rgba(0, 0, 0, 0.03); +@shadow-1-right: 6px 0 16px -8px rgba(0, 0, 0, 0.08), 9px 0 28px 0 rgba(0, 0, 0, 0.05), + 12px 0 48px 16px rgba(0, 0, 0, 0.03); +@shadow-2: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), + 0 9px 28px 8px rgba(0, 0, 0, 0.05); + +// Buttons +@btn-font-weight: 400; +@btn-border-radius-base: @border-radius-base; +@btn-border-radius-sm: @border-radius-base; +@btn-border-width: @border-width-base; +@btn-border-style: @border-style-base; +@btn-shadow: 0 2px 0 rgba(0, 0, 0, 0.015); +@btn-primary-shadow: 0 2px 0 rgba(0, 0, 0, 0.045); +@btn-text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.12); + +@btn-primary-color: #fff; +@btn-primary-bg: @primary-color; + +@btn-default-color: @text-color; +@btn-default-bg: @component-background; +@btn-default-border: @border-color-base; + +@btn-danger-color: #fff; +@btn-danger-bg: @error-color; +@btn-danger-border: @error-color; + +@btn-disable-color: @disabled-color; +@btn-disable-bg: @disabled-bg; +@btn-disable-border: @border-color-base; + +@btn-default-ghost-color: @component-background; +@btn-default-ghost-bg: transparent; +@btn-default-ghost-border: @component-background; + +@btn-font-size-lg: @font-size-lg; +@btn-font-size-sm: @font-size-base; +@btn-padding-horizontal-base: @padding-md - 1px; +@btn-padding-horizontal-lg: @btn-padding-horizontal-base; +@btn-padding-horizontal-sm: @padding-xs - 1px; + +@btn-height-base: @height-base; +@btn-height-lg: @height-lg; +@btn-height-sm: @height-sm; + +@btn-line-height: @line-height-base; + +@btn-circle-size: @btn-height-base; +@btn-circle-size-lg: @btn-height-lg; +@btn-circle-size-sm: @btn-height-sm; + +@btn-square-size: @btn-height-base; +@btn-square-size-lg: @btn-height-lg; +@btn-square-size-sm: @btn-height-sm; +@btn-square-only-icon-size: @font-size-base + 2px; +@btn-square-only-icon-size-sm: @font-size-base; +@btn-square-only-icon-size-lg: @btn-font-size-lg + 2px; + +@btn-group-border: @primary-5; + +@btn-link-hover-bg: transparent; +@btn-text-hover-bg: rgba(0, 0, 0, 0.018); + +// Checkbox +@checkbox-size: 16px; +@checkbox-color: @primary-color; +@checkbox-check-color: #fff; +@checkbox-check-bg: @checkbox-check-color; +@checkbox-border-width: @border-width-base; +@checkbox-border-radius: @border-radius-sm; +@checkbox-group-item-margin-right: 8px; + +// Descriptions +@descriptions-bg: #fafafa; +@descriptions-title-margin-bottom: 20px; +@descriptions-default-padding: @padding-md @padding-lg; +@descriptions-middle-padding: @padding-sm @padding-lg; +@descriptions-small-padding: @padding-xs @padding-md; +@descriptions-item-padding-bottom: @padding-md; +@descriptions-item-trailing-colon: true; +@descriptions-item-label-colon-margin-right: 8px; +@descriptions-item-label-colon-margin-left: 2px; +@descriptions-extra-color: @text-color; + +// Divider +@divider-text-padding: 1em; +@divider-orientation-margin: 5%; +@divider-color: rgba(0, 0, 0, 6%); +@divider-vertical-gutter: 8px; + +// Dropdown +@dropdown-selected-color: @primary-color; +@dropdown-menu-submenu-disabled-bg: @component-background; +@dropdown-selected-bg: @item-active-bg; + +// Empty +@empty-font-size: @font-size-base; + +// Radio +@radio-size: 16px; +@radio-top: 0.2em; +@radio-border-width: 1px; +@radio-dot-size: @radio-size - 8px; +@radio-dot-color: @primary-color; +@radio-dot-disabled-color: fade(@black, 20%); +@radio-solid-checked-color: @component-background; + +// Radio buttons +@radio-button-bg: @btn-default-bg; +@radio-button-checked-bg: @btn-default-bg; +@radio-button-color: @btn-default-color; +@radio-button-hover-color: @primary-5; +@radio-button-active-color: @primary-7; +@radio-button-padding-horizontal: @padding-md - 1px; +@radio-disabled-button-checked-bg: @disabled-active-bg; +@radio-disabled-button-checked-color: @disabled-color; +@radio-wrapper-margin-right: 8px; + +// Media queries breakpoints +// @screen-xs and @screen-xs-min is not used in Grid +// smallest break point is @screen-md +@screen-xs: 480px; +@screen-xs-min: @screen-xs; +// 👆 Extra small screen / phone + +// 👇 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 desktop +@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; + +// Layout +@layout-body-background: #f0f2f5; +@layout-header-background: #001529; +@layout-header-height: 64px; +@layout-header-padding: 0 50px; +@layout-header-color: @text-color; +@layout-footer-padding: 24px 50px; +@layout-footer-background: @layout-body-background; +@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, order by `z-index` +@zindex-badge: auto; +@zindex-table-fixed: 2; +@zindex-affix: 10; +@zindex-back-top: 10; +@zindex-picker-panel: 10; +@zindex-popup-close: 10; +@zindex-modal: 1000; +@zindex-modal-mask: 1000; +@zindex-message: 1010; +@zindex-notification: 1010; +@zindex-popover: 1030; +@zindex-dropdown: 1050; +@zindex-picker: 1050; +@zindex-popoconfirm: 1060; +@zindex-tooltip: 1070; +@zindex-image: 1080; + +// Animation +@animation-duration-slow: 0.3s; // Modal +@animation-duration-base: 0.2s; +@animation-duration-fast: 0.1s; // Tooltip + +//CollapsePanel +@collapse-panel-border-radius: @border-radius-base; + +//Dropdown +@dropdown-menu-bg: @component-background; +@dropdown-vertical-padding: 5px; +@dropdown-edge-child-vertical-padding: 4px; +@dropdown-font-size: @font-size-base; +@dropdown-line-height: 22px; + +// Form +// --- +@label-required-color: @highlight-color; +@label-color: @heading-color; +@form-warning-input-bg: @input-bg; +@form-item-margin-bottom: 24px; +@form-item-trailing-colon: true; +@form-vertical-label-padding: 0 0 8px; +@form-vertical-label-margin: 0; +@form-item-label-font-size: @font-size-base; +@form-item-label-height: @input-height-base; +@form-item-label-colon-margin-right: 8px; +@form-item-label-colon-margin-left: 2px; +@form-error-input-bg: @input-bg; + +// Input +// --- +@input-height-base: @height-base; +@input-height-lg: @height-lg; +@input-height-sm: @height-sm; +@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: max( + (round(((@input-height-base - @font-size-base * @line-height-base) / 2) * 10) / 10) - + @border-width-base, + 3px +); +@input-padding-vertical-sm: max( + (round(((@input-height-sm - @font-size-base * @line-height-base) / 2) * 10) / 10) - + @border-width-base, + 0 +); +@input-padding-vertical-lg: ( + ceil(((@input-height-lg - @font-size-lg * @line-height-base) / 2) * 10) / 10 + ) - @border-width-base; +@input-placeholder-color: hsv(0, 0, 75%); +@input-color: @text-color; +@input-icon-color: @input-color; +@input-border-color: @border-color-base; +@input-bg: @component-background; +@input-number-hover-border-color: @input-hover-border-color; +@input-number-handler-active-bg: #f4f4f4; +@input-number-handler-hover-bg: @primary-5; +@input-number-handler-bg: @component-background; +@input-number-handler-border-color: @border-color-base; +@input-addon-bg: @background-color-light; +@input-hover-border-color: @primary-5; +@input-disabled-bg: @disabled-bg; +@input-outline-offset: 0 0; +@input-icon-hover-color: fade(@black, 85%); +@input-disabled-color: @disabled-color; + +// Mentions +// --- +@mentions-dropdown-bg: @component-background; +@mentions-dropdown-menu-item-hover-bg: @mentions-dropdown-bg; + +// Select +// --- +@select-border-color: @border-color-base; +@select-item-selected-color: @text-color; +@select-item-selected-font-weight: 600; +@select-dropdown-bg: @component-background; +@select-item-selected-bg: @primary-1; +@select-item-active-bg: @item-hover-bg; +@select-dropdown-vertical-padding: @dropdown-vertical-padding; +@select-dropdown-font-size: @dropdown-font-size; +@select-dropdown-line-height: @dropdown-line-height; +@select-dropdown-height: 32px; +@select-background: @component-background; +@select-clear-background: @select-background; +@select-selection-item-bg: @background-color-base; +@select-selection-item-border-color: @border-color-split; +@select-single-item-height-lg: 40px; +@select-multiple-item-height: @input-height-base - @input-padding-vertical-base * 2; // Normal 24px +@select-multiple-item-height-lg: 32px; +@select-multiple-item-spacing-half: ceil((@input-padding-vertical-base / 2)); +@select-multiple-disabled-background: @input-disabled-bg; +@select-multiple-item-disabled-color: #bfbfbf; +@select-multiple-item-disabled-border-color: @select-border-color; + +// Cascader +// --- +@cascader-bg: @component-background; +@cascader-item-selected-bg: @primary-1; +@cascader-menu-bg: @component-background; +@cascader-menu-border-color-split: @border-color-split; + +// Cascader +// ---- +@cascader-dropdown-vertical-padding: @dropdown-vertical-padding; +@cascader-dropdown-edge-child-vertical-padding: @dropdown-edge-child-vertical-padding; +@cascader-dropdown-font-size: @dropdown-font-size; +@cascader-dropdown-line-height: @dropdown-line-height; + +// Anchor +// --- +@anchor-bg: transparent; +@anchor-border-color: @border-color-split; +@anchor-link-top: 4px; +@anchor-link-left: 16px; +@anchor-link-padding: @anchor-link-top 0 @anchor-link-top @anchor-link-left; + +// Tooltip +// --- +// Tooltip max width +@tooltip-max-width: 250px; +// Tooltip text color +@tooltip-color: #fff; +// Tooltip background color +@tooltip-bg: rgba(0, 0, 0, 0.75); +// Tooltip arrow width +@tooltip-arrow-width: 8px * sqrt(2); +// Tooltip distance with trigger +@tooltip-distance: @tooltip-arrow-width - 1px + 4px; +// Tooltip arrow color +@tooltip-arrow-color: @tooltip-bg; +@tooltip-border-radius: @border-radius-base; + +// Popover +// --- +// Popover body background color +@popover-bg: @component-background; +// Popover text color +@popover-color: @text-color; +// Popover maximum width +@popover-min-width: 177px; +@popover-min-height: 32px; +// Popover arrow width +@popover-arrow-width: @tooltip-arrow-width; +// 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; +@popover-padding-horizontal: @padding-md; + +// Modal +// -- +@modal-header-padding-vertical: @padding-md; +@modal-header-padding-horizontal: @padding-lg; +@modal-body-padding: @padding-lg; +@modal-header-bg: @component-background; +@modal-header-padding: @modal-header-padding-vertical @modal-header-padding-horizontal; +@modal-header-border-width: @border-width-base; +@modal-header-border-style: @border-style-base; +@modal-header-title-line-height: 22px; +@modal-header-title-font-size: @font-size-lg; +@modal-header-border-color-split: @border-color-split; +@modal-header-close-size: @modal-header-title-line-height + 2 * @modal-header-padding-vertical; +@modal-content-bg: @component-background; +@modal-heading-color: @heading-color; +@modal-close-color: @text-color-secondary; +@modal-footer-bg: transparent; +@modal-footer-border-color-split: @border-color-split; +@modal-footer-border-style: @border-style-base; +@modal-footer-padding-vertical: 10px; +@modal-footer-padding-horizontal: 16px; +@modal-footer-border-width: @border-width-base; +@modal-mask-bg: fade(@black, 45%); +@modal-confirm-body-padding: 32px 32px 24px; +@modal-confirm-title-font-size: @font-size-lg; +@modal-border-radius: @border-radius-base; + +// Progress +// -- +@progress-default-color: @processing-color; +@progress-remaining-color: @background-color-base; +@progress-info-text-color: @progress-text-color; +@progress-radius: 100px; +@progress-steps-item-bg: #f3f3f3; +@progress-text-font-size: 1em; +@progress-text-color: @text-color; // This is for circle text color, should be renamed better +@progress-circle-text-font-size: 1em; +// Menu +// --- +@menu-inline-toplevel-item-height: 40px; +@menu-item-height: 40px; +@menu-item-group-height: @line-height-base; +@menu-collapsed-width: 80px; +@menu-bg: @component-background; +@menu-popup-bg: @component-background; +@menu-item-color: @text-color; +@menu-inline-submenu-bg: @background-color-light; +@menu-highlight-color: @primary-color; +@menu-highlight-danger-color: @error-color; +@menu-item-active-bg: @primary-1; +@menu-item-active-danger-bg: @red-1; +@menu-item-active-border-width: 3px; +@menu-item-group-title-color: @text-color-secondary; +@menu-item-vertical-margin: 4px; +@menu-item-font-size: @font-size-base; +@menu-item-boundary-margin: 8px; +@menu-item-padding-horizontal: 20px; +@menu-item-padding: 0 @menu-item-padding-horizontal; +@menu-horizontal-line-height: 46px; +@menu-icon-margin-right: 10px; +@menu-icon-size: @menu-item-font-size; +@menu-icon-size-lg: @font-size-lg; +@menu-item-group-title-font-size: @menu-item-font-size; + +// dark theme +@menu-dark-color: @text-color-secondary-dark; +@menu-dark-danger-color: @error-color; +@menu-dark-bg: @layout-header-background; +@menu-dark-arrow-color: #fff; +@menu-dark-inline-submenu-bg: #000c17; +@menu-dark-highlight-color: #fff; +@menu-dark-item-active-bg: @primary-color; +@menu-dark-item-active-danger-bg: @error-color; +@menu-dark-selected-item-icon-color: @white; +@menu-dark-selected-item-text-color: @white; +@menu-dark-item-hover-bg: transparent; +// Spin +// --- +@spin-dot-size-sm: 14px; +@spin-dot-size: 20px; +@spin-dot-size-lg: 32px; + +// Table +// -- +@table-bg: @component-background; +@table-header-bg: @background-color-light; +@table-header-color: @heading-color; +@table-header-sort-bg: @background-color-base; +@table-body-sort-bg: #fafafa; +@table-row-hover-bg: @background-color-light; +@table-selected-row-color: inherit; +@table-selected-row-bg: @primary-1; +@table-body-selected-sort-bg: @table-selected-row-bg; +@table-selected-row-hover-bg: darken(@table-selected-row-bg, 2%); +@table-expanded-row-bg: #fbfbfb; +@table-padding-vertical: 16px; +@table-padding-horizontal: 16px; +@table-padding-vertical-md: (@table-padding-vertical * 3 / 4); +@table-padding-horizontal-md: (@table-padding-horizontal / 2); +@table-padding-vertical-sm: (@table-padding-vertical / 2); +@table-padding-horizontal-sm: (@table-padding-horizontal / 2); +@table-border-color: @border-color-split; +@table-border-radius-base: @border-radius-base; +@table-footer-bg: @background-color-light; +@table-footer-color: @heading-color; +@table-header-bg-sm: @table-header-bg; +@table-font-size: @font-size-base; +@table-font-size-md: @table-font-size; +@table-font-size-sm: @table-font-size; +@table-header-cell-split-color: rgba(0, 0, 0, 0.06); +// Sorter +// Legacy: `table-header-sort-active-bg` is used for hover not real active +@table-header-sort-active-bg: rgba(0, 0, 0, 0.04); +@table-fixed-header-sort-active-bg: hsv(0, 0, 96%); + +// Filter +@table-header-filter-active-bg: rgba(0, 0, 0, 0.04); +@table-filter-btns-bg: inherit; +@table-filter-dropdown-bg: @component-background; +@table-expand-icon-bg: @component-background; +@table-selection-column-width: 32px; +// Sticky +@table-sticky-scroll-bar-bg: fade(#000, 35%); +@table-sticky-scroll-bar-radius: 4px; + +// Tag +// -- +@tag-border-radius: @border-radius-base; +@tag-default-bg: @background-color-light; +@tag-default-color: @text-color; +@tag-font-size: @font-size-sm; +@tag-line-height: 20px; + +// TimePicker +// --- +@picker-bg: @component-background; +@picker-basic-cell-hover-color: @item-hover-bg; +@picker-basic-cell-active-with-range-color: @primary-1; +@picker-basic-cell-hover-with-range-color: lighten(@primary-color, 35%); +@picker-basic-cell-disabled-bg: rgba(0, 0, 0, 0.04); +@picker-border-color: @border-color-split; +@picker-date-hover-range-border-color: lighten(@primary-color, 20%); +@picker-date-hover-range-color: @picker-basic-cell-hover-with-range-color; +@picker-time-panel-column-width: 56px; +@picker-time-panel-column-height: 224px; +@picker-time-panel-cell-height: 28px; +@picker-panel-cell-height: 24px; +@picker-panel-cell-width: 36px; +@picker-text-height: 40px; +@picker-panel-without-time-cell-height: 66px; + +// Calendar +// --- +@calendar-bg: @component-background; +@calendar-input-bg: @input-bg; +@calendar-border-color: @border-color-inverse; +@calendar-item-active-bg: @item-active-bg; +@calendar-column-active-bg: fade(@calendar-item-active-bg, 20%); +@calendar-full-bg: @calendar-bg; +@calendar-full-panel-bg: @calendar-full-bg; + +// Carousel +// --- +@carousel-dot-width: 16px; +@carousel-dot-height: 3px; +@carousel-dot-active-width: 24px; + +// Badge +// --- +@badge-height: 20px; +@badge-height-sm: 14px; +@badge-dot-size: 6px; +@badge-font-size: @font-size-sm; +@badge-font-size-sm: @font-size-sm; +@badge-font-weight: normal; +@badge-status-size: 6px; +@badge-text-color: @component-background; +@badge-color: @highlight-color; + +// Rate +// --- +@rate-star-color: @yellow-6; +@rate-star-bg: @border-color-split; +@rate-star-size: 20px; +@rate-star-hover-scale: scale(1.1); + +// Card +// --- +@card-head-color: @heading-color; +@card-head-background: transparent; +@card-head-font-size: @font-size-lg; +@card-head-font-size-sm: @font-size-base; +@card-head-padding: 16px; +@card-head-padding-sm: (@card-head-padding / 2); +@card-head-height: 48px; +@card-head-height-sm: 36px; +@card-inner-head-padding: 12px; +@card-padding-base: 24px; +@card-padding-base-sm: (@card-padding-base / 2); +@card-actions-background: @component-background; +@card-actions-li-margin: 12px 0; +@card-skeleton-bg: #cfd8dc; +@card-background: @component-background; +@card-shadow: 0 1px 2px -2px rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.12), + 0 5px 12px 4px rgba(0, 0, 0, 0.09); +@card-radius: @border-radius-base; +@card-head-tabs-margin-bottom: -17px; +@card-head-extra-color: @text-color; + +// Comment +// --- +@comment-bg: inherit; +@comment-padding-base: @padding-md 0; +@comment-nest-indent: 44px; +@comment-font-size-base: @font-size-base; +@comment-font-size-sm: @font-size-sm; +@comment-author-name-color: @text-color-secondary; +@comment-author-time-color: #ccc; +@comment-action-color: @text-color-secondary; +@comment-action-hover-color: #595959; +@comment-actions-margin-bottom: inherit; +@comment-actions-margin-top: @margin-sm; +@comment-content-detail-p-margin-bottom: inherit; + +// Tabs +// --- +@tabs-card-head-background: @background-color-light; +@tabs-card-height: 40px; +@tabs-card-active-color: @primary-color; +@tabs-card-horizontal-padding: ( + (@tabs-card-height - floor(@font-size-base * @line-height-base)) / 2 + ) - @border-width-base @padding-md; +@tabs-card-horizontal-padding-sm: 6px @padding-md; +@tabs-card-horizontal-padding-lg: 7px @padding-md 6px; +@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 @margin-md 0; +@tabs-horizontal-gutter: 32px; +@tabs-horizontal-margin: 0 0 0 @tabs-horizontal-gutter; +@tabs-horizontal-margin-rtl: 0 0 0 32px; +@tabs-horizontal-padding: @padding-sm 0; +@tabs-horizontal-padding-lg: @padding-md 0; +@tabs-horizontal-padding-sm: @padding-xs 0; +@tabs-vertical-padding: @padding-xs @padding-lg; +@tabs-vertical-margin: @margin-md 0 0 0; +@tabs-scrolling-size: 32px; +@tabs-highlight-color: @primary-color; +@tabs-hover-color: @primary-5; +@tabs-active-color: @primary-7; +@tabs-card-gutter: 2px; +@tabs-card-tab-active-border-top: 2px solid transparent; + +// 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; +@avatar-group-overlapping: -8px; +@avatar-group-space: 3px; +@avatar-group-border-color: #fff; + +// Switch +// --- +@switch-height: 22px; +@switch-sm-height: 16px; +@switch-min-width: 44px; +@switch-sm-min-width: 28px; +@switch-disabled-opacity: 0.4; +@switch-color: @primary-color; +@switch-bg: @component-background; +@switch-shadow-color: fade(#00230b, 20%); +@switch-padding: 2px; +@switch-inner-margin-min: ceil(@switch-height * 0.3); +@switch-inner-margin-max: ceil(@switch-height * 1.1); +@switch-sm-inner-margin-min: ceil(@switch-sm-height * 0.3); +@switch-sm-inner-margin-max: ceil(@switch-sm-height * 1.1); + +// Pagination +// --- +@pagination-item-bg: @component-background; +@pagination-item-size: @height-base; +@pagination-item-size-sm: 24px; +@pagination-font-family: @font-family; +@pagination-font-weight-active: 500; +@pagination-item-bg-active: @component-background; +@pagination-item-link-bg: @component-background; +@pagination-item-disabled-color-active: @disabled-color; +@pagination-item-disabled-bg-active: @disabled-active-bg; +@pagination-item-input-bg: @component-background; +@pagination-mini-options-size-changer-top: 0px; + +// PageHeader +// --- +@page-header-padding: @padding-lg; +@page-header-padding-vertical: @padding-md; +@page-header-padding-breadcrumb: @padding-sm; +@page-header-content-padding-vertical: @padding-sm; +@page-header-back-color: #000; +@page-header-ghost-bg: inherit; +@page-header-heading-title: @heading-4-size; +@page-header-heading-sub-title: 14px; +@page-header-tabs-tab-font-size: 16px; + +// 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: @text-color; +@breadcrumb-separator-color: @text-color-secondary; +@breadcrumb-separator-margin: 0 @padding-xs; + +// Slider +// --- +@slider-margin: 10px 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-border-width: 2px; +@slider-handle-background-color: @component-background; +@slider-handle-color: @primary-3; +@slider-handle-color-hover: @primary-4; +@slider-handle-color-focus: tint(@primary-color, 20%); +@slider-handle-color-focus-shadow: fade(@primary-color, 12%); +@slider-handle-color-tooltip-open: @primary-color; +@slider-handle-size: 14px; +@slider-handle-margin-top: -5px; +@slider-handle-margin-left: -5px; +@slider-handle-shadow: 0; +@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-bg: @component-background; +@tree-title-height: 24px; +@tree-child-padding: 18px; +@tree-directory-selected-color: #fff; +@tree-directory-selected-bg: @primary-color; +@tree-node-hover-bg: @item-hover-bg; +@tree-node-selected-bg: @primary-2; + +// Collapse +// --- +@collapse-header-padding: @padding-sm @padding-md; +@collapse-header-padding-extra: 40px; +@collapse-header-bg: @background-color-light; +@collapse-content-padding: @padding-md; +@collapse-content-bg: @component-background; +@collapse-header-arrow-left: 16px; + +// Skeleton +// --- +@skeleton-color: rgba(190, 190, 190, 0.2); +@skeleton-to-color: shade(@skeleton-color, 5%); +@skeleton-paragraph-margin-top: 28px; +@skeleton-paragraph-li-margin-top: @margin-md; +@skeleton-paragraph-li-height: 16px; +@skeleton-title-height: 16px; +@skeleton-title-paragraph-margin-top: @margin-lg; + +// Transfer +// --- +@transfer-header-height: 40px; +@transfer-item-height: @height-base; +@transfer-disabled-bg: @disabled-bg; +@transfer-list-height: 200px; +@transfer-item-hover-bg: @item-hover-bg; +@transfer-item-selected-hover-bg: darken(@item-active-bg, 2%); +@transfer-item-padding-vertical: 6px; +@transfer-list-search-icon-top: 12px; + +// Message +// --- +@message-notice-content-padding: 10px 16px; +@message-notice-content-bg: @component-background; +// 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; +@alert-message-color: @heading-color; +@alert-text-color: @text-color; +@alert-close-color: @text-color-secondary; +@alert-close-hover-color: @icon-color-hover; +@alert-padding-vertical: @padding-xs; +@alert-padding-horizontal: @padding-md - 1px; +@alert-no-icon-padding-vertical: @padding-xs; +@alert-with-description-no-icon-padding-vertical: @padding-md - 1px; +@alert-with-description-padding-vertical: @padding-md - 1px; +@alert-with-description-padding: @alert-with-description-padding-vertical 15px + @alert-with-description-no-icon-padding-vertical @alert-with-description-icon-size; +@alert-icon-top: 8px + @font-size-base * (@line-height-base / 2) - (@font-size-base / 2); +@alert-with-description-icon-size: 24px; + +// List +// --- +@list-header-background: transparent; +@list-footer-background: transparent; +@list-empty-text-padding: @padding-md; +@list-item-padding: @padding-sm 0; +@list-item-padding-sm: @padding-xs @padding-md; +@list-item-padding-lg: 16px 24px; +@list-item-meta-margin-bottom: @padding-md; +@list-item-meta-avatar-margin-right: @padding-md; +@list-item-meta-title-margin-bottom: @padding-sm; +@list-customize-card-bg: @component-background; +@list-item-meta-description-font-size: @font-size-base; + +// Statistic +// --- +@statistic-title-font-size: @font-size-base; +@statistic-content-font-size: 24px; +@statistic-unit-font-size: 24px; +@statistic-font-family: @font-family; + +// Drawer +// --- +@drawer-header-padding: @padding-md @padding-lg; +@drawer-body-padding: @padding-lg; +@drawer-bg: @component-background; +@drawer-footer-padding-vertical: @modal-footer-padding-vertical; +@drawer-footer-padding-horizontal: @modal-footer-padding-horizontal; +@drawer-header-close-size: 56px; +@drawer-title-font-size: @font-size-lg; +@drawer-title-line-height: 22px; + +// Timeline +// --- +@timeline-width: 2px; +@timeline-color: @border-color-split; +@timeline-dot-border-width: 2px; +@timeline-dot-color: @primary-color; +@timeline-dot-bg: @component-background; +@timeline-item-padding-bottom: 20px; + +// Typography +// --- +@typography-title-font-weight: 600; +@typography-title-margin-top: 1.2em; +@typography-title-margin-bottom: 0.5em; + +// Upload +// --- +@upload-actions-color: @text-color-secondary; + +// Steps +// --- +@process-tail-color: @border-color-split; +@steps-nav-arrow-color: fade(@black, 25%); +@steps-background: @component-background; +@steps-icon-size: 32px; +@steps-icon-custom-size: @steps-icon-size; +@steps-icon-custom-top: 0px; +@steps-icon-custom-font-size: 24px; +@steps-icon-top: -0.5px; +@steps-icon-font-size: @font-size-lg; +@steps-icon-margin: 0 8px 0 0; +@steps-title-line-height: @height-base; +@steps-small-icon-size: 24px; +@steps-small-icon-margin: 0 8px 0 0; +@steps-dot-size: 8px; +@steps-dot-top: 2px; +@steps-current-dot-size: 10px; +@steps-description-max-width: 140px; +@steps-nav-content-max-width: auto; +@steps-vertical-icon-width: 16px; +@steps-vertical-tail-width: 16px; +@steps-vertical-tail-width-sm: 12px; + +// Notification +// --- +@notification-bg: @component-background; +@notification-padding-vertical: 16px; +@notification-padding-horizontal: 24px; + +// Result +// --- +@result-title-font-size: 24px; +@result-subtitle-font-size: @font-size-base; +@result-icon-font-size: 72px; +@result-extra-margin: 24px 0 0 0; + +// Image +// --- +@image-size-base: 48px; +@image-font-size-base: 24px; +@image-bg: #f5f5f5; +@image-color: #fff; +@image-mask-font-size: 16px; +@image-preview-operation-size: 18px; +@image-preview-operation-color: @text-color-dark; +@image-preview-operation-disabled-color: fade(@image-preview-operation-color, 25%); + +// Segmented +// --- +@segmented-bg: fade(@black, 4%); +@segmented-hover-bg: fade(@black, 6%); +@segmented-selected-bg: @white; +@segmented-label-color: fade(@black, 65%); +@segmented-label-hover-color: #262626; diff --git a/src/styles/themes/index.less b/src/styles/themes/index.less new file mode 100644 index 0000000..fd29f58 --- /dev/null +++ b/src/styles/themes/index.less @@ -0,0 +1,7 @@ +// Default using variable as entry to support site variable version +// This will be replaced in webpack bundle +// @root-entry-name: variable; + +// @import './default.less'; +// @import './variable.less'; +@import './@{root-entry-name}.less'; diff --git a/src/styles/themes/variable.less b/src/styles/themes/variable.less new file mode 100644 index 0000000..3a8e45e --- /dev/null +++ b/src/styles/themes/variable.less @@ -0,0 +1,1139 @@ +/* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */ +@import '../color/colors'; + +@theme: variable; + +// The prefix to use on all css classes from ant. +@ant-prefix: ant; + +// An override for the html selector for theme prefixes +@html-selector: html; + +@{html-selector} { + @base-primary: @blue-6; + + // ========= Primary Color ========= + --@{ant-prefix}-primary-color: @base-primary; + --@{ant-prefix}-primary-color-hover: color(~`colorPalette('@{base-primary}', 5) `); + --@{ant-prefix}-primary-color-active: color(~`colorPalette('@{base-primary}', 7) `); + --@{ant-prefix}-primary-color-outline: fade(@base-primary, @outline-fade); + + // Legacy + @legacy-primary-1: color(~`colorPalette('@{base-primary}', 1) `); + + --@{ant-prefix}-primary-1: @legacy-primary-1; + --@{ant-prefix}-primary-2: color(~`colorPalette('@{base-primary}', 2) `); + --@{ant-prefix}-primary-3: color(~`colorPalette('@{base-primary}', 3) `); + --@{ant-prefix}-primary-4: color(~`colorPalette('@{base-primary}', 4) `); + --@{ant-prefix}-primary-5: color(~`colorPalette('@{base-primary}', 5) `); + --@{ant-prefix}-primary-6: @base-primary; + --@{ant-prefix}-primary-7: color(~`colorPalette('@{base-primary}', 7) `); + + // Deprecated + --@{ant-prefix}-primary-color-deprecated-pure: ~''; + --@{ant-prefix}-primary-color-deprecated-l-35: lighten(@base-primary, 35%); + --@{ant-prefix}-primary-color-deprecated-l-20: lighten(@base-primary, 20%); + --@{ant-prefix}-primary-color-deprecated-t-20: tint(@base-primary, 20%); + --@{ant-prefix}-primary-color-deprecated-t-50: tint(@base-primary, 50%); + --@{ant-prefix}-primary-color-deprecated-f-12: fade(@base-primary, 12%); + --@{ant-prefix}-primary-color-active-deprecated-f-30: fade(@legacy-primary-1, 30%); + --@{ant-prefix}-primary-color-active-deprecated-d-02: darken(@legacy-primary-1, 2%); + + // ========= Success Color ========= + --@{ant-prefix}-success-color: @green-6; + --@{ant-prefix}-success-color-hover: color(~`colorPalette('@{green-6}', 5) `); + --@{ant-prefix}-success-color-active: color(~`colorPalette('@{green-6}', 7) `); + --@{ant-prefix}-success-color-outline: fade(@green-6, @outline-fade); + --@{ant-prefix}-success-color-deprecated-bg: ~`colorPalette('@{green-6}', 1) `; + --@{ant-prefix}-success-color-deprecated-border: ~`colorPalette('@{green-6}', 3) `; + + // ========== Error Color ========== + --@{ant-prefix}-error-color: @red-5; + --@{ant-prefix}-error-color-hover: color(~`colorPalette('@{red-5}', 5) `); + --@{ant-prefix}-error-color-active: color(~`colorPalette('@{red-5}', 7) `); + --@{ant-prefix}-error-color-outline: fade(@red-5, @outline-fade); + --@{ant-prefix}-error-color-deprecated-bg: ~`colorPalette('@{red-5}', 1) `; + --@{ant-prefix}-error-color-deprecated-border: ~`colorPalette('@{red-5}', 3) `; + + // ========= Warning Color ========= + --@{ant-prefix}-warning-color: @gold-6; + --@{ant-prefix}-warning-color-hover: color(~`colorPalette('@{gold-6}', 5) `); + --@{ant-prefix}-warning-color-active: color(~`colorPalette('@{gold-6}', 7) `); + --@{ant-prefix}-warning-color-outline: fade(@gold-6, @outline-fade); + --@{ant-prefix}-warning-color-deprecated-bg: ~`colorPalette('@{gold-6}', 1) `; + --@{ant-prefix}-warning-color-deprecated-border: ~`colorPalette('@{gold-6}', 3) `; + + // ========== Info Color =========== + --@{ant-prefix}-info-color: @base-primary; + --@{ant-prefix}-info-color-deprecated-bg: ~`colorPalette('@{base-primary}', 1) `; + --@{ant-prefix}-info-color-deprecated-border: ~`colorPalette('@{base-primary}', 3) `; +} + +// -------- Colors ----------- +// >>> Primary +@primary-color: ~'var(--@{ant-prefix}-primary-color)'; +@primary-color-hover: ~'var(--@{ant-prefix}-primary-color-hover)'; +@primary-color-active: ~'var(--@{ant-prefix}-primary-color-active)'; +@primary-color-outline: ~'var(--@{ant-prefix}-primary-color-outline)'; + +@processing-color: @primary-color; + +// >>> Info +@info-color: ~'var(--@{ant-prefix}-info-color)'; +@info-color-deprecated-bg: ~'var(--@{ant-prefix}-info-color-deprecated-bg)'; +@info-color-deprecated-border: ~'var(--@{ant-prefix}-info-color-deprecated-border)'; + +// >>> Success +@success-color: ~'var(--@{ant-prefix}-success-color)'; +@success-color-hover: ~'var(--@{ant-prefix}-success-color-hover)'; +@success-color-active: ~'var(--@{ant-prefix}-success-color-active)'; +@success-color-outline: ~'var(--@{ant-prefix}-success-color-outline)'; +@success-color-deprecated-bg: ~'var(--@{ant-prefix}-success-color-deprecated-bg)'; +@success-color-deprecated-border: ~'var(--@{ant-prefix}-success-color-deprecated-border)'; + +// >>> Warning +@warning-color: ~'var(--@{ant-prefix}-warning-color)'; +@warning-color-hover: ~'var(--@{ant-prefix}-warning-color-hover)'; +@warning-color-active: ~'var(--@{ant-prefix}-warning-color-active)'; +@warning-color-outline: ~'var(--@{ant-prefix}-warning-color-outline)'; +@warning-color-deprecated-bg: ~'var(--@{ant-prefix}-warning-color-deprecated-bg)'; +@warning-color-deprecated-border: ~'var(--@{ant-prefix}-warning-color-deprecated-border)'; + +// >>> Error +@error-color: ~'var(--@{ant-prefix}-error-color)'; +@error-color-hover: ~'var(--@{ant-prefix}-error-color-hover)'; +@error-color-active: ~'var(--@{ant-prefix}-error-color-active)'; +@error-color-outline: ~'var(--@{ant-prefix}-error-color-outline)'; +@error-color-deprecated-bg: ~'var(--@{ant-prefix}-error-color-deprecated-bg)'; +@error-color-deprecated-border: ~'var(--@{ant-prefix}-error-color-deprecated-border)'; + +@highlight-color: @red-5; +@normal-color: #d9d9d9; +@white: #fff; +@black: #000; + +// Color used by default to control hover and active backgrounds and for +// alert info backgrounds. +@primary-1: ~'var(--@{ant-prefix}-primary-1)'; // replace tint(@primary-color, 90%) +@primary-2: ~'var(--@{ant-prefix}-primary-2)'; // replace tint(@primary-color, 80%) +@primary-3: ~'var(--@{ant-prefix}-primary-3)'; // unused +@primary-4: ~'var(--@{ant-prefix}-primary-4)'; // unused +@primary-5: ~'var(--@{ant-prefix}-primary-5)'; // color used to control the text color in many active and hover states, replace tint(@primary-color, 20%) +@primary-6: ~'var(--@{ant-prefix}-primary-6)'; // color used to control the text color of active buttons, don't use, use @primary-color +@primary-7: ~'var(--@{ant-prefix}-primary-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; +// Popover background color +@popover-background: @component-background; +@popover-customize-border-color: @border-color-split; +@font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, + 'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', + 'Noto Color Emoji'; +@code-family: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, Courier, monospace; +@text-color: fade(@black, 85%); +@text-color-secondary: fade(@black, 45%); +@text-color-inverse: @white; +@icon-color: inherit; +@icon-color-hover: fade(@black, 75%); +@heading-color: fade(@black, 85%); +@text-color-dark: fade(@white, 85%); +@text-color-secondary-dark: fade(@white, 65%); +@text-selection-bg: @primary-color; +@font-variant-base: tabular-nums; +@font-feature-settings-base: 'tnum'; +@font-size-base: 14px; +@font-size-lg: @font-size-base + 2px; +@font-size-sm: 12px; +@heading-1-size: ceil(@font-size-base * 2.71); +@heading-2-size: ceil(@font-size-base * 2.14); +@heading-3-size: ceil(@font-size-base * 1.71); +@heading-4-size: ceil(@font-size-base * 1.42); +@heading-5-size: ceil(@font-size-base * 1.14); +// https://github.com/ant-design/ant-design/issues/20210 +@line-height-base: 1.5715; +@border-radius-base: 2px; +@border-radius-sm: 2px; + +// control border +@control-border-radius: @border-radius-base; + +// arrow border +@arrow-border-radius: @border-radius-sm; + +// 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 +@padding-xss: 4px; // more small + +// vertical padding for all form controls +@control-padding-horizontal: @padding-sm; +@control-padding-horizontal-sm: @padding-xs; + +// vertical margins +@margin-lg: 24px; // containers +@margin-md: 16px; // small containers and buttons +@margin-sm: 12px; // Form controls and items +@margin-xs: 8px; // small items +@margin-xss: 4px; // more small + +// height rules +@height-base: 32px; +@height-lg: 40px; +@height-sm: 24px; + +// The background colors for active and hover states for things like +// list items or table cells. +@item-active-bg: @primary-1; +@item-hover-bg: #f5f5f5; + +// ICONFONT +@iconfont-css-prefix: anticon; + +// LINK +@link-color: @primary-color; +@link-hover-color: @primary-color-hover; +@link-active-color: @primary-color-active; +@link-decoration: none; +@link-hover-decoration: none; +@link-focus-decoration: none; +@link-focus-outline: 0; + +// 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: rgba(0, 0, 0, 0.06); // split border inside a component +@border-color-inverse: @white; +@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; // No use anymore +@outline-fade: 20%; + +@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-active-bg: tint(@black, 90%); +@disabled-color-dark: fade(#fff, 35%); + +// Shadow +@shadow-color: rgba(0, 0, 0, 0.15); +@shadow-color-inverse: @component-background; +@box-shadow-base: @shadow-2; +@shadow-1-up: 0 -6px 16px -8px rgba(0, 0, 0, 0.08), 0 -9px 28px 0 rgba(0, 0, 0, 0.05), + 0 -12px 48px 16px rgba(0, 0, 0, 0.03); +@shadow-1-down: 0 6px 16px -8px rgba(0, 0, 0, 0.08), 0 9px 28px 0 rgba(0, 0, 0, 0.05), + 0 12px 48px 16px rgba(0, 0, 0, 0.03); +@shadow-1-left: -6px 0 16px -8px rgba(0, 0, 0, 0.08), -9px 0 28px 0 rgba(0, 0, 0, 0.05), + -12px 0 48px 16px rgba(0, 0, 0, 0.03); +@shadow-1-right: 6px 0 16px -8px rgba(0, 0, 0, 0.08), 9px 0 28px 0 rgba(0, 0, 0, 0.05), + 12px 0 48px 16px rgba(0, 0, 0, 0.03); +@shadow-2: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), + 0 9px 28px 8px rgba(0, 0, 0, 0.05); + +// Buttons +@btn-font-weight: 400; +@btn-border-radius-base: @border-radius-base; +@btn-border-radius-sm: @border-radius-base; +@btn-border-width: @border-width-base; +@btn-border-style: @border-style-base; +@btn-shadow: 0 2px 0 rgba(0, 0, 0, 0.015); +@btn-primary-shadow: 0 2px 0 rgba(0, 0, 0, 0.045); +@btn-text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.12); + +@btn-primary-color: #fff; +@btn-primary-bg: @primary-color; + +@btn-default-color: @text-color; +@btn-default-bg: @component-background; +@btn-default-border: @border-color-base; + +@btn-danger-color: #fff; +@btn-danger-bg: @error-color; +@btn-danger-border: @error-color; + +@btn-disable-color: @disabled-color; +@btn-disable-bg: @disabled-bg; +@btn-disable-border: @border-color-base; + +@btn-default-ghost-color: @component-background; +@btn-default-ghost-bg: transparent; +@btn-default-ghost-border: @component-background; + +@btn-font-size-lg: @font-size-lg; +@btn-font-size-sm: @font-size-base; +@btn-padding-horizontal-base: @padding-md - 1px; +@btn-padding-horizontal-lg: @btn-padding-horizontal-base; +@btn-padding-horizontal-sm: @padding-xs - 1px; + +@btn-height-base: @height-base; +@btn-height-lg: @height-lg; +@btn-height-sm: @height-sm; + +@btn-line-height: @line-height-base; + +@btn-circle-size: @btn-height-base; +@btn-circle-size-lg: @btn-height-lg; +@btn-circle-size-sm: @btn-height-sm; + +@btn-square-size: @btn-height-base; +@btn-square-size-lg: @btn-height-lg; +@btn-square-size-sm: @btn-height-sm; +@btn-square-only-icon-size: @font-size-base + 2px; +@btn-square-only-icon-size-sm: @font-size-base; +@btn-square-only-icon-size-lg: @btn-font-size-lg + 2px; + +@btn-group-border: @primary-5; + +@btn-link-hover-bg: transparent; +@btn-text-hover-bg: rgba(0, 0, 0, 0.018); + +// Checkbox +@checkbox-size: 16px; +@checkbox-color: @primary-color; +@checkbox-check-color: #fff; +@checkbox-check-bg: @checkbox-check-color; +@checkbox-border-width: @border-width-base; +@checkbox-border-radius: @border-radius-sm; +@checkbox-group-item-margin-right: 8px; + +// Descriptions +@descriptions-bg: #fafafa; +@descriptions-title-margin-bottom: 20px; +@descriptions-default-padding: @padding-md @padding-lg; +@descriptions-middle-padding: @padding-sm @padding-lg; +@descriptions-small-padding: @padding-xs @padding-md; +@descriptions-item-padding-bottom: @padding-md; +@descriptions-item-trailing-colon: true; +@descriptions-item-label-colon-margin-right: 8px; +@descriptions-item-label-colon-margin-left: 2px; +@descriptions-extra-color: @text-color; + +// Divider +@divider-text-padding: 1em; +@divider-orientation-margin: 5%; +@divider-color: rgba(0, 0, 0, 6%); +@divider-vertical-gutter: 8px; + +// Dropdown +@dropdown-selected-color: @primary-color; +@dropdown-menu-submenu-disabled-bg: @component-background; +@dropdown-selected-bg: @item-active-bg; + +// Empty +@empty-font-size: @font-size-base; + +// Radio +@radio-size: 16px; +@radio-top: 0.2em; +@radio-border-width: 1px; +@radio-dot-size: @radio-size - 8px; +@radio-dot-color: @primary-color; +@radio-dot-disabled-color: fade(@black, 20%); +@radio-solid-checked-color: @component-background; + +// Radio buttons +@radio-button-bg: @btn-default-bg; +@radio-button-checked-bg: @btn-default-bg; +@radio-button-color: @btn-default-color; +@radio-button-hover-color: @primary-5; +@radio-button-active-color: @primary-7; +@radio-button-padding-horizontal: @padding-md - 1px; +@radio-disabled-button-checked-bg: @disabled-active-bg; +@radio-disabled-button-checked-color: @disabled-color; +@radio-wrapper-margin-right: 8px; + +// Media queries breakpoints +// @screen-xs and @screen-xs-min is not used in Grid +// smallest break point is @screen-md +@screen-xs: 480px; +@screen-xs-min: @screen-xs; +// 👆 Extra small screen / phone + +// 👇 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 desktop +@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; + +// Layout +@layout-body-background: #f0f2f5; +@layout-header-background: #001529; +@layout-header-height: 64px; +@layout-header-padding: 0 50px; +@layout-header-color: @text-color; +@layout-footer-padding: 24px 50px; +@layout-footer-background: @layout-body-background; +@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, order by `z-index` +@zindex-badge: auto; +@zindex-table-fixed: 2; +@zindex-affix: 10; +@zindex-back-top: 10; +@zindex-picker-panel: 10; +@zindex-popup-close: 10; +@zindex-modal: 1000; +@zindex-modal-mask: 1000; +@zindex-message: 1010; +@zindex-notification: 1010; +@zindex-popover: 1030; +@zindex-dropdown: 1050; +@zindex-picker: 1050; +@zindex-popoconfirm: 1060; +@zindex-tooltip: 1070; +@zindex-image: 1080; + +// Animation +@animation-duration-slow: 0.3s; // Modal +@animation-duration-base: 0.2s; +@animation-duration-fast: 0.1s; // Tooltip + +//CollapsePanel +@collapse-panel-border-radius: @border-radius-base; + +//Dropdown +@dropdown-menu-bg: @component-background; +@dropdown-vertical-padding: 5px; +@dropdown-edge-child-vertical-padding: 4px; +@dropdown-font-size: @font-size-base; +@dropdown-line-height: 22px; + +// Form +// --- +@label-required-color: @highlight-color; +@label-color: @heading-color; +@form-warning-input-bg: @input-bg; +@form-item-margin-bottom: 24px; +@form-item-trailing-colon: true; +@form-vertical-label-padding: 0 0 8px; +@form-vertical-label-margin: 0; +@form-item-label-font-size: @font-size-base; +@form-item-label-height: @input-height-base; +@form-item-label-colon-margin-right: 8px; +@form-item-label-colon-margin-left: 2px; +@form-error-input-bg: @input-bg; + +// Input +// --- +@input-height-base: @height-base; +@input-height-lg: @height-lg; +@input-height-sm: @height-sm; +@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: max( + (round(((@input-height-base - @font-size-base * @line-height-base) / 2) * 10) / 10) - + @border-width-base, + 3px +); +@input-padding-vertical-sm: max( + (round(((@input-height-sm - @font-size-base * @line-height-base) / 2) * 10) / 10) - + @border-width-base, + 0 +); +@input-padding-vertical-lg: ( + ceil(((@input-height-lg - @font-size-lg * @line-height-base) / 2) * 10) / 10 + ) - @border-width-base; +@input-placeholder-color: hsv(0, 0, 75%); +@input-color: @text-color; +@input-icon-color: @input-color; +@input-border-color: @border-color-base; +@input-bg: @component-background; +@input-number-hover-border-color: @input-hover-border-color; +@input-number-handler-active-bg: #f4f4f4; +@input-number-handler-hover-bg: @primary-5; +@input-number-handler-bg: @component-background; +@input-number-handler-border-color: @border-color-base; +@input-addon-bg: @background-color-light; +@input-hover-border-color: @primary-5; +@input-disabled-bg: @disabled-bg; +@input-outline-offset: 0 0; +@input-icon-hover-color: fade(@black, 85%); +@input-disabled-color: @disabled-color; + +// Mentions +// --- +@mentions-dropdown-bg: @component-background; +@mentions-dropdown-menu-item-hover-bg: @mentions-dropdown-bg; + +// Select +// --- +@select-border-color: @border-color-base; +@select-item-selected-color: @text-color; +@select-item-selected-font-weight: 600; +@select-dropdown-bg: @component-background; +@select-item-selected-bg: @primary-1; +@select-item-active-bg: @item-hover-bg; +@select-dropdown-vertical-padding: @dropdown-vertical-padding; +@select-dropdown-font-size: @dropdown-font-size; +@select-dropdown-line-height: @dropdown-line-height; +@select-dropdown-height: 32px; +@select-background: @component-background; +@select-clear-background: @select-background; +@select-selection-item-bg: @background-color-base; +@select-selection-item-border-color: @border-color-split; +@select-single-item-height-lg: 40px; +@select-multiple-item-height: @input-height-base - @input-padding-vertical-base * 2; // Normal 24px +@select-multiple-item-height-lg: 32px; +@select-multiple-item-spacing-half: ceil((@input-padding-vertical-base / 2)); +@select-multiple-disabled-background: @input-disabled-bg; +@select-multiple-item-disabled-color: #bfbfbf; +@select-multiple-item-disabled-border-color: @select-border-color; + +// Cascader +// --- +@cascader-bg: @component-background; +@cascader-item-selected-bg: @primary-1; +@cascader-menu-bg: @component-background; +@cascader-menu-border-color-split: @border-color-split; + +// Cascader +// ---- +@cascader-dropdown-vertical-padding: @dropdown-vertical-padding; +@cascader-dropdown-edge-child-vertical-padding: @dropdown-edge-child-vertical-padding; +@cascader-dropdown-font-size: @dropdown-font-size; +@cascader-dropdown-line-height: @dropdown-line-height; + +// Anchor +// --- +@anchor-bg: transparent; +@anchor-border-color: @border-color-split; +@anchor-link-top: 4px; +@anchor-link-left: 16px; +@anchor-link-padding: @anchor-link-top 0 @anchor-link-top @anchor-link-left; + +// Tooltip +// --- +// Tooltip max width +@tooltip-max-width: 250px; +// Tooltip text color +@tooltip-color: #fff; +// Tooltip background color +@tooltip-bg: rgba(0, 0, 0, 0.75); +// Tooltip arrow width +@tooltip-arrow-width: 8px * sqrt(2); +// Tooltip distance with trigger +@tooltip-distance: @tooltip-arrow-width - 1px + 4px; +// Tooltip arrow color +@tooltip-arrow-color: @tooltip-bg; +@tooltip-border-radius: @border-radius-base; + +// Popover +// --- +// Popover body background color +@popover-bg: @component-background; +// Popover text color +@popover-color: @text-color; +// Popover maximum width +@popover-min-width: 177px; +@popover-min-height: 32px; +// Popover arrow width +@popover-arrow-width: @tooltip-arrow-width; +// 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; +@popover-padding-horizontal: @padding-md; + +// Modal +// -- +@modal-header-padding-vertical: @padding-md; +@modal-header-padding-horizontal: @padding-lg; +@modal-body-padding: @padding-lg; +@modal-header-bg: @component-background; +@modal-header-padding: @modal-header-padding-vertical @modal-header-padding-horizontal; +@modal-header-border-width: @border-width-base; +@modal-header-border-style: @border-style-base; +@modal-header-title-line-height: 22px; +@modal-header-title-font-size: @font-size-lg; +@modal-header-border-color-split: @border-color-split; +@modal-header-close-size: @modal-header-title-line-height + 2 * @modal-header-padding-vertical; +@modal-content-bg: @component-background; +@modal-heading-color: @heading-color; +@modal-close-color: @text-color-secondary; +@modal-footer-bg: transparent; +@modal-footer-border-color-split: @border-color-split; +@modal-footer-border-style: @border-style-base; +@modal-footer-padding-vertical: 10px; +@modal-footer-padding-horizontal: 16px; +@modal-footer-border-width: @border-width-base; +@modal-mask-bg: fade(@black, 45%); +@modal-confirm-body-padding: 32px 32px 24px; +@modal-confirm-title-font-size: @font-size-lg; +@modal-border-radius: @border-radius-base; + +// Progress +// -- +@progress-default-color: @processing-color; +@progress-remaining-color: rgba(0, 0, 0, 0.04); +@progress-info-text-color: @progress-text-color; +@progress-radius: 100px; +@progress-steps-item-bg: #f3f3f3; +@progress-text-font-size: 1em; +@progress-text-color: @text-color; // This is for circle text color, should be renamed better +@progress-circle-text-font-size: 1em; +// Menu +// --- +@menu-inline-toplevel-item-height: 40px; +@menu-item-height: 40px; +@menu-item-group-height: @line-height-base; +@menu-collapsed-width: 80px; +@menu-bg: @component-background; +@menu-popup-bg: @component-background; +@menu-item-color: @text-color; +@menu-inline-submenu-bg: @background-color-light; +@menu-highlight-color: @primary-color; +@menu-highlight-danger-color: @error-color; +@menu-item-active-bg: @primary-1; +@menu-item-active-danger-bg: @red-1; +@menu-item-active-border-width: 3px; +@menu-item-group-title-color: @text-color-secondary; +@menu-item-vertical-margin: 4px; +@menu-item-font-size: @font-size-base; +@menu-item-boundary-margin: 8px; +@menu-item-padding-horizontal: 20px; +@menu-item-padding: 0 @menu-item-padding-horizontal; +@menu-horizontal-line-height: 46px; +@menu-icon-margin-right: 10px; +@menu-icon-size: @menu-item-font-size; +@menu-icon-size-lg: @font-size-lg; +@menu-item-group-title-font-size: @menu-item-font-size; + +// dark theme +@menu-dark-color: @text-color-secondary-dark; +@menu-dark-danger-color: @error-color; +@menu-dark-bg: @layout-header-background; +@menu-dark-arrow-color: #fff; +@menu-dark-inline-submenu-bg: #000c17; +@menu-dark-highlight-color: #fff; +@menu-dark-item-active-bg: @primary-color; +@menu-dark-item-active-danger-bg: @error-color; +@menu-dark-selected-item-icon-color: @white; +@menu-dark-selected-item-text-color: @white; +@menu-dark-item-hover-bg: transparent; +// Spin +// --- +@spin-dot-size-sm: 14px; +@spin-dot-size: 20px; +@spin-dot-size-lg: 32px; + +// Table +// -- +@table-bg: @component-background; +@table-header-bg: @background-color-light; +@table-header-color: @heading-color; +@table-header-sort-bg: @background-color-base; +@table-body-sort-bg: #fafafa; +@table-row-hover-bg: @background-color-light; +@table-selected-row-color: inherit; +@table-selected-row-bg: @primary-1; +@table-body-selected-sort-bg: @table-selected-row-bg; +@table-selected-row-hover-bg: ~'var(--@{ant-prefix}-primary-color-active-deprecated-d-02)'; +@table-expanded-row-bg: #fbfbfb; +@table-padding-vertical: 16px; +@table-padding-horizontal: 16px; +@table-padding-vertical-md: (@table-padding-vertical * 3 / 4); +@table-padding-horizontal-md: (@table-padding-horizontal / 2); +@table-padding-vertical-sm: (@table-padding-vertical / 2); +@table-padding-horizontal-sm: (@table-padding-horizontal / 2); +@table-border-color: @border-color-split; +@table-border-radius-base: @border-radius-base; +@table-footer-bg: @background-color-light; +@table-footer-color: @heading-color; +@table-header-bg-sm: @table-header-bg; +@table-font-size: @font-size-base; +@table-font-size-md: @table-font-size; +@table-font-size-sm: @table-font-size; +@table-header-cell-split-color: rgba(0, 0, 0, 0.06); +// Sorter +// Legacy: `table-header-sort-active-bg` is used for hover not real active +@table-header-sort-active-bg: rgba(0, 0, 0, 0.04); +@table-fixed-header-sort-active-bg: hsv(0, 0, 96%); + +// Filter +@table-header-filter-active-bg: rgba(0, 0, 0, 0.04); +@table-filter-btns-bg: inherit; +@table-filter-dropdown-bg: @component-background; +@table-expand-icon-bg: @component-background; +@table-selection-column-width: 32px; +// Sticky +@table-sticky-scroll-bar-bg: fade(#000, 35%); +@table-sticky-scroll-bar-radius: 4px; + +// Tag +// -- +@tag-border-radius: @border-radius-base; +@tag-default-bg: @background-color-light; +@tag-default-color: @text-color; +@tag-font-size: @font-size-sm; +@tag-line-height: 20px; + +// TimePicker +// --- +@picker-bg: @component-background; +@picker-basic-cell-hover-color: @item-hover-bg; +@picker-basic-cell-active-with-range-color: @primary-1; +@picker-basic-cell-hover-with-range-color: ~'var(--@{ant-prefix}-primary-color-deprecated-l-35)'; +@picker-basic-cell-disabled-bg: rgba(0, 0, 0, 0.04); +@picker-border-color: @border-color-split; +@picker-date-hover-range-border-color: ~'var(--@{ant-prefix}-primary-color-deprecated-l-20)'; +@picker-date-hover-range-color: @picker-basic-cell-hover-with-range-color; +@picker-time-panel-column-width: 56px; +@picker-time-panel-column-height: 224px; +@picker-time-panel-cell-height: 28px; +@picker-panel-cell-height: 24px; +@picker-panel-cell-width: 36px; +@picker-text-height: 40px; +@picker-panel-without-time-cell-height: 66px; + +// Calendar +// --- +@calendar-bg: @component-background; +@calendar-input-bg: @input-bg; +@calendar-border-color: @border-color-inverse; +@calendar-item-active-bg: @item-active-bg; +@calendar-column-active-bg: ~'var(--@{ant-prefix}-primary-color-active-deprecated-f-30)'; +@calendar-full-bg: @calendar-bg; +@calendar-full-panel-bg: @calendar-full-bg; + +// Carousel +// --- +@carousel-dot-width: 16px; +@carousel-dot-height: 3px; +@carousel-dot-active-width: 24px; + +// Badge +// --- +@badge-height: 20px; +@badge-height-sm: 14px; +@badge-dot-size: 6px; +@badge-font-size: @font-size-sm; +@badge-font-size-sm: @font-size-sm; +@badge-font-weight: normal; +@badge-status-size: 6px; +@badge-text-color: @component-background; +@badge-color: @highlight-color; + +// Rate +// --- +@rate-star-color: @yellow-6; +@rate-star-bg: @border-color-split; +@rate-star-size: 20px; +@rate-star-hover-scale: scale(1.1); + +// Card +// --- +@card-head-color: @heading-color; +@card-head-background: transparent; +@card-head-font-size: @font-size-lg; +@card-head-font-size-sm: @font-size-base; +@card-head-padding: 16px; +@card-head-padding-sm: (@card-head-padding / 2); +@card-head-height: 48px; +@card-head-height-sm: 36px; +@card-inner-head-padding: 12px; +@card-padding-base: 24px; +@card-padding-base-sm: (@card-padding-base / 2); +@card-actions-background: @component-background; +@card-actions-li-margin: 12px 0; +@card-skeleton-bg: #cfd8dc; +@card-background: @component-background; +@card-shadow: 0 1px 2px -2px rgba(0, 0, 0, 0.16), 0 3px 6px 0 rgba(0, 0, 0, 0.12), + 0 5px 12px 4px rgba(0, 0, 0, 0.09); +@card-radius: @border-radius-base; +@card-head-tabs-margin-bottom: -17px; +@card-head-extra-color: @text-color; + +// Comment +// --- +@comment-bg: inherit; +@comment-padding-base: @padding-md 0; +@comment-nest-indent: 44px; +@comment-font-size-base: @font-size-base; +@comment-font-size-sm: @font-size-sm; +@comment-author-name-color: @text-color-secondary; +@comment-author-time-color: #ccc; +@comment-action-color: @text-color-secondary; +@comment-action-hover-color: #595959; +@comment-actions-margin-bottom: inherit; +@comment-actions-margin-top: @margin-sm; +@comment-content-detail-p-margin-bottom: inherit; + +// Tabs +// --- +@tabs-card-head-background: @background-color-light; +@tabs-card-height: 40px; +@tabs-card-active-color: @primary-color; +@tabs-card-horizontal-padding: ( + (@tabs-card-height - floor(@font-size-base * @line-height-base)) / 2 + ) - @border-width-base @padding-md; +@tabs-card-horizontal-padding-sm: 6px @padding-md; +@tabs-card-horizontal-padding-lg: 7px @padding-md 6px; +@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 @margin-md 0; +@tabs-horizontal-gutter: 32px; +@tabs-horizontal-margin: 0 0 0 @tabs-horizontal-gutter; +@tabs-horizontal-margin-rtl: 0 0 0 32px; +@tabs-horizontal-padding: @padding-sm 0; +@tabs-horizontal-padding-lg: @padding-md 0; +@tabs-horizontal-padding-sm: @padding-xs 0; +@tabs-vertical-padding: @padding-xs @padding-lg; +@tabs-vertical-margin: @margin-md 0 0 0; +@tabs-scrolling-size: 32px; +@tabs-highlight-color: @primary-color; +@tabs-hover-color: @primary-5; +@tabs-active-color: @primary-7; +@tabs-card-gutter: 2px; +@tabs-card-tab-active-border-top: 2px solid transparent; + +// 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; +@avatar-group-overlapping: -8px; +@avatar-group-space: 3px; +@avatar-group-border-color: #fff; + +// Switch +// --- +@switch-height: 22px; +@switch-sm-height: 16px; +@switch-min-width: 44px; +@switch-sm-min-width: 28px; +@switch-disabled-opacity: 0.4; +@switch-color: @primary-color; +@switch-bg: @component-background; +@switch-shadow-color: fade(#00230b, 20%); +@switch-padding: 2px; +@switch-inner-margin-min: ceil(@switch-height * 0.3); +@switch-inner-margin-max: ceil(@switch-height * 1.1); +@switch-sm-inner-margin-min: ceil(@switch-sm-height * 0.3); +@switch-sm-inner-margin-max: ceil(@switch-sm-height * 1.1); + +// Pagination +// --- +@pagination-item-bg: @component-background; +@pagination-item-size: @height-base; +@pagination-item-size-sm: 24px; +@pagination-font-family: @font-family; +@pagination-font-weight-active: 500; +@pagination-item-bg-active: @component-background; +@pagination-item-link-bg: @component-background; +@pagination-item-disabled-color-active: @disabled-color; +@pagination-item-disabled-bg-active: @disabled-active-bg; +@pagination-item-input-bg: @component-background; +@pagination-mini-options-size-changer-top: 0px; + +// PageHeader +// --- +@page-header-padding: @padding-lg; +@page-header-padding-vertical: @padding-md; +@page-header-padding-breadcrumb: @padding-sm; +@page-header-content-padding-vertical: @padding-sm; +@page-header-back-color: #000; +@page-header-ghost-bg: inherit; +@page-header-heading-title: @heading-4-size; +@page-header-heading-sub-title: 14px; +@page-header-tabs-tab-font-size: 16px; + +// 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: @text-color; +@breadcrumb-separator-color: @text-color-secondary; +@breadcrumb-separator-margin: 0 @padding-xs; + +// Slider +// --- +@slider-margin: 10px 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-border-width: 2px; +@slider-handle-background-color: @component-background; +@slider-handle-color: @primary-3; +@slider-handle-color-hover: @primary-4; +@slider-handle-color-focus: ~'var(--@{ant-prefix}-primary-color-deprecated-t-20)'; +@slider-handle-color-focus-shadow: ~'var(--@{ant-prefix}-primary-color-deprecated-f-12)'; +@slider-handle-color-tooltip-open: @primary-color; +@slider-handle-size: 14px; +@slider-handle-margin-top: -5px; +@slider-handle-margin-left: -5px; +@slider-handle-shadow: 0; +@slider-dot-border-color: @border-color-split; +@slider-dot-border-color-active: ~'var(--@{ant-prefix}-primary-color-deprecated-t-50)'; +@slider-disabled-color: @disabled-color; +@slider-disabled-background-color: @component-background; + +// Tree +// --- +@tree-bg: @component-background; +@tree-title-height: 24px; +@tree-child-padding: 18px; +@tree-directory-selected-color: #fff; +@tree-directory-selected-bg: @primary-color; +@tree-node-hover-bg: @item-hover-bg; +@tree-node-selected-bg: @primary-2; + +// Collapse +// --- +@collapse-header-padding: @padding-sm @padding-md; +@collapse-header-padding-extra: 40px; +@collapse-header-bg: @background-color-light; +@collapse-content-padding: @padding-md; +@collapse-content-bg: @component-background; +@collapse-header-arrow-left: 16px; + +// Skeleton +// --- +@skeleton-color: rgba(190, 190, 190, 0.2); +@skeleton-to-color: shade(@skeleton-color, 5%); +@skeleton-paragraph-margin-top: 28px; +@skeleton-paragraph-li-margin-top: @margin-md; +@skeleton-paragraph-li-height: 16px; +@skeleton-title-height: 16px; +@skeleton-title-paragraph-margin-top: @margin-lg; + +// Transfer +// --- +@transfer-header-height: 40px; +@transfer-item-height: @height-base; +@transfer-disabled-bg: @disabled-bg; +@transfer-list-height: 200px; +@transfer-item-hover-bg: @item-hover-bg; +@transfer-item-selected-hover-bg: ~'var(--@{ant-prefix}-primary-color-active-deprecated-d-02)'; +@transfer-item-padding-vertical: 6px; +@transfer-list-search-icon-top: 12px; + +// Message +// --- +@message-notice-content-padding: 10px 16px; +@message-notice-content-bg: @component-background; +// Motion +// --- +@wave-animation-width: 6px; + +// Alert +// --- +@alert-success-border-color: @success-color-deprecated-border; +@alert-success-bg-color: @success-color-deprecated-bg; +@alert-success-icon-color: @success-color; +@alert-info-border-color: @info-color-deprecated-border; +@alert-info-bg-color: @info-color-deprecated-bg; +@alert-info-icon-color: @info-color; +@alert-warning-border-color: @warning-color-deprecated-border; +@alert-warning-bg-color: @warning-color-deprecated-bg; +@alert-warning-icon-color: @warning-color; +@alert-error-border-color: @error-color-deprecated-border; +@alert-error-bg-color: @error-color-deprecated-bg; +@alert-error-icon-color: @error-color; +@alert-message-color: @heading-color; +@alert-text-color: @text-color; +@alert-close-color: @text-color-secondary; +@alert-close-hover-color: @icon-color-hover; +@alert-padding-vertical: @padding-xs; +@alert-padding-horizontal: @padding-md - 1px; +@alert-no-icon-padding-vertical: @padding-xs; +@alert-with-description-no-icon-padding-vertical: @padding-md - 1px; +@alert-with-description-padding-vertical: @padding-md - 1px; +@alert-with-description-padding: @alert-with-description-padding-vertical 15px + @alert-with-description-no-icon-padding-vertical @alert-with-description-icon-size; +@alert-icon-top: 8px + @font-size-base * (@line-height-base / 2) - (@font-size-base / 2); +@alert-with-description-icon-size: 24px; + +// List +// --- +@list-header-background: transparent; +@list-footer-background: transparent; +@list-empty-text-padding: @padding-md; +@list-item-padding: @padding-sm 0; +@list-item-padding-sm: @padding-xs @padding-md; +@list-item-padding-lg: 16px 24px; +@list-item-meta-margin-bottom: @padding-md; +@list-item-meta-avatar-margin-right: @padding-md; +@list-item-meta-title-margin-bottom: @padding-sm; +@list-customize-card-bg: @component-background; +@list-item-meta-description-font-size: @font-size-base; + +// Statistic +// --- +@statistic-title-font-size: @font-size-base; +@statistic-content-font-size: 24px; +@statistic-unit-font-size: 24px; +@statistic-font-family: @font-family; + +// Drawer +// --- +@drawer-header-padding: @padding-md @padding-lg; +@drawer-body-padding: @padding-lg; +@drawer-bg: @component-background; +@drawer-footer-padding-vertical: @modal-footer-padding-vertical; +@drawer-footer-padding-horizontal: @modal-footer-padding-horizontal; +@drawer-header-close-size: 56px; +@drawer-title-font-size: @font-size-lg; +@drawer-title-line-height: 22px; + +// Timeline +// --- +@timeline-width: 2px; +@timeline-color: @border-color-split; +@timeline-dot-border-width: 2px; +@timeline-dot-color: @primary-color; +@timeline-dot-bg: @component-background; +@timeline-item-padding-bottom: 20px; + +// Typography +// --- +@typography-title-font-weight: 600; +@typography-title-margin-top: 1.2em; +@typography-title-margin-bottom: 0.5em; + +// Upload +// --- +@upload-actions-color: @text-color-secondary; + +// Steps +// --- +@process-tail-color: @border-color-split; +@steps-nav-arrow-color: fade(@black, 25%); +@steps-background: @component-background; +@steps-icon-size: 32px; +@steps-icon-custom-size: @steps-icon-size; +@steps-icon-custom-top: 0px; +@steps-icon-custom-font-size: 24px; +@steps-icon-top: -0.5px; +@steps-icon-font-size: @font-size-lg; +@steps-icon-margin: 0 8px 0 0; +@steps-title-line-height: @height-base; +@steps-small-icon-size: 24px; +@steps-small-icon-margin: 0 8px 0 0; +@steps-dot-size: 8px; +@steps-dot-top: 2px; +@steps-current-dot-size: 10px; +@steps-description-max-width: 140px; +@steps-nav-content-max-width: auto; +@steps-vertical-icon-width: 16px; +@steps-vertical-tail-width: 16px; +@steps-vertical-tail-width-sm: 12px; + +// Notification +// --- +@notification-bg: @component-background; +@notification-padding-vertical: 16px; +@notification-padding-horizontal: 24px; + +// Result +// --- +@result-title-font-size: 24px; +@result-subtitle-font-size: @font-size-base; +@result-icon-font-size: 72px; +@result-extra-margin: 24px 0 0 0; + +// Image +// --- +@image-size-base: 48px; +@image-font-size-base: 24px; +@image-bg: #f5f5f5; +@image-color: #fff; +@image-mask-font-size: 16px; +@image-preview-operation-size: 18px; +@image-preview-operation-color: @text-color-dark; +@image-preview-operation-disabled-color: fade(@image-preview-operation-color, 25%); + +// Segmented +// --- +@segmented-bg: fade(@black, 4%); +@segmented-hover-bg: fade(@black, 6%); +@segmented-selected-bg: @white; +@segmented-label-color: fade(@black, 65%); +@segmented-label-hover-color: #262626; diff --git a/src/styles/variable.less b/src/styles/variable.less new file mode 100644 index 0000000..6c70293 --- /dev/null +++ b/src/styles/variable.less @@ -0,0 +1,4 @@ +@root-entry-name: variable; + +@import './themes/variable.less'; +@import './core/index'; diff --git a/src/testData/SettingAIgorithm.tsx b/src/testData/SettingAIgorithm.tsx new file mode 100644 index 0000000..54c91c3 --- /dev/null +++ b/src/testData/SettingAIgorithm.tsx @@ -0,0 +1,41 @@ +/* + * @Author: zhoux zhouxia@supervision.ltd + * @Date: 2023-11-07 10:57:28 + * @LastEditors: zhoux zhouxia@supervision.ltd + * @LastEditTime: 2023-11-07 10:57:32 + * @FilePath: \general-ai-platform-web\src\testData\SettingAIgorithm.ts + * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE + */ +const data = [ + '苏胜天人物识别算法', + '苏胜天交警识别识别', + '苏胜天车牌识别算法', + '苏胜天语音识别算法', + '苏胜天轨迹识别算法', + ].map((item) => ({ + title: '苏胜天算法模型', + subTitle: 经典算法, + actions: [模型版本选择], + avatar: 'https://gw.alipayobjects.com/zos/antfincdn/UCSiy1j6jx/xingzhuang.svg', + content: ( +
+
{item}
+
+ +
+
+ 版本:V1.2.4 +
+
+ 更新时间:2022-12-12 +
+
+ ), + })); \ No newline at end of file diff --git a/src/testData/fabricGroupRoom.ts b/src/testData/fabricGroupRoom.ts new file mode 100644 index 0000000..dd05cf3 --- /dev/null +++ b/src/testData/fabricGroupRoom.ts @@ -0,0 +1,1644 @@ +const modelGroup: Record[] = [ + { + type: 'group', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: 0, + top: 0, + width: 115.6016, + height: 39, + fill: 'rgb(0,0,0)', + stroke: null, + strokeWidth: 0, + strokeDashArray: null, + strokeLineCap: 'butt', + strokeDashOffset: 0, + strokeLineJoin: 'miter', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: null, + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + id: 'b6ca8fad-c240-4659-9952-a90167699ce9', + selectable: false, + hasControls: true, + userProperty: {}, + objects: [ + { + type: 'group', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: -57.8008, + top: -19.5, + width: 36, + height: 39, + fill: 'rgb(0,0,0)', + stroke: null, + strokeWidth: 0, + strokeDashArray: null, + strokeLineCap: 'butt', + strokeDashOffset: 0, + strokeLineJoin: 'miter', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: '', + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + selectable: true, + hasControls: true, + objects: [ + { + type: 'path', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: -12.5, + top: -18, + width: 24, + height: 27, + fill: 'white', + stroke: null, + strokeWidth: 1, + strokeDashArray: null, + strokeLineCap: 'butt', + strokeDashOffset: 0, + strokeLineJoin: 'miter', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: null, + visible: true, + backgroundColor: '', + fillRule: 'evenodd', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + selectable: true, + hasControls: true, + path: [ + ['M', 19.2704, 25.9335], + ['C', 25.3006, 25.299, 30, 20.1983, 30, 14], + ['C', 30, 7.37258, 24.6274, 2, 18, 2], + ['C', 11.3726, 2, 6, 7.37258, 6, 14], + ['C', 6, 19.8172, 10.1393, 24.6677, 15.6332, 25.7667], + ['L', 17.5, 29], + ['L', 19.2704, 25.9335], + ['Z'], + ], + }, + { + type: 'path', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: -13.5, + top: -19, + width: 26, + height: 30, + fill: '#DCDCDC', + stroke: null, + strokeWidth: 1, + strokeDashArray: null, + strokeLineCap: 'butt', + strokeDashOffset: 0, + strokeLineJoin: 'miter', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: null, + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + selectable: true, + hasControls: true, + path: [ + ['M', 19.2704, 25.9335], + ['L', 19.1658, 24.939], + ['L', 18.6591, 24.9924], + ['L', 18.4044, 25.4335], + ['L', 19.2704, 25.9335], + ['Z'], + ['M', 15.6332, 25.7667], + ['L', 16.4993, 25.2667], + ['L', 16.273, 24.8748], + ['L', 15.8294, 24.7861], + ['L', 15.6332, 25.7667], + ['Z'], + ['M', 17.5, 29], + ['L', 16.634, 29.5], + ['L', 17.5, 31], + ['L', 18.366, 29.5], + ['L', 17.5, 29], + ['Z'], + ['M', 29, 14], + ['C', 29, 19.6811, 24.6924, 24.3575, 19.1658, 24.939], + ['L', 19.3751, 26.9281], + ['C', 25.9088, 26.2405, 31, 20.7155, 31, 14], + ['L', 29, 14], + ['Z'], + ['M', 18, 3], + ['C', 24.0751, 3, 29, 7.92487, 29, 14], + ['L', 31, 14], + ['C', 31, 6.8203, 25.1797, 1, 18, 1], + ['L', 18, 3], + ['Z'], + ['M', 7, 14], + ['C', 7, 7.92487, 11.9249, 3, 18, 3], + ['L', 18, 1], + ['C', 10.8203, 1, 5, 6.8203, 5, 14], + ['L', 7, 14], + ['Z'], + ['M', 15.8294, 24.7861], + ['C', 10.7937, 23.7788, 7, 19.3313, 7, 14], + ['L', 5, 14], + ['C', 5, 20.3032, 9.48488, 25.5566, 15.4371, 26.7472], + ['L', 15.8294, 24.7861], + ['Z'], + ['M', 14.7672, 26.2667], + ['L', 16.634, 29.5], + ['L', 18.366, 28.5], + ['L', 16.4993, 25.2667], + ['L', 14.7672, 26.2667], + ['Z'], + ['M', 18.366, 29.5], + ['L', 20.1364, 26.4335], + ['L', 18.4044, 25.4335], + ['L', 16.634, 28.5], + ['L', 18.366, 29.5], + ['Z'], + ], + }, + ], + }, + { + type: 'group', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: -47.8008, + top: -13.4177, + width: 16, + height: 16, + fill: 'rgb(0,0,0)', + stroke: null, + strokeWidth: 0, + strokeDashArray: null, + strokeLineCap: 'butt', + strokeDashOffset: 0, + strokeLineJoin: 'miter', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: '', + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + selectable: true, + hasControls: true, + objects: [ + { + type: 'path', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: -6.9333, + top: -6.6, + width: 12.6666, + height: 0, + fill: '', + stroke: '#52C41A', + strokeWidth: 1.2, + strokeDashArray: null, + strokeLineCap: 'round', + strokeDashOffset: 0, + strokeLineJoin: 'round', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: null, + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + selectable: true, + hasControls: true, + path: [ + ['M', 14.3334, 2], + ['L', 7.66675, 2], + ['L', 1.66675, 2], + ], + }, + { + type: 'path', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: -0.9332, + top: -6.6, + width: 0, + height: 5.6667, + fill: '', + stroke: '#52C41A', + strokeWidth: 1.2, + strokeDashArray: null, + strokeLineCap: 'round', + strokeDashOffset: 0, + strokeLineJoin: 'round', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: null, + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + selectable: true, + hasControls: true, + path: [ + ['M', 7.66675, 7.66667], + ['L', 7.66675, 2], + ], + }, + { + type: 'path', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: -6.9994, + top: -2.0727, + width: 11.833, + height: 7.0096, + fill: '#52C41A', + stroke: '#52C41A', + strokeWidth: 1.2, + strokeDashArray: null, + strokeLineCap: 'round', + strokeDashOffset: 0, + strokeLineJoin: 'round', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: null, + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + selectable: true, + hasControls: true, + path: [ + ['M', 2.80841, 6.52734], + ['L', 13.4336, 9.37438], + ['L', 12.8528, 10.254], + ['L', 11.5187, 12.6573], + ['L', 10.9379, 13.5369], + ['L', 1.60059, 11.035], + ['L', 2.80841, 6.52734], + ['Z'], + ], + }, + { + type: 'path', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: 2.9186, + top: 1.6539, + width: 2.622, + height: 2.9209, + fill: '', + stroke: '#52C41A', + strokeWidth: 1.2, + strokeDashArray: null, + strokeLineCap: 'round', + strokeDashOffset: 0, + strokeLineJoin: 'round', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: null, + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + selectable: true, + hasControls: true, + path: [ + ['M', 12.8527, 10.2539], + ['L', 14.1406, 10.599], + ['L', 13.4504, 13.1748], + ['L', 11.5186, 12.6572], + ], + }, + { + type: 'circle', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: -5, + top: 0, + width: 2.5, + height: 2.5, + fill: '', + stroke: 'white', + strokeWidth: 0.5, + strokeDashArray: null, + strokeLineCap: 'butt', + strokeDashOffset: 0, + strokeLineJoin: 'miter', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: null, + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + radius: 1.25, + startAngle: 0, + endAngle: 360, + selectable: true, + hasControls: true, + }, + ], + }, + { + type: 'textbox', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: -19.6724, + top: -13.5967, + width: 400, + height: 90.4, + fill: 'rgb(0,0,0)', + stroke: null, + strokeWidth: 1, + strokeDashArray: null, + strokeLineCap: 'butt', + strokeDashOffset: 0, + strokeLineJoin: 'miter', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 0.1932, + scaleY: 0.1932, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: '', + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + fontFamily: 'arial', + fontWeight: 'normal', + fontSize: 80, + text: '监控设备', + underline: false, + overline: false, + linethrough: false, + textAlign: 'left', + fontStyle: 'normal', + lineHeight: 1.16, + textBackgroundColor: '', + charSpacing: 0, + styles: [], + direction: 'ltr', + path: null, + pathStartOffset: 0, + pathSide: 'left', + pathAlign: 'baseline', + minWidth: 20, + splitByGrapheme: true, + selectable: true, + hasControls: false, + }, + ], + }, +]; + +const currJson0: Record = { + version: '5.3.0', + objects: [ + { + type: 'group', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: 247.0215, + top: 444.5797, + width: 115.6016, + height: 39, + fill: 'rgb(0,0,0)', + stroke: null, + strokeWidth: 0, + strokeDashArray: null, + strokeLineCap: 'butt', + strokeDashOffset: 0, + strokeLineJoin: 'miter', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: null, + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + id: 'b6ca8fad-c240-4659-9952-a90167699ce9', + selectable: false, + hasControls: true, + userProperty: { + modelId: '121', + status: '0', + id: '2', + label: '正常', + des: '卧室B', + + param1: '', + }, + objects: [ + { + type: 'group', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: -57.8008, + top: -19.5, + width: 36, + height: 39, + fill: 'rgb(0,0,0)', + stroke: null, + strokeWidth: 0, + strokeDashArray: null, + strokeLineCap: 'butt', + strokeDashOffset: 0, + strokeLineJoin: 'miter', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: '', + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + selectable: true, + hasControls: true, + objects: [ + { + type: 'path', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: -12.5, + top: -18, + width: 24, + height: 27, + fill: 'white', + stroke: null, + strokeWidth: 1, + strokeDashArray: null, + strokeLineCap: 'butt', + strokeDashOffset: 0, + strokeLineJoin: 'miter', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: null, + visible: true, + backgroundColor: '', + fillRule: 'evenodd', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + selectable: true, + hasControls: true, + path: [ + ['M', 19.2704, 25.9335], + ['C', 25.3006, 25.299, 30, 20.1983, 30, 14], + ['C', 30, 7.37258, 24.6274, 2, 18, 2], + ['C', 11.3726, 2, 6, 7.37258, 6, 14], + ['C', 6, 19.8172, 10.1393, 24.6677, 15.6332, 25.7667], + ['L', 17.5, 29], + ['L', 19.2704, 25.9335], + ['Z'], + ], + }, + { + type: 'path', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: -13.5, + top: -19, + width: 26, + height: 30, + fill: '#DCDCDC', + stroke: null, + strokeWidth: 1, + strokeDashArray: null, + strokeLineCap: 'butt', + strokeDashOffset: 0, + strokeLineJoin: 'miter', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: null, + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + selectable: true, + hasControls: true, + path: [ + ['M', 19.2704, 25.9335], + ['L', 19.1658, 24.939], + ['L', 18.6591, 24.9924], + ['L', 18.4044, 25.4335], + ['L', 19.2704, 25.9335], + ['Z'], + ['M', 15.6332, 25.7667], + ['L', 16.4993, 25.2667], + ['L', 16.273, 24.8748], + ['L', 15.8294, 24.7861], + ['L', 15.6332, 25.7667], + ['Z'], + ['M', 17.5, 29], + ['L', 16.634, 29.5], + ['L', 17.5, 31], + ['L', 18.366, 29.5], + ['L', 17.5, 29], + ['Z'], + ['M', 29, 14], + ['C', 29, 19.6811, 24.6924, 24.3575, 19.1658, 24.939], + ['L', 19.3751, 26.9281], + ['C', 25.9088, 26.2405, 31, 20.7155, 31, 14], + ['L', 29, 14], + ['Z'], + ['M', 18, 3], + ['C', 24.0751, 3, 29, 7.92487, 29, 14], + ['L', 31, 14], + ['C', 31, 6.8203, 25.1797, 1, 18, 1], + ['L', 18, 3], + ['Z'], + ['M', 7, 14], + ['C', 7, 7.92487, 11.9249, 3, 18, 3], + ['L', 18, 1], + ['C', 10.8203, 1, 5, 6.8203, 5, 14], + ['L', 7, 14], + ['Z'], + ['M', 15.8294, 24.7861], + ['C', 10.7937, 23.7788, 7, 19.3313, 7, 14], + ['L', 5, 14], + ['C', 5, 20.3032, 9.48488, 25.5566, 15.4371, 26.7472], + ['L', 15.8294, 24.7861], + ['Z'], + ['M', 14.7672, 26.2667], + ['L', 16.634, 29.5], + ['L', 18.366, 28.5], + ['L', 16.4993, 25.2667], + ['L', 14.7672, 26.2667], + ['Z'], + ['M', 18.366, 29.5], + ['L', 20.1364, 26.4335], + ['L', 18.4044, 25.4335], + ['L', 16.634, 28.5], + ['L', 18.366, 29.5], + ['Z'], + ], + }, + ], + }, + { + type: 'group', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: -47.8008, + top: -13.4177, + width: 16, + height: 16, + fill: 'rgb(0,0,0)', + stroke: null, + strokeWidth: 0, + strokeDashArray: null, + strokeLineCap: 'butt', + strokeDashOffset: 0, + strokeLineJoin: 'miter', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: '', + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + selectable: true, + hasControls: true, + objects: [ + { + type: 'path', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: -6.9333, + top: -6.6, + width: 12.6666, + height: 0, + fill: '', + stroke: '#52C41A', + strokeWidth: 1.2, + strokeDashArray: null, + strokeLineCap: 'round', + strokeDashOffset: 0, + strokeLineJoin: 'round', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: null, + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + selectable: true, + hasControls: true, + path: [ + ['M', 14.3334, 2], + ['L', 7.66675, 2], + ['L', 1.66675, 2], + ], + }, + { + type: 'path', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: -0.9332, + top: -6.6, + width: 0, + height: 5.6667, + fill: '', + stroke: '#52C41A', + strokeWidth: 1.2, + strokeDashArray: null, + strokeLineCap: 'round', + strokeDashOffset: 0, + strokeLineJoin: 'round', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: null, + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + selectable: true, + hasControls: true, + path: [ + ['M', 7.66675, 7.66667], + ['L', 7.66675, 2], + ], + }, + { + type: 'path', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: -6.9994, + top: -2.0727, + width: 11.833, + height: 7.0096, + fill: '#52C41A', + stroke: '#52C41A', + strokeWidth: 1.2, + strokeDashArray: null, + strokeLineCap: 'round', + strokeDashOffset: 0, + strokeLineJoin: 'round', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: null, + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + selectable: true, + hasControls: true, + path: [ + ['M', 2.80841, 6.52734], + ['L', 13.4336, 9.37438], + ['L', 12.8528, 10.254], + ['L', 11.5187, 12.6573], + ['L', 10.9379, 13.5369], + ['L', 1.60059, 11.035], + ['L', 2.80841, 6.52734], + ['Z'], + ], + }, + { + type: 'path', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: 2.9186, + top: 1.6539, + width: 2.622, + height: 2.9209, + fill: '', + stroke: '#52C41A', + strokeWidth: 1.2, + strokeDashArray: null, + strokeLineCap: 'round', + strokeDashOffset: 0, + strokeLineJoin: 'round', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: null, + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + selectable: true, + hasControls: true, + path: [ + ['M', 12.8527, 10.2539], + ['L', 14.1406, 10.599], + ['L', 13.4504, 13.1748], + ['L', 11.5186, 12.6572], + ], + }, + { + type: 'circle', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: -5, + top: 0, + width: 2.5, + height: 2.5, + fill: '', + stroke: 'white', + strokeWidth: 0.5, + strokeDashArray: null, + strokeLineCap: 'butt', + strokeDashOffset: 0, + strokeLineJoin: 'miter', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: null, + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + radius: 1.25, + startAngle: 0, + endAngle: 360, + selectable: true, + hasControls: true, + }, + ], + }, + { + type: 'textbox', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: -19.6724, + top: -13.5967, + width: 400, + height: 90.4, + fill: 'rgb(0,0,0)', + stroke: null, + strokeWidth: 1, + strokeDashArray: null, + strokeLineCap: 'butt', + strokeDashOffset: 0, + strokeLineJoin: 'miter', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 0.1932, + scaleY: 0.1932, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: '', + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + fontFamily: 'arial', + fontWeight: 'normal', + fontSize: 80, + text: '监控设备', + underline: false, + overline: false, + linethrough: false, + textAlign: 'left', + fontStyle: 'normal', + lineHeight: 1.16, + textBackgroundColor: '', + charSpacing: 0, + styles: [], + direction: 'ltr', + path: null, + pathStartOffset: 0, + pathSide: 'left', + pathAlign: 'baseline', + minWidth: 20, + splitByGrapheme: true, + selectable: true, + hasControls: false, + }, + ], + }, + { + type: 'group', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: 778.0535, + top: 172.6152, + width: 48.205, + height: 48.205, + fill: 'rgb(0,0,0)', + stroke: null, + strokeWidth: 0, + strokeDashArray: null, + strokeLineCap: 'butt', + strokeDashOffset: 0, + strokeLineJoin: 'miter', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: null, + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + id: 'f772494d-01de-4a9e-b21d-67faed778e60', + selectable: false, + hasControls: true, + userProperty: { + modelId: '121', + status: '0', + id: '2', + label: '正常', + des: '卧室B', + }, + objects: [ + { + type: 'circle', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: -24.1025, + top: -24.1025, + width: 300, + height: 300, + fill: 'rgba(44,246,72,0.99)', + stroke: 'rgba(45,240,230,1)', + strokeWidth: 10, + strokeDashArray: null, + strokeLineCap: 'butt', + strokeDashOffset: 0, + strokeLineJoin: 'miter', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 0.1555, + scaleY: 0.1555, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: '', + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + radius: 150, + startAngle: 0, + endAngle: 360, + selectable: false, + hasControls: true, + }, + { + type: 'i-text', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: -16.7824, + top: -8.9323, + width: 160, + height: 90.4, + fill: 'rgba(255,255,255,1)', + stroke: null, + strokeWidth: 1, + strokeDashArray: null, + strokeLineCap: 'butt', + strokeDashOffset: 0, + strokeLineJoin: 'miter', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 0.1954, + scaleY: 0.1954, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: '', + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + fontFamily: 'arial', + fontWeight: 'normal', + fontSize: 80, + text: '正常', + underline: false, + overline: false, + linethrough: false, + textAlign: 'left', + fontStyle: 'normal', + lineHeight: 1.16, + textBackgroundColor: '', + charSpacing: 0, + styles: [], + direction: 'ltr', + path: null, + pathStartOffset: 0, + pathSide: 'left', + pathAlign: 'baseline', + selectable: false, + hasControls: true, + }, + ], + }, + { + type: 'group', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: 384.136, + top: 153.6373, + width: 48.205, + height: 48.205, + fill: 'rgb(0,0,0)', + stroke: null, + strokeWidth: 0, + strokeDashArray: null, + strokeLineCap: 'butt', + strokeDashOffset: 0, + strokeLineJoin: 'miter', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: null, + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + id: '3fea9335-b7a3-4b01-bf7b-7d15b4ca6b62', + selectable: false, + hasControls: true, + userProperty: { + modelId: '120', + status: '1', + id: '1', + label: '异常', + des: '卧室A', + }, + objects: [ + { + type: 'circle', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: -24.1025, + top: -24.1025, + width: 300, + height: 300, + fill: 'rgba(248,9,3,0.94)', + stroke: 'rgba(255,243,47,1)', + strokeWidth: 10, + strokeDashArray: null, + strokeLineCap: 'butt', + strokeDashOffset: 0, + strokeLineJoin: 'miter', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 0.1555, + scaleY: 0.1555, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: '', + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + radius: 150, + startAngle: 0, + endAngle: 360, + selectable: false, + hasControls: true, + }, + { + type: 'i-text', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: -15.8708, + top: -8.9298, + width: 160, + height: 90.4, + fill: 'rgba(255,255,255,1)', + stroke: null, + strokeWidth: 1, + strokeDashArray: null, + strokeLineCap: 'butt', + strokeDashOffset: 0, + strokeLineJoin: 'miter', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 0.1954, + scaleY: 0.1954, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: '', + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + fontFamily: 'arial', + fontWeight: 'normal', + fontSize: 80, + text: '警告', + underline: false, + overline: false, + linethrough: false, + textAlign: 'left', + fontStyle: 'normal', + lineHeight: 1.16, + textBackgroundColor: '', + charSpacing: 0, + styles: [], + direction: 'ltr', + path: null, + pathStartOffset: 0, + pathSide: 'left', + pathAlign: 'baseline', + selectable: false, + hasControls: true, + }, + ], + }, + { + type: 'group', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: 409.6953, + top: 437.8391, + width: 48.205, + height: 48.205, + fill: 'rgb(0,0,0)', + stroke: null, + strokeWidth: 0, + strokeDashArray: null, + strokeLineCap: 'butt', + strokeDashOffset: 0, + strokeLineJoin: 'miter', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: null, + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + id: '16c614ab-6172-4d06-b787-75e8ddc33c68', + selectable: false, + hasControls: true, + userProperty: { + modelId: '122', + status: '0', + id: '3', + label: '正常', + des: '客厅1', + }, + objects: [ + { + type: 'circle', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: -24.1025, + top: -24.1025, + width: 300, + height: 300, + fill: 'rgba(44,246,72,0.99)', + stroke: 'rgba(45,240,230,1)', + strokeWidth: 10, + strokeDashArray: null, + strokeLineCap: 'butt', + strokeDashOffset: 0, + strokeLineJoin: 'miter', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 0.1555, + scaleY: 0.1555, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: '', + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + radius: 150, + startAngle: 0, + endAngle: 360, + selectable: false, + hasControls: true, + }, + { + type: 'i-text', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: -16.7824, + top: -8.9323, + width: 160, + height: 90.4, + fill: 'rgba(255,255,255,1)', + stroke: null, + strokeWidth: 1, + strokeDashArray: null, + strokeLineCap: 'butt', + strokeDashOffset: 0, + strokeLineJoin: 'miter', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 0.1954, + scaleY: 0.1954, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: '', + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + fontFamily: 'arial', + fontWeight: 'normal', + fontSize: 80, + text: '正常', + underline: false, + overline: false, + linethrough: false, + textAlign: 'left', + fontStyle: 'normal', + lineHeight: 1.16, + textBackgroundColor: '', + charSpacing: 0, + styles: [], + direction: 'ltr', + path: null, + pathStartOffset: 0, + pathSide: 'left', + pathAlign: 'baseline', + selectable: false, + hasControls: true, + }, + ], + }, + { + type: 'group', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: 384.136, + top: 706.1746, + width: 48.205, + height: 48.205, + fill: 'rgb(0,0,0)', + stroke: null, + strokeWidth: 0, + strokeDashArray: null, + strokeLineCap: 'butt', + strokeDashOffset: 0, + strokeLineJoin: 'miter', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: null, + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + id: '6217576c-4b4a-4916-948a-e99fe9f03bbc', + selectable: false, + hasControls: true, + userProperty: { + modelId: '124', + status: '1', + id: '4', + label: '异常', + des: '卧室C', + }, + objects: [ + { + type: 'circle', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: -24.1025, + top: -24.1025, + width: 300, + height: 300, + fill: 'rgba(248,9,3,0.94)', + stroke: 'rgba(255,243,47,1)', + strokeWidth: 10, + strokeDashArray: null, + strokeLineCap: 'butt', + strokeDashOffset: 0, + strokeLineJoin: 'miter', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 0.1555, + scaleY: 0.1555, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: '', + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + radius: 150, + startAngle: 0, + endAngle: 360, + selectable: false, + hasControls: true, + }, + { + type: 'i-text', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: -15.8708, + top: -8.9298, + width: 160, + height: 90.4, + fill: 'rgba(255,255,255,1)', + stroke: null, + strokeWidth: 1, + strokeDashArray: null, + strokeLineCap: 'butt', + strokeDashOffset: 0, + strokeLineJoin: 'miter', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 0.1954, + scaleY: 0.1954, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: '', + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + fontFamily: 'arial', + fontWeight: 'normal', + fontSize: 80, + text: '警告', + underline: false, + overline: false, + linethrough: false, + textAlign: 'left', + fontStyle: 'normal', + lineHeight: 1.16, + textBackgroundColor: '', + charSpacing: 0, + styles: [], + direction: 'ltr', + path: null, + pathStartOffset: 0, + pathSide: 'left', + pathAlign: 'baseline', + selectable: false, + hasControls: true, + }, + ], + }, + ], + clipPath: { + type: 'rect', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: 0, + top: 0, + width: 1200, + height: 900, + fill: 'rgba(255,255,255,1)', + stroke: null, + strokeWidth: 0, + strokeDashArray: null, + strokeLineCap: 'butt', + strokeDashOffset: 0, + strokeLineJoin: 'miter', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: null, + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + rx: 0, + ry: 0, + selectable: false, + hasControls: true, + }, +}; +let currJson00: Record = { + ...currJson0, + // objects: [], +}; + +// 生成100到1100之间的随机整数 +// function generateRandomNumber(minNum, maxNum) { +// // 生成0到1之间的随机小数 +// const randomFraction = Math.random(); + +// // 将随机小数映射到100到1100之间的范围 +// const randomNumber = Math.floor(randomFraction * (maxNum - minNum + 1) + minNum); + +// return randomNumber; +// } +// let startTime = new Date().getTime() +// let endTime = new Date().getTime() + +// for (let i = 0; i < 2; i++) { +// let currObjects = JSON.parse(JSON.stringify(currJson0.objects)) +// currObjects = currObjects.map(item=>{ +// item.left = generateRandomNumber(100, 1100) +// item.top = generateRandomNumber(100, 800) +// return item +// }) +// currJson00.objects = currJson00.objects.concat(currObjects) +// } +// endTime = new Date().getTime() +// console.log(currJson00,'currJson00', endTime-startTime) + +export const currJson1 = currJson00; + +export const modelGroups = modelGroup diff --git a/src/testData/fabricRoomList.ts b/src/testData/fabricRoomList.ts new file mode 100644 index 0000000..8599a08 --- /dev/null +++ b/src/testData/fabricRoomList.ts @@ -0,0 +1,176 @@ +/* + * @Author: zhoux zhouxia@supervision.ltd + * @Date: 2023-12-12 15:41:56 + * @LastEditors: zhoux zhouxia@supervision.ltd + * @LastEditTime: 2024-01-08 09:47:19 + * @FilePath: \general-ai-platform-web\src\testData\fabricRoomList.ts + * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE + */ + +import { fetchWatchGroupObjects } from './fabricWatchIcons'; +// 模型状态 在线 离线 告警 故障 +const startData: Record = { + modelsList: [ + { + deviceType: '1', // 模型类型 1 设备1 2 设备2 + id: '1001', // 模型id + status: 'watchOnline', // + deviceName: '监控设备1', // 模型名称 + deviceCode: 'code1002', + deviceLocation: '客厅', + deviceParams: '设备参数', + deviceCategory: '控制器', + diviceGroup: '组1', + baseInfo: { + left: 527.0215, // 相对x + top: 24.5797, // 相对y + }, + }, + { + deviceType: '1', // 模型类型 1 设备1 2 设备2 + id: '1002', // 模型id + status: 'watchError', // 模型状态 在线 离线 告警 故障 + deviceName: '监控设备2', // 模型名称 + deviceCode: 'code1001', + deviceLocation: '客厅', + deviceParams: '设备参数', + deviceCategory: '控制器', + diviceGroup: '组1', + baseInfo: { + left: 397.0215, // 相对x + top: 444.5797, // 相对y + }, + }, + { + deviceType: '1', // 模型类型 1 设备1 2 设备2 + id: '1003', // 模型id + status: 'watchOutline', // 模型状态 在线 离线 告警 故障 + deviceName: '监控设备2', // 模型名称 + deviceCode: 'code1001', + deviceLocation: '客厅', + deviceParams: '设备参数', + deviceCategory: '控制器', + diviceGroup: '组1', + baseInfo: { + left: 397.0215, // 相对x + top: 144.5797, // 相对y + }, + }, + { + deviceType: '1', // 模型类型 1 设备1 2 设备2 + id: '1004', // 模型id + status: 'watchOutline', // 模型状态 在线 离线 告警 故障 + deviceName: '监控设备2', // 模型名称 + deviceCode: 'code1001', + deviceLocation: '客厅', + deviceParams: '设备参数', + deviceCategory: '控制器', + diviceGroup: '组1', + baseInfo: { + left: 297.0215, // 相对x + top: 644.5797, // 相对y + }, + }, + { + deviceType: '1', // 模型类型 1 设备1 2 设备2 + id: '1005', // 模型id + status: 'watchWarn', // 模型状态 在线 离线 告警 故障 + deviceName: '监控设备2', // 模型名称 + deviceCode: 'code1001', + deviceLocation: '客厅', + deviceParams: '设备参数', + deviceCategory: '控制器', + diviceGroup: '组1', + baseInfo: { + left: 797.0215, // 相对x + top: 844.5797, // 相对y + }, + }, + ], +}; + +// 生成100到1100之间的随机整数 +function generateRandomNumber(minNum, maxNum) { + // 生成0到1之间的随机小数 + const randomFraction = Math.random(); + + // 将随机小数映射到100到1100之间的范围 + const randomNumber = Math.floor(randomFraction * (maxNum - minNum + 1) + minNum); + + return randomNumber; +} + +function initFabricRoomData() { + for (let i = 0; i < 2; i++) { + let currObjects = JSON.parse(JSON.stringify(startData.modelsList)); + currObjects = currObjects.map((item) => { + item.baseInfo = { + left: generateRandomNumber(100, 1100), + top: generateRandomNumber(100, 800), + }; + return item; + }); + startData.modelsList = startData.modelsList.concat(currObjects); + } + + +} +initFabricRoomData(); + +const fabricRoomListData: Record[] = []; +startData.modelsList.forEach((item: Record) => { + const { baseInfo, ...restInfo } = item; + fabricRoomListData.push( + JSON.parse( + JSON.stringify({ + ...fetchWatchGroupObjects(item), + ...baseInfo, + userProperty: item, + selectable: false, + }), + ), + ); +}); + + +export const currJson = { + version: '5.3.0', + objects: fabricRoomListData, + clipPath: { + type: 'rect', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: 0, + top: 0, + width: 1200, + height: 900, + fill: 'rgba(255,255,255,1)', + stroke: null, + strokeWidth: 0, + strokeDashArray: null, + strokeLineCap: 'butt', + strokeDashOffset: 0, + strokeLineJoin: 'miter', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: null, + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + rx: 0, + ry: 0, + selectable: false, + hasControls: true, + }, +}; diff --git a/src/testData/fabricRoomSvg.ts b/src/testData/fabricRoomSvg.ts new file mode 100644 index 0000000..0fa87a9 --- /dev/null +++ b/src/testData/fabricRoomSvg.ts @@ -0,0 +1,49 @@ +/* + * @Author: zhoux zhouxia@supervision.ltd + * @Date: 2023-12-12 14:11:22 + * @LastEditors: zhoux zhouxia@supervision.ltd + * @LastEditTime: 2023-12-15 18:00:38 + * @FilePath: \general-ai-platform-web\src\testData\fabricRoomSvg.ts + * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE + */ +export const bgImageData = { + type: 'image', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: 1.531, + top: 0, + width: 1600, + height: 1200, + fill: 'rgb(0,0,0)', + stroke: null, + strokeWidth: 0, + strokeDashArray: null, + strokeLineCap: 'butt', + strokeDashOffset: 0, + strokeLineJoin: 'miter', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: null, + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + cropX: 0, + cropY: 0, + id: 'a3fccbda-f75a-4c52-9fc0-98a2dde189b9', + selectable: true, + hasControls: true, + src: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABkAAAASwCAIAAAAsYxHAAAAACXBIWXMAAAsTAAALEwEAmpwYAAAJp2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDYgNzkuMTY0NzUzLCAyMDIxLzAyLzE1LTExOjUyOjEzICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtbG5zOnRpZmY9Imh0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvIiB4bWxuczpleGlmPSJodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjIuMyAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDIzLTExLTI5VDE2OjI0OjExKzA4OjAwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDIzLTEyLTE1VDE3OjA0OjM2KzA4OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyMy0xMi0xNVQxNzowNDozNiswODowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Yjg1YmI1YmMtN2QxNS04MjQwLTgxMWMtOWYyY2UyYmIyNDgxIiB4bXBNTTpEb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6NmMyM2FhM2EtOWJhMC1lNDRmLWI1N2MtZTVmMTEzOTBmMmVlIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6Y2UzN2E5MmEtNWMzMC0zMTRkLTlmN2EtMGNhNzQxYTczMjQ3IiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiB0aWZmOk9yaWVudGF0aW9uPSIxIiB0aWZmOlhSZXNvbHV0aW9uPSI3MjAwMDAvMTAwMDAiIHRpZmY6WVJlc29sdXRpb249IjcyMDAwMC8xMDAwMCIgdGlmZjpSZXNvbHV0aW9uVW5pdD0iMiIgZXhpZjpDb2xvclNwYWNlPSI2NTUzNSIgZXhpZjpQaXhlbFhEaW1lbnNpb249IjEyMDAiIGV4aWY6UGl4ZWxZRGltZW5zaW9uPSI5MDAiPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmNlMzdhOTJhLTVjMzAtMzE0ZC05ZjdhLTBjYTc0MWE3MzI0NyIgc3RFdnQ6d2hlbj0iMjAyMy0xMS0yOVQxNjoyNDoxMSswODowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIyLjMgKFdpbmRvd3MpIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpiNDI0ZDA2NC03OTJhLWE1NDUtYTc4Ny0yZDVlMGNiNjY0MmMiIHN0RXZ0OndoZW49IjIwMjMtMTItMTVUMTc6MDQ6MzYrMDg6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMi4zIChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY29udmVydGVkIiBzdEV2dDpwYXJhbWV0ZXJzPSJmcm9tIGFwcGxpY2F0aW9uL3ZuZC5hZG9iZS5waG90b3Nob3AgdG8gaW1hZ2UvcG5nIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJkZXJpdmVkIiBzdEV2dDpwYXJhbWV0ZXJzPSJjb252ZXJ0ZWQgZnJvbSBhcHBsaWNhdGlvbi92bmQuYWRvYmUucGhvdG9zaG9wIHRvIGltYWdlL3BuZyIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6Yjg1YmI1YmMtN2QxNS04MjQwLTgxMWMtOWYyY2UyYmIyNDgxIiBzdEV2dDp3aGVuPSIyMDIzLTEyLTE1VDE3OjA0OjM2KzA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjIuMyAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rvcnk+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOmI0MjRkMDY0LTc5MmEtYTU0NS1hNzg3LTJkNWUwY2I2NjQyYyIgc3RSZWY6ZG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmJhODg2OGNkLTI2NjctZTc0My05OGI2LTkxZTQyOWE1ZDRjOSIgc3RSZWY6b3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOmNlMzdhOTJhLTVjMzAtMzE0ZC05ZjdhLTBjYTc0MWE3MzI0NyIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PisvV2AAArRZSURBVHic7L3Xcx1Net8/4eSccHBwkHMgAZIvw/sud99XK61Xkm1pa61UtsvlctnlO1fZV/4HXOVbX/jC5Vvb5aCy9JNUK+3WJr05MLwEQSJnEBkHODlN/F200G7OzBkcBJIg8f1coAYzPd094XRPf/t5nuZ1XecAAAAAAAAAAAAAALisCG+6AgAAAAAAAAAAAAAA2AEBCwAAAAAAAAAA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', + crossOrigin: null, + filters: [], +}; diff --git a/src/testData/fabricWatchIcons.ts b/src/testData/fabricWatchIcons.ts new file mode 100644 index 0000000..2322ac6 --- /dev/null +++ b/src/testData/fabricWatchIcons.ts @@ -0,0 +1,2264 @@ +// export const watchIcon1: Record[] = [ +// { +// type: 'path', +// version: '5.3.0', +// originX: 'left', +// originY: 'top', +// left: -60, +// top: -31.5, +// width: 119, +// height: 54, +// fill: 'white', +// stroke: null, +// strokeWidth: 1, +// strokeDashArray: null, +// strokeLineCap: 'butt', +// strokeDashOffset: 0, +// strokeLineJoin: 'miter', +// strokeUniform: false, +// strokeMiterLimit: 4, +// scaleX: 1, +// scaleY: 1, +// angle: 0, +// flipX: false, +// flipY: false, +// opacity: 1, +// shadow: null, +// visible: true, +// backgroundColor: '', +// fillRule: 'evenodd', +// paintFirst: 'fill', +// globalCompositeOperation: 'source-over', +// skewX: 0, +// skewY: 0, +// selectable: true, +// hasControls: true, +// path: [ +// ['M', 10, 2], +// ['C', 7.79086, 2, 6, 3.79086, 6, 6], +// ['L', 6, 44], +// ['C', 6, 46.2091, 7.79086, 48, 10, 48], +// ['L', 58.8, 48], +// ['L', 66, 56], +// ['L', 73.2, 48], +// ['L', 121, 48], +// ['C', 123.209, 48, 125, 46.2091, 125, 44], +// ['L', 125, 6], +// ['C', 125, 3.79086, 123.209, 2, 121, 2], +// ['L', 10, 2], +// ['Z'], +// ], +// }, +// { +// type: 'path', +// version: '5.3.0', +// originX: 'left', +// originY: 'top', +// left: -61, +// top: -32.5, +// width: 121, +// height: 56.4948, +// fill: 'rgba(21,77,221,0.2)', +// stroke: null, +// strokeWidth: 1, +// strokeDashArray: null, +// strokeLineCap: 'butt', +// strokeDashOffset: 0, +// strokeLineJoin: 'miter', +// strokeUniform: false, +// strokeMiterLimit: 4, +// scaleX: 1, +// scaleY: 1, +// angle: 0, +// flipX: false, +// flipY: false, +// opacity: 1, +// shadow: null, +// visible: true, +// backgroundColor: '', +// fillRule: 'nonzero', +// paintFirst: 'fill', +// globalCompositeOperation: 'source-over', +// skewX: 0, +// skewY: 0, +// selectable: true, +// hasControls: true, +// path: [ +// ['M', 58.8, 48], +// ['L', 59.5433, 47.331], +// ['L', 59.2454, 47], +// ['L', 58.8, 47], +// ['L', 58.8, 48], +// ['Z'], +// ['M', 66, 56], +// ['L', 65.2567, 56.669], +// ['L', 66, 57.4948], +// ['L', 66.7433, 56.669], +// ['L', 66, 56], +// ['Z'], +// ['M', 73.2, 48], +// ['L', 73.2, 47], +// ['L', 72.7546, 47], +// ['L', 72.4567, 47.331], +// ['L', 73.2, 48], +// ['Z'], +// ['M', 7, 6], +// ['C', 7, 4.34315, 8.34315, 3, 10, 3], +// ['L', 10, 1], +// ['C', 7.23858, 1, 5, 3.23857, 5, 6], +// ['L', 7, 6], +// ['Z'], +// ['M', 7, 44], +// ['L', 7, 6], +// ['L', 5, 6], +// ['L', 5, 44], +// ['L', 7, 44], +// ['Z'], +// ['M', 10, 47], +// ['C', 8.34315, 47, 7, 45.6569, 7, 44], +// ['L', 5, 44], +// ['C', 5, 46.7614, 7.23858, 49, 10, 49], +// ['L', 10, 47], +// ['Z'], +// ['M', 58.8, 47], +// ['L', 10, 47], +// ['L', 10, 49], +// ['L', 58.8, 49], +// ['L', 58.8, 47], +// ['Z'], +// ['M', 58.0567, 48.669], +// ['L', 65.2567, 56.669], +// ['L', 66.7433, 55.331], +// ['L', 59.5433, 47.331], +// ['L', 58.0567, 48.669], +// ['Z'], +// ['M', 66.7433, 56.669], +// ['L', 73.9433, 48.669], +// ['L', 72.4567, 47.331], +// ['L', 65.2567, 55.331], +// ['L', 66.7433, 56.669], +// ['Z'], +// ['M', 121, 47], +// ['L', 73.2, 47], +// ['L', 73.2, 49], +// ['L', 121, 49], +// ['L', 121, 47], +// ['Z'], +// ['M', 124, 44], +// ['C', 124, 45.6569, 122.657, 47, 121, 47], +// ['L', 121, 49], +// ['C', 123.761, 49, 126, 46.7614, 126, 44], +// ['L', 124, 44], +// ['Z'], +// ['M', 124, 6], +// ['L', 124, 44], +// ['L', 126, 44], +// ['L', 126, 6], +// ['L', 124, 6], +// ['Z'], +// ['M', 121, 3], +// ['C', 122.657, 3, 124, 4.34315, 124, 6], +// ['L', 126, 6], +// ['C', 126, 3.23858, 123.761, 1, 121, 1], +// ['L', 121, 3], +// ['Z'], +// ['M', 10, 3], +// ['L', 121, 3], +// ['L', 121, 1], +// ['L', 10, 1], +// ['L', 10, 3], +// ['Z'], +// ], +// }, +// { +// type: 'rect', +// version: '5.3.0', +// originX: 'left', +// originY: 'top', +// left: -52, +// top: -24.5, +// width: 32, +// height: 32, +// fill: '#E80D0D', +// stroke: null, +// strokeWidth: 1, +// strokeDashArray: null, +// strokeLineCap: 'butt', +// strokeDashOffset: 0, +// strokeLineJoin: 'miter', +// strokeUniform: false, +// strokeMiterLimit: 4, +// scaleX: 1, +// scaleY: 1, +// angle: 0, +// flipX: false, +// flipY: false, +// opacity: 1, +// shadow: null, +// visible: true, +// backgroundColor: '', +// fillRule: 'nonzero', +// paintFirst: 'fill', +// globalCompositeOperation: 'source-over', +// skewX: 0, +// skewY: 0, +// rx: 2, +// ry: 2, +// selectable: true, +// hasControls: true, +// }, +// { +// type: 'path', +// version: '5.3.0', +// originX: 'left', +// originY: 'top', +// left: -45.9945, +// top: -17.6, +// width: 19.8963, +// height: 0, +// fill: '', +// stroke: 'white', +// strokeWidth: 1.2, +// strokeDashArray: null, +// strokeLineCap: 'round', +// strokeDashOffset: 0, +// strokeLineJoin: 'round', +// strokeUniform: false, +// strokeMiterLimit: 4, +// scaleX: 1, +// scaleY: 1, +// angle: 0, +// flipX: false, +// flipY: false, +// opacity: 1, +// shadow: null, +// visible: true, +// backgroundColor: '', +// fillRule: 'nonzero', +// paintFirst: 'fill', +// globalCompositeOperation: 'source-over', +// skewX: 0, +// skewY: 0, +// selectable: true, +// hasControls: true, +// path: [ +// ['M', 40.0018, 16], +// ['L', 29.5301, 16], +// ['L', 20.1055, 16], +// ], +// }, +// { +// type: 'path', +// version: '5.3.0', +// originX: 'left', +// originY: 'top', +// left: -36.5727, +// top: -17.6, +// width: 0, +// height: 8.8419, +// fill: '', +// stroke: 'white', +// strokeWidth: 1.2, +// strokeDashArray: null, +// strokeLineCap: 'round', +// strokeDashOffset: 0, +// strokeLineJoin: 'round', +// strokeUniform: false, +// strokeMiterLimit: 4, +// scaleX: 1, +// scaleY: 1, +// angle: 0, +// flipX: false, +// flipY: false, +// opacity: 1, +// shadow: null, +// visible: true, +// backgroundColor: '', +// fillRule: 'nonzero', +// paintFirst: 'fill', +// globalCompositeOperation: 'source-over', +// skewX: 0, +// skewY: 0, +// selectable: true, +// hasControls: true, +// path: [ +// ['M', 29.5273, 24.8419], +// ['L', 29.5273, 16], +// ], +// }, +// { +// type: 'path', +// version: '5.3.0', +// originX: 'left', +// originY: 'top', +// left: -46.1, +// top: -10.5375, +// width: 18.5869, +// height: 10.9372, +// fill: 'white', +// stroke: 'white', +// strokeWidth: 1.2, +// strokeDashArray: null, +// strokeLineCap: 'round', +// strokeDashOffset: 0, +// strokeLineJoin: 'round', +// strokeUniform: false, +// strokeMiterLimit: 4, +// scaleX: 1, +// scaleY: 1, +// angle: 0, +// flipX: false, +// flipY: false, +// opacity: 1, +// shadow: null, +// visible: true, +// backgroundColor: '', +// fillRule: 'nonzero', +// paintFirst: 'fill', +// globalCompositeOperation: 'source-over', +// skewX: 0, +// skewY: 0, +// selectable: true, +// hasControls: true, +// path: [ +// ['M', 21.8972, 23.0625], +// ['L', 38.5869, 27.5048], +// ['L', 37.6746, 28.8773], +// ['L', 35.579, 32.6272], +// ['L', 34.6667, 33.9997], +// ['L', 20, 30.0959], +// ['L', 21.8972, 23.0625], +// ['Z'], +// ], +// }, +// { +// type: 'path', +// version: '5.3.0', +// originX: 'left', +// originY: 'top', +// left: -30.5219, +// top: -4.7211, +// width: 4.1186, +// height: 4.5576, +// fill: '', +// stroke: 'white', +// strokeWidth: 1.2, +// strokeDashArray: null, +// strokeLineCap: 'round', +// strokeDashOffset: 0, +// strokeLineJoin: 'round', +// strokeUniform: false, +// strokeMiterLimit: 4, +// scaleX: 1, +// scaleY: 1, +// angle: 0, +// flipX: false, +// flipY: false, +// opacity: 1, +// shadow: null, +// visible: true, +// backgroundColor: '', +// fillRule: 'nonzero', +// paintFirst: 'fill', +// globalCompositeOperation: 'source-over', +// skewX: 0, +// skewY: 0, +// selectable: true, +// hasControls: true, +// path: [ +// ['M', 37.6737, 28.8789], +// ['L', 39.6967, 29.4174], +// ['L', 38.6126, 33.4365], +// ['L', 35.5781, 32.6288], +// ], +// }, +// { +// type: 'path', +// version: '5.3.0', +// originX: 'left', +// originY: 'top', +// left: -43.3008, +// top: -7.6387, +// width: 4.2123, +// height: 4.181, +// fill: '', +// stroke: '#E80D0D', +// strokeWidth: 0.5, +// strokeDashArray: null, +// strokeLineCap: 'butt', +// strokeDashOffset: 0, +// strokeLineJoin: 'miter', +// strokeUniform: false, +// strokeMiterLimit: 4, +// scaleX: 1, +// scaleY: 1, +// angle: 0, +// flipX: false, +// flipY: false, +// opacity: 1, +// shadow: null, +// visible: true, +// backgroundColor: '', +// fillRule: 'nonzero', +// paintFirst: 'fill', +// globalCompositeOperation: 'source-over', +// skewX: 0, +// skewY: 0, +// selectable: true, +// hasControls: true, +// path: [ +// ['M', 26.6615, 27.7018], +// ['C', 26.6615, 28.8548, 25.7201, 29.7923, 24.5554, 29.7923], +// ['C', 23.3906, 29.7923, 22.4492, 28.8548, 22.4492, 27.7018], +// ['C', 22.4492, 26.5488, 23.3906, 25.6113, 24.5554, 25.6113], +// ['C', 25.7201, 25.6113, 26.6615, 26.5488, 26.6615, 27.7018], +// ['Z'], +// ], +// }, +// ]; +// export const watchIcon2: Record[] = [ +// { +// type: 'path', +// version: '5.3.0', +// originX: 'left', +// originY: 'top', +// left: -60, +// top: -31.5, +// width: 119, +// height: 54, +// fill: 'white', +// stroke: null, +// strokeWidth: 1, +// strokeDashArray: null, +// strokeLineCap: 'butt', +// strokeDashOffset: 0, +// strokeLineJoin: 'miter', +// strokeUniform: false, +// strokeMiterLimit: 4, +// scaleX: 1, +// scaleY: 1, +// angle: 0, +// flipX: false, +// flipY: false, +// opacity: 1, +// shadow: null, +// visible: true, +// backgroundColor: '', +// fillRule: 'evenodd', +// paintFirst: 'fill', +// globalCompositeOperation: 'source-over', +// skewX: 0, +// skewY: 0, +// selectable: true, +// hasControls: true, +// path: [ +// ['M', 10, 2], +// ['C', 7.79086, 2, 6, 3.79086, 6, 6], +// ['L', 6, 44], +// ['C', 6, 46.2091, 7.79086, 48, 10, 48], +// ['L', 58.8, 48], +// ['L', 66, 56], +// ['L', 73.2, 48], +// ['L', 121, 48], +// ['C', 123.209, 48, 125, 46.2091, 125, 44], +// ['L', 125, 6], +// ['C', 125, 3.79086, 123.209, 2, 121, 2], +// ['L', 10, 2], +// ['Z'], +// ], +// }, +// { +// type: 'path', +// version: '5.3.0', +// originX: 'left', +// originY: 'top', +// left: -61, +// top: -32.5, +// width: 121, +// height: 56.4948, +// fill: 'rgba(21,77,221,0.2)', +// stroke: null, +// strokeWidth: 1, +// strokeDashArray: null, +// strokeLineCap: 'butt', +// strokeDashOffset: 0, +// strokeLineJoin: 'miter', +// strokeUniform: false, +// strokeMiterLimit: 4, +// scaleX: 1, +// scaleY: 1, +// angle: 0, +// flipX: false, +// flipY: false, +// opacity: 1, +// shadow: null, +// visible: true, +// backgroundColor: '', +// fillRule: 'nonzero', +// paintFirst: 'fill', +// globalCompositeOperation: 'source-over', +// skewX: 0, +// skewY: 0, +// selectable: true, +// hasControls: true, +// path: [ +// ['M', 58.8, 48], +// ['L', 59.5433, 47.331], +// ['L', 59.2454, 47], +// ['L', 58.8, 47], +// ['L', 58.8, 48], +// ['Z'], +// ['M', 66, 56], +// ['L', 65.2567, 56.669], +// ['L', 66, 57.4948], +// ['L', 66.7433, 56.669], +// ['L', 66, 56], +// ['Z'], +// ['M', 73.2, 48], +// ['L', 73.2, 47], +// ['L', 72.7546, 47], +// ['L', 72.4567, 47.331], +// ['L', 73.2, 48], +// ['Z'], +// ['M', 7, 6], +// ['C', 7, 4.34315, 8.34315, 3, 10, 3], +// ['L', 10, 1], +// ['C', 7.23858, 1, 5, 3.23857, 5, 6], +// ['L', 7, 6], +// ['Z'], +// ['M', 7, 44], +// ['L', 7, 6], +// ['L', 5, 6], +// ['L', 5, 44], +// ['L', 7, 44], +// ['Z'], +// ['M', 10, 47], +// ['C', 8.34315, 47, 7, 45.6569, 7, 44], +// ['L', 5, 44], +// ['C', 5, 46.7614, 7.23858, 49, 10, 49], +// ['L', 10, 47], +// ['Z'], +// ['M', 58.8, 47], +// ['L', 10, 47], +// ['L', 10, 49], +// ['L', 58.8, 49], +// ['L', 58.8, 47], +// ['Z'], +// ['M', 58.0567, 48.669], +// ['L', 65.2567, 56.669], +// ['L', 66.7433, 55.331], +// ['L', 59.5433, 47.331], +// ['L', 58.0567, 48.669], +// ['Z'], +// ['M', 66.7433, 56.669], +// ['L', 73.9433, 48.669], +// ['L', 72.4567, 47.331], +// ['L', 65.2567, 55.331], +// ['L', 66.7433, 56.669], +// ['Z'], +// ['M', 121, 47], +// ['L', 73.2, 47], +// ['L', 73.2, 49], +// ['L', 121, 49], +// ['L', 121, 47], +// ['Z'], +// ['M', 124, 44], +// ['C', 124, 45.6569, 122.657, 47, 121, 47], +// ['L', 121, 49], +// ['C', 123.761, 49, 126, 46.7614, 126, 44], +// ['L', 124, 44], +// ['Z'], +// ['M', 124, 6], +// ['L', 124, 44], +// ['L', 126, 44], +// ['L', 126, 6], +// ['L', 124, 6], +// ['Z'], +// ['M', 121, 3], +// ['C', 122.657, 3, 124, 4.34315, 124, 6], +// ['L', 126, 6], +// ['C', 126, 3.23858, 123.761, 1, 121, 1], +// ['L', 121, 3], +// ['Z'], +// ['M', 10, 3], +// ['L', 121, 3], +// ['L', 121, 1], +// ['L', 10, 1], +// ['L', 10, 3], +// ['Z'], +// ], +// }, +// { +// type: 'rect', +// version: '5.3.0', +// originX: 'left', +// originY: 'top', +// left: -52, +// top: -24.5, +// width: 32, +// height: 32, +// fill: '#52C41A', +// stroke: null, +// strokeWidth: 1, +// strokeDashArray: null, +// strokeLineCap: 'butt', +// strokeDashOffset: 0, +// strokeLineJoin: 'miter', +// strokeUniform: false, +// strokeMiterLimit: 4, +// scaleX: 1, +// scaleY: 1, +// angle: 0, +// flipX: false, +// flipY: false, +// opacity: 1, +// shadow: null, +// visible: true, +// backgroundColor: '', +// fillRule: 'nonzero', +// paintFirst: 'fill', +// globalCompositeOperation: 'source-over', +// skewX: 0, +// skewY: 0, +// rx: 2, +// ry: 2, +// selectable: true, +// hasControls: true, +// }, +// { +// type: 'path', +// version: '5.3.0', +// originX: 'left', +// originY: 'top', +// left: -45.9945, +// top: -17.6, +// width: 19.8963, +// height: 0, +// fill: '', +// stroke: 'white', +// strokeWidth: 1.2, +// strokeDashArray: null, +// strokeLineCap: 'round', +// strokeDashOffset: 0, +// strokeLineJoin: 'round', +// strokeUniform: false, +// strokeMiterLimit: 4, +// scaleX: 1, +// scaleY: 1, +// angle: 0, +// flipX: false, +// flipY: false, +// opacity: 1, +// shadow: null, +// visible: true, +// backgroundColor: '', +// fillRule: 'nonzero', +// paintFirst: 'fill', +// globalCompositeOperation: 'source-over', +// skewX: 0, +// skewY: 0, +// selectable: true, +// hasControls: true, +// path: [ +// ['M', 40.0018, 16], +// ['L', 29.5301, 16], +// ['L', 20.1055, 16], +// ], +// }, +// { +// type: 'path', +// version: '5.3.0', +// originX: 'left', +// originY: 'top', +// left: -36.5727, +// top: -17.6, +// width: 0, +// height: 8.8419, +// fill: '', +// stroke: 'white', +// strokeWidth: 1.2, +// strokeDashArray: null, +// strokeLineCap: 'round', +// strokeDashOffset: 0, +// strokeLineJoin: 'round', +// strokeUniform: false, +// strokeMiterLimit: 4, +// scaleX: 1, +// scaleY: 1, +// angle: 0, +// flipX: false, +// flipY: false, +// opacity: 1, +// shadow: null, +// visible: true, +// backgroundColor: '', +// fillRule: 'nonzero', +// paintFirst: 'fill', +// globalCompositeOperation: 'source-over', +// skewX: 0, +// skewY: 0, +// selectable: true, +// hasControls: true, +// path: [ +// ['M', 29.5273, 24.8419], +// ['L', 29.5273, 16], +// ], +// }, +// { +// type: 'path', +// version: '5.3.0', +// originX: 'left', +// originY: 'top', +// left: -46.1, +// top: -10.5375, +// width: 18.5869, +// height: 10.9372, +// fill: 'white', +// stroke: 'white', +// strokeWidth: 1.2, +// strokeDashArray: null, +// strokeLineCap: 'round', +// strokeDashOffset: 0, +// strokeLineJoin: 'round', +// strokeUniform: false, +// strokeMiterLimit: 4, +// scaleX: 1, +// scaleY: 1, +// angle: 0, +// flipX: false, +// flipY: false, +// opacity: 1, +// shadow: null, +// visible: true, +// backgroundColor: '', +// fillRule: 'nonzero', +// paintFirst: 'fill', +// globalCompositeOperation: 'source-over', +// skewX: 0, +// skewY: 0, +// selectable: true, +// hasControls: true, +// path: [ +// ['M', 21.8972, 23.0625], +// ['L', 38.5869, 27.5048], +// ['L', 37.6746, 28.8773], +// ['L', 35.579, 32.6272], +// ['L', 34.6667, 33.9997], +// ['L', 20, 30.0959], +// ['L', 21.8972, 23.0625], +// ['Z'], +// ], +// }, +// { +// type: 'path', +// version: '5.3.0', +// originX: 'left', +// originY: 'top', +// left: -30.5219, +// top: -4.7211, +// width: 4.1186, +// height: 4.5576, +// fill: '', +// stroke: 'white', +// strokeWidth: 1.2, +// strokeDashArray: null, +// strokeLineCap: 'round', +// strokeDashOffset: 0, +// strokeLineJoin: 'round', +// strokeUniform: false, +// strokeMiterLimit: 4, +// scaleX: 1, +// scaleY: 1, +// angle: 0, +// flipX: false, +// flipY: false, +// opacity: 1, +// shadow: null, +// visible: true, +// backgroundColor: '', +// fillRule: 'nonzero', +// paintFirst: 'fill', +// globalCompositeOperation: 'source-over', +// skewX: 0, +// skewY: 0, +// selectable: true, +// hasControls: true, +// path: [ +// ['M', 37.6737, 28.8789], +// ['L', 39.6967, 29.4174], +// ['L', 38.6126, 33.4365], +// ['L', 35.5781, 32.6288], +// ], +// }, +// { +// type: 'path', +// version: '5.3.0', +// originX: 'left', +// originY: 'top', +// left: -43.3008, +// top: -7.6387, +// width: 4.2123, +// height: 4.181, +// fill: '', +// stroke: '#52C41A', +// strokeWidth: 0.5, +// strokeDashArray: null, +// strokeLineCap: 'butt', +// strokeDashOffset: 0, +// strokeLineJoin: 'miter', +// strokeUniform: false, +// strokeMiterLimit: 4, +// scaleX: 1, +// scaleY: 1, +// angle: 0, +// flipX: false, +// flipY: false, +// opacity: 1, +// shadow: null, +// visible: true, +// backgroundColor: '', +// fillRule: 'nonzero', +// paintFirst: 'fill', +// globalCompositeOperation: 'source-over', +// skewX: 0, +// skewY: 0, +// selectable: true, +// hasControls: true, +// path: [ +// ['M', 26.6615, 27.7018], +// ['C', 26.6615, 28.8548, 25.7201, 29.7923, 24.5554, 29.7923], +// ['C', 23.3906, 29.7923, 22.4492, 28.8548, 22.4492, 27.7018], +// ['C', 22.4492, 26.5488, 23.3906, 25.6113, 24.5554, 25.6113], +// ['C', 25.7201, 25.6113, 26.6615, 26.5488, 26.6615, 27.7018], +// ['Z'], +// ], +// }, +// ]; +export const watchIcon3: Record[] = [ + { + type: 'path', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: -60, + top: -31.5, + width: 119, + height: 54, + fill: 'white', + stroke: null, + strokeWidth: 1, + strokeDashArray: null, + strokeLineCap: 'butt', + strokeDashOffset: 0, + strokeLineJoin: 'miter', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: null, + visible: true, + backgroundColor: '', + fillRule: 'evenodd', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + selectable: true, + hasControls: true, + path: [ + ['M', 10, 2], + ['C', 7.79086, 2, 6, 3.79086, 6, 6], + ['L', 6, 44], + ['C', 6, 46.2091, 7.79086, 48, 10, 48], + ['L', 58.8, 48], + ['L', 66, 56], + ['L', 73.2, 48], + ['L', 121, 48], + ['C', 123.209, 48, 125, 46.2091, 125, 44], + ['L', 125, 6], + ['C', 125, 3.79086, 123.209, 2, 121, 2], + ['L', 10, 2], + ['Z'], + ], + }, + { + type: 'path', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: -61, + top: -32.5, + width: 121, + height: 56.4948, + fill: 'rgba(21,77,221,0.2)', + stroke: null, + strokeWidth: 1, + strokeDashArray: null, + strokeLineCap: 'butt', + strokeDashOffset: 0, + strokeLineJoin: 'miter', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: null, + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + selectable: true, + hasControls: true, + path: [ + ['M', 58.8, 48], + ['L', 59.5433, 47.331], + ['L', 59.2454, 47], + ['L', 58.8, 47], + ['L', 58.8, 48], + ['Z'], + ['M', 66, 56], + ['L', 65.2567, 56.669], + ['L', 66, 57.4948], + ['L', 66.7433, 56.669], + ['L', 66, 56], + ['Z'], + ['M', 73.2, 48], + ['L', 73.2, 47], + ['L', 72.7546, 47], + ['L', 72.4567, 47.331], + ['L', 73.2, 48], + ['Z'], + ['M', 7, 6], + ['C', 7, 4.34315, 8.34315, 3, 10, 3], + ['L', 10, 1], + ['C', 7.23858, 1, 5, 3.23857, 5, 6], + ['L', 7, 6], + ['Z'], + ['M', 7, 44], + ['L', 7, 6], + ['L', 5, 6], + ['L', 5, 44], + ['L', 7, 44], + ['Z'], + ['M', 10, 47], + ['C', 8.34315, 47, 7, 45.6569, 7, 44], + ['L', 5, 44], + ['C', 5, 46.7614, 7.23858, 49, 10, 49], + ['L', 10, 47], + ['Z'], + ['M', 58.8, 47], + ['L', 10, 47], + ['L', 10, 49], + ['L', 58.8, 49], + ['L', 58.8, 47], + ['Z'], + ['M', 58.0567, 48.669], + ['L', 65.2567, 56.669], + ['L', 66.7433, 55.331], + ['L', 59.5433, 47.331], + ['L', 58.0567, 48.669], + ['Z'], + ['M', 66.7433, 56.669], + ['L', 73.9433, 48.669], + ['L', 72.4567, 47.331], + ['L', 65.2567, 55.331], + ['L', 66.7433, 56.669], + ['Z'], + ['M', 121, 47], + ['L', 73.2, 47], + ['L', 73.2, 49], + ['L', 121, 49], + ['L', 121, 47], + ['Z'], + ['M', 124, 44], + ['C', 124, 45.6569, 122.657, 47, 121, 47], + ['L', 121, 49], + ['C', 123.761, 49, 126, 46.7614, 126, 44], + ['L', 124, 44], + ['Z'], + ['M', 124, 6], + ['L', 124, 44], + ['L', 126, 44], + ['L', 126, 6], + ['L', 124, 6], + ['Z'], + ['M', 121, 3], + ['C', 122.657, 3, 124, 4.34315, 124, 6], + ['L', 126, 6], + ['C', 126, 3.23858, 123.761, 1, 121, 1], + ['L', 121, 3], + ['Z'], + ['M', 10, 3], + ['L', 121, 3], + ['L', 121, 1], + ['L', 10, 1], + ['L', 10, 3], + ['Z'], + ], + }, + { + type: 'rect', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: -52, + top: -24.5, + width: 32, + height: 32, + fill: '#CCCCCC', + stroke: null, + strokeWidth: 1, + strokeDashArray: null, + strokeLineCap: 'butt', + strokeDashOffset: 0, + strokeLineJoin: 'miter', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: null, + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + rx: 2, + ry: 2, + selectable: true, + hasControls: true, + }, + { + type: 'path', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: -45.9945, + top: -17.6, + width: 19.8963, + height: 0, + fill: '', + stroke: 'white', + strokeWidth: 1.2, + strokeDashArray: null, + strokeLineCap: 'round', + strokeDashOffset: 0, + strokeLineJoin: 'round', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: null, + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + selectable: true, + hasControls: true, + path: [ + ['M', 40.0018, 16], + ['L', 29.5301, 16], + ['L', 20.1055, 16], + ], + }, + { + type: 'path', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: -36.5727, + top: -17.6, + width: 0, + height: 8.8419, + fill: '', + stroke: 'white', + strokeWidth: 1.2, + strokeDashArray: null, + strokeLineCap: 'round', + strokeDashOffset: 0, + strokeLineJoin: 'round', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: null, + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + selectable: true, + hasControls: true, + path: [ + ['M', 29.5273, 24.8419], + ['L', 29.5273, 16], + ], + }, + { + type: 'path', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: -46.1, + top: -10.5375, + width: 18.5869, + height: 10.9372, + fill: 'white', + stroke: 'white', + strokeWidth: 1.2, + strokeDashArray: null, + strokeLineCap: 'round', + strokeDashOffset: 0, + strokeLineJoin: 'round', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: null, + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + selectable: true, + hasControls: true, + path: [ + ['M', 21.8972, 23.0625], + ['L', 38.5869, 27.5048], + ['L', 37.6746, 28.8773], + ['L', 35.579, 32.6272], + ['L', 34.6667, 33.9997], + ['L', 20, 30.0959], + ['L', 21.8972, 23.0625], + ['Z'], + ], + }, + { + type: 'path', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: -30.5219, + top: -4.7211, + width: 4.1186, + height: 4.5576, + fill: '', + stroke: 'white', + strokeWidth: 1.2, + strokeDashArray: null, + strokeLineCap: 'round', + strokeDashOffset: 0, + strokeLineJoin: 'round', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: null, + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + selectable: true, + hasControls: true, + path: [ + ['M', 37.6737, 28.8789], + ['L', 39.6967, 29.4174], + ['L', 38.6126, 33.4365], + ['L', 35.5781, 32.6288], + ], + }, + { + type: 'path', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: -43.3008, + top: -7.6387, + width: 4.2123, + height: 4.181, + fill: '', + stroke: '#CCCCCC', + strokeWidth: 0.5, + strokeDashArray: null, + strokeLineCap: 'butt', + strokeDashOffset: 0, + strokeLineJoin: 'miter', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: null, + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + selectable: true, + hasControls: true, + path: [ + ['M', 26.6615, 27.7018], + ['C', 26.6615, 28.8548, 25.7201, 29.7923, 24.5554, 29.7923], + ['C', 23.3906, 29.7923, 22.4492, 28.8548, 22.4492, 27.7018], + ['C', 22.4492, 26.5488, 23.3906, 25.6113, 24.5554, 25.6113], + ['C', 25.7201, 25.6113, 26.6615, 26.5488, 26.6615, 27.7018], + ['Z'], + ], + }, +]; +// export const watchIcon4: Record[] = [ +// { +// type: 'path', +// version: '5.3.0', +// originX: 'left', +// originY: 'top', +// left: -60, +// top: -31.5, +// width: 119, +// height: 54, +// fill: 'white', +// stroke: null, +// strokeWidth: 1, +// strokeDashArray: null, +// strokeLineCap: 'butt', +// strokeDashOffset: 0, +// strokeLineJoin: 'miter', +// strokeUniform: false, +// strokeMiterLimit: 4, +// scaleX: 1, +// scaleY: 1, +// angle: 0, +// flipX: false, +// flipY: false, +// opacity: 1, +// shadow: null, +// visible: true, +// backgroundColor: '', +// fillRule: 'evenodd', +// paintFirst: 'fill', +// globalCompositeOperation: 'source-over', +// skewX: 0, +// skewY: 0, +// selectable: true, +// hasControls: true, +// path: [ +// ['M', 10, 2], +// ['C', 7.79086, 2, 6, 3.79086, 6, 6], +// ['L', 6, 44], +// ['C', 6, 46.2091, 7.79086, 48, 10, 48], +// ['L', 58.8, 48], +// ['L', 66, 56], +// ['L', 73.2, 48], +// ['L', 121, 48], +// ['C', 123.209, 48, 125, 46.2091, 125, 44], +// ['L', 125, 6], +// ['C', 125, 3.79086, 123.209, 2, 121, 2], +// ['L', 10, 2], +// ['Z'], +// ], +// }, +// { +// type: 'path', +// version: '5.3.0', +// originX: 'left', +// originY: 'top', +// left: -61, +// top: -32.5, +// width: 121, +// height: 56.4948, +// fill: 'rgba(21,77,221,0.2)', +// stroke: null, +// strokeWidth: 1, +// strokeDashArray: null, +// strokeLineCap: 'butt', +// strokeDashOffset: 0, +// strokeLineJoin: 'miter', +// strokeUniform: false, +// strokeMiterLimit: 4, +// scaleX: 1, +// scaleY: 1, +// angle: 0, +// flipX: false, +// flipY: false, +// opacity: 1, +// shadow: null, +// visible: true, +// backgroundColor: '', +// fillRule: 'nonzero', +// paintFirst: 'fill', +// globalCompositeOperation: 'source-over', +// skewX: 0, +// skewY: 0, +// selectable: true, +// hasControls: true, +// path: [ +// ['M', 58.8, 48], +// ['L', 59.5433, 47.331], +// ['L', 59.2454, 47], +// ['L', 58.8, 47], +// ['L', 58.8, 48], +// ['Z'], +// ['M', 66, 56], +// ['L', 65.2567, 56.669], +// ['L', 66, 57.4948], +// ['L', 66.7433, 56.669], +// ['L', 66, 56], +// ['Z'], +// ['M', 73.2, 48], +// ['L', 73.2, 47], +// ['L', 72.7546, 47], +// ['L', 72.4567, 47.331], +// ['L', 73.2, 48], +// ['Z'], +// ['M', 7, 6], +// ['C', 7, 4.34315, 8.34315, 3, 10, 3], +// ['L', 10, 1], +// ['C', 7.23858, 1, 5, 3.23857, 5, 6], +// ['L', 7, 6], +// ['Z'], +// ['M', 7, 44], +// ['L', 7, 6], +// ['L', 5, 6], +// ['L', 5, 44], +// ['L', 7, 44], +// ['Z'], +// ['M', 10, 47], +// ['C', 8.34315, 47, 7, 45.6569, 7, 44], +// ['L', 5, 44], +// ['C', 5, 46.7614, 7.23858, 49, 10, 49], +// ['L', 10, 47], +// ['Z'], +// ['M', 58.8, 47], +// ['L', 10, 47], +// ['L', 10, 49], +// ['L', 58.8, 49], +// ['L', 58.8, 47], +// ['Z'], +// ['M', 58.0567, 48.669], +// ['L', 65.2567, 56.669], +// ['L', 66.7433, 55.331], +// ['L', 59.5433, 47.331], +// ['L', 58.0567, 48.669], +// ['Z'], +// ['M', 66.7433, 56.669], +// ['L', 73.9433, 48.669], +// ['L', 72.4567, 47.331], +// ['L', 65.2567, 55.331], +// ['L', 66.7433, 56.669], +// ['Z'], +// ['M', 121, 47], +// ['L', 73.2, 47], +// ['L', 73.2, 49], +// ['L', 121, 49], +// ['L', 121, 47], +// ['Z'], +// ['M', 124, 44], +// ['C', 124, 45.6569, 122.657, 47, 121, 47], +// ['L', 121, 49], +// ['C', 123.761, 49, 126, 46.7614, 126, 44], +// ['L', 124, 44], +// ['Z'], +// ['M', 124, 6], +// ['L', 124, 44], +// ['L', 126, 44], +// ['L', 126, 6], +// ['L', 124, 6], +// ['Z'], +// ['M', 121, 3], +// ['C', 122.657, 3, 124, 4.34315, 124, 6], +// ['L', 126, 6], +// ['C', 126, 3.23858, 123.761, 1, 121, 1], +// ['L', 121, 3], +// ['Z'], +// ['M', 10, 3], +// ['L', 121, 3], +// ['L', 121, 1], +// ['L', 10, 1], +// ['L', 10, 3], +// ['Z'], +// ], +// }, +// { +// type: 'rect', +// version: '5.3.0', +// originX: 'left', +// originY: 'top', +// left: -52, +// top: -24.5, +// width: 32, +// height: 32, +// fill: '#FAAD14', +// stroke: null, +// strokeWidth: 1, +// strokeDashArray: null, +// strokeLineCap: 'butt', +// strokeDashOffset: 0, +// strokeLineJoin: 'miter', +// strokeUniform: false, +// strokeMiterLimit: 4, +// scaleX: 1, +// scaleY: 1, +// angle: 0, +// flipX: false, +// flipY: false, +// opacity: 1, +// shadow: null, +// visible: true, +// backgroundColor: '', +// fillRule: 'nonzero', +// paintFirst: 'fill', +// globalCompositeOperation: 'source-over', +// skewX: 0, +// skewY: 0, +// rx: 2, +// ry: 2, +// selectable: true, +// hasControls: true, +// }, +// { +// type: 'path', +// version: '5.3.0', +// originX: 'left', +// originY: 'top', +// left: -45.9945, +// top: -17.6, +// width: 19.8963, +// height: 0, +// fill: '', +// stroke: 'white', +// strokeWidth: 1.2, +// strokeDashArray: null, +// strokeLineCap: 'round', +// strokeDashOffset: 0, +// strokeLineJoin: 'round', +// strokeUniform: false, +// strokeMiterLimit: 4, +// scaleX: 1, +// scaleY: 1, +// angle: 0, +// flipX: false, +// flipY: false, +// opacity: 1, +// shadow: null, +// visible: true, +// backgroundColor: '', +// fillRule: 'nonzero', +// paintFirst: 'fill', +// globalCompositeOperation: 'source-over', +// skewX: 0, +// skewY: 0, +// selectable: true, +// hasControls: true, +// path: [ +// ['M', 40.0018, 16], +// ['L', 29.5301, 16], +// ['L', 20.1055, 16], +// ], +// }, +// { +// type: 'path', +// version: '5.3.0', +// originX: 'left', +// originY: 'top', +// left: -36.5727, +// top: -17.6, +// width: 0, +// height: 8.8419, +// fill: '', +// stroke: 'white', +// strokeWidth: 1.2, +// strokeDashArray: null, +// strokeLineCap: 'round', +// strokeDashOffset: 0, +// strokeLineJoin: 'round', +// strokeUniform: false, +// strokeMiterLimit: 4, +// scaleX: 1, +// scaleY: 1, +// angle: 0, +// flipX: false, +// flipY: false, +// opacity: 1, +// shadow: null, +// visible: true, +// backgroundColor: '', +// fillRule: 'nonzero', +// paintFirst: 'fill', +// globalCompositeOperation: 'source-over', +// skewX: 0, +// skewY: 0, +// selectable: true, +// hasControls: true, +// path: [ +// ['M', 29.5273, 24.8419], +// ['L', 29.5273, 16], +// ], +// }, +// { +// type: 'path', +// version: '5.3.0', +// originX: 'left', +// originY: 'top', +// left: -46.1, +// top: -10.5375, +// width: 18.5869, +// height: 10.9372, +// fill: 'white', +// stroke: 'white', +// strokeWidth: 1.2, +// strokeDashArray: null, +// strokeLineCap: 'round', +// strokeDashOffset: 0, +// strokeLineJoin: 'round', +// strokeUniform: false, +// strokeMiterLimit: 4, +// scaleX: 1, +// scaleY: 1, +// angle: 0, +// flipX: false, +// flipY: false, +// opacity: 1, +// shadow: null, +// visible: true, +// backgroundColor: '', +// fillRule: 'nonzero', +// paintFirst: 'fill', +// globalCompositeOperation: 'source-over', +// skewX: 0, +// skewY: 0, +// selectable: true, +// hasControls: true, +// path: [ +// ['M', 21.8972, 23.0625], +// ['L', 38.5869, 27.5048], +// ['L', 37.6746, 28.8773], +// ['L', 35.579, 32.6272], +// ['L', 34.6667, 33.9997], +// ['L', 20, 30.0959], +// ['L', 21.8972, 23.0625], +// ['Z'], +// ], +// }, +// { +// type: 'path', +// version: '5.3.0', +// originX: 'left', +// originY: 'top', +// left: -30.5219, +// top: -4.7211, +// width: 4.1186, +// height: 4.5576, +// fill: '', +// stroke: 'white', +// strokeWidth: 1.2, +// strokeDashArray: null, +// strokeLineCap: 'round', +// strokeDashOffset: 0, +// strokeLineJoin: 'round', +// strokeUniform: false, +// strokeMiterLimit: 4, +// scaleX: 1, +// scaleY: 1, +// angle: 0, +// flipX: false, +// flipY: false, +// opacity: 1, +// shadow: null, +// visible: true, +// backgroundColor: '', +// fillRule: 'nonzero', +// paintFirst: 'fill', +// globalCompositeOperation: 'source-over', +// skewX: 0, +// skewY: 0, +// selectable: true, +// hasControls: true, +// path: [ +// ['M', 37.6737, 28.8789], +// ['L', 39.6967, 29.4174], +// ['L', 38.6126, 33.4365], +// ['L', 35.5781, 32.6288], +// ], +// }, +// { +// type: 'path', +// version: '5.3.0', +// originX: 'left', +// originY: 'top', +// left: -43.3008, +// top: -7.6387, +// width: 4.2123, +// height: 4.181, +// fill: '', +// stroke: '#FAAD14', +// strokeWidth: 0.5, +// strokeDashArray: null, +// strokeLineCap: 'butt', +// strokeDashOffset: 0, +// strokeLineJoin: 'miter', +// strokeUniform: false, +// strokeMiterLimit: 4, +// scaleX: 1, +// scaleY: 1, +// angle: 0, +// flipX: false, +// flipY: false, +// opacity: 1, +// shadow: null, +// visible: true, +// backgroundColor: '', +// fillRule: 'nonzero', +// paintFirst: 'fill', +// globalCompositeOperation: 'source-over', +// skewX: 0, +// skewY: 0, +// selectable: true, +// hasControls: true, +// path: [ +// ['M', 26.6615, 27.7018], +// ['C', 26.6615, 28.8548, 25.7201, 29.7923, 24.5554, 29.7923], +// ['C', 23.3906, 29.7923, 22.4492, 28.8548, 22.4492, 27.7018], +// ['C', 22.4492, 26.5488, 23.3906, 25.6113, 24.5554, 25.6113], +// ['C', 25.7201, 25.6113, 26.6615, 26.5488, 26.6615, 27.7018], +// ['Z'], +// ], +// }, +// ]; + + +const fetchWatchIcon = (status: string) => { + let watchIconData = { + pathFill: 'rgba(21,77,221,0.2)', + rectFill: '#FAAD14' + }; + switch (status) { + case 'watchError': + watchIconData = { + pathFill: 'rgba(21,77,221,0.2)', + rectFill: '#E80D0D' + }; + break; + case 'watchOnline': + watchIconData = { + pathFill: 'rgba(21,77,221,0.2)', + rectFill: '#52C41A' + }; + break; + case 'watchOutline': + watchIconData = { + pathFill: 'rgba(21,77,221,0.2)', + rectFill: '##CCCCCC' + }; + return watchIcon3 + case 'watchWarn': + watchIconData = { + pathFill: 'rgba(21,77,221,0.2)', + rectFill: '#FAAD14' + }; + break; + } + + return [ + { + type: 'path', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: -60, + top: -31.5, + width: 119, + height: 54, + fill: 'white', + stroke: null, + strokeWidth: 1, + strokeDashArray: null, + strokeLineCap: 'butt', + strokeDashOffset: 0, + strokeLineJoin: 'miter', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: null, + visible: true, + backgroundColor: '', + fillRule: 'evenodd', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + selectable: true, + hasControls: true, + path: [ + ['M', 10, 2], + ['C', 7.79086, 2, 6, 3.79086, 6, 6], + ['L', 6, 44], + ['C', 6, 46.2091, 7.79086, 48, 10, 48], + ['L', 58.8, 48], + ['L', 66, 56], + ['L', 73.2, 48], + ['L', 121, 48], + ['C', 123.209, 48, 125, 46.2091, 125, 44], + ['L', 125, 6], + ['C', 125, 3.79086, 123.209, 2, 121, 2], + ['L', 10, 2], + ['Z'], + ], + }, + { + type: 'path', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: -61, + top: -32.5, + width: 121, + height: 56.4948, + fill: watchIconData.pathFill, + stroke: null, + strokeWidth: 1, + strokeDashArray: null, + strokeLineCap: 'butt', + strokeDashOffset: 0, + strokeLineJoin: 'miter', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: null, + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + selectable: true, + hasControls: true, + path: [ + ['M', 58.8, 48], + ['L', 59.5433, 47.331], + ['L', 59.2454, 47], + ['L', 58.8, 47], + ['L', 58.8, 48], + ['Z'], + ['M', 66, 56], + ['L', 65.2567, 56.669], + ['L', 66, 57.4948], + ['L', 66.7433, 56.669], + ['L', 66, 56], + ['Z'], + ['M', 73.2, 48], + ['L', 73.2, 47], + ['L', 72.7546, 47], + ['L', 72.4567, 47.331], + ['L', 73.2, 48], + ['Z'], + ['M', 7, 6], + ['C', 7, 4.34315, 8.34315, 3, 10, 3], + ['L', 10, 1], + ['C', 7.23858, 1, 5, 3.23857, 5, 6], + ['L', 7, 6], + ['Z'], + ['M', 7, 44], + ['L', 7, 6], + ['L', 5, 6], + ['L', 5, 44], + ['L', 7, 44], + ['Z'], + ['M', 10, 47], + ['C', 8.34315, 47, 7, 45.6569, 7, 44], + ['L', 5, 44], + ['C', 5, 46.7614, 7.23858, 49, 10, 49], + ['L', 10, 47], + ['Z'], + ['M', 58.8, 47], + ['L', 10, 47], + ['L', 10, 49], + ['L', 58.8, 49], + ['L', 58.8, 47], + ['Z'], + ['M', 58.0567, 48.669], + ['L', 65.2567, 56.669], + ['L', 66.7433, 55.331], + ['L', 59.5433, 47.331], + ['L', 58.0567, 48.669], + ['Z'], + ['M', 66.7433, 56.669], + ['L', 73.9433, 48.669], + ['L', 72.4567, 47.331], + ['L', 65.2567, 55.331], + ['L', 66.7433, 56.669], + ['Z'], + ['M', 121, 47], + ['L', 73.2, 47], + ['L', 73.2, 49], + ['L', 121, 49], + ['L', 121, 47], + ['Z'], + ['M', 124, 44], + ['C', 124, 45.6569, 122.657, 47, 121, 47], + ['L', 121, 49], + ['C', 123.761, 49, 126, 46.7614, 126, 44], + ['L', 124, 44], + ['Z'], + ['M', 124, 6], + ['L', 124, 44], + ['L', 126, 44], + ['L', 126, 6], + ['L', 124, 6], + ['Z'], + ['M', 121, 3], + ['C', 122.657, 3, 124, 4.34315, 124, 6], + ['L', 126, 6], + ['C', 126, 3.23858, 123.761, 1, 121, 1], + ['L', 121, 3], + ['Z'], + ['M', 10, 3], + ['L', 121, 3], + ['L', 121, 1], + ['L', 10, 1], + ['L', 10, 3], + ['Z'], + ], + }, + { + type: 'rect', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: -52, + top: -24.5, + width: 32, + height: 32, + fill: watchIconData.rectFill, + stroke: null, + strokeWidth: 1, + strokeDashArray: null, + strokeLineCap: 'butt', + strokeDashOffset: 0, + strokeLineJoin: 'miter', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: null, + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + rx: 2, + ry: 2, + selectable: true, + hasControls: true, + }, + { + type: 'path', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: -45.9945, + top: -17.6, + width: 19.8963, + height: 0, + fill: '', + stroke: 'white', + strokeWidth: 1.2, + strokeDashArray: null, + strokeLineCap: 'round', + strokeDashOffset: 0, + strokeLineJoin: 'round', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: null, + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + selectable: true, + hasControls: true, + path: [ + ['M', 40.0018, 16], + ['L', 29.5301, 16], + ['L', 20.1055, 16], + ], + }, + { + type: 'path', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: -36.5727, + top: -17.6, + width: 0, + height: 8.8419, + fill: '', + stroke: 'white', + strokeWidth: 1.2, + strokeDashArray: null, + strokeLineCap: 'round', + strokeDashOffset: 0, + strokeLineJoin: 'round', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: null, + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + selectable: true, + hasControls: true, + path: [ + ['M', 29.5273, 24.8419], + ['L', 29.5273, 16], + ], + }, + { + type: 'path', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: -46.1, + top: -10.5375, + width: 18.5869, + height: 10.9372, + fill: 'white', + stroke: 'white', + strokeWidth: 1.2, + strokeDashArray: null, + strokeLineCap: 'round', + strokeDashOffset: 0, + strokeLineJoin: 'round', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: null, + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + selectable: true, + hasControls: true, + path: [ + ['M', 21.8972, 23.0625], + ['L', 38.5869, 27.5048], + ['L', 37.6746, 28.8773], + ['L', 35.579, 32.6272], + ['L', 34.6667, 33.9997], + ['L', 20, 30.0959], + ['L', 21.8972, 23.0625], + ['Z'], + ], + }, + { + type: 'path', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: -30.5219, + top: -4.7211, + width: 4.1186, + height: 4.5576, + fill: '', + stroke: 'white', + strokeWidth: 1.2, + strokeDashArray: null, + strokeLineCap: 'round', + strokeDashOffset: 0, + strokeLineJoin: 'round', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: null, + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + selectable: true, + hasControls: true, + path: [ + ['M', 37.6737, 28.8789], + ['L', 39.6967, 29.4174], + ['L', 38.6126, 33.4365], + ['L', 35.5781, 32.6288], + ], + }, + { + type: 'path', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: -43.3008, + top: -7.6387, + width: 4.2123, + height: 4.181, + fill: '', + stroke: watchIconData.rectFill, + strokeWidth: 0.5, + strokeDashArray: null, + strokeLineCap: 'butt', + strokeDashOffset: 0, + strokeLineJoin: 'miter', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: null, + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + selectable: true, + hasControls: true, + path: [ + ['M', 26.6615, 27.7018], + ['C', 26.6615, 28.8548, 25.7201, 29.7923, 24.5554, 29.7923], + ['C', 23.3906, 29.7923, 22.4492, 28.8548, 22.4492, 27.7018], + ['C', 22.4492, 26.5488, 23.3906, 25.6113, 24.5554, 25.6113], + ['C', 25.7201, 25.6113, 26.6615, 26.5488, 26.6615, 27.7018], + ['Z'], + ], + }, + ]; +} + +export const fetchWatchGroupObjects: Record = (record: { + status: string; + deviceName: string; +}) => { + const { status, deviceName } = record; + let watchIconObject = fetchWatchIcon(status);; + + // console.log(deviceName, 'deviceName'); + return { + type: 'group', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: 20.9866, + top: 16.4716, + width: 131, + height: 66, + fill: 'rgb(0,0,0)', + stroke: null, + strokeWidth: 0, + strokeDashArray: null, + strokeLineCap: 'butt', + strokeDashOffset: 0, + strokeLineJoin: 'miter', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: null, + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + id: '160e5a54-0126-473e-908a-5f74a2a8a14a', + selectable: true, + hasControls: true, + objects: [ + { + type: 'group', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: -65.5, + top: -33, + width: 131, + height: 66, + fill: 'rgb(0,0,0)', + stroke: null, + strokeWidth: 0, + strokeDashArray: null, + strokeLineCap: 'butt', + strokeDashOffset: 0, + strokeLineJoin: 'miter', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: '', + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + selectable: true, + hasControls: true, + objects: watchIconObject, + }, + { + type: 'textbox', + version: '5.3.0', + originX: 'left', + originY: 'top', + left: -15.709, + top: -15.0177, + width: 67.6873, + height: 13.56, + fill: 'rgb(0,0,0)', + stroke: null, + strokeWidth: 1, + strokeDashArray: null, + strokeLineCap: 'butt', + strokeDashOffset: 0, + strokeLineJoin: 'miter', + strokeUniform: false, + strokeMiterLimit: 4, + scaleX: 1, + scaleY: 1, + angle: 0, + flipX: false, + flipY: false, + opacity: 1, + shadow: '', + visible: true, + backgroundColor: '', + fillRule: 'nonzero', + paintFirst: 'fill', + globalCompositeOperation: 'source-over', + skewX: 0, + skewY: 0, + fontFamily: 'arial', + fontWeight: 'normal', + fontSize: 14, + text: deviceName, + underline: false, + overline: false, + linethrough: false, + textAlign: 'left', + fontStyle: 'normal', + lineHeight: 1.16, + textBackgroundColor: '', + charSpacing: 0, + styles: [], + direction: 'ltr', + path: null, + pathStartOffset: 0, + pathSide: 'left', + pathAlign: 'baseline', + minWidth: 20, + splitByGrapheme: true, + selectable: true, + hasControls: true, + }, + ], + }; +}; diff --git a/src/testData/testData.md b/src/testData/testData.md new file mode 100644 index 0000000..3684c11 --- /dev/null +++ b/src/testData/testData.md @@ -0,0 +1,11 @@ + +### 测试数据 + + diff --git a/src/typings.d.ts b/src/typings.d.ts new file mode 100644 index 0000000..99f0711 --- /dev/null +++ b/src/typings.d.ts @@ -0,0 +1,24 @@ +declare module 'slash2'; +declare module '*.css'; +declare module '*.less'; +declare module '*.scss'; +declare module '*.sass'; +declare module '*.svg'; +declare module '*.png'; +declare module '*.jpg'; +declare module '*.jpeg'; +declare module '*.gif'; +declare module '*.bmp'; +declare module '*.tiff'; +declare module 'omit.js'; +declare module 'numeral'; +declare module '@antv/data-set'; +declare module 'mockjs'; +declare module 'react-fittext'; +declare module 'bizcharts-plugin-slider'; + +declare const REACT_APP_ENV: 'test' | 'dev' | 'pre' | false; +declare const SERVER_HOST:string; + +declare const FILE_SERVER_HOST:string; +declare const WEBRTC_SERVER_HOST:string; diff --git a/src/utils/FixMenuItemIcon.tsx b/src/utils/FixMenuItemIcon.tsx new file mode 100644 index 0000000..2917ca3 --- /dev/null +++ b/src/utils/FixMenuItemIcon.tsx @@ -0,0 +1,63 @@ +/** + * @FixMenuItemIcon 菜单图标手动导入 + * + * + */ +import React from 'react'; +import { MenuDataItem } from '@ant-design/pro-layout'; +import {CarOutlined, UserOutlined, TableOutlined, + DollarCircleOutlined, ShopOutlined, UserSwitchOutlined, + HomeOutlined, SettingOutlined, TeamOutlined, DotChartOutlined, + BlockOutlined, DesktopOutlined, DatabaseOutlined, + WarningOutlined, CalendarOutlined, ExperimentOutlined, + ThunderboltOutlined, BugOutlined, AreaChartOutlined,ContactsOutlined, GatewayOutlined, BellOutlined, + PictureOutlined +} from '@ant-design/icons'; + +const iconMap:any = { + 'CarOutlined': , + 'UserOutlined': , + 'TableOutlined': , + 'DollarCircleOutlined': , + 'ShopOutlined': , + 'UserSwitchOutlined': , + 'HomeOutlined': , + 'SettingOutlined': , + 'TeamOutlined': , + 'DotChartOutlined': , + 'BlockOutlined': , + 'DesktopOutlined': , + 'DatabaseOutlined': , + 'WarningOutlined': , + 'CalendarOutlined': , + 'ExperimentOutlined': , + 'ThunderboltOutlined': , + 'BugOutlined': , + 'AreaChartOutlined': , + 'ContactsOutlined': , + 'GatewayOutlined': , + 'BellOutlined': , + 'PictureOutlined': +} +// FIX从接口获取菜单时icon为string类型 +const fixMenuItemIcon = (menus: MenuDataItem[], iconType = 'Outlined'): MenuDataItem[] => { + menus.forEach((item) => { + const { icon, children } = item; + if (typeof icon === 'string') { + console.log(22, icon) + if (icon in iconMap) { + item.icon = iconMap[icon]; + } else { + item.icon = iconMap['TableOutlined']; + } + // let fixIconName = icon.slice(0, 1).toLocaleUpperCase() + icon.slice(1) + iconType; + // // @ts-ignore + // item.icon = React.createElement(allIcons[fixIconName] || allIcons[icon]); + } + // eslint-disable-next-line @typescript-eslint/no-unused-expressions + children && children.length > 0 ? (item.children = fixMenuItemIcon(children)) : null; + }); + return menus; +}; + +export default fixMenuItemIcon; diff --git a/src/utils/IconUtil.ts b/src/utils/IconUtil.ts new file mode 100644 index 0000000..19446c4 --- /dev/null +++ b/src/utils/IconUtil.ts @@ -0,0 +1,24 @@ +import * as AntdIcons from '@ant-design/icons'; +import React from 'react'; + +const allIcons: Record = AntdIcons; + +export function getIcon(name: string): React.ReactNode | string { + const icon = allIcons[name]; + return icon || ''; +} + +export function createIcon(icon?: string | any): React.ReactNode | string { + if(!icon){ + return '' + } + console.log(icon,'createIcon_icon') + if (typeof icon === 'object') { + return icon; + } + const ele = allIcons[icon]; + if (ele) { + return React.createElement(allIcons[icon]); + } + return ''; +} diff --git a/src/utils/common.ts b/src/utils/common.ts new file mode 100644 index 0000000..8e31cc0 --- /dev/null +++ b/src/utils/common.ts @@ -0,0 +1,123 @@ +import {RcFile} from "antd/es/upload/interface"; +import {message} from "antd"; + +const file_type_list = [ + 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', //xlsx + 'application/vnd.ms-excel', //xls + 'application/vnd.openxmlformats-officedocument.wordprocessingml.document', //docx + 'text/plain', //text + 'application/pdf', //pdf + 'application/json', //json + 'application/msword', //doc +] +export const parseIds = (data: string | undefined)=>{ + console.log(555, data) + if (data === undefined || data === '') { + console.log(88888, data) + return [] + } else { + return data.split(",").map((item)=>{return parseInt(item)}) + } +} + +export const handleOneFile: any = (values: any, name: string)=>{ + if (values[name] && values[name].length) { + // 有文件 + if(values[name][0].status === 'error'){ + // 第一个文件 上传失败 + delete values[name] + } else { + if (values[name][0]?.response && values[name][0]?.response?.data?.path) { + values[name] = values[name][0]?.response?.data?.path + } else { + delete values[name] + } + } + } else { + delete values[name] + } + return values +} + +export const beforeUploadImage = (file: RcFile) => { + const isJpgOrPng = file.type === 'image/jpeg' || file.type === 'image/png'; + console.log(file.type) + if (!isJpgOrPng) { + message.error('不是图片类型'); + } + const isLt2M = file.size / 1024 / 1024 < 2; + if (!isLt2M) { + message.error('大小超过2M'); + } + return isJpgOrPng && isLt2M; +}; + +export const beforeUploadFile = (file: RcFile) => { + const isLt50M = file.size / 1024 / 1024 < 50; + if (!isLt50M) { + message.error('大小超过50M'); + } + return isLt50M; +}; + +export const imageInit = (host: string, data: any)=>{ + if (data) { + return [{uid: '-1', name: 'image.png', status: 'done', url: host+data,}] + } else { + return [] + } +} + +export const getEnum = (intl: any, data: Array)=>{ + let temp = {} + data.forEach((v)=>{ + let name = v.split('.enum.')[1] + // @ts-ignore + temp[name] = intl.formatMessage({id: `${v}`, defaultMessage: '$$$',}) + }) + return temp +} + +export function addObjectByCode(obj: any, code: any, data:any) { + if (obj.code === code) { + if (!obj.children) { + obj.children = []; + } + obj.children.push(data); + return true; + } else if (obj.children) { + for (let i = 0; i < obj.children.length; i++) { + const added = addObjectByCode(obj.children[i], code, data); + if (added) { + return true; + } + } + } + return false; +} + +export function floatFormat(num: number, precision = 12) { + return +parseFloat(num.toPrecision(precision)); +} + +export function getAllRouteNameTile(routes: any[], parent_name: string) { + let temp: any[] = [] + routes.forEach((v)=>{ + temp.push({name: `${parent_name}.${v.name}`, title: v.title}) + let new_parent_name = `${parent_name}.${v.name}` + if (v.routes.length) { + temp = temp.concat(getAllRouteNameTile(v.routes, new_parent_name)) + } + }) + return temp +} + +export function dateFormat(date: string) : string{ + + + const datetime = new Date(date); + const year = datetime.getFullYear(); + const month = (datetime.getMonth() + 1).toString().padStart(2, '0'); + const day = datetime.getDate().toString().padStart(2, '0'); + return `${year}-${month}-${day}` +} diff --git a/src/utils/downloadfile.ts b/src/utils/downloadfile.ts new file mode 100644 index 0000000..5d56cda --- /dev/null +++ b/src/utils/downloadfile.ts @@ -0,0 +1,63 @@ +import { request } from '@umijs/max'; + +const mimeMap = { + xlsx: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', + zip: 'application/zip', +}; + +/** + * 解析blob响应内容并下载 + * @param {*} res blob响应内容 + * @param {String} mimeType MIME类型 + */ +export function resolveBlob(res: any, mimeType: string) { + const aLink = document.createElement('a'); + const blob = new Blob([res.data], { type: mimeType }); + // //从response的headers中获取filename, 后端response.setHeader("Content-disposition", "attachment; filename=xxxx.docx") 设置的文件名; + const patt = new RegExp('filename=([^;]+\\.[^\\.;]+);*'); + // console.log(res); + const contentDisposition = decodeURI(res.headers['content-disposition']); + const result = patt.exec(contentDisposition); + let fileName = result ? result[1] : 'file'; + fileName = fileName.replace(/"/g, ''); + aLink.style.display = 'none'; + aLink.href = URL.createObjectURL(blob); + aLink.setAttribute('download', fileName); // 设置下载文件名称 + document.body.appendChild(aLink); + aLink.click(); + URL.revokeObjectURL(aLink.href); // 清除引用 + document.body.removeChild(aLink); +} + +export function downLoadZip(url: string) { + request(url, { + method: 'GET', + responseType: 'blob', + getResponse: true, + }).then((res) => { + resolveBlob(res, mimeMap.zip); + }); +} + +export async function downLoadXlsx(url: string, params: any, fileName: string) { + return request(url, { + ...params, + method: 'POST', + responseType: 'blob', + }).then((data) => { + const aLink = document.createElement('a'); + const blob = data as any; // new Blob([data], { type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' }); + aLink.style.display = 'none'; + aLink.href = URL.createObjectURL(blob); + aLink.setAttribute('download', fileName); // 设置下载文件名称 + document.body.appendChild(aLink); + aLink.click(); + URL.revokeObjectURL(aLink.href); // 清除引用 + document.body.removeChild(aLink); + }); +} + + +export function download(fileName: string) { + window.location.href = `/api/common/download?fileName=${encodeURI(fileName)}&delete=${true}`; +} diff --git a/src/utils/options.ts b/src/utils/options.ts new file mode 100644 index 0000000..b65663f --- /dev/null +++ b/src/utils/options.ts @@ -0,0 +1,12 @@ +import { DictValueEnumObj } from "@/components/DictTag"; +import { ProSchemaValueEnumObj, ProSchemaValueEnumType } from "@ant-design/pro-components"; + +export function getValueEnumLabel(options: DictValueEnumObj | ProSchemaValueEnumObj, val: string | number | undefined, value?: string) { + if (val !== undefined) { + const data = options[val] as ProSchemaValueEnumType; + if(data) { + return data.text; + } + } + return value?value:val; +} diff --git a/src/utils/permission.ts b/src/utils/permission.ts new file mode 100644 index 0000000..e7c8a28 --- /dev/null +++ b/src/utils/permission.ts @@ -0,0 +1,64 @@ +// /** +// * 字符权限校验 +// * @param {Array} value 校验值 +// * @returns {Boolean} +// */ +export function matchPerms(permissions: string[], value: string[]) { + if (value && value instanceof Array && value.length > 0) { + const permissionDatas = value; + const all_permission = '*:*:*'; + const hasPermission = permissions.some((permission) => { + return all_permission === permission || permissionDatas.includes(permission); + }); + if (!hasPermission) { + return false; + } + return true; + } + console.error(`need roles! Like checkPermi="['system:user:add','system:user:edit']"`); + return false; +} + +export function matchPerm(permissions: string[], value: string) { + if (value && value.length > 0) { + const permissionDatas = value; + const all_permission = '*:*:*'; + const hasPermission = permissions.some((permission) => { + return all_permission === permission || permissionDatas === permission; + }); + if (!hasPermission) { + return false; + } + return true; + } + console.error(`need roles! Like checkPermi="['system:user:add','system:user:edit']"`); + return false; +} + +export function matchPermission(permissions: string[] | undefined, value: any): boolean { + if (permissions === undefined) return false; + const type = typeof value; + if (type === 'string') { + return matchPerm(permissions, value); + } + return matchPerms(permissions, value); +} + +/** + * 角色权限校验 + * @param {Array} value 校验值 + * @returns {Boolean} + */ +export function checkRole(roles: API.System.Role[] | undefined, value: string[]) { + if (roles && value && value.length > 0) { + for (let i = 0; i < roles?.length; i++) { + for (let j = 0; j < value?.length; j++) { + if (value[j] === roles[i].roleKey) { + return true; + } + } + } + } + console.error(`need roles! Like checkRole="['admin','editor']"`); + return false; +} diff --git a/src/utils/player.tsx b/src/utils/player.tsx new file mode 100644 index 0000000..ee20481 --- /dev/null +++ b/src/utils/player.tsx @@ -0,0 +1,9 @@ +import React from 'react' +import { VideoPlayer } from '@videojs-player/react' +import 'video.js/dist/video-js.css' + +export const MyComponent: React.FC = () => { + return ( +
+ ) +} diff --git a/src/utils/storage.js b/src/utils/storage.js new file mode 100644 index 0000000..602378a --- /dev/null +++ b/src/utils/storage.js @@ -0,0 +1,78 @@ +// TODO 改为ts格式 +/** + * 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) + } + + const storage = global.window.localStorage + + storage.setItem(name, content) + if (maxAge && !isNaN(parseInt(maxAge))) { + const 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 + } + + const content = window.localStorage.getItem(name) + const _expire = window.localStorage.getItem(`${name}_expire`) + + if (_expire) { + const 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() + } \ No newline at end of file diff --git a/src/utils/tree.ts b/src/utils/tree.ts new file mode 100644 index 0000000..d75395e --- /dev/null +++ b/src/utils/tree.ts @@ -0,0 +1,93 @@ +import { DataNode } from 'antd/es/tree'; +import { parse } from 'querystring'; + +/** + * 构造树型结构数据 + * @param {*} data 数据源 + * @param {*} id id字段 默认 'id' + * @param {*} parentId 父节点字段 默认 'parentId' + * @param {*} children 孩子节点字段 默认 'children' + */ +export function buildTreeData( + data: any[], + id: string, + name: string, + parentId: string, + parentName: string, + children: string, +) { + const config = { + id: id || 'id', + name: name || 'name', + parentId: parentId || 'parentId', + parentName: parentName || 'parentName', + childrenList: children || 'children', + }; + + const childrenListMap: any[] = []; + const nodeIds: any[] = []; + const tree: any[] = []; + data.forEach((item) => { + const d = item; + const pId = d[config.parentId]; + if (!childrenListMap[pId]) { + childrenListMap[pId] = []; + } + d.key = d[config.id]; + d.title = d[config.name]; + d.value = d[config.id]; + d[config.childrenList] = null; + nodeIds[d[config.id]] = d; + childrenListMap[pId].push(d); + }); + + data.forEach((item: any) => { + const d = item; + const pId = d[config.parentId]; + if (!nodeIds[pId]) { + d[config.parentName] = ''; + tree.push(d); + } + }); + + function adaptToChildrenList(item: any) { + const o = item; + if (childrenListMap[o[config.id]]) { + if (!o[config.childrenList]) { + o[config.childrenList] = []; + } + o[config.childrenList] = childrenListMap[o[config.id]]; + } + if (o[config.childrenList]) { + o[config.childrenList].forEach((child: any) => { + const c = child; + c[config.parentName] = o[config.name]; + adaptToChildrenList(c); + }); + } + } + + tree.forEach((t: any) => { + adaptToChildrenList(t); + }); + + return tree; +} + +export const getPageQuery = () => parse(window.location.href.split('?')[1]); + +export function formatTreeData(arrayList: any): DataNode[] { + const treeSelectData: DataNode[] = arrayList.map((item: any) => { + const node: DataNode = { + id: item.id, + title: item.label, + key: `${item.id}`, + value: item.id, + } as DataNode; + if (item.children) { + node.children = formatTreeData(item.children); + } + return node; + }); + return treeSelectData; +} diff --git a/tests/setupTests.jsx b/tests/setupTests.jsx new file mode 100644 index 0000000..952561d --- /dev/null +++ b/tests/setupTests.jsx @@ -0,0 +1,64 @@ +const localStorageMock = { + getItem: jest.fn(), + setItem: jest.fn(), + removeItem: jest.fn(), + clear: jest.fn(), +}; + +global.localStorage = localStorageMock; + +Object.defineProperty(URL, 'createObjectURL', { + writable: true, + value: jest.fn(), +}); + +class Worker { + constructor(stringUrl) { + this.url = stringUrl; + this.onmessage = () => {}; + } + + postMessage(msg) { + this.onmessage(msg); + } +} +window.Worker = Worker; + +/* eslint-disable global-require */ +if (typeof window !== 'undefined') { + // ref: https://github.com/ant-design/ant-design/issues/18774 + if (!window.matchMedia) { + Object.defineProperty(global.window, 'matchMedia', { + writable: true, + configurable: true, + value: jest.fn(() => ({ + matches: false, + addListener: jest.fn(), + removeListener: jest.fn(), + })), + }); + } + if (!window.matchMedia) { + Object.defineProperty(global.window, 'matchMedia', { + writable: true, + configurable: true, + value: jest.fn((query) => ({ + matches: query.includes('max-width'), + addListener: jest.fn(), + removeListener: jest.fn(), + })), + }); + } +} +const errorLog = console.error; +Object.defineProperty(global.window.console, 'error', { + writable: true, + configurable: true, + value: (...rest) => { + const logStr = rest.join(''); + if (logStr.includes('Warning: An update to %s inside a test was not wrapped in act(...)')) { + return; + } + errorLog(...rest); + }, +}); diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..9fe8cd8 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,27 @@ +{ + "compilerOptions": { + "forceConsistentCasingInFileNames": false, + + "target": "esnext", + "module": "esnext", + "moduleResolution": "node", + "importHelpers": true, + "jsx": "preserve", + "esModuleInterop": true, + "sourceMap": true, + "baseUrl": "./", + "skipLibCheck": true, + "experimentalDecorators": true, + "strict": true, + "resolveJsonModule": true, + "allowSyntheticDefaultImports": true, + "paths": { + "@/*": ["./src/*"], + "@@/*": ["./src/.umi/*"], + "@@test/*": ["./src/.umi-test/*"], + "@umijs/max": ["./src/.umijs/max"], + + } + }, + "include": ["./**/*.d.ts", "./**/*.ts", "./**/*.tsx", "src/utils/storage.js"] +} diff --git a/types/cache/cache.json b/types/cache/cache.json new file mode 100644 index 0000000..0967ef4 --- /dev/null +++ b/types/cache/cache.json @@ -0,0 +1 @@ +{} diff --git a/types/cache/login.cache.json b/types/cache/login.cache.json new file mode 100644 index 0000000..81109b4 --- /dev/null +++ b/types/cache/login.cache.json @@ -0,0 +1,386 @@ +{ + "GET /api/currentUser": { + "res": { + "data": { + "name": "Serati Ma", + "avatar": "https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png", + "userid": "00000001", + "email": "antdesign@alipay.com", + "signature": "海纳百川,有容乃大", + "title": "交互专家", + "group": "蚂蚁金服-某某某事业群-某某平台部-某某技术部-UED", + "tags": [ + { + "key": "0", + "label": "很有想法的" + }, + { + "key": "1", + "label": "专注设计" + }, + { + "key": "2", + "label": "辣~" + }, + { + "key": "3", + "label": "大长腿" + }, + { + "key": "4", + "label": "川妹子" + }, + { + "key": "5", + "label": "海纳百川" + } + ], + "notifyCount": 12, + "unreadCount": 11, + "country": "China", + "geographic": { + "province": { + "label": "浙江省", + "key": "330000" + }, + "city": { + "label": "杭州市", + "key": "330100" + } + }, + "address": "西湖区工专路 77 号", + "phone": "0752-268888888" + } + }, + "query": { + "token ": " 123" + }, + "payload": {}, + "types": "/** GET /api/currentUser */\nexport type GET_API_CURRENT_USER_QUERY = {\n /** example: 123 */\n token : string\n}\n \n\nexport type GET_API_CURRENT_USER_PAYLOAD = {\n \n}\n \n\nexport type GET_API_CURRENT_USER_RES = {\n /** example: {\"name\": \"Serati Ma\", \"avatar\": \"https: //gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png\", \"userid\": \"00000001\", \"email\": \"antdesign@alipay.com\", \"signature\": \"海纳百川,有容乃大\", \"title\": \"交互专家\", \"group\": \"蚂蚁金服-某某某事业群-某某平台部-某某技术部-UED\", \"tags\": [{\"key\": \"0\", \"label\": \"很有想法的\"}, {\"key\": \"1\", \"label\": \"专注设计\"}, {\"key\": \"2\", \"label\": \"辣~\"}, {\"key\": \"3\", \"label\": \"大长腿\"}, {\"key\": \"4\", \"label\": \"川妹子\"}, {\"key\": \"5\", \"label\": \"海纳百川\"}], \"notifyCount\": 12, \"unreadCount\": 11, \"country\": \"China\", \"geographic\": {\"province\": {\"label\": \"浙江省\", \"key\": \"330000\"}, \"city\": {\"label\": \"杭州市\", \"key\": \"330100\"}}, \"address\": \"西湖区工专路 77 号\", \"phone\": \"0752-268888888\"} */\n data: {\n name: string,\navatar: string,\nuserid: string,\nemail: string,\nsignature: string,\ntitle: string,\ngroup: string,\ntags: {\n key: string,\nlabel: string\n }[],\nnotifyCount: number,\nunreadCount: number,\ncountry: string,\ngeographic: {\n province: {\n label: string,\nkey: string\n },\ncity: {\n label: string,\nkey: string\n }\n },\naddress: string,\nphone: string\n }\n}\n " + }, + "GET /api/rule": { + "res": { + "data": [ + { + "key": 99, + "disabled": false, + "href": "https://ant.design", + "avatar": "https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png", + "name": "TradeCode 99", + "owner": "曲丽丽", + "desc": "这是一段描述", + "callNo": 503, + "status": "0", + "updatedAt": "2022-12-06T05:00:57.040Z", + "createdAt": "2022-12-06T05:00:57.040Z", + "progress": 81 + }, + { + "key": 98, + "disabled": false, + "href": "https://ant.design", + "avatar": "https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png", + "name": "TradeCode 98", + "owner": "曲丽丽", + "desc": "这是一段描述", + "callNo": 164, + "status": "0", + "updatedAt": "2022-12-06T05:00:57.040Z", + "createdAt": "2022-12-06T05:00:57.040Z", + "progress": 12 + }, + { + "key": 97, + "disabled": false, + "href": "https://ant.design", + "avatar": "https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png", + "name": "TradeCode 97", + "owner": "曲丽丽", + "desc": "这是一段描述", + "callNo": 174, + "status": "1", + "updatedAt": "2022-12-06T05:00:57.040Z", + "createdAt": "2022-12-06T05:00:57.040Z", + "progress": 81 + }, + { + "key": 96, + "disabled": true, + "href": "https://ant.design", + "avatar": "https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png", + "name": "TradeCode 96", + "owner": "曲丽丽", + "desc": "这是一段描述", + "callNo": 914, + "status": "0", + "updatedAt": "2022-12-06T05:00:57.040Z", + "createdAt": "2022-12-06T05:00:57.040Z", + "progress": 7 + }, + { + "key": 95, + "disabled": false, + "href": "https://ant.design", + "avatar": "https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png", + "name": "TradeCode 95", + "owner": "曲丽丽", + "desc": "这是一段描述", + "callNo": 698, + "status": "2", + "updatedAt": "2022-12-06T05:00:57.040Z", + "createdAt": "2022-12-06T05:00:57.040Z", + "progress": 82 + }, + { + "key": 94, + "disabled": false, + "href": "https://ant.design", + "avatar": "https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png", + "name": "TradeCode 94", + "owner": "曲丽丽", + "desc": "这是一段描述", + "callNo": 488, + "status": "1", + "updatedAt": "2022-12-06T05:00:57.040Z", + "createdAt": "2022-12-06T05:00:57.040Z", + "progress": 14 + }, + { + "key": 93, + "disabled": false, + "href": "https://ant.design", + "avatar": "https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png", + "name": "TradeCode 93", + "owner": "曲丽丽", + "desc": "这是一段描述", + "callNo": 580, + "status": "2", + "updatedAt": "2022-12-06T05:00:57.040Z", + "createdAt": "2022-12-06T05:00:57.040Z", + "progress": 77 + }, + { + "key": 92, + "disabled": false, + "href": "https://ant.design", + "avatar": "https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png", + "name": "TradeCode 92", + "owner": "曲丽丽", + "desc": "这是一段描述", + "callNo": 244, + "status": "3", + "updatedAt": "2022-12-06T05:00:57.040Z", + "createdAt": "2022-12-06T05:00:57.040Z", + "progress": 58 + }, + { + "key": 91, + "disabled": false, + "href": "https://ant.design", + "avatar": "https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png", + "name": "TradeCode 91", + "owner": "曲丽丽", + "desc": "这是一段描述", + "callNo": 959, + "status": "0", + "updatedAt": "2022-12-06T05:00:57.040Z", + "createdAt": "2022-12-06T05:00:57.040Z", + "progress": 66 + }, + { + "key": 90, + "disabled": true, + "href": "https://ant.design", + "avatar": "https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png", + "name": "TradeCode 90", + "owner": "曲丽丽", + "desc": "这是一段描述", + "callNo": 958, + "status": "0", + "updatedAt": "2022-12-06T05:00:57.040Z", + "createdAt": "2022-12-06T05:00:57.040Z", + "progress": 72 + }, + { + "key": 89, + "disabled": false, + "href": "https://ant.design", + "avatar": "https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png", + "name": "TradeCode 89", + "owner": "曲丽丽", + "desc": "这是一段描述", + "callNo": 301, + "status": "2", + "updatedAt": "2022-12-06T05:00:57.040Z", + "createdAt": "2022-12-06T05:00:57.040Z", + "progress": 2 + }, + { + "key": 88, + "disabled": false, + "href": "https://ant.design", + "avatar": "https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png", + "name": "TradeCode 88", + "owner": "曲丽丽", + "desc": "这是一段描述", + "callNo": 277, + "status": "1", + "updatedAt": "2022-12-06T05:00:57.040Z", + "createdAt": "2022-12-06T05:00:57.040Z", + "progress": 12 + }, + { + "key": 87, + "disabled": false, + "href": "https://ant.design", + "avatar": "https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png", + "name": "TradeCode 87", + "owner": "曲丽丽", + "desc": "这是一段描述", + "callNo": 810, + "status": "1", + "updatedAt": "2022-12-06T05:00:57.040Z", + "createdAt": "2022-12-06T05:00:57.040Z", + "progress": 82 + }, + { + "key": 86, + "disabled": false, + "href": "https://ant.design", + "avatar": "https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png", + "name": "TradeCode 86", + "owner": "曲丽丽", + "desc": "这是一段描述", + "callNo": 780, + "status": "3", + "updatedAt": "2022-12-06T05:00:57.040Z", + "createdAt": "2022-12-06T05:00:57.040Z", + "progress": 22 + }, + { + "key": 85, + "disabled": false, + "href": "https://ant.design", + "avatar": "https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png", + "name": "TradeCode 85", + "owner": "曲丽丽", + "desc": "这是一段描述", + "callNo": 705, + "status": "3", + "updatedAt": "2022-12-06T05:00:57.040Z", + "createdAt": "2022-12-06T05:00:57.040Z", + "progress": 12 + }, + { + "key": 84, + "disabled": true, + "href": "https://ant.design", + "avatar": "https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png", + "name": "TradeCode 84", + "owner": "曲丽丽", + "desc": "这是一段描述", + "callNo": 203, + "status": "0", + "updatedAt": "2022-12-06T05:00:57.040Z", + "createdAt": "2022-12-06T05:00:57.040Z", + "progress": 79 + }, + { + "key": 83, + "disabled": false, + "href": "https://ant.design", + "avatar": "https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png", + "name": "TradeCode 83", + "owner": "曲丽丽", + "desc": "这是一段描述", + "callNo": 491, + "status": "2", + "updatedAt": "2022-12-06T05:00:57.040Z", + "createdAt": "2022-12-06T05:00:57.040Z", + "progress": 59 + }, + { + "key": 82, + "disabled": false, + "href": "https://ant.design", + "avatar": "https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png", + "name": "TradeCode 82", + "owner": "曲丽丽", + "desc": "这是一段描述", + "callNo": 73, + "status": "0", + "updatedAt": "2022-12-06T05:00:57.040Z", + "createdAt": "2022-12-06T05:00:57.040Z", + "progress": 100 + }, + { + "key": 81, + "disabled": false, + "href": "https://ant.design", + "avatar": "https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png", + "name": "TradeCode 81", + "owner": "曲丽丽", + "desc": "这是一段描述", + "callNo": 406, + "status": "3", + "updatedAt": "2022-12-06T05:00:57.040Z", + "createdAt": "2022-12-06T05:00:57.040Z", + "progress": 61 + }, + { + "key": 80, + "disabled": false, + "href": "https://ant.design", + "avatar": "https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png", + "name": "TradeCode 80", + "owner": "曲丽丽", + "desc": "这是一段描述", + "callNo": 112, + "status": "2", + "updatedAt": "2022-12-06T05:00:57.040Z", + "createdAt": "2022-12-06T05:00:57.040Z", + "progress": 20 + } + ], + "total": 100, + "success": true, + "pageSize": 20, + "current": 1 + }, + "query": { + "token ": " 123", + "current": "1", + "pageSize": "20" + }, + "payload": {}, + "types": "/** GET /api/rule */\nexport type GET_API_RULE_QUERY = {\n /** example: 123 */\n token : string;\n /** example: 1 */\n current: string;\n /** example: 20 */\n pageSize: string\n}\n \n\nexport type GET_API_RULE_PAYLOAD = {\n \n}\n \n\nexport type GET_API_RULE_RES = {\n /** example: [{\"key\": 99, \"disabled\": false, \"href\": \"https: //ant.design\", \"avatar\": \"https: //gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png\", \"name\": \"TradeCode 99\", \"owner\": \"曲丽丽\", \"desc\": \"这是一段描述\", \"callNo\": 503, \"status\": \"0\", \"updatedAt\": \"2022-12-06T05: 00: 57.040Z\", \"createdAt\": \"2022-12-06T05: 00: 57.040Z\", \"progress\": 81}, {\"key\": 98, \"disabled\": false, \"href\": \"https: //ant.design\", \"avatar\": \"https: //gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png\", \"name\": \"TradeCode 98\", \"owner\": \"曲丽丽\", \"desc\": \"这是一段描述\", \"callNo\": 164, \"status\": \"0\", \"updatedAt\": \"2022-12-06T05: 00: 57.040Z\", \"createdAt\": \"2022-12-06T05: 00: 57.040Z\", \"progress\": 12}, {\"key\": 97, \"disabled\": false, \"href\": \"https: //ant.design\", \"avatar\": \"https: //gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png\", \"name\": \"TradeCode 97\", \"owner\": \"曲丽丽\", \"desc\": \"这是一段描述\", \"callNo\": 174, \"status\": \"1\", \"updatedAt\": \"2022-12-06T05: 00: 57.040Z\", \"createdAt\": \"2022-12-06T05: 00: 57.040Z\", \"progress\": 81}, {\"key\": 96, \"disabled\": true, \"href\": \"https: //ant.design\", \"avatar\": \"https: //gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png\", \"name\": \"TradeCode 96\", \"owner\": \"曲丽丽\", \"desc\": \"这是一段描述\", \"callNo\": 914, \"status\": \"0\", \"updatedAt\": \"2022-12-06T05: 00: 57.040Z\", \"createdAt\": \"2022-12-06T05: 00: 57.040Z\", \"progress\": 7}, {\"key\": 95, \"disabled\": false, \"href\": \"https: //ant.design\", \"avatar\": \"https: //gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png\", \"name\": \"TradeCode 95\", \"owner\": \"曲丽丽\", \"desc\": \"这是一段描述\", \"callNo\": 698, \"status\": \"2\", \"updatedAt\": \"2022-12-06T05: 00: 57.040Z\", \"createdAt\": \"2022-12-06T05: 00: 57.040Z\", \"progress\": 82}, {\"key\": 94, \"disabled\": false, \"href\": \"https: //ant.design\", \"avatar\": \"https: //gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png\", \"name\": \"TradeCode 94\", \"owner\": \"曲丽丽\", \"desc\": \"这是一段描述\", \"callNo\": 488, \"status\": \"1\", \"updatedAt\": \"2022-12-06T05: 00: 57.040Z\", \"createdAt\": \"2022-12-06T05: 00: 57.040Z\", \"progress\": 14}, {\"key\": 93, \"disabled\": false, \"href\": \"https: //ant.design\", \"avatar\": \"https: //gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png\", \"name\": \"TradeCode 93\", \"owner\": \"曲丽丽\", \"desc\": \"这是一段描述\", \"callNo\": 580, \"status\": \"2\", \"updatedAt\": \"2022-12-06T05: 00: 57.040Z\", \"createdAt\": \"2022-12-06T05: 00: 57.040Z\", \"progress\": 77}, {\"key\": 92, \"disabled\": false, \"href\": \"https: //ant.design\", \"avatar\": \"https: //gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png\", \"name\": \"TradeCode 92\", \"owner\": \"曲丽丽\", \"desc\": \"这是一段描述\", \"callNo\": 244, \"status\": \"3\", \"updatedAt\": \"2022-12-06T05: 00: 57.040Z\", \"createdAt\": \"2022-12-06T05: 00: 57.040Z\", \"progress\": 58}, {\"key\": 91, \"disabled\": false, \"href\": \"https: //ant.design\", \"avatar\": \"https: //gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png\", \"name\": \"TradeCode 91\", \"owner\": \"曲丽丽\", \"desc\": \"这是一段描述\", \"callNo\": 959, \"status\": \"0\", \"updatedAt\": \"2022-12-06T05: 00: 57.040Z\", \"createdAt\": \"2022-12-06T05: 00: 57.040Z\", \"progress\": 66}, {\"key\": 90, \"disabled\": true, \"href\": \"https: //ant.design\", \"avatar\": \"https: //gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png\", \"name\": \"TradeCode 90\", \"owner\": \"曲丽丽\", \"desc\": \"这是一段描述\", \"callNo\": 958, \"status\": \"0\", \"updatedAt\": \"2022-12-06T05: 00: 57.040Z\", \"createdAt\": \"2022-12-06T05: 00: 57.040Z\", \"progress\": 72}, {\"key\": 89, \"disabled\": false, \"href\": \"https: //ant.design\", \"avatar\": \"https: //gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png\", \"name\": \"TradeCode 89\", \"owner\": \"曲丽丽\", \"desc\": \"这是一段描述\", \"callNo\": 301, \"status\": \"2\", \"updatedAt\": \"2022-12-06T05: 00: 57.040Z\", \"createdAt\": \"2022-12-06T05: 00: 57.040Z\", \"progress\": 2}, {\"key\": 88, \"disabled\": false, \"href\": \"https: //ant.design\", \"avatar\": \"https: //gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png\", \"name\": \"TradeCode 88\", \"owner\": \"曲丽丽\", \"desc\": \"这是一段描述\", \"callNo\": 277, \"status\": \"1\", \"updatedAt\": \"2022-12-06T05: 00: 57.040Z\", \"createdAt\": \"2022-12-06T05: 00: 57.040Z\", \"progress\": 12}, {\"key\": 87, \"disabled\": false, \"href\": \"https: //ant.design\", \"avatar\": \"https: //gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png\", \"name\": \"TradeCode 87\", \"owner\": \"曲丽丽\", \"desc\": \"这是一段描述\", \"callNo\": 810, \"status\": \"1\", \"updatedAt\": \"2022-12-06T05: 00: 57.040Z\", \"createdAt\": \"2022-12-06T05: 00: 57.040Z\", \"progress\": 82}, {\"key\": 86, \"disabled\": false, \"href\": \"https: //ant.design\", \"avatar\": \"https: //gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png\", \"name\": \"TradeCode 86\", \"owner\": \"曲丽丽\", \"desc\": \"这是一段描述\", \"callNo\": 780, \"status\": \"3\", \"updatedAt\": \"2022-12-06T05: 00: 57.040Z\", \"createdAt\": \"2022-12-06T05: 00: 57.040Z\", \"progress\": 22}, {\"key\": 85, \"disabled\": false, \"href\": \"https: //ant.design\", \"avatar\": \"https: //gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png\", \"name\": \"TradeCode 85\", \"owner\": \"曲丽丽\", \"desc\": \"这是一段描述\", \"callNo\": 705, \"status\": \"3\", \"updatedAt\": \"2022-12-06T05: 00: 57.040Z\", \"createdAt\": \"2022-12-06T05: 00: 57.040Z\", \"progress\": 12}, {\"key\": 84, \"disabled\": true, \"href\": \"https: //ant.design\", \"avatar\": \"https: //gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png\", \"name\": \"TradeCode 84\", \"owner\": \"曲丽丽\", \"desc\": \"这是一段描述\", \"callNo\": 203, \"status\": \"0\", \"updatedAt\": \"2022-12-06T05: 00: 57.040Z\", \"createdAt\": \"2022-12-06T05: 00: 57.040Z\", \"progress\": 79}, {\"key\": 83, \"disabled\": false, \"href\": \"https: //ant.design\", \"avatar\": \"https: //gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png\", \"name\": \"TradeCode 83\", \"owner\": \"曲丽丽\", \"desc\": \"这是一段描述\", \"callNo\": 491, \"status\": \"2\", \"updatedAt\": \"2022-12-06T05: 00: 57.040Z\", \"createdAt\": \"2022-12-06T05: 00: 57.040Z\", \"progress\": 59}, {\"key\": 82, \"disabled\": false, \"href\": \"https: //ant.design\", \"avatar\": \"https: //gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png\", \"name\": \"TradeCode 82\", \"owner\": \"曲丽丽\", \"desc\": \"这是一段描述\", \"callNo\": 73, \"status\": \"0\", \"updatedAt\": \"2022-12-06T05: 00: 57.040Z\", \"createdAt\": \"2022-12-06T05: 00: 57.040Z\", \"progress\": 100}, {\"key\": 81, \"disabled\": false, \"href\": \"https: //ant.design\", \"avatar\": \"https: //gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png\", \"name\": \"TradeCode 81\", \"owner\": \"曲丽丽\", \"desc\": \"这是一段描述\", \"callNo\": 406, \"status\": \"3\", \"updatedAt\": \"2022-12-06T05: 00: 57.040Z\", \"createdAt\": \"2022-12-06T05: 00: 57.040Z\", \"progress\": 61}, {\"key\": 80, \"disabled\": false, \"href\": \"https: //ant.design\", \"avatar\": \"https: //gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png\", \"name\": \"TradeCode 80\", \"owner\": \"曲丽丽\", \"desc\": \"这是一段描述\", \"callNo\": 112, \"status\": \"2\", \"updatedAt\": \"2022-12-06T05: 00: 57.040Z\", \"createdAt\": \"2022-12-06T05: 00: 57.040Z\", \"progress\": 20}] */\n data: {\n key: number,\ndisabled: boolean,\nhref: string,\navatar: string,\nname: string,\nowner: string,\ndesc: string,\ncallNo: number,\nstatus: string,\nupdatedAt: string,\ncreatedAt: string,\nprogress: number\n }[];\n /** example: 100 */\n total: number;\n /** example: true */\n success: boolean;\n /** example: 20 */\n pageSize: number;\n /** example: 1 */\n current: number\n}\n " + }, + "POST /api/login/outLogin": { + "res": { + "data": {}, + "success": true + }, + "query": { + "token ": " 123" + }, + "payload": {}, + "types": "/** POST /api/login/outLogin */\nexport type POST_API_LOGIN_OUT_LOGIN_QUERY = {\n /** example: 123 */\n token : string\n}\n \n\nexport type POST_API_LOGIN_OUT_LOGIN_PAYLOAD = {\n \n}\n \n\nexport type POST_API_LOGIN_OUT_LOGIN_RES = {\n /** example: {} */\n data: {\n \n };\n /** example: true */\n success: boolean\n}\n " + }, + "POST /api/login/account": { + "res": { + "status": "ok", + "type": "account", + "currentAuthority": "admin" + }, + "query": { + "token ": " 123" + }, + "payload": { + "username": "admin", + "password": "ant.design", + "autoLogin": true, + "type": "account" + }, + "types": "/** POST /api/login/account */\nexport type POST_API_LOGIN_ACCOUNT_QUERY = {\n /** example: 123 */\n token : string\n}\n \n\nexport type POST_API_LOGIN_ACCOUNT_PAYLOAD = {\n /** example: admin */\n username: string;\n /** example: ant.design */\n password: string;\n /** example: true */\n autoLogin: boolean;\n /** example: account */\n type: string\n}\n \n\nexport type POST_API_LOGIN_ACCOUNT_RES = {\n /** example: ok */\n status: string;\n /** example: account */\n type: string;\n /** example: admin */\n currentAuthority: string\n}\n " + } +} diff --git a/types/cache/mock/login.mock.cache.js b/types/cache/mock/login.mock.cache.js new file mode 100644 index 0000000..6c59e19 --- /dev/null +++ b/types/cache/mock/login.mock.cache.js @@ -0,0 +1,324 @@ +module.exports = { + 'GET /api/currentUser': { + data: { + name: 'Serati Ma', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png', + userid: '00000001', + email: 'antdesign@alipay.com', + signature: '海纳百川,有容乃大', + title: '交互专家', + group: '蚂蚁金服-某某某事业群-某某平台部-某某技术部-UED', + tags: [ + { key: '0', label: '很有想法的' }, + { key: '1', label: '专注设计' }, + { key: '2', label: '辣~' }, + { key: '3', label: '大长腿' }, + { key: '4', label: '川妹子' }, + { key: '5', label: '海纳百川' }, + ], + notifyCount: 12, + unreadCount: 11, + country: 'China', + geographic: { + province: { label: '浙江省', key: '330000' }, + city: { label: '杭州市', key: '330100' }, + }, + address: '西湖区工专路 77 号', + phone: '0752-268888888', + }, + }, + 'GET /api/rule': { + data: [ + { + key: 99, + disabled: false, + href: 'https://ant.design', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png', + name: 'TradeCode 99', + owner: '曲丽丽', + desc: '这是一段描述', + callNo: 503, + status: '0', + updatedAt: '2022-12-06T05:00:57.040Z', + createdAt: '2022-12-06T05:00:57.040Z', + progress: 81, + }, + { + key: 98, + disabled: false, + href: 'https://ant.design', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png', + name: 'TradeCode 98', + owner: '曲丽丽', + desc: '这是一段描述', + callNo: 164, + status: '0', + updatedAt: '2022-12-06T05:00:57.040Z', + createdAt: '2022-12-06T05:00:57.040Z', + progress: 12, + }, + { + key: 97, + disabled: false, + href: 'https://ant.design', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png', + name: 'TradeCode 97', + owner: '曲丽丽', + desc: '这是一段描述', + callNo: 174, + status: '1', + updatedAt: '2022-12-06T05:00:57.040Z', + createdAt: '2022-12-06T05:00:57.040Z', + progress: 81, + }, + { + key: 96, + disabled: true, + href: 'https://ant.design', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png', + name: 'TradeCode 96', + owner: '曲丽丽', + desc: '这是一段描述', + callNo: 914, + status: '0', + updatedAt: '2022-12-06T05:00:57.040Z', + createdAt: '2022-12-06T05:00:57.040Z', + progress: 7, + }, + { + key: 95, + disabled: false, + href: 'https://ant.design', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png', + name: 'TradeCode 95', + owner: '曲丽丽', + desc: '这是一段描述', + callNo: 698, + status: '2', + updatedAt: '2022-12-06T05:00:57.040Z', + createdAt: '2022-12-06T05:00:57.040Z', + progress: 82, + }, + { + key: 94, + disabled: false, + href: 'https://ant.design', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png', + name: 'TradeCode 94', + owner: '曲丽丽', + desc: '这是一段描述', + callNo: 488, + status: '1', + updatedAt: '2022-12-06T05:00:57.040Z', + createdAt: '2022-12-06T05:00:57.040Z', + progress: 14, + }, + { + key: 93, + disabled: false, + href: 'https://ant.design', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png', + name: 'TradeCode 93', + owner: '曲丽丽', + desc: '这是一段描述', + callNo: 580, + status: '2', + updatedAt: '2022-12-06T05:00:57.040Z', + createdAt: '2022-12-06T05:00:57.040Z', + progress: 77, + }, + { + key: 92, + disabled: false, + href: 'https://ant.design', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png', + name: 'TradeCode 92', + owner: '曲丽丽', + desc: '这是一段描述', + callNo: 244, + status: '3', + updatedAt: '2022-12-06T05:00:57.040Z', + createdAt: '2022-12-06T05:00:57.040Z', + progress: 58, + }, + { + key: 91, + disabled: false, + href: 'https://ant.design', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png', + name: 'TradeCode 91', + owner: '曲丽丽', + desc: '这是一段描述', + callNo: 959, + status: '0', + updatedAt: '2022-12-06T05:00:57.040Z', + createdAt: '2022-12-06T05:00:57.040Z', + progress: 66, + }, + { + key: 90, + disabled: true, + href: 'https://ant.design', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png', + name: 'TradeCode 90', + owner: '曲丽丽', + desc: '这是一段描述', + callNo: 958, + status: '0', + updatedAt: '2022-12-06T05:00:57.040Z', + createdAt: '2022-12-06T05:00:57.040Z', + progress: 72, + }, + { + key: 89, + disabled: false, + href: 'https://ant.design', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png', + name: 'TradeCode 89', + owner: '曲丽丽', + desc: '这是一段描述', + callNo: 301, + status: '2', + updatedAt: '2022-12-06T05:00:57.040Z', + createdAt: '2022-12-06T05:00:57.040Z', + progress: 2, + }, + { + key: 88, + disabled: false, + href: 'https://ant.design', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png', + name: 'TradeCode 88', + owner: '曲丽丽', + desc: '这是一段描述', + callNo: 277, + status: '1', + updatedAt: '2022-12-06T05:00:57.040Z', + createdAt: '2022-12-06T05:00:57.040Z', + progress: 12, + }, + { + key: 87, + disabled: false, + href: 'https://ant.design', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png', + name: 'TradeCode 87', + owner: '曲丽丽', + desc: '这是一段描述', + callNo: 810, + status: '1', + updatedAt: '2022-12-06T05:00:57.040Z', + createdAt: '2022-12-06T05:00:57.040Z', + progress: 82, + }, + { + key: 86, + disabled: false, + href: 'https://ant.design', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png', + name: 'TradeCode 86', + owner: '曲丽丽', + desc: '这是一段描述', + callNo: 780, + status: '3', + updatedAt: '2022-12-06T05:00:57.040Z', + createdAt: '2022-12-06T05:00:57.040Z', + progress: 22, + }, + { + key: 85, + disabled: false, + href: 'https://ant.design', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png', + name: 'TradeCode 85', + owner: '曲丽丽', + desc: '这是一段描述', + callNo: 705, + status: '3', + updatedAt: '2022-12-06T05:00:57.040Z', + createdAt: '2022-12-06T05:00:57.040Z', + progress: 12, + }, + { + key: 84, + disabled: true, + href: 'https://ant.design', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png', + name: 'TradeCode 84', + owner: '曲丽丽', + desc: '这是一段描述', + callNo: 203, + status: '0', + updatedAt: '2022-12-06T05:00:57.040Z', + createdAt: '2022-12-06T05:00:57.040Z', + progress: 79, + }, + { + key: 83, + disabled: false, + href: 'https://ant.design', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png', + name: 'TradeCode 83', + owner: '曲丽丽', + desc: '这是一段描述', + callNo: 491, + status: '2', + updatedAt: '2022-12-06T05:00:57.040Z', + createdAt: '2022-12-06T05:00:57.040Z', + progress: 59, + }, + { + key: 82, + disabled: false, + href: 'https://ant.design', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png', + name: 'TradeCode 82', + owner: '曲丽丽', + desc: '这是一段描述', + callNo: 73, + status: '0', + updatedAt: '2022-12-06T05:00:57.040Z', + createdAt: '2022-12-06T05:00:57.040Z', + progress: 100, + }, + { + key: 81, + disabled: false, + href: 'https://ant.design', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png', + name: 'TradeCode 81', + owner: '曲丽丽', + desc: '这是一段描述', + callNo: 406, + status: '3', + updatedAt: '2022-12-06T05:00:57.040Z', + createdAt: '2022-12-06T05:00:57.040Z', + progress: 61, + }, + { + key: 80, + disabled: false, + href: 'https://ant.design', + avatar: 'https://gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png', + name: 'TradeCode 80', + owner: '曲丽丽', + desc: '这是一段描述', + callNo: 112, + status: '2', + updatedAt: '2022-12-06T05:00:57.040Z', + createdAt: '2022-12-06T05:00:57.040Z', + progress: 20, + }, + ], + total: 100, + success: true, + pageSize: 20, + current: 1, + }, + 'POST /api/login/outLogin': { data: {}, success: true }, + 'POST /api/login/account': { + status: 'ok', + type: 'account', + currentAuthority: 'admin', + }, +}; diff --git a/types/cache/mock/mock.cache.js b/types/cache/mock/mock.cache.js new file mode 100644 index 0000000..e69de29 diff --git a/types/index.d.ts b/types/index.d.ts new file mode 100644 index 0000000..2c2805a --- /dev/null +++ b/types/index.d.ts @@ -0,0 +1,120 @@ +export namespace API { + /** GET /api/currentUser */ + export type GET_API_CURRENT_USER_QUERY = { + /** example: 123 */ + token: string; + }; + + export type GET_API_CURRENT_USER_PAYLOAD = Record; + + export type GET_API_CURRENT_USER_RES = { + /** example: {"name": "Serati Ma", "avatar": "https: //gw.alipayobjects.com/zos/rmsportal/BiazfanxmamNRoxxVxka.png", "userid": "00000001", "email": "antdesign@alipay.com", "signature": "海纳百川,有容乃大", "title": "交互专家", "group": "蚂蚁金服-某某某事业群-某某平台部-某某技术部-UED", "tags": [{"key": "0", "label": "很有想法的"}, {"key": "1", "label": "专注设计"}, {"key": "2", "label": "辣~"}, {"key": "3", "label": "大长腿"}, {"key": "4", "label": "川妹子"}, {"key": "5", "label": "海纳百川"}], "notifyCount": 12, "unreadCount": 11, "country": "China", "geographic": {"province": {"label": "浙江省", "key": "330000"}, "city": {"label": "杭州市", "key": "330100"}}, "address": "西湖区工专路 77 号", "phone": "0752-268888888"} */ + data: { + name: string; + avatar: string; + userid: string; + email: string; + signature: string; + title: string; + group: string; + tags: { + key: string; + label: string; + }[]; + notifyCount: number; + unreadCount: number; + country: string; + geographic: { + province: { + label: string; + key: string; + }; + city: { + label: string; + key: string; + }; + }; + address: string; + phone: string; + }; + }; + + /** GET /api/rule */ + export type GET_API_RULE_QUERY = { + /** example: 123 */ + token: string; + /** example: 1 */ + current: string; + /** example: 20 */ + pageSize: string; + }; + + export type GET_API_RULE_PAYLOAD = Record; + + export type GET_API_RULE_RES = { + /** example: [{"key": 99, "disabled": false, "href": "https: //ant.design", "avatar": "https: //gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png", "name": "TradeCode 99", "owner": "曲丽丽", "desc": "这是一段描述", "callNo": 503, "status": "0", "updatedAt": "2022-12-06T05: 00: 57.040Z", "createdAt": "2022-12-06T05: 00: 57.040Z", "progress": 81}, {"key": 98, "disabled": false, "href": "https: //ant.design", "avatar": "https: //gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png", "name": "TradeCode 98", "owner": "曲丽丽", "desc": "这是一段描述", "callNo": 164, "status": "0", "updatedAt": "2022-12-06T05: 00: 57.040Z", "createdAt": "2022-12-06T05: 00: 57.040Z", "progress": 12}, {"key": 97, "disabled": false, "href": "https: //ant.design", "avatar": "https: //gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png", "name": "TradeCode 97", "owner": "曲丽丽", "desc": "这是一段描述", "callNo": 174, "status": "1", "updatedAt": "2022-12-06T05: 00: 57.040Z", "createdAt": "2022-12-06T05: 00: 57.040Z", "progress": 81}, {"key": 96, "disabled": true, "href": "https: //ant.design", "avatar": "https: //gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png", "name": "TradeCode 96", "owner": "曲丽丽", "desc": "这是一段描述", "callNo": 914, "status": "0", "updatedAt": "2022-12-06T05: 00: 57.040Z", "createdAt": "2022-12-06T05: 00: 57.040Z", "progress": 7}, {"key": 95, "disabled": false, "href": "https: //ant.design", "avatar": "https: //gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png", "name": "TradeCode 95", "owner": "曲丽丽", "desc": "这是一段描述", "callNo": 698, "status": "2", "updatedAt": "2022-12-06T05: 00: 57.040Z", "createdAt": "2022-12-06T05: 00: 57.040Z", "progress": 82}, {"key": 94, "disabled": false, "href": "https: //ant.design", "avatar": "https: //gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png", "name": "TradeCode 94", "owner": "曲丽丽", "desc": "这是一段描述", "callNo": 488, "status": "1", "updatedAt": "2022-12-06T05: 00: 57.040Z", "createdAt": "2022-12-06T05: 00: 57.040Z", "progress": 14}, {"key": 93, "disabled": false, "href": "https: //ant.design", "avatar": "https: //gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png", "name": "TradeCode 93", "owner": "曲丽丽", "desc": "这是一段描述", "callNo": 580, "status": "2", "updatedAt": "2022-12-06T05: 00: 57.040Z", "createdAt": "2022-12-06T05: 00: 57.040Z", "progress": 77}, {"key": 92, "disabled": false, "href": "https: //ant.design", "avatar": "https: //gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png", "name": "TradeCode 92", "owner": "曲丽丽", "desc": "这是一段描述", "callNo": 244, "status": "3", "updatedAt": "2022-12-06T05: 00: 57.040Z", "createdAt": "2022-12-06T05: 00: 57.040Z", "progress": 58}, {"key": 91, "disabled": false, "href": "https: //ant.design", "avatar": "https: //gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png", "name": "TradeCode 91", "owner": "曲丽丽", "desc": "这是一段描述", "callNo": 959, "status": "0", "updatedAt": "2022-12-06T05: 00: 57.040Z", "createdAt": "2022-12-06T05: 00: 57.040Z", "progress": 66}, {"key": 90, "disabled": true, "href": "https: //ant.design", "avatar": "https: //gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png", "name": "TradeCode 90", "owner": "曲丽丽", "desc": "这是一段描述", "callNo": 958, "status": "0", "updatedAt": "2022-12-06T05: 00: 57.040Z", "createdAt": "2022-12-06T05: 00: 57.040Z", "progress": 72}, {"key": 89, "disabled": false, "href": "https: //ant.design", "avatar": "https: //gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png", "name": "TradeCode 89", "owner": "曲丽丽", "desc": "这是一段描述", "callNo": 301, "status": "2", "updatedAt": "2022-12-06T05: 00: 57.040Z", "createdAt": "2022-12-06T05: 00: 57.040Z", "progress": 2}, {"key": 88, "disabled": false, "href": "https: //ant.design", "avatar": "https: //gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png", "name": "TradeCode 88", "owner": "曲丽丽", "desc": "这是一段描述", "callNo": 277, "status": "1", "updatedAt": "2022-12-06T05: 00: 57.040Z", "createdAt": "2022-12-06T05: 00: 57.040Z", "progress": 12}, {"key": 87, "disabled": false, "href": "https: //ant.design", "avatar": "https: //gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png", "name": "TradeCode 87", "owner": "曲丽丽", "desc": "这是一段描述", "callNo": 810, "status": "1", "updatedAt": "2022-12-06T05: 00: 57.040Z", "createdAt": "2022-12-06T05: 00: 57.040Z", "progress": 82}, {"key": 86, "disabled": false, "href": "https: //ant.design", "avatar": "https: //gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png", "name": "TradeCode 86", "owner": "曲丽丽", "desc": "这是一段描述", "callNo": 780, "status": "3", "updatedAt": "2022-12-06T05: 00: 57.040Z", "createdAt": "2022-12-06T05: 00: 57.040Z", "progress": 22}, {"key": 85, "disabled": false, "href": "https: //ant.design", "avatar": "https: //gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png", "name": "TradeCode 85", "owner": "曲丽丽", "desc": "这是一段描述", "callNo": 705, "status": "3", "updatedAt": "2022-12-06T05: 00: 57.040Z", "createdAt": "2022-12-06T05: 00: 57.040Z", "progress": 12}, {"key": 84, "disabled": true, "href": "https: //ant.design", "avatar": "https: //gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png", "name": "TradeCode 84", "owner": "曲丽丽", "desc": "这是一段描述", "callNo": 203, "status": "0", "updatedAt": "2022-12-06T05: 00: 57.040Z", "createdAt": "2022-12-06T05: 00: 57.040Z", "progress": 79}, {"key": 83, "disabled": false, "href": "https: //ant.design", "avatar": "https: //gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png", "name": "TradeCode 83", "owner": "曲丽丽", "desc": "这是一段描述", "callNo": 491, "status": "2", "updatedAt": "2022-12-06T05: 00: 57.040Z", "createdAt": "2022-12-06T05: 00: 57.040Z", "progress": 59}, {"key": 82, "disabled": false, "href": "https: //ant.design", "avatar": "https: //gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png", "name": "TradeCode 82", "owner": "曲丽丽", "desc": "这是一段描述", "callNo": 73, "status": "0", "updatedAt": "2022-12-06T05: 00: 57.040Z", "createdAt": "2022-12-06T05: 00: 57.040Z", "progress": 100}, {"key": 81, "disabled": false, "href": "https: //ant.design", "avatar": "https: //gw.alipayobjects.com/zos/rmsportal/udxAbMEhpwthVVcjLXik.png", "name": "TradeCode 81", "owner": "曲丽丽", "desc": "这是一段描述", "callNo": 406, "status": "3", "updatedAt": "2022-12-06T05: 00: 57.040Z", "createdAt": "2022-12-06T05: 00: 57.040Z", "progress": 61}, {"key": 80, "disabled": false, "href": "https: //ant.design", "avatar": "https: //gw.alipayobjects.com/zos/rmsportal/eeHMaZBwmTvLdIwMfBpg.png", "name": "TradeCode 80", "owner": "曲丽丽", "desc": "这是一段描述", "callNo": 112, "status": "2", "updatedAt": "2022-12-06T05: 00: 57.040Z", "createdAt": "2022-12-06T05: 00: 57.040Z", "progress": 20}] */ + data: { + key: number; + disabled: boolean; + href: string; + avatar: string; + name: string; + owner: string; + desc: string; + callNo: number; + status: string; + updatedAt: string; + createdAt: string; + progress: number; + }[]; + /** example: 100 */ + total: number; + /** example: true */ + success: boolean; + /** example: 20 */ + pageSize: number; + /** example: 1 */ + current: number; + }; + + /** POST /api/login/outLogin */ + export type POST_API_LOGIN_OUT_LOGIN_QUERY = { + /** example: 123 */ + token: string; + }; + + export type POST_API_LOGIN_OUT_LOGIN_PAYLOAD = Record; + + export type POST_API_LOGIN_OUT_LOGIN_RES = { + /** example: {} */ + data: Record; + /** example: true */ + success: boolean; + }; + + /** POST /api/login/account */ + export type POST_API_LOGIN_ACCOUNT_QUERY = { + /** example: 123 */ + token: string; + }; + + export type POST_API_LOGIN_ACCOUNT_PAYLOAD = { + /** example: admin */ + username: string; + /** example: ant.design */ + password: string; + /** example: true */ + autoLogin: boolean; + /** example: account */ + type: string; + }; + + export type POST_API_LOGIN_ACCOUNT_RES = { + /** example: ok */ + status: string; + /** example: account */ + type: string; + /** example: admin */ + currentAuthority: string; + }; +}