From e5a465d9d2102774cf54912102b1c5d0114bf2d5 Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期一, 10 二月 2025 16:46:42 +0800 Subject: [PATCH] feat: init bmini --- apps/bMiniApp/src/components/index.ts | 25 apps/bMiniApp/CHANGELOG.md | 62 apps/bMiniApp/src/assets/common/icon-navi-arrow.png | 0 apps/bMiniApp/src/custom-tab-bar/index.scss | 119 apps/bMiniApp/src/assets/tabbar/icon-publish.png | 0 apps/bMiniApp/src/hooks/user.ts | 107 apps/bMiniApp/src/stores/modules/user.ts | 312 apps/bMiniApp/src/styles/custom_theme.scss | 11 apps/bMiniApp/src/index.html | 17 apps/bMiniApp/src/assets/components/rich-card/icon-move-down.png | 0 apps/bMiniApp/src/components/RichEditCard/RichContent.vue | 46 apps/bMiniApp/src/assets/tabbar/icon-product.png | 0 apps/bMiniApp/src/components/RichEditor/RichEditorContent.vue | 59 apps/bMiniApp/src/hooks/index.ts | 5 apps/bMiniApp/src/subpackages/authentication/authenticationResult/InnerPage.vue | 97 apps/bMiniApp/project.config.json | 55 apps/bMiniApp/src/assets/mine/icon-bg.png | 0 apps/bMiniApp/pnpm-lock.yaml | 15613 ++++++++++++++++++++++++++++++++++ apps/bMiniApp/src/pages/home/index.scss | 5 apps/bMiniApp/src/components/Card/Card.vue | 64 apps/bMiniApp/src/subpackages/login/loginByForm/verificationCodeLoginForm.vue | 115 apps/bMiniApp/src/subpackages/login/registerForm/registerForm.vue | 178 apps/bMiniApp/src/components/PageFooter/PageFooterAction.vue | 67 apps/bMiniApp/src/subpackages/authentication/authenticationJBR/authenticationJBR.vue | 14 apps/bMiniApp/src/app.config.ts | 72 apps/bMiniApp/.eslintrc | 12 apps/bMiniApp/src/assets/setting/icon-wx.png | 0 apps/bMiniApp/src/hooks/login.ts | 76 apps/bMiniApp/ci/upload.js | 41 apps/bMiniApp/src/pages/home/index.vue | 52 apps/bMiniApp/src/styles/mixins.scss | 76 apps/bMiniApp/src/subpackages/authentication/authenticationJBR/authenticationJBR.config.ts | 3 apps/bMiniApp/src/assets/tabbar/icon-message-active.png | 0 apps/bMiniApp/src/app.scss | 1 apps/bMiniApp/src/components/Layout/PageLayoutWithBg.vue | 48 apps/bMiniApp/src/styles/function.scss | 78 apps/bMiniApp/src/components/InfiniteLoading/InfiniteLoading.vue | 235 apps/bMiniApp/src/assets/mine/icon-message.png | 0 apps/bMiniApp/types/shims-vue.d.ts | 15 apps/bMiniApp/src/components/Layout/ContentScrollView.vue | 54 apps/bMiniApp/config/index.js | 231 apps/bMiniApp/src/assets/authentication/icon-jbr.png | 0 apps/bMiniApp/src/assets/components/rich-card/icon-add-editor.png | 0 apps/bMiniApp/src/subpackages/login/userPolicy/userPolicy.vue | 290 apps/bMiniApp/src/subpackages/user/complaint/complaint.vue | 116 apps/bMiniApp/src/assets/common/icon-navi-arrow-white.png | 0 apps/bMiniApp/src/assets/components/rich-card/icon-add.png | 0 apps/bMiniApp/src/subpackages/authentication/hooks/index.ts | 191 apps/bMiniApp/src/components/Layout/LoadingLayout.vue | 58 apps/bMiniApp/ci/private.wx88251c84f5cd886b.key | 27 apps/bMiniApp/src/components/NavigationBar/commonNavigationBar.ts | 28 apps/bMiniApp/src/assets/components/icon-back-top.png | 0 apps/bMiniApp/src/constants/index.ts | 4 apps/bMiniApp/src/components/Menu/Menu.vue | 214 apps/bMiniApp/src/components/Layout/layout.ts | 19 apps/bMiniApp/config/staging.js | 12 apps/bMiniApp/src/subpackages/authentication/authenticationFaRen/authenticationFaRen.config.ts | 3 apps/bMiniApp/src/utils/request/index.ts | 289 apps/bMiniApp/src/assets/tabbar/icon-information-active.png | 0 apps/bMiniApp/src/assets/mine/icon-arrow.png | 0 apps/bMiniApp/src/utils/storage/index.ts | 2 apps/bMiniApp/src/assets/authentication/icon-faren.png | 0 apps/bMiniApp/src/subpackages/login/loginByForm/loginByForm.vue | 79 apps/bMiniApp/src/assets/components/icon-phone.png | 0 apps/bMiniApp/src/subpackages/login/styles/login.scss | 165 apps/bMiniApp/tsconfig.json | 34 apps/bMiniApp/src/assets/user/icon-bg.png | 0 apps/bMiniApp/src/assets/tabbar/icon-message.png | 0 apps/bMiniApp/src/assets/tabbar/icon-information.png | 0 apps/bMiniApp/src/assets/user/icon-phone.png | 0 apps/bMiniApp/src/subpackages/authentication/authenticationHome/authenticationHomeItem.vue | 159 apps/bMiniApp/src/assets/tabbar/icon-home-active.png | 0 apps/bMiniApp/src/components/NavigationBar/LargeTitleNavigationBar.vue | 61 apps/bMiniApp/src/assets/components/success.png | 0 apps/bMiniApp/src/assets/tabbar/icon-mine.png | 0 apps/bMiniApp/src/components/Uploader/uploader.ts | 5 apps/bMiniApp/src/components/NavigationBar/TransparentNavigationBar.vue | 77 apps/bMiniApp/src/styles/config.scss | 5 apps/bMiniApp/src/assets/mine/icon-menu-contact.png | 0 apps/bMiniApp/src/components/Menu/menu.scss | 41 apps/bMiniApp/src/assets/components/icon-dark-arrow.png | 0 apps/bMiniApp/src/pages/home/index.config.ts | 5 apps/bMiniApp/src/assets/font/D-DIN.otf | 0 apps/bMiniApp/src/assets/components/rich-card/icon-move-up-active.png | 0 apps/bMiniApp/types/global.d.ts | 83 apps/bMiniApp/src/subpackages/authentication/authenticationResult/authenticationResult.config.ts | 3 apps/bMiniApp/src/constants/enum.ts | 4 apps/bMiniApp/src/pages/mine/index.vue | 110 apps/bMiniApp/src/assets/login/icon-tab-bg-1.png | 0 apps/bMiniApp/src/components/Uploader/Uploader.vue | 125 apps/bMiniApp/mock/index.js | 5 apps/bMiniApp/src/assets/tabbar/icon-follow.png | 0 apps/bMiniApp/src/assets/common/icon-common-page-bg.png | 0 apps/bMiniApp/src/assets/setting/icon-loginout.png | 0 apps/bMiniApp/src/subpackages/authentication/authenticationHome/authenticationHome.vue | 35 apps/bMiniApp/src/assets/tabbar/icon-home.png | 0 apps/bMiniApp/src/components/Layout/ContentView.vue | 29 apps/bMiniApp/src/constants/router.ts | 21 apps/bMiniApp/src/assets/authentication/icon-arrow.png | 0 apps/bMiniApp/src/assets/setting/icon-toggle-bg.png | 0 apps/bMiniApp/src/subpackages/authentication/authenticationHome/authenticationHome.config.ts | 3 apps/bMiniApp/src/assets/components/rich-card/icon-delete.png | 0 apps/bMiniApp/src/constants/query.ts | 10 apps/bMiniApp/src/subpackages/login/components/LoginPageLayout/LoginPageLayout.vue | 58 apps/bMiniApp/src/components/NavigationBar/NavBar.vue | 58 apps/bMiniApp/src/subpackages/authentication/authenticationResult/authenticationResult.vue | 28 apps/bMiniApp/src/subpackages/login/components/OtherLoginChannel/OtherLoginChannel.vue.vue | 17 apps/bMiniApp/src/subpackages/user/complaint/complaint.config.ts | 3 apps/bMiniApp/src/utils/storage/storage.ts | 39 apps/bMiniApp/config/prod.js | 41 apps/bMiniApp/src/styles/reset.scss | 30 apps/bMiniApp/src/assets/setting/icon-note.png | 0 apps/bMiniApp/src/assets/components/rich-card/icon-move-down-active.png | 0 apps/bMiniApp/package.json | 137 apps/bMiniApp/src/styles/hairline.scss | 200 apps/bMiniApp/src/stores/index.ts | 10 apps/bMiniApp/auto-imports.d.ts | 90 apps/bMiniApp/src/pages/mine/index.config.ts | 7 apps/bMiniApp/src/assets/mine/icon-id-bg.png | 0 apps/bMiniApp/src/assets/setting/icon-arrow.png | 0 apps/bMiniApp/src/custom-tab-bar/index.tsx | 168 apps/bMiniApp/src/components/Avatar/UserAvatar.vue | 14 apps/bMiniApp/src/components/PageFooter/PageFooterBtn.vue | 34 apps/bMiniApp/src/assets/mine/icon-menu-business.png | 0 apps/bMiniApp/src/components/Card/CommonCard.vue | 146 apps/bMiniApp/src/components/UserHome/UserHomeTopView.vue | 149 apps/bMiniApp/src/assets/components/rich-card/icon-move-up.png | 0 apps/bMiniApp/src/subpackages/city/citySelect/citySelect.vue | 87 apps/bMiniApp/src/subpackages/login/authorization/authorization.vue | 289 apps/bMiniApp/src/assets/components/icon-small-dark-arrow.png | 0 apps/bMiniApp/types/pagination.d.ts | 43 apps/bMiniApp/src/assets/tabbar/icon-product-active.png | 0 apps/bMiniApp/src/utils/storage/auth.ts | 71 apps/bMiniApp/src/pages/mine/index.scss | 151 apps/bMiniApp/src/components/Layout/PageLayout.vue | 141 apps/bMiniApp/src/utils/index.ts | 2 apps/bMiniApp/src/assets/login/icon-tab-bg-2.png | 0 apps/bMiniApp/src/subpackages/authentication/authenticationHome/InnerPage.vue | 76 apps/bMiniApp/.eslintrc-auto-import.json | 91 apps/bMiniApp/src/assets/components/icon-default-avatar.png | 0 apps/bMiniApp/src/subpackages/authentication/authenticationJBR/InnerPage.vue | 244 apps/bMiniApp/src/subpackages/login/loginByForm/index.config.ts | 3 apps/bMiniApp/src/styles/index.scss | 83 apps/bMiniApp/src/assets/tabbar/icon-friend.png | 0 apps/cMiniApp/project.private.config.json | 119 apps/bMiniApp/src/subpackages/login/constants/index.ts | 4 apps/bMiniApp/src/app.ts | 85 apps/bMiniApp/src/subpackages/login/loginByForm/accountLoginForm.vue | 118 apps/bMiniApp/src/styles/font.scss | 7 apps/bMiniApp/src/styles/var.scss | 35 apps/bMiniApp/src/components/Chunk/Cell.vue | 74 apps/bMiniApp/src/components/Chunk/ChunkTitle.vue | 43 apps/bMiniApp/src/assets/login/icon-btn-captcha.png | 0 apps/bMiniApp/src/subpackages/city/citySelect/citySelect.config.ts | 3 apps/bMiniApp/src/components/Button/LargeButton.vue | 28 pnpm-lock.yaml | 841 + apps/bMiniApp/src/stores/modules/system.ts | 116 apps/bMiniApp/src/components/Avatar/UserInfoAvatar.vue | 95 apps/bMiniApp/src/components/Policy/Policy.vue | 89 apps/bMiniApp/src/constants/img.ts | 17 apps/bMiniApp/src/assets/setting/icon-warning.png | 0 apps/bMiniApp/src/assets/mine/icon-lamp.png | 0 apps/bMiniApp/types/globalType.d.ts | 8 apps/bMiniApp/src/assets/authentication/icon-result-error.png | 0 apps/bMiniApp/src/assets/mine/icon-card.png | 0 apps/bMiniApp/src/assets/setting/icon-account.png | 0 apps/bMiniApp/src/assets/tabbar/icon-friend-active.png | 0 apps/bMiniApp/babel.config.js | 32 apps/bMiniApp/src/subpackages/login/userPolicy/index.config.ts | 3 apps/bMiniApp/project.tt.json | 9 apps/bMiniApp/src/assets/mine/icon-edit.png | 0 apps/bMiniApp/config/dev.js | 23 apps/bMiniApp/src/styles/nut.scss | 160 apps/bMiniApp/src/hooks/router.ts | 27 apps/bMiniApp/src/subpackages/login/authorization/index.config.ts | 3 apps/bMiniApp/src/assets/setting/icon-coo.png | 0 apps/bMiniApp/src/subpackages/authentication/authenticationFaRen/authenticationFaRen.vue | 14 apps/bMiniApp/src/assets/components/icon-add.png | 0 apps/bMiniApp/src/assets/user/icon-email.png | 0 apps/bMiniApp/src/utils/page.ts | 25 apps/bMiniApp/project.private.config.json | 15 apps/bMiniApp/src/components/RichEditCard/RichEditCard.vue | 137 apps/bMiniApp/src/assets/login/icon-btn-password.png | 0 apps/bMiniApp/src/components/Card/cardProps.ts | 20 apps/bMiniApp/src/assets/tabbar/icon-mine-active.png | 0 apps/bMiniApp/src/assets/mine/icon-unCertified.png | 0 apps/bMiniApp/src/assets/components/fail.png | 0 apps/bMiniApp/src/components/PageFooter/PageFooter.vue | 177 apps/bMiniApp/src/hooks/access.ts | 45 apps/bMiniApp/src/components/Menu/MenuItem.vue | 220 apps/bMiniApp/src/constants/tabBar.ts | 4 apps/bMiniApp/src/components/Uploader/CoverUploader.vue | 139 apps/bMiniApp/src/assets/tabbar/icon-follow-active.png | 0 apps/bMiniApp/mock/Purchase.mock.js | 106 apps/bMiniApp/src/hooks/authentication.ts | 71 apps/bMiniApp/src/subpackages/authentication/authenticationFaRen/InnerPage.vue | 216 apps/bMiniApp/src/assets/mine/icon-setting.png | 0 apps/bMiniApp/src/assets/user/icon-address.png | 0 apps/bMiniApp/src/assets/user/icon-my-attention.png | 0 apps/bMiniApp/src/assets/authentication/icon-result-success.png | 0 apps/bMiniApp/src/styles/common.scss | 6 apps/bMiniApp/src/components/NavigationBar/CommonNavigationBar.vue | 104 apps/bMiniApp/README.md | 1 apps/bMiniApp/src/components/NavigationBar/navBar.ts | 14 apps/bMiniApp/src/components/NoData/NoData.vue | 44 apps/bMiniApp/src/components/RichEditor/style.css | 715 + 206 files changed, 26,361 insertions(+), 438 deletions(-) diff --git a/apps/bMiniApp/.eslintrc b/apps/bMiniApp/.eslintrc new file mode 100644 index 0000000..b40f4a5 --- /dev/null +++ b/apps/bMiniApp/.eslintrc @@ -0,0 +1,12 @@ +// ESLint 妫�鏌� .vue 鏂囦欢闇�瑕佸崟鐙厤缃紪杈戝櫒锛� +// https://eslint.vuejs.org/user-guide/#editor-integrations +{ + "root": true, + + "env": { + "node": true + }, + + "extends": ["../../.eslintrc", "./.eslintrc-auto-import.json"], + "parser": "vue-eslint-parser" +} diff --git a/apps/bMiniApp/.eslintrc-auto-import.json b/apps/bMiniApp/.eslintrc-auto-import.json new file mode 100644 index 0000000..8841396 --- /dev/null +++ b/apps/bMiniApp/.eslintrc-auto-import.json @@ -0,0 +1,91 @@ +{ + "globals": { + "Component": true, + "ComponentPublicInstance": true, + "ComputedRef": true, + "EffectScope": true, + "InjectionKey": true, + "PropType": true, + "Ref": true, + "VNode": true, + "WritableComputedRef": true, + "acceptHMRUpdate": true, + "computed": true, + "createApp": true, + "createPinia": true, + "customRef": true, + "defineAsyncComponent": true, + "defineComponent": true, + "defineStore": true, + "effectScope": true, + "getActivePinia": true, + "getCurrentInstance": true, + "getCurrentScope": true, + "h": true, + "inject": true, + "isProxy": true, + "isReactive": true, + "isReadonly": true, + "isRef": true, + "mapActions": true, + "mapGetters": true, + "mapState": true, + "mapStores": true, + "mapWritableState": true, + "markRaw": true, + "nextTick": true, + "onActivated": true, + "onBeforeMount": true, + "onBeforeRouteLeave": true, + "onBeforeRouteUpdate": true, + "onBeforeUnmount": true, + "onBeforeUpdate": true, + "onDeactivated": true, + "onErrorCaptured": true, + "onMounted": true, + "onRenderTracked": true, + "onRenderTriggered": true, + "onScopeDispose": true, + "onServerPrefetch": true, + "onUnmounted": true, + "onUpdated": true, + "provide": true, + "reactive": true, + "readonly": true, + "ref": true, + "resolveComponent": true, + "setActivePinia": true, + "setMapStoreSuffix": true, + "shallowReactive": true, + "shallowReadonly": true, + "shallowRef": true, + "storeToRefs": true, + "toRaw": true, + "toRef": true, + "toRefs": true, + "toValue": true, + "triggerRef": true, + "unref": true, + "useAttrs": true, + "useCssModule": true, + "useCssVars": true, + "useLink": true, + "useRoute": true, + "useRouter": true, + "useSlots": true, + "watch": true, + "watchEffect": true, + "watchPostEffect": true, + "watchSyncEffect": true, + "useOmitProps": true, + "usePickProps": true, + "RouterPath": true, + "ExtractDefaultPropTypes": true, + "ExtractPropTypes": true, + "ExtractPublicPropTypes": true, + "onWatcherCleanup": true, + "useId": true, + "useModel": true, + "useTemplateRef": true + } +} diff --git a/apps/bMiniApp/CHANGELOG.md b/apps/bMiniApp/CHANGELOG.md new file mode 100644 index 0000000..25b3e94 --- /dev/null +++ b/apps/bMiniApp/CHANGELOG.md @@ -0,0 +1,62 @@ + + +## [1.1.1](http://120.26.58.240:8888/r/12333MiniAppNew/compare/@12333/informationMiniApp/v1.1.0...@12333/informationMiniApp/v1.1.1) (2024-10-31) + + +### Bug Fixes + +* 璧勮 ([d26fdcb](http://120.26.58.240:8888/r/12333MiniAppNew/commits/d26fdcb841880df40ae59251ef45110d76eb6374)) + +# [1.1.0](http://120.26.58.240:8888/r/12333MiniAppNew/compare/@12333/informationMiniApp/v1.0.2...@12333/informationMiniApp/v1.1.0) (2024-10-31) + + +### Bug Fixes + +* 璧勮 ([44f857d](http://120.26.58.240:8888/r/12333MiniAppNew/commits/44f857d922b06ab08531ffab140245e66e80c468)) +* 璧勮 ([3fd5fe3](http://120.26.58.240:8888/r/12333MiniAppNew/commits/3fd5fe3e773ca1667476b30ab38dec8844578c46)) +* 璧勮 ([0eb7314](http://120.26.58.240:8888/r/12333MiniAppNew/commits/0eb7314bc0d4916c0bea7daedc44688a4422fa27)) +* 璧勮 ([43deac7](http://120.26.58.240:8888/r/12333MiniAppNew/commits/43deac74a2c0271e929d678af9b1def0d9f1a3f1)) +* 璧勮 ([56b6e15](http://120.26.58.240:8888/r/12333MiniAppNew/commits/56b6e15d1d664c37b448d77449435463dda3014a)) +* 璧勮 ([b68d3fc](http://120.26.58.240:8888/r/12333MiniAppNew/commits/b68d3fc205f1f7938023ae3f8c4fb2a06b9303cc)) +* 璧勮 ([dade5b7](http://120.26.58.240:8888/r/12333MiniAppNew/commits/dade5b7ef95a29515d8eb226f35af69587c8b793)) +* 璧勮 ([5195e1b](http://120.26.58.240:8888/r/12333MiniAppNew/commits/5195e1bad322cd8b5eb711c36d5945ced5f43fc4)) +* 璧勮 ([b68f61f](http://120.26.58.240:8888/r/12333MiniAppNew/commits/b68f61f590a2261699408e1a710d39731aecde55)) +* 璧勮 ([ee998c2](http://120.26.58.240:8888/r/12333MiniAppNew/commits/ee998c2ce2adbd61f0f186d77b2d551dbeb1d41d)) +* 璧勮 ([590ab73](http://120.26.58.240:8888/r/12333MiniAppNew/commits/590ab73e9fdb5c6d6f84d56ff76dd09fe10c59f5)) +* 璧勮 ([0af9fe3](http://120.26.58.240:8888/r/12333MiniAppNew/commits/0af9fe3c29023e9314f3b8435938651f8a3c94a6)) +* 璧勮 ([61a1c3a](http://120.26.58.240:8888/r/12333MiniAppNew/commits/61a1c3a838d6b073970b3624bfc80464b123ed2f)) +* 璧勮 ([2a3a541](http://120.26.58.240:8888/r/12333MiniAppNew/commits/2a3a541db2c3e8866fa5ef41acca9db0608dfd60)) +* 璧勮 ([8299138](http://120.26.58.240:8888/r/12333MiniAppNew/commits/8299138625464602c1d059cda9fc9ae9ca7f3444)) +* 璧勮 ([0e26605](http://120.26.58.240:8888/r/12333MiniAppNew/commits/0e26605cc5da99cd0dd2c7ee7de08393d4052956)) +* 璧勮 ([54f89f9](http://120.26.58.240:8888/r/12333MiniAppNew/commits/54f89f932a62707d26f25c042923f3d7920d1984)) +* 璧勮 ([c4d7351](http://120.26.58.240:8888/r/12333MiniAppNew/commits/c4d7351e14343fa6277bbea23b81acf72e56bf9c)) +* 璧勮 ([413fc5b](http://120.26.58.240:8888/r/12333MiniAppNew/commits/413fc5b5e60a25f8d58197fcd1305e72a5958d7f)) +* release-it ([cc1d95b](http://120.26.58.240:8888/r/12333MiniAppNew/commits/cc1d95b1523929289a156357c50c0b2001697c9f)) + +## 1.0.2 (2024-09-25) + + +### Bug Fixes + +* 鐧诲綍 娉ㄥ唽 ([1c1f30d](http://120.26.58.240:8888/commits/1c1f30d04600ab668d4af647635aff57f47c1455)) +* 棣栭〉 ([10ff8c4](http://120.26.58.240:8888/commits/10ff8c41d6218ee1cf520c0a396caac00c63d380)) +* 淇敼缁撴瀯 ([2005902](http://120.26.58.240:8888/commits/200590241b6687b78cfa56e5629cf557b14983c8)) +* 浼樺寲 ([321889d](http://120.26.58.240:8888/commits/321889d6be3b240b81a3309662236b15e3f31780)) +* 浼樺寲 ([ac462c1](http://120.26.58.240:8888/commits/ac462c1b0e9ec0757a3ca77fd0d9abe77213dc47)) +* 璧勮璇︽儏 ([accfec4](http://120.26.58.240:8888/commits/accfec4a55c2584d825ff5bc36e64cd7ff9b119b)) +* init ([c074b4e](http://120.26.58.240:8888/commits/c074b4edf4694da1cf540a01179a15ad5ee8af46)) +* init ([91a31d3](http://120.26.58.240:8888/commits/91a31d39c4b3146003ce4b0889b9978378339df7)) +* init ([6ba459d](http://120.26.58.240:8888/commits/6ba459d5de2a533da7eb91136fc2f9577a9866a9)) +* init ([6ba5d34](http://120.26.58.240:8888/commits/6ba5d345b15f308a188d3fcea8e4b4930b8fc52c)) +* some ([23a3ad8](http://120.26.58.240:8888/commits/23a3ad8a7f533e4659fd42fba490f0c8f65ab55e)) +* some ([f66bf2f](http://120.26.58.240:8888/commits/f66bf2f7d0e82eed08db3a1ee01eb1513f498de3)) +* some ([7a03b99](http://120.26.58.240:8888/commits/7a03b995c2b81f5be444c7045196a17bb3dfb4e0)) +* some ([d8bf2ac](http://120.26.58.240:8888/commits/d8bf2ac1957d75512fc53df8d46be12df7d26e1a)) + +# @12333/informationMiniApp + +## 1.0.1 + +### Patch Changes + +- 璧勮灏忕▼搴� diff --git a/apps/bMiniApp/README.md b/apps/bMiniApp/README.md new file mode 100644 index 0000000..486c5ae --- /dev/null +++ b/apps/bMiniApp/README.md @@ -0,0 +1 @@ +瀹夎 pnpm install diff --git a/apps/bMiniApp/auto-imports.d.ts b/apps/bMiniApp/auto-imports.d.ts new file mode 100644 index 0000000..e2b40ef --- /dev/null +++ b/apps/bMiniApp/auto-imports.d.ts @@ -0,0 +1,90 @@ +/* eslint-disable */ +/* prettier-ignore */ +// @ts-nocheck +// noinspection JSUnusedGlobalSymbols +// Generated by unplugin-auto-import +export {} +declare global { + const EffectScope: typeof import('vue')['EffectScope'] + const RouterPath: typeof import('@/constants')['RouterPath'] + const acceptHMRUpdate: typeof import('pinia')['acceptHMRUpdate'] + const computed: typeof import('vue')['computed'] + const createApp: typeof import('vue')['createApp'] + const createPinia: typeof import('pinia')['createPinia'] + const customRef: typeof import('vue')['customRef'] + const defineAsyncComponent: typeof import('vue')['defineAsyncComponent'] + const defineComponent: typeof import('vue')['defineComponent'] + const defineStore: typeof import('pinia')['defineStore'] + const effectScope: typeof import('vue')['effectScope'] + const getActivePinia: typeof import('pinia')['getActivePinia'] + const getCurrentInstance: typeof import('vue')['getCurrentInstance'] + const getCurrentScope: typeof import('vue')['getCurrentScope'] + const h: typeof import('vue')['h'] + const inject: typeof import('vue')['inject'] + const isProxy: typeof import('vue')['isProxy'] + const isReactive: typeof import('vue')['isReactive'] + const isReadonly: typeof import('vue')['isReadonly'] + const isRef: typeof import('vue')['isRef'] + const mapActions: typeof import('pinia')['mapActions'] + const mapGetters: typeof import('pinia')['mapGetters'] + const mapState: typeof import('pinia')['mapState'] + const mapStores: typeof import('pinia')['mapStores'] + const mapWritableState: typeof import('pinia')['mapWritableState'] + const markRaw: typeof import('vue')['markRaw'] + const nextTick: typeof import('vue')['nextTick'] + const onActivated: typeof import('vue')['onActivated'] + const onBeforeMount: typeof import('vue')['onBeforeMount'] + const onBeforeRouteLeave: typeof import('vue-router')['onBeforeRouteLeave'] + const onBeforeRouteUpdate: typeof import('vue-router')['onBeforeRouteUpdate'] + const onBeforeUnmount: typeof import('vue')['onBeforeUnmount'] + const onBeforeUpdate: typeof import('vue')['onBeforeUpdate'] + const onDeactivated: typeof import('vue')['onDeactivated'] + const onErrorCaptured: typeof import('vue')['onErrorCaptured'] + const onMounted: typeof import('vue')['onMounted'] + const onRenderTracked: typeof import('vue')['onRenderTracked'] + const onRenderTriggered: typeof import('vue')['onRenderTriggered'] + const onScopeDispose: typeof import('vue')['onScopeDispose'] + const onServerPrefetch: typeof import('vue')['onServerPrefetch'] + const onUnmounted: typeof import('vue')['onUnmounted'] + const onUpdated: typeof import('vue')['onUpdated'] + const onWatcherCleanup: typeof import('vue')['onWatcherCleanup'] + const provide: typeof import('vue')['provide'] + const reactive: typeof import('vue')['reactive'] + const readonly: typeof import('vue')['readonly'] + const ref: typeof import('vue')['ref'] + const resolveComponent: typeof import('vue')['resolveComponent'] + const setActivePinia: typeof import('pinia')['setActivePinia'] + const setMapStoreSuffix: typeof import('pinia')['setMapStoreSuffix'] + const shallowReactive: typeof import('vue')['shallowReactive'] + const shallowReadonly: typeof import('vue')['shallowReadonly'] + const shallowRef: typeof import('vue')['shallowRef'] + const storeToRefs: typeof import('pinia')['storeToRefs'] + const toRaw: typeof import('vue')['toRaw'] + const toRef: typeof import('vue')['toRef'] + const toRefs: typeof import('vue')['toRefs'] + const toValue: typeof import('vue')['toValue'] + const triggerRef: typeof import('vue')['triggerRef'] + const unref: typeof import('vue')['unref'] + const useAttrs: typeof import('vue')['useAttrs'] + const useCssModule: typeof import('vue')['useCssModule'] + const useCssVars: typeof import('vue')['useCssVars'] + const useId: typeof import('vue')['useId'] + const useLink: typeof import('vue-router')['useLink'] + const useModel: typeof import('vue')['useModel'] + const useOmitProps: typeof import('@/hooks')['useOmitProps'] + const usePickProps: typeof import('@/hooks')['usePickProps'] + const useRoute: typeof import('vue-router')['useRoute'] + const useRouter: typeof import('vue-router')['useRouter'] + const useSlots: typeof import('vue')['useSlots'] + const useTemplateRef: typeof import('vue')['useTemplateRef'] + const watch: typeof import('vue')['watch'] + const watchEffect: typeof import('vue')['watchEffect'] + const watchPostEffect: typeof import('vue')['watchPostEffect'] + const watchSyncEffect: typeof import('vue')['watchSyncEffect'] +} +// for type re-export +declare global { + // @ts-ignore + export type { Component, ComponentPublicInstance, ComputedRef, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, VNode, WritableComputedRef } from 'vue' + import('vue') +} diff --git a/apps/bMiniApp/babel.config.js b/apps/bMiniApp/babel.config.js new file mode 100644 index 0000000..b20c8f5 --- /dev/null +++ b/apps/bMiniApp/babel.config.js @@ -0,0 +1,32 @@ +// babel-preset-taro 鏇村閫夐」鍜岄粯璁ゅ�硷細 + +// https://github.com/NervJS/taro/blob/next/packages/babel-preset-taro/README.md +module.exports = { + compact: false, + presets: [ + [ + 'taro', + { + framework: 'vue3', + ts: true, + }, + ], + ], + plugins: [ + [ + 'import', + { + libraryName: 'lodash', + libraryDirectory: '', + camel2DashComponentName: false, // default: true + }, + 'lodash', + ], + // 'lodash', + ], + env: { + production: { + plugins: ['transform-remove-console'], + }, + }, +}; diff --git a/apps/bMiniApp/ci/private.wx88251c84f5cd886b.key b/apps/bMiniApp/ci/private.wx88251c84f5cd886b.key new file mode 100644 index 0000000..817c806 --- /dev/null +++ b/apps/bMiniApp/ci/private.wx88251c84f5cd886b.key @@ -0,0 +1,27 @@ +-----BEGIN RSA PRIVATE KEY----- +MIIEowIBAAKCAQEAxd7jgcSJvGO3n2YaxYB/165LDUBwK2pGqvnbEJjin0dl1+ZX +U9rdwGUBM1K954bx3E0pwQGfzMjiO8PFKhzE+ztpyBjYpiEXG+H4ZRNAJ0lomJMu +aCzE/EUSboUKEcsBmRdWN0x7UWFeEmedE9vTBaoXCn+A93StDdLMPfGh16Ia+q9e +c6019GODYNDe3f+sK00rVHmu+n+GADTqX6C2N40DtdgfBx4eAy4s+w5sjbXZ3O3o +CzrJ6KCLAG91dSyze8BTkaSX3dH9tkDjmhFON6yTzqBOe5TFiuA7dT4uBijGIkXW +sdIPnP71zGC+P/05UW9gFIpscP36QMQJ1jG+ZwIDAQABAoIBADTrv/1dC1mPcfT3 +4gEgtRCCVSBeM6Ho8q2X1bdCrJndBqgPuxt6VgS2/vMzFgduWBGLsbclMBAdSiSh +34G74BMxeMFDo+4Ku5uBfGXMGERppcfo1WiXULgH4T4d5uuLWAoR68Uud2z0laxm +eeRtzqqdKzxrjZqhYgdocae/kIGTKSekIVEEGDgZAVBwuT98hdTp+i0OlUHxmn77 ++Sj7GXsRZQRkDmCvrOXYPiOOLRkkzKVMVUZ2///KY5J4eCCM/8EBT/2wjpZb7dhT +MwcFe6D7dtsfNzrkuGR/LADSCeLKtLhp2Pi7NdsphyGYwPW03iz+Xt16XT0Ln8K+ +joYy0YECgYEA5mIdcxbZuLq7cq7F2bF0FhT6Csf491ONsvYoWL9tZ9gxQTggAkqD +PjTDfPLULYPuUZ+Ud3JfCs0OpsFyLPR0+1utQ/3gQgQ+1AK4qqm6dPfHv8pIp44o +dj/wyMD5qMAeHNL7FvIdEhshMug0LAjKXhqDjc62hs5m8Yg5zQhMdP8CgYEA299M +gGCaVee7jqEwJrRZCHREpu5JxJ0lhTbSYS5VnyMGsqIKj9+RrdWV+km2cHjeO1PE +x5puhaOnzwbYrIEcMtaQxJRX2Ab9T37wKZmio+AY0zg/jF+i8ZFlrzpuMYtg5cnD +TzFVM2Uh2LHvEzsz99BEkI0zMzoBDlpj5RqGLpkCgYBCiM12gn/ocM1X5o+vOieL +hQ1ddbk6PIAs0hh+4PIIzpATBNGBt+FFYtmeSUbryjFWk16+TGKUbPoxQKbnwsXS +HfzhKP3OMwmuEwcgCpqV00V150aqVUzsMbUpVUoE6U8JBgmL6+pnYzxoRlVi7jr7 +iG670po2Pn/Oe4gt5ZqnIwKBgQC3iBiCnKCXjpy3vQLFfAtJjEv2D7gR357/KLjJ +l/Supn0jxTEN0W/36+6KAte/4JSYbx82Akm5Udd0b2GT9R3FrecfwDfnQkZWAj6U +awMgyaHPRgd9tCL+hACeGSb8Qjy68wUN6L8W7JcpG7XVlriVZgqloseXPha9lWQH +THGvGQKBgH9LOe3Potc/4EGtlPFMbNQbJd/vzHp5skC1DKqK8I5bsTYVctVyPe0S +xO/JjHI2PnhcoXnLc2LwQrMwri6ijCYYgApCxzOhe9FmZP3NuH3b3dE+QpUYSd4f +vXjfyO1ilaf5j1OhOMKKE7Vk6Q7UqWcNmZowqSF+eL01oK3QF3Dq +-----END RSA PRIVATE KEY----- diff --git a/apps/bMiniApp/ci/upload.js b/apps/bMiniApp/ci/upload.js new file mode 100644 index 0000000..5997107 --- /dev/null +++ b/apps/bMiniApp/ci/upload.js @@ -0,0 +1,41 @@ +const config = require('../project.config.json'); +const pkg = require('../package.json'); +const path = require('path'); +const semver = require('semver'); + +let projectPath = path.resolve(__dirname, '..'); + +const CIPluginFn = async () => { + let version; + let robot = 30; + let desc = ''; + if (process.env.NODE_ENV === 'production') { + version = pkg.version; + robot = 1; + desc = '姝e紡鐜灏忕▼搴�'; + if (process.env.APP_ENV === 'staging') { + version = semver.inc(version, 'patch'); + robot = 2; + desc = '娴嬭瘯鐜灏忕▼搴�'; + } + } + + /** + * @typedef { import("@tarojs/plugin-mini-ci").CIOptions } CIOptions + * @type {CIOptions} + */ + return { + weapp: { + appid: config.appid, + privateKeyPath: `${projectPath}/ci/private.wx88251c84f5cd886b.key`, + robot: robot, + setting: { + minify: true, + }, + }, + version, + desc: desc, + }; +}; + +module.exports = { CIPluginFn }; diff --git a/apps/bMiniApp/config/dev.js b/apps/bMiniApp/config/dev.js new file mode 100644 index 0000000..761ccfb --- /dev/null +++ b/apps/bMiniApp/config/dev.js @@ -0,0 +1,23 @@ +const mocks = require('../mock'); + +module.exports = { + env: { + NODE_ENV: '"development"', + BASE_URL: '"http://localhost:57190"', + BASE_URL_JX: '"https://api.jx818.com"', + + OSS_URL: '"https://waterdroptest2.oss-cn-hangzhou.aliyuncs.com/"', + WEMAP_KEY: 'T2UBZ-N563J-ZCHFF-XDOXN-VCH7S-CJB2T', + }, + plugins: [ + [ + '@tarojs/plugin-mock', + { + mocks: mocks, + }, + ], + ], + defineConstants: {}, + mini: {}, + h5: {}, +}; diff --git a/apps/bMiniApp/config/index.js b/apps/bMiniApp/config/index.js new file mode 100644 index 0000000..bb4c8db --- /dev/null +++ b/apps/bMiniApp/config/index.js @@ -0,0 +1,231 @@ +const path = require('path'); +const { CIPluginFn } = require('../ci/upload'); + +import AutoImport from 'unplugin-auto-import/webpack'; +import ComponentsPlugin from 'unplugin-vue-components/webpack'; +import NutUIResolver from '@nutui/nutui-taro/dist/resolver'; + +const config = { + projectName: 'vue-mini', + date: '2022-11-29', + designWidth(input) { + // 閰嶇疆 NutUI 375 灏哄 + if (input?.file?.replace(/\\+/g, '/').indexOf('@nutui') > -1) { + return 375; + } + // 鍏ㄥ眬浣跨敤 Taro 榛樿鐨� 750 灏哄 + return 750; + }, + deviceRatio: { + 375: 2 / 1, + 640: 2.34 / 2, + 750: 1, + 828: 1.81 / 2, + }, + alias: { + '@': path.resolve(__dirname, '..', 'src'), + '@components/assets': path.resolve(__dirname, '..', 'node_modules', '@12333/components/assets'), + }, + sourceRoot: 'src', + outputRoot: 'dist', + plugins: [ + ['@tarojs/plugin-mini-ci', CIPluginFn], + [ + '@tarojs/plugin-vue-devtools', + { + port: 9999, + }, + ], + '@tarojs/plugin-html', + [ + '@tarojs/plugin-http', + { + enableCookie: true, + }, + ], + 'taro-plugin-pinia', + [ + '@tarojs/plugin-framework-vue3', + { + vueLoaderOption: { + compilerOptions: { + isCustomElement: (tag) => tag.includes('ec-canvas'), + }, + reactivityTransform: true, // 寮�鍚痸ue3鍝嶅簲鎬ц娉曠硸 + }, + }, + ], + ], + + defineConstants: { + // CLIENT_ID: JSON.stringify('frontend-admin-app-client'), + // START_YEAR: '2022', + }, + copy: { + patterns: [], + options: {}, + }, + framework: 'vue3', + compiler: { + type: 'webpack5', + prebundle: { enable: false }, + }, + cache: { + enable: false, // Webpack 鎸佷箙鍖栫紦瀛橀厤缃紝寤鸿寮�鍚�傞粯璁ら厤缃鍙傝�冿細https://docs.taro.zone/docs/config-detail#cache + }, + sass: { + resource: [path.resolve(__dirname, '..', 'src/styles/custom_theme.scss')], + data: `@import "@nutui/nutui-taro/dist/styles/variables.scss";`, + }, + + mini: { + hot: true, + miniCssExtractPluginOption: { + ignoreOrder: true, + }, + postcss: { + pxtransform: { + enable: true, + config: { + selectorBlackList: ['nut-'], + }, + }, + url: { + enable: true, + config: { + limit: 1024, // 璁惧畾杞崲灏哄涓婇檺 + }, + }, + cssModules: { + enable: true, // 榛樿涓� false锛屽闇�浣跨敤 css modules 鍔熻兘锛屽垯璁句负 true + config: { + namingPattern: 'module', // 杞崲妯″紡锛屽彇鍊间负 global/module + generateScopedName: '[name]__[local]___[hash:base64:5]', + }, + }, + }, + webpackChain(chain, webpack) { + if (process.env.NODE_ENV === 'development') { + chain.plugin('analyzer').use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin, []); + } + + chain.plugin('unplugin-auto-import').use( + AutoImport({ + imports: ['vue', 'pinia', 'vue-router', { '@/constants': ['RouterPath'] }], + eslintrc: { + enabled: true, // Default `false` + filepath: './.eslintrc-auto-import.json', // Default `./.eslintrc-auto-import.json` + globalsPropValue: true, // Default `true`, (true | false | 'readonly' | 'readable' | 'writable' | 'writeable') + }, + }) + ); + + chain.plugin('unplugin-vue-components').use( + ComponentsPlugin({ + include: [/\.[tj]sx?$/, /\.vue$/, /\.vue\?vue/], + resolvers: [NutUIResolver({ taro: true })], + dts: true, + }) + ); + + chain.merge({ + plugin: { + install: { + plugin: require('terser-webpack-plugin'), + args: [ + { + terserOptions: { + compress: true, // 榛樿浣跨敤terser鍘嬬缉 + keep_classnames: true, // 涓嶆敼鍙榗lass鍚嶇О + keep_fnames: true, // 涓嶆敼鍙樺嚱鏁板悕绉� + }, + }, + ], + }, + }, + }); + + chain.merge({ + optimization: { + splitChunks: { + cacheGroups: { + nutui: { + name: 'nutui', + minChunks: 2, + test: (module) => { + return /[\\/]node_modules[\\/]@nutui[\\/]/.test(module.resource); + }, + priority: 20, + }, + lodash: { + name: 'lodash', + minChunks: 2, + test: (module) => { + return /[\\/]node_modules[\\/]lodash[\\/]/.test(module.resource); + }, + priority: 20, + }, + // senin: { + // name: 'senin', + // minChunks: 2, + // test: (module) => { + // return /[\\/]node_modules[\\/]senin-mini[\\/]/.test(module.resource); + // }, + // priority: 30, + // }, + }, + }, + }, + }); + }, + commonChunks(commonChunks) { + commonChunks.push('nutui'); + commonChunks.push('lodash'); + // commonChunks.push('senin'); + return commonChunks; + }, + }, + h5: { + publicPath: '/', + staticDirectory: 'static', + postcss: { + autoprefixer: { + enable: true, + config: {}, + }, + cssModules: { + enable: false, // 榛樿涓� false锛屽闇�浣跨敤 css modules 鍔熻兘锛屽垯璁句负 true + config: { + namingPattern: 'module', // 杞崲妯″紡锛屽彇鍊间负 global/module + generateScopedName: '[name]__[local]___[hash:base64:5]', + }, + }, + }, + }, + rn: { + appName: 'taroDemo', + postcss: { + cssModules: { + enable: false, // 榛樿涓� false锛屽闇�浣跨敤 css modules 鍔熻兘锛屽垯璁句负 true + }, + }, + }, +}; + +module.exports = function (merge) { + if (process.env.NODE_ENV === 'development') { + return merge( + {}, + config, + require('./dev'), + process.env.APP_ENV === 'staging' ? require('./staging') : {} + ); + } + + return merge( + {}, + config, + require('./prod'), + process.env.APP_ENV === 'staging' ? require('./staging') : {} + ); +}; diff --git a/apps/bMiniApp/config/prod.js b/apps/bMiniApp/config/prod.js new file mode 100644 index 0000000..4e89645 --- /dev/null +++ b/apps/bMiniApp/config/prod.js @@ -0,0 +1,41 @@ +module.exports = { + env: { + NODE_ENV: '"production"', + BASE_URL: '"https://api.81812333.com"', + BASE_URL_JX: '"https://api.jx818.com"', + + OSS_URL: '"https://parkmanagement.oss-cn-hangzhou.aliyuncs.com"', + + WEMAP_KEY: 'DYRBZ-ZGPCF-X3OJN-N2AA3-JWUCE-HEBXJ', + }, + defineConstants: {}, + mini: {}, + h5: { + /** + * WebpackChain 鎻掍欢閰嶇疆 + * @docs https://github.com/neutrinojs/webpack-chain + */ + // webpackChain (chain) { + // /** + // * 濡傛灉 h5 绔紪璇戝悗浣撶Н杩囧ぇ锛屽彲浠ヤ娇鐢� webpack-bundle-analyzer 鎻掍欢瀵规墦鍖呬綋绉繘琛屽垎鏋愩�� + // * @docs https://github.com/webpack-contrib/webpack-bundle-analyzer + // */ + // chain.plugin('analyzer') + // .use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin, []) + // /** + // * 濡傛灉 h5 绔灞忓姞杞芥椂闂磋繃闀匡紝鍙互浣跨敤 prerender-spa-plugin 鎻掍欢棰勫姞杞介椤点�� + // * @docs https://github.com/chrisvfritz/prerender-spa-plugin + // */ + // const path = require('path') + // const Prerender = require('prerender-spa-plugin') + // const staticDir = path.join(__dirname, '..', 'dist') + // chain + // .plugin('prerender') + // .use(new Prerender({ + // staticDir, + // routes: [ '/pages/index/index' ], + // postProcess: (context) => ({ ...context, outputPath: path.join(staticDir, 'index.html') }) + // })) + // } + }, +}; diff --git a/apps/bMiniApp/config/staging.js b/apps/bMiniApp/config/staging.js new file mode 100644 index 0000000..ea8eb1a --- /dev/null +++ b/apps/bMiniApp/config/staging.js @@ -0,0 +1,12 @@ +module.exports = { + env: { + BASE_URL: '"https://testrlywx.boleyuma.com"', + BASE_URL_JX: '"https://api.jx818.com"', + + OSS_URL: '"https://waterdroptest2.oss-cn-hangzhou.aliyuncs.com/"', + + APP_ENV: '"staging"', + + WEMAP_KEY: 'T2UBZ-N563J-ZCHFF-XDOXN-VCH7S-CJB2T', + }, +}; diff --git a/apps/bMiniApp/mock/Purchase.mock.js b/apps/bMiniApp/mock/Purchase.mock.js new file mode 100644 index 0000000..659b6f8 --- /dev/null +++ b/apps/bMiniApp/mock/Purchase.mock.js @@ -0,0 +1,106 @@ +const Mock = require('mockjs'); + +module.exports = { + 'POST /api/Purchase/getMySells': Mock.mock({ + error: null, + msg: null, + success: true, + unAuthorizedRequest: false, + result: { + pageModel: { + rows: 64, + page: 97, + orderInput: [], + totalCount: 68, + totalPage: 72, + }, + objectData: null, + 'data|1-10': [ + { + 'name|+1': Mock.mock('@title'), + 'id|+1': Mock.mock('@guid'), + 'categoryName|+1': Mock.mock('@cname'), + productId: Mock.mock('@guid'), + productName: Mock.mock('@cname'), + purchaserId: Mock.mock('@guid'), + purchaser: Mock.mock('@string'), + purchaseContacter: Mock.mock('@string'), + purchaseContacterPhone: Mock.mock('@string'), + unitPrice: Mock.mock('@integer(60, 100)'), + count: Mock.mock('@integer(60, 100)'), + amount: Mock.mock('@integer(60, 100)'), + 'status|+1': [0, 10, 20, -10, -20, -30], + purchaseDate: Mock.mock('@datetime'), + fixtureDate: Mock.mock('@datetime'), + comment: Mock.mock({ + 'starCount|1-5': 5, + content: Mock.mock('@cparagraph'), + creationTime: Mock.mock('@datetime'), + }), + refund: { + refundApplyRemark: Mock.mock('@cparagraph'), + refundApplyTime: Mock.mock('@datetime'), + refundDealRemark: Mock.mock('@cparagraph'), + }, + }, + ], + }, + }), + 'POST /api/Purchase/getMyPurchases': Mock.mock({ + error: null, + msg: null, + success: true, + unAuthorizedRequest: false, + result: { + pageModel: { + rows: 64, + page: 97, + orderInput: [], + totalCount: 68, + totalPage: 72, + }, + objectData: null, + 'data|8': [ + { + 'id|+1': Mock.mock('@guid'), + 'categoryName|+1': Mock.mock('@cname'), + 'productId|+1': Mock.mock('@guid'), + productName: Mock.mock('@cname'), + 'covers|1-10': [ + { + url: Mock.mock('@string'), + 'sequence|1-100': 100, + 'isMain|1-2': true, + }, + ], + tags: [ + { + tagId: Mock.mock('@guid'), + tagName: Mock.mock('@cname'), + 'sequence|1-100': 100, + type: 1, + }, + ], + versionName: Mock.mock('@cname'), + count: Mock.mock('@integer(60, 100)'), + unitPrice: Mock.mock('@integer(60, 100)'), + amount: Mock.mock('@integer(60, 100)'), + seller: Mock.mock('@cname'), + purchaseDate: Mock.mock('@datetime'), + comment: { + 'starCount|1-5': 5, + content: Mock.mock('@cparagraph'), + creationTime: Mock.mock('@datetime'), + }, + refund: { + refundApplyRemark: Mock.mock('@cparagraph'), + refundApplyTime: Mock.mock('@datetime'), + refundDealRemark: Mock.mock('@cparagraph'), + }, + 'status|+1': [0, 10, 20, -10, -20, -30], + chargeWay: '骞�', + }, + ], + }, + }), +}; diff --git a/apps/bMiniApp/mock/index.js b/apps/bMiniApp/mock/index.js new file mode 100644 index 0000000..e593800 --- /dev/null +++ b/apps/bMiniApp/mock/index.js @@ -0,0 +1,5 @@ +const purchaseMocks = require('./Purchase.mock'); + +module.exports = { + ...purchaseMocks, +}; diff --git a/apps/bMiniApp/package.json b/apps/bMiniApp/package.json new file mode 100644 index 0000000..164a7d5 --- /dev/null +++ b/apps/bMiniApp/package.json @@ -0,0 +1,137 @@ +{ + "name": "@12333/bMiniApp", + "version": "1.0.0", + "private": true, + "description": "", + "templateInfo": { + "name": "default", + "typescript": true, + "css": "sass" + }, + "scripts": { + "build:weapp": "cross-env NODE_OPTIONS=--openssl-legacy-provider taro build --type weapp", + "build:weapp:upload": "npm run build:weapp -- --upload", + "build:weapp:staging": "cross-env APP_ENV=staging npm run build:weapp --", + "build:weapp:staging:upload": "npm run build:weapp:staging -- --upload", + "build:swan": "taro build --type swan", + "build:alipay": "taro build --type alipay", + "build:tt": "taro build --type tt", + "build:h5": "taro build --type h5", + "build:rn": "taro build --type rn", + "build:qq": "taro build --type qq", + "build:jd": "taro build --type jd", + "build:quickapp": "taro build --type quickapp", + "dev:weapp": "npm run build:weapp -- --watch", + "dev:weapp:staging": "npm run build:weapp:staging -- --watch", + "dev:swan": "npm run build:swan -- --watch", + "dev:alipay": "npm run build:alipay -- --watch", + "dev:tt": "npm run build:tt -- --watch", + "dev:h5": "npm run build:h5 -- --watch", + "dev:rn": "npm run build:rn -- --watch", + "dev:qq": "npm run build:qq -- --watch", + "dev:jd": "npm run build:jd -- --watch", + "dev:quickapp": "npm run build:quickapp -- --watch", + "release": "release-it --config ../../.release-it.json --git.tagName='@12333/bMiniApp/v${version}' --hooks.after:release='npm run build:weapp:upload'" + }, + "browserslist": [ + "last 3 versions", + "Android >= 4.1", + "ios >= 8" + ], + "author": "", + "dependencies": { + "@12333/components": "workspace:^", + "@12333/constants": "workspace:*", + "@12333/hooks": "workspace:^", + "@12333/services": "workspace:^", + "@12333/utils": "workspace:^", + "@babel/runtime": "^7.7.7", + "@bole-12333/chat-kit": "^1.0.1", + "@bole-core/request": "^0.0.1", + "@nutui/icons-vue-taro": "^0.0.9", + "@nutui/nutui-taro": "^4.3.13", + "@tanstack/vue-query": "^4.35.3", + "@tarojs/components": "3.6.20", + "@tarojs/helper": "3.6.20", + "@tarojs/plugin-framework-vue3": "3.6.20", + "@tarojs/plugin-html": "3.6.20", + "@tarojs/plugin-http": "3.6.20", + "@tarojs/plugin-platform-alipay": "3.6.20", + "@tarojs/plugin-platform-jd": "3.6.20", + "@tarojs/plugin-platform-qq": "3.6.20", + "@tarojs/plugin-platform-swan": "3.6.20", + "@tarojs/plugin-platform-tt": "3.6.20", + "@tarojs/plugin-platform-weapp": "3.6.20", + "@tarojs/router": "3.6.20", + "@tarojs/runtime": "3.6.20", + "@tarojs/shared": "3.6.20", + "@tarojs/taro": "3.6.20", + "@tarojs/taro-h5": "3.6.20", + "@tencentcloud/chat-uikit-engine": "^2.0.3", + "@tencentcloud/chat-uikit-uniapp": "^2.0.3", + "@tencentcloud/tui-customer-service-plugin": "^2.0.3", + "@vant/weapp": "^1.11.1", + "axios": "^1.4.0", + "crypto-js": "^4.1.1", + "dayjs": "^1.11.6", + "js-base64": "^3.7.5", + "lodash": "^4.17.21", + "pinia": "^2.1.6", + "qs": "^6.11.1", + "senin-mini": "^1.0.10", + "senior-request": "^1.0.3", + "taro-plugin-pinia": "^1.0.0", + "vconsole": "^3.15.1", + "vue": "3.5.12", + "vue-component-type-helpers": "^2.1.10" + }, + "devDependencies": { + "@babel/core": "^7.8.0", + "@nutui/auto-import-resolver": "^1.0.0", + "@tarojs/cli": "3.6.20", + "@tarojs/plugin-mini-ci": "^4.0.7", + "@tarojs/plugin-mock": "^0.0.9", + "@tarojs/plugin-vue-devtools": "^3.6.20", + "@tarojs/service": "^3.6.20", + "@tarojs/webpack5-runner": "3.6.20", + "@types/crypto-js": "^4.1.1", + "@types/lodash": "^4.14.198", + "@types/webpack-env": "^1.13.6", + "@vue/babel-plugin-jsx": "^1.0.6", + "@vue/compiler-sfc": "^3.5.12", + "babel-plugin-import": "^1.13.8", + "babel-plugin-lodash": "^3.3.4", + "babel-plugin-transform-remove-console": "^6.9.4", + "babel-preset-taro": "3.6.20", + "cache-loader": "^4.1.0", + "cross-env": "^7.0.3", + "mockjs": "^1.1.0", + "postcss": "^8.4.19", + "postcss-html": "^1.5.0", + "postcss-loader": "^7.3.3", + "postcss-scss": "^4.0.6", + "prettier": "^2.7.1", + "stylelint": "^14.15.0", + "stylelint-config-html": "^1.1.0", + "stylelint-config-prettier": "^9.0.4", + "stylelint-config-recess-order": "^3.0.0", + "stylelint-config-recommended": "^9.0.0", + "stylelint-config-standard": "^29.0.0", + "stylelint-config-standard-scss": "^6.1.0", + "stylelint-order": "^5.0.0", + "stylelint-scss": "^4.3.0", + "taro-plugin-compiler-optimization": "^1.0.4", + "thread-loader": "^4.0.2", + "unplugin-auto-import": "^0.16.6", + "unplugin-vue-components": "^0.27.4", + "vue-eslint-parser": "^9.3.1", + "vue-loader": "^17.0.0", + "webpack": "^5.78.0", + "webpack-bundle-analyzer": "^4.7.0" + }, + "pnpm": { + "patchedDependencies": { + "@nutui/nutui-taro@4.1.5": "../../patches/@nutui__nutui-taro@4.1.5.patch" + } + } +} diff --git a/apps/bMiniApp/pnpm-lock.yaml b/apps/bMiniApp/pnpm-lock.yaml new file mode 100644 index 0000000..cfd46a6 --- /dev/null +++ b/apps/bMiniApp/pnpm-lock.yaml @@ -0,0 +1,15613 @@ +lockfileVersion: '6.0' + +patchedDependencies: + '@nutui/nutui-taro@4.1.5': + hash: rmh3y5aja46q3evvd2s643idaa + path: patches/@nutui__nutui-taro@4.1.5.patch + +dependencies: + '@babel/runtime': + specifier: ^7.7.7 + version: 7.20.6 + '@bole-12333/chat-kit': + specifier: ^1.0.1 + version: 1.0.1(@tencentcloud/chat-uikit-engine@2.0.3)(lodash@4.17.21)(vue@3.3.4) + '@bole-core/request': + specifier: ^0.0.1 + version: 0.0.1(axios@1.5.0) + '@nutui/icons-vue-taro': + specifier: ^0.0.9 + version: 0.0.9 + '@nutui/nutui-taro': + specifier: ^4.1.5 + version: 4.1.5(patch_hash=rmh3y5aja46q3evvd2s643idaa)(unplugin-vue-components@0.24.1) + '@tanstack/vue-query': + specifier: ^4.35.3 + version: 4.35.3(@vue/composition-api@1.7.2)(vue@3.3.4) + '@tarojs/components': + specifier: 3.6.20 + version: 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@tarojs/helper': + specifier: 3.6.20 + version: 3.6.20 + '@tarojs/plugin-framework-vue3': + specifier: 3.6.20 + version: 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@tarojs/plugin-html': + specifier: 3.6.20 + version: 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@tarojs/plugin-http': + specifier: 3.6.20 + version: 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@tarojs/plugin-platform-alipay': + specifier: 3.6.20 + version: 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@tarojs/plugin-platform-jd': + specifier: 3.6.20 + version: 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@tarojs/plugin-platform-qq': + specifier: 3.6.20 + version: 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@tarojs/plugin-platform-swan': + specifier: 3.6.20 + version: 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@tarojs/plugin-platform-tt': + specifier: 3.6.20 + version: 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@tarojs/plugin-platform-weapp': + specifier: 3.6.20 + version: 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@tarojs/router': + specifier: 3.6.20 + version: 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@tarojs/runtime': + specifier: 3.6.20 + version: 3.6.20 + '@tarojs/shared': + specifier: 3.6.20 + version: 3.6.20 + '@tarojs/taro': + specifier: 3.6.20 + version: 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@tarojs/taro-h5': + specifier: 3.6.20 + version: 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@tencentcloud/chat-uikit-engine': + specifier: ^2.0.3 + version: 2.0.3 + '@tencentcloud/chat-uikit-uniapp': + specifier: ^2.0.3 + version: 2.0.3(@vue/runtime-dom@3.3.4)(vue@3.3.4)(webpack@5.79.0) + '@tencentcloud/tui-customer-service-plugin': + specifier: ^2.0.3 + version: 2.0.3(@tencentcloud/tui-core@2.0.4)(@vue/composition-api@1.7.2)(vue@3.3.4) + '@vant/weapp': + specifier: ^1.11.1 + version: 1.11.1 + axios: + specifier: ^1.4.0 + version: 1.5.0 + crypto-js: + specifier: ^4.1.1 + version: 4.1.1 + dayjs: + specifier: ^1.11.6 + version: 1.11.6 + js-base64: + specifier: ^3.7.5 + version: 3.7.5 + lodash: + specifier: ^4.17.21 + version: 4.17.21 + pinia: + specifier: ^2.1.6 + version: 2.1.6(@vue/composition-api@1.7.2)(typescript@5.2.2)(vue@3.3.4) + qs: + specifier: ^6.11.1 + version: 6.11.1 + taro-plugin-pinia: + specifier: ^1.0.0 + version: 1.0.0 + vconsole: + specifier: ^3.15.1 + version: 3.15.1 + vue: + specifier: ^3.3.4 + version: 3.3.4 + +devDependencies: + '@babel/core': + specifier: ^7.8.0 + version: 7.20.5 + '@commitlint/config-conventional': + specifier: ^17.3.0 + version: 17.3.0 + '@release-it/conventional-changelog': + specifier: ^5.1.1 + version: 5.1.1(release-it@15.10.1) + '@tarojs/cli': + specifier: 3.6.20 + version: 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@tarojs/plugin-mock': + specifier: ^0.0.9 + version: 0.0.9 + '@tarojs/plugin-vue-devtools': + specifier: ^3.6.20 + version: 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@tarojs/service': + specifier: ^3.6.20 + version: 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@tarojs/webpack5-runner': + specifier: 3.6.20 + version: 3.6.20(@babel/core@7.20.5)(@swc/core@1.3.96)(@vue/compiler-sfc@3.2.45)(cache-loader@4.1.0)(postcss@8.4.19)(prettier@2.7.1)(typescript@5.2.2)(vue@3.3.4)(webpack@5.79.0) + '@types/crypto-js': + specifier: ^4.1.1 + version: 4.1.1 + '@types/lodash': + specifier: ^4.14.198 + version: 4.14.198 + '@types/webpack-env': + specifier: ^1.13.6 + version: 1.18.0 + '@typescript-eslint/eslint-plugin': + specifier: ^6.7.5 + version: 6.7.5(@typescript-eslint/parser@6.7.5)(eslint@8.28.0)(typescript@5.2.2) + '@typescript-eslint/parser': + specifier: ^6.7.5 + version: 6.7.5(eslint@8.28.0)(typescript@5.2.2) + '@vue/babel-plugin-jsx': + specifier: ^1.0.6 + version: 1.1.1(@babel/core@7.20.5) + '@vue/compiler-sfc': + specifier: ^3.0.0 + version: 3.2.45 + '@vue/eslint-config-prettier': + specifier: ^7.0.0 + version: 7.0.0(eslint@8.28.0)(prettier@2.7.1) + '@vue/eslint-config-typescript': + specifier: ^11.0.2 + version: 11.0.2(eslint-plugin-vue@9.8.0)(eslint@8.28.0)(typescript@5.2.2) + babel-plugin-import: + specifier: ^1.13.8 + version: 1.13.8 + babel-plugin-lodash: + specifier: ^3.3.4 + version: 3.3.4 + babel-plugin-transform-remove-console: + specifier: ^6.9.4 + version: 6.9.4 + babel-preset-taro: + specifier: 3.6.20 + version: 3.6.20(@babel/core@7.20.5) + cache-loader: + specifier: ^4.1.0 + version: 4.1.0(webpack@5.79.0) + commitlint: + specifier: ^17.7.2 + version: 17.7.2(@swc/core@1.3.96) + cross-env: + specifier: ^7.0.3 + version: 7.0.3 + eslint: + specifier: ^8.23.1 + version: 8.28.0 + eslint-config-taro: + specifier: 3.6.20 + version: 3.6.20(@babel/core@7.20.5)(eslint@8.28.0)(typescript@5.2.2) + eslint-plugin-prettier: + specifier: ^4.2.1 + version: 4.2.1(eslint-config-prettier@8.5.0)(eslint@8.28.0)(prettier@2.7.1) + eslint-plugin-vue: + specifier: ^9.0.0 + version: 9.8.0(eslint@8.28.0) + husky: + specifier: ^8.0.2 + version: 8.0.2 + lint-staged: + specifier: ^14.0.1 + version: 14.0.1 + mockjs: + specifier: ^1.1.0 + version: 1.1.0 + postcss: + specifier: ^8.4.19 + version: 8.4.19 + postcss-html: + specifier: ^1.5.0 + version: 1.5.0 + postcss-loader: + specifier: ^7.3.3 + version: 7.3.3(postcss@8.4.19)(typescript@5.2.2)(webpack@5.79.0) + postcss-scss: + specifier: ^4.0.6 + version: 4.0.6(postcss@8.4.19) + prettier: + specifier: ^2.7.1 + version: 2.7.1 + release-it: + specifier: ^15.10.1 + version: 15.10.1 + stylelint: + specifier: ^14.4.0 + version: 14.15.0 + stylelint-config-html: + specifier: ^1.1.0 + version: 1.1.0(postcss-html@1.5.0)(stylelint@14.15.0) + stylelint-config-prettier: + specifier: ^9.0.4 + version: 9.0.4(stylelint@14.15.0) + stylelint-config-recess-order: + specifier: ^3.0.0 + version: 3.0.0(stylelint@14.15.0) + stylelint-config-recommended: + specifier: ^9.0.0 + version: 9.0.0(stylelint@14.15.0) + stylelint-config-standard: + specifier: ^29.0.0 + version: 29.0.0(stylelint@14.15.0) + stylelint-config-standard-scss: + specifier: ^6.1.0 + version: 6.1.0(postcss@8.4.19)(stylelint@14.15.0) + stylelint-order: + specifier: ^5.0.0 + version: 5.0.0(stylelint@14.15.0) + stylelint-scss: + specifier: ^4.3.0 + version: 4.3.0(stylelint@14.15.0) + taro-plugin-compiler-optimization: + specifier: ^1.0.4 + version: 1.0.4 + thread-loader: + specifier: ^4.0.2 + version: 4.0.2(webpack@5.79.0) + typescript: + specifier: ^5.2.2 + version: 5.2.2 + unplugin-auto-import: + specifier: ^0.16.6 + version: 0.16.6 + unplugin-vue-components: + specifier: ^0.24.1 + version: 0.24.1(vue@3.3.4) + vue-eslint-parser: + specifier: ^9.3.1 + version: 9.3.1(eslint@8.28.0) + vue-loader: + specifier: ^17.0.0 + version: 17.0.1(@vue/compiler-sfc@3.2.45)(vue@3.3.4)(webpack@5.79.0) + webpack: + specifier: ^5.78.0 + version: 5.79.0(@swc/core@1.3.96) + webpack-bundle-analyzer: + specifier: ^4.7.0 + version: 4.7.0 + +packages: + + /@ampproject/remapping@2.2.0: + resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.1.1 + '@jridgewell/trace-mapping': 0.3.17 + + /@antfu/utils@0.7.2: + resolution: {integrity: sha512-vy9fM3pIxZmX07dL+VX1aZe7ynZ+YyB0jY+jE6r3hOK6GNY2t6W8rzpFC4tgpbXUYABkFQwgJq2XYXlxbXAI0g==} + + /@antfu/utils@0.7.6: + resolution: {integrity: sha512-pvFiLP2BeOKA/ZOS6jxx4XhKzdVLHDhGlFEaZ2flWWYf2xOqVniqpk38I04DFRyz+L0ASggl7SkItTc+ZLju4w==} + + /@babel/code-frame@7.18.6: + resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.18.6 + + /@babel/code-frame@7.23.5: + resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.23.4 + chalk: 2.4.2 + + /@babel/compat-data@7.20.5: + resolution: {integrity: sha512-KZXo2t10+/jxmkhNXc7pZTqRvSOIvVv/+lJwHS+B2rErwOyjuVRh60yVpb7liQ1U5t7lLJ1bz+t8tSypUZdm0g==} + engines: {node: '>=6.9.0'} + + /@babel/compat-data@7.23.5: + resolution: {integrity: sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==} + engines: {node: '>=6.9.0'} + + /@babel/core@7.20.5: + resolution: {integrity: sha512-UdOWmk4pNWTm/4DlPUl/Pt4Gz4rcEMb7CY0Y3eJl5Yz1vI8ZJGmHWaVE55LoxRjdpx0z259GE9U5STA9atUinQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.0 + '@babel/code-frame': 7.18.6 + '@babel/generator': 7.20.5 + '@babel/helper-compilation-targets': 7.20.0(@babel/core@7.20.5) + '@babel/helper-module-transforms': 7.20.2 + '@babel/helpers': 7.20.6 + '@babel/parser': 7.20.5 + '@babel/template': 7.18.10 + '@babel/traverse': 7.20.5 + '@babel/types': 7.20.5 + convert-source-map: 1.9.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.1 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + + /@babel/core@7.23.7: + resolution: {integrity: sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.2.0 + '@babel/code-frame': 7.23.5 + '@babel/generator': 7.23.6 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.23.7) + '@babel/helpers': 7.23.8 + '@babel/parser': 7.23.6 + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.7 + '@babel/types': 7.23.6 + convert-source-map: 2.0.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: false + + /@babel/eslint-parser@7.19.1(@babel/core@7.20.5)(eslint@8.28.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.20.5 + '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 + eslint: 8.28.0 + eslint-visitor-keys: 2.1.0 + semver: 6.3.0 + dev: true + + /@babel/generator@7.20.5: + resolution: {integrity: sha512-jl7JY2Ykn9S0yj4DQP82sYvPU+T3g0HFcWTqDLqiuA9tGRNIj9VfbtXGAYTTkyNEnQk1jkMGOdYka8aG/lulCA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.21.4 + '@jridgewell/gen-mapping': 0.3.2 + jsesc: 2.5.2 + + /@babel/generator@7.23.6: + resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.6 + '@jridgewell/gen-mapping': 0.3.2 + '@jridgewell/trace-mapping': 0.3.17 + 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.23.6 + + /@babel/helper-builder-binary-assignment-operator-visitor@7.18.9: + resolution: {integrity: sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-explode-assignable-expression': 7.18.6 + '@babel/types': 7.23.6 + + /@babel/helper-compilation-targets@7.20.0(@babel/core@7.20.5): + resolution: {integrity: sha512-0jp//vDGp9e8hZzBc6N/KwA5ZK3Wsm/pfm4CrY7vzegkVxc65SgSn6wYOnwHe9Js9HRQ1YTCKLGPzDtaS3RoLQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/compat-data': 7.20.5 + '@babel/core': 7.20.5 + '@babel/helper-validator-option': 7.18.6 + browserslist: 4.21.4 + semver: 6.3.0 + + /@babel/helper-compilation-targets@7.23.6: + resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/compat-data': 7.23.5 + '@babel/helper-validator-option': 7.23.5 + browserslist: 4.22.2 + lru-cache: 5.1.1 + semver: 6.3.1 + + /@babel/helper-create-class-features-plugin@7.20.5(@babel/core@7.20.5): + resolution: {integrity: sha512-3RCdA/EmEaikrhayahwToF0fpweU/8o2p8vhc1c/1kftHOdTKuC65kik/TLc+qfbS8JKw4qqJbne4ovICDhmww==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-member-expression-to-functions': 7.18.9 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/helper-replace-supers': 7.19.1 + '@babel/helper-split-export-declaration': 7.22.6 + transitivePeerDependencies: + - supports-color + + /@babel/helper-create-regexp-features-plugin@7.20.5(@babel/core@7.20.5): + resolution: {integrity: sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-annotate-as-pure': 7.18.6 + regexpu-core: 5.2.2 + + /@babel/helper-define-polyfill-provider@0.3.3(@babel/core@7.20.5): + resolution: {integrity: sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==} + peerDependencies: + '@babel/core': ^7.4.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-plugin-utils': 7.20.2 + debug: 4.3.4 + lodash.debounce: 4.0.8 + resolve: 1.22.1 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + /@babel/helper-environment-visitor@7.18.9: + resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==} + engines: {node: '>=6.9.0'} + + /@babel/helper-environment-visitor@7.22.20: + resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} + engines: {node: '>=6.9.0'} + + /@babel/helper-explode-assignable-expression@7.18.6: + resolution: {integrity: sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.6 + + /@babel/helper-function-name@7.19.0: + resolution: {integrity: sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.22.15 + '@babel/types': 7.23.6 + + /@babel/helper-function-name@7.23.0: + resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.22.15 + '@babel/types': 7.23.6 + + /@babel/helper-hoist-variables@7.18.6: + resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.6 + + /@babel/helper-hoist-variables@7.22.5: + resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.6 + + /@babel/helper-member-expression-to-functions@7.18.9: + resolution: {integrity: sha512-RxifAh2ZoVU67PyKIO4AMi1wTenGfMR/O/ae0CCRqwgBAt5v7xjdtRw7UoSbsreKrQn5t7r89eruK/9JjYHuDg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.6 + + /@babel/helper-module-imports@7.18.6: + resolution: {integrity: sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.21.4 + + /@babel/helper-module-imports@7.22.15: + resolution: {integrity: sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.6 + + /@babel/helper-module-transforms@7.20.2: + resolution: {integrity: sha512-zvBKyJXRbmK07XhMuujYoJ48B5yvvmM6+wcpv6Ivj4Yg6qO7NOZOSnvZN9CRl1zz1Z4cKf8YejmCMh8clOoOeA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-module-imports': 7.18.6 + '@babel/helper-simple-access': 7.20.2 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/helper-validator-identifier': 7.19.1 + '@babel/template': 7.20.7 + '@babel/traverse': 7.20.5 + '@babel/types': 7.21.4 + transitivePeerDependencies: + - supports-color + + /@babel/helper-module-transforms@7.23.3(@babel/core@7.20.5): + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 + + /@babel/helper-module-transforms@7.23.3(@babel/core@7.23.7): + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.23.7 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 + dev: false + + /@babel/helper-optimise-call-expression@7.18.6: + resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.6 + + /@babel/helper-plugin-utils@7.20.2: + resolution: {integrity: sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==} + engines: {node: '>=6.9.0'} + + /@babel/helper-remap-async-to-generator@7.18.9(@babel/core@7.20.5): + resolution: {integrity: sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-wrap-function': 7.20.5 + '@babel/types': 7.23.6 + transitivePeerDependencies: + - supports-color + + /@babel/helper-replace-supers@7.19.1: + resolution: {integrity: sha512-T7ahH7wV0Hfs46SFh5Jz3s0B6+o8g3c+7TMxu7xKfmHikg7EAZ3I2Qk9LFhjxXq8sL7UkP5JflezNwoZa8WvWw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-member-expression-to-functions': 7.18.9 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/traverse': 7.23.7 + '@babel/types': 7.23.6 + transitivePeerDependencies: + - supports-color + + /@babel/helper-simple-access@7.20.2: + resolution: {integrity: sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.6 + + /@babel/helper-simple-access@7.22.5: + resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.6 + + /@babel/helper-skip-transparent-expression-wrappers@7.20.0: + resolution: {integrity: sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.6 + + /@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.23.6 + + /@babel/helper-split-export-declaration@7.22.6: + resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.23.6 + + /@babel/helper-string-parser@7.19.4: + resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} + engines: {node: '>=6.9.0'} + + /@babel/helper-string-parser@7.23.4: + resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} + 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-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + + /@babel/helper-validator-option@7.18.6: + resolution: {integrity: sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==} + engines: {node: '>=6.9.0'} + + /@babel/helper-validator-option@7.23.5: + resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} + 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.23.0 + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.7 + '@babel/types': 7.23.6 + transitivePeerDependencies: + - supports-color + + /@babel/helpers@7.20.6: + resolution: {integrity: sha512-Pf/OjgfgFRW5bApskEz5pvidpim7tEDPlFtKcNRXWmfHGn9IEI2W2flqRQXTFb7gIPTyK++N6rVHuwKut4XK6w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.20.7 + '@babel/traverse': 7.20.5 + '@babel/types': 7.21.4 + transitivePeerDependencies: + - supports-color + + /@babel/helpers@7.23.8: + resolution: {integrity: sha512-KDqYz4PiOWvDFrdHLPhKtCThtIcKVy6avWD2oG4GEvyQ+XDZwHD4YQd+H2vNMnq2rkdxsDkU82T+Vk8U/WXHRQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.22.15 + '@babel/traverse': 7.23.7 + '@babel/types': 7.23.6 + transitivePeerDependencies: + - supports-color + dev: false + + /@babel/highlight@7.18.6: + resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + + /@babel/highlight@7.23.4: + resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + + /@babel/parser@7.16.4: + resolution: {integrity: sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.23.6 + dev: true + + /@babel/parser@7.20.5: + resolution: {integrity: sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.21.4 + + /@babel/parser@7.21.4: + resolution: {integrity: sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.23.6 + + /@babel/parser@7.23.6: + resolution: {integrity: sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.23.6 + + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.18.6(@babel/core@7.20.5): + resolution: {integrity: sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + + /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.18.9(@babel/core@7.20.5): + resolution: {integrity: sha512-AHrP9jadvH7qlOj6PINbgSuphjQUAK7AOT7DPjBo9EHoLhQTnnK5u45e1Hd4DbSQEO9nqPWtQ89r+XEOWFScKg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.13.0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + '@babel/plugin-proposal-optional-chaining': 7.18.9(@babel/core@7.20.5) + + /@babel/plugin-proposal-async-generator-functions@7.20.1(@babel/core@7.20.5): + resolution: {integrity: sha512-Gh5rchzSwE4kC+o/6T8waD0WHEQIsDmjltY8WnWRXHUdH8axZhuH86Ov9M72YhJfDrZseQwuuWaaIT/TmePp3g==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-async-generator-functions instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.20.5) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.20.5) + transitivePeerDependencies: + - supports-color + + /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.20.5): + resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-create-class-features-plugin': 7.20.5(@babel/core@7.20.5) + '@babel/helper-plugin-utils': 7.20.2 + transitivePeerDependencies: + - supports-color + + /@babel/plugin-proposal-class-static-block@7.18.6(@babel/core@7.20.5): + resolution: {integrity: sha512-+I3oIiNxrCpup3Gi8n5IGMwj0gOCAjcJUSQEcotNnCCPMEnixawOQ+KeJPlgfjzx+FKQ1QSyZOWe7wmoJp7vhw==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-static-block instead. + peerDependencies: + '@babel/core': ^7.12.0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-create-class-features-plugin': 7.20.5(@babel/core@7.20.5) + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.20.5) + transitivePeerDependencies: + - supports-color + + /@babel/plugin-proposal-decorators@7.20.5(@babel/core@7.20.5): + resolution: {integrity: sha512-Lac7PpRJXcC3s9cKsBfl+uc+DYXU5FD06BrTFunQO6QIQT+DwyzDPURAowI3bcvD1dZF/ank1Z5rstUJn3Hn4Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-create-class-features-plugin': 7.20.5(@babel/core@7.20.5) + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-replace-supers': 7.19.1 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/plugin-syntax-decorators': 7.19.0(@babel/core@7.20.5) + transitivePeerDependencies: + - supports-color + + /@babel/plugin-proposal-dynamic-import@7.18.6(@babel/core@7.20.5): + resolution: {integrity: sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-dynamic-import instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.20.5) + + /@babel/plugin-proposal-export-default-from@7.18.10(@babel/core@7.20.5): + resolution: {integrity: sha512-5H2N3R2aQFxkV4PIBUR/i7PUSwgTZjouJKzI8eKswfIjT0PhvzkPn0t0wIS5zn6maQuvtT0t1oHtMUz61LOuow==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-export-default-from': 7.18.6(@babel/core@7.20.5) + dev: true + + /@babel/plugin-proposal-export-namespace-from@7.18.9(@babel/core@7.20.5): + resolution: {integrity: sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-export-namespace-from instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.20.5) + + /@babel/plugin-proposal-json-strings@7.18.6(@babel/core@7.20.5): + resolution: {integrity: sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-json-strings instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.20.5) + + /@babel/plugin-proposal-logical-assignment-operators@7.18.9(@babel/core@7.20.5): + resolution: {integrity: sha512-128YbMpjCrP35IOExw2Fq+x55LMP42DzhOhX2aNNIdI9avSWl2PI0yuBWarr3RYpZBSPtabfadkH2yeRiMD61Q==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-logical-assignment-operators instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.20.5) + + /@babel/plugin-proposal-nullish-coalescing-operator@7.18.6(@babel/core@7.20.5): + resolution: {integrity: sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-nullish-coalescing-operator instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.20.5) + + /@babel/plugin-proposal-numeric-separator@7.18.6(@babel/core@7.20.5): + resolution: {integrity: sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-numeric-separator instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.20.5) + + /@babel/plugin-proposal-object-rest-spread@7.20.2(@babel/core@7.20.5): + resolution: {integrity: sha512-Ks6uej9WFK+fvIMesSqbAto5dD8Dz4VuuFvGJFKgIGSkJuRGcrwGECPA1fDgQK3/DbExBJpEkTeYeB8geIFCSQ==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.23.5 + '@babel/core': 7.20.5 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.20.5) + '@babel/plugin-transform-parameters': 7.20.5(@babel/core@7.20.5) + + /@babel/plugin-proposal-optional-catch-binding@7.18.6(@babel/core@7.20.5): + resolution: {integrity: sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-catch-binding instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.20.5) + + /@babel/plugin-proposal-optional-chaining@7.18.9(@babel/core@7.20.5): + resolution: {integrity: sha512-v5nwt4IqBXihxGsW2QmCWMDS3B3bzGIk/EQVZz2ei7f3NJl8NzAJVvUmpDW5q1CRNY+Beb/k58UAH1Km1N411w==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-optional-chaining instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.20.5) + + /@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.20.5): + resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-create-class-features-plugin': 7.20.5(@babel/core@7.20.5) + '@babel/helper-plugin-utils': 7.20.2 + transitivePeerDependencies: + - supports-color + + /@babel/plugin-proposal-private-property-in-object@7.20.5(@babel/core@7.20.5): + resolution: {integrity: sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-property-in-object instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-create-class-features-plugin': 7.20.5(@babel/core@7.20.5) + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.20.5) + transitivePeerDependencies: + - supports-color + + /@babel/plugin-proposal-unicode-property-regex@7.18.6(@babel/core@7.20.5): + resolution: {integrity: sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==} + engines: {node: '>=4'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-unicode-property-regex instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-create-regexp-features-plugin': 7.20.5(@babel/core@7.20.5) + '@babel/helper-plugin-utils': 7.20.2 + + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.20.5): + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.20.5): + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + + /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.20.5): + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + + /@babel/plugin-syntax-decorators@7.19.0(@babel/core@7.20.5): + resolution: {integrity: sha512-xaBZUEDntt4faL1yN8oIFlhfXeQAWJW7CLKYsHTUqriCUbj8xOra8bfxxKGi/UwExPFBuPdH4XfHc9rGQhrVkQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + + /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.20.5): + resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + + /@babel/plugin-syntax-export-default-from@7.18.6(@babel/core@7.20.5): + resolution: {integrity: sha512-Kr//z3ujSVNx6E9z9ih5xXXMqK07VVTuqPmqGe6Mss/zW5XPeLZeSDZoP9ab/hT4wPKqAgjl2PnhPrcpk8Seew==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.20.5): + resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + + /@babel/plugin-syntax-flow@7.18.6(@babel/core@7.20.5): + resolution: {integrity: sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-import-assertions@7.20.0(@babel/core@7.20.5): + resolution: {integrity: sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.20.5): + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + + /@babel/plugin-syntax-jsx@7.18.6(@babel/core@7.20.5): + resolution: {integrity: sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.20.5): + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.20.5): + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.20.5): + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.20.5): + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.20.5): + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.20.5): + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + + /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.20.5): + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.20.5): + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + + /@babel/plugin-syntax-typescript@7.20.0(@babel/core@7.20.5): + resolution: {integrity: sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + + /@babel/plugin-transform-arrow-functions@7.18.6(@babel/core@7.20.5): + resolution: {integrity: sha512-9S9X9RUefzrsHZmKMbDXxweEH+YlE8JJEuat9FdvW9Qh1cw7W64jELCtWNkPBPX5En45uy28KGvA/AySqUh8CQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + + /@babel/plugin-transform-async-to-generator@7.18.6(@babel/core@7.20.5): + resolution: {integrity: sha512-ARE5wZLKnTgPW7/1ftQmSi1CmkqqHo2DNmtztFhvgtOWSDfq0Cq9/9L+KnZNYSNrydBekhW3rwShduf59RoXag==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-remap-async-to-generator': 7.18.9(@babel/core@7.20.5) + transitivePeerDependencies: + - supports-color + + /@babel/plugin-transform-block-scoped-functions@7.18.6(@babel/core@7.20.5): + resolution: {integrity: sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + + /@babel/plugin-transform-block-scoping@7.20.5(@babel/core@7.20.5): + resolution: {integrity: sha512-WvpEIW9Cbj9ApF3yJCjIEEf1EiNJLtXagOrL5LNWEZOo3jv8pmPoYTSNJQvqej8OavVlgOoOPw6/htGZro6IkA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + + /@babel/plugin-transform-classes@7.20.2(@babel/core@7.20.5): + resolution: {integrity: sha512-9rbPp0lCVVoagvtEyQKSo5L8oo0nQS/iif+lwlAz29MccX2642vWDlSZK+2T2buxbopotId2ld7zZAzRfz9j1g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-optimise-call-expression': 7.18.6 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-replace-supers': 7.19.1 + '@babel/helper-split-export-declaration': 7.22.6 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + /@babel/plugin-transform-computed-properties@7.18.9(@babel/core@7.20.5): + resolution: {integrity: sha512-+i0ZU1bCDymKakLxn5srGHrsAPRELC2WIbzwjLhHW9SIE1cPYkLCL0NlnXMZaM1vhfgA2+M7hySk42VBvrkBRw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + + /@babel/plugin-transform-destructuring@7.20.2(@babel/core@7.20.5): + resolution: {integrity: sha512-mENM+ZHrvEgxLTBXUiQ621rRXZes3KWUv6NdQlrnr1TkWVw+hUjQBZuP2X32qKlrlG2BzgR95gkuCRSkJl8vIw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + + /@babel/plugin-transform-dotall-regex@7.18.6(@babel/core@7.20.5): + resolution: {integrity: sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-create-regexp-features-plugin': 7.20.5(@babel/core@7.20.5) + '@babel/helper-plugin-utils': 7.20.2 + + /@babel/plugin-transform-duplicate-keys@7.18.9(@babel/core@7.20.5): + resolution: {integrity: sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + + /@babel/plugin-transform-exponentiation-operator@7.18.6(@babel/core@7.20.5): + resolution: {integrity: sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-builder-binary-assignment-operator-visitor': 7.18.9 + '@babel/helper-plugin-utils': 7.20.2 + + /@babel/plugin-transform-flow-strip-types@7.19.0(@babel/core@7.20.5): + resolution: {integrity: sha512-sgeMlNaQVbCSpgLSKP4ZZKfsJVnFnNQlUSk6gPYzR/q7tzCgQF2t8RBKAP6cKJeZdveei7Q7Jm527xepI8lNLg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-flow': 7.18.6(@babel/core@7.20.5) + dev: true + + /@babel/plugin-transform-for-of@7.18.8(@babel/core@7.20.5): + resolution: {integrity: sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + + /@babel/plugin-transform-function-name@7.18.9(@babel/core@7.20.5): + resolution: {integrity: sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-plugin-utils': 7.20.2 + + /@babel/plugin-transform-literals@7.18.9(@babel/core@7.20.5): + resolution: {integrity: sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + + /@babel/plugin-transform-member-expression-literals@7.18.6(@babel/core@7.20.5): + resolution: {integrity: sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + + /@babel/plugin-transform-modules-amd@7.19.6(@babel/core@7.20.5): + resolution: {integrity: sha512-uG3od2mXvAtIFQIh0xrpLH6r5fpSQN04gIVovl+ODLdUMANokxQLZnPBHcjmv3GxRjnqwLuHvppjjcelqUFZvg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.20.5) + '@babel/helper-plugin-utils': 7.20.2 + + /@babel/plugin-transform-modules-commonjs@7.19.6(@babel/core@7.20.5): + resolution: {integrity: sha512-8PIa1ym4XRTKuSsOUXqDG0YaOlEuTVvHMe5JCfgBMOtHvJKw/4NGovEGN33viISshG/rZNVrACiBmPQLvWN8xQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.20.5) + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-simple-access': 7.22.5 + + /@babel/plugin-transform-modules-systemjs@7.19.6(@babel/core@7.20.5): + resolution: {integrity: sha512-fqGLBepcc3kErfR9R3DnVpURmckXP7gj7bAlrTQyBxrigFqszZCkFkcoxzCp2v32XmwXLvbw+8Yq9/b+QqksjQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.20.5) + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-validator-identifier': 7.22.20 + + /@babel/plugin-transform-modules-umd@7.18.6(@babel/core@7.20.5): + resolution: {integrity: sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.20.5) + '@babel/helper-plugin-utils': 7.20.2 + + /@babel/plugin-transform-named-capturing-groups-regex@7.20.5(@babel/core@7.20.5): + resolution: {integrity: sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-create-regexp-features-plugin': 7.20.5(@babel/core@7.20.5) + '@babel/helper-plugin-utils': 7.20.2 + + /@babel/plugin-transform-new-target@7.18.6(@babel/core@7.20.5): + resolution: {integrity: sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + + /@babel/plugin-transform-object-super@7.18.6(@babel/core@7.20.5): + resolution: {integrity: sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-replace-supers': 7.19.1 + transitivePeerDependencies: + - supports-color + + /@babel/plugin-transform-parameters@7.20.5(@babel/core@7.20.5): + resolution: {integrity: sha512-h7plkOmcndIUWXZFLgpbrh2+fXAi47zcUX7IrOQuZdLD0I0KvjJ6cvo3BEcAOsDOcZhVKGJqv07mkSqK0y2isQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + + /@babel/plugin-transform-property-literals@7.18.6(@babel/core@7.20.5): + resolution: {integrity: sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + + /@babel/plugin-transform-react-display-name@7.18.6(@babel/core@7.20.5): + 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.20.5 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-react-jsx-development@7.18.6(@babel/core@7.20.5): + resolution: {integrity: sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/plugin-transform-react-jsx': 7.19.0(@babel/core@7.20.5) + dev: true + + /@babel/plugin-transform-react-jsx-self@7.18.6(@babel/core@7.20.5): + resolution: {integrity: sha512-A0LQGx4+4Jv7u/tWzoJF7alZwnBDQd6cGLh9P+Ttk4dpiL+J5p7NSNv/9tlEFFJDq3kjxOavWmbm6t0Gk+A3Ig==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-react-jsx-source@7.19.6(@babel/core@7.20.5): + resolution: {integrity: sha512-RpAi004QyMNisst/pvSanoRdJ4q+jMCWyk9zdw/CyLB9j8RXEahodR6l2GyttDRyEVWZtbN+TpLiHJ3t34LbsQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-react-jsx@7.19.0(@babel/core@7.20.5): + resolution: {integrity: sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-jsx': 7.18.6(@babel/core@7.20.5) + '@babel/types': 7.23.6 + dev: true + + /@babel/plugin-transform-react-pure-annotations@7.18.6(@babel/core@7.20.5): + resolution: {integrity: sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-annotate-as-pure': 7.18.6 + '@babel/helper-plugin-utils': 7.20.2 + dev: true + + /@babel/plugin-transform-regenerator@7.20.5(@babel/core@7.20.5): + resolution: {integrity: sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + regenerator-transform: 0.15.1 + + /@babel/plugin-transform-reserved-words@7.18.6(@babel/core@7.20.5): + resolution: {integrity: sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + + /@babel/plugin-transform-runtime@7.19.6(@babel/core@7.20.5): + resolution: {integrity: sha512-PRH37lz4JU156lYFW1p8OxE5i7d6Sl/zV58ooyr+q1J1lnQPyg5tIiXlIwNVhJaY4W3TmOtdc8jqdXQcB1v5Yw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-module-imports': 7.22.15 + '@babel/helper-plugin-utils': 7.20.2 + babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.20.5) + babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.20.5) + babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.20.5) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + /@babel/plugin-transform-shorthand-properties@7.18.6(@babel/core@7.20.5): + resolution: {integrity: sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + + /@babel/plugin-transform-spread@7.19.0(@babel/core@7.20.5): + resolution: {integrity: sha512-RsuMk7j6n+r752EtzyScnWkQyuJdli6LdO5Klv8Yx0OfPVTcQkIUfS8clx5e9yHXzlnhOZF3CbQ8C2uP5j074w==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-skip-transparent-expression-wrappers': 7.20.0 + + /@babel/plugin-transform-sticky-regex@7.18.6(@babel/core@7.20.5): + resolution: {integrity: sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + + /@babel/plugin-transform-template-literals@7.18.9(@babel/core@7.20.5): + resolution: {integrity: sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + + /@babel/plugin-transform-typeof-symbol@7.18.9(@babel/core@7.20.5): + resolution: {integrity: sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + + /@babel/plugin-transform-typescript@7.20.2(@babel/core@7.20.5): + resolution: {integrity: sha512-jvS+ngBfrnTUBfOQq8NfGnSbF9BrqlR6hjJ2yVxMkmO5nL/cdifNbI30EfjRlN4g5wYWNnMPyj5Sa6R1pbLeag==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-create-class-features-plugin': 7.20.5(@babel/core@7.20.5) + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-syntax-typescript': 7.20.0(@babel/core@7.20.5) + transitivePeerDependencies: + - supports-color + + /@babel/plugin-transform-unicode-escapes@7.18.10(@babel/core@7.20.5): + resolution: {integrity: sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + + /@babel/plugin-transform-unicode-regex@7.18.6(@babel/core@7.20.5): + resolution: {integrity: sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-create-regexp-features-plugin': 7.20.5(@babel/core@7.20.5) + '@babel/helper-plugin-utils': 7.20.2 + + /@babel/preset-env@7.20.2(@babel/core@7.20.5): + resolution: {integrity: sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.23.5 + '@babel/core': 7.20.5 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-validator-option': 7.23.5 + '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6(@babel/core@7.20.5) + '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.18.9(@babel/core@7.20.5) + '@babel/plugin-proposal-async-generator-functions': 7.20.1(@babel/core@7.20.5) + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.20.5) + '@babel/plugin-proposal-class-static-block': 7.18.6(@babel/core@7.20.5) + '@babel/plugin-proposal-dynamic-import': 7.18.6(@babel/core@7.20.5) + '@babel/plugin-proposal-export-namespace-from': 7.18.9(@babel/core@7.20.5) + '@babel/plugin-proposal-json-strings': 7.18.6(@babel/core@7.20.5) + '@babel/plugin-proposal-logical-assignment-operators': 7.18.9(@babel/core@7.20.5) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.20.5) + '@babel/plugin-proposal-numeric-separator': 7.18.6(@babel/core@7.20.5) + '@babel/plugin-proposal-object-rest-spread': 7.20.2(@babel/core@7.20.5) + '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.20.5) + '@babel/plugin-proposal-optional-chaining': 7.18.9(@babel/core@7.20.5) + '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.20.5) + '@babel/plugin-proposal-private-property-in-object': 7.20.5(@babel/core@7.20.5) + '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.20.5) + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.20.5) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.20.5) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.20.5) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.20.5) + '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.20.5) + '@babel/plugin-syntax-import-assertions': 7.20.0(@babel/core@7.20.5) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.20.5) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.20.5) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.20.5) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.20.5) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.20.5) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.20.5) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.20.5) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.20.5) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.20.5) + '@babel/plugin-transform-arrow-functions': 7.18.6(@babel/core@7.20.5) + '@babel/plugin-transform-async-to-generator': 7.18.6(@babel/core@7.20.5) + '@babel/plugin-transform-block-scoped-functions': 7.18.6(@babel/core@7.20.5) + '@babel/plugin-transform-block-scoping': 7.20.5(@babel/core@7.20.5) + '@babel/plugin-transform-classes': 7.20.2(@babel/core@7.20.5) + '@babel/plugin-transform-computed-properties': 7.18.9(@babel/core@7.20.5) + '@babel/plugin-transform-destructuring': 7.20.2(@babel/core@7.20.5) + '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.20.5) + '@babel/plugin-transform-duplicate-keys': 7.18.9(@babel/core@7.20.5) + '@babel/plugin-transform-exponentiation-operator': 7.18.6(@babel/core@7.20.5) + '@babel/plugin-transform-for-of': 7.18.8(@babel/core@7.20.5) + '@babel/plugin-transform-function-name': 7.18.9(@babel/core@7.20.5) + '@babel/plugin-transform-literals': 7.18.9(@babel/core@7.20.5) + '@babel/plugin-transform-member-expression-literals': 7.18.6(@babel/core@7.20.5) + '@babel/plugin-transform-modules-amd': 7.19.6(@babel/core@7.20.5) + '@babel/plugin-transform-modules-commonjs': 7.19.6(@babel/core@7.20.5) + '@babel/plugin-transform-modules-systemjs': 7.19.6(@babel/core@7.20.5) + '@babel/plugin-transform-modules-umd': 7.18.6(@babel/core@7.20.5) + '@babel/plugin-transform-named-capturing-groups-regex': 7.20.5(@babel/core@7.20.5) + '@babel/plugin-transform-new-target': 7.18.6(@babel/core@7.20.5) + '@babel/plugin-transform-object-super': 7.18.6(@babel/core@7.20.5) + '@babel/plugin-transform-parameters': 7.20.5(@babel/core@7.20.5) + '@babel/plugin-transform-property-literals': 7.18.6(@babel/core@7.20.5) + '@babel/plugin-transform-regenerator': 7.20.5(@babel/core@7.20.5) + '@babel/plugin-transform-reserved-words': 7.18.6(@babel/core@7.20.5) + '@babel/plugin-transform-shorthand-properties': 7.18.6(@babel/core@7.20.5) + '@babel/plugin-transform-spread': 7.19.0(@babel/core@7.20.5) + '@babel/plugin-transform-sticky-regex': 7.18.6(@babel/core@7.20.5) + '@babel/plugin-transform-template-literals': 7.18.9(@babel/core@7.20.5) + '@babel/plugin-transform-typeof-symbol': 7.18.9(@babel/core@7.20.5) + '@babel/plugin-transform-unicode-escapes': 7.18.10(@babel/core@7.20.5) + '@babel/plugin-transform-unicode-regex': 7.18.6(@babel/core@7.20.5) + '@babel/preset-modules': 0.1.5(@babel/core@7.20.5) + '@babel/types': 7.23.6 + babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.20.5) + babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.20.5) + babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.20.5) + core-js-compat: 3.26.1 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + /@babel/preset-modules@0.1.5(@babel/core@7.20.5): + resolution: {integrity: sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/plugin-proposal-unicode-property-regex': 7.18.6(@babel/core@7.20.5) + '@babel/plugin-transform-dotall-regex': 7.18.6(@babel/core@7.20.5) + '@babel/types': 7.23.6 + esutils: 2.0.3 + + /@babel/preset-react@7.18.6(@babel/core@7.20.5): + resolution: {integrity: sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-validator-option': 7.23.5 + '@babel/plugin-transform-react-display-name': 7.18.6(@babel/core@7.20.5) + '@babel/plugin-transform-react-jsx': 7.19.0(@babel/core@7.20.5) + '@babel/plugin-transform-react-jsx-development': 7.18.6(@babel/core@7.20.5) + '@babel/plugin-transform-react-pure-annotations': 7.18.6(@babel/core@7.20.5) + dev: true + + /@babel/preset-typescript@7.18.6(@babel/core@7.20.5): + resolution: {integrity: sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-plugin-utils': 7.20.2 + '@babel/helper-validator-option': 7.23.5 + '@babel/plugin-transform-typescript': 7.20.2(@babel/core@7.20.5) + transitivePeerDependencies: + - supports-color + + /@babel/register@7.18.9(@babel/core@7.20.5): + resolution: {integrity: sha512-ZlbnXDcNYHMR25ITwwNKT88JiaukkdVj/nG7r3wnuXkOTHc60Uy05PwMCPre0hSkY68E6zK3xz+vUJSP2jWmcw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + clone-deep: 4.0.1 + find-cache-dir: 2.1.0 + make-dir: 2.1.0 + pirates: 4.0.5 + source-map-support: 0.5.21 + + /@babel/runtime-corejs3@7.20.6: + resolution: {integrity: sha512-tqeujPiuEfcH067mx+7otTQWROVMKHXEaOQcAeNV5dDdbPWvPcFA8/W9LXw2NfjNmOetqLl03dfnG2WALPlsRQ==} + engines: {node: '>=6.9.0'} + dependencies: + core-js-pure: 3.26.1 + regenerator-runtime: 0.13.11 + dev: true + + /@babel/runtime@7.20.6: + resolution: {integrity: sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA==} + engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.13.11 + + /@babel/template@7.18.10: + resolution: {integrity: sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.18.6 + '@babel/parser': 7.21.4 + '@babel/types': 7.21.4 + + /@babel/template@7.20.7: + resolution: {integrity: sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.23.5 + '@babel/parser': 7.23.6 + '@babel/types': 7.23.6 + + /@babel/template@7.22.15: + resolution: {integrity: sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.23.5 + '@babel/parser': 7.23.6 + '@babel/types': 7.23.6 + + /@babel/traverse@7.20.5: + resolution: {integrity: sha512-WM5ZNN3JITQIq9tFZaw1ojLU3WgWdtkxnhM1AegMS+PvHjkM5IXjmYEGY7yukz5XS4sJyEf2VzWjI8uAavhxBQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.18.6 + '@babel/generator': 7.20.5 + '@babel/helper-environment-visitor': 7.18.9 + '@babel/helper-function-name': 7.19.0 + '@babel/helper-hoist-variables': 7.18.6 + '@babel/helper-split-export-declaration': 7.18.6 + '@babel/parser': 7.21.4 + '@babel/types': 7.21.4 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + /@babel/traverse@7.23.7: + resolution: {integrity: sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.23.5 + '@babel/generator': 7.23.6 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.23.6 + '@babel/types': 7.23.6 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + /@babel/types@7.20.5: + resolution: {integrity: sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.19.4 + '@babel/helper-validator-identifier': 7.19.1 + to-fast-properties: 2.0.0 + + /@babel/types@7.21.4: + resolution: {integrity: sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.19.4 + '@babel/helper-validator-identifier': 7.19.1 + to-fast-properties: 2.0.0 + + /@babel/types@7.23.6: + resolution: {integrity: sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.23.4 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + + /@bole-12333/chat-kit@1.0.1(@tencentcloud/chat-uikit-engine@2.0.3)(lodash@4.17.21)(vue@3.3.4): + resolution: {integrity: sha512-yeSh4XLagaM+uNZRdcG49mhDJO3UbYEpIYZS4Lk303ROnTwxuZyuh5jkoflnCFwWN3Ib3AolfQy999oOqF012A==} + peerDependencies: + '@tencentcloud/chat-uikit-engine': '*' + lodash: '*' + vue: '*' + dependencies: + '@tencentcloud/chat-uikit-engine': 2.0.3 + lodash: 4.17.21 + vue: 3.3.4 + dev: false + + /@bole-core/request@0.0.1(axios@1.5.0): + resolution: {integrity: sha512-NHUZBAxWehzUfV9vm2MsafsEy+d+p9C8r/PfB8QFbiXe06iQ7gzug/XegAv0tzd/6qQknUIELhOKRNH5f6dpag==} + peerDependencies: + axios: '*' + dependencies: + axios: 1.5.0 + dev: false + + /@commitlint/cli@17.8.1(@swc/core@1.3.96): + resolution: {integrity: sha512-ay+WbzQesE0Rv4EQKfNbSMiJJ12KdKTDzIt0tcK4k11FdsWmtwP0Kp1NWMOUswfIWo6Eb7p7Ln721Nx9FLNBjg==} + engines: {node: '>=v14'} + hasBin: true + dependencies: + '@commitlint/format': 17.8.1 + '@commitlint/lint': 17.8.1 + '@commitlint/load': 17.8.1(@swc/core@1.3.96) + '@commitlint/read': 17.8.1 + '@commitlint/types': 17.8.1 + execa: 5.1.1 + lodash.isfunction: 3.0.9 + resolve-from: 5.0.0 + resolve-global: 1.0.0 + yargs: 17.6.2 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + dev: true + + /@commitlint/config-conventional@17.3.0: + resolution: {integrity: sha512-hgI+fN5xF8nhS9uG/V06xyT0nlcyvHHMkq0kwRSr96vl5BFlRGaL2C0/YY4kQagfU087tmj01bJkG9Ek98Wllw==} + engines: {node: '>=v14'} + dependencies: + conventional-changelog-conventionalcommits: 5.0.0 + dev: true + + /@commitlint/config-validator@17.8.1: + resolution: {integrity: sha512-UUgUC+sNiiMwkyiuIFR7JG2cfd9t/7MV8VB4TZ+q02ZFkHoduUS4tJGsCBWvBOGD9Btev6IecPMvlWUfJorkEA==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/types': 17.8.1 + ajv: 8.11.2 + dev: true + + /@commitlint/ensure@17.8.1: + resolution: {integrity: sha512-xjafwKxid8s1K23NFpL8JNo6JnY/ysetKo8kegVM7c8vs+kWLP8VrQq+NbhgVlmCojhEDbzQKp4eRXSjVOGsow==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/types': 17.8.1 + lodash.camelcase: 4.3.0 + lodash.kebabcase: 4.1.1 + lodash.snakecase: 4.1.1 + lodash.startcase: 4.4.0 + lodash.upperfirst: 4.3.1 + dev: true + + /@commitlint/execute-rule@17.8.1: + resolution: {integrity: sha512-JHVupQeSdNI6xzA9SqMF+p/JjrHTcrJdI02PwesQIDCIGUrv04hicJgCcws5nzaoZbROapPs0s6zeVHoxpMwFQ==} + engines: {node: '>=v14'} + dev: true + + /@commitlint/format@17.8.1: + resolution: {integrity: sha512-f3oMTyZ84M9ht7fb93wbCKmWxO5/kKSbwuYvS867duVomoOsgrgljkGGIztmT/srZnaiGbaK8+Wf8Ik2tSr5eg==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/types': 17.8.1 + chalk: 4.1.2 + dev: true + + /@commitlint/is-ignored@17.8.1: + resolution: {integrity: sha512-UshMi4Ltb4ZlNn4F7WtSEugFDZmctzFpmbqvpyxD3la510J+PLcnyhf9chs7EryaRFJMdAKwsEKfNK0jL/QM4g==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/types': 17.8.1 + semver: 7.5.4 + dev: true + + /@commitlint/lint@17.8.1: + resolution: {integrity: sha512-aQUlwIR1/VMv2D4GXSk7PfL5hIaFSfy6hSHV94O8Y27T5q+DlDEgd/cZ4KmVI+MWKzFfCTiTuWqjfRSfdRllCA==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/is-ignored': 17.8.1 + '@commitlint/parse': 17.8.1 + '@commitlint/rules': 17.8.1 + '@commitlint/types': 17.8.1 + dev: true + + /@commitlint/load@17.8.1(@swc/core@1.3.96): + resolution: {integrity: sha512-iF4CL7KDFstP1kpVUkT8K2Wl17h2yx9VaR1ztTc8vzByWWcbO/WaKwxsnCOqow9tVAlzPfo1ywk9m2oJ9ucMqA==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/config-validator': 17.8.1 + '@commitlint/execute-rule': 17.8.1 + '@commitlint/resolve-extends': 17.8.1 + '@commitlint/types': 17.8.1 + '@types/node': 20.5.1 + chalk: 4.1.2 + cosmiconfig: 8.3.6(typescript@5.2.2) + cosmiconfig-typescript-loader: 4.3.0(@types/node@20.5.1)(cosmiconfig@8.3.6)(ts-node@10.9.1)(typescript@5.2.2) + lodash.isplainobject: 4.0.6 + lodash.merge: 4.6.2 + lodash.uniq: 4.5.0 + resolve-from: 5.0.0 + ts-node: 10.9.1(@swc/core@1.3.96)(@types/node@20.5.1)(typescript@5.2.2) + typescript: 5.2.2 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + dev: true + + /@commitlint/message@17.8.1: + resolution: {integrity: sha512-6bYL1GUQsD6bLhTH3QQty8pVFoETfFQlMn2Nzmz3AOLqRVfNNtXBaSY0dhZ0dM6A2MEq4+2d7L/2LP8TjqGRkA==} + engines: {node: '>=v14'} + dev: true + + /@commitlint/parse@17.8.1: + resolution: {integrity: sha512-/wLUickTo0rNpQgWwLPavTm7WbwkZoBy3X8PpkUmlSmQJyWQTj0m6bDjiykMaDt41qcUbfeFfaCvXfiR4EGnfw==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/types': 17.8.1 + conventional-changelog-angular: 6.0.0 + conventional-commits-parser: 4.0.0 + dev: true + + /@commitlint/read@17.8.1: + resolution: {integrity: sha512-Fd55Oaz9irzBESPCdMd8vWWgxsW3OWR99wOntBDHgf9h7Y6OOHjWEdS9Xzen1GFndqgyoaFplQS5y7KZe0kO2w==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/top-level': 17.8.1 + '@commitlint/types': 17.8.1 + fs-extra: 11.2.0 + git-raw-commits: 2.0.11 + minimist: 1.2.8 + dev: true + + /@commitlint/resolve-extends@17.8.1: + resolution: {integrity: sha512-W/ryRoQ0TSVXqJrx5SGkaYuAaE/BUontL1j1HsKckvM6e5ZaG0M9126zcwL6peKSuIetJi7E87PRQF8O86EW0Q==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/config-validator': 17.8.1 + '@commitlint/types': 17.8.1 + import-fresh: 3.3.0 + lodash.mergewith: 4.6.2 + resolve-from: 5.0.0 + resolve-global: 1.0.0 + dev: true + + /@commitlint/rules@17.8.1: + resolution: {integrity: sha512-2b7OdVbN7MTAt9U0vKOYKCDsOvESVXxQmrvuVUZ0rGFMCrCPJWWP1GJ7f0lAypbDAhaGb8zqtdOr47192LBrIA==} + engines: {node: '>=v14'} + dependencies: + '@commitlint/ensure': 17.8.1 + '@commitlint/message': 17.8.1 + '@commitlint/to-lines': 17.8.1 + '@commitlint/types': 17.8.1 + execa: 5.1.1 + dev: true + + /@commitlint/to-lines@17.8.1: + resolution: {integrity: sha512-LE0jb8CuR/mj6xJyrIk8VLz03OEzXFgLdivBytoooKO5xLt5yalc8Ma5guTWobw998sbR3ogDd+2jed03CFmJA==} + engines: {node: '>=v14'} + dev: true + + /@commitlint/top-level@17.8.1: + resolution: {integrity: sha512-l6+Z6rrNf5p333SHfEte6r+WkOxGlWK4bLuZKbtf/2TXRN+qhrvn1XE63VhD8Oe9oIHQ7F7W1nG2k/TJFhx2yA==} + engines: {node: '>=v14'} + dependencies: + find-up: 5.0.0 + dev: true + + /@commitlint/types@17.8.1: + resolution: {integrity: sha512-PXDQXkAmiMEG162Bqdh9ChML/GJZo6vU+7F03ALKDK8zYc6SuAr47LjG7hGYRqUOz+WK0dU7bQ0xzuqFMdxzeQ==} + engines: {node: '>=v14'} + dependencies: + chalk: 4.1.2 + dev: true + + /@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/selector-specificity@2.0.2(postcss-selector-parser@6.0.11)(postcss@8.4.19): + resolution: {integrity: sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==} + engines: {node: ^12 || ^14 || >=16} + peerDependencies: + postcss: ^8.2 + postcss-selector-parser: ^6.0.10 + dependencies: + postcss: 8.4.19 + postcss-selector-parser: 6.0.11 + dev: true + + /@devexpress/error-stack-parser@2.0.6: + resolution: {integrity: sha512-fneVypElGUH6Be39mlRZeAu00pccTlf4oVuzf9xPJD1cdEqI8NyAiQua/EW7lZdrbMUbgyXcJmfKPefhYius3A==} + dependencies: + stackframe: 1.3.4 + dev: true + + /@electron/get@1.14.1: + resolution: {integrity: sha512-BrZYyL/6m0ZXz/lDxy/nlVhQz+WF+iPS6qXolEU8atw7h6v1aYkjwJZ63m+bJMBTxDE66X+r2tPS4a/8C82sZw==} + engines: {node: '>=8.6'} + dependencies: + debug: 4.3.4 + env-paths: 2.2.1 + fs-extra: 8.1.0 + got: 9.6.0 + progress: 2.0.3 + semver: 6.3.1 + sumchecker: 3.0.1 + optionalDependencies: + global-agent: 3.0.0 + global-tunnel-ng: 2.7.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@esbuild/android-arm64@0.19.9: + resolution: {integrity: sha512-q4cR+6ZD0938R19MyEW3jEsMzbb/1rulLXiNAJQADD/XYp7pT+rOS5JGxvpRW8dFDEfjW4wLgC/3FXIw4zYglQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/android-arm@0.19.9: + resolution: {integrity: sha512-jkYjjq7SdsWuNI6b5quymW0oC83NN5FdRPuCbs9HZ02mfVdAP8B8eeqLSYU3gb6OJEaY5CQabtTFbqBf26H3GA==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/android-x64@0.19.9: + resolution: {integrity: sha512-KOqoPntWAH6ZxDwx1D6mRntIgZh9KodzgNOy5Ebt9ghzffOk9X2c1sPwtM9P+0eXbefnDhqYfkh5PLP5ULtWFA==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/darwin-arm64@0.19.9: + resolution: {integrity: sha512-KBJ9S0AFyLVx2E5D8W0vExqRW01WqRtczUZ8NRu+Pi+87opZn5tL4Y0xT0mA4FtHctd0ZgwNoN639fUUGlNIWw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + optional: true + + /@esbuild/darwin-x64@0.19.9: + resolution: {integrity: sha512-vE0VotmNTQaTdX0Q9dOHmMTao6ObjyPm58CHZr1UK7qpNleQyxlFlNCaHsHx6Uqv86VgPmR4o2wdNq3dP1qyDQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + optional: true + + /@esbuild/freebsd-arm64@0.19.9: + resolution: {integrity: sha512-uFQyd/o1IjiEk3rUHSwUKkqZwqdvuD8GevWF065eqgYfexcVkxh+IJgwTaGZVu59XczZGcN/YMh9uF1fWD8j1g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + optional: true + + /@esbuild/freebsd-x64@0.19.9: + resolution: {integrity: sha512-WMLgWAtkdTbTu1AWacY7uoj/YtHthgqrqhf1OaEWnZb7PQgpt8eaA/F3LkV0E6K/Lc0cUr/uaVP/49iE4M4asA==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + optional: true + + /@esbuild/linux-arm64@0.19.9: + resolution: {integrity: sha512-PiPblfe1BjK7WDAKR1Cr9O7VVPqVNpwFcPWgfn4xu0eMemzRp442hXyzF/fSwgrufI66FpHOEJk0yYdPInsmyQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-arm@0.19.9: + resolution: {integrity: sha512-C/ChPohUYoyUaqn1h17m/6yt6OB14hbXvT8EgM1ZWaiiTYz7nWZR0SYmMnB5BzQA4GXl3BgBO1l8MYqL/He3qw==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-ia32@0.19.9: + resolution: {integrity: sha512-f37i/0zE0MjDxijkPSQw1CO/7C27Eojqb+r3BbHVxMLkj8GCa78TrBZzvPyA/FNLUMzP3eyHCVkAopkKVja+6Q==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-loong64@0.14.54: + resolution: {integrity: sha512-bZBrLAIX1kpWelV0XemxBZllyRmM6vgFQQG2GdNb+r3Fkp0FOh1NJSvekXDs7jq70k4euu1cryLMfU+mTXlEpw==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64@0.19.9: + resolution: {integrity: sha512-t6mN147pUIf3t6wUt3FeumoOTPfmv9Cc6DQlsVBpB7eCpLOqQDyWBP1ymXn1lDw4fNUSb/gBcKAmvTP49oIkaA==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-mips64el@0.19.9: + resolution: {integrity: sha512-jg9fujJTNTQBuDXdmAg1eeJUL4Jds7BklOTkkH80ZgQIoCTdQrDaHYgbFZyeTq8zbY+axgptncko3v9p5hLZtw==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-ppc64@0.19.9: + resolution: {integrity: sha512-tkV0xUX0pUUgY4ha7z5BbDS85uI7ABw3V1d0RNTii7E9lbmV8Z37Pup2tsLV46SQWzjOeyDi1Q7Wx2+QM8WaCQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-riscv64@0.19.9: + resolution: {integrity: sha512-DfLp8dj91cufgPZDXr9p3FoR++m3ZJ6uIXsXrIvJdOjXVREtXuQCjfMfvmc3LScAVmLjcfloyVtpn43D56JFHg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-s390x@0.19.9: + resolution: {integrity: sha512-zHbglfEdC88KMgCWpOl/zc6dDYJvWGLiUtmPRsr1OgCViu3z5GncvNVdf+6/56O2Ca8jUU+t1BW261V6kp8qdw==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-x64@0.19.9: + resolution: {integrity: sha512-JUjpystGFFmNrEHQnIVG8hKwvA2DN5o7RqiO1CVX8EN/F/gkCjkUMgVn6hzScpwnJtl2mPR6I9XV1oW8k9O+0A==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/netbsd-x64@0.19.9: + resolution: {integrity: sha512-GThgZPAwOBOsheA2RUlW5UeroRfESwMq/guy8uEe3wJlAOjpOXuSevLRd70NZ37ZrpO6RHGHgEHvPg1h3S1Jug==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + optional: true + + /@esbuild/openbsd-x64@0.19.9: + resolution: {integrity: sha512-Ki6PlzppaFVbLnD8PtlVQfsYw4S9n3eQl87cqgeIw+O3sRr9IghpfSKY62mggdt1yCSZ8QWvTZ9jo9fjDSg9uw==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + optional: true + + /@esbuild/sunos-x64@0.19.9: + resolution: {integrity: sha512-MLHj7k9hWh4y1ddkBpvRj2b9NCBhfgBt3VpWbHQnXRedVun/hC7sIyTGDGTfsGuXo4ebik2+3ShjcPbhtFwWDw==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + optional: true + + /@esbuild/win32-arm64@0.19.9: + resolution: {integrity: sha512-GQoa6OrQ8G08guMFgeXPH7yE/8Dt0IfOGWJSfSH4uafwdC7rWwrfE6P9N8AtPGIjUzdo2+7bN8Xo3qC578olhg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + optional: true + + /@esbuild/win32-ia32@0.19.9: + resolution: {integrity: sha512-UOozV7Ntykvr5tSOlGCrqU3NBr3d8JqPes0QWN2WOXfvkWVGRajC+Ym0/Wj88fUgecUCLDdJPDF0Nna2UK3Qtg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + optional: true + + /@esbuild/win32-x64@0.19.9: + resolution: {integrity: sha512-oxoQgglOP7RH6iasDrhY+R/3cHrfwIDvRlT4CGChflq6twk8iENeVvMJjmvBb94Ik1Z+93iGO27err7w6l54GQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + optional: true + + /@eslint-community/eslint-utils@4.4.0(eslint@8.28.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.28.0 + eslint-visitor-keys: 3.4.3 + 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.3 + dev: true + + /@eslint-community/regexpp@4.8.1: + resolution: {integrity: sha512-PWiOzLIUAjN/w5K17PoF4n6sKBw0gqLHPhywmYHP4t1VFQQVYeb1yWsJwnMVEMl3tUHME7X/SJPZLmtG7XBDxQ==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + + /@eslint/eslintrc@1.3.3: + resolution: {integrity: sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.6.1 + globals: 13.21.0 + ignore: 5.3.0 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/eslintrc@2.1.2: + resolution: {integrity: sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.6.1 + globals: 13.21.0 + ignore: 5.3.0 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + 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} + dev: true + + /@hapi/hoek@9.3.0: + resolution: {integrity: sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==} + + /@hapi/topo@5.1.0: + resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} + dependencies: + '@hapi/hoek': 9.3.0 + + /@humanwhocodes/config-array@0.11.11: + resolution: {integrity: sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 1.2.1 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/module-importer@1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + dev: true + + /@humanwhocodes/object-schema@1.2.1: + resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} + dev: true + + /@hutson/parse-repository-url@3.0.2: + resolution: {integrity: sha512-H9XAx3hc0BQHY6l+IFSWHDySypcXsvsuLhgYLUGywmJ5pswRVQJUHpOsobnLYp2ZUaUlKiKDrgWWhosOwAEM8Q==} + engines: {node: '>=6.9.0'} + dev: true + + /@iarna/toml@2.2.5: + resolution: {integrity: sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==} + dev: true + + /@isaacs/cliui@8.0.2: + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + dependencies: + string-width: 5.1.2 + string-width-cjs: /string-width@4.2.3 + strip-ansi: 7.0.1 + strip-ansi-cjs: /strip-ansi@6.0.1 + wrap-ansi: 8.1.0 + wrap-ansi-cjs: /wrap-ansi@7.0.0 + dev: true + + /@jridgewell/gen-mapping@0.1.1: + resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + + /@jridgewell/gen-mapping@0.3.2: + resolution: {integrity: sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.17 + + /@jridgewell/resolve-uri@3.1.0: + resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} + engines: {node: '>=6.0.0'} + + /@jridgewell/set-array@1.1.2: + resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} + engines: {node: '>=6.0.0'} + + /@jridgewell/source-map@0.3.2: + resolution: {integrity: sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==} + dependencies: + '@jridgewell/gen-mapping': 0.3.2 + '@jridgewell/trace-mapping': 0.3.17 + + /@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.17: + resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} + 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.0 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /@leichtgewicht/ip-codec@2.0.4: + resolution: {integrity: sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==} + dev: 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.13.0 + + /@nutui/icons-vue-taro@0.0.9: + resolution: {integrity: sha512-10VYAtFC+o1X0anGs+y2PgF1NWMeLFz2JVMRw4BWLg6wbtVbYy9wukLxyGhZC6Yf6t39DcwaGVda8paV7K6/Ew==} + dev: false + + /@nutui/nutui-taro@4.1.5(patch_hash=rmh3y5aja46q3evvd2s643idaa)(unplugin-vue-components@0.24.1): + resolution: {integrity: sha512-72vLMSE/BluMwhM0Xn8Oed42MKmykyC7M7BAz6dGFW2DuzjrjtoqVgKlFr6UMHcBrhK2mQvr4DN4+zUuJTiAaA==} + peerDependencies: + unplugin-vue-components: ^0.25.1 + peerDependenciesMeta: + unplugin-vue-components: + optional: true + dependencies: + '@nutui/icons-vue-taro': 0.0.9 + sass: 1.50.0 + unplugin-vue-components: 0.24.1(vue@3.3.4) + dev: false + patched: true + + /@octokit/auth-token@3.0.3: + resolution: {integrity: sha512-/aFM2M4HVDBT/jjDBa84sJniv1t9Gm/rLkalaz9htOm+L+8JMj1k9w0CkUdcxNyNxZPlTxKPVko+m1VlM58ZVA==} + engines: {node: '>= 14'} + dependencies: + '@octokit/types': 9.0.0 + dev: true + + /@octokit/core@4.2.0: + resolution: {integrity: sha512-AgvDRUg3COpR82P7PBdGZF/NNqGmtMq2NiPqeSsDIeCfYFOZ9gddqWNQHnFdEUf+YwOj4aZYmJnlPp7OXmDIDg==} + engines: {node: '>= 14'} + dependencies: + '@octokit/auth-token': 3.0.3 + '@octokit/graphql': 5.0.5 + '@octokit/request': 6.2.3 + '@octokit/request-error': 3.0.3 + '@octokit/types': 9.0.0 + before-after-hook: 2.2.3 + universal-user-agent: 6.0.0 + transitivePeerDependencies: + - encoding + dev: true + + /@octokit/endpoint@7.0.5: + resolution: {integrity: sha512-LG4o4HMY1Xoaec87IqQ41TQ+glvIeTKqfjkCEmt5AIwDZJwQeVZFIEYXrYY6yLwK+pAScb9Gj4q+Nz2qSw1roA==} + engines: {node: '>= 14'} + dependencies: + '@octokit/types': 9.0.0 + is-plain-object: 5.0.0 + universal-user-agent: 6.0.0 + dev: true + + /@octokit/graphql@5.0.5: + resolution: {integrity: sha512-Qwfvh3xdqKtIznjX9lz2D458r7dJPP8l6r4GQkIdWQouZwHQK0mVT88uwiU2bdTU2OtT1uOlKpRciUWldpG0yQ==} + engines: {node: '>= 14'} + dependencies: + '@octokit/request': 6.2.3 + '@octokit/types': 9.0.0 + universal-user-agent: 6.0.0 + transitivePeerDependencies: + - encoding + dev: true + + /@octokit/openapi-types@16.0.0: + resolution: {integrity: sha512-JbFWOqTJVLHZSUUoF4FzAZKYtqdxWu9Z5m2QQnOyEa04fOFljvyh7D3GYKbfuaSWisqehImiVIMG4eyJeP5VEA==} + dev: true + + /@octokit/plugin-paginate-rest@6.0.0(@octokit/core@4.2.0): + resolution: {integrity: sha512-Sq5VU1PfT6/JyuXPyt04KZNVsFOSBaYOAq2QRZUwzVlI10KFvcbUo8lR258AAQL1Et60b0WuVik+zOWKLuDZxw==} + engines: {node: '>= 14'} + peerDependencies: + '@octokit/core': '>=4' + dependencies: + '@octokit/core': 4.2.0 + '@octokit/types': 9.0.0 + dev: true + + /@octokit/plugin-request-log@1.0.4(@octokit/core@4.2.0): + resolution: {integrity: sha512-mLUsMkgP7K/cnFEw07kWqXGF5LKrOkD+lhCrKvPHXWDywAwuDUeDwWBpc69XK3pNX0uKiVt8g5z96PJ6z9xCFA==} + peerDependencies: + '@octokit/core': '>=3' + dependencies: + '@octokit/core': 4.2.0 + dev: true + + /@octokit/plugin-rest-endpoint-methods@7.0.1(@octokit/core@4.2.0): + resolution: {integrity: sha512-pnCaLwZBudK5xCdrR823xHGNgqOzRnJ/mpC/76YPpNP7DybdsJtP7mdOwh+wYZxK5jqeQuhu59ogMI4NRlBUvA==} + engines: {node: '>= 14'} + peerDependencies: + '@octokit/core': '>=3' + dependencies: + '@octokit/core': 4.2.0 + '@octokit/types': 9.0.0 + deprecation: 2.3.1 + dev: true + + /@octokit/request-error@3.0.3: + resolution: {integrity: sha512-crqw3V5Iy2uOU5Np+8M/YexTlT8zxCfI+qu+LxUB7SZpje4Qmx3mub5DfEKSO8Ylyk0aogi6TYdf6kxzh2BguQ==} + engines: {node: '>= 14'} + dependencies: + '@octokit/types': 9.0.0 + deprecation: 2.3.1 + once: 1.4.0 + dev: true + + /@octokit/request@6.2.3: + resolution: {integrity: sha512-TNAodj5yNzrrZ/VxP+H5HiYaZep0H3GU0O7PaF+fhDrt8FPrnkei9Aal/txsN/1P7V3CPiThG0tIvpPDYUsyAA==} + engines: {node: '>= 14'} + dependencies: + '@octokit/endpoint': 7.0.5 + '@octokit/request-error': 3.0.3 + '@octokit/types': 9.0.0 + is-plain-object: 5.0.0 + node-fetch: 2.6.9 + universal-user-agent: 6.0.0 + transitivePeerDependencies: + - encoding + dev: true + + /@octokit/rest@19.0.7: + resolution: {integrity: sha512-HRtSfjrWmWVNp2uAkEpQnuGMJsu/+dBr47dRc5QVgsCbnIc1+GFEaoKBWkYG+zjrsHpSqcAElMio+n10c0b5JA==} + engines: {node: '>= 14'} + dependencies: + '@octokit/core': 4.2.0 + '@octokit/plugin-paginate-rest': 6.0.0(@octokit/core@4.2.0) + '@octokit/plugin-request-log': 1.0.4(@octokit/core@4.2.0) + '@octokit/plugin-rest-endpoint-methods': 7.0.1(@octokit/core@4.2.0) + transitivePeerDependencies: + - encoding + dev: true + + /@octokit/types@9.0.0: + resolution: {integrity: sha512-LUewfj94xCMH2rbD5YJ+6AQ4AVjFYTgpp6rboWM5T7N3IsIF65SBEOVcYMGAEzO/kKNiNaW4LoWtoThOhH06gw==} + dependencies: + '@octokit/openapi-types': 16.0.0 + dev: true + + /@parcel/css@1.14.0: + resolution: {integrity: sha512-r5tJWe6NF6lesfPw1N3g7N7WUKpHqi2ONnw9wl5ccSGGIxkmgcPaPQxfvmhdjXvQnktSuIOR0HjQXVXu+/en/w==} + engines: {node: '>= 12.0.0'} + dependencies: + lightningcss: 1.16.1 + dev: true + + /@pkgjs/parseargs@0.11.0: + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + requiresBuild: true + dev: true + optional: true + + /@pnpm/config.env-replace@1.1.0: + resolution: {integrity: sha512-htyl8TWnKL7K/ESFa1oW2UB5lVDxuF5DpM7tBi6Hu2LNL3mWkIzNLG6N4zoCUP1lCKNxWy/3iu8mS8MvToGd6w==} + engines: {node: '>=12.22.0'} + dev: true + + /@pnpm/network.ca-file@1.0.2: + resolution: {integrity: sha512-YcPQ8a0jwYU9bTdJDpXjMi7Brhkr1mXsXrUJvjqM2mQDgkRiz8jFaQGOdaLxgjtUfQgZhKy/O3cG/YwmgKaxLA==} + engines: {node: '>=12.22.0'} + dependencies: + graceful-fs: 4.2.10 + dev: true + + /@pnpm/npm-conf@2.1.1: + resolution: {integrity: sha512-yfRcuupmxxeDOSxvw4g+wFCrGiPD0L32f5WMzqMXp7Rl93EOCdFiDcaSNnZ10Up9GdNqkj70UTa8hfhPFphaZA==} + engines: {node: '>=12'} + dependencies: + '@pnpm/config.env-replace': 1.1.0 + '@pnpm/network.ca-file': 1.0.2 + config-chain: 1.1.13 + dev: true + + /@polka/url@1.0.0-next.21: + resolution: {integrity: sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==} + dev: true + + /@release-it/conventional-changelog@5.1.1(release-it@15.10.1): + resolution: {integrity: sha512-QtbDBe36dQfzexAfDYrbLPvd5Cb5bMWmLcjcGhCOWBss7fe1/gCjoxDULVz+7N7G5Nu2UMeBwHcUp/w8RDh5VQ==} + engines: {node: '>=14'} + peerDependencies: + release-it: ^15.4.1 + dependencies: + concat-stream: 2.0.0 + conventional-changelog: 3.1.25 + conventional-recommended-bump: 6.1.0 + release-it: 15.10.1 + semver: 7.3.8 + dev: true + + /@rollup/pluginutils@5.0.2: + resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@types/estree': 1.0.1 + estree-walker: 2.0.2 + picomatch: 2.3.1 + + /@rollup/pluginutils@5.0.4: + resolution: {integrity: sha512-0KJnIoRI8A+a1dqOYLxH8vBf8bphDmty5QvIm2hqm7oFCFYKCAZWWd2hXgMibaPsNDhI0AtpYfQZJG47pt/k4g==} + engines: {node: '>=14.0.0'} + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + dependencies: + '@types/estree': 1.0.1 + estree-walker: 2.0.2 + picomatch: 2.3.1 + + /@sideway/address@4.1.4: + resolution: {integrity: sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==} + dependencies: + '@hapi/hoek': 9.3.0 + + /@sideway/formula@3.0.0: + resolution: {integrity: sha512-vHe7wZ4NOXVfkoRb8T5otiENVlT7a3IAiw7H5M2+GO+9CDgcVUUsX1zalAztCmwyOr2RUTGJdgB+ZvSVqmdHmg==} + + /@sideway/pinpoint@2.0.0: + resolution: {integrity: sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==} + + /@sindresorhus/is@0.14.0: + resolution: {integrity: sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==} + engines: {node: '>=6'} + dev: true + + /@sindresorhus/is@0.7.0: + resolution: {integrity: sha512-ONhaKPIufzzrlNbqtWFFd+jlnemX6lJAgq9ZeiZtS7I1PIf/la7CW4m83rTXRnVnsMbW2k56pGYu7AUFJD9Pow==} + engines: {node: '>=4'} + dev: true + + /@sindresorhus/is@5.3.0: + resolution: {integrity: sha512-CX6t4SYQ37lzxicAqsBtxA3OseeoVrh9cSJ5PFYam0GksYlupRfy1A+Q4aYD3zvcfECLc0zO2u+ZnR2UYKvCrw==} + engines: {node: '>=14.16'} + dev: true + + /@stencil/core@2.22.3: + resolution: {integrity: sha512-kmVA0M/HojwsfkeHsifvHVIYe4l5tin7J5+DLgtl8h6WWfiMClND5K3ifCXXI2ETDNKiEk21p6jql3Fx9o2rng==} + engines: {node: '>=12.10.0', npm: '>=6.0.0'} + hasBin: true + + /@swc/core-darwin-arm64@1.3.96: + resolution: {integrity: sha512-8hzgXYVd85hfPh6mJ9yrG26rhgzCmcLO0h1TIl8U31hwmTbfZLzRitFQ/kqMJNbIBCwmNH1RU2QcJnL3d7f69A==} + engines: {node: '>=10'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + optional: true + + /@swc/core-darwin-x64@1.3.96: + resolution: {integrity: sha512-mFp9GFfuPg+43vlAdQZl0WZpZSE8sEzqL7sr/7Reul5McUHP0BaLsEzwjvD035ESfkY8GBZdLpMinblIbFNljQ==} + engines: {node: '>=10'} + cpu: [x64] + os: [darwin] + requiresBuild: true + optional: true + + /@swc/core-linux-arm-gnueabihf@1.3.96: + resolution: {integrity: sha512-8UEKkYJP4c8YzYIY/LlbSo8z5Obj4hqcv/fUTHiEePiGsOddgGf7AWjh56u7IoN/0uEmEro59nc1ChFXqXSGyg==} + engines: {node: '>=10'} + cpu: [arm] + os: [linux] + requiresBuild: true + optional: true + + /@swc/core-linux-arm64-gnu@1.3.96: + resolution: {integrity: sha512-c/IiJ0s1y3Ymm2BTpyC/xr6gOvoqAVETrivVXHq68xgNms95luSpbYQ28rqaZC8bQC8M5zdXpSc0T8DJu8RJGw==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux] + libc: [glibc] + requiresBuild: true + optional: true + + /@swc/core-linux-arm64-musl@1.3.96: + resolution: {integrity: sha512-i5/UTUwmJLri7zhtF6SAo/4QDQJDH2fhYJaBIUhrICmIkRO/ltURmpejqxsM/ye9Jqv5zG7VszMC0v/GYn/7BQ==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux] + libc: [musl] + requiresBuild: true + optional: true + + /@swc/core-linux-x64-gnu@1.3.96: + resolution: {integrity: sha512-USdaZu8lTIkm4Yf9cogct/j5eqtdZqTgcTib4I+NloUW0E/hySou3eSyp3V2UAA1qyuC72ld1otXuyKBna0YKQ==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux] + libc: [glibc] + requiresBuild: true + optional: true + + /@swc/core-linux-x64-musl@1.3.96: + resolution: {integrity: sha512-QYErutd+G2SNaCinUVobfL7jWWjGTI0QEoQ6hqTp7PxCJS/dmKmj3C5ZkvxRYcq7XcZt7ovrYCTwPTHzt6lZBg==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux] + libc: [musl] + requiresBuild: true + optional: true + + /@swc/core-win32-arm64-msvc@1.3.96: + resolution: {integrity: sha512-hjGvvAduA3Un2cZ9iNP4xvTXOO4jL3G9iakhFsgVhpkU73SGmK7+LN8ZVBEu4oq2SUcHO6caWvnZ881cxGuSpg==} + engines: {node: '>=10'} + cpu: [arm64] + os: [win32] + requiresBuild: true + optional: true + + /@swc/core-win32-ia32-msvc@1.3.96: + resolution: {integrity: sha512-Far2hVFiwr+7VPCM2GxSmbh3ikTpM3pDombE+d69hkedvYHYZxtTF+2LTKl/sXtpbUnsoq7yV/32c9R/xaaWfw==} + engines: {node: '>=10'} + cpu: [ia32] + os: [win32] + requiresBuild: true + optional: true + + /@swc/core-win32-x64-msvc@1.3.96: + resolution: {integrity: sha512-4VbSAniIu0ikLf5mBX81FsljnfqjoVGleEkCQv4+zRlyZtO3FHoDPkeLVoy6WRlj7tyrRcfUJ4mDdPkbfTO14g==} + engines: {node: '>=10'} + cpu: [x64] + os: [win32] + requiresBuild: true + optional: true + + /@swc/core@1.3.96: + resolution: {integrity: sha512-zwE3TLgoZwJfQygdv2SdCK9mRLYluwDOM53I+dT6Z5ZvrgVENmY3txvWDvduzkV+/8IuvrRbVezMpxcojadRdQ==} + engines: {node: '>=10'} + requiresBuild: true + peerDependencies: + '@swc/helpers': ^0.5.0 + peerDependenciesMeta: + '@swc/helpers': + optional: true + dependencies: + '@swc/counter': 0.1.2 + '@swc/types': 0.1.5 + optionalDependencies: + '@swc/core-darwin-arm64': 1.3.96 + '@swc/core-darwin-x64': 1.3.96 + '@swc/core-linux-arm-gnueabihf': 1.3.96 + '@swc/core-linux-arm64-gnu': 1.3.96 + '@swc/core-linux-arm64-musl': 1.3.96 + '@swc/core-linux-x64-gnu': 1.3.96 + '@swc/core-linux-x64-musl': 1.3.96 + '@swc/core-win32-arm64-msvc': 1.3.96 + '@swc/core-win32-ia32-msvc': 1.3.96 + '@swc/core-win32-x64-msvc': 1.3.96 + + /@swc/counter@0.1.2: + resolution: {integrity: sha512-9F4ys4C74eSTEUNndnER3VJ15oru2NumfQxS8geE+f3eB5xvfxpWyqE5XlVnxb/R14uoXi6SLbBwwiDSkv+XEw==} + + /@swc/register@0.1.10(@swc/core@1.3.96): + resolution: {integrity: sha512-6STwH/q4dc3pitXLVkV7sP0Hiy+zBsU2wOF1aXpXR95pnH3RYHKIsDC+gvesfyB7jxNT9OOZgcqOp9RPxVTx9A==} + hasBin: true + peerDependencies: + '@swc/core': ^1.0.46 + dependencies: + '@swc/core': 1.3.96 + lodash.clonedeep: 4.5.0 + pirates: 4.0.5 + source-map-support: 0.5.21 + + /@swc/types@0.1.5: + resolution: {integrity: sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==} + + /@szmarczak/http-timer@1.1.2: + resolution: {integrity: sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==} + engines: {node: '>=6'} + dependencies: + defer-to-connect: 1.1.3 + dev: true + + /@szmarczak/http-timer@5.0.1: + resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} + engines: {node: '>=14.16'} + dependencies: + defer-to-connect: 2.0.1 + 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: false + + /@tanstack/query-core@4.35.3: + resolution: {integrity: sha512-PS+WEjd9wzKTyNjjQymvcOe1yg8f3wYc6mD+vb6CKyZAKvu4sIJwryfqfBULITKCla7P9C4l5e9RXePHvZOZeQ==} + dev: false + + /@tanstack/vue-query@4.35.3(@vue/composition-api@1.7.2)(vue@3.3.4): + resolution: {integrity: sha512-0uRKL0+m/Wm/rxPxeaf4afi6raJZdTw7LPi32KRnRmXPFT2jWpfwrqO2PW9FYMuAtd0PCsSek0qg/YUgtsKbiQ==} + peerDependencies: + '@vue/composition-api': ^1.1.2 + vue: ^2.5.0 || ^3.0.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + dependencies: + '@tanstack/match-sorter-utils': 8.8.4 + '@tanstack/query-core': 4.35.3 + '@vue/composition-api': 1.7.2(vue@3.3.4) + '@vue/devtools-api': 6.5.0 + vue: 3.3.4 + vue-demi: 0.13.11(@vue/composition-api@1.7.2)(vue@3.3.4) + dev: false + + /@tarojs/api@3.6.20: + resolution: {integrity: sha512-LJLYthePWUsq+Xy7IqUKv29BI1is1K861oagGVoQW6xYyLnvQx4zwU4FwlttvkA0iOtSGKf9q/KdTmheeeVrJQ==} + dependencies: + '@babel/runtime': 7.20.6 + '@tarojs/runtime': 3.6.20 + '@tarojs/shared': 3.6.20 + + /@tarojs/cli@3.6.20(postcss@8.4.19)(vue@3.3.4): + resolution: {integrity: sha512-v+ysy/W2c/DOXhC8NEjbguStrm5mhOS75YSs6M+hl6KGfbCvi7iamwPozaJ0joUw+sZbkyUMx1IawKW2nSnREg==} + engines: {node: '>=12'} + hasBin: true + dependencies: + '@tarojs/helper': 3.6.20 + '@tarojs/plugin-doctor': 0.0.11 + '@tarojs/service': 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@tarojs/shared': 3.6.20 + adm-zip: 0.4.16 + cli-highlight: 2.1.11 + download-git-repo: 2.0.0 + envinfo: 7.8.1 + eslint: 8.41.0 + glob: 7.2.3 + inquirer: 8.2.5 + joi: 17.7.0 + latest-version: 5.1.0 + lodash: 4.17.21 + mem-fs: 2.3.0 + mem-fs-editor: 9.7.0(mem-fs@2.3.0) + minimist: 1.2.8 + npm-check: 6.0.1 + ora: 5.4.1 + request: 2.88.2 + semver: 7.3.8 + validate-npm-package-name: 5.0.0 + xml2js: 0.5.0 + transitivePeerDependencies: + - '@swc/helpers' + - '@types/react' + - '@types/webpack' + - '@types/webpack-dev-server' + - postcss + - supports-color + - vue + dev: true + + /@tarojs/components-advanced@3.6.20(vue@3.3.4): + resolution: {integrity: sha512-ICWw2rcTDfLWS1BinCDwD7yuxBwMFI4hWE1bs5SdYuJnhTkrXKs3wRpqO8J5+H9sud9GGmL4OhjURySS046T9w==} + peerDependencies: + react: '>=17' + vue: '*' + peerDependenciesMeta: + react: + optional: true + vue: + optional: true + dependencies: + '@tarojs/components': 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@tarojs/runtime': 3.6.20 + '@tarojs/shared': 3.6.20 + '@tarojs/taro': 3.6.20(postcss@8.4.19)(vue@3.3.4) + classnames: 2.3.2 + csstype: 3.1.2 + memoize-one: 6.0.0 + postcss: 8.4.19 + vue: 3.3.4 + transitivePeerDependencies: + - '@types/react' + - '@types/react-native' + - '@types/webpack' + - '@types/webpack-dev-server' + + /@tarojs/components@3.6.20(postcss@8.4.19)(vue@3.3.4): + resolution: {integrity: sha512-4FC3q6BQSJmX8ioTu7t0e/FqjfovpbZkORfQmcbsFtcAKy+4S9W+NRjEfF7ywkfsuVMbF4vizy4VhdYWmuUJNA==} + peerDependencies: + '@types/react': '*' + '@types/react-native': '*' + vue: '*' + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-native': + optional: true + vue: + optional: true + dependencies: + '@stencil/core': 2.22.3 + '@tarojs/components-advanced': 3.6.20(vue@3.3.4) + '@tarojs/router': 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@tarojs/taro': 3.6.20(postcss@8.4.19)(vue@3.3.4) + classnames: 2.3.2 + hls.js: 1.2.8 + intersection-observer: 0.7.0 + resolve-pathname: 3.0.0 + swiper: 6.8.0 + vue: 3.3.4 + weui: 1.1.3 + transitivePeerDependencies: + - '@types/webpack' + - '@types/webpack-dev-server' + - postcss + - react + + /@tarojs/helper@3.6.20: + resolution: {integrity: sha512-sKsvv//FR2rfKfg2P+geMc2f69kSSgLpSr3e0B1CnGdzfI9CROVt2SKGo4jcrDVpDuRMbitfX4HsaMalOdzRfQ==} + dependencies: + '@babel/core': 7.20.5 + '@babel/parser': 7.21.4 + '@babel/plugin-proposal-decorators': 7.20.5(@babel/core@7.20.5) + '@babel/plugin-proposal-object-rest-spread': 7.20.2(@babel/core@7.20.5) + '@babel/plugin-transform-runtime': 7.19.6(@babel/core@7.20.5) + '@babel/preset-env': 7.20.2(@babel/core@7.20.5) + '@babel/preset-typescript': 7.18.6(@babel/core@7.20.5) + '@babel/register': 7.18.9(@babel/core@7.20.5) + '@babel/runtime': 7.20.6 + '@babel/traverse': 7.20.5 + '@swc/core': 1.3.96 + '@swc/register': 0.1.10(@swc/core@1.3.96) + ansi-escapes: 4.3.2 + chalk: 3.0.0 + chokidar: 3.5.3 + cross-spawn: 7.0.3 + debug: 4.3.4 + dotenv: 16.0.3 + dotenv-expand: 9.0.0 + esbuild: 0.19.9 + find-yarn-workspace-root: 2.0.0 + fs-extra: 8.1.0 + lodash: 4.17.21 + require-from-string: 2.0.2 + resolve: 1.22.1 + supports-hyperlinks: 2.3.0 + yauzl: 2.10.0 + transitivePeerDependencies: + - '@swc/helpers' + - supports-color + + /@tarojs/plugin-doctor-darwin-arm64@0.0.11: + resolution: {integrity: sha512-H3C0TQD7k9YalSR2kgrVEvP1TfhSeRQDQQXhSurLStNuTqhrk8JSzxbxYC/Of5edM/uu+5xOzT0YfMV2LKG5UA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@tarojs/plugin-doctor-darwin-universal@0.0.11: + resolution: {integrity: sha512-iZXID/UBsFGkouXJV/g/UTogPJ9IqCNmqCQ/bTZYNnIPHxxCUVZj7R1or8f/RJk3IHi0WroZHVbkz/NF9IqMVA==} + engines: {node: '>= 10'} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@tarojs/plugin-doctor-darwin-x64@0.0.11: + resolution: {integrity: sha512-wNFty0LOq0lX2WMG3ea0IYsvSq0Y1Z24zIumSfnsL8R3x3AaKQBf0d/nzY++Wp0Kc7rEskS9gtYR7Z0b4oB9tA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@tarojs/plugin-doctor-freebsd-x64@0.0.11: + resolution: {integrity: sha512-ymFqr5w8CdEvYMQS3zzRfmiAe/6yFF8b2sufvHHbggLDgdDoAQfOuXAMHH0tK4TQTM6hXdHi2Ii3xwGPFczPGg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@tarojs/plugin-doctor-linux-arm-gnueabihf@0.0.11: + resolution: {integrity: sha512-Ti8g3/WyD/kPOV9RAQB/jZwLivwdf9v9ZmdPUb4T56c4ehhD7cOCInhc5/0TrDR2b882vTnVc3GLAgG/EiFliw==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@tarojs/plugin-doctor-linux-arm64-gnu@0.0.11: + resolution: {integrity: sha512-oirqs+UYX6lKNxjFW6zpUGliW3ovC/v3fw76c4E8I18KVgTTRLpcqDiXPBgId0cyr3xdtKG0idzE5RXL/cNJFg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [glibc] + requiresBuild: true + dev: true + optional: true + + /@tarojs/plugin-doctor-linux-arm64-musl@0.0.11: + resolution: {integrity: sha512-SXes1wj2MLQod50+9sgSZlN4eli3VXVxMNqdk03ArrWtFURCpuDiHwRERjoqlo91Hf4IxU6zU7ml86gPZ0dkaw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + libc: [musl] + requiresBuild: true + dev: true + optional: true + + /@tarojs/plugin-doctor-linux-x64-gnu@0.0.11: + resolution: {integrity: sha512-nyW2tjzYA8nw39pKpaYtpGbEOZNRTV97Ir+UEvsuZbAr5F1lV2Q+2IwN8dGY41/lXw9JQay6FDRqUPRXAMB4kw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [glibc] + requiresBuild: true + dev: true + optional: true + + /@tarojs/plugin-doctor-linux-x64-musl@0.0.11: + resolution: {integrity: sha512-epKcAwJdVYMGmeWdqGZrdOS+nhDz4SiGlZqYMcDjSlGK7OM0wlSor6xpz59adYVe86t/a/gjimu5IT2ofVEfsA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + libc: [musl] + requiresBuild: true + dev: true + optional: true + + /@tarojs/plugin-doctor-win32-ia32-msvc@0.0.11: + resolution: {integrity: sha512-UBKdbbtDK1QmsRZiKEjo+TtSt+E/ljIzx5wbDna2yEuDtJqBwNg6SqkYg3LxUiJK8O5hwwVJGdJWI9a9bHpI8w==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@tarojs/plugin-doctor-win32-x64-msvc@0.0.11: + resolution: {integrity: sha512-2ABKPwTpT93PIk6+s/cGGUnu32OcyfAzz5y9gpLQ/i3XwysPSBq9Lt6Z1VCD2DVPnloIdWU+NYk5gXhCoWZV5A==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@tarojs/plugin-doctor@0.0.11: + resolution: {integrity: sha512-oHxEGMQwtls2ZFUkhVho1U3RSYhlNvKeIJMVzxgCMrgCBqJcGdGKhNLDpgqvGqqRuSs9iSMBrC9QMY8xsmRo4g==} + engines: {node: '>= 10'} + dependencies: + eslint: 8.41.0 + glob: 10.2.6 + optionalDependencies: + '@tarojs/plugin-doctor-darwin-arm64': 0.0.11 + '@tarojs/plugin-doctor-darwin-universal': 0.0.11 + '@tarojs/plugin-doctor-darwin-x64': 0.0.11 + '@tarojs/plugin-doctor-freebsd-x64': 0.0.11 + '@tarojs/plugin-doctor-linux-arm-gnueabihf': 0.0.11 + '@tarojs/plugin-doctor-linux-arm64-gnu': 0.0.11 + '@tarojs/plugin-doctor-linux-arm64-musl': 0.0.11 + '@tarojs/plugin-doctor-linux-x64-gnu': 0.0.11 + '@tarojs/plugin-doctor-linux-x64-musl': 0.0.11 + '@tarojs/plugin-doctor-win32-ia32-msvc': 0.0.11 + '@tarojs/plugin-doctor-win32-x64-msvc': 0.0.11 + transitivePeerDependencies: + - supports-color + dev: true + + /@tarojs/plugin-framework-vue3@3.6.20(postcss@8.4.19)(vue@3.3.4): + resolution: {integrity: sha512-F3Cw3BIP/4rv0Whr6oYEiSzJKl2Xvx321FiSDFk/E+IOu2h4Q1mqBJSpQe3ZVdJjvBu/KLUyVm27mAz8hxftNw==} + peerDependencies: + vue: ^3.0.0 + dependencies: + '@tarojs/helper': 3.6.20 + '@tarojs/runner-utils': 3.6.20 + '@tarojs/runtime': 3.6.20 + '@tarojs/service': 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@tarojs/shared': 3.6.20 + lodash: 4.17.21 + vue: 3.3.4 + transitivePeerDependencies: + - '@swc/helpers' + - '@types/react' + - '@types/webpack' + - '@types/webpack-dev-server' + - postcss + - supports-color + dev: false + + /@tarojs/plugin-html@3.6.20(postcss@8.4.19)(vue@3.3.4): + resolution: {integrity: sha512-yhx5Duc2MU+qf77lQiifMjZWWLF3BHJN1X9BhoCfjE6rdV1jX7HGIPp/QN5NcpVnqjQGsZh1uvzxce18h9ZgOw==} + dependencies: + '@babel/generator': 7.20.5 + '@babel/parser': 7.21.4 + '@babel/traverse': 7.20.5 + '@babel/types': 7.21.4 + '@tarojs/runtime': 3.6.20 + '@tarojs/service': 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@tarojs/shared': 3.6.20 + transitivePeerDependencies: + - '@swc/helpers' + - '@types/react' + - '@types/webpack' + - '@types/webpack-dev-server' + - postcss + - supports-color + - vue + dev: false + + /@tarojs/plugin-http@3.6.20(postcss@8.4.19)(vue@3.3.4): + resolution: {integrity: sha512-wK1WqCn8JZIjwMl+Yim+9+6oDOWutDSAaJJ/F/fE3qIsMcEYddqxssb2QyBdUXMnZ1vDGNlPsBx+mFin2OFXwA==} + dependencies: + '@tarojs/runtime': 3.6.20 + '@tarojs/service': 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@tarojs/shared': 3.6.20 + transitivePeerDependencies: + - '@swc/helpers' + - '@types/react' + - '@types/webpack' + - '@types/webpack-dev-server' + - postcss + - supports-color + - vue + dev: false + + /@tarojs/plugin-mock@0.0.9: + resolution: {integrity: sha512-Q4z4lHp2mHVByQJ8gtIq0Rct8vkEqvCmyTmv+EJNf9sJY3F5H1fmDNfgMVn2fyZj7TmxuSMq/FDtgNlEA4eTow==} + dependencies: + body-parser: 1.20.1 + cors: 2.8.5 + express: 4.18.2 + get-port: 5.1.1 + glob: 7.2.3 + http-proxy-middleware: 1.3.1 + path-to-regexp: 6.2.1 + transitivePeerDependencies: + - debug + - supports-color + dev: true + + /@tarojs/plugin-platform-alipay@3.6.20(postcss@8.4.19)(vue@3.3.4): + resolution: {integrity: sha512-mQ5GQfKc+PfuCwkhW8BpXSBx5IGOAFqna/ZphJGM+M38HlPOOPh7z7O4KKfBwK2p2hnIIJF/ny1bXUsBn7YA0A==} + dependencies: + '@tarojs/components': 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@tarojs/service': 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@tarojs/shared': 3.6.20 + transitivePeerDependencies: + - '@swc/helpers' + - '@types/react' + - '@types/react-native' + - '@types/webpack' + - '@types/webpack-dev-server' + - postcss + - react + - supports-color + - vue + + /@tarojs/plugin-platform-jd@3.6.20(postcss@8.4.19)(vue@3.3.4): + resolution: {integrity: sha512-hpYO9W2J5LM4owVw1rOl0hnkZDOglW0Jx5O3BNtuH/pFKbsp0emyEIhIAoHkv0qTxfwYYB2ajj1Az6UY97XgGw==} + dependencies: + '@tarojs/service': 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@tarojs/shared': 3.6.20 + transitivePeerDependencies: + - '@swc/helpers' + - '@types/react' + - '@types/webpack' + - '@types/webpack-dev-server' + - postcss + - supports-color + - vue + + /@tarojs/plugin-platform-qq@3.6.20(postcss@8.4.19)(vue@3.3.4): + resolution: {integrity: sha512-xWaMpHWG1nt4IZVD3XSQYqutpwm2FdRp9dV0yMLn9i1ULwMaao2325b+ZftkjLDWxxF+Kq7VNtcGgBK3T/uPTQ==} + dependencies: + '@tarojs/plugin-platform-weapp': 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@tarojs/service': 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@tarojs/shared': 3.6.20 + transitivePeerDependencies: + - '@swc/helpers' + - '@types/react' + - '@types/react-native' + - '@types/webpack' + - '@types/webpack-dev-server' + - postcss + - supports-color + - vue + + /@tarojs/plugin-platform-swan@3.6.20(postcss@8.4.19)(vue@3.3.4): + resolution: {integrity: sha512-1PoJR69E0UjOFj3KiETK3qc93LvDCme0inLsyx5/RIoLjBGuBuAclJtGWNjFClj9WNWKNwooh97lpuyD9OcMzw==} + dependencies: + '@tarojs/components': 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@tarojs/service': 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@tarojs/shared': 3.6.20 + transitivePeerDependencies: + - '@swc/helpers' + - '@types/react' + - '@types/react-native' + - '@types/webpack' + - '@types/webpack-dev-server' + - postcss + - supports-color + - vue + + /@tarojs/plugin-platform-tt@3.6.20(postcss@8.4.19)(vue@3.3.4): + resolution: {integrity: sha512-/821/9MaMnCy1j6OGI8srVDWqjlaNSH8EuERojBYFCbEaPbfQCZr+85BEHIO/T2Ijq12Wl4IgftgkGLbQFn3LQ==} + dependencies: + '@tarojs/components': 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@tarojs/service': 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@tarojs/shared': 3.6.20 + transitivePeerDependencies: + - '@swc/helpers' + - '@types/react' + - '@types/react-native' + - '@types/webpack' + - '@types/webpack-dev-server' + - postcss + - supports-color + - vue + + /@tarojs/plugin-platform-weapp@3.6.20(postcss@8.4.19)(vue@3.3.4): + resolution: {integrity: sha512-ryxsbsAmULe58+2yZ/qg7tjrKqjhlCxQShmtzXrPRQyO7vUH1L5lgT5gWUdnYbTX8WR3zq9yeimjMUdfE3E+Nw==} + dependencies: + '@tarojs/components': 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@tarojs/service': 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@tarojs/shared': 3.6.20 + transitivePeerDependencies: + - '@swc/helpers' + - '@types/react' + - '@types/react-native' + - '@types/webpack' + - '@types/webpack-dev-server' + - postcss + - supports-color + - vue + + /@tarojs/plugin-vue-devtools@3.6.20(postcss@8.4.19)(vue@3.3.4): + resolution: {integrity: sha512-NFcNSjIHbrIlhVjiR9U5glwoPKIz2LBzBhIwi6RRxAx/3+aeVltWblHmALgGk7U3cSBizoKYSJGbDczrqyhAUQ==} + dependencies: + '@tarojs/helper': 3.6.20 + '@tarojs/service': 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@tarojs/shared': 3.6.20 + '@tarojs/taro': 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@vue/devtools': 6.0.0-beta.15 + cross-spawn: 7.0.3 + detect-port: 1.5.1 + transitivePeerDependencies: + - '@swc/helpers' + - '@types/react' + - '@types/webpack' + - '@types/webpack-dev-server' + - bufferutil + - postcss + - supports-color + - utf-8-validate + - vue + dev: true + + /@tarojs/router@3.6.20(postcss@8.4.19)(vue@3.3.4): + resolution: {integrity: sha512-YMMfbYbKyN9OhtCjvBrSgwE9PDlWGwDpqxkrA+IGzyxDgIg5WYGZzgp5K0H0FSPU9c7WjSBTUg33E8v2wXAiHw==} + dependencies: + '@tarojs/runtime': 3.6.20 + '@tarojs/taro': 3.6.20(postcss@8.4.19)(vue@3.3.4) + dingtalk-jsapi: 2.15.4 + history: 5.3.0 + mobile-detect: 1.4.5 + query-string: 7.1.1 + universal-router: 8.3.0 + transitivePeerDependencies: + - '@types/react' + - '@types/webpack' + - '@types/webpack-dev-server' + - postcss + - vue + + /@tarojs/runner-utils@3.6.20: + resolution: {integrity: sha512-EkQ8dKRGSe+T2Q1SQWS94uKjKA/mCl00Z+ksi+2WPS6wvK6LrrlZDAo6Puzu+d10FaSs9OWoQrul0cnYaa9Rdg==} + dependencies: + '@tarojs/helper': 3.6.20 + scss-bundle: 3.1.2 + transitivePeerDependencies: + - '@swc/helpers' + - supports-color + + /@tarojs/runtime@3.6.20: + resolution: {integrity: sha512-9mcT8BZYrAhlouRKlMdicrAkgLNe4GvOTmReUAu24ZH/nV9GnwVt9SqSzz5vjZJGynjEcYLEROwCfyqKNKbDEA==} + dependencies: + '@tarojs/shared': 3.6.20 + lodash-es: 4.17.21 + + /@tarojs/service@3.6.20(postcss@8.4.19)(vue@3.3.4): + resolution: {integrity: sha512-dV6OxUhAsble6AAuzXCAkzDk1U7RQH9RwB8l39vbSQDsaZaHey/t99/MmahsFJKc2F30mPMtBqqq1OTFzNGV/Q==} + dependencies: + '@tarojs/helper': 3.6.20 + '@tarojs/shared': 3.6.20 + '@tarojs/taro': 3.6.20(postcss@8.4.19)(vue@3.3.4) + joi: 17.7.0 + lodash: 4.17.21 + ora: 5.4.1 + resolve: 1.22.1 + tapable: 1.1.3 + webpack-merge: 4.2.2 + transitivePeerDependencies: + - '@swc/helpers' + - '@types/react' + - '@types/webpack' + - '@types/webpack-dev-server' + - postcss + - supports-color + - vue + + /@tarojs/shared@3.6.20: + resolution: {integrity: sha512-JYi4T9T1M8foB7jnrWBW+ssOMNqA1eR30aY463zsxFGaeU5bn4qihvCOAo//03szVPN7h7L7k0c1Q4GSSWgLaQ==} + + /@tarojs/taro-h5@3.6.20(postcss@8.4.19)(vue@3.3.4): + resolution: {integrity: sha512-L1UVwGur81qCBa1TLu1dqffcB7OEybiFy1m7A8kq7DlSS2/sbt5jlXaF9HSs6jZFQvyuH705lpaypqoZ2pIz3w==} + dependencies: + '@tarojs/api': 3.6.20 + '@tarojs/components': 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@tarojs/router': 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@tarojs/runtime': 3.6.20 + '@tarojs/shared': 3.6.20 + abortcontroller-polyfill: 1.7.5 + base64-js: 1.5.1 + ics: 3.5.0 + intersection-observer: 0.7.0 + jsonp-retry: 1.0.3 + lodash-es: 4.17.21 + query-string: 7.1.1 + whatwg-fetch: 3.6.2 + transitivePeerDependencies: + - '@types/react' + - '@types/react-native' + - '@types/webpack' + - '@types/webpack-dev-server' + - postcss + - vue + dev: false + + /@tarojs/taro-loader@3.6.20(postcss@8.4.19)(vue@3.3.4): + resolution: {integrity: sha512-sPRGGa9uKViRJ2XJyNSAh2jVY0ehF04go+VC1G8wcv3sYbX+LIau1cPFKkzhCecXJ3uM/2I/PJ4ji29LIRhCXA==} + dependencies: + '@tarojs/helper': 3.6.20 + '@tarojs/taro': 3.6.20(postcss@8.4.19)(vue@3.3.4) + loader-utils: 1.4.2 + transitivePeerDependencies: + - '@swc/helpers' + - '@types/react' + - '@types/webpack' + - '@types/webpack-dev-server' + - postcss + - supports-color + - vue + dev: true + + /@tarojs/taro@3.6.20(postcss@8.4.19)(vue@3.3.4): + resolution: {integrity: sha512-WvOIRykOI5d/1eDpqmaWdB4ydqwBMCv3r3rbEe4z7T6q3DL0BnKSLpaYTzc6xoUeH6TXIpRTp3uqblHcIloxwg==} + peerDependencies: + '@types/react': '*' + '@types/webpack': '*' + '@types/webpack-dev-server': '*' + postcss: '*' + vue: '*' + peerDependenciesMeta: + '@types/react': + optional: true + '@types/webpack': + optional: true + '@types/webpack-dev-server': + optional: true + postcss: + optional: true + vue: + optional: true + dependencies: + '@tarojs/api': 3.6.20 + '@tarojs/runtime': 3.6.20 + postcss: 8.4.19 + vue: 3.3.4 + + /@tarojs/webpack5-prebundle@3.6.20(postcss@8.4.19)(vue@3.3.4)(webpack@5.79.0): + resolution: {integrity: sha512-Z32EG/fjoHI0bQGl2xZdFWzZq2OlfRUHqsIWAiDmPYkSzJLVMKD1sanlA90ApRuTE1EwuZyNknIpwBI9XpXvgg==} + peerDependencies: + webpack: ^5.78.0 + dependencies: + '@tarojs/helper': 3.6.20 + '@tarojs/shared': 3.6.20 + '@tarojs/taro': 3.6.20(postcss@8.4.19)(vue@3.3.4) + enhanced-resolve: 5.12.0 + es-module-lexer: 0.10.5 + lodash: 4.17.21 + webpack: 5.79.0(@swc/core@1.3.96) + webpack-chain: 6.5.1 + webpack-virtual-modules: 0.5.0 + transitivePeerDependencies: + - '@swc/helpers' + - '@types/react' + - '@types/webpack' + - '@types/webpack-dev-server' + - postcss + - supports-color + - vue + dev: true + + /@tarojs/webpack5-runner@3.6.20(@babel/core@7.20.5)(@swc/core@1.3.96)(@vue/compiler-sfc@3.2.45)(cache-loader@4.1.0)(postcss@8.4.19)(prettier@2.7.1)(typescript@5.2.2)(vue@3.3.4)(webpack@5.79.0): + resolution: {integrity: sha512-yqoyejUUh8Y9EhARRcJ4hfqIQkjoj3K1JlstpNPPsnzeaSOK9hp9sUzost10qAORHLi5je8LDMmbNAaui7xSQg==} + peerDependencies: + postcss: ^8.4.18 + webpack: ^5.78.0 + dependencies: + '@parcel/css': 1.14.0 + '@tarojs/helper': 3.6.20 + '@tarojs/plugin-platform-alipay': 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@tarojs/plugin-platform-jd': 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@tarojs/plugin-platform-qq': 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@tarojs/plugin-platform-swan': 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@tarojs/plugin-platform-tt': 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@tarojs/plugin-platform-weapp': 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@tarojs/runner-utils': 3.6.20 + '@tarojs/runtime': 3.6.20 + '@tarojs/shared': 3.6.20 + '@tarojs/taro': 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@tarojs/taro-loader': 3.6.20(postcss@8.4.19)(vue@3.3.4) + '@tarojs/webpack5-prebundle': 3.6.20(postcss@8.4.19)(vue@3.3.4)(webpack@5.79.0) + acorn-walk: 8.2.0 + autoprefixer: 9.8.8 + babel-loader: 8.2.1(@babel/core@7.20.5)(webpack@5.79.0) + copy-webpack-plugin: 10.2.0(webpack@5.79.0) + css-loader: 6.7.3(webpack@5.79.0) + css-minimizer-webpack-plugin: 3.4.1(@parcel/css@1.14.0)(csso@5.0.5)(esbuild@0.19.9)(webpack@5.79.0) + csso: 5.0.5 + detect-port: 1.5.1 + esbuild: 0.19.9 + esbuild-loader: 2.18.0(webpack@5.79.0) + file-loader: 6.0.0(webpack@5.79.0) + html-minifier: 4.0.0 + html-webpack-plugin: 5.5.0(webpack@5.79.0) + jsdom: 21.1.1 + less: 4.1.3 + less-loader: 10.2.0(less@4.1.3)(webpack@5.79.0) + loader-utils: 1.4.2 + lodash: 4.17.21 + md5: 2.3.0 + micromatch: 4.0.5 + mini-css-extract-plugin: 2.4.6(webpack@5.79.0) + miniprogram-simulate: 1.5.7 + mkdirp: 1.0.4 + ora: 5.4.1 + postcss: 8.4.19 + postcss-html-transform: 3.6.20(postcss@8.4.19) + postcss-import: 14.1.0(postcss@8.4.19) + postcss-loader: 7.3.3(postcss@8.4.19)(typescript@5.2.2)(webpack@5.79.0) + postcss-plugin-constparse: 3.6.20(postcss@8.4.19) + postcss-pxtransform: 3.6.20(postcss@8.4.19) + postcss-url: 10.1.3(postcss@8.4.19) + regenerator-runtime: 0.11.1 + resolve: 1.22.1 + resolve-url-loader: 5.0.0 + sass: 1.50.0 + sass-loader: 12.4.0(sass@1.50.0)(webpack@5.79.0) + sax: 1.2.4 + style-loader: 3.3.1(webpack@5.79.0) + stylus: 0.55.0 + stylus-loader: 6.2.0(stylus@0.55.0)(webpack@5.79.0) + terser-webpack-plugin: 5.3.7(@swc/core@1.3.96)(esbuild@0.19.9)(webpack@5.79.0) + url-loader: 4.1.0(file-loader@6.0.0)(webpack@5.79.0) + vm2: 3.9.11 + vue-loader: 15.10.2(@vue/compiler-sfc@3.2.45)(cache-loader@4.1.0)(css-loader@6.7.3)(lodash@4.17.21)(prettier@2.7.1)(webpack@5.79.0) + webpack: 5.79.0(@swc/core@1.3.96) + webpack-chain: 6.5.1 + webpack-dev-server: 4.11.1(webpack@5.79.0) + webpack-format-messages: 2.0.6 + webpackbar: 5.0.2(webpack@5.79.0) + transitivePeerDependencies: + - '@babel/core' + - '@swc/core' + - '@swc/helpers' + - '@types/react' + - '@types/react-native' + - '@types/webpack' + - '@types/webpack-dev-server' + - '@vue/compiler-sfc' + - arc-templates + - atpl + - babel-core + - bracket-template + - bufferutil + - cache-loader + - canvas + - clean-css + - coffee-script + - debug + - dot + - dust + - dustjs-helpers + - dustjs-linkedin + - eco + - ect + - ejs + - fibers + - haml-coffee + - hamlet + - hamljs + - handlebars + - hogan.js + - htmling + - jade + - jazz + - jqtpl + - just + - liquid-node + - liquor + - marko + - mote + - mustache + - node-sass + - nunjucks + - plates + - prettier + - pug + - qejs + - ractive + - razor-tmpl + - react + - react-dom + - slm + - squirrelly + - supports-color + - swig + - swig-templates + - teacup + - templayed + - then-jade + - then-pug + - tinyliquid + - toffee + - twig + - twing + - typescript + - uglify-js + - underscore + - utf-8-validate + - vash + - velocityjs + - vue + - vue-template-compiler + - walrus + - webpack-cli + - whiskers + dev: true + + /@tencentcloud/call-uikit-vue2.6@3.1.8(vue@3.3.4): + resolution: {integrity: sha512-2Ytto0cArduLEoUrPKCMHybclbRuF84LVHMeKmCp/Udr+spI1c1CemZZ+VtNO/kaAT76WR5I7A7GxOd5dpn6UQ==} + dependencies: + '@tencentcloud/tui-core': 2.0.4 + '@vue/composition-api': 1.7.2(vue@3.3.4) + tuicall-engine-webrtc: 3.0.0 + transitivePeerDependencies: + - vue + dev: false + + /@tencentcloud/call-uikit-vue@3.1.8: + resolution: {integrity: sha512-lGxfIbKpdiu1NZ+r3kaaG+MkR0AZOTHwwMPnT9M095fen4WKb35569s7HPLldTFSSGBV9a0LVEFhWTxN6wTotQ==} + dependencies: + '@tencentcloud/tui-core': 2.0.4 + tuicall-engine-webrtc: 3.0.0 + dev: false + + /@tencentcloud/call-uikit-wechat@3.1.8: + resolution: {integrity: sha512-Pcx/OSZhuQobkGEW9qkoVTlpHCivSubexkbi3fCWzNu6fF7uWpyralfBYk3rZlrxq1kCH1Tkmc75rcTor9FKOg==} + dependencies: + '@tencentcloud/tui-core': 2.0.4 + tuicall-engine-wx: 2.1.3 + dev: false + + /@tencentcloud/chat-uikit-engine@2.0.3: + resolution: {integrity: sha512-UMAEsXOuZ+cgp97ebWnZRoOCRRzV/y0ONdvTF7bn4X+dVAYTTFxvrS4vGVC+6HNjGs3rZZc74ZmJCEVELSfkLA==} + dependencies: + '@tencentcloud/chat': 3.2.5 + tim-profanity-filter-plugin: 1.1.0 + tim-upload-plugin: 1.3.0 + dev: false + + /@tencentcloud/chat-uikit-engine@2.0.4: + resolution: {integrity: sha512-MK9O5/jQX42EWblOvJr2paF9Gpr3nBeVlgMSSreg8qF6iRm523Peq6jucswY6NMF0E60RAf1haW+wJSRWI6dcA==} + dependencies: + '@tencentcloud/chat': 3.2.5 + tim-profanity-filter-plugin: 1.1.0 + tim-upload-plugin: 1.3.0 + dev: false + + /@tencentcloud/chat-uikit-uniapp@2.0.3(@vue/runtime-dom@3.3.4)(vue@3.3.4)(webpack@5.79.0): + resolution: {integrity: sha512-9zjM6lUN6ZcW+oGRomxOPiMRj1E13H9lMCQiwoLEeo/YS2OozbhNmiHx1C96iwDzL60aXslKtzhRUySmKBOJBg==} + dependencies: + '@tencentcloud/call-uikit-vue': 3.1.8 + '@tencentcloud/call-uikit-vue2.6': 3.1.8(vue@3.3.4) + '@tencentcloud/call-uikit-wechat': 3.1.8 + '@tencentcloud/chat-uikit-engine': 2.0.4 + '@tencentcloud/tui-core': 2.0.4 + '@tencentcloud/tui-customer-service-plugin': 2.0.4(@tencentcloud/tui-core@2.0.4)(@vue/composition-api@1.7.2)(vue@3.3.4) + '@types/lodash': 4.14.202 + '@vue/composition-api': 1.7.2(vue@3.3.4) + dayjs: 1.11.10 + lodash: 4.17.21 + sass: 1.50.0 + sass-loader: 8.0.2(sass@1.50.0)(webpack@5.79.0) + typescript: 4.9.5 + unplugin-vue2-script-setup: 0.11.4(@vue/composition-api@1.7.2)(@vue/runtime-dom@3.3.4) + transitivePeerDependencies: + - '@vue/runtime-dom' + - fibers + - node-sass + - pug + - rollup + - supports-color + - vue + - webpack + dev: false + + /@tencentcloud/chat@3.2.5: + resolution: {integrity: sha512-+bFAUYmAXmZYIdGO/d4i8TG3aJna6U8/30Y8qM45APuXSb6n9q3r/482JrAsBMHc5KaIUbA3EW636cxvl5CKZg==} + dev: false + + /@tencentcloud/tui-core@2.0.4: + resolution: {integrity: sha512-Z7kUZBDUzE15NtMrxMmxyp33P+ijTN228tzBesm6mu5CVd+ZsOeVRRrqSpIsr3NcbJF6UkJPJzil0OgCzCHZUA==} + dependencies: + '@tencentcloud/chat': 3.2.5 + tim-profanity-filter-plugin: 1.1.0 + tim-upload-plugin: 1.3.0 + dev: false + + /@tencentcloud/tui-customer-service-plugin@2.0.3(@tencentcloud/tui-core@2.0.4)(@vue/composition-api@1.7.2)(vue@3.3.4): + resolution: {integrity: sha512-rATSTNEBvaZU3cvTh+mEiImJm5UTCcKGa7ORxUVjdHzxjNwViJJ32RspHUSo5G/3cTkt5SB8JN+lD5gKSnfTiw==} + peerDependencies: + '@tencentcloud/tui-core': latest + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^2.0.0 || >=3.0.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + dependencies: + '@tencentcloud/tui-core': 2.0.4 + '@vue/composition-api': 1.7.2(vue@3.3.4) + vue: 3.3.4 + dev: false + + /@tencentcloud/tui-customer-service-plugin@2.0.4(@tencentcloud/tui-core@2.0.4)(@vue/composition-api@1.7.2)(vue@3.3.4): + resolution: {integrity: sha512-Zo87O/1/nR4ZpEtMZ5KH9eAv+pWojgshf3J5x3iY+L6EOCg/kFXD7L/DjoSoKiqSd9F8HklTm9DigUzUYFbAxQ==} + peerDependencies: + '@tencentcloud/tui-core': latest + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^2.0.0 || >=3.0.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + dependencies: + '@tencentcloud/tui-core': 2.0.4 + '@vue/composition-api': 1.7.2(vue@3.3.4) + vue: 3.3.4 + dev: false + + /@tootallnate/once@1.1.2: + resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} + engines: {node: '>= 6'} + dev: true + + /@tootallnate/once@2.0.0: + resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} + engines: {node: '>= 10'} + dev: true + + /@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.3: + resolution: {integrity: sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==} + dev: true + + /@types/archy@0.0.31: + resolution: {integrity: sha512-v+dxizsFVyXgD3EpFuqT9YjdEjbJmPxNf1QIX9ohZOhxh1ZF2yhqv3vYaeum9lg3VghhxS5S0a6yldN9J9lPEQ==} + + /@types/body-parser@1.19.2: + resolution: {integrity: sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==} + dependencies: + '@types/connect': 3.4.35 + '@types/node': 20.5.1 + dev: true + + /@types/bonjour@3.5.10: + resolution: {integrity: sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==} + dependencies: + '@types/node': 20.5.1 + dev: true + + /@types/connect-history-api-fallback@1.3.5: + resolution: {integrity: sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==} + dependencies: + '@types/express-serve-static-core': 4.17.31 + '@types/node': 20.5.1 + dev: true + + /@types/connect@3.4.35: + resolution: {integrity: sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==} + dependencies: + '@types/node': 20.5.1 + dev: true + + /@types/crypto-js@4.1.1: + resolution: {integrity: sha512-BG7fQKZ689HIoc5h+6D2Dgq1fABRa0RbBWKBd9SP/MVRVXROflpm5fhwyATX5duFmbStzyzyycPB8qUYKDH3NA==} + dev: true + + /@types/debug@4.1.7: + resolution: {integrity: sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==} + dependencies: + '@types/ms': 0.7.31 + + /@types/eslint-scope@3.7.4: + resolution: {integrity: sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==} + dependencies: + '@types/eslint': 8.4.10 + '@types/estree': 1.0.1 + + /@types/eslint@8.4.10: + resolution: {integrity: sha512-Sl/HOqN8NKPmhWo2VBEPm0nvHnu2LL3v9vKo8MEq0EtbJ4eVzGPl41VNPvn5E1i5poMk4/XD8UriLHpJvEP/Nw==} + dependencies: + '@types/estree': 1.0.1 + '@types/json-schema': 7.0.15 + + /@types/estree@1.0.1: + resolution: {integrity: sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==} + + /@types/expect@1.20.4: + resolution: {integrity: sha512-Q5Vn3yjTDyCMV50TB6VRIbQNxSE4OmZR86VSbGaNpfUolm0iePBB4KdEEHmxoY5sT2+2DIvXW0rvMDP2nHZ4Mg==} + dev: true + + /@types/express-serve-static-core@4.17.31: + resolution: {integrity: sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q==} + dependencies: + '@types/node': 20.5.1 + '@types/qs': 6.9.7 + '@types/range-parser': 1.2.4 + dev: true + + /@types/express@4.17.14: + resolution: {integrity: sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg==} + dependencies: + '@types/body-parser': 1.19.2 + '@types/express-serve-static-core': 4.17.31 + '@types/qs': 6.9.7 + '@types/serve-static': 1.15.0 + dev: true + + /@types/fs-extra@8.1.2: + resolution: {integrity: sha512-SvSrYXfWSc7R4eqnOzbQF4TZmfpNSM9FrSWLU3EUnWBuyZqNBOrv1B1JA3byUDPUl9z4Ab3jeZG2eDdySlgNMg==} + dependencies: + '@types/node': 20.5.1 + + /@types/glob@7.2.0: + resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} + dependencies: + '@types/minimatch': 5.1.2 + '@types/node': 20.5.1 + + /@types/html-minifier-terser@6.1.0: + resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==} + dev: true + + /@types/http-cache-semantics@4.0.1: + resolution: {integrity: sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ==} + dev: true + + /@types/http-proxy@1.17.9: + resolution: {integrity: sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==} + dependencies: + '@types/node': 20.5.1 + dev: true + + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + /@types/keyv@3.1.4: + resolution: {integrity: sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg==} + dependencies: + '@types/node': 20.5.1 + dev: true + + /@types/lodash.debounce@4.0.7: + resolution: {integrity: sha512-X1T4wMZ+gT000M2/91SYj0d/7JfeNZ9PeeOldSNoE/lunLeQXKvkmIumI29IaKMotU/ln/McOIvgzZcQ/3TrSA==} + dependencies: + '@types/lodash': 4.14.202 + + /@types/lodash@4.14.198: + resolution: {integrity: sha512-trNJ/vtMZYMLhfN45uLq4ShQSw0/S7xCTLLVM+WM1rmFpba/VS42jVUgaO3w/NOLiWR/09lnYk0yMaA/atdIsg==} + dev: true + + /@types/lodash@4.14.202: + resolution: {integrity: sha512-OvlIYQK9tNneDlS0VN54LLd5uiPCBOp7gS5Z0f1mjoJYBrtStzgmJBxONW3U6OZqdtNzZPmn9BS/7WI7BFFcFQ==} + + /@types/mime@3.0.1: + resolution: {integrity: sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==} + dev: true + + /@types/minimatch@3.0.5: + resolution: {integrity: sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==} + dev: true + + /@types/minimatch@5.1.2: + resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} + + /@types/minimist@1.2.2: + resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} + dev: true + + /@types/ms@0.7.31: + resolution: {integrity: sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==} + + /@types/node@14.18.33: + resolution: {integrity: sha512-qelS/Ra6sacc4loe/3MSjXNL1dNQ/GjxNHVzuChwMfmk7HuycRLVQN2qNY3XahK+fZc5E2szqQSKUyAF0E+2bg==} + dev: true + + /@types/node@15.14.9: + resolution: {integrity: sha512-qjd88DrCxupx/kJD5yQgZdcYKZKSIGBVDIBE1/LTGcNm3d2Np/jxojkdePDdfnBHJc5W7vSMpbJ1aB7p/Py69A==} + dev: true + + /@types/node@20.5.1: + resolution: {integrity: sha512-4tT2UrL5LBqDwoed9wZ6N3umC4Yhz3W3FloMmiiG4JwmUJWpie0c7lcnUNd4gtMKuDEO4wRVS8B6Xa0uMRsMKg==} + + /@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==} + 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/responselike@1.0.0: + resolution: {integrity: sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA==} + dependencies: + '@types/node': 20.5.1 + dev: true + + /@types/retry@0.12.0: + resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} + dev: true + + /@types/sass@1.43.1: + resolution: {integrity: sha512-BPdoIt1lfJ6B7rw35ncdwBZrAssjcwzI5LByIrYs+tpXlj/CAkuVdRsgZDdP4lq5EjyWzwxZCqAoFyHKFwp32g==} + dependencies: + '@types/node': 20.5.1 + + /@types/semver@7.5.6: + resolution: {integrity: sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==} + dev: true + + /@types/serve-index@1.9.1: + resolution: {integrity: sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==} + dependencies: + '@types/express': 4.17.14 + dev: true + + /@types/serve-static@1.15.0: + resolution: {integrity: sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==} + dependencies: + '@types/mime': 3.0.1 + '@types/node': 20.5.1 + dev: true + + /@types/sockjs@0.3.33: + resolution: {integrity: sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==} + dependencies: + '@types/node': 20.5.1 + dev: true + + /@types/vinyl@2.0.7: + resolution: {integrity: sha512-4UqPv+2567NhMQuMLdKAyK4yzrfCqwaTt6bLhHEs8PFcxbHILsrxaY63n4wgE/BRLDWDQeI+WcTmkXKExh9hQg==} + dependencies: + '@types/expect': 1.20.4 + '@types/node': 20.5.1 + dev: true + + /@types/webpack-env@1.18.0: + resolution: {integrity: sha512-56/MAlX5WMsPVbOg7tAxnYvNYMMWr/QJiIp6BxVSW3JJXUVzzOn64qW8TzQyMSqSUFM2+PVI4aUHcHOzIz/1tg==} + dev: true + + /@types/ws@8.5.3: + resolution: {integrity: sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==} + dependencies: + '@types/node': 20.5.1 + dev: true + + /@typescript-eslint/eslint-plugin@5.45.0(@typescript-eslint/parser@5.45.0)(eslint@8.28.0)(typescript@5.2.2): + resolution: {integrity: sha512-CXXHNlf0oL+Yg021cxgOdMHNTXD17rHkq7iW6RFHoybdFgQBjU3yIXhhcPpGwr1CjZlo6ET8C6tzX5juQoXeGA==} + 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.45.0(eslint@8.28.0)(typescript@5.2.2) + '@typescript-eslint/scope-manager': 5.45.0 + '@typescript-eslint/type-utils': 5.45.0(eslint@8.28.0)(typescript@5.2.2) + '@typescript-eslint/utils': 5.45.0(eslint@8.28.0)(typescript@5.2.2) + debug: 4.3.4 + eslint: 8.28.0 + ignore: 5.3.0 + natural-compare-lite: 1.4.0 + regexpp: 3.2.0 + semver: 7.5.4 + tsutils: 3.21.0(typescript@5.2.2) + typescript: 5.2.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/eslint-plugin@6.7.5(@typescript-eslint/parser@6.7.5)(eslint@8.28.0)(typescript@5.2.2): + resolution: {integrity: sha512-JhtAwTRhOUcP96D0Y6KYnwig/MRQbOoLGXTON2+LlyB/N35SP9j1boai2zzwXb7ypKELXMx3DVk9UTaEq1vHEw==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@eslint-community/regexpp': 4.8.1 + '@typescript-eslint/parser': 6.7.5(eslint@8.28.0)(typescript@5.2.2) + '@typescript-eslint/scope-manager': 6.7.5 + '@typescript-eslint/type-utils': 6.7.5(eslint@8.28.0)(typescript@5.2.2) + '@typescript-eslint/utils': 6.7.5(eslint@8.28.0)(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.7.5 + debug: 4.3.4 + eslint: 8.28.0 + graphemer: 1.4.0 + ignore: 5.3.0 + natural-compare: 1.4.0 + semver: 7.5.4 + ts-api-utils: 1.0.3(typescript@5.2.2) + typescript: 5.2.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/parser@5.45.0(eslint@8.28.0)(typescript@5.2.2): + resolution: {integrity: sha512-brvs/WSM4fKUmF5Ot/gEve6qYiCMjm6w4HkHPfS6ZNmxTS0m0iNN4yOChImaCkqc1hRwFGqUyanMXuGal6oyyQ==} + 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.45.0 + '@typescript-eslint/types': 5.45.0 + '@typescript-eslint/typescript-estree': 5.45.0(typescript@5.2.2) + debug: 4.3.4 + eslint: 8.28.0 + typescript: 5.2.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/parser@6.7.5(eslint@8.28.0)(typescript@5.2.2): + resolution: {integrity: sha512-bIZVSGx2UME/lmhLcjdVc7ePBwn7CLqKarUBL4me1C5feOd663liTGjMBGVcGr+BhnSLeP4SgwdvNnnkbIdkCw==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 6.7.5 + '@typescript-eslint/types': 6.7.5 + '@typescript-eslint/typescript-estree': 6.7.5(typescript@5.2.2) + '@typescript-eslint/visitor-keys': 6.7.5 + debug: 4.3.4 + eslint: 8.28.0 + typescript: 5.2.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/scope-manager@5.45.0: + resolution: {integrity: sha512-noDMjr87Arp/PuVrtvN3dXiJstQR1+XlQ4R1EvzG+NMgXi8CuMCXpb8JqNtFHKceVSQ985BZhfRdowJzbv4yKw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.45.0 + '@typescript-eslint/visitor-keys': 5.45.0 + dev: true + + /@typescript-eslint/scope-manager@6.7.5: + resolution: {integrity: sha512-GAlk3eQIwWOJeb9F7MKQ6Jbah/vx1zETSDw8likab/eFcqkjSD7BI75SDAeC5N2L0MmConMoPvTsmkrg71+B1A==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.7.5 + '@typescript-eslint/visitor-keys': 6.7.5 + dev: true + + /@typescript-eslint/type-utils@5.45.0(eslint@8.28.0)(typescript@5.2.2): + resolution: {integrity: sha512-DY7BXVFSIGRGFZ574hTEyLPRiQIvI/9oGcN8t1A7f6zIs6ftbrU0nhyV26ZW//6f85avkwrLag424n+fkuoJ1Q==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '*' + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 5.45.0(typescript@5.2.2) + '@typescript-eslint/utils': 5.45.0(eslint@8.28.0)(typescript@5.2.2) + debug: 4.3.4 + eslint: 8.28.0 + tsutils: 3.21.0(typescript@5.2.2) + typescript: 5.2.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/type-utils@6.7.5(eslint@8.28.0)(typescript@5.2.2): + resolution: {integrity: sha512-Gs0qos5wqxnQrvpYv+pf3XfcRXW6jiAn9zE/K+DlmYf6FcpxeNYN0AIETaPR7rHO4K2UY+D0CIbDP9Ut0U4m1g==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 6.7.5(typescript@5.2.2) + '@typescript-eslint/utils': 6.7.5(eslint@8.28.0)(typescript@5.2.2) + debug: 4.3.4 + eslint: 8.28.0 + ts-api-utils: 1.0.3(typescript@5.2.2) + typescript: 5.2.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/types@5.45.0: + resolution: {integrity: sha512-QQij+u/vgskA66azc9dCmx+rev79PzX8uDHpsqSjEFtfF2gBUTRCpvYMh2gw2ghkJabNkPlSUCimsyBEQZd1DA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@typescript-eslint/types@6.7.5: + resolution: {integrity: sha512-WboQBlOXtdj1tDFPyIthpKrUb+kZf2VroLZhxKa/VlwLlLyqv/PwUNgL30BlTVZV1Wu4Asu2mMYPqarSO4L5ZQ==} + engines: {node: ^16.0.0 || >=18.0.0} + dev: true + + /@typescript-eslint/typescript-estree@5.45.0(typescript@5.2.2): + resolution: {integrity: sha512-maRhLGSzqUpFcZgXxg1qc/+H0bT36lHK4APhp0AEUVrpSwXiRAomm/JGjSG+kNUio5kAa3uekCYu/47cnGn5EQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 5.45.0 + '@typescript-eslint/visitor-keys': 5.45.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.5.4 + tsutils: 3.21.0(typescript@5.2.2) + typescript: 5.2.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/typescript-estree@6.7.5(typescript@5.2.2): + resolution: {integrity: sha512-NhJiJ4KdtwBIxrKl0BqG1Ur+uw7FiOnOThcYx9DpOGJ/Abc9z2xNzLeirCG02Ig3vkvrc2qFLmYSSsaITbKjlg==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 6.7.5 + '@typescript-eslint/visitor-keys': 6.7.5 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + semver: 7.5.4 + ts-api-utils: 1.0.3(typescript@5.2.2) + typescript: 5.2.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/utils@5.45.0(eslint@8.28.0)(typescript@5.2.2): + resolution: {integrity: sha512-OUg2JvsVI1oIee/SwiejTot2OxwU8a7UfTFMOdlhD2y+Hl6memUSL4s98bpUTo8EpVEr0lmwlU7JSu/p2QpSvA==} + 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.15 + '@types/semver': 7.5.6 + '@typescript-eslint/scope-manager': 5.45.0 + '@typescript-eslint/types': 5.45.0 + '@typescript-eslint/typescript-estree': 5.45.0(typescript@5.2.2) + eslint: 8.28.0 + eslint-scope: 5.1.1 + eslint-utils: 3.0.0(eslint@8.28.0) + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/utils@6.7.5(eslint@8.28.0)(typescript@5.2.2): + resolution: {integrity: sha512-pfRRrH20thJbzPPlPc4j0UNGvH1PjPlhlCMq4Yx7EGjV7lvEeGX0U6MJYe8+SyFutWgSHsdbJ3BXzZccYggezA==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.28.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.6 + '@typescript-eslint/scope-manager': 6.7.5 + '@typescript-eslint/types': 6.7.5 + '@typescript-eslint/typescript-estree': 6.7.5(typescript@5.2.2) + eslint: 8.28.0 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/visitor-keys@5.45.0: + resolution: {integrity: sha512-jc6Eccbn2RtQPr1s7th6jJWQHBHI6GBVQkCHoJFQ5UreaKm59Vxw+ynQUPPY2u2Amquc+7tmEoC2G52ApsGNNg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + '@typescript-eslint/types': 5.45.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@typescript-eslint/visitor-keys@6.7.5: + resolution: {integrity: sha512-3MaWdDZtLlsexZzDSdQWsFQ9l9nL8B80Z4fImSpyllFC/KLqWQRdEcB+gGGO+N3Q2uL40EsG66wZLsohPxNXvg==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.7.5 + eslint-visitor-keys: 3.4.3 + dev: true + + /@vant/weapp@1.11.1: + resolution: {integrity: sha512-2QddSq3MsozbTBAgEmW1rhzsEJNWPF2VS427M5pOOn0a7/f6lW+tymwdTcOQCzQONavhFwBv6Lebbs/UjE3Yig==} + dev: false + + /@vue/babel-helper-vue-transform-on@1.0.2: + resolution: {integrity: sha512-hz4R8tS5jMn8lDq6iD+yWL6XNB699pGIVLk7WSJnn1dbpjaazsjZQkieJoRX6gW5zpYSCFqQ7jUquPNY65tQYA==} + dev: true + + /@vue/babel-plugin-jsx@1.1.1(@babel/core@7.20.5): + resolution: {integrity: sha512-j2uVfZjnB5+zkcbc/zsOc0fSNGCMMjaEXP52wdwdIfn0qjFfEYpYZBFKFg+HHnQeJCVrjOeO0YxgaL7DMrym9w==} + dependencies: + '@babel/helper-module-imports': 7.18.6 + '@babel/plugin-syntax-jsx': 7.18.6(@babel/core@7.20.5) + '@babel/template': 7.18.10 + '@babel/traverse': 7.20.5 + '@babel/types': 7.20.5 + '@vue/babel-helper-vue-transform-on': 1.0.2 + camelcase: 6.3.0 + html-tags: 3.2.0 + svg-tags: 1.0.0 + transitivePeerDependencies: + - '@babel/core' + - supports-color + dev: true + + /@vue/compiler-core@3.2.45: + resolution: {integrity: sha512-rcMj7H+PYe5wBV3iYeUgbCglC+pbpN8hBLTJvRiK2eKQiWqu+fG9F+8sW99JdL4LQi7Re178UOxn09puSXvn4A==} + dependencies: + '@babel/parser': 7.21.4 + '@vue/shared': 3.2.45 + estree-walker: 2.0.2 + source-map: 0.6.1 + dev: true + + /@vue/compiler-core@3.3.4: + resolution: {integrity: sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==} + dependencies: + '@babel/parser': 7.23.6 + '@vue/shared': 3.3.4 + estree-walker: 2.0.2 + source-map-js: 1.0.2 + + /@vue/compiler-dom@3.2.45: + resolution: {integrity: sha512-tyYeUEuKqqZO137WrZkpwfPCdiiIeXYCcJ8L4gWz9vqaxzIQRccTSwSWZ/Axx5YR2z+LvpUbmPNXxuBU45lyRw==} + dependencies: + '@vue/compiler-core': 3.2.45 + '@vue/shared': 3.2.45 + dev: true + + /@vue/compiler-dom@3.3.4: + resolution: {integrity: sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==} + dependencies: + '@vue/compiler-core': 3.3.4 + '@vue/shared': 3.3.4 + + /@vue/compiler-sfc@3.2.45: + resolution: {integrity: sha512-1jXDuWah1ggsnSAOGsec8cFjT/K6TMZ0sPL3o3d84Ft2AYZi2jWJgRMjw4iaK0rBfA89L5gw427H4n1RZQBu6Q==} + dependencies: + '@babel/parser': 7.20.5 + '@vue/compiler-core': 3.2.45 + '@vue/compiler-dom': 3.2.45 + '@vue/compiler-ssr': 3.2.45 + '@vue/reactivity-transform': 3.2.45 + '@vue/shared': 3.2.45 + estree-walker: 2.0.2 + magic-string: 0.25.9 + postcss: 8.4.19 + source-map: 0.6.1 + dev: true + + /@vue/compiler-sfc@3.3.4: + resolution: {integrity: sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==} + dependencies: + '@babel/parser': 7.23.6 + '@vue/compiler-core': 3.3.4 + '@vue/compiler-dom': 3.3.4 + '@vue/compiler-ssr': 3.3.4 + '@vue/reactivity-transform': 3.3.4 + '@vue/shared': 3.3.4 + estree-walker: 2.0.2 + magic-string: 0.30.3 + postcss: 8.4.19 + source-map-js: 1.0.2 + + /@vue/compiler-ssr@3.2.45: + resolution: {integrity: sha512-6BRaggEGqhWht3lt24CrIbQSRD5O07MTmd+LjAn5fJj568+R9eUD2F7wMQJjX859seSlrYog7sUtrZSd7feqrQ==} + dependencies: + '@vue/compiler-dom': 3.2.45 + '@vue/shared': 3.2.45 + dev: true + + /@vue/compiler-ssr@3.3.4: + resolution: {integrity: sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==} + dependencies: + '@vue/compiler-dom': 3.3.4 + '@vue/shared': 3.3.4 + + /@vue/component-compiler-utils@3.3.0(lodash@4.17.21): + resolution: {integrity: sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ==} + dependencies: + consolidate: 0.15.1(lodash@4.17.21) + hash-sum: 1.0.2 + lru-cache: 4.1.5 + merge-source-map: 1.1.0 + postcss: 7.0.39 + postcss-selector-parser: 6.0.11 + source-map: 0.6.1 + vue-template-es2015-compiler: 1.9.1 + optionalDependencies: + prettier: 2.8.0 + transitivePeerDependencies: + - arc-templates + - atpl + - babel-core + - bracket-template + - coffee-script + - dot + - dust + - dustjs-helpers + - dustjs-linkedin + - eco + - ect + - ejs + - haml-coffee + - hamlet + - hamljs + - handlebars + - hogan.js + - htmling + - jade + - jazz + - jqtpl + - just + - liquid-node + - liquor + - lodash + - marko + - mote + - mustache + - nunjucks + - plates + - pug + - qejs + - ractive + - razor-tmpl + - react + - react-dom + - slm + - squirrelly + - swig + - swig-templates + - teacup + - templayed + - then-jade + - then-pug + - tinyliquid + - toffee + - twig + - twing + - underscore + - vash + - velocityjs + - walrus + - whiskers + dev: true + + /@vue/composition-api@1.7.2(vue@3.3.4): + resolution: {integrity: sha512-M8jm9J/laYrYT02665HkZ5l2fWTK4dcVg3BsDHm/pfz+MjDYwX+9FUaZyGwEyXEDonQYRCo0H7aLgdklcIELjw==} + peerDependencies: + vue: '>= 2.5 < 2.7' + dependencies: + vue: 3.3.4 + dev: false + + /@vue/devtools-api@6.5.0: + resolution: {integrity: sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==} + dev: false + + /@vue/devtools@6.0.0-beta.15: + resolution: {integrity: sha512-zTo89V+ztGiEpjsRkJYOS0K/6mIqrb+Ia6HT+CXczrGRC297d7SqP5GBXn2HSbaJiSWNdoTLbQ2tm7uj+IBoqQ==} + hasBin: true + dependencies: + cross-spawn: 7.0.3 + electron: 12.2.3 + express: 4.18.2 + ip: 1.1.8 + socket.io: 2.5.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: true + + /@vue/eslint-config-prettier@7.0.0(eslint@8.28.0)(prettier@2.7.1): + resolution: {integrity: sha512-/CTc6ML3Wta1tCe1gUeO0EYnVXfo3nJXsIhZ8WJr3sov+cGASr6yuiibJTL6lmIBm7GobopToOuB3B6AWyV0Iw==} + peerDependencies: + eslint: '>= 7.28.0' + prettier: '>= 2.0.0' + dependencies: + eslint: 8.28.0 + eslint-config-prettier: 8.5.0(eslint@8.28.0) + eslint-plugin-prettier: 4.2.1(eslint-config-prettier@8.5.0)(eslint@8.28.0)(prettier@2.7.1) + prettier: 2.7.1 + dev: true + + /@vue/eslint-config-typescript@11.0.2(eslint-plugin-vue@9.8.0)(eslint@8.28.0)(typescript@5.2.2): + resolution: {integrity: sha512-EiKud1NqlWmSapBFkeSrE994qpKx7/27uCGnhdqzllYDpQZroyX/O6bwjEpeuyKamvLbsGdO6PMR2faIf+zFnw==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 + eslint-plugin-vue: ^9.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/eslint-plugin': 5.45.0(@typescript-eslint/parser@5.45.0)(eslint@8.28.0)(typescript@5.2.2) + '@typescript-eslint/parser': 5.45.0(eslint@8.28.0)(typescript@5.2.2) + eslint: 8.28.0 + eslint-plugin-vue: 9.8.0(eslint@8.28.0) + typescript: 5.2.2 + vue-eslint-parser: 9.3.1(eslint@8.28.0) + transitivePeerDependencies: + - supports-color + dev: true + + /@vue/reactivity-transform@3.2.45: + resolution: {integrity: sha512-BHVmzYAvM7vcU5WmuYqXpwaBHjsS8T63jlKGWVtHxAHIoMIlmaMyurUSEs1Zcg46M4AYT5MtB1U274/2aNzjJQ==} + dependencies: + '@babel/parser': 7.21.4 + '@vue/compiler-core': 3.2.45 + '@vue/shared': 3.2.45 + estree-walker: 2.0.2 + magic-string: 0.25.9 + dev: true + + /@vue/reactivity-transform@3.3.4: + resolution: {integrity: sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==} + dependencies: + '@babel/parser': 7.23.6 + '@vue/compiler-core': 3.3.4 + '@vue/shared': 3.3.4 + estree-walker: 2.0.2 + magic-string: 0.30.3 + + /@vue/reactivity@3.3.4: + resolution: {integrity: sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==} + dependencies: + '@vue/shared': 3.3.4 + + /@vue/runtime-core@3.3.4: + resolution: {integrity: sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==} + dependencies: + '@vue/reactivity': 3.3.4 + '@vue/shared': 3.3.4 + + /@vue/runtime-dom@3.3.4: + resolution: {integrity: sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==} + dependencies: + '@vue/runtime-core': 3.3.4 + '@vue/shared': 3.3.4 + csstype: 3.1.2 + + /@vue/server-renderer@3.3.4(vue@3.3.4): + resolution: {integrity: sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==} + peerDependencies: + vue: 3.3.4 + dependencies: + '@vue/compiler-ssr': 3.3.4 + '@vue/shared': 3.3.4 + vue: 3.3.4 + + /@vue/shared@3.2.45: + resolution: {integrity: sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==} + dev: true + + /@vue/shared@3.3.4: + resolution: {integrity: sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ==} + + /@webassemblyjs/ast@1.11.1: + resolution: {integrity: sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==} + dependencies: + '@webassemblyjs/helper-numbers': 1.11.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.1 + + /@webassemblyjs/floating-point-hex-parser@1.11.1: + resolution: {integrity: sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==} + + /@webassemblyjs/helper-api-error@1.11.1: + resolution: {integrity: sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==} + + /@webassemblyjs/helper-buffer@1.11.1: + resolution: {integrity: sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==} + + /@webassemblyjs/helper-numbers@1.11.1: + resolution: {integrity: sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==} + dependencies: + '@webassemblyjs/floating-point-hex-parser': 1.11.1 + '@webassemblyjs/helper-api-error': 1.11.1 + '@xtuc/long': 4.2.2 + + /@webassemblyjs/helper-wasm-bytecode@1.11.1: + resolution: {integrity: sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==} + + /@webassemblyjs/helper-wasm-section@1.11.1: + resolution: {integrity: sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==} + dependencies: + '@webassemblyjs/ast': 1.11.1 + '@webassemblyjs/helper-buffer': 1.11.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.1 + '@webassemblyjs/wasm-gen': 1.11.1 + + /@webassemblyjs/ieee754@1.11.1: + resolution: {integrity: sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==} + dependencies: + '@xtuc/ieee754': 1.2.0 + + /@webassemblyjs/leb128@1.11.1: + resolution: {integrity: sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==} + dependencies: + '@xtuc/long': 4.2.2 + + /@webassemblyjs/utf8@1.11.1: + resolution: {integrity: sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==} + + /@webassemblyjs/wasm-edit@1.11.1: + resolution: {integrity: sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==} + dependencies: + '@webassemblyjs/ast': 1.11.1 + '@webassemblyjs/helper-buffer': 1.11.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.1 + '@webassemblyjs/helper-wasm-section': 1.11.1 + '@webassemblyjs/wasm-gen': 1.11.1 + '@webassemblyjs/wasm-opt': 1.11.1 + '@webassemblyjs/wasm-parser': 1.11.1 + '@webassemblyjs/wast-printer': 1.11.1 + + /@webassemblyjs/wasm-gen@1.11.1: + resolution: {integrity: sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==} + dependencies: + '@webassemblyjs/ast': 1.11.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.1 + '@webassemblyjs/ieee754': 1.11.1 + '@webassemblyjs/leb128': 1.11.1 + '@webassemblyjs/utf8': 1.11.1 + + /@webassemblyjs/wasm-opt@1.11.1: + resolution: {integrity: sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==} + dependencies: + '@webassemblyjs/ast': 1.11.1 + '@webassemblyjs/helper-buffer': 1.11.1 + '@webassemblyjs/wasm-gen': 1.11.1 + '@webassemblyjs/wasm-parser': 1.11.1 + + /@webassemblyjs/wasm-parser@1.11.1: + resolution: {integrity: sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==} + dependencies: + '@webassemblyjs/ast': 1.11.1 + '@webassemblyjs/helper-api-error': 1.11.1 + '@webassemblyjs/helper-wasm-bytecode': 1.11.1 + '@webassemblyjs/ieee754': 1.11.1 + '@webassemblyjs/leb128': 1.11.1 + '@webassemblyjs/utf8': 1.11.1 + + /@webassemblyjs/wast-printer@1.11.1: + resolution: {integrity: sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==} + dependencies: + '@webassemblyjs/ast': 1.11.1 + '@xtuc/long': 4.2.2 + + /@xtuc/ieee754@1.2.0: + resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} + + /@xtuc/long@4.2.2: + resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} + + /JSONStream@1.3.5: + resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} + hasBin: true + dependencies: + jsonparse: 1.3.1 + through: 2.3.8 + dev: true + + /abab@2.0.6: + resolution: {integrity: sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==} + deprecated: Use your platform's native atob() and btoa() methods instead + dev: true + + /abortcontroller-polyfill@1.7.5: + resolution: {integrity: sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ==} + dev: false + + /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@7.0.1: + resolution: {integrity: sha512-umOSDSDrfHbTNPuNpC2NSnnA3LUrqpevPb4T9jRx4MagXNS0rs+gwiTcAvqCRmsD6utzsrzNt+ebm00SNWiC3Q==} + dependencies: + acorn: 8.10.0 + acorn-walk: 8.2.0 + dev: true + + /acorn-import-assertions@1.8.0(acorn@8.8.1): + resolution: {integrity: sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==} + peerDependencies: + acorn: ^8 + dependencies: + acorn: 8.8.1 + + /acorn-jsx@5.3.2(acorn@8.10.0): + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.10.0 + dev: true + + /acorn-walk@8.2.0: + resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} + engines: {node: '>=0.4.0'} + dev: true + + /acorn@8.10.0: + resolution: {integrity: sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==} + engines: {node: '>=0.4.0'} + hasBin: true + + /acorn@8.8.1: + resolution: {integrity: sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==} + engines: {node: '>=0.4.0'} + hasBin: true + + /add-stream@1.0.0: + resolution: {integrity: sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==} + dev: true + + /address@1.2.1: + resolution: {integrity: sha512-B+6bi5D34+fDYENiH5qOlA0cV2rAGKuWZ9LeyUUehbXy8e0VS9e498yO0Jeeh+iM+6KbfudHTFjXw2MmJD4QRA==} + engines: {node: '>= 10.0.0'} + dev: true + + /adjust-sourcemap-loader@4.0.0: + resolution: {integrity: sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==} + engines: {node: '>=8.9'} + dependencies: + loader-utils: 2.0.4 + regex-parser: 2.2.11 + dev: true + + /adm-zip@0.4.16: + resolution: {integrity: sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==} + engines: {node: '>=0.3.0'} + dev: true + + /after@0.8.2: + resolution: {integrity: sha512-QbJ0NTQ/I9DI3uSJA4cbexiwQeRAfjPScqIbSjUDd9TOrcg6pTkdgziesOqxBMBzit8vFCTwrP27t13vFOORRA==} + dev: true + + /agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + + /ajv-formats@2.1.1(ajv@8.11.2): + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + dependencies: + ajv: 8.11.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-keywords@5.1.0(ajv@8.11.2): + resolution: {integrity: sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==} + peerDependencies: + ajv: ^8.8.2 + dependencies: + ajv: 8.11.2 + fast-deep-equal: 3.1.3 + dev: true + + /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.11.2: + resolution: {integrity: sha512-E4bfmKAhGiSTvMfL1Myyycaub+cUEU2/IvpylXkUu7CHBkBj1f/ikdzbD7YQ6FKUbixDxeYvB/xY4fvyroDlQg==} + 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 + + /ansi-align@3.0.1: + resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + dependencies: + string-width: 4.2.3 + dev: true + + /ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.21.3 + + /ansi-escapes@5.0.0: + resolution: {integrity: sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==} + engines: {node: '>=12'} + dependencies: + type-fest: 1.4.0 + dev: true + + /ansi-escapes@6.1.0: + resolution: {integrity: sha512-bQyg9bzRntwR/8b89DOEhGwctcwCrbWW/TuqTQnpqpy5Fz3aovcOTj5i8NJV6AHc8OGNdMaqdxAWww8pz2kiKg==} + engines: {node: '>=14.16'} + dependencies: + type-fest: 3.8.0 + 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@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + /ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + dev: true + + /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@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + dev: true + + /any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + dev: true + + /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 + + /archive-type@4.0.0: + resolution: {integrity: sha512-zV4Ky0v1F8dBrdYElwTvQhweQ0P7Kwc1aluqJsYtOBP01jXcWCyW2IEfI1YiqsG+Iy7ZR+o5LF1N+PGECBxHWA==} + engines: {node: '>=4'} + dependencies: + file-type: 4.4.0 + dev: true + + /archy@1.0.0: + resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} + + /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==} + dev: true + + /array-differ@3.0.0: + resolution: {integrity: sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==} + engines: {node: '>=8'} + dev: true + + /array-flatten@1.1.1: + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + dev: true + + /array-flatten@2.1.2: + resolution: {integrity: sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==} + dev: true + + /array-ify@1.0.0: + resolution: {integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==} + dev: true + + /array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + dev: true + + /array-union@3.0.1: + resolution: {integrity: sha512-1OvF9IbWwaeiM9VhzYXVQacMibxpXOMYVNIvMtKRyX9SImBXpKcFr8XvFDeEslCyuH/t6KRt7HEO94AlP8Iatw==} + engines: {node: '>=12'} + dev: true + + /array.prototype.map@1.0.5: + resolution: {integrity: sha512-gfaKntvwqYIuC7mLLyv2wzZIJqrRhn5PZ9EfFejSx6a78sV7iDsGpG9P+3oUPtm1Rerqm6nrKS4FYuTIvWfo3g==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.4 + es-abstract: 1.20.4 + es-array-method-boxes-properly: 1.0.0 + is-string: 1.0.7 + dev: true + + /arraybuffer.slice@0.0.7: + resolution: {integrity: sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==} + dev: true + + /arrify@1.0.1: + resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} + engines: {node: '>=0.10.0'} + dev: true + + /arrify@2.0.1: + resolution: {integrity: sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==} + engines: {node: '>=8'} + 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 + + /ast-types@0.13.4: + resolution: {integrity: sha512-x1FCFnFifvYDDzTaLII71vG5uvDwgtmDTEVWAxrgeiR8VjMONcCXJx7E+USjDtHlwFmt9MysbqgF9b9Vjr6w+w==} + engines: {node: '>=4'} + dependencies: + tslib: 2.4.1 + dev: true + + /astral-regex@2.0.0: + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} + dev: true + + /async-retry@1.3.3: + resolution: {integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==} + dependencies: + retry: 0.13.1 + dev: true + + /async@3.2.4: + resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} + dev: true + + /asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + /atob@2.1.2: + resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==} + engines: {node: '>= 4.5.0'} + hasBin: true + dev: true + + /autoprefixer@9.8.8: + resolution: {integrity: sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==} + hasBin: true + dependencies: + browserslist: 4.22.2 + caniuse-lite: 1.0.30001578 + 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 + + /aws-sign2@0.7.0: + resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} + dev: true + + /aws4@1.11.0: + resolution: {integrity: sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==} + dev: true + + /axios@1.5.0: + resolution: {integrity: sha512-D4DdjDo5CY50Qms0qGQTTw6Q44jl7zRwY7bthds06pUGfChBCTcQs+N743eFWGEd6pRTMd6A+I87aWyFV5wiZQ==} + dependencies: + follow-redirects: 1.15.2 + form-data: 4.0.0 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + dev: false + + /babel-helper-evaluate-path@0.5.0: + resolution: {integrity: sha512-mUh0UhS607bGh5wUMAQfOpt2JX2ThXMtppHRdRU1kL7ZLRWIXxoV2UIV1r2cAeeNeU1M5SB5/RSUgUxrK8yOkA==} + dev: true + + /babel-helper-mark-eval-scopes@0.4.3: + resolution: {integrity: sha512-+d/mXPP33bhgHkdVOiPkmYoeXJ+rXRWi7OdhwpyseIqOS8CmzHQXHUp/+/Qr8baXsT0kjGpMHHofHs6C3cskdA==} + dev: true + + /babel-helper-remove-or-void@0.4.3: + resolution: {integrity: sha512-eYNceYtcGKpifHDir62gHJadVXdg9fAhuZEXiRQnJJ4Yi4oUTpqpNY//1pM4nVyjjDMPYaC2xSf0I+9IqVzwdA==} + dev: true + + /babel-loader@8.2.1(@babel/core@7.20.5)(webpack@5.79.0): + resolution: {integrity: sha512-dMF8sb2KQ8kJl21GUjkW1HWmcsL39GOV5vnzjqrCzEPNY0S0UfMLnumidiwIajDSBmKhYf5iRW+HXaM4cvCKBw==} + engines: {node: '>= 8.9'} + peerDependencies: + '@babel/core': ^7.0.0 + webpack: '>=2' + dependencies: + '@babel/core': 7.20.5 + find-cache-dir: 2.1.0 + loader-utils: 1.4.2 + make-dir: 2.1.0 + pify: 4.0.1 + schema-utils: 2.7.1 + webpack: 5.79.0(@swc/core@1.3.96) + 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.8: + resolution: {integrity: sha512-36babpjra5m3gca44V6tSTomeBlPA7cHUynrE2WiQIm3rEGD9xy28MKsx5IdO45EbnpJY7Jrgd00C6Dwt/l/2Q==} + dependencies: + '@babel/helper-module-imports': 7.18.6 + dev: true + + /babel-plugin-lodash@3.3.4: + resolution: {integrity: sha512-yDZLjK7TCkWl1gpBeBGmuaDIFhZKmkoL+Cu2MUUjv5VxUZx/z7tBGBCBcQs5RI1Bkz5LLmNdjx7paOyQtMovyg==} + dependencies: + '@babel/helper-module-imports': 7.18.6 + '@babel/types': 7.21.4 + glob: 7.2.3 + lodash: 4.17.21 + require-package-name: 2.0.1 + dev: true + + /babel-plugin-minify-dead-code-elimination@0.5.2: + resolution: {integrity: sha512-krq9Lwi0QIzyAlcNBXTL4usqUvevB4BzktdEsb8srcXC1AaYqRJiAQw6vdKdJSaXbz6snBvziGr6ch/aoRCfpA==} + dependencies: + babel-helper-evaluate-path: 0.5.0 + babel-helper-mark-eval-scopes: 0.4.3 + babel-helper-remove-or-void: 0.4.3 + lodash: 4.17.21 + dev: true + + /babel-plugin-polyfill-corejs2@0.3.3(@babel/core@7.20.5): + resolution: {integrity: sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.23.5 + '@babel/core': 7.20.5 + '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.20.5) + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + /babel-plugin-polyfill-corejs3@0.6.0(@babel/core@7.20.5): + resolution: {integrity: sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.20.5) + core-js-compat: 3.26.1 + transitivePeerDependencies: + - supports-color + + /babel-plugin-polyfill-regenerator@0.4.1(@babel/core@7.20.5): + resolution: {integrity: sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.20.5 + '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.20.5) + transitivePeerDependencies: + - supports-color + + /babel-plugin-transform-imports-api@1.0.0: + resolution: {integrity: sha512-EtPFtwUFwXy4HyRwXiR7dCijk2b1dd12bVs39oY8aMZUnypFEMrctGX6/YrhQzhCPFweV7NTPhc+fD4zItWzUA==} + dependencies: + is-invalid-path: 1.0.2 + dev: true + + /babel-plugin-transform-remove-console@6.9.4: + resolution: {integrity: sha512-88blrUrMX3SPiGkT1GnvVY8E/7A+k6oj3MNvUtTIxJflFzXTw1bHkuJ/y039ouhFMp2prRn5cQGzokViYi1dsg==} + dev: true + + /babel-preset-taro@3.6.20(@babel/core@7.20.5): + resolution: {integrity: sha512-yn6qyZwafkh/eCIiu4T93ubKtzk2huykcmyL33Zk6FQH9U7SYoj7bWeaZCj9vGP5dfQ0MNOuI6R2X8uliu0lEQ==} + peerDependencies: + '@babel/core': '*' + dependencies: + '@babel/core': 7.20.5 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.20.5) + '@babel/plugin-proposal-decorators': 7.20.5(@babel/core@7.20.5) + '@babel/plugin-syntax-jsx': 7.18.6(@babel/core@7.20.5) + '@babel/plugin-transform-runtime': 7.19.6(@babel/core@7.20.5) + '@babel/preset-env': 7.20.2(@babel/core@7.20.5) + '@babel/preset-react': 7.18.6(@babel/core@7.20.5) + '@babel/preset-typescript': 7.18.6(@babel/core@7.20.5) + '@babel/runtime': 7.20.6 + '@babel/runtime-corejs3': 7.20.6 + '@tarojs/helper': 3.6.20 + '@tarojs/shared': 3.6.20 + babel-plugin-dynamic-import-node: 2.3.3 + babel-plugin-minify-dead-code-elimination: 0.5.2 + babel-plugin-transform-imports-api: 1.0.0 + core-js: 3.26.1 + lodash: 4.17.21 + metro-react-native-babel-preset: 0.72.3(@babel/core@7.20.5) + react-refresh: 0.11.0 + transitivePeerDependencies: + - '@swc/helpers' + - supports-color + dev: true + + /backo2@1.0.2: + resolution: {integrity: sha512-zj6Z6M7Eq+PBZ7PQxl5NT665MvJdAkzp0f60nAJ+sLaSCBPMwVak5ZegFbgVCzFcCJTKFoMizvM5Ld7+JrRJHA==} + 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-arraybuffer@0.1.4: + resolution: {integrity: sha512-a1eIFi4R9ySrbiMuyTGx5e92uRH5tQY6kArNcFaKBUleIoLjdjBg7Zxm3Mqm3Kmkf27HLR/1fnxX9q8GQ7Iavg==} + engines: {node: '>= 0.6.0'} + dev: true + + /base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + /base64id@2.0.0: + resolution: {integrity: sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==} + engines: {node: ^4.5.0 || >= 5.9} + dev: true + + /batch@0.6.1: + resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} + dev: true + + /bcrypt-pbkdf@1.0.2: + resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} + dependencies: + tweetnacl: 0.14.5 + dev: true + + /before-after-hook@2.2.3: + resolution: {integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==} + 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'} + + /binaryextensions@4.18.0: + resolution: {integrity: sha512-PQu3Kyv9dM4FnwB7XGj1+HucW+ShvJzJqjuw1JkKVs1mWdwOKVcRjOi+pV9X52A0tNvrPCsPkbFFQb+wE1EAXw==} + engines: {node: '>=0.8'} + dev: true + + /bl@1.2.3: + resolution: {integrity: sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==} + dependencies: + readable-stream: 2.3.7 + safe-buffer: 5.2.1 + dev: true + + /bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.0 + + /bl@5.1.0: + resolution: {integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==} + dependencies: + buffer: 6.0.3 + inherits: 2.0.4 + readable-stream: 3.6.0 + dev: true + + /blob@0.0.5: + resolution: {integrity: sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==} + dev: true + + /bluebird@3.7.2: + resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} + 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.4 + 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 + + /bonjour-service@1.1.1: + resolution: {integrity: sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==} + dependencies: + array-flatten: 2.1.2 + dns-equal: 1.0.0 + fast-deep-equal: 3.1.3 + multicast-dns: 7.2.5 + dev: true + + /boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + dev: true + + /boolean@3.2.0: + resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} + dev: true + optional: true + + /boxen@5.1.2: + resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==} + engines: {node: '>=10'} + dependencies: + ansi-align: 3.0.1 + camelcase: 6.3.0 + chalk: 4.1.2 + cli-boxes: 2.2.1 + string-width: 4.2.3 + type-fest: 0.20.2 + widest-line: 3.1.0 + wrap-ansi: 7.0.0 + dev: true + + /boxen@7.0.2: + resolution: {integrity: sha512-1Z4UJabXUP1/R9rLpoU3O2lEMnG3pPLAs/ZD2lF3t2q7qD5lM8rqbtnvtvm4N0wEyNlE+9yZVTVAGmd1V5jabg==} + engines: {node: '>=14.16'} + dependencies: + ansi-align: 3.0.1 + camelcase: 7.0.1 + chalk: 5.3.0 + cli-boxes: 3.0.0 + string-width: 5.1.2 + type-fest: 2.19.0 + widest-line: 4.0.1 + wrap-ansi: 8.1.0 + 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 + + /braces@3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + + /browserslist@4.21.4: + resolution: {integrity: sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001434 + electron-to-chromium: 1.4.284 + node-releases: 2.0.6 + update-browserslist-db: 1.0.10(browserslist@4.21.4) + + /browserslist@4.22.2: + resolution: {integrity: sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001578 + electron-to-chromium: 1.4.637 + node-releases: 2.0.14 + update-browserslist-db: 1.0.13(browserslist@4.22.2) + + /buffer-alloc-unsafe@1.1.0: + resolution: {integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==} + dev: true + + /buffer-alloc@1.2.0: + resolution: {integrity: sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==} + dependencies: + buffer-alloc-unsafe: 1.1.0 + buffer-fill: 1.0.0 + dev: true + + /buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + + /buffer-fill@1.0.0: + resolution: {integrity: sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==} + dev: true + + /buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + /buffer-json@2.0.0: + resolution: {integrity: sha512-+jjPFVqyfF1esi9fvfUs3NqM0pH1ziZ36VP4hmA/y/Ssfo/5w5xHKfTw9BwQjoJ1w/oVtpLomqwUHKdefGyuHw==} + dev: true + + /buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + /buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: true + + /builtins@5.0.1: + resolution: {integrity: sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==} + dependencies: + semver: 7.5.4 + 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.0.0: + resolution: {integrity: sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==} + engines: {node: '>= 0.8'} + dev: true + + /bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + dev: true + + /cache-loader@4.1.0(webpack@5.79.0): + resolution: {integrity: sha512-ftOayxve0PwKzBF/GLsZNC9fJBXl8lkZE3TOsjkboHfVHVkL39iUEs1FO07A33mizmci5Dudt38UZrrYXDtbhw==} + engines: {node: '>= 8.9.0'} + peerDependencies: + webpack: ^4.0.0 + dependencies: + buffer-json: 2.0.0 + find-cache-dir: 3.3.2 + loader-utils: 1.4.2 + mkdirp: 0.5.6 + neo-async: 2.6.2 + schema-utils: 2.7.1 + webpack: 5.79.0(@swc/core@1.3.96) + dev: true + + /cacheable-lookup@7.0.0: + resolution: {integrity: sha512-+qJyx4xiKra8mZrcwhjMRMUhD5NR1R8esPkzIYxX96JiecFoxAXFuz/GpR3+ev4PE1WamHip78wV0vcmPQtp8w==} + engines: {node: '>=14.16'} + dev: true + + /cacheable-request@10.2.9: + resolution: {integrity: sha512-CaAMr53AS1Tb9evO1BIWFnZjSr8A4pbXofpsNVWPMDZZj3ZQKHwsQG9BrTqQ4x5ZYJXz1T2b8LLtTZODxSpzbg==} + engines: {node: '>=14.16'} + dependencies: + '@types/http-cache-semantics': 4.0.1 + get-stream: 6.0.1 + http-cache-semantics: 4.1.1 + keyv: 4.5.2 + mimic-response: 4.0.0 + normalize-url: 8.0.0 + responselike: 3.0.0 + dev: true + + /cacheable-request@2.1.4: + resolution: {integrity: sha512-vag0O2LKZ/najSoUwDbVlnlCFvhBE/7mGTY2B5FgCBDcRD+oVV1HYTOwM6JZfMg/hIcM6IwnTZ1uQQL5/X3xIQ==} + dependencies: + clone-response: 1.0.2 + get-stream: 3.0.0 + http-cache-semantics: 3.8.1 + keyv: 3.0.0 + lowercase-keys: 1.0.0 + normalize-url: 2.0.1 + responselike: 1.0.2 + dev: true + + /cacheable-request@6.1.0: + resolution: {integrity: sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==} + engines: {node: '>=8'} + dependencies: + clone-response: 1.0.3 + get-stream: 5.2.0 + http-cache-semantics: 4.1.1 + keyv: 3.1.0 + lowercase-keys: 2.0.0 + normalize-url: 4.5.1 + responselike: 1.0.2 + dev: true + + /call-bind@1.0.2: + resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==} + dependencies: + function-bind: 1.1.1 + get-intrinsic: 1.2.0 + + /callsite-record@4.1.5: + resolution: {integrity: sha512-OqeheDucGKifjQRx524URgV4z4NaKjocGhygTptDea+DLROre4ZEecA4KXDq+P7qlGCohYVNOh3qr+y5XH5Ftg==} + dependencies: + '@devexpress/error-stack-parser': 2.0.6 + '@types/lodash': 4.14.202 + callsite: 1.0.0 + chalk: 2.4.2 + highlight-es: 1.0.3 + lodash: 4.17.21 + pinkie-promise: 2.0.1 + dev: true + + /callsite@1.0.0: + resolution: {integrity: sha512-0vdNRFXn5q+dtOqjfFtmtlI9N2eVZ7LMyEV2iKC5mEEFvSg/69Ml6b/WU2qF8W1nLRa0wiSrDT3Y5jOHZCwKPQ==} + dev: true + + /callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: true + + /camel-case@3.0.0: + resolution: {integrity: sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==} + dependencies: + no-case: 2.3.2 + upper-case: 1.1.3 + dev: true + + /camel-case@4.1.2: + resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + dependencies: + pascal-case: 3.1.2 + tslib: 2.4.1 + 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@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 + + /camelcase@7.0.1: + resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} + engines: {node: '>=14.16'} + dev: true + + /caniuse-api@3.0.0: + resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} + dependencies: + browserslist: 4.22.2 + caniuse-lite: 1.0.30001578 + lodash.memoize: 4.1.2 + lodash.uniq: 4.5.0 + dev: true + + /caniuse-lite@1.0.30001434: + resolution: {integrity: sha512-aOBHrLmTQw//WFa2rcF1If9fa3ypkC1wzqqiKHgfdrXTWcU8C4gKVZT77eQAPWN1APys3+uQ0Df07rKauXGEYA==} + + /caniuse-lite@1.0.30001578: + resolution: {integrity: sha512-J/jkFgsQ3NEl4w2lCoM9ZPxrD+FoBNJ7uJUpGVjIg/j0OwJosWM36EPDv+Yyi0V4twBk9pPmlFS+PLykgEvUmg==} + + /caseless@0.12.0: + resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} + dev: true + + /caw@2.0.1: + resolution: {integrity: sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==} + engines: {node: '>=4'} + dependencies: + get-proxy: 2.1.0 + isurl: 1.0.0 + tunnel-agent: 0.6.0 + url-to-options: 1.0.1 + dev: true + + /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@3.0.0: + resolution: {integrity: sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==} + engines: {node: '>=8'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.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 + + /chalk@5.2.0: + resolution: {integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + dev: true + + /chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + dev: true + + /chardet@0.7.0: + resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + dev: true + + /charenc@0.0.2: + resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==} + 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 + + /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 + + /classnames@2.3.2: + resolution: {integrity: sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==} + + /clean-css@4.2.4: + resolution: {integrity: sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==} + engines: {node: '>= 4.0'} + dependencies: + source-map: 0.6.1 + dev: true + + /clean-css@5.3.1: + resolution: {integrity: sha512-lCr8OHhiWCTw4v8POJovCoh4T7I9U11yVsPjMWWnnMmp9ZowCxyad1Pathle/9HjaDp+fdQKjO9fQydE6RHTZg==} + engines: {node: '>= 10.0'} + dependencies: + source-map: 0.6.1 + dev: true + + /cli-boxes@2.2.1: + resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} + engines: {node: '>=6'} + dev: true + + /cli-boxes@3.0.0: + resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} + engines: {node: '>=10'} + dev: true + + /cli-cursor@3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} + dependencies: + restore-cursor: 3.1.0 + + /cli-cursor@4.0.0: + resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + restore-cursor: 4.0.0 + dev: true + + /cli-highlight@2.1.11: + resolution: {integrity: sha512-9KDcoEVwyUXrjcJNvHD0NFc/hiwe/WPVYIleQh2O1N2Zro5gWJZ/K+3DGn8w8P/F6FxOgzyC5bxDyHIgCSPhGg==} + engines: {node: '>=8.0.0', npm: '>=5.0.0'} + hasBin: true + dependencies: + chalk: 4.1.2 + highlight.js: 10.7.3 + mz: 2.7.0 + parse5: 5.1.1 + parse5-htmlparser2-tree-adapter: 6.0.1 + yargs: 16.2.0 + dev: true + + /cli-spinners@2.7.0: + resolution: {integrity: sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==} + engines: {node: '>=6'} + + /cli-truncate@3.1.0: + resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + slice-ansi: 5.0.0 + string-width: 5.1.2 + dev: true + + /cli-width@3.0.0: + resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} + engines: {node: '>= 10'} + dev: true + + /cli-width@4.0.0: + resolution: {integrity: sha512-ZksGS2xpa/bYkNzN3BAw1wEjsLV/ZKOf/CCrJ/QOBsxx6fOARIkwTutxp1XIOIohi6HKmOFjMoK/XaqDVUpEEw==} + engines: {node: '>= 12'} + dev: true + + /cliui@7.0.4: + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + dev: true + + /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-buffer@1.0.0: + resolution: {integrity: sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g==} + engines: {node: '>= 0.10'} + dev: true + + /clone-deep@4.0.1: + resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} + engines: {node: '>=6'} + dependencies: + is-plain-object: 2.0.4 + kind-of: 6.0.3 + shallow-clone: 3.0.1 + + /clone-response@1.0.2: + resolution: {integrity: sha512-yjLXh88P599UOyPTFX0POsd7WxnbsVsGohcwzHOLspIhhpalPw1BcqED8NblyZLKcGrL8dTgMlcaZxV2jAD41Q==} + dependencies: + mimic-response: 1.0.1 + dev: true + + /clone-response@1.0.3: + resolution: {integrity: sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==} + dependencies: + mimic-response: 1.0.1 + dev: true + + /clone-stats@1.0.0: + resolution: {integrity: sha512-au6ydSpg6nsrigcZ4m8Bc9hxjeW+GJ8xh5G3BJCMt4WXe1H10UNaVOamqQTmrx1kjVuxAHIQSNU6hY4Nsn9/ag==} + dev: true + + /clone@1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + + /clone@2.1.2: + resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==} + engines: {node: '>=0.8'} + dev: true + + /cloneable-readable@1.1.3: + resolution: {integrity: sha512-2EF8zTQOxYq70Y4XKtorQupqF0m49MBz2/yf5Bj+MHjvpG3Hy7sImifnqD6UA+TKYxeSV+u6qqQPawN5UvnpKQ==} + dependencies: + inherits: 2.0.4 + process-nextick-args: 2.0.1 + readable-stream: 2.3.7 + dev: true + + /co@4.6.0: + resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + 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==} + + /colord@2.9.3: + resolution: {integrity: sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==} + dev: true + + /colorette@2.0.19: + resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} + 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@11.0.0: + resolution: {integrity: sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ==} + engines: {node: '>=16'} + 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'} + + /commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + dev: true + + /commander@8.3.0: + resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} + engines: {node: '>= 12'} + dev: true + + /commitlint@17.7.2(@swc/core@1.3.96): + resolution: {integrity: sha512-2WK/svhKxuPlBgXtZ3uJj5FYZDjfbPiD7P7BkHNgKs3ZPbj3wTXxP3TivPJPB8KY2M7/6AYwNNpc6KOOT83qww==} + engines: {node: '>=v14'} + hasBin: true + dependencies: + '@commitlint/cli': 17.8.1(@swc/core@1.3.96) + '@commitlint/types': 17.8.1 + transitivePeerDependencies: + - '@swc/core' + - '@swc/wasm' + dev: true + + /commondir@1.0.1: + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + + /compare-func@2.0.0: + resolution: {integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==} + dependencies: + array-ify: 1.0.0 + dot-prop: 5.3.0 + dev: true + + /component-bind@1.0.0: + resolution: {integrity: sha512-WZveuKPeKAG9qY+FkYDeADzdHyTYdIboXS59ixDeRJL5ZhxpqUnxSOwop4FQjMsiYm3/Or8cegVbpAHNA7pHxw==} + dev: true + + /component-emitter@1.2.1: + resolution: {integrity: sha512-jPatnhd33viNplKjqXKRkGU345p263OIWzDL2wH3LGIGp5Kojo+uXizHmOADRvhGFFTnJqX3jBAKP6vvmSDKcA==} + dev: true + + /component-emitter@1.3.0: + resolution: {integrity: sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==} + dev: true + + /component-inherit@0.0.3: + resolution: {integrity: sha512-w+LhYREhatpVqTESyGFg3NlP6Iu0kEKUHETY9GoZP/pQyW4mHFZuFWRUCIqVPZ36ueVLtoOEZaAqbCF2RDndaA==} + dev: true + + /compressible@2.0.18: + resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + dev: true + + /compression@1.7.4: + resolution: {integrity: sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==} + engines: {node: '>= 0.8.0'} + dependencies: + accepts: 1.3.8 + bytes: 3.0.0 + compressible: 2.0.18 + debug: 2.6.9 + on-headers: 1.0.2 + safe-buffer: 5.1.2 + vary: 1.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /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.7 + typedarray: 0.0.6 + dev: true + + /concat-stream@2.0.0: + resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==} + engines: {'0': node >= 6.0} + dependencies: + buffer-from: 1.1.2 + inherits: 2.0.4 + readable-stream: 3.6.0 + typedarray: 0.0.6 + dev: true + + /config-chain@1.1.13: + resolution: {integrity: sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==} + dependencies: + ini: 1.3.8 + proto-list: 1.2.4 + dev: true + + /configstore@5.0.1: + resolution: {integrity: sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==} + engines: {node: '>=8'} + dependencies: + dot-prop: 5.3.0 + graceful-fs: 4.2.10 + make-dir: 3.1.0 + unique-string: 2.0.0 + write-file-atomic: 3.0.3 + xdg-basedir: 4.0.0 + dev: true + + /configstore@6.0.0: + resolution: {integrity: sha512-cD31W1v3GqUlQvbBCGcXmd2Nj9SvLDOP1oQ0YFuLETufzSPaKp11rYBsSOm7rCsW3OnIRAFM3OxRhceaXNYHkA==} + engines: {node: '>=12'} + dependencies: + dot-prop: 6.0.1 + graceful-fs: 4.2.10 + unique-string: 3.0.0 + write-file-atomic: 3.0.3 + xdg-basedir: 5.1.0 + dev: true + + /connect-history-api-fallback@2.0.0: + resolution: {integrity: sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==} + engines: {node: '>=0.8'} + dev: true + + /consola@2.15.3: + resolution: {integrity: sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==} + dev: true + + /consolidate@0.15.1(lodash@4.17.21): + resolution: {integrity: sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==} + engines: {node: '>= 0.10.0'} + deprecated: Please upgrade to consolidate v1.0.0+ as it has been modernized with several long-awaited fixes implemented. Maintenance is supported by Forward Email at https://forwardemail.net ; follow/watch https://github.com/ladjs/consolidate for updates and release changelog + peerDependencies: + arc-templates: ^0.5.3 + atpl: '>=0.7.6' + babel-core: ^6.26.3 + bracket-template: ^1.1.5 + coffee-script: ^1.12.7 + dot: ^1.1.3 + dust: ^0.3.0 + dustjs-helpers: ^1.7.4 + dustjs-linkedin: ^2.7.5 + eco: ^1.1.0-rc-3 + ect: ^0.5.9 + ejs: ^3.1.5 + haml-coffee: ^1.14.1 + hamlet: ^0.3.3 + hamljs: ^0.6.2 + handlebars: ^4.7.6 + hogan.js: ^3.0.2 + htmling: ^0.0.8 + jade: ^1.11.0 + jazz: ^0.0.18 + jqtpl: ~1.1.0 + just: ^0.1.8 + liquid-node: ^3.0.1 + liquor: ^0.0.5 + lodash: ^4.17.20 + marko: ^3.14.4 + mote: ^0.2.0 + mustache: ^3.0.0 + nunjucks: ^3.2.2 + plates: ~0.4.11 + pug: ^3.0.0 + qejs: ^3.0.5 + ractive: ^1.3.12 + razor-tmpl: ^1.3.1 + react: ^16.13.1 + react-dom: ^16.13.1 + slm: ^2.0.0 + squirrelly: ^5.1.0 + swig: ^1.4.2 + swig-templates: ^2.0.3 + teacup: ^2.0.0 + templayed: '>=0.2.3' + then-jade: '*' + then-pug: '*' + tinyliquid: ^0.2.34 + toffee: ^0.3.6 + twig: ^1.15.2 + twing: ^5.0.2 + underscore: ^1.11.0 + vash: ^0.13.0 + velocityjs: ^2.0.1 + walrus: ^0.10.1 + whiskers: ^0.4.0 + peerDependenciesMeta: + arc-templates: + optional: true + atpl: + optional: true + babel-core: + optional: true + bracket-template: + optional: true + coffee-script: + optional: true + dot: + optional: true + dust: + optional: true + dustjs-helpers: + optional: true + dustjs-linkedin: + optional: true + eco: + optional: true + ect: + optional: true + ejs: + optional: true + haml-coffee: + optional: true + hamlet: + optional: true + hamljs: + optional: true + handlebars: + optional: true + hogan.js: + optional: true + htmling: + optional: true + jade: + optional: true + jazz: + optional: true + jqtpl: + optional: true + just: + optional: true + liquid-node: + optional: true + liquor: + optional: true + lodash: + optional: true + marko: + optional: true + mote: + optional: true + mustache: + optional: true + nunjucks: + optional: true + plates: + optional: true + pug: + optional: true + qejs: + optional: true + ractive: + optional: true + razor-tmpl: + optional: true + react: + optional: true + react-dom: + optional: true + slm: + optional: true + squirrelly: + optional: true + swig: + optional: true + swig-templates: + optional: true + teacup: + optional: true + templayed: + optional: true + then-jade: + optional: true + then-pug: + optional: true + tinyliquid: + optional: true + toffee: + optional: true + twig: + optional: true + twing: + optional: true + underscore: + optional: true + vash: + optional: true + velocityjs: + optional: true + walrus: + optional: true + whiskers: + optional: true + dependencies: + bluebird: 3.7.2 + lodash: 4.17.21 + 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.4: + resolution: {integrity: sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==} + engines: {node: '>= 0.6'} + dev: true + + /conventional-changelog-angular@5.0.13: + resolution: {integrity: sha512-i/gipMxs7s8L/QeuavPF2hLnJgH6pEZAttySB6aiQLWcX3puWDL3ACVmvBhJGxnAy52Qc15ua26BufY6KpmrVA==} + engines: {node: '>=10'} + dependencies: + compare-func: 2.0.0 + q: 1.5.1 + dev: true + + /conventional-changelog-angular@6.0.0: + resolution: {integrity: sha512-6qLgrBF4gueoC7AFVHu51nHL9pF9FRjXrH+ceVf7WmAfH3gs+gEYOkvxhjMPjZu57I4AGUGoNTY8V7Hrgf1uqg==} + engines: {node: '>=14'} + dependencies: + compare-func: 2.0.0 + dev: true + + /conventional-changelog-atom@2.0.8: + resolution: {integrity: sha512-xo6v46icsFTK3bb7dY/8m2qvc8sZemRgdqLb/bjpBsH2UyOS8rKNTgcb5025Hri6IpANPApbXMg15QLb1LJpBw==} + engines: {node: '>=10'} + dependencies: + q: 1.5.1 + dev: true + + /conventional-changelog-codemirror@2.0.8: + resolution: {integrity: sha512-z5DAsn3uj1Vfp7po3gpt2Boc+Bdwmw2++ZHa5Ak9k0UKsYAO5mH1UBTN0qSCuJZREIhX6WU4E1p3IW2oRCNzQw==} + engines: {node: '>=10'} + dependencies: + q: 1.5.1 + dev: true + + /conventional-changelog-conventionalcommits@4.6.3: + resolution: {integrity: sha512-LTTQV4fwOM4oLPad317V/QNQ1FY4Hju5qeBIM1uTHbrnCE+Eg4CdRZ3gO2pUeR+tzWdp80M2j3qFFEDWVqOV4g==} + engines: {node: '>=10'} + dependencies: + compare-func: 2.0.0 + lodash: 4.17.21 + q: 1.5.1 + dev: true + + /conventional-changelog-conventionalcommits@5.0.0: + resolution: {integrity: sha512-lCDbA+ZqVFQGUj7h9QBKoIpLhl8iihkO0nCTyRNzuXtcd7ubODpYB04IFy31JloiJgG0Uovu8ot8oxRzn7Nwtw==} + engines: {node: '>=10'} + dependencies: + compare-func: 2.0.0 + lodash: 4.17.21 + q: 1.5.1 + dev: true + + /conventional-changelog-core@4.2.4: + resolution: {integrity: sha512-gDVS+zVJHE2v4SLc6B0sLsPiloR0ygU7HaDW14aNJE1v4SlqJPILPl/aJC7YdtRE4CybBf8gDwObBvKha8Xlyg==} + engines: {node: '>=10'} + dependencies: + add-stream: 1.0.0 + conventional-changelog-writer: 5.0.1 + conventional-commits-parser: 3.2.4 + dateformat: 3.0.3 + get-pkg-repo: 4.2.1 + git-raw-commits: 2.0.11 + git-remote-origin-url: 2.0.0 + git-semver-tags: 4.1.1 + lodash: 4.17.21 + normalize-package-data: 3.0.3 + q: 1.5.1 + read-pkg: 3.0.0 + read-pkg-up: 3.0.0 + through2: 4.0.2 + dev: true + + /conventional-changelog-ember@2.0.9: + resolution: {integrity: sha512-ulzIReoZEvZCBDhcNYfDIsLTHzYHc7awh+eI44ZtV5cx6LVxLlVtEmcO+2/kGIHGtw+qVabJYjdI5cJOQgXh1A==} + engines: {node: '>=10'} + dependencies: + q: 1.5.1 + dev: true + + /conventional-changelog-eslint@3.0.9: + resolution: {integrity: sha512-6NpUCMgU8qmWmyAMSZO5NrRd7rTgErjrm4VASam2u5jrZS0n38V7Y9CzTtLT2qwz5xEChDR4BduoWIr8TfwvXA==} + engines: {node: '>=10'} + dependencies: + q: 1.5.1 + dev: true + + /conventional-changelog-express@2.0.6: + resolution: {integrity: sha512-SDez2f3iVJw6V563O3pRtNwXtQaSmEfTCaTBPCqn0oG0mfkq0rX4hHBq5P7De2MncoRixrALj3u3oQsNK+Q0pQ==} + engines: {node: '>=10'} + dependencies: + q: 1.5.1 + dev: true + + /conventional-changelog-jquery@3.0.11: + resolution: {integrity: sha512-x8AWz5/Td55F7+o/9LQ6cQIPwrCjfJQ5Zmfqi8thwUEKHstEn4kTIofXub7plf1xvFA2TqhZlq7fy5OmV6BOMw==} + engines: {node: '>=10'} + dependencies: + q: 1.5.1 + dev: true + + /conventional-changelog-jshint@2.0.9: + resolution: {integrity: sha512-wMLdaIzq6TNnMHMy31hql02OEQ8nCQfExw1SE0hYL5KvU+JCTuPaDO+7JiogGT2gJAxiUGATdtYYfh+nT+6riA==} + engines: {node: '>=10'} + dependencies: + compare-func: 2.0.0 + q: 1.5.1 + dev: true + + /conventional-changelog-preset-loader@2.3.4: + resolution: {integrity: sha512-GEKRWkrSAZeTq5+YjUZOYxdHq+ci4dNwHvpaBC3+ENalzFWuCWa9EZXSuZBpkr72sMdKB+1fyDV4takK1Lf58g==} + engines: {node: '>=10'} + dev: true + + /conventional-changelog-writer@5.0.1: + resolution: {integrity: sha512-5WsuKUfxW7suLblAbFnxAcrvf6r+0b7GvNaWUwUIk0bXMnENP/PEieGKVUQrjPqwPT4o3EPAASBXiY6iHooLOQ==} + engines: {node: '>=10'} + hasBin: true + dependencies: + conventional-commits-filter: 2.0.7 + dateformat: 3.0.3 + handlebars: 4.7.7 + json-stringify-safe: 5.0.1 + lodash: 4.17.21 + meow: 8.1.2 + semver: 6.3.1 + split: 1.0.1 + through2: 4.0.2 + dev: true + + /conventional-changelog@3.1.25: + resolution: {integrity: sha512-ryhi3fd1mKf3fSjbLXOfK2D06YwKNic1nC9mWqybBHdObPd8KJ2vjaXZfYj1U23t+V8T8n0d7gwnc9XbIdFbyQ==} + engines: {node: '>=10'} + dependencies: + conventional-changelog-angular: 5.0.13 + conventional-changelog-atom: 2.0.8 + conventional-changelog-codemirror: 2.0.8 + conventional-changelog-conventionalcommits: 4.6.3 + conventional-changelog-core: 4.2.4 + conventional-changelog-ember: 2.0.9 + conventional-changelog-eslint: 3.0.9 + conventional-changelog-express: 2.0.6 + conventional-changelog-jquery: 3.0.11 + conventional-changelog-jshint: 2.0.9 + conventional-changelog-preset-loader: 2.3.4 + dev: true + + /conventional-commits-filter@2.0.7: + resolution: {integrity: sha512-ASS9SamOP4TbCClsRHxIHXRfcGCnIoQqkvAzCSbZzTFLfcTqJVugB0agRgsEELsqaeWgsXv513eS116wnlSSPA==} + engines: {node: '>=10'} + dependencies: + lodash.ismatch: 4.4.0 + modify-values: 1.0.1 + dev: true + + /conventional-commits-parser@3.2.4: + resolution: {integrity: sha512-nK7sAtfi+QXbxHCYfhpZsfRtaitZLIA6889kFIouLvz6repszQDgxBu7wf2WbU+Dco7sAnNCJYERCwt54WPC2Q==} + engines: {node: '>=10'} + hasBin: true + dependencies: + JSONStream: 1.3.5 + is-text-path: 1.0.1 + lodash: 4.17.21 + meow: 8.1.2 + split2: 3.2.2 + through2: 4.0.2 + dev: true + + /conventional-commits-parser@4.0.0: + resolution: {integrity: sha512-WRv5j1FsVM5FISJkoYMR6tPk07fkKT0UodruX4je86V4owk451yjXAKzKAPOs9l7y59E2viHUS9eQ+dfUA9NSg==} + engines: {node: '>=14'} + hasBin: true + dependencies: + JSONStream: 1.3.5 + is-text-path: 1.0.1 + meow: 8.1.2 + split2: 3.2.2 + dev: true + + /conventional-recommended-bump@6.1.0: + resolution: {integrity: sha512-uiApbSiNGM/kkdL9GTOLAqC4hbptObFo4wW2QRyHsKciGAfQuLU1ShZ1BIVI/+K2BE/W1AWYQMCXAsv4dyKPaw==} + engines: {node: '>=10'} + hasBin: true + dependencies: + concat-stream: 2.0.0 + conventional-changelog-preset-loader: 2.3.4 + conventional-commits-filter: 2.0.7 + conventional-commits-parser: 3.2.4 + git-raw-commits: 2.0.11 + git-semver-tags: 4.1.1 + meow: 8.1.2 + q: 1.5.1 + dev: true + + /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: false + + /cookie-signature@1.0.6: + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} + dev: true + + /cookie@0.4.2: + resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} + engines: {node: '>= 0.6'} + dev: true + + /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-text-to-clipboard@3.2.0: + resolution: {integrity: sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==} + engines: {node: '>=12'} + dev: false + + /copy-webpack-plugin@10.2.0(webpack@5.79.0): + resolution: {integrity: sha512-my6iXII95c78w14HzYCNya5TlJYa44lOppAge5GSTMM1SyDxNsVGCJvhP4/ld6snm8lzjn3XOonMZD6s1L86Og==} + engines: {node: '>= 12.20.0'} + peerDependencies: + webpack: ^5.1.0 + dependencies: + fast-glob: 3.3.1 + glob-parent: 6.0.2 + globby: 12.2.0 + normalize-path: 3.0.0 + schema-utils: 4.2.0 + serialize-javascript: 6.0.1 + webpack: 5.79.0(@swc/core@1.3.96) + dev: true + + /core-js-compat@3.26.1: + resolution: {integrity: sha512-622/KzTudvXCDLRw70iHW4KKs1aGpcRcowGWyYJr2DEBfRrd6hNJybxSWJFuZYD4ma86xhrwDDHxmDaIq4EA8A==} + dependencies: + browserslist: 4.22.2 + + /core-js-pure@3.26.1: + resolution: {integrity: sha512-VVXcDpp/xJ21KdULRq/lXdLzQAtX7+37LzpyfFM973il0tWSsDEoyzG38G14AjTpK9VTfiNM9jnFauq/CpaWGQ==} + requiresBuild: true + dev: true + + /core-js@3.26.1: + resolution: {integrity: sha512-21491RRQVzUn0GGM9Z1Jrpr6PNPxPi+Za8OM9q4tksTSnlbXXGKK1nXNg/QvwFYettXvSX6zWKCtHHfjN4puyA==} + requiresBuild: 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-typescript-loader@4.3.0(@types/node@20.5.1)(cosmiconfig@8.3.6)(ts-node@10.9.1)(typescript@5.2.2): + resolution: {integrity: sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q==} + engines: {node: '>=12', npm: '>=6'} + peerDependencies: + '@types/node': '*' + cosmiconfig: '>=7' + ts-node: '>=10' + typescript: '>=3' + dependencies: + '@types/node': 20.5.1 + cosmiconfig: 8.3.6(typescript@5.2.2) + ts-node: 10.9.1(@swc/core@1.3.96)(@types/node@20.5.1)(typescript@5.2.2) + typescript: 5.2.2 + dev: true + + /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 + dev: true + + /cosmiconfig@8.1.3: + resolution: {integrity: sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw==} + engines: {node: '>=14'} + dependencies: + import-fresh: 3.3.0 + js-yaml: 4.1.0 + parse-json: 5.2.0 + path-type: 4.0.0 + dev: true + + /cosmiconfig@8.3.6(typescript@5.2.2): + resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + import-fresh: 3.3.0 + js-yaml: 4.1.0 + parse-json: 5.2.0 + path-type: 4.0.0 + typescript: 5.2.2 + 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-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 + + /crypt@0.0.2: + resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==} + dev: true + + /crypto-js@4.1.1: + resolution: {integrity: sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==} + dev: false + + /crypto-random-string@2.0.0: + resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} + engines: {node: '>=8'} + dev: true + + /crypto-random-string@4.0.0: + resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==} + engines: {node: '>=12'} + dependencies: + type-fest: 1.4.0 + dev: true + + /css-declaration-sorter@6.3.1(postcss@8.4.19): + resolution: {integrity: sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==} + engines: {node: ^10 || ^12 || >=14} + peerDependencies: + postcss: ^8.0.9 + dependencies: + postcss: 8.4.19 + dev: true + + /css-functions-list@3.1.0: + resolution: {integrity: sha512-/9lCvYZaUbBGvYUgYGFJ4dcYiyqdhSjG7IPVluoV8A1ILjkF7ilmhp1OGUz8n+nmBcu0RNrQAzgD8B6FJbrt2w==} + engines: {node: '>=12.22'} + dev: true + + /css-loader@6.7.3(webpack@5.79.0): + resolution: {integrity: sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^5.0.0 + dependencies: + icss-utils: 5.1.0(postcss@8.4.19) + postcss: 8.4.19 + postcss-modules-extract-imports: 3.0.0(postcss@8.4.19) + postcss-modules-local-by-default: 4.0.0(postcss@8.4.19) + postcss-modules-scope: 3.0.0(postcss@8.4.19) + postcss-modules-values: 4.0.0(postcss@8.4.19) + postcss-value-parser: 4.2.0 + semver: 7.5.4 + webpack: 5.79.0(@swc/core@1.3.96) + dev: true + + /css-minimizer-webpack-plugin@3.4.1(@parcel/css@1.14.0)(csso@5.0.5)(esbuild@0.19.9)(webpack@5.79.0): + resolution: {integrity: sha512-1u6D71zeIfgngN2XNRJefc/hY7Ybsxd74Jm4qngIXyUEk7fss3VUzuHxLAq/R8NAba4QU9OUSaMZlbpRc7bM4Q==} + engines: {node: '>= 12.13.0'} + peerDependencies: + '@parcel/css': '*' + clean-css: '*' + csso: '*' + esbuild: '*' + webpack: ^5.0.0 + peerDependenciesMeta: + '@parcel/css': + optional: true + clean-css: + optional: true + csso: + optional: true + esbuild: + optional: true + dependencies: + '@parcel/css': 1.14.0 + cssnano: 5.1.14(postcss@8.4.19) + csso: 5.0.5 + esbuild: 0.19.9 + jest-worker: 27.5.1 + postcss: 8.4.19 + schema-utils: 4.2.0 + serialize-javascript: 6.0.1 + source-map: 0.6.1 + webpack: 5.79.0(@swc/core@1.3.96) + 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-tree@1.0.0-alpha.29: + resolution: {integrity: sha512-sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg==} + engines: {node: '>=0.10.0'} + dependencies: + mdn-data: 1.1.4 + source-map: 0.5.7 + 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 + dev: true + + /css-tree@2.2.1: + resolution: {integrity: sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + dependencies: + mdn-data: 2.0.28 + source-map-js: 1.0.2 + dev: true + + /css-what@6.1.0: + resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} + engines: {node: '>= 6'} + dev: true + + /css@3.0.0: + resolution: {integrity: sha512-DG9pFfwOrzc+hawpmqX/dHYHJG+Bsdb0klhyi1sDneOgGOXy9wQIC8hzyVp1e4NRYDBdxcylvywPkkXCHAzTyQ==} + dependencies: + inherits: 2.0.4 + source-map: 0.6.1 + source-map-resolve: 0.6.0 + dev: true + + /cssesc@3.0.0: + resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /cssnano-preset-default@5.2.13(postcss@8.4.19): + resolution: {integrity: sha512-PX7sQ4Pb+UtOWuz8A1d+Rbi+WimBIxJTRyBdgGp1J75VU0r/HFQeLnMYgHiCAp6AR4rqrc7Y4R+1Rjk3KJz6DQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + css-declaration-sorter: 6.3.1(postcss@8.4.19) + cssnano-utils: 3.1.0(postcss@8.4.19) + postcss: 8.4.19 + postcss-calc: 8.2.4(postcss@8.4.19) + postcss-colormin: 5.3.0(postcss@8.4.19) + postcss-convert-values: 5.1.3(postcss@8.4.19) + postcss-discard-comments: 5.1.2(postcss@8.4.19) + postcss-discard-duplicates: 5.1.0(postcss@8.4.19) + postcss-discard-empty: 5.1.1(postcss@8.4.19) + postcss-discard-overridden: 5.1.0(postcss@8.4.19) + postcss-merge-longhand: 5.1.7(postcss@8.4.19) + postcss-merge-rules: 5.1.3(postcss@8.4.19) + postcss-minify-font-values: 5.1.0(postcss@8.4.19) + postcss-minify-gradients: 5.1.1(postcss@8.4.19) + postcss-minify-params: 5.1.4(postcss@8.4.19) + postcss-minify-selectors: 5.2.1(postcss@8.4.19) + postcss-normalize-charset: 5.1.0(postcss@8.4.19) + postcss-normalize-display-values: 5.1.0(postcss@8.4.19) + postcss-normalize-positions: 5.1.1(postcss@8.4.19) + postcss-normalize-repeat-style: 5.1.1(postcss@8.4.19) + postcss-normalize-string: 5.1.0(postcss@8.4.19) + postcss-normalize-timing-functions: 5.1.0(postcss@8.4.19) + postcss-normalize-unicode: 5.1.1(postcss@8.4.19) + postcss-normalize-url: 5.1.0(postcss@8.4.19) + postcss-normalize-whitespace: 5.1.1(postcss@8.4.19) + postcss-ordered-values: 5.1.3(postcss@8.4.19) + postcss-reduce-initial: 5.1.1(postcss@8.4.19) + postcss-reduce-transforms: 5.1.0(postcss@8.4.19) + postcss-svgo: 5.1.0(postcss@8.4.19) + postcss-unique-selectors: 5.1.1(postcss@8.4.19) + dev: true + + /cssnano-utils@3.1.0(postcss@8.4.19): + resolution: {integrity: sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.19 + dev: true + + /cssnano@5.1.14(postcss@8.4.19): + resolution: {integrity: sha512-Oou7ihiTocbKqi0J1bB+TRJIQX5RMR3JghA8hcWSw9mjBLQ5Y3RWqEDoYG3sRNlAbCIXpqMoZGbq5KDR3vdzgw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + cssnano-preset-default: 5.2.13(postcss@8.4.19) + lilconfig: 2.1.0 + postcss: 8.4.19 + yaml: 1.10.2 + dev: true + + /csso@3.5.1: + resolution: {integrity: sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg==} + engines: {node: '>=0.10.0'} + dependencies: + css-tree: 1.0.0-alpha.29 + 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 + + /csso@5.0.5: + resolution: {integrity: sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==} + engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: '>=7.0.0'} + dependencies: + css-tree: 2.2.1 + dev: true + + /cssstyle@3.0.0: + resolution: {integrity: sha512-N4u2ABATi3Qplzf0hWbVCdjenim8F3ojEXpBDF5hBpjzW182MjNGLqfmQ0SkSPeQ+V86ZXgeH8aXj6kayd4jgg==} + engines: {node: '>=14'} + dependencies: + rrweb-cssom: 0.6.0 + dev: true + + /csstype@3.1.2: + resolution: {integrity: sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==} + + /cuint@0.2.2: + resolution: {integrity: sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==} + dev: true + + /dargs@7.0.0: + resolution: {integrity: sha512-2iy1EkLdlBzQGvbweYRFxmFath8+K7+AKB0TlhHWkNuH+TmovaMH/Wp7V7R4u7f4SnX3OgLsU9t1NI9ioDnUpg==} + engines: {node: '>=8'} + dev: true + + /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@3.0.1: + resolution: {integrity: sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==} + engines: {node: '>= 6'} + dev: true + + /data-uri-to-buffer@4.0.1: + resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} + engines: {node: '>= 12'} + dev: true + + /data-urls@4.0.0: + resolution: {integrity: sha512-/mMTei/JXPqvFqQtfyTowxmJVwr2PVAeCcDxyFf6LhoOu/09TX2OX3kb2wzi4DMXcfj4OItwDOnhl5oziPnT6g==} + engines: {node: '>=14'} + dependencies: + abab: 2.0.6 + whatwg-mimetype: 3.0.0 + whatwg-url: 12.0.1 + dev: true + + /dateformat@3.0.3: + resolution: {integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==} + dev: true + + /dayjs@1.11.10: + resolution: {integrity: sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==} + dev: false + + /dayjs@1.11.6: + resolution: {integrity: sha512-zZbY5giJAinCG+7AGaw0wIhNZ6J8AhWuSXKvuc1KAyMiRsvGQWqh4L+MomvhdAYjN+lqvVCMq1I41e3YHvXkyQ==} + dev: false + + /debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.0.0 + dev: true + + /debug@3.1.0: + resolution: {integrity: sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.0.0 + dev: true + + /debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.3 + dev: true + optional: true + + /debug@4.1.1: + resolution: {integrity: sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==} + deprecated: Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797) + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.3 + dev: true + + /debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + + /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'} + dev: true + + /decimal.js@10.4.3: + resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} + dev: true + + /decode-uri-component@0.2.0: + resolution: {integrity: sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==} + engines: {node: '>=0.10'} + + /decompress-response@3.3.0: + resolution: {integrity: sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==} + engines: {node: '>=4'} + dependencies: + mimic-response: 1.0.1 + dev: true + + /decompress-response@6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} + dependencies: + mimic-response: 3.1.0 + dev: true + + /decompress-tar@4.1.1: + resolution: {integrity: sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ==} + engines: {node: '>=4'} + dependencies: + file-type: 5.2.0 + is-stream: 1.1.0 + tar-stream: 1.6.2 + dev: true + + /decompress-tarbz2@4.1.1: + resolution: {integrity: sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A==} + engines: {node: '>=4'} + dependencies: + decompress-tar: 4.1.1 + file-type: 6.2.0 + is-stream: 1.1.0 + seek-bzip: 1.0.6 + unbzip2-stream: 1.4.3 + dev: true + + /decompress-targz@4.1.1: + resolution: {integrity: sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w==} + engines: {node: '>=4'} + dependencies: + decompress-tar: 4.1.1 + file-type: 5.2.0 + is-stream: 1.1.0 + dev: true + + /decompress-unzip@4.0.1: + resolution: {integrity: sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw==} + engines: {node: '>=4'} + dependencies: + file-type: 3.9.0 + get-stream: 2.3.1 + pify: 2.3.0 + yauzl: 2.10.0 + dev: true + + /decompress@4.2.1: + resolution: {integrity: sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ==} + engines: {node: '>=4'} + dependencies: + decompress-tar: 4.1.1 + decompress-tarbz2: 4.1.1 + decompress-targz: 4.1.1 + decompress-unzip: 4.0.1 + graceful-fs: 4.2.10 + make-dir: 1.3.0 + pify: 2.3.0 + strip-dirs: 2.1.0 + dev: true + + /deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + dev: true + + /deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: true + + /deepmerge@1.5.2: + resolution: {integrity: sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==} + engines: {node: '>=0.10.0'} + dev: true + + /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.2.0 + titleize: 3.0.0 + dev: true + + /default-gateway@6.0.3: + resolution: {integrity: sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==} + engines: {node: '>= 10'} + dependencies: + execa: 5.1.1 + dev: true + + /defaults@1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + dependencies: + clone: 1.0.4 + + /defer-to-connect@1.1.3: + resolution: {integrity: sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==} + dev: true + + /defer-to-connect@2.0.1: + resolution: {integrity: sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg==} + engines: {node: '>=10'} + dev: true + + /define-lazy-prop@2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + dev: true + + /define-lazy-prop@3.0.0: + resolution: {integrity: sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==} + engines: {node: '>=12'} + dev: true + + /define-properties@1.1.4: + resolution: {integrity: sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==} + engines: {node: '>= 0.4'} + dependencies: + has-property-descriptors: 1.0.0 + object-keys: 1.1.1 + dev: true + + /defu@6.1.4: + resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} + dev: false + + /degenerator@3.0.3: + resolution: {integrity: sha512-FTq/qYMeBJACu1gHcXJvzsRBTK6aw5zWCYbEnIOyamOt5UJufWJRQ5XfDb6OuayfJWvmWAHgcZyt43vm/hbj7g==} + engines: {node: '>= 6'} + dependencies: + ast-types: 0.13.4 + escodegen: 1.14.3 + esprima: 4.0.1 + vm2: 3.9.11 + dev: true + + /delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + /depcheck@1.4.3: + resolution: {integrity: sha512-vy8xe1tlLFu7t4jFyoirMmOR7x7N601ubU9Gkifyr9z8rjBFtEdWHDBMqXyk6OkK+94NXutzddVXJuo0JlUQKQ==} + engines: {node: '>=10'} + hasBin: true + dependencies: + '@babel/parser': 7.16.4 + '@babel/traverse': 7.23.7 + '@vue/compiler-sfc': 3.3.4 + camelcase: 6.3.0 + cosmiconfig: 7.1.0 + debug: 4.3.4 + deps-regex: 0.1.4 + ignore: 5.3.0 + is-core-module: 2.11.0 + js-yaml: 3.14.1 + json5: 2.2.3 + lodash: 4.17.21 + minimatch: 3.1.2 + multimatch: 5.0.0 + please-upgrade-node: 3.2.0 + query-ast: 1.0.5 + readdirp: 3.6.0 + require-package-name: 2.0.1 + resolve: 1.22.1 + sass: 1.50.0 + scss-parser: 1.0.6 + semver: 7.5.4 + yargs: 16.2.0 + transitivePeerDependencies: + - supports-color + dev: true + + /depd@1.1.2: + resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} + engines: {node: '>= 0.6'} + dev: true + + /depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + dev: true + + /deprecation@2.3.1: + resolution: {integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==} + dev: true + + /deps-regex@0.1.4: + resolution: {integrity: sha512-3tzwGYogSJi8HoG93R5x9NrdefZQOXgHgGih/7eivloOq6yC6O+yoFxZnkgP661twvfILONfoKRdF9GQOGx2RA==} + 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-libc@1.0.3: + resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} + engines: {node: '>=0.10'} + hasBin: true + dev: true + + /detect-node@2.1.0: + resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} + dev: true + + /detect-port@1.5.1: + resolution: {integrity: sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==} + hasBin: true + dependencies: + address: 1.2.1 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + + /diff@4.0.2: + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} + dev: true + + /dingtalk-jsapi@2.15.4: + resolution: {integrity: sha512-pPETqUhLJYKNZIewnS9hU1/QqcdRbP2Q9sHySimko0C2nm/n9NoakVLtcKwdqgORq1dkPIP/jqv7RnESxhA2bA==} + dependencies: + promise-polyfill: 7.1.2 + + /dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + dependencies: + path-type: 4.0.0 + dev: true + + /dns-equal@1.0.0: + resolution: {integrity: sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==} + dev: true + + /dns-packet@5.6.1: + resolution: {integrity: sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==} + engines: {node: '>=6'} + dependencies: + '@leichtgewicht/ip-codec': 2.0.4 + dev: true + + /doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /dom-converter@0.2.0: + resolution: {integrity: sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==} + dependencies: + utila: 0.4.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-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.4.0 + dev: true + + /dom7@3.0.0: + resolution: {integrity: sha512-oNlcUdHsC4zb7Msx7JN3K0Nro1dzJ48knvBOnDPKJ2GV9wl1i5vydJZUSyOfrkKFDZEud/jBsTk92S/VGSAe/g==} + dependencies: + ssr-window: 3.0.0 + + /domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + dev: true + + /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 + dev: true + + /domhandler@4.3.1: + resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} + engines: {node: '>= 4'} + dependencies: + domelementtype: 2.3.0 + dev: true + + /domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + dependencies: + domelementtype: 2.3.0 + 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 + + /domutils@3.0.1: + resolution: {integrity: sha512-z08c1l761iKhDFtfXO04C7kTdPBLi41zwOZl00WS8b5eiaebNpY00HKbztwBq+e3vyqWNwWF3mP9YLUeqIrF+Q==} + dependencies: + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + dev: true + + /dot-case@3.0.4: + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + dependencies: + no-case: 3.0.4 + tslib: 2.4.1 + dev: true + + /dot-prop@5.3.0: + resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} + engines: {node: '>=8'} + dependencies: + is-obj: 2.0.0 + dev: true + + /dot-prop@6.0.1: + resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} + engines: {node: '>=10'} + dependencies: + is-obj: 2.0.0 + dev: true + + /dotenv-expand@9.0.0: + resolution: {integrity: sha512-uW8Hrhp5ammm9x7kBLR6jDfujgaDarNA02tprvZdyrJ7MpdzD1KyrIHG4l+YoC2fJ2UcdFdNWNWIjt+sexBHJw==} + engines: {node: '>=12'} + + /dotenv@16.0.3: + resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} + engines: {node: '>=12'} + + /download-git-repo@2.0.0: + resolution: {integrity: sha512-al8ZOwpm/DvCd7XC8PupeuNlC2TrvsMxW3FOx1bCbHNBhP1lYjOn9KnPqnZ3o/jz1vxCC5NHGJA7LT+GYMLcHA==} + dependencies: + download: 7.1.0 + git-clone: 0.1.0 + rimraf: 2.7.1 + dev: true + + /download@7.1.0: + resolution: {integrity: sha512-xqnBTVd/E+GxJVrX5/eUJiLYjCGPwMpdL+jGhGU57BvtcA7wwhtHVbXBeUk51kOpW3S7Jn3BQbN9Q1R1Km2qDQ==} + engines: {node: '>=6'} + dependencies: + archive-type: 4.0.0 + caw: 2.0.1 + content-disposition: 0.5.4 + decompress: 4.2.1 + ext-name: 5.0.0 + file-type: 8.1.0 + filenamify: 2.1.0 + get-stream: 3.0.0 + got: 8.3.2 + make-dir: 1.3.0 + p-event: 2.3.1 + pify: 3.0.0 + dev: true + + /duplexer3@0.1.5: + resolution: {integrity: sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==} + dev: true + + /duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + dev: true + + /eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + dev: true + + /ecc-jsbn@0.1.2: + resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} + dependencies: + jsbn: 0.1.1 + safer-buffer: 2.1.2 + dev: true + + /ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + dev: true + + /ejs@3.1.8: + resolution: {integrity: sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==} + engines: {node: '>=0.10.0'} + hasBin: true + dependencies: + jake: 10.8.5 + dev: true + + /electron-to-chromium@1.4.284: + resolution: {integrity: sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==} + + /electron-to-chromium@1.4.637: + resolution: {integrity: sha512-G7j3UCOukFtxVO1vWrPQUoDk3kL70mtvjc/DC/k2o7lE0wAdq+Vwp1ipagOow+BH0uVztFysLWbkM/RTIrbK3w==} + + /electron@12.2.3: + resolution: {integrity: sha512-B27c7eqx1bC5kea6An8oVhk1pShNC4VGqWarHMhD47MDtmg54KepHO5AbAvmKKZK/jWN7NTC7wyCYTDElJNtQA==} + engines: {node: '>= 8.6'} + hasBin: true + requiresBuild: true + dependencies: + '@electron/get': 1.14.1 + '@types/node': 14.18.33 + extract-zip: 1.7.0 + transitivePeerDependencies: + - supports-color + dev: true + + /emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + dev: true + + /emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + dev: true + + /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 + + /end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + dev: true + + /engine.io-client@3.5.3: + resolution: {integrity: sha512-qsgyc/CEhJ6cgMUwxRRtOndGVhIu5hpL5tR4umSpmX/MvkFoIxUTM7oFMDQumHNzlNLwSVy6qhstFPoWTf7dOw==} + dependencies: + component-emitter: 1.3.0 + component-inherit: 0.0.3 + debug: 3.1.0 + engine.io-parser: 2.2.1 + has-cors: 1.1.0 + indexof: 0.0.1 + parseqs: 0.0.6 + parseuri: 0.0.6 + ws: 7.4.6 + xmlhttprequest-ssl: 1.6.3 + yeast: 0.1.2 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: true + + /engine.io-parser@2.2.1: + resolution: {integrity: sha512-x+dN/fBH8Ro8TFwJ+rkB2AmuVw9Yu2mockR/p3W8f8YtExwFgDvBDi0GWyb4ZLkpahtDGZgtr3zLovanJghPqg==} + dependencies: + after: 0.8.2 + arraybuffer.slice: 0.0.7 + base64-arraybuffer: 0.1.4 + blob: 0.0.5 + has-binary2: 1.0.3 + dev: true + + /engine.io@3.6.1: + resolution: {integrity: sha512-dfs8EVg/i7QjFsXxn7cCRQ+Wai1G1TlEvHhdYEi80fxn5R1vZ2K661O6v/rezj1FP234SZ14r9CmJke99iYDGg==} + engines: {node: '>=8.0.0'} + dependencies: + accepts: 1.3.8 + base64id: 2.0.0 + cookie: 0.4.2 + debug: 4.1.1 + engine.io-parser: 2.2.1 + ws: 7.4.6 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: true + + /enhanced-resolve@5.12.0: + resolution: {integrity: sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==} + engines: {node: '>=10.13.0'} + dependencies: + graceful-fs: 4.2.10 + tapable: 2.2.1 + + /entities@2.2.0: + resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} + dev: true + + /entities@4.4.0: + resolution: {integrity: sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==} + engines: {node: '>=0.12'} + dev: true + + /env-paths@2.2.1: + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} + dev: true + + /envinfo@7.8.1: + resolution: {integrity: sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==} + engines: {node: '>=4'} + hasBin: true + 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 + dev: true + + /es-abstract@1.20.4: + resolution: {integrity: sha512-0UtvRN79eMe2L+UNEF1BwRe364sj/DXhQ/k5FmivgoSdpM90b8Jc0mDzKMGo7QS0BVbOP/bTwBKNnDc9rNzaPA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + es-to-primitive: 1.2.1 + function-bind: 1.1.1 + function.prototype.name: 1.1.5 + get-intrinsic: 1.2.0 + get-symbol-description: 1.0.0 + has: 1.0.3 + has-property-descriptors: 1.0.0 + has-symbols: 1.0.3 + internal-slot: 1.0.3 + 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-weakref: 1.0.2 + object-inspect: 1.12.2 + object-keys: 1.1.1 + object.assign: 4.1.4 + regexp.prototype.flags: 1.4.3 + safe-regex-test: 1.0.0 + string.prototype.trimend: 1.0.6 + string.prototype.trimstart: 1.0.6 + unbox-primitive: 1.0.2 + dev: true + + /es-array-method-boxes-properly@1.0.0: + resolution: {integrity: sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==} + dev: true + + /es-get-iterator@1.1.3: + resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.0 + 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@0.10.5: + resolution: {integrity: sha512-+7IwY/kiGAacQfY+YBhKMvEmyAJnw5grTUgjG85Pe7vcUI/6b7pZjZG8nQ7+48YhzEAEqrEgD2dCz/JIK+AYvw==} + dev: true + + /es-module-lexer@1.2.1: + resolution: {integrity: sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==} + + /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 + dev: true + + /es6-error@4.1.1: + resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} + dev: true + optional: true + + /esbuild-android-64@0.14.54: + resolution: {integrity: sha512-Tz2++Aqqz0rJ7kYBfz+iqyE3QMycD4vk7LBRyWaAVFgFtQ/O8EJOnVmTOiDWYZ/uYzB4kvP+bqejYdVKzE5lAQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /esbuild-android-arm64@0.14.54: + resolution: {integrity: sha512-F9E+/QDi9sSkLaClO8SOV6etqPd+5DgJje1F9lOWoNncDdOBL2YF59IhsWATSt0TLZbYCf3pNlTHvVV5VfHdvg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /esbuild-darwin-64@0.14.54: + resolution: {integrity: sha512-jtdKWV3nBviOd5v4hOpkVmpxsBy90CGzebpbO9beiqUYVMBtSc0AL9zGftFuBon7PNDcdvNCEuQqw2x0wP9yug==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /esbuild-darwin-arm64@0.14.54: + resolution: {integrity: sha512-OPafJHD2oUPyvJMrsCvDGkRrVCar5aVyHfWGQzY1dWnzErjrDuSETxwA2HSsyg2jORLY8yBfzc1MIpUkXlctmw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /esbuild-freebsd-64@0.14.54: + resolution: {integrity: sha512-OKwd4gmwHqOTp4mOGZKe/XUlbDJ4Q9TjX0hMPIDBUWWu/kwhBAudJdBoxnjNf9ocIB6GN6CPowYpR/hRCbSYAg==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-freebsd-arm64@0.14.54: + resolution: {integrity: sha512-sFwueGr7OvIFiQT6WeG0jRLjkjdqWWSrfbVwZp8iMP+8UHEHRBvlaxL6IuKNDwAozNUmbb8nIMXa7oAOARGs1Q==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-32@0.14.54: + resolution: {integrity: sha512-1ZuY+JDI//WmklKlBgJnglpUL1owm2OX+8E1syCD6UAxcMM/XoWd76OHSjl/0MR0LisSAXDqgjT3uJqT67O3qw==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-64@0.14.54: + resolution: {integrity: sha512-EgjAgH5HwTbtNsTqQOXWApBaPVdDn7XcK+/PtJwZLT1UmpLoznPd8c5CxqsH2dQK3j05YsB3L17T8vE7cp4cCg==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-arm64@0.14.54: + resolution: {integrity: sha512-WL71L+0Rwv+Gv/HTmxTEmpv0UgmxYa5ftZILVi2QmZBgX3q7+tDeOQNqGtdXSdsL8TQi1vIaVFHUPDe0O0kdig==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-arm@0.14.54: + resolution: {integrity: sha512-qqz/SjemQhVMTnvcLGoLOdFpCYbz4v4fUo+TfsWG+1aOu70/80RV6bgNpR2JCrppV2moUQkww+6bWxXRL9YMGw==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-mips64le@0.14.54: + resolution: {integrity: sha512-qTHGQB8D1etd0u1+sB6p0ikLKRVuCWhYQhAHRPkO+OF3I/iSlTKNNS0Lh2Oc0g0UFGguaFZZiPJdJey3AGpAlw==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-ppc64le@0.14.54: + resolution: {integrity: sha512-j3OMlzHiqwZBDPRCDFKcx595XVfOfOnv68Ax3U4UKZ3MTYQB5Yz3X1mn5GnodEVYzhtZgxEBidLWeIs8FDSfrQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-riscv64@0.14.54: + resolution: {integrity: sha512-y7Vt7Wl9dkOGZjxQZnDAqqn+XOqFD7IMWiewY5SPlNlzMX39ocPQlOaoxvT4FllA5viyV26/QzHtvTjVNOxHZg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-s390x@0.14.54: + resolution: {integrity: sha512-zaHpW9dziAsi7lRcyV4r8dhfG1qBidQWUXweUjnw+lliChJqQr+6XD71K41oEIC3Mx1KStovEmlzm+MkGZHnHA==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-loader@2.18.0(webpack@5.79.0): + resolution: {integrity: sha512-AKqxM3bI+gvGPV8o6NAhR+cBxVO8+dh+O0OXBHIXXwuSGumckbPWHzZ17subjBGI2YEGyJ1STH7Haj8aCrwL/w==} + peerDependencies: + webpack: ^4.40.0 || ^5.0.0 + dependencies: + esbuild: 0.14.54 + joycon: 3.1.1 + json5: 2.2.3 + loader-utils: 2.0.4 + tapable: 2.2.1 + webpack: 5.79.0(@swc/core@1.3.96) + webpack-sources: 2.3.1 + dev: true + + /esbuild-netbsd-64@0.14.54: + resolution: {integrity: sha512-PR01lmIMnfJTgeU9VJTDY9ZerDWVFIUzAtJuDHwwceppW7cQWjBBqP48NdeRtoP04/AtO9a7w3viI+PIDr6d+w==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-openbsd-64@0.14.54: + resolution: {integrity: sha512-Qyk7ikT2o7Wu76UsvvDS5q0amJvmRzDyVlL0qf5VLsLchjCa1+IAvd8kTBgUxD7VBUUVgItLkk609ZHUc1oCaw==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-sunos-64@0.14.54: + resolution: {integrity: sha512-28GZ24KmMSeKi5ueWzMcco6EBHStL3B6ubM7M51RmPwXQGLe0teBGJocmWhgwccA1GeFXqxzILIxXpHbl9Q/Kw==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-32@0.14.54: + resolution: {integrity: sha512-T+rdZW19ql9MjS7pixmZYVObd9G7kcaZo+sETqNH4RCkuuYSuv9AGHUVnPoP9hhuE1WM1ZimHz1CIBHBboLU7w==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-64@0.14.54: + resolution: {integrity: sha512-AoHTRBUuYwXtZhjXZbA1pGfTo8cJo3vZIcWGLiUcTNgHpJJMC1rVA44ZereBHMJtotyN71S8Qw0npiCIkW96cQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-arm64@0.14.54: + resolution: {integrity: sha512-M0kuUvXhot1zOISQGXwWn6YtS+Y/1RT9WrVIOywZnJHo3jCDyewAc79aKNQWFCQm+xNHVTq9h8dZKvygoXQQRg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild@0.14.54: + resolution: {integrity: sha512-Cy9llcy8DvET5uznocPyqL3BFRrFXSVqbgpMJ9Wz8oVjZlh/zUSNbPRbov0VX7VxN2JH1Oa0uNxZ7eLRb62pJA==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/linux-loong64': 0.14.54 + esbuild-android-64: 0.14.54 + esbuild-android-arm64: 0.14.54 + esbuild-darwin-64: 0.14.54 + esbuild-darwin-arm64: 0.14.54 + esbuild-freebsd-64: 0.14.54 + esbuild-freebsd-arm64: 0.14.54 + esbuild-linux-32: 0.14.54 + esbuild-linux-64: 0.14.54 + esbuild-linux-arm: 0.14.54 + esbuild-linux-arm64: 0.14.54 + esbuild-linux-mips64le: 0.14.54 + esbuild-linux-ppc64le: 0.14.54 + esbuild-linux-riscv64: 0.14.54 + esbuild-linux-s390x: 0.14.54 + esbuild-netbsd-64: 0.14.54 + esbuild-openbsd-64: 0.14.54 + esbuild-sunos-64: 0.14.54 + esbuild-windows-32: 0.14.54 + esbuild-windows-64: 0.14.54 + esbuild-windows-arm64: 0.14.54 + dev: true + + /esbuild@0.19.9: + resolution: {integrity: sha512-U9CHtKSy+EpPsEBa+/A2gMs/h3ylBC0H0KSqIg7tpztHerLi6nrrcoUJAkNCEPumx8yJ+Byic4BVwHgRbN0TBg==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.19.9 + '@esbuild/android-arm64': 0.19.9 + '@esbuild/android-x64': 0.19.9 + '@esbuild/darwin-arm64': 0.19.9 + '@esbuild/darwin-x64': 0.19.9 + '@esbuild/freebsd-arm64': 0.19.9 + '@esbuild/freebsd-x64': 0.19.9 + '@esbuild/linux-arm': 0.19.9 + '@esbuild/linux-arm64': 0.19.9 + '@esbuild/linux-ia32': 0.19.9 + '@esbuild/linux-loong64': 0.19.9 + '@esbuild/linux-mips64el': 0.19.9 + '@esbuild/linux-ppc64': 0.19.9 + '@esbuild/linux-riscv64': 0.19.9 + '@esbuild/linux-s390x': 0.19.9 + '@esbuild/linux-x64': 0.19.9 + '@esbuild/netbsd-x64': 0.19.9 + '@esbuild/openbsd-x64': 0.19.9 + '@esbuild/sunos-x64': 0.19.9 + '@esbuild/win32-arm64': 0.19.9 + '@esbuild/win32-ia32': 0.19.9 + '@esbuild/win32-x64': 0.19.9 + + /escalade@3.1.1: + resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} + engines: {node: '>=6'} + + /escape-goat@2.1.1: + resolution: {integrity: sha512-8/uIhbG12Csjy2JEW7D9pHbreaVaS/OpN3ycnyvElTdwM5n6GY6W6e2IPemfvGZeUMqZ9A/3GqIZMgKnBhAw/Q==} + engines: {node: '>=8'} + dev: true + + /escape-goat@4.0.0: + resolution: {integrity: sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==} + engines: {node: '>=12'} + dev: true + + /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@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + dev: true + + /escape-string-regexp@5.0.0: + resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} + engines: {node: '>=12'} + dev: true + + /escodegen@1.14.3: + resolution: {integrity: sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==} + engines: {node: '>=4.0'} + hasBin: true + dependencies: + esprima: 4.0.1 + estraverse: 4.3.0 + esutils: 2.0.3 + optionator: 0.8.3 + optionalDependencies: + source-map: 0.6.1 + dev: true + + /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 + dev: true + + /eslint-config-prettier@8.5.0(eslint@8.28.0): + resolution: {integrity: sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + dependencies: + eslint: 8.28.0 + dev: true + + /eslint-config-taro@3.6.20(@babel/core@7.20.5)(eslint@8.28.0)(typescript@5.2.2): + resolution: {integrity: sha512-etIepI/1mYTWDEDuyiZxGfXkGw3QWr/Obse3cRjHyEzJ6mRBHvyGWGsf7xInvq/a2RcmGuRhdIRTvPjd+KbYUg==} + peerDependencies: + eslint: '*' + dependencies: + '@babel/eslint-parser': 7.19.1(@babel/core@7.20.5)(eslint@8.28.0) + '@typescript-eslint/parser': 5.45.0(eslint@8.28.0)(typescript@5.2.2) + eslint: 8.28.0 + transitivePeerDependencies: + - '@babel/core' + - supports-color + - typescript + dev: true + + /eslint-plugin-prettier@4.2.1(eslint-config-prettier@8.5.0)(eslint@8.28.0)(prettier@2.7.1): + resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} + engines: {node: '>=12.0.0'} + peerDependencies: + eslint: '>=7.28.0' + eslint-config-prettier: '*' + prettier: '>=2.0.0' + peerDependenciesMeta: + eslint-config-prettier: + optional: true + dependencies: + eslint: 8.28.0 + eslint-config-prettier: 8.5.0(eslint@8.28.0) + prettier: 2.7.1 + prettier-linter-helpers: 1.0.0 + dev: true + + /eslint-plugin-vue@9.8.0(eslint@8.28.0): + resolution: {integrity: sha512-E/AXwcTzunyzM83C2QqDHxepMzvI2y6x+mmeYHbVDQlKFqmKYvRrhaVixEeeG27uI44p9oKDFiyCRw4XxgtfHA==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.2.0 || ^7.0.0 || ^8.0.0 + dependencies: + eslint: 8.28.0 + eslint-utils: 3.0.0(eslint@8.28.0) + natural-compare: 1.4.0 + nth-check: 2.1.1 + postcss-selector-parser: 6.0.11 + semver: 7.3.8 + vue-eslint-parser: 9.3.1(eslint@8.28.0) + xml-name-validator: 4.0.0 + transitivePeerDependencies: + - supports-color + 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.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + + /eslint-utils@3.0.0(eslint@8.28.0): + resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} + engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} + peerDependencies: + eslint: '>=5' + dependencies: + eslint: 8.28.0 + eslint-visitor-keys: 2.1.0 + 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.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /eslint@8.28.0: + resolution: {integrity: sha512-S27Di+EVyMxcHiwDrFzk8dJYAaD+/5SoWKxL1ri/71CRHsnJnRDPNt2Kzj24+MT9FDupf4aqqyqPrvI8MvQ4VQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint/eslintrc': 1.3.3 + '@humanwhocodes/config-array': 0.11.11 + '@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 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-utils: 3.0.0(eslint@8.28.0) + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + 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.21.0 + grapheme-splitter: 1.0.4 + ignore: 5.3.0 + import-fresh: 3.3.0 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + is-path-inside: 3.0.3 + js-sdsl: 4.2.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.8.1 + '@eslint/eslintrc': 2.1.2 + '@eslint/js': 8.41.0 + '@humanwhocodes/config-array': 0.11.11 + '@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 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + 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.21.0 + graphemer: 1.4.0 + ignore: 5.3.0 + 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 + dev: true + + /espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.10.0 + acorn-jsx: 5.3.2(acorn@8.10.0) + eslint-visitor-keys: 3.4.3 + dev: true + + /esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.3.0 + dev: true + + /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'} + + /estree-walker@2.0.2: + resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} + + /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 + + /eventemitter3@4.0.7: + resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==} + dev: true + + /eventemitter3@5.0.1: + resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + dev: true + + /events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + + /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 + + /execa@7.2.0: + resolution: {integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==} + 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 + + /expr-parser@1.0.0: + resolution: {integrity: sha512-ncuWTCWH0M5KbaYikXxZ3FG3Q+FTYIEXeXAbxYscdZLFNnR5Le5gRU2r/a/JUZHnxwBDZcxWEWzCoPQlW9Engg==} + 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.4 + 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-list@2.2.2: + resolution: {integrity: sha512-u+SQgsubraE6zItfVA0tBuCBhfU9ogSRnsvygI7wht9TS510oLkBRXBsqopeUG/GBOIQyKZO9wjTqIu/sf5zFA==} + engines: {node: '>=0.10.0'} + dependencies: + mime-db: 1.52.0 + dev: true + + /ext-name@5.0.0: + resolution: {integrity: sha512-yblEwXAbGv1VQDmow7s38W77hzAgJAO50ztBLMcUyUBfxv1HC+LGwtiEN+Co6LtlqT/5uwVOxsD4TNIilWhwdQ==} + engines: {node: '>=4'} + dependencies: + ext-list: 2.2.2 + sort-keys-length: 1.0.1 + dev: true + + /extend@3.0.2: + resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} + dev: true + + /external-editor@3.1.0: + resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} + engines: {node: '>=4'} + dependencies: + chardet: 0.7.0 + iconv-lite: 0.4.24 + tmp: 0.0.33 + 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 + + /extsprintf@1.3.0: + resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} + engines: {'0': node >=0.6.0} + dev: true + + /fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + /fast-diff@1.2.0: + resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==} + dev: true + + /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-glob@3.3.1: + resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==} + 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 + dev: true + + /fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + /fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + dev: true + + /fastest-levenshtein@1.0.16: + resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} + engines: {node: '>= 4.9.1'} + dev: true + + /fastq@1.13.0: + resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} + dependencies: + reusify: 1.0.4 + + /faye-websocket@0.11.4: + resolution: {integrity: sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==} + engines: {node: '>=0.8.0'} + dependencies: + websocket-driver: 0.7.4 + dev: true + + /fd-slicer@1.1.0: + resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} + dependencies: + pend: 1.2.0 + + /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 + + /figures@3.2.0: + resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} + engines: {node: '>=8'} + dependencies: + escape-string-regexp: 1.0.5 + dev: true + + /figures@5.0.0: + resolution: {integrity: sha512-ej8ksPF4x6e5wvK9yevct0UCXh8TTFlWGVLlgjZuoBH1HwjIfKE/IdL5mq89sFA7zELi1VhKpmtDnrs7zWyeyg==} + engines: {node: '>=14'} + dependencies: + escape-string-regexp: 5.0.0 + is-unicode-supported: 1.3.0 + 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 + dev: true + + /file-loader@6.0.0(webpack@5.79.0): + resolution: {integrity: sha512-/aMOAYEFXDdjG0wytpTL5YQLfZnnTmLNjn+AIrJ/6HVnTfDqLsVKUUwkDf4I4kgex36BvjuXEn/TX9B/1ESyqQ==} + engines: {node: '>= 10.13.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + dependencies: + loader-utils: 2.0.4 + schema-utils: 2.7.1 + webpack: 5.79.0(@swc/core@1.3.96) + dev: true + + /file-type@3.9.0: + resolution: {integrity: sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==} + engines: {node: '>=0.10.0'} + dev: true + + /file-type@4.4.0: + resolution: {integrity: sha512-f2UbFQEk7LXgWpi5ntcO86OeA/cC80fuDDDaX/fZ2ZGel+AF7leRQqBBW1eJNiiQkrZlAoM6P+VYP5P6bOlDEQ==} + engines: {node: '>=4'} + dev: true + + /file-type@5.2.0: + resolution: {integrity: sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ==} + engines: {node: '>=4'} + dev: true + + /file-type@6.2.0: + resolution: {integrity: sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg==} + engines: {node: '>=4'} + dev: true + + /file-type@8.1.0: + resolution: {integrity: sha512-qyQ0pzAy78gVoJsmYeNgl8uH8yKhr1lVhW7JbzJmnlRi0I4R2eEDEJZVKG8agpDnLpacwNbDhLNG/LMdxHD2YQ==} + engines: {node: '>=6'} + dev: true + + /file-uri-to-path@2.0.0: + resolution: {integrity: sha512-hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg==} + engines: {node: '>= 6'} + dev: true + + /filelist@1.0.4: + resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} + dependencies: + minimatch: 5.1.0 + dev: true + + /filename-reserved-regex@2.0.0: + resolution: {integrity: sha512-lc1bnsSr4L4Bdif8Xb/qrtokGbq5zlsms/CYH8PP+WtCkGNF65DPiQY8vG3SakEdRn8Dlnm+gW/qWKKjS5sZzQ==} + engines: {node: '>=4'} + dev: true + + /filenamify@2.1.0: + resolution: {integrity: sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==} + engines: {node: '>=4'} + dependencies: + filename-reserved-regex: 2.0.0 + strip-outer: 1.0.1 + trim-repeated: 1.0.0 + dev: true + + /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'} + + /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@2.1.0: + resolution: {integrity: sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==} + engines: {node: '>=6'} + dependencies: + commondir: 1.0.1 + make-dir: 2.1.0 + pkg-dir: 3.0.0 + + /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-up@2.1.0: + resolution: {integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==} + engines: {node: '>=4'} + dependencies: + locate-path: 2.0.0 + dev: true + + /find-up@3.0.0: + resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} + engines: {node: '>=6'} + dependencies: + locate-path: 3.0.0 + + /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 + dev: true + + /find-yarn-workspace-root2@1.2.16: + resolution: {integrity: sha512-hr6hb1w8ePMpPVUK39S4RlwJzi+xPLuVuG8XlwXU3KD5Yn3qgBWVfy3AzNlDhWvE1EORCE65/Qm26rFQt3VLVA==} + dependencies: + micromatch: 4.0.5 + pkg-dir: 4.2.0 + dev: true + + /find-yarn-workspace-root@2.0.0: + resolution: {integrity: sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==} + dependencies: + micromatch: 4.0.5 + + /first-chunk-stream@2.0.0: + resolution: {integrity: sha512-X8Z+b/0L4lToKYq+lwnKqi9X/Zek0NibLpsJgVsSxpoYq7JtiCtRb5HqKVEjEw/qAb/4AKKRLOwwKHlWNpm2Eg==} + engines: {node: '>=0.10.0'} + dependencies: + readable-stream: 2.3.7 + dev: true + + /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 + dev: true + + /flatted@3.2.7: + resolution: {integrity: sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==} + dev: true + + /follow-redirects@1.15.2: + resolution: {integrity: sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + + /foreground-child@3.1.1: + resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + engines: {node: '>=14'} + dependencies: + cross-spawn: 7.0.3 + signal-exit: 4.1.0 + dev: true + + /forever-agent@0.6.1: + resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} + dev: true + + /form-data-encoder@2.1.4: + resolution: {integrity: sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==} + engines: {node: '>= 14.17'} + 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@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 + + /fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + dev: true + + /from2@2.3.0: + resolution: {integrity: sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==} + dependencies: + inherits: 2.0.4 + readable-stream: 2.3.7 + dev: true + + /fs-constants@1.0.0: + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + dev: true + + /fs-extra@11.2.0: + resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} + engines: {node: '>=14.14'} + dependencies: + graceful-fs: 4.2.10 + 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.10 + jsonfile: 4.0.0 + universalify: 0.1.2 + + /fs-monkey@1.0.3: + resolution: {integrity: sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==} + 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 + + /ftp@0.3.10: + resolution: {integrity: sha512-faFVML1aBx2UoDStmLwv2Wptt4vw5x03xxX172nhA5Y5HBshW5JweqQ2W4xL4dezQTG8inJsuYcpPHHU3X5OTQ==} + engines: {node: '>=0.8.0'} + dependencies: + readable-stream: 1.1.14 + xregexp: 2.0.0 + dev: true + + /function-bind@1.1.1: + resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} + + /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.1.4 + es-abstract: 1.20.4 + functions-have-names: 1.2.3 + dev: true + + /functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + dev: true + + /gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + /get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + dev: true + + /get-intrinsic@1.2.0: + resolution: {integrity: sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==} + dependencies: + function-bind: 1.1.1 + has: 1.0.3 + has-symbols: 1.0.3 + + /get-pkg-repo@4.2.1: + resolution: {integrity: sha512-2+QbHjFRfGB74v/pYWjd5OhU3TDIC2Gv/YKUTk/tCvAz0pkn/Mz6P3uByuBimLOcPvN2jYdScl3xGFSrx0jEcA==} + engines: {node: '>=6.9.0'} + hasBin: true + dependencies: + '@hutson/parse-repository-url': 3.0.2 + hosted-git-info: 4.1.0 + through2: 2.0.5 + yargs: 16.2.0 + dev: true + + /get-port@5.1.1: + resolution: {integrity: sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==} + engines: {node: '>=8'} + dev: true + + /get-proxy@2.1.0: + resolution: {integrity: sha512-zmZIaQTWnNQb4R4fJUEp/FC51eZsc6EkErspy3xtIYStaq8EB/hDIWipxsal+E8rz0qD7f2sL/NA9Xee4RInJw==} + engines: {node: '>=4'} + dependencies: + npm-conf: 1.1.3 + dev: true + + /get-stream@2.3.1: + resolution: {integrity: sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA==} + engines: {node: '>=0.10.0'} + dependencies: + object-assign: 4.1.1 + pinkie-promise: 2.0.1 + dev: true + + /get-stream@3.0.0: + resolution: {integrity: sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==} + engines: {node: '>=4'} + dev: true + + /get-stream@4.1.0: + resolution: {integrity: sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==} + engines: {node: '>=6'} + dependencies: + pump: 3.0.0 + 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'} + dev: true + + /get-symbol-description@1.0.0: + resolution: {integrity: sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.0 + dev: true + + /get-uri@3.0.2: + resolution: {integrity: sha512-+5s0SJbGoyiJTZZ2JTpFPLMPSch72KEqGOTvQsBqg0RBWvwhWUSYZFAtz3TPW0GXJuLBJPts1E241iHg+VRfhg==} + engines: {node: '>= 6'} + dependencies: + '@tootallnate/once': 1.1.2 + data-uri-to-buffer: 3.0.1 + debug: 4.3.4 + file-uri-to-path: 2.0.0 + fs-extra: 8.1.0 + ftp: 0.3.10 + transitivePeerDependencies: + - supports-color + dev: true + + /getpass@0.1.7: + resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} + dependencies: + assert-plus: 1.0.0 + dev: true + + /git-clone@0.1.0: + resolution: {integrity: sha512-zs9rlfa7HyaJAKG9o+V7C6qfMzyc+tb1IIXdUFcOBcR1U7siKy/uPdauLlrH1mc0vOgUwIv4BF+QxPiiTYz3Rw==} + dev: true + + /git-raw-commits@2.0.11: + resolution: {integrity: sha512-VnctFhw+xfj8Va1xtfEqCUD2XDrbAPSJx+hSrE5K7fGdjZruW7XV+QOrN7LF/RJyvspRiD2I0asWsxFp0ya26A==} + engines: {node: '>=10'} + hasBin: true + dependencies: + dargs: 7.0.0 + lodash: 4.17.21 + meow: 8.1.2 + split2: 3.2.2 + through2: 4.0.2 + dev: true + + /git-remote-origin-url@2.0.0: + resolution: {integrity: sha512-eU+GGrZgccNJcsDH5LkXR3PB9M958hxc7sbA8DFJjrv9j4L2P/eZfKhM+QD6wyzpiv+b1BpK0XrYCxkovtjSLw==} + engines: {node: '>=4'} + dependencies: + gitconfiglocal: 1.0.0 + pify: 2.3.0 + dev: true + + /git-semver-tags@4.1.1: + resolution: {integrity: sha512-OWyMt5zBe7xFs8vglMmhM9lRQzCWL3WjHtxNNfJTMngGym7pC1kh8sP6jevfydJ6LP3ZvGxfb6ABYgPUM0mtsA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + meow: 8.1.2 + semver: 6.3.1 + dev: true + + /git-up@7.0.0: + resolution: {integrity: sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==} + dependencies: + is-ssh: 1.4.0 + parse-url: 8.1.0 + dev: true + + /git-url-parse@13.1.0: + resolution: {integrity: sha512-5FvPJP/70WkIprlUZ33bm4UAaFdjcLkJLpWft1BeZKqwR0uhhNGoKwlUaPtVb4LxCSQ++erHapRak9kWGj+FCA==} + dependencies: + git-up: 7.0.0 + dev: true + + /gitconfiglocal@1.0.0: + resolution: {integrity: sha512-spLUXeTAVHxDtKsJc8FkFVgFtMdEN9qPGpL23VfSHx4fP4+Ds097IXLvymbnDH8FnmxX5Nr9bPw3A+AQ6mWEaQ==} + dependencies: + ini: 1.3.8 + dev: true + + /giturl@1.0.1: + resolution: {integrity: sha512-wQourBdI13n8tbjcZTDl6k+ZrCRMU6p9vfp9jknZq+zfWc8xXNztpZFM4XkPHVzHcMSUZxEMYYKZjIGkPlei6Q==} + engines: {node: '>= 0.10.0'} + dev: true + + /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 + dev: true + + /glob-to-regexp@0.4.1: + resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + + /glob@10.2.6: + resolution: {integrity: sha512-U/rnDpXJGF414QQQZv5uVsabTVxMSwzS5CH0p3DRCIV6ownl4f7PzGnkGmvlum2wB+9RlJWJZ6ACU1INnBqiPA==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + dependencies: + foreground-child: 3.1.1 + jackspeak: 2.3.3 + minimatch: 9.0.3 + minipass: 6.0.2 + path-scurry: 1.10.1 + dev: true + + /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 + + /global-agent@3.0.0: + resolution: {integrity: sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q==} + engines: {node: '>=10.0'} + requiresBuild: true + dependencies: + boolean: 3.2.0 + es6-error: 4.1.1 + matcher: 3.0.0 + roarr: 2.15.4 + semver: 7.5.4 + serialize-error: 7.0.1 + dev: true + optional: true + + /global-dirs@0.1.1: + resolution: {integrity: sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==} + engines: {node: '>=4'} + dependencies: + ini: 1.3.8 + dev: true + + /global-dirs@3.0.1: + resolution: {integrity: sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==} + engines: {node: '>=10'} + dependencies: + ini: 2.0.0 + dev: true + + /global-modules@2.0.0: + resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==} + engines: {node: '>=6'} + dependencies: + global-prefix: 3.0.0 + dev: true + + /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 + dev: true + + /global-tunnel-ng@2.7.1: + resolution: {integrity: sha512-4s+DyciWBV0eK148wqXxcmVAbFVPqtc3sEtUE/GTQfuU80rySLcMhUmHKSHI7/LDj8q0gDYI1lIhRRB7ieRAqg==} + engines: {node: '>=0.10'} + requiresBuild: true + dependencies: + encodeurl: 1.0.2 + lodash: 4.17.21 + npm-conf: 1.1.3 + tunnel: 0.0.6 + dev: true + optional: true + + /globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + + /globals@13.21.0: + resolution: {integrity: sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + dev: true + + /globalthis@1.0.3: + resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + engines: {node: '>= 0.4'} + dependencies: + define-properties: 1.1.4 + dev: true + optional: 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.3.1 + ignore: 5.3.0 + merge2: 1.4.1 + slash: 3.0.0 + dev: true + + /globby@12.2.0: + resolution: {integrity: sha512-wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + array-union: 3.0.1 + dir-glob: 3.0.1 + fast-glob: 3.3.1 + ignore: 5.3.0 + merge2: 1.4.1 + slash: 4.0.0 + dev: true + + /globby@13.1.3: + resolution: {integrity: sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + dir-glob: 3.0.1 + fast-glob: 3.3.1 + ignore: 5.3.0 + merge2: 1.4.1 + slash: 4.0.0 + dev: true + + /globjoin@0.1.4: + resolution: {integrity: sha512-xYfnw62CKG8nLkZBfWbhWwDw02CHty86jfPcc2cr3ZfeuK9ysoVPPEUxf21bAD/rWAgk52SuBrLJlefNy8mvFg==} + dev: true + + /globs@0.1.4: + resolution: {integrity: sha512-D23dWbOq48vlOraoSigbcQV4tWrnhwk+E/Um2cMuDS3/5dwGmdFeA7L/vAvDhLFlQOTDqHcXh35m/71g2A2WzQ==} + dependencies: + glob: 7.2.3 + + /got@12.6.0: + resolution: {integrity: sha512-WTcaQ963xV97MN3x0/CbAriXFZcXCfgxVp91I+Ze6pawQOa7SgzwSx2zIJJsX+kTajMnVs0xcFD1TxZKFqhdnQ==} + engines: {node: '>=14.16'} + dependencies: + '@sindresorhus/is': 5.3.0 + '@szmarczak/http-timer': 5.0.1 + cacheable-lookup: 7.0.0 + cacheable-request: 10.2.9 + decompress-response: 6.0.0 + form-data-encoder: 2.1.4 + get-stream: 6.0.1 + http2-wrapper: 2.2.0 + lowercase-keys: 3.0.0 + p-cancelable: 3.0.0 + responselike: 3.0.0 + dev: true + + /got@8.3.2: + resolution: {integrity: sha512-qjUJ5U/hawxosMryILofZCkm3C84PLJS/0grRIpjAwu+Lkxxj5cxeCU25BG0/3mDSpXKTyZr8oh8wIgLaH0QCw==} + engines: {node: '>=4'} + dependencies: + '@sindresorhus/is': 0.7.0 + '@types/keyv': 3.1.4 + '@types/responselike': 1.0.0 + cacheable-request: 2.1.4 + decompress-response: 3.3.0 + duplexer3: 0.1.5 + get-stream: 3.0.0 + into-stream: 3.1.0 + is-retry-allowed: 1.2.0 + isurl: 1.0.0 + lowercase-keys: 1.0.1 + mimic-response: 1.0.1 + p-cancelable: 0.4.1 + p-timeout: 2.0.1 + pify: 3.0.0 + safe-buffer: 5.2.1 + timed-out: 4.0.1 + url-parse-lax: 3.0.0 + url-to-options: 1.0.1 + dev: true + + /got@9.6.0: + resolution: {integrity: sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==} + engines: {node: '>=8.6'} + dependencies: + '@sindresorhus/is': 0.14.0 + '@szmarczak/http-timer': 1.1.2 + '@types/keyv': 3.1.4 + '@types/responselike': 1.0.0 + cacheable-request: 6.1.0 + decompress-response: 3.3.0 + duplexer3: 0.1.5 + get-stream: 4.1.0 + lowercase-keys: 1.0.1 + mimic-response: 1.0.1 + p-cancelable: 1.1.0 + to-readable-stream: 1.0.0 + url-parse-lax: 3.0.0 + dev: true + + /graceful-fs@4.2.10: + resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} + + /grapheme-splitter@1.0.4: + resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==} + dev: true + + /graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + dev: true + + /gzip-size@6.0.0: + resolution: {integrity: sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==} + engines: {node: '>=10'} + dependencies: + duplexer: 0.1.2 + dev: true + + /handle-thing@2.0.1: + resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} + dev: true + + /handlebars@4.7.7: + resolution: {integrity: sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA==} + engines: {node: '>=0.4.7'} + hasBin: true + dependencies: + minimist: 1.2.8 + neo-async: 2.6.2 + source-map: 0.6.1 + wordwrap: 1.0.0 + optionalDependencies: + uglify-js: 3.17.4 + 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 + + /has-bigints@1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + dev: true + + /has-binary2@1.0.3: + resolution: {integrity: sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==} + dependencies: + isarray: 2.0.1 + dev: true + + /has-cors@1.1.0: + resolution: {integrity: sha512-g5VNKdkFuUuVCP9gYfDJHjK2nqdQJ7aDLTnycnc2+RvsOQbuLdF5pm7vuE5J76SEBIQjs4kQY/BWq74JUmjbXA==} + dev: true + + /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.0 + dev: true + + /has-symbol-support-x@1.4.2: + resolution: {integrity: sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw==} + dev: true + + /has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + + /has-to-string-tag-x@1.4.1: + resolution: {integrity: sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw==} + dependencies: + has-symbol-support-x: 1.4.2 + dev: true + + /has-tostringtag@1.0.0: + resolution: {integrity: sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: true + + /has-yarn@2.1.0: + resolution: {integrity: sha512-UqBRqi4ju7T+TqGNdqAO0PaSVGsDGJUBQvk9eUWNGRY1CFGDzYhLWoM7JQEemnlvVcv/YEmc2wNW8BC24EnUsw==} + engines: {node: '>=8'} + dev: true + + /has-yarn@3.0.0: + resolution: {integrity: sha512-IrsVwUHhEULx3R8f/aA8AHuEzAorplsab/v8HBzEiIukwq5i/EC+xmOW+HfP1OaDP+2JkgT1yILHN2O3UFIbcA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /has@1.0.3: + resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} + engines: {node: '>= 0.4.0'} + dependencies: + function-bind: 1.1.1 + + /hash-sum@1.0.2: + resolution: {integrity: sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==} + dev: true + + /hash-sum@2.0.0: + resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==} + dev: true + + /he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + dev: true + + /highlight-es@1.0.3: + resolution: {integrity: sha512-s/SIX6yp/5S1p8aC/NRDC1fwEb+myGIfp8/TzZz0rtAv8fzsdX7vGl3Q1TrXCsczFq8DI3CBFBCySPClfBSdbg==} + dependencies: + chalk: 2.4.2 + is-es2016-keyword: 1.0.0 + js-tokens: 3.0.2 + dev: true + + /highlight.js@10.7.3: + resolution: {integrity: sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==} + dev: true + + /history@5.3.0: + resolution: {integrity: sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==} + dependencies: + '@babel/runtime': 7.20.6 + + /hls.js@1.2.8: + resolution: {integrity: sha512-vH4b0ATbMEQz7776YBt6kKlRlvuT7RiFfliuxzn6nBlksrEl5HfQxN1Fn5VUNVVt8rws1rKWzpWwXANgCm03rw==} + + /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 + + /hpack.js@2.1.6: + resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} + dependencies: + inherits: 2.0.4 + obuf: 1.1.2 + readable-stream: 2.3.7 + wbuf: 1.7.3 + dev: true + + /html-encoding-sniffer@3.0.0: + resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} + engines: {node: '>=12'} + dependencies: + whatwg-encoding: 2.0.0 + dev: true + + /html-entities@2.3.3: + resolution: {integrity: sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==} + dev: true + + /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.1 + commander: 8.3.0 + he: 1.2.0 + param-case: 3.0.4 + relateurl: 0.2.7 + terser: 5.17.1 + dev: true + + /html-minifier@4.0.0: + resolution: {integrity: sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==} + engines: {node: '>=6'} + hasBin: true + dependencies: + camel-case: 3.0.0 + clean-css: 4.2.4 + commander: 2.20.3 + he: 1.2.0 + param-case: 2.1.1 + relateurl: 0.2.7 + uglify-js: 3.17.4 + dev: true + + /html-tags@3.2.0: + resolution: {integrity: sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==} + engines: {node: '>=8'} + dev: true + + /html-webpack-plugin@5.5.0(webpack@5.79.0): + 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.79.0(@swc/core@1.3.96) + 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 + + /htmlparser2@8.0.1: + resolution: {integrity: sha512-4lVbmc1diZC7GUJQtRQ5yBAeUCL1exyMwmForWkRLnwyzWBFxN633SALPMGYaWZvKe9j1pRZJpauvmxENSp/EA==} + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.0.1 + entities: 4.4.0 + dev: true + + /http-cache-semantics@3.8.1: + resolution: {integrity: sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==} + dev: true + + /http-cache-semantics@4.1.1: + resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + dev: true + + /http-deceiver@1.2.7: + resolution: {integrity: sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==} + dev: true + + /http-errors@1.6.3: + resolution: {integrity: sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==} + engines: {node: '>= 0.6'} + dependencies: + depd: 1.1.2 + inherits: 2.0.3 + setprototypeof: 1.1.0 + statuses: 1.5.0 + 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-parser-js@0.5.8: + resolution: {integrity: sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==} + 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 + transitivePeerDependencies: + - supports-color + dev: true + + /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 + transitivePeerDependencies: + - supports-color + dev: true + + /http-proxy-middleware@1.3.1: + resolution: {integrity: sha512-13eVVDYS4z79w7f1+NPllJtOQFx/FdUW4btIvVRMaRlUY9VGstAbo5MOhLEuUgZFRHn3x50ufn25zkj/boZnEg==} + engines: {node: '>=8.0.0'} + dependencies: + '@types/http-proxy': 1.17.9 + http-proxy: 1.18.1 + is-glob: 4.0.3 + is-plain-obj: 3.0.0 + micromatch: 4.0.5 + transitivePeerDependencies: + - debug + dev: true + + /http-proxy-middleware@2.0.6(@types/express@4.17.14): + resolution: {integrity: sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==} + engines: {node: '>=12.0.0'} + peerDependencies: + '@types/express': ^4.17.13 + peerDependenciesMeta: + '@types/express': + optional: true + dependencies: + '@types/express': 4.17.14 + '@types/http-proxy': 1.17.9 + http-proxy: 1.18.1 + is-glob: 4.0.3 + is-plain-obj: 3.0.0 + micromatch: 4.0.5 + transitivePeerDependencies: + - debug + dev: true + + /http-proxy@1.18.1: + resolution: {integrity: sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==} + engines: {node: '>=8.0.0'} + dependencies: + eventemitter3: 4.0.7 + follow-redirects: 1.15.2 + requires-port: 1.0.0 + transitivePeerDependencies: + - debug + dev: true + + /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-wrapper@2.2.0: + resolution: {integrity: sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ==} + engines: {node: '>=10.19.0'} + dependencies: + quick-lru: 5.1.1 + resolve-alpn: 1.2.1 + 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 + transitivePeerDependencies: + - supports-color + 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@8.0.2: + resolution: {integrity: sha512-Tkv80jtvbnkK3mYWxPZePGFpQ/tT3HNSs/sasF9P2YfkMezDl3ON37YN6jUUI4eTg5LcyVynlb6r4eyvOmspvg==} + engines: {node: '>=14'} + hasBin: true + dev: true + + /iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: true + + /iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + dependencies: + safer-buffer: 2.1.2 + dev: true + + /ics@3.5.0: + resolution: {integrity: sha512-4jXcwh0cyGyE9FaoHE/zFjpac0t6CIPGLQ5rPr9x/Uj3YmVDIIYLa01lpgp1GsUGdhsEwa/PgCm1/kocRItOEg==} + dependencies: + nanoid: 3.3.4 + yup: 1.2.0 + dev: false + + /icss-utils@5.1.0(postcss@8.4.19): + resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.4.19 + dev: true + + /ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + /ignore@5.2.1: + resolution: {integrity: sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA==} + engines: {node: '>= 4'} + dev: true + + /ignore@5.3.0: + resolution: {integrity: sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==} + engines: {node: '>= 4'} + dev: true + + /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 + + /immutable@4.1.0: + resolution: {integrity: sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==} + + /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 + dev: true + + /import-lazy@2.1.0: + resolution: {integrity: sha512-m7ZEHgtw69qOGw+jwxXkHlrlIPdTGkyh66zXZ1ajZbxkDBNjSY/LGbmjc7h0s2ELsUDTAhFr55TrPSSqJGPG0A==} + engines: {node: '>=4'} + dev: true + + /import-lazy@4.0.0: + resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} + engines: {node: '>=8'} + dev: true + + /imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + dev: true + + /indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + dev: true + + /indexof@0.0.1: + resolution: {integrity: sha512-i0G7hLJ1z0DE8dsqJa2rycj9dBmNKgXBvotXtZYXakU9oivfB9Uj2ZBC27qqef2U58/ZLwalxa1X/RDCdkHtVg==} + dev: true + + /inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + /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==} + dev: true + + /ini@2.0.0: + resolution: {integrity: sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==} + engines: {node: '>=10'} + dev: true + + /inquirer@7.3.3: + resolution: {integrity: sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==} + engines: {node: '>=8.0.0'} + dependencies: + ansi-escapes: 4.3.2 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-width: 3.0.0 + external-editor: 3.1.0 + figures: 3.2.0 + lodash: 4.17.21 + mute-stream: 0.0.8 + run-async: 2.4.1 + rxjs: 6.6.7 + string-width: 4.2.3 + strip-ansi: 6.0.1 + through: 2.3.8 + dev: true + + /inquirer@8.2.5: + resolution: {integrity: sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==} + engines: {node: '>=12.0.0'} + dependencies: + ansi-escapes: 4.3.2 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-width: 3.0.0 + external-editor: 3.1.0 + figures: 3.2.0 + lodash: 4.17.21 + mute-stream: 0.0.8 + ora: 5.4.1 + run-async: 2.4.1 + rxjs: 7.8.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + through: 2.3.8 + wrap-ansi: 7.0.0 + dev: true + + /inquirer@9.1.5: + resolution: {integrity: sha512-3ygAIh8gcZavV9bj6MTdYddG2zPSYswP808fKS46NOwlF0zZljVpnLCHODDqItWJDbDpLb3aouAxGaJbkxoppA==} + engines: {node: '>=14.18.0'} + dependencies: + ansi-escapes: 6.1.0 + chalk: 5.2.0 + cli-cursor: 4.0.0 + cli-width: 4.0.0 + external-editor: 3.1.0 + figures: 5.0.0 + lodash: 4.17.21 + mute-stream: 1.0.0 + ora: 6.3.0 + run-async: 2.4.1 + rxjs: 7.8.0 + string-width: 5.1.2 + strip-ansi: 7.0.1 + through: 2.3.8 + wrap-ansi: 8.1.0 + dev: true + + /internal-slot@1.0.3: + resolution: {integrity: sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.0 + has: 1.0.3 + side-channel: 1.0.4 + dev: true + + /internal-slot@1.0.5: + resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.0 + has: 1.0.3 + side-channel: 1.0.4 + dev: true + + /interpret@1.4.0: + resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} + engines: {node: '>= 0.10'} + dev: true + + /intersection-observer@0.7.0: + resolution: {integrity: sha512-Id0Fij0HsB/vKWGeBe9PxeY45ttRiBmhFyyt/geBdDHBYNctMRTE3dC1U3ujzz3lap+hVXlEcVaB56kZP/eEUg==} + + /into-stream@3.1.0: + resolution: {integrity: sha512-TcdjPibTksa1NQximqep2r17ISRiNE9fwlfbg3F8ANdvP5/yrFTew86VcO//jk4QTaMlbjypPBq76HN2zaKfZQ==} + engines: {node: '>=4'} + dependencies: + from2: 2.3.0 + p-is-promise: 1.1.0 + dev: true + + /invariant@2.2.4: + resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} + dependencies: + loose-envify: 1.4.0 + dev: true + + /ip@1.1.8: + resolution: {integrity: sha512-PuExPYUiu6qMBQb4l06ecm6T6ujzhmh+MeJcW9wa89PoAz5pvd4zPgN5WJV104mb6S2T1AwNIAaB70JNrLQWhg==} + dev: true + + /ip@2.0.0: + resolution: {integrity: sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==} + dev: true + + /ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + dev: true + + /ipaddr.js@2.0.1: + resolution: {integrity: sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==} + engines: {node: '>= 10'} + dev: true + + /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 + dev: true + + /is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + dev: true + + /is-bigint@1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + dependencies: + has-bigints: 1.0.2 + dev: true + + /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.2 + has-tostringtag: 1.0.0 + dev: true + + /is-buffer@1.1.6: + resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==} + dev: true + + /is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + dev: true + + /is-ci@2.0.0: + resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} + hasBin: true + dependencies: + ci-info: 2.0.0 + dev: true + + /is-ci@3.0.1: + resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} + hasBin: true + dependencies: + ci-info: 3.8.0 + dev: true + + /is-core-module@2.11.0: + resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} + dependencies: + has: 1.0.3 + + /is-date-object@1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + dev: 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-es2016-keyword@1.0.0: + resolution: {integrity: sha512-JtZWPUwjdbQ1LIo9OSZ8MdkWEve198ors27vH+RzUUvZXXZkzXCxFnlUhzWYxy5IexQSRiXVw9j2q/tHMmkVYQ==} + dev: true + + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + /is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + dev: true + + /is-fullwidth-code-point@4.0.0: + resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} + engines: {node: '>=12'} + dev: true + + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + + /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-installed-globally@0.4.0: + resolution: {integrity: sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==} + engines: {node: '>=10'} + dependencies: + global-dirs: 3.0.1 + is-path-inside: 3.0.3 + dev: true + + /is-interactive@1.0.0: + resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} + engines: {node: '>=8'} + + /is-interactive@2.0.0: + resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} + engines: {node: '>=12'} + dev: true + + /is-invalid-path@1.0.2: + resolution: {integrity: sha512-6KLcFrPCEP3AFXMfnWrIFkZpYNBVzZAoBJJDEZKtI3LXkaDjM3uFMJQjxiizUuZTZ9Oh9FNv/soXbx5TcpaDmA==} + engines: {node: '>=6.0'} + dev: true + + /is-map@2.0.2: + resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==} + dev: true + + /is-natural-number@4.0.1: + resolution: {integrity: sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ==} + dev: true + + /is-negative-zero@2.0.2: + resolution: {integrity: sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==} + engines: {node: '>= 0.4'} + dev: true + + /is-npm@5.0.0: + resolution: {integrity: sha512-WW/rQLOazUq+ST/bCAVBp/2oMERWLsR7OrKyt052dNDk4DHcDE0/7QSXITlmi+VBcV13DfIbysG3tZJm5RfdBA==} + engines: {node: '>=10'} + dev: true + + /is-npm@6.0.0: + resolution: {integrity: sha512-JEjxbSmtPSt1c8XTkVrlujcXdKV1/tvuQ7GwKcAlyiVLeYFQ2VHat8xfrDJsIkhCdF/tZ7CiIR3sy141c6+gPQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /is-number-object@1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.0 + dev: true + + /is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + /is-obj@2.0.0: + resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} + engines: {node: '>=8'} + dev: true + + /is-object@1.0.2: + resolution: {integrity: sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA==} + dev: true + + /is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + dev: true + + /is-plain-obj@1.1.0: + resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} + engines: {node: '>=0.10.0'} + dev: true + + /is-plain-obj@3.0.0: + resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} + engines: {node: '>=10'} + 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'} + dev: true + + /is-potential-custom-element-name@1.0.1: + resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==} + 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 + dev: true + + /is-retry-allowed@1.2.0: + resolution: {integrity: sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg==} + engines: {node: '>=0.10.0'} + dev: true + + /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.2 + dev: true + + /is-ssh@1.4.0: + resolution: {integrity: sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==} + dependencies: + protocols: 2.0.1 + dev: true + + /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 + dev: true + + /is-symbol@1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: true + + /is-text-path@1.0.1: + resolution: {integrity: sha512-xFuJpne9oFz5qDaodwmmG08e3CawH/2ZV8Qqza1Ko7Sk8POWbkRdwIoAWVhqvq0XeUzANEhKo2n0IXUGBm7A/w==} + engines: {node: '>=0.10.0'} + dependencies: + text-extensions: 1.9.0 + dev: true + + /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'} + + /is-unicode-supported@1.3.0: + resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} + engines: {node: '>=12'} + dev: true + + /is-utf8@0.2.1: + resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==} + dev: true + + /is-weakref@1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + dependencies: + call-bind: 1.0.2 + dev: true + + /is-what@3.14.1: + resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==} + dev: true + + /is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + dependencies: + is-docker: 2.2.1 + dev: true + + /is-yarn-global@0.3.0: + resolution: {integrity: sha512-VjSeb/lHmkoyd8ryPVIKvOCn4D1koMqY+vqyjjUfc3xyKtP4dYOxM44sZrnqQSzSds3xyOrUTLTC9LVCVgLngw==} + dev: true + + /is-yarn-global@0.4.1: + resolution: {integrity: sha512-/kppl+R+LO5VmhYSEWARUFjodS25D68gvj8W7z0I7OWhUla5xWu8KL6CtB2V0R6yqhnRgbcaREMr4EEM6htLPQ==} + engines: {node: '>=12'} + dev: true + + /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.1: + resolution: {integrity: sha512-c2cu3UxbI+b6kR3fy0nRnAhodsvR9dx7U5+znCOzdj6IfP3upFURTr0Xl5BlQZNKZjEtxrmVyfSdeE3O57smoQ==} + dev: true + + /isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + dev: true + + /isbinaryfile@5.0.0: + resolution: {integrity: sha512-UDdnyGvMajJUWCkib7Cei/dvyJrrvo4FIrsvSFWdPpXSUorzXrDJ0S+X5Q4ZlasfPjca4yqCNNsjbCeiy8FFeg==} + engines: {node: '>= 14.0.0'} + dev: true + + /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'} + + /isstream@0.1.2: + resolution: {integrity: sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==} + dev: true + + /issue-parser@6.0.0: + resolution: {integrity: sha512-zKa/Dxq2lGsBIXQ7CUZWTHfvxPC2ej0KfO7fIPqLlHB9J2hJ7rGhZ5rilhuufylr4RXYPzJUeFjKxz305OsNlA==} + engines: {node: '>=10.13'} + dependencies: + lodash.capitalize: 4.2.1 + lodash.escaperegexp: 4.1.2 + lodash.isplainobject: 4.0.6 + lodash.isstring: 4.0.1 + lodash.uniqby: 4.7.0 + dev: true + + /isurl@1.0.0: + resolution: {integrity: sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w==} + engines: {node: '>= 4'} + dependencies: + has-to-string-tag-x: 1.4.1 + is-object: 1.0.2 + dev: true + + /iterate-iterator@1.0.2: + resolution: {integrity: sha512-t91HubM4ZDQ70M9wqp+pcNpu8OyJ9UAtXntT/Bcsvp5tZMnz9vRa+IunKXeI8AnfZMTv0jNuVEmGeLSMjVvfPw==} + dev: true + + /iterate-value@1.0.2: + resolution: {integrity: sha512-A6fMAio4D2ot2r/TYzr4yUWrmwNdsN5xL7+HUiyACE4DXm+q8HtPcnFTp+NnW3k4N05tZ7FVYFFb2CR13NxyHQ==} + dependencies: + es-get-iterator: 1.1.3 + iterate-iterator: 1.0.2 + dev: true + + /j-component@1.4.6: + resolution: {integrity: sha512-yKugOAw8LmalSC9mFXsFf+q5WRUvqaeA0lnOiUJiBhyBCJGhbSLAqyfYv3+u5TQtQVVUrB691ocyJUNIuYkcmA==} + dependencies: + expr-parser: 1.0.0 + miniprogram-api-typings: 3.6.0 + miniprogram-exparser: 2.15.0 + dev: true + + /jackspeak@2.3.3: + resolution: {integrity: sha512-R2bUw+kVZFS/h1AZqBKrSgDmdmjApzgY0AlCPumopFiAlbUxE2gf+SCuBzQ0cP5hHmUmFYF5yw55T97Th5Kstg==} + engines: {node: '>=14'} + dependencies: + '@isaacs/cliui': 8.0.2 + optionalDependencies: + '@pkgjs/parseargs': 0.11.0 + dev: true + + /jake@10.8.5: + resolution: {integrity: sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==} + engines: {node: '>=10'} + hasBin: true + dependencies: + async: 3.2.4 + chalk: 4.1.2 + filelist: 1.0.4 + minimatch: 3.1.2 + dev: true + + /javascript-stringify@2.1.0: + resolution: {integrity: sha512-JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==} + dev: true + + /jest-worker@27.5.1: + resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} + engines: {node: '>= 10.13.0'} + dependencies: + '@types/node': 20.5.1 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + /jiti@1.20.0: + resolution: {integrity: sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==} + hasBin: true + dev: true + + /joi@17.7.0: + resolution: {integrity: sha512-1/ugc8djfn93rTE3WRKdCzGGt/EtiYKxITMO4Wiv6q5JL1gl9ePt4kBsl1S499nbosspfctIQTpYIhSmHA3WAg==} + dependencies: + '@hapi/hoek': 9.3.0 + '@hapi/topo': 5.1.0 + '@sideway/address': 4.1.4 + '@sideway/formula': 3.0.0 + '@sideway/pinpoint': 2.0.0 + + /joycon@3.1.1: + resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} + engines: {node: '>=10'} + dev: true + + /js-base64@3.7.5: + resolution: {integrity: sha512-3MEt5DTINKqfScXKfJFrRbxkrnk2AxPWGBL/ycjz4dK8iqiSJ06UxD8jh8xuh6p10TX4t2+7FsBYVxxQbMg+qA==} + dev: false + + /js-sdsl@4.2.0: + resolution: {integrity: sha512-dyBIzQBDkCqCu+0upx25Y2jGdbTGxE9fshMsCdK0ViOongpV+n5tXRcZY9v7CaVQ79AGS9KA1KHtojxiM7aXSQ==} + dev: true + + /js-tokens@3.0.2: + resolution: {integrity: sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==} + dev: true + + /js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + /js-tokens@8.0.0: + resolution: {integrity: sha512-PC7MzqInq9OqKyTXfIvQNcjMkODJYC8A17kAaQgeW79yfhqTWSOfjHYQ2mDDcwJ96Iibtwkfh0C7R/OvqPlgVA==} + dev: true + + /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 + dev: true + + /jsbn@0.1.1: + resolution: {integrity: sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==} + dev: true + + /jsdom@21.1.1: + resolution: {integrity: sha512-Jjgdmw48RKcdAIQyUD1UdBh2ecH7VqwaXPN3ehoZN6MqgVbMn+lRm1aAT1AsdJRAJpwfa4IpwgzySn61h2qu3w==} + engines: {node: '>=14'} + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + dependencies: + abab: 2.0.6 + acorn: 8.10.0 + acorn-globals: 7.0.1 + cssstyle: 3.0.0 + data-urls: 4.0.0 + 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.2 + parse5: 7.1.2 + rrweb-cssom: 0.6.0 + 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: 12.0.1 + 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 + + /jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + + /json-buffer@3.0.0: + resolution: {integrity: sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==} + dev: true + + /json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + dev: true + + /json-parse-better-errors@1.0.2: + resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} + dev: 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==} + dev: true + + /json-stringify-safe@5.0.1: + resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + dev: true + + /json5@1.0.1: + resolution: {integrity: sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==} + hasBin: true + dependencies: + minimist: 1.2.8 + + /json5@2.2.1: + resolution: {integrity: sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==} + engines: {node: '>=6'} + hasBin: true + + /json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + /jsonc-parser@3.2.0: + resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} + dev: true + + /jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + optionalDependencies: + graceful-fs: 4.2.10 + + /jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.0 + optionalDependencies: + graceful-fs: 4.2.10 + dev: true + + /jsonp-retry@1.0.3: + resolution: {integrity: sha512-/jmE9+shtKP+oIt2AWO9Wx+C27NTGpLCEw4QHOqpoV2X6ta374HE9C+EEdgu8r3iLKgFMx7u5j0mCwxWN8UdlA==} + dependencies: + object-assign: 4.1.1 + dev: false + + /jsonparse@1.3.1: + resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} + engines: {'0': node >= 0.2.0} + dev: true + + /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 + + /keyv@3.0.0: + resolution: {integrity: sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==} + dependencies: + json-buffer: 3.0.0 + dev: true + + /keyv@3.1.0: + resolution: {integrity: sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==} + dependencies: + json-buffer: 3.0.0 + dev: true + + /keyv@4.5.2: + resolution: {integrity: sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g==} + dependencies: + json-buffer: 3.0.1 + dev: true + + /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'} + dev: true + + /klona@2.0.6: + resolution: {integrity: sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==} + engines: {node: '>= 8'} + dev: true + + /known-css-properties@0.26.0: + resolution: {integrity: sha512-5FZRzrZzNTBruuurWpvZnvP9pum+fe0HcK8z/ooo+U+Hmp4vtbyp1/QDsqmufirXy4egGzbaH/y2uCZf+6W5Kg==} + dev: true + + /latest-version@5.1.0: + resolution: {integrity: sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==} + engines: {node: '>=8'} + dependencies: + package-json: 6.5.0 + dev: true + + /latest-version@7.0.0: + resolution: {integrity: sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==} + engines: {node: '>=14.16'} + dependencies: + package-json: 8.1.0 + dev: true + + /less-loader@10.2.0(less@4.1.3)(webpack@5.79.0): + resolution: {integrity: sha512-AV5KHWvCezW27GT90WATaDnfXBv99llDbtaj4bshq6DvAihMdNjaPDcUMa6EXKLRF+P2opFenJp89BXg91XLYg==} + engines: {node: '>= 12.13.0'} + peerDependencies: + less: ^3.5.0 || ^4.0.0 + webpack: ^5.0.0 + dependencies: + klona: 2.0.6 + less: 4.1.3 + webpack: 5.79.0(@swc/core@1.3.96) + dev: true + + /less@3.13.1: + resolution: {integrity: sha512-SwA1aQXGUvp+P5XdZslUOhhLnClSLIjWvJhmd+Vgib5BFIr9lMNlQwmwUNOjXThF/A0x+MCYYPeWEfeWiLRnTw==} + engines: {node: '>=6'} + hasBin: true + dependencies: + copy-anything: 2.0.6 + tslib: 1.14.1 + optionalDependencies: + errno: 0.1.8 + graceful-fs: 4.2.10 + image-size: 0.5.5 + make-dir: 2.1.0 + mime: 1.6.0 + native-request: 1.1.0 + source-map: 0.6.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.4.1 + optionalDependencies: + errno: 0.1.8 + graceful-fs: 4.2.10 + 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 + + /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 + dev: true + + /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 + dev: true + + /lightningcss-darwin-arm64@1.16.1: + resolution: {integrity: sha512-/J898YSAiGVqdybHdIF3Ao0Hbh2vyVVj5YNm3NznVzTSvkOi3qQCAtO97sfmNz+bSRHXga7ZPLm+89PpOM5gAg==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /lightningcss-darwin-x64@1.16.1: + resolution: {integrity: sha512-vyKCNPRNRqke+5i078V+N0GLfMVLEaNcqIcv28hA/vUNRGk/90EDkDB9EndGay0MoPIrC2y0qE3Y74b/OyedqQ==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /lightningcss-linux-arm-gnueabihf@1.16.1: + resolution: {integrity: sha512-0AJC52l40VbrzkMJz6qRvlqVVGykkR2MgRS4bLjVC2ab0H0I/n4p6uPZXGvNIt5gw1PedeND/hq+BghNdgfuPQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /lightningcss-linux-arm64-gnu@1.16.1: + resolution: {integrity: sha512-NqxYXsRvI3/Fb9AQLXKrYsU0Q61LqKz5It+Es9gidsfcw1lamny4lmlUgO3quisivkaLCxEkogaizcU6QeZeWQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + libc: [glibc] + requiresBuild: true + dev: true + optional: true + + /lightningcss-linux-arm64-musl@1.16.1: + resolution: {integrity: sha512-VUPQ4dmB9yDQxpJF8/imtwNcbIPzlL6ArLHSUInOGxipDk1lOAklhUjbKUvlL3HVlDwD3WHCxggAY01WpFcjiA==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + libc: [musl] + requiresBuild: true + dev: true + optional: true + + /lightningcss-linux-x64-gnu@1.16.1: + resolution: {integrity: sha512-A40Jjnbellnvh4YF+kt047GLnUU59iLN2LFRCyWQG+QqQZeXOCzXfTQ6EJB4yvHB1mQvWOVdAzVrtEmRw3Vh8g==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + libc: [glibc] + requiresBuild: true + dev: true + optional: true + + /lightningcss-linux-x64-musl@1.16.1: + resolution: {integrity: sha512-VZf76GxW+8mk238tpw0u9R66gBi/m0YB0TvD54oeGiOqvTZ/mabkBkbsuXTSWcKYj8DSrLW+A42qu+6PLRsIgA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + libc: [musl] + requiresBuild: true + dev: true + optional: true + + /lightningcss-win32-x64-msvc@1.16.1: + resolution: {integrity: sha512-Djy+UzlTtJMayVJU3eFuUW5Gdo+zVTNPJhlYw25tNC9HAoMCkIdSDDrGsWEdEyibEV7xwB8ySTmLuxilfhBtgg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /lightningcss@1.16.1: + resolution: {integrity: sha512-zU8OTaps3VAodmI2MopfqqOQQ4A9L/2Eo7xoTH/4fNkecy6ftfiGwbbRMTQqtIqJjRg3f927e+lnyBBPhucY1Q==} + engines: {node: '>= 12.0.0'} + dependencies: + detect-libc: 1.0.3 + optionalDependencies: + lightningcss-darwin-arm64: 1.16.1 + lightningcss-darwin-x64: 1.16.1 + lightningcss-linux-arm-gnueabihf: 1.16.1 + lightningcss-linux-arm64-gnu: 1.16.1 + lightningcss-linux-arm64-musl: 1.16.1 + lightningcss-linux-x64-gnu: 1.16.1 + lightningcss-linux-x64-musl: 1.16.1 + lightningcss-win32-x64-msvc: 1.16.1 + dev: true + + /lilconfig@2.1.0: + resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} + engines: {node: '>=10'} + dev: true + + /lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + dev: true + + /lint-staged@14.0.1: + resolution: {integrity: sha512-Mw0cL6HXnHN1ag0mN/Dg4g6sr8uf8sn98w2Oc1ECtFto9tvRF7nkXGJRbx8gPlHyoR0pLyBr2lQHbWwmUHe1Sw==} + engines: {node: ^16.14.0 || >=18.0.0} + hasBin: true + dependencies: + chalk: 5.3.0 + commander: 11.0.0 + debug: 4.3.4 + execa: 7.2.0 + lilconfig: 2.1.0 + listr2: 6.6.1 + micromatch: 4.0.5 + pidtree: 0.6.0 + string-argv: 0.3.2 + yaml: 2.3.1 + transitivePeerDependencies: + - enquirer + - supports-color + dev: true + + /listr2@6.6.1: + resolution: {integrity: sha512-+rAXGHh0fkEWdXBmX+L6mmfmXmXvDGEKzkjxO+8mP3+nI/r/CWznVBvsibXdxda9Zz0OW2e2ikphN3OwCT/jSg==} + engines: {node: '>=16.0.0'} + peerDependencies: + enquirer: '>= 2.3.0 < 3' + peerDependenciesMeta: + enquirer: + optional: true + dependencies: + cli-truncate: 3.1.0 + colorette: 2.0.20 + eventemitter3: 5.0.1 + log-update: 5.0.1 + rfdc: 1.3.0 + wrap-ansi: 8.1.0 + dev: true + + /load-json-file@4.0.0: + resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} + engines: {node: '>=4'} + dependencies: + graceful-fs: 4.2.10 + parse-json: 4.0.0 + pify: 3.0.0 + strip-bom: 3.0.0 + dev: true + + /load-yaml-file@0.2.0: + resolution: {integrity: sha512-OfCBkGEw4nN6JLtgRidPX6QxjBQGQf72q3si2uvqyFEMbycSFFHwAZeXx6cJgFM9wmLrf9zBwCP3Ivqa+LLZPw==} + engines: {node: '>=6'} + dependencies: + graceful-fs: 4.2.10 + js-yaml: 3.14.1 + pify: 4.0.1 + strip-bom: 3.0.0 + dev: true + + /loader-runner@4.3.0: + resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} + engines: {node: '>=6.11.5'} + + /loader-utils@1.4.2: + resolution: {integrity: sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==} + engines: {node: '>=4.0.0'} + dependencies: + big.js: 5.2.2 + emojis-list: 3.0.0 + json5: 1.0.1 + + /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 + dev: true + + /local-pkg@0.4.3: + resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} + engines: {node: '>=14'} + + /locate-path@2.0.0: + resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} + engines: {node: '>=4'} + dependencies: + p-locate: 2.0.0 + path-exists: 3.0.0 + 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 + + /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 + dev: true + + /lodash-es@4.17.21: + resolution: {integrity: sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==} + + /lodash.camelcase@4.3.0: + resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} + dev: true + + /lodash.capitalize@4.2.1: + resolution: {integrity: sha512-kZzYOKspf8XVX5AvmQF94gQW0lejFVgb80G85bU4ZWzoJ6C03PQg3coYAUpSTpQWelrZELd3XWgHzw4Ck5kaIw==} + dev: true + + /lodash.clonedeep@4.5.0: + resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==} + + /lodash.debounce@4.0.8: + resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} + + /lodash.escaperegexp@4.1.2: + resolution: {integrity: sha512-TM9YBvyC84ZxE3rgfefxUWiQKLilstD6k7PTGt6wfbtXF8ixIJLOL3VYyV/z+ZiPLsVxAsKAFVwWlWeb2Y8Yyw==} + dev: true + + /lodash.isfunction@3.0.9: + resolution: {integrity: sha512-AirXNj15uRIMMPihnkInB4i3NHeb4iBtNg9WRWuK2o31S+ePwwNmDPaTL3o7dTJ+VXNZim7rFs4rxN4YU1oUJw==} + dev: true + + /lodash.ismatch@4.4.0: + resolution: {integrity: sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==} + dev: true + + /lodash.isplainobject@4.0.6: + resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} + dev: true + + /lodash.isstring@4.0.1: + resolution: {integrity: sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==} + dev: true + + /lodash.kebabcase@4.1.1: + resolution: {integrity: sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==} + dev: true + + /lodash.memoize@4.1.2: + resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} + dev: true + + /lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: true + + /lodash.mergewith@4.6.2: + resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==} + dev: true + + /lodash.snakecase@4.1.1: + resolution: {integrity: sha512-QZ1d4xoBHYUeuouhEq3lk3Uq7ldgyFXGBhg04+oRLnIz8o9T65Eh+8YdroUwn846zchkA9yDsDl5CVVaV2nqYw==} + dev: true + + /lodash.startcase@4.4.0: + resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==} + dev: true + + /lodash.truncate@4.4.2: + resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} + dev: true + + /lodash.uniq@4.5.0: + resolution: {integrity: sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==} + dev: true + + /lodash.uniqby@4.7.0: + resolution: {integrity: sha512-e/zcLx6CSbmaEgFHCA7BnoQKyCtKMxnuWrJygbwPs/AIn+IMKl66L8/s+wBUn5LRw2pZx3bUHibiV1b6aTWIww==} + dev: true + + /lodash.upperfirst@4.3.1: + resolution: {integrity: sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==} + 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 + + /log-symbols@5.1.0: + resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==} + engines: {node: '>=12'} + dependencies: + chalk: 5.3.0 + is-unicode-supported: 1.3.0 + dev: true + + /log-update@5.0.1: + resolution: {integrity: sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + ansi-escapes: 5.0.0 + cli-cursor: 4.0.0 + slice-ansi: 5.0.0 + strip-ansi: 7.0.1 + wrap-ansi: 8.1.0 + dev: true + + /loglevel-plugin-prefix@0.8.4: + resolution: {integrity: sha512-WpG9CcFAOjz/FtNht+QJeGpvVl/cdR6P0z6OcXSkr8wFJOsV2GRj2j10JLfjuA4aYkcKCNIEqRGCyTife9R8/g==} + + /loglevel@1.8.1: + resolution: {integrity: sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg==} + engines: {node: '>= 0.6.0'} + + /loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + dependencies: + js-tokens: 4.0.0 + dev: true + + /lower-case@1.1.4: + resolution: {integrity: sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==} + dev: true + + /lower-case@2.0.2: + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + dependencies: + tslib: 2.4.1 + dev: true + + /lowercase-keys@1.0.0: + resolution: {integrity: sha512-RPlX0+PHuvxVDZ7xX+EBVAp4RsVxP/TdDSN2mJYdiq1Lc4Hz7EUSjUI7RZrKKlmrIzVhf6Jo2stj7++gVarS0A==} + engines: {node: '>=0.10.0'} + dev: true + + /lowercase-keys@1.0.1: + resolution: {integrity: sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==} + engines: {node: '>=0.10.0'} + dev: true + + /lowercase-keys@2.0.0: + resolution: {integrity: sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==} + engines: {node: '>=8'} + dev: true + + /lowercase-keys@3.0.0: + resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /lru-cache@10.0.1: + resolution: {integrity: sha512-IJ4uwUTi2qCccrioU6g9g/5rvvVl13bsdczUUcqbciD9iLr095yj8DQKdObriEvuNSx325N1rV1O0sJFszx75g==} + engines: {node: 14 || >=16.14} + dev: true + + /lru-cache@4.1.5: + resolution: {integrity: sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==} + dependencies: + pseudomap: 1.0.2 + yallist: 2.1.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 + dev: true + + /macos-release@3.1.0: + resolution: {integrity: sha512-/M/R0gCDgM+Cv1IuBG1XGdfTFnMEG6PZeT+KGWHO/OG+imqmaD9CH5vHBTycEM3+Kc4uG2Il+tFAuUWLqQOeUA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /magic-string@0.25.9: + resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} + dependencies: + sourcemap-codec: 1.4.8 + dev: true + + /magic-string@0.30.0: + resolution: {integrity: sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + + /magic-string@0.30.3: + resolution: {integrity: sha512-B7xGbll2fG/VjP+SWg4sX3JynwIU0mjoTc6MPpKNuIvftk6u6vqhDnk1R80b8C2GBR6ywqy+1DcKBrevBg+bmw==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + + /make-dir@1.3.0: + resolution: {integrity: sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==} + engines: {node: '>=4'} + dependencies: + pify: 3.0.0 + dev: true + + /make-dir@2.1.0: + resolution: {integrity: sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==} + engines: {node: '>=6'} + dependencies: + pify: 4.0.1 + semver: 5.7.1 + + /make-dir@3.1.0: + resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} + engines: {node: '>=8'} + dependencies: + semver: 6.3.1 + dev: true + + /make-error@1.3.6: + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + 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 + + /matcher@3.0.0: + resolution: {integrity: sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng==} + engines: {node: '>=10'} + dependencies: + escape-string-regexp: 4.0.0 + dev: true + optional: true + + /mathml-tag-names@2.1.3: + resolution: {integrity: sha512-APMBEanjybaPzUrfqU0IMU5I0AswKMH7k8OTLs0vvV4KZpExkTkY87nR/zpbuTPj+gARop7aGUbl11pnDfW6xg==} + dev: true + + /md5@2.3.0: + resolution: {integrity: sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==} + dependencies: + charenc: 0.0.2 + crypt: 0.0.2 + is-buffer: 1.1.6 + dev: true + + /mdn-data@1.1.4: + resolution: {integrity: sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA==} + dev: true + + /mdn-data@2.0.14: + resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} + dev: true + + /mdn-data@2.0.28: + resolution: {integrity: sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==} + dev: true + + /media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + dev: true + + /mem-fs-editor@9.7.0(mem-fs@2.3.0): + resolution: {integrity: sha512-ReB3YD24GNykmu4WeUL/FDIQtkoyGB6zfJv60yfCo3QjKeimNcTqv2FT83bP0ccs6uu+sm5zyoBlspAzigmsdg==} + engines: {node: '>=12.10.0'} + peerDependencies: + mem-fs: ^2.1.0 + peerDependenciesMeta: + mem-fs: + optional: true + dependencies: + binaryextensions: 4.18.0 + commondir: 1.0.1 + deep-extend: 0.6.0 + ejs: 3.1.8 + globby: 11.1.0 + isbinaryfile: 5.0.0 + mem-fs: 2.3.0 + minimatch: 7.4.6 + multimatch: 5.0.0 + normalize-path: 3.0.0 + textextensions: 5.15.0 + dev: true + + /mem-fs@2.3.0: + resolution: {integrity: sha512-GftCCBs6EN8sz3BoWO1bCj8t7YBtT713d8bUgbhg9Iel5kFSqnSvCK06TYIDJAtJ51cSiWkM/YemlT0dfoFycw==} + engines: {node: '>=12'} + dependencies: + '@types/node': 15.14.9 + '@types/vinyl': 2.0.7 + vinyl: 2.2.1 + vinyl-file: 3.0.0 + dev: true + + /memfs@3.4.12: + resolution: {integrity: sha512-BcjuQn6vfqP+k100e0E9m61Hyqa//Brp+I3f0OBmN0ATHlFA8vx3Lt8z57R3u2bPqe3WGDBC+nF72fTH7isyEw==} + engines: {node: '>= 4.0.0'} + dependencies: + fs-monkey: 1.0.3 + dev: true + + /memoize-one@6.0.0: + resolution: {integrity: sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==} + + /meow@8.1.2: + resolution: {integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==} + engines: {node: '>=10'} + dependencies: + '@types/minimist': 1.2.2 + camelcase-keys: 6.2.2 + 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 + + /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-source-map@1.1.0: + resolution: {integrity: sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==} + dependencies: + source-map: 0.6.1 + 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 + + /metro-react-native-babel-preset@0.72.3(@babel/core@7.20.5): + resolution: {integrity: sha512-uJx9y/1NIqoYTp6ZW1osJ7U5ZrXGAJbOQ/Qzl05BdGYvN1S7Qmbzid6xOirgK0EIT0pJKEEh1s8qbassYZe4cw==} + peerDependencies: + '@babel/core': '*' + dependencies: + '@babel/core': 7.20.5 + '@babel/plugin-proposal-async-generator-functions': 7.20.1(@babel/core@7.20.5) + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.20.5) + '@babel/plugin-proposal-export-default-from': 7.18.10(@babel/core@7.20.5) + '@babel/plugin-proposal-nullish-coalescing-operator': 7.18.6(@babel/core@7.20.5) + '@babel/plugin-proposal-object-rest-spread': 7.20.2(@babel/core@7.20.5) + '@babel/plugin-proposal-optional-catch-binding': 7.18.6(@babel/core@7.20.5) + '@babel/plugin-proposal-optional-chaining': 7.18.9(@babel/core@7.20.5) + '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.20.5) + '@babel/plugin-syntax-export-default-from': 7.18.6(@babel/core@7.20.5) + '@babel/plugin-syntax-flow': 7.18.6(@babel/core@7.20.5) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.20.5) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.20.5) + '@babel/plugin-transform-arrow-functions': 7.18.6(@babel/core@7.20.5) + '@babel/plugin-transform-async-to-generator': 7.18.6(@babel/core@7.20.5) + '@babel/plugin-transform-block-scoping': 7.20.5(@babel/core@7.20.5) + '@babel/plugin-transform-classes': 7.20.2(@babel/core@7.20.5) + '@babel/plugin-transform-computed-properties': 7.18.9(@babel/core@7.20.5) + '@babel/plugin-transform-destructuring': 7.20.2(@babel/core@7.20.5) + '@babel/plugin-transform-exponentiation-operator': 7.18.6(@babel/core@7.20.5) + '@babel/plugin-transform-flow-strip-types': 7.19.0(@babel/core@7.20.5) + '@babel/plugin-transform-function-name': 7.18.9(@babel/core@7.20.5) + '@babel/plugin-transform-literals': 7.18.9(@babel/core@7.20.5) + '@babel/plugin-transform-modules-commonjs': 7.19.6(@babel/core@7.20.5) + '@babel/plugin-transform-named-capturing-groups-regex': 7.20.5(@babel/core@7.20.5) + '@babel/plugin-transform-parameters': 7.20.5(@babel/core@7.20.5) + '@babel/plugin-transform-react-display-name': 7.18.6(@babel/core@7.20.5) + '@babel/plugin-transform-react-jsx': 7.19.0(@babel/core@7.20.5) + '@babel/plugin-transform-react-jsx-self': 7.18.6(@babel/core@7.20.5) + '@babel/plugin-transform-react-jsx-source': 7.19.6(@babel/core@7.20.5) + '@babel/plugin-transform-runtime': 7.19.6(@babel/core@7.20.5) + '@babel/plugin-transform-shorthand-properties': 7.18.6(@babel/core@7.20.5) + '@babel/plugin-transform-spread': 7.19.0(@babel/core@7.20.5) + '@babel/plugin-transform-sticky-regex': 7.18.6(@babel/core@7.20.5) + '@babel/plugin-transform-template-literals': 7.18.9(@babel/core@7.20.5) + '@babel/plugin-transform-typescript': 7.20.2(@babel/core@7.20.5) + '@babel/plugin-transform-unicode-regex': 7.18.6(@babel/core@7.20.5) + '@babel/template': 7.22.15 + react-refresh: 0.4.3 + 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 + + /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.5.2: + resolution: {integrity: sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==} + engines: {node: '>=4.0.0'} + hasBin: true + dev: true + + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + /mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + dev: true + + /mimic-response@1.0.1: + resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} + engines: {node: '>=4'} + dev: true + + /mimic-response@3.1.0: + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} + dev: true + + /mimic-response@4.0.0: + resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /min-indent@1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + dev: true + + /mini-css-extract-plugin@2.4.6(webpack@5.79.0): + resolution: {integrity: sha512-khHpc29bdsE9EQiGSLqQieLyMbGca+bkC42/BBL1gXC8yAS0nHpOTUCBYUK6En1FuRdfE9wKXhGtsab8vmsugg==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^5.0.0 + dependencies: + schema-utils: 4.2.0 + webpack: 5.79.0(@swc/core@1.3.96) + dev: true + + /minimalistic-assert@1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + dev: true + + /minimatch@3.0.4: + resolution: {integrity: sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==} + dependencies: + brace-expansion: 1.1.11 + dev: true + + /minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + + /minimatch@5.1.0: + resolution: {integrity: sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==} + engines: {node: '>=10'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimatch@7.4.6: + resolution: {integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==} + engines: {node: '>=10'} + dependencies: + brace-expansion: 2.0.1 + + /minimatch@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + 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@6.0.2: + resolution: {integrity: sha512-MzWSV5nYVT7mVyWCwn2o7JH13w2TBRmmSqSRCKzTw+lmft9X4z+3wjvs06Tzijo5z4W/kahUCDpRXTF+ZrmF/w==} + engines: {node: '>=16 || 14 >=14.17'} + dev: true + + /miniprogram-api-typings@3.6.0: + resolution: {integrity: sha512-xwK3PzhhxnfWqDfBikHLdAbj7Wy4F887nBcQrzwuF758Fw2qC4ivpKPL9t0uJZk5QYnU28+NqA7Q3lzYGMHQnA==} + dev: true + + /miniprogram-compiler@0.2.2: + resolution: {integrity: sha512-fiJXv/15jCcRAU8YKcO7S7fkPKLa5ZBgpLN+d6B3r3KMktM5tAkDEQ+zm6aTfNoHurYOHcRyPyGf26gqQXlFXg==} + dependencies: + glob: 7.2.3 + unescape-js: 1.1.4 + dev: true + + /miniprogram-exparser@2.15.0: + resolution: {integrity: sha512-W6aS1R3oVTwYw5hPguRqICFqx3wk2dtPAcwT6269WeWRjuQslbVPZRW/nlN16bg0NM5eQFmfU49PM6/PQ5DE8w==} + dev: true + + /miniprogram-simulate@1.5.7: + resolution: {integrity: sha512-RFfZSoDIc+PQTtDmkg9D1/Su+UVCzuWbTV/KM1Zr8IUfFNg6uxsKLdeUem9H5sk0a4dlH/o1Qv7QXZPFfcbAvA==} + dependencies: + csso: 3.5.1 + j-component: 1.4.6 + less: 3.13.1 + miniprogram-compiler: 0.2.2 + postcss: 7.0.39 + dev: 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: true + + /mlly@1.4.2: + resolution: {integrity: sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==} + dependencies: + acorn: 8.10.0 + pathe: 1.1.1 + pkg-types: 1.0.3 + ufo: 1.3.0 + dev: true + + /mobile-detect@1.4.5: + resolution: {integrity: sha512-yc0LhH6tItlvfLBugVUEtgawwFU2sIe+cSdmRJJCTMZ5GEJyLxNyC/NIOAOGk67Fa8GNpOttO3Xz/1bHpXFD/g==} + + /mockjs@1.1.0: + resolution: {integrity: sha512-eQsKcWzIaZzEZ07NuEyO4Nw65g0hdWAyurVol1IPl1gahRwY+svqzfgfey8U8dahLwG44d6/RwEzuK52rSa/JQ==} + hasBin: true + dependencies: + commander: 11.0.0 + dev: true + + /modify-values@1.0.1: + resolution: {integrity: sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==} + engines: {node: '>=0.10.0'} + dev: true + + /mrmime@1.0.1: + resolution: {integrity: sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==} + engines: {node: '>=10'} + dev: true + + /ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + dev: true + + /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 + + /multicast-dns@7.2.5: + resolution: {integrity: sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==} + hasBin: true + dependencies: + dns-packet: 5.6.1 + thunky: 1.1.0 + dev: true + + /multimatch@5.0.0: + resolution: {integrity: sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==} + engines: {node: '>=10'} + dependencies: + '@types/minimatch': 3.0.5 + array-differ: 3.0.0 + array-union: 2.1.0 + arrify: 2.0.1 + minimatch: 3.1.2 + dev: true + + /mutation-observer@1.0.3: + resolution: {integrity: sha512-M/O/4rF2h776hV7qGMZUH3utZLO/jK7p8rnNgGkjKUw8zCGjRQPxB8z6+5l8+VjRUQ3dNYu4vjqXYLr+U8ZVNA==} + dev: false + + /mute-stream@0.0.8: + resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} + dev: true + + /mute-stream@1.0.0: + resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dev: true + + /mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + dev: true + + /nanoid@3.3.4: + resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + /native-request@1.1.0: + resolution: {integrity: sha512-uZ5rQaeRn15XmpgE0xoPL8YWqcX90VtCFglYwAgkvKM5e8fog+vePLAhHxuuv/gRkrQxIeh5U3q9sMNUrENqWw==} + requiresBuild: true + dev: true + optional: 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==} + dev: true + + /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==} + + /netmask@2.0.2: + resolution: {integrity: sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg==} + engines: {node: '>= 0.4.0'} + dev: true + + /new-github-release-url@2.0.0: + resolution: {integrity: sha512-NHDDGYudnvRutt/VhKFlX26IotXe1w0cmkDm6JGquh5bz/bDTw0LufSmH/GxTjEdpHEO+bVKFTwdrcGa/9XlKQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + type-fest: 2.19.0 + dev: true + + /no-case@2.3.2: + resolution: {integrity: sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==} + dependencies: + lower-case: 1.1.4 + dev: true + + /no-case@3.0.4: + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + dependencies: + lower-case: 2.0.2 + tslib: 2.4.1 + dev: true + + /node-domexception@1.0.0: + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} + dev: true + + /node-emoji@1.11.0: + resolution: {integrity: sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==} + dependencies: + lodash: 4.17.21 + dev: true + + /node-fetch@2.6.9: + resolution: {integrity: sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + dev: true + + /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-forge@1.3.1: + resolution: {integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==} + engines: {node: '>= 6.13.0'} + dev: true + + /node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + + /node-releases@2.0.6: + resolution: {integrity: sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==} + + /normalize-package-data@2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + dependencies: + hosted-git-info: 2.8.9 + resolve: 1.22.1 + 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.11.0 + semver: 7.5.4 + 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-url@2.0.1: + resolution: {integrity: sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==} + engines: {node: '>=4'} + dependencies: + prepend-http: 2.0.0 + query-string: 5.1.1 + sort-keys: 2.0.0 + dev: true + + /normalize-url@4.5.1: + resolution: {integrity: sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==} + engines: {node: '>=8'} + dev: true + + /normalize-url@6.1.0: + resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} + engines: {node: '>=10'} + dev: true + + /normalize-url@8.0.0: + resolution: {integrity: sha512-uVFpKhj5MheNBJRTiMZ9pE/7hD1QTeEvugSJW/OmLzAp78PB5O6adfMNTvmfKhXBkvCzC+rqifWcVYpGFwTjnw==} + engines: {node: '>=14.16'} + dev: true + + /npm-check@6.0.1: + resolution: {integrity: sha512-tlEhXU3689VLUHYEZTS/BC61vfeN2xSSZwoWDT6WLuenZTpDmGmNT5mtl15erTR0/A15ldK06/NEKg9jYJ9OTQ==} + engines: {node: '>=10.9.0'} + hasBin: true + dependencies: + callsite-record: 4.1.5 + chalk: 4.1.2 + co: 4.6.0 + depcheck: 1.4.3 + execa: 5.1.1 + giturl: 1.0.1 + global-modules: 2.0.0 + globby: 11.1.0 + inquirer: 7.3.3 + is-ci: 2.0.0 + lodash: 4.17.21 + meow: 9.0.0 + minimatch: 3.1.2 + node-emoji: 1.11.0 + ora: 5.4.1 + package-json: 6.5.0 + path-exists: 4.0.0 + pkg-dir: 5.0.0 + preferred-pm: 3.0.3 + rc-config-loader: 4.1.2 + semver: 7.5.4 + semver-diff: 3.1.1 + strip-ansi: 6.0.1 + text-table: 0.2.0 + throat: 6.0.2 + update-notifier: 5.1.0 + xtend: 4.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /npm-conf@1.1.3: + resolution: {integrity: sha512-Yic4bZHJOt9RCFbRP3GgpqhScOY4HH3V2P8yBj6CeYq118Qr+BLXqT2JvpJ00mryLESpgOxf5XlFv4ZjXxLScw==} + engines: {node: '>=4'} + dependencies: + config-chain: 1.1.13 + pify: 3.0.0 + 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 + + /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 + + /nwsapi@2.2.2: + resolution: {integrity: sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw==} + 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.2: + resolution: {integrity: sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==} + + /object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + dev: true + + /object.assign@4.1.4: + resolution: {integrity: sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.4 + has-symbols: 1.0.3 + object-keys: 1.1.1 + dev: true + + /obuf@1.1.2: + resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + 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 + + /on-headers@1.0.2: + resolution: {integrity: sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==} + engines: {node: '>= 0.8'} + 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 + + /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.0: + resolution: {integrity: sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==} + engines: {node: '>=12'} + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + dev: true + + /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 + + /opener@1.5.2: + resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==} + hasBin: true + dev: true + + /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 + dev: true + + /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 + dev: true + + /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.7.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 + + /ora@6.3.0: + resolution: {integrity: sha512-1/D8uRFY0ay2kgBpmAwmSA404w4OoPVhHMqRqtjvrcK/dnzcEZxMJ+V4DUbyICu8IIVRclHcOf5wlD1tMY4GUQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + chalk: 5.2.0 + cli-cursor: 4.0.0 + cli-spinners: 2.7.0 + is-interactive: 2.0.0 + is-unicode-supported: 1.3.0 + log-symbols: 5.1.0 + stdin-discarder: 0.1.0 + strip-ansi: 7.0.1 + wcwidth: 1.0.1 + dev: true + + /os-name@5.1.0: + resolution: {integrity: sha512-YEIoAnM6zFmzw3PQ201gCVCIWbXNyKObGlVvpAVvraAeOHnlYVKFssbA/riRX5R40WA6kKrZ7Dr7dWzO3nKSeQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + macos-release: 3.1.0 + windows-release: 5.1.0 + dev: true + + /os-tmpdir@1.0.2: + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} + dev: true + + /p-cancelable@0.4.1: + resolution: {integrity: sha512-HNa1A8LvB1kie7cERyy21VNeHb2CWJJYqyyC2o3klWFfMGlFmWv2Z7sFgZH8ZiaYL95ydToKTFVXgMV/Os0bBQ==} + engines: {node: '>=4'} + dev: true + + /p-cancelable@1.1.0: + resolution: {integrity: sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==} + engines: {node: '>=6'} + dev: true + + /p-cancelable@3.0.0: + resolution: {integrity: sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw==} + engines: {node: '>=12.20'} + dev: true + + /p-event@2.3.1: + resolution: {integrity: sha512-NQCqOFhbpVTMX4qMe8PF8lbGtzZ+LCiN7pcNrb/413Na7+TRoe1xkKUzuWa/YEJdGQ0FvKtj35EEbDoVPO2kbA==} + engines: {node: '>=6'} + dependencies: + p-timeout: 2.0.1 + dev: true + + /p-finally@1.0.0: + resolution: {integrity: sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==} + engines: {node: '>=4'} + dev: true + + /p-is-promise@1.1.0: + resolution: {integrity: sha512-zL7VE4JVS2IFSkR2GQKDSPEVxkoH43/p7oEnwpdCndKYJO0HVeRB7fA8TJwuLOTBREtK0ea8eHaxdwcpob5dmg==} + engines: {node: '>=4'} + dev: true + + /p-limit@1.3.0: + resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} + engines: {node: '>=4'} + dependencies: + p-try: 1.0.0 + 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 + dev: true + + /p-locate@2.0.0: + resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==} + engines: {node: '>=4'} + dependencies: + p-limit: 1.3.0 + dev: true + + /p-locate@3.0.0: + resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} + engines: {node: '>=6'} + dependencies: + p-limit: 2.3.0 + + /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 + dev: true + + /p-retry@4.6.2: + resolution: {integrity: sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==} + engines: {node: '>=8'} + dependencies: + '@types/retry': 0.12.0 + retry: 0.13.1 + dev: true + + /p-timeout@2.0.1: + resolution: {integrity: sha512-88em58dDVB/KzPEx1X0N3LwFfYZPyDc4B6eF38M1rk9VTZMbxXXgjugz8mmwpS9Ox4BDZ+t6t3QP5+/gazweIA==} + engines: {node: '>=4'} + dependencies: + p-finally: 1.0.0 + dev: true + + /p-try@1.0.0: + resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==} + engines: {node: '>=4'} + dev: true + + /p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + /pac-proxy-agent@5.0.0: + resolution: {integrity: sha512-CcFG3ZtnxO8McDigozwE3AqAw15zDvGH+OjXO4kzf7IkEKkQ4gxQ+3sdF50WmhQ4P/bVusXcqNE2S3XrNURwzQ==} + engines: {node: '>= 8'} + dependencies: + '@tootallnate/once': 1.1.2 + agent-base: 6.0.2 + debug: 4.3.4 + get-uri: 3.0.2 + http-proxy-agent: 4.0.1 + https-proxy-agent: 5.0.1 + pac-resolver: 5.0.1 + raw-body: 2.5.1 + socks-proxy-agent: 5.0.1 + transitivePeerDependencies: + - supports-color + dev: true + + /pac-resolver@5.0.1: + resolution: {integrity: sha512-cy7u00ko2KVgBAjuhevqpPeHIkCIqPe1v24cydhWjmeuzaBfmUWFCZJ1iAh5TuVzVZoUzXIW7K8sMYOZ84uZ9Q==} + engines: {node: '>= 8'} + dependencies: + degenerator: 3.0.3 + ip: 1.1.8 + netmask: 2.0.2 + dev: true + + /package-json@6.5.0: + resolution: {integrity: sha512-k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==} + engines: {node: '>=8'} + dependencies: + got: 9.6.0 + registry-auth-token: 4.2.2 + registry-url: 5.1.0 + semver: 6.3.1 + dev: true + + /package-json@8.1.0: + resolution: {integrity: sha512-hySwcV8RAWeAfPsXb9/HGSPn8lwDnv6fabH+obUZKX169QknRkRhPxd1yMubpKDskLFATkl3jHpNtVtDPFA0Wg==} + engines: {node: '>=14.16'} + dependencies: + got: 12.6.0 + registry-auth-token: 5.0.2 + registry-url: 6.0.1 + semver: 7.5.4 + dev: true + + /param-case@2.1.1: + resolution: {integrity: sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==} + dependencies: + no-case: 2.3.2 + dev: true + + /param-case@3.0.4: + resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} + dependencies: + dot-case: 3.0.4 + tslib: 2.4.1 + dev: true + + /parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + dependencies: + callsites: 3.1.0 + dev: true + + /parse-json@4.0.0: + resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} + engines: {node: '>=4'} + dependencies: + error-ex: 1.3.2 + json-parse-better-errors: 1.0.2 + dev: true + + /parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + dependencies: + '@babel/code-frame': 7.23.5 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + dev: true + + /parse-node-version@1.0.1: + resolution: {integrity: sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==} + engines: {node: '>= 0.10'} + dev: true + + /parse-path@7.0.0: + resolution: {integrity: sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==} + dependencies: + protocols: 2.0.1 + dev: true + + /parse-url@8.1.0: + resolution: {integrity: sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==} + dependencies: + parse-path: 7.0.0 + dev: true + + /parse5-htmlparser2-tree-adapter@6.0.1: + resolution: {integrity: sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==} + dependencies: + parse5: 6.0.1 + dev: true + + /parse5@5.1.1: + resolution: {integrity: sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==} + dev: true + + /parse5@6.0.1: + resolution: {integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==} + dev: true + + /parse5@7.1.2: + resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==} + dependencies: + entities: 4.4.0 + dev: true + + /parseqs@0.0.6: + resolution: {integrity: sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w==} + dev: true + + /parseuri@0.0.6: + resolution: {integrity: sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow==} + 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.4.1 + dev: true + + /path-exists@3.0.0: + resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} + engines: {node: '>=4'} + + /path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: true + + /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.10.1: + resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + lru-cache: 10.0.1 + minipass: 6.0.2 + dev: true + + /path-to-regexp@0.1.7: + resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} + dev: true + + /path-to-regexp@3.2.0: + resolution: {integrity: sha512-jczvQbCUS7XmS7o+y1aEO9OBVFeZBQ1MDSEqmO7xSoPgOPoowY/SxLpZ6Vh97/8qHZOteiCKb7gkG9gA2ZUxJA==} + + /path-to-regexp@6.2.1: + resolution: {integrity: sha512-JLyh7xT1kizaEvcaXOQwOc2/Yhw6KZOvPf1S8401UyLk86CU79LN3vl7ztXGm/pZ+YjoyAJ4rxmHwbkBXJX+yw==} + dev: true + + /path-type@3.0.0: + resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} + engines: {node: '>=4'} + dependencies: + pify: 3.0.0 + dev: true + + /path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + dev: true + + /pathe@1.1.1: + resolution: {integrity: sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==} + dev: true + + /pend@1.2.0: + resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} + + /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'} + + /pidtree@0.6.0: + resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} + engines: {node: '>=0.10'} + hasBin: true + dev: true + + /pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + dev: true + + /pify@3.0.0: + resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} + engines: {node: '>=4'} + dev: true + + /pify@4.0.1: + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} + + /pinia@2.1.6(@vue/composition-api@1.7.2)(typescript@5.2.2)(vue@3.3.4): + resolution: {integrity: sha512-bIU6QuE5qZviMmct5XwCesXelb5VavdOWKWaB17ggk++NUwQWWbP5YnsONTk3b752QkW9sACiR81rorpeOMSvQ==} + peerDependencies: + '@vue/composition-api': ^1.4.0 + typescript: '>=4.4.4' + vue: ^2.6.14 || ^3.3.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + typescript: + optional: true + dependencies: + '@vue/composition-api': 1.7.2(vue@3.3.4) + '@vue/devtools-api': 6.5.0 + typescript: 5.2.2 + vue: 3.3.4 + vue-demi: 0.14.6(@vue/composition-api@1.7.2)(vue@3.3.4) + dev: false + + /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 + + /pirates@4.0.5: + resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} + engines: {node: '>= 6'} + + /pkg-dir@3.0.0: + resolution: {integrity: sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==} + engines: {node: '>=6'} + dependencies: + find-up: 3.0.0 + + /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-dir@5.0.0: + resolution: {integrity: sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==} + engines: {node: '>=10'} + dependencies: + find-up: 5.0.0 + dev: true + + /pkg-types@1.0.3: + resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} + dependencies: + jsonc-parser: 3.2.0 + mlly: 1.4.2 + pathe: 1.1.1 + dev: true + + /please-upgrade-node@3.2.0: + resolution: {integrity: sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==} + dependencies: + semver-compare: 1.0.0 + dev: true + + /postcss-calc@8.2.4(postcss@8.4.19): + resolution: {integrity: sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==} + peerDependencies: + postcss: ^8.2.2 + dependencies: + postcss: 8.4.19 + postcss-selector-parser: 6.0.11 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-colormin@5.3.0(postcss@8.4.19): + resolution: {integrity: sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.22.2 + caniuse-api: 3.0.0 + colord: 2.9.3 + postcss: 8.4.19 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-convert-values@5.1.3(postcss@8.4.19): + resolution: {integrity: sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.22.2 + postcss: 8.4.19 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-discard-comments@5.1.2(postcss@8.4.19): + resolution: {integrity: sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.19 + dev: true + + /postcss-discard-duplicates@5.1.0(postcss@8.4.19): + resolution: {integrity: sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.19 + dev: true + + /postcss-discard-empty@5.1.1(postcss@8.4.19): + resolution: {integrity: sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.19 + dev: true + + /postcss-discard-overridden@5.1.0(postcss@8.4.19): + resolution: {integrity: sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.19 + dev: true + + /postcss-html-transform@3.6.20(postcss@8.4.19): + resolution: {integrity: sha512-HxxUMJhqGq/vMDVzENnBZM1ESEkt3FtY80JLGQrztSK4T+Ck3d/IJp5+fKKxUTYiQVSpnVHO6g6jnmIVruQdIA==} + peerDependencies: + postcss: ^8.4.18 + dependencies: + postcss: 8.4.19 + dev: true + + /postcss-html@1.5.0: + resolution: {integrity: sha512-kCMRWJRHKicpA166kc2lAVUGxDZL324bkj/pVOb6RhjB0Z5Krl7mN0AsVkBhVIRZZirY0lyQXG38HCVaoKVNoA==} + engines: {node: ^12 || >=14} + dependencies: + htmlparser2: 8.0.1 + js-tokens: 8.0.0 + postcss: 8.4.19 + postcss-safe-parser: 6.0.0(postcss@8.4.19) + dev: true + + /postcss-import@14.1.0(postcss@8.4.19): + resolution: {integrity: sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==} + engines: {node: '>=10.0.0'} + peerDependencies: + postcss: ^8.0.0 + dependencies: + postcss: 8.4.19 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.1 + dev: true + + /postcss-loader@7.3.3(postcss@8.4.19)(typescript@5.2.2)(webpack@5.79.0): + resolution: {integrity: sha512-YgO/yhtevGO/vJePCQmTxiaEwER94LABZN0ZMT4A0vsak9TpO+RvKRs7EmJ8peIlB9xfXCsS7M8LjqncsUZ5HA==} + engines: {node: '>= 14.15.0'} + peerDependencies: + postcss: ^7.0.0 || ^8.0.1 + webpack: ^5.0.0 + dependencies: + cosmiconfig: 8.3.6(typescript@5.2.2) + jiti: 1.20.0 + postcss: 8.4.19 + semver: 7.3.8 + webpack: 5.79.0(@swc/core@1.3.96) + transitivePeerDependencies: + - typescript + dev: true + + /postcss-media-query-parser@0.2.3: + resolution: {integrity: sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==} + dev: true + + /postcss-merge-longhand@5.1.7(postcss@8.4.19): + resolution: {integrity: sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.19 + postcss-value-parser: 4.2.0 + stylehacks: 5.1.1(postcss@8.4.19) + dev: true + + /postcss-merge-rules@5.1.3(postcss@8.4.19): + resolution: {integrity: sha512-LbLd7uFC00vpOuMvyZop8+vvhnfRGpp2S+IMQKeuOZZapPRY4SMq5ErjQeHbHsjCUgJkRNrlU+LmxsKIqPKQlA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.22.2 + caniuse-api: 3.0.0 + cssnano-utils: 3.1.0(postcss@8.4.19) + postcss: 8.4.19 + postcss-selector-parser: 6.0.11 + dev: true + + /postcss-minify-font-values@5.1.0(postcss@8.4.19): + resolution: {integrity: sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.19 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-minify-gradients@5.1.1(postcss@8.4.19): + resolution: {integrity: sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + colord: 2.9.3 + cssnano-utils: 3.1.0(postcss@8.4.19) + postcss: 8.4.19 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-minify-params@5.1.4(postcss@8.4.19): + resolution: {integrity: sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.22.2 + cssnano-utils: 3.1.0(postcss@8.4.19) + postcss: 8.4.19 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-minify-selectors@5.2.1(postcss@8.4.19): + resolution: {integrity: sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.19 + postcss-selector-parser: 6.0.11 + dev: true + + /postcss-modules-extract-imports@3.0.0(postcss@8.4.19): + resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.4.19 + dev: true + + /postcss-modules-local-by-default@4.0.0(postcss@8.4.19): + resolution: {integrity: sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + icss-utils: 5.1.0(postcss@8.4.19) + postcss: 8.4.19 + postcss-selector-parser: 6.0.11 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-modules-scope@3.0.0(postcss@8.4.19): + resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==} + engines: {node: ^10 || ^12 || >= 14} + peerDependencies: + postcss: ^8.1.0 + dependencies: + postcss: 8.4.19 + postcss-selector-parser: 6.0.11 + dev: true + + /postcss-modules-values@4.0.0(postcss@8.4.19): + 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.19) + postcss: 8.4.19 + dev: true + + /postcss-normalize-charset@5.1.0(postcss@8.4.19): + resolution: {integrity: sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.19 + dev: true + + /postcss-normalize-display-values@5.1.0(postcss@8.4.19): + resolution: {integrity: sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.19 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-normalize-positions@5.1.1(postcss@8.4.19): + resolution: {integrity: sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.19 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-normalize-repeat-style@5.1.1(postcss@8.4.19): + resolution: {integrity: sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.19 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-normalize-string@5.1.0(postcss@8.4.19): + resolution: {integrity: sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.19 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-normalize-timing-functions@5.1.0(postcss@8.4.19): + resolution: {integrity: sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.19 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-normalize-unicode@5.1.1(postcss@8.4.19): + resolution: {integrity: sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.22.2 + postcss: 8.4.19 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-normalize-url@5.1.0(postcss@8.4.19): + resolution: {integrity: sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + normalize-url: 6.1.0 + postcss: 8.4.19 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-normalize-whitespace@5.1.1(postcss@8.4.19): + resolution: {integrity: sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.19 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-ordered-values@5.1.3(postcss@8.4.19): + resolution: {integrity: sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + cssnano-utils: 3.1.0(postcss@8.4.19) + postcss: 8.4.19 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-plugin-constparse@3.6.20(postcss@8.4.19): + resolution: {integrity: sha512-iBns/y1cf3K3emI3nD7MVZy4UEv2NjzSMvXftn5fZ4QnShDf/JGtg52ca4DesMp07dCvf0YAz3Vi5WM5TtJuOg==} + peerDependencies: + postcss: ^8.4.18 + dependencies: + postcss: 8.4.19 + dev: true + + /postcss-pxtransform@3.6.20(postcss@8.4.19): + resolution: {integrity: sha512-Y03PEoHwGpvThnpSOY50ga8KEvdAq5+5sdmHW3s5QnJJrGrLFjiG6LAu5Nt0IEYQB4tkpQQ/MPx6HvFXLMzkMw==} + peerDependencies: + postcss: ^8.4.18 + dependencies: + postcss: 8.4.19 + dev: true + + /postcss-reduce-initial@5.1.1(postcss@8.4.19): + resolution: {integrity: sha512-//jeDqWcHPuXGZLoolFrUXBDyuEGbr9S2rMo19bkTIjBQ4PqkaO+oI8wua5BOUxpfi97i3PCoInsiFIEBfkm9w==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.22.2 + caniuse-api: 3.0.0 + postcss: 8.4.19 + dev: true + + /postcss-reduce-transforms@5.1.0(postcss@8.4.19): + resolution: {integrity: sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.19 + postcss-value-parser: 4.2.0 + dev: true + + /postcss-resolve-nested-selector@0.1.1: + resolution: {integrity: sha512-HvExULSwLqHLgUy1rl3ANIqCsvMS0WHss2UOsXhXnQaZ9VCc2oBvIpXrl00IUFT5ZDITME0o6oiXeiHr2SAIfw==} + dev: true + + /postcss-safe-parser@6.0.0(postcss@8.4.19): + resolution: {integrity: sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.3.3 + dependencies: + postcss: 8.4.19 + dev: true + + /postcss-scss@4.0.6(postcss@8.4.19): + resolution: {integrity: sha512-rLDPhJY4z/i4nVFZ27j9GqLxj1pwxE80eAzUNRMXtcpipFYIeowerzBgG3yJhMtObGEXidtIgbUpQ3eLDsf5OQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.4.19 + dependencies: + postcss: 8.4.19 + dev: true + + /postcss-selector-parser@6.0.11: + resolution: {integrity: sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==} + engines: {node: '>=4'} + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + dev: true + + /postcss-sorting@7.0.1(postcss@8.4.19): + resolution: {integrity: sha512-iLBFYz6VRYyLJEJsBJ8M3TCqNcckVzz4wFounSc5Oez35ogE/X+aoC5fFu103Ot7NyvjU3/xqIXn93Gp3kJk4g==} + peerDependencies: + postcss: ^8.3.9 + dependencies: + postcss: 8.4.19 + dev: true + + /postcss-svgo@5.1.0(postcss@8.4.19): + resolution: {integrity: sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.19 + postcss-value-parser: 4.2.0 + svgo: 2.8.0 + dev: true + + /postcss-unique-selectors@5.1.1(postcss@8.4.19): + resolution: {integrity: sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + postcss: 8.4.19 + postcss-selector-parser: 6.0.11 + dev: true + + /postcss-url@10.1.3(postcss@8.4.19): + resolution: {integrity: sha512-FUzyxfI5l2tKmXdYc6VTu3TWZsInayEKPbiyW+P6vmmIrrb4I6CGX0BFoewgYHLK+oIL5FECEK02REYRpBvUCw==} + engines: {node: '>=10'} + peerDependencies: + postcss: ^8.0.0 + dependencies: + make-dir: 3.1.0 + mime: 2.5.2 + minimatch: 3.0.4 + postcss: 8.4.19 + xxhashjs: 0.2.2 + 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.19: + resolution: {integrity: sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.4 + picocolors: 1.0.0 + source-map-js: 1.0.2 + + /preferred-pm@3.0.3: + resolution: {integrity: sha512-+wZgbxNES/KlJs9q40F/1sfOd/j7f1O9JaHcW5Dsn3aUUOZg3L2bjpVUcKV2jvtElYfoTuQiNeMfQJ4kwUAhCQ==} + engines: {node: '>=10'} + dependencies: + find-up: 5.0.0 + find-yarn-workspace-root2: 1.2.16 + path-exists: 4.0.0 + which-pm: 2.0.0 + dev: true + + /prelude-ls@1.1.2: + resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} + engines: {node: '>= 0.8.0'} + dev: true + + /prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + dev: true + + /prepend-http@2.0.0: + resolution: {integrity: sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==} + engines: {node: '>=4'} + dev: true + + /prettier-linter-helpers@1.0.0: + resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} + engines: {node: '>=6.0.0'} + dependencies: + fast-diff: 1.2.0 + dev: true + + /prettier@2.7.1: + resolution: {integrity: sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==} + engines: {node: '>=10.13.0'} + hasBin: true + dev: true + + /prettier@2.8.0: + resolution: {integrity: sha512-9Lmg8hTFZKG0Asr/kW9Bp8tJjRVluO8EJQVfY2T7FMw9T5jy4I/Uvx0Rca/XWf50QQ1/SS48+6IJWnrb+2yemA==} + engines: {node: '>=10.13.0'} + hasBin: true + requiresBuild: true + dev: true + optional: true + + /pretty-bytes@5.6.0: + resolution: {integrity: sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==} + engines: {node: '>=6'} + + /pretty-error@4.0.0: + resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} + dependencies: + lodash: 4.17.21 + renderkid: 3.0.0 + dev: true + + /pretty-time@1.1.0: + resolution: {integrity: sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==} + engines: {node: '>=4'} + dev: true + + /process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + dev: true + + /progress@2.0.3: + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} + dev: true + + /promise-polyfill@7.1.2: + resolution: {integrity: sha512-FuEc12/eKqqoRYIGBrUptCBRhobL19PS2U31vMNTfyck1FxPyMfgsXyW4Mav85y/ZN1hop3hOwRlUDok23oYfQ==} + + /promise.allsettled@1.0.6: + resolution: {integrity: sha512-22wJUOD3zswWFqgwjNHa1965LvqTX87WPu/lreY2KSd7SVcERfuZ4GfUaOnJNnvtoIv2yXT/W00YIGMetXtFXg==} + engines: {node: '>= 0.4'} + dependencies: + array.prototype.map: 1.0.5 + call-bind: 1.0.2 + define-properties: 1.1.4 + es-abstract: 1.20.4 + get-intrinsic: 1.2.0 + iterate-value: 1.0.2 + dev: true + + /property-expr@2.0.5: + resolution: {integrity: sha512-IJUkICM5dP5znhCckHSv30Q4b5/JA5enCtkRHYaOVOAocnH/1BQEYTC5NMfT3AVl/iXKdr3aqQbQn9DxyWknwA==} + dev: false + + /proto-list@1.2.4: + resolution: {integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==} + dev: true + + /protocols@2.0.1: + resolution: {integrity: sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==} + dev: true + + /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-agent@5.0.0: + resolution: {integrity: sha512-gkH7BkvLVkSfX9Dk27W6TyNOWWZWRilRfk1XxGNWOYJ2TuedAv1yFpCaU9QSBmBe716XOTNpYNOzhysyw8xn7g==} + engines: {node: '>= 8'} + dependencies: + agent-base: 6.0.2 + debug: 4.3.4 + http-proxy-agent: 4.0.1 + https-proxy-agent: 5.0.1 + lru-cache: 5.1.1 + pac-proxy-agent: 5.0.0 + proxy-from-env: 1.1.0 + socks-proxy-agent: 5.0.1 + transitivePeerDependencies: + - supports-color + dev: true + + /proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + + /prr@1.0.1: + resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} + dev: true + optional: true + + /pseudomap@1.0.2: + resolution: {integrity: sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==} + dev: true + + /psl@1.9.0: + resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==} + 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@2.3.0: + resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} + engines: {node: '>=6'} + + /pupa@2.1.1: + resolution: {integrity: sha512-l1jNAspIBSFqbT+y+5FosojNpVpF94nlI+wDUpqP9enwOTfHx9f0gh5nB96vl+6yTpsJsypeNrwfzPrKuHB41A==} + engines: {node: '>=8'} + dependencies: + escape-goat: 2.1.1 + dev: true + + /pupa@3.1.0: + resolution: {integrity: sha512-FLpr4flz5xZTSJxSeaheeMKN/EDzMdK7b8PTOC6a5PYFKTucWbdqjgqaEyH0shFiSJrVB1+Qqi4Tk19ccU6Aug==} + engines: {node: '>=12.20'} + dependencies: + escape-goat: 4.0.0 + dev: true + + /q@1.5.1: + resolution: {integrity: sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==} + engines: {node: '>=0.6.0', teleport: '>=0.2.0'} + dev: true + + /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.1: + resolution: {integrity: sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ==} + engines: {node: '>=0.6'} + dependencies: + side-channel: 1.0.4 + dev: false + + /qs@6.5.3: + resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==} + engines: {node: '>=0.6'} + dev: true + + /query-ast@1.0.5: + resolution: {integrity: sha512-JK+1ma4YDuLjvKKcz9JZ70G+CM9qEOs/l1cZzstMMfwKUabTJ9sud5jvDGrUNuv03yKUgs82bLkHXJkDyhRmBw==} + dependencies: + invariant: 2.2.4 + lodash: 4.17.21 + dev: true + + /query-string@5.1.1: + resolution: {integrity: sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==} + engines: {node: '>=0.10.0'} + dependencies: + decode-uri-component: 0.2.0 + object-assign: 4.1.1 + strict-uri-encode: 1.1.0 + dev: true + + /query-string@7.1.1: + resolution: {integrity: sha512-MplouLRDHBZSG9z7fpuAAcI7aAYjDLhtsiVZsevsfaHWDS2IDdORKbSd1kWUA+V4zyva/HZoSfpwnYMMQDhb0w==} + engines: {node: '>=6'} + dependencies: + decode-uri-component: 0.2.0 + filter-obj: 1.1.0 + split-on-first: 1.1.0 + strict-uri-encode: 2.0.0 + + /querystringify@2.2.0: + resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} + dev: true + + /queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + /quick-lru@4.0.1: + resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} + engines: {node: '>=8'} + dev: true + + /quick-lru@5.1.1: + resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} + engines: {node: '>=10'} + dev: true + + /randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + dependencies: + safe-buffer: 5.2.1 + + /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-config-loader@4.1.2: + resolution: {integrity: sha512-qKTnVWFl9OQYKATPzdfaZIbTxcHziQl92zYSxYC6umhOqyAsoj8H8Gq/+aFjAso68sBdjTz3A7omqeAkkF1MWg==} + dependencies: + debug: 4.3.4 + js-yaml: 4.1.0 + json5: 2.2.3 + require-from-string: 2.0.2 + transitivePeerDependencies: + - supports-color + dev: true + + /rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.8 + strip-json-comments: 2.0.1 + dev: true + + /react-refresh@0.11.0: + resolution: {integrity: sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==} + engines: {node: '>=0.10.0'} + dev: true + + /react-refresh@0.4.3: + resolution: {integrity: sha512-Hwln1VNuGl/6bVwnd0Xdn1e84gT/8T9aYNL+HAKDArLCS7LWjwr7StE30IEYbIkx0Vi3vs+coQxe+SQDbGbbpA==} + engines: {node: '>=0.10.0'} + dev: true + + /read-cache@1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + dependencies: + pify: 2.3.0 + dev: true + + /read-pkg-up@3.0.0: + resolution: {integrity: sha512-YFzFrVvpC6frF1sz8psoHDBGF7fLPc+llq/8NB43oagqWkx8ar5zYtsTORtOjw9W2RHLpWP+zTWwBvf1bCmcSw==} + engines: {node: '>=4'} + dependencies: + find-up: 2.1.0 + read-pkg: 3.0.0 + dev: true + + /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@3.0.0: + resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} + engines: {node: '>=4'} + dependencies: + load-json-file: 4.0.0 + normalize-package-data: 2.5.0 + path-type: 3.0.0 + 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.7: + resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==} + 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.0: + resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} + 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 + + /rechoir@0.6.2: + resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} + engines: {node: '>= 0.10'} + dependencies: + resolve: 1.22.1 + dev: true + + /redent@3.0.0: + resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} + engines: {node: '>=8'} + dependencies: + indent-string: 4.0.0 + strip-indent: 3.0.0 + dev: true + + /regenerate-unicode-properties@10.1.0: + resolution: {integrity: sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==} + engines: {node: '>=4'} + dependencies: + regenerate: 1.4.2 + + /regenerate@1.4.2: + resolution: {integrity: sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==} + + /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.20.6 + + /regex-parser@2.2.11: + resolution: {integrity: sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==} + dev: true + + /regexp.prototype.flags@1.4.3: + resolution: {integrity: sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.4 + functions-have-names: 1.2.3 + dev: true + + /regexpp@3.2.0: + resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} + engines: {node: '>=8'} + dev: true + + /regexpu-core@5.2.2: + resolution: {integrity: sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw==} + engines: {node: '>=4'} + dependencies: + regenerate: 1.4.2 + regenerate-unicode-properties: 10.1.0 + regjsgen: 0.7.1 + regjsparser: 0.9.1 + unicode-match-property-ecmascript: 2.0.0 + unicode-match-property-value-ecmascript: 2.1.0 + + /registry-auth-token@4.2.2: + resolution: {integrity: sha512-PC5ZysNb42zpFME6D/XlIgtNGdTl8bBOCw90xQLVMpzuuubJKYDWFAEuUNc+Cn8Z8724tg2SDhDRrkVEsqfDMg==} + engines: {node: '>=6.0.0'} + dependencies: + rc: 1.2.8 + dev: true + + /registry-auth-token@5.0.2: + resolution: {integrity: sha512-o/3ikDxtXaA59BmZuZrJZDJv8NMDGSj+6j6XaeBmHw8eY1i1qd9+6H+LjVvQXx3HN6aRCGa1cUdJ9RaJZUugnQ==} + engines: {node: '>=14'} + dependencies: + '@pnpm/npm-conf': 2.1.1 + dev: true + + /registry-url@5.1.0: + resolution: {integrity: sha512-8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==} + engines: {node: '>=8'} + dependencies: + rc: 1.2.8 + dev: true + + /registry-url@6.0.1: + resolution: {integrity: sha512-+crtS5QjFRqFCoQmvGduwYWEBng99ZvmFvF+cUJkGYF1L1BfU8C6Zp9T7f5vPAwyLkUExpvK+ANVZmGU49qi4Q==} + engines: {node: '>=12'} + dependencies: + rc: 1.2.8 + dev: true + + /regjsgen@0.7.1: + resolution: {integrity: sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==} + + /regjsparser@0.9.1: + resolution: {integrity: sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==} + hasBin: true + dependencies: + jsesc: 0.5.0 + + /relateurl@0.2.7: + resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} + engines: {node: '>= 0.10'} + dev: true + + /release-it@15.10.1: + resolution: {integrity: sha512-Wkk4aFHSo27vQwHIlcEy77lJwnQlh4UDQckc53gh5tKo7F22mAUEAe8SYQZJcFh7icdkf0OV70onhB1dDmeClA==} + engines: {node: '>=14.9'} + hasBin: true + dependencies: + '@iarna/toml': 2.2.5 + '@octokit/rest': 19.0.7 + async-retry: 1.3.3 + chalk: 5.2.0 + cosmiconfig: 8.1.3 + execa: 7.1.1 + git-url-parse: 13.1.0 + globby: 13.1.3 + got: 12.6.0 + inquirer: 9.1.5 + is-ci: 3.0.1 + issue-parser: 6.0.0 + lodash: 4.17.21 + mime-types: 2.1.35 + new-github-release-url: 2.0.0 + node-fetch: 3.3.1 + open: 9.1.0 + ora: 6.3.0 + os-name: 5.1.0 + promise.allsettled: 1.0.6 + proxy-agent: 5.0.0 + semver: 7.3.8 + shelljs: 0.8.5 + update-notifier: 6.0.2 + url-join: 5.0.0 + wildcard-match: 5.1.2 + yargs-parser: 21.1.1 + transitivePeerDependencies: + - encoding + - supports-color + dev: true + + /remove-accents@0.4.2: + resolution: {integrity: sha512-7pXIJqJOq5tFgG1A2Zxti3Ht8jJF337m4sowbuHsW30ZnkQFnDzy9qBNhgzX8ZLW4+UBcXiiR7SwR6pokHsxiA==} + dev: false + + /remove-trailing-separator@1.1.0: + resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} + 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 + + /replace-ext@1.0.1: + resolution: {integrity: sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==} + engines: {node: '>= 0.10'} + dev: true + + /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.11.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'} + + /require-package-name@2.0.1: + resolution: {integrity: sha512-uuoJ1hU/k6M0779t3VMVIYpb2VMJk05cehCaABFhXaibcbvfgR8wKiozLjVFSzJPmQMRqIcO0HMyTFqfV09V6Q==} + dev: true + + /requires-port@1.0.0: + resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} + dev: true + + /resolve-alpn@1.2.1: + resolution: {integrity: sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g==} + dev: true + + /resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + dev: true + + /resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + dev: true + + /resolve-global@1.0.0: + resolution: {integrity: sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==} + engines: {node: '>=8'} + dependencies: + global-dirs: 0.1.1 + dev: true + + /resolve-pathname@3.0.0: + resolution: {integrity: sha512-C7rARubxI8bXFNB/hqcp/4iUeIXJhJZvFPFPiSPRnhU5UPxzMFIl+2E6yY6c4k9giDJAhtV+enfA+G89N6Csng==} + + /resolve-url-loader@5.0.0: + resolution: {integrity: sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==} + engines: {node: '>=12'} + dependencies: + adjust-sourcemap-loader: 4.0.0 + convert-source-map: 1.9.0 + loader-utils: 2.0.4 + postcss: 8.4.19 + source-map: 0.6.1 + dev: true + + /resolve@1.22.1: + resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} + hasBin: true + dependencies: + is-core-module: 2.11.0 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + /responselike@1.0.2: + resolution: {integrity: sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==} + dependencies: + lowercase-keys: 1.0.1 + dev: true + + /responselike@3.0.0: + resolution: {integrity: sha512-40yHxbNcl2+rzXvZuVkrYohathsSJlMTXKryG5y8uciHv1+xDLHQpgjG64JUO9nrEq2jGLH6IZ8BcZyw3wrweg==} + engines: {node: '>=14.16'} + dependencies: + lowercase-keys: 3.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 + + /restore-cursor@4.0.0: + resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + dev: true + + /retry@0.13.1: + resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} + engines: {node: '>= 4'} + 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 + + /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 + dev: true + + /roarr@2.15.4: + resolution: {integrity: sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==} + engines: {node: '>=8.0'} + dependencies: + boolean: 3.2.0 + detect-node: 2.1.0 + globalthis: 1.0.3 + json-stringify-safe: 5.0.1 + semver-compare: 1.0.0 + sprintf-js: 1.1.3 + dev: true + optional: true + + /rrweb-cssom@0.6.0: + resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==} + dev: true + + /rtc-ai-denoiser@1.1.7: + resolution: {integrity: sha512-53e/4a4lT96K004mqDnLDE+upNSpBLRMfFgYCeIw3Gvuw9F17nxLP5v8MOVLly4/Epomxkx4SXrOFJJMxD2pIw==} + dev: false + + /run-applescript@5.0.0: + resolution: {integrity: sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==} + engines: {node: '>=12'} + dependencies: + execa: 5.1.1 + dev: true + + /run-async@2.4.1: + resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} + engines: {node: '>=0.12.0'} + dev: true + + /run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + + /rxjs@6.6.7: + resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==} + engines: {npm: '>=2.0.0'} + dependencies: + tslib: 1.14.1 + dev: true + + /rxjs@7.8.0: + resolution: {integrity: sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==} + dependencies: + tslib: 2.4.1 + dev: true + + /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-regex-test@1.0.0: + resolution: {integrity: sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.0 + is-regex: 1.1.4 + dev: true + + /safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: true + + /sass-loader@12.4.0(sass@1.50.0)(webpack@5.79.0): + resolution: {integrity: sha512-7xN+8khDIzym1oL9XyS6zP6Ges+Bo2B2xbPrjdMHEYyV3AQYhd/wXeru++3ODHF0zMjYmVadblSKrPrjEkL8mg==} + engines: {node: '>= 12.13.0'} + peerDependencies: + fibers: '>= 3.1.0' + node-sass: ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 + sass: ^1.3.0 + webpack: ^5.0.0 + peerDependenciesMeta: + fibers: + optional: true + node-sass: + optional: true + sass: + optional: true + dependencies: + klona: 2.0.6 + neo-async: 2.6.2 + sass: 1.50.0 + webpack: 5.79.0(@swc/core@1.3.96) + dev: true + + /sass-loader@8.0.2(sass@1.50.0)(webpack@5.79.0): + resolution: {integrity: sha512-7o4dbSK8/Ol2KflEmSco4jTjQoV988bM82P9CZdmo9hR3RLnvNc0ufMNdMrB0caq38JQ/FgF4/7RcbcfKzxoFQ==} + engines: {node: '>= 8.9.0'} + peerDependencies: + fibers: '>= 3.1.0' + node-sass: ^4.0.0 + sass: ^1.3.0 + webpack: ^4.36.0 || ^5.0.0 + peerDependenciesMeta: + fibers: + optional: true + node-sass: + optional: true + sass: + optional: true + dependencies: + clone-deep: 4.0.1 + loader-utils: 1.4.2 + neo-async: 2.6.2 + sass: 1.50.0 + schema-utils: 2.7.1 + semver: 6.3.1 + webpack: 5.79.0(@swc/core@1.3.96) + dev: false + + /sass@1.50.0: + resolution: {integrity: sha512-cLsD6MEZ5URXHStxApajEh7gW189kkjn4Rc8DQweMyF+o5HF5nfEz8QYLMlPsTOD88DknatTmBWkOcw5/LnJLQ==} + engines: {node: '>=12.0.0'} + hasBin: true + dependencies: + chokidar: 3.5.3 + immutable: 4.1.0 + source-map-js: 1.0.2 + + /sax@1.2.4: + resolution: {integrity: sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==} + dev: true + + /saxes@6.0.0: + resolution: {integrity: sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==} + engines: {node: '>=v12.22.7'} + dependencies: + xmlchars: 2.2.0 + dev: true + + /schema-utils@2.7.1: + resolution: {integrity: sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==} + engines: {node: '>= 8.9.0'} + dependencies: + '@types/json-schema': 7.0.15 + ajv: 6.12.6 + ajv-keywords: 3.5.2(ajv@6.12.6) + + /schema-utils@3.1.1: + resolution: {integrity: sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==} + engines: {node: '>= 10.13.0'} + dependencies: + '@types/json-schema': 7.0.15 + ajv: 6.12.6 + ajv-keywords: 3.5.2(ajv@6.12.6) + + /schema-utils@4.2.0: + resolution: {integrity: sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==} + engines: {node: '>= 12.13.0'} + dependencies: + '@types/json-schema': 7.0.15 + ajv: 8.11.2 + ajv-formats: 2.1.1(ajv@8.11.2) + ajv-keywords: 5.1.0(ajv@8.11.2) + dev: true + + /scss-bundle@3.1.2: + resolution: {integrity: sha512-lvxTwCKDLgzmRWhGwJ834ggtnEhs0G9FxSJRWte+NwlshVvBcQ/kOHHkpAGDpCxIMNGz/Utl0yd/MWyQAOBhqg==} + hasBin: true + dependencies: + '@types/archy': 0.0.31 + '@types/debug': 4.1.7 + '@types/fs-extra': 8.1.2 + '@types/glob': 7.2.0 + '@types/lodash.debounce': 4.0.7 + '@types/sass': 1.43.1 + archy: 1.0.0 + chalk: 3.0.0 + chokidar: 3.5.3 + commander: 4.1.1 + fs-extra: 8.1.0 + globs: 0.1.4 + lodash.debounce: 4.0.8 + loglevel: 1.8.1 + loglevel-plugin-prefix: 0.8.4 + pretty-bytes: 5.6.0 + sass: 1.50.0 + tslib: 1.14.1 + + /scss-parser@1.0.6: + resolution: {integrity: sha512-SH3TaoaJFzfAtqs3eG1j5IuHJkeEW5rKUPIjIN+ZorLAyJLHItQGnsgwHk76v25GtLtpT9IqfAcqK4vFWdiw+w==} + engines: {node: '>=6.0.0'} + dependencies: + invariant: 2.2.4 + lodash: 4.17.21 + dev: true + + /scule@1.0.0: + resolution: {integrity: sha512-4AsO/FrViE/iDNEPaAQlb77tf0csuq27EsVpy6ett584EcRTp6pTDLoGWVxCD77y5iU5FauOvhsI4o1APwPoSQ==} + dev: true + + /sdp@3.2.0: + resolution: {integrity: sha512-d7wDPgDV3DDiqulJjKiV2865wKsJ34YI+NDREbm+FySq6WuKOikwyNQcm+doLAZ1O6ltdO0SeKle2xMpN3Brgw==} + dev: false + + /seek-bzip@1.0.6: + resolution: {integrity: sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==} + hasBin: true + dependencies: + commander: 2.20.3 + dev: true + + /select-hose@2.0.0: + resolution: {integrity: sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==} + dev: true + + /selfsigned@2.1.1: + resolution: {integrity: sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==} + engines: {node: '>=10'} + dependencies: + node-forge: 1.3.1 + dev: true + + /semver-compare@1.0.0: + resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} + dev: true + + /semver-diff@3.1.1: + resolution: {integrity: sha512-GX0Ix/CJcHyB8c4ykpHGIAvLyOwOobtM/8d+TQkAd81/bEjgPHrfba41Vpesr7jX/t8Uh+R3EX9eAS5be+jQYg==} + engines: {node: '>=8'} + dependencies: + semver: 6.3.1 + dev: true + + /semver-diff@4.0.0: + resolution: {integrity: sha512-0Ju4+6A8iOnpL/Thra7dZsSlOHYAHIeMxfhWQRI1/VLcT3WDBZKKtQt/QkBOsiIN9ZpuvHE6cGZ0x4glCMmfiA==} + engines: {node: '>=12'} + dependencies: + semver: 7.5.4 + dev: true + + /semver@5.7.1: + resolution: {integrity: sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==} + hasBin: true + + /semver@6.3.0: + resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} + hasBin: true + + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + /semver@7.3.8: + resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /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-error@7.0.1: + resolution: {integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==} + engines: {node: '>=10'} + dependencies: + type-fest: 0.13.1 + dev: true + optional: true + + /serialize-javascript@6.0.1: + resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==} + dependencies: + randombytes: 2.1.0 + + /serve-index@1.9.1: + resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==} + engines: {node: '>= 0.8.0'} + dependencies: + accepts: 1.3.8 + batch: 0.6.1 + debug: 2.6.9 + escape-html: 1.0.3 + http-errors: 1.6.3 + mime-types: 2.1.35 + parseurl: 1.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /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 + + /setprototypeof@1.1.0: + resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} + dev: true + + /setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + dev: true + + /shallow-clone@3.0.1: + resolution: {integrity: sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==} + engines: {node: '>=8'} + dependencies: + kind-of: 6.0.3 + + /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'} + + /shelljs@0.8.5: + resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} + engines: {node: '>=4'} + hasBin: true + dependencies: + glob: 7.2.3 + interpret: 1.4.0 + rechoir: 0.6.2 + dev: true + + /side-channel@1.0.4: + resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.2.0 + object-inspect: 1.12.2 + + /signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + /signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + dev: true + + /sirv@1.0.19: + resolution: {integrity: sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==} + engines: {node: '>= 10'} + dependencies: + '@polka/url': 1.0.0-next.21 + mrmime: 1.0.1 + totalist: 1.1.0 + dev: true + + /slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + dev: true + + /slash@4.0.0: + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} + 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 + + /slice-ansi@5.0.0: + resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} + engines: {node: '>=12'} + dependencies: + ansi-styles: 6.2.1 + is-fullwidth-code-point: 4.0.0 + dev: true + + /smart-buffer@4.2.0: + resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} + engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} + dev: true + + /socket.io-adapter@1.1.2: + resolution: {integrity: sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g==} + dev: true + + /socket.io-client@2.5.0: + resolution: {integrity: sha512-lOO9clmdgssDykiOmVQQitwBAF3I6mYcQAo7hQ7AM6Ny5X7fp8hIJ3HcQs3Rjz4SoggoxA1OgrQyY8EgTbcPYw==} + dependencies: + backo2: 1.0.2 + component-bind: 1.0.0 + component-emitter: 1.3.0 + debug: 3.1.0 + engine.io-client: 3.5.3 + has-binary2: 1.0.3 + indexof: 0.0.1 + parseqs: 0.0.6 + parseuri: 0.0.6 + socket.io-parser: 3.3.3 + to-array: 0.1.4 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: true + + /socket.io-parser@3.3.3: + resolution: {integrity: sha512-qOg87q1PMWWTeO01768Yh9ogn7chB9zkKtQnya41Y355S0UmpXgpcrFwAgjYJxu9BdKug5r5e9YtVSeWhKBUZg==} + dependencies: + component-emitter: 1.3.0 + debug: 3.1.0 + isarray: 2.0.1 + transitivePeerDependencies: + - supports-color + dev: true + + /socket.io-parser@3.4.3: + resolution: {integrity: sha512-1rE4dZN3kCI/E5wixd393hmbqa78vVpkKmnEJhLeWoS/C5hbFYAbcSfnWoaVH43u9ToUVtzKjguxEZq+1XZfCQ==} + engines: {node: '>=10.0.0'} + dependencies: + component-emitter: 1.2.1 + debug: 4.1.1 + isarray: 2.0.1 + transitivePeerDependencies: + - supports-color + dev: true + + /socket.io@2.5.0: + resolution: {integrity: sha512-gGunfS0od3VpwDBpGwVkzSZx6Aqo9uOcf1afJj2cKnKFAoyl16fvhpsUhmUFd4Ldbvl5JvRQed6eQw6oQp6n8w==} + dependencies: + debug: 4.1.1 + engine.io: 3.6.1 + has-binary2: 1.0.3 + socket.io-adapter: 1.1.2 + socket.io-client: 2.5.0 + socket.io-parser: 3.4.3 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: true + + /sockjs@0.3.24: + resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==} + dependencies: + faye-websocket: 0.11.4 + uuid: 8.3.2 + websocket-driver: 0.7.4 + dev: true + + /socks-proxy-agent@5.0.1: + resolution: {integrity: sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ==} + engines: {node: '>= 6'} + dependencies: + agent-base: 6.0.2 + debug: 4.3.4 + socks: 2.7.1 + transitivePeerDependencies: + - supports-color + dev: true + + /socks@2.7.1: + resolution: {integrity: sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==} + engines: {node: '>= 10.13.0', npm: '>= 3.0.0'} + dependencies: + ip: 2.0.0 + smart-buffer: 4.2.0 + dev: true + + /sort-keys-length@1.0.1: + resolution: {integrity: sha512-GRbEOUqCxemTAk/b32F2xa8wDTs+Z1QHOkbhJDQTvv/6G3ZkbJ+frYWsTcc7cBB3Fu4wy4XlLCuNtJuMn7Gsvw==} + engines: {node: '>=0.10.0'} + dependencies: + sort-keys: 1.1.2 + dev: true + + /sort-keys@1.1.2: + resolution: {integrity: sha512-vzn8aSqKgytVik0iwdBEi+zevbTYZogewTUM6dtpmGwEcdzbub/TX4bCzRhebDCRC3QzXgJsLRKB2V/Oof7HXg==} + engines: {node: '>=0.10.0'} + dependencies: + is-plain-obj: 1.1.0 + dev: true + + /sort-keys@2.0.0: + resolution: {integrity: sha512-/dPCrG1s3ePpWm6yBbxZq5Be1dXGLyLn9Z791chDC3NFrpkVbWGzkBwPN1knaciexFXgRJ7hzdnwZ4stHSDmjg==} + engines: {node: '>=4'} + dependencies: + is-plain-obj: 1.1.0 + dev: true + + /source-list-map@2.0.1: + resolution: {integrity: sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==} + dev: true + + /source-map-js@1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + + /source-map-resolve@0.6.0: + resolution: {integrity: sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==} + deprecated: See https://github.com/lydell/source-map-resolve#deprecated + dependencies: + atob: 2.1.2 + decode-uri-component: 0.2.0 + 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.5.7: + resolution: {integrity: sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==} + engines: {node: '>=0.10.0'} + dev: true + + /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 + + /sourcemap-codec@1.4.8: + resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} + dev: true + + /spdx-correct@3.1.1: + resolution: {integrity: sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==} + dependencies: + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.12 + 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.12 + dev: true + + /spdx-license-ids@3.0.12: + resolution: {integrity: sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==} + dev: true + + /spdy-transport@3.0.0: + resolution: {integrity: sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==} + dependencies: + debug: 4.3.4 + detect-node: 2.1.0 + hpack.js: 2.1.6 + obuf: 1.1.2 + readable-stream: 3.6.0 + 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 + 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 + + /split-on-first@1.1.0: + resolution: {integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==} + engines: {node: '>=6'} + + /split2@3.2.2: + resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} + dependencies: + readable-stream: 3.6.0 + dev: true + + /split@1.0.1: + resolution: {integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==} + dependencies: + through: 2.3.8 + dev: true + + /sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + dev: true + + /sprintf-js@1.1.3: + resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} + dev: true + optional: 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 + + /ssr-window@3.0.0: + resolution: {integrity: sha512-q+8UfWDg9Itrg0yWK7oe5p/XRCJpJF9OBtXfOPgSJl+u3Xd5KI328RUEvUqSMVM9CiQUEf1QdBzJMkYGErj9QA==} + + /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 + + /stackframe@1.3.4: + resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} + dev: true + + /statuses@1.5.0: + resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} + engines: {node: '>= 0.6'} + dev: true + + /statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + dev: true + + /std-env@3.3.1: + resolution: {integrity: sha512-3H20QlwQsSm2OvAxWIYhs+j01MzzqwMwGiiO1NQaJYZgJZFPuAbf95/DiKRBSTYIJ2FeGUc+B/6mPGcWP9dO3Q==} + dev: true + + /stdin-discarder@0.1.0: + resolution: {integrity: sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + bl: 5.1.0 + 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 + + /strict-uri-encode@1.1.0: + resolution: {integrity: sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==} + engines: {node: '>=0.10.0'} + dev: true + + /strict-uri-encode@2.0.0: + resolution: {integrity: sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ==} + engines: {node: '>=4'} + + /string-argv@0.3.2: + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} + 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 + dev: true + + /string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.0.1 + dev: true + + /string.fromcodepoint@0.2.1: + resolution: {integrity: sha512-n69H31OnxSGSZyZbgBlvYIXlrMhJQ0dQAX1js1QDhpaUH6zmU3QYlj07bCwCNlPOu3oRXIubGPl2gDGnHsiCqg==} + dev: true + + /string.prototype.trimend@1.0.6: + resolution: {integrity: sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.4 + es-abstract: 1.20.4 + dev: true + + /string.prototype.trimstart@1.0.6: + resolution: {integrity: sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA==} + dependencies: + call-bind: 1.0.2 + define-properties: 1.1.4 + es-abstract: 1.20.4 + dev: true + + /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 + + /strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + + /strip-ansi@7.0.1: + resolution: {integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==} + engines: {node: '>=12'} + dependencies: + ansi-regex: 6.0.1 + dev: true + + /strip-bom-buf@1.0.0: + resolution: {integrity: sha512-1sUIL1jck0T1mhOLP2c696BIznzT525Lkub+n4jjMHjhjhoAQA6Ye659DxdlZBr0aLDMQoTxKIpnlqxgtwjsuQ==} + engines: {node: '>=4'} + dependencies: + is-utf8: 0.2.1 + dev: true + + /strip-bom-stream@2.0.0: + resolution: {integrity: sha512-yH0+mD8oahBZWnY43vxs4pSinn8SMKAdml/EOGBewoe1Y0Eitd0h2Mg3ZRiXruUW6L4P+lvZiEgbh0NgUGia1w==} + engines: {node: '>=0.10.0'} + dependencies: + first-chunk-stream: 2.0.0 + strip-bom: 2.0.0 + dev: true + + /strip-bom@2.0.0: + resolution: {integrity: sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==} + engines: {node: '>=0.10.0'} + dependencies: + is-utf8: 0.2.1 + dev: true + + /strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + dev: true + + /strip-dirs@2.1.0: + resolution: {integrity: sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g==} + dependencies: + is-natural-number: 4.0.1 + 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@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + dev: true + + /strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + dev: true + + /strip-literal@1.3.0: + resolution: {integrity: sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==} + dependencies: + acorn: 8.10.0 + dev: true + + /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 + + /style-loader@3.3.1(webpack@5.79.0): + resolution: {integrity: sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^5.0.0 + dependencies: + webpack: 5.79.0(@swc/core@1.3.96) + dev: true + + /style-search@0.1.0: + resolution: {integrity: sha512-Dj1Okke1C3uKKwQcetra4jSuk0DqbzbYtXipzFlFMZtowbF1x7BKJwB9AayVMyFARvU8EDrZdcax4At/452cAg==} + dev: true + + /stylehacks@5.1.1(postcss@8.4.19): + resolution: {integrity: sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==} + engines: {node: ^10 || ^12 || >=14.0} + peerDependencies: + postcss: ^8.2.15 + dependencies: + browserslist: 4.22.2 + postcss: 8.4.19 + postcss-selector-parser: 6.0.11 + dev: true + + /stylelint-config-html@1.1.0(postcss-html@1.5.0)(stylelint@14.15.0): + resolution: {integrity: sha512-IZv4IVESjKLumUGi+HWeb7skgO6/g4VMuAYrJdlqQFndgbj6WJAXPhaysvBiXefX79upBdQVumgYcdd17gCpjQ==} + engines: {node: ^12 || >=14} + peerDependencies: + postcss-html: ^1.0.0 + stylelint: '>=14.0.0' + dependencies: + postcss-html: 1.5.0 + stylelint: 14.15.0 + dev: true + + /stylelint-config-prettier@9.0.4(stylelint@14.15.0): + resolution: {integrity: sha512-38nIGTGpFOiK5LjJ8Ma1yUgpKENxoKSOhbDNSemY7Ep0VsJoXIW9Iq/2hSt699oB9tReynfWicTAoIHiq8Rvbg==} + engines: {node: '>= 12'} + hasBin: true + peerDependencies: + stylelint: '>=11.0.0' + dependencies: + stylelint: 14.15.0 + dev: true + + /stylelint-config-recess-order@3.0.0(stylelint@14.15.0): + resolution: {integrity: sha512-uNXrlDz570Q7HJlrq8mNjgfO/xlKIh2hKVKEFMTG1/ih/6tDLcTbuvO1Zoo2dnQay990OAkWLDpTDOorB+hmBw==} + peerDependencies: + stylelint: '>=14' + dependencies: + stylelint: 14.15.0 + stylelint-order: 5.0.0(stylelint@14.15.0) + dev: true + + /stylelint-config-recommended-scss@8.0.0(postcss@8.4.19)(stylelint@14.15.0): + resolution: {integrity: sha512-BxjxEzRaZoQb7Iinc3p92GS6zRdRAkIuEu2ZFLTxJK2e1AIcCb5B5MXY9KOXdGTnYFZ+KKx6R4Fv9zU6CtMYPQ==} + peerDependencies: + postcss: ^8.3.3 + stylelint: ^14.10.0 + peerDependenciesMeta: + postcss: + optional: true + dependencies: + postcss: 8.4.19 + postcss-scss: 4.0.6(postcss@8.4.19) + stylelint: 14.15.0 + stylelint-config-recommended: 9.0.0(stylelint@14.15.0) + stylelint-scss: 4.3.0(stylelint@14.15.0) + dev: true + + /stylelint-config-recommended@9.0.0(stylelint@14.15.0): + resolution: {integrity: sha512-9YQSrJq4NvvRuTbzDsWX3rrFOzOlYBmZP+o513BJN/yfEmGSr0AxdvrWs0P/ilSpVV/wisamAHu5XSk8Rcf4CQ==} + peerDependencies: + stylelint: ^14.10.0 + dependencies: + stylelint: 14.15.0 + dev: true + + /stylelint-config-standard-scss@6.1.0(postcss@8.4.19)(stylelint@14.15.0): + resolution: {integrity: sha512-iZ2B5kQT2G3rUzx+437cEpdcnFOQkwnwqXuY8Z0QUwIHQVE8mnYChGAquyKFUKZRZ0pRnrciARlPaR1RBtPb0Q==} + peerDependencies: + postcss: ^8.3.3 + stylelint: ^14.14.0 + peerDependenciesMeta: + postcss: + optional: true + dependencies: + postcss: 8.4.19 + stylelint: 14.15.0 + stylelint-config-recommended-scss: 8.0.0(postcss@8.4.19)(stylelint@14.15.0) + stylelint-config-standard: 29.0.0(stylelint@14.15.0) + dev: true + + /stylelint-config-standard@29.0.0(stylelint@14.15.0): + resolution: {integrity: sha512-uy8tZLbfq6ZrXy4JKu3W+7lYLgRQBxYTUUB88vPgQ+ZzAxdrvcaSUW9hOMNLYBnwH+9Kkj19M2DHdZ4gKwI7tg==} + peerDependencies: + stylelint: ^14.14.0 + dependencies: + stylelint: 14.15.0 + stylelint-config-recommended: 9.0.0(stylelint@14.15.0) + dev: true + + /stylelint-order@5.0.0(stylelint@14.15.0): + resolution: {integrity: sha512-OWQ7pmicXufDw5BlRqzdz3fkGKJPgLyDwD1rFY3AIEfIH/LQY38Vu/85v8/up0I+VPiuGRwbc2Hg3zLAsJaiyw==} + peerDependencies: + stylelint: ^14.0.0 + dependencies: + postcss: 8.4.19 + postcss-sorting: 7.0.1(postcss@8.4.19) + stylelint: 14.15.0 + dev: true + + /stylelint-scss@4.3.0(stylelint@14.15.0): + resolution: {integrity: sha512-GvSaKCA3tipzZHoz+nNO7S02ZqOsdBzMiCx9poSmLlb3tdJlGddEX/8QzCOD8O7GQan9bjsvLMsO5xiw6IhhIQ==} + peerDependencies: + stylelint: ^14.5.1 + dependencies: + lodash: 4.17.21 + postcss-media-query-parser: 0.2.3 + postcss-resolve-nested-selector: 0.1.1 + postcss-selector-parser: 6.0.11 + postcss-value-parser: 4.2.0 + stylelint: 14.15.0 + dev: true + + /stylelint@14.15.0: + resolution: {integrity: sha512-JOgDAo5QRsqiOZPZO+B9rKJvBm64S0xasbuRPAbPs6/vQDgDCnZLIiw6XcAS6GQKk9k1sBWR6rmH3Mfj8OknKg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + hasBin: true + dependencies: + '@csstools/selector-specificity': 2.0.2(postcss-selector-parser@6.0.11)(postcss@8.4.19) + balanced-match: 2.0.0 + colord: 2.9.3 + cosmiconfig: 7.1.0 + css-functions-list: 3.1.0 + debug: 4.3.4 + 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.2.0 + ignore: 5.2.1 + 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.19 + postcss-media-query-parser: 0.2.3 + postcss-resolve-nested-selector: 0.1.1 + postcss-safe-parser: 6.0.0(postcss@8.4.19) + postcss-selector-parser: 6.0.11 + 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 + + /stylus-loader@6.2.0(stylus@0.55.0)(webpack@5.79.0): + resolution: {integrity: sha512-5dsDc7qVQGRoc6pvCL20eYgRUxepZ9FpeK28XhdXaIPP6kXr6nI1zAAKFQgP5OBkOfKaURp4WUpJzspg1f01Gg==} + engines: {node: '>= 12.13.0'} + peerDependencies: + stylus: '>=0.52.4' + webpack: ^5.0.0 + dependencies: + fast-glob: 3.3.1 + klona: 2.0.6 + normalize-path: 3.0.0 + stylus: 0.55.0 + webpack: 5.79.0(@swc/core@1.3.96) + dev: true + + /stylus@0.55.0: + resolution: {integrity: sha512-MuzIIVRSbc8XxHH7FjkvWqkIcr1BvoMZoR/oFuAJDlh7VSaNJzrB4uJ38GRQa+mWjLXODAMzeDe0xi9GYbGwnw==} + hasBin: true + dependencies: + css: 3.0.0 + debug: 3.1.0 + glob: 7.2.3 + mkdirp: 1.0.4 + safer-buffer: 2.1.2 + sax: 1.2.4 + semver: 6.3.1 + source-map: 0.7.4 + transitivePeerDependencies: + - supports-color + dev: true + + /sumchecker@3.0.1: + resolution: {integrity: sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg==} + engines: {node: '>= 8.0'} + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: true + + /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 + + /supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + /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 + + /swiper@6.8.0: + resolution: {integrity: sha512-6H3e7VOihasMp8sPXNhRDkc61UD0XeFlefbWfUHecBLBTtmA+9WxJiKDBMdzgetK1cny+5+mKfVcsmxYgnEDSw==} + engines: {node: '>= 4.7.0'} + requiresBuild: true + dependencies: + dom7: 3.0.0 + ssr-window: 3.0.0 + + /symbol-tree@3.2.4: + resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} + dev: true + + /table@6.8.1: + resolution: {integrity: sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA==} + engines: {node: '>=10.0.0'} + dependencies: + ajv: 8.11.2 + 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'} + + /tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + + /tar-stream@1.6.2: + resolution: {integrity: sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==} + engines: {node: '>= 0.8.0'} + dependencies: + bl: 1.2.3 + buffer-alloc: 1.2.0 + end-of-stream: 1.4.4 + fs-constants: 1.0.0 + readable-stream: 2.3.7 + to-buffer: 1.1.1 + xtend: 4.0.2 + dev: true + + /taro-plugin-compiler-optimization@1.0.4: + resolution: {integrity: sha512-7aAOSWLpkPlJkCM6NPjcZEqoLXdquNy16CEEKIzAAD03OJ742rHhVzbZ0NIdMABMV7xC+gzRFq9eoZ64gm9o2g==} + dev: true + + /taro-plugin-pinia@1.0.0: + resolution: {integrity: sha512-Ip2LTRh7NGsFyEzkZWvU115xDqV3D8cRRbqqw0JKTvzHFBzpwycmrUVQQxV61AMg0r2RJm3mcEbQ997j7xNjtg==} + dev: false + + /terser-webpack-plugin@5.3.7(@swc/core@1.3.96)(esbuild@0.19.9)(webpack@5.79.0): + resolution: {integrity: sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw==} + 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.17 + '@swc/core': 1.3.96 + esbuild: 0.19.9 + jest-worker: 27.5.1 + schema-utils: 3.1.1 + serialize-javascript: 6.0.1 + terser: 5.17.1 + webpack: 5.79.0(@swc/core@1.3.96) + + /terser@5.17.1: + resolution: {integrity: sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw==} + engines: {node: '>=10'} + hasBin: true + dependencies: + '@jridgewell/source-map': 0.3.2 + acorn: 8.10.0 + commander: 2.20.3 + source-map-support: 0.5.21 + + /text-extensions@1.9.0: + resolution: {integrity: sha512-wiBrwC1EhBelW12Zy26JeOUkQ5mRu+5o8rpsJk5+2t+Y5vE7e842qtZDQ2g1NpX/29HdyFeJ4nSIhI47ENSxlQ==} + engines: {node: '>=0.10'} + dev: true + + /text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + dev: true + + /textextensions@5.15.0: + resolution: {integrity: sha512-MeqZRHLuaGamUXGuVn2ivtU3LA3mLCCIO5kUGoohTCoGmCBg/+8yPhWVX9WSl9telvVd8erftjFk9Fwb2dD6rw==} + engines: {node: '>=0.8'} + dev: true + + /thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + dependencies: + thenify: 3.3.1 + dev: true + + /thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + dependencies: + any-promise: 1.3.0 + dev: true + + /thread-loader@4.0.2(webpack@5.79.0): + resolution: {integrity: sha512-UOk/KBydsQjh4Ja5kocxDUzhv11KYptHN/h8gdSwo6/MBkYrWqQua6K2qwlpXnCXS9c/uLs8F/JF8rpveF0+fA==} + engines: {node: '>= 16.10.0'} + peerDependencies: + webpack: ^5.0.0 + dependencies: + json-parse-better-errors: 1.0.2 + loader-runner: 4.3.0 + neo-async: 2.6.2 + schema-utils: 4.2.0 + webpack: 5.79.0(@swc/core@1.3.96) + dev: true + + /throat@6.0.2: + resolution: {integrity: sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ==} + dev: true + + /through2@2.0.5: + resolution: {integrity: sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==} + dependencies: + readable-stream: 2.3.7 + xtend: 4.0.2 + dev: true + + /through2@4.0.2: + resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} + dependencies: + readable-stream: 3.6.0 + dev: true + + /through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + dev: true + + /thunky@1.1.0: + resolution: {integrity: sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==} + dev: true + + /tim-profanity-filter-plugin@1.1.0: + resolution: {integrity: sha512-+49p+n5LJs18rSPBvJFyq/m6ib8wiXvPEx2/Sz3M7hhDXAz69WuZ8cB/painNrN0MKAETf6G5cWa6xtVZfAK7A==} + dev: false + + /tim-upload-plugin@1.3.0: + resolution: {integrity: sha512-meoGeB3vOs3FvtBh+ik7zlOj8C03tC6MZEkjc8BKYvgTrCzBWVDXZi9a3X8AM/YtoyuTaeLuEmaLQj1O/5luuw==} + dev: false + + /timed-out@4.0.1: + resolution: {integrity: sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA==} + engines: {node: '>=0.10.0'} + dev: true + + /tiny-case@1.0.3: + resolution: {integrity: sha512-Eet/eeMhkO6TX8mnUteS9zgPbUMQa4I6Kkp5ORiBD5476/m+PIRiumP5tmh5ioJpH7k51Kehawy2UDfsnxxY8Q==} + dev: false + + /titleize@3.0.0: + resolution: {integrity: sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==} + engines: {node: '>=12'} + dev: true + + /tmp@0.0.33: + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} + dependencies: + os-tmpdir: 1.0.2 + dev: true + + /to-array@0.1.4: + resolution: {integrity: sha512-LhVdShQD/4Mk4zXNroIQZJC+Ap3zgLcDuwEdcmLv9CCO73NWockQDwyUnW/m8VX/EElfL6FcYx7EeutN4HJA6A==} + dev: true + + /to-buffer@1.1.1: + resolution: {integrity: sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==} + dev: true + + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + /to-readable-stream@1.0.0: + resolution: {integrity: sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==} + engines: {node: '>=6'} + dev: true + + /to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + + /toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + dev: true + + /toposort@2.0.2: + resolution: {integrity: sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==} + dev: false + + /totalist@1.1.0: + resolution: {integrity: sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==} + engines: {node: '>=6'} + dev: true + + /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 + dev: true + + /tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + dev: true + + /tr46@4.1.1: + resolution: {integrity: sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==} + engines: {node: '>=14'} + dependencies: + punycode: 2.3.0 + dev: true + + /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 + + /trtc-cloud-js-sdk@2.2.6: + resolution: {integrity: sha512-n2RELSWLecWQD9AqgFV17HNiO0N5wlcgoYpQskX4Eo0C6fQu48lOdgeF5dXQTLDtuTv3ILJReVnVARytAsnS+Q==} + dependencies: + trtc-sdk-v5: 5.3.2 + dev: false + + /trtc-sdk-v5@5.3.2: + resolution: {integrity: sha512-qaMVUkx+WPOf/RthBZUnWIj6snaLqB8ZdRl4le2ox7kuPdW2eNi3SWB2j9YbR6ry7JK3+/6J2PcH9iR+qr/klg==} + dependencies: + webrtc-adapter: 8.2.3 + dev: false + + /trtc-wx-sdk@1.1.7: + resolution: {integrity: sha512-gTtPrqXjXkWP7Oh4srAfBlU0y/WHqadR34j5pZUnc2Aeo0qZX89tz3P2VK1GojdtKsxJlxMRVWziR90FASpMKw==} + dev: false + + /ts-api-utils@1.0.3(typescript@5.2.2): + resolution: {integrity: sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==} + engines: {node: '>=16.13.0'} + peerDependencies: + typescript: '>=4.2.0' + dependencies: + typescript: 5.2.2 + dev: true + + /ts-node@10.9.1(@swc/core@1.3.96)(@types/node@20.5.1)(typescript@5.2.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 + '@swc/core': 1.3.96 + '@tsconfig/node10': 1.0.9 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.3 + '@types/node': 20.5.1 + acorn: 8.10.0 + 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.2.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.4.1: + resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==} + dev: true + + /tsutils@3.21.0(typescript@5.2.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.2.2 + dev: true + + /tuicall-engine-webrtc@3.0.0: + resolution: {integrity: sha512-KetDjPFUIeNTfIgXP3ly9QRLO4FPRV/QREksiCn8UNOFL3LYX90v81QMhBTh/P7ke3+Whb97vkZBGjCBl/pzpg==} + dependencies: + '@tencentcloud/chat': 3.2.5 + rtc-ai-denoiser: 1.1.7 + trtc-cloud-js-sdk: 2.2.6 + dev: false + + /tuicall-engine-wx@2.1.3: + resolution: {integrity: sha512-0RwMZ05gONHLzLMYOxz2yqdCB1zdL/vNXMZ63tIXPjsKyFI25DjAk9A0mcyoEuI904dE3Y1qElgAtiOqIFXlxw==} + dependencies: + '@tencentcloud/chat': 3.2.5 + trtc-wx-sdk: 1.1.7 + dev: false + + /tunnel-agent@0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + dependencies: + safe-buffer: 5.2.1 + dev: true + + /tunnel@0.0.6: + resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==} + engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'} + dev: true + optional: 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 + dev: true + + /type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + dev: true + + /type-fest@0.13.1: + resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} + engines: {node: '>=10'} + dev: true + optional: 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'} + dev: true + + /type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + + /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-fest@1.4.0: + resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} + engines: {node: '>=10'} + dev: true + + /type-fest@2.19.0: + resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} + engines: {node: '>=12.20'} + + /type-fest@3.8.0: + resolution: {integrity: sha512-FVNSzGQz9Th+/9R6Lvv7WIAkstylfHN2/JYxkyhhmKFYh9At2DST8t6L6Lref9eYO8PXFTfG9Sg1Agg0K3vq3Q==} + engines: {node: '>=14.16'} + 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 + + /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@4.9.5: + resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} + engines: {node: '>=4.2.0'} + hasBin: true + dev: false + + /typescript@5.2.2: + resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} + engines: {node: '>=14.17'} + hasBin: true + + /ufo@1.3.0: + resolution: {integrity: sha512-bRn3CsoojyNStCZe0BG0Mt4Nr/4KF+rhFlnNXybgqt5pXHNFRlqinSoQaTrGyzE4X8aHplSb+TorH+COin9Yxw==} + dev: true + + /uglify-js@3.17.4: + resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==} + engines: {node: '>=0.8.0'} + hasBin: true + dev: true + + /unbox-primitive@1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + dependencies: + call-bind: 1.0.2 + has-bigints: 1.0.2 + has-symbols: 1.0.3 + which-boxed-primitive: 1.0.2 + dev: true + + /unbzip2-stream@1.4.3: + resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==} + dependencies: + buffer: 5.7.1 + through: 2.3.8 + dev: true + + /unescape-js@1.1.4: + resolution: {integrity: sha512-42SD8NOQEhdYntEiUQdYq/1V/YHwr1HLwlHuTJB5InVVdOSbgI6xu8jK5q65yIzuFCfczzyDF/7hbGzVbyCw0g==} + dependencies: + string.fromcodepoint: 0.2.1 + dev: true + + /unicode-canonical-property-names-ecmascript@2.0.0: + resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} + engines: {node: '>=4'} + + /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 + + /unicode-match-property-value-ecmascript@2.1.0: + resolution: {integrity: sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==} + engines: {node: '>=4'} + + /unicode-property-aliases-ecmascript@2.1.0: + resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} + engines: {node: '>=4'} + + /unimport@3.3.0: + resolution: {integrity: sha512-3jhq3ZG5hFZzrWGDCpx83kjPzefP/EeuKkIO1T0MA4Zwj+dO/Og1mFvZ4aZ5WSDm0FVbbdVIRH1zKBG7c4wOpg==} + dependencies: + '@rollup/pluginutils': 5.0.4 + escape-string-regexp: 5.0.0 + fast-glob: 3.3.1 + local-pkg: 0.4.3 + magic-string: 0.30.3 + mlly: 1.4.2 + pathe: 1.1.1 + pkg-types: 1.0.3 + scule: 1.0.0 + strip-literal: 1.3.0 + unplugin: 1.5.0 + transitivePeerDependencies: + - rollup + dev: true + + /unique-string@2.0.0: + resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} + engines: {node: '>=8'} + dependencies: + crypto-random-string: 2.0.0 + dev: true + + /unique-string@3.0.0: + resolution: {integrity: sha512-VGXBUVwxKMBUznyffQweQABPRRW1vHZAbadFZud4pLFAqRGvv/96vafgjWFqzourzr8YonlQiPgH0YCJfawoGQ==} + engines: {node: '>=12'} + dependencies: + crypto-random-string: 4.0.0 + dev: true + + /universal-router@8.3.0: + resolution: {integrity: sha512-cBkihRoHvRQAjdUnDE1GGuuw/TPAIi8z2pEsSmUVAWLeZdgjHzzAb1+0VOO6NvBOvySItOTQikzaGlRxRdJBnA==} + dependencies: + path-to-regexp: 3.2.0 + + /universal-user-agent@6.0.0: + resolution: {integrity: sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w==} + dev: true + + /universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + + /universalify@0.2.0: + resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} + engines: {node: '>= 4.0.0'} + dev: true + + /universalify@2.0.0: + resolution: {integrity: sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==} + engines: {node: '>= 10.0.0'} + dev: true + + /unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + dev: true + + /unplugin-auto-import@0.16.6: + resolution: {integrity: sha512-M+YIITkx3C/Hg38hp8HmswP5mShUUyJOzpifv7RTlAbeFlO2Tyw0pwrogSSxnipHDPTtI8VHFBpkYkNKzYSuyA==} + engines: {node: '>=14'} + peerDependencies: + '@nuxt/kit': ^3.2.2 + '@vueuse/core': '*' + peerDependenciesMeta: + '@nuxt/kit': + optional: true + '@vueuse/core': + optional: true + dependencies: + '@antfu/utils': 0.7.6 + '@rollup/pluginutils': 5.0.2 + fast-glob: 3.3.1 + local-pkg: 0.4.3 + magic-string: 0.30.3 + minimatch: 9.0.3 + unimport: 3.3.0 + unplugin: 1.5.0 + transitivePeerDependencies: + - rollup + dev: true + + /unplugin-vue-components@0.24.1(vue@3.3.4): + resolution: {integrity: sha512-T3A8HkZoIE1Cja95xNqolwza0yD5IVlgZZ1PVAGvVCx8xthmjsv38xWRCtHtwl+rvZyL9uif42SRkDGw9aCfMA==} + engines: {node: '>=14'} + peerDependencies: + '@babel/parser': ^7.15.8 + '@nuxt/kit': ^3.2.2 + vue: 2 || 3 + peerDependenciesMeta: + '@babel/parser': + optional: true + '@nuxt/kit': + optional: true + dependencies: + '@antfu/utils': 0.7.2 + '@rollup/pluginutils': 5.0.2 + chokidar: 3.5.3 + debug: 4.3.4 + fast-glob: 3.2.12 + local-pkg: 0.4.3 + magic-string: 0.30.0 + minimatch: 7.4.6 + resolve: 1.22.1 + unplugin: 1.3.1 + vue: 3.3.4 + transitivePeerDependencies: + - rollup + - supports-color + + /unplugin-vue2-script-setup@0.11.4(@vue/composition-api@1.7.2)(@vue/runtime-dom@3.3.4): + resolution: {integrity: sha512-HOJn7PwKBq36vvtAkx2QXpmMmXk9owIX4H77d4cF5RpiPuSY/u4P3nWF6a276LHrBGtb0/UHmCbeUeGeeJ1DWg==} + peerDependencies: + '@vue/composition-api': '*' + '@vue/runtime-dom': ^3.2.31 + pug: ^3.0.2 + peerDependenciesMeta: + pug: + optional: true + dependencies: + '@antfu/utils': 0.7.6 + '@babel/core': 7.23.7 + '@babel/generator': 7.23.6 + '@babel/parser': 7.23.6 + '@babel/traverse': 7.23.7 + '@babel/types': 7.23.6 + '@rollup/pluginutils': 5.0.4 + '@vue/compiler-core': 3.3.4 + '@vue/compiler-dom': 3.3.4 + '@vue/composition-api': 1.7.2(vue@3.3.4) + '@vue/reactivity-transform': 3.3.4 + '@vue/runtime-dom': 3.3.4 + '@vue/shared': 3.3.4 + defu: 6.1.4 + magic-string: 0.30.3 + unplugin: 1.5.0 + transitivePeerDependencies: + - rollup + - supports-color + dev: false + + /unplugin@1.3.1: + resolution: {integrity: sha512-h4uUTIvFBQRxUKS2Wjys6ivoeofGhxzTe2sRWlooyjHXVttcVfV/JiavNd3d4+jty0SVV0dxGw9AkY9MwiaCEw==} + dependencies: + acorn: 8.10.0 + chokidar: 3.5.3 + webpack-sources: 3.2.3 + webpack-virtual-modules: 0.5.0 + + /unplugin@1.5.0: + resolution: {integrity: sha512-9ZdRwbh/4gcm1JTOkp9lAkIDrtOyOxgHmY7cjuwI8L/2RTikMcVG25GsZwNAgRuap3iDw2jeq7eoqtAsz5rW3A==} + dependencies: + acorn: 8.10.0 + chokidar: 3.5.3 + webpack-sources: 3.2.3 + webpack-virtual-modules: 0.5.0 + + /untildify@4.0.0: + resolution: {integrity: sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==} + engines: {node: '>=8'} + dev: true + + /update-browserslist-db@1.0.10(browserslist@4.21.4): + resolution: {integrity: sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.21.4 + escalade: 3.1.1 + picocolors: 1.0.0 + + /update-browserslist-db@1.0.13(browserslist@4.22.2): + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.22.2 + escalade: 3.1.1 + picocolors: 1.0.0 + + /update-notifier@5.1.0: + resolution: {integrity: sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==} + engines: {node: '>=10'} + dependencies: + boxen: 5.1.2 + chalk: 4.1.2 + configstore: 5.0.1 + has-yarn: 2.1.0 + import-lazy: 2.1.0 + is-ci: 2.0.0 + is-installed-globally: 0.4.0 + is-npm: 5.0.0 + is-yarn-global: 0.3.0 + latest-version: 5.1.0 + pupa: 2.1.1 + semver: 7.5.4 + semver-diff: 3.1.1 + xdg-basedir: 4.0.0 + dev: true + + /update-notifier@6.0.2: + resolution: {integrity: sha512-EDxhTEVPZZRLWYcJ4ZXjGFN0oP7qYvbXWzEgRm/Yql4dHX5wDbvh89YHP6PK1lzZJYrMtXUuZZz8XGK+U6U1og==} + engines: {node: '>=14.16'} + dependencies: + boxen: 7.0.2 + chalk: 5.2.0 + configstore: 6.0.0 + has-yarn: 3.0.0 + import-lazy: 4.0.0 + is-ci: 3.0.1 + is-installed-globally: 0.4.0 + is-npm: 6.0.0 + is-yarn-global: 0.4.1 + latest-version: 7.0.0 + pupa: 3.1.0 + semver: 7.5.4 + semver-diff: 4.0.0 + xdg-basedir: 5.1.0 + dev: true + + /upper-case@1.1.3: + resolution: {integrity: sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==} + dev: true + + /uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.3.0 + + /url-join@5.0.0: + resolution: {integrity: sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /url-loader@4.1.0(file-loader@6.0.0)(webpack@5.79.0): + resolution: {integrity: sha512-IzgAAIC8wRrg6NYkFIJY09vtktQcsvU8V6HhtQj9PTefbYImzLB1hufqo4m+RyM5N3mLx5BqJKccgxJS+W3kqw==} + engines: {node: '>= 10.13.0'} + peerDependencies: + file-loader: '*' + webpack: ^4.0.0 || ^5.0.0 + peerDependenciesMeta: + file-loader: + optional: true + dependencies: + file-loader: 6.0.0(webpack@5.79.0) + loader-utils: 2.0.4 + mime-types: 2.1.35 + schema-utils: 2.7.1 + webpack: 5.79.0(@swc/core@1.3.96) + dev: true + + /url-parse-lax@3.0.0: + resolution: {integrity: sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==} + engines: {node: '>=4'} + dependencies: + prepend-http: 2.0.0 + dev: true + + /url-parse@1.5.10: + resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} + dependencies: + querystringify: 2.2.0 + requires-port: 1.0.0 + dev: true + + /url-to-options@1.0.1: + resolution: {integrity: sha512-0kQLIzG4fdk/G5NONku64rSH/x32NOA39LVQqlK8Le6lvTF6GGRJpqaQFGgU+CLwySIqBSMdwYM0sYcW9f6P4A==} + engines: {node: '>= 4'} + dev: true + + /util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + /utila@0.4.0: + resolution: {integrity: sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==} + dev: true + + /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 + + /uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + 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 + + /validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + dependencies: + spdx-correct: 3.1.1 + spdx-expression-parse: 3.0.1 + dev: true + + /validate-npm-package-name@5.0.0: + resolution: {integrity: sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + builtins: 5.0.1 + dev: true + + /vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + dev: true + + /vconsole@3.15.1: + resolution: {integrity: sha512-KH8XLdrq9T5YHJO/ixrjivHfmF2PC2CdVoK6RWZB4yftMykYIaXY1mxZYAic70vADM54kpMQF+dYmvl5NRNy1g==} + dependencies: + '@babel/runtime': 7.20.6 + copy-text-to-clipboard: 3.2.0 + core-js: 3.26.1 + mutation-observer: 1.0.3 + dev: false + + /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 + + /vinyl-file@3.0.0: + resolution: {integrity: sha512-BoJDj+ca3D9xOuPEM6RWVtWQtvEPQiQYn82LvdxhLWplfQsBzBqtgK0yhCP0s1BNTi6dH9BO+dzybvyQIacifg==} + engines: {node: '>=4'} + dependencies: + graceful-fs: 4.2.10 + pify: 2.3.0 + strip-bom-buf: 1.0.0 + strip-bom-stream: 2.0.0 + vinyl: 2.2.1 + dev: true + + /vinyl@2.2.1: + resolution: {integrity: sha512-LII3bXRFBZLlezoG5FfZVcXflZgWP/4dCwKtxd5ky9+LOtM4CS3bIRQsmR1KMnMW07jpE8fqR2lcxPZ+8sJIcw==} + engines: {node: '>= 0.10'} + dependencies: + clone: 2.1.2 + clone-buffer: 1.0.0 + clone-stats: 1.0.0 + cloneable-readable: 1.1.3 + remove-trailing-separator: 1.1.0 + replace-ext: 1.0.1 + dev: true + + /vm2@3.9.11: + resolution: {integrity: sha512-PFG8iJRSjvvBdisowQ7iVF580DXb1uCIiGaXgm7tynMR1uTBlv7UJlB1zdv5KJ+Tmq1f0Upnj3fayoEOPpCBKg==} + engines: {node: '>=6.0'} + deprecated: The library contains critical security issues and should not be used for production! The maintenance of the project has been discontinued. Consider migrating your code to isolated-vm. + hasBin: true + dependencies: + acorn: 8.10.0 + acorn-walk: 8.2.0 + dev: true + + /vue-demi@0.13.11(@vue/composition-api@1.7.2)(vue@3.3.4): + resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + dependencies: + '@vue/composition-api': 1.7.2(vue@3.3.4) + vue: 3.3.4 + dev: false + + /vue-demi@0.14.6(@vue/composition-api@1.7.2)(vue@3.3.4): + resolution: {integrity: sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + peerDependencies: + '@vue/composition-api': ^1.0.0-rc.1 + vue: ^3.0.0-0 || ^2.6.0 + peerDependenciesMeta: + '@vue/composition-api': + optional: true + dependencies: + '@vue/composition-api': 1.7.2(vue@3.3.4) + vue: 3.3.4 + dev: false + + /vue-eslint-parser@9.3.1(eslint@8.28.0): + resolution: {integrity: sha512-Clr85iD2XFZ3lJ52/ppmUDG/spxQu6+MAeHXjjyI4I1NUYZ9xmenQp4N0oaHJhrA8OOxltCVxMRfANGa70vU0g==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + dependencies: + debug: 4.3.4 + eslint: 8.28.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + lodash: 4.17.21 + semver: 7.5.4 + transitivePeerDependencies: + - supports-color + dev: true + + /vue-hot-reload-api@2.3.4: + resolution: {integrity: sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==} + dev: true + + /vue-loader@15.10.2(@vue/compiler-sfc@3.2.45)(cache-loader@4.1.0)(css-loader@6.7.3)(lodash@4.17.21)(prettier@2.7.1)(webpack@5.79.0): + resolution: {integrity: sha512-ndeSe/8KQc/nlA7TJ+OBhv2qalmj1s+uBs7yHDRFaAXscFTApBzY9F1jES3bautmgWjDlDct0fw8rPuySDLwxw==} + peerDependencies: + '@vue/compiler-sfc': ^3.0.8 + cache-loader: '*' + css-loader: '*' + prettier: '*' + vue-template-compiler: '*' + webpack: ^3.0.0 || ^4.1.0 || ^5.0.0-0 + peerDependenciesMeta: + '@vue/compiler-sfc': + optional: true + cache-loader: + optional: true + prettier: + optional: true + vue-template-compiler: + optional: true + dependencies: + '@vue/compiler-sfc': 3.2.45 + '@vue/component-compiler-utils': 3.3.0(lodash@4.17.21) + cache-loader: 4.1.0(webpack@5.79.0) + css-loader: 6.7.3(webpack@5.79.0) + hash-sum: 1.0.2 + loader-utils: 1.4.2 + prettier: 2.7.1 + vue-hot-reload-api: 2.3.4 + vue-style-loader: 4.1.3 + webpack: 5.79.0(@swc/core@1.3.96) + transitivePeerDependencies: + - arc-templates + - atpl + - babel-core + - bracket-template + - coffee-script + - dot + - dust + - dustjs-helpers + - dustjs-linkedin + - eco + - ect + - ejs + - haml-coffee + - hamlet + - hamljs + - handlebars + - hogan.js + - htmling + - jade + - jazz + - jqtpl + - just + - liquid-node + - liquor + - lodash + - marko + - mote + - mustache + - nunjucks + - plates + - pug + - qejs + - ractive + - razor-tmpl + - react + - react-dom + - slm + - squirrelly + - swig + - swig-templates + - teacup + - templayed + - then-jade + - then-pug + - tinyliquid + - toffee + - twig + - twing + - underscore + - vash + - velocityjs + - walrus + - whiskers + dev: true + + /vue-loader@17.0.1(@vue/compiler-sfc@3.2.45)(vue@3.3.4)(webpack@5.79.0): + resolution: {integrity: sha512-/OOyugJnImKCkAKrAvdsWMuwoCqGxWT5USLsjohzWbMgOwpA5wQmzQiLMzZd7DjhIfunzAGIApTOgIylz/kwcg==} + peerDependencies: + '@vue/compiler-sfc': '*' + vue: '*' + webpack: ^4.1.0 || ^5.0.0-0 + peerDependenciesMeta: + '@vue/compiler-sfc': + optional: true + vue: + optional: true + dependencies: + '@vue/compiler-sfc': 3.2.45 + chalk: 4.1.2 + hash-sum: 2.0.0 + loader-utils: 2.0.4 + vue: 3.3.4 + webpack: 5.79.0(@swc/core@1.3.96) + dev: true + + /vue-style-loader@4.1.3: + resolution: {integrity: sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg==} + dependencies: + hash-sum: 1.0.2 + loader-utils: 1.4.2 + dev: true + + /vue-template-es2015-compiler@1.9.1: + resolution: {integrity: sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==} + dev: true + + /vue@3.3.4: + resolution: {integrity: sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==} + dependencies: + '@vue/compiler-dom': 3.3.4 + '@vue/compiler-sfc': 3.3.4 + '@vue/runtime-dom': 3.3.4 + '@vue/server-renderer': 3.3.4(vue@3.3.4) + '@vue/shared': 3.3.4 + + /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 + + /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.10 + + /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 + + /web-streams-polyfill@3.2.1: + resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} + engines: {node: '>= 8'} + dev: true + + /webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + dev: true + + /webidl-conversions@7.0.0: + resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} + engines: {node: '>=12'} + dev: true + + /webpack-bundle-analyzer@4.7.0: + resolution: {integrity: sha512-j9b8ynpJS4K+zfO5GGwsAcQX4ZHpWV+yRiHDiL+bE0XHJ8NiPYLTNVQdlFYWxtpg9lfAQNlwJg16J9AJtFSXRg==} + engines: {node: '>= 10.13.0'} + hasBin: true + dependencies: + acorn: 8.8.1 + acorn-walk: 8.2.0 + chalk: 4.1.2 + commander: 7.2.0 + gzip-size: 6.0.0 + lodash: 4.17.21 + opener: 1.5.2 + sirv: 1.0.19 + ws: 7.5.9 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: true + + /webpack-chain@6.5.1: + resolution: {integrity: sha512-7doO/SRtLu8q5WM0s7vPKPWX580qhi0/yBHkOxNkv50f6qB76Zy9o2wRTrrPULqYTvQlVHuvbA8v+G5ayuUDsA==} + engines: {node: '>=8'} + dependencies: + deepmerge: 1.5.2 + javascript-stringify: 2.1.0 + dev: true + + /webpack-dev-middleware@5.3.3(webpack@5.79.0): + resolution: {integrity: sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==} + engines: {node: '>= 12.13.0'} + peerDependencies: + webpack: ^4.0.0 || ^5.0.0 + dependencies: + colorette: 2.0.20 + memfs: 3.4.12 + mime-types: 2.1.35 + range-parser: 1.2.1 + schema-utils: 4.2.0 + webpack: 5.79.0(@swc/core@1.3.96) + dev: true + + /webpack-dev-server@4.11.1(webpack@5.79.0): + resolution: {integrity: sha512-lILVz9tAUy1zGFwieuaQtYiadImb5M3d+H+L1zDYalYoDl0cksAB1UNyuE5MMWJrG6zR1tXkCP2fitl7yoUJiw==} + engines: {node: '>= 12.13.0'} + hasBin: true + peerDependencies: + webpack: ^4.37.0 || ^5.0.0 + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + dependencies: + '@types/bonjour': 3.5.10 + '@types/connect-history-api-fallback': 1.3.5 + '@types/express': 4.17.14 + '@types/serve-index': 1.9.1 + '@types/serve-static': 1.15.0 + '@types/sockjs': 0.3.33 + '@types/ws': 8.5.3 + ansi-html-community: 0.0.8 + bonjour-service: 1.1.1 + chokidar: 3.5.3 + colorette: 2.0.19 + compression: 1.7.4 + connect-history-api-fallback: 2.0.0 + default-gateway: 6.0.3 + express: 4.18.2 + graceful-fs: 4.2.10 + html-entities: 2.3.3 + http-proxy-middleware: 2.0.6(@types/express@4.17.14) + ipaddr.js: 2.0.1 + open: 8.4.0 + p-retry: 4.6.2 + rimraf: 3.0.2 + schema-utils: 4.2.0 + selfsigned: 2.1.1 + serve-index: 1.9.1 + sockjs: 0.3.24 + spdy: 4.0.2 + webpack: 5.79.0(@swc/core@1.3.96) + webpack-dev-middleware: 5.3.3(webpack@5.79.0) + ws: 8.13.0 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate + dev: true + + /webpack-format-messages@2.0.6: + resolution: {integrity: sha512-JOUviZSCupGTf6uJjrxKMEyOawWws566e3phwSyuWBsQxuBU6Gm4QV5wdU8UfkPIhWyhAqSGKeq8fNE9Q4rs9Q==} + engines: {node: '>=6'} + dependencies: + kleur: 3.0.3 + dev: true + + /webpack-merge@4.2.2: + resolution: {integrity: sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==} + dependencies: + lodash: 4.17.21 + + /webpack-sources@2.3.1: + resolution: {integrity: sha512-y9EI9AO42JjEcrTJFOYmVywVZdKVUfOvDUPsJea5GIr1JOEGFVqwlY2K098fFoIjOkDzHn2AjRvM8dsBZu+gCA==} + engines: {node: '>=10.13.0'} + dependencies: + source-list-map: 2.0.1 + source-map: 0.6.1 + dev: true + + /webpack-sources@3.2.3: + resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} + engines: {node: '>=10.13.0'} + + /webpack-virtual-modules@0.5.0: + resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==} + + /webpack@5.79.0(@swc/core@1.3.96): + resolution: {integrity: sha512-3mN4rR2Xq+INd6NnYuL9RC9GAmc1ROPKJoHhrZ4pAjdMFEkJJWrsPw8o2JjCIyQyTu7rTXYn4VG6OpyB3CobZg==} + 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.1 + '@webassemblyjs/wasm-edit': 1.11.1 + '@webassemblyjs/wasm-parser': 1.11.1 + acorn: 8.8.1 + acorn-import-assertions: 1.8.0(acorn@8.8.1) + browserslist: 4.21.4 + chrome-trace-event: 1.0.3 + enhanced-resolve: 5.12.0 + 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.10 + 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.1 + tapable: 2.2.1 + terser-webpack-plugin: 5.3.7(@swc/core@1.3.96)(esbuild@0.19.9)(webpack@5.79.0) + watchpack: 2.4.0 + webpack-sources: 3.2.3 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + + /webpackbar@5.0.2(webpack@5.79.0): + resolution: {integrity: sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ==} + engines: {node: '>=12'} + peerDependencies: + webpack: 3 || 4 || 5 + dependencies: + chalk: 4.1.2 + consola: 2.15.3 + pretty-time: 1.1.0 + std-env: 3.3.1 + webpack: 5.79.0(@swc/core@1.3.96) + dev: true + + /webrtc-adapter@8.2.3: + resolution: {integrity: sha512-gnmRz++suzmvxtp3ehQts6s2JtAGPuDPjA1F3a9ckNpG1kYdYuHWYpazoAnL9FS5/B21tKlhkorbdCXat0+4xQ==} + engines: {node: '>=6.0.0', npm: '>=3.10.0'} + dependencies: + sdp: 3.2.0 + dev: false + + /websocket-driver@0.7.4: + resolution: {integrity: sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==} + engines: {node: '>=0.8.0'} + dependencies: + http-parser-js: 0.5.8 + safe-buffer: 5.2.1 + websocket-extensions: 0.1.4 + dev: true + + /websocket-extensions@0.1.4: + resolution: {integrity: sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==} + engines: {node: '>=0.8.0'} + dev: true + + /weui@1.1.3: + resolution: {integrity: sha512-vC6eWUvG1MYoE8yLsvBBmLB2+4DZWynQOL47MUscHMwPVltOZPGsiRb2PE7y3z+w3ElF1SsmJsyhr40wiXgP5A==} + + /whatwg-encoding@2.0.0: + resolution: {integrity: sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==} + engines: {node: '>=12'} + dependencies: + iconv-lite: 0.6.3 + dev: true + + /whatwg-fetch@3.6.2: + resolution: {integrity: sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA==} + dev: false + + /whatwg-mimetype@3.0.0: + resolution: {integrity: sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==} + engines: {node: '>=12'} + dev: true + + /whatwg-url@12.0.1: + resolution: {integrity: sha512-Ed/LrqB8EPlGxjS+TrsXcpUond1mhccS3pchLhzSgPCnTimUCKj3IZE75pAs5m6heB2U2TMerKFUXheyHY+VDQ==} + engines: {node: '>=14'} + dependencies: + tr46: 4.1.1 + webidl-conversions: 7.0.0 + dev: true + + /whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + dev: true + + /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 + dev: true + + /which-pm@2.0.0: + resolution: {integrity: sha512-Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==} + engines: {node: '>=8.15'} + dependencies: + load-yaml-file: 0.2.0 + path-exists: 4.0.0 + dev: true + + /which@1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + + /widest-line@3.1.0: + resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} + engines: {node: '>=8'} + dependencies: + string-width: 4.2.3 + dev: true + + /widest-line@4.0.1: + resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} + engines: {node: '>=12'} + dependencies: + string-width: 5.1.2 + dev: true + + /wildcard-match@5.1.2: + resolution: {integrity: sha512-qNXwI591Z88c8bWxp+yjV60Ch4F8Riawe3iGxbzquhy8Xs9m+0+SLFBGb/0yCTIDElawtaImC37fYZ+dr32KqQ==} + dev: true + + /windows-release@5.1.0: + resolution: {integrity: sha512-CddHecz5dt0ngTjGPP1uYr9Tjl4qq5rEKNk8UGb8XCdngNXI+GRYvqelD055FdiUgqODZz3R/5oZWYldPtXQpA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + execa: 5.1.1 + dev: true + + /word-wrap@1.2.3: + resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==} + engines: {node: '>=0.10.0'} + dev: true + + /wordwrap@1.0.0: + resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} + 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 + + /wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.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@7.4.6: + resolution: {integrity: sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==} + 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: 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: true + + /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 + dev: true + + /xdg-basedir@4.0.0: + resolution: {integrity: sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==} + engines: {node: '>=8'} + dev: true + + /xdg-basedir@5.1.0: + resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==} + engines: {node: '>=12'} + dev: true + + /xml-name-validator@4.0.0: + resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} + engines: {node: '>=12'} + dev: true + + /xml2js@0.5.0: + resolution: {integrity: sha512-drPFnkQJik/O+uPKpqSgr22mpuFHqKdbS835iAQrUC73L2F5WkboIRd63ai/2Yg6I1jzifPFKH2NTK+cfglkIA==} + engines: {node: '>=4.0.0'} + dependencies: + sax: 1.2.4 + xmlbuilder: 11.0.1 + dev: true + + /xmlbuilder@11.0.1: + resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==} + engines: {node: '>=4.0'} + dev: true + + /xmlchars@2.2.0: + resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} + dev: true + + /xmlhttprequest-ssl@1.6.3: + resolution: {integrity: sha512-3XfeQE/wNkvrIktn2Kf0869fC0BN6UpydVasGIeSm2B1Llihf7/0UfZM+eCkOw3P7bP4+qPgqhm7ZoxuJtFU0Q==} + engines: {node: '>=0.4.0'} + dev: true + + /xregexp@2.0.0: + resolution: {integrity: sha512-xl/50/Cf32VsGq/1R8jJE5ajH1yMCQkpmoS10QbFZWl2Oor4H0Me64Pu2yxvsRWK3m6soJbmGfzSR7BYmDcWAA==} + dev: true + + /xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + dev: true + + /xxhashjs@0.2.2: + resolution: {integrity: sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw==} + dependencies: + cuint: 0.2.2 + dev: true + + /y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + dev: true + + /yallist@2.1.2: + resolution: {integrity: sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==} + dev: true + + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + /yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: true + + /yaml@1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} + dev: true + + /yaml@2.3.1: + resolution: {integrity: sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==} + engines: {node: '>= 14'} + dev: true + + /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@16.2.0: + resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + engines: {node: '>=10'} + dependencies: + cliui: 7.0.4 + 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: 20.2.9 + dev: true + + /yargs@17.6.2: + resolution: {integrity: sha512-1/9UrdHjDZc0eOU0HxOHoS78C69UD3JRMvzlJ7S79S2nTaWRA/whGCTV8o9e/N/1Va9YIV7Q4sOxD8VV4pCWOw==} + 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 + + /yauzl@2.10.0: + resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} + dependencies: + buffer-crc32: 0.2.13 + fd-slicer: 1.1.0 + + /yeast@0.1.2: + resolution: {integrity: sha512-8HFIh676uyGYP6wP13R/j6OJ/1HwJ46snpvzE7aHAN3Ryqh2yX6Xox2B4CUmTwwOIzlG3Bs7ocsP5dZH/R1Qbg==} + 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'} + dev: true + + /yup@1.2.0: + resolution: {integrity: sha512-PPqYKSAXjpRCgLgLKVGPA33v5c/WgEx3wi6NFjIiegz90zSwyMpvTFp/uGcVnnbx6to28pgnzp/q8ih3QRjLMQ==} + dependencies: + property-expr: 2.0.5 + tiny-case: 1.0.3 + toposort: 2.0.2 + type-fest: 2.19.0 + dev: false diff --git a/apps/bMiniApp/project.config.json b/apps/bMiniApp/project.config.json new file mode 100644 index 0000000..75e8651 --- /dev/null +++ b/apps/bMiniApp/project.config.json @@ -0,0 +1,55 @@ +{ + "miniprogramRoot": "dist/", + "description": "", + "setting": { + "urlCheck": false, + "es6": false, + "enhance": false, + "postcss": false, + "preloadBackgroundData": false, + "minified": false, + "newFeature": false, + "coverView": true, + "nodeModules": false, + "autoAudits": false, + "showShadowRootInWxmlPanel": true, + "scopeDataCheck": false, + "uglifyFileName": false, + "checkInvalidKey": true, + "checkSiteMap": false, + "uploadWithSourceMap": true, + "compileHotReLoad": false, + "lazyloadPlaceholderEnable": false, + "useMultiFrameRuntime": true, + "babelSetting": { + "ignore": [], + "disablePlugins": [], + "outputPath": "" + }, + "enableEngineNative": false, + "useIsolateContext": true, + "userConfirmedBundleSwitch": false, + "packNpmManually": false, + "packNpmRelationList": [], + "minifyWXSS": false, + "disableUseStrict": false, + "minifyWXML": false, + "showES6CompileOption": false, + "useCompilerPlugins": false, + "ignoreUploadUnusedFiles": true, + "condition": false + }, + "compileType": "miniprogram", + "editorSetting": { + "tabIndent": "insertSpaces", + "tabSize": 4 + }, + "srcMiniprogramRoot": "dist/", + "condition": {}, + "libVersion": "3.1.0", + "packOptions": { + "ignore": [], + "include": [] + }, + "appid": "wx88251c84f5cd886b" +} \ No newline at end of file diff --git a/apps/bMiniApp/project.private.config.json b/apps/bMiniApp/project.private.config.json new file mode 100644 index 0000000..744ebb3 --- /dev/null +++ b/apps/bMiniApp/project.private.config.json @@ -0,0 +1,15 @@ +{ + "description": "椤圭洰绉佹湁閰嶇疆鏂囦欢銆傛鏂囦欢涓殑鍐呭灏嗚鐩� project.config.json 涓殑鐩稿悓瀛楁銆傞」鐩殑鏀瑰姩浼樺厛鍚屾鍒版鏂囦欢涓�傝瑙佹枃妗o細https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html", + "projectname": "bMiniApp", + "setting": { + "compileHotReLoad": true, + "bigPackageSizeSupport": true, + "skylineRenderEnable": false + }, + "condition": { + "miniprogram": { + "list": [] + } + }, + "libVersion": "3.7.3" +} diff --git a/apps/bMiniApp/project.tt.json b/apps/bMiniApp/project.tt.json new file mode 100644 index 0000000..4bff96a --- /dev/null +++ b/apps/bMiniApp/project.tt.json @@ -0,0 +1,9 @@ +{ + "miniprogramRoot": "./", + "projectname": "bMiniApp", + "appid": "testAppId", + "setting": { + "es6": false, + "minified": false + } +} diff --git a/apps/bMiniApp/src/app.config.ts b/apps/bMiniApp/src/app.config.ts new file mode 100644 index 0000000..0a16e9a --- /dev/null +++ b/apps/bMiniApp/src/app.config.ts @@ -0,0 +1,72 @@ +export default defineAppConfig({ + entryPagePath: 'pages/home/index', + pages: ['pages/home/index', 'pages/mine/index'], + requiredPrivateInfos: ['getLocation'], + permission: { + 'scope.userLocation': { + desc: '浣犵殑浣嶇疆淇℃伅灏嗙敤浜庡皬绋嬪簭鏁版嵁鐨勬晥鏋滃睍绀�', + }, + }, + window: { + backgroundTextStyle: 'light', + navigationBarBackgroundColor: '#ff6d33', + navigationBarTitleText: 'WeChat', + navigationBarTextStyle: 'black', + backgroundColorTop: '#ff6d33', + backgroundColor: '#f7f7f7', + backgroundColorBottom: '#f7f7f7', + navigationStyle: 'custom', + }, + tabBar: { + list: [ + { + pagePath: 'pages/home/index', + iconPath: 'assets/tabbar/icon-home.png', + selectedIconPath: 'assets/tabbar/icon-home-active.png', + text: '棣栭〉', + }, + { + pagePath: 'pages/mine/index', + iconPath: 'assets/tabbar/icon-mine.png', + selectedIconPath: 'assets/tabbar/icon-mine-active.png', + text: '鎴戠殑', + }, + ], + color: '#000', + selectedColor: '#ff6d33', + backgroundColor: '#fff', + borderStyle: 'black', + custom: true, + }, + lazyCodeLoading: 'requiredComponents', // 鎸夐渶娉ㄥ叆鍜岀敤鏃舵敞鍏�(鎸夐渶娉ㄥ叆+鍗犱綅缁勪欢) + subpackages: [ + { + root: 'subpackages/login', + pages: [ + 'authorization/authorization', + 'userPolicy/userPolicy', + 'loginByForm/loginByForm', + 'registerForm/registerForm', + ], + }, + { + root: 'subpackages/authentication', + pages: [ + 'authenticationHome/authenticationHome', + 'authenticationFaRen/authenticationFaRen', + 'authenticationJBR/authenticationJBR', + 'authenticationResult/authenticationResult', + ], + }, + { + root: 'subpackages/city', + pages: ['citySelect/citySelect'], + }, + ], + // preloadRule: { + // 'pages/mine/index': { + // network: 'all', + // packages: ['subpackages/setting', 'subpackages/message'], + // }, + // }, +}); diff --git a/apps/bMiniApp/src/app.scss b/apps/bMiniApp/src/app.scss new file mode 100644 index 0000000..23ff940 --- /dev/null +++ b/apps/bMiniApp/src/app.scss @@ -0,0 +1 @@ +@import '@/styles/index.scss'; diff --git a/apps/bMiniApp/src/app.ts b/apps/bMiniApp/src/app.ts new file mode 100644 index 0000000..5039280 --- /dev/null +++ b/apps/bMiniApp/src/app.ts @@ -0,0 +1,85 @@ +import { createApp } from 'vue'; + +import '@nutui/nutui-taro/dist/style.css'; +import './app.scss'; + +import { setupStore } from '@/stores'; + +import { useSystemStore } from '@/stores/modules/system'; +import { useUserStore } from '@/stores/modules/user'; +import Taro from '@tarojs/taro'; +import { VueQueryPlugin, VueQueryPluginOptions } from '@tanstack/vue-query'; +import { myClient } from '@/constants/query'; + +window.uni = Taro; + +function updateVersions() { + const updateManager = Taro.getUpdateManager(); + updateManager.onCheckForUpdate(function (_res) { + // 璇锋眰瀹屾柊鐗堟湰淇℃伅鐨勫洖璋� + }); + updateManager.onUpdateReady(function () { + Taro.showModal({ + title: '鏇存柊鎻愮ず', + content: '鏂扮増鏈凡缁忓噯澶囧ソ锛屾槸鍚﹂噸鍚簲鐢紵', + success: function (res) { + if (res.confirm) { + // 鏂扮殑鐗堟湰宸茬粡涓嬭浇濂斤紝璋冪敤 applyUpdate 搴旂敤鏂扮増鏈苟閲嶅惎 + updateManager.applyUpdate(); + } + }, + }); + }); + updateManager.onUpdateFailed(function () { + // 鏂扮殑鐗堟湰涓嬭浇澶辫触 + Taro.showToast({ + title: '鏂扮殑鐗堟湰涓嬭浇澶辫触,璇烽噸鏂拌繘鍏�', + icon: 'none', + duration: 2000, + }); + }); +} + +const App = createApp({ + // 鍙互浣跨敤鎵�鏈夌殑 Vue 鐢熷懡鍛ㄦ湡鏂规硶 + + mounted() {}, + + // 瀵瑰簲 onLaunch + onLaunch(options) { + // 濡傛灉鏄敹钘忚繘鍏� + if (options.query.collect) { + Taro.reLaunch({ + url: '/pages/index/index', + }); + return; + } + // 灏嗗惎鍔ㄥ弬鏁版斁杩涘埌鍏ㄥ眬鍘� + const system = useSystemStore(); + system.init(options); + system.setInfo(Taro.getSystemInfoSync()); + }, + + // 瀵瑰簲 onShow + onShow(options) { + updateVersions(); + }, + + // 瀵瑰簲 onHide + onHide() {}, + // 鍏ュ彛缁勪欢涓嶉渶瑕佸疄鐜� render 鏂规硶锛屽嵆浣垮疄鐜颁簡涔熶細琚� taro 鎵�瑕嗙洊 +}); + +setupStore(App); + +import { IconFont } from '@nutui/icons-vue-taro'; + +App.component('IconFont', IconFont); // 鍏ㄥ眬缁勪欢 + +const vueQueryPluginOptions: VueQueryPluginOptions = { + queryClient: myClient, +}; + +App.use(VueQueryPlugin, vueQueryPluginOptions); + +export default App; diff --git a/apps/bMiniApp/src/assets/authentication/icon-arrow.png b/apps/bMiniApp/src/assets/authentication/icon-arrow.png new file mode 100644 index 0000000..321b406 --- /dev/null +++ b/apps/bMiniApp/src/assets/authentication/icon-arrow.png Binary files differ diff --git a/apps/bMiniApp/src/assets/authentication/icon-faren.png b/apps/bMiniApp/src/assets/authentication/icon-faren.png new file mode 100644 index 0000000..65c3c41 --- /dev/null +++ b/apps/bMiniApp/src/assets/authentication/icon-faren.png Binary files differ diff --git a/apps/bMiniApp/src/assets/authentication/icon-jbr.png b/apps/bMiniApp/src/assets/authentication/icon-jbr.png new file mode 100644 index 0000000..0d3ab2b --- /dev/null +++ b/apps/bMiniApp/src/assets/authentication/icon-jbr.png Binary files differ diff --git a/apps/bMiniApp/src/assets/authentication/icon-result-error.png b/apps/bMiniApp/src/assets/authentication/icon-result-error.png new file mode 100644 index 0000000..d2b5f19 --- /dev/null +++ b/apps/bMiniApp/src/assets/authentication/icon-result-error.png Binary files differ diff --git a/apps/bMiniApp/src/assets/authentication/icon-result-success.png b/apps/bMiniApp/src/assets/authentication/icon-result-success.png new file mode 100644 index 0000000..6685008 --- /dev/null +++ b/apps/bMiniApp/src/assets/authentication/icon-result-success.png Binary files differ diff --git a/apps/bMiniApp/src/assets/common/icon-common-page-bg.png b/apps/bMiniApp/src/assets/common/icon-common-page-bg.png new file mode 100644 index 0000000..4f73ce6 --- /dev/null +++ b/apps/bMiniApp/src/assets/common/icon-common-page-bg.png Binary files differ diff --git a/apps/bMiniApp/src/assets/common/icon-navi-arrow-white.png b/apps/bMiniApp/src/assets/common/icon-navi-arrow-white.png new file mode 100644 index 0000000..96e4947 --- /dev/null +++ b/apps/bMiniApp/src/assets/common/icon-navi-arrow-white.png Binary files differ diff --git a/apps/bMiniApp/src/assets/common/icon-navi-arrow.png b/apps/bMiniApp/src/assets/common/icon-navi-arrow.png new file mode 100644 index 0000000..12d08c5 --- /dev/null +++ b/apps/bMiniApp/src/assets/common/icon-navi-arrow.png Binary files differ diff --git a/apps/bMiniApp/src/assets/components/fail.png b/apps/bMiniApp/src/assets/components/fail.png new file mode 100644 index 0000000..e5e81b4 --- /dev/null +++ b/apps/bMiniApp/src/assets/components/fail.png Binary files differ diff --git a/apps/bMiniApp/src/assets/components/icon-add.png b/apps/bMiniApp/src/assets/components/icon-add.png new file mode 100644 index 0000000..0f793a3 --- /dev/null +++ b/apps/bMiniApp/src/assets/components/icon-add.png Binary files differ diff --git a/apps/bMiniApp/src/assets/components/icon-back-top.png b/apps/bMiniApp/src/assets/components/icon-back-top.png new file mode 100644 index 0000000..0b64e13 --- /dev/null +++ b/apps/bMiniApp/src/assets/components/icon-back-top.png Binary files differ diff --git a/apps/bMiniApp/src/assets/components/icon-dark-arrow.png b/apps/bMiniApp/src/assets/components/icon-dark-arrow.png new file mode 100644 index 0000000..58810dc --- /dev/null +++ b/apps/bMiniApp/src/assets/components/icon-dark-arrow.png Binary files differ diff --git a/apps/bMiniApp/src/assets/components/icon-default-avatar.png b/apps/bMiniApp/src/assets/components/icon-default-avatar.png new file mode 100644 index 0000000..a480a27 --- /dev/null +++ b/apps/bMiniApp/src/assets/components/icon-default-avatar.png Binary files differ diff --git a/apps/bMiniApp/src/assets/components/icon-phone.png b/apps/bMiniApp/src/assets/components/icon-phone.png new file mode 100644 index 0000000..ab958bd --- /dev/null +++ b/apps/bMiniApp/src/assets/components/icon-phone.png Binary files differ diff --git a/apps/bMiniApp/src/assets/components/icon-small-dark-arrow.png b/apps/bMiniApp/src/assets/components/icon-small-dark-arrow.png new file mode 100644 index 0000000..bf3f107 --- /dev/null +++ b/apps/bMiniApp/src/assets/components/icon-small-dark-arrow.png Binary files differ diff --git a/apps/bMiniApp/src/assets/components/rich-card/icon-add-editor.png b/apps/bMiniApp/src/assets/components/rich-card/icon-add-editor.png new file mode 100644 index 0000000..112ec29 --- /dev/null +++ b/apps/bMiniApp/src/assets/components/rich-card/icon-add-editor.png Binary files differ diff --git a/apps/bMiniApp/src/assets/components/rich-card/icon-add.png b/apps/bMiniApp/src/assets/components/rich-card/icon-add.png new file mode 100644 index 0000000..eca71c7 --- /dev/null +++ b/apps/bMiniApp/src/assets/components/rich-card/icon-add.png Binary files differ diff --git a/apps/bMiniApp/src/assets/components/rich-card/icon-delete.png b/apps/bMiniApp/src/assets/components/rich-card/icon-delete.png new file mode 100644 index 0000000..2c7ba11 --- /dev/null +++ b/apps/bMiniApp/src/assets/components/rich-card/icon-delete.png Binary files differ diff --git a/apps/bMiniApp/src/assets/components/rich-card/icon-move-down-active.png b/apps/bMiniApp/src/assets/components/rich-card/icon-move-down-active.png new file mode 100644 index 0000000..d93cbf3 --- /dev/null +++ b/apps/bMiniApp/src/assets/components/rich-card/icon-move-down-active.png Binary files differ diff --git a/apps/bMiniApp/src/assets/components/rich-card/icon-move-down.png b/apps/bMiniApp/src/assets/components/rich-card/icon-move-down.png new file mode 100644 index 0000000..7eeaae8 --- /dev/null +++ b/apps/bMiniApp/src/assets/components/rich-card/icon-move-down.png Binary files differ diff --git a/apps/bMiniApp/src/assets/components/rich-card/icon-move-up-active.png b/apps/bMiniApp/src/assets/components/rich-card/icon-move-up-active.png new file mode 100644 index 0000000..4f2738b --- /dev/null +++ b/apps/bMiniApp/src/assets/components/rich-card/icon-move-up-active.png Binary files differ diff --git a/apps/bMiniApp/src/assets/components/rich-card/icon-move-up.png b/apps/bMiniApp/src/assets/components/rich-card/icon-move-up.png new file mode 100644 index 0000000..da49ac3 --- /dev/null +++ b/apps/bMiniApp/src/assets/components/rich-card/icon-move-up.png Binary files differ diff --git a/apps/bMiniApp/src/assets/components/success.png b/apps/bMiniApp/src/assets/components/success.png new file mode 100644 index 0000000..1f6b732 --- /dev/null +++ b/apps/bMiniApp/src/assets/components/success.png Binary files differ diff --git a/apps/bMiniApp/src/assets/font/D-DIN.otf b/apps/bMiniApp/src/assets/font/D-DIN.otf new file mode 100644 index 0000000..ea5c4c8 --- /dev/null +++ b/apps/bMiniApp/src/assets/font/D-DIN.otf Binary files differ diff --git a/apps/bMiniApp/src/assets/login/icon-btn-captcha.png b/apps/bMiniApp/src/assets/login/icon-btn-captcha.png new file mode 100644 index 0000000..94c38e3 --- /dev/null +++ b/apps/bMiniApp/src/assets/login/icon-btn-captcha.png Binary files differ diff --git a/apps/bMiniApp/src/assets/login/icon-btn-password.png b/apps/bMiniApp/src/assets/login/icon-btn-password.png new file mode 100644 index 0000000..6f7e2bc --- /dev/null +++ b/apps/bMiniApp/src/assets/login/icon-btn-password.png Binary files differ diff --git a/apps/bMiniApp/src/assets/login/icon-tab-bg-1.png b/apps/bMiniApp/src/assets/login/icon-tab-bg-1.png new file mode 100644 index 0000000..080a588 --- /dev/null +++ b/apps/bMiniApp/src/assets/login/icon-tab-bg-1.png Binary files differ diff --git a/apps/bMiniApp/src/assets/login/icon-tab-bg-2.png b/apps/bMiniApp/src/assets/login/icon-tab-bg-2.png new file mode 100644 index 0000000..c645ee0 --- /dev/null +++ b/apps/bMiniApp/src/assets/login/icon-tab-bg-2.png Binary files differ diff --git a/apps/bMiniApp/src/assets/mine/icon-arrow.png b/apps/bMiniApp/src/assets/mine/icon-arrow.png new file mode 100644 index 0000000..f369bbf --- /dev/null +++ b/apps/bMiniApp/src/assets/mine/icon-arrow.png Binary files differ diff --git a/apps/bMiniApp/src/assets/mine/icon-bg.png b/apps/bMiniApp/src/assets/mine/icon-bg.png new file mode 100644 index 0000000..f38e82d --- /dev/null +++ b/apps/bMiniApp/src/assets/mine/icon-bg.png Binary files differ diff --git a/apps/bMiniApp/src/assets/mine/icon-card.png b/apps/bMiniApp/src/assets/mine/icon-card.png new file mode 100644 index 0000000..457dad9 --- /dev/null +++ b/apps/bMiniApp/src/assets/mine/icon-card.png Binary files differ diff --git a/apps/bMiniApp/src/assets/mine/icon-edit.png b/apps/bMiniApp/src/assets/mine/icon-edit.png new file mode 100644 index 0000000..c360f1a --- /dev/null +++ b/apps/bMiniApp/src/assets/mine/icon-edit.png Binary files differ diff --git a/apps/bMiniApp/src/assets/mine/icon-id-bg.png b/apps/bMiniApp/src/assets/mine/icon-id-bg.png new file mode 100644 index 0000000..d6228e7 --- /dev/null +++ b/apps/bMiniApp/src/assets/mine/icon-id-bg.png Binary files differ diff --git a/apps/bMiniApp/src/assets/mine/icon-lamp.png b/apps/bMiniApp/src/assets/mine/icon-lamp.png new file mode 100644 index 0000000..48dd588 --- /dev/null +++ b/apps/bMiniApp/src/assets/mine/icon-lamp.png Binary files differ diff --git a/apps/bMiniApp/src/assets/mine/icon-menu-business.png b/apps/bMiniApp/src/assets/mine/icon-menu-business.png new file mode 100644 index 0000000..8e262d3 --- /dev/null +++ b/apps/bMiniApp/src/assets/mine/icon-menu-business.png Binary files differ diff --git a/apps/bMiniApp/src/assets/mine/icon-menu-contact.png b/apps/bMiniApp/src/assets/mine/icon-menu-contact.png new file mode 100644 index 0000000..8ec8b4b --- /dev/null +++ b/apps/bMiniApp/src/assets/mine/icon-menu-contact.png Binary files differ diff --git a/apps/bMiniApp/src/assets/mine/icon-message.png b/apps/bMiniApp/src/assets/mine/icon-message.png new file mode 100644 index 0000000..db74126 --- /dev/null +++ b/apps/bMiniApp/src/assets/mine/icon-message.png Binary files differ diff --git a/apps/bMiniApp/src/assets/mine/icon-setting.png b/apps/bMiniApp/src/assets/mine/icon-setting.png new file mode 100644 index 0000000..0140788 --- /dev/null +++ b/apps/bMiniApp/src/assets/mine/icon-setting.png Binary files differ diff --git a/apps/bMiniApp/src/assets/mine/icon-unCertified.png b/apps/bMiniApp/src/assets/mine/icon-unCertified.png new file mode 100644 index 0000000..be5fb96 --- /dev/null +++ b/apps/bMiniApp/src/assets/mine/icon-unCertified.png Binary files differ diff --git a/apps/bMiniApp/src/assets/setting/icon-account.png b/apps/bMiniApp/src/assets/setting/icon-account.png new file mode 100644 index 0000000..86537bf --- /dev/null +++ b/apps/bMiniApp/src/assets/setting/icon-account.png Binary files differ diff --git a/apps/bMiniApp/src/assets/setting/icon-arrow.png b/apps/bMiniApp/src/assets/setting/icon-arrow.png new file mode 100644 index 0000000..ffb29dc --- /dev/null +++ b/apps/bMiniApp/src/assets/setting/icon-arrow.png Binary files differ diff --git a/apps/bMiniApp/src/assets/setting/icon-coo.png b/apps/bMiniApp/src/assets/setting/icon-coo.png new file mode 100644 index 0000000..dd6c257 --- /dev/null +++ b/apps/bMiniApp/src/assets/setting/icon-coo.png Binary files differ diff --git a/apps/bMiniApp/src/assets/setting/icon-loginout.png b/apps/bMiniApp/src/assets/setting/icon-loginout.png new file mode 100644 index 0000000..ee25907 --- /dev/null +++ b/apps/bMiniApp/src/assets/setting/icon-loginout.png Binary files differ diff --git a/apps/bMiniApp/src/assets/setting/icon-note.png b/apps/bMiniApp/src/assets/setting/icon-note.png new file mode 100644 index 0000000..c76d47e --- /dev/null +++ b/apps/bMiniApp/src/assets/setting/icon-note.png Binary files differ diff --git a/apps/bMiniApp/src/assets/setting/icon-toggle-bg.png b/apps/bMiniApp/src/assets/setting/icon-toggle-bg.png new file mode 100644 index 0000000..dcaba2c --- /dev/null +++ b/apps/bMiniApp/src/assets/setting/icon-toggle-bg.png Binary files differ diff --git a/apps/bMiniApp/src/assets/setting/icon-warning.png b/apps/bMiniApp/src/assets/setting/icon-warning.png new file mode 100644 index 0000000..1215f9f --- /dev/null +++ b/apps/bMiniApp/src/assets/setting/icon-warning.png Binary files differ diff --git a/apps/bMiniApp/src/assets/setting/icon-wx.png b/apps/bMiniApp/src/assets/setting/icon-wx.png new file mode 100644 index 0000000..3422645 --- /dev/null +++ b/apps/bMiniApp/src/assets/setting/icon-wx.png Binary files differ diff --git a/apps/bMiniApp/src/assets/tabbar/icon-follow-active.png b/apps/bMiniApp/src/assets/tabbar/icon-follow-active.png new file mode 100644 index 0000000..8935690 --- /dev/null +++ b/apps/bMiniApp/src/assets/tabbar/icon-follow-active.png Binary files differ diff --git a/apps/bMiniApp/src/assets/tabbar/icon-follow.png b/apps/bMiniApp/src/assets/tabbar/icon-follow.png new file mode 100644 index 0000000..1a52d69 --- /dev/null +++ b/apps/bMiniApp/src/assets/tabbar/icon-follow.png Binary files differ diff --git a/apps/bMiniApp/src/assets/tabbar/icon-friend-active.png b/apps/bMiniApp/src/assets/tabbar/icon-friend-active.png new file mode 100644 index 0000000..9c87699 --- /dev/null +++ b/apps/bMiniApp/src/assets/tabbar/icon-friend-active.png Binary files differ diff --git a/apps/bMiniApp/src/assets/tabbar/icon-friend.png b/apps/bMiniApp/src/assets/tabbar/icon-friend.png new file mode 100644 index 0000000..e7925dd --- /dev/null +++ b/apps/bMiniApp/src/assets/tabbar/icon-friend.png Binary files differ diff --git a/apps/bMiniApp/src/assets/tabbar/icon-home-active.png b/apps/bMiniApp/src/assets/tabbar/icon-home-active.png new file mode 100644 index 0000000..89b000a --- /dev/null +++ b/apps/bMiniApp/src/assets/tabbar/icon-home-active.png Binary files differ diff --git a/apps/bMiniApp/src/assets/tabbar/icon-home.png b/apps/bMiniApp/src/assets/tabbar/icon-home.png new file mode 100644 index 0000000..8fcdf1c --- /dev/null +++ b/apps/bMiniApp/src/assets/tabbar/icon-home.png Binary files differ diff --git a/apps/bMiniApp/src/assets/tabbar/icon-information-active.png b/apps/bMiniApp/src/assets/tabbar/icon-information-active.png new file mode 100644 index 0000000..c0d442f --- /dev/null +++ b/apps/bMiniApp/src/assets/tabbar/icon-information-active.png Binary files differ diff --git a/apps/bMiniApp/src/assets/tabbar/icon-information.png b/apps/bMiniApp/src/assets/tabbar/icon-information.png new file mode 100644 index 0000000..bff15c8 --- /dev/null +++ b/apps/bMiniApp/src/assets/tabbar/icon-information.png Binary files differ diff --git a/apps/bMiniApp/src/assets/tabbar/icon-message-active.png b/apps/bMiniApp/src/assets/tabbar/icon-message-active.png new file mode 100644 index 0000000..fb4e87d --- /dev/null +++ b/apps/bMiniApp/src/assets/tabbar/icon-message-active.png Binary files differ diff --git a/apps/bMiniApp/src/assets/tabbar/icon-message.png b/apps/bMiniApp/src/assets/tabbar/icon-message.png new file mode 100644 index 0000000..0635f33 --- /dev/null +++ b/apps/bMiniApp/src/assets/tabbar/icon-message.png Binary files differ diff --git a/apps/bMiniApp/src/assets/tabbar/icon-mine-active.png b/apps/bMiniApp/src/assets/tabbar/icon-mine-active.png new file mode 100644 index 0000000..ba19ce1 --- /dev/null +++ b/apps/bMiniApp/src/assets/tabbar/icon-mine-active.png Binary files differ diff --git a/apps/bMiniApp/src/assets/tabbar/icon-mine.png b/apps/bMiniApp/src/assets/tabbar/icon-mine.png new file mode 100644 index 0000000..dddc254 --- /dev/null +++ b/apps/bMiniApp/src/assets/tabbar/icon-mine.png Binary files differ diff --git a/apps/bMiniApp/src/assets/tabbar/icon-product-active.png b/apps/bMiniApp/src/assets/tabbar/icon-product-active.png new file mode 100644 index 0000000..a5d9e0c --- /dev/null +++ b/apps/bMiniApp/src/assets/tabbar/icon-product-active.png Binary files differ diff --git a/apps/bMiniApp/src/assets/tabbar/icon-product.png b/apps/bMiniApp/src/assets/tabbar/icon-product.png new file mode 100644 index 0000000..7167f0d --- /dev/null +++ b/apps/bMiniApp/src/assets/tabbar/icon-product.png Binary files differ diff --git a/apps/bMiniApp/src/assets/tabbar/icon-publish.png b/apps/bMiniApp/src/assets/tabbar/icon-publish.png new file mode 100644 index 0000000..9e0af86 --- /dev/null +++ b/apps/bMiniApp/src/assets/tabbar/icon-publish.png Binary files differ diff --git a/apps/bMiniApp/src/assets/user/icon-address.png b/apps/bMiniApp/src/assets/user/icon-address.png new file mode 100644 index 0000000..0af50f3 --- /dev/null +++ b/apps/bMiniApp/src/assets/user/icon-address.png Binary files differ diff --git a/apps/bMiniApp/src/assets/user/icon-bg.png b/apps/bMiniApp/src/assets/user/icon-bg.png new file mode 100644 index 0000000..e8e3d22 --- /dev/null +++ b/apps/bMiniApp/src/assets/user/icon-bg.png Binary files differ diff --git a/apps/bMiniApp/src/assets/user/icon-email.png b/apps/bMiniApp/src/assets/user/icon-email.png new file mode 100644 index 0000000..787cff2 --- /dev/null +++ b/apps/bMiniApp/src/assets/user/icon-email.png Binary files differ diff --git a/apps/bMiniApp/src/assets/user/icon-my-attention.png b/apps/bMiniApp/src/assets/user/icon-my-attention.png new file mode 100644 index 0000000..fcf73cb --- /dev/null +++ b/apps/bMiniApp/src/assets/user/icon-my-attention.png Binary files differ diff --git a/apps/bMiniApp/src/assets/user/icon-phone.png b/apps/bMiniApp/src/assets/user/icon-phone.png new file mode 100644 index 0000000..32bef71 --- /dev/null +++ b/apps/bMiniApp/src/assets/user/icon-phone.png Binary files differ diff --git a/apps/bMiniApp/src/components/Avatar/UserAvatar.vue b/apps/bMiniApp/src/components/Avatar/UserAvatar.vue new file mode 100644 index 0000000..9ddbe34 --- /dev/null +++ b/apps/bMiniApp/src/components/Avatar/UserAvatar.vue @@ -0,0 +1,14 @@ +<template> + <Avatar :src="userDetail?.avatarUrl"></Avatar> +</template> + +<script setup lang="ts"> +import { Avatar } from '@12333/components'; +import { useUser } from '@/hooks'; + +defineOptions({ + name: 'UserAvatar', +}); + +const { userDetail } = useUser(); +</script> diff --git a/apps/bMiniApp/src/components/Avatar/UserInfoAvatar.vue b/apps/bMiniApp/src/components/Avatar/UserInfoAvatar.vue new file mode 100644 index 0000000..539a701 --- /dev/null +++ b/apps/bMiniApp/src/components/Avatar/UserInfoAvatar.vue @@ -0,0 +1,95 @@ +<template> + <div class="user-info-avatar-wrapper"> + <Avatar :size="60" class="user-info-avatar" :src="src" /> + <div class="user-info"> + <div class="user-info-item-name-wrapper"> + <div class="user-info-item-name">{{ name }}</div> + <template v-if="jobTitle"> + <div class="user-info-item-dot"></div> + <div class="user-info-item-jobTitle">{{ jobTitle }}</div> + </template> + </div> + <div class="user-info-item-company">{{ company }}</div> + </div> + </div> +</template> + +<script setup lang="ts"> +import { Avatar } from '@12333/components'; + +defineOptions({ + name: 'UserInfoAvatar', +}); + +type Props = { + src?: string; + name?: string; + company?: string; + jobTitle?: string; +}; + +const props = withDefaults(defineProps<Props>(), {}); +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; + +.user-info-avatar-wrapper { + display: flex; + flex: 1; + min-width: 0; + + .user-info-avatar { + margin-right: 24px; + } + + .user-info { + flex: 1; + min-width: 0; + display: flex; + flex-direction: column; + justify-content: space-between; + padding: 12px 0; + + .user-info-item-name-wrapper { + color: #ffffff; + line-height: 44px; + @include ellipsis; + vertical-align: middle; + font-size: 0; + } + + .user-info-item-name { + display: inline-block; + font-weight: 600; + font-size: 32px; + vertical-align: middle; + } + + .user-info-item-dot { + display: inline-block; + width: 4px; + height: 4px; + background: #ffffff; + vertical-align: middle; + border-radius: 50%; + margin: 0 8px; + } + + .user-info-item-jobTitle { + display: inline-block; + font-weight: 400; + font-size: 28px; + vertical-align: middle; + } + + .user-info-item-company { + font-weight: 400; + font-size: 24px; + color: #ffffff; + line-height: 34px; + @include ellipsis; + } + } +} +</style> diff --git a/apps/bMiniApp/src/components/Button/LargeButton.vue b/apps/bMiniApp/src/components/Button/LargeButton.vue new file mode 100644 index 0000000..219197b --- /dev/null +++ b/apps/bMiniApp/src/components/Button/LargeButton.vue @@ -0,0 +1,28 @@ +<template> + <nut-button class="large-button" type="primary"> + <template v-for="(item, key, i) in $slots" :key="i" v-slot:[key]> + <slot :name="key"></slot> + </template> + </nut-button> +</template> + +<script setup lang="ts"> +defineOptions({ + name: 'LargeButton', +}); +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; + +.page-layout-wrapper { + .large-button { + display: block; + height: 88px; + font-size: 32px; + font-weight: 400; + color: #ffffff; + line-height: 44px; + } +} +</style> diff --git a/apps/bMiniApp/src/components/Card/Card.vue b/apps/bMiniApp/src/components/Card/Card.vue new file mode 100644 index 0000000..1df0b71 --- /dev/null +++ b/apps/bMiniApp/src/components/Card/Card.vue @@ -0,0 +1,64 @@ +<template> + <div :class="['card-wrapper', { shadow, clickable: isLink }]"> + <slot /> + </div> +</template> + +<script setup lang="ts"> +defineOptions({ + name: 'Card', +}); + +type Props = { + shadow?: boolean; + isLink?: boolean; +}; + +withDefaults(defineProps<Props>(), { + shadow: false, + isLink: false, +}); +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; + +.card-wrapper { + background: #ffffff; + overflow: hidden; + margin-bottom: 24px; + position: relative; + border-radius: 8px; + + &:last-child { + margin-bottom: 0; + } + + &.shadow { + box-shadow: 0px 10px 30px 0px rgba(66, 66, 66, 0.1); + } + + &:active::before { + opacity: 0.1; + } + + &.clickable { + cursor: pointer; + + &::before { + position: absolute; + top: 50%; + left: 50%; + width: 100%; + height: 100%; + background-color: #000; + border: inherit; + border-color: #000; + border-radius: inherit; + transform: translate(-50%, -50%); + opacity: 0; + content: ' '; + } + } +} +</style> diff --git a/apps/bMiniApp/src/components/Card/CommonCard.vue b/apps/bMiniApp/src/components/Card/CommonCard.vue new file mode 100644 index 0000000..6685d1f --- /dev/null +++ b/apps/bMiniApp/src/components/Card/CommonCard.vue @@ -0,0 +1,146 @@ +<template> + <div class="common-card-wrapper"> + <div class="common-card-content"> + <div class="common-card-title-wrapper"> + <div class="common-card-title">{{ title }}</div> + <slot name="title-right"></slot> + </div> + <slot></slot> + </div> + <div class="common-card-footer"> + <slot name="footer"> + <Avatar + @click.stop="goUserHomePage" + class="common-card-footer-avatar" + :size="24" + :src="src ? setOSSLink(src) : ''" + /> + <div class="common-card-footer-name-wrapper"> + <div class="common-card-footer-name">{{ name }}</div> + <template v-if="jobTitle"> + <div class="common-card-footer-dot"></div> + <div class="common-card-footer-jobTitle">{{ jobTitle }}</div> + </template> + <div class="common-card-footer-time">{{ dayjs(time).format('MM-DD HH:mm') }}</div> + </div> + </slot> + </div> + </div> +</template> + +<script setup lang="ts"> +import { commonCardProps } from './cardProps'; +import { Avatar } from '@12333/components'; +import { setOSSLink } from '@12333/utils'; +import dayjs from 'dayjs'; +import Taro from '@tarojs/taro'; + +defineOptions({ + name: 'CommonCard', +}); + +const props = defineProps(commonCardProps); + +function goUserHomePage() { + if (props.userId) { + Taro.navigateTo({ + url: `${RouterPath.userHomePage}?userId=${props.userId}`, + }); + } +} +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; + +.common-card-wrapper { + background: #ffffff; + border-radius: 8px; + padding: 0 28px; + margin-bottom: 24px; + + &:last-child { + margin-bottom: 0; + } + + .common-card-content { + padding: 24px 0; + border-bottom: 1px solid #f6f6f6; + + .common-card-title-wrapper { + display: flex; + align-items: center; + margin-bottom: 24px; + + .common-card-title { + flex: 1; + min-width: 0; + font-weight: 600; + font-size: 32px; + color: boleGetCssVar('text-color', 'primary'); + line-height: 44px; + @include ellipsis; + } + + .nut-button { + height: 44rpx; + font-size: 24rpx; + padding: 0 30rpx; + } + } + } + + .common-card-footer { + padding: 14px 0; + display: flex; + align-items: center; + + .common-card-footer-avatar { + margin-right: 16px; + } + + .common-card-footer-name-wrapper { + color: boleGetCssVar('text-color', 'primary'); + line-height: 34px; + font-size: 0; + display: flex; + align-items: center; + flex: 1; + min-width: 0; + } + + .common-card-footer-name { + font-weight: 400; + font-size: 24px; + vertical-align: middle; + @include ellipsis; + } + + .common-card-footer-dot { + width: 4px; + height: 4px; + background: boleGetCssVar('text-color', 'primary'); + vertical-align: middle; + border-radius: 50%; + margin: 0 8px; + flex-shrink: 0; + } + + .common-card-footer-jobTitle { + font-weight: 400; + font-size: 24px; + vertical-align: middle; + flex-shrink: 0; + } + + .common-card-footer-time { + font-weight: 400; + font-size: 24px; + vertical-align: middle; + color: boleGetCssVar('text-color', 'secondary'); + margin-left: 16px; + flex-shrink: 0; + } + } +} +</style> diff --git a/apps/bMiniApp/src/components/Card/cardProps.ts b/apps/bMiniApp/src/components/Card/cardProps.ts new file mode 100644 index 0000000..6f58c8f --- /dev/null +++ b/apps/bMiniApp/src/components/Card/cardProps.ts @@ -0,0 +1,20 @@ +export const commonCardProps = { + title: { + type: String, + }, + src: { + type: String, + }, + name: { + type: String, + }, + jobTitle: { + type: String, + }, + time: { + type: String, + }, + userId: { + type: String, + }, +}; diff --git a/apps/bMiniApp/src/components/Chunk/Cell.vue b/apps/bMiniApp/src/components/Chunk/Cell.vue new file mode 100644 index 0000000..81a39f9 --- /dev/null +++ b/apps/bMiniApp/src/components/Chunk/Cell.vue @@ -0,0 +1,74 @@ +<template> + <div class="bole-cell-wrapper"> + <div class="cell-title-wrapper"> + <slot name="title"> + <div :class="titleSize === 'normal' ? 'cell-title' : 'cell-title-large'">{{ title }}</div> + <slot name="title-right"></slot> + </slot> + </div> + <slot></slot> + </div> +</template> + +<script setup lang="ts"> +defineOptions({ + name: 'Cell', +}); + +type Props = { + title?: string; + titleSize?: 'large' | 'normal'; +}; + +const props = withDefaults(defineProps<Props>(), { + titleSize: 'normal', +}); +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; + +.bole-cell-wrapper { + background: #ffffff; + border-radius: 8px; + padding: 24px 28px; + margin-bottom: 24px; + + .cell-title-wrapper { + display: flex; + align-items: center; + margin-bottom: 24px; + justify-content: space-between; + + .cell-title { + font-weight: 600; + font-size: 28px; + color: boleGetCssVar('text-color', 'primary'); + line-height: 40px; + position: relative; + z-index: 1; + @include ellipsis; + + &::after { + content: ''; + width: 100%; + height: 16px; + background: linear-gradient(90deg, #cfe4ff 0%, rgba(207, 228, 255, 0) 100%); + border-radius: 8px; + position: absolute; + bottom: 0; + left: 0; + z-index: -1; + } + } + + .cell-title-large { + font-weight: 600; + font-size: 32px; + color: boleGetCssVar('text-color', 'primary'); + line-height: 44px; + @include ellipsis; + } + } +} +</style> diff --git a/apps/bMiniApp/src/components/Chunk/ChunkTitle.vue b/apps/bMiniApp/src/components/Chunk/ChunkTitle.vue new file mode 100644 index 0000000..49d88d5 --- /dev/null +++ b/apps/bMiniApp/src/components/Chunk/ChunkTitle.vue @@ -0,0 +1,43 @@ +<template> + <div class="chunk-title-wrapper"> + <div class="chunk-title-line"></div> + <div class="chunk-title">{{ title }}</div> + </div> +</template> + +<script setup lang="ts"> +defineOptions({ + name: 'ChunkTitle', +}); + +type Props = { + title?: string; +}; + +const props = withDefaults(defineProps<Props>(), {}); +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; + +.chunk-title-wrapper { + padding: 32px 0; + display: flex; + align-items: center; + + .chunk-title-line { + width: 4px; + height: 32px; + background: linear-gradient(90deg, #7198fb 0%, #3a71ff 100%); + border-radius: 2px; + margin-right: 16px; + } + + .chunk-title { + font-weight: 600; + font-size: 28px; + color: boleGetCssVar('text-color', 'primary'); + line-height: 32px; + } +} +</style> diff --git a/apps/bMiniApp/src/components/InfiniteLoading/InfiniteLoading.vue b/apps/bMiniApp/src/components/InfiniteLoading/InfiniteLoading.vue new file mode 100644 index 0000000..92801ab --- /dev/null +++ b/apps/bMiniApp/src/components/InfiniteLoading/InfiniteLoading.vue @@ -0,0 +1,235 @@ +<template> + <scroll-view + :scroll-y="true" + :refresher-background="'transparent'" + :lowerThreshold="100" + @scrolltolower="lower" + :refresherEnabled="refresherEnabled" + :refresherTriggered="state.triggered" + @refresherrefresh="onRefresherRefresh" + :show-scrollbar="false" + :style="scrollViewStyle" + :enable-back-to-top="true" + :class="[scrollViewClassName]" + @scroll="onScroll" + :scroll-top="scrollDistance" + enhanced + :scroll-with-animation="true" + v-bind="{ ...$attrs }" + > + <slot name="header"></slot> + <LoadingLayout :loading="isLoading" :error="isError" :loadError="() => refetch?.()"> + <NoData v-if="hasNoData" /> + <div + :class="['infinite-list-inner', { noShowMoreText: !showMoreText, hasPaddingTop }]" + v-else + > + <slot name="extra" /> + <slot v-if="$slots.default" /> + <template v-else> + <template v-for="(group, index) in listData.pages" :key="index"> + <template v-for="(item, i) in group.data" :key="i"> + <slot + name="renderItem" + :item="item" + :groupIndex="index" + :itemIndex="i" + :index="findDataIndex(item)" + /> + </template> + </template> + </template> + </div> + <div + v-if="!hasNoData && showMoreText && listData?.pages?.length > 0 && !hasMore" + class="loading-more-tips" + > + {{ noMoreText }} + </div> + <div v-if="isFetching && hasMore && enabledLoadingMore" class="infiniting-tips"> + <Loading class="infiniting-tips-icon"></Loading>鏁版嵁鍔犺浇涓�... + </div> + </LoadingLayout> + </scroll-view> + <div class="back-top-wrapper" @click.stop="backToTop" v-show="oldScrollDistance > 100"> + <img class="back-top-img" :src="IconBackTop" /> + <div class="back-top-text">杩斿洖椤堕儴</div> + </div> +</template> + +<script lang="ts" setup generic="T"> +import { VNode, CSSProperties } from 'vue'; +import NoData from '../NoData/NoData.vue'; +import LoadingLayout from '../Layout/LoadingLayout.vue'; +import { FetchNextPageOptions } from '@tanstack/vue-query'; +import { Loading } from '@nutui/icons-vue-taro'; +import { useScrollDistance } from 'senin-mini/hooks'; +import IconBackTop from '@/assets/components/icon-back-top.png'; + +defineOptions({ + name: 'InfiniteLoading', +}); + +type Page = { + data?: T[]; + pageModel?: { + rows?: number; + page?: number; + totalCount?: number; + totalPage?: number; + }; + [key: string]: any; +}; + +type TData = { + pages: Page[]; +}; + +type Props = { + // list?: TData; + listData?: TData; + flattenListData?: T[]; + renderItem?: (item: T, index: number) => VNode; + refresherEnabled?: boolean; + hasMore?: boolean; + isLoading?: boolean; + isError?: boolean; + isFetching?: boolean; + isFetchingNextPage?: boolean; + refetch?: (options?: any) => Promise<any>; + scrollViewStyle?: string | CSSProperties; + scrollViewClassName?: string; + fetchNextPage?: (options?: FetchNextPageOptions) => Promise<any>; + showMoreText?: boolean; + hasPaddingTop?: boolean; + noMoreText?: string; + enabledLoadingMore?: boolean; + customNoData?: boolean; +}; + +const props = withDefaults(defineProps<Props>(), { + renderItem: () => () => null, + refresherEnabled: true, + showMoreText: true, + hasPaddingTop: false, + noMoreText: '娌℃湁鏇村鍐呭浜唦', + enabledLoadingMore: true, + customNoData: undefined, +}); + +const emit = defineEmits<{ + (e: 'refresh', done: () => any): void; + (e: 'loadMore'): void; +}>(); + +const hasNoData = computed(() => { + if (props.customNoData !== undefined) return props.customNoData; + if (props.listData?.pages?.length) { + return props.listData?.pages[0].data.length === 0; + } + return true; +}); + +const state = reactive({ + triggered: false, +}); + +function lower() { + if (props.hasMore && props.enabledLoadingMore) { + props.fetchNextPage?.(); + emit('loadMore'); + } +} + +// eslint-disable-next-line no-unused-vars +async function onRefresherRefresh() { + try { + // 姝e浜庡埛鏂扮姸鎬� + if (state.triggered) return; + state.triggered = true; + + await props.refetch?.(); + + state.triggered = false; + } catch (error) {} +} + +const { onScroll, scrollDistance, oldScrollDistance, setScrollDistance } = useScrollDistance(); + +function backToTop() { + setScrollDistance(0); +} + +const scrollToBottom = (dis = 300) => { + setScrollDistance(scrollDistance.value + dis); +}; + +function findDataIndex(item: T) { + return props.flattenListData?.findIndex((data) => data === item); +} + +defineExpose({ backToTop, scrollToBottom }); +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; + +.loading-more-tips { + color: boleGetCssVar('text-color', 'primary'); + padding: 18px 10px; + width: auto; + font-size: 24px; + text-align: center; +} + +.infinite-list-inner { + // padding: 30px 30px 0; + + &.hasPaddingTop { + padding-top: 20px; + } + + &.noShowMoreText { + padding-bottom: 30px; + } +} + +.infiniting-tips { + color: boleGetCssVar('text-color', 'primary'); + padding: 18px 10px; + width: auto; + font-size: 24px; + display: flex; + align-items: center; + justify-content: center; + + .infiniting-tips-icon { + margin-right: 10px; + } +} + +.back-top-wrapper { + width: 92px; + height: 92px; + background: #ffffff; + box-shadow: 0px 0px 28px 0px rgba(0, 0, 0, 0.18); + position: fixed; + border-radius: 50%; + right: boleGetCssVar('size', 'body-padding-h'); + bottom: 390px; + + .back-top-img { + width: 44px; + height: 44px; + margin: 12px auto 2px; + } + + .back-top-text { + font-weight: 400; + font-size: 16px; + color: boleGetCssVar('text-color', 'regular'); + line-height: 22px; + text-align: center; + } +} +</style> diff --git a/apps/bMiniApp/src/components/Layout/ContentScrollView.vue b/apps/bMiniApp/src/components/Layout/ContentScrollView.vue new file mode 100644 index 0000000..1bb8a3e --- /dev/null +++ b/apps/bMiniApp/src/components/Layout/ContentScrollView.vue @@ -0,0 +1,54 @@ +<template> + <scroll-view class="content-scroll-view-wrapper" :class="{ hasPaddingTop }" :scroll-y="true"> + <ContentView + :class="['content-scroll-view-wrapper-inner', props.allHeight ? 'all-height' : '']" + :paddingH="paddingH" + > + <slot /> + </ContentView> + </scroll-view> +</template> + +<script setup lang="ts"> +import ContentView from './ContentView.vue'; + +defineOptions({ + name: 'ContentScrollView', +}); + +type Props = { + hasPaddingTop?: boolean; + allHeight?: boolean; + paddingH?: boolean; +}; + +const props = withDefaults(defineProps<Props>(), { + hasPaddingTop: false, + allHeight: false, + paddingH: true, +}); +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; + +.content-scroll-view-wrapper { + @include listScrollViewWithNoPadding; + background-color: $body-background-color; + + &.hasPaddingTop { + padding-top: 20px; + } + + .content-scroll-view-wrapper-inner { + @include ScrollViewInner; + + &.all-height { + height: 100%; + padding-bottom: 0; + display: flex; + flex-direction: column; + } + } +} +</style> diff --git a/apps/bMiniApp/src/components/Layout/ContentView.vue b/apps/bMiniApp/src/components/Layout/ContentView.vue new file mode 100644 index 0000000..1ee33b6 --- /dev/null +++ b/apps/bMiniApp/src/components/Layout/ContentView.vue @@ -0,0 +1,29 @@ +<template> + <div :class="['content-view-wrapper', { paddingH }]"> + <slot /> + </div> +</template> + +<script setup lang="ts"> +defineOptions({ + name: 'ContentView', +}); + +type Props = { + paddingH?: boolean; +}; + +const props = withDefaults(defineProps<Props>(), { + paddingH: true, +}); +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; + +.content-view-wrapper { + &.paddingH { + padding: 0 boleGetCssVar('size', 'body-padding-h'); + } +} +</style> diff --git a/apps/bMiniApp/src/components/Layout/LoadingLayout.vue b/apps/bMiniApp/src/components/Layout/LoadingLayout.vue new file mode 100644 index 0000000..0a9d000 --- /dev/null +++ b/apps/bMiniApp/src/components/Layout/LoadingLayout.vue @@ -0,0 +1,58 @@ +<template> + <div v-if="loading" class="loading-layout-loading-content-wrapper"> + <IconFont name="loading" /> + <div class="list-empty-hint-text">鏁版嵁鍔犺浇涓�......</div> + </div> + <nut-empty + v-else-if="error" + class="loading-layout-error-wrapper" + status="error" + description="鍔犺浇澶辫触" + > + <div :style="{ marginTop: '10px' }"> + <nut-button type="primary" @click="loadError"> 閲嶈瘯 </nut-button> + </div> + </nut-empty> + <template v-else> + <NoData v-if="showNoData" /> + <slot v-else></slot> + </template> +</template> + +<script setup lang="ts"> +import { loadingLayoutProps } from './layout'; +import { IconFont } from '@nutui/icons-vue-taro'; +import NoData from '../NoData/NoData.vue'; + +defineOptions({ + name: 'LoadingLayout', +}); + +const props = defineProps(loadingLayoutProps); +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; + +.loading-layout-loading-content-wrapper { + padding: 40px; + display: flex; + justify-content: center; + align-items: center; + + .nut-icon { + color: boleGetCssVar('text-color', 'primary'); + margin-right: 8px; + } + + .list-empty-hint-text { + line-height: 1; + font-size: 30px; + color: boleGetCssVar('text-color', 'primary'); + } +} + +.loading-layout-error-wrapper { + height: 100%; +} +</style> diff --git a/apps/bMiniApp/src/components/Layout/PageLayout.vue b/apps/bMiniApp/src/components/Layout/PageLayout.vue new file mode 100644 index 0000000..474d352 --- /dev/null +++ b/apps/bMiniApp/src/components/Layout/PageLayout.vue @@ -0,0 +1,141 @@ +<template> + <Portal.Host> + <div class="page-layout-wrapper" v-bind="$attrs"> + <slot v-if="showNavigationBar" name="navigationBar"> + <CommonNavigationBar v-bind="_commonNavigationBarProps" /> + </slot> + + <slot name="bg"> + <div + v-if="hasLinearBg" + class="page-layout-linear-bg" + :style="{ + height: Taro.pxTransform(props.linearBgHeight), + }" + ></div> + </slot> + + <div class="page-layout-scroll-view-wrapper" :style="{ height: scrollViewHeight }"> + <slot :scrollViewHeight="scrollViewHeight" v-if="isAuth"></slot> + <!-- <template v-if="isAuth"> + <slot v-if="useView" :scrollViewHeight="scrollViewHeight"></slot> + <scroll-view + v-else + class="page-scrollview" + :scroll-y="true" + :style="{ height: scrollViewHeight }" + > + <slot :scrollViewHeight="scrollViewHeight"></slot> + </scroll-view> + </template> --> + </div> + <div v-if="!pageHeightWithTabBar" class="safe-area-bottom"></div> + </div> + </Portal.Host> +</template> + +<script setup lang="ts"> +// import LoadingLayout from './LoadingLayout.vue'; +// import { loadingLayoutProps } from './layout'; +import CommonNavigationBar from '../NavigationBar/CommonNavigationBar.vue'; +import { commonNavigationBarProps } from '../NavigationBar/commonNavigationBar'; +import { useSystemStore } from '@/stores/modules/system'; +import Taro from '@tarojs/taro'; +import { TabBarPageRouter } from '@/constants'; +import { useAuth } from '@/hooks'; +import { Portal } from 'senin-mini/components'; +import { usePickProps } from 'senin-mini/hooks'; + +defineOptions({ + name: 'PageLayout', + inheritAttrs: false, +}); + +const props = defineProps({ + ...commonNavigationBarProps, + needAuth: { + type: Boolean, + default: true, + }, + useView: { + type: Boolean, + default: false, + }, + hasLinearBg: { + type: Boolean, + default: false, + }, + linearBgHeight: { + type: Number, + default: 388, + }, +}); + +const _commonNavigationBarProps = usePickProps(props, commonNavigationBarProps); + +const { isAuth } = useAuth({ + needAuth: props.needAuth, +}); + +const systemStore = useSystemStore(); +const router = Taro.useRouter(); + +const pageHeightWithTabBar = computed(() => + Object.values(TabBarPageRouter).some((x) => x.toLowerCase() === router.path.toLowerCase()) +); + +const navigationBarHeight = computed( + () => systemStore.info.statusBarHeight + systemStore.navigationBarHeight +); + +const scrollViewHeight = computed(() => { + let pageHeight = pageHeightWithTabBar.value + ? systemStore.pageHeightWithTab + : systemStore.pageHeight; + pageHeight = pageHeight + (props.showNavigationBar ? 0 : navigationBarHeight.value); + return pageHeight + 'px'; +}); + +Taro.getSetting({ + success: function (res) { + if (!res.authSetting['scope.userLocation']) { + Taro.authorize({ + scope: 'scope.userLocation', + }); + } + }, +}); +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; + +.page-layout-wrapper { + // background-color: $body-background-color; + + .page-layout-scroll-view-wrapper { + display: flex; + flex-direction: column; + + .page-scrollview { + box-sizing: border-box; + } + } + + .page-layout-linear-bg { + position: fixed; + z-index: -1; + top: 0; + left: 0; + width: 100%; + background: linear-gradient( + 180deg, + boleGetCssVar('color', 'primary') 0%, + #5a86f6 56%, + #f9f9fb 100% + ); + filter: blur(0px); + border-radius: 0px 0px 20px 20px; + } +} +</style> diff --git a/apps/bMiniApp/src/components/Layout/PageLayoutWithBg.vue b/apps/bMiniApp/src/components/Layout/PageLayoutWithBg.vue new file mode 100644 index 0000000..5456a67 --- /dev/null +++ b/apps/bMiniApp/src/components/Layout/PageLayoutWithBg.vue @@ -0,0 +1,48 @@ +<template> + <PageLayout v-bind="props"> + <template #navigationBar> + <TransparentNavigationBar :title="title" :is-absolute="false"> + <template #left> + <slot name="left"></slot> + </template> + </TransparentNavigationBar> + </template> + <template #bg> + <img :src="OssAssets.common.CommonPageBg" class="common-page-bg" /> + </template> + <template #default> + <slot /> + </template> + </PageLayout> +</template> + +<script setup lang="ts"> +import PageLayout from './PageLayout.vue'; +import TransparentNavigationBar from '../NavigationBar/TransparentNavigationBar.vue'; +import _ from 'lodash'; +import { OssAssets } from '@/constants'; + +defineOptions({ + name: 'PageLayoutWithBg', +}); + +type Props = { + title?: string; +}; + +const props = withDefaults(defineProps<Props>(), {}); +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; + +.common-page-bg { + position: fixed; + z-index: -1; + top: 0; + left: 0; + width: 100%; + height: 516px; + object-fit: cover; +} +</style> diff --git a/apps/bMiniApp/src/components/Layout/layout.ts b/apps/bMiniApp/src/components/Layout/layout.ts new file mode 100644 index 0000000..a43fe7f --- /dev/null +++ b/apps/bMiniApp/src/components/Layout/layout.ts @@ -0,0 +1,19 @@ +import { PropType } from 'vue'; + +export const loadingLayoutProps = { + loading: { + type: Boolean, + }, + error: { + type: Boolean, + }, + showNoData: { + type: Boolean, + }, + loadError: { + type: Function as PropType<(...args: any[]) => any>, + }, + id: { + type: String, + }, +}; diff --git a/apps/bMiniApp/src/components/Menu/Menu.vue b/apps/bMiniApp/src/components/Menu/Menu.vue new file mode 100644 index 0000000..309ad7d --- /dev/null +++ b/apps/bMiniApp/src/components/Menu/Menu.vue @@ -0,0 +1,214 @@ +<template> + <view :class="classes"> + <view + :id="'nut-menu__bar' + refRandomId" + class="nut-menu__bar" + :class="{ opened: opened, around }" + ref="barRef" + > + <template v-for="(item, index) in children" :key="index"> + <view + class="nut-menu__item" + @click="!item.disabled && toggleItem(index)" + :class="{ disabled: item.disabled, active: item.state.showPopup }" + :style="{ color: item.state.showPopup ? activeColor : '' }" + > + <view class="nut-menu__title" :class="getClasses(item.state.showPopup)"> + <view class="nut-menu__title-text">{{ item.renderTitle() }}</view> + <span class="nut-menu__title-icon"> + <slot name="icon"> + <RectUp v-if="direction === 'up'" :size="12" /> + <RectDown v-else :size="12" /> + </slot> + </span> + </view> + </view> + </template> + </view> + <slot></slot> + </view> +</template> +<script lang="ts"> +import Taro, { usePageScroll } from '@tarojs/taro'; +import { RectUp, RectDown } from '@nutui/icons-vue-taro'; +import { useTaroRect } from 'senin-mini/hooks'; +import './menu.scss'; + +const componentName = 'nut-menu'; +export default defineComponent({ + name: 'bl-menu', + components: { + RectDown, + RectUp, + }, + props: { + activeColor: { + type: String, + default: '', + }, + overlay: { + type: Boolean, + default: true as const, + }, + lockScroll: { + type: Boolean, + default: true as const, + }, + duration: { + type: [Number, String], + default: 0.3, + }, + closeOnClickOverlay: { + type: Boolean, + default: true, + }, + direction: { + type: String, + default: 'down', + }, + scrollFixed: { + type: [Boolean, String, Number], + default: false, + }, + titleClass: [String], + around: { + type: Boolean, + default: false, + }, + }, + setup(props) { + const barRef = ref<HTMLElement>(); + const refRandomId = Math.random().toString(36).slice(-8); + const offset = ref(0); + const isScrollFixed = ref(false); + + const useChildren = () => { + const publicChildren: any[] = reactive([]); + const internalChildren: any[] = reactive([]); + + const linkChildren = (value?: any) => { + const link = (child: any) => { + if (child.proxy) { + internalChildren.push(child); + publicChildren.push(child.proxy as any); + } + }; + + const removeLink = (child: any) => { + if (child.proxy) { + let internalIndex = internalChildren.indexOf(child); + if (internalIndex > -1) { + internalChildren.splice(internalIndex, 1); + } + + let publicIndex = publicChildren.indexOf(child.proxy); + if (internalIndex > -1) { + publicChildren.splice(publicIndex, 1); + } + } + }; + + provide( + 'menuParent', + Object.assign( + { + removeLink, + link, + children: publicChildren, + internalChildren, + }, + value + ) + ); + }; + + return { + children: publicChildren, + linkChildren, + }; + }; + + const { children, linkChildren } = useChildren(); + + const opened = computed(() => children.some((item) => item.state.showWrapper)); + + const classes = computed(() => { + const prefixCls = componentName; + return { + [prefixCls]: true, + 'scroll-fixed': isScrollFixed.value, + 'bole-menu-wrapper': true, + }; + }); + + const updateOffset = (children: any) => { + if (barRef.value) { + setTimeout(() => { + useTaroRect(barRef, Taro).then((rect: any) => { + if (props.direction === 'down') { + offset.value = rect.bottom; + } else { + offset.value = Taro.getSystemInfoSync().windowHeight - rect.top; + } + children.toggle(); + }); + }, 100); + } + }; + + linkChildren({ props, offset }); + + const toggleItem = (active: number) => { + children.forEach((item, index) => { + if (index === active) { + updateOffset(item); + } else if (item.state.showPopup) { + item.toggle(false, { immediate: true }); + } + }); + }; + + const onScroll = (res: { scrollTop: number }) => { + const { scrollFixed } = props; + + const scrollTop = res.scrollTop; + + isScrollFixed.value = + scrollTop > (typeof scrollFixed === 'boolean' ? 30 : Number(scrollFixed)); + }; + + const getClasses = (showPopup: boolean) => { + let str = ''; + const { titleClass } = props; + + if (showPopup) { + str += 'active'; + } + + if (titleClass) { + str += ` ${titleClass}`; + } + + return str; + }; + + usePageScroll((res) => { + const { scrollFixed } = props; + + if (scrollFixed) { + onScroll(res); + } + }); + + return { + toggleItem, + children, + opened, + classes, + barRef, + refRandomId, + getClasses, + }; + }, +}); +</script> diff --git a/apps/bMiniApp/src/components/Menu/MenuItem.vue b/apps/bMiniApp/src/components/Menu/MenuItem.vue new file mode 100644 index 0000000..acb4a8d --- /dev/null +++ b/apps/bMiniApp/src/components/Menu/MenuItem.vue @@ -0,0 +1,220 @@ +<template> + <view class="nut-menu-item" v-show="state.showWrapper" :style="style"> + <view + v-show="state.showPopup" + @click="handleClickOutside" + class="nut-menu-item-placeholder-element" + :style="placeholderElementStyle" + :catch-move="parent.props.lockScroll" + > + </view> + <nut-popup + :style="{ position: 'absolute' }" + :overlayStyle="{ position: 'absolute' }" + v-bind="$attrs" + v-model:visible="state.showPopup" + :position="parent.props.direction === 'down' ? 'top' : 'bottom'" + :duration="parent.props.duration" + :destroy-on-close="false" + :overlay="parent.props.overlay" + :lockScroll="parent.props.lockScroll" + @closed="handleClose" + :close-on-click-overlay="parent.props.closeOnClickOverlay" + > + <scroll-view :scroll-y="true"> + <view class="nut-menu-item__content" :class="{ noPadding: !options?.length }"> + <view + v-for="(option, index) in options" + :key="index" + class="nut-menu-item__option" + :class="[{ active: optionIsActive(option) }]" + :style="{ 'flex-basis': 100 / cols + '%' }" + @click="onClick(option)" + > + <span + class="nut-menu-item__span" + v-if="optionIsActive(option)" + :class="[optionIsActive(option) ? activeTitleClass : inactiveTitleClass]" + > + <slot name="icon"> + <Check v-bind="$attrs" :color="parent.props.activeColor"></Check> + </slot> + </span> + <view + :class="[optionIsActive(option) ? activeTitleClass : inactiveTitleClass]" + :style="{ color: optionIsActive(option) ? parent.props.activeColor : '' }" + >{{ option.text }}</view + > + </view> + </view> + <slot></slot> + </scroll-view> + </nut-popup> + </view> +</template> +<script lang="ts"> +import { MenuItemOption } from '@nutui/nutui-taro/dist/types/__VUE/menuitem/type'; +import { Check } from '@nutui/icons-vue-taro'; +import { isArray } from 'lodash'; + +export default defineComponent({ + name: 'bl-menu-item', + props: { + title: String, + options: { + type: Array as PropType<MenuItemOption[]>, + default: () => [] as MenuItemOption[], + }, + disabled: { + type: Boolean, + default: false, + }, + modelValue: { + type: [Array, String, Number], + }, + cols: { + type: Number, + default: 1, + }, + activeTitleClass: String, + inactiveTitleClass: String, + emptyValue: { + type: [String, Number], + default: null, + }, + emptyTitle: { + type: String, + default: '', + }, + enableCancelSelect: { + type: Boolean, + default: true, + }, + multiple: { + type: Boolean, + default: false, + }, + }, + components: { + Check, + }, + emits: ['update:modelValue', 'change', 'closePopup'], + setup(props, { emit }) { + const state = reactive({ + showPopup: false, + showWrapper: false, + }); + + const useParent: any = () => { + const parent = inject('menuParent', null); + if (parent) { + // 鑾峰彇瀛愮粍浠惰嚜宸辩殑瀹炰緥 + const instance = getCurrentInstance()!; + const { link, removeLink } = parent; + // @ts-ignore + link(instance); + onUnmounted(() => { + // @ts-ignore + removeLink(instance); + }); + return { parent }; + } + }; + + const { parent } = useParent(); + + const style = computed(() => { + return parent.props.direction === 'down' + ? { top: parent.offset.value + 'px' } + : { bottom: parent.offset.value + 'px' }; + }); + + const placeholderElementStyle = computed(() => { + const heightStyle = { height: parent.offset.value + 'px' }; + if (parent.props.direction === 'down') { + return { ...heightStyle, top: '0px' }; + } else { + return { ...heightStyle, bottom: '0px' }; + } + }); + + const toggle = (show = !state.showPopup) => { + if (show === state.showPopup) { + return; + } + state.showPopup = show; + if (show) { + state.showWrapper = true; + } + }; + + const renderTitle = () => { + if (props.title) { + return props.title; + } + if (isArray(props.modelValue)) { + const selectedOptions = (props.options ?? []) + .filter((option) => (props.modelValue as any).includes(option.value)) + .map((x) => x.text); + return selectedOptions.length > 0 ? selectedOptions.join(',') : props.emptyTitle; + } + const match: any = props.options?.find((option: any) => option.value === props.modelValue); + return match ? match.text : props.emptyTitle; + }; + + const onClick = (option: MenuItemOption) => { + console.log(1); + + state.showPopup = false; + if (props.multiple) { + const modelValue = props.modelValue as Array<any>; + const val = modelValue.includes(option.value) + ? modelValue.filter((x) => x !== option.value) + : [...modelValue, option.text]; + console.log('val: ', val); + + emit('update:modelValue', val); + emit('change', val); + } else { + if (option.value !== props.modelValue) { + emit('update:modelValue', option.value); + emit('change', option.value); + } else { + if (props.enableCancelSelect) { + emit('update:modelValue', props.emptyValue); + emit('change', props.emptyValue); + } + } + } + }; + + const handleClose = () => { + state.showWrapper = false; + }; + + const handleClickOutside = () => { + state.showPopup = false; + emit('closePopup'); + }; + + function optionIsActive(option: MenuItemOption) { + return isArray(props.modelValue) + ? props.modelValue.includes(option.value) + : option.value === props.modelValue; + } + + return { + style, + placeholderElementStyle, + renderTitle, + state, + parent, + toggle, + onClick, + handleClose, + handleClickOutside, + optionIsActive, + }; + }, +}); +</script> diff --git a/apps/bMiniApp/src/components/Menu/menu.scss b/apps/bMiniApp/src/components/Menu/menu.scss new file mode 100644 index 0000000..ed7a058 --- /dev/null +++ b/apps/bMiniApp/src/components/Menu/menu.scss @@ -0,0 +1,41 @@ +@import '@/styles/common.scss'; +.bole-menu-wrapper { + font-size: 24px !important; + color: boleGetCssVar('text-color', 'primary'); + + .nut-menu__title-icon { + color: #000; + } + + .nut-menu__title.active { + .nut-menu__title-icon { + color: boleGetCssVar('color', 'primary'); + } + } + + &.nut-menu { + .nut-menu__bar { + box-shadow: none; + padding: 0 48rpx; + justify-content: space-between; + .nut-menu__item { + flex: none; + .nut-menu__title-text { + padding-left: 0; + font-size: 24rpx; + color: #000; + } + } + + &.around { + padding: 0 96rpx; + } + } + + .nut-menu-item__content { + &.noPadding { + padding: 0; + } + } + } +} diff --git a/apps/bMiniApp/src/components/NavigationBar/CommonNavigationBar.vue b/apps/bMiniApp/src/components/NavigationBar/CommonNavigationBar.vue new file mode 100644 index 0000000..c2e9a93 --- /dev/null +++ b/apps/bMiniApp/src/components/NavigationBar/CommonNavigationBar.vue @@ -0,0 +1,104 @@ +<template> + <NavBar v-bind="props"> + <div + :class="['common-navigation-bar-wrapper', { dark: props.mode == 'dark' }]" + :style="barStyle" + > + <div + class="menu-btn-wrapper" + v-if="(!isLastPage || !isTabbarPage) && showLeftArrow" + @click="handleBack()" + > + <img class="menu-btn" :src="props.mode == 'dark' ? IconArrowWhite : IconArrow" /> + </div> + <span class="common-navigation-bar-title">{{ title }}</span> + </div> + </NavBar> +</template> + +<script setup lang="ts"> +import NavBar from './NavBar.vue'; +import { commonNavigationBarProps } from './commonNavigationBar'; +import { useSystemStore } from '@/stores/modules/system'; +import { CSSProperties } from 'vue'; +import IconArrow from '@/assets/common/icon-navi-arrow.png'; +import IconArrowWhite from '@/assets/common/icon-navi-arrow-white.png'; +import Taro from '@tarojs/taro'; +import { goBack } from '@/utils'; +import { TabBarPageRouter } from '@/constants'; + +defineOptions({ + name: 'CommonNavigationBar', +}); + +const systemStore = useSystemStore(); + +const props = defineProps(commonNavigationBarProps); + +const router = Taro.useRouter(); + +const isLastPage = computed(() => { + const pages = Taro.getCurrentPages(); + return pages.length <= 1; +}); + +const isTabbarPage = computed(() => + Object.values(TabBarPageRouter).some((x) => x.toLowerCase() === router.path.toLowerCase()) +); + +const barStyle = computed(() => { + const distance = systemStore.menuButtonWidth + systemStore.menuButtonRightDistance + 4; + return { + paddingLeft: `${distance}px`, + paddingRight: `${distance}px`, + + height: systemStore.navigationBarHeight + 'px', + } as CSSProperties; +}); + +function handleBack() { + if (props.backFn) { + props.backFn(); + } else { + goBack(); + } +} +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; + +.common-navigation-bar-wrapper { + width: 100%; + line-height: 1; + font-size: 32px; + color: boleGetCssVar('color', 'title-color'); + min-width: 0; + position: relative; + align-items: center; + display: flex; + justify-content: center; + + .common-navigation-bar-title { + @include ellipsis; + font-weight: 600; + } + + &.dark { + color: #fff; + } + + .menu-btn-wrapper { + padding: 20px; + padding-left: 0; + position: absolute; + left: boleGetCssVar('size', 'body-padding-h'); + // top: -20px; + } + + .menu-btn { + width: 20px; + height: 30px; + } +} +</style> diff --git a/apps/bMiniApp/src/components/NavigationBar/LargeTitleNavigationBar.vue b/apps/bMiniApp/src/components/NavigationBar/LargeTitleNavigationBar.vue new file mode 100644 index 0000000..61451db --- /dev/null +++ b/apps/bMiniApp/src/components/NavigationBar/LargeTitleNavigationBar.vue @@ -0,0 +1,61 @@ +<template> + <NavBar v-bind="props" class="large-title-navigation-bar"> + <div :class="['large-title-navigation-bar-wrapper']" :style="barStyle"> + <slot name="title"> + <span class="large-title-navigation-bar-title">{{ title }}</span> + </slot> + </div> + </NavBar> +</template> + +<script setup lang="ts"> +import NavBar from './NavBar.vue'; +import { commonNavigationBarProps } from './commonNavigationBar'; +import { useSystemStore } from '@/stores/modules/system'; +import { CSSProperties } from 'vue'; +// import Taro from '@tarojs/taro'; + +defineOptions({ + name: 'LargeTitleNavigationBar', +}); + +const systemStore = useSystemStore(); + +const props = defineProps(commonNavigationBarProps); + +const barStyle = computed(() => { + const distance = systemStore.menuButtonWidth + systemStore.menuButtonRightDistance + 4; + return { + // paddingLeft: `${distance}px`, + paddingRight: `${distance}px`, + height: systemStore.navigationBarHeight + 'px', + } as CSSProperties; +}); +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; + +.large-title-navigation-bar { + background-color: transparent; + position: relative; + z-index: 1; +} + +.large-title-navigation-bar-wrapper { + width: 100%; + line-height: 1; + font-size: 40px; + color: #fff; + min-width: 0; + position: relative; + align-items: center; + display: flex; + font-weight: bold; + padding-left: 30px; + + .large-title-navigation-bar-title { + @include ellipsis; + } +} +</style> diff --git a/apps/bMiniApp/src/components/NavigationBar/NavBar.vue b/apps/bMiniApp/src/components/NavigationBar/NavBar.vue new file mode 100644 index 0000000..23138fb --- /dev/null +++ b/apps/bMiniApp/src/components/NavigationBar/NavBar.vue @@ -0,0 +1,58 @@ +<template> + <div + :class="[ + 'navigation-bar-wrapper', + { active: props.mode === 'dark', plain: props.plain, hasBorder: props.hasBorder }, + ]" + :style="barStyle" + > + <slot></slot> + </div> +</template> + +<script setup lang="ts"> +import { CSSProperties } from 'vue'; +import { useSystemStore } from '@/stores/modules/system'; +import { navigationBarProps } from './navBar'; + +defineOptions({ + name: 'NavBar', +}); + +const props = defineProps(navigationBarProps); + +const systemStore = useSystemStore(); + +const barStyle = computed( + () => + ({ + paddingTop: systemStore.info.statusBarHeight + 'px', + // height: systemStore.navigationBarHeight + 'px', + } as CSSProperties) +); +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; + +.navigation-bar-wrapper { + background-color: #fff; + display: flex; + position: relative; + // box-shadow: 0px 1px 7px 0px rgb(237, 238, 241); + z-index: 10; + + &.plain { + border-bottom-left-radius: 20px; + border-bottom-right-radius: 20px; + } + + &.active { + background-color: boleGetCssVar('color', 'primary'); + } + + &.hasBorder { + border-bottom: 1px solid #f6f6f6; + } +} +</style> diff --git a/apps/bMiniApp/src/components/NavigationBar/TransparentNavigationBar.vue b/apps/bMiniApp/src/components/NavigationBar/TransparentNavigationBar.vue new file mode 100644 index 0000000..5ffc2e8 --- /dev/null +++ b/apps/bMiniApp/src/components/NavigationBar/TransparentNavigationBar.vue @@ -0,0 +1,77 @@ +<template> + <NavBar v-bind="props" dark class="transparent-navigation-bar" :style="wrapperStyle"> + <div :class="['common-navigation-bar-wrapper', { dark: mode == 'dark' }]" :style="barStyle"> + <slot name="left"> + <div + class="menu-btn-wrapper" + v-if="(!isLastPage || !isTabbarPage) && showLeftArrow" + @click="goBack()" + > + <img v-if="props.navigationArrowWhite" class="menu-btn" :src="IconArrowWhite" /> + <img v-else class="menu-btn" :src="IconArrow" /> + </div> + </slot> + <span class="common-navigation-bar-title">{{ title }}</span> + </div> + </NavBar> +</template> + +<script setup lang="ts"> +import NavBar from './NavBar.vue'; +import { commonNavigationBarProps } from './commonNavigationBar'; +import { useSystemStore } from '@/stores/modules/system'; +import { CSSProperties } from 'vue'; +import IconArrow from '@/assets/common/icon-navi-arrow.png'; +import IconArrowWhite from '@/assets/common/icon-navi-arrow-white.png'; +import Taro from '@tarojs/taro'; +import { goBack } from '@/utils'; +import { TabBarPageRouter } from '@/constants'; + +defineOptions({ + name: 'TransparentNavigationBar', +}); + +const systemStore = useSystemStore(); + +const props = defineProps(commonNavigationBarProps); + +const router = Taro.useRouter(); + +const isLastPage = computed(() => { + const pages = Taro.getCurrentPages(); + return pages.length <= 1; +}); + +const isTabbarPage = computed(() => + Object.values(TabBarPageRouter).some((x) => x.toLowerCase() === router.path.toLowerCase()) +); + +const barStyle = computed(() => { + const distance = systemStore.menuButtonWidth + systemStore.menuButtonRightDistance + 4; + return { + paddingLeft: `${distance}px`, + paddingRight: `${distance}px`, + height: systemStore.navigationBarHeight + 'px', + } as CSSProperties; +}); + +const wrapperStyle = computed(() => { + return props.isAbsolute + ? ({ + position: 'absolute', + } as CSSProperties) + : {}; +}); +</script> + +<style lang="scss"> +.transparent-navigation-bar.navigation-bar-wrapper { + background-color: transparent; + /* position: absolute; */ + width: 100%; + + .common-navigation-bar-title { + height: 36px; + } +} +</style> diff --git a/apps/bMiniApp/src/components/NavigationBar/commonNavigationBar.ts b/apps/bMiniApp/src/components/NavigationBar/commonNavigationBar.ts new file mode 100644 index 0000000..8c8be8d --- /dev/null +++ b/apps/bMiniApp/src/components/NavigationBar/commonNavigationBar.ts @@ -0,0 +1,28 @@ +import { navigationBarProps } from './navBar'; + +export const commonNavigationBarProps = { + title: { + type: String, + default: '', + }, + showLeftArrow: { + type: Boolean, + default: true, + }, + showNavigationBar: { + type: Boolean, + default: true, + }, + navigationArrowWhite: { + type: Boolean, + default: false, + }, + isAbsolute: { + type: Boolean, + default: true, + }, + backFn: { + type: Function, + }, + ...navigationBarProps, +}; diff --git a/apps/bMiniApp/src/components/NavigationBar/navBar.ts b/apps/bMiniApp/src/components/NavigationBar/navBar.ts new file mode 100644 index 0000000..2069e68 --- /dev/null +++ b/apps/bMiniApp/src/components/NavigationBar/navBar.ts @@ -0,0 +1,14 @@ +export const navigationBarProps = { + mode: { + type: String as PropType<'light' | 'dark'>, + default: 'light', + }, + plain: { + type: Boolean, + default: false, + }, + hasBorder: { + type: Boolean, + default: false, + }, +}; diff --git a/apps/bMiniApp/src/components/NoData/NoData.vue b/apps/bMiniApp/src/components/NoData/NoData.vue new file mode 100644 index 0000000..4e3cb23 --- /dev/null +++ b/apps/bMiniApp/src/components/NoData/NoData.vue @@ -0,0 +1,44 @@ +<template> + <div class="no-data-wrapper"> + <img class="no-data-img" :src="NoDataImage" alt="" /> + <span class="no-data-text">鏆傛棤鏁版嵁</span> + </div> +</template> + +<script lang="ts"> +import { defineComponent } from 'vue'; + +import { NoDataImage } from '@12333/constants'; + +export default defineComponent({ + name: 'NoData', + + setup() { + return { + NoDataImage, + }; + }, +}); +</script> + +<style lang="scss"> +.no-data-wrapper { + display: flex; + width: 100%; + height: 100%; + justify-content: center; + align-items: center; + flex-direction: column; + + .no-data-img { + width: 284px; + height: 202px; + } + + .no-data-text { + font-size: 20px; + color: #333333; + line-height: 2.4; + } +} +</style> diff --git a/apps/bMiniApp/src/components/PageFooter/PageFooter.vue b/apps/bMiniApp/src/components/PageFooter/PageFooter.vue new file mode 100644 index 0000000..e10f059 --- /dev/null +++ b/apps/bMiniApp/src/components/PageFooter/PageFooter.vue @@ -0,0 +1,177 @@ +<template> + <div :class="['page-footer', { isOnlyAction }]"> + <div class="page-footer-inner"> + <slot></slot> + </div> + </div> +</template> + +<script setup lang="ts"> +defineOptions({ + name: 'PageFooter', +}); + +type Props = { + isOnlyAction?: boolean; +}; + +const props = withDefaults(defineProps<Props>(), { + isOnlyAction: true, +}); +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; + +.page-footer { + /* height: 112px; */ + background-color: #fff; + // position: fixed; + // bottom: 0; + width: 100%; + display: flex; + box-shadow: $base-footer-box-shadow; + position: relative; + z-index: 1; + + // padding-bottom: constant(safe-area-inset-bottom); + // padding-bottom: env(safe-area-inset-bottom); + + // z-index: 10000; + + &::after { + content: ''; + position: absolute; + left: 0; + right: 0; + bottom: 0; + transform: translateY(100%); + padding-bottom: constant(safe-area-inset-bottom); + padding-bottom: env(safe-area-inset-bottom); + background-color: #fff; + } + + .page-footer-inner { + padding: 24px 0; + width: 100%; + display: flex; + box-sizing: border-box; + align-items: center; + } + + &.isOnlyAction { + .page-footer-inner { + padding: 16px 0; + align-items: flex-start; + } + } + + .is-button-footer { + display: flex; + width: 100%; + height: 100%; + padding: 25px 30px; + box-sizing: border-box; + + .common-page-footer-btn-group { + margin: 0 -12rpx; + display: flex; + width: calc(100% + 24rpx); + } + + .nut-button { + flex: 1; + margin: 0 12rpx; + height: 100%; + font-size: 32rpx; + border-radius: 10rpx; + border: none; + font-weight: 400; + + &.cancel-btn { + color: boleGetCssVar('text-color', 'primary') !important; + } + + &.confirm-btn { + box-shadow: 0px 3px 7px 0px rgba(240, 67, 73, 0.35); + } + } + } + + .common-page-footer { + display: flex; + width: 100%; + height: 100%; + align-items: center; + + .common-page-footer-actions { + flex: 1; + display: flex; + justify-content: space-around; + min-width: 0; + padding-right: 20px; + + .common-page-footer-action { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + + .common-page-footer-action-icon { + width: 35px; + height: 35px; + margin-bottom: 14px; + } + + .common-page-footer-action-text { + line-height: 1; + font-size: 22px; + color: #1b232f; + } + } + } + + .common-page-footer-btn-group { + display: flex; + margin: 0 -20rpx; + width: auto; + + .nut-button { + margin: 0 20rpx; + } + + &.small { + margin: 0 -12rpx; + + .nut-button { + margin: 0 12rpx; + } + } + + .one-btn { + width: 364px; + font-size: 26px; + border-radius: 36px; + } + } + + .common-page-footer-btn-badge { + z-index: 10; + } + + .common-page-footer-btn { + width: 200px; + height: 80px; + border-radius: 10px; + min-width: 0; + font-size: 32px; + flex: none; + } + + .contact-btn { + margin: 0; + margin-left: 20px; + } + } +} +</style> diff --git a/apps/bMiniApp/src/components/PageFooter/PageFooterAction.vue b/apps/bMiniApp/src/components/PageFooter/PageFooterAction.vue new file mode 100644 index 0000000..7b5f1df --- /dev/null +++ b/apps/bMiniApp/src/components/PageFooter/PageFooterAction.vue @@ -0,0 +1,67 @@ +<template> + <button :class="['page-footer-action', { isFlex }]"> + <img :src="icon" class="page-footer-action-icon" /> + <div class="page-footer-action-text">{{ text }}</div> + </button> +</template> + +<script setup lang="ts"> +defineOptions({ + name: 'PageFooterAction', +}); + +type Props = { + isFlex?: boolean; + icon?: string; + text?: string; +}; + +const props = withDefaults(defineProps<Props>(), { + isFlex: true, +}); +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; + +.page-footer-action { + display: flex; + flex-direction: column; + align-items: center; + background-color: transparent; + border-radius: 0; + outline: none; + border: none; + padding: 0; + appearance: none; + user-select: none; + margin: 0 28px; + + &::after { + display: none; + } + + &.isFlex { + flex: 1; + min-width: 0; + margin: 0; + + & + .page-footer-action.isFlex { + border-left: 1px solid #ebebeb; + } + } + + .page-footer-action-icon { + width: 40px; + height: 40px; + margin-bottom: 4px; + } + + .page-footer-action-text { + font-weight: 400; + font-size: 24px; + color: boleGetCssVar('text-color', 'regular'); + line-height: 34px; + } +} +</style> diff --git a/apps/bMiniApp/src/components/PageFooter/PageFooterBtn.vue b/apps/bMiniApp/src/components/PageFooter/PageFooterBtn.vue new file mode 100644 index 0000000..204c530 --- /dev/null +++ b/apps/bMiniApp/src/components/PageFooter/PageFooterBtn.vue @@ -0,0 +1,34 @@ +<template> + <nut-button class="page-footer-btn"> + <slot></slot> + </nut-button> +</template> + +<script setup lang="ts"> +defineOptions({ + name: 'PageFooterBtn', +}); + +// type Props = { +// text; +// }; + +// const props = withDefaults(defineProps<Props>(), {}); +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; + +.page-footer-btn { + flex: 1; + min-width: 0; + height: 88px; + font-size: 32px; + margin: 0 28px; + border-radius: 44px; + + &.nut-button--plain { + border-width: 1px; + } +} +</style> diff --git a/apps/bMiniApp/src/components/Policy/Policy.vue b/apps/bMiniApp/src/components/Policy/Policy.vue new file mode 100644 index 0000000..debe20f --- /dev/null +++ b/apps/bMiniApp/src/components/Policy/Policy.vue @@ -0,0 +1,89 @@ +<template> + <div class="policy-wrapper"> + <nut-radio-group v-model="innerModelValue"> + <BlRadio :label="true"> + <div class="policy-content"> + {{ props.policyBtnText }} + <div class="policy-content-btn" @click.stop="goPolicy">銆婄敤鎴峰崗璁拰闅愮鏀跨瓥銆�</div> + </div> + </BlRadio> + </nut-radio-group> + </div> +</template> + +<script setup lang="ts"> +import { Radio as BlRadio } from '@12333/components'; +import Taro from '@tarojs/taro'; + +defineOptions({ + name: 'Policy', +}); + +const props = defineProps<{ + modelValue: boolean; + policyBtnText?: string; +}>(); + +const emit = defineEmits<{ + (e: 'update:modelValue', value: boolean): void; +}>(); + +const innerModelValue = computed({ + get() { + return props.modelValue; + }, + set(val) { + emit('update:modelValue', val); + }, +}); + +function goPolicy() { + Taro.navigateTo({ + url: RouterPath.userPolicy, + }); +} +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; + +.policy-wrapper { + text-align: center; + padding: 0 64px; + + .nut-radio-group { + vertical-align: middle; + + .nutui-iconfont { + font-size: 12px; + height: 16px !important; + width: 16px !important; + } + + .bl-radio { + align-items: flex-start; + } + + .nut-radio__icon--unchecked { + color: boleGetCssVar('text-color', 'secondary'); + } + } + + .nut-radio__label { + margin-left: 2px; + } + + .policy-content { + font-size: 24px; + color: boleGetCssVar('text-color', 'secondary'); + line-height: 30px; + text-align: left; + word-break: break-all; + + .policy-content-btn { + color: boleGetCssVar('color', 'primary'); + display: inline; + } + } +} +</style> diff --git a/apps/bMiniApp/src/components/RichEditCard/RichContent.vue b/apps/bMiniApp/src/components/RichEditCard/RichContent.vue new file mode 100644 index 0000000..ac9f4b2 --- /dev/null +++ b/apps/bMiniApp/src/components/RichEditCard/RichContent.vue @@ -0,0 +1,46 @@ +<template> + <div :class="['rich-edit-content', size]"> + <template v-for="(item, index) in content" :key="index"> + <AutoWidthImage + v-if="item.type === EditorType.Image" + wrapperClassName="rich-content-item rich-content-image-item" + :src="setOSSLink(item.path)" + /> + <Video + v-else-if="item.type === EditorType.Video" + class="rich-content-item rich-content-video-item" + :src="setOSSLink(item.path)" + ></Video> + <RichEditorContent + v-else-if="item.type === EditorType.Rich || item.type === EditorType.WXContent" + :content="item.content" + ></RichEditorContent> + <div v-else class="rich-content-item rich-content-text-item"> + {{ item.content }} + </div> + </template> + </div> +</template> + +<script setup lang="ts"> +import { AutoWidthImage } from '@12333/components'; +import { EditorType } from '@12333/constants'; +import { setOSSLink } from '@12333/utils'; +import { Video } from '@tarojs/components'; +import RichEditorContent from '../RichEditor/RichEditorContent.vue'; +// import {} from '@nutui/nutui-taro/dist/packages/video' + +defineOptions({ + name: 'RichContent', +}); + +type Props = { + content?: API.IntroInfo[]; + size?: 'small' | 'default' | 'large'; +}; + +const props = withDefaults(defineProps<Props>(), { + content: () => [], + size: 'default', +}); +</script> diff --git a/apps/bMiniApp/src/components/RichEditCard/RichEditCard.vue b/apps/bMiniApp/src/components/RichEditCard/RichEditCard.vue new file mode 100644 index 0000000..cba993b --- /dev/null +++ b/apps/bMiniApp/src/components/RichEditCard/RichEditCard.vue @@ -0,0 +1,137 @@ +<template> + <Card class="rich-edit-card"> + <div class="rich-edit-card-title">{{ title }}</div> + <slot> + <RichContent v-if="content.length > 0" :content="content" /> + <div class="rich-edit-card-add-wrapper" @click="handleClick"> + <img :src="AddIcon" class="rich-edit-card-add-icon" /> + <div class="rich-edit-card-add-text">鍙坊鍔犲浘鏂囦粙缁�</div> + <div class="rich-edit-card-add-danger">鍘荤紪杈�</div> + </div> + </slot> + </Card> +</template> + +<script setup lang="ts"> +import Card from '../Card/Card.vue'; +import AddIcon from '@/assets/components/rich-card/icon-add.png'; +import Taro from '@tarojs/taro'; +import RichContent from './RichContent.vue'; +import { EmptyTextEditorItem } from '@12333/constants'; + +defineOptions({ + name: 'RichEditCard', +}); + +type Props = { + title?: string; + content?: API.IntroInfo[]; +}; + +const props = withDefaults(defineProps<Props>(), { + content: () => [], +}); + +const emit = defineEmits<{ + (e: 'update:content', content: Props['content']): void; +}>(); + +function handleClick() { + Taro.navigateTo({ + url: RouterPath.editRichContent, + events: { + addRichContent: function (data: { content: API.IntroInfo[] }) { + console.log('EditRichContent onChange', data.content); + emit( + 'update:content', + data.content.length > 0 ? data.content : [{ ...EmptyTextEditorItem }] + ); + }, + }, + success: function (res) { + res.eventChannel.emit('acceptRichContent', { content: props.content }); + }, + }); +} +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; + +.rich-edit-card { + padding: 28px 32px; + + .rich-edit-card-title { + margin-bottom: 20px; + font-size: 28px; + color: boleGetCssVar('text-color', 'primary'); + // font-weight: bold; + } + + .rich-edit-card-add-wrapper { + margin-top: 32px; + display: flex; + justify-content: center; + align-items: center; + + .rich-edit-card-add-icon { + width: 20px; + height: 20px; + margin-right: 10px; + } + + .rich-edit-card-add-text, + .rich-edit-card-add-danger { + line-height: 1; + font-size: 26px; + } + + .rich-edit-card-add-text { + color: #8c8c8c; + margin-right: 6px; + } + + .rich-edit-card-add-danger { + color: boleGetCssVar('color', 'primary'); + } + } + + .nut-textarea { + padding: 0; + } +} + +.rich-edit-content { + .rich-content-item { + margin-bottom: 10px; + + &:last-child { + margin-bottom: 0; + } + } + + .rich-content-image-item { + display: block; + } + + .rich-content-text-item { + word-break: break-all; + white-space: pre-line; + font-size: 30px; + line-height: 50px; + color: boleGetCssVar('text-color', 'primary'); + } + + .rich-content-video-item { + width: 100%; + height: 300px; + } + + &.small { + .rich-content-text-item { + font-size: 24px; + line-height: 36px; + } + } +} +</style> diff --git a/apps/bMiniApp/src/components/RichEditor/RichEditorContent.vue b/apps/bMiniApp/src/components/RichEditor/RichEditorContent.vue new file mode 100644 index 0000000..32ca067 --- /dev/null +++ b/apps/bMiniApp/src/components/RichEditor/RichEditorContent.vue @@ -0,0 +1,59 @@ +<template> + <div class="rich-text-wrapper"> + <rich-text :nodes="_content" style="word-wrap: break-word"></rich-text> + </div> +</template> + +<script setup lang="ts"> +defineOptions({ + name: 'RichEditorContent', +}); + +type Props = { + content: string; +}; + +const _content = computed(() => + props.content.replace(/<img[^>]*>/g, (match) => { + let str = match.replace(`width=""`, '').replace(`height=""`, '').replace(`style=""`, ''); + + if (/style="/.test(str)) { + str = str.replace('style="', 'style="max-width: 100%; '); + } else { + str = str.replace('<img', '<img style="max-width: 100%;" '); + } + + return str; + }) +); + +const props = withDefaults(defineProps<Props>(), {}); +</script> + +<!-- <style> +@import './style.css'; +</style> --> + +<style lang="scss"> +@import '@/styles/common.scss'; + +.rich-text-wrapper { + overflow-x: hidden; + color: boleGetCssVar('text-color', 'primary'); + font-size: 28px; + + rich-text { + overflow-x: hidden; + word-wrap: break-word; + white-space: normal; + } + + /* .h5-img, + img { + max-width: 100%; + min-height: 20px; + min-width: 20px; + display: inline !important; + } */ +} +</style> diff --git a/apps/bMiniApp/src/components/RichEditor/style.css b/apps/bMiniApp/src/components/RichEditor/style.css new file mode 100644 index 0000000..52c28c1 --- /dev/null +++ b/apps/bMiniApp/src/components/RichEditor/style.css @@ -0,0 +1,715 @@ +:host, +:root { + --w-e-textarea-bg-color: #fff; + --w-e-textarea-color: #333; + --w-e-textarea-border-color: #ccc; + --w-e-textarea-slight-border-color: #e8e8e8; + --w-e-textarea-slight-color: #d4d4d4; + --w-e-textarea-slight-bg-color: #f5f2f0; + --w-e-textarea-selected-border-color: #b4d5ff; + --w-e-textarea-handler-bg-color: #4290f7; + --w-e-toolbar-color: #595959; + --w-e-toolbar-bg-color: #fff; + --w-e-toolbar-active-color: #333; + --w-e-toolbar-active-bg-color: #f1f1f1; + --w-e-toolbar-disabled-color: #999; + --w-e-toolbar-border-color: #e8e8e8; + --w-e-modal-button-bg-color: #fafafa; + --w-e-modal-button-border-color: #d9d9d9; +} +.w-e-text-container *, +.w-e-toolbar * { + box-sizing: border-box; + margin: 0; + outline: none; + padding: 0; +} +.w-e-text-container blockquote, +.w-e-text-container li, +.w-e-text-container p, +.w-e-text-container td, +.w-e-text-container th, +.w-e-toolbar * { + line-height: 1.5; +} +.w-e-text-container { + background-color: var(--w-e-textarea-bg-color); + color: var(--w-e-textarea-color); + height: 100%; + position: relative; +} +.no-scroll { + width: 100%; +} +.w-e-text-container .w-e-scroll { + -webkit-overflow-scrolling: touch; + height: 100%; +} +.w-e-text-container [data-slate-editor] { + word-wrap: break-word; + border-top: 1px solid transparent; + min-height: 100%; + outline: 0; + padding: 0 10px; + white-space: pre-wrap; +} +.w-e-text-container [data-slate-editor] p { + margin: 15px 0; +} +.w-e-text-container [data-slate-editor] h1, +.w-e-text-container [data-slate-editor] h2, +.w-e-text-container [data-slate-editor] h3, +.w-e-text-container [data-slate-editor] h4, +.w-e-text-container [data-slate-editor] h5 { + margin: 20px 0; +} +.w-e-text-container img { + cursor: default; + display: inline !important; + max-width: 100%; + min-height: 20px; + min-width: 20px; +} +.w-e-text-container [data-slate-editor] span { + text-indent: 0; +} +.w-e-text-container [data-slate-editor] [data-selected='true'] { + box-shadow: 0 0 0 2px var(--w-e-textarea-selected-border-color); +} +.w-e-text-placeholder { + font-style: italic; + left: 10px; + top: 17px; + width: 90%; +} +.w-e-max-length-info, +.w-e-text-placeholder { + color: var(--w-e-textarea-slight-color); + pointer-events: none; + position: absolute; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; +} +.w-e-max-length-info { + bottom: 0.5em; + right: 1em; +} +.w-e-bar { + background-color: var(--w-e-toolbar-bg-color); + color: var(--w-e-toolbar-color); + font-size: 14px; + padding: 0 5px; +} +.w-e-bar svg { + fill: var(--w-e-toolbar-color); + height: 14px; + width: 14px; +} +.w-e-bar-show { + display: flex; +} +.w-e-bar-hidden { + display: none; +} +.w-e-hover-bar { + border: 1px solid var(--w-e-toolbar-border-color); + border-radius: 3px; + box-shadow: 0 2px 5px #0000001f; + position: absolute; +} +.w-e-toolbar { + flex-wrap: wrap; + position: relative; +} +.w-e-bar-divider { + background-color: var(--w-e-toolbar-border-color); + display: inline-flex; + height: 40px; + margin: 0 5px; + width: 1px; +} +.w-e-bar-item { + display: flex; + height: 40px; + padding: 4px; + position: relative; + text-align: center; +} +.w-e-bar-item, +.w-e-bar-item button { + align-items: center; + justify-content: center; +} +.w-e-bar-item button { + background: transparent; + border: none; + color: var(--w-e-toolbar-color); + cursor: pointer; + display: inline-flex; + height: 32px; + overflow: hidden; + padding: 0 8px; + white-space: nowrap; +} +.w-e-bar-item button:hover { + background-color: var(--w-e-toolbar-active-bg-color); + color: var(--w-e-toolbar-active-color); +} +.w-e-bar-item button .title { + margin-left: 5px; +} +.w-e-bar-item .active { + background-color: var(--w-e-toolbar-active-bg-color); + color: var(--w-e-toolbar-active-color); +} +.w-e-bar-item .disabled { + color: var(--w-e-toolbar-disabled-color); + cursor: not-allowed; +} +.w-e-bar-item .disabled svg { + fill: var(--w-e-toolbar-disabled-color); +} +.w-e-bar-item .disabled:hover { + background-color: var(--w-e-toolbar-bg-color); + color: var(--w-e-toolbar-disabled-color); +} +.w-e-bar-item .disabled:hover svg { + fill: var(--w-e-toolbar-disabled-color); +} +.w-e-menu-tooltip-v5:before { + background-color: var(--w-e-toolbar-active-color); + border-radius: 5px; + color: var(--w-e-toolbar-bg-color); + content: attr(data-tooltip); + font-size: 0.75em; + padding: 5px 10px; + text-align: center; + top: 40px; + white-space: pre; + z-index: 1; +} +.w-e-menu-tooltip-v5:after, +.w-e-menu-tooltip-v5:before { + opacity: 0; + position: absolute; + transition: opacity 0.6s; + visibility: hidden; +} +.w-e-menu-tooltip-v5:after { + border: 5px solid transparent; + border-bottom: 5px solid var(--w-e-toolbar-active-color); + content: ''; + top: 30px; +} +.w-e-menu-tooltip-v5:hover:after, +.w-e-menu-tooltip-v5:hover:before { + opacity: 1; + visibility: visible; +} +.w-e-menu-tooltip-v5.tooltip-right:before { + left: 100%; + top: 10px; +} +.w-e-menu-tooltip-v5.tooltip-right:after { + border-bottom-color: transparent; + border-left-color: transparent; + border-right-color: var(--w-e-toolbar-active-color); + border-top-color: transparent; + left: 100%; + margin-left: -10px; + top: 16px; +} +.w-e-bar-item-group .w-e-bar-item-menus-container { + background-color: var(--w-e-toolbar-bg-color); + border: 1px solid var(--w-e-toolbar-border-color); + border-radius: 3px; + box-shadow: 0 2px 10px #0000001f; + display: none; + left: 0; + margin-top: 40px; + position: absolute; + top: 0; + z-index: 1; +} +.w-e-bar-item-group:hover .w-e-bar-item-menus-container { + display: block; +} +.w-e-select-list { + background-color: var(--w-e-toolbar-bg-color); + border: 1px solid var(--w-e-toolbar-border-color); + border-radius: 3px; + box-shadow: 0 2px 10px #0000001f; + left: 0; + margin-top: 40px; + max-height: 350px; + min-width: 100px; + overflow-y: auto; + position: absolute; + top: 0; + z-index: 1; +} +.w-e-select-list ul { + line-height: 1; + list-style: none; +} +.w-e-select-list ul .selected { + background-color: var(--w-e-toolbar-active-bg-color); +} +.w-e-select-list ul li { + cursor: pointer; + padding: 7px 0 7px 25px; + position: relative; + text-align: left; + white-space: nowrap; +} +.w-e-select-list ul li:hover { + background-color: var(--w-e-toolbar-active-bg-color); +} +.w-e-select-list ul li svg { + left: 0; + margin-left: 5px; + margin-top: -7px; + position: absolute; + top: 50%; +} +.w-e-bar-bottom .w-e-select-list { + bottom: 0; + margin-bottom: 40px; + margin-top: 0; + top: inherit; +} +.w-e-drop-panel { + background-color: var(--w-e-toolbar-bg-color); + border: 1px solid var(--w-e-toolbar-border-color); + border-radius: 3px; + box-shadow: 0 2px 10px #0000001f; + margin-top: 40px; + min-width: 200px; + padding: 10px; + position: absolute; + top: 0; + z-index: 1; +} +.w-e-bar-bottom .w-e-drop-panel { + bottom: 0; + margin-bottom: 40px; + margin-top: 0; + top: inherit; +} +.w-e-modal { + background-color: var(--w-e-toolbar-bg-color); + border: 1px solid var(--w-e-toolbar-border-color); + border-radius: 3px; + box-shadow: 0 2px 10px #0000001f; + color: var(--w-e-toolbar-color); + font-size: 14px; + min-height: 40px; + min-width: 100px; + padding: 20px 15px 0; + position: absolute; + text-align: left; + z-index: 1; +} +.w-e-modal .btn-close { + cursor: pointer; + line-height: 1; + padding: 5px; + position: absolute; + right: 8px; + top: 7px; +} +.w-e-modal .btn-close svg { + fill: var(--w-e-toolbar-color); + height: 10px; + width: 10px; +} +.w-e-modal .babel-container { + display: block; + margin-bottom: 15px; +} +.w-e-modal .babel-container span { + display: block; + margin-bottom: 10px; +} +.w-e-modal .button-container { + margin-bottom: 15px; +} +.w-e-modal button { + background-color: var(--w-e-modal-button-bg-color); + cursor: pointer; + font-weight: 400; + height: 32px; + padding: 4.5px 15px; + text-align: center; + touch-action: manipulation; + transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + white-space: nowrap; +} +.w-e-modal button, +.w-e-modal input[type='number'], +.w-e-modal input[type='text'], +.w-e-modal textarea { + border: 1px solid var(--w-e-modal-button-border-color); + border-radius: 4px; + color: var(--w-e-toolbar-color); +} +.w-e-modal input[type='number'], +.w-e-modal input[type='text'], +.w-e-modal textarea { + font-feature-settings: 'tnum'; + background-color: var(--w-e-toolbar-bg-color); + font-variant: tabular-nums; + padding: 4.5px 11px; + transition: all 0.3s; + width: 100%; +} +.w-e-modal textarea { + min-height: 60px; +} +body .w-e-modal, +body .w-e-modal * { + box-sizing: border-box; +} +.w-e-progress-bar { + background-color: var(--w-e-textarea-handler-bg-color); + height: 1px; + position: absolute; + transition: width 0.3s; + width: 0; +} +.w-e-full-screen-container { + bottom: 0 !important; + display: flex !important; + flex-direction: column !important; + height: 100% !important; + left: 0 !important; + margin: 0 !important; + padding: 0 !important; + position: fixed; + right: 0 !important; + top: 0 !important; + width: 100% !important; +} +.w-e-full-screen-container [data-w-e-textarea='true'] { + flex: 1 !important; +} +.w-e-text-container [data-slate-editor] code { + background-color: var(--w-e-textarea-slight-bg-color); + border-radius: 3px; + font-family: monospace; + padding: 3px; +} +.w-e-panel-content-color { + list-style: none; + text-align: left; + width: 230px; +} +.w-e-panel-content-color li { + border: 1px solid var(--w-e-toolbar-bg-color); + border-radius: 3px 3px; + cursor: pointer; + display: inline-block; + padding: 2px; +} +.w-e-panel-content-color li:hover { + border-color: var(--w-e-toolbar-color); +} +.w-e-panel-content-color li .color-block { + border: 1px solid var(--w-e-toolbar-border-color); + border-radius: 3px 3px; + height: 17px; + width: 17px; +} +.w-e-panel-content-color .active { + border-color: var(--w-e-toolbar-color); +} +.w-e-panel-content-color .clear { + line-height: 1.5; + margin-bottom: 5px; + width: 100%; +} +.w-e-panel-content-color .clear svg { + height: 16px; + margin-bottom: -4px; + width: 16px; +} +.w-e-text-container [data-slate-editor] blockquote { + background-color: var(--w-e-textarea-slight-bg-color); + border-left: 8px solid var(--w-e-textarea-selected-border-color); + display: block; + font-size: 100%; + line-height: 1.5; + margin: 10px 0; + padding: 10px; +} +.w-e-panel-content-emotion { + font-size: 20px; + list-style: none; + text-align: left; + width: 300px; +} +.w-e-panel-content-emotion li { + border-radius: 3px 3px; + cursor: pointer; + display: inline-block; + padding: 0 5px; +} +.w-e-panel-content-emotion li:hover { + background-color: var(--w-e-textarea-slight-bg-color); +} +.w-e-textarea-divider { + border-radius: 3px; + margin: 20px auto; + padding: 20px; +} +.w-e-textarea-divider hr { + background-color: var(--w-e-textarea-border-color); + border: 0; + display: block; + height: 1px; +} +.w-e-text-container [data-slate-editor] pre > code { + background-color: var(--w-e-textarea-slight-bg-color); + border: 1px solid var(--w-e-textarea-slight-border-color); + border-radius: 4px 4px; + display: block; + font-size: 14px; + padding: 10px; + text-indent: 0; +} +.w-e-text-container [data-slate-editor] .w-e-image-container { + display: inline-block; + margin: 0 3px; +} +.w-e-text-container [data-slate-editor] .w-e-image-container:hover { + box-shadow: 0 0 0 2px var(--w-e-textarea-selected-border-color); +} +.w-e-text-container [data-slate-editor] .w-e-selected-image-container { + overflow: hidden; + position: relative; +} +.w-e-text-container [data-slate-editor] .w-e-selected-image-container .w-e-image-dragger { + background-color: var(--w-e-textarea-handler-bg-color); + height: 7px; + position: absolute; + width: 7px; +} +.w-e-text-container [data-slate-editor] .w-e-selected-image-container .left-top { + cursor: nwse-resize; + left: 0; + top: 0; +} +.w-e-text-container [data-slate-editor] .w-e-selected-image-container .right-top { + cursor: nesw-resize; + right: 0; + top: 0; +} +.w-e-text-container [data-slate-editor] .w-e-selected-image-container .left-bottom { + bottom: 0; + cursor: nesw-resize; + left: 0; +} +.w-e-text-container [data-slate-editor] .w-e-selected-image-container .right-bottom { + bottom: 0; + cursor: nwse-resize; + right: 0; +} +.w-e-text-container [contenteditable='false'] .w-e-image-container:hover, +.w-e-text-container [data-slate-editor] .w-e-selected-image-container:hover { + box-shadow: none; +} + +.w-e-text-container [data-slate-editor] .table-container { + border: 1px dashed var(--w-e-textarea-border-color); + border-radius: 5px; + margin-top: 10px; + overflow-x: auto; + padding: 10px; + position: relative; + width: 100%; +} +.w-e-text-container [data-slate-editor] table { + border-collapse: collapse; + table-layout: fixed; +} +.w-e-text-container [data-slate-editor] table td, +.w-e-text-container [data-slate-editor] table th { + border: 1px solid var(--w-e-textarea-border-color); + line-height: 1.5; + min-width: 30px; + overflow: hidden; + overflow-wrap: break-word; + padding: 3px 5px; + text-align: left; + white-space: pre-wrap; + word-break: break-all; +} +.w-e-text-container [data-slate-editor] table th { + background-color: var(--w-e-textarea-slight-bg-color); + font-weight: 700; + text-align: center; +} +.w-e-text-container [data-slate-editor] table td.w-e-selected, +.w-e-text-container [data-slate-editor] table th.w-e-selected { + background-color: rgba(20, 86, 240, 0.18); +} +.w-e-text-container [data-slate-editor] table.table-selection-none ::-moz-selection { + background: none; +} +.w-e-text-container [data-slate-editor] table.table-selection-none ::selection { + background: none; +} +.w-e-text-container [data-slate-editor] .column-resizer { + display: flex; + height: 0; + left: 11px; + position: absolute; + top: 10px; + width: 0; + z-index: 1; +} +.w-e-text-container [data-slate-editor] .column-resizer .column-resizer-item { + position: relative; +} +.w-e-text-container [data-slate-editor] .resizer-line-hotzone { + cursor: col-resize; + opacity: 0; + position: absolute; + right: -3px; + transition: opacity 0.2s ease, visibility 0.2s ease; + visibility: hidden; + width: 10px; +} +.w-e-text-container [data-slate-editor] .resizer-line-hotzone .resizer-line { + background: rgba(20, 86, 240, 0.8); + height: 100%; + margin-left: 5px; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + width: 2px; +} +.w-e-text-container [data-slate-editor] .resizer-line-hotzone.visible { + visibility: visible; +} +.w-e-text-container [data-slate-editor] .resizer-line-hotzone.highlight { + opacity: 1; +} +.w-e-panel-content-table { + background-color: var(--w-e-toolbar-bg-color); +} +.w-e-panel-content-table table { + border-collapse: collapse; + table-layout: fixed; +} +.w-e-panel-content-table td, +.w-e-panel-content-table th { + overflow: hidden; + overflow-wrap: break-word; + white-space: pre-wrap; + word-break: break-all; +} +.w-e-panel-content-table td { + border: 1px solid var(--w-e-toolbar-border-color); + cursor: pointer; + height: 15px; + padding: 3px 5px; + width: 20px; +} +.w-e-panel-content-table td.active { + background-color: var(--w-e-toolbar-active-bg-color); +} +.w-e-textarea-video-container { + background-image: linear-gradient(45deg, #eee 25%, transparent 0, transparent 75%, #eee 0, #eee), + linear-gradient(45deg, #eee 25%, #fff 0, #fff 75%, #eee 0, #eee); + background-position: 0 0, 10px 10px; + background-size: 20px 20px; + border: 1px dashed var(--w-e-textarea-border-color); + border-radius: 5px; + margin: 10px auto 0; + padding: 10px 0; + text-align: center; +} + +.w-e-text-container [data-slate-editor] pre > code { + word-wrap: normal; + font-family: Consolas, Monaco, Andale Mono, Ubuntu Mono, monospace; + -webkit-hyphens: none; + hyphens: none; + line-height: 1.5; + margin: 0.5em 0; + overflow: auto; + padding: 1em; + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + text-align: left; + text-shadow: 0 1px #fff; + white-space: pre; + word-break: normal; + word-spacing: normal; +} +.w-e-text-container [data-slate-editor] pre > code .token.cdata, +.w-e-text-container [data-slate-editor] pre > code .token.comment, +.w-e-text-container [data-slate-editor] pre > code .token.doctype, +.w-e-text-container [data-slate-editor] pre > code .token.prolog { + color: #708090; +} +.w-e-text-container [data-slate-editor] pre > code .token.punctuation { + color: #999; +} +.w-e-text-container [data-slate-editor] pre > code .token.namespace { + opacity: 0.7; +} +.w-e-text-container [data-slate-editor] pre > code .token.boolean, +.w-e-text-container [data-slate-editor] pre > code .token.constant, +.w-e-text-container [data-slate-editor] pre > code .token.deleted, +.w-e-text-container [data-slate-editor] pre > code .token.number, +.w-e-text-container [data-slate-editor] pre > code .token.property, +.w-e-text-container [data-slate-editor] pre > code .token.symbol, +.w-e-text-container [data-slate-editor] pre > code .token.tag { + color: #905; +} +.w-e-text-container [data-slate-editor] pre > code .token.attr-name, +.w-e-text-container [data-slate-editor] pre > code .token.builtin, +.w-e-text-container [data-slate-editor] pre > code .token.char, +.w-e-text-container [data-slate-editor] pre > code .token.inserted, +.w-e-text-container [data-slate-editor] pre > code .token.selector, +.w-e-text-container [data-slate-editor] pre > code .token.string { + color: #690; +} +.w-e-text-container [data-slate-editor] pre > code .language-css .token.string, +.w-e-text-container [data-slate-editor] pre > code .style .token.string, +.w-e-text-container [data-slate-editor] pre > code .token.entity, +.w-e-text-container [data-slate-editor] pre > code .token.operator, +.w-e-text-container [data-slate-editor] pre > code .token.url { + color: #9a6e3a; +} +.w-e-text-container [data-slate-editor] pre > code .token.atrule, +.w-e-text-container [data-slate-editor] pre > code .token.attr-value, +.w-e-text-container [data-slate-editor] pre > code .token.keyword { + color: #07a; +} +.w-e-text-container [data-slate-editor] pre > code .token.class-name, +.w-e-text-container [data-slate-editor] pre > code .token.function { + color: #dd4a68; +} +.w-e-text-container [data-slate-editor] pre > code .token.important, +.w-e-text-container [data-slate-editor] pre > code .token.regex, +.w-e-text-container [data-slate-editor] pre > code .token.variable { + color: #e90; +} +.w-e-text-container [data-slate-editor] pre > code .token.bold, +.w-e-text-container [data-slate-editor] pre > code .token.important { + font-weight: 700; +} +.w-e-text-container [data-slate-editor] pre > code .token.italic { + font-style: italic; +} +.w-e-text-container [data-slate-editor] pre > code .token.entity { + cursor: help; +} diff --git a/apps/bMiniApp/src/components/Uploader/CoverUploader.vue b/apps/bMiniApp/src/components/Uploader/CoverUploader.vue new file mode 100644 index 0000000..d94f567 --- /dev/null +++ b/apps/bMiniApp/src/components/Uploader/CoverUploader.vue @@ -0,0 +1,139 @@ +<template> + <div class="cover-uploader-wrapper"> + <Uploader v-model:file-list="innerFileList"> + <template #extra-img="{ item }"> + <div class="set-cover-btn" @click="handleSetCover(item)"> + {{ item.isMain ? '鍙栨秷灏侀潰' : '璁句负灏侀潰' }} + </div> + </template> + </Uploader> + <div class="system-cover-uploader-wrapper" v-if="demoCoverList.length > 0"> + <div class="system-cover-uploader-title">鎮ㄨ繕鍙互浠庣郴缁熶腑閫夋嫨鍥剧墖</div> + <div class="system-cover-uploader-list"> + <div + v-for="cover in demoCoverList" + :key="cover.url" + class="system-cover-uploader-list-item" + @click="handleUploadSystemCover(cover.url)" + > + <img class="system-cover-uploader-list-img" :src="cover.url" /> + </div> + </div> + </div> + </div> +</template> + +<script setup lang="ts"> +import Uploader from './Uploader.vue'; +import { CoverItem } from './uploader'; +import { convertApiPath2Url } from '@12333/utils'; + +defineOptions({ + name: 'CoverUploader', +}); + +type Props = { + fileList: CoverItem[]; + demoCoverList?: API.CoverMsg[]; +}; + +const props = withDefaults(defineProps<Props>(), { + demoCoverList: () => [] as API.CoverMsg[], +}); + +const emit = defineEmits<{ + (e: 'update:fileList', list: CoverItem[]): void; +}>(); + +const innerFileList = computed({ + get() { + return props.fileList; + }, + set(val) { + emit('update:fileList', val); + }, +}); + +function handleUploadSystemCover(url: string) { + emit('update:fileList', [ + ...props.fileList, + { + ...(convertApiPath2Url(url) as any), + }, + ]); +} + +function handleSetCover(item: CoverItem) { + emit( + 'update:fileList', + props.fileList.map((x) => { + return { + ...x, + isMain: x.uid === item.uid, + }; + }) + ); +} + +watch( + () => props.fileList.length, + (newValue, oldValue) => { + if (newValue !== oldValue) { + const index = props.fileList.findIndex((x) => x.isMain); + if (index < 0) { + handleSetCover(props.fileList[0]); + } + } + } +); +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; + +.cover-uploader-wrapper { + padding-top: 16px; + + .nut-uploader__preview.picture { + .set-cover-btn { + width: 100%; + position: absolute; + height: 30px; + line-height: 30px; + text-align: center; + bottom: 0; + left: 0; + font-size: 16px; + background-color: rgba(#000, 0.3); + color: #fff; + } + } + + .system-cover-uploader-wrapper { + margin-top: 16px; + + .system-cover-uploader-title { + font-size: 24px; + color: boleGetCssVar('text-color', 'regular'); + margin-bottom: 10px; + } + + .system-cover-uploader-list { + display: flex; + flex-wrap: wrap; + margin: -10px; + + .system-cover-uploader-list-item { + padding: 10px; + + .system-cover-uploader-list-img { + width: 100px; + height: 100px; + border: 1px solid #dadada; + border-radius: 4px; + } + } + } + } +} +</style> diff --git a/apps/bMiniApp/src/components/Uploader/Uploader.vue b/apps/bMiniApp/src/components/Uploader/Uploader.vue new file mode 100644 index 0000000..b916f87 --- /dev/null +++ b/apps/bMiniApp/src/components/Uploader/Uploader.vue @@ -0,0 +1,125 @@ +<template> + <nut-uploader + v-if="$slots.default" + v-model:file-list="innerFileList" + multiple + :media-type="['image']" + :before-xhr-upload="beforeXhrUpload" + @failure="handleFailure" + :maximize="maximize" + > + <template #upload-icon> + <slot name="upload-icon"></slot> + </template> + <template #default> + <slot></slot> + </template> + <template #extra-img> + <slot name="extra-img"></slot> + </template> + </nut-uploader> + <nut-uploader + v-else + v-model:file-list="innerFileList" + multiple + :media-type="['image']" + :before-xhr-upload="beforeXhrUpload" + @failure="handleFailure" + :maximize="maximize" + > + <template #upload-icon> + <slot name="upload-icon"></slot> + </template> + <template #extra-img="extraImgProps"> + <slot name="extra-img" v-bind="extraImgProps"></slot> + </template> + </nut-uploader> +</template> + +<script setup lang="ts"> +import { ossUpload } from '@12333/utils/oss'; +import { guid } from '@12333/utils'; +import { FileItem } from '@nutui/nutui-taro/dist/types/__VUE/uploader/type'; +import { UploadOptions } from '@nutui/nutui-taro/dist/types/__VUE/uploader/uploader'; +import Taro from '@tarojs/taro'; + +defineOptions({ + name: 'Uploader', +}); + +type Props = { + fileList: FileItem[]; + onMySuccess?: (file: FileItem) => any; + limitFileSize?: number; +}; + +const props = withDefaults(defineProps<Props>(), { + limitFileSize: 2, +}); + +const emit = defineEmits<{ + (e: 'update:fileList', list: FileItem[]): void; +}>(); + +const innerFileList = computed({ + get() { + return props.fileList; + }, + set(val) { + emit('update:fileList', val); + }, +}); + +const maximize = computed(() => props.limitFileSize * 1024 * 1024); + +const beforeXhrUpload = (taroUploadFile: any, options: UploadOptions) => { + const current = innerFileList.value.find((x) => x.path === options.taroFilePath); + const uploadTask = ossUpload({ + filePath: options.taroFilePath, + fileType: options.fileType, + name: options.name || 'file', + customFileName: () => guid(), + showLoading: false, + success(response: { errMsg: any; statusCode: number; data: string }, ossRes) { + options.onSuccess?.(response, options); + current.name = ossRes.name; + current.path = ossRes.path; + current.url = ossRes.url; + // innerFileList.value.map((x) => { + // if (x.uid === current.uid) { + // return { + // ...x, + // name: ossRes.name, + // path: ossRes.path, + // url: ossRes.url, + // }; + // } + // return { ...x }; + // }) + // emit('update:fileList', innerFileList.value); + nextTick(() => { + props.onMySuccess?.(innerFileList.value.find((x) => x.path === ossRes.path)); + }); + }, + fail(e: any) { + console.log('e: ', e); + options.onFailure?.(e, options); + }, + }); + + options.onStart?.(options); + // uploadTask?.progress( + // (res: { progress: any; totalBytesSent: any; totalBytesExpectedToSend: any }) => { + // options.onProgress?.(res, options); + // // console.log('涓婁紶杩涘害', res.progress); + // // console.log('宸茬粡涓婁紶鐨勬暟鎹暱搴�', res.totalBytesSent); + // // console.log('棰勬湡闇�瑕佷笂浼犵殑鏁版嵁鎬婚暱搴�', res.totalBytesExpectedToSend); + // } + // ); + // uploadTask.abort(); // 鍙栨秷涓婁紶浠诲姟 +}; + +function handleFailure(ev) { + console.log('Failure ev: ', ev); +} +</script> diff --git a/apps/bMiniApp/src/components/Uploader/uploader.ts b/apps/bMiniApp/src/components/Uploader/uploader.ts new file mode 100644 index 0000000..36dc6c3 --- /dev/null +++ b/apps/bMiniApp/src/components/Uploader/uploader.ts @@ -0,0 +1,5 @@ +import { FileItem } from '@nutui/nutui-taro/dist/types/__VUE/uploader/type'; + +export type CoverItem = Partial<FileItem> & { + isMain?: boolean; +}; diff --git a/apps/bMiniApp/src/components/UserHome/UserHomeTopView.vue b/apps/bMiniApp/src/components/UserHome/UserHomeTopView.vue new file mode 100644 index 0000000..951cf66 --- /dev/null +++ b/apps/bMiniApp/src/components/UserHome/UserHomeTopView.vue @@ -0,0 +1,149 @@ +<template> + <div class="mine-page-top-view"> + <slot name="avatar"></slot> + <div class="setting-wrapper" v-if="showUserHomePageBtn" @click="goUserHomePage"> + <div class="setting-text">鎴戠殑涓婚〉</div> + </div> + </div> + <div class="mine-page-operation-wrapper" v-if="showOperation"> + <div class="mine-page-operation-item" @click="goEditProfile"> + <img class="mine-page-operation-item-icon" :src="IconEdit" /> + <div class="mine-page-operation-item-text">缂栬緫璧勬枡</div> + <img class="mine-page-operation-item-arrow" :src="IconArrow" /> + </div> + <button class="mine-page-operation-item share" open-type="share"> + <!-- <div class="mine-page-operation-item-inner"> --> + <img class="mine-page-operation-item-icon" :src="IconCard" /> + <div class="mine-page-operation-item-text">鍙戦�佸悕鐗�</div> + <img class="mine-page-operation-item-arrow" :src="IconArrow" /> + <!-- </div> --> + </button> + </div> +</template> + +<script setup lang="ts"> +import { useUser, useIsLogin } from '@/hooks'; +import Taro from '@tarojs/taro'; +import IconEdit from '@/assets/mine/icon-edit.png'; +import IconCard from '@/assets/mine/icon-card.png'; +import IconArrow from '@/assets/mine/icon-arrow.png'; + +defineOptions({ + name: 'UserHomeTopView', +}); + +type Props = { + showUserHomePageBtn?: boolean; + showOperation?: boolean; +}; + +const props = withDefaults(defineProps<Props>(), { + showUserHomePageBtn: false, + showOperation: false, +}); + +const { userDetail } = useUser(); + +function goUserHomePage() { + Taro.navigateTo({ + url: `${RouterPath.userHomePage}?userId=${userDetail.value?.userId}`, + }); +} + +function goEditProfile() { + Taro.navigateTo({ + url: RouterPath.userInfo, + }); +} +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; + +.mine-page-top-view { + padding-top: 34px; + display: flex; + margin-bottom: 20px; + + .setting-wrapper { + height: 56px; + background: rgba(#000, $alpha: 0.15); + border-radius: 200px 0px 0px 200px; + align-self: center; + display: flex; + align-items: center; + margin-right: calc(boleGetCssVar('size', 'body-padding-h') * -1); + padding-left: 24px; + padding-right: 16px; + + .setting-icon { + width: 32px; + height: 32px; + margin-right: 4px; + margin-left: 32px; + } + + .setting-text { + font-weight: 400; + font-size: 24px; + color: #ffffff; + line-height: 34px; + } + } +} + +.mine-page-operation-wrapper { + display: flex; + padding-top: 22px; + margin-bottom: 36px; + + .mine-page-operation-item { + flex: 1; + min-width: 0; + align-items: center; + display: flex; + padding-left: 28px; + border-right: 1px solid #efefef; + + &:last-child { + border-right: none; + } + + &.share { + background-color: transparent; + padding-right: 0; + appearance: none; + text-align: left; + + &::after { + border: none; + } + /* .mine-page-operation-item-inner { + display: flex; + align-items: center; + } */ + } + + .mine-page-operation-item-icon { + width: 32px; + height: 32px; + margin-right: 8px; + } + + .mine-page-operation-item-text { + flex: 1; + min-width: 0; + font-weight: bold; + font-size: 24px; + color: boleGetCssVar('text-color', 'primary'); + line-height: 34px; + } + + .mine-page-operation-item-arrow { + width: 28px; + height: 28px; + margin-right: 28px; + } + } +} +</style> diff --git a/apps/bMiniApp/src/components/index.ts b/apps/bMiniApp/src/components/index.ts new file mode 100644 index 0000000..b185311 --- /dev/null +++ b/apps/bMiniApp/src/components/index.ts @@ -0,0 +1,25 @@ +export { default as CommonNavigationBar } from './NavigationBar/CommonNavigationBar.vue'; +export { default as TransparentNavigationBar } from './NavigationBar/TransparentNavigationBar.vue'; +export { default as LargeTitleNavigationBar } from './NavigationBar/LargeTitleNavigationBar.vue'; +export { default as PageLayout } from './Layout/PageLayout.vue'; +export { default as PageLayoutWithBg } from './Layout/PageLayoutWithBg.vue'; +export { default as LoadingLayout } from './Layout/LoadingLayout.vue'; +export { default as Policy } from './Policy/Policy.vue'; +export { default as Menu } from './Menu/Menu.vue'; +export { default as MenuItem } from './Menu/MenuItem.vue'; +export { default as InfiniteLoading } from './InfiniteLoading/InfiniteLoading.vue'; +export { default as PageFooter } from './PageFooter/PageFooter.vue'; +export { default as Uploader } from './Uploader/Uploader.vue'; +export { default as CoverUploader } from './Uploader/CoverUploader.vue'; +export * from './Uploader/uploader'; +export { default as LargeButton } from './Button/LargeButton.vue'; +export { default as RichEditCard } from './RichEditCard/RichEditCard.vue'; +export { default as RichContent } from './RichEditCard/RichContent.vue'; +export { default as NoData } from './NoData/NoData.vue'; +export { default as UserAvatar } from './Avatar/UserAvatar.vue'; +export { default as ContentScrollView } from './Layout/ContentScrollView.vue'; +export { default as ContentView } from './Layout/ContentView.vue'; +export { default as PageFooterAction } from './PageFooter/PageFooterAction.vue'; +export { default as PageFooterBtn } from './PageFooter/PageFooterBtn.vue'; +export { default as ChunkTitle } from './Chunk/ChunkTitle.vue'; +export { default as UserHomeTopView } from './UserHome/UserHomeTopView.vue'; diff --git a/apps/bMiniApp/src/constants/enum.ts b/apps/bMiniApp/src/constants/enum.ts new file mode 100644 index 0000000..6d77347 --- /dev/null +++ b/apps/bMiniApp/src/constants/enum.ts @@ -0,0 +1,4 @@ +export enum BackType { + toDetail = 'toDetail', + back = 'back', +} diff --git a/apps/bMiniApp/src/constants/img.ts b/apps/bMiniApp/src/constants/img.ts new file mode 100644 index 0000000..d4f66e0 --- /dev/null +++ b/apps/bMiniApp/src/constants/img.ts @@ -0,0 +1,17 @@ +const OssBasePath = 'https://renliyuan.oss-cn-hangzhou.aliyuncs.com/12333'; + +export const OssAssets = { + common: { + CommonPageBg: `${OssBasePath}/matchMakingMini/assets/common/icon-common-page-bg.png`, + }, + mine: { + Bg: `${OssBasePath}/matchMakingMini/assets/mine/icon-bg.png`, + IdBg: `${OssBasePath}/matchMakingMini/assets/mine/icon-id-bg.png`, + }, + setting: { + ToggleBg: `${OssBasePath}/matchMakingMini/assets/setting/icon-toggle-bg.png`, + }, + user: { + Bg: `${OssBasePath}/matchMakingMini/assets/user/icon-bg.png`, + }, +}; diff --git a/apps/bMiniApp/src/constants/index.ts b/apps/bMiniApp/src/constants/index.ts new file mode 100644 index 0000000..c7f2445 --- /dev/null +++ b/apps/bMiniApp/src/constants/index.ts @@ -0,0 +1,4 @@ +export * from './enum'; +export * from './tabBar'; +export * from './router'; +export * from './img'; diff --git a/apps/bMiniApp/src/constants/query.ts b/apps/bMiniApp/src/constants/query.ts new file mode 100644 index 0000000..338dd9b --- /dev/null +++ b/apps/bMiniApp/src/constants/query.ts @@ -0,0 +1,10 @@ +import { QueryClient } from '@tanstack/vue-query'; + +export const myClient = new QueryClient({ + defaultOptions: { + queries: { + refetchOnWindowFocus: false, + retry: false, + }, + }, +}); diff --git a/apps/bMiniApp/src/constants/router.ts b/apps/bMiniApp/src/constants/router.ts new file mode 100644 index 0000000..0c2dd71 --- /dev/null +++ b/apps/bMiniApp/src/constants/router.ts @@ -0,0 +1,21 @@ +export enum RouterPath { + authorization = '/subpackages/login/authorization/authorization', + userPolicy = '/subpackages/login/userPolicy/userPolicy', + loginByForm = '/subpackages/login/loginByForm/loginByForm', + registerForm = '/subpackages/login/registerForm/registerForm', + home = '/pages/home/index', + mine = '/pages/mine/index', + editRichContent = '/subpackages/editRichContent/editRichContent', + + // userInfo = '/subpackages/setting/userInfo/userInfo', + // setting = '/subpackages/setting/setting/setting', + // privacyAgreement = '/subpackages/setting/privacyAgreement/privacyAgreement', + // cooperation = '/subpackages/setting/cooperation/cooperation', + // faq = '/subpackages/setting/faq/faq', + + authenticationHome = '/subpackages/authentication/authenticationHome/authenticationHome', + authenticationResult = '/subpackages/authentication/authenticationResult/authenticationResult', + authenticationFaRen = '/subpackages/authentication/authenticationFaRen/authenticationFaRen', + authenticationJBR = '/subpackages/authentication/authenticationJBR/authenticationJBR', + citySelect = '/subpackages/city/citySelect/citySelect', +} diff --git a/apps/bMiniApp/src/constants/tabBar.ts b/apps/bMiniApp/src/constants/tabBar.ts new file mode 100644 index 0000000..405c9bd --- /dev/null +++ b/apps/bMiniApp/src/constants/tabBar.ts @@ -0,0 +1,4 @@ +export const TabBarPageRouter = { + Home: '/pages/home/index', + Mine: '/pages/mine/index', +}; diff --git a/apps/bMiniApp/src/custom-tab-bar/index.scss b/apps/bMiniApp/src/custom-tab-bar/index.scss new file mode 100644 index 0000000..8b60f24 --- /dev/null +++ b/apps/bMiniApp/src/custom-tab-bar/index.scss @@ -0,0 +1,119 @@ +@import '@/styles/common.scss'; + +.bottom-tab { + position: fixed; + display: flex; + width: 100%; + height: 118px; + // height: 100px; + background: white; + box-shadow: 0px -5px 6px 1px rgba(0, 0, 0, 0.04); + bottom: 0; + + .bottom-tab-left, + .bottom-tab-right { + height: 100%; + display: flex; + width: 50%; + justify-content: space-around; + } + + .bottom-tab-left { + padding-right: 20px; + } + + .bottom-tab-right { + padding-left: 20px; + } + + &-item { + // padding: 36px 20px 32px; + // padding-bottom: 16px; + padding: 20px 0; + display: flex; + flex-direction: column; + align-items: center; + justify-content: flex-start; + flex: 1; + position: relative; + + .bottom-tab-item-icon-wrapper { + margin-bottom: 8px; + position: relative; + } + + .bottom-tab-item-icon { + width: 40px; + height: 40px; + } + + .bottom-tab-item-text { + color: #707070; + font-size: 20px; + line-height: 24px; + } + + .bottom-tab-item-badge { + line-height: 28px; + padding: 0 8px; + background: #ff4d4f; + border-radius: 14px; + color: #fff; + font-size: 22px; + position: absolute; + top: -6px; + right: -10px; + } + + &.active { + .bottom-tab-item-text { + color: #3a71ff; + } + } + } + + .publish-wrapper { + position: relative; + display: flex; + flex-direction: column; + justify-content: flex-end; + + .bottom-tab-item-text { + margin-top: 50px; + } + + .bottom-tab-item-img-publish { + position: absolute; + width: 103px; + height: 103px; + left: 50%; + top: -50px; + transform: translateX(-50%); + } + + .bottom-tab-float-btn { + position: absolute; + width: 85px; + height: 85px; + background: #ffffff; + box-shadow: 0px -9px 9px 1px rgba(209, 209, 209, 0.35); + border-radius: 50%; + left: 50%; + top: -30px; + transform: translateX(-50%); + display: flex; + justify-content: center; + align-items: center; + + .bottom-tab-float-btn-inner { + width: 70px; + height: 70px; + background: linear-gradient(88deg, #2c7eff, #629dfa); + border-radius: 50%; + display: flex; + justify-content: center; + align-items: center; + } + } + } +} diff --git a/apps/bMiniApp/src/custom-tab-bar/index.tsx b/apps/bMiniApp/src/custom-tab-bar/index.tsx new file mode 100644 index 0000000..fd1eeda --- /dev/null +++ b/apps/bMiniApp/src/custom-tab-bar/index.tsx @@ -0,0 +1,168 @@ +import './index.scss'; + +import { SetupContext } from 'vue'; +import { View, Text, Image } from '@tarojs/components'; +import Taro from '@tarojs/taro'; +import { useSystemStore } from '@/stores/modules/system'; +import { storeToRefs } from 'pinia'; +import { TabBarPageRouter } from '@/constants'; +// import IconPublish from '@/assets/tabbar/icon-publish.png'; +import { useUser, useIsLogin } from '@/hooks'; +import { Message } from '@12333/utils'; + +type TarBarItemProps = { + text: string; + icon: string; + activeIcon: string; + pagePath: string; + active: boolean; + className: string; + onClick?: (url: string, index: number) => any; + index: number; + badge?: number; +}; + +type TarBarItemEvents = { + click: (url: string, index: number) => any; +}; + +const TarBarItem = function (props: TarBarItemProps, context: SetupContext<TarBarItemEvents>) { + const _badge = props.badge > 99 ? '99+' : props.badge; + return ( + <div + class={['bottom-tab-item', { active: props.active }, props.className]} + onClick={() => context.emit('click', props.pagePath, props.index)} + > + <div class="bottom-tab-item-icon-wrapper"> + {props.badge > 0 && <div class="bottom-tab-item-badge">{_badge}</div>} + <img class="bottom-tab-item-icon" src={props.active ? props.activeIcon : props.icon} /> + </div> + <div class="bottom-tab-item-text">{props.text}</div> + </div> + ); +}; + +TarBarItem.emits = { + click: (url: string, index: number) => typeof url === 'string', +}; + +const whitePageList = [RouterPath.home, RouterPath.mine]; + +export default { + name: 'CustomTabBar', + components: { + View, + Text, + Image, + TarBarItem, + }, + setup() { + const system = useSystemStore(); + const { IPhoneXPadding } = storeToRefs(system); + + const router = Taro.useRouter(); + + const isLogin = useIsLogin(); + + const loginTipShowed = ref(false); + + const switchTab = (url: string, index: number) => { + if (!isLogin.value && whitePageList.every((x) => x !== url)) { + if (!loginTipShowed.value) { + loginTipShowed.value = true; + Message.confirm({ message: '璇峰墠寰�鐧诲綍' }) + .then(() => { + Taro.navigateTo({ + url: `${RouterPath.authorization}?redirect=${url}`, + }); + }) + .finally(() => { + loginTipShowed.value = false; + }); + } + return; + } + system.setTabIndex(index); + Taro.switchTab({ url }); + }; + + function goPublish() { + if (!isLogin.value) { + if (!loginTipShowed.value) { + loginTipShowed.value = true; + Message.confirm({ message: '璇峰墠寰�鐧诲綍' }) + .then(() => { + Taro.navigateTo({ + url: `${RouterPath.authorization}?redirect=${RouterPath.home}`, + }); + }) + .finally(() => { + loginTipShowed.value = false; + }); + } + + return; + } + // Taro.navigateTo({ + // url: RouterPath.pulishCircleFriend, + // }); + } + + return () => { + return ( + <View + class="bottom-tab" + style={{ + paddingBottom: `${IPhoneXPadding.value}px`, + }} + > + <TarBarItem + text={'homeTitle'} + icon="../assets/tabbar/icon-home.png" + activeIcon="../assets/tabbar/icon-home-active.png" + pagePath={TabBarPageRouter.Home} + index={0} + active={system.activeTab === 0} + className="home" + onClick={switchTab} + ></TarBarItem> + {/* <TarBarItem + text="琛屼笟鍦�" + icon="../assets/tabbar/icon-friend.png" + activeIcon="../assets/tabbar/icon-friend-active.png" + pagePath={TabBarPageRouter.CircleFriend} + index={1} + active={system.activeTab === 1} + className="circleFriend" + onClick={switchTab} + ></TarBarItem> + <div class="bottom-tab-item publish-wrapper" onClick={goPublish}> + <img class="bottom-tab-item-img-publish" src={IconPublish} /> + <div class="bottom-tab-item-text">鍙戝竷</div> + </div> + <TarBarItem + text="娑堟伅" + icon="../assets/tabbar/icon-message.png" + activeIcon="../assets/tabbar/icon-message-active.png" + pagePath={TabBarPageRouter.Message} + active={system.activeTab === 2} + className="message" + onClick={switchTab} + index={2} + badge={(isLogin.value && myMessageCount.value?.unReadCount) ?? 0} + ></TarBarItem> */} + <TarBarItem + text="鎴戠殑" + icon="../assets/tabbar/icon-mine.png" + activeIcon="../assets/tabbar/icon-mine-active.png" + pagePath={TabBarPageRouter.Mine} + active={system.activeTab === 3} + className="mine" + onClick={switchTab} + index={3} + ></TarBarItem> + </View> + ); + }; + }, +}; diff --git a/apps/bMiniApp/src/hooks/access.ts b/apps/bMiniApp/src/hooks/access.ts new file mode 100644 index 0000000..7602481 --- /dev/null +++ b/apps/bMiniApp/src/hooks/access.ts @@ -0,0 +1,45 @@ +import { useUserStore } from '@/stores/modules/user'; +import Taro from '@tarojs/taro'; +import { Message } from '@12333/utils'; +import { useIsLogin, useUser } from './user'; + +/** + * 闇�瑕佺櫥褰� + */ +export function useAccessLogin<T extends (...args: any[]) => any>(fn: T) { + const isLogin = useIsLogin(); + const router = Taro.useRouter(); + + const _fn = (...args2) => { + if (!isLogin.value) { + Message.confirm({ message: '璇峰墠寰�鐧诲綍' }).then(() => { + Taro.navigateTo({ + url: `${RouterPath.authorization}`, + }); + }); + return; + } + fn?.(...args2); + }; + return _fn as T; +} + +/** + * 鏄惁瀹屽杽涓汉淇℃伅锛堜紒涓氬悕绉帮紝鎵嬫満鍙凤級 + */ +export function useAccessPersonalInfo<T extends (...args: any[]) => any>(fn: T) { + const { isCompletePersonalInfo } = useUser(); + + const _fn = useAccessLogin((...args2) => { + if (!isCompletePersonalInfo.value) { + Message.confirm({ message: '璇峰畬鍠勬偍鐨勪釜浜轰俊鎭�', title: '瀹屽杽淇℃伅' }).then(() => { + Taro.navigateTo({ + url: `${RouterPath.userInfo}`, + }); + }); + return; + } + fn?.(...args2); + }); + return _fn as T; +} diff --git a/apps/bMiniApp/src/hooks/authentication.ts b/apps/bMiniApp/src/hooks/authentication.ts new file mode 100644 index 0000000..4b3638a --- /dev/null +++ b/apps/bMiniApp/src/hooks/authentication.ts @@ -0,0 +1,71 @@ +import * as userServices from '@12333/services/api/User'; +import { useQuery, useQueryClient } from '@tanstack/vue-query'; +import { getUserCertificationFrontStatusAdapter } from '@12333/utils'; +import { UserCertificationFrontStatus } from '@12333/constants'; +import { useUser } from './user'; + +type UseMyCertificationAuditInfoOptions = { + onSuccess?: (data: API.MyCertificationAuditDto) => void; +}; + +export function useMyCertificationAuditInfo(options: UseMyCertificationAuditInfoOptions = {}) { + const { onSuccess } = options; + + const { updateUserInfo } = useUser(); + + const queryClient = useQueryClient(); + + const { data, isLoading } = useQuery({ + queryKey: ['userServices/getMyCertificationAuditInfo'], + queryFn: async () => { + return await userServices.getMyCertificationAuditInfo({ showLoading: false }); + }, + placeholderData: () => null as API.MyCertificationAuditDto, + select(data) { + if (data) { + data.frontStatus = getUserCertificationFrontStatusAdapter(data.status, data.auditStatus); + } + return data; + }, + onSuccess(data) { + onSuccess?.(data); + }, + }); + + /** + * 鏄惁鏈夊鏍稿崟 + */ + const hasAduit = computed(() => { + return data && !!data.value?.currentUserCertificationAuditId; + }); + + const isCertified = computed( + () => data?.value?.frontStatus === UserCertificationFrontStatus.Certified + ); + const isExpired = computed( + () => data?.value?.frontStatus === UserCertificationFrontStatus.Expired + ); + + function invalidateCertificationAuditInfo() { + updateUserInfo(); + return queryClient.invalidateQueries({ + queryKey: ['userServices/getMyCertificationAuditInfo'], + }); + } + + function ensureCertificationAuditInfo() { + return queryClient.ensureQueryData({ + queryKey: ['userServices/getMyCertificationAuditInfo'], + }); + } + + return { + myCertificationAuditInfo: data, + isLoading, + hasAduit, + invalidateCertificationAuditInfo, + isCertified, + isExpired, + ensureCertificationAuditInfo, + }; +} diff --git a/apps/bMiniApp/src/hooks/index.ts b/apps/bMiniApp/src/hooks/index.ts new file mode 100644 index 0000000..04721e7 --- /dev/null +++ b/apps/bMiniApp/src/hooks/index.ts @@ -0,0 +1,5 @@ +export * from './user'; +export * from './router'; +export * from './access'; +export * from './login'; +export * from './authentication'; diff --git a/apps/bMiniApp/src/hooks/login.ts b/apps/bMiniApp/src/hooks/login.ts new file mode 100644 index 0000000..04d3ca4 --- /dev/null +++ b/apps/bMiniApp/src/hooks/login.ts @@ -0,0 +1,76 @@ +import Taro from '@tarojs/taro'; +import { object2query } from '@12333/utils'; +import { goBack } from '@/utils'; +import { useSwitchTab } from './router'; +import { TabBarPageRouter } from '@/constants'; +import { useQueryClient } from '@tanstack/vue-query'; + +function getOtherQuery(query: Partial<Record<string, string>>) { + if (query) { + return Object.keys(query).reduce((acc, cur) => { + if (cur !== 'redirect' && cur !== '$taroTimestamp') { + acc[cur] = query[cur]; + } + return acc; + }, {}); + } +} + +export function useLoginedJump() { + const router = Taro.useRouter(); + const { redirect } = router.params; + + const otherQuery = getOtherQuery(router.params); + + const otherQueryString = computed(() => { + const str = object2query(otherQuery); + return str.length > 0 ? `${str}` : ''; + }); + + const redirectPath = computed(() => { + return redirect + ? otherQueryString.value + ? `${redirect}?${otherQueryString.value}` + : redirect + : ''; + }); + + const redirectParams = computed(() => { + return redirect ? `${redirect}&${otherQueryString.value}` : ''; + }); + + const switchTab = useSwitchTab(); + + const queryClient = useQueryClient(); + + const pages = Taro.getCurrentPages(); + + function goBackFromAuthorization() { + const authorizationIndex = pages.findIndex((x) => + `/${x.route}`.includes(RouterPath.authorization) + ); + let delta = authorizationIndex >= 0 ? pages.length - authorizationIndex : 1; + goBack(delta); + } + + function jump() { + if (redirect) { + const isTabBarPage = Object.values(TabBarPageRouter).includes(redirect as any); + if (isTabBarPage) { + switchTab({ + url: redirectPath.value, + }); + } else { + // Taro.redirectTo({ + // url: redirectPath.value, + // }); + goBackFromAuthorization(); + } + } else { + goBackFromAuthorization(); + } + queryClient.refetchQueries(); + } + + return { jump, redirectPath, redirectParams }; +} diff --git a/apps/bMiniApp/src/hooks/router.ts b/apps/bMiniApp/src/hooks/router.ts new file mode 100644 index 0000000..59447e7 --- /dev/null +++ b/apps/bMiniApp/src/hooks/router.ts @@ -0,0 +1,27 @@ +import Taro from '@tarojs/taro'; +import { TabBarPageRouter } from '@/constants'; +import { useSystemStore } from '@/stores/modules/system'; + +export function useSwitchTab() { + const systemStore = useSystemStore(); + + const switchTab = (option: Taro.switchTab.Option) => { + const index = Object.values(TabBarPageRouter).findIndex((x) => option.url.includes(x)); + console.log('index: ', index); + systemStore.setTabIndex(index); + Taro.switchTab(option); + }; + return switchTab; +} + +// export function useFirstEnter() { +// const systemStore = useSystemStore(); +// const { isFirstEnter } = storeToRefs(systemStore); +// console.log('isFirstEnter: ', isFirstEnter); + +// onMounted(() => { +// systemStore.setIsFirstEnter(false); +// }); + +// return { isFirstEnter }; +// } diff --git a/apps/bMiniApp/src/hooks/user.ts b/apps/bMiniApp/src/hooks/user.ts new file mode 100644 index 0000000..f104353 --- /dev/null +++ b/apps/bMiniApp/src/hooks/user.ts @@ -0,0 +1,107 @@ +import { useUserStore } from '@/stores/modules/user'; +import Taro from '@tarojs/taro'; +import { object2query, LocationUtils } from '@12333/utils'; +import { ParkOrHRStatus, UserCertificationFrontStatus } from '@12333/constants'; +import * as userServices from '@12333/services/api/User'; +import { useQuery } from '@tanstack/vue-query'; +import { MaybeRef } from 'vue'; +import { useRefeshDidShow } from '@12333/hooks/infiniteLoading'; + +export function useUser() { + const userStore = useUserStore(); + + const { userDetail, userInfo, locationCity } = storeToRefs(userStore); + + function updateUserInfo() { + return userStore.getCurrentUserInfo(); + } + + const isCompanyAudited = computed(() => { + return userDetail.value?.openHRSiteStatus === ParkOrHRStatus.Running; + }); + + /** + * 鏄惁瀹屽杽涓汉淇℃伅锛堜紒涓氬悕绉帮紝鎵嬫満鍙凤級 + */ + const isCompletePersonalInfo = computed(() => { + return ( + !!userDetail.value?.customerName && + !!userDetail.value?.contacter && + !!userDetail.value?.cityName + ); + }); + + const isCertified = computed(() => { + return userDetail.value?.frontStatus === UserCertificationFrontStatus.Certified; + }); + + return { + user: userInfo, + userDetail: userDetail, + updateUserInfo, + isCompletePersonalInfo, + isCompanyAudited, + isCertified, + locationCity, + }; +} + +export function useIsLogin() { + const { user, userDetail } = useUser(); + return computed(() => !!user.value); + // return user?.isPersonal ? !!user : !!user && !!enterpriseInfo; +} + +type UseAuthOptions = { + needAuth?: boolean; +}; + +export function useAuth(options: UseAuthOptions = {}) { + const { needAuth = true } = options; + const userStore = useUserStore(); + + const isLogin = useIsLogin(); + + const isAuth = computed(() => !needAuth || isLogin.value); + + const router = Taro.useRouter(); + + Taro.useReady(async () => { + let res; + try { + res = await LocationUtils.getLocation(); + } catch (error) {} + if (isLogin.value && userStore.firstGetUserDetail) { + userStore.firstGetUserDetail = false; + if (LocationUtils.isProvinceChange(userStore.locationProvince)) { + userStore.resetState(); + } else { + userStore.getCurrentUserInfo(); + } + } + if (res?.result?.ad_info?.city && userStore.firstSetLocation) { + userStore.setLocationCity(res.result.ad_info.city, res.result.ad_info.province); + } + if (needAuth && !isLogin.value) { + Taro.navigateTo({ + url: `${RouterPath.authorization}?redirect=${router.path}&${object2query(router.params)}`, + }); + } + }); + + return { isAuth }; +} + +export function useGoLogin() { + const router = Taro.useRouter(); + + function goLoginFn() { + Taro.navigateTo({ + url: `${RouterPath.authorization}?redirect=${router.path}&${object2query(router.params)}`, + }); + } + + return { + goLoginFn, + }; +} diff --git a/apps/bMiniApp/src/index.html b/apps/bMiniApp/src/index.html new file mode 100644 index 0000000..46e4d7c --- /dev/null +++ b/apps/bMiniApp/src/index.html @@ -0,0 +1,17 @@ +<!DOCTYPE html> +<html> +<head> + <meta content="text/html; charset=utf-8" http-equiv="Content-Type"> + <meta content="width=device-width,initial-scale=1,user-scalable=no" name="viewport"> + <meta name="apple-mobile-web-app-capable" content="yes"> + <meta name="apple-touch-fullscreen" content="yes"> + <meta name="format-detection" content="telephone=no,address=no"> + <meta name="apple-mobile-web-app-status-bar-style" content="white"> + <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" > + <title>vue-mini</title> + <script><%= htmlWebpackPlugin.options.script %></script> +</head> +<body> + <div id="app"></div> +</body> +</html> diff --git a/apps/bMiniApp/src/pages/home/index.config.ts b/apps/bMiniApp/src/pages/home/index.config.ts new file mode 100644 index 0000000..eaecd79 --- /dev/null +++ b/apps/bMiniApp/src/pages/home/index.config.ts @@ -0,0 +1,5 @@ +export default definePageConfig({ + navigationStyle: 'custom', + disableScroll: true, + navigationBarTextStyle: 'white', +}); diff --git a/apps/bMiniApp/src/pages/home/index.scss b/apps/bMiniApp/src/pages/home/index.scss new file mode 100644 index 0000000..3811705 --- /dev/null +++ b/apps/bMiniApp/src/pages/home/index.scss @@ -0,0 +1,5 @@ +@import '@/styles/common.scss'; + +page { + background-color: #fff; +} diff --git a/apps/bMiniApp/src/pages/home/index.vue b/apps/bMiniApp/src/pages/home/index.vue new file mode 100644 index 0000000..e3d38b0 --- /dev/null +++ b/apps/bMiniApp/src/pages/home/index.vue @@ -0,0 +1,52 @@ +<template> + <PageLayoutWithBg class="index-page-wrapper" :title="'棣栭〉'" :need-auth="false"> + <template #left> + <div class="menu-btn-wrapper city-btn" @click="goCitySelect"> + <div class="city-btn-text">{{ locationCity }}</div> + <RectDown :size="12" /> + </div> + </template> + </PageLayoutWithBg> +</template> + +<script setup lang="ts"> +import { useUser } from '@/hooks'; +import { useUserStore } from '@/stores/modules/user'; +import { RectDown } from '@nutui/icons-vue-taro'; +import Taro from '@tarojs/taro'; +import { LocationUtils } from '@12333/utils'; + +const { locationCity } = useUser(); + +const userStore = useUserStore(); + +function goCitySelect() { + Taro.navigateTo({ + url: RouterPath.citySelect, + }); +} +// onMounted(async () => { +// if (!isSetMatchMakingIdentity.value) { +// Taro.navigateTo({ +// url: RouterPath.toggleMatchMakingIdentity, +// }); +// } +// }); +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; + +.index-page-wrapper { + .city-btn { + display: flex; + align-items: center; + + .city-btn-text { + max-width: 200px; + @include ellipsis; + margin-right: 12px; + } + } +} +</style> diff --git a/apps/bMiniApp/src/pages/mine/index.config.ts b/apps/bMiniApp/src/pages/mine/index.config.ts new file mode 100644 index 0000000..fc5601f --- /dev/null +++ b/apps/bMiniApp/src/pages/mine/index.config.ts @@ -0,0 +1,7 @@ +export default definePageConfig({ + navigationBarTitleText: 'Mine', + usingComponents: {}, + disableScroll: true, + navigationBarTextStyle: 'white', + enableShareAppMessage: true, +}); diff --git a/apps/bMiniApp/src/pages/mine/index.scss b/apps/bMiniApp/src/pages/mine/index.scss new file mode 100644 index 0000000..40efdae --- /dev/null +++ b/apps/bMiniApp/src/pages/mine/index.scss @@ -0,0 +1,151 @@ +@import '@/styles/common.scss'; + +.mine-page-bg { + position: fixed; + z-index: -1; + top: 0; + left: 0; + width: 750px; + height: 434px; + object-fit: cover; +} + +.mine-page-wrapper { + .mine-avatar-wrapper { + flex: 1; + min-width: 0; + display: flex; + + .mine-avatar { + margin-right: 24px; + } + + .user-info { + flex: 1; + min-width: 0; + display: flex; + flex-direction: column; + padding: 12px 0; + justify-content: space-between; + + .user-info-item { + font-weight: 600; + font-size: 32px; + color: #ffffff; + line-height: 44px; + @include ellipsis; + } + + .user-info-item2 { + font-weight: 400; + font-size: 24px; + color: #ffffff; + line-height: 34px; + } + + .user-info-unCertified { + display: inline-flex; + align-items: center; + height: 40px; + background: #fffae0; + border-radius: 4px; + padding: 0 8px; + width: fit-content; + + .user-info-unCertified-icon { + width: 28px; + height: 28px; + } + + .user-info-unCertified-text { + font-weight: 400; + font-size: 22px; + color: #a0541e; + line-height: 24px; + } + } + } + + .mine-go-login { + font-size: 40px; + color: #fff; + line-height: 120px; + } + } + + .mine-content-scroll-view { + padding-top: 26px; + + .mine-id-menu-wrapper { + height: 124px; + background: url('https://renliyuan.oss-cn-hangzhou.aliyuncs.com/12333/matchMakingMini/assets/mine/icon-id-bg.png') + no-repeat; + background-size: cover; + display: flex; + align-items: center; + padding: 0 boleGetCssVar('size', 'body-padding-h'); + margin-bottom: 24px; + + .mine-id-menu-icon { + width: 24px; + height: 36px; + margin-right: 16px; + } + + .mine-id-menu-text { + font-weight: 400; + font-size: 28px; + color: #ffffff; + line-height: 40px; + flex: 1; + min-width: 0; + } + + .mine-id-menu-btn { + width: 152px; + height: 52px; + background: #ffffff; + border-radius: 26px; + font-weight: bold; + font-size: 24px; + color: #444444; + line-height: 52px; + text-align: center; + } + } + + .mine-menu-list { + display: flex; + gap: 30px; + margin-bottom: 24px; + + .mine-menu-list-item { + flex: 1; + min-width: 0; + display: flex; + align-items: center; + height: 152px; + background: #ffffff; + border-radius: 8px; + padding-left: 48px; + + .mine-menu-list-item-icon { + width: 72px; + height: 72px; + margin-right: 24px; + } + + .mine-menu-list-item-text { + font-weight: 400; + font-size: 28px; + color: #333333; + line-height: 40px; + } + } + } + + .mine-setting-list { + border-radius: 8px; + } + } +} diff --git a/apps/bMiniApp/src/pages/mine/index.vue b/apps/bMiniApp/src/pages/mine/index.vue new file mode 100644 index 0000000..6c2bc79 --- /dev/null +++ b/apps/bMiniApp/src/pages/mine/index.vue @@ -0,0 +1,110 @@ +<template> + <PageLayout class="mine-page-wrapper" :need-auth="false"> + <template #navigationBar> + <TransparentNavigationBar + title="涓汉涓績" + :is-absolute="false" + mode="dark" + ></TransparentNavigationBar> + </template> + <template #bg> + <img :src="OssAssets.mine.Bg" class="mine-page-bg" :style="{ height: `${bgHeight}px` }" /> + </template> + <ContentView> + <UserHomeTopView :showUserHomePageBtn="isLogin" :showOperation="isLogin"> + <template #avatar> + <div class="mine-avatar-wrapper" @click="goLogin"> + <UserAvatar :size="60" class="mine-avatar" /> + <div class="user-info" v-if="isLogin"> + <div class="user-info-item">{{ userDetail?.userName ?? '' }}</div> + <div class="user-info-item2" v-if="isCertified"> + {{ userDetail?.customerName ?? '' }} + </div> + <div class="user-info-unCertified" v-else @click.stop="goAuthentication"> + <img :src="IconUnCertified" class="user-info-unCertified-icon" /> + <div class="user-info-unCertified-text">鏈璇�</div> + </div> + </div> + <div class="mine-go-login" v-else>鍘荤櫥褰�</div> + </div> + </template> + </UserHomeTopView> + </ContentView> + <ContentScrollView v-if="isLogin" class="mine-content-scroll-view"> + <div class="mine-id-menu-wrapper"> + <img :src="IconLamp" class="mine-id-menu-icon" /> + </div> + <List class="mine-setting-list"> + <ListItem :icon="IconSetting" title="璁剧疆" @click="goSetting"></ListItem> + </List> + </ContentScrollView> + </PageLayout> +</template> + +<script setup lang="ts"> +import { + PageLayout, + TransparentNavigationBar, + ContentScrollView, + UserHomeTopView, +} from '@/components'; +import IconUnCertified from '@/assets/mine/icon-unCertified.png'; +import IconLamp from '@/assets/mine/icon-lamp.png'; +import IconMenuBusiness from '@/assets/mine/icon-menu-business.png'; +import IconMenuContact from '@/assets/mine/icon-menu-contact.png'; +import IconSetting from '@/assets/mine/icon-setting.png'; +import IconMessage from '@/assets/mine/icon-message.png'; +import { useUser, useIsLogin, useGoLogin } from '@/hooks'; +import Taro from '@tarojs/taro'; +import { RouterPath, OssAssets } from '@/constants'; +import { List, ListItem } from '@12333/components'; +import { useSystemStore } from '@/stores/modules/system'; + +const { userDetail, isCertified } = useUser(); +const isLogin = useIsLogin(); +const systemStore = useSystemStore(); + +const { goLoginFn } = useGoLogin(); +const bgHeight = computed(() => 133 + systemStore.navHeight); + +function goLogin() { + if (!isLogin.value) { + goLoginFn(); + } +} + +function goPage(routeName: string) { + Taro.navigateTo({ + url: routeName, + }); +} + +function goSetting() { + // goPage(RouterPath.setting); +} + +Taro.showShareMenu({ + showShareItems: ['shareAppMessage'], +}); + +Taro.useShareAppMessage((res) => { + return { + title: `${userDetail.value?.contacter}鍚嶇墖`, + // path: `${RouterPath.userHomePage}?userId=${userDetail.value?.userId}`, + imageUrl: userDetail.value?.avatarUrl, + }; +}); + +function goAuthentication() { + goPage(RouterPath.authenticationHome); +} +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; +@import './index.scss'; + +.mine-setting-badge { + margin-right: 20px; +} +</style> diff --git a/apps/bMiniApp/src/stores/index.ts b/apps/bMiniApp/src/stores/index.ts new file mode 100644 index 0000000..efaf6c9 --- /dev/null +++ b/apps/bMiniApp/src/stores/index.ts @@ -0,0 +1,10 @@ +import type { App } from 'vue'; +import { createPinia } from 'pinia'; + +const store = createPinia(); + +export function setupStore(app: App<Element>) { + app.use(store); +} + +export { store }; diff --git a/apps/bMiniApp/src/stores/modules/system.ts b/apps/bMiniApp/src/stores/modules/system.ts new file mode 100644 index 0000000..8fdd047 --- /dev/null +++ b/apps/bMiniApp/src/stores/modules/system.ts @@ -0,0 +1,116 @@ +import Taro from '@tarojs/taro'; +import { defineStore } from 'pinia'; +import { store } from '@/stores'; + +export interface Options { + path: string; + scene: number; + query: object; + shareTicket: string; + referrerInfo: object; + tabIndex: number; + IPhoneXPadding: number; + navHeight: number; + safeAreaTop: number; + buttonBottom: number; + + redirectPath: string; + isTabSwitch: boolean; + isFirstEnter: boolean; +} + +export const useSystemStore = defineStore({ + id: 'app-system', + /** 鐘舵�� */ + state: () => ({ + options: {} as Options, + + activeTab: 0, + + info: {} as Taro.getSystemInfoSync.Result, + + designWidth: 750, + + screenHeight: 0, + screenWidth: 0, + pageHeightWithTab: 0, + pageHeight: 0, + + IPhoneXPadding: 0, + + navHeight: 0, + bottomNavHeight: 0, + + safeAreaTop: 0, + + navigationBarHeight: 0, + //鍙充笂瑙掕兌鍥婃寜閽珮搴� + menuButtonHeight: 0, + menuButtonWidth: 0, + menuButtonRightDistance: 0, + menuButtonTop: 0, + + isFirstEnter: true, + }), + + actions: { + init(options: Options) { + this.options = options; // 鏀句竴涓嬮〉闈㈢浉鍏崇殑鏁版嵁渚嬪scene绛� 椤甸潰楂樺害涔嬬被鐨勪笉瀛橈紒 + }, + + setInfo(info: Taro.getSystemInfoSync.Result) { + this.info = info; + console.log('info: ', info); + + this.setNavigationBarHeight(info); + + this.screenHeight = info.screenHeight; + this.screenWidth = info.screenWidth; + + this.IPhoneXPadding = info.screenHeight - info.safeArea.bottom; + this.navHeight = info.statusBarHeight + this.navigationBarHeight; + + this.safeAreaTop = info.safeArea.top; + + const scale = info.screenWidth / this.designWidth; + + /** + * 100涓哄簳閮╰abber鐨勯珮搴� + */ + this.bottomNavHeight = 118 * scale; + + this.pageHeight = info.screenHeight - this.navHeight - this.IPhoneXPadding; // 鏃犲簳閮╰abber + this.pageHeightWithTab = this.pageHeight - this.bottomNavHeight; // 鏈夊簳閮╰abber + }, + + setNavigationBarHeight(systemInfo: Taro.getSystemInfoSync.Result) { + const { right, height, width, top } = Taro.getMenuButtonBoundingClientRect(); + + let navigationBarHeight = 0; + + if (systemInfo.platform === 'android') { + navigationBarHeight = 48; + } else { + navigationBarHeight = 44; + } + this.menuButtonHeight = height; + this.menuButtonWidth = width; + this.menuButtonTop = top; + this.menuButtonRightDistance = systemInfo.screenWidth - right; + this.navigationBarHeight = navigationBarHeight; + }, + + setTabIndex(tabIndex: number) { + this.activeTab = tabIndex; + }, + + setIsFirstEnter(isFirstEnter: boolean) { + this.isFirstEnter = isFirstEnter; + }, + }, +}); + +// Need to be used outside the setup +export function useSystemStoreWithOut() { + return useSystemStore(store); +} diff --git a/apps/bMiniApp/src/stores/modules/user.ts b/apps/bMiniApp/src/stores/modules/user.ts new file mode 100644 index 0000000..7e52ace --- /dev/null +++ b/apps/bMiniApp/src/stores/modules/user.ts @@ -0,0 +1,312 @@ +import { defineStore } from 'pinia'; +import { store } from '@/stores'; +import { + getToken as getCacheToken, + getUserInfo as getCacheUserInfo, + setUserInfo, + removeUserInfo, + setUserDetail, + getUserDetail, + removeUserDetail, + removeMatchMakingIdentity, + getMatchMakingIdentity, + setMatchMakingIdentity, +} from '@/utils/storage/auth'; +import * as accountServices from '@12333/services/api/Account'; +import * as userServices from '@12333/services/api/User'; +import Taro, { useRouter } from '@tarojs/taro'; +import { ButtonProps } from '@tarojs/components'; +import { debounce } from 'lodash'; +import { goHome, getStorageLocationCity, setStorageLocationCity } from '@/utils'; +import { + getAccountInfoFromAccessToken, + AccountInfo, + setOSSLink, + getUserCertificationFrontStatusAdapter, + LocationUtils, +} from '@12333/utils'; +import DefaultAvatar from '@/assets/components/icon-default-avatar.png'; +import { WxMiniAppEnum } from '@12333/constants'; +import { myClient } from '@/constants/query'; +import { globalEventEmitter } from '@12333/hooks'; + +interface UserState { + userInfo?: Nullable<API.IdentityModelTokenCacheItem>; + token?: Nullable<string>; + refreshToken?: Nullable<string>; + userDetail?: Nullable<API.UserInfoV2>; + firstGetUserDetail?: boolean; + + locationCity?: string; + locationProvince?: string; + firstSetLocation?: boolean; +} + +const goAuthorization = debounce( + () => { + const route = Taro.getCurrentInstance().router; + if (route.path !== RouterPath.authorization) { + Taro.navigateTo({ + url: RouterPath.authorization, + }); + } + }, + 300, + { + leading: true, + trailing: false, + } +); + +export const useUserStore = defineStore({ + id: 'app-user', + state: (): UserState => { + const userInfo = getCacheUserInfo(); + const userDetail = getUserDetail(); + const storageLocation = getStorageLocationCity(); + + return { + // user info + userInfo: userInfo, + // token + token: userInfo?.accessToken ?? '', + + refreshToken: userInfo?.refreshToken ?? '', + userDetail: userDetail, + firstGetUserDetail: true, + locationCity: storageLocation?.city ?? '鍖椾含甯�', + locationProvince: storageLocation?.province ?? '鍖椾含', + firstSetLocation: true, + }; + }, + getters: { + cacheToken: (state) => { + if (!state.token) { + const storageToken = getCacheToken() as API.IdentityModelTokenCacheItem; + + state.token = storageToken.accessToken; + } + return state.token || null; + }, + + cacheRefreshToken: (state) => { + return state.refreshToken; + }, + + accountInfo(): Partial<AccountInfo> { + return getAccountInfoFromAccessToken(this.userInfo?.accessToken); + }, + + // matchMakingIdentity(state): MatchMakingIdentityEnum { + + // }, + }, + actions: { + // 鎵嬫満鍙锋巿鏉僀ode鐧诲綍 + async getTokenByPhone( + detail: ButtonProps.onGetPhoneNumberEventDetail, + wxMiniAppUserLoginRes: any + ) { + try { + let res: API.IdentityModelTokenCacheItem; + if (!wxMiniAppUserLoginRes.accessToken) { + let params: API.WxMiniAppPhoneLoginInput = { + openId: wxMiniAppUserLoginRes.openId, + sessionKey: wxMiniAppUserLoginRes.sessionKey, + encryptedData: detail.encryptedData, + iv: detail.iv, + wxMiniApp: WxMiniAppEnum.浜哄崟鍚堜竴, + }; + res = await accountServices.wxMiniAppPhoneAuthLogin(params); + this.loginSuccess(res); + } + return res; + } catch (error) { + console.log('error3: ', error); + } + }, + + // 鐢ㄦ埛鎵嬫満楠岃瘉鐮佺櫥鍏� + async loginByUsername(data: API.PhoneMesssageCodeLoginInput) { + let res = await accountServices.phoneMesssageCodeLogin( + { + phoneNumber: data.phoneNumber, + code: data.code, + }, + { showLoading: false } + ); + + if (res) { + this.loginSuccess(res); + } + return res; + }, + + // 鐢ㄦ埛璐﹀彿瀵嗙爜鐧诲叆 + async loginByPassword(data: API.AccessRequestDto) { + let res = await accountServices.passwordLogin( + { + loginName: data.userName, + password: data.userPassword, + }, + { showLoading: false } + ); + if (res) { + this.loginSuccess(res); + } + return res; + }, + + async loginSuccess(res: API.IdentityModelTokenCacheItem) { + try { + this.setUserInfoAction(res); + this.setTokenAction(res); + await this.getCurrentUserInfo(); + } catch (error) {} + }, + + async wxMiniAppUserLoginFromScan(wxIndentityRes: API.WxMiniAppIndentityInfo, uuid: string) { + try { + let res = await accountServices.wxMiniAppUserLoginFromScan({ + uId: uuid, + userName: wxIndentityRes.userName, + openId: wxIndentityRes.openId, + }); + this.loginSuccess(res); + return res; + } catch (error) {} + }, + + async wxMiniAppPhoneAuthLoginFromScan( + detail: ButtonProps.onGetPhoneNumberEventDetail, + wxIndentityRes: API.WxMiniAppIndentityInfo, + uuid: string + ) { + try { + let res = await accountServices.wxMiniAppPhoneAuthLoginFromScan({ + uId: uuid, + openId: wxIndentityRes.openId, + sessionKey: wxIndentityRes.sessionKey, + encryptedData: detail.encryptedData, + iv: detail.iv, + wxMiniApp: WxMiniAppEnum.浜哄崟鍚堜竴, + }); + this.loginSuccess(res); + return res; + } catch (error) {} + }, + + async getCurrentUserInfo() { + try { + let res = await userServices.getUserInfo({ showLoading: false }); + if (res) { + res.frontStatus = getUserCertificationFrontStatusAdapter( + res.userCertificationStatus, + res.userCertificationAuditStatus + ); + res.originalAvatarUrl = res.avatarUrl; + res.avatarUrl = res.avatarUrl ? setOSSLink(res.avatarUrl) : DefaultAvatar; + this.setUserDetail(res); + this.firstGetUserDetail = false; + } + } catch (error) {} + }, + + setTokenAction(tokenInfo: API.IdentityModelTokenCacheItem) { + this.token = tokenInfo?.accessToken; + this.refreshToken = tokenInfo.refreshToken ?? ''; + }, + + setUserInfoAction(info: API.IdentityModelTokenCacheItem) { + this.userInfo = info; + setUserInfo(info); + }, + + setUserDetail(detail: API.UserInfoV2) { + this.userDetail = detail; + setUserDetail(detail); + }, + + resetState() { + this.userInfo = null; + this.token = ''; + this.refreshToken = ''; + this.userDetail = null; + removeUserInfo(); + removeUserDetail(); + removeMatchMakingIdentity(); + }, + + /** + * @description: logout + */ + logout() { + this.resetState(); + myClient.removeQueries(); + goAuthorization(); + }, + + logoutAndToHome() { + this.resetState(); + goHome(); + }, + + toLoginPage(targetUrl?: string) { + // 瀛� 鐧诲綍鍚庤烦杞洰鏍囬〉 + if (targetUrl) { + // tabbar 璺宠浆锛氫笉鏄湪鍏蜂綋椤甸潰鍒ゆ柇鐢ㄦ埛鏄惁鐧诲綍 + } else { + // 椤甸潰閲� 璺宠浆鐧诲綍椤� 瀛樺綋鍓嶉〉闈㈣矾寰� 宸蹭緵鐧婚檰鍚� + const currentPage = useRouter(); + + // const params = omit(currentPage.params, '$taroTimestamp'); + + console.log(currentPage.params); + + // 鐩存帴鐢╟urrentPage.path锛宲arams 浼氫涪澶� + + Taro.redirectTo({ + url: `/packageLogin/authLogin/index`, + }); + } + }, + + async getTokenByRefreshToken(params: API.AccessRefreshToken) { + try { + const res = await accountServices.getTokenByRefreshToken(params, { + showLoading: false, + }); + if (res) { + this.setTokenAction(res); + this.setUserInfoAction(res); + return res; + } else { + throw new Error('鍒锋柊token澶辫触'); + } + } catch (error) { + throw new Error('error'); + } + }, + + setLocationCity(cityName: string, provinceName: string) { + this.locationCity = cityName; + this.locationProvince = provinceName; + this.firstSetLocation = false; + setStorageLocationCity({ city: cityName, province: provinceName }); + if (LocationUtils.isProvinceChange(provinceName)) { + this.resetState(); + myClient.removeQueries(); + globalEventEmitter.trigger('logout/refresh'); + // myClient.invalidateQueries({ + // queryKey: ['logout/refresh'], + // }); + } + LocationUtils.currentProvinceName = provinceName; + }, + }, +}); + +// Need to be used outside the setup +export function useUserStoreWithOut() { + return useUserStore(store); +} diff --git a/apps/bMiniApp/src/styles/common.scss b/apps/bMiniApp/src/styles/common.scss new file mode 100644 index 0000000..fd7aff2 --- /dev/null +++ b/apps/bMiniApp/src/styles/common.scss @@ -0,0 +1,6 @@ +@forward './custom_theme.scss'; +@forward './var.scss'; +@forward './function.scss'; +@forward './hairline.scss'; +@forward './mixins.scss'; +@forward 'sass:map'; diff --git a/apps/bMiniApp/src/styles/config.scss b/apps/bMiniApp/src/styles/config.scss new file mode 100644 index 0000000..000f822 --- /dev/null +++ b/apps/bMiniApp/src/styles/config.scss @@ -0,0 +1,5 @@ +$bole-namespace: 'bole' !default; +$bole-separator: '-' !default; +$bole-element-separator: '__' !default; +$bole-modifier-separator: '--' !default; +$bole-state-prefix: 'is-' !default; diff --git a/apps/bMiniApp/src/styles/custom_theme.scss b/apps/bMiniApp/src/styles/custom_theme.scss new file mode 100644 index 0000000..b2641aa --- /dev/null +++ b/apps/bMiniApp/src/styles/custom_theme.scss @@ -0,0 +1,11 @@ +$primary-color: #3a71ff; +$primary-color-end: #496af2; + +$form-item-error-line-color: #fa2c19; +$form-item-required-color: #fa2c19; +$form-item-error-message-color: #fa2c19; + +$button-border-width: 0; + +$button-primary-background-color: $primary-color; +$body-background-color: #f9f9fb; diff --git a/apps/bMiniApp/src/styles/font.scss b/apps/bMiniApp/src/styles/font.scss new file mode 100644 index 0000000..fe9117f --- /dev/null +++ b/apps/bMiniApp/src/styles/font.scss @@ -0,0 +1,7 @@ +@font-face { + font-family: D-DIN; /* Project id 4331987 */ + src: url('../assets/font/D-DIN.otf') format('otf'); + // url('@/assets/font/D-DIN') format('otf'); + // url('iconfont.woff?t=1700036113989') format('woff'), + // url('iconfont.ttf?t=1700036113989') format('truetype'); +} diff --git a/apps/bMiniApp/src/styles/function.scss b/apps/bMiniApp/src/styles/function.scss new file mode 100644 index 0000000..28aa575 --- /dev/null +++ b/apps/bMiniApp/src/styles/function.scss @@ -0,0 +1,78 @@ +/* stylelint-disable */ +@use 'sass:map'; +@use './config.scss'; + +@mixin bole-set-css-var-value($name, $value) { + #{boleJoinVarName($name)}: #{$value}; +} + +@function boleJoinVarName($list) { + $name: '--' + config.$bole-namespace; + + @each $item in $list { + @if $item != '' { + $name: $name + '-' + $item; + } + } + + @return $name; +} + +// getCssVar('button', 'text-color') => var(--bole-button-text-color) +@function boleGetCssVar($args...) { + @return var(#{boleJoinVarName($args)}); +} + +// getCssVarName('button', 'text-color') => '--bole-button-text-color' +@function boleGetCssVarName($args...) { + @return boleJoinVarName($args); +} + +// getCssVarWithDefault(('button', 'text-color'), red) => var(--el-button-text-color, red) +@function boleGetCssVarWithDefault($args, $default) { + @return var(#{boleJoinVarName($args)}, #{$default}); +} + +// set all css var for component by map +@mixin bole-set-component-css-var($name, $variables) { + @each $attribute, $value in $variables { + @if $attribute == 'default' { + #{boleGetCssVarName($name)}: #{$value}; + } @else { + #{boleGetCssVarName($name, $attribute)}: #{$value}; + } + } +} + +// bem('block', 'element', 'modifier') => 'el-block__element--modifier' +@function bem($block, $element: '', $modifier: '') { + $name: config.$bole-namespace + config.$bole-separator + $block; + + @if $element != '' { + $name: $name + config.$bole-element-separator + $element; + } + + @if $modifier != '' { + $name: $name + config.$bole-modifier-separator + $modifier; + } + + // @debug $name; + @return $name; +} + +@mixin bole-set-css-color-type($colors, $type) { + @include bole-set-css-var-value(('color', $type), map.get($colors, $type, 'base')); + + @each $i in (3, 5, 7, 8, 9) { + @include bole-set-css-var-value( + ('color', $type, 'light', $i), + map.get($colors, $type, 'light-#{$i}') + ); + } + + @include bole-set-css-var-value(('color', $type, 'dark-2'), map.get($colors, $type, 'dark-2')); +} + +@function mapGet($args1, $args2) { + @return map.get($args1, $args2); +} diff --git a/apps/bMiniApp/src/styles/hairline.scss b/apps/bMiniApp/src/styles/hairline.scss new file mode 100644 index 0000000..474efba --- /dev/null +++ b/apps/bMiniApp/src/styles/hairline.scss @@ -0,0 +1,200 @@ +$color-border-light: #eaeaea; + +@mixin hairline-common() { + content: ''; + position: absolute; + transform-origin: center; + box-sizing: border-box; + pointer-events: none; +} + +@mixin hairline() { + @include hairline-common(); + top: -50%; + right: -50%; + bottom: -50%; + left: -50%; + border: 0 solid $color-border-light; + transform: scale(0.5); +} + +@mixin hairline-base($color: $color-border-light, $style: solid) { + @include hairline-common(); + + top: -50%; + left: -50%; + right: -50%; + bottom: -50%; + border: 0 $style $color; + transform: scale(0.5); +} + +@mixin hairline-surround($color: $color-border-light, $style: solid, $width: 1px) { + position: relative; + + &::after { + @include hairline-base($color, $style); + + border-width: $width; + } +} + +@mixin hairline-top($color: $color-border-light, $style: solid, $width: 1px) { + position: relative; + + &::after { + @include hairline-base($color, $style); + + border-top-width: $width; + } +} + +@mixin hairline-bottom($color: $color-border-light, $style: solid, $width: 1px) { + position: relative; + + &::after { + @include hairline-base($color, $style); + + border-bottom-width: $width; + } +} + +@mixin hairline-left($color: $color-border-light, $style: solid, $width: 1px) { + position: relative; + + &::after { + @include hairline-base($color, $style); + + border-left-width: $width; + } +} + +@mixin hairline-right($color: $color-border-light, $style: solid, $width: 1px) { + position: relative; + + &::after { + @include hairline-base($color, $style); + + border-right-width: $width; + } +} + +@mixin hairline-top-bottom($color: $color-border-light, $style: solid, $width: 1px) { + position: relative; + + &::after { + @include hairline-base($color, $style); + + border-top-width: $width; + border-bottom-width: $width; + } +} + +@mixin hairline-bottom-relative($color: $color-border-light, $style: solid, $width: 1px, $left: 0) { + position: relative; + + &::after { + @include hairline-common(); + + top: auto; + left: $left; + right: 0; + bottom: 0; + transform: scaleY(0.5); + border-bottom: $width $style $color; + } +} + +@mixin hairline-top-relative($color: $color-border-light, $style: solid, $width: 1px, $left: 0) { + position: relative; + + &::before { + @include hairline-common(); + + top: 0; + left: $left; + right: 0; + bottom: auto; + transform: scaleY(0.5); + border-top: $width $style $color; + } +} + +@mixin hairline-left-relative($color: $color-border-light, $style: solid, $width: 1px, $top: 0) { + position: relative; + + &::after { + @include hairline-common(); + + top: $top; + left: 0; + right: auto; + bottom: 0; + transform: scaleX(0.5); + border-left: $width $style $color; + } +} + +@mixin hairline-right-relative($color: $color-border-light, $style: solid, $width: 1px, $top: 0) { + position: relative; + + &::after { + @include hairline-common(); + + top: $top; + left: auto; + right: 0; + bottom: 0; + transform: scaleX(0.5); + border-right: $width $style $color; + } +} + +.van-hairline--bottom { + @include hairline-bottom(#ddd, 0, 0); +} + +[class*='van-hairline'] { + &::after { + @include hairline(); + } +} + +.van-hairline { + &, + &--top, + &--left, + &--right, + &--bottom, + &--surround, + &--top-bottom { + position: relative; + } + + &--top::after { + border-top-width: 1px; + } + + &--left::after { + border-left-width: 1px; + } + + &--right::after { + border-right-width: 1px; + } + + &--bottom::after { + border-bottom-width: 1px; + } + + &, + &-unset { + &--top-bottom::after { + border-width: 1px 0; + } + } + + &--surround::after { + border-width: 1px; + } +} diff --git a/apps/bMiniApp/src/styles/index.scss b/apps/bMiniApp/src/styles/index.scss new file mode 100644 index 0000000..9b655fc --- /dev/null +++ b/apps/bMiniApp/src/styles/index.scss @@ -0,0 +1,83 @@ +@use './var.scss' as *; +@use './function.scss' as *; +@use './reset.scss' as *; +@use './nut.scss' as *; +@use './mixins.scss' as *; +@use './font.scss' as *; +@use 'sass:map'; +@use 'senin-mini/dist/styles/index.scss' as *; + +:root, +page { + @include bole-set-component-css-var('color', $bole-colors); + @include bole-set-component-css-var('text-color', $bole-text-color); + @include bole-set-component-css-var('size', $bole-size); + background-color: map-get($bole-colors, 'body-background-color'); + + font-family: Source Han Sans CN, 'PingFang SC', 'miui', 'Microsoft Yahei', BlinkMacSystemFont, + 'Helvetica Neue', Helvetica, Segoe UI, Arial, Roboto, 'Hiragino Sans GB', sans-serif; + + --primary-color: #{map-get($bole-colors, 'primary')}; + overflow: hidden; + + --nut-primary-color: #{map-get($bole-colors, 'primary')}; + --nut-primary-color-end: $primary-color-end; + + --nut-tag-success-background-color: #d0f8e2; + --nut-tag-danger-background-color: #ffe5e5; + + --nut-badge-background-color: #{map-get($bole-colors, 'danger')}; +} + +.clearfix:after { + content: ''; + display: block; + height: 0; + clear: both; + visibility: hidden; +} + +.clearfix { + /* 瑙﹀彂 hasLayout */ + zoom: 1; +} + +// 瑙e喅iPhone x 浠ュ悗鐨勬満鍨� 搴曢儴瀹夊叏鍖哄煙鐨勯棶棰� https://jelly.jd.com/article/6006b1055b6c6a01506c87fd +.safe-area-bottom { + padding-bottom: constant(safe-area-inset-bottom); + padding-bottom: env(safe-area-inset-bottom); +} + +.primary { + color: boleGetCssVar('color', 'primary'); +} + +.warning { + color: boleGetCssVar('color', 'warning'); +} + +.danger { + color: boleGetCssVar('color', 'danger'); +} + +.success { + color: boleGetCssVar('color', 'success'); +} + +.common-infinite-scroll-list-no-padding { + @include listScrollViewWithNoPadding; +} + +.common-infinite-scroll-list { + @include listScrollView; +} + +.common-page-infinite-scroll-list { + @include listScrollView; + padding-top: 16px; +} + +.id-imgUrl-wrapper { + display: flex; + gap: 40px; +} diff --git a/apps/bMiniApp/src/styles/mixins.scss b/apps/bMiniApp/src/styles/mixins.scss new file mode 100644 index 0000000..a883f74 --- /dev/null +++ b/apps/bMiniApp/src/styles/mixins.scss @@ -0,0 +1,76 @@ +@use './var.scss' as *; + +@mixin multi-ellipsis($lines) { + display: -webkit-box; + + overflow: hidden; + text-overflow: ellipsis; + -webkit-line-clamp: $lines; + -webkit-box-orient: vertical; +} + +@mixin ellipsis() { + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; +} + +.ellipsis { + @include ellipsis(); +} + +.multi-ellipsis--l2 { + @include multi-ellipsis(2); +} + +.multi-ellipsis--l3 { + @include multi-ellipsis(3); +} + +.multi-ellipsis--l9 { + @include multi-ellipsis(9); +} + +@mixin infiniteLoadingInTabBarPage { + .loading-more-tips, + .infiniting-tips { + padding-bottom: 40px; + } +} + +@mixin safe-area-bottom() { + padding-bottom: constant(safe-area-inset-bottom); + padding-bottom: env(safe-area-inset-bottom); +} + +@mixin listScrollViewWithNoPadding { + flex: 1; + min-height: 0; + box-sizing: border-box; +} + +@mixin listScrollView { + padding: 0 map-get($bole-size, 'body-padding-h'); + @include listScrollViewWithNoPadding; +} + +@mixin infiniteLoadingInTabBarPage { + .loading-more-tips, + .infiniting-tips { + padding-bottom: 50px; + } +} + +@mixin ScrollViewInner { + // padding: 20px 0; + padding-bottom: 24px; +} + +@mixin hiddenScrollBar { + ::-webkit-scrollbar { + display: none; + width: 0; + height: 0; + color: transparent; + } +} diff --git a/apps/bMiniApp/src/styles/nut.scss b/apps/bMiniApp/src/styles/nut.scss new file mode 100644 index 0000000..580a0fc --- /dev/null +++ b/apps/bMiniApp/src/styles/nut.scss @@ -0,0 +1,160 @@ +@use './function.scss' as *; +@use './hairline.scss' as *; + +:root, +page { + .category-searchbar-container { + padding: 30px; + } + + .h5-view.nut-popup.nut-popup--bottom { + padding-bottom: constant(safe-area-inset-bottom); + padding-bottom: env(safe-area-inset-bottom); + } + + .nut-button.dark-btn { + color: boleGetCssVar('text-color', 'primary') !important; + } + + .nut-form { + .nut-cell-group__wrap { + margin-top: 0; + border-radius: 0; + } + + .nut-cell.bole-form-item { + --nut-form-item-label-width: 120px; + &:not(.alignTop) { + align-items: center !important; + } + + &.labelTop { + display: block; + } + + padding: 30rpx; + + &::after { + border-bottom: 1px solid #f0f0f0; + left: 30rpx; + right: 30rpx; + display: none; + } + + .nut-form-item__body__tips { + position: absolute; + bottom: 0; + } + &:not(.bole-form-item-phone) { + .nut-form-item__body__tips { + right: 30rpx; + } + } + + .nut-form-item__label { + font-size: 28rpx; + color: boleGetCssVar('text-color', 'primary'); + } + + &.vertical { + flex-direction: column; + align-items: flex-start !important; + } + + .nut-form-item__label.required::before { + position: absolute; + left: 12rpx; + } + + .nut-radio-group--horizontal { + .nut-radio { + margin-bottom: 0; + vertical-align: middle; + } + } + + .nut-rate { + vertical-align: middle; + } + + &.hidden-label { + .nut-form-item__label { + opacity: 0; + } + } + + .bole-uploader { + padding-top: 16rpx; + + &.nopaddingtop { + padding-top: 0; + } + } + } + + .bole-form-item-phone { + padding: 24rpx 30rpx; + } + + .nut-uploader { + // justify-content: flex-end; + } + } + + .bole-input-text:not(.nut-input--disabled) { + .h5-input { + color: boleGetCssVar('text-color', 'primary') !important; + display: block; + font-size: 26rpx; + } + + .input-placeholder { + color: boleGetCssVar('text-color', 'placeholder') !important; + font-size: 26rpx; + } + } + + .bole-input-textarea:not(.nut-input--disabled) { + color: boleGetCssVar('text-color', 'primary') !important; + height: 100rpx; + } + + .bole-input-text-placeholder { + color: boleGetCssVar('text-color', 'placeholder') !important; + font-size: 26rpx; + line-height: 20rpx; + } + + .form-item-divider { + margin: 0 28px; + width: calc(100% - 56px); + color: #f0f0f0; + } + + // .nut-overlay { + // z-index: 20022221 !important; + // } + + // .nut-popup { + // z-index: 2222222222 !important; + // } + + .nut-tabs__titles-item__smile { + // display: none; + opacity: 0; + transition: width 0.3s ease; + } + + .nut-tabs__titles.smile .nut-tabs__titles-item.active .nut-tabs__titles-item__smile { + // display: block; + opacity: 1; + } + + .nut-toast { + z-index: 99999999999; + } + + .pro-form-item-tips { + word-break: break-all; + } +} diff --git a/apps/bMiniApp/src/styles/reset.scss b/apps/bMiniApp/src/styles/reset.scss new file mode 100644 index 0000000..98ca895 --- /dev/null +++ b/apps/bMiniApp/src/styles/reset.scss @@ -0,0 +1,30 @@ +h1, +h2, +h3, +h4, +h5, +h6, +strong, +p, +ul, +input, +i, +b, +em, +li, +ol, +dl, +dd, +page { + font: 32px Source Han Sans CN; + font-family: Source Han Sans CN, 'PingFang SC', 'miui', 'Microsoft Yahei', BlinkMacSystemFont, + 'Helvetica Neue', Helvetica, Segoe UI, Arial, Roboto, 'Hiragino Sans GB', sans-serif; + margin: 0; + padding: 0; + list-style: none; +} + +img { + border: none; + display: block; +} diff --git a/apps/bMiniApp/src/styles/var.scss b/apps/bMiniApp/src/styles/var.scss new file mode 100644 index 0000000..ada928e --- /dev/null +++ b/apps/bMiniApp/src/styles/var.scss @@ -0,0 +1,35 @@ +@use './custom_theme.scss' as *; +@use 'sass:map'; +@use 'sass:math'; + +$bole-colors: () !default; +$bole-colors: map.deep-merge( + ( + 'primary': $primary-color, + 'body-background-color': $body-background-color, + 'title-color': #444444, + 'shadow-color': rgba(0, 0, 0, 0.15), + 'warning': #ef9c00, + 'danger': #fe3333, + 'success': #31b573, + 'info': #e9e8e8, + ), + $bole-colors +); + +$bole-text-color: ( + 'primary': #444444, + 'regular': #7c7c7c, + 'secondary': #9e9e9e, + 'placeholder': #cbcbcb, +); + +$bole-size: () !default; +$bole-size: map.deep-merge( + ( + 'body-padding-h': 28px, + ), + $bole-size +); + +$base-footer-box-shadow: 0px -10px 40px 0px map-get($bole-colors, 'shadow-color'); diff --git a/apps/bMiniApp/src/subpackages/authentication/authenticationFaRen/InnerPage.vue b/apps/bMiniApp/src/subpackages/authentication/authenticationFaRen/InnerPage.vue new file mode 100644 index 0000000..d68eec5 --- /dev/null +++ b/apps/bMiniApp/src/subpackages/authentication/authenticationFaRen/InnerPage.vue @@ -0,0 +1,216 @@ +<template> + <ContentScrollView :paddingH="false"> + <nut-form :model-value="form" ref="formRef" :rules="rules"> + <nut-form-item label="钀ヤ笟鎵х収:" class="bole-form-item alignTop" prop="licenseUrl" required> + <Uploader + v-model:file-list="form.licenseUrl" + :maximum="1" + :limitFileSize="10" + class="bole-uploader nopaddingtop" + @my-success="handleLicenseUrlChange" + > + </Uploader> + <div class="pro-form-item-tips"> + 璇蜂笂浼犳渶鏂扮殑钀ヤ笟鎵х収鍘熶欢鐓х墖銆佹壂鎻忎欢鎴栧姞鐩栧叕绔犵殑澶嶅嵃浠讹紝鏀寔png/jpg/jpeg鏍煎紡锛屾枃浠跺ぇ灏忎笉瓒呰繃10MB + </div> + </nut-form-item> + <nut-form-item label="浼佷笟鍏ㄧО:" class="bole-form-item" prop="enterpriseName" required> + <nut-input + v-model.trim="form.enterpriseName" + class="nut-input-text bole-input-text" + placeholder="璇疯緭鍏ユ偍钀ヤ笟鎵х収涓婄殑浼佷笟鍚嶇О" + type="text" + :max-length="35" + /> + </nut-form-item> + <nut-form-item + label="缁熶竴绀句細淇$敤浠g爜:" + class="bole-form-item" + prop="societyCreditCode" + required + > + <nut-input + v-model.trim="form.societyCreditCode" + class="nut-input-text bole-input-text" + placeholder="璇疯緭鍏ユ偍钀ヤ笟鎵х収涓婄殑淇$敤浠g爜" + type="text" + /> + </nut-form-item> + <ProFormItemCell label="娉曚汉韬唤璇佺収鐗�:" required> + <div class="id-imgUrl-wrapper"> + <nut-form-item + label=" " + class="bole-form-item" + prop="legalPersonIdFrontImgUrl" + label-width="0px" + > + <Uploader + v-model:file-list="form.legalPersonIdFrontImgUrl" + :maximum="1" + :limitFileSize="10" + class="bole-uploader nopaddingtop" + @my-success="handleFrontImgUrlChange" + > + <template #upload-icon> + <div class="photograph-wrapper"> + <Photograph color="#808080" /> + <div>韬唤璇佷汉鍍忛潰</div> + </div> + </template> + </Uploader> + </nut-form-item> + <nut-form-item + label=" " + class="bole-form-item" + prop="legalPersonIdBackImgUrl" + label-width="0px" + > + <Uploader + v-model:file-list="form.legalPersonIdBackImgUrl" + :maximum="1" + :limitFileSize="10" + class="bole-uploader nopaddingtop" + > + <template #upload-icon> + <div class="photograph-wrapper"> + <Photograph color="#808080" /> + <div>韬唤璇佸浗寰介潰</div> + </div> + </template> + </Uploader> + </nut-form-item> + </div> + + <div class="pro-form-item-tips"> + 璇蜂笂浼犳硶浜鸿韩浠借瘉鐨勬鍙嶉潰鐓х墖锛岀‘淇濊韩浠借瘉娓呮櫚鍙锛屾敮鎸乸ng/jpg/jpeg鏍煎紡锛屾枃浠跺ぇ灏忎笉瓒呰繃10MB + </div> + </ProFormItemCell> + <nut-form-item label="娉曚汉濮撳悕:" class="bole-form-item" prop="legalPersonName" required> + <nut-input + v-model.trim="form.legalPersonName" + class="nut-input-text bole-input-text" + placeholder="璇峰~鍐欎紒涓氭硶浜虹殑濮撳悕" + type="text" + /> + </nut-form-item> + <nut-form-item + label="娉曚汉韬唤璇佸彿:" + class="bole-form-item" + prop="legalPersonIdNumber" + required + > + <nut-input + v-model.trim="form.legalPersonIdNumber" + class="nut-input-text bole-input-text" + placeholder="璇峰~鍐欎紒涓氭硶浜虹殑韬唤璇佸彿鐮�" + type="text" + /> + </nut-form-item> + <nut-form-item + label="娉曚汉鎵嬫満鍙�:" + class="bole-form-item" + prop="legalPersonContactPhone" + required + > + <nut-input + v-model.trim="form.legalPersonContactPhone" + class="nut-input-text bole-input-text" + placeholder="璇峰~鍐欎紒涓氭硶浜虹殑鎵嬫満鍙风爜" + type="text" + > + <template #right> + <ProFormCaptcha + :onGetCaptcha="() => onGetCaptcha(form.legalPersonContactPhone)" + :phonePropName="['legalPersonContactPhone', 'legalPersonName', 'legalPersonIdNumber']" + :validateField="formRef?.validate" + ></ProFormCaptcha> + </template> + </nut-input> + </nut-form-item> + <nut-form-item label="鐭俊楠岃瘉鐮�:" class="bole-form-item" prop="verificationCode" required> + <nut-input + v-model.trim="form.verificationCode" + class="nut-input-text bole-input-text" + placeholder="璇疯緭鍏ラ獙璇佺爜" + type="number" + /> + </nut-form-item> + </nut-form> + </ContentScrollView> + <PageFooter :isOnlyAction="false"> + <PageFooterBtn type="primary" @click="handleSubmit()" :loading="loading" + >鎻愪氦璁よ瘉</PageFooterBtn + > + </PageFooter> +</template> + +<script setup lang="ts"> +import { useAuthenticationFlow } from '../hooks'; +import { + UserCertificationModeEnumV2, + VerificationCodeBusinessType, + UserCertificationElementEnum, +} from '@12333/constants'; +import { ProFormCaptcha, ProFormItemCell } from 'senin-mini/components'; +import * as commonServices from '@12333/services/api/Common'; +import { FileItem } from '@nutui/nutui-taro/dist/types/__VUE/uploader/type'; +import { vatLicense, userCredentialVerifyOcrIDCard } from '@12333/hooks'; +import { Message } from '@12333/utils'; +import { Photograph } from '@nutui/icons-vue-taro'; + +defineOptions({ + name: 'InnerPage', +}); + +const { form, rules, formRef, handleSubmit, loading } = useAuthenticationFlow({ + certificationMode: UserCertificationModeEnumV2.LegalPersonPhoneCertification, + certificationElement: UserCertificationElementEnum.Identity4, +}); + +async function onGetCaptcha(phoneNumber: string) { + await commonServices.sendPhoneCertificationVerificationCode( + { + name: form.legalPersonName, + identity: form.legalPersonIdNumber, + mobile: form.legalPersonContactPhone, + businessType: VerificationCodeBusinessType.UserCertificationPhoneCertification, + }, + { showLoading: false } + ); +} + +const handleLicenseUrlChange = (response: FileItem) => { + vatLicense(response, { + onSuccess(res) { + let tips: string[] = []; + res?.name ? (form.enterpriseName = res.name) : tips.push('浼佷笟鍚嶇О'); + res?.societyCode ? (form.societyCreditCode = res.societyCode) : tips.push('缁熶竴绀句細淇$敤浠g爜'); + if (tips.length > 0) { + Message.error(`鏈兘璇嗗埆鍒版偍涓婁紶鐨勫浘鐗囷紝璇烽噸鏂颁笂浼犳竻鏅扮殑鍥剧墖鎴栨墜鍔ㄨ緭鍏�${tips.join('鍜�')}`); + } + }, + }); +}; + +function handleFrontImgUrlChange(response: FileItem) { + userCredentialVerifyOcrIDCard(response, { + onSuccess(res) { + if (res.realName) form.legalPersonName = res.realName; + if (res.idcardNum) form.legalPersonIdNumber = res.idcardNum; + }, + }); +} +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; + +.authenticationFaRen-page-wrapper { + .photograph-wrapper { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + } +} +</style> diff --git a/apps/bMiniApp/src/subpackages/authentication/authenticationFaRen/authenticationFaRen.config.ts b/apps/bMiniApp/src/subpackages/authentication/authenticationFaRen/authenticationFaRen.config.ts new file mode 100644 index 0000000..305fdb1 --- /dev/null +++ b/apps/bMiniApp/src/subpackages/authentication/authenticationFaRen/authenticationFaRen.config.ts @@ -0,0 +1,3 @@ +export default definePageConfig({ + disableScroll: true, +}); diff --git a/apps/bMiniApp/src/subpackages/authentication/authenticationFaRen/authenticationFaRen.vue b/apps/bMiniApp/src/subpackages/authentication/authenticationFaRen/authenticationFaRen.vue new file mode 100644 index 0000000..3fd6135 --- /dev/null +++ b/apps/bMiniApp/src/subpackages/authentication/authenticationFaRen/authenticationFaRen.vue @@ -0,0 +1,14 @@ +<template> + <PageLayout title="浼佷笟娉曚汉璁よ瘉" class="authenticationFaRen-page-wrapper" hasBorder> + <InnerPage /> + </PageLayout> +</template> + +<script setup lang="ts"> +import { PageLayout } from '@/components'; +import InnerPage from './InnerPage.vue'; + +defineOptions({ + name: 'authenticationFaRen', +}); +</script> diff --git a/apps/bMiniApp/src/subpackages/authentication/authenticationHome/InnerPage.vue b/apps/bMiniApp/src/subpackages/authentication/authenticationHome/InnerPage.vue new file mode 100644 index 0000000..8832814 --- /dev/null +++ b/apps/bMiniApp/src/subpackages/authentication/authenticationHome/InnerPage.vue @@ -0,0 +1,76 @@ +<template> + <ContentScrollView class="authenticationHome-page-view"> + <div class="authenticationHome-page-title">瀹炲悕璁よ瘉</div> + <authenticationHomeItem + title="浼佷笟娉曚汉璁よ瘉" + :icon="IconFaren" + :info="[['浼佷笟钀ヤ笟鎵х収鐓х墖', '娉曚汉韬唤璇佺収鐗�'], ['娉曚汉鎵嬫満鍙风爜(鎺ユ敹鐭俊楠岃瘉鐮佽繘琛岀煭淇℃牳楠�)']]" + @click="goFaRen" + ></authenticationHomeItem> + <authenticationHomeItem + title="浼佷笟缁忓姙浜鸿璇�" + isJBR + :icon="IconJBR" + :info="[ + ['浼佷笟鎺堟潈涔�', '浼佷笟钀ヤ笟鎵х収鐓х墖', '缁忓姙浜鸿韩浠借瘉鐓х墖'], + ['缁忓姙浜烘墜鏈哄彿鐮�(鎺ユ敹鐭俊楠岃瘉鐮佽繘琛岀煭淇℃牳楠�)'], + ]" + @click="goJBR" + > + <template #title-extra> + <div class="authenticationHome-page-title-btn" @click.stop="downloadPowerAttorneyTemplate"> + 涓嬭浇鎺堟潈涔︽ā鐗� + </div> + </template> + </authenticationHomeItem> + </ContentScrollView> +</template> + +<script setup lang="ts"> +import authenticationHomeItem from './authenticationHomeItem.vue'; +import IconFaren from '@/assets/authentication/icon-faren.png'; +import IconJBR from '@/assets/authentication/icon-jbr.png'; +import Taro from '@tarojs/taro'; +import { useDownloadPowerAttorneyTemplate } from '../hooks'; + +defineOptions({ + name: 'InnerPage', +}); + +function goFaRen() { + Taro.navigateTo({ url: RouterPath.authenticationFaRen }); +} + +function goJBR() { + Taro.navigateTo({ url: RouterPath.authenticationJBR }); +} + +const { downloadPowerAttorneyTemplate } = useDownloadPowerAttorneyTemplate(); +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; + +.authenticationHome-page-wrapper { + .authenticationHome-page-view { + padding-top: 48px; + background-color: transparent; + } + + .authenticationHome-page-title { + font-weight: 600; + font-size: 44px; + color: #2f4879; + line-height: 60px; + margin-bottom: 44px; + } + + .authenticationHome-page-title-btn { + font-weight: bold; + font-size: 24px; + color: boleGetCssVar('color', 'primary'); + line-height: 34px; + margin-left: 24px; + } +} +</style> diff --git a/apps/bMiniApp/src/subpackages/authentication/authenticationHome/authenticationHome.config.ts b/apps/bMiniApp/src/subpackages/authentication/authenticationHome/authenticationHome.config.ts new file mode 100644 index 0000000..305fdb1 --- /dev/null +++ b/apps/bMiniApp/src/subpackages/authentication/authenticationHome/authenticationHome.config.ts @@ -0,0 +1,3 @@ +export default definePageConfig({ + disableScroll: true, +}); diff --git a/apps/bMiniApp/src/subpackages/authentication/authenticationHome/authenticationHome.vue b/apps/bMiniApp/src/subpackages/authentication/authenticationHome/authenticationHome.vue new file mode 100644 index 0000000..ac39fb5 --- /dev/null +++ b/apps/bMiniApp/src/subpackages/authentication/authenticationHome/authenticationHome.vue @@ -0,0 +1,35 @@ +<template> + <PageLayout class="authenticationHome-page-wrapper"> + <template #navigationBar> + <TransparentNavigationBar title="瀹炲悕璁よ瘉" :is-absolute="false"></TransparentNavigationBar> + </template> + <template #bg> + <img :src="OssAssets.authentication.AuthenticationBg" class="authenticationHome-page-bg" /> + </template> + <InnerPage /> + </PageLayout> +</template> + +<script setup lang="ts"> +import { PageLayout } from '@/components'; +import { OssAssets } from '@12333/constants'; +import InnerPage from './InnerPage.vue'; + +defineOptions({ + name: 'authenticationHome', +}); +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; + +.authenticationHome-page-bg { + position: fixed; + z-index: -1; + top: 0; + left: 0; + width: 100%; + height: 100%; + object-fit: cover; +} +</style> diff --git a/apps/bMiniApp/src/subpackages/authentication/authenticationHome/authenticationHomeItem.vue b/apps/bMiniApp/src/subpackages/authentication/authenticationHome/authenticationHomeItem.vue new file mode 100644 index 0000000..450e8e3 --- /dev/null +++ b/apps/bMiniApp/src/subpackages/authentication/authenticationHome/authenticationHomeItem.vue @@ -0,0 +1,159 @@ +<template> + <div :class="['authentication-home-item', { isJBR }]"> + <div class="authentication-home-item-top"> + <img class="authentication-home-item-icon" :src="icon" /> + <div class="authentication-home-item-title-wrapper"> + <div class="authentication-home-item-title"> + <div class="authentication-home-item-title-text"> + {{ title }} + </div> + <slot name="title-extra"></slot> + </div> + <div class="authentication-home-item-subtitle">鎮ㄩ渶瑕佸噯澶�</div> + </div> + <img :src="IconArrow" alt="" class="authentication-home-item-arrow" /> + </div> + <div class="authentication-home-item-info"> + <div class="authentication-home-item-info-row" v-for="(infoItem, index) in info" :key="index"> + <div class="authentication-home-item-info-item" v-for="(item, i) in infoItem" :key="i"> + <div class="authentication-home-item-info-item-dot"></div> + <div class="authentication-home-item-info-item-text">{{ item }}</div> + </div> + </div> + </div> + </div> +</template> + +<script setup lang="ts"> +import IconArrow from '@/assets/authentication/icon-arrow.png'; + +defineOptions({ + name: 'authenticationHomeItem', +}); + +type Props = { + title?: string; + isJBR?: boolean; + icon?: string; + info?: string[][]; +}; + +const props = withDefaults(defineProps<Props>(), { + info: () => [], +}); +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; + +.authentication-home-item { + background-color: #fff; + padding: 36px 24px 32px; + border-radius: 32px; + position: relative; + z-index: 1; + margin-bottom: 32px; + + &::before { + content: ''; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 80px; + background: linear-gradient(180deg, #eff6ff 0%, rgba(239, 246, 255, 0) 100%); + border-radius: 30px 30px 0px 0px; + z-index: -1; + } + + &.isJBR { + &::before { + background: linear-gradient(180deg, #fff7f7 0%, rgba(255, 247, 247, 0) 100%); + } + } + + .authentication-home-item-top { + display: flex; + align-items: center; + margin-bottom: 40px; + + .authentication-home-item-icon { + width: 72px; + height: 72px; + margin-right: 16px; + } + + .authentication-home-item-title-wrapper { + flex: 1; + min-width: 0; + + .authentication-home-item-title { + font-weight: 600; + font-size: 32px; + line-height: 44px; + display: flex; + align-items: center; + + .authentication-home-item-title-text { + color: boleGetCssVar('text-color', 'primary'); + } + } + + .authentication-home-item-subtitle { + font-weight: 400; + font-size: 24px; + color: boleGetCssVar('text-color', 'regular'); + line-height: 34px; + } + } + + .authentication-home-item-arrow { + width: 32px; + height: 32px; + } + } + + .authentication-home-item-info { + background: #f9fbff; + border-radius: 8px; + padding: 24px; + display: flex; + flex-wrap: wrap; + + .authentication-home-item-info-row { + display: flex; + align-items: center; + margin-bottom: 16px; + + &:last-child { + margin-bottom: 0; + } + } + + .authentication-home-item-info-item { + display: flex; + align-items: center; + margin-right: 24px; + + &:last-child { + margin-right: 0; + } + + .authentication-home-item-info-item-dot { + width: 8px; + height: 8px; + background: #7bb0f6; + border-radius: 50%; + margin-right: 16px; + } + + .authentication-home-item-info-item-text { + font-weight: 400; + font-size: 24px; + color: boleGetCssVar('text-color', 'primary'); + line-height: 34px; + } + } + } +} +</style> diff --git a/apps/bMiniApp/src/subpackages/authentication/authenticationJBR/InnerPage.vue b/apps/bMiniApp/src/subpackages/authentication/authenticationJBR/InnerPage.vue new file mode 100644 index 0000000..932009e --- /dev/null +++ b/apps/bMiniApp/src/subpackages/authentication/authenticationJBR/InnerPage.vue @@ -0,0 +1,244 @@ +<template> + <ContentScrollView :paddingH="false"> + <nut-form :model-value="form" ref="formRef" :rules="rules"> + <nut-form-item label="钀ヤ笟鎵х収:" class="bole-form-item alignTop" prop="licenseUrl" required> + <Uploader + v-model:file-list="form.licenseUrl" + :maximum="1" + :limitFileSize="10" + class="bole-uploader nopaddingtop" + @my-success="handleLicenseUrlChange" + > + </Uploader> + <div class="pro-form-item-tips"> + 璇蜂笂浼犳渶鏂扮殑钀ヤ笟鎵х収鍘熶欢鐓х墖銆佹壂鎻忎欢鎴栧姞鐩栧叕绔犵殑澶嶅嵃浠讹紝鏀寔png/jpg/jpeg鏍煎紡锛屾枃浠跺ぇ灏忎笉瓒呰繃10MB + </div> + </nut-form-item> + <nut-form-item label="浼佷笟鍏ㄧО:" class="bole-form-item" prop="enterpriseName" required> + <nut-input + v-model.trim="form.enterpriseName" + class="nut-input-text bole-input-text" + placeholder="璇疯緭鍏ユ偍钀ヤ笟鎵х収涓婄殑浼佷笟鍚嶇О" + type="text" + :max-length="35" + /> + </nut-form-item> + <nut-form-item + label="缁熶竴绀句細淇$敤浠g爜:" + class="bole-form-item" + prop="societyCreditCode" + required + > + <nut-input + v-model.trim="form.societyCreditCode" + class="nut-input-text bole-input-text" + placeholder="璇疯緭鍏ユ偍钀ヤ笟鎵х収涓婄殑淇$敤浠g爜" + type="text" + /> + </nut-form-item> + <nut-form-item label="娉曚汉濮撳悕:" class="bole-form-item" prop="legalPersonName" required> + <nut-input + v-model.trim="form.legalPersonName" + class="nut-input-text bole-input-text" + placeholder="璇峰~鍐欎紒涓氭硶浜虹殑濮撳悕" + type="text" + /> + </nut-form-item> + <ProFormItemCell label="缁忓姙浜鸿韩浠借瘉鐓х墖:" required> + <div class="id-imgUrl-wrapper"> + <nut-form-item + label=" " + class="bole-form-item" + prop="proxyPersonIdFrontImgUrl" + label-width="0px" + > + <Uploader + v-model:file-list="form.proxyPersonIdFrontImgUrl" + :maximum="1" + :limitFileSize="10" + class="bole-uploader nopaddingtop" + @my-success="handleFrontImgUrlChange" + > + <template #upload-icon> + <div class="photograph-wrapper"> + <Photograph color="#808080" /> + <div>韬唤璇佷汉鍍忛潰</div> + </div> + </template> + </Uploader> + </nut-form-item> + <nut-form-item + label=" " + class="bole-form-item" + prop="proxyPersonIdBackImgUrl" + label-width="0px" + > + <Uploader + v-model:file-list="form.proxyPersonIdBackImgUrl" + :maximum="1" + :limitFileSize="10" + class="bole-uploader nopaddingtop" + > + <template #upload-icon> + <div class="photograph-wrapper"> + <Photograph color="#808080" /> + <div>韬唤璇佸浗寰介潰</div> + </div> + </template> + </Uploader> + </nut-form-item> + </div> + + <div class="pro-form-item-tips"> + 璇蜂笂浼犵粡鍔炰汉韬唤璇佺殑姝e弽闈㈢収鐗囷紝纭繚韬唤璇佹竻鏅板彲瑙侊紝鏀寔png/jpg/jpeg鏍煎紡锛屾枃浠跺ぇ灏忎笉瓒呰繃10MB + </div> + </ProFormItemCell> + <nut-form-item label="缁忓姙浜哄鍚�:" class="bole-form-item" prop="proxyPersonName" required> + <nut-input + v-model.trim="form.proxyPersonName" + class="nut-input-text bole-input-text" + placeholder="璇峰~鍐欑粡鍔炰汉鐨勫鍚�" + type="text" + /> + </nut-form-item> + <nut-form-item + label="缁忓姙浜鸿韩浠借瘉鍙�:" + class="bole-form-item" + prop="proxyPersonIdNumber" + required + > + <nut-input + v-model.trim="form.proxyPersonIdNumber" + class="nut-input-text bole-input-text" + placeholder="璇峰~鍐欑粡鍔炰汉鐨勮韩浠借瘉鍙风爜" + type="text" + /> + </nut-form-item> + <nut-form-item + label="缁忓姙浜烘墜鏈哄彿:" + class="bole-form-item" + prop="proxyPersonContactPhone" + required + > + <nut-input + v-model.trim="form.proxyPersonContactPhone" + class="nut-input-text bole-input-text" + placeholder="璇峰~鍐欑粡鍔炰汉鐨勬墜鏈哄彿鐮�" + type="text" + > + <template #right> + <ProFormCaptcha + :onGetCaptcha="() => onGetCaptcha(form.proxyPersonContactPhone)" + phonePropName="proxyPersonContactPhone" + :validateField="formRef?.validate" + ></ProFormCaptcha> + </template> + </nut-input> + </nut-form-item> + <nut-form-item label="鐭俊楠岃瘉鐮�:" class="bole-form-item" prop="verificationCode" required> + <nut-input + v-model.trim="form.verificationCode" + class="nut-input-text bole-input-text" + placeholder="璇疯緭鍏ラ獙璇佺爜" + type="number" + /> + </nut-form-item> + <nut-form-item + label="浼佷笟鎺堟潈涔�:" + class="bole-form-item alignTop" + prop="proxyPowerAttorneyUrl" + required + > + <Uploader + v-model:file-list="form.proxyPowerAttorneyUrl" + :maximum="1" + :limitFileSize="10" + class="bole-uploader nopaddingtop" + > + </Uploader> + <div class="pro-form-item-tips"> + 璇蜂笂浼犲姞鐩栧叕绔犵殑浼佷笟鎺堟潈涔︾収鐗囨垨鎵弿浠讹紝鏀寔png/jpg/jpeg/pdf鏍煎紡锛屾枃浠跺ぇ灏忎笉瓒呰繃10MB + <span class="primary" @click="downloadPowerAttorneyTemplate">鎺堟潈涔︽ā鏉夸笅杞�</span> + </div> + </nut-form-item> + </nut-form> + </ContentScrollView> + <PageFooter :isOnlyAction="false"> + <PageFooterBtn type="primary" @click="handleSubmit()" :loading="loading" + >鎻愪氦璁よ瘉</PageFooterBtn + > + </PageFooter> +</template> + +<script setup lang="ts"> +import { useAuthenticationFlow, useDownloadPowerAttorneyTemplate } from '../hooks'; +import { + UserCertificationModeEnumV2, + VerificationCodeBusinessType, + UserCertificationElementEnum, +} from '@12333/constants'; +import { ProFormCaptcha, ProFormItemCell } from 'senin-mini/components'; +import * as commonServices from '@12333/services/api/Common'; +import { FileItem } from '@nutui/nutui-taro/dist/types/__VUE/uploader/type'; +import { vatLicense, userCredentialVerifyOcrIDCard } from '@12333/hooks'; +import { Message } from '@12333/utils'; +import { Photograph } from '@nutui/icons-vue-taro'; + +defineOptions({ + name: 'InnerPage', +}); + +const { form, rules, formRef, handleSubmit, loading } = useAuthenticationFlow({ + certificationMode: UserCertificationModeEnumV2.ProxyPersonPhoneCertification, + certificationElement: UserCertificationElementEnum.Identity3, +}); + +const { downloadPowerAttorneyTemplate } = useDownloadPowerAttorneyTemplate(); + +async function onGetCaptcha(phoneNumber: string) { + await commonServices.sendPhoneCertificationVerificationCode( + { + name: form.proxyPersonName, + identity: form.proxyPersonIdNumber, + mobile: form.proxyPersonContactPhone, + businessType: VerificationCodeBusinessType.UserCertificationPhoneCertification, + }, + { showLoading: false } + ); +} + +const handleLicenseUrlChange = (response: FileItem) => { + vatLicense(response, { + onSuccess(res) { + let tips: string[] = []; + res?.name ? (form.enterpriseName = res.name) : tips.push('浼佷笟鍚嶇О'); + res?.societyCode ? (form.societyCreditCode = res.societyCode) : tips.push('缁熶竴绀句細淇$敤浠g爜'); + if (tips.length > 0) { + Message.error(`鏈兘璇嗗埆鍒版偍涓婁紶鐨勫浘鐗囷紝璇烽噸鏂颁笂浼犳竻鏅扮殑鍥剧墖鎴栨墜鍔ㄨ緭鍏�${tips.join('鍜�')}`); + } + }, + }); +}; + +function handleFrontImgUrlChange(response: FileItem) { + userCredentialVerifyOcrIDCard(response, { + onSuccess(res) { + if (res.realName) form.proxyPersonName = res.realName; + if (res.idcardNum) form.proxyPersonIdNumber = res.idcardNum; + }, + }); +} +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; + +.authenticationJBR-page-wrapper { + .photograph-wrapper { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + } +} +</style> diff --git a/apps/bMiniApp/src/subpackages/authentication/authenticationJBR/authenticationJBR.config.ts b/apps/bMiniApp/src/subpackages/authentication/authenticationJBR/authenticationJBR.config.ts new file mode 100644 index 0000000..305fdb1 --- /dev/null +++ b/apps/bMiniApp/src/subpackages/authentication/authenticationJBR/authenticationJBR.config.ts @@ -0,0 +1,3 @@ +export default definePageConfig({ + disableScroll: true, +}); diff --git a/apps/bMiniApp/src/subpackages/authentication/authenticationJBR/authenticationJBR.vue b/apps/bMiniApp/src/subpackages/authentication/authenticationJBR/authenticationJBR.vue new file mode 100644 index 0000000..1f6134e --- /dev/null +++ b/apps/bMiniApp/src/subpackages/authentication/authenticationJBR/authenticationJBR.vue @@ -0,0 +1,14 @@ +<template> + <PageLayout title="浼佷笟缁忓姙浜鸿璇�" class="authenticationJBR-page-wrapper" hasBorder> + <InnerPage /> + </PageLayout> +</template> + +<script setup lang="ts"> +import { PageLayout } from '@/components'; +import InnerPage from './InnerPage.vue'; + +defineOptions({ + name: 'authenticationJBR', +}); +</script> diff --git a/apps/bMiniApp/src/subpackages/authentication/authenticationResult/InnerPage.vue b/apps/bMiniApp/src/subpackages/authentication/authenticationResult/InnerPage.vue new file mode 100644 index 0000000..df5b96a --- /dev/null +++ b/apps/bMiniApp/src/subpackages/authentication/authenticationResult/InnerPage.vue @@ -0,0 +1,97 @@ +<template> + <LoadingLayout :loading="isLoading"> + <div + class="result-wrapper" + v-if="myCertificationAuditInfo?.frontStatus === UserCertificationFrontStatus.NotCertified" + > + <div class="result-title">鏈璇�</div> + </div> + <div + class="result-wrapper" + v-else-if="myCertificationAuditInfo?.frontStatus === UserCertificationFrontStatus.Certified" + > + <img class="result-icon" :src="IconSuccess" /> + <div class="result-title">璁よ瘉鎴愬姛</div> + <div class="result-subtitle">鎮ㄧ殑浼佷笟瀹炲悕宸茶璇佹垚鍔�</div> + <PageFooterBtn type="primary" class="result-btn" @click="goUserCenter" + >杩斿洖涓汉涓績</PageFooterBtn + > + </div> + <div + class="result-wrapper" + v-else-if="myCertificationAuditInfo?.frontStatus === UserCertificationFrontStatus.Rejected" + > + <img class="result-icon" :src="IconError" /> + <div class="result-title">璁よ瘉澶辫触</div> + <div class="result-subtitle">鎮ㄧ殑浼佷笟瀹炲悕璁よ瘉澶辫触</div> + <div class="result-subtitle">澶辫触鍘熷洜锛歿{ myCertificationAuditInfo?.auditNote ?? '' }}</div> + <PageFooterBtn type="primary" class="result-btn" @click="goBack()" + >閲嶆柊鎻愪氦璁よ瘉</PageFooterBtn + > + </div> + </LoadingLayout> +</template> + +<script setup lang="ts"> +import { useMyCertificationAuditInfo, useSwitchTab } from '@/hooks'; +import Taro from '@tarojs/taro'; +import { goBack } from '@/utils'; +import IconSuccess from '@/assets/authentication/icon-result-success.png'; +import IconError from '@/assets/authentication/icon-result-error.png'; +import { UserCertificationFrontStatus } from '@12333/constants'; + +defineOptions({ + name: 'InnerPage', +}); + +const { myCertificationAuditInfo, isLoading } = useMyCertificationAuditInfo(); + +const switchTab = useSwitchTab(); + +function goUserCenter() { + switchTab({ + url: RouterPath.mine, + }); +} +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; + +.authenticationResult-page-wrapper { + .result-wrapper { + display: flex; + flex-direction: column; + align-items: center; + padding-top: 150px; + + .result-icon { + width: 320px; + height: 184px; + object-fit: cover; + margin-bottom: 12px; + } + + .result-title { + font-weight: 400; + font-size: 32px; + color: boleGetCssVar('text-color', 'primary'); + line-height: 32px; + margin-bottom: 32px; + } + + .result-subtitle { + font-weight: 400; + font-size: 28px; + color: boleGetCssVar('text-color', 'regular'); + line-height: 44px; + margin-bottom: 40px; + } + + .result-btn { + width: 542px; + font-size: 28px; + } + } +} +</style> diff --git a/apps/bMiniApp/src/subpackages/authentication/authenticationResult/authenticationResult.config.ts b/apps/bMiniApp/src/subpackages/authentication/authenticationResult/authenticationResult.config.ts new file mode 100644 index 0000000..305fdb1 --- /dev/null +++ b/apps/bMiniApp/src/subpackages/authentication/authenticationResult/authenticationResult.config.ts @@ -0,0 +1,3 @@ +export default definePageConfig({ + disableScroll: true, +}); diff --git a/apps/bMiniApp/src/subpackages/authentication/authenticationResult/authenticationResult.vue b/apps/bMiniApp/src/subpackages/authentication/authenticationResult/authenticationResult.vue new file mode 100644 index 0000000..46cfd6b --- /dev/null +++ b/apps/bMiniApp/src/subpackages/authentication/authenticationResult/authenticationResult.vue @@ -0,0 +1,28 @@ +<template> + <PageLayout + title="瀹炲悕璁よ瘉" + class="authenticationResult-page-wrapper" + hasBorder + :backFn="handleBack" + > + <InnerPage /> + </PageLayout> +</template> + +<script setup lang="ts"> +import { PageLayout } from '@/components'; +import InnerPage from './InnerPage.vue'; +import { useSwitchTab } from '@/hooks'; + +defineOptions({ + name: 'authenticationResult', +}); + +const switchTab = useSwitchTab(); + +function handleBack() { + switchTab({ + url: RouterPath.mine, + }); +} +</script> diff --git a/apps/bMiniApp/src/subpackages/authentication/hooks/index.ts b/apps/bMiniApp/src/subpackages/authentication/hooks/index.ts new file mode 100644 index 0000000..47afee2 --- /dev/null +++ b/apps/bMiniApp/src/subpackages/authentication/hooks/index.ts @@ -0,0 +1,191 @@ +import { FormRules } from '@nutui/nutui-taro/dist/types/__VUE/form/types'; +import { useUser } from '@/hooks'; +import { FileItem } from '@nutui/nutui-taro/dist/types/__VUE/uploader/type'; +import { + EnterpriseType, + UserCertificationModeEnumV2, + VerificationCodeBusinessType, + UserCertificationElementEnum, + UserCertificationChannelEnum, + UserCertificationPayType, +} from '@12333/constants'; +import * as commonServices from '@12333/services/api/Common'; +import * as userServices from '@12333/services/api/User'; +import { FormValidator, Message } from '@12333/utils'; +import { useUserCertificationSetting } from '@12333/hooks'; +import Taro from '@tarojs/taro'; + +type UseAuthenticationFlowOptions = { + certificationMode: UserCertificationModeEnumV2; + certificationElement: UserCertificationElementEnum; +}; + +export function useAuthenticationFlow({ + certificationMode, + certificationElement, +}: UseAuthenticationFlowOptions) { + const { userDetail } = useUser(); + + const form = reactive({ + licenseUrl: [] as FileItem[], + enterpriseType: userDetail.value?.authType ?? EnterpriseType.HREnterprise, + enterpriseName: '', + societyCreditCode: '', + certificationMode: certificationMode, + certificationElement: certificationElement, + legalPersonName: '', + legalPersonIdNumber: '', + legalPersonIdFrontImgUrl: [] as FileItem[], + legalPersonIdBackImgUrl: [] as FileItem[], + legalPersonBankCardImgUrl: [] as FileItem[], + legalPersonContactPhone: '', + verificationCode: '', + proxyPersonName: '', + proxyPersonIdNumber: '', + proxyPersonContactPhone: '', + proxyPersonIdFrontImgUrl: [] as FileItem[], + proxyPersonIdBackImgUrl: [] as FileItem[], + proxyPersonBankCardImgUrl: [] as FileItem[], + proxyPowerAttorneyUrl: [] as FileItem[], + bankCardNumber: '', + }); + + const rules: FormRules = { + licenseUrl: [ + { required: true, message: '璇蜂笂浼犺惀涓氭墽鐓�', validator: FormValidator.validatorArray }, + ], + enterpriseName: [{ required: true, message: '璇疯緭鍏ヤ紒涓氬悕绉�' }], + societyCreditCode: [ + { required: true, message: '璇疯緭鍏ユ偍钀ヤ笟鎵х収涓婄殑淇$敤浠g爜' }, + { message: '璇疯緭鍏ユ纭殑淇$敤浠g爜', validator: FormValidator.validatorSocietyCreditCode }, + ], + legalPersonName: [{ required: true, message: '璇峰~鍐欎紒涓氭硶浜虹殑濮撳悕' }], + legalPersonIdFrontImgUrl: [ + { required: true, message: '璇蜂笂浼犺韩浠借瘉浜哄儚闈�', validator: FormValidator.validatorArray }, + ], + legalPersonIdBackImgUrl: [ + { required: true, message: '璇蜂笂浼犺韩浠借瘉鍥藉窘闈�', validator: FormValidator.validatorArray }, + ], + legalPersonIdNumber: [ + { required: true, message: '璇峰~鍐欎紒涓氭硶浜虹殑韬唤璇佸彿鐮�' }, + { message: '璇疯緭鍏ユ纭殑韬唤璇佸彿鐮�', validator: FormValidator.validatorIDCard }, + ], + legalPersonContactPhone: [ + { required: true, message: '璇峰~鍐欎紒涓氭硶浜虹殑鎵嬫満鍙风爜' }, + { message: '璇疯緭鍏ユ纭殑鎵嬫満鍙风爜', validator: FormValidator.validatorPhoneNumber }, + ], + verificationCode: [{ required: true, message: '璇疯緭鍏ラ獙璇佺爜' }], + proxyPersonName: [{ required: true, message: '璇峰~鍐欑粡鍔炰汉鐨勫鍚�' }], + proxyPersonIdNumber: [ + { required: true, message: '璇峰~鍐欑粡鍔炰汉鐨勮韩浠借瘉鍙风爜' }, + { message: '璇疯緭鍏ユ纭殑韬唤璇佸彿鐮�', validator: FormValidator.validatorIDCard }, + ], + proxyPersonContactPhone: [ + { required: true, message: '璇峰~鍐欑粡鍔炰汉鐨勬墜鏈哄彿鐮�' }, + { message: '璇疯緭鍏ユ纭殑鎵嬫満鍙风爜', validator: FormValidator.validatorPhoneNumber }, + ], + proxyPowerAttorneyUrl: [ + { required: true, message: '璇蜂笂浼犱紒涓氭巿鏉冧功', validator: FormValidator.validatorArray }, + ], + }; + + const { updateUserInfo } = useUser(); + + const formRef = ref<any>(null); + + function handleSubmit() { + if (!formRef.value) return; + formRef.value.validate().then(({ valid, errors }: any) => { + if (valid) { + addUserCertificationAudit(); + } + }); + } + + const loading = ref(false); + + async function addUserCertificationAudit() { + try { + let params: API.AddUserCertificationAuditInput = { + enterpriseType: form.enterpriseType, + licenseUrl: form.licenseUrl[0].path, + enterpriseName: form.enterpriseName, + societyCreditCode: form.societyCreditCode, + certificationMode: form.certificationMode, + legalPersonName: form.legalPersonName, + legalPersonIdNumber: form.legalPersonIdNumber, + legalPersonIdImgUrl: form.legalPersonIdFrontImgUrl?.[0]?.path ?? '', + legalPersonIdBackImgUrl: form.legalPersonIdBackImgUrl?.[0]?.path ?? '', + legalPersonBankCardImgUrl: form.legalPersonBankCardImgUrl?.[0]?.path ?? '', + certificationContact: + form.certificationElement === UserCertificationElementEnum.Identity4 + ? form.legalPersonName + : form.proxyPersonName, + certificationContactPhone: + form.certificationElement === UserCertificationElementEnum.Identity4 + ? form.legalPersonContactPhone + : form.proxyPersonContactPhone, + proxyPersonName: form.proxyPersonName, + proxyPersonIdNumber: form.proxyPersonIdNumber, + proxyPersonIdImgUrl: form.proxyPersonIdFrontImgUrl?.[0]?.path ?? '', + proxyPersonIdBackImgUrl: form.proxyPersonIdBackImgUrl?.[0]?.path ?? '', + proxyPersonBankCardImgUrl: form.proxyPersonBankCardImgUrl?.[0]?.path ?? '', + proxyPowerAttorneyUrl: form.proxyPowerAttorneyUrl?.[0]?.path ?? '', + certificationChannel: UserCertificationChannelEnum.ThirdParty, + certificationElement: form.certificationElement, + vCode: form.verificationCode, + bankCardNumber: form.bankCardNumber, + payType: UserCertificationPayType.NotNeedPay, + }; + loading.value = true; + let res = await userServices.addUserCertificationAudit(params, { showLoading: false }); + if (res) { + updateUserInfo(); + Taro.redirectTo({ + url: RouterPath.authenticationResult, + }); + } + } catch (error) { + } finally { + loading.value = false; + } + } + + return { + form, + rules, + formRef, + handleSubmit, + loading, + }; +} + +export function useDownloadPowerAttorneyTemplate() { + const { userCertificationSetting } = useUserCertificationSetting(); + + function downloadPowerAttorneyTemplate() { + Taro.showLoading({ + title: '涓嬭浇涓�', + }); + Taro.downloadFile({ + url: userCertificationSetting.value.enterprisePowerAttorneyTempPath, + success: function (res) { + Taro.hideLoading(); + // Message.success('涓嬭浇鎴愬姛'); + var filePath = res.tempFilePath; + Taro.openDocument({ + filePath: filePath, + showMenu: true, + }); + }, + fail: function (error: any) { + Taro.hideLoading(); + Message.error('涓嬭浇澶辫触'); + }, + }); + } + + return { + downloadPowerAttorneyTemplate, + }; +} diff --git a/apps/bMiniApp/src/subpackages/city/citySelect/citySelect.config.ts b/apps/bMiniApp/src/subpackages/city/citySelect/citySelect.config.ts new file mode 100644 index 0000000..305fdb1 --- /dev/null +++ b/apps/bMiniApp/src/subpackages/city/citySelect/citySelect.config.ts @@ -0,0 +1,3 @@ +export default definePageConfig({ + disableScroll: true, +}); diff --git a/apps/bMiniApp/src/subpackages/city/citySelect/citySelect.vue b/apps/bMiniApp/src/subpackages/city/citySelect/citySelect.vue new file mode 100644 index 0000000..98d5e2e --- /dev/null +++ b/apps/bMiniApp/src/subpackages/city/citySelect/citySelect.vue @@ -0,0 +1,87 @@ +<template> + <PageLayout title="閫夋嫨鍩庡競" class="citySelect-page-wrapper" :need-auth="false"> + <ContentView class="citySelect-content-wrapper"> + <div class="current-city">褰撳墠鍩庡競锛歿{ locationCity }}</div> + <Elevator :index-list="elevatorData" :height="'100%'" @click-item="clickItem" /> + </ContentView> + </PageLayout> +</template> + +<script setup lang="ts"> +import { PageLayout, LoadingLayout, ContentScrollView, ContentView } from '@/components'; +import { useUser } from '@/hooks'; +import { useArea } from '@12333/hooks'; +import { AreaType } from '@12333/constants'; +import { groupBy, sortBy } from 'lodash'; +import { useUserStore } from '@/stores/modules/user'; +import { Elevator } from '@12333/components'; + +defineOptions({ + name: 'citySelect', +}); + +const { completeAreaList, getAreaByAreaCode } = useArea(); +const { locationCity } = useUser(); +const userStore = useUserStore(); + +const cityList = computed(() => { + if (completeAreaList.value?.length > 0) { + return [...completeAreaList.value].filter((x) => x.layer === AreaType.City); + } + return []; +}); + +const elevatorData = computed(() => { + let cityGroups = groupBy( + sortBy(cityList.value, (c) => c.quickQuery.charAt(0)), + (city) => city.quickQuery.charAt(0) + ); + const _elevatorData = []; + for (let key in cityGroups) { + _elevatorData.push({ + title: key, + list: cityGroups[key].map((x) => ({ + name: x.areaName, + id: x.areaCode, + parentId: x.parentId, + })), + }); + } + return _elevatorData; +}); + +console.log('elevatorData: ', elevatorData); + +const clickItem = (key: string, item: any) => { + console.log('item: ', item, getAreaByAreaCode(item.parentId).areaName); + userStore.setLocationCity(item.name, getAreaByAreaCode(item.parentId).areaName); +}; +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; + +.citySelect-page-wrapper { + .current-city { + padding: 20px 0; + color: boleGetCssVar('text-color', 'primary'); + font-size: 28px; + } + + .citySelect-content-wrapper { + display: flex; + flex-direction: column; + height: 100%; + } + + .nut-elevator { + flex: 1; + min-height: 0; + + .nut-elevator__list__item__name, + .nut-elevator__list__item__code { + padding: 0; + } + } +} +</style> diff --git a/apps/bMiniApp/src/subpackages/login/authorization/authorization.vue b/apps/bMiniApp/src/subpackages/login/authorization/authorization.vue new file mode 100644 index 0000000..aef6f2d --- /dev/null +++ b/apps/bMiniApp/src/subpackages/login/authorization/authorization.vue @@ -0,0 +1,289 @@ +<template> + <LoginPageLayout class="authorization-page-wrapper"> + <div class="authorization-page-wechat-btn-wrapper"> + <nut-button + v-if="isAccount" + type="primary" + class="authorization-page-wechat-wrapper" + @click="handleLoginByHasAccount" + > + <div class="authorization-page-wechat">鎵嬫満鍙峰揩閫熺櫥褰�</div></nut-button + > + <AccessOpenTypeButton + v-else + type="primary" + class="authorization-page-wechat-wrapper" + open-type="getPhoneNumber" + :access="state.policyChecked" + @noAccess="noAccess" + @getphonenumber="login" + > + <div class="authorization-page-wechat">鎵嬫満鍙峰揩閫熺櫥褰�</div> + </AccessOpenTypeButton> + </div> + <Policy + v-model="state.policyChecked" + policyBtnText="鑻ユ墜鏈哄彿鏈敞鍐岋紝灏嗕负鎮ㄧ洿鎺ユ敞鍐岃处鍙凤紝娉ㄥ唽鍗充负鍚屾剰" + /> + <div class="other-login-channel-wrapper" v-if="!isLoginByWeb"> + <nut-divider>鍏朵粬鐧诲綍鏂瑰紡</nut-divider> + <div class="other-login-channel-list"> + <div class="other-login-channel-list-item" @click="goLoginByForm()"> + <div class="other-login-channel-list-item-icon"> + <img :src="IconCaptcha" /> + </div> + <div class="other-login-channel-list-item-text">楠岃瘉鐮佺櫥褰�</div> + </div> + <div + class="other-login-channel-list-item" + @click="goLoginByForm(LoginFormTabs.AccountLogin)" + > + <div class="other-login-channel-list-item-icon"> + <img :src="IconPassword" /> + </div> + <div class="other-login-channel-list-item-text">璐︽埛鐧诲綍</div> + </div> + </div> + </div> + </LoginPageLayout> +</template> + +<script setup lang="ts"> +import { Policy } from '@/components'; +import { AccessOpenTypeButton } from '@12333/components'; +import LoginPageLayout from '../components/LoginPageLayout/LoginPageLayout.vue'; +import { useUserStore } from '@/stores/modules/user'; +import { Message } from '@12333/utils'; +import { CommonEventFunction, ButtonProps } from '@tarojs/components'; +import Taro from '@tarojs/taro'; +import { useLoginedJump } from '@/hooks'; +import * as accountServices from '@12333/services/api/Account'; +import IconCaptcha from '@/assets/login/icon-btn-captcha.png'; +import IconPassword from '@/assets/login/icon-btn-password.png'; +import { LoginFormTabs } from '../constants'; +import { WxMiniAppEnum } from '@12333/constants'; + +defineOptions({ + name: 'authorization', +}); + +const state = reactive({ + policyChecked: false, +}); + +const userStore = useUserStore(); + +function noAccess() { + Message.warning('璇峰厛闃呰骞跺嬀閫夊崗璁�'); +} + +const { jump, redirectParams } = useLoginedJump(); + +const launchOptions = Taro.getEnterOptionsSync(); +console.log('launchOptions: ', launchOptions); +const router = Taro.useRouter(); + +const uuid = router.params?.scene ?? ''; + +const isLoginByWeb = computed( + () => + RouterPath.authorization.includes(launchOptions.path) && launchOptions.scene === 1047 && uuid +); + +const wxIndentityRes = ref<API.WxMiniAppIndentityInfo>(); +const wxMiniAppUserLoginRes = ref<API.IdentityModelTokenCacheItem>(); + +const isAccount = ref(false); + +onMounted(async () => { + try { + let loginRes = await Taro.login(); + if (isLoginByWeb.value) { + const wxIndentity = await accountServices.getWxIndentity({ + code: loginRes.code, + wxMiniApp: WxMiniAppEnum.浜哄崟鍚堜竴, + }); + wxIndentityRes.value = wxIndentity; + if (wxIndentityRes.value.userName) { + isAccount.value = true; + } + } else { + const params: API.APIwxMiniAppUserLoginParams = { + code: loginRes.code, + wxMiniApp: WxMiniAppEnum.浜哄崟鍚堜竴, + }; + wxMiniAppUserLoginRes.value = await accountServices.wxMiniAppUserLogin(params); + if (wxMiniAppUserLoginRes.value.accessToken) { + isAccount.value = true; + } + } + } catch (error) {} +}); + +const login: CommonEventFunction<ButtonProps.onGetPhoneNumberEventDetail> = async function (ev) { + try { + const { errMsg, code } = ev.detail; + console.log('errMsg: ', errMsg, isLoginByWeb.value); + if (errMsg === 'getPhoneNumber:ok') { + if (isLoginByWeb.value) { + let res = await userStore.wxMiniAppPhoneAuthLoginFromScan( + ev.detail, + wxIndentityRes.value, + uuid + ); + if (res) { + handleLoginSuccess(); + } + } else { + let res = await userStore.getTokenByPhone(ev.detail, wxMiniAppUserLoginRes.value); + if (res) { + handleLoginSuccess(); + } + } + } else { + Message.warning('鏃犳硶鑾峰彇鎵嬫満鍙凤紒'); + } + } catch (error) { + console.log('error: ', error); + } +}; + +async function handleLoginByHasAccount() { + try { + if (state.policyChecked) { + if (isLoginByWeb.value) { + console.log('uuid: ', uuid); + let res = await userStore.wxMiniAppUserLoginFromScan(wxIndentityRes.value, uuid); + if (res) { + handleLoginSuccess(); + } + } else { + userStore.loginSuccess(wxMiniAppUserLoginRes.value); + handleLoginSuccess(); + } + } else { + noAccess(); + } + } catch (error) {} +} + +function handleLoginSuccess() { + Message.success('鎺堟潈鐧诲綍鎴愬姛', { + onClosed: () => { + jump(); + }, + }); +} + +function goLoginByForm(tab = LoginFormTabs.VerificationCodeLogin) { + Taro.navigateTo({ + url: `${RouterPath.loginByForm}?redirect=${redirectParams.value}&tab=${tab}`, + }); +} +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; + +.authorization-page-wrapper { + .authorization-page-top { + width: 750px; + height: 225px; + margin-bottom: 78px; + } + + .authorization-page-title { + margin-bottom: 160px; + } + + .authorization-page-wechat-btn-wrapper { + padding: 0 64px; + margin-bottom: 40px; + } + + .authorization-page-wechat-wrapper { + width: 100%; + height: 88px; + } + + .authorization-page-wechat { + display: flex; + justify-content: center; + align-items: center; + font-weight: 400; + font-size: 32px; + color: #ffffff; + line-height: 44px; + + .authorization-page-wechat-icon { + width: 44px; + height: 36px; + margin-right: 10px; + } + } + + .page-layout-scroll-view-wrapper { + position: relative; + + .other-login-channel-wrapper { + width: 520px; + position: absolute; + bottom: 40px; + left: 50%; + transform: translateX(-50%); + + .nut-divider { + margin: 0; + margin-bottom: 40rpx; + color: boleGetCssVar('text-color', 'secondary'); + + &::before, + &::after { + border-color: #f0f0f0; + } + } + + .other-login-channel-list { + display: flex; + justify-content: space-around; + + .other-login-channel-list-item { + .other-login-channel-list-item-icon { + width: 80px; + height: 80px; + background: #f5f5f5; + border-radius: 50%; + margin: 0 auto 8px; + display: flex; + justify-content: center; + align-items: center; + + img { + width: 38px; + height: 48px; + } + } + + .other-login-channel-list-item-text { + font-weight: 400; + font-size: 24px; + color: boleGetCssVar('text-color', 'regular'); + line-height: 34px; + text-align: center; + } + } + } + } + } +} + +.authorization-page-auth { + position: fixed; + z-index: -1; + top: 0; + left: 0; + width: 750px; + height: 1624px; + object-fit: cover; +} +</style> diff --git a/apps/bMiniApp/src/subpackages/login/authorization/index.config.ts b/apps/bMiniApp/src/subpackages/login/authorization/index.config.ts new file mode 100644 index 0000000..305fdb1 --- /dev/null +++ b/apps/bMiniApp/src/subpackages/login/authorization/index.config.ts @@ -0,0 +1,3 @@ +export default definePageConfig({ + disableScroll: true, +}); diff --git a/apps/bMiniApp/src/subpackages/login/components/LoginPageLayout/LoginPageLayout.vue b/apps/bMiniApp/src/subpackages/login/components/LoginPageLayout/LoginPageLayout.vue new file mode 100644 index 0000000..47fcdd2 --- /dev/null +++ b/apps/bMiniApp/src/subpackages/login/components/LoginPageLayout/LoginPageLayout.vue @@ -0,0 +1,58 @@ +<template> + <PageLayout :needAuth="false" class="login-page-layout"> + <template #navigationBar> + <TransparentNavigationBar :title="title" :is-absolute="false"></TransparentNavigationBar> + </template> + <template #bg> + <img :src="OssAssets.login.AuthBg" class="authorization-page-auth" /> + </template> + + <div class="authorization-page-title">娆㈣繋浣跨敤818骞冲彴</div> + + <slot></slot> + </PageLayout> +</template> + +<script setup lang="ts"> +import { PageLayout, TransparentNavigationBar } from '@/components'; +import { OssAssets } from '@12333/constants'; + +defineOptions({ + name: 'LoginPageLayout', +}); + +type Props = { + title?: string; +}; + +const props = withDefaults(defineProps<Props>(), { + title: '鐧诲綍', +}); +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; + +.login-page-layout { + .authorization-page-title { + font-size: 60px; + color: boleGetCssVar('text-color', 'primary'); + font-weight: bold; + text-align: center; + margin-bottom: 108px; + margin-top: 136px; + line-height: 84px; + @include ellipsis; + } +} + +.authorization-page-auth { + position: fixed; + z-index: -1; + top: 0; + left: 0; + width: 750px; + height: 1624px; + object-fit: cover; +} +</style> diff --git a/apps/bMiniApp/src/subpackages/login/components/OtherLoginChannel/OtherLoginChannel.vue.vue b/apps/bMiniApp/src/subpackages/login/components/OtherLoginChannel/OtherLoginChannel.vue.vue new file mode 100644 index 0000000..8c25e92 --- /dev/null +++ b/apps/bMiniApp/src/subpackages/login/components/OtherLoginChannel/OtherLoginChannel.vue.vue @@ -0,0 +1,17 @@ +<template> + <div></div> +</template> + +<script setup lang="ts"> +defineOptions({ + name: 'OtherLoginChannel', +}); + +// type Props = {}; + +// const props = withDefaults(defineProps<Props>(), {}); +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; +</style> diff --git a/apps/bMiniApp/src/subpackages/login/constants/index.ts b/apps/bMiniApp/src/subpackages/login/constants/index.ts new file mode 100644 index 0000000..3ebbbf2 --- /dev/null +++ b/apps/bMiniApp/src/subpackages/login/constants/index.ts @@ -0,0 +1,4 @@ +export enum LoginFormTabs { + VerificationCodeLogin = 10, + AccountLogin, +} diff --git a/apps/bMiniApp/src/subpackages/login/loginByForm/accountLoginForm.vue b/apps/bMiniApp/src/subpackages/login/loginByForm/accountLoginForm.vue new file mode 100644 index 0000000..be5996e --- /dev/null +++ b/apps/bMiniApp/src/subpackages/login/loginByForm/accountLoginForm.vue @@ -0,0 +1,118 @@ +<template> + <div class="verification-code-login-form-wrapper"> + <nut-form class="verification-code-login-form" ref="formRef" :model-value="form" :rules="rules"> + <nut-form-item label="" class="bole-form-item" prop="userName" required> + <nut-input + v-model.trim="form.userName" + class="bole-input-text" + placeholder="璇疯緭鍏ヨ处鍙�/鎵嬫満鍙�/閭" + type="text" + /> + </nut-form-item> + <nut-form-item label="" class="bole-form-item" prop="userPassword" required> + <nut-input + v-model.trim="form.userPassword" + class="bole-input-text" + placeholder="璇疯緭鍏ュ瘑鐮�" + :type="isShowPassword ? 'text' : 'password'" + :key="isShowPassword ? 'text' : 'password'" + > + <template #right> + <div class="password-icon-wrapper" @click="isShowPassword = !isShowPassword"> + <Eye v-if="isShowPassword"></Eye> + <Marshalling v-else></Marshalling> + </div> + </template> + </nut-input> + </nut-form-item> + </nut-form> + <LargeButton class="login-btn" @click="handleLogin" :loading="form.loading">鐧诲綍</LargeButton> + <div class="go-register-btn" @click="goRegister">绔嬪嵆娉ㄥ唽</div> + </div> +</template> + +<script setup lang="ts"> +import { Message } from '@12333/utils'; +import { FormRules } from '@nutui/nutui-taro/dist/types/__VUE/form/types'; +import { LargeButton } from '@/components'; +import { useLoginedJump } from '@/hooks'; +import { useUserStore } from '@/stores/modules/user'; +import { Eye, Marshalling } from '@nutui/icons-vue-taro'; +import Taro from '@tarojs/taro'; + +defineOptions({ + name: 'AccountLoginForm', +}); + +type Props = { + policyChecked?: boolean; +}; + +const props = withDefaults(defineProps<Props>(), {}); + +const userStore = useUserStore(); + +const { jump } = useLoginedJump(); + +const isShowPassword = ref(false); + +const formRef = ref(null); + +const form = reactive({ + loading: false, + userName: '', + userPassword: '', +}); + +const rules = reactive<FormRules>({ + userName: [{ required: true, message: '璇疯緭鍏ヨ处鍙�/鎵嬫満鍙�/閭' }], + userPassword: [{ required: true, message: '璇疯緭鍏ュ瘑鐮�' }], +}); + +async function handleLogin() { + try { + if (props.policyChecked) { + const { valid } = await formRef.value.validate(); + if (valid) { + form.loading = true; + await userStore.loginByPassword({ + userName: form.userName, + userPassword: form.userPassword, + }); + jump(); + } + } else { + noAccess(); + } + } catch (error) { + } finally { + form.loading = false; + } +} + +function noAccess() { + Message.warning('璇峰厛闃呰骞跺嬀閫夊崗璁�'); +} + +function goRegister() { + console.log('RouterPath.registerForm: ', RouterPath.registerForm); + Taro.navigateTo({ + url: RouterPath.registerForm, + }); +} +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; + +.verification-code-login-form-wrapper { + .password-icon-wrapper { + padding: 0 10px; + display: inline-flex; + + .nutui-iconfont { + font-size: 28px; + } + } +} +</style> diff --git a/apps/bMiniApp/src/subpackages/login/loginByForm/index.config.ts b/apps/bMiniApp/src/subpackages/login/loginByForm/index.config.ts new file mode 100644 index 0000000..305fdb1 --- /dev/null +++ b/apps/bMiniApp/src/subpackages/login/loginByForm/index.config.ts @@ -0,0 +1,3 @@ +export default definePageConfig({ + disableScroll: true, +}); diff --git a/apps/bMiniApp/src/subpackages/login/loginByForm/loginByForm.vue b/apps/bMiniApp/src/subpackages/login/loginByForm/loginByForm.vue new file mode 100644 index 0000000..35d2bd7 --- /dev/null +++ b/apps/bMiniApp/src/subpackages/login/loginByForm/loginByForm.vue @@ -0,0 +1,79 @@ +<template> + <LoginPageLayout class="loginByForm-page-wrapper"> + <div class="loginB-form-wrapper"> + <div class="loginB-form-tab"> + <div + :class="[ + 'loginB-form-tab-item', + { active: tabType === LoginFormTabs.VerificationCodeLogin }, + ]" + @click="handleTabChange(LoginFormTabs.VerificationCodeLogin)" + > + <img :src="IconTabBg1" alt="" class="loginB-form-tab-item-bg1" /> + <div class="loginB-form-tab-item-content"> + <div class="loginB-form-tab-item-text">楠岃瘉鐮佺櫥褰�</div> + <div class="loginB-form-tab-item-line"></div> + </div> + </div> + <div + :class="['loginB-form-tab-item', { active: tabType === LoginFormTabs.AccountLogin }]" + @click="handleTabChange(LoginFormTabs.AccountLogin)" + > + <img :src="IconTabBg2" alt="" class="loginB-form-tab-item-bg2" /> + <div class="loginB-form-tab-item-content"> + <div class="loginB-form-tab-item-text">璐︽埛鐧诲綍</div> + <div class="loginB-form-tab-item-line"></div> + </div> + </div> + </div> + <VerificationCodeLoginForm + v-show="tabType === LoginFormTabs.VerificationCodeLogin" + :policyChecked="state.policyChecked" + /> + <AccountLoginForm + v-show="tabType === LoginFormTabs.AccountLogin" + :policyChecked="state.policyChecked" + /> + </div> + <Policy + v-model="state.policyChecked" + policyBtnText="鎴戝凡闃呰骞跺悓鎰�" + class="loginB-form-policy" + /> + </LoginPageLayout> +</template> + +<script setup lang="ts"> +import { useUserStore } from '@/stores/modules/user'; +import LoginPageLayout from '../components/LoginPageLayout/LoginPageLayout.vue'; +import { LoginFormTabs } from '../constants'; +import IconTabBg1 from '@/assets/login/icon-tab-bg-1.png'; +import IconTabBg2 from '@/assets/login/icon-tab-bg-2.png'; +import VerificationCodeLoginForm from './verificationCodeLoginForm.vue'; +import AccountLoginForm from './accountLoginForm.vue'; +import { Policy } from '@/components'; +import Taro from '@tarojs/taro'; + +defineOptions({ + name: 'loginByForm', +}); + +const userStore = useUserStore(); + +const state = reactive({ + policyChecked: false, +}); + +const router = Taro.useRouter(); + +const tabType = ref(Number(router.params?.tab ?? LoginFormTabs.VerificationCodeLogin)); + +function handleTabChange(tab: LoginFormTabs) { + tabType.value = tab; +} +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; +@import '../styles/login.scss'; +</style> diff --git a/apps/bMiniApp/src/subpackages/login/loginByForm/verificationCodeLoginForm.vue b/apps/bMiniApp/src/subpackages/login/loginByForm/verificationCodeLoginForm.vue new file mode 100644 index 0000000..a4713e7 --- /dev/null +++ b/apps/bMiniApp/src/subpackages/login/loginByForm/verificationCodeLoginForm.vue @@ -0,0 +1,115 @@ +<template> + <div class="verification-code-login-form-wrapper"> + <nut-form class="verification-code-login-form" ref="formRef" :model-value="form" :rules="rules"> + <nut-form-item label="" class="bole-form-item" prop="phoneNumber" required> + <nut-input + v-model.trim="form.phoneNumber" + class="bole-input-text" + placeholder="璇疯緭鍏ユ墜鏈哄彿" + type="text" + /> + </nut-form-item> + <nut-form-item label="" class="bole-form-item" prop="verificationCode" required> + <nut-input + v-model.trim="form.verificationCode" + class="bole-input-text" + placeholder="璇疯緭鍏ラ獙璇佺爜" + type="number" + > + <template #right> + <ProFormCaptcha + :onGetCaptcha="onGetCaptcha" + phonePropName="phoneNumber" + :validateField="formRef?.validate" + ></ProFormCaptcha> + </template> + </nut-input> + </nut-form-item> + </nut-form> + <LargeButton class="login-btn" @click="handleLogin" :loading="form.loading">鐧诲綍</LargeButton> + <div class="go-register-btn" @click="goRegister">绔嬪嵆娉ㄥ唽</div> + </div> +</template> + +<script setup lang="ts"> +import * as commonServices from '@12333/services/api/Common'; +import { FormRules } from '@nutui/nutui-taro/dist/types/__VUE/form/types'; +import { FormValidator, Message } from '@12333/utils'; +import { LargeButton } from '@/components'; +import { ProFormCaptcha } from 'senin-mini/components'; +import { VerificationCodeBusinessType } from '@12333/constants'; +import { useLoginedJump } from '@/hooks'; +import { useUserStore } from '@/stores/modules/user'; +import Taro from '@tarojs/taro'; + +defineOptions({ + name: 'verificationCodeLoginForm', +}); + +type Props = { + policyChecked?: boolean; +}; + +const props = withDefaults(defineProps<Props>(), {}); + +const userStore = useUserStore(); + +const { jump } = useLoginedJump(); + +const formRef = ref(null); + +const form = reactive({ + loading: false, + phoneNumber: '', + verificationCode: '', +}); + +const rules = reactive<FormRules>({ + phoneNumber: [ + { required: true, message: '璇疯緭鍏ユ墜鏈哄彿' }, + { validator: FormValidator.validatorPhoneNumber, message: '璇疯緭鍏ユ纭殑鎵嬫満鍙�' }, + ], + verificationCode: [{ required: true, message: '璇疯緭鍏ラ獙璇佺爜' }], +}); + +async function onGetCaptcha() { + await commonServices.sendVerificationCode( + { + phoneNumber: form.phoneNumber, + businessType: VerificationCodeBusinessType.PhoneMesssageCodeLogin, + }, + { showLoading: false } + ); +} + +async function handleLogin() { + try { + if (props.policyChecked) { + const { valid } = await formRef.value.validate(); + if (valid) { + form.loading = true; + await userStore.loginByUsername({ + phoneNumber: form.phoneNumber, + code: form.verificationCode, + }); + jump(); + } + } else { + noAccess(); + } + } catch (error) { + } finally { + form.loading = false; + } +} + +function noAccess() { + Message.warning('璇峰厛闃呰骞跺嬀閫夊崗璁�'); +} + +function goRegister() { + Taro.navigateTo({ + url: RouterPath.registerForm, + }); +} +</script> diff --git a/apps/bMiniApp/src/subpackages/login/registerForm/registerForm.vue b/apps/bMiniApp/src/subpackages/login/registerForm/registerForm.vue new file mode 100644 index 0000000..8342306 --- /dev/null +++ b/apps/bMiniApp/src/subpackages/login/registerForm/registerForm.vue @@ -0,0 +1,178 @@ +<template> + <LoginPageLayout class="registerForm-page-wrapper" title="娉ㄥ唽"> + <div class="loginB-form-wrapper"> + <div class="register-form-title-wrapper"> + <div class="register-form-title">娉ㄥ唽</div> + <div class="register-form-title-line"></div> + </div> + <div class="verification-code-login-form-wrapper"> + <nut-form + class="verification-code-login-form" + ref="formRef" + :model-value="form" + :rules="rules" + > + <nut-form-item label="" class="bole-form-item" prop="phoneNumber" required> + <nut-input + v-model.trim="form.phoneNumber" + class="bole-input-text" + placeholder="璇疯緭鍏ユ墜鏈哄彿" + type="text" + /> + </nut-form-item> + <nut-form-item label="" class="bole-form-item" prop="verificationCode" required> + <nut-input + v-model.trim="form.verificationCode" + class="bole-input-text" + placeholder="璇疯緭鍏ラ獙璇佺爜" + type="number" + > + <template #right> + <ProFormCaptcha + :onGetCaptcha="onGetCaptcha" + phonePropName="phoneNumber" + :validateField="formRef?.validate" + ></ProFormCaptcha> + </template> + </nut-input> + </nut-form-item> + </nut-form> + <LargeButton class="login-btn" @click="handleRegister" :loading="form.loading" + >娉ㄥ唽</LargeButton + > + <div class="go-register-btn" @click="goLogin">绔嬪嵆鐧诲綍</div> + </div> + </div> + <Policy + v-model="state.policyChecked" + policyBtnText="鎴戝凡闃呰骞跺悓鎰�" + class="loginB-form-policy" + /> + </LoginPageLayout> +</template> + +<script setup lang="ts"> +import LoginPageLayout from '../components/LoginPageLayout/LoginPageLayout.vue'; +import { Policy } from '@/components'; +import * as commonServices from '@12333/services/api/Common'; +import { FormRules } from '@nutui/nutui-taro/dist/types/__VUE/form/types'; +import { FormValidator, Message } from '@12333/utils'; +import { LargeButton } from '@/components'; +import { ProFormCaptcha } from 'senin-mini/components'; +import { VerificationCodeBusinessType } from '@12333/constants'; +import Taro from '@tarojs/taro'; +import { ResponseCode } from '@12333/constants'; +import * as accountServices from '@12333/services/api/Account'; + +defineOptions({ + name: 'registerForm', +}); + +const state = reactive({ + policyChecked: false, +}); + +const formRef = ref(null); + +const form = reactive({ + loading: false, + phoneNumber: '', + verificationCode: '', +}); + +const rules = reactive<FormRules>({ + phoneNumber: [ + { required: true, message: '璇疯緭鍏ユ墜鏈哄彿' }, + { validator: FormValidator.validatorPhoneNumber, message: '璇疯緭鍏ユ纭殑鎵嬫満鍙�' }, + ], + verificationCode: [{ required: true, message: '璇疯緭鍏ラ獙璇佺爜' }], +}); + +async function onGetCaptcha() { + await commonServices.sendVerificationCode( + { + phoneNumber: form.phoneNumber, + businessType: VerificationCodeBusinessType.PhoneMesssageCodeRegister, + }, + { + showLoading: false, + customErrorHandler(error) { + if (error?.response?.data?.error?.code === ResponseCode.RegisterExistsPhoneNumber) { + Message.confirm({ + message: '璇ユ墜鏈哄彿宸叉敞鍐岋紝璇峰幓鐧诲綍椤电櫥褰�', + confirmText: '鍘荤櫥褰�', + }).then(() => { + goLogin(); + }); + return true; + } + }, + } + ); +} + +async function handleRegister() { + try { + if (state.policyChecked) { + const { valid } = await formRef.value.validate(); + if (valid) { + let params: API.PhoneMesssageCodeRegisterInput = { + code: form.verificationCode, + phoneNumber: form.phoneNumber, + }; + let res = await accountServices.phoneMesssageCodeRegister(params); + if (res) { + Message.success('娉ㄥ唽鎴愬姛', { + onClosed: () => { + goLogin(); + }, + }); + } + } + } else { + noAccess(); + } + } catch (error) { + } finally { + form.loading = false; + } +} + +function noAccess() { + Message.warning('璇峰厛闃呰骞跺嬀閫夊崗璁�'); +} + +const router = Taro.useRouter(); + +function goLogin() { + Taro.navigateBack(); +} +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; +@import '../styles/login.scss'; + +.registerForm-page-wrapper { + .register-form-title-wrapper { + padding-top: 20px; + margin-bottom: 92px; + + .register-form-title { + font-weight: 400; + font-size: 28px; + color: boleGetCssVar('color', 'primary'); + line-height: 40px; + text-align: center; + margin-bottom: 8px; + } + + .register-form-title-line { + width: 38px; + height: 2px; + background-color: boleGetCssVar('color', 'primary'); + margin: 0 auto; + } + } +} +</style> diff --git a/apps/bMiniApp/src/subpackages/login/styles/login.scss b/apps/bMiniApp/src/subpackages/login/styles/login.scss new file mode 100644 index 0000000..c1f57b6 --- /dev/null +++ b/apps/bMiniApp/src/subpackages/login/styles/login.scss @@ -0,0 +1,165 @@ +@import '@/styles/common.scss'; + +.loginB-form-wrapper { + flex: 1; + min-height: 0; + background-color: #fff; + border-radius: 32px 32px 0px 0px; + margin: 0 32px; + display: flex; + flex-direction: column; + + .loginB-form-tab { + height: 108px; + display: flex; + margin-bottom: 46px; + + .loginB-form-tab-item { + flex: 1; + min-width: 0; + display: flex; + justify-content: center; + padding-top: 20px; + position: relative; + + .loginB-form-tab-item-content { + position: relative; + z-index: 1; + } + + .loginB-form-tab-item-text { + font-weight: 400; + font-size: 28px; + color: boleGetCssVar('text-color', 'primary'); + line-height: 40px; + margin-bottom: 8px; + } + + .loginB-form-tab-item-line { + width: 36px; + height: 2px; + background-color: boleGetCssVar('color', 'primary'); + margin: 0 auto; + display: none; + } + + .loginB-form-tab-item-bg1 { + position: absolute; + z-index: 0; + width: 376px; + height: 108px; + top: 1px; + left: 1px; + } + + .loginB-form-tab-item-bg2 { + position: absolute; + z-index: 0; + width: 376px; + height: 108px; + top: 1px; + right: 1px; + } + + &.active { + .loginB-form-tab-item-text { + color: boleGetCssVar('color', 'primary'); + } + + .loginB-form-tab-item-line { + display: block; + } + + .loginB-form-tab-item-bg1, + .loginB-form-tab-item-bg2 { + display: none; + } + } + } + } + + .nut-cell-group__wrap { + overflow: visible; + } + + .bole-form-item { + padding: 0 !important; + margin-bottom: 40px; + + &:last-child { + margin-bottom: 0; + } + + &.error.line::before { + z-index: 1; + display: none; + // right: 0; + // left: 0; + // top: 0; + // border-radius: 44px; + } + + &.error { + .bole-input-text { + border: 1px solid #fa2c19; + box-sizing: border-box; + } + } + + .nut-form-item__body__tips { + left: 30rpx !important; + bottom: -36rpx !important; + } + } + + .bole-input-text { + // border-bottom: none; + border: 1px solid #f5f7fb; + height: 88px; + background: #f5f7fb; + border-radius: 44px; + padding: 24px 32px; + + /* .nut-input-value { + display: flex; + align-items: center; + } */ + + .h5-input { + font-size: 28px; + } + } +} + +.loginByForm-page-wrapper, +.registerForm-page-wrapper { + .loginB-form-policy { + margin-bottom: 40px; + } +} + +.verification-code-login-form-wrapper { + display: flex; + flex-direction: column; + padding: 0 32px; + + .verification-code-login-form { + margin-bottom: 60px; + + .nut-cell-group__wrap { + box-shadow: none; + margin-bottom: 0; + } + } + + .login-btn { + margin-bottom: 32px; + } + + .go-register-btn { + align-self: center; + color: boleGetCssVar('color', 'primary'); + font-size: 24px; + line-height: 34px; + } +} diff --git a/apps/bMiniApp/src/subpackages/login/userPolicy/index.config.ts b/apps/bMiniApp/src/subpackages/login/userPolicy/index.config.ts new file mode 100644 index 0000000..305fdb1 --- /dev/null +++ b/apps/bMiniApp/src/subpackages/login/userPolicy/index.config.ts @@ -0,0 +1,3 @@ +export default definePageConfig({ + disableScroll: true, +}); diff --git a/apps/bMiniApp/src/subpackages/login/userPolicy/userPolicy.vue b/apps/bMiniApp/src/subpackages/login/userPolicy/userPolicy.vue new file mode 100644 index 0000000..616593a --- /dev/null +++ b/apps/bMiniApp/src/subpackages/login/userPolicy/userPolicy.vue @@ -0,0 +1,290 @@ +<template> + <PageLayout title="鐢ㄦ埛鍗忚" :needAuth="false" class="userPolicy-page-wrapper"> + <scroll-view style="height: 100%" :scroll-y="true"> + <div class="userPolicy-page-scrollview-content"> + <div class="userPolicy-page-title">818骞冲彴鐢ㄦ埛鏈嶅姟鍗忚</div> + <UserPolicyCell title="涓�銆佹帴鍙楁潯娆�"> + <div>1銆佹湰鍗忚鐢辨偍涓�818骞冲彴鐨勭粡钀ヨ�咃紙浠ヤ笅绉扳�滃钩鍙扳�濓級鍏卞悓缂旂粨锛屾湰鏈嶅姟鍗忚鍏锋湁鍚堝悓鏁堝姏銆�</div> + <div> + 2銆佺敱浜庝簰鑱旂綉楂橀�熷彂灞曪紝鎮ㄤ笌骞冲彴绛剧讲鐨勬湰鍗忚鍒楁槑鐨勬潯娆惧苟涓嶈兘瀹屾暣缃楀垪骞惰鐩栨偍涓庡钩鍙版墍鏈夋潈鍒╀笌涔夊姟锛岀幇鏈夌殑绾﹀畾涔熶笉鑳戒繚璇佸畬鍏ㄧ鍚堟湭鏉ュ彂灞曠殑闇�姹傘�傚洜姝わ紝鎵�鏈夊钩鍙板凡缁忓彂甯冪殑鎴栧皢鏉ュ彲鑳藉彂甯冪殑鍚勭被瑙勫垯鍧囦负鏈崗璁殑琛ュ厖鍗忚锛屼笌鏈崗璁笉鍙垎鍓蹭笖鍏锋湁鍚岀瓑娉曞緥鏁堝姏銆傚鎮ㄧ户缁娇鐢ㄥ钩鍙版湇鍔★紝瑙嗕负鎮ㄥ悓鎰忎笂杩拌ˉ鍏呭崗璁�� + </div> + <div> + 3銆佸湪鏈湇鍔″崗璁腑娌℃湁浠モ�滆鍒欌�濆瓧鏍疯〃绀虹殑閾炬帴鏂囧瓧鎵�鎸囩ず鐨勬枃浠朵笉灞炰簬鏈湇鍔″崗璁殑缁勬垚閮ㄥ垎锛岃�屾槸鍏跺畠鍐呭鐨勫崗璁垨鏈夊叧鍙傝�冩暟鎹紝涓庢湰鍗忚娌℃湁娉曞緥涓婄殑鐩存帴鍏崇郴銆� + </div> + <div> + 4銆佺敤鎴峰湪浣跨敤骞冲彴鎻愪緵鐨勫悇椤规湇鍔$殑鍚屾椂锛屾壙璇烘帴鍙楀苟閬靛畧鍚勯」鐩稿叧瑙勫垯鐨勮瀹氥�傚钩鍙版湁鏉冩牴鎹渶瑕佷笉鏃跺湴鍒跺畾銆佷慨鏀规湰鍗忚鎴栧悇绫昏鍒欙紝濡傛湰鍗忚鏈変换浣曞彉鏇达紝骞冲彴灏嗕互缃戠珯鍏憡鐨勫舰寮忚繘琛屾洿鏂帮紝涓嶅啀鍗曠嫭閫氱煡浜堟偍銆傚鐢ㄦ埛涓嶅悓鎰忕浉鍏冲彉鏇达紝蹇呴』鍋滄浣跨敤鈥滄湇鍔♀�濄�傜粡淇鐨勫崗璁竴缁忓湪骞冲彴缃戠珯涓婂叕甯冨悗锛岀珛鍗宠嚜鍔ㄧ敓鏁堛�傚悇绫昏鍒欎細鍦ㄥ彂甯冨悗鐢熸晥锛屼害鎴愪负鏈崗璁殑涓�閮ㄥ垎銆傜櫥褰曟垨缁х画浣跨敤鈥滄湇鍔♀�濆皢琛ㄧず鐢ㄦ埛鎺ュ彈缁忎慨璁㈢殑鍗忚銆傞櫎鍙﹁鏄庣‘澹版槑澶栵紝浠讳綍浣库�滄湇鍔♀�濊寖鍥存墿澶ф垨鍔熻兘澧炲己鐨勬柊鍐呭鍧囧彈鏈崗璁害鏉熴�� + </div> + <div> + 5銆佺敤鎴风‘璁ゆ湰鏈嶅姟鍗忚鍚庯紝鏈湇鍔″崗璁嵆鍦ㄧ敤鎴峰拰骞冲彴涔嬮棿浜х敓娉曞緥鏁堝姏銆傝鐢ㄦ埛鍔″繀鍦ㄦ敞鍐屼箣鍓嶈鐪熼槄璇诲叏閮ㄦ湇鍔″崗璁唴瀹癸紝濡傛湁浠讳綍鐤戦棶锛屽彲鍚戝钩鍙板挩璇€�� + <div>1锛夋棤璁虹敤鎴蜂簨瀹炰笂鏄惁鍦ㄦ敞鍐屼箣鍓嶈鐪熼槄璇讳簡鏈湇鍔″崗璁紝鍙鐢ㄦ埛鐐瑰嚮鍗忚姝f湰涓嬫柟鐨勨�滅‘璁も�濇寜閽苟鎸夌収骞冲彴娉ㄥ唽绋嬪簭鎴愬姛娉ㄥ唽涓虹敤鎴凤紝鐢ㄦ埛鐨勮涓轰粛鐒惰〃绀哄叾鍚屾剰骞剁缃蹭簡鏈湇鍔″崗璁��</div> + <div>2锛夋湰鍗忚涓嶆秹鍙婄敤鎴蜂笌骞冲彴鍏跺畠鐢ㄦ埛涔嬮棿鍥犵綉涓婁氦鏄撹�屼骇鐢熺殑娉曞緥鍏崇郴鍙婃硶寰嬬籂绾枫��</div> + </div> + </UserPolicyCell> + <UserPolicyCell title="浜屻�佸畾涔�"> + <div>1銆�818骞冲彴锛�818骞冲彴鎸囩敱818骞冲彴缁忚惀鑰呰繍钀ョ殑缃戠粶骞冲彴锛屽寘鎷絾涓嶉檺浜�818浜哄姏璧勬簮浜т笟閾惧钩鍙帮紝鍩熷悕涓簑ww.81812333.com鍙�81812333灏忕▼搴忕瓑銆�</div> + <div>2銆�818骞冲彴缁忚惀鑰咃細骞冲彴缁忚惀鑰呮槸鎸囨硶寰嬭鍙殑缁忚惀璇ュ钩鍙扮綉绔欑殑璐d换涓讳綋锛屾湁鍏�818骞冲彴缁忚惀鑰呯殑淇℃伅璇锋煡鐪�818骞冲彴棣栭〉椤堕儴鐨勨�滃叧浜庘�濋摼鎺ャ��</div> + <div>3銆�818骞冲彴鏈嶅姟锛�818骞冲彴鏈嶅姟鏄寚骞冲彴娉ㄥ唽鐢ㄦ埛鍙湪818骞冲彴涓婂彂甯冧紒涓氫俊鎭�佷氦鏄撲俊鎭�佹煡璇骇鍝併�佷骇鍝佺浉鍏充俊鎭強鍏朵粬鏈嶅姟淇℃伅銆佽揪鎴愪氦鏄撴剰鍚戝苟杩涜浜ゆ槗銆佸鍏朵粬娉ㄥ唽鐢ㄦ埛杩涜璇勪环銆佸弬鍔犲钩鍙扮粍缁囩殑娲诲姩浠ュ強浣跨敤鍏跺畠淇℃伅鏈嶅姟鍙婃妧鏈湇鍔°��</div> + <div> + 4銆佺敤鎴峰強鐢ㄦ埛璐︽埛锛� + <div>1.鐢ㄦ埛锛氱敤鎴峰繀椤绘槸鍏峰瀹屽叏姘戜簨琛屼负鑳藉姏鐨勮嚜鐒朵汉锛屾垨鑰呮槸鍏锋湁鍚堟硶缁忚惀璧勬牸鐨勫疄浣撶粍缁囥�傛棤姘戜簨琛屼负鑳藉姏浜恒�侀檺鍒舵皯浜嬭涓鸿兘鍔涗汉浠ュ強鏃犵粡钀ユ垨鐗瑰畾缁忚惀璧勬牸鐨勭粍缁囦笉褰撴敞鍐屼负骞冲彴鐢ㄦ埛鎴栬秴杩囧叾姘戜簨鏉冨埄鎴栬涓鸿兘鍔涜寖鍥翠粠浜嬩氦鏄撶殑锛屽叾涓庡钩鍙颁箣闂寸殑鏈嶅姟鍗忚鑷鏃犳晥锛屽钩鍙颁竴缁忓彂鐜帮紝鏈夋潈绔嬪嵆娉ㄩ攢璇ョ敤鎴凤紝骞惰拷绌跺叾浣跨敤骞冲彴鈥滄湇鍔♀�濈殑涓�鍒囨硶寰嬭矗浠汇��</div> + <div>2.鐢ㄦ埛娉ㄥ唽锛氱敤鎴锋敞鍐屾槸鎸囩敤鎴风櫥闄嗗钩鍙帮紝骞舵寜瑕佹眰濉啓鐩稿叧淇℃伅骞剁‘璁ゅ悓鎰忓饱琛岀浉鍏崇敤鎴峰崗璁殑杩囩▼銆�</div> + <div>3.璐︽埛杞锛氱敱浜庣敤鎴疯处鎴峰叧鑱旂敤鎴蜂俊鐢ㄤ俊鎭紝浠呭綋鏈夋硶寰嬫槑鏂囪瀹氥�佸徃娉曡瀹氭垨缁忓钩鍙板悓鎰忕殑鎯呭喌涓嬶紝鎮ㄥ彲杩涜璐︽埛鐨勮浆璁┿�傛偍鐨勮处鎴蜂竴缁忚浆璁╋紝璇ヨ处鎴烽」涓嬫潈鍒╀箟鍔′竴骞惰浆绉汇�傞櫎姝ゅ锛屾偍鐨勮处鎴蜂笉寰椾互浠讳綍鏂瑰紡杞锛屽惁鍒欏钩鍙版湁鏉冭拷绌舵偍鐨勮繚绾﹁矗浠伙紝涓旂敱姝や骇鐢熺殑涓�鍒囪矗浠诲潎鐢辨偍鎵挎媴銆�</div> + <div>4.瀹炲悕璁よ瘉锛氫负浣挎偍鏇村ソ鍦颁娇鐢ㄥ钩鍙扮殑鍚勯」鏈嶅姟锛屼繚闅滄偍鐨勮处鎴峰畨鍏紝骞冲彴鍙姹傛偍鎸夊浗瀹舵硶寰嬫硶瑙勭殑瑙勫畾瀹屾垚瀹炲悕璁よ瘉銆�</div> + <div>5.涓嶆椿璺冭处鎴峰洖鏀讹細濡傛偍鐨勮处鎴峰悓鏃剁鍚堜互涓嬫潯浠讹紝鎮ㄧ殑骞冲彴鐧诲綍璐︽埛鍙兘琚睆钄斤紝涓嶈兘鍐嶇櫥闄嗗钩鍙帮紝鎵�鏈夊钩鍙版湇鍔″皢鍚屾椂缁堟锛�</div> + <div>5.1.鏈�氳繃瀹炲悕璁よ瘉鐨勫钩鍙拌处鎴凤紱</div> + <div>5.2.杩炵画180澶╂湭浣跨敤鎮ㄧ殑閭銆佹墜鏈烘垨骞冲彴璁ゅ彲鐨勫叾浠栨柟寮忓拰瀵嗙爜鐧诲綍杩囧钩鍙扮綉绔欙紱</div> + <div>5.3.涓嶅瓨鍦ㄦ湭鍒版湡鐨勬湁鏁堜笟鍔�</div> + <div>6.娉ㄥ唽淇℃伅绠$悊</div> + <div>6.1.鍦ㄥ畬鎴愭敞鍐屾垨婵�娲绘祦绋嬫椂锛屾偍搴斿綋鎸夊钩鍙扮浉搴旈〉闈㈢殑鎻愮ず鍑嗙‘瀹屾暣鍦版彁渚涘苟鍙婃椂鏇存柊鎮ㄧ殑淇℃伅锛屼互浣夸箣鐪熷疄銆佸強鏃讹紝瀹屾暣鍜屽噯纭�傚湪鍥藉娉曞緥娉曡鏈夋槑纭瀹氳姹傚钩鍙颁綔涓哄钩鍙版湇鍔℃彁渚涜�呭繀椤诲鐢ㄦ埛锛堝浜哄姏璧勬簮鍏徃绛夛級鐨勪俊鎭繘琛屾牳瀹炵殑鎯呭喌涓嬶紝骞冲彴灏嗕緷娉曚笉鏃跺湴瀵规偍鐨勪俊鎭繘琛屾鏌ユ牳瀹烇紝鎮ㄥ簲褰撻厤鍚堟彁渚涙渶鏂般�佺湡瀹炪�佸畬鏁淬�佹湁鏁堢殑淇℃伅銆�</div> + <div>6.2.濡傚钩鍙版寜鎮ㄦ渶鍚庝竴娆℃彁渚涚殑淇℃伅涓庢偍鑱旂郴鏈灉銆佹偍鏈寜骞冲彴鐨勮姹傚強鏃舵彁渚涗俊鎭�佹偍鎻愪緵鐨勪俊鎭瓨鍦ㄦ槑鏄句笉瀹炴垨琛屾斂鍙告硶鏈哄叧鏍稿疄鎮ㄦ彁渚涚殑淇℃伅鏃犳晥鐨勶紝鎮ㄥ皢鎵挎媴鍥犳瀵规偍鑷韩銆佷粬浜哄強骞冲彴閫犳垚鐨勫叏閮ㄦ崯澶变笌涓嶅埄鍚庢灉銆傚钩鍙板彲鍚戞偍鍙戝嚭璇㈤棶鎴栬姹傛暣鏀圭殑閫氱煡锛屽苟瑕佹眰鎮ㄨ繘琛岃祫鏂欐洿鏂版垨閲嶆柊璁よ瘉锛岀洿鑷充腑姝€�佺粓姝㈠鎮ㄦ彁渚涢儴鍒嗘垨鍏ㄩ儴骞冲彴鏈嶅姟锛屽钩鍙板姝や笉鎵挎媴璐d换銆�</div> + <div>6.3.鎮ㄨ缃殑璐︽埛鐧诲綍鍚嶅強鏄电О涓嶅緱杩濆弽鍥藉娉曞緥娉曡鍙婂钩鍙拌鍒欑殑鐩稿簲绠$悊瑙勫畾锛屽惁鍒欏钩鍙板彲鍥炴敹鎮ㄧ殑鐧诲綍鍚嶅強鏄电О锛屽苟鎸夊钩鍙拌鍒欒繘琛岀浉搴旂殑澶勭悊銆�</div> + </div> + </UserPolicyCell> + <UserPolicyCell title="涓夈�佺敤鎴风殑鏉冨埄鍜屼箟鍔�"> + <div>1銆佺敤鎴锋湁鏉冧娇鐢ㄦ偍璁剧疆鎴栫‘璁ょ殑閭銆佹墜鏈哄彿鐮侊紙浠ヤ笅绠�绉扳�滆处鎴峰悕绉扳�濓級鍙婃偍璁剧疆鐨勫瘑鐮侊紙璐︽埛鍚嶇О鍙婂瘑鐮佸悎绉扳�滆处鎴封�濓級鐧诲綍骞冲彴銆� + 鐢变簬鎮ㄧ殑骞冲彴缃戣处鎴峰叧鑱旀偍鐨勪釜浜轰俊鎭強骞冲彴鍟嗕笟淇℃伅锛屾偍鐨勫钩鍙扮綉璐︽埛浠呴檺鎮ㄦ湰浜轰娇鐢ㄣ�傛湭缁忓钩鍙板悓鎰忥紝鎮ㄧ洿鎺ユ垨闂存帴鎺堟潈绗笁鏂逛娇鐢ㄦ偍骞冲彴缃戣处鎴锋垨鑾峰彇鎮ㄨ处鎴烽」涓嬩俊鎭殑琛屼负鏃犳晥銆傚骞冲彴鍒ゆ柇鎮ㄨ处鎴风殑浣跨敤鍙兘鍗卞強鎮ㄧ殑璐︽埛瀹夊叏鍙�/鎴栧钩鍙颁俊鎭畨鍏ㄧ殑锛屽钩鍙板彲鎷掔粷鎻愪緵鐩稿簲鏈嶅姟鎴栫粓姝㈡湰鍗忚銆�</div> + <div>2銆佺敤鎴峰簲绉瀬缁存姢骞冲彴杩愯惀绉╁簭锛屼笉寰楅�氳繃杞欢銆佺▼搴忕瓑鏂瑰紡锛屽ぇ鎵归噺娉ㄥ唽璐︽埛锛屽Θ瀹冲钩鍙拌繍钀ョЗ搴忥紙浠ヤ笅绠�绉扳�滀笉褰撴敞鍐屸�濓級銆傚浜庡钩鍙版帓鏌ュ埌鐨勬秹瀚屼笉褰撴敞鍐岀殑浼氬憳锛屽钩鍙板皢瑙嗘儏鑺傞噰鍙栬鍛娿�佽韩浠介獙璇併�侀檺鍒跺紑閫氬睍鍙般�侀檺鍒惰喘涔扮綉绔欑浉鍏虫湇鍔°�侀檺鍒跺彂甯冧骇鍝併�侀檺鍒剁綉绔欑櫥褰曠瓑涓存椂鎬х鐞嗘帾鏂姐��</div> + <div>3銆佺敤鎴锋湁鏉冩牴鎹湰鏈嶅姟鍗忚鐨勮瀹氫互鍙婂钩鍙颁笂鍙戝竷鐨勭浉鍏宠鍒欏埄鐢ㄥ钩鍙板彂甯冧紒涓氫俊鎭�佷氦鏄撲俊鎭�佹煡璇骇鍝併�佷骇鍝佺浉鍏充俊鎭強鍏朵粬鏈嶅姟淇℃伅銆佽揪鎴愪氦鏄撴剰鍚戝苟杩涜浜ゆ槗銆佸鍏朵粬娉ㄥ唽鐢ㄦ埛杩涜璇勪环銆佸弬鍔犲钩鍙扮粍缁囩殑娲诲姩浠ュ強浣跨敤鍏跺畠淇℃伅鏈嶅姟鍙婃妧鏈湇鍔°��</div> + <div>4銆佺敤鎴峰湪骞冲彴缃戜笂浜ゆ槗杩囩▼涓涓庡钩鍙板叾浠栫敤鎴峰洜浜ゆ槗浜х敓绾犵悍锛屽彲浠ヨ姹傚钩鍙颁粠涓簣浠ュ崗璋冦�傜敤鎴峰鍙戠幇骞冲彴鍏朵粬鐢ㄦ埛鏈夎繚娉曟垨杩濆弽鏈湇鍔″崗璁殑琛屼负锛屽彲浠ュ悜骞冲彴杩涜鍙嶆槧瑕佹眰澶勭悊銆傚鐢ㄦ埛鍥犵綉涓婁氦鏄撲笌鍏朵粬鐢ㄦ埛浜х敓璇夎鐨勶紝鐢ㄦ埛鏈夋潈閫氳繃鍙告硶閮ㄩ棬瑕佹眰骞冲彴鎻愪緵鐩稿叧璧勬枡锛�</div> + <div>5銆佺敤鎴锋湁涔夊姟鍦ㄦ敞鍐屾椂鎻愪緵鑷繁鐨勭湡瀹炶祫鏂欙紝骞朵繚璇佽濡傜數瀛愰偖浠跺湴鍧�銆佽仈绯荤數璇濄�佽仈绯诲湴鍧�銆侀偖鏀跨紪鐮佺瓑鍐呭鐨勬湁鏁堟�у強瀹夊叏鎬э紝淇濊瘉骞冲彴鍙婂钩鍙板叾浠栫敤鎴峰彲浠ラ�氳繃涓婅堪鑱旂郴鏂瑰紡涓庤嚜宸辫繘琛岃仈绯汇�傚悓鏃讹紝鐢ㄦ埛涔熸湁涔夊姟鍦ㄧ浉鍏宠祫鏂欏疄闄呭彉鏇存椂鍙婃椂鏇存柊鏈夊叧娉ㄥ唽璧勬枡銆傜敤鎴蜂繚璇佷笉浠ヤ粬浜鸿祫鏂欏湪骞冲彴涓婅繘琛屾敞鍐屾垨璁よ瘉锛涘鐢ㄦ埛鎻愪緵鐨勪俊鎭笉鐪熷疄銆佷笉鍑嗙‘銆佷笉鍙婃椂鎴栦笉瀹屽叏锛屾垨骞冲彴鏈夊悎鐞嗙殑鐞嗙敱鎬�鐤戝叾鐪熷疄鎬с�佸噯纭�с�佸強鏃舵�у拰瀹屾暣鎬э紝鍒欏钩鍙版湁鏉冭鎯呭喌瀵圭敤鎴烽噰鍙栬鍛娿�佽处鎴烽檺鏉冮檺鍒剁洿鑷宠处鎴峰睆钄界瓑绠$悊鎺柦锛屽苟鏈夋潈鎷掔粷鐢ㄦ埛浣跨敤浠讳綍鐜版湁鐨勬湇鍔″強浠ュ悗鍙兘鎻愪緵鐨勪换浣曞姛鑳芥垨鏈嶅姟銆�</div> + <div>6銆佺敤鎴峰簲鍏呭垎浜嗚В骞跺悓鎰忥紝818浜哄姏璧勬簮浜т笟閾惧钩鍙版槸涓�涓涓氬钩鍙帮紝鏁呮偍鐨勮浠枫�侀噰璐涓哄簲褰撳熀浜庣湡瀹炵殑琛屼笟闇�姹傦紝涓嶅緱瀛樺湪瀵逛骇鍝佸強/鎴栨湇鍔″疄鏂芥伓鎰忚浠枫�侀噰璐�佹伓鎰忕淮鏉冪瓑鎵颁贡骞冲彴姝e父浜ゆ槗绉╁簭鐨勮涓恒�傚熀浜庣淮鎶ゅ钩鍙颁氦鏄撶З搴忓強浜ゆ槗瀹夊叏鐨勯渶瑕侊紝骞冲彴鍙戠幇涓婅堪鎯呭舰鏃跺彲涓诲姩鎵ц鍏抽棴鐩稿叧浜ゆ槗璁㈠崟绛夋搷浣溿��</div> + <div>7銆佺敤鎴峰湪骞冲彴涓婁笉寰楀彂甯冨涓嬪悇绫昏繚娉曟垨杩濊淇℃伅锛�</div> + </UserPolicyCell> + <UserPolicyCell title="鍥涖�佸钩鍙扮殑鏉冨埄鍜屼箟鍔�"> + <div>1銆佸钩鍙版湁涔夊姟鍦ㄧ幇鏈夋妧鏈笂缁存姢鏁翠釜骞冲彴鐨勬甯歌繍琛岋紝骞跺姫鍔涙彁鍗囧拰鏀硅繘鎶�鏈紝浣跨敤鎴风綉涓婁氦鏄撴椿鍔ㄥ緱浠ラ『鍒╄繘琛岋紱</div> + <div>2銆佸鐢ㄦ埛鍦ㄦ敞鍐屼娇鐢ㄥ钩鍙颁腑鎵�閬囧埌鐨勪笌浜ゆ槗鎴栨敞鍐屾湁鍏崇殑闂鍙婂弽鏄犵殑鎯呭喌锛屽钩鍙板簲鍙婃椂浣滃嚭鍥炲锛�</div> + <div>3銆佸浜庣敤鎴峰湪骞冲彴涓婄殑涓嶅綋琛屼负鎴栧叾瀹冧换浣曞钩鍙拌涓哄簲褰撶粓姝㈡湇鍔$殑鎯呭喌锛屽钩鍙版湁鏉冮殢鏃朵綔鍑哄垹闄ょ浉鍏充俊鎭�佺粓姝㈡湇鍔℃彁渚涚瓑澶勭悊锛岃�屾棤椤诲緛寰楃敤鎴风殑鍚屾剰锛�</div> + <div> + 4銆佸洜缃戜笂浜ゆ槗骞冲彴鐨勭壒娈婃�э紝骞冲彴娌℃湁涔夊姟瀵规墍鏈夌敤鎴风殑娉ㄥ唽鏁版嵁銆佹墍鏈夌殑浜ゆ槗琛屼负浠ュ強涓庝氦鏄撴湁鍏崇殑鍏跺畠浜嬮」杩涜浜嬪厛瀹℃煡锛屼絾濡傚瓨鍦ㄤ笅鍒楁儏鍐碉細 + <div>1锛夌敤鎴锋垨鍏跺畠绗笁鏂归�氱煡骞冲彴锛岃涓烘煇涓叿浣撶敤鎴锋垨鍏蜂綋浜ゆ槗浜嬮」鍙兘瀛樺湪閲嶅ぇ闂锛�</div> + <div>2锛夌敤鎴锋垨鍏跺畠绗笁鏂瑰悜骞冲彴鍛婄煡骞冲彴涓婃湁杩濇硶鎴栦笉褰撹涓虹殑锛屽钩鍙颁互鏅�氶潪涓撲笟浜ゆ槗鑰呯殑鐭ヨ瘑姘村钩鏍囧噯瀵圭浉鍏冲唴瀹硅繘琛屽垽鍒紝鍙互鏄庢樉璁や负杩欎簺鍐呭鎴栬涓哄叿鏈夎繚娉曟垨涓嶅綋鎬ц川鐨勶紱</div> + <div>閽堝涓婅堪鎯呭喌锛堝寘鎷絾涓嶉檺浜庯級锛屽钩鍙版湁鏉冩牴鎹笉鍚屾儏鍐甸�夋嫨淇濈暀鎴栧垹闄ょ浉鍏充俊鎭垨缁х画銆佸仠姝㈠璇ョ敤鎴锋彁渚涙湇鍔★紝骞惰拷绌剁浉鍏虫硶寰嬭矗浠汇��</div> + </div> + <div>5銆佺敤鎴峰湪骞冲彴浜ゆ槗杩囩▼涓涓庡钩鍙板叾瀹冪敤鎴峰洜浜ゆ槗浜х敓绾犵悍锛岃姹傚钩鍙颁粠涓簣浠ヨ皟澶勶紝缁忓钩鍙板鏍稿悗锛屽钩鍙版湁鏉冮�氳繃鐢佃瘽銆佺數瀛愰偖浠剁瓑鑱旂郴鏂瑰紡鍚戠籂绾峰弻鏂逛簡瑙f儏鍐碉紝骞跺皢鎵�浜嗚В鐨勬儏鍐甸�氳繃鐢佃瘽銆佺數瀛愰偖浠剁瓑鑱旂郴鏂瑰紡浜掔浉閫氱煡瀵规柟锛�</div> + <div>6銆佺敤鎴峰洜鍦ㄥ钩鍙颁笂浜ゆ槗涓庡叾瀹冪敤鎴蜂骇鐢熻瘔璁肩殑锛岀敤鎴烽�氳繃鍙告硶閮ㄩ棬鎴栬鏀块儴闂ㄤ緷鐓ф硶瀹氱▼搴忚姹傚钩鍙版彁渚涚浉鍏虫暟鎹紝骞冲彴搴旂Н鏋侀厤鍚堝苟鎻愪緵鏈夊叧璧勬枡锛�</div> + <div>7銆佸钩鍙版湁鏉冨鐢ㄦ埛鐨勬敞鍐屾暟鎹強浜ゆ槗琛屼负杩涜鏌ラ槄锛屽彂鐜版敞鍐屾暟鎹垨浜ゆ槗琛屼负涓瓨鍦ㄤ换浣曢棶棰樻垨鎬�鐤戯紝鍧囨湁鏉冨悜鐢ㄦ埛鍙戝嚭璇㈤棶鍙婅姹傛敼姝g殑閫氱煡鎴栬�呯洿鎺ヤ綔鍑哄垹闄ょ瓑澶勭悊锛�</div> + <div>8銆佺粡鍥藉鐢熸晥娉曞緥鏂囦功鎴栬鏀垮缃氬喅瀹氱‘璁ょ敤鎴峰瓨鍦ㄨ繚娉曡涓猴紝鎴栬�呭钩鍙版湁瓒冲浜嬪疄渚濇嵁鍙互璁ゅ畾鐢ㄦ埛瀛樺湪杩濇硶鎴栬繚鍙嶆湇鍔″崗璁涓虹殑锛屽钩鍙版湁鏉冨湪骞冲彴涓婁互鍏憡鍙戝竷鐨勫舰寮忓叕甯冪敤鎴风殑杩濇硶琛屼负锛�</div> + <div>9銆佸浜庣敤鎴峰湪骞冲彴鍙戝竷鐨勪笅鍒楀悇绫讳俊鎭紝骞冲彴鏈夋潈鍦ㄤ笉閫氱煡鐢ㄦ埛鐨勫墠鎻愪笅杩涜鍒犻櫎鎴栭噰鍙栧叾瀹冮檺鍒舵�ф帾鏂斤紝鍖呮嫭浣嗕笉闄愪簬浠ヨ閬胯垂鐢ㄤ负鐩殑鐨勪俊鎭紱浠ョ倰浣滀俊鐢ㄤ负鐩殑鐨勪俊鎭紱骞冲彴鏈夌悊鐢辩浉淇″瓨鍦ㄦ璇堢瓑鎭舵剰鎴栬櫄鍋囧唴瀹圭殑淇℃伅锛涘钩鍙版湁鐞嗙敱鐩镐俊涓庣綉涓婁氦鏄撴棤鍏虫垨涓嶆槸浠ヤ氦鏄撲负鐩殑鐨勪俊鎭紱骞冲彴鏈夌悊鐢辩浉淇″瓨鍦ㄦ伓鎰忕珵浠锋垨鍏跺畠璇曞浘鎵颁贡姝e父浜ゆ槗绉╁簭鍥犵礌鐨勪俊鎭紱骞冲彴鏈夌悊鐢辩浉淇¤淇℃伅杩濆弽鍏叡鍒╃泭鎴栧彲鑳戒弗閲嶆崯瀹冲钩鍙板拰鍏跺畠鐢ㄦ埛鍚堟硶鍒╃泭鐨勶紱</div> + <div>10銆佺敤鎴峰洜杩涜浜ゆ槗銆佽幏鍙栨湁鍋挎湇鍔℃垨鎺ヨЕ骞冲彴鏈嶅姟鍣ㄨ�屽彂鐢熺殑鎵�鏈夊簲绾崇◣璧嬶紝浠ュ強涓�鍒囩‖浠躲�佽蒋浠躲�佹湇鍔″強鍏跺畠鏂归潰鐨勮垂鐢ㄥ潎鐢辩敤鎴疯礋璐f敮浠橈紱</div> + <div>11銆佸钩鍙颁粎浣滀负浜ゆ槗鍦扮偣銆傚钩鍙颁粎浣滀负鐢ㄦ埛鐗╄壊浜ゆ槗瀵硅薄锛屽氨浜у搧鍜屾湇鍔$殑浜ゆ槗杩涜鍗忓晢锛屼互鍙婅幏鍙栧悇绫荤浉鍏崇殑鏈嶅姟鐨勫湴鐐广�傚钩鍙颁笉鑳芥帶鍒朵氦鏄撴墍娑夊強鐨勭墿鍝併�佹湇鍔$殑璐ㄩ噺銆佸畨鍏ㄦ垨鍚堟硶鎬э紝淇℃伅鐨勭湡瀹炴�ф垨鍑嗙‘鎬э紝浠ュ強浜ゆ槗鏂瑰饱琛屽叾鍦ㄥ崗璁」涓嬬殑鍚勯」涔夊姟鐨勮兘鍔涳紱</div> + <div>12銆佸钩鍙板苟涓嶄綔涓轰拱瀹舵垨鏄崠瀹剁殑韬唤鍙備笌涔板崠琛屼负鐨勬湰韬�傚钩鍙版彁閱掔敤鎴峰簲璇ラ�氳繃鑷繁鐨勮皑鎱庡垽鏂‘瀹氱浉鍏充俊鎭殑鐪熷疄鎬с�佸悎娉曟�у拰鏈夋晥鎬э紱</div> + <div>13銆佽鍙娇鐢ㄦ潈銆� 鐢ㄦ埛浠ユ鎺堜簣骞冲彴鍙婂叾鍏宠仈鍏徃鐙鐨勩�佸叏鐞冮�氱敤鐨勩�佹案涔呯殑銆佸厤璐圭殑璁稿彲浣跨敤鏉冨埄 (骞舵湁鏉冨湪澶氫釜灞傞潰瀵硅鏉冨埄杩涜鍐嶆巿鏉�)锛屼娇骞冲彴鍙婂叾鍏宠仈鍏徃鏈夋潈(鍏ㄩ儴鎴栭儴浠藉湴) 浣跨敤銆佸鍒躲�佷慨璁€�佹敼鍐欍�佸彂甯冦�佺炕璇戙�佸垎鍙戙�佹墽琛屽拰灞曠ず鐢ㄦ埛鐨勫叏閮ㄨ祫鏂欐暟鎹紙鍖呮嫭浣嗕笉闄愪簬娉ㄥ唽璧勬枡銆佷氦鏄撹涓烘暟鎹強鍏ㄩ儴灞曠ず浜庣綉绔欑殑鍚勭被淇℃伅锛夋垨鍒朵綔鍏舵淳鐢熶綔鍝侊紝鍜�/鎴栦互鐜板湪宸茬煡鎴栨棩鍚庡紑鍙戠殑浠讳綍褰㈠紡銆佸獟浣撴垨鎶�鏈紝灏嗕笂杩颁俊鎭撼鍏ュ叾瀹冧綔鍝佸唴銆�</div> + </UserPolicyCell> + <UserPolicyCell title="浜斻�佺敤鎴风殑杩濈害鍙婂鐞�"> + <div>1銆佽繚绾﹁瀹�</div> + <div>鍙戠敓濡備笅鎯呭舰涔嬩竴鐨勶紝瑙嗕负鎮ㄨ繚绾︼細</div> + <div>1.浣跨敤骞冲彴鏈嶅姟鏃惰繚鍙嶆湁鍏虫硶寰嬫硶瑙勮瀹氱殑锛�</div> + <div>2.杩濆弽鏈崗璁垨骞冲彴灏嗗湪鏈潵鏇存柊鐨勫叾浠栫被鍨嬬殑琛ュ厖鍗忚鐨勶紱</div> + <div>涓洪�傚簲鐢靛瓙鍟嗗姟鍙戝睍鍜屾弧瓒虫捣閲忕敤鎴峰楂樻晥浼樿川鏈嶅姟鐨勯渶姹傦紝鎮ㄧ悊瑙e苟鍚屾剰锛屽钩鍙板彲鍦ㄥ钩鍙拌鍒欎腑绾﹀畾杩濈害璁ゅ畾鐨勭▼搴忓拰鏍囧噯銆傚锛氬钩鍙板彲渚濇嵁鎮ㄧ殑鐢ㄦ埛鏁版嵁涓庢捣閲忕敤鎴锋暟鎹殑鍏崇郴鏉ヨ瀹氭偍鏄惁鏋勬垚杩濈害锛涙偍鏈変箟鍔″鎮ㄧ殑鏁版嵁寮傚父鐜拌薄杩涜鍏呭垎涓捐瘉鍜屽悎鐞嗚В閲婏紝鍚﹀垯灏嗚璁ゅ畾涓鸿繚绾︺��</div> + <div>2銆佽繚绾﹀鐞嗘帾鏂�</div> + <div>1.鎮ㄥ湪骞冲彴涓婂彂甯冪殑淇℃伅鏋勬垚杩濈害鐨勶紝骞冲彴鍙牴鎹浉搴旇鍒欑珛鍗冲鐩稿簲淇℃伅杩涜鍒犻櫎銆佸睆钄藉鐞嗐��</div> + <div>2.鎮ㄥ湪骞冲彴涓婂疄鏂界殑琛屼负锛屾垨铏芥湭鍦ㄥ钩鍙颁笂瀹炴柦浣嗗骞冲彴鍙婂叾鐢ㄦ埛浜х敓褰卞搷鐨勮涓烘瀯鎴愯繚绾︾殑锛屽钩鍙板彲渚濇嵁鐩稿簲瑙勫垯瀵规偍鎵ц璐︽埛鎯╂垝銆侀檺鍒跺弬鍔犳椿鍔ㄣ�佷腑姝㈠悜鎮ㄦ彁渚涢儴鍒嗘垨鍏ㄩ儴鏈嶅姟銆佸垝鎵h繚绾﹂噾绛夊鐞嗘帾鏂姐�傚鎮ㄧ殑琛屼负鏋勬垚鏍规湰杩濈害鐨勶紝骞冲彴鍙叧闂偍鐨勮处鎴凤紝缁堟鍚戞偍鎻愪緵鏈嶅姟銆�</div> + <div>3.褰撴偍杩濈害鐨勫悓鏃跺瓨鍦ㄦ璇堛�佸敭鍋囥�佺洍鐢ㄤ粬浜鸿处鎴风瓑鐗瑰畾鎯呭舰鎴栨偍瀛樺湪鍗卞強浠栦汉浜ゆ槗瀹夊叏鎴栬处鎴峰畨鍏ㄩ闄╂椂锛屽钩鍙颁細渚濈収鎮ㄨ涓虹殑椋庨櫓绋嬪害瀵规偍鐨勫钩鍙拌处鎴烽噰鍙栧彇娑堟敹娆俱�佽祫閲戞浠樼瓑寮哄埗鎺柦銆�</div> + <div>4.骞冲彴鍙皢瀵规偍涓婅堪杩濈害琛屼负澶勭悊鎺柦淇℃伅浠ュ強鍏朵粬缁忓浗瀹惰鏀挎垨鍙告硶鏈哄叧鐢熸晥娉曞緥鏂囦功纭鐨勮繚娉曚俊鎭湪骞冲彴涓婁簣浠ュ叕绀恒��</div> + <div>3銆佽禂鍋胯矗浠�</div> + <div>1.濡傛偍鐨勮涓轰娇骞冲彴閬彈鎹熷け锛堝寘鎷嚜韬殑鐩存帴缁忔祹鎹熷け銆佸晢瑾夋崯澶卞強瀵瑰鏀粯鐨勮禂鍋块噾銆佸拰瑙f銆佸緥甯堣垂銆佽瘔璁艰垂绛夐棿鎺ョ粡娴庢崯澶憋級锛屾偍搴旇禂鍋垮钩鍙扮殑涓婅堪鍏ㄩ儴鎹熷け銆�</div> + <div>2.濡傛偍鐨勮涓轰娇骞冲彴閬彈绗笁浜轰富寮犳潈鍒╋紝骞冲彴鍙湪瀵圭涓変汉鎵挎媴閲戦挶缁欎粯绛変箟鍔″悗灏卞叏閮ㄦ崯澶卞悜鎮ㄨ拷鍋裤��</div> + </UserPolicyCell> + <UserPolicyCell title="鍏�佹湇鍔$殑涓柇鍜岀粓姝�"> + <div>1銆佺敤鎴峰悓鎰忥紝鍦ㄥ钩鍙版湭鍚戠敤鎴锋敹鍙栨湇鍔¤垂鐨勬儏鍐典笅锛屽钩鍙板彲鑷鍏ㄦ潈鍐冲畾浠ヤ换浣曠悊鐢� (鍖呮嫭浣嗕笉闄愪簬骞冲彴璁や负鐢ㄦ埛宸茶繚鍙嶆湰鍗忚鐨勫瓧闈㈡剰涔夊拰绮剧锛屾垨浠ヤ笉绗﹀悎鏈崗璁殑瀛楅潰鎰忎箟鍜岀簿绁炵殑鏂瑰紡琛屼簨锛屾垨鐢ㄦ埛鍦ㄨ秴杩�180澶╃殑鏃堕棿鍐呮湭浠ョ敤鎴风殑璐﹀彿鍙婂瘑鐮佺櫥褰曠綉绔欑瓑) 缁堟鐢ㄦ埛鐨勨�滄湇鍔♀�濆瘑鐮併�佽处鎴� (鎴栧叾浠讳綍閮ㄤ唤) 鎴栫敤鎴峰鈥滄湇鍔♀�濈殑浣跨敤锛屽苟鍒犻櫎锛堜笉鍐嶄繚瀛橈級鐢ㄦ埛鍦ㄤ娇鐢ㄢ�滄湇鍔♀�濅腑鎻愪氦鐨勪换浣曡祫鏂欍�傚悓鏃跺钩鍙板彲鑷鍏ㄦ潈鍐冲畾锛屽湪鍙戝嚭閫氱煡鎴栦笉鍙戝嚭閫氱煡鐨勬儏鍐典笅锛岄殢鏃跺仠姝㈡彁渚涒�滄湇鍔♀�濇垨鍏朵换浣曢儴浠姐�傝处鍙风粓姝㈠悗锛屽钩鍙版病鏈変箟鍔′负鐢ㄦ埛淇濈暀鍘熻处鍙蜂腑鎴栦笌涔嬬浉鍏崇殑浠讳綍淇℃伅锛屾垨杞彂浠讳綍鏈浘闃呰鎴栧彂閫佺殑淇℃伅缁欑敤鎴锋垨绗笁鏂广�傛澶栵紝鐢ㄦ埛鍚屾剰锛屽钩鍙颁笉灏辩粓姝㈢敤鎴锋帴鍏モ�滄湇鍔♀�濊�屽鐢ㄦ埛鎴栦换浣曠涓夎�呮壙鎷呬换浣曡矗浠伙紱</div> + <div>2銆佸鐢ㄦ埛鍚戝钩鍙版彁鍑烘敞閿�骞冲彴娉ㄥ唽鐢ㄦ埛韬唤鏃讹紝缁忓钩鍙板鏍稿悓鎰忥紝鐢卞钩鍙版敞閿�璇ユ敞鍐岀敤鎴凤紝鐢ㄦ埛鍗宠В闄や笌骞冲彴鐨勬湇鍔″崗璁叧绯汇�備絾娉ㄩ攢璇ョ敤鎴疯处鍙峰悗锛屽钩鍙颁粛淇濈暀涓嬪垪鏉冨埄锛�</div> + <div>1锛夌敤鎴锋敞閿�鍚庯紝骞冲彴鏈夋潈淇濈暀璇ョ敤鎴风殑娉ㄥ唽鏁版嵁鍙婁互鍓嶇殑浜ゆ槗琛屼负璁板綍锛�</div> + <div>2锛夌敤鎴锋敞閿�鍚庯紝濡傜敤鎴峰湪娉ㄩ攢鍓嶅湪骞冲彴浜ゆ槗骞冲彴涓婂瓨鍦ㄨ繚娉曡涓烘垨杩濆弽鍚堝悓鐨勮涓猴紝骞冲彴浠嶅彲琛屼娇鏈湇鍔″崗璁墍瑙勫畾鐨勬潈鍒┿��</div> + <div>3銆佸湪涓嬪垪鎯呭喌涓嬶紝骞冲彴鍙互閫氳繃娉ㄩ攢鐢ㄦ埛鐨勬柟寮忕粓姝㈡湇鍔★細</div> + <div>1锛夊湪鐢ㄦ埛杩濆弽鏈湇鍔″崗璁浉鍏宠瀹氭椂锛屽钩鍙版湁鏉冪粓姝㈠悜璇ョ敤鎴锋彁渚涙湇鍔°�傚钩鍙板皢鍦ㄤ腑鏂湇鍔℃椂閫氱煡鐢ㄦ埛銆備絾濡傝鐢ㄦ埛鍦ㄨ骞冲彴缁堟鎻愪緵鏈嶅姟鍚庯紝鍐嶄竴娆$洿鎺ユ垨闂存帴鎴栦互浠栦汉鍚嶄箟娉ㄥ唽涓哄钩鍙扮敤鎴风殑锛屽钩鍙版湁鏉冨啀娆″崟鏂归潰缁堟鍚戣鐢ㄦ埛鎻愪緵鏈嶅姟锛�</div> + <div>2锛夊骞冲彴閫氳繃鐢ㄦ埛鎻愪緵鐨勪俊鎭笌鐢ㄦ埛鑱旂郴鏃讹紝鍙戠幇鐢ㄦ埛鍦ㄦ敞鍐屾椂濉啓鐨勬墜鏈哄彿鐮併�佺數瀛愰偖绠卞凡涓嶅瓨鍦ㄦ垨鏃犳硶鎺ュ惉鐢佃瘽鎴栨帴鏀剁數瀛愰偖浠剁殑锛岀粡骞冲彴浠ュ叾瀹冭仈绯绘柟寮忛�氱煡鐢ㄦ埛鏇存敼锛岃�岀敤鎴峰湪涓変釜宸ヤ綔鏃ュ唴浠嶆湭鑳芥彁渚涙柊鐨勬墜鏈哄彿鐮佹垨鐢靛瓙閭鍦板潃鐨勶紝骞冲彴鏈夋潈缁堟鍚戣鐢ㄦ埛鎻愪緵鏈嶅姟锛�</div> + <div>3锛変竴鏃﹀钩鍙板彂鐜扮敤鎴锋敞鍐屾暟鎹腑涓昏鍐呭鏄櫄鍋囩殑锛屽钩鍙版湁鏉冮殢鏃剁粓姝㈠悜璇ョ敤鎴锋彁渚涙湇鍔★紱</div> + <div>4锛変竴鏃﹀钩鍙板彂鐜扮敤鎴风洍鐢ㄤ粬浜鸿处鎴枫�佸彂甯冭繚绂佷俊鎭�佹璇堛�佸敭鍋囥�佹壈涔卞競鍦虹З搴忋�侀噰鍙栦笉姝e綋鎵嬫鐗熷埄绛夎涓虹殑锛屽钩鍙版湁鏉冮殢鏃剁粓姝㈠悜璇ョ敤鎴锋彁渚涙湇鍔★紱</div> + <div>5锛夊钩鍙板熀浜庡悎鐞嗙悊鐢辩浉淇$敤鎴风殑琛屼负鍙兘浼氫娇骞冲彴鍙婂钩鍙扮敤鎴风瓑鐩稿叧鏂瑰彂鐢熶弗閲嶆崯瀹虫垨浜х敓娉曞緥璐d换鐨勶紝骞冲彴鏈夋潈闅忔椂缁堟鍚戣鐢ㄦ埛鎻愪緵鏈嶅姟锛�</div> + <div>6锛夊浜庨殣鐬掑叾浠庝簨鍚屼笟浜掕仈缃戞湇鍔$殑鐢ㄦ埛锛屽钩鍙颁竴缁忓彂鐜帮紝鏈夋潈绔嬪嵆缁堟鏈嶅姟锛�</div> + <div>7锛夋湰鏈嶅姟鍗忚缁堟鎴栨洿鏂版椂锛岀敤鎴锋槑绀轰笉鎰挎帴鍙楁柊鐨勬湇鍔″崗璁殑锛�</div> + <div>8锛夊叾瀹冨钩鍙拌涓洪渶缁堟鏈嶅姟鐨勬儏鍐点��</div> + <div>4銆佹湇鍔′腑鏂�佺粓姝箣鍓嶇敤鎴蜂氦鏄撹涓虹殑澶勭悊鍥犵敤鎴疯繚鍙嶆硶寰嬫硶瑙勬垨鑰呰繚鍙嶆湇鍔″崗璁瀹氳�岃嚧浣垮钩鍙颁腑鏂�佺粓姝㈠鐢ㄦ埛鏈嶅姟鐨勶紝瀵逛簬鏈嶅姟涓柇銆佺粓姝箣鍓嶇敤鎴蜂氦鏄撹涓轰緷涓嬪垪鍘熷垯澶勭悊锛�</div> + <div>1锛夋湇鍔′腑鏂�佺粓姝箣鍓嶏紝鐢ㄦ埛宸茬粡涓婁紶鑷冲钩鍙扮殑浜у搧灏氭湭浜ゆ槗鎴栧皻鏈氦鏄撳畬鎴愮殑锛屽钩鍙版湁鏉冨湪涓柇銆佺粓姝㈡湇鍔$殑鍚屾椂鍒犻櫎姝ら」浜у搧鐨勭浉鍏充俊鎭紱</div> + <div>2锛夋湇鍔′腑鏂�佺粓姝箣鍓嶏紝鐢ㄦ埛宸茬粡灏卞叾瀹冪敤鎴峰嚭鍞殑鍏蜂綋浜у搧浣滃嚭瑕佺害锛屼絾浜ゆ槗灏氭湭缁撴潫锛屽钩鍙版湁鏉冨湪涓柇鎴栫粓姝㈡湇鍔$殑鍚屾椂鍒犻櫎璇ョ敤鎴风殑鐩稿叧瑕佺害锛�</div> + <div>3锛夋湇鍔′腑鏂�佺粓姝箣鍓嶏紝鐢ㄦ埛宸茬粡涓庡彟涓�鐢ㄦ埛灏卞叿浣撲氦鏄撹揪鎴愪竴鑷达紝骞冲彴鍙互涓嶅垹闄よ椤逛氦鏄擄紝浣嗗钩鍙版湁鏉冨湪涓柇銆佺粓姝㈡湇鍔$殑鍚屾椂灏嗙敤鎴疯涓柇鎴栫粓姝㈡湇鍔$殑鎯呭喌閫氱煡鐢ㄦ埛鐨勪氦鏄撳鏂广��</div> + </UserPolicyCell> + <UserPolicyCell title="涓冦�侀殣绉佹潈鏀跨瓥"> + <div>1銆侀�傜敤鑼冨洿锛�</div> + <div>1锛夊湪鐢ㄦ埛娉ㄥ唽骞冲彴璐︽埛鏃讹紝鐢ㄦ埛鏍规嵁骞冲彴瑕佹眰鎻愪緵鐨勪釜浜烘敞鍐屼俊鎭紱</div> + <div>2锛夊湪鐢ㄦ埛浣跨敤骞冲彴鏈嶅姟锛屽弬鍔犲钩鍙版椿鍔紝鎴栬闂钩鍙扮綉绔欐椂锛屽钩鍙拌嚜鍔ㄦ帴鏀跺苟璁板綍鐨勭敤鎴锋祻瑙堝櫒涓婄殑鏈嶅姟鍣ㄦ暟鍊硷紝鍖呮嫭浣嗕笉闄愪簬IP鍦板潃绛夋暟鎹強鐢ㄦ埛瑕佹眰鍙栫敤鐨勭綉椤佃褰曪紱</div> + <div>3锛夊钩鍙版敹闆嗗埌鐨勭敤鎴峰湪骞冲彴杩涜浜ゆ槗鐨勬湁鍏虫暟鎹紝鍖呮嫭浣嗕笉闄愪簬鍑轰环銆佽喘涔般�佷骇鍝佺櫥褰曘�佷俊鐢ㄨ瘎浠峰強杩濊璁板綍锛�</div> + <div>4锛夊钩鍙伴�氳繃鍚堟硶閫斿緞浠庡晢涓氫紮浼村鍙栧緱鐨勭敤鎴蜂釜浜烘暟鎹��</div> + <div>5锛夋垜浠敹闆嗘暟鎹槸鏍规嵁鎮ㄤ笌鎴戜滑鐨勪簰鍔ㄥ拰鎮ㄦ墍鍋氬嚭鐨勯�夋嫨锛屽寘鎷偍鐨勯殣绉佽缃互鍙婃偍浣跨敤鐨勪骇鍝佸拰鍔熻兘銆傛垜浠敹闆嗙殑鏁版嵁鍙兘鍖呮嫭SDK/API/JS浠g爜鐗堟湰銆佹祻瑙堝櫒銆佷簰鑱旂綉鏈嶅姟鎻愪緵鍟嗐�両P鍦板潃銆佸钩鍙般�佹椂闂存埑銆佸簲鐢ㄦ爣璇嗙銆佸簲鐢ㄧ▼搴忕増鏈�佸簲鐢ㄥ垎鍙戞笭閬撱�佺嫭绔嬭澶囨爣璇嗙銆乮OS骞垮憡鏍囪瘑绗︼紙IDFA)銆佸畨鍗撳箍鍛婁富鏍囪瘑绗︺�佺綉鍗★紙MAC锛夊湴鍧�銆佸浗闄呯Щ鍔ㄨ澶囪瘑鍒爜锛圛MEI锛夈�佽澶囧瀷鍙枫�佺粓绔埗閫犲巶鍟嗐�佺粓绔澶囨搷浣滅郴缁熺増鏈�佷細璇濆惎鍔�/鍋滄鏃堕棿銆佽瑷�鎵�鍦ㄥ湴銆佹椂鍖哄拰缃戠粶鐘舵�侊紙WiFi绛夛級銆佺‖鐩樸�丆PU鍜岀數姹犱娇鐢ㄦ儏鍐电瓑銆�</div> + <div>2銆佷俊鎭娇鐢細</div> + <div>1锛夊钩鍙颁笉浼氬悜浠讳綍浜哄嚭鍞垨鍑哄�熺敤鎴风殑涓汉淇℃伅锛岄櫎闈炰簨鍏堝緱鍒扮敤鎴峰緱璁稿彲銆�</div> + <div>2锛夊钩鍙颁害涓嶅厑璁镐换浣曠涓夋柟浠ヤ换浣曟墜娈垫敹闆嗐�佺紪杈戙�佸嚭鍞垨鑰呮棤鍋夸紶鎾敤鎴风殑涓汉淇℃伅銆備换浣曠敤鎴峰浠庝簨涓婅堪娲诲姩锛屼竴缁忓彂鐜帮紝骞冲彴鏈夋潈绔嬪嵆缁堟涓庤鐢ㄦ埛鐨勬湇鍔″崗璁紝鏌ュ皝鍏惰处鍙枫��</div> + <div>3锛変负鏈嶅姟鐢ㄦ埛鐨勭洰鐨勶紝骞冲彴鍙兘閫氳繃浣跨敤鐢ㄦ埛鐨勪釜浜轰俊鎭紝鍚戠敤鎴锋彁渚涙湇鍔″強浜у搧鏀硅繘锛屽寘鎷絾涓嶉檺浜庡悜鐢ㄦ埛鍙戝嚭浜у搧鍜屾湇鍔′俊鎭紝鎴栬�呬笌骞冲彴鍚堜綔浼欎即鍏变韩淇℃伅浠ヤ究浠栦滑鍚戠敤鎴峰彂閫佹湁鍏冲叾浜у搧鍜屾湇鍔$殑淇℃伅锛堝悗鑰呴渶瑕佺敤鎴风殑浜嬪厛鍚屾剰锛夈�備緥濡傦紝鎴戜滑鑱樿鏉ユ彁渚涙暟鎹垎鏋愭湇鍔$殑鍏徃鍙兘闇�瑕侀噰闆嗗拰璁块棶涓汉鏁版嵁浠ヨ繘琛屾暟鎹粺璁″拰鍒嗘瀽銆傚湪杩欑鎯呭喌涓嬶紝杩欎簺鍏徃蹇呴』閬靛畧鎴戜滑鐨勬暟鎹殣绉佸拰瀹夊叏瑕佹眰銆�</div> + <div>4锛夋垜浠凡鍦ㄤ笂鏂囦粙缁嶄簡澶勭悊涓汉鏁版嵁鐨勭洰鐨勩�傛垜浠鐞嗕釜浜烘暟鎹殑娉曞緥鍩虹鍖呮嫭锛氫负灞ヨ涓庢偍涔嬮棿鐨勫悎鍚岋紙渚嬪锛屼负鎮ㄦ彁渚涙偍鎵�璇锋眰鐨勬湇鍔°�佸鎮ㄨ繘琛岃瘑鍒拰璁よ瘉锛屼互渚挎偍鍙互浣跨敤缃戠珯锛夛紱涓洪伒瀹堟硶寰嬭姹傦紙渚嬪锛屼负閬靛畧閫傜敤鐨勪細璁¤鍒欙紝灞ヨ鎵ф硶閮ㄩ棬寮哄埗鎶湶鐨勮姹傦級锛涗负淇濇姢鎴戜滑鐨勬褰撳埄鐩婏紙渚嬪锛岀鐞嗘垜浠笌鎮ㄧ殑鍏崇郴锛屼负纭繚鎴戜滑鏈嶅姟鐨勫畨鍏ㄦ�э紝涓庢偍娌熼�氭垜浠殑浜у搧鍜屾湇鍔★級锛涗互鍙婂熀浜庢垜浠鎴风殑鍚屾剰锛堜緥濡傦紝鎶曟斁cookies锛屼负骞垮憡瀹d紶涔嬬洰鐨勪笌绗笁鏂瑰叡浜偍鐨勪俊鎭級銆傚湪鏌愪簺鎯呭喌涓嬶紝鎮ㄥ彲鑳介渶瑕佷负鎴戜滑鎻愪緵涓汉鏁版嵁浠ヨ繘琛屼笂杩扮殑澶勭悊锛屼互渚挎垜浠兘澶熶负鎮ㄦ彁渚涙垜浠殑鍏ㄩ儴鏈嶅姟锛屽苟鏂逛究鎮ㄤ娇鐢ㄦ垜浠綉绔欑殑鍏ㄩ儴鍔熻兘銆�</div> + <div>5锛変釜浜烘暟鎹殑璺ㄥ浼犺緭銆傞拡瀵规鐩熸垚鍛樺浗鐢ㄦ埛锛屾垜浠殑涓氬姟鍙兘闇�瑕佹垜浠浆绉绘偍鐨勪釜浜烘暟鎹嚦娆ф床缁忔祹鍖轰互澶栫殑鍥藉锛堜腑鍥斤級銆傛垜浠細閲囧彇閫傚綋鐨勬帾鏂戒互纭繚鎮ㄤ釜浜烘暟鎹殑鎺ユ敹鑰呭饱琛屼繚瀵嗕箟鍔★紝骞剁‘淇濆鏍囧噯鍚堝悓鏉℃绛夋帾鏂界殑鎵ц銆傛偍鍙互閫氳繃鑱旂郴鎴戜滑鐨勫府鍔╀腑蹇冭幏寰楄繖浜涙潯娆俱��</div> + <div>6锛夐拡瀵规鐩熸垚鍛樺浗鐢ㄦ埛锛屾牴鎹�傜敤娉曞緥锛屾偍鏈夋潈鍙嶅鎴栬姹傞檺鍒跺鎮ㄤ釜浜烘暟鎹殑澶勭悊锛屽苟瑕佹眰鎮ㄦ湰浜烘暟鎹殑璁块棶銆佹牎姝c�佸垹闄ゅ拰鍙惡甯︽潈銆傚湪瀵规偍鐨勪俊鎭殑浣跨敤鏄熀浜庢偍鐨勫悓鎰忕殑鎯呭喌涓嬶紝鎮ㄦ湁鏉冨湪浠讳綍鏃跺�欐挙鍥炶鍚屾剰锛屼絾鍚屾剰鐨勬挙鍥炰笉褰卞搷鎾ゅ洖鍓嶅熀浜庡悓鎰忚繘琛岀殑鏁版嵁澶勭悊鐨勫悎娉曟�с�傛偍鍙互閫氳繃瀹㈡湇鐢佃瘽16505012333鍚戞垜浠彁浜ゆ偍鐨勮姹傘�傚鏋滄偍鍙戠幇鎮ㄧ殑淇℃伅鍙戠敓鍙樺寲鎴栦笉鍑嗙‘锛岃灏嗚繖浜涘彉鍖栭�氱煡鎴戜滑浠ヤ究鎴戜滑鐨勮褰曞彲浠ヨ鏇存柊鎴栨洿姝c�傚鏋滄偍璁や负鎴戜滑瀵规偍涓汉鏁版嵁鐨勫鐞嗚繚鍙嶄簡閫傜敤娉曞緥锛屾偍鍙互鍚戠洃绠℃満鏋勬姇璇夈�傛垜浠鎮ㄤ釜浜烘暟鎹殑淇濈暀鏃堕棿瑙嗗悜鎮ㄦ彁渚涙湇鍔℃垨浜у搧鐨勯渶瑕佽�屽畾锛屾垨鏍规嵁閫傜敤娉曞緥濡傜◣娉曞拰浼氳娉曠殑瑕佹眰鎴栬鍙‘瀹氥��</div> + <div>3銆佷俊鎭姭闇诧紝鐢ㄦ埛鐨勪釜浜轰俊鎭皢鍦ㄤ笅杩版儏鍐典笅閮ㄥ垎鎴栧叏閮ㄨ鎶湶锛�</div> + <div>1锛夌粡鐢ㄦ埛鍚屾剰锛屽悜绗笁鏂规姭闇诧紱</div> + <div>2锛夊鐢ㄦ埛鏄鍚堣祫鏍肩殑鐭ヨ瘑浜ф潈鎶曡瘔浜哄苟宸叉彁璧锋姇璇夛紝搴旇鎶曡瘔浜鸿姹傦紝鍚戣鎶曡瘔浜烘姭闇诧紝浠ヤ究鍙屾柟澶勭悊鍙兘鐨勬潈鍒╃籂绾凤紱</div> + <div>3锛夋牴鎹硶寰嬬殑鏈夊叧瑙勫畾锛屾垨鑰呰鏀挎垨鍙告硶鏈烘瀯鐨勮姹傦紝鍚戠涓夋柟鎴栬�呰鏀裤�佸徃娉曟満鏋勬姭闇诧紱</div> + <div>4锛夊鏋滅敤鎴峰嚭鐜拌繚鍙嶄腑鍥芥湁鍏虫硶寰嬫垨鑰呯綉绔欐斂绛栫殑鎯呭喌锛岄渶瑕佸悜绗笁鏂规姭闇诧紱</div> + <div>5锛変负鎻愪緵鎮ㄦ墍瑕佹眰鐨勪骇鍝佸拰鏈嶅姟锛岃�屽繀椤诲拰绗笁鏂瑰垎浜敤鎴风殑涓汉淇℃伅锛�</div> + <div>6锛夊湪骞冲彴涓婂垱寤虹殑鏌愪竴浜ゆ槗涓紝濡備氦鏄撲换浣曚竴鏂瑰饱琛屾垨閮ㄥ垎灞ヨ浜嗕氦鏄撲箟鍔″苟鎻愬嚭淇℃伅鎶湶璇锋眰鐨勶紝骞冲彴鏈夊叏鏉冨彲浠ュ喅瀹氬悜璇ョ敤鎴锋彁渚涘叾浜ゆ槗瀵规柟鐨勮仈缁滄柟寮忕瓑蹇呰淇℃伅锛屼互淇冩垚浜ゆ槗鐨勫畬鎴愭垨绾犵悍鐨勮В鍐筹紱</div> + <div>7锛夊叾瀹冨钩鍙版牴鎹硶寰嬫垨鑰呯綉绔欐斂绛栬涓哄悎閫傜殑鎶湶銆�</div> + <div>4銆佷俊鎭畨鍏細</div> + <div>1锛夊钩鍙板強骞冲彴璐︽埛鍧囨湁瀹夊叏淇濇姢鍔熻兘锛岃濡ュ杽淇濈鐢ㄦ埛鐨勮处鎴峰強瀵嗙爜淇℃伅锛�</div> + <div>2锛夊湪浣跨敤骞冲彴鏈嶅姟杩涜缃戜笂浜ゆ槗鏃讹紝鐢ㄦ埛涓嶅彲閬垮厤鐨勮鍚戜氦鏄撳鏂规垨娼滃湪鐨勪氦鏄撳鏂规彁渚涜嚜宸辩殑涓汉淇℃伅锛屽鑱旂粶鏂瑰紡鎴栬�呴偖鏀垮湴鍧�銆傝鐢ㄦ埛濡ュ杽淇濇姢鑷繁鐨勪釜浜轰俊鎭紝浠呭湪蹇呰鐨勬儏褰笅鍚戜粬浜烘彁渚涳紱</div> + <div>3锛夊鏋滅敤鎴峰彂鐜拌嚜宸辩殑涓汉淇℃伅娉勫瘑锛屽挨鍏舵槸骞冲彴璐︽埛鍙婂瘑鐮佸彂鐢熸硠闇诧紝璇风敤鎴风珛鍗宠仈缁滃钩鍙板鏈嶏紝浠ヤ究骞冲彴閲囧彇鐩稿簲鎺柦銆�</div> + </UserPolicyCell> + <UserPolicyCell title="鍏�佽矗浠昏寖鍥村拰璐d换闄愬埗"> + <div>1銆佹偍鏄庣‘鐞嗚В鍜屽悓鎰忥紝骞冲彴涓嶅鍥犱笅杩颁换涓�鎯呭喌鑰屽彂鐢熺殑浠讳綍鎹熷璧斿伩鎵挎媴璐d换锛屽寘鎷絾涓嶉檺浜庡埄娑︺�佸晢瑾夈�佷娇鐢ㄣ�佹暟鎹瓑鏂归潰鐨勬崯澶辨垨鍏朵粬鏃犲舰鎹熷け鐨勬崯瀹宠禂鍋� (鏃犺骞冲彴鏄惁宸茶鍛婄煡璇ョ瓑鎹熷璧斿伩鐨勫彲鑳芥��)锛�</div> + <div>1锛変娇鐢ㄦ垨鏈兘浣跨敤鈥滄湇鍔★紱</div> + <div>2锛夌涓夋柟鏈粡鎵瑰噯鐨勬帴鍏ユ垨绗笁鏂规洿鏀圭敤鎴风殑浼犺緭鏁版嵁鎴栨暟鎹紱</div> + <div>3锛夌涓夋柟瀵光�滄湇鍔♀�濈殑澹版槑鎴栧叧浜庘�滄湇鍔♀�濈殑琛屼负锛涙垨闈炲洜骞冲彴鐨勫師鍥犺�屽紩璧风殑涓庘�滄湇鍔♀�濇湁鍏崇殑浠讳綍鍏跺畠浜嬪疁锛屽寘鎷枏蹇姐��</div> + <div>2銆佸钩鍙颁細灏戒竴鍒囧姫鍔涗娇鎮ㄥ湪浣跨敤骞冲彴鐨勮繃绋嬩腑寰楀埌涔愯叮銆傞仐鎲剧殑鏄紝骞冲彴涓嶈兘闅忔椂棰勮鍒颁换浣曟妧鏈笂鐨勯棶棰樻垨鍏朵粬鍥伴毦銆傝绛夊洶闅惧彲鑳戒細瀵艰嚧鏁版嵁鎹熷け鎴栧叾浠栨湇鍔′腑鏂�備负姝わ紝鎮ㄦ槑纭悊瑙e拰鍚屾剰锛屾偍浣跨敤鈥滄湇鍔♀�濈殑椋庨櫓鐢辨偍鑷鎵挎媴锛屼笖鈥滄湇鍔♀�濅互鈥滄寜鐜扮姸鈥濆拰鈥滄寜鍙緱鍒� 鈥濈殑鐘舵�佹彁渚涖�傚钩鍙版槑纭0鏄庝笉浣滀换浣曠绫荤殑鏄庣ず鎴栨殫绀虹殑淇濊瘉锛屽寘鎷絾涓嶉檺浜庡叧浜庨�傞攢鎬с�侀�傜敤浜庢煇涓�鐗瑰畾鐢ㄩ�斿拰鏃犱镜鏉冭涓虹瓑鏂归潰鐨勪繚璇併�傚钩鍙板涓嬭堪鍐呭涓嶄綔淇濊瘉锛�</div> + <div>1锛夆�滄湇鍔♀�濅細绗﹀悎鎮ㄧ殑瑕佹眰锛�</div> + <div>2锛夆�滄湇鍔♀�濅笉浼氫腑鏂紝涓旈�傛椂銆佸畨鍏ㄥ拰涓嶅甫浠讳綍閿欒锛�</div> + <div>3锛夐�氳繃浣跨敤鈥滄湇鍔♀�濊�屽彲鑳借幏鍙栫殑缁撴灉灏嗘槸鍑嗙‘鎴栧彲淇¤禆鐨勶紱</div> + <div>4锛夋偍閫氳繃鈥滄湇鍔♀�濊�岃喘涔版垨鑾峰彇鐨勪换浣曚骇鍝併�佹湇鍔°�佽祫鏂欐垨鍏朵粬鏉愭枡鐨勮川閲忓皢绗﹀悎鎮ㄧ殑棰勬湡銆傞�氳繃浣跨敤鈥滄湇鍔♀�濊�屼笅杞芥垨浠ュ叾浠栧舰寮忚幏鍙栦换浣曟潗鏂欐槸鐢辨偍鑷鍏ㄦ潈鍐冲畾杩涜鐨勶紝涓斾笌姝ゆ湁鍏崇殑椋庨櫓鐢辨偍鑷鎵挎媴锛屽浜庡洜鎮ㄤ笅杞戒换浣曡绛夋潗鏂欒�屽彂鐢熺殑鎮ㄧ殑鐢佃剳绯荤粺鐨勪换浣曟崯姣佹垨浠讳綍鏁版嵁鎹熷け锛屾偍灏嗚嚜琛屾壙鎷呰矗浠汇�傛偍浠庡钩鍙版垨閫氳繃鎴栦粠鈥滄湇鍔♀�濊幏鍙栫殑浠讳綍鍙eご鎴栦功闈㈡剰瑙佹垨璧勬枡锛屽潎涓嶄骇鐢熸湭鍦ㄦ湰鍗忚鍐呮槑纭浇鏄庣殑浠讳綍淇濊瘉璐d换銆�</div> + <div>3銆佷笉璁哄湪浣曠鎯呭喌涓嬶紝骞冲彴鍧囦笉瀵圭敱浜庝俊鎭綉缁滄甯哥殑璁惧缁存姢锛屼俊鎭綉缁滆繛鎺ユ晠闅滐紝鐢佃剳銆侀�氳鎴栧叾浠栫郴缁熺殑鏁呴殰锛岀數鍔涙晠闅滐紝缃㈠伐锛屽姵鍔ㄤ簤璁紝鏆翠贡锛岃捣涔夛紝楠氫贡锛岀敓浜у姏鎴栫敓浜ц祫鏂欎笉瓒筹紝鐏伨锛屾椽姘达紝椋庢毚锛岀垎鐐革紝鎴樹簤锛屾斂搴滆涓猴紝鍙告硶琛屾斂鏈哄叧鐨勫懡浠ゆ垨绗笁鏂圭殑涓嶄綔涓鸿�岄�犳垚鐨勪笉鑳芥湇鍔℃垨寤惰繜鏈嶅姟鎵挎媴璐d换銆�</div> + <div>4銆佸钩鍙颁粎鍚戞偍鎻愪緵鏈崗璁害瀹氫箣鏈嶅姟锛屾偍浜嗚В骞冲彴涓婄殑淇℃伅绯荤敤鎴疯嚜琛屽彂甯冿紝涓斿彲鑳藉瓨鍦ㄩ闄╁拰鐟曠柕銆傚钩鍙板皢閫氳繃渚濈収娉曞緥瑙勫畾寤虹珛鐩稿叧妫�鏌ョ洃鎺у埗搴﹀敖鍙兘淇濋殰鎮ㄥ湪骞冲彴涓婄殑鍚堟硶鏉冪泭鍙婅壇濂戒綋楠屻�傚悓鏃讹紝閴翠簬骞冲彴鍏峰瀛樺湪娴烽噺淇℃伅鍙婁俊鎭綉缁滅幆澧冧笅淇℃伅涓庡疄鐗╃浉鍒嗙鐨勭壒鐐癸紝骞冲彴鏃犳硶閫愪竴瀹℃煡浜у搧鍙�/鎴栨湇鍔$殑淇℃伅锛屾棤娉曢�愪竴瀹℃煡浜ゆ槗鎵�娑夊強鐨勪骇鍝佸強/鎴栨湇鍔$殑璐ㄩ噺銆佸畨鍏ㄤ互鍙婂悎娉曟�с�佺湡瀹炴�с�佸噯纭�э紝瀵规鎮ㄥ簲璋ㄦ厧鍒ゆ柇銆�</div> + <div>5銆佹偍鐞嗚В骞跺悓鎰忥紝鍦ㄤ簤璁皟澶勬湇鍔′腑锛屽钩鍙扮殑瀹㈡湇骞堕潪涓撲笟浜哄+锛屼粎鑳戒互鏅�氫汉鐨勮鐭ュ鐢ㄦ埛鎻愪氦鐨勫嚟璇佽繘琛屽垽鏂紝骞冲彴涓嶄繚璇佷簤璁皟澶勫喅瀹氫竴瀹氱鍚堟偍鐨勬湡鏈涳紝闄ゅ瓨鍦ㄦ晠鎰忔垨閲嶅ぇ杩囧け澶栵紝骞冲彴瀵逛簤璁皟澶勫喅瀹氬厤璐c��</div> + </UserPolicyCell> + <UserPolicyCell title="涔濄�佹斂绛栦慨鏀癸細骞冲彴淇濈暀瀵规湰鏀跨瓥浣滃嚭涓嶆椂淇敼鐨勬潈鍒┿��"></UserPolicyCell> + <UserPolicyCell title="鍗併�佸晢鏍囥�佺煡璇嗕骇鏉冪殑淇濇姢"> + <div>1銆佸钩鍙颁笂鎵�鏈夊唴瀹癸紝鍖呮嫭浣嗕笉闄愪簬钁椾綔銆佸浘鐗囥�佹。妗堛�佽祫璁�佽祫鏂欍�佺綉绔欐灦鏋勩�佺綉绔欑敾闈㈢殑瀹夋帓銆佺綉椤佃璁★紝鍧囩敱骞冲彴渚濇硶鎷ユ湁鍏剁煡璇嗕骇鏉冿紝鍖呮嫭浣嗕笉闄愪簬鍟嗘爣鏉冦�佷笓鍒╂潈銆佽憲浣滄潈銆佸晢涓氱瀵嗙瓑銆�</div> + <div>2銆侀潪缁忓钩鍙颁功闈㈠悓鎰忥紝浠讳綍浜轰笉寰楁搮鑷娇鐢ㄣ�佷慨鏀广�佸鍒躲�佸叕寮�浼犳挱銆佹敼鍙樸�佹暎甯冦�佸彂琛屾垨鍏紑鍙戣〃骞冲彴缃戠珯绋嬪簭鎴栧唴瀹广��</div> + <div>3銆佸皧閲嶇煡璇嗕骇鏉冩槸鎮ㄥ簲灏界殑涔夊姟锛屽鏈夎繚鍙嶏紝鎮ㄥ簲鎵挎媴鎹熷璧斿伩璐d换銆�</div> + </UserPolicyCell> + <UserPolicyCell title="鍗佷竴銆佹硶寰嬮�傜敤銆佺杈栧強鍏朵粬"> + <div>1銆佹湰鍗忚涔嬫晥鍔涖�佽В閲娿�佸彉鏇淬�佹墽琛屼笌浜夎瑙e喅鍧囬�傜敤涓崕浜烘皯鍏卞拰鍥藉ぇ闄嗗湴鍖烘硶寰嬶紝濡傛棤鐩稿叧娉曞緥瑙勫畾鐨勶紝鍒欏簲鍙傜収閫氱敤鍥介檯鍟嗕笟鎯緥鍜岋紙鎴栵級琛屼笟鎯緥锛�</div> + <div>2銆佹偍涓庡钩鍙颁粎涓虹嫭绔嬭绾︿汉鍏崇郴銆傛湰鍗忚鏃犳剰缁撴垚鎴栧垱璁句换浣曚唬鐞嗐�佸悎浼欍�佸悎钀ャ�侀泧浣d笌琚泧浣f垨鐗规�ф巿鏉冧笌琚巿鏉冨叧绯伙紱</div> + <div>3銆佹偍鍚屾剰骞冲彴鍥犵粡钀ヤ笟鍔¢渶瑕佹湁鏉冨皢鏈崗璁」涓嬬殑鏉冨姏涔夊姟灏遍儴鍒嗘垨鍏ㄩ儴杩涜杞锛岃�屾棤椤诲啀閫氱煡浜堟偍骞跺彇寰楁偍鐨勫悓鎰忥紱</div> + <div>4銆佸洜鏈崗璁垨骞冲彴鏈嶅姟鎵�寮曡捣鎴栦笌鍏舵湁鍏崇殑浠讳綍浜夎搴斿悜骞冲彴缁忚惀鑰呮墍鍦ㄥ湴浜烘皯娉曢櫌鎻愯捣璇夎锛�</div> + <div>5銆佹湰鍗忚鍙栦唬鎮ㄥ拰骞冲彴鍏堝墠灏辩浉鍚屼簨椤硅绔嬬殑浠讳綍涔﹂潰鎴栧彛澶村崗璁�傚�樿嫢鏈崗璁换浣曟潯娆捐瑁佸畾涓烘棤鏁堟垨涓嶅彲寮哄埗鎵ц锛岃椤规潯娆惧簲琚挙閿�锛岃�屽叾浣欐潯娆惧簲浜堥伒瀹堝拰鎵ц銆傛潯娆炬爣棰樹粎涓烘柟渚垮弬闃呰�岃锛屽苟涓嶄互浠讳綍鏂瑰紡鐣屽畾銆侀檺鍒躲�佽В閲婃垨鎻忚堪璇ユ潯娆剧殑鑼冨洿鎴栭檺搴︺�傚钩鍙版湭灏辨偍鎴栧叾浠栦汉澹殑鏌愰」杩濈害琛屼负閲囧彇琛屽姩锛屽苟涓嶈〃鏄庡钩鍙版挙鍥炲氨浠讳綍缁у悗鎴栫被浼肩殑杩濈害浜嬩欢閲囧彇鍔ㄧ殑鏉冨埄銆�</div> + </UserPolicyCell> + <div class="userPolicy-page-title">818浜哄姏璧勬簮浜т笟閾惧钩鍙扮敤鎴锋湇鍔¢殣绉佹斂绛�</div> + <UserPolicyCell title="1銆侀�傜敤鑼冨洿锛�"> + <div>1锛夊湪鐢ㄦ埛娉ㄥ唽818浜哄姏璧勬簮浜т笟閾惧钩鍙拌处鎴锋椂锛堜互涓嬬畝绉扳�滃钩鍙扳�濓級锛岀敤鎴锋牴鎹钩鍙拌姹傛彁渚涚殑鐩稿叧涓汉淇℃伅锛�</div> + <div> + 2锛夊湪鐢ㄦ埛浣跨敤骞冲彴鏈嶅姟锛屽弬鍔犲钩鍙版椿鍔紝鎴栬闂钩鍙扮綉绔欐椂锛屽钩鍙板皢鑷姩鎺ユ敹骞惰褰曠殑鐢ㄦ埛娴忚鍣ㄤ笂鐨勬湇鍔″櫒鏁板�硷紝鍖呮嫭浣嗕笉闄愪簬IP鍦板潃绛夋暟鎹強鐢ㄦ埛瑕佹眰鍙栫敤鐨勭綉椤�/瀹㈡埛绔褰曪紱 + </div> + <div> + 3锛夊钩鍙版敹闆嗗埌鐨勭敤鎴峰湪骞冲彴杩涜浜ゆ槗鐨勬湁鍏虫暟鎹紝鍖呮嫭浣嗕笉闄愪簬鍑轰环銆佽喘涔般�佷骇鍝佺櫥褰曘�佷俊鐢ㄨ瘎浠峰強杩濊璁板綍锛� + </div> + <div> + 4锛夊钩鍙伴�氳繃鍚堟硶閫斿緞浠庡晢涓氫紮浼村鍙栧緱鐨勭敤鎴蜂釜浜烘暟鎹�� + </div> + <div> + 5锛夋垜浠敹闆嗘暟鎹槸鏍规嵁鎮ㄤ笌鎴戜滑鐨勪簰鍔ㄥ拰鎮ㄦ墍鍋氬嚭鐨勯�夋嫨锛屽寘鎷偍鐨勯殣绉佽缃互鍙婃偍浣跨敤鐨勪骇鍝佸拰鍔熻兘銆傛垜浠敹闆嗙殑鏁版嵁鍙兘鍖呮嫭SDK/API/JS浠g爜鐗堟湰銆佹祻瑙堝櫒銆佷簰鑱旂綉鏈嶅姟鎻愪緵鍟嗐�両P鍦板潃銆佸钩鍙般�佹椂闂存埑銆佸簲鐢ㄦ爣璇嗙銆佸簲鐢ㄧ▼搴忕増鏈�佸簲鐢ㄥ垎鍙戞笭閬撱�佺嫭绔嬭澶囨爣璇嗙銆乮OS骞垮憡鏍囪瘑绗︼紙IDFA)銆佸畨鍗撳箍鍛婁富鏍囪瘑绗︺�佺綉鍗★紙MAC锛夊湴鍧�銆佸浗闄呯Щ鍔ㄨ澶囪瘑鍒爜锛圛MEI锛夈�佽澶囧瀷鍙枫�佺粓绔埗閫犲巶鍟嗐�佺粓绔澶囨搷浣滅郴缁熺増鏈�佷細璇濆惎鍔�/鍋滄鏃堕棿銆佽瑷�鎵�鍦ㄥ湴銆佹椂鍖哄拰缃戠粶鐘舵�侊紙WiFi绛夛級绛夈�� + </div> + </UserPolicyCell> + <UserPolicyCell title="2銆佷俊鎭娇鐢細"> + <div>1锛夊钩鍙颁笉浼氬悜浠讳綍浜哄嚭鍞垨鍑哄�熺敤鎴风殑涓汉淇℃伅锛岄櫎闈炰簨鍏堝緱鍒扮敤鎴峰緱璁稿彲銆�</div> + <div>2锛夊钩鍙颁害涓嶅厑璁镐换浣曠涓夋柟浠ヤ换浣曟墜娈垫敹闆嗐�佺紪杈戙�佸嚭鍞垨鑰呮棤鍋夸紶鎾敤鎴风殑涓汉淇℃伅銆備换浣曠敤鎴峰浠庝簨涓婅堪娲诲姩锛屼竴缁忓彂鐜帮紝骞冲彴鏈夋潈绔嬪嵆缁堟涓庤鐢ㄦ埛鐨勬湇鍔″崗璁紝鏌ュ皝鍏惰处鍙枫��</div> + <div>3锛変负鏈嶅姟鐢ㄦ埛鐨勭洰鐨勶紝骞冲彴鍙兘閫氳繃浣跨敤鐢ㄦ埛鐨勪釜浜轰俊鎭紝鍚戠敤鎴锋彁渚涙湇鍔″強浜у搧鏀硅繘锛屽寘鎷絾涓嶉檺浜庡悜鐢ㄦ埛鍙戝嚭浜у搧鍜屾湇鍔′俊鎭紝鎴栬�呬笌骞冲彴鍚堜綔浼欎即鍏变韩淇℃伅浠ヤ究浠栦滑鍚戠敤鎴峰彂閫佹湁鍏冲叾浜у搧鍜屾湇鍔$殑淇℃伅锛堝悗鑰呴渶瑕佺敤鎴风殑浜嬪厛鍚屾剰锛夈�備緥濡傦紝鎴戜滑鑱樿鏉ユ彁渚涙暟鎹垎鏋愭湇鍔$殑鍏徃鍙兘闇�瑕侀噰闆嗗拰璁块棶涓汉鏁版嵁浠ヨ繘琛屾暟鎹粺璁″拰鍒嗘瀽銆傚湪杩欑鎯呭喌涓嬶紝杩欎簺鍏徃蹇呴』閬靛畧鎴戜滑鐨勬暟鎹殣绉佸拰瀹夊叏瑕佹眰銆�</div> + <div>4锛夋垜浠凡鍦ㄤ笂鏂囦粙缁嶄簡澶勭悊涓汉鏁版嵁鐨勭洰鐨勩�傛垜浠鐞嗕釜浜烘暟鎹殑娉曞緥鍩虹鍖呮嫭锛氫负灞ヨ涓庢偍涔嬮棿鐨勫悎鍚岋紙渚嬪锛屼负鎮ㄦ彁渚涙偍鎵�璇锋眰鐨勬湇鍔°�佸鎮ㄨ繘琛岃瘑鍒拰璁よ瘉锛屼互渚挎偍鍙互浣跨敤缃戠珯锛夛紱涓洪伒瀹堟硶寰嬭姹傦紙渚嬪锛屼负閬靛畧閫傜敤鐨勪細璁¤鍒欙紝灞ヨ鎵ф硶閮ㄩ棬寮哄埗鎶湶鐨勮姹傦級锛涗负淇濇姢鎴戜滑鐨勬褰撳埄鐩婏紙渚嬪锛岀鐞嗘垜浠笌鎮ㄧ殑鍏崇郴锛屼负纭繚鎴戜滑鏈嶅姟鐨勫畨鍏ㄦ�э紝涓庢偍娌熼�氭垜浠殑浜у搧鍜屾湇鍔★級锛涗互鍙婂熀浜庢垜浠鎴风殑鍚屾剰锛堜緥濡傦紝鎶曟斁cookies锛屼负骞垮憡瀹d紶涔嬬洰鐨勪笌绗笁鏂瑰叡浜偍鐨勪俊鎭級銆傚湪鏌愪簺鎯呭喌涓嬶紝鎮ㄥ彲鑳介渶瑕佷负鎴戜滑鎻愪緵涓汉鏁版嵁浠ヨ繘琛屼笂杩扮殑澶勭悊锛屼互渚挎垜浠兘澶熶负鎮ㄦ彁渚涙垜浠殑鍏ㄩ儴鏈嶅姟锛屽苟鏂逛究鎮ㄤ娇鐢ㄦ垜浠綉绔欑殑鍏ㄩ儴鍔熻兘銆�</div> + <div>5锛変釜浜烘暟鎹殑璺ㄥ浼犺緭銆傞拡瀵规鐩熸垚鍛樺浗鐢ㄦ埛锛屾垜浠殑涓氬姟鍙兘闇�瑕佹垜浠浆绉绘偍鐨勪釜浜烘暟鎹嚦娆ф床缁忔祹鍖轰互澶栫殑鍥藉锛堜腑鍥斤級銆傛垜浠細閲囧彇閫傚綋鐨勬帾鏂戒互纭繚鎮ㄤ釜浜烘暟鎹殑鎺ユ敹鑰呭饱琛屼繚瀵嗕箟鍔★紝骞剁‘淇濆鏍囧噯鍚堝悓鏉℃绛夋帾鏂界殑鎵ц銆傛偍鍙互閫氳繃鑱旂郴鎴戜滑鐨勫府鍔╀腑蹇冭幏寰楄繖浜涙潯娆俱��</div> + <div>6锛夐拡瀵规鐩熸垚鍛樺浗鐢ㄦ埛锛屾牴鎹�傜敤娉曞緥锛屾偍鏈夋潈鍙嶅鎴栬姹傞檺鍒跺鎮ㄤ釜浜烘暟鎹殑澶勭悊锛屽苟瑕佹眰鎮ㄦ湰浜烘暟鎹殑璁块棶銆佹牎姝c�佸垹闄ゅ拰鍙惡甯︽潈銆傚湪瀵规偍鐨勪俊鎭殑浣跨敤鏄熀浜庢偍鐨勫悓鎰忕殑鎯呭喌涓嬶紝鎮ㄦ湁鏉冨湪浠讳綍鏃跺�欐挙鍥炶鍚屾剰锛屼絾鍚屾剰鐨勬挙鍥炰笉褰卞搷鎾ゅ洖鍓嶅熀浜庡悓鎰忚繘琛岀殑鏁版嵁澶勭悊鐨勫悎娉曟�с�傛偍鍙互閫氳繃瀹㈡湇鐢佃瘽锛�16505012333鍚戞垜浠彁浜ゆ偍鐨勮姹傘�傚鏋滄偍鍙戠幇鎮ㄧ殑淇℃伅鍙戠敓鍙樺寲鎴栦笉鍑嗙‘锛岃灏嗚繖浜涘彉鍖栭�氱煡鎴戜滑浠ヤ究鎴戜滑鐨勮褰曞彲浠ヨ鏇存柊鎴栨洿姝c�傚鏋滄偍璁や负鎴戜滑瀵规偍涓汉鏁版嵁鐨勫鐞嗚繚鍙嶄簡閫傜敤娉曞緥锛屾偍鍙互鍚戠洃绠℃満鏋勬姇璇夈�傛垜浠鎮ㄤ釜浜烘暟鎹殑淇濈暀鏃堕棿瑙嗗悜鎮ㄦ彁渚涙湇鍔℃垨浜у搧鐨勯渶瑕佽�屽畾锛屾垨鏍规嵁閫傜敤娉曞緥濡傜◣娉曞拰浼氳娉曠殑瑕佹眰鎴栬鍙‘瀹氥��</div> + </UserPolicyCell> + <UserPolicyCell title="3銆佷俊鎭姭闇诧紝鐢ㄦ埛鐨勪釜浜轰俊鎭皢鍦ㄤ笅杩版儏鍐典笅閮ㄥ垎鎴栧叏閮ㄨ鎶湶锛�"> + <div>1锛夌粡鐢ㄦ埛鍚屾剰锛屽悜绗笁鏂规姭闇诧紱</div> + <div>2锛夊鐢ㄦ埛鏄鍚堣祫鏍肩殑鐭ヨ瘑浜ф潈鎶曡瘔浜哄苟宸叉彁璧锋姇璇夛紝搴旇鎶曡瘔浜鸿姹傦紝鍚戣鎶曡瘔浜烘姭闇诧紝浠ヤ究鍙屾柟澶勭悊鍙兘鐨勬潈鍒╃籂绾凤紱</div> + <div>3锛夋牴鎹硶寰嬬殑鏈夊叧瑙勫畾锛屾垨鑰呰鏀挎垨鍙告硶鏈烘瀯鐨勮姹傦紝鍚戠涓夋柟鎴栬�呰鏀裤�佸徃娉曟満鏋勬姭闇诧紱</div> + <div>4锛夊鏋滅敤鎴峰嚭鐜拌繚鍙嶄腑鍥芥湁鍏虫硶寰嬫垨鑰呯綉绔欐斂绛栫殑鎯呭喌锛岄渶瑕佸悜绗笁鏂规姭闇诧紱</div> + <div>5锛変负鎻愪緵鎮ㄦ墍瑕佹眰鐨勪骇鍝佸拰鏈嶅姟锛岃�屽繀椤诲拰绗笁鏂瑰垎浜敤鎴风殑涓汉淇℃伅锛�</div> + <div>6锛夊湪骞冲彴缃戜笂鍒涘缓鐨勬煇涓�浜ゆ槗涓紝濡備氦鏄撲换浣曚竴鏂瑰饱琛屾垨閮ㄥ垎灞ヨ浜嗕氦鏄撲箟鍔″苟鎻愬嚭淇℃伅鎶湶璇锋眰鐨勶紝骞冲彴鏈夊叏鏉冨彲浠ュ喅瀹氬悜璇ョ敤鎴锋彁渚涘叾浜ゆ槗瀵规柟鐨勮仈缁滄柟寮忕瓑蹇呰淇℃伅锛屼互淇冩垚浜ゆ槗鐨勫畬鎴愭垨绾犵悍鐨勮В鍐筹紱</div> + <div>7锛夊叾瀹冨钩鍙版牴鎹硶寰嬫垨鑰呯綉绔欐斂绛栬涓哄悎閫傜殑鎶湶銆�</div> + </UserPolicyCell> + <UserPolicyCell title="4銆佷俊鎭畨鍏細"> + <div>1锛夊钩鍙板強骞冲彴璐︽埛鍧囨湁瀹夊叏淇濇姢鍔熻兘锛岃濡ュ杽淇濈鐢ㄦ埛鐨勮处鎴峰強瀵嗙爜淇℃伅锛�</div> + <div>2锛夊湪浣跨敤骞冲彴鏈嶅姟杩涜缃戜笂浜ゆ槗鏃讹紝鐢ㄦ埛涓嶅彲閬垮厤鐨勮鍚戜氦鏄撳鏂规垨娼滃湪鐨勪氦鏄撳鏂规彁渚涜嚜宸辩殑涓汉淇℃伅锛屽鑱旂粶鏂瑰紡鎴栬�呴偖鏀垮湴鍧�銆傝鐢ㄦ埛濡ュ杽淇濇姢鑷繁鐨勪釜浜轰俊鎭紝浠呭湪蹇呰鐨勬儏褰笅鍚戜粬浜烘彁渚涳紱</div> + <div>3锛夊鏋滅敤鎴峰彂鐜拌嚜宸辩殑涓汉淇℃伅娉勫瘑锛屽挨鍏舵槸骞冲彴璐︽埛鍙婂瘑鐮佸彂鐢熸硠闇诧紝璇风敤鎴风珛鍗宠仈缁滃钩鍙板鏈嶏紝浠ヤ究骞冲彴閲囧彇鐩稿簲鎺柦銆� + 濡傜敤鎴峰濡備綍鎾ゅ洖淇℃伅鎺堟潈鏈夌枒闂紝鍙互鍦ㄥ伐浣滄棩锛堝懆涓�鍒板懆浜� 鍙� 娉曞畾鑺傚亣鏃ヨ皟鏁寸殑宸ヤ綔鏃ワ級宸ヤ綔鏃堕棿锛�09:00 -- 18:00锛� 鑷寸數骞冲彴瀹㈡湇鐢佃瘽锛�16505012333锛岃瀹㈡湇浜哄憳鍗忓姪澶勭悊</div> + </UserPolicyCell> + <UserPolicyCell title="5銆佸浣曟敞閿�/鍒犻櫎璐︽埛"> + <div>1锛夌敤鎴峰彲浠ュ湪宸ヤ綔鏃ワ紙鍛ㄤ竴鍒板懆浜斿強娉曞畾鑺傚亣鏃ヨ皟鏁寸殑宸ヤ綔鏃ワ級宸ヤ綔鏃堕棿锛�09:00 -- 18:00锛� 鑷寸數骞冲彴瀹㈡湇鐢佃瘽锛�16505012333锛屽憡鐭ュ鏈嶄汉鍛樻敞鍐岃处鎴蜂俊鎭�,骞跺憡鐭ュ鏈嶄汉鍛橀渶瑕佹敞閿�/鍒犻櫎涓汉鐢ㄦ埛淇℃伅锛岃嚧鐢电浜屾棩寮�濮嬭绠楋紝涓や釜宸ヤ綔鏃ュ唴鍔炵粨骞惰嚧鐢�/鐭俊閫氱煡鐢宠浜恒��</div> + <div>2锛夌敤鎴峰彲浠ヤ换浣曟椂闂达紝璁块棶骞冲彴鍙嶉涓績缃戦〉锛寃ww.81812333.com鍦ㄧ嚎鐣欒█锛屽鏈嶅伐浣滄棩鎺ユ敹淇℃伅鍚庯紝浼氳嚧鐢电敵璇蜂汉纭淇℃伅锛屽苟鍦ㄤ袱涓伐浣滄棩鍐呭姙缁撱��</div> + </UserPolicyCell> + <UserPolicyCell title="6銆丄PP鎵�鏀堕泦涓汉淇℃伅鐨勭洰鐨勩�佹柟寮忓拰鑼冨洿"> + <div>1锛夈�佸钩鍙版墍鏀堕泦鐨勪俊鎭紝浠呴檺浜庣敤鎴峰湪骞冲彴缃戝紑灞曞熀纭�涓氬姟娲诲姩銆�</div> + <div>2锛夈�佷俊鎭敹闆嗙殑鏂瑰紡鍜岃寖鍥�</div> + <div>鑾峰彇鎮ㄧ浉鍐屻�佺浉鏈虹殑鏉冮檺锛岀敤浜庝紒涓氫俊鎭�佽鍗曞彂甯冦�佷釜浜哄ご鍍忕殑鍥剧墖涓婁紶銆�</div> + <div>鑾峰彇鏈湴瀛樺偍鏉冮檺锛屾垜浠皢璇锋眰鎮ㄧ殑瀛樺偍鏉冮檺鑾峰彇澶栫疆瀛樺偍淇℃伅锛圫D鍗℃暟鎹級浠ヤ繚瀛樻偍鍦ㄥ钩鍙板崈璇㈢殑浣跨敤杩囩▼涓殑涓氬姟鏁版嵁銆�</div> + <div>鑾峰彇鎮ㄧ殑璁惧淇℃伅锛堝寘鎷琁MEI銆佽澶囧簭鍒楀彿銆丱AID銆丮EID銆丄ndroid ID銆両MSI銆丟UID銆丮AC鍦板潃銆丼IM鍗″簭鍒楀彿锛夛紝璁惧鐗瑰緛鐮佸拰IP鍦板潃锛屽凡瀹夎APP淇℃伅鎴栬繍琛屼腑鐨勮繘绋嬩俊鎭紝鏉ヤ繚璇佹偍璐﹀彿浣跨敤鐨勫敮涓�鎬с�佸畨鍏ㄦ�с��</div> + <div>褰撴偍鎾斁瑙嗛绛夊唴瀹规椂锛屼负浜嗛�傞厤鎮ㄧ殑璁惧鐘舵�侊紝鎴戜滑浼氳皟鐢ㄨ澶囩殑閲嶅姏銆佸姞閫熷害绛変紶鎰熷櫒淇℃伅锛屼互璇嗗埆鎮ㄧ殑璁惧妯珫灞忕姸鎬併��</div> + <div>鍦ㄦ偍鍒嗕韩鎴栨帴鏀惰鍒嗕韩鐨勪俊鎭椂锛岄渶瑕佸湪鏈湴璁块棶鎮ㄧ殑鍓垏鏉匡紝璇诲彇鍏朵腑鍖呭惈鐨勫彛浠ゃ�佸垎浜爜銆侀摼鎺ョ瓑锛屼互瀹炵幇璺宠浆銆佸垎浜�佹椿鍔ㄨ仈鍔ㄧ瓑鍔熻兘鎴栨湇鍔°��</div> + </UserPolicyCell> + <UserPolicyCell title="7銆佽嚜鍚姩鍜屽叧鑱斿惎鍔ㄨ鏄�"> + <div>涓虹‘淇濇湰搴旂敤澶勪簬鍏抽棴鎴栧悗鍙拌繍琛岀姸鎬佷笅鍙甯告帴鏀跺埌瀹㈡埛绔帹閫佺殑骞挎挱娑堟伅锛屾湰搴旂敤椤讳娇鐢紙鑷惎鍔級鑳藉姏锛屽皢瀛樺湪涓�瀹氶鐜囬�氳繃绯荤粺鍙戦�佸箍鎾敜閱掓湰搴旂敤鑷惎鍔ㄦ垨鍏宠仈鍚姩琛屼负锛屾槸鍥犲疄鐜板姛鑳藉強鏈嶅姟鎵�蹇呰鐨勩��</div> + </UserPolicyCell> + </div> + </scroll-view> + </PageLayout> +</template> + +<script setup lang="ts"> +import { PageLayout } from '@/components'; +import { ScrollView } from '@tarojs/components'; + +defineOptions({ + name: 'userPolicy', +}); + +const UserPolicyCell = defineComponent({ + name: 'UserPolicyCell', + props: { + title: { + type: String, + }, + content: { + type: String, + }, + }, + setup(props, { slots }) { + return () => { + return h('div', { class: 'userPolicy-cell-wrapper' }, [ + h('div', { class: 'userPolicy-cell-title' }, [props.title]), + h('div', { class: 'userPolicy-cell-content' }, slots.default?.()), + ]); + }; + }, +}); +</script> + +<style lang="scss"> +@import '@/styles/common.scss'; + +.userPolicy-page-wrapper { + background-color: #fafafa; + + .userPolicy-page-scrollview { + // flex: 1; + height: 100%; + box-sizing: border-box; + } + + .userPolicy-page-scrollview-content { + padding: 42px; + + .userPolicy-page-title { + margin-bottom: 40px; + } + } + + .userPolicy-cell-wrapper { + margin-bottom: 32px; + + .userPolicy-cell-title { + color: #292929; + font-size: 30px; + margin-bottom: 22px; + font-weight: 500; + } + + .userPolicy-cell-content { + div { + font-size: 24px; + line-height: 40px; + text-indent: 28px; + color: #888888; + } + } + } +} +</style> diff --git a/apps/bMiniApp/src/subpackages/user/complaint/complaint.config.ts b/apps/bMiniApp/src/subpackages/user/complaint/complaint.config.ts new file mode 100644 index 0000000..305fdb1 --- /dev/null +++ b/apps/bMiniApp/src/subpackages/user/complaint/complaint.config.ts @@ -0,0 +1,3 @@ +export default definePageConfig({ + disableScroll: true, +}); diff --git a/apps/bMiniApp/src/subpackages/user/complaint/complaint.vue b/apps/bMiniApp/src/subpackages/user/complaint/complaint.vue new file mode 100644 index 0000000..32c86ac --- /dev/null +++ b/apps/bMiniApp/src/subpackages/user/complaint/complaint.vue @@ -0,0 +1,116 @@ +<template> + <PageLayout title="鎶曡瘔涓炬姤" class="cooperation-page-wrapper" hasBorder :needAuth="false"> + <ContentScrollView :paddingH="false"> + <nut-form :model-value="form" ref="formRef" :rules="rules"> + <nut-form-item label="浼佷笟鍚嶇О:" class="bole-form-item" prop="companyName" required> + <nut-input + v-model.trim="form.companyName" + class="nut-input-text bole-input-text" + placeholder="璇疯緭鍏ヤ紒涓氬悕绉�" + type="text" + :max-length="35" + show-word-limit + /> + </nut-form-item> + <nut-form-item label="鑱旂郴浜�:" class="bole-form-item" prop="contact" required> + <nut-input + v-model.trim="form.contact" + class="nut-input-text bole-input-text" + placeholder="璇疯緭鍏ヨ仈绯讳汉濮撳悕" + type="text" + :max-length="10" + show-word-limit + /> + </nut-form-item> + <nut-form-item label="鑱旂郴鐢佃瘽:" class="bole-form-item" prop="contactPhone" required> + <nut-input + v-model.trim="form.contactPhone" + class="nut-input-text bole-input-text" + placeholder="璇疯緭鍏ヨ仈绯讳汉鐢佃瘽" + type="text" + /> + </nut-form-item> + <nut-form-item label="鎶曡瘔璇存槑:" class="bole-form-item alignTop" prop="remark" required> + <nut-textarea + placeholder="璇疯緭鍏ヤ妇鎶ユ姇璇夌殑璇存槑" + placeholderClass="bole-input-text-placeholder" + autoSize + class="bole-input-textarea" + v-model="form.remark" + :max-length="500" + show-word-limit + > + </nut-textarea> + </nut-form-item> + </nut-form> + </ContentScrollView> + <PageFooter :isOnlyAction="false"> + <PageFooterBtn type="primary" @click="handleConfirm">鎻愪氦</PageFooterBtn> + </PageFooter> + </PageLayout> +</template> + +<script setup lang="ts"> +import { FormRules } from '@nutui/nutui-taro/dist/types/__VUE/form/types'; +import * as cooperationApplyServices from '@12333/services/api/CooperationApply'; +import { CooperateTypeText, CooperateApplyTypeEnum } from '@12333/constants'; +import { FormValidator, Message } from '@12333/utils'; +import Taro from '@tarojs/taro'; +import { useUser } from '@/hooks'; + +defineOptions({ + name: 'complaint', +}); + +const { userDetail } = useUser(); + +const form = reactive({ + companyName: userDetail.value?.customerName ?? '', + contact: userDetail.value?.contacter ?? '', + contactPhone: userDetail.value?.phoneNumber ?? '', + remark: '', +}); + +const rules = reactive<FormRules>({ + companyName: [{ required: true, message: '璇疯緭鍏ヤ紒涓氬悕绉�' }], + contact: [{ required: true, message: '璇疯緭鍏ヨ仈绯讳汉濮撳悕' }], + contactPhone: [ + { required: true, message: '璇疯緭鍏ヨ仈绯荤數璇�' }, + { message: '璇疯緭鍏ユ纭殑鑱旂郴鐢佃瘽', validator: FormValidator.validatorTelNumber }, + ], + remark: [{ required: true, message: '璇疯緭鍏ヤ妇鎶ユ姇璇夌殑璇存槑' }], +}); + +const formRef = ref<any>(null); + +function handleConfirm() { + if (!formRef.value) return; + formRef.value.validate().then(({ valid, errors }: any) => { + if (valid) { + createPlatformCooperationApply(); + } + }); +} + +async function createPlatformCooperationApply() { + try { + let params: API.CreatePlatformCooperationApplyInput = { + title: CooperateTypeText.Complaint, + contact: form.contact, + contactPhone: form.contactPhone, + applyDescription: form.remark, + companyName: form.companyName, + applyType: CooperateApplyTypeEnum.Complaint, + }; + let res = await cooperationApplyServices.createPlatformCooperationApply(params); + if (res) { + await Message.confirm({ + message: '淇℃伅宸叉彁浜わ紝璇疯�愬績绛夊緟宸ヤ綔浜哄憳鐨勮仈绯�', + }); + Taro.navigateBack({ + delta: 1, + }); + } + } catch (error) {} +} +</script> diff --git a/apps/bMiniApp/src/utils/index.ts b/apps/bMiniApp/src/utils/index.ts new file mode 100644 index 0000000..ccae4b4 --- /dev/null +++ b/apps/bMiniApp/src/utils/index.ts @@ -0,0 +1,2 @@ +export * from './storage'; +export * from './page'; diff --git a/apps/bMiniApp/src/utils/page.ts b/apps/bMiniApp/src/utils/page.ts new file mode 100644 index 0000000..9538688 --- /dev/null +++ b/apps/bMiniApp/src/utils/page.ts @@ -0,0 +1,25 @@ +import { TabBarPageRouter } from '@/constants'; +import Taro from '@tarojs/taro'; +import { useSystemStoreWithOut } from '@/stores/modules/system'; + +export function goBack(delta = 1) { + const pages = Taro.getCurrentPages(); + + const systemStore = useSystemStoreWithOut(); + + if (pages.length > 1) { + Taro.navigateBack({ delta: delta }); + } else { + Taro.switchTab({ + url: Object.values(TabBarPageRouter)[systemStore.activeTab], + }); + } +} + +export function goHome() { + const systemStore = useSystemStoreWithOut(); + systemStore.setTabIndex(0); + Taro.switchTab({ + url: '/pages/home/index', + }); +} diff --git a/apps/bMiniApp/src/utils/request/index.ts b/apps/bMiniApp/src/utils/request/index.ts new file mode 100644 index 0000000..0693296 --- /dev/null +++ b/apps/bMiniApp/src/utils/request/index.ts @@ -0,0 +1,289 @@ +import { type IRequestOptions, Request, type RequestConfig } from 'senior-request'; +import { type AxiosRequestConfig, type AxiosError } from 'axios'; +import qs from 'qs'; +import Taro from '@tarojs/taro'; +import { getToken } from '@/utils'; +import { tokenIsExpired, Message, SensitiveManage } from '@12333/utils'; +import * as accountServices from '@12333/services/api/Account'; +import { useUserStoreWithOut } from '@/stores/modules/user'; + +const RefreshTokenUrl = '/gettokenbyrefreshtoken'; + +/** 璇锋眰鐧藉悕鍗曪紝鏀剧疆涓�浜涗笉闇�瑕乼oken鐨勬帴鍙o紙閫氳繃璁剧疆璇锋眰鐧藉悕鍗曪紝闃叉token杩囨湡鍚庡啀璇锋眰閫犳垚鐨勬寰幆闂锛� */ +const whiteList = [RefreshTokenUrl]; + +export function startLoading(showNavigationBarLoading: boolean) { + if (showNavigationBarLoading) { + Taro.showNavigationBarLoading(); + } else { + Taro.showLoading({ + title: '', + mask: true, + }); + } +} + +export function endLoading() { + Taro.hideNavigationBarLoading(); + Taro.hideLoading(); +} + +// 閿欒澶勭悊鏂规锛� 閿欒绫诲瀷 +enum ErrorShowType { + /** + * 鍟ヤ篃涓嶅共 + */ + SILENT = 0, + + WARN_MESSAGE = 1, + ERROR_MESSAGE = 2, + /** + * 閫氱煡鎶ラ敊 + */ + NOTIFICATION = 3, + /** + * 閲嶅畾鍚� + */ + REDIRECT = 9, +} +// 涓庡悗绔害瀹氱殑鍝嶅簲鏁版嵁鏍煎紡 +interface ResponseStructure { + success: boolean; + data: any; + /** + * 閿欒鐮� + */ + error?: number; + /** + * 閿欒淇℃伅 + */ + msg?: string; + showType?: ErrorShowType; +} + +interface ErrorResponse { + error?: { + data: any; + code: number; + message: string; + }; +} + +interface ErrorInfo { + errorCode?: number; + errorMessage?: string; + showType?: ErrorShowType; + data: any; +} + +const AxiosOptions: AxiosRequestConfig = { + baseURL: process.env.BASE_URL, + timeout: 10 * 1000, + headers: { + Accept: 'application/json, text/plain, */*', + 'Content-Type': 'application/json', + 'X-Requested-With': 'XMLHttpRequest', + }, + // 鏁扮粍鏍煎紡鍙傛暟搴忓垪鍖� + paramsSerializer: { + //@ts-ignore + serialize: (params) => qs.stringify(params, { indices: false }), + }, + withCredentials: true, +}; + +const config: RequestConfig<ResponseStructure, IRequestOptions> = { + ...AxiosOptions, + + errorConfig: { + // 閿欒鎺ユ敹鍙婂鐞� + errorHandler: (error, opts) => { + console.log('error: ', error); + if (opts?.skipErrorHandler) throw error; + + if (opts?.customErrorHandler) { + if (opts?.customErrorHandler(error)) { + return; + } + } + + // 鎴戜滑鐨� errorThrower 鎶涘嚭鐨勯敊璇�� + if (error.name === 'BizError') { + const errorInfo: ErrorInfo | undefined = (error as any).info; + if (errorInfo) { + const { errorMessage, errorCode } = errorInfo; + 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: + Message.error(errorMessage); + break; + case ErrorShowType.REDIRECT: + // TODO: redirect + break; + default: + Message.error(errorMessage); + } + } + } else if ((error as AxiosError<ResponseStructure, IRequestOptions>).response) { + // Axios 鐨勯敊璇� + // 璇锋眰鎴愬姛鍙戝嚭涓旀湇鍔″櫒涔熷搷搴斾簡鐘舵�佺爜锛屼絾鐘舵�佷唬鐮佽秴鍑轰簡 2xx 鐨勮寖鍥� + handleAxiosResponseError(error as AxiosError<ErrorResponse, IRequestOptions>); + // Message.errorMessage(`Response status:${(error as AxiosError).response.status}`); + } else if ((error as AxiosError).request) { + // 璇锋眰宸茬粡鎴愬姛鍙戣捣锛屼絾娌℃湁鏀跺埌鍝嶅簲 + // \`error.request\` 鍦ㄦ祻瑙堝櫒涓槸 XMLHttpRequest 鐨勫疄渚嬶紝 + // 鑰屽湪node.js涓槸 http.ClientRequest 鐨勫疄渚� + Message.error('鏈嶅姟鍣ㄦ棤鍝嶅簲锛岃閲嶈瘯'); + } else { + // 鍙戦�佽姹傛椂鍑轰簡鐐归棶棰� + Message.error('鍙戦�佽姹傛椂鍑轰簡鐐归棶棰�'); + } + }, + + // 閿欒鎶涘嚭 + errorThrower: (res) => { + const { success, data, error: errorCode, msg, showType } = res; + if (!success) { + const error: any = new Error(msg); + error.name = 'BizError'; + error.info = { errorCode, errorMessage: msg, showType, data }; + throw error; // 鎶涘嚭鑷埗鐨勯敊璇� + } + }, + }, + + requestInterceptors: [ + [ + (config) => { + const $config = config; + + const token = getToken(); + + const userStore = useUserStoreWithOut(); + + const userInfo = userStore.userInfo; + + const { showLoading = true, showNavigationBarLoading, mock } = $config; + + if (mock && process.env.NODE_ENV === 'development') { + $config.baseURL = 'http://localhost:9527'; + } + + /** + * 濡傛灉鏄痳efreshToken杩欎釜鏂规硶 灏辩洿鎺ヨ繑鍥� 闃叉鍐呭瓨娉勬紡 + */ + if (whiteList.some((url) => $config.url!.toLowerCase().includes(url.toLowerCase()))) { + return $config; + } + + if (showLoading) { + startLoading(showNavigationBarLoading); + } + + return new Promise((resolve, reject) => { + if (userInfo && token && $config.withCredentials) { + if (tokenIsExpired(userInfo)) { + if (!Request.refreshTokenPending) { + Request.refreshTokenPending = true; + // token杩囨湡鍒锋柊 + useUserStoreWithOut() + .getTokenByRefreshToken({ + refreshToken: userInfo.refreshToken, + clientId: userStore.accountInfo?.client_id, + }) + .then((res) => { + $config.headers['Authorization'] = 'Bearer ' + res.accessToken; + Request.requests.forEach((cb) => cb(res.accessToken)); + Request.requests = []; + }) + .catch((err) => { + Request.requests.forEach((cb) => cb()); + Request.requests = []; + reject(err); + }) + .finally(() => { + Request.refreshTokenPending = false; + }); + } + resolve(Request.retryOriginalRequest($config)); + } else { + $config.headers['Authorization'] = 'Bearer ' + token; + resolve($config); + } + } else { + resolve($config); + } + }); + }, + (error: AxiosError) => { + endLoading(); + return Promise.reject(error); + }, + ], + ], + responseInterceptors: [ + [ + (response) => { + const $config = response.config as IRequestOptions; + + const { needNProcess, getResponse = false } = $config; + + endLoading(); + + return getResponse + ? response + : SensitiveManage.filterSensitiveWord((response.data as any).result); + }, + (error) => { + endLoading(); + return Promise.reject(error); + }, + ], + ], +}; + +const ErrorMessageMap = { + [400]: '璇锋眰閿欒', + [401]: '鏈巿鏉冿紝璇风櫥褰�', + [403]: '鎷掔粷璁块棶', + [404]: '璇锋眰鍦板潃鍑洪敊', + [408]: '璇锋眰瓒呮椂', + [500]: '鏈嶅姟鍣ㄥ唴閮ㄩ敊璇�', + [501]: '鏈嶅姟鏈疄鐜�', + [502]: '缃戝叧閿欒', + [503]: '鏈嶅姟涓嶅彲鐢�', + [504]: '缃戝叧瓒呮椂', + [505]: 'HTTP鐗堟湰涓嶅彈鏀寔', +}; + +function handleAxiosResponseError(error: AxiosError<ErrorResponse, IRequestOptions>) { + if (error.response.config.url.toLowerCase().includes(RefreshTokenUrl.toLowerCase())) { + handleLogout(); + return; + } + if (error && error.response) { + let message = ErrorMessageMap[error.response?.status] ?? '璇锋眰閿欒'; + if (error.response.data?.error?.message) { + message = error.response.data?.error?.message; + } + if (error.response?.status === 401) { + handleLogout(); + } + + Message.error(message); + } +} + +function handleLogout() { + useUserStoreWithOut().logout(); +} + +export const request = Request.create(config); diff --git a/apps/bMiniApp/src/utils/storage/auth.ts b/apps/bMiniApp/src/utils/storage/auth.ts new file mode 100644 index 0000000..b2bbb8f --- /dev/null +++ b/apps/bMiniApp/src/utils/storage/auth.ts @@ -0,0 +1,71 @@ +import { storageLocal } from './storage'; +import { useUserStoreWithOut } from '@/stores/modules/user'; +import { MatchMakingIdentityEnum } from '@12333/constants'; + +const StorageKey = { + USER_INFO_KEY: 'USER__INFO__', + USER_DETAIL_KEY: 'USER_DETAIL_KEY', + MatchMakingIdentity_KEY: 'MatchMakingIdentity_KEY', + LocationCity_KEY: 'LocationCity_KEY', +}; + +export function getToken() { + return useUserStoreWithOut().token; +} + +export function getRefreshToken() { + return useUserStoreWithOut().refreshToken; +} + +export function getUserInfo() { + return storageLocal.getItem<API.IdentityModelTokenCacheItem>(StorageKey.USER_INFO_KEY); +} + +export function setUserInfo(userInfo: API.IdentityModelTokenCacheItem) { + return storageLocal.setItem(StorageKey.USER_INFO_KEY, userInfo); +} + +export function removeUserInfo() { + return storageLocal.removeItem(StorageKey.USER_INFO_KEY); +} + +export function getUserDetail() { + return storageLocal.getItem<API.UserInfoV2>(StorageKey.USER_DETAIL_KEY); +} + +export function setUserDetail(userDetail: API.UserInfoV2) { + return storageLocal.setItem(StorageKey.USER_DETAIL_KEY, userDetail); +} + +export function removeUserDetail() { + return storageLocal.removeItem(StorageKey.USER_DETAIL_KEY); +} + +export function getMatchMakingIdentity() { + return storageLocal.getItem<MatchMakingIdentityEnum>(StorageKey.MatchMakingIdentity_KEY); +} + +export function setMatchMakingIdentity(matchMakingIdentity: MatchMakingIdentityEnum) { + return storageLocal.setItem(StorageKey.MatchMakingIdentity_KEY, matchMakingIdentity); +} + +export function removeMatchMakingIdentity() { + return storageLocal.removeItem(StorageKey.MatchMakingIdentity_KEY); +} + +type StorageLocation = { + city: string; + province: string; +}; + +export function getStorageLocationCity() { + return storageLocal.getItem<StorageLocation>(StorageKey.LocationCity_KEY); +} + +export function setStorageLocationCity(location: StorageLocation) { + return storageLocal.setItem(StorageKey.LocationCity_KEY, location); +} + +export function removeStorageLocationCity() { + return storageLocal.removeItem(StorageKey.LocationCity_KEY); +} diff --git a/apps/bMiniApp/src/utils/storage/index.ts b/apps/bMiniApp/src/utils/storage/index.ts new file mode 100644 index 0000000..3df6b1e --- /dev/null +++ b/apps/bMiniApp/src/utils/storage/index.ts @@ -0,0 +1,2 @@ +export * from './storage'; +export * from './auth'; diff --git a/apps/bMiniApp/src/utils/storage/storage.ts b/apps/bMiniApp/src/utils/storage/storage.ts new file mode 100644 index 0000000..f15fbd6 --- /dev/null +++ b/apps/bMiniApp/src/utils/storage/storage.ts @@ -0,0 +1,39 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +import Taro from '@tarojs/taro'; + +//sessionStorage operate +class localStorageProxy { + constructor() {} + + // 瀛� + public setItem(key: string, value: any): void { + return Taro.setStorageSync(key, JSON.stringify(value)); + } + + // 鍙� + public getItem<T = any>(key: string): Nullable<T> { + try { + const value = Taro.getStorageSync(key); + if (value) { + // Do something with return value + return JSON.parse(value); + } + return null; + } catch (e) { + // Do something when catch error + return null; + } + } + + // 鍒� + public removeItem(key: string) { + return Taro.removeStorageSync(key); + } + + // 娓呯┖ + public clear() { + return Taro.clearStorage(); + } +} + +export const storageLocal = new localStorageProxy(); diff --git a/apps/bMiniApp/tsconfig.json b/apps/bMiniApp/tsconfig.json new file mode 100644 index 0000000..231b16a --- /dev/null +++ b/apps/bMiniApp/tsconfig.json @@ -0,0 +1,34 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "baseUrl": ".", + "ignoreDeprecations": "5.0", + "paths": { + "@12333/*": ["../../packages/*"], + "@/*": ["src/*"] + }, + "composite": true, + "types": [ + "node", + "@12333/services/api/typings.d.ts", + "@12333/services/types.d.ts", + "@12333/services/globalType.d.ts", + "@tarojs/components/vue3" + ] + }, + "include": [ + "./src/**/*", + "./types/**/*.d.ts", + "./components.d.ts", + "./auto-imports.d.ts", + "../../types/api.d.ts" + ], + "exclude": ["node_modules", "dist"], + "references": [ + { "path": "../../packages/constants" }, + { "path": "../../packages/services" }, + { "path": "../../packages/hooks" }, + { "path": "../../packages/utils" }, + { "path": "../../packages/components" } + ] +} diff --git a/apps/bMiniApp/types/global.d.ts b/apps/bMiniApp/types/global.d.ts new file mode 100644 index 0000000..3858762 --- /dev/null +++ b/apps/bMiniApp/types/global.d.ts @@ -0,0 +1,83 @@ +/* eslint-disable @typescript-eslint/no-explicit-any */ +/// <reference types="@tarojs/taro" /> + +declare module '*.png' +declare module '*.gif' +declare module '*.jpg' +declare module '*.jpeg' +declare module '*.svg' +declare module '*.css' +declare module '*.less' +declare module '*.scss' +declare module '*.sass' +declare module '*.styl' + +declare module '*.vue' { + import { ComponentOptions } from 'vue' + const componentOptions: ComponentOptions + export default componentOptions +} + +declare module '*.tsx' { + import Vue from 'compatible-vue'; + export default Vue; +} + +declare global { + namespace JSX { + type Element = VNode; + type ElementClass = Vue; + interface IntrinsicElements { + [elem: string]: any; + } + } + +} + +declare namespace NodeJS { + interface ProcessEnv { + TARO_ENV: 'weapp' | 'swan' | 'alipay' | 'h5' | 'rn' | 'tt' | 'quickapp' | 'qq' | 'jd' + + NODE_ENV: 'development' | 'production'; + APP_ENV: 'staging'; + + BASE_URL: string; + TEST_BASE_URL: string; + + OSS_URL: string; + TEST_OSS_URL: string; + WEMAP_KEY: string; + } +} + +declare module '@tarojs/components' { + export * from '@tarojs/components/types/index.vue3' +} + +declare const CLIENT_ID: string + +declare type Nullable<T> = T | null +declare type Recordable<T = unknown> = Record<string, T> +declare type ReadonlyRecordable<T = any> = { + readonly [key: string]: T +} +declare type Indexable<T = any> = { + [key: string]: T +} +declare type DeepPartial<T> = { + [P in keyof T]?: DeepPartial<T[P]> +} + +declare interface WeMapModel { + latitude?: number; + longitude?: number; + provinceName?: string; + cityName?: string; + countyName?: string; + provinceCode?: number; + cityCode?: number; + countyCode?: number; + address?: string; +} + +declare const uni = Taro \ No newline at end of file diff --git a/apps/bMiniApp/types/globalType.d.ts b/apps/bMiniApp/types/globalType.d.ts new file mode 100644 index 0000000..0eecef8 --- /dev/null +++ b/apps/bMiniApp/types/globalType.d.ts @@ -0,0 +1,8 @@ +import type { AxiosRequestConfig } from 'axios'; + +declare namespace GlobalType { + interface RequestConfig extends AxiosRequestConfig {} +} + +export = GlobalType; +export as namespace GlobalType; \ No newline at end of file diff --git a/apps/bMiniApp/types/pagination.d.ts b/apps/bMiniApp/types/pagination.d.ts new file mode 100644 index 0000000..cebea7b --- /dev/null +++ b/apps/bMiniApp/types/pagination.d.ts @@ -0,0 +1,43 @@ +/** + * Pagination Start + */ + +// declare type PageOutput<T> = { +// data: T[] +// pageModel: Pagination +// objectData: unknown +// } + +// declare type Pagination = { +// rows: number +// page: number +// orderInput?: OrderInput[] +// totalCount?: number +// } + +// declare type PageInput = { +// pageModel: Pagination +// } + +// declare enum OrderTypeEnum { +// Asc = 0, +// Desc = 1, +// } + +// declare type OrderInput = { +// property: string +// order: OrderTypeEnum +// } + +declare type PageState = { + hasMore: boolean + pageInfo: { + rows: number + page: number + total?: number + } +} + +/** + * Pagination End + */ diff --git a/apps/bMiniApp/types/shims-vue.d.ts b/apps/bMiniApp/types/shims-vue.d.ts new file mode 100644 index 0000000..535aaa8 --- /dev/null +++ b/apps/bMiniApp/types/shims-vue.d.ts @@ -0,0 +1,15 @@ +import { ComponentObjectPropsOptions as VComponentObjectPropsOptions } from 'vue'; +import Taro from '@tarojs/taro' + +type Data = { + [x: string]: unknown; +} + +declare global { + type ComponentObjectPropsOptions<T=Data> = VComponentObjectPropsOptions<T> + + interface Window { + uni: Taro + } +} + diff --git a/apps/cMiniApp/project.private.config.json b/apps/cMiniApp/project.private.config.json index 0aae96f..fcbf67b 100644 --- a/apps/cMiniApp/project.private.config.json +++ b/apps/cMiniApp/project.private.config.json @@ -6,123 +6,6 @@ "bigPackageSizeSupport": true, "skylineRenderEnable": false }, - "condition": { - "miniprogram": { - "list": [ - { - "name": "鑱旂郴璁板綍", - "pathName": "subpackages/setting/tradeChatRecord/tradeChatRecord", - "query": "", - "launchMode": "default", - "scene": null - }, - { - "name": "authenticationResult", - "pathName": "subpackages/authentication/authenticationResult/authenticationResult", - "query": "", - "launchMode": "default", - "scene": null - }, - { - "name": "authenticationJBR", - "pathName": "subpackages/authentication/authenticationJBR/authenticationJBR", - "query": "", - "launchMode": "default", - "scene": null - }, - { - "name": "authenticationFaRen", - "pathName": "subpackages/authentication/authenticationFaRen/authenticationFaRen", - "query": "", - "launchMode": "default", - "scene": null - }, - { - "name": "authenticationHome", - "pathName": "subpackages/authentication/authenticationHome/authenticationHome", - "query": "", - "launchMode": "default", - "scene": null - }, - { - "name": "鍙戝竷璁㈠崟", - "pathName": "subpackages/order/publishOrder/publishOrder", - "query": "orderOperateBtnStatus=1", - "launchMode": "default", - "scene": null - }, - { - "name": "鍙戝竷璧勬簮", - "pathName": "subpackages/resource/publishResource/publishResource", - "query": "resourceOperateBtnStatus=1", - "launchMode": "default", - "scene": null - }, - { - "name": "璧勬簮绠$悊", - "pathName": "subpackages/setting/resourceManage/resourceManage", - "query": "", - "launchMode": "default", - "scene": null - }, - { - "name": "璁㈠崟绠$悊", - "pathName": "subpackages/setting/orderManage/orderManage", - "query": "", - "launchMode": "default", - "scene": null - }, - { - "name": "璧勬簮璇︽儏", - "pathName": "subpackages/resource/resourceDetail/resourceDetail", - "query": "id=dba1fa1d-30e4-22b7-54f8-3a1611763273", - "launchMode": "default", - "scene": null - }, - { - "name": "璁㈠崟璇︽儏", - "pathName": "subpackages/order/orderDetail/orderDetail", - "query": "id=4e06ca70-7159-b307-46e5-3a15e8597d2c", - "launchMode": "default", - "scene": null - }, - { - "name": "鍒囨崲韬唤", - "pathName": "subpackages/setting/toggleMatchMakingIdentity/toggleMatchMakingIdentity", - "query": "", - "launchMode": "default", - "scene": null - }, - { - "name": "鎴戠殑涓婚〉", - "pathName": "subpackages/user/userHomePage/userHomePage", - "query": "userId=fe8dca52-5fbd-1088-a2ae-3a147a6a7f42", - "launchMode": "default", - "scene": null - }, - { - "name": "缂栬緫鍚嶇墖", - "pathName": "subpackages/setting/userInfo/userInfo", - "query": "", - "launchMode": "default", - "scene": null - }, - { - "name": "璁剧疆", - "pathName": "subpackages/setting/setting/setting", - "query": "", - "launchMode": "default", - "scene": null - }, - { - "name": "鎴戠殑", - "pathName": "pages/mine/index", - "query": "", - "launchMode": "default", - "scene": null - } - ] - } - }, + "condition": {}, "libVersion": "3.7.3" } \ No newline at end of file diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 500eff8..81c0096 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -119,6 +119,268 @@ specifier: ^5.2.2 version: 5.2.2 + apps/bMiniApp: + dependencies: + '@12333/components': + specifier: workspace:^ + version: link:../../packages/components + '@12333/constants': + specifier: workspace:* + version: link:../../packages/constants + '@12333/hooks': + specifier: workspace:^ + version: link:../../packages/hooks + '@12333/services': + specifier: workspace:^ + version: link:../../packages/services + '@12333/utils': + specifier: workspace:^ + version: link:../../packages/utils + '@babel/runtime': + specifier: ^7.7.7 + version: 7.7.7 + '@bole-12333/chat-kit': + specifier: ^1.0.1 + version: 1.0.1(@tencentcloud/chat-uikit-engine@2.0.3)(lodash@4.17.21)(vue@3.5.12) + '@bole-core/request': + specifier: ^0.0.1 + version: 0.0.1(axios@1.4.0) + '@nutui/icons-vue-taro': + specifier: ^0.0.9 + version: 0.0.9 + '@nutui/nutui-taro': + specifier: ^4.3.13 + version: 4.3.13(patch_hash=jq3denbtva5gwaaxiatjgbkrsm)(unplugin-vue-components@0.27.4)(vue@3.5.12) + '@tanstack/vue-query': + specifier: ^4.35.3 + version: 4.35.3(@vue/composition-api@1.7.2)(vue@3.5.12) + '@tarojs/components': + specifier: 3.6.20 + version: 3.6.20(postcss@8.4.19)(react@19.0.0)(vue@3.5.12) + '@tarojs/helper': + specifier: 3.6.20 + version: 3.6.20 + '@tarojs/plugin-framework-vue3': + specifier: 3.6.20 + version: 3.6.20(postcss@8.4.19)(vue@3.5.12) + '@tarojs/plugin-html': + specifier: 3.6.20 + version: 3.6.20(postcss@8.4.19)(vue@3.5.12) + '@tarojs/plugin-http': + specifier: 3.6.20 + version: 3.6.20(postcss@8.4.19)(vue@3.5.12) + '@tarojs/plugin-platform-alipay': + specifier: 3.6.20 + version: 3.6.20(postcss@8.4.19)(react@19.0.0)(vue@3.5.12) + '@tarojs/plugin-platform-jd': + specifier: 3.6.20 + version: 3.6.20(postcss@8.4.19)(vue@3.5.12) + '@tarojs/plugin-platform-qq': + specifier: 3.6.20 + version: 3.6.20(postcss@8.4.19)(react@19.0.0)(vue@3.5.12) + '@tarojs/plugin-platform-swan': + specifier: 3.6.20 + version: 3.6.20(postcss@8.4.19)(react@19.0.0)(vue@3.5.12) + '@tarojs/plugin-platform-tt': + specifier: 3.6.20 + version: 3.6.20(postcss@8.4.19)(react@19.0.0)(vue@3.5.12) + '@tarojs/plugin-platform-weapp': + specifier: 3.6.20 + version: 3.6.20(postcss@8.4.19)(react@19.0.0)(vue@3.5.12) + '@tarojs/router': + specifier: 3.6.20 + version: 3.6.20(postcss@8.4.19)(vue@3.5.12) + '@tarojs/runtime': + specifier: 3.6.20 + version: 3.6.20 + '@tarojs/shared': + specifier: 3.6.20 + version: 3.6.20 + '@tarojs/taro': + specifier: 3.6.20 + version: 3.6.20(postcss@8.4.19)(vue@3.5.12) + '@tarojs/taro-h5': + specifier: 3.6.20 + version: 3.6.20(postcss@8.4.19)(react@19.0.0)(vue@3.5.12) + '@tencentcloud/chat-uikit-engine': + specifier: ^2.0.3 + version: 2.0.3(react-native@0.77.0)(react@19.0.0) + '@tencentcloud/chat-uikit-uniapp': + specifier: ^2.0.3 + version: 2.0.3(@vue/runtime-dom@3.5.12)(react-native@0.77.0)(react@19.0.0)(vue@3.5.12)(webpack@5.78.0) + '@tencentcloud/tui-customer-service-plugin': + specifier: ^2.0.3 + version: 2.0.3(@tencentcloud/tui-core@2.4.0)(@vue/composition-api@1.7.2)(vue@3.5.12) + '@vant/weapp': + specifier: ^1.11.1 + version: 1.11.1 + axios: + specifier: ^1.4.0 + version: 1.4.0 + crypto-js: + specifier: ^4.1.1 + version: 4.1.1 + dayjs: + specifier: ^1.11.6 + version: 1.11.6 + js-base64: + specifier: ^3.7.5 + version: 3.7.5 + lodash: + specifier: ^4.17.21 + version: 4.17.21 + pinia: + specifier: ^2.1.6 + version: 2.1.6(@vue/composition-api@1.7.2)(typescript@5.2.2)(vue@3.5.12) + qs: + specifier: ^6.11.1 + version: 6.11.1 + senin-mini: + specifier: ^1.0.10 + version: 1.0.10(@nutui/icons-vue-taro@0.0.9)(@nutui/nutui-taro@4.3.13)(@tanstack/vue-query@4.35.3)(@tarojs/components@3.6.20)(@tarojs/taro@3.6.20)(axios@1.4.0)(dayjs@1.11.6)(lodash@4.17.21)(vue@3.5.12) + senior-request: + specifier: ^1.0.3 + version: 1.0.3(axios@1.4.0) + taro-plugin-pinia: + specifier: ^1.0.0 + version: 1.0.0 + vconsole: + specifier: ^3.15.1 + version: 3.15.1 + vue: + specifier: 3.5.12 + version: 3.5.12(typescript@5.2.2) + vue-component-type-helpers: + specifier: ^2.1.10 + version: 2.1.10 + devDependencies: + '@babel/core': + specifier: ^7.8.0 + version: 7.8.0 + '@nutui/auto-import-resolver': + specifier: ^1.0.0 + version: 1.0.0 + '@tarojs/cli': + specifier: 3.6.20 + version: 3.6.20(postcss@8.4.19)(vue@3.5.12) + '@tarojs/plugin-mini-ci': + specifier: ^4.0.7 + version: 4.0.7(miniprogram-ci@1.9.16) + '@tarojs/plugin-mock': + specifier: ^0.0.9 + version: 0.0.9 + '@tarojs/plugin-vue-devtools': + specifier: ^3.6.20 + version: 3.6.20(postcss@8.4.19)(vue@3.5.12) + '@tarojs/service': + specifier: ^3.6.20 + version: 3.6.20(postcss@8.4.19)(vue@3.5.12) + '@tarojs/webpack5-runner': + specifier: 3.6.20 + version: 3.6.20(@babel/core@7.8.0)(@swc/core@1.3.96)(@vue/compiler-sfc@3.5.12)(cache-loader@4.1.0)(postcss@8.4.19)(prettier@2.7.1)(react@19.0.0)(typescript@5.2.2)(vue@3.5.12)(webpack@5.78.0) + '@types/crypto-js': + specifier: ^4.1.1 + version: 4.1.1 + '@types/lodash': + specifier: ^4.14.198 + version: 4.14.198 + '@types/webpack-env': + specifier: ^1.13.6 + version: 1.13.6 + '@vue/babel-plugin-jsx': + specifier: ^1.0.6 + version: 1.0.6(@babel/core@7.8.0) + '@vue/compiler-sfc': + specifier: ^3.5.12 + version: 3.5.12 + babel-plugin-import: + specifier: ^1.13.8 + version: 1.13.8 + babel-plugin-lodash: + specifier: ^3.3.4 + version: 3.3.4 + babel-plugin-transform-remove-console: + specifier: ^6.9.4 + version: 6.9.4 + babel-preset-taro: + specifier: 3.6.20 + version: 3.6.20(@babel/core@7.8.0) + cache-loader: + specifier: ^4.1.0 + version: 4.1.0(webpack@5.78.0) + cross-env: + specifier: ^7.0.3 + version: 7.0.3 + mockjs: + specifier: ^1.1.0 + version: 1.1.0 + postcss: + specifier: ^8.4.19 + version: 8.4.19 + postcss-html: + specifier: ^1.5.0 + version: 1.5.0 + postcss-loader: + specifier: ^7.3.3 + version: 7.3.3(postcss@8.4.19)(typescript@5.2.2)(webpack@5.78.0) + postcss-scss: + specifier: ^4.0.6 + version: 4.0.6(postcss@8.4.19) + prettier: + specifier: ^2.7.1 + version: 2.7.1 + stylelint: + specifier: ^14.15.0 + version: 14.15.0 + stylelint-config-html: + specifier: ^1.1.0 + version: 1.1.0(postcss-html@1.5.0)(stylelint@14.15.0) + stylelint-config-prettier: + specifier: ^9.0.4 + version: 9.0.4(stylelint@14.15.0) + stylelint-config-recess-order: + specifier: ^3.0.0 + version: 3.0.0(stylelint@14.15.0) + stylelint-config-recommended: + specifier: ^9.0.0 + version: 9.0.0(stylelint@14.15.0) + stylelint-config-standard: + specifier: ^29.0.0 + version: 29.0.0(stylelint@14.15.0) + stylelint-config-standard-scss: + specifier: ^6.1.0 + version: 6.1.0(postcss@8.4.19)(stylelint@14.15.0) + stylelint-order: + specifier: ^5.0.0 + version: 5.0.0(stylelint@14.15.0) + stylelint-scss: + specifier: ^4.3.0 + version: 4.3.0(stylelint@14.15.0) + taro-plugin-compiler-optimization: + specifier: ^1.0.4 + version: 1.0.4 + thread-loader: + specifier: ^4.0.2 + version: 4.0.2(webpack@5.78.0) + unplugin-auto-import: + specifier: ^0.16.6 + version: 0.16.6 + unplugin-vue-components: + specifier: ^0.27.4 + version: 0.27.4(vue@3.5.12) + vue-eslint-parser: + specifier: ^9.3.1 + version: 9.3.1(eslint@8.41.0) + vue-loader: + specifier: ^17.0.0 + version: 17.0.0(webpack@5.78.0) + webpack: + specifier: ^5.78.0 + version: 5.78.0(@swc/core@1.3.96) + webpack-bundle-analyzer: + specifier: ^4.7.0 + version: 4.7.0 + apps/cMiniApp: dependencies: '@12333/components': @@ -478,7 +740,7 @@ '@babel/traverse': 7.25.6 '@babel/types': 7.25.6 convert-source-map: 1.9.0 - debug: 4.3.7 + debug: 4.4.0 gensync: 1.0.0-beta.2 json5: 2.2.3 lodash: 4.17.21 @@ -541,7 +803,7 @@ engines: {node: '>=6.9.0'} dependencies: '@babel/compat-data': 7.25.4 - '@babel/helper-validator-option': 7.24.8 + '@babel/helper-validator-option': 7.25.9 browserslist: 4.23.3 lru-cache: 5.1.1 semver: 6.3.1 @@ -655,7 +917,7 @@ dependencies: '@babel/core': 7.25.2 '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 debug: 4.4.0 lodash.debounce: 4.0.8 resolve: 1.22.8 @@ -669,7 +931,7 @@ dependencies: '@babel/core': 7.8.0 '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 debug: 4.4.0 lodash.debounce: 4.0.8 resolve: 1.22.8 @@ -893,10 +1155,6 @@ resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-option@7.24.8: - resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==} - engines: {node: '>=6.9.0'} - /@babel/helper-validator-option@7.25.9: resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} engines: {node: '>=6.9.0'} @@ -960,7 +1218,7 @@ '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/traverse': 7.25.6 transitivePeerDependencies: - supports-color @@ -972,7 +1230,7 @@ '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/traverse': 7.25.6 transitivePeerDependencies: - supports-color @@ -984,7 +1242,7 @@ '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-bugfix-safari-class-field-initializer-scope@7.25.0(@babel/core@7.8.0): resolution: {integrity: sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==} @@ -993,7 +1251,7 @@ '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.0(@babel/core@7.21.4): resolution: {integrity: sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==} @@ -1002,7 +1260,7 @@ '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 dev: true /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.0(@babel/core@7.25.2): @@ -1012,7 +1270,7 @@ '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.25.0(@babel/core@7.8.0): resolution: {integrity: sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==} @@ -1021,7 +1279,7 @@ '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@7.24.7(@babel/core@7.21.4): resolution: {integrity: sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==} @@ -1030,7 +1288,7 @@ '@babel/core': ^7.13.0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.21.4) transitivePeerDependencies: @@ -1044,7 +1302,7 @@ '@babel/core': ^7.13.0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.25.2) transitivePeerDependencies: @@ -1057,7 +1315,7 @@ '@babel/core': ^7.13.0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 '@babel/plugin-transform-optional-chaining': 7.24.8(@babel/core@7.8.0) transitivePeerDependencies: @@ -1070,7 +1328,7 @@ '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/traverse': 7.25.6 transitivePeerDependencies: - supports-color @@ -1082,7 +1340,7 @@ '@babel/core': ^7.0.0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/traverse': 7.25.6 transitivePeerDependencies: - supports-color @@ -1096,7 +1354,7 @@ dependencies: '@babel/core': 7.21.4 '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-remap-async-to-generator': 7.25.0(@babel/core@7.21.4) '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.21.4) transitivePeerDependencies: @@ -1112,7 +1370,7 @@ dependencies: '@babel/core': 7.8.0 '@babel/helper-environment-visitor': 7.24.7 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-remap-async-to-generator': 7.25.0(@babel/core@7.8.0) '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.8.0) transitivePeerDependencies: @@ -1128,7 +1386,7 @@ dependencies: '@babel/core': 7.21.4 '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color dev: true @@ -1142,7 +1400,7 @@ dependencies: '@babel/core': 7.8.0 '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.8.0) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color dev: true @@ -1186,7 +1444,7 @@ dependencies: '@babel/core': 7.25.2 '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-decorators': 7.24.7(@babel/core@7.25.2) transitivePeerDependencies: - supports-color @@ -1199,7 +1457,7 @@ dependencies: '@babel/core': 7.8.0 '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.8.0) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-decorators': 7.24.7(@babel/core@7.8.0) transitivePeerDependencies: - supports-color @@ -1246,7 +1504,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-export-default-from': 7.24.7(@babel/core@7.8.0) /@babel/plugin-proposal-export-namespace-from@7.18.9(@babel/core@7.21.4): @@ -1318,7 +1576,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.21.4) dev: true @@ -1330,7 +1588,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.8.0) dev: true @@ -1356,7 +1614,7 @@ '@babel/compat-data': 7.25.4 '@babel/core': 7.21.4 '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.21.4) '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.21.4) dev: true @@ -1371,7 +1629,7 @@ '@babel/compat-data': 7.25.4 '@babel/core': 7.25.2 '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.2) '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.25.2) @@ -1385,7 +1643,7 @@ '@babel/compat-data': 7.25.4 '@babel/core': 7.8.0 '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.8.0) '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.8.0) dev: true @@ -1398,7 +1656,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.21.4) dev: true @@ -1410,7 +1668,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.8.0) dev: true @@ -1422,7 +1680,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.4) transitivePeerDependencies: @@ -1437,7 +1695,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.8.0) transitivePeerDependencies: @@ -1530,7 +1788,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 dev: true /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.25.2): @@ -1539,7 +1797,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.8.0): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} @@ -1547,7 +1805,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.8.0): resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} @@ -1564,7 +1822,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 dev: true /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.25.2): @@ -1573,7 +1831,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.8.0): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} @@ -1581,7 +1839,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.21.4): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} @@ -1590,7 +1848,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 dev: true /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.25.2): @@ -1600,7 +1858,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.8.0): resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} @@ -1609,7 +1867,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-syntax-decorators@7.24.7(@babel/core@7.21.4): resolution: {integrity: sha512-Ui4uLJJrRV1lb38zg1yYTmRKmiZLiftDEvZN2iq3kd9kUFU+PttmzTbAFC2ucRk/XJmtek6G23gPsuZbhrT8fQ==} @@ -1618,7 +1876,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 dev: true /@babel/plugin-syntax-decorators@7.24.7(@babel/core@7.25.2): @@ -1628,7 +1886,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-syntax-decorators@7.24.7(@babel/core@7.8.0): resolution: {integrity: sha512-Ui4uLJJrRV1lb38zg1yYTmRKmiZLiftDEvZN2iq3kd9kUFU+PttmzTbAFC2ucRk/XJmtek6G23gPsuZbhrT8fQ==} @@ -1637,7 +1895,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 dev: true /@babel/plugin-syntax-do-expressions@7.22.5(@babel/core@7.21.4): @@ -1656,7 +1914,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 dev: true /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.25.2): @@ -1665,7 +1923,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-syntax-dynamic-import@7.8.3(@babel/core@7.8.0): resolution: {integrity: sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==} @@ -1673,7 +1931,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-syntax-export-default-from@7.24.7(@babel/core@7.21.4): resolution: {integrity: sha512-bTPz4/635WQ9WhwsyPdxUJDVpsi/X9BMmy/8Rf/UAlOO4jSql4CxUCjWI5PiM+jG+c4LVPTScoTw80geFj9+Bw==} @@ -1682,7 +1940,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 dev: true /@babel/plugin-syntax-export-default-from@7.24.7(@babel/core@7.8.0): @@ -1692,7 +1950,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.21.4): resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} @@ -1700,7 +1958,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 dev: true /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.25.2): @@ -1709,7 +1967,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-syntax-export-namespace-from@7.8.3(@babel/core@7.8.0): resolution: {integrity: sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==} @@ -1717,17 +1975,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 - - /@babel/plugin-syntax-flow@7.24.7(@babel/core@7.8.0): - resolution: {integrity: sha512-9G8GYT/dxn/D1IIKOUBmGX0mnmj46mGH9NnZyJLwtCpgh5f7D2VbuKodb+2s9m1Yavh1s7ASQN8lf0eqrb1LTw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 - dev: true + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-syntax-flow@7.26.0(@babel/core@7.25.2): resolution: {integrity: sha512-B+O2DnPc0iG+YXFqOxv2WNuNU97ToWjOomUQ78DouOENWUaM5sVrmet9mcomUGQFwpJd//gvUagXBSdzO1fRKg==} @@ -1747,7 +1995,6 @@ dependencies: '@babel/core': 7.8.0 '@babel/helper-plugin-utils': 7.26.5 - dev: false /@babel/plugin-syntax-function-bind@7.22.5(@babel/core@7.21.4): resolution: {integrity: sha512-Sjy7XIhHF9L++0Mk/3Y4H4439cjI//wc/jE8Ly3+qGPkTUYYEhe4rzMv/JnyZpekfOBL22X6DAq42I7GM/3KzA==} @@ -1776,7 +2023,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 dev: true /@babel/plugin-syntax-import-assertions@7.25.6(@babel/core@7.25.2): @@ -1786,7 +2033,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-syntax-import-assertions@7.25.6(@babel/core@7.8.0): resolution: {integrity: sha512-aABl0jHw9bZ2karQ/uUD6XP4u0SG22SJrOHFoL6XB1R7dTovOP4TzTlsxOYC5yQ1pdscVK2JTUnF6QL3ARoAiQ==} @@ -1795,7 +2042,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-syntax-import-attributes@7.25.6(@babel/core@7.25.2): resolution: {integrity: sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ==} @@ -1804,7 +2051,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-syntax-import-attributes@7.25.6(@babel/core@7.8.0): resolution: {integrity: sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ==} @@ -1813,7 +2060,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.25.2): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} @@ -1821,7 +2068,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.8.0): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} @@ -1829,7 +2076,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.21.4): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} @@ -1837,7 +2084,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 dev: true /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.25.2): @@ -1846,7 +2093,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.8.0): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} @@ -1854,7 +2101,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.25.2): resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==} @@ -1872,7 +2119,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.21.4): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} @@ -1880,7 +2127,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 dev: true /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.25.2): @@ -1889,7 +2136,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.8.0): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} @@ -1897,7 +2144,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.21.4): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} @@ -1905,7 +2152,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 dev: true /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.25.2): @@ -1914,7 +2161,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.8.0): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} @@ -1922,7 +2169,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.21.4): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} @@ -1930,7 +2177,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 dev: true /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.25.2): @@ -1939,7 +2186,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.8.0): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} @@ -1947,7 +2194,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.21.4): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} @@ -1955,7 +2202,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 dev: true /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.25.2): @@ -1964,7 +2211,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.8.0): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} @@ -1972,7 +2219,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.21.4): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} @@ -1980,7 +2227,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 dev: true /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.25.2): @@ -1989,7 +2236,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.8.0): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} @@ -1997,7 +2244,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.21.4): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} @@ -2005,7 +2252,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 dev: true /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.25.2): @@ -2014,7 +2261,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.8.0): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} @@ -2022,7 +2269,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-syntax-pipeline-operator@7.22.5(@babel/core@7.21.4): resolution: {integrity: sha512-7yuGXd+h8gpR14FnPDTTCd5TfC/1B9njNZJT29GJ7UFF/WVbzkZy7728DynrENqgImqj5xyPTQAo8si9n3QVJQ==} @@ -2041,7 +2288,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 dev: true /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.25.2): @@ -2051,7 +2298,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.8.0): resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} @@ -2060,7 +2307,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-syntax-throw-expressions@7.22.5(@babel/core@7.21.4): resolution: {integrity: sha512-oCyfA7rDVcQIydA7ZOmnHCQTzz5JvG9arY++Z+ASL/q5q+mJLblaRNHoK6ggV54X2c14wCK/lQi7z1DujmEmZA==} @@ -2079,7 +2326,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 dev: true /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.25.2): @@ -2089,7 +2336,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.8.0): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} @@ -2098,7 +2345,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-syntax-typescript@7.25.4(@babel/core@7.21.4): resolution: {integrity: sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg==} @@ -2107,7 +2354,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 dev: true /@babel/plugin-syntax-typescript@7.25.4(@babel/core@7.25.2): @@ -2117,7 +2364,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-syntax-typescript@7.25.4(@babel/core@7.8.0): resolution: {integrity: sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg==} @@ -2126,7 +2373,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.25.2): resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} @@ -2136,7 +2383,7 @@ dependencies: '@babel/core': 7.25.2 '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-syntax-unicode-sets-regex@7.18.6(@babel/core@7.8.0): resolution: {integrity: sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==} @@ -2146,7 +2393,7 @@ dependencies: '@babel/core': 7.8.0 '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.8.0) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-arrow-functions@7.24.7(@babel/core@7.21.4): resolution: {integrity: sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==} @@ -2155,7 +2402,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 dev: true /@babel/plugin-transform-arrow-functions@7.24.7(@babel/core@7.25.2): @@ -2165,7 +2412,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-arrow-functions@7.24.7(@babel/core@7.8.0): resolution: {integrity: sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==} @@ -2174,7 +2421,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-async-generator-functions@7.25.4(@babel/core@7.25.2): resolution: {integrity: sha512-jz8cV2XDDTqjKPwVPJBIjORVEmSGYhdRa8e5k5+vN+uwcjSrSxUaebBRa4ko1jqNF2uxyg8G6XYk30Jv285xzg==} @@ -2183,7 +2430,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-remap-async-to-generator': 7.25.0(@babel/core@7.25.2) '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.25.2) '@babel/traverse': 7.25.6 @@ -2197,7 +2444,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-remap-async-to-generator': 7.25.0(@babel/core@7.8.0) '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.8.0) '@babel/traverse': 7.25.6 @@ -2212,7 +2459,7 @@ dependencies: '@babel/core': 7.21.4 '@babel/helper-module-imports': 7.24.7 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-remap-async-to-generator': 7.25.0(@babel/core@7.21.4) transitivePeerDependencies: - supports-color @@ -2226,7 +2473,7 @@ dependencies: '@babel/core': 7.25.2 '@babel/helper-module-imports': 7.24.7 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-remap-async-to-generator': 7.25.0(@babel/core@7.25.2) transitivePeerDependencies: - supports-color @@ -2239,7 +2486,7 @@ dependencies: '@babel/core': 7.8.0 '@babel/helper-module-imports': 7.24.7 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-remap-async-to-generator': 7.25.0(@babel/core@7.8.0) transitivePeerDependencies: - supports-color @@ -2251,7 +2498,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 dev: true /@babel/plugin-transform-block-scoped-functions@7.24.7(@babel/core@7.25.2): @@ -2261,7 +2508,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-block-scoped-functions@7.24.7(@babel/core@7.8.0): resolution: {integrity: sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==} @@ -2270,7 +2517,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-block-scoping@7.25.0(@babel/core@7.21.4): resolution: {integrity: sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==} @@ -2279,7 +2526,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 dev: true /@babel/plugin-transform-block-scoping@7.25.0(@babel/core@7.25.2): @@ -2289,7 +2536,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-block-scoping@7.25.0(@babel/core@7.8.0): resolution: {integrity: sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==} @@ -2298,7 +2545,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-class-properties@7.25.4(@babel/core@7.25.2): resolution: {integrity: sha512-nZeZHyCWPfjkdU5pA/uHiTaDAFUEqkpzf1YoQT2NeSynCGYq9rxfyI3XpQbfx/a0hSnFH6TGlEXvae5Vi7GD8g==} @@ -2308,7 +2555,7 @@ dependencies: '@babel/core': 7.25.2 '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color @@ -2320,7 +2567,7 @@ dependencies: '@babel/core': 7.8.0 '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.8.0) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color @@ -2332,7 +2579,7 @@ dependencies: '@babel/core': 7.25.2 '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.25.2) transitivePeerDependencies: - supports-color @@ -2345,7 +2592,7 @@ dependencies: '@babel/core': 7.8.0 '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.8.0) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.8.0) transitivePeerDependencies: - supports-color @@ -2359,7 +2606,7 @@ '@babel/core': 7.21.4 '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-replace-supers': 7.25.0(@babel/core@7.21.4) '@babel/traverse': 7.25.6 globals: 11.12.0 @@ -2376,7 +2623,7 @@ '@babel/core': 7.25.2 '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) '@babel/traverse': 7.25.6 globals: 11.12.0 @@ -2392,7 +2639,7 @@ '@babel/core': 7.8.0 '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-replace-supers': 7.25.0(@babel/core@7.8.0) '@babel/traverse': 7.25.6 globals: 11.12.0 @@ -2406,7 +2653,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/template': 7.25.0 dev: true @@ -2417,7 +2664,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/template': 7.25.0 /@babel/plugin-transform-computed-properties@7.24.7(@babel/core@7.8.0): @@ -2427,7 +2674,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/template': 7.25.0 /@babel/plugin-transform-destructuring@7.24.8(@babel/core@7.21.4): @@ -2437,7 +2684,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 dev: true /@babel/plugin-transform-destructuring@7.24.8(@babel/core@7.25.2): @@ -2447,7 +2694,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-destructuring@7.24.8(@babel/core@7.8.0): resolution: {integrity: sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==} @@ -2456,7 +2703,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-dotall-regex@7.24.7(@babel/core@7.21.4): resolution: {integrity: sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==} @@ -2466,7 +2713,7 @@ dependencies: '@babel/core': 7.21.4 '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 dev: true /@babel/plugin-transform-dotall-regex@7.24.7(@babel/core@7.25.2): @@ -2477,7 +2724,7 @@ dependencies: '@babel/core': 7.25.2 '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-dotall-regex@7.24.7(@babel/core@7.8.0): resolution: {integrity: sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==} @@ -2487,7 +2734,7 @@ dependencies: '@babel/core': 7.8.0 '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.8.0) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-duplicate-keys@7.24.7(@babel/core@7.21.4): resolution: {integrity: sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==} @@ -2496,7 +2743,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 dev: true /@babel/plugin-transform-duplicate-keys@7.24.7(@babel/core@7.25.2): @@ -2506,7 +2753,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-duplicate-keys@7.24.7(@babel/core@7.8.0): resolution: {integrity: sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==} @@ -2515,7 +2762,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.0(@babel/core@7.25.2): resolution: {integrity: sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==} @@ -2525,7 +2772,7 @@ dependencies: '@babel/core': 7.25.2 '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-duplicate-named-capturing-groups-regex@7.25.0(@babel/core@7.8.0): resolution: {integrity: sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==} @@ -2535,7 +2782,7 @@ dependencies: '@babel/core': 7.8.0 '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.8.0) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-dynamic-import@7.24.7(@babel/core@7.25.2): resolution: {integrity: sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==} @@ -2544,7 +2791,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.25.2) /@babel/plugin-transform-dynamic-import@7.24.7(@babel/core@7.8.0): @@ -2554,7 +2801,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.8.0) /@babel/plugin-transform-exponentiation-operator@7.24.7(@babel/core@7.21.4): @@ -2565,7 +2812,7 @@ dependencies: '@babel/core': 7.21.4 '@babel/helper-builder-binary-assignment-operator-visitor': 7.24.7 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color dev: true @@ -2578,7 +2825,7 @@ dependencies: '@babel/core': 7.25.2 '@babel/helper-builder-binary-assignment-operator-visitor': 7.24.7 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color @@ -2590,7 +2837,7 @@ dependencies: '@babel/core': 7.8.0 '@babel/helper-builder-binary-assignment-operator-visitor': 7.24.7 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color @@ -2601,7 +2848,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.25.2) /@babel/plugin-transform-export-namespace-from@7.24.7(@babel/core@7.8.0): @@ -2611,19 +2858,8 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-export-namespace-from': 7.8.3(@babel/core@7.8.0) - - /@babel/plugin-transform-flow-strip-types@7.25.2(@babel/core@7.8.0): - resolution: {integrity: sha512-InBZ0O8tew5V0K6cHcQ+wgxlrjOw1W4wDXLkOTjLRD8GYhTSkxTVBtdy3MMtvYBrbAWa1Qm3hNoTc1620Yj+Mg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - dependencies: - '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/plugin-syntax-flow': 7.24.7(@babel/core@7.8.0) - dev: true /@babel/plugin-transform-flow-strip-types@7.26.5(@babel/core@7.25.2): resolution: {integrity: sha512-eGK26RsbIkYUns3Y8qKl362juDDYK+wEdPGHGrhzUl6CewZFo55VZ7hg+CyMFU4dd5QQakBN86nBMpRsFpRvbQ==} @@ -2645,7 +2881,6 @@ '@babel/core': 7.8.0 '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-flow': 7.26.0(@babel/core@7.8.0) - dev: false /@babel/plugin-transform-for-of@7.24.7(@babel/core@7.21.4): resolution: {integrity: sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==} @@ -2654,7 +2889,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 transitivePeerDependencies: - supports-color @@ -2667,7 +2902,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 transitivePeerDependencies: - supports-color @@ -2679,7 +2914,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 transitivePeerDependencies: - supports-color @@ -2692,7 +2927,7 @@ dependencies: '@babel/core': 7.21.4 '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/traverse': 7.25.6 transitivePeerDependencies: - supports-color @@ -2706,7 +2941,7 @@ dependencies: '@babel/core': 7.25.2 '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/traverse': 7.25.6 transitivePeerDependencies: - supports-color @@ -2719,7 +2954,7 @@ dependencies: '@babel/core': 7.8.0 '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/traverse': 7.25.6 transitivePeerDependencies: - supports-color @@ -2731,7 +2966,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.25.2) /@babel/plugin-transform-json-strings@7.24.7(@babel/core@7.8.0): @@ -2741,7 +2976,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.8.0) /@babel/plugin-transform-literals@7.25.2(@babel/core@7.21.4): @@ -2751,7 +2986,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 dev: true /@babel/plugin-transform-literals@7.25.2(@babel/core@7.25.2): @@ -2761,7 +2996,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-literals@7.25.2(@babel/core@7.8.0): resolution: {integrity: sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==} @@ -2770,7 +3005,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-logical-assignment-operators@7.24.7(@babel/core@7.25.2): resolution: {integrity: sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==} @@ -2779,7 +3014,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.25.2) /@babel/plugin-transform-logical-assignment-operators@7.24.7(@babel/core@7.8.0): @@ -2789,7 +3024,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.8.0) /@babel/plugin-transform-member-expression-literals@7.24.7(@babel/core@7.21.4): @@ -2799,7 +3034,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 dev: true /@babel/plugin-transform-member-expression-literals@7.24.7(@babel/core@7.25.2): @@ -2809,7 +3044,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-member-expression-literals@7.24.7(@babel/core@7.8.0): resolution: {integrity: sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==} @@ -2818,7 +3053,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-modules-amd@7.24.7(@babel/core@7.21.4): resolution: {integrity: sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==} @@ -2828,7 +3063,7 @@ dependencies: '@babel/core': 7.21.4 '@babel/helper-module-transforms': 7.25.2(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color dev: true @@ -2841,7 +3076,7 @@ dependencies: '@babel/core': 7.25.2 '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color @@ -2853,7 +3088,7 @@ dependencies: '@babel/core': 7.8.0 '@babel/helper-module-transforms': 7.25.2(@babel/core@7.8.0) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color @@ -2879,7 +3114,7 @@ dependencies: '@babel/core': 7.21.4 '@babel/helper-module-transforms': 7.25.2(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-simple-access': 7.24.7 transitivePeerDependencies: - supports-color @@ -2893,7 +3128,7 @@ dependencies: '@babel/core': 7.25.2 '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-simple-access': 7.24.7 transitivePeerDependencies: - supports-color @@ -2906,7 +3141,7 @@ dependencies: '@babel/core': 7.8.0 '@babel/helper-module-transforms': 7.25.2(@babel/core@7.8.0) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-simple-access': 7.24.7 transitivePeerDependencies: - supports-color @@ -2919,7 +3154,7 @@ dependencies: '@babel/core': 7.21.4 '@babel/helper-module-transforms': 7.25.2(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-validator-identifier': 7.24.7 '@babel/traverse': 7.25.6 transitivePeerDependencies: @@ -2934,7 +3169,7 @@ dependencies: '@babel/core': 7.25.2 '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-validator-identifier': 7.24.7 '@babel/traverse': 7.25.6 transitivePeerDependencies: @@ -2948,7 +3183,7 @@ dependencies: '@babel/core': 7.8.0 '@babel/helper-module-transforms': 7.25.2(@babel/core@7.8.0) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-validator-identifier': 7.24.7 '@babel/traverse': 7.25.6 transitivePeerDependencies: @@ -2962,7 +3197,7 @@ dependencies: '@babel/core': 7.21.4 '@babel/helper-module-transforms': 7.25.2(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color dev: true @@ -2975,7 +3210,7 @@ dependencies: '@babel/core': 7.25.2 '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color @@ -2987,7 +3222,7 @@ dependencies: '@babel/core': 7.8.0 '@babel/helper-module-transforms': 7.25.2(@babel/core@7.8.0) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color @@ -2999,7 +3234,7 @@ dependencies: '@babel/core': 7.21.4 '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 dev: true /@babel/plugin-transform-named-capturing-groups-regex@7.24.7(@babel/core@7.25.2): @@ -3010,7 +3245,7 @@ dependencies: '@babel/core': 7.25.2 '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-named-capturing-groups-regex@7.24.7(@babel/core@7.8.0): resolution: {integrity: sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==} @@ -3020,7 +3255,7 @@ dependencies: '@babel/core': 7.8.0 '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.8.0) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-new-target@7.24.7(@babel/core@7.21.4): resolution: {integrity: sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==} @@ -3029,7 +3264,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 dev: true /@babel/plugin-transform-new-target@7.24.7(@babel/core@7.25.2): @@ -3039,7 +3274,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-new-target@7.24.7(@babel/core@7.8.0): resolution: {integrity: sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==} @@ -3048,7 +3283,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-nullish-coalescing-operator@7.24.7(@babel/core@7.25.2): resolution: {integrity: sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==} @@ -3057,7 +3292,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.25.2) /@babel/plugin-transform-nullish-coalescing-operator@7.24.7(@babel/core@7.8.0): @@ -3067,7 +3302,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.8.0) /@babel/plugin-transform-numeric-separator@7.24.7(@babel/core@7.25.2): @@ -3077,7 +3312,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.25.2) /@babel/plugin-transform-numeric-separator@7.24.7(@babel/core@7.8.0): @@ -3087,7 +3322,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.8.0) /@babel/plugin-transform-object-rest-spread@7.24.7(@babel/core@7.25.2): @@ -3098,7 +3333,7 @@ dependencies: '@babel/core': 7.25.2 '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.25.2) '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.25.2) @@ -3110,7 +3345,7 @@ dependencies: '@babel/core': 7.8.0 '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.8.0) '@babel/plugin-transform-parameters': 7.24.7(@babel/core@7.8.0) @@ -3121,7 +3356,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-replace-supers': 7.25.0(@babel/core@7.21.4) transitivePeerDependencies: - supports-color @@ -3134,7 +3369,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) transitivePeerDependencies: - supports-color @@ -3146,7 +3381,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-replace-supers': 7.25.0(@babel/core@7.8.0) transitivePeerDependencies: - supports-color @@ -3158,7 +3393,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.25.2) /@babel/plugin-transform-optional-catch-binding@7.24.7(@babel/core@7.8.0): @@ -3168,7 +3403,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.8.0) /@babel/plugin-transform-optional-chaining@7.24.8(@babel/core@7.21.4): @@ -3178,7 +3413,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.21.4) transitivePeerDependencies: @@ -3192,7 +3427,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.25.2) transitivePeerDependencies: @@ -3205,7 +3440,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.8.0) transitivePeerDependencies: @@ -3218,7 +3453,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 dev: true /@babel/plugin-transform-parameters@7.24.7(@babel/core@7.25.2): @@ -3228,7 +3463,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-parameters@7.24.7(@babel/core@7.8.0): resolution: {integrity: sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==} @@ -3237,7 +3472,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-private-methods@7.25.4(@babel/core@7.25.2): resolution: {integrity: sha512-ao8BG7E2b/URaUQGqN3Tlsg+M3KlHY6rJ1O1gXAEUnZoyNQnvKyH87Kfg+FoxSeyWUB8ISZZsC91C44ZuBFytw==} @@ -3247,7 +3482,7 @@ dependencies: '@babel/core': 7.25.2 '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color @@ -3259,7 +3494,7 @@ dependencies: '@babel/core': 7.8.0 '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.8.0) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 transitivePeerDependencies: - supports-color @@ -3272,7 +3507,7 @@ '@babel/core': 7.25.2 '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.25.2) transitivePeerDependencies: - supports-color @@ -3286,7 +3521,7 @@ '@babel/core': 7.8.0 '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.8.0) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.8.0) transitivePeerDependencies: - supports-color @@ -3298,7 +3533,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 dev: true /@babel/plugin-transform-property-literals@7.24.7(@babel/core@7.25.2): @@ -3308,7 +3543,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-property-literals@7.24.7(@babel/core@7.8.0): resolution: {integrity: sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==} @@ -3317,7 +3552,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-react-display-name@7.24.7(@babel/core@7.8.0): resolution: {integrity: sha512-H/Snz9PFxKsS1JLI4dJLtnJgCJRoo0AUm3chP6NYr+9En1JMKloheEiLIhlp5MDVznWo+H3AAC1Mc8lmUEpsgg==} @@ -3326,7 +3561,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-react-jsx-development@7.24.7(@babel/core@7.8.0): resolution: {integrity: sha512-QG9EnzoGn+Qar7rxuW+ZOsbWOt56FvvI93xInqsZDC5fsekx1AlIO4KIJ5M+D0p0SqSH156EpmZyXq630B8OlQ==} @@ -3347,7 +3582,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-react-jsx-source@7.24.7(@babel/core@7.8.0): resolution: {integrity: sha512-J2z+MWzZHVOemyLweMqngXrgGC42jQ//R0KdxqkIz/OrbVIIlhFI3WigZ5fO+nwFvBlncr4MGapd8vTyc7RPNQ==} @@ -3356,7 +3591,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-react-jsx@7.25.2(@babel/core@7.8.0): resolution: {integrity: sha512-KQsqEAVBpU82NM/B/N9j9WOdphom1SZH3R+2V7INrQUH+V9EBFwZsEJl8eBIVeQE62FxJCc70jzEZwqU7RcVqA==} @@ -3367,7 +3602,7 @@ '@babel/core': 7.8.0 '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-module-imports': 7.24.7 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.8.0) '@babel/types': 7.25.6 transitivePeerDependencies: @@ -3381,7 +3616,7 @@ dependencies: '@babel/core': 7.8.0 '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 dev: true /@babel/plugin-transform-regenerator@7.24.7(@babel/core@7.21.4): @@ -3391,7 +3626,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 regenerator-transform: 0.15.2 dev: true @@ -3402,7 +3637,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 regenerator-transform: 0.15.2 /@babel/plugin-transform-regenerator@7.24.7(@babel/core@7.8.0): @@ -3412,7 +3647,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 regenerator-transform: 0.15.2 /@babel/plugin-transform-reserved-words@7.24.7(@babel/core@7.21.4): @@ -3422,7 +3657,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 dev: true /@babel/plugin-transform-reserved-words@7.24.7(@babel/core@7.25.2): @@ -3432,7 +3667,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-reserved-words@7.24.7(@babel/core@7.8.0): resolution: {integrity: sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==} @@ -3441,7 +3676,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-runtime@7.21.4(@babel/core@7.21.4): resolution: {integrity: sha512-1J4dhrw1h1PqnNNpzwxQ2UBymJUF8KuPjAAnlLwZcGhHAIqUigFW7cdK6GHoB64ubY4qXQNYknoUeks4Wz7CUA==} @@ -3468,7 +3703,7 @@ dependencies: '@babel/core': 7.25.2 '@babel/helper-module-imports': 7.24.7 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.25.2) babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.25.2) babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.25.2) @@ -3484,7 +3719,7 @@ dependencies: '@babel/core': 7.8.0 '@babel/helper-module-imports': 7.24.7 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 babel-plugin-polyfill-corejs2: 0.4.11(@babel/core@7.8.0) babel-plugin-polyfill-corejs3: 0.10.6(@babel/core@7.8.0) babel-plugin-polyfill-regenerator: 0.6.2(@babel/core@7.8.0) @@ -3499,7 +3734,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 dev: true /@babel/plugin-transform-shorthand-properties@7.24.7(@babel/core@7.25.2): @@ -3509,7 +3744,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-shorthand-properties@7.24.7(@babel/core@7.8.0): resolution: {integrity: sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==} @@ -3518,7 +3753,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-spread@7.24.7(@babel/core@7.21.4): resolution: {integrity: sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==} @@ -3527,7 +3762,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 transitivePeerDependencies: - supports-color @@ -3540,7 +3775,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 transitivePeerDependencies: - supports-color @@ -3552,7 +3787,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 transitivePeerDependencies: - supports-color @@ -3564,7 +3799,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 dev: true /@babel/plugin-transform-sticky-regex@7.24.7(@babel/core@7.25.2): @@ -3574,7 +3809,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-sticky-regex@7.24.7(@babel/core@7.8.0): resolution: {integrity: sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==} @@ -3583,7 +3818,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-template-literals@7.24.7(@babel/core@7.21.4): resolution: {integrity: sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==} @@ -3592,7 +3827,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 dev: true /@babel/plugin-transform-template-literals@7.24.7(@babel/core@7.25.2): @@ -3602,7 +3837,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-template-literals@7.24.7(@babel/core@7.8.0): resolution: {integrity: sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==} @@ -3611,7 +3846,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-typeof-symbol@7.24.8(@babel/core@7.21.4): resolution: {integrity: sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==} @@ -3620,7 +3855,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 dev: true /@babel/plugin-transform-typeof-symbol@7.24.8(@babel/core@7.25.2): @@ -3630,7 +3865,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-typeof-symbol@7.24.8(@babel/core@7.8.0): resolution: {integrity: sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==} @@ -3639,7 +3874,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-typescript@7.21.3(@babel/core@7.21.4): resolution: {integrity: sha512-RQxPz6Iqt8T0uw/WsJNReuBpWpBqs/n7mNo18sKLoTbMp+UrEekhH+pKSVC7gWz+DNjo9gryfV8YzCiT45RgMw==} @@ -3665,7 +3900,7 @@ '@babel/core': 7.25.2 '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 '@babel/plugin-syntax-typescript': 7.25.4(@babel/core@7.25.2) transitivePeerDependencies: @@ -3680,7 +3915,7 @@ '@babel/core': 7.8.0 '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.8.0) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 '@babel/plugin-syntax-typescript': 7.25.4(@babel/core@7.8.0) transitivePeerDependencies: @@ -3693,7 +3928,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.21.4 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 dev: true /@babel/plugin-transform-unicode-escapes@7.24.7(@babel/core@7.25.2): @@ -3703,7 +3938,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-unicode-escapes@7.24.7(@babel/core@7.8.0): resolution: {integrity: sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==} @@ -3712,7 +3947,7 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-unicode-property-regex@7.24.7(@babel/core@7.25.2): resolution: {integrity: sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==} @@ -3722,7 +3957,7 @@ dependencies: '@babel/core': 7.25.2 '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-unicode-property-regex@7.24.7(@babel/core@7.8.0): resolution: {integrity: sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==} @@ -3732,7 +3967,7 @@ dependencies: '@babel/core': 7.8.0 '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.8.0) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-unicode-regex@7.24.7(@babel/core@7.21.4): resolution: {integrity: sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==} @@ -3742,7 +3977,7 @@ dependencies: '@babel/core': 7.21.4 '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.21.4) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 dev: true /@babel/plugin-transform-unicode-regex@7.24.7(@babel/core@7.25.2): @@ -3753,7 +3988,7 @@ dependencies: '@babel/core': 7.25.2 '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-unicode-regex@7.24.7(@babel/core@7.8.0): resolution: {integrity: sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==} @@ -3763,7 +3998,7 @@ dependencies: '@babel/core': 7.8.0 '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.8.0) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-unicode-sets-regex@7.25.4(@babel/core@7.25.2): resolution: {integrity: sha512-qesBxiWkgN1Q+31xUE9RcMk79eOXXDCv6tfyGMRSs4RGlioSg2WVyQAm07k726cSE56pa+Kb0y9epX2qaXzTvA==} @@ -3773,7 +4008,7 @@ dependencies: '@babel/core': 7.25.2 '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.25.2) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/plugin-transform-unicode-sets-regex@7.25.4(@babel/core@7.8.0): resolution: {integrity: sha512-qesBxiWkgN1Q+31xUE9RcMk79eOXXDCv6tfyGMRSs4RGlioSg2WVyQAm07k726cSE56pa+Kb0y9epX2qaXzTvA==} @@ -3783,7 +4018,7 @@ dependencies: '@babel/core': 7.8.0 '@babel/helper-create-regexp-features-plugin': 7.25.2(@babel/core@7.8.0) - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 /@babel/preset-env@7.21.4(@babel/core@7.21.4): resolution: {integrity: sha512-2W57zHs2yDLm6GD5ZpvNn71lZ0B/iypSdIeq25OurDKji6AdzV07qp4s3n1/x5BqtiGaTrPN3nerlSCaC5qNTw==} @@ -3880,8 +4115,8 @@ '@babel/compat-data': 7.25.4 '@babel/core': 7.25.2 '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-validator-option': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-validator-option': 7.25.9 '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.3(@babel/core@7.25.2) '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.0(@babel/core@7.25.2) '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.0(@babel/core@7.25.2) @@ -3973,8 +4208,8 @@ '@babel/compat-data': 7.25.4 '@babel/core': 7.8.0 '@babel/helper-compilation-targets': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-validator-option': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-validator-option': 7.25.9 '@babel/plugin-bugfix-firefox-class-in-computed-class-key': 7.25.3(@babel/core@7.8.0) '@babel/plugin-bugfix-safari-class-field-initializer-scope': 7.25.0(@babel/core@7.8.0) '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.25.0(@babel/core@7.8.0) @@ -4088,7 +4323,7 @@ '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/types': 7.25.6 esutils: 2.0.3 @@ -4098,7 +4333,7 @@ '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 '@babel/types': 7.25.6 esutils: 2.0.3 @@ -4109,8 +4344,8 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-validator-option': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-validator-option': 7.25.9 '@babel/plugin-transform-react-display-name': 7.24.7(@babel/core@7.8.0) '@babel/plugin-transform-react-jsx': 7.25.2(@babel/core@7.8.0) '@babel/plugin-transform-react-jsx-development': 7.24.7(@babel/core@7.8.0) @@ -4126,8 +4361,8 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-validator-option': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-validator-option': 7.25.9 '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.25.2) @@ -4141,8 +4376,8 @@ '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.8.0 - '@babel/helper-plugin-utils': 7.24.8 - '@babel/helper-validator-option': 7.24.8 + '@babel/helper-plugin-utils': 7.26.5 + '@babel/helper-validator-option': 7.25.9 '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.8.0) '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.8.0) '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.8.0) @@ -6336,20 +6571,6 @@ - conventional-commits-parser dev: true - /@rollup/pluginutils@5.1.0: - resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} - engines: {node: '>=14.0.0'} - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 - peerDependenciesMeta: - rollup: - optional: true - dependencies: - '@types/estree': 1.0.5 - estree-walker: 2.0.2 - picomatch: 2.3.1 - dev: true - /@rollup/pluginutils@5.1.4: resolution: {integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==} engines: {node: '>=14.0.0'} @@ -8226,7 +8447,7 @@ '@vue/compiler-ssr': 3.5.12 '@vue/shared': 3.5.12 estree-walker: 2.0.2 - magic-string: 0.30.11 + magic-string: 0.30.17 postcss: 8.4.47 source-map-js: 1.2.1 @@ -8555,13 +8776,13 @@ acorn-walk: 8.3.4 dev: true - /acorn-import-assertions@1.9.0(acorn@8.12.1): + /acorn-import-assertions@1.9.0(acorn@8.14.0): resolution: {integrity: sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==} deprecated: package has been renamed to acorn-import-attributes peerDependencies: acorn: ^8 dependencies: - acorn: 8.12.1 + acorn: 8.14.0 /acorn-jsx@5.3.2(acorn@8.14.0): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} @@ -8583,11 +8804,6 @@ engines: {node: '>=0.4.0'} hasBin: true dev: true - - /acorn@8.12.1: - resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} - engines: {node: '>=0.4.0'} - hasBin: true /acorn@8.14.0: resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} @@ -11682,6 +11898,7 @@ optional: true dependencies: ms: 2.1.3 + dev: true /debug@4.4.0: resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} @@ -13052,17 +13269,6 @@ /fast-diff@1.3.0: resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} - dev: true - - /fast-glob@3.3.2: - resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} - 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.8 dev: true /fast-glob@3.3.3: @@ -15944,11 +16150,6 @@ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true - /magic-string@0.30.11: - resolution: {integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==} - dependencies: - '@jridgewell/sourcemap-codec': 1.5.0 - /magic-string@0.30.17: resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} dependencies: @@ -16258,7 +16459,7 @@ '@babel/plugin-proposal-optional-chaining': 7.21.0(@babel/core@7.8.0) '@babel/plugin-syntax-dynamic-import': 7.8.3(@babel/core@7.8.0) '@babel/plugin-syntax-export-default-from': 7.24.7(@babel/core@7.8.0) - '@babel/plugin-syntax-flow': 7.24.7(@babel/core@7.8.0) + '@babel/plugin-syntax-flow': 7.26.0(@babel/core@7.8.0) '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.8.0) '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.8.0) '@babel/plugin-transform-arrow-functions': 7.24.7(@babel/core@7.8.0) @@ -16268,7 +16469,7 @@ '@babel/plugin-transform-computed-properties': 7.24.7(@babel/core@7.8.0) '@babel/plugin-transform-destructuring': 7.24.8(@babel/core@7.8.0) '@babel/plugin-transform-exponentiation-operator': 7.24.7(@babel/core@7.8.0) - '@babel/plugin-transform-flow-strip-types': 7.25.2(@babel/core@7.8.0) + '@babel/plugin-transform-flow-strip-types': 7.26.5(@babel/core@7.8.0) '@babel/plugin-transform-function-name': 7.25.1(@babel/core@7.8.0) '@babel/plugin-transform-literals': 7.25.2(@babel/core@7.8.0) '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.8.0) @@ -20189,8 +20390,8 @@ colord: 2.9.3 cosmiconfig: 7.1.0 css-functions-list: 3.2.2 - debug: 4.3.7 - fast-glob: 3.3.2 + debug: 4.4.0 + fast-glob: 3.3.3 fastest-levenshtein: 1.0.16 file-entry-cache: 6.0.1 global-modules: 2.0.0 @@ -20977,10 +21178,10 @@ optional: true dependencies: '@antfu/utils': 0.7.10 - '@rollup/pluginutils': 5.1.0 - fast-glob: 3.3.2 + '@rollup/pluginutils': 5.1.4 + fast-glob: 3.3.3 local-pkg: 0.4.3 - magic-string: 0.30.11 + magic-string: 0.30.17 minimatch: 9.0.5 unimport: 3.12.0 unplugin: 1.14.1 @@ -21334,7 +21535,7 @@ peerDependencies: eslint: '>=6.0.0' dependencies: - debug: 4.3.7 + debug: 4.4.0 eslint: 8.41.0 eslint-scope: 7.2.2 eslint-visitor-keys: 3.4.3 @@ -21522,7 +21723,7 @@ engines: {node: '>= 10.13.0'} hasBin: true dependencies: - acorn: 8.12.1 + acorn: 8.14.0 acorn-walk: 8.3.4 chalk: 4.1.2 commander: 7.2.0 @@ -21653,8 +21854,8 @@ '@webassemblyjs/ast': 1.11.1 '@webassemblyjs/wasm-edit': 1.11.1 '@webassemblyjs/wasm-parser': 1.11.1 - acorn: 8.12.1 - acorn-import-assertions: 1.9.0(acorn@8.12.1) + acorn: 8.14.0 + acorn-import-assertions: 1.9.0(acorn@8.14.0) browserslist: 4.23.3 chrome-trace-event: 1.0.4 enhanced-resolve: 5.17.1 -- Gitblit v1.9.1