From 69d03709ba70c5ad3969b5b5306766c9cd06b663 Mon Sep 17 00:00:00 2001 From: ZhangAo Date: Tue, 4 Nov 2025 17:32:32 +0800 Subject: [PATCH] u --- code/base-project/base-app/iconfont.json | 8 + code/base-project/base-app/package.json | 5 +- code/base-project/base-app/pnpm-lock.yaml | 152 +- .../base-app/src/app/(tabs)/_layout.tsx | 4 +- .../base-app/src/app/+not-found.tsx | 2 +- .../base-project/base-app/src/app/_layout.tsx | 6 +- .../base-app/src/app/auth/_layout.tsx | 26 + .../base-app/src/app/auth/index.tsx | 42 + .../base-app/src/app/auth/login.tsx | 141 +- .../base-app/src/app/auth/register.tsx | 10 + .../{empty-status.tsx => EmptyStatus.tsx} | 2 +- .../src/components/custom/StepLayout.tsx | 79 + .../base-app/src/components/custom/layout.tsx | 21 - .../base-app/src/components/custom/tabbar.tsx | 2 +- .../src/components/iconfont/IconQq.tsx | 69 + .../src/components/iconfont/IconWeixin.tsx | 37 + .../src/components/iconfont/IconZhiwen.tsx | 45 + .../src/components/iconfont/helper.ts | 12 + .../src/components/iconfont/index.tsx | 37 + .../src/components/ui/checkbox/index.tsx | 242 +++ .../src/components/ui/divider/index.tsx | 40 + .../src/components/ui/form-control/index.tsx | 468 +++++ .../base-app/src/components/ui/icon/index.tsx | 1588 +++++++++++++++++ .../src/components/ui/icon/index.web.tsx | 1573 ++++++++++++++++ .../src/components/ui/input/index.tsx | 217 +++ .../base-app/src/components/ui/link/index.tsx | 102 ++ .../base-app/src/static/images/logo.png | Bin 0 -> 83419 bytes .../base-app/src/static/images/work.png | Bin 0 -> 158839 bytes code/base-project/base-go-v2/cmd/app/main.go | 4 +- code/base-project/base-go-v2/go.mod | 1 + code/base-project/base-go-v2/go.sum | 5 + .../base-go-v2/internal/api/auth/index.go | 24 +- .../internal/{database => db}/db.go | 9 +- .../base-go-v2/internal/db/delete.go | 61 + .../base-go-v2/internal/db/insert.go | 146 ++ .../base-go-v2/internal/db/query.go | 96 + .../base-go-v2/internal/db/update.go | 103 ++ .../logs/error/error-2025-11-04.log | 0 .../base-go-v2/logs/info/info-2025-11-04.log | 0 .../base-go-v2/logs/warn/warn-2025-11-04.log | 0 notes/前端开发/react-native/expo.md | 40 + 41 files changed, 5352 insertions(+), 67 deletions(-) create mode 100644 code/base-project/base-app/iconfont.json create mode 100644 code/base-project/base-app/src/app/auth/_layout.tsx create mode 100644 code/base-project/base-app/src/app/auth/index.tsx create mode 100644 code/base-project/base-app/src/app/auth/register.tsx rename code/base-project/base-app/src/components/common/{empty-status.tsx => EmptyStatus.tsx} (96%) create mode 100644 code/base-project/base-app/src/components/custom/StepLayout.tsx delete mode 100644 code/base-project/base-app/src/components/custom/layout.tsx create mode 100644 code/base-project/base-app/src/components/iconfont/IconQq.tsx create mode 100644 code/base-project/base-app/src/components/iconfont/IconWeixin.tsx create mode 100644 code/base-project/base-app/src/components/iconfont/IconZhiwen.tsx create mode 100644 code/base-project/base-app/src/components/iconfont/helper.ts create mode 100644 code/base-project/base-app/src/components/iconfont/index.tsx create mode 100644 code/base-project/base-app/src/components/ui/checkbox/index.tsx create mode 100644 code/base-project/base-app/src/components/ui/divider/index.tsx create mode 100644 code/base-project/base-app/src/components/ui/form-control/index.tsx create mode 100644 code/base-project/base-app/src/components/ui/icon/index.tsx create mode 100644 code/base-project/base-app/src/components/ui/icon/index.web.tsx create mode 100644 code/base-project/base-app/src/components/ui/input/index.tsx create mode 100644 code/base-project/base-app/src/components/ui/link/index.tsx create mode 100644 code/base-project/base-app/src/static/images/logo.png create mode 100644 code/base-project/base-app/src/static/images/work.png rename code/base-project/base-go-v2/internal/{database => db}/db.go (92%) create mode 100644 code/base-project/base-go-v2/internal/db/delete.go create mode 100644 code/base-project/base-go-v2/internal/db/insert.go create mode 100644 code/base-project/base-go-v2/internal/db/query.go create mode 100644 code/base-project/base-go-v2/internal/db/update.go create mode 100644 code/base-project/base-go-v2/logs/error/error-2025-11-04.log create mode 100644 code/base-project/base-go-v2/logs/info/info-2025-11-04.log create mode 100644 code/base-project/base-go-v2/logs/warn/warn-2025-11-04.log diff --git a/code/base-project/base-app/iconfont.json b/code/base-project/base-app/iconfont.json new file mode 100644 index 00000000..92f6b047 --- /dev/null +++ b/code/base-project/base-app/iconfont.json @@ -0,0 +1,8 @@ +{ + "symbol_url": "//at.alicdn.com/t/c/font_5056764_6s6rld1vyq.js", + "use_typescript": true, + "save_dir": "./src/components/iconfont", + "trim_icon_prefix": "icon", + "default_icon_size": 18, + "local_svgs": "" +} diff --git a/code/base-project/base-app/package.json b/code/base-project/base-app/package.json index fd31d590..cc8046e7 100644 --- a/code/base-project/base-app/package.json +++ b/code/base-project/base-app/package.json @@ -22,7 +22,7 @@ "expo-router": "~6.0.14", "expo-splash-screen": "~31.0.10", "expo-status-bar": "~3.0.8", - "lucide-react-native": "^0.552.0", + "lucide-react-native": "^0.510.0", "nativewind": "^4.2.1", "react": "19.1.0", "react-native": "0.81.5", @@ -30,13 +30,14 @@ "react-native-reanimated": "~4.1.3", "react-native-safe-area-context": "~5.6.1", "react-native-screens": "~4.16.0", - "react-native-svg": "15.12.1", + "react-native-svg": "15.12.0", "zustand": "^5.0.8" }, "devDependencies": { "@antfu/eslint-config": "^6.2.0", "@types/react": "~19.1.0", "eslint": "^9.38.0", + "react-native-iconfont-cli": "^2.2.4", "tailwindcss": "^3.4.17", "typescript": "~5.9.2" } diff --git a/code/base-project/base-app/pnpm-lock.yaml b/code/base-project/base-app/pnpm-lock.yaml index 1fdf003c..b87c6e84 100644 --- a/code/base-project/base-app/pnpm-lock.yaml +++ b/code/base-project/base-app/pnpm-lock.yaml @@ -10,7 +10,7 @@ importers: dependencies: '@gluestack-ui/core': specifier: ^3.0.12 - version: 3.0.12(@gluestack-ui/utils@3.0.11(react-dom@19.2.0(react@19.1.0))(react-native-web@0.21.2(react-dom@19.2.0(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)(tailwindcss@3.4.18(yaml@2.8.1)))(react-native-safe-area-context@5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-svg@15.12.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-web@0.21.2(react-dom@19.2.0(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) + version: 3.0.12(@gluestack-ui/utils@3.0.11(react-dom@19.2.0(react@19.1.0))(react-native-web@0.21.2(react-dom@19.2.0(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)(tailwindcss@3.4.18(yaml@2.8.1)))(react-native-safe-area-context@5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-svg@15.12.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-web@0.21.2(react-dom@19.2.0(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) '@gluestack-ui/utils': specifier: ^3.0.11 version: 3.0.11(react-dom@19.2.0(react@19.1.0))(react-native-web@0.21.2(react-dom@19.2.0(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)(tailwindcss@3.4.18(yaml@2.8.1)) @@ -19,7 +19,7 @@ importers: version: 3.0.3 '@legendapp/motion': specifier: ^2.4.0 - version: 2.4.0(nativewind@4.2.1(react-native-reanimated@4.1.3(@babel/core@7.28.5)(react-native-worklets@0.5.2(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-svg@15.12.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)(tailwindcss@3.4.18(yaml@2.8.1)))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) + version: 2.4.0(nativewind@4.2.1(react-native-reanimated@4.1.3(@babel/core@7.28.5)(react-native-worklets@0.5.2(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-svg@15.12.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)(tailwindcss@3.4.18(yaml@2.8.1)))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) '@react-native-async-storage/async-storage': specifier: 2.2.0 version: 2.2.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0)) @@ -45,11 +45,11 @@ importers: specifier: ~3.0.8 version: 3.0.8(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) lucide-react-native: - specifier: ^0.552.0 - version: 0.552.0(react-native-svg@15.12.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) + specifier: ^0.510.0 + version: 0.510.0(react-native-svg@15.12.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) nativewind: specifier: ^4.2.1 - version: 4.2.1(react-native-reanimated@4.1.3(@babel/core@7.28.5)(react-native-worklets@0.5.2(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-svg@15.12.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)(tailwindcss@3.4.18(yaml@2.8.1)) + version: 4.2.1(react-native-reanimated@4.1.3(@babel/core@7.28.5)(react-native-worklets@0.5.2(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-svg@15.12.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)(tailwindcss@3.4.18(yaml@2.8.1)) react: specifier: 19.1.0 version: 19.1.0 @@ -69,8 +69,8 @@ importers: specifier: ~4.16.0 version: 4.16.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) react-native-svg: - specifier: 15.12.1 - version: 15.12.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) + specifier: 15.12.0 + version: 15.12.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) zustand: specifier: ^5.0.8 version: 5.0.8(@types/react@19.1.17)(react@19.1.0)(use-sync-external-store@1.6.0(react@19.1.0)) @@ -84,6 +84,9 @@ importers: eslint: specifier: ^9.38.0 version: 9.39.0(jiti@1.21.7) + react-native-iconfont-cli: + specifier: ^2.2.4 + version: 2.2.4(react-native-svg@15.12.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) tailwindcss: specifier: ^3.4.17 version: 3.4.18(yaml@2.8.1) @@ -2202,6 +2205,10 @@ packages: async-limiter@1.0.1: resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==} + axios@0.19.2: + resolution: {integrity: sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA==} + deprecated: Critical security vulnerability fixed in v0.21.1. For more information, see https://github.com/axios/axios/pull/3410 + babel-jest@29.7.0: resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -2448,6 +2455,10 @@ packages: resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} engines: {node: '>=12.5.0'} + colors@1.4.0: + resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} + engines: {node: '>=0.1.90'} + commander@12.1.0: resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} engines: {node: '>=18'} @@ -2542,6 +2553,14 @@ packages: supports-color: optional: true + debug@3.1.0: + resolution: {integrity: sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + debug@3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: @@ -3124,6 +3143,10 @@ packages: flow-enums-runtime@0.0.6: resolution: {integrity: sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==} + follow-redirects@1.5.10: + resolution: {integrity: sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==} + engines: {node: '>=4.0'} + fontfaceobserver@2.3.0: resolution: {integrity: sha512-6FPvD/IVyT4ZlNe7Wcn5Fb/4ChigpucKYSvD6a+0iMoLn2inpo711eyIcKjmDtE5XNcgAkSH9uN/nfAeZzHEfg==} @@ -3270,6 +3293,9 @@ packages: hyphenate-style-name@1.1.0: resolution: {integrity: sha512-WDC/ui2VVRrz3jOVi+XtjqkDjiVjTtFaAGiW37k6b+ohyQ5wYDOGkvCZa8+H0nx3gyvv0+BST9xuOgIyGQ00gw==} + iconfont-parser@1.0.0: + resolution: {integrity: sha512-3RJceYHEjaqYyeDdfSAb1vP1x1Eb7ZtC9Xwetj+axm85sBlJU7HMvdNLVpwm/3g5eghYOdkQK+epUITZGAIqKQ==} + ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} @@ -3551,48 +3577,56 @@ packages: engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] + libc: [glibc] lightningcss-linux-arm64-gnu@1.30.2: resolution: {integrity: sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] + libc: [glibc] lightningcss-linux-arm64-musl@1.27.0: resolution: {integrity: sha512-rCGBm2ax7kQ9pBSeITfCW9XSVF69VX+fm5DIpvDZQl4NnQoMQyRwhZQm9pd59m8leZ1IesRqWk2v/DntMo26lg==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] + libc: [musl] lightningcss-linux-arm64-musl@1.30.2: resolution: {integrity: sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==} engines: {node: '>= 12.0.0'} cpu: [arm64] os: [linux] + libc: [musl] lightningcss-linux-x64-gnu@1.27.0: resolution: {integrity: sha512-Dk/jovSI7qqhJDiUibvaikNKI2x6kWPN79AQiD/E/KeQWMjdGe9kw51RAgoWFDi0coP4jinaH14Nrt/J8z3U4A==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] + libc: [glibc] lightningcss-linux-x64-gnu@1.30.2: resolution: {integrity: sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] + libc: [glibc] lightningcss-linux-x64-musl@1.27.0: resolution: {integrity: sha512-QKjTxXm8A9s6v9Tg3Fk0gscCQA1t/HMoF7Woy1u68wCk5kS4fR+q3vXa1p3++REW784cRAtkYKrPy6JKibrEZA==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] + libc: [musl] lightningcss-linux-x64-musl@1.30.2: resolution: {integrity: sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==} engines: {node: '>= 12.0.0'} cpu: [x64] os: [linux] + libc: [musl] lightningcss-win32-arm64-msvc@1.27.0: resolution: {integrity: sha512-/wXegPS1hnhkeG4OXQKEMQeJd48RDC3qdh+OA8pCuOPCyvnm/yEayrJdJVqzBsqpy1aJklRCVxscpFur80o6iQ==} @@ -3674,10 +3708,10 @@ packages: lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - lucide-react-native@0.552.0: - resolution: {integrity: sha512-PWTUYyljcpHNql46wbaFk5lm0fdKg+2TnfsN/1KyuWw9McNNWZKkEqhz1k2n7wO/ZWB7jkM8QJCkZZT/SuQykw==} + lucide-react-native@0.510.0: + resolution: {integrity: sha512-Ggy6NyWNcb/Wp9I0Kguwab5FRjr3GYsxNi0Nmy+skur1yj9TKiF2vcXPL7zWkkcgqk8WWKiIvmN3CntWvaDR1w==} peerDependencies: - react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react: ^16.5.1 || ^17.0.0 || ^18.0.0 react-native: '*' react-native-svg: ^12.0.0 || ^13.0.0 || ^14.0.0 || ^15.0.0 @@ -3995,6 +4029,10 @@ packages: resolution: {integrity: sha512-KZxYo1BUkWD2TVFLr0MQoM8vUUigWD3LlD83a/75BqC+4qE0Hb1Vo5v1FgcfaNXvfXzr+5EhQ6ing/CaBijTlw==} engines: {node: '>= 18'} + mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} @@ -4406,6 +4444,14 @@ packages: react: '*' react-native: '*' + react-native-iconfont-cli@2.2.4: + resolution: {integrity: sha512-qTjfHG2f/sc3/YKWZJvIJk/SwiTu8C9/SvtoLxRX+GM/6pvOJq0ge6rcV3vTh4s3QJDuNDOD6+a4hGD6vv2vSg==} + hasBin: true + peerDependencies: + react: '*' + react-native: '*' + react-native-svg: '>=9.7.0' + react-native-is-edge-to-edge@1.2.1: resolution: {integrity: sha512-FLbPWl/MyYQWz+KwqOZsSyj2JmLKglHatd3xLZWskXOpRaio4LfEDEz8E/A6uD8QoTHW6Aobw1jbEwK7KMgR7Q==} peerDependencies: @@ -4432,8 +4478,8 @@ packages: react: '*' react-native: '*' - react-native-svg@15.12.1: - resolution: {integrity: sha512-vCuZJDf8a5aNC2dlMovEv4Z0jjEUET53lm/iILFnFewa15b4atjVxU6Wirm6O9y6dEsdjDZVD7Q3QM4T1wlI8g==} + react-native-svg@15.12.0: + resolution: {integrity: sha512-iE25PxIJ6V0C6krReLquVw6R0QTsRTmEQc4K2Co3P6zsimU/jltcDBKYDy1h/5j9S/fqmMeXnpM+9LEWKJKI6A==} peerDependencies: react: '*' react-native: '*' @@ -4927,6 +4973,9 @@ packages: ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + tslib@1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} @@ -5174,6 +5223,10 @@ packages: resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} engines: {node: '>=12'} + xml2js@0.4.23: + resolution: {integrity: sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==} + engines: {node: '>=4.0.0'} + xml2js@0.6.0: resolution: {integrity: sha512-eLTh0kA8uHceqesPqSE+VvO1CDDJWMwlQfB6LuN6T8w6MaDJ8Txm8P7s5cHD0miF0V+GGTZrDQfxPZQVsur33w==} engines: {node: '>=4.0.0'} @@ -6360,13 +6413,13 @@ snapshots: dependencies: tslib: 2.8.1 - '@gluestack-ui/core@3.0.12(@gluestack-ui/utils@3.0.11(react-dom@19.2.0(react@19.1.0))(react-native-web@0.21.2(react-dom@19.2.0(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)(tailwindcss@3.4.18(yaml@2.8.1)))(react-native-safe-area-context@5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-svg@15.12.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-web@0.21.2(react-dom@19.2.0(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)': + '@gluestack-ui/core@3.0.12(@gluestack-ui/utils@3.0.11(react-dom@19.2.0(react@19.1.0))(react-native-web@0.21.2(react-dom@19.2.0(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)(tailwindcss@3.4.18(yaml@2.8.1)))(react-native-safe-area-context@5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-svg@15.12.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-web@0.21.2(react-dom@19.2.0(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)': dependencies: '@gluestack-ui/utils': 3.0.11(react-dom@19.2.0(react@19.1.0))(react-native-web@0.21.2(react-dom@19.2.0(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)(tailwindcss@3.4.18(yaml@2.8.1)) react: 19.1.0 react-native: 0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0) react-native-safe-area-context: 5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) - react-native-svg: 15.12.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) + react-native-svg: 15.12.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) react-native-web: 0.21.2(react-dom@19.2.0(react@19.1.0))(react@19.1.0) '@gluestack-ui/utils@3.0.11(react-dom@19.2.0(react@19.1.0))(react-native-web@0.21.2(react-dom@19.2.0(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)(tailwindcss@3.4.18(yaml@2.8.1))': @@ -6517,10 +6570,10 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.5 - '@legendapp/motion@2.4.0(nativewind@4.2.1(react-native-reanimated@4.1.3(@babel/core@7.28.5)(react-native-worklets@0.5.2(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-svg@15.12.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)(tailwindcss@3.4.18(yaml@2.8.1)))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)': + '@legendapp/motion@2.4.0(nativewind@4.2.1(react-native-reanimated@4.1.3(@babel/core@7.28.5)(react-native-worklets@0.5.2(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-svg@15.12.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)(tailwindcss@3.4.18(yaml@2.8.1)))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)': dependencies: '@legendapp/tools': 2.0.1(react@19.1.0) - nativewind: 4.2.1(react-native-reanimated@4.1.3(@babel/core@7.28.5)(react-native-worklets@0.5.2(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-svg@15.12.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)(tailwindcss@3.4.18(yaml@2.8.1)) + nativewind: 4.2.1(react-native-reanimated@4.1.3(@babel/core@7.28.5)(react-native-worklets@0.5.2(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-svg@15.12.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)(tailwindcss@3.4.18(yaml@2.8.1)) react: 19.1.0 react-native: 0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0) @@ -8212,6 +8265,12 @@ snapshots: async-limiter@1.0.1: {} + axios@0.19.2: + dependencies: + follow-redirects: 1.5.10 + transitivePeerDependencies: + - supports-color + babel-jest@29.7.0(@babel/core@7.28.5): dependencies: '@babel/core': 7.28.5 @@ -8516,6 +8575,8 @@ snapshots: color-convert: 2.0.1 color-string: 1.9.1 + colors@1.4.0: {} + commander@12.1.0: {} commander@2.20.3: {} @@ -8612,6 +8673,10 @@ snapshots: dependencies: ms: 2.0.0 + debug@3.1.0: + dependencies: + ms: 2.0.0 + debug@3.2.7: dependencies: ms: 2.1.3 @@ -9271,6 +9336,12 @@ snapshots: flow-enums-runtime@0.0.6: {} + follow-redirects@1.5.10: + dependencies: + debug: 3.1.0 + transitivePeerDependencies: + - supports-color + fontfaceobserver@2.3.0: {} foreground-child@3.3.1: @@ -9402,6 +9473,15 @@ snapshots: hyphenate-style-name@1.1.0: {} + iconfont-parser@1.0.0: + dependencies: + axios: 0.19.2 + colors: 1.4.0 + tslib: 1.14.1 + xml2js: 0.4.23 + transitivePeerDependencies: + - supports-color + ieee754@1.2.1: {} ignore@5.3.2: {} @@ -9773,11 +9853,11 @@ snapshots: dependencies: yallist: 3.1.1 - lucide-react-native@0.552.0(react-native-svg@15.12.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0): + lucide-react-native@0.510.0(react-native-svg@15.12.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0): dependencies: react: 19.1.0 react-native: 0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0) - react-native-svg: 15.12.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) + react-native-svg: 15.12.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) magic-string@0.30.21: dependencies: @@ -10499,6 +10579,10 @@ snapshots: dependencies: minipass: 7.1.2 + mkdirp@0.5.6: + dependencies: + minimist: 1.2.8 + mkdirp@1.0.4: {} mlly@1.8.0: @@ -10520,11 +10604,11 @@ snapshots: nanoid@3.3.11: {} - nativewind@4.2.1(react-native-reanimated@4.1.3(@babel/core@7.28.5)(react-native-worklets@0.5.2(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-svg@15.12.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)(tailwindcss@3.4.18(yaml@2.8.1)): + nativewind@4.2.1(react-native-reanimated@4.1.3(@babel/core@7.28.5)(react-native-worklets@0.5.2(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-svg@15.12.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)(tailwindcss@3.4.18(yaml@2.8.1)): dependencies: comment-json: 4.4.1 debug: 4.4.3 - react-native-css-interop: 0.2.1(react-native-reanimated@4.1.3(@babel/core@7.28.5)(react-native-worklets@0.5.2(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-svg@15.12.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)(tailwindcss@3.4.18(yaml@2.8.1)) + react-native-css-interop: 0.2.1(react-native-reanimated@4.1.3(@babel/core@7.28.5)(react-native-worklets@0.5.2(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-svg@15.12.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)(tailwindcss@3.4.18(yaml@2.8.1)) tailwindcss: 3.4.18(yaml@2.8.1) transitivePeerDependencies: - react @@ -10894,7 +10978,7 @@ snapshots: react-is@19.2.0: {} - react-native-css-interop@0.2.1(react-native-reanimated@4.1.3(@babel/core@7.28.5)(react-native-worklets@0.5.2(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-svg@15.12.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)(tailwindcss@3.4.18(yaml@2.8.1)): + react-native-css-interop@0.2.1(react-native-reanimated@4.1.3(@babel/core@7.28.5)(react-native-worklets@0.5.2(@babel/core@7.28.5)(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-safe-area-context@5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native-svg@15.12.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0)(tailwindcss@3.4.18(yaml@2.8.1)): dependencies: '@babel/helper-module-imports': 7.27.1 '@babel/traverse': 7.28.5 @@ -10908,7 +10992,7 @@ snapshots: tailwindcss: 3.4.18(yaml@2.8.1) optionalDependencies: react-native-safe-area-context: 5.6.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) - react-native-svg: 15.12.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) + react-native-svg: 15.12.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) transitivePeerDependencies: - supports-color @@ -10920,6 +11004,21 @@ snapshots: react: 19.1.0 react-native: 0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0) + react-native-iconfont-cli@2.2.4(react-native-svg@15.12.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0))(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0): + dependencies: + colors: 1.4.0 + glob: 7.2.3 + iconfont-parser: 1.0.0 + lodash: 4.17.21 + minimist: 1.2.8 + mkdirp: 0.5.6 + react: 19.1.0 + react-native: 0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0) + react-native-svg: 15.12.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) + tslib: 1.14.1 + transitivePeerDependencies: + - supports-color + react-native-is-edge-to-edge@1.2.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0): dependencies: react: 19.1.0 @@ -10947,7 +11046,7 @@ snapshots: react-native-is-edge-to-edge: 1.2.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0) warn-once: 0.1.1 - react-native-svg@15.12.1(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0): + react-native-svg@15.12.0(react-native@0.81.5(@babel/core@7.28.5)(@types/react@19.1.17)(react@19.1.0))(react@19.1.0): dependencies: css-select: 5.2.2 css-tree: 1.1.3 @@ -11518,6 +11617,8 @@ snapshots: ts-interface-checker@0.1.13: {} + tslib@1.14.1: {} + tslib@2.8.1: {} type-check@0.4.0: @@ -11713,6 +11814,11 @@ snapshots: xml-name-validator@4.0.0: {} + xml2js@0.4.23: + dependencies: + sax: 1.4.1 + xmlbuilder: 11.0.1 + xml2js@0.6.0: dependencies: sax: 1.4.1 diff --git a/code/base-project/base-app/src/app/(tabs)/_layout.tsx b/code/base-project/base-app/src/app/(tabs)/_layout.tsx index d48dbc44..759ce90d 100644 --- a/code/base-project/base-app/src/app/(tabs)/_layout.tsx +++ b/code/base-project/base-app/src/app/(tabs)/_layout.tsx @@ -1,5 +1,5 @@ -import type { TabbarItem } from '@/components/custom/tabbar' -import CustomTabbar from '@/components/custom/tabbar' +import type { TabbarItem } from '@/components/custom/Tabbar' +import CustomTabbar from '@/components/custom/Tabbar' import { useToast } from '@/utils/toast' export default function TabsLayout() { diff --git a/code/base-project/base-app/src/app/+not-found.tsx b/code/base-project/base-app/src/app/+not-found.tsx index e99a3c70..1a0539f1 100644 --- a/code/base-project/base-app/src/app/+not-found.tsx +++ b/code/base-project/base-app/src/app/+not-found.tsx @@ -1,6 +1,6 @@ import { router, Stack } from 'expo-router' import { ArrowLeft } from 'lucide-react-native' -import { EmptyState } from '@/components/common/empty-status' +import { EmptyState } from '@/components/common/EmptyStatus' export default function NotFound() { return ( diff --git a/code/base-project/base-app/src/app/_layout.tsx b/code/base-project/base-app/src/app/_layout.tsx index 7b26423f..a9eb8566 100644 --- a/code/base-project/base-app/src/app/_layout.tsx +++ b/code/base-project/base-app/src/app/_layout.tsx @@ -6,7 +6,7 @@ import * as SplashScreen from 'expo-splash-screen' import { StatusBar } from 'expo-status-bar' import { RefreshCw } from 'lucide-react-native' import { useEffect, useState } from 'react' -import { EmptyState } from '@/components/common/empty-status' +import EmptyState from '@/components/common/EmptyStatus' import { GluestackUIProvider } from '@/components/ui/gluestack-ui-provider' import { useUserStore } from '@/store/user' import { ToastProviderWrapper } from '@/utils/toast' @@ -56,7 +56,7 @@ export default function RootLayout() { // 如果没有 token,则跳转登录页 if (token === null) { - // router.replace('/auth/login') + router.replace('/auth') } } }, [fontsLoaded, storeLoaded, token]) @@ -81,7 +81,7 @@ export default function RootLayout() { options={{ headerShown: false }} /> + + + ) +} diff --git a/code/base-project/base-app/src/app/auth/index.tsx b/code/base-project/base-app/src/app/auth/index.tsx new file mode 100644 index 00000000..b63cf3e8 --- /dev/null +++ b/code/base-project/base-app/src/app/auth/index.tsx @@ -0,0 +1,42 @@ +import { useRouter } from 'expo-router' +import { Image, Text, View } from 'react-native' +import { Button, ButtonText } from '@/components/ui/button' + +export default function AuthIndex() { + const router = useRouter() + + function toPath(url: string) { + router.push(url) + } + + return ( + + + + + + + ONEAO + + + + + + + + + ) +} diff --git a/code/base-project/base-app/src/app/auth/login.tsx b/code/base-project/base-app/src/app/auth/login.tsx index 987313e3..3d2fef7e 100644 --- a/code/base-project/base-app/src/app/auth/login.tsx +++ b/code/base-project/base-app/src/app/auth/login.tsx @@ -1,12 +1,141 @@ -import { Text, View } from 'react-native' -import CustomLayout from '@/components/custom/layout' +import { Lock, UserRound } from 'lucide-react-native' +import { useState } from 'react' +import { Image, Text, View } from 'react-native' +import { IconQq, IconWeixin, IconZhiwen } from '@/components/iconfont' +import { Button, ButtonText } from '@/components/ui/button' +import { + Checkbox, + CheckboxIcon, + CheckboxIndicator, + CheckboxLabel, +} from '@/components/ui/checkbox' +import { Divider } from '@/components/ui/divider' +import { + FormControl, + FormControlLabel, + FormControlLabelText, +} from '@/components/ui/form-control' +import { CheckIcon, EyeIcon, EyeOffIcon } from '@/components/ui/icon' +import { Input, InputField, InputIcon, InputSlot } from '@/components/ui/input' +import { useToast } from '@/utils/toast' + +interface LoginForm { + username: string + password: string + rememberMe?: boolean + socialType?: 'qq' | 'weixin' | 'fingerprint' +} export default function AuthLogin() { + const toast = useToast() + + const [showPassword, setShowPassword] = useState(false) + const [form, setForm] = useState({ + username: '', + password: '', + rememberMe: true, + }) + + const defaultLogin = () => { + if (form.username === '') { + toast.show({ + title: '账号不能为空!', + action: 'error', + }) + return + } + if (form.password === '') { + toast.show({ + title: '密码不能为空!', + action: 'error', + }) + } + // + } + return ( - - - 登录 + + + + + + + 账号 + + + + + + setForm(prev => ({ ...prev, username: text }))} + /> + + + + + + 密码 + + + + + + setForm(prev => ({ ...prev, password: text }))} + /> + setShowPassword(prev => !prev)}> + + + + + + + + setForm(prev => ({ ...prev, rememberMe: checked }))} + > + + + + 记住我 + + + + 忘记密码? + - + + + + + + + + + 社交账号 + + + + + + + + + + + + + ) } diff --git a/code/base-project/base-app/src/app/auth/register.tsx b/code/base-project/base-app/src/app/auth/register.tsx new file mode 100644 index 00000000..bc864bfa --- /dev/null +++ b/code/base-project/base-app/src/app/auth/register.tsx @@ -0,0 +1,10 @@ +import { Text, View } from 'react-native' + +export default function Register() { + return ( + + 测试内容 + + + ) +} diff --git a/code/base-project/base-app/src/components/common/empty-status.tsx b/code/base-project/base-app/src/components/common/EmptyStatus.tsx similarity index 96% rename from code/base-project/base-app/src/components/common/empty-status.tsx rename to code/base-project/base-app/src/components/common/EmptyStatus.tsx index 707633ce..dfedd3e7 100644 --- a/code/base-project/base-app/src/components/common/empty-status.tsx +++ b/code/base-project/base-app/src/components/common/EmptyStatus.tsx @@ -10,7 +10,7 @@ interface EmptyStateProps { onButtonPress: () => void } -export function EmptyState({ +export default function EmptyState({ image, title, description, diff --git a/code/base-project/base-app/src/components/custom/StepLayout.tsx b/code/base-project/base-app/src/components/custom/StepLayout.tsx new file mode 100644 index 00000000..7883d388 --- /dev/null +++ b/code/base-project/base-app/src/components/custom/StepLayout.tsx @@ -0,0 +1,79 @@ +import { Ionicons } from '@expo/vector-icons' +import { usePathname, useRouter } from 'expo-router' +import { Image, Pressable, ScrollView, Text, View } from 'react-native' +import Animated, { SlideInRight } from 'react-native-reanimated' +import { SafeAreaView } from 'react-native-safe-area-context' + +export interface StepLayoutItem { + path: string // 步骤路径 + title?: string // 步骤标题 + onBack?: () => void // 可选的返回按钮回调 + showHearder?: boolean // 是否显示 header,单独放在每个步骤中 + headerRight?: React.ReactNode +} + +interface StepLayoutProps { + steps: StepLayoutItem[] // 步骤列表 + children: React.ReactNode // 子内容 + showHearder?: boolean // 控制整体 header 是否显示 +} + +export default function StepLayout({ steps, children, showHearder = true }: StepLayoutProps) { + const router = useRouter() + const pathname = usePathname() + + // 是否能返回 + const canGoBack = router.canGoBack() + + // 当前步骤 + const currentStep = steps.find(step => step.path === pathname) ?? steps[0] + + // 是否显示header + const headerVisible = showHearder !== false && currentStep.showHearder !== false + + return ( + + + {headerVisible && ( + + router.back())) : undefined} + style={{ opacity: canGoBack ? 1 : 0 }} + > + + + + + {currentStep.title} + + + + {currentStep.headerRight ?? ( + + )} + + + )} + + + {children} + + + + + ) +} diff --git a/code/base-project/base-app/src/components/custom/layout.tsx b/code/base-project/base-app/src/components/custom/layout.tsx deleted file mode 100644 index 4c007115..00000000 --- a/code/base-project/base-app/src/components/custom/layout.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import { useRouter } from 'expo-router' -// components/Layout.tsx -import { Pressable, Text, View } from 'react-native' -import { SafeAreaView } from 'react-native-safe-area-context' - -interface LayoutProps { - title: string - children: React.ReactNode - showBack?: boolean - right?: React.ReactNode -} - -export default function CustomLayout({ title, children, showBack = true, right }: LayoutProps) { - const router = useRouter() - - return ( - - {children} - - ) -} diff --git a/code/base-project/base-app/src/components/custom/tabbar.tsx b/code/base-project/base-app/src/components/custom/tabbar.tsx index 313a8e21..e189fe36 100644 --- a/code/base-project/base-app/src/components/custom/tabbar.tsx +++ b/code/base-project/base-app/src/components/custom/tabbar.tsx @@ -4,7 +4,7 @@ import { icons } from 'lucide-react-native' import { useEffect, useState } from 'react' import { Pressable, View } from 'react-native' import { Gesture, GestureDetector, GestureHandlerRootView } from 'react-native-gesture-handler' -import Animated, { SlideInLeft, SlideInRight, SlideOutLeft, SlideOutRight, useAnimatedStyle, useSharedValue, withSequence, withTiming } from 'react-native-reanimated' +import Animated, { SlideInLeft, SlideInRight, useAnimatedStyle, useSharedValue, withSequence, withTiming } from 'react-native-reanimated' import { scheduleOnRN } from 'react-native-worklets' interface AppTabbarProps { diff --git a/code/base-project/base-app/src/components/iconfont/IconQq.tsx b/code/base-project/base-app/src/components/iconfont/IconQq.tsx new file mode 100644 index 00000000..9ddae151 --- /dev/null +++ b/code/base-project/base-app/src/components/iconfont/IconQq.tsx @@ -0,0 +1,69 @@ +/* eslint-disable */ +/* tslint:disable */ + +import React from 'react'; +import type { FunctionComponent } from 'react'; +import type { ViewProps } from 'react-native'; +import { Svg, GProps, Path } from 'react-native-svg'; +import { getIconColor } from './helper'; + +// ✅ 关键改动:排除 GProps.color +interface Props extends Omit, ViewProps { + size?: number; + color?: string | string[]; +} + +const IconQq: FunctionComponent = ({ + size = 18, + color, + ...rest +}) => { + return ( + + + + + + + + + + + + + + + ); +}; + +export default React.memo(IconQq); diff --git a/code/base-project/base-app/src/components/iconfont/IconWeixin.tsx b/code/base-project/base-app/src/components/iconfont/IconWeixin.tsx new file mode 100644 index 00000000..c5ad2318 --- /dev/null +++ b/code/base-project/base-app/src/components/iconfont/IconWeixin.tsx @@ -0,0 +1,37 @@ +/* eslint-disable */ +/* tslint:disable */ + +import React from 'react'; +import type { FunctionComponent } from 'react'; +import type { ViewProps } from 'react-native'; +import { Svg, GProps, Path } from 'react-native-svg'; +import { getIconColor } from './helper'; + +// ✅ 关键改动:排除 GProps.color +interface Props extends Omit, ViewProps { + size?: number; + color?: string | string[]; +} + +const IconWeixin: FunctionComponent = ({ + size = 18, + color, + ...rest +}) => { + return ( + + + + + + + ); +}; + +export default React.memo(IconWeixin); diff --git a/code/base-project/base-app/src/components/iconfont/IconZhiwen.tsx b/code/base-project/base-app/src/components/iconfont/IconZhiwen.tsx new file mode 100644 index 00000000..6a47ab8a --- /dev/null +++ b/code/base-project/base-app/src/components/iconfont/IconZhiwen.tsx @@ -0,0 +1,45 @@ +/* eslint-disable */ +/* tslint:disable */ + +import React from 'react'; +import type { FunctionComponent } from 'react'; +import type { ViewProps } from 'react-native'; +import { Svg, GProps, Path } from 'react-native-svg'; +import { getIconColor } from './helper'; + +// ✅ 关键改动:排除 GProps.color +interface Props extends Omit, ViewProps { + size?: number; + color?: string | string[]; +} + +const IconZhiwen: FunctionComponent = ({ + size = 18, + color, + ...rest +}) => { + return ( + + + + + + + + + ); +}; + +export default React.memo(IconZhiwen); diff --git a/code/base-project/base-app/src/components/iconfont/helper.ts b/code/base-project/base-app/src/components/iconfont/helper.ts new file mode 100644 index 00000000..60d6d713 --- /dev/null +++ b/code/base-project/base-app/src/components/iconfont/helper.ts @@ -0,0 +1,12 @@ +/* tslint:disable */ +/* eslint-disable */ + +export const getIconColor = (color: string | string[] | undefined, index: number, defaultColor: string) => { + return color + ? ( + typeof color === 'string' + ? color + : color[index] || defaultColor + ) + : defaultColor; +}; diff --git a/code/base-project/base-app/src/components/iconfont/index.tsx b/code/base-project/base-app/src/components/iconfont/index.tsx new file mode 100644 index 00000000..e3452bdc --- /dev/null +++ b/code/base-project/base-app/src/components/iconfont/index.tsx @@ -0,0 +1,37 @@ +/* tslint:disable */ +/* eslint-disable */ + +import React, { FunctionComponent } from 'react'; +import { ViewProps } from 'react-native'; +import { GProps } from 'react-native-svg'; +import IconWeixin from './IconWeixin'; +import IconZhiwen from './IconZhiwen'; +import IconQq from './IconQq'; +export { default as IconWeixin } from './IconWeixin'; +export { default as IconZhiwen } from './IconZhiwen'; +export { default as IconQq } from './IconQq'; + +export type IconNames = 'weixin' | 'zhiwen' | 'QQ'; + +interface Props extends GProps, ViewProps { + name: IconNames; + size?: number; + color?: string | string[]; +} + +let IconFont: FunctionComponent = ({ name, ...rest }) => { + switch (name) { + case 'weixin': + return ; + case 'zhiwen': + return ; + case 'QQ': + return ; + } + + return null; +}; + +IconFont = React.memo ? React.memo(IconFont) : IconFont; + +export default IconFont; diff --git a/code/base-project/base-app/src/components/ui/checkbox/index.tsx b/code/base-project/base-app/src/components/ui/checkbox/index.tsx new file mode 100644 index 00000000..a6bbcab8 --- /dev/null +++ b/code/base-project/base-app/src/components/ui/checkbox/index.tsx @@ -0,0 +1,242 @@ +'use client'; +import React from 'react'; +import { createCheckbox } from '@gluestack-ui/core/checkbox/creator'; +import { View, Pressable, Text, Platform } from 'react-native'; +import type { TextProps, ViewProps } from 'react-native'; +import { tva } from '@gluestack-ui/utils/nativewind-utils'; +import { + PrimitiveIcon, + IPrimitiveIcon, + UIIcon, +} from '@gluestack-ui/core/icon/creator'; +import { + withStyleContext, + useStyleContext, +} from '@gluestack-ui/utils/nativewind-utils'; +import { cssInterop } from 'nativewind'; +import type { VariantProps } from '@gluestack-ui/utils/nativewind-utils'; + +const IndicatorWrapper = React.forwardRef< + React.ComponentRef, + ViewProps +>(function IndicatorWrapper({ ...props }, ref) { + return ; +}); + +const LabelWrapper = React.forwardRef< + React.ComponentRef, + TextProps +>(function LabelWrapper({ ...props }, ref) { + return ; +}); + +const IconWrapper = React.forwardRef< + React.ComponentRef, + IPrimitiveIcon +>(function IconWrapper({ ...props }, ref) { + return ; +}); + +const SCOPE = 'CHECKBOX'; +const UICheckbox = createCheckbox({ + // @ts-expect-error : internal implementation for r-19/react-native-web + Root: + Platform.OS === 'web' + ? withStyleContext(View, SCOPE) + : withStyleContext(Pressable, SCOPE), + Group: View, + Icon: IconWrapper, + Label: LabelWrapper, + Indicator: IndicatorWrapper, +}); + +cssInterop(PrimitiveIcon, { + className: { + target: 'style', + nativeStyleToProp: { + height: true, + width: true, + fill: true, + color: 'classNameColor', + stroke: true, + }, + }, +}); + +const checkboxStyle = tva({ + base: 'group/checkbox flex-row items-center justify-start web:cursor-pointer data-[disabled=true]:cursor-not-allowed', + variants: { + size: { + lg: 'gap-2', + md: 'gap-2', + sm: 'gap-1.5', + }, + }, +}); + +const checkboxIndicatorStyle = tva({ + base: 'justify-center items-center border-outline-400 bg-transparent rounded web:data-[focus-visible=true]:outline-none web:data-[focus-visible=true]:ring-2 web:data-[focus-visible=true]:ring-indicator-primary data-[checked=true]:bg-primary-600 data-[checked=true]:border-primary-600 data-[hover=true]:data-[checked=false]:border-outline-500 data-[hover=true]:bg-transparent data-[hover=true]:data-[invalid=true]:border-error-700 data-[hover=true]:data-[checked=true]:bg-primary-700 data-[hover=true]:data-[checked=true]:border-primary-700 data-[hover=true]:data-[checked=true]:data-[disabled=true]:border-primary-600 data-[hover=true]:data-[checked=true]:data-[disabled=true]:bg-primary-600 data-[hover=true]:data-[checked=true]:data-[disabled=true]:opacity-40 data-[hover=true]:data-[checked=true]:data-[disabled=true]:data-[invalid=true]:border-error-700 data-[hover=true]:data-[disabled=true]:border-outline-400 data-[hover=true]:data-[disabled=true]:data-[invalid=true]:border-error-700 data-[active=true]:data-[checked=true]:bg-primary-800 data-[active=true]:data-[checked=true]:border-primary-800 data-[invalid=true]:border-error-700 data-[disabled=true]:opacity-40', + parentVariants: { + size: { + lg: 'w-6 h-6 border-[3px]', + md: 'w-5 h-5 border-2', + sm: 'w-4 h-4 border-2', + }, + }, +}); + +const checkboxLabelStyle = tva({ + base: 'text-typography-600 data-[checked=true]:text-typography-900 data-[hover=true]:text-typography-900 data-[hover=true]:data-[checked=true]:text-typography-900 data-[hover=true]:data-[checked=true]:data-[disabled=true]:text-typography-900 data-[hover=true]:data-[disabled=true]:text-typography-400 data-[active=true]:text-typography-900 data-[active=true]:data-[checked=true]:text-typography-900 data-[disabled=true]:opacity-40 web:select-none', + parentVariants: { + size: { + lg: 'text-lg', + md: 'text-base', + sm: 'text-sm', + }, + }, +}); + +const checkboxIconStyle = tva({ + base: 'text-typography-50 fill-none', + + parentVariants: { + size: { + sm: 'h-3 w-3', + md: 'h-4 w-4', + lg: 'h-5 w-5', + }, + }, +}); + +const CheckboxGroup = UICheckbox.Group; + +type ICheckboxProps = React.ComponentPropsWithoutRef & + VariantProps; + +const Checkbox = React.forwardRef< + React.ComponentRef, + ICheckboxProps +>(function Checkbox({ className, size = 'md', ...props }, ref) { + return ( + + ); +}); + +type ICheckboxIndicatorProps = React.ComponentPropsWithoutRef< + typeof UICheckbox.Indicator +> & + VariantProps; + +const CheckboxIndicator = React.forwardRef< + React.ComponentRef, + ICheckboxIndicatorProps +>(function CheckboxIndicator({ className, ...props }, ref) { + const { size: parentSize } = useStyleContext(SCOPE); + + return ( + + ); +}); + +type ICheckboxLabelProps = React.ComponentPropsWithoutRef< + typeof UICheckbox.Label +> & + VariantProps; +const CheckboxLabel = React.forwardRef< + React.ComponentRef, + ICheckboxLabelProps +>(function CheckboxLabel({ className, ...props }, ref) { + const { size: parentSize } = useStyleContext(SCOPE); + return ( + + ); +}); + +type ICheckboxIconProps = React.ComponentPropsWithoutRef< + typeof UICheckbox.Icon +> & + VariantProps; + +const CheckboxIcon = React.forwardRef< + React.ComponentRef, + ICheckboxIconProps +>(function CheckboxIcon({ className, size, ...props }, ref) { + const { size: parentSize } = useStyleContext(SCOPE); + + if (typeof size === 'number') { + return ( + + ); + } else if ( + (props.height !== undefined || props.width !== undefined) && + size === undefined + ) { + return ( + + ); + } + + return ( + + ); +}); + +Checkbox.displayName = 'Checkbox'; +CheckboxIndicator.displayName = 'CheckboxIndicator'; +CheckboxLabel.displayName = 'CheckboxLabel'; +CheckboxIcon.displayName = 'CheckboxIcon'; + +export { + Checkbox, + CheckboxIndicator, + CheckboxLabel, + CheckboxIcon, + CheckboxGroup, +}; diff --git a/code/base-project/base-app/src/components/ui/divider/index.tsx b/code/base-project/base-app/src/components/ui/divider/index.tsx new file mode 100644 index 00000000..f8a73063 --- /dev/null +++ b/code/base-project/base-app/src/components/ui/divider/index.tsx @@ -0,0 +1,40 @@ +'use client'; +import React from 'react'; +import { tva } from '@gluestack-ui/utils/nativewind-utils'; +import { Platform, View } from 'react-native'; +import type { VariantProps } from '@gluestack-ui/utils/nativewind-utils'; + +const dividerStyle = tva({ + base: 'bg-background-200', + variants: { + orientation: { + vertical: 'w-px h-full', + horizontal: 'h-px w-full', + }, + }, +}); + +type IUIDividerProps = React.ComponentPropsWithoutRef & + VariantProps; + +const Divider = React.forwardRef< + React.ComponentRef, + IUIDividerProps +>(function Divider({ className, orientation = 'horizontal', ...props }, ref) { + return ( + + ); +}); + +Divider.displayName = 'Divider'; + +export { Divider }; diff --git a/code/base-project/base-app/src/components/ui/form-control/index.tsx b/code/base-project/base-app/src/components/ui/form-control/index.tsx new file mode 100644 index 00000000..a9056b55 --- /dev/null +++ b/code/base-project/base-app/src/components/ui/form-control/index.tsx @@ -0,0 +1,468 @@ +'use client'; +import { Text, View } from 'react-native'; +import React from 'react'; +import { createFormControl } from '@gluestack-ui/core/form-control/creator'; +import { tva } from '@gluestack-ui/utils/nativewind-utils'; +import { + withStyleContext, + useStyleContext, +} from '@gluestack-ui/utils/nativewind-utils'; +import { cssInterop } from 'nativewind'; +import type { VariantProps } from '@gluestack-ui/utils/nativewind-utils'; +import { PrimitiveIcon, UIIcon } from '@gluestack-ui/core/icon/creator'; + +const SCOPE = 'FORM_CONTROL'; + +const formControlStyle = tva({ + base: 'flex flex-col', + variants: { + size: { + sm: '', + md: '', + lg: '', + }, + }, +}); + +const formControlErrorIconStyle = tva({ + base: 'text-error-700 fill-none', + variants: { + size: { + '2xs': 'h-3 w-3', + 'xs': 'h-3.5 w-3.5', + 'sm': 'h-4 w-4', + 'md': 'h-[18px] w-[18px]', + 'lg': 'h-5 w-5', + 'xl': 'h-6 w-6', + }, + }, +}); + +const formControlErrorStyle = tva({ + base: 'flex flex-row justify-start items-center mt-1 gap-1', +}); + +const formControlErrorTextStyle = tva({ + base: 'text-error-700', + variants: { + isTruncated: { + true: 'web:truncate', + }, + bold: { + true: 'font-bold', + }, + underline: { + true: 'underline', + }, + strikeThrough: { + true: 'line-through', + }, + size: { + '2xs': 'text-2xs', + 'xs': 'text-xs', + 'sm': 'text-sm', + 'md': 'text-base', + 'lg': 'text-lg', + 'xl': 'text-xl', + '2xl': 'text-2xl', + '3xl': 'text-3xl', + '4xl': 'text-4xl', + '5xl': 'text-5xl', + '6xl': 'text-6xl', + }, + sub: { + true: 'text-xs', + }, + italic: { + true: 'italic', + }, + highlight: { + true: 'bg-yellow-500', + }, + }, +}); + +const formControlHelperStyle = tva({ + base: 'flex flex-row justify-start items-center mt-1', +}); + +const formControlHelperTextStyle = tva({ + base: 'text-typography-500', + variants: { + isTruncated: { + true: 'web:truncate', + }, + bold: { + true: 'font-bold', + }, + underline: { + true: 'underline', + }, + strikeThrough: { + true: 'line-through', + }, + size: { + '2xs': 'text-2xs', + 'xs': 'text-xs', + 'sm': 'text-xs', + 'md': 'text-sm', + 'lg': 'text-base', + 'xl': 'text-xl', + '2xl': 'text-2xl', + '3xl': 'text-3xl', + '4xl': 'text-4xl', + '5xl': 'text-5xl', + '6xl': 'text-6xl', + }, + sub: { + true: 'text-xs', + }, + italic: { + true: 'italic', + }, + highlight: { + true: 'bg-yellow-500', + }, + }, +}); + +const formControlLabelStyle = tva({ + base: 'flex flex-row justify-start items-center mb-1', +}); + +const formControlLabelTextStyle = tva({ + base: 'font-medium text-typography-900', + variants: { + isTruncated: { + true: 'web:truncate', + }, + bold: { + true: 'font-bold', + }, + underline: { + true: 'underline', + }, + strikeThrough: { + true: 'line-through', + }, + size: { + '2xs': 'text-2xs', + 'xs': 'text-xs', + 'sm': 'text-sm', + 'md': 'text-base', + 'lg': 'text-lg', + 'xl': 'text-xl', + '2xl': 'text-2xl', + '3xl': 'text-3xl', + '4xl': 'text-4xl', + '5xl': 'text-5xl', + '6xl': 'text-6xl', + }, + sub: { + true: 'text-xs', + }, + italic: { + true: 'italic', + }, + highlight: { + true: 'bg-yellow-500', + }, + }, +}); + +const formControlLabelAstrickStyle = tva({ + base: 'font-medium text-typography-900', + variants: { + isTruncated: { + true: 'web:truncate', + }, + bold: { + true: 'font-bold', + }, + underline: { + true: 'underline', + }, + strikeThrough: { + true: 'line-through', + }, + size: { + '2xs': 'text-2xs', + 'xs': 'text-xs', + 'sm': 'text-sm', + 'md': 'text-base', + 'lg': 'text-lg', + 'xl': 'text-xl', + '2xl': 'text-2xl', + '3xl': 'text-3xl', + '4xl': 'text-4xl', + '5xl': 'text-5xl', + '6xl': 'text-6xl', + }, + sub: { + true: 'text-xs', + }, + italic: { + true: 'italic', + }, + highlight: { + true: 'bg-yellow-500', + }, + }, +}); + +type IFormControlLabelAstrickProps = React.ComponentPropsWithoutRef< + typeof Text +> & + VariantProps; + +const FormControlLabelAstrick = React.forwardRef< + React.ComponentRef, + IFormControlLabelAstrickProps +>(function FormControlLabelAstrick({ className, ...props }, ref) { + const { size: parentSize } = useStyleContext(SCOPE); + + return ( + + ); +}); + +export const UIFormControl = createFormControl({ + Root: withStyleContext(View, SCOPE), + Error: View, + ErrorText: Text, + ErrorIcon: UIIcon, + Label: View, + LabelText: Text, + LabelAstrick: FormControlLabelAstrick, + Helper: View, + HelperText: Text, +}); + +cssInterop(PrimitiveIcon, { + className: { + target: 'style', + nativeStyleToProp: { + height: true, + width: true, + fill: true, + color: true, + stroke: true, + }, + }, +}); + +type IFormControlProps = React.ComponentProps & + VariantProps; + +const FormControl = React.forwardRef< + React.ComponentRef, + IFormControlProps +>(function FormControl({ className, size = 'md', ...props }, ref) { + return ( + + ); +}); + +type IFormControlErrorProps = React.ComponentProps & + VariantProps; + +const FormControlError = React.forwardRef< + React.ComponentRef, + IFormControlErrorProps +>(function FormControlError({ className, ...props }, ref) { + return ( + + ); +}); + +type IFormControlErrorTextProps = React.ComponentProps< + typeof UIFormControl.Error.Text +> & + VariantProps; + +const FormControlErrorText = React.forwardRef< + React.ComponentRef, + IFormControlErrorTextProps +>(function FormControlErrorText({ className, size, ...props }, ref) { + const { size: parentSize } = useStyleContext(SCOPE); + return ( + + ); +}); + +type IFormControlErrorIconProps = React.ComponentProps< + typeof UIFormControl.Error.Icon +> & + VariantProps & { + height?: number; + width?: number; + }; + +const FormControlErrorIcon = React.forwardRef< + React.ComponentRef, + IFormControlErrorIconProps +>(function FormControlErrorIcon({ className, size, ...props }, ref) { + const { size: parentSize } = useStyleContext(SCOPE); + + if (typeof size === 'number') { + return ( + + ); + } else if ( + (props.height !== undefined || props.width !== undefined) && + size === undefined + ) { + return ( + + ); + } + return ( + + ); +}); + +type IFormControlLabelProps = React.ComponentProps & + VariantProps; + +const FormControlLabel = React.forwardRef< + React.ComponentRef, + IFormControlLabelProps +>(function FormControlLabel({ className, ...props }, ref) { + return ( + + ); +}); + +type IFormControlLabelTextProps = React.ComponentProps< + typeof UIFormControl.Label.Text +> & + VariantProps; + +const FormControlLabelText = React.forwardRef< + React.ComponentRef, + IFormControlLabelTextProps +>(function FormControlLabelText({ className, size, ...props }, ref) { + const { size: parentSize } = useStyleContext(SCOPE); + + return ( + + ); +}); + +type IFormControlHelperProps = React.ComponentProps< + typeof UIFormControl.Helper +> & + VariantProps; + +const FormControlHelper = React.forwardRef< + React.ComponentRef, + IFormControlHelperProps +>(function FormControlHelper({ className, ...props }, ref) { + return ( + + ); +}); + +type IFormControlHelperTextProps = React.ComponentProps< + typeof UIFormControl.Helper.Text +> & + VariantProps; + +const FormControlHelperText = React.forwardRef< + React.ComponentRef, + IFormControlHelperTextProps +>(function FormControlHelperText({ className, size, ...props }, ref) { + const { size: parentSize } = useStyleContext(SCOPE); + + return ( + + ); +}); + +FormControl.displayName = 'FormControl'; +FormControlError.displayName = 'FormControlError'; +FormControlErrorText.displayName = 'FormControlErrorText'; +FormControlErrorIcon.displayName = 'FormControlErrorIcon'; +FormControlLabel.displayName = 'FormControlLabel'; +FormControlLabelText.displayName = 'FormControlLabelText'; +FormControlLabelAstrick.displayName = 'FormControlLabelAstrick'; +FormControlHelper.displayName = 'FormControlHelper'; +FormControlHelperText.displayName = 'FormControlHelperText'; + +export { + FormControl, + FormControlError, + FormControlErrorText, + FormControlErrorIcon, + FormControlLabel, + FormControlLabelText, + FormControlLabelAstrick, + FormControlHelper, + FormControlHelperText, +}; \ No newline at end of file diff --git a/code/base-project/base-app/src/components/ui/icon/index.tsx b/code/base-project/base-app/src/components/ui/icon/index.tsx new file mode 100644 index 00000000..d94bfc87 --- /dev/null +++ b/code/base-project/base-app/src/components/ui/icon/index.tsx @@ -0,0 +1,1588 @@ +import React from 'react'; +import { createIcon } from '@gluestack-ui/core/icon/creator'; +import { Path } from 'react-native-svg'; +import { tva } from '@gluestack-ui/utils/nativewind-utils'; +import { cssInterop } from 'nativewind'; +import { VariantProps } from '@gluestack-ui/utils/nativewind-utils'; +import { + PrimitiveIcon, + IPrimitiveIcon, + Svg, +} from '@gluestack-ui/core/icon/creator'; + +export const UIIcon = createIcon({ + Root: PrimitiveIcon, +}) as React.ForwardRefExoticComponent< + React.ComponentPropsWithoutRef & + React.RefAttributes> +>; + +const iconStyle = tva({ + base: 'text-typography-950 fill-none pointer-events-none', + variants: { + size: { + '2xs': 'h-3 w-3', + 'xs': 'h-3.5 w-3.5', + 'sm': 'h-4 w-4', + 'md': 'h-[18px] w-[18px]', + 'lg': 'h-5 w-5', + 'xl': 'h-6 w-6', + }, + }, +}); + +cssInterop(UIIcon, { + className: { + target: 'style', + nativeStyleToProp: { + height: true, + width: true, + fill: true, + color: 'classNameColor', + stroke: true, + }, + }, +}); + +type IIConProps = IPrimitiveIcon & + VariantProps & + React.ComponentPropsWithoutRef; + +const Icon = React.forwardRef, IIConProps>( + function Icon({ size = 'md', className, ...props }, ref) { + if (typeof size === 'number') { + return ( + + ); + } else if ( + (props.height !== undefined || props.width !== undefined) && + size === undefined + ) { + return ( + + ); + } + return ( + + ); + } +); + +export { Icon }; + +type ParameterTypes = Omit[0], 'Root'>; + +const createIconUI = ({ ...props }: ParameterTypes) => { + const UIIconCreateIcon = createIcon({ + Root: Svg, + ...props, + }) as React.ForwardRefExoticComponent< + React.ComponentPropsWithoutRef & + React.RefAttributes> + >; + + return React.forwardRef>(function UIIcon( + { + className, + size, + ...inComingProps + }: VariantProps & + React.ComponentPropsWithoutRef, + ref + ) { + return ( + + ); + }); +}; +export { createIconUI as createIcon }; +// All Icons +const AddIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +AddIcon.displayName = 'AddIcon'; +export { AddIcon }; + +const AlertCircleIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + + ), +}); + +AlertCircleIcon.displayName = 'AlertCircleIcon'; +export { AlertCircleIcon }; + +const ArrowUpIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +const ArrowDownIcon = createIcon({ + Root: Svg, + + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +const ArrowRightIcon = createIcon({ + Root: Svg, + + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +const ArrowLeftIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +ArrowUpIcon.displayName = 'ArrowUpIcon'; +ArrowDownIcon.displayName = 'ArrowDownIcon'; +ArrowRightIcon.displayName = 'ArrowRightIcon'; +ArrowLeftIcon.displayName = 'ArrowLeftIcon'; + +export { ArrowUpIcon, ArrowDownIcon, ArrowRightIcon, ArrowLeftIcon }; + +const AtSignIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + <> + + + + + ), +}); + +AtSignIcon.displayName = 'AtSignIcon'; + +export { AtSignIcon }; + +const BellIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +BellIcon.displayName = 'BellIcon'; + +export { BellIcon }; + +const CalendarDaysIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + + + + + + + + + ), +}); + +CalendarDaysIcon.displayName = 'CalendarDaysIcon'; + +export { CalendarDaysIcon }; + +const CheckIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + ), +}); + +const CheckCircleIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +CheckIcon.displayName = 'CheckIcon'; +CheckCircleIcon.displayName = 'CheckCircleIcon'; + +export { CheckIcon, CheckCircleIcon }; + +const ChevronUpIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + d: 'M12 10L8 6L4 10', + path: ( + <> + + + ), +}); + +const ChevronDownIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + ), +}); + +const ChevronLeftIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + ), +}); + +const ChevronRightIcon = createIcon({ + Root: Svg, + + viewBox: '0 0 24 24', + path: ( + <> + + + ), +}); + +const ChevronsLeftIcon = createIcon({ + Root: Svg, + + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +const ChevronsRightIcon = createIcon({ + Root: Svg, + + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +const ChevronsUpDownIcon = createIcon({ + Root: Svg, + + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +ChevronUpIcon.displayName = 'ChevronUpIcon'; +ChevronDownIcon.displayName = 'ChevronDownIcon'; +ChevronLeftIcon.displayName = 'ChevronLeftIcon'; +ChevronRightIcon.displayName = 'ChevronRightIcon'; +ChevronsLeftIcon.displayName = 'ChevronsLeftIcon'; +ChevronsRightIcon.displayName = 'ChevronsRightIcon'; +ChevronsUpDownIcon.displayName = 'ChevronsUpDownIcon'; + +export { + ChevronUpIcon, + ChevronDownIcon, + ChevronLeftIcon, + ChevronRightIcon, + ChevronsLeftIcon, + ChevronsRightIcon, + ChevronsUpDownIcon, +}; + +const CircleIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + ), +}); + +CircleIcon.displayName = 'CircleIcon'; + +export { CircleIcon }; + +const ClockIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +ClockIcon.displayName = 'ClockIcon'; + +export { ClockIcon }; + +const CloseIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +const CloseCircleIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + + ), +}); + +CloseIcon.displayName = 'CloseIcon'; +CloseCircleIcon.displayName = 'CloseCircleIcon'; + +export { CloseIcon, CloseCircleIcon }; + +const CopyIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +CopyIcon.displayName = 'CopyIcon'; + +export { CopyIcon }; + +const DownloadIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + + ), +}); + +DownloadIcon.displayName = 'DownloadIcon'; +export { DownloadIcon }; + +const EditIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +EditIcon.displayName = 'EditIcon'; +export { EditIcon }; + +const EyeIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +EyeIcon.displayName = 'EyeIcon'; + +const EyeOffIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + + + ), +}); + +EyeOffIcon.displayName = 'EyeOffIcon'; +export { EyeIcon, EyeOffIcon }; + +const FavouriteIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + ), +}); + +FavouriteIcon.displayName = 'FavouriteIcon'; +export { FavouriteIcon }; + +const GlobeIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + + ), +}); + +GlobeIcon.displayName = 'GlobeIcon'; +export { GlobeIcon }; + +const GripVerticalIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + + + + + ), +}); + +GripVerticalIcon.displayName = 'GripVerticalIcon'; +export { GripVerticalIcon }; + +const HelpCircleIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + + ), +}); + +HelpCircleIcon.displayName = 'HelpCircleIcon'; +export { HelpCircleIcon }; + +const InfoIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + + ), +}); + +InfoIcon.displayName = 'InfoIcon'; +export { InfoIcon }; + +const LinkIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +LinkIcon.displayName = 'LinkIcon'; + +const ExternalLinkIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + + ), +}); + +ExternalLinkIcon.displayName = 'ExternalLinkIcon'; +export { LinkIcon, ExternalLinkIcon }; + +const LoaderIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + ), +}); + +LoaderIcon.displayName = 'LoaderIcon'; +export { LoaderIcon }; + +const LockIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +LockIcon.displayName = 'LockIcon'; +export { LockIcon }; + +const MailIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +MailIcon.displayName = 'MailIcon'; +export { MailIcon }; + +const MenuIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + + ), +}); + +MenuIcon.displayName = 'MenuIcon'; +export { MenuIcon }; + +const MessageCircleIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + ), +}); + +MessageCircleIcon.displayName = 'MessageCircleIcon'; + +export { MessageCircleIcon }; + +const MoonIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + ), +}); + +MoonIcon.displayName = 'MoonIcon'; +export { MoonIcon }; + +const PaperclipIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + ), +}); + +PaperclipIcon.displayName = 'PaperclipIcon'; +export { PaperclipIcon }; + +const PhoneIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + ), +}); + +PhoneIcon.displayName = 'PhoneIcon'; +export { PhoneIcon }; + +const PlayIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +PlayIcon.displayName = 'PlayIcon'; +export { PlayIcon }; + +const RemoveIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + ), +}); + +RemoveIcon.displayName = 'RemoveIcon'; +export { RemoveIcon }; + +const RepeatIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + + + ), +}); + +RepeatIcon.displayName = 'RepeatIcon'; + +const Repeat1Icon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + + + + ), +}); + +Repeat1Icon.displayName = 'Repeat1Icon'; +export { RepeatIcon, Repeat1Icon }; + +const SearchIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +SearchIcon.displayName = 'SearchIcon'; +export { SearchIcon }; + +const SettingsIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +SettingsIcon.displayName = 'SettingsIcon'; +export { SettingsIcon }; + +const ShareIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + + + + ), +}); + +ShareIcon.displayName = 'ShareIcon'; +export { ShareIcon }; + +const SlashIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +SlashIcon.displayName = 'SlashIcon'; +export { SlashIcon }; + +const StarIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + ), +}); + +StarIcon.displayName = 'StarIcon'; +export { StarIcon }; + +const SunIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + + + + + + + + ), +}); + +SunIcon.displayName = 'SunIcon'; +export { SunIcon }; + +const ThreeDotsIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + + ), +}); + +ThreeDotsIcon.displayName = 'ThreeDotsIcon'; +export { ThreeDotsIcon }; + +const TrashIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + + ), +}); + +TrashIcon.displayName = 'TrashIcon'; +export { TrashIcon }; + +const UnlockIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +UnlockIcon.displayName = 'UnlockIcon'; +export { UnlockIcon }; \ No newline at end of file diff --git a/code/base-project/base-app/src/components/ui/icon/index.web.tsx b/code/base-project/base-app/src/components/ui/icon/index.web.tsx new file mode 100644 index 00000000..f5bef8b5 --- /dev/null +++ b/code/base-project/base-app/src/components/ui/icon/index.web.tsx @@ -0,0 +1,1573 @@ +import React from 'react'; +import { createIcon } from '@gluestack-ui/core/icon/creator'; +import { tva } from '@gluestack-ui/utils/nativewind-utils'; +import { VariantProps } from '@gluestack-ui/utils/nativewind-utils'; +import { PrimitiveIcon, Svg } from '@gluestack-ui/core/icon/creator'; + +export const UIIcon = createIcon({ + Root: PrimitiveIcon, +}); + +const iconStyle = tva({ + base: 'text-typography-950 fill-none pointer-events-none', + variants: { + size: { + '2xs': 'h-3 w-3', + 'xs': 'h-3.5 w-3.5', + 'sm': 'h-4 w-4', + 'md': 'h-[18px] w-[18px]', + 'lg': 'h-5 w-5', + 'xl': 'h-6 w-6', + }, + }, +}); + +export const Icon = React.forwardRef< + React.ComponentRef, + React.ComponentPropsWithoutRef & + VariantProps & { + height?: number | string; + width?: number | string; + } +>(function Icon({ size = 'md', className, ...props }, ref) { + if (typeof size === 'number') { + return ( + + ); + } else if ( + (props.height !== undefined || props.width !== undefined) && + size === undefined + ) { + return ( + + ); + } + return ( + + ); +}); + +type ParameterTypes = Omit[0], 'Root'>; + +const accessClassName = (style: any) => { + const styleObject = Array.isArray(style) ? style[0] : style; + const keys = Object.keys(styleObject); + return styleObject[keys[1]]; +}; + +const createIconUI = ({ ...props }: ParameterTypes) => { + const NewUIIcon = createIcon({ Root: Svg, ...props }); + return React.forwardRef< + React.ComponentRef, + React.ComponentPropsWithoutRef & + VariantProps & { + height?: number | string; + width?: number | string; + } + >(function UIIcon({ className, ...inComingprops }, ref) { + const calculateClassName = React.useMemo(() => { + return className === undefined + ? accessClassName(inComingprops?.style) + : className; + }, [className, inComingprops?.style]); + return ( + + ); + }); +}; + +export { createIconUI as createIcon }; + +// All Icons +const AddIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +AddIcon.displayName = 'AddIcon'; +export { AddIcon }; + +const AlertCircleIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + + ), +}); + +AlertCircleIcon.displayName = 'AlertCircleIcon'; +export { AlertCircleIcon }; + +const ArrowUpIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +const ArrowDownIcon = createIcon({ + Root: Svg, + + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +const ArrowRightIcon = createIcon({ + Root: Svg, + + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +const ArrowLeftIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +ArrowUpIcon.displayName = 'ArrowUpIcon'; +ArrowDownIcon.displayName = 'ArrowDownIcon'; +ArrowRightIcon.displayName = 'ArrowRightIcon'; +ArrowLeftIcon.displayName = 'ArrowLeftIcon'; + +export { ArrowUpIcon, ArrowDownIcon, ArrowRightIcon, ArrowLeftIcon }; + +const AtSignIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + <> + + + + + ), +}); + +AtSignIcon.displayName = 'AtSignIcon'; + +export { AtSignIcon }; + +const BellIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +BellIcon.displayName = 'BellIcon'; + +export { BellIcon }; + +const CalendarDaysIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + + + + + + + + + ), +}); + +CalendarDaysIcon.displayName = 'CalendarDaysIcon'; + +export { CalendarDaysIcon }; + +const CheckIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + ), +}); + +const CheckCircleIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +CheckIcon.displayName = 'CheckIcon'; +CheckCircleIcon.displayName = 'CheckCircleIcon'; + +export { CheckIcon, CheckCircleIcon }; + +const ChevronUpIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + d: 'M12 10L8 6L4 10', + path: ( + <> + + + ), +}); + +const ChevronDownIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + ), +}); + +const ChevronLeftIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + ), +}); + +const ChevronRightIcon = createIcon({ + Root: Svg, + + viewBox: '0 0 24 24', + path: ( + <> + + + ), +}); + +const ChevronsLeftIcon = createIcon({ + Root: Svg, + + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +const ChevronsRightIcon = createIcon({ + Root: Svg, + + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +const ChevronsUpDownIcon = createIcon({ + Root: Svg, + + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +ChevronUpIcon.displayName = 'ChevronUpIcon'; +ChevronDownIcon.displayName = 'ChevronDownIcon'; +ChevronLeftIcon.displayName = 'ChevronLeftIcon'; +ChevronRightIcon.displayName = 'ChevronRightIcon'; +ChevronsLeftIcon.displayName = 'ChevronsLeftIcon'; +ChevronsRightIcon.displayName = 'ChevronsRightIcon'; +ChevronsUpDownIcon.displayName = 'ChevronsUpDownIcon'; + +export { + ChevronUpIcon, + ChevronDownIcon, + ChevronLeftIcon, + ChevronRightIcon, + ChevronsLeftIcon, + ChevronsRightIcon, + ChevronsUpDownIcon, +}; + +const CircleIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + ), +}); + +CircleIcon.displayName = 'CircleIcon'; +export { CircleIcon }; + +const ClockIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +ClockIcon.displayName = 'ClockIcon'; + +export { ClockIcon }; + +const CloseIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +const CloseCircleIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + + ), +}); + +CloseIcon.displayName = 'CloseIcon'; +CloseCircleIcon.displayName = 'CloseCircleIcon'; + +export { CloseIcon, CloseCircleIcon }; + +const CopyIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +CopyIcon.displayName = 'CopyIcon'; + +export { CopyIcon }; + +const DownloadIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + + ), +}); + +DownloadIcon.displayName = 'DownloadIcon'; +export { DownloadIcon }; + +const EditIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +EditIcon.displayName = 'EditIcon'; +export { EditIcon }; + +const EyeIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +EyeIcon.displayName = 'EyeIcon'; + +const EyeOffIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + + + ), +}); + +EyeOffIcon.displayName = 'EyeOffIcon'; +export { EyeIcon, EyeOffIcon }; + +const FavouriteIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + ), +}); + +FavouriteIcon.displayName = 'FavouriteIcon'; +export { FavouriteIcon }; + +const GlobeIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + + ), +}); + +GlobeIcon.displayName = 'GlobeIcon'; +export { GlobeIcon }; + +const GripVerticalIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + + + + + ), +}); + +GripVerticalIcon.displayName = 'GripVerticalIcon'; +export { GripVerticalIcon }; + +const HelpCircleIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + + ), +}); + +HelpCircleIcon.displayName = 'HelpCircleIcon'; +export { HelpCircleIcon }; + +const InfoIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + + ), +}); + +InfoIcon.displayName = 'InfoIcon'; +export { InfoIcon }; + +const LinkIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +LinkIcon.displayName = 'LinkIcon'; + +const ExternalLinkIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + + ), +}); + +ExternalLinkIcon.displayName = 'ExternalLinkIcon'; +export { LinkIcon, ExternalLinkIcon }; + +const LoaderIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + ), +}); + +LoaderIcon.displayName = 'LoaderIcon'; +export { LoaderIcon }; + +const LockIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +LockIcon.displayName = 'LockIcon'; +export { LockIcon }; + +const MailIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +MailIcon.displayName = 'MailIcon'; +export { MailIcon }; + +const MenuIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + + ), +}); + +MenuIcon.displayName = 'MenuIcon'; +export { MenuIcon }; + +const MessageCircleIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + ), +}); + +MessageCircleIcon.displayName = 'MessageCircleIcon'; + +export { MessageCircleIcon }; + +const MoonIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + ), +}); + +MoonIcon.displayName = 'MoonIcon'; +export { MoonIcon }; + +const PaperclipIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + ), +}); + +PaperclipIcon.displayName = 'PaperclipIcon'; +export { PaperclipIcon }; + +const PhoneIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + ), +}); + +PhoneIcon.displayName = 'PhoneIcon'; +export { PhoneIcon }; + +const PlayIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +PlayIcon.displayName = 'PlayIcon'; +export { PlayIcon }; + +const RemoveIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + ), +}); + +RemoveIcon.displayName = 'RemoveIcon'; +export { RemoveIcon }; + +const RepeatIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + + + ), +}); + +RepeatIcon.displayName = 'RepeatIcon'; + +const Repeat1Icon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + + + + ), +}); + +Repeat1Icon.displayName = 'Repeat1Icon'; +export { RepeatIcon, Repeat1Icon }; + +const SearchIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +SearchIcon.displayName = 'SearchIcon'; +export { SearchIcon }; + +const SettingsIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +SettingsIcon.displayName = 'SettingsIcon'; +export { SettingsIcon }; + +const ShareIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + + + + ), +}); + +ShareIcon.displayName = 'ShareIcon'; +export { ShareIcon }; + +const SlashIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +SlashIcon.displayName = 'SlashIcon'; +export { SlashIcon }; + +const StarIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + ), +}); + +StarIcon.displayName = 'StarIcon'; +export { StarIcon }; + +const SunIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + + + + + + + + ), +}); + +SunIcon.displayName = 'SunIcon'; +export { SunIcon }; + +const ThreeDotsIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + + ), +}); + +ThreeDotsIcon.displayName = 'ThreeDotsIcon'; +export { ThreeDotsIcon }; + +const TrashIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + + ), +}); + +TrashIcon.displayName = 'TrashIcon'; +export { TrashIcon }; + +const UnlockIcon = createIcon({ + Root: Svg, + viewBox: '0 0 24 24', + path: ( + <> + + + + ), +}); + +UnlockIcon.displayName = 'UnlockIcon'; +export { UnlockIcon }; \ No newline at end of file diff --git a/code/base-project/base-app/src/components/ui/input/index.tsx b/code/base-project/base-app/src/components/ui/input/index.tsx new file mode 100644 index 00000000..03d46eb2 --- /dev/null +++ b/code/base-project/base-app/src/components/ui/input/index.tsx @@ -0,0 +1,217 @@ +'use client'; +import React from 'react'; +import { createInput } from '@gluestack-ui/core/input/creator'; +import { View, Pressable, TextInput } from 'react-native'; +import { tva } from '@gluestack-ui/utils/nativewind-utils'; +import { + withStyleContext, + useStyleContext, +} from '@gluestack-ui/utils/nativewind-utils'; +import { cssInterop } from 'nativewind'; +import type { VariantProps } from '@gluestack-ui/utils/nativewind-utils'; +import { PrimitiveIcon, UIIcon } from '@gluestack-ui/core/icon/creator'; + +const SCOPE = 'INPUT'; + +const UIInput = createInput({ + Root: withStyleContext(View, SCOPE), + Icon: UIIcon, + Slot: Pressable, + Input: TextInput, +}); + +cssInterop(PrimitiveIcon, { + className: { + target: 'style', + nativeStyleToProp: { + height: true, + width: true, + fill: true, + color: 'classNameColor', + stroke: true, + }, + }, +}); + +const inputStyle = tva({ + base: 'border-background-300 flex-row overflow-hidden content-center data-[hover=true]:border-outline-400 data-[focus=true]:border-primary-700 data-[focus=true]:hover:border-primary-700 data-[disabled=true]:opacity-40 data-[disabled=true]:hover:border-background-300 items-center', + + variants: { + size: { + xl: 'h-12', + lg: 'h-11', + md: 'h-10', + sm: 'h-9', + }, + + variant: { + underlined: + 'rounded-none border-b data-[invalid=true]:border-b-2 data-[invalid=true]:border-error-700 data-[invalid=true]:hover:border-error-700 data-[invalid=true]:data-[focus=true]:border-error-700 data-[invalid=true]:data-[focus=true]:hover:border-error-700 data-[invalid=true]:data-[disabled=true]:hover:border-error-700', + + outline: + 'rounded border data-[invalid=true]:border-error-700 data-[invalid=true]:hover:border-error-700 data-[invalid=true]:data-[focus=true]:border-error-700 data-[invalid=true]:data-[focus=true]:hover:border-error-700 data-[invalid=true]:data-[disabled=true]:hover:border-error-700 data-[focus=true]:web:ring-1 data-[focus=true]:web:ring-inset data-[focus=true]:web:ring-indicator-primary data-[invalid=true]:web:ring-1 data-[invalid=true]:web:ring-inset data-[invalid=true]:web:ring-indicator-error data-[invalid=true]:data-[focus=true]:hover:web:ring-1 data-[invalid=true]:data-[focus=true]:hover:web:ring-inset data-[invalid=true]:data-[focus=true]:hover:web:ring-indicator-error data-[invalid=true]:data-[disabled=true]:hover:web:ring-1 data-[invalid=true]:data-[disabled=true]:hover:web:ring-inset data-[invalid=true]:data-[disabled=true]:hover:web:ring-indicator-error', + + rounded: + 'rounded-full border data-[invalid=true]:border-error-700 data-[invalid=true]:hover:border-error-700 data-[invalid=true]:data-[focus=true]:border-error-700 data-[invalid=true]:data-[focus=true]:hover:border-error-700 data-[invalid=true]:data-[disabled=true]:hover:border-error-700 data-[focus=true]:web:ring-1 data-[focus=true]:web:ring-inset data-[focus=true]:web:ring-indicator-primary data-[invalid=true]:web:ring-1 data-[invalid=true]:web:ring-inset data-[invalid=true]:web:ring-indicator-error data-[invalid=true]:data-[focus=true]:hover:web:ring-1 data-[invalid=true]:data-[focus=true]:hover:web:ring-inset data-[invalid=true]:data-[focus=true]:hover:web:ring-indicator-error data-[invalid=true]:data-[disabled=true]:hover:web:ring-1 data-[invalid=true]:data-[disabled=true]:hover:web:ring-inset data-[invalid=true]:data-[disabled=true]:hover:web:ring-indicator-error', + }, + }, +}); + +const inputIconStyle = tva({ + base: 'justify-center items-center text-typography-400 fill-none', + parentVariants: { + size: { + '2xs': 'h-3 w-3', + 'xs': 'h-3.5 w-3.5', + 'sm': 'h-4 w-4', + 'md': 'h-[18px] w-[18px]', + 'lg': 'h-5 w-5', + 'xl': 'h-6 w-6', + }, + }, +}); + +const inputSlotStyle = tva({ + base: 'justify-center items-center web:disabled:cursor-not-allowed', +}); + +const inputFieldStyle = tva({ + base: 'flex-1 text-typography-900 py-0 px-3 placeholder:text-typography-500 h-full ios:leading-[0px] web:cursor-text web:data-[disabled=true]:cursor-not-allowed', + + parentVariants: { + variant: { + underlined: 'web:outline-0 web:outline-none px-0', + outline: 'web:outline-0 web:outline-none', + rounded: 'web:outline-0 web:outline-none px-4', + }, + + size: { + '2xs': 'text-2xs', + 'xs': 'text-xs', + 'sm': 'text-sm', + 'md': 'text-base', + 'lg': 'text-lg', + 'xl': 'text-xl', + '2xl': 'text-2xl', + '3xl': 'text-3xl', + '4xl': 'text-4xl', + '5xl': 'text-5xl', + '6xl': 'text-6xl', + }, + }, +}); + +type IInputProps = React.ComponentProps & + VariantProps & { className?: string }; +const Input = React.forwardRef, IInputProps>( + function Input( + { className, variant = 'outline', size = 'md', ...props }, + ref + ) { + return ( + + ); + } +); + +type IInputIconProps = React.ComponentProps & + VariantProps & { + className?: string; + height?: number; + width?: number; + }; + +const InputIcon = React.forwardRef< + React.ComponentRef, + IInputIconProps +>(function InputIcon({ className, size, ...props }, ref) { + const { size: parentSize } = useStyleContext(SCOPE); + + if (typeof size === 'number') { + return ( + + ); + } else if ( + (props.height !== undefined || props.width !== undefined) && + size === undefined + ) { + return ( + + ); + } + return ( + + ); +}); + +type IInputSlotProps = React.ComponentProps & + VariantProps & { className?: string }; + +const InputSlot = React.forwardRef< + React.ComponentRef, + IInputSlotProps +>(function InputSlot({ className, ...props }, ref) { + return ( + + ); +}); + +type IInputFieldProps = React.ComponentProps & + VariantProps & { className?: string }; + +const InputField = React.forwardRef< + React.ComponentRef, + IInputFieldProps +>(function InputField({ className, ...props }, ref) { + const { variant: parentVariant, size: parentSize } = useStyleContext(SCOPE); + + return ( + + ); +}); + +Input.displayName = 'Input'; +InputIcon.displayName = 'InputIcon'; +InputSlot.displayName = 'InputSlot'; +InputField.displayName = 'InputField'; + +export { Input, InputField, InputIcon, InputSlot }; diff --git a/code/base-project/base-app/src/components/ui/link/index.tsx b/code/base-project/base-app/src/components/ui/link/index.tsx new file mode 100644 index 00000000..1254d990 --- /dev/null +++ b/code/base-project/base-app/src/components/ui/link/index.tsx @@ -0,0 +1,102 @@ +'use client'; +import { createLink } from '@gluestack-ui/core/link/creator'; +import { Pressable } from 'react-native'; +import { Text } from 'react-native'; + +import { tva } from '@gluestack-ui/utils/nativewind-utils'; +import { withStyleContext } from '@gluestack-ui/utils/nativewind-utils'; +import { cssInterop } from 'nativewind'; +import type { VariantProps } from '@gluestack-ui/utils/nativewind-utils'; + +import React from 'react'; +export const UILink = createLink({ + Root: withStyleContext(Pressable), + Text: Text, +}); + +cssInterop(UILink, { className: 'style' }); +cssInterop(UILink.Text, { className: 'style' }); + +const linkStyle = tva({ + base: 'group/link web:outline-0 data-[disabled=true]:web:cursor-not-allowed data-[focus-visible=true]:web:ring-2 data-[focus-visible=true]:web:ring-indicator-primary data-[focus-visible=true]:web:outline-0 data-[disabled=true]:opacity-4 ', +}); + +const linkTextStyle = tva({ + base: 'underline text-info-700 data-[hover=true]:text-info-600 data-[hover=true]:no-underline data-[active=true]:text-info-700 font-normal font-body web:font-sans web:tracking-sm web:my-0 web:bg-transparent web:border-0 web:box-border web:display-inline web:list-none web:margin-0 web:padding-0 web:position-relative web:text-start web:whitespace-pre-wrap web:word-wrap-break-word', + + variants: { + isTruncated: { + true: 'web:truncate', + }, + bold: { + true: 'font-bold', + }, + underline: { + true: 'underline', + }, + strikeThrough: { + true: 'line-through', + }, + size: { + '2xs': 'text-2xs', + 'xs': 'text-xs', + 'sm': 'text-sm', + 'md': 'text-base', + 'lg': 'text-lg', + 'xl': 'text-xl', + '2xl': 'text-2xl', + '3xl': 'text-3xl', + '4xl': 'text-4xl', + '5xl': 'text-5xl', + '6xl': 'text-6xl', + }, + sub: { + true: 'text-xs', + }, + italic: { + true: 'italic', + }, + highlight: { + true: 'bg-yellow-500', + }, + }, +}); + +type ILinkProps = React.ComponentProps & + VariantProps & { className?: string }; + +const Link = React.forwardRef, ILinkProps>( + function Link({ className, ...props }, ref) { + return ( + + ); + } +); + +type ILinkTextProps = React.ComponentProps & + VariantProps & { className?: string }; + +const LinkText = React.forwardRef< + React.ComponentRef, + ILinkTextProps +>(function LinkText({ className, size = 'md', ...props }, ref) { + return ( + + ); +}); + +Link.displayName = 'Link'; +LinkText.displayName = 'LinkText'; + +export { Link, LinkText }; diff --git a/code/base-project/base-app/src/static/images/logo.png b/code/base-project/base-app/src/static/images/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..0fd90bc0554ba1ad03c30341787c7818c0de9cdd GIT binary patch literal 83419 zcmYiNbzGED^FI#5vcS?yH!R&qcP!l@-7P7wbjQ*t($XCQ(hAbu(vl+GC5;FO{?_~X z-1qnSg9|vX*|}!soHOyB*?4VDB^*o&Oe7>E92I4G9V8^=n}0tbG{nmI;>H^!BruYS zyo{bd@@W@(IHOX4(4S8IHU7_ACEl2|I)xg$^9+<~aGx`)CRhXc2BZ$Go;uC?#A>!BSVt3Pr`=s!u_ z8ca@5L@_|XU=Roh1OSlXACw^Az&Sr_M<^8Xf6L*sOgG`M|NRR9RG`A4hZU&%+RFc1 zR3wGlGvCZAFz?d*j}@~lf)$~UL8bHm$P#0qkegCE!hRIQtHS@iVn!YWlyxte!qmt4 zKMBHnXThMTPystdVTu1gZukli@IzcbIUm;l=$0X1P{?Z-?V66<+5fTQIYN9^>Zn~p zK;-|VXQl_hXIO0N6WwxU|3`(3kD$U8XVPQ)pXw}c5TX$(aF)@U1OG<|(?Lil&9>Yx z_kaAsU@}X@60PMEzB7M2C~EaTiu6YP6E5oK%1pz5lmdgZ)DcvL>Rr?;V*ihdj2WRpi98C6K z`Q{kFpsu419)bUE6aauwfd}*7HqI(Sc4-kik%wSWT!@w|hyVW+a78R73H8(c{U?Ao zKB(=VIHCwEd6D%q{m&kg?-0!P&w8{U{~uWn8bUCQIsM|2|8Wx$LwqnPQ6moHKil&E zQ-UYrpN(XA zeMPIo@9|4lP{^ayd4>0y4IMvO?TjIZdl>>3P&eNcE^2ApP@q zuVu~3<@0pS^5vP|^pD#|+NX{Du-mYu&>r$(^GaLjrqREHN+L$b4S^8>4Qf2xn}@1D zMt*OLhM%qqeI@!jPxtaK%*nx@TYbZ~m8Z@}+2l~DOg>ER%?+(a)1RG`tbn`(fh(zO zhuiGo>)4K!0)}X(-?L@#*mj&e+}6S7X1dqazf=-MpLEIA*TG%1qXm4mc~Y-FvRN!- zjJ>~H8R76dR_%M)E)FaV14T(#F0Q~ztkL9e^#z4(}I-yGxWqqQEYJqrI zcdBTjD528DNa_{Z9`@Il=HuS!6OHOq2H~%$8rL`(Msh>0cb~_W-JkZH zpx&XYmiaGD1W4~_CR%hL#cU52oDK}^ZRyTPleJHh5C==SNM5y$;^Wg+k6*` zWaTK?BS1EP*uiV7{m zzP1M3)48Fd)OT#f_4y$Xt6vZ@6O1shd$$ypAdMWb^KLfvm8oUE3WlJGzX>su2VF5b zsUtI0Q=J%7DIE8wYOK(Nr3j3+A0I3t2pm2=f*#tUg|N1gDH%q&tWqg;Qa@za`~6vo1Uz+n!+NF}NMH(nb# zJ%p!)A;H%|o@;*oK(_#H;1&m*jUFeuCljFDOSY&+zWvaL42x^~YLiTVDVQaTzg_^3 z9jI8tOSs>3;s#bG=2Z6=e?f*f%3Ag5bXpftap3e;)I?AFd%$G3a*6&K?Nqp$|I;9Y zZR`j7i|8t&Zr?jf!vIUGgBX6uj2=iEC*L__;2Ie|2JiiIpEN!7iC{rW*vuN73mT@x zjDR^sR4-~oM@_l0=4m_a76>Fj z4zTZB5}tnn;h_O%J(8Vi@o;#3ix9Y;sV@>Y@tU-MAM>!?%N_ya%Xo!r<|)&h)0;X| zs*?bJGtz!b{bFr?uOcb7k@Of07O_BhGujtAbZcdbn+{&S-Cf&L?DJ7Uhl?^jCq!%v z;P)38ensTG7sGu-eCaMvj_zy_wdHJ@WJd~Z5%lqlO)iiUv?v~&wHviAFG>7S%pNom z(7(ZJ#Fd}fPaoYYPm=gpTViRYD3U{pjNVAINYCPxDSP15c5{O~o_QXobp3^EKA7)c zJmLEl=y;7m*8qF2`|k9yum}*}sfm<0cowY=lNF5~+`&Q~cm{IbO{C10`_!4T2?12P z!Y6--yDvAaS&DWaQ#liY|Idd{vW-MxGot}03l9UDm&$#S<$>hydwP4LTF@thMGT}S zspNZVd%O4gu{z~6uZF%6F&g8)CAsT|T<0F1x zbG(eRDaz44xt=VR5jI%B+)D%j(8OL|n+1EE>d;kn%oiJ|C0{ZtaAef3KAkY==#4T$ zU=-jY6EU3fD0)R?c=Fy6)M~bW<*C_3Z8v?!2i^R=RCCWkZd%GL^|_Xkq%3)9WH@g| zhDfdFS>cH=k_~r<(XZO6?*v2*F49vL-Rm1tV&$=BC;*1HNU>+5_GF$|Aax?3koSXA zlKb*sii01^j3`fC?w+D|X0F|<1;-DZw*B8bK`>3U>9=Ii4&5<{L|c3XdtvU4a`0y{xb-n}1i{9VtB;^J4VUIVdYbi8;JAqM!{Vzpv2ITXlG z=^bw6{&uU- zALdi$t0*M7yz?iD;{vc+HkOo0SHpY#6~aq>I}NzzIUqc~pb68cN3@R~sqyeMf%-TR zIfcTY01qN93YqhQe8gD(yi0hp{Flyzy+ zs9hi4J4Vk#FwJH5PK6w$uF-nK}OnR3KkBSc_?S zt-WU%=5)hOK~$!KKhsUcH=1(C`?xXyXqtLIq2K%JHzTUL2MG!HQJ_Pbkf2^rDx}E7 zDOEsFfFA-222JFec1^3P=;XX6znhUHmh6OYVRl%t;<1O|lzybe1Zna!Y^toTOea2l zTns3!uk{!C6_(RvGoIKjE_8P3AnYZM5K-vghWh@ES z?}G8QJqU2WqQw&a_73%K7R!j|Z~R6j3+7UI@9%%9(C?Ep?NVO(O?0n7houQl(`!`u z6o}!?{8>9N*HA6f-bcgWssrX^1H1~kE)Gq|lgUHgb#?Stoir*fTbGkQIuk*wVJj{z zh0WTYJn`cvB95MXxSTK5B0D0h=0O9UuK)b;<@_w{J-=?UP8*BBbo%J~d9Se(`N>3q zJ14UFM}zQ$ZE}3$NRzKp2VKkbA6L~Zo5#1FeI>Bo zm0-P{vv_GvhtzJ}X6Pf!nFI7c+>mjXJPa$ei^F@fAPsg$F)aZ^$*;)OUwfkBiW(8G z>DF#!w-eUILS_<#S1Q<>`i!5fpT343U`)TKcp^8#mnqrlCz)BxoiJbDkI=iEAhqokPJb|2TFF zQ<(to*aK>2t}UIuoX`IJ;M!Us1XS!U>U{CNr+v5Xc|dK(mAE`$hVL$KOTi;$aH^J! zAJt{ar!zF|u6&>n;|>wV|E1YRCA42@gh8CHvcss&~}rhnTm z(LHC`Wo>(RJJmeUk+m4`Mg*;L*PS9Q8Ll;m^FG{Z5zb&A1pCXQ22K=L71N>%=+MU2)8oSsuN;0tfn9<2>{qe_vSH;{V4s$X=f(m zBNa0nHY)qG&LC%ox;il0Q;QUER*72W!<|5kUzWEugbJ_d$suV79q1-?JNm^>Mm-hY z+Y0?x0vyI@$2ZDb9ogoF)utM;JC8HzqhAHMy_@BsG~mj7^yv}2J5&(tYM03&K+dl@ zDs%PU!#moLh+zLld+PXZDJ8iW>A!>@>rVUVkav{P2g-zS;?E;f8yEjX_-&b(+vVK%3_rQsuvKNC@Q&Mcs=J$HH!$?on z_0gS5WJRO8b2=wRm)aKLB z;%5yZ`Q>OpYit3$`lDP~U47iwty`~AX=GYu>d9bG{Qb;>xc`&W1`7Q25v@wNU-{wd zIWDj7scOL&-`Fr`24~JyZF^`D97)M#fD+;QcV(@*?uMAgzjPzpn{-R(1SF+nTF6`7 z+mo@o9j0)2-%@ci-VQ|ehosS2K~@gZJGa|>&RU-UyE6Af&|3dA77_o;?r_ywoNH40 zKb}U?y530w;7?! z=tvDJHAZtAb>Yz-1CxHR-Rh^l!$n0q0D?g(N+j?B!THgB8bn@_pbOmpOXdD`B05_x zY81eI$*Snuw1_;8+9^f4dq-t#N@7UubR`xoogWs-s|Q2Qqu|eXQud!9M=sUlS%bjjC7>{C)}gDIEaB7OcD@ zsd5?GE)VM0>MM{)-x|Y*h7WiEJu!@dz#I_#{u<3;;LE@dfD5$+as+rPO{SOOZ;e9p zF+OpH?M_Br=K0#m5Bx+Gc(4C!yBYhPMnl5Ki z%uO?V&nvqcgx!ry=mzt?X4D6qt43;DQdQk(&RV&F`gJd<0YX2hw%VCMmv^5+V4K72}B1Kgh$OL z!SW~o_Kw&A?NuNGVVtC?HL_65U-MQtT7`@Nsu-4gJAY2dj2(#6qSMRwSQX4xY;f(J zTZ3HOzJrNu?HY`>Z1z@6gv>wtO#!@L;qBt11D{wP;wZm?N)c(f#4E9LMxg=~$>AF7 znFclMm#Rv9cT~5-qsjD&B8XTPg@ohfUp67fivRUJ*>&b=XOi$1HYm>kSh=F<5>VXm zpAZ@-Wnoy?B$h+AP&Ufh^vIJG1L&s5;Ni1ctqvFoZ>{k6 z(&V4mmP7J=AEpf-NHuVYWI0B#03Vlz)y)5ehti1N#gJ#V+?HRf`LAlj*&uI_JVk2~ zR6XeCR3gJ8cbMCIJ!~AUo${Bsyx;bDV(oLCt}Zsn0lH}i2FE6F(v0Yp zQWO(0v!wa>Gecl}AQ)r8gzZ-LTojabp9tTmaniEKwWsIP zYx?=D%u<3FE#eJ+BR)#=f1GJRK~7} zPqC*VQ2fhChFtnX{^fqmSc~Vph#{Y}c1g=2ZIjVG*?J&^(;u;0aZqiiQjptd;A?!N z&f%WQ&*Is{Bf6Wdowx^El2%;A4UoV0OL9aP%Lc;f>vkZ}NU8_^;KB%DekW@CJBIZ> zI$1g?LN5|mjK6R$C1x{4O2oY@eRr`t88%@m<@dbq7nePSI!iCn>}tmuPpz#(%As7D zJkpt34A4jjhr_;8H_dpR$;r)p4fd)Xu70 z_68fNlcY>S#xE*2@jwY^fLOe~SyqN!g!ux1p(=^e1xZUcnWnXJ$j1B7Gc>;N7}2{a z{zFU&jXTR!wK!Z56*V%Gr@8MEkr`5iu$evWx5`v>dF&m}&isg>@s_B+y&s^cKw%0=$qyck^C#wTwaFzhl zZIDVvugCW_#TfCznquvO;F#p_UJUwVz7R!^^vDXgMi=!rRsP=VR=?SnBWHjctpC7y zA}Ee=A{XGTp}|IiKc@5QytmH^%}4P2S~uT)zZ-PE=@d{VJ`^ee<)9wGHBUt!sK#jV zpNV;A8o0jMl@!Z_u^!$V_YdWe-@?v*hYsAI*bw`XOCn;jUsRw!^l`OTtwa+$lGADZ zrOrZ2MbFpbK@52KPSF*S&)AQ9Bfi*Xb;iiX@Wc`G$FJqFncKt&jxES=e7VhwOJN)G z*aSpU3GW>ad9E`3qVHB|2Ou;~6@t)6IHp`5<5&4k4!ovGw3_F9*^4_@PuBd$6JK)SGF=b2UN$D5|)ndqnjfb3=ayygzo zt(?Dm$QtdxL`bF=tLX2kQmr?&R*bDG%bRzdWbY!lAZj{^L)h8!WR+jG8{hkfFlfLK zyyFpAZHhequHXj{=f+`Sm*2*wE}wgwdzIQrO(J7cKVe{HaKP>SC-!#66);-twLd=S z2v-I=LLkz=NxljWq^#J|3DUetQDT||D>zt>ee(Q`_ZlZWLc9c&g+IwxD-^q{Gq1j-ms*;mX?>gPQ|yn&YhhG|%1VGJ z2k~*w@$q>|6BMNRpgWz4FQc|f67V!8!c#alOKU|k4>Fe3^UM*K|y3-u;6` z`=UyvA26vDJcx~#y_yJf;kQ=SCT1R}1r5hZnR44YMptE;IK9hvet$?H7lb>MeQ=_XVCrCuNJ zoUS0q@D$nbQn#{CnD+>L8x5|sw55R(iKe3ZPQ`P(U2JTmFL^n3Y4jj>U_dTngG{a_ zE)u1LPDiKOe4tO#Q)?`9H(UNb7v%Mw4E)mODr+@%M_X5gIHuj-2Yb_pPbD*pz-Aj& zBsDO@xXc(oncV2h>+5n=J>ZHHkf3)z$P6o&BC7ko~BD9#0{-@gJij+J4r7=3nmi> z8l2yd{#@2?n^mJ^bdwRX<0Maf-7HY3_c?Fvq`3Xu_)g=jIu6bYz=vWe*Iq|G9(4Tr zDcfd1htD*s5}(Dcvl}Ybe;C-f zyHe;?!wifPEP@LZnNMWUS4JRt6(CN_=oUSfS~IsK?b?SwpO+Rr1JcBVbS6dh+}FQV z41_2HNb&J@%W9%*x(*R-*LLg;c+QN48YthFtWX|RpQ@z!?X6~b zX9|_@o;{QI6LUCs+xgitN_4X{TWS3_yb;0VxWzV;OEF|HR?P1|-&HU-cyqZD^j)Y! zv))XOnXBY8P6I`s`A{i^{MMSgr>D0W2(Phg#auzyl&%%E6WZEPD|xU{r`-uyQ(@IeZ-7rmp-nA zC=E}4Yga|mx!6#YU$vYVi^T2m?{9e#Eh_lMAP;bYC+q?Zh-i`*N=fjDv*)>XzDSLO zMqI+A%B3T@n-5A(Mm6S28Y@{bSYKpJ$QfcVGkrfjKL$EBpImit*WMX^MYsv*4wPVt zHs__RVZyzUh!>DZO;swWEH@U%oXFxVGqMa9mE4{cFth1wGc!wW-r(8MvjvsEK;S9> zcqGFKBMoj6!ZQNk`Rgrp8#9-xnMZhIquRuk@=TFRm|Ob2kHuMXRQh$XK=mt1lOH}D zYfyO}5s~mv?iP;hYW*oEg880$+ZVOhVvFlRF)0bhEooG}){~@Kqg1F$BqqnAkzV)t zD%a>f{kyK%t>i|nWOocyJ6Le$>UU0`9%7EsfDLZs7KR#cqCHJ2T(7`2%{=|DG~S?K zjEtqEh^bzr5Nh3MqdblC;TiSjVuv(K>6r^!{)7zh^F)_7uh0I#h({&=n?6$uBmaI` z9FIF2-*nD%@;I7AfmS`UmAz|;%2}erVe{OHvsGaguOgyF^H1sBYmnA|(ju>epZB-y z>zvxE1&{UX|mi|`Lq9P zh}Q&T_bmRvBUR#pO(iK1GplER6?C>v`|P!SMt!KzW`gV2;4_3LY%9ZW zc!*y^(STQxt;*P0O6sI4%1z=#QDbIdZu04xLgH__wI@gZ%X^hd@yGV$-oEO9DF>qG zKi?%}TJu-|X1k+3e=S+lMc@F5yJR#p*G@MK3*VA}=o@5Yh4A`DF&O}0hZZi_@#OR4 zF1=peT%2nRdol5^SkfJZ34vf6`NPIS`$OQS56&{vt`}V&>mGJ?j`4;Y`sp6+CCJxOlVRKxLS6q^_0AfCZW^G`}z2)zX9KXitK`>-JY zD-mOp-J2nTQSpk5EyggDS{Hq!b%(?18?V2?VA<^twZHA`(g#yyrGK6|mPZmIhx{7D zkQ0K zLb|Ru6;zlUacAl>(4Z0v5`XFSAQ@`1*Yu5=Ozsmt{(R;-xu(v>(pulEJEHqf9a5CL z>0q81lxz--RT)5WOq#*Xt&&kQ!4}8sim21wVE=yb!|rMK*xWIy%bzuB$^Dv~mL@`Y zpG=Wa`WQ+tYqMUhmpfG;+C$2$!Ux)*3X{#8cHS69er(&oN3_7=LjP&#m2jzEl}ftn zK6Uz>OZ-k~d+a-r?huas7poV!X`q;yd3;$&XDS2GZq(izKdYzG{YzSQYCPS0q;dk! zGx9YZ7T>c6eZeQPpl!m_pDXAUQ5FriiWN?p`zne{*i{$@kjB1(sV>M9_-|8zkeL<@ z^0YBQ;nXLJ%eo{dLXDwc)MGv_UmiKgi4pad2LsQ|2O7Tzl^h;{AWrbWqqg%sr*w0-JD(U z*LP?+*bm@%PfHqfTcKi(`2?9QL$XSzs2aAmm-yv#u9Q`n=xDML|zaK_pb`u!&E3NW)*Of950#UkV{GnH^cE<<5>O837_?2fzc~`u5Dp z^D9&y$sY@jI^!B=KoSQoY8gB|4VA=ZpS)=CmE>S;g9U_b1TCt#tq3D?cN&(&lGzld z{*V+4>d>s)yqHG@VmnkNVrkF=ege#+uTB%A2-%cU&(B+2rLzw#;fRr&L=8FnozCm9mkx2$hcbdKKH-xIQ(=Ox5a>_+Qpj;W(P zS+vo8xv(Qn{lYw3?*FMZ5SgHrVG2{097SJIUwQN^)8Z%Y1mK9AfMNb)rC6v*Wo9dDXq zuRn;2eg$Tf>*hRC7P1&_O|>=aq$6N|qnvMcVz<_-Ft+e1F{S$`dxwz~&W5C~*WmKk zw>56@%X3WKfqJ}JH!fNMquj53-8$}s@m6;W{mlI`*egbbh%WPv&8&doSGMNWO960S zbi?i9epV^G{ez;QpX>uCML)p!;oUqbo+4?I>7h|6kvSasodn1Dx+4%M2hhhQ7#wD#8 zAs>}Sul5m^96?8SZp()bdIi!d)Jlz+2MoxAg1M0#1+Os8GyEnL;yWE0NWcDd9uj{A z35kifQ$FlH!l8;cKgWF!J@%1U1@DUCe@kw6(H`eSGz7}8FHCU$W!fYFxq(9?6a)sv<-tnBQIp2T(-^0*4Q^e(*c!)%tsA#DFcw)3>93?+6^zv}?>Gr%}1dpD^YUcjv9^6U@5DF z%Aki{5R{MAE{brI>#8&{drr!Wmwlnis1t-p0li-L?>U0zl_qCxv&dzuHH zAD%%KKamYX)P17TqBQ5Ek}htlcZE9-2ibiv#Dc{7+)922JLHeG()W6*Xuf-PY7IV3 zz8>?DW(*`)6%p+BauP6D5+gDl-t}K;MRJ)Q%oBYK>q=p6MTRrb!7e7HbzXxI4L)Rm z7pYrNEZ0;S9|sNR+ESI$UxuvE98(76yJMgz5H4rwq{bn^AXm07Q=kO8Vc<dpN`1mut-h**qGB6nyP$V%1#|ngAvi+%(*1O^X8~uIWY_ zfX^5@Y--L1O`Wmw1I90(v(iGBUHs^y!~kcs0m9@Oy!D5?(IE8pV)xA@XKo_;5winyNgcYBnspSPJrFl_F;>3rRCjL zv->SVG&pY1O&D-u3wcWl!jl2wH2re-bD>63)mlZY3~j;Lq9C&UyfzGVP}yKiHs({Ui?jp%Y>&1-2?-@|4Fe&E)F?p=n8_N16ddMAIh~eDfDQKx4DBG=*O;fE?ooq^+Ztjj|lRbpi z7=1n<9`svgQDk8XE}m8TH>iQYuVfGiYJ`HReXb*g4n=waN#K;Itbrq_`c>O0sGd_+ z=O9D`PXU_F6obmvMp3HPLGIj)8Tc4<9pZgXc=+kDp^RmZ7~k%+a>DC-S3N0#ahViq z4RXsl-ej7OcxPxVb5^k5I~AwM(O3qnxJ+U>ot8neQAXx33f|ryYLhsJs$(l~p8qBA zAoG_XzI{;5%30z1EEj1epXmpYKMU{0vW8{tX@re@8HN`8|sSMI92 z7m*52iR?yZ@9(}mWu68W?5un6oy585<-rS|Y`lzo>jy~d2EaT6fBGo@b*A>Y)z7Ex zDEL@r-uqqwi7BrJ-d3oo{SCEo@z~s$;yYta zqPB!-DxV@V%yb`~oXC~yz_;wwS-=%JPnY^7ZMrGd*Ss}#Uk0HgqAcc7`mtU9fuOpB zAHB8SGiI^!wacAt*U>*(9{F#w5s)kzz-Mx~70c~E<7uB>&*i47a(d{=PP{a(Uf|fq z(MVq%hnldq{Te?XD2F56h79C(2xJu76$$rKJ~0N8AU{5eS!0@EE`{|hTA5n26Z?!( zFK+dIo`DfV@Cdi-0g~Rs<+448*a>@jt!2_i^c3LbR)l=q^4JKSxJK&KjdS$-yx> z*ibxpQA^mVGJm`$qdNZb)`4kEv{N>K;UMpieX7MOxawnc#WE{4PHNE_c0QQtLrfRS zB+QaQPnpY@G`Os%ZB7z^8h2f)VF>RLe7^Wd|I8+ZFH-Ds~x zyri$sDU@D+nSP+vVnS&~Bx*?TkBR&H;U_z9Vmvi$I+wlv+YlGv*MzUc8 zO~JxN9dqJaEze8Unov*_T_zfTJSpst+{E6mZrtAhF? zQ-XoZvdDS*yzqh;Qo5?0898zl@we0DCaF0^2*8xF8dj$r87k;jDHbcW)H>HL@F#7a z7*M9;-fcnbfel4)R!N14;4c4GEudlD`6q(fp8PhF-eVjx7XkObBdU za$cm zJ-NHI`$@)RfQ$egyaTG8lR@0!fDn<5JMG;QCqb=UbdQ58aRD4MVfjP)h`v6V8ywH? z`A6PumZe8H2P*V4hy2|v0l0xL=#}TN_dX4DD(qe8Hi+_Vm4FU^d~`z`i7d#)+Fo2as%nB9^sJrc3tGTcPf)3TE*K*W|^y=!i>geE_fM_UfXnjrK=-7dKJLLC$%)YfU#yM ztz8>P5)j;)M+T5Rm5=h`$@hkHL+E*ikv_x)s0nrBj08m45z-HK zxQ;v_ph7{n^-yvZd8M8aApb=kN3s894DCAbtQxNe=h+$rqN5}jN?oDNUo+=XMRNLT zic-9h=C6>IoI&#%=z^*`{LuU*!HW?e9&amv`vR@qYWugc z^VCxwk{uEH8jCda^cH>K76`Ty-mAKPE}h1MJBhr!X1uBE_Fvrgc{WbKbbulSbD&@% zMhRuC{0gOAo^~EBv^n!I4s3VZ-!SNyUj*_PB_%X$M!R{nb+VcP* zi3z0yIQRFUb1SE;1 zawAk+HagK9)*nHuPIs^^eNq7e6v(n4cV+8TpS;y!b>EQIu1*VI8TZ+2R@JjH2 z7aydl#dO7#?m@+mSYxOgdB?Lpqk^8|a8vTSVnLZ!piq)J$kXup>q(k)Stf)fB0Nrl ztqrjO91;cp%jSJW1uO5|SD^&I zruom$Qca{dZtc%s?@=vd6abF&d-%kM)?{{v)=1YV)c9M^L72J;*ZRor!1i6-2B8Fp zZR-jt@lzrHq_}Xpn5g%J%q7ZsDyuU=II;0OSs*l*%k)C-0kx#8J|G76q=*!--_$2q zBwCLlq4z`n^T(g!sV;m?(3-LLdWwAbV@PRqD#+t75SBr4X~iX)_E>ygC{ErW{pycj z0<+O%#@oq^7@T*FgilG%DSe4+9onoz+G=eE)qSuJjIt%Jr%wK_yr72iRCmk#s>NMV z@Pak}pKA5@v8L|+$E7KhQM~Gzjk>=%mHFBfrmxbSB!mOsHJbsZjBtxy8K$wv+b7Q! zc%R*OGNXx%gfHsGWAK1R8u4e&Ue4;#1MulS1fwof<8~%tDVH;1k@&7wI7O(t0sAQh z+aALvO#U9yuO8Sj`+;^kao3YMp?rq2EU4k0H+@bJJ;(dVwBNEcO5J&qWtZ=eS!76d z4VCF+Cl_Wc$)V9fq^d=-GxPcYgXJi^!@EgcO+flY?aPl$8m;V8(w|XVEa3G$n^TnC zCW8>OFyXQ?TAdqhzN8ptv>f!9ujncpPUMV#C^9!Y0y~fvt1P&$>~>367p@`^)4++5 zy=?#?_p^|p7)|M)^ImxgqUw1<*FL!-?=ZNWXb_$D?^gz~Y>NjJmM1@NQr}WF^xiJ= zDyW(czPu^eW(yQDyVcUU9E3y~a!+2q)bw4wCgC{zd9IY5;dxBJT1F2Lk=hjTptqn0 zj5rkYBdsf~+B$%PO@@6k3mz|A9hA?#++FUEiA>S3uOTW2PR6WW#Y=sd`k?b{-nqDa zG$os*!qByiS!5R6{(y+PL?-{ZnK7+E|NV8Cs1xFn*1j{HnWM~ZPTKNe$$#k&lZEuQ zc*r&}2$aNwjT*)_)@DzptHqwEl5l18f63v@BpIjmd)d!G2xK)$$TAcMBB`LgWJBOh zp#YkUfazx3B+2}sloT^-9PGI`5XQoR)6Mp6q*v2=w7grJ-B}j0;Sv7*o3OK5!w|K( zRY5gh3(vE899Jf+d3Gx_o|pLT0@DO3cNz?81_KPJ3A`z6R1&?TiPY?{ zeaRp0A;)rk3A>o!FTPzCo*5T#W4$UG*d`CXkov7jg&e|#nHR^jM^u&6=w&(0rRDt_ zOH-oaVo+Wt-2Iolld7ZAXGnwn!n2`)E|zZP(((*`stBt91u~N>rV|QtPXHg?MGA~2 zCj3mF5`>Kr)L^El&||3CZvd6VSoUyQOM@u@>HDoBu%TRDVsQ!4D~p+VVN)x)_G8>Q zx@`xdEg>vbH*{~dgR>=DrbOex*3SDF?Kv;9UdhS(%N?Db$@VjaPT%BYzWMM<58{ow zLo}pMtr|_Dx!K#CQu24`kLqvD2R54(vm{y*Q?EnURzwBO4Uk5ByXgC@lPa@YIkggB z@%psd4b_`AB-P^*v(kR$G2P?It-;XWl7w1c(k2e`rpIQ#nau4w7!OM>aL-HgC?yc7 zf0%2HVXfK^l{5PcRHQ$=Hoz`;s`+uX_e-K6vx7S&Ak*AiYBI!ReWJsHtit5jp)-yr zZV&dUR~-r2TOUcHy`!U;16}Mpc-9+xSLH>a_4k|D>s|0n9g1}l7xKYLT0E~>rhD+g z*d9qi4hRGzQ;)Kb5)!}yyd^bssHo#&|I$>F2kW_o4&kKx;jRiv6fhzUh_}z1-b8tk z0aOz-Ywco;T`D&S_0sqPAA*!WGODA#C+TP;iQ!J8X4GM_IxFO-#~c4faW{?r=ks~% zZ#oTOGq87;Tji5#}7~8m2a)T`&9~KJ<1zsJR{~{wlTj02)vZHuOpA__L zLFo|ZfQ??8odO%zpm=7f^>lrK>0tW%p}XkN>wz7OH%J>_@oNJ{IUz7TU_0Vlx2WSZ zVaAQF%zKc8ta4bI<3p-X8R+n*Dvy@c$1@4!9HvjSu$Kq!5Lau*D4j~fk1+DYa5_%sB2$yic$O5CqR;h|cCG{x z82ZX9=rmT_D9?0wrGoK0pMv0JkEf;uzZMXE)w~~WoWbt))eJr^`7@{Jb@xqIhClzA2r_fmfW9gxRn8!Aj#Nfx-Is>dKSb~?Uxe&#RA$(@3|PS zI2qudO{l4p6Vse6VG|xvg8}a>AAN)Y}1li!s%Sz zj`j)kL}j6)p=onxZW+Za5(ev?eAJi7Qn|>-1~4b4ocos1w40z9dHZHMa9iwHdh^{! zJLLQuxSU)I)6jjK?08}d`laVyr;jR>2w8+IgssKH@&o|=On#|VaWGM8FrS@ZRZ&Gf zso5r)E!&95J*T`s<{QSN3|Z#PwdDtCrJ!x5>7E_aMLfPAzzhyRmD{Sbjmg1rr3jf1 zZd@D;aL~{b6lS5Bb6y|xfNXFFZQm5d0LBH$(j%rjU>W<)gTy4|-}J823f(*ZGJ0Ys z35Wt>yF)bAvvg}h{euz1vzHFEwt1fk*03pR(%{crACbvb z^5L8Wkg6H1t9UUv+2)chqNlSUBJ$IdWvpqH$Q^F?ud2DDsfV$t=m%wB?Fo)%_NcTS z8_tIQW)kyX+w9B7&5ss6laC}(wmNjZ!tOfF!UDdCuXuI(&%J)3>uUB|p*$xQh7><~ z3>v9|6iIN=S0V;5uRoNw5Uzuq=H%or^>M0`q^`EeG>vB8q4}8yjSRv$Ys8v@F(g#5+*@Lu>GujQF zciUNCug4wzde2?gf2(9Fc>;-wxm&mXnV0CT=BuK92Z(1GDH7JNv#3CM4<8JHD~QZt(yXYg-a^; zWqu0MEJC%GqSRvGO|Jc+N~tLtF%By!oD)%h=QUG2E3|+It7SMag81g7PH&#zNEdHl zxRG6o4KA3~zT$={viC^IhKJpC%QfFFaUb1-t1M2J^@qm}^AD9P)(-troJV(W7l}P3 z;ndSHs_qHblSIIwTCKseuZuCDc1WJWoKpZ?t*(LpW;ayMv29D!+@fC$7wB~z6O+q!Z^Jkck0Gh9-y^ng~ z5SFWZ=)yhzOfu~0+{gN5umuaX(!-K_4&EtUbV8Ss*#GZ6{#j|y$5Cb6G8 zXW+h5Dj+=ER0!m+eN)vqRJN%Q_{A#!;%cpZhLaMU5vbLu3P?x*Doxdxaah?xp+HPC zQg?=)!Cs{NOSlA^<7|%odJEGT)KD}j?z;J!C;d9y(VF|ByKntU!KQ$5Ork>Puv5vr z5v1hpxebt#)Vl|I;P{ud&Ysl>8u)sA=7W5RVZAaLwA zelj2s+W5;6IE57R=l8v>=2|5an_F;>X1P$|7+QDKIj4|wcvKNkPRzVRxmrQ*;6Q!S zBvk97MC)iJ*G1FjGNky`uS5__1!qkw^t|w@!Xgbj9(lYaieBI&a#LlEhWf2#H-QqQst)Iu(%K2RRu895R@v`G_3@*nhb^$ zv-~m5n|%xjClSK%dZ{9kuON8RcuLVv;b%UDuF@bJr-Xpc+c-}e%ELidLWXXjJ?~NA zbZZ(OTZK0_!h<`p5vad)6T6L}bz_9U>V2bB5K^^;|W7TH!gyb4MeRs#{}U# zSp;qJL_Lp^IQP|JjC+VZjkL!G8d|QsdV5KFTU%zm)jdz-F@2)4;C;8%RCxk zM{^zP1CqHX1667jlq(eyx{&CP_CyFjUIYj!Un2v@!FZ+(X`t?*Gq>k(AxP<>NZ;q{^-~#pB($r7d-3R<=(yQ&-7rVmXC%?5ymy5IC0a@Pr$Q8 zkNm53^fzLId-4b<+A7{hI0RCzmU!R7m9Y}`?C+nobiIGh$(ItIY!(D`EHq19Lp_@a zfxUbEIXkxx-T_lYnq?5nq2}uiP^-cS6%eTC>p`P;o!~heYVmF^x9b*0LYyH25NrKG z7dgfzwf2F~y1w(7Py5aVBIOf>>GrEyzdEzM0Lx{2IYK{b{+g#!I7sGsy*&Hdcyx5^ zgVtB$gNy(IBySD_IALCf6D*x96KYWOvnwVp$-;#@!+&5SJQMw-mYwKL4DA~W1Qsm8 zn^QmCWm$|Y$xz@(<4MaAs(WAz*+#7jXy{nfu(``5FXj!Xx&*p^j)LB1fQ>1<86tN_ zd^1su9f5aTo<%PDypr*Y@454szYd3^99PYfzU!}e%3_c;Jj(#dTDaUVbhR{HUiV5Y zd|pHVoxpjfrnk4hhbuNI^po#6?9f$)h8z|(L2n(~bu?kr5l>C85sv8BF?9r;@M<8% zs$w4)$J*tAAc zufgl5aV=E;0~xhDn)*29%B#**X=G%mq7MioxT20MbGd=5ya+02!Usd>Ja1g=u%~Y? z2D5&cA_F;jl2jjz;2{*Ij*EaxVJI!kq>zF5r_7^<7v6mKHydT2sQaSZulbf$ibyk* zte~hLcB@ukm{I1c@GROy2ELj?cq6vR)@8_Sg3iAEtUbqr&zRa#K$3S9){V{Zl+UnDMj&OcLRw7m=-uj+x{;hwo z#lPjXk6n1ahCL|#7M_5 zBB|C83;1XS*Iaqw(hH_Zr#^Es@~oS${#IJ;gA^^YT9uW`P>5raH!Hw$9SJ_qm$MS( zZT-NWe!9KJeg6GD9dH&9w!w;kCoG>)*MV6v3u9Pm`VX9NB;G{H$M2~Z*Ked2fx4Lv)_Ms_xtBA z9eCT~mDN`+e;m(Vw>f_L#vSdK?dY8Ols!G?oY^^W-jqRiNwJ)rkFviI6?frb?!_p( ziy3|qs<;$YcNxn5QuNm@#Qy%Xr|#-H1ejk1zrY7kAIDl#@epbzJuK zpa$1vb{~e_A>bT#b{cA@_bWP+{6W>&H-9B9ZxY< z`#poM5{MOKjPL9wq0>g^l!X%%))&Yh(Z|S5oNxe!?ZbpV_#Suz$s!n9)Rt+Xk+gv$XfO7OhTRzGy9O zdTfI|uRED#di^Y^m~&B$&cUF}LdDM{0iTIX&Oj}j&i^z_Zdo{s75+xE}A>?ce83%>Pe_WS?%t=<3n(ZAg|_X7{C>iYja@x;!* z{6gQCzy7fQ?Z-CzXJQf^W)ihEH1#wguwwbnH;F0nrQ}O2;7hN)#qHAq|u&+$Q3j#P)pEnVItC%+7;{SDP08iz6}%kj*>Q;|x63Y8Xe zTa@7WH=p;NMzWK2@44fdUzTbQ$rn`4F&u;fh_K_ukOYLn3h)*bM>03D!C+EBU%4N` zx@(xz?=(6biz)ue#qQsW&Y&w~zxVU}AlCW?@9d?p?sx95^c1dj-r z#K;h%n#QQ5C5E-bMl&e0VC>m&eg-PpbeQ5fNbD?5Le4=|E=0{=ggu=z&Rw`{@b%yN zpRNDrGk>#s@%`_f=RWdRYZiR%d%d5XyUM?OSD&A-zi)4}LxKbZMhbytEB$kK@5W5w ztlRU2cFZ`V3+Pazc;t$QzB~lsI06ESPCfX5;uHeMAmu$!A*u{i2hm>{K>lMgs$E53 zRpZhk2mRD~P!U?i>Qc?Za!EW(2XWz<#jfXFDv#k5k6*p#8Q(#LMD!*Z56hCxE$WP944mG@z4;m9P)RJ890i*XXa zn$mL4Jdz<%YgtKE*h!Y16-UDD6L35MG5akSZqGA2s5I_9BIZ|kvT*Y5DB8CU1}uhz z?U8!qlCW|qJKRPN)+Ce~QzaZXRd`o{%WBBo(y8bhoW^=x0v}y38@8T#^Vh%E_3r=k&l?_m|3}yDeg9{6KmH%z z^?$sk%U_HMbeIX$me7=OfWU&K?tbTI7^g2Y>!Zpg7xh!Zc>)NK?WoHRJfME(9URF` zms9n>m!-6})jG-(X#%P{YDHKGl*D6nn97=dooJ9=GS*QEeXnj8&@aZbjzbk;wTFDU5^wkq zbse;MxuCg^yt#VGMcd_|mNnSNxeRZfrWt-uzo+Qw@;E~@wXY2v5eFqBlNw{W91mtE z3^6F=WEdk&Q~C?Up2B_-W>W7rkBl6dkab0n_k&~AQU<13O0uk?TC1Q^sX;uL0J-(f z!VkI{u2H%h#Ahx2O3aafV-sMPLpUCUV?+fkTbRa*K}4c1*eI_XIBq@j((*I5MaQuE z`6wrfVA&o;Zt1jeqH36Pt&*``9wH^QwoOAdYe7eEgo-;8DC#~x_x00Dv2E{}SA6eB z`#TpU)hd`ZP^l`%w9Dg}{36i>ue}eQgwtj=o2S$RX`#0`{|U1}Z|cJ=Q*9mZD*N7d?s5aAYuh z7>y@+M;vc4pNrUMkqE6~AZ8!t1h0L|^2Gv{t1EFaLR^YbY$-tdhrt*l2e7vVC$Pa?R4BdP}QQ3&%fY-3~uF~>>78$Oy3 z^@uktf)fmYiw>|+3|p{TV+>Y36sPv7G1xQ=l=a@inHc4oVVX1G+@{`(K@Hj;LF0doORWg zih6=Ro!p4YK|@Om znMQx%u98;asI|S0hm7_+ld57;(JXQy;pDDfG@ZK08=d=__2OYjb!;iy=jhKxh$4mE z2W2xa>_27S1L7F20zNS$9{E8SbGLC3K@K;Kaj+Yp_em{-^A>R-ZY0acmd5G3%F?(j z?(^Q1NT89K_uNha!yWgjJ!-V9E4B2%^Xh4ot*)?1!ayZl%Yub{rQdRJS;Fy{02~X9 zhG&7C&(Y2;|K!3uvNb8Tyg%XgqosS(j>-gli`9;&^o+iGq%kuX?UC%zOO9YRI z;fAh2$ATwIDzQ7hJD%1pDD}@vKsg^YT%p`+nNFAnNce0<;S&zfS5fh+0&sDJjETvG za0D^sGc~V7?cn%?rc=onmXNrWKw&t>NX%NVjFSO%9q%(fpIFEId@d>dDv3Cx9NekK z=lKIQj==;LnTg?S5ni7cz%z|w_L`Rpc@`=e;}SljZptx5;~gsMS4sGcEdUaEIB^_v zDG54-<6EIi2l`s*FD4qc$uQoChl=PukT*%&?@9DYl%kKTUIV5CJM~iR>%TyL{EOsw zKm4Ih+y3dR+23v5=byqy#{Ees$9)|`1)BhYoxT3dja&NeDU(Q4vlxlEvYH)MbI140 z;lM{_5sqUakSlURNG^w^@-s%DVNx*lPq$NX`QaH*3p-GKiDA0>t6i;DVT(nkvdHM4 zQgXQc=BpoMz=)k!oFTn8Uw7HOC>wx{J@aLyd4)AO*{Ij$^`g&Hpku&6mGEFvMwN;* z;WE78WJTNRnZ{CCt6NWPz^1A9fS3cm=J#mZRJ0}9zeI=FXbU4GWHU#}$a=zlHO3NC z0l5}B$;*635_3p6$#b0GIZ0vos3m}wq#bcdnqJKsiYIw3_jBm*c~Csl3u0ogX$2{C z6~}VLrC7{3AuJ=d1GyB@$5*=>1$4ur3$gEj^}7+fJ-pwQOYC<*r6Ai8V;h&zH__dS zQnU?i#hqv^Z1Y9Cna@1|q>rPO;VNx*8(LJNEojMQ6WvW{jdRzx8M;GKl8q>0LoO!U zz$N=F(DGWNy=X6VqAl)1gni6^423bt+6C<|rLuF6eV!M2iq#Y%j5T)zUiVZlUWm|Ib znVtKedT!swTdv3!-+48D_?+ttUwP^6Q~%#K zx(CF3`p++E{mh3hIr9^LbjigJyyw#EKJwd_-THywxa_&VKl`#*{`Q+LzV|J!y6|^i z`TXgBdiOK!zh8ev<>5=t>ezJFRMy{YMdY?a(!D;CzO1z;d#QigCP zBIO=CQej*Ki5+^X1Mn>cWG&~Q7Cp^;^;^3h_~2)DE?c?I-+*y?@U% z*fm=U(_@KCxy2wNFjO2o(GVSMqFM?(hHEn3PUh1zFc|`2xMDX1%@9cMJu>b;3IXit z@4;Yo5JH7C^az9|8>4v32NZDn7zoRK(zM12mdh}u6ydV-r!BaCx^!vuNXoNsJ^$;i zhKkXZ$slAAWo_2`U>RC3indinBg7-+-@fj>02xOKJ|8ritdWN4)ax3Pl*7i&;n*>G z6P+{>X;FjLa4u>xO1=7oM!S!eB)~aN-6gD?%P{~Dk~DZ!t0eI(gAku$R6rcZC`1-T zj*SvAEuco~Pe|q!L|HG3>3~i4@O~$WeJ5<6!y^~v{NdfEGb z`}~{!;GIu-;k)je^@jUjJLR`t|Kj*Vzk0WP_W8HTzdidI@~vlFArD`Fku1LW9NBcq z4C%&69v6s|&z~wCm(Gwam!BgmuenqfXx?{TFAqNFX8HWf?vlTI!>_b`^qp@!bM^<` zdEs;a`~%lq`hP!mL;S!8o^jqEyz815y!MqBzwgFtTfQ`NO2^}pZt}jijcwnBX{COY z(1#NHp`9yVMNWRRN|wKCEiH`cuOLGK-Ms}w#S84V9j!O~-9K+!^xzNt`%bbcqxu+M zol(s{WIhQH*s#xExqVmnjWuskrqYQDC8%zq*@Y)5T&596tAYwhb^auP=aiaA9*5yu z>giDd6;21ObD_e{;FvdsWNvaW=@$m648>(W1C$*K`oJJw{OlXQfl)YayFk`oaqf%` z@f9dJ!&->2;*GLI=rho(Wm_;r%p4BfKInw!fYFs5V*wFqd}azqJcgb?%k9yZzqj$vKKg%lKe~3`_}W`HtY$a^0;hz)l7;R*XIh}Y z?;xfCwWzAp>%|y3m#9)wsVi|EauGCx0Ij z{cdui%Bz?+P#}?@ztWHX!2z!9r0^tj&%u%@>GKgCBaIw9DX-yISMog6*Tmw90VgOz z7l*fx&GKAXfhT#p3ev2Pea^m@E)+`xnA$dgDa9_do4qJz+fc~1U}|w!a^6{eTdsd< z{PWvyn)dmZzv%2gdGl*8eDfdt&QtIF=!c$h{@?xCP4e+SyzbK9d)oysyZ_bazVC%M zw*32zm&m+R`AvUTv#HKY&XV2Fy-mLK_Fp^mEuVYfhBJTn*PnXl3-5l)UtRQ+fn6oD z1*q+Ysr4ex2I05@Qsj)PT1lZ}G2zyhFU&x3+NEakik>_E^FKEKQ%j_O000mGNkl{JHC_PVD>GiI66(>c2rOK>{>@zL186;pC5O-`)V5gq)m7!5yLzGW!bDKS+LqB4 z;$)0aiIW;haK;$)4fJE6QU*wTxj+vOOUq7}Uhg3J6*=xCN1Akbr(AOJxm~x>lEx?< zFL>6i55}S0@4_aGyuDk8} z$e6?xzVcgcTWce%{D z;7r-UY{PjN0@qzFbMAeey!+2Tcv^}Ee>i*E-oYuw9%R)H7*j!^&7&#< zFl`1kj=k-Bs+d0GO6=HfFZ;{SuKDq9@7oT`c1&*dEgO@9L!lD`fz|8%Z9Dd)7kFQU zD%qs!p^CVT!+T(WZB)%fXZV>LBf|qGvELu1?FyT|oHhn|(Lpiu)bzdmR5IL1O}U?; z)-5z4^YB6<6(*z%J$>(ZD+lo!IfX}z@W z`8_XQv{j6tAFQVmdTe5Ja@E0b@7KX070w8)=n5zFS*OXFRvl=YD7=MA9;bO7Lo^SK zKIl5Vh1N|yjd1lJOLQV~EIHD%nzxp7B*~0J%>tQC!7XB6ke;MqI+GUcskO@1T8nH} zDW5yNbMZ5tR`}w}UU>eWyzTxgUiRMKzvij`^2w{^|NO}{SN-ydH@uG7oTZ?wLPpdl-*)lR$1*}2) zlp=Zufz;1LSO1jj{_`L9eg61M8NHPHc8y-{A?FE?!2iz2{if|QGcXXNWLpta%L?^z z%9eZUz+0+l168~#s^HWWMyPTWrkl*CVxgkA01k%MEn%ZuMp{2SXuXxsVBl>ljaPBhQ!ck6S_52WDsdv6+M0j+NbU6x#WV*pFis+|4*-Z@znSI z!Mzv0{DI%Q{ObSs%vG&_`NtRD{GR)#yyZ?c6?xAs^5wt$ z@FkbM;`wL4?}F)-u0q-iRLdyFg1$knl5rR(g*Nn5r(@ab>{So`%>Uk41H@Nmtg8^p zZ)OD6Z|HhmPrsqf)B>UA^jQk;5~!7KsGJ#eNb?TdQ`z!7ByKX^@Wld z`5B6t^B(0|6_r{AAh|m*hD-1u@|x5Oui_wZ3~{{i6rM?j0xjS3rkC)-Yvjia8P)Se z&$;8Qi{Z0iPIZ?)mamT(x=Oslazz9p0;2^pt%f`2kP>&Ej03FB zk0QDjOb1>7!pjL3kO}K!>cYq2nNDZ7)vQeNP9X(>Y2kz1k{ICL?B3pe*s*^H7Oq-^ z&AZnli+g|csdry`&%1u@%y+%|MXi5xK7DEtI-Cb;%LG4Vz64t@m0c+oH_UklbFbT&?7S`oT)Mm zEeNSF$Ri?2-EiI0M(x9JEabp>%dKr+X^mnCna%fVgO{*}qGGdouN>swk zwwbu`svB_Q)z83nmtTu>rk;g%Q$!156v&7+b)c~h>yeYXQI}d&zoKWV~#t?mjc+;gqj8fsC30TTM|uH9I@VI}4)egqHCeHf1}dIZbYJ%%T?Jb~`+ z{n)i8lUTaDyE#$PI|lIdo-{^F7cPczv>1F0FA)VKDO!bGnn&c|(gFO+^KSVj z9~t%Y3X$p^H{Y~G$+*=PP;?fyEF^NlnXPBwx=XIX?Kj+sTdsXJuD|R?%xpOW(~48k z7Lys3P-*g{9P&vLw+%c=TXze5!6BtT<E{Z{mc5<${CxjPgkxMI@TM2b2jBSW zYu+`prRw9X4}9A&Fp#0f!8&F7*;ur2+pn$J?ynrHMwqcGIF#Gm2(0h$Q&&H}@1@3; zXo-919%z1IXXGa4t%o&q(ABnIv@SkJty4DlPAR*N>h`7di&_;_+>3 z@z{pPFn`s2ELb@oD>tsnNnQ8HO&e<%CrBvzT$#50fGcA#8$iXENdh&L%Y*DsAc;yA9 zf(ALk976I*iNNOdcx`{VkY$c@RPS>lSIa!-8C`EDD%SE6&Qn0Zk+?}TK1E+yzpgd_ z{Uo?fmhw!AJ3!{jZ}e3j5-}vf2*!aHauwHHcJAB@gr;PkZgek?Z1T4iF#W7&Tz@<6 zdGp;ApzuK2ul zx)7l$)nyW>+mO69B=y`q!ljX};Wm;q?sbCXETH+S>m#O!J%qxQf1qSY!&P(+?8nwU zTXJh#m&=!|T8xD&7IGha8}|3@#X#B*7qd|EpYE*Z zWWk|OiXl-9+d2hvmace(PLx@LaE@~XX1}@co(s-NA9ZO5!2UIyz&dbp>Stm3ik+{= z7#(Je$_>RfIRXn7cfG?!Gp+MfNFP zKX}By;WPi#_4(iW(E5G<=WjOt>=zGjf4d}85V;chkRmaP6kUdQw8q&C#08+eo#bcO zYGXN3;dmjL>kfh`SlBqC2-pPBcpnl2j|lF7m^=eRyqHUVI$m=jeu`m3bRS%o&-D}Z z4bl5Sq^NP}+;RCkD`u!k4ZYPq?CRP>0^f?okIl!D6^pQJ?Q*Q!ybe3}?VxqugN!qh zs4YgSTN)&PCF#sM=9VJi)w6td0m)jx>cX+F99LOXpa3vl*pHPoK_$&lzgu74VkS1CIN&lDFr-8hbSc7c-~ECjp+XQ^2hzN|N9&LpZeIRH!k_; zM^zv_iJA-xUJ0C$F;90-q9(_n9Vk$t>G(-awR~02}l{$f^NNqz%xg>G@ z&>C7j2K*qlcW%qA?J^t)(KkDE5XaCgy<#&B#SLdhy zZpV+l^OMRSuG=;985Nw{nnp89{b`#`&2*$FqDGTC%T4VF!h3MN*^%E=yaU55i7p}$ zTU3YIQb~b`%g>63iX}O+iBN$ae2((~@F5ub8=_XO3I`z^Cy{mW$e6%UQkx+$DXN_4 zD1ld^8oJXSY$buO-M$7tTl_Qbf6v9LEvp!|6&>aM=y!ccq6BKOC#J@UK*qe0=czw> zlaZ{|@(1h4Wdv}hrE?U36Bl*_$kNDNz4rzhe~9RVL*X68=%UYr!p zkR+N$qHIS^T3KWf8MPUCo5YtF&-xoEr{%@7in+^+7rk)Ykkn#M2(1wq#tSu~r#Mbj zQcC6ksL+X+JmPRuSDQ<&hNeyVoPNT%Myps?FOAKS$a{YfvjcWlG*Csts= z@&#D9Y7tg%UW3hhHlu1PB>WmlJ2@a(lp?VS94&FpOGOD>>z(%rm_anH000mGNkl#u%R>o`wVo^8dEgn7XlcB>&?MRe6l_}2F}z3n(N4#~zCf#`DlbjB1@jyZ<;$|4_+ zX_c!?(e$yX8b{h#6dTHHRs>e<@Xy$=vHN0?7EphmKr>V`A4yIiiwT%i$y`KeU<&8} zBq$AY^fY9D=RTy|f6avW<%yU~mqC>6xQA% zfN?y@nkFK_maBkj62!i>9rQ}n9A^ulQawQ~x+1Jk2gIu&V3D?BUGjq=Y*faDg%b=co3XEVKRiiZ1v%j>NoUA>4M|o(l2*XA1Zceg zN7oMtcw|Gu@H~#UY$LBDduox!BXe9401GIzW6Q3d^MA6YcH_tv6mlCa1ZGZa+oYcf z;j7H?3fQ9Md!plJv`RdBzUJsrAtoU3WCWHxw&P8O(kz=%Umr?7Pfi;`emMd%G_%)~ zil>T*z*xX@8Ly|W8%b7!Em+<=?$wfL)S{#PowKDBfRyZ7GqARZLS#@VI2hB3+wXYl zH*naod7nS`dvpA6eEhF_zxTk0wru;)FYfsJg)8Hi_N14!)S?TEeQBE+a4d`afKe+S zriPFRC^Fw7%Z+Gw*uZQa?T1F63T!KU{~)htl72-3)d{fkLLZ5d*Ji2anFYQhg~$SV>(Y* z6dEP-%wY-RA}v8Xyn z=~xtdtTIE~ctv2|I{%W6uH-D|N=OrsG{$R9o2Oo$4DPwqK?iCG8bOY$h_De3`?%Z= z28zC^nn;Dj%1D4r>r#)nZ3>eZ2xnPIwTAxwUfSxw-Osw|A@Eq=;m`ltPqN?r&|g3C z^N)XS<@*2p^7_xMT$j8E@kPa&JGbC)7M#pL&9xyx0p7-RJ$lPERB7pFBpen4Em{R6 zH=&T$VZ0-GJGy{)71jehNalu%@d5|KTX0#dB(v?g)79(kU$MxaD(0_42K0&ST`IH2EpisqOJsw6Rne$}uHLCQy#P#e zL;)Zo^+}pFu*86~8&=KY7xP#D4#LqC2#6SGEI5{d{Bs=eXl-lTKNgig`bZs%+JrL4 zH3Ey4?0tv#C2sd|^g>_+;TRzVROjbeDe=*x7F(@WLvL>{gv;$|mNAqk2>=w&d!xjZ zR6r)DCaFP}*&{B&x5Vw3IrUuMyB8Py-p9M={LN?fuYd3x`#Ok7esu zVq?c;ZI5`A%df&Qi#rBsb zwBS_F86$91jwhE}cuElv5{1z8t_wpnfE<#+qsnFWN>; z&LWa2kg`FP#hBH87OuGPa@=_REx6+1Yi0hN-gocoXnAH=?-`|9a#q2_XP{b}igGmu zNM?r1_!UkFgyq@-^WT^#mBtxFI)XF^L6In?k=vRx6~~&pq&UJJw_2>cv>Fav@f2Sc&Z&JJDV3 zMwNdxruDSi9jgs3KoaCj5V01>j9Gsjley5^2k#vx85x(6GFsuD%k9P(ST3=v@Cnci zW*gW*-Y^$FBE%MT@g{fq1oDITxqGCG61j#SaP{WIM64x11dfv#$tO=11HKjC`QgHQ zPb{a9dMpswxx4%6`i}5bM#L2$aAoM6nOHp*bunX6XehJ!5Lmqguj(0Ww`tsl3aekB zGBv1iK1xNz`(J+QP&<7XQU*j>g80E5UxC`J|$Cm}Q?p~)f=Q7wy*ktnN0 zka|JuH$w?Pi!VX40+U+D>iP=v(yjh-p@v@5jm>>qv2^ni{B-G$vEYfhczoYF?5*v_ zfaycEP(~V6p)S5^({Rq&}@M z1y`Pb8E$?0t+?vKD{K=U}x9PoU{{DLu!))l9>!D4YECi zP+3$?)~w%=UDgXmFUJ%%>CkwR>Y)K6aW_;Ct*d5tL|4-oShh>mrv+o1qy^)*n)>T!;(?f!q@m?$V4)v$EB98=*VT^_2{$H{x5TZu_}q&~ z;WeZs?e{JF&I<5pfwpxWnfpeGO#u& zwQQ?B{aX9|SHAr0Km3E=JNK^HZ$IY^8@7HIJNGX^NADA8Y4aEu>_t>8z;PL$MNIP3 z2-P*O+3>KLoaHF>$pXDWmhme!e3JULkc75kLp zbX-6Zzvl95aMQIn;);u|z!X~N*nSgN?Q`X??>t|Yz2++UX&iTFWh%R=(^^p0 zU$(-ZmXqU3L|&zT`@rHSKH|ZbWBX@>aLSw9>LJ!c{zUAKMzf#+hZm2z-tC zq<|5RIQH8(!Xkb;j^Fp z-_xhg1bh)$T0o&RgUkFez)^+Ce0XiVz;Wfvam7S@RG&yW_8sqgvNn9}r`zt+R6)iU z0?XI<+js9xXE@i+H8jAagShpE3%+#zROuM2n)1~itD-}>;|qZ!*JkYw|I|%e2Cq$A zjJQ~!vhmPmcUAbhFMH&tLg?`#pw_u__0-DCBElPk*c35q`ZNsoR*_X42|Pwo3W#Zi zTatc6A}HuuIQPCCiP(6dDGLYC3oL>(>Hs&_o1h|55<;N)M{0b(U0}W#E+w8j-d&SA99TcS4UJWJESl$Eob7Z z-~Q=uAROZkfro#w_x+hngOLb^?~%}`FyrgM{gq&B3i`++#Q2;x`v#5_07000mGNkl+Ihv?$E#Nl ziw@o~M&Plv{*vWS^u5wV)4|;>Alr)@u0M0m(=L&DV_7vbmW7A1$3Fs(&f7FwVlI!8 zAj;)3A}W5z4p;S^7OUQHcI7_ht-5t1$A2(e31H)b=&3D^h7 z(C~|IIn#~G8e;)pve$1znEJlMJ6g{DOzL@1=j(a?ckE( z7B^$c-aR)xqwT-nG5gBbe&R1~obsXHzT$bWeqQ@uUVNsU(${cAB)jeAD}Pw6l>sAQ z?T{t((|4qk>5mjVal^#1zcUI40$a(h1K4exZy{=#hVTAj>AegN=Qu&&CyQzy=}X#O zHRDT(ei*Y0FMHAS-x=%bamb8y6+-#r6@g_>_~-Tw*t2SB0bU~5LX4C|AY2!8G%ZCL zWxQ6tiRwj;1y|8wNY3gf#1Km|77QtP524@iZS|gnO@b$X10;U!2esy41>F8dRAf9e z(UlV=1x=@Z;d7R{M+v%6uxYxyJm?#$bY&ULv=FBf%aj`5J>)Pq48S6TP z^2aFx^B3)&?NEeA1bCIhhKrCD#zozmw-QRWT6=Ys)ElB{hPmBUA=S>a^O^3NXFB0R0Yn$)=dn;+*yS zYq9Kf)2Hs}y7^{&;dg%b($|0LZ=X8-1Mi*of|vb@{LQ&DWb;W^{sbR<_PMg}sTZEH zykG|5vOYjqX^tg?;~)a!p#7f*c))YNC9(zdCNaMB;LqQhhlk6UA@Jxz|C+^%_TDpP z+8MBMipcN78(ww&z2~>e_A#r}uz~}j4+A534u3t^y45}z)7JfUS?fpNQF zu_^JD)wQ#x?O*re=bro7_x%1<&;F-By>{mBz3I%i-gcFI?HrK-J}@Tdb8frlTSYej z$!ahWCn94~i*Zt@c3WN*2hPuO-ys*zyUcNPSR}p`KVPuw&8xgGFf^QFfIw%bpZ1k+ zto_GnGcHDdPY=iNe%x`(h5z}2XUf;dpgKn^G7$O^VF`hA7Ie=}+%)Q$gZd+17A7=~ zOYmx)2QnuZr+DfMXgEnyJP9^)GhF#FRPZMEJLk9>0(eFyu0{*JiV98fOqXd31~vxB z>oD=&tWtSw@S1D-fB2@?oc*3Z|HSoA``iaFe%jk!Dt~L;%v<~7!U{F1ya!6pf zIVl9l(GU+RYviOYBz6tM&>;$RHgwZ)n1IQkpC`*~0^zdXwq46`=@l(M__M#h^(h~E z=anyf`Ln0|?S<22L*tS0ybtHeBOp}dHn+eGt#al= zNDTqbl{#SxN_QspW!Kc~}$088=;fRELELyUi%k2fExiTRjLrO+T zMhA?Nxg(vs12oSx;XEY-6x%!lVy&NGPiO_Glzk1p2>61-?%rKkyk-#|S@H;0J+T6N zyLKYOKD4(DlwWd%9PtM&@;t}c<=J=L@LTt$ ziZfgv6LHAWDkLtzl%}GuT)@wNurqu(j?kU1^YdTa_|VqfmGcqBGEm-zH@@kq?|jiM z^5xT2{)v>M`uRlChqMzMfz7-9B`eqTKQnHbiBu9~woIw!tyUtBsDLC_IzT3d*2CBi zAys}ylDxvhE?W1)C68u%c;ax$ zg;Am30FGk^x7avzn9DqdDbb*w5=B{atykBFho zdp1Z_6)T&gO*&-U08ZrtB5o+F|uP?(B8~5J0pu=A_!oTl`>Q@s8Hh2xJ;T$lo%y{t zKCk6ZM!uwx%P|o8$YD7la$2@*+r7pXW6ynEV=VPdl#4db^P=LYh7GMIs$GVRuQS() z{>gR9$@mBrwoIy`O0^*jI&kJjBA?SNRWkZBW03OA(G?2Ej9ucPBJ>x?;8A2rx*qyp z%czo(iX(YD=*JO2YfB}IGNiUfimsrCq`aeZ2Ua}s80IgVixrPAM@Qd2*iwYSfxf&h zX_~@wx*<^kP_oM$e41cNTZC8N+V&8d?D*ARx%)d=+RKU1u!?g`0oohG!ib%~aSRTH z@jmxSer@UthYP$IILd*Bn$Pgi%4AJi}TmLJ{xzG*L1l1SM?x=I!l1NskZkG5S!gNHXc<{K0lfr=&3@s-#h1~W_Mx-Vh2P5!(uFw-UO#`RbR2F~r5Oc`ku|YO>JUibBg&eDk57 z{~klbISL5u?Dc2<{Xegn(^Dz6CTYK1dHIy3zxn1X@47&wJPO5)XqIL~a|@X@H3Ey5 z49-q{$t0Ntc@2^RHj7|f1l6OeXH>VSUzMwjqt@p2(Te?&Iw>iuG?IBXv>|}D&O!IG z8~#Q*Gc4~$SsLbPJn6lrb9}s3%Sgm2GB`v90~%Qrk1F@Z2izd`_V2~U-5Y6*FUNwF z3$b@_KRPO1=*fC8==)KXDx9VAj+t@nP|Iqlr3^Df+eS#MDT}gH_Z~4P3%~NByS~MM zraNytLwc{i{G27osvKJxg{nv_+d(&@<2@;kfYNI`FU0d;pD;WpKBm>Ei6(j5h=pf= zbM=R;4ro(J>NS@kK>-`K_s)EHv%h_!HGQnxTVe8{q zvU&-YtXho6w>^%|fes{54b^lIDaqTmMTpvCa0bN+)c_JXJ#bXt`2@on_6doMmU={D z_h|(slj2#|Kjmv^(&L`HZumyz2iew?O=a71+(~32d5bJ5U9rw@hF^&J@Y|E~kB_JH zebRAvNNw0YLo7s>-O1#lt1|g=n1kovK+Pj+nT0QZ^U?5W_d|d?^_$Q9^S-Y?vAO4( zBDchDdB(Z_`@!En|F*IGWyKS1QC(A?=u;v6ghOE7YX6e`U6_)g1>mx$>Qprfm9+B4 z3eZqKs(^Ih98uZkiBI1}a>bX|hJ_Ayd3%gg+u*1yJw^Azhl>}3hG_d$w5=-E11kDo z%d|8p5Elx~WjO0llMH=aD&Nzy58L-`#iNUUfn{r#)4u~1lDCuurZs}JSfD77wj!7V zYLx-hsw6kfw7?9b2%yPdpx?%vAn44&F=-(t%{i{1)bO+`FIaq4lUNR{`IFA)-hTDB z+6xXbaf7yxEd#L!w-l`U^W_f*HWrOTIK^rB!M;1_Z$6){3^@)ibpZ}6ZNiX~w~b>P z6cGlx6tGOd?H9*=bRW;a_kX-7?4uKskvc#3U!7lEv$5}2Aqk#-l|1zR*=;Wxsk~2D zKB_)WS6QK)ag4yiMajJ|(+zA3xM~csKuR5=RaPQ{uD=T{1ksR#lE)pqZ7N?rK~Ykm z(!?-v!`i56pd`Y!=fpDPdRk157IN8DkZ{ktYAe`BOMLal)mXG@Vg5bwO*=OuVH!=B z(M@P=C%(qz__}~TU#aAnnNkU+NOBhzo{+>+Dsf|wBuvY_@;nha-dKiJ`q0Mx_~+jF z^l#?jO?tWOB3ad5@_R~3=!&tngJdq;Hx}LtS0gltXsGjKAw*9O93LUaU-k|w_y7P9 z07*naR10mLiawzYqF=|D-ct0_{~{a{`u>>=NV$4LLhnxudMi?TXyL%inJk>Ah`{H+ zn|)^Cl1*+SJ(8mP!@m1(H?^_lvUH57)tu#I@(u{kW z)Gg$bVHI_>nT8mCSZFhNxi3Zo&_7u+pBp`#yC9#KP+yW`K_eTgL+kB#P?Ovd8U6kA znn|FNaGyIRk#{Fu*sy0k7Oh=`#p@Ph^Zv~kbp6l|z-3W_jOjCz(aoTF4idG{8I_tMCyTB4`uBc*9}|c36cG6OcYELei=QleZ;N=m=~dUh=iXnnzi|rL zjp?HkJyZ+3KCkyC>ac71K7B86Xvg& zk0tAt;E5gUv43D6%2I~oet2p#)TEm4pX($*C0|xmrHsZwt?c>wsYWM=Lca>=LibLc zg|Kk7(DWa)b9D@T89E|Wv zWW+-ug0PV)bPk>jVEn=RX7q6!Xtljwh6ycl9Wz6*!y*_WfQLmYMf~{DC9huPefzKk z!FvJ-{9u89!}lLv@adL9mi^X!H@@r@&nf-o2|PaTlA3W>qfnvKj=AKP@kw--Gu1SKF8|DL2!N$E?Fn7f~JVIHwcO!cJ0IEjg zxpGlrJz4}=#QbdvXB-F^@uMp$ICyAP{LrgMS19#%Ff0e$pdKc&vf;|M!emDRcAz3AZ1#pSX8!4A^G^9cRdAmJG;U-Vr|m54yZgkW<^o zrf8cuUL0{y0sRaGG+ZUWsb5klpf4@rk)L$Fu^tkxCxXC|$NfED`RY%;G-KwO{qK1D z&9~inoiyF=IUL^Jp;2^raJZi=2&~)h&)dAE?=IMO>I?&NUEcJJS5K{3SE#(9GR;W` zBqzPiW&97HEOR9Bx+c_>2Wu^&D9R-!n^#HdTzQ8?0OvEvXpL97FJAGquuY0xojb5* zGxx<;FUHy}YoT8;%ShfyAw@YI%n979bx8tuK807|y1hgera)^`a-fcUVYPH+z|cLI zz_20|;;msKLW5QBnJB5klk{3RX?VeNZu|}=$Z^XvuK1quBy$DAbB~ylMypNch|HUq zW0+r{N%F9XcF`A&t1=kscjWI`{aqus1Dy0hUq}uEsBpX`Mqpacz<+)7e@FDEU@-}f zEj#^<|Nf8P{NZJnU%c#{@4Df#>n@W;6QSApYcmlV654Qb2rOHQHw{!;Xkr#<5m_h! zs&%9~BjJT7Rf~a8nHcU{szO!aEmTgf)RBKm>!fmc&X&wzsQA3+k}ioNrIoAV)KBu2 z79c6qP_?)U19 zAlJQy`j}y2;d$>;UUEgu@FTfeS+&4~@Q@*IOg^2*@ZUp(Q70l+XJhPj`29yzfKT{QWjZ4mag z=xj09cg=Q~8mCkkN_-*$qoac2 zs4~=W01u&JF=TKf+rlR06;zT?k4WAETH_v7Q^TMc#NP6Ltk|?1 zKVSGW%vnAUJGyqlv>8Mc#2zUUQY)=TUP1B&i4|!TwornJix4&ON#x>4=)@8k%h0uZ z9Q_btNX^Uy4vsh8D6#XFk2Y{Mh8@8rXi&iy;sRB8imNZX_!~?$Va{8xJ>%Q0oG4{! z1(wYvnB*&h!-*J(1w;ecT=mnLcqiMZq@8#A@J8wzrmZ!cz(hj=aH#OYI3{)R6qJ1d z-~0Zmx1lMHv8`mspg;fLzVOX?Z@&NaFMZXop8u|~tQhjms*X`HycZ>Nx{S?F4acziJaCLJT2GZmHFTdmrKPNO zwXsD^5fSd6Cm5&>VDjEB*lLN=4eNO>N8`=q)HAU;} zSr)8?c8Z5X%yOUq?Ax3E)9q~ff%B3X(tX4ASI-qLYj~Z!5NA+~ww>(-4AW8+5c($8 z$#$`QI#C9qdegiCbSyv*Ln1d2w!JQT&v0UuPj=!K3?vrc`_aP_j-1%a5k2?x`?DYX z`VT+wPTqqjynY9o{1gux z9ga%Ji%~VJy7pjgg}1}xV8pR}WIU1+4v|CC4=3eAV*u*5Tr}LV?1rm;mBy#abC;H% zFL=1vp^6&1%RSh#Z!1=8Sc&;77GUeX9q6j`!bKh^NKW8`wF*)attrJ23rHk%>0y0+ zn!#tRKY=1}5D^$-VdI!mfGGJgt1L~CCJBD|5y2B%r~+4E89<7B6@d2{t$b?=fRh0>6$&fK5Cl16`}qog}}oLcfKK&cF=$Yc>`o8sBvJ8z*4tx+ZfgZLUCe{ zs&K@3DjA+oaY{PIL0wfe8i%1nN%?RAG-HRlMXJQ*U>J5lJZO<1FH@h@Nrk$O6{Mce zb(ofs(Uxo9YK0X2{M*^P6Dzi^z`S+yv24p@*je2P*PbD> zBwe-v4bj5r*X4QVSWgz_hlDj_#gy0$OE)ZC;F;FZm(j9R@uCd?U79G}uo?3xAj^a)iYO*E+;sIhbFY~uolHHU&KExG{0F0Q2jX-P z5w|cB(*h4-!!f5s4o=6wZ4Xa;Glr>nj+|x(fkO*k9EBrV*x%sz;XOQGw4wHCyc3U% zW79ECpMl0{8ka&i`Kc71g3tfYqVS#cBMgW=d-hz`Ro(s6=iYtIpB^E4LIvrlnNST1 zjX6F9<~{CT&^1sv!;>oX2_;1p^{WUkxlq5*3ym8t8bheJpeiz*o2sXkJt9;d#8 zqR&Iq4W;)~%o^($=IBwObKs;7L#2|!k<1HLpvEus;Jt_-iVXB~L>a4)NQRUOKcNMy zUp1>_HS{O_Sif~Wt(VnUwP`iBcWj4#S6o^>k~qa+trw~+HOu1@7L+GcS0%r}fyn@s z?IC^~&mm;@p}f4OpU=<%6b%*L(>jl{6m2B>=iPDrgxWu6>+opi3MP-vV( zt@+%|0M)U~6o((wIrShaXRk^+|L|CZOen^{liXDtGf?q#RoYr2#3b`9b#Po>G$iww zaj{y@T>f@StsNR zg?gRF>`E|1L8E9Lw81(<(WQnQ9|k5VO02U@%ZRcv?!Nu1Z!>g4o_E~(v~Qr=iy|r@ zt8@K=9j(xCKuBgGoCu0y1RgnVDLs?o2p_q>BB0`=DPno4;&6mablkU0u7N ziw~7_5c-p=achAFUxd`BNUDQKX~AnAEOv}fS1(^14nxD7qQu2up%|Bt$Wpkpf^*I} zbN{X9%j5M2Cf@aV&%X29)k?4TNf|} zxpKuV8^tDW#aF)l@V%1{iHXtTk!Xb(iA+Ks&4s|Di}Bjd?yLxz!it}~g>I-(XhV@) z0rD$`A4KSWk2XD=&AH# z)6Px#2i%rD{us9I-HOE2P?}PJaOrknup4T%d&yAav#F~BN&vLbfeenz*ckJ}L9qcX zbD>o(1WDL~~=w8Lq%s zVv&zCC3A{U;DYMXu5b_}E>kazZN<+QJpOB|_WJNsusI@=?-JgM$=B!j`TQ-jqrw?+ zN=|ob6`m3Xs#3W0DeAf>=ag$=fIM{|PJ^h2^sI{ql*ICI3?01DCGrFwp32>}T6nHK zmwh$2zE^Ktg9R%WVEwlB=Tv&=(=>Sh78Y7o&w z>jvZG5G5)0g`ultu9F#+!O8#zYl9fzOz!`Pdhhed=Uocs|GDKUO)7=kq%L=h6p0`JW3u{)zuu z_OTEC=bAtLqp$A$c+JH9ebq7sX{CFefPsTUg}8wD)Vs^nop6PB4$ga8=>_x+rs%Gg zFlSx%>Hy8;MBwOe#^l6f!nbouX>;)Y_Yqq=SA~2co2Y1fi7)iX0HC zW$I`pElZcYi%4CHhKbgQ`8wvO-_O>sn^kC)?;YsGs?BRL=dt-%uy!f7_d^q0pa1|6 z07*naRPTjrv&agL7CV=uH6yM(O2L4}F0GaXRb5(7xxY?JFP}Mpg>Wz4>vzRd`l$%D zxUm%RhLahA;ns(WlDLW|2Hto`k&P-9QMLvAY{|M8{{0tz@W+4qg`a)sb6CeyqV-@=UXt*%l2ToRo=W{&%W0li*UhDXo|C;;3 zzx@2X5BiP&W_D zV<+c@V?-M+V(65R*mgYl{W)*tO*khZ0y+vNVY4T1lb3A38>-3Fw3-;?#BmBxsG7}n zD)aC|0ysF5k-E8%n4$MW!cv(MpgM*g>MD8F)1=U^v#AnyCZlr7uzA-etlF>=%ekb! zW$zYLq8g&<1*9d1{%S9keMY_R;7Qt!lINvLPDPlzS(N5-`wZ(G zpU*a&gRJ!e45Temb?lqC1xQl3nr@K*+NX+%3L3y59MBJWa!e~EY39*7bvgzH9Ufh{ z{GM$+er7;u@*z;yAg90Gp~NvlVBymJZ1`ZKY?)_%8Frj1_#qcCg z=Sj4TRTp$)!zJzv@SH{H@5SdlOD=P?z!KDu&fsbP1Q;y`%t_;*n1j*bXH=a-T>2k0F36JFi3B0-&g$<+ExK^$WuoGiE32 z?uGTu1yI6LIix;1=_nS#xe5@sb9uD{L^HUvJRQ}njSrCkwJpxjPiZ38BSzV^AdSvI zCDnH6XFAwc?JJHY7`8|1Xt3K*mpWeTK-7hU2$T5m3BYk=EU`?8MN1psl?V_1X!E4_ zaGdu~dSft|556&zx%rc;?aO!it9Iif5o z}n#0P#!V4Z6mYA!|U9V|&bva}d80Zm9)TJ5@O8b=l`v$~3koR4Bp z%dCb0-;eIB7i)KI#Jtsu@z@iquy3#nY0;w=r5GspP&s9s0FcC)p|A{^_{b|y#RbO- zdKC`i0|Zd_3-5;usPI$_!yBUae0uCoT2>IXu-HEJYlCu^RpKNF8Oct?u}!M1Gp2J) z@3<802bhQ=4AWqKlFWc^~WZ;B4*-rVz&$|C`?%esGx$U;g|8qh$ zZUh=*Mj(%nMUx<~XxX+m!?sG)Vos{6{bpC z$%-QM3$x9Id4npAw?{ZxnInXbyCAlSY*w$9sH2S{u5>I(%#zf&kb#JRMn0vhQl(8x zB7_3#^dW!~mE6-*uH#s#!b-g@mhH2gs3{~iGZ3~#hyhgc#_2`d>*-Nfh2BYg)`tx7 z;E9+MK$1Ck)8I?f@TKoAyMH1Rt(=1&&iw&)_wPm}D(6}DgB z2N4oE$4CASBsGBVxNn(`Z~tWOuTKP6XqC5p`OCZi@*7`zWX(MCPKSL zqYYHKqmgaMbG#uie_r+$WYfK)Ri1g8&eV;uQPw@Rnoet-N~_V(05_OArHGc2pqBJf zdXhqMus1_@cYkG1ZP)(wcy#fPuxj&iR1B3)YmCeaP_Pg#$qOxfP+>bx4!kZc(+`G2 z4<=JmS8<#rsHpOC`5yA|3}H4_^EpgB^F1u+^xu+*q08%@?N9;hDk`3JQ2{gwZ+O<% zCmh>d|K}vb;-sDyP2_63v>grc>|6Cawsfd9Y`f2eEoCTAjqvO^Zs$O0U+*z_k1X|w zLae4`eCBtT`@5SNoky3I-|~SEKh(3Qqw{66XWw=9MHk89W^T`D z*PU8qw2KJ&pAZ70lz8o$-LFrxDaAse0LwMpS}j9tkz0Q!TV!q>P>0m?>r?|3)CT*J zWt~2XJIgcAEN2&85q;xjub%$ix(evxu)~uS4+@ZTz#(CdPpHrtv(wPR zW`8)YN_e*QKs{2{H--MNPA+VJ!u^bdiaV78S2K#pgu)4#&H)a#)A6|`5_YL)8#2>^ z%(6WcZz8B<77Ww2)UnVu0z>_!SY-t!pm01KfNc_b^oM2gW^;VNdq85o-$n2>f-kh; zf4=|Iru?+KF0cRXKW>}<#m_(T`KMlU%@=<6x1V;!Ip@e;gyWb9@Rd4de2AO?2+UjP zU(r9{+l?)eGc&fx!di=J0yvTd1CDy?a&J9Sm8nYou5tBTVn3tZVMc42miqSOyfX$j zzw`wcf8-C|cFuX9erIv^noXV8bh|E?7LS2i4RNjBTIMQAGem`TCIlGm?T;=;EEh*7^3DJY|P3EkS3n& z0Ytnt{R*IYF4z2BLA)$9K1!C(v(n6Ai zur5c5p!qvpL8#)U0#XjID(S8%_p`IU`}rUvaq!YSXbjfdvHmK1+LJYeFDEk(^iZ%pdh`=cK@b;(If3QCbJaEXzoXm{0kNKS z*272<&e5$5uF6NKiqt$%;=c0p`FaF~5CR-QovooNukB{2rwV7w&IVX^+r2M-Xsc`L zj5uJ78}D|n{OA`RUHzwv)?cu5vm0AiXUi{q@tm)I?%ZP*jvFVd2TVl=QAOAb22pK& zRgV~f8*keFu3TYE6c!p$;<Wc|l8o7dx*Q6sFo_Odjub%zB51oDN^jAJl&O2tL>^xM3{`j}MUk6*{EF#bR^%$?f zHCO;T0NMoHCd?EMo&NR+cm%qIfF4;@#}o&&j;Blna3O>f@d_u=SKhSx&E3kp4-!4N z-Yx$8ch}$a{U5IU#r7xMB$GsL?C9cSXP>?JC9ivN@e_Se#8**SWLO_3Uk#L(}hTOO|G(f|#d**B)`X;6CD&YHOM z=6^hA=BqFG^ps=&;o0)vGiFHXsldGG7Wc}vPb5t+By^T)n4inOYQ&U=b>ShsgQY`- z#?ZKZD?9>64FTQgvcj>%@r7)4&Z09ir%68zOD&JPOd~G7;>L5-w?Ae5E;s5wf4b|3 zU;gF;%O6=AEpcg4a=C5xq*EII?_HmqId|zC`CEV1Zzz1}Uh$nD zth*c-Y07bgGKo5$%fXVYlf)ob7a=C83RmKiV`5i9L!Dq$6JXmOO`>>B`Q-VH7yk3R z=A7|`f0}yQvrmwH&c~VJkoT{zyzVWi9|cFn0++zL6bVg;<81+_!ae^(=HdfA0v>^< zLcnDar1NR3i*SW+zx%8)@0lS_y-4VfdJncTJ)sY_H}(|uU9r~9``Z7kzvgGZSgpLLY5)Kb z07*naRCDp8kF^{px$)d;HyN>V_YH9>u(UYteA~dGRH-1f6$C+ya_hP{=N{hn+LuiE z#uq+)?5q#Jv+m6&&Xb#;qR1x&Z`$PQuUmG{tMos*SxyuTVmK2sUQ!k5Byv?a^zrv$ zBH*KW1olH9`#|M>euk4}A&(O@Bhaw zciwSV`5DekF)5l*B9D^8VL~7wpIYmXGY)CFox^+^>Z9$*%f@8l=(e?Qc;zu4_{^7& zpYn#6bJ`p{mYzH}x%|Cvnf0=7pF4T_E1xa@JyE2c zv3qp?_Uh$lTRl6sHd8YxQmU5(j@$04ctnKxYlU>LpOvD^-~En&ufSkLKy0hcGF_Tc*bn6`8>QZp7# z@(^8;vuz<)$ii)JTiy-CTah;#(h>Df#Lql=!goIPPm7QF=eJLO$upP8pBS}Q?t3@8 z@i*MD`t&#vgi(Qc8aO>ir;U~3Qy{uJcO>-egFLqWQ z$BBSJ9FsZx>Dpzz`XAV?zsVh3OerDyt zb3bzI(l@?bKHYZ!_?&A9sCKQ{y*UUFxZ)P~rq6u#{#C!fa@~7lHxsSxjVM*}s3ZX@ ztiOIc4FM1Y3D2x{p%6UgM%Hb5{Pi!H{coT9(1Izie^K!>PxbwAX4CEa!ppAupv#Yd z334#Pis)xuf>8+b5e%qz@Hn1#`ozzD`NOl0 zn>$hbe@N>Q+J~Q5`@!MI_A&bnfrq!aV=wqo+x0*G>6)MKYMVJ$!l@{yMMPFm6oBIh zQ2+>MP^noYxv>H?d#p*Z~g4?OTY2``|iEv&K)l<%QUnlEhrRPU^vcQWfKZm zk2k+!_CKHhvDpi!Pn7!(H*X)W_Yg3>mzB?{w-LDUA@_oRKkwm3{&3Y3AFl*6Vd};q z=D;-M^NunHDL1+Fe~Fv&E{v+%f~TLH|HD7M`o$ytc4En~rR%@^ug4zqil>YJ?`VeuY#+tZx86rt`)s?5!2Mg?#P9#6eCfCT zbLABqwl_^En+YhpCX{(j9>--Ew4tf44G|tgLDu70r;YvLhu=H**pIw*^2<&=PHyOK zxjjjD=^gF`Yc`i#tl`Ap8sv&Oq@`9ss7SK!$zsnX&H_S#zdQmSfrBC-2My^GpyNoT zi@FXy9Oa))`GdIRCRVroQtmdDpxt z^3dVr-&b*db=i$)OWi~yu8u_n5GoKjuE;ax5&|wyp)#S{P(X1ajO)7~LGbsmMZmJ< zBxE_5Fj$94P3WxM)C2%0_yLc#0-lxY_PPio>V%o&3*fjb6w$^lcbAV~0}FBOuw1F% zc+ck3Zr$w0*Yc{Fcdl_u&ik(|fBMG%tXh7{O8df6ZW3CNM?1@i>NtKmq)oYkmfYi5 zG`oD+XV0B>?8}}nKdzJXVC zl5#s5>dVN78-e5jy!g3OzwxC{&71VD*N%Mes8RB0Esy>(^_+j%-4DHSd#eQk61N0A zKTna*QK4w1TmXo6HJYehQnPr|Bj6Fx)2D8r5b;<`kFZK5wD2mpfvV(nkFC7W+;OR(W8(TlDq+S^N8MeQ)Kmdml(&SaCDZ+A$ij8wD#3 zFihLF`!VE#CorOM^Y+)hYWizF^`4n89aAqc z?Q7PJm|Isr7jY?%xUGT)zMY^wL9-+%+BNaBo>u(we|&qv$a7v3{3{32hJgawjn{2@ z!=@*;0V0r$!xL2E7>>kVU5$gQa|%>zStQ`64z5CI<%C)BaXAcac3+B${kfnDhP^o)Fad-r4(TrA#z1X zrHE0Dlh9C@I{n+x3Ua24brgFiTzqM-lj`pcDIx6E4+j_K;%mb5<(4Rmd zSc_+$QU8O_esapBb6zVSo!lf_2O=g9>~f=TyX)a+riiEkV!)Q6R-@#u%LcA8ge!wg zNofPf>rPEC9s!R45ilI@Re`R`RXAp#VhzLhzb!p1bekQV7$YG0>TwoV>2Mrb+$BRG zkT5_L<&n0PNXiC9QwNj`MmJ5wg4s(jcgA9j8#$8%-Za|fM-_H)tG+#PNSM1}v4tFv zkJ?>*@sY~&p51)j*FQOR_6c+4Mh17iy?uZoz*jfGYBa>FbL;)?g&+L<{f}IG%a(uM z&NHg^_Ihq_S=7~4(A>BKxo9<>cFM^A{oJ{8X1?oA(sc4m{i~@7WKJ$6l@Nonnq#Kyc4lx{)renVmvI#-5^5Z3dj|Uh;n(r2zS;1 z$FXbEoftQ!{l1TUbk@>0zeGL*e+>!*%%G^{5UAv)-EQnRezf`5-~O-r|Fo@r;`CkV zC`hh_=UIa0{4OLNH(}AjC;s=m&&{3nk8jDpV|97bT2M$vp6}0Y3X?GBooeO~ax^^5l zH@xm!=Z=}baJ<}&{Tjb#*%f0_%-}#t3?*4UK7qz7!To3^yIkR~12^28(a z;IBc4fEjc(9z+#hO~U)c1sm?Z=&}vpeSFurmWmk%7=dw5pefvlan0*CfAC$?U;l{@ zj(Nthqh-+jRN^I9-g!<3x9nU{hm~m4~?Bn(hkHBz8z;U~r zM^M5!J{1Gepc^U{!r=tRL6Zr{@d8m2XRw-ij<1mC>=B7LEDKt~Cd`>~ESAnY39}|0 zhdOCMkmNYgHpp`a%_V>d1k4dS*A62k?*xU&WFLSNol%hR9k=M)cP686UFS~1(7lFa z%gm5$)c|PJZ~x~0<%{2b;Py2ea>vJRH1dTO)~WO1{WA-uowism zV!)uhe}C1@XD5nCX8-^Y z07*naRGBr|HYHOl9y*q2I=aI!4-rm`Nwh*T4`~l5qR~q!gfhNy3>F=GJWe=n5vGlu zj)tHCQ5+&l^9WLti71OxICtQrz`}qTP;|FG*77+dSp-1Sm^xG{O}P8k*0;c4g9-sN zsA@Y1D!Y2SoA$XMY`@_bm#+Oro1IilT|LjI+E8hI5F-nZ?S9RRW_{+%|FmHIoBkm< zUqniSph*X;;vesG&v<0h&T$FP;vnosj?q+Tz)>skRs%}pqRInQB;dukR426XwiJJR z1co^Rp}<4|B;?o-9XK3FByU5uP09%u0YK7gG?O-u~Ot@ktlVoHJtE}eoEE1ozD z{^}kA{gle|Q@KO3*eh;!Z$J0*ci*#eRmT~U8;O*oDvGvYRMXDgZ+XqU4}JfO^G3h+ z`Oz0gjgno19e`h6dfi*2hOvmVy+R8(wkQ*JDJmm?rdX)L&_K~`L-o@z6-M{BM_||^ zkfz9vsAwwJqBe$fxvZp2a*dEDp-0H^c&j05z=V+#c{V;5C(K)dagAe9AJ#+v|B)?Q zL|nb+!T>rq=-kc6!7jrx^vqlkfrs#1uP5LRJ}Rt(3nT2<6|~&E(!JAnBJLx5U$ z;8kj{)yO$l{Kk(qUwGjqYyKz7&CJtjgJ?JMxz(i?KD*^}pZwhPaj$-k{JV%$23y+> zR^Pwgc;{PpmJPC1xL5=v>_D}FN{z6EsdaU(LTmLlfKVKbOoPE+9)V$tfas^vGB)La zAh!qH@yZ7UQf$N(xygv!@Qgg?@|ZMYBDdC0zzN5lfC(*=AsvEJYmAgyB_Qb+qC6s9 z?Q`65I07_ruq*pIX~@Y$4gtrb#*b|bi5wDBMiw09<;I&goPDq?ynnwTaL|IOSq~cK z0}ca$O&xB=zkcnm75Co1?bW3YF}AWhvK^0^(-)8U-Ua8LIQ6U-)PH`8NXKDhHE5#z z^wu4(+gXvY!filZbc1^lLVZ*f?NT+-CUN!7ZFfh~XB2u+%Ve_vTK(-2814vgl^g^) zg!v+jiAc@~${iI5{p+}`9&s;x>i8L0y5M90#6Ua0%%62UnsQAj?JOg1O^`|XcskDd46^0iw>9TRgqEW~y!Jx;Fr!B^+c z`QYp7J~*LKwhZ9vce`pAUHtpEO1=?NYy!jr+^kbG>r9RsLWPF~sNVFft=_91 z{^=1I)(E%?sWY~4BvmD4g8;=`5hEK%Vf>i!IQ^tEFmviLC_?Ryfunu|UeP z+S=L}EWZ!0W-NaX0t8HN)N#1waj$c^U;b{#e}C_PuKlI8x#qOohLO#7<9pw|_|+eI z@A&79X_5zqDkf}u!?L^9zPOSEaHSHD$7@}PN@Gu>sV#U@o6tv~{7wsRdWxm#Z;!yh zM?kc@b`h@tP#8oukAONC>{vpR2>ysp@uCKY`HyTW_FpkE4 zH#Y(3L*nP2eHaB?=^G>*(uPA+&)~)6khmt?wX%E;{52>LsJ-z)QQ3h|$(8He@jw6e zqjy|-?bfr)!Q`lzJZj(g597Y^kx$K-efk3V?LeqwU)JGIS8RUk4m%35ZrkO;Dxp(3 zrDBj$6F5=LL5-jW{T)@1RT0)oHIZ{nL!r|#4Gn*L1bTpgs<1A?J_m}hiyc@j#95Zt zDOtayQ%xGk(i+AwB*A?}N!aWOmpyUFog!z^UJ5SEcX!#<#A&b=|rrj&&}TxyMbo`P`43x$w3B z&~ok!5zcJ~PF?$|CYN8c;;fP_LV_HeDlw-e8Bi}|0wrzrQhya_n2LI;sNz#myBCi@ zFCajII#@2cGF9msu6;FgA0k~Aet?IPVCF4Z=gzDli93uU1e~CXFjHMJI|o-TL&u4p zNVzygPI9OViYQ0{4N(I|HH^l|$Df1+$1LE=d#jP^KhyJ5_?q2^@Vr@4vB!W(m^6vsjft8!A|=vCz(|@)gK8HH6d}Tzh>uzM@XHb zJ5MU=_arfni|&+X&pZp~5tNG)gh9wHa87!;W$m~c&j$q(bsm-76_T{UlrdAV@VG@- zG;cBL>gpIbg0(;#bD__bJFG(x82Yn*s9tuzc2s?P^U1PE>W-WHAU+NPEmPqNOg^}6 z`NQw;&C+~ceS-ksV&7yuSaN-;dfvUxE&Z?mz4P{!4?XhSe8ISF8sFa}t19)I>?$lF1!~EunXS$2TQY?tj!R?BlBV?0blS zC-g%A_=g+Zd%pD_H!WMccI(s`Q-fO~KMZq-W*;=@(kpLzdzfoP zg{uzL0FsN4X+-$TBhb$X)Cj4w8jkF|zjOwn+GqEwK10ev?NahK7S%XFmAHY-tznsH zVT=QdTvG##F^Eh0eejgWP>yHb0dhS1ZZLJ2&@v7u&0m637N3H#jbo6sCP>>Yx8L(z z3+E7-fU9v%l8qn`VO|0eu8z56*AKU0zsm}svY&VNo!Xu*skLQQG0+xj5H}rI=qTK= z9R54$3djH!Gl1*XuT}fuuOI*ErN6!Q`(sD8Z2Zu>pZ$u@d|=_Tj-4n+_zzV2wF$ji z_!SShlhO5uMLgl3E}Pi2GL6!gi9HZl~i(;rqr$#&(QEQ@B;1 zlr4n2R)GWvEF}q0pKHLZ$umjfC-Z!KKAQ3^KzoX!DWI`fhtP&d=(b$JCp@;QiRD(i zik27zhC5*a`u4KSUWJCFMtQjDWti0bISKU$s`} z#(m{`53XB&(;aVl-7C)g@K--RZ{lgk%O8$@O$Jtp7hk^OtT;Cksf3U)1cakM^@I+8 z^)muWKNKb9uCjlv$iW9EYl|wGGapd)$wyTrgSyvf6)5h9z%_z~l| zt-ctiE#O(6a0!9|P zd3K$Bp<6;269KxNjtF_lAxuJ`Y*27TOlX>jIaBB2^b^j&>`AlH7&amz(MK-i`FTFu zemAMmG!POaSZ1vXv_k7797=}u6Jgn?ULpb!$s8I#v-IIZSL7;2v8WciPidyJE+!9@ z*q*!YdHhwJbmaDldFMRMrubg($@%dl&V^s!F(R-`% z>&ve`D-P=5BtpumdZv(6+bF5;jpl70fq{oWji9w=S;wVC`>y(Pi5!F>TpYty5)ycT zC|`g;i93bm7I`tOhbfcSTT|3?LOW~XF<3NbN%l$g$z!G>mqe(p)hf;2~=$<@4& z+(pTpMb>U5Pu&qvfleT50sU@T7`JaFgl<6q&VmplMQjXWJEC~iGQ0x*8juJKdqThN zwhbQ{J!1TZx4-GkGse`*h5`AO`ms`vI9Islmb+e!r~qm@fLn$Z9O;g$nUq2+{N)iC zXb5P(+(!Z!A<=TxtzRt*!#qOv>9nJQ%pMkCJ4jl)%G^c|p}(D;lRQAb3C&}%bp8^Y zal&aN^0^pQKZ0>`+*S{`0#_n8G!2C0t)!?#2$rp;oWfEj2NI-2!) z?C~AXTReNhPZk|hck$6IcQBQ8)n7Ngu}zBHsbp8-;5LOifTjpXz7l#j8{?CC1dav* zCJ0~x3j3>NzfF?_X@%=eij6G_`9|21AT2o*!#Wg#B7(A@o~!ZcW2fL`o{i6)ITz!b z#*)NC#O*O+lDyILbMBc3hxtbyR9IXtSwANXq^AfUvka^SkyB!&J&u_!S?U^+!fD&lss zEn5^#9qOeXQVKAFef{`Z$K%AgCt%j3V=$u7jH0g8d6q7TLEhw0h;lH(NdSie_Pdn0 z_YsD3sGw^NGqNN(s%aRmw-Tv}+7BhQybl%U$ifWk76LpTfU-6dYn?J-9rK1^oVcJ| z_38is5CBO;K~!tGmiAI=&{{IGVg>wH*of6YyY;;dv^x3v3=jnF-R#ES{@|m}+7%0^ z!4O0o+@%r_c-0+m-%VxasN77T+ACot4I~Ju$sAWcbo$#PFdz`nHL%LQl?kE% z54gir$mP*gSC55r7vY5CmtywRV@cu#ly;W61)n0~mb(6fl$=BeN&JQk9f}}|4D;hz za^ld|UI7OJN!@0mA9T|nsnON!9$^eesosVpzE_mgv4`M0V=%IzR9$Lmf-s0$w7+_vbUb?%tnsfEv_w-7MBm66Y9=ppd?t8acsLNzCa zdRR`;(~fqapv3MF=%<674)LMa?x$+eKH)-_3Jtx5IH?J)z^Vf7Vps(9&%#uJQ^XmGFr?^)k|j59^Jm|Bra3wch@Z3QkVQCF+dQW+>U?uUA)(n}q+ zAH}G{B2W$Kc(@uw02QCsO36I3F(Q&WKnxKfB6Oj(8QBv|^qZiEmy(mpo(YVq6pCto z^{bg`&!k$OWLQ`zSwQX1K}3idu}hN-7eg$gfO%C)^iMJpg-e)03Q-t|DKt;T+R?j` zas?ccmLmi_Cd$4}#&hwJ;V8@=I~yk)vjiv3gGH?*! zD;zkL@iiGZ2wd`)m1ng}J)90>Dyx085|zrpscApgBnlwh)`gOIk|3d(%jbb|jG&=` zO4w3ur>rD3BA;XfKnyGus47gXE_jm(dQXdD$J z^kIBHK~#kODk+yqh$&1EK*>`5RdjpY63@8QhFpC;0^*#K*n=>F1Q92h#5DW06S8XT z5Cugc*1Tm5@K!pNs)glrkB&f`70to*M<*1v&5_=>hYm*}TT~j^yrSb>cu}8=j zA~8e~N(F|duDZ3Y0jWVG01Pt82%K4g{VfRch@v9IL@+t_LH4$^%vCyfiZos*5yOhe z1qC!VjzUBdPg`Szaez^EEtoas7%Z880%ZvricKiy>R?O={g=N9x68R1!1M-T6l4=C z`0J1eC|)WefCwJ|ySGDJ5!|$VyZ=r)@faw#87LL;^%yt^{QmCv`5U(EY(lm=4*|}| zLEQ}{bNDW^_e~KC?#t@;nJuX30ul`g9Ubk6>VW!O2@UCHG$xz&NIrQKx#SVlr)$xa zK8hB)RhpCanZ2*g{qt{$*Q1GbXkz(CZa#+QEbXIN9?kK(%&mSS;(IzHtJJ5Dp)uKjQDzIx$Iw(}cuYL(2DDI`Xm3auhw*alk6=`O7sfPHkZa!v+4&gi z$~zJ6-i>s7I~q`jb0_@=fq$a)^0|tSMulV~}E@*;v5tW~I z5lTkrtYT)WQl#H-CwHCTa3u+@C_$_sAyQoia#h;ww&G3CI`-dp{plmJ?aGhK_A5Uk zyRZ0wl>hi1sa*a(Y5U`cMZ>mV`C*1p{`{eSGk3BMJFonZ?Cg$t#lNr}lq){W^qR*9 zXnsJpXYKh2+w?E8{R+0fQ+6_bR?eT_Cp#%yFMq%6{`0@c&a3`OcKqdol=sWlE8atS zpX~n2KgrH3J|eAu`KWCD!~0~*@82b*zkWa}*Z!llUiIeSl7D~gOFrV#`b6?bm9SiOKp^grYKyhST*z~GSFx~VQVfqhiad8W zWNiHbm^{zPb76oW5EujS)xckekAM=l##Y=!w1We+mAXTK*fn6~s>fftX_KqhcwYJ! z0e12Jt$;6mU?FhnmDjx`Y8XR$iYS6?1ump-l2_JQXyuRwj2&1N?}yqbEcq~kAvTU^ zLBGdj0=gYeJ@NRT^h1?~Op!_uS1)sK{Oorg`~4Tc@!&%j|8C7!HgB(65X-ozL1)Pg6^}0k~lTU72TLWGCJbgDi|34}TpRfql=;_l;{| zkZ=N9v30oPF}!ZyQ19vw1lYCvqgY?&Kt$laU2fF1H{bcfwhAem#AKDE;8;~9?@l3k zL5041OtlYFv1AGnVe1oQlblKiBq`w~FMj5w^z`=;B5>=S?m6H7VcUOy@muR3{mIWZ z{^a3Daxd+O$2K4uQCD^dV&h-~M1 z=Qel|_}yP_e5*4BI7bcX9L*F;=v0}R(o|(>U?I9_SHbYUGMKpZ)8FsT&Sz~5lkCK4 zOXmFF@J8mTTfbt3d(QWN?Ed}T|F&u4fBnCmSKYk4_@Q;1Mo->WYR<=DvvI{dPza#d zYF85*a04Vlm_~?_93nD!#O|qK*?Z6~yN_5@KjUFp85J75&3;0szk7gy-}5_+jZ4yU%PwMi8vx7U!ZilDa6 z5Z`@FK+@rPt%x9!6w;0cuweg$(yZVZo?`nPj z6Rl&$?R zu573*p`r?vR4!D4nKE^ZNBh8OLI2c5|7i_KKF*QQVKK2ez^fL^W&Kl|fmiC^SG%Ww z=VJFC=X_?}6JP!Ix+|~z`>uCC);eN*TYf~?UW~-mJES>B5>IGaNS^&JXEGvBNERxw z7^LijH6hecskK(Wfx)A7sMP#~eNzQseqF@Ut^$VF;(D|D2n3wS#&L?&hIo8SX~tb^ z-HF}L&8O@s0@~Yqnukw61Q7V$pKo|i#WcckUp*p01>#8TwzFmICLFj90hOl7L^6#k zz;ITKY(A0{0e3ZQVu2*a8B34*c_(PY)>yg4E&1_fyUu^_7gj#jgsA#ui7e!5k z-Lxi*$_Xhl!Bbqd^iL6OkOcQ%HRFmyK34!a9SG`h^YUG1_g`&%$s9r+gyD|Bl`G?? zKl=FYkrh|q`o(Z9&Te5b9${ZvW`69h0X6lfyVJz$Om*&-!xC!L^gXD*;C3n^8Jtq*(cCD zjtBwbs1vU+00K_FEZ^Ndcdvc(5#`|{_bLLWS99yb%yw_xJ--jLAJ$p_{x7$j6%?D{ z(iEApble8zU=6|?KxK)H#H$cl8Y(n~_MNr6vx(Aab}@wbfFijNX}JS|O;N`M<^0n| zUEU?ykhX4ab>n~cH}~N${QH)hzw)*FAG++%>(1M}eax|ybSg^a(TI~q_MbY0VG+iJ zNGe>7rwMXlgpj*ErS=q(2FL{g@;V!0$4bipVsIA-2)HYxI2+i^%@9--79*--KT#sz z&+DMhte?w4gMC031P*3Z`08?kwpPB^(4d27B0F01BX7LVz2IPJyno*!P#qtATSkv^ zcg~qB|Gw%|jiVax?NLTP@j(%|^qPC$QtGH67g?0!3b+)wjXgvnxz{(Ya1^* zfZzZC5CBO;K~zbLFP<+_=}a*sje9q{@t0iVKJ@wTZvOj6KYjmW7yV)5w^u%5PU*m; zAPL5y%|=LsGn-t1+7>w%=dff@(SKZH0-m=5>`f3Z?b1L{X8$T#!p@bRM1+m6K*Kq& z%pAh=SrwC+CVNN15WOuehZ2pmk1)Qz+D>DiAn!Ob1au5g9e{IMl6j0Y*NFCHByPGn zefyE+Wh4o%zt*-ip%EDIp)WGk-yIq_@7(dt9GTuf&>8-WePRNg}nwAl(!6%-pt98}%!*Rafs7-Zf?QOVLsp5&Euz?HY+ z16;3bPsiy44pyEa%K_jJz6gi|~ z(3NBrvdqm15|Q2~Eb}L}`XPazSlDL8SR6>?=Ji6TPkr1 zBOx5Ms)#^DNazW~X!mgY#NX@CFqOSNgVDx?qjGpB$ygXTkU0P~`P}!`_Nr*8$+fFtc&&_Yu`xRs9#PCjAg?-z-*RpSlL z=RND(Nk9GluCIRdyn7$|-uGADedSdfzVP@Hjq`WzYDTFtid*Hn5^qLgbBI%eO6;nW zn!(vzU+W$sV42=>Ml6BJ=D;cY12`s%^)2R_8y`7`!To*@w+fhn*x)N~s(kS7`&Yf; z#jjrSl7U#ip;D*6{b~K#yW7d;hTEi$Tka(E)atf65OAgq$03`MIZf20)@9UG8RTdP z>#stidRN=2-)+{ja@5-GYHg*-RY~R~W)X^rxa;`R=bt$!x7%-fz@7QSOWe0V@`Z=j zU+|s#Z@v1OZ6Dvbxp`J=Wwf-F>yZYHNP;3<6jC_h3wZv`MY*M^QpLq1>?dT6^g zkt+(Q2%yc$66hpGMIBBbHPN;*B5x=L^fs|YW0b?0b0+>qe;o*|`$Npu`7}>2c2ckUWT>hH7-7CNO|2lsD-cPJ; z{rYzv{nIr!h39PDHFNa#wnnL-0TQ(!m3ov@Drgsy$bt3>`$NQ~co@KhAw-1@=b}tM zI)IpGrUS9PzD`F6fouZI?%|9e;VzX+fKdC06ktsgmaSO(o}*I}UrG%DQ?m>N^Jl-j z?~>iS+M?IL?l^z`(#J34uQxsX)(%@hI|riW*0GonT#8X~bA)QyX$lEC2~6FYkmNFR zh&-Hje{CZrvs>st1L@j2adg#$*6bGIKoP_!=GyU`GZz0k^B+Kuhqk(=YgV|kzV<&G zFF*fN548X14<5MWwtL#&w5u|{es?+^t#%Y*l6Y8XWSc{j*blhb088b}nF{>?p}i72 zDr*O89fZve30c%d;ICngKu1Rjxm*DKvIkWLYziPOU}w9-6Whzjt=;J6(Z}E2K%hHG zOm`CXMVg;pntpxN+V-VOPMr0Vh12A=z9_@zxfg*;|9suMVy?)7Fb{~pItN4%S6&>E zbc1K;j_2v9T?~dw%{`>ey$vM4GZ+u<`6F5UvN}7|0cy&=H5Y zZrS#?GRWUY2>}l2qg2u%idlZIJLRv}-u)p7i+J91$AA71QGHM^AaLCS?&J+mv`?w< zeAI#~^8@9Xtym8fFpT^Z0}}uyB6%4qD+6%9IgQIC^BBb_#z~8(Tzibj&i+E>f%R_D zZ~y8(@%eABz3r>#-?!oCmptY_hFM95Y7izqtC3+ry z|NXPl_doWn4L&DD2Y_`7vqzW0%E$&O^SB+*DDg*tAh8&r%%LeaLc6#yqF zVh!|H*8&^vA!hwFzreChD#%PDmL#4~DipTY(cgs-mxI`aAe$kt zi*{E+-c)eLX>)&xKE76NcC#<~oBP1${$u^0zx;{&+P?F{hyM7tW!v7fap#EfB{vCa zFbOsqOY&|(+0>!TU6&FMGdq$JCtk=zt7zC(m4L5M#VEPcPuo-zRnBa!M$bfug9@O& z6pgPTHB;?gh9v@3GCx?;4JW~Q+gA`D10(k)-!=j~s#D-R)kyen-+=N`TZ+vvXz*p+ilsLZON}69K63QB&mm z6vcGXDf{>jLPyrtz4fj+v(<*sKOlS4(AxwCQAkB)O9&8S-s~ASpD;pppqDS_T<*4e z-LwDiQg{A`KEGzo1>aov;KjdR`|tNY96qlDQvx(jmv*kipQt#l!UGbxMJaIUuTT|$e&=3^-jKYpk8o##lLMCt+s$?=E}3XT zp@+YRH3Gu^B-@Tj9%Mrzw;4y>Tmwi@yRcK=aK8) z{jc}5e)B&c`paMb_V`D)ZW}qRqcVZ;PePoI!j9GeJ9b%EZhP0&H?Y3oX;p|qAwn(+ z!3_nJOMrfjC z*g>nBLpot#A9F6m?lyrn4UK=j6)))w@kSpaz){?XxgR2H&e+16ZoU0oaVYubQBB)U zoh^SpMD(5o`P3N#k2+WU>n*pxwjxD@QJ#LPvr>RF^|IoQhy1p?!qdmXH_^u> z93=bem*X|9ZTb4pSbNGz6TW$nXx_UQ5xDZIN8eboxd2fSmG(Bk2(>$fl)g_f!jY&R zHB;@Vbrm&LGEeNE6i4~eDjrOpvMMC18Zl{$)edc^bf(NqvSehqea+QxCC;dCL_-c^ zn)7!*e~fJCjQNy?{tV^~x4PH;=!e^X^65{n-SExtt-SxoKU?+RD<8tkws%ZyOoQoY zt&GObQUj7;1SD!iM`93ghadBj?0pIyDm1E?fN|;IU31gw?_rLBW#4h^e_dgyjYXYM zTK1u+7-8%7G9Gw%*NeArcP(AxdVB99P#fXBpYv1Xc+CwP-yy*?kxED7(gnEkDWVVL z;6YQj-~aXYx3(oAtRX?v6@i$`J{^=Q9GI%CRmoSyQHiVKSE)5oyGy5JB%pSNap3MD z0y_7(HC|U?S=dMRiH$w^h|ct%Lcp9H5b&(OCWd8I1=;GMreLt=vJmxDjbj8^RoHf9 zbQl2Ym&H|V%0S2h7~jSfUA>T`&b#Ww63V9kl8V5NVsvMoL zeqF@DAZ0xDSJ8NMLbFiG>}-orYPV&Ys<0o_>|G<&B6gZ=I)s=$SwMgIYnUUDvhS#X zX5fH;eZ|leAut9!8UiHOg4oP7f4L2>gTML|0YcuV`5!Rzhc>z~o3`1fwY5iX%*guI zx#Q*T14i_oy@tTut!~`SD;{`;l^jqm!&MTPI+BTMek%4S6-45ClHdLw9Ju>?J*E4p z($vCh=2K?K2(`M_OjuY|C=AkDCn_QW5m6_yub*+XoBaT_`e{1H0=epi3jHMD&@d#> zQkhx_$QK&2m9dMNN9^$8=ND}n!kPWyDN8o=LZj7e#1@M zKe}p7ZhmWJDmv_B>~_s)cXg5CBO;K~zfMBY6a#gn*8#s;Bm)stp`QqE<=xOpxkv6>{jP6miEryWd4mfA=8* zUEV|=ma<>gk8Q+rceinQXq+1}uJOkGg1xgV0=;Da%hhY&+DdL}C^i5}R2+D=qtf%- znU4kWDgY~=CNnoL7YApRMs=Ev{ zohp_Tj_X_%ZM*0eHn*}xf2Z6L6jy-=CpbpHY=FeVm02MbnOjJe02 z_V{U|<-X+`+??NC=ic+p|0@0FeII*p`!_DQ@4724+x(@6A1*$#QkoP7!L*>gtzJT= ztK)>)mAWy# zTAWlza+ar|T_tmLKK6t&Ec2qd$1n4!K5Bk7v+8@0r%n*G86sgg{Ftk3$Ng->)wp5YY`c&|E-4V%5Rv4OGX>Nan_+iV5TSsAX+UFf0;Y^V ze%rghwDF;Dd~M}jmt3;(-|x7m{Z+e5<6Bah9+cBDQjSNUoHlV@kVhC600Fomf=b20 z+5|!95akTR4E*I07^(2nc6bOP4A_d&|_Z{a9)%FgAb`kEQUyTPI*tjH>Na8e! zni_%)N52NctHfoS-0=^t+j?A#I_@$%2$@#5+z~`Q20}@4xGe-AY(y0;C{ zrVfZ^^$Vdtv9)883yRhmiA-qH0fEF2uEd3ZTy}OEHX-EzC2IN)SoVNm9$=0SyN_6c+B&MG8usHviynKB~x=9T*mO(DU$*uqsDOdLWg z0a;g&T!w*)P9jTk|xw8e-^4vmG8Xzz%OkrpIUMA;g2 z5Y7tA>)_dZYbk~P&`S^joHt~W%LT}BRc^Q)kTQ!?A4z6&_*j-W^T5_Yrr>!P0sEo*_V}dzL|WQj64EvbhVw9MYKDusfOfG>47A zAFjUjogHb&E#Lr^m@7jPxygqx5sB;&gYvKoU__2r>?;$$m4+&gCkeZiqyZwyA#`jj?T7^?G2Bv*xPe|ogK5Onu`@7d+5((7 z|5Tj1_)ILBw-hrc9E--N8PWmdnNP%mBkm{^!T@O{=4!*hNFEhp>I_X1bFB3so>4wP zNI@XroB?GLcR~VBxSb!z4spdYy&wo8L{UUdXW%c7z)(fNuzQQJn~UK(BF`PdCfs~W z+5ZQ&K6>GVyN_}{M7Cj=la6v6IBQ&`Y$hBcst@WR0vF!zp0#0H+>#)IAt8~QU~&;` zsSL|);2vh5t)ewg&F4U7%}>J*D0@hpp&a;7p>-d#=BNH$MJFRlq$(s=kbITIRYDse z;90nIl6a1UULV$BT;piWnmiLr=5h;t@oAVfqp5FfM0|ZPTaO@%+GjS$HH;hCb*We*10NJP5N#;41gJC{;-WRZF0kjn8=K+Lv zC1%5VsRW(j^yba&Lq4^Nd*aevi^H0-&h!vg7B!*U-yVTsgMf|#K6Ngg{zAp-!e5~N2wTIcD;M;p;P$K?jW#o+4k3N z*wh{X1#bIBNUiP%$4I$c3^>vPCDiU@d<1D+w%%3^yi+02CMTXdne*AY}ZA#Ga?WN`d5@WBB-%379o$7EYM61iAu0aqfvE@L6as zv>;3jl)w$Q-CfCXD_vk%Ud{ywwM?$c19n5h<+V@%I>1W+(9l~+9ZK_@Oc?f8FrE7E z5o2LYd9O$rLNOGP7{Yud%eR`hW5TXNr@uV{gBXEozpgbvhlonetzF+x0~u}yT8<%v z0w)FBb?=7P-MiT}?1|?sy@G)0m0XT6lVfL(xi_usMn24=jeK+aU9IOHVHQ66VIc7H zi>^8=%(Vbv5wT4;wmA60kXynIDbIyPIMNOypPob!mIozp5~+(FcLfrz(1C!1JLC#m zKXo3Ec$IYZ?3x@174=go1Vt1nbwM4P^DUS#ay;ftpNmr#pN!|8@odbWITzC>OvA{! z7H*$&HD6(EV<6%gdd}n_ByA<}kR%>(nh=R$`-SyzNI2Orj4sNsL??@^3AnOm^%zpU zg_8*&q{C1Ejh>09(=xxk0$8r_tp?D{4FB*53~>ai{k_^qwX0NJj-!QKj$GbkCu~$Z z2=mR@zAKQmYw+@FEdT5+1gaXUw{knod=|}{@N2}aRO%K%u37F{xoOdj_q!J!W^y0x zFc7$Jmm77%ooikIZb!qCytvg)z=^jK6EonLOLgmd{}m^Lj_hVeBrzqjs&uB-d{s!~ zhAZ6AgvfDwJtDb>^bbgqO0)%@Vdv63!Z<>dqleG)Z?&l=J7a* zEANx%pG5ltOdc@_b&iviT`_`eGGHLwN)NbV4^0FW;W8nuSVTdHkdq1#fnEvQOgJEc zAc}|u>tZqiYw2K33M&Z(P*QhHq$U_gW6)W>rE0*1Jjy8U5wJZ~iI{;(wG3f;VP=|4 zfX>9;@CXbI1lYBqvZpobpa?sCB`#;)bRy>XOF0%yFbcOU+vdNMo*~nF57T>D9ez%y zEs%>Qj%#@$;h8EV&(&k2T>9H}KYM7MJLd3n@i7mDz{P*v_~wd?KwJR|5&(g|>IA7` zPDYa;Pr{-9p)xs~Fdd}_il_b*{Q(y#1tw)nELb&~faNpuV>@U?_Af*YeZ|tw zaG@}OKBx((to9L36OaibcDaRi6&n8b2nQT-hwH2gkiZC*eKv3d&dKiwt z>W8;IXU!JpzvXmj2#+Y#98v6EjQq6ICVs=fp@XZaV*NO5*kDKf*AG|Tvc`CtU6PW_LO|UlKlJo+%wRuZX<5$sLIL?Ghn$djS(7{` z5={-w7(Zq_rcIoNlNO$Y6OTU;i{>oCvD1#l&4qP&Vhm@_a`DvpG#M-ZjhvIhd$gDY(? zy(9TrimQ3kR8m)g=BnobJTr&Uidk@DK$Gnejn`F}Ji84u%!GNEPRa7iLVNk)v-1e_ z7XlnxU5mCh({d6Wb64)}+qa)ZUw`)!0@U=ql+zJrv*6kIPD625 zn@9VvB{p4i%6h6@ZT6_O804?!J* zTmxfo^dtgaHKA@pZbL;cDaxA)ba=Rj3cr6Fj< z_@?nVj$7v^&0mUB7oUm~=Pto<)8}B?_-SY?G@*`X{GkniibGnq*)O06lom*dQz%4;>vH$mfd?5stwM$D`v|4Y>6Vn5aos z+_}#GwmYHft@{9Pq_?s@bUri4neBp zp>yz|2SebJKi=`~gv1m^!iiD^HUh-dlQ0V;%mN)bjwbysTL!%?VD8?yMhN`dF*g)AT8GS_I{EQ2{C;7VTj1XX4>-4K9P0G&|sRbjO< zyM{YfUj@9304kz>8fXEv2SU=P@JY7;*fveW-G8-002pQ(aDpN%%o$EB7)=5|vk8Ss zI4=r$MjqNcG@b^8%*4QDWva>O2w33$rf_+li3mjYN)}h+4<4zuZ;;g2!18_b4ca6# zBfc2L9CX*h=miMC*N$>hMv!xGDNXtb`w_bW-!Q-~lbQ5FmKI57Vi;dS&@v$ggo{rO z8ls|j(t%u5hf0Zf61*_X!O=u#c*0$=hc-sX-Lu{;(zsrFj)0=y^IW=_!}HISZ!Qwa z_b~tf5CBO;K~y=u<%*na=V~cLF5iOobObi;D2)BackjOb;=j6&@ywHZ!`&=km?pdU zkGHvEQ>V@c^xF&ViUgdA)tfrjzyIw_Ih zI4~m;Z%eTmlgCWL>?yN(&V4dYS$Hb9&QHP8c}p>W#ym_NI~AkqMxsuNP|{b??~7L@ zL`c$92}q!sGN>tqP7^xdGr>NW>Vo}cp9tM?$i9ixN$#bmrI5^NC`9Urq6kXtX(=J8 zrO4+6;^IzG!ieFJz|rqXrsK)I`g^mA&r!mG9iRO@MUd^_q+BJIk&>(pHJ^T93)Znd z08d|_T`uGijrK8p-;Og!ae!d&RSQ%9y}sUda0Cdn0-K4(Qn#9XGZG?^5x8*~{7=DF zA?fjRFSs(Tr{^A(M+KW=jJXl45rly}+eyw#x&VeuGq;qTUe>3yGi?4dv1==}H8 z4-?)??{lYb*;*NsuN#AMM*QRXDh)l>43M7d| zxfG*RDrIt*)$X@wdlj<<^>-$!wAEi=VN)Pv(^RYL*W8?=n>!zAvJ-J>3&8VqYhrf@ zu?$l=RGb5af$4^yn7G&5oS?iK_nvCv+KGFAeQz3X+kUg9XkZ?tWTip zC7_?-qf@$udHWF{V2ERgyYF80rXxt?qaFeQ_Q*qo9)+M$qh#0HUOVA=b7tbP`oeY; z3c&8RGFnS{xZI?0duinKUtaRqFFy6nbt^CbyL-F-`q@#a)}SroiYr&Vt-@_^W9kv` zeA;r=t*dXtl}HFd4k3#A=bA~{Ewt66A!y)=dJLwFo`&P5%)#Pg7m>72!YPYS!d{!EmwmR4ky_ zOaPlzTie1TdW4K%t)*|8t>jD)BNw)%ix!NzWzLM?hIun_!@L>x`gzlF-Ms1cx_L8j zE#234y49aT|LL9Khi7Vfils2W>HC>8nBNTMcQA7%>oXJA&pVJgLs(x&IjH&fc{3bE zD2HX<$oLeYILcw0hnxSA#$(&6?OQn8(9ZWW)Bb(otl;kpk2RF&#yQiIzfTwyuL@9x zAwfrB0*4axJ*ONqFd^uX^@BYR#sf(o>PjsRy%DR=yKx4UsS+~b~g z*fm-`8-p-(;L=Rn92f*g-2lxrOd5De^e^ zE3{dl)gD~DxXFS~^m49{_|axq;I%$gb=1Xpb!=tpDHAW+VSHn|+q^8UiAu#aoA&(& zoqSg>+8-vTSEJEPS8nWaPN*V+57rFU2NSxidR!-}iNAG9DolmGtiQU&F$=J}1mDsQ+B>(74t%n=@D6;cx6;zQ zv$r&z1-|@Qc=cSFy+)?gDhi62f112zZ8(wKMeM(bA&|n8K!1>(r%s$`FS6fH6_|D2 z$JtQ-sGDeSd}L)4csXCiv-I7xp}!bv&D_gR=mx@(e4U>CTg!;B!E?}c3&o7C&MYx6 zQ)>HIRs_-rJT1?ulPFLZd31`MIoC*cW&qeofh_ zO%f+O#f~iVbLBdGvJm>KA|vH#I~%LP$R;z&KnE<)vwxz&@=Z(>DO?IIB-v#Cws3?Q|6rK%9Y$96+$4JA);krOm z%V2Zp0{xIYf%~K2Sig>9EtRRnoV;MdmJTMIcHyf$d22l*uc^Se(euC-*(T?cLPWC& zp=*5z63TjHDuJyQ@kJLXjtYff@^^>Xc#0MONAr`@Z;$1si~3!+eCQ=;Raa7)Mkk)p z?lj(V3-P6BaabyY#!Ou6FVV)!mh;>s_q7?VO!seIa%%vRync>nP%1k%U&^XJHuTF|FQ>n7=v_8; z+PzOAHQM;CH>~Z%TG7kJbidX-apLLvSFm_=%(YdU5(zz_=?Y17g6pkV0T(A!nD1^s)uIKxH2!now8IJ_(4qv45swB+~bRFlg5( zeerpG7@nFo6o9K@(+I<<0W1{moR48S7-l;@FtsOVdf1#zW8Phv~M&2sK;jF zCaLqF@L*#;vYg<3&7%e-$zU7i1Q>Aaq^!7R&Lp;ZYjtxf3gI$N-;Xcs@;}C-DDYXF zm#>WgTIaFyzS-V6CMWfRrn&R?2r`g)O+QD(#WkU8vqo5Laa)!roj%&njK?RQYhiU< zy7{eKUwyQ?k3DpJB)W9+eZZdBaX&=GR(h-mRGqsoP%oUm7FF45+%a*!dFGPhpc4@`FBxejI$G0$d{n?DmCu{=J z=5i_l{B32nV<6Q7$o)&ZRB?fG>a?>~l1G0j6nUtpy=0NXAb+4079HKgCz>=G<1R7E zV#ZW5~c{*E&ppVNf_JM|?a1y%Bs|He`*B zpj81f;U1Ohsd@fiOp3p%G|eT8nXDlgo#}bNC2<=Iw0Ksy!YK<6CJHkC)eO zvjdNm8xqlqFiHfeYO^pX8g|TMgu1z@Pgk%O0&(djC&MFW$y3OTFptK`<56RRcd~JW z6h$aiM6tj1Fn^7+q(J9l7DhQl&X`-&OIIRLP|b-@D$+OdrMqYZrPKHP z^ynai?Pd=lrbeB^h}`-FLrQ0TNX;nXkEL#@*5O0;p9($NeVs}Oj9o~Kzhr_L@Qp_* zs)y2CXoL4@O8#<@k~@H8SEzQaI0Ol@1T?0G2+>7Zi_;{}lzR2vIZ`=cijpA;IYc@Z z*U=fE7_L0SCYkGEDJN3iBE{ggCVH4ixT-8w%xOH_nx$5Yrbi+5p>5SHNb;}@L!qwf z^XBxK#C|#H3+f%=}zbn5$(%hN&*n+7RMZP5UVd8#EL zsXhzJ#>8Qo{~J1pV@E`=Kk;i8vP`j7>KCYpRptUA>Y%6NC=eI_ZPr)OlJM>eK;2Uqdf4Eutt?rQ~EYKKpP00>sK;O|K+pRvjFX+A4s;oDO!i8Xc0(f1H;g0W$8SRhrM zyUOx)sLMFdm*#*s2jG7IM( zH}__RYpgN22*x#@ODBU|3WFM#Eu7oS;{O8EKrD;oh$>##^J(HM%N8Li&7HH|b+)u@ zZhpVGBc_aB4|Rn98w-G9!-DJ%mJQEoptgc~K{h~}l-<$2nx@3?o%`)_Z~DLwATu%} zWI1*;pcZx=7mUd8;mxP9?YwplEED!46nhErJP1JJ%&sz$Y5MDet%{||;JNJxm9hr& zp;8SidRoG#7R%>S4oPG@j@f)tFk$;R+}Y-~Khx>5{(9K+;eN`Z|9EsckFTLs> zlFgJfnmk(%7a$Uv<2=7wt6=U$AmrQ-X!O^hm-q4PUfw%2!Qpy39_QP31=bs(uT=ok zD7l;^A0z?sAVa1O)Q`C4*SsPSE-g)8tB!m;Bdh(_$zUuu-fg({^sZmFh4_<0*yG7o z8;{aYx765aGOr%s(S9VC@|96guoCJ0X4wi04Yq?CQG|KYo4=Zvp`r_ZQ@g!JQRz{@3Yh{@t z^DNrTacVrednwfJ$otp)5 zs{NQ>B>TJRLH560E&W^xJO_DC@-1cw2@(j164Oh^UD*`%a<2G|rxNW+%eG^n<$*3;IvmvoU#3TGf(2jC3Av zXrOjb;p)7rlp8549FG_D*_AEsTU!j2>QFIgLsDE+l@pn?Tr|zZ^*Mm-2jh<-MqN3q zIk{iwl43*hGfX_|Fw)+z*i49C401DS_rTkzK9XuMKo4wOQ@vaXqyv<4PT$ub$@GrY zV$&`f-Z1Xt%ZyleAw^qYl!3h#C)%7 zNI+G)W=v2Jgk;m=7N<hy^$HVpyq$8q9}uD>e2$HszGuC} zFGYRqK@IS}@!6$6O*eM#EdJXY&pYLVt*lkYic)Z4uec!gy zV?SHv=(HSu8Tai;`m_GNFIDA!kWR&SVodz=>IX`v+cV4h!?|(RQ-@#1%_vHz**nX| z%ecqHV^`|||BlbWsMoXEgs$_dKo-m0k5Hq@t#V3ws1R?WB?J4xL1ioiZpLdAI%5~C z$u+zTylv(@2^9Jw2|PsqUOZ&o>gwL18oiX<#!!_3l8QRR_g6UeqgcX{&eWWUF1SDT z@rw5hiD-F+}pOMeSD zHF=o3@o?)2Uh5V6l(m!b@_X3}9BJ}$7`k4iE(IRAAN8+P8a98h^y~kmSQ(KtBJ#6v z9tnew_OZRovoGj~ZFD0*1F+j~ejb?y6-|<4wJ5`Wy6h6c*RLOHCcQyvs1?7z>cQ|N zhFYCDC0^RxU-kRgaiX;dzjusuJcT%iIv^u~_xjbUfI_5LjH*`I#C;Vfs)hhaweM5x z{$W90IX9|g~wEJX}+Mh7DHBT~qbulF3s>ICW7D5F? zM0X2vHtzholA;oI*-KXhWeb6W$$*9`~m z&|V+|@KdUMt>B_VGWXz@ITOz$17doG1VYjokExez1ZFKiW0i<>b=63v6_XX|TKoG? zvd>dHu715-IqNlPTBT;p^maHLX4uTvG*BWZV6!6Z`)>8H6)3q;KjXkSYCkYl1H$TC zkPQE6JRwbV!a-TY_xdw^*uak%2C&bxeXE7}dn%sP{sP8rfBfD+m?pv?mjKn_OJpcU z80#ELOx#*5oeZ&;A5b-_`1GoXinOC!O?Z<)yn$k5Um@PcE3n;kki2@A^R*lNunpj4 zR-+I!{S94b%bD9)6BgWJ3!R~g;fmoc=6S)^Mkn8@EVjn&tLk-GIRc7VX~5DQqN=v<<-~;QX;%L1 z;5j^vCxHJG>!JSm3$QRI9%+U;x(T5n2%#U74DhBVDG}&^4DJnT6D$`Xh4Z@uLMnT( z?*~K4*Ra8CYC%J4>Y}3Vc$RBi6>qo>Z0QDHT#_NbYKT;Yx~63*5*d-B9d-2uzje z=0|PNDbj7h5j!Ur8DGD#yLfsTo zDc~Q5JcqozFeoX`C8xA}8d#D6Qn#R^hRM8NTcI*`jU1a~VxN&=r1zKnI8~t~ICR2U zmAdflKcH4#?OKUp9`T&R&?Y3fB0<(`$G^@y?9N7P6cOta&459{y;=6+_z(=j(kbd( zk#nCC#L&dMuJ^~oCbz5wGw1`&!_u618Hf_1@1wctfY?L=@5WSU<@j7mV)TjMG_dkOWNbJ zsU&2uA)K-nyHF&A)+z(1e74))jrXQ(EqxAW*vviAP|W#hc9o;vjSvp-Ov-6;kY8FY z1TEri^P^@bH*8-nJ`CIi7uD5GiG%}3>p;mMLhZFQoDp^qlW*I5h3K;=JY$8lFaeDw zeb`+Z2M>>Ax*XGoLwn}!?@ zny$zf{AUiOGXMl`2Kq{kpI5r{`Gf>X%Om!UpA?mh)QgXT<@3uue^T)_S@wW~vmycpnGH6Mru*1+4OS8kJW`L)&Yy-MgP1So+XjZNW-(U7_ka zs6rD`n;x2BT^9yEIf;B6-3RrsTMO@x5_wpt1j$)z?Kg8t=%G5A64kuHSQs_y%9eGu zhWN+u3?y07)|@P=AW@GCzTpLn9w?QbScmJj&TOY7yVpN^aWMfRHv&Z3>^ey<7dp3X zKvdL9Ie4o_JMh!OjRk?MC^cf$c0mX?qZ5bD*zd>e0968Zq!M1?-ja~4#QkdgJp9v^ z5S86?+k+DfWIUj}ZeW!4%W*!xqvRLlaZJVSqg0uIxRt*mg*k7NsC*3NifKn?0k>sM zTcu zM3an9qETT`s_5~|m2CS0e4ZHlBgDcr}!v&jXS2SW> zzd<`6`+S&m_TN|l^n>YC%U+Qd_r7!#_ou$WY{iZHrpn>xTAkkyo5BX`-CuFUsN`=b z9H63D<>EhY*>`8&<@}w?fK*xWXYN$eICPxN1wp5kosd3*D?Oa3l za}nFTU2?RMQK=K7*l+eo4n;>EUyS!?5x>1BBG0DipvDl^WoS(76=ARiBn=B1om5*m zd5r6Vy94;H+DuUZS(6WfQ=KU*=T3}==8SdVkbXB7cdSc%=7P%~mL_i|6<`#Gt3Dfq{-Nl#@lk4mS`Zyy4VVGY z2J5_0q%)F8)VkD}FvlU=hX7R6iW*}76HMkm`!h<~5 z(cdhE>VC)dX2~}tu;>5Gn>A1Yy8R>dssVD;B|VbG@n$B_xW= z1HqJwFH_9xjAo-{hI|-@r@x>y651io^BGk}TirPa-{3Gc;Wj9v+I~3M=*y&EPN`f) zK9+{UF}zr8UqYM9mJt#xMUx5I_algO@kuE+0&?vF3Fz!3&fsQ;rt^N+58}n@i@h{M zectE3`s??zgSrNppDiFNP<(aI@l*4Av2eYxg0EbQiVo7vL>39E<2HqIe|U)VBk0PtoQ!L^N8?~-lN&RF%^t}n~7>=1Br@zTi5Aw z2KIuj&$_mmeXb6kRtl&jtGVPPHhnb%bvnz5<=)FVv0Zr7o7aUf3)l`=M@`Da&-DDy z^s^z-3wel?j@O)s110tx6v;qC2C|9;!xh&R=d(=rqp7OBF8X*Tq}5@huwNA|U_#ot zPZZ7GdH34AI+?JmGczduy`FKEB(sv4gj$(uS5=jfA`@B9IRwVb4%@j$?{hYl>KGi# zJ(<7I0FJZX{SG>W-3n&;nC<74s1j5^5-F&FswGV5miqF26xS!MvIEA1FwCR?#x74@ z0J5{H>dR8oY7En84XIuTdN9$tu4JYta`HF<6ne`}FOS^N_ANpX01?Yr+AHBxT?3Z= zhL1a6<~tRjg9APIy(N`i`@{9%7&?Kv26P)n3#e`R3S;3azEF_2Ks%I1qiShucMlN& zB%^fe-iGO1TZh67Q&E@q({|c(qdrqK~AezBcfb;^dTQz1|#>SHD(DOfU=aq04iK0rwp7o-+@b5Yejt zl)g#T8%cx?Cj#1F2Y5<}i%V!hSz28tzh#SCthOv^wL)1wgsaEK^@0UTRz@ZTv#Yef z`n~_u$0D!U#fvj*!7O?!r(J$%0lJ^4kYzXVaVh^Q1T|d{{RCNTqpCw>Nee&ei5diQ zuX=qv7nC)$&|Ko&Wy0p@qiS4bdp-9PlJ~1mqk5_`ppzgvqW+SyF8ORO0R+Xt-7fpR z*LP~~ATla-f7>g8TCF{LZZ|NqzBi;)YY-3PcjKXxI|j~n@RaK#jOGL;#@amhAjYF7 zf)QZtH9!P@=nOGB8Q281ITjXL>67tYhrk5a96T4itRLM(;o~FUuWFkz`Fmy*fgt6E zK3itGhhm<3RLZsX9~e-4EU8TXwtveyM*G{GKHs=A)3Sn}nOfiEae0%^@8_^U+vc?n z%D<9klnVv7%O{F|sB{C{@1#JVEy{`t0F%j$i9hD&q7umjMNxr}1oi&DTHl)Vskh@0 z0`hBl_zbf?%;+u`&`2O;(T;wyIIY%8%77Lx+=Wx_zKS5&J>wm!D;Ud<#(v&0#Cs~a z)nU^q64c$=LjBeP3(Gki0eq-feT=i3*v`bg;Za2ZM{-2ZQKzR3EXbD~y^c%YDkJ zVlw5O@rL-_f;FEHCBh-X*t;UQDY{$0n~k6D8A zF$3g~COn{HeB{-S(a%?KY7V%63RF`^HWFY1Xb6HOl9|RdT&+A7KVaE6{vemF+}h@w zHrjZF)w|?4wXB`%3&l>lgvrz6`9P6^Ujc7Z{=@9{s!&Jlt8@v zA5={wHEL@n(o_>*RvktR4{Y(8tqZ)S;>>k8@P*D6#*+9o8&R8{AlrP+Bp6%@!&y(_ z-?5w#1{or5cZG+viuua+^<OC>6AC)S{F!6Y=AC;UucqfI@$K$F;D8Ro!M>l` zV5)J?ds2S}&GkH7KC;!Bo8<(vNfE|*k4)-O>%C?&-Ks!KEJTeMW-cZ|ppJ_D%$W8@ zsG;}SoOcgyaNg3b>6eBM-M|#4-*%!UyRmj&&|Y&{X|<~R>y0u_u&iH%<;W*%Vs%tq z2V{w_qUgE=cmZpo2G6)loSr6ixjD$Iwr-Pf1>g4wxSw!{&HF(QXa)N z^p*r|IfTi_P<-BQ;F<5ROmwEpaDEs~yTc9_p)|yy?^LM>=BmZ1wCmq%vAYTeLHydfDkadGy+@vwo z;|g>O40yV^JZUlFLJEQ}f&RQtIU*lH*g~1q3;}gNwv65}Gl4G=*d?@$K2M^ZQ?#1L z5^h6ot6Af;_&)f9`Znk`vEx#&!Dwu$WDL%|>DvohWXET-rhQF50YAqR`er?zmakvS zSB~U0Sho%oV)lH%{OB=V8CTbXi%MJ44wRCXF6JV!ZntLXbG)iCySXCJFV#Jwg6fB! zgQSMRy;zrbXi+ke4->*rr;(TATqHeyZjFPgpAIV4 zd!h3!rm?d9;=hH+FZBgPE)mj-K~2{i5>#x_Q3^!>PTEtyjyEA!b{pqQK?{L~_2#tB zqEadpA=MM=o?F#X!#Nx1sg<8cyn%#!6#j`YZg0#4Q(-$yqLuCKw&ASi+3Y*}E8Bn2 zSsl7C98VzDX(qg3EPY^g+f}WIHW76}jd`6+t2u!VJGoxBJ+eWSJ{{dq*a0f?=1olS zUo22BamV@zR$?$D9`ecAT>rM)#I=93J0SwVlRgnBHDHm=R$zZ~6UZw(+)pQdGI($# zTrDX+hjD{~kvY3)@_I|>8Ez&)gfAY!*C>NpM@l(HS@v}F?r8xkF$BwTPlq5BJ)PYP zy|BZ6?~Bd+{1E*~^C6r(O(H<#S3iZ*0M?7|-Ci#`?Td$(*#lbm7jW$}a<1;yxY;V0ZZ(HQ;dL%&wtzn9ZxAi4~Jrv(O@p2LKxLY*9h5V0otoSK6aK6bk!Qoy#d z{4C*}C9nws9U{epo7K1vzAa?l(8Wtw0KV$wzO}KFUOq}FsY*iH(Zb3~0z&AsugL?< z>v9Ak8kpBOd`6*3yE~ms2zL_wLR@8?-?Ll8qnKm(*25jxLS{crrehx1uxJl`-YX~? zmswnM5IJqmNQ%)f~Kl_Q);=mc8-9!kFlmH6j=f3K|kfgC&%l)G;AzqHd`o6D!Hj z6FvHTBL1zXo6>NV2_)3mp1Vp?7){<#4d?7TDOHXW$C_|KUtB6$kt(%Na+fQ01Jsie z`!fC0`{j(4K*Z?>s}DqeG4(GRsnFqX#_ld$Ng@LY%BFA z02%ofjXaOu>0o$GBBNPh6OB_An36SpiD0#|GiV<&=;YkQDnmozNcsDh{jAyh`xFZh zQ=QTg3xV=74)2rn!I*BVmwKgNw3BYbId@QK=~Tg;NPWcHLghb=Dr<zL5D@8Dywv z{+Y5?qAfzwMa%8C5RkTiNLRX5MIZKij?f>3=n|x%LnfCzZi?RB?TQ;cfS$wwfW4aC z|HcBuRCZIm`F(OL2g&Q3f+r}f!g^5+GOrPM}N-D?`NX!ML@3G~lkR;i#@t_N=k=h?`-5yY@ ztECTVN4t~_UHep;m{FRQ;q!x4Zd#SBE+|%tc7PhLleiaJsmh{nkCx z&Gk4jBr^aNJ4YHxVIfE;!%FGC8Qw_hV%X|**eqJNruX!YOPs&}{5qfB-F_BBo;oqH z2W}nf;2ix@V~?1HaB)9E191PWI2|JkO3vc;nn=e*3UM9?EUERjL$m|;3?Tu`GSFUW z83go(paI%3@n{H9)9)pKgy@3Fk&SkLf9L(bY}1Kuyd`!j7G0(FEBcR@>c7^~rqQ&|C@em|YJQ6{BhXR=P!mwxW=L~?;j$TaKQQ@g_TDff- zCs4T%1>wqrH zVZV!|srA+Z~d>}GK`DZn>%b#38n0P#NKQSo`;8XY!md^dMs7s{X-JP61i)dBO+jn-fA z-*GkvFn}M#7+D(CDmq`}t_W&!g|DuNbJ>CK5p4Ug?mKp2e2z8;_9x~-vbDB8Cn zffKOA(*HX2lRf4pDN&B_NO#!G?QHvco`^L2mnw@r?`l40{RI}13;Ne`=*Ep^-$A=p zE3b!!^%YO(fES|GdrRX_T_NN@kR;h*VuCc(kCrzwa1ZJD+^>Uc)rX1Y(>_N?plQp} z?I0rz*o=FV2FtBXE}Fa1^Xt9$EB@nqT7XRI{KvF`o7ioSLnh_PBK02=h8z(ww-j*U z_aQbQIKE|0&_R{=!9>`nOoQ42I;1*WnZRg;f#WEJ?Yxf9AvC)W@h|(GRpNU~cf0jT zL$!S4%8Y2MHg)f*f%GwroPCMy=kCq%N#BYaLri}AJPp|KSc8ghQ-TzN@)MJ58269R zi3~wtkb^h>t`dZ+FdaiTqquW=-GPpl+5F3Isj0SP25{NOsv|zAIejKZ_xpt_mw2z< z2o}M;^Ttot_l@V#Ot;p$S^~G97KrJ!8rpWsXW9Rh?HS1atmwtsJznC%IYD$N{~0$4 z1+RK|@5X_K8l$lull}dR%XgK^Iza7ARyDH2@QvhW+Ki}#LHyy0hdnbSq7ty`c$ibNbLH{1Ym?M_~6|pk9#Qk zG!ieEQ=M+lsX^}CU(V01>7YZmr#mS7$l5(=K8mKh5QrHnHhqSK=wsXcQ!qV`XK2?S zoXti^Ze`M%YHeZYS%COMWLkZ}W2+mQA|FYbGFx@Vk-9RhM68BO5DgikM7p-^%3H%a zz02lq;TbV!J>D)`^LxL`!S2miJZ=IQxPXrGpIOLU5CU)se9B?4OpZKf5O%pQFA6-NFF4b9m1er_^!sT!Dpv zeC+;E$wY!7zRlsOJMphQ+$f~M(-HohGCF^0F!*#pMIQn5IOGw-Iwnd2aho<0Xb)>| zk0Zn`m4g~0=jONNv?eMVn%z`0EuLF#iE~D$f zu|B(wrt#H9QaLNR71wZ<(y4O#FPdgXJe zjAV9Ndb3tkH*Rdu8M_e(!vy>FH;i4MXU-eurQAgriOb{oRJ+K?$jU-p` zLb_;Ot(<d*=Ma|$|GvNT(`te9i*7k-lP7M-p*K^sX7!Ml*JNE#33FL)@tTU3VO zy5Ga=i}ZgvEoixIr;H_+%(LaH!VomhUq2B{Osxczs|RFZ`aN(1;9yI9ndIdpe>@9^ zY1;$dCr_a76hb>@N&UNMs1-Vxz^E&przr?X!qUTY%~P76U*}kW)~UPsEVeafE9W{a zrU-?zB!ZHVu|h&?h!hNA_sR(8O;C2{3GR{_5nXZS5}oYZ^WaVZ=o!pj3lRBSX|Dq! z7^=;lp|Z?r<>>d_=euI@n+YP4Y~pYSf+nuF7z@gAUqah;hn)}hZ~67GOV9a40eWJa zO-qkzUx|yxlbfSVHaXu%q!4WvO^>tH5%9&+(8P=N#)8kjHTHCX6M|mqD(yOE0jn{N zwAGc+BX(Z5YqIS5wk-KtGYZkoJC#UwbwYfwMI@tYUzAAyif(lf=g-EdBi&7`3kyz6 z-dR~~j`A`)I1X>qbe>kUg?aOL1V}&!EP=c9%F~QfqHK0v*B!Ruj^XV`)`*g?!z4)a znKMaiYNStDYr!OVa?`8@iAt)lMaRZk)rQ8rH(7JGXd)CrvxiO=m?P%w6TB7bxZRxp$$Ndw&LGpyJfTn$*dua0GM|B%R2q>7YN-0P zgC^VA@04>!Hu!}6tG^#46b92^;M-+^BS*IsJii+jP%rUZgf?dr9SjXzIms8?TlN_B~WRYjDoUzmYrCQm+ zz={44n{c}2a{p)J4HsQ&dY#|$;?Vj9W?#2=H&G)A|P=Y!xLq_kI?FB+GfROH{YKGKHl+uAo1&X8|0qLeF0xH z54UrfS!`J2Ej)l*QA~OewxZUa=+)J$Dw`X`j2EoNYxs9}qa~kSX)pV2-eHdul>XJA zv>X>)=%QAqJiH{mRBAR?$&Dku`AKr>5kjOmiqw+jGo?$dwV3H(`7~e7jhNemp6^O% z<6l-$Lk6QpGzuvIh6Ye{uEva}`C91miWW zDXQN}DfLjP($}W7-4 zwgd$vui=9Bxu{B|HV018rYlFfK;7k*;BB%;Flef0uR|iM?=9;aWKR z>4xXp{=tWH=cQ6?{2Bb^VR(JHCa4BMZ7nynMRoSPzzd|&$C=6RbM3=IJ-mFrx1|DR zI=?ZBJ>!^ee zuk>Ze=gWkfo8t0k!tnf{ecRy02t`*V)^e)jB3HXm$Df=(&n%GBhofSwZp&`o@!&gV z!2#zj(dN#Q4j*IW^qt(LNP@bmvPTEM#hrJ-XCaqTBa7u?vk}Z=&3=SpGbG9+<~ti` z(q+ZDcDA?HXs5CY)BLlm;beCnn5R9sc6`Rmd+iH9W8L!_wD|Tf>b>L^XeYzae+pF* z=Ti{=8YfTkX~CU6OY7dcXK$}Fb+VUb zl-az16{r^Dqd5?9Z&822cwDvh5)~6vsf=)8>53%q>%P+EkiK=>9#wOKnLQsm=jWWo zRJn9iEfvimw{)R#qIWgzco<6GlYxtHTO#ky{Lph9rT47()!Wm4_s$bfitgRJ?-6Rd zMltoRt^d=o-_M(5MxSFf`U9U6F5^!3_i41>Tz-ZlX5;#k*CDdl><{AmTM!VyY$;J8 zRllc`DD80`KZlV8bKht~{k)F_Fn^MAGW3`;$8UuXc_kiGp&Mvo?M27G1K5hl6R-ON zI5Cgl55+8#n0x_KQd3CNs-ahjYJ%awcvhNrBTL_;kR<3NKB|@4Mm}r1`EhVg=vO$j zDXEwPsp|ow`SbNt+R`iZuim<{p=xM3*^Sk%Jz$b;k zE_^-iGmHbD?L9etu8*U!S>ihZupwL22aJP$kFOz5ems6c0nhn^zWM_WiXVG7IINS_ z`BIvTi!N>U1a%n-Yq?YdYy-=B?SHRwJOhmVHm(%>p3mlBC62#y=?-w5z5ICimF}{{ zbB>Zzq%i<>Ts8Xpxx|XUl$a(hYt`8I3?HGG2b=x($6eo8uaL`^wHq3QUlI6sece>Y z@%;I^4;h=RxcGa>FXcp&lf#bV>+f2YR| zfQ)aYzJ=vUwi==<$!rUF7zvsF%UMss{I9UhaP{X4|3R#s#l8%H216{r8%| zA?YTZ&tbdD2HAf#4h12K2os0eEpaUUt4k;^*wnDsFZW2d|C+kx4<@A6^Bv*m`F9lf z3qwn;;Tbv4YVLTIkZY!`uyZo;Sg8E>&cE+hYkN?@U`5A1}+h@qL zs3UEl_xb-j#Gr{BJYCZR#D?#G?L`0QmqD+Z;>i8qbO8aeV7mf7V!V<5RilgiG6^i_ zCmrq$j1}A<+x*v%_5iTpy5Q8o*8i^=u!jSD#k(*(1v(-0+a$oA{*Qt^&|nYr?8&{j zdj7}bU2$Nk=Q!W?4u^jhOxM9VcswEj@Ld1`0^;Mt6WVhQ`~~KpcNG*wR`;}dM9mcm Q_zHxSn7nAEutDJe0T+y+w*UYD literal 0 HcmV?d00001 diff --git a/code/base-project/base-app/src/static/images/work.png b/code/base-project/base-app/src/static/images/work.png new file mode 100644 index 0000000000000000000000000000000000000000..539d6d80fdb1f0032fe701fe3b641793b9511a97 GIT binary patch literal 158839 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 z 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

;sv=Pv^U=+R|W~Tjwh2n=hNI>mQLQ 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


M&#Z*4 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
dC}_y#VSsKH}OU!L9S(KfEZYmmHV^TCOw`uffj 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 0 && orderBy[0] != "" { + order = orderBy[0] + } + query += " ORDER BY " + order + + var rows []map[string]interface{} + err := DB.Select(&rows, query, values...) + if err != nil { + return nil, err + } + + return rows, nil +} + +// FindAll 查询整个表,可选排序 +func FindAll(table string, orderBy ...string) ([]map[string]interface{}, error) { + query := fmt.Sprintf("SELECT * FROM %s", table) + + order := "b_id DESC" + if len(orderBy) > 0 && orderBy[0] != "" { + order = orderBy[0] + } + query += " ORDER BY " + order + + var rows []map[string]interface{} + err := DB.Select(&rows, query) + if err != nil { + return nil, err + } + + return rows, nil +} diff --git a/code/base-project/base-go-v2/internal/db/update.go b/code/base-project/base-go-v2/internal/db/update.go new file mode 100644 index 00000000..49081ab0 --- /dev/null +++ b/code/base-project/base-go-v2/internal/db/update.go @@ -0,0 +1,103 @@ +package db + +import ( + "fmt" + "strings" +) + +// ---------------- 内部辅助函数 ---------------- + +// buildUpdateSQL 构建 UPDATE SQL 和参数 +// idColumn: 主键列名 +func buildUpdateSQL(table string, data map[string]interface{}, idColumn string) (string, []interface{}) { + var setParts []string + var values []interface{} + i := 1 + for k, v := range data { + setParts = append(setParts, fmt.Sprintf("%s=$%d", k, i)) + values = append(values, v) + i++ + } + // WHERE id = $n + sql := fmt.Sprintf("UPDATE %s SET %s WHERE %s=$%d", + table, + strings.Join(setParts, ", "), + idColumn, + i, + ) + return sql, values +} + +// ---------------- 公共方法 ---------------- + +// UpdateOne 更新单条记录,按主键 idColumn +func UpdateOne(table string, idColumn string, id interface{}, data map[string]interface{}) (int64, error) { + tx, err := DB.Beginx() + if err != nil { + return 0, err + } + + sql, values := buildUpdateSQL(table, data, idColumn) + values = append(values, id) // 最后一个参数是 id + + res, err := tx.Exec(sql, values...) + if err != nil { + err := tx.Rollback() + if err != nil { + return 0, err + } + return 0, err + } + + if err := tx.Commit(); err != nil { + return 0, err + } + + return res.RowsAffected() +} + +// UpdateBatch 批量更新,dataList 中每个 map 必须包含主键 idColumn +func UpdateBatch(table string, idColumn string, dataList []map[string]interface{}) (int64, error) { + if len(dataList) == 0 { + return 0, nil + } + + tx, err := DB.Beginx() + if err != nil { + return 0, err + } + + total := int64(0) + for _, data := range dataList { + idValue, ok := data[idColumn] + if !ok { + tx.Rollback() + return 0, fmt.Errorf("缺少主键列 %s", idColumn) + } + + // 移除主键列,否则会重复在 SET 中出现 + delete(data, idColumn) + + sql, values := buildUpdateSQL(table, data, idColumn) + values = append(values, idValue) + + res, err := tx.Exec(sql, values...) + if err != nil { + tx.Rollback() + + return 0, err + } + rows, err := res.RowsAffected() + if err != nil { + tx.Rollback() + return 0, err + } + total += rows + } + + if err := tx.Commit(); err != nil { + return 0, err + } + + return total, nil +} diff --git a/code/base-project/base-go-v2/logs/error/error-2025-11-04.log b/code/base-project/base-go-v2/logs/error/error-2025-11-04.log new file mode 100644 index 00000000..e69de29b diff --git a/code/base-project/base-go-v2/logs/info/info-2025-11-04.log b/code/base-project/base-go-v2/logs/info/info-2025-11-04.log new file mode 100644 index 00000000..e69de29b diff --git a/code/base-project/base-go-v2/logs/warn/warn-2025-11-04.log b/code/base-project/base-go-v2/logs/warn/warn-2025-11-04.log new file mode 100644 index 00000000..e69de29b diff --git a/notes/前端开发/react-native/expo.md b/notes/前端开发/react-native/expo.md index ebf247b8..67fcf227 100644 --- a/notes/前端开发/react-native/expo.md +++ b/notes/前端开发/react-native/expo.md @@ -816,6 +816,46 @@ import 'react-native-gesture-handler' +## 集成[react-native-iconfont-cli](https://github.com/iconfont-cli/react-native-iconfont-cli) + +安装: + +```bash +pnpm add react-native-iconfont-cli -D +``` + +BUG位置:https://github.com/iconfont-cli/react-native-iconfont-cli/issues/42 + +解决fang'an修改模板 `node_modules/react-native-iconfont-cli/templates/SingleIcon.tsx.template`: + +```tsx +/* eslint-disable */ +/* tslint:disable */ + +import React from 'react'; +import type { FunctionComponent } from 'react'; +import type { ViewProps } from 'react-native'; +#svgComponents# +#helper# + +interface Props extends Omit, ViewProps { + size?: number; + color?: string | string[]; +} + +const #componentName#: FunctionComponent = ({ + size = #size#, + color, + ...rest +}) => { + return ( + #iconContent# + ); +}; + +export default React.memo(#componentName#); +``` + ## 配置深度链接