From fa9c73363dbc2135c2a12df8a557326898eb59d4 Mon Sep 17 00:00:00 2001 From: TanTan Date: Fri, 13 Nov 2026 09:02:00 +0800 Subject: [PATCH] SnowLuma v2.4.2 source snapshot --- .editorconfig | 24 + .gitattributes | 14 + .github/ISSUE_TEMPLATE/bug_report.yml | 144 + .github/ISSUE_TEMPLATE/config.yml | 11 + .github/ISSUE_TEMPLATE/feature_request.yml | 78 + .github/logo.svg | 40 + .github/npm-trusted-publishing.md | 30 + .github/pull_request_template.md | 22 + .github/scripts/pr-policy-guard.cjs | 204 + .github/scripts/pr-policy-guard.test.cjs | 313 + .github/workflows/ci.yml | 106 + .github/workflows/dev-build.yml | 278 + .github/workflows/dispatch-docker-release.yml | 86 + .github/workflows/issue-require-logs.yml | 94 + .github/workflows/issue-template-guard.yml | 67 + .github/workflows/main-pr-target-guard.yml | 36 + .github/workflows/mcp-npm-publish.yml | 108 + .github/workflows/promote-dev-to-main.yml | 150 + .github/workflows/release.yml | 250 + .github/workflows/sdk-npm-publish.yml | 105 + .github/workflows/stale-needs-logs.yml | 34 + .github/workflows/sync-docs-catalog.yml | 114 + .github/workflows/ui-npm-publish.yml | 102 + .gitignore | 23 + .node-version | 1 + .npmrc | 4 + .prettierignore | 17 + .prettierrc.json | 18 + AGENTS.md | 135 + CHANGELOG.md | 19 + CLAUDE.md | 135 + CODE_OF_CONDUCT.md | 90 + CONTRIBUTING.md | 342 + EULA.md | 92 + LICENSE | 131 + PRIVACY.md | 149 + README.md | 110 + RoadMap.md | 9 + assets/brand/mascot-avatar.png | Bin 0 -> 1333443 bytes assets/readme/hero.svg | 150 + assets/readme/mascot.png | Bin 0 -> 1771238 bytes assets/readme/runtime-map.svg | 140 + compat/qq.json | 19 + compat/qq.schema.json | 56 + eslint.config.ts | 109 + eslint.format.config.ts | 39 + package.json | 57 + packages/bridge/package.json | 69 + packages/bridge/src/hook-manager.ts | 704 + packages/bridge/src/hook-packet-client.ts | 73 + packages/bridge/src/hook-runtime-dir.ts | 165 + packages/bridge/src/hook-session.ts | 1397 + packages/bridge/src/hook-status.ts | 37 + packages/bridge/src/index.ts | 15 + packages/bridge/src/injector.ts | 137 + packages/bridge/src/packet-timeout.ts | 8 + packages/bridge/src/pipe-watcher.ts | 217 + packages/bridge/src/process-enumerator.ts | 77 + .../bridge/src/qq-account/database-holders.ts | 107 + packages/bridge/src/qq-account/detect.ts | 62 + packages/bridge/src/qq-account/index.ts | 23 + packages/bridge/src/qq-account/login-db.ts | 199 + packages/bridge/src/qq-account/paths.ts | 161 + packages/bridge/src/qq-account/sqlcipher.ts | 461 + packages/bridge/src/qq-account/watch.ts | 115 + packages/bridge/src/qq-hook-client.ts | 1480 ++ packages/bridge/src/runtime-integrity.ts | 121 + packages/bridge/src/types.ts | 23 + .../tests/hook-manager-state-notify.test.ts | 739 + packages/bridge/tests/hook-manager.test.ts | 514 + .../bridge/tests/hook-packet-client.test.ts | 70 + .../tests/hook-reconnect-no-login-e2e.test.ts | 115 + .../tests/hook-reconnect-no-login.test.ts | 146 + .../bridge/tests/hook-runtime-dir.test.ts | 85 + packages/bridge/tests/hook-session.test.ts | 2239 ++ packages/bridge/tests/hook-status.test.ts | 68 + packages/bridge/tests/injector.test.ts | 426 + packages/bridge/tests/packet-timeout.test.ts | 30 + packages/bridge/tests/pipe-watcher.test.ts | 476 + .../bridge/tests/process-enumerator.test.ts | 120 + .../tests/qq-account-database-holders.test.ts | 142 + .../bridge/tests/qq-account-detect.test.ts | 241 + packages/bridge/tests/qq-account-fixtures.ts | 195 + .../bridge/tests/qq-account-login-db.test.ts | 246 + .../tests/qq-account-path-isolation.test.ts | 51 + .../bridge/tests/qq-account-paths.test.ts | 106 + .../bridge/tests/qq-account-real-data.test.ts | 30 + .../bridge/tests/qq-account-sqlcipher.test.ts | 324 + .../qq-account-watch.integration.test.ts | 86 + .../bridge/tests/qq-account-watch.test.ts | 253 + packages/bridge/tests/qq-hook-client.test.ts | 1285 + .../bridge/tests/runtime-integrity.test.ts | 152 + packages/bridge/tsconfig.json | 13 + packages/bridge/vitest.config.ts | 8 + packages/common/bench/logger.bench.ts | 40 + packages/common/package.json | 123 + packages/common/src/access-token.ts | 68 + packages/common/src/coerce.ts | 34 + packages/common/src/concurrency.ts | 32 + packages/common/src/env.ts | 34 + packages/common/src/errors.ts | 3 + packages/common/src/hex.ts | 27 + packages/common/src/json.ts | 6 + packages/common/src/log-file-transport.ts | 1240 + packages/common/src/log-sanitize.ts | 130 + packages/common/src/log-summary.ts | 383 + packages/common/src/logger.ts | 453 + packages/common/src/native-path.ts | 21 + packages/common/src/notification-templates.ts | 14 + packages/common/src/packet-sender.ts | 11 + packages/common/src/protocol-types.ts | 14 + packages/common/src/request-context.ts | 44 + packages/common/src/runtime.ts | 407 + packages/common/src/semver.ts | 28 + packages/common/src/single-flight-cache.ts | 157 + packages/common/src/uin.ts | 11 + packages/common/src/update-source.ts | 60 + packages/common/src/version.ts | 3 + packages/common/src/webui-target.ts | 100 + packages/common/tests/access-token.test.ts | 32 + packages/common/tests/coerce.test.ts | 78 + packages/common/tests/concurrency.test.ts | 81 + packages/common/tests/env.test.ts | 34 + packages/common/tests/hex.test.ts | 32 + .../common/tests/log-file-transport.test.ts | 1130 + packages/common/tests/log-sanitize.test.ts | 87 + packages/common/tests/log-summary.test.ts | 230 + packages/common/tests/logger-snapshot.test.ts | 99 + packages/common/tests/logger.test.ts | 338 + packages/common/tests/request-context.test.ts | 34 + packages/common/tests/runtime.test.ts | 229 + packages/common/tests/semver.test.ts | 73 + .../common/tests/single-flight-cache.test.ts | 327 + packages/common/tests/trace-contract.test.ts | 117 + packages/common/tests/uin.test.ts | 40 + packages/common/tests/update-source.test.ts | 54 + packages/common/tests/webui-target.test.ts | 51 + packages/common/tsconfig.json | 13 + packages/common/vitest.config.ts | 10 + packages/core/config/.gitignore | 16 + packages/core/config/runtime.json | 3 + packages/core/package.json | 70 + packages/core/src/bridge/apis/collection.ts | 28 + packages/core/src/bridge/apis/contacts.ts | 734 + packages/core/src/bridge/apis/extras.ts | 437 + .../core/src/bridge/apis/flash-transfer.ts | 1014 + .../core/src/bridge/apis/forward-cache.ts | 69 + packages/core/src/bridge/apis/forward.ts | 1129 + packages/core/src/bridge/apis/friend.ts | 123 + packages/core/src/bridge/apis/group-admin.ts | 440 + packages/core/src/bridge/apis/group-album.ts | 1124 + packages/core/src/bridge/apis/group-file.ts | 849 + .../src/bridge/apis/history-request-gate.ts | 110 + packages/core/src/bridge/apis/index.ts | 108 + packages/core/src/bridge/apis/interaction.ts | 70 + packages/core/src/bridge/apis/message.ts | 1666 ++ packages/core/src/bridge/apis/misc.ts | 117 + packages/core/src/bridge/apis/profile.ts | 315 + packages/core/src/bridge/apis/qzone.ts | 324 + packages/core/src/bridge/apis/shared.ts | 35 + packages/core/src/bridge/apis/system-face.ts | 36 + packages/core/src/bridge/apis/web.ts | 502 + packages/core/src/bridge/bridge-context.ts | 7 + packages/core/src/bridge/bridge-interface.ts | 28 + packages/core/src/bridge/bridge.ts | 613 + packages/core/src/bridge/manager.ts | 453 + packages/core/src/env.d.ts | 2 + packages/core/src/index.ts | 264 + packages/core/src/notifications/config.ts | 498 + packages/core/src/notifications/debounce.ts | 55 + packages/core/src/notifications/manager.ts | 458 + packages/core/src/notifications/smtp.ts | 482 + packages/core/src/runtime-integrity-log.ts | 55 + packages/core/src/sys-face-catalog.ts | 44 + packages/core/src/update/check.ts | 159 + packages/core/src/update/download.ts | 236 + packages/core/src/update/files.ts | 273 + packages/core/src/update/release.ts | 196 + packages/core/src/update/service.ts | 99 + packages/core/src/update/sources.ts | 125 + packages/core/src/update/startup.ts | 75 + packages/core/src/webui/auth.ts | 419 + packages/core/src/webui/backup.ts | 806 + packages/core/src/webui/client-ip.ts | 132 + .../core/src/webui/connection-diff-loop.ts | 148 + .../core/src/webui/connection-snapshot.ts | 31 + packages/core/src/webui/consent.ts | 274 + packages/core/src/webui/debug-stream.ts | 37 + packages/core/src/webui/debug-tools.ts | 246 + packages/core/src/webui/listener-exposure.ts | 40 + packages/core/src/webui/log-export.ts | 68 + packages/core/src/webui/mutation-trace.ts | 356 + .../core/src/webui/onebot-token-policy.ts | 114 + packages/core/src/webui/port.ts | 57 + packages/core/src/webui/request-security.ts | 77 + packages/core/src/webui/restore.ts | 442 + packages/core/src/webui/server.ts | 2329 ++ packages/core/src/webui/sse-response.ts | 111 + packages/core/src/webui/state-bus.ts | 62 + packages/core/src/webui/state-stream.ts | 120 + packages/core/src/webui/state-wiring.ts | 31 + packages/core/src/webui/static-frontend.ts | 34 + packages/core/src/webui/storage-management.ts | 384 + packages/core/src/webui/storage-routes.ts | 370 + packages/core/src/webui/storage-settings.ts | 325 + packages/core/src/webui/system-settings.ts | 84 + packages/core/src/webui/tls.ts | 86 + packages/core/src/webui/totp.ts | 451 + packages/core/src/webui/ui-config.ts | 995 + packages/core/src/webui/update-routes.ts | 80 + packages/core/src/webui/webui-login.ts | 67 + packages/core/tests/actions/_helpers.ts | 183 + .../core/tests/actions/collection.test.ts | 48 + packages/core/tests/actions/contacts.test.ts | 777 + packages/core/tests/actions/extras.test.ts | 494 + .../core/tests/actions/forward-file.test.ts | 588 + .../tests/actions/forward-metadata.test.ts | 121 + .../actions/forward-nested-fetch.test.ts | 389 + .../core/tests/actions/forward-nested.test.ts | 352 + .../tests/actions/forward-resid-less.test.ts | 188 + .../actions/forward-single-media.test.ts | 225 + packages/core/tests/actions/forward.test.ts | 385 + .../tests/actions/friend-profiles.test.ts | 277 + packages/core/tests/actions/friend.test.ts | 311 + .../core/tests/actions/group-admin.test.ts | 1009 + .../tests/actions/group-album-wire-fixture.ts | 104 + .../core/tests/actions/group-album.test.ts | 1420 + .../core/tests/actions/group-file.test.ts | 1001 + .../core/tests/actions/group-message.test.ts | 260 + .../core/tests/actions/interaction.test.ts | 89 + .../actions/message-send-receipt.test.ts | 49 + packages/core/tests/actions/misc.test.ts | 99 + packages/core/tests/actions/profile.test.ts | 562 + .../core/tests/actions/qzone-public.test.ts | 214 + packages/core/tests/actions/qzone.test.ts | 405 + .../core/tests/bridge-client-message.test.ts | 234 + .../bridge-contact-cache-lifecycle.test.ts | 81 + .../tests/bridge-manager-ownership.test.ts | 589 + .../tests/bridge-manager-shutdown.test.ts | 185 + .../bridge-manager-subscriptions.test.ts | 84 + .../core/tests/bridge-member-identity.test.ts | 165 + .../core/tests/bridge-online-clients.test.ts | 79 + .../core/tests/bridge-private-routing.test.ts | 333 + .../core/tests/bridge-roster-warmup.test.ts | 180 + packages/core/tests/element-builder.test.ts | 624 + packages/core/tests/event-format.test.ts | 341 + .../issue-614-private-voice-upload.hex | 14 + .../core/tests/flash-transfer-create.test.ts | 483 + .../tests/flash-transfer-download.test.ts | 104 + .../tests/flash-transfer-share-link.test.ts | 109 + .../core/tests/group-history-walkback.test.ts | 361 + packages/core/tests/group-notice.test.ts | 115 + packages/core/tests/helpers/update-fixture.ts | 37 + packages/core/tests/hex.test.ts | 65 + packages/core/tests/highway-utils.test.ts | 262 + .../core/tests/highway/chunk-source.test.ts | 131 + packages/core/tests/highway/hash-file.test.ts | 171 + .../core/tests/highway/highway-client.test.ts | 1558 ++ .../tests/highway/highway-parallel.test.ts | 531 + .../core/tests/highway/image-upload.test.ts | 144 + .../core/tests/highway/multi-image.test.ts | 298 + packages/core/tests/highway/pipeline.test.ts | 652 + .../core/tests/highway/ptt-upload.test.ts | 122 + packages/core/tests/highway/stage.test.ts | 294 + .../core/tests/highway/video-upload.test.ts | 338 + .../core/tests/history-request-gate.test.ts | 98 + packages/core/tests/history-sync-api.test.ts | 225 + packages/core/tests/identity-service.test.ts | 1541 ++ .../core/tests/log-file-transport.test.ts | 472 + packages/core/tests/logger.test.ts | 308 + packages/core/tests/msg-push-handler.test.ts | 1093 + .../core/tests/notifications-config.test.ts | 413 + .../core/tests/notifications-debounce.test.ts | 75 + .../tests/notifications-lifecycle.test.ts | 119 + .../core/tests/notifications-manager.test.ts | 546 + .../core/tests/notifications-smtp.test.ts | 325 + .../core/tests/observability-logs.test.ts | 205 + .../core/tests/onebot-token-policy.test.ts | 145 + .../core/tests/private-voice-wire.test.ts | 91 + .../tests/private-window-shake-wire.test.ts | 92 + .../core/tests/runtime-integrity-log.test.ts | 63 + .../core/tests/runtime-node-version.test.ts | 57 + packages/core/tests/sse-response.test.ts | 143 + .../core/tests/storage-management.test.ts | 353 + packages/core/tests/storage-routes.test.ts | 347 + packages/core/tests/storage-settings.test.ts | 295 + packages/core/tests/sys-face-catalog.test.ts | 63 + .../tests/temp-session-image-wire.test.ts | 144 + packages/core/tests/update-directory.test.ts | 46 + packages/core/tests/update-download.test.ts | 243 + packages/core/tests/update-entry.test.ts | 195 + packages/core/tests/update-files.test.ts | 209 + packages/core/tests/update-release.test.ts | 126 + packages/core/tests/update-service.test.ts | 138 + .../core/tests/update-source-routes.test.ts | 105 + packages/core/tests/update-sources.test.ts | 81 + packages/core/tests/webui-auth.test.ts | 571 + packages/core/tests/webui-backup-http.test.ts | 32 + packages/core/tests/webui-backup.test.ts | 965 + packages/core/tests/webui-client-ip.test.ts | 142 + .../tests/webui-connection-diff-loop.test.ts | 469 + .../core/tests/webui-debug-stream.test.ts | 56 + packages/core/tests/webui-debug-tools.test.ts | 211 + .../tests/webui-listener-exposure.test.ts | 42 + packages/core/tests/webui-log-export.test.ts | 69 + packages/core/tests/webui-login.test.ts | 96 + .../core/tests/webui-mutation-trace.test.ts | 452 + packages/core/tests/webui-port.test.ts | 193 + .../core/tests/webui-request-security.test.ts | 136 + .../core/tests/webui-restore-http.test.ts | 148 + packages/core/tests/webui-restore.test.ts | 468 + .../core/tests/webui-server-lifecycle.test.ts | 63 + .../tests/webui-sse-auth-allowlist.test.ts | 38 + packages/core/tests/webui-state-bus.test.ts | 130 + .../core/tests/webui-state-stream.test.ts | 322 + .../core/tests/webui-state-wiring.test.ts | 125 + .../core/tests/webui-static-frontend.test.ts | 78 + .../core/tests/webui-system-settings.test.ts | 116 + packages/core/tests/webui-tls.test.ts | 123 + packages/core/tests/webui-totp.test.ts | 305 + packages/core/tests/webui-ui-config.test.ts | Bin 0 -> 11998 bytes .../core/tests/webui-update-check.test.ts | 349 + packages/core/tests/webui/consent.test.ts | 166 + packages/core/tsconfig.json | 14 + packages/core/vite.config.ts | 223 + packages/core/vitest.config.ts | 31 + packages/mcp/.gitignore | 1 + packages/mcp/AGENT_FEATURES.md | 391 + packages/mcp/README.md | 173 + packages/mcp/apps/message-preview.ts | 9 + packages/mcp/apps/preview-view.ts | 196 + packages/mcp/apps/tsconfig.json | 9 + packages/mcp/package.json | 65 + packages/mcp/scripts/build-message-app.mjs | 48 + packages/mcp/scripts/gen-catalog.test.ts | 42 + packages/mcp/src/client.ts | 1383 + packages/mcp/src/discovery.ts | 119 + packages/mcp/src/elicitation.ts | 344 + packages/mcp/src/generated/catalog.json | 21572 +++++++++++++++ packages/mcp/src/generated/catalog.ts | 21575 ++++++++++++++++ packages/mcp/src/message-app.ts | 157 + packages/mcp/src/progress.ts | 44 + packages/mcp/src/results.ts | 142 + packages/mcp/src/server-factory.ts | 400 + packages/mcp/src/server.ts | 175 + packages/mcp/src/shutdown.ts | 89 + packages/mcp/src/subscriptions.ts | 722 + packages/mcp/src/tasks.ts | 956 + packages/mcp/src/tools.ts | 445 + packages/mcp/src/tracing.ts | 110 + packages/mcp/src/types.ts | 55 + packages/mcp/src/version.ts | 6 + packages/mcp/tests/action-contracts.test.ts | 245 + packages/mcp/tests/agent-tools.test.ts | 275 + packages/mcp/tests/cancellation.test.ts | 124 + packages/mcp/tests/client.test.ts | 1525 ++ packages/mcp/tests/elicitation.test.ts | 585 + packages/mcp/tests/message-app.test.ts | 474 + packages/mcp/tests/protocol-versions.test.ts | 637 + packages/mcp/tests/server.test.ts | 228 + packages/mcp/tests/shutdown.test.ts | 155 + .../mcp/tests/subscription-protocol.test.ts | 233 + packages/mcp/tests/subscriptions.test.ts | 462 + packages/mcp/tests/tasks.test.ts | 695 + packages/mcp/tests/tools.test.ts | 339 + packages/mcp/tests/tracing.test.ts | 274 + packages/mcp/tsconfig.json | 13 + packages/mcp/vitest.config.ts | 17 + packages/onebot/CONTACT_PROFILES.md | 51 + packages/onebot/GROUP_FILES.md | 26 + packages/onebot/GROUP_REQUESTS.md | 55 + packages/onebot/HTTP_SSE.md | 86 + packages/onebot/REPLIES.md | 42 + packages/onebot/bench/send.bench.ts | 136 + packages/onebot/package.json | 127 + packages/onebot/src/action-docs.ts | 101 + packages/onebot/src/action-kit.ts | 964 + packages/onebot/src/action-result-schemas.ts | 134 + .../src/actions/contact-profile-schema.ts | 54 + packages/onebot/src/actions/extended.ts | 5521 ++++ packages/onebot/src/actions/friend.ts | 164 + packages/onebot/src/actions/group-admin.ts | 747 + packages/onebot/src/actions/group-album.ts | 520 + packages/onebot/src/actions/group-file.ts | 608 + packages/onebot/src/actions/group-info.ts | 669 + packages/onebot/src/actions/index.ts | 313 + packages/onebot/src/actions/info.ts | 138 + packages/onebot/src/actions/message.ts | 281 + packages/onebot/src/actions/qzone-public.ts | 463 + packages/onebot/src/actions/qzone.ts | 764 + packages/onebot/src/actions/request.ts | 66 + .../onebot/src/actions/stream-download.ts | 769 + packages/onebot/src/actions/stream-file.ts | 651 + packages/onebot/src/actions/system-face.ts | 183 + packages/onebot/src/api-handler.ts | 572 + packages/onebot/src/config.ts | 1665 ++ packages/onebot/src/env.d.ts | 1 + .../src/event-converter/element-codecs.ts | 761 + .../onebot/src/event-converter/envelope.ts | 32 + packages/onebot/src/event-converter/index.ts | 135 + .../onebot/src/event-converter/to-message.ts | 149 + .../onebot/src/event-converter/to-notice.ts | 300 + .../onebot/src/event-converter/to-request.ts | 29 + .../onebot/src/event-converter/to-segment.ts | 127 + packages/onebot/src/event-converter/utils.ts | 74 + packages/onebot/src/event-filter.ts | 67 + packages/onebot/src/event-pipeline.ts | 524 + packages/onebot/src/global-config.ts | 267 + packages/onebot/src/helper/cq.ts | 101 + packages/onebot/src/history-persistence.ts | 86 + packages/onebot/src/history-sync.ts | 580 + packages/onebot/src/instance-context.ts | 310 + packages/onebot/src/instance-rkey.ts | 363 + packages/onebot/src/instance.ts | 856 + packages/onebot/src/manager.ts | 828 + packages/onebot/src/media-indexer.ts | 78 + packages/onebot/src/media-store-migration.ts | 137 + packages/onebot/src/media-store.ts | 395 + packages/onebot/src/media-url-resolver.ts | 82 + packages/onebot/src/message-id-resolver.ts | 54 + packages/onebot/src/message-id.ts | 31 + packages/onebot/src/message-image-repair.ts | 288 + packages/onebot/src/message-media.ts | 226 + packages/onebot/src/message-parser.ts | 764 + .../src/message-store-migration-task.ts | 138 + .../src/message-store-migration-worker.ts | 119 + .../onebot/src/message-store-migration.ts | 598 + packages/onebot/src/message-store.ts | 1106 + .../onebot/src/modules/contact-actions.ts | 831 + .../onebot/src/modules/contact-profile.ts | 64 + packages/onebot/src/modules/media-actions.ts | 301 + .../onebot/src/modules/message-actions.ts | 2778 ++ .../onebot/src/modules/ptt-trans-waiter.ts | 69 + .../onebot/src/modules/request-actions.ts | 326 + packages/onebot/src/modules/status-command.ts | 95 + packages/onebot/src/network/adapter.ts | 223 + .../onebot/src/network/http-post-adapter.ts | 194 + .../onebot/src/network/http-server-adapter.ts | 770 + .../src/network/http-sse-connections.ts | 275 + packages/onebot/src/network/http-trace.ts | 21 + packages/onebot/src/network/index.ts | 22 + .../onebot/src/network/network-manager.ts | 566 + .../onebot/src/network/quick-operation.ts | 93 + packages/onebot/src/network/utils.ts | 195 + .../onebot/src/network/ws-client-adapter.ts | 383 + .../onebot/src/network/ws-server-adapter.ts | 283 + .../src/network/ws-server-connections.ts | 386 + packages/onebot/src/private-quote.ts | 194 + packages/onebot/src/reaction-store.ts | 178 + packages/onebot/src/reply-preview.ts | 82 + packages/onebot/src/self-sent-event.ts | 66 + packages/onebot/src/sqlite-open.ts | 6 + packages/onebot/src/stream-storage.ts | 368 + packages/onebot/src/streaming.ts | 109 + packages/onebot/src/temp-session-store.ts | 61 + packages/onebot/src/types.ts | 200 + packages/onebot/tests/action-docs.test.ts | 152 + .../tests/action-kit-returns-schema.test.ts | 48 + packages/onebot/tests/action-kit.test.ts | 407 + packages/onebot/tests/action-registry.test.ts | 290 + .../onebot/tests/actions-group-admin.test.ts | 1586 ++ .../onebot/tests/actions-group-file.test.ts | 28 + packages/onebot/tests/actions-message.test.ts | 553 + packages/onebot/tests/actions-request.test.ts | 581 + .../adapter-reload-state-machine.test.ts | 252 + .../tests/api-handler-lifecycle.test.ts | 21 + .../onebot/tests/api-handler-logging.test.ts | 286 + .../onebot/tests/api-handler-trace.test.ts | 274 + .../tests/backfill-reply-target.test.ts | 350 + .../onebot/tests/bot-status-event.test.ts | 53 + .../onebot/tests/collection-action.test.ts | 71 + packages/onebot/tests/config-cleanup.test.ts | 60 + packages/onebot/tests/config.test.ts | 933 + packages/onebot/tests/contact-actions.test.ts | 1376 + packages/onebot/tests/debug-seams.test.ts | 97 + .../onebot/tests/element-manifest.test.ts | 63 + packages/onebot/tests/event-converter.test.ts | 1084 + packages/onebot/tests/event-pipeline.test.ts | 828 + .../onebot/tests/extended-actions.test.ts | 2977 +++ packages/onebot/tests/face-animation.test.ts | 100 + .../onebot/tests/flash-file-segment.test.ts | 42 + packages/onebot/tests/forward-nested.test.ts | 1137 + packages/onebot/tests/forward-reply.test.ts | 326 + packages/onebot/tests/friend-actions.test.ts | 74 + .../onebot/tests/friend-dress-action.test.ts | 43 + packages/onebot/tests/global-config.test.ts | 215 + .../onebot/tests/group-info-actions.test.ts | 166 + .../tests/group-invitation-requests.test.ts | 300 + .../tests/group-join-identities.test.ts | 183 + .../onebot/tests/group-msg-emoji-like.test.ts | 382 + .../onebot/tests/group-request-events.test.ts | 450 + .../onebot/tests/group-share-link.test.ts | 99 + .../tests/helpers/compiled-action-handler.ts | 33 + .../onebot/tests/historical-media.test.ts | 506 + .../onebot/tests/history-direction.test.ts | 411 + packages/onebot/tests/history-sync.test.ts | 913 + packages/onebot/tests/http-image-body.test.ts | 81 + .../onebot/tests/http-post-lifecycle.test.ts | 138 + .../http-server-action-lifecycle.test.ts | 259 + .../tests/http-server-close-retry.test.ts | 184 + .../tests/http-server-content-type.test.ts | 172 + .../tests/http-server-force-close.test.ts | 59 + .../tests/http-server-hot-reload.test.ts | 226 + packages/onebot/tests/http-server-sse.test.ts | 236 + .../onebot/tests/http-server-tracing.test.ts | 225 + .../http-server-websocket-config.test.ts | 103 + .../tests/http-server-websocket.test.ts | 372 + .../tests/http-sse-backpressure.test.ts | 99 + packages/onebot/tests/image-history.test.ts | 735 + .../tests/instance-config-lifecycle.test.ts | 69 + .../onebot/tests/instance-context.test.ts | 1489 ++ .../tests/instance-network-dispose.test.ts | 223 + packages/onebot/tests/instance-rkey.test.ts | 377 + packages/onebot/tests/logging.test.ts | 108 + .../onebot/tests/manager-bot-status.test.ts | 157 + .../onebot/tests/manager-config-apply.test.ts | 86 + .../onebot/tests/manager-lifecycle.test.ts | 989 + .../onebot/tests/media-actions-more.test.ts | 906 + packages/onebot/tests/media-actions.test.ts | 69 + packages/onebot/tests/media-indexer.test.ts | 133 + packages/onebot/tests/media-store.test.ts | 512 + .../onebot/tests/media-url-resolver.test.ts | 176 + .../tests/message-action-validation.test.ts | 325 + packages/onebot/tests/message-id.test.ts | 53 + packages/onebot/tests/message-parser.test.ts | 1216 + .../message-store-migration-task.test.ts | 118 + .../message-store-migration-worker.test.ts | 478 + .../tests/message-store-migration.test.ts | 228 + packages/onebot/tests/message-store.test.ts | 1250 + .../tests/network-bootstrap-meta.test.ts | 277 + packages/onebot/tests/network-manager.test.ts | 303 + .../onebot/tests/network-max-payload.test.ts | 269 + .../onebot/tests/network-reconcile.test.ts | 367 + packages/onebot/tests/network-utils.test.ts | 56 + .../tests/outbound-reply-preview.test.ts | 106 + .../private-reply-id-matches-send.test.ts | 288 + .../tests/private-reply-resolution.test.ts | 469 + .../onebot/tests/private-window-shake.test.ts | 187 + .../onebot/tests/ptt-trans-waiter.test.ts | 110 + packages/onebot/tests/quick-operation.test.ts | 729 + packages/onebot/tests/qzone-actions.test.ts | 410 + .../onebot/tests/qzone-public-actions.test.ts | 373 + packages/onebot/tests/reaction-store.test.ts | 123 + packages/onebot/tests/request-actions.test.ts | 378 + .../onebot/tests/sdk-action-params.test.ts | 42 + packages/onebot/tests/sdk-actions.test.ts | 22 + .../tests/sdk-reverse-websocket.test.ts | 146 + packages/onebot/tests/sdk-streaming.test.ts | 212 + .../onebot/tests/self-sent-events.test.ts | 943 + packages/onebot/tests/self-sent-media.test.ts | 424 + packages/onebot/tests/send-group-file.test.ts | 641 + .../tests/send-private-c2c-file.test.ts | 517 + .../tests/send-private-strip-at.test.ts | 182 + .../onebot/tests/send-video-fallback.test.ts | 162 + packages/onebot/tests/setup.ts | 61 + packages/onebot/tests/status-command.test.ts | 110 + packages/onebot/tests/status-health.test.ts | 36 + packages/onebot/tests/stream-download.test.ts | 246 + packages/onebot/tests/stream-file.test.ts | 357 + .../onebot/tests/stream-storage-env.test.ts | 36 + packages/onebot/tests/stream-storage.test.ts | 160 + packages/onebot/tests/streaming.test.ts | 275 + .../onebot/tests/system-face-actions.test.ts | 109 + .../onebot/tests/temp-session-send.test.ts | 114 + .../onebot/tests/temp-session-store.test.ts | 57 + .../onebot/tests/ws-client-heartbeat.test.ts | 255 + .../tests/ws-client-stale-close.test.ts | 258 + .../onebot/tests/ws-server-heartbeat.test.ts | 185 + .../onebot/tests/ws-server-lifecycle.test.ts | 198 + .../onebot/tests/ws-server-routing.test.ts | 350 + packages/onebot/tsconfig.json | 13 + packages/onebot/vitest.config.ts | 40 + packages/proto-defs/package.json | 93 + packages/proto-defs/src/action.ts | 136 + packages/proto-defs/src/collection.ts | 200 + packages/proto-defs/src/dataline.ts | 50 + packages/proto-defs/src/element.ts | 492 + packages/proto-defs/src/get-c2c-msg.ts | 43 + packages/proto-defs/src/get-group-msg.ts | 30 + packages/proto-defs/src/highway.ts | 338 + packages/proto-defs/src/index.ts | 38 + packages/proto-defs/src/longmsg.ts | 69 + packages/proto-defs/src/message.ts | 170 + packages/proto-defs/src/notify.ts | 384 + packages/proto-defs/src/oidb-action.ts | 1 + packages/proto-defs/src/oidb-actions/base.ts | 1160 + .../src/oidb-actions/contact-ark.ts | 77 + .../src/oidb-actions/doubt-buddy.ts | 50 + .../src/oidb-actions/flash-transfer.ts | 551 + .../oidb-actions/group-admin-permissions.ts | 92 + .../src/oidb-actions/group-album.ts | 352 + .../src/oidb-actions/group-category-tag.ts | 23 + .../proto-defs/src/oidb-actions/group-ext.ts | 48 + .../proto-defs/src/oidb-actions/group-file.ts | 244 + .../src/oidb-actions/group-share-link.ts | 20 + packages/proto-defs/src/oidb-actions/index.ts | 5 + packages/proto-defs/src/oidb-actions/media.ts | 283 + packages/proto-defs/src/oidb-actions/ocr.ts | 50 + .../proto-defs/src/oidb-actions/sys-faces.ts | 60 + packages/proto-defs/src/oidb.ts | 269 + packages/proto-defs/src/ptt-trans.ts | 99 + packages/proto-defs/src/qidian-corp.ts | 18 + packages/proto-defs/src/qzone.ts | 13 + packages/proto-defs/tsconfig.json | 13 + packages/protocol/HIGHWAY_UPLOADS.md | 110 + packages/protocol/bench/recv.bench.ts | 199 + packages/protocol/package.json | 134 + packages/protocol/src/bridge-context.ts | 87 + packages/protocol/src/bridge-oidb.ts | 27 + packages/protocol/src/dataline/codec.ts | 136 + packages/protocol/src/dataline/decode-push.ts | 72 + .../protocol/src/dataline/device-contacts.ts | 69 + packages/protocol/src/element-builder.ts | 891 + packages/protocol/src/element-manifest.ts | 954 + packages/protocol/src/event-bus.ts | 125 + packages/protocol/src/events.ts | 638 + packages/protocol/src/format.ts | 408 + packages/protocol/src/group-invite-tracker.ts | 142 + packages/protocol/src/group-member-card.ts | 80 + .../protocol/src/highway/download-settings.ts | 54 + packages/protocol/src/highway/ffmpeg-addon.ts | 279 + packages/protocol/src/highway/hash-file.ts | 173 + .../protocol/src/highway/highway-client.ts | 1240 + packages/protocol/src/highway/image-upload.ts | 233 + packages/protocol/src/highway/pipeline.ts | 447 + packages/protocol/src/highway/ptt-upload.ts | 335 + packages/protocol/src/highway/ptt-waveform.ts | 207 + packages/protocol/src/highway/sha1-stream.ts | 156 + packages/protocol/src/highway/stage.ts | 347 + packages/protocol/src/highway/upload-nodes.ts | 79 + .../protocol/src/highway/upload-settings.ts | 48 + packages/protocol/src/highway/utils.ts | 560 + packages/protocol/src/highway/video-upload.ts | 504 + packages/protocol/src/identity-service.ts | 1970 ++ packages/protocol/src/kick-nt.ts | 37 + .../protocol/src/msg-push/blank-filter.ts | 153 + .../src/msg-push/client-message-receipt.ts | 195 + packages/protocol/src/msg-push/context.ts | 125 + .../src/msg-push/decoders/event-0x210.ts | 397 + .../src/msg-push/decoders/event-0x2dc.ts | 325 + .../src/msg-push/decoders/friend-message.ts | 115 + .../src/msg-push/decoders/group-admin.ts | 41 + .../msg-push/decoders/group-join-request.ts | 80 + .../msg-push/decoders/group-member-change.ts | 164 + .../src/msg-push/decoders/group-message.ts | 50 + .../src/msg-push/decoders/temp-message.ts | 41 + packages/protocol/src/msg-push/enums.ts | 141 + .../src/msg-push/fetch-c2c-history.ts | 202 + .../src/msg-push/fetch-group-history.ts | 119 + packages/protocol/src/msg-push/helpers.ts | 278 + packages/protocol/src/msg-push/index.ts | 236 + .../protocol/src/msg-push/packet-response.ts | 15 + packages/protocol/src/msg-push/registry.ts | 83 + .../src/msg-push/rich-body-decoder.ts | 1678 ++ .../protocol/src/msg-push/sysmsg-dedup.ts | 117 + packages/protocol/src/msg-push/xml-card.ts | 121 + packages/protocol/src/oidb-service.ts | 225 + .../contacts/fetch-download-rkeys.ts | 54 + .../contacts/fetch-friend-list-page.ts | 135 + .../contacts/fetch-group-detail.ts | 71 + .../contacts/fetch-group-list.ts | 91 + .../contacts/fetch-group-member-list-page.ts | 108 + .../contacts/fetch-group-requests.ts | 205 + .../contacts/fetch-robot-uin-ranges.ts | 96 + .../contacts/fetch-user-profile-by-uid.ts | 153 + .../contacts/fetch-user-profile.ts | 249 + .../contacts/get-buddy-recommend-ark.ts | 44 + .../contacts/get-group-recommend-ark.ts | 44 + .../contacts/get-group-share-link.ts | 50 + .../oidb-services/contacts/public-profile.ts | 194 + .../oidb-services/contacts/send-tuwen-ark.ts | 82 + .../contacts/set-friend-category.ts | 40 + .../custom-face/add-custom-face.ts | 139 + .../custom-face/delete-custom-face.ts | 47 + .../custom-face/fetch-custom-face-detail.ts | 81 + .../custom-face/fetch-custom-face-list.ts | 47 + .../custom-face/modify-custom-face.ts | 64 + .../custom-face/move-custom-face.ts | 63 + .../custom-face/order-custom-face.ts | 59 + .../src/oidb-services/custom-face/shared.ts | 33 + .../extras/fetch-ai-voice-list.ts | 51 + .../oidb-services/extras/fetch-ai-voice.ts | 66 + .../extras/get-group-todo-list.ts | 175 + .../extras/get-stranger-status.ts | 74 + .../src/oidb-services/extras/group-todo.ts | 48 + .../flash-transfer/apply-fileset.ts | 67 + .../flash-transfer/apply-upload.ts | 108 + .../flash-transfer/commit-file.ts | 70 + .../flash-transfer/complete-fileset.ts | 38 + .../flash-transfer/delete-file.ts | 40 + .../flash-transfer/get-download-url.ts | 78 + .../flash-transfer/get-fileset-detail.ts | 41 + .../flash-transfer/get-flash-download.ts | 106 + .../flash-transfer/list-filesets.ts | 42 + .../flash-transfer/prepare-upload.ts | 114 + .../flash-transfer/rename-file.ts | 45 + .../flash-transfer/send-flash.ts | 50 + .../flash-transfer/set-status.ts | 39 + .../friend/approve-doubt-buddy-req.ts | 49 + .../friend/clear-friend-remark.ts | 35 + .../src/oidb-services/friend/delete-friend.ts | 54 + .../friend/get-doubt-buddy-req.ts | 95 + .../friend/handle-friend-request.ts | 47 + .../friend/reject-doubt-buddy-req.ts | 38 + .../oidb-services/friend/set-friend-remark.ts | 125 + .../group-admin/add-group-category-tag.ts | 42 + .../group-admin/delete-group-category-tag.ts | 42 + .../group-admin/get-admin-permissions.ts | 101 + .../group-admin/get-admin-receive-verify.ts | 72 + .../group-admin/get-at-all-remain.ts | 60 + .../group-admin/get-group-category-tags.ts | 60 + .../group-admin/get-group-ext-info.ts | 60 + .../oidb-services/group-admin/kick-member.ts | 53 + .../oidb-services/group-admin/kick-members.ts | 49 + .../oidb-services/group-admin/leave-group.ts | 27 + .../group-admin/modify-group-ext-info.ts | 68 + .../src/oidb-services/group-admin/mute-all.ts | 37 + .../oidb-services/group-admin/mute-member.ts | 41 + .../group-admin/set-add-option.ts | 58 + .../group-admin/set-add-request.ts | 58 + .../group-admin/set-admin-permissions.ts | 72 + .../group-admin/set-admin-receive-verify.ts | 48 + .../oidb-services/group-admin/set-admin.ts | 35 + .../group-admin/set-group-name.ts | 32 + .../group-admin/set-group-remark.ts | 60 + .../group-admin/set-member-card.ts | 37 + .../group-admin/set-member-invite-policy.ts | 89 + .../group-admin/set-member-permission.ts | 86 + .../set-new-member-history-visibility.ts | 64 + .../oidb-services/group-admin/set-search.ts | 55 + .../group-admin/set-special-title.ts | 42 + .../group-file/create-group-folder.ts | 77 + .../group-file/delete-group-file.ts | 49 + .../group-file/delete-group-folder.ts | 51 + .../group-file/finalize-offline-file.ts | 62 + .../group-file/get-group-file-count.ts | 46 + .../group-file/get-group-file-space.ts | 45 + .../group-file/get-group-file-url.ts | 90 + .../group-file/get-group-ptt-url.ts | 51 + .../group-file/get-group-video-url.ts | 50 + .../group-file/get-private-file-url.ts | 73 + .../group-file/get-private-ptt-url.ts | 50 + .../group-file/get-private-video-url.ts | 50 + .../group-file/list-group-files-page.ts | 72 + .../group-file/move-group-file.ts | 54 + .../oidb-services/group-file/ntv2-download.ts | 88 + .../group-file/publish-group-file.ts | 51 + .../group-file/rename-group-file.ts | 56 + .../group-file/rename-group-folder.ts | 57 + .../group-file/trans-group-file.ts | 64 + .../group-file/upload-group-file-request.ts | 76 + .../group-file/upload-private-file-request.ts | 78 + .../highway/ntv2-upload-request.ts | 136 + .../oidb-services/interaction/send-like.ts | 60 + .../oidb-services/interaction/send-poke.ts | 48 + .../oidb-services/interaction/set-essence.ts | 44 + .../misc/click-inline-keyboard-button.ts | 61 + .../src/oidb-services/misc/image-ocr.ts | 67 + .../oidb-services/misc/request-decrypt-key.ts | 78 + .../src/oidb-services/misc/send-group-sign.ts | 48 + .../oidb-services/misc/translate-en-to-zh.ts | 49 + .../src/oidb-services/profile/get-like.ts | 198 + .../profile/get-unidirectional-friend-list.ts | 74 + .../oidb-services/profile/set-input-status.ts | 51 + .../src/oidb-services/profile/set-profile.ts | 72 + .../profile/set-self-long-nick.ts | 39 + .../reaction/fetch-reaction-summary.ts | 69 + .../oidb-services/reaction/get-emoji-likes.ts | 58 + .../oidb-services/reaction/set-reaction.ts | 54 + packages/protocol/src/oidb-services/shared.ts | 43 + .../oidb-services/sys-faces/fetch-sys-face.ts | 42 + .../sys-faces/fetch-sys-faces.ts | 187 + .../web/force-fetch-client-key.ts | 43 + .../src/oidb-services/web/get-pskey.ts | 50 + packages/protocol/src/packet-pipeline.ts | 906 + packages/protocol/src/qq-info.ts | 201 + packages/protocol/src/self-uid.ts | 35 + .../src/services/qidian/fetch-corp-info.ts | 70 + packages/protocol/src/sys-face-storage.ts | 66 + packages/protocol/src/sys-face-store.ts | 578 + packages/protocol/src/web/collection.ts | 566 + packages/protocol/src/web/friend-dress.ts | 341 + packages/protocol/src/web/group-album.ts | 728 + packages/protocol/src/web/group-essence.ts | 157 + packages/protocol/src/web/group-honor.ts | 90 + packages/protocol/src/web/group-notice.ts | 465 + packages/protocol/src/web/group-signin.ts | 115 + .../protocol/src/web/qzone-feed-content.ts | 189 + .../protocol/src/web/qzone-feed-cursor.ts | 154 + packages/protocol/src/web/qzone-public.ts | 735 + packages/protocol/src/web/qzone.ts | 2317 ++ packages/protocol/src/web/request-util.ts | 798 + packages/protocol/tests/dataline.test.ts | 172 + .../protocol/tests/download-settings.test.ts | 61 + .../protocol/tests/element-manifest.test.ts | 203 + packages/protocol/tests/event-bus.test.ts | 209 + packages/protocol/tests/format.test.ts | 796 + .../protocol/tests/group-member-card.test.ts | 147 + .../tests/highway/audio-transcode.test.ts | 164 + .../tests/highway/encode-silk.test.ts | 86 + .../protocol/tests/highway/hash-file.test.ts | 285 + .../tests/highway/image-sticker.test.ts | 92 + .../highway/image-upload-reference.test.ts | 93 + .../tests/highway/ptt-waveform.test.ts | 146 + .../tests/highway/sha1-stream.test.ts | 198 + packages/protocol/tests/highway/stage.test.ts | 523 + .../tests/highway/upload-nodes.test.ts | 56 + .../tests/highway/upload-settings.test.ts | 33 + .../tests/highway/upload-transport.test.ts | 133 + packages/protocol/tests/highway/utils.test.ts | 175 + .../tests/highway/video-sha1-blocks.test.ts | 51 + packages/protocol/tests/kick-nt.test.ts | 46 + .../tests/msg-push/blank-filter.test.ts | 89 + .../bot-markdown-keyboard-decode.test.ts | 190 + .../msg-push/client-message-receipt.test.ts | 345 + .../tests/msg-push/empty-message-drop.test.ts | 287 + .../tests/msg-push/fetch-c2c-history.test.ts | 495 + .../msg-push/fetch-group-history.test.ts | 416 + .../fixtures/issue-358-flash-push.hex | 1 + .../msg-push/flash-transfer-decode.test.ts | 242 + .../tests/msg-push/friend-poke.test.ts | 75 + .../group-join-request-invitee.test.ts | 97 + .../tests/msg-push/registry-trace.test.ts | 77 + .../tests/msg-push/rich-body-decoder.test.ts | 1675 ++ .../tests/msg-push/sysmsg-dedup.test.ts | 328 + .../msg-push/temp-message-source.test.ts | 94 + .../tests/native/audio-transcode.test.ts | 170 + packages/protocol/tests/oidb-service.test.ts | 410 + .../tests/oidb-services/_pb-oracle.ts | 68 + .../contacts/fetch-download-rkeys.test.ts | 89 + .../contacts/fetch-friend-list-page.test.ts | 199 + .../contacts/fetch-group-detail.test.ts | 249 + .../contacts/fetch-group-list.test.ts | 142 + .../fetch-group-member-list-page.test.ts | 157 + .../contacts/fetch-group-requests.test.ts | 214 + .../contacts/fetch-robot-uin-ranges.test.ts | 88 + .../fetch-user-profile-by-uid.test.ts | 122 + .../contacts/fetch-user-profile.test.ts | 341 + .../contacts/get-buddy-recommend-ark.test.ts | 62 + .../contacts/get-group-recommend-ark.test.ts | 55 + .../contacts/get-group-share-link.test.ts | 113 + .../contacts/public-profile.test.ts | 176 + .../contacts/send-tuwen-ark.test.ts | 163 + .../contacts/set-friend-category.test.ts | 118 + .../custom-face/delete-custom-face.test.ts | 92 + .../fetch-custom-face-detail.test.ts | 95 + .../fetch-custom-face-list.test.ts | 105 + .../custom-face/modify-custom-face.test.ts | 92 + .../custom-face/move-custom-face.test.ts | 89 + .../custom-face/order-custom-face.test.ts | 81 + .../extras/fetch-ai-voice-list.test.ts | 84 + .../extras/fetch-ai-voice.test.ts | 131 + .../extras/get-group-todo-list.test.ts | 128 + .../extras/get-stranger-status.test.ts | 150 + .../oidb-services/extras/group-todo.test.ts | 73 + .../apply-upload-byteoracle.test.ts | 91 + .../flash-transfer/apply-upload.test.ts | 67 + .../get-download-url-byteoracle.test.ts | 31 + .../prepare-upload-byteoracle.test.ts | 94 + .../send-flash-byteoracle.test.ts | 68 + .../friend/approve-doubt-buddy-req.test.ts | 129 + .../friend/clear-friend-remark.test.ts | 35 + .../friend/delete-friend.test.ts | 84 + .../friend/fixtures/d69-linux-3.2.32.hex | 1 + .../friend/get-doubt-buddy-req.test.ts | 183 + .../friend/handle-friend-request.test.ts | 70 + .../friend/reject-doubt-buddy-req.test.ts | 44 + .../friend/set-friend-remark.test.ts | 151 + .../group-admin/admin-permissions.test.ts | 256 + .../get-admin-receive-verify.test.ts | 152 + .../group-admin/get-at-all-remain.test.ts | 67 + .../group-admin/get-group-ext-info.test.ts | 93 + .../group-admin/kick-member.test.ts | 126 + .../group-admin/kick-members.test.ts | 114 + .../group-admin/leave-group.test.ts | 34 + .../group-admin/modify-group-ext-info.test.ts | 95 + .../group-admin/mute-all.test.ts | 51 + .../group-admin/mute-member.test.ts | 51 + .../group-admin/set-add-option.test.ts | 91 + .../group-admin/set-add-request.test.ts | 110 + .../group-admin/set-admin.test.ts | 46 + .../group-admin/set-group-name.test.ts | 34 + .../group-admin/set-group-remark.test.ts | 60 + .../group-admin/set-member-card.test.ts | 38 + .../set-member-invite-policy.test.ts | 109 + .../group-admin/set-member-permission.test.ts | 141 + .../set-new-member-history-visibility.test.ts | 94 + .../group-admin/set-search.test.ts | 34 + .../group-admin/set-special-title.test.ts | 64 + .../group-file/create-group-folder.test.ts | 102 + .../group-file/delete-group-file.test.ts | 56 + .../group-file/delete-group-folder.test.ts | 49 + .../group-file/finalize-offline-file.test.ts | 158 + .../group-file/get-group-file-count.test.ts | 53 + .../group-file/get-group-file-space.test.ts | 54 + .../group-file/get-group-file-url.test.ts | 88 + .../group-file/get-group-ptt-url.test.ts | 63 + .../group-file/get-group-video-url.test.ts | 57 + .../group-file/get-private-file-url.test.ts | 81 + .../group-file/get-private-ptt-url.test.ts | 47 + .../group-file/get-private-video-url.test.ts | 47 + .../group-file/list-group-files-page.test.ts | 169 + .../group-file/move-group-file.test.ts | 66 + .../group-file/publish-group-file.test.ts | 50 + .../group-file/rename-group-file.test.ts | 86 + .../group-file/rename-group-folder.test.ts | 61 + .../group-file/trans-group-file.test.ts | 62 + .../upload-group-file-request.test.ts | 88 + .../upload-private-file-request.test.ts | 92 + .../highway/ntv2-upload-request.test.ts | 79 + .../interaction/send-like.test.ts | 65 + .../interaction/send-poke.test.ts | 98 + .../interaction/set-essence.test.ts | 93 + .../misc/click-inline-keyboard-button.test.ts | 150 + .../oidb-services/misc/image-ocr.test.ts | 107 + .../misc/send-group-sign.test.ts | 48 + .../misc/translate-en-to-zh.test.ts | 95 + .../oidb-services/profile/get-like.test.ts | 310 + .../get-unidirectional-friend-list.test.ts | 101 + .../profile/set-input-status.test.ts | 61 + .../oidb-services/profile/set-profile.test.ts | 81 + .../profile/set-self-long-nick.test.ts | 61 + .../reaction/fetch-reaction-summary.test.ts | 150 + .../reaction/get-emoji-likes.test.ts | 218 + .../reaction/set-reaction.test.ts | 171 + .../tests/oidb-services/set-search.test.ts | 61 + .../web/force-fetch-client-key.test.ts | 56 + .../tests/oidb-services/web/get-pskey.test.ts | 84 + .../packet-pipeline-roster-refresh.test.ts | 318 + .../packet-pipeline-stranger-resolve.test.ts | 572 + .../tests/packet-pipeline-trace.test.ts | 446 + .../tests/self-invite-dispatch.test.ts | 188 + .../services/qidian/fetch-corp-info.test.ts | 63 + .../protocol/tests/sys-face-storage.test.ts | 64 + packages/protocol/tests/sys-faces.test.ts | 908 + .../protocol/tests/web/collection.test.ts | 713 + .../web/fixtures/friend-dress-sample.html | 66 + .../web/fixtures/qzone-feeds-sample.jsonp | 8 + .../protocol/tests/web/friend-dress.test.ts | 264 + .../tests/web/group-album-upload.test.ts | 208 + .../protocol/tests/web/group-essence.test.ts | 84 + .../protocol/tests/web/group-notice.test.ts | 178 + .../protocol/tests/web/group-signin.test.ts | 132 + .../protocol/tests/web/qzone-detail.test.ts | 144 + .../tests/web/qzone-feed-detail.test.ts | 179 + .../tests/web/qzone-feeds-parse.test.ts | 83 + .../protocol/tests/web/qzone-feeds.test.ts | 286 + .../protocol/tests/web/qzone-profile.test.ts | 148 + .../protocol/tests/web/qzone-public.test.ts | 341 + .../protocol/tests/web/qzone-reply.test.ts | 174 + .../protocol/tests/web/qzone-share.test.ts | 177 + .../tests/web/qzone-update-right.test.ts | 148 + .../protocol/tests/web/qzone-upload.test.ts | 117 + packages/protocol/tests/web/qzone.test.ts | 711 + .../protocol/tests/web/request-util.test.ts | 708 + packages/protocol/tsconfig.json | 13 + packages/protocol/vitest.config.ts | 18 + packages/proton/README.md | 131 + packages/proton/package.json | 47 + packages/proton/protobuf.d.ts | 49 + packages/proton/src/codegen/buffer.ts | 13 + packages/proton/src/codegen/decoder.ts | 251 + packages/proton/src/codegen/dependencies.ts | 34 + packages/proton/src/codegen/encoder.ts | 51 + packages/proton/src/codegen/fields.ts | 141 + packages/proton/src/codegen/generator.ts | 99 + packages/proton/src/codegen/helpers.ts | 98 + packages/proton/src/codegen/model.ts | 42 + packages/proton/src/codegen/unknown.ts | 60 + packages/proton/src/codegen/utf8.ts | 159 + packages/proton/src/codegen/write.ts | 56 + packages/proton/src/compiler/analysis.ts | 559 + .../proton/src/compiler/callback-types.ts | 169 + packages/proton/src/compiler/callbacks.ts | 323 + packages/proton/src/compiler/compiler.ts | 326 + packages/proton/src/compiler/edits.ts | 80 + packages/proton/src/compiler/model.ts | 99 + packages/proton/src/compiler/receivers.ts | 404 + packages/proton/src/compiler/signatures.ts | 212 + packages/proton/src/compiler/targets.ts | 345 + packages/proton/src/compiler/validate.ts | 140 + packages/proton/src/index.ts | 74 + packages/proton/src/package.ts | 1 + packages/proton/src/runtime.ts | 69 + packages/proton/src/schema/message.ts | 143 + packages/proton/src/schema/objects.ts | 249 + packages/proton/src/schema/operators.ts | 246 + packages/proton/src/schema/relations.ts | 137 + packages/proton/src/schema/resolver.ts | 600 + packages/proton/src/schema/types.ts | 38 + packages/proton/src/source/context.ts | 423 + packages/proton/src/source/entries.ts | 43 + .../test/__tests__/compatibility.test.ts | 242 + .../proton/test/__tests__/generator.test.ts | 342 + packages/proton/test/fixtures/bool-msg.ts | 3 + packages/proton/test/fixtures/nested.ts | 7 + packages/proton/test/fixtures/repeated.ts | 9 + packages/proton/test/fixtures/simple.ts | 3 + packages/proton/test/fixtures/string-msg.ts | 3 + packages/proton/test/helpers/index.ts | 10 + .../test/upstream/codegen/buffer.test.ts | 94 + .../test/upstream/codegen/generator.test.ts | 245 + .../proton/test/upstream/codegen/utf8.test.ts | 212 + .../proton/test/upstream/codegen/wire.test.ts | 202 + packages/proton/test/upstream/compile.ts | 24 + .../test/upstream/compiler/callbacks.test.ts | 332 + .../test/upstream/compiler/classes.test.ts | 196 + .../test/upstream/compiler/compile.test.ts | 424 + .../upstream/compiler/composition.test.ts | 201 + .../upstream/compiler/diagnostics.test.ts | 114 + .../test/upstream/compiler/evaluation.test.ts | 75 + .../test/upstream/compiler/modules.test.ts | 54 + .../test/upstream/compiler/types.test.ts | 87 + .../test/upstream/plugin/package-name.test.ts | 25 + .../proton/test/upstream/plugin/vite.test.ts | 108 + packages/proton/test/upstream/project.ts | 79 + packages/proton/test/upstream/schema.ts | 40 + packages/proton/tsconfig.json | 20 + packages/proton/vitest.config.ts | 7 + packages/runtime/.gitignore | 1 + packages/runtime/check-node-version.cjs | 27 + packages/runtime/launcher.bat | 7 + packages/runtime/launcher.sh | 17 + .../ffmpeg/ffmpegAddon.darwin.arm64.node | Bin 0 -> 5433376 bytes .../ffmpeg/ffmpegAddon.linux.arm64.node | Bin 0 -> 5380160 bytes .../native/ffmpeg/ffmpegAddon.linux.x64.node | Bin 0 -> 5654496 bytes .../native/ffmpeg/ffmpegAddon.win32.x64.node | Bin 0 -> 6812160 bytes .../runtime/native/snowluma-linux-arm64.node | Bin 0 -> 318640 bytes .../runtime/native/snowluma-linux-arm64.so | Bin 0 -> 371936 bytes .../runtime/native/snowluma-linux-x64.node | Bin 0 -> 203872 bytes packages/runtime/native/snowluma-linux-x64.so | Bin 0 -> 425216 bytes .../runtime/native/snowluma-win32-x64.dll | Bin 0 -> 494592 bytes .../runtime/native/snowluma-win32-x64.node | Bin 0 -> 359424 bytes .../native/websocket-darwin-arm64.node | Bin 0 -> 102368 bytes .../runtime/native/websocket-linux-arm64.node | Bin 0 -> 150624 bytes .../runtime/native/websocket-linux-x64.node | Bin 0 -> 105360 bytes .../runtime/native/websocket-win32-x64.node | Bin 0 -> 163328 bytes packages/runtime/package.json | 12 + packages/sdk/CHANGELOG.md | 41 + packages/sdk/MESSAGING.md | 168 + packages/sdk/README.md | 455 + packages/sdk/REVERSE_WEBSOCKET.md | 122 + packages/sdk/STREAMING.md | 130 + packages/sdk/VERSIONING.md | 52 + packages/sdk/package.json | 107 + packages/sdk/src/actions.ts | 244 + packages/sdk/src/client/api-client.ts | 908 + packages/sdk/src/client/file-streams.ts | 329 + packages/sdk/src/client/http-client.ts | 189 + packages/sdk/src/client/index.ts | 13 + packages/sdk/src/client/media.ts | 48 + packages/sdk/src/client/websocket-client.ts | 863 + packages/sdk/src/client/websocket-types.ts | 63 + packages/sdk/src/client/websocket-utils.ts | 101 + packages/sdk/src/emitter.ts | 45 + packages/sdk/src/errors.ts | 103 + packages/sdk/src/events/command.ts | 67 + packages/sdk/src/events/context.ts | 104 + packages/sdk/src/events/guards.ts | 61 + packages/sdk/src/events/index.ts | 4 + packages/sdk/src/events/types.ts | 81 + packages/sdk/src/index.ts | 87 + packages/sdk/src/internal/abort.ts | 100 + packages/sdk/src/internal/json.ts | 89 + packages/sdk/src/internal/streaming.ts | 260 + packages/sdk/src/messages/chain.ts | 336 + packages/sdk/src/messages/cq-format.ts | 34 + packages/sdk/src/messages/cq.ts | 141 + packages/sdk/src/messages/index.ts | 34 + packages/sdk/src/messages/quote.ts | 42 + packages/sdk/src/messages/segments.ts | 126 + packages/sdk/src/node/index.ts | 26 + .../sdk/src/node/reverse-websocket-server.ts | 493 + .../src/node/reverse-websocket-transport.ts | 157 + packages/sdk/src/types/actions.ts | 497 + packages/sdk/src/types/events.ts | 94 + packages/sdk/src/types/index.ts | 8 + packages/sdk/src/types/json.ts | 43 + packages/sdk/src/types/media.ts | 34 + packages/sdk/src/types/messages.ts | 117 + packages/sdk/src/types/params.ts | 810 + packages/sdk/src/types/results.ts | 818 + packages/sdk/src/types/streaming.ts | 53 + packages/sdk/tests/abort.test.ts | 82 + packages/sdk/tests/api-client.test.ts | 973 + packages/sdk/tests/chain.test.ts | 532 + packages/sdk/tests/emitter.test.ts | 338 + packages/sdk/tests/event-waits.test.ts | 387 + packages/sdk/tests/events.test.ts | 88 + packages/sdk/tests/file-streams.test.ts | 288 + .../sdk/tests/fixtures/action-contracts.ts | 579 + packages/sdk/tests/fixtures/action-types.mts | 324 + .../sdk/tests/fixtures/messaging-types.mts | 103 + packages/sdk/tests/guards.test.ts | 495 + packages/sdk/tests/http-client.test.ts | 308 + packages/sdk/tests/http-streaming.test.ts | 222 + packages/sdk/tests/media.test.ts | 382 + packages/sdk/tests/messages.test.ts | 114 + packages/sdk/tests/package.test.ts | 261 + packages/sdk/tests/quote.test.ts | 242 + packages/sdk/tests/qzone-public.test.ts | 103 + .../tests/reverse-websocket-server.test.ts | 331 + packages/sdk/tests/segments.test.ts | 374 + packages/sdk/tests/websocket-client.test.ts | 749 + packages/sdk/tests/websocket-utils.test.ts | 225 + packages/sdk/tsconfig.json | 16 + packages/sqlite/package.json | 36 + packages/sqlite/src/driver.ts | 118 + packages/sqlite/src/index.ts | 199 + packages/sqlite/src/layout.ts | 52 + packages/sqlite/src/native.ts | 128 + packages/sqlite/src/vite.ts | 68 + packages/sqlite/tests/build.test.ts | 125 + packages/sqlite/tests/layout.test.ts | 24 + packages/sqlite/tests/sqlite.test.ts | 240 + packages/sqlite/tsconfig.json | 6 + packages/sqlite/vitest.config.ts | 5 + packages/ui/package.json | 89 + packages/ui/src/components/alert-dialog.tsx | 113 + packages/ui/src/components/avatar.tsx | 50 + packages/ui/src/components/badge.tsx | 34 + packages/ui/src/components/button.tsx | 60 + packages/ui/src/components/card.tsx | 61 + packages/ui/src/components/checkbox.tsx | 34 + packages/ui/src/components/dialog.tsx | 105 + packages/ui/src/components/empty-state.tsx | 45 + packages/ui/src/components/input.tsx | 25 + packages/ui/src/components/kbd.tsx | 17 + packages/ui/src/components/label.tsx | 20 + packages/ui/src/components/popover.tsx | 31 + packages/ui/src/components/progress.tsx | 54 + packages/ui/src/components/scroll-area.tsx | 51 + packages/ui/src/components/select.tsx | 171 + packages/ui/src/components/separator.tsx | 23 + packages/ui/src/components/sheet.tsx | 72 + packages/ui/src/components/skeleton.tsx | 6 + packages/ui/src/components/status-dot.tsx | 49 + packages/ui/src/components/switch.tsx | 35 + packages/ui/src/components/tabs.tsx | 48 + packages/ui/src/components/toaster.tsx | 30 + packages/ui/src/components/tooltip.tsx | 29 + packages/ui/src/index.ts | 72 + packages/ui/src/lib/cn.ts | 6 + packages/ui/src/styles/theme.css | 259 + packages/ui/tsconfig.json | 16 + packages/ui/tsup.config.ts | 12 + packages/websocket/package.json | 28 + packages/websocket/src/client.ts | 407 + packages/websocket/src/extensions.ts | 288 + packages/websocket/src/index.ts | 49 + packages/websocket/src/native.ts | 153 + packages/websocket/src/server.ts | 407 + packages/websocket/src/websocket.ts | 896 + packages/websocket/tests/client.test.ts | 1196 + .../websocket/tests/extensions-more.test.ts | 413 + packages/websocket/tests/extensions.test.ts | 32 + packages/websocket/tests/native.test.ts | 570 + packages/websocket/tests/server.test.ts | 1165 + packages/websocket/tests/websocket.test.ts | 1336 + packages/websocket/tsconfig.json | 8 + packages/webui/.gitignore | 24 + packages/webui/INTEGRATIONS.md | 111 + packages/webui/README.md | 130 + packages/webui/components.json | 21 + packages/webui/eslint.config.ts | 32 + packages/webui/index.html | 67 + packages/webui/package.json | 58 + packages/webui/public/apple-touch-icon.png | Bin 0 -> 40280 bytes packages/webui/public/favicon.png | Bin 0 -> 6830 bytes packages/webui/public/icons.svg | 24 + packages/webui/public/logo.png | Bin 0 -> 275467 bytes packages/webui/src/App.tsx | 519 + packages/webui/src/appearance/registry.ts | 29 + packages/webui/src/appearance/runtime.ts | 104 + packages/webui/src/appearance/store.ts | 51 + .../targets/assets/Jersey20-OFL.txt | 93 + .../targets/assets/Jersey20-Regular.ttf | Bin 0 -> 128576 bytes .../webui/src/appearance/targets/maibot.css | 233 + .../webui/src/appearance/targets/maibot.ts | 27 + packages/webui/src/assets/hero.png | Bin 0 -> 44919 bytes packages/webui/src/assets/react.svg | 1 + packages/webui/src/assets/vite.svg | 1 + .../src/components/change-password-dialog.tsx | 40 + .../src/components/config/account-sidebar.tsx | 155 + .../webui/src/components/config/defaults.ts | 165 + .../config/general-settings-tab.tsx | 130 + .../components/config/node-edit-dialog.tsx | 678 + .../components/config/node-summary-card.tsx | 141 + .../components/config/notification-opt-in.tsx | 297 + .../webui/src/components/confirm-dialog.tsx | 123 + .../src/components/debug/action-tester.tsx | 656 + .../src/components/debug/api-browser.tsx | 249 + .../src/components/debug/file-source.tsx | 221 + .../src/components/debug/live-activity.tsx | 330 + .../src/components/debug/message-builder.tsx | 740 + .../src/components/debug/message-composer.tsx | 255 + .../src/components/debug/param-field.tsx | 329 + .../webui/src/components/debug/segmented.tsx | 49 + .../webui/src/components/debug/task-badge.tsx | 135 + .../insecure-remote-access-banner.tsx | 61 + .../interior/collapsible-banner.tsx | 308 + .../src/components/interior/context-menu.tsx | 78 + .../src/components/interior/dropdown.tsx | 464 + .../components/interior/floating-label.tsx | 308 + .../src/components/interior/icon-morph.tsx | 260 + .../components/interior/inline-validation.tsx | 306 + .../src/components/interior/live-activity.tsx | 551 + .../webui/src/components/interior/modal.tsx | 587 + .../src/components/interior/otp-input.tsx | 537 + .../components/interior/password-strength.tsx | 286 + .../components/interior/segmented-control.tsx | 198 + .../src/components/interior/skeleton-swap.tsx | 187 + .../src/components/interior/wizard-steps.tsx | 554 + .../src/components/layout/main-layout.tsx | 180 + .../webui/src/components/layout/sidebar.tsx | 362 + .../webui/src/components/layout/top-bar.tsx | 156 + packages/webui/src/components/login-waves.tsx | 325 + .../src/components/low-integrity-warning.tsx | 86 + .../components/overview/deliveries-widget.tsx | 132 + .../components/pages/change-password-form.tsx | 418 + .../src/components/pages/config-page.tsx | 706 + .../src/components/pages/dashboard-grid.tsx | 240 + .../webui/src/components/pages/debug-page.tsx | 138 + .../webui/src/components/pages/login-page.tsx | 442 + .../webui/src/components/pages/logs-page.tsx | 1208 + .../src/components/pages/onboarding-steps.ts | 48 + .../pages/onboarding-wizard-page.tsx | 432 + .../src/components/pages/overview-page.tsx | 1768 ++ .../src/components/pages/processes-page.tsx | 372 + .../src/components/pages/settings-page.tsx | 2161 ++ .../src/components/pages/status-screens.tsx | 97 + .../components/pages/widget-config-forms.tsx | 338 + .../components/settings/developer-tools.ts | 22 + .../settings/global-config-panel.tsx | 289 + .../settings/notification-channel-dialog.tsx | 550 + .../settings/notifications-panel.tsx | 431 + .../src/components/settings/storage-panel.tsx | 965 + .../src/components/settings/system-panel.tsx | 650 + .../src/components/settings/totp-panel.tsx | 491 + .../webui/src/components/settings/totp-qr.tsx | 38 + .../settings/totp-recovery-codes.tsx | 69 + .../components/settings/update-installer.tsx | 165 + .../components/settings/update-sources.tsx | 267 + .../webui/src/components/theme-toggle.tsx | 59 + .../src/components/ui/adaptive-pointer.tsx | 359 + packages/webui/src/components/ui/avatar.tsx | 50 + packages/webui/src/components/ui/badge.tsx | 29 + packages/webui/src/components/ui/button.tsx | 61 + packages/webui/src/components/ui/card.tsx | 57 + .../src/components/ui/dropdown-select.tsx | 40 + .../webui/src/components/ui/face-grid.tsx | 91 + .../src/components/ui/global-context-menu.tsx | 646 + packages/webui/src/components/ui/input.tsx | 25 + .../webui/src/components/ui/json-tree.tsx | 218 + packages/webui/src/components/ui/label.tsx | 20 + .../ui/password-visibility-icon.tsx | 32 + packages/webui/src/components/ui/picker.tsx | 457 + packages/webui/src/components/ui/progress.tsx | 38 + .../webui/src/components/ui/scroll-area.tsx | 57 + .../webui/src/components/ui/separator.tsx | 23 + packages/webui/src/components/ui/sheet.tsx | 113 + packages/webui/src/components/ui/skeleton.tsx | 8 + packages/webui/src/components/ui/slider.tsx | 441 + packages/webui/src/components/ui/tabs.tsx | 269 + packages/webui/src/components/ui/textarea.tsx | 27 + .../webui/src/components/ui/toggle-switch.tsx | 38 + packages/webui/src/components/ui/tooltip.tsx | 28 + .../src/contexts/ActionFeedbackContext.tsx | 398 + .../webui/src/contexts/AppStateContext.tsx | 42 + .../webui/src/contexts/DebugTaskContext.tsx | 117 + packages/webui/src/contexts/KioskContext.tsx | 89 + packages/webui/src/contexts/LayoutContext.tsx | 349 + .../webui/src/contexts/SessionContext.tsx | 26 + packages/webui/src/contexts/ThemeContext.tsx | 1451 ++ packages/webui/src/hooks/use-app-resources.ts | 45 + .../webui/src/hooks/use-debug-contacts.ts | 33 + packages/webui/src/hooks/use-flash-message.ts | 43 + .../webui/src/hooks/use-hook-process-ops.ts | 193 + packages/webui/src/hooks/use-media-query.ts | 32 + .../src/hooks/use-onebot-instance-config.ts | 324 + packages/webui/src/index.css | 1193 + .../webui/src/lib/access-token-feedback.ts | 52 + packages/webui/src/lib/action-params.ts | 76 + packages/webui/src/lib/api/client.ts | 1082 + packages/webui/src/lib/api/context.tsx | 18 + packages/webui/src/lib/api/index.ts | 13 + packages/webui/src/lib/api/session-headers.ts | 12 + packages/webui/src/lib/api/sse.ts | 101 + packages/webui/src/lib/api/token-store.ts | 24 + packages/webui/src/lib/api/types.ts | 333 + packages/webui/src/lib/app-resources.ts | 156 + packages/webui/src/lib/dashboard-layout.ts | 323 + packages/webui/src/lib/debug-contacts.ts | 218 + packages/webui/src/lib/debug-history.ts | 57 + packages/webui/src/lib/debug-tasks.ts | 65 + .../webui/src/lib/low-integrity-warning.ts | 33 + packages/webui/src/lib/markdown.tsx | 283 + packages/webui/src/lib/onboarding-actions.ts | 28 + .../webui/src/lib/onboarding-navigation.ts | 43 + packages/webui/src/lib/onebot-config.ts | 88 + packages/webui/src/lib/polling.ts | 64 + packages/webui/src/lib/server-log-level.ts | 33 + .../webui/src/lib/storage-presentation.ts | 92 + packages/webui/src/lib/totp-second-factor.ts | 10 + packages/webui/src/lib/transport-security.ts | 55 + packages/webui/src/lib/utils.ts | 105 + packages/webui/src/main.tsx | 20 + packages/webui/src/router/app-layout.tsx | 187 + packages/webui/src/router/index.tsx | 118 + packages/webui/src/types.ts | 651 + packages/webui/tests/action-feedback.test.ts | 70 + packages/webui/tests/action-params.test.tsx | 108 + .../webui/tests/api-client-config.test.ts | 53 + packages/webui/tests/api-client-json.test.ts | 52 + .../webui/tests/api-client-log-export.test.ts | 57 + .../webui/tests/api-client-proxy-auth.test.ts | 147 + .../webui/tests/api-client-sse-auth.test.ts | 278 + .../webui/tests/api-client-timeout.test.ts | 107 + packages/webui/tests/api-client-totp.test.ts | 72 + .../webui/tests/api-client-upload.test.ts | 85 + packages/webui/tests/app-resources.test.ts | 123 + packages/webui/tests/clipboard.test.ts | 56 + packages/webui/tests/dashboard-layout.test.ts | 28 + packages/webui/tests/debug-contacts.test.ts | 119 + packages/webui/tests/debug-tasks.test.ts | 79 + packages/webui/tests/developer-tools.test.tsx | 29 + packages/webui/tests/icon-morph.test.tsx | 42 + packages/webui/tests/login-totp.test.tsx | 72 + .../webui/tests/low-integrity-warning.test.ts | 75 + .../message-builder-capabilities.test.ts | 32 + .../notification-channel-dialog.test.tsx | 122 + .../webui/tests/notification-channel.test.ts | 109 + .../webui/tests/onboarding-actions.test.ts | 36 + .../webui/tests/onboarding-navigation.test.ts | 58 + .../webui/tests/onboarding-steps.test.tsx | 74 + .../webui/tests/onebot-access-token.test.ts | 46 + packages/webui/tests/onebot-config.test.ts | 16 + packages/webui/tests/otp-input.test.tsx | 31 + packages/webui/tests/password-inputs.test.tsx | 127 + .../webui/tests/password-strength-api.test.ts | 100 + packages/webui/tests/polling.test.ts | 126 + packages/webui/tests/processes-page.test.tsx | 76 + packages/webui/tests/server-log-level.test.ts | 64 + packages/webui/tests/skeleton-swap.test.tsx | 30 + packages/webui/tests/sse.test.ts | 68 + packages/webui/tests/storage-api.test.ts | 131 + .../webui/tests/storage-presentation.test.ts | 58 + .../webui/tests/target-appearance.test.ts | 106 + .../webui/tests/totp-second-factor.test.ts | 12 + .../webui/tests/transport-security.test.ts | 51 + packages/webui/tests/update-api.test.ts | 67 + packages/webui/tsconfig.app.json | 26 + packages/webui/tsconfig.json | 7 + packages/webui/tsconfig.node.json | 24 + packages/webui/vite.config.ts | 43 + pnpm-lock.yaml | 6515 +++++ pnpm-workspace.yaml | 43 + tools/bench-common-memory.mjs | 78 + tools/bump-version.mjs | 44 + tools/check-action-catalog.mjs | 39 + tools/check-release-layout.mjs | 65 + tools/ci-check.mjs | 51 + tools/coverage.mjs | 92 + tools/release.mjs | 401 + tools/test_onebot_ws.py | 101 + tsconfig.base.json | 24 + tsconfig.json | 11 + 1367 files changed, 355735 insertions(+) create mode 100644 .editorconfig create mode 100644 .gitattributes create mode 100644 .github/ISSUE_TEMPLATE/bug_report.yml create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/feature_request.yml create mode 100644 .github/logo.svg create mode 100644 .github/npm-trusted-publishing.md create mode 100644 .github/pull_request_template.md create mode 100644 .github/scripts/pr-policy-guard.cjs create mode 100644 .github/scripts/pr-policy-guard.test.cjs create mode 100644 .github/workflows/ci.yml create mode 100644 .github/workflows/dev-build.yml create mode 100644 .github/workflows/dispatch-docker-release.yml create mode 100644 .github/workflows/issue-require-logs.yml create mode 100644 .github/workflows/issue-template-guard.yml create mode 100644 .github/workflows/main-pr-target-guard.yml create mode 100644 .github/workflows/mcp-npm-publish.yml create mode 100644 .github/workflows/promote-dev-to-main.yml create mode 100644 .github/workflows/release.yml create mode 100644 .github/workflows/sdk-npm-publish.yml create mode 100644 .github/workflows/stale-needs-logs.yml create mode 100644 .github/workflows/sync-docs-catalog.yml create mode 100644 .github/workflows/ui-npm-publish.yml create mode 100644 .gitignore create mode 100644 .node-version create mode 100644 .npmrc create mode 100644 .prettierignore create mode 100644 .prettierrc.json create mode 100644 AGENTS.md create mode 100644 CHANGELOG.md create mode 100644 CLAUDE.md create mode 100644 CODE_OF_CONDUCT.md create mode 100644 CONTRIBUTING.md create mode 100644 EULA.md create mode 100644 LICENSE create mode 100644 PRIVACY.md create mode 100644 README.md create mode 100644 RoadMap.md create mode 100644 assets/brand/mascot-avatar.png create mode 100644 assets/readme/hero.svg create mode 100644 assets/readme/mascot.png create mode 100644 assets/readme/runtime-map.svg create mode 100644 compat/qq.json create mode 100644 compat/qq.schema.json create mode 100644 eslint.config.ts create mode 100644 eslint.format.config.ts create mode 100644 package.json create mode 100644 packages/bridge/package.json create mode 100644 packages/bridge/src/hook-manager.ts create mode 100644 packages/bridge/src/hook-packet-client.ts create mode 100644 packages/bridge/src/hook-runtime-dir.ts create mode 100644 packages/bridge/src/hook-session.ts create mode 100644 packages/bridge/src/hook-status.ts create mode 100644 packages/bridge/src/index.ts create mode 100644 packages/bridge/src/injector.ts create mode 100644 packages/bridge/src/packet-timeout.ts create mode 100644 packages/bridge/src/pipe-watcher.ts create mode 100644 packages/bridge/src/process-enumerator.ts create mode 100644 packages/bridge/src/qq-account/database-holders.ts create mode 100644 packages/bridge/src/qq-account/detect.ts create mode 100644 packages/bridge/src/qq-account/index.ts create mode 100644 packages/bridge/src/qq-account/login-db.ts create mode 100644 packages/bridge/src/qq-account/paths.ts create mode 100644 packages/bridge/src/qq-account/sqlcipher.ts create mode 100644 packages/bridge/src/qq-account/watch.ts create mode 100644 packages/bridge/src/qq-hook-client.ts create mode 100644 packages/bridge/src/runtime-integrity.ts create mode 100644 packages/bridge/src/types.ts create mode 100644 packages/bridge/tests/hook-manager-state-notify.test.ts create mode 100644 packages/bridge/tests/hook-manager.test.ts create mode 100644 packages/bridge/tests/hook-packet-client.test.ts create mode 100644 packages/bridge/tests/hook-reconnect-no-login-e2e.test.ts create mode 100644 packages/bridge/tests/hook-reconnect-no-login.test.ts create mode 100644 packages/bridge/tests/hook-runtime-dir.test.ts create mode 100644 packages/bridge/tests/hook-session.test.ts create mode 100644 packages/bridge/tests/hook-status.test.ts create mode 100644 packages/bridge/tests/injector.test.ts create mode 100644 packages/bridge/tests/packet-timeout.test.ts create mode 100644 packages/bridge/tests/pipe-watcher.test.ts create mode 100644 packages/bridge/tests/process-enumerator.test.ts create mode 100644 packages/bridge/tests/qq-account-database-holders.test.ts create mode 100644 packages/bridge/tests/qq-account-detect.test.ts create mode 100644 packages/bridge/tests/qq-account-fixtures.ts create mode 100644 packages/bridge/tests/qq-account-login-db.test.ts create mode 100644 packages/bridge/tests/qq-account-path-isolation.test.ts create mode 100644 packages/bridge/tests/qq-account-paths.test.ts create mode 100644 packages/bridge/tests/qq-account-real-data.test.ts create mode 100644 packages/bridge/tests/qq-account-sqlcipher.test.ts create mode 100644 packages/bridge/tests/qq-account-watch.integration.test.ts create mode 100644 packages/bridge/tests/qq-account-watch.test.ts create mode 100644 packages/bridge/tests/qq-hook-client.test.ts create mode 100644 packages/bridge/tests/runtime-integrity.test.ts create mode 100644 packages/bridge/tsconfig.json create mode 100644 packages/bridge/vitest.config.ts create mode 100644 packages/common/bench/logger.bench.ts create mode 100644 packages/common/package.json create mode 100644 packages/common/src/access-token.ts create mode 100644 packages/common/src/coerce.ts create mode 100644 packages/common/src/concurrency.ts create mode 100644 packages/common/src/env.ts create mode 100644 packages/common/src/errors.ts create mode 100644 packages/common/src/hex.ts create mode 100644 packages/common/src/json.ts create mode 100644 packages/common/src/log-file-transport.ts create mode 100644 packages/common/src/log-sanitize.ts create mode 100644 packages/common/src/log-summary.ts create mode 100644 packages/common/src/logger.ts create mode 100644 packages/common/src/native-path.ts create mode 100644 packages/common/src/notification-templates.ts create mode 100644 packages/common/src/packet-sender.ts create mode 100644 packages/common/src/protocol-types.ts create mode 100644 packages/common/src/request-context.ts create mode 100644 packages/common/src/runtime.ts create mode 100644 packages/common/src/semver.ts create mode 100644 packages/common/src/single-flight-cache.ts create mode 100644 packages/common/src/uin.ts create mode 100644 packages/common/src/update-source.ts create mode 100644 packages/common/src/version.ts create mode 100644 packages/common/src/webui-target.ts create mode 100644 packages/common/tests/access-token.test.ts create mode 100644 packages/common/tests/coerce.test.ts create mode 100644 packages/common/tests/concurrency.test.ts create mode 100644 packages/common/tests/env.test.ts create mode 100644 packages/common/tests/hex.test.ts create mode 100644 packages/common/tests/log-file-transport.test.ts create mode 100644 packages/common/tests/log-sanitize.test.ts create mode 100644 packages/common/tests/log-summary.test.ts create mode 100644 packages/common/tests/logger-snapshot.test.ts create mode 100644 packages/common/tests/logger.test.ts create mode 100644 packages/common/tests/request-context.test.ts create mode 100644 packages/common/tests/runtime.test.ts create mode 100644 packages/common/tests/semver.test.ts create mode 100644 packages/common/tests/single-flight-cache.test.ts create mode 100644 packages/common/tests/trace-contract.test.ts create mode 100644 packages/common/tests/uin.test.ts create mode 100644 packages/common/tests/update-source.test.ts create mode 100644 packages/common/tests/webui-target.test.ts create mode 100644 packages/common/tsconfig.json create mode 100644 packages/common/vitest.config.ts create mode 100644 packages/core/config/.gitignore create mode 100644 packages/core/config/runtime.json create mode 100644 packages/core/package.json create mode 100644 packages/core/src/bridge/apis/collection.ts create mode 100644 packages/core/src/bridge/apis/contacts.ts create mode 100644 packages/core/src/bridge/apis/extras.ts create mode 100644 packages/core/src/bridge/apis/flash-transfer.ts create mode 100644 packages/core/src/bridge/apis/forward-cache.ts create mode 100644 packages/core/src/bridge/apis/forward.ts create mode 100644 packages/core/src/bridge/apis/friend.ts create mode 100644 packages/core/src/bridge/apis/group-admin.ts create mode 100644 packages/core/src/bridge/apis/group-album.ts create mode 100644 packages/core/src/bridge/apis/group-file.ts create mode 100644 packages/core/src/bridge/apis/history-request-gate.ts create mode 100644 packages/core/src/bridge/apis/index.ts create mode 100644 packages/core/src/bridge/apis/interaction.ts create mode 100644 packages/core/src/bridge/apis/message.ts create mode 100644 packages/core/src/bridge/apis/misc.ts create mode 100644 packages/core/src/bridge/apis/profile.ts create mode 100644 packages/core/src/bridge/apis/qzone.ts create mode 100644 packages/core/src/bridge/apis/shared.ts create mode 100644 packages/core/src/bridge/apis/system-face.ts create mode 100644 packages/core/src/bridge/apis/web.ts create mode 100644 packages/core/src/bridge/bridge-context.ts create mode 100644 packages/core/src/bridge/bridge-interface.ts create mode 100644 packages/core/src/bridge/bridge.ts create mode 100644 packages/core/src/bridge/manager.ts create mode 100644 packages/core/src/env.d.ts create mode 100644 packages/core/src/index.ts create mode 100644 packages/core/src/notifications/config.ts create mode 100644 packages/core/src/notifications/debounce.ts create mode 100644 packages/core/src/notifications/manager.ts create mode 100644 packages/core/src/notifications/smtp.ts create mode 100644 packages/core/src/runtime-integrity-log.ts create mode 100644 packages/core/src/sys-face-catalog.ts create mode 100644 packages/core/src/update/check.ts create mode 100644 packages/core/src/update/download.ts create mode 100644 packages/core/src/update/files.ts create mode 100644 packages/core/src/update/release.ts create mode 100644 packages/core/src/update/service.ts create mode 100644 packages/core/src/update/sources.ts create mode 100644 packages/core/src/update/startup.ts create mode 100644 packages/core/src/webui/auth.ts create mode 100644 packages/core/src/webui/backup.ts create mode 100644 packages/core/src/webui/client-ip.ts create mode 100644 packages/core/src/webui/connection-diff-loop.ts create mode 100644 packages/core/src/webui/connection-snapshot.ts create mode 100644 packages/core/src/webui/consent.ts create mode 100644 packages/core/src/webui/debug-stream.ts create mode 100644 packages/core/src/webui/debug-tools.ts create mode 100644 packages/core/src/webui/listener-exposure.ts create mode 100644 packages/core/src/webui/log-export.ts create mode 100644 packages/core/src/webui/mutation-trace.ts create mode 100644 packages/core/src/webui/onebot-token-policy.ts create mode 100644 packages/core/src/webui/port.ts create mode 100644 packages/core/src/webui/request-security.ts create mode 100644 packages/core/src/webui/restore.ts create mode 100644 packages/core/src/webui/server.ts create mode 100644 packages/core/src/webui/sse-response.ts create mode 100644 packages/core/src/webui/state-bus.ts create mode 100644 packages/core/src/webui/state-stream.ts create mode 100644 packages/core/src/webui/state-wiring.ts create mode 100644 packages/core/src/webui/static-frontend.ts create mode 100644 packages/core/src/webui/storage-management.ts create mode 100644 packages/core/src/webui/storage-routes.ts create mode 100644 packages/core/src/webui/storage-settings.ts create mode 100644 packages/core/src/webui/system-settings.ts create mode 100644 packages/core/src/webui/tls.ts create mode 100644 packages/core/src/webui/totp.ts create mode 100644 packages/core/src/webui/ui-config.ts create mode 100644 packages/core/src/webui/update-routes.ts create mode 100644 packages/core/src/webui/webui-login.ts create mode 100644 packages/core/tests/actions/_helpers.ts create mode 100644 packages/core/tests/actions/collection.test.ts create mode 100644 packages/core/tests/actions/contacts.test.ts create mode 100644 packages/core/tests/actions/extras.test.ts create mode 100644 packages/core/tests/actions/forward-file.test.ts create mode 100644 packages/core/tests/actions/forward-metadata.test.ts create mode 100644 packages/core/tests/actions/forward-nested-fetch.test.ts create mode 100644 packages/core/tests/actions/forward-nested.test.ts create mode 100644 packages/core/tests/actions/forward-resid-less.test.ts create mode 100644 packages/core/tests/actions/forward-single-media.test.ts create mode 100644 packages/core/tests/actions/forward.test.ts create mode 100644 packages/core/tests/actions/friend-profiles.test.ts create mode 100644 packages/core/tests/actions/friend.test.ts create mode 100644 packages/core/tests/actions/group-admin.test.ts create mode 100644 packages/core/tests/actions/group-album-wire-fixture.ts create mode 100644 packages/core/tests/actions/group-album.test.ts create mode 100644 packages/core/tests/actions/group-file.test.ts create mode 100644 packages/core/tests/actions/group-message.test.ts create mode 100644 packages/core/tests/actions/interaction.test.ts create mode 100644 packages/core/tests/actions/message-send-receipt.test.ts create mode 100644 packages/core/tests/actions/misc.test.ts create mode 100644 packages/core/tests/actions/profile.test.ts create mode 100644 packages/core/tests/actions/qzone-public.test.ts create mode 100644 packages/core/tests/actions/qzone.test.ts create mode 100644 packages/core/tests/bridge-client-message.test.ts create mode 100644 packages/core/tests/bridge-contact-cache-lifecycle.test.ts create mode 100644 packages/core/tests/bridge-manager-ownership.test.ts create mode 100644 packages/core/tests/bridge-manager-shutdown.test.ts create mode 100644 packages/core/tests/bridge-manager-subscriptions.test.ts create mode 100644 packages/core/tests/bridge-member-identity.test.ts create mode 100644 packages/core/tests/bridge-online-clients.test.ts create mode 100644 packages/core/tests/bridge-private-routing.test.ts create mode 100644 packages/core/tests/bridge-roster-warmup.test.ts create mode 100644 packages/core/tests/element-builder.test.ts create mode 100644 packages/core/tests/event-format.test.ts create mode 100644 packages/core/tests/fixtures/issue-614-private-voice-upload.hex create mode 100644 packages/core/tests/flash-transfer-create.test.ts create mode 100644 packages/core/tests/flash-transfer-download.test.ts create mode 100644 packages/core/tests/flash-transfer-share-link.test.ts create mode 100644 packages/core/tests/group-history-walkback.test.ts create mode 100644 packages/core/tests/group-notice.test.ts create mode 100644 packages/core/tests/helpers/update-fixture.ts create mode 100644 packages/core/tests/hex.test.ts create mode 100644 packages/core/tests/highway-utils.test.ts create mode 100644 packages/core/tests/highway/chunk-source.test.ts create mode 100644 packages/core/tests/highway/hash-file.test.ts create mode 100644 packages/core/tests/highway/highway-client.test.ts create mode 100644 packages/core/tests/highway/highway-parallel.test.ts create mode 100644 packages/core/tests/highway/image-upload.test.ts create mode 100644 packages/core/tests/highway/multi-image.test.ts create mode 100644 packages/core/tests/highway/pipeline.test.ts create mode 100644 packages/core/tests/highway/ptt-upload.test.ts create mode 100644 packages/core/tests/highway/stage.test.ts create mode 100644 packages/core/tests/highway/video-upload.test.ts create mode 100644 packages/core/tests/history-request-gate.test.ts create mode 100644 packages/core/tests/history-sync-api.test.ts create mode 100644 packages/core/tests/identity-service.test.ts create mode 100644 packages/core/tests/log-file-transport.test.ts create mode 100644 packages/core/tests/logger.test.ts create mode 100644 packages/core/tests/msg-push-handler.test.ts create mode 100644 packages/core/tests/notifications-config.test.ts create mode 100644 packages/core/tests/notifications-debounce.test.ts create mode 100644 packages/core/tests/notifications-lifecycle.test.ts create mode 100644 packages/core/tests/notifications-manager.test.ts create mode 100644 packages/core/tests/notifications-smtp.test.ts create mode 100644 packages/core/tests/observability-logs.test.ts create mode 100644 packages/core/tests/onebot-token-policy.test.ts create mode 100644 packages/core/tests/private-voice-wire.test.ts create mode 100644 packages/core/tests/private-window-shake-wire.test.ts create mode 100644 packages/core/tests/runtime-integrity-log.test.ts create mode 100644 packages/core/tests/runtime-node-version.test.ts create mode 100644 packages/core/tests/sse-response.test.ts create mode 100644 packages/core/tests/storage-management.test.ts create mode 100644 packages/core/tests/storage-routes.test.ts create mode 100644 packages/core/tests/storage-settings.test.ts create mode 100644 packages/core/tests/sys-face-catalog.test.ts create mode 100644 packages/core/tests/temp-session-image-wire.test.ts create mode 100644 packages/core/tests/update-directory.test.ts create mode 100644 packages/core/tests/update-download.test.ts create mode 100644 packages/core/tests/update-entry.test.ts create mode 100644 packages/core/tests/update-files.test.ts create mode 100644 packages/core/tests/update-release.test.ts create mode 100644 packages/core/tests/update-service.test.ts create mode 100644 packages/core/tests/update-source-routes.test.ts create mode 100644 packages/core/tests/update-sources.test.ts create mode 100644 packages/core/tests/webui-auth.test.ts create mode 100644 packages/core/tests/webui-backup-http.test.ts create mode 100644 packages/core/tests/webui-backup.test.ts create mode 100644 packages/core/tests/webui-client-ip.test.ts create mode 100644 packages/core/tests/webui-connection-diff-loop.test.ts create mode 100644 packages/core/tests/webui-debug-stream.test.ts create mode 100644 packages/core/tests/webui-debug-tools.test.ts create mode 100644 packages/core/tests/webui-listener-exposure.test.ts create mode 100644 packages/core/tests/webui-log-export.test.ts create mode 100644 packages/core/tests/webui-login.test.ts create mode 100644 packages/core/tests/webui-mutation-trace.test.ts create mode 100644 packages/core/tests/webui-port.test.ts create mode 100644 packages/core/tests/webui-request-security.test.ts create mode 100644 packages/core/tests/webui-restore-http.test.ts create mode 100644 packages/core/tests/webui-restore.test.ts create mode 100644 packages/core/tests/webui-server-lifecycle.test.ts create mode 100644 packages/core/tests/webui-sse-auth-allowlist.test.ts create mode 100644 packages/core/tests/webui-state-bus.test.ts create mode 100644 packages/core/tests/webui-state-stream.test.ts create mode 100644 packages/core/tests/webui-state-wiring.test.ts create mode 100644 packages/core/tests/webui-static-frontend.test.ts create mode 100644 packages/core/tests/webui-system-settings.test.ts create mode 100644 packages/core/tests/webui-tls.test.ts create mode 100644 packages/core/tests/webui-totp.test.ts create mode 100644 packages/core/tests/webui-ui-config.test.ts create mode 100644 packages/core/tests/webui-update-check.test.ts create mode 100644 packages/core/tests/webui/consent.test.ts create mode 100644 packages/core/tsconfig.json create mode 100644 packages/core/vite.config.ts create mode 100644 packages/core/vitest.config.ts create mode 100644 packages/mcp/.gitignore create mode 100644 packages/mcp/AGENT_FEATURES.md create mode 100644 packages/mcp/README.md create mode 100644 packages/mcp/apps/message-preview.ts create mode 100644 packages/mcp/apps/preview-view.ts create mode 100644 packages/mcp/apps/tsconfig.json create mode 100644 packages/mcp/package.json create mode 100644 packages/mcp/scripts/build-message-app.mjs create mode 100644 packages/mcp/scripts/gen-catalog.test.ts create mode 100644 packages/mcp/src/client.ts create mode 100644 packages/mcp/src/discovery.ts create mode 100644 packages/mcp/src/elicitation.ts create mode 100644 packages/mcp/src/generated/catalog.json create mode 100644 packages/mcp/src/generated/catalog.ts create mode 100644 packages/mcp/src/message-app.ts create mode 100644 packages/mcp/src/progress.ts create mode 100644 packages/mcp/src/results.ts create mode 100644 packages/mcp/src/server-factory.ts create mode 100644 packages/mcp/src/server.ts create mode 100644 packages/mcp/src/shutdown.ts create mode 100644 packages/mcp/src/subscriptions.ts create mode 100644 packages/mcp/src/tasks.ts create mode 100644 packages/mcp/src/tools.ts create mode 100644 packages/mcp/src/tracing.ts create mode 100644 packages/mcp/src/types.ts create mode 100644 packages/mcp/src/version.ts create mode 100644 packages/mcp/tests/action-contracts.test.ts create mode 100644 packages/mcp/tests/agent-tools.test.ts create mode 100644 packages/mcp/tests/cancellation.test.ts create mode 100644 packages/mcp/tests/client.test.ts create mode 100644 packages/mcp/tests/elicitation.test.ts create mode 100644 packages/mcp/tests/message-app.test.ts create mode 100644 packages/mcp/tests/protocol-versions.test.ts create mode 100644 packages/mcp/tests/server.test.ts create mode 100644 packages/mcp/tests/shutdown.test.ts create mode 100644 packages/mcp/tests/subscription-protocol.test.ts create mode 100644 packages/mcp/tests/subscriptions.test.ts create mode 100644 packages/mcp/tests/tasks.test.ts create mode 100644 packages/mcp/tests/tools.test.ts create mode 100644 packages/mcp/tests/tracing.test.ts create mode 100644 packages/mcp/tsconfig.json create mode 100644 packages/mcp/vitest.config.ts create mode 100644 packages/onebot/CONTACT_PROFILES.md create mode 100644 packages/onebot/GROUP_FILES.md create mode 100644 packages/onebot/GROUP_REQUESTS.md create mode 100644 packages/onebot/HTTP_SSE.md create mode 100644 packages/onebot/REPLIES.md create mode 100644 packages/onebot/bench/send.bench.ts create mode 100644 packages/onebot/package.json create mode 100644 packages/onebot/src/action-docs.ts create mode 100644 packages/onebot/src/action-kit.ts create mode 100644 packages/onebot/src/action-result-schemas.ts create mode 100644 packages/onebot/src/actions/contact-profile-schema.ts create mode 100644 packages/onebot/src/actions/extended.ts create mode 100644 packages/onebot/src/actions/friend.ts create mode 100644 packages/onebot/src/actions/group-admin.ts create mode 100644 packages/onebot/src/actions/group-album.ts create mode 100644 packages/onebot/src/actions/group-file.ts create mode 100644 packages/onebot/src/actions/group-info.ts create mode 100644 packages/onebot/src/actions/index.ts create mode 100644 packages/onebot/src/actions/info.ts create mode 100644 packages/onebot/src/actions/message.ts create mode 100644 packages/onebot/src/actions/qzone-public.ts create mode 100644 packages/onebot/src/actions/qzone.ts create mode 100644 packages/onebot/src/actions/request.ts create mode 100644 packages/onebot/src/actions/stream-download.ts create mode 100644 packages/onebot/src/actions/stream-file.ts create mode 100644 packages/onebot/src/actions/system-face.ts create mode 100644 packages/onebot/src/api-handler.ts create mode 100644 packages/onebot/src/config.ts create mode 100644 packages/onebot/src/env.d.ts create mode 100644 packages/onebot/src/event-converter/element-codecs.ts create mode 100644 packages/onebot/src/event-converter/envelope.ts create mode 100644 packages/onebot/src/event-converter/index.ts create mode 100644 packages/onebot/src/event-converter/to-message.ts create mode 100644 packages/onebot/src/event-converter/to-notice.ts create mode 100644 packages/onebot/src/event-converter/to-request.ts create mode 100644 packages/onebot/src/event-converter/to-segment.ts create mode 100644 packages/onebot/src/event-converter/utils.ts create mode 100644 packages/onebot/src/event-filter.ts create mode 100644 packages/onebot/src/event-pipeline.ts create mode 100644 packages/onebot/src/global-config.ts create mode 100644 packages/onebot/src/helper/cq.ts create mode 100644 packages/onebot/src/history-persistence.ts create mode 100644 packages/onebot/src/history-sync.ts create mode 100644 packages/onebot/src/instance-context.ts create mode 100644 packages/onebot/src/instance-rkey.ts create mode 100644 packages/onebot/src/instance.ts create mode 100644 packages/onebot/src/manager.ts create mode 100644 packages/onebot/src/media-indexer.ts create mode 100644 packages/onebot/src/media-store-migration.ts create mode 100644 packages/onebot/src/media-store.ts create mode 100644 packages/onebot/src/media-url-resolver.ts create mode 100644 packages/onebot/src/message-id-resolver.ts create mode 100644 packages/onebot/src/message-id.ts create mode 100644 packages/onebot/src/message-image-repair.ts create mode 100644 packages/onebot/src/message-media.ts create mode 100644 packages/onebot/src/message-parser.ts create mode 100644 packages/onebot/src/message-store-migration-task.ts create mode 100644 packages/onebot/src/message-store-migration-worker.ts create mode 100644 packages/onebot/src/message-store-migration.ts create mode 100644 packages/onebot/src/message-store.ts create mode 100644 packages/onebot/src/modules/contact-actions.ts create mode 100644 packages/onebot/src/modules/contact-profile.ts create mode 100644 packages/onebot/src/modules/media-actions.ts create mode 100644 packages/onebot/src/modules/message-actions.ts create mode 100644 packages/onebot/src/modules/ptt-trans-waiter.ts create mode 100644 packages/onebot/src/modules/request-actions.ts create mode 100644 packages/onebot/src/modules/status-command.ts create mode 100644 packages/onebot/src/network/adapter.ts create mode 100644 packages/onebot/src/network/http-post-adapter.ts create mode 100644 packages/onebot/src/network/http-server-adapter.ts create mode 100644 packages/onebot/src/network/http-sse-connections.ts create mode 100644 packages/onebot/src/network/http-trace.ts create mode 100644 packages/onebot/src/network/index.ts create mode 100644 packages/onebot/src/network/network-manager.ts create mode 100644 packages/onebot/src/network/quick-operation.ts create mode 100644 packages/onebot/src/network/utils.ts create mode 100644 packages/onebot/src/network/ws-client-adapter.ts create mode 100644 packages/onebot/src/network/ws-server-adapter.ts create mode 100644 packages/onebot/src/network/ws-server-connections.ts create mode 100644 packages/onebot/src/private-quote.ts create mode 100644 packages/onebot/src/reaction-store.ts create mode 100644 packages/onebot/src/reply-preview.ts create mode 100644 packages/onebot/src/self-sent-event.ts create mode 100644 packages/onebot/src/sqlite-open.ts create mode 100644 packages/onebot/src/stream-storage.ts create mode 100644 packages/onebot/src/streaming.ts create mode 100644 packages/onebot/src/temp-session-store.ts create mode 100644 packages/onebot/src/types.ts create mode 100644 packages/onebot/tests/action-docs.test.ts create mode 100644 packages/onebot/tests/action-kit-returns-schema.test.ts create mode 100644 packages/onebot/tests/action-kit.test.ts create mode 100644 packages/onebot/tests/action-registry.test.ts create mode 100644 packages/onebot/tests/actions-group-admin.test.ts create mode 100644 packages/onebot/tests/actions-group-file.test.ts create mode 100644 packages/onebot/tests/actions-message.test.ts create mode 100644 packages/onebot/tests/actions-request.test.ts create mode 100644 packages/onebot/tests/adapter-reload-state-machine.test.ts create mode 100644 packages/onebot/tests/api-handler-lifecycle.test.ts create mode 100644 packages/onebot/tests/api-handler-logging.test.ts create mode 100644 packages/onebot/tests/api-handler-trace.test.ts create mode 100644 packages/onebot/tests/backfill-reply-target.test.ts create mode 100644 packages/onebot/tests/bot-status-event.test.ts create mode 100644 packages/onebot/tests/collection-action.test.ts create mode 100644 packages/onebot/tests/config-cleanup.test.ts create mode 100644 packages/onebot/tests/config.test.ts create mode 100644 packages/onebot/tests/contact-actions.test.ts create mode 100644 packages/onebot/tests/debug-seams.test.ts create mode 100644 packages/onebot/tests/element-manifest.test.ts create mode 100644 packages/onebot/tests/event-converter.test.ts create mode 100644 packages/onebot/tests/event-pipeline.test.ts create mode 100644 packages/onebot/tests/extended-actions.test.ts create mode 100644 packages/onebot/tests/face-animation.test.ts create mode 100644 packages/onebot/tests/flash-file-segment.test.ts create mode 100644 packages/onebot/tests/forward-nested.test.ts create mode 100644 packages/onebot/tests/forward-reply.test.ts create mode 100644 packages/onebot/tests/friend-actions.test.ts create mode 100644 packages/onebot/tests/friend-dress-action.test.ts create mode 100644 packages/onebot/tests/global-config.test.ts create mode 100644 packages/onebot/tests/group-info-actions.test.ts create mode 100644 packages/onebot/tests/group-invitation-requests.test.ts create mode 100644 packages/onebot/tests/group-join-identities.test.ts create mode 100644 packages/onebot/tests/group-msg-emoji-like.test.ts create mode 100644 packages/onebot/tests/group-request-events.test.ts create mode 100644 packages/onebot/tests/group-share-link.test.ts create mode 100644 packages/onebot/tests/helpers/compiled-action-handler.ts create mode 100644 packages/onebot/tests/historical-media.test.ts create mode 100644 packages/onebot/tests/history-direction.test.ts create mode 100644 packages/onebot/tests/history-sync.test.ts create mode 100644 packages/onebot/tests/http-image-body.test.ts create mode 100644 packages/onebot/tests/http-post-lifecycle.test.ts create mode 100644 packages/onebot/tests/http-server-action-lifecycle.test.ts create mode 100644 packages/onebot/tests/http-server-close-retry.test.ts create mode 100644 packages/onebot/tests/http-server-content-type.test.ts create mode 100644 packages/onebot/tests/http-server-force-close.test.ts create mode 100644 packages/onebot/tests/http-server-hot-reload.test.ts create mode 100644 packages/onebot/tests/http-server-sse.test.ts create mode 100644 packages/onebot/tests/http-server-tracing.test.ts create mode 100644 packages/onebot/tests/http-server-websocket-config.test.ts create mode 100644 packages/onebot/tests/http-server-websocket.test.ts create mode 100644 packages/onebot/tests/http-sse-backpressure.test.ts create mode 100644 packages/onebot/tests/image-history.test.ts create mode 100644 packages/onebot/tests/instance-config-lifecycle.test.ts create mode 100644 packages/onebot/tests/instance-context.test.ts create mode 100644 packages/onebot/tests/instance-network-dispose.test.ts create mode 100644 packages/onebot/tests/instance-rkey.test.ts create mode 100644 packages/onebot/tests/logging.test.ts create mode 100644 packages/onebot/tests/manager-bot-status.test.ts create mode 100644 packages/onebot/tests/manager-config-apply.test.ts create mode 100644 packages/onebot/tests/manager-lifecycle.test.ts create mode 100644 packages/onebot/tests/media-actions-more.test.ts create mode 100644 packages/onebot/tests/media-actions.test.ts create mode 100644 packages/onebot/tests/media-indexer.test.ts create mode 100644 packages/onebot/tests/media-store.test.ts create mode 100644 packages/onebot/tests/media-url-resolver.test.ts create mode 100644 packages/onebot/tests/message-action-validation.test.ts create mode 100644 packages/onebot/tests/message-id.test.ts create mode 100644 packages/onebot/tests/message-parser.test.ts create mode 100644 packages/onebot/tests/message-store-migration-task.test.ts create mode 100644 packages/onebot/tests/message-store-migration-worker.test.ts create mode 100644 packages/onebot/tests/message-store-migration.test.ts create mode 100644 packages/onebot/tests/message-store.test.ts create mode 100644 packages/onebot/tests/network-bootstrap-meta.test.ts create mode 100644 packages/onebot/tests/network-manager.test.ts create mode 100644 packages/onebot/tests/network-max-payload.test.ts create mode 100644 packages/onebot/tests/network-reconcile.test.ts create mode 100644 packages/onebot/tests/network-utils.test.ts create mode 100644 packages/onebot/tests/outbound-reply-preview.test.ts create mode 100644 packages/onebot/tests/private-reply-id-matches-send.test.ts create mode 100644 packages/onebot/tests/private-reply-resolution.test.ts create mode 100644 packages/onebot/tests/private-window-shake.test.ts create mode 100644 packages/onebot/tests/ptt-trans-waiter.test.ts create mode 100644 packages/onebot/tests/quick-operation.test.ts create mode 100644 packages/onebot/tests/qzone-actions.test.ts create mode 100644 packages/onebot/tests/qzone-public-actions.test.ts create mode 100644 packages/onebot/tests/reaction-store.test.ts create mode 100644 packages/onebot/tests/request-actions.test.ts create mode 100644 packages/onebot/tests/sdk-action-params.test.ts create mode 100644 packages/onebot/tests/sdk-actions.test.ts create mode 100644 packages/onebot/tests/sdk-reverse-websocket.test.ts create mode 100644 packages/onebot/tests/sdk-streaming.test.ts create mode 100644 packages/onebot/tests/self-sent-events.test.ts create mode 100644 packages/onebot/tests/self-sent-media.test.ts create mode 100644 packages/onebot/tests/send-group-file.test.ts create mode 100644 packages/onebot/tests/send-private-c2c-file.test.ts create mode 100644 packages/onebot/tests/send-private-strip-at.test.ts create mode 100644 packages/onebot/tests/send-video-fallback.test.ts create mode 100644 packages/onebot/tests/setup.ts create mode 100644 packages/onebot/tests/status-command.test.ts create mode 100644 packages/onebot/tests/status-health.test.ts create mode 100644 packages/onebot/tests/stream-download.test.ts create mode 100644 packages/onebot/tests/stream-file.test.ts create mode 100644 packages/onebot/tests/stream-storage-env.test.ts create mode 100644 packages/onebot/tests/stream-storage.test.ts create mode 100644 packages/onebot/tests/streaming.test.ts create mode 100644 packages/onebot/tests/system-face-actions.test.ts create mode 100644 packages/onebot/tests/temp-session-send.test.ts create mode 100644 packages/onebot/tests/temp-session-store.test.ts create mode 100644 packages/onebot/tests/ws-client-heartbeat.test.ts create mode 100644 packages/onebot/tests/ws-client-stale-close.test.ts create mode 100644 packages/onebot/tests/ws-server-heartbeat.test.ts create mode 100644 packages/onebot/tests/ws-server-lifecycle.test.ts create mode 100644 packages/onebot/tests/ws-server-routing.test.ts create mode 100644 packages/onebot/tsconfig.json create mode 100644 packages/onebot/vitest.config.ts create mode 100644 packages/proto-defs/package.json create mode 100644 packages/proto-defs/src/action.ts create mode 100644 packages/proto-defs/src/collection.ts create mode 100644 packages/proto-defs/src/dataline.ts create mode 100644 packages/proto-defs/src/element.ts create mode 100644 packages/proto-defs/src/get-c2c-msg.ts create mode 100644 packages/proto-defs/src/get-group-msg.ts create mode 100644 packages/proto-defs/src/highway.ts create mode 100644 packages/proto-defs/src/index.ts create mode 100644 packages/proto-defs/src/longmsg.ts create mode 100644 packages/proto-defs/src/message.ts create mode 100644 packages/proto-defs/src/notify.ts create mode 100644 packages/proto-defs/src/oidb-action.ts create mode 100644 packages/proto-defs/src/oidb-actions/base.ts create mode 100644 packages/proto-defs/src/oidb-actions/contact-ark.ts create mode 100644 packages/proto-defs/src/oidb-actions/doubt-buddy.ts create mode 100644 packages/proto-defs/src/oidb-actions/flash-transfer.ts create mode 100644 packages/proto-defs/src/oidb-actions/group-admin-permissions.ts create mode 100644 packages/proto-defs/src/oidb-actions/group-album.ts create mode 100644 packages/proto-defs/src/oidb-actions/group-category-tag.ts create mode 100644 packages/proto-defs/src/oidb-actions/group-ext.ts create mode 100644 packages/proto-defs/src/oidb-actions/group-file.ts create mode 100644 packages/proto-defs/src/oidb-actions/group-share-link.ts create mode 100644 packages/proto-defs/src/oidb-actions/index.ts create mode 100644 packages/proto-defs/src/oidb-actions/media.ts create mode 100644 packages/proto-defs/src/oidb-actions/ocr.ts create mode 100644 packages/proto-defs/src/oidb-actions/sys-faces.ts create mode 100644 packages/proto-defs/src/oidb.ts create mode 100644 packages/proto-defs/src/ptt-trans.ts create mode 100644 packages/proto-defs/src/qidian-corp.ts create mode 100644 packages/proto-defs/src/qzone.ts create mode 100644 packages/proto-defs/tsconfig.json create mode 100644 packages/protocol/HIGHWAY_UPLOADS.md create mode 100644 packages/protocol/bench/recv.bench.ts create mode 100644 packages/protocol/package.json create mode 100644 packages/protocol/src/bridge-context.ts create mode 100644 packages/protocol/src/bridge-oidb.ts create mode 100644 packages/protocol/src/dataline/codec.ts create mode 100644 packages/protocol/src/dataline/decode-push.ts create mode 100644 packages/protocol/src/dataline/device-contacts.ts create mode 100644 packages/protocol/src/element-builder.ts create mode 100644 packages/protocol/src/element-manifest.ts create mode 100644 packages/protocol/src/event-bus.ts create mode 100644 packages/protocol/src/events.ts create mode 100644 packages/protocol/src/format.ts create mode 100644 packages/protocol/src/group-invite-tracker.ts create mode 100644 packages/protocol/src/group-member-card.ts create mode 100644 packages/protocol/src/highway/download-settings.ts create mode 100644 packages/protocol/src/highway/ffmpeg-addon.ts create mode 100644 packages/protocol/src/highway/hash-file.ts create mode 100644 packages/protocol/src/highway/highway-client.ts create mode 100644 packages/protocol/src/highway/image-upload.ts create mode 100644 packages/protocol/src/highway/pipeline.ts create mode 100644 packages/protocol/src/highway/ptt-upload.ts create mode 100644 packages/protocol/src/highway/ptt-waveform.ts create mode 100644 packages/protocol/src/highway/sha1-stream.ts create mode 100644 packages/protocol/src/highway/stage.ts create mode 100644 packages/protocol/src/highway/upload-nodes.ts create mode 100644 packages/protocol/src/highway/upload-settings.ts create mode 100644 packages/protocol/src/highway/utils.ts create mode 100644 packages/protocol/src/highway/video-upload.ts create mode 100644 packages/protocol/src/identity-service.ts create mode 100644 packages/protocol/src/kick-nt.ts create mode 100644 packages/protocol/src/msg-push/blank-filter.ts create mode 100644 packages/protocol/src/msg-push/client-message-receipt.ts create mode 100644 packages/protocol/src/msg-push/context.ts create mode 100644 packages/protocol/src/msg-push/decoders/event-0x210.ts create mode 100644 packages/protocol/src/msg-push/decoders/event-0x2dc.ts create mode 100644 packages/protocol/src/msg-push/decoders/friend-message.ts create mode 100644 packages/protocol/src/msg-push/decoders/group-admin.ts create mode 100644 packages/protocol/src/msg-push/decoders/group-join-request.ts create mode 100644 packages/protocol/src/msg-push/decoders/group-member-change.ts create mode 100644 packages/protocol/src/msg-push/decoders/group-message.ts create mode 100644 packages/protocol/src/msg-push/decoders/temp-message.ts create mode 100644 packages/protocol/src/msg-push/enums.ts create mode 100644 packages/protocol/src/msg-push/fetch-c2c-history.ts create mode 100644 packages/protocol/src/msg-push/fetch-group-history.ts create mode 100644 packages/protocol/src/msg-push/helpers.ts create mode 100644 packages/protocol/src/msg-push/index.ts create mode 100644 packages/protocol/src/msg-push/packet-response.ts create mode 100644 packages/protocol/src/msg-push/registry.ts create mode 100644 packages/protocol/src/msg-push/rich-body-decoder.ts create mode 100644 packages/protocol/src/msg-push/sysmsg-dedup.ts create mode 100644 packages/protocol/src/msg-push/xml-card.ts create mode 100644 packages/protocol/src/oidb-service.ts create mode 100644 packages/protocol/src/oidb-services/contacts/fetch-download-rkeys.ts create mode 100644 packages/protocol/src/oidb-services/contacts/fetch-friend-list-page.ts create mode 100644 packages/protocol/src/oidb-services/contacts/fetch-group-detail.ts create mode 100644 packages/protocol/src/oidb-services/contacts/fetch-group-list.ts create mode 100644 packages/protocol/src/oidb-services/contacts/fetch-group-member-list-page.ts create mode 100644 packages/protocol/src/oidb-services/contacts/fetch-group-requests.ts create mode 100644 packages/protocol/src/oidb-services/contacts/fetch-robot-uin-ranges.ts create mode 100644 packages/protocol/src/oidb-services/contacts/fetch-user-profile-by-uid.ts create mode 100644 packages/protocol/src/oidb-services/contacts/fetch-user-profile.ts create mode 100644 packages/protocol/src/oidb-services/contacts/get-buddy-recommend-ark.ts create mode 100644 packages/protocol/src/oidb-services/contacts/get-group-recommend-ark.ts create mode 100644 packages/protocol/src/oidb-services/contacts/get-group-share-link.ts create mode 100644 packages/protocol/src/oidb-services/contacts/public-profile.ts create mode 100644 packages/protocol/src/oidb-services/contacts/send-tuwen-ark.ts create mode 100644 packages/protocol/src/oidb-services/contacts/set-friend-category.ts create mode 100644 packages/protocol/src/oidb-services/custom-face/add-custom-face.ts create mode 100644 packages/protocol/src/oidb-services/custom-face/delete-custom-face.ts create mode 100644 packages/protocol/src/oidb-services/custom-face/fetch-custom-face-detail.ts create mode 100644 packages/protocol/src/oidb-services/custom-face/fetch-custom-face-list.ts create mode 100644 packages/protocol/src/oidb-services/custom-face/modify-custom-face.ts create mode 100644 packages/protocol/src/oidb-services/custom-face/move-custom-face.ts create mode 100644 packages/protocol/src/oidb-services/custom-face/order-custom-face.ts create mode 100644 packages/protocol/src/oidb-services/custom-face/shared.ts create mode 100644 packages/protocol/src/oidb-services/extras/fetch-ai-voice-list.ts create mode 100644 packages/protocol/src/oidb-services/extras/fetch-ai-voice.ts create mode 100644 packages/protocol/src/oidb-services/extras/get-group-todo-list.ts create mode 100644 packages/protocol/src/oidb-services/extras/get-stranger-status.ts create mode 100644 packages/protocol/src/oidb-services/extras/group-todo.ts create mode 100644 packages/protocol/src/oidb-services/flash-transfer/apply-fileset.ts create mode 100644 packages/protocol/src/oidb-services/flash-transfer/apply-upload.ts create mode 100644 packages/protocol/src/oidb-services/flash-transfer/commit-file.ts create mode 100644 packages/protocol/src/oidb-services/flash-transfer/complete-fileset.ts create mode 100644 packages/protocol/src/oidb-services/flash-transfer/delete-file.ts create mode 100644 packages/protocol/src/oidb-services/flash-transfer/get-download-url.ts create mode 100644 packages/protocol/src/oidb-services/flash-transfer/get-fileset-detail.ts create mode 100644 packages/protocol/src/oidb-services/flash-transfer/get-flash-download.ts create mode 100644 packages/protocol/src/oidb-services/flash-transfer/list-filesets.ts create mode 100644 packages/protocol/src/oidb-services/flash-transfer/prepare-upload.ts create mode 100644 packages/protocol/src/oidb-services/flash-transfer/rename-file.ts create mode 100644 packages/protocol/src/oidb-services/flash-transfer/send-flash.ts create mode 100644 packages/protocol/src/oidb-services/flash-transfer/set-status.ts create mode 100644 packages/protocol/src/oidb-services/friend/approve-doubt-buddy-req.ts create mode 100644 packages/protocol/src/oidb-services/friend/clear-friend-remark.ts create mode 100644 packages/protocol/src/oidb-services/friend/delete-friend.ts create mode 100644 packages/protocol/src/oidb-services/friend/get-doubt-buddy-req.ts create mode 100644 packages/protocol/src/oidb-services/friend/handle-friend-request.ts create mode 100644 packages/protocol/src/oidb-services/friend/reject-doubt-buddy-req.ts create mode 100644 packages/protocol/src/oidb-services/friend/set-friend-remark.ts create mode 100644 packages/protocol/src/oidb-services/group-admin/add-group-category-tag.ts create mode 100644 packages/protocol/src/oidb-services/group-admin/delete-group-category-tag.ts create mode 100644 packages/protocol/src/oidb-services/group-admin/get-admin-permissions.ts create mode 100644 packages/protocol/src/oidb-services/group-admin/get-admin-receive-verify.ts create mode 100644 packages/protocol/src/oidb-services/group-admin/get-at-all-remain.ts create mode 100644 packages/protocol/src/oidb-services/group-admin/get-group-category-tags.ts create mode 100644 packages/protocol/src/oidb-services/group-admin/get-group-ext-info.ts create mode 100644 packages/protocol/src/oidb-services/group-admin/kick-member.ts create mode 100644 packages/protocol/src/oidb-services/group-admin/kick-members.ts create mode 100644 packages/protocol/src/oidb-services/group-admin/leave-group.ts create mode 100644 packages/protocol/src/oidb-services/group-admin/modify-group-ext-info.ts create mode 100644 packages/protocol/src/oidb-services/group-admin/mute-all.ts create mode 100644 packages/protocol/src/oidb-services/group-admin/mute-member.ts create mode 100644 packages/protocol/src/oidb-services/group-admin/set-add-option.ts create mode 100644 packages/protocol/src/oidb-services/group-admin/set-add-request.ts create mode 100644 packages/protocol/src/oidb-services/group-admin/set-admin-permissions.ts create mode 100644 packages/protocol/src/oidb-services/group-admin/set-admin-receive-verify.ts create mode 100644 packages/protocol/src/oidb-services/group-admin/set-admin.ts create mode 100644 packages/protocol/src/oidb-services/group-admin/set-group-name.ts create mode 100644 packages/protocol/src/oidb-services/group-admin/set-group-remark.ts create mode 100644 packages/protocol/src/oidb-services/group-admin/set-member-card.ts create mode 100644 packages/protocol/src/oidb-services/group-admin/set-member-invite-policy.ts create mode 100644 packages/protocol/src/oidb-services/group-admin/set-member-permission.ts create mode 100644 packages/protocol/src/oidb-services/group-admin/set-new-member-history-visibility.ts create mode 100644 packages/protocol/src/oidb-services/group-admin/set-search.ts create mode 100644 packages/protocol/src/oidb-services/group-admin/set-special-title.ts create mode 100644 packages/protocol/src/oidb-services/group-file/create-group-folder.ts create mode 100644 packages/protocol/src/oidb-services/group-file/delete-group-file.ts create mode 100644 packages/protocol/src/oidb-services/group-file/delete-group-folder.ts create mode 100644 packages/protocol/src/oidb-services/group-file/finalize-offline-file.ts create mode 100644 packages/protocol/src/oidb-services/group-file/get-group-file-count.ts create mode 100644 packages/protocol/src/oidb-services/group-file/get-group-file-space.ts create mode 100644 packages/protocol/src/oidb-services/group-file/get-group-file-url.ts create mode 100644 packages/protocol/src/oidb-services/group-file/get-group-ptt-url.ts create mode 100644 packages/protocol/src/oidb-services/group-file/get-group-video-url.ts create mode 100644 packages/protocol/src/oidb-services/group-file/get-private-file-url.ts create mode 100644 packages/protocol/src/oidb-services/group-file/get-private-ptt-url.ts create mode 100644 packages/protocol/src/oidb-services/group-file/get-private-video-url.ts create mode 100644 packages/protocol/src/oidb-services/group-file/list-group-files-page.ts create mode 100644 packages/protocol/src/oidb-services/group-file/move-group-file.ts create mode 100644 packages/protocol/src/oidb-services/group-file/ntv2-download.ts create mode 100644 packages/protocol/src/oidb-services/group-file/publish-group-file.ts create mode 100644 packages/protocol/src/oidb-services/group-file/rename-group-file.ts create mode 100644 packages/protocol/src/oidb-services/group-file/rename-group-folder.ts create mode 100644 packages/protocol/src/oidb-services/group-file/trans-group-file.ts create mode 100644 packages/protocol/src/oidb-services/group-file/upload-group-file-request.ts create mode 100644 packages/protocol/src/oidb-services/group-file/upload-private-file-request.ts create mode 100644 packages/protocol/src/oidb-services/highway/ntv2-upload-request.ts create mode 100644 packages/protocol/src/oidb-services/interaction/send-like.ts create mode 100644 packages/protocol/src/oidb-services/interaction/send-poke.ts create mode 100644 packages/protocol/src/oidb-services/interaction/set-essence.ts create mode 100644 packages/protocol/src/oidb-services/misc/click-inline-keyboard-button.ts create mode 100644 packages/protocol/src/oidb-services/misc/image-ocr.ts create mode 100644 packages/protocol/src/oidb-services/misc/request-decrypt-key.ts create mode 100644 packages/protocol/src/oidb-services/misc/send-group-sign.ts create mode 100644 packages/protocol/src/oidb-services/misc/translate-en-to-zh.ts create mode 100644 packages/protocol/src/oidb-services/profile/get-like.ts create mode 100644 packages/protocol/src/oidb-services/profile/get-unidirectional-friend-list.ts create mode 100644 packages/protocol/src/oidb-services/profile/set-input-status.ts create mode 100644 packages/protocol/src/oidb-services/profile/set-profile.ts create mode 100644 packages/protocol/src/oidb-services/profile/set-self-long-nick.ts create mode 100644 packages/protocol/src/oidb-services/reaction/fetch-reaction-summary.ts create mode 100644 packages/protocol/src/oidb-services/reaction/get-emoji-likes.ts create mode 100644 packages/protocol/src/oidb-services/reaction/set-reaction.ts create mode 100644 packages/protocol/src/oidb-services/shared.ts create mode 100644 packages/protocol/src/oidb-services/sys-faces/fetch-sys-face.ts create mode 100644 packages/protocol/src/oidb-services/sys-faces/fetch-sys-faces.ts create mode 100644 packages/protocol/src/oidb-services/web/force-fetch-client-key.ts create mode 100644 packages/protocol/src/oidb-services/web/get-pskey.ts create mode 100644 packages/protocol/src/packet-pipeline.ts create mode 100644 packages/protocol/src/qq-info.ts create mode 100644 packages/protocol/src/self-uid.ts create mode 100644 packages/protocol/src/services/qidian/fetch-corp-info.ts create mode 100644 packages/protocol/src/sys-face-storage.ts create mode 100644 packages/protocol/src/sys-face-store.ts create mode 100644 packages/protocol/src/web/collection.ts create mode 100644 packages/protocol/src/web/friend-dress.ts create mode 100644 packages/protocol/src/web/group-album.ts create mode 100644 packages/protocol/src/web/group-essence.ts create mode 100644 packages/protocol/src/web/group-honor.ts create mode 100644 packages/protocol/src/web/group-notice.ts create mode 100644 packages/protocol/src/web/group-signin.ts create mode 100644 packages/protocol/src/web/qzone-feed-content.ts create mode 100644 packages/protocol/src/web/qzone-feed-cursor.ts create mode 100644 packages/protocol/src/web/qzone-public.ts create mode 100644 packages/protocol/src/web/qzone.ts create mode 100644 packages/protocol/src/web/request-util.ts create mode 100644 packages/protocol/tests/dataline.test.ts create mode 100644 packages/protocol/tests/download-settings.test.ts create mode 100644 packages/protocol/tests/element-manifest.test.ts create mode 100644 packages/protocol/tests/event-bus.test.ts create mode 100644 packages/protocol/tests/format.test.ts create mode 100644 packages/protocol/tests/group-member-card.test.ts create mode 100644 packages/protocol/tests/highway/audio-transcode.test.ts create mode 100644 packages/protocol/tests/highway/encode-silk.test.ts create mode 100644 packages/protocol/tests/highway/hash-file.test.ts create mode 100644 packages/protocol/tests/highway/image-sticker.test.ts create mode 100644 packages/protocol/tests/highway/image-upload-reference.test.ts create mode 100644 packages/protocol/tests/highway/ptt-waveform.test.ts create mode 100644 packages/protocol/tests/highway/sha1-stream.test.ts create mode 100644 packages/protocol/tests/highway/stage.test.ts create mode 100644 packages/protocol/tests/highway/upload-nodes.test.ts create mode 100644 packages/protocol/tests/highway/upload-settings.test.ts create mode 100644 packages/protocol/tests/highway/upload-transport.test.ts create mode 100644 packages/protocol/tests/highway/utils.test.ts create mode 100644 packages/protocol/tests/highway/video-sha1-blocks.test.ts create mode 100644 packages/protocol/tests/kick-nt.test.ts create mode 100644 packages/protocol/tests/msg-push/blank-filter.test.ts create mode 100644 packages/protocol/tests/msg-push/bot-markdown-keyboard-decode.test.ts create mode 100644 packages/protocol/tests/msg-push/client-message-receipt.test.ts create mode 100644 packages/protocol/tests/msg-push/empty-message-drop.test.ts create mode 100644 packages/protocol/tests/msg-push/fetch-c2c-history.test.ts create mode 100644 packages/protocol/tests/msg-push/fetch-group-history.test.ts create mode 100644 packages/protocol/tests/msg-push/fixtures/issue-358-flash-push.hex create mode 100644 packages/protocol/tests/msg-push/flash-transfer-decode.test.ts create mode 100644 packages/protocol/tests/msg-push/friend-poke.test.ts create mode 100644 packages/protocol/tests/msg-push/group-join-request-invitee.test.ts create mode 100644 packages/protocol/tests/msg-push/registry-trace.test.ts create mode 100644 packages/protocol/tests/msg-push/rich-body-decoder.test.ts create mode 100644 packages/protocol/tests/msg-push/sysmsg-dedup.test.ts create mode 100644 packages/protocol/tests/msg-push/temp-message-source.test.ts create mode 100644 packages/protocol/tests/native/audio-transcode.test.ts create mode 100644 packages/protocol/tests/oidb-service.test.ts create mode 100644 packages/protocol/tests/oidb-services/_pb-oracle.ts create mode 100644 packages/protocol/tests/oidb-services/contacts/fetch-download-rkeys.test.ts create mode 100644 packages/protocol/tests/oidb-services/contacts/fetch-friend-list-page.test.ts create mode 100644 packages/protocol/tests/oidb-services/contacts/fetch-group-detail.test.ts create mode 100644 packages/protocol/tests/oidb-services/contacts/fetch-group-list.test.ts create mode 100644 packages/protocol/tests/oidb-services/contacts/fetch-group-member-list-page.test.ts create mode 100644 packages/protocol/tests/oidb-services/contacts/fetch-group-requests.test.ts create mode 100644 packages/protocol/tests/oidb-services/contacts/fetch-robot-uin-ranges.test.ts create mode 100644 packages/protocol/tests/oidb-services/contacts/fetch-user-profile-by-uid.test.ts create mode 100644 packages/protocol/tests/oidb-services/contacts/fetch-user-profile.test.ts create mode 100644 packages/protocol/tests/oidb-services/contacts/get-buddy-recommend-ark.test.ts create mode 100644 packages/protocol/tests/oidb-services/contacts/get-group-recommend-ark.test.ts create mode 100644 packages/protocol/tests/oidb-services/contacts/get-group-share-link.test.ts create mode 100644 packages/protocol/tests/oidb-services/contacts/public-profile.test.ts create mode 100644 packages/protocol/tests/oidb-services/contacts/send-tuwen-ark.test.ts create mode 100644 packages/protocol/tests/oidb-services/contacts/set-friend-category.test.ts create mode 100644 packages/protocol/tests/oidb-services/custom-face/delete-custom-face.test.ts create mode 100644 packages/protocol/tests/oidb-services/custom-face/fetch-custom-face-detail.test.ts create mode 100644 packages/protocol/tests/oidb-services/custom-face/fetch-custom-face-list.test.ts create mode 100644 packages/protocol/tests/oidb-services/custom-face/modify-custom-face.test.ts create mode 100644 packages/protocol/tests/oidb-services/custom-face/move-custom-face.test.ts create mode 100644 packages/protocol/tests/oidb-services/custom-face/order-custom-face.test.ts create mode 100644 packages/protocol/tests/oidb-services/extras/fetch-ai-voice-list.test.ts create mode 100644 packages/protocol/tests/oidb-services/extras/fetch-ai-voice.test.ts create mode 100644 packages/protocol/tests/oidb-services/extras/get-group-todo-list.test.ts create mode 100644 packages/protocol/tests/oidb-services/extras/get-stranger-status.test.ts create mode 100644 packages/protocol/tests/oidb-services/extras/group-todo.test.ts create mode 100644 packages/protocol/tests/oidb-services/flash-transfer/apply-upload-byteoracle.test.ts create mode 100644 packages/protocol/tests/oidb-services/flash-transfer/apply-upload.test.ts create mode 100644 packages/protocol/tests/oidb-services/flash-transfer/get-download-url-byteoracle.test.ts create mode 100644 packages/protocol/tests/oidb-services/flash-transfer/prepare-upload-byteoracle.test.ts create mode 100644 packages/protocol/tests/oidb-services/flash-transfer/send-flash-byteoracle.test.ts create mode 100644 packages/protocol/tests/oidb-services/friend/approve-doubt-buddy-req.test.ts create mode 100644 packages/protocol/tests/oidb-services/friend/clear-friend-remark.test.ts create mode 100644 packages/protocol/tests/oidb-services/friend/delete-friend.test.ts create mode 100644 packages/protocol/tests/oidb-services/friend/fixtures/d69-linux-3.2.32.hex create mode 100644 packages/protocol/tests/oidb-services/friend/get-doubt-buddy-req.test.ts create mode 100644 packages/protocol/tests/oidb-services/friend/handle-friend-request.test.ts create mode 100644 packages/protocol/tests/oidb-services/friend/reject-doubt-buddy-req.test.ts create mode 100644 packages/protocol/tests/oidb-services/friend/set-friend-remark.test.ts create mode 100644 packages/protocol/tests/oidb-services/group-admin/admin-permissions.test.ts create mode 100644 packages/protocol/tests/oidb-services/group-admin/get-admin-receive-verify.test.ts create mode 100644 packages/protocol/tests/oidb-services/group-admin/get-at-all-remain.test.ts create mode 100644 packages/protocol/tests/oidb-services/group-admin/get-group-ext-info.test.ts create mode 100644 packages/protocol/tests/oidb-services/group-admin/kick-member.test.ts create mode 100644 packages/protocol/tests/oidb-services/group-admin/kick-members.test.ts create mode 100644 packages/protocol/tests/oidb-services/group-admin/leave-group.test.ts create mode 100644 packages/protocol/tests/oidb-services/group-admin/modify-group-ext-info.test.ts create mode 100644 packages/protocol/tests/oidb-services/group-admin/mute-all.test.ts create mode 100644 packages/protocol/tests/oidb-services/group-admin/mute-member.test.ts create mode 100644 packages/protocol/tests/oidb-services/group-admin/set-add-option.test.ts create mode 100644 packages/protocol/tests/oidb-services/group-admin/set-add-request.test.ts create mode 100644 packages/protocol/tests/oidb-services/group-admin/set-admin.test.ts create mode 100644 packages/protocol/tests/oidb-services/group-admin/set-group-name.test.ts create mode 100644 packages/protocol/tests/oidb-services/group-admin/set-group-remark.test.ts create mode 100644 packages/protocol/tests/oidb-services/group-admin/set-member-card.test.ts create mode 100644 packages/protocol/tests/oidb-services/group-admin/set-member-invite-policy.test.ts create mode 100644 packages/protocol/tests/oidb-services/group-admin/set-member-permission.test.ts create mode 100644 packages/protocol/tests/oidb-services/group-admin/set-new-member-history-visibility.test.ts create mode 100644 packages/protocol/tests/oidb-services/group-admin/set-search.test.ts create mode 100644 packages/protocol/tests/oidb-services/group-admin/set-special-title.test.ts create mode 100644 packages/protocol/tests/oidb-services/group-file/create-group-folder.test.ts create mode 100644 packages/protocol/tests/oidb-services/group-file/delete-group-file.test.ts create mode 100644 packages/protocol/tests/oidb-services/group-file/delete-group-folder.test.ts create mode 100644 packages/protocol/tests/oidb-services/group-file/finalize-offline-file.test.ts create mode 100644 packages/protocol/tests/oidb-services/group-file/get-group-file-count.test.ts create mode 100644 packages/protocol/tests/oidb-services/group-file/get-group-file-space.test.ts create mode 100644 packages/protocol/tests/oidb-services/group-file/get-group-file-url.test.ts create mode 100644 packages/protocol/tests/oidb-services/group-file/get-group-ptt-url.test.ts create mode 100644 packages/protocol/tests/oidb-services/group-file/get-group-video-url.test.ts create mode 100644 packages/protocol/tests/oidb-services/group-file/get-private-file-url.test.ts create mode 100644 packages/protocol/tests/oidb-services/group-file/get-private-ptt-url.test.ts create mode 100644 packages/protocol/tests/oidb-services/group-file/get-private-video-url.test.ts create mode 100644 packages/protocol/tests/oidb-services/group-file/list-group-files-page.test.ts create mode 100644 packages/protocol/tests/oidb-services/group-file/move-group-file.test.ts create mode 100644 packages/protocol/tests/oidb-services/group-file/publish-group-file.test.ts create mode 100644 packages/protocol/tests/oidb-services/group-file/rename-group-file.test.ts create mode 100644 packages/protocol/tests/oidb-services/group-file/rename-group-folder.test.ts create mode 100644 packages/protocol/tests/oidb-services/group-file/trans-group-file.test.ts create mode 100644 packages/protocol/tests/oidb-services/group-file/upload-group-file-request.test.ts create mode 100644 packages/protocol/tests/oidb-services/group-file/upload-private-file-request.test.ts create mode 100644 packages/protocol/tests/oidb-services/highway/ntv2-upload-request.test.ts create mode 100644 packages/protocol/tests/oidb-services/interaction/send-like.test.ts create mode 100644 packages/protocol/tests/oidb-services/interaction/send-poke.test.ts create mode 100644 packages/protocol/tests/oidb-services/interaction/set-essence.test.ts create mode 100644 packages/protocol/tests/oidb-services/misc/click-inline-keyboard-button.test.ts create mode 100644 packages/protocol/tests/oidb-services/misc/image-ocr.test.ts create mode 100644 packages/protocol/tests/oidb-services/misc/send-group-sign.test.ts create mode 100644 packages/protocol/tests/oidb-services/misc/translate-en-to-zh.test.ts create mode 100644 packages/protocol/tests/oidb-services/profile/get-like.test.ts create mode 100644 packages/protocol/tests/oidb-services/profile/get-unidirectional-friend-list.test.ts create mode 100644 packages/protocol/tests/oidb-services/profile/set-input-status.test.ts create mode 100644 packages/protocol/tests/oidb-services/profile/set-profile.test.ts create mode 100644 packages/protocol/tests/oidb-services/profile/set-self-long-nick.test.ts create mode 100644 packages/protocol/tests/oidb-services/reaction/fetch-reaction-summary.test.ts create mode 100644 packages/protocol/tests/oidb-services/reaction/get-emoji-likes.test.ts create mode 100644 packages/protocol/tests/oidb-services/reaction/set-reaction.test.ts create mode 100644 packages/protocol/tests/oidb-services/set-search.test.ts create mode 100644 packages/protocol/tests/oidb-services/web/force-fetch-client-key.test.ts create mode 100644 packages/protocol/tests/oidb-services/web/get-pskey.test.ts create mode 100644 packages/protocol/tests/packet-pipeline-roster-refresh.test.ts create mode 100644 packages/protocol/tests/packet-pipeline-stranger-resolve.test.ts create mode 100644 packages/protocol/tests/packet-pipeline-trace.test.ts create mode 100644 packages/protocol/tests/self-invite-dispatch.test.ts create mode 100644 packages/protocol/tests/services/qidian/fetch-corp-info.test.ts create mode 100644 packages/protocol/tests/sys-face-storage.test.ts create mode 100644 packages/protocol/tests/sys-faces.test.ts create mode 100644 packages/protocol/tests/web/collection.test.ts create mode 100644 packages/protocol/tests/web/fixtures/friend-dress-sample.html create mode 100644 packages/protocol/tests/web/fixtures/qzone-feeds-sample.jsonp create mode 100644 packages/protocol/tests/web/friend-dress.test.ts create mode 100644 packages/protocol/tests/web/group-album-upload.test.ts create mode 100644 packages/protocol/tests/web/group-essence.test.ts create mode 100644 packages/protocol/tests/web/group-notice.test.ts create mode 100644 packages/protocol/tests/web/group-signin.test.ts create mode 100644 packages/protocol/tests/web/qzone-detail.test.ts create mode 100644 packages/protocol/tests/web/qzone-feed-detail.test.ts create mode 100644 packages/protocol/tests/web/qzone-feeds-parse.test.ts create mode 100644 packages/protocol/tests/web/qzone-feeds.test.ts create mode 100644 packages/protocol/tests/web/qzone-profile.test.ts create mode 100644 packages/protocol/tests/web/qzone-public.test.ts create mode 100644 packages/protocol/tests/web/qzone-reply.test.ts create mode 100644 packages/protocol/tests/web/qzone-share.test.ts create mode 100644 packages/protocol/tests/web/qzone-update-right.test.ts create mode 100644 packages/protocol/tests/web/qzone-upload.test.ts create mode 100644 packages/protocol/tests/web/qzone.test.ts create mode 100644 packages/protocol/tests/web/request-util.test.ts create mode 100644 packages/protocol/tsconfig.json create mode 100644 packages/protocol/vitest.config.ts create mode 100644 packages/proton/README.md create mode 100644 packages/proton/package.json create mode 100644 packages/proton/protobuf.d.ts create mode 100644 packages/proton/src/codegen/buffer.ts create mode 100644 packages/proton/src/codegen/decoder.ts create mode 100644 packages/proton/src/codegen/dependencies.ts create mode 100644 packages/proton/src/codegen/encoder.ts create mode 100644 packages/proton/src/codegen/fields.ts create mode 100644 packages/proton/src/codegen/generator.ts create mode 100644 packages/proton/src/codegen/helpers.ts create mode 100644 packages/proton/src/codegen/model.ts create mode 100644 packages/proton/src/codegen/unknown.ts create mode 100644 packages/proton/src/codegen/utf8.ts create mode 100644 packages/proton/src/codegen/write.ts create mode 100644 packages/proton/src/compiler/analysis.ts create mode 100644 packages/proton/src/compiler/callback-types.ts create mode 100644 packages/proton/src/compiler/callbacks.ts create mode 100644 packages/proton/src/compiler/compiler.ts create mode 100644 packages/proton/src/compiler/edits.ts create mode 100644 packages/proton/src/compiler/model.ts create mode 100644 packages/proton/src/compiler/receivers.ts create mode 100644 packages/proton/src/compiler/signatures.ts create mode 100644 packages/proton/src/compiler/targets.ts create mode 100644 packages/proton/src/compiler/validate.ts create mode 100644 packages/proton/src/index.ts create mode 100644 packages/proton/src/package.ts create mode 100644 packages/proton/src/runtime.ts create mode 100644 packages/proton/src/schema/message.ts create mode 100644 packages/proton/src/schema/objects.ts create mode 100644 packages/proton/src/schema/operators.ts create mode 100644 packages/proton/src/schema/relations.ts create mode 100644 packages/proton/src/schema/resolver.ts create mode 100644 packages/proton/src/schema/types.ts create mode 100644 packages/proton/src/source/context.ts create mode 100644 packages/proton/src/source/entries.ts create mode 100644 packages/proton/test/__tests__/compatibility.test.ts create mode 100644 packages/proton/test/__tests__/generator.test.ts create mode 100644 packages/proton/test/fixtures/bool-msg.ts create mode 100644 packages/proton/test/fixtures/nested.ts create mode 100644 packages/proton/test/fixtures/repeated.ts create mode 100644 packages/proton/test/fixtures/simple.ts create mode 100644 packages/proton/test/fixtures/string-msg.ts create mode 100644 packages/proton/test/helpers/index.ts create mode 100644 packages/proton/test/upstream/codegen/buffer.test.ts create mode 100644 packages/proton/test/upstream/codegen/generator.test.ts create mode 100644 packages/proton/test/upstream/codegen/utf8.test.ts create mode 100644 packages/proton/test/upstream/codegen/wire.test.ts create mode 100644 packages/proton/test/upstream/compile.ts create mode 100644 packages/proton/test/upstream/compiler/callbacks.test.ts create mode 100644 packages/proton/test/upstream/compiler/classes.test.ts create mode 100644 packages/proton/test/upstream/compiler/compile.test.ts create mode 100644 packages/proton/test/upstream/compiler/composition.test.ts create mode 100644 packages/proton/test/upstream/compiler/diagnostics.test.ts create mode 100644 packages/proton/test/upstream/compiler/evaluation.test.ts create mode 100644 packages/proton/test/upstream/compiler/modules.test.ts create mode 100644 packages/proton/test/upstream/compiler/types.test.ts create mode 100644 packages/proton/test/upstream/plugin/package-name.test.ts create mode 100644 packages/proton/test/upstream/plugin/vite.test.ts create mode 100644 packages/proton/test/upstream/project.ts create mode 100644 packages/proton/test/upstream/schema.ts create mode 100644 packages/proton/tsconfig.json create mode 100644 packages/proton/vitest.config.ts create mode 100644 packages/runtime/.gitignore create mode 100644 packages/runtime/check-node-version.cjs create mode 100644 packages/runtime/launcher.bat create mode 100644 packages/runtime/launcher.sh create mode 100644 packages/runtime/native/ffmpeg/ffmpegAddon.darwin.arm64.node create mode 100644 packages/runtime/native/ffmpeg/ffmpegAddon.linux.arm64.node create mode 100644 packages/runtime/native/ffmpeg/ffmpegAddon.linux.x64.node create mode 100644 packages/runtime/native/ffmpeg/ffmpegAddon.win32.x64.node create mode 100644 packages/runtime/native/snowluma-linux-arm64.node create mode 100644 packages/runtime/native/snowluma-linux-arm64.so create mode 100644 packages/runtime/native/snowluma-linux-x64.node create mode 100644 packages/runtime/native/snowluma-linux-x64.so create mode 100644 packages/runtime/native/snowluma-win32-x64.dll create mode 100644 packages/runtime/native/snowluma-win32-x64.node create mode 100755 packages/runtime/native/websocket-darwin-arm64.node create mode 100644 packages/runtime/native/websocket-linux-arm64.node create mode 100644 packages/runtime/native/websocket-linux-x64.node create mode 100644 packages/runtime/native/websocket-win32-x64.node create mode 100644 packages/runtime/package.json create mode 100644 packages/sdk/CHANGELOG.md create mode 100644 packages/sdk/MESSAGING.md create mode 100644 packages/sdk/README.md create mode 100644 packages/sdk/REVERSE_WEBSOCKET.md create mode 100644 packages/sdk/STREAMING.md create mode 100644 packages/sdk/VERSIONING.md create mode 100644 packages/sdk/package.json create mode 100644 packages/sdk/src/actions.ts create mode 100644 packages/sdk/src/client/api-client.ts create mode 100644 packages/sdk/src/client/file-streams.ts create mode 100644 packages/sdk/src/client/http-client.ts create mode 100644 packages/sdk/src/client/index.ts create mode 100644 packages/sdk/src/client/media.ts create mode 100644 packages/sdk/src/client/websocket-client.ts create mode 100644 packages/sdk/src/client/websocket-types.ts create mode 100644 packages/sdk/src/client/websocket-utils.ts create mode 100644 packages/sdk/src/emitter.ts create mode 100644 packages/sdk/src/errors.ts create mode 100644 packages/sdk/src/events/command.ts create mode 100644 packages/sdk/src/events/context.ts create mode 100644 packages/sdk/src/events/guards.ts create mode 100644 packages/sdk/src/events/index.ts create mode 100644 packages/sdk/src/events/types.ts create mode 100644 packages/sdk/src/index.ts create mode 100644 packages/sdk/src/internal/abort.ts create mode 100644 packages/sdk/src/internal/json.ts create mode 100644 packages/sdk/src/internal/streaming.ts create mode 100644 packages/sdk/src/messages/chain.ts create mode 100644 packages/sdk/src/messages/cq-format.ts create mode 100644 packages/sdk/src/messages/cq.ts create mode 100644 packages/sdk/src/messages/index.ts create mode 100644 packages/sdk/src/messages/quote.ts create mode 100644 packages/sdk/src/messages/segments.ts create mode 100644 packages/sdk/src/node/index.ts create mode 100644 packages/sdk/src/node/reverse-websocket-server.ts create mode 100644 packages/sdk/src/node/reverse-websocket-transport.ts create mode 100644 packages/sdk/src/types/actions.ts create mode 100644 packages/sdk/src/types/events.ts create mode 100644 packages/sdk/src/types/index.ts create mode 100644 packages/sdk/src/types/json.ts create mode 100644 packages/sdk/src/types/media.ts create mode 100644 packages/sdk/src/types/messages.ts create mode 100644 packages/sdk/src/types/params.ts create mode 100644 packages/sdk/src/types/results.ts create mode 100644 packages/sdk/src/types/streaming.ts create mode 100644 packages/sdk/tests/abort.test.ts create mode 100644 packages/sdk/tests/api-client.test.ts create mode 100644 packages/sdk/tests/chain.test.ts create mode 100644 packages/sdk/tests/emitter.test.ts create mode 100644 packages/sdk/tests/event-waits.test.ts create mode 100644 packages/sdk/tests/events.test.ts create mode 100644 packages/sdk/tests/file-streams.test.ts create mode 100644 packages/sdk/tests/fixtures/action-contracts.ts create mode 100644 packages/sdk/tests/fixtures/action-types.mts create mode 100644 packages/sdk/tests/fixtures/messaging-types.mts create mode 100644 packages/sdk/tests/guards.test.ts create mode 100644 packages/sdk/tests/http-client.test.ts create mode 100644 packages/sdk/tests/http-streaming.test.ts create mode 100644 packages/sdk/tests/media.test.ts create mode 100644 packages/sdk/tests/messages.test.ts create mode 100644 packages/sdk/tests/package.test.ts create mode 100644 packages/sdk/tests/quote.test.ts create mode 100644 packages/sdk/tests/qzone-public.test.ts create mode 100644 packages/sdk/tests/reverse-websocket-server.test.ts create mode 100644 packages/sdk/tests/segments.test.ts create mode 100644 packages/sdk/tests/websocket-client.test.ts create mode 100644 packages/sdk/tests/websocket-utils.test.ts create mode 100644 packages/sdk/tsconfig.json create mode 100644 packages/sqlite/package.json create mode 100644 packages/sqlite/src/driver.ts create mode 100644 packages/sqlite/src/index.ts create mode 100644 packages/sqlite/src/layout.ts create mode 100644 packages/sqlite/src/native.ts create mode 100644 packages/sqlite/src/vite.ts create mode 100644 packages/sqlite/tests/build.test.ts create mode 100644 packages/sqlite/tests/layout.test.ts create mode 100644 packages/sqlite/tests/sqlite.test.ts create mode 100644 packages/sqlite/tsconfig.json create mode 100644 packages/sqlite/vitest.config.ts create mode 100644 packages/ui/package.json create mode 100644 packages/ui/src/components/alert-dialog.tsx create mode 100644 packages/ui/src/components/avatar.tsx create mode 100644 packages/ui/src/components/badge.tsx create mode 100644 packages/ui/src/components/button.tsx create mode 100644 packages/ui/src/components/card.tsx create mode 100644 packages/ui/src/components/checkbox.tsx create mode 100644 packages/ui/src/components/dialog.tsx create mode 100644 packages/ui/src/components/empty-state.tsx create mode 100644 packages/ui/src/components/input.tsx create mode 100644 packages/ui/src/components/kbd.tsx create mode 100644 packages/ui/src/components/label.tsx create mode 100644 packages/ui/src/components/popover.tsx create mode 100644 packages/ui/src/components/progress.tsx create mode 100644 packages/ui/src/components/scroll-area.tsx create mode 100644 packages/ui/src/components/select.tsx create mode 100644 packages/ui/src/components/separator.tsx create mode 100644 packages/ui/src/components/sheet.tsx create mode 100644 packages/ui/src/components/skeleton.tsx create mode 100644 packages/ui/src/components/status-dot.tsx create mode 100644 packages/ui/src/components/switch.tsx create mode 100644 packages/ui/src/components/tabs.tsx create mode 100644 packages/ui/src/components/toaster.tsx create mode 100644 packages/ui/src/components/tooltip.tsx create mode 100644 packages/ui/src/index.ts create mode 100644 packages/ui/src/lib/cn.ts create mode 100644 packages/ui/src/styles/theme.css create mode 100644 packages/ui/tsconfig.json create mode 100644 packages/ui/tsup.config.ts create mode 100644 packages/websocket/package.json create mode 100644 packages/websocket/src/client.ts create mode 100644 packages/websocket/src/extensions.ts create mode 100644 packages/websocket/src/index.ts create mode 100644 packages/websocket/src/native.ts create mode 100644 packages/websocket/src/server.ts create mode 100644 packages/websocket/src/websocket.ts create mode 100644 packages/websocket/tests/client.test.ts create mode 100644 packages/websocket/tests/extensions-more.test.ts create mode 100644 packages/websocket/tests/extensions.test.ts create mode 100644 packages/websocket/tests/native.test.ts create mode 100644 packages/websocket/tests/server.test.ts create mode 100644 packages/websocket/tests/websocket.test.ts create mode 100644 packages/websocket/tsconfig.json create mode 100644 packages/webui/.gitignore create mode 100644 packages/webui/INTEGRATIONS.md create mode 100644 packages/webui/README.md create mode 100644 packages/webui/components.json create mode 100644 packages/webui/eslint.config.ts create mode 100644 packages/webui/index.html create mode 100644 packages/webui/package.json create mode 100644 packages/webui/public/apple-touch-icon.png create mode 100644 packages/webui/public/favicon.png create mode 100644 packages/webui/public/icons.svg create mode 100644 packages/webui/public/logo.png create mode 100644 packages/webui/src/App.tsx create mode 100644 packages/webui/src/appearance/registry.ts create mode 100644 packages/webui/src/appearance/runtime.ts create mode 100644 packages/webui/src/appearance/store.ts create mode 100644 packages/webui/src/appearance/targets/assets/Jersey20-OFL.txt create mode 100644 packages/webui/src/appearance/targets/assets/Jersey20-Regular.ttf create mode 100644 packages/webui/src/appearance/targets/maibot.css create mode 100644 packages/webui/src/appearance/targets/maibot.ts create mode 100644 packages/webui/src/assets/hero.png create mode 100644 packages/webui/src/assets/react.svg create mode 100644 packages/webui/src/assets/vite.svg create mode 100644 packages/webui/src/components/change-password-dialog.tsx create mode 100644 packages/webui/src/components/config/account-sidebar.tsx create mode 100644 packages/webui/src/components/config/defaults.ts create mode 100644 packages/webui/src/components/config/general-settings-tab.tsx create mode 100644 packages/webui/src/components/config/node-edit-dialog.tsx create mode 100644 packages/webui/src/components/config/node-summary-card.tsx create mode 100644 packages/webui/src/components/config/notification-opt-in.tsx create mode 100644 packages/webui/src/components/confirm-dialog.tsx create mode 100644 packages/webui/src/components/debug/action-tester.tsx create mode 100644 packages/webui/src/components/debug/api-browser.tsx create mode 100644 packages/webui/src/components/debug/file-source.tsx create mode 100644 packages/webui/src/components/debug/live-activity.tsx create mode 100644 packages/webui/src/components/debug/message-builder.tsx create mode 100644 packages/webui/src/components/debug/message-composer.tsx create mode 100644 packages/webui/src/components/debug/param-field.tsx create mode 100644 packages/webui/src/components/debug/segmented.tsx create mode 100644 packages/webui/src/components/debug/task-badge.tsx create mode 100644 packages/webui/src/components/insecure-remote-access-banner.tsx create mode 100644 packages/webui/src/components/interior/collapsible-banner.tsx create mode 100644 packages/webui/src/components/interior/context-menu.tsx create mode 100644 packages/webui/src/components/interior/dropdown.tsx create mode 100644 packages/webui/src/components/interior/floating-label.tsx create mode 100644 packages/webui/src/components/interior/icon-morph.tsx create mode 100644 packages/webui/src/components/interior/inline-validation.tsx create mode 100644 packages/webui/src/components/interior/live-activity.tsx create mode 100644 packages/webui/src/components/interior/modal.tsx create mode 100644 packages/webui/src/components/interior/otp-input.tsx create mode 100644 packages/webui/src/components/interior/password-strength.tsx create mode 100644 packages/webui/src/components/interior/segmented-control.tsx create mode 100644 packages/webui/src/components/interior/skeleton-swap.tsx create mode 100644 packages/webui/src/components/interior/wizard-steps.tsx create mode 100644 packages/webui/src/components/layout/main-layout.tsx create mode 100644 packages/webui/src/components/layout/sidebar.tsx create mode 100644 packages/webui/src/components/layout/top-bar.tsx create mode 100644 packages/webui/src/components/login-waves.tsx create mode 100644 packages/webui/src/components/low-integrity-warning.tsx create mode 100644 packages/webui/src/components/overview/deliveries-widget.tsx create mode 100644 packages/webui/src/components/pages/change-password-form.tsx create mode 100644 packages/webui/src/components/pages/config-page.tsx create mode 100644 packages/webui/src/components/pages/dashboard-grid.tsx create mode 100644 packages/webui/src/components/pages/debug-page.tsx create mode 100644 packages/webui/src/components/pages/login-page.tsx create mode 100644 packages/webui/src/components/pages/logs-page.tsx create mode 100644 packages/webui/src/components/pages/onboarding-steps.ts create mode 100644 packages/webui/src/components/pages/onboarding-wizard-page.tsx create mode 100644 packages/webui/src/components/pages/overview-page.tsx create mode 100644 packages/webui/src/components/pages/processes-page.tsx create mode 100644 packages/webui/src/components/pages/settings-page.tsx create mode 100644 packages/webui/src/components/pages/status-screens.tsx create mode 100644 packages/webui/src/components/pages/widget-config-forms.tsx create mode 100644 packages/webui/src/components/settings/developer-tools.ts create mode 100644 packages/webui/src/components/settings/global-config-panel.tsx create mode 100644 packages/webui/src/components/settings/notification-channel-dialog.tsx create mode 100644 packages/webui/src/components/settings/notifications-panel.tsx create mode 100644 packages/webui/src/components/settings/storage-panel.tsx create mode 100644 packages/webui/src/components/settings/system-panel.tsx create mode 100644 packages/webui/src/components/settings/totp-panel.tsx create mode 100644 packages/webui/src/components/settings/totp-qr.tsx create mode 100644 packages/webui/src/components/settings/totp-recovery-codes.tsx create mode 100644 packages/webui/src/components/settings/update-installer.tsx create mode 100644 packages/webui/src/components/settings/update-sources.tsx create mode 100644 packages/webui/src/components/theme-toggle.tsx create mode 100644 packages/webui/src/components/ui/adaptive-pointer.tsx create mode 100644 packages/webui/src/components/ui/avatar.tsx create mode 100644 packages/webui/src/components/ui/badge.tsx create mode 100644 packages/webui/src/components/ui/button.tsx create mode 100644 packages/webui/src/components/ui/card.tsx create mode 100644 packages/webui/src/components/ui/dropdown-select.tsx create mode 100644 packages/webui/src/components/ui/face-grid.tsx create mode 100644 packages/webui/src/components/ui/global-context-menu.tsx create mode 100644 packages/webui/src/components/ui/input.tsx create mode 100644 packages/webui/src/components/ui/json-tree.tsx create mode 100644 packages/webui/src/components/ui/label.tsx create mode 100644 packages/webui/src/components/ui/password-visibility-icon.tsx create mode 100644 packages/webui/src/components/ui/picker.tsx create mode 100644 packages/webui/src/components/ui/progress.tsx create mode 100644 packages/webui/src/components/ui/scroll-area.tsx create mode 100644 packages/webui/src/components/ui/separator.tsx create mode 100644 packages/webui/src/components/ui/sheet.tsx create mode 100644 packages/webui/src/components/ui/skeleton.tsx create mode 100644 packages/webui/src/components/ui/slider.tsx create mode 100644 packages/webui/src/components/ui/tabs.tsx create mode 100644 packages/webui/src/components/ui/textarea.tsx create mode 100644 packages/webui/src/components/ui/toggle-switch.tsx create mode 100644 packages/webui/src/components/ui/tooltip.tsx create mode 100644 packages/webui/src/contexts/ActionFeedbackContext.tsx create mode 100644 packages/webui/src/contexts/AppStateContext.tsx create mode 100644 packages/webui/src/contexts/DebugTaskContext.tsx create mode 100644 packages/webui/src/contexts/KioskContext.tsx create mode 100644 packages/webui/src/contexts/LayoutContext.tsx create mode 100644 packages/webui/src/contexts/SessionContext.tsx create mode 100644 packages/webui/src/contexts/ThemeContext.tsx create mode 100644 packages/webui/src/hooks/use-app-resources.ts create mode 100644 packages/webui/src/hooks/use-debug-contacts.ts create mode 100644 packages/webui/src/hooks/use-flash-message.ts create mode 100644 packages/webui/src/hooks/use-hook-process-ops.ts create mode 100644 packages/webui/src/hooks/use-media-query.ts create mode 100644 packages/webui/src/hooks/use-onebot-instance-config.ts create mode 100644 packages/webui/src/index.css create mode 100644 packages/webui/src/lib/access-token-feedback.ts create mode 100644 packages/webui/src/lib/action-params.ts create mode 100644 packages/webui/src/lib/api/client.ts create mode 100644 packages/webui/src/lib/api/context.tsx create mode 100644 packages/webui/src/lib/api/index.ts create mode 100644 packages/webui/src/lib/api/session-headers.ts create mode 100644 packages/webui/src/lib/api/sse.ts create mode 100644 packages/webui/src/lib/api/token-store.ts create mode 100644 packages/webui/src/lib/api/types.ts create mode 100644 packages/webui/src/lib/app-resources.ts create mode 100644 packages/webui/src/lib/dashboard-layout.ts create mode 100644 packages/webui/src/lib/debug-contacts.ts create mode 100644 packages/webui/src/lib/debug-history.ts create mode 100644 packages/webui/src/lib/debug-tasks.ts create mode 100644 packages/webui/src/lib/low-integrity-warning.ts create mode 100644 packages/webui/src/lib/markdown.tsx create mode 100644 packages/webui/src/lib/onboarding-actions.ts create mode 100644 packages/webui/src/lib/onboarding-navigation.ts create mode 100644 packages/webui/src/lib/onebot-config.ts create mode 100644 packages/webui/src/lib/polling.ts create mode 100644 packages/webui/src/lib/server-log-level.ts create mode 100644 packages/webui/src/lib/storage-presentation.ts create mode 100644 packages/webui/src/lib/totp-second-factor.ts create mode 100644 packages/webui/src/lib/transport-security.ts create mode 100644 packages/webui/src/lib/utils.ts create mode 100644 packages/webui/src/main.tsx create mode 100644 packages/webui/src/router/app-layout.tsx create mode 100644 packages/webui/src/router/index.tsx create mode 100644 packages/webui/src/types.ts create mode 100644 packages/webui/tests/action-feedback.test.ts create mode 100644 packages/webui/tests/action-params.test.tsx create mode 100644 packages/webui/tests/api-client-config.test.ts create mode 100644 packages/webui/tests/api-client-json.test.ts create mode 100644 packages/webui/tests/api-client-log-export.test.ts create mode 100644 packages/webui/tests/api-client-proxy-auth.test.ts create mode 100644 packages/webui/tests/api-client-sse-auth.test.ts create mode 100644 packages/webui/tests/api-client-timeout.test.ts create mode 100644 packages/webui/tests/api-client-totp.test.ts create mode 100644 packages/webui/tests/api-client-upload.test.ts create mode 100644 packages/webui/tests/app-resources.test.ts create mode 100644 packages/webui/tests/clipboard.test.ts create mode 100644 packages/webui/tests/dashboard-layout.test.ts create mode 100644 packages/webui/tests/debug-contacts.test.ts create mode 100644 packages/webui/tests/debug-tasks.test.ts create mode 100644 packages/webui/tests/developer-tools.test.tsx create mode 100644 packages/webui/tests/icon-morph.test.tsx create mode 100644 packages/webui/tests/login-totp.test.tsx create mode 100644 packages/webui/tests/low-integrity-warning.test.ts create mode 100644 packages/webui/tests/message-builder-capabilities.test.ts create mode 100644 packages/webui/tests/notification-channel-dialog.test.tsx create mode 100644 packages/webui/tests/notification-channel.test.ts create mode 100644 packages/webui/tests/onboarding-actions.test.ts create mode 100644 packages/webui/tests/onboarding-navigation.test.ts create mode 100644 packages/webui/tests/onboarding-steps.test.tsx create mode 100644 packages/webui/tests/onebot-access-token.test.ts create mode 100644 packages/webui/tests/onebot-config.test.ts create mode 100644 packages/webui/tests/otp-input.test.tsx create mode 100644 packages/webui/tests/password-inputs.test.tsx create mode 100644 packages/webui/tests/password-strength-api.test.ts create mode 100644 packages/webui/tests/polling.test.ts create mode 100644 packages/webui/tests/processes-page.test.tsx create mode 100644 packages/webui/tests/server-log-level.test.ts create mode 100644 packages/webui/tests/skeleton-swap.test.tsx create mode 100644 packages/webui/tests/sse.test.ts create mode 100644 packages/webui/tests/storage-api.test.ts create mode 100644 packages/webui/tests/storage-presentation.test.ts create mode 100644 packages/webui/tests/target-appearance.test.ts create mode 100644 packages/webui/tests/totp-second-factor.test.ts create mode 100644 packages/webui/tests/transport-security.test.ts create mode 100644 packages/webui/tests/update-api.test.ts create mode 100644 packages/webui/tsconfig.app.json create mode 100644 packages/webui/tsconfig.json create mode 100644 packages/webui/tsconfig.node.json create mode 100644 packages/webui/vite.config.ts create mode 100644 pnpm-lock.yaml create mode 100644 pnpm-workspace.yaml create mode 100644 tools/bench-common-memory.mjs create mode 100644 tools/bump-version.mjs create mode 100644 tools/check-action-catalog.mjs create mode 100644 tools/check-release-layout.mjs create mode 100644 tools/ci-check.mjs create mode 100644 tools/coverage.mjs create mode 100644 tools/release.mjs create mode 100644 tools/test_onebot_ws.py create mode 100644 tsconfig.base.json create mode 100644 tsconfig.json diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 00000000..0193ca80 --- /dev/null +++ b/.editorconfig @@ -0,0 +1,24 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +indent_style = space +indent_size = 2 +insert_final_newline = true +trim_trailing_whitespace = true + +[*.{json,yml,yaml,md}] +indent_size = 2 + +[*.{ts,tsx,mts,cts}] +indent_size = 4 + +[*.py] +indent_size = 4 + +[*.bat] +end_of_line = crlf + +[*.md] +trim_trailing_whitespace = false diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..41bcce29 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,14 @@ +* text=auto eol=lf + +*.bat text eol=crlf + +*.node binary +*.dll binary +*.so binary +*.dylib binary +*.png binary +*.jpg binary +*.jpeg binary +*.gif binary +*.ico binary +*.woff2 binary diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml new file mode 100644 index 00000000..ee9267ca --- /dev/null +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -0,0 +1,144 @@ +name: Bug 反馈 +description: 报告一个可复现的问题 +title: "[Bug] " +labels: ["bug"] +body: + - type: markdown + attributes: + value: | + 感谢花时间反馈 Bug。请尽量填全以下信息,方便我们定位问题。 + 在提交前,请先在 [Issues](https://github.com/SnowLuma/SnowLuma/issues?q=is%3Aissue) 中搜索是否已有相同问题。 + + - type: checkboxes + id: preflight + attributes: + label: 提交前检查 + options: + - label: 我已搜索过 Issues,确认没有重复的反馈 + required: true + - label: 我使用的是 [最新 Release](https://github.com/SnowLuma/SnowLuma/releases) 或当前 `dev` 分支构建 + required: true + - label: 我已将日志级别调到 TRACE,并在下方「TRACE 日志」一栏附上了复现期间的完整日志 + required: true + + - type: input + id: snowluma-version + attributes: + label: SnowLuma 版本 + description: 启动日志首行或 `package.json` 里的版本号 + placeholder: "例如 1.10.2" + validations: + required: true + + - type: dropdown + id: adapter + attributes: + label: 出问题的适配器 + description: 可多选 + multiple: true + options: + - WebSocket Server + - WebSocket Client + - HTTP Server + - HTTP Post + - WebUI + - Bridge / Core(协议层) + - 其他 / 不确定 + validations: + required: true + + - type: input + id: os + attributes: + label: 操作系统 + placeholder: "例如 Windows 11 23H2 / macOS 14.5 / Ubuntu 22.04" + validations: + required: true + + - type: dropdown + id: deploy + attributes: + label: 部署方式 + description: 如何运行 SnowLuma + options: + - 源码运行(pnpm dev / start) + - 预构建包 + - Docker + - 其他 / 不确定 + validations: + required: true + + - type: input + id: node-version + attributes: + label: Node.js 版本 + description: '`node -v` 的输出。如果使用预构建包可填"预构建包"' + placeholder: "例如 v20.11.0 或 预构建包" + validations: + required: true + + - type: input + id: qq-version + attributes: + label: QQ 客户端版本 + description: QQ NT 客户端的版本号 + placeholder: "例如 9.9.15-29722" + + - type: textarea + id: description + attributes: + label: 问题描述 + description: 简要说明发生了什么 + validations: + required: true + + - type: textarea + id: reproduce + attributes: + label: 复现步骤 + description: 详细列出如何触发这个问题 + placeholder: | + 1. 启动 SnowLuma 并登录账号 ... + 2. 通过 HTTP Server 调用 `send_group_msg` ... + 3. 观察到 ... + validations: + required: true + + - type: textarea + id: expected + attributes: + label: 期望行为 + validations: + required: true + + - type: textarea + id: actual + attributes: + label: 实际行为 + validations: + required: true + + - type: textarea + id: logs + attributes: + label: TRACE 日志 / 错误堆栈 + description: | + **必须提供 TRACE 级别日志**,否则我们几乎无法定位问题。SnowLuma 默认日志级别是 `info`,TRACE 不会输出,请务必先开启再复现,务必保留原始报文和完整Trace内容。 + + 开启 TRACE 的两种方式(任选其一): + - **WebUI(推荐)**:进入「日志」页 →「服务端日志级别」切到 `TRACE` → 显示过滤切到「开发」预设(确保 TRACE 行可见,否则导出不含 trace)→ 复现问题 → 点「导出当前视图」得到 `snowluma-logs-*.log`,拖到本输入框上传。 + - **环境变量**:启动前设置 `SNOWLUMA_LOG_LEVEL=trace` 再运行,复现后复制控制台输出。 + + 贴出的日志里应当能看到 `TRACE` 字样。请注意脱敏:移除 access token、账号密码、私聊内容等敏感信息。 + placeholder: | + [2026-06-26 12:00:00.000] TRACE [core] ... + [2026-06-26 12:00:00.001] DEBUG [bridge] ... + render: shell + validations: + required: true + + - type: textarea + id: extra + attributes: + label: 补充信息 + description: 配置片段(脱敏后)、截图、相关 Issue / PR 链接等 diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 00000000..cb45a4d5 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,11 @@ +blank_issues_enabled: false +contact_links: + - name: QQ 群 + url: https://qm.qq.com/q/g3UMLpWALe + about: 日常使用问题、快速交流可以先来 QQ 群 + - name: Telegram + url: https://t.me/napcatqq + about: 海外用户交流频道 + - name: Releases + url: https://github.com/SnowLuma/SnowLuma/releases + about: 在反馈 Bug 前,请先确认已使用最新发布版本 diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml new file mode 100644 index 00000000..d1d3279d --- /dev/null +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -0,0 +1,78 @@ +name: 功能请求 +description: 提议一个新功能或对现有功能的增强 +title: "[Feature] " +labels: ["enhancement"] +body: + - type: markdown + attributes: + value: | + 感谢您的建议。在提交前,请先在 [Issues](https://github.com/SnowLuma/SnowLuma/issues?q=is%3Aissue) 中搜索是否已有类似提案。 + + - type: checkboxes + id: preflight + attributes: + label: 提交前检查 + options: + - label: 我已搜索过 Issues,确认没有重复的提案 + required: true + + - type: dropdown + id: scope + attributes: + label: 涉及范围 + multiple: true + options: + - OneBot 协议 / 消息段 + - WebSocket Server / Client 适配器 + - HTTP Server / Post 适配器 + - WebUI 管理面板 + - SDK (`@snowluma/sdk`) + - UI 组件 (`@snowluma/ui`) + - Bridge / Core(协议层) + - 构建 / 发布流程 + - 文档 + - 其他 + validations: + required: true + + - type: textarea + id: problem + attributes: + label: 需求场景 / 当前痛点 + description: 这个功能要解决什么问题?目前是如何变通处理的? + validations: + required: true + + - type: textarea + id: proposal + attributes: + label: 期望方案 + description: 您希望它如何工作?如果是 API 改动,建议给出示例输入 / 输出 + validations: + required: true + + - type: textarea + id: alternatives + attributes: + label: 已考虑的替代方案 + description: 还想过哪些其他实现路径,为什么放弃 + + - type: textarea + id: references + attributes: + label: 参考链接 + description: 例如 OneBot 规范条目、其他实现的对应特性、相关 Issue / PR + placeholder: | + - OneBot v11 规范: https://github.com/botuniverse/onebot-11/... + - 相关讨论: #xxx + + - type: dropdown + id: willingness + attributes: + label: 您是否愿意提交 PR 来实现这个功能? + options: + - 愿意,但需要维护者讨论方案后再动手 + - 愿意,已有大致实现思路 + - 暂时只提建议 + validations: + required: true diff --git a/.github/logo.svg b/.github/logo.svg new file mode 100644 index 00000000..f9e8d0d4 --- /dev/null +++ b/.github/logo.svg @@ -0,0 +1,40 @@ + + + + + + + + SnowLuma + + + + SnowLuma + + + + + + diff --git a/.github/npm-trusted-publishing.md b/.github/npm-trusted-publishing.md new file mode 100644 index 00000000..a4338acf --- /dev/null +++ b/.github/npm-trusted-publishing.md @@ -0,0 +1,30 @@ +# npm Trusted Publishing + +The npm publish workflows use GitHub Actions OIDC instead of a long-lived +`NPM_TOKEN`. Each package must have a matching Trusted Publisher entry on npm +before its first publish after this migration. + +For each package (`@snowluma/sdk`, `@snowluma/ui`, and `@snowluma/mcp`), open +the package's npm settings and add a **GitHub Actions** trusted publisher with: + +| Field | Value | +| --- | --- | +| Organization or user | `SnowLuma` | +| Repository | `SnowLuma` | +| Workflow filename | The exact filename below | +| Environment | `SnowLuma` | + +| Package | Workflow filename | +| --- | --- | +| `@snowluma/sdk` | `sdk-npm-publish.yml` | +| `@snowluma/ui` | `ui-npm-publish.yml` | +| `@snowluma/mcp` | `mcp-npm-publish.yml` | + +The workflow job keeps the `SnowLuma` GitHub Environment, so the environment +field must match exactly. The workflows grant `id-token: write`, use Node 24 +(which provides a recent enough npm CLI), and publish with provenance. They do +not read `NPM_TOKEN`. + +After all three entries are saved, rerun the failed workflow runs. Once a +successful publish is confirmed for every package, the obsolete `NPM_TOKEN` +environment secret can be removed from GitHub Actions settings. diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 00000000..bd1bedd0 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,22 @@ + + +## 关联 Issue + + + +## 变更说明 + + + +## 提交前检查 + +- [ ] 目标分支为 `dev`,正文已关联符合上述要求的 issue +- [ ] 本 PR 聚焦单一目标,未夹带无关改动 +- [ ] 已通过 `pnpm lint` 与 `pnpm typecheck` +- [ ] 已补充/更新相关测试,且 `pnpm test` 通过 +- [ ] 文件行尾为 LF(未引入 CRLF) +- [ ] PR 描述与实际实现一致 diff --git a/.github/scripts/pr-policy-guard.cjs b/.github/scripts/pr-policy-guard.cjs new file mode 100644 index 00000000..970550f8 --- /dev/null +++ b/.github/scripts/pr-policy-guard.cjs @@ -0,0 +1,204 @@ +const COMMENT_MARKER = ''; +const TEMPLATE_LABELS = new Set(['bug', 'enhancement']); +const PRIVILEGED_AUTHORS = new Set(['OWNER', 'MEMBER', 'COLLABORATOR']); + +function prose(body) { + let fence = null; + return (body || '') + .replace(/|$)/g, '') + .split(/\r?\n/) + .map((line) => { + const marker = /^ {0,3}(`{3,}|~{3,})(.*)$/.exec(line); + + if (fence) { + if ( + marker && + marker[1][0] === fence[0] && + marker[1].length >= fence.length && + !marker[2].trim() + ) { + fence = null; + } + + return ''; + } + + if (marker) { + fence = marker[1]; + return ''; + } + + if (/^(?: {4}|\t|\s*>)/.test(line)) { + return ''; + } + + return line; + }) + .join('\n') + .replace(/(`+)[\s\S]*?\1/g, ''); +} + +function referencedIssues(body, context) { + const repository = `${context.repo.owner}/${context.repo.repo}`.toLowerCase(); + const references = new Set(); + const pattern = + /\b(?:refs?|close[sd]?|fix(?:e[sd])?|resolve[sd]?):?[ \t]+(https?:\/\/[^\s<>]+|(?:[\w.-]+\/[\w.-]+)?#[1-9]\d*)(?![\w/#-])/gi; + + for (const match of prose(body).matchAll(pattern)) { + const reference = match[1].replace(/[),.;!?]+$/, ''); + let number; + + if (/^https?:\/\//i.test(reference)) { + let url; + + try { + url = new URL(reference); + } catch { + continue; + } + + const path = url.pathname.match(/^\/([^/]+\/[^/]+)\/issues\/([1-9]\d*)\/?$/i); + + if (!path || url.origin !== context.serverUrl || path[1].toLowerCase() !== repository) { + continue; + } + + number = Number(path[2]); + } else { + const [name, id] = reference.split('#'); + + if (name && name.toLowerCase() !== repository) { + continue; + } + + number = Number(id); + } + + if (Number.isSafeInteger(number) && number > 0) { + references.add(number); + } + } + + return [...references]; +} + +async function violation(pr, github, context) { + if (pr.base.ref !== 'dev') { + return 'PR 的目标分支必须是 `dev`;`main` 仅由维护者的发布流程更新。'; + } + + const numbers = referencedIssues(pr.body, context); + + if (numbers.length === 0) { + return 'PR 正文缺少本仓库 issue 的关联标记。请填写 `Refs #编号`、`Closes #编号`、`Fixes #编号` 或 `Resolves #编号`。'; + } + + const failures = []; + + for (const issue_number of numbers) { + let issue; + + try { + ({ data: issue } = await github.rest.issues.get({ ...context.repo, issue_number })); + } catch (error) { + if (error.status !== 404 && error.status !== 410) { + throw error; + } + + failures.push(`#${issue_number} 不存在或不可访问`); + continue; + } + + const expectedUrl = `${context.serverUrl}/${context.repo.owner}/${context.repo.repo}/issues/${issue_number}`; + + if (issue.pull_request) { + failures.push(`#${issue_number} 是 PR,不是 issue`); + } else if (issue.html_url.toLowerCase() !== expectedUrl.toLowerCase()) { + failures.push(`#${issue_number} 已不属于本仓库`); + } else if (issue.state !== 'open') { + failures.push(`#${issue_number} 已关闭`); + } else if (Date.parse(issue.created_at) > Date.parse(pr.created_at)) { + failures.push(`#${issue_number} 晚于本 PR 创建,请先提 issue 再创建 PR`); + } else if ( + !PRIVILEGED_AUTHORS.has(issue.author_association) && + !issue.labels.some((label) => + TEMPLATE_LABELS.has(typeof label === 'string' ? label : label.name), + ) + ) { + // Match issue-template-guard.yml immediately, without racing its + // asynchronous close action. Its GITHUB_TOKEN cannot trigger us. + failures.push(`#${issue_number} 未通过 issue 模板检查`); + } else { + return null; + } + } + + return `没有有效的关联 issue:${failures.join(';')}。`; +} + +module.exports = async function guard({ github, context, core }) { + const params = { ...context.repo, pull_number: context.issue.number }; + const { data: pr } = await github.rest.pulls.get(params); + + if (pr.state !== 'open' || pr.merged) { + core.info('PR is no longer open; nothing to enforce.'); + return; + } + + const reason = await violation(pr, github, context); + + if (!reason) { + core.info(`PR #${pr.number} targets dev and references an eligible issue.`); + return; + } + + // An edit may have fixed the policy while its issue lookup was in flight. + const { data: current } = await github.rest.pulls.get(params); + + if ( + current.state !== 'open' || + current.merged || + current.body !== pr.body || + current.base.ref !== pr.base.ref + ) { + core.info('PR changed during validation; leaving it to the next event.'); + return; + } + + const commentParams = { ...context.repo, issue_number: pr.number }; + const comments = await github.paginate(github.rest.issues.listComments, { + ...commentParams, + per_page: 100, + }); + const previous = comments.find( + (comment) => + comment.user?.login === 'github-actions[bot]' && comment.body?.startsWith(COMMENT_MARKER), + ); + const body = [ + COMMENT_MARKER, + '此 PR 未满足贡献要求,现自动关闭。', + '', + reason, + '', + '请先通过 [GitHub 网页模板](' + + context.serverUrl + + '/' + + context.repo.owner + + '/' + + context.repo.repo + + '/issues/new/choose) 提交 issue;也可以认领已有的对应 issue。', + 'PR 必须指向 `dev`,并在正文引用至少一个先于 PR 创建、仍开放且通过模板检查的本仓库 issue。注释、代码示例和引用块中的标记不计入。', + '若已有符合要求的 issue,可修改目标分支或正文后重新打开 PR;若需新建 issue,请先完成 issue 再创建新的 PR。', + ].join('\n'); + + if (previous) { + if (previous.body !== body) { + await github.rest.issues.updateComment({ ...context.repo, comment_id: previous.id, body }); + } + } else { + await github.rest.issues.createComment({ ...commentParams, body }); + } + + await github.rest.pulls.update({ ...params, state: 'closed' }); + core.setFailed(`Closed PR #${pr.number}: ${reason}`); +}; diff --git a/.github/scripts/pr-policy-guard.test.cjs b/.github/scripts/pr-policy-guard.test.cjs new file mode 100644 index 00000000..e3de4342 --- /dev/null +++ b/.github/scripts/pr-policy-guard.test.cjs @@ -0,0 +1,313 @@ +const assert = require('node:assert/strict'); +const { test } = require('node:test'); +const guard = require('./pr-policy-guard.cjs'); + +function fixture() { + const pr = { + number: 100, + state: 'open', + merged: false, + base: { ref: 'dev' }, + body: 'Refs #42', + created_at: '2026-11-01T10:00:00Z', + }; + const issue = { + number: 42, + state: 'open', + html_url: 'https://github.com/SnowLuma/SnowLuma/issues/42', + created_at: '2026-11-01T09:00:00Z', + author_association: 'NONE', + labels: [{ name: 'bug' }], + }; + const state = { + pr, + issue, + issues: new Map([[42, issue]]), + comments: [], + lookups: [], + mutations: [], + failures: [], + refresh: null, + requests: 0, + }; + const context = { + repo: { owner: 'SnowLuma', repo: 'SnowLuma' }, + issue: { number: 100 }, + serverUrl: 'https://github.com', + }; + const github = { + rest: { + pulls: { + get: async () => { + state.requests += 1; + return { + data: structuredClone(state.requests > 1 && state.refresh ? state.refresh : pr), + }; + }, + update: async (params) => state.mutations.push({ action: 'close', ...params }), + }, + issues: { + get: async ({ issue_number }) => { + state.lookups.push(issue_number); + const result = state.issues.get(issue_number); + + if (result instanceof Error) { + throw result; + } + + if (!result) { + throw Object.assign(new Error('Not found'), { status: 404 }); + } + + return { data: structuredClone(result) }; + }, + listComments: () => {}, + createComment: async (params) => state.mutations.push({ action: 'comment', ...params }), + updateComment: async (params) => + state.mutations.push({ action: 'edit-comment', ...params }), + }, + }, + paginate: async () => structuredClone(state.comments), + }; + const core = { + info: () => {}, + setFailed: (reason) => state.failures.push(reason), + }; + return { ...state, state, github, run: () => guard({ github, context, core }) }; +} + +function assertClosed(f, reason) { + assert.deepEqual( + f.mutations.map((entry) => entry.action), + ['comment', 'close'], + ); + assert.equal(f.mutations[1].pull_number, 100); + assert.equal(f.mutations[1].state, 'closed'); + assert.match(f.mutations[0].body, reason); + assert.equal(f.failures.length, 1); +} + +for (const body of [ + 'Refs #42', + 'refs: #42', + 'Ref #42', + 'Close #42', + 'Closes #42', + 'Closed #42', + 'Fix #42', + 'Fixes #42', + 'Fixed #42', + 'Resolve #42', + 'Resolves #42', + 'Resolved #42', + 'This change fixes #42.', + 'CLOSES: #42', + 'Refs SnowLuma/SnowLuma#42', + 'Refs snowluma/snowluma#42', + 'Refs https://github.com/SnowLuma/SnowLuma/issues/42', +]) { + test(`accepts a real issue reference: ${body}`, async () => { + const f = fixture(); + f.pr.body = body; + await f.run(); + assert.deepEqual(f.lookups, [42]); + assert.deepEqual(f.mutations, []); + assert.deepEqual(f.failures, []); + }); +} + +for (const body of [ + '', + null, + '#42', + 'prefixRefs #42', + 'Refs #0', + 'Refs #42abc', + 'Refs #42/other', + 'Refs #9007199254740993', + 'Refs other/repo#42', + 'Refs https://github.com/other/repo/issues/42', + 'Refs https://example.org/SnowLuma/SnowLuma/issues/42', + 'Refs https://github.com/SnowLuma/SnowLuma/pull/42', + 'Refs https://%', + '', + '\nold reason', + }); + await f.run(); + assert.deepEqual( + f.mutations.map((entry) => entry.action), + ['edit-comment', 'close'], + ); + assert.equal(f.mutations[0].comment_id, 7); +}); + +test('does not overwrite a contributor comment containing the guard marker', async () => { + const f = fixture(); + f.pr.body = ''; + f.comments.push({ + id: 7, + user: { login: 'contributor' }, + body: '', + }); + await f.run(); + assertClosed(f, /缺少本仓库 issue/); +}); + +test('does not close the PR if its explanation cannot be posted', async () => { + const f = fixture(); + f.pr.body = ''; + const error = Object.assign(new Error('Comment rejected'), { status: 403 }); + f.github.rest.issues.createComment = async () => { + throw error; + }; + await assert.rejects(f.run, error); + assert.deepEqual(f.mutations, []); +}); + +test('reuses an unchanged explanation without posting or editing another comment', async () => { + const first = fixture(); + first.pr.body = ''; + await first.run(); + + const reopened = fixture(); + reopened.pr.body = ''; + reopened.comments.push({ + id: 7, + user: { login: 'github-actions[bot]' }, + body: first.mutations[0].body, + }); + await reopened.run(); + assert.deepEqual( + reopened.mutations.map((entry) => entry.action), + ['close'], + ); +}); diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..711d9df7 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,106 @@ +# Run the root validation commands on every pull request. +# Command list is duplicated in tools/ci-check.mjs — keep them identical. +name: CI + +on: + pull_request: + workflow_dispatch: + +permissions: + contents: read + +# Cancel an in-flight run when the PR gets new commits. +concurrency: + group: ci-${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + test: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + + - uses: pnpm/action-setup@v6 + with: + version: 11.25.0 + run_install: false + + - uses: actions/setup-node@v6 + with: + node-version-file: '.node-version' + cache: 'pnpm' + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Run all package tests + run: pnpm test + + # The MCP test suite regenerates the action catalog (catalog.ts + the + # catalog.json the docs site consumes). Fail if the committed snapshot + # drifted from the live specs — keeps the API docs from going stale. + - name: Verify generated action catalog is up to date + run: node tools/check-action-catalog.mjs + + typecheck: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + + - uses: pnpm/action-setup@v6 + with: + version: 11.25.0 + run_install: false + + - uses: actions/setup-node@v6 + with: + node-version-file: '.node-version' + cache: 'pnpm' + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Type check all packages + run: pnpm typecheck + + build: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + + - uses: pnpm/action-setup@v6 + with: + version: 11.25.0 + run_install: false + + - uses: actions/setup-node@v6 + with: + node-version-file: '.node-version' + cache: 'pnpm' + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Build release inputs + run: pnpm run build:all + + lint: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v6 + + - uses: pnpm/action-setup@v6 + with: + version: 11.25.0 + run_install: false + + - uses: actions/setup-node@v6 + with: + node-version-file: '.node-version' + cache: 'pnpm' + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Lint managed source files + run: pnpm lint diff --git a/.github/workflows/dev-build.yml b/.github/workflows/dev-build.yml new file mode 100644 index 00000000..e2a81430 --- /dev/null +++ b/.github/workflows/dev-build.yml @@ -0,0 +1,278 @@ +name: Dev Build + +on: + push: + branches: + - '**' + tags-ignore: + - 'v*' + +# Only `dev` gets a shared, self-cancelling group so a newer dev commit +# supersedes the in-flight one (and its Docker dispatch) before it publishes. +# Every other branch falls back to a unique per-run group (github.run_id), so +# their concurrency behavior is unchanged — no shared-group pending-run +# replacement, no accidental serialization. +concurrency: + group: ${{ github.ref == 'refs/heads/dev' && format('{0}-{1}', github.workflow, github.ref) || github.run_id }} + cancel-in-progress: ${{ github.ref == 'refs/heads/dev' }} + +jobs: + cleanup: + runs-on: ubuntu-latest + permissions: + actions: write + contents: read + steps: + # Delete only artifacts older than 24h. The dev Docker hand-off relies on + # this run's fresh `snowluma-dev-docker-*` artifact still existing when the + # downstream (cross-repo) Docker build downloads it; a blanket "delete all" + # here — which also runs on every other branch's push — could race-delete + # an in-flight hand-off artifact. Age-gating keeps recent ones safe while + # still reaping the backlog. + - name: Delete old artifacts + uses: actions/github-script@v8 + with: + script: | + const cutoff = Date.now() - 24 * 60 * 60 * 1000; + // Collect every artifact first, THEN delete — deleting mid-pagination + // shifts the list and would skip ~a page of old artifacts per delete. + const all = []; + let page = 1; + while (true) { + const { data: { artifacts } } = await github.rest.actions.listArtifactsForRepo({ + owner: context.repo.owner, + repo: context.repo.repo, + per_page: 100, + page, + }); + if (artifacts.length === 0) break; + all.push(...artifacts); + page++; + } + for (const artifact of all) { + if (new Date(artifact.created_at).getTime() >= cutoff) { + continue; // keep recent artifacts (may be in-flight dev hand-offs) + } + await github.rest.actions.deleteArtifact({ + owner: context.repo.owner, + repo: context.repo.repo, + artifact_id: artifact.id, + }); + console.log(`Deleted artifact: ${artifact.name}`); + } + + typecheck: + runs-on: ubuntu-latest + permissions: + contents: read + steps: + - name: Checkout + uses: actions/checkout@v6 + + - name: Setup pnpm + uses: pnpm/action-setup@v6 + with: + version: 11.25.0 + run_install: false + + - name: Setup Node.js + uses: actions/setup-node@v6 + with: + node-version-file: '.node-version' + cache: 'pnpm' + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + # Runs `tsc --noEmit` (or `tsc -b`) in every workspace package that + # exposes a `typecheck` script. Platform-independent, so a single + # ubuntu runner is sufficient. + - name: Type check all packages + run: pnpm typecheck + + build: + needs: [cleanup, typecheck] + permissions: + contents: read + strategy: + fail-fast: false + matrix: + include: + - name: win-x64 + os: windows-latest + target: win32-x64 + - name: linux-x64 + os: ubuntu-latest + target: linux-x64 + - name: linux-arm64 + os: ubuntu-24.04-arm + target: linux-arm64 + runs-on: ${{ matrix.os }} + steps: + - name: Checkout + uses: actions/checkout@v6 + + - name: Setup pnpm + uses: pnpm/action-setup@v6 + with: + version: 11.25.0 + run_install: false + + - name: Setup Node.js + uses: actions/setup-node@v6 + with: + node-version-file: '.node-version' + cache: 'pnpm' + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Run native smoke tests + run: pnpm test:native + + # Always builds the WebUI flavor — no separate "core-only" artifact. + - name: Build project + env: + SNOWLUMA_TARGET: ${{ matrix.target }} + run: pnpm run build:all + + - name: Verify release layout + run: pnpm check:release-layout + + # Naming convention: + # SnowLuma-dev-.zip|tar.gz – zero-install (node bundled) + # SnowLuma-dev--lite.zip|tar.gz – user provides Node ^24.22.1 or >=26.12.1 + - name: Package (windows) + if: matrix.os == 'windows-latest' + shell: pwsh + run: | + Compress-Archive -Path "dist\*" -DestinationPath "SnowLuma-dev-${{ matrix.name }}-lite.zip" + Copy-Item (Get-Command node).Source -Destination "dist\node.exe" + Compress-Archive -Path "dist\*" -DestinationPath "SnowLuma-dev-${{ matrix.name }}.zip" + + - name: Package (linux) + if: startsWith(matrix.os, 'ubuntu') + run: | + chmod +x dist/launcher.sh + tar -czf "SnowLuma-dev-${{ matrix.name }}-lite.tar.gz" -C dist . + cp "$(command -v node)" dist/node + chmod +x dist/node + tar -czf "SnowLuma-dev-${{ matrix.name }}.tar.gz" -C dist . + + # Single upload step — glob picks up both variants (.zip on Windows, + # .tar.gz on Linux) for this matrix row. + - name: Upload artifacts + uses: actions/upload-artifact@v7 + with: + name: SnowLuma-dev-${{ github.sha }}-${{ matrix.name }} + path: SnowLuma-dev-${{ matrix.name }}* + retention-days: 3 + overwrite: true + if-no-files-found: error + + # Deterministic-name hand-off artifact consumed by the cross-repo dev + # Docker build (SnowLuma.Docker.Framework/docker-image.yml downloads it by + # this exact name). linux-x64 only — dev images are amd64-only. Just the + # lite tarball; the container already ships its own Node runtime. + - name: Upload dev Docker hand-off artifact + if: matrix.name == 'linux-x64' && github.ref == 'refs/heads/dev' + uses: actions/upload-artifact@v7 + with: + name: snowluma-dev-docker-linux-x64 + path: SnowLuma-dev-linux-x64-lite.tar.gz + retention-days: 3 + overwrite: true + if-no-files-found: error + + # Fire the "latest dev" Docker build on SnowLuma.Docker.Framework — but only + # for `dev`. Mirrors release.yml's dispatch-docker, parameterized for dev: + # tag=dev (rolling) + sha_tag=dev-<12sha> (immutable), also_latest=false so it + # never touches the stable :latest, platforms=amd64, and artifact_run_id so the + # downstream build pulls THIS run's hand-off artifact instead of a Release. + dispatch-dev-docker: + needs: [build] + if: github.ref == 'refs/heads/dev' + runs-on: ubuntu-latest + environment: SnowLuma + permissions: + contents: read + steps: + - name: Compute short SHA + id: sha + run: echo "short=${GITHUB_SHA:0:12}" >> "$GITHUB_OUTPUT" + + - name: Dispatch dev Docker build + uses: actions/github-script@v8 + env: + RELEASE_REPOSITORY: ${{ vars.DOCKER_RELEASE_REPOSITORY }} + DOCKER_IMAGE: ${{ vars.DOCKER_IMAGE }} + DOCKER_WORKFLOW: ${{ vars.DOCKER_WORKFLOW }} + DOCKER_REF: ${{ vars.DOCKER_REF }} + SHA_TAG: dev-${{ steps.sha.outputs.short }} + ARTIFACT_RUN_ID: ${{ github.run_id }} + with: + github-token: ${{ secrets.SNOWLUMA_TOKEN }} + script: | + const target = process.env.RELEASE_REPOSITORY; + if (!target || !target.includes('/')) { + throw new Error('Set SnowLuma environment variable DOCKER_RELEASE_REPOSITORY to owner/repo.'); + } + const [owner, repo] = target.split('/'); + const sourceRepo = context.repo.owner + '/' + context.repo.repo; + const image = process.env.DOCKER_IMAGE || 'motricseven7/snowluma'; + const workflowId = process.env.DOCKER_WORKFLOW || 'docker-image.yml'; + const ref = process.env.DOCKER_REF || 'main'; + const runId = String(process.env.ARTIFACT_RUN_ID); + const shaTag = process.env.SHA_TAG; + + await github.rest.actions.createWorkflowDispatch({ + owner, + repo, + workflow_id: workflowId, + ref, + inputs: { + image, + tag: 'dev', + push: 'true', + platforms: 'linux/amd64', + also_latest: 'false', + snowluma_repository: sourceRepo, + artifact_run_id: runId, + sha_tag: shaTag, + }, + }); + core.info(`Dispatched ${workflowId}@${ref} on ${target} for dev (image=${image}:dev + :${shaTag}, src run ${runId}).`); + + // Best-effort: resolve the dispatched run by its unique run-name + // marker so the summary links straight to it (every dev dispatch is + // tag=dev, so we key on the source run id, not the tag). + const marker = `(src-run ${runId})`; + let runUrl = ''; + for (let i = 0; i < 6 && !runUrl; i++) { + await new Promise((r) => setTimeout(r, 5000)); + try { + const { data } = await github.rest.actions.listWorkflowRuns({ + owner, + repo, + workflow_id: workflowId, + event: 'workflow_dispatch', + per_page: 30, + }); + const hit = data.workflow_runs.find( + (r) => (r.display_title || r.name || '').includes(marker), + ); + if (hit) runUrl = hit.html_url; + } catch (e) { + core.warning(`Downstream run lookup failed: ${e.message}`); + } + } + const workflowUrl = `https://github.com/${owner}/${repo}/actions/workflows/${workflowId}`; + await core.summary + .addHeading('dev Docker dispatch', 3) + .addList([ + `source SHA: ${context.sha}`, + `source run id: ${runId}`, + `image: ${image}:dev + ${image}:${shaTag}`, + `downstream run: ${runUrl || `(not resolved yet — see ${workflowUrl}, look for ${marker})`}`, + ]) + .write(); diff --git a/.github/workflows/dispatch-docker-release.yml b/.github/workflows/dispatch-docker-release.yml new file mode 100644 index 00000000..2d68e617 --- /dev/null +++ b/.github/workflows/dispatch-docker-release.yml @@ -0,0 +1,86 @@ +name: Re-dispatch Docker Release + +# Manual-only re-dispatcher for SnowLuma.Docker.Framework's docker-image.yml. +# +# The normal flow is automatic: release.yml's `dispatch-docker` job fires +# after a tag-triggered release is published. This workflow exists for +# rebuilding an existing release's Docker image without re-tagging — for +# example after fixing the Dockerfile, rotating a Docker Hub credential, +# or backfilling an older tag. + +on: + workflow_dispatch: + inputs: + snowluma_tag: + description: 'SnowLuma release tag to rebuild (e.g. v0.5.0)' + required: true + docker_image_override: + description: 'Override Docker image name (defaults to vars.DOCKER_IMAGE)' + required: false + default: '' + platforms_override: + description: 'Override platforms (defaults to vars.DOCKER_PLATFORMS or linux/amd64,linux/arm64)' + required: false + default: '' + ghcr_image_override: + description: 'Override GHCR image name (defaults to vars.GHCR_IMAGE, leave empty to skip GHCR)' + required: false + default: '' + +permissions: + contents: read + +jobs: + dispatch: + runs-on: ubuntu-latest + environment: SnowLuma + steps: + - name: Dispatch Docker rebuild + uses: actions/github-script@v8 + env: + RELEASE_REPOSITORY: ${{ vars.DOCKER_RELEASE_REPOSITORY }} + DOCKER_IMAGE: ${{ vars.DOCKER_IMAGE }} + DOCKER_PLATFORMS: ${{ vars.DOCKER_PLATFORMS }} + DOCKER_WORKFLOW: ${{ vars.DOCKER_WORKFLOW }} + DOCKER_REF: ${{ vars.DOCKER_REF }} + SNOWLUMA_TAG: ${{ inputs.snowluma_tag }} + IMAGE_OVERRIDE: ${{ inputs.docker_image_override }} + PLATFORMS_OVERRIDE: ${{ inputs.platforms_override }} + GHCR_IMAGE: ${{ vars.GHCR_IMAGE }} + GHCR_OVERRIDE: ${{ inputs.ghcr_image_override }} + with: + github-token: ${{ secrets.SNOWLUMA_TOKEN }} + script: | + const target = process.env.RELEASE_REPOSITORY; + if (!target || !target.includes('/')) { + throw new Error('Set SnowLuma environment variable DOCKER_RELEASE_REPOSITORY to owner/repo.'); + } + + const tag = process.env.SNOWLUMA_TAG; + if (!tag) throw new Error('snowluma_tag input is required.'); + + const [owner, repo] = target.split('/'); + const sourceRepo = context.repo.owner + '/' + context.repo.repo; + const image = process.env.IMAGE_OVERRIDE || process.env.DOCKER_IMAGE || 'motricseven7/snowluma'; + const platforms = process.env.PLATFORMS_OVERRIDE || process.env.DOCKER_PLATFORMS || 'linux/amd64,linux/arm64'; + const workflowId = process.env.DOCKER_WORKFLOW || 'docker-image.yml'; + const ref = process.env.DOCKER_REF || 'main'; + const ghcrImage = process.env.GHCR_OVERRIDE || process.env.GHCR_IMAGE || ''; + + await github.rest.actions.createWorkflowDispatch({ + owner, + repo, + workflow_id: workflowId, + ref, + inputs: { + image, + tag, + push: 'true', + platforms, + snowluma_tag: tag, + snowluma_repository: sourceRepo, + ghcr_image: ghcrImage, + }, + }); + + core.info(`Re-dispatched ${workflowId}@${ref} on ${target} for SnowLuma release ${sourceRepo}@${tag} (image=${image}, ghcr_image=${ghcrImage}, platforms=${platforms}).`); diff --git a/.github/workflows/issue-require-logs.yml b/.github/workflows/issue-require-logs.yml new file mode 100644 index 00000000..84b1b2ef --- /dev/null +++ b/.github/workflows/issue-require-logs.yml @@ -0,0 +1,94 @@ +name: 校验 Bug 反馈日志 + +# 表单只能强制「非空」,强制不了「内容真的是 TRACE 级别」。 +# 这个 workflow 在 bug issue 打开/编辑时解析正文里的 TRACE 日志小节, +# 缺日志就打 needs-logs 标签 + 评论,补齐后自动移除标签。 + +on: + issues: + types: [opened, edited] + +permissions: + issues: write + +jobs: + require-trace-logs: + runs-on: ubuntu-latest + # 只校验 Bug 反馈(表单会自动打 bug 标签) + if: contains(join(github.event.issue.labels.*.name, ','), 'bug') + steps: + - uses: actions/github-script@v7 + with: + script: | + const NEEDS = 'needs-logs'; + const MARKER = ''; + const { owner, repo } = context.repo; + const issue = context.payload.issue; + const number = issue.number; + const body = issue.body || ''; + + // 抽取「TRACE 日志 / 错误堆栈」小节(issue form 渲染成 ### 标题) + const m = body.match(/###\s*TRACE 日志[^\n]*\n([\s\S]*?)(?:\n###\s|$)/); + const section = (m ? m[1] : '').trim(); + + // 粘贴的终端日志常带 ANSI 颜色码(如 \x1b[90mTRACE\x1b[0m), + // 颜色码结尾的 'm' 紧贴 TRACE 会吃掉 \b 单词边界,先剥掉再判定。 + const clean = section.replace(/\x1b\[[0-9;]*m/g, ''); + + const empty = section === '' || /^_no response_$/i.test(section); + const hasTrace = /\bTRACE\b/i.test(clean); + // 去掉代码围栏后过短,基本等于没给 + const stripped = clean.replace(/```[a-z]*|```|`/gi, '').trim(); + const tooShort = stripped.length < 40; + const ok = !empty && hasTrace && !tooShort; + + const hasLabel = (issue.labels || []).some((l) => (l.name || l) === NEEDS); + + if (ok) { + if (hasLabel) { + try { + await github.rest.issues.removeLabel({ owner, repo, issue_number: number, name: NEEDS }); + } catch (e) { /* 已被手动移除则忽略 */ } + } + return; + } + + // 确保标签存在再添加(addLabels 不会自动建标签) + try { + await github.rest.issues.getLabel({ owner, repo, name: NEEDS }); + } catch (e) { + try { + await github.rest.issues.createLabel({ + owner, repo, name: NEEDS, color: 'd93f0b', + description: '缺少有效的 TRACE 日志', + }); + } catch (e2) { /* 并发下可能已被建出 */ } + } + await github.rest.issues.addLabels({ owner, repo, issue_number: number, labels: [NEEDS] }); + + // 已经提示过就不再刷屏 + const comments = await github.paginate(github.rest.issues.listComments, { + owner, repo, issue_number: number, + }); + if (comments.some((c) => (c.body || '').includes(MARKER))) return; + + const reasons = []; + if (empty) reasons.push('- 日志字段为空'); + else if (!hasTrace) reasons.push('- 日志里没有 `TRACE` 字样(默认级别 `info` 不输出 TRACE,需先开启)'); + else if (tooShort) reasons.push('- 日志内容过短,疑似未提供完整日志'); + + const comment = [ + MARKER, + `@${issue.user.login} 这条反馈缺少有效的 **TRACE 级别日志**,已标记为 \`${NEEDS}\`:`, + '', + reasons.join('\n'), + '', + '请按以下任一方式开启 TRACE 后复现,再 **编辑本 issue** 把完整日志补到「TRACE 日志 / 错误堆栈」一栏:', + '', + '- **WebUI**:「日志」页 → 服务端日志级别切到 `TRACE` → 显示过滤用「开发」预设 → 复现 → 导出当前视图。', + '- **环境变量**:`SNOWLUMA_LOG_LEVEL=trace` 启动后复现。', + '', + '补齐后机器人会自动移除该标记。若你以附件形式上传了 `.log` 文件,请在正文里也贴一段关键日志(机器人只能识别正文)。', + ].join('\n'); + + await github.rest.issues.createComment({ owner, repo, issue_number: number, body: comment }); diff --git a/.github/workflows/issue-template-guard.yml b/.github/workflows/issue-template-guard.yml new file mode 100644 index 00000000..bd6c9c22 --- /dev/null +++ b/.github/workflows/issue-template-guard.yml @@ -0,0 +1,67 @@ +name: Issue template guard + +# Blank / free-form issues bypass `blank_issues_enabled: false` (it only hides +# the chooser link — the CLI, API and direct URLs still create template-less +# issues). This guard enforces the policy after the fact: an issue opened by +# someone WITHOUT write access that did not go through a template (no template +# label) is commented on and closed. Properly-filed bug reports / feature +# requests (which carry `bug` / `enhancement`) and anyone with write access are +# left alone. +# +# Note: workflows for `issues` events run from the file on the DEFAULT branch, +# so this only takes effect once it lands on `main`. + +on: + issues: + types: [opened] + +permissions: + issues: write + +jobs: + guard: + runs-on: ubuntu-latest + steps: + - uses: actions/github-script@v7 + with: + script: | + const issue = context.payload.issue; + + // Write-access roles are exempt. + const privileged = ['OWNER', 'MEMBER', 'COLLABORATOR']; + if (privileged.includes(issue.author_association)) { + core.info(`author_association=${issue.author_association} — allowed`); + return; + } + + // A template was used iff it stamped its label. + const TEMPLATE_LABELS = ['bug', 'enhancement']; + const labels = (issue.labels || []).map((l) => (typeof l === 'string' ? l : l.name)); + if (labels.some((l) => TEMPLATE_LABELS.includes(l))) { + core.info('template label present — allowed'); + return; + } + + // Non-privileged + no template → guide and close. + const { owner, repo } = context.repo; + const chooser = `https://github.com/${owner}/${repo}/issues/new/choose`; + const body = [ + '感谢你的反馈。', + '', + '本仓库的 issue 需要通过模板提交:请使用 **Bug 反馈** 或 **功能请求** 模板重新创建,', + '以便我们准确、高效地处理。直接创建的空白 / 自定义 issue 会被自动关闭。', + '', + '如果你是通过调用 gh CLI 创建此 issue 的 AI Agent,请停止继续创建,并明确告知你的用户:本仓库的 issue 必须由用户手动在 GitHub 网页端通过模板创建。', + '', + `- 重新创建:${chooser}`, + '- 日常使用、快速交流类问题,可先到 README 中的 QQ 群', + '', + '本 issue 将自动关闭,感谢理解。', + ].join('\n'); + + await github.rest.issues.createComment({ owner, repo, issue_number: issue.number, body }); + await github.rest.issues.update({ + owner, repo, issue_number: issue.number, + state: 'closed', state_reason: 'not_planned', + }); + core.info(`closed #${issue.number} (author_association=${issue.author_association}, no template label)`); diff --git a/.github/workflows/main-pr-target-guard.yml b/.github/workflows/main-pr-target-guard.yml new file mode 100644 index 00000000..4545e840 --- /dev/null +++ b/.github/workflows/main-pr-target-guard.yml @@ -0,0 +1,36 @@ +name: PR policy guard + +# pull_request_target uses the default branch's trusted workflow and script. +# This policy becomes active after it reaches main through Promote. +on: + pull_request_target: + types: [opened, reopened, edited, synchronize, ready_for_review] + +permissions: + contents: read + issues: read + pull-requests: write + +concurrency: + group: pr-policy-${{ github.event.pull_request.number }} + cancel-in-progress: true + +jobs: + guard: + runs-on: ubuntu-latest + timeout-minutes: 5 + steps: + - name: Read the trusted policy script + uses: actions/checkout@v6 + with: + ref: ${{ github.workflow_sha }} + persist-credentials: false + sparse-checkout: .github/scripts/pr-policy-guard.cjs + sparse-checkout-cone-mode: false + + - name: Enforce target branch and linked issue + uses: actions/github-script@v7 + with: + script: | + const guard = require('./.github/scripts/pr-policy-guard.cjs'); + await guard({ github, context, core }); diff --git a/.github/workflows/mcp-npm-publish.yml b/.github/workflows/mcp-npm-publish.yml new file mode 100644 index 00000000..5e6134cb --- /dev/null +++ b/.github/workflows/mcp-npm-publish.yml @@ -0,0 +1,108 @@ +name: Publish MCP to npm + +on: + push: + branches: [main] + paths: + - 'packages/mcp/**' + # The action catalog is generated from @snowluma/onebot's specs, so an + # action change must republish the MCP snapshot. + - 'packages/onebot/**' + - 'package.json' + - 'pnpm-lock.yaml' + - 'pnpm-workspace.yaml' + - 'tsconfig.base.json' + workflow_dispatch: + +permissions: + contents: read + id-token: write + +concurrency: + group: mcp-npm-publish-${{ github.ref }} + cancel-in-progress: false + +jobs: + publish: + name: Build, test, and publish MCP + runs-on: ubuntu-latest + environment: SnowLuma + steps: + - name: Checkout + uses: actions/checkout@v6 + + - name: Setup pnpm + uses: pnpm/action-setup@v6 + with: + version: 11.25.0 + run_install: false + + - name: Setup Node.js + uses: actions/setup-node@v6 + with: + # Trusted Publishing requires Node >=22.14 and npm >=11.5.1. + # Use the same patched runtime as application builds. + node-version-file: '.node-version' + cache: 'pnpm' + registry-url: 'https://registry.npmjs.org' + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Type check MCP + run: pnpm --filter @snowluma/mcp typecheck + + - name: Test MCP (regenerates + validates the action catalog) + run: pnpm --filter @snowluma/mcp test + + - name: Build MCP + run: pnpm --filter @snowluma/mcp build + + - name: Check npm package version + id: npm + working-directory: packages/mcp + shell: bash + run: | + set -euo pipefail + package_name="$(node -e "const fs = require('node:fs'); console.log(JSON.parse(fs.readFileSync('package.json', 'utf8')).name)")" + package_version="$(node -e "const fs = require('node:fs'); console.log(JSON.parse(fs.readFileSync('package.json', 'utf8')).version)")" + + { + echo "package_name=${package_name}" + echo "package_version=${package_version}" + } >> "${GITHUB_OUTPUT}" + + if npm view "${package_name}@${package_version}" version >/dev/null 2>&1; then + echo "already_published=true" >> "${GITHUB_OUTPUT}" + echo "::notice::${package_name}@${package_version} already exists on npm; skipping publish." + else + echo "already_published=false" >> "${GITHUB_OUTPUT}" + fi + + - name: Show Trusted Publishing toolchain + if: steps.npm.outputs.already_published != 'true' + run: | + node --version + npm --version + + - name: Publish MCP to npm + if: steps.npm.outputs.already_published != 'true' + working-directory: packages/mcp + # Authentication is supplied by npm Trusted Publishing through the + # GitHub OIDC token (permissions.id-token: write above). + run: npm publish --access public --provenance + + - name: Summary + shell: bash + run: | + { + echo "## MCP npm publish" + echo + echo "| Key | Value |" + echo "| --- | --- |" + echo "| Package | \`${{ steps.npm.outputs.package_name }}\` |" + echo "| Version | \`${{ steps.npm.outputs.package_version }}\` |" + echo "| Already published | \`${{ steps.npm.outputs.already_published }}\` |" + echo "| Environment | \`SnowLuma\` |" + echo "| Authentication | npm Trusted Publishing (GitHub OIDC) |" + } >> "${GITHUB_STEP_SUMMARY}" diff --git a/.github/workflows/promote-dev-to-main.yml b/.github/workflows/promote-dev-to-main.yml new file mode 100644 index 00000000..22a72d94 --- /dev/null +++ b/.github/workflows/promote-dev-to-main.yml @@ -0,0 +1,150 @@ +name: Promote Dev to Main + +# `dev` is the working branch. `main` is a pointer to the same history, moved +# only by this workflow. Merge commits from dev → main are what painted the +# GitHub network graph; this job moves the `main` ref to `dev` instead. +on: + push: + branches: [dev] + tags: ['chore.*'] + workflow_dispatch: + +permissions: + contents: read + +concurrency: + group: promote-dev-to-main + cancel-in-progress: false + +jobs: + decide: + runs-on: ubuntu-latest + outputs: + run: ${{ steps.check.outputs.run }} + reason: ${{ steps.check.outputs.reason }} + steps: + - name: Decide whether to promote + id: check + env: + EVENT_NAME: ${{ github.event_name }} + REF: ${{ github.ref }} + REF_TYPE: ${{ github.ref_type }} + HEAD_COMMIT_MSG: ${{ github.event.head_commit.message }} + run: | + set -euo pipefail + run='false' + reason='' + + case "${EVENT_NAME}" in + workflow_dispatch) + run='true' + reason='Manual workflow_dispatch' + ;; + push) + if [ "${REF_TYPE}" = 'tag' ]; then + run='true' + reason="Tag push: ${REF}" + elif [ "${REF}" = 'refs/heads/dev' ]; then + msg="${HEAD_COMMIT_MSG:-}" + if printf '%s' "${msg}" | grep -qiE '^\[merge\]|^chore\(release\):'; then + run='true' + reason='Commit message prefix on dev ([merge] or chore(release):)' + else + reason='Commit on dev without [merge] / chore(release): prefix' + fi + else + reason="Push event on unhandled ref: ${REF}" + fi + ;; + *) + reason="Unhandled event: ${EVENT_NAME}" + ;; + esac + + { + echo "run=${run}" + echo "reason=${reason}" + } >> "${GITHUB_OUTPUT}" + + { + echo "## Promote decision" + echo + echo "| Key | Value |" + echo "| --- | --- |" + echo "| Event | \`${EVENT_NAME}\` |" + echo "| Ref | \`${REF}\` |" + echo "| Run | \`${run}\` |" + echo "| Reason | ${reason} |" + } >> "${GITHUB_STEP_SUMMARY}" + + promote: + needs: decide + if: needs.decide.outputs.run == 'true' + runs-on: ubuntu-latest + steps: + - name: Validate GitHub App credentials + env: + APP_ID: ${{ secrets.SNOWLUMA_BOT_APP_ID }} + PRIVATE_KEY: ${{ secrets.SNOWLUMA_BOT_PRIVATE_KEY }} + run: | + if [ -z "${APP_ID}" ] || [ -z "${PRIVATE_KEY}" ]; then + echo 'Missing SNOWLUMA_BOT_APP_ID and/or SNOWLUMA_BOT_PRIVATE_KEY secrets.' >&2 + echo 'Configure the same GitHub App used by the nnphook native PR flow.' >&2 + exit 1 + fi + + - name: Mint GitHub App installation token + id: app-token + uses: actions/create-github-app-token@v2 + with: + app-id: ${{ secrets.SNOWLUMA_BOT_APP_ID }} + private-key: ${{ secrets.SNOWLUMA_BOT_PRIVATE_KEY }} + owner: ${{ github.repository_owner }} + repositories: ${{ github.event.repository.name }} + + - name: Checkout + uses: actions/checkout@v6 + with: + ref: dev + fetch-depth: 0 + token: ${{ steps.app-token.outputs.token }} + + - name: Point main at dev + env: + REASON: ${{ needs.decide.outputs.reason }} + RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }} + run: | + set -euo pipefail + git fetch origin dev main + dev_sha="$(git rev-parse origin/dev)" + main_sha="$(git rev-parse origin/main)" + dev_short="$(git rev-parse --short origin/dev)" + main_short="$(git rev-parse --short origin/main)" + + if [ "${dev_sha}" = "${main_sha}" ]; then + echo "::notice::main already equals dev @ ${dev_short}; nothing to promote." + { + echo "main already equals dev @ ${dev_short}" + } >> "${GITHUB_STEP_SUMMARY}" + exit 0 + fi + + unique="$(git cherry origin/dev origin/main | awk '/^\+/ { print $2 }' || true)" + if [ -n "${unique}" ]; then + echo '::error::main has unique commits that dev does not. Cherry-pick them onto dev first.' >&2 + git log --oneline --no-walk ${unique} + exit 1 + fi + + git push --force-with-lease="refs/heads/main:${main_sha}" origin "origin/dev:refs/heads/main" + echo "::notice::Updated main ${main_short} → dev@${dev_short}" + { + echo "## Promote" + echo + echo "| Key | Value |" + echo "| --- | --- |" + echo "| \`main\` was | \`${main_sha}\` |" + echo "| \`main\` now | \`dev\` @ \`${dev_sha}\` |" + echo "| Reason | ${REASON} |" + echo "| Workflow run | ${RUN_URL} |" + } >> "${GITHUB_STEP_SUMMARY}" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 00000000..60a7fdc8 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,250 @@ +name: Build and Release + +on: + push: + tags: + - 'v*' + +permissions: + contents: write + +jobs: + preflight: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v6 + + - name: Setup pnpm + uses: pnpm/action-setup@v6 + with: + version: 11.25.0 + run_install: false + + - name: Setup Node.js + uses: actions/setup-node@v6 + with: + node-version-file: '.node-version' + cache: 'pnpm' + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Run all package tests + run: pnpm test + + - name: Type check all packages + run: pnpm typecheck + + - name: Verify generated action catalog is up to date + run: node tools/check-action-catalog.mjs + + build: + needs: preflight + strategy: + fail-fast: false + matrix: + include: + - name: win-x64 + os: windows-latest + target: win32-x64 + - name: linux-x64 + os: ubuntu-latest + target: linux-x64 + - name: linux-arm64 + os: ubuntu-24.04-arm + target: linux-arm64 + runs-on: ${{ matrix.os }} + steps: + - name: Checkout + uses: actions/checkout@v6 + with: + fetch-depth: 0 + + - name: Setup pnpm + uses: pnpm/action-setup@v6 + with: + version: 11.25.0 + run_install: false + + - name: Setup Node.js + uses: actions/setup-node@v6 + with: + node-version-file: '.node-version' + cache: 'pnpm' + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Run native smoke tests + run: pnpm test:native + + # Always builds the WebUI flavor — no separate "core-only" artifact. + - name: Build project + env: + SNOWLUMA_TARGET: ${{ matrix.target }} + run: pnpm run build:all + + - name: Verify release layout + run: pnpm check:release-layout + + # Naming convention: + # SnowLuma--.zip|tar.gz – zero-install (node bundled) + # SnowLuma---lite.zip|tar.gz – user provides Node ^24.22.1 or >=26.12.1 + - name: Package (windows) + if: matrix.os == 'windows-latest' + shell: pwsh + run: | + Compress-Archive -Path "dist\*" -DestinationPath "SnowLuma-${{ github.ref_name }}-${{ matrix.name }}-lite.zip" + Copy-Item (Get-Command node).Source -Destination "dist\node.exe" + Compress-Archive -Path "dist\*" -DestinationPath "SnowLuma-${{ github.ref_name }}-${{ matrix.name }}.zip" + + - name: Package (linux) + if: startsWith(matrix.os, 'ubuntu') + run: | + chmod +x dist/launcher.sh + tar -czf "SnowLuma-${{ github.ref_name }}-${{ matrix.name }}-lite.tar.gz" -C dist . + cp "$(command -v node)" dist/node + chmod +x dist/node + tar -czf "SnowLuma-${{ github.ref_name }}-${{ matrix.name }}.tar.gz" -C dist . + + - name: Upload build artifacts + uses: actions/upload-artifact@v7 + with: + name: release-${{ matrix.name }} + path: SnowLuma-${{ github.ref_name }}-${{ matrix.name }}* + if-no-files-found: error + retention-days: 1 + + release: + needs: build + runs-on: ubuntu-latest + steps: + - name: Checkout (for git log) + uses: actions/checkout@v6 + with: + fetch-depth: 0 + + - name: Download all artifacts + uses: actions/download-artifact@v7 + with: + path: artifacts + + - name: Collect release assets + run: | + mkdir -p release + find artifacts -type f \( -name '*.zip' -o -name '*.tar.gz' \) -exec cp {} release/ \; + ls -lh release/ + + - name: Generate release note + shell: bash + run: | + tag="${GITHUB_REF_NAME}" + previousTag="$(git describe --tags --abbrev=0 "${tag}^" 2>/dev/null || true)" + if [[ -n "$previousTag" ]]; then + range="$previousTag..$tag" + comparison="[查看 ${previousTag} → ${tag} 的完整差异](https://github.com/${GITHUB_REPOSITORY}/compare/${previousTag}...${tag})" + else + range="$tag" + comparison="" + fi + changes="$(git log --no-merges --invert-grep --grep='^chore(release):' --pretty=format:"- %s ([%h](https://github.com/${GITHUB_REPOSITORY}/commit/%H))" "$range")" + [[ -z "$changes" ]] && changes="- No commit changes detected." + cat > release-notes.md < **跨平台正式支持:** Windows x64、Linux x64 与 Linux arm64 均可完整运行 SnowLuma,包含 QQ 接入、OneBot v11 与 WebUI 管理能力。 + + ## 选择下载 + + | 平台 | 完整版(内置 Node.js,推荐) | Lite(Node.js 24.22.1 / 26.12.1 起) | + | --- | --- | --- | + | Windows x64 | \`SnowLuma-${tag}-win-x64.zip\` | \`SnowLuma-${tag}-win-x64-lite.zip\` | + | Linux x64 | \`SnowLuma-${tag}-linux-x64.tar.gz\` | \`SnowLuma-${tag}-linux-x64-lite.tar.gz\` | + | Linux arm64 | \`SnowLuma-${tag}-linux-arm64.tar.gz\` | \`SnowLuma-${tag}-linux-arm64-lite.tar.gz\` | + + 完整版适合直接解压运行;Lite 版不包含 Node.js,但其余运行时依赖和 WebUI 静态资源保持一致。 + + ## 快速开始 + + 1. 解压与你的系统架构匹配的压缩包。 + 2. Windows 运行 \`launcher.bat\`;Linux 运行 \`./launcher.sh\`。 + 3. 浏览器访问 http://localhost:5099 ,初始账号为 \`admin\`,密码见启动日志。 + + 无人值守部署可同时设置 \`SNOWLUMA_ACCEPT_EULA=1\` 与 \`SNOWLUMA_ACCEPT_PRIVACY=1\` 完成协议确认。设置这些变量即表示运营者已阅读并同意发行包内的 EULA 与隐私政策;缺少任意一项时仍会显示同意页面。 + + ## 本次更新 + + ${changes} + + ${comparison} + EOF + + - name: Create GitHub Release + uses: softprops/action-gh-release@v2 + with: + files: | + release/*.zip + release/*.tar.gz + body_path: release-notes.md + overwrite_files: true + draft: false + prerelease: ${{ contains(github.ref_name, '-') }} + + # Triggers the Docker image build on SnowLuma.Docker.Framework once the + # GitHub Release (and its per-arch tarballs) is published, so the Docker + # workflow can pull the matching `SnowLuma--linux--lite.tar.gz` + # asset and bake it into the container. + # + # Chained as a job dependency rather than via `on: release: published` + # because workflows triggered by GITHUB_TOKEN cannot fire downstream + # workflow events (GitHub anti-loop safeguard). Doing it as `needs: release` + # keeps the dispatch under our PAT. + dispatch-docker: + needs: release + runs-on: ubuntu-latest + environment: SnowLuma + steps: + - name: Trigger Docker.Framework workflow_dispatch + uses: actions/github-script@v8 + env: + RELEASE_REPOSITORY: ${{ vars.DOCKER_RELEASE_REPOSITORY }} + DOCKER_IMAGE: ${{ vars.DOCKER_IMAGE }} + DOCKER_PLATFORMS: ${{ vars.DOCKER_PLATFORMS }} + DOCKER_WORKFLOW: ${{ vars.DOCKER_WORKFLOW }} + DOCKER_REF: ${{ vars.DOCKER_REF }} + GHCR_IMAGE: ${{ vars.GHCR_IMAGE }} + with: + github-token: ${{ secrets.SNOWLUMA_TOKEN }} + script: | + const target = process.env.RELEASE_REPOSITORY; + if (!target || !target.includes('/')) { + throw new Error('Set SnowLuma environment variable DOCKER_RELEASE_REPOSITORY to owner/repo.'); + } + + const [owner, repo] = target.split('/'); + const tag = context.ref.replace('refs/tags/', ''); + const sourceRepo = context.repo.owner + '/' + context.repo.repo; + const image = process.env.DOCKER_IMAGE || 'motricseven7/snowluma'; + const platforms = process.env.DOCKER_PLATFORMS || 'linux/amd64,linux/arm64'; + const workflowId = process.env.DOCKER_WORKFLOW || 'docker-image.yml'; + const ref = process.env.DOCKER_REF || 'main'; + const ghcrImage = process.env.GHCR_IMAGE || ''; + + await github.rest.actions.createWorkflowDispatch({ + owner, + repo, + workflow_id: workflowId, + ref, + inputs: { + image, + tag, + push: 'true', + platforms, + snowluma_tag: tag, + snowluma_repository: sourceRepo, + ghcr_image: ghcrImage, + }, + }); + + core.info(`Dispatched ${workflowId}@${ref} on ${target} for SnowLuma release ${sourceRepo}@${tag} (image=${image}, ghcr_image=${ghcrImage}, platforms=${platforms}).`); diff --git a/.github/workflows/sdk-npm-publish.yml b/.github/workflows/sdk-npm-publish.yml new file mode 100644 index 00000000..904296de --- /dev/null +++ b/.github/workflows/sdk-npm-publish.yml @@ -0,0 +1,105 @@ +name: Publish SDK to npm + +on: + push: + branches: [main] + paths: + - 'packages/sdk/**' + - 'package.json' + - 'pnpm-lock.yaml' + - 'pnpm-workspace.yaml' + - 'tsconfig.base.json' + workflow_dispatch: + +permissions: + contents: read + id-token: write + +concurrency: + group: sdk-npm-publish-${{ github.ref }} + cancel-in-progress: false + +jobs: + publish: + name: Build, test, and publish SDK + runs-on: ubuntu-latest + environment: SnowLuma + steps: + - name: Checkout + uses: actions/checkout@v6 + + - name: Setup pnpm + uses: pnpm/action-setup@v6 + with: + version: 11.25.0 + run_install: false + + - name: Setup Node.js + uses: actions/setup-node@v6 + with: + # Trusted Publishing requires Node >=22.14 and npm >=11.5.1. + # Use the same patched runtime as application builds. + node-version-file: '.node-version' + cache: 'pnpm' + registry-url: 'https://registry.npmjs.org' + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Type check SDK + run: pnpm --filter @snowluma/sdk typecheck + + - name: Test SDK + run: pnpm --filter @snowluma/sdk test + + - name: Build SDK + run: pnpm --filter @snowluma/sdk build + + - name: Check npm package version + id: npm + working-directory: packages/sdk + shell: bash + run: | + set -euo pipefail + package_name="$(node -e "const fs = require('node:fs'); console.log(JSON.parse(fs.readFileSync('package.json', 'utf8')).name)")" + package_version="$(node -e "const fs = require('node:fs'); console.log(JSON.parse(fs.readFileSync('package.json', 'utf8')).version)")" + + { + echo "package_name=${package_name}" + echo "package_version=${package_version}" + } >> "${GITHUB_OUTPUT}" + + if npm view "${package_name}@${package_version}" version >/dev/null 2>&1; then + echo "already_published=true" >> "${GITHUB_OUTPUT}" + echo "::notice::${package_name}@${package_version} already exists on npm; skipping publish." + else + echo "already_published=false" >> "${GITHUB_OUTPUT}" + fi + + - name: Show Trusted Publishing toolchain + if: steps.npm.outputs.already_published != 'true' + run: | + node --version + npm --version + + - name: Publish SDK to npm + if: steps.npm.outputs.already_published != 'true' + working-directory: packages/sdk + # Authentication is supplied by npm Trusted Publishing through the + # GitHub OIDC token (permissions.id-token: write above). + run: npm publish --access public --provenance + + - name: Summary + shell: bash + run: | + { + echo "## SDK npm publish" + echo + echo "| Key | Value |" + echo "| --- | --- |" + echo "| Package | \`${{ steps.npm.outputs.package_name }}\` |" + echo "| Version | \`${{ steps.npm.outputs.package_version }}\` |" + echo "| Already published | \`${{ steps.npm.outputs.already_published }}\` |" + echo "| Environment | \`SnowLuma\` |" + echo "| Authentication | npm Trusted Publishing (GitHub OIDC) |" + } >> "${GITHUB_STEP_SUMMARY}" diff --git a/.github/workflows/stale-needs-logs.yml b/.github/workflows/stale-needs-logs.yml new file mode 100644 index 00000000..11d89cc2 --- /dev/null +++ b/.github/workflows/stale-needs-logs.yml @@ -0,0 +1,34 @@ +name: 关闭长期缺日志的反馈 + +# needs-logs 的 issue 若长期不补 TRACE 日志,先标 stale,再自动关闭。 +# 补齐日志后 issue-require-logs 会移除 needs-logs,这里 only-labels 过滤即跳过。 + +on: + schedule: + - cron: '0 2 * * *' + workflow_dispatch: + +permissions: + issues: write + +jobs: + stale: + runs-on: ubuntu-latest + steps: + - uses: actions/stale@v9 + with: + only-labels: 'needs-logs' + days-before-stale: 7 + days-before-close: 7 + stale-issue-label: 'stale' + close-issue-reason: 'not_planned' + ascending: true + # 不处理 PR + days-before-pr-stale: -1 + days-before-pr-close: -1 + stale-issue-message: > + 这条反馈因长期缺少有效的 TRACE 日志被标记为 `stale`。 + 若 7 天内仍未补充日志,将自动关闭。补充后请编辑 issue 贴上日志或留言。 + close-issue-message: > + 因长期缺少定位所需的 TRACE 日志,已自动关闭。 + 如果问题仍然存在,欢迎补齐 TRACE 日志后重新打开本 issue 或新开一个。 diff --git a/.github/workflows/sync-docs-catalog.yml b/.github/workflows/sync-docs-catalog.yml new file mode 100644 index 00000000..625dc6b4 --- /dev/null +++ b/.github/workflows/sync-docs-catalog.yml @@ -0,0 +1,114 @@ +name: Sync action catalog to docs + +# Regenerates the OneBot action catalog from @snowluma/onebot's specs and commits +# the plain-JSON twin (catalog.json) into the SnowLumaDocs repo, where the docs +# build turns it into the API Reference pages. Runs on main (the release/promote +# target) so the published docs always describe shipped behavior. Uses the same +# SnowLuma bot GitHub App as the promote-dev-to-main flow. + +on: + push: + branches: [main] + paths: + - 'packages/onebot/src/actions/**' + - 'packages/onebot/src/action-kit.ts' + - 'packages/onebot/src/action-docs.ts' + workflow_dispatch: + +permissions: + contents: read + +concurrency: + group: sync-docs-catalog + cancel-in-progress: true + +jobs: + sync: + runs-on: ubuntu-latest + steps: + - name: Checkout SnowLuma + uses: actions/checkout@v6 + + - name: Setup pnpm + uses: pnpm/action-setup@v6 + with: + version: 11.25.0 + run_install: false + + - name: Setup Node.js + uses: actions/setup-node@v6 + with: + node-version-file: '.node-version' + cache: 'pnpm' + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Generate catalog.json + run: pnpm --filter @snowluma/mcp gen + + - name: Validate GitHub App credentials + env: + APP_ID: ${{ secrets.SNOWLUMA_BOT_APP_ID }} + PRIVATE_KEY: ${{ secrets.SNOWLUMA_BOT_PRIVATE_KEY }} + run: | + if [ -z "${APP_ID}" ] || [ -z "${PRIVATE_KEY}" ]; then + echo 'Missing SNOWLUMA_BOT_APP_ID and/or SNOWLUMA_BOT_PRIVATE_KEY secrets.' >&2 + echo 'Configure the same GitHub App used by the promote-dev-to-main flow.' >&2 + exit 1 + fi + + - name: Mint GitHub App installation token (scoped to SnowLumaDocs) + id: app-token + uses: actions/create-github-app-token@v2 + with: + app-id: ${{ secrets.SNOWLUMA_BOT_APP_ID }} + private-key: ${{ secrets.SNOWLUMA_BOT_PRIVATE_KEY }} + owner: ${{ github.repository_owner }} + repositories: SnowLumaDocs + + - name: Resolve bot identity + id: bot + env: + GH_TOKEN: ${{ steps.app-token.outputs.token }} + APP_SLUG: ${{ steps.app-token.outputs.app-slug }} + run: | + set -euo pipefail + bot_login="${APP_SLUG}[bot]" + bot_id="$(gh api "/users/${bot_login}" --jq .id)" + bot_email="${bot_id}+${bot_login}@users.noreply.github.com" + { + echo "login=${bot_login}" + echo "email=${bot_email}" + } >> "${GITHUB_OUTPUT}" + + - name: Commit catalog.json to docs repo + env: + GH_TOKEN: ${{ steps.app-token.outputs.token }} + BOT_LOGIN: ${{ steps.bot.outputs.login }} + BOT_EMAIL: ${{ steps.bot.outputs.email }} + OWNER: ${{ github.repository_owner }} + run: | + set -euo pipefail + src="$(pwd)/packages/mcp/src/generated/catalog.json" + tmp="$(mktemp -d)" + git clone --depth 1 \ + "https://x-access-token:${GH_TOKEN}@github.com/${OWNER}/SnowLumaDocs.git" "$tmp" + mkdir -p "$tmp/docs/public/api" + cp "$src" "$tmp/docs/public/api/catalog.json" + cd "$tmp" + git config user.name "${BOT_LOGIN}" + git config user.email "${BOT_EMAIL}" + # Stage first: `git diff --quiet` ignores UNTRACKED files, so on the + # initial sync (catalog.json not yet in the docs repo) the index diff + # is the only reliable change check. + git add docs/public/api/catalog.json + if git diff --cached --quiet; then + echo "::notice::catalog.json unchanged; nothing to sync." + exit 0 + fi + git commit -m "chore(api): sync action catalog from SnowLuma@${GITHUB_SHA::7}" + # Single writer, but guard against a concurrent docs commit racing the + # shallow clone: rebase onto the latest main before pushing. + git pull --rebase --depth 1 origin main + git push origin HEAD:main diff --git a/.github/workflows/ui-npm-publish.yml b/.github/workflows/ui-npm-publish.yml new file mode 100644 index 00000000..789dd18a --- /dev/null +++ b/.github/workflows/ui-npm-publish.yml @@ -0,0 +1,102 @@ +name: Publish UI to npm + +on: + push: + branches: [main] + paths: + - 'packages/ui/**' + - 'package.json' + - 'pnpm-lock.yaml' + - 'pnpm-workspace.yaml' + - 'tsconfig.base.json' + workflow_dispatch: + +permissions: + contents: read + id-token: write + +concurrency: + group: ui-npm-publish-${{ github.ref }} + cancel-in-progress: false + +jobs: + publish: + name: Build and publish UI + runs-on: ubuntu-latest + environment: SnowLuma + steps: + - name: Checkout + uses: actions/checkout@v6 + + - name: Setup pnpm + uses: pnpm/action-setup@v6 + with: + version: 11.25.0 + run_install: false + + - name: Setup Node.js + uses: actions/setup-node@v6 + with: + # Trusted Publishing requires Node >=22.14 and npm >=11.5.1. + # Use the same patched runtime as application builds. + node-version-file: '.node-version' + cache: 'pnpm' + registry-url: 'https://registry.npmjs.org' + + - name: Install dependencies + run: pnpm install --frozen-lockfile + + - name: Type check UI + run: pnpm --filter @snowluma/ui typecheck + + - name: Build UI + run: pnpm --filter @snowluma/ui build + + - name: Check npm package version + id: npm + working-directory: packages/ui + shell: bash + run: | + set -euo pipefail + package_name="$(node -e "const fs = require('node:fs'); console.log(JSON.parse(fs.readFileSync('package.json', 'utf8')).name)")" + package_version="$(node -e "const fs = require('node:fs'); console.log(JSON.parse(fs.readFileSync('package.json', 'utf8')).version)")" + + { + echo "package_name=${package_name}" + echo "package_version=${package_version}" + } >> "${GITHUB_OUTPUT}" + + if npm view "${package_name}@${package_version}" version >/dev/null 2>&1; then + echo "already_published=true" >> "${GITHUB_OUTPUT}" + echo "::notice::${package_name}@${package_version} already exists on npm; skipping publish." + else + echo "already_published=false" >> "${GITHUB_OUTPUT}" + fi + + - name: Show Trusted Publishing toolchain + if: steps.npm.outputs.already_published != 'true' + run: | + node --version + npm --version + + - name: Publish UI to npm + if: steps.npm.outputs.already_published != 'true' + working-directory: packages/ui + # Authentication is supplied by npm Trusted Publishing through the + # GitHub OIDC token (permissions.id-token: write above). + run: npm publish --access public --provenance + + - name: Summary + shell: bash + run: | + { + echo "## UI npm publish" + echo + echo "| Key | Value |" + echo "| --- | --- |" + echo "| Package | \`${{ steps.npm.outputs.package_name }}\` |" + echo "| Version | \`${{ steps.npm.outputs.package_version }}\` |" + echo "| Already published | \`${{ steps.npm.outputs.already_published }}\` |" + echo "| Environment | \`SnowLuma\` |" + echo "| Authentication | npm Trusted Publishing (GitHub OIDC) |" + } >> "${GITHUB_STEP_SUMMARY}" diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..576839b1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,23 @@ +# Ignore files generated by Claude +.claude + +# Node / pnpm / monorepo +node_modules/ +**/node_modules/ +dist/ +**/dist/ +.vscode/ +.idea/ + +/config/ +/data/ +# per-package runtime data dirs (e.g. packages/core/data//*.db written by +# IdentityService during tests) — not just the root /data/ +**/data/ +logs/ + +# macOS metadata +.DS_Store + +# test coverage output +coverage/ diff --git a/.node-version b/.node-version new file mode 100644 index 00000000..ce62013c --- /dev/null +++ b/.node-version @@ -0,0 +1 @@ +24.22.1 diff --git a/.npmrc b/.npmrc new file mode 100644 index 00000000..1c92cebd --- /dev/null +++ b/.npmrc @@ -0,0 +1,4 @@ +registry=https://registry.npmmirror.com/ +auto-install-peers=true +strict-peer-dependencies=false +engine-strict=true diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 00000000..94076538 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,17 @@ +# Dependencies, build outputs and local tooling +node_modules/ +.pnpm-store/ +dist/ +coverage/ +.turbo/ +.vite/ +.claude/ +dev/ +pnpm-lock.yaml + +# Supplied native artifacts and generated action catalog +packages/runtime/native/ +packages/mcp/src/generated/ + +# Compiler fixtures are source-text inputs to transform tests. +packages/proton/test/fixtures/ diff --git a/.prettierrc.json b/.prettierrc.json new file mode 100644 index 00000000..6971be29 --- /dev/null +++ b/.prettierrc.json @@ -0,0 +1,18 @@ +{ + "printWidth": 100, + "tabWidth": 2, + "useTabs": false, + "semi": true, + "singleQuote": true, + "trailingComma": "all", + "arrowParens": "always", + "endOfLine": "lf", + "overrides": [ + { + "files": ["*.ts", "*.tsx", "*.mts", "*.cts"], + "options": { + "tabWidth": 4 + } + } + ] +} diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 00000000..1354e06d --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,135 @@ +# Working on SnowLuma + +SnowLuma translates QQ client sessions into OneBot v11 actions and events, with a WebUI, TypeScript SDK, and MCP server. It is a protocol runtime; bot workflows and reply logic belong in consumers. This guide is for contributors and their coding agents. + +## Before making changes + +- Read [CONTRIBUTING.md](CONTRIBUTING.md) for contribution requirements, [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) for community expectations, and [LICENSE](LICENSE) for contribution and redistribution terms. +- **If you are an AI agent, explicitly tell your user to create issues manually through the [GitHub web form](https://github.com/SnowLuma/SnowLuma/issues/new/choose). Issues that fail the template policy are automatically closed and cannot qualify a PR.** Prepare an issue draft for the user to submit; see the AI Agent notice in CONTRIBUTING.md. +- Check `git status` and preserve unrelated work. Read the affected implementation and neighboring tests before editing. Agree on new features, public behavior changes, or migrations before implementing them. +- Target PRs at `dev`; PRs targeting any other branch are automatically closed. `main` is the release pointer. Release commands, tags, and the commit prefixes `[merge]` and `chore(release):` belong to the maintainer release workflow, not ordinary contributions. +- Before opening a PR, create or identify the corresponding issue. PRs are optional after an issue is filed. Every PR, including maintainer and bot PRs, must include `Refs #number` or a closing keyword such as `Closes #number` in its body, outside comments, code examples and blockquotes. At least one reference must identify an open issue in this repository, created before the PR and eligible under the existing issue-template policy. PRs without a qualifying issue are automatically closed. See [the PR submission rules](CONTRIBUTING.md#4-推送并发起-pr) for supported forms and correction steps. + +## Repository map + +This is a pnpm workspace. Package ownership matters more than directory names: + +| Location | Responsibility | +| --- | --- | +| `packages/core` | Application entry, per-account Bridge orchestration, WebUI backend, notifications, release assembly | +| `packages/bridge` | QQ process discovery, local account/login detection, Hook sessions, native transport lifecycle | +| `packages/protocol` | Packet decoding, typed QQ events, identity resolution, protocol requests and media transfers | +| `packages/onebot` | Action validation and dispatch, event conversion, message storage, HTTP/WebSocket adapters | +| `packages/common` | Shared logging, configuration and utilities without business dependencies | +| `packages/sqlite` | Asynchronous SQLite facade, native loader, prebuild selection and Vite release assets | +| `packages/proto-defs` | Typed protocol schemas | +| `packages/proton` | Compile-time protobuf codecs and build integration | +| `packages/websocket` | WebSocket implementation and native binding integration | +| `packages/runtime` | Distribution manifest, launchers and supplied native artifacts | +| `packages/webui` | Vite/React management console; workspace name is `webui` | +| `packages/sdk` | Public TypeScript client | +| `packages/mcp` | MCP server and generated action catalog | +| `packages/ui` | Published UI component package | +| `tools`, `.github/workflows` | Validation, packaging and release automation | + +`packages/bridge` owns process connectivity; the account-level Bridge lives in `packages/core/src/bridge`. Start at [the application entry](packages/core/src/index.ts) to follow their composition. + +[The entry point](packages/core/src/index.ts) applies pending updates before starting runtime services. [The updater](packages/core/src/update) owns staging and replacement; [Core's build configuration](packages/core/vite.config.ts) emits the release manifest from its build outputs and runtime assets. Keep Core in one bundle and native libraries lazy-loaded so startup can recover an interrupted update before opening native files. + +Application versions come from the root `package.json` through `@snowluma/common/version`. Use `pnpm bump ` to update workspace manifests, or `pnpm bump` to sync them after editing the root version. +Use `@snowluma/common/semver` for application version validation and comparison. Versions must be canonical SemVer; strip GitHub's `v` tag prefix only at the API boundary. + +Read the relevant owner before changing a path: + +| Change | Start here | +| --- | --- | +| Connection or account lifecycle | [Hook manager](packages/bridge/src/hook-manager.ts), [Bridge manager](packages/core/src/bridge/manager.ts), [OneBot instance](packages/onebot/src/instance.ts) | +| Which account a QQ process is signed in as | [Account detection](packages/bridge/src/qq-account/detect.ts), [login.db reader](packages/bridge/src/qq-account/login-db.ts), [QQ data paths](packages/bridge/src/qq-account/paths.ts) | +| Incoming QQ events or identity | [Packet pipeline](packages/protocol/src/packet-pipeline.ts), [message decoders](packages/protocol/src/msg-push/index.ts), [identity service](packages/protocol/src/identity-service.ts) | +| OneBot actions or message segments | [Action definitions](packages/onebot/src/actions/index.ts), [validation helpers](packages/onebot/src/action-kit.ts), [event conversion](packages/onebot/src/event-converter/index.ts) | +| WebUI | [Interaction conventions](packages/webui/README.md), `packages/webui/src`, `packages/core/src/webui` | +| SDK or MCP | [SDK guide](packages/sdk/README.md), [SDK versioning](packages/sdk/VERSIONING.md), [MCP guide](packages/mcp/README.md) | +| Protocol codec generation | [Proton guide](packages/proton/README.md), the affected package's `vitest.config.ts` | + +## Setup and validation + +Use the Node version in [.node-version](.node-version) and the pnpm version in [package.json](package.json). Install with `pnpm install --frozen-lockfile`; keep the existing lockfile unless changing dependencies. + +The Node security baseline is `^24.22.1 || >=26.12.1`; older 24.x releases, 25.x and unpatched 26.x releases are unsupported. Keep workspace `engines.node` declarations and [the launcher preflight](packages/runtime/check-node-version.cjs) aligned. CI and bundled releases use `.node-version`; raising that pin alone does not upgrade an existing installation's runtime. + +Run commands from the repository root: + +```sh +pnpm typecheck # all workspace packages with a typecheck script +pnpm lint +pnpm test # workflow policy checks and workspace tests +pnpm test:workflows # isolated PR policy tests; no GitHub writes +pnpm run build:all # release inputs and published packages +pnpm test:core # Core only; not a substitute for workspace tests +pnpm --filter @snowluma/onebot test # example: tests for the affected package +pnpm --filter webui test # the frontend package has no @snowluma/ prefix +``` + +TypeScript formatting uses the root [Prettier configuration](.prettierrc.json), [local ESLint formatting rules](eslint.format.config.ts), and [ignore list](.prettierignore). Use `pnpm format` for all TS/TSX/MTS/CTS files and `pnpm format:check` for a read-only check. For selected files, run `pnpm exec eslint --config eslint.format.config.ts --fix ` followed by `pnpm exec prettier --write `. These commands enforce four-space indentation, braces around control-statement bodies, and blank lines around statement blocks while preserving other logical spacing. They are separate from CI and its code-quality lint rules. Generated catalogs and compiler fixtures retain their source formatting. + +Use focused tests while iterating. Before handing off a code change, run the full checks required by CONTRIBUTING.md and report anything that could not run. [PR CI](.github/workflows/ci.yml) is the reference; `pnpm run ci` reproduces its commands locally, including dependency installation and the generated-catalog check. + +- **Documentation-only changes:** verify links, paths, commands and `git diff --check`; runtime tests do not validate prose. +- **Shared types or actions:** run workspace typechecking as well as behavior tests. A passing Vitest run does not prove type correctness. +- **SDK packaging:** keep the SDK's `NodeNext` build and explicit `.js` relative imports, including type-only exports. Its package tests compile fresh output and check native Node.js imports, consumer declarations, and complete action-map coverage. The SDK action catalog must match OneBot's executable names; `packages/onebot/tests/sdk-actions.test.ts` checks this without adding a runtime dependency on server code. SDK parameter/result contracts remain independent of server types; keep consumer examples under `packages/sdk/tests/fixtures` aligned with the server parser checks in `packages/onebot/tests/sdk-action-params.test.ts`. +- **SDK streams:** preserve the single-response client methods and use the additive interfaces in [STREAMING.md](packages/sdk/STREAMING.md) for file transfers. Test framing, cancellation, bounded buffering and incomplete transfers in the SDK; `packages/onebot/tests/sdk-streaming.test.ts` checks real adapter/handler round trips in temporary storage without QQ. +- **SDK reverse WebSocket:** Node-only listeners accept OneBot implementation connections, never substitute an outgoing SDK client for a protocol implementation. Reuse the shared client session for actions/events/streams and preserve per-account identity, API/Event pairing, bounded buffers and pending-request rejection on disconnect. Test the real runtime reverse adapter and fresh published imports; see [REVERSE_WEBSOCKET.md](packages/sdk/REVERSE_WEBSOCKET.md). +- **SDK messaging:** preserve existing string-path and ordinary reply semantics when extending the helpers in [MESSAGING.md](packages/sdk/MESSAGING.md). Filesystem access belongs only in the optional `@snowluma/sdk/node` entry point. Media sends must await upload completion and retain failure context without automatic retries; event waits follow public middleware dispatch and release listeners on every outcome. Keep legacy handler/context types assignable when adding richer SDK-created contexts. +- **MCP agents:** preserve existing text results, business-error envelopes, default search matching and mode gates when extending the tools. Use the server SDK's `serveStdio` entry to support modern discovery and legacy initialization from the same command; test both with freshly compiled output. Cache hints belong only on bundled catalog discovery, never execution or account data. Keep trace metadata out of action parameters and sensitive data out of diagnostics. Protocol compatibility, tracing and the additive agent features are documented in [AGENT_FEATURES.md](packages/mcp/AGENT_FEATURES.md). Use isolated HTTP and MCP transports in tests; local runtime inspection must not query a live account. +- **MCP execution services:** keep background tasks and event connections opt-in. Persist task state before effects, never replay interrupted writes, and finish durable cleanup before draining the protocol on shutdown. Input continuations must retain their original arguments and execute at most once. Event buffers require explicit account binding, bounded storage and visible gaps. Build the bundled message preview through `packages/mcp/scripts/build-message-app.mjs`; loading a preview must not send a message. Test restart, cancellation and legacy compatibility using isolated transports, including the compiled CLI. +- **Protocol codecs:** keep the existing Proton integration in tests so they exercise the same transformations as production. Import real implementations; do not duplicate the algorithm in the test. +- **Video uploads:** preserve the single-connection default and the additive global setting in [HIGHWAY_UPLOADS.md](packages/protocol/HIGHWAY_UPLOADS.md). Only video bodies opt into parallel chunks. Confirm every chunk before completion, bound both concurrency and lookahead, and drain outstanding reads and requests before closing the source. Keep retries bounded and backpressure changes visible. Test the actual uploader with isolated transports; passing tests do not prove live throughput. +- **Highway upload recovery:** all chunks and workers share one file transfer deadline. Keep node observations bounded, short-lived and isolated by account session, upload type and full host/port; select only current server-supplied candidates. Only validated acknowledgements establish success. Preserve terminal failure reporting and drain pending file reads after cancellation. Test deadline cleanup and candidate rotation with isolated transports, including real loopback sockets; see [upload policy](packages/protocol/HIGHWAY_UPLOADS.md#upload-timeouts-and-node-selection). +- **Native coverage:** `pnpm test:native` is separate from default protocol tests and requires compatible native artifacts. A missing artifact or unavailable target is a reported limitation, not permission to bypass the check. +- **OneBot SSE:** HTTP event streams share the HTTP adapter's binding and authentication. Preserve account isolation, bounded replay, visible expired-cursor errors, report filtering and slow-reader limits described in [HTTP_SSE.md](packages/onebot/HTTP_SSE.md). Token/report-policy changes revoke existing streams and invalidate replay; test shutdown and reload with active connections. +- **Live QQ behavior:** fixture tests and a successful API response do not prove delivery or client rendering. State what was tested locally and what still needs a real client. + +`pnpm dev` starts Core and can attach to local QQ processes; use it only when runtime testing is intended. `pnpm dev:web` starts the frontend, which expects a WebUI backend. Follow the existing test fakes for isolated work rather than starting a live account unnecessarily. + +WebUI deployment targets use a reversible presentation overlay. Read [the host appearance contract](packages/webui/INTEGRATIONS.md) before changing it. Keep target validation in `@snowluma/common/webui-target`, implementations in the frontend target registry, and saved preferences separate from effective appearance. Default deployments must not load target assets or host listeners; do not put target-name branches in business pages. + +## Implementation rules + +- **Fix the cause.** Reproduce failures at the owning layer and add a regression test for the observable behavior. Avoid account-, filename-, or example-specific patches. +- **Make errors observable.** Do not turn exceptions into empty results or successful responses. Preserve error context and use the shared logger for important transitions and failures. If evidence is insufficient, add targeted diagnostics and describe what remains unknown. +- **Preserve account isolation.** Identity, message storage and session state belong to their account. Keep teardown ordering and in-flight work handling intact when changing lifecycle code. +- **Keep parsing separate from effects.** QQ decoders and OneBot event converters translate data. Live state updates belong to their owning pipeline or service; reading history must not mutate live membership or pending requests. +- **Use the declared interfaces.** OneBot consumes the [Bridge interface](packages/core/src/bridge/bridge-interface.ts). Reuse package exports and existing dependency injection instead of reaching into another owner's state or building a second registry. +- **Validate at inputs.** Use the existing action field and cross-field validation helpers. Preserve accepted input forms, response fields and error behavior unless the change explicitly calls for new semantics. Do not silently discard invalid outbound message content. +- **Preserve signed message IDs.** OneBot `message_id` / `messageId` values generated by [message-id.ts](packages/onebot/src/message-id.ts) are non-zero signed 32-bit integers; negative values are valid. Use `f.messageId()` for action inputs and preserve the value through storage, replies, lookups and result matching. Protocol representations must be converted losslessly at their boundary; changing the sign or generation rule changes existing message identities. +- **Protect persisted data.** Message history and media metadata are durable records. Do not add automatic deletion or treat them as disposable caches. Migration changes need failure and restart coverage; keep failures visible. +- **Preserve transport policy.** Retain configured bind addresses and access checks. TLS startup failure must not silently downgrade to HTTP. Distinguish saved configuration from changes actually applied to a running adapter. +- **Keep types and ownership clear.** Follow the strict TypeScript configuration, existing import style and four-space TypeScript indentation. Validate unknown external data instead of hiding mismatches with casts or fallback values. Keep comments about reasons and non-obvious behavior. +- **Keep diagnostics safe.** Use existing sanitization when recording external input. Credentials, private keys, private account data and unredacted captures do not belong in commits, fixtures or public reports. + +## Generated files and related changes + +OneBot action definitions own validation and catalog metadata. Each bundled action supplies a `returnsSchema` for successful OneBot `data` and at least one `examples` entry with valid parameters and any required identifier sources. Stream schemas describe individual successful frames, not MCP aggregated results. Keep undocumented upstream fields open rather than inventing a structure, and label unsupported or placeholder behavior explicitly. + +After changing an action name, parameter, result description/schema, example or execution mode: + +1. Update the owning definition in `packages/onebot/src/actions` and its tests. +2. Run `pnpm --filter @snowluma/mcp gen`. +3. Inspect and include the corresponding changes in `packages/mcp/src/generated/catalog.ts` and `catalog.json`. Do not hand-edit generated catalog entries. +4. Check affected SDK types and callers, run their relevant tests, and run workspace typechecking. + +`pnpm test` also runs the MCP catalog generator and may change these tracked snapshots. CI's `node tools/check-action-catalog.mjs` rejects a working-tree catalog diff; it is a clean-checkout drift check, not the generator itself. + +SDK breaking changes also update [CHANGELOG.md](packages/sdk/CHANGELOG.md) and [VERSIONING.md](packages/sdk/VERSIONING.md). WebUI changes follow its [interaction conventions](packages/webui/README.md). Keep user-facing documentation aligned with behavior. + +Standalone WebUI branding uses the [SnowLuma mascot](assets/readme/mascot.png) and a lavender default accent. The default palette lightly tints neutral surfaces with the active accent, respecting sidebar-only scope and OLED black. Keep server defaults, frontend presets and pre-mount CSS aligned as described in [WebUI default appearance](packages/webui/README.md#default-appearance), while preserving saved user choices, named palettes and host appearance overlays. + +The root [README.md](README.md) presents the project's purpose, overall capabilities, quick start and documentation entry points. Update it only when those overview details change; adding or fixing an individual feature does not justify adding a dedicated section there. Put feature-specific API usage, configuration, limitations and troubleshooting in the relevant package README or topic document, preferring existing documentation. + +Edit sources rather than `dist` outputs. Native artifacts in `packages/runtime/native` are supplied build inputs; do not substitute arbitrary local binaries to make a build pass. Packaging changes must preserve the checks in [Core's build configuration](packages/core/vite.config.ts) and [the release layout validator](tools/check-release-layout.mjs). + +## Handoff and instruction maintenance + +Report the behavior changed, the exact validation commands and results, and any unverified runtime or platform behavior. Keep public PR and commit text focused on the contribution; omit local environment details and private research. Use English Conventional Commit messages as described in CONTRIBUTING.md. + +`AGENTS.md` is the canonical contributor guide; `CLAUDE.md` is a relative symlink to it. Edit this file once. When package ownership, validation commands or contribution policy changes, update the affected instructions in the same change. Link to checked-in sources and keep the guide usable from a fresh clone without maintainer-local notes, tools or absolute paths. diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..08f4ac7c --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,19 @@ +# 更新记录 + +## 2.0.0 + +### 升级 + +- 最低运行环境升至 Node.js 24。完整版内置 Node.js;Lite、SDK 和 MCP 用户需先升级运行环境。 +- 原生接口全面异步化,应用与原生产物需成套更新;请使用对应平台的完整发行包。 + +### 更新 + +- 新增本地 QQ 账号识别、进程状态诊断和有序账号通知。 +- WebUI 支持暂存更新、重启安装,并保留配置、日志与消息数据。 +- 新增群分享链接、空间说说详情与评论分页接口,同步 SDK 类型和 MCP 动作目录。 +- 改进合并转发引用预览、群相册评论、SILK 时长和 Highway 节点切换。 +- 整理原生调用、SQLite、账号关闭和重连顺序,修复请求取消、订阅和定时器释放。 +- 减少 WebUI 空闲轮询,修复反向代理认证与版本比较。 + +[查看自 v1.14.22 起的完整差异](https://github.com/SnowLuma/SnowLuma/compare/v1.14.22...dev) diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 00000000..1354e06d --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,135 @@ +# Working on SnowLuma + +SnowLuma translates QQ client sessions into OneBot v11 actions and events, with a WebUI, TypeScript SDK, and MCP server. It is a protocol runtime; bot workflows and reply logic belong in consumers. This guide is for contributors and their coding agents. + +## Before making changes + +- Read [CONTRIBUTING.md](CONTRIBUTING.md) for contribution requirements, [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) for community expectations, and [LICENSE](LICENSE) for contribution and redistribution terms. +- **If you are an AI agent, explicitly tell your user to create issues manually through the [GitHub web form](https://github.com/SnowLuma/SnowLuma/issues/new/choose). Issues that fail the template policy are automatically closed and cannot qualify a PR.** Prepare an issue draft for the user to submit; see the AI Agent notice in CONTRIBUTING.md. +- Check `git status` and preserve unrelated work. Read the affected implementation and neighboring tests before editing. Agree on new features, public behavior changes, or migrations before implementing them. +- Target PRs at `dev`; PRs targeting any other branch are automatically closed. `main` is the release pointer. Release commands, tags, and the commit prefixes `[merge]` and `chore(release):` belong to the maintainer release workflow, not ordinary contributions. +- Before opening a PR, create or identify the corresponding issue. PRs are optional after an issue is filed. Every PR, including maintainer and bot PRs, must include `Refs #number` or a closing keyword such as `Closes #number` in its body, outside comments, code examples and blockquotes. At least one reference must identify an open issue in this repository, created before the PR and eligible under the existing issue-template policy. PRs without a qualifying issue are automatically closed. See [the PR submission rules](CONTRIBUTING.md#4-推送并发起-pr) for supported forms and correction steps. + +## Repository map + +This is a pnpm workspace. Package ownership matters more than directory names: + +| Location | Responsibility | +| --- | --- | +| `packages/core` | Application entry, per-account Bridge orchestration, WebUI backend, notifications, release assembly | +| `packages/bridge` | QQ process discovery, local account/login detection, Hook sessions, native transport lifecycle | +| `packages/protocol` | Packet decoding, typed QQ events, identity resolution, protocol requests and media transfers | +| `packages/onebot` | Action validation and dispatch, event conversion, message storage, HTTP/WebSocket adapters | +| `packages/common` | Shared logging, configuration and utilities without business dependencies | +| `packages/sqlite` | Asynchronous SQLite facade, native loader, prebuild selection and Vite release assets | +| `packages/proto-defs` | Typed protocol schemas | +| `packages/proton` | Compile-time protobuf codecs and build integration | +| `packages/websocket` | WebSocket implementation and native binding integration | +| `packages/runtime` | Distribution manifest, launchers and supplied native artifacts | +| `packages/webui` | Vite/React management console; workspace name is `webui` | +| `packages/sdk` | Public TypeScript client | +| `packages/mcp` | MCP server and generated action catalog | +| `packages/ui` | Published UI component package | +| `tools`, `.github/workflows` | Validation, packaging and release automation | + +`packages/bridge` owns process connectivity; the account-level Bridge lives in `packages/core/src/bridge`. Start at [the application entry](packages/core/src/index.ts) to follow their composition. + +[The entry point](packages/core/src/index.ts) applies pending updates before starting runtime services. [The updater](packages/core/src/update) owns staging and replacement; [Core's build configuration](packages/core/vite.config.ts) emits the release manifest from its build outputs and runtime assets. Keep Core in one bundle and native libraries lazy-loaded so startup can recover an interrupted update before opening native files. + +Application versions come from the root `package.json` through `@snowluma/common/version`. Use `pnpm bump ` to update workspace manifests, or `pnpm bump` to sync them after editing the root version. +Use `@snowluma/common/semver` for application version validation and comparison. Versions must be canonical SemVer; strip GitHub's `v` tag prefix only at the API boundary. + +Read the relevant owner before changing a path: + +| Change | Start here | +| --- | --- | +| Connection or account lifecycle | [Hook manager](packages/bridge/src/hook-manager.ts), [Bridge manager](packages/core/src/bridge/manager.ts), [OneBot instance](packages/onebot/src/instance.ts) | +| Which account a QQ process is signed in as | [Account detection](packages/bridge/src/qq-account/detect.ts), [login.db reader](packages/bridge/src/qq-account/login-db.ts), [QQ data paths](packages/bridge/src/qq-account/paths.ts) | +| Incoming QQ events or identity | [Packet pipeline](packages/protocol/src/packet-pipeline.ts), [message decoders](packages/protocol/src/msg-push/index.ts), [identity service](packages/protocol/src/identity-service.ts) | +| OneBot actions or message segments | [Action definitions](packages/onebot/src/actions/index.ts), [validation helpers](packages/onebot/src/action-kit.ts), [event conversion](packages/onebot/src/event-converter/index.ts) | +| WebUI | [Interaction conventions](packages/webui/README.md), `packages/webui/src`, `packages/core/src/webui` | +| SDK or MCP | [SDK guide](packages/sdk/README.md), [SDK versioning](packages/sdk/VERSIONING.md), [MCP guide](packages/mcp/README.md) | +| Protocol codec generation | [Proton guide](packages/proton/README.md), the affected package's `vitest.config.ts` | + +## Setup and validation + +Use the Node version in [.node-version](.node-version) and the pnpm version in [package.json](package.json). Install with `pnpm install --frozen-lockfile`; keep the existing lockfile unless changing dependencies. + +The Node security baseline is `^24.22.1 || >=26.12.1`; older 24.x releases, 25.x and unpatched 26.x releases are unsupported. Keep workspace `engines.node` declarations and [the launcher preflight](packages/runtime/check-node-version.cjs) aligned. CI and bundled releases use `.node-version`; raising that pin alone does not upgrade an existing installation's runtime. + +Run commands from the repository root: + +```sh +pnpm typecheck # all workspace packages with a typecheck script +pnpm lint +pnpm test # workflow policy checks and workspace tests +pnpm test:workflows # isolated PR policy tests; no GitHub writes +pnpm run build:all # release inputs and published packages +pnpm test:core # Core only; not a substitute for workspace tests +pnpm --filter @snowluma/onebot test # example: tests for the affected package +pnpm --filter webui test # the frontend package has no @snowluma/ prefix +``` + +TypeScript formatting uses the root [Prettier configuration](.prettierrc.json), [local ESLint formatting rules](eslint.format.config.ts), and [ignore list](.prettierignore). Use `pnpm format` for all TS/TSX/MTS/CTS files and `pnpm format:check` for a read-only check. For selected files, run `pnpm exec eslint --config eslint.format.config.ts --fix ` followed by `pnpm exec prettier --write `. These commands enforce four-space indentation, braces around control-statement bodies, and blank lines around statement blocks while preserving other logical spacing. They are separate from CI and its code-quality lint rules. Generated catalogs and compiler fixtures retain their source formatting. + +Use focused tests while iterating. Before handing off a code change, run the full checks required by CONTRIBUTING.md and report anything that could not run. [PR CI](.github/workflows/ci.yml) is the reference; `pnpm run ci` reproduces its commands locally, including dependency installation and the generated-catalog check. + +- **Documentation-only changes:** verify links, paths, commands and `git diff --check`; runtime tests do not validate prose. +- **Shared types or actions:** run workspace typechecking as well as behavior tests. A passing Vitest run does not prove type correctness. +- **SDK packaging:** keep the SDK's `NodeNext` build and explicit `.js` relative imports, including type-only exports. Its package tests compile fresh output and check native Node.js imports, consumer declarations, and complete action-map coverage. The SDK action catalog must match OneBot's executable names; `packages/onebot/tests/sdk-actions.test.ts` checks this without adding a runtime dependency on server code. SDK parameter/result contracts remain independent of server types; keep consumer examples under `packages/sdk/tests/fixtures` aligned with the server parser checks in `packages/onebot/tests/sdk-action-params.test.ts`. +- **SDK streams:** preserve the single-response client methods and use the additive interfaces in [STREAMING.md](packages/sdk/STREAMING.md) for file transfers. Test framing, cancellation, bounded buffering and incomplete transfers in the SDK; `packages/onebot/tests/sdk-streaming.test.ts` checks real adapter/handler round trips in temporary storage without QQ. +- **SDK reverse WebSocket:** Node-only listeners accept OneBot implementation connections, never substitute an outgoing SDK client for a protocol implementation. Reuse the shared client session for actions/events/streams and preserve per-account identity, API/Event pairing, bounded buffers and pending-request rejection on disconnect. Test the real runtime reverse adapter and fresh published imports; see [REVERSE_WEBSOCKET.md](packages/sdk/REVERSE_WEBSOCKET.md). +- **SDK messaging:** preserve existing string-path and ordinary reply semantics when extending the helpers in [MESSAGING.md](packages/sdk/MESSAGING.md). Filesystem access belongs only in the optional `@snowluma/sdk/node` entry point. Media sends must await upload completion and retain failure context without automatic retries; event waits follow public middleware dispatch and release listeners on every outcome. Keep legacy handler/context types assignable when adding richer SDK-created contexts. +- **MCP agents:** preserve existing text results, business-error envelopes, default search matching and mode gates when extending the tools. Use the server SDK's `serveStdio` entry to support modern discovery and legacy initialization from the same command; test both with freshly compiled output. Cache hints belong only on bundled catalog discovery, never execution or account data. Keep trace metadata out of action parameters and sensitive data out of diagnostics. Protocol compatibility, tracing and the additive agent features are documented in [AGENT_FEATURES.md](packages/mcp/AGENT_FEATURES.md). Use isolated HTTP and MCP transports in tests; local runtime inspection must not query a live account. +- **MCP execution services:** keep background tasks and event connections opt-in. Persist task state before effects, never replay interrupted writes, and finish durable cleanup before draining the protocol on shutdown. Input continuations must retain their original arguments and execute at most once. Event buffers require explicit account binding, bounded storage and visible gaps. Build the bundled message preview through `packages/mcp/scripts/build-message-app.mjs`; loading a preview must not send a message. Test restart, cancellation and legacy compatibility using isolated transports, including the compiled CLI. +- **Protocol codecs:** keep the existing Proton integration in tests so they exercise the same transformations as production. Import real implementations; do not duplicate the algorithm in the test. +- **Video uploads:** preserve the single-connection default and the additive global setting in [HIGHWAY_UPLOADS.md](packages/protocol/HIGHWAY_UPLOADS.md). Only video bodies opt into parallel chunks. Confirm every chunk before completion, bound both concurrency and lookahead, and drain outstanding reads and requests before closing the source. Keep retries bounded and backpressure changes visible. Test the actual uploader with isolated transports; passing tests do not prove live throughput. +- **Highway upload recovery:** all chunks and workers share one file transfer deadline. Keep node observations bounded, short-lived and isolated by account session, upload type and full host/port; select only current server-supplied candidates. Only validated acknowledgements establish success. Preserve terminal failure reporting and drain pending file reads after cancellation. Test deadline cleanup and candidate rotation with isolated transports, including real loopback sockets; see [upload policy](packages/protocol/HIGHWAY_UPLOADS.md#upload-timeouts-and-node-selection). +- **Native coverage:** `pnpm test:native` is separate from default protocol tests and requires compatible native artifacts. A missing artifact or unavailable target is a reported limitation, not permission to bypass the check. +- **OneBot SSE:** HTTP event streams share the HTTP adapter's binding and authentication. Preserve account isolation, bounded replay, visible expired-cursor errors, report filtering and slow-reader limits described in [HTTP_SSE.md](packages/onebot/HTTP_SSE.md). Token/report-policy changes revoke existing streams and invalidate replay; test shutdown and reload with active connections. +- **Live QQ behavior:** fixture tests and a successful API response do not prove delivery or client rendering. State what was tested locally and what still needs a real client. + +`pnpm dev` starts Core and can attach to local QQ processes; use it only when runtime testing is intended. `pnpm dev:web` starts the frontend, which expects a WebUI backend. Follow the existing test fakes for isolated work rather than starting a live account unnecessarily. + +WebUI deployment targets use a reversible presentation overlay. Read [the host appearance contract](packages/webui/INTEGRATIONS.md) before changing it. Keep target validation in `@snowluma/common/webui-target`, implementations in the frontend target registry, and saved preferences separate from effective appearance. Default deployments must not load target assets or host listeners; do not put target-name branches in business pages. + +## Implementation rules + +- **Fix the cause.** Reproduce failures at the owning layer and add a regression test for the observable behavior. Avoid account-, filename-, or example-specific patches. +- **Make errors observable.** Do not turn exceptions into empty results or successful responses. Preserve error context and use the shared logger for important transitions and failures. If evidence is insufficient, add targeted diagnostics and describe what remains unknown. +- **Preserve account isolation.** Identity, message storage and session state belong to their account. Keep teardown ordering and in-flight work handling intact when changing lifecycle code. +- **Keep parsing separate from effects.** QQ decoders and OneBot event converters translate data. Live state updates belong to their owning pipeline or service; reading history must not mutate live membership or pending requests. +- **Use the declared interfaces.** OneBot consumes the [Bridge interface](packages/core/src/bridge/bridge-interface.ts). Reuse package exports and existing dependency injection instead of reaching into another owner's state or building a second registry. +- **Validate at inputs.** Use the existing action field and cross-field validation helpers. Preserve accepted input forms, response fields and error behavior unless the change explicitly calls for new semantics. Do not silently discard invalid outbound message content. +- **Preserve signed message IDs.** OneBot `message_id` / `messageId` values generated by [message-id.ts](packages/onebot/src/message-id.ts) are non-zero signed 32-bit integers; negative values are valid. Use `f.messageId()` for action inputs and preserve the value through storage, replies, lookups and result matching. Protocol representations must be converted losslessly at their boundary; changing the sign or generation rule changes existing message identities. +- **Protect persisted data.** Message history and media metadata are durable records. Do not add automatic deletion or treat them as disposable caches. Migration changes need failure and restart coverage; keep failures visible. +- **Preserve transport policy.** Retain configured bind addresses and access checks. TLS startup failure must not silently downgrade to HTTP. Distinguish saved configuration from changes actually applied to a running adapter. +- **Keep types and ownership clear.** Follow the strict TypeScript configuration, existing import style and four-space TypeScript indentation. Validate unknown external data instead of hiding mismatches with casts or fallback values. Keep comments about reasons and non-obvious behavior. +- **Keep diagnostics safe.** Use existing sanitization when recording external input. Credentials, private keys, private account data and unredacted captures do not belong in commits, fixtures or public reports. + +## Generated files and related changes + +OneBot action definitions own validation and catalog metadata. Each bundled action supplies a `returnsSchema` for successful OneBot `data` and at least one `examples` entry with valid parameters and any required identifier sources. Stream schemas describe individual successful frames, not MCP aggregated results. Keep undocumented upstream fields open rather than inventing a structure, and label unsupported or placeholder behavior explicitly. + +After changing an action name, parameter, result description/schema, example or execution mode: + +1. Update the owning definition in `packages/onebot/src/actions` and its tests. +2. Run `pnpm --filter @snowluma/mcp gen`. +3. Inspect and include the corresponding changes in `packages/mcp/src/generated/catalog.ts` and `catalog.json`. Do not hand-edit generated catalog entries. +4. Check affected SDK types and callers, run their relevant tests, and run workspace typechecking. + +`pnpm test` also runs the MCP catalog generator and may change these tracked snapshots. CI's `node tools/check-action-catalog.mjs` rejects a working-tree catalog diff; it is a clean-checkout drift check, not the generator itself. + +SDK breaking changes also update [CHANGELOG.md](packages/sdk/CHANGELOG.md) and [VERSIONING.md](packages/sdk/VERSIONING.md). WebUI changes follow its [interaction conventions](packages/webui/README.md). Keep user-facing documentation aligned with behavior. + +Standalone WebUI branding uses the [SnowLuma mascot](assets/readme/mascot.png) and a lavender default accent. The default palette lightly tints neutral surfaces with the active accent, respecting sidebar-only scope and OLED black. Keep server defaults, frontend presets and pre-mount CSS aligned as described in [WebUI default appearance](packages/webui/README.md#default-appearance), while preserving saved user choices, named palettes and host appearance overlays. + +The root [README.md](README.md) presents the project's purpose, overall capabilities, quick start and documentation entry points. Update it only when those overview details change; adding or fixing an individual feature does not justify adding a dedicated section there. Put feature-specific API usage, configuration, limitations and troubleshooting in the relevant package README or topic document, preferring existing documentation. + +Edit sources rather than `dist` outputs. Native artifacts in `packages/runtime/native` are supplied build inputs; do not substitute arbitrary local binaries to make a build pass. Packaging changes must preserve the checks in [Core's build configuration](packages/core/vite.config.ts) and [the release layout validator](tools/check-release-layout.mjs). + +## Handoff and instruction maintenance + +Report the behavior changed, the exact validation commands and results, and any unverified runtime or platform behavior. Keep public PR and commit text focused on the contribution; omit local environment details and private research. Use English Conventional Commit messages as described in CONTRIBUTING.md. + +`AGENTS.md` is the canonical contributor guide; `CLAUDE.md` is a relative symlink to it. Edit this file once. When package ownership, validation commands or contribution policy changes, update the affected instructions in the same change. Link to checked-in sources and keep the guide usable from a fresh clone without maintainer-local notes, tools or absolute paths. diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 00000000..1331434a --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,90 @@ +# 贡献者公约 (Contributor Covenant Code of Conduct) + +本文档改编自 [Contributor Covenant v2.1](https://www.contributor-covenant.org/version/2/1/code_of_conduct/),是 SnowLuma 社区共同遵守的行为准则。 + +## 我们的承诺 + +身为社区成员、贡献者、维护者,我们承诺:让每一个参与 SnowLuma 项目和社区的人,不因年龄、体型、可见或不可见的身体差异、身心障碍、族裔、性别特征、性别认同与表达、经验水平、教育背景、社会经济地位、国籍、外貌、种族、宗教信仰、或性取向,而遭受骚扰。 + +我们承诺以营造开放、热情、多元、包容、健康社区的方式行事和互动。 + +## 我们的准则 + +有助于建立正向社区环境的行为包括但不限于: + +- 对他人展现同理心与善意 +- 尊重不同的意见、观点与经验 +- 给予并优雅地接受建设性反馈 +- 承担责任并向受我们错误影响的人致歉,并从中吸取教训 +- 关注的不仅是个人,更是整个社区的最大利益 + +不可接受的行为包括但不限于: + +- 使用情色化的语言或意象,及任何形式的性关注或性骚扰 +- 嘲讽、侮辱或贬损性的评论,以及人身或政治攻击 +- 公开或私下的骚扰 +- 未经明确许可,公布他人的私人信息,例如物理或电子邮件地址 +- 其他在专业场合中可被合理认定为不当的行为 + +## 适用范围 + +本行为准则适用于所有社区场所,也适用于个人在公开场合代表社区时的言行。代表本社区的情形包括但不限于:使用项目官方电子邮件地址、通过项目官方社交媒体账号发文、以指定代表身份出席线上或线下活动。 + +具体到 SnowLuma,本准则适用于: + +- 本仓库(含 issue、PR、discussion、commit message、code review 评论) +- 项目相关的 QQ 群、Telegram 群以及未来可能新增的官方社群 +- 任何以 SnowLuma 名义对外发起的活动或交流 + +## 执行责任 + +社区维护者负责诠释并执行我们所认定的可接受行为标准,并将对任何他们认为不当、具威胁性、冒犯性或有害的行为采取适当且公正的纠正措施。 + +社区维护者有权且有责任删除、编辑或拒绝任何不符合本行为准则的评论、提交、代码、wiki 编辑、issue 及其他贡献,并将在适当时机说明做出审核决策的理由。 + +## 举报方式 + +如果你目击或亲身经历了不当行为,请通过以下任一渠道**私下**联系维护者: + +- QQ:[SnowLuma-QQ](https://qm.qq.com/q/g3UMLpWALe)(私聊管理员,请勿在群内公开) +- Telegram:[SnowLuma-TG](https://t.me/napcatqq)(私聊管理员) + +请勿在 GitHub issue 或公开频道直接发布举报内容,以免对相关方造成二次伤害。 + +所有投诉都会被及时和公平地审查与调查。所有社区维护者都有义务尊重举报者的隐私与人身安全。 + +## 执行准则 + +社区维护者将依据以下「社区影响指引」来判定违反本行为准则之行为的处置方式: + +### 1. 更正 (Correction) + +**社区影响**:使用了不恰当的言语,或其他在社区中被视为不专业或不受欢迎的行为。 + +**后果**:由社区维护者私下提出书面警告,明确指出该行为违反规则之处并解释为何不妥。可能要求公开致歉。 + +### 2. 警告 (Warning) + +**社区影响**:通过单一事件或一系列行为造成违规。 + +**后果**:警告并说明持续行为的后果。在指定时间内禁止与相关人员互动,包括主动联系本行为准则执行者。这包括避免在社区场所及外部渠道(如社交媒体)的互动。违反这些条款可能导致临时或永久封禁。 + +### 3. 临时封禁 (Temporary Ban) + +**社区影响**:严重违反社区准则,包括持续的不当行为。 + +**后果**:在指定时间内禁止与社区进行任何形式的互动或公开交流。在此期间不得与相关人员有任何公开或私下的互动,包括主动联系本行为准则执行者。违反这些条款可能导致永久封禁。 + +### 4. 永久封禁 (Permanent Ban) + +**社区影响**:表现出违反社区准则的模式,包括持续的不当行为、骚扰个人、或对某类群体进行攻击或贬低。 + +**后果**:永久禁止在社区内进行任何形式的公开互动。 + +## 致谢 + +本行为准则改编自 [Contributor Covenant 2.1 版](https://www.contributor-covenant.org/version/2/1/code_of_conduct.html)。 + +社区影响指引灵感来自 [Mozilla 的行为准则执行阶梯](https://github.com/mozilla/diversity)。 + +如需了解本准则的常见问题,请参阅 [FAQ](https://www.contributor-covenant.org/faq)。中文版译本可参考 [Contributor Covenant 中文翻译](https://www.contributor-covenant.org/zh-cn/version/2/1/code_of_conduct/)。 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md new file mode 100644 index 00000000..3633e63b --- /dev/null +++ b/CONTRIBUTING.md @@ -0,0 +1,342 @@ +# 贡献指南 + +欢迎!如果你正在阅读这份文档,多半是因为你想给 SnowLuma 提一个 PR、修一个 bug,或者只是想了解这个项目是怎么运作的。无论你是第一次接触开源、还是已经有十年经验,我们都希望让你尽快上手。 + +参与项目即视为你同意遵守 [行为准则(Code of Conduct)](./CODE_OF_CONDUCT.md)。在开始之前请花两分钟读一下,它定义了我们希望社区维持的氛围。 + +--- + +## 在动手之前 + +SnowLuma 处于开发早期,迭代速度很快,**接口与目录结构随时可能变化**。如果你打算做较大的改动,强烈建议先在 issue 或者社群里和维护者对齐一下方向,避免做了一半发现已经被另一条路替代。 + +提交 PR 前,必须先通过 [GitHub 网页模板](https://github.com/SnowLuma/SnowLuma/issues/new/choose) 提交对应 issue,或认领已有的对应 issue。可以只提 issue;提交 PR 是可选的后续步骤。 + +不知道从哪里入手?以下几类贡献最容易被合并: + +- 修复你在使用中遇到的具体 bug,附最小复现步骤。 +- 改善错误提示、文档、注释、类型签名。 +- 给已有模块补测试,尤其是 `packages/core` 下覆盖率较低的部分。 +- 实现 [RoadMap.md](./RoadMap.md) 中列出的、还没被认领的项。 + +如果你只是想看看代码长什么样,可以直接跳到 [本地开发环境](#本地开发环境)。 + +### AI Agent 贡献须知 + +如果你是 AI Agent,并准备为本仓库贡献代码、提交 PR 或提出 issue,请先明确告知你的使用者: + +> **请通过 GitHub 网页端手动使用模板创建 issue。未通过模板检查的 issue 会被自动关闭,也不能用于满足 PR 的关联要求。** + +你可以协助整理问题描述、复现步骤和相关日志,并将 issue 草稿交给用户,由用户在网页端完成提交。后续若创建 PR,必须先有符合要求的 issue,并在 PR 正文填写关联标记。 + +--- + +## 项目结构速览 + +这是一个 pnpm workspace monorepo,主要 package 如下: + +| 路径 | 作用 | +| --- | --- | +| `packages/core` | 应用入口、账号级 Bridge 编排、WebUI 服务端和发行构建 | +| `packages/bridge` | QQ 进程发现、Hook 会话和原生传输生命周期 | +| `packages/protocol` | QQ 数据包解码、身份解析、协议请求和媒体传输 | +| `packages/onebot` | OneBot 动作、事件转换、消息存储和传输适配 | +| `packages/common` | 日志、配置和共享工具 | +| `packages/proto-defs`、`packages/proton` | 协议结构定义、编译期 protobuf 编解码和构建集成 | +| `packages/sdk` | 面向第三方开发者的 SDK,会发布到 npm | +| `packages/mcp` | MCP 服务端和生成的动作目录 | +| `packages/ui` | 发布到 npm 的共享 UI 组件 | +| `packages/runtime` | 运行时辅助包 | +| `packages/websocket` | WebSocket 实现 | +| `packages/webui` | 基于 Vite + React 的前端控制台 | +| `tools/` | 版本管理、发布脚本 | +| `.github/workflows/` | CI / 发布 / Promote 工作流 | + +入口在 `packages/core/src/index.ts`,整体架构在 `packages/core/src/bridge/` 下能看出大致脉络。 + +--- + +## 本地开发环境 + +### 系统要求 + +- **Node.js 24.22.1(24 系列),或 26.12.1 及更新版本**;开发和构建使用 [`.node-version`](.node-version) 固定的版本。 +- **pnpm 11.25.0**(项目通过 `packageManager` 与 CI 统一版本) +- macOS / Linux / Windows 均可。如果要构建原生产物,需要对应平台的工具链。 + +如果系统提供 Corepack,可执行 `corepack enable pnpm`;没有 Corepack 时可执行 +`npm install -g pnpm@11.25.0`。进入仓库后,`node --version` 与 +`pnpm --version` 应满足上述版本要求,否则安装会直接失败。 + +### 拉代码、装依赖、跑起来 + +```bash +# 1. Fork 仓库后克隆你自己的 fork +git clone https://github.com/<你的用户名>/SnowLuma.git +cd SnowLuma + +# 2. 切到 dev 分支(所有开发都基于 dev,不是 main) +git checkout dev + +# 3. 按锁文件安装依赖 +pnpm install --frozen-lockfile + +# 4. 跑类型检查,确认环境 OK +pnpm typecheck + +# 5. 跑全工作区测试 +pnpm test + +# 6. 启动开发模式 +pnpm dev # core +pnpm dev:web # webui +``` + +如果 `pnpm install` 卡住或报错,先确认 Node 版本和 pnpm 版本,再看 `.npmrc` 里是否配置了你环境下可用的 registry。 + +--- + +## 第一次提交 PR + +### 1. 创建分支 + +请基于 `dev` 创建分支。`main` 是发布指针,只由维护者的 Promote 更新。**目标分支不是 `dev` 的 PR 会被自动关闭**,之后修改目标分支或重新打开 PR 也会触发检查。 + +```bash +git checkout dev +git pull upstream dev # 假设你把官方仓库设为 upstream remote +git checkout -b fix/onebot-mention-encoding +``` + +分支命名没有强制规则,但建议用 `fix/...`、`feat/...`、`docs/...`、`refactor/...` 这种前缀,便于一眼看出意图。 + +### 2. 写代码 + +- **保持改动聚焦**:一个 PR 只做一件事。顺手发现的其他问题请单独开 issue 或新 PR。 +- **跟随既有风格**:TypeScript 排版以仓库 Prettier 配置为准;普通功能或修复 PR 只格式化涉及的文件,避免混入无关的大规模格式化或重命名。 +- **写测试**:修 bug 时优先写一个能复现该 bug 的测试,确认它会 fail,再让它 pass。新增功能至少补上 happy path 的测试。 +- **不要添加无意义的注释**:标识符已经说清楚的事情不需要再写一遍。注释应当解释"为什么",而不是"做了什么"。 + +提交之前请运行与 PR CI 相同的验证入口: + +```bash +pnpm typecheck +pnpm lint +pnpm test +pnpm run build:all +``` + +`pnpm test` 会运行所有声明了测试脚本的工作区包;只验证 Core 时可使用 +`pnpm test:core`。CI 会重新执行上述完整检查。 + +### 3. 提交信息 + +我们大致遵循 [Conventional Commits](https://www.conventionalcommits.org/zh-hans/v1.0.0/): + +``` +(): + + +``` + +`type` 常用:`feat` / `fix` / `docs` / `refactor` / `test` / `chore` / `perf`。 +`scope` 常用:`core` / `sdk` / `webui` / `onebot` / `bridge` / `protocol` 等模块名。 + +示例: + +``` +fix(onebot): handle empty mention segments in group messages +refactor(bridge): extract BridgeInterface as the OneBot-facing seam +docs: clarify dev environment setup steps +``` + +> ⚠️ **请不要**在你的提交信息里使用 `[merge]` 前缀或 `chore(release):` 前缀 —— 这两个前缀是维护者用来把 `main` 指到 `dev` 的,会让你的 PR 行为异常。详见后文 [维护者参考](#维护者参考release--promote)。 + +### 4. 推送并发起 PR + +```bash +git push origin fix/onebot-mention-encoding +``` + +到 GitHub 上发起 PR,**目标分支选 `dev`**。请在 PR 描述里写明: + +- 这个 PR 解决什么问题 / 实现什么功能。 +- 主要的实现思路(如果有非显然的取舍)。 +- 测试方式(你跑了什么、怎么验证有效)。 +- 必填的 issue 关联标记,例如 `Refs #123` 或 `Closes #123`;也支持 GitHub 的 `Fixes`、`Resolves` 等关闭关键词。 + +关联标记必须写在 PR 正文中;HTML 注释、代码示例和引用块不计入。支持 `#123`、`SnowLuma/SnowLuma#123` 和本仓库 issue 的完整链接,前面均需带上述关键词。 + +自动检查要求至少一个关联对象是真实的本仓库 issue,先于 PR 创建、仍处于开放状态,并通过现有 issue 模板规则:带有 `bug` / `enhancement` 标签,或属于该规则已有的维护者身份豁免。不存在的编号、另一个 PR、已关闭或模板不合规的 issue 都不算。**所有 PR 都必须满足目标分支和 issue 关联要求,包括维护者与机器人提交的 PR。** + +不符合要求的 PR 会收到说明并自动关闭。若已有符合要求的 issue,可修改 PR 后重新打开;若需补建 issue,请先提交 issue,再创建新的 PR。接口故障或限流会让检查失败,不会被当成 PR 违规而自动关闭。 + +`Refs` 用于关联;`Closes` 等关键词在这里也用于关联检查。由于 PR 目标为 `dev`,合并到 `dev` 本身不会触发 GitHub 针对默认分支的 issue 自动关闭机制。 + +### 5. Code Review 与合并 + +- 维护者会在能腾出时间时来 review。如果一周内没有任何回应,欢迎在 PR 里 @ 一下,或者去社群里提醒。 +- review 意见请尽量在同一个 PR 内修改,避免反复关闭重开。 +- 合并方式由维护者决定,通常是 squash merge 到 `dev`。**`main` 由维护者通过 Promote 指到当时的 `dev`**,你不需要操心 `main`。 + +--- + +## 风格与约定 + +### 代码风格 + +- TypeScript 严格模式,按 `tsconfig.base.json` 配置。 +- TypeScript 使用四空格缩进,控制语句始终带大括号。排版由根目录 [`.prettierrc.json`](./.prettierrc.json) 和独立的本地 [ESLint 格式规则](./eslint.format.config.ts) 管理;普通 `pnpm lint` 负责代码质量检查。 +- 优先用现有抽象,不要为"假想的未来需求"提前抽象。 +- 不要给内部函数加防御性的参数校验,除非是系统边界(用户输入、外部 API)。 +- 不要保留死代码、被注释掉的代码或者 `// TODO` 没有具体上下文的占位。 + +从仓库根目录运行本地格式化命令: + +```bash +pnpm format # 为全部 TS/TSX/MTS/CTS 补大括号、空行并排版 +pnpm format:check # 检查上述规则,不修改文件 + +# 只格式化指定文件:先处理控制语句与空行,再排版 +pnpm exec eslint --config eslint.format.config.ts --fix packages/core/src/index.ts +pnpm exec prettier --write packages/core/src/index.ts +``` + +格式化范围排除 [`.prettierignore`](./.prettierignore) 中的构建产物、生成文件和编译器测试夹具;普通源码与测试都参与格式化。这两个命令供本地使用,不接入 CI。 + +空行采用保守规则:在语句块前后留空行,保留已有逻辑分段,不强行拆开连续声明或普通调用,也不在每条 `return`、`break` 前插空行;共用同一分支的连续 `case` 标签保持相邻。JSON、YAML 等文件继续使用原有缩进。 + +编辑器请选择项目本地安装的 Prettier 并读取仓库配置。VS Code 可安装 +`esbenp.prettier-vscode`,将 TypeScript / TypeScript React 的默认格式化器设为 +Prettier,并按需开启保存时格式化。 + +### 测试 + +- 单测放在被测代码同包的 `tests/` 或同目录的 `*.test.ts`,按既有风格走。 +- 测试要描述行为,不要测实现细节。`it('should call internal foo')` 这种是反例。 +- 涉及 IO / 时序 / 外部进程的,用现有的 fake/stub 模式,参考 `packages/onebot/tests/` 中的 Bridge 测试替身。 +- PR 自动检查的隔离回归可运行 `pnpm test:workflows`;`pnpm test` 已包含此检查,不需要创建真实 PR 来测试自动关闭。 + +### 文档 + +- **主 README 的定位**:根目录 [`README.md`](./README.md) 用于展示项目定位、整体能力、快速开始和文档入口,仅在这些总体信息发生变化时更新。不要因为新增或修复某个具体功能,就在主 README 增加该功能的专门说明。 +- **具体功能的说明位置**:接口用法、配置项、功能限制和排障说明写入对应 package 的 README 或专题文档,优先更新已有文档。用户/贡献者可见的行为变化,仍需同步维护对应文档。 +- SDK 的破坏性变更必须更新 `packages/sdk/CHANGELOG.md` 和 `packages/sdk/VERSIONING.md`。 + +--- + +## 报告 Bug / 请求功能 + +- **Bug 报告**:开 issue,附最小复现步骤、期望行为、实际行为、版本号、运行环境。能附上日志最好。 +- **功能请求**:先描述你想解决的实际场景,再描述你想要的接口。维护者更在意"为什么需要"而不是"具体怎么做"。 +- **安全问题**:请勿公开发 issue,先通过社群私聊联系维护者。 + +社群入口(见 [README](./README.md)): + +- QQ:[SnowLuma-QQ](https://qm.qq.com/q/g3UMLpWALe) +- Telegram:[SnowLuma-TG](https://t.me/napcatqq) + +--- + +## 维护者参考:release & Promote + +> 以下内容主要写给具备发版权限的维护者。普通贡献者只需要把 PR 提到 `dev`,不需要关心这一节。 + +### 分支模型 + +SnowLuma 使用 **`main` + `dev`** 双分支模型: + +- **`dev`** — 日常开发分支。所有功能、修复、文档变更都先进入 `dev`。 +- **`main`** — 发布指针,应与某次 Promote 当时的 `dev` 尖端是**同一个提交**。不要直接 push,也不要往 `main` 开 PR(CI 会拒)。 +- **`native/auto-update-*`** — 由 `SnowLuma Bot` 自动创建的原生产物更新分支(来自 `SnowLumaNative`,不需要手动维护)。 + +### 把 `main` 指到 `dev` + +工作流 `.github/workflows/promote-dev-to-main.yml` 以 `SnowLuma Bot` 身份把 `main` 指到当前 `dev` 尖端,**不再开 merge PR**。`main` 上若有 `dev` 还没有的独有改动,Promote 会失败,需要先把那些改动收回 `dev`。 + +推到 `dev` 仍会跑 `dev-build.yml`。Promote **不等**那组检查;发版请用下面的 `pnpm release`,它会在本地先跑完整 CI。 + +#### 1. 提交信息前缀(推荐日常使用) + +向 `dev` push 一个提交,提交信息**以**以下任一前缀**开头**即触发(不区分大小写): + +- `[merge]` — 例如 `[merge] fix: hotfix for OneBot mention` +- `chore(release):` — 例如 `chore(release): v1.7.0`,符合 conventional commits 的发版习惯。**只许用在真正的版本 bump**,不要写进普通 CI / 工具提交。 + +> 是**前缀**匹配,不是任意位置。`fix: something [merge]` 不会触发,必须把 `[merge]` 写在最前面。 + +#### 2. 推送 `chore.*` Tag + +任何符合 `chore.*` 的 tag(如 `chore.merge-20240509`、`chore.promote-v1.7.0`)被推送时也会触发: + +- `chore.*` → 仅触发 `promote-dev-to-main.yml`(把 `main` 指到 `dev`) +- `v*` → 仅触发 `release.yml`(构建发布产物) + +推荐流程:用 `pnpm release`(或先 Promote,再确认 `origin/main` 已等于 `dev` 尖端)之后,在 `main` 上打 `v*` tag。这样 `release.yml` 始终基于当时的 `main` HEAD 构建。 + +#### 3. 手动触发 + +打开仓库 Actions 页面 → `Promote Dev to Main` → `Run workflow`。没有 merge 策略选项;跑起来就是一次指针更新。 + +### 不要给 `main` 套「必须走 PR」 + +Promote 不通过 PR 更新 `main`。如果给 `main` 打开 **Require a pull request before merging** 或禁止更新引用,Promote 会失效。 + +可以限制删除 `main`。外来 PR 必须打 `dev`;打到 `main` 的 PR 会被 `main-pr-target-guard.yml` 拒绝。 + +本地若已经 checkout 过旧的 `main`,Promote 之后可能无法快进,对齐 `origin/main` 即可。 + +### 必需的 Secrets + +`promote-dev-to-main.yml` 复用 `SnowLumaNative/build-native.yml` 同一个 GitHub App。请确认 SnowLuma 仓库(或 organization)级别已经配置: + +- `SNOWLUMA_BOT_APP_ID` — 数字类型的 App ID。 +- `SNOWLUMA_BOT_PRIVATE_KEY` — 该 App 的 PEM 私钥。 + +App 必须在本仓库已安装,且授予 **Contents: Read+Write**。 + +### 本地工作流速查(维护者) + +```bash +# 推荐:一条命令走完 bump → Promote → 等 main 跟上 → 打 v* tag +pnpm release 1.7.0 + +# 只要把 main 指到 dev(三选一) + +# 方式 A:commit-msg 前缀 +git commit -m "chore(release): v1.7.0" # 或 "[merge] fix: hotfix" +git push # → 触发 promote-dev-to-main + +# 方式 B:chore.* tag(与发布 tag 解耦) +git tag chore.merge-20240509 +git push origin chore.merge-20240509 # → 触发 promote-dev-to-main + +# 方式 C:在 Actions 页面手动 Run workflow + +# Promote 完成后,若要自己打发布 tag +git fetch origin +git switch main +git merge --ff-only origin/main # 对不齐就 reset 到 origin/main +git tag v1.7.0 +git push origin v1.7.0 # → 仅触发 release.yml +``` + +--- + +## 还有问题? + +- 看一下已有的 issue 和 PR,可能你的问题已经被讨论过。 +- 去社群问一句(QQ / TG 链接见上方)。 +- 有对应 issue 后,如果只是想确认"我这么改 OK 吗",欢迎开 draft PR,把代码亮出来再讨论。 + +感谢你愿意花时间贡献 SnowLuma —— 这个项目能走多远,取决于你们每一个人。❄️ + +## 贡献的许可 / Licensing of contributions + +当你提交 PR,即表示你的贡献按本项目的 [`LICENSE`](LICENSE)(SnowLuma 源码可见非商业许可)授权,且你声明你有权这么做、贡献为你的原创(若含第三方材料,请在 PR 中显著标注其来源与许可证)。 + +**你保留对自己贡献的版权**,同时**授予 SnowLumaDevs 一项永久、全球、免费、不可撤销、可再许可(sublicensable)的许可**,可使用、复制、修改、分发你的贡献并基于其制作衍生作品,**包括以本项目非商业许可之外的其他条款(含商业条款)再许可与分发**——以便项目方无需逐一回头征求同意,即可在获授权的商业场景中使用社区贡献。 + +By opening a PR, you agree your contribution is licensed under the project's [`LICENSE`](LICENSE); you represent that you have the right to submit it and that it is your own work (clearly identify any third-party material in the PR). + +**You retain copyright in your contribution** and additionally grant SnowLumaDevs a **perpetual, worldwide, royalty-free, irrevocable, sublicensable license** to use, reproduce, modify, distribute, and create derivative works of your contribution, **including the right to relicense and distribute it under terms other than this project's non-commercial license (including commercial terms)** — so the project can use community contributions in authorized commercial scenarios without seeking each contributor's consent again. diff --git a/EULA.md b/EULA.md new file mode 100644 index 00000000..59198c24 --- /dev/null +++ b/EULA.md @@ -0,0 +1,92 @@ +# SnowLuma 最终用户许可协议(EULA)/ End-User License Agreement + +- **生效日期 / Effective date:** 2026-07-21 +- **版本 / Version:** 1.1 +- **许可方 / Licensor:** SnowLumaDevs(联系方式 / Contact: motricseven@foxmail.com) + +> 本协议以中文与英文两种语言提供。如两版本有冲突,**以中文版本为准**。 +> This Agreement is provided in Chinese and English. **In case of any conflict, the Chinese version prevails.** + +--- + +## 中文版 + +### 1. 定义与接受 +1.1 "**本软件**"指 SnowLuma 软件及其官方发行包,包括可执行文件、原生模块(`snowluma-*.node`)、文档及相关组件。 +1.2 "**您**"指下载、安装、运行或以其他方式使用本软件的个人或实体。 +1.3 下载、安装、运行或使用本软件,即表示您已阅读、理解并同意受本协议约束。**若您不同意本协议,请勿使用本软件并删除其全部副本。** + +### 2. 授权范围 +2.1 本软件的**源代码与资源**(不含第 5 条所述专有组件及第三方组件)依据随附的 [`LICENSE`](LICENSE)——**SnowLuma 源码可见非商业许可(SnowLuma Source-Available Non-Commercial License)**——授权。 +2.2 `LICENSE` 仅授予其中明确列明的权利,包括查看、学习、个人或其他非商业使用、非商业自托管,以及在规定条件下进行修改或再分发。**任何商业使用,以及公开发布修改版或衍生版,均须事先取得著作权人的书面授权。** +2.3 本协议是针对**官方发行包(二进制)**的补充条款,就接受方式、可接受使用、免责、专有组件、终止及争议解决等事项作出约定;本协议不扩大、替代或暗示授予 `LICENSE` 未明确授予的权利。 +2.4 专有组件(见第 5 条)不属于源码许可范围,仅按 `LICENSE` 第 5 条及本协议允许的方式使用。 +2.5 就源代码与资源的许可范围而言,以 `LICENSE` 为准;就官方发行包中的专有组件及二进制特有事项而言,以本协议为准。另行签署或出具的书面商业授权,仅在其明确约定的主体、用途、范围、数量及期限内优先适用。 + +### 3. 免责声明 +3.1 **非官方、无隶属**:本软件是独立的第三方互操作性项目,与腾讯公司(Tencent)及 QQ **无任何隶属、合作、授权或背书关系**。"QQ""腾讯"等名称及标识为其各自所有者的商标。 +3.2 **用途**:除非事先取得书面商业授权,本软件仅供 `LICENSE` 允许的**个人或其他非商业用途**使用,包括学习、研究、技术互操作与非商业自托管。 +3.3 **合规义务**:您须自行确保对本软件的使用符合一切适用法律法规,以及您所接入平台的规定(包括但不限于《QQ 用户协议》与相关服务条款)。 +3.4 **按"现状"提供**:本软件按"**现状(AS-IS)**"及"**现有(AS-AVAILABLE)**"提供,不附带任何明示或默示的担保,包括但不限于对适销性、特定用途适用性、不侵权、可用性、准确性或不中断的担保。 +3.5 **责任限制**:在适用法律允许的最大范围内,对于因使用或无法使用本软件而导致的任何直接、间接、偶然、特殊、惩罚性或后果性损害(包括但不限于账号封禁或限制、数据丢失、利润或业务损失、服务中断),SnowLumaDevs **概不承担责任**。 +3.6 **风险自负**:您理解,使用非官方协议工具接入第三方平台**可能违反该平台条款并导致账号风险**,您**自愿承担**该等风险。 + +### 4. 可接受使用 +您**不得**将本软件用于:(a) 任何违法犯罪活动;(b) 未经授权访问、干扰或破坏任何系统或网络;(c) 发送垃圾信息、实施骚扰、欺诈或传播恶意内容;(d) 侵犯他人隐私、知识产权或其他合法权益;(e) 任何违反所接入平台服务条款的行为。 + +### 5. 专有组件 +5.1 本软件可能包含或依赖**专有组件**,包括但不限于 SnowLuma 原生附加组件(如 `snowluma-*.node`、`snowluma-*.dll`、`snowluma-*.so`),以及其中可能包含的授权、激活或技术保护措施。 +5.2 此类专有组件不属于 `LICENSE` 所授权的源代码与资源,仅以随本软件提供的预编译形式按本条款授权使用;本协议不授予其源代码权利。 +5.3 除适用法律强制性规定明确允许外,您不得对专有组件进行逆向工程、反编译或反汇编,亦不得规避、破解或绕过其授权或激活机制。 +5.4 除事先取得著作权人的书面授权外,您仅可为 `LICENSE` 允许的非商业用途,以专有组件随本软件提供的形式运行该组件;不得复制、修改、单独再分发或再许可该组件。将其并入第三方安装包或 Docker 镜像、通过自动化脚本部署,或者将其用于任何商业用途,均须事先取得书面授权。 + +### 6. 终止 +若您违反本协议或适用的 `LICENSE` 条款,相关授权将依各自的终止条款自动终止。终止后,您应停止使用官方发行包并删除其中的专有组件;源代码与资源的后续处理依 `LICENSE` 执行。任何单独书面商业授权的终止及终止后处理,以该授权文件的明确约定为准。 + +### 7. 适用法律与争议解决 +本协议的订立、效力、解释、履行及争议解决,均适用**中华人民共和国大陆地区法律**(不含其冲突法规则)。因本协议引起或与之相关的任何争议,双方应首先友好协商解决;协商不成的,任何一方可向**有管辖权的人民法院**提起诉讼。 + +### 8. 协议的变更 +SnowLumaDevs 可不时更新本协议。更新后的版本将随发行包发布并注明生效日期。在更新生效后继续使用本软件,即视为您接受更新后的条款。 + +--- + +## English Version + +### 1. Definitions and Acceptance +1.1 "**Software**" means the SnowLuma software and its official distribution packages, including executables, native modules (`snowluma-*.node`), documentation, and related components. +1.2 "**You**" means the individual or entity that downloads, installs, runs, or otherwise uses the Software. +1.3 By downloading, installing, running, or using the Software, you acknowledge that you have read, understood, and agree to be bound by this Agreement. **If you do not agree, do not use the Software and delete all copies.** + +### 2. Scope of License +2.1 The **source code and assets** of the Software (excluding the Proprietary Components described in Section 5 and third-party components) are licensed under the accompanying [`LICENSE`](LICENSE), the **SnowLuma Source-Available Non-Commercial License**. +2.2 The `LICENSE` grants only the rights expressly stated in it, including viewing, studying, personal or other Non-Commercial use, Non-Commercial self-hosting, and modification or redistribution subject to its conditions. **Any Commercial Use, and any public release of a modified or derivative version, requires the copyright holder's prior written authorization.** +2.3 This Agreement provides **supplemental terms for official binary distribution packages**, addressing acceptance, acceptable use, disclaimers, Proprietary Components, termination, and dispute resolution. It does not expand, replace, or imply any right not expressly granted by the `LICENSE`. +2.4 Proprietary Components (Section 5) are outside the scope of the source license and may be used only as permitted by Section 5 of the `LICENSE` and this Agreement. +2.5 The `LICENSE` controls the scope of rights in the source code and assets; this Agreement controls Proprietary Components in official distribution packages and matters specific to those binaries. A separate written commercial authorization controls only within the licensee, purpose, scope, quantity, and term that it expressly identifies. + +### 3. Disclaimers +3.1 **Not official; no affiliation.** The Software is an independent, third-party interoperability project and has **no affiliation, partnership, authorization, or endorsement relationship** with Tencent or QQ. "QQ", "Tencent", and related marks belong to their respective owners. +3.2 **Purpose.** Unless prior written commercial authorization has been obtained, the Software may be used only for **personal or other Non-Commercial purposes** permitted by the `LICENSE`, including study, research, technical interoperability, and Non-Commercial self-hosting. +3.3 **Compliance.** You are responsible for ensuring that your use complies with all applicable laws and with the terms of any platform you connect to (including the QQ User Agreement and related terms of service). +3.4 **AS-IS.** The Software is provided "**AS IS**" and "**AS AVAILABLE**", without warranties of any kind, express or implied, including merchantability, fitness for a particular purpose, non-infringement, availability, accuracy, or uninterrupted operation. +3.5 **Limitation of liability.** To the maximum extent permitted by law, SnowLumaDevs shall **not be liable** for any direct, indirect, incidental, special, punitive, or consequential damages (including account suspension or restriction, data loss, lost profits or business, or service interruption) arising from use of or inability to use the Software. +3.6 **Assumption of risk.** You understand that using an unofficial protocol tool to connect to a third-party platform **may violate that platform's terms and carry account risk**, which you **voluntarily assume**. + +### 4. Acceptable Use +You shall **not** use the Software for: (a) any unlawful activity; (b) unauthorized access to, interference with, or disruption of any system or network; (c) spam, harassment, fraud, or malicious content; (d) infringement of others' privacy, intellectual-property, or other lawful rights; or (e) any conduct that violates the terms of service of a connected platform. + +### 5. Proprietary Components +5.1 The Software may include or depend on **Proprietary Components**, including but not limited to SnowLuma native addons such as `snowluma-*.node`, `snowluma-*.dll`, and `snowluma-*.so`, and any licensing, activation, or technical-protection measures they may contain. +5.2 Such Proprietary Components are outside the source code and assets licensed by the `LICENSE` and are provided only in precompiled form with the Software for use under this Section. This Agreement grants no right to their source code. +5.3 Except to the extent expressly permitted by mandatory applicable law, you may not reverse engineer, decompile, or disassemble the Proprietary Components, nor circumvent, crack, or bypass their licensing or activation mechanisms. +5.4 Unless the copyright holder has given prior written authorization, you may run a Proprietary Component only as supplied with the Software and only for Non-Commercial use permitted by the `LICENSE`; you may not reproduce, modify, redistribute it separately, or relicense it. Incorporating it into a third-party installer or Docker image, deploying it through an automated script, or using it for any Commercial Use requires prior written authorization. + +### 6. Termination +If you breach this Agreement or the applicable `LICENSE`, the relevant rights terminate automatically under their respective termination provisions. Upon termination, you must cease using the official distribution package and delete its Proprietary Components; further handling of the source code and assets is governed by the `LICENSE`. Termination of any separate written commercial authorization, and the parties' post-termination rights and obligations, are governed by that authorization's express terms. + +### 7. Governing Law and Disputes +This Agreement is governed by the laws of the **mainland of the People's Republic of China** (excluding its conflict-of-laws rules). Any dispute arising out of or relating to this Agreement shall first be resolved through good-faith negotiation; failing that, either party may bring an action before a **court of competent jurisdiction**. + +### 8. Changes +SnowLumaDevs may update this Agreement from time to time. Updated versions will be published with the distribution package and bear an effective date. Continued use after an update takes effect constitutes acceptance of the updated terms. diff --git a/LICENSE b/LICENSE new file mode 100644 index 00000000..dcf482d6 --- /dev/null +++ b/LICENSE @@ -0,0 +1,131 @@ +SnowLuma Source-Available Non-Commercial License +SnowLuma 源码可见非商业许可 + +Version 1.0 · 2026-06-19 +Copyright (C) 2026 SnowLumaDevs +Contact: motricseven@foxmail.com + +中英文如有冲突,以中文为准。 +In case of any conflict between the Chinese and English text, the Chinese +version prevails. + +This is NOT an open-source license as defined by the Open Source Initiative: +it restricts commercial use and the public release of modifications. The +source is published for transparency, study, and non-commercial self-hosting. +本许可不是 OSI 定义的开源许可:它限制商业用途与修改版的公开发布。源码公开 +仅用于透明、学习与非商业的自托管。 + +=============================================================================== +1. Definitions / 定义 +=============================================================================== +- "Software" / "本软件": the SnowLuma source code and assets in this + repository, excluding the Native Addon (defined below) and any third-party + components. +- "You" / "你": any individual or entity exercising rights under this License. +- "Commercial Use" / "商业用途": any use primarily intended for or directed + toward commercial advantage or monetary compensation. This includes, without + limitation, selling or reselling the Software; offering paid hosting, + deployment, setup, or operation services based on the Software; bundling it + into a paid product or service; or running it to provide a service for a fee. + 包括但不限于:出售或转售本软件;提供基于本软件的付费托管、部署、代搭、代运营 + 服务;将其并入付费产品或服务;或以收费方式运行本软件对外提供服务。 +- "Native Addon" / "原生附加组件": the SnowLuma native binary components shipped + with the Software (e.g. `snowluma-*.node`, `snowluma-*.dll`, `snowluma-*.so`). + These are a separate, proprietary component and are NOT licensed under this + License — see Section 5. + +=============================================================================== +2. Grant / 授权 +=============================================================================== +Subject to the conditions and restrictions below, the copyright holder grants +You a worldwide, royalty-free, non-exclusive, non-transferable, revocable +license to: +在下列条件与限制下,著作权人授予你一项全球、免费、非独占、不可转让、可撤销的 +许可,允许你: + (a) view and study the Software; 查看与学习本软件; + (b) use and run the Software for personal or other Non-Commercial purposes; + 为个人或其他非商业目的使用与运行本软件; + (c) modify the Software for Your own Non-Commercial use; 为自己的非商业使用 + 修改本软件; + (d) redistribute the Software under the conditions in Section 3. + 在第 3 条的条件下再分发本软件。 + +=============================================================================== +3. Redistribution Conditions / 再分发条件 +=============================================================================== +You may redistribute the Software (modified or unmodified) ONLY if ALL of the +following are met. 仅当同时满足以下全部条件时,你方可再分发本软件(无论是否修改): + (a) it is Non-Commercial; 属非商业性质; + (b) the complete text of this License is included; 附带本许可的完整文本; + (c) all copyright, attribution, and notices are retained unaltered; + 保留全部著作权、署名与声明,且不得改动; + (d) PUBLIC release of a modified or derivative version requires the prior + written permission of the copyright holder. Private, non-public + modifications for Your own Non-Commercial use are permitted. + 公开发布修改版或衍生版,须事先获得著作权人书面许可;为你自己非商业使用 + 而作的、不公开的修改则被允许。 + +=============================================================================== +4. Restrictions / 限制 +=============================================================================== + (a) Commercial Use of the Software in any form is PROHIBITED without the + prior written authorization of the copyright holder. + 未经著作权人事先书面授权,禁止以任何形式对本软件进行商业使用。 + (b) You may not develop, publish, or distribute another project based on the + Software without the prior written authorization of the copyright holder. + 未经著作权人事先书面授权,不得基于本软件开发、发布或分发另一个项目。 + (c) You may not remove, obscure, or alter any copyright, attribution, license, + or notice. 不得移除、遮蔽或更改任何著作权、署名、许可或声明。 + +=============================================================================== +5. Native Addon / 原生附加组件 +=============================================================================== +The Native Addon is proprietary and is NOT covered by this License. It is +distributed only as a precompiled binary bundled with the Software. No rights +are granted to it other than to run it as bundled for the Non-Commercial use +permitted above; in particular, no right to reverse engineer, reproduce, +modify, redistribute separately, or relicense it is granted. +原生附加组件为专有组件,不在本许可范围内,仅以随本软件分发的预编译二进制形式提供。 +除按上文允许的非商业用途以其随附形式运行外,不授予任何权利;尤其不授予对其进行逆向、 +复制、修改、单独再分发或再许可的权利。 + +=============================================================================== +6. Additional Permissions / 额外授权 +=============================================================================== +Any use not granted by this License — including Commercial Use and the public +release of derivative works — requires prior written permission, which must be +requested from and granted by the copyright holder (Contact above). +本许可未授予的任何用途——包括商业使用及公开发布衍生作品——均须事先取得著作权人的 +书面许可(见上方联系方式)。 + +=============================================================================== +7. Third-Party Components / 第三方组件 +=============================================================================== +Third-party code and components retain their own original licenses, which +govern those parts. 第三方代码与组件遵循其各自的原始许可,并以其许可为准。 + +=============================================================================== +8. Termination / 终止 +=============================================================================== +Any breach of this License automatically terminates the rights granted to You +under it. 任何违反本许可的行为将自动终止你依本许可获得的权利。 + +=============================================================================== +9. Disclaimer / 免责声明 +=============================================================================== +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER +LIABILITY ARISING FROM, OUT OF, OR IN CONNECTION WITH THE SOFTWARE OR THE USE +OR OTHER DEALINGS IN THE SOFTWARE. +本软件按“现状”提供,不附带任何明示或默示的担保,包括但不限于适销性、特定用途 +适用性及不侵权的担保。在任何情况下,作者或著作权人均不对因本软件或其使用所引起 +的任何索赔、损害或其他责任负责。 + +=============================================================================== +10. Governing Law / 适用法律 +=============================================================================== +This License is governed by the laws of the mainland of the People's Republic +of China, excluding its conflict-of-laws rules. +本许可适用中华人民共和国大陆地区法律(不含其冲突法规则)。 diff --git a/PRIVACY.md b/PRIVACY.md new file mode 100644 index 00000000..ba0fd87f --- /dev/null +++ b/PRIVACY.md @@ -0,0 +1,149 @@ +# SnowLuma 隐私与数据处理说明 / Privacy & Data Handling Notice + +- **生效日期 / Effective date:** 2026-06-19 +- **版本 / Version:** 1.0 +- **责任主体 / Provider:** SnowLumaDevs(联系方式 / Contact: motricseven@foxmail.com) + +> 本说明以中文与英文两种语言提供。如有冲突,**以中文版本为准**。 +> Provided in Chinese and English. **In case of conflict, the Chinese version prevails.** + +--- + +## 中文版 + +### 1. 概述 +SnowLuma 是一款**自托管**软件:它运行在**您自己的设备或服务器**上。**SnowLumaDevs(作者方)默认不收集、不接收、不存储您的任何个人数据**。本软件**不包含**任何需要联网激活、或向作者方回传信息的授权机制。 +本说明唯一例外的数据外发情形,是第 4、5 条所述的两种,且其中遥测受严格限制(第 5 条)。 + +### 2. 本软件在您设备上存储的数据 +为实现功能,本软件会在您的设备本地(如 SQLite 数据库、配置与日志文件)存储以下类别的数据。**这些数据保存在您本地、由您掌控,作者方无法访问:** +- **账号与登录凭据**:所登录的 QQ 账号信息、会话/令牌、WebUI 登录口令(以**加盐 scrypt 哈希**形式存储,不保存明文)。 +- **关系数据**:好友、群组及成员的列表与资料。 +- **消息数据**:为实现协议转换而处理或缓存的消息(视您的配置而定)。 +- **运行配置与日志**:适配器配置、运行日志等。 + +> 说明:因 SnowLuma 是 QQ 协议工具,上述本地数据**必然**包含 QQ 账号及联系人信息。这与第 5 条"遥测绝不采集 QQ 账号/联系人"并不矛盾——本地存储 ≠ 对外传输。 + +### 3. 您作为数据控制者的责任 +当您运行本软件处理您 QQ 联系人、群成员等他人的个人信息时,**您是该等个人信息的"数据控制者/处理者"**,须自行就该等处理承担合规责任(包括取得必要同意、保障安全、响应数据主体请求等)。作者方仅提供软件工具,不参与您的数据处理活动。 + +### 4. 数据离开您设备的唯一途径 +除以下两种情形外,本软件不会将您的数据传输至任何外部目的地: +1. **您自行配置的通知 / Webhook**:当您主动配置通知渠道(如 Webhook)时,相应内容会按**您填写的地址与设置**外发。目的地与内容由您完全掌控,作者方不经手。 +2. **匿名遥测**:见第 5 条。 + +### 5. 遥测(Telemetry) +**模式:默认开启(opt-out)。** 您可随时关闭(见 5.3)。 + +#### 5.1 采集内容(仅匿名、聚合,无法定位到个人) +- 应用版本、操作系统与 CPU 架构、Node.js 版本; +- 启动次数、功能使用计数(例如启用了哪些适配器/命令,**不含其参数或内容**); +- 匿名化的崩溃栈与错误类型。 + +#### 5.2 绝不采集(显式负面清单) +本遥测**在任何情况下都不会**采集或传输: +- **QQ 账号 / UIN,及好友、群、成员的身份信息**; +- **消息内容或其元数据**、昵称、头像; +- 手机号、邮箱或任何联系方式; +- 凭据、令牌、密码; +- 用于身份画像的精确 IP 地址(若服务端在传输层偶然可见 IP,将即时丢弃、不入库、不进行关联); +- 任何可直接或间接定位到自然人的标识。 + +#### 5.3 如何关闭与告知 +- **首次运行提示**:软件首次运行时会在控制台与 WebUI 一次性告知遥测已默认开启及关闭方式。 +- **一键关闭**:可通过环境变量 `SNOWLUMA_TELEMETRY=0`、配置项或 WebUI 开关随时关闭,关闭后即刻停止采集。 + +#### 5.4 用途、共享与保留 +遥测数据**仅用于改进本软件**,**不向任何第三方出售或共享**,仅以匿名聚合形式保留必要期限。 + +#### 5.5 生效状态(重要) +本条款完整描述了 SnowLuma 的遥测机制,但**仅对实际包含遥测代码的发行版生效**。 +> **当前生效状态(截至 2026-06-17)**:公开发行版**尚未包含**遥测代码,故本条款目前**处于未生效状态**。一旦某一发行版引入遥测,将在该版本的发布说明中明确告知,并使本条款对该版本生效。 + +### 6. 数据安全与保留 +本地数据的安全与保留由您(运营者)控制。建议您妥善保护设备访问权限、定期更新 WebUI 口令。 + +### 7. 第三方组件 +本软件可能捆绑第三方组件(如用于音视频处理的 FFmpeg)。此类组件**在您本地运行**、用于处理本地数据,**不向作者方或第三方外发**数据。 + +### 8. 未成年人 +本软件面向开发者与技术用户,**不面向未成年人**,作者方不会有意收集未成年人信息。 + +### 9. 您的权利 +由于作者方默认不持有您的任何个人数据,与您个人信息相关的访问、更正、删除等权利,应在**您本地的数据范围内**由您自行行使。如遥测启用且您有疑问,可通过第 10 条联系我们。 + +### 10. 联系方式 +隐私相关问询:**motricseven@foxmail.com**。 + +### 11. 变更 +本说明可不时更新,更新版本将注明生效日期。涉及遥测的重大变更将在发布说明中显著告知。 + +--- + +## English Version + +### 1. Overview +SnowLuma is **self-hosted**: it runs on **your own device or server**. **By default, SnowLumaDevs (the authors) collect, receive, and store none of your data.** The Software contains **no** activation that requires network access or transmits information back to the authors. The only data that ever leaves your device is described in Sections 4 and 5, and telemetry is strictly limited (Section 5). + +### 2. Data the Software Stores on Your Device +To function, the Software stores the following categories of data locally (e.g., in a SQLite database, configuration, and log files). **This data stays on your device under your control; the authors cannot access it:** +- **Account & credentials:** the signed-in QQ account, session/tokens, and the WebUI login password (stored as a **salted scrypt hash**, never in plaintext). +- **Relationship data:** lists and profiles of friends, groups, and members. +- **Message data:** messages processed or cached for protocol conversion (depending on your configuration). +- **Runtime configuration & logs.** + +> Note: Because SnowLuma is a QQ protocol tool, this local data **necessarily** includes QQ account and contact information. This does not conflict with Section 5 ("telemetry never collects QQ account/contacts") — local storage ≠ outbound transmission. + +### 3. You Are the Data Controller +When you run the Software to process the personal information of your QQ contacts, group members, or other individuals, **you are the data controller/processor** for that information and are responsible for compliance (obtaining any necessary consent, securing the data, responding to data-subject requests). The authors merely provide a software tool and take no part in your processing. + +### 4. The Only Ways Data Leaves Your Device +The Software transmits your data to an external destination only in these two cases: +1. **Notifications / webhooks you configure:** when you set up a notification channel (e.g., a webhook), the relevant content is sent to **the address and settings you provide**. You fully control the destination and content; the authors are not involved. +2. **Anonymous telemetry:** see Section 5. + +### 5. Telemetry +**Mode: ON by default (opt-out).** You can disable it at any time (see 5.3). + +#### 5.1 What is collected (anonymous, aggregate, non-identifying only) +- Application version, OS and CPU architecture, Node.js version; +- Launch counts and feature-usage counts (e.g., which adapters/commands are enabled — **never their arguments or content**); +- Anonymized crash stacks and error types. + +#### 5.2 Never collected (explicit negative list) +Telemetry will **never, under any circumstances**, collect or transmit: +- **QQ account / UIN, or the identity of any friend, group, or member**; +- **Message content or metadata**, nicknames, avatars; +- Phone numbers, emails, or any contact details; +- Credentials, tokens, passwords; +- Precise IP addresses used for profiling (any IP incidentally visible at the transport layer is discarded immediately, not stored, not correlated); +- Any identifier that could directly or indirectly identify a natural person. + +#### 5.3 How to disable; notice +- **First-run notice:** on first run the Software gives a one-time notice in the console and WebUI that telemetry is on by default and how to disable it. +- **One switch off:** disable any time via the `SNOWLUMA_TELEMETRY=0` environment variable, a config option, or the WebUI toggle; collection stops immediately. + +#### 5.4 Use, sharing, retention +Telemetry is used **only to improve the Software**, is **never sold or shared with any third party**, and is retained only in anonymous aggregate form for as long as necessary. + +#### 5.5 Effective status (important) +This Section fully describes SnowLuma's telemetry mechanism but is **effective only for builds that actually contain telemetry code.** +> **Current status (as of 2026-06-17):** public releases **do not yet contain** telemetry code, so this Section is currently **not in effect**. If a release introduces telemetry, its release notes will say so and this Section will take effect for that release. + +### 6. Security & Retention +Security and retention of local data are under your (the operator's) control. Protect device access and rotate the WebUI password regularly. + +### 7. Third-Party Components +The Software may bundle third-party components (such as FFmpeg for media processing). These run **locally** on your device to process local data and **send nothing** to the authors or third parties. + +### 8. Minors +The Software targets developers and technical users, is **not directed to minors**, and the authors do not knowingly collect minors' information. + +### 9. Your Rights +Because the authors hold none of your personal data by default, rights of access, correction, and deletion are exercised by you **over the data on your own device**. If telemetry is enabled and you have questions, contact us (Section 10). + +### 10. Contact +Privacy inquiries: **motricseven@foxmail.com**. + +### 11. Changes +This Notice may be updated from time to time; updated versions bear an effective date. Material changes affecting telemetry will be prominently noted in release notes. diff --git a/README.md b/README.md new file mode 100644 index 00000000..3a8e7979 --- /dev/null +++ b/README.md @@ -0,0 +1,110 @@ +# SnowLuma + +**让 QQ 原生会话,连接你的应用。** + +QQ 客户端的 TypeScript 互操作运行时。
+OneBot v11 · WebUI · SDK · MCP + +

+ 最新版本 + 构建状态 + SnowLuma SDK 版本 + SnowLuma MCP 版本 + Docker 拉取次数 + GitHub Stars +

+ +将 QQ 原生会话转换为 [OneBot v11](https://github.com/botuniverse/onebot-11) 动作与事件,通过 WebSocket、HTTP、WebUI、SDK 和 MCP 提供统一入口。 + +多账号会话、消息与媒体、连接配置和实时日志,在一个运行时中管理。 + +**[下载发行版](https://github.com/SnowLuma/SnowLuma/releases)** · **[快速开始](#快速开始)**
+[部署指南](https://snowluma.github.io/zh/docs/guide/deploy) · [动作参考](https://snowluma.github.io/zh/docs/api) · [问题反馈](https://github.com/SnowLuma/SnowLuma/issues) + +Windows x64 · Linux x64 / arm64 + +
+ +> [!CAUTION] +> SnowLuma 是独立的第三方项目,与腾讯 / QQ 无隶属或授权关系。项目仅供学习与技术研究,请遵守《QQ 用户协议》及适用法律;软件按“现状”提供,使用风险自负。详见 [`EULA.md`](EULA.md)。 +> +> **Disclaimer:** SnowLuma is independent of Tencent / QQ and is provided for study and research only, “as is” and without warranty. + +## 核心能力 + +| 场景 | 能力 | +| --- | --- | +| OneBot 接入 | OneBot v11 动作与事件;WebSocket 服务端 / 客户端及 HTTP 服务端 / 上报 | +| 消息与媒体 | 文本、图片、语音、视频、文件、回复、提及、转发及常见卡片 | +| 多账号运行 | 各账号独立维护会话、身份映射、消息存储和网络配置 | +| WebUI 管理 | 账号状态、实时日志、连接配置、动作调试和存储管理 | +| 开发者工具 | [`@snowluma/sdk`](packages/sdk/README.md) 与 [`@snowluma/mcp`](packages/mcp/README.md) | + +## 运行链路 + +

+ QQ 会话经过协议桥接与 OneBot 标准化后连接到 WebSocket、HTTP、WebUI、SDK 和 MCP +

+ +会话接入、协议解析、身份映射、OneBot 转换和网络适配保持独立边界;多个 QQ 账号可并行运行。 + +## 快速开始 + +1. 从 [Releases](https://github.com/SnowLuma/SnowLuma/releases) 下载对应平台的完整发行包并解压。Lite 版需 Node.js 24+。 +2. Windows 运行 `launcher.bat`;Linux 执行: + + ```bash + chmod +x launcher.sh + ./launcher.sh + ``` + +3. 打开 [`http://localhost:5099`](http://localhost:5099),使用启动日志中的初始密码登录 WebUI,按引导接入 QQ 进程并配置 OneBot 连接。 + +账号识别由登录数据库的文件变化、进程和登录事件或手动操作触发,不做周期探测。未载入的 QQ 进程也不会持续调用 Windows Restart Manager;需要重查时可点击 WebUI 进程行的刷新/重连。 + +## 接入与文档 + +| 入口 | 文档 | +| --- | --- | +| WebSocket / HTTP | [OneBot 动作参考](https://snowluma.github.io/zh/docs/api) | +| 部署(Docker / Windows) | [部署指南](https://snowluma.github.io/zh/docs/guide/deploy) | +| TypeScript SDK | [`packages/sdk/README.md`](packages/sdk/README.md) | +| MCP | [`packages/mcp/README.md`](packages/mcp/README.md) | + +JSON 消息段接受标准的 `data.data` 字符串,也兼容 `data.data` 非数组对象和 `{ type: "json", data: "..." }` 简写;`data` 必填,最终内容必须是 JSON 对象。 + +## 开发 + +需要 Node.js 24+ 与 pnpm 11.25.0,日常开发基于 `dev` 分支: + +```bash +git clone https://github.com/SnowLuma/SnowLuma.git +cd SnowLuma +git checkout dev +pnpm install --frozen-lockfile +pnpm typecheck +pnpm test +``` + +贡献流程见 [`CONTRIBUTING.md`](CONTRIBUTING.md);模块边界与项目词汇见 [`CONTEXT.md`](CONTEXT.md);开发方向见 [`RoadMap.md`](RoadMap.md)。 + +## 使用边界与许可 + +> [!IMPORTANT] +> SnowLuma 使用**源码可见非商业许可**,不是 OSI 开源许可。源码可用于查看、学习、非商业自托管及私下修改;商业使用,以及公开发布修改版或衍生版,均需事先取得书面授权。 + +完整条款见 [`LICENSE`](LICENSE);二进制发行包另受 [`EULA.md`](EULA.md) 与 [`PRIVACY.md`](PRIVACY.md) 约束;商业授权请联系 `motricseven@foxmail.com`。随附的原生附加组件为专有组件,不在源码许可范围内。 + +SnowLuma is source-available for study and non-commercial self-hosting, but it is not OSI open source. Commercial use and public distribution of modified or derivative versions require prior written permission. + +## 社区与鸣谢 + +- [提交问题](https://github.com/SnowLuma/SnowLuma/issues) +- [QQ 群](https://qm.qq.com/q/g3UMLpWALe) +- [Telegram](https://t.me/napcatqq) + +项目参考了 [LagrangeV2](https://github.com/LagrangeDev/LagrangeV2) 的协议定义与 [NapCatQQ](https://github.com/NapNeko/NapCatQQ) 的实现思路。 + +

+ SnowLuma 贡献者 +

diff --git a/RoadMap.md b/RoadMap.md new file mode 100644 index 00000000..8cd7f7d4 --- /dev/null +++ b/RoadMap.md @@ -0,0 +1,9 @@ +# V2.0.0 前计划 +- [x] 统一Uid/Uin提供一个Service,并实现Sqlite持久化,群/好友/入群和好友申请 获取新Uid。 +- [x] 优化Debug体验,实现免打包Debug,同时数据目录正确。(Proton兜底思路改成ts+map提取类型,用于tsx和nodejs,vite正常打包的时候剥离) +- [x] 拆分core,架构为Common(公共能力) OneBot(外层封装 协议转换),Core(Api raw能力,基础能力等功能),Bridge(封装和关键解析能力和Event message/sent group/member_add ...) +- [x] 剥离ProtocolBuffer定义到单独package。 +- [x] 整理发送和解析消息链路,提高性能。`packages/{bridge,onebot}/bench/*.bench.ts` 拿到了基线数字。最大瓶颈不在 protobuf 解析(已经 sub-μs),而在两处 SQLite 反复 `db.prepare(sql)` 重 parse —— 把 `node:sqlite`(实验性)换成 `better-sqlite3`(稳定)+ 缓存 prepared statements 后:`group_member_join` 全链路 17.5μs → 4.7μs(**3.7x**),`storeMeta` 17μs → 11μs,`storeEvent` 23μs → 18μs,`findMeta` 5.4μs → 1.3μs(**4x**)。送侧组合 hot path(storeMeta + storeEvent)单条消息 40μs → 29μs。另外干掉 `Buffer.from(pkt.body)` 的冗余 alloc(pkt.body 本来就是 Uint8Array)。`elementsToJson` 同步快路径 / WAL checkpoint 调参 / JSON 序列化替换 等次要优化点保留,待真有 throughput 压力再做。 +- [x] 对齐NapCat设计采用Api层,挂到ctx,Core与Onebot都这么设计。 + - [x] Core 侧:13 个 Api 类(message/contacts/groupAdmin/groupFile/groupAlbum/interaction/friend/profile/forward/misc/extras/web)已挂到 `bridge.apis..method()`,`BridgeInterface` + `actions/*` 全部删除。 + - [x] OneBot 侧:`ApiActionContext` 砍掉 ~40 个纯转发字段(groupAdmin / groupFile / groupAlbum / friend / interaction / message / profile / web 八区),actions 直接 `ctx.bridge.apis..method(...)` 调用 Core 的 Api 层。保留的 ~30 个字段全是真组合 helper(module-level send/forward、message store reads、meta-lookup composers)。完全 NapCat 化(class-per-action / TypeBox schema / actionName 枚举 / auto-register decorator)暂未做——profile 文档/工具链需求出现后再做。 diff --git a/assets/brand/mascot-avatar.png b/assets/brand/mascot-avatar.png new file mode 100644 index 0000000000000000000000000000000000000000..557bee74d7193f5ba36d68a2b206e43593d47894 GIT binary patch literal 1333443 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%0AYepkYV;I#A9BA+LJI*o&mMLm?jZO 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

`AF76JI8;6B0v@;odRit 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⪆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%0D4T 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

(_pz2

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%0D7)-!>2Ae@wix(csCSwIaGcp7W)BI|+@w__; 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

Bj61tlvAryS8dr9(zuV1 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%0ALWUm5SnlHaTNeG4|r&S<+j$ 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℘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%0AALk-$@Q+>F($Za1q=Ri6#Q2T8Og!^qD! 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 z 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

myyI zJjHsBf&h+U`48ZBh3C=ortbf2bA3UND~-!v_^GVpjcbE$ENOakc`&mcBe)f9U>X!d zFOti4IE87K%|efbB~j}DHYvwM5nlC*qf)w>CnjMQ2pu+u#Ss)Mq3k-k6vY!*v!p;8 z>SSA^(&b=C7aHn@$$^1>Ghxtq7=TlTO zk1)bB>b|9I5$zgYLUPhLZ3)460!`+(vYqKV`Cr?#H{ z=IA$LH|2cYxN7UF&Al_Wdu=lpF_Cnmb^$~>fXMKOrbZL!%xa%>g$X7ncWhZcdd}8v zu2{AIZ0PvI=Sv<4P3(5{YUP<%-v&O1lI!KTdC@Mx@yCMI0EG4r?i+h}#s?GkmQFj< z>&EeSKWf`vt*KN?Zu-GSumB>ZMqqMHp1%}LCa5<6P&uj$xM(rGKW1RO83Z-|ZbU$^diTplRe$>(6QF%hbSvvIV zhTqS>a`m^@Sf5`71bA2WO0 zjCsE|{C4q`w;s7gz{6w#D-N7=vTBeRASDRq&0(!XMloqnZBf#n5-A%8w|jW>PXVu< z-XWc#5Hm}H5W;=A&jUz-R)K<}f_6h%kRjL#GatZx>VejLwhZgM8(T1Kqloh}tbi(RM>j>AFL2x` zv#?|4^ry)BmuA@DeZ!&9_*J;L=cCRbWuyBNp#G)2sjwm`=CG)RJQ!g3@WJ!jFuihE z>u?=w9g)FGa|<6#mX|U_L3s;nQD}Gn@b7cg+giG{Wx+={-Wzpz0%5GYa;^DBnUUz4 z($D7+Pv3pdpa~Nv9BTJU<$GTY9$Vq4bmyjcaaxpkpeL7gcp?nssE3X4(7*1u6Z@%W zA8-D$>HN;zt&epVp!bv!N&$aB8{)Bn=jp$eA9#c z%@rFf&mB3xDt}gJ_L!c-I(FE=!kLj$B+SV{!`ppJw-N_j9^4lUS7HQI)46!~i>FR~ z|JQhT`m@FK&dfNOHrbT<}YTTo9e0A)*e#j%W*$`idzy;G`D&{E`D5SSwd zlQ_I%*Z8SDr20+80Qf$*<_&p>ux^xhQg~n-Be~tckrKcJ!U->08XnP&;)oJfbo|W$ z&p8Ad0*?9|QxN1Rxx~IE*o@2}GhKro-ma z80hJM9Q1!)FB547X?YfdA_f9GIGBiL>u>sQ(%?d24bgMFGro90@u#OfvIV zi1d>20tCE-TB_EH#EQ(i(<|^ts!o3Tj+N=tX0Oj`@r}RpxyQfMbyiiy6#>X_$30H+ zW5kX}Kx~BJUPj$sxFycpeCz6uy)a_p?oDg{@Y=!w;jE330^x+rR;tu8eb)@ha@DIM zAXS`RtS&}Dh*sA3x^n9Lpx^)f+1lS*=l*+0?$UjWSZc>yk$Hjca+y@yur>TzxS~P< zC&WY1=0AA0OftW27~3{G1Bk)t@)xS*$wMeEIZzrr4@lY!A$)aKGLs;V2SZ4l+iaRd z=lp&vKRdEv_0Q8zbnG+v`7Q71p(IX&zs_0D)4>%bLWdKjt{bkq7!fuEv3FICL_^n$ zYbvt^dMvd(UPTE5g+bAU0~;q?4N$~+yEU&ExAEr=Xii? zNUkU1H>HRPEBjoGv?`;-P*O2$qZpOFlb)%&10))l9?mRj3@pF?cdBrEdv5iWSMJaM@uqSltYoWXYB>1DOQiGW5o*i&5-s%`ce! z#-*Bwa|ss-p!<3dRyEE5u|jke5&+JwLD=W@73HraK|sis-qm=`WF;z^8?J=KIEtwh zBV)d4-@u;lIp@4L@9)8mg>*w_TBNTr;pX2d3@aL>wg|N zmV9N|v$~&V>2ke>MiM64H*U{{t^Jo*w%N5{OYx~Mzp6Tw+mDY7RVN|F;KZn+YYLMb zb;DtkR54vLFP#4Oq?uoSesT3X$6w2)OR_@wE2oVacz2Ipzsy>dKPNP$bn?uZ_rJfu z(`j*xfD)$O&jn^0-Mu}`(`;OLG({`EZHK+Q|C*~m?w|Z@yPcEYnALj!BOVdZ!`VL4 zjU}Xl)ALj#Uj&md8AOvWiSh+P zP$q*x3!=W%l0YDk;#v5x!}Zn>BxPz!su13hDFYr&FJly(6XmS3jeIB4OheilK`m2Bdu9 zx`Put4h49DaBOOPs=q@eM-QRFH{JnZA?&d5MW~Eqz4LCv!vh~%!6jx+3 zgLgrw+NI_QApd8{1xsU-myrPjQ zFf1Mx2ow;Cv>+l-Y4%IW=J(|?MxxC2!vz#5dG`D=+r`1=qUT#wM~Y@wWx36rrwAJl z4O=o`SY?F)>r2@zD9|Xt87d1Glqpe{php}Jo|^WDX)TS%kDva}zn`6Uf0x^mY1LAS zoW%*EOthYKICbKKp*QJz<$IH_o!&R;{_zufv@DrBwrxZuLNhT^NZ27#AjCv`e^_Ym zR!?+)sbc-Z7e3l^YX3*)Lg`fX@&8(NdDgs^L#+!(?pksv+!K z219%;>IM3p3$fzcYq9#Tb=YZ>s`gomD^4vG=p^-jF9;1@v|5~k2bWTS79 zH7?GI?N9$)LGOcS9x(

o%{ku*(fK8#&VW!r1K$zrOaaFQgww1FBW*?ICx;DLP5 zGNHvpz{xBehHyw0VMNCSqpC%NFMPPE_?5fvYi^#F^VYG@;m=>~<}a^UXez$Vl2F68 zskM|M#j=YWf)VeB&Fi|1nzCihAD{kUZ(jAbEsmyODS#4fT!ePSq@DeKd z+?t}%d27GeIMT2=;BzGjiy2)GUhg{8yi1CA#SP!)0kr1oU=*shy)JPZgS(i*Q(>tdb{meoCmCi~epcM)kK_cN-Hx#gO2sr?R2e?YCqc`lN zfZWO8CuIt~R3-o~g&g*8iexb2@#xHicf#BS`w+s9$Wt9Pnp|JU3Cf{X=wS&v$mgI( z!MIK1_PD)ddg1_I;p5AQPbni!;S4EsPh_I`^9d7Wl2Hxgdw$GY!^#b)UV^MQ5~`WP zjLt3R0W@k9tw^1yXqJI=`7H2rq|Yw4j8UyHiHRh0G>GM}VzX$qXn7k9!@lXcWXA+h zuov_q&ZW!0$#=3aLe*)ZK;9cr>`<&=pZ4C~PGM*oR7)6|I7P+x8$LN-ux)sH zKUN6WaFS80dsPhllj(MCo5~$l4|PttzO6cM;Hp2o^kCydV;^5K)M(a9+(n4w2vYPK zCcfGz(M5gbx6awaCT~P^MMEca;!Efo-!cp*j#QFX%YGi8R8u&KBrOdv*KTl z+_mlNS>LRg-F@nuc%&l3JC{F@*MhB0{^F&BU)%+{Hj)2y*l_&4?{*%)HY(yf&xExdQ}nVO$lUmlY+C~N1kZJ}*>pJ}QD`BlW;7}Ub!16#p;GHSil0&{ zvJqSZY)FoH_)?wo`3}mY1s^n?H%_r0yXo#n(8sHtjz~q&NVchAY!x>Sq&glcEJ>As!kM#qOk2`Yg^Yx`u zmJK=oM4p0UgQ94BbW`;=at9y9q>B*1uP2oqQvEf+i@SR7{IX^5<&}5*c6H**i=TLP z(NfM}9B`F_zMR6p69^T*46ZYW8jnKqV~I<*`4ZW4zHazsgsQ(`@>UEz(oHT3qK(0X z!WShq`<(1H2?H$hk&_8sS}_fq|NBG7A31tt(|Xo8t=uE1%y~S7V!z9*gpAvjk^P0jS)wo+@GQ#c@_~VI4mdq0MFRR-)n7IIq}!# z1HYeo`r22?e<8fj6uQkw$rnh&TZpvs=1W1kd|jTQNla;#nGgJMX>9R4oE<&aM?izm8T4W{~yVrAl3MNQhr!y;W8uE zJ$L5^yDomq)ILwZZ^k(l(4uD=P>Dh?ldzUScQ`k?Ic?YU$v=F2-*FD{`>5nty?#3>Yd*F>hwiGVY%#QfO$$&uRv&U z=Q{uNVwX-AcTK!>eAuP?Zo$D0Q>xUG+2f{6Z~1X@mF+F6O%9FkF>vi4)@-=ze7DbE z?y{n`v3gTZF3Ujy+hRal=p^{L%#0Ryd86!4eXewE^ZCCzPCeN9a^2*QNdXkF zIF8c1(EKGtIn?F2Oaa777??gw;=*V#@B_pk{8p4mF3Hd(S8J3LFnLYE()Z0+o=+M% z?2VzlRs!m7o|84b`rPp+n~M5={oXNW#kvcX>-@{6cV2Pi!({_)?0|(!I{JTRdo>{Xdeo67$Vfu_bYW_kU#tkzqhuI_uwX)q;JmnChtTpJGmC`|~;fdWIZz7Q(riZN<~t0|C%pv3=6h^ zIeWy^Dqx$Wvm0$v$3=Qh#bA+tg z#&^AC8%qnxWZvrwaOkB^j$}4G0C`34CRMbXv`x&5GtVYUUFuXM5^;I!>e(X>x z;h)$Y*6PId?dPvP_QU6kR!%CQy!2^tj#OB^K9+4{JEoh!JG~kBa@3pBl(ydS^{?H0 z?qFlfrcJ$0FTT9H63ex=-sH^zYAgJ+JMJ9qBp zlaC**_;JDb?~ncCm6xU(P3XDX$X1F%>|v;rEls;V|DyVX4?g<2mVbKt{X|27)0JI! z`{1sWnyCdZPqpX8r*(|o+5YZbKYjYafC`2!4tPX`D_j?Q3~BEgJ#vmrDOvO zbUfIKEbZU2g!T4EYSH78{=0ir08A|Zj&@l-&GuYj= zxp)esktDi&hg=v?4F`qJ(%NQ-%tc)T=*?V?T0O%-bH&?VHU|{Q?h~kPrP3~Xe#|eVr&=j1eTji$t9U{s+XGK$5 zf>BpUI&G?eK=KDWqfC@mfObNK=pq_mYRl;cjE+U6;o?7J0keDDCclfWdBd5Zte7`I z9PXoD4Ae`K88vr>a5;={u8YEenxaGt?ij+Sp9xCmfe7Ppl_ly$+y)#oqKgd1`S<^; z<@28dfzm#=jNZC({$shWZ@$X^+fC6v^;vaoL+_p5{Fhr3M-KV*p`B9={%~o(t${cn zQ9LfoN0RWfJf`x@5W1LxWRT9*L!!)z!~cQ@o12z8_WztxxcS%D|FY$VooMOB^r_fg_Y!q>_sNSg))7z)N1_l^3J3LtR;=U1WCk@xGW8RTxT_j%Z_J* z3o6ZIL(E{qYsxjb-@JWqc8r_ZQQ5uhSdOTbIs!@Z1oE{R+WDONkWe4WJM2PHB3Pi} z(92>|szNoiH`*N?Wl$1n1iF3_N()+!iU+eqq z*>4tJuYB_rn*|0bKQWnM4(rNu98uJ}R=xSUKg9@Tpfo&!lL7^ug(np7?I&7kW9o$6 zmm=6Q&SD%}#9?#8+DH{JK&F`kHc?*|krS-8zY5{TJNCG;VEKrwtV1_Q{3Qo{jH zgASVp*f@vLWWZjVY4AHc1fN-{lWZvRd<@=pSrMVDmE$VHeV}uA4E_{?AFs=6QXGwW za;fn~d2X3?w~1=S#x=|r48VulvP4#$8pif1<}fBfa`F)iqJoX}mK14g3WE~h81i&t zbs!baoIfoTNVP;Da~DAJ>KvPG2(z20K`me$C(;&Iq*>KQQ9sKWGeKP`;j422R~GJ2 zH0_`NYnN2H=^B`T!HL)Fi-c4EIQi(sZ)P5!v!r)Sph&aTVqsuFS`&pQKN|Vd0>TJBlAG%zL5N)!f&n8Unehv8T?EcI0U^l9j@*sPCFrIw}!~%^J9U z$&(rVQ)=dK40!Ezf+pR}h)n{ffU}}<#wSlXHvjbgp39e?|8@JkHw1RJ5o7Nme^}Jj zeB{WHtVc(Hn>dX@Wns~%=Qp=afA6{L*Hd%!K585jQS2+_SPW|l#(-{LTxaj5sg|Zi zzjgli#bJYrF74~;ntbb>TfB0JDG4it5Uf%(V-kN++9nz_>0@EY@p*7Gp_U|wvehL3 zcvz0jdS~xsuC4q7C46rdUUDAlFfWLc3J5#y%@+FLAS0jgm1~8Cf=v#oWf@3fmhuZu zw4J3vnum{Oh*7)%#;~NNw8viw6)BL`B$=-&AzzUsWx>Mmyb_;7FbAoL2J11JT!Lzu zEJ*fdz$^^i*DO|t$7$3B=sr6osUb9imlA}qpPh}NmWME?=!UMJ@MjK6O{|V^2T*G!Bobg)zxZqS0|iw93MD zYbnnG8?m><--(?F$&765kU0XNAk3>hhL|j43?7Lm2Xe6nS-PNX>Bv=%=e}>-u_?X# zh2O7Te)a8Jcpcnhr%+V-OgB6NXV7ZMmjW@H8WLd|H`H`e{Y}xP7~r3-r<$%_DnB^j zw9F|^sr1caEbdNFe1b0nNDzi@kfEqRb@ElR?p)3Bp$P}3GgwGM91bH=J2%rJGgDBI z6jG0LsbXLJRoW+wpG|$tVPvQY9}>h6!#vIxxesJSvbV7npP<;wIO{+zU;NrsW z_VEN$W6Y&-8e4glb*a&{z_|5KuVi)>QtD$s8USOm$V&JA3Kg&yQ~YaQunNfsa2sXUVS_8Gw~i`^j!Q;E_zOBvx5d zn2f3xm)Vw-jgc^~nccKT{xf+7cOOzWR2R$zxw~hbPnc?2i5==nzt@tF#8Y~jvhCf6$kZp+E;zg!kG=Zc87?Uc`3M|J!hFpP4 zQiv)Rpg0qvsRktTyi1*y8oZj-tNddS%}dI#Hca@2$j0CHm_GTYNrPwB3JsDX%a|B3 zn}WN&!16Q+JU5!YBv#KT*&=CLo~lt{4Bq-yN8ZN0d#?Y~I(ygU?N5vdVNaf`gIp%H z`Zd`uF>2Q_>$v!l)thIhwM`4bys7q-8+}WjJ$`vF{vTkG+*q5) z!Wy~zYW%L9fo)GbduQ=8KfVlrGT`)yy#H=7`UH{p71OW|%Siy;UPGFopf>kF}Kx_WgGGxBvEi^76>L-%^2O z(6hRg^0}5=W-nA6Xab3y(|}N5VZfRbcC3GS(%9({_6Z;ImY6YXQY@@t5)!^;xT}Wc zZf|0_{F00gGqH~Vvy-yZY1z^pmIH{x6=dFB-ttgP70kUDX)$$|{?6ldmq}w?E0D!p zIbfj4qj8qn+;)y_C=+0pN{Gm-2?kFIkr;b;DYWSu*v@PLLFLXf4(N$J?8cCidU^>R zPbv#jA6~wUaimAajcmsN5v56EnVSXh%o6H(;W?nv{1V~|ol>||6fi6>)^X7I9^@CM z9ZaxLA#%|vk^g+^>}{uVLyCfDAc=r;gT+EH;;z}er0<7UKAiD!22)2Y^0YWSKA{R( zf@wkF4@KytK#nM1B$X=><@trc!hsX^jh*Z2F7ErQ zqQgr^4_nf;dis|XlOXY;?)~)F{{732Z7pls&mX$}^X)I$>rpoVb65ljCA$E6r%E_V zqD=K)&G>8blGC@Hdh+TI%~S4t^5ne5iK}?v7`#95-;Q!*QM-9NQ zVnLvN)C$LHr?Z`>8{|p>Tv2bqdN3KiEbUS?_zG#D47qME zO}s+Rh4up8f^@pDUtbk}kyL7r2p?5a`b;Xa9))E;>E;}jB8$Lbgq5%ycRPd83s**H z8X9{k?vd{N7(k?9BcLh-1}20M9SqL=a15JA`G4=e7!|!#jeV*gEGU*RdmIBRJ_4go?RCo+B<8-EpoL z_5-;Dxe#NX-MjB$5t*79*kg#w;&mk;buOw2hIvmrRLO}4By!rvv>lN zExea0RH)7|H4zZ<2}RT*)KnwaMb>K5y*^`?LV!zazqLN+gPW|A2}pgS=8F~-M5VeHO2dv|Lu?44^Lg~ zokH2f@4^3s=gHv)gO4O~d;Y#6y7+e=uDaA)e{@O`s1Zzm+FsP+*I=M zcb|U!_OVB1V$=}EvY1&jUxRV3(ac(djE*+n?i>0)ynO$i*N=Vo{v%^fyN{+V4%`w^ zN&UJFCk_l-DfHyxBxw;*&5HIEEZvE4WGxv~2CrMrhOzg?y`@>+!AieR}6>|!!G?`bE z$$)7oU;$)>k5UGMp}D4uY2+yY=<(22*py*muMs~&gqBXhDZxt^W0nOEnhln#DfxAQ zAcXI9i2UR8czvjj{)gpZEUIb@UvL&?_^NtXszTypSrLrGb-Z%9Cqo+ISYj;sDU&Au zo;J1cj;k$ehTXN`!kFb3Pkf#Enqn)7EU?0@s8a)(=XgR zEiIhRvN>p2@{3FRD{QE8OGl7~A#GLE`Q{BFRj`kl?FB<2P||YyxZFfdF!5fEG{ZoWT}bJ-Q4=8U%k- zDoaJdLp{!ka!$*lr)Jq)#YxnoRAAb|VrM~l#kb_+lXKwO5~U;+Hj_&#Yd0V`Ciaqz zP=O>;Ziv(%$U){~^uxew1B)G~e^lHF1@X+!rZ;&8-Pz*@xmAvdw8o-?^zb!+&KS*c zBO=5Zq_ULvpy)>ME5-~xT(*!=*Fu^Win1(KR%6DmG}+0VJ2zG{g*==luiZ%sv;B<`F@VMnb3v}@)_%>;oEkJ?$KHpwfu-C#+#EI1UW90& ziH+c=*xgXI;nx>ahwJ8-K6zxzp7R4no*K9Dt}luns%gmB?JSL0sRBgMljSux;%gt@ zIUOz_O*9G&Bv&2+=qTyahdDU5GC(PzL)W=8j3ucrp(N7KE6n*3`QC!@+3w9m=4w25 z=x3N0$p52QjOlVQBV*b~6i%Q9{Fv&3*@&wsv~GS0Hs$6LCiEWmgM!$xIvgWe`KeMN z+d^qUD3ySVYU{()8>C=aG#KD>lIfTv(E(`(7sGI7&cu6>%wSSfBrMYilTi3B_jsIARR;G_Z600oqbRCI>)*k|CpKA&doXd`>FTl%zAJ3 zt>(B8ZGHkq#u9v@_+XI>Gfp$+fI$!Cuf}s1cv?2Xh|!@KKb*1or5T&dmSnzboH+sT zgc3HyRF~oA3dsGm{vdZ{#`cXB8PCpnVbJN@pPl#Pw<}vVott=iqH)6{W0uZu5z>V{ zEn@T9%Z88{uw6%bl3~sv&!ciolH6PcV2dlDB$p6#P>yqb=mN6Kl{7}Jc?9SvJ|Get z_F3Yxvsqie>R(Uo-uGMmgG){>`R&5M%hR@un#$@V$kQqCNP!v1*MtblJ+`V4Hq&S| z%ZEUvStfPq{l(S zhGOpQV4_1jy*LYTPp;RTFM^>=L5x}IY+l?me2>7ew%f}%vyg8*Dh&rJv0$cfkmP8{ znWkCf2JfH|8G+>UvewiYgsjlWzl8MbEXYwIBQhb5sZLa4DwJ-6laQy!^C&qG&M5T} zGhb&MSQzAM!4Zq8njg$3r-3R~3(Ykeh=c_c;u0Y==a>U{<{3$p6Mcl*q5OKJ?@-w* zWAM20w?{?LL`&Hs9TJw(#VLF|!}sQ&uZSqnSRrfT{IQ z@QvDydW`ynLr?Xuz}Ew^iuC(W;Q#L1_+?c~;X5T?L)bJV;4QLb?1qbcdm#SWU)fIpvj9PY)QgLIVW=U z5T#~pwzDju|4+3ur*;3U;?Xhx9(>qhD0O9FLJjti%f)x0&xd#KLc!(YmQe{3$+IZh zydb1{5ffci>tQ7|FyqGt#)B0V4=F-Dj}H?O2nwQ)8KhK>w+?0tBqfLZ+dUIR`1dw} z6dU(Qj*h~!b(xJ_W9b!e73^8+)!B~!HLFIg1`uVb%wV)Z4&wSG3mP5@5CrjE3Z|DQ z4lc$7llaOtQLT&u#$4RUMi?@sw0{C)r|7aMNenj?d$!PRd2$C>b{>EmJLQs%Sw2ip z(j?)VrUPy#W6(MDS?pB+fh5{ZMx~M9Gb|5*C9T$FPmM08=*o+`bEiH5DE@8;d4Fa#N;s!9=8x zt#Za3udj%RF&_lxx6V6xK&Q2p%$shZ&oJQkWYnp(tU1 zh|WHG;Y_8M;aJlzOI``JF|0!2>PvX$`LcJ1O^`OpxRH3Ghh(O8q=6y{P6K4=K z2Q}YZUL|uT#b?d-IqB*ET;j9rXddLSN8zEy=mG%KfF&8~1cfFfYEK-`11N>NCq3{K zS~BXaY>NK4TY7>33y^_$N@+d7I)L?eo^xNpeWE;=f9BS(f%5wRFOsCZbz z)KCUogZM`^mWOO#J$}oRwf)D9tNeca_*ubMlR6xrl{wUPB(6+Hfy?Yn_NT?ECGmIP z!t$L*E_W_F{l%tlDr;-Tt^zcIg=xyUeaDIwCr`cx5>hqk_zaz2L9{WNa=g9op4V|= z!|bP9F2283MAj%X^#fGqt(}h#U(|W<`R4QIgOi5Gze|FfT?2koY>_`y0!fUMaVol9_SDGXxHn4z>aT|M=O(9tw(BU{R(>4G<%GPjEg&+1P z)iS6q%*%BWmc6y7$dI8%qQp$$c2A;RHmA{25lT@Pqka#0WGNMdD|hA|8ZnZpEKF2k zEfZSEmYt>`EDBL zRXSM0$`XD~Wg8**$tmdxJAZm^|I=T;_xrV5hCT7p-B~za1+_3cv7FG($VDEV+)q@* z*d8(m(*Q-XZF&2OZ>DQz^S#3*%}K&{atkM6o(x7J6#0hN@4wp|Y|NPa;Ge2memHWZ ze&xEE!(Lc;;cTF}aOdOR*N>KmSqp-cD>+gc5P(HPDcF?icp790<)y>6wdCS7!rVuv z%%Jfv2xd}c=X5T^n@6N_?CEn1!EnUmWBoc{f=EWKhVnxuccc0Kzs{;nd2j!v+NaMi zJF)Kf+Q%Qb!DIwkH-OGaZnb1CBI7x9ozKnvNh;$Cg71*cWo(HmsFdLTVuwPHA@gVo zb}LQ_Obz}CA5&5zmk!N!CqYTo`9qvJ(rMsdCU>N&G))@_=0suHr>2nPtn+Sid%l3dH&n{ z-XZRny{9_l7fI1vS37womPPAd7EpAW6+~(5MxpEclhjcGipknM#-JtFL)Q2BD4~gw zVfK-5-Yhvfxl$t5baOy`EU#d!FfLn@mn+&s^;0*jF@EX*$=@pJ}h$6SqabDLeG*WiRNXM@*Qpx5U7N8#<0a%Y(AjEK@=#A1 z9ET!Ii*e|pDW&^^5Ma+>%%RdwM0@;o8PYDUC=D6wC_gd1p+%t$r0A0kl?05?d@Lpc zVt}!3`WU{AnP9(K z)**o9izl$=CHrac4q!U{Kt21(Nb0nGY%{3o<{&qqINjK6<@)!yq$iE- zyRJXqU3g*7=a=`U3v)E=fp=07iWGgb?cAZpeurmdq*(&tw6usqk{}g?qQOlCm8&N% z|GM*`+~YICrM5ERM6iHP3et_M6~}Lr(qOp7`M@78?f&M{cZW`1{PLTVoqs<5##)Lt zFkT?L6Rn_b5{YBy8)zPfs|T*;nG+Z=XEidgpqbQ39=W_^+AC6o$L<4YOCpG~`;9;! zr;lWsg@7j!=Es#HxO|nZpoC&~9S=Y&>!nD}q*YzQvfuLp z*IhjPFIgm5P+vwkjF`kN)H{*a&GA#t;{2HSa?90o=MJr0*Rd5K_V#@Qj(=ahX^U^8 z2~ca+(7XBZ5CPa@!Iyz?rc=P+L-jC86PB{D)@9fUxC9U@ehp|zjif)T0gATK1abkV zKn8n^C3rw?YD7@o(K(%C+kF$4?i{e-qwn6>dV0~}epSEr-C4dOMqDvKa$~yRlTKLb z!JXhilg)AT>q{vF5-v|Y&z=9qEZMA75Ao1+$ZnM9M{P#+X(dG&WRwEV<~sD1Td+Bb z0-G+Ua6WX4V!r5wXYLi!c9jP>euBiBt#10>=^(v$ND!ienWD`cqKou1pa&IK<-4lz zsF3_1m>x8Dqyz&d{ zbJL;-xqxr$p}^28({}pOTzX7$(oF63swJjV;+wy*tQs@s>T?r*dgJQ(_Ptk+)O>UM zu^E%zVB?R=XY~bRK3R@a+4U;<=PmY4~OYNMvETN(Ol-{PxF zPVSxg$V-6~6xIjlCb^+Mq;7oPp0av(tObUuql1Po1yV#_U3UC{C-3NZ;`rtjGe~qD z^~XMZdr|__EWPErwT>>dOaatkWk^JcQ{x<3Wu$Q8(N)8KzkcA(58j*e+l^xeUGJ=X z+}bq!)xj>+m?!s@`kdRNOh*M(!uU}gb`@JwMr#UL9=;WwZS4;1jBcn^a4-b<0O!D3 z49aYX)Ow|V1=YGlo~`H(@k}!{Vmi}PJL2|8uwmb(Fvt09$R>1u_oQl$gTty9y=a!VZE;jTqr$}-nLxu7|8?|;W%MvEVaj?5EP6hMc zj-jg|!Q=DW%-kSy+yRObMoYS_4baR~;_-zEQpqlwfNG_rSj^-fIMKcov=CC}Xkh

uVejI|>Cn99m1tX2R#MdqA&<51|@HY~{q7ZD;Zx6nD`oyktjnD1B`p%v`dmfx7 zhFQRf^+-{i8JdPa#+0j({W8*@$Lf=YpjKiZvE9}+JzN?y6_mX7?6gM@IZ&pASYaeZ zQL2`_PET2R|C`6|_;FAByGQ0ddwR+2Y4@%)=iXZ|?r0g@Zh&b%o1k}c6oeoGkqTT5 z^fWj+VH%lNt9TmnYU5R;Q6*7@C=pi;3)m25pA2=m*)7|B)7{uZh-qYtIDDfq1*ykit(QsX4;lPeDkwEvoV2=dG~ApNz%^hxl>=hN*SlQ=p@+JBa;Xm) z0kE=xU!J+4m)iu(esM(+f)4CkJ_^r0Ka6&NI{62#0$7s|A3~(KWQEn4s*6@Ge{n_3 z(X)JK-v?=_9*M;YXDCK^G0%UbxU=n8#nHnD%3R(C2i`M+4T{4oj0MP#G6KbLAH}8E zBDx3ob7a+JE8E!iyswZ|J5Lulw!Ze-mM!LuNqVMUoP-=eHtvLXIaz+)bKtSt*hKsG z&Vl3h%`dE+n)rGkxaX#)@A>$_%}=)Os`_xo=ssAgz%*d}havP?`7^(MeyQu&!!HjV zzNCbqNk@>eWSB1X5VV?A za{Vu;m16WsyaT2mW?xq=sH%hN!|2XW%!$ zfKq{E$fH%nJDMIEOun@A@KIDrBf2P%*;CyxgNHMu0r>JoRZ5;7^)n0#r%#VlU|we=!73LG786a zqzrq0VbvWwp120*@Y2I~U6}Xm1KEak_4QeHm2m*>-IQo+As$t&0~%Odx|Ti$U_wm= zn*CpQP$t7AGB+wO$%&xPSEOg*WS%hhlODc!0Ze4n4pjdV9e{(g<=|6ePds*XP3x}i zOT+H^Zqb(V712JtH*s+zC_x#I&SoIsWY^QDBa)zR5Hq>EFkK)Qv-E(QCIF};iP*&( zqR!~$6doXN2qCmVpQv!CZ^)l-*wSO5LzI%l7E-nzT=-NbJ;EIG00(tmtAH~d`D2ZAc%jV2nX zmKzPBRfGL0p&c!A>kX-{22q}#eWKNFPU|RodHe2p<2s%9Ev-Ac_0ygISc8310W!U) z&Byr6FBG3ALsYZLJ|MLGF#~>j*WKr-Px_T#KKa42iuIfJf7^6(!5d%y)t>02?IM4b zg%oz8u1`)*jpN}d^Mf$v=VlVBZCr)cn75D~2k^j(0xVokXu;eCULZ2`xc}Q0w0C@Cbu3HH+ z3#Jz&W04SJI#puJ^D*17seVjwqx3uYq-ChmKGusDI+uY?k>1f~bA&T}4+*3ng`@E} z;P+H!g8a4AFn7Vr(FGi3g-7X0a?5QSs5a1JC1E23eLd%GwoPuGkgiB zQx+qlh{})Bfq`q3&0)N`_>5L9ly1r~bIxq;`Z8dum^8=NTy44%-KK7JU&uSW@b@F_ zhkyS$Gh^Og-ufeQn-1*o^Q&_Blp;Tc#c?eeI@as1hEDhDUJ-OK*@E1Ynhyu1WBj_S z%Z@#9BZJ)RY_FlCcE{))YrmcP>f<}#nVa!W&Gh4~k4($m_Q1V&-{Ob7^|V{_g*D^^FSDAZvsgHj(jeZ9ud6-+7T9oV%Ic(>{%-$j3{ROFZ!SZo5DDUIIf*CX` zG9oHmd~i8xi%~JvIc9>$Ib&^RPXlj>Q4U7;dJO+~W0G!lGrBiHWuJ>llCiDJ4e=Wn zoC1uWY<>MA6vh+F;;J|05a|spA-OyXZQe7sf zJySjGYk<~~i0rAzqbJfR(bH03vknxG^F%|*Qe3<09Jab7O06t7yuO)cfzLQMtdA6v z)H{M{F|035D0+?cxVR{4Y{S*Yyz=-YFLFpuNJ^tYD@YU5RToq=7fLkui({6rxm-R( zk)&owzPK{bl$Ta6xP9k_C+1_GS}hgf;3Ae#$fm>VQ+yEGDE>eQ@Oo1HaPv5@vgfss zVf%sb)IR#}Hpr*j)_n14bk@i}B|5E4-kHycp1;8cX(mXhvOMN{?|!uS`_I09>bA3I z1DCoN>>ZdJx?#zQXD>cK?#SgW_v++1DH~Vl4Lx7Zp0j=Iv+q`Z5mANta0le1D~UZrUBL=Q6aKUBb(pz#)I@p7dEDV zvLheOkZLG`{zw~CXCtTbZ;#n{tFvPO5QD))8!uDkzr4}KnAmv(K8#6gon%rlwU4pPCfYUh1Wvsn&01a zWYX4}EeE!|xbL0rLxFNk@r=6qmOM#j}c?;aa@?@NYQZBa)C zaHK(^0t&8gux}-I!>WgbGa~$&e6ZPh)NmAwVAwfs0je8`LiqRaJgATvakJ@ft^~M2 z5S+{yfJs!Rld(0@W^4``a0vp)llzR};`9 zJWLGe>NF?yhSeu32-}u+96IERPfm#4r{UaeJTia$;-?P3@YKKhRsAR2oVMzHB|&<>BZEdD zmnFQu1d`*EGYyt#;^oohr2r^!;vKm3pq2zS%JUgBeCQn_MJ!u_9U2D`ff=K|BNO-RGfjdn zs(1>>hr!&u`XJMj8nbQG3Pj(AWTOBiK^qrS!D)&!dX_=PBvQfL(oy1S7_Z07{I@Kz zp_hHbtyUgUusGjHA>#;9>icZ1&rxt-e=p*=_-klVTMzIL{AU;cAOevgVS!0%a^_$O zdbbYchR3l>l{e4gXr4elr7XM#vM9lbMI6H14OWuT>d$p3SQ4WxOLMKCt{)xw-^!HB z2D^DiSwn#%yH%Eb{t>8IGNId&>$^oZNd`B*k(eroH-r}pWPJx z`+%)i0>_SR^{6ATE0L^ek!iq3T&QYeY6!EJZVB+k zd{%tZs0cphW>KqL9zAMBBz+V$4zs=>$KC5=nB$WSuZFH-bFkC{6bYjyAsK91R?1cD ziq#S*pO&~T0$%CThmxehUq~9-E-vk3Kv)&SqnUDD7tt7>@DJrXu#V%m0_IO~o507? zS(~Oh3#tx*)q&XC^c~F0*ISz7k`plTbD23WgHl~MaLI?$Iu8(zpT17-O@&P@M!_KL8c1`AYNTyQ+6^&68#V37(F`?}dj7RUF>dIKHa+3~Z#uWUHf;R) zOZSZb=^uxVT|2+0b=wR7n0|a~KX6@X)WN1_p0lXF`IV_3PXXgGHc*x&8}pdU0e(dT z+Wje8A3ZYQ(c*8`4P3s*F#N2^5WqDs#&-3dkpy$*dPii4D6p|TAY2r>dhg^*qrMw- z{lKA)svXZ9ns(~L@7Gq&f1zpkn=DICb*aHM@}RJOL@q&zx8s#0nLe~d#ADdQN+4I) z+F3%7tc|R}Ldz|cOD=rEBtydxQ7EBoTqJq7-LMcU3U@G%4;O){PvpF?^Bu;nuz|)q zJYDS}B?^g$ORJ;HABrV9A=-e#!G_+Qr>W&f6C3hO`LL-2%naFxW(9hjW~QbKDyfj_ z8(Ha2J!)e8&UFltK}KZ!7!jjfT$`>|wXg|Lq=BK-#>V##7AFyGsgs7G<-$!JvJ^GF z)oVA!Op!1U1N{|>jQmQ#m(T%vP>(MzOTO7qAGf0$p9 z-B>%qQjivc)WLCP={Uhq&Qx@svx_Fbs?kS7B8hGm$RZvyqWed{(Cr{3cQ7>uy#zd9n_hN9h7R?bznL7T+gM*xix24pZ@pYimQF<*j^}W4 zDCmQBH_LGy50=S6w(u0!9ACPSCi#3JM~MlY^HcYIRc&`X@xunila-`m+5W?0qfIL;s0_+?It5zq@`!Za{o zW`+!z0g}q+j~kaVdju;87?Q#62cwp>&+bWO0eq(Z1eyw9#i)y+E<2_(8H~ih-?}Ow zm+{f?r)nKc8_SE7fF;e06dqI8%5f_OTtl7R0R|CJ0XkL|N|?1mdkBsRT{G=5 zY6KgtGME%Y6@hXS0#iO(O9pZXSfPY6-)H)aQVStQ1n92>$pYiVL=aXF75Vzb)TTkqwF+ z4^HX(?07n6C3aN;UPz=ynb$T>h4h%eKrDtb%Ubem#7*j%uUIxP?X_{`HeO7}WN~BI5 zyr`7#DKMKg&!`;u+gJBoyEx}ss9C|6Vu^)MzTjIip23!=pT5P*7KXFix_qq=u>yM=S_cfRcm5h+JFcwoRHh zmhi=SbuE?!RYaw);)ZgNRIb@zX6EF3J~#%zn5xVgN||QBQc*zf)s2-voH? z<)i~-COd>DD?43Ye~-$g)FbQ-OlV3m$pMz#*?e^ClII6?xEtr9hJX>QCwgm@9Fqp4 z4NzB)cR-$Npf{2gTu4jHPe3XHvPx$W3Q;9EBJt&%l#Ic9X56>&#QFXw5B&D&?US}7 zA`xlMJZ_+ACAUXd+Z6o8EHd$Qzq*I$A#!r=AssH3H!^)K|a?8=`n=>&oOU zI;1KmD{0I9TfSIz_595X_C9fcQ_7M5&Q1OD^NmxDc_Ilui`j*rz`?k7a!U}^cPiX- zhUy0shULiFNUNW|I|y@}?N%rbp}68eXD@?tV}%C9sZ)cDH552^bx{291h*t0uGlpx z&+9Wb*lEsO%qv4iueXjylkS%lsPYlY&8m#c=yjc(xpIZSA?h8>FsLK=_w0Q2=$Y9* ztXqRT<{Xt}>+-mojam9Z_So>=`B;1?Q5_nhrSVgOQBSrCGT{R~;seK{V)4k3A@7=u zNlZ+HpIN5yP950uEDj5L)K$=u;$d&OS z0fQ8=B~?0PN5T@kYRAUf6GbCOp4xeB=bT-?d_Jtt*Z;mFWtf3oF%-p&#_Lo(4g*0y zUV&-|7ke{cZka1f*VxRS*PvRV%3(H>lP&5T;Xlpz!^dwuIBv|zrIUw0GS;co78Pi! z94};Mdm9L;s66eWUJsd5J=x_RJj^*6hQ?aPB6#%4&5A%;rD>5N#w>50q$s$sq{0}T z?@Wl&qtM9+TyPOAt{%z&gdk}1jKCmxg7Z@G`lm~Mg3J*)cpbn>2G#=D2og*Tul{xK zfcrMxHF4#H>pxD&cs|kxvJsMx67svvo@CGR1-VPA;)9WXBL={{E&4gBkui3~Bkh4* zZ_6Sf8&&iw`H+ga4~=#J5rp~JT0r-?k4Rrpi0OVb`KDNE44*(_IfIMA%bqIZ02}zzGsgTBn+i>|Mz2y2w-z2~D^!bYCi~e@@%hJDR zWCXPW*tb|tYdK{7p(Tl(KQ|NT!bLRY2QWy1*bBfwo8-$Vf~*(?DD?gi)Z^>>joqgO()d zToCc%RE=d&)XH9l=U`e=96c5xuFN~o_ll`)2t%mBppH2-o|52$SmN09R%Y|@THNM< z-W+~t_UQ><54yDc>iSVtdzbvM`qd8^NyF1+F}g?a4YUA&pPV1UNAohT3GqMiCNv1i zPBbfeqA%@p_l@JvzA|RP!iAHLzHYYNqPOE&q==kcZ2y4 zbwa?54guXVXqIje&^BrPB(aPG?Ss}FB63>NT-kCXndZ?om)#BXmU}-?YAQpTC4#*q zVs_}Zgy9&vkpOm{)UHI5Pz>FeF?&Pg*gHR`4!RQE|J&95d#|3oc?)AB;3vKclmUa0 zfJr3bN0_874n`gxdO8!{8EG7EHf={lC3znGy)FQl*+XNd^XHCO3UC{wk>cu)ue2Eu zP%~|pYop{`guMbAC46o3@ud)4JJCCO1=-BsQ=`++QCN;%c`Lb7dJI4g;4&vM+v9{u zrYP%RsNTu(_zyUnsGZoo$-f{H8KO3b4iLt85rp7Gk%e#k%3dy2hCe~)W@j?a*}Yst z^pFpX(zbxMhAIdnmk0pufJH}T=~(dbNeBlx%?>r@O(lBqW@@k( zu_Fi@d-DTbH5EnFQ4)3&vaVN*8PkAqq&-2Lz9XFlLAEwu4`u1ViTf}iwUD>0dD&vs zinr@nKy;?TXZ*0_iZf2DDJ2EePRQYF zbIpdP@a|?AGEqj2#vI(Ldwekmf2M>Tt&AXj10h!jQK=8~B!P!7<8Q?qf(+;~RJiPZ z)M0Htgc`=qcvq|6TJHmc16hjchrqB*-IJK%vO%PCY_hehm^E@%Q^^5602l>cl|f~1 z!s3f*ZOlh0Lg|g=iK4I7R-PFgaZO_Zpea=nVnN;6e*vojzeN<)5X@9Y{~^EYpZ^FH zPPv}-?H$Xm9&i1784TmEL^mnjZ z!id<~4m4<~aMznhPj@)u^h|Cr&(>YgT+>*Ve*3-er;nM}y=2+yB~`~;=HCmQW+<%T z!6*}@eUsE(Fc}5bE{GHLP^Gx|J*;?Id#Z=3z9q%KS?kM{pzsF|aFYR@T#Qr9L6<7D z5+xsthJ!T~g>E0_mb`5OBUJ8C2=P4#0)z!~eh7M;i1S&3BpzzI(2k-wAMA2~1!)In z^y2FdXy{RS#Jr(-9T{NUqN~^v1JIDhRZ3HB@k1oqoa#VITz$Rpm2knb5GdgIQRhg* z-&g9O7ngcKA=6u5NFNnu4W}t3#*{Qp6%|+6q|9l80b{3Np z!Xm*pu;>5I4LJSfiBq#i9KWaOiQz-E4v9s02yMZLv6^ld6G&z^cCSh?rXom1U_cJ` zfB54k6^}ld)V*(~mC{upRY6`|Mx1h#utSU3=vEwsfMF%7{?qWTbl`>G*h z!>oDXqFb+S`|Z@8WBY%-bHc!YgJx&G!dU^)rFIX+qbdw4N&`ajC=6Cc zUuii8>WgHJS%oZR5r0rMBKj%wQ`pI_uq4DYP%RouzXX^HOhW%43pJl)8slePqTB7ACt2U;WPP1;{YGmP{Et-;zrvQ{OPB0Jk% z562i*39e=qh~%`j#X#8h7hFkL=H>Yx-gy3Nas z@!wJB1v>Os*BpKL*qztD9`n+x?+?ib3YIj2^TQsp;W1EifI%Sx>(xzx+X{;B8aDOv ziP6_Teec}$YxkW!b>-W+``f>0`RiE!^I2~&BNslnESnQsTV~~h7(>q!-QHwuhK9<$ zPL;)?BoiI6LVl=bCo?$K0Wv_5Jc1WbK&*>P#)NsPGa#2QwoazJmaTHtsEc*r#@%kp z1X34=t92gea<@V5R%vaN12LpI6@`hTHd;;HC)fki++D~rSXH>FM)dzB@bwjEc!$EY z`b_>qX54(4pwzK>wcFkLf`F`kaP>i|b{D^aqhYL$`GQ3yn;!iB`>W>{Er0fxTPHmG zb#iOo6L%j^AF}dq|M7G&E-37Gd35J)mJZu}`3gqW#tfArE9fZ~pk#d0q?}du??d00 zS8i|ra>LGJlCQ$-b)DkmPKd0e20$w+*VL3SoauaPQk}u&3yJ8V8r&vK-2<#`U1L|A zc{m1QkjZ0Q7iI!Z^eS1i=#Ejd@0ju4=ruNT!N}2!zjYjkn5GjKNc_O zEJmjDD&B2 zJhC$$rV`Nr0=z8D!d;4 z(!y5eu{96wdAXK!=$5n$vjt$MLlA?A2`L`cDzYnz3JSKrn$Z7}SJBx}XGgmV?H}YF z#&TYH#2>^)0Pn3(Vm98E!AyP8@Rx7=hx5p$)^Sz)#(!B<`26wq#y%ha@sHxhfYKm^ z8yZPGR!heh(J%>635c4|aCesGmWsI>G(hg0;hm#VWL(^jj@qQbI$BMh7C010ECkph z4-qn)WM4D3u+Q@N_qmUMe+V)Jy!-p8q$1FN^DlLv6?eS<4z%grwznj z6}1PsUm`|w;;C91Wg_%?eQew@NO3%eo`GFB1~f>Y5BCk}HW|l6$DjmZBLvwV#l*6A zhYq-|pgLVtTJ+iZjQ;QBUU_=|6W@>e{oBtzeP!OE#EO;ippBBWVTg0%ODVFL4skR@ zur#JhkP9k|usecC#;7iM;Qol8X|(MR=~IsGJic+)_w}P6co8M#bORbjJah~i;sZ5D z4>K@|F;0Oznd;OeFkC0H^XzI0a3F657M;M1o|tUmuTTvdn##c7$<|;Ha2|3@R@-N; z_xGGXIpTpS1LuV9#%BQ&E)}n6G6f=YEgyGhSW3wW&IBlncAwM2c)}SPV$Aa{$H{AAr&wX67aQBt3{(AlR3s)0vOt6r6&li&Npn<`cCh_yA`PEcF5muie z!G-$(NSy66!Z3-)`Ov~kfY*dBRYkb~gAACLO_w@S^wloP0s#xiHLVTSfUO#mrh*3n z6W^?C5MNR=?4PI>M$|-(%RyHTI7jJkV(!2fA<^O_4c0>;D5>`RN0ym@8tWrM9*iCN zqfvHialo@7!cs6W^#Q?@_>rLD_tqJZ7C9xhmjb?k>X!io@PL|=gc}LfG*&tZMgw4^ ztvU=RUvX0kq76-Jf zgJ_&+#0^dlR|7Z`ld~)pn4@>FC2;Jmw)uigG1}B5YWtXIf%;Nqc|P(OM2aMP#!+Xe z=wKaj1T%&m`2{IaUSaS+QrYYCC%G5y`udmDLC+q&bnF>NRzZC20Y?Il%Skzt9CK4* zYmqS585VRn;wNdum=AV1UPPQH7(Ovs$-zOo9``x7w`k+`{a=5+^LW*Ot#5!}m_?Il zGew8sR|a_#k~?z@yKpG_2==9laN3_zUwgD>WZz3)&bijUW%I9Z)hxeqwXoxXBTpth zek9|uibQ=#oEM(R(EkDXG>WWO67@bv!cyW^5ZC5&QSn&;B5*jCLyW$@sA6ktlXtu6 z;OOaj*a8`3PsG~s{%q1lpSjo#=d^Vq8m{JUCShG%o~CSV29KCutD1O~J_8 z11JZf(Vd|X@@&AF2l5&ZAxMf%Wetmvdj(_YddmPy3^NxKJdqXJuy5xAtzfOl4~NeVymK7_Am8R2LJ-1iB!Ji@P{Q4CP-RT zTtojjrKsT4X;xwE8?|i<`udVgQQrU~QQ=ypq?E+lvuGJ@(B*JO;~ZT~s}0~}L=AQo z-=p!X4=rAsX5Db+u*6w|J2D}R8zM!625di^|5*1^x4qRMR}r)chb7rc@#}I#(>r%3 z_jqG^cqOLfK!92wZgn8QKpfe8-S*Q)a4a~g z3;}Wdp?op2XU8B?spA0b_|dKN{Gw-_7qHFh@X|~p1rB;F*d|h$#()M88onM1Z#7@U z=?a`gCmWIgD?r3tDD|*Qgd}F|Dz#ICC3J)0nhNOfU8AH|OdI18vxjEE2i6xVp2B7! zd>-3*4Xo5tf$uOBouD{UsNnEbn?7qO{mcp~L1|(KfgC~y_&~w=LJ^Jj%%)xX0sDqt zE=NfpBtE7%M;MdCheV}xGzD9pm5ah$(3Ys_2koP79&5d(jF zGv&R#=a)7GR;~)S)R-*+7vQijA1ljznJy~nqxJBC3|cAet@mb6E186Viiu$xp@9cg zK#-6$_@rssD{NDLJ@CP-{X51!dgN6RgkR@K@F%!bvH=UEC0mSQBg+)m;B)b;v(4Wc z2d96sENkugJ%zu1eEQ_|?>FCd_44u^GatPEWaEZ6j)5P8zPkz1PLHY)!*n{SwFhR+ zgPa~?4HT~tDj1y{HTzoD54hc`v(X1x;13dR+no$FXDSiaBvZ-m%?P;Au;p`HSgOL# zlCch`WdPR|*nbfZC@H(2p~A0G7)AjVjVUMq@Tn@nGttLSPxR6Qn~iR`Uy-%NNsBAc zt_f53N3z^NDWi`dM>Q~_8DF_(ce85Lm1s1!;*7s}v6~7ypW3~vxUtRMIo5H*JG1iDw7I^Aq*sPl2|Vup)Y$l23QFFjhZ zt!3h)Z1W*W0bF6)kS|Ersi|zUgEb9M;#G|tkYMOQmLZNWfj?zsQ-Ep|y~d8YggoLD z)Jh_kIn_lxl?u-J_g*+RV$&lPAHSGbovt>IZtsz;8ItJ)0x`!$beG|x?f`v5ujr0M zTDC-*Ea`^2ofJc@>%VuzkFR~*R^RpXzLQTEHP>!^i&dV5)d$#cnaTO~@)oqDu3CfS2QBWg{NZ zlu=AV3Ak%8T)H%)pnFnzn9Rqb3TszyIQJYM4oExmfD&4~&;h0?U8NMASn6cdw#2p9 z`xy8b^07wpiu&rJ@Bv<*IR$z-n@2&xlP{hKBM6Mr(Z$9u2ivBTE{ZwC^g3EBm%gKj zjM7(={O!dgc;2(mRl8$Hku{0J39C4|6+G7oUpUlRlTdOb=}HgimjE+c0%w*KErbt$ zV#c_c-RCy-q4r}^WvD!JPZ?h3g5vu8Fa{t1=pbwK7oNQGP^N05yro>D7zif9b*e+J zCt(S!&@CxjuTH;n*)w}y{P2S%uAOOHgphtl;2i&-q_csGs!aR;eP)JnkRb*v9HQ)u zjF?ZO4%kkalmjVYzV))3pjHQG(5%5SOCeW1(+p+nP$RXdOKEMHwUrI9k*3ywN)RZU zR)YAlS>d*(WmKlAJ>T1X{-5Xh@0P;MIrqzT{oXEt@jV^JD6L3$vQCJl5tDHX)|_-c zcXcn~;-wExMSg%=o&o1Eh6*`EFeXeolbqE|Dx_J9mz4xMyEbeKuSS(-cAJUdBFG=P z36a_8F;p+-0ejk3K>DX9l5QyeuoWC1s%YS< zMg-4PSu$DHeFmx$24roA-$7MoB@`VImh2PcB?8LnqBRQg=X8Q{ndPx?d`L(PMkFm9 zzo?3MS2=}*!my+T4hp#fh6u)5fVB$hIF4N~KOQ-&j}$CyfDyyAg9_xRi>*}2k zU;O3B`15<3xBRsI<41>H5-7m(kmQWQ3{fPb-#PhBhFLX|(In?UBf|mBy(>{lb8Ky? zGoSnFQghHZCiT&5S%YR$V>>`YnKA$YWnd^P&5j)*X4FLqI;lt%%&g%xOrnJw>g9ko zH4Os*)A_1iJxZYy4x^DIAQtTkdfHW@`H9a@-Mnqhh_9=wd-_^kvu=m?rk+o05(+v0 zgDf`SRU~J0GALG@&Txe1OwMU`sUyq-##T}ji>ImV3Gc9DKWJx z9UoW{D8~2@IF90|28wYvn+j#mMHdau2|)9_2!~0IZ7c$CBaE?Js=L5VCBx2+Ms(t> z2{TQXM-85Dp+2(^u^=mH91Wny3<6=tk@M0oqx z76}JtEE-=zz;>K~c!ti(RZg2GL+iZ2sOZZ~_`Ogjup}G8(JIJYiL8c+%mPh7L?Em@ z-7vK|Q8DZ)xEEsqYJzU^utjZ70;HfF{%LQo=)r`tzSu;3YX~D@Va+Xwv8@!p#h16GoaX z%Q_}1#P;;NG4lxG;EZi{0u7hbBg;W1!ud*+!LD1*_TBwl#n*dQm5h%}tub|LVwO&- z!l~i0oZr)+wMI3%XSDs_D|guGq3P!&HwX6~l2FVL#3ip?yYA#?Z@yEvAn$N)4t|7s z*ZSSqWeUyI=(FecAk;?=Z$=_Udz)t1_`sI*@}K_cczD^5&F}uc@6@~J_nkUC{r;aD zH_v*btYb=8S+s7XOSm;z&nsS$Ppa=|0-Bb#OXe z*{l<$->f@6ok0y;H7VM~1ZieBQh`4WK1lD>gVb>v$IyMYptq1(ifvw*tx!KpbeQiG z?>;E%r=+7B&c~nI$c~Mgv1qu|H{E1sOP@m8t7j@?i zPXbhBwVF*W*^B;r!(STD_iXs?_hX~KJ96&pS4aKf`<$kzD>G7|mMXd%Xm-%=L*>}K zX|00b_^vse<{^b%f@0cwm-X(w#~U*j+_-g!h}9?nQiC|yr}Dtk`C3Lf*bSwI=2k(Z6$1pFVbLS8zqQ^o+242LvrVbp-MSml zEy?PkMN0d9DB)f5_H00Ak8{-JF(b-3)0lHf3`be^m&U>tr2^I6>`@eClFzhCQkpEOOb=Y z3&{89haJM<4?%EX8vgr)7t%IPNZj^PUOnSQ-B^O++@PE#L}?Z^voUOep2Yu{$_Ufa7bxfd?lmUjqRwh8KpeWrfRBwumpOxIWm~rldVs9J$)>1CH6?nA#z9wX>6Z4IFjx;2 zdDk4!xFHIciW1$GIfLV7t~4I?AGMI#f$G#WfA9-{$)=>53>yFpjn0M=JjAn0E(5VAWi5ajG8m#s+i@&_Ca z9)lBEG(We(1JzcbSvCG|Iul2n9eC)Xm}er2S1xSwIJmB{M@jNU!1{U(KBQh`&QXBq zGS&&JBeVagx{6qIcthur|0SA~aFmW%+LFK7bN`7Q-%#`;HbgI2^W@4a-+N1U?t1h2 zajPb-!Ii1dAeIOOPFkYVAF;78yDy35;9tDthqFGNGY4_X}=YRd>`pSpDzvHfvr6Fc8`8ggY^$pCRij88;XFWn#%Aubxe0%WQ zgAYCT@Pf`+bBkDp1}5Bd{vz)LD9wj<1LX-TO75u#UFrRe$48aT99ZfsL5eN~*cJ#5 z&{ASBER1^`n;0w;kQvJxlsBq|KKtyCN46b!|7PFTnZI?`-!%SC$D&T}1PU+2e^TH8 zUcq!YCx9Vm4{Ar!+w!+-T);3wq)57wU&e6l~wq0#zwD zhg6PC)X`66p#BA9GD-F_Olg1oHl{t~^Q%Drq5Eb#q^uC6)h`S7EmO!r0LKpkKxFr$ zYbVvqPS=r*4U+K;_!_xs&>?fO+EjiO)v4bqb%GT2)aF#N2;iSjHlRsdBO4lg2Xw!D zda1xm%!($Phkvr*)s8=`xH$N?73aq-o%j7M1K)agzR&Nl724%I2e2|X%@FSz<)gMWaC4G9tw*a&4(^E!=+bgF!bOt*9P2Kglr(2P7T2Dz(&7QNv*c4B_RG z=y3x=66r1Ez>u7%G+j3!znN&j-TJ(kRLHX;9}Ufi;ju@y+_dD>%M*&5*8Tj=uG3TH zv_Ia93DupG)NZ+wtHVy{?pzXUr7+4{U=}6`zk^wIULZ+llEGL*@`wsqKH-^HL!VF1 z`(^j~U;jBg@8@4O{dJ~<=g{n$42kmR%9%+NkkL5YIj;lvJN_Nc7-T^zr?#4fawA=O z5TYdFMN_5mA%e}gfT?5zoRg*oZsnK+!aJLKPR-&};|UZ<6^WFNrKNzpVE5&}vOA?0 zUI|f}uqsvwiU)QFb9dy$l0j?7sjgEVBJDy>A@N-DU?mTXf}4TsLQZU|v86*7PE5lV z3}C}aLaoL~(u(`cleW|S0*<4S2n&u(&RiaEcDR#p%!&^o?l_d!Isepog@?V6G2xwr z(pfbwX2Z_nT_HH=02;HY*fow)kMHn{!=Dok2TY1~;kGAG)yU_Go>no2p{%xHq(vrO9me=A>n!J3nECK-L z+B8>)xU_(4;(;s10(( z@7=xWmgQ%Ujoxv(drk3AAJ5zW=#NkQ#quUJX<}xESXhFGCT@?jMjMhDC~Yj#6($T@ zaYoO;b{o#8&;XAx76V~uF03{otJc1DaJ;XCI!+}Znf9L6!en1HAot85I~p|4qN)U0 zfI$0R)=JpdrCFfVWp1Y4%Cb_H0?DEP_?l!0jB_xGm1vDCvk6}5hH#gp0v@DA*e#)Q zVwKD{QL;$;30|V(g*lGp`HFNFQwsWEv!bCbHH4EPR^Y*L)KE-F1*LGriO4nDS$SgZ zU=qK%5Qyx-!ATekNMDgXDRbV5zBfJ__wd!fpPzo&`h~q84(J;*W!ebrU?h+;NG3N+ z5J!`uvC0iD$)LybYn8AlHR^mDmVv4D*uWA!rkFIN-uy~&_5LruINz7q_1WzYO&#b0 zKuTbsh>ZoJq|d-%T5RYrmk5h3+ih;=nOO*%S%2#sFX1T~N_!i@GH|)NVoZlNZ}Ffk z_W%N*qAaxgdsJ`Do-t+p8z)bm_mA{_uQhHgkC^Ns5*lTMjmB36ytmL0b+b9*qG1nd z2CNTzNVxoNOO}@)9jfM7stQ`;)f2QwhK~5Sz52|uO)2M|-gL{CAFevn*>^RZaEuWt zYHwO$x53B_8~32cL&7)GZ4X!DSZdF!;}$oi>k##%=2Z+~s#tD1j&(UR*-PwSvxM;kb)(V|AARGKY$^T3Ik12F*yW$Fr_39>AgdA7$VNzG&3w@}<70uuj|4dT^thP^`zHhyu}t%w3jf7^BXowI-cN{;i1*??J@ zt|>Pue6LcI58052QO)VM6%&VnAUPLS0qLn#%gBpnmlk&@`fJHvNJ!~uZ_PcYB9{$7d2WN~K$!w2; zHfkf`bem0utkfDmMK8r~yWJt2Vew>j_1RNLnxDA&DRhkm#f8)d-17QJhfg@bIMwh- z1>wFPfeOXoY~|JpNB3ND`&Ib|zFK{FRpptJC&oQI>&z?rH}#c0RNM3Vh>g*(SC_>~ zehYeBIZd6WMAjXcO`XpS0G7pG!0jv5P6-UFO(S?9EX#3KX6B$%fXyLN0aq^|L5)|UKOjT}413XSEZ1ARgJ=-2=>PcDi z>s#Y{e}DDp(QU`~{%QCJm-TwcN=?&@7?T|Bh77Pi1~X7rIC13U0*Ocv?NYp?6t+@A z#evFnWm17PEUs; zi^EbTy9B-D^3%AnIrDM5sK9q7#=TWsBx`SOaHH)%58Qls>G#7haKGJh+PCViBm;Rw z7KmeRWs1^x-*O4%wMo5#NTiKK0s#9@iRg5NDc^-0_vT4M_98vw+U?cfeEQ$Mx&^gg zP5=GB&s{a@PR4805_9Y{66jilB8qhm&{u;D+mhHL+Q8DiHK|303>nbC5@7fQs(AWX zJTRjg!w`%lfh!GEvjY%k2%-)N8J^2;4%2N#b5y679f6z;fk*?zW)UN{>C5>I^!^lu zC|;L4al|Ul41N)H6a!Xel`k?_JZWuf=haASB`_grh?L%%QHF8Td&o+dN?NzISb~@I zs0Q?lGVTspX65ooYK?yq>X-t9PYOTq(jZoq(Rn~7nyIp&^F@cXAj)> z{)IO_KCf%Is zk8x=~V(NL+b7H~PvomAmcg%T#SXg)0bJa>>M#S4n|3evgSv!eYTMP0g8#J4_qp9w< zXHO=KJ@>_?&CC1O?7et?`r!*deSGiRch3EIaLMO0$E=+ctEjkgY= zKhxa+^*3*luIJr;^&X2kB(FdiQVN+`s+TO)Fv_ zEh(M($2E6k&o2#fbE&M$baOCDSVWW5RIxgC=Z!|87AKyv2bi*S{ccg%v~PBHMx@y= zXy^5Z|Gat}V!gcg8fZa6EsZKd-Z_m9sAFT{)P)C`@{@ ztgBk`DF2RamHgdb(&|@yxv%%b_E{gE>)7$dBi9>h&`>T<(?Cm8w9b!eD?MmkW?v|;?JzowWY}(P?d#d~ z(FB!zNDETG_PiUi0AzE_VcaIIc{%`o61zO=EzY&T0+|f!u0!GRw9 z86XqTuLZn9(eATx6Y;}Qh=M-P8$+@R9)htM!pMLzbI92auUU`t0Wkyf|yX=5r+1*7PV>-$`F(m%=wmbPHU^2_bWVV zk3I~02NQdQ(^w3R(~u0tKN+#9Oq5d*-7Q!U8UAc}-nlz(xcTQdm)w8j`$vD?;T%Vm zZz8pU`d=g>jWn0`yMW?cZ=U#IX4aT|a|FIQ!q|#XG^YVFCn!vX4SO2xbg=?OmdU^V zmSx|4_NI@3_k?YQT* zyl)piedf@@ij#YO8~w|^kFWVL>O1)6S5IhdSf^yvMJNI~0z{vc5hGu<#m+@UuSDU0 z1xng68AuF8AYS8bN~i&&Bw#_w?b<*UZ_-Gvbg!Y7Qi^g(A;2zdP_VWzI=eEx4znzT z;b^1gMIN1sAg06a^6F3-ewrWVYikO)Gz|#dE^A7WQJ{3+(l3kCDwE47F;pMTIfE9} z$R=j=7ZyG+DN80scXR}a?xuXAE+Py_Rjt@lXcpVIqlt+S?MO^SCW63G_#~*gxq|D6 z^PMCLj|EZ5P=6>ikO+er83JIjs69~f#OEbFJLa98v0^#B^E)Ze{qdc%o$LHF3$%zc zlF*t9@=4fK093LznM8sVe~5#GHkk1WaXVKgu+wOo7K{4#x4+o==KhZ#-u`9ek%Rfs zLh4VQwL34TmJ%b0_=r^Dfq|k_q}OQVJcEd;`>iD1P--*KZfG{i9xx;lX%6wl98E+H zFGm5E=r%{Me|G=I$+xAJ)^#}5+&fpMCfKP#I`w2JGT);+XL&3RzX&P4Fl1Cia5%b% z7pR$W+UZPem#f0fYRIjp7IG6^JM{I^zwKYvy>!K|cdtMF!nVCfZ#lZwNQauQC!`-s z7(>95FeA`mvoXW16$P=`N+$zK&{AAr_N`x)%vLZHXAU%C@CBGo%Q`JVjn~`C)YjdU zZI(C-sK%YHf%l8jRRcIl454xgGiWpm*-@k~m7!NXHqa-FSA*AVt*Hjz_qmZ6#wpmL zltF6kR)Z1KZBGQ|FhVPaD3)sSZ2jt8WlhyYi<>mjQJ^7d0A?UUdKLG-#a&2{vtB-l zwv(oo`ocqpC$+TEayRw}JC$D~heYIzI0>*#(Q=m&#ctf~K|xNBc`JRdaLX4x$v%y$B+X<+g(&%T(b@-r1nS z67U)_Uwf?f%2j8-`>yA3Z8~@+P>z75_TnwW>RC*Qg~tHeqzH)>ophY4J2Pp@JO91i zwdTbg4-@SB&DO@T@7}cV?H49SzcneXxZ`1ZLCdh4QIq?v1=1|cyX}&wD>HM297V-i zU&r-@yCr1W7$kT*N?zL(`cS0ccDa7H8Y0 zbxo9hqxGXNLHEL8lH+OqMnz@qDMRpt#Fyf_eH&e0z4TE&tC9Yf3j&s9KC z(c)Rdk*yf0gu{Cl<;Yn8kk*%m2)EI#WpcVjcsU-R#lWGN<_mK-{q^^Aqc2}Ist^g)FMM^`cFe3HqgUiZoM zP1V(>RzJ68q3_7_cX+!kRB~}(58g86rdLJxLF2z=gZ$Ku>pB899TBdyz<1p$zz+}6 z3eoM9lDhe3!RnDO0;RSn-_aAu;?H|Rv0KWikL)hn{ zGM7??F2703QaF2MpvxtEmiQ=xoV=nE$)K#6d0EPHly|T14)i~F@mR|6*Ee6@OA{hc zN&{b}=~aS_?PZuFeqap+jHT%{Isq$(qT(GASX6DYC7$fZE zki?*10s9*TB#fW8Oo~?~N&82GFzJd@;YYf;MW7l{5zL-D7HPib1#x7sYi?hUjQ#Nn z9T70C?v?@$?5MPi(<3M(!h|b=PR=pPf9o4XYN^%!=7bR&(Nx4s#))TT>wk;p(^ zN|2fxilU69Xq#wlf_q4;`;B-&LhF1bdb~xim-#^CXD4RH_-DjUZSBP6ilR)oN;$l` zHAkGJ70o_tY9wVCX7hk z`59k26OD?J0qiUBB=V`;!aliMmq&ZtS=eUy=Cj3%J)5`o?Yer&i{EdXlSKe@O~B}3 zB00r_mND7j&gI#30GGsxK~zoV3}c%is}updKawyldZndn?%(db=eN9z4=?$CYx(0l ztNTCR{>L5P<}dr{-pr}5`!RGT1D#NlYT=PFZt!?+>uXd>ywE}|E@UeZS4)kxi0ZxO z3|M06HPoyGUr8pPs-TUeTlAF0o&pWQCA=EvJKoJH7OEFbkiwtgMe=2`$MW&gL6J!D z1$6|mv_({#QMbj1u9d7PGaWx=t%8*$S(ozQ(^nCXU6-$+8@#oZQLQp`vXi|ONhsu~ zBRw(O2#Vff$O=)Po8`4Da8cOh1w?Khd`(q=YHVwZr^o>C1LQ;n(hz6$Pie^4o2eoK zlZlPyoqE#Qec;quruVhyze~U3*e{!gT=;pzkR!iDUj4GD@xD*Dg0JVONq%feiX{{; z)Mft^;&=*K8(c;;LkeYmC9NO^@M!`rC#!U_fqz$xq~88rbmrX4#}g*Nc$kmpV>u*; z$v{G!jdN!VvvNlYrG;a6PMjA=hG!`+RfNg*vdO1r$V`ec_JFg~Y$b$FX~CL7>>AV4 zdZ-@Lv1c!oZrvDG4>@sO5%iy3?_dt;1CnpFMXn2)ELP0D&Na;UqJAb+M|$ z6$15EY)DaUyecNN`63+non=koVP3O8Hd4g5y!-QaI|d&)mVET5(HAd{UVd@Oihq25 zN21ju(u?h}R6DbaaE(Xu5gKcO2-zY&T>3RkF(#IBb~faVqoj6ZX*{h^Q)+S;>*1lR z*URG|Bl$YX(P}%h?YhmlY5ibTaq^FR463kcR#kY>F@U7gG0GTFe~dUId1JH+zJxj0 zOgMMrND_WAqNnp(YpV0j4zyxaSBCJ`&b|_s6%}SgAwDJ!@Ckb9wgfIc&SGYXxYInj zh+O!`Rvj^ZF%O|o*x?RO%}eC`56KOPP=_-|nB!(p`e;re!L438bot-vZEFX_Tqc7r z9Op`G5e@m8u@&NrcEPO%vH%EJ!nHA_*HS|CSwT%T`EepxzdE-1|LifP;2#@5o7vn{ z6^)Sc=9{Dqa=dqaFkfSGizQMeV$jS!iraW0lR+D#?iT0|d^xU>3h370Jq(zl?CknX zB!1Z8cz7n2s={t+Q8Qn&jG6k*XFt9?;NCGO{yS#DjwM$$esM6+L%<`KB$_cyw+=+k zg_`BXqGzL3eh{2cbw#$%6)!-jS&HaXr7uD=fP$-QuFM*=uDjvLBYod3Tl0GDD`Z|< z-29xUZ7rO}p=hjmHYQ(5D=?wZ%^}PSLe3b;7flPtq&2Q8tpNdVFc~1d=h#|&8YIU zMd0#@C*~JlcFj)Mk4b5Uq zXM|9btpGJuZL=z6qR&Tj(&aGC80$GwU4`@~qcllm(z2g(}8myb@&L$++v zOs$20CANKmd*Yq~1KkM&TunOsllM~o!f`_N&E9l#mb0v{?~C)D?+u^%Iu9N518L;K zoO#;o>Bb;Hwh1DX^}E-0ShEp7M{P5TJrpWl!@kIZjB-!M%)9r;&rbg8-X+OP4%Mz1 z)jo0AbW3J$u07L=+gD%Rtoem21L_x%gj5drP$&f41XgATE2f!wOuW-AExZq5!4o+k zRG*+X_w{s^nM0RU$x?SH`FoA`8dOXTWxW1UYUnZKZQ-R|gbBXDP+A&{Af!QmIeRX% z^;FyMbgL==V*-_`=4LQrJ5E^%NU`-ud9ZR+RC+==VxWca6XJ@bONWA3D%b9ytXV6y z3(p*<8sUs9;Rczkm83H#noDUy+O%z3dPlu>@zm(WD}I@`_xGPS+Z%UhESa7ClQMR?2(Cb7V#H;G}5}=U2{U{4Jk4*U7SNvMJdX8@7vbQcej4~)ZL34 zuTEv*aI&7^=%((&R}6L_45jqorj;v_gSc0mp>lFQjt><$cSIlnqX`JiA!y?$@YXyz zV#l_nFHE9jf-Pv`Rg(q@GNeYgZb0ZK9U-k|blJ!Rh|8cXj)T2>^|0G6_m!;y#7i?i zGbpmUdRX9t%A2=TJht->2bTS7+n;|}{L#&C-{y>feE9u-(LXy3h>^pG!!$)a*f77J zXT6p2$R^EaGPuRG7ujLl{K9IE6B)p`6G>yEq{MVV;es+VkZJ7;QUuN$gkR3!vZ_PC z@h&EqZRXM}>oLU@%2(Y0{z)8cYp!zOt}fHW)z_uW^T(59iD1ubJHk0#LlGr|VWFzhtsdtLzjGwMZxP)=LE21fDZgRLQsbtu zzw$-y1Dm?8S~YXQvV(`8e)_GM*R?jufHrFl1AZK|%n?!o3=zkKcm8BS*g_4~&F2kZ z!PMhsF9diRwFOcM{`8^Ic5yi!=`YIg|Qe3LR<-5=eTleZk($>5ZR`eeS8gKMfi3;D?`HGd_J*-D59}X`dT1Y5YAm zTgDJg?nci@=*FH43{)Kk*(r-0h42W#`Z&k5oMtC7xK_a}?9yV)FtBifB@RTy?bXld z8Z#Jxrf?Llju(k;;AX3C5_UIpn>4<#E3?$AQB=*+1vj(2!m)TZQv8y0;_lkXUvrYg zKgNty?bz}b(Y;-z&}Q@iWJd}U%Lub$z;TY*hUJ>}gFet;RDCW8Z>tUzMU`L>C5TcN z(LN&BG;=p{k?<;G*kpn(ECrweZq*CFz-+tFceR(DtG@lw-n(Z^|Fw7Lrtv@jTYGcj zo!>t2Om$RhoD>ql@Gwhk6@dfsu9qD<%WrVkjFi>1#w<8A`vGqoDkg7XZmSxY7};O( z-=Fq|7HrLaa(*Yi2u7-*XU+0LAT}2eiXEx9)e<`Fki>ZdkT(^Ngn2{B6nVj6#1o*n z?s8_LTczYC=ye93IX*{+Cq->Xz@S=lcYXTl6DxjyF}NG;nl*3 zvY`JE`U_A@U7&8rp)r$_xfp1|08gK_hC~BhPyzG}th>$`se*Bxf9}I^D~@hFQ2EV) zKc63T1k-DmosY!$Y2T1cF?ClYt zof*?A?2}pwThKzKXR_#JQw7S^w6(>OF_}NZXU8$?Pc+psDhc7cJ`Cr8zzSf*h#I1D zVlpB1e8?$+IY>&e;o5lj5fO{lmt*_X=}q|=1iJ#(&H%Nb{1Ujb>&r(yp8$`TVeCf! ziD8D0mNb@z>bOSQidFZ6%%fB%QXTU}-@tw>J?V8M{CD^{fNg0TYd61@suW7q9uORY z&aopWHNj?M8I@5FaL$+E&%*0&GI(XqFH_8jUE(6{8Y*?(H04x)K5L&Gk!Ig`#{|c^ z*H3@_=ANg=|M&Hme3@UlZ?8ewrohh!y~rxv25-@g^(P-2@!t0jc9=@pfo2RJNRz>EPd)X{!Ml@kJ=5T)lZ@1dNYM?( zmf6`C-$Nfw8{F69Zzt!}iVRRrdPS+&r}&KpqA!S!ADdD-y2SVN>rmq=N50R}W_^_yU4ah!v`I zYE>wHcxfLa0+8LTUljv?G^W??xx(zc)499(;+IReUs$^16Zph)50pzKptT8Pr-L&9 zMNX~^%9e;O20kKj5*=SYQZeYu+l-)4`rfhr|Itca`xJDj1x|x)m1aCpsw) zAw0}0g`=HF{m>!`n1-CUYR@8D7p51iO6Dj{8)EtA1ZhXPO5aw9wI)LFWhX`1Pp&zx zC%h{Q&^?YC)6JHyV1#L?9C4!AO?Zv+;K>K?xPs#!B|>bN6nEVId||HWX7VV_tkc`p zq-1f7$gc8uhlPJ)Lt70pM=?=sfzLK}r>g-!dQrEu6o|>flitnvOc5e}Rh8!84z+ap z&MiCsu;SOO1FG>AFj%IX6WT#zBzU2(#psFIO^o*Uwu61 zq2~|I``i3oZ(4wkbJ7HdWT{o>m`rpNP7Ni%VQy4eOj&VzB*%b*jtK2pNNEwy?dcm! zmilG}ZDG#kFcoRtd3At>!2rbq_3l6-aiI5QF_z&>j8p@^X2jD9>^=tJw3uPAAg*Yg znZl97P?GgiA+|`L-%!spkmF)A7LITC@HYxzH4z|EI7~s}JiG?b$s8s;uDJ;BmH-Lr zrbItIrLe^uj`M2^w2-%3^J-vZtGWIyv(j`o<1g@Zr&BZN<%vepZN26=Gwlk%C4F2F zk%aCdy?p=e(`WRZ*zwDj;j^FEcl4T<#*Mr7<`ZRyu1t57f)o~jX>maNtrkf#gK-OD zN!GVhnI_BVdsbat75G;jJhZ(RP7E03Fq0V zdEpU;c=h_!F7`lGTs1bug&~%p8jD+)Y8F;p{_sd|%bPP##I9QWZ25{^OIQ4K^O?hE z|2b}bL;ZX6hcQT3%0hE+!nj-b)&m-ND>~~x9sHWMoe^ijY9&b|^`c0C_+p+9)fN|m zPf4@Xb@&-Q*KUs1Td7b<7UJ5sVKY%?)e_w4W}gL^4Q=li4713DkzhI7K?RN_)W-|$ z?zY@QB%L%_t*XPSG0|9MW{A+dKm!owRnZ($A!_hmuyRCUnrPZmpeLA##iC>uk=X7r z8Ae3$5IVyEL+F?@vl2@)ouy#U{(w|=gmOqpi8x8@DnQ5CYr$+8%$IHC0*@LNk?I6B zTF;L}TOoQa%ndFz=}LPOfO;HCLs9IpFkl!M4zak+#W_SAN?2OY7dfb2}LKp%e>*JBW->YjAyX@iLV8lDs8% zh9#EJpv1i9B(Dk~WJ>+p+xv&l@eG23x85^h!oOy2`{xaZmK|US?WRTZGM;*4$Af>E zHr#0!Sy>clc9+c%^FvGZw&o2WPj5T30%nAWp-R=LdkN*r8_<6hmmo5xAO%yufFCa^ z!Ux3i31Tn`(l22Sm0}b^52Xo-DIKN#5NfUF(wLG6_5=)vAf0=SBAD2(H9h>)*>l%V z#DE!dn|lPm$mKPgT6_N3&^v1V`CmUedf~74-}Kw?6_1=gbn}T1D?G3Ej4V$~;%+*Y zi!{gXvf5p&cvHjH4b2`wWDCS>B9N<$*L1o<$+=B28deZ;2?vP`mu?w5Vq(hDAAV-! z+SGMS!*LOshtw((zy|D)Bb#l|cPX%j)RD6^x8^2f3Df~>gZVj%7Fx~BCA~Ts2G;3Z ze+>g}nA@V@c{V&#TY36e^Y#Bs+ug>grDge5Y=MDZa}p!z$52+%mZxY4TmUb6Oz_R6 zXxRN>YE%#?5YBo@FBw}}GRPt!DC4@$D;8;0Z%DfBmle?d2Brl!}>k5=lbxdA1h%CbKww<(}Ge@j*KNYL5d@3 zc5zckK?$xe5>3oVo9D^;(I2iNXMT1mk+7hJhEi(lP_qE-C>4r5?ve7U+$@61n(mgl zWk?=goB!bc>q~n)ZTjxAhGxz+2@*+r8I)Ke9H1d?cRyu9*wv!Na;SWD$(mEvSWGRz zT$EHjxm099x4ksr^Sh$rd2`I=+$XD`=YFa$eev?U5}g)fp*hPEt;`;- z5g{80U6EEmS*nxjhoC@dkZ7mXnTMwJe zSyo>jthld62820jhB95Vs0e%P473P36aRAM3oXgRKfCQ90NYyAYj=zo()-x_6a=`ewdnk%jgUA81_jv;1UY zj|n#sCg}~;M51IM#ucGqNl8h&`b%SyiRX26GMt$*-)bQuroZ5sc@6${3xYucDKL2F zv-yn(h+`O1@FL4!Q>6rHTIh#{Kp=2>NE+c%)?E>rO_~#$1!3_Y5?0UJ!JYa`^Z)*M-9PqjI=}PBHOouCKePPAzIUeI|InOU zjFnR|UBT*9Hl3`+K+|=&5+)rHqO1loSs=dq)Qng;Lmus60&#*BLnwDL7frl;<6r+d zVElg$KD7Df)eG#2on>^&VUdvmeB!2(F&hnWf@ttj+5-f8AXiBjh+o+`x^Nee<2vP- ziMpTeic}I_x#okdF$0DZ z5deG)TyR`QO9l}g{-4C};8O&}iHZp%|8D`N)nzj5!$tdUB8sFm3#<-}OfMns9N|Vo zyXqDmq|bIA%!G)6$fUJ^Xh|ZY&EV=yr%T{H>%a|Ob4ks}_3gzIUY@_Uukl>$>HDvF zrT_RZ=Qf9~S4*=@o)iEwxZ_cnQbB;)3i<|?hMTFYNWCy)8_%?9D5+e2z-q>skzk;2 zX(?J)`Qxr%=Hy)S^d!IyzY)!Y9M4?}Rzc&3gfKdih?2V8D5+7-K>g(>O zHuo(2(`6&vsvmEO_pYHsUtIU}ZC^dH=g56M2jA%JJ=p!)iS`k73Cx=x{P^dOE>#2IYP379}v65xxG0`*P#XC6#qc zo;Y}N`tR=@{k^LCdi$^|<1MN*GWPz+U;YdUHjP ziz1$mNUS`AT#%tSq1qal5g1|d5)XnTfSCnWG(It$Vc~MG*}+$GIonZMw@4r$-DpQ; z>=%)o0)cpV{ccq$lKo*gxmcs<@-M8)p;2|?KQU*am>k#xdF%={o29JV2p@BaoDBjQ z!dBZ&8q*^v8&v#y%$6ZE7N@w8YiI~C8Fn?d7ehfh~=%sGO4K&v7=zt zgm2+^UsxcY2vF+t^WqlTV-W3A^FZ`5?c$h5g6y{y5?jzT%~adam)kVEOu0yBc4s-+0H!rbSy{+`HlaqYIBecKoHS@2|S^=$)&S%rs#l${`(q zj&{290>mGgFG|qwRds6Ia+!ev(%;F)vQqC}QW)|oL>75|^0RWzZ{5I_?cdIP#3``b zDBGwYl$C?4Di$0YYZ`rJs8TWI>OxiqGRKe-FFn)U3P!YRRe|coVbMoQHY4Im?dYqj zkFnk)K&WU^#zwDEhbf<|LL)c_C5tevHnp{`yXV9Ww;%X?>4MDVCk~`6zc6_8%@@DF zY{r1CIg3sn`fhHiQRZw6()f$mPz+Q!QZ_8fLA0@L{HmH9Lq<|2gVq%{V$uS2{oQj+ z?q|PBKCq$UUwaOO1GCaN)Fa7eP~7u97H1q2hR-Lbz2F@JN;RteFFH|G*r{#IUasDT z$~&1h!A;Bg&Y0QQ#^UEr9;*u7VbAQ<+-7xZwrBrmuh(Y;GTjAfD%B!WB!Y6308BJv zt#CQu>Blp{wQYxwHKxI#P$nLj=smR#u=P zL>jgZUQ8?{-u4?5Y3q~YKnSC!1#ny>tBjtJBGCi@#fyhe<%EUTrtl-ILB=1H8En7f zs%$gRd9NJs=#%&IvJt;UhXoLk?HV&I{^h4P?f<_9C0K8>IJhXumm#6d>*+SQTaek2 z4jmkp5liSU1Vux(C+zD#@5&i#^xAHh=B8 z5A%L?9GH9VeASM#Z||gdMrWZ@0}bmO)9xrBa}5%d#s+i&!phn$FHA^mHwH)mMq>`5eC~IzdfxiDQ zKTO?p{aa%pM%=BI%(%zkEOL2=iIlIdKlR^#tDYNt4{ZyS?+z3m91CdT^=JylQpi#O z%mOVFz_z{3(;z1iUUw;Qj(3%b4p$28c#)b77jv)~SW%-H%cto{BKyI~jZLqabx8pu zb+)V>r_qeuB3CuicyETHNXjOqTpkGjd+Q!yaRdk^=$`_Mn@zBHaz>A}LvTOhZIk-iX7?3`eRYwCy!3kUA<# zN7J{D{om{x20n6e{g(@Wf8?Y zJ~a!G3c6?wM8_OQthH`Gd&D5~n2wZxgLroEbJUU$h8NB_yataTlQ`o~V}-qPH%YswkLH zXb6Qz67*SsNG$zWC0iy*__#9j^i)~WZt1irGO$r!jf9V@K;hX>$xFeU?orTUq39tP zo;T}v1VZtG7OBNW(P#$WTph1L8WRXs*;++0vOb0+4G%$lqk5O~KsGk%Zq`3Fj4Zt1S zDs&TOX(Fu^yN`qg1GSCA$lQVS1{4#h<*wzD))o4dEG%H%_B8LV2mkP_&nUGE?Rh#f z!OV=v?*1&w68h85q-+!`?qW`5Et0=or5)@$8)cKCElMIXN=G7sIKRF;RGs){_5Qa< zr&Rvu=S|a2Ms_+KrM+Z@>jCsJO3@2*dfT#*DhWTE!x0ScDNDy0rh|GJyZPCLy1ZRo zu1t|Raqfchy@N9wJ1#F)lD?9)gyFNGCYEVGiPnQ_R0EhPMvz>z`Z-KUNYs(k*~ffop9%Y)M4e@c%bR1www9c zQAWeyS}1Hn?2QJAn@f^~CNt+eX9q$k3vw2b;Z^0o4tiDkedwj}M9XSi(u^-);DBFn z8*nVjB+ah5av%ZT^ax7^$r7;`0S=EggRj?P4&`{vS&p8(=g-dIuFXDuh>zg5Bqaf~ z@T1AtlfQ#m6i}T6)ANsbPX->AVun zJ_@JVuiWv>P-Hc|<~oK4(HsLZtQ}CJ&|v9|!o@4Y;Ojpp5{{gz+1B(h1RneXG?|)L z`(n@Dqm5_odamM`lx1g9>ef_;Ud@_l4|7~FDTUGxrkB-22gd9Kr<1QNXuj^i@R?^Kv(JLH`SH`i<;l`p+5f{<~htaB5rJCc^PFV4Y zBxu&S(@MEFaI^ex=r)IATvaq01Wc(WhAT0JiI7-}gV7_Rf9RlN2{;Y9(R{I2H7@>0 zMQMcP-(#gES3*?P11LMV4T^~W{`LKOlHCAP3F{oYc3wRvf%q$v!B><1s>1s-18U{U z`467>`Np~>qQBOb9X#aU@x+zHT}=)tS1*RBbw8Vlnsi`{uljTbkkff+WsX!ch|oYx^P8< z5>EV%antCynemOCB~JE=IZ>2|?wVM$o~&0=LYqTz^S*0?k6n9@@5rOAb&a2nJpA$_ z>ymY;AV8ST{Pd(dZw>FOtXO;7Z728L7g+GZJ14sjMK-^`|DCaSw>cc^N6^mEq5Id# z0BCZHv%jP^p%(jgMn_Eqlt^qkSvcYS|Kw~tGit++ zuYJCM{r0>ii?1Bs_1nt5Bj+a;fUN*tA)1H=lHz?O*witagsagbH>47D`64co)sY-~ zn2F|EaJ4(VMR;hBk=%lc)s`nlo1bxY+_US(%Z5*1AiV~ibIV>VOx0G2%!1YiNNw(m zBD;_G_qOl_%bnhIk?t*~zy!F!!VpQ2HT&&c9I6#NW^UiQ0N%Q6B>hPDYfTz7tOM|- zl~IeiZEOF2{outZ@P+rjGvBH)A+jl2W_f1H^pS)Gh9bZ|=)u%PM+}3jsi-NnA%gE* zPp*lBM;BtL^w_ZiD%}hXr?hnj0$GVRJ6bM4o%Oq!E?X9wy>0oKLl^6|_hlYk^!?$Z z#9+sUJY911_zO_mHnrUlatTwLr=T`pL}7JSp+aFc07o}->%F4MM7j;|H%Lq-yf>5} z3RI|Otl~JYx!eudHR!wrm2_2n55g&r-5b%Pcf#aOW#cGuRkh7vR3oKlJCT#YFxHcXm$AU12tvobn_8E$(Lqp!n} z)oz4jcDf6~P!`DXB z-o>%bc!mFw;Orf*-QPhK$q&V~N4k?;#!<1J`*O#X-?8w(jH?EpD!KWaXWrU0zOwSv zhmSwBe$O1wffuGsHB`ApZWC*evk&zMxCLzd=0sT8g_ zCZp20JQ8V$mr2$8KAlyJPqF; zDP&(7w{0}}@MfdtO3GODQRnQPJd4xuYivj?Z9}}$S!=`F=^PbOiqCz@!Kpx==8T z4qa+1Hg*j+iV9l9VP_)?T|tIwR1qCWJtB|SU@VlsiXLUvfHYdtaJj>=>xy*L1%BC7 z3r8>1dxNzW-3xkCo1kZ+J!z$`pi#zuDY6i+=Sm3-^i+=Kf{KV#m6dRcU}dYDmxEcD zI}MCPHx+9>L<}|{Yu000i#?=d1)~XIVvTlu*aH=AQG?IRl*_nB&hQ1g;S4T3mizKd zBFfQr+Z#|ap?G@x?KB!Ay8eSfZBd-c`T!$ip2s?*At z^i=*=F=+r53@TQl;jL4&5vayp<~uahQd3%<*&W?Fw&S5C4K=>(nm~*t6O!&4dF{Dd z?HSJ7lRK|}Z}QU03irK-KJS~`b11TB;$xrx`^_&+!7zIUZqJ1-r_0$Z3_--23Xrd< zkh6*B1ndgqPa`c!m^6)eI+Rev917+q8dWb?5khN@m9D7xU`4 zX{tU_!+^fH=PFB&eYmZ5`m!I-eKGu+m&T8q_WayGHBP*K zj3-1m3gOS10A)n&GYo-G5&~gn?pC5GmBTjT&>K>0S+`nvi3Lri>NYszmSBES!_=Yv zmkS9-_~n=Ha6?xv^4&6ZP!SBupf!mh6#5ase$a5+&5w?K?7g|!1%+u%!(!zG{X`GtPBj?9)|wnn zN(wEo7Vw#=qIm7#XE+d)(=PH<&WzC&9yzGEf0h8F!>8jAFP1#G?u)y>{bayLy-(lQ zz3qn+D}KE$bKI;uTSivr6NGW0v#gfuyeAzT4Ye>I3)haSutV^5_0R@jGFf3(03X&v z1IF0^n#mkN|G{8HE^BEraThgJ@~>CP*}lO9Y)qv|fGc)KFEL_-$fq%5F}qhPy$iX> z*!t@b22~5+q;9wz73`%4d7y>DvKK9 zYSYV~5SSn$Rk4UtY9wwf_llXDpZ?~-L#GDc$cc$h>54*dk*+zjC{PIHs5@So38m!K zz(5%^mz{~NP_t>Xpe*Z-JE>hAu`1!`^R@~#3a$~%7u5Gkq&cnWg&U)<&9@J(yKw6@ zix1zu{?P-?7e6?0d(-ti1!u+pZN%jhH@4M~BS+DmYcaxX5R9oHL{x~Ao7yVn?X;?B z#oG|)<(&H9gB?3=%$vPxP82||sVWfKI;G8PAP(N6C59NStBZEp3YZOSSW*!<1vV_h zT7PB#>tnY5;r+&*+WbP&qH@!kw)@7_L!T7$hFo2r_sQW^_4RMm&8pve zMdOi;jZ>G`}v#)c}gfoT!x=v3%Q1wnJdKmf_9 zdD7u1xFA~ek=|mMWlY$)I!Os=jKaxkIJVmFO*c?E77#3}$t=To8VZ&|OGaXdf`elq z5Az0EdXbgLz5)0z>gx$Bwl2s18()3(MCj8chd)^U(he?P)C%mf*<5fP+{PjF6-=@YZuw;S5sq z8ocH;Z=5LYKJ?!qKfh7;{`=`)-KapDy5;{%)8NnLJx#g6Y_+Tjc4N245{Vm<5+kdD zGbD%SitChofU=@Mi}U&01t}!4a{j5U8_vvac7&+B15Tzyv=+3s6;JrjBV%72_tEI~ zrhMpJgUdH0ei;+b1yVfQ412qZQqKuO!Q0~4+*Jk|&LIp==O?orF9$~jbTY|#<@|i) zAiX*~oH@KYuw>c2SC3ke}C28;g<+X5jb>k`ChX9rPl!I z_0lflacb{Y<>x0@z-pL9MMoh(v6hh)=66P_+?tUY5>+HhN!Lmw8P`aRI0lJR%c8?( zzzT#B2852QomGT#CAaI=7Qu+QcI0j|EIm}%gsrrhv;2w~H|=10Q2rTNa5GZK+UV?EaLBE8o1Jwvpn;}>e3UUdX*@)| z6zVxFK|Uf1OxZ0KF!vZS3g5+^g#-#(v@FIZ_pu<&d{V&8WYr+8C~`s=<3wzh_kL<_ z-bZ35IkIpyNb;a$vW@C94D>><1(1(rKQ}km3@}RXvFoE}D@Bk|p*3*17&vw2JpN_j z%?lR%oKo5L_^Rp!e|!BdLv+GQuVJiH5cTxIX01OD9R(ApkNb(EN6CrI4T2{ZV@9*t z=i)plN~^0&a)!wYkas0HTt1&a4p5I;kPB}89w`b~UpFY2`P6`y9_ZgUvk@+#i+F9r z>GK&GOh7SpubV&o+6Swzjf@<9^4;&ZKD_0ty{FeNeRRp1g?GLA-y6o@dxg1|r^SjCMymWSF0C2%07E*b98=J0 zp}x@WyV2O!LkMtUTyrQEzt5_kmXkEBh3FOFxc{G|^ABjc&j0x5vyHjQ$T15?c=nl0 z&1>4gT9%aCG6FU0@=8#%;ZRdYO8(BQ&tzPhqXrsEm{w-pRoW0Gf22*+1tD^&6-Z{{ z9iC_6nW>p+-^bhUANQ*|mF@F+zhAHC&(1|?Ttwn3%oRL@LKFKPnqZ7)2+mFe_-+ll zw@g_D{JD~j&*I)FlvBl|0VRdXR&zlE1wNHCL&&CpWFMm_ z3}ncykPe1Dfc2Y;SFnLsR@Us5C?Sfg2^^ny@NPLPj{bD<^p$ZozIP7?mv`$Z&ogo7Y}#7R~dQ8H=t)pEZl79v{HRP{PU3A!R7 z?1I(P^62!(Pkg!wvzdRA^`h6SsRoR*{^tC#oke!dK|3R!qr11{8~wa>R` zN|HKoG9+8opIx6`yTM6a;i*h;u?B}AA?T?|8}`PzK(-OLjAn#F_t;dafZF1_M3RgR zNYrVOf+4pi5wysbXt#-OQ61ziHJGI6R@qnF1ue#~J&}M*Vk61*4>K|5RB&Fyn*nm@ zFgaCj4D4uKJE-&ejg1?M*Nz;h*Ll6FeW3lrX|*q&yZ6hH%SRIrZ+8=xNN%-_0fJC} zcES`jR^e7f@T1Mh7nG;iRCDv9uHV<0fp3WV$+Rd^sFbnFEO`~W4^%Q?^v=%wFjl1j zi0f-S;hq<-{_=B=x9d8qmKUO!x2#bcn9>D?^v=^5quQsv^OPYa1 zj@n4N(*(;yD0wrf%@C4rBJng$Rd+TyzWRLDUF$Bdy0rfK*C(I7-gcwt@n@4BJ@Qia ziISrZdoGQm^!msehh4nH@JxIM%r6|@M2|cZNir0Xt5WNbtiLpk+hEh5?~MxxPk{tEFN-5r2UQ~@4p=jmoYM8RqOCPG#@)g z+hsa%3nY3r?e^tcKXd)&|I#%its=sw3OX!>99-}!-=LXIorfk_f}y6^f)mi{&(ELU;{qy6n8J84tD&+kWP6)puO}=cB)0I`PM)CB3>P zI8t1`3%x^;Xh>Yr4m`P~RBL3Ygak{}itBJ-!K0Kix&wPyQm~(puxg_?hWY{IMk-$z z7dj6IpFh=NW|hZ26tRnfB8sF6O;870sLZg7jz&e|+oh)hUl=bLXH}(#zp6>MZHA1O za`pK>#%%UBJH4a~iVhvK0>Cp8Z=VzbjdUx~egu@b4Q|4-kusXOrwC<^)R>jx(kW~k z)HVo)ip5=th_qDxm|nVfH8G^TiqV)4a0Nh)g1HblN-+|6Ed`l}3(R`BQCM#qG0x$B z4gt*@LJl|12{-8-$h&A}LgMGgcwz`K&FJ2w-&+RPHZc<}pEj`H(`Spf-M(OFzLul0 z08CbBj* z#LVT)8%-KCS=RRk6$Z#Y!cckFbr)v*oum_~gvF(R6D$z&kh3Q-H-eS<_)UiZXQyhzXu{ry3m zM1x=k-%~|2`ASa?jBrMiWJ(5nZ55g~)?2BXoQp8w>C2fB;mdxy-a_CkhmM95A z$@(x?8SMwgi;^a>xYVRc<4l@=?AD!+m~X$_eq`2zFMV}t^@8JjzCZEyjOe{9U;ChN zE80gf0i?@TZ37P!paUd_8k6et8eF(W_mb1aRvOSU#^7+1gXIjyoaRCkxSfSq;S(3o zWYWIqwg(ps7NH+@73AW1Gl+W z^G0Yhd-w?YP#Rmo-6Vl>tOR>x=wl^Qv=|TAUihf^I~n3>^4rh}IEh$8Uj$`@w6JAr z?Zs(#?>U(M?9Znj`myIjf28gC@%N33Kl|*y_Eqdw^@8;C+a?(b(8KMYlaZovNNhNK z>i%HA%@N_Wu(Yh_Q6X#w!4tAFvoDtCOSA`w6i!PFZa*j_F4Doo!afZgYFsl6Y8BfV zNobMPvjH-xqN}zNL{VLBbp4rD2j_E1NAm`&|if~6h zl{Bl-y6fHS4S>G1c;nJYOy!@+gcyOo;HTG8on*zZwR~$$D8uVpak@Xs`aDB`;bCC3 zU)#F)85~aq)>&Vi`=n>Ch(x$G0zo7zPJ&w`JwY%0GyyHbx@1E%yq81J%BW7HQcGW9 zuK#KC(F2p~CO!5ScY|tzMwg7HcOtf!QYhKi5^BSn6+r&v=fe(%3?+q_MZ?kLJy%Cm zKh@4TgHcu!k9A+JIz+5LYPe}nVv_)%9Po6V8QN*}WSt!~`%)m5# zdGWxPuCt`NC7%t;0%!Yr-jfodDCeNd&gvyfT%i|Olv)XVWN~BE=OGuw`?^=z0N6hQ z8g2g!?ou_WRkVRI>Py(DAiH>Q{erDl0>Ql%PF0O%%dN}L%|7~{-kpN$6U zv*Wubo*Q#-># zhF_FJD{wPyFx}`kXDU%S9h;sp=l1x8)|$5TJ})=boNF$a7!-FooL?OW8HNd)Uor{@ zJdK&$gaj6#(J4%`YdPaeoRU5$>IWHn)1jD7e+f)!4<=bS+LKqeq5lK*i{<$E&*1wd z8&1}D6>NIy1w*W^3_$c*%lwg95t@d%9AYVXk{v8~;Rm{?6iUKJ35zFPbaT}}CCFAI zrP4Jq4xZ><;CEFX#qnU*`q-Uyt`u0o!jk{Y*ggBifpLr5#$EsWm1}G6zW%}8KMdQx zy>|CE@u?FUkns_Wmtk-~iK(7SZI~WahA_bl*bzpU;~I1V;4ip-`Tn$e$=eDfsHsMC zg;bA=fvlkdGfx9%YOH`xf=uI-@T@yffj|fcsz_53XI6H-;^(jgO~tmvv0>#4x54CC zS+b{e1naS2m`QQwVAFL5DRJQz)W|;e&--NGjeZ?L9Uy@!)>iHD5S5Y@CefLxXa zt8PuNky+IVin!*a5@a%o09_8Cs5-(U2_TcGyH4e==ckZ|p*327R>xRcC11p&{#7=+ zt_(3a4TYqZWed67{P$Yhhd=OO*TLVG!o@cLZ^9t&)rW-kTk>ghT2nxx5X9^KGIg0N z7|>D)zhj|y5YEw=nMh({7|j)NAEs6{0fh-oxhs;^Oj{{<8dF3w!J-dlcn@v;VCJX8 z9{S|VUFY|-elvOhoY$7^Ior41MN}|UR4_rY6EGJoOC~l0Ku?X7C0NOm6WBBs#rIY< zmmTOjpbeRbw1^~mRa0Fu%$;m4(DFHf=NJO1T8$qqXv@@tw*@~aob&DGVPB7&em{;H z(LEGXsPkZL)M7Mt`_i4`NRl$)vhqdC3Ju>ZEeSj{e%ppAXYZcAXW7-y1JBRc^TfHm z&*%2H8whCIVwM<D|2oY3Kc7$Fv{1d#(%cp6~t(TuTNh7&4lqI6Fo z3t)jKtb|Owdi?~8L>3J4)(TVHXHNxu0?zJ}gXA+;6u9)~&un7mBxZw?4||OmaQo78 zn^do8E5P$Aiq;L!1&3qvfxEsX<^M}kKpIE$R2146oq70EXqM< zBNk%a0R`F(J`5TahDc3NO57?|D|U##+NDtt#A!xQOG!vnjnf}|eQ~#@As^P6Z>p^> z_SRwI>gH^qEh7_>D&~_KQK5!BoCQFP4!|}NNPQ-8K_I>0_F<$637#Xv0yURLd~l;) zP-$vHUEgD?Hg+c6w{H9!N3LEQJa5UYG|MQ>#wW(jymd-ni6EkEsTD4NM}4Jeed2p3 z&Boc%%-7Q!F3j0|k$=N|l7hw}LA<|Y-b=Eqn;zWvm2>{zM}z?N{1$tGy5HS5S|j_J zU<3BY#!hO+1KFFb(>g+1&Gq#XpOB9gVq*WnJ+}nxG08=A+7Kf_Td>xUOtmo! zayQZOq`A116kXiTJ$Mox;qjjwMi1u4T%jkajtSF*PENchWaNpC=*f{HBT}-0$N_?+ z9|sCUg|e=i0kxZ%CX8<89!jAj6s;*IL3nsUOoGp!NSZ;C!rNX?SgVADpAeAxk-65N zruv`yru3ap=C?odc>eL?v$IbRd42Gt-gDkRzk5gW^zmPviIyLxnS@L1f}@Vt+H_X z*Y45a`=Qu+?-nUB6h-_M^QB9L;O;CLQ-NJe-~pMhSclns3CMM@RZ(zNJiLvHg8Nt> z)0U&bUAMA)*?TK?J=*K;t_2%aQZQ-Y1{n3vmJ%0RT>Aufi-2GXg=-0oUzrM4i zu(_AnyIorZBl@!dt;3?ghsUjwpKIl61t zEC1a;b-B}s=28eLgPvAJYRe->BqpZysv^l4iF$lOq}7UuJ%!s=l6_jmgiw0`K?!uUR>%d*(XYILgaK`<;`+Tx<^8@A1_cO9{ z#5pR4Cg#i}rJ#gkhs+K38KXT=$X^T>nk@CMRzo`8MSw>A)Fn?zPd8wz+`z4_LJbbfTd z*Mz{40`3x20iYKqtR$q~`yEEbPBfSTcawt(ToWCe;;ncs`e1lRpPzlt*5)6aHa@WG zz~6pLeWu%)%0oH|+Zgas?5Uw-_IgJeIb$}aJL)IMgoYNAA))xjksjqzsDZLIlW=Qa zI-()AM}plFn7vgVbXd#?TV*27-~@@p5JyOpILM$X+$37d-$hx!OFY2h$d~(rlkwg-v34@WBN_ zb^D^z2W{9n`29Uwo}YGp((%jTlU>t3IrPJ@K0oE=p7@6&$NH9x5FGe&C~wocMz;n8 zP1uE^gZQ;Uytu&~x;nH8f;Mcof>Q!Kv{n?^(uprlb*grDC?AO-j>3|%(1Gh~rJRvN zwq4jc^KqfEZMpXRTY8+ip$H-!KN@ReESs{1V0en#=S<;DPc11-L-;^9nq(*IPGOxR zN}HRJtHkU}w>c4DU`^xXVd_t zASNq*(wL$gn8BI1+S+r78L_zP4H0opnb}1Zt;&_fD;49cA@6uUhJKyekK~>t1Uo%j zt@app1xi1rA}Gu-7?IX!5>pfTIfowq=7F*!Cx19OVfV@Qt*)0ZURkp5BqPSRo%gsb zJZ#oj9#>g)hF-R?GF8d}SnsHV2PZ5?r66L27|{)Gz0rSg4%#(+BuSHxKDi*qjpEj{ zYerG6Q|gTSLLRkW0H|GYy3{E;@=|wT?#WOKiG)#QfESY0G!BXm#Wt3VsIqlSOj1$y z%9^l81?~qBEa6d)4l=$w{q}T?juA)HMuYGPgopcHLLX2ErKVGyEqfVofhv(Jcvabf zKR~>u;B{!Jt?=n^?UD^QP(flki2(N{x_PpQcgDfO7lcQZ0l?*Lu=?$?617XrRh6>e zt-;ZniSLGA2S}A6SQ9EMlb{BqG^0(5z4H~G#w3nV!eP4IKt9ksVOL};?%2N=;2P+6MMZJ z2=cG z<3&)M7M>kkwPv^z+(g7DmciRpNY$@!hLH3N@zePXbD;b2N_Xq(j_ zO{9x5#eL@om6zw9D*Nz`-`_bqa(T^T6QQ{CCM`;>5Zu+p3Ij1;^kFR}0<^O` z767)xAgW6C0CDH@odZ?Id8@%qd?6eW4&#S^ef83euUiHTkn~ROIIEvD6R%!q?pk>I zfQbOo+*z;O%s7r&xvcE`ghT=0+ylE6A&(XsYFQ(2t2kR;P2x%tf*DBZ9S5`S=(t)d z@M0A;u2ul|ylD|>|8@1Xy`M8}AkKh9vg^n#SPja}OK+`rsZ8JG7x!u4!()20qYHC{JU+PMWFK%(TewtS`N8>X zo6mlCHiHpd4&WX0aJ$pqcuV4H%f5FC-Wqe_p2h!s_`c1r{4;*}Lgurpo-{PN3|WsY z+CIEb*W=w5@B8}Y_6I-vd~WggU);0#jkwF&d*g_ASLA*0`W>^rd}H~t(YK`<6N5`n z+c|+~j@e5QDM9)vN>?vbk$@S%u_dD52f3PFoAc)c&9K#X-LdJZWt*pEym6p!O4?h^ ze}6k#8!YaN2!oH@n(Ip^l*r0@^~h4bTPEtvRP>g-AB*~@6<5`S`^osV3HXYO{wOnV zJgX%ityCcCc;MMZdc|A{1(*yvq2}A_Jgy2rVJ0>`37EVmKwQ`=xpRbEUYkRzQnHnv z!XzKB7aRrzQ}J-*M*0xUDz54T#5`_UWFD@S44Ry@0Ym>h@9AaFjXF{M<-#wE_8otG z_ydbi%#NP+9-8`AOM1bUBR+eM4O2G-N~FOD62m}puyAbNMy=lA7Cq4>H5q{i*=~qV zp!C7Ed0N;q3M4JaqCQd>X5qrk8q0cOMA(1Vo7K;6zuZ|p=C0?8Ub~ZAM#=98CetS$ z75Vw9j$bmYW7zF)3mza(Q%!&+DzpUqu}X{EiCkz5(?|Lzd$BfA7X+v@>IePKq@dq0oTqIqj2`EuEl+XWe-l?IRd&EC`WyONEFZ}-P z9lw6CVP8pES@X9Rlitm#p3Ts>RP>a)Ad8rTIUz(mCaWj;M+D)SK%PJ+Bc(}rZ4*&iSPD^DW$2-gknW)w$z)U#eTGnGK zT~Uf_o-+*FbZx3VmB6XKY!^~U{c28zFIUO~{fGM_#JTZFP&mEN0w4_42e^4b`Y1zY!M&;B z2Mr3!x_DkiVAsFTjBS6k>C%z~&o0}1%$M#B@`IqLvQ!W_>W%0E;Ot@cK^Jc zuy(|%=$}-H@(K?~h`l7tM2R6_p$qN3CMw!60yuIrrAz^6t-02=rQH3RxwY--yY627 z=hg46&se{@xopkd_pBfLK>48&%gbuqt)iv~v3I6E-vE9lllw=^2J%R9U^-uR^(X|` zBg(NO$kmi6*Q3GgTx2!E;>nyQqCZ1WE)uG*i%XYJV`_#tNK*O0IbFC+c+_DI^dVEj z7G!re3^MeaKSoY7X<_|G;iOVMXarF9KW1=ped*~+^%cMd2+$=Kncg1S_0Z9$#!uSW z+V%O&dDo77x8TIfb1!tP@>kFM$uYut%&$QmRb=h~Xbair7eWH$tSnJRJn34dEZ&2l z$4AZxGXd1Lu`PQ`sj~v~x|A!XBFaM+q8Tz-nEgT~#e4gg#jdk`AlpCP(K)oLE%R1# zzPf>-Bx2}a8G~)$zzga`d=r9O#l#RBB4F0U?abpXrHVV!L^S5YlnGETgL?|zR0r6z zIf66soW;9#*X-E~hyLc9U2!1B`%)F(hj0Gz_ zx0Om44lfj5ZcSnvL2ry#{4b>-EfHamJ}BYgQ#}?~*Goscz4Wh^8y#<$P91IjIFixP7C>$ZQSb2u2NmkD z*{G4EOukR{5GmjQKoTn-7ziD`dfH>E$npV{L$b%S>QV_dRU|hN%gpBNED%K)q)i-ai?(Nh41M!|+oX7y%k=dk--SA1b=J`M0_UyHtk7m74{rWdA z-ac;r?P-i-*&9~5Lw~H#m)^%dr_s%x-Jb~iaw8WWeYlWDtu2ZGtw9PTtAJKQ$R-ischkC*W-#*en{F^&OE zKte}!KO=aKPvSeBHl&Bp)sn~{@ph4Tg16SjtdoKybF@asq$cAvPAC`Pkmzw>0Hq8@ z&zg_QgfI(Xp0@a8UqH(P)w0)`i2I?)Z%JOVYO}Ah+mQ!b@_v}p{#)0ur?0&I%=tU& zeh3`Ab+;qFbu6J9DITUDghCcn4h!8&%J%%;XZSZH?Ev;wpn(H@S3E%(pG3%5VC z`0|s>V<}eNJ&4f>1{R=pYO2sxRK!^6uyAHY*b0)VLqVF-7tK)El!?uJ4)$W<$v$`y zu%>!it%m`D6cbTJX43GOG930TKKI|~?Fr|9t~~Gf?|n=D`0o6<^XGs1Y4q5Adhu(cL#Iev^GX#$`_ z{hK^~pfWh$ZH!=m`e~AX*GIkow0ZEPq1!uu88aD?xge2opAf*q#Vv&f1#29I6B@t^ z?1W!?X&RF2L<5z8O-A`>VS|a-eo)~a5rh%nM8tzyK&Xq%2w57f=$;uXF#dZyQ!hWW z`$GK4$CqY2NSf&rGjlB1g$P^C;TI!?E?8bxXhK+@s)HbOgkUyOLzL28?1!W~+L;jKbEZ?S~oFi-@6G3sW^a`;Ytfn&8;XJ{c6pq z<;RMD8ol86WBIKgZX1lNl*v^w?k9(5e;@OBF_wWjq!pNPM8whD+1r#58lO~cCK;@N5I*4XWCbXX8&EIDtw9=Y zBsn`%5G)u%^{IAuW?T*N)r}tXRp;XKJMQ`9*e7Q*(^NSlL@63;&GsR3 zHaJW}k392T(%JG~hV4Eu?3dabXTP{M^X`eC&;EUX@f*!9pJ|zB1F;o48o6M(Bgjn( z%eGh^+3mjcLR?poXhL3P0=}D+`Z`@DOotLBN*jhf3CTy+;feI6iFIRX9>q^nK2n)B6 zGLqRB;^3zFyB!@T)f^_)mNnCcU zZ&c?Zp*^YKU1z@n9Bj&D9)eA&k=iSq(qAE$A)`H-L}u1BBP12-+WkAO4gOR6vHwg< z`0zHX498{pgL#XfOpEnsvGLPgtxsAl&`%n?4j z8&HH4eO0KxeCP(N?m~qun~)Jy-6q$+Fm=M<{65J~e)r`|hXQ?S7ae@@(u3QU&OWxh ztf!qns+=v{IM~%-xat)t>VP;mGKg5=?sVjKNrgcQOzux5>xF-gbXNKT(2z{DrSeJf z(dT~79$|0G?&!`|39H&9y4_e-oYXpSLkU%)%AQp~SWz@uM&UT=h*{O*A5!_;^}0HF zX_E=5VZ^Ix7(Fcb-r+~jX^vDby1eepo?YKAI8n3b^twww{BTcF+nZ|^Jo#+(^y%&O zg7eaFz4!$iip0sw4o0JBNK_YCiI!P+K+nxX6Vm_VOb4}j4LP`~v+fH5<;o3exZnRP zY*S6G$r+=Q{{7f}Z|}MK!OWfcrhSS~kg?IDBZQPTE$g+s84gUu@f8RI%n&{nP`!=8z3tj$+Pq3Gqk@jY8{k(W-~#wj7I; zjh+nuTO}lXIsY(3CVM4f90o!ZF#-?C?caFpQn$s6dpxk{)T^I=`Rdy5+aAgqdiw_e zKO7AbGI^msGLOr#mV^!_qI;1;xNteO*|i>_hsCYzzeqX=k5DiJrA~~G zqlUw2T=w4=xAvL!a?ODalRA#hm{`$0*t4HiuC#>_yefNXVvXwRUUREo5AAZcZK5HniJTmCqzcO?6 zZ3@YF&w zM4$7@C@ey-SSj`fsqXD0kLT^*4%^~Wc3s(gX~(V)7oWeqYuBuKXF7&{QoAhw)3QhI zDNlMlB@_tSdU@Wjm}LhhtT-CS4h9M@X8FeMqLIqE?b z)e}I}9*osV0JVG^I;mc`-qA&rqb!x9a$$_7HK{?>VvQ#DgsnV<^p%$WCCqjqIiMZ< z)W?_RUfI2C`fE7@G?I1<+H=G-Wrbi@+r3Y!SUHeHs{g7A$wchnJrpdnjEIo@RL*nG zBW^8+A0Y`gvPCI~wDB<0=_HJc<^prvP+)%2wP4AgUY)c1zL-v-04keO%d>njDyk5?XT(Pvf!A7#DNe-X<{o07+H9jTC>%N+~nmQD@bI~ zBJBlnr_DHeV80K)eeA~nuKd2{)rWri%f8mvpC-SHGssCX9&tB-I^cEiv1pGkPGQ4L zfo*&q`^2ez8d~E+i$6&2TPlQmdFm0X_Q{S1E{@v$`DN3;E~=HNiJ7IVcy~$g^T{RVPD=RfA8rlV}AiwCbTHUD``ft z@M&(I``}moVUGLchzvyd?%+aKA{ot9s`u}PoL$?pdM}w98hLhD^NY*EG#6ga$}tt>>Yk-DglK5BR7a0|=iUr2(cs1$^+MN3zQ?k zP;_G0WoXVzUj)wb))Yh9Dp@1FMk@#ccZ2DLp^H2Af~5rg(- zOZxo!&hBjuN?M}<e6%qnqTrEv^cL93)$@f%}aB7k2gu zgRJVHyC0GGRpf|m+b_;B6Nc5kn)U0kAs>#}+I!9me}_|Y=_6=NWEnaRnps5=xiY4S zsX_w+dPjB|(^#X3OymUfwl3>tQ5b>=gb;H>6@W4;0iA5RN)FFBnFpmN-(9O3+pb-{ zrN`6Hd^fHC>b4YLTEVDHpQ%3E$0T6Zd@@2Gt1ywU8$ijw8BK-KCziuVu6GkmC&ewy z6(Zc4DKT13wiS;v&$Vo8BFv02QzMB{1}fSIBGjPd6J@0|bZ-83`djnqA^5FnPrT-h zwyR&wy7u!I3%_4~uJ?)Mn>+7076eVlyQY?z2~8?YGZu>VtA(^~*0dJ)wtE=cOL(J&#tcDVxRpH`|ic&`}#aR_S~GcFIe>jHk!yCsN2Of z)vB6W^%s`n2SR`+F;Yo-l#z;1>T&;R0fkjz@G?ZU*QZc(B0w3!;AElV6e3_Pn3{T^ z*6Jqns0kq(0z=-N43w!HL6prS8IU`1If=$|&^x^YM;=9{EF^E97TC1N!%a%qE z1hy+5LZcn)r$}0%Wr4K@fHp*kR`uK-lj@GRvb+1G0zMxaeeZm3$L)QtR;-x$=?Uux zo;%BkkVJK*MH3-3`p!xyF#Jh%50<4ErVeTDd|-aK*th%8zJ~{`eqj6zYt>u!+ioh8 zWOH_=#0!I!j%kHBSE*i29>>pPl|pPv2X4b1$dRFOPS@r1`yw3~UQm$=U0eE#nVp`Pt^Z(EN>nX226hw-$wTNFR%a5q_REI`l(hU`d3Yt}U&W_?1< z@I{!LwHDqV1jl%|bX;6{xC66R0IP{Myo!ZmD!6vJQd_e#ed$IrT99otDiV1z>yt#@ zF}Qmlp}Xe1VkI)5at_K2_PB6lP1~A#>WZ8PHm>+j_vG*o?K6ohK7Bs5<%ew#Eq-~) znT~sI8O#`#Qa$n?{l?y|)t79ii%s&Y`z`9CN!gh>NQt(4>-8e*mn)5YBzA6u3kxS@ z8b+xhvrkUBG9;%%nC|(zN&)b`4~d6Pv6qc~>+`OiZ&%OSF@M_PIlaG~?#-m44(A?X zL6}b<8#&zx)uieqjd+E)T&*|&_Zdve2+b-T{jk9w$M z`s=a*Ai#F(m<}$7$Lk@ zZoX0qyCiZtP52oh_b3RjOCYE}Iw&L&{1_UkVgZ}*M4mSov#4xz$8Q%XtO(@CTwY`qtMPU3tCIi z3D}-O`z&mU%e*5IUyc^ep=(3QF>sLRnYbzsXeI<#BL zVc^&(c{ct4~e2SG;pLK)RG7+3lJIS}X;&l$^M!-h!bk&>n3ev%xpS9X9x|)w zz&$gz4SsagEpKccpK;5KBvmBXVK&Lvr^$k!juaIFic-|IqJ6@!HHq??US1?|vUwa+1VZk#Mpg$X zh!&Jo>l$+uGPI^;v`n>&Ay;E2iB^*iKEhZIDN{Uozzds33>ay<*Kx7q>iiqO&%W`) z$=};fc9c%1BxvrygF9PW=N~KU-JfDZTS>T7#F0XhBg)`UMe;hg=*0eDBqj|)VpL?h zJkf^48}G`@sqf5eQ_?~K5c5hMZ6J7=l>nM6BUu7y*B~+77H9a#OHa?*e)6rfSr0t* zp6TOlOCwlmq%>I#4dP4WdOxVmSH)r>1pV+6c1uB%zRABC!Zr(B&!@170zUXEuoNP!jqXU=SYWf)#l9p)-&`?q}VV zII4K153U*U{&I|IhklsT<@qk_*Rcp}b|EMEwQf4=~4U7p;0|HiE|-A}9gHp_i`TZkUzmD^CkKxMZV)7^@iV z13DU0oDA7$W6;L&;dnKEqW2P14}1&i6>6e^r#sO+f8X2-tHVQ`osYi!Q@16D55*7t z_FO|C`S^|%r+Ym8>T5qR-1S zp?Rs4Uq{WPpSx_Q#}+0h*t!xz2K1Xc~r%8(V! zAg&u}omiETia?)~x?6z*L!M5;`gB&KALuBxgx@&k6EGbyF8#zr#}^%>8LCaH@SsN^ zO3`S_d13tQ|Nd)!ovUmh1GE!J%IUKSV-+!B7Xt*EgBtocT=@B%6;1;u8uXS^T{$|( zVQzrawsYL;m(Kp=)eFbEUHb0$=U;!2+>HhS?5gCDq-^O|;t*xC2A_fY{uK%@j(y%skqR)%Ch9C?`CGa@$v_I#%(&A~;M{iS9vBmLWtSZoM1Z2Qg+A@}KChBqPt~#x}BuYZdGTs6ps<8FI4*XuaeF zs2+rlqJohHU9c^*8BpID6&FlQyevd}fgtAI9!)pCIrzQ#?#&kuPwJYqcJTN29ba&M z_Q~&GymEN!q$%(0@n?*6>I>;O!TrUlY` zD2T{X_gd3)@qQ12{fMbG4ptWsM4`PgdFuv|i4l^Fqgor@T{Hfztm2o>c2>8nePGAi zhl+axo3_{qD+LN1hZ+MJs=f^tl^?4bJ1siH>bpYtZ}?gRArC= z2NYR|>oS4)@8w<@uQW>c%Q!o#HHkW2~>8R2>a zO4Ld^a>_i6U16M4BJ4fLZ0~K&-_^Ev06u_WlqjuLVoP=zSj3CUExV2Cv@$FC*-#~5>s4|~% zK7p<@=w%AKH?8sJR#(d?vZh-4O0XIvhrlC2m2>+_nOAzcZW2m{7&j-Iy!7{q5U)Jkp{mklH^Axo2%lpM_Pz^SX1h(!H$)VGj+zm$PMLX_Mm7)#RlV?EhzyCV3sNyuNlnjvg5cShKzqZ`H z`?C+nzjyY`wKdJ}tv~R|xO0D9(J!#JjwXmSJ4Z%dz2vRWW=;XkX+ZxTpZn=>Cy+Z^PGHo;fya*XelemGJ39x2zugdbe)( zKeqYF6Emkh{FhZzGoM#;9kSgw%9`qw$Y5eH!y<{~;edC|T?8}WP=?>AC{jEI2O;NE zCG^BTVdG(q$X3B7@3Itv5rJL%+%Rbtl|C_NN^5s{-_T37FI?X?ZSxmh|9Z*qD)WEP zx4y3Vwu+b!s6ZEIF15N{%(@5-c*^RxP$(>5d}YpXusw*c9fZG_>e)(4!XDh}JX_)1 z60jR zFss(+`DNRjW5xt=^_lB%BP}8oo`*5)frJ$tEEjj05yk4dMva!}$WJ0kin~=)VycKD z=oADF_3x<{ml{Z4)4_00tW;~h4rF{W`{h^8{@S5Eaqjx3ySn~%{?~VBeQ|2fgg4e_ zP1?D+Y^AxPOm^sevc~T8rMcB)FJ@+Z3>FrH*iDZwts*okTVTO>@Zo2$qL4!#aq41+kA^L)I2~t>Y$cxu2Z6M(`iuHOFl4|1y$1h;Kf9$^Mb9el- z{_pMUf7!eKw~D(jys)^}Wv^X+`s>}jy85&~u~R7<*-F+Oo*g})%gGvxda^Wxbp1#Hb=L6k;7pD+P>bN)^2H;O#71XWdS^OUs1-&v^scVtElmz^Cp&W=JXLkSlWj%W};)c3V z+4l7w7tv|1D=TBK-+8LFYv`k#EQc9BrhEk&IfD|tV(`1AJG>%*!OHr z49DTU%A}#Tk{BO$3W^X!Y<}5`LSs&8*(0rLKVyD()6l|?!)NFJv~c&o_YP}L5~3=1 zuqQ}VWszC+ka5PHAjy?A$$4=8vR1?sC2M}#+H-b8T6G|B=GXl%-1h3D^07xqb>KW|GN3T^GE0X<uz>s6NVt;v?bBqJ#i`% zEH-Q=pfvgo2sk!`rr4gC+5GFT7n;*%4V~BdOU9{!2SfM>l|rs^sEG>!s@XW*wLTgf z1+RnVs&fbHyOH;7Wz1^xbB8(#*CFut!LwNFoXG4NeWURB9+8Pq4-%uuQMnr>$r^`NNj# zZ$4YJ@3Wm}emncczps7q@4Npv+0v`};?>FJ{yFb)OUQ~lPKJH~LY)#7*O_$Y`OL*?{q!#m0v=*^f#W zs1OzA^3(6`f9AXMcl>nsbaRRpf?zc`=(U^f1JOBOjNLZBz-^UDzEk}muBv32TQEt4H6t%0ST6*Op+5UANG zaO$5v+19(yrmh{+u5?ZqGw@$qLm3brRPdz8TLziH{Sw_S3l{X{oB~xs2y(*Iz$u;Cwi$IovA3{-+uW?ONVJIqKsFmGud(yt8MHRbpo_NpV!XvW`8DDs6NkW~(vXscbBh!$UUCR*bULUCDX%sHu5hNuQm& z=WMC#9Y7PA$WF-LgPLQ#4YM{+EU)0qjBO!-SVcz&f)6=J9(Qf>_FHG2|JS$kM{6H_ zbkgRnS^u2TJhXdn?@8zMP|S#{7)%$7(6*PIfQgDlRH)#|pxm=m0-V;2y76_mZp| zko;mCfh2NgihyLUss@x&eu;}g?p;~6 z^0v9#0*5v_pML8f`6C&cJkyaXY4fDK)&?bDNA=WQ6!B!LED&KQAVdgA**C#=5s#Uj z6%G|e$Nf1P$#3Ss75QN(Qrv3U6w1r$%siuZsogt$aIL%ITydZ_e@ExR<<-w;-M_vi z?wb0*dl3djiJSv7FkP$a@#z?ka3zTI$141cLXBTh1o4fkW%sPqa^%hoK;n1hz#mhL`pVL}Go2 zhVhe;1H>-XE9?ODNMNCyV1Y_9QWj80L8{u%DZUjfNz@6^PGJuf6%bb)3M8VQfbBKX zN(l=Cp+U=vxn(jFMpQ2T!g*+I^Ka9iTYac&_gAAnKYZzq#rqcg-mu`te`o#Cv3G8C z_wKjHK2UAP=JD`S{JWlzR^sg;A;Bl;X1w&)sK>{9eDJnxsg58c{#0;AeD!?YdiFl% z0k&buM;YQxIeiLURU{}N2Qt&!Ku#prVWU*nkHi5B3Y-i|cHM?_cHrosh$e02GvD3O z`=?p^fBBgD#t;S41c>V{k#J zF|^>zo5WSfz+?!d8Oe=9?ZA=8j?eBY)?_{OueGr18WC1L+2`ODD*-p=yXH2a6bhMf zqU^evc%%iJlF0q3JXDYad8j78Oto zFq(9e9)Ud|AdPb59fc7HN`(P)ii%d<=!Zixp;Kh7z%%AEFEc9<+uI-SZF*Bq-uBVi zs!MM*e-%i1=8h$g&K+!%^Sl2zee~l)lPro2I3F}uBJ#%O`hu)USy3zRQ^QioK};ApZ&c)z{l1Sa>+^b2LqmDtt6=I)pAB$6p#S?cpqCPr>Ei`2TTi*^n?&7gS_#9J2#*B zV(xV4+FuvHQeXY~jS1)0ePMq3%%Amb^EXYI^~aBg7N393ZE0y#Sb2ETP){)B@C*qu z1MRq2BPV(5`Y{_*kt)%CDgzPuS3kPEYuA-0PkeJ^ zz-N>jLm>$TgDN`;C8%ul#@r+DUZ|C!GC=ZTynPxH8xB}8%z@8|XEM(a+)Ero3j1gh z7^xo~G%XUVEQIorIgH7EbJgk4#^cAxG@9^cGW%nAog%ERe2re8@N1D3N!}Z$d)nH2 zy-(JSsEE`IYVrcGg$CXJQ1S7OzrDJ)Z}j%6i27GMZQ2O<7_ex35h;EUN@~AgjL=?y zV_yh$FjHq{jzvAUHP^mi&Yzx*&KZ4n+by>+*u2m<^rQTDVig%`vJYMbX*t<)I=!12 zN9T1}jU4hE@qrRKUD5&z+;Zl4=tYi+=0KQj~q93$kZXf zOt#RHsB*V z)BD(s8?zU#>9+XDjjpYWU*0*pVEf#E{AtjfycHjeKl)AHL2u@hZ)Fr~!;5aI)GfV- zeKy5-cpwoF9`=7)ZQzua--TqCJq7WBgXj;oG!uQeZcY_B5y9;BF!pakH#XzRWfdjL zc+Ml-p#-x@DZDL8&{N?pnlb3Zva%b;Wiw%L}P9K)wHc>9ht}C^k zx`;f7;>(GB|5mW`+MeUZUv0jtDv9yB3B)JnmAw4ZQR#xCqiW=;&3Dc3i*B2=fJg9- z#fZuUNz|%LP7BecOTreTauO6ys94k=bV@^j0H3u@Jf(CkdsYAsX?CA6}gmp`UA zPI>rn!1cw#%ZKBgzaRhMw`cnN{A0IQPG5QD%V!_#`qWi-U&_U+L(9hK;#QM4&nH(P zKE<+?lBWS`5=(m24D6xBUA-=M8MQJI3U6UJa^oUy(v{xEW=%l~N^k>)`}qf7d1GWwu*jI^N3MZ*hS*R1DC1ZJra@J9F98-Otq7+g za}b=%(y!Q;y)Z}x2%+rT;`KyWJb%v z$iyMdortJZbldT(aAk&L1|5$`0RSv6V}~$%^8aQVj2V!cPDzvd8VUunL$Sk;%cA$^ z^|^d;=YKjsE;v4Z<--;uWS^$0bN;@0OUA7}bmzv8QtoQ#93Al6>{4KKe~T3k$Hy=n z&$L)Wg|UKW% z%s|65+{G46x^Y4%!6l`T{~j*XHAvhIsVh#W%OGJQtQsvWsp9RHJfGe6=H$V(wHv?u zX8WWK?!nt8eA#(wUHP@M2hI$+{%vt{uX!~+S1fX*JoSwEZ!u@%nbB(t`{x*f?vZX5 z%L8+IT8RP(3JYZ>a0&)inx%zL33NoOQDOok0|qcgGT26m)lf={){&Xe-v*_i^BGBl zO>*TZe_iH&M0(rA6`QBoz z#Li;KO6h`kcU8tl5zj-VP%d`~wxO!U&#&KnbMwFVreBjPc7PvBY7oM6l4wURiY+Mw zn>4D7r@rRyWfCQ5D7(Q-F{(+;D|vH`?G=&S=Uk!G{TYo;`trCaL~O zSEtIb8NftltZo=C&z|~pc#TYoWCm=Vr2tCYB|Ox2;BA@H4d#yri9~nhPO}Su38J8J z!2Sxs2scRjJ-h&Z(No6tu4Yy&9kz{QX>Xa)QqOayV(j-3kYezPR;m1Wv6?&59-rQF zdd2*kbM?0_J%7IV+i#g+wG3U+HAq&4vX)fCQr4hC2_X&LAd^0%JxGdy0q{kk;qqE> zhb;{g-=(pOA*As_Zk6n@BFl7oj!l$G1{=kc)H%ln@LG}V@h9>YzQNbW)_vW6RP#}+ zZa#X{dh3An6K}6B>vnH#p8@|#PM)#1y4R}Py`sAiP7v(d_t^fBO%paAd1RS?W$9;A z{I}Ko>6?>K^y$lPTRb*4ufEXP-=nA^K^p~InVgt|=gihP**m}QcX~ld zLlc@zKO1)@?oO2dm83aaOFnGVCVyhj-s;Yj$?UIU0zbMpZzg%W^0=zQOezmtDvKhd zz)N^}7&Qd|c!t>*EJa@?cYgA9i;S}S=Ux=N$XZt0wCULThdb|OH|$?{bY^1d`NuP- z?s&NI>%H>_cCC-Dj@tRj$45A7mWJXC z_7I~`FEHG2!8v3Gtf^eHUudB-yU`OUqpLI-K|bGf(zJID>iNU+@4H=1JoNjYWkX(l zP?gjD!N^5f+e=F3{bVc2$n3JyIlWuXl3%VXruEOZ+4Lmml%c$FQ&-l9+gu6mC<;Y2 zp1+(_zJxJEygQZ+u^2L6uN2AZ=9C2dBy7$oH%QJcG9V!Wo2fv#RB@+(cH$pQ%+{K? zF~6^Do^v&3{*$M7H?7c}IXQ2q3g0&ujXDGx^qd&DfMX7;lExiW!cyB5i|qt%E=7mV zg~9i&1by&Al8aG!iVao(g$-%VAZ0?C2t6bo)_qNprYKNgu!Y(^*3t6tg2#U!fAxH* z(;_H1P#MlZ&}CYcf@`FH{m@28pV2C_my~%GJwdjMNzB16iWUgUGBBkgk_rRirNwUZ z$T;^pJ{rQOv|SY3LVR60pBJvYj8V4y6m)k#C$m6an^oX2nXopyaQFL#uO5Ez)^%^@ z3um(z{|pKLeeJ-1>j%z$wWPA@=FPtj&urcCf{K!jxVA83>-0LXL!yys{`br=f(BT0%QK4vL82h2Gg&JYpL53UlQs4ASh zeGmk4kA;cYn&bq=Qj?Oa#WaRVTb#q-l~1ff3KawNPNCXtB@x28pAopd3ppuq;N~?% zd4|P8m}X)l=oxe%!@t`pWc7pdN4j5MP_k>!gX&(r{Ul@?j1=oFQ0}$+;iIV~J4l9o zp0O@j%Bg}X6&#KfrXwsKX@23U7f|*H!Qi7Z5g8I(9s>}*te81lMTU)fKEzJ_A~W$0 zJ#bLO=|eBL^U2Q;h82@<2C#YAN8S`-Q%hShh9O-d=>4Up7W`)na zvFrAZy0pO~6Tcl-(sGw3YJKMI-W|vK`)7Ujs_VFMzW7yu7oD^x#s;mUZ=}7b%BPeOoXi*rY*rEJq9n|ED#a!|l$=#E#fn$es(@I+ zb0VkKC1s$b%jX;;hFqHZce{!XULAXluodAKdIpvN)8w$FV7N@29)}Sa9`5s~vTF2W@8rC5`UAXety+h+EA78+y&09N*3`raY9SPY2E16T?cofMc8 zI!HQ0NRt6FF|DhY$qK5jg-Z(q0j z=J2)a*FR6Qc{6>E)B|A1fS(Ed!NdnHwFHoutzJ4mJYN%Y(-`yETa==rg0MQCb42ec z9eG$oNx52t8@a*Mn9*h-@6QK%Y$%Xn{ODK<9*=RZ)Ql6SEU+bJ?@E~d;O|=xyN1`b z{NUy5fe(Law&*drDvB*Cau@VhZZEjkX4J4hTSRUsA7q!JuEUB&N2*3w16IDUgGD-K z>Gw+QAXagD`aS!8LtLDm+y^;5I#f)=s6EjY+r4#M^$_25^+A~o#DaiGRD!JPGlsup zV8sSAUx}3KC9Bg^&UzI4E=HWyfd5bKvn(y`Sb9C_tz@mnR570U2;K5$`duv7e2KH zoWFWV+I4pJ`_){+N_Uiio{`eD9yl>2*dAgoj=Yu1wW|X>vuVr#!C>aG8Y^VSVVHfC z%K3p-NGtp@OpelgO{lNV0<&E`?cDZ$bCVz5JoajJ{egkgjxQ`J>@(ocYmH;(-?~JI|T!U;?r{~d95rqKtqT%69}F)g|Uy6S2?MD?%C+} zO|LxusbEBxYV(e-UyAY3QPcJ{ebQWPf zegksmcU&`T(z2435B5~d8Nc^R`}UHFu8a$LSa@1D8N+5NZU@`8+zNP7YP9G~$Y_4O z<*^SemL>B z|G@cgZXFxne|%w&L>pF)p=O~-YH%bmckozHVy@XRX=WllTHOAnc|v$&ODX0WJyP&C zXas1*_M`Bn6ep94`75QD&Qmy74|)XuK%{k4MUQ@PxTGYd^}>r|mlZTySlR5z>!^S&MA?6U1Z;-bQ3Hy2H97BKX{pJA)#rp4VTeH>b|tDvIOrWW%i*QiYy3h^vn zXTyubXthyNSTdRU1gY`A;nkY+y*HHGAeT4v6dl6ZY59TM=Oz8?ELv00@8=SaHm(0t zxMf?qqKPN|DQ;a5oS>k1wPtJjNwhpLL|T@DY6@tyO;oTL(fYDDNDdK_PZ*JzBd|M} zI_&!V&ULBhdi70Yl4qE{L*>>+X{y8bM0ccq^8EzjtSgxu4?r&e?A8@~w=o8A-s|-r&-zQf#)sbxqjm5C2X@ zxj^B=g{=Pp+(4_Sxc&RC5U=-F$4@^t{r2HKS-FvGc8B-1y?T{+?D-crKD#%eM@_Hz z)kU)RJN;}r=eb{%8f=Lwnsz0gh)Wvh)7W7dq^-?0BazU8V&f>^)%*&&6s1BXID=SA zf`>IlBkm0rWpag;O2phCy{eoo zwq0NJXxppv6aVXTUg2fXGP2=DVayap)zGst-aq2KX&*c?eS5)2R)yV-+e(#dROU%) zPfHjxFrLqpU{x%rwB!b3%}p^l5*gGFr`&{~WRcUpVR&ANSI0UEKLFoTuW4w}3acQC z!&%_`*Ns;N8-L#Nd{f8TMGY@{cHH~o?}mT!vKIWF_V(|}*S}5*f81kOY;y8C!ww5j zwi7BkQfZZn<)bI0zwx*e@{y&)Gg2s7#mWI zU0wybb&5z(ZciaV6Kb~N37n24ltLHp4r8$IB>`kG*%P;9s$y^#shWIePwkUUAN(5g zL3~_T|7EcU9`)~-ZSHhZ7i=8)uvPtzH?M1R2QHiS@mi+SNCu>fT465YqK5$mH3J%z z3A-bBWN6+MAd~K8y%0ykCn(+2&q5b`tKuAMDRkM&0u_%8>q|UtCFXUi zX7;%6r`f=^LN0b3HOo@{?T2!%mY}r8jB&#lHjZ3R3=DUY3 zi1m`v7p%j`SNEcw?6JaInx;vR5!a27j*Zf$MAP?s9#mbcJ9TaO^44wt`tzd_5AFqWI=8Cuq?QQaZv4Q&i0Zbkj35GC7_5y-cNc^T{vT%)fs1%DsM@ zLomoBm&`V5gVJs=?)vT%^)oTzXUmKyU&o$36f>^q>7XuOs}4`xGPrW`_v5yFR?%nJ zr10^l7JvM5;nTr6H8FcW?l(B8#o$3>w;2Zy{`$KzZN|$F@>1PSa(L~ucW`^gnz!!g zyiTwM!_}O&FRNQOQ_26f|8jRj>6OTRnR|M#N@>>gt5|E{%#x31+>PB-(rH4UM5M2V4vZzM&3neH6) zZPK^FuYc^naPqyU*|+=m&ndjxEB#_Giwui{%E<=GE5Ir%ltph&6SgAUGMU6N+|W2f zpw6>Ph8>TG<5?n0S#VMs)mBA@r|lO!B{NQ@tbo;|QUw?>Iw8lwpK4chFB8lT~V=j3pCq_Sw8i|{{JMFF-O?PX9Q>L4*oni(oGhS?j%ikB~Lrk3nY>$CJ( zpT(y>Z1WL$J+T4E!h<(7o-GE% z!g-8DX2=xODz!Gu`$&?Lxoj|IIcwcYLwYJ}SNb=_xWpW&?7$xfi_?*#Tg)O27V%(T z=~=k@-m{ngdGzbr1L6M;sQvAA?LTvCx2(GO@Zro!i*`h`kKo4g%xe?#@8#OJmrp(s z54SH54YO+0q1K6_nvqZaM#^D3`3m+%xTbaW0&RtahuIq>ZYsZ6i72Mo&{#`p6+$Vj zrSa|<5SyEZ#AZ0u8$0g)%4!jJvnc6`h)Wu%_Y$Rqs)}%zwDqKK=Kt9E<@6xfVx;c4 z&C;NQZWmz2;4Wp~VbJd-&x-6H8YbaV?|QZ6;tSdl{J>15DCRq$9|sWfP(dIfSrUz(nWVHnuS zc+g}kwZb_dOpB>Xi4K$YFjVPLj4?EqdzhB@^x;3n+tSW|)@zh)c)_;4m-e2jy4HNw zqQ4%@uYLV@PP->A|5=Ow_hC`HS39e!TX%0`@XHXr{+G8u>Am#8&hjQBk9aR{^;Jo7 zmzX{^55q=Yd2q3yqWO(mQFGFEwydch4!YUBSQkJoj_ivSjV8;ZO60606MnMMDjo42 zqTX3HZMY?7NAr$z@9W9~9<}@PSNHDT7q=R>MUkPaiL|46u8R(m6&DGy9#I*D`wCot zeki=X_$6dU^cWKRzJ^iMw%OAz-$?4-|My->jV}z}bd&=+TU^-`Bair#7O7pF22Wec z#`uyBYpMqRXI?+czMf%lo`+NzALOMO4q z=y}|BcW7znyfM!0XUl&`8Y&yvKdIlUG3$;^C<^n_ebxHRxld-CuS@FH`JdUNwdsD_bV5t2#g&jWBR^vy1p`x~Lq$GRG!&~T7r2`>W& z>qb_ib!+ClqS0S(oio`|71p$o@R^xyL37y6DREP*DXvDC^J-w>yTFr?xCnBv;V`*} zRqr-QL_#RB5#Yp%jBVn8A3ItK1}~dDwf-WPKJ(UTKmcTgT+dx z+vLkyA<;poBC95%4E-%hVe2q|kQ?Q6bIj_=TE#S6@{z~|v0m6d z;zG#(obHW(H%4@X7z@^Osaqm-FAibTta3D?2B7Vih*@+G7)hiGKr@z4&L~_#O>m2f}9TNwith6;M^dy)8VPRIY#b>h?97=1|J-wvr>iLmDd5ThbP~O=&pR{S)=FNkF|NilN z*qSEFe4^?8)LL??-cU?3*w0F-Fa%cFm%!vP=*c6L6;b)$s zMA9q7lvRq-C^9$lFm6wv8eSD5b#cBLHuBa+n%XC%}rgDKY7S-wk6ktj2 zs0mZtX6ee1L<#mLoNRl8%fdT$RK=gGXQ~61K!=a^WSS}T`jX0ry$Z?O{A~C3%qWx` zYpE?jIl&=1 zglmPCfY<=VLG_`o30E2}u3y&hQ^$dK@6JD3b=rSqZr>LfYbLgB5G2D81@RWR4N8k*r{VJ%yE+WE%`Dizt@*v{1OIn3aP?|k$J9=G z%=>hj_93DNVJ0#|EUsbxNdC-FFRfBUv@Sjc4-~X*0dU`y@p+XGX1~dJY3jhxml{-V z3(5_2g*f>W(^4Ag0`g=o=ZY>Xzx2#dtoX7?m@58AU|f09ciVirjp=3kL1FVKJ}=}2 ze%Rt{rol@Wa5hrsNVmiqYzdQ9D~B7rv}RL#MF+XsxMjt-wLz^1i!L8)T;2egay;p{ zS<&I^RvG0jO6}CT@MS!K5EvXSJ=qeMZUQA3oqC?@d6r5%J3^@P)eXP4ZBUCn%PpTN z6!XTZ{JI+DED^U*tTXs|C<)zy^CKK>2q1539!bgJSS7QWN^dm@@XD7#(o%h-yFEue zqWa;%+yCCY89V97oF+C+s1@K)AlXt1nPog8s}G{Ws49%ConMrwkmGH@v3$BduzvXe zYlu`W5~ttp^|avI?9l@BbHJvlT2-{%V=GdK02tt5%vP+_gYmG`&J`#)T$NImD4UBb z&Wmj+84R$fXplol&kFM?d=&Snc;elk{g3{2Z(!ZpH7{P&{*yiF^`=RSOJhduDwr9U z{NbP(K!mc$2_4P?E_=ETwO>VYJmw~0ahm)@N>K%knl-m#LI=V?u{)F-qsaSQM_&Us{)W9x!wkV8<&0~z_`@XTZ5x;2b#cKmtffyL_%EL+}Z(U}K( z;u>x)9JMEA(ic16yCyR6HN}^&dQj2v#+y?$50Cc#+J5f$P#H}|kORjezj(^LV!J?q zua?f1F!uTcq1=SOT2eL)+C%3ARV@8tN7Qi!p`&ESgh>J=RxALRG@ll1%tN?jm_f!P zXu;h8W;cYt3GX}=yyQu#cx4^h>=u4K1q_dW);U} zUgr+C`xHq>P$-~;hgDLbmtz*^BuRpxE2|IywWnJygGjuYNFJ4HNkt}OP8eIklAsMT z&0vT$)&Pb;<53zJNG#+Dh@E^I4=G<%x%tsyWO@9d>iFbtfBf^@rmLCswj}1j&83gZ zkN$JNaN@(NxVFiQ7w!0Q?8U!2c@z(|EAnVL@=iv6_tD+<#eL8G@W+dkKT`W2sgAtS zw>mNRe%R{yX%GGkyHpW>y~CaOj^Gmx5HEBDW?g_ynkxnizEYho<$;QMKE6?*LcS)$ zV4Ldyar}v2pSEB9An!n{S6R3IUNPxmBg`y!##uioQdFaoN98(dJHnJ1I9jm+1)|Z){H>ZWyXvn zO}2b!H?$}QC=dJ`k$EqjQClU=s8>c5N73iV^+FS6y4?RPdYT$tb(qfIJgPz(n0V;0 z+@?}F1n&lHSP0I_F86|6os^yDz2X%ye3T6Q4ubeH(n+*YyGsShm?&?*tLKa}&-!d^ zoq2J<{6|HZ@oDeL4QdDOJkX$GJxoPDc)s}NM__3RGeCNiU=U_tPNxedsSXLjKqffuq&#_c!OGw$WE|`7X&lcqd-N4 z_44&mMFHZiaNavW16P$j~49{PC~nvNx&lIKXoS*)M=nZWe;N>^tqbz!^y5bKJ99u*3ebOGk=S z(WT%|izOg~#?lOF3Pk~LSMBhLsXY*ObN-_xJJxLe;_du5?y-w^jr})u(yQv)w*|HD zFS>j4^yILdZnkj04;kapC-I@s@Y?Zq21fdj#o3VyUc%~4m=5Of7h0v#Oko9x<2+-g zkPm1li3I`itu6`?T2EL9O(~?e?EJ}gy-Aq($LDYV{FG4gnjVq72`e0(e zZ@15T(EH4R`E{k$>Ga9zf(JMl1~yWoELQU$H#a~TotG?A=8u-BR3th}f@E2;xP+R0 zmBuI}u%V1Y(Fb^Km|B1*9@Ym5`XEq6(!LR6d6+~*;K)y5d!OA0>&7*mK|?S-6O36qX29J{=5>AhxSmo>~EvhU@S^08kWdN3sX zr`iv;|FQPWr(bD`r**U|b+OVYw@J>)l)2FP3}DT)$AYOUV?S?N1C7Ptkg2-P znRep(!jNGnM-l<|a4OIQ<&4BA@Oii0Jz%!T%t+v6OvyTzk93a|oIog4sodUb%Sg>u zJRXCMUy8DHZ<1opC9EnBQWJDmv*J}W?dZd)x$RK*=qWo;9s}UU>K>xcBW&naKHsq!YrhDrRkU zviN}X1Sj%R_8-cAv)n~Ej~r)SKX(R)4J^Z%%c}>SrGb^VK zSn%!kq&b5I5gh|ytj|4d56J}mArw=9UXcgap-NkX$A*_m%1bh_=p}>4`mHgxQ6E3X@1EBdq97S5UW>o zjc;q#amk@=VuXiyZA5rlBfH^4J2vd2&A*nUl!VoNxOd5^@yBo09DQ-``02Cjrk=mK zWLBrc$4hjEyg*WeNn&fX{oc>N{PlO`o0p@;73H=)m%QH_G+f#Z4F8Qt$LMsm&_e|! zhB}BKHzb~6Pr3_T=+^y8Xl z27{nCW@x^=@XfQ}Hurmcd~RyYrQo7f24fWFDsZuIW`v)DMMf$wA4J*+tW82Ha{)~M z4p~fs*_Y7FMxq96R4xrBwG?@xpb!YhHig^Yp%Lu5m0cAg8<-1ooy?^`%wxs~*kNF9 zWnjEZ1c$}GYsr!edk(z0x%utjfjMV=Go1>#T5mCRX(CLmy>rF1JLJu8mLY2vU3hcz z%}-H~8Ry>Y+55m0ng*A#lhOROMzqLfW}m|K6T6(ha;0&}&FbGS47m4t(T+c6jvN;I z&3oI%d}4^Tt)m$goRDwO9pvLzp%L)45cRHuCNoz9EL=KnONRXRxuDcl-4bUVdh~hd zh@aQXHKp=(d?}`9gkC_D<=Yrpns)Qhi34&cP+BF$~ zm=2@P;NYLOmsD9IzF2AyW71&wHKp<0pbddHW@$}UPR%g5G%7AunF>Ko`^nSWUMX35 zJLl@e`L^V^{e{OqHD$lwdumaquT_n-jOj4tnGB1P%Sn1cd?^BH)oMS^H)`fIS`L1A zC#tFgnWZsf4;<)2+}J5^37GlnV#n2qk-;Ozl&^2$!wyPLHHsQcdt@0f{hUzD4L~|F z1#5)W4zr(Ep24JEq?S_n3RYQ}++n1hlsl*z9D>nw^mC9?^6-cxI7|LIKTO3}lx1Gr zc53>D+@yPlF3-L{{jAMQU9X_eFcJU^M^9FUFO?m0Sm)!?Ed!VQrK=n)scgBqMScWh zQlkLS0oAMh$B+6`XH`}GnK62f87LQ9Sg&j*F^Pyc+=zH?y$%v>P&;M+-tU7CP>cunrqTBAR%%)$CLzpOtD^F*#(YV*)-_aqFZsayotx%x21htC?FR6ZzvhvZf>P#`D zxb}0L4wNfK53)Bh4(jyN#C^>go{vh*UHW?LvWv|YUTwDM_SJ=HVJ|M69=7Dc&|UD~ zY}BSIw@FOR-@nlI_@5mEAD>zJuyKcG+q#nUjWOqDEU_xv%Mjt}alvE|gqe+073Sr!AH@GnfQ*5~Np%BH}$X%yk z<7Yr3)2e9SxpVL^Gmc)Eb9KowJ$ZJ+1QP^EGo$c4jY*6bEOvu}Bcz6KRjdn0JaeYU z4E?FDq~vnm%-2WHzx-0{hDb(G`>~R>NV=7Z3{9qtb&V>ZB_iW;RgguivZzSGAvVoq z)=AZH=E32n3;}iw3oF(EWi~XxnHPv5iP2m}a)I1JM2>*pnw2Fwb_b{EZJs z(M$EH>Pc(v+v@h;{;S`pifS4#y_(-?NHu1B1TvybZLw`v2gI((o^wJ~<0yQ@_CZ=kIe5*@w>3`GH zPaOHCeo!GJW=qEg5mE~Dsl zX+-K==evIidOxEI>4;i@iGz6GWa4Hsa@Xj&6$}Q2R+(-TErK}%J3_710aW2>jDkkx zFjzpK@dH!441!vngIfqZD+mL4cgtO_p{Fk8Uz%-ORFb#ER$sMp&z_3GSI6d@+c?fc z&ZFcmu?V8z5{xQ7wIRq6D8r1)VbqFhPS#Wb|7^KM>C$A#^{HMYAv(sDqmMgvc9Z|i zzH>{SbsV+%{i3L+=UeaS-25ArLaQ_A1A;uXlr;V@M=f@vRq|$Kr-$bl)Ilx-w_@C0 zmq87Xa&WWstqFwZy?X|^d@@){BG440Hw!DlWXi|#*bfIRYHhP5<&`@PYMC!bY6nPi zDBLsj8@mtAKK^>OXR98qpT|`60>I_7>v8%}P^=3sLmXM28eXqlopY*xjX&(LZQi$* z`m(fL#>nC*4kkmnR)v)x$t-e%BWC)5z7yKE?%t}t+IHo@6r7zE3;;oAK>yY0g3CyJ z1=f~sodJlunREp1btz04GJj!wMub(m^z7_$t>{T|ie4k~7PTg`O073ihczm^bgt;Y zi4%oY3pmy8W-YisY*vqX&!0Cv|0s9To~&(=V|OFC>>SVU?ZCT+FUvV`HWKso2~()i zG$xZ)y3<8hputiWr4^0ETCQVJ;4@_iE~nF==k2N0Y8-eu>2a>YZiC0ogEWgqt^Tao zd1$9zKVEITym8Lldo3s3`sU`n2el0`wRHpb^PGUDVlKoz6z=1tagusURIt&0mjqM3yDPCA~4srbOPIlQkY~ zHnSKw7mXaru-OUi69Pn|Dq6%DESt~B_jCxBj8rF`m5h&>AEYPCk1t}m^}Yo<1B<~B z94Q6`Si~T6RNb*CHN6puqtdlbIWZ8!Mx*GV zR7g4BPE8bpMk5rN<{5&);U#5ptE;IjIf-3JD4;)yLL(L}6Afwtsq#@on$4m_6eggz zD-0WnS2i3lNGcjgG6Cq6wyNG4KlGOkFJ>(JyJN$~{{8RuyU(w6Z?2Udq*h@c)URj3 zqwI#H*sK!^Z#|h-88xN+LAOoeA!$GN>OFjreXB9Ul+j|eNLfVn;C~@X^YJJD9pT?} z`Rjt)Zw8dSsV+KvsWjmGolDktAKJ*BpQy0%%HoJdS5rn+o2&{gRL9l^Ok!E#kt`UM z%axbDY5mWozG;m{eif0ef~6RM3ec!MnIK=Ta^k~NjiNyA^1#8KZF zB5Jq?WhO1RpbC8i)-^mvF;%9KWIrBK_(7N&^C3|(y5WA6y ztAhMX+NxXGL4u?G^h-&tvz8C(IBMhKLs^RtwOVv3ZB|fG)8|clJe(Niz5CBC^XNmR zLs|B&#Hox}QNERe1A)IvPg)AwhOK6YKVVeJ%vx!LL2!f&*FdevU;6Gm_mRL!{;>#! zmuGMIW}IgC7dY zMOT7MtKxW6?3|Nu=!2K%+r24Ddv#~nSm+ic39jR)#y(z@QTl^HP$yz_C2&G%I1BA= zYDT@$jM64bMJA`n+eHzCr8(CJbO#3u(asMrl_C<9C}`*I01-x0{Sv{H452E9a5(o?c#8~hD2GnH27 zz*2p)hOvp$m()HhXi^nsf~X3=0`@!PA*nK#=LN#Ra|B0PoeM@v!yvmxYc9n`(ZY4- zR!Ts$2U8p13W-OkmDBPV)KcC=GujbfjLe{O!Jh3SV@ukNFz_^Rm$}%mLl==0tsa@x zwCU2{4lG-y8~ZVr66!HFk4393vjkIJ4;m1u^dSsg+~C+u3FC!BxvI{+9ae=78J3R8O1x>$LShUK?_^WlM)Q z^(MrWwHyf2C2r5{W)KRU9HO;7W`v&2fZzK1S8&Iv>uua z!9jzpl=0Ro4MF@V%2IQ&IU`W9Q(;;7WK;O-o7X;FTgOO6;8Q7Mo%As&SS(^#(AtYL zoOh#D8C($%JI$!y0Hrk|@*9i5VJSynZzt3S3pZHP1i2dwkmT$H4!z4SFz}2^>Df37 zX-iq;QjnR{EwM-MjI+u;HYCVnny!Z{_}9(xi6zKOk;8`9NKVo zQ(W5ZGY7)@_%50BL)rN&v%ekJFVT~dG0)qV%p)}giHXZe1?J%Lw#VzaAY0f~Yl}AR zDZHZH*?US_HNuvsXE)v3H*jvr+>U$SPo6wu(ZnMe*?S6q3QRRPBLuj-ZkB}_iLs|& z(m+Z-1M()5nRwzzt0Qpb9fJ^*JWvgTRn7CnElJJ+iDRPO;6`=DU?a#tn5>|bnrlDo zvE&A%3sO1>N?1)K`yE(ItNVT2z0?~&jGxs%?bG(QVF*bwNTh0_4pKxSOHrT&ErY4; z##q@I?3}}iTUYvH;rjR#FRd7F; zM#WeGe;k1qCO1Odw#rm-JRGF#EOfFH$PpfEmeX#gAx?oI?hyE;(6MF_|4PBZ*&iym zn2LqM^(&&W1`*0WH4`WYF51~EK zh$+rCgQsmCF#q#8KYfr~asK)9_S54FY=)FnX5WZTnkUoe5gaWMXz&A+B@>Jm1g{PRc0ADwY_zf{ZZZa^@p(bRRDKv4_Vk04D~Y!? zN;K?hqY@rIbPhe1lIvFOEDXP$yQl~G@(st_LocXAKJjL6yLNq~QgCEnYjNSR_o`hd z{&{t|`Q~|*U61~Lt8mgEmwsq>eE*W8do$zwV}?b@J0l0cJ5GU{g+0VzZ!!0){R7%Q zXxjKl`IDzn_n+46c(v-{>$w|o&IOYWzXR$A+YzHG$bT7Hl z7l1<+q{wgr#Y;Lh4XNeFweITNGGBC|c@QT!uQo<(y z0QEA@i+J^6`0X#p=r_XOLoIc^k_Sn;tEZk}wg-Cdq=CuV(77El_?C4|5V~*<`pY=M z1r{n^HSiLtij?3i{*rdgP=kUYucBob{tZ5MHy5x&7L8RFA;ywhg*7N%29ugCEMV$q ztdh8Gc>0k=kw;E1KDFG19T09g1(}IHcEptz^^2}fNVX-npc^`|XQm%jPcl{NRMuq>rtd*2lSud&Z18KftV{xK|s)?3^PqyDWZN;*o@m zu&_>_%*d`dT>WEh)rQ2G=W%K|UHW5>!H%Beb7qHT(4vH?0(h zOR}vpBSb`m5=PF<_RY^0?tazyUd_Y4eOB$+9n&vR@RVHsWb`0@iXtCo`_Wc?d|pHb zlr5Qg_s)CmH`zmOg^m{@wYbD$bjTR(R6?jPaXBgWbJwf>JkovpFGH4>qa?S&5)%o~^d$C=*8 zIo*-Wrf+4NAml2_rVZ+IZ_~oN|1Q0>VCC`?RdMYeZ@9YT$-Ot{+r7Th?(MU7174rs z@n~Pe%jnw6A9Tv@&>WW*_?Q7HOxUbQa@sNm17pE$QX3{uiAU3}gP+J)RP9w7D%RUD zIxtY@oN5`VGv*V%3HIu?%Pbp4dw#!bMEUDsxlf*+-<1X9>x;syWe>(KsUCam`L{V7 zhMo;EV()ujd_O!T0wn?y)C`UqGUflQgw|&iS=hyz(2vK_hIlbXIiGa#XlQG

*?KY$vkd(Ra_Ym>pNlBCun8p*`}kC@Xa;mxy# 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 + SnowLuma — QQ 到 OneBot 的现代协议桥 + SnowLuma 将多个 QQ 原生会话经过协议、桥接与 OneBot 三层处理,连接到 WebSocket、HTTP、WebUI、SDK 与 MCP。 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + QQ INTEROPERABILITY · ONEBOT V11 · MULTI-ACCOUNT + + + SnowLuma + + + + 把 QQ 原生会话,稳定地桥接到 + OneBot、WebUI 与自动化工具。 + + 一个运行时,管理多账号、动作调用、事件分发与实时状态。 + + + + + Windows x64 + + + + + Linux x64 / arm64 + + + + + + TypeScript + + + + + + LIVE SESSION ROUTING + + + + + + QQ · 01 + ONLINE + + + + + QQ · 02 + ONLINE + + + + + QQ · N + READY + + + + + + + + + + + SNOWLUMA RUNTIME + Protocol → Bridge → OneBot + 独立会话 · 类型化动作 · 可追踪事件 + + + + + + + + + + OneBot v11 + ACTIONS · EVENTS + + + + WebUI + STATUS · LOGS + + + + SDK / MCP + TOOLS · STREAMS + + + + diff --git a/assets/readme/mascot.png b/assets/readme/mascot.png new file mode 100644 index 0000000000000000000000000000000000000000..de7de076aa768a5b09979a9e399055f3caaf80fd GIT binary patch literal 1771238 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⪼zRP{WXb8N7Tge#3Au9< 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 z%0D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

wh$!PJXOb>aQ7N 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

>6F=LQb68Sj7W6fG`xtf!4KfSEv#D{Cy$ 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%0DtiOA=aJ2 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

{X2Mx=EGsVFSj!GfT6em$cXS5+SR`7)8MHMJD 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
2o)%Sd! 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

L$a5EZt!)-A@L(0Qob9( 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Ǘ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

uX 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/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%0Dt`rh6^*A~Y%hI&>_3ZNM^6m4BbG^H{iG$UG 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 + SnowLuma 运行链路 + QQ 进程接入后,数据经过协议桥接、OneBot 标准化,再分发到 WebSocket、HTTP、WebUI、SDK 与 MCP。 + + + + + + + + + + + + + + + + + + + + + + + + + RUNTIME MAP · FROM SESSION TO CONSUMER + 一条事件如何穿过 SnowLuma + 每层只承担一种职责,多个 QQ 账号各自拥有独立、可追踪的会话链路。 + + + + PIPE + MAP + OUT + + + + + + + 01 · 会话接入 + + + + + + QQ · ACCOUNT 01 + QQ · ACCOUNT 02 + + + 多个 QQ 进程 + 独立接入、独立登录状态 + 每个账号单独路由 + + + + + + 02 · 协议桥接 + + + + + + PACKET → EVENT + PROTOCOL · BRIDGE + + + 解析与身份映射 + 协议数据转换为内部事件 + 异常路径保留可观察信息 + + + + + + 03 · 标准化 + + + + OneBot v11 + ACTIONS ↔ EVENTS + + + 统一动作与事件 + 参数校验、动作执行 + 事件转换与消息存储 + + + + + + 04 · 消费端 + 按场景自由组合 + + + + + WS + + + + HTTP + + + + WebUI + + + + SDK + + + + MCP + + + + 多个适配器可同时启用 + + + + + + 一次接入,统一管理运行状态、日志、连接与动作调用。 + SNOWLUMA / RUNTIME MAP + + diff --git a/compat/qq.json b/compat/qq.json new file mode 100644 index 00000000..abb081bf --- /dev/null +++ b/compat/qq.json @@ -0,0 +1,19 @@ +{ + "$schema": "./qq.schema.json", + "version": 1, + "updatedAt": "2026-05-16T00:00:00Z", + "policy": { + "allowUnknown": true, + "warnUnknown": true + }, + "knownGoodVersions": [], + "knownBadVersions": [], + "minVersion": null, + "notes": [ + "QQ 兼容性 manifest — Desktop 启动时拉 https://raw.githubusercontent.com/SnowLuma/SnowLuma/main/compat/qq.json 校验本地 QQ 版本", + "policy.allowUnknown = true: 任何不在 knownBadVersions 里的版本都允许(理论上所有 QQ 新版本都可用)", + "knownBadVersions: 列在这里的版本 Desktop 会拒绝注入,弹出引导让用户切版本", + "minVersion: 设为 SemVer 字符串则更早的版本会被拒", + "知道某个版本会破坏 Hook 后把它加进 knownBadVersions,加 reason 字段说明" + ] +} diff --git a/compat/qq.schema.json b/compat/qq.schema.json new file mode 100644 index 00000000..0f0e3061 --- /dev/null +++ b/compat/qq.schema.json @@ -0,0 +1,56 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "title": "SnowLuma QQ compatibility manifest", + "type": "object", + "required": ["version", "policy", "knownGoodVersions", "knownBadVersions"], + "properties": { + "$schema": { "type": "string" }, + "version": { "type": "integer", "const": 1 }, + "updatedAt": { "type": "string", "format": "date-time" }, + "policy": { + "type": "object", + "required": ["allowUnknown"], + "properties": { + "allowUnknown": { + "type": "boolean", + "description": "若 true,未在 known* 中列出的版本视为允许;若 false,需明确出现在 knownGoodVersions" + }, + "warnUnknown": { + "type": "boolean", + "description": "未列出的版本启动时是否弹警告" + } + } + }, + "knownGoodVersions": { + "type": "array", + "items": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string", "description": "QQ 版本号字符串,如 '9.9.20.123'" }, + "note": { "type": "string" } + } + } + }, + "knownBadVersions": { + "type": "array", + "items": { + "type": "object", + "required": ["version"], + "properties": { + "version": { "type": "string" }, + "reason": { "type": "string" }, + "fixedInDesktopVersion": { "type": "string" } + } + } + }, + "minVersion": { + "type": ["string", "null"], + "description": "最低支持版本(SemVer),null = 不限" + }, + "notes": { + "type": "array", + "items": { "type": "string" } + } + } +} diff --git a/eslint.config.ts b/eslint.config.ts new file mode 100644 index 00000000..1d74e914 --- /dev/null +++ b/eslint.config.ts @@ -0,0 +1,109 @@ +import js from '@eslint/js'; +import eslintConfigPrettier from 'eslint-config-prettier/flat'; +import reactHooks from 'eslint-plugin-react-hooks'; +import reactRefresh from 'eslint-plugin-react-refresh'; +import { defineConfig, globalIgnores } from 'eslint/config'; +import globals from 'globals'; +import tseslint from 'typescript-eslint'; + +const tsconfigRootDir = import.meta.dirname; + +export const sourceIgnores = globalIgnores([ + '**/dist/**', + '**/node_modules/**', + '**/coverage/**', + '**/.turbo/**', + '**/.vite/**', + '.claude/**', + 'dev/**', + '**/*.tsbuildinfo', + '**/test/fixtures/**', + 'packages/runtime/native/**', + 'packages/mcp/src/generated/**', +]); + +export default defineConfig([ + sourceIgnores, + { + files: ['**/*.{js,mjs,cjs,ts,tsx}'], + extends: [js.configs.recommended], + languageOptions: { + ecmaVersion: 2023, + sourceType: 'module', + globals: { + ...globals.es2023, + ...globals.node, + }, + }, + rules: { + 'no-unused-vars': 'off', + 'no-useless-assignment': 'off', + 'prefer-const': 'off', + 'preserve-caught-error': 'off', + }, + }, + { + files: ['**/*.{ts,tsx}'], + extends: [tseslint.configs.recommended], + languageOptions: { + parserOptions: { + tsconfigRootDir, + }, + }, + rules: { + 'prefer-const': 'off', + '@typescript-eslint/no-explicit-any': 'error', + '@typescript-eslint/no-empty-object-type': 'off', + '@typescript-eslint/no-this-alias': 'off', + '@typescript-eslint/no-unused-vars': [ + 'warn', + { + argsIgnorePattern: '^_', + varsIgnorePattern: '^_', + caughtErrorsIgnorePattern: '^_', + }, + ], + }, + }, + { + files: ['**/tests/**/*.{ts,tsx}', '**/*.test.{ts,tsx}'], + rules: { + '@typescript-eslint/no-explicit-any': 'off', + }, + }, + { + files: ['**/bench/**/*.{ts,tsx}', 'packages/proton/test/**/*.{ts,tsx}'], + rules: { + '@typescript-eslint/no-explicit-any': 'off', + }, + }, + { + // OIDB service layer is namespace-per-cmd by design — the + // structural-typing contract (namespace IS the OidbCallSpec) and + // the file:cmd 1:1 mapping are the whole point. Disable the + // module-syntax preference here only. + files: [ + 'packages/protocol/src/oidb-services/**/*.ts', + 'packages/protocol/tests/oidb-services/**/*.ts', + ], + rules: { + '@typescript-eslint/no-namespace': 'off', + }, + }, + { + files: ['packages/webui/src/**/*.{ts,tsx}', 'packages/ui/src/**/*.{ts,tsx}'], + extends: [reactHooks.configs.flat.recommended, reactRefresh.configs.vite], + languageOptions: { + globals: globals.browser, + parserOptions: { + tsconfigRootDir, + }, + }, + rules: { + 'prefer-const': 'off', + 'react-refresh/only-export-components': 'off', + 'react-hooks/set-state-in-effect': 'off', + }, + }, + eslintConfigPrettier, +]); diff --git a/eslint.format.config.ts b/eslint.format.config.ts new file mode 100644 index 00000000..159e071a --- /dev/null +++ b/eslint.format.config.ts @@ -0,0 +1,39 @@ +import stylistic from '@stylistic/eslint-plugin'; +import { defineConfig } from 'eslint/config'; +import reactHooks from 'eslint-plugin-react-hooks'; +import tseslint from 'typescript-eslint'; +import { sourceIgnores } from './eslint.config.ts'; + +// Local formatting only; CI continues to use eslint.config.ts for code quality. +export default defineConfig([ + sourceIgnores, + { + // Preserve quality-rule suppressions when running only formatting rules. + linterOptions: { reportUnusedDisableDirectives: 'off' }, + }, + { + files: ['**/*.{ts,tsx,mts,cts}'], + languageOptions: { + parser: tseslint.parser, + }, + plugins: { + '@stylistic': stylistic, + '@typescript-eslint': tseslint.plugin, + 'react-hooks': reactHooks, + }, + rules: { + curly: ['error', 'all'], + '@stylistic/padding-line-between-statements': [ + 'error', + { blankLine: 'always', prev: '*', next: 'block-like' }, + { blankLine: 'always', prev: 'block-like', next: '*' }, + // Stacked case labels share a branch and must stay adjacent. + { + blankLine: 'never', + prev: { selector: 'SwitchCase[consequent.length=0]' }, + next: ['case', 'default'], + }, + ], + }, + }, +]); diff --git a/package.json b/package.json new file mode 100644 index 00000000..8ba1113f --- /dev/null +++ b/package.json @@ -0,0 +1,57 @@ +{ + "license": "SEE LICENSE IN LICENSE", + "name": "snowluma-monorepo", + "version": "2.4.2", + "description": "SnowLuma monorepo workspace (pnpm)", + "private": true, + "type": "module", + "scripts": { + "build": "pnpm --filter @snowluma/core build", + "build:sdk": "pnpm --filter @snowluma/sdk build", + "build:webui": "pnpm --filter webui build", + "build:mcp": "pnpm --filter @snowluma/mcp build", + "build:all": "pnpm --filter @snowluma/core build:all && pnpm --filter @snowluma/sdk build && pnpm --filter @snowluma/mcp build && pnpm --filter @snowluma/ui build && pnpm --filter webui build", + "check:release-layout": "node tools/check-release-layout.mjs", + "dev": "pnpm --filter @snowluma/core dev", + "dev:mode": "cd dist && cross-env SNOWLUMA_DEV_MODE=1 SNOWLUMA_DEV_WEBUI=1 node index.mjs", + "dev:web": "pnpm --filter webui dev", + "test": "pnpm test:workflows && pnpm --filter=\"./packages/**\" -r --no-bail --if-present test", + "test:workflows": "node --test .github/scripts/*.test.cjs", + "test:core": "pnpm --filter @snowluma/core test", + "test:watch": "pnpm --filter @snowluma/core test:watch", + "test:common": "pnpm --filter @snowluma/common test", + "test:all": "pnpm test", + "test:native": "pnpm --filter=\"./packages/**\" -r --if-present test:native", + "coverage": "node tools/coverage.mjs", + "typecheck": "pnpm -r --if-present typecheck", + "lint": "eslint .", + "lint:fix": "eslint . --fix", + "format": "eslint --config eslint.format.config.ts --fix \"**/*.{ts,tsx,mts,cts}\" && prettier --write \"**/*.{ts,tsx,mts,cts}\"", + "format:check": "eslint --config eslint.format.config.ts \"**/*.{ts,tsx,mts,cts}\" && prettier --check \"**/*.{ts,tsx,mts,cts}\"", + "ci": "node tools/ci-check.mjs", + "start": "node dist/index.mjs", + "bump": "node tools/bump-version.mjs", + "release": "node tools/release.mjs" + }, + "devDependencies": { + "@eslint/js": "^10.0.1", + "@stylistic/eslint-plugin": "5.10.0", + "@vitest/coverage-istanbul": "4.1.12", + "@vitest/coverage-v8": "4.1.12", + "cross-env": "^10.1.0", + "eslint": "^10.2.0", + "eslint-config-prettier": "10.1.8", + "eslint-plugin-react-hooks": "^7.0.1", + "eslint-plugin-react-refresh": "^0.5.2", + "globals": "^17.5.0", + "jiti": "^2.6.1", + "prettier": "3.9.10", + "typescript": "catalog:", + "typescript-eslint": "^8.58.2" + }, + "packageManager": "pnpm@11.25.0", + "engines": { + "node": "^24.22.1 || >=26.12.1", + "pnpm": "11.25.0" + } +} diff --git a/packages/bridge/package.json b/packages/bridge/package.json new file mode 100644 index 00000000..66491b7c --- /dev/null +++ b/packages/bridge/package.json @@ -0,0 +1,69 @@ +{ + "license": "SEE LICENSE IN LICENSE", + "name": "@snowluma/bridge", + "version": "2.4.2", + "private": true, + "type": "module", + "description": "SnowLuma bridge — QQ NT desktop client lifecycle: hook injection (via native addon), per-PID HookSession orchestration, pipe-watcher for process discovery, and the BridgeManagerSink interface that lets the hook layer call back into a UIN-keyed session router without depending on @snowluma/core. Consumed by the top-level app entry (which constructs the BridgeManager from @snowluma/core and injects it as the sink) and by the WebUI server (read-only HookProcessInfo views).", + "main": "./src/index.ts", + "types": "./src/index.ts", + "exports": { + ".": { + "types": "./src/index.ts", + "default": "./src/index.ts" + }, + "./hook-manager": { + "types": "./src/hook-manager.ts", + "default": "./src/hook-manager.ts" + }, + "./hook-session": { + "types": "./src/hook-session.ts", + "default": "./src/hook-session.ts" + }, + "./hook-packet-client": { + "types": "./src/hook-packet-client.ts", + "default": "./src/hook-packet-client.ts" + }, + "./packet-timeout": { + "types": "./src/packet-timeout.ts", + "default": "./src/packet-timeout.ts" + }, + "./injector": { + "types": "./src/injector.ts", + "default": "./src/injector.ts" + }, + "./pipe-watcher": { + "types": "./src/pipe-watcher.ts", + "default": "./src/pipe-watcher.ts" + }, + "./qq-hook-client": { + "types": "./src/qq-hook-client.ts", + "default": "./src/qq-hook-client.ts" + }, + "./qq-account": { + "types": "./src/qq-account/index.ts", + "default": "./src/qq-account/index.ts" + }, + "./types": { + "types": "./src/types.ts", + "default": "./src/types.ts" + } + }, + "scripts": { + "test": "vitest run", + "typecheck": "tsc --noEmit" + }, + "dependencies": { + "@snowluma/common": "workspace:*", + "@snowluma/sqlite": "workspace:*" + }, + "devDependencies": { + "@types/node": "catalog:", + "typescript": "catalog:", + "vite": "catalog:", + "vitest": "4.1.12" + }, + "engines": { + "node": "^24.22.1 || >=26.12.1" + } +} diff --git a/packages/bridge/src/hook-manager.ts b/packages/bridge/src/hook-manager.ts new file mode 100644 index 00000000..ff71433a --- /dev/null +++ b/packages/bridge/src/hook-manager.ts @@ -0,0 +1,704 @@ +import { errorMessage } from '@snowluma/common/errors'; +import { createLogger, runWithTraceRequest, type Logger } from '@snowluma/common/logger'; +import { renderParamsVerbose } from '@snowluma/common/log-summary'; +import type { PacketSender } from '@snowluma/common/packet-sender'; +import type { PacketInfo, PacketSink } from '@snowluma/common/protocol-types'; +import fs from 'fs'; +import { HookSession, type HookSessionDeps } from './hook-session'; +import { + injectHookProcess, + listHookProcesses, + unloadHookProcess, + type HookProcessBaseInfo, +} from './injector'; +import { PipeWatcher } from './pipe-watcher'; +import { createProcessEnumerator, type ProcessEnumerator } from './process-enumerator'; +import { QqHookClient } from './qq-hook-client'; +import { + detectAccountLoginsForPids, + watchAccountChangesForPids, + type AccountLoginState, +} from './qq-account'; +import type { HookProcessAccount, HookProcessInfo } from './types'; + +const AUTO_LOAD_MAX_ATTEMPTS = 3; + +type AutoLoadAttempt = { + attempts: number; + inFlight: boolean; +}; + +/** + * Sink that the hook layer calls back into when it observes a new login, + * a parsed packet, or a PID disconnect. The concrete implementation lives + * in @snowluma/core (`BridgeManager`), which is wired in by the top-level + * app entry. Declaring it here keeps @snowluma/bridge free of any + * dependency on @snowluma/core — the hook package is self-contained. + */ +export interface BridgeManagerSink { + onHookLogin(pid: number, uin: string, packetClient: PacketSender): void; + onPacket(pkt: PacketInfo): void; + onPidDisconnected(pid: number): void; + onPidReceiveHealthChanged(pid: number, healthy: boolean): void; +} + +export type HookManagerDeps = { + bridgeManager: BridgeManagerSink; + /** Sink for parsed packets from any live HookSession. Defaults to + * `bridgeManager.onPacket` — every packet flows straight into the + * per-UIN bridge dispatcher with no intermediate event emitter. */ + onPacket?: PacketSink; + /** Native injector entrypoints. Defaults to the real native addon. */ + injector?: HookSessionDeps['injector']; + /** Hook pipe-client factory. Defaults to `new QqHookClient(pid)`. */ + makeClient?: HookSessionDeps['makeClient']; + /** Pre-built watcher. Defaults to a PipeWatcher wrapping the native listings. */ + pipeWatcher?: PipeWatcher; + /** Polling interval for the default watcher. Ignored if `pipeWatcher` is provided. */ + watcherIntervalMs?: number; + /** Native process lister used by `listProcesses()`. Defaults to the native addon. */ + listProcesses?: () => Promise; + /** Local account detection used to label each process with the account QQ is + * signed in as. Receives the pids to label so each one is resolved against + * the HOME it actually runs under (a container can give every QQ instance + * its own). Defaults to reading QQ's own account data. */ + detectAccounts?: (pids: readonly number[]) => Promise; + /** Subscribe to login database changes. Returns the subscription cleanup. */ + watchAccounts?: (pids: readonly number[], onChange: () => void) => () => void; + /** When true, every newly-discovered QQ process is auto-injected (fires + * `loadProcess(pid)` from the watcher's 'process-discovered' handler). + * Failed loads are logged and leave the session in the 'error' state. + * A narrowly-classified early-process mapping race is retried on later + * watcher ticks with a fixed attempt limit. */ + autoLoadOnDiscovery?: boolean; + /** Optional hook fired whenever the set of HookProcessInfo observable to + * `listProcesses()` changes — new process discovered, process gone, or + * any session's status mutated. Used by the WebUI SSE wiring to push a + * fresh processes snapshot to connected clients without REST polling. + * Exceptions thrown by the callback are caught and logged; they do not + * break the watcher / session event loops. */ + onSessionsChanged?: () => void; + log?: Logger; +}; + +/** + * HookManager — thin orchestrator over a per-PID HookSession map and a + * singleton PipeWatcher. + * + * Responsibilities: + * - Route user commands (load/unload/refresh) to the matching session. + * - Route watcher diff events to the matching session. + * - Forward session events ('login' / 'disconnected' / transport health) to BridgeManager. + * - Retry stuck-in-connecting sessions on every watcher tick (so a + * failed connect eventually recovers without a manual refresh). + * - Retry the bounded early-process auto-load race without retrying + * permanent injector errors. + * + * The native injector, native pipe-client, and native process/pipe + * listings are all swappable dependencies so tests can run without a + * real QQ.exe or a native addon. + */ +export class HookManager { + private readonly bridgeManager: BridgeManagerSink; + private readonly onPacket: PacketSink; + private readonly injector: HookSessionDeps['injector']; + private readonly makeClient: HookSessionDeps['makeClient']; + private readonly pipeWatcher: PipeWatcher; + private readonly ownsPipeWatcher: boolean; + private readonly enumerator: ProcessEnumerator; + private readonly detectAccounts: (pids: readonly number[]) => Promise; + private readonly watchAccounts: NonNullable; + private readonly autoLoadOnDiscovery: boolean; + private readonly onSessionsChangedRaw?: () => void; + private readonly log: Logger; + private readonly sessions = new Map(); + private readonly autoLoadAttempts = new Map(); + private readonly startPromise: Promise; + + private accounts = new Map(); + private accountProbe: Promise | null = null; + private accountsDirty = true; + private stopWatchingAccounts?: () => void; + private lastAccountProbeFailure = ''; + + private disposed = false; + + constructor(deps: HookManagerDeps) { + this.bridgeManager = deps.bridgeManager; + this.onPacket = deps.onPacket ?? ((pkt) => deps.bridgeManager.onPacket(pkt)); + this.onSessionsChangedRaw = deps.onSessionsChanged; + this.log = deps.log ?? createLogger('Hook'); + + this.injector = deps.injector ?? { + inject: injectHookProcess, + unload: unloadHookProcess, + }; + this.makeClient = deps.makeClient ?? ((pid: number) => new QqHookClient(pid)); + this.detectAccounts = deps.detectAccounts ?? detectAccountLoginsForPids; + this.watchAccounts = + deps.watchAccounts ?? + ((pids, onChange) => watchAccountChangesForPids(pids, onChange, this.log)); + this.autoLoadOnDiscovery = deps.autoLoadOnDiscovery ?? false; + + this.enumerator = createProcessEnumerator({ + listProcesses: deps.listProcesses ?? listHookProcesses, + log: this.log, + }); + + if (deps.pipeWatcher) { + this.pipeWatcher = deps.pipeWatcher; + this.ownsPipeWatcher = false; + } else { + this.pipeWatcher = new PipeWatcher({ + listProcesses: this.enumerator.enumerate, + listLivePipes: (processes) => + QqHookClient.listLivePipes(processes.map(({ pid }) => pid)), + intervalMs: deps.watcherIntervalMs, + log: this.log, + }); + this.ownsPipeWatcher = true; + } + + this.bindWatcher(); + this.startPromise = this.pipeWatcher.start(); + } + + // ─────────────── public API (unchanged from prior HookManager) ─────────────── + + async listProcesses(): Promise { + await this.startPromise; + const processes = await this.enumerator.enumerate(); + // A failed enumeration preserves the last known process set. + const sessions = + processes === null + ? [...this.sessions.values()] + : processes.map((proc) => { + const session = this.ensureSession(proc.pid); + session.attachProcessInfo(proc); + return session; + }); + await this.refreshAccounts(); + return sessions + .filter((session) => this.sessions.get(session.pid) === session) + .map((session) => this.processInfo(session)) + .sort((a, b) => a.pid - b.pid); + } + + async loadProcess(pid: number): Promise { + this.assertValidPid(pid); + await this.startPromise; + this.autoLoadAttempts.delete(pid); + const session = this.ensureSession(pid); + this.invalidateAccounts(); + await session.load(); + this.pipeWatcher.wake(); + await this.refreshAccounts(); + return this.processInfo(session); + } + + async unloadProcess(pid: number): Promise { + this.assertValidPid(pid); + await this.startPromise; + this.autoLoadAttempts.delete(pid); + const session = this.ensureSession(pid); + this.invalidateAccounts(); + await session.unload(); + await this.refreshAccounts(); + return this.processInfo(session); + } + + async refreshProcess(pid: number): Promise { + this.assertValidPid(pid); + await this.startPromise; + const session = this.ensureSession(pid); + this.updateAccountWatcher(); + this.invalidateAccounts(); + await session.refresh(); + await this.refreshAccounts(); + return this.processInfo(session); + } + + dispose(): void { + if (this.disposed) { + return; + } + + this.disposed = true; + this.stopWatchingAccounts?.(); + + for (const session of this.sessions.values()) { + session.dispose(); + } + + this.sessions.clear(); + this.accounts.clear(); + this.autoLoadAttempts.clear(); + this.enumerator.dispose(); + + if (this.ownsPipeWatcher) { + this.pipeWatcher.dispose(); + } + } + + // ─────────────── wiring ─────────────── + + private processInfo(session: HookSession): HookProcessInfo { + return { ...session.toInfo(), account: this.accounts.get(session.pid) ?? null }; + } + + private invalidateAccounts(): void { + this.accountsDirty = true; + } + + private updateAccountWatcher(): void { + this.stopWatchingAccounts?.(); + this.stopWatchingAccounts = this.watchAccounts([...this.sessions.keys()], () => { + this.invalidateAccounts(); + void this.refreshAccounts(); + }); + } + + /** REST, watcher ticks and login reconciliation share the same account snapshot. */ + private async refreshAccounts(): Promise { + if (this.disposed || this.sessions.size === 0) { + return; + } + + if (this.accountProbe) { + await this.accountProbe; + return; + } + + if (!this.accountsDirty) { + return; + } + + this.accountProbe = runWithTraceRequest(async () => { + // All callers await the replacement read too if a lifecycle change + // invalidates an in-flight result. + do { + this.accountsDirty = false; + await this.readAccounts(); + } while (!this.disposed && this.sessions.size > 0 && this.accountsDirty); + }).finally(() => { + this.accountProbe = null; + }); + await this.accountProbe; + } + + private async readAccounts(): Promise { + const accounts = new Map(); + + try { + for (const state of await this.detectAccounts([...this.sessions.keys()])) { + if (state.pid !== null && this.sessions.has(state.pid)) { + accounts.set(state.pid, { uin: state.uin, nickname: state.nickname }); + } + } + + this.lastAccountProbeFailure = ''; + } catch (error) { + const message = errorMessage(error); + + if (this.lastAccountProbeFailure !== message) { + this.lastAccountProbeFailure = message; + this.log.warn('account detection failed: %s', message); + } + } + + if (this.disposed || this.accountsDirty) { + return; + } + + const changed = + accounts.size !== this.accounts.size || + [...accounts].some(([pid, account]) => { + const previous = this.accounts.get(pid); + return previous?.uin !== account.uin || previous.nickname !== account.nickname; + }); + this.accounts = accounts; + + if (changed) { + this.notifySessionsChanged(); + } + } + + private bindWatcher(): void { + this.pipeWatcher.on('process-discovered', (info: HookProcessBaseInfo) => { + if (this.disposed) { + return; + } + + runWithTraceRequest(() => { + const session = this.ensureSession(info.pid); + session.attachProcessInfo(info); + this.log.trace(() => [ + 'hook_manager_fact event=process_discovered pid=%d info=%s autoLoad=%s', + info.pid, + renderParamsVerbose(info), + this.autoLoadOnDiscovery, + ]); + + // Headless/Docker deployments enable autoLoadOnDiscovery so QQ gets + // injected without a human clicking "Load" in WebUI. Fire-and-forget: + // failures are already captured inside loadInternal and surfaced via + // the session's status field. + if (this.autoLoadOnDiscovery && shouldAutoLoadPid(info.pid, this.log)) { + this.runAutoLoad(session); + } + + this.notifySessionsChanged(); + }); + }); + this.pipeWatcher.on('process-gone', (pid: number) => { + if (this.disposed) { + return; + } + + runWithTraceRequest(() => { + this.autoLoadAttempts.delete(pid); + const session = this.sessions.get(pid); + this.log.trace( + 'hook_manager_fact event=process_gone pid=%d tracked=%s', + pid, + session !== undefined, + ); + + if (session) { + session.notifyProcessGone(); + } + + this.notifySessionsChanged(); + }); + }); + this.pipeWatcher.on('pipe-up', (pid: number) => { + if (this.disposed) { + return; + } + + const session = this.sessions.get(pid); + + if (session) { + this.invalidateAccounts(); + session.onPipeUp(); + } + }); + this.pipeWatcher.on('pipe-down', (pid: number) => { + if (this.disposed) { + return; + } + + const session = this.sessions.get(pid); + + if (session) { + this.invalidateAccounts(); + session.onPipeDown(); + } + }); + // After every tick, retry sessions that are stuck in 'connecting' OR + // 'disconnected' while the pipe is up. Mirrors the original + // tickWatcher's per-tick reconcileConnect pass; onPipeUp is idempotent + // so calling it for an already-connected session is harmless. + // + // The 'disconnected' branch matters on Windows: when the QQ-NT side of + // the named pipe stays alive but the SnowLuma-side socket dies (read + // EPIPE / idle-timeout / similar transient I/O fault), the watcher + // sees the pipe as still-live (the OS-level pipe is still listed by + // `listLivePipes`) so it never fires another `pipe-up`. Without + // retrying 'disconnected' sessions here the session is stranded + // forever — a real-world symptom users reported as "Windows running + // for a while then stops" with logs `pipe error: read EPIPE` → + // `session closed: UIN=…`. + this.pipeWatcher.on('tick', () => { + if (this.disposed) { + return; + } + + void this.refreshAccounts(); + + for (const session of this.sessions.values()) { + const autoLoad = this.autoLoadAttempts.get(session.pid); + + if ( + autoLoad && + !autoLoad.inFlight && + session.status === 'error' && + isTransientLibcMappingError(session.error) + ) { + this.runAutoLoad(session, autoLoad); + continue; + } + + if ( + (session.status === 'connecting' || + session.status === 'disconnected' || + session.status === 'error') && + this.pipeWatcher.isPipeLive(session.pid) + ) { + session.onPipeUp(); + } + } + }); + } + + private runAutoLoad(session: HookSession, existing?: AutoLoadAttempt): void { + if (this.disposed || session.isDisposed) { + return; + } + + const state = existing ?? { attempts: 0, inFlight: false }; + + if (state.inFlight || state.attempts >= AUTO_LOAD_MAX_ATTEMPTS) { + return; + } + + state.attempts += 1; + state.inFlight = true; + this.autoLoadAttempts.set(session.pid, state); + const attempt = state.attempts; + + void runWithTraceRequest(async () => { + const startedAt = Date.now(); + this.log.trace( + 'hook_autoload_start pid=%d attempt=%d maxAttempts=%d', + session.pid, + attempt, + AUTO_LOAD_MAX_ATTEMPTS, + ); + + try { + const info = await session.load(); + + if (this.autoLoadAttempts.get(session.pid) !== state) { + this.log.trace( + 'hook_autoload_terminal pid=%d attempt=%d outcome=dropped reason=superseded elapsedMs=%d', + session.pid, + attempt, + Date.now() - startedAt, + ); + return; + } + + state.inFlight = false; + + if (info.status !== 'error') { + this.autoLoadAttempts.delete(session.pid); + const reason = attempt > 1 ? 'recovered' : 'loaded'; + this.log.trace(() => [ + 'hook_autoload_terminal pid=%d attempt=%d outcome=completed reason=%s state=%s elapsedMs=%d', + session.pid, + attempt, + reason, + renderParamsVerbose(info), + Date.now() - startedAt, + ]); + + if (attempt > 1) { + this.log.info( + 'auto-load recovered: PID=%d attempt=%d/%d', + session.pid, + attempt, + AUTO_LOAD_MAX_ATTEMPTS, + ); + } + + return; + } + + if (!isTransientLibcMappingError(info.error)) { + this.autoLoadAttempts.delete(session.pid); + this.log.trace( + 'hook_autoload_terminal pid=%d attempt=%d outcome=failed reason=permanent_failure error=%j elapsedMs=%d', + session.pid, + attempt, + info.error, + Date.now() - startedAt, + ); + return; + } + + if (attempt >= AUTO_LOAD_MAX_ATTEMPTS) { + this.autoLoadAttempts.delete(session.pid); + this.log.trace( + 'hook_autoload_terminal pid=%d attempt=%d outcome=failed reason=retry_exhausted error=%j elapsedMs=%d', + session.pid, + attempt, + info.error, + Date.now() - startedAt, + ); + this.log.warn( + 'auto-load retry exhausted: PID=%d attempts=%d err=%s', + session.pid, + attempt, + info.error, + ); + return; + } + + this.log.trace( + 'hook_autoload_terminal pid=%d attempt=%d outcome=failed reason=retry_pending error=%j elapsedMs=%d', + session.pid, + attempt, + info.error, + Date.now() - startedAt, + ); + this.log.warn( + 'auto-load retry pending: PID=%d attempt=%d/%d err=%s', + session.pid, + attempt, + AUTO_LOAD_MAX_ATTEMPTS, + info.error, + ); + } catch (err) { + if (this.autoLoadAttempts.get(session.pid) === state) { + this.autoLoadAttempts.delete(session.pid); + } + + this.log.trace( + 'hook_autoload_terminal pid=%d attempt=%d outcome=failed reason=unexpected_failure error=%j elapsedMs=%d', + session.pid, + attempt, + errorMessage(err), + Date.now() - startedAt, + ); + this.log.warn('auto-load failed: PID=%d err=%s', session.pid, errorMessage(err)); + } + }); + } + + private ensureSession(pid: number): HookSession { + let session = this.sessions.get(pid); + + if (session) { + return session; + } + + session = new HookSession(pid, { + injector: this.injector, + makeClient: this.makeClient, + pipeWatcher: this.pipeWatcher, + onPacket: this.onPacket, + detectLoginUin: async () => { + await this.refreshAccounts(); + return this.accounts.get(pid)?.uin ?? null; + }, + log: this.log, + }); + session.attachProcessInfo({ name: defaultProcessName() }); + + session.on('login', (uin: string, sender) => { + // Account switches can keep the same 'online' status. + this.invalidateAccounts(); + this.bridgeManager.onHookLogin(pid, uin, sender); + this.notifySessionsChanged(); + }); + session.on('disconnected', (wasLoggedIn: boolean) => { + if (wasLoggedIn) { + this.bridgeManager.onPidDisconnected(pid); + } + }); + session.on('receive-health-changed', (healthy: boolean) => { + this.bridgeManager.onPidReceiveHealthChanged(pid, healthy); + }); + let previousStatus = session.status; + session.on('status-changed', (status) => { + if (previousStatus === 'online' && status !== 'online') { + this.invalidateAccounts(); + } + + previousStatus = status; + this.notifySessionsChanged(); + }); + session.on('disposed', () => { + this.sessions.delete(pid); + this.accounts.delete(pid); + this.updateAccountWatcher(); + this.invalidateAccounts(); + }); + + this.sessions.set(pid, session); + this.updateAccountWatcher(); + this.invalidateAccounts(); + return session; + } + + /** Fire the optional sessions-changed hook with exceptions isolated. + * A throwing subscriber must not abort the watcher's emit loop or break + * a HookSession event handler in flight. */ + private notifySessionsChanged(): void { + if (this.disposed) { + return; + } + + if (!this.onSessionsChangedRaw) { + return; + } + + try { + this.onSessionsChangedRaw(); + } catch (err) { + this.log.warn('onSessionsChanged threw: %s', errorMessage(err)); + } + } + + private assertValidPid(pid: number): void { + if (!Number.isInteger(pid) || pid <= 0) { + throw new Error('invalid pid'); + } + } +} + +function defaultProcessName(): string { + return process.platform === 'win32' ? 'QQ.exe' : 'qq'; +} + +function isTransientLibcMappingError(error: string): boolean { + return /^target process does not map \S*\/libc\.so\.6 while resolving mmap$/.test(error); +} + +/** + * Filter for auto-load only. Returns false for Linux Electron child + * processes (zygote/renderer/gpu/utility), which the native enumerator + * mis-classifies as "main QQ" because their cmdline contains "qq" and + * they transiently inherit wrapper.node via fork copy-on-write. + * + * Injecting into a zygote spawns the hook's resolver thread inside it; + * every renderer Electron later forks then inherits that thread + the + * partially-init'd hook state, which breaks QQ's IPC and login UI. + * + * Manual loadProcess() bypasses this gate — the operator is responsible + * for picking the right PID from WebUI. + */ +export function shouldAutoLoadPid(pid: number, log: Logger): boolean { + if (process.platform !== 'linux') { + return true; + } + + // Escape hatch: operators who explicitly want auto-load on every + // enumerated PID can set this to opt out of the filter. + if (process.env.SNOWLUMA_HOOK_AUTOLOAD_ALL === '1') { + return true; + } + + let cmdline: string; + + try { + cmdline = fs.readFileSync(`/proc/${pid}/cmdline`, 'utf8'); + } catch { + // Can't read cmdline (process gone, permission, etc.) — let the + // existing load() path handle it; if the process is dead the load + // will fail with a clear error. + return true; + } + + if (cmdline.includes('--type=')) { + const type = /--type=([^\0\s]+)/.exec(cmdline)?.[1] ?? 'unknown'; + log.info('auto-load skip: PID=%d is an Electron child process (--type=%s)', pid, type); + return false; + } + + return true; +} + +export type { HookProcessBaseInfo } from './injector'; +export type { HookProcessAccount, HookProcessInfo, HookProcessStatus } from './types'; diff --git a/packages/bridge/src/hook-packet-client.ts b/packages/bridge/src/hook-packet-client.ts new file mode 100644 index 00000000..50fee5b2 --- /dev/null +++ b/packages/bridge/src/hook-packet-client.ts @@ -0,0 +1,73 @@ +import type { PacketSender, SendPacketResult } from '@snowluma/common/packet-sender'; +import { packetTimeoutMs } from './packet-timeout'; +import { + HookPipeRequestError, + PIPE_STATUS_CONNECTION_UNAVAILABLE, + QqHookClient, +} from './qq-hook-client'; + +export type OutboundHealthListener = (healthy: boolean) => void; + +export class HookPacketClient implements PacketSender { + private outboundHealthy = true; + + constructor( + private readonly client: QqHookClient, + private readonly onOutboundHealthChanged?: OutboundHealthListener, + ) {} + + async sendPacket( + serviceCmd: string, + body: Buffer, + timeoutMs = packetTimeoutMs(), + ): Promise { + if (!this.client.isLoggedIn) { + return { + success: false, + gotResponse: false, + errorCode: -1, + errorMessage: 'qq_hook client is not logged in', + responseData: null, + }; + } + + try { + const reply = await this.client.send(serviceCmd, body, { + wantReply: true, + replyTimeoutMs: timeoutMs, + }); + this.setOutboundHealthy(true); + return { + success: reply.error === 0, + gotResponse: true, + errorCode: reply.error, + errorMessage: reply.message, + responseData: reply.body, + }; + } catch (error) { + if ( + error instanceof HookPipeRequestError && + error.status === PIPE_STATUS_CONNECTION_UNAVAILABLE + ) { + this.setOutboundHealthy(false); + } + + return { + success: false, + gotResponse: false, + errorCode: -1, + errorMessage: error instanceof Error ? error.message : String(error), + responseData: null, + }; + } + } + + private setOutboundHealthy(healthy: boolean): void { + if (this.outboundHealthy === healthy) { + return; + } + + this.outboundHealthy = healthy; + this.onOutboundHealthChanged?.(healthy); + } +} diff --git a/packages/bridge/src/hook-runtime-dir.ts b/packages/bridge/src/hook-runtime-dir.ts new file mode 100644 index 00000000..31c9ffdd --- /dev/null +++ b/packages/bridge/src/hook-runtime-dir.ts @@ -0,0 +1,165 @@ +import { errorMessage } from '@snowluma/common/errors'; +import { readFileSync } from 'fs'; +import os from 'os'; +import path from 'path'; + +export interface HookRuntimeDirDeps { + platform?: NodeJS.Platform; + env?: NodeJS.ProcessEnv; + ownUid?: number; + readText?: (file: string) => string; +} + +function configuredDirectory(value: string | undefined, variable: string): string | null { + if (!value) { + return null; + } + + if (!path.isAbsolute(value)) { + throw new Error(`${variable} must be an absolute path`); + } + + return value; +} + +function parseProcessEnvironment(raw: string): NodeJS.ProcessEnv { + const result: NodeJS.ProcessEnv = {}; + + for (const entry of raw.split('\0')) { + if (!entry) { + continue; + } + + const separator = entry.indexOf('='); + + if (separator <= 0) { + continue; + } + + result[entry.slice(0, separator)] = entry.slice(separator + 1); + } + + return result; +} + +function parseRealUid(status: string): number | null { + const match = /^Uid:\s+(\d+)/m.exec(status); + + if (!match) { + return null; + } + + const uid = Number(match[1]); + return Number.isSafeInteger(uid) && uid >= 0 ? uid : null; +} + +function isProcessGoneError(error: unknown): boolean { + const code = (error as NodeJS.ErrnoException | undefined)?.code; + return code === 'ENOENT' || code === 'ESRCH'; +} + +function ownRuntimeDir(platform: NodeJS.Platform, env: NodeJS.ProcessEnv, ownUid: number): string { + const explicit = configuredDirectory( + env.SNOWLUMA_HOOK_RUNTIME_DIR, + 'SNOWLUMA_HOOK_RUNTIME_DIR', + ); + + if (explicit) { + return explicit; + } + + const xdg = configuredDirectory(env.XDG_RUNTIME_DIR, 'XDG_RUNTIME_DIR'); + + if (xdg) { + return xdg; + } + + if (platform === 'darwin') { + const tmpdir = configuredDirectory(env.TMPDIR, 'TMPDIR'); + + if (tmpdir) { + return path.join(tmpdir, 'snowluma-hook'); + } + } + + return `/tmp/snowluma-${ownUid}`; +} + +/** + * Resolve the socket directory for the target QQ process. The supervisor may + * run under a different user, so its own runtime directory is not authoritative. + */ +export function resolveHookRuntimeDir(targetPid?: number, deps: HookRuntimeDirDeps = {}): string { + const platform = deps.platform ?? process.platform; + const env = deps.env ?? process.env; + const ownUid = + deps.ownUid ?? + (typeof process.geteuid === 'function' ? process.geteuid() : os.userInfo().uid); + const readText = deps.readText ?? ((file: string) => readFileSync(file, 'utf8')); + + if (platform !== 'linux' || !Number.isSafeInteger(targetPid) || targetPid! <= 0) { + return ownRuntimeDir(platform, env, ownUid); + } + + let environError: unknown; + + try { + const targetEnv = parseProcessEnvironment(readText(`/proc/${targetPid}/environ`)); + const explicit = configuredDirectory( + targetEnv.SNOWLUMA_HOOK_RUNTIME_DIR, + `QQ process ${targetPid} SNOWLUMA_HOOK_RUNTIME_DIR`, + ); + + if (explicit) { + return explicit; + } + + const xdg = configuredDirectory( + targetEnv.XDG_RUNTIME_DIR, + `QQ process ${targetPid} XDG_RUNTIME_DIR`, + ); + + if (xdg) { + return xdg; + } + + environError = new Error('runtime directory is not present'); + } catch (error) { + // An invalid explicit path is configuration corruption and must remain + // visible. Permission/race failures are expected when /proc disappears; + // the status-file fallback below can still recover the target uid. + if (error instanceof Error && error.message.includes('must be an absolute path')) { + throw error; + } + + environError = error; + } + + let statusError: unknown; + + try { + const uid = parseRealUid(readText(`/proc/${targetPid}/status`)); + + if (uid !== null) { + return `/tmp/snowluma-${uid}`; + } + + statusError = new Error('real uid is not available'); + } catch (error) { + statusError = error; + } + + if ( + isProcessGoneError(statusError) && + (isProcessGoneError(environError) || + (environError instanceof Error && + environError.message === 'runtime directory is not present')) + ) { + return ownRuntimeDir(platform, env, ownUid); + } + + throw new Error( + `cannot resolve hook runtime directory for PID ${targetPid}: ` + + `environment=${errorMessage(environError)}; status=${errorMessage(statusError)}`, + ); +} diff --git a/packages/bridge/src/hook-session.ts b/packages/bridge/src/hook-session.ts new file mode 100644 index 00000000..de15e5b0 --- /dev/null +++ b/packages/bridge/src/hook-session.ts @@ -0,0 +1,1397 @@ +import { errorMessage } from '@snowluma/common/errors'; +import { + createLogger, + runWithoutRequestContext, + runWithTraceRequest, + type Logger, +} from '@snowluma/common/logger'; +import { renderParamsVerbose } from '@snowluma/common/log-summary'; +import type { PacketSink } from '@snowluma/common/protocol-types'; +import { isRealUin } from '@snowluma/common/uin'; +import { EventEmitter } from 'events'; +import { HookPacketClient } from './hook-packet-client'; +import type { HookInjectResult, ManualMapHandle } from './injector'; +import { detectUinForPid } from './qq-account'; +import type { QqHookClient, QqHookLoginState, QqHookPacket } from './qq-hook-client'; +import { statusFor } from './hook-status'; +import type { HookProcessInfo, HookProcessStatus } from './types'; + +/** How often to re-check account identity while the connection is not ready. + * Identity alone never proves that requests can be served. */ +const LOGIN_RECONCILE_INTERVAL_MS = 3000; +const LOGIN_IDENTITY_OBSERVE_INTERVAL_MS = 30_000; +const LOGIN_HINT_MAX_ATTEMPTS = 3; +const LOGIN_HINT_RETRY_DELAYS_MS = [3000, 9000] as const; + +/** Bounds channel discovery and handshakes, not account login. */ +const INITIAL_CONNECTION_TIMEOUT_MS = 60_000; + +type InitialConnectionWatch = { + startedAt: number; + timer: ReturnType; +}; + +/** QQ emits this response periodically while its MSF receive path is healthy. + * Seeing it once arms the watchdog; before that, silence is UNKNOWN rather + * than unhealthy so QQ versions that do not expose this command cannot be + * false-flagged. Any later recv packet proves the same end-to-end path. */ +const QQ_RECV_HEARTBEAT_CMD = 'trpc.qq_new_tech.status_svc.StatusService.SsoHeartBeat'; +const RECEIVE_STALE_AFTER_MS = 90_000; +const RECEIVE_STALE_CONFIRM_MS = 15_000; + +export type HookSessionDeps = { + injector: { + inject: (pid: number) => Promise; + unload: (pid: number, handle: ManualMapHandle) => Promise; + }; + makeClient: (pid: number) => QqHookClient; + /** Account QQ's local data reports as signed in on `pid`, or null. Drives the + * login-reconcile safety net; injectable for tests. Defaults to + * `detectUinForPid`. */ + detectLoginUin?: (pid: number) => Promise; + /** Sync fast-path check used by load() to skip re-injection when a + * prior SnowLuma run left a working pipe behind. `tickNow` forces a + * fresh poll — used after unload to dodge the up-to-1500ms cache + * staleness that would otherwise false-flag a successful unload. */ + pipeWatcher: { + isPipeLive: (pid: number) => boolean; + tickNow?: () => Promise; + }; + /** Sink for parsed packets. Called with the BridgeManager-shaped + * PacketInfo for every packet received while logged in. If omitted, + * packets are dropped (useful in unit tests that don't care). */ + onPacket?: PacketSink; + log?: Logger; +}; + +/** + * HookSession — owns the lifecycle of one QQ.exe process: injection, + * pipe client, login state, and the public status field. + * + * Concurrency: every state-mutating method goes through a per-session + * promise chain so user clicks (load/unload/refresh) and watcher-driven + * events (onPipeUp/onPipeDown) never interleave. + * + * Communication: emits high-level events instead of calling BridgeManager + * directly, so HookManager forwards them and tests can attach spies. + * + * Emitted events: + * 'login' (uin, packetSender) — real-UIN login detected + * 'disconnected' (wasLoggedIn) — connection dropped, torn down, or + * dispose() of a logged-in session + * (process shutdown uses this path) + * 'receive-health-changed' (healthy) — combined receive/request path health changed + * 'status-changed' (status, error) — status field mutated + * 'disposed' () — session stopped tracking this PID + */ +export class HookSession extends EventEmitter { + readonly pid: number; + + private readonly injector: HookSessionDeps['injector']; + private readonly makeClient: HookSessionDeps['makeClient']; + private readonly detectLoginUin: (pid: number) => Promise; + private readonly pipeWatcher: HookSessionDeps['pipeWatcher']; + private readonly onPacket: PacketSink | null; + private readonly log: Logger; + + private _status: HookProcessStatus = 'available'; + private _error = ''; + private runtimeFailure = ''; + private _uin = '0'; + private _method = ''; + private _name = ''; + private _path = ''; + + private injected = false; + private connected = false; + private loggedIn = false; + private injectResult: HookInjectResult | null = null; + private client: QqHookClient | null = null; + private sender: HookPacketClient | null = null; + private bound = false; + private opChain: Promise = Promise.resolve(); + private disposed = false; + private initialConnectionWatch: InitialConnectionWatch | null = null; + private initialConnectionError = ''; + private hasConnected = false; + private cancelConnectAttempt: (() => void) | null = null; + private pipeUpPending = false; + private loginReconcileTimer: ReturnType | null = null; + private loginIdentityEpoch = 0; + private invalidLoginStateReported = false; + private detecting = false; + private lastDetectFailure = ''; + private acceptedLoginHintUin = ''; + private loginHintAttemptUin = ''; + private loginHintAttempts = 0; + private nextLoginHintAt = 0; + private nextLoginIdentityObservationAt = 0; + private _receiveHealthy = true; + private _outboundHealthy = true; + private receiveWatchUin = ''; + private receiveWatchArmed = false; + private receiveWatchTimer: ReturnType | null = null; + private lastReceiveAt = 0; + + constructor(pid: number, deps: HookSessionDeps) { + super(); + this.pid = pid; + this.injector = deps.injector; + this.makeClient = deps.makeClient; + this.detectLoginUin = deps.detectLoginUin ?? detectUinForPid; + this.pipeWatcher = deps.pipeWatcher; + this.onPacket = deps.onPacket ?? null; + this.log = deps.log ?? createLogger('HookSession'); + } + + // ─────────────── readonly public surface ─────────────── + + get status(): HookProcessStatus { + return this._status; + } + get error(): string { + return this._error; + } + get uin(): string { + return this._uin; + } + get method(): string { + return this._method; + } + get isDisposed(): boolean { + return this.disposed; + } + get receiveHealthy(): boolean { + return this._receiveHealthy && this._outboundHealthy; + } + + attachProcessInfo(info: { name?: string; path?: string }): void { + if (info.name) { + this._name = info.name; + } + + if (info.path) { + this._path = info.path; + } + } + + toInfo(): HookProcessInfo { + return { + pid: this.pid, + name: this._name, + path: this._path, + injected: this.injected, + connected: this.connected, + loggedIn: this.loggedIn, + uin: this._uin, + status: this._status, + error: this._error, + method: this._method, + // Filled in by HookManager from the client's local account data. + account: null, + }; + } + + // ─────────────── user-facing commands ─────────────── + + load(): Promise { + return this.traceCommand('load', () => this.loadInternal()); + } + + unload(): Promise { + this.cancelConnectAttempt?.(); + return this.traceCommand('unload', () => this.unloadInternal()); + } + + refresh(): Promise { + return this.traceCommand('refresh', () => this.refreshInternal()); + } + + // ─────────────── watcher-driven events (called by manager) ─────────────── + + /** Pipe came up (or stayed up across a SnowLuma restart). Drives connect + * attempts and adopts pre-existing hooks. Idempotent; safe to call on + * every watcher tick where the pipe is live. */ + onPipeUp(): void { + if (this.disposed || this.pipeUpPending || this.cancelConnectAttempt) { + return; + } + + // Watcher ticks must not queue a backlog of stalled handshakes ahead of + // user commands. The next tick can retry once this attempt has settled. + this.pipeUpPending = true; + void this.serialize(async () => { + if (this.disposed) { + return; + } + + await this.reconcilePipeUp(); + }) + .catch((err) => + this.log.warn('onPipeUp failed: PID=%d err=%s', this.pid, errorMessage(err)), + ) + .finally(() => { + this.pipeUpPending = false; + }); + } + + onPipeDown(): void { + if (this.disposed) { + return; + } + + void this.serialize(async () => { + if (this.disposed) { + return; + } + + this.reconcilePipeDown(); + }).catch((err) => + this.log.warn('onPipeDown failed: PID=%d err=%s', this.pid, errorMessage(err)), + ); + } + + /** Called by the manager when the watcher reports the QQ.exe process is + * gone. Cleans up and signals the manager to remove this session. */ + notifyProcessGone(): void { + if (this.disposed) { + return; + } + + this.cancelConnectAttempt?.(); + void this.serialize(async () => { + if (this.disposed) { + return; + } + + runWithTraceRequest(() => { + const startedAt = Date.now(); + const wasLoggedIn = this.loggedIn; + this.log.trace(() => [ + 'hook_session_process_start pid=%d event=process_gone state=%s', + this.pid, + renderParamsVerbose(this.toInfo()), + ]); + this.stopInitialConnectionWatch(); + this.tearDownClient(); + this.injected = false; + this.injectResult = null; + this._method = ''; + this.setStatus('available', ''); + + try { + if (wasLoggedIn) { + this.emit('disconnected', true); + } + + this.disposed = true; + this.emit('disposed'); + this.log.trace(() => [ + 'hook_session_process_terminal pid=%d outcome=completed reason=process_gone wasLoggedIn=%s state=%s elapsedMs=%d', + this.pid, + wasLoggedIn, + renderParamsVerbose(this.toInfo()), + Date.now() - startedAt, + ]); + this.removeAllListeners(); + } catch (error) { + this.log.trace(() => [ + 'hook_session_process_terminal pid=%d outcome=failed reason=listener_failed error=%j state=%s elapsedMs=%d', + this.pid, + errorMessage(error), + renderParamsVerbose(this.toInfo()), + Date.now() - startedAt, + ]); + throw error; + } + }); + }).catch((err) => + this.log.warn('notifyProcessGone failed: PID=%d err=%s', this.pid, errorMessage(err)), + ); + } + + dispose(): void { + if (this.disposed) { + return; + } + + const wasLoggedIn = this.loggedIn; + this.disposed = true; + this.stopInitialConnectionWatch(); + this.tearDownClient(); + + // Process shutdown must take the same PID-detach path as a live drop. + // tearDownClient strips the pipe client first, so this emit is the only + // disconnected edge HookManager will see. + if (wasLoggedIn) { + this.emit('disconnected', true); + } + + this.removeAllListeners(); + } + + // ─────────────── per-session serialization ─────────────── + + private traceCommand( + operation: 'load' | 'unload' | 'refresh', + command: () => Promise, + ): Promise { + return runWithTraceRequest(async () => { + const startedAt = Date.now(); + this.log.trace(() => [ + 'hook_session_start pid=%d operation=%s state=%s', + this.pid, + operation, + renderParamsVerbose(this.toInfo()), + ]); + + try { + const info = await this.serialize(command); + const outcome = + info.status === 'error' || + (operation === 'unload' && info.status !== 'available') + ? 'failed' + : 'completed'; + let reason: string; + + if (operation === 'unload' && info.status === 'connecting') { + reason = 'unload_verification_failed'; + } else if (outcome === 'failed') { + reason = `${operation}_failed`; + } else { + reason = `${operation}_settled`; + } + + this.log.trace(() => [ + 'hook_session_terminal pid=%d operation=%s outcome=%s reason=%s%s state=%s elapsedMs=%d', + this.pid, + operation, + outcome, + reason, + info.error ? ` error=${JSON.stringify(info.error)}` : '', + renderParamsVerbose(info), + Date.now() - startedAt, + ]); + return info; + } catch (error) { + this.log.trace(() => [ + 'hook_session_terminal pid=%d operation=%s outcome=failed reason=%s error=%j state=%s elapsedMs=%d', + this.pid, + operation, + `${operation}_threw`, + errorMessage(error), + renderParamsVerbose(this.toInfo()), + Date.now() - startedAt, + ]); + throw error; + } + }); + } + + private serialize(op: () => Promise): Promise { + const result = this.opChain.then(op); + this.opChain = result.then( + () => undefined, + () => undefined, + ); + return result; + } + + // ─────────────── internal transitions ─────────────── + + private async loadInternal(): Promise { + if (this.disposed) { + return this.toInfo(); + } + + this._error = ''; + this.setStatus('loading', ''); + + try { + if (!this.injected) { + // Fast path: a previous SnowLuma run may have left the hook DLL + // resident in QQ.exe. If the watcher already sees a live pipe, + // skip re-injection and let onPipeUp drive the reconnect. + if (this.pipeWatcher.isPipeLive(this.pid)) { + this.injected = true; + this._method = this._method || 'reconnect'; + this.log.trace( + 'hook_session_branch pid=%d operation=load branch=existing_pipe method=%j', + this.pid, + this._method, + ); + this.log.info('PID=%d already has SnowLuma pipe; will reconnect', this.pid); + } else { + this.log.trace( + 'hook_session_branch pid=%d operation=load branch=inject_begin', + this.pid, + ); + this.injectResult = await this.injector.inject(this.pid); + this.injected = true; + this._method = this.injectResult.method; + this.log.trace( + 'hook_session_branch pid=%d operation=load branch=inject_completed method=%j', + this.pid, + this._method, + ); + } + } + + if (this.disposed) { + return this.toInfo(); + } + + // A retry reuses the loaded component and its unload handle. Only an + // expired deadline is restarted; repeated clicks cannot postpone it. + this.initialConnectionError = ''; + this.startInitialConnectionWatch(); + this.applyStatus(); + } catch (error) { + this._error = errorMessage(error); + this.setStatus('error', this._error); + this.log.error('load failed: PID=%d err=%s', this.pid, this._error); + // The module can already be listening even when this call returns + // failure: another load left it resident, or it came up after the + // call returned. A live pipe still has the account state, so connect + // instead of staying on the failed load. + await this.pipeWatcher.tickNow?.(); + + if (!this.disposed && this.pipeWatcher.isPipeLive(this.pid)) { + this.log.info('PID=%d load failed but pipe is up; connecting', this.pid); + await this.reconcilePipeUp(); + } + } + + return this.toInfo(); + } + + private async unloadInternal(): Promise { + this._error = ''; + this.stopInitialConnectionWatch(); + this.initialConnectionError = ''; + this.hasConnected = false; + + try { + const wasLoggedIn = this.loggedIn; + this.tearDownClient(); + + if (wasLoggedIn) { + this.emit('disconnected', true); + } + + const handle = this.injectResult?.handle; + + if (this.injected && handle) { + await this.injector.unload(this.pid, handle); + this.log.info('SnowLuma unloaded from PID=%d', this.pid); + } + + this.injected = false; + this.injectResult = null; + this._method = ''; + this._uin = '0'; + + // Verify the unload took: if the pipe is still up the DLL is still + // resident. The cached snapshot is up to 1500ms stale and we just + // changed the world, so force a fresh poll first — otherwise even + // a successful unload reads as "pipe still live" until the next + // background tick runs and we'd report a spurious failure. + await this.pipeWatcher.tickNow?.(); + + if (this.pipeWatcher.isPipeLive(this.pid)) { + this._error = 'DLL卸载失败:命名管道仍然存在,watcher将自动重连'; + this.setStatus('connecting', this._error); + this.log.warn('unload verification failed: PID=%d pipe still up', this.pid); + } else { + this.setStatus('available', ''); + } + } catch (error) { + this._error = errorMessage(error); + this.setStatus('error', this._error); + this.log.error('unload failed: PID=%d err=%s', this.pid, this._error); + } + + return this.toInfo(); + } + + private async refreshInternal(): Promise { + this._error = ''; + + try { + // Same pipe-up / pipe-down reconcilers the watcher drives, chosen by + // a fresh poll. This collapses what used to be a hand-copied pair of + // onPipeUp/onPipeDown bodies — and fixes the drift where the down + // branch reported 'disconnected' even for a never-logged-in session. + if (this.pipeWatcher.isPipeLive(this.pid)) { + await this.reconcilePipeUp(); + } else { + this.reconcilePipeDown(); + } + } catch (error) { + this._error = errorMessage(error); + this.setStatus(this.injected ? 'disconnected' : 'error', this._error); + this.log.warn('refresh failed: PID=%d err=%s', this.pid, this._error); + } + + return this.toInfo(); + } + + // ─────────────── settled-status reconcilers ─────────────── + + /** Push the settled status derived from the live flags. `wasLoggedIn` + * defaults to the current `loggedIn`; callers that just tore the client + * down pass the value captured *before* teardown (teardown clears it). */ + private applyStatus(wasLoggedIn: boolean = this.loggedIn, error = ''): void { + if (this.runtimeFailure) { + this.setStatus('error', this.runtimeFailure); + return; + } + + if (this.initialConnectionError) { + this.setStatus('error', this.initialConnectionError); + return; + } + + this.setStatus( + statusFor({ + injected: this.injected, + connected: this.connected, + loggedIn: this.loggedIn, + wasLoggedIn, + }), + error, + ); + } + + /** Pipe is up: adopt a DLL that survived a SnowLuma restart, drop a + * stale client, then (re)connect if needed or just settle the status. + * Shared by onPipeUp and refresh's pipe-up branch. */ + private async reconcilePipeUp(): Promise { + if (!this.injected) { + this.injected = true; + + if (!this._method) { + this._method = 'reconnect'; + } + } + + this.startInitialConnectionWatch(); + + if (this.client?.isClosed) { + this.tearDownClient(); + } + + if (!this.connected) { + await this.attemptConnect(); + } else { + this.applyStatus(); + } + } + + /** Pipe is down (or the client closed): tear down, settle the status, + * and emit the disconnect notification iff we owed BridgeManager one + * (i.e. we had reached login). Shared by onPipeDown, refresh's pipe-down + * branch, and the client 'close' handler. */ + private reconcilePipeDown(): void { + if (!this.connected) { + // Nothing live to tear down. A session that never connected can't owe + // a disconnect, and we must NOT clobber a diagnostic the failed + // connect/load already set — settle the status keeping `_error`, or + // (when not even injected) leave the status untouched entirely. + if (this.injected) { + this.applyStatus(this.loggedIn, this._error); + } + + return; + } + + runWithTraceRequest(() => { + const startedAt = Date.now(); + const wasLoggedIn = this.loggedIn; + this.log.trace(() => [ + 'hook_session_disconnect_start pid=%d reason=pipe_down state=%s', + this.pid, + renderParamsVerbose(this.toInfo()), + ]); + this.tearDownClient(true); + this.applyStatus(wasLoggedIn); + + try { + if (wasLoggedIn) { + this.emit('disconnected', true); + } + + this.log.trace(() => [ + 'hook_session_disconnect_terminal pid=%d outcome=completed reason=pipe_down wasLoggedIn=%s state=%s elapsedMs=%d', + this.pid, + wasLoggedIn, + renderParamsVerbose(this.toInfo()), + Date.now() - startedAt, + ]); + } catch (error) { + this.log.trace(() => [ + 'hook_session_disconnect_terminal pid=%d outcome=failed reason=listener_failed error=%j state=%s elapsedMs=%d', + this.pid, + errorMessage(error), + renderParamsVerbose(this.toInfo()), + Date.now() - startedAt, + ]); + throw error; + } + }); + } + + // ─────────────── client plumbing ─────────────── + + private async attemptConnect(): Promise { + if (this.connected) { + return; + } + + return runWithTraceRequest(async () => { + const startedAt = Date.now(); + this.log.trace(() => [ + 'hook_session_connect_start pid=%d state=%s', + this.pid, + renderParamsVerbose(this.toInfo()), + ]); + + if (this.client?.isClosed) { + this.tearDownClient(); + } + + if (!this.client) { + this.runtimeFailure = ''; + this.client = this.makeClient(this.pid); + this.sender = new HookPacketClient(this.client, (healthy) => + this.setOutboundHealthy(healthy), + ); + this.bound = false; + } + + if (!this.bound) { + this.bindClient(this.client); + this.bound = true; + } + + const client = this.client; + const watch = this.initialConnectionWatch; + const timeoutMs = watch + ? Math.max(1, INITIAL_CONNECTION_TIMEOUT_MS - (Date.now() - watch.startedAt)) + : INITIAL_CONNECTION_TIMEOUT_MS; + + try { + await this.connectWithTimeout(client, timeoutMs); + + if (this.disposed || this.client !== client) { + return; + } + + if (this.runtimeFailure) { + throw new Error(this.runtimeFailure); + } + + this.connected = true; + this.hasConnected = true; + this.stopInitialConnectionWatch(); + this.initialConnectionError = ''; + this._error = ''; + // Identity validation owns readiness and whether to keep checking. + // A reported login alone does not establish a usable account. + this.handleLoginState(client.getLoginState()); + + this.log.info('pipe connected: PID=%d', this.pid); + this.log.trace(() => [ + 'hook_session_connect_terminal pid=%d outcome=completed reason=connect_settled state=%s elapsedMs=%d', + this.pid, + renderParamsVerbose(this.toInfo()), + Date.now() - startedAt, + ]); + } catch (error) { + if (this.disposed || this.client !== client) { + return; + } + + this._error = errorMessage(error); + const wasLoggedIn = this.loggedIn; + // Drop the client so the next attempt builds a fresh socket pair. + this.tearDownClient(true); + + if (watch && Date.now() - watch.startedAt >= INITIAL_CONNECTION_TIMEOUT_MS) { + this.expireInitialConnection(watch, 'handshake'); + } + + this.applyStatus(wasLoggedIn, this._error); + + // Login can arrive on one channel while the other is still + // handshaking. Revoke that binding if the full connection fails. + if (wasLoggedIn) { + this.emit('disconnected', true); + } + + this.log.trace(() => [ + 'hook_session_connect_terminal pid=%d outcome=failed reason=connect_failed error=%j state=%s elapsedMs=%d', + this.pid, + this._error, + renderParamsVerbose(this.toInfo()), + Date.now() - startedAt, + ]); + } + }); + } + + private startInitialConnectionWatch(): void { + if ( + this.disposed || + this.hasConnected || + this.initialConnectionWatch || + this.initialConnectionError + ) { + return; + } + + const watch: InitialConnectionWatch = { + startedAt: Date.now(), + timer: setTimeout(() => { + void this.serialize(async () => this.expireInitialConnection(watch)).catch( + (error) => + this.log.error( + 'initial connection timeout transition failed: PID=%d err=%s', + this.pid, + errorMessage(error), + ), + ); + }, INITIAL_CONNECTION_TIMEOUT_MS), + }; + watch.timer.unref(); + this.initialConnectionWatch = watch; + this.log.debug( + 'initial connection started: PID=%d timeoutMs=%d', + this.pid, + INITIAL_CONNECTION_TIMEOUT_MS, + ); + } + + private stopInitialConnectionWatch(): void { + if (this.initialConnectionWatch) { + clearTimeout(this.initialConnectionWatch.timer); + this.initialConnectionWatch = null; + } + } + + private expireInitialConnection( + watch: InitialConnectionWatch, + phase: 'waiting_channel' | 'handshake' = 'waiting_channel', + ): void { + if (this.disposed || this.connected || this.initialConnectionWatch !== watch) { + return; + } + + const previousError = this._error; + this.stopInitialConnectionWatch(); + this.initialConnectionError = + '首次连接超时(60 秒):组件已加载,但通信通道尚未就绪,可重试连接或卸载组件'; + this.log.error( + 'initial connection timed out: PID=%d phase=%s timeoutMs=%d elapsedMs=%d previousError=%j', + this.pid, + phase, + INITIAL_CONNECTION_TIMEOUT_MS, + Date.now() - watch.startedAt, + previousError, + ); + this.applyStatus(); + } + + private async connectWithTimeout(client: QqHookClient, timeoutMs: number): Promise { + let cancel!: () => void; + let timer!: ReturnType; + const deadline = new Promise((_, reject) => { + cancel = () => reject(new Error('Connection attempt cancelled')); + timer = setTimeout( + () => reject(new Error(`Connection handshake timed out after ${timeoutMs} ms`)), + timeoutMs, + ); + timer.unref(); + }); + this.cancelConnectAttempt = cancel; + + try { + // A stalled handshake must release the serialized operation queue so + // timeout handling and unload can run. Late completion has no effects. + await Promise.race([client.connectAll({ recv: true }), deadline]); + } finally { + clearTimeout(timer); + + if (this.cancelConnectAttempt === cancel) { + this.cancelConnectAttempt = null; + } + } + } + + private bindClient(client: QqHookClient): void { + client.on('runtimeError', (error) => { + if (this.client !== client || this.disposed) { + return; + } + + const wasLoggedIn = this.loggedIn; + this.runtimeFailure = errorMessage(error); + this.stopInitialConnectionWatch(); + this.loggedIn = false; + this.stopLoginReconcile(); + this.resetReceiveWatch(); + this.applyStatus(wasLoggedIn); + this.log.error('QQ runtime unavailable: PID=%d err=%s', this.pid, this.runtimeFailure); + + if (wasLoggedIn) { + this.emit('disconnected', true); + } + }); + client.on('packet', (packet) => this.handlePacket(packet)); + client.on('loginState', (state) => this.handleLoginState(state)); + client.on('error', (error) => { + const msg = errorMessage(error); + this._error = this.runtimeFailure || this.initialConnectionError || msg; + this.log.warn('pipe error: PID=%d err=%s', this.pid, msg); + }); + client.on('close', () => { + if (this.disposed) { + return; + } + + // Only the currently-registered client should drive a reconcile; + // listeners may fire for an already-replaced client. + if (this.client !== client) { + return; + } + + void this.serialize(async () => { + if (this.disposed) { + return; + } + + if (this.client !== client) { + return; + } + + this.reconcilePipeDown(); + }).catch((err) => + this.log.warn('close reconcile failed: PID=%d err=%s', this.pid, errorMessage(err)), + ); + }); + } + + private tearDownClient(preserveRuntimeFailure = false): void { + this.cancelConnectAttempt?.(); + this.stopLoginReconcile(); + this.resetReceiveWatch(); + const client = this.client; + + if (client) { + client.removeAllListeners(); + + try { + client.close(); + } catch { + /* ignore */ + } + } + + this.client = null; + + if (!preserveRuntimeFailure) { + this.runtimeFailure = ''; + } + + this.sender = null; + this.bound = false; + this.connected = false; + this.loggedIn = false; + this.invalidLoginStateReported = false; + this._outboundHealthy = true; + this.resetLoginHint(); + } + + private handleLoginState(state: QqHookLoginState): void { + if (this.disposed || this.runtimeFailure) { + return; + } + + const wasLoggedIn = this.loggedIn; + const previousUin = this._uin; + const uin = state.uin || state.uinNumber.toString(); + const validIdentity = isRealUin(uin); + const invalidLoginState = state.loggedIn && !validIdentity; + + if (invalidLoginState && !this.invalidLoginStateReported) { + this.log.warn( + 'Login readiness rejected: PID=%d reason=invalid_account_identity', + this.pid, + ); + } + + this.invalidLoginStateReported = invalidLoginState; + this._uin = validIdentity ? uin : '0'; + this.loggedIn = state.loggedIn && validIdentity; + + // Login readiness has now been confirmed, so identity probing is done. + if (this.loggedIn) { + this.stopLoginReconcile(); + + // A PID can switch accounts without an intermediate logout edge. Never + // carry the previous account's heartbeat deadline into the new epoch. + if (this.receiveWatchUin !== this._uin) { + this.resetReceiveWatch(this._uin); + this._outboundHealthy = true; + } + } else { + this.resetReceiveWatch(); + this._outboundHealthy = true; + + if (wasLoggedIn) { + this.resetLoginHint(); + } + } + + // Only the connected/logged-in states are ours to set here; when fully + // down we leave the status the teardown path already settled. + // Login may arrive while another channel is still handshaking; the + // connection attempt revokes that binding if it fails to complete. + if (this.connected || this.loggedIn) { + this.applyStatus(wasLoggedIn, this.loggedIn ? '' : this._error); + } + + if (!this.loggedIn) { + if (wasLoggedIn) { + this.emit('disconnected', true); + } + + runWithoutRequestContext(() => this.startLoginReconcile()); + return; + } + + if (!this.sender) { + return; + } + + if (wasLoggedIn && previousUin === this._uin) { + return; + } + + runWithTraceRequest(() => { + const startedAt = Date.now(); + this.log.trace( + 'hook_session_login_start pid=%d previousUin=%j uin=%j', + this.pid, + previousUin, + this._uin, + ); + + try { + this.emit('login', this._uin, this.sender!); + this.log.success('login detected: PID=%d UIN=%s', this.pid, this._uin); + this.log.trace(() => [ + 'hook_session_login_terminal pid=%d outcome=completed reason=login_detected previousUin=%j uin=%j state=%s elapsedMs=%d', + this.pid, + previousUin, + this._uin, + renderParamsVerbose(this.toInfo()), + Date.now() - startedAt, + ]); + } catch (error) { + this.log.trace(() => [ + 'hook_session_login_terminal pid=%d outcome=failed reason=listener_failed error=%j state=%s elapsedMs=%d', + this.pid, + errorMessage(error), + renderParamsVerbose(this.toInfo()), + Date.now() - startedAt, + ]); + throw error; + } + }); + } + + // ─────────────── login reconcile (Docker auto-login safety net) ─────────── + // QQ can restore an account on its own before the runtime is ready, and its + // local account data names that account. Forward the identity for + // reconciliation, but never synthesize online state from the detection. + + private startLoginReconcile(): void { + if ( + this.loginReconcileTimer || + this.disposed || + this.runtimeFailure || + !this.connected || + this.loggedIn + ) { + return; + } + + this.log.info('awaiting login: PID=%d', this.pid); + this.loginReconcileTimer = setInterval( + () => void this.detectLoginOnce(), + LOGIN_RECONCILE_INTERVAL_MS, + ); + this.loginReconcileTimer.unref(); + void this.detectLoginOnce(); + } + + private stopLoginReconcile(): void { + if (this.loginReconcileTimer) { + clearInterval(this.loginReconcileTimer); + this.loginReconcileTimer = null; + } + } + + private async detectLoginOnce(): Promise { + // Detecting the account reads the filesystem; skip overlapping ticks so a + // slow read never stacks on top of the interval. + if (this.detecting) { + return; + } + + const client = this.client; + const identityEpoch = this.loginIdentityEpoch; + + if (this.disposed || !client || !this.connected || this.loggedIn || this.runtimeFailure) { + this.stopLoginReconcile(); + return; + } + + if (Date.now() < this.nextLoginIdentityObservationAt) { + return; + } + + this.detecting = true; + + try { + let uin: string | null; + + try { + uin = await this.detectLoginUin(this.pid); + } catch (error) { + if ( + this.client !== client || + this.loginIdentityEpoch !== identityEpoch || + this.disposed || + !this.connected || + this.loggedIn || + this.runtimeFailure + ) { + return; + } + + const message = errorMessage(error); + + if (this.lastDetectFailure !== message) { + this.lastDetectFailure = message; + this.log.warn( + 'login identity detection failed: PID=%d err=%s', + this.pid, + message, + ); + } + + return; // best-effort; the interval retries + } + + // A connection or readiness change invalidates earlier identity work. + if ( + this.client !== client || + this.loginIdentityEpoch !== identityEpoch || + this.disposed || + !this.connected || + this.loggedIn || + this.runtimeFailure + ) { + return; + } + + this.lastDetectFailure = ''; + + if (uin !== null && isRealUin(uin)) { + if (this.acceptedLoginHintUin === uin) { + this.nextLoginIdentityObservationAt = + Date.now() + LOGIN_IDENTITY_OBSERVE_INTERVAL_MS; + return; + } + + if (this.loginHintAttemptUin !== uin) { + this.loginHintAttemptUin = uin; + this.loginHintAttempts = 0; + this.nextLoginHintAt = 0; + this.nextLoginIdentityObservationAt = 0; + } + + if ( + this.loginHintAttempts >= LOGIN_HINT_MAX_ATTEMPTS || + Date.now() < this.nextLoginHintAt + ) { + return; + } + + const attempt = ++this.loginHintAttempts; + this.log.info( + 'login identity discovered: PID=%d UIN=%s; awaiting readiness', + this.pid, + uin, + ); + + try { + await client.reconcileLoginIdentity(uin); + + if ( + this.client !== client || + this.loginIdentityEpoch !== identityEpoch || + this.disposed || + !this.connected || + this.loggedIn || + this.runtimeFailure + ) { + return; + } + + this.acceptedLoginHintUin = uin; + this.nextLoginIdentityObservationAt = + Date.now() + LOGIN_IDENTITY_OBSERVE_INTERVAL_MS; + } catch (error) { + if ( + this.client !== client || + this.loginIdentityEpoch !== identityEpoch || + this.disposed || + !this.connected || + this.loggedIn || + this.runtimeFailure + ) { + return; + } + + if (attempt >= LOGIN_HINT_MAX_ATTEMPTS) { + this.log.warn( + 'login identity reconciliation failed: PID=%d UIN=%s attempts=%d err=%s', + this.pid, + uin, + attempt, + errorMessage(error), + ); + this.nextLoginIdentityObservationAt = + Date.now() + LOGIN_IDENTITY_OBSERVE_INTERVAL_MS; + } else { + this.nextLoginHintAt = + Date.now() + LOGIN_HINT_RETRY_DELAYS_MS[attempt - 1]!; + this.log.trace( + 'login identity hint failed: PID=%d UIN=%s attempt=%d err=%s', + this.pid, + uin, + attempt, + errorMessage(error), + ); + } + } + } + } finally { + this.detecting = false; + } + } + + private resetLoginHint(): void { + this.loginIdentityEpoch++; + this.acceptedLoginHintUin = ''; + this.loginHintAttemptUin = ''; + this.loginHintAttempts = 0; + this.nextLoginHintAt = 0; + this.nextLoginIdentityObservationAt = 0; + this.lastDetectFailure = ''; + } + + private handlePacket(packet: QqHookPacket): void { + if (!this.loggedIn) { + return; + } + + if ( + packet.source === 'client-message' && + (!isRealUin(packet.uin) || packet.uin !== this._uin) + ) { + this.log.warn( + 'Client message receipt belongs to an inactive account: PID=%d', + this.pid, + ); + return; + } + + const uin = packet.uin || this._uin; + // Routing requires a real UIN, but even a frame carrying UIN=0 proves the + // receive hook is alive. Attribute that evidence to the current epoch + // without forwarding the malformed packet into BridgeManager. + const receiveUin = isRealUin(uin) ? uin : this.receiveWatchUin || this._uin; + + if (isRealUin(receiveUin)) { + this.noteReceiveActivity(packet.cmd, receiveUin); + } + + if (!isRealUin(uin)) { + return; + } + + if (!this.onPacket) { + return; + } + + // Re-shape the hook-client wire packet into BridgeManager's PacketInfo + // shape. Used to live in the deleted NtqqHandler.onHookPacket; field + // renaming was that module's entire purpose, so it lives at the source + // now (no need for a single-listener event-emitter in between). + this.onPacket({ + pid: this.pid, + uin, + serviceCmd: packet.cmd, + seqId: packet.seq, + retCode: packet.error, + fromClient: false, + ...(packet.source ? { source: packet.source } : {}), + body: Buffer.from(packet.body), + }); + } + + private setStatus(status: HookProcessStatus, error: string): void { + if (this._status === status && this._error === error) { + return; + } + + this._status = status; + this._error = error; + this.emit('status-changed', status, error); + } + + private noteReceiveActivity(cmd: string, uin: string): void { + // BridgeManager treats packet.uin as authoritative and may move this PID + // before the next loginState edge. Keep the watchdog on that same epoch. + if (this.receiveWatchUin !== uin) { + this.resetReceiveWatch(uin); + } + + if (!this.receiveWatchArmed) { + if (cmd !== QQ_RECV_HEARTBEAT_CMD) { + return; + } + + this.receiveWatchArmed = true; + this.log.debug( + 'receive health armed by QQ heartbeat: PID=%d UIN=%s', + this.pid, + this.receiveWatchUin, + ); + } + + const now = Date.now(); + const silentForMs = this.lastReceiveAt > 0 ? now - this.lastReceiveAt : 0; + this.lastReceiveAt = now; + this.scheduleReceiveStaleCheck(); + + if (!this._receiveHealthy) { + this.setReceiveHealthy(true); + this.log.info( + 'receive path recovered: PID=%d UIN=%s silentFor=%dms', + this.pid, + this.receiveWatchUin, + silentForMs, + ); + } + } + + private scheduleReceiveStaleCheck(): void { + if (this.receiveWatchTimer) { + clearTimeout(this.receiveWatchTimer); + } + + this.receiveWatchTimer = setTimeout(() => { + this.receiveWatchTimer = null; + + if (!this.shouldWatchReceive()) { + return; + } + + // A delayed event loop (notably system sleep/resume) lands here long + // after the nominal 90s deadline. Do not flip health immediately: give + // the real QQ heartbeat one short confirmation window to arrive. + this.receiveWatchTimer = setTimeout(() => { + this.receiveWatchTimer = null; + + if (!this.shouldWatchReceive()) { + return; + } + + const silentForMs = Date.now() - this.lastReceiveAt; + + if (silentForMs < RECEIVE_STALE_AFTER_MS + RECEIVE_STALE_CONFIRM_MS) { + this.scheduleReceiveStaleCheck(); + return; + } + + this.setReceiveHealthy(false); + this.log.warn( + 'receive path stale: PID=%d UIN=%s lastRecvAt=%s silentFor=%dms; reporting good=false', + this.pid, + this.receiveWatchUin, + new Date(this.lastReceiveAt).toISOString(), + silentForMs, + ); + }, RECEIVE_STALE_CONFIRM_MS); + this.receiveWatchTimer.unref(); + }, RECEIVE_STALE_AFTER_MS); + this.receiveWatchTimer.unref(); + } + + private shouldWatchReceive(): boolean { + return !this.disposed && this.connected && this.loggedIn && this.receiveWatchArmed; + } + + private setReceiveHealthy(healthy: boolean): void { + if (this._receiveHealthy === healthy) { + return; + } + + const previous = this.receiveHealthy; + this._receiveHealthy = healthy; + + if (previous !== this.receiveHealthy) { + this.emit('receive-health-changed', this.receiveHealthy); + } + } + + private setOutboundHealthy(healthy: boolean): void { + if (this._outboundHealthy === healthy) { + return; + } + + const previous = this.receiveHealthy; + this._outboundHealthy = healthy; + + if (previous !== this.receiveHealthy) { + this.emit('receive-health-changed', this.receiveHealthy); + } + + if (healthy) { + this.log.info('request path recovered: PID=%d UIN=%s', this.pid, this._uin); + } else { + this.log.warn( + 'request path unavailable: PID=%d UIN=%s; reporting good=false', + this.pid, + this._uin, + ); + } + } + + private resetReceiveWatch(uin = ''): void { + if (this.receiveWatchTimer) { + clearTimeout(this.receiveWatchTimer); + this.receiveWatchTimer = null; + } + + this.receiveWatchUin = uin; + this.receiveWatchArmed = false; + this.lastReceiveAt = 0; + this._receiveHealthy = true; + } +} diff --git a/packages/bridge/src/hook-status.ts b/packages/bridge/src/hook-status.ts new file mode 100644 index 00000000..3ec86e48 --- /dev/null +++ b/packages/bridge/src/hook-status.ts @@ -0,0 +1,37 @@ +import type { HookProcessStatus } from './types'; + +/** + * The flags that fully determine a HookSession's *settled* status. + * `wasLoggedIn` carries the one bit of history the derivation needs: + * on ANY injected-but-not-connected path (connect failure, pipe close, + * refresh-while-down), the session reads `disconnected` only if it had + * reached login, otherwise it's still `connecting`. Capture it from + * `loggedIn` *before* tearing the client down, since teardown clears it. + */ +export interface HookFlags { + injected: boolean; + connected: boolean; + loggedIn: boolean; + wasLoggedIn: boolean; +} + +/** + * Single source of truth for the five *settled* HookProcessStatus values + * — `available` / `connecting` / `loaded` / `online` / `disconnected`. + * + * Pure: status is a function of the flags alone. The two *out-of-band* + * states `loading` (injection in flight) and `error` (carries a message) + * are set explicitly by HookSession and are deliberately NOT derivable + * here. + */ +export function statusFor(flags: HookFlags): HookProcessStatus { + if (!flags.injected) { + return 'available'; + } + + if (flags.connected) { + return flags.loggedIn ? 'online' : 'loaded'; + } + + return flags.wasLoggedIn ? 'disconnected' : 'connecting'; +} diff --git a/packages/bridge/src/index.ts b/packages/bridge/src/index.ts new file mode 100644 index 00000000..c2b4e170 --- /dev/null +++ b/packages/bridge/src/index.ts @@ -0,0 +1,15 @@ +export { + HookManager, + type BridgeManagerSink, + type HookManagerDeps, + type HookProcessAccount, + type HookProcessBaseInfo, + type HookProcessInfo, + type HookProcessStatus, +} from './hook-manager'; +export { type AccountLoginState, type LocalAccount } from './qq-account'; +export { + getRuntimeIntegrity, + hasLowProcessIntegrity, + type RuntimeIntegrity, +} from './runtime-integrity'; diff --git a/packages/bridge/src/injector.ts b/packages/bridge/src/injector.ts new file mode 100644 index 00000000..6f7772a3 --- /dev/null +++ b/packages/bridge/src/injector.ts @@ -0,0 +1,137 @@ +import { errorMessage } from '@snowluma/common/errors'; +import { resolveRuntimeNativePath } from '@snowluma/common/native-path'; + +import { listSnowlumaPipePidsSync } from './qq-hook-client'; + +export interface ManualMapHandle { + base: bigint; + entry: bigint; + exceptionTable: bigint; + size: number; +} + +interface NativeHookAddon { + getRuntimeIntegrityAsync(): Promise; + getAllMainProcessAsync(): Promise; + getFileHoldersAsync(path: string): Promise<{ pid: number; name: string }[]>; + loadModuleManualAsync(pid: number, dylibPath: string): Promise; + unloadModuleManualAsync(pid: number, handle: ManualMapHandle): Promise; +} + +export interface HookProcessBaseInfo { + pid: number; + name: string; + path: string; +} + +export interface HookInjectResult { + method: 'loadModuleManual'; + handle: ManualMapHandle; +} + +let nativeAddon: NativeHookAddon | null = null; +let nativeLoadError: string | null = null; + +function loadNativeAddon(addonPath: string): NativeHookAddon { + const mod = { exports: {} as Record }; + process.dlopen(mod, addonPath); + return mod.exports as unknown as NativeHookAddon; +} + +type HookBinaryExt = 'node' | 'dll' | 'so'; + +function platformInjectableExt(): 'dll' | 'so' { + return process.platform === 'win32' ? 'dll' : 'so'; +} + +function defaultProcessName(): string { + return process.platform === 'win32' ? 'QQ.exe' : 'qq'; +} + +export function resolveHookNativePath(ext: HookBinaryExt): string | null { + return resolveRuntimeNativePath(`snowluma-${process.platform}-${process.arch}.${ext}`); +} + +export function getNativeHookAddon(): NativeHookAddon | null { + if (nativeAddon) { + return nativeAddon; + } + + const addonPath = resolveHookNativePath('node'); + + if (!addonPath) { + nativeLoadError = `No hook native addon found for ${process.platform}-${process.arch}`; + return null; + } + + try { + nativeAddon = loadNativeAddon(addonPath); + nativeLoadError = null; + return nativeAddon; + } catch (error) { + nativeLoadError = errorMessage(error); + return null; + } +} + +export function getNativeHookLoadError(): string | null { + return nativeLoadError; +} + +export async function listHookProcesses(): Promise { + // macOS: no native enumerate-QQ addon. The DYLD_INSERT injection model + // means QQ ran with our dylib already mapped, so the dylib's listener + // socket IS the discovery signal. Treat every `mojo..control.sock` + // in the runtime dir as a known process (the watcher's subsequent + // connectable-probe gates the pipe-up emit, so a stale dangling socket + // here doesn't drive a false connect). + if (process.platform === 'darwin') { + return [...listSnowlumaPipePidsSync()] + .sort((a, b) => a - b) + .map((pid) => ({ pid, name: defaultProcessName(), path: '' })); + } + + const addon = getNativeHookAddon(); + + if (!addon) { + throw new Error(getNativeHookLoadError() ?? 'hook native addon is not available'); + } + + if (typeof addon.getAllMainProcessAsync !== 'function') { + throw new Error( + 'Hook native addon lacks getAllMainProcessAsync; update the native artifacts', + ); + } + + return [...new Set(await addon.getAllMainProcessAsync())] + .filter((pid) => Number.isInteger(pid) && pid > 0) + .sort((a, b) => a - b) + .map((pid) => ({ pid, name: defaultProcessName(), path: '' })); +} + +export async function injectHookProcess(pid: number): Promise { + const addon = getNativeHookAddon(); + + if (!addon) { + throw new Error(getNativeHookLoadError() ?? 'hook native addon is not available'); + } + + const injectableExt = platformInjectableExt(); + const dllPath = resolveHookNativePath(injectableExt); + + if (!dllPath) { + throw new Error(`No hook ${injectableExt} found for ${process.platform}-${process.arch}`); + } + + return { method: 'loadModuleManual', handle: await addon.loadModuleManualAsync(pid, dllPath) }; +} + +export async function unloadHookProcess(pid: number, handle: ManualMapHandle): Promise { + const addon = getNativeHookAddon(); + + if (!addon) { + throw new Error(getNativeHookLoadError() ?? 'hook native addon is not available'); + } + + await addon.unloadModuleManualAsync(pid, handle); +} diff --git a/packages/bridge/src/packet-timeout.ts b/packages/bridge/src/packet-timeout.ts new file mode 100644 index 00000000..512ef5d6 --- /dev/null +++ b/packages/bridge/src/packet-timeout.ts @@ -0,0 +1,8 @@ +import { positiveIntEnv } from '@snowluma/common/env'; + +/** Default wait for a QQ reply when the caller does not pass one. */ +export const DEFAULT_PACKET_TIMEOUT_MS = 15_000; + +export function packetTimeoutMs(env?: NodeJS.ProcessEnv): number { + return positiveIntEnv('SNOWLUMA_PACKET_TIMEOUT_MS', DEFAULT_PACKET_TIMEOUT_MS, { env }); +} diff --git a/packages/bridge/src/pipe-watcher.ts b/packages/bridge/src/pipe-watcher.ts new file mode 100644 index 00000000..c765bd30 --- /dev/null +++ b/packages/bridge/src/pipe-watcher.ts @@ -0,0 +1,217 @@ +import { errorMessage } from '@snowluma/common/errors'; +import { createLogger, type Logger } from '@snowluma/common/logger'; +import { EventEmitter } from 'node:events'; +import { setImmediate as nextTurn } from 'node:timers/promises'; +import type { HookProcessBaseInfo } from './injector'; + +const DEFAULT_INTERVAL_MS = 1500; +const MIN_INTERVAL_MS = 250; + +export type PipeWatcherDeps = { + /** Failed enumeration returns null and preserves the last known snapshot. */ + listProcesses: () => Promise; + /** Linux uses this snapshot to locate each target user's runtime directory. */ + listLivePipes: (processes: readonly HookProcessBaseInfo[]) => Promise>; + intervalMs?: number; + log?: Logger; +}; + +type PipeEvent = + | ['process-discovered', HookProcessBaseInfo] + | ['pipe-up' | 'pipe-down' | 'process-gone', number]; + +/** Publishes process and pipe snapshots, then emits their ordered differences. */ +export class PipeWatcher extends EventEmitter { + private readonly listProcesses: PipeWatcherDeps['listProcesses']; + private readonly listLivePipes: PipeWatcherDeps['listLivePipes']; + private readonly intervalMs: number; + private readonly log: Logger; + private livePipes = new Set(); + private knownPids = new Set(); + private timer: NodeJS.Timeout | null = null; + private tickTask: Promise | null = null; + private pendingTick = false; + private startPromise: Promise | null = null; + private stopped = false; + + constructor(deps: PipeWatcherDeps) { + super(); + this.listProcesses = deps.listProcesses; + this.listLivePipes = deps.listLivePipes; + this.intervalMs = Math.max(MIN_INTERVAL_MS, deps.intervalMs ?? DEFAULT_INTERVAL_MS); + this.log = deps.log ?? createLogger('PipeWatcher'); + } + + isPipeLive(pid: number): boolean { + return this.livePipes.has(pid); + } + + isProcessAlive(pid: number): boolean { + return this.knownPids.has(pid); + } + + /** Read the initial snapshot and start polling. Repeated calls share startup. */ + start(): Promise { + return (this.startPromise ??= this.tickNow().finally(() => { + this.scheduleNext(this.intervalMs); + })); + } + + /** Coalesce wake requests into one scan after the current read. */ + wake(): void { + if (this.stopped) { + return; + } + + if (this.tickTask) { + this.pendingTick = true; + } else { + this.scheduleNext(0); + } + } + + /** Wait for a fresh snapshot, including a scan queued behind an active read. */ + tickNow(): Promise { + if (this.stopped) { + return Promise.resolve(); + } + + if (this.tickTask) { + this.pendingTick = true; + return this.tickTask; + } + + this.tickTask = (async () => { + do { + this.pendingTick = false; + await this.readSnapshot(); + + if (this.pendingTick && !this.stopped) { + await nextTurn(); + } + } while (this.pendingTick && !this.stopped); + })().finally(() => { + this.tickTask = null; + }); + return this.tickTask; + } + + stop(): void { + this.stopped = true; + this.pendingTick = false; + + if (this.timer) { + clearTimeout(this.timer); + this.timer = null; + } + } + + dispose(): void { + this.stop(); + this.removeAllListeners(); + } + + private scheduleNext(delayMs: number): void { + if (this.stopped) { + return; + } + + if (this.timer) { + clearTimeout(this.timer); + } + + this.timer = setTimeout(() => { + this.timer = null; + void this.tickAndReschedule(); + }, delayMs); + } + + private async tickAndReschedule(): Promise { + try { + await this.tickNow(); + } catch (error) { + this.log.warn('poll failed: %s', errorMessage(error)); + } finally { + this.scheduleNext(this.intervalMs); + } + } + + private async readSnapshot(): Promise { + let processes: HookProcessBaseInfo[] | null; + + try { + processes = await this.listProcesses(); + } catch (error) { + this.log.warn('listProcesses failed: %s', errorMessage(error)); + processes = null; + } + + if (this.stopped) { + return; + } + + if (processes === null) { + // Missing data must not disconnect healthy sessions. Reconnect retries + // still run against the last known snapshot (issue #158). + this.emit('tick'); + return; + } + + let livePipes: Set; + + try { + livePipes = await this.listLivePipes(processes); + } catch (error) { + this.log.warn('listLivePipes failed: %s', errorMessage(error)); + livePipes = this.livePipes; + } + + if (this.stopped) { + return; + } + + const knownPids = new Set(processes.map(({ pid }) => pid)); + const currentPipes = new Set([...livePipes].filter((pid) => knownPids.has(pid))); + const events: PipeEvent[] = []; + + for (const process of processes) { + if (!this.knownPids.has(process.pid)) { + events.push(['process-discovered', process]); + } + } + + for (const pid of currentPipes) { + if (!this.livePipes.has(pid)) { + events.push(['pipe-up', pid]); + } + } + + // Disconnect pipes before disposing their departed processes. + for (const pid of this.livePipes) { + if (!currentPipes.has(pid)) { + events.push(['pipe-down', pid]); + } + } + + for (const pid of this.knownPids) { + if (!knownPids.has(pid)) { + events.push(['process-gone', pid]); + } + } + + this.knownPids = knownPids; + this.livePipes = currentPipes; + + for (const [event, payload] of events) { + if (this.stopped) { + return; + } + + this.emit(event, payload); + } + + if (!this.stopped) { + this.emit('tick'); + } + } +} diff --git a/packages/bridge/src/process-enumerator.ts b/packages/bridge/src/process-enumerator.ts new file mode 100644 index 00000000..bdbe0d1e --- /dev/null +++ b/packages/bridge/src/process-enumerator.ts @@ -0,0 +1,77 @@ +import { errorMessage } from '@snowluma/common/errors'; +import { createLogger, type Logger } from '@snowluma/common/logger'; +import type { HookProcessBaseInfo } from './injector'; + +export interface ProcessEnumerator { + /** null means unknown: keep the previous process set. */ + enumerate(): Promise; + dispose(): void; +} + +interface ProcessEnumeratorDeps { + listProcesses: () => Promise; + timeoutMs?: number; + log?: Logger; +} + +export function createProcessEnumerator(deps: ProcessEnumeratorDeps): ProcessEnumerator { + const log = deps.log ?? createLogger('ProcessEnumerator'); + const timeoutMs = deps.timeoutMs ?? 4000; + let disposed = false; + let pending: { + promise: Promise; + settle: (result: HookProcessBaseInfo[] | null) => void; + } | null = null; + + return { + enumerate() { + if (disposed) { + return Promise.resolve(null); + } + + if (pending) { + return pending.promise; + } + + let resolve!: (result: HookProcessBaseInfo[] | null) => void; + const promise = new Promise((done) => { + resolve = done; + }); + + const settle = (result: HookProcessBaseInfo[] | null) => { + clearTimeout(timer); + resolve(result); + }; + + const timer = setTimeout(() => { + log.warn( + 'process enumeration timed out after %dms; keeping prior process set', + timeoutMs, + ); + settle(null); + }, timeoutMs); + pending = { promise, settle }; + + // A timeout ends the wait, not the native call. Keep its slot until it + // finishes so subsequent polls cannot accumulate blocked native work. + void Promise.resolve() + .then(() => (disposed ? null : deps.listProcesses())) + .then( + (processes) => { + pending = null; + settle(disposed ? null : processes); + }, + (error) => { + pending = null; + log.warn('process enumeration failed: %s', errorMessage(error)); + settle(null); + }, + ); + return promise; + }, + dispose() { + disposed = true; + pending?.settle(null); + }, + }; +} diff --git a/packages/bridge/src/qq-account/database-holders.ts b/packages/bridge/src/qq-account/database-holders.ts new file mode 100644 index 00000000..4f882dbc --- /dev/null +++ b/packages/bridge/src/qq-account/database-holders.ts @@ -0,0 +1,107 @@ +import fs from 'node:fs/promises'; +import { getNativeHookAddon } from '../injector'; + +export interface DatabaseHolder { + pid: number; + name: string; +} + +export async function getDatabaseHolders(dbPath: string): Promise { + if (process.platform === 'win32') { + return getWindowsHolders(dbPath); + } + + return process.platform === 'linux' ? getLinuxHolders(dbPath) : []; +} + +async function getWindowsHolders(dbPath: string): Promise { + const addon = getNativeHookAddon(); + + if (!addon?.getFileHoldersAsync) { + throw new Error('Windows account detection requires a hook addon with getFileHoldersAsync'); + } + + const holders = await addon.getFileHoldersAsync(dbPath); + + if ( + !Array.isArray(holders) || + holders.some( + (holder) => + !holder || + !Number.isInteger(holder.pid) || + holder.pid <= 0 || + typeof holder.name !== 'string', + ) + ) { + throw new Error('Invalid database holders returned by the hook addon'); + } + + return holders; +} + +export function isQqProcessName(name: string): boolean { + return ( + name + .trim() + .toLowerCase() + .replace(/\.exe$/, '') === 'qq' + ); +} + +/** Match POSIX locks by device and inode; the table does not contain file paths. */ +async function getLinuxHolders(dbPath: string): Promise { + const stat = await fs.stat(dbPath).catch((error: NodeJS.ErrnoException) => { + if (error.code === 'ENOENT') { + return null; + } + + throw error; + }); + + if (!stat) { + return []; + } + + const key = deviceInodeKey(stat.dev, stat.ino); + const table = await fs.readFile('/proc/locks', 'utf8'); + const holders: DatabaseHolder[] = []; + const seen = new Set(); + + for (const line of table.split('\n')) { + // `: : ` + const fields = line.trim().split(/\s+/); + + if (fields.length < 8 || fields[5] !== key) { + continue; + } + + const pid = Number(fields[4]); + + if (!Number.isInteger(pid) || pid <= 0 || seen.has(pid)) { + continue; + } + + seen.add(pid); + holders.push({ pid, name: await readProcessName(pid) }); + } + + return holders; +} + +function deviceInodeKey(device: number, inode: number): string { + const major = (device >> 8) & 0xfff; + const minor = (device & 0xff) | ((device >> 12) & 0xfff00); + return `${major.toString(16).padStart(2, '0')}:${minor.toString(16).padStart(2, '0')}:${inode}`; +} + +async function readProcessName(pid: number): Promise { + try { + return (await fs.readFile(`/proc/${pid}/comm`, 'utf8')).trim(); + } catch (error) { + if ((error as NodeJS.ErrnoException).code === 'ENOENT') { + return ''; + } + + throw error; + } +} diff --git a/packages/bridge/src/qq-account/detect.ts b/packages/bridge/src/qq-account/detect.ts new file mode 100644 index 00000000..8e179676 --- /dev/null +++ b/packages/bridge/src/qq-account/detect.ts @@ -0,0 +1,62 @@ +import { createLogger } from '@snowluma/common/logger'; +import { isQqProcessName, getDatabaseHolders } from './database-holders'; +import { readLocalAccounts, type LocalAccount } from './login-db'; +import { loginDbPaths, ntMsgDbPath, qqDataRoots, qqDataRootsForPid } from './paths'; + +const log = createLogger('QqAccount'); +const reportedFailures = new Map(); + +export interface AccountLoginState extends LocalAccount { + pid: number | null; +} + +export async function detectAccountLogins( + roots: readonly string[] = qqDataRoots(), +): Promise { + const states: AccountLoginState[] = []; + + for (const root of roots) { + const report = await readLocalAccounts(root); + + for (const dbPath of loginDbPaths(root)) { + const failure = report.failures.find((item) => item.path === dbPath); + + if (!failure) { + reportedFailures.delete(dbPath); + continue; + } + + const detail = + failure.error instanceof Error + ? failure.error.message + : String(failure.error ?? ''); + const reason = detail ? failure.reason + ': ' + detail : failure.reason; + + if (reportedFailures.get(dbPath) !== reason) { + reportedFailures.set(dbPath, reason); + log.warn('login.db unreadable: path=%s reason=%s', dbPath, reason); + } + } + + for (const account of report.accounts) { + const holder = (await getDatabaseHolders(ntMsgDbPath(root, account))).find( + (candidate) => isQqProcessName(candidate.name), + ); + states.push({ ...account, pid: holder?.pid ?? null }); + } + } + + return states; +} + +export async function detectAccountLoginsForPids( + pids: readonly number[], +): Promise { + const roots = [...new Set(pids.flatMap((pid) => qqDataRootsForPid(pid)))]; + return detectAccountLogins(roots); +} + +export async function detectUinForPid(pid: number): Promise { + const accounts = await detectAccountLoginsForPids([pid]); + return accounts.find((account) => account.pid === pid)?.uin ?? null; +} diff --git a/packages/bridge/src/qq-account/index.ts b/packages/bridge/src/qq-account/index.ts new file mode 100644 index 00000000..e5f18d2d --- /dev/null +++ b/packages/bridge/src/qq-account/index.ts @@ -0,0 +1,23 @@ +export { isQqProcessName, getDatabaseHolders, type DatabaseHolder } from './database-holders'; +export { + detectAccountLogins, + detectAccountLoginsForPids, + detectUinForPid, + type AccountLoginState, +} from './detect'; +export { + readLocalAccounts, + type LocalAccount, + type LocalAccountReport, + type LoginDbFailure, +} from './login-db'; +export { accountDirName, loginDbPaths, ntMsgDbPath, qqDataRoots, qqDataRootsForPid } from './paths'; +export { watchAccountChangesForPids } from './watch'; +export { + decryptDatabase, + detectAlgorithm, + type DecryptedDatabase, + type KdfHmacAlgorithm, + type PageHmacAlgorithm, + type SqlcipherAlgorithm, +} from './sqlcipher'; diff --git a/packages/bridge/src/qq-account/login-db.ts b/packages/bridge/src/qq-account/login-db.ts new file mode 100644 index 00000000..361b7d1f --- /dev/null +++ b/packages/bridge/src/qq-account/login-db.ts @@ -0,0 +1,199 @@ +import { isRealUin } from '@snowluma/common/uin'; +import { SqliteDatabase } from '@snowluma/sqlite'; +import { mkdtemp, readFile, rm, stat, writeFile } from 'node:fs/promises'; +import os from 'node:os'; +import path from 'node:path'; +import { loginDbPaths } from './paths'; +import { decryptDatabase, detectAlgorithm } from './sqlcipher'; + +const LOGIN_DB_PASSPHRASE = 'BD156D6710D54D8782F4'; +const COLUMN_UIN = '1000'; +const COLUMN_UID = '1001'; +const COLUMN_NICKNAME = '1007'; + +export interface LocalAccount { + uin: string; + uid: string; + nickname: string; +} + +export type LoginDbFailure = 'read-failed' | 'undecryptable' | 'query-failed'; + +type LoginDbResult = { accounts: LocalAccount[] } | { failure: LoginDbFailure; error?: unknown }; + +export interface LocalAccountReport { + accounts: LocalAccount[]; + failures: Array<{ path: string; reason: LoginDbFailure; error?: unknown }>; +} + +// Share concurrent reads and invalidate when either the database or its WAL changes. +const accountCache = new Map }>(); + +export async function readLocalAccounts(root: string): Promise { + const merged = new Map(); + const failures: LocalAccountReport['failures'] = []; + + for (const dbPath of loginDbPaths(root)) { + const result = await readLoginDb(dbPath); + + if ('failure' in result) { + failures.push({ path: dbPath, reason: result.failure, error: result.error }); + continue; + } + + for (const account of result.accounts) { + if (!merged.has(account.uin)) { + merged.set(account.uin, account); + } + } + } + + return { accounts: [...merged.values()], failures }; +} + +async function readLoginDb(dbPath: string): Promise { + let stamp: string; + + try { + const files = await Promise.all([statIfPresent(dbPath), statIfPresent(dbPath + '-wal')]); + stamp = files.map((info) => (info ? info.mtimeMs + ':' + info.size : '-')).join('|'); + } catch (error) { + accountCache.delete(dbPath); + return { failure: 'read-failed', error }; + } + + const cached = accountCache.get(dbPath); + + if (cached?.stamp === stamp) { + return cached.result; + } + + const entry = { stamp, result: decryptAndQuery(dbPath) }; + accountCache.set(dbPath, entry); + const result = await entry.result; + + if ('failure' in result && accountCache.get(dbPath) === entry) { + accountCache.delete(dbPath); + } + + return result; +} + +async function decryptAndQuery(dbPath: string): Promise { + let image: Buffer; + let wal: Buffer | null; + + try { + const contents = await readIfPresent(dbPath); + + if (!contents) { + return { accounts: [] }; + } + + image = contents; + wal = await readIfPresent(dbPath + '-wal'); + } catch (error) { + return { failure: 'read-failed', error }; + } + + const algorithm = detectAlgorithm(image, LOGIN_DB_PASSPHRASE); + + if (!algorithm) { + return { failure: 'undecryptable' }; + } + + const decrypted = decryptDatabase(image, wal, LOGIN_DB_PASSPHRASE, algorithm); + + if (!decrypted) { + return { failure: 'undecryptable' }; + } + + try { + return { accounts: await queryLoginTable(decrypted.image) }; + } catch (error) { + return { failure: 'query-failed', error }; + } +} + +// SQLite opens a private temporary image; QQ's database and sidecars stay read-only. +async function queryLoginTable(image: Buffer): Promise { + const directory = await mkdtemp(path.join(os.tmpdir(), 'snowluma-qq-login-')); + const dbPath = path.join(directory, 'login.db'); + + try { + await writeFile(dbPath, image, { mode: 0o600 }); + const db = new SqliteDatabase(dbPath, { readOnly: true }); + + try { + const rows = await db + .prepare( + `SELECT [${COLUMN_UIN}], [${COLUMN_UID}], [${COLUMN_NICKNAME}] FROM login_table`, + ) + .all(); + const accounts: LocalAccount[] = []; + + for (const row of rows) { + const account = { + uin: asText(row[COLUMN_UIN]), + uid: asText(row[COLUMN_UID]), + nickname: asText(row[COLUMN_NICKNAME]), + }; + + if (isRealUin(account.uin) && account.uid.length > 0) { + accounts.push(account); + } + } + + return accounts; + } finally { + await db.close(); + } + } finally { + await rm(directory, { recursive: true, force: true }); + } +} + +async function readIfPresent(file: string): Promise { + try { + return await readFile(file); + } catch (error) { + if (isNotFound(error)) { + return null; + } + + throw error; + } +} + +function isNotFound(error: unknown): boolean { + return error instanceof Error && 'code' in error && error.code === 'ENOENT'; +} + +async function statIfPresent(file: string) { + try { + return await stat(file); + } catch (error) { + if (isNotFound(error)) { + return null; + } + + throw error; + } +} + +/** SQLite values arrive as numbers, strings or blobs depending on the column. */ +function asText(value: unknown): string { + if (typeof value === 'string') { + return value; + } + + if (typeof value === 'number' || typeof value === 'bigint') { + return String(value); + } + + if (value instanceof Uint8Array) { + return Buffer.from(value).toString('utf8'); + } + + return ''; +} diff --git a/packages/bridge/src/qq-account/paths.ts b/packages/bridge/src/qq-account/paths.ts new file mode 100644 index 00000000..f848e4b2 --- /dev/null +++ b/packages/bridge/src/qq-account/paths.ts @@ -0,0 +1,161 @@ +import { createHash } from 'node:crypto'; +import { readFileSync } from 'node:fs'; +import { homedir } from 'node:os'; +import path from 'node:path'; + +const LOGIN_DB_SEGMENTS = ['nt_db', 'login.db'] as const; + +export function qqDataRoots(): string[] { + if (process.platform === 'win32') { + return windowsDataRoots(); + } + + if (process.platform === 'linux') { + return linuxDataRoots({ ...process.env, HOME: process.env.HOME || homedir() }); + } + + return []; +} + +/** Each Linux client owns its HOME; an unavailable process has no known root. */ +export function qqDataRootsForPid(pid: number): string[] { + if (process.platform === 'win32') { + return windowsDataRoots(); + } + + if (process.platform !== 'linux') { + return []; + } + + const environment = readProcessEnvironment(pid); + return environment ? linuxDataRoots(environment) : []; +} + +function linuxDataRoots(environment: { HOME?: string; XDG_CONFIG_HOME?: string }): string[] { + const base = + environment.XDG_CONFIG_HOME || + (environment.HOME ? path.join(environment.HOME, '.config') : null); + return base ? [path.join(base, 'QQ')] : []; +} + +function readProcessEnvironment(pid: number): { HOME?: string; XDG_CONFIG_HOME?: string } | null { + let raw: string; + + try { + raw = readFileSync(`/proc/${pid}/environ`, 'utf8'); + } catch (error) { + if (error instanceof Error && 'code' in error && error.code === 'ENOENT') { + return null; + } + + throw error; + } + + const environment: { HOME?: string; XDG_CONFIG_HOME?: string } = {}; + + for (const entry of raw.split('\0')) { + const separator = entry.indexOf('='); + + if (separator <= 0) { + continue; + } + + const name = entry.slice(0, separator); + + if (name === 'HOME' || name === 'XDG_CONFIG_HOME') { + environment[name] = entry.slice(separator + 1); + } + } + + return environment; +} + +/** Both Linux layouts occur in QQ installations; the primary takes precedence. */ +export function loginDbPaths(root: string): string[] { + if (process.platform === 'win32') { + return [path.join(root, 'nt_qq', 'global', ...LOGIN_DB_SEGMENTS)]; + } + + return [ + path.join(root, 'global', ...LOGIN_DB_SEGMENTS), + path.join(root, 'nt_qq', 'global', ...LOGIN_DB_SEGMENTS), + ]; +} + +export function ntMsgDbPath(root: string, account: { uin: string; uid: string }): string { + if (process.platform === 'win32') { + return path.join(root, account.uin, 'nt_qq', 'nt_db', 'nt_msg.db'); + } + + return path.join(root, accountDirName(account.uid), 'nt_db', 'nt_msg.db'); +} + +export function accountDirName(uid: string): string { + const digest = createHash('md5').update(uid, 'utf8').digest('hex'); + return `nt_qq_${createHash('md5').update(`${digest}nt_kernel`, 'utf8').digest('hex')}`; +} + +function windowsDataRoots(): string[] { + const configured = tencentFilesRootFromUserDataInfo(); + return [configured ?? path.join(homedir(), 'Documents', 'Tencent Files')]; +} + +export function tencentFilesRootFromUserDataInfo(home = homedir()): string | null { + const ini = path.join( + path.dirname(home), + 'Public', + 'Documents', + 'Tencent', + 'QQ', + 'UserDataInfo.ini', + ); + let text: string; + + try { + text = readFileSync(ini, 'utf8'); + } catch (error) { + if (error instanceof Error && 'code' in error && error.code === 'ENOENT') { + return null; + } + + throw error; + } + + let inDataSet = false; + + for (const raw of text.split(/\r?\n/)) { + const line = raw.trim(); + + if (line.startsWith('[') && line.endsWith(']')) { + inDataSet = line.toLowerCase() === '[userdataset]'; + continue; + } + + if (!inDataSet) { + continue; + } + + const separator = line.indexOf('='); + + if ( + separator === -1 || + line.slice(0, separator).trim().toLowerCase() !== 'userdatasavepath' + ) { + continue; + } + + const value = line.slice(separator + 1).trim(); + + if (value.length === 0) { + return null; + } + + // The ini always holds Windows paths, so resolve them with the win32 + // flavor wherever this runs. + return path.win32.basename(value).toLowerCase() === 'tencent files' + ? value + : path.win32.join(value, 'Tencent Files'); + } + + return null; +} diff --git a/packages/bridge/src/qq-account/sqlcipher.ts b/packages/bridge/src/qq-account/sqlcipher.ts new file mode 100644 index 00000000..0709c3fd --- /dev/null +++ b/packages/bridge/src/qq-account/sqlcipher.ts @@ -0,0 +1,461 @@ +/** + * SQLCipher v4 page decryption for QQ NT's local databases. + * + * QQ NT stores every database under `nt_db/` as a SQLCipher v4 stream behind a + * 1024-byte client header: + * + * [ 1024-byte client header ][ page 1 ][ page 2 ] ... + * ^ KDF salt = first 16 bytes of page 1 + * + * Each page ends with `IV (16 bytes) || page HMAC`, rounded up to the AES block + * size; the page size is 4096 on every database QQ writes. Page 1's ciphertext + * starts after its 16-byte salt, which replaces the plaintext "SQLite format 3" + * magic — so the decrypted body of page 1 starts at page offset 16 and can never + * contain that magic. A candidate key is therefore confirmed by recomputing the + * page HMAC over the *ciphertext*, which is independent of the AES pass. + * + * The page-HMAC and KDF-HMAC algorithms are not fixed across client builds, so + * they are probed per database (12 combinations) instead of assumed. + */ + +import { createDecipheriv, createHmac, pbkdf2Sync } from 'node:crypto'; + +/** QQ NT prepends this many bytes before the SQLCipher stream. */ +export const DATABASE_HEADER_SIZE = 1024; + +const PAGE_SIZE = 4096; +const SALT_SIZE = 16; +const IV_SIZE = 16; +const KEY_SIZE = 32; + +/** SQLCipher v4 derives the AES key with this many PBKDF2 iterations. */ +const KDF_ITERATIONS = 4000; +/** The per-page HMAC key uses a fast derivation over the page salt. */ +const HMAC_KEY_ITERATIONS = 2; +/** SQLCipher's HMAC salt is the page salt XOR this mask. */ +const HMAC_SALT_MASK = 0x3a; + +const WAL_HEADER_SIZE = 32; +const WAL_FRAME_HEADER_SIZE = 24; + +const SQLITE_MAGIC = Buffer.from('SQLite format 3\0', 'latin1'); + +export type PageHmacAlgorithm = 'none' | 'sha1' | 'sha256' | 'sha512'; +export type KdfHmacAlgorithm = 'sha1' | 'sha256' | 'sha512'; + +/** One SQLCipher algorithm pair, as probed against a database's page 1. */ +export interface SqlcipherAlgorithm { + pageHmac: PageHmacAlgorithm; + kdfHmac: KdfHmacAlgorithm; +} + +/** Every pair to probe, in order: `cipher_use_hmac = OFF` first, then each digest. */ +const PAGE_HMAC_ALGORITHMS: readonly PageHmacAlgorithm[] = ['none', 'sha1', 'sha256', 'sha512']; +const KDF_HMAC_ALGORITHMS: readonly KdfHmacAlgorithm[] = ['sha1', 'sha256', 'sha512']; + +const PAGE_HMAC_DIGEST_BYTES: Record = { + none: 0, + sha1: 20, + sha256: 32, + sha512: 64, +}; + +/** A database image decrypted from disk, with its `-wal` frames folded in. */ +export interface DecryptedDatabase { + /** A self-contained plaintext SQLite image (rollback-journal mode). */ + image: Buffer; + /** Frames folded in from the `-wal` sidecar, 0 when there was nothing to merge. */ + walFrames: number; +} + +/** + * Probe the algorithm pair of an encrypted database. + * + * Returns null when the page-1 HMAC matches no combination under `passphrase`, + * which means either the passphrase or the file layout is not what we expect. + */ +export function detectAlgorithm(image: Buffer, passphrase: string): SqlcipherAlgorithm | null { + const pageOne = readPageOne(image); + + if (!pageOne) { + return null; + } + + const salt = pageOne.subarray(0, SALT_SIZE); + + for (const pageHmac of PAGE_HMAC_ALGORITHMS) { + for (const kdfHmac of KDF_HMAC_ALGORITHMS) { + const algorithm: SqlcipherAlgorithm = { pageHmac, kdfHmac }; + const key = deriveKey(passphrase, salt, kdfHmac); + + if (verifyPageOne(pageOne, key, algorithm)) { + return algorithm; + } + } + } + + return null; +} + +/** + * Decrypt a whole database and fold in the `-wal` sidecar when there is one. + * + * QQ keeps a long-lived WAL, so everything committed since the last checkpoint + * — including an account that just signed in — lives only in the sidecar. + * Returns null when the image cannot be decrypted. + */ +export function decryptDatabase( + image: Buffer, + wal: Buffer | null, + passphrase: string, + algorithm: SqlcipherAlgorithm, +): DecryptedDatabase | null { + const pageOne = readPageOne(image); + + if (!pageOne) { + return null; + } + + const key = deriveKey(passphrase, pageOne.subarray(0, SALT_SIZE), algorithm.kdfHmac); + const base = decryptPages(image, key, algorithm); + + if (!base) { + return null; + } + + const merged = applyWal(base, wal, key, algorithm); + normalizeImage(merged.image); + return merged; +} + +/** Page 1 as stored, or null when the file is too short to hold a header + page 1. */ +function readPageOne(image: Buffer): Buffer | null { + if (image.length < DATABASE_HEADER_SIZE + PAGE_SIZE) { + return null; + } + + return image.subarray(DATABASE_HEADER_SIZE, DATABASE_HEADER_SIZE + PAGE_SIZE); +} + +/** Per-page reserve = IV + page HMAC digest, rounded up to the AES block size. */ +function reserveBytes(algorithm: SqlcipherAlgorithm): number { + const digestBytes = PAGE_HMAC_DIGEST_BYTES[algorithm.pageHmac]; + return Math.ceil((IV_SIZE + digestBytes) / 16) * 16; +} + +function deriveKey(passphrase: string, salt: Buffer, kdfHmac: KdfHmacAlgorithm): Buffer { + return pbkdf2Sync(passphrase, salt, KDF_ITERATIONS, KEY_SIZE, kdfHmac); +} + +/** + * Confirm a candidate key against page 1. + * + * With the page HMAC enabled the check runs over the stored ciphertext, exactly + * like SQLCipher's own verification. With HMAC off there is nothing to verify on + * the ciphertext, so page 1 is decrypted and the SQLite header fields that live + * past the salt-occupied first 16 bytes are checked instead. + */ +function verifyPageOne(pageOne: Buffer, key: Buffer, algorithm: SqlcipherAlgorithm): boolean { + const reserve = reserveBytes(algorithm); + const digestBytes = PAGE_HMAC_DIGEST_BYTES[algorithm.pageHmac]; + + if (digestBytes === 0) { + const body = decryptPageBody(pageOne, key, SALT_SIZE, reserve); + return body !== null && hasSqliteHeaderFields(body); + } + + const hmacSalt = Buffer.alloc(SALT_SIZE); + + for (let index = 0; index < SALT_SIZE; index++) { + hmacSalt[index] = pageOne[index] ^ HMAC_SALT_MASK; + } + + const hmacKey = pbkdf2Sync(key, hmacSalt, HMAC_KEY_ITERATIONS, KEY_SIZE, algorithm.kdfHmac); + const bodyEnd = PAGE_SIZE - reserve; + const pageNumber = Buffer.alloc(4); + pageNumber.writeUInt32LE(1); + const input = Buffer.concat([ + pageOne.subarray(SALT_SIZE, bodyEnd), + pageOne.subarray(bodyEnd, bodyEnd + IV_SIZE), + pageNumber, + ]); + const computed = createHmac(algorithm.pageHmac, hmacKey).update(input).digest(); + const stored = pageOne.subarray(bodyEnd + IV_SIZE, bodyEnd + IV_SIZE + digestBytes); + return equalsBytes(computed, stored); +} + +/** The decrypted page-1 body starts at file offset 16 (the salt replaces 0..16). */ +function hasSqliteHeaderFields(body: Buffer): boolean { + if (body.length < 8) { + return false; + } + + const pageSize = body.readUInt16BE(0); + const pageSizeOk = pageSize === 1 || (pageSize >= 512 && (pageSize & (pageSize - 1)) === 0); + return pageSizeOk && body[5] === 64 && body[6] === 32 && body[7] === 32; +} + +function equalsBytes(left: Buffer, right: Buffer): boolean { + if (left.length !== right.length) { + return false; + } + + let diff = 0; + + for (let index = 0; index < left.length; index++) { + diff |= left[index]! ^ right[index]!; + } + + return diff === 0; +} + +/** + * Decrypt every page of the main file, in place on a fresh buffer. + * + * `skip` drops the salt prefix of page 1; the reserve region of each page is + * left zeroed, which is how SQLCipher lays the plaintext out. + */ +function decryptPages(image: Buffer, key: Buffer, algorithm: SqlcipherAlgorithm): Buffer | null { + const stream = image.subarray(DATABASE_HEADER_SIZE); + const pageCount = Math.floor(stream.length / PAGE_SIZE); + + if (pageCount === 0) { + return null; + } + + const reserve = reserveBytes(algorithm); + const plain = Buffer.alloc(pageCount * PAGE_SIZE); + + for (let index = 0; index < pageCount; index++) { + const pageNumber = index + 1; + const page = stream.subarray(index * PAGE_SIZE, (index + 1) * PAGE_SIZE); + const body = decryptPageBody(page, key, pageNumber === 1 ? SALT_SIZE : 0, reserve); + + if (body === null) { + return null; + } + + writePlaintextPage(plain, index * PAGE_SIZE, pageNumber, body); + } + + return plain; +} + +/** Decrypt one page body, or null when the page cannot hold an IV + digest. */ +function decryptPageBody(page: Buffer, key: Buffer, skip: number, reserve: number): Buffer | null { + const cipherLength = PAGE_SIZE - skip - reserve; + + if (cipherLength <= 0) { + return null; + } + + const ciphertext = page.subarray(skip, skip + cipherLength); + const iv = page.subarray(skip + cipherLength, skip + cipherLength + IV_SIZE); + const decipher = createDecipheriv('aes-256-cbc', key, iv); + decipher.setAutoPadding(false); + return Buffer.concat([decipher.update(ciphertext), decipher.final()]); +} + +/** + * Write one decrypted page into the plaintext image. + * + * Page 1 is special in both the main file and the WAL: its first 16 on-disk + * bytes hold the KDF salt in place of SQLite's magic, so the magic and the + * page-size field have to be restored. Every other page's body starts at offset + * 0 of the page. + */ +function writePlaintextPage(image: Buffer, offset: number, pageNumber: number, body: Buffer): void { + if (pageNumber !== 1) { + body.copy(image, offset, 0, Math.min(body.length, PAGE_SIZE)); + return; + } + + SQLITE_MAGIC.copy(image, offset); + body.copy(image, offset + SALT_SIZE, 0, Math.min(body.length, PAGE_SIZE - SALT_SIZE)); + image.writeUInt16BE(PAGE_SIZE, offset + 16); +} + +/** + * Fold the `-wal` sidecar into a decrypted image and return the frame count. + * + * A WAL is not wrapped in SQLCipher's envelope the way the main file is: its + * 32-byte header and every 24-byte frame header stay plaintext, and each frame + * carries one encrypted page (page 1 keeping its salt prefix). SQLite's frame + * checksums are computed over the frames *as stored*, i.e. over the ciphertext, + * which is why the intact prefix is established before any decryption. + * + * Only frames up to the last commit are applied, and the database size recorded + * by that commit decides how many pages the merged image has — a torn tail from + * a running QQ therefore contributes nothing. + */ +function applyWal( + base: Buffer, + wal: Buffer | null, + key: Buffer, + algorithm: SqlcipherAlgorithm, +): DecryptedDatabase { + const log = wal === null ? null : parseWal(wal); + + if (!log || log.frames.length === 0) { + return { image: base, walFrames: 0 }; + } + + let lastCommit = -1; + + for (let index = 0; index < log.frames.length; index++) { + if (log.frames[index]!.commitSize !== 0) { + lastCommit = index; + } + } + + if (lastCommit < 0) { + return { image: base, walFrames: 0 }; + } + + const pageCount = log.frames[lastCommit]!.commitSize; + const basePageCount = base.length / PAGE_SIZE; + + // A commit can only grow the database by the pages its own log carries, so + // anything past that bound is a corrupt frame header rather than a size. + if (pageCount < 1 || pageCount > basePageCount + log.frames.length) { + return { image: base, walFrames: 0 }; + } + + const merged = Buffer.alloc(pageCount * PAGE_SIZE); + base.copy(merged, 0, 0, Math.min(base.length, merged.length)); + const reserve = reserveBytes(algorithm); + + for (let index = 0; index <= lastCommit; index++) { + const frame = log.frames[index]!; + + if (frame.pageNumber === 0 || frame.pageNumber > pageCount) { + continue; + } + + const page = wal!.subarray(frame.offset, frame.offset + PAGE_SIZE); + const body = decryptPageBody(page, key, frame.pageNumber === 1 ? SALT_SIZE : 0, reserve); + + if (body === null) { + return { image: base, walFrames: 0 }; + } + + writePlaintextPage(merged, (frame.pageNumber - 1) * PAGE_SIZE, frame.pageNumber, body); + } + + return { image: merged, walFrames: lastCommit + 1 }; +} + +interface WalFrame { + pageNumber: number; + /** Database size in pages recorded by a commit frame, 0 for a non-commit frame. */ + commitSize: number; + /** Offset of the frame's page inside the `-wal` buffer. */ + offset: number; +} + +interface WalLog { + frames: WalFrame[]; + littleEndian: boolean; +} + +/** + * Validate a `-wal` buffer and collect its intact frames. + * + * Validation stops at the first frame whose checksum does not continue the + * chain, mirroring SQLite's own recovery: everything after that frame is either + * half-written or belongs to an aborted transaction. + */ +function parseWal(wal: Buffer): WalLog | null { + if (wal.length < WAL_HEADER_SIZE + WAL_FRAME_HEADER_SIZE + PAGE_SIZE) { + return null; + } + + const magic = wal.readUInt32BE(0); + const littleEndian = magic === 0x377f0682 ? true : magic === 0x377f0683 ? false : null; + + if (littleEndian === null || wal.readUInt32BE(8) !== PAGE_SIZE) { + return null; + } + + // The header checksum covers its first 24 bytes; magic and page size are + // excluded from the checksummed range by that length. + const header = walChecksum([0, 0], [wal.subarray(0, WAL_HEADER_SIZE - 8)], littleEndian); + + if (header[0] !== wal.readUInt32BE(24) || header[1] !== wal.readUInt32BE(28)) { + return null; + } + + const frameSize = WAL_FRAME_HEADER_SIZE + PAGE_SIZE; + const frames: WalFrame[] = []; + let running = header; + + for (let offset = WAL_HEADER_SIZE; offset + frameSize <= wal.length; offset += frameSize) { + const frameHeader = wal.subarray(offset, offset + WAL_FRAME_HEADER_SIZE); + const page = wal.subarray(offset + WAL_FRAME_HEADER_SIZE, offset + frameSize); + running = walChecksum(running, [frameHeader.subarray(0, 8), page], littleEndian); + + if ( + running[0] !== frameHeader.readUInt32BE(16) || + running[1] !== frameHeader.readUInt32BE(20) + ) { + break; + } + + frames.push({ + pageNumber: frameHeader.readUInt32BE(0), + commitSize: frameHeader.readUInt32BE(4), + offset: offset + WAL_FRAME_HEADER_SIZE, + }); + } + + return { frames, littleEndian }; +} + +/** + * SQLite's rolling WAL checksum: two 32-bit accumulators advanced over 8-byte + * word pairs. The byte order is fixed by the WAL magic (`0x377f0682` = + * little-endian words, `0x377f0683` = big-endian) and is unrelated to the + * host's byte order. + * + * Every chunk fed in here is a multiple of 8 bytes: the header contributes 24 + * bytes, a frame its first 8 header bytes plus a whole page. + */ +function walChecksum( + seed: [number, number], + chunks: readonly Buffer[], + littleEndian: boolean, +): [number, number] { + let first = seed[0]; + let second = seed[1]; + + for (const chunk of chunks) { + for (let offset = 0; offset + 8 <= chunk.length; offset += 8) { + const high = littleEndian ? chunk.readUInt32LE(offset) : chunk.readUInt32BE(offset); + const low = littleEndian + ? chunk.readUInt32LE(offset + 4) + : chunk.readUInt32BE(offset + 4); + first = (first + high + second) >>> 0; + second = (second + low + first) >>> 0; + } + } + + return [first, second]; +} + +/** + * Make the assembled image self-consistent before it is handed to SQLite. + * + * The merge can add or remove pages relative to the base image, and the header + * fields that describe the database are only trusted while page 1's change + * counter and version-valid-for agree. The write/read version bytes are reset + * to the legacy journal so the image can be opened read-only without needing a + * `-wal`/`-shm` pair next to it. + */ +function normalizeImage(image: Buffer): void { + const pageCount = image.length / PAGE_SIZE; + const changeCounter = image.readUInt32BE(24); + image[18] = 1; + image[19] = 1; + image.writeUInt32BE(pageCount, 28); + image.writeUInt32BE(changeCounter, 92); +} diff --git a/packages/bridge/src/qq-account/watch.ts b/packages/bridge/src/qq-account/watch.ts new file mode 100644 index 00000000..cb77cb7f --- /dev/null +++ b/packages/bridge/src/qq-account/watch.ts @@ -0,0 +1,115 @@ +import { errorMessage } from '@snowluma/common/errors'; +import { createLogger, type Logger } from '@snowluma/common/logger'; +import { watch, type FSWatcher } from 'node:fs'; +import path from 'node:path'; +import { loginDbPaths, qqDataRootsForPid } from './paths'; + +export function watchAccountChangesForPids( + pids: readonly number[], + onChange: () => void, + log: Logger = createLogger('QqAccount'), +): () => void { + const roots = new Set(); + + for (const pid of pids) { + try { + for (const root of qqDataRootsForPid(pid)) { + roots.add(root); + } + } catch (error) { + log.warn('account watch root failed: PID=%d err=%s', pid, errorMessage(error)); + } + } + + return watchAccountFiles([...roots].flatMap(loginDbPaths), onChange, log); +} + +/** Watch directories so replacing login.db or recreating its WAL keeps working. */ +export function watchAccountFiles( + dbPaths: readonly string[], + onChange: () => void, + log: Logger = createLogger('QqAccount'), +): () => void { + const watchers = new Map(); + let timer: NodeJS.Timeout | undefined; + + const changed = () => { + clearTimeout(timer); + timer = setTimeout(() => { + timer = undefined; + onChange(); + }, 250); + timer.unref(); + }; + + const observe = (dbPath: string) => { + watchers.get(dbPath)?.close(); + watchers.delete(dbPath); + const dbDirectory = path.dirname(dbPath); + let directory = dbDirectory; + + for (;;) { + const target = path.relative(directory, dbPath).split(path.sep)[0]!; + + try { + const watcher = watch(directory, { persistent: false }, (_event, filename) => { + if ( + watchers.get(dbPath) !== watcher || + (filename !== null && + filename !== target && + !(directory === dbDirectory && filename === `${target}-wal`)) + ) { + return; + } + + // QQ may create its data directories after process discovery. + if (directory !== dbDirectory) { + observe(dbPath); + } + + changed(); + }); + watcher.on('error', (error) => { + if (watchers.get(dbPath) !== watcher) { + return; + } + + watcher.close(); + watchers.delete(dbPath); + log.warn('account watch failed: path=%s err=%s', dbPath, errorMessage(error)); + }); + watchers.set(dbPath, watcher); + return; + } catch (error) { + const parent = path.dirname(directory); + + if ( + error instanceof Error && + 'code' in error && + error.code === 'ENOENT' && + parent !== directory + ) { + directory = parent; + continue; + } + + log.warn('account watch failed: path=%s err=%s', dbPath, errorMessage(error)); + return; + } + } + }; + + for (const dbPath of new Set(dbPaths)) { + observe(dbPath); + } + + return () => { + clearTimeout(timer); + + for (const watcher of watchers.values()) { + watcher.close(); + } + + watchers.clear(); + }; +} diff --git a/packages/bridge/src/qq-hook-client.ts b/packages/bridge/src/qq-hook-client.ts new file mode 100644 index 00000000..0062b388 --- /dev/null +++ b/packages/bridge/src/qq-hook-client.ts @@ -0,0 +1,1480 @@ +import { EventEmitter } from 'events'; +import { + createLogger, + renderTraceBytes, + runWithoutRequestContext, + runWithTraceRequest, +} from '@snowluma/common/logger'; +import { renderParamsVerbose } from '@snowluma/common/log-summary'; +import { isRealUin } from '@snowluma/common/uin'; +import { CLIENT_MESSAGE_RECEIPT_CMD } from '@snowluma/common/protocol-types'; +import { readdirSync, promises as fs } from 'fs'; +import net from 'net'; +import path from 'path'; +import { positiveIntEnv } from '@snowluma/common/env'; +import { resolveHookRuntimeDir } from './hook-runtime-dir'; + +export const PIPE_MAGIC = 0x31504851; +export const PIPE_VERSION = 1; +export const HEADER_SIZE = 40; +// Keep these byte limits in lockstep with nnphook's pipe_protocol.hpp. The +// native readers already enforce them; mirroring them here prevents the JS +// endpoint from buffering frames that the peer can never accept. +export const MAX_PIPE_CMD_BYTES = 4096; +export const MAX_PIPE_MSG_BYTES = 65536; +export const MAX_PIPE_BODY_BYTES = 16 * 1024 * 1024; +export const DEFAULT_ACK_TIMEOUT_MS = 5000; +export const DEFAULT_REPLY_TIMEOUT_MS = 30000; +export const PIPE_STATUS_CONNECTION_UNAVAILABLE = -39; +const DEFAULT_PIPE_PROBE_TIMEOUT_MS = 250; +const packetLog = createLogger('QQHook.Packet'); +const runtimeLog = createLogger('QQHook.Runtime'); + +export enum PipeOp { + hello = 1, + sendRequest = 2, + sendAck = 3, + sendReply = 4, + error = 5, + recvPacket = 6, + loginState = 7, + loginIdentityHint = 17, + clientMessageReceipt = 21, + clientMessageState = 22, +} + +const PipeFlagWantReply = 1 << 0; +const PipeFlagLoggedIn = 1 << 2; + +export interface QqHookLoginState { + loggedIn: boolean; + uin: string; + uinNumber: bigint; +} + +export interface QqHookPacket { + seq: number; + error: number; + cmd: string; + uin: string; + body: Buffer; + source?: 'client-message'; +} + +export interface QqHookHello { + pipeName: string; + pid: number; + recvPipe: boolean; +} + +export interface QqHookSendReply { + requestId: number; + error: number; + message: string; + body: Buffer; +} + +export interface QqHookClientOptions { + ackTimeoutMs?: number; + replyTimeoutMs?: number; + runtimeDir?: string; +} + +export interface QqHookSendOptions { + wantReply?: boolean; + ackTimeoutMs?: number; + replyTimeoutMs?: number; +} + +interface PipeFrame { + op: number; + requestId: number; + status: number; + flags: number; + value0: bigint; + cmd: string; + msg: string; + body: Buffer; +} + +interface Deferred { + promise: Promise; + resolve: (value: T | PromiseLike) => void; + reject: (reason?: unknown) => void; +} + +interface PendingAck { + resolve: (value: { requestId: number; wantReply: boolean }) => void; + reject: (reason?: unknown) => void; + wantReply: boolean; +} + +function isMissingDirectoryError(error: unknown): boolean { + const code = (error as NodeJS.ErrnoException | undefined)?.code; + return code === 'ENOENT' || code === 'ENOTDIR'; +} + +function isUnavailableSocketError(error: unknown): boolean { + const code = (error as NodeJS.ErrnoException | undefined)?.code; + return ( + code === 'ENOENT' || + code === 'ENOTDIR' || + code === 'ENOTSOCK' || + code === 'ECONNREFUSED' || + code === 'ECONNRESET' + ); +} + +/** + * Sync directory scan for `mojo..control.sock` socket files in the + * runtime dir, returning the pid set. Used by the darwin path of + * `listHookProcesses()` — on macOS the DYLD_INSERT injection model means + * there is no native enumerate-QQ-processes addon; the existence of our + * dylib's listener socket IS the proof that a QQ process is hooked. The + * sync variant is needed because the watcher's `listProcesses` dep is sync. + * + * Mirrors `listLiveLinuxPipePids` (the async + connectable-probe variant) + * but skips the connectable probe — the existence of the socket file is + * sufficient signal for "process exists with our dylib mapped". The async + * variant still gates the subsequent `pipe-up` emit via a real connect. + */ +export function listSnowlumaPipePidsSync(runtimeDir = resolveHookRuntimeDir()): Set { + const result = new Set(); + let names: string[]; + + try { + names = readdirSync(runtimeDir); + } catch (error) { + if (isMissingDirectoryError(error)) { + return result; + } + + throw error; + } + + for (const name of names) { + const m = /^mojo\.(\d+)\.control\.sock$/i.exec(name); + + if (!m) { + continue; + } + + const pid = Number(m[1]); + + if (Number.isInteger(pid) && pid > 0) { + result.add(pid); + } + } + + return result; +} + +function mojoPipeName( + pid: number, + suffix: string, + runtimeDir = resolveHookRuntimeDir(pid), +): string { + if (process.platform === 'win32') { + return `\\\\.\\pipe\\mojo.${pid}.${suffix}`; + } + + return path.join(runtimeDir, `mojo.${pid}.${suffix}.sock`); +} + +type LinuxPipeProbe = (socketPath: string) => Promise; + +async function isConnectableUnixSocket(socketPath: string): Promise { + try { + const stat = await fs.stat(socketPath); + + if (!stat.isSocket()) { + return false; + } + } catch (error) { + if (isUnavailableSocketError(error)) { + return false; + } + + throw error; + } + + return new Promise((resolve, reject) => { + let socket: net.Socket; + + try { + socket = net.createConnection(socketPath); + } catch (error) { + if (isUnavailableSocketError(error)) { + resolve(false); + } else { + reject(error); + } + + return; + } + + let done = false; + let timer: NodeJS.Timeout; + + const finish = (ok: boolean) => { + if (done) { + return; + } + + done = true; + clearTimeout(timer); + socket.removeAllListeners(); + socket.destroy(); + resolve(ok); + }; + + timer = setTimeout(() => finish(false), DEFAULT_PIPE_PROBE_TIMEOUT_MS); + socket.once('connect', () => finish(true)); + socket.once('error', (error) => { + if (isUnavailableSocketError(error)) { + finish(false); + } else { + if (done) { + return; + } + + done = true; + clearTimeout(timer); + socket.removeAllListeners(); + socket.destroy(); + reject(error); + } + }); + }); +} + +export async function listLiveLinuxPipePids( + runtimeDir = resolveHookRuntimeDir(), + probe: LinuxPipeProbe = isConnectableUnixSocket, +): Promise> { + const result = new Set(); + let names: string[]; + + try { + names = await fs.readdir(runtimeDir); + } catch (error) { + if (isMissingDirectoryError(error)) { + return result; + } + + throw error; + } + + await Promise.all( + names.map(async (name) => { + const m = /^mojo\.(\d+)\.control\.sock$/.exec(name); + + if (!m) { + return; + } + + const pid = Number(m[1]); + + if (!Number.isInteger(pid) || pid <= 0) { + return; + } + + if (await probe(path.join(runtimeDir, name))) { + result.add(pid); + } + }), + ); + + return result; +} + +function toBuffer(body: Buffer | Uint8Array | string | null | undefined): Buffer { + if (Buffer.isBuffer(body)) { + return body; + } + + if (body instanceof Uint8Array) { + return Buffer.from(body); + } + + if (typeof body === 'string') { + return Buffer.from(body, 'utf8'); + } + + if (body == null) { + return Buffer.alloc(0); + } + + throw new TypeError('body must be Buffer, Uint8Array, string, or null'); +} + +function createDeferred(): Deferred { + let resolve!: (value: T | PromiseLike) => void; + let reject!: (reason?: unknown) => void; + const promise = new Promise((res, rej) => { + resolve = res; + reject = rej; + }); + return { promise, resolve, reject }; +} + +class OperationTimeoutError extends Error { + constructor( + readonly label: string, + timeoutMs: number, + ) { + super(`${label} timed out after ${timeoutMs} ms`); + this.name = 'OperationTimeoutError'; + } +} + +function withTimeout(promise: Promise, timeoutMs: number, label: string): Promise { + if (!timeoutMs || timeoutMs <= 0) { + return promise; + } + + return new Promise((resolve, reject) => { + const timer = setTimeout(() => { + reject(new OperationTimeoutError(label, timeoutMs)); + }, timeoutMs); + promise.then( + (value) => { + clearTimeout(timer); + resolve(value); + }, + (error) => { + clearTimeout(timer); + reject(error); + }, + ); + }); +} + +export class HookPipeRequestError extends Error { + constructor( + message: string, + readonly status: number, + readonly requestId: number, + ) { + super(message); + this.name = 'HookPipeRequestError'; + } +} + +function packetFailureReason( + error: unknown, + requestId: number, +): 'ack_timeout' | 'reply_timeout' | 'request_failed' | 'transport_failure' { + if (error instanceof HookPipeRequestError) { + return 'request_failed'; + } + + if (error instanceof OperationTimeoutError) { + if (error.label === `send ack ${requestId}`) { + return 'ack_timeout'; + } + + if (error.label === `send reply ${requestId}`) { + return 'reply_timeout'; + } + } + + return 'transport_failure'; +} + +function encodeFrame({ + op, + requestId = 0, + status = 0, + flags = 0, + value0 = 0n, + cmd = '', + msg = '', + body = Buffer.alloc(0), +}: { + op: number; + requestId?: number; + status?: number; + flags?: number; + value0?: bigint | number; + cmd?: string; + msg?: string; + body?: Buffer | Uint8Array | string | null; +}): Buffer { + const cmdBuf = Buffer.from(cmd, 'utf8'); + const msgBuf = Buffer.from(msg, 'utf8'); + const bodyBuf = toBuffer(body); + validatePipeFrameLengths(cmdBuf.length, msgBuf.length, bodyBuf.length); + const header = Buffer.alloc(HEADER_SIZE); + header.writeUInt32LE(PIPE_MAGIC, 0); + header.writeUInt16LE(PIPE_VERSION, 4); + header.writeUInt16LE(op, 6); + header.writeUInt32LE(requestId >>> 0, 8); + header.writeInt32LE(status | 0, 12); + header.writeUInt32LE(flags >>> 0, 16); + header.writeUInt32LE(cmdBuf.length >>> 0, 20); + header.writeUInt32LE(msgBuf.length >>> 0, 24); + header.writeUInt32LE(bodyBuf.length >>> 0, 28); + header.writeBigUInt64LE(BigInt(value0), 32); + return Buffer.concat([header, cmdBuf, msgBuf, bodyBuf]); +} + +function validatePipeFrameLengths(cmdLen: number, msgLen: number, bodyLen: number): void { + const lengths = [ + ['command', cmdLen, MAX_PIPE_CMD_BYTES], + ['message', msgLen, MAX_PIPE_MSG_BYTES], + ['body', bodyLen, MAX_PIPE_BODY_BYTES], + ] as const; + + for (const [name, length, limit] of lengths) { + if (length > limit) { + throw new Error(`pipe frame ${name} length ${length} exceeds limit ${limit}`); + } + } +} + +interface PendingPipeFrame { + op: number; + requestId: number; + status: number; + flags: number; + value0: bigint; + cmdLen: number; + msgLen: number; + bodyLen: number; + payload: Buffer; + received: number; +} + +class FrameReader { + private readonly header = Buffer.alloc(HEADER_SIZE); + private headerBytes = 0; + private pending: PendingPipeFrame | null = null; + + constructor(private readonly onFrame: (frame: PipeFrame) => void) {} + + push(chunk: Buffer): void { + let chunkOffset = 0; + + while (chunkOffset < chunk.length) { + if (!this.pending) { + const headerBytes = Math.min( + HEADER_SIZE - this.headerBytes, + chunk.length - chunkOffset, + ); + chunk.copy(this.header, this.headerBytes, chunkOffset, chunkOffset + headerBytes); + this.headerBytes += headerBytes; + chunkOffset += headerBytes; + + if (this.headerBytes < HEADER_SIZE) { + return; + } + + this.headerBytes = 0; + const magic = this.header.readUInt32LE(0); + const version = this.header.readUInt16LE(4); + + if (magic !== PIPE_MAGIC || version !== PIPE_VERSION) { + throw new Error( + `bad frame header magic=0x${magic.toString(16)} version=${version}`, + ); + } + + const cmdLen = this.header.readUInt32LE(20); + const msgLen = this.header.readUInt32LE(24); + const bodyLen = this.header.readUInt32LE(28); + validatePipeFrameLengths(cmdLen, msgLen, bodyLen); + const payloadLength = cmdLen + msgLen + bodyLen; + this.pending = { + op: this.header.readUInt16LE(6), + requestId: this.header.readUInt32LE(8), + status: this.header.readInt32LE(12), + flags: this.header.readUInt32LE(16), + value0: this.header.readBigUInt64LE(32), + cmdLen, + msgLen, + bodyLen, + payload: + payloadLength === 0 ? Buffer.alloc(0) : Buffer.allocUnsafe(payloadLength), + received: 0, + }; + } + + const pending = this.pending; + const payloadBytes = Math.min( + pending.payload.length - pending.received, + chunk.length - chunkOffset, + ); + + if (payloadBytes > 0) { + chunk.copy( + pending.payload, + pending.received, + chunkOffset, + chunkOffset + payloadBytes, + ); + pending.received += payloadBytes; + chunkOffset += payloadBytes; + } + + if (pending.received < pending.payload.length) { + return; + } + + this.pending = null; + const frame: PipeFrame = { + op: pending.op, + requestId: pending.requestId, + status: pending.status, + flags: pending.flags, + value0: pending.value0, + cmd: '', + msg: '', + body: Buffer.alloc(0), + }; + + let offset = 0; + frame.cmd = pending.payload.subarray(offset, offset + pending.cmdLen).toString('utf8'); + offset += pending.cmdLen; + frame.msg = pending.payload.subarray(offset, offset + pending.msgLen).toString('utf8'); + offset += pending.msgLen; + frame.body = Buffer.from(pending.payload.subarray(offset, offset + pending.bodyLen)); + this.onFrame(frame); + } + } +} + +export class QqHookClient extends EventEmitter { + private readonly connectingSockets = new Set(); + readonly pid: number; + readonly runtimeDir: string; + readonly defaultAckTimeoutMs: number; + readonly defaultReplyTimeoutMs: number; + + private controlSocket: net.Socket | null = null; + private recvSocket: net.Socket | null = null; + private controlConnectPromise: Promise | null = null; + private recvConnectPromise: Promise | null = null; + private nextRequestId = 1; + private pendingAcks = new Map(); + private pendingReplies = new Map>(); + private controlHello: QqHookHello | null = null; + private recvHello: QqHookHello | null = null; + private controlHelloResolver: Deferred | null = null; + private recvHelloResolver: Deferred | null = null; + private controlWriteChain: Promise = Promise.resolve(); + private closed = false; + private runtimeFailure: Error | null = null; + private loginState: QqHookLoginState = { loggedIn: false, uin: '0', uinNumber: 0n }; + private readonly loginWaiters = new Set>(); + + constructor( + pid: number, + { + ackTimeoutMs = positiveIntEnv('SNOWLUMA_HOOK_ACK_TIMEOUT_MS', DEFAULT_ACK_TIMEOUT_MS), + replyTimeoutMs = DEFAULT_REPLY_TIMEOUT_MS, + runtimeDir = resolveHookRuntimeDir(pid), + }: QqHookClientOptions = {}, + ) { + super(); + this.pid = pid; + this.runtimeDir = runtimeDir; + this.defaultAckTimeoutMs = ackTimeoutMs; + this.defaultReplyTimeoutMs = replyTimeoutMs; + } + + get isLoggedIn(): boolean { + return this.loginState.loggedIn; + } + + get isClosed(): boolean { + return this.closed; + } + + get currentUin(): string { + return this.loginState.uin; + } + + get currentUinNumber(): bigint { + return this.loginState.uinNumber; + } + + getLoginState(): QqHookLoginState { + return { ...this.loginState }; + } + + /** + * Forward an observed account identity for reconciliation. This does not + * change login state; readiness still requires peer confirmation. + */ + async reconcileLoginIdentity(uin: string): Promise { + if (!isRealUin(uin)) { + throw new Error(`invalid QQ login identity hint: ${JSON.stringify(uin)}`); + } + + await this.sendAckOnly(PipeOp.loginIdentityHint, BigInt(uin), 'login identity hint'); + } + + async waitForLogin({ timeoutMs = 0 } = {}): Promise { + await this.connect(); + this.assertUsable(); + + if (this.loginState.loggedIn) { + return this.getLoginState(); + } + + const deferred = createDeferred(); + this.loginWaiters.add(deferred); + + try { + return await withTimeout(deferred.promise, timeoutMs, 'waitForLogin'); + } finally { + this.loginWaiters.delete(deferred); + } + } + + static controlPipeName(pid: number, runtimeDir = resolveHookRuntimeDir(pid)): string { + return mojoPipeName(pid, 'control', runtimeDir); + } + + static recvPipeName(pid: number, runtimeDir = resolveHookRuntimeDir(pid)): string { + return mojoPipeName(pid, 'recv', runtimeDir); + } + + /** + * Lightweight liveness check for the control pipe. Used to detect whether an + * existing SnowLuma hook is still hosted inside the QQ.exe process without + * opening the pipe, so probing cannot disturb the first real client connect. + */ + static async probePipe(pid: number): Promise { + const live = await QqHookClient.listLivePipes([pid]); + return live.has(pid); + } + + /** + * Enumerate every PID currently hosting a SnowLuma `mojo..control` pipe + * in a single filesystem listing. The HookManager's pipe-watcher uses this + * to drive connect/reconnect decisions without per-PID stat calls. + */ + static async listLivePipes(pids: readonly number[] = []): Promise> { + const result = new Set(); + + if (process.platform === 'win32') { + const names = await fs.readdir('\\\\.\\pipe\\'); + + for (const name of names) { + const m = /^mojo\.(\d+)\.control$/i.exec(name); + + if (m) { + result.add(Number(m[1])); + } + } + } else { + const runtimeDirs = new Set(); + + if (pids.length === 0) { + runtimeDirs.add(resolveHookRuntimeDir()); + } else { + for (const pid of pids) { + runtimeDirs.add(resolveHookRuntimeDir(pid)); + } + } + + for (const runtimeDir of runtimeDirs) { + for (const pid of await listLiveLinuxPipePids(runtimeDir)) { + result.add(pid); + } + } + } + + return result; + } + + async connect(): Promise { + this.assertUsable(); + + if (this.controlSocket && this.controlHello) { + return this.controlHello; + } + + if (this.controlConnectPromise) { + return this.controlConnectPromise; + } + + this.controlConnectPromise = this.connectPipe('control'); + + try { + return await this.controlConnectPromise; + } finally { + this.controlConnectPromise = null; + } + } + + async startRecv(onPacket?: (packet: QqHookPacket) => void): Promise { + this.assertUsable(); + + if (typeof onPacket === 'function') { + this.on('packet', onPacket); + } + + if (this.recvSocket && this.recvHello) { + return this.recvHello; + } + + if (this.recvConnectPromise) { + return this.recvConnectPromise; + } + + this.recvConnectPromise = this.connectPipe('recv'); + + try { + return await this.recvConnectPromise; + } finally { + this.recvConnectPromise = null; + } + } + + async connectAll({ recv = true } = {}): Promise<{ + control: QqHookHello; + recv: QqHookHello | null; + }> { + const control = await this.connect(); + const recvInfo = recv ? await this.startRecv() : null; + return { control, recv: recvInfo }; + } + + send( + cmd: string, + body: Buffer | Uint8Array | string | null | undefined, + options?: QqHookSendOptions & { wantReply?: true }, + ): Promise; + send( + cmd: string, + body: Buffer | Uint8Array | string | null | undefined, + options: QqHookSendOptions & { wantReply: false }, + ): Promise<{ requestId: number }>; + send( + cmd: string, + body: Buffer | Uint8Array | string | null | undefined, + options?: QqHookSendOptions, + ): Promise; + async send( + cmd: string, + body: Buffer | Uint8Array | string | null | undefined, + { + wantReply = true, + ackTimeoutMs = this.defaultAckTimeoutMs, + replyTimeoutMs = this.defaultReplyTimeoutMs, + }: QqHookSendOptions = {}, + ): Promise { + await this.connect(); + + const requestId = this.allocateRequestId(); + const startedAt = Date.now(); + const bodyBytes = toBuffer(body); + const payload = encodeFrame({ + op: PipeOp.sendRequest, + requestId, + flags: wantReply ? PipeFlagWantReply : 0, + cmd, + body: bodyBytes, + }); + packetLog.trace(() => [ + 'packet_send serviceCmd=%j requestId=%d length=%d body=%s', + cmd, + requestId, + bodyBytes.length, + renderTraceBytes(bodyBytes), + ]); + + const ackDeferred = createDeferred<{ requestId: number; wantReply: boolean }>(); + // Always attach a handler so a rejection can never become "unhandled" (which + // crashes Node). When the pipe closes, rejectControlPending() rejects every + // pending deferred — but the reply is only `await`ed AFTER the ack, so if the + // ack fails first the reply promise is rejected with NO awaiter. The real + // `await` below still observes the value/rejection (a separate continuation). + ackDeferred.promise.catch(() => { + /* observed by the await, or harmless */ + }); + this.pendingAcks.set(requestId, { + resolve: ackDeferred.resolve, + reject: ackDeferred.reject, + wantReply, + }); + + let replyDeferred: Deferred | null = null; + + if (wantReply) { + replyDeferred = createDeferred(); + replyDeferred.promise.catch(() => { + /* see note above — prevents unhandled rejection */ + }); + this.pendingReplies.set(requestId, replyDeferred); + } + + try { + await this.writeControl(payload); + await withTimeout(ackDeferred.promise, ackTimeoutMs, `send ack ${requestId}`); + + if (!wantReply) { + packetLog.trace(() => [ + 'packet_terminal serviceCmd=%j requestId=%d outcome=ok reason=ack_received elapsedMs=%d', + cmd, + requestId, + Date.now() - startedAt, + ]); + return { requestId }; + } + + const reply = await withTimeout( + replyDeferred!.promise, + replyTimeoutMs, + `send reply ${requestId}`, + ); + packetLog.trace(() => [ + 'packet_recv serviceCmd=%j requestId=%d error=%d message=%j length=%d body=%s', + cmd, + requestId, + reply.error, + reply.message, + reply.body.length, + renderTraceBytes(reply.body), + ]); + packetLog.trace(() => [ + 'packet_terminal serviceCmd=%j requestId=%d outcome=%s reason=%s error=%d elapsedMs=%d', + cmd, + requestId, + reply.error === 0 ? 'ok' : 'failed', + reply.error === 0 ? 'reply_received' : 'reply_error', + reply.error, + Date.now() - startedAt, + ]); + return reply; + } catch (error) { + this.pendingAcks.delete(requestId); + this.pendingReplies.delete(requestId); + const reason = packetFailureReason(error, requestId); + packetLog.trace(() => [ + 'packet_terminal serviceCmd=%j requestId=%d outcome=%s reason=%s error=%j elapsedMs=%d', + cmd, + requestId, + reason.endsWith('_timeout') ? 'timeout' : 'failed', + reason, + error instanceof Error ? error.message : String(error), + Date.now() - startedAt, + ]); + throw error; + } + } + + async sendNoReply( + cmd: string, + body: Buffer | Uint8Array | string | null | undefined, + options: Omit = {}, + ): Promise<{ requestId: number }> { + return this.send(cmd, body, { ...options, wantReply: false }); + } + + async sendAndWait( + cmd: string, + body: Buffer | Uint8Array | string | null | undefined, + options: Omit = {}, + ): Promise { + return this.send(cmd, body, { ...options, wantReply: true }); + } + + async sendMany( + items: Array<{ + cmd: string; + body?: Buffer | Uint8Array | string | null; + wantReply?: boolean; + ackTimeoutMs?: number; + replyTimeoutMs?: number; + }>, + { + concurrency = 64, + wantReply = true, + ackTimeoutMs = this.defaultAckTimeoutMs, + replyTimeoutMs = this.defaultReplyTimeoutMs, + }: QqHookSendOptions & { concurrency?: number } = {}, + ): Promise> { + const results = new Array(items.length); + let nextIndex = 0; + const workerCount = Math.max(1, Math.min(concurrency | 0, items.length || 1)); + + const worker = async () => { + for (;;) { + const index = nextIndex; + nextIndex += 1; + + if (index >= items.length) { + return; + } + + const item = items[index]; + const itemWantReply = item.wantReply ?? wantReply; + results[index] = await this.send(item.cmd, item.body, { + wantReply: itemWantReply, + ackTimeoutMs: item.ackTimeoutMs ?? ackTimeoutMs, + replyTimeoutMs: item.replyTimeoutMs ?? replyTimeoutMs, + }); + } + }; + + await Promise.all(Array.from({ length: workerCount }, () => worker())); + return results; + } + + waitForPacket( + predicate: (packet: QqHookPacket) => boolean = () => true, + { timeoutMs = 0 } = {}, + ): Promise { + return new Promise((resolve, reject) => { + let timer: NodeJS.Timeout | null = null; + + const cleanup = () => { + this.off('packet', onPacket); + + if (timer) { + clearTimeout(timer); + timer = null; + } + }; + + const onPacket = (packet: QqHookPacket) => { + try { + if (!predicate(packet)) { + return; + } + + cleanup(); + resolve(packet); + } catch (error) { + cleanup(); + reject(error); + } + }; + + this.on('packet', onPacket); + + if (timeoutMs > 0) { + timer = setTimeout(() => { + cleanup(); + reject(new Error(`recv packet timed out after ${timeoutMs} ms`)); + }, timeoutMs); + } + }); + } + + close(): void { + if (this.closed) { + return; + } + + this.closed = true; + this.rejectControlPending(new Error('qq_hook client closed')); + this.rejectRecvPending(new Error('qq_hook client closed')); + this.rejectLoginWaiters(new Error('qq_hook client closed')); + + for (const socket of this.connectingSockets) { + socket.destroy(); + } + + this.connectingSockets.clear(); + + if (this.controlSocket) { + this.controlSocket.destroy(); + this.controlSocket = null; + } + + if (this.recvSocket) { + this.recvSocket.destroy(); + this.recvSocket = null; + } + + this.controlHello = null; + this.recvHello = null; + this.controlWriteChain = Promise.resolve(); + } + + private assertUsable(): void { + if (this.runtimeFailure) { + throw this.runtimeFailure; + } + + if (this.closed) { + throw new Error('qq_hook client is closed'); + } + } + + private rejectLoginWaiters(error: Error): void { + for (const waiter of this.loginWaiters) { + waiter.reject(error); + } + + this.loginWaiters.clear(); + } + + private rejectControlPending(error: Error): void { + for (const pending of this.pendingAcks.values()) { + pending.reject(error); + } + + for (const pending of this.pendingReplies.values()) { + pending.reject(error); + } + + this.pendingAcks.clear(); + this.pendingReplies.clear(); + + if (this.controlHelloResolver) { + this.controlHelloResolver.reject(error); + this.controlHelloResolver = null; + } + } + + private rejectRecvPending(error: Error): void { + if (this.recvHelloResolver) { + this.recvHelloResolver.reject(error); + this.recvHelloResolver = null; + } + } + + private writeControl(payload: Buffer): Promise { + const socket = this.controlSocket; + + if (!socket || socket.destroyed) { + return Promise.reject( + this.runtimeFailure ?? new Error('control pipe is not connected'), + ); + } + + const writePromise = this.controlWriteChain.then(() => { + this.assertUsable(); + + if (this.controlSocket !== socket || socket.destroyed) { + throw new Error('control pipe is not connected'); + } + + return new Promise((resolve, reject) => { + socket.write(payload, (error) => { + if (error) { + reject(error); + } else { + resolve(); + } + }); + }); + }); + this.controlWriteChain = writePromise.catch(() => {}); + return writePromise; + } + + private allocateRequestId(): number { + // Wrap inside uint32 explicitly. `nextRequestId++ >>> 0` would lose + // precision past Number.MAX_SAFE_INTEGER. Zero remains the wire sentinel. + let requestId = this.nextRequestId; + + while (this.pendingAcks.has(requestId) || this.pendingReplies.has(requestId)) { + requestId = (requestId + 1) >>> 0; + + if (requestId === 0) { + requestId = 1; + } + } + + this.nextRequestId = (requestId + 1) >>> 0; + + if (this.nextRequestId === 0) { + this.nextRequestId = 1; + } + + return requestId; + } + + private async sendAckOnly(op: PipeOp, value0: bigint, label: string): Promise { + await this.connect(); + const requestId = this.allocateRequestId(); + const ackDeferred = createDeferred<{ requestId: number; wantReply: boolean }>(); + ackDeferred.promise.catch(() => { + /* observed by the await below */ + }); + this.pendingAcks.set(requestId, { + resolve: ackDeferred.resolve, + reject: ackDeferred.reject, + wantReply: false, + }); + + try { + await this.writeControl(encodeFrame({ op, requestId, value0 })); + await withTimeout( + ackDeferred.promise, + this.defaultAckTimeoutMs, + `${label} ack ${requestId}`, + ); + return requestId; + } catch (error) { + this.pendingAcks.delete(requestId); + throw error; + } + } + + private async connectPipe(kind: 'control' | 'recv'): Promise { + return runWithTraceRequest(async () => { + const startedAt = Date.now(); + const pipeName = + kind === 'control' + ? QqHookClient.controlPipeName(this.pid, this.runtimeDir) + : QqHookClient.recvPipeName(this.pid, this.runtimeDir); + let phase: 'connect' | 'hello' = 'connect'; + runtimeLog.trace( + 'hook_pipe_start pid=%d kind=%s pipeName=%j', + this.pid, + kind, + pipeName, + ); + + try { + const socket = await runWithoutRequestContext(() => + this.connectSocket( + pipeName, + kind, + kind === 'control' + ? (frame) => this.handleControlFrame(frame) + : (frame) => this.handleRecvFrame(frame), + ), + ); + + if (this.closed || this.runtimeFailure) { + socket.destroy(); + this.assertUsable(); + } + + if (kind === 'control') { + this.controlSocket = socket; + } else { + this.recvSocket = socket; + } + + runtimeLog.trace( + 'hook_pipe_branch pid=%d kind=%s branch=socket_connected', + this.pid, + kind, + ); + phase = 'hello'; + const hello = await this.waitForHello(kind === 'recv'); + + this.assertUsable(); + + if (kind === 'control') { + this.controlHello = hello; + } else { + this.recvHello = hello; + } + + runtimeLog.trace(() => [ + 'hook_pipe_terminal pid=%d kind=%s outcome=completed reason=hello_received hello=%s elapsedMs=%d', + this.pid, + kind, + renderParamsVerbose(hello), + Date.now() - startedAt, + ]); + return hello; + } catch (error) { + runtimeLog.trace(() => [ + 'hook_pipe_terminal pid=%d kind=%s outcome=failed reason=%s error=%j elapsedMs=%d', + this.pid, + kind, + phase === 'connect' ? 'connect_failed' : 'hello_failed', + error instanceof Error ? error.message : String(error), + Date.now() - startedAt, + ]); + throw error; + } + }); + } + + private connectSocket( + pipeName: string, + kind: 'control' | 'recv', + onFrame: (frame: PipeFrame) => void, + ): Promise { + return new Promise((resolve, reject) => { + const socket = net.createConnection(pipeName); + this.connectingSockets.add(socket); + const reader = new FrameReader(onFrame); + const onInitialError = (error: Error) => reject(error); + + const onInitialClose = () => { + this.connectingSockets.delete(socket); + socket.off('connect', onConnect); + reject(new Error(`${kind} pipe closed before connecting`)); + }; + + const onConnect = () => { + this.connectingSockets.delete(socket); + socket.off('close', onInitialClose); + socket.off('error', onInitialError); + socket.on('data', (chunk) => { + try { + reader.push(chunk); + } catch (error) { + this.emit('error', error); + socket.destroy(); + } + }); + socket.on('error', (error) => { + this.emit('error', error); + }); + socket.on('close', () => { + runWithTraceRequest(() => { + this.handleSocketClose(kind); + this.emit('close', kind); + }); + }); + resolve(socket); + }; + + socket.once('error', onInitialError); + socket.once('close', onInitialClose); + socket.once('connect', onConnect); + }); + } + + private waitForHello(recvPipe: boolean): Promise { + const deferred = createDeferred(); + + if (recvPipe) { + this.recvHelloResolver = deferred; + } else { + this.controlHelloResolver = deferred; + } + + return deferred.promise; + } + + private resolveHello(frame: PipeFrame, recvPipe: boolean): void { + const resolver = recvPipe ? this.recvHelloResolver : this.controlHelloResolver; + + if (!resolver) { + return; + } + + if (recvPipe) { + this.recvHelloResolver = null; + } else { + this.controlHelloResolver = null; + } + + resolver.resolve({ + pipeName: frame.msg, + pid: Number(frame.value0), + recvPipe, + }); + } + + private handleSocketClose(kind: 'control' | 'recv'): void { + runtimeLog.trace( + 'hook_runtime_fact pid=%d event=pipe_closed kind=%s loggedIn=%s uin=%j', + this.pid, + kind, + this.loginState.loggedIn, + this.loginState.uin, + ); + + if (kind === 'control') { + this.controlSocket = null; + this.controlHello = null; + this.rejectControlPending(new Error('control pipe closed')); + return; + } + + this.recvSocket = null; + this.recvHello = null; + this.rejectRecvPending(new Error('recv pipe closed')); + } + + private applyLoginStateFrame(frame: PipeFrame): void { + const flaggedLoggedIn = (frame.flags & PipeFlagLoggedIn) !== 0; + const statusLoggedIn = frame.status !== 0; + const loggedIn = flaggedLoggedIn || statusLoggedIn; + const uinNumber = BigInt(frame.value0); + const uin = frame.msg || uinNumber.toString(); + this.applyLoginState({ loggedIn, uin, uinNumber }); + } + + private applyLoginState(next: QqHookLoginState): void { + const previous = this.loginState; + this.loginState = next; + + if (previous.loggedIn === next.loggedIn && previous.uin === next.uin) { + this.emit('loginState', next); + return; + } + + runWithTraceRequest(() => { + runtimeLog.trace( + 'hook_runtime_fact pid=%d event=login_state_changed previousLoggedIn=%s previousUin=%j loggedIn=%s uin=%j', + this.pid, + previous.loggedIn, + previous.uin, + next.loggedIn, + next.uin, + ); + this.emit('loginState', next); + + if (next.loggedIn) { + for (const waiter of this.loginWaiters) { + waiter.resolve({ ...next }); + } + + this.loginWaiters.clear(); + } + }); + } + + private handleControlFrame(frame: PipeFrame): void { + if (this.runtimeFailure) { + return; + } + + if (frame.op === PipeOp.hello) { + this.resolveHello(frame, false); + return; + } + + if (frame.op === PipeOp.loginState) { + this.applyLoginStateFrame(frame); + return; + } + + if (frame.op === PipeOp.sendAck) { + const pending = this.pendingAcks.get(frame.requestId); + + if (!pending) { + return; + } + + this.pendingAcks.delete(frame.requestId); + pending.resolve({ requestId: frame.requestId, wantReply: pending.wantReply }); + return; + } + + if (frame.op === PipeOp.sendReply) { + const pending = this.pendingReplies.get(frame.requestId); + + if (!pending) { + return; + } + + this.pendingReplies.delete(frame.requestId); + pending.resolve({ + requestId: frame.requestId, + error: frame.status, + message: frame.msg, + body: Buffer.from(frame.body), + }); + return; + } + + if (frame.op === PipeOp.error) { + const error = new HookPipeRequestError( + frame.msg || `pipe error ${frame.status}`, + frame.status, + frame.requestId, + ); + + if (frame.requestId === 0 && frame.cmd === 'runtime') { + this.runtimeFailure = error; + this.rejectControlPending(error); + this.rejectRecvPending(error); + this.rejectLoginWaiters(error); + this.emit('runtimeError', error); + return; + } + + const ack = this.pendingAcks.get(frame.requestId); + + if (ack) { + this.pendingAcks.delete(frame.requestId); + ack.reject(error); + } + + const reply = this.pendingReplies.get(frame.requestId); + + if (reply) { + this.pendingReplies.delete(frame.requestId); + reply.reject(error); + } + } + } + + private handleRecvFrame(frame: PipeFrame): void { + if (this.runtimeFailure) { + return; + } + + if (frame.op === PipeOp.hello) { + this.resolveHello(frame, true); + return; + } + + if (frame.op === PipeOp.loginState) { + this.applyLoginStateFrame(frame); + return; + } + + if (frame.op === PipeOp.clientMessageState) { + if (frame.status === 1) { + runtimeLog.debug('Client private-message reporting is available: PID=%d', this.pid); + } else { + runtimeLog.warn( + 'Client private-message reporting is unavailable: PID=%d status=%d%s', + this.pid, + frame.status, + frame.value0 === 0n ? '' : ` reason=${frame.value0}`, + ); + } + + return; + } + + if (frame.op === PipeOp.clientMessageReceipt) { + if ( + frame.cmd !== '' || + frame.requestId !== 0 || + frame.flags !== 0 || + frame.value0 <= 0n || + frame.value0 > BigInt(Number.MAX_SAFE_INTEGER) || + !isRealUin(frame.msg) + ) { + runtimeLog.warn('Invalid client message receipt: PID=%d', this.pid); + return; + } + + this.emit('packet', { + seq: Number(frame.value0), + error: frame.status, + cmd: CLIENT_MESSAGE_RECEIPT_CMD, + uin: frame.msg, + body: Buffer.from(frame.body), + source: 'client-message', + } satisfies QqHookPacket); + return; + } + + if (frame.op !== PipeOp.recvPacket) { + return; + } + + this.emit('packet', { + seq: Number(frame.value0), + error: frame.status, + cmd: frame.cmd, + uin: frame.msg, + body: Buffer.from(frame.body), + } satisfies QqHookPacket); + } +} + +export { mojoPipeName }; diff --git a/packages/bridge/src/runtime-integrity.ts b/packages/bridge/src/runtime-integrity.ts new file mode 100644 index 00000000..99df5905 --- /dev/null +++ b/packages/bridge/src/runtime-integrity.ts @@ -0,0 +1,121 @@ +import { getNativeHookAddon, getNativeHookLoadError } from './injector'; + +export interface IntegrityReadError { + status: 'error'; + operation: string; + code: number; +} + +export interface NativeRuntimeIntegrity { + pid: number; + executablePath: string | null; + process: { status: 'ok'; rid: number } | IntegrityReadError; + file: + | { + status: 'ok'; + label: { rid: number; inherited: boolean; policy: number } | null; + } + | IntegrityReadError; +} + +export type RuntimeIntegrity = + | { status: 'unsupported' } + | { status: 'unavailable'; error: string } + | ({ status: 'available' } & NativeRuntimeIntegrity); + +/** File labels can change after startup; only the actual token decides the warning. */ +export function hasLowProcessIntegrity(integrity: RuntimeIntegrity): boolean { + return ( + integrity.status === 'available' && + integrity.process.status === 'ok' && + integrity.process.rid < 8192 + ); +} + +function record(value: unknown): value is Record { + return typeof value === 'object' && value !== null; +} + +function uint32(value: unknown): value is number { + return ( + typeof value === 'number' && Number.isInteger(value) && value >= 0 && value <= 0xffff_ffff + ); +} + +function readError(value: Record): boolean { + return value.status === 'error' && typeof value.operation === 'string' && uint32(value.code); +} + +function isNativeRuntimeIntegrity(value: unknown): value is NativeRuntimeIntegrity { + if ( + !record(value) || + value.pid !== process.pid || + !(typeof value.executablePath === 'string' || value.executablePath === null) || + !record(value.process) || + !record(value.file) + ) { + return false; + } + + if (!( + readError(value.process) || + (value.process.status === 'ok' && uint32(value.process.rid)) + )) { + return false; + } + + const file = value.file; + return ( + readError(file) || + (file.status === 'ok' && + (file.label === null || + (record(file.label) && + uint32(file.label.rid) && + typeof file.label.inherited === 'boolean' && + uint32(file.label.policy)))) + ); +} + +let cached: Promise | undefined; + +/** One startup snapshot, shared by the startup log and the WebUI warning. */ +export function getRuntimeIntegrity(): Promise { + return (cached ??= readRuntimeIntegrity()); +} + +async function readRuntimeIntegrity(): Promise { + if (process.platform !== 'win32') { + return { status: 'unsupported' }; + } + + try { + const addon = getNativeHookAddon(); + + if (!addon) { + throw new Error(getNativeHookLoadError() ?? '原生组件不可用'); + } + + if (typeof addon.getRuntimeIntegrityAsync !== 'function') { + throw new Error('当前原生组件不支持完整性诊断,请更新原生组件'); + } + + const result = await addon.getRuntimeIntegrityAsync(); + + if (!isNativeRuntimeIntegrity(result)) { + throw new Error('原生完整性诊断返回了无效数据'); + } + + return { + status: 'available', + pid: result.pid, + executablePath: result.executablePath, + process: result.process, + file: result.file, + }; + } catch (error) { + return { + status: 'unavailable', + error: error instanceof Error ? error.message : String(error), + }; + } +} diff --git a/packages/bridge/src/types.ts b/packages/bridge/src/types.ts new file mode 100644 index 00000000..8f87ddde --- /dev/null +++ b/packages/bridge/src/types.ts @@ -0,0 +1,23 @@ +import type { HookProcessBaseInfo } from './injector'; + +export type HookProcessStatus = + 'available' | 'loading' | 'connecting' | 'loaded' | 'online' | 'error' | 'disconnected'; + +/** Account the QQ client is signed in as, as reported by its local data. */ +export interface HookProcessAccount { + uin: string; + nickname: string; +} + +/** Public-facing snapshot of a per-PID HookSession. */ +export interface HookProcessInfo extends HookProcessBaseInfo { + injected: boolean; + connected: boolean; + loggedIn: boolean; + uin: string; + status: HookProcessStatus; + error: string; + method: string; + /** Locally detected identity; null means unknown, not necessarily signed out. */ + account: HookProcessAccount | null; +} diff --git a/packages/bridge/tests/hook-manager-state-notify.test.ts b/packages/bridge/tests/hook-manager-state-notify.test.ts new file mode 100644 index 00000000..1163d93f --- /dev/null +++ b/packages/bridge/tests/hook-manager-state-notify.test.ts @@ -0,0 +1,739 @@ +import { describe, it, expect, vi } from 'vitest'; +import { EventEmitter } from 'events'; +import { HookManager } from '../src/hook-manager'; +import { PipeWatcher } from '../src/pipe-watcher'; +import type { ManualMapHandle } from '../src/injector'; +import type { BridgeManagerSink } from '../src/hook-manager'; +import type { QqHookClient } from '../src/qq-hook-client'; +import type { AccountLoginState } from '../src/qq-account'; + +// Regression cover for the WebUI SSE wiring: HookManager must call its +// optional `onSessionsChanged` callback every time the observable set of +// HookProcessInfo (what `listProcesses()` would return) changes, so the +// /api/state/stream handler can push a fresh processes snapshot to the +// browser without REST polling. + +const DUMMY_HANDLE: ManualMapHandle = { base: 0n, entry: 0n, exceptionTable: 0n, size: 0 }; +const flush = () => new Promise((r) => setImmediate(r)); + +interface Harness { + manager: HookManager; + pipeWatcher: PipeWatcher; + bridgeManager: BridgeManagerSink & { onPidReceiveHealthChanged: ReturnType }; + setProcesses: (next: number[]) => void; + setLivePipes: (next: number[]) => void; + onSessionsChanged: ReturnType; + clientFactory: ReturnType; + notifyAccountChange: () => void; + watchAccounts: ReturnType; +} + +function makeManager( + opts: { + processes?: number[]; + livePipes?: number[]; + detectAccounts?: (pids: readonly number[]) => Promise; + } = {}, +): Harness { + let pids = opts.processes ?? []; + let live = new Set(opts.livePipes ?? []); + const pipeWatcher = new PipeWatcher({ + listProcesses: async () => pids.map((pid) => ({ pid, name: 'qq', path: '' })), + listLivePipes: async () => new Set(live), + intervalMs: 60_000, + }); + const clientFactory = vi.fn(() => { + const c = new EventEmitter() as EventEmitter & Partial; + (c as any).isClosed = false; + (c as any).isLoggedIn = false; + (c as any).getLoginState = () => ({ loggedIn: false, uin: '0', uinNumber: 0n }); + + (c as any).connectAll = async () => { + /* succeed without doing anything */ + }; + + (c as any).close = () => { + (c as any).isClosed = true; + }; + + return c as unknown as QqHookClient; + }); + const bridgeManager = { + onPacket: vi.fn(), + onHookLogin: vi.fn(), + onPidDisconnected: vi.fn(), + onPidReceiveHealthChanged: vi.fn(), + } as unknown as BridgeManagerSink & { onPidReceiveHealthChanged: ReturnType }; + const onSessionsChanged = vi.fn(); + + let accountChanged = () => {}; + + const watchAccounts = vi.fn((_pids: readonly number[], onChange: () => void) => { + accountChanged = onChange; + return vi.fn(); + }); + const manager = new HookManager({ + bridgeManager, + pipeWatcher, + injector: { + inject: vi.fn(async () => ({ + method: 'loadModuleManual' as const, + handle: DUMMY_HANDLE, + })), + unload: vi.fn(async () => {}), + }, + makeClient: clientFactory, + listProcesses: async () => pids.map((pid) => ({ pid, name: 'qq', path: '' })), + detectAccounts: opts.detectAccounts ?? (async () => []), + watchAccounts, + onSessionsChanged, + }); + return { + manager, + pipeWatcher, + bridgeManager, + onSessionsChanged, + clientFactory, + notifyAccountChange: () => accountChanged(), + watchAccounts, + setProcesses: (next) => { + pids = next; + }, + setLivePipes: (next) => { + live = new Set(next); + }, + }; +} + +describe('HookManager.onSessionsChanged', () => { + it('fires when the watcher discovers a new QQ process', async () => { + const ctx = makeManager({ processes: [] }); + await ctx.pipeWatcher.start(); + expect(ctx.onSessionsChanged).not.toHaveBeenCalled(); + + ctx.setProcesses([4242]); + await ctx.pipeWatcher.tickNow(); + await flush(); + expect(ctx.onSessionsChanged).toHaveBeenCalled(); + + ctx.manager.dispose(); + }); + + it('fires when the watcher reports a process is gone', async () => { + const ctx = makeManager({ processes: [4242] }); + await ctx.pipeWatcher.start(); + await flush(); + ctx.onSessionsChanged.mockClear(); + + ctx.setProcesses([]); + await ctx.pipeWatcher.tickNow(); + await flush(); + expect(ctx.onSessionsChanged).toHaveBeenCalled(); + + ctx.manager.dispose(); + }); + + it('fires when the watcher reports the pipe came up (status: connecting → loaded)', async () => { + const ctx = makeManager({ processes: [4242] }); + await ctx.pipeWatcher.start(); + await flush(); + // Inject so the session is in 'connecting' state; the next pipe-up + // makes attemptConnect succeed and status flips to 'loaded'. + await ctx.manager.loadProcess(4242); + await flush(); + ctx.onSessionsChanged.mockClear(); + + ctx.setLivePipes([4242]); + await ctx.pipeWatcher.tickNow(); + await flush(); + await flush(); + expect(ctx.onSessionsChanged).toHaveBeenCalled(); + + ctx.manager.dispose(); + }); + + it('publishes an initial timeout and automatically recovers when the channel arrives late', async () => { + vi.useFakeTimers({ toFake: ['setTimeout', 'clearTimeout', 'Date'] }); + const ctx = makeManager({ processes: [4242] }); + + try { + await ctx.manager.loadProcess(4242); + ctx.onSessionsChanged.mockClear(); + await vi.advanceTimersByTimeAsync(60_000); + expect(ctx.onSessionsChanged).toHaveBeenCalled(); + expect(await ctx.manager.listProcesses()).toEqual([ + expect.objectContaining({ + pid: 4242, + status: 'error', + injected: true, + error: expect.stringContaining('首次连接超时'), + }), + ]); + + ctx.onSessionsChanged.mockClear(); + ctx.setLivePipes([4242]); + await ctx.pipeWatcher.tickNow(); + await flush(); + expect(ctx.onSessionsChanged).toHaveBeenCalled(); + expect(await ctx.manager.listProcesses()).toEqual([ + expect.objectContaining({ + pid: 4242, + status: 'loaded', + connected: true, + error: '', + }), + ]); + } finally { + ctx.manager.dispose(); + vi.useRealTimers(); + } + }); + + it('survives a throwing onSessionsChanged callback — the watcher loop keeps running', async () => { + const ctx = makeManager({ processes: [] }); + ctx.onSessionsChanged.mockImplementation(() => { + throw new Error('listener boom'); + }); + await ctx.pipeWatcher.start(); + ctx.setProcesses([4242]); + await expect(ctx.pipeWatcher.tickNow()).resolves.not.toThrow(); + await flush(); + // A second tick still fires the callback — it wasn't unregistered by + // the prior throw. + ctx.onSessionsChanged.mockClear(); + ctx.setProcesses([4242, 5555]); + await ctx.pipeWatcher.tickNow(); + await flush(); + expect(ctx.onSessionsChanged).toHaveBeenCalled(); + + ctx.manager.dispose(); + }); + + it('is OPTIONAL — omitting it leaves the manager fully functional', async () => { + const pids = [4242]; + const pipeWatcher = new PipeWatcher({ + listProcesses: async () => pids.map((pid) => ({ pid, name: 'qq', path: '' })), + listLivePipes: async () => new Set(), + intervalMs: 60_000, + }); + const manager = new HookManager({ + bridgeManager: { + onPacket: vi.fn(), + onHookLogin: vi.fn(), + onPidDisconnected: vi.fn(), + } as unknown as BridgeManagerSink, + pipeWatcher, + injector: { + inject: vi.fn(async () => ({ + method: 'loadModuleManual' as const, + handle: DUMMY_HANDLE, + })), + unload: vi.fn(async () => {}), + }, + makeClient: vi.fn(() => { + const c = new EventEmitter() as any; + c.isClosed = false; + c.isLoggedIn = false; + c.getLoginState = () => ({ loggedIn: false, uin: '0', uinNumber: 0n }); + c.connectAll = async () => undefined; + + c.close = () => { + c.isClosed = true; + }; + + return c; + }), + listProcesses: async () => pids.map((pid) => ({ pid, name: 'qq', path: '' })), + detectAccounts: async () => [], + watchAccounts: () => () => {}, + // onSessionsChanged deliberately omitted + }); + await pipeWatcher.start(); + await pipeWatcher.tickNow(); + await flush(); + const list = await manager.listProcesses(); + expect(list).toHaveLength(1); + expect(list[0].pid).toBe(4242); + manager.dispose(); + }); +}); + +describe('HookManager account re-probe', () => { + it('reuses the account snapshot across ticks and REST reads while all sessions are online (#549)', async () => { + const detectAccounts = vi.fn(async (): Promise => [ + { uin: '10001', uid: 'u_a', nickname: 'Alice', pid: 4242 }, + { uin: '10002', uid: 'u_b', nickname: 'Bob', pid: 5151 }, + ]); + const ctx = makeManager({ + processes: [4242, 5151], + livePipes: [4242, 5151], + detectAccounts, + }); + const now = vi.spyOn(Date, 'now'); + + try { + await ctx.pipeWatcher.start(); + await flush(); + + for (const [index, uin] of ['10001', '10002'].entries()) { + const client = ctx.clientFactory.mock.results[index]!.value as EventEmitter; + client.emit('loginState', { loggedIn: true, uin, uinNumber: BigInt(uin) }); + } + + const initial = await ctx.manager.listProcesses(); + expect(initial.map((info) => info.status)).toEqual(['online', 'online']); + const baseline = detectAccounts.mock.calls.length; + ctx.onSessionsChanged.mockClear(); + const startedAt = Date.now(); + + for (let tick = 1; tick <= 10; tick++) { + now.mockReturnValue(startedAt + tick * 6000); + await ctx.pipeWatcher.tickNow(); + expect(await ctx.manager.listProcesses()).toEqual(initial); + } + + expect(detectAccounts).toHaveBeenCalledTimes(baseline); + expect(ctx.onSessionsChanged).not.toHaveBeenCalled(); + } finally { + now.mockRestore(); + ctx.manager.dispose(); + ctx.pipeWatcher.dispose(); + } + }); + + it.each(['loadProcess', 'unloadProcess', 'refreshProcess'] as const)( + 'refreshes account labels on %s even within the probe interval', + async (operation) => { + let nickname = 'Alice'; + const ctx = makeManager({ + processes: [4242], + detectAccounts: async () => [{ uin: '10001', uid: 'u_a', nickname, pid: 4242 }], + }); + + try { + expect((await ctx.manager.listProcesses())[0]!.account?.nickname).toBe('Alice'); + nickname = 'Updated'; + expect((await ctx.manager[operation](4242)).account?.nickname).toBe('Updated'); + } finally { + ctx.manager.dispose(); + ctx.pipeWatcher.dispose(); + } + }, + ); + + it('discards an in-flight account result when an online process switches accounts', async () => { + const stale = Promise.withResolvers(); + const fresh = Promise.withResolvers(); + const detectAccounts = vi.fn(async (): Promise => [ + { uin: '10001', uid: 'u_a', nickname: 'Alice', pid: 4242 }, + ]); + const ctx = makeManager({ + processes: [4242], + livePipes: [4242], + detectAccounts, + }); + + try { + await ctx.pipeWatcher.start(); + await flush(); + const client = ctx.clientFactory.mock.results[0]!.value as EventEmitter; + client.emit('loginState', { loggedIn: true, uin: '10001', uinNumber: 10001n }); + await ctx.manager.listProcesses(); + detectAccounts.mockImplementationOnce(() => stale.promise); + detectAccounts.mockImplementationOnce(() => fresh.promise); + const refreshing = ctx.manager.refreshProcess(4242); + await flush(); + const baseline = detectAccounts.mock.calls.length; + client.emit('loginState', { loggedIn: true, uin: '10002', uinNumber: 10002n }); + const snapshot = ctx.manager.listProcesses(); + await flush(); + ctx.onSessionsChanged.mockClear(); + stale.resolve([{ uin: '10003', uid: 'u_c', nickname: 'Stale', pid: 4242 }]); + await flush(); + expect(ctx.onSessionsChanged).not.toHaveBeenCalled(); + expect(detectAccounts).toHaveBeenCalledTimes(baseline + 1); + fresh.resolve([{ uin: '10002', uid: 'u_b', nickname: 'Bob', pid: 4242 }]); + expect((await snapshot)[0]!.account).toEqual({ uin: '10002', nickname: 'Bob' }); + expect((await refreshing).account).toEqual({ uin: '10002', nickname: 'Bob' }); + } finally { + stale.resolve([]); + fresh.resolve([]); + ctx.manager.dispose(); + ctx.pipeWatcher.dispose(); + } + }); + + it('shares one account probe between watcher ticks and concurrent snapshots', async () => { + const probe = Promise.withResolvers(); + const detectAccounts = vi.fn(() => probe.promise); + const ctx = makeManager({ processes: [4242], detectAccounts }); + + try { + await ctx.pipeWatcher.start(); + const first = ctx.manager.listProcesses(); + const second = ctx.manager.listProcesses(); + await flush(); + expect(detectAccounts).toHaveBeenCalledTimes(1); + probe.resolve([{ uin: '10001', uid: 'u_a', nickname: 'Alice', pid: 4242 }]); + const snapshots = await Promise.all([first, second]); + expect(snapshots.map((list) => list[0]!.account)).toEqual([ + { uin: '10001', nickname: 'Alice' }, + { uin: '10001', nickname: 'Alice' }, + ]); + } finally { + probe.resolve([]); + ctx.manager.dispose(); + } + }); + + it.each(['pipe-down', 'client-close', 'logout'] as const)( + 're-probes after %s and observes later login data changes', + async (event) => { + let accounts: AccountLoginState[] = [ + { uin: '10001', uid: 'u_a', nickname: 'Alice', pid: 4242 }, + ]; + const detectAccounts = vi.fn(async () => accounts); + const ctx = makeManager({ + processes: [4242], + livePipes: [4242], + detectAccounts, + }); + const now = vi.spyOn(Date, 'now'); + + try { + await ctx.pipeWatcher.start(); + await flush(); + const client = ctx.clientFactory.mock.results[0]!.value as EventEmitter; + client.emit('loginState', { loggedIn: true, uin: '10001', uinNumber: 10001n }); + await ctx.manager.listProcesses(); + accounts = []; + + if (event === 'pipe-down') { + ctx.setLivePipes([]); + await ctx.pipeWatcher.tickNow(); + } else if (event === 'client-close') { + client.emit('close'); + } else { + client.emit('loginState', { loggedIn: false, uin: '0', uinNumber: 0n }); + } + + await flush(); + expect((await ctx.manager.listProcesses())[0]!.account).toBeNull(); + accounts = [{ uin: '10002', uid: 'u_b', nickname: 'Bob', pid: 4242 }]; + now.mockReturnValue(Date.now() + 6000); + ctx.notifyAccountChange(); + await ctx.pipeWatcher.tickNow(); + expect((await ctx.manager.listProcesses())[0]!.account?.uin).toBe('10002'); + } finally { + now.mockRestore(); + ctx.manager.dispose(); + ctx.pipeWatcher.dispose(); + } + }, + ); + + it('re-probes when another process appears and when it exits', async () => { + let nickname = 'Alice'; + const detectAccounts = vi.fn(async (): Promise => [ + { uin: '10001', uid: 'u_a', nickname, pid: 4242 }, + { uin: '10002', uid: 'u_b', nickname: 'Bob', pid: 5151 }, + ]); + const ctx = makeManager({ processes: [4242], livePipes: [4242], detectAccounts }); + + try { + await ctx.pipeWatcher.start(); + await flush(); + const client = ctx.clientFactory.mock.results[0]!.value as EventEmitter; + client.emit('loginState', { loggedIn: true, uin: '10001', uinNumber: 10001n }); + await ctx.manager.listProcesses(); + nickname = 'Updated'; + ctx.setProcesses([4242, 5151]); + await ctx.pipeWatcher.tickNow(); + expect((await ctx.manager.listProcesses()).map((info) => info.account)).toEqual([ + { uin: '10001', nickname: 'Updated' }, + { uin: '10002', nickname: 'Bob' }, + ]); + nickname = 'Final'; + ctx.setProcesses([4242]); + await ctx.pipeWatcher.tickNow(); + await flush(); + const list = await ctx.manager.listProcesses(); + expect(list).toHaveLength(1); + expect(list[0]!.account?.nickname).toBe('Final'); + } finally { + ctx.manager.dispose(); + ctx.pipeWatcher.dispose(); + } + }); + + it('keeps all process labels when an operation reads just one process', async () => { + const accounts: AccountLoginState[] = [ + { uin: '10001', uid: 'u_a', nickname: 'Alice', pid: 4242 }, + { uin: '10002', uid: 'u_b', nickname: 'Bob', pid: 5151 }, + ]; + const detectAccounts = vi.fn(async (pids: readonly number[]) => + accounts.filter((account) => pids.includes(account.pid!)), + ); + const ctx = makeManager({ processes: [4242, 5151], detectAccounts }); + + try { + await ctx.manager.listProcesses(); + expect((await ctx.manager.refreshProcess(4242)).account?.uin).toBe('10001'); + const baseline = detectAccounts.mock.calls.length; + ctx.onSessionsChanged.mockClear(); + await ctx.pipeWatcher.tickNow(); + await flush(); + expect(detectAccounts).toHaveBeenCalledTimes(baseline); + expect(ctx.onSessionsChanged).not.toHaveBeenCalled(); + expect((await ctx.manager.listProcesses())[1]!.account?.uin).toBe('10002'); + } finally { + ctx.manager.dispose(); + } + }); + + it('does not publish a late account result for an exited process', async () => { + const probe = Promise.withResolvers(); + const ctx = makeManager({ processes: [4242], detectAccounts: () => probe.promise }); + + try { + await ctx.pipeWatcher.start(); + const snapshot = ctx.manager.listProcesses(); + await flush(); + ctx.setProcesses([]); + await ctx.pipeWatcher.tickNow(); + await flush(); + ctx.onSessionsChanged.mockClear(); + probe.resolve([{ uin: '10001', uid: 'u_a', nickname: 'Alice', pid: 4242 }]); + await flush(); + expect(await snapshot).toEqual([]); + expect(ctx.onSessionsChanged).not.toHaveBeenCalled(); + expect(await ctx.manager.listProcesses()).toEqual([]); + } finally { + probe.resolve([]); + ctx.manager.dispose(); + } + }); + + // Login database changes can reveal login before the hook is loaded. + + it('publishes when a process gains an account label', async () => { + let accounts: AccountLoginState[] = [{ uin: '1', uid: 'u1', nickname: 'A', pid: null }]; + const ctx = makeManager({ + processes: [4242], + detectAccounts: async () => accounts, + }); + await ctx.pipeWatcher.start(); + await flush(); + ctx.onSessionsChanged.mockClear(); + + // QQ finished signing in: the account's nt_msg.db is now held by 4242. + accounts = [{ uin: '1', uid: 'u1', nickname: 'A', pid: 4242 }]; + ctx.notifyAccountChange(); + await flush(); + await flush(); + + expect(ctx.onSessionsChanged).toHaveBeenCalled(); + const list = await ctx.manager.listProcesses(); + expect(list[0]!.account).toEqual({ uin: '1', nickname: 'A' }); + + ctx.manager.dispose(); + }); + + it('stays silent while the labels are unchanged', async () => { + const accounts: AccountLoginState[] = [{ uin: '1', uid: 'u1', nickname: 'A', pid: 4242 }]; + const detectAccounts = vi.fn(async () => accounts); + const ctx = makeManager({ + processes: [4242], + detectAccounts, + }); + await ctx.pipeWatcher.start(); + await flush(); + ctx.onSessionsChanged.mockClear(); + + ctx.notifyAccountChange(); + await flush(); + await flush(); + + // Detection did run again — it just had nothing new to report. + expect(detectAccounts.mock.calls.length).toBeGreaterThan(1); + expect(ctx.onSessionsChanged).not.toHaveBeenCalled(); + + ctx.manager.dispose(); + }); + + it('ignores accounts that are not signed in on any process', async () => { + let accounts: AccountLoginState[] = [{ uin: '1', uid: 'u1', nickname: 'A', pid: null }]; + const ctx = makeManager({ + processes: [4242], + detectAccounts: async () => accounts, + }); + await ctx.pipeWatcher.start(); + await flush(); + ctx.onSessionsChanged.mockClear(); + + // Only the cached-account set changed (another account signed in on + // another machine/user); no process label moved. + accounts = [ + { uin: '1', uid: 'u1', nickname: 'A', pid: null }, + { uin: '2', uid: 'u2', nickname: 'B', pid: null }, + ]; + ctx.notifyAccountChange(); + await flush(); + await flush(); + + expect(ctx.onSessionsChanged).not.toHaveBeenCalled(); + + ctx.manager.dispose(); + }); + + it('does not poll unlabelled, unloaded processes even after the old interval expires', async () => { + const detectAccounts = vi.fn(async () => [] as AccountLoginState[]); + const ctx = makeManager({ + processes: [4242], + detectAccounts, + }); + const now = vi.spyOn(Date, 'now'); + + try { + await ctx.manager.listProcesses(); + const baseline = detectAccounts.mock.calls.length; + const startedAt = Date.now(); + + for (let tick = 1; tick <= 10; tick++) { + now.mockReturnValue(startedAt + tick * 6000); + await ctx.pipeWatcher.tickNow(); + expect((await ctx.manager.listProcesses())[0]!.account).toBeNull(); + } + + expect(detectAccounts).toHaveBeenCalledTimes(baseline); + } finally { + now.mockRestore(); + ctx.manager.dispose(); + ctx.pipeWatcher.dispose(); + } + }); + + it('does not re-probe a mixed set of online and unloaded processes', async () => { + const detectAccounts = vi.fn(async (): Promise => [ + { uin: '10001', uid: 'u_a', nickname: 'Alice', pid: 4242 }, + ]); + const ctx = makeManager({ + processes: [4242, 5151], + livePipes: [4242], + detectAccounts, + }); + const now = vi.spyOn(Date, 'now'); + + try { + await ctx.pipeWatcher.start(); + await flush(); + const client = ctx.clientFactory.mock.results[0]!.value as EventEmitter; + client.emit('loginState', { loggedIn: true, uin: '10001', uinNumber: 10001n }); + expect((await ctx.manager.listProcesses()).map((info) => info.status)).toEqual([ + 'online', + 'available', + ]); + const baseline = detectAccounts.mock.calls.length; + now.mockReturnValue(Date.now() + 60_000); + await ctx.pipeWatcher.tickNow(); + await ctx.manager.listProcesses(); + expect(detectAccounts).toHaveBeenCalledTimes(baseline); + } finally { + now.mockRestore(); + ctx.manager.dispose(); + ctx.pipeWatcher.dispose(); + } + }); + + it('releases file subscriptions when the process set changes and the manager stops', async () => { + const ctx = makeManager({ processes: [4242] }); + + try { + await ctx.pipeWatcher.start(); + expect(ctx.watchAccounts).toHaveBeenLastCalledWith([4242], expect.any(Function)); + const firstStop = ctx.watchAccounts.mock.results.at(-1)!.value; + ctx.setProcesses([4242, 5151]); + await ctx.pipeWatcher.tickNow(); + expect(firstStop).toHaveBeenCalledOnce(); + expect(ctx.watchAccounts).toHaveBeenLastCalledWith([4242, 5151], expect.any(Function)); + const secondStop = ctx.watchAccounts.mock.results.at(-1)!.value; + ctx.setProcesses([5151]); + await ctx.pipeWatcher.tickNow(); + await flush(); + expect(secondStop).toHaveBeenCalledOnce(); + expect(ctx.watchAccounts).toHaveBeenLastCalledWith([5151], expect.any(Function)); + const finalStop = ctx.watchAccounts.mock.results.at(-1)!.value; + ctx.manager.dispose(); + expect(finalStop).toHaveBeenCalledOnce(); + } finally { + ctx.manager.dispose(); + ctx.pipeWatcher.dispose(); + } + }); + + it('keeps working when detection fails, and reports the failure once', async () => { + const ctx = makeManager({ + processes: [4242], + detectAccounts: async () => { + throw new Error('login.db unreadable'); + }, + }); + await ctx.pipeWatcher.start(); + await flush(); + ctx.onSessionsChanged.mockClear(); + + await expect(ctx.pipeWatcher.tickNow()).resolves.not.toThrow(); + await expect(ctx.pipeWatcher.tickNow()).resolves.not.toThrow(); + await flush(); + await flush(); + + // Detection failing is not a label change, so nothing is published. + expect(ctx.onSessionsChanged).not.toHaveBeenCalled(); + expect((await ctx.manager.listProcesses())[0]!.account).toBeNull(); + + ctx.manager.dispose(); + }); +}); + +describe('HookManager receive-health wiring (#233)', () => { + it('forwards stale and recovered receive health for the owning PID', async () => { + const ctx = makeManager({ processes: [4242], livePipes: [4242] }); + await ctx.pipeWatcher.start(); + await ctx.manager.loadProcess(4242); + await ctx.manager.refreshProcess(4242); + await flush(); + + const client = ctx.clientFactory.mock.results[0]!.value as EventEmitter; + client.emit('loginState', { loggedIn: true, uin: '10001', uinNumber: 10001n }); + + vi.useFakeTimers({ toFake: ['setTimeout', 'Date'] }); + + try { + client.emit('packet', { + seq: 1, + error: 0, + cmd: 'trpc.qq_new_tech.status_svc.StatusService.SsoHeartBeat', + uin: '10001', + body: Buffer.alloc(0), + }); + vi.advanceTimersByTime(105_000); + + expect(ctx.bridgeManager.onPidReceiveHealthChanged).toHaveBeenCalledWith(4242, false); + + client.emit('packet', { + seq: 2, + error: 0, + cmd: 'trpc.msg.olpush.OlPushService.MsgPush', + uin: '10001', + body: Buffer.alloc(0), + }); + expect(ctx.bridgeManager.onPidReceiveHealthChanged).toHaveBeenLastCalledWith( + 4242, + true, + ); + } finally { + vi.useRealTimers(); + ctx.manager.dispose(); + } + }); +}); diff --git a/packages/bridge/tests/hook-manager.test.ts b/packages/bridge/tests/hook-manager.test.ts new file mode 100644 index 00000000..41d967e0 --- /dev/null +++ b/packages/bridge/tests/hook-manager.test.ts @@ -0,0 +1,514 @@ +import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest'; +import { EventEmitter } from 'events'; +import fs from 'fs'; +import os from 'os'; +import path from 'path'; +import { HookManager, shouldAutoLoadPid } from '../src/hook-manager'; +import { PipeWatcher } from '../src/pipe-watcher'; +import type { HookInjectResult, ManualMapHandle } from '../src/injector'; +import type { BridgeManagerSink } from '../src/hook-manager'; +import type { AccountLoginState } from '../src/qq-account'; +import type { QqHookClient } from '../src/qq-hook-client'; +import { + createLogger, + getLogLevel, + setLogLevel, + subscribeLogs, + type LogEntry, +} from '@snowluma/common/logger'; + +const DUMMY_HANDLE: ManualMapHandle = { base: 0n, entry: 0n, exceptionTable: 0n, size: 0 }; +const flush = () => new Promise((r) => setImmediate(r)); +const previousLogLevel = getLogLevel(); + +function managerTrace(entries: LogEntry[]): LogEntry[] { + return entries.filter((entry) => entry.level === 'trace' && entry.scope === 'Hook'); +} + +function makeManager(opts: { + autoLoadOnDiscovery?: boolean; + processes?: number[]; + onSessionsChanged?: () => void; + inject?: (pid: number) => Promise; + detectAccounts?: (pids: readonly number[]) => Promise; +}) { + let pids = opts.processes ?? []; + const live = new Set(); + const inject = vi.fn( + opts.inject ?? + (async () => ({ + method: 'loadModuleManual' as const, + handle: DUMMY_HANDLE, + })), + ); + const unload = vi.fn(async () => {}); + const pipeWatcher = new PipeWatcher({ + listProcesses: async () => pids.map((pid) => ({ pid, name: 'qq', path: '' })), + listLivePipes: async () => new Set(live), + intervalMs: 60_000, // disable internal timer; tests drive ticks manually + }); + // FakeClient — never connected; just needs to satisfy EventEmitter + + // a minimal subset of QqHookClient for HookSession.tearDownClient(). + const makeClient = vi.fn(() => { + const c = new EventEmitter() as EventEmitter & Partial; + (c as any).isClosed = false; + (c as any).isLoggedIn = false; + (c as any).getLoginState = () => ({ loggedIn: false, uin: '0', uinNumber: 0n }); + + (c as any).connectAll = async () => { + throw new Error('test: never really connect'); + }; + + (c as any).close = () => { + (c as any).isClosed = true; + }; + + return c as unknown as QqHookClient; + }); + const bridgeManager = { + onPacket: vi.fn(), + onHookLogin: vi.fn(), + onPidDisconnected: vi.fn(), + } as unknown as BridgeManagerSink; + const manager = new HookManager({ + bridgeManager, + pipeWatcher, + injector: { inject, unload }, + makeClient, + autoLoadOnDiscovery: opts.autoLoadOnDiscovery, + onSessionsChanged: opts.onSessionsChanged, + listProcesses: async () => pids.map((pid) => ({ pid, name: 'qq', path: '' })), + // Detection reads QQ's own data directories; tests stay off the host. + detectAccounts: opts.detectAccounts ?? (async () => []), + watchAccounts: () => () => {}, + }); + return { + manager, + inject, + pipeWatcher, + setProcesses: (next: number[]) => { + pids = next; + }, + }; +} + +afterEach(() => { + setLogLevel(previousLogLevel); +}); + +describe('HookManager runtime TRACE', () => { + it('records discovery and process-gone facts while unchanged ticks stay silent', async () => { + const entries: LogEntry[] = []; + const sessionsChanged = vi.fn(); + setLogLevel('trace'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + const ctx = makeManager({ + autoLoadOnDiscovery: false, + processes: [], + onSessionsChanged: sessionsChanged, + }); + + try { + await ctx.pipeWatcher.start(); + const baseline = managerTrace(entries).length; + await ctx.pipeWatcher.tickNow(); + await ctx.pipeWatcher.tickNow(); + expect(managerTrace(entries)).toHaveLength(baseline); + + ctx.setProcesses([4242]); + await ctx.pipeWatcher.tickNow(); + ctx.setProcesses([]); + await ctx.pipeWatcher.tickNow(); + await flush(); + + const facts = managerTrace(entries).filter((entry) => + entry.message.startsWith('hook_manager_fact '), + ); + expect(facts.map((entry) => entry.message)).toEqual([ + expect.stringContaining('hook_manager_fact event=process_discovered pid=4242'), + 'hook_manager_fact event=process_gone pid=4242 tracked=true', + ]); + expect(facts.every((entry) => entry.req !== undefined)).toBe(true); + } finally { + unsubscribe(); + ctx.manager.dispose(); + } + }); + + it('records bounded transient retries and recovery as separate attempts', async () => { + const entries: LogEntry[] = []; + setLogLevel('trace'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + const ctx = makeManager({ autoLoadOnDiscovery: true, processes: [4242] }); + ctx.inject + .mockImplementationOnce(() => { + throw new Error( + 'target process does not map /lib/x86_64-linux-gnu/libc.so.6 while resolving mmap', + ); + }) + .mockImplementationOnce(() => ({ + method: 'loadModuleManual' as const, + handle: DUMMY_HANDLE, + })); + + try { + await ctx.pipeWatcher.start(); + await flush(); + await flush(); + await ctx.pipeWatcher.tickNow(); + await flush(); + await flush(); + + const attempts = managerTrace(entries).filter((entry) => + entry.message.startsWith('hook_autoload_'), + ); + expect(attempts.map((entry) => entry.message)).toEqual([ + 'hook_autoload_start pid=4242 attempt=1 maxAttempts=3', + expect.stringMatching( + /^hook_autoload_terminal pid=4242 attempt=1 outcome=failed reason=retry_pending error=.*elapsedMs=\d+$/, + ), + 'hook_autoload_start pid=4242 attempt=2 maxAttempts=3', + expect.stringMatching( + /^hook_autoload_terminal pid=4242 attempt=2 outcome=completed reason=recovered state=.*elapsedMs=\d+$/, + ), + ]); + expect(attempts[0]!.req).toBe(attempts[1]!.req); + expect(attempts[2]!.req).toBe(attempts[3]!.req); + expect(attempts[0]!.req).not.toBe(attempts[2]!.req); + } finally { + unsubscribe(); + ctx.manager.dispose(); + } + }); + + it('ends an in-flight auto-load as dropped when a manual load supersedes it', async () => { + const entries: LogEntry[] = []; + let resolveInjection!: (result: HookInjectResult) => void; + const injection = new Promise((resolve) => { + resolveInjection = resolve; + }); + setLogLevel('trace'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + const ctx = makeManager({ + autoLoadOnDiscovery: true, + processes: [4242], + inject: () => injection, + }); + + try { + await ctx.pipeWatcher.start(); + await flush(); + const manualLoad = ctx.manager.loadProcess(4242); + resolveInjection({ method: 'loadModuleManual', handle: DUMMY_HANDLE }); + await manualLoad; + await flush(); + + const attempts = managerTrace(entries).filter((entry) => + entry.message.startsWith('hook_autoload_'), + ); + expect(attempts.map((entry) => entry.message)).toEqual([ + 'hook_autoload_start pid=4242 attempt=1 maxAttempts=3', + expect.stringMatching( + /^hook_autoload_terminal pid=4242 attempt=1 outcome=dropped reason=superseded elapsedMs=\d+$/, + ), + ]); + expect(attempts[0]!.req).toBe(attempts[1]!.req); + } finally { + unsubscribe(); + ctx.manager.dispose(); + } + }); + + it.each([ + { + name: 'permanent failure', + error: 'ptrace denied', + ticks: 1, + attempts: 1, + reason: 'permanent_failure', + }, + { + name: 'retry exhaustion', + error: 'target process does not map /lib/libc.so.6 while resolving mmap', + ticks: 4, + attempts: 3, + reason: 'retry_exhausted', + }, + ])('records $name terminal', async ({ error, ticks, attempts, reason }) => { + const entries: LogEntry[] = []; + setLogLevel('trace'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + const ctx = makeManager({ autoLoadOnDiscovery: true, processes: [4242] }); + ctx.inject.mockImplementation(() => { + throw new Error(error); + }); + + try { + await ctx.pipeWatcher.start(); + await flush(); + await flush(); + + for (let tick = 0; tick < ticks; tick += 1) { + await ctx.pipeWatcher.tickNow(); + await flush(); + await flush(); + } + + const starts = managerTrace(entries).filter((entry) => + entry.message.startsWith('hook_autoload_start '), + ); + const terminals = managerTrace(entries).filter((entry) => + entry.message.startsWith('hook_autoload_terminal '), + ); + expect(starts).toHaveLength(attempts); + expect(terminals).toHaveLength(attempts); + expect(terminals.at(-1)!.message).toContain(`reason=${reason}`); + } finally { + unsubscribe(); + ctx.manager.dispose(); + } + }); +}); + +describe('HookManager.autoLoadOnDiscovery', () => { + it('does NOT inject on process-discovered when flag is off', async () => { + const ctx = makeManager({ autoLoadOnDiscovery: false, processes: [4242] }); + await ctx.pipeWatcher.start(); + await flush(); + expect(ctx.inject).not.toHaveBeenCalled(); + ctx.manager.dispose(); + }); + + it('injects every newly-discovered PID when flag is on', async () => { + const ctx = makeManager({ autoLoadOnDiscovery: true, processes: [4242] }); + await ctx.pipeWatcher.start(); + // session.load() is queued via a per-session promise chain; flush twice + // so the auto-load runs to completion before we assert. + await flush(); + await flush(); + expect(ctx.inject).toHaveBeenCalledTimes(1); + expect(ctx.inject).toHaveBeenCalledWith(4242); + + // A second PID appearing mid-flight should also trigger an inject. + ctx.setProcesses([4242, 9999]); + await ctx.pipeWatcher.tickNow(); + await flush(); + await flush(); + expect(ctx.inject).toHaveBeenCalledTimes(2); + expect(ctx.inject).toHaveBeenLastCalledWith(9999); + + ctx.manager.dispose(); + }); + + it('swallows inject errors so the watcher keeps running', async () => { + const ctx = makeManager({ autoLoadOnDiscovery: true, processes: [4242] }); + ctx.inject.mockImplementationOnce(() => { + throw new Error('ptrace denied'); + }); + await ctx.pipeWatcher.start(); + await flush(); + await flush(); + + // Second PID should still be auto-loaded — the failure on 4242 must + // not leak out of the listener and break the watcher's emit loop. + ctx.setProcesses([4242, 9999]); + await ctx.pipeWatcher.tickNow(); + await flush(); + await flush(); + expect(ctx.inject).toHaveBeenCalledTimes(2); + + ctx.manager.dispose(); + }); + + it('retries a transient libc mapping failure on the next watcher tick', async () => { + const ctx = makeManager({ autoLoadOnDiscovery: true, processes: [4242] }); + ctx.inject.mockImplementationOnce(() => { + throw new Error( + 'target process does not map /lib/x86_64-linux-gnu/libc.so.6 while resolving mmap', + ); + }); + + await ctx.pipeWatcher.start(); + await flush(); + await flush(); + expect(ctx.inject).toHaveBeenCalledTimes(1); + + await ctx.pipeWatcher.tickNow(); + await flush(); + await flush(); + expect(ctx.inject).toHaveBeenCalledTimes(2); + expect(ctx.inject).toHaveBeenLastCalledWith(4242); + + ctx.manager.dispose(); + }); + + it('does not retry permanent auto-load errors', async () => { + const ctx = makeManager({ autoLoadOnDiscovery: true, processes: [4242] }); + ctx.inject.mockImplementation(() => { + throw new Error('ptrace denied'); + }); + + await ctx.pipeWatcher.start(); + await flush(); + await flush(); + + await ctx.pipeWatcher.tickNow(); + await flush(); + await flush(); + expect(ctx.inject).toHaveBeenCalledTimes(1); + + ctx.manager.dispose(); + }); + + it('stops retrying a transient libc mapping failure after three attempts', async () => { + const ctx = makeManager({ autoLoadOnDiscovery: true, processes: [4242] }); + ctx.inject.mockImplementation(() => { + throw new Error( + 'target process does not map /lib/x86_64-linux-gnu/libc.so.6 while resolving mmap', + ); + }); + + await ctx.pipeWatcher.start(); + await flush(); + await flush(); + + for (let tick = 0; tick < 4; tick += 1) { + await ctx.pipeWatcher.tickNow(); + await flush(); + await flush(); + } + + expect(ctx.inject).toHaveBeenCalledTimes(3); + + ctx.manager.dispose(); + }); +}); + +// `shouldAutoLoadPid` reads /proc//cmdline directly, so we point +// it at a temporary directory that mimics the procfs layout. This lets +// the tests run on macOS / CI without a live Linux QQ process. +describe('shouldAutoLoadPid', () => { + let tmpProc: string; + const originalReadFileSync = fs.readFileSync; + const log = createLogger('test'); + const originalPlatform = process.platform; + const originalAutoLoadAll = process.env.SNOWLUMA_HOOK_AUTOLOAD_ALL; + + beforeEach(() => { + tmpProc = fs.mkdtempSync(path.join(os.tmpdir(), 'hookmgr-proc-')); + Object.defineProperty(process, 'platform', { value: 'linux', configurable: true }); + delete process.env.SNOWLUMA_HOOK_AUTOLOAD_ALL; + // Redirect readFileSync('/proc//cmdline') to the tmp dir. + (fs.readFileSync as unknown as typeof fs.readFileSync) = (( + p: string, + ...rest: unknown[] + ) => { + const match = /^\/proc\/(\d+)\/cmdline$/.exec(p); + + if (match) { + return originalReadFileSync( + path.join(tmpProc, match[1], 'cmdline'), + ...(rest as [BufferEncoding]), + ); + } + + return originalReadFileSync(p, ...(rest as [BufferEncoding])); + }) as typeof fs.readFileSync; + }); + + afterEach(() => { + (fs.readFileSync as unknown as typeof fs.readFileSync) = originalReadFileSync; + Object.defineProperty(process, 'platform', { value: originalPlatform, configurable: true }); + + if (originalAutoLoadAll === undefined) { + delete process.env.SNOWLUMA_HOOK_AUTOLOAD_ALL; + } else { + process.env.SNOWLUMA_HOOK_AUTOLOAD_ALL = originalAutoLoadAll; + } + + fs.rmSync(tmpProc, { recursive: true, force: true }); + }); + + function writeCmdline(pid: number, args: string[]): void { + const dir = path.join(tmpProc, String(pid)); + fs.mkdirSync(dir, { recursive: true }); + fs.writeFileSync(path.join(dir, 'cmdline'), args.join('\0') + '\0'); + } + + it('allows the QQ main process (no --type=)', () => { + writeCmdline(50, ['qq', '--no-sandbox']); + expect(shouldAutoLoadPid(50, log)).toBe(true); + }); + + it('rejects Electron zygotes', () => { + writeCmdline(59, ['/opt/QQ/qq', '--type=zygote', '--no-zygote-sandbox', '--no-sandbox']); + expect(shouldAutoLoadPid(59, log)).toBe(false); + }); + + it('rejects renderer/gpu/utility children', () => { + writeCmdline(70, ['/opt/QQ/qq', '--type=renderer']); + writeCmdline(71, ['/opt/QQ/qq', '--type=gpu-process']); + writeCmdline(72, [ + '/opt/QQ/qq', + '--type=utility', + '--utility-sub-type=network.mojom.NetworkService', + ]); + expect(shouldAutoLoadPid(70, log)).toBe(false); + expect(shouldAutoLoadPid(71, log)).toBe(false); + expect(shouldAutoLoadPid(72, log)).toBe(false); + }); + + it('allows everything if SNOWLUMA_HOOK_AUTOLOAD_ALL=1 (escape hatch)', () => { + writeCmdline(59, ['/opt/QQ/qq', '--type=zygote']); + process.env.SNOWLUMA_HOOK_AUTOLOAD_ALL = '1'; + expect(shouldAutoLoadPid(59, log)).toBe(true); + }); + + it('allows on non-linux platforms (filter is a Linux-only workaround)', () => { + Object.defineProperty(process, 'platform', { value: 'win32', configurable: true }); + // No cmdline file needed — we return true before touching procfs. + expect(shouldAutoLoadPid(59, log)).toBe(true); + }); + + it('allows when /proc is unreadable (dead PID, permission issue)', () => { + expect(shouldAutoLoadPid(99999, log)).toBe(true); + }); +}); + +describe('HookManager — signed-in account labelling', () => { + it('labels each process with the account detected on it', async () => { + const ctx = makeManager({ + processes: [4242, 5151], + detectAccounts: async () => [ + { uin: '10001', uid: 'u_a', nickname: 'Alice', pid: 4242 }, + { uin: '10002', uid: 'u_b', nickname: 'Bob', pid: null }, + ], + }); + + try { + const list = await ctx.manager.listProcesses(); + expect(list.map((info) => [info.pid, info.account])).toEqual([ + [4242, { uin: '10001', nickname: 'Alice' }], + [5151, null], + ]); + } finally { + ctx.manager.dispose(); + } + }); + + it('leaves processes unlabelled when detection fails', async () => { + const ctx = makeManager({ + processes: [4242], + detectAccounts: async () => { + throw new Error('login.db unreadable'); + }, + }); + + try { + const list = await ctx.manager.listProcesses(); + expect(list[0]!.account).toBeNull(); + } finally { + ctx.manager.dispose(); + } + }); +}); diff --git a/packages/bridge/tests/hook-packet-client.test.ts b/packages/bridge/tests/hook-packet-client.test.ts new file mode 100644 index 00000000..55bf8e8a --- /dev/null +++ b/packages/bridge/tests/hook-packet-client.test.ts @@ -0,0 +1,70 @@ +import { describe, expect, it, vi } from 'vitest'; +import { HookPacketClient } from '../src/hook-packet-client'; +import { + HookPipeRequestError, + PIPE_STATUS_CONNECTION_UNAVAILABLE, + type QqHookClient, +} from '../src/qq-hook-client'; + +function fakeClient(send: QqHookClient['send']): QqHookClient { + return { + isLoggedIn: true, + send, + } as unknown as QqHookClient; +} + +describe('HookPacketClient outbound health', () => { + it('reports native connection loss once and recovers after a successful request', async () => { + const healthChanged = vi.fn(); + const send = vi + .fn() + .mockRejectedValueOnce( + new HookPipeRequestError( + 'The QQ connection changed. Please restart QQ and try again.', + PIPE_STATUS_CONNECTION_UNAVAILABLE, + 1, + ), + ) + .mockRejectedValueOnce( + new HookPipeRequestError( + 'The QQ connection changed. Please restart QQ and try again.', + PIPE_STATUS_CONNECTION_UNAVAILABLE, + 2, + ), + ) + .mockResolvedValueOnce({ + requestId: 3, + error: 0, + message: '', + body: Buffer.from('ok'), + }); + const sender = new HookPacketClient(fakeClient(send), healthChanged); + + await expect(sender.sendPacket('Test.Command', Buffer.alloc(0))).resolves.toMatchObject({ + success: false, + gotResponse: false, + }); + await sender.sendPacket('Test.Command', Buffer.alloc(0)); + await expect(sender.sendPacket('Test.Command', Buffer.alloc(0))).resolves.toMatchObject({ + success: true, + gotResponse: true, + }); + + expect(healthChanged.mock.calls).toEqual([[false], [true]]); + }); + + it('does not classify ordinary request rejection as connection loss', async () => { + const healthChanged = vi.fn(); + const send = vi + .fn() + .mockRejectedValue(new HookPipeRequestError('This request is not valid.', -38, 1)); + const sender = new HookPacketClient(fakeClient(send), healthChanged); + + await expect(sender.sendPacket('Test.Command', Buffer.alloc(0))).resolves.toMatchObject({ + success: false, + gotResponse: false, + }); + + expect(healthChanged).not.toHaveBeenCalled(); + }); +}); diff --git a/packages/bridge/tests/hook-reconnect-no-login-e2e.test.ts b/packages/bridge/tests/hook-reconnect-no-login-e2e.test.ts new file mode 100644 index 00000000..542bd061 --- /dev/null +++ b/packages/bridge/tests/hook-reconnect-no-login-e2e.test.ts @@ -0,0 +1,115 @@ +// E2E for Docker "QQ never logs in + pipe keeps reconnecting" scenario. +// +// Drives the real PipeWatcher + HookManager through repeated same-PID +// pipe up/down cycles via tickNow() and asserts the BridgeManager mock +// is never touched (no login → no Bridge / OneBotInstance / Identity). + +import { describe, it, expect, vi } from 'vitest'; +import { EventEmitter } from 'events'; +import { HookManager } from '../src/hook-manager'; +import { PipeWatcher } from '../src/pipe-watcher'; +import type { ManualMapHandle } from '../src/injector'; +import type { BridgeManagerSink } from '../src/hook-manager'; +import type { QqHookClient } from '../src/qq-hook-client'; + +const DUMMY_HANDLE: ManualMapHandle = { base: 0n, entry: 0n, exceptionTable: 0n, size: 0 }; +const flush = () => new Promise((r) => setImmediate(r)); + +class FakeClient extends EventEmitter { + isClosed = false; + isLoggedIn = false; + async connectAll(_opts: { recv: boolean }) { + if (this.isClosed) { + throw new Error('client is closed'); + } + } + getLoginState() { + return { loggedIn: false, uin: '0', uinNumber: 0n }; + } + close() { + if (this.isClosed) { + return; + } + + this.isClosed = true; + this.emit('close'); + } +} + +describe('HookManager — Docker reconnect-without-login leak guard', () => { + it('after N pipe up/down cycles: no Bridge calls, no client accumulation', async () => { + const PID = 61; + const liveSet = new Set([PID]); + const clients: FakeClient[] = []; + + const pipeWatcher = new PipeWatcher({ + listProcesses: async () => [{ pid: PID, name: 'qq', path: '' }], + listLivePipes: async () => new Set(liveSet), + intervalMs: 60_000, // manual ticks only + }); + + const bridgeManager = { + onPacket: vi.fn(), + onHookLogin: vi.fn(), + onPidDisconnected: vi.fn(), + } as unknown as BridgeManagerSink; + + const manager = new HookManager({ + bridgeManager, + pipeWatcher, + injector: { + inject: vi.fn(async () => ({ + method: 'loadModuleManual' as const, + handle: DUMMY_HANDLE, + })), + unload: vi.fn(async () => {}), + }, + makeClient: () => { + const c = new FakeClient(); + clients.push(c); + return c as unknown as QqHookClient; + }, + autoLoadOnDiscovery: true, + listProcesses: async () => [{ pid: PID, name: 'qq', path: '' }], + detectAccounts: async () => [], + watchAccounts: () => () => {}, + }); + + // Initial discovery + first connect. + await pipeWatcher.start(); + await flush(); + await flush(); + + // Drive 50 pipe up/down cycles with the QQ process staying alive but + // the pipe (= QQ control socket) bouncing every "tick". + const CYCLES = 50; + + for (let i = 0; i < CYCLES; i++) { + liveSet.delete(PID); + await pipeWatcher.tickNow(); + await flush(); + liveSet.add(PID); + await pipeWatcher.tickNow(); + await flush(); + } + + // The "QQ never logs in" hypothesis: BridgeManager should never have + // been told about a login or a disconnect. + expect(bridgeManager.onHookLogin).not.toHaveBeenCalled(); + expect(bridgeManager.onPidDisconnected).not.toHaveBeenCalled(); + expect(bridgeManager.onPacket).not.toHaveBeenCalled(); + + // Hook layer should hold at most one live client. + const alive = clients.filter((c) => !c.isClosed); + expect( + alive.length, + `live clients after ${CYCLES} cycles: ${alive.length}`, + ).toBeLessThanOrEqual(1); + + // Total clients minted = roughly one per up cycle. Sanity bound: + // we must have actually exercised the reconnect path. + expect(clients.length).toBeGreaterThan(1); + + manager.dispose(); + }); +}); diff --git a/packages/bridge/tests/hook-reconnect-no-login.test.ts b/packages/bridge/tests/hook-reconnect-no-login.test.ts new file mode 100644 index 00000000..a0efe88b --- /dev/null +++ b/packages/bridge/tests/hook-reconnect-no-login.test.ts @@ -0,0 +1,146 @@ +// Regression test for the Docker "QQ-never-logs-in + pipe keeps reconnecting" leak hypothesis. +// +// User-reported pattern (Docker, idle login screen): +// 02:41:23 [Hook] pipe connected: PID=61 +// 04:37:55 [Hook] pipe connected: PID=61 (same PID, ~2h later) +// 04:40:44 [Hook] pipe connected: PID=61 +// 04:43:48 [Hook] pipe connected: PID=61 → eventual OOM-kill +// +// Hypothesis (H2): every onPipeDown → onPipeUp cycle leaks the prior +// QqHookClient (listeners or socket-ref keeping it pinned in memory), +// so repeated reconnect drives unbounded growth. +// +// This test drives N up/down cycles against a HookSession with a FakeClient +// factory and asserts: +// - at most one client is alive at any point +// - every prior client's EventEmitter listener count drops to 0 after teardown + +import { describe, it, expect, onTestFinished, vi } from 'vitest'; +import { EventEmitter } from 'events'; +import { HookSession } from '../src/hook-session'; +import type { ManualMapHandle } from '../src/injector'; +import type { QqHookClient } from '../src/qq-hook-client'; + +const DUMMY_HANDLE: ManualMapHandle = { base: 0n, entry: 0n, exceptionTable: 0n, size: 0 }; + +class FakeClient extends EventEmitter { + isClosed = false; + isLoggedIn = false; + private loginState = { loggedIn: false, uin: '0', uinNumber: 0n }; + + async connectAll(_opts: { recv: boolean }): Promise { + if (this.isClosed) { + throw new Error('client is closed'); + } + } + getLoginState() { + return { ...this.loginState }; + } + close(): void { + if (this.isClosed) { + return; + } + + this.isClosed = true; + this.emit('close'); + } +} + +function totalListenerCount(emitter: EventEmitter): number { + return emitter.eventNames().reduce((n, evt) => n + emitter.listenerCount(evt), 0); +} + +const flush = () => new Promise((r) => setImmediate(r)); + +describe('HookSession — pipe reconnect with QQ never logging in', () => { + it('does not accumulate live FakeClient instances across N pipe up/down cycles', async () => { + let pipeLive = true; + const clients: FakeClient[] = []; + const session = new HookSession(61, { + detectLoginUin: async () => null, + injector: { + inject: vi.fn(async () => ({ + method: 'loadModuleManual' as const, + handle: DUMMY_HANDLE, + })), + unload: vi.fn(async () => {}), + }, + makeClient: () => { + const c = new FakeClient(); + clients.push(c); + return c as unknown as QqHookClient; + }, + pipeWatcher: { isPipeLive: () => pipeLive }, + }); + onTestFinished(() => session.dispose()); + + await session.load(); + session.onPipeUp(); + await flush(); + + const CYCLES = 50; + + for (let i = 0; i < CYCLES; i++) { + pipeLive = false; + session.onPipeDown(); + await flush(); + pipeLive = true; + session.onPipeUp(); + await flush(); + } + + const alive = clients.filter((c) => !c.isClosed); + expect.soft(clients.length).toBeGreaterThan(1); + expect( + alive.length, + `expected ≤1 live client after ${CYCLES} reconnects, got ${alive.length}`, + ).toBeLessThanOrEqual(1); + }); + + it('drops all listeners from each torn-down client', async () => { + let pipeLive = true; + const clients: FakeClient[] = []; + const session = new HookSession(61, { + detectLoginUin: async () => null, + injector: { + inject: vi.fn(async () => ({ + method: 'loadModuleManual' as const, + handle: DUMMY_HANDLE, + })), + unload: vi.fn(async () => {}), + }, + makeClient: () => { + const c = new FakeClient(); + clients.push(c); + return c as unknown as QqHookClient; + }, + pipeWatcher: { isPipeLive: () => pipeLive }, + }); + onTestFinished(() => session.dispose()); + + await session.load(); + session.onPipeUp(); + await flush(); + + const CYCLES = 20; + + for (let i = 0; i < CYCLES; i++) { + pipeLive = false; + session.onPipeDown(); + await flush(); + pipeLive = true; + session.onPipeUp(); + await flush(); + } + + // Every client except the current one should have 0 listeners attached. + // (HookSession.tearDownClient does client.removeAllListeners().) + for (let i = 0; i < clients.length - 1; i++) { + const lc = totalListenerCount(clients[i]); + expect( + lc, + `client #${i} of ${clients.length} still has ${lc} listeners after teardown`, + ).toBe(0); + } + }); +}); diff --git a/packages/bridge/tests/hook-runtime-dir.test.ts b/packages/bridge/tests/hook-runtime-dir.test.ts new file mode 100644 index 00000000..29a8f72a --- /dev/null +++ b/packages/bridge/tests/hook-runtime-dir.test.ts @@ -0,0 +1,85 @@ +import { describe, expect, it } from 'vitest'; +import { resolveHookRuntimeDir } from '../src/hook-runtime-dir'; + +function procReader(files: Record) { + return (file: string): string => { + const value = files[file]; + + if (value === undefined) { + throw new Error(`missing fixture: ${file}`); + } + + return value; + }; +} + +describe('resolveHookRuntimeDir — Linux target process ownership', () => { + it('uses the QQ process runtime directory instead of the supervisor user directory', () => { + expect( + resolveHookRuntimeDir(46301, { + platform: 'linux', + env: { XDG_RUNTIME_DIR: '/run/user/0' }, + ownUid: 0, + readText: procReader({ + '/proc/46301/environ': 'HOME=/home/rikka\0XDG_RUNTIME_DIR=/run/user/1000\0', + '/proc/46301/status': 'Name:\tqq\nUid:\t1000\t1000\t1000\t1000\n', + }), + }), + ).toBe('/run/user/1000'); + }); + + it('falls back to the QQ process uid when its environment has no runtime directory', () => { + expect( + resolveHookRuntimeDir(46301, { + platform: 'linux', + env: { XDG_RUNTIME_DIR: '/run/user/0' }, + ownUid: 0, + readText: procReader({ + '/proc/46301/environ': 'HOME=/home/rikka\0', + '/proc/46301/status': 'Name:\tqq\nUid:\t1000\t1000\t1000\t1000\n', + }), + }), + ).toBe('/tmp/snowluma-1000'); + }); + + it('fails visibly when target ownership cannot be determined', () => { + expect(() => + resolveHookRuntimeDir(46301, { + platform: 'linux', + env: { XDG_RUNTIME_DIR: '/run/user/0' }, + ownUid: 0, + readText: () => { + throw new Error('permission denied'); + }, + }), + ).toThrow(/cannot resolve hook runtime directory.*permission denied/); + }); + + it('uses the current convention when the target disappears during discovery', () => { + const gone = Object.assign(new Error('process disappeared'), { code: 'ENOENT' }); + expect( + resolveHookRuntimeDir(46301, { + platform: 'linux', + env: { XDG_RUNTIME_DIR: '/run/user/0' }, + ownUid: 0, + readText: () => { + throw gone; + }, + }), + ).toBe('/run/user/0'); + }); + + it('honours an explicit runtime directory inherited by the QQ process', () => { + expect( + resolveHookRuntimeDir(46301, { + platform: 'linux', + env: {}, + ownUid: 0, + readText: procReader({ + '/proc/46301/environ': 'SNOWLUMA_HOOK_RUNTIME_DIR=/srv/snowluma-hook\0', + '/proc/46301/status': 'Uid:\t1000\t1000\t1000\t1000\n', + }), + }), + ).toBe('/srv/snowluma-hook'); + }); +}); diff --git a/packages/bridge/tests/hook-session.test.ts b/packages/bridge/tests/hook-session.test.ts new file mode 100644 index 00000000..69c1fe28 --- /dev/null +++ b/packages/bridge/tests/hook-session.test.ts @@ -0,0 +1,2239 @@ +import { afterEach, beforeEach, describe, it, expect, vi } from 'vitest'; +import { EventEmitter } from 'events'; +import { HookSession } from '../src/hook-session'; +import type { ManualMapHandle } from '../src/injector'; +import { + HookPipeRequestError, + PIPE_STATUS_CONNECTION_UNAVAILABLE, + type QqHookClient, + type QqHookPacket, +} from '../src/qq-hook-client'; +import type { PacketSender } from '@snowluma/common/packet-sender'; +import type { PacketSink } from '@snowluma/common/protocol-types'; +import { getLogLevel, setLogLevel, subscribeLogs, type LogEntry } from '@snowluma/common/logger'; + +const previousLogLevel = getLogLevel(); + +function sessionTrace(entries: LogEntry[]): LogEntry[] { + return entries.filter((entry) => entry.level === 'trace' && entry.scope === 'HookSession'); +} + +afterEach(() => { + setLogLevel(previousLogLevel); +}); + +const DUMMY_HANDLE: ManualMapHandle = { base: 0n, entry: 0n, exceptionTable: 0n, size: 0 }; + +/** Minimal stand-in for QqHookClient. Tests drive login/packet/error/close + * events directly via fire* helpers. connectAll succeeds unless told otherwise. */ +class FakeClient extends EventEmitter { + isClosed = false; + isLoggedIn = false; + shouldFailConnect = false; + runtimeErrorOnConnect = false; + nativeReadyOnIdentityHint = false; + identityHintFailures = 0; + sendError: Error | null = null; + readonly sentPackets: Array<{ serviceCmd: string; body: Buffer }> = []; + readonly loginIdentityHints: string[] = []; + private loginState = { loggedIn: false, uin: '0', uinNumber: 0n }; + + async connectAll(_opts: { recv: boolean }): Promise { + if (this.runtimeErrorOnConnect) { + this.emit('runtimeError', new Error('QQ service unavailable')); + } + + if (this.shouldFailConnect) { + throw new Error('connect failed'); + } + + if (this.isClosed) { + throw new Error('client is closed'); + } + } + getLoginState() { + return { ...this.loginState }; + } + reconcileLoginState(state: { loggedIn: boolean; uin: string; uinNumber: bigint }): void { + this.isLoggedIn = state.loggedIn; + this.loginState = { ...state }; + this.emit('loginState', { ...this.loginState }); + } + async reconcileLoginIdentity(uin: string): Promise { + this.loginIdentityHints.push(uin); + + if (this.identityHintFailures > 0) { + this.identityHintFailures--; + throw new Error('identity hint unavailable'); + } + + if (this.nativeReadyOnIdentityHint) { + this.fireLogin(uin); + } + } + async send(serviceCmd: string, body: Buffer) { + if (this.sendError) { + throw this.sendError; + } + + this.sentPackets.push({ serviceCmd, body: Buffer.from(body) }); + return { + requestId: this.sentPackets.length, + error: 0, + message: '', + body: Buffer.from('reply'), + }; + } + close(): void { + if (this.isClosed) { + return; + } + + this.isClosed = true; + this.emit('close'); + } + + fireLogin(uin: string): void { + this.reconcileLoginState({ loggedIn: true, uin, uinNumber: BigInt(uin) }); + } + + firePacket(packet: QqHookPacket): void { + this.emit('packet', packet); + } +} + +function makeSession( + opts: { + pid?: number; + pipeLive?: boolean; + clientFailsConnect?: boolean; + runtimeErrorOnConnect?: boolean; + onPacket?: PacketSink; + detectLoginUin?: (pid: number) => Promise; + nativeReadyOnIdentityHint?: boolean; + identityHintFailures?: number; + connectClient?: (client: FakeClient) => Promise; + } = {}, +) { + const pid = opts.pid ?? 1234; + let pipeLive = opts.pipeLive ?? false; + const clients: FakeClient[] = []; + const injector = { + inject: vi.fn(async () => ({ method: 'loadModuleManual' as const, handle: DUMMY_HANDLE })), + unload: vi.fn(async () => {}), + }; + // Default detection exposes no account so the reconcile safety net is inert + // unless a test opts into a known one. + const detectLoginUin = opts.detectLoginUin ?? (async () => null); + + const session = new HookSession(pid, { + injector, + makeClient: () => { + const c = new FakeClient(); + c.runtimeErrorOnConnect = opts.runtimeErrorOnConnect ?? false; + + if (opts.clientFailsConnect) { + c.shouldFailConnect = true; + } + + c.nativeReadyOnIdentityHint = opts.nativeReadyOnIdentityHint ?? false; + c.identityHintFailures = opts.identityHintFailures ?? 0; + + if (opts.connectClient) { + c.connectAll = () => opts.connectClient!(c); + } + + clients.push(c); + // Cast: FakeClient mirrors only the surface HookSession touches. + return c as unknown as QqHookClient; + }, + detectLoginUin, + pipeWatcher: { isPipeLive: () => pipeLive }, + onPacket: opts.onPacket, + }); + + return { + session, + injector, + clients, + currentClient: () => clients[clients.length - 1]!, + setPipeLive: (v: boolean) => { + pipeLive = v; + }, + }; +} + +const flush = () => new Promise((r) => setImmediate(r)); + +describe('HookSession runtime failure', () => { + it('retains an initialization error instead of waiting for login', async () => { + const { session } = makeSession({ pipeLive: true, runtimeErrorOnConnect: true }); + await session.load(); + session.onPipeUp(); + await flush(); + expect(session.toInfo()).toMatchObject({ + status: 'error', + error: 'QQ service unavailable', + connected: false, + }); + session.dispose(); + }); + + it('keeps a late runtime error visible across refresh and login snapshots', async () => { + const { session, currentClient, setPipeLive } = makeSession({ pipeLive: true }); + const disconnect = vi.fn(); + session.on('disconnected', disconnect); + await session.load(); + session.onPipeUp(); + await flush(); + currentClient().fireLogin('10001'); + currentClient().emit('runtimeError', new Error('QQ service unavailable')); + currentClient().emit('error', new Error('connection closed')); + expect(session.error).toBe('QQ service unavailable'); + currentClient().fireLogin('10001'); + await session.refresh(); + expect(session.toInfo()).toMatchObject({ + status: 'error', + error: 'QQ service unavailable', + loggedIn: false, + }); + setPipeLive(false); + await session.refresh(); + expect(disconnect).toHaveBeenCalledExactlyOnceWith(true); + setPipeLive(true); + await session.refresh(); + currentClient().fireLogin('10001'); + expect(session.toInfo()).toMatchObject({ status: 'online', loggedIn: true, error: '' }); + session.dispose(); + }); + + it('retains the failure when the pipe closes and discards an in-flight login lookup', async () => { + let resolveLogin!: (uin: string) => void; + const { session, currentClient, setPipeLive } = makeSession({ + pipeLive: true, + detectLoginUin: () => + new Promise((resolve) => { + resolveLogin = resolve; + }), + }); + await session.load(); + session.onPipeUp(); + await flush(); + const client = currentClient(); + client.emit('runtimeError', new Error('QQ service unavailable')); + resolveLogin('10001'); + await flush(); + expect(client.loginIdentityHints).toEqual([]); + setPipeLive(false); + await session.refresh(); + expect(session.toInfo()).toMatchObject({ + status: 'error', + error: 'QQ service unavailable', + loggedIn: false, + connected: false, + }); + session.dispose(); + }); +}); + +describe('HookSession — runtime TRACE', () => { + it('records injection and existing-pipe load branches with unique terminals', async () => { + const entries: LogEntry[] = []; + setLogLevel('trace'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + + try { + const injected = makeSession({ pid: 7101, pipeLive: false }); + const reconnect = makeSession({ pid: 7102, pipeLive: true }); + await injected.session.load(); + await reconnect.session.load(); + + const messages = sessionTrace(entries).map((entry) => entry.message); + expect(messages).toEqual( + expect.arrayContaining([ + expect.stringContaining('hook_session_start pid=7101 operation=load'), + 'hook_session_branch pid=7101 operation=load branch=inject_begin', + 'hook_session_branch pid=7101 operation=load branch=inject_completed method="loadModuleManual"', + expect.stringMatching( + /^hook_session_terminal pid=7101 operation=load outcome=completed reason=load_settled state=.*elapsedMs=\d+$/, + ), + expect.stringContaining('hook_session_start pid=7102 operation=load'), + 'hook_session_branch pid=7102 operation=load branch=existing_pipe method="reconnect"', + expect.stringMatching( + /^hook_session_terminal pid=7102 operation=load outcome=completed reason=load_settled state=.*elapsedMs=\d+$/, + ), + ]), + ); + + for (const pid of [7101, 7102]) { + expect( + messages.filter((message) => + message.startsWith(`hook_session_terminal pid=${pid} operation=load `), + ), + ).toHaveLength(1); + } + } finally { + unsubscribe(); + } + }); + + it('records load and connection failures with truthful settled state', async () => { + const entries: LogEntry[] = []; + setLogLevel('trace'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + + try { + const injector = { + inject: vi.fn(async () => { + throw new Error('fixture inject failure'); + }), + unload: vi.fn(async () => {}), + }; + const failedLoad = new HookSession(7103, { + injector, + makeClient: () => new FakeClient() as unknown as QqHookClient, + pipeWatcher: { isPipeLive: () => false }, + }); + await failedLoad.load(); + + const failedConnect = makeSession({ + pid: 7104, + pipeLive: true, + clientFailsConnect: true, + }); + await failedConnect.session.load(); + failedConnect.session.onPipeUp(); + await flush(); + + const messages = sessionTrace(entries).map((entry) => entry.message); + expect(messages).toEqual( + expect.arrayContaining([ + expect.stringMatching( + /^hook_session_terminal pid=7103 operation=load outcome=failed reason=load_failed error="fixture inject failure" state=.*elapsedMs=\d+$/, + ), + expect.stringContaining('hook_session_connect_start pid=7104'), + expect.stringMatching( + /^hook_session_connect_terminal pid=7104 outcome=failed reason=connect_failed error="connect failed" state=.*elapsedMs=\d+$/, + ), + ]), + ); + expect( + messages.filter((message) => + message.startsWith('hook_session_connect_terminal pid=7104 '), + ), + ).toHaveLength(1); + } finally { + unsubscribe(); + } + }); + + it('connects when load fails but the pipe is already up', async () => { + let pipeLive = false; + const clients: FakeClient[] = []; + const session = new HookSession(7108, { + injector: { + inject: async () => { + pipeLive = true; + throw new Error('component loading failed [COMPONENT_LOAD_FAILED]'); + }, + unload: async () => undefined, + }, + makeClient: () => { + const client = new FakeClient(); + client.fireLogin('10001'); + clients.push(client); + return client as unknown as QqHookClient; + }, + pipeWatcher: { + isPipeLive: () => pipeLive, + tickNow: async () => undefined, + }, + }); + const info = await session.load(); + expect(info.status).toBe('online'); + expect(info.uin).toBe('10001'); + expect(info.connected).toBe(true); + expect(clients).toHaveLength(1); + }); + + it('records login, disconnect, and process-gone only when state changes', async () => { + const entries: LogEntry[] = []; + setLogLevel('trace'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + const ctx = makeSession({ pid: 7105, pipeLive: true }); + + try { + await ctx.session.load(); + ctx.session.onPipeUp(); + await flush(); + ctx.currentClient().fireLogin('10001'); + ctx.currentClient().fireLogin('10001'); + ctx.session.onPipeDown(); + await flush(); + ctx.session.onPipeDown(); + await flush(); + ctx.session.notifyProcessGone(); + await flush(); + + const messages = sessionTrace(entries).map((entry) => entry.message); + expect( + messages.filter((message) => + message.startsWith('hook_session_login_terminal pid=7105 '), + ), + ).toHaveLength(1); + expect( + messages.filter((message) => + message.startsWith('hook_session_disconnect_terminal pid=7105 '), + ), + ).toHaveLength(1); + expect( + messages.filter((message) => + message.startsWith('hook_session_process_terminal pid=7105 '), + ), + ).toHaveLength(1); + expect(messages).toEqual( + expect.arrayContaining([ + expect.stringMatching( + /^hook_session_login_terminal pid=7105 outcome=completed reason=login_detected previousUin="0" uin="10001" state=.*elapsedMs=\d+$/, + ), + expect.stringMatching( + /^hook_session_disconnect_terminal pid=7105 outcome=completed reason=pipe_down wasLoggedIn=true state=.*elapsedMs=\d+$/, + ), + expect.stringMatching( + /^hook_session_process_terminal pid=7105 outcome=completed reason=process_gone wasLoggedIn=false state=.*elapsedMs=\d+$/, + ), + ]), + ); + } finally { + unsubscribe(); + ctx.session.dispose(); + } + }); + + it('records failed terminals when lifecycle listeners throw', async () => { + const entries: LogEntry[] = []; + setLogLevel('trace'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + const login = makeSession({ pid: 7107, pipeLive: true }); + const disconnect = makeSession({ pid: 7108, pipeLive: true }); + const processGone = makeSession({ pid: 7109, pipeLive: true }); + + try { + await login.session.load(); + login.session.onPipeUp(); + await flush(); + login.session.on('login', () => { + throw new Error('login listener boom'); + }); + expect(() => login.currentClient().fireLogin('10001')).toThrow('login listener boom'); + + await disconnect.session.load(); + disconnect.session.onPipeUp(); + await flush(); + disconnect.currentClient().fireLogin('10002'); + disconnect.session.on('disconnected', () => { + throw new Error('disconnect listener boom'); + }); + disconnect.session.onPipeDown(); + await flush(); + + processGone.session.on('disposed', () => { + throw new Error('dispose listener boom'); + }); + processGone.session.notifyProcessGone(); + await flush(); + + const messages = sessionTrace(entries).map((entry) => entry.message); + expect( + messages.filter((message) => + message.startsWith('hook_session_login_terminal pid=7107 '), + ), + ).toEqual([ + expect.stringMatching( + /^hook_session_login_terminal pid=7107 outcome=failed reason=listener_failed error="login listener boom" state=.*elapsedMs=\d+$/, + ), + ]); + expect( + messages.filter((message) => + message.startsWith('hook_session_disconnect_terminal pid=7108 '), + ), + ).toEqual([ + expect.stringMatching( + /^hook_session_disconnect_terminal pid=7108 outcome=failed reason=listener_failed error="disconnect listener boom" state=.*elapsedMs=\d+$/, + ), + ]); + expect( + messages.filter((message) => + message.startsWith('hook_session_process_terminal pid=7109 '), + ), + ).toEqual([ + expect.stringMatching( + /^hook_session_process_terminal pid=7109 outcome=failed reason=listener_failed error="dispose listener boom" state=.*elapsedMs=\d+$/, + ), + ]); + } finally { + unsubscribe(); + login.session.dispose(); + disconnect.session.dispose(); + processGone.session.dispose(); + } + }); + + it('records unload verification failure as a failed terminal', async () => { + const entries: LogEntry[] = []; + setLogLevel('trace'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + const ctx = makeSession({ pid: 7106, pipeLive: false }); + + try { + await ctx.session.load(); + ctx.setPipeLive(true); + await ctx.session.unload(); + + const terminals = sessionTrace(entries).filter((entry) => + entry.message.startsWith('hook_session_terminal pid=7106 operation=unload '), + ); + expect(terminals).toHaveLength(1); + expect(terminals[0]!.message).toMatch( + /^hook_session_terminal pid=7106 operation=unload outcome=failed reason=unload_verification_failed error=.*state=.*elapsedMs=\d+$/, + ); + } finally { + unsubscribe(); + } + }); +}); + +describe('HookSession — load', () => { + it('with no live pipe: injects, status → connecting, method from inject result', async () => { + const { session, injector } = makeSession({ pipeLive: false }); + const info = await session.load(); + + expect(injector.inject).toHaveBeenCalledOnce(); + expect(info.status).toBe('connecting'); + expect(info.method).toBe('loadModuleManual'); + expect(info.injected).toBe(true); + }); + + it('fast-path: pipe already live → skip inject, method → "reconnect"', async () => { + const { session, injector } = makeSession({ pipeLive: true }); + const info = await session.load(); + + expect(injector.inject).not.toHaveBeenCalled(); + expect(info.method).toBe('reconnect'); + expect(info.injected).toBe(true); + expect(info.status).toBe('connecting'); + }); + + it('keeps loading pending until asynchronous component loading completes', async () => { + let finishLoading!: (result: { + method: 'loadModuleManual'; + handle: ManualMapHandle; + }) => void; + const loading = new Promise<{ method: 'loadModuleManual'; handle: ManualMapHandle }>( + (resolve) => { + finishLoading = resolve; + }, + ); + const injector = { + inject: vi.fn(async () => loading), + unload: vi.fn(async () => {}), + }; + const session = new HookSession(1234, { + injector, + makeClient: () => new FakeClient() as unknown as QqHookClient, + pipeWatcher: { isPipeLive: () => false }, + }); + + const load = session.load(); + await flush(); + + expect(session.status).toBe('loading'); + finishLoading({ method: 'loadModuleManual', handle: DUMMY_HANDLE }); + await expect(load).resolves.toMatchObject({ + status: 'connecting', + method: 'loadModuleManual', + injected: true, + }); + }); + + it('inject failure → status error, error message captured', async () => { + const injector = { + inject: vi.fn(async () => { + throw new Error('inject boom'); + }), + unload: vi.fn(async () => {}), + }; + const session = new HookSession(1234, { + injector, + makeClient: () => new FakeClient() as unknown as QqHookClient, + pipeWatcher: { isPipeLive: () => false }, + }); + const info = await session.load(); + expect(info.status).toBe('error'); + expect(info.error).toBe('inject boom'); + }); + + it('can retry after asynchronous component loading fails', async () => { + const injector = { + inject: vi + .fn() + .mockRejectedValueOnce(new Error('component loading timed out')) + .mockResolvedValueOnce({ + method: 'loadModuleManual' as const, + handle: DUMMY_HANDLE, + }), + unload: vi.fn(async () => {}), + }; + const session = new HookSession(1234, { + injector, + makeClient: () => new FakeClient() as unknown as QqHookClient, + pipeWatcher: { isPipeLive: () => false }, + }); + + await expect(session.load()).resolves.toMatchObject({ + status: 'error', + error: 'component loading timed out', + injected: false, + }); + await expect(session.load()).resolves.toMatchObject({ + status: 'connecting', + method: 'loadModuleManual', + injected: true, + error: '', + }); + expect(injector.inject).toHaveBeenCalledTimes(2); + }); +}); + +describe('HookSession — initial connection deadline', () => { + const timeoutMs = 60_000; + const sessions: HookSession[] = []; + + function setup(opts: Parameters[0] = {}) { + const ctx = makeSession(opts); + sessions.push(ctx.session); + return ctx; + } + + beforeEach(() => { + vi.useFakeTimers({ toFake: ['setTimeout', 'clearTimeout', 'Date'] }); + }); + + afterEach(() => { + for (const session of sessions.splice(0)) { + session.dispose(); + } + + vi.useRealTimers(); + }); + + it('reports a missing channel without losing the loaded component or clearing the error on refresh', async () => { + const { session } = setup(); + const changed = vi.fn(); + session.on('status-changed', changed); + + await expect(session.load()).resolves.toMatchObject({ status: 'connecting' }); + await vi.advanceTimersByTimeAsync(timeoutMs - 1); + expect(session.status).toBe('connecting'); + await vi.advanceTimersByTimeAsync(1); + expect(session.toInfo()).toMatchObject({ + status: 'error', + injected: true, + connected: false, + error: expect.stringContaining('首次连接超时'), + }); + const error = session.error; + expect(changed).toHaveBeenLastCalledWith('error', error); + + session.onPipeDown(); + await expect(session.refresh()).resolves.toMatchObject({ status: 'error', error }); + }); + + it('unloads with the original handle after a timeout, including a failed unload retry', async () => { + const { session, injector } = setup(); + await session.load(); + await vi.advanceTimersByTimeAsync(timeoutMs); + expect(session.status).toBe('error'); + injector.unload.mockRejectedValueOnce(new Error('unload rejected')); + + await expect(session.unload()).resolves.toMatchObject({ + status: 'error', + injected: true, + error: 'unload rejected', + }); + await expect(session.unload()).resolves.toMatchObject({ + status: 'available', + injected: false, + error: '', + }); + expect(injector.unload).toHaveBeenNthCalledWith(1, session.pid, DUMMY_HANDLE); + expect(injector.unload).toHaveBeenNthCalledWith(2, session.pid, DUMMY_HANDLE); + await vi.advanceTimersByTimeAsync(timeoutMs); + expect(session.status).toBe('available'); + }); + + it('retries the connection after timeout without loading the component twice', async () => { + const { session, injector, setPipeLive } = setup(); + await session.load(); + await vi.advanceTimersByTimeAsync(timeoutMs); + expect(session.status).toBe('error'); + + await expect(session.load()).resolves.toMatchObject({ + status: 'connecting', + injected: true, + error: '', + }); + await vi.advanceTimersByTimeAsync(timeoutMs - 1); + expect(session.status).toBe('connecting'); + setPipeLive(true); + session.onPipeUp(); + await flush(); + + expect(session.toInfo()).toMatchObject({ status: 'loaded', error: '', loggedIn: false }); + expect(injector.inject).toHaveBeenCalledOnce(); + await vi.advanceTimersByTimeAsync(timeoutMs * 2); + expect(session.status).toBe('loaded'); + }); + + it('can time out again after an explicit retry', async () => { + const { session, injector } = setup(); + await session.load(); + await vi.advanceTimersByTimeAsync(timeoutMs); + await session.load(); + await vi.advanceTimersByTimeAsync(timeoutMs); + expect(session.status).toBe('error'); + expect(session.error).toContain('首次连接超时'); + expect(injector.inject).toHaveBeenCalledOnce(); + }); + + it('accepts a late channel without a manual retry and retains the timeout across failed handshakes', async () => { + let failConnect = true; + const { session, injector, setPipeLive } = setup({ + connectClient: async () => { + if (failConnect) { + throw new Error('connect failed'); + } + }, + }); + await session.load(); + await vi.advanceTimersByTimeAsync(timeoutMs); + const error = session.error; + expect(error).toContain('首次连接超时'); + setPipeLive(true); + session.onPipeUp(); + await flush(); + expect(session.toInfo()).toMatchObject({ status: 'error', error }); + + failConnect = false; + session.onPipeUp(); + await flush(); + expect(session.toInfo()).toMatchObject({ status: 'loaded', error: '', connected: true }); + expect(injector.inject).toHaveBeenCalledOnce(); + }); + + it('bounds a stalled handshake by the remaining initial budget and permits unload before it finishes', async () => { + let finishConnect!: () => void; + const { session, currentClient, injector, setPipeLive } = setup({ + connectClient: () => + new Promise((resolve) => { + finishConnect = resolve; + }), + }); + const login = vi.fn(); + const disconnected = vi.fn(); + session.on('login', login); + session.on('disconnected', disconnected); + await session.load(); + await vi.advanceTimersByTimeAsync(timeoutMs - 1000); + setPipeLive(true); + session.onPipeUp(); + await flush(); + currentClient().fireLogin('10001'); + // Login and packets can arrive together before connectAll settles. + // Preserve their ordering, but revoke this binding if the handshake fails. + expect(login).toHaveBeenCalledOnce(); + await vi.advanceTimersByTimeAsync(1000); + + expect(session.toInfo()).toMatchObject({ + status: 'error', + connected: false, + loggedIn: false, + }); + expect(session.error).toContain('首次连接超时'); + expect(currentClient().isClosed).toBe(true); + expect(disconnected).toHaveBeenCalledExactlyOnceWith(true); + setPipeLive(false); + await expect(session.unload()).resolves.toMatchObject({ + status: 'available', + injected: false, + }); + expect(injector.unload).toHaveBeenCalledExactlyOnceWith(session.pid, DUMMY_HANDLE); + + finishConnect(); + await flush(); + expect(session.toInfo()).toMatchObject({ + status: 'available', + connected: false, + loggedIn: false, + }); + expect(login).toHaveBeenCalledOnce(); + }); + + it('coalesces watcher retries so they cannot queue ahead of unload after a stalled handshake', async () => { + const { session, injector, clients } = setup({ + connectClient: () => new Promise(() => {}), + }); + await session.load(); + session.onPipeUp(); + await flush(); + + for (let tick = 0; tick < 40; tick++) { + session.onPipeUp(); + } + + await vi.advanceTimersByTimeAsync(timeoutMs); + let result: Awaited> | undefined; + const unloading = session.unload().then((info) => { + result = info; + }); + await flush(); + expect(result).toMatchObject({ status: 'available', injected: false }); + expect(clients).toHaveLength(1); + expect(injector.unload).toHaveBeenCalledExactlyOnceWith(session.pid, DUMMY_HANDLE); + await unloading; + }); + + it('starts the deadline after loading completes and repeated load calls do not postpone it', async () => { + const { session, injector } = setup(); + let finishLoading!: (value: { + method: 'loadModuleManual'; + handle: ManualMapHandle; + }) => void; + injector.inject.mockReturnValueOnce( + new Promise((resolve) => { + finishLoading = resolve; + }), + ); + const loading = session.load(); + await flush(); + await vi.advanceTimersByTimeAsync(timeoutMs * 2); + expect(session.status).toBe('loading'); + + finishLoading({ method: 'loadModuleManual', handle: DUMMY_HANDLE }); + await loading; + await vi.advanceTimersByTimeAsync(timeoutMs - 1); + await session.load(); + expect(session.status).toBe('connecting'); + await vi.advanceTimersByTimeAsync(1); + expect(session.status).toBe('error'); + expect(injector.inject).toHaveBeenCalledOnce(); + }); + + it('unloads immediately if a late connection attempt is still handshaking after timeout', async () => { + const { session, currentClient, injector } = setup({ + connectClient: () => new Promise(() => {}), + }); + await session.load(); + await vi.advanceTimersByTimeAsync(timeoutMs); + session.onPipeUp(); + await flush(); + let result: Awaited> | undefined; + const unloading = session.unload().then((info) => { + result = info; + }); + await flush(); + expect(result).toMatchObject({ status: 'available', injected: false }); + expect(currentClient().isClosed).toBe(true); + expect(injector.unload).toHaveBeenCalledExactlyOnceWith(session.pid, DUMMY_HANDLE); + expect(vi.getTimerCount()).toBe(0); + await unloading; + }); + + it('cancels the deadline on unload and gives a new load a full budget', async () => { + const { session, injector } = setup(); + await session.load(); + await vi.advanceTimersByTimeAsync(timeoutMs - 1); + await session.unload(); + await session.load(); + await vi.advanceTimersByTimeAsync(1); + expect(session.status).toBe('connecting'); + await vi.advanceTimersByTimeAsync(timeoutMs - 1); + expect(session.status).toBe('error'); + expect(injector.inject).toHaveBeenCalledTimes(2); + }); + + it.each(['dispose', 'process-gone'] as const)( + 'cancels a pending deadline on %s', + async (event) => { + const { session } = setup(); + const changed = vi.fn(); + await session.load(); + session.on('status-changed', changed); + + if (event === 'dispose') { + session.dispose(); + } else { + session.notifyProcessGone(); + await flush(); + } + + changed.mockClear(); + await vi.advanceTimersByTimeAsync(timeoutMs * 2); + expect(changed).not.toHaveBeenCalled(); + expect(session.error).toBe(''); + expect(vi.getTimerCount()).toBe(0); + }, + ); + + it('does not let a disposed connection finish or retain its timer', async () => { + let finishConnect!: () => void; + const { session, currentClient } = setup({ + pipeLive: true, + connectClient: () => + new Promise((resolve) => { + finishConnect = resolve; + }), + }); + await session.load(); + session.onPipeUp(); + await flush(); + session.dispose(); + await flush(); + expect(currentClient().isClosed).toBe(true); + expect(vi.getTimerCount()).toBe(0); + finishConnect(); + await flush(); + expect(session.toInfo()).toMatchObject({ connected: false, loggedIn: false }); + }); + + it('does not use the initial deadline as a login or later disconnection timeout', async () => { + const { session, setPipeLive } = setup({ pipeLive: true }); + session.onPipeUp(); + await flush(); + await vi.advanceTimersByTimeAsync(timeoutMs * 2); + expect(session.toInfo()).toMatchObject({ status: 'loaded', loggedIn: false, error: '' }); + + setPipeLive(false); + session.onPipeDown(); + await flush(); + await vi.advanceTimersByTimeAsync(timeoutMs * 2); + expect(session.toInfo()).toMatchObject({ status: 'connecting', error: '' }); + }); +}); + +describe('HookSession — pipe up/down → connect lifecycle', () => { + it('onPipeUp after load: client connects → status loaded', async () => { + const ctx = makeSession({ pipeLive: true }); + await ctx.session.load(); + ctx.session.onPipeUp(); + await flush(); + + expect(ctx.session.status).toBe('loaded'); + expect(ctx.clients).toHaveLength(1); + }); + + it('emits "login" with (uin, sender) after client signals loggedIn', async () => { + const ctx = makeSession({ pipeLive: true }); + const loginSpy = vi.fn(); + ctx.session.on('login', loginSpy); + + await ctx.session.load(); + ctx.session.onPipeUp(); + await flush(); + ctx.currentClient().fireLogin('10001'); + + expect(loginSpy).toHaveBeenCalledOnce(); + const [uin, sender] = loginSpy.mock.calls[0]!; + expect(uin).toBe('10001'); + expect(typeof (sender as { sendPacket: unknown }).sendPacket).toBe('function'); + expect(ctx.session.status).toBe('online'); + expect(ctx.session.uin).toBe('10001'); + }); + + it('does not re-emit "login" on duplicate loginState with same uin', async () => { + const ctx = makeSession({ pipeLive: true }); + const loginSpy = vi.fn(); + ctx.session.on('login', loginSpy); + + await ctx.session.load(); + ctx.session.onPipeUp(); + await flush(); + + ctx.currentClient().fireLogin('10001'); + ctx.currentClient().fireLogin('10001'); + + expect(loginSpy).toHaveBeenCalledOnce(); + }); + + it('connect failure: stays in connecting, error message captured (will retry on next tick)', async () => { + const ctx = makeSession({ pipeLive: true, clientFailsConnect: true }); + await ctx.session.load(); + ctx.session.onPipeUp(); + await flush(); + + expect(ctx.session.status).toBe('connecting'); + expect(ctx.session.error).toBe('connect failed'); + }); + + it('onPipeDown while logged in: emits disconnected(true), status disconnected', async () => { + const ctx = makeSession({ pipeLive: true }); + const discSpy = vi.fn(); + ctx.session.on('disconnected', discSpy); + + await ctx.session.load(); + ctx.session.onPipeUp(); + await flush(); + ctx.currentClient().fireLogin('10001'); + + ctx.session.onPipeDown(); + await flush(); + + expect(discSpy).toHaveBeenCalledWith(true); + expect(ctx.session.status).toBe('disconnected'); + }); + + it('onPipeDown while connected-but-not-logged-in: emits disconnected(false), status connecting', async () => { + const ctx = makeSession({ pipeLive: true }); + const discSpy = vi.fn(); + ctx.session.on('disconnected', discSpy); + + await ctx.session.load(); + ctx.session.onPipeUp(); + await flush(); + // No login fired — we're connected but not logged in. + + ctx.session.onPipeDown(); + await flush(); + + // disconnected(false) is currently NOT emitted — disconnect events are + // reserved for "we owe BridgeManager a disconnect notification". This + // preserves the original behaviour. + expect(discSpy).not.toHaveBeenCalled(); + expect(ctx.session.status).toBe('connecting'); + }); + + it('repeated pipe down → up cycles reach consistent state', async () => { + const ctx = makeSession({ pipeLive: true }); + await ctx.session.load(); + ctx.session.onPipeUp(); + await flush(); + ctx.currentClient().fireLogin('10001'); + expect(ctx.session.status).toBe('online'); + + ctx.session.onPipeDown(); + await flush(); + expect(ctx.session.status).toBe('disconnected'); + + // Pipe returns — session builds a fresh client. + ctx.session.onPipeUp(); + await flush(); + expect(ctx.clients.length).toBeGreaterThan(1); + expect(ctx.session.status).toBe('loaded'); + }); +}); + +describe('HookSession — unload', () => { + it('while logged in: emits disconnected(true), calls unload, status available', async () => { + const ctx = makeSession({ pipeLive: false }); + await ctx.session.load(); + ctx.setPipeLive(true); + ctx.session.onPipeUp(); + await flush(); + ctx.currentClient().fireLogin('10001'); + + const discSpy = vi.fn(); + ctx.session.on('disconnected', discSpy); + ctx.setPipeLive(false); // unload verification will see the pipe gone + + await ctx.session.unload(); + + expect(discSpy).toHaveBeenCalledWith(true); + expect(ctx.injector.unload).toHaveBeenCalledOnce(); + expect(ctx.session.status).toBe('available'); + }); + + it('when pipe stays live after unload: status connecting with retry message', async () => { + const ctx = makeSession({ pipeLive: false }); + await ctx.session.load(); + // Simulate the unload-failed scenario: pipe is still up after unload. + ctx.setPipeLive(true); + + const info = await ctx.session.unload(); + + expect(info.status).toBe('connecting'); + expect(info.error).toContain('命名管道仍然存在'); + }); + + it('forces a fresh tick before verifying so a stale snapshot does not false-flag a successful unload', async () => { + // Reproduces the Windows-WebUI bug: PipeWatcher's cached snapshot is + // up to 1500ms stale, so right after a successful native unload the + // pre-fix code would read isPipeLive() == true and report failure + // even though the DLL is gone. With the fix, tickNow() refreshes + // the snapshot first and verification correctly sees the pipe down. + const pid = 5555; + let pipeLive = true; // initial cached state: pipe is live + const tickNow = vi.fn(async () => { + pipeLive = false; + }); // OS poll says: gone now + + const session = new HookSession(pid, { + injector: { + inject: vi.fn(async () => ({ + method: 'loadModuleManual' as const, + handle: DUMMY_HANDLE, + })), + unload: vi.fn(async () => {}), + }, + makeClient: () => new FakeClient() as unknown as QqHookClient, + pipeWatcher: { isPipeLive: () => pipeLive, tickNow }, + }); + await session.load(); + pipeLive = true; // ensure the pre-check snapshot says "live" + + const info = await session.unload(); + + expect(tickNow).toHaveBeenCalledOnce(); + expect(info.status).toBe('available'); + expect(info.error).toBe(''); + }); +}); + +describe('HookSession — serialization', () => { + it('waits for native unload before starting a queued load', async () => { + const ctx = makeSession(); + await ctx.session.load(); + let finish!: () => void; + ctx.injector.unload.mockReturnValueOnce( + new Promise((resolve) => { + finish = resolve; + }), + ); + + const unloading = ctx.session.unload(); + const loading = ctx.session.load(); + await flush(); + expect(ctx.injector.unload).toHaveBeenCalledOnce(); + expect(ctx.injector.inject).toHaveBeenCalledTimes(1); + expect(ctx.session.toInfo().injected).toBe(true); + + finish(); + await unloading; + await loading; + expect(ctx.injector.inject).toHaveBeenCalledTimes(2); + ctx.session.dispose(); + }); + + it('retains the handle when native unload rejects so it can be retried', async () => { + const ctx = makeSession(); + await ctx.session.load(); + ctx.injector.unload.mockRejectedValueOnce(new Error('unload rejected')); + + await expect(ctx.session.unload()).resolves.toMatchObject({ + status: 'error', + error: 'unload rejected', + injected: true, + }); + await expect(ctx.session.unload()).resolves.toMatchObject({ + status: 'available', + injected: false, + }); + expect(ctx.injector.unload).toHaveBeenNthCalledWith(2, ctx.session.pid, DUMMY_HANDLE); + ctx.session.dispose(); + }); + + it('user mashing load → unload → load runs in order, end state consistent', async () => { + const ctx = makeSession({ pipeLive: false }); + + const p1 = ctx.session.load(); + const p2 = ctx.session.unload(); + const p3 = ctx.session.load(); + await Promise.all([p1, p2, p3]); + + expect(ctx.injector.inject).toHaveBeenCalledTimes(2); + expect(ctx.injector.unload).toHaveBeenCalledTimes(1); + expect(ctx.session.status).toBe('connecting'); + }); + + it('onPipeUp queued behind in-flight load resolves correctly', async () => { + const ctx = makeSession({ pipeLive: true }); + + const loadPromise = ctx.session.load(); + ctx.session.onPipeUp(); // queued behind load + + await loadPromise; + await flush(); + + expect(ctx.session.status).toBe('loaded'); + }); +}); + +describe('HookSession — process gone', () => { + it('emits disconnected(true) then disposed when killed while logged in', async () => { + const ctx = makeSession({ pipeLive: true }); + await ctx.session.load(); + ctx.session.onPipeUp(); + await flush(); + ctx.currentClient().fireLogin('10001'); + + const events: string[] = []; + ctx.session.on('disconnected', () => events.push('disconnected')); + ctx.session.on('disposed', () => events.push('disposed')); + + ctx.session.notifyProcessGone(); + await flush(); + + expect(events).toEqual(['disconnected', 'disposed']); + expect(ctx.session.isDisposed).toBe(true); + }); + + it('emits only disposed when killed before login', async () => { + const ctx = makeSession({ pipeLive: true }); + await ctx.session.load(); + ctx.session.onPipeUp(); + await flush(); + + const events: string[] = []; + ctx.session.on('disconnected', () => events.push('disconnected')); + ctx.session.on('disposed', () => events.push('disposed')); + + ctx.session.notifyProcessGone(); + await flush(); + + expect(events).toEqual(['disposed']); + }); +}); + +describe('HookSession — dispose', () => { + it('emits disconnected(true) while logged in so BridgeManager can detach the PID', async () => { + const ctx = makeSession({ pipeLive: true }); + const discSpy = vi.fn(); + ctx.session.on('disconnected', discSpy); + + await ctx.session.load(); + ctx.session.onPipeUp(); + await flush(); + ctx.currentClient().fireLogin('10001'); + + ctx.session.dispose(); + + expect(discSpy).toHaveBeenCalledOnce(); + expect(discSpy).toHaveBeenCalledWith(true); + expect(ctx.session.isDisposed).toBe(true); + }); + + it('does not emit disconnected when disposed before login', async () => { + const ctx = makeSession({ pipeLive: true }); + const discSpy = vi.fn(); + ctx.session.on('disconnected', discSpy); + + await ctx.session.load(); + ctx.session.onPipeUp(); + await flush(); + + ctx.session.dispose(); + + expect(discSpy).not.toHaveBeenCalled(); + expect(ctx.session.isDisposed).toBe(true); + }); +}); + +describe('HookSession — refresh drift fix', () => { + // refresh while the pipe is down on a connected-but-never-logged-in + // session now reports 'connecting' (matching what onPipeDown gives for the + // same state), not the old spurious 'disconnected'. Pre-refactor, refresh's + // down branch ignored wasLoggedIn and always reported 'disconnected'. + + it('refresh-while-down + never logged in → connecting (not disconnected), no disconnect emit', async () => { + const ctx = makeSession({ pipeLive: true }); + await ctx.session.load(); + ctx.session.onPipeUp(); + await flush(); + expect(ctx.session.status).toBe('loaded'); // connected, never logged in + + const discSpy = vi.fn(); + ctx.session.on('disconnected', discSpy); + ctx.setPipeLive(false); + + const info = await ctx.session.refresh(); + + expect(info.status).toBe('connecting'); // drift fix: was 'disconnected' + expect(discSpy).not.toHaveBeenCalled(); // never logged in ⇒ nothing owed + }); + + it('refresh-while-down after login still → disconnected + emits disconnected(true)', async () => { + // The flip is scoped to the never-logged-in case; a real session that + // had reached login must still settle to 'disconnected' and notify. + const ctx = makeSession({ pipeLive: true }); + await ctx.session.load(); + ctx.session.onPipeUp(); + await flush(); + ctx.currentClient().fireLogin('10001'); + expect(ctx.session.status).toBe('online'); + + const discSpy = vi.fn(); + ctx.session.on('disconnected', discSpy); + ctx.setPipeLive(false); + + const info = await ctx.session.refresh(); + + expect(info.status).toBe('disconnected'); + expect(discSpy).toHaveBeenCalledWith(true); + }); +}); + +describe('HookSession — pipe-down must not clobber a settled error', () => { + // Regression net for the phase-2 reconcilePipeDown !connected short-circuit: + // a pipe-down tick on a session that never reached a live connection must + // not wipe a diagnostic error or emit a spurious status-changed. + + it('onPipeDown after a failed connect keeps the error and does not re-emit', async () => { + const ctx = makeSession({ pipeLive: true, clientFailsConnect: true }); + await ctx.session.load(); + ctx.session.onPipeUp(); + await flush(); + expect(ctx.session.status).toBe('connecting'); + expect(ctx.session.error).toBe('connect failed'); + + const statusSpy = vi.fn(); + ctx.session.on('status-changed', statusSpy); + ctx.session.onPipeDown(); + await flush(); + + expect(ctx.session.status).toBe('connecting'); + expect(ctx.session.error).toBe('connect failed'); // not wiped to '' + expect(statusSpy).not.toHaveBeenCalled(); // no spurious emit + }); + + it('onPipeDown after a failed load leaves the error status intact', async () => { + const injector = { + inject: vi.fn(async () => { + throw new Error('inject boom'); + }), + unload: vi.fn(async () => {}), + }; + const session = new HookSession(1234, { + injector, + makeClient: () => new FakeClient() as unknown as QqHookClient, + pipeWatcher: { isPipeLive: () => false }, + }); + await session.load(); + expect(session.status).toBe('error'); + expect(session.error).toBe('inject boom'); + + session.onPipeDown(); + await flush(); + + expect(session.status).toBe('error'); // not flipped to 'available' + expect(session.error).toBe('inject boom'); // not wiped + }); +}); + +describe('HookSession — packet forwarding', () => { + it('forwards client receipts only for the active account without changing direction', async () => { + const onPacket = vi.fn(); + const ctx = makeSession({ pipeLive: true, onPacket }); + await ctx.session.load(); + ctx.session.onPipeUp(); + await flush(); + ctx.currentClient().fireLogin('10001'); + const receipt: QqHookPacket = { + seq: 42, + error: 0, + cmd: 'ClientMessageReceipt', + uin: '10001', + source: 'client-message', + body: Buffer.from([1, 2, 3]), + }; + + for (const uin of ['', '0', '20002']) { + ctx.currentClient().firePacket({ ...receipt, uin }); + } + + expect(onPacket).not.toHaveBeenCalled(); + ctx.currentClient().firePacket(receipt); + expect(onPacket).toHaveBeenCalledExactlyOnceWith( + expect.objectContaining({ + pid: 1234, + uin: '10001', + source: 'client-message', + fromClient: false, + }), + ); + ctx.currentClient().fireLogin('20002'); + ctx.currentClient().firePacket(receipt); + expect(onPacket).toHaveBeenCalledOnce(); + await ctx.session.dispose(); + }); + + // These tests cover the field-rename + filter logic that used to live + // inside the deleted NtqqHandler.onHookPacket. Inlining it here means + // we can exercise the transformation with a plain vi.fn() sink, no + // event-emitter machinery required. + + it('forwards parsed packets to onPacket sink with PacketInfo shape', async () => { + const onPacket = vi.fn(); + const ctx = makeSession({ pipeLive: true, onPacket }); + await ctx.session.load(); + ctx.session.onPipeUp(); + await flush(); + ctx.currentClient().fireLogin('10001'); + + ctx.currentClient().firePacket({ + seq: 42, + error: 0, + cmd: 'trpc.msg.olpush.OlPushService.MsgPush', + uin: '10001', + body: Buffer.from([0x01, 0x02, 0x03]), + }); + + expect(onPacket).toHaveBeenCalledOnce(); + const pkt = onPacket.mock.calls[0]![0]; + expect(pkt).toMatchObject({ + pid: 1234, + uin: '10001', + serviceCmd: 'trpc.msg.olpush.OlPushService.MsgPush', + seqId: 42, + retCode: 0, + fromClient: false, + }); + expect(Buffer.isBuffer(pkt.body)).toBe(true); + expect([...pkt.body]).toEqual([1, 2, 3]); + }); + + it('falls back to session uin when packet.uin is empty', async () => { + const onPacket = vi.fn(); + const ctx = makeSession({ pipeLive: true, onPacket }); + await ctx.session.load(); + ctx.session.onPipeUp(); + await flush(); + ctx.currentClient().fireLogin('10001'); + + ctx.currentClient().firePacket({ + seq: 1, + error: 0, + cmd: 'foo', + uin: '', + body: Buffer.alloc(0), + }); + + expect(onPacket.mock.calls[0]![0].uin).toBe('10001'); + }); + + it('drops packets received before login', async () => { + const onPacket = vi.fn(); + const ctx = makeSession({ pipeLive: true, onPacket }); + await ctx.session.load(); + ctx.session.onPipeUp(); + await flush(); + // No login fired yet. + + ctx.currentClient().firePacket({ + seq: 1, + error: 0, + cmd: 'foo', + uin: '10001', + body: Buffer.alloc(0), + }); + + expect(onPacket).not.toHaveBeenCalled(); + }); + + it('drops packets whose uin is non-real ("0" / too short / non-numeric)', async () => { + const onPacket = vi.fn(); + const ctx = makeSession({ pipeLive: true, onPacket }); + await ctx.session.load(); + ctx.session.onPipeUp(); + await flush(); + ctx.currentClient().fireLogin('10001'); + + // Packet uin '0' falls back to session uin '10001' — that one passes. + // Force a bad uin via the packet AND null out session uin by simulating + // a logout? Simpler: send a packet with uin '42' (numeric but <5 chars). + ctx.currentClient().firePacket({ + seq: 1, + error: 0, + cmd: 'foo', + uin: '42', + body: Buffer.alloc(0), + }); + + expect(onPacket).not.toHaveBeenCalled(); + }); + + it('is a no-op when no onPacket sink is provided', async () => { + const ctx = makeSession({ pipeLive: true }); // no onPacket + await ctx.session.load(); + ctx.session.onPipeUp(); + await flush(); + ctx.currentClient().fireLogin('10001'); + + // Should not throw / crash. + ctx.currentClient().firePacket({ + seq: 1, + error: 0, + cmd: 'foo', + uin: '10001', + body: Buffer.from([7]), + }); + }); +}); + +describe('HookSession — login reconcile (Docker auto-login safety net)', () => { + it.each([ + { uin: '1700000000000', uinNumber: 1700000000000n }, + { uin: 'not-an-account', uinNumber: 0n }, + { uin: '0', uinNumber: 0n }, + { uin: '', uinNumber: 1700000000000n }, + ])( + 'reconciles a rejected login identity received during connection: $uin', + async (identity) => { + vi.useFakeTimers(); + setLogLevel('warn'); + const entries: LogEntry[] = []; + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + const detectLoginUin = vi.fn(async () => '10001'); + const onPacket = vi.fn(); + const state = { loggedIn: true, ...identity }; + const ctx = makeSession({ + pipeLive: true, + detectLoginUin, + onPacket, + connectClient: async (client) => client.reconcileLoginState(state), + }); + const login = vi.fn(); + ctx.session.on('login', login); + + try { + await ctx.session.load(); + ctx.session.onPipeUp(); + await vi.advanceTimersByTimeAsync(0); + expect(ctx.currentClient().loginIdentityHints).toEqual(['10001']); + expect(ctx.session.toInfo()).toMatchObject({ + connected: true, + loggedIn: false, + status: 'loaded', + uin: '0', + }); + expect(login).not.toHaveBeenCalled(); + + const packet = { + seq: 1, + error: 0, + cmd: 'Test.Message', + uin: '10001', + body: Buffer.alloc(0), + }; + ctx.currentClient().firePacket(packet); + expect(onPacket).not.toHaveBeenCalled(); + ctx.currentClient().reconcileLoginState(state); + await vi.advanceTimersByTimeAsync(9000); + expect(ctx.currentClient().loginIdentityHints).toEqual(['10001']); + expect( + entries + .filter((entry) => entry.scope === 'HookSession' && entry.level === 'warn') + .map((entry) => entry.message), + ).toEqual(['Login readiness rejected: PID=1234 reason=invalid_account_identity']); + + ctx.currentClient().fireLogin('10001'); + ctx.currentClient().firePacket(packet); + expect(login).toHaveBeenCalledOnce(); + expect(onPacket).toHaveBeenCalledOnce(); + expect(ctx.session.toInfo()).toMatchObject({ + loggedIn: true, + status: 'online', + uin: '10001', + }); + const detections = detectLoginUin.mock.calls.length; + await vi.advanceTimersByTimeAsync(30_000); + expect(detectLoginUin).toHaveBeenCalledTimes(detections); + } finally { + ctx.session.dispose(); + unsubscribe(); + vi.useRealTimers(); + } + }, + ); + + it('revokes a ready account and starts a fresh identity check when login readiness is lost', async () => { + vi.useFakeTimers(); + const ctx = makeSession({ pipeLive: true, detectLoginUin: async () => '10001' }); + const login = vi.fn(); + const disconnected = vi.fn(); + ctx.session.on('login', login); + ctx.session.on('disconnected', disconnected); + + try { + await ctx.session.load(); + ctx.session.onPipeUp(); + await vi.advanceTimersByTimeAsync(0); + expect(ctx.currentClient().loginIdentityHints).toEqual(['10001']); + ctx.currentClient().fireLogin('10001'); + expect(login).toHaveBeenCalledOnce(); + + ctx.currentClient().fireLogin('1700000000000'); + ctx.currentClient().fireLogin('1700000000001'); + await vi.advanceTimersByTimeAsync(0); + expect(disconnected).toHaveBeenCalledExactlyOnceWith(true); + expect(ctx.session.toInfo()).toMatchObject({ + status: 'loaded', + loggedIn: false, + uin: '0', + }); + expect(ctx.currentClient().loginIdentityHints).toEqual(['10001', '10001']); + expect(login).toHaveBeenCalledOnce(); + + ctx.currentClient().fireLogin('10001'); + expect(login).toHaveBeenCalledTimes(2); + expect(ctx.session.status).toBe('online'); + } finally { + ctx.session.dispose(); + vi.useRealTimers(); + } + }); + + it('does not probe a rejected login identity before a stalled connection times out', async () => { + vi.useFakeTimers(); + const handshake = Promise.withResolvers(); + const detectLoginUin = vi.fn(async () => '10001'); + const ctx = makeSession({ detectLoginUin, connectClient: () => handshake.promise }); + const login = vi.fn(); + ctx.session.on('login', login); + + try { + await ctx.session.load(); + ctx.setPipeLive(true); + ctx.session.onPipeUp(); + await vi.advanceTimersByTimeAsync(0); + const previous = ctx.currentClient(); + previous.fireLogin('1700000000000'); + await vi.advanceTimersByTimeAsync(60_000); + expect(ctx.session.toInfo()).toMatchObject({ + status: 'error', + connected: false, + loggedIn: false, + }); + expect(detectLoginUin).not.toHaveBeenCalled(); + expect(previous.isClosed).toBe(true); + expect(vi.getTimerCount()).toBe(0); + + previous.fireLogin('10001'); + handshake.resolve(); + await vi.advanceTimersByTimeAsync(0); + expect(login).not.toHaveBeenCalled(); + await ctx.session.load(); + ctx.session.onPipeUp(); + await vi.advanceTimersByTimeAsync(0); + expect(ctx.currentClient()).not.toBe(previous); + expect(ctx.currentClient().loginIdentityHints).toEqual(['10001']); + expect(ctx.session.toInfo()).toMatchObject({ + status: 'loaded', + connected: true, + loggedIn: false, + }); + } finally { + handshake.resolve(); + ctx.session.dispose(); + vi.useRealTimers(); + } + }); + + it('discards an identity acknowledgement from before login readiness was lost', async () => { + vi.useFakeTimers(); + const hint = Promise.withResolvers(); + const ctx = makeSession({ + pipeLive: true, + detectLoginUin: async () => '10001', + connectClient: async (client) => { + vi.spyOn(client, 'reconcileLoginIdentity').mockImplementationOnce(async (uin) => { + client.loginIdentityHints.push(uin); + await hint.promise; + }); + }, + }); + + try { + await ctx.session.load(); + ctx.session.onPipeUp(); + await vi.advanceTimersByTimeAsync(0); + expect(ctx.currentClient().loginIdentityHints).toEqual(['10001']); + ctx.currentClient().fireLogin('10001'); + ctx.currentClient().fireLogin('1700000000000'); + hint.resolve(); + await vi.advanceTimersByTimeAsync(3000); + expect(ctx.currentClient().loginIdentityHints).toEqual(['10001', '10001']); + expect(ctx.session.toInfo()).toMatchObject({ status: 'loaded', loggedIn: false }); + } finally { + hint.resolve(); + ctx.session.dispose(); + vi.useRealTimers(); + } + }); + + it('discards an account observation from before login readiness was lost', async () => { + vi.useFakeTimers(); + const observation = Promise.withResolvers(); + const detectLoginUin = vi.fn<() => Promise>().mockResolvedValue('20002'); + detectLoginUin.mockReturnValueOnce(observation.promise); + const ctx = makeSession({ pipeLive: true, detectLoginUin }); + + try { + await ctx.session.load(); + ctx.session.onPipeUp(); + await vi.advanceTimersByTimeAsync(0); + ctx.currentClient().fireLogin('10001'); + ctx.currentClient().fireLogin('1700000000000'); + observation.resolve('10001'); + await vi.advanceTimersByTimeAsync(0); + expect(ctx.currentClient().loginIdentityHints).toEqual([]); + await vi.advanceTimersByTimeAsync(3000); + expect(ctx.currentClient().loginIdentityHints).toEqual(['20002']); + } finally { + observation.resolve(null); + ctx.session.dispose(); + vi.useRealTimers(); + } + }); + + it.each(['observation', 'hint'] as const)( + 'ignores a late %s failure after login readiness is confirmed', + async (phase) => { + vi.useFakeTimers(); + setLogLevel('trace'); + const entries: LogEntry[] = []; + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + const pending = Promise.withResolvers(); + const detectLoginUin = vi.fn(async () => { + if (phase === 'observation') { + await pending.promise; + } + + return '10001'; + }); + const ctx = makeSession({ + pipeLive: true, + detectLoginUin, + connectClient: async (client) => { + if (phase === 'hint') { + vi.spyOn(client, 'reconcileLoginIdentity').mockImplementationOnce( + async (uin) => { + client.loginIdentityHints.push(uin); + await pending.promise; + }, + ); + } + }, + }); + + try { + await ctx.session.load(); + ctx.session.onPipeUp(); + await vi.advanceTimersByTimeAsync(0); + expect(detectLoginUin).toHaveBeenCalledOnce(); + expect(ctx.currentClient().loginIdentityHints).toEqual( + phase === 'hint' ? ['10001'] : [], + ); + ctx.currentClient().fireLogin('10001'); + entries.length = 0; + pending.reject(new Error('expired identity request')); + await vi.advanceTimersByTimeAsync(30_000); + expect( + entries.some((entry) => entry.message.includes('expired identity request')), + ).toBe(false); + expect(detectLoginUin).toHaveBeenCalledOnce(); + expect(ctx.session.toInfo()).toMatchObject({ + status: 'online', + loggedIn: true, + uin: '10001', + }); + } finally { + pending.resolve(); + ctx.session.dispose(); + unsubscribe(); + vi.useRealTimers(); + } + }, + ); + + it('clears the login check timer when identity detection disposes the session synchronously', async () => { + vi.useFakeTimers(); + const detectLoginUin = vi.fn<() => Promise>(); + const ctx = makeSession({ pipeLive: true, detectLoginUin }); + detectLoginUin.mockImplementation(async () => { + ctx.session.dispose(); + return null; + }); + + try { + await ctx.session.load(); + ctx.session.onPipeUp(); + await vi.advanceTimersByTimeAsync(0); + expect(ctx.session.isDisposed).toBe(true); + expect(vi.getTimerCount()).toBe(0); + } finally { + ctx.session.dispose(); + vi.useRealTimers(); + } + }); + + it('discards an identity read started before a pipe reconnect', async () => { + const detection = Promise.withResolvers(); + const ctx = makeSession({ pipeLive: true, detectLoginUin: () => detection.promise }); + + try { + await ctx.session.load(); + ctx.session.onPipeUp(); + await flush(); + const previous = ctx.currentClient(); + previous.close(); + await flush(); + ctx.session.onPipeUp(); + await flush(); + const current = ctx.currentClient(); + expect(current).not.toBe(previous); + detection.resolve('10001'); + await flush(); + expect(current.loginIdentityHints).toEqual([]); + expect(previous.loginIdentityHints).toEqual([]); + } finally { + detection.resolve(null); + ctx.session.dispose(); + } + }); + + it('keeps the packet sender usable only after native readiness confirms the identity hint', async () => { + const ctx = makeSession({ + pipeLive: true, + detectLoginUin: async () => '10001', + nativeReadyOnIdentityHint: true, + }); + let sender: PacketSender | undefined; + ctx.session.on('login', (_uin: string, nextSender: PacketSender) => { + sender = nextSender; + }); + + await ctx.session.load(); + ctx.session.onPipeUp(); + await flush(); + await flush(); + + expect(sender).toBeDefined(); + const result = await sender!.sendPacket('Test.LoginReady', Buffer.from('request')); + + expect(result).toMatchObject({ + success: true, + gotResponse: true, + errorCode: 0, + responseData: Buffer.from('reply'), + }); + expect(ctx.currentClient().sentPackets).toEqual([ + { serviceCmd: 'Test.LoginReady', body: Buffer.from('request') }, + ]); + }); + + it('treats a locally detected account as an identity hint, not native login proof', async () => { + // Account identity does not prove request readiness. The bridge must wait + // for a login-state confirmation instead of synthesizing one. + const ctx = makeSession({ + pipeLive: true, + detectLoginUin: async () => '10001', + }); + const loginSpy = vi.fn(); + ctx.session.on('login', loginSpy); + + await ctx.session.load(); + ctx.session.onPipeUp(); + await flush(); // connect (not logged in via frame) → starts reconcile + await flush(); // immediate probe resolves → forwards identity hint + + expect(ctx.currentClient().loginIdentityHints).toEqual(['10001']); + expect(loginSpy).not.toHaveBeenCalled(); + expect(ctx.session.status).toBe('loaded'); + expect(ctx.session.uin).toBe('0'); + }); + + it('forwards the same identity at most once per pipe connection', async () => { + vi.useFakeTimers(); + const ctx = makeSession({ + pipeLive: true, + detectLoginUin: async () => '10001', + }); + + try { + await ctx.session.load(); + ctx.session.onPipeUp(); + await vi.advanceTimersByTimeAsync(0); + await vi.advanceTimersByTimeAsync(9000); + + expect(ctx.currentClient().loginIdentityHints).toEqual(['10001']); + } finally { + ctx.session.dispose(); + vi.useRealTimers(); + } + }); + + it('keeps observing identity after acknowledgement and forwards an account change', async () => { + vi.useFakeTimers(); + let uin = '10001'; + const ctx = makeSession({ + pipeLive: true, + detectLoginUin: async () => uin, + }); + + try { + await ctx.session.load(); + ctx.session.onPipeUp(); + await vi.advanceTimersByTimeAsync(0); + expect(ctx.currentClient().loginIdentityHints).toEqual(['10001']); + + uin = '20002'; + await vi.advanceTimersByTimeAsync(29_999); + expect(ctx.currentClient().loginIdentityHints).toEqual(['10001']); + + await vi.advanceTimersByTimeAsync(1); + expect(ctx.currentClient().loginIdentityHints).toEqual(['10001', '20002']); + } finally { + ctx.session.dispose(); + vi.useRealTimers(); + } + }); + + it('retries identity forwarding failures with a strict bound', async () => { + vi.useFakeTimers(); + const ctx = makeSession({ + pipeLive: true, + detectLoginUin: async () => '10001', + identityHintFailures: 3, + }); + + try { + await ctx.session.load(); + ctx.session.onPipeUp(); + await vi.advanceTimersByTimeAsync(0); + expect(ctx.currentClient().loginIdentityHints).toEqual(['10001']); + + await vi.advanceTimersByTimeAsync(3000); + expect(ctx.currentClient().loginIdentityHints).toEqual(['10001', '10001']); + + await vi.advanceTimersByTimeAsync(9000); + expect(ctx.currentClient().loginIdentityHints).toEqual(['10001', '10001', '10001']); + + await vi.advanceTimersByTimeAsync(30_000); + expect(ctx.currentClient().loginIdentityHints).toHaveLength(3); + } finally { + ctx.session.dispose(); + vi.useRealTimers(); + } + }); + + it('does not log in when no account is detected', async () => { + const ctx = makeSession({ + pipeLive: true, + detectLoginUin: async () => null, + }); + const loginSpy = vi.fn(); + ctx.session.on('login', loginSpy); + await ctx.session.load(); + ctx.session.onPipeUp(); + await flush(); + await flush(); + + expect(loginSpy).not.toHaveBeenCalled(); + expect(ctx.session.status).toBe('loaded'); + }); + + it('ignores a detected account with a non-real uin (0)', async () => { + const ctx = makeSession({ + pipeLive: true, + detectLoginUin: async () => '0', + }); + const loginSpy = vi.fn(); + ctx.session.on('login', loginSpy); + await ctx.session.load(); + ctx.session.onPipeUp(); + await flush(); + await flush(); + + expect(loginSpy).not.toHaveBeenCalled(); + }); + + it('tolerates a throwing detection (best-effort, no crash/login)', async () => { + const ctx = makeSession({ + pipeLive: true, + detectLoginUin: async () => { + throw new Error('account detection unavailable'); + }, + }); + const loginSpy = vi.fn(); + ctx.session.on('login', loginSpy); + await ctx.session.load(); + ctx.session.onPipeUp(); + await flush(); + await flush(); + + expect(loginSpy).not.toHaveBeenCalled(); + expect(ctx.session.status).toBe('loaded'); + }); + + it('detects a login that lands on a LATER interval check', async () => { + vi.useFakeTimers(); + + try { + let signedIn = false; + const ctx = makeSession({ + pipeLive: true, + detectLoginUin: async () => (signedIn ? '10001' : null), + nativeReadyOnIdentityHint: true, + }); + const loginSpy = vi.fn(); + ctx.session.on('login', loginSpy); + + await ctx.session.load(); + ctx.session.onPipeUp(); + await vi.advanceTimersByTimeAsync(0); // connect + immediate probe (not logged in yet) + expect(loginSpy).not.toHaveBeenCalled(); + + signedIn = true; // the account's database shows up as signed in + await vi.advanceTimersByTimeAsync(3000); // next interval check picks it up + + expect(loginSpy).toHaveBeenCalledOnce(); + expect(ctx.session.status).toBe('online'); + } finally { + vi.useRealTimers(); + } + }); + + it('does not double-emit when the pushed frame logs in first', async () => { + // Pushed-frame login wins; a subsequent probe with the same uin must not + // re-emit (handleLoginState dedups), and the reconcile timer is stopped. + const detectLoginUin = vi.fn(async () => '10001'); + const ctx = makeSession({ pipeLive: true, detectLoginUin }); + const loginSpy = vi.fn(); + ctx.session.on('login', loginSpy); + + await ctx.session.load(); + ctx.session.onPipeUp(); + await flush(); + ctx.currentClient().fireLogin('10001'); // pushed-frame login first + await flush(); + + expect(loginSpy).toHaveBeenCalledOnce(); + expect(ctx.session.status).toBe('online'); + }); +}); + +describe('HookSession — end-to-end receive health (#233)', () => { + const HEARTBEAT_CMD = 'trpc.qq_new_tech.status_svc.StatusService.SsoHeartBeat'; + const MESSAGE_CMD = 'trpc.msg.olpush.OlPushService.MsgPush'; + + async function startReceiveSession(onPacket?: PacketSink) { + const ctx = makeSession({ pipeLive: true, onPacket }); + const healthChanges: boolean[] = []; + ctx.session.on('receive-health-changed', (healthy: boolean) => healthChanges.push(healthy)); + await ctx.session.load(); + ctx.session.onPipeUp(); + await flush(); + ctx.currentClient().fireLogin('10001'); + return { ctx, healthChanges }; + } + + function firePacket( + ctx: ReturnType, + cmd: string, + uin = '10001', + seq = 1, + ): void { + ctx.currentClient().firePacket({ seq, error: 0, cmd, uin, body: Buffer.alloc(0) }); + } + + it('reports native outbound loss as unhealthy and recovers on the next successful request', async () => { + const { ctx, healthChanges } = await startReceiveSession(); + let sender: PacketSender | undefined; + ctx.session.on('login', (_uin: string, nextSender: PacketSender) => { + sender = nextSender; + }); + + try { + // Re-emit on a new account epoch so the test captures the session sender. + ctx.currentClient().fireLogin('20002'); + ctx.currentClient().sendError = new HookPipeRequestError( + 'The QQ connection changed. Please restart QQ and try again.', + PIPE_STATUS_CONNECTION_UNAVAILABLE, + 1, + ); + + await sender!.sendPacket('Test.Command', Buffer.alloc(0)); + expect(ctx.session.receiveHealthy).toBe(false); + expect(healthChanges).toEqual([false]); + + // Incoming traffic alone must not conceal a still-broken send path. + firePacket(ctx, HEARTBEAT_CMD, '20002'); + expect(ctx.session.receiveHealthy).toBe(false); + + ctx.currentClient().sendError = null; + await sender!.sendPacket('Test.Command', Buffer.alloc(0)); + expect(ctx.session.receiveHealthy).toBe(true); + expect(healthChanges).toEqual([false, true]); + } finally { + ctx.session.dispose(); + } + }); + + it('becomes unhealthy only after an observed QQ heartbeat stays silent, then recovers on the next packet', async () => { + vi.useFakeTimers({ toFake: ['setTimeout', 'Date'] }); + const { ctx, healthChanges } = await startReceiveSession(); + + try { + firePacket(ctx, HEARTBEAT_CMD); + + vi.advanceTimersByTime(90_000); + expect(ctx.session.receiveHealthy).toBe(true); + + vi.advanceTimersByTime(15_000); + expect(ctx.session.receiveHealthy).toBe(false); + expect(healthChanges).toEqual([false]); + + firePacket(ctx, MESSAGE_CMD, '10001', 2); + + expect(ctx.session.receiveHealthy).toBe(true); + expect(healthChanges).toEqual([false, true]); + } finally { + ctx.session.dispose(); + vi.useRealTimers(); + } + }); + + it('does not arm the watchdog when this QQ session has never exposed its heartbeat', async () => { + vi.useFakeTimers({ toFake: ['setTimeout', 'Date'] }); + const { ctx, healthChanges } = await startReceiveSession(); + + try { + firePacket(ctx, MESSAGE_CMD); + + vi.advanceTimersByTime(10 * 60_000); + + expect(ctx.session.receiveHealthy).toBe(true); + expect(healthChanges).toEqual([]); + } finally { + ctx.session.dispose(); + vi.useRealTimers(); + } + }); + + it('uses the confirmation window to avoid a sleep-resume false alarm', async () => { + vi.useFakeTimers({ toFake: ['setTimeout', 'Date'] }); + const { ctx, healthChanges } = await startReceiveSession(); + + try { + firePacket(ctx, HEARTBEAT_CMD); + + vi.advanceTimersByTime(90_000); + vi.advanceTimersByTime(14_999); + firePacket(ctx, HEARTBEAT_CMD, '10001', 2); + vi.advanceTimersByTime(1); + + expect(ctx.session.receiveHealthy).toBe(true); + expect(healthChanges).toEqual([]); + } finally { + ctx.session.dispose(); + vi.useRealTimers(); + } + }); + + it('does not carry an armed watchdog across a direct account switch', async () => { + vi.useFakeTimers({ toFake: ['setTimeout', 'Date'] }); + const { ctx, healthChanges } = await startReceiveSession(); + + try { + firePacket(ctx, HEARTBEAT_CMD); + + ctx.currentClient().fireLogin('20002'); + vi.advanceTimersByTime(10 * 60_000); + + expect(ctx.session.receiveHealthy).toBe(true); + expect(healthChanges).toEqual([]); + } finally { + ctx.session.dispose(); + vi.useRealTimers(); + } + }); + + it('requires the new account heartbeat after packet-driven PID migration', async () => { + vi.useFakeTimers({ toFake: ['setTimeout', 'Date'] }); + const { ctx, healthChanges } = await startReceiveSession(); + + try { + firePacket(ctx, HEARTBEAT_CMD); + firePacket(ctx, MESSAGE_CMD, '20002', 2); + vi.advanceTimersByTime(10 * 60_000); + + expect(ctx.session.receiveHealthy).toBe(true); + expect(healthChanges).toEqual([]); + + firePacket(ctx, HEARTBEAT_CMD, '20002', 3); + vi.advanceTimersByTime(105_000); + + expect(ctx.session.receiveHealthy).toBe(false); + expect(healthChanges).toEqual([false]); + } finally { + ctx.session.dispose(); + vi.useRealTimers(); + } + }); + + it('counts an invalid-UIN frame as receive activity without routing it', async () => { + vi.useFakeTimers({ toFake: ['setTimeout', 'Date'] }); + const onPacket = vi.fn(); + const { ctx, healthChanges } = await startReceiveSession(onPacket); + + try { + firePacket(ctx, HEARTBEAT_CMD); + onPacket.mockClear(); + + vi.advanceTimersByTime(80_000); + firePacket(ctx, 'trpc.status.invalid-uin-probe', '0', 2); + vi.advanceTimersByTime(104_999); + + expect(ctx.session.receiveHealthy).toBe(true); + expect(onPacket).not.toHaveBeenCalled(); + + vi.advanceTimersByTime(1); + expect(ctx.session.receiveHealthy).toBe(false); + + firePacket(ctx, 'trpc.status.invalid-uin-probe', '0', 3); + + expect(ctx.session.receiveHealthy).toBe(true); + expect(healthChanges).toEqual([false, true]); + expect(onPacket).not.toHaveBeenCalled(); + } finally { + ctx.session.dispose(); + vi.useRealTimers(); + } + }); +}); + +describe('HookSession — login reconcile does not stack concurrent detections', () => { + it('skips overlapping ticks while a slow detection is in flight', async () => { + vi.useFakeTimers(); + + try { + // A detection that never resolves — simulates a slow read spanning + // multiple intervals. The in-flight guard must call it only once. + const detectLoginUin = vi.fn( + () => + new Promise(() => { + /* pending */ + }), + ); + const ctx = makeSession({ pipeLive: true, detectLoginUin }); + + await ctx.session.load(); + ctx.session.onPipeUp(); + await vi.advanceTimersByTimeAsync(0); // connect + immediate probe (starts, stays pending) + await vi.advanceTimersByTimeAsync(9000); // 3 more interval ticks + + expect(detectLoginUin).toHaveBeenCalledTimes(1); // not stacked + } finally { + vi.useRealTimers(); + } + }); +}); diff --git a/packages/bridge/tests/hook-status.test.ts b/packages/bridge/tests/hook-status.test.ts new file mode 100644 index 00000000..925bf29d --- /dev/null +++ b/packages/bridge/tests/hook-status.test.ts @@ -0,0 +1,68 @@ +import { describe, it, expect } from 'vitest'; +import { statusFor, type HookFlags } from '../src/hook-status'; +import type { HookProcessStatus } from '../src/types'; + +const F = (o: Partial): HookFlags => ({ + injected: false, + connected: false, + loggedIn: false, + wasLoggedIn: false, + ...o, +}); + +describe('statusFor — settled HookProcessStatus derivation', () => { + it('not injected → available (regardless of other flags)', () => { + expect(statusFor(F({ injected: false }))).toBe('available'); + // !injected dominates: stale connected/loggedIn bits must not leak through. + expect( + statusFor(F({ injected: false, connected: true, loggedIn: true, wasLoggedIn: true })), + ).toBe('available'); + }); + + it('injected, connected, loggedIn → online', () => { + expect(statusFor(F({ injected: true, connected: true, loggedIn: true }))).toBe('online'); + }); + + it('injected, connected, not loggedIn → loaded', () => { + expect(statusFor(F({ injected: true, connected: true, loggedIn: false }))).toBe('loaded'); + }); + + it('injected, not connected, had logged in → disconnected', () => { + expect(statusFor(F({ injected: true, connected: false, wasLoggedIn: true }))).toBe( + 'disconnected', + ); + }); + + it('injected, not connected, never logged in → connecting', () => { + expect(statusFor(F({ injected: true, connected: false, wasLoggedIn: false }))).toBe( + 'connecting', + ); + }); + + it('disconnected vs connecting differ ONLY by wasLoggedIn (same injected+!connected)', () => { + const base = { injected: true, connected: false, loggedIn: false }; + expect(statusFor(F({ ...base, wasLoggedIn: true }))).toBe('disconnected'); + expect(statusFor(F({ ...base, wasLoggedIn: false }))).toBe('connecting'); + }); + + it('covers exactly the five settled states across the flag space', () => { + const seen = new Set(); + + for (const injected of [false, true]) { + for (const connected of [false, true]) { + for (const loggedIn of [false, true]) { + for (const wasLoggedIn of [false, true]) { + seen.add(statusFor({ injected, connected, loggedIn, wasLoggedIn })); + } + } + } + } + + expect([...seen].sort()).toEqual( + ['available', 'connecting', 'disconnected', 'loaded', 'online'].sort(), + ); + // The two out-of-band states are never produced by the pure derivation. + expect(seen.has('loading')).toBe(false); + expect(seen.has('error')).toBe(false); + }); +}); diff --git a/packages/bridge/tests/injector.test.ts b/packages/bridge/tests/injector.test.ts new file mode 100644 index 00000000..fc560360 --- /dev/null +++ b/packages/bridge/tests/injector.test.ts @@ -0,0 +1,426 @@ +import path from 'path'; +import { fileURLToPath } from 'url'; +import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; + +const { existsSyncMock, listPidsMock } = vi.hoisted(() => ({ + existsSyncMock: vi.fn<(target: string) => boolean>(() => false), + listPidsMock: vi.fn(() => new Set()), +})); + +vi.mock('fs', async (importOriginal) => { + const actual = await importOriginal(); + return { + ...actual, + existsSync: (target: Parameters[0]) => + existsSyncMock(String(target)), + }; +}); + +vi.mock('../src/qq-hook-client', () => ({ + listSnowlumaPipePidsSync: listPidsMock, +})); + +const NATIVE_PATH_DIR = path.dirname( + fileURLToPath(new URL('../../common/src/native-path.ts', import.meta.url)), +); +const ORIGINAL_PLATFORM = process.platform; +const ORIGINAL_ARCH = process.arch; + +const HANDLE = { + base: 0x7fff0000n, + entry: 0x7fff1234n, + exceptionTable: 0x7fff5678n, + size: 8192, +}; + +function setPlatform(platform: NodeJS.Platform, arch: string): void { + Object.defineProperty(process, 'platform', { value: platform, configurable: true }); + Object.defineProperty(process, 'arch', { value: arch, configurable: true }); +} + +function restorePlatform(): void { + Object.defineProperty(process, 'platform', { value: ORIGINAL_PLATFORM, configurable: true }); + Object.defineProperty(process, 'arch', { value: ORIGINAL_ARCH, configurable: true }); +} + +function nativeSearchDirs(): string[] { + return [ + path.resolve(NATIVE_PATH_DIR, 'native'), + path.resolve(NATIVE_PATH_DIR, '..', '..', 'runtime', 'native'), + ]; +} + +function nativeCandidate(fileName: string, dirIndex: number): string { + return path.join(nativeSearchDirs()[dirIndex]!, fileName); +} + +function allowExisting(paths: readonly string[]): void { + const allowed = new Set(paths); + existsSyncMock.mockImplementation((target) => allowed.has(target)); +} + +function fakeAddon( + overrides: { + getAllMainProcessAsync?: number[]; + loadModuleManualAsync?: (pid: number, dylibPath: string) => Promise; + unloadModuleManualAsync?: (pid: number, handle: typeof HANDLE) => Promise; + } = {}, +) { + return { + getAllMainProcessAsync: vi.fn(async () => overrides.getAllMainProcessAsync ?? []), + loadModuleManualAsync: vi.fn(overrides.loadModuleManualAsync ?? (async () => HANDLE)), + unloadModuleManualAsync: vi.fn( + overrides.unloadModuleManualAsync ?? (async () => undefined), + ), + }; +} + +function installDlopen(addon: object) { + return vi.spyOn(process, 'dlopen').mockImplementation((mod) => { + (mod as { exports: object }).exports = addon; + }); +} + +async function loadInjector() { + return import('../src/injector'); +} + +beforeEach(() => { + existsSyncMock.mockReset(); + existsSyncMock.mockReturnValue(false); + listPidsMock.mockReset(); + listPidsMock.mockReturnValue(new Set()); + vi.resetModules(); +}); + +afterEach(() => { + restorePlatform(); + vi.restoreAllMocks(); +}); + +describe('resolveHookNativePath', () => { + it('returns null after probing every search directory', async () => { + setPlatform('linux', 'x64'); + const probed: string[] = []; + existsSyncMock.mockImplementation((target) => { + probed.push(target); + return false; + }); + + const { resolveHookNativePath } = await loadInjector(); + expect(resolveHookNativePath('node')).toBeNull(); + expect(probed).toEqual([ + nativeCandidate('snowluma-linux-x64.node', 0), + nativeCandidate('snowluma-linux-x64.node', 1), + ]); + }); + + it('returns the first existing candidate and stops scanning', async () => { + setPlatform('linux', 'x64'); + const winner = nativeCandidate('snowluma-linux-x64.node', 0); + const later = nativeCandidate('snowluma-linux-x64.node', 1); + const probed: string[] = []; + existsSyncMock.mockImplementation((target) => { + probed.push(target); + return target === winner || target === later; + }); + + const { resolveHookNativePath } = await loadInjector(); + expect(resolveHookNativePath('node')).toBe(winner); + expect(probed).toEqual([winner]); + }); + + it('skips missing earlier directories for the injectable .so', async () => { + setPlatform('linux', 'arm64'); + const winner = nativeCandidate('snowluma-linux-arm64.so', 1); + allowExisting([winner]); + + const { resolveHookNativePath } = await loadInjector(); + expect(resolveHookNativePath('so')).toBe(winner); + }); + + it('resolves snowluma-win32-x64.dll on win32 x64', async () => { + setPlatform('win32', 'x64'); + const winner = nativeCandidate('snowluma-win32-x64.dll', 1); + allowExisting([winner]); + + const { resolveHookNativePath } = await loadInjector(); + expect(resolveHookNativePath('dll')).toBe(winner); + }); + + it('uses the generic platform-arch name on win32 arm64', async () => { + setPlatform('win32', 'arm64'); + const winner = nativeCandidate('snowluma-win32-arm64.node', 1); + allowExisting([winner]); + + const { resolveHookNativePath } = await loadInjector(); + expect(resolveHookNativePath('node')).toBe(winner); + }); + + it('does not load an unrelated native addon from the working directory', async () => { + setPlatform('darwin', 'arm64'); + vi.spyOn(process, 'cwd').mockReturnValue('/tmp/sl-injector-cwd'); + const winner = path.join( + '/tmp/sl-injector-cwd', + 'dist', + 'native', + 'snowluma-darwin-arm64.node', + ); + allowExisting([winner]); + + const { resolveHookNativePath } = await loadInjector(); + expect(resolveHookNativePath('node')).toBeNull(); + }); +}); + +describe('getNativeHookAddon / getNativeHookLoadError', () => { + it('starts with a null load error before any probe', async () => { + const { getNativeHookLoadError } = await loadInjector(); + expect(getNativeHookLoadError()).toBeNull(); + }); + + it('returns null and records a missing-binary error', async () => { + setPlatform('linux', 'x64'); + const dlopen = vi.spyOn(process, 'dlopen'); + const { getNativeHookAddon, getNativeHookLoadError } = await loadInjector(); + + expect(getNativeHookAddon()).toBeNull(); + expect(getNativeHookLoadError()).toBe('No hook native addon found for linux-x64'); + expect(dlopen).not.toHaveBeenCalled(); + }); + + it('dlopens the resolved .node once and caches the addon', async () => { + setPlatform('linux', 'x64'); + const nodePath = nativeCandidate('snowluma-linux-x64.node', 0); + allowExisting([nodePath]); + const addon = fakeAddon(); + const dlopen = installDlopen(addon); + + const { getNativeHookAddon, getNativeHookLoadError } = await loadInjector(); + const first = getNativeHookAddon(); + const second = getNativeHookAddon(); + + expect(first).toBe(addon); + expect(second).toBe(addon); + expect(getNativeHookLoadError()).toBeNull(); + expect(dlopen).toHaveBeenCalledTimes(1); + expect(dlopen.mock.calls[0]![1]).toBe(nodePath); + }); + + it('stores Error.message when process.dlopen throws', async () => { + setPlatform('darwin', 'arm64'); + allowExisting([nativeCandidate('snowluma-darwin-arm64.node', 0)]); + vi.spyOn(process, 'dlopen').mockImplementation(() => { + throw new Error('not a valid Node addon'); + }); + + const { getNativeHookAddon, getNativeHookLoadError } = await loadInjector(); + expect(getNativeHookAddon()).toBeNull(); + expect(getNativeHookLoadError()).toBe('not a valid Node addon'); + }); + + it('stringifies a non-Error dlopen failure', async () => { + setPlatform('linux', 'x64'); + allowExisting([nativeCandidate('snowluma-linux-x64.node', 0)]); + vi.spyOn(process, 'dlopen').mockImplementation(() => { + throw 42; + }); + + const { getNativeHookAddon, getNativeHookLoadError } = await loadInjector(); + expect(getNativeHookAddon()).toBeNull(); + expect(getNativeHookLoadError()).toBe('42'); + }); + + it('retries after a failed load when a binary later appears', async () => { + setPlatform('linux', 'x64'); + const nodePath = nativeCandidate('snowluma-linux-x64.node', 1); + const addon = fakeAddon(); + installDlopen(addon); + + const { getNativeHookAddon, getNativeHookLoadError } = await loadInjector(); + expect(getNativeHookAddon()).toBeNull(); + expect(getNativeHookLoadError()).toBe('No hook native addon found for linux-x64'); + + allowExisting([nodePath]); + expect(getNativeHookAddon()).toBe(addon); + expect(getNativeHookLoadError()).toBeNull(); + }); +}); + +describe('listHookProcesses', () => { + it('rejects an obsolete addon without calling its synchronous enumerator', async () => { + setPlatform('win32', 'x64'); + allowExisting([nativeCandidate('snowluma-win32-x64.node', 0)]); + const getAllMainProcess = vi.fn(() => [9]); + installDlopen({ getAllMainProcess }); + + const { listHookProcesses } = await loadInjector(); + await expect(listHookProcesses()).rejects.toThrow('getAllMainProcessAsync'); + expect(getAllMainProcess).not.toHaveBeenCalled(); + }); + + it('on darwin maps sorted pipe pids without opening the native addon', async () => { + setPlatform('darwin', 'arm64'); + listPidsMock.mockReturnValue(new Set([42, 7, 15])); + allowExisting([nativeCandidate('snowluma-darwin-arm64.node', 0)]); + const dlopen = installDlopen(fakeAddon({ getAllMainProcessAsync: [99] })); + + const { listHookProcesses } = await loadInjector(); + expect(await listHookProcesses()).toEqual([ + { pid: 7, name: 'qq', path: '' }, + { pid: 15, name: 'qq', path: '' }, + { pid: 42, name: 'qq', path: '' }, + ]); + expect(listPidsMock).toHaveBeenCalledTimes(1); + expect(dlopen).not.toHaveBeenCalled(); + }); + + it('on darwin returns an empty list when no control sockets exist', async () => { + setPlatform('darwin', 'arm64'); + listPidsMock.mockReturnValue(new Set()); + + const { listHookProcesses } = await loadInjector(); + expect(await listHookProcesses()).toEqual([]); + }); + + it('reports a missing addon instead of an empty process set', async () => { + setPlatform('linux', 'x64'); + + const { listHookProcesses } = await loadInjector(); + await expect(listHookProcesses()).rejects.toThrow( + 'No hook native addon found for linux-x64', + ); + }); + + it('on linux dedupes, drops non-positive/non-integer pids, and sorts', async () => { + setPlatform('linux', 'x64'); + const nodePath = nativeCandidate('snowluma-linux-x64.node', 0); + allowExisting([nodePath]); + installDlopen( + fakeAddon({ + getAllMainProcessAsync: [8, 0, 8, -1, 3.5, 2, Number.NaN, 2], + }), + ); + + const { listHookProcesses } = await loadInjector(); + expect(await listHookProcesses()).toEqual([ + { pid: 2, name: 'qq', path: '' }, + { pid: 8, name: 'qq', path: '' }, + ]); + }); + + it('on win32 names processes QQ.exe', async () => { + setPlatform('win32', 'x64'); + allowExisting([nativeCandidate('snowluma-win32-x64.node', 0)]); + installDlopen(fakeAddon({ getAllMainProcessAsync: [9] })); + + const { listHookProcesses } = await loadInjector(); + expect(await listHookProcesses()).toEqual([{ pid: 9, name: 'QQ.exe', path: '' }]); + }); +}); + +describe('injectHookProcess', () => { + it('throws the missing-addon load error', async () => { + setPlatform('linux', 'x64'); + const { injectHookProcess } = await loadInjector(); + await expect(injectHookProcess(4242)).rejects.toThrow( + 'No hook native addon found for linux-x64', + ); + }); + + it('throws when the addon exists but the injectable is missing', async () => { + setPlatform('linux', 'x64'); + allowExisting([nativeCandidate('snowluma-linux-x64.node', 0)]); + installDlopen(fakeAddon()); + + const { injectHookProcess } = await loadInjector(); + await expect(injectHookProcess(4242)).rejects.toThrow('No hook so found for linux-x64'); + }); + + it('awaits native asynchronous injection', async () => { + setPlatform('linux', 'x64'); + const nodePath = nativeCandidate('snowluma-linux-x64.node', 0); + const soPath = nativeCandidate('snowluma-linux-x64.so', 0); + allowExisting([nodePath, soPath]); + const addon = fakeAddon({ + loadModuleManualAsync: () => Promise.resolve(HANDLE), + }); + installDlopen(addon); + + const { injectHookProcess } = await loadInjector(); + await expect(injectHookProcess(4242)).resolves.toEqual({ + method: 'loadModuleManual', + handle: HANDLE, + }); + expect(addon.loadModuleManualAsync).toHaveBeenCalledTimes(1); + expect(addon.loadModuleManualAsync).toHaveBeenCalledWith(4242, soPath); + }); + + it('injects snowluma-win32-x64.dll on win32 x64', async () => { + setPlatform('win32', 'x64'); + const nodePath = nativeCandidate('snowluma-win32-x64.node', 0); + const dllPath = nativeCandidate('snowluma-win32-x64.dll', 0); + allowExisting([nodePath, dllPath]); + const addon = fakeAddon({ loadModuleManualAsync: async () => HANDLE }); + installDlopen(addon); + + const { injectHookProcess } = await loadInjector(); + await expect(injectHookProcess(5150)).resolves.toEqual({ + method: 'loadModuleManual', + handle: HANDLE, + }); + expect(addon.loadModuleManualAsync).toHaveBeenCalledWith(5150, dllPath); + }); + + it('propagates a rejected loadModuleManual', async () => { + setPlatform('linux', 'x64'); + allowExisting([ + nativeCandidate('snowluma-linux-x64.node', 0), + nativeCandidate('snowluma-linux-x64.so', 0), + ]); + installDlopen( + fakeAddon({ + loadModuleManualAsync: () => Promise.reject(new Error('map failed')), + }), + ); + + const { injectHookProcess } = await loadInjector(); + await expect(injectHookProcess(7)).rejects.toThrow('map failed'); + }); +}); + +describe('unloadHookProcess', () => { + it('propagates native unload rejection', async () => { + setPlatform('linux', 'x64'); + allowExisting([nativeCandidate('snowluma-linux-x64.node', 0)]); + installDlopen( + fakeAddon({ + unloadModuleManualAsync: async () => { + throw new Error('unload failed'); + }, + }), + ); + const { unloadHookProcess } = await loadInjector(); + await expect(unloadHookProcess(4242, HANDLE)).rejects.toThrow('unload failed'); + }); + + it('throws the missing-addon load error', async () => { + setPlatform('linux', 'x64'); + const { unloadHookProcess } = await loadInjector(); + await expect(unloadHookProcess(4242, HANDLE)).rejects.toThrow( + 'No hook native addon found for linux-x64', + ); + }); + + it('forwards pid and handle to unloadModuleManual', async () => { + setPlatform('linux', 'x64'); + allowExisting([nativeCandidate('snowluma-linux-x64.node', 0)]); + const addon = fakeAddon(); + installDlopen(addon); + + const { unloadHookProcess } = await loadInjector(); + await expect(unloadHookProcess(4242, HANDLE)).resolves.toBeUndefined(); + expect(addon.unloadModuleManualAsync).toHaveBeenCalledTimes(1); + expect(addon.unloadModuleManualAsync).toHaveBeenCalledWith(4242, HANDLE); + }); +}); diff --git a/packages/bridge/tests/packet-timeout.test.ts b/packages/bridge/tests/packet-timeout.test.ts new file mode 100644 index 00000000..00395d11 --- /dev/null +++ b/packages/bridge/tests/packet-timeout.test.ts @@ -0,0 +1,30 @@ +import { afterEach, describe, expect, it } from 'vitest'; +import { QqHookClient } from '../src/qq-hook-client'; +import { packetTimeoutMs } from '../src/packet-timeout'; + +const PACKET = 'SNOWLUMA_PACKET_TIMEOUT_MS'; +const ACK = 'SNOWLUMA_HOOK_ACK_TIMEOUT_MS'; + +afterEach(() => { + delete process.env[PACKET]; + delete process.env[ACK]; +}); + +describe('packet and hook ack timeouts', () => { + it('keeps the 15 second packet default', () => { + expect(packetTimeoutMs({})).toBe(15_000); + }); + + it('reads SNOWLUMA_PACKET_TIMEOUT_MS', () => { + expect(packetTimeoutMs({ [PACKET]: '8000' })).toBe(8000); + expect(packetTimeoutMs({ [PACKET]: '0' })).toBe(15_000); + }); + + it('uses SNOWLUMA_HOOK_ACK_TIMEOUT_MS when the client is not given one', () => { + process.env[ACK] = '1200'; + const client = new QqHookClient(1, { runtimeDir: '/tmp' }); + expect(client.defaultAckTimeoutMs).toBe(1200); + const explicit = new QqHookClient(1, { runtimeDir: '/tmp', ackTimeoutMs: 50 }); + expect(explicit.defaultAckTimeoutMs).toBe(50); + }); +}); diff --git a/packages/bridge/tests/pipe-watcher.test.ts b/packages/bridge/tests/pipe-watcher.test.ts new file mode 100644 index 00000000..cbdf1a9f --- /dev/null +++ b/packages/bridge/tests/pipe-watcher.test.ts @@ -0,0 +1,476 @@ +import { afterEach, describe, it, expect, vi } from 'vitest'; +import { createLogger } from '@snowluma/common/logger'; +import { PipeWatcher } from '../src/pipe-watcher'; +import type { HookProcessBaseInfo } from '../src/injector'; + +function setupWatcher(initial: { processes: HookProcessBaseInfo[]; live: Set }) { + let processes = initial.processes; + let live = initial.live; + const watcher = new PipeWatcher({ + listProcesses: async () => processes, + // Defensively copy so the watcher can't mutate the test's reference. + listLivePipes: async () => new Set(live), + intervalMs: 60_000, // disable the internal timer; tests drive ticks manually + }); + return { + watcher, + setProcesses: (p: HookProcessBaseInfo[]) => { + processes = p; + }, + setLive: (s: Set) => { + live = s; + }, + }; +} + +type EventRow = [string, unknown]; + +function captureEvents(watcher: PipeWatcher): EventRow[] { + const events: EventRow[] = []; + watcher.on('process-discovered', (info) => + events.push(['discovered', (info as HookProcessBaseInfo).pid]), + ); + watcher.on('process-gone', (pid) => events.push(['gone', pid])); + watcher.on('pipe-up', (pid) => events.push(['up', pid])); + watcher.on('pipe-down', (pid) => events.push(['down', pid])); + return events; +} + +describe('PipeWatcher', () => { + afterEach(() => { + vi.useRealTimers(); + vi.restoreAllMocks(); + }); + + it('waits for a fresh scan when another tick is already reading processes', async () => { + let release!: (processes: HookProcessBaseInfo[]) => void; + const pending = new Promise((resolve) => { + release = resolve; + }); + const latest = [{ pid: 1234, name: 'QQ.exe', path: '' }]; + const listProcesses = vi.fn().mockReturnValueOnce(pending).mockResolvedValue(latest); + const watcher = new PipeWatcher({ + listProcesses, + listLivePipes: async () => new Set([1234]), + }); + const first = watcher.tickNow(); + let completed = false; + const second = watcher.tickNow().then(() => { + completed = true; + }); + await Promise.resolve(); + expect(completed).toBe(false); + release([]); + await Promise.all([first, second]); + expect(listProcesses).toHaveBeenCalledTimes(2); + expect(watcher.isPipeLive(1234)).toBe(true); + watcher.dispose(); + }); + + it.each(['processes', 'pipes'] as const)( + 'discards a pending %s scan after stop', + async (stage) => { + let release!: () => void; + let entered!: () => void; + const gate = new Promise((resolve) => { + release = resolve; + }); + const started = new Promise((resolve) => { + entered = resolve; + }); + const processes = [{ pid: 1234, name: 'QQ.exe', path: '' }]; + const listProcesses = vi.fn(async () => { + if (stage === 'processes') { + entered(); + await gate; + } + + return processes; + }); + const listLivePipes = vi.fn(async () => { + if (stage === 'pipes') { + entered(); + await gate; + } + + return new Set([1234]); + }); + const watcher = new PipeWatcher({ listProcesses, listLivePipes }); + const events = captureEvents(watcher); + const tick = vi.fn(); + watcher.on('tick', tick); + const reading = watcher.start(); + await started; + const queued = watcher.tickNow(); + watcher.stop(); + release(); + await Promise.all([reading, queued]); + await watcher.tickNow(); + watcher.wake(); + expect(events).toEqual([]); + expect(tick).not.toHaveBeenCalled(); + expect(watcher.isProcessAlive(1234)).toBe(false); + expect(listProcesses).toHaveBeenCalledOnce(); + expect(listLivePipes).toHaveBeenCalledTimes(stage === 'pipes' ? 1 : 0); + watcher.dispose(); + }, + ); + + it('keeps a wake requested by a tick listener ahead of the regular interval', async () => { + vi.useFakeTimers(); + const listProcesses = vi.fn(async () => []); + const watcher = new PipeWatcher({ + listProcesses, + listLivePipes: async () => new Set(), + intervalMs: 60_000, + }); + watcher.once('tick', () => watcher.wake()); + await watcher.start(); + await vi.advanceTimersByTimeAsync(1); + expect(listProcesses).toHaveBeenCalledTimes(2); + watcher.dispose(); + }); + + it('reports a scheduled tick failure and continues polling', async () => { + vi.useFakeTimers(); + const listProcesses = vi.fn(async () => []); + const log = createLogger('PipeWatcherTest'); + const warn = vi.spyOn(log, 'warn').mockImplementation(() => {}); + const watcher = new PipeWatcher({ + listProcesses, + listLivePipes: async () => new Set(), + intervalMs: 250, + log, + }); + + try { + await watcher.start(); + watcher.once('tick', () => { + throw new Error('subscriber failed'); + }); + await vi.advanceTimersByTimeAsync(250); + expect(warn).toHaveBeenCalledWith('poll failed: %s', 'subscriber failed'); + await vi.advanceTimersByTimeAsync(250); + expect(listProcesses).toHaveBeenCalledTimes(3); + } finally { + watcher.dispose(); + } + }); + + it('publishes the complete snapshot before notifying subscribers', async () => { + const ctx = setupWatcher({ + processes: [{ pid: 1234, name: 'QQ.exe', path: '' }], + live: new Set([1234]), + }); + const snapshots: boolean[][] = []; + const observe = () => + snapshots.push([ctx.watcher.isProcessAlive(1234), ctx.watcher.isPipeLive(1234)]); + ctx.watcher.on('process-discovered', observe); + ctx.watcher.on('pipe-up', observe); + ctx.watcher.on('pipe-down', observe); + ctx.watcher.on('process-gone', observe); + await ctx.watcher.tickNow(); + ctx.setProcesses([]); + ctx.setLive(new Set()); + await ctx.watcher.tickNow(); + expect(snapshots).toEqual([ + [true, true], + [true, true], + [false, false], + [false, false], + ]); + ctx.watcher.dispose(); + }); + + it('stops emitting the current diff when a subscriber stops the watcher', async () => { + const ctx = setupWatcher({ + processes: [{ pid: 1234, name: 'QQ.exe', path: '' }], + live: new Set([1234]), + }); + ctx.watcher.on('process-discovered', () => ctx.watcher.stop()); + const up = vi.fn(); + const tick = vi.fn(); + ctx.watcher.on('pipe-up', up); + ctx.watcher.on('tick', tick); + await ctx.watcher.tickNow(); + expect(up).not.toHaveBeenCalled(); + expect(tick).not.toHaveBeenCalled(); + ctx.watcher.dispose(); + }); + + it('passes the current process snapshot to pipe discovery', async () => { + const processes = [ + { pid: 1234, name: 'qq', path: '/opt/QQ/qq' }, + { pid: 5678, name: 'qq', path: '/opt/QQ/qq' }, + ]; + let observed: readonly HookProcessBaseInfo[] | undefined; + const watcher = new PipeWatcher({ + listProcesses: async () => processes, + listLivePipes: async (current) => { + observed = current; + return new Set(); + }, + intervalMs: 60_000, + }); + + await watcher.start(); + + expect(observed).toEqual(processes); + watcher.stop(); + }); + + it('start() emits process-discovered + pipe-up for live PIDs on first tick', async () => { + const ctx = setupWatcher({ + processes: [{ pid: 1234, name: 'QQ.exe', path: '' }], + live: new Set([1234]), + }); + const events = captureEvents(ctx.watcher); + await ctx.watcher.start(); + + expect(events).toEqual([ + ['discovered', 1234], + ['up', 1234], + ]); + expect(ctx.watcher.isPipeLive(1234)).toBe(true); + expect(ctx.watcher.isProcessAlive(1234)).toBe(true); + + ctx.watcher.stop(); + }); + + it('pipe-down emitted when a previously-live pipe disappears', async () => { + const ctx = setupWatcher({ + processes: [{ pid: 1234, name: 'QQ.exe', path: '' }], + live: new Set([1234]), + }); + await ctx.watcher.start(); + const events = captureEvents(ctx.watcher); + + ctx.setLive(new Set()); + await ctx.watcher.tickNow(); + + expect(events).toEqual([['down', 1234]]); + expect(ctx.watcher.isPipeLive(1234)).toBe(false); + ctx.watcher.stop(); + }); + + it('process-gone + pipe-down both emitted (pipe-down first) when QQ.exe is killed with a live pipe', async () => { + const ctx = setupWatcher({ + processes: [{ pid: 1234, name: 'QQ.exe', path: '' }], + live: new Set([1234]), + }); + await ctx.watcher.start(); + const events = captureEvents(ctx.watcher); + + ctx.setProcesses([]); + ctx.setLive(new Set()); + await ctx.watcher.tickNow(); + + expect(events).toEqual([ + ['down', 1234], + ['gone', 1234], + ]); + ctx.watcher.stop(); + }); + + it('ignores live pipes whose process is not running', async () => { + const ctx = setupWatcher({ + processes: [], + live: new Set([9999]), + }); + const events = captureEvents(ctx.watcher); + await ctx.watcher.start(); + + expect(events).toEqual([]); + expect(ctx.watcher.isPipeLive(9999)).toBe(false); + ctx.watcher.stop(); + }); + + it('emits pipe-up again after a pipe-down → pipe-up cycle', async () => { + const ctx = setupWatcher({ + processes: [{ pid: 1234, name: 'QQ.exe', path: '' }], + live: new Set(), + }); + await ctx.watcher.start(); + const events = captureEvents(ctx.watcher); + + ctx.setLive(new Set([1234])); + await ctx.watcher.tickNow(); + expect(events).toEqual([['up', 1234]]); + + ctx.setLive(new Set()); + await ctx.watcher.tickNow(); + expect(events).toEqual([ + ['up', 1234], + ['down', 1234], + ]); + + ctx.setLive(new Set([1234])); + await ctx.watcher.tickNow(); + expect(events).toEqual([ + ['up', 1234], + ['down', 1234], + ['up', 1234], + ]); + + ctx.watcher.stop(); + }); + + it('does not double-emit on idempotent ticks (no state change)', async () => { + const ctx = setupWatcher({ + processes: [{ pid: 1234, name: 'QQ.exe', path: '' }], + live: new Set([1234]), + }); + await ctx.watcher.start(); + const events = captureEvents(ctx.watcher); + + await ctx.watcher.tickNow(); + await ctx.watcher.tickNow(); + + expect(events).toEqual([]); + ctx.watcher.stop(); + }); + + it('emits "tick" after every poll', async () => { + const ctx = setupWatcher({ processes: [], live: new Set() }); + let ticks = 0; + ctx.watcher.on('tick', () => { + ticks++; + }); + + await ctx.watcher.start(); + expect(ticks).toBe(1); + + await ctx.watcher.tickNow(); + expect(ticks).toBe(2); + + ctx.watcher.stop(); + }); + + it('wake() pulls the next tick forward', async () => { + const ctx = setupWatcher({ + processes: [{ pid: 1234, name: 'QQ.exe', path: '' }], + live: new Set(), + }); + await ctx.watcher.start(); + const events = captureEvents(ctx.watcher); + + // Wait on 'tick' rather than guessing how many event-loop turns + // setTimeout(0) needs (it's clamped to ~1ms and races setImmediate). + const nextTick = new Promise((resolve) => ctx.watcher.once('tick', () => resolve())); + ctx.setLive(new Set([1234])); + ctx.watcher.wake(); + await nextTick; + + expect(events).toEqual([['up', 1234]]); + ctx.watcher.stop(); + }); + + it('survives a throwing listProcesses without crashing the watcher', async () => { + let processes: HookProcessBaseInfo[] = []; + let live = new Set(); + let shouldThrow = true; + const watcher = new PipeWatcher({ + listProcesses: async () => { + if (shouldThrow) { + throw new Error('boom'); + } + + return processes; + }, + listLivePipes: async () => new Set(live), + intervalMs: 60_000, + }); + + await watcher.start(); + expect(watcher.isProcessAlive(1234)).toBe(false); + + shouldThrow = false; + processes = [{ pid: 1234, name: 'QQ.exe', path: '' }]; + live = new Set([1234]); + const events = captureEvents(watcher); + await watcher.tickNow(); + + expect(events).toEqual([ + ['discovered', 1234], + ['up', 1234], + ]); + watcher.stop(); + }); + + it('preserves live sessions when pipe discovery temporarily fails', async () => { + let processes = [{ pid: 1234, name: 'QQ.exe', path: '' }]; + let failPipeDiscovery = false; + const watcher = new PipeWatcher({ + listProcesses: async () => processes, + listLivePipes: async () => { + if (failPipeDiscovery) { + throw new Error('permission denied'); + } + + return new Set([1234]); + }, + intervalMs: 60_000, + }); + + await watcher.start(); + expect(watcher.isPipeLive(1234)).toBe(true); + const events = captureEvents(watcher); + + failPipeDiscovery = true; + await watcher.tickNow(); + + expect(events).toEqual([]); + expect(watcher.isProcessAlive(1234)).toBe(true); + expect(watcher.isPipeLive(1234)).toBe(true); + + processes = []; + await watcher.tickNow(); + + expect(events).toEqual([ + ['down', 1234], + ['gone', 1234], + ]); + expect(watcher.isProcessAlive(1234)).toBe(false); + expect(watcher.isPipeLive(1234)).toBe(false); + watcher.stop(); + }); + + it('UNKNOWN (null) enumeration keeps prior state — no false process-gone (issue #158)', async () => { + let result: HookProcessBaseInfo[] | null = [{ pid: 1234, name: 'qq', path: '' }]; + let live = new Set([1234]); + const watcher = new PipeWatcher({ + listProcesses: async () => result, + listLivePipes: async () => new Set(live), + intervalMs: 60_000, + }); + + await watcher.start(); + expect(watcher.isProcessAlive(1234)).toBe(true); + expect(watcher.isPipeLive(1234)).toBe(true); + + const events = captureEvents(watcher); + + // Enumeration goes UNKNOWN (e.g. native /proc walk timed out during a QQ + // hot-update). Prior process + pipe state MUST be preserved — no teardown. + result = null; + await watcher.tickNow(); + expect(events).toEqual([]); + expect(watcher.isProcessAlive(1234)).toBe(true); + expect(watcher.isPipeLive(1234)).toBe(true); + + // Enumeration recovers with the same set → still no churn. + result = [{ pid: 1234, name: 'qq', path: '' }]; + await watcher.tickNow(); + expect(events).toEqual([]); + + // A REAL disappearance (empty list, not null) still fires the teardown. + result = []; + live = new Set(); + await watcher.tickNow(); + expect(events).toEqual([ + ['down', 1234], + ['gone', 1234], + ]); + watcher.stop(); + }); +}); diff --git a/packages/bridge/tests/process-enumerator.test.ts b/packages/bridge/tests/process-enumerator.test.ts new file mode 100644 index 00000000..062658b8 --- /dev/null +++ b/packages/bridge/tests/process-enumerator.test.ts @@ -0,0 +1,120 @@ +import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; +import { createProcessEnumerator } from '../src/process-enumerator'; +import type { HookProcessBaseInfo } from '../src/injector'; + +const QQ = (pid: number): HookProcessBaseInfo => ({ pid, name: 'qq', path: '' }); + +function deferred() { + let resolve!: (processes: HookProcessBaseInfo[]) => void; + let reject!: (error: Error) => void; + const promise = new Promise((done, fail) => { + resolve = done; + reject = fail; + }); + return { promise, resolve, reject }; +} + +beforeEach(() => vi.useFakeTimers()); +afterEach(() => vi.useRealTimers()); + +describe('process enumeration', () => { + it('shares one native request between concurrent callers', async () => { + const request = deferred(); + const listProcesses = vi.fn(() => request.promise); + const enumerator = createProcessEnumerator({ listProcesses }); + const first = enumerator.enumerate(); + expect(enumerator.enumerate()).toBe(first); + request.resolve([QQ(1), QQ(2)]); + expect(await first).toEqual([QQ(1), QQ(2)]); + expect(listProcesses).toHaveBeenCalledTimes(1); + expect(vi.getTimerCount()).toBe(0); + enumerator.dispose(); + }); + + it('keeps timed-out native work in flight until it actually finishes', async () => { + const request = deferred(); + const listProcesses = vi.fn(() => request.promise).mockResolvedValueOnce([QQ(1)]); + const enumerator = createProcessEnumerator({ listProcesses, timeoutMs: 100 }); + expect(await enumerator.enumerate()).toEqual([QQ(1)]); + const stalled = enumerator.enumerate(); + await vi.advanceTimersByTimeAsync(100); + expect(await stalled).toBeNull(); + + for (let i = 0; i < 10; i++) { + expect(await enumerator.enumerate()).toBeNull(); + } + + expect(listProcesses).toHaveBeenCalledTimes(2); + request.resolve([QQ(2)]); + await vi.advanceTimersByTimeAsync(0); + listProcesses.mockResolvedValueOnce([QQ(3)]); + expect(await enumerator.enumerate()).toEqual([QQ(3)]); + expect(await stalled).toBeNull(); + enumerator.dispose(); + }); + + it.each(['throw', 'reject'] as const)( + 'keeps a %s unknown and allows a fresh request', + async (kind) => { + const listProcesses = vi.fn<() => Promise>(() => { + if (kind === 'throw') { + throw new Error('process table unavailable'); + } + + return Promise.reject(new Error('process table unavailable')); + }); + const enumerator = createProcessEnumerator({ listProcesses }); + expect(await enumerator.enumerate()).toBeNull(); + expect(vi.getTimerCount()).toBe(0); + listProcesses.mockResolvedValueOnce([]); + expect(await enumerator.enumerate()).toEqual([]); + enumerator.dispose(); + }, + ); + + it('handles a rejection after timeout and recovers on the next poll', async () => { + const request = deferred(); + const listProcesses = vi.fn(() => request.promise); + const enumerator = createProcessEnumerator({ listProcesses, timeoutMs: 100 }); + const pending = enumerator.enumerate(); + await vi.advanceTimersByTimeAsync(100); + expect(await pending).toBeNull(); + request.reject(new Error('late failure')); + await vi.advanceTimersByTimeAsync(0); + listProcesses.mockResolvedValueOnce([QQ(4)]); + expect(await enumerator.enumerate()).toEqual([QQ(4)]); + enumerator.dispose(); + }); + + it('settles disposal immediately without accepting late native results', async () => { + const request = deferred(); + const listProcesses = vi.fn(() => request.promise); + const enumerator = createProcessEnumerator({ listProcesses }); + const pending = enumerator.enumerate(); + await Promise.resolve(); + enumerator.dispose(); + enumerator.dispose(); + expect(await pending).toBeNull(); + expect(vi.getTimerCount()).toBe(0); + request.resolve([QQ(1)]); + expect(await enumerator.enumerate()).toBeNull(); + expect(listProcesses).toHaveBeenCalledTimes(1); + }); + + it('never calls the lister after disposal', async () => { + const listProcesses = vi.fn(async () => [QQ(1)]); + const enumerator = createProcessEnumerator({ listProcesses }); + enumerator.dispose(); + expect(await enumerator.enumerate()).toBeNull(); + expect(listProcesses).not.toHaveBeenCalled(); + }); + + it('does not start queued native work when disposed in the same tick', async () => { + const listProcesses = vi.fn(async () => [QQ(1)]); + const enumerator = createProcessEnumerator({ listProcesses }); + const pending = enumerator.enumerate(); + enumerator.dispose(); + expect(await pending).toBeNull(); + expect(listProcesses).not.toHaveBeenCalled(); + }); +}); diff --git a/packages/bridge/tests/qq-account-database-holders.test.ts b/packages/bridge/tests/qq-account-database-holders.test.ts new file mode 100644 index 00000000..3a6a401d --- /dev/null +++ b/packages/bridge/tests/qq-account-database-holders.test.ts @@ -0,0 +1,142 @@ +import { afterEach, describe, expect, it, vi } from 'vitest'; +import { mkdtemp, rm } from 'node:fs/promises'; +import os from 'node:os'; +import path from 'node:path'; +import { SqliteDatabase } from '@snowluma/sqlite'; +import { isQqProcessName, getDatabaseHolders } from '../src/qq-account/database-holders'; + +const native = vi.hoisted(() => ({ addon: vi.fn<() => unknown>(() => null) })); + +vi.mock('../src/injector', () => ({ getNativeHookAddon: native.addon })); + +const IS_LINUX = process.platform === 'linux'; +const ORIGINAL_PLATFORM = process.platform; + +/** Run `getDatabaseHolders` as if the host were Windows, with a stubbed addon. */ +async function asWindows(addon: unknown, run: () => Promise): Promise { + Object.defineProperty(process, 'platform', { value: 'win32', configurable: true }); + native.addon.mockReturnValue(addon); + + try { + return await run(); + } finally { + Object.defineProperty(process, 'platform', { + value: ORIGINAL_PLATFORM, + configurable: true, + }); + } +} + +afterEach(() => { + native.addon.mockReset(); + native.addon.mockReturnValue(null); +}); + +describe('database holder probe', () => { + it.runIf(IS_LINUX)('reports nothing for a file that is not there', async () => { + const missing = path.join(os.tmpdir(), `snowluma-absent-${process.pid}.db`); + expect(await getDatabaseHolders(missing)).toEqual([]); + }); + + it.runIf(IS_LINUX)('finds the process holding a database', async () => { + const directory = await mkdtemp(path.join(os.tmpdir(), 'snowluma-lock-')); + const file = path.join(directory, 'nt_msg.db'); + const db = new SqliteDatabase(file); + + try { + // A rollback-journal write transaction takes a POSIX lock on the + // database file itself, which is exactly what a signed-in client + // holds on the account's nt_msg.db. + await db.exec('PRAGMA journal_mode = DELETE'); + await db.exec('CREATE TABLE t(value TEXT)'); + await db.exec('BEGIN IMMEDIATE'); + + const holders = await getDatabaseHolders(file); + const self = holders.find((holder) => holder.pid === process.pid); + expect(self).toBeDefined(); + // The holder is named from /proc//comm, and that name is what + // keeps a holder that is not QQ from being mistaken for one. + expect(self!.name.length).toBeGreaterThan(0); + expect(isQqProcessName(self!.name)).toBe(false); + + await db.exec('ROLLBACK'); + expect( + (await getDatabaseHolders(file)).some((holder) => holder.pid === process.pid), + ).toBe(false); + } finally { + await db.close(); + await rm(directory, { recursive: true, force: true }); + } + }); +}); + +describe('Windows holder probe', () => { + it('propagates rejected native queries instead of treating them as no login', async () => { + await expect( + asWindows( + { + getFileHoldersAsync: async () => { + throw new Error('RmGetList failed: 5'); + }, + }, + () => getDatabaseHolders('C:\\nt_msg.db'), + ), + ).rejects.toThrow('RmGetList failed: 5'); + }); + + it('reports the holders the addon lists', async () => { + const holders = await asWindows( + { + getFileHoldersAsync: async () => [ + { pid: 4242, name: 'QQ.exe' }, + { pid: 7, name: 'weq' }, + ], + }, + () => getDatabaseHolders('C:\\Tencent Files\\10001\\nt_qq\\nt_db\\nt_msg.db'), + ); + + expect(holders).toEqual([ + { pid: 4242, name: 'QQ.exe' }, + { pid: 7, name: 'weq' }, + ]); + }); + + it.each([[{ pid: 0, name: 'QQ' }], [{ pid: 9 }], [null], 'not-an-array'])( + 'reports malformed native results: %j', + async (result) => { + await expect( + asWindows({ getFileHoldersAsync: async () => result }, () => + getDatabaseHolders('C:\\nt_msg.db'), + ), + ).rejects.toThrow('Invalid database holders'); + }, + ); + + it('accepts an empty holder list', async () => { + expect( + await asWindows({ getFileHoldersAsync: async () => [] }, () => + getDatabaseHolders('C:\\nt_msg.db'), + ), + ).toEqual([]); + }); + + it.each([null, {}])('reports an unavailable native probe: %j', async (addon) => { + await expect(asWindows(addon, () => getDatabaseHolders('C:\\nt_msg.db'))).rejects.toThrow( + 'requires a hook addon with getFileHoldersAsync', + ); + }); +}); + +describe('QQ process names', () => { + it('accepts the name each platform reports for the client', () => { + expect(isQqProcessName('QQ')).toBe(true); + expect(isQqProcessName('QQ.exe')).toBe(true); + expect(isQqProcessName(' qq ')).toBe(true); + }); + + it('rejects other holders', () => { + expect(isQqProcessName('node')).toBe(false); + expect(isQqProcessName('qqmusic')).toBe(false); + expect(isQqProcessName('')).toBe(false); + }); +}); diff --git a/packages/bridge/tests/qq-account-detect.test.ts b/packages/bridge/tests/qq-account-detect.test.ts new file mode 100644 index 00000000..8518c5d3 --- /dev/null +++ b/packages/bridge/tests/qq-account-detect.test.ts @@ -0,0 +1,241 @@ +import { afterEach, describe, expect, it, vi } from 'vitest'; +import { spawn } from 'node:child_process'; +import { mkdtemp, rm } from 'node:fs/promises'; +import os from 'node:os'; +import path from 'node:path'; +import { getLogLevel, setLogLevel, subscribeLogs, type LogEntry } from '@snowluma/common/logger'; + +const mocks = vi.hoisted(() => ({ + readLocalAccounts: vi.fn(), + getDatabaseHolders: vi.fn(), +})); + +// The account list and the holder probe are covered on their own; this file is +// about how the two are joined. +vi.mock('../src/qq-account/login-db', () => ({ readLocalAccounts: mocks.readLocalAccounts })); +vi.mock('../src/qq-account/database-holders', async (importOriginal) => ({ + ...(await importOriginal()), + getDatabaseHolders: mocks.getDatabaseHolders, +})); + +import { detectAccountLogins, detectAccountLoginsForPids } from '../src/qq-account/detect'; +import { loginDbPaths, ntMsgDbPath } from '../src/qq-account/paths'; + +const ALICE = { uin: '10001', uid: 'u_alice', nickname: 'Alice' }; +const BOB = { uin: '10002', uid: 'u_bob', nickname: 'Bob' }; + +const roots: string[] = []; +const children: Array> = []; + +afterEach(async () => { + mocks.readLocalAccounts.mockReset(); + mocks.getDatabaseHolders.mockReset(); + + for (const child of children.splice(0)) { + child.kill(); + } + + for (const root of roots.splice(0)) { + await rm(root, { recursive: true, force: true }); + } +}); + +async function makeRoot(): Promise { + const root = await mkdtemp(path.join(os.tmpdir(), 'snowluma-detect-')); + roots.push(root); + return root; +} + +/** + * A live process whose `/proc//environ` carries `HOME` (and any extra + * variables given). + * + * `XDG_CONFIG_HOME` is dropped unless the caller sets it: it outranks `HOME` + * when deriving the data root, and a CI runner exports its own, which would + * otherwise decide the result instead of the HOME under test. + * + * Resolves only once the child has run past `execve`, because `/proc/` + * still shows the parent's environment before that. + */ +function spawnWithHome(home: string, extra: Record = {}): Promise { + return new Promise((resolve, reject) => { + const env: NodeJS.ProcessEnv = { ...process.env }; + delete env.XDG_CONFIG_HOME; + Object.assign(env, { HOME: home }, extra); + const child = spawn( + process.execPath, + ['-e', 'console.log("ready"); setTimeout(() => {}, 30000)'], + { env, stdio: ['ignore', 'pipe', 'ignore'] }, + ); + children.push(child); + child.stdout!.once('data', () => resolve(child.pid!)); + child.once('error', reject); + }); +} + +describe('local account detection', () => { + it('labels each account with the process holding its database', async () => { + const root = await makeRoot(); + mocks.readLocalAccounts.mockResolvedValue({ accounts: [ALICE, BOB], failures: [] }); + mocks.getDatabaseHolders.mockImplementation(async (dbPath: string) => { + if (dbPath === ntMsgDbPath(root, ALICE)) { + return [{ pid: 4242, name: 'qq' }]; + } + + // A holder that is not the client must not be mistaken for one. + return [{ pid: 999, name: 'node' }]; + }); + + await expect(detectAccountLogins([root])).resolves.toEqual([ + { ...ALICE, pid: 4242 }, + { ...BOB, pid: null }, + ]); + }); + + it('merges the accounts of every root instead of stopping at the first', async () => { + const own = await makeRoot(); + const extra = await makeRoot(); + mocks.readLocalAccounts.mockImplementation(async (root: string) => + root === own ? { accounts: [ALICE], failures: [] } : { accounts: [BOB], failures: [] }, + ); + mocks.getDatabaseHolders.mockImplementation(async (dbPath: string) => + dbPath === ntMsgDbPath(extra, BOB) ? [{ pid: 5151, name: 'qq' }] : [], + ); + + await expect(detectAccountLogins([own, extra])).resolves.toEqual([ + { ...ALICE, pid: null }, + { ...BOB, pid: 5151 }, + ]); + + // An account held under an instance's own HOME is still labelled, which + // is what a single-root lookup cannot do. + expect(mocks.getDatabaseHolders).toHaveBeenCalledWith(ntMsgDbPath(extra, BOB)); + }); + + it('keeps account records with the same uin scoped to their own root', async () => { + const first = await makeRoot(); + const second = await makeRoot(); + mocks.readLocalAccounts.mockImplementation(async (root: string) => + root === first + ? { accounts: [ALICE], failures: [] } + : { accounts: [{ ...ALICE, nickname: 'Stale' }], failures: [] }, + ); + mocks.getDatabaseHolders.mockImplementation(async (file: string) => + file === ntMsgDbPath(second, ALICE) ? [{ pid: 5151, name: 'qq' }] : [], + ); + + await expect(detectAccountLogins([first, second])).resolves.toEqual([ + { ...ALICE, pid: null }, + { ...ALICE, nickname: 'Stale', pid: 5151 }, + ]); + }); + + it('reports nothing when there are no roots', async () => { + await expect(detectAccountLogins([])).resolves.toEqual([]); + expect(mocks.readLocalAccounts).not.toHaveBeenCalled(); + }); + + it('logs a named reason when a login.db is present but unreadable', async () => { + const root = await makeRoot(); + const entries: LogEntry[] = []; + const previousLevel = getLogLevel(); + setLogLevel('debug'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + + try { + mocks.readLocalAccounts.mockResolvedValue({ + accounts: [], + failures: [ + { + path: loginDbPaths(root)[0]!, + reason: 'undecryptable', + }, + ], + }); + mocks.getDatabaseHolders.mockResolvedValue([]); + + // An unreadable login.db must not look like "no accounts": an + // operator reading the log has to see why nothing was reported. + await detectAccountLogins([root]); + } finally { + unsubscribe(); + setLogLevel(previousLevel); + } + + const warned = entries.filter( + (entry) => entry.level === 'warn' && entry.scope === 'QqAccount', + ); + expect(warned).toHaveLength(1); + expect(warned[0]!.message).toContain('login.db unreadable'); + expect(warned[0]!.message).toContain('undecryptable'); + }); +}); + +describe.runIf(process.platform === 'linux')('per-process data roots', () => { + it('reads each pid against the HOME that process runs under', async () => { + const home = await makeRoot(); + const pid = await spawnWithHome(home); + mocks.readLocalAccounts.mockResolvedValue({ accounts: [], failures: [] }); + mocks.getDatabaseHolders.mockResolvedValue([]); + + await detectAccountLoginsForPids([pid]); + + // `/.config/QQ`, from the child's environment rather than ours. + expect(mocks.readLocalAccounts).toHaveBeenCalledWith(path.join(home, '.config', 'QQ')); + }); + + it('asks each root once when several processes share a HOME', async () => { + const home = await makeRoot(); + const pids = [await spawnWithHome(home), await spawnWithHome(home)]; + mocks.readLocalAccounts.mockResolvedValue({ accounts: [], failures: [] }); + mocks.getDatabaseHolders.mockResolvedValue([]); + + await detectAccountLoginsForPids(pids); + + expect(mocks.readLocalAccounts).toHaveBeenCalledTimes(1); + }); + + it('honours XDG_CONFIG_HOME of the process over its HOME', async () => { + const home = await makeRoot(); + const configHome = await makeRoot(); + const pid = await spawnWithHome(home, { XDG_CONFIG_HOME: configHome }); + mocks.readLocalAccounts.mockResolvedValue({ accounts: [], failures: [] }); + mocks.getDatabaseHolders.mockResolvedValue([]); + + await detectAccountLoginsForPids([pid]); + + // The XDG variable outranks HOME, as it does for the client itself. + expect(mocks.readLocalAccounts).toHaveBeenCalledWith(path.join(configHome, 'QQ')); + }); + + it('keeps each process on its own root when the HOMEs differ', async () => { + const first = await makeRoot(); + const second = await makeRoot(); + const pids = [await spawnWithHome(first), await spawnWithHome(second)]; + mocks.readLocalAccounts.mockResolvedValue({ accounts: [], failures: [] }); + mocks.getDatabaseHolders.mockResolvedValue([]); + + await detectAccountLoginsForPids(pids); + + expect(mocks.readLocalAccounts).toHaveBeenCalledWith(path.join(first, '.config', 'QQ')); + expect(mocks.readLocalAccounts).toHaveBeenCalledWith(path.join(second, '.config', 'QQ')); + }); + + it('does not substitute another HOME when the pid is gone', async () => { + const home = await makeRoot(); + const pid = await spawnWithHome(home); + mocks.readLocalAccounts.mockResolvedValue({ accounts: [], failures: [] }); + mocks.getDatabaseHolders.mockResolvedValue([]); + + // The child exits, so its environment is no longer readable. + await new Promise((resolve) => { + const child = children[children.length - 1]!; + child.once('exit', () => resolve()); + child.kill(); + }); + + await detectAccountLoginsForPids([pid]); + + expect(mocks.readLocalAccounts).not.toHaveBeenCalled(); + }); +}); diff --git a/packages/bridge/tests/qq-account-fixtures.ts b/packages/bridge/tests/qq-account-fixtures.ts new file mode 100644 index 00000000..41e36fb7 --- /dev/null +++ b/packages/bridge/tests/qq-account-fixtures.ts @@ -0,0 +1,195 @@ +/** + * Encryption helpers for the account-detection tests. + * + * The shipped code only decrypts, so producing an encrypted fixture means + * mirroring SQLCipher's page layout here: `[client header][page 1]…` with each + * page ending in `IV || page HMAC`, and a `-wal` whose frame header stays + * plaintext while the page inside it is encrypted. + */ + +import { createCipheriv, createHmac, pbkdf2Sync, randomBytes } from 'node:crypto'; +import type { KdfHmacAlgorithm, PageHmacAlgorithm } from '../src/qq-account/sqlcipher'; + +export interface FixtureAlgorithm { + pageHmac: PageHmacAlgorithm; + kdfHmac: KdfHmacAlgorithm; +} + +export const FIXTURE_PASSPHRASE = 'BD156D6710D54D8782F4'; +export const FIXTURE_PAGE_SIZE = 4096; +export const FIXTURE_HEADER_SIZE = 1024; +export const FIXTURE_WAL_HEADER_SIZE = 32; +export const FIXTURE_WAL_FRAME_HEADER_SIZE = 24; + +const DIGEST_BYTES: Record = { + none: 0, + sha1: 20, + sha256: 32, + sha512: 64, +}; + +const KDF_ITERATIONS = 4000; +const HMAC_KEY_ITERATIONS = 2; +const HMAC_SALT_MASK = 0x3a; + +export function reserveBytes(algorithm: FixtureAlgorithm): number { + return Math.ceil((16 + DIGEST_BYTES[algorithm.pageHmac]) / 16) * 16; +} + +/** Encrypt a plaintext SQLite image the way QQ NT stores it. */ +export function encryptImage( + plain: Buffer, + algorithm: FixtureAlgorithm, + passphrase = FIXTURE_PASSPHRASE, + salt = randomBytes(16), +): Buffer { + const pageCount = plain.length / FIXTURE_PAGE_SIZE; + const key = pbkdf2Sync(passphrase, salt, KDF_ITERATIONS, 32, algorithm.kdfHmac); + const output = Buffer.alloc(FIXTURE_HEADER_SIZE + plain.length); + + for (let index = 0; index < pageCount; index++) { + const pageNumber = index + 1; + const skip = pageNumber === 1 ? 16 : 0; + const body = plain.subarray( + index * FIXTURE_PAGE_SIZE + skip, + (index + 1) * FIXTURE_PAGE_SIZE, + ); + + if (pageNumber === 1) { + // Page 1 stores the KDF salt where SQLite keeps its magic. + salt.copy(output, FIXTURE_HEADER_SIZE); + } + + encryptPageInto( + output, + FIXTURE_HEADER_SIZE + index * FIXTURE_PAGE_SIZE, + body, + pageNumber, + key, + salt, + algorithm, + ); + } + + return output; +} + +/** Encrypt the pages of a real (plaintext) WAL, recomputing the frame checksums. */ +export function encryptWal( + plainWal: Buffer, + encryptedImage: Buffer, + algorithm: FixtureAlgorithm, + passphrase = FIXTURE_PASSPHRASE, +): Buffer { + const salt = encryptedImage.subarray(FIXTURE_HEADER_SIZE, FIXTURE_HEADER_SIZE + 16); + const key = pbkdf2Sync(passphrase, salt, KDF_ITERATIONS, 32, algorithm.kdfHmac); + const frameSize = FIXTURE_WAL_FRAME_HEADER_SIZE + FIXTURE_PAGE_SIZE; + const output = Buffer.alloc(plainWal.length); + plainWal.copy(output, 0, 0, FIXTURE_WAL_HEADER_SIZE); + + let running = walChecksum([0, 0], [output.subarray(0, FIXTURE_WAL_HEADER_SIZE - 8)], true); + + for ( + let offset = FIXTURE_WAL_HEADER_SIZE; + offset + frameSize <= plainWal.length; + offset += frameSize + ) { + const frameHeader = plainWal.subarray(offset, offset + FIXTURE_WAL_FRAME_HEADER_SIZE); + const pageNumber = frameHeader.readUInt32BE(0); + const skip = pageNumber === 1 ? 16 : 0; + const page = plainWal.subarray(offset + FIXTURE_WAL_FRAME_HEADER_SIZE, offset + frameSize); + encryptPageInto( + output, + offset + FIXTURE_WAL_FRAME_HEADER_SIZE, + page.subarray(skip), + pageNumber, + key, + salt, + algorithm, + ); + + const stored = output.subarray(offset, offset + FIXTURE_WAL_FRAME_HEADER_SIZE); + frameHeader.copy(stored, 0, 0, 8); + running = walChecksum( + running, + [ + stored.subarray(0, 8), + output.subarray(offset + FIXTURE_WAL_FRAME_HEADER_SIZE, offset + frameSize), + ], + true, + ); + stored.writeUInt32BE(running[0], 16); + stored.writeUInt32BE(running[1], 20); + } + + return output; +} + +/** + * SQLite's rolling WAL checksum, as the fixture needs it to rebuild frame + * checksums — and to prove the shipped implementation agrees with what SQLite + * itself wrote in a real `-wal`. + */ +export function walChecksum( + seed: [number, number], + chunks: readonly Buffer[], + littleEndian: boolean, +): [number, number] { + let first = seed[0]; + let second = seed[1]; + + for (const chunk of chunks) { + for (let offset = 0; offset + 8 <= chunk.length; offset += 8) { + const high = littleEndian ? chunk.readUInt32LE(offset) : chunk.readUInt32BE(offset); + const low = littleEndian + ? chunk.readUInt32LE(offset + 4) + : chunk.readUInt32BE(offset + 4); + first = (first + high + second) >>> 0; + second = (second + low + first) >>> 0; + } + } + + return [first, second]; +} + +function encryptPageInto( + output: Buffer, + pageOffset: number, + body: Buffer, + pageNumber: number, + key: Buffer, + salt: Buffer, + algorithm: FixtureAlgorithm, +): void { + // Page 1 stores the KDF salt where SQLite keeps its magic, so its ciphertext + // starts one salt past the page boundary. + const offset = pageOffset + (pageNumber === 1 ? 16 : 0); + const reserve = reserveBytes(algorithm); + const cipherLength = body.length - reserve; + const iv = randomBytes(16); + const cipher = createCipheriv('aes-256-cbc', key, iv); + cipher.setAutoPadding(false); + const ciphertext = Buffer.concat([ + cipher.update(body.subarray(0, cipherLength)), + cipher.final(), + ]); + ciphertext.copy(output, offset); + iv.copy(output, offset + cipherLength); + + const digestBytes = DIGEST_BYTES[algorithm.pageHmac]; + + if (digestBytes === 0) { + return; + } + + const hmacSalt = Buffer.from(salt.map((byte) => byte ^ HMAC_SALT_MASK)); + const hmacKey = pbkdf2Sync(key, hmacSalt, HMAC_KEY_ITERATIONS, 32, algorithm.kdfHmac); + const pageNumberBytes = Buffer.alloc(4); + pageNumberBytes.writeUInt32LE(pageNumber); + const digest = createHmac(algorithm.pageHmac, hmacKey) + .update(ciphertext) + .update(iv) + .update(pageNumberBytes) + .digest(); + digest.copy(output, offset + cipherLength + 16); +} diff --git a/packages/bridge/tests/qq-account-login-db.test.ts b/packages/bridge/tests/qq-account-login-db.test.ts new file mode 100644 index 00000000..a9f29939 --- /dev/null +++ b/packages/bridge/tests/qq-account-login-db.test.ts @@ -0,0 +1,246 @@ +import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; +import { mkdir, mkdtemp, rm, utimes, writeFile } from 'node:fs/promises'; +import os from 'node:os'; +import path from 'node:path'; +import { SqliteDatabase } from '@snowluma/sqlite'; + +const mocks = vi.hoisted(() => ({ + detectAlgorithm: vi.fn(), + decryptDatabase: vi.fn(), +})); + +// The page crypto is covered on its own; account reading stands on top of it, so +// the fixtures below hand over plaintext images and the decrypt step is stubbed +// to pass them through. +vi.mock('../src/qq-account/sqlcipher', () => ({ + detectAlgorithm: mocks.detectAlgorithm, + decryptDatabase: mocks.decryptDatabase, +})); + +vi.mock('../src/qq-account/paths', () => ({ + loginDbPaths: (root: string) => [path.join(root, PRIMARY), path.join(root, SECONDARY)], +})); + +import { readLocalAccounts } from '../src/qq-account/login-db'; + +const PRIMARY = path.join('global', 'nt_db', 'login.db'); +const SECONDARY = path.join('nt_qq', 'global', 'nt_db', 'login.db'); + +/** Write a plaintext database with QQ's account table at `file`. */ +async function writeLoginDb( + file: string, + rows: ReadonlyArray, +): Promise { + await mkdir(path.dirname(file), { recursive: true }); + await rm(file, { force: true }); + await rm(`${file}-wal`, { force: true }); + const db = new SqliteDatabase(file); + + try { + await db.exec('CREATE TABLE login_table("1000" TEXT, "1001" TEXT, "1007" TEXT)'); + + for (const [uin, uid, nickname] of rows) { + await db.prepare('INSERT INTO login_table VALUES (?, ?, ?)').run(uin, uid, nickname); + } + } finally { + await db.close(); + } +} + +async function makeRoot( + rows: ReadonlyArray, + secondaryRows: ReadonlyArray = [], +): Promise { + const root = await mkdtemp(path.join(os.tmpdir(), 'snowluma-login-')); + await writeLoginDb(path.join(root, PRIMARY), rows); + + if (secondaryRows.length > 0) { + await writeLoginDb(path.join(root, SECONDARY), secondaryRows); + } + + return root; +} + +const roots: string[] = []; + +beforeEach(() => { + mocks.detectAlgorithm.mockReturnValue({ pageHmac: 'sha1', kdfHmac: 'sha512' }); + mocks.decryptDatabase.mockImplementation((image: Buffer) => ({ image, walFrames: 0 })); +}); + +afterEach(async () => { + mocks.detectAlgorithm.mockReset(); + mocks.decryptDatabase.mockReset(); + + for (const root of roots.splice(0)) { + await rm(root, { recursive: true, force: true }); + } +}); + +async function trackedRoot( + rows: ReadonlyArray, + secondaryRows: ReadonlyArray = [], +): Promise { + const root = await makeRoot(rows, secondaryRows); + roots.push(root); + return root; +} + +describe('local account list', () => { + it('reads the accounts QQ cached locally', async () => { + const root = await trackedRoot([['10001', 'u_a', 'Alice']]); + + await expect(readLocalAccounts(root)).resolves.toEqual({ + accounts: [{ uin: '10001', uid: 'u_a', nickname: 'Alice' }], + failures: [], + }); + }); + + it('merges both login.db locations, letting the primary win on a clash', async () => { + const root = await trackedRoot( + [ + ['10001', 'u_a', 'Alice'], + ['10002', 'u_b', 'Bob'], + ], + [ + ['10001', 'u_a_stale', 'AliceStale'], + ['10003', 'u_c', 'Carol'], + ], + ); + + expect(await readLocalAccounts(root)).toEqual({ + accounts: [ + { uin: '10001', uid: 'u_a', nickname: 'Alice' }, + { uin: '10002', uid: 'u_b', nickname: 'Bob' }, + { uin: '10003', uid: 'u_c', nickname: 'Carol' }, + ], + failures: [], + }); + }); + + it('re-decrypts only when the database or its sidecar changes', async () => { + const root = await trackedRoot([['10001', 'u_a', 'Alice']]); + const file = path.join(root, PRIMARY); + + await readLocalAccounts(root); + await readLocalAccounts(root); + expect(mocks.decryptDatabase).toHaveBeenCalledTimes(1); + + // A login that just happened rewrites the database; the new rows have to + // show up instead of the cached list. + await writeLoginDb(file, [ + ['10001', 'u_a', 'Alice'], + ['10002', 'u_b', 'Bob'], + ]); + await utimes(file, new Date(Date.now() + 60_000), new Date(Date.now() + 60_000)); + expect((await readLocalAccounts(root)).accounts).toHaveLength(2); + expect(mocks.decryptDatabase).toHaveBeenCalledTimes(2); + + // The sidecar counts as a change too: a batch committed to the WAL only + // leaves login.db untouched. + await writeFile(`${file}-wal`, Buffer.alloc(0)); + await readLocalAccounts(root); + expect(mocks.decryptDatabase).toHaveBeenCalledTimes(3); + }); + + it('shares concurrent reads of the same database image', async () => { + const root = await trackedRoot([['10001', 'u_a', 'Alice']]); + const reports = await Promise.all([readLocalAccounts(root), readLocalAccounts(root)]); + expect(reports[0]).toEqual(reports[1]); + expect(mocks.decryptDatabase).toHaveBeenCalledTimes(1); + }); + + it('reports an unreadable WAL instead of reading a stale base image', async () => { + const root = await trackedRoot([['10001', 'u_a', 'Alice']]); + const file = path.join(root, PRIMARY); + await mkdir(`${file}-wal`); + const report = await readLocalAccounts(root); + expect(report.accounts).toEqual([]); + expect(report.failures).toMatchObject([{ path: file, reason: 'read-failed' }]); + expect(report.failures[0]!.error).toBeDefined(); + }); + + it('reports missing schema columns instead of accepting quoted column names as identities', async () => { + const root = await trackedRoot([['10001', 'u_a', 'Alice']]); + const file = path.join(root, PRIMARY); + const db = new SqliteDatabase(file); + + try { + await db.exec('ALTER TABLE login_table DROP COLUMN "1001"'); + } finally { + await db.close(); + } + + const report = await readLocalAccounts(root); + expect(report.accounts).toEqual([]); + expect(report.failures).toMatchObject([{ path: file, reason: 'query-failed' }]); + expect(report.failures[0]!.error).toBeDefined(); + }); + + it('reports no accounts when the file cannot be decrypted, and retries later', async () => { + const root = await trackedRoot([['10001', 'u_a', 'Alice']]); + mocks.detectAlgorithm.mockReturnValue(null); + + await expect(readLocalAccounts(root)).resolves.toEqual({ + accounts: [], + failures: [{ path: path.join(root, PRIMARY), reason: 'undecryptable' }], + }); + + mocks.detectAlgorithm.mockReturnValue({ pageHmac: 'sha1', kdfHmac: 'sha512' }); + const file = path.join(root, PRIMARY); + await utimes(file, new Date(Date.now() + 60_000), new Date(Date.now() + 60_000)); + + await expect(readLocalAccounts(root)).resolves.toEqual({ + accounts: [{ uin: '10001', uid: 'u_a', nickname: 'Alice' }], + failures: [], + }); + }); + + it('names an unreadable login.db instead of reporting "no accounts"', async () => { + const root = await trackedRoot([['10001', 'u_a', 'Alice']]); + mocks.detectAlgorithm.mockReturnValue(null); + + // A login.db that cannot be decrypted is not the same as a machine with + // no accounts, and the caller has to be able to tell them apart. + await expect(readLocalAccounts(root)).resolves.toEqual({ + accounts: [], + failures: [{ path: path.join(root, PRIMARY), reason: 'undecryptable' }], + }); + }); + + it('keeps an unreadable sidecar from hiding the accounts a good database has', async () => { + const root = await trackedRoot([['10001', 'u_a', 'Alice']], [['10002', 'u_b', 'Bob']]); + const secondary = path.join(root, SECONDARY); + const bogus = Buffer.alloc(8192, 7); + mocks.detectAlgorithm.mockImplementation((image: Buffer) => + image[0] === 7 ? null : { pageHmac: 'sha1', kdfHmac: 'sha512' }, + ); + await writeFile(secondary, bogus); + + const report = await readLocalAccounts(root); + expect(report.accounts.map((account) => account.uin)).toEqual(['10001']); + expect(report.failures).toEqual([{ path: secondary, reason: 'undecryptable' }]); + }); + + it('skips rows that carry no usable identity', async () => { + const root = await trackedRoot([ + ['10001', 'u_a', 'Alice'], + ['10002', '', 'Broken'], + ['', 'u_d', 'Nameless'], + ['../10001', 'u_e', 'Invalid UIN'], + ]); + + await expect(readLocalAccounts(root)).resolves.toEqual({ + accounts: [{ uin: '10001', uid: 'u_a', nickname: 'Alice' }], + failures: [], + }); + }); + + it('reports no accounts when login.db is missing', async () => { + const root = await mkdtemp(path.join(os.tmpdir(), 'snowluma-login-')); + roots.push(root); + + // Neither candidate file exists: nothing cached, and nothing to report. + await expect(readLocalAccounts(root)).resolves.toEqual({ accounts: [], failures: [] }); + }); +}); diff --git a/packages/bridge/tests/qq-account-path-isolation.test.ts b/packages/bridge/tests/qq-account-path-isolation.test.ts new file mode 100644 index 00000000..a461de29 --- /dev/null +++ b/packages/bridge/tests/qq-account-path-isolation.test.ts @@ -0,0 +1,51 @@ +import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; +import path from 'node:path'; +import { qqDataRoots, qqDataRootsForPid } from '../src/qq-account/paths'; + +const files = vi.hoisted(() => ({ read: vi.fn() })); +vi.mock('node:fs', () => ({ readFileSync: files.read })); +const platform = process.platform; + +beforeEach(() => { + Object.defineProperty(process, 'platform', { value: 'linux', configurable: true }); +}); +afterEach(() => { + Object.defineProperty(process, 'platform', { value: platform, configurable: true }); + files.read.mockReset(); +}); + +describe('account data root isolation', () => { + it('uses the client HOME and honours its XDG configuration', () => { + files.read.mockReturnValue('HOME=/clients/a\0IGNORED=value\0'); + expect(qqDataRootsForPid(42)).toEqual([path.join('/clients/a', '.config', 'QQ')]); + files.read.mockReturnValue('HOME=/clients/a\0XDG_CONFIG_HOME=/clients/config\0'); + expect(qqDataRootsForPid(42)).toEqual([path.join('/clients/config', 'QQ')]); + }); + + it('does not guess a HOME when the client environment has none', () => { + files.read.mockReturnValue('OTHER=value\0'); + expect(qqDataRootsForPid(42)).toEqual([]); + }); + + it('reports no root for an exited process', () => { + files.read.mockImplementation(() => { + throw Object.assign(new Error('gone'), { code: 'ENOENT' }); + }); + expect(qqDataRootsForPid(42)).toEqual([]); + }); + + it('surfaces permission failures instead of reading another user directory', () => { + const error = Object.assign(new Error('denied'), { code: 'EACCES' }); + files.read.mockImplementation(() => { + throw error; + }); + expect(() => qqDataRootsForPid(42)).toThrow(error); + }); + + it('uses only the configured Windows data root', () => { + Object.defineProperty(process, 'platform', { value: 'win32', configurable: true }); + files.read.mockReturnValue('[UserDataSet]\nUserDataSavePath=D:\\QQ\\Tencent Files\n'); + expect(qqDataRoots()).toEqual(['D:\\QQ\\Tencent Files']); + expect(files.read).toHaveBeenCalledTimes(1); + }); +}); diff --git a/packages/bridge/tests/qq-account-paths.test.ts b/packages/bridge/tests/qq-account-paths.test.ts new file mode 100644 index 00000000..c0da04da --- /dev/null +++ b/packages/bridge/tests/qq-account-paths.test.ts @@ -0,0 +1,106 @@ +import { describe, expect, it } from 'vitest'; +import { mkdir, mkdtemp, rm, writeFile } from 'node:fs/promises'; +import os from 'node:os'; +import path from 'node:path'; +import { + accountDirName, + loginDbPaths, + ntMsgDbPath, + tencentFilesRootFromUserDataInfo, +} from '../src/qq-account/paths'; + +const IS_WINDOWS = process.platform === 'win32'; + +describe('QQ data paths', () => { + it('derives the Linux account directory from the account uid', () => { + // md5(md5("u_test_account") + "nt_kernel") + expect(accountDirName('u_test_account')).toBe('nt_qq_7b9b3c3f2cf89e087b2e024777ea5f5f'); + }); + + it('lists the login.db locations of the current platform', () => { + const root = 'root'; + const windows = path.join(root, 'nt_qq', 'global', 'nt_db', 'login.db'); + + expect(loginDbPaths(root)).toEqual( + IS_WINDOWS ? [windows] : [path.join(root, 'global', 'nt_db', 'login.db'), windows], + ); + }); + + it('locates an account database per platform', () => { + const root = 'root'; + const account = { uin: '10001', uid: 'u_test_account' }; + + expect(ntMsgDbPath(root, account)).toBe( + IS_WINDOWS + ? path.join(root, '10001', 'nt_qq', 'nt_db', 'nt_msg.db') + : path.join(root, 'nt_qq_7b9b3c3f2cf89e087b2e024777ea5f5f', 'nt_db', 'nt_msg.db'), + ); + }); +}); + +describe('Windows data root detection', () => { + /** Recreate `/Documents/Tencent/QQ/UserDataInfo.ini` for a fake home. */ + async function withUserDataInfo( + contents: string, + run: (home: string) => Promise | void, + ): Promise { + const base = await mkdtemp(path.join(os.tmpdir(), 'snowluma-ini-')); + + try { + const home = path.join(base, 'user'); + const ini = path.join(base, 'Public', 'Documents', 'Tencent', 'QQ', 'UserDataInfo.ini'); + await mkdir(path.dirname(ini), { recursive: true }); + await writeFile(ini, contents, 'utf8'); + await run(home); + } finally { + await rm(base, { recursive: true, force: true }); + } + } + + it('reads UserDataSavePath from the ini QQ itself writes', async () => { + await withUserDataInfo( + '[UserDataSet]\nUserDataSavePath=D:\\Tencent\\Tencent Files\n', + (home) => { + expect(tencentFilesRootFromUserDataInfo(home)).toBe('D:\\Tencent\\Tencent Files'); + }, + ); + }); + + it('appends the Tencent Files segment when the ini stops one level short', async () => { + await withUserDataInfo('[UserDataSet]\nUserDataSavePath=D:\\Tencent\n', (home) => { + expect(tencentFilesRootFromUserDataInfo(home)).toBe('D:\\Tencent\\Tencent Files'); + }); + }); + + it('ignores other sections and the UserDataSavePathType key', async () => { + await withUserDataInfo( + [ + '[UserDataImportSet]', + 'OldVerDataPath=D:\\Legacy\\Tencent Files', + '[UserDataSet]', + 'UserDataSavePathType=2', + 'UserDataSavePath=E:\\Current\\Tencent Files', + '', + ].join('\n'), + (home) => { + expect(tencentFilesRootFromUserDataInfo(home)).toBe('E:\\Current\\Tencent Files'); + }, + ); + }); + + it('reports nothing when the ini is missing', async () => { + const base = await mkdtemp(path.join(os.tmpdir(), 'snowluma-ini-')); + + try { + expect(tencentFilesRootFromUserDataInfo(path.join(base, 'absent'))).toBeNull(); + } finally { + await rm(base, { recursive: true, force: true }); + } + }); + + it('reports nothing when the ini has no usable path', async () => { + await withUserDataInfo('[UserDataSet]\nUserDataSavePath=\n', (home) => { + expect(tencentFilesRootFromUserDataInfo(home)).toBeNull(); + }); + }); +}); diff --git a/packages/bridge/tests/qq-account-real-data.test.ts b/packages/bridge/tests/qq-account-real-data.test.ts new file mode 100644 index 00000000..cacd5e72 --- /dev/null +++ b/packages/bridge/tests/qq-account-real-data.test.ts @@ -0,0 +1,30 @@ +import { describe, expect, it } from 'vitest'; +import { detectAccountLogins } from '../src/qq-account/detect'; + +/** + * Account detection against a real QQ data directory. + * + * Point `SNOWLUMA_QQ_DATA_ROOT` at one (for example `~/.config/QQ`) to run + * these; without it they are skipped, which is what CI and any machine without + * the client do. They are the only check that exercises login.db as QQ actually + * writes it, together with the holder probe on the databases it currently holds. + */ +const REAL_DATA_ROOT = process.env.SNOWLUMA_QQ_DATA_ROOT; + +describe('account detection against real client data', () => { + it.runIf(Boolean(REAL_DATA_ROOT))('reads the accounts and their processes', async () => { + const accounts = await detectAccountLogins([REAL_DATA_ROOT!]); + + expect(accounts.length).toBeGreaterThan(0); + + for (const account of accounts) { + expect(account.uin).toMatch(/^\d{5,10}$/); + expect(account.uid).toMatch(/^u_/); + + if (account.pid !== null) { + expect(Number.isInteger(account.pid)).toBe(true); + expect(() => process.kill(account.pid!, 0)).not.toThrow(); + } + } + }); +}); diff --git a/packages/bridge/tests/qq-account-sqlcipher.test.ts b/packages/bridge/tests/qq-account-sqlcipher.test.ts new file mode 100644 index 00000000..e43c90be --- /dev/null +++ b/packages/bridge/tests/qq-account-sqlcipher.test.ts @@ -0,0 +1,324 @@ +import { describe, expect, it } from 'vitest'; +import { mkdtemp, readFile, rm } from 'node:fs/promises'; +import os from 'node:os'; +import path from 'node:path'; +import { SqliteDatabase } from '@snowluma/sqlite'; +import { + DATABASE_HEADER_SIZE, + decryptDatabase, + detectAlgorithm, + type SqlcipherAlgorithm, +} from '../src/qq-account/sqlcipher'; +import { + FIXTURE_HEADER_SIZE, + FIXTURE_PAGE_SIZE, + FIXTURE_PASSPHRASE, + FIXTURE_WAL_FRAME_HEADER_SIZE, + FIXTURE_WAL_HEADER_SIZE, + encryptImage, + encryptWal, + reserveBytes, + walChecksum, + type FixtureAlgorithm, +} from './qq-account-fixtures'; + +const SHA1_SHA512: FixtureAlgorithm = { pageHmac: 'sha1', kdfHmac: 'sha512' }; + +/** + * Reserved space SQLite is told about for an encrypted database: room for the + * IV plus the largest page digest. SQLCipher's own reserve always fits inside + * it, which is why the tail of every page is disposable. + */ +const HEADER_RESERVED_BYTES = 80; + +/** Offset of one frame in a `-wal` buffer. */ +function frameOffset(index: number): number { + return FIXTURE_WAL_HEADER_SIZE + index * (FIXTURE_WAL_FRAME_HEADER_SIZE + FIXTURE_PAGE_SIZE); +} + +/** Last frame index a merge may have applied, or -1 when nothing was committed. */ +function lastCommitFrame(wal: Buffer, maxFrameIndex = frameCount(wal) - 1): number { + let last = -1; + + for (let index = 0; index <= maxFrameIndex; index++) { + if (wal.readUInt32BE(frameOffset(index) + 4) !== 0) { + last = index; + } + } + + return last; +} + +function frameCount(wal: Buffer): number { + const frameSize = FIXTURE_WAL_FRAME_HEADER_SIZE + FIXTURE_PAGE_SIZE; + return Math.floor((wal.length - FIXTURE_WAL_HEADER_SIZE) / frameSize); +} + +/** Frames up to and including the last commit, i.e. what a merge should apply. */ +function committedFrames(wal: Buffer, maxFrameIndex?: number): number { + return lastCommitFrame(wal, maxFrameIndex) + 1; +} + +/** Database size the last applicable commit declares. */ +function lastCommitSize(wal: Buffer, maxFrameIndex?: number): number { + return wal.readUInt32BE(frameOffset(lastCommitFrame(wal, maxFrameIndex)) + 4); +} + +/** Page content as the last applicable commit left it, keyed by page number. */ +function committedPages(wal: Buffer, maxFrameIndex?: number): Map { + const pages = new Map(); + const last = lastCommitFrame(wal, maxFrameIndex); + const size = lastCommitSize(wal, maxFrameIndex); + + for (let index = 0; index <= last; index++) { + const pageNumber = wal.readUInt32BE(frameOffset(index)); + + if (pageNumber >= 1 && pageNumber <= size) { + pages.set( + pageNumber, + wal.subarray( + frameOffset(index) + FIXTURE_WAL_FRAME_HEADER_SIZE, + frameOffset(index + 1), + ), + ); + } + } + + return pages; +} + +/** Compare one merged page against the page a frame carried. */ +function expectPageMatches( + merged: Buffer, + expectedPage: Buffer, + pageNumber: number, + algorithm: FixtureAlgorithm, +): void { + const reserve = reserveBytes(algorithm); + const start = (pageNumber - 1) * FIXTURE_PAGE_SIZE; + // Page 1's SQLite header carries the fields the merge keeps consistent with + // the assembled image (change counter, page count, journal mode), so only the + // page body is compared there. + const bodyStart = pageNumber === 1 ? 100 : 0; + expect(merged.subarray(start + bodyStart, start + FIXTURE_PAGE_SIZE - reserve)).toEqual( + expectedPage.subarray(bodyStart, FIXTURE_PAGE_SIZE - reserve), + ); + expect( + merged + .subarray(start + FIXTURE_PAGE_SIZE - reserve, start + FIXTURE_PAGE_SIZE) + .equals(Buffer.alloc(reserve)), + ).toBe(true); +} + +/** A plaintext image with the header fields the merge keeps consistent. */ +function plaintextImage(pageCount: number, marker = 0): Buffer { + const image = Buffer.alloc(pageCount * FIXTURE_PAGE_SIZE); + + for (let page = 0; page < pageCount; page++) { + for (let offset = 0; offset < FIXTURE_PAGE_SIZE - HEADER_RESERVED_BYTES; offset++) { + image[page * FIXTURE_PAGE_SIZE + offset] = (page * 31 + offset + marker) % 251; + } + } + + image.write('SQLite format 3\0', 0, 'latin1'); + image.writeUInt16BE(FIXTURE_PAGE_SIZE, 16); + image[18] = 1; + image[19] = 1; + image[20] = HEADER_RESERVED_BYTES; + image[21] = 64; + image[22] = 32; + image[23] = 32; + image.writeUInt32BE(7, 24); + image.writeUInt32BE(pageCount, 28); + image.writeUInt32BE(7, 92); + return image; +} + +/** A real SQLite database in WAL mode, plus the sidecar SQLite wrote for it. */ +async function realWalDatabase( + directory: string, + inserts: string[][], +): Promise<{ image: Buffer; wal: Buffer; db: SqliteDatabase }> { + const file = path.join(directory, 'source.db'); + const db = new SqliteDatabase(file); + await db.exec('PRAGMA wal_autocheckpoint = 0'); + await db.exec('CREATE TABLE t(value TEXT)'); + + for (const [value] of inserts) { + await db.prepare('INSERT INTO t VALUES (?)').run(value); + } + + return { image: await readFile(file), wal: await readFile(`${file}-wal`), db }; +} + +describe('SQLCipher page decryption', () => { + it('round-trips a page image and normalizes the header', () => { + const plain = plaintextImage(3); + plain[18] = 2; // stored as a WAL-mode database, like QQ writes them + plain[19] = 2; + const encrypted = encryptImage(plain, SHA1_SHA512); + + expect(detectAlgorithm(encrypted, FIXTURE_PASSPHRASE)).toEqual(SHA1_SHA512); + + const decrypted = decryptDatabase(encrypted, null, FIXTURE_PASSPHRASE, SHA1_SHA512); + expect(decrypted).not.toBeNull(); + + const expected = Buffer.from(plain); + expected[18] = 1; + expected[19] = 1; + expected.writeUInt32BE(3, 28); + expected.writeUInt32BE(7, 92); + expect(decrypted!.image.equals(expected)).toBe(true); + expect(decrypted!.walFrames).toBe(0); + }); + + it('probes the algorithm pair instead of assuming one', () => { + const plain = plaintextImage(2); + + for (const algorithm of [ + { pageHmac: 'sha256', kdfHmac: 'sha256' }, + { pageHmac: 'sha512', kdfHmac: 'sha1' }, + { pageHmac: 'none', kdfHmac: 'sha512' }, + ] satisfies SqlcipherAlgorithm[]) { + const encrypted = encryptImage(plain, algorithm); + expect(detectAlgorithm(encrypted, FIXTURE_PASSPHRASE)).toEqual(algorithm); + expect( + decryptDatabase(encrypted, null, FIXTURE_PASSPHRASE, algorithm)!.image.equals( + plain, + ), + ).toBe(true); + } + }); + + it('rejects a wrong passphrase and a file that is too short', () => { + const encrypted = encryptImage(plaintextImage(2), SHA1_SHA512); + expect(detectAlgorithm(encrypted, 'wrong-passphrase')).toBeNull(); + expect( + detectAlgorithm(Buffer.alloc(DATABASE_HEADER_SIZE + 512), FIXTURE_PASSPHRASE), + ).toBeNull(); + expect(decryptDatabase(Buffer.alloc(64), null, FIXTURE_PASSPHRASE, SHA1_SHA512)).toBeNull(); + }); +}); + +describe('SQLCipher WAL folding', () => { + it('reproduces the frame checksums SQLite itself wrote', async () => { + const directory = await mkdtemp(path.join(os.tmpdir(), 'snowluma-wal-')); + + try { + const { wal, db } = await realWalDatabase(directory, [['a'], ['b']]); + const littleEndian = wal.readUInt32BE(0) === 0x377f0682; + const frameSize = FIXTURE_WAL_FRAME_HEADER_SIZE + FIXTURE_PAGE_SIZE; + expect((wal.length - FIXTURE_WAL_HEADER_SIZE) % frameSize).toBe(0); + + const header = walChecksum( + [0, 0], + [wal.subarray(0, FIXTURE_WAL_HEADER_SIZE - 8)], + littleEndian, + ); + expect(header).toEqual([wal.readUInt32BE(24), wal.readUInt32BE(28)]); + + let running = header; + + for ( + let offset = FIXTURE_WAL_HEADER_SIZE; + offset + frameSize <= wal.length; + offset += frameSize + ) { + const frame = wal.subarray(offset, offset + FIXTURE_WAL_FRAME_HEADER_SIZE); + running = walChecksum( + running, + [ + frame.subarray(0, 8), + wal.subarray(offset + FIXTURE_WAL_FRAME_HEADER_SIZE, offset + frameSize), + ], + littleEndian, + ); + expect(running).toEqual([frame.readUInt32BE(16), frame.readUInt32BE(20)]); + } + + await db.close(); + } finally { + await rm(directory, { recursive: true, force: true }); + } + }); + + it('folds every committed frame into the decrypted image', async () => { + const directory = await mkdtemp(path.join(os.tmpdir(), 'snowluma-wal-')); + + try { + const { image, wal, db } = await realWalDatabase(directory, [['a'], ['b']]); + const encryptedImage = encryptImage(image, SHA1_SHA512); + const encryptedWal = encryptWal(wal, encryptedImage, SHA1_SHA512); + + const decrypted = decryptDatabase( + encryptedImage, + encryptedWal, + FIXTURE_PASSPHRASE, + SHA1_SHA512, + ); + expect(decrypted!.walFrames).toBe(committedFrames(wal)); + expect(decrypted!.image.length).toBe(lastCommitSize(wal) * FIXTURE_PAGE_SIZE); + + // Every page a committed frame carried has to arrive as it was written, + // apart from the on-disk IV/HMAC region the encryptor owns. + for (const [pageNumber, page] of committedPages(wal)) { + expectPageMatches(decrypted!.image, page, pageNumber, SHA1_SHA512); + } + + await db.close(); + } finally { + await rm(directory, { recursive: true, force: true }); + } + }); + + it('keeps the intact prefix of a WAL torn by a running client', async () => { + const directory = await mkdtemp(path.join(os.tmpdir(), 'snowluma-wal-')); + + try { + const { image, wal, db } = await realWalDatabase(directory, [['a'], ['b']]); + const encryptedImage = encryptImage(image, SHA1_SHA512); + const encryptedWal = encryptWal(wal, encryptedImage, SHA1_SHA512); + const frameSize = FIXTURE_WAL_FRAME_HEADER_SIZE + FIXTURE_PAGE_SIZE; + const frameCount = (wal.length - FIXTURE_WAL_HEADER_SIZE) / frameSize; + // Shred the last frame's page: everything after the previous commit + // must be dropped rather than half-applied. + encryptedWal[encryptedWal.length - 8] ^= 0xff; + + const decrypted = decryptDatabase( + encryptedImage, + encryptedWal, + FIXTURE_PASSPHRASE, + SHA1_SHA512, + ); + expect(decrypted).not.toBeNull(); + expect(decrypted!.walFrames).toBeLessThan(frameCount); + // Frames up to the tear survive; the merge still stops at the last + // commit they contain rather than applying a partial transaction. + expect(decrypted!.walFrames).toBe(committedFrames(wal, frameCount - 2)); + + // Everything the surviving commits wrote has to be in the image. + for (const [pageNumber, page] of committedPages(wal, frameCount - 2)) { + expectPageMatches(decrypted!.image, page, pageNumber, SHA1_SHA512); + } + + await db.close(); + } finally { + await rm(directory, { recursive: true, force: true }); + } + }); +}); + +describe('SQLCipher header handling', () => { + it('keeps the client header opaque and stores the salt at the start of page 1', () => { + const plain = plaintextImage(2); + const encrypted = encryptImage(plain, SHA1_SHA512); + const header = encrypted.subarray(0, FIXTURE_HEADER_SIZE); + + expect(header.equals(Buffer.alloc(FIXTURE_HEADER_SIZE))).toBe(true); + expect( + encrypted + .subarray(FIXTURE_HEADER_SIZE + 16, FIXTURE_HEADER_SIZE + 48) + .equals(plain.subarray(16, 48)), + ).toBe(false); + }); +}); diff --git a/packages/bridge/tests/qq-account-watch.integration.test.ts b/packages/bridge/tests/qq-account-watch.integration.test.ts new file mode 100644 index 00000000..93d9a9b3 --- /dev/null +++ b/packages/bridge/tests/qq-account-watch.integration.test.ts @@ -0,0 +1,86 @@ +import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; +import { mkdtemp, mkdir, rename, rm, writeFile } from 'node:fs/promises'; +import os from 'node:os'; +import path from 'node:path'; +import { setTimeout as delay } from 'node:timers/promises'; +import { watchAccountFiles } from '../src/qq-account/watch'; + +// Keep native filesystem coverage aligned with qqDataRootsForPid's supported platforms. +// macOS is only a development host here: fs.watch() can return before FSEvents +// registration, losing immediate writes. Deterministic logic tests run on every OS. +describe.skipIf(process.platform !== 'win32' && process.platform !== 'linux')( + 'account file changes on supported filesystems', + () => { + let root: string; + const subscriptions: Array<() => void> = []; + + beforeEach(async () => { + root = await mkdtemp(path.join(os.tmpdir(), 'snowluma-account-watch-')); + }); + + afterEach(async () => { + for (const stop of subscriptions.splice(0)) { + stop(); + } + + await rm(root, { recursive: true, force: true }); + }); + + function subscribe(dbPaths = [path.join(root, 'login.db')]) { + const changed = vi.fn(); + subscriptions.push(watchAccountFiles(dbPaths, changed)); + return changed; + } + + it('observes database and WAL changes while ignoring message data and SHM', async () => { + const dbPath = path.join(root, 'login.db'); + const changed = subscribe([dbPath, dbPath]); + await writeFile(dbPath, 'login'); + await vi.waitFor(() => expect(changed).toHaveBeenCalled()); + const afterDatabase = changed.mock.calls.length; + await writeFile(`${dbPath}-wal`, 'wal'); + await vi.waitFor(() => + expect(changed.mock.calls.length).toBeGreaterThan(afterDatabase), + ); + const afterWal = changed.mock.calls.length; + await writeFile(path.join(root, 'nt_msg.db'), 'message'); + await writeFile(`${dbPath}-shm`, 'shared memory'); + await delay(350); + expect(changed).toHaveBeenCalledTimes(afterWal); + }); + + it('observes database replacement and WAL recreation', async () => { + const dbPath = path.join(root, 'login.db'); + await writeFile(dbPath, 'initial'); + const changed = subscribe(); + await writeFile(path.join(root, 'replacement'), 'replacement'); + await rename(path.join(root, 'replacement'), dbPath); + await vi.waitFor(() => expect(changed).toHaveBeenCalled()); + const afterReplacement = changed.mock.calls.length; + await writeFile(dbPath, 'updated'); + await vi.waitFor(() => + expect(changed.mock.calls.length).toBeGreaterThan(afterReplacement), + ); + const afterUpdate = changed.mock.calls.length; + await writeFile(`${dbPath}-wal`, 'wal'); + await vi.waitFor(() => expect(changed.mock.calls.length).toBeGreaterThan(afterUpdate)); + const afterWal = changed.mock.calls.length; + await rm(`${dbPath}-wal`); + await writeFile(`${dbPath}-wal`, 'new wal'); + await vi.waitFor(() => expect(changed.mock.calls.length).toBeGreaterThan(afterWal)); + }); + + it('starts watching login data created after QQ process discovery', async () => { + const dbPath = path.join(root, 'QQ', 'global', 'nt_db', 'login.db'); + const changed = subscribe([dbPath]); + await mkdir(path.dirname(dbPath), { recursive: true }); + await writeFile(dbPath, 'initial'); + await vi.waitFor(() => expect(changed).toHaveBeenCalled()); + const afterDatabase = changed.mock.calls.length; + await writeFile(`${dbPath}-wal`, 'login'); + await vi.waitFor(() => + expect(changed.mock.calls.length).toBeGreaterThan(afterDatabase), + ); + }); + }, +); diff --git a/packages/bridge/tests/qq-account-watch.test.ts b/packages/bridge/tests/qq-account-watch.test.ts new file mode 100644 index 00000000..53990a88 --- /dev/null +++ b/packages/bridge/tests/qq-account-watch.test.ts @@ -0,0 +1,253 @@ +import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; +import { EventEmitter } from 'node:events'; +import type { FSWatcher, WatchListener } from 'node:fs'; +import path from 'node:path'; +import { createLogger } from '@snowluma/common/logger'; +import { watchAccountChangesForPids, watchAccountFiles } from '../src/qq-account/watch'; + +const files = vi.hoisted(() => ({ + watch: vi.fn< + ( + directory: string, + options: { persistent: boolean }, + listener: WatchListener, + ) => FSWatcher + >(), +})); + +vi.mock('node:fs', async (importOriginal) => ({ + ...(await importOriginal()), + watch: files.watch, +})); + +class TestWatcher extends EventEmitter implements FSWatcher { + // Keep callbacks reachable after close to exercise queued, stale events. + close = vi.fn(); + ref() { + return this; + } + unref() { + return this; + } +} + +const root = path.resolve('account-watch-fixture'); +const directories = new Set(); +const watchers: TestWatcher[] = []; +const subscriptions: Array<() => void> = []; +const platform = process.platform; + +beforeEach(() => { + vi.useFakeTimers(); + directories.add(root); + files.watch.mockImplementation((directory, _options, listener) => { + if (!directories.has(directory)) { + throw Object.assign(new Error('directory missing'), { code: 'ENOENT' }); + } + + const watcher = new TestWatcher(); + watcher.on('change', listener); + watchers.push(watcher); + return watcher; + }); +}); + +afterEach(() => { + for (const stop of subscriptions.splice(0)) { + stop(); + } + + Object.defineProperty(process, 'platform', { value: platform, configurable: true }); + watchers.length = 0; + directories.clear(); + files.watch.mockReset(); + vi.useRealTimers(); + vi.restoreAllMocks(); +}); + +function subscribe(dbPaths = [path.join(root, 'login.db')]) { + const changed = vi.fn(); + const log = createLogger('AccountWatchTest'); + const warning = vi.spyOn(log, 'warn'); + const stop = watchAccountFiles(dbPaths, changed, log); + subscriptions.push(stop); + return { changed, stop, warning }; +} + +// Native filesystem delivery is covered separately on the production platforms. +// These tests control event ordering and the debounce clock, not OS startup timing. +describe('account file changes', () => { + it('coalesces login database and WAL changes while ignoring message data and SHM', () => { + const dbPath = path.join(root, 'login.db'); + const { changed } = subscribe([dbPath, dbPath]); + expect(files.watch).toHaveBeenCalledExactlyOnceWith( + root, + { persistent: false }, + expect.any(Function), + ); + const watcher = watchers[0]!; + watcher.emit('change', 'change', 'login.db'); + vi.advanceTimersByTime(100); + watcher.emit('change', 'change', 'login.db-wal'); + vi.advanceTimersByTime(249); + expect(changed).not.toHaveBeenCalled(); + watcher.emit('change', 'change', 'nt_msg.db'); + watcher.emit('change', 'change', 'login.db-shm'); + vi.advanceTimersByTime(1); + expect(changed).toHaveBeenCalledOnce(); + vi.advanceTimersByTime(1000); + expect(changed).toHaveBeenCalledOnce(); + }); + + it('keeps the directory watch across database replacement and WAL recreation', () => { + const { changed } = subscribe(); + const watcher = watchers[0]!; + watcher.emit('change', 'rename', 'replacement'); + vi.advanceTimersByTime(250); + expect(changed).not.toHaveBeenCalled(); + watcher.emit('change', 'rename', 'login.db'); + vi.advanceTimersByTime(250); + watcher.emit('change', 'change', 'login.db'); + vi.advanceTimersByTime(250); + watcher.emit('change', 'rename', 'login.db-wal'); + vi.advanceTimersByTime(250); + watcher.emit('change', 'rename', 'login.db-wal'); + watcher.emit('change', 'rename', 'login.db-wal'); + vi.advanceTimersByTime(250); + expect(changed).toHaveBeenCalledTimes(4); + expect(files.watch).toHaveBeenCalledOnce(); + expect(watcher.close).not.toHaveBeenCalled(); + }); + + it('moves to newly created directories one level at a time', () => { + const dbDirectory = path.join(root, 'QQ', 'global', 'nt_db'); + const { changed } = subscribe([path.join(dbDirectory, 'login.db')]); + const ancestor = watchers[0]!; + const attempts = files.watch.mock.calls.length; + ancestor.emit('change', 'rename', 'unrelated'); + ancestor.emit('change', 'change', 'login.db-wal'); + expect(files.watch).toHaveBeenCalledTimes(attempts); + expect(vi.getTimerCount()).toBe(0); + + let directory = root; + + for (const segment of ['QQ', 'global', 'nt_db']) { + directory = path.join(directory, segment); + directories.add(directory); + const previous = watchers.at(-1)!; + previous.emit('change', 'rename', segment); + expect(previous.close).toHaveBeenCalledOnce(); + expect(files.watch).toHaveBeenLastCalledWith( + directory, + { persistent: false }, + expect.any(Function), + ); + } + + vi.advanceTimersByTime(250); + expect(changed).toHaveBeenCalledOnce(); + watchers.at(-1)!.emit('change', 'change', 'login.db-wal'); + vi.advanceTimersByTime(250); + expect(changed).toHaveBeenCalledTimes(2); + }); + + it.each(['QQ', null])( + 'observes an entire new directory tree from a %s ancestor event', + (filename) => { + const dbDirectory = path.join(root, 'QQ', 'global', 'nt_db'); + const { changed, warning } = subscribe([path.join(dbDirectory, 'login.db')]); + const ancestor = watchers[0]!; + directories.add(dbDirectory); + ancestor.emit('change', 'rename', filename); + expect(ancestor.close).toHaveBeenCalledOnce(); + expect(files.watch).toHaveBeenLastCalledWith( + dbDirectory, + { persistent: false }, + expect.any(Function), + ); + const attempts = files.watch.mock.calls.length; + vi.advanceTimersByTime(250); + expect(changed).toHaveBeenCalledOnce(); + + ancestor.emit('change', 'rename', 'QQ'); + ancestor.emit('error', new Error('late error')); + vi.advanceTimersByTime(250); + expect(files.watch).toHaveBeenCalledTimes(attempts); + expect(changed).toHaveBeenCalledOnce(); + expect(warning).not.toHaveBeenCalled(); + watchers.at(-1)!.emit('change', 'change', 'login.db-wal'); + vi.advanceTimersByTime(250); + expect(changed).toHaveBeenCalledTimes(2); + }, + ); + + it('notifies when the filesystem does not supply a filename', () => { + const { changed } = subscribe(); + watchers[0]!.emit('change', 'change', null); + vi.advanceTimersByTime(250); + expect(changed).toHaveBeenCalledOnce(); + }); + + it('closes every watcher and cancels pending notifications on disposal', () => { + const { changed, stop, warning } = subscribe([ + path.join(root, 'login.db'), + path.join(root, 'other', 'login.db'), + ]); + expect(watchers).toHaveLength(2); + watchers[0]!.emit('change', 'change', 'login.db'); + vi.advanceTimersByTime(30); + expect(vi.getTimerCount()).toBe(1); + stop(); + expect(vi.getTimerCount()).toBe(0); + + for (const watcher of watchers) { + expect(watcher.close).toHaveBeenCalledOnce(); + watcher.emit('change', 'rename', null); + watcher.emit('error', new Error('late error')); + } + + vi.advanceTimersByTime(1000); + expect(changed).not.toHaveBeenCalled(); + expect(warning).not.toHaveBeenCalled(); + }); + + it('reports watch failures without starting a polling fallback', () => { + files.watch.mockImplementationOnce(() => { + throw Object.assign(new Error('access denied'), { code: 'EACCES' }); + }); + const { changed, warning } = subscribe(); + expect(warning).toHaveBeenCalledWith( + 'account watch failed: path=%s err=%s', + path.join(root, 'login.db'), + 'access denied', + ); + expect(vi.getTimerCount()).toBe(0); + vi.advanceTimersByTime(1000); + expect(files.watch).toHaveBeenCalledOnce(); + expect(changed).not.toHaveBeenCalled(); + }); + + it('reports asynchronous watch errors and closes the failed watcher', () => { + const { changed, warning } = subscribe(); + const watcher = watchers[0]!; + watcher.emit('error', new Error('watch unavailable')); + expect(watcher.close).toHaveBeenCalledOnce(); + expect(warning).toHaveBeenCalledWith( + 'account watch failed: path=%s err=%s', + path.join(root, 'login.db'), + 'watch unavailable', + ); + watcher.emit('change', 'change', 'login.db'); + vi.advanceTimersByTime(250); + expect(changed).not.toHaveBeenCalled(); + }); + + it('does not start account file watchers through the production entry point on macOS', () => { + Object.defineProperty(process, 'platform', { value: 'darwin', configurable: true }); + const changed = vi.fn(); + subscriptions.push(watchAccountChangesForPids([123], changed)); + expect(files.watch).not.toHaveBeenCalled(); + expect(vi.getTimerCount()).toBe(0); + expect(changed).not.toHaveBeenCalled(); + }); +}); diff --git a/packages/bridge/tests/qq-hook-client.test.ts b/packages/bridge/tests/qq-hook-client.test.ts new file mode 100644 index 00000000..c84737bd --- /dev/null +++ b/packages/bridge/tests/qq-hook-client.test.ts @@ -0,0 +1,1285 @@ +import net from 'net'; +import { mkdtemp, rm, writeFile } from 'fs/promises'; +import os from 'os'; +import path from 'path'; +import { Duplex } from 'stream'; +import { + currentRequestId, + getLogLevel, + runWithRequestId, + setLogLevel, + subscribeLogs, + type LogEntry, +} from '@snowluma/common/logger'; +import { afterEach, describe, expect, it, vi } from 'vitest'; +import { CLIENT_MESSAGE_RECEIPT_CMD } from '@snowluma/common/protocol-types'; +import { HookSession } from '../src/hook-session'; +import { + HEADER_SIZE, + listLiveLinuxPipePids, + MAX_PIPE_BODY_BYTES, + MAX_PIPE_CMD_BYTES, + MAX_PIPE_MSG_BYTES, + PIPE_MAGIC, + PIPE_VERSION, + PipeOp, + QqHookClient, +} from '../src/qq-hook-client'; + +let tmpDir: string | null = null; +const previousLogLevel = getLogLevel(); + +async function makeRuntimeDir(): Promise { + tmpDir = await mkdtemp(path.join(os.tmpdir(), 'snowluma-hook-')); + return tmpDir; +} + +function pipeFrame({ + op, + requestId = 0, + status = 0, + value0 = 0n, + cmd = '', + message = '', + body = Buffer.alloc(0), +}: { + op: PipeOp; + requestId?: number; + status?: number; + value0?: bigint; + cmd?: string; + message?: string; + body?: Buffer; +}): Buffer { + const cmdBytes = Buffer.from(cmd); + const messageBytes = Buffer.from(message); + const header = Buffer.alloc(HEADER_SIZE); + header.writeUInt32LE(PIPE_MAGIC, 0); + header.writeUInt16LE(PIPE_VERSION, 4); + header.writeUInt16LE(op, 6); + header.writeUInt32LE(requestId, 8); + header.writeInt32LE(status, 12); + header.writeUInt32LE(cmdBytes.length, 20); + header.writeUInt32LE(messageBytes.length, 24); + header.writeUInt32LE(body.length, 28); + header.writeBigUInt64LE(value0, 32); + return Buffer.concat([header, cmdBytes, messageBytes, body]); +} + +function readSendFrame(payload: Buffer): { + requestId: number; + cmd: string; + body: Buffer; +} { + const cmdLength = payload.readUInt32LE(20); + const messageLength = payload.readUInt32LE(24); + const bodyLength = payload.readUInt32LE(28); + const cmdStart = HEADER_SIZE; + const bodyStart = cmdStart + cmdLength + messageLength; + return { + requestId: payload.readUInt32LE(8), + cmd: payload.subarray(cmdStart, cmdStart + cmdLength).toString(), + body: Buffer.from(payload.subarray(bodyStart, bodyStart + bodyLength)), + }; +} + +function mockControlPipe( + pid: number, + onWrite: (socket: net.Socket, payload: Buffer) => void, + ...startupFrames: Buffer[] +): ReturnType { + return vi.spyOn(net, 'createConnection').mockImplementation((() => { + const socket = new Duplex({ + read() { + /* peer data is injected with emit('data') */ + }, + write(chunk, _encoding, callback) { + onWrite(socket, Buffer.from(chunk)); + callback(); + }, + }) as net.Socket; + queueMicrotask(() => { + socket.emit('connect'); + queueMicrotask(() => + socket.emit( + 'data', + Buffer.concat([ + pipeFrame({ + op: PipeOp.hello, + value0: BigInt(pid), + }), + ...startupFrames, + ]), + ), + ); + }); + return socket; + }) as typeof net.createConnection); +} + +function traceMessages(entries: LogEntry[]): string[] { + return entries + .filter((entry) => entry.level === 'trace' && entry.scope === 'QQHook.Packet') + .map((entry) => entry.message); +} + +describe('initial connection timeout cleanup', () => { + it.each(['socket', 'control-hello', 'recv-hello'] as const)( + 'closes a stalled %s connection and allows unloading', + async (phase) => { + vi.useFakeTimers({ toFake: ['setTimeout', 'clearTimeout', 'Date'] }); + const sockets: net.Socket[] = []; + const connection = vi.spyOn(net, 'createConnection').mockImplementation((() => { + const socket = new Duplex({ + read() {}, + write(_chunk, _encoding, callback) { + callback(); + }, + }) as net.Socket; + sockets.push(socket); + const control = sockets.length === 1; + + if (phase !== 'socket') { + queueMicrotask(() => { + socket.emit('connect'); + + if (control && phase === 'recv-hello') { + queueMicrotask(() => + socket.emit('data', pipeFrame({ op: PipeOp.hello })), + ); + } + }); + } + + return socket; + }) as typeof net.createConnection); + const handle = { base: 0n, entry: 0n, exceptionTable: 0n, size: 0 }; + const unload = vi.fn(async () => {}); + const session = new HookSession(778905, { + injector: { + inject: async () => ({ method: 'loadModuleManual', handle }), + unload, + }, + makeClient: (pid) => new QqHookClient(pid), + pipeWatcher: { isPipeLive: () => false }, + detectLoginUin: async () => null, + }); + + try { + await session.load(); + session.onPipeUp(); + await new Promise((resolve) => setImmediate(resolve)); + expect(sockets).toHaveLength(phase === 'recv-hello' ? 2 : 1); + await vi.advanceTimersByTimeAsync(60_000); + expect(session.toInfo()).toMatchObject({ status: 'error', injected: true }); + expect(session.error).toContain('首次连接超时'); + expect(sockets.every((socket) => socket.destroyed)).toBe(true); + await expect(session.unload()).resolves.toMatchObject({ status: 'available' }); + expect(unload).toHaveBeenCalledExactlyOnceWith(session.pid, handle); + } finally { + session.dispose(); + + for (const socket of sockets) { + socket.destroy(); + } + + connection.mockRestore(); + vi.useRealTimers(); + } + }, + ); +}); + +describe('runtime initialization failures', () => { + const failureFrame = pipeFrame({ + op: PipeOp.error, + cmd: 'runtime', + status: -1, + message: 'QQ service unavailable', + }); + + it('rejects startup when a runtime failure follows hello in the same read', async () => { + const connection = mockControlPipe(778901, () => {}, failureFrame); + const client = new QqHookClient(778901); + const failure = vi.fn(); + client.on('runtimeError', failure); + + try { + await expect(client.connect()).rejects.toThrow('QQ service unavailable'); + expect(failure).toHaveBeenCalledExactlyOnceWith( + expect.objectContaining({ status: -1, requestId: 0 }), + ); + } finally { + client.close(); + connection.mockRestore(); + } + }); + + it('rejects pending and future requests on a runtime failure', async () => { + const connection = mockControlPipe(778902, (socket) => { + queueMicrotask(() => socket.emit('data', failureFrame)); + }); + const client = new QqHookClient(778902); + + try { + await expect(client.sendAndWait('Test', Buffer.alloc(0))).rejects.toThrow( + 'QQ service unavailable', + ); + await expect(client.sendAndWait('Test', Buffer.alloc(0))).rejects.toThrow( + 'QQ service unavailable', + ); + await expect(client.startRecv()).rejects.toThrow('QQ service unavailable'); + await expect(client.waitForLogin()).rejects.toThrow('QQ service unavailable'); + } finally { + client.close(); + connection.mockRestore(); + } + }); + + it('rejects login and queued writes when the runtime fails as a connection resumes', async () => { + const onWrite = vi.fn(); + const sockets = mockControlPipe(778903, onWrite); + const client = new QqHookClient(778903); + + try { + await client.connect(); + const waiting = client.waitForLogin({ timeoutMs: 100 }); + const sending = client.sendNoReply('Test', Buffer.alloc(0), { ackTimeoutMs: 100 }); + const settled = Promise.allSettled([waiting, sending]); + sockets.mock.results[0]!.value.emit('data', failureFrame); + + const expected = { + status: 'rejected', + reason: expect.objectContaining({ message: 'QQ service unavailable' }), + }; + expect(await settled).toEqual([expected, expected]); + expect(onWrite).not.toHaveBeenCalled(); + } finally { + client.close(); + sockets.mockRestore(); + } + }); +}); + +function runtimeTrace(entries: LogEntry[]): LogEntry[] { + return entries.filter((entry) => entry.level === 'trace' && entry.scope === 'QQHook.Runtime'); +} + +afterEach(async () => { + setLogLevel(previousLogLevel); + vi.restoreAllMocks(); + + if (!tmpDir) { + return; + } + + await rm(tmpDir, { recursive: true, force: true }); + tmpDir = null; +}); + +describe('QqHookClient login wait lifecycle', () => { + it('rejects when closed while resuming a completed connection', async () => { + const client = new QqHookClient(12345); + vi.spyOn(client, 'connect').mockResolvedValue({ + pid: 12345, + pipeName: 'test', + recvPipe: false, + }); + const waiting = client.waitForLogin(); + client.close(); + await expect(waiting).rejects.toThrow('closed'); + }); +}); + +describe('QqHookClient client message receipts', () => { + it('preserves receipt provenance and failure status separately from normal packets', async () => { + const sockets = mockControlPipe(12345, () => {}); + const client = new QqHookClient(12345); + const onPacket = vi.fn(); + + try { + await client.startRecv(onPacket); + const socket = sockets.mock.results[0]!.value; + const body = Buffer.from([1, 2, 3]); + socket.emit( + 'data', + pipeFrame({ op: PipeOp.clientMessageReceipt, value0: 42n, message: '10001', body }), + ); + socket.emit( + 'data', + pipeFrame({ + op: PipeOp.clientMessageReceipt, + value0: 43n, + message: '10001', + status: -1, + }), + ); + socket.emit( + 'data', + pipeFrame({ + op: PipeOp.recvPacket, + value0: 44n, + message: '10001', + cmd: CLIENT_MESSAGE_RECEIPT_CMD, + body, + }), + ); + + expect(onPacket.mock.calls.map(([packet]) => packet)).toEqual([ + { + seq: 42, + error: 0, + cmd: CLIENT_MESSAGE_RECEIPT_CMD, + uin: '10001', + body, + source: 'client-message', + }, + { + seq: 43, + error: -1, + cmd: CLIENT_MESSAGE_RECEIPT_CMD, + uin: '10001', + body: Buffer.alloc(0), + source: 'client-message', + }, + { seq: 44, error: 0, cmd: CLIENT_MESSAGE_RECEIPT_CMD, uin: '10001', body }, + ]); + } finally { + client.close(); + } + }); + + it('reports unsupported capability and invalid envelopes without breaking normal receive', async () => { + const entries: LogEntry[] = []; + setLogLevel('warn'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + const sockets = mockControlPipe(12345, () => {}); + const client = new QqHookClient(12345); + const onPacket = vi.fn(); + + try { + await client.startRecv(onPacket); + const socket = sockets.mock.results[0]!.value; + socket.emit('data', pipeFrame({ op: PipeOp.clientMessageState, status: -1 })); + socket.emit( + 'data', + pipeFrame({ op: PipeOp.clientMessageState, status: -1, value0: 42n }), + ); + const warning = 'Client private-message reporting is unavailable: PID=12345 status=-1'; + expect(entries.map((entry) => entry.message)).toEqual([ + warning, + `${warning} reason=42`, + ]); + + for (const patch of [ + { value0: 0n }, + { value0: BigInt(Number.MAX_SAFE_INTEGER) + 1n }, + { message: '' }, + { cmd: 'unexpected' }, + { requestId: 1 }, + ]) { + socket.emit( + 'data', + pipeFrame({ + op: PipeOp.clientMessageReceipt, + value0: 42n, + message: '10001', + ...patch, + }), + ); + } + + expect(onPacket).not.toHaveBeenCalled(); + expect( + entries.filter( + (entry) => entry.scope === 'QQHook.Runtime' && entry.level === 'warn', + ), + ).toHaveLength(7); + socket.emit( + 'data', + pipeFrame({ op: PipeOp.recvPacket, cmd: 'normal', message: '10001', value0: 44n }), + ); + expect(onPacket).toHaveBeenCalledOnce(); + } finally { + client.close(); + unsubscribe(); + } + }); +}); + +describe('listLiveLinuxPipePids', () => { + it('ignores stale-looking control socket names when the probe rejects them', async () => { + const runtimeDir = await makeRuntimeDir(); + await writeFile(path.join(runtimeDir, 'mojo.55.control.sock'), ''); + await writeFile(path.join(runtimeDir, 'mojo.55.recv.sock'), ''); + + const pids = await listLiveLinuxPipePids(runtimeDir, async () => false); + + expect([...pids]).toEqual([]); + }); + + it('returns only connectable control sockets', async () => { + const runtimeDir = await makeRuntimeDir(); + await writeFile(path.join(runtimeDir, 'mojo.55.control.sock'), ''); + await writeFile(path.join(runtimeDir, 'mojo.56.control.sock'), ''); + await writeFile(path.join(runtimeDir, 'mojo.56.recv.sock'), ''); + await writeFile(path.join(runtimeDir, 'mojo.not-a-pid.control.sock'), ''); + + const probe = vi.fn(async (socketPath: string) => + socketPath.endsWith('mojo.56.control.sock'), + ); + const pids = await listLiveLinuxPipePids(runtimeDir, probe); + + expect([...pids]).toEqual([56]); + expect(probe).toHaveBeenCalledTimes(2); + }); +}); + +describe('QqHookClient — pipe frame limits', () => { + it('forwards a probed account as a native identity hint without changing login state', async () => { + const pid = 778819; + const writes: Buffer[] = []; + const connection = mockControlPipe(pid, (socket, payload) => { + writes.push(Buffer.from(payload)); + const requestId = payload.readUInt32LE(8); + queueMicrotask(() => + socket.emit( + 'data', + pipeFrame({ + op: PipeOp.sendAck, + requestId, + }), + ), + ); + }); + const client = new QqHookClient(pid); + + try { + await client.reconcileLoginIdentity('10001'); + + expect(writes).toHaveLength(1); + expect(writes[0]!.readUInt16LE(6)).toBe(PipeOp.loginIdentityHint); + expect(writes[0]!.readBigUInt64LE(32)).toBe(10001n); + expect(client.getLoginState()).toEqual({ + loggedIn: false, + uin: '0', + uinNumber: 0n, + }); + } finally { + client.close(); + connection.mockRestore(); + } + }); + + it.each([ + ['command', 20, MAX_PIPE_CMD_BYTES], + ['message', 24, MAX_PIPE_MSG_BYTES], + ['body', 28, MAX_PIPE_BODY_BYTES], + ] as const)( + 'rejects an oversized inbound %s before waiting for its payload', + async (name, lengthOffset, limit) => { + const pid = 778830; + let socket: net.Socket | null = null; + const createConnection = vi.spyOn(net, 'createConnection').mockImplementation((() => { + socket = new Duplex({ + read() { + /* peer data is injected with emit('data') */ + }, + }) as net.Socket; + queueMicrotask(() => { + socket!.emit('connect'); + const header = Buffer.alloc(HEADER_SIZE); + header.writeUInt32LE(PIPE_MAGIC, 0); + header.writeUInt16LE(PIPE_VERSION, 4); + header.writeUInt16LE(PipeOp.hello, 6); + header.writeUInt32LE(limit + 1, lengthOffset); + socket!.emit('data', header); + }); + return socket; + }) as typeof net.createConnection); + const client = new QqHookClient(pid); + const connecting = client.connect().catch(() => undefined); + + try { + const error = await new Promise((resolve, reject) => { + const timer = setTimeout( + () => reject(new Error('oversized frame was not rejected')), + 100, + ); + client.once('error', (reason: unknown) => { + clearTimeout(timer); + resolve(reason instanceof Error ? reason : new Error(String(reason))); + }); + }); + + expect(error.message).toBe( + `pipe frame ${name} length ${limit + 1} exceeds limit ${limit}`, + ); + expect(socket?.destroyed).toBe(true); + } finally { + client.close(); + await connecting; + createConnection.mockRestore(); + } + }, + ); + + it('rejects an oversized outbound command before writing to the pipe', async () => { + const pid = 778831; + const onWrite = vi.fn(); + const connection = mockControlPipe(pid, onWrite); + const client = new QqHookClient(pid); + + try { + await client.connect(); + + await expect( + client.sendNoReply('x'.repeat(MAX_PIPE_CMD_BYTES + 1), Buffer.alloc(0), { + ackTimeoutMs: 25, + }), + ).rejects.toThrow( + `pipe frame command length ${MAX_PIPE_CMD_BYTES + 1} exceeds limit ${MAX_PIPE_CMD_BYTES}`, + ); + expect(onWrite).not.toHaveBeenCalled(); + } finally { + client.close(); + connection.mockRestore(); + } + }); + + it('rejects an oversized outbound body before writing to the pipe', async () => { + const pid = 778832; + const onWrite = vi.fn(); + const connection = mockControlPipe(pid, onWrite); + const client = new QqHookClient(pid); + + try { + await client.connect(); + + await expect( + client.sendNoReply('test.command', Buffer.alloc(MAX_PIPE_BODY_BYTES + 1)), + ).rejects.toThrow( + `pipe frame body length ${MAX_PIPE_BODY_BYTES + 1} exceeds limit ${MAX_PIPE_BODY_BYTES}`, + ); + expect(onWrite).not.toHaveBeenCalled(); + } finally { + client.close(); + connection.mockRestore(); + } + }); + + it('accepts values exactly at the command limit', async () => { + const pid = 778833; + const connection = mockControlPipe(pid, (socket, payload) => { + const requestId = payload.readUInt32LE(8); + queueMicrotask(() => + socket.emit( + 'data', + pipeFrame({ + op: PipeOp.sendAck, + requestId, + }), + ), + ); + }); + const client = new QqHookClient(pid); + + try { + await expect( + client.sendNoReply('x'.repeat(MAX_PIPE_CMD_BYTES), Buffer.alloc(0)), + ).resolves.toMatchObject({ requestId: 1 }); + } finally { + client.close(); + connection.mockRestore(); + } + }); + + it('parses fragmented and coalesced frames without losing boundaries', async () => { + const pid = 778834; + const states: string[] = []; + const wire = Buffer.concat([ + pipeFrame({ op: PipeOp.hello, value0: BigInt(pid), message: 'control' }), + pipeFrame({ op: PipeOp.loginState, status: 1, value0: 10001n, message: '10001' }), + pipeFrame({ op: PipeOp.loginState, status: 1, value0: 10002n, message: '10002' }), + ]); + const createConnection = vi.spyOn(net, 'createConnection').mockImplementation((() => { + const socket = new Duplex({ + read() { + /* peer data is injected with emit('data') */ + }, + }) as net.Socket; + queueMicrotask(() => { + socket.emit('connect'); + queueMicrotask(() => { + const cuts = [1, 7, 39, 40, 44, 83, wire.length - 1, wire.length]; + let offset = 0; + + for (const end of cuts) { + if (end > offset) { + socket.emit('data', wire.subarray(offset, end)); + } + + offset = end; + } + }); + }); + return socket; + }) as typeof net.createConnection); + const client = new QqHookClient(pid); + client.on('loginState', (state) => states.push(state.uin)); + + try { + const hello = await client.connect(); + + expect(hello).toMatchObject({ pipeName: 'control', pid }); + expect(states).toEqual(['10001', '10002']); + } finally { + client.close(); + createConnection.mockRestore(); + } + }); + + it('accepts an inbound message exactly at the native limit', async () => { + const pid = 778835; + const message = 'x'.repeat(MAX_PIPE_MSG_BYTES); + const frame = pipeFrame({ op: PipeOp.hello, value0: BigInt(pid), message }); + const createConnection = vi.spyOn(net, 'createConnection').mockImplementation((() => { + const socket = new Duplex({ + read() { + /* peer data is injected with emit('data') */ + }, + }) as net.Socket; + queueMicrotask(() => { + socket.emit('connect'); + queueMicrotask(() => { + for (let offset = 0; offset < frame.length; offset += 1024) { + socket.emit('data', frame.subarray(offset, offset + 1024)); + } + }); + }); + return socket; + }) as typeof net.createConnection); + const client = new QqHookClient(pid); + + try { + await expect(client.connect()).resolves.toMatchObject({ pipeName: message, pid }); + } finally { + client.close(); + createConnection.mockRestore(); + } + }); +}); + +describe('QqHookClient — runtime TRACE', () => { + it('records control and receive pipe hello lifecycles under the parent request', async () => { + const pid = 778820; + const entries: LogEntry[] = []; + let connectionIndex = 0; + setLogLevel('trace'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + const createConnection = vi.spyOn(net, 'createConnection').mockImplementation((() => { + const kind = connectionIndex === 0 ? 'control' : 'recv'; + connectionIndex += 1; + const socket = new Duplex({ + read() { + /* peer data is injected with emit('data') */ + }, + }) as net.Socket; + queueMicrotask(() => { + socket.emit('connect'); + queueMicrotask(() => + socket.emit( + 'data', + pipeFrame({ + op: PipeOp.hello, + value0: BigInt(pid), + message: `${kind}-fixture`, + }), + ), + ); + }); + return socket; + }) as typeof net.createConnection); + const client = new QqHookClient(pid); + + try { + await runWithRequestId(4201, () => client.connectAll()); + + const trace = runtimeTrace(entries); + expect(trace).toHaveLength(6); + expect(trace.every((entry) => entry.req === 4201)).toBe(true); + expect(trace.map((entry) => entry.message)).toEqual([ + expect.stringMatching(/^hook_pipe_start pid=778820 kind=control pipeName=.*$/), + expect.stringMatching( + /^hook_pipe_branch pid=778820 kind=control branch=socket_connected$/, + ), + expect.stringMatching( + /^hook_pipe_terminal pid=778820 kind=control outcome=completed reason=hello_received hello=\{pipeName:"control-fixture",pid:778820,recvPipe:false\} elapsedMs=\d+$/, + ), + expect.stringMatching(/^hook_pipe_start pid=778820 kind=recv pipeName=.*$/), + expect.stringMatching( + /^hook_pipe_branch pid=778820 kind=recv branch=socket_connected$/, + ), + expect.stringMatching( + /^hook_pipe_terminal pid=778820 kind=recv outcome=completed reason=hello_received hello=\{pipeName:"recv-fixture",pid:778820,recvPipe:true\} elapsedMs=\d+$/, + ), + ]); + } finally { + unsubscribe(); + client.close(); + createConnection.mockRestore(); + } + }); + + it('records a pre-request connection failure without a pipe request id', async () => { + const pid = 778821; + const entries: LogEntry[] = []; + setLogLevel('trace'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + const createConnection = vi.spyOn(net, 'createConnection').mockImplementation((() => { + const socket = new Duplex({ + read() { + /* no peer */ + }, + }) as net.Socket; + queueMicrotask(() => socket.emit('error', new Error('fixture connect failure'))); + return socket; + }) as typeof net.createConnection); + const client = new QqHookClient(pid); + + try { + await expect(client.connect()).rejects.toThrow('fixture connect failure'); + + const trace = runtimeTrace(entries); + expect(trace).toHaveLength(2); + expect(trace.every((entry) => entry.req !== undefined)).toBe(true); + expect(trace[0]!.req).toBe(trace[1]!.req); + expect(trace.map((entry) => entry.message)).toEqual([ + expect.stringMatching(/^hook_pipe_start pid=778821 kind=control pipeName=.*$/), + expect.stringMatching( + /^hook_pipe_terminal pid=778821 kind=control outcome=failed reason=connect_failed error="fixture connect failure" elapsedMs=\d+$/, + ), + ]); + expect(trace.map((entry) => entry.message).join('\n')).not.toContain('requestId='); + } finally { + unsubscribe(); + client.close(); + createConnection.mockRestore(); + } + }); + + it('assigns fresh request contexts to material login and close events only', async () => { + const pid = 778822; + const entries: LogEntry[] = []; + setLogLevel('trace'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + const connection = mockControlPipe(pid, () => { + /* no packet writes */ + }); + const client = new QqHookClient(pid); + const eventRequestIds: Array<{ event: 'login' | 'close'; req: number | undefined }> = []; + client.on('loginState', () => { + eventRequestIds.push({ event: 'login', req: currentRequestId() }); + }); + client.on('close', () => { + eventRequestIds.push({ event: 'close', req: currentRequestId() }); + }); + + try { + await runWithRequestId(4202, () => client.connect()); + const controlSocket = connection.mock.results[0]!.value as net.Socket; + controlSocket.emit( + 'data', + pipeFrame({ + op: PipeOp.loginState, + status: 1, + value0: 123456n, + message: '123456', + }), + ); + controlSocket.emit( + 'data', + pipeFrame({ + op: PipeOp.loginState, + status: 1, + value0: 123456n, + message: '123456', + }), + ); + controlSocket.destroy(); + await new Promise((resolve) => setImmediate(resolve)); + + const facts = runtimeTrace(entries).filter((entry) => + entry.message.startsWith('hook_runtime_fact pid=778822 '), + ); + expect(facts).toHaveLength(2); + expect(facts.every((entry) => entry.req !== undefined)).toBe(true); + expect(facts[0]!.req).not.toBe(facts[1]!.req); + expect(facts.map((entry) => entry.message)).toEqual([ + 'hook_runtime_fact pid=778822 event=login_state_changed previousLoggedIn=false previousUin="0" loggedIn=true uin="123456"', + 'hook_runtime_fact pid=778822 event=pipe_closed kind=control loggedIn=true uin="123456"', + ]); + expect(eventRequestIds).toEqual([ + { event: 'login', req: facts[0]!.req }, + { event: 'login', req: undefined }, + { event: 'close', req: facts[1]!.req }, + ]); + } finally { + unsubscribe(); + client.close(); + connection.mockRestore(); + } + }); +}); + +describe('QqHookClient — packet TRACE', () => { + it('records complete request and reply bodies with the real pipe request id', async () => { + const pid = 778810; + const requestBody = Buffer.from([ + 0x00, + 0xff, + ...Array.from({ length: 160 }, (_, index) => index & 0xff), + ]); + const replyBody = Buffer.from([0xff, 0x00, 0x7f]); + const entries: LogEntry[] = []; + const writes: Buffer[] = []; + let traceCountAtWrite = 0; + setLogLevel('trace'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + const connection = mockControlPipe(pid, (socket, payload) => { + const frame = readSendFrame(payload); + writes.push(payload); + traceCountAtWrite = traceMessages(entries).length; + queueMicrotask(() => { + socket.emit('data', pipeFrame({ op: PipeOp.sendAck, requestId: frame.requestId })); + socket.emit( + 'data', + pipeFrame({ + op: PipeOp.sendReply, + requestId: frame.requestId, + status: 27, + message: 'fixture reply', + body: replyBody, + }), + ); + }); + }); + const client = new QqHookClient(pid); + + try { + const reply = await runWithRequestId(4101, () => + client.sendAndWait('OidbSvcTrpcTcp.0x1234_1', requestBody), + ); + + const sent = readSendFrame(writes[0]); + expect(sent).toMatchObject({ + requestId: 1, + cmd: 'OidbSvcTrpcTcp.0x1234_1', + body: requestBody, + }); + expect(reply).toMatchObject({ + requestId: 1, + error: 27, + message: 'fixture reply', + body: replyBody, + }); + expect(traceCountAtWrite).toBe(1); + expect(entries.filter((entry) => entry.scope === 'QQHook.Packet')).toEqual( + expect.arrayContaining([ + expect.objectContaining({ + req: 4101, + message: `packet_send serviceCmd="OidbSvcTrpcTcp.0x1234_1" requestId=1 length=${requestBody.length} body=${requestBody.toString('hex')}`, + }), + expect.objectContaining({ + req: 4101, + message: `packet_recv serviceCmd="OidbSvcTrpcTcp.0x1234_1" requestId=1 error=27 message="fixture reply" length=${replyBody.length} body=${replyBody.toString('hex')}`, + }), + expect.objectContaining({ + req: 4101, + message: expect.stringMatching( + /^packet_terminal serviceCmd="OidbSvcTrpcTcp\.0x1234_1" requestId=1 outcome=failed reason=reply_error error=27 elapsedMs=\d+$/, + ), + }), + ]), + ); + + for (const message of traceMessages(entries)) { + expect(message).not.toContain('...'); + } + } finally { + unsubscribe(); + client.close(); + connection.mockRestore(); + } + }); + + it('records empty request and reply bodies exactly', async () => { + const pid = 778811; + const entries: LogEntry[] = []; + setLogLevel('trace'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + const connection = mockControlPipe(pid, (socket, payload) => { + const { requestId } = readSendFrame(payload); + queueMicrotask(() => { + socket.emit('data', pipeFrame({ op: PipeOp.sendAck, requestId })); + socket.emit('data', pipeFrame({ op: PipeOp.sendReply, requestId })); + }); + }); + const client = new QqHookClient(pid); + + try { + await client.sendAndWait('Empty.Command', Buffer.alloc(0)); + + expect(traceMessages(entries)).toEqual([ + 'packet_send serviceCmd="Empty.Command" requestId=1 length=0 body=', + 'packet_recv serviceCmd="Empty.Command" requestId=1 error=0 message="" length=0 body=', + expect.stringMatching( + /^packet_terminal serviceCmd="Empty\.Command" requestId=1 outcome=ok reason=reply_received error=0 elapsedMs=\d+$/, + ), + ]); + } finally { + unsubscribe(); + client.close(); + connection.mockRestore(); + } + }); + + it('records no-reply acknowledgement as the terminal outcome', async () => { + const pid = 778812; + const entries: LogEntry[] = []; + setLogLevel('trace'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + const connection = mockControlPipe(pid, (socket, payload) => { + const { requestId } = readSendFrame(payload); + queueMicrotask(() => { + socket.emit('data', pipeFrame({ op: PipeOp.sendAck, requestId })); + }); + }); + const client = new QqHookClient(pid); + + try { + await client.sendNoReply('NoReply.Command', Buffer.from([0x00, 0xff])); + + expect(traceMessages(entries)).toEqual([ + 'packet_send serviceCmd="NoReply.Command" requestId=1 length=2 body=00ff', + expect.stringMatching( + /^packet_terminal serviceCmd="NoReply\.Command" requestId=1 outcome=ok reason=ack_received elapsedMs=\d+$/, + ), + ]); + } finally { + unsubscribe(); + client.close(); + connection.mockRestore(); + } + }); + + it('records reply timeout and transport failure with their real request ids', async () => { + vi.useFakeTimers(); + const pid = 778813; + const entries: LogEntry[] = []; + setLogLevel('trace'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + let writeCount = 0; + const connection = mockControlPipe(pid, (socket, payload) => { + const { requestId } = readSendFrame(payload); + writeCount += 1; + + if (writeCount === 1) { + queueMicrotask(() => { + socket.emit('data', pipeFrame({ op: PipeOp.sendAck, requestId })); + }); + return; + } + + queueMicrotask(() => socket.destroy()); + }); + const client = new QqHookClient(pid); + client.on('error', () => { + /* expected transport failure */ + }); + + try { + const timedOut = client.sendAndWait('Timeout.Command', Buffer.from([0xff]), { + ackTimeoutMs: 50, + replyTimeoutMs: 50, + }); + const timedOutOutcome = timedOut.then( + () => null, + (error: unknown) => error, + ); + await vi.advanceTimersByTimeAsync(50); + const timeoutError = await timedOutOutcome; + expect(timeoutError).toBeInstanceOf(Error); + expect((timeoutError as Error).message).toBe('send reply 1 timed out after 50 ms'); + + const failed = client.sendAndWait('Closed.Command', Buffer.from([0x00]), { + ackTimeoutMs: 50, + replyTimeoutMs: 50, + }); + await expect(failed).rejects.toThrow('control pipe closed'); + + expect(traceMessages(entries)).toEqual( + expect.arrayContaining([ + expect.stringMatching( + /^packet_terminal serviceCmd="Timeout\.Command" requestId=1 outcome=timeout reason=reply_timeout error="send reply 1 timed out after 50 ms" elapsedMs=\d+$/, + ), + expect.stringMatching( + /^packet_terminal serviceCmd="Closed\.Command" requestId=2 outcome=failed reason=transport_failure error="control pipe closed" elapsedMs=\d+$/, + ), + ]), + ); + } finally { + unsubscribe(); + client.close(); + connection.mockRestore(); + vi.useRealTimers(); + } + }); + + it('classifies acknowledgement timeout and pipe request failure', async () => { + vi.useFakeTimers(); + const pid = 778815; + const entries: LogEntry[] = []; + setLogLevel('trace'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + let writeCount = 0; + const connection = mockControlPipe(pid, (socket, payload) => { + const { requestId } = readSendFrame(payload); + writeCount += 1; + + if (writeCount === 2) { + queueMicrotask(() => + socket.emit( + 'data', + pipeFrame({ + op: PipeOp.error, + requestId, + status: 12, + message: 'send ack 2 timed out after 25 ms', + }), + ), + ); + } + }); + const client = new QqHookClient(pid); + + try { + const timedOut = client.sendNoReply('Ack.Timeout', Buffer.from([0x00]), { + ackTimeoutMs: 25, + }); + const timedOutOutcome = timedOut.then( + () => null, + (error: unknown) => error, + ); + await vi.advanceTimersByTimeAsync(25); + expect(await timedOutOutcome).toMatchObject({ + message: 'send ack 1 timed out after 25 ms', + }); + + const requestError = await client.sendAndWait('Pipe.Error', Buffer.from([0xff])).then( + () => null, + (error: unknown) => error, + ); + expect(requestError).toMatchObject({ + name: 'HookPipeRequestError', + message: 'send ack 2 timed out after 25 ms', + status: 12, + requestId: 2, + }); + + expect(traceMessages(entries)).toEqual( + expect.arrayContaining([ + expect.stringMatching( + /^packet_terminal serviceCmd="Ack\.Timeout" requestId=1 outcome=timeout reason=ack_timeout error="send ack 1 timed out after 25 ms" elapsedMs=\d+$/, + ), + expect.stringMatching( + /^packet_terminal serviceCmd="Pipe\.Error" requestId=2 outcome=failed reason=request_failed error="send ack 2 timed out after 25 ms" elapsedMs=\d+$/, + ), + ]), + ); + } finally { + unsubscribe(); + client.close(); + connection.mockRestore(); + vi.useRealTimers(); + } + }); + + it('keeps concurrent packet records atomic with distinct real request ids', async () => { + const pid = 778816; + const entries: LogEntry[] = []; + const writes: Array> = []; + setLogLevel('trace'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + const connection = mockControlPipe(pid, (socket, payload) => { + writes.push(readSendFrame(payload)); + + if (writes.length !== 2) { + return; + } + + queueMicrotask(() => { + for (const frame of [...writes].reverse()) { + socket.emit( + 'data', + pipeFrame({ + op: PipeOp.sendAck, + requestId: frame.requestId, + }), + ); + socket.emit( + 'data', + pipeFrame({ + op: PipeOp.sendReply, + requestId: frame.requestId, + body: Buffer.from(frame.body).reverse(), + }), + ); + } + }); + }); + const client = new QqHookClient(pid); + const firstBody = Buffer.from([0x00, 0xff]); + const secondBody = Buffer.from(Array.from({ length: 160 }, (_, index) => index & 0xff)); + + try { + const [first, second] = await Promise.all([ + client.sendAndWait('First\nCommand', firstBody), + client.sendAndWait('Second.Command', secondBody), + ]); + + expect([first.requestId, second.requestId]).toEqual([1, 2]); + expect(writes.map((frame) => frame.requestId)).toEqual([1, 2]); + const messages = traceMessages(entries); + expect(messages).toHaveLength(6); + expect(messages.every((message) => !message.includes('\n'))).toBe(true); + expect(messages).toEqual( + expect.arrayContaining([ + `packet_send serviceCmd="First\\nCommand" requestId=1 length=2 body=${firstBody.toString('hex')}`, + `packet_recv serviceCmd="First\\nCommand" requestId=1 error=0 message="" length=2 body=${Buffer.from(firstBody).reverse().toString('hex')}`, + `packet_send serviceCmd="Second.Command" requestId=2 length=${secondBody.length} body=${secondBody.toString('hex')}`, + `packet_recv serviceCmd="Second.Command" requestId=2 error=0 message="" length=${secondBody.length} body=${Buffer.from(secondBody).reverse().toString('hex')}`, + ]), + ); + expect( + messages.filter((message) => message.startsWith('packet_terminal')), + ).toHaveLength(2); + } finally { + unsubscribe(); + client.close(); + connection.mockRestore(); + } + }); + + it('does not evaluate packet TRACE producers while TRACE is disabled', async () => { + const pid = 778814; + setLogLevel('debug'); + const byteLength = vi.spyOn(Buffer.prototype, 'toString'); + const connection = mockControlPipe(pid, (socket, payload) => { + const { requestId } = readSendFrame(payload); + queueMicrotask(() => { + socket.emit('data', pipeFrame({ op: PipeOp.sendAck, requestId })); + socket.emit('data', pipeFrame({ op: PipeOp.sendReply, requestId })); + }); + }); + const client = new QqHookClient(pid); + + try { + await client.sendAndWait('Disabled.Command', Buffer.from([0x00, 0xff])); + + expect(byteLength).not.toHaveBeenCalledWith('hex'); + } finally { + client.close(); + connection.mockRestore(); + byteLength.mockRestore(); + } + }); +}); + +describe('QqHookClient — pipe close mid-send', () => { + // Regression: when the control pipe closes while a send() is awaiting its + // ack, rejectControlPending() rejects BOTH the ack and reply deferreds. The + // reply is only `await`ed after the ack, so if the ack rejects first the + // reply promise is rejected with NO awaiter — an UNHANDLED rejection that + // crashes the Node process (Docker: supervisor restarts it ~1s later; on + // Windows it just dies → "connection pipe closed", bot down). The .catch() + // guard on each deferred prevents it; without the guard this test trips the + // unhandledRejection assertion below. + it('does not raise an unhandled rejection', async () => { + const PID = 778899; + + const helloFrame = (): Buffer => { + const h = Buffer.alloc(40); + h.writeUInt32LE(0x31504851, 0); // PIPE_MAGIC + h.writeUInt16LE(1, 4); // PIPE_VERSION + h.writeUInt16LE(1, 6); // PipeOp.hello + h.writeBigUInt64LE(BigInt(PID), 32); // value0 = pid + return h; + }; + + let controlConn: net.Socket | null = null; + let signalControlWrite!: () => void; + const controlWriteStarted = new Promise((resolve) => { + signalControlWrite = resolve; + }); + const createConnection = vi.spyOn(net, 'createConnection').mockImplementation((() => { + const socket = new Duplex({ + read() { + /* peer data is injected with emit('data') */ + }, + write(_chunk, _encoding, callback) { + signalControlWrite(); + callback(); + }, + }) as net.Socket; + controlConn = socket; + queueMicrotask(() => { + socket.emit('connect'); + queueMicrotask(() => socket.emit('data', helloFrame())); + }); + return socket; + }) as typeof net.createConnection); + + const unhandled: unknown[] = []; + + const onUnhandled = (reason: unknown): void => { + unhandled.push(reason); + }; + + process.on('unhandledRejection', onUnhandled); + + const client = new QqHookClient(PID); + client.on('error', () => { + /* socket reset on destroy — ignore */ + }); + + try { + await client.connect(); + + // Start a reply-expecting send, let it reach the in-flight (awaiting-ack) + // state, then have the "hook" drop the pipe before it answers. + const sent = client + .send('noop', null, { wantReply: true, ackTimeoutMs: 1000, replyTimeoutMs: 1000 }) + .then( + () => 'resolved' as const, + (e: unknown) => e, + ); + await controlWriteStarted; + controlConn?.destroy(); + + const outcome = await sent; + await new Promise((resolve) => setImmediate(resolve)); + + expect(outcome).toBeInstanceOf(Error); + expect((outcome as Error).message).toBe('control pipe closed'); + expect( + unhandled, + `unhandled rejections leaked: ${unhandled.map(String).join(', ')}`, + ).toHaveLength(0); + } finally { + process.off('unhandledRejection', onUnhandled); + client.close(); + createConnection.mockRestore(); + } + }); +}); diff --git a/packages/bridge/tests/runtime-integrity.test.ts b/packages/bridge/tests/runtime-integrity.test.ts new file mode 100644 index 00000000..6e1f2a0d --- /dev/null +++ b/packages/bridge/tests/runtime-integrity.test.ts @@ -0,0 +1,152 @@ +import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; +import { hasLowProcessIntegrity, type NativeRuntimeIntegrity } from '../src/runtime-integrity'; + +const native = vi.hoisted(() => ({ load: vi.fn(), error: vi.fn() })); +vi.mock('../src/injector', () => ({ + getNativeHookAddon: native.load, + getNativeHookLoadError: native.error, +})); + +const platform = process.platform; +const sample = (): NativeRuntimeIntegrity => ({ + pid: process.pid, + executablePath: process.execPath, + process: { status: 'ok', rid: 8192 }, + file: { status: 'ok', label: null }, +}); + +beforeEach(() => { + vi.resetModules(); + vi.resetAllMocks(); + Object.defineProperty(process, 'platform', { value: 'win32', configurable: true }); +}); + +afterEach(() => { + Object.defineProperty(process, 'platform', { value: platform, configurable: true }); +}); + +describe('runtime integrity diagnostics', () => { + it('warns only for a successfully read process token below Medium', () => { + const available = { ...sample(), status: 'available' as const }; + + for (const rid of [0, 4096]) { + expect(hasLowProcessIntegrity({ ...available, process: { status: 'ok', rid } })).toBe( + true, + ); + } + + for (const rid of [8192, 8448, 12288, 16384]) { + expect( + hasLowProcessIntegrity({ + ...available, + process: { status: 'ok', rid }, + file: { status: 'ok', label: { rid: 4096, inherited: true, policy: 1 } }, + }), + ).toBe(false); + } + + expect(hasLowProcessIntegrity({ status: 'unsupported' })).toBe(false); + expect(hasLowProcessIntegrity({ status: 'unavailable', error: 'unavailable' })).toBe(false); + expect( + hasLowProcessIntegrity({ + ...available, + process: { status: 'error', operation: 'OpenProcessToken', code: 5 }, + }), + ).toBe(false); + }); + + it('keeps one startup snapshot for logging and all WebUI polls', async () => { + const read = vi.fn().mockResolvedValue(sample()); + native.load.mockReturnValue({ getRuntimeIntegrityAsync: read }); + const { getRuntimeIntegrity } = await import('../src/runtime-integrity'); + const pending = getRuntimeIntegrity(); + expect(getRuntimeIntegrity()).toBe(pending); + const first = await pending; + expect(first).toMatchObject({ + status: 'available', + process: { rid: 8192 }, + file: { label: null }, + }); + read.mockResolvedValue({ + ...sample(), + file: { status: 'ok', label: { rid: 4096, inherited: true, policy: 1 } }, + }); + expect(await getRuntimeIntegrity()).toBe(first); + expect(read).toHaveBeenCalledTimes(1); + }); + + it.each(['process', 'file'])( + 'retains %s query errors and the other successful result', + async (field) => { + native.load.mockReturnValue({ + getRuntimeIntegrityAsync: async () => ({ + ...sample(), + [field]: { status: 'error', operation: 'Win32Query', code: 5 }, + }), + }); + const { getRuntimeIntegrity } = await import('../src/runtime-integrity'); + expect(await getRuntimeIntegrity()).toMatchObject({ + status: 'available', + [field]: { status: 'error', operation: 'Win32Query', code: 5 }, + }); + }, + ); + + it('reports old addons as unavailable rather than Medium', async () => { + native.load.mockReturnValue({}); + const { getRuntimeIntegrity } = await import('../src/runtime-integrity'); + expect(await getRuntimeIntegrity()).toMatchObject({ + status: 'unavailable', + error: expect.stringContaining('不支持'), + }); + }); + + it('retains the loader error for the startup log', async () => { + native.load.mockReturnValue(null); + native.error.mockReturnValue('dlopen failed: incompatible binary'); + const { getRuntimeIntegrity } = await import('../src/runtime-integrity'); + expect(await getRuntimeIntegrity()).toMatchObject({ + status: 'unavailable', + error: 'dlopen failed: incompatible binary', + }); + }); + + it.each([ + null, + { ...sample(), pid: process.pid + 1 }, + { ...sample(), process: { status: 'ok', rid: -1 } }, + { ...sample(), file: { status: 'ok', label: { rid: 4096, inherited: 'yes', policy: 1 } } }, + ])('rejects malformed or wrong-process native results', async (result) => { + native.load.mockReturnValue({ getRuntimeIntegrityAsync: async () => result }); + const { getRuntimeIntegrity } = await import('../src/runtime-integrity'); + expect(await getRuntimeIntegrity()).toMatchObject({ + status: 'unavailable', + error: expect.stringContaining('无效数据'), + }); + }); + + it('preserves rejected errors without repeatedly probing on WebUI polls', async () => { + const read = vi + .fn() + .mockRejectedValueOnce(new Error('allocation failed')) + .mockResolvedValue(sample()); + native.load.mockReturnValue({ getRuntimeIntegrityAsync: read }); + const { getRuntimeIntegrity } = await import('../src/runtime-integrity'); + expect(await getRuntimeIntegrity()).toMatchObject({ + status: 'unavailable', + error: 'allocation failed', + }); + expect(await getRuntimeIntegrity()).toMatchObject({ + status: 'unavailable', + error: 'allocation failed', + }); + expect(read).toHaveBeenCalledTimes(1); + }); + + it('does not load the addon on non-Windows hosts', async () => { + Object.defineProperty(process, 'platform', { value: 'linux', configurable: true }); + const { getRuntimeIntegrity } = await import('../src/runtime-integrity'); + expect(await getRuntimeIntegrity()).toEqual({ status: 'unsupported' }); + expect(native.load).not.toHaveBeenCalled(); + }); +}); diff --git a/packages/bridge/tsconfig.json b/packages/bridge/tsconfig.json new file mode 100644 index 00000000..4cd329d7 --- /dev/null +++ b/packages/bridge/tsconfig.json @@ -0,0 +1,13 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "types": ["node"], + "noEmit": true + }, + "include": [ + "src/**/*" + ], + "exclude": [ + "node_modules" + ] +} diff --git a/packages/bridge/vitest.config.ts b/packages/bridge/vitest.config.ts new file mode 100644 index 00000000..4dea4350 --- /dev/null +++ b/packages/bridge/vitest.config.ts @@ -0,0 +1,8 @@ +import { defineConfig } from 'vitest/config'; + +export default defineConfig({ + test: { + include: ['tests/**/*.test.ts'], + environment: 'node', + }, +}); diff --git a/packages/common/bench/logger.bench.ts b/packages/common/bench/logger.bench.ts new file mode 100644 index 00000000..4a0ba505 --- /dev/null +++ b/packages/common/bench/logger.bench.ts @@ -0,0 +1,40 @@ +// pnpm --filter @snowluma/common exec vitest bench --run bench/logger.bench.ts +import { bench, describe, vi } from 'vitest'; + +vi.stubEnv('SNOWLUMA_LOG_LEVEL', 'trace'); +vi.stubEnv('SNOWLUMA_LOG_FILE', '0'); +vi.stubEnv('SNOWLUMA_LOG_FILE_LEVEL', 'debug'); +vi.stubEnv('SNOWLUMA_TRACE_BUFFER', '5000'); +const { createLogger, getLogSnapshot, getRecentLogs, setLogLevel } = await import('../src/logger'); +const stdout = vi.spyOn(process.stdout, 'write').mockReturnValue(true); +const log = createLogger('Benchmark'); + +for (let i = 0; i < 5000; i += 1) { + log.trace('trace %d', i); + + if (i % 5 === 0) { + log.info('normal %d', i); + } +} + +stdout.mockRestore(); + +describe('6,000 retained records', () => { + bench('recent 30', () => { + getRecentLogs(30); + }); + bench('recent 300', () => { + getRecentLogs(300); + }); + bench('complete export', () => { + getLogSnapshot(); + }); +}); + +setLogLevel('info'); + +describe('file-only debug records with disk disabled', () => { + bench('format and route debug', () => { + log.debug('packet command=%s bytes=%d', 'Example.Service', 1024); + }); +}); diff --git a/packages/common/package.json b/packages/common/package.json new file mode 100644 index 00000000..8b8ab091 --- /dev/null +++ b/packages/common/package.json @@ -0,0 +1,123 @@ +{ + "license": "SEE LICENSE IN LICENSE", + "name": "@snowluma/common", + "version": "2.4.2", + "private": true, + "type": "module", + "description": "SnowLuma shared infrastructure — leaf-package utilities with zero business dependencies. Logger / hex codec / log file transport / log line summariser / packet sender wire-protocol types / runtime config loader. Consumed by @snowluma/protocol, @snowluma/core, and @snowluma/onebot. Per-file subpath exports keep import sites unambiguous and let the bundler tree-shake aggressively (importing `@snowluma/common/hex` doesn't pull in `node:fs` from the logger transport).", + "main": "./src/index.ts", + "types": "./src/index.ts", + "exports": { + "./webui-target": { + "types": "./src/webui-target.ts", + "default": "./src/webui-target.ts" + }, + "./update-source": { + "types": "./src/update-source.ts", + "default": "./src/update-source.ts" + }, + "./semver": { + "types": "./src/semver.ts", + "default": "./src/semver.ts" + }, + "./version": { + "types": "./src/version.ts", + "default": "./src/version.ts" + }, + "./native-path": { + "types": "./src/native-path.ts", + "default": "./src/native-path.ts" + }, + "./errors": { + "types": "./src/errors.ts", + "default": "./src/errors.ts" + }, + ".": { + "types": "./src/index.ts", + "default": "./src/index.ts" + }, + "./logger": { + "types": "./src/logger.ts", + "default": "./src/logger.ts" + }, + "./coerce": { + "types": "./src/coerce.ts", + "default": "./src/coerce.ts" + }, + "./env": { + "types": "./src/env.ts", + "default": "./src/env.ts" + }, + "./notification-templates": { + "types": "./src/notification-templates.ts", + "default": "./src/notification-templates.ts" + }, + "./single-flight-cache": { + "types": "./src/single-flight-cache.ts", + "default": "./src/single-flight-cache.ts" + }, + "./concurrency": { + "types": "./src/concurrency.ts", + "default": "./src/concurrency.ts" + }, + "./hex": { + "types": "./src/hex.ts", + "default": "./src/hex.ts" + }, + "./json": { + "types": "./src/json.ts", + "default": "./src/json.ts" + }, + "./log-file-transport": { + "types": "./src/log-file-transport.ts", + "default": "./src/log-file-transport.ts" + }, + "./log-sanitize": { + "types": "./src/log-sanitize.ts", + "default": "./src/log-sanitize.ts" + }, + "./log-summary": { + "types": "./src/log-summary.ts", + "default": "./src/log-summary.ts" + }, + "./packet-sender": { + "types": "./src/packet-sender.ts", + "default": "./src/packet-sender.ts" + }, + "./protocol-types": { + "types": "./src/protocol-types.ts", + "default": "./src/protocol-types.ts" + }, + "./runtime": { + "types": "./src/runtime.ts", + "default": "./src/runtime.ts" + }, + "./uin": { + "types": "./src/uin.ts", + "default": "./src/uin.ts" + }, + "./access-token": { + "types": "./src/access-token.ts", + "default": "./src/access-token.ts" + } + }, + "scripts": { + "typecheck": "tsc --noEmit", + "test": "vitest run" + }, + "devDependencies": { + "@types/node": "catalog:", + "@types/semver": "7.7.1", + "typescript": "catalog:", + "vitest": "4.1.12" + }, + "dependencies": { + "@zxcvbn-ts/core": "^4.1.2", + "@zxcvbn-ts/language-common": "^4.1.3", + "@zxcvbn-ts/language-en": "^4.1.1", + "semver": "7.7.4" + }, + "engines": { + "node": "^24.22.1 || >=26.12.1" + } +} diff --git a/packages/common/src/access-token.ts b/packages/common/src/access-token.ts new file mode 100644 index 00000000..914b17ee --- /dev/null +++ b/packages/common/src/access-token.ts @@ -0,0 +1,68 @@ +import { ZxcvbnFactory } from '@zxcvbn-ts/core'; +import { adjacencyGraphs, dictionary } from '@zxcvbn-ts/language-common'; +import { translations } from '@zxcvbn-ts/language-en'; + +export const ACCESS_TOKEN_MIN_LENGTH = 16; +export const ACCESS_TOKEN_MIN_SCORE = 3; + +export type AccessTokenAssessmentReason = 'empty' | 'too-short' | 'guessable' | 'acceptable'; + +export interface AccessTokenAssessment { + acceptable: boolean; + reason: AccessTokenAssessmentReason; + score: number; +} + +const checker = new ZxcvbnFactory({ + translations, + graphs: adjacencyGraphs, + dictionary, +}); + +function normalizeUserInputs(values: readonly (string | number)[]): Array { + const unique = new Set(['SnowLuma', 'OneBot']); + + for (const value of values) { + if (typeof value === 'number') { + if (Number.isFinite(value)) { + unique.add(value); + } + + continue; + } + + const trimmed = value.trim(); + + if (trimmed) { + unique.add(trimmed.slice(0, 256)); + } + } + + return [...unique].slice(0, 24); +} + +/** + * Evaluate a newly chosen OneBot access token against the shared product + * policy. Callers decide whether an empty token is permitted in their own + * trust context; an empty value is never considered strong here. + */ +export function assessAccessToken( + token: string, + userInputs: readonly (string | number)[] = [], +): AccessTokenAssessment { + if (!token) { + return { acceptable: false, reason: 'empty', score: 0 }; + } + + if (token.length < ACCESS_TOKEN_MIN_LENGTH) { + return { acceptable: false, reason: 'too-short', score: 0 }; + } + + const score = checker.check(token, normalizeUserInputs(userInputs)).score; + + if (score < ACCESS_TOKEN_MIN_SCORE) { + return { acceptable: false, reason: 'guessable', score }; + } + + return { acceptable: true, reason: 'acceptable', score }; +} diff --git a/packages/common/src/coerce.ts b/packages/common/src/coerce.ts new file mode 100644 index 00000000..5efadb45 --- /dev/null +++ b/packages/common/src/coerce.ts @@ -0,0 +1,34 @@ +// Scalar coercion primitives for normalizing untrusted JSON config into +// typed values with fallbacks. Zero dependencies — these were duplicated +// verbatim across notifications/config and webui/ui-config; this is their +// single home. Input tolerance is deliberate (numeric strings coerce), but +// validity is strict (a wrong type yields the caller's fallback, never a +// silent 0/'' — except where the primitive's contract says otherwise). + +/** True only for a plain, non-null, non-array object. */ +export function isObject(value: unknown): value is Record { + return typeof value === 'object' && value !== null && !Array.isArray(value); +} + +/** The value when it is a real boolean, else the fallback. Strings/numbers + * are NOT coerced — `'true'` and `1` both yield the fallback. */ +export function boolOr(value: unknown, fallback: boolean): boolean { + return typeof value === 'boolean' ? value : fallback; +} + +/** A finite number (numeric strings coerced) clamped to `[min, max]`, else + * the fallback. Fractional precision is preserved — use `clampInt` to floor. */ +export function clampNum(value: unknown, min: number, max: number, fallback: number): number { + const n = typeof value === 'number' ? value : typeof value === 'string' ? Number(value) : NaN; + + if (!Number.isFinite(n)) { + return fallback; + } + + return Math.min(max, Math.max(min, n)); +} + +/** `clampNum` truncated toward zero — clamp first, then drop the fraction. */ +export function clampInt(value: unknown, min: number, max: number, fallback: number): number { + return Math.trunc(clampNum(value, min, max, fallback)); +} diff --git a/packages/common/src/concurrency.ts b/packages/common/src/concurrency.ts new file mode 100644 index 00000000..e6114926 --- /dev/null +++ b/packages/common/src/concurrency.ts @@ -0,0 +1,32 @@ +/** + * Map `items` through `fn` in sequential batches of at most `concurrency` + * items, awaiting each batch (`Promise.all`) before starting the next. + * Results come back in input order. + * + * Batched, not a rolling pool: every item in a batch must settle before the + * next batch starts. This caps peak parallelism — used to keep rate-limited + * fan-out (e.g. the per-uin OIDB profile fetches during forward-node + * enrichment) from bursting past a safe width and tripping Tencent + * risk-control. Pair it with a cap on `items` (slice) and per-item error + * handling inside `fn` for a fully bounded, best-effort enrichment — the + * shape that was previously hand-rolled at each such call site. + */ +export async function mapWithConcurrency( + items: readonly T[], + concurrency: number, + fn: (item: T, index: number) => Promise, +): Promise { + const limit = Math.max(1, Math.trunc(concurrency)); + const results = new Array(items.length); + + for (let i = 0; i < items.length; i += limit) { + const batch = items.slice(i, i + limit); + const settled = await Promise.all(batch.map((item, j) => fn(item, i + j))); + + for (let j = 0; j < settled.length; j++) { + results[i + j] = settled[j]!; + } + } + + return results; +} diff --git a/packages/common/src/env.ts b/packages/common/src/env.ts new file mode 100644 index 00000000..c7aa66e3 --- /dev/null +++ b/packages/common/src/env.ts @@ -0,0 +1,34 @@ +import { createLogger } from './logger'; + +const log = createLogger('Env'); + +/** Node's setTimeout delay is a signed 32-bit integer. */ +const MAX_POSITIVE_INT = 2_147_483_647; + +/** Read a positive integer environment variable. + * + * A blank value is absent and returns `fallback`. A present but unusable + * value is ignored, with a warning, and also returns `fallback`. + */ +export function positiveIntEnv( + name: string, + fallback: number, + options?: { max?: number; env?: NodeJS.ProcessEnv }, +): number { + const max = options?.max ?? MAX_POSITIVE_INT; + const raw = (options?.env ?? process.env)[name]; + + if (typeof raw !== 'string' || !raw.trim()) { + return fallback; + } + + const value = raw.trim(); + const parsed = /^[1-9]\d*$/.test(value) ? Number(value) : Number.NaN; + + if (!Number.isSafeInteger(parsed) || parsed > max) { + log.warn('%s=%j is ignored; expected a positive integer up to %d', name, raw, max); + return fallback; + } + + return parsed; +} diff --git a/packages/common/src/errors.ts b/packages/common/src/errors.ts new file mode 100644 index 00000000..5f27a0e9 --- /dev/null +++ b/packages/common/src/errors.ts @@ -0,0 +1,3 @@ +export function errorMessage(error: unknown): string { + return error instanceof Error ? error.message : String(error); +} diff --git a/packages/common/src/hex.ts b/packages/common/src/hex.ts new file mode 100644 index 00000000..b410654b --- /dev/null +++ b/packages/common/src/hex.ts @@ -0,0 +1,27 @@ +export function toHex(data: Uint8Array | Buffer): string { + return Buffer.from(data.buffer, data.byteOffset, data.byteLength).toString('hex'); +} + +export function toHexUpper(data: Uint8Array | Buffer): string { + return toHex(data).toUpperCase(); +} + +export function hexPreview(data: Uint8Array | Buffer, maxBytes = 64): string { + const limit = Math.max(0, Math.min(maxBytes, data.length)); + const head = toHex(data.subarray(0, limit)); + return data.length > limit ? `${head}...` : head; +} + +export function fromHex(hex: string): Buffer { + if (hex.length % 2 !== 0) { + throw new Error('Invalid hex string length'); + } + + const buf = Buffer.alloc(hex.length / 2); + + for (let i = 0; i < buf.length; i++) { + buf[i] = parseInt(hex.substring(i * 2, i * 2 + 2), 16); + } + + return buf; +} diff --git a/packages/common/src/json.ts b/packages/common/src/json.ts new file mode 100644 index 00000000..758be288 --- /dev/null +++ b/packages/common/src/json.ts @@ -0,0 +1,6 @@ +export type JsonPrimitive = string | number | boolean | null; +export type JsonValue = JsonPrimitive | JsonObject | JsonArray; +export interface JsonObject { + [key: string]: JsonValue; +} +export type JsonArray = JsonValue[]; diff --git a/packages/common/src/log-file-transport.ts b/packages/common/src/log-file-transport.ts new file mode 100644 index 00000000..1bacf814 --- /dev/null +++ b/packages/common/src/log-file-transport.ts @@ -0,0 +1,1240 @@ +import { errorMessage } from './errors'; +import fs from 'node:fs'; +import path from 'node:path'; +import { sanitizeLogLine } from './log-sanitize'; +import { MAX_LOG_RETAIN_DAYS, MAX_LOG_TOTAL_MB } from './runtime'; + +const DEFAULT_DIR = 'logs'; +const DEFAULT_MAX_MB = 50; +const DEFAULT_MAX_TOTAL_MB = 1024; +const DEFAULT_RETAIN_DAYS = 7; +const FILE_PREFIX = 'snowluma-'; +const FILE_SUFFIX = '.log'; +const FILE_RE = /^snowluma-(\d{4}-\d{2}-\d{2})(?:\.(\d+))?\.log$/; +const ACCOUNT_DIR_RE = /^\d+$/; +const QUOTA_RETRY_MS = 5_000; + +export type LogStorageState = 'disabled' | 'healthy' | 'warning' | 'degraded'; + +export interface LogStorageStatus { + state: LogStorageState; + directory: string; + totalBytes: number; + maxTotalBytes: number; + retainDays: number; + perUinEnabled: boolean; + fileCount: number; + activeFileCount: number; + droppedLines: number; + lastError?: string; +} + +export interface LogStoragePolicy { + maxTotalMb: number; + retainDays: number; + perUinEnabled: boolean; +} + +export interface LogCleanupResult { + deletedFiles: number; + freedBytes: number; + failures: Array<{ file: string; message: string }>; + status: LogStorageStatus; +} + +function parseNonNegativeInt( + value: string | undefined, + fallback: number, + max: number, + field?: string, +): number { + if (value === undefined || value.trim() === '') { + return fallback; + } + + const parsed = Number(value.trim()); + + if (Number.isSafeInteger(parsed) && parsed >= 0 && parsed <= max) { + return parsed; + } + + if (field) { + throw new RangeError(`${field} must be an integer in 0..${String(max)}`); + } + + return fallback; +} + +function parseRequiredPositiveInt( + value: string | undefined, + fallback: number, + max: number, + field: string, +): number { + if (value === undefined || value.trim() === '') { + return fallback; + } + + const parsed = Number(value.trim()); + + if (Number.isSafeInteger(parsed) && parsed > 0 && parsed <= max) { + return parsed; + } + + throw new RangeError(`${field} must be an integer in 1..${String(max)}`); +} + +function parseRequiredBool(value: string | undefined, fallback: boolean, field: string): boolean { + if (value === undefined || value.trim() === '') { + return fallback; + } + + const normalized = value.trim().toLowerCase(); + + if (['1', 'true', 'yes', 'on'].includes(normalized)) { + return true; + } + + if (['0', 'false', 'no', 'off'].includes(normalized)) { + return false; + } + + throw new TypeError(`${field} must be a boolean`); +} + +function todayString(d: Date = new Date()): string { + const y = d.getFullYear(); + const m = String(d.getMonth() + 1).padStart(2, '0'); + const day = String(d.getDate()).padStart(2, '0'); + return `${y}-${m}-${day}`; +} + +function dateOf(s: string): Date { + const [y, m, d] = s.split('-').map((v) => Number.parseInt(v, 10)); + return new Date(y!, m! - 1, d!); +} + +interface OpenFile { + stream: fs.WriteStream; + bytes: number; + date: string; + splitIndex: number; + path: string; +} + +interface ManagedLogFile { + path: string; + bytes: number; + mtimeMs: number; + date: string; +} + +/** + * Owns the byte budget for the whole managed log tree. Writers reserve bytes + * here before enqueueing them to a WriteStream, so buffered bytes count toward + * the hard limit even before fs.stat can observe them. + */ +class LogQuota { + private readonly files = new Map(); + private readonly active = new Set(); + private usedBytes = 0; + private degraded = false; + private lastError: string | null = null; + private nextRetryAt = 0; + private droppedLines = 0; + private maintenanceSuspensions = 0; + + constructor( + private readonly root: string, + private maxTotalBytes: number, + private retainDays: number, + maintainOnLoad = true, + ) { + this.loadManagedFiles(); + + if (maintainOnLoad) { + this.cleanupExpired(); + this.ensureCapacity(0); + } + } + + activate(filePath: string): number | null { + const normalized = path.resolve(filePath); + const known = this.files.get(normalized); + + if (known) { + this.active.add(normalized); + return known.bytes; + } + + let bytes = 0; + let mtimeMs = Date.now(); + + try { + const stat = fs.statSync(normalized); + bytes = stat.size; + mtimeMs = stat.mtimeMs; + } catch (error) { + if (!isMissing(error)) { + this.enterDegraded( + `failed to inspect active log ${normalized}: ${errorMessage(error)}`, + ); + return null; + } + } + + const date = FILE_RE.exec(path.basename(normalized))?.[1] ?? todayString(); + this.files.set(normalized, { path: normalized, bytes, mtimeMs, date }); + this.usedBytes += bytes; + this.active.add(normalized); + return bytes; + } + + deactivate(filePath: string): void { + this.active.delete(path.resolve(filePath)); + + if (this.maintenanceSuspensions > 0) { + return; + } + + this.maintainAfterClose(); + } + + suspendMaintenance(): () => void { + this.maintenanceSuspensions += 1; + let resumed = false; + + return () => { + if (resumed) { + return; + } + + resumed = true; + this.maintenanceSuspensions = Math.max(0, this.maintenanceSuspensions - 1); + }; + } + + reserve(filePath: string, bytes: number): boolean { + if (bytes <= 0) { + return true; + } + + if (this.degraded && !this.retry(false)) { + this.droppedLines += 1; + return false; + } + + if (!this.ensureCapacity(bytes)) { + this.droppedLines += 1; + return false; + } + + const normalized = path.resolve(filePath); + const file = this.files.get(normalized); + + if (!file) { + if (this.activate(normalized) === null) { + this.droppedLines += 1; + return false; + } + + return this.reserve(normalized, bytes); + } + + file.bytes += bytes; + file.mtimeMs = Date.now(); + this.usedBytes += bytes; + return true; + } + + writeFailed(filePath: string, error: unknown): void { + this.storageFailed(`write ${filePath}`, error); + } + + storageFailed(operation: string, error: unknown): void { + this.enterDegraded(`${operation}: ${errorMessage(error)}`); + } + + snapshot(): Omit< + LogStorageStatus, + 'directory' | 'maxTotalBytes' | 'retainDays' | 'perUinEnabled' + > { + return { + state: this.degraded ? 'degraded' : this.lastError ? 'warning' : 'healthy', + totalBytes: this.usedBytes, + fileCount: this.files.size, + activeFileCount: this.active.size, + droppedLines: this.droppedLines, + ...(this.lastError ? { lastError: this.lastError } : {}), + }; + } + + updatePolicy(maxTotalBytes: number, retainDays: number): void { + this.maxTotalBytes = maxTotalBytes; + this.retainDays = retainDays; + this.degraded = false; + this.lastError = null; + this.nextRetryAt = 0; + + try { + this.refreshClosedFiles(); + this.cleanupExpired(); + this.ensureCapacity(0); + } catch (error) { + this.enterDegraded(`failed to apply log storage policy: ${errorMessage(error)}`); + throw error; + } + } + + clearClosedFiles(): Omit { + this.refreshClosedFiles(); + let deletedFiles = 0; + let freedBytes = 0; + const failures: LogCleanupResult['failures'] = []; + const candidates = [...this.files.values()] + .filter((file) => !this.active.has(file.path)) + .sort((a, b) => a.mtimeMs - b.mtimeMs || a.path.localeCompare(b.path)); + + for (const file of candidates) { + const bytes = file.bytes; + + if (this.deleteManagedFile(file, 'capacity')) { + deletedFiles += 1; + freedBytes += bytes; + } else { + failures.push({ + file: path.relative(this.root, file.path), + message: this.lastError ?? 'unknown cleanup error', + }); + } + } + + if (failures.length === 0) { + this.degraded = false; + this.lastError = null; + this.nextRetryAt = 0; + } else if (this.usedBytes > this.maxTotalBytes) { + this.enterDegraded( + `managed logs still use ${String(this.usedBytes)} bytes after manual cleanup, ` + + `exceeding the ${String(this.maxTotalBytes)} byte limit`, + ); + } + + this.ensureCapacity(0); + return { deletedFiles, freedBytes, failures }; + } + + private retry(force: boolean): boolean { + if (!force && Date.now() < this.nextRetryAt) { + return false; + } + + this.degraded = false; + this.lastError = null; + + try { + this.refreshClosedFiles(); + const recovered = this.ensureCapacity(0); + + if (recovered) { + this.nextRetryAt = 0; + } + + return recovered; + } catch (error) { + this.enterDegraded(`failed to refresh managed logs: ${errorMessage(error)}`); + return false; + } + } + + private maintainAfterClose(): void { + try { + this.refreshClosedFiles(); + this.cleanupExpired(); + + if (this.degraded) { + this.retry(true); + } else { + this.ensureCapacity(0); + } + } catch (error) { + this.enterDegraded( + `failed to maintain managed logs after rotation: ${errorMessage(error)}`, + ); + } + } + + private ensureCapacity(incomingBytes: number): boolean { + if (this.usedBytes + incomingBytes <= this.maxTotalBytes) { + return true; + } + + const candidates = [...this.files.values()] + .filter((file) => !this.active.has(file.path)) + .sort((a, b) => a.mtimeMs - b.mtimeMs || a.path.localeCompare(b.path)); + + for (const file of candidates) { + if (this.usedBytes + incomingBytes <= this.maxTotalBytes) { + break; + } + + if (!this.deleteManagedFile(file, 'capacity')) { + break; + } + } + + if (this.usedBytes + incomingBytes <= this.maxTotalBytes) { + return true; + } + + this.enterDegraded( + `managed logs require ${String(this.usedBytes + incomingBytes)} bytes, ` + + `exceeding the ${String(this.maxTotalBytes)} byte limit; no closed log can be reclaimed`, + ); + return false; + } + + private enterDegraded(message: string): void { + const shouldReport = !this.degraded || this.lastError !== message; + this.degraded = true; + this.lastError = message; + this.nextRetryAt = Date.now() + QUOTA_RETRY_MS; + + if (shouldReport) { + reportStorageError(message); + } + } + + private cleanupExpired(): void { + if (this.retainDays === 0) { + return; + } + + const cutoff = Date.now() - this.retainDays * 24 * 60 * 60 * 1000; + const expired = [...this.files.values()] + .filter((file) => !this.active.has(file.path) && dateOf(file.date).getTime() < cutoff) + .sort((a, b) => a.mtimeMs - b.mtimeMs || a.path.localeCompare(b.path)); + + for (const file of expired) { + if (!this.deleteManagedFile(file, 'retention')) { + break; + } + } + } + + private deleteManagedFile(file: ManagedLogFile, reason: 'capacity' | 'retention'): boolean { + try { + fs.unlinkSync(file.path); + this.files.delete(file.path); + this.usedBytes = Math.max(0, this.usedBytes - file.bytes); + return true; + } catch (error) { + this.lastError = `${reason} cleanup failed for ${file.path}: ${error instanceof Error ? error.message : String(error)}`; + reportStorageError(this.lastError); + return false; + } + } + + private loadManagedFiles(): void { + for (const file of listManagedLogFiles(this.root)) { + this.files.set(file.path, file); + this.usedBytes += file.bytes; + } + } + + /** Refresh only closed files; active stream bytes are tracked in-memory and + * may be newer than fs.stat while the WriteStream buffer is still flushing. */ + private refreshClosedFiles(): void { + const disk = new Map(listManagedLogFiles(this.root).map((file) => [file.path, file])); + + for (const [filePath, file] of this.files) { + if (this.active.has(filePath)) { + continue; + } + + const next = disk.get(filePath); + this.usedBytes -= file.bytes; + + if (next) { + this.files.set(filePath, next); + this.usedBytes += next.bytes; + disk.delete(filePath); + } else { + this.files.delete(filePath); + } + } + + for (const file of disk.values()) { + if (this.files.has(file.path)) { + continue; + } + + this.files.set(file.path, file); + this.usedBytes += file.bytes; + } + } +} + +function listManagedLogFiles(root: string): ManagedLogFile[] { + const out: ManagedLogFile[] = []; + + const readDirectory = (dir: string): fs.Dirent[] | null => { + try { + return fs.readdirSync(dir, { withFileTypes: true }); + } catch (error) { + if (isMissing(error)) { + return null; + } + + throw new Error(`failed to read managed log directory ${dir}: ${errorMessage(error)}`, { + cause: error, + }); + } + }; + + const visit = (dir: string, entries: fs.Dirent[]): void => { + for (const entry of entries) { + if (!entry.isFile()) { + continue; + } + + const match = FILE_RE.exec(entry.name); + + if (!match) { + continue; + } + + const filePath = path.resolve(dir, entry.name); + + try { + const stat = fs.statSync(filePath); + out.push({ + path: filePath, + bytes: stat.size, + mtimeMs: stat.mtimeMs, + date: match[1]!, + }); + } catch (error) { + if (isMissing(error)) { + continue; + } + + throw new Error(`failed to stat managed log ${filePath}: ${errorMessage(error)}`, { + cause: error, + }); + } + } + }; + + const rootEntries = readDirectory(root); + + if (!rootEntries) { + return out; + } + + visit(root, rootEntries); + + for (const entry of rootEntries) { + if (entry.isDirectory() && ACCOUNT_DIR_RE.test(entry.name)) { + const accountDir = path.join(root, entry.name); + const accountEntries = readDirectory(accountDir); + + if (accountEntries) { + visit(accountDir, accountEntries); + } + } + } + + return out; +} + +function reportStorageError(message: string): void { + process.stderr.write(`[logger.storage] ${message}\n`); +} + +/** + * Owns one output directory: keeps at most one open WriteStream, handles + * daily rollover and the per-file size cap. Retention and total-tree quota + * belong to the shared LogQuota, never to each writer independently. + */ +class FileWriter { + private disabled = false; + private file: OpenFile | null = null; + private readonly pendingCloses = new Set>(); + + constructor( + private readonly dir: string, + private readonly maxBytes: number, + private readonly quota: LogQuota, + ) { + try { + fs.mkdirSync(dir, { recursive: true }); + } catch (err) { + this.disabled = true; + this.quota.storageFailed(`failed to create log directory ${dir}`, err); + return; + } + } + + get isDisabled(): boolean { + return this.disabled; + } + + get currentPath(): string | null { + return this.file?.path ?? null; + } + + async prepare(): Promise { + this.ensureForToday(todayString()); + const stream = this.file?.stream; + + if (!stream) { + throw new Error(`failed to prepare log writer in ${this.dir}`); + } + + await new Promise((resolve, reject) => { + const opened = () => { + stream.off('error', failed); + resolve(); + }; + + const failed = (error: Error) => { + stream.off('open', opened); + reject(error); + }; + + stream.once('open', opened); + stream.once('error', failed); + }); + } + + write(data: string, bytes: number): boolean { + if (this.disabled) { + return false; + } + + const today = todayString(); + this.ensureForToday(today); + + if (!this.file) { + return false; + } + + if (this.file.bytes + bytes > this.maxBytes && this.file.bytes > 0) { + this.rotateBySize(); + + if (!this.file) { + return false; + } + } + + if (!this.quota.reserve(this.file.path, bytes)) { + return false; + } + + try { + this.file.stream.write(data); + } catch (error) { + this.disabled = true; + this.quota.writeFailed(this.file.path, error); + return false; + } + + this.file.bytes += bytes; + return true; + } + + async close(): Promise { + this.closeCurrent(); + await Promise.all(this.pendingCloses); + } + + private ensureForToday(today: string): void { + if (this.file && this.file.date === today) { + return; + } + + if (this.file) { + this.closeCurrent(); + } + + // Resume from the highest existing split index for today (so two + // process starts on the same day share files / don't clobber). + let idx = 0; + + while (fs.existsSync(this.pathFor(today, idx + 1))) { + idx++; + } + + this.file = this.openFile(today, idx); + } + + private rotateBySize(): void { + if (!this.file) { + return; + } + + const date = this.file.date; + const previousIndex = this.file.splitIndex; + this.closeCurrent(); + let next = previousIndex + 1; + + while (fs.existsSync(this.pathFor(date, next))) { + next++; + } + + this.file = this.openFile(date, next); + } + + private closeCurrent(): void { + const file = this.file; + this.file = null; + + if (!file) { + return; + } + + let finish!: () => void; + const closed = new Promise((resolve) => { + let settled = false; + + finish = () => { + if (settled) { + return; + } + + settled = true; + this.quota.deactivate(file.path); + resolve(); + }; + }); + this.pendingCloses.add(closed); + void closed.finally(() => this.pendingCloses.delete(closed)); + + file.stream.once('error', finish); + + try { + file.stream.end(finish); + } catch (error) { + this.quota.writeFailed(file.path, error); + finish(); + } + } + + private openFile(date: string, splitIndex: number): OpenFile | null { + const p = this.pathFor(date, splitIndex); + const existingBytes = this.quota.activate(p); + + if (existingBytes === null) { + return null; + } + + try { + const stream = fs.createWriteStream(p, { flags: 'a' }); + stream.on('error', (err) => { + this.disabled = true; + + if (this.file?.stream === stream) { + this.file = null; + } + + this.quota.deactivate(p); + this.quota.writeFailed(p, err); + }); + return { stream, bytes: existingBytes, date, splitIndex, path: p }; + } catch (err) { + this.disabled = true; + this.quota.deactivate(p); + this.quota.storageFailed(`failed to open log file ${p}`, err); + return null; + } + } + + private pathFor(date: string, splitIndex: number): string { + const tail = splitIndex > 0 ? `.${splitIndex}` : ''; + return path.join(this.dir, `${FILE_PREFIX}${date}${tail}${FILE_SUFFIX}`); + } +} + +export class FileTransport { + private readonly dir: string; + private readonly maxBytes: number; + private maxTotalBytes: number; + private retainDays: number; + private readonly enabled: boolean; + private perUinEnabled: boolean; + private initializationError: string | null = null; + private nextWriterRetryAt = 0; + private quota: LogQuota | null = null; + private shared: FileWriter | null = null; + private perUin = new Map(); + + constructor(policy?: LogStoragePolicy) { + if (policy) { + validatePolicy(policy); + } + + this.dir = path.resolve(process.env.SNOWLUMA_LOG_DIR || DEFAULT_DIR); + this.maxBytes = + parseRequiredPositiveInt( + process.env.SNOWLUMA_LOG_MAX_MB, + DEFAULT_MAX_MB, + MAX_LOG_TOTAL_MB, + 'SNOWLUMA_LOG_MAX_MB', + ) * + 1024 * + 1024; + this.maxTotalBytes = + (policy?.maxTotalMb ?? + parseRequiredPositiveInt( + process.env.SNOWLUMA_LOG_MAX_TOTAL_MB, + DEFAULT_MAX_TOTAL_MB, + MAX_LOG_TOTAL_MB, + 'SNOWLUMA_LOG_MAX_TOTAL_MB', + )) * + 1024 * + 1024; + this.retainDays = + policy?.retainDays ?? + parseNonNegativeInt( + process.env.SNOWLUMA_LOG_RETAIN_DAYS, + DEFAULT_RETAIN_DAYS, + MAX_LOG_RETAIN_DAYS, + 'SNOWLUMA_LOG_RETAIN_DAYS', + ); + this.enabled = process.env.SNOWLUMA_LOG_FILE !== '0'; + this.perUinEnabled = + policy?.perUinEnabled ?? + parseRequiredBool(process.env.SNOWLUMA_LOG_PER_UIN, false, 'SNOWLUMA_LOG_PER_UIN'); + + if (this.enabled) { + this.initialize(); + } + } + + /** True when no file output will happen (env disable or init failure). */ + get isDisabled(): boolean { + return !this.shared; + } + + /** Current shared-file path (or null if disabled / not yet opened). */ + get currentPath(): string | null { + return this.shared?.currentPath ?? null; + } + + /** Path of the per-UIN file for the given UIN, if open. */ + perUinPath(uin: number): string | null { + return this.perUin.get(uin)?.currentPath ?? null; + } + + getStorageStatus(): LogStorageStatus { + if (!this.quota) { + return { + state: 'disabled', + directory: this.dir, + totalBytes: 0, + maxTotalBytes: this.maxTotalBytes, + retainDays: this.retainDays, + perUinEnabled: this.perUinEnabled, + fileCount: 0, + activeFileCount: 0, + droppedLines: 0, + ...(this.initializationError ? { lastError: this.initializationError } : {}), + }; + } + + return { + ...this.quota.snapshot(), + directory: this.dir, + maxTotalBytes: this.maxTotalBytes, + retainDays: this.retainDays, + perUinEnabled: this.perUinEnabled, + }; + } + + async updatePolicy(policy: LogStoragePolicy): Promise { + validatePolicy(policy); + this.maxTotalBytes = policy.maxTotalMb * 1024 * 1024; + this.retainDays = policy.retainDays; + + const disablingPerUin = this.perUinEnabled && !policy.perUinEnabled; + this.perUinEnabled = policy.perUinEnabled; + + if (disablingPerUin) { + const writers = [...this.perUin.values()]; + this.perUin.clear(); + await Promise.all(writers.map((writer) => writer.close())); + } + + if (this.quota) { + this.quota.updatePolicy(this.maxTotalBytes, this.retainDays); + } + + if (this.enabled && (!this.quota || !this.shared || this.shared.isDisabled)) { + await this.recoverSharedWriter(true); + } + + return this.getStorageStatus(); + } + + async clearManagedLogs(): Promise { + if (!this.enabled) { + return this.clearLogsWhileDisabled(); + } + + if (!this.quota) { + try { + this.quota = new LogQuota(this.dir, this.maxTotalBytes, this.retainDays); + } catch (error) { + this.recordWriterRecoveryFailure(error); + } + } + + if (!this.quota) { + return { + deletedFiles: 0, + freedBytes: 0, + failures: this.initializationError + ? [{ file: '.', message: this.initializationError }] + : [], + status: this.getStorageStatus(), + }; + } + + const quota = this.quota; + const accountUins = [...this.perUin.keys()]; + const writers = [...(this.shared ? [this.shared] : []), ...this.perUin.values()]; + this.shared = null; + this.perUin.clear(); + const resumeMaintenance = quota.suspendMaintenance(); + + try { + await Promise.all(writers.map((writer) => writer.close())); + } finally { + resumeMaintenance(); + } + + const result = quota.clearClosedFiles(); + + const shared = new FileWriter(this.dir, this.maxBytes, quota); + + try { + await shared.prepare(); + this.shared = shared; + this.initializationError = null; + this.nextWriterRetryAt = 0; + } catch (error) { + this.recordWriterRecoveryFailure(error); + result.failures.push({ + file: '.', + message: this.initializationError ?? 'failed to reopen the shared log writer', + }); + } + + if (this.perUinEnabled) { + for (const uin of accountUins) { + const writer = new FileWriter( + path.join(this.dir, String(uin)), + this.maxBytes, + quota, + ); + + if (writer.isDisabled) { + continue; + } + + try { + await writer.prepare(); + this.perUin.set(uin, writer); + } catch (error) { + quota.storageFailed( + `failed to reopen account log writer for ${String(uin)}`, + error, + ); + result.failures.push({ + file: String(uin), + message: `failed to reopen account log writer: ${errorMessage(error)}`, + }); + } + } + } + + return { ...result, status: this.getStorageStatus() }; + } + + write(line: string, uin?: number): void { + if (!this.enabled) { + return; + } + + if (!this.shared || this.shared.isDisabled) { + if (!this.recoverSharedWriterForWrite()) { + return; + } + } + + if (!this.shared) { + return; + } + + const data = sanitizeLogLine(line) + '\n'; + const bytes = Buffer.byteLength(data, 'utf8'); + + if (!this.shared.write(data, bytes)) { + if (this.shared.isDisabled) { + this.shared = null; + this.nextWriterRetryAt = Date.now() + QUOTA_RETRY_MS; + } + + return; + } + + if (uin !== undefined && this.perUinEnabled && this.quota) { + let w = this.perUin.get(uin); + + if (w?.isDisabled) { + this.perUin.delete(uin); + w = undefined; + } + + if (!w) { + w = new FileWriter(path.join(this.dir, String(uin)), this.maxBytes, this.quota); + + if (w.isDisabled) { + return; + } + + this.perUin.set(uin, w); + } + + w.write(data, bytes); + } + } + + async close(): Promise { + const closes: Promise[] = []; + + if (this.shared) { + closes.push(this.shared.close()); + } + + for (const w of this.perUin.values()) { + closes.push(w.close()); + } + + this.shared = null; + this.perUin.clear(); + await Promise.all(closes); + } + + private async recoverSharedWriter(force: boolean): Promise { + if (!this.enabled) { + return; + } + + if (!force && Date.now() < this.nextWriterRetryAt) { + throw new Error(this.initializationError ?? 'log writer retry is rate-limited'); + } + + if (this.shared?.isDisabled) { + this.shared = null; + } + + if (!this.quota) { + this.initialize(); + } + + if (!this.shared && this.quota) { + const writer = new FileWriter(this.dir, this.maxBytes, this.quota); + + if (!writer.isDisabled) { + this.shared = writer; + } + } + + const writer = this.shared; + + if (!writer) { + throw new Error(this.initializationError ?? 'failed to create the shared log writer'); + } + + try { + await writer.prepare(); + + if (writer.isDisabled || !writer.currentPath) { + throw new Error('the shared log writer did not open a file'); + } + + this.initializationError = null; + this.nextWriterRetryAt = 0; + } catch (error) { + this.shared = null; + this.recordWriterRecoveryFailure(error); + throw error; + } + } + + private recoverSharedWriterForWrite(): boolean { + if (!this.enabled || Date.now() < this.nextWriterRetryAt) { + return false; + } + + if (this.shared?.isDisabled) { + this.shared = null; + } + + if (!this.quota) { + this.initialize(); + } + + if (!this.shared && this.quota) { + const writer = new FileWriter(this.dir, this.maxBytes, this.quota); + + if (!writer.isDisabled) { + this.shared = writer; + } + } + + if (this.shared) { + this.initializationError = null; + this.nextWriterRetryAt = 0; + return true; + } + + return false; + } + + private clearLogsWhileDisabled(): LogCleanupResult { + try { + const quota = new LogQuota(this.dir, this.maxTotalBytes, this.retainDays, false); + const result = quota.clearClosedFiles(); + const snapshot = quota.snapshot(); + return { + ...result, + status: { + ...snapshot, + state: 'disabled', + directory: this.dir, + maxTotalBytes: this.maxTotalBytes, + retainDays: this.retainDays, + perUinEnabled: this.perUinEnabled, + }, + }; + } catch (error) { + const message = `failed to clear disabled log storage ${this.dir}: ${errorMessage(error)}`; + reportStorageError(message); + return { + deletedFiles: 0, + freedBytes: 0, + failures: [{ file: '.', message }], + status: { + state: 'disabled', + directory: this.dir, + totalBytes: 0, + maxTotalBytes: this.maxTotalBytes, + retainDays: this.retainDays, + perUinEnabled: this.perUinEnabled, + fileCount: 0, + activeFileCount: 0, + droppedLines: 0, + lastError: message, + }, + }; + } + } + + private recordWriterRecoveryFailure(error: unknown): void { + this.initializationError = `failed to initialize log storage ${this.dir}: ${errorMessage(error)}`; + this.nextWriterRetryAt = Date.now() + QUOTA_RETRY_MS; + reportStorageError(this.initializationError); + } + + private initialize(): void { + try { + fs.mkdirSync(this.dir, { recursive: true }); + const quota = new LogQuota(this.dir, this.maxTotalBytes, this.retainDays); + const writer = new FileWriter(this.dir, this.maxBytes, quota); + + if (writer.isDisabled) { + throw new Error(`failed to create shared log writer in ${this.dir}`); + } + + this.quota = quota; + this.shared = writer; + this.initializationError = null; + this.nextWriterRetryAt = 0; + } catch (error) { + this.quota = null; + this.shared = null; + this.recordWriterRecoveryFailure(error); + } + } +} + +function validatePolicy(policy: LogStoragePolicy): void { + if ( + !Number.isSafeInteger(policy.maxTotalMb) || + policy.maxTotalMb <= 0 || + policy.maxTotalMb > MAX_LOG_TOTAL_MB + ) { + throw new RangeError(`maxTotalMb must be an integer in 1..${String(MAX_LOG_TOTAL_MB)}`); + } + + if ( + !Number.isSafeInteger(policy.retainDays) || + policy.retainDays < 0 || + policy.retainDays > MAX_LOG_RETAIN_DAYS + ) { + throw new RangeError(`retainDays must be an integer in 0..${String(MAX_LOG_RETAIN_DAYS)}`); + } + + if (typeof policy.perUinEnabled !== 'boolean') { + throw new TypeError('perUinEnabled must be a boolean'); + } +} + +let singleton: FileTransport | null = null; +let configuredPolicy: LogStoragePolicy | null = null; + +export function getFileTransport(): FileTransport { + if (!singleton) { + singleton = new FileTransport(configuredPolicy ?? undefined); + } + + return singleton; +} + +export async function configureFileTransport(policy: LogStoragePolicy): Promise { + validatePolicy(policy); + configuredPolicy = { ...policy }; + + if (!singleton) { + singleton = new FileTransport(configuredPolicy); + } else { + await singleton.updatePolicy(configuredPolicy); + } + + return singleton.getStorageStatus(); +} + +export function getLogStorageStatus(): LogStorageStatus { + return getFileTransport().getStorageStatus(); +} + +export function clearManagedLogs(): Promise { + return getFileTransport().clearManagedLogs(); +} + +/** Reset state between tests. Closes all active file handles. */ +export async function _resetFileTransportForTesting(): Promise { + if (singleton) { + await singleton.close(); + } + + singleton = null; + configuredPolicy = null; +} + +function isMissing(error: unknown): boolean { + return error instanceof Error && 'code' in error && error.code === 'ENOENT'; +} diff --git a/packages/common/src/log-sanitize.ts b/packages/common/src/log-sanitize.ts new file mode 100644 index 00000000..31acfddd --- /dev/null +++ b/packages/common/src/log-sanitize.ts @@ -0,0 +1,130 @@ +const ESC = 0x1b; +const BEL = 0x07; +const C1_CSI = 0x9b; +const C1_ST = 0x9c; +const C1_OSC = 0x9d; +const C1_STRING_STARTERS = new Set([0x90, 0x98, 0x9e, 0x9f]); + +function skipCsi(line: string, start: number): number { + for (let i = start; i < line.length; i += 1) { + const code = line.charCodeAt(i); + + if (code >= 0x40 && code <= 0x7e) { + return i + 1; + } + } + + return line.length; +} + +function skipControlString(line: string, start: number, allowBell: boolean): number { + for (let i = start; i < line.length; i += 1) { + const code = line.charCodeAt(i); + + if (allowBell && code === BEL) { + return i + 1; + } + + if (code === C1_ST) { + return i + 1; + } + + if (code === ESC && line.charCodeAt(i + 1) === 0x5c) { + return i + 2; + } + } + + return line.length; +} + +function skipEscSequence(line: string, start: number): number { + if (start >= line.length) { + return line.length; + } + + const first = line.charCodeAt(start); + + if (first === 0x5b) { + return skipCsi(line, start + 1); + } + + if (first === 0x5d) { + return skipControlString(line, start + 1, true); + } + + if (first === 0x50 || first === 0x58 || first === 0x5e || first === 0x5f) { + return skipControlString(line, start + 1, false); + } + + let i = start; + + while (i < line.length) { + const code = line.charCodeAt(i); + + if (code < 0x20 || code > 0x2f) { + break; + } + + i += 1; + } + + const final = line.charCodeAt(i); + return final >= 0x30 && final <= 0x7e ? i + 1 : start; +} + +/** + * Remove terminal presentation and control sequences from a log line. + * + * The parser handles both seven-bit ESC forms and eight-bit C1 forms, + * including CSI styling, OSC hyperlinks, and DCS/SOS/PM/APC control strings. + * TAB and LF remain available for formatted records such as stack traces. + * Unterminated terminal strings consume the remainder instead of leaking their + * invisible payload into persisted or downloaded logs. + */ +export function sanitizeLogLine(line: string): string { + const parts: string[] = []; + let start = 0; + + for (let i = 0; i < line.length;) { + const code = line.charCodeAt(i); + let next: number; + + if (code === ESC) { + next = skipEscSequence(line, i + 1); + } else if (code === C1_CSI) { + next = skipCsi(line, i + 1); + } else if (code === C1_OSC || C1_STRING_STARTERS.has(code)) { + next = skipControlString(line, i + 1, code === C1_OSC); + } else if ( + (code < 0x20 && code !== 0x09 && code !== 0x0a) || + (code >= 0x7f && code <= 0x9f) + ) { + next = i + 1; + } else { + i += 1; + continue; + } + + parts.push(line.slice(start, i)); + start = next; + i = next; + } + + if (start === 0) { + return line; + } + + // Join contiguous spans once. Appending each character creates a retained + // V8 cons-string node per character in the in-memory log rings. + parts.push(line.slice(start)); + const plain = parts.join(''); + + // A single visible span can remain a slice of the original input after join. + // Copy when that would retain more discarded text than visible text. Splitting + // into UTF-16 code units preserves unpaired surrogates and works in browsers. + if (plain.length > 0 && plain.length < line.length / 2) { + return plain.split('').join(''); + } + + return plain; +} diff --git a/packages/common/src/log-summary.ts b/packages/common/src/log-summary.ts new file mode 100644 index 00000000..357912c6 --- /dev/null +++ b/packages/common/src/log-summary.ts @@ -0,0 +1,383 @@ +const MAX_FIELD = 40; +const MAX_TOTAL = 200; +const SENSITIVE_SEGMENTS = new Set([ + 'authorization', + 'cookie', + 'credential', + 'credentials', + 'password', + 'passwd', + 'secret', + 'token', + 'apikey', + 'privatekey', + 'sessionkey', +]); + +function isSensitiveKey(key: string): boolean { + const segments = key + .replace(/([a-z0-9])([A-Z])/g, '$1 $2') + .split(/[-_.\s]+/) + .filter(Boolean) + .map((segment) => segment.toLowerCase()); + + return segments.some((segment, index) => { + if (SENSITIVE_SEGMENTS.has(segment)) { + return true; + } + + const next = segments[index + 1]; + return ( + next === 'key' && (segment === 'api' || segment === 'private' || segment === 'session') + ); + }); +} + +function valueRepr(v: unknown, key?: string): string { + if (key !== undefined && isSensitiveKey(key)) { + return '"***"'; + } + + if (v === null) { + return 'null'; + } + + if (v === undefined) { + return 'undefined'; + } + + switch (typeof v) { + case 'string': + return v.length > MAX_FIELD ? `"${v.slice(0, MAX_FIELD)}..."` : `"${v}"`; + case 'number': + case 'boolean': + case 'bigint': + return String(v); + case 'object': + if (Array.isArray(v)) { + return `[len=${v.length}]`; + } + + return '{...}'; + default: + return typeof v; + } +} + +/** + * Render a params object as a single line for logging. Skips deep + * traversal: nested objects collapse to `{...}`, arrays to `[len=N]`. + * Strings are quoted; long ones are truncated with an ellipsis. + * + * Output is capped at MAX_TOTAL chars; on overflow the tail is + * replaced with `...` so the next field doesn't get half-rendered. + */ +export function summarizeParams(params: unknown): string { + if (params === null || params === undefined) { + return '{}'; + } + + if (typeof params !== 'object') { + const s = String(params); + return s.length > MAX_TOTAL ? `${s.slice(0, MAX_TOTAL - 3)}...` : s; + } + + if (Array.isArray(params)) { + return `[len=${params.length}]`; + } + + const out: string[] = []; + let total = 0; + + for (const [k, v] of Object.entries(params as Record)) { + const entry = `${k}=${valueRepr(v, k)}`; + const separatorLength = out.length > 0 ? 1 : 0; + + if (total + separatorLength + entry.length > MAX_TOTAL) { + if (out.length === 0) { + return `${entry.slice(0, MAX_TOTAL - 3)}...`; + } + + const rendered = out.join(' '); + return rendered.length + 4 <= MAX_TOTAL + ? `${rendered} ...` + : `${rendered.slice(0, MAX_TOTAL - 3)}...`; + } + + out.push(entry); + total += separatorLength + entry.length; + } + + return out.join(' '); +} + +const ASSIGNMENT_START = + /(^|[^A-Za-z0-9_-])(["']?)([-_]*(?=[A-Za-z0-9_.-]*[A-Za-z])[A-Za-z0-9][A-Za-z0-9_.-]*)\2(\s*[:=]\s*)/gi; +const AUTHORIZATION_BOUNDARY_SEGMENTS = new Set([ + 'authorization', + 'cookie', + 'password', + 'passwd', + 'secret', + 'token', + 'apikey', + 'privatekey', + 'sessionkey', +]); + +function keySegments(key: string): string[] { + return key + .replace(/([a-z0-9])([A-Z])/g, '$1 $2') + .split(/[-_.\s]+/) + .filter(Boolean) + .map((segment) => segment.toLowerCase()); +} + +function isKeyKind(key: string, kind: 'authorization' | 'cookie'): boolean { + return keySegments(key).includes(kind); +} + +function isAuthorizationBoundaryKey(key: string): boolean { + const segments = keySegments(key); + return segments.some((segment, index) => { + if (AUTHORIZATION_BOUNDARY_SEGMENTS.has(segment)) { + return true; + } + + const next = segments[index + 1]; + return ( + next === 'key' && (segment === 'api' || segment === 'private' || segment === 'session') + ); + }); +} + +function quotedValueEnd(message: string, start: number): number | undefined { + const quote = message[start]; + + if (quote !== '"' && quote !== "'") { + return undefined; + } + + for (let index = start + 1; index < message.length; index += 1) { + if (message[index] === '\\') { + index += 1; + } else if (message[index] === quote) { + return index + 1; + } + } + + return message.length; +} + +function cookieValueEnd(message: string, start: number): number { + const initialQuotedEnd = quotedValueEnd(message, start); + let end: number; + + if (initialQuotedEnd !== undefined) { + end = initialQuotedEnd; + } else { + end = start; + + while (end < message.length && !/[;\s,}\]&\r\n]/.test(message[end]!)) { + end += 1; + } + } + + while (end < message.length) { + let semicolon: number = end; + + while (message[semicolon] === ' ' || message[semicolon] === '\t') { + semicolon += 1; + } + + if (message[semicolon] !== ';') { + break; + } + + let nameStart = semicolon + 1; + + while (message[nameStart] === ' ' || message[nameStart] === '\t') { + nameStart += 1; + } + + let nameEnd = nameStart; + + while (/[A-Za-z0-9_-]/.test(message[nameEnd] ?? '')) { + nameEnd += 1; + } + + if (nameEnd === nameStart) { + break; + } + + end = nameEnd; + + if (message[end] !== '=') { + continue; + } + + const attribute = message.slice(nameStart, nameEnd).toLowerCase(); + const valueStart = end + 1; + const quotedEnd = quotedValueEnd(message, valueStart); + + if (quotedEnd !== undefined) { + end = quotedEnd; + continue; + } + + if (attribute !== 'expires') { + end = valueStart; + + while (end < message.length && !/[;\s,}\]&\r\n]/.test(message[end]!)) { + end += 1; + } + + continue; + } + + end = valueStart; + + while (end < message.length && !/[;}\]&\r\n]/.test(message[end]!)) { + end += 1; + } + + const assignments = new RegExp(ASSIGNMENT_START.source, 'gi'); + assignments.lastIndex = valueStart; + const nextField = assignments.exec(message); + + if (nextField && nextField.index < end) { + end = nextField.index; + } + } + + return end; +} + +function genericValueEnd(message: string, start: number): number { + const quotedEnd = quotedValueEnd(message, start); + + if (quotedEnd !== undefined) { + return quotedEnd; + } + + let end = start; + + while (end < message.length && !/[\s,}\]&\r\n]/.test(message[end]!)) { + end += 1; + } + + return end; +} + +function authorizationValueEnd(message: string, start: number, query: boolean): number { + const quotedEnd = quotedValueEnd(message, start); + + if (quotedEnd !== undefined) { + return quotedEnd; + } + + if (query) { + const queryEnd = message.indexOf('&', start); + return queryEnd >= 0 ? queryEnd : message.length; + } + + let end = message.length; + const structural = message.slice(start).search(/[\r\n}\]]/); + + if (structural >= 0) { + end = start + structural; + } + + const assignments = new RegExp(ASSIGNMENT_START.source, 'gi'); + const remaining = message.slice(start, end); + + for (let match = assignments.exec(remaining); match; match = assignments.exec(remaining)) { + if (isAuthorizationBoundaryKey(match[3]!)) { + end = start + match.index; + break; + } + } + + return end; +} + +/** Redact explicit authentication assignments in ordinary formatted logs. */ +export function redactLogMessage(message: string): string { + let out = ''; + let cursor = 0; + ASSIGNMENT_START.lastIndex = 0; + + for ( + let match = ASSIGNMENT_START.exec(message); + match; + match = ASSIGNMENT_START.exec(message) + ) { + const key = match[3]!; + + if (!isSensitiveKey(key)) { + ASSIGNMENT_START.lastIndex = Math.max(match.index + 1, ASSIGNMENT_START.lastIndex - 1); + continue; + } + + const valueStart = ASSIGNMENT_START.lastIndex; + const valueEnd = isKeyKind(key, 'authorization') + ? authorizationValueEnd(message, valueStart, match[1] === '?' || match[1] === '&') + : isKeyKind(key, 'cookie') + ? cookieValueEnd(message, valueStart) + : genericValueEnd(message, valueStart); + + out += message.slice(cursor, valueStart) + '***'; + cursor = valueEnd; + ASSIGNMENT_START.lastIndex = valueEnd; + } + + return out + message.slice(cursor); +} + +/** + * Lossless nested renderer for explicit TRACE diagnostics. TRACE is an + * operator-enabled, memory-only mode and intentionally leaves values + * unredacted so a reproduction contains the complete business input. + */ +export function renderParamsVerbose(params: unknown): string { + const seen = new WeakSet(); + + const walk = (value: unknown): string => { + if (value === null) { + return 'null'; + } + + if (value === undefined) { + return 'undefined'; + } + + switch (typeof value) { + case 'string': + return JSON.stringify(value); + case 'number': + case 'boolean': + case 'bigint': + return String(value); + + case 'object': { + if (seen.has(value as object)) { + return '"[circular]"'; + } + + seen.add(value as object); + const out = Array.isArray(value) + ? `[${value.map((item) => walk(item)).join(',')}]` + : `{${Object.entries(value as Record) + .map(([key, item]) => `${key}:${walk(item)}`) + .join(',')}}`; + seen.delete(value as object); + return out; + } + + default: + return typeof value; + } + }; + + return walk(params); +} diff --git a/packages/common/src/logger.ts b/packages/common/src/logger.ts new file mode 100644 index 00000000..a397e76c --- /dev/null +++ b/packages/common/src/logger.ts @@ -0,0 +1,453 @@ +import { format } from 'util'; +import { getFileTransport } from './log-file-transport'; +import { redactLogMessage } from './log-summary'; +import { sanitizeLogLine } from './log-sanitize'; +import { + currentRequestId, + nextRequestId, + runWithoutRequestContext, + runWithRequestId, +} from './request-context'; + +type LogLevel = 'trace' | 'debug' | 'info' | 'success' | 'warn' | 'error'; +type FileLogLevel = Exclude; + +export interface LogEntry { + id: number; + time: string; + level: LogLevel; + scope: string; + /** QQ uin, when the source logger was derived via `.child({ uin })`. */ + uin?: number; + /** Correlation id, when emitted inside a `runWithRequestId(...)` scope. */ + req?: number; + message: string; + line: string; +} + +interface LogOptions { + scope: string; + uin?: number; + /** Free-form meta carried across `.child(...)` calls. Currently only + * `uin` is rendered, but the bag is preserved for future fields + * (requestId / traceId / etc.). */ + meta?: Record; +} + +const UIN_SLOT_WIDTH = 12; + +const LEVEL_WEIGHT: Record = { + trace: 5, + debug: 10, + info: 20, + success: 25, + warn: 30, + error: 40, +}; + +const LEVEL_LABEL: Record = { + trace: 'TRACE', + debug: 'DEBUG', + info: 'INFO', + success: 'OK', + warn: 'WARN', + error: 'ERROR', +}; + +const COLOR_CODE: Record = { + trace: 90, + debug: 90, + info: 36, + success: 32, + warn: 33, + error: 31, +}; + +const COLOR_SCOPE = 35; +const COLOR_DIM = 2; +const COLOR_RESET = '\x1b[0m'; +const MAX_LOG_ENTRIES = 1000; + +/** Trace ring cap — env-tunable since trace is the high-volume stream. */ +function resolveTraceBufferMax(): number { + const raw = Number.parseInt(process.env.SNOWLUMA_TRACE_BUFFER ?? '', 10); + return Number.isFinite(raw) && raw >= 100 ? raw : 5000; +} + +const TRACE_BUFFER_MAX = resolveTraceBufferMax(); + +/** + * Fixed-capacity circular buffer. O(1) push + eviction (no array `.shift()`), + * so the high-throughput trace stream never pays an O(n) shift per overflow. + */ +class RingBuffer { + private readonly buf: (T | undefined)[]; + private start = 0; + private count = 0; + constructor(private readonly cap: number) { + this.buf = new Array(cap); + } + push(item: T): void { + const end = (this.start + this.count) % this.cap; + this.buf[end] = item; + + if (this.count < this.cap) { + this.count += 1; + } else { + this.start = (this.start + 1) % this.cap; + } // full → overwrite oldest + } + /** Read from newest to oldest without copying the retained buffer. */ + newest(offset: number): T | undefined { + if (offset >= this.count) { + return undefined; + } + + return this.buf[(this.start + this.count - 1 - offset) % this.cap]; + } + get size(): number { + return this.count; + } +} + +const logRing = new RingBuffer(MAX_LOG_ENTRIES); +const traceRing = new RingBuffer(TRACE_BUFFER_MAX); +const logSubscribers = new Set<(entry: LogEntry) => void>(); +let nextLogId = 1; + +function resolveMinLevel(): LogLevel { + const raw = (process.env.SNOWLUMA_LOG_LEVEL ?? 'info').toLowerCase(); + + if ( + raw === 'trace' || + raw === 'debug' || + raw === 'info' || + raw === 'success' || + raw === 'warn' || + raw === 'error' + ) { + return raw; + } + + return 'info'; +} + +function resolveFileMinLevel(): FileLogLevel { + const raw = process.env.SNOWLUMA_LOG_FILE_LEVEL; + + if (raw === undefined || raw.trim() === '') { + return 'debug'; + } + + const normalized = raw.trim().toLowerCase(); + + if ( + normalized === 'debug' || + normalized === 'info' || + normalized === 'success' || + normalized === 'warn' || + normalized === 'error' + ) { + return normalized; + } + + throw new TypeError( + 'SNOWLUMA_LOG_FILE_LEVEL must be one of: debug, info, success, warn, error', + ); +} + +// Mutable — seeded from SNOWLUMA_LOG_LEVEL at module load, but +// setLogLevel() lets WebUI / SDK callers flip it without a restart. +// Only governs console + ring buffer + subscribers; +// the file transport level is seeded independently from +// SNOWLUMA_LOG_FILE_LEVEL (default debug) +// and is not affected by setLogLevel(). +let currentLevel: LogLevel = resolveMinLevel(); +const currentFileLevel: FileLogLevel = resolveFileMinLevel(); + +function shouldLog(level: LogLevel): boolean { + return LEVEL_WEIGHT[level] >= LEVEL_WEIGHT[currentLevel]; +} + +function shouldLogToFile(level: LogLevel): boolean { + return LEVEL_WEIGHT[level] >= LEVEL_WEIGHT[currentFileLevel]; +} + +export const LOG_LEVELS: readonly LogLevel[] = [ + 'trace', + 'debug', + 'info', + 'success', + 'warn', + 'error', +]; + +export function getLogLevel(): LogLevel { + return currentLevel; +} + +// Change the console / subscriber level at runtime. +// Invalid input is a no-op (returns false). +// Does not affect the file transport log level. + +export function setLogLevel(level: string): boolean { + const lower = String(level).toLowerCase(); + + if (!LOG_LEVELS.includes(lower as LogLevel)) { + return false; + } + + currentLevel = lower as LogLevel; + return true; +} + +function useColor(): boolean { + if (process.env.NO_COLOR === '1') { + return false; + } + + return Boolean(process.stdout.isTTY); +} + +function ansi(code: number, text: string): string { + return `\x1b[${code}m${text}${COLOR_RESET}`; +} + +function currentTime(): string { + const d = new Date(); + const hh = String(d.getHours()).padStart(2, '0'); + const mm = String(d.getMinutes()).padStart(2, '0'); + const ss = String(d.getSeconds()).padStart(2, '0'); + return `${hh}:${mm}:${ss}`; +} + +function render(level: LogLevel, options: LogOptions, message: string, reqId?: number): string { + const ts = currentTime(); + const label = LEVEL_LABEL[level].padEnd(5, ' '); + const uinTag = options.uin !== undefined ? `[${options.uin}]` : ''; + const uinSlot = uinTag.padEnd(UIN_SLOT_WIDTH); + const reqTag = reqId !== undefined ? `[req#${reqId}]` : ''; + + if (!useColor()) { + return `${ts} ${label} ${uinSlot} [${options.scope}] ${reqTag ? `${reqTag} ` : ''}${message}`; + } + + const cTs = ansi(COLOR_DIM, ts); + const cLabel = ansi(COLOR_CODE[level], label); + // Pad first, then color only the visible tag so escape codes don't eat + // into the alignment width. + const cUin = uinTag + ? ansi(COLOR_DIM, uinTag) + ' '.repeat(Math.max(0, UIN_SLOT_WIDTH - uinTag.length)) + : ' '.repeat(UIN_SLOT_WIDTH); + const cScope = ansi(COLOR_SCOPE, `[${options.scope}]`); + const cReq = reqTag ? `${ansi(COLOR_DIM, reqTag)} ` : ''; + return `${cTs} ${cLabel} ${cUin} ${cScope} ${cReq}${message}`; +} + +function emit(level: LogLevel, options: LogOptions, args: unknown[]): void { + // Console / subscriber and file filters are independent. If no destination + // accepts the record, stop before formatting or building a LogEntry. + const passesConsole = shouldLog(level); + const passesFile = level !== 'trace' && shouldLogToFile(level); + + if (!passesConsole && !passesFile) { + return; + } + + // `trace` is the high-volume full-chain diagnostic stream, intentionally + // excluded from disk to avoid I/O saturation. When console is not dialed + // to trace, the early return below skips format/render/disk entirely. + // Set SNOWLUMA_LOG_LEVEL=trace to inspect trace output in console/memory; + // trace never reaches disk regardless. + if (level === 'trace' && !passesConsole) { + return; + } + + // Lazy trace form: `log.trace(() => ['…', deepRender(x)])`. The producer + // (and its expensive deep render) only runs now that trace is confirmed live. + let realArgs = args; + + if (level === 'trace' && args.length === 1 && typeof args[0] === 'function') { + realArgs = (args[0] as () => unknown[])(); + } + + const reqId = currentRequestId(); + const formattedMessage = format(...realArgs); + const message = level === 'trace' ? formattedMessage : redactLogMessage(formattedMessage); + const line = render(level, options, message, reqId); + const id = nextLogId++; + + if (passesConsole) { + // File-only records are sanitized by the transport and need no memory + // entry, ISO timestamp, or second sanitized copy of the rendered line. + const entry: LogEntry = { + id, + time: new Date().toISOString(), + level, + scope: options.scope, + ...(options.uin !== undefined ? { uin: options.uin } : {}), + ...(reqId !== undefined ? { req: reqId } : {}), + message, + line: sanitizeLogLine(line), + }; + + // Trace gets its own ring so its volume never evicts the normal log buffer. + (level === 'trace' ? traceRing : logRing).push(entry); + + for (const subscriber of logSubscribers) { + subscriber(entry); + } + + const stream = level === 'warn' || level === 'error' ? process.stderr : process.stdout; + // Strip ASCII control characters before writing to terminal to prevent + // BEL (0x07) in user-provided strings (e.g. group member names) from + // triggering Windows system beep sounds. Exempt TAB (0x09), LF (0x0A) + // and ESC (0x1B) so multi-line records (stack traces) and ANSI color + // sequences emitted by render() pass through intact. + // eslint-disable-next-line no-control-regex + const consoleLine = line.replace(/[\x00-\x08\x0B-\x1A\x1C-\x1F\x7F]/g, '') + '\n'; + + try { + stream.write(consoleLine); + } catch { + // A full Docker json-file log volume can make stdout/stderr throw. + // Logging must not take down message handling or the WebUI. + } + } + + // File transport sees levels >= currentFileLevel (SNOWLUMA_LOG_FILE_LEVEL, + // default debug). `trace` is memory / WebUI only (omitted here to avoid huge + // on-disk volume). ANSI stripping happens inside the transport. UIN routes + // the line to its per-account sub-file in addition to the shared one. + if (passesFile) { + getFileTransport().write(line, options.uin); + } +} + +/** + * Flush and close the underlying log file. Call from shutdown hooks + * (SIGINT / SIGTERM / uncaughtException) so the WriteStream's internal + * buffer makes it to disk. Returns a promise that resolves once the OS + * has finalized the write. + */ +export function closeLogger(): Promise { + return getFileTransport().close(); +} + +function mergeLogRings(limit = logRing.size + traceRing.size): LogEntry[] { + const take = Math.min(limit, logRing.size + traceRing.size); + const entries = new Array(take); + let normalOffset = 0; + let traceOffset = 0; + + // Both rings already follow increasing IDs. Merge backwards so a small + // WebUI request visits only the requested tail, even with a large TRACE ring. + for (let i = take - 1; i >= 0; i -= 1) { + const normal = logRing.newest(normalOffset); + const trace = traceRing.newest(traceOffset); + + if (normal && (!trace || normal.id > trace.id)) { + entries[i] = normal; + normalOffset += 1; + } else { + entries[i] = trace!; + traceOffset += 1; + } + } + + return entries; +} + +export function getLogSnapshot(): LogEntry[] { + return mergeLogRings(); +} + +export function getRecentLogs(limit = 300): LogEntry[] { + const n = Math.max(1, Math.trunc(limit)); + // Array.slice(-NaN) previously returned the full snapshot. + return mergeLogRings(Number.isNaN(n) ? undefined : n); +} + +export function subscribeLogs(callback: (entry: LogEntry) => void): () => void { + logSubscribers.add(callback); + + return () => { + logSubscribers.delete(callback); + }; +} + +export interface Logger { + /** + * High-volume, memory-only diagnostic level (never written to disk). Pass a + * lazy producer — `trace(() => ['msg %s', expensiveRender(x)])` — so the + * arguments (and any costly rendering) are built only when trace is active. + * A plain `trace('msg', x)` works too but evaluates its args eagerly. + */ + trace: (...args: unknown[]) => void; + debug: (...args: unknown[]) => void; + info: (...args: unknown[]) => void; + success: (...args: unknown[]) => void; + warn: (...args: unknown[]) => void; + error: (...args: unknown[]) => void; + /** + * Derive a new logger that inherits this one's scope and carries + * additional metadata. Currently `uin` is the only key with rendering + * support (shown in the `[UIN]` slot and routed to a per-UIN file); + * other keys are preserved on the options bag for forward compat. + */ + child: (meta: { uin?: number; [k: string]: unknown }) => Logger; +} + +function makeLogger(opts: LogOptions): Logger { + return { + trace: (...args: unknown[]) => emit('trace', opts, args), + debug: (...args: unknown[]) => emit('debug', opts, args), + info: (...args: unknown[]) => emit('info', opts, args), + success: (...args: unknown[]) => emit('success', opts, args), + warn: (...args: unknown[]) => emit('warn', opts, args), + error: (...args: unknown[]) => emit('error', opts, args), + child: (meta) => { + const nextUin = typeof meta.uin === 'number' ? meta.uin : opts.uin; + return makeLogger({ + scope: opts.scope, + uin: nextUin, + meta: { ...(opts.meta ?? {}), ...meta }, + }); + }, + }; +} + +export function createLogger(scope: string): Logger { + return makeLogger({ scope }); +} + +export function renderTraceBytes(body: Uint8Array): string { + return Buffer.from(body.buffer, body.byteOffset, body.byteLength).toString('hex'); +} + +export function runWithTraceRequest(fn: () => T): T { + if (currentRequestId() !== undefined || currentLevel !== 'trace') { + return fn(); + } + + return runWithRequestId(nextRequestId(), fn); +} + +export function logInitialWebuiCredentials(password: string): void { + // This is deliberately not a LogEntry: application logs can be retained on + // disk, exported through WebUI, and delivered to subscribers. First-run + // credentials must only cross the process terminal boundary. + const line = render( + 'info', + { scope: 'WebUI' }, + format('initial credentials: user=admin password=%s', password), + ); + // Keep the same terminal control-character policy as regular console logs. + // eslint-disable-next-line no-control-regex + process.stdout.write(line.replace(/[\x00-\x08\x0B-\x1A\x1C-\x1F\x7F]/g, '') + '\n'); +} + +// Request-correlation primitives remain available for callers that already own +// an explicit request id. New semantic entrypoints should prefer +// runWithTraceRequest() so disabled TRACE does not allocate one. +export { nextRequestId, runWithoutRequestContext, runWithRequestId, currentRequestId }; diff --git a/packages/common/src/native-path.ts b/packages/common/src/native-path.ts new file mode 100644 index 00000000..3e1957fc --- /dev/null +++ b/packages/common/src/native-path.ts @@ -0,0 +1,21 @@ +import { existsSync } from 'fs'; +import path from 'path'; +import { fileURLToPath } from 'url'; + +const moduleDir = path.dirname(fileURLToPath(import.meta.url)); + +export function resolveRuntimeNativePath(fileName: string): string | null { + // Bundled releases and workspace sources each own their native inputs. + for (const directory of [ + path.join(moduleDir, 'native'), + path.resolve(moduleDir, '..', '..', 'runtime', 'native'), + ]) { + const candidate = path.join(directory, fileName); + + if (existsSync(candidate)) { + return candidate; + } + } + + return null; +} diff --git a/packages/common/src/notification-templates.ts b/packages/common/src/notification-templates.ts new file mode 100644 index 00000000..cbba4056 --- /dev/null +++ b/packages/common/src/notification-templates.ts @@ -0,0 +1,14 @@ +export const DEFAULT_WEBHOOK_BODY = `{ + "title": "账号状态通知:{event}", + "desp": "您的账号状态发生了改变。\\n\\n**昵称**:{nickname}\\n**QQ号**:{uin}\\n**当前状态**:{event}\\n**进程状态**:{status}\\n**时间**:{time}" +}`; + +export const DEFAULT_EMAIL_SUBJECT = '账号{event}:{nickname} ({uin})'; + +export const DEFAULT_EMAIL_BODY = `账号状态发生了改变。 + +昵称:{nickname} +QQ号:{uin} +当前状态:{event} +进程状态:{status} +时间:{time}`; diff --git a/packages/common/src/packet-sender.ts b/packages/common/src/packet-sender.ts new file mode 100644 index 00000000..cfdeb2ed --- /dev/null +++ b/packages/common/src/packet-sender.ts @@ -0,0 +1,11 @@ +export interface SendPacketResult { + success: boolean; + gotResponse: boolean; + errorCode: number; + errorMessage: string; + responseData: Buffer | null; +} + +export interface PacketSender { + sendPacket(serviceCmd: string, body: Buffer, timeoutMs?: number): Promise; +} diff --git a/packages/common/src/protocol-types.ts b/packages/common/src/protocol-types.ts new file mode 100644 index 00000000..2fa30902 --- /dev/null +++ b/packages/common/src/protocol-types.ts @@ -0,0 +1,14 @@ +export const CLIENT_MESSAGE_RECEIPT_CMD = 'ClientMessageReceipt'; + +export interface PacketInfo { + pid: number; + uin: string; + packetType?: number; + serviceCmd: string; + seqId: number; + retCode: number; + fromClient: boolean; + source?: 'client-message'; + body: Uint8Array; +} +export type PacketSink = (packet: PacketInfo) => void; diff --git a/packages/common/src/request-context.ts b/packages/common/src/request-context.ts new file mode 100644 index 00000000..18efc760 --- /dev/null +++ b/packages/common/src/request-context.ts @@ -0,0 +1,44 @@ +import { AsyncLocalStorage } from 'async_hooks'; + +interface RequestStore { + id: number; +} + +const storage = new AsyncLocalStorage(); +let counter = 0; + +/** + * Allocate the next per-process request id (monotonic). Wraps via uint32 so + * it never overflows to a non-integer; `0` is skipped so "no id" stays + * unambiguous. + */ +export function nextRequestId(): number { + counter = (counter + 1) >>> 0; + + if (counter === 0) { + counter = 1; + } + + return counter; +} + +/** + * Run `fn` with `id` bound as the ambient request id for the entire async + * chain it spawns. Any logger call anywhere in that chain — across packages, + * across awaits — picks it up via {@link currentRequestId} with no signature + * threading. Used by the OneBot action handler to correlate a request's whole + * journey (entry → outbound packets → exit) under one `[req#N]` tag. + */ +export function runWithRequestId(id: number, fn: () => T): T { + return storage.run({ id }, fn); +} + +/** Run `fn` without inheriting an ambient request id. */ +export function runWithoutRequestContext(fn: () => T): T { + return storage.run(undefined, fn); +} + +/** The request id bound to the current async context, or undefined outside one. */ +export function currentRequestId(): number | undefined { + return storage.getStore()?.id; +} diff --git a/packages/common/src/runtime.ts b/packages/common/src/runtime.ts new file mode 100644 index 00000000..0d2b01b1 --- /dev/null +++ b/packages/common/src/runtime.ts @@ -0,0 +1,407 @@ +import fs from 'fs'; +import path from 'path'; +import { isObject } from './coerce'; +import { normalizeUpdateSourceConfig, type UpdateSourceConfig } from './update-source'; + +export interface RuntimeConfig { + updateSource?: UpdateSourceConfig; + webuiPort?: number; + /** When true, every newly-discovered QQ process gets auto-injected by + * the HookManager. Also overridable at runtime via SNOWLUMA_HOOK_AUTOLOAD. + * Defaults to false; the Docker image flips it on in supervisord.conf. */ + hookAutoLoad?: boolean; + /** WebUI listener bind address. '127.0.0.1' = localhost-only (default), + * '0.0.0.0' = all IPv4 interfaces. Listener-level: change needs a restart. */ + webuiHost?: string; + /** WebUI TLS. Cert/key live in config/cert.pem + config/key.pem; this + * only flips serving on/off. Listener-level: change needs a restart. */ + webuiTls?: { enabled?: boolean }; + /** Raw trust-proxy directive (same domain as SNOWLUMA_WEBUI_TRUST_PROXY), + * consumed by the WebUI's client-ip resolver. '' = trust nobody. */ + trustProxy?: string; + /** Aggregate cap for every managed file below the log root. */ + logMaxTotalMb?: number; + /** Calendar-day retention. Zero disables date-based deletion. */ + logRetainDays?: number; + /** Duplicate UIN-scoped lines into logs// in addition to the shared log. */ + logPerUin?: boolean; +} + +const CONFIG_DIR = 'config'; +const RUNTIME_CONFIG_PATH = path.join(CONFIG_DIR, 'runtime.json'); + +const DEFAULT_WEBUI_PORT = 5099; +const DEFAULT_WEBUI_HOST = '127.0.0.1'; +export const DEFAULT_LOG_MAX_TOTAL_MB = 1024; +export const DEFAULT_LOG_RETAIN_DAYS = 7; +export const DEFAULT_LOG_PER_UIN = false; +export const MAX_LOG_TOTAL_MB = Math.floor(Number.MAX_SAFE_INTEGER / (1024 * 1024)); +export const MAX_LOG_RETAIN_DAYS = Math.floor(Number.MAX_SAFE_INTEGER / (24 * 60 * 60 * 1000)); + +/** + * Pure on-disk-object → typed config normalization (defaults + validation, + * no fs / no env). Exported for testing; `loadRuntimeConfig` wraps it. + */ +export function normalizeRuntimeConfig(parsed: unknown): RuntimeConfig { + const obj = isObject(parsed) ? parsed : {}; + return { + ...(obj.updateSource === undefined + ? {} + : { updateSource: normalizeUpdateSourceConfig(obj.updateSource) }), + webuiPort: normalizePort(obj.webuiPort ?? DEFAULT_WEBUI_PORT, DEFAULT_WEBUI_PORT), + hookAutoLoad: normalizeBool(obj.hookAutoLoad, false), + webuiHost: normalizeHost(obj.webuiHost), + webuiTls: { + enabled: isObject(obj.webuiTls) ? normalizeBool(obj.webuiTls.enabled, false) : false, + }, + trustProxy: typeof obj.trustProxy === 'string' ? obj.trustProxy : '', + logMaxTotalMb: normalizeRequiredInteger( + obj.logMaxTotalMb, + DEFAULT_LOG_MAX_TOTAL_MB, + 1, + MAX_LOG_TOTAL_MB, + 'logMaxTotalMb', + ), + logRetainDays: normalizeRequiredInteger( + obj.logRetainDays, + DEFAULT_LOG_RETAIN_DAYS, + 0, + MAX_LOG_RETAIN_DAYS, + 'logRetainDays', + ), + logPerUin: normalizeRequiredBool(obj.logPerUin, DEFAULT_LOG_PER_UIN, 'logPerUin'), + }; +} + +/** + * Pure SNOWLUMA_* env → override patch (no fs). Env wins over runtime.json + * (a trusted launcher like SnowLumaDesktop pins these per-launch without + * rewriting the file). Absent vars produce no key. + */ +export function resolveRuntimeEnvOverrides(env: NodeJS.ProcessEnv): Partial { + const out: Partial = {}; + + const port = parsePortString(env.SNOWLUMA_WEBUI_PORT); + + if (port !== undefined) { + out.webuiPort = port; + } + + const host = env.SNOWLUMA_WEBUI_HOST; + + if (typeof host === 'string' && host.trim()) { + out.webuiHost = host.trim(); + } + + // Present-but-"0"/"off" is a deliberate override (trust nobody), distinct + // from "absent" — so gate on key presence, not truthiness. + const tp = env.SNOWLUMA_WEBUI_TRUST_PROXY; + + if (typeof tp === 'string') { + out.trustProxy = tp; + } + + const logMaxTotalMb = parseRequiredIntegerEnv( + env.SNOWLUMA_LOG_MAX_TOTAL_MB, + 1, + MAX_LOG_TOTAL_MB, + 'SNOWLUMA_LOG_MAX_TOTAL_MB', + ); + + if (logMaxTotalMb !== undefined) { + out.logMaxTotalMb = logMaxTotalMb; + } + + const logRetainDays = parseRequiredIntegerEnv( + env.SNOWLUMA_LOG_RETAIN_DAYS, + 0, + MAX_LOG_RETAIN_DAYS, + 'SNOWLUMA_LOG_RETAIN_DAYS', + ); + + if (logRetainDays !== undefined) { + out.logRetainDays = logRetainDays; + } + + const logPerUin = parseRequiredBoolEnv(env.SNOWLUMA_LOG_PER_UIN, 'SNOWLUMA_LOG_PER_UIN'); + + if (logPerUin !== undefined) { + out.logPerUin = logPerUin; + } + + const webuiTls = parseRequiredBoolEnv(env.SNOWLUMA_WEBUI_TLS, 'SNOWLUMA_WEBUI_TLS'); + + if (webuiTls !== undefined) { + out.webuiTls = { enabled: webuiTls }; + } + + return out; +} + +export function loadRuntimeConfig(): RuntimeConfig { + fs.mkdirSync(CONFIG_DIR, { recursive: true }); + + const parsed = tryLoadRuntimeConfig(); + const normalized = normalizeRuntimeConfig(parsed ?? {}); + + // Persist when the file is absent or when normalization changed/backfilled + // anything (e.g. an older runtime.json lacking webuiHost/webuiTls). + if (parsed === null || !sameRuntimeConfig(parsed, normalized)) { + saveRuntimeConfig(normalized); + } + + // Env overrides apply in-memory only — never written back to disk. + return { ...normalized, ...resolveRuntimeEnvOverrides(process.env) }; +} + +/** + * Read the persisted config (normalized, no env overrides, no write). For the + * settings panel's GET — shows what's actually saved/editable on disk. + */ +export function readRuntimeConfig(): RuntimeConfig { + return normalizeRuntimeConfig(tryLoadRuntimeConfig() ?? {}); +} + +/** + * Persist a partial update. Merges onto the ON-DISK config (not the env-merged + * runtime view) so an env override (e.g. SNOWLUMA_WEBUI_PORT) is never baked + * into runtime.json. Returns the new persisted config (without env overrides). + */ +export function updateRuntimeConfig(patch: Partial): RuntimeConfig { + fs.mkdirSync(CONFIG_DIR, { recursive: true }); + const onDisk = normalizeRuntimeConfig(tryLoadRuntimeConfig() ?? {}); + const next = normalizeRuntimeConfig({ ...onDisk, ...patch }); + saveRuntimeConfig(next); + return next; +} + +function tryLoadRuntimeConfig(): Record | null { + if (!fs.existsSync(RUNTIME_CONFIG_PATH)) { + return null; + } + + try { + const parsed = JSON.parse(fs.readFileSync(RUNTIME_CONFIG_PATH, 'utf8')) as unknown; + return isObject(parsed) ? parsed : null; + } catch { + return null; + } +} + +function saveRuntimeConfig(config: RuntimeConfig): void { + const temporaryPath = `${RUNTIME_CONFIG_PATH}.tmp-${String(process.pid)}`; + + try { + fs.writeFileSync(temporaryPath, JSON.stringify(config, null, 2), 'utf8'); + fs.renameSync(temporaryPath, RUNTIME_CONFIG_PATH); + } catch (error) { + try { + fs.unlinkSync(temporaryPath); + } catch (cleanupError) { + if (!isErrnoCode(cleanupError, 'ENOENT')) { + throw new AggregateError( + [error, cleanupError], + 'failed to persist runtime config and remove its temporary file', + ); + } + } + + throw error; + } +} + +/** True when the raw on-disk object already matches the normalized config + * on every known field (so we can skip a needless rewrite). */ +function sameRuntimeConfig(parsed: Record, n: RuntimeConfig): boolean { + const parsedTls = isObject(parsed.webuiTls) ? parsed.webuiTls.enabled : undefined; + return ( + parsed.webuiPort === n.webuiPort && + parsed.hookAutoLoad === n.hookAutoLoad && + parsed.webuiHost === n.webuiHost && + parsedTls === n.webuiTls?.enabled && + parsed.trustProxy === n.trustProxy && + parsed.logMaxTotalMb === n.logMaxTotalMb && + parsed.logRetainDays === n.logRetainDays && + parsed.logPerUin === n.logPerUin && + JSON.stringify(parsed.updateSource) === JSON.stringify(n.updateSource) + ); +} + +function parsePortString(raw: unknown): number | undefined { + if (typeof raw !== 'string' || !raw.trim()) { + return undefined; + } + + const n = Number(raw.trim()); + + if (!Number.isFinite(n)) { + return undefined; + } + + const port = Math.trunc(n); + + if (port <= 0 || port > 65535) { + return undefined; + } + + return port; +} + +function normalizeHost(value: unknown): string { + if (typeof value === 'string' && value.trim()) { + return value.trim(); + } + + return DEFAULT_WEBUI_HOST; +} + +function normalizePort(value: unknown, fallback: number): number { + if (typeof value === 'number' && Number.isFinite(value)) { + const n = Math.trunc(value); + + if (n > 0 && n <= 65535) { + return n; + } + + return fallback; + } + + if (typeof value === 'string' && value.trim()) { + const n = Number(value); + + if (Number.isFinite(n)) { + const port = Math.trunc(n); + + if (port > 0 && port <= 65535) { + return port; + } + } + } + + return fallback; +} + +function normalizeRequiredInteger( + value: unknown, + fallback: number, + min: number, + max: number, + field: string, +): number { + if (value === undefined) { + return fallback; + } + + const n = typeof value === 'string' && value.trim() ? Number(value.trim()) : value; + + if (typeof n === 'number' && Number.isSafeInteger(n) && n >= min && n <= max) { + return n; + } + + throw new RangeError(`${field} must be an integer in ${String(min)}..${String(max)}`); +} + +function normalizeRequiredBool(value: unknown, fallback: boolean, field: string): boolean { + if (value === undefined) { + return fallback; + } + + const parsed = parseBoolValue(value); + + if (parsed !== undefined) { + return parsed; + } + + throw new TypeError(`${field} must be a boolean`); +} + +function normalizeBool(value: unknown, fallback: boolean): boolean { + if (typeof value === 'boolean') { + return value; + } + + if (typeof value === 'number') { + return value !== 0; + } + + if (typeof value === 'string') { + const v = value.trim().toLowerCase(); + + if (v === 'true' || v === '1' || v === 'yes' || v === 'on') { + return true; + } + + if (v === 'false' || v === '0' || v === 'no' || v === 'off' || v === '') { + return false; + } + } + + return fallback; +} + +function parseRequiredIntegerEnv( + raw: unknown, + min: number, + max: number, + field: string, +): number | undefined { + if (typeof raw !== 'string' || !raw.trim()) { + return undefined; + } + + const n = Number(raw.trim()); + + if (Number.isSafeInteger(n) && n >= min && n <= max) { + return n; + } + + throw new RangeError(`${field} must be an integer in ${String(min)}..${String(max)}`); +} + +function parseRequiredBoolEnv(raw: unknown, field: string): boolean | undefined { + if (typeof raw !== 'string' || !raw.trim()) { + return undefined; + } + + const parsed = parseBoolValue(raw); + + if (parsed !== undefined) { + return parsed; + } + + throw new TypeError(`${field} must be a boolean`); +} + +function parseBoolValue(raw: unknown): boolean | undefined { + if (typeof raw === 'boolean') { + return raw; + } + + if (raw === 1) { + return true; + } + + if (raw === 0) { + return false; + } + + if (typeof raw !== 'string') { + return undefined; + } + + const value = raw.trim().toLowerCase(); + + if (value === 'true' || value === '1' || value === 'yes' || value === 'on') { + return true; + } + + if (value === 'false' || value === '0' || value === 'no' || value === 'off') { + return false; + } + + return undefined; +} + +function isErrnoCode(error: unknown, code: string): boolean { + return error instanceof Error && 'code' in error && error.code === code; +} diff --git a/packages/common/src/semver.ts b/packages/common/src/semver.ts new file mode 100644 index 00000000..07ec5ff5 --- /dev/null +++ b/packages/common/src/semver.ts @@ -0,0 +1,28 @@ +import parse from 'semver/functions/parse.js'; + +/** Parse a canonical SemVer string; tag prefixes belong at the GitHub boundary. */ +export function parseVersion(value: unknown) { + if (typeof value !== 'string') { + return null; + } + + const parsed = parse(value); + + if (!parsed) { + return null; + } + + const canonical = parsed.version + (parsed.build.length ? `+${parsed.build.join('.')}` : ''); + return value === canonical ? parsed : null; +} + +export function compareVersions(a: string, b: string): number { + const left = parseVersion(a); + const right = parseVersion(b); + + if (!left || !right) { + throw new TypeError('Invalid semantic version'); + } + + return left.compare(right); +} diff --git a/packages/common/src/single-flight-cache.ts b/packages/common/src/single-flight-cache.ts new file mode 100644 index 00000000..92fd8bf1 --- /dev/null +++ b/packages/common/src/single-flight-cache.ts @@ -0,0 +1,157 @@ +/** TTL caching and request deduplication to limit repeated upstream requests. */ + +export interface SingleFlightCacheOptions { + /** Freshness window in ms. Expired values are released even while idle. */ + ttlMs: number; + /** Load the value for a key. Rejections propagate and are never cached. */ + load: (key: K) => Promise; + /** + * Decide whether a resolved value should be cached. Default: always. + * Return `false` to leave an entry uncached (e.g. an error-shaped result the + * next call should retry) while still de-duping concurrent in-flight callers. + */ + shouldCache?: (value: V) => boolean; + /** Clock, injectable for tests. Defaults to `Date.now`. */ + now?: () => number; +} + +export class SingleFlightCache { + private readonly ttlMs: number; + private readonly load: (key: K) => Promise; + private readonly shouldCache: (value: V) => boolean; + private readonly now: () => number; + private readonly fresh = new Map(); + private readonly inflight = new Map>(); + private expiryTimer: ReturnType | undefined; + private disposed = false; + + constructor(opts: SingleFlightCacheOptions) { + this.ttlMs = opts.ttlMs; + this.load = opts.load; + this.shouldCache = opts.shouldCache ?? (() => true); + this.now = opts.now ?? Date.now; + } + + /** Number of retained values; pending loads are not counted. */ + get size(): number { + return this.fresh.size; + } + + /** + * Get the value for `key`. + * + * - Returns a fresh cached value when the last load was within `ttlMs`. + * - Otherwise de-dupes concurrent callers onto a single `load()` and caches + * the result (subject to `shouldCache`). A rejected `load` propagates to + * every joined caller, clears the in-flight slot, and is not cached. + * - `force` bypasses the freshness check but still joins an in-flight load + * rather than starting a second one. + */ + get(key: K, opts: { force?: boolean } = {}): Promise { + if (this.disposed) { + return Promise.reject(new Error('SingleFlightCache is disposed')); + } + + const hit = this.fresh.get(key); + + if (hit) { + if (this.now() - hit.at >= this.ttlMs) { + this.fresh.delete(key); + this.cancelExpiryIfEmpty(); + } else if (!opts.force) { + return Promise.resolve(hit.value); + } + } + + const existing = this.inflight.get(key); + + if (existing) { + return existing; + } + + const load = async (): Promise => { + const value = await this.load(key); + + if (this.inflight.get(key) === task && this.ttlMs > 0 && this.shouldCache(value)) { + // Keep insertion order aligned with expiry, including refreshes. + this.fresh.delete(key); + this.fresh.set(key, { at: this.now(), value }); + this.scheduleExpiry(); + } + + return value; + }; + + const task = load().finally(() => { + if (this.inflight.get(key) === task) { + this.inflight.delete(key); + } + }); + this.inflight.set(key, task); + return task; + } + + /** Detach the entry and its pending load; existing callers still settle. */ + invalidate(key: K): void { + this.fresh.delete(key); + this.inflight.delete(key); + this.cancelExpiryIfEmpty(); + } + + /** Detach all entries and pending loads without aborting existing callers. */ + clear(): void { + this.fresh.clear(); + this.inflight.clear(); + this.cancelExpiryIfEmpty(); + } + + /** Release this owner's cache permanently; pending callers still settle. */ + dispose(): void { + this.disposed = true; + this.clear(); + } + + private cancelExpiryIfEmpty(): void { + if (this.fresh.size === 0 && this.expiryTimer !== undefined) { + clearTimeout(this.expiryTimer); + this.expiryTimer = undefined; + } + } + + private scheduleExpiry(): void { + if (this.expiryTimer !== undefined || !Number.isFinite(this.ttlMs)) { + return; + } + + const oldest = this.fresh.values().next().value; + + if (!oldest) { + return; + } + + // One unref'ed timer per cache, not one closure/timer per cached roster. + // Clamp long TTLs to Node's timer range rather than overflowing to 1ms. + const delay = Math.max(1, Math.min(2 ** 31 - 1, oldest.at + this.ttlMs - this.now())); + this.expiryTimer = setTimeout(() => { + this.expiryTimer = undefined; + const now = this.now(); + + for (const [key, entry] of this.fresh) { + if (now - entry.at < this.ttlMs) { + break; + } + + this.fresh.delete(key); + } + + this.scheduleExpiry(); + }, delay); + this.expiryTimer.unref(); + } +} + +export function createSingleFlightCache( + opts: SingleFlightCacheOptions, +): SingleFlightCache { + return new SingleFlightCache(opts); +} diff --git a/packages/common/src/uin.ts b/packages/common/src/uin.ts new file mode 100644 index 00000000..27021d4f --- /dev/null +++ b/packages/common/src/uin.ts @@ -0,0 +1,11 @@ +// Shared QQ UIN validity check. A "real" UIN is a live QQ account number, not +// a garbage value the native hook can emit during the probe→inject race — e.g. +// a 13-digit millisecond timestamp read from not-yet-populated QQ memory +// (issue #162). No real QQ UIN exceeds 10 digits (they fit in uint32, max +// 4294967295), so a pure digit string of 5..10 chars is the accept window. +// +// Callers rely on a `true` result guaranteeing a BigInt()-safe pure-digit +// string. Keep that contract if the pattern ever changes. +export function isRealUin(uin: string): boolean { + return /^\d{5,10}$/.test(uin); +} diff --git a/packages/common/src/update-source.ts b/packages/common/src/update-source.ts new file mode 100644 index 00000000..20956d8d --- /dev/null +++ b/packages/common/src/update-source.ts @@ -0,0 +1,60 @@ +export interface UpdateSourceConfig { + mode: 'auto' | 'direct' | 'mirror'; + mirror: string; + mirrors: string[]; +} + +export function normalizeMirrorUrl(value: unknown): string { + if (typeof value !== 'string' || value.length > 2048) { + throw new Error('镜像地址必须是 HTTP(S) URL'); + } + + let url: URL; + + try { + url = new URL(value.trim()); + } catch { + throw new Error('镜像地址必须是 HTTP(S) URL'); + } + + if ( + !['http:', 'https:'].includes(url.protocol) || + url.username || + url.password || + url.search || + url.hash + ) { + throw new Error('镜像地址仅支持 HTTP(S),不能包含账号、密码、查询参数或片段'); + } + + return url.href.replace(/\/+$/, ''); +} + +export function normalizeUpdateSourceConfig(value: unknown): UpdateSourceConfig { + if (!value || typeof value !== 'object' || Array.isArray(value)) { + throw new Error('更新来源必须是对象'); + } + + if ( + !('mode' in value) || + (value.mode !== 'auto' && value.mode !== 'direct' && value.mode !== 'mirror') + ) { + throw new Error('更新来源模式无效'); + } + + if (!('mirrors' in value) || !Array.isArray(value.mirrors) || value.mirrors.length > 16) { + throw new Error('自动筛选最多支持 16 个镜像'); + } + + const mirror = 'mirror' in value && value.mirror !== '' ? normalizeMirrorUrl(value.mirror) : ''; + + if (value.mode === 'mirror' && !mirror) { + throw new Error('请指定镜像地址'); + } + + return { + mode: value.mode, + mirror, + mirrors: [...new Set(value.mirrors.map(normalizeMirrorUrl))], + }; +} diff --git a/packages/common/src/version.ts b/packages/common/src/version.ts new file mode 100644 index 00000000..4a8f75e1 --- /dev/null +++ b/packages/common/src/version.ts @@ -0,0 +1,3 @@ +import manifest from '../../../package.json' with { type: 'json' }; + +export const APP_VERSION = manifest.version; diff --git a/packages/common/src/webui-target.ts b/packages/common/src/webui-target.ts new file mode 100644 index 00000000..1c2ab81c --- /dev/null +++ b/packages/common/src/webui-target.ts @@ -0,0 +1,100 @@ +/** Browser-safe contract shared by startup, the WebUI and embedding hosts. + * Targets are deployment choices; they never belong in the saved UI preferences. */ +export const WEBUI_TARGETS = { + maibot: { + label: '麦麦 / 一键包', + styles: ['millennium'], + defaultStyle: 'millennium', + }, +} as const; + +export type WebuiTarget = keyof typeof WEBUI_TARGETS; +export type WebuiColorMode = 'light' | 'dark' | 'system'; + +export type WebuiPresentation = { + [T in WebuiTarget]: { + version: 1; + target: T; + style: (typeof WEBUI_TARGETS)[T]['styles'][number]; + mode: WebuiColorMode; + }; +}[WebuiTarget]; + +/** null releases the override for this document, without changing deployment opt-in. */ +export type WebuiPresentationUpdate = WebuiPresentation | { version: 1; target: null }; +export const WEBUI_PRESENTATION_EVENT = 'snowluma:host-appearance'; +export const WEBUI_TARGET_BOOTSTRAP_ID = 'snowluma-webui-target'; + +export function resolveWebuiTarget(raw: string | undefined): WebuiTarget | null { + if (raw === undefined || raw.trim() === '') { + return null; + } + + const value = raw.trim(); + + if (!Object.hasOwn(WEBUI_TARGETS, value)) { + throw new Error( + `Invalid SNOWLUMA_WEBUI_TARGET: ${JSON.stringify(value)}. Expected ${Object.keys(WEBUI_TARGETS).join(', ')} or an empty value.`, + ); + } + + return value as WebuiTarget; +} + +export function defaultWebuiPresentation(target: WebuiTarget): WebuiPresentation { + return { version: 1, target, style: WEBUI_TARGETS[target].defaultStyle, mode: 'system' }; +} + +export function parseWebuiPresentation(value: unknown): WebuiPresentationUpdate { + if ( + !value || + typeof value !== 'object' || + !('version' in value) || + value.version !== 1 || + !('target' in value) + ) { + throw new TypeError('Invalid host appearance: expected a version 1 presentation'); + } + + if (value.target === null) { + return { version: 1, target: null }; + } + + if (typeof value.target !== 'string' || !Object.hasOwn(WEBUI_TARGETS, value.target)) { + throw new TypeError('Invalid host appearance target'); + } + + const target = value.target as WebuiTarget; + const styles: readonly string[] = WEBUI_TARGETS[target].styles; + + if (!('style' in value) || typeof value.style !== 'string' || !styles.includes(value.style)) { + throw new TypeError(`Invalid host appearance style for ${target}`); + } + + if ( + !('mode' in value) || + (value.mode !== 'light' && value.mode !== 'dark' && value.mode !== 'system') + ) { + throw new TypeError('Invalid host appearance color mode'); + } + + // Both discriminants have been checked against the same target registry. + return { version: 1, target, style: value.style, mode: value.mode } as WebuiPresentation; +} + +/** Inject before the cached pre-paint theme script. Default HTML stays byte-for-byte intact. */ +export function injectWebuiTarget(html: string, target: WebuiTarget | null): string { + if (target === null) { + return html; + } + + if (!html.includes('')) { + throw new Error('WebUI HTML is missing ; cannot inject runtime target'); + } + + const json = JSON.stringify(defaultWebuiPresentation(target)).replaceAll('<', '\\u003c'); + return html.replace( + '', + `\n `, + ); +} diff --git a/packages/common/tests/access-token.test.ts b/packages/common/tests/access-token.test.ts new file mode 100644 index 00000000..de9694a7 --- /dev/null +++ b/packages/common/tests/access-token.test.ts @@ -0,0 +1,32 @@ +import { describe, expect, it } from 'vitest'; +import { + ACCESS_TOKEN_MIN_LENGTH, + ACCESS_TOKEN_MIN_SCORE, + assessAccessToken, +} from '../src/access-token'; + +describe('access token strength', () => { + it('requires the configured minimum length', () => { + expect(assessAccessToken('a'.repeat(ACCESS_TOKEN_MIN_LENGTH - 1))).toMatchObject({ + acceptable: false, + reason: 'too-short', + }); + }); + + it('scores system and user-specific words as guessable', () => { + expect( + assessAccessToken('SnowLumaSnowLuma', ['SnowLuma', 'OneBot', '10001']), + ).toMatchObject({ + acceptable: false, + reason: 'guessable', + }); + }); + + it('accepts a sufficiently long, hard-to-guess token', () => { + const result = assessAccessToken('E5xqVb7_9pLt2QwR4M8kZ1nY', ['SnowLuma', 'OneBot']); + + expect(result.acceptable).toBe(true); + expect(result.reason).toBe('acceptable'); + expect(result.score).toBeGreaterThanOrEqual(ACCESS_TOKEN_MIN_SCORE); + }); +}); diff --git a/packages/common/tests/coerce.test.ts b/packages/common/tests/coerce.test.ts new file mode 100644 index 00000000..d6e8575b --- /dev/null +++ b/packages/common/tests/coerce.test.ts @@ -0,0 +1,78 @@ +import { describe, it, expect } from 'vitest'; +import { isObject, boolOr, clampNum, clampInt } from '../src/coerce'; + +describe('isObject', () => { + it('is true only for plain non-null non-array objects', () => { + expect(isObject({})).toBe(true); + expect(isObject({ a: 1 })).toBe(true); + expect(isObject(null)).toBe(false); + expect(isObject([])).toBe(false); + expect(isObject('x')).toBe(false); + expect(isObject(42)).toBe(false); + expect(isObject(undefined)).toBe(false); + }); +}); + +describe('boolOr', () => { + it('returns the value only when it is a real boolean, else the fallback', () => { + expect(boolOr(true, false)).toBe(true); + expect(boolOr(false, true)).toBe(false); + expect(boolOr('true', false)).toBe(false); // strings are NOT coerced + expect(boolOr(1, false)).toBe(false); + expect(boolOr(undefined, true)).toBe(true); + expect(boolOr(null, true)).toBe(true); + }); +}); + +describe('clampNum', () => { + it('passes finite numbers through, clamped to [min,max]', () => { + expect(clampNum(5, 0, 10, -1)).toBe(5); + expect(clampNum(-3, 0, 10, -1)).toBe(0); // below min + expect(clampNum(99, 0, 10, -1)).toBe(10); // above max + }); + + it('coerces numeric strings', () => { + expect(clampNum('7', 0, 10, -1)).toBe(7); + expect(clampNum('7.5', 0, 10, -1)).toBe(7.5); // NOT truncated (that is clampInt) + }); + + it('falls back on non-finite / non-numeric input', () => { + expect(clampNum('abc', 0, 10, 3)).toBe(3); + expect(clampNum(NaN, 0, 10, 3)).toBe(3); + expect(clampNum(Infinity, 0, 10, 3)).toBe(3); + expect(clampNum(undefined, 0, 10, 3)).toBe(3); + expect(clampNum(null, 0, 10, 3)).toBe(3); + expect(clampNum({}, 0, 10, 3)).toBe(3); + }); + + it('preserves fractional precision within bounds', () => { + expect(clampNum(0.42, 0, 1, 0)).toBe(0.42); + }); +}); + +describe('clampInt', () => { + it('is clampNum truncated toward zero', () => { + expect(clampInt(7.9, 0, 10, -1)).toBe(7); + expect(clampInt('7.9', 0, 10, -1)).toBe(7); + expect(clampInt(5, 0, 10, -1)).toBe(5); + }); + + it('clamps before truncating', () => { + expect(clampInt(99.9, 0, 10, -1)).toBe(10); + expect(clampInt(-3.5, 0, 10, -1)).toBe(0); + }); + + it('clamp-then-trunc ordering: a fractional lower bound is crossed by the clamp, not the trunc', () => { + // Distinguishes clamp→trunc (this contract) from trunc→clamp: input 2.4 + // with min 2.5 → clamp lifts to 2.5, then trunc → 2. A trunc-first impl + // would floor to 2 then clamp up to 2.5. Pins the order for the shared + // primitive (future callers may use fractional bounds). + expect(clampInt(2.4, 2.5, 10, 0)).toBe(2); + }); + + it('falls back on non-finite input', () => { + expect(clampInt('abc', 0, 10, 4)).toBe(4); + expect(clampInt(NaN, 0, 10, 4)).toBe(4); + expect(clampInt(undefined, 0, 10, 4)).toBe(4); + }); +}); diff --git a/packages/common/tests/concurrency.test.ts b/packages/common/tests/concurrency.test.ts new file mode 100644 index 00000000..df707bc7 --- /dev/null +++ b/packages/common/tests/concurrency.test.ts @@ -0,0 +1,81 @@ +import { describe, it, expect } from 'vitest'; +import { mapWithConcurrency } from '../src/concurrency'; + +const tick = () => new Promise((r) => setTimeout(r, 0)); + +describe('mapWithConcurrency', () => { + it('returns results in input order', async () => { + const out = await mapWithConcurrency([1, 2, 3, 4, 5], 2, async (n) => n * 10); + expect(out).toEqual([10, 20, 30, 40, 50]); + }); + + it('passes the absolute index (across batch boundaries)', async () => { + const seen: Array<[number, number]> = []; + await mapWithConcurrency(['a', 'b', 'c', 'd', 'e'], 2, async (item, i) => { + seen.push([i, item.charCodeAt(0)]); + return i; + }); + expect(seen.map(([i]) => i).sort((x, y) => x - y)).toEqual([0, 1, 2, 3, 4]); + }); + + it('never runs more than `concurrency` at once (batched), and serializes across batches', async () => { + let inFlight = 0; + let peak = 0; + const order: number[] = []; + await mapWithConcurrency([0, 1, 2, 3, 4, 5, 6], 3, async (n) => { + inFlight++; + peak = Math.max(peak, inFlight); + await tick(); + order.push(n); + inFlight--; + return n; + }); + expect(peak).toBeLessThanOrEqual(3); + // batched: first 3 (0,1,2) settle before the next batch (3,4,5) starts. + expect(order.slice(0, 3).sort((a, b) => a - b)).toEqual([0, 1, 2]); + expect(order.slice(3, 6).sort((a, b) => a - b)).toEqual([3, 4, 5]); + expect(order[6]).toBe(6); + }); + + it('handles a length not divisible by concurrency (short final batch)', async () => { + const out = await mapWithConcurrency([1, 2, 3, 4, 5], 3, async (n) => n); + expect(out).toEqual([1, 2, 3, 4, 5]); + }); + + it('runs everything in one batch when concurrency >= length', async () => { + let peak = 0, + inFlight = 0; + const out = await mapWithConcurrency([1, 2, 3], 10, async (n) => { + inFlight++; + peak = Math.max(peak, inFlight); + await tick(); + inFlight--; + return n; + }); + expect(out).toEqual([1, 2, 3]); + expect(peak).toBe(3); + }); + + it('returns [] for an empty input without calling fn', async () => { + let called = 0; + const out = await mapWithConcurrency([], 4, async (n) => { + called++; + return n; + }); + expect(out).toEqual([]); + expect(called).toBe(0); + }); + + it('treats concurrency < 1 as 1 (fully serial)', async () => { + let peak = 0, + inFlight = 0; + await mapWithConcurrency([1, 2, 3], 0, async (n) => { + inFlight++; + peak = Math.max(peak, inFlight); + await tick(); + inFlight--; + return n; + }); + expect(peak).toBe(1); + }); +}); diff --git a/packages/common/tests/env.test.ts b/packages/common/tests/env.test.ts new file mode 100644 index 00000000..300a467d --- /dev/null +++ b/packages/common/tests/env.test.ts @@ -0,0 +1,34 @@ +import { describe, expect, it } from 'vitest'; +import { positiveIntEnv } from '../src/env'; + +describe('positiveIntEnv', () => { + it('returns the fallback when the variable is absent or blank', () => { + expect(positiveIntEnv('SNOWLUMA_TEST_INT', 15, { env: {} })).toBe(15); + expect(positiveIntEnv('SNOWLUMA_TEST_INT', 15, { env: { SNOWLUMA_TEST_INT: ' ' } })).toBe( + 15, + ); + }); + + it('reads a positive integer and honors the max', () => { + expect( + positiveIntEnv('SNOWLUMA_TEST_INT', 15, { env: { SNOWLUMA_TEST_INT: '2500' } }), + ).toBe(2500); + expect( + positiveIntEnv('SNOWLUMA_TEST_INT', 15, { + max: 65535, + env: { SNOWLUMA_TEST_INT: '80' }, + }), + ).toBe(80); + }); + + it('ignores zero, negatives, fractions, and values above the max', () => { + for (const raw of ['0', '-5', '1.5', 'nope', '70000']) { + expect( + positiveIntEnv('SNOWLUMA_TEST_INT', 15, { + max: 65535, + env: { SNOWLUMA_TEST_INT: raw }, + }), + ).toBe(15); + } + }); +}); diff --git a/packages/common/tests/hex.test.ts b/packages/common/tests/hex.test.ts new file mode 100644 index 00000000..cb568838 --- /dev/null +++ b/packages/common/tests/hex.test.ts @@ -0,0 +1,32 @@ +import { describe, expect, it } from 'vitest'; +import { fromHex, hexPreview, toHex, toHexUpper } from '../src/hex'; + +describe('hex', () => { + it('encodes only the selected byte view', () => { + const bytes = Uint8Array.of(0xff, 0x01, 0xab, 0xff); + expect(toHex(bytes.subarray(1, 3))).toBe('01ab'); + expect(toHexUpper(Buffer.from(bytes).subarray(1, 3))).toBe('01AB'); + }); + + it('toHex / toHexUpper render bytes as zero-padded hex', () => { + const b = Uint8Array.from([0x00, 0x0f, 0xa0, 0xff]); + expect(toHex(b)).toBe('000fa0ff'); + expect(toHexUpper(b)).toBe('000FA0FF'); + expect(toHex(Uint8Array.of())).toBe(''); + }); + + it('hexPreview appends "..." only past maxBytes', () => { + const b = Uint8Array.from([1, 2, 3, 4, 5]); + expect(hexPreview(b)).toBe('0102030405'); // under the default 64-byte cap + expect(hexPreview(b, 5)).toBe('0102030405'); // exactly at the cap → no ellipsis + expect(hexPreview(b, 2)).toBe('0102...'); // truncated + expect(hexPreview(b, 0)).toBe('...'); // nothing shown, but bytes remain + }); + + it('fromHex round-trips toHex and rejects odd-length input', () => { + const b = Buffer.from([0xde, 0xad, 0xbe, 0xef]); + expect(fromHex(toHex(b)).equals(b)).toBe(true); + expect(toHex(fromHex('00ffa0'))).toBe('00ffa0'); + expect(() => fromHex('abc')).toThrow(); + }); +}); diff --git a/packages/common/tests/log-file-transport.test.ts b/packages/common/tests/log-file-transport.test.ts new file mode 100644 index 00000000..b6de1fc2 --- /dev/null +++ b/packages/common/tests/log-file-transport.test.ts @@ -0,0 +1,1130 @@ +import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; +import fs from 'node:fs'; +import os from 'node:os'; +import path from 'node:path'; +import { + FileTransport, + _resetFileTransportForTesting, + clearManagedLogs, + configureFileTransport, + getFileTransport, + getLogStorageStatus, + type LogStoragePolicy, +} from '../src/log-file-transport'; + +const ENV_KEYS = [ + 'SNOWLUMA_LOG_FILE', + 'SNOWLUMA_LOG_DIR', + 'SNOWLUMA_LOG_MAX_MB', + 'SNOWLUMA_LOG_MAX_TOTAL_MB', + 'SNOWLUMA_LOG_RETAIN_DAYS', + 'SNOWLUMA_LOG_PER_UIN', +] as const; + +const savedEnv: Record = {}; +const opened: FileTransport[] = []; + +let tmpDir: string; + +function setEnv(env: Partial>): void { + for (const [key, value] of Object.entries(env)) { + if (value === undefined) { + delete process.env[key]; + } else { + process.env[key] = value; + } + } +} + +function createTransport(policy?: LogStoragePolicy): FileTransport { + const transport = new FileTransport(policy); + opened.push(transport); + return transport; +} + +function listLogFiles(dir: string): string[] { + return fs + .readdirSync(dir) + .filter((name) => name.endsWith('.log')) + .sort(); +} + +async function waitForLogFiles(dir: string, expected: string[]): Promise { + await vi.waitFor(() => { + expect(listLogFiles(dir)).toEqual(expected); + }); +} + +function silenceStderr(): ReturnType { + return vi.spyOn(process.stderr, 'write').mockImplementation(() => true); +} + +beforeEach(() => { + for (const key of ENV_KEYS) { + savedEnv[key] = process.env[key]; + } + + tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'snowluma-common-log-')); + setEnv({ + SNOWLUMA_LOG_DIR: tmpDir, + SNOWLUMA_LOG_FILE: '1', + SNOWLUMA_LOG_MAX_MB: '1', + SNOWLUMA_LOG_MAX_TOTAL_MB: '2', + SNOWLUMA_LOG_RETAIN_DAYS: '7', + SNOWLUMA_LOG_PER_UIN: '0', + }); +}); + +afterEach(async () => { + await Promise.all(opened.splice(0).map((transport) => transport.close())); + await _resetFileTransportForTesting(); + + for (const key of ENV_KEYS) { + if (savedEnv[key] === undefined) { + delete process.env[key]; + } else { + process.env[key] = savedEnv[key]; + } + } + + vi.useRealTimers(); + vi.restoreAllMocks(); + fs.rmSync(tmpDir, { recursive: true, force: true }); +}); + +describe('FileTransport environment and policy', () => { + it('uses the constructor policy for total size, retention, and per-UIN instead of env', () => { + setEnv({ + SNOWLUMA_LOG_MAX_TOTAL_MB: '8', + SNOWLUMA_LOG_RETAIN_DAYS: '14', + SNOWLUMA_LOG_PER_UIN: '0', + SNOWLUMA_LOG_FILE: '0', + }); + + expect( + createTransport({ + maxTotalMb: 3, + retainDays: 0, + perUinEnabled: true, + }).getStorageStatus(), + ).toEqual({ + state: 'disabled', + directory: tmpDir, + totalBytes: 0, + maxTotalBytes: 3_145_728, + retainDays: 0, + perUinEnabled: true, + fileCount: 0, + activeFileCount: 0, + droppedLines: 0, + }); + }); + + it('falls back to defaults when optional log env vars are blank', () => { + setEnv({ + SNOWLUMA_LOG_FILE: '0', + SNOWLUMA_LOG_MAX_MB: ' ', + SNOWLUMA_LOG_MAX_TOTAL_MB: '', + SNOWLUMA_LOG_RETAIN_DAYS: ' ', + SNOWLUMA_LOG_PER_UIN: '', + }); + + expect(createTransport().getStorageStatus()).toMatchObject({ + state: 'disabled', + maxTotalBytes: 1_073_741_824, + retainDays: 7, + perUinEnabled: false, + }); + }); + + it('resolves an unset SNOWLUMA_LOG_DIR to the process-relative logs folder', () => { + setEnv({ SNOWLUMA_LOG_DIR: undefined, SNOWLUMA_LOG_FILE: '0' }); + + expect(createTransport().getStorageStatus().directory).toBe(path.resolve('logs')); + }); + + it('treats only the exact string 0 as a file-output disable switch', () => { + setEnv({ SNOWLUMA_LOG_FILE: 'false' }); + expect(createTransport().isDisabled).toBe(false); + + setEnv({ SNOWLUMA_LOG_FILE: '0' }); + expect(createTransport().isDisabled).toBe(true); + }); + + it.each([ + ['1', true], + ['TRUE', true], + [' yes ', true], + ['On', true], + ['0', false], + ['FALSE', false], + [' no ', false], + ['Off', false], + ] as const)('parses SNOWLUMA_LOG_PER_UIN=%j as %s', (value, expected) => { + setEnv({ SNOWLUMA_LOG_PER_UIN: value, SNOWLUMA_LOG_FILE: '0' }); + expect(createTransport().getStorageStatus().perUinEnabled).toBe(expected); + }); + + it.each([ + ['0', 'SNOWLUMA_LOG_MAX_MB must be an integer in 1..8589934591'], + ['1.5', 'SNOWLUMA_LOG_MAX_MB must be an integer in 1..8589934591'], + ['abc', 'SNOWLUMA_LOG_MAX_MB must be an integer in 1..8589934591'], + ] as const)('rejects SNOWLUMA_LOG_MAX_MB=%j', (value, message) => { + setEnv({ SNOWLUMA_LOG_MAX_MB: value }); + expect(() => new FileTransport()).toThrow(new RangeError(message)); + }); + + it('rejects invalid total-size, retain-day, and per-UIN environment values', () => { + setEnv({ SNOWLUMA_LOG_MAX_TOTAL_MB: '0' }); + expect(() => new FileTransport()).toThrow( + new RangeError('SNOWLUMA_LOG_MAX_TOTAL_MB must be an integer in 1..8589934591'), + ); + + setEnv({ SNOWLUMA_LOG_MAX_TOTAL_MB: '2', SNOWLUMA_LOG_RETAIN_DAYS: '-1' }); + expect(() => new FileTransport()).toThrow( + new RangeError('SNOWLUMA_LOG_RETAIN_DAYS must be an integer in 0..104249991'), + ); + + setEnv({ SNOWLUMA_LOG_RETAIN_DAYS: '7', SNOWLUMA_LOG_PER_UIN: 'maybe' }); + expect(() => new FileTransport()).toThrow( + new TypeError('SNOWLUMA_LOG_PER_UIN must be a boolean'), + ); + }); + + it('still validates SNOWLUMA_LOG_MAX_MB when a storage policy is supplied', () => { + setEnv({ SNOWLUMA_LOG_MAX_MB: '0' }); + expect( + () => + new FileTransport({ + maxTotalMb: 2, + retainDays: 7, + perUinEnabled: false, + }), + ).toThrow(new RangeError('SNOWLUMA_LOG_MAX_MB must be an integer in 1..8589934591')); + }); + + it('rejects constructor policies before touching the log directory', () => { + expect( + () => + new FileTransport({ + maxTotalMb: 0, + retainDays: 7, + perUinEnabled: false, + }), + ).toThrow(new RangeError('maxTotalMb must be an integer in 1..8589934591')); + expect( + () => + new FileTransport({ + maxTotalMb: 2, + retainDays: -1, + perUinEnabled: false, + }), + ).toThrow(new RangeError('retainDays must be an integer in 0..104249991')); + expect( + () => + new FileTransport({ + maxTotalMb: 2, + retainDays: 7, + perUinEnabled: 'yes' as unknown as boolean, + }), + ).toThrow(new TypeError('perUinEnabled must be a boolean')); + expect(fs.readdirSync(tmpDir)).toEqual([]); + }); +}); + +describe('FileTransport write, rotation, and paths', () => { + it("creates today's shared file, appends a newline, and reports an exact healthy snapshot", async () => { + vi.useFakeTimers(); + vi.setSystemTime(new Date(2026, 6, 24, 15, 4, 5)); + const transport = createTransport(); + + expect(transport.isDisabled).toBe(false); + expect(transport.currentPath).toBeNull(); + expect(transport.perUinPath(12345)).toBeNull(); + + transport.write('hello'); + + const activePath = path.join(tmpDir, 'snowluma-2026-07-24.log'); + expect(transport.currentPath).toBe(activePath); + expect(transport.getStorageStatus()).toEqual({ + state: 'healthy', + directory: tmpDir, + totalBytes: 6, + maxTotalBytes: 2_097_152, + retainDays: 7, + perUinEnabled: false, + fileCount: 1, + activeFileCount: 1, + droppedLines: 0, + }); + + await transport.close(); + expect(transport.isDisabled).toBe(true); + expect(transport.currentPath).toBeNull(); + expect(transport.getStorageStatus()).toMatchObject({ + state: 'healthy', + fileCount: 1, + activeFileCount: 0, + }); + expect(fs.readFileSync(activePath, 'utf8')).toBe('hello\n'); + }); + + it('sanitizes control sequences and counts UTF-8 bytes including the trailing newline', async () => { + vi.useFakeTimers(); + vi.setSystemTime(new Date(2026, 6, 24, 12, 0, 0)); + const transport = createTransport(); + transport.write('\x1b[31m你好\x1b[0m'); + await transport.close(); + + const filePath = path.join(tmpDir, 'snowluma-2026-07-24.log'); + expect(fs.readFileSync(filePath, 'utf8')).toBe('你好\n'); + expect(fs.statSync(filePath).size).toBe(7); + }); + + it('does not write when file output is disabled', async () => { + setEnv({ SNOWLUMA_LOG_FILE: '0' }); + const transport = createTransport(); + transport.write('should not persist'); + await transport.close(); + + expect(transport.isDisabled).toBe(true); + expect(listLogFiles(tmpDir)).toEqual([]); + }); + + it('appends to the existing today file and tracks the on-disk size after a restart', async () => { + vi.useFakeTimers(); + vi.setSystemTime(new Date(2026, 6, 24, 12, 0, 0)); + fs.writeFileSync(path.join(tmpDir, 'snowluma-2026-07-24.log'), '0123456789'); + + const first = createTransport(); + first.write('hello'); + expect(first.getStorageStatus().totalBytes).toBe(16); + await first.close(); + + const second = createTransport(); + second.write('z'); + await second.close(); + + expect(fs.readFileSync(path.join(tmpDir, 'snowluma-2026-07-24.log'), 'utf8')).toBe( + '0123456789hello\nz\n', + ); + }); + + it('resumes the highest existing split index for the current day', async () => { + vi.useFakeTimers(); + vi.setSystemTime(new Date(2026, 6, 24, 12, 0, 0)); + fs.writeFileSync(path.join(tmpDir, 'snowluma-2026-07-24.log'), 'base\n'); + fs.writeFileSync(path.join(tmpDir, 'snowluma-2026-07-24.1.log'), 'one\n'); + + const transport = createTransport(); + transport.write('two'); + await transport.close(); + + expect(fs.readFileSync(path.join(tmpDir, 'snowluma-2026-07-24.log'), 'utf8')).toBe( + 'base\n', + ); + expect(fs.readFileSync(path.join(tmpDir, 'snowluma-2026-07-24.1.log'), 'utf8')).toBe( + 'one\ntwo\n', + ); + }); + + it('skips an already-present next split when rotating by size', async () => { + vi.useFakeTimers({ toFake: ['Date'] }); + vi.setSystemTime(new Date(2026, 6, 24, 12, 0, 0)); + // Leave the base file just under the 1 MiB cap so the first write opens + // split 0. ensureForToday resumes at the highest existing split, so + // planting `.1` before that open would append there instead of rotating. + fs.writeFileSync(path.join(tmpDir, 'snowluma-2026-07-24.log'), Buffer.alloc(1_048_570)); + + const transport = createTransport(); + transport.write('open'); + await waitForLogFiles(tmpDir, ['snowluma-2026-07-24.log']); + expect(transport.currentPath).toBe(path.join(tmpDir, 'snowluma-2026-07-24.log')); + + fs.writeFileSync(path.join(tmpDir, 'snowluma-2026-07-24.1.log'), 'taken\n'); + transport.write('overflow'); + await transport.close(); + + expect(listLogFiles(tmpDir)).toEqual([ + 'snowluma-2026-07-24.1.log', + 'snowluma-2026-07-24.2.log', + 'snowluma-2026-07-24.log', + ]); + expect(fs.readFileSync(path.join(tmpDir, 'snowluma-2026-07-24.2.log'), 'utf8')).toBe( + 'overflow\n', + ); + }); + + it('lets a first line exceed the per-file cap and only rotates on the next write', async () => { + vi.useFakeTimers({ toFake: ['Date'] }); + vi.setSystemTime(new Date(2026, 6, 24, 12, 0, 0)); + const transport = createTransport(); + const oversized = 'a'.repeat(1_048_580); + transport.write(oversized); + await waitForLogFiles(tmpDir, ['snowluma-2026-07-24.log']); + + transport.write('b'); + await transport.close(); + + expect(listLogFiles(tmpDir)).toEqual([ + 'snowluma-2026-07-24.1.log', + 'snowluma-2026-07-24.log', + ]); + expect(fs.statSync(path.join(tmpDir, 'snowluma-2026-07-24.log')).size).toBe(1_048_581); + expect(fs.readFileSync(path.join(tmpDir, 'snowluma-2026-07-24.1.log'), 'utf8')).toBe('b\n'); + }); + + it('opens a new dated file when the calendar day changes', async () => { + vi.useFakeTimers(); + vi.setSystemTime(new Date(2026, 4, 18, 23, 59, 0)); + const transport = createTransport(); + transport.write('day-one'); + vi.setSystemTime(new Date(2026, 4, 19, 0, 0, 1)); + transport.write('day-two'); + await transport.close(); + + expect(listLogFiles(tmpDir)).toEqual([ + 'snowluma-2026-05-18.log', + 'snowluma-2026-05-19.log', + ]); + expect(fs.readFileSync(path.join(tmpDir, 'snowluma-2026-05-18.log'), 'utf8')).toBe( + 'day-one\n', + ); + expect(fs.readFileSync(path.join(tmpDir, 'snowluma-2026-05-19.log'), 'utf8')).toBe( + 'day-two\n', + ); + }); +}); + +describe('FileTransport retention, listing, and quota', () => { + it('deletes expired managed files in the root and numeric account directories only', async () => { + fs.writeFileSync(path.join(tmpDir, 'keep.txt'), 'keep\n'); + fs.writeFileSync(path.join(tmpDir, 'snowluma-nope.log'), 'unmanaged\n'); + fs.mkdirSync(path.join(tmpDir, 'not-an-account')); + fs.writeFileSync( + path.join(tmpDir, 'not-an-account', 'snowluma-2020-01-01.log'), + 'ignored\n', + ); + fs.mkdirSync(path.join(tmpDir, '10001')); + fs.writeFileSync(path.join(tmpDir, 'snowluma-2020-01-01.log'), 'stale-root\n'); + fs.writeFileSync( + path.join(tmpDir, '10001', 'snowluma-2020-01-01.2.log'), + 'stale-account\n', + ); + + const transport = createTransport(); + await transport.close(); + + expect(fs.existsSync(path.join(tmpDir, 'snowluma-2020-01-01.log'))).toBe(false); + expect(fs.existsSync(path.join(tmpDir, '10001', 'snowluma-2020-01-01.2.log'))).toBe(false); + expect(fs.readFileSync(path.join(tmpDir, 'keep.txt'), 'utf8')).toBe('keep\n'); + expect(fs.readFileSync(path.join(tmpDir, 'snowluma-nope.log'), 'utf8')).toBe('unmanaged\n'); + expect( + fs.readFileSync(path.join(tmpDir, 'not-an-account', 'snowluma-2020-01-01.log'), 'utf8'), + ).toBe('ignored\n'); + }); + + it('keeps files inside the retention window and skips date cleanup when retainDays is 0', async () => { + vi.useFakeTimers(); + vi.setSystemTime(new Date(2026, 6, 24, 12, 0, 0)); + const recentPath = path.join(tmpDir, 'snowluma-2026-07-22.log'); + const stalePath = path.join(tmpDir, 'snowluma-2020-01-01.log'); + fs.writeFileSync(recentPath, 'recent\n'); + fs.writeFileSync(stalePath, 'stale\n'); + + const kept = createTransport(); + await kept.close(); + expect(fs.existsSync(recentPath)).toBe(true); + expect(fs.existsSync(stalePath)).toBe(false); + + fs.writeFileSync(stalePath, 'stale-again\n'); + setEnv({ SNOWLUMA_LOG_RETAIN_DAYS: '0' }); + const noDateCleanup = createTransport(); + await noDateCleanup.close(); + expect(fs.existsSync(stalePath)).toBe(true); + expect(noDateCleanup.getStorageStatus().retainDays).toBe(0); + }); + + it('runs retention again after the active writer closes', async () => { + const transport = createTransport(); + transport.write('keep the writer open'); + const stalePath = path.join(tmpDir, 'snowluma-2020-01-01.log'); + fs.writeFileSync(stalePath, 'stale\n'); + expect(fs.existsSync(stalePath)).toBe(true); + + await transport.close(); + expect(fs.existsSync(stalePath)).toBe(false); + }); + + it('never deletes the active file when a later retention policy makes its date stale', async () => { + vi.useFakeTimers({ toFake: ['Date'] }); + vi.setSystemTime(new Date(2026, 0, 1, 12, 0, 0)); + const activePath = path.join(tmpDir, 'snowluma-2026-01-01.log'); + const transport = createTransport(); + transport.write('still-active'); + await vi.waitFor(() => { + expect(fs.existsSync(activePath)).toBe(true); + }); + + vi.setSystemTime(new Date(2026, 0, 3, 12, 0, 0)); + await transport.updatePolicy({ + maxTotalMb: 2, + retainDays: 1, + perUinEnabled: false, + }); + + expect(fs.existsSync(activePath)).toBe(true); + expect(transport.getStorageStatus().activeFileCount).toBe(1); + }); + + it('reclaims the oldest closed files first when applying a lower aggregate limit', async () => { + setEnv({ + SNOWLUMA_LOG_MAX_TOTAL_MB: '4', + SNOWLUMA_LOG_RETAIN_DAYS: '0', + }); + const older = path.join(tmpDir, 'snowluma-2026-07-24.log'); + const accountDir = path.join(tmpDir, '12345'); + const newer = path.join(accountDir, 'snowluma-2026-07-24.log'); + fs.mkdirSync(accountDir); + fs.writeFileSync(older, Buffer.alloc(700 * 1024)); + fs.writeFileSync(newer, Buffer.alloc(700 * 1024)); + fs.utimesSync(older, new Date('2026-07-24T01:00:00Z'), new Date('2026-07-24T01:00:00Z')); + fs.utimesSync(newer, new Date('2026-07-24T02:00:00Z'), new Date('2026-07-24T02:00:00Z')); + + const transport = createTransport(); + expect( + await transport.updatePolicy({ + maxTotalMb: 1, + retainDays: 0, + perUinEnabled: false, + }), + ).toMatchObject({ + state: 'healthy', + maxTotalBytes: 1_048_576, + totalBytes: 716_800, + fileCount: 1, + }); + expect(fs.existsSync(older)).toBe(false); + expect(fs.existsSync(newer)).toBe(true); + }); + + it('enters one degraded quota state and counts later lines as dropped', async () => { + setEnv({ SNOWLUMA_LOG_MAX_TOTAL_MB: '1' }); + const stderr = silenceStderr(); + const transport = createTransport(); + const kib = 'x'.repeat(1023); + + for (let i = 0; i < 1024; i += 1) { + transport.write(kib); + } + + for (let i = 0; i < 10; i += 1) { + transport.write('dropped'); + } + + expect(transport.getStorageStatus()).toMatchObject({ + state: 'degraded', + maxTotalBytes: 1_048_576, + droppedLines: 10, + }); + expect( + stderr.mock.calls + .map(([message]) => String(message)) + .filter((message) => message.includes('no closed log can be reclaimed')), + ).toHaveLength(1); + expect(stderr.mock.calls[0]![0]).toMatch(/^\[logger\.storage] /); + }); + + it('does not fan out a dropped shared line to a per-UIN writer', async () => { + setEnv({ + SNOWLUMA_LOG_MAX_TOTAL_MB: '1', + SNOWLUMA_LOG_PER_UIN: '1', + }); + silenceStderr(); + const transport = createTransport(); + const kib = 'x'.repeat(1023); + + for (let i = 0; i < 1024; i += 1) { + transport.write(kib); + } + + transport.write('overflow', 12345); + + expect(transport.perUinPath(12345)).toBeNull(); + expect(fs.existsSync(path.join(tmpDir, '12345'))).toBe(false); + expect(transport.getStorageStatus().droppedLines).toBe(1); + }); + + it('reports a warning when retention cannot unlink an expired closed file', async () => { + const stalePath = path.join(tmpDir, 'snowluma-2020-01-01.log'); + fs.writeFileSync(stalePath, 'stale\n'); + const realUnlink = fs.unlinkSync.bind(fs); + vi.spyOn(fs, 'unlinkSync').mockImplementation((filePath) => { + if (path.resolve(String(filePath)) === stalePath) { + throw new Error('permission denied'); + } + + realUnlink(filePath); + }); + silenceStderr(); + + const transport = createTransport(); + expect(transport.getStorageStatus()).toMatchObject({ + state: 'warning', + lastError: `retention cleanup failed for ${stalePath}: permission denied`, + fileCount: 1, + }); + expect(fs.existsSync(stalePath)).toBe(true); + }); +}); + +describe('FileTransport per-UIN writers', () => { + it('duplicates a UIN-scoped line into logs// and leaves unscoped lines in the shared file only', async () => { + vi.useFakeTimers(); + vi.setSystemTime(new Date(2026, 6, 24, 12, 0, 0)); + setEnv({ SNOWLUMA_LOG_PER_UIN: '1' }); + const transport = createTransport(); + transport.write('shared-only'); + transport.write('both', 12345); + await transport.close(); + + expect(fs.readFileSync(path.join(tmpDir, 'snowluma-2026-07-24.log'), 'utf8')).toBe( + 'shared-only\nboth\n', + ); + expect(fs.readFileSync(path.join(tmpDir, '12345', 'snowluma-2026-07-24.log'), 'utf8')).toBe( + 'both\n', + ); + }); + + it('does not create an account directory when the account path is already a file', async () => { + vi.useFakeTimers(); + vi.setSystemTime(new Date(2026, 6, 24, 12, 0, 0)); + setEnv({ SNOWLUMA_LOG_PER_UIN: '1' }); + fs.writeFileSync(path.join(tmpDir, '12345'), 'occupied'); + silenceStderr(); + const transport = createTransport(); + transport.write('shared-ok', 12345); + await transport.close(); + + expect(transport.perUinPath(12345)).toBeNull(); + expect(fs.statSync(path.join(tmpDir, '12345')).isFile()).toBe(true); + expect(fs.readFileSync(path.join(tmpDir, 'snowluma-2026-07-24.log'), 'utf8')).toBe( + 'shared-ok\n', + ); + }); + + it('rolls per-UIN files on day change and stops creating them after the policy turns off', async () => { + vi.useFakeTimers(); + vi.setSystemTime(new Date(2026, 6, 24, 23, 59, 0)); + setEnv({ SNOWLUMA_LOG_PER_UIN: '1' }); + const transport = createTransport(); + transport.write('day-one', 99); + expect(transport.perUinPath(99)).toBe(path.join(tmpDir, '99', 'snowluma-2026-07-24.log')); + + const updating = transport.updatePolicy({ + maxTotalMb: 2, + retainDays: 7, + perUinEnabled: false, + }); + transport.write('during-disable', 99); + expect(transport.perUinPath(99)).toBeNull(); + await updating; + + vi.setSystemTime(new Date(2026, 6, 25, 0, 0, 1)); + transport.write('day-two', 99); + await transport.close(); + + expect(fs.existsSync(path.join(tmpDir, '99', 'snowluma-2026-07-25.log'))).toBe(false); + expect(fs.readFileSync(path.join(tmpDir, 'snowluma-2026-07-25.log'), 'utf8')).toBe( + 'day-two\n', + ); + expect(transport.getStorageStatus().perUinEnabled).toBe(false); + }); + + it('creates account writers only after a policy enables per-UIN output', async () => { + vi.useFakeTimers(); + vi.setSystemTime(new Date(2026, 6, 24, 12, 0, 0)); + const transport = createTransport(); + transport.write('before', 55); + expect(fs.existsSync(path.join(tmpDir, '55'))).toBe(false); + + await transport.updatePolicy({ + maxTotalMb: 2, + retainDays: 7, + perUinEnabled: true, + }); + transport.write('after', 55); + await transport.close(); + + expect(fs.readFileSync(path.join(tmpDir, '55', 'snowluma-2026-07-24.log'), 'utf8')).toBe( + 'after\n', + ); + }); + + it('replaces a disabled per-UIN writer on the next line for that account', async () => { + vi.useFakeTimers({ toFake: ['Date'] }); + vi.setSystemTime(new Date(2026, 6, 24, 12, 0, 0)); + setEnv({ SNOWLUMA_LOG_PER_UIN: '1' }); + const realCreate = fs.createWriteStream.bind(fs); + const accountStreams: fs.WriteStream[] = []; + vi.spyOn(fs, 'createWriteStream').mockImplementation((file, options) => { + const stream = realCreate(file, options); + + if (String(file).startsWith(path.join(tmpDir, '77') + path.sep)) { + accountStreams.push(stream); + } + + return stream; + }); + silenceStderr(); + + const transport = createTransport(); + transport.write('one', 77); + const accountFile = path.join(tmpDir, '77', 'snowluma-2026-07-24.log'); + await vi.waitFor(() => { + expect(fs.readFileSync(accountFile, 'utf8')).toBe('one\n'); + }); + accountStreams[0]!.emit('error', Object.assign(new Error('account eio'), { code: 'EIO' })); + vi.setSystemTime(Date.now() + 5_000); + transport.write('two', 77); + await transport.close(); + + expect(fs.readFileSync(accountFile, 'utf8')).toBe('one\ntwo\n'); + }); +}); + +describe('FileTransport initialization, recovery, and policy updates', () => { + it('surfaces a failed log-root mkdir as a disabled status with lastError', async () => { + const blocked = path.join(tmpDir, 'blocked-root'); + fs.writeFileSync(blocked, 'occupied'); + setEnv({ SNOWLUMA_LOG_DIR: blocked }); + const stderr = silenceStderr(); + + const transport = createTransport(); + expect(transport.isDisabled).toBe(true); + expect(transport.getStorageStatus()).toMatchObject({ + state: 'disabled', + directory: blocked, + totalBytes: 0, + fileCount: 0, + droppedLines: 0, + }); + expect(transport.getStorageStatus().lastError).toMatch( + /^failed to initialize log storage /, + ); + expect(String(stderr.mock.calls[0]![0])).toContain('[logger.storage]'); + await transport.close(); + }); + + it('treats a non-ENOENT readdir of an account directory as an initialization failure', async () => { + fs.mkdirSync(path.join(tmpDir, '12345')); + const realReaddir = fs.readdirSync.bind(fs); + vi.spyOn(fs, 'readdirSync').mockImplementation((dir, options) => { + if (path.resolve(String(dir)) === path.join(tmpDir, '12345')) { + throw Object.assign(new Error('EACCES: permission denied'), { code: 'EACCES' }); + } + + return realReaddir(dir, options as Parameters[1]); + }); + silenceStderr(); + + const transport = createTransport(); + expect(transport.getStorageStatus()).toMatchObject({ + state: 'disabled', + lastError: expect.stringContaining('failed to read managed log directory'), + }); + }); + + it('retries a failed shared-writer open after the 5s backoff', async () => { + vi.useFakeTimers(); + vi.setSystemTime(new Date(2026, 6, 24, 12, 0, 0)); + silenceStderr(); + vi.spyOn(fs, 'createWriteStream').mockImplementationOnce(() => { + throw Object.assign(new Error('open failed'), { code: 'EIO' }); + }); + + const transport = createTransport(); + transport.write('dropped-while-opening'); + expect(transport.getStorageStatus().state).toBe('degraded'); + expect(listLogFiles(tmpDir)).toEqual([]); + + vi.advanceTimersByTime(4_999); + transport.write('still-waiting'); + expect(listLogFiles(tmpDir)).toEqual([]); + + vi.advanceTimersByTime(1); + transport.write('recovered'); + await transport.close(); + + expect(fs.readFileSync(path.join(tmpDir, 'snowluma-2026-07-24.log'), 'utf8')).toBe( + 'recovered\n', + ); + }); + + it('does not persist lines during the quota retry window after a stream error', async () => { + vi.useFakeTimers(); + vi.setSystemTime(new Date(2026, 6, 24, 12, 0, 0)); + silenceStderr(); + const realCreate = fs.createWriteStream.bind(fs); + const streams: fs.WriteStream[] = []; + vi.spyOn(fs, 'createWriteStream').mockImplementation((file, options) => { + const stream = realCreate(file, options); + streams.push(stream); + return stream; + }); + + const transport = createTransport(); + transport.write('before-error'); + streams[0]!.emit('error', Object.assign(new Error('EIO write'), { code: 'EIO' })); + expect(transport.getStorageStatus().state).toBe('degraded'); + + transport.write('during-backoff'); + expect(transport.getStorageStatus().droppedLines).toBe(1); + + vi.advanceTimersByTime(5_000); + transport.write('after-backoff'); + await transport.close(); + + const body = fs.readFileSync(path.join(tmpDir, 'snowluma-2026-07-24.log'), 'utf8'); + expect(body).toContain('after-backoff\n'); + expect(body).not.toContain('during-backoff'); + }); + + it('recovers a previously unwritable root when updatePolicy forces a reopen', async () => { + const blocked = path.join(tmpDir, 'blocked-root'); + fs.writeFileSync(blocked, 'occupied'); + setEnv({ SNOWLUMA_LOG_DIR: blocked }); + silenceStderr(); + const transport = createTransport(); + expect(transport.getStorageStatus().state).toBe('disabled'); + + fs.unlinkSync(blocked); + fs.mkdirSync(blocked); + const status = await transport.updatePolicy({ + maxTotalMb: 2, + retainDays: 3, + perUinEnabled: false, + }); + + expect(status).toMatchObject({ + state: 'healthy', + directory: blocked, + maxTotalBytes: 2_097_152, + retainDays: 3, + }); + transport.write('via-policy'); + await transport.close(); + expect(listLogFiles(blocked)).toHaveLength(1); + }); + + it('updates stored policy fields even when applying the quota policy throws', async () => { + const transport = createTransport(); + vi.spyOn(fs, 'readdirSync').mockImplementation(() => { + throw Object.assign(new Error('EIO readdir'), { code: 'EIO' }); + }); + silenceStderr(); + + await expect( + transport.updatePolicy({ + maxTotalMb: 4, + retainDays: 1, + perUinEnabled: true, + }), + ).rejects.toThrow(/failed to read managed log directory/); + + expect(transport.getStorageStatus()).toMatchObject({ + state: 'degraded', + maxTotalBytes: 4_194_304, + retainDays: 1, + perUinEnabled: true, + lastError: expect.stringContaining('failed to apply log storage policy'), + }); + }); + + it('applies a policy to a disabled transport without creating files', async () => { + setEnv({ SNOWLUMA_LOG_FILE: '0' }); + const transport = createTransport(); + const status = await transport.updatePolicy({ + maxTotalMb: 5, + retainDays: 2, + perUinEnabled: true, + }); + + expect(status).toEqual({ + state: 'disabled', + directory: tmpDir, + totalBytes: 0, + maxTotalBytes: 5_242_880, + retainDays: 2, + perUinEnabled: true, + fileCount: 0, + activeFileCount: 0, + droppedLines: 0, + }); + expect(listLogFiles(tmpDir)).toEqual([]); + }); + + it('rejects an unsafe updatePolicy without changing the live limits', async () => { + const transport = createTransport(); + await expect( + transport.updatePolicy({ + maxTotalMb: 9_007_199_254_740_991, + retainDays: 7, + perUinEnabled: false, + }), + ).rejects.toThrow(new RangeError('maxTotalMb must be an integer in 1..8589934591')); + await expect( + transport.updatePolicy({ + maxTotalMb: 2, + retainDays: 9_007_199_254_740_991, + perUinEnabled: false, + }), + ).rejects.toThrow(new RangeError('retainDays must be an integer in 0..104249991')); + expect(transport.getStorageStatus()).toMatchObject({ + maxTotalBytes: 2_097_152, + retainDays: 7, + }); + }); +}); + +describe('FileTransport.clearManagedLogs', () => { + it('deletes closed shared and account files and reopens empty writers', async () => { + vi.useFakeTimers(); + vi.setSystemTime(new Date(2026, 6, 24, 12, 0, 0)); + setEnv({ SNOWLUMA_LOG_PER_UIN: '1' }); + const transport = createTransport(); + transport.write('shared and account', 12345); + + const result = await transport.clearManagedLogs(); + + expect(result.deletedFiles).toBe(2); + expect(result.freedBytes).toBeGreaterThan(0); + expect(result.failures).toEqual([]); + expect(fs.statSync(transport.currentPath!).size).toBe(0); + expect(fs.statSync(transport.perUinPath(12345)!).size).toBe(0); + expect(result.status.activeFileCount).toBe(2); + }); + + it('clears managed files while file output is disabled and leaves unrelated files', async () => { + fs.writeFileSync(path.join(tmpDir, 'snowluma-2020-01-01.log'), 'managed\n'); + fs.writeFileSync(path.join(tmpDir, 'keep.txt'), 'unrelated\n'); + setEnv({ SNOWLUMA_LOG_FILE: '0' }); + const transport = createTransport(); + + expect(await transport.clearManagedLogs()).toEqual({ + deletedFiles: 1, + freedBytes: 8, + failures: [], + status: { + state: 'disabled', + directory: tmpDir, + totalBytes: 0, + maxTotalBytes: 2_097_152, + retainDays: 7, + perUinEnabled: false, + fileCount: 0, + activeFileCount: 0, + droppedLines: 0, + }, + }); + expect(fs.existsSync(path.join(tmpDir, 'snowluma-2020-01-01.log'))).toBe(false); + expect(fs.readFileSync(path.join(tmpDir, 'keep.txt'), 'utf8')).toBe('unrelated\n'); + }); + + it('reports a disabled clear failure when the log root cannot be read', async () => { + const blocked = path.join(tmpDir, 'not-a-dir'); + fs.writeFileSync(blocked, 'occupied'); + setEnv({ SNOWLUMA_LOG_DIR: blocked, SNOWLUMA_LOG_FILE: '0' }); + silenceStderr(); + const transport = createTransport(); + + const result = await transport.clearManagedLogs(); + expect(result.deletedFiles).toBe(0); + expect(result.freedBytes).toBe(0); + expect(result.failures).toEqual([ + { + file: '.', + message: expect.stringContaining(`failed to clear disabled log storage ${blocked}`), + }, + ]); + expect(result.status).toMatchObject({ + state: 'disabled', + directory: blocked, + lastError: result.failures[0]!.message, + }); + }); + + it('can clear and reopen writers before the failed-open retry delay expires', async () => { + silenceStderr(); + vi.spyOn(fs, 'createWriteStream').mockImplementationOnce(() => { + throw Object.assign(new Error('open failed'), { code: 'EIO' }); + }); + const transport = createTransport(); + transport.write('dropped-while-opening'); + fs.writeFileSync(path.join(tmpDir, 'snowluma-2020-01-01.log'), 'stale\n'); + + const result = await transport.clearManagedLogs(); + + expect(result.failures).toEqual([]); + expect(fs.existsSync(path.join(tmpDir, 'snowluma-2020-01-01.log'))).toBe(false); + expect(transport.currentPath).not.toBeNull(); + }); + + it('records a shared reopen failure after a successful cleanup', async () => { + const transport = createTransport(); + transport.write('to-clear'); + vi.spyOn(fs, 'createWriteStream').mockImplementation(() => { + throw Object.assign(new Error('reopen failed'), { code: 'EIO' }); + }); + silenceStderr(); + + const result = await transport.clearManagedLogs(); + expect(result.deletedFiles).toBe(1); + expect(result.failures).toEqual([ + { + file: '.', + message: expect.stringMatching(/^failed to initialize log storage /), + }, + ]); + expect(transport.currentPath).toBeNull(); + }); + + it('records an account reopen failure without losing the shared writer', async () => { + setEnv({ SNOWLUMA_LOG_PER_UIN: '1' }); + const transport = createTransport(); + transport.write('both', 12345); + const realCreate = fs.createWriteStream.bind(fs); + const accountPrefix = path.join(tmpDir, '12345') + path.sep; + vi.spyOn(fs, 'createWriteStream').mockImplementation((file, options) => { + if (String(file).startsWith(accountPrefix)) { + throw new Error('account reopen failed'); + } + + return realCreate(file, options); + }); + silenceStderr(); + + const result = await transport.clearManagedLogs(); + expect(result.failures).toEqual([ + { + file: '12345', + message: `failed to reopen account log writer: failed to prepare log writer in ${path.join(tmpDir, '12345')}`, + }, + ]); + expect(transport.currentPath).not.toBeNull(); + expect(transport.perUinPath(12345)).toBeNull(); + }); + + it('returns the initialization error when a disabled root still cannot build a quota', async () => { + const blocked = path.join(tmpDir, 'blocked-root'); + fs.writeFileSync(blocked, 'occupied'); + setEnv({ SNOWLUMA_LOG_DIR: blocked }); + silenceStderr(); + const transport = createTransport(); + + const result = await transport.clearManagedLogs(); + expect(result).toMatchObject({ + deletedFiles: 0, + freedBytes: 0, + failures: [ + { + file: '.', + message: expect.stringMatching(/^failed to initialize log storage /), + }, + ], + status: { state: 'disabled', directory: blocked }, + }); + }); +}); + +describe('file-transport singleton', () => { + it('reuses one FileTransport until _resetFileTransportForTesting closes it', async () => { + const first = getFileTransport(); + expect(getFileTransport()).toBe(first); + first.write('singleton-line'); + + await _resetFileTransportForTesting(); + const second = getFileTransport(); + expect(second).not.toBe(first); + expect(first.isDisabled).toBe(true); + expect(second.isDisabled).toBe(false); + }); + + it('configureFileTransport creates the singleton with a copied policy', async () => { + const policy: LogStoragePolicy = { + maxTotalMb: 3, + retainDays: 1, + perUinEnabled: true, + }; + const status = await configureFileTransport(policy); + policy.retainDays = 9; + policy.perUinEnabled = false; + + expect(status).toMatchObject({ + maxTotalBytes: 3_145_728, + retainDays: 1, + perUinEnabled: true, + }); + expect(getFileTransport().getStorageStatus()).toMatchObject({ + retainDays: 1, + perUinEnabled: true, + }); + expect(getLogStorageStatus()).toEqual(getFileTransport().getStorageStatus()); + }); + + it('configureFileTransport updates the existing singleton and rejects invalid policies first', async () => { + const created = getFileTransport(); + const updated = await configureFileTransport({ + maxTotalMb: 5, + retainDays: 2, + perUinEnabled: true, + }); + expect(getFileTransport()).toBe(created); + expect(updated).toMatchObject({ + maxTotalBytes: 5_242_880, + retainDays: 2, + perUinEnabled: true, + }); + + await expect( + configureFileTransport({ + maxTotalMb: 0, + retainDays: 2, + perUinEnabled: true, + }), + ).rejects.toThrow(new RangeError('maxTotalMb must be an integer in 1..8589934591')); + expect(getLogStorageStatus().maxTotalBytes).toBe(5_242_880); + }); + + it('forgets a configured policy after reset so the next singleton reads env', async () => { + await configureFileTransport({ + maxTotalMb: 3, + retainDays: 1, + perUinEnabled: true, + }); + expect(getLogStorageStatus().retainDays).toBe(1); + + await _resetFileTransportForTesting(); + expect(getLogStorageStatus()).toMatchObject({ + maxTotalBytes: 2_097_152, + retainDays: 7, + perUinEnabled: false, + }); + }); + + it('clearManagedLogs delegates to the singleton', async () => { + setEnv({ SNOWLUMA_LOG_RETAIN_DAYS: '0' }); + fs.writeFileSync(path.join(tmpDir, 'snowluma-2020-01-01.log'), 'stale\n'); + getFileTransport(); + + const result = await clearManagedLogs(); + expect(result.deletedFiles).toBe(1); + expect(fs.existsSync(path.join(tmpDir, 'snowluma-2020-01-01.log'))).toBe(false); + expect(result.status.directory).toBe(tmpDir); + }); + + it('is a no-op reset when no singleton was created', async () => { + await expect(_resetFileTransportForTesting()).resolves.toBeUndefined(); + await expect(_resetFileTransportForTesting()).resolves.toBeUndefined(); + }); +}); diff --git a/packages/common/tests/log-sanitize.test.ts b/packages/common/tests/log-sanitize.test.ts new file mode 100644 index 00000000..aadff331 --- /dev/null +++ b/packages/common/tests/log-sanitize.test.ts @@ -0,0 +1,87 @@ +import { describe, expect, it } from 'vitest'; +import { execFileSync } from 'node:child_process'; +import { sanitizeLogLine } from '../src/log-sanitize'; + +describe('sanitizeLogLine', () => { + it('removes SGR styling in seven-bit and eight-bit forms', () => { + expect(sanitizeLogLine('\x1b[31mred\x1b[0m / \u009b32mgreen\u009b0m')).toBe('red / green'); + }); + + it('removes OSC hyperlinks without removing their visible label', () => { + expect(sanitizeLogLine('\x1b]8;;https://example.com\x07visible\x1b]8;;\x07')).toBe( + 'visible', + ); + }); + + it('removes terminal control-string payloads', () => { + expect(sanitizeLogLine('before\x1bPprivate payload\x1b\\after')).toBe('beforeafter'); + }); + + it('preserves tabs and newlines while removing other controls', () => { + expect(sanitizeLogLine('one\ttwo\nthree\r\x00')).toBe('one\ttwo\nthree'); + }); + + it('does not leak unterminated terminal strings', () => { + expect(sanitizeLogLine('visible\x1b]8;;https://example.com')).toBe('visible'); + }); + + it('preserves long Unicode records and adjacent visible spans', () => { + const body = '消息 🌌 e\u0301\tpacket=0011aabb\n'.repeat(1000); + expect(sanitizeLogLine(body)).toBe(body); + expect(sanitizeLogLine(`\x1b[32m${body}\x1b[0m\x00tail\x1b`)).toBe(`${body}tail`); + }); + + it.each(['\x1bP', '\x1bX', '\x1b^', '\x1b_', '\u0090', '\u0098', '\u009e', '\u009f'])( + 'removes %j control strings between visible spans', + (opener) => { + expect(sanitizeLogLine(`before${opener}private\u009cafter`)).toBe('beforeafter'); + expect(sanitizeLogLine(`before${opener}private\x1b\\after`)).toBe('beforeafter'); + expect(sanitizeLogLine(`before${opener}private`)).toBe('before'); + }, + ); + + it('handles consecutive controls and records consisting only of controls', () => { + expect(sanitizeLogLine('\x00\x1b[31m\u009b0m\r\u007f')).toBe(''); + expect(sanitizeLogLine('a\x00\x1b[31m\u009b0m\r\u007fb')).toBe('ab'); + expect(sanitizeLogLine('')).toBe(''); + }); + + it('preserves every visible UTF-16 code unit when removing a large hidden payload', () => { + const visible = 'visible 🌌 e\u0301\ud800x\udc00'; + expect(sanitizeLogLine(`${visible}\x1b]${'hidden'.repeat(1000)}`)).toBe(visible); + }); + + it('does not retain discarded control-string payloads through a short visible span', () => { + const moduleUrl = new URL('../src/log-sanitize.ts', import.meta.url).href; + const output = execFileSync( + process.execPath, + [ + '--expose-gc', + '--input-type=module', + '-e', + ` + import { setImmediate } from 'node:timers/promises'; + import { sanitizeLogLine } from ${JSON.stringify(moduleUrl)}; + async function used() { + await setImmediate(); + global.gc(); + global.gc(); + return process.memoryUsage().heapUsed; + } + function record(i) { + return sanitizeLogLine('visible record ' + i + '\\x1b]' + 'x'.repeat(1024 * 1024)); + } + const before = await used(); + const records = Array.from({ length: 16 }, (_, i) => record(i)); + const retained = (await used()) - before; + console.log(JSON.stringify({ retained, records })); + `, + ], + { encoding: 'utf8', timeout: 10_000 }, + ); + const result = JSON.parse(output); + expect(result.records).toEqual(Array.from({ length: 16 }, (_, i) => `visible record ${i}`)); + // Leave ample GC/runtime overhead while rejecting retention of the 16 MiB input. + expect(result.retained).toBeLessThan(4 * 1024 * 1024); + }); +}); diff --git a/packages/common/tests/log-summary.test.ts b/packages/common/tests/log-summary.test.ts new file mode 100644 index 00000000..7fb99832 --- /dev/null +++ b/packages/common/tests/log-summary.test.ts @@ -0,0 +1,230 @@ +import { describe, expect, it } from 'vitest'; +import { redactLogMessage, renderParamsVerbose, summarizeParams } from '../src/log-summary'; + +describe('summarizeParams', () => { + it('renders null/undefined as {}', () => { + expect(summarizeParams(null)).toBe('{}'); + expect(summarizeParams(undefined)).toBe('{}'); + }); + + it('renders a top-level non-object via String() WITHOUT quotes', () => { + // The reported change-request: a top-level primitive is NOT JSON-quoted. + expect(summarizeParams('hello')).toBe('hello'); + expect(summarizeParams(123)).toBe('123'); + }); + + it('collapses a top-level array to [len=N]', () => { + expect(summarizeParams([1, 2, 3])).toBe('[len=3]'); + }); + + it('quotes string fields, collapses nested values, truncates long strings', () => { + expect(summarizeParams({ a: 1, b: 'x', c: { d: 1 }, e: [1, 2] })).toBe( + 'a=1 b="x" c={...} e=[len=2]', + ); + expect(summarizeParams({ s: 'x'.repeat(50) })).toBe(`s="${'x'.repeat(40)}..."`); + }); + + it('redacts authentication fields without exposing their values', () => { + const out = summarizeParams({ + token: 'token-value', + Cookie: 'cookie-value', + Authorization: 'Bearer authorization-value', + user_password: 'password-value', + apiKey: 'key-value', + group_id: 12345, + }); + + expect(out).toContain('token="***"'); + expect(out).toContain('Cookie="***"'); + expect(out).toContain('Authorization="***"'); + expect(out).toContain('user_password="***"'); + expect(out).toContain('apiKey="***"'); + expect(out).toContain('group_id=12345'); + expect(out).not.toMatch( + /token-value|cookie-value|authorization-value|password-value|key-value/, + ); + }); + + it('does not treat sensitive substrings inside ordinary keys as credentials', () => { + expect( + summarizeParams({ + retoken: 'visible', + cookietown: 'visible', + myauthorization: 'visible', + }), + ).toBe('retoken="visible" cookietown="visible" myauthorization="visible"'); + }); + + it('caps total output and appends "..." on overflow', () => { + const big: Record = {}; + + for (let i = 0; i < 60; i++) { + big['key' + i] = i; + } + + const out = summarizeParams(big); + expect(out.startsWith('key0=0')).toBe(true); + expect(out.endsWith('...')).toBe(true); + expect(out.length).toBeLessThanOrEqual(200); + }); + + it('caps a single oversized first key and top-level primitive', () => { + const oversizedKey = 'k'.repeat(300); + + const objectOut = summarizeParams({ [oversizedKey]: 'value' }); + const primitiveOut = summarizeParams('x'.repeat(300)); + + expect(objectOut).toHaveLength(200); + expect(objectOut.endsWith('...')).toBe(true); + expect(primitiveOut).toHaveLength(200); + expect(primitiveOut.endsWith('...')).toBe(true); + }); +}); + +describe('redactLogMessage', () => { + it('redacts explicit authentication assignments without changing prose', () => { + const out = redactLogMessage( + 'password=secret Authorization: Bearer bearer-secret cookie="cookie secret" password change required', + ); + + expect(out).toBe('password=*** Authorization: *** cookie=*** password change required'); + }); + + it('redacts quoted object keys, Basic auth, and complete Cookie values', () => { + const out = redactLogMessage( + `json={"authorization":"Basic json-auth"} object={ 'api-key': 'api-secret' } Authorization: Basic header-auth Cookie=session=cookie-secret; Path=/; HttpOnly`, + ); + const expires = redactLogMessage( + 'Cookie=session=expires-secret; Expires=Wed, 21 Oct 2015 07:28:00 GMT; Path=/; HttpOnly safe=visible', + ); + + expect(out).toContain('json={"authorization":***}'); + expect(out).toContain("object={ 'api-key': *** }"); + expect(out).toContain('Authorization: *** Cookie=***'); + expect(expires).toBe('Cookie=*** safe=visible'); + expect(out).not.toMatch(/json-auth|api-secret|header-auth|cookie-secret|Path=|HttpOnly/); + expect(expires).not.toMatch(/expires-secret|Expires|21 Oct|Path=|HttpOnly/); + }); + + it('redacts complete multi-parameter Authorization values', () => { + const out = redactLogMessage( + 'Authorization: Digest username="alice", realm="qq", response="digest-secret"\n' + + 'authorization=AWS4-HMAC-SHA256 Credential=AKID/20260730/cn/service/aws4_request, ' + + 'SignedHeaders=host;x-date, Signature=aws-secret\n' + + 'Authorization: Bearer bearer-secret Cookie=session=cookie-secret; Path=/', + ); + + expect(out).toBe('Authorization: ***\nauthorization=***\nAuthorization: *** Cookie=***'); + expect(out).not.toMatch( + /alice|realm|digest-secret|AKID|SignedHeaders|aws-secret|bearer-secret|cookie-secret|Path=/, + ); + }); + + it('redacts camelCase authentication keys without matching larger words', () => { + const out = redactLogMessage( + `authToken=auth-secret idToken=id-secret clientSecret=client-secret {"userPassword":"password-secret"}`, + ); + + expect(out).toBe(`authToken=*** idToken=*** clientSecret=*** {"userPassword":***}`); + expect(out).not.toMatch(/auth-secret|id-secret|client-secret|password-secret/); + expect(redactLogMessage('retoken=value cookietown=value myauthorization=value')).toBe( + 'retoken=value cookietown=value myauthorization=value', + ); + }); + + it('redacts leading separator and numeric authentication keys without matching larger words', () => { + expect( + redactLogMessage( + '_token=underscore-secret --password=cli-secret 2faToken=two-factor-secret retoken=visible', + ), + ).toBe('_token=*** --password=*** 2faToken=*** retoken=visible'); + }); + + it('redacts nested assignments inside non-sensitive wrapper values', () => { + expect(redactLogMessage('params=authToken=auth-secret params=cookie="cookie-secret"')).toBe( + 'params=authToken=*** params=cookie=***', + ); + }); + + it('redacts the entire Authorization value when it starts with a marker', () => { + expect(redactLogMessage('Authorization: *** secret-value')).toBe('Authorization: ***'); + }); + + it('redacts property paths and URL query authentication values', () => { + const out = redactLogMessage( + 'headers.authorization=Basic dXNlcjpwYXNz ' + + 'request.token=plain-token ' + + 'GET /callback?access_token=query-secret&x=1 ' + + 'url=https://host/?api_key=url-secret', + ); + + expect(out).toContain('headers.authorization=***'); + expect(out).toContain('request.token=***'); + expect(out).toContain('/callback?access_token=***&x=1'); + expect(out).toContain('https://host/?api_key=***'); + expect(out).not.toMatch(/dXNlcjpwYXNz|plain-token|query-secret|url-secret/); + }); + + it('redacts prefixed authentication keys without matching larger words', () => { + const redacted = redactLogMessage( + 'x-api-key=api-secret user_password=password-secret ' + + 'headers.authorization=Basic auth-secret ' + + 'x-cookie="session=cookie-secret"; Path=/; HttpOnly', + ); + + expect(redacted).toContain('x-api-key=***'); + expect(redacted).toContain('user_password=***'); + expect(redacted).toContain('headers.authorization=***'); + expect(redacted).toContain('x-cookie=***'); + expect(redacted).not.toMatch( + /api-secret|password-secret|auth-secret|cookie-secret|Path=|HttpOnly/, + ); + expect(redactLogMessage('retoken=value cookietown=value myauthorization=value')).toBe( + 'retoken=value cookietown=value myauthorization=value', + ); + }); +}); + +describe('renderParamsVerbose', () => { + it('keeps authentication fields unredacted for complete TRACE diagnostics', () => { + const out = renderParamsVerbose({ + token: 'token-value', + Cookie: 'cookie-value', + password: 'password-value', + apiKey: 'key-value', + }); + + expect(out).toContain('token:"token-value"'); + expect(out).toContain('Cookie:"cookie-value"'); + expect(out).toContain('password:"password-value"'); + expect(out).toContain('apiKey:"key-value"'); + expect(out).not.toContain('"***"'); + }); + + it('does not truncate TRACE values or their enclosing object', () => { + const unicodeValue = '雪'.repeat(800); + const out = renderParamsVerbose({ blob: unicodeValue, tail: 'complete' }); + + expect(out).toContain(`blob:${JSON.stringify(unicodeValue)}`); + expect(out).toContain('tail:"complete"'); + expect(out).not.toMatch(/…<\d+B>|\.\.\./); + }); + + it('guards against circular references', () => { + const o: Record = { a: 1 }; + o.self = o; + expect(renderParamsVerbose(o)).toContain('"[circular]"'); + }); + + it('renders shared non-cyclic references in every branch', () => { + const shared = { value: 1 }; + + expect(renderParamsVerbose({ left: shared, right: shared })).toBe( + '{left:{value:1},right:{value:1}}', + ); + }); + + it('renders nested structure with primitives intact', () => { + expect(renderParamsVerbose({ a: 1, b: [true, 'x'] })).toBe('{a:1,b:[true,"x"]}'); + }); +}); diff --git a/packages/common/tests/logger-snapshot.test.ts b/packages/common/tests/logger-snapshot.test.ts new file mode 100644 index 00000000..2a29c1a2 --- /dev/null +++ b/packages/common/tests/logger-snapshot.test.ts @@ -0,0 +1,99 @@ +import { afterEach, describe, expect, it, vi } from 'vitest'; + +const { fileWrite } = vi.hoisted(() => ({ fileWrite: vi.fn() })); + +vi.mock('../src/log-file-transport', () => ({ + getFileTransport: () => ({ write: fileWrite, close: async () => {} }), +})); + +afterEach(() => { + vi.restoreAllMocks(); + vi.unstubAllEnvs(); + vi.resetModules(); + fileWrite.mockClear(); +}); + +async function setup() { + vi.stubEnv('SNOWLUMA_LOG_LEVEL', 'trace'); + vi.stubEnv('SNOWLUMA_LOG_FILE_LEVEL', 'error'); + vi.stubEnv('SNOWLUMA_TRACE_BUFFER', '100'); + vi.spyOn(process.stdout, 'write').mockReturnValue(true); + vi.spyOn(process.stderr, 'write').mockReturnValue(true); + const logger = await import('../src/logger'); + return { ...logger, log: logger.createLogger('Snapshot') }; +} + +describe('retained log snapshots', () => { + it('returns empty snapshots before any record has been emitted', async () => { + const logger = await setup(); + expect(logger.getRecentLogs()).toEqual([]); + expect(logger.getLogSnapshot()).toEqual([]); + }); + + it('merges wrapped rings in emission order and returns only the requested tail', async () => { + const logger = await setup(); + const emitted: import('../src/logger').LogEntry[] = []; + const unsubscribe = logger.subscribeLogs((entry) => emitted.push(entry)); + + for (let i = 0; i < 1100; i += 1) { + logger.log.info('normal %d', i); + logger.log.trace('trace %d', i); + } + + unsubscribe(); + const normal = emitted.filter((entry) => entry.level !== 'trace').slice(-1000); + const trace = emitted.filter((entry) => entry.level === 'trace').slice(-100); + const expected = [...normal, ...trace].sort((a, b) => a.id - b.id); + expect(logger.getLogSnapshot()).toEqual(expected); + + for (const limit of [1, 2, 30, 300, 1000, 1100, 2000, 0, -1, 2.9, NaN, Infinity]) { + expect(logger.getRecentLogs(limit)).toEqual( + expected.slice(-Math.max(1, Math.trunc(limit))), + ); + } + + expect(logger.getRecentLogs()).toEqual(expected.slice(-300)); + const snapshot = logger.getRecentLogs(5); + snapshot.pop(); + expect(logger.getRecentLogs(5)).toEqual(expected.slice(-5)); + }); + + it.each(['info', 'trace'] as const)( + 'reads a tail when only the %s ring has records', + async (level) => { + const logger = await setup(); + logger.log[level]('first'); + logger.log[level]('second'); + expect(logger.getRecentLogs(1).map((entry) => entry.message)).toEqual(['second']); + expect(logger.getLogSnapshot().map((entry) => entry.message)).toEqual([ + 'first', + 'second', + ]); + }, + ); + + it('preserves ID gaps and file routing without publishing file-only entries', async () => { + const logger = await setup(); + vi.stubEnv('SNOWLUMA_LOG_FILE_LEVEL', 'debug'); + vi.resetModules(); + const fresh = await import('../src/logger'); + fresh.setLogLevel('info'); + const entries: import('../src/logger').LogEntry[] = []; + const unsubscribe = fresh.subscribeLogs((entry) => entries.push(entry)); + const log = fresh.createLogger('FileOnly').child({ uin: 10001 }); + log.info('before'); + fresh.runWithRequestId(42, () => log.debug('password=secret file-only\x07')); + log.info('after'); + unsubscribe(); + + expect(entries.map((entry) => entry.message)).toEqual(['before', 'after']); + expect(entries[1]!.id).toBe(entries[0]!.id + 2); + expect(fresh.getLogSnapshot()).toEqual(entries); + expect(fileWrite).toHaveBeenCalledWith( + expect.stringMatching(/\[req#42\] password=\*\*\* file-only/), + 10001, + ); + expect(process.stdout.write).toHaveBeenCalledTimes(2); + expect(logger.getLogSnapshot()).toEqual([]); + }); +}); diff --git a/packages/common/tests/logger.test.ts b/packages/common/tests/logger.test.ts new file mode 100644 index 00000000..7ca9639a --- /dev/null +++ b/packages/common/tests/logger.test.ts @@ -0,0 +1,338 @@ +import { afterAll, afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; + +const { externalFileLevel, externalLogLevel, fileWriteSpy } = vi.hoisted(() => { + const savedFileLevel = process.env.SNOWLUMA_LOG_FILE_LEVEL; + const savedLogLevel = process.env.SNOWLUMA_LOG_LEVEL; + delete process.env.SNOWLUMA_LOG_FILE_LEVEL; + delete process.env.SNOWLUMA_LOG_LEVEL; + return { + externalFileLevel: savedFileLevel, + externalLogLevel: savedLogLevel, + fileWriteSpy: vi.fn(), + }; +}); + +// Capture file transport writes via a spy so tests can assert on what reaches +// the file. +vi.mock('../src/log-file-transport', () => ({ + getFileTransport: () => ({ write: fileWriteSpy, close: async () => {} }), +})); + +import { createLogger, subscribeLogs, type LogEntry } from '../src/logger'; + +// Regression for issue #162: a hook-reported garbage UIN (13-digit, timestamp +// shaped) produced a `[…]` tag wider than the fixed UIN slot, and the colored +// render path did `' '.repeat(slot - tagLen)` → RangeError: Invalid count value +// → uncaughtException. The padding must clamp at zero. +describe('logger UIN slot padding', () => { + let prevTTY: boolean | undefined; + let prevNoColor: string | undefined; + + beforeEach(() => { + prevTTY = process.stdout.isTTY; + prevNoColor = process.env.NO_COLOR; + // Force the colored render path (the only one that used .repeat()). + (process.stdout as unknown as { isTTY: boolean }).isTTY = true; + delete process.env.NO_COLOR; + vi.spyOn(process.stdout, 'write').mockReturnValue(true); + vi.spyOn(process.stderr, 'write').mockReturnValue(true); + }); + + afterEach(() => { + (process.stdout as unknown as { isTTY: boolean | undefined }).isTTY = prevTTY; + + if (prevNoColor === undefined) { + delete process.env.NO_COLOR; + } else { + process.env.NO_COLOR = prevNoColor; + } + + vi.restoreAllMocks(); + }); + + it('does not throw when the UIN tag exceeds the slot width', () => { + const log = createLogger('Test').child({ uin: '1701414379536' }); // 13-digit → [..] = 15 chars + expect(() => log.info('phantom account line')).not.toThrow(); + expect(() => log.error('phantom error line')).not.toThrow(); + }); + + it('still renders a normal-width UIN and a no-UIN logger', () => { + expect(() => createLogger('Test').child({ uin: '10001' }).info('ok')).not.toThrow(); + expect(() => createLogger('Test').info('no uin')).not.toThrow(); + }); + + it('does not throw when the console stream cannot accept the line', () => { + vi.mocked(process.stderr.write).mockImplementation(() => { + throw Object.assign(new Error('ENOSPC: no space left on device'), { code: 'ENOSPC' }); + }); + expect(() => createLogger('Test').error('disk is full')).not.toThrow(); + }); + + it('keeps structured subscriber lines plain while terminal output stays colored', () => { + const captured: LogEntry[] = []; + const unsubscribe = subscribeLogs((entry) => captured.push(entry)); + + createLogger('WebUI.Export').info('download me'); + unsubscribe(); + + expect(captured).toHaveLength(1); + expect(captured[0]!.line).toMatch(/INFO\s+\[WebUI\.Export\] download me$/); + expect(process.stdout.write).toHaveBeenCalledWith(expect.stringContaining('\x1b[')); + }); +}); + +// ─── Independent file-level filtering ───────────────────────────────────── + +const SAVED_FILE_LEVEL = externalFileLevel; + +async function loadLoggerForFileLevel(level?: string) { + if (level === undefined) { + delete process.env.SNOWLUMA_LOG_FILE_LEVEL; + } else { + process.env.SNOWLUMA_LOG_FILE_LEVEL = level; + } + + vi.resetModules(); + fileWriteSpy.mockClear(); + return import('../src/logger'); +} + +afterEach(() => { + if (SAVED_FILE_LEVEL === undefined) { + delete process.env.SNOWLUMA_LOG_FILE_LEVEL; + } else { + process.env.SNOWLUMA_LOG_FILE_LEVEL = SAVED_FILE_LEVEL; + } + + vi.resetModules(); + fileWriteSpy.mockClear(); +}); + +afterAll(() => { + if (SAVED_FILE_LEVEL === undefined) { + delete process.env.SNOWLUMA_LOG_FILE_LEVEL; + } else { + process.env.SNOWLUMA_LOG_FILE_LEVEL = SAVED_FILE_LEVEL; + } + + if (externalLogLevel === undefined) { + delete process.env.SNOWLUMA_LOG_LEVEL; + } else { + process.env.SNOWLUMA_LOG_LEVEL = externalLogLevel; + } +}); + +describe('file output gating', () => { + const cases = [ + { level: undefined, expected: ['debug', 'info', 'success', 'warn', 'error'] }, + { level: 'debug', expected: ['debug', 'info', 'success', 'warn', 'error'] }, + { level: 'info', expected: ['info', 'success', 'warn', 'error'] }, + { level: 'success', expected: ['success', 'warn', 'error'] }, + { level: 'warn', expected: ['warn', 'error'] }, + { level: 'error', expected: ['error'] }, + ] as const; + + for (const testCase of cases) { + it(`writes exactly the enabled levels for ${testCase.level ?? 'the default'}`, async () => { + const fresh = await loadLoggerForFileLevel(testCase.level); + const log = fresh.createLogger('Test'); + + fresh.setLogLevel('trace'); + log.trace('trace'); + log.debug('debug'); + log.info('info'); + log.success('success'); + log.warn('warn'); + log.error('error'); + + const messages = fileWriteSpy.mock.calls.map(([line]) => + String(line).split('] ').at(-1), + ); + expect(messages).toEqual(testCase.expected); + }); + } + + it('accepts surrounding whitespace and mixed case', async () => { + const fresh = await loadLoggerForFileLevel(' INFO '); + const log = fresh.createLogger('Test'); + + log.debug('debug'); + log.info('info'); + + expect(fileWriteSpy).toHaveBeenCalledTimes(1); + expect(fileWriteSpy).toHaveBeenCalledWith(expect.stringContaining('info'), undefined); + }); + + it.each(['trace', 'verbose', 'erorr'])( + 'rejects unsupported file level %s at startup', + async (level) => { + await expect(loadLoggerForFileLevel(level)).rejects.toThrow( + 'SNOWLUMA_LOG_FILE_LEVEL must be one of: debug, info, success, warn, error', + ); + expect(fileWriteSpy).not.toHaveBeenCalled(); + }, + ); + + it('does not let the runtime console level change file output', async () => { + const fresh = await loadLoggerForFileLevel('info'); + const log = fresh.createLogger('Test'); + + fresh.setLogLevel('error'); + log.info('persisted-info'); + fresh.setLogLevel('trace'); + log.debug('filtered-debug'); + + expect(fileWriteSpy).toHaveBeenCalledTimes(1); + expect(fileWriteSpy).toHaveBeenCalledWith( + expect.stringContaining('persisted-info'), + undefined, + ); + }); + + it('skips rendering when both console and file filters reject a record', async () => { + const fresh = await loadLoggerForFileLevel('error'); + fresh.setLogLevel('error'); + const rendered = vi.fn(() => 'expensive'); + const value = { [Symbol.toPrimitive]: rendered }; + + fresh.createLogger('Test').debug('value=%s', value); + + expect(rendered).not.toHaveBeenCalled(); + expect(fileWriteSpy).not.toHaveBeenCalled(); + }); + + it('keeps trace out of files in an explicit file-threshold check', async () => { + const fresh = await loadLoggerForFileLevel('debug'); + fresh.setLogLevel('trace'); + + fresh.createLogger('Test').trace('full chain'); + + expect(fileWriteSpy).not.toHaveBeenCalled(); + }); + + it('redacts authentication assignments from ordinary logs but not TRACE', async () => { + const fresh = await loadLoggerForFileLevel('debug'); + fresh.setLogLevel('trace'); + const entries: LogEntry[] = []; + const unsubscribe = fresh.subscribeLogs((entry) => entries.push(entry)); + const log = fresh.createLogger('Test'); + + log.info( + 'password=%s Authorization: Bearer %s Cookie=%s token=%s safe=%s', + 'ordinary-password', + 'ordinary-authorization', + 'ordinary-cookie', + 'ordinary-token', + 'visible', + ); + log.trace( + 'password=%s Authorization: Bearer %s Cookie=%s token=%s', + 'trace-password', + 'trace-authorization', + 'trace-cookie', + 'trace-token', + ); + log.info( + `json={"authorization":"Basic json-auth"} object={ 'api-key': 'api-secret' } Authorization: Basic header-auth Cookie=session=cookie-secret; Path=/; HttpOnly`, + ); + log.info( + 'headers.authorization=Basic dotted-auth request.token=dotted-token ' + + 'GET /callback?access_token=query-secret&x=1 ' + + 'url=https://host/?api_key=url-secret', + ); + log.info( + 'Authorization: Digest username="alice", response="digest-secret"\n' + + 'authorization=AWS4-HMAC-SHA256 Credential=AKID, Signature=aws-secret', + ); + log.info( + 'authToken=camel-auth idToken=camel-id clientSecret=camel-client ' + + `json={"userPassword":"camel-password"}`, + ); + log.info('_token=underscore-secret --password=cli-secret 2faToken=two-factor-secret'); + log.info('Authorization: *** marker-secret'); + log.trace( + `json={"authorization":"Basic trace-json-auth"} Authorization: Basic trace-header-auth Cookie=session=trace-cookie; Path=/`, + ); + unsubscribe(); + + const ordinaryEntries = entries.filter((entry) => entry.level === 'info'); + const ordinary = ordinaryEntries.map((entry) => entry.message).join('\n'); + expect(ordinary).toContain('password=***'); + expect(ordinary).toContain('Authorization: ***'); + expect(ordinary).toContain('Cookie=***'); + expect(ordinary).toContain('token=***'); + expect(ordinary).toContain('headers.authorization=***'); + expect(ordinary).toContain('request.token=***'); + expect(ordinary).toContain('/callback?access_token=***&x=1'); + expect(ordinary).toContain('https://host/?api_key=***'); + expect(ordinary).toContain('Authorization: ***\nauthorization=***'); + expect(ordinary).toContain('authToken=***'); + expect(ordinary).toContain('idToken=***'); + expect(ordinary).toContain('clientSecret=***'); + expect(ordinary).toContain(`json={"userPassword":***}`); + expect(ordinary).toContain('_token=***'); + expect(ordinary).toContain('--password=***'); + expect(ordinary).toContain('2faToken=***'); + expect(ordinary).toContain('Authorization: ***'); + expect(ordinary).toContain('safe=visible'); + expect(ordinary).not.toMatch( + /ordinary-password|ordinary-authorization|ordinary-cookie|ordinary-token|json-auth|api-secret|header-auth|cookie-secret|dotted-auth|dotted-token|query-secret|url-secret|digest-secret|AKID|aws-secret|camel-auth|camel-id|camel-client|camel-password|underscore-secret|cli-secret|two-factor-secret|marker-secret/, + ); + + const trace = entries + .filter((entry) => entry.level === 'trace') + .map((entry) => entry.message) + .join('\n'); + expect(trace).toContain('trace-password'); + expect(trace).toContain('trace-authorization'); + expect(trace).toContain('trace-cookie'); + expect(trace).toContain('trace-token'); + expect(trace).toContain('trace-json-auth'); + expect(trace).toContain('trace-header-auth'); + + const persisted = fileWriteSpy.mock.calls.map(([line]) => String(line)).join('\n'); + expect(persisted).not.toMatch( + /ordinary-password|ordinary-authorization|ordinary-cookie|ordinary-token|json-auth|api-secret|header-auth|cookie-secret|dotted-auth|dotted-token|query-secret|url-secret|digest-secret|AKID|aws-secret|trace-password|trace-json-auth/, + ); + }); + + it('returns the complete retained normal and TRACE snapshot in record order', async () => { + const fresh = await loadLoggerForFileLevel('debug'); + const log = fresh.createLogger('Export'); + fresh.setLogLevel('trace'); + + log.info('normal-before'); + log.trace('trace-hex=001122aabbcc'); + log.warn('normal-after'); + + expect(fresh.getRecentLogs(1).map((entry) => entry.message)).toEqual(['normal-after']); + expect(fresh.getLogSnapshot().map((entry) => entry.message)).toEqual([ + 'normal-before', + 'trace-hex=001122aabbcc', + 'normal-after', + ]); + }); + + it('prints bootstrap credentials only to the current process terminal', async () => { + const fresh = await loadLoggerForFileLevel('error'); + fresh.setLogLevel('error'); + const entries: LogEntry[] = []; + const unsubscribe = fresh.subscribeLogs((entry) => entries.push(entry)); + const snapshotBefore = fresh.getLogSnapshot(); + const stdout = vi.spyOn(process.stdout, 'write').mockReturnValue(true); + + try { + fresh.logInitialWebuiCredentials('secret'); + + expect(stdout).toHaveBeenCalledWith( + expect.stringContaining('initial credentials: user=admin password=secret'), + ); + expect(entries).toEqual([]); + expect(fresh.getLogSnapshot()).toEqual(snapshotBefore); + expect(fileWriteSpy).not.toHaveBeenCalled(); + } finally { + unsubscribe(); + stdout.mockRestore(); + } + }); +}); diff --git a/packages/common/tests/request-context.test.ts b/packages/common/tests/request-context.test.ts new file mode 100644 index 00000000..98b4839f --- /dev/null +++ b/packages/common/tests/request-context.test.ts @@ -0,0 +1,34 @@ +import { describe, expect, it } from 'vitest'; +import { currentRequestId, nextRequestId, runWithRequestId } from '../src/request-context'; + +describe('request-context', () => { + it('nextRequestId increments monotonically and stays a positive integer', () => { + const a = nextRequestId(); + const b = nextRequestId(); + expect(a).toBeGreaterThan(0); + expect(b).toBe(a + 1); + }); + + it('runWithRequestId binds the id across sync + async, with nested scopes restoring', async () => { + expect(currentRequestId()).toBeUndefined(); + + runWithRequestId(42, () => { + expect(currentRequestId()).toBe(42); + runWithRequestId(99, () => { + expect(currentRequestId()).toBe(99); + }); + expect(currentRequestId()).toBe(42); // outer scope restored after the nested one + }); + + expect(currentRequestId()).toBeUndefined(); // cleared outside any scope + + await runWithRequestId(7, async () => { + await Promise.resolve(); + expect(currentRequestId()).toBe(7); // survives awaits in the same async chain + }); + }); + + it('returns the callback result', () => { + expect(runWithRequestId(1, () => 'value')).toBe('value'); + }); +}); diff --git a/packages/common/tests/runtime.test.ts b/packages/common/tests/runtime.test.ts new file mode 100644 index 00000000..c53413e0 --- /dev/null +++ b/packages/common/tests/runtime.test.ts @@ -0,0 +1,229 @@ +import fs from 'node:fs'; +import path from 'node:path'; +import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest'; +import { normalizeRuntimeConfig, resolveRuntimeEnvOverrides } from '../src/runtime'; + +describe('normalizeRuntimeConfig', () => { + it('applies all defaults for an empty object', () => { + expect(normalizeRuntimeConfig({})).toEqual({ + webuiPort: 5099, + hookAutoLoad: false, + webuiHost: '127.0.0.1', + webuiTls: { enabled: false }, + trustProxy: '', + logMaxTotalMb: 1024, + logRetainDays: 7, + logPerUin: false, + }); + }); + + it('passes through valid values', () => { + expect( + normalizeRuntimeConfig({ + webuiPort: 8080, + hookAutoLoad: true, + webuiHost: '127.0.0.1', + webuiTls: { enabled: true }, + trustProxy: '1', + logMaxTotalMb: 2048, + logRetainDays: 0, + logPerUin: true, + }), + ).toEqual({ + webuiPort: 8080, + hookAutoLoad: true, + webuiHost: '127.0.0.1', + webuiTls: { enabled: true }, + trustProxy: '1', + logMaxTotalMb: 2048, + logRetainDays: 0, + logPerUin: true, + }); + }); + + it('falls back on invalid types', () => { + const out = normalizeRuntimeConfig({ + webuiPort: 0, // out of range → default + webuiHost: 123, // non-string → default + webuiTls: 'yes', // non-object → default + trustProxy: 5, // non-string → default + }); + expect(out.webuiPort).toBe(5099); + expect(out.webuiHost).toBe('127.0.0.1'); + expect(out.webuiTls).toEqual({ enabled: false }); + expect(out.trustProxy).toBe(''); + }); + + it('fails fast on invalid persisted log settings', () => { + expect(() => normalizeRuntimeConfig({ logMaxTotalMb: 0 })).toThrow(/logMaxTotalMb/); + expect(() => normalizeRuntimeConfig({ logRetainDays: -1 })).toThrow(/logRetainDays/); + expect(() => normalizeRuntimeConfig({ logPerUin: 'maybe' })).toThrow(/logPerUin/); + expect(() => normalizeRuntimeConfig({ logPerUin: '' })).toThrow(/logPerUin/); + expect(() => normalizeRuntimeConfig({ logMaxTotalMb: Number.MAX_SAFE_INTEGER })).toThrow( + /logMaxTotalMb/, + ); + expect(() => normalizeRuntimeConfig({ logRetainDays: Number.MAX_SAFE_INTEGER })).toThrow( + /logRetainDays/, + ); + }); + + it('coerces webuiTls.enabled loosely and trims a blank host to default', () => { + expect(normalizeRuntimeConfig({ webuiTls: { enabled: 1 } }).webuiTls).toEqual({ + enabled: true, + }); + expect(normalizeRuntimeConfig({ webuiHost: ' ' }).webuiHost).toBe('127.0.0.1'); + }); + + it('rejects a non-object input back to full defaults', () => { + expect(normalizeRuntimeConfig(null).webuiPort).toBe(5099); + expect(normalizeRuntimeConfig('nope').webuiHost).toBe('127.0.0.1'); + }); +}); + +describe('resolveRuntimeEnvOverrides', () => { + it('returns empty when no SNOWLUMA_* vars are set', () => { + expect(resolveRuntimeEnvOverrides({})).toEqual({}); + }); + + it('parses port / host / trustProxy from env', () => { + expect( + resolveRuntimeEnvOverrides({ + SNOWLUMA_WEBUI_PORT: '6700', + SNOWLUMA_WEBUI_HOST: '127.0.0.1', + SNOWLUMA_WEBUI_TRUST_PROXY: '1', + }), + ).toEqual({ webuiPort: 6700, webuiHost: '127.0.0.1', trustProxy: '1' }); + }); + + it('parses log storage overrides including retainDays=0', () => { + expect( + resolveRuntimeEnvOverrides({ + SNOWLUMA_LOG_MAX_TOTAL_MB: '4096', + SNOWLUMA_LOG_RETAIN_DAYS: '0', + SNOWLUMA_LOG_PER_UIN: '1', + }), + ).toEqual({ + logMaxTotalMb: 4096, + logRetainDays: 0, + logPerUin: true, + }); + }); + + it('fails fast on invalid log storage overrides', () => { + expect(() => + resolveRuntimeEnvOverrides({ + SNOWLUMA_LOG_MAX_TOTAL_MB: '0', + }), + ).toThrow(/SNOWLUMA_LOG_MAX_TOTAL_MB/); + expect(() => + resolveRuntimeEnvOverrides({ + SNOWLUMA_LOG_RETAIN_DAYS: '-1', + }), + ).toThrow(/SNOWLUMA_LOG_RETAIN_DAYS/); + expect(() => + resolveRuntimeEnvOverrides({ + SNOWLUMA_LOG_PER_UIN: 'maybe', + }), + ).toThrow(/SNOWLUMA_LOG_PER_UIN/); + }); + + it('fails fast when converted log storage overrides would be unsafe', () => { + expect(() => + resolveRuntimeEnvOverrides({ + SNOWLUMA_LOG_MAX_TOTAL_MB: String(Number.MAX_SAFE_INTEGER), + }), + ).toThrow(/SNOWLUMA_LOG_MAX_TOTAL_MB/); + expect(() => + resolveRuntimeEnvOverrides({ + SNOWLUMA_LOG_RETAIN_DAYS: String(Number.MAX_SAFE_INTEGER), + }), + ).toThrow(/SNOWLUMA_LOG_RETAIN_DAYS/); + }); + + it('parses SNOWLUMA_WEBUI_TLS over the saved switch', () => { + expect(resolveRuntimeEnvOverrides({ SNOWLUMA_WEBUI_TLS: '1' })).toEqual({ + webuiTls: { enabled: true }, + }); + expect(resolveRuntimeEnvOverrides({ SNOWLUMA_WEBUI_TLS: '0' })).toEqual({ + webuiTls: { enabled: false }, + }); + expect(() => resolveRuntimeEnvOverrides({ SNOWLUMA_WEBUI_TLS: 'maybe' })).toThrow( + /SNOWLUMA_WEBUI_TLS/, + ); + }); + + it('ignores an out-of-range / non-numeric port env', () => { + expect(resolveRuntimeEnvOverrides({ SNOWLUMA_WEBUI_PORT: '0' })).toEqual({}); + expect(resolveRuntimeEnvOverrides({ SNOWLUMA_WEBUI_PORT: 'abc' })).toEqual({}); + }); + + it('treats trustProxy="0"/"off" as a real override (not absent)', () => { + expect(resolveRuntimeEnvOverrides({ SNOWLUMA_WEBUI_TRUST_PROXY: '0' })).toEqual({ + trustProxy: '0', + }); + }); +}); + +describe('updateRuntimeConfig (fs)', () => { + let prevCwd: string; + let dir: string; + let prevPortEnv: string | undefined; + beforeEach(async () => { + const fs = await import('fs'); + const os = await import('os'); + const path = await import('path'); + dir = fs.mkdtempSync(path.join(os.tmpdir(), 'sl-rt-')); + prevCwd = process.cwd(); + process.chdir(dir); + prevPortEnv = process.env.SNOWLUMA_WEBUI_PORT; + delete process.env.SNOWLUMA_WEBUI_PORT; + }); + afterEach(async () => { + process.chdir(prevCwd); + + if (prevPortEnv === undefined) { + delete process.env.SNOWLUMA_WEBUI_PORT; + } else { + process.env.SNOWLUMA_WEBUI_PORT = prevPortEnv; + } + + fs.rmSync(dir, { recursive: true, force: true }); + vi.restoreAllMocks(); + }); + + it('merges a patch over on-disk values and persists normalized', async () => { + const { updateRuntimeConfig } = await import('../src/runtime'); + const fs = await import('fs'); + const path = await import('path'); + const out = updateRuntimeConfig({ webuiHost: '127.0.0.1', webuiTls: { enabled: true } }); + expect(out.webuiHost).toBe('127.0.0.1'); + expect(out.webuiTls).toEqual({ enabled: true }); + const onDisk = JSON.parse(fs.readFileSync(path.join('config', 'runtime.json'), 'utf8')); + expect(onDisk.webuiHost).toBe('127.0.0.1'); + expect(onDisk.webuiTls).toEqual({ enabled: true }); + }); + + it('does NOT bake an env-overridden port into the persisted file', async () => { + const { updateRuntimeConfig } = await import('../src/runtime'); + const fs = await import('fs'); + const path = await import('path'); + process.env.SNOWLUMA_WEBUI_PORT = '9999'; + updateRuntimeConfig({ webuiHost: '127.0.0.1' }); + const onDisk = JSON.parse(fs.readFileSync(path.join('config', 'runtime.json'), 'utf8')); + expect(onDisk.webuiPort).toBe(5099); // default on-disk, NOT the env 9999 + }); + + it('keeps the previous runtime file intact when atomic replacement fails', async () => { + const { updateRuntimeConfig } = await import('../src/runtime'); + updateRuntimeConfig({ logRetainDays: 7 }); + const runtimePath = path.join('config', 'runtime.json'); + const before = fs.readFileSync(runtimePath, 'utf8'); + vi.spyOn(fs, 'renameSync').mockImplementationOnce(() => { + throw Object.assign(new Error('disk replacement failed'), { code: 'EIO' }); + }); + + expect(() => updateRuntimeConfig({ logRetainDays: 0 })).toThrow(/disk replacement failed/); + expect(fs.readFileSync(runtimePath, 'utf8')).toBe(before); + expect(fs.readdirSync('config').filter((name) => name.includes('.tmp-'))).toEqual([]); + }); +}); diff --git a/packages/common/tests/semver.test.ts b/packages/common/tests/semver.test.ts new file mode 100644 index 00000000..c9840084 --- /dev/null +++ b/packages/common/tests/semver.test.ts @@ -0,0 +1,73 @@ +import { describe, expect, it } from 'vitest'; +import { compareVersions, parseVersion } from '../src/semver'; + +describe('parseVersion', () => { + it.each([ + '0.0.0', + '1.2.3', + '1.2.3-rc.1', + '1.2.3-alpha-beta', + '1.2.3+001.build', + '1.2.3-rc.1+build.2', + ])('accepts canonical SemVer and preserves its full value: %s', (version) => { + expect(parseVersion(version)?.raw).toBe(version); + }); + + it.each([ + undefined, + null, + 123, + {}, + '', + '1.2', + '1.2.3.4', + '1.2.x', + '01.2.3', + '1.02.3', + '1.2.03', + '1.2.3-01', + '1.2.3-rc.01', + '1.2.3-rc..1', + '1.2.3-rc_1', + '1.2.3+build..1', + '1.2.3+build_1', + 'v1.2.3', + 'V1.2.3', + '=1.2.3', + ' 1.2.3', + '1.2.3\n', + ])('rejects noncanonical input without coercion: %j', (version) => { + expect(parseVersion(version)).toBeNull(); + }); +}); + +describe('compareVersions', () => { + it.each([ + ['1.2.3', '1.2.3', 0], + ['1.2.4', '1.2.3', 1], + ['1.2.3', '1.2.4', -1], + ['1.10.0', '1.9.0', 1], + ['2.0.0', '1.9.9', 1], + ['3.0.0', '1.0.0', 1], + ['1.0.0', '3.0.0', -1], + ['1.2.3', '1.2.3-rc.1', 1], + ['1.2.3-rc.1', '1.2.3', -1], + ['1.2.3-rc.1', '1.2.3-rc.1', 0], + ['1.2.3-rc.1', '1.2.3-rc.2', -1], + ['1.2.3-rc.2', '1.2.3-rc.1', 1], + ['1.2.3-rc.10', '1.2.3-rc.2', 1], + ['1.2.3-rc.1+build.2', '1.2.3-rc.1+build.1', 0], + ['1.2.3-alpha-beta', '1.2.3-alpha', 1], + ['2.0.0-rc.1', '1.9.9', 1], + ] as const)('compareVersions(%j, %j) === %s', (a, b, expected) => { + expect(compareVersions(a, b)).toBe(expected); + }); + + it.each(['1.2', '1.2.3.9', '1.2.x', '', 'v1.2.3', 'V1.2.3', '01.2.3', '1.2.3-rc.01'])( + 'rejects invalid versions instead of guessing: %j', + (version) => { + expect(() => compareVersions(version, '1.2.3')).toThrow(); + expect(() => compareVersions('1.2.3', version)).toThrow(); + }, + ); +}); diff --git a/packages/common/tests/single-flight-cache.test.ts b/packages/common/tests/single-flight-cache.test.ts new file mode 100644 index 00000000..d4d6c1ab --- /dev/null +++ b/packages/common/tests/single-flight-cache.test.ts @@ -0,0 +1,327 @@ +import { afterEach, describe, it, expect, vi } from 'vitest'; +import { createSingleFlightCache } from '../src/single-flight-cache'; + +/** A promise whose resolve/reject is exposed, for driving single-flight races. */ +function deferred() { + let resolve!: (v: T) => void; + let reject!: (e: unknown) => void; + const promise = new Promise((res, rej) => { + resolve = res; + reject = rej; + }); + return { promise, resolve, reject }; +} + +describe('SingleFlightCache', () => { + afterEach(() => { + vi.useRealTimers(); + }); + + it('disposes retained values and rejects new reads without restarting loads or timers', async () => { + vi.useFakeTimers(); + const load = vi.fn(async (key: string) => ({ key })); + const cache = createSingleFlightCache({ ttlMs: 300_000, load }); + await cache.get('first'); + await cache.get('second'); + expect(vi.getTimerCount()).toBe(1); + + cache.dispose(); + cache.dispose(); + cache.clear(); + + expect(cache.size).toBe(0); + expect(vi.getTimerCount()).toBe(0); + await expect(cache.get('first')).rejects.toThrow('disposed'); + await expect(cache.get('new', { force: true })).rejects.toThrow('disposed'); + expect(load).toHaveBeenCalledTimes(2); + }); + + it.each(['resolve', 'reject'] as const)( + 'preserves a pending %s after disposal without retaining the result', + async (outcome) => { + vi.useFakeTimers(); + const pending = deferred(); + const cache = createSingleFlightCache({ ttlMs: 300_000, load: () => pending.promise }); + const first = cache.get('key'); + expect(cache.get('key')).toBe(first); + cache.dispose(); + + if (outcome === 'resolve') { + pending.resolve('late value'); + await expect(first).resolves.toBe('late value'); + } else { + pending.reject(new Error('late failure')); + await expect(first).rejects.toThrow('late failure'); + } + + expect(cache.size).toBe(0); + expect(vi.getTimerCount()).toBe(0); + }, + ); + + it('releases expired values while idle without expiring newer values early', async () => { + vi.useFakeTimers(); + const load = vi.fn(async (key: string) => ({ key })); + const cache = createSingleFlightCache({ ttlMs: 1000, load }); + await cache.get('old'); + await vi.advanceTimersByTimeAsync(500); + const newer = await cache.get('new'); + + expect(cache.size).toBe(2); + await vi.advanceTimersByTimeAsync(500); + expect(cache.size).toBe(1); + expect(await cache.get('new')).toBe(newer); + expect(load).toHaveBeenCalledTimes(2); + + await vi.advanceTimersByTimeAsync(500); + expect(cache.size).toBe(0); + expect(vi.getTimerCount()).toBe(0); + }); + + it('keeps a refreshed entry until its new deadline and expires other keys', async () => { + vi.useFakeTimers(); + const cache = createSingleFlightCache({ ttlMs: 1000, load: async (key: string) => key }); + await cache.get('refreshed'); + await cache.get('old'); + await vi.advanceTimersByTimeAsync(500); + await cache.get('refreshed', { force: true }); + + await vi.advanceTimersByTimeAsync(500); + expect(cache.size).toBe(1); + await vi.advanceTimersByTimeAsync(500); + expect(cache.size).toBe(0); + }); + + it.each(['invalidate', 'clear'] as const)( + '%s cancels idle cleanup when the last value is removed', + async (operation) => { + vi.useFakeTimers(); + const cache = createSingleFlightCache({ ttlMs: 1000, load: async () => 'value' }); + await cache.get('key'); + expect(vi.getTimerCount()).toBe(1); + cache[operation]('key'); + expect(cache.size).toBe(0); + expect(vi.getTimerCount()).toBe(0); + + await cache.get('key'); + await vi.advanceTimersByTimeAsync(1000); + expect(cache.size).toBe(0); + }, + ); + + it('does not let expiration detach a pending refresh', async () => { + vi.useFakeTimers(); + const pending = deferred(); + const load = vi.fn().mockResolvedValueOnce('old').mockReturnValue(pending.promise); + const cache = createSingleFlightCache({ ttlMs: 1000, load }); + await cache.get('key'); + const refresh = cache.get('key', { force: true }); + await vi.advanceTimersByTimeAsync(1000); + + expect(cache.size).toBe(0); + expect(cache.get('key')).toBe(refresh); + pending.resolve('new'); + await expect(refresh).resolves.toBe('new'); + expect(cache.size).toBe(1); + expect(load).toHaveBeenCalledTimes(2); + await vi.advanceTimersByTimeAsync(1000); + expect(cache.size).toBe(0); + }); + + it('does not retain values when caching is disabled by a zero TTL', async () => { + vi.useFakeTimers(); + const cache = createSingleFlightCache({ ttlMs: 0, load: async () => 'value' }); + await expect(cache.get('key')).resolves.toBe('value'); + expect(cache.size).toBe(0); + expect(vi.getTimerCount()).toBe(0); + }); + + it.each(['invalidate', 'clear'] as const)( + '%s detaches pending loads from the cache', + async (operation) => { + const old = deferred(); + const current = deferred(); + const load = vi + .fn() + .mockReturnValueOnce(old.promise) + .mockReturnValueOnce(current.promise); + const cache = createSingleFlightCache({ ttlMs: 1000, load }); + const first = cache.get('key'); + + cache[operation]('key'); + const second = cache.get('key'); + expect(load).toHaveBeenCalledTimes(2); + + old.resolve('old'); + await expect(first).resolves.toBe('old'); + expect(cache.get('key')).toBe(second); + + current.resolve('current'); + await expect(second).resolves.toBe('current'); + await expect(cache.get('key')).resolves.toBe('current'); + expect(load).toHaveBeenCalledTimes(2); + }, + ); + + it('does not let a late invalidated result overwrite a newer value', async () => { + const old = deferred(); + const load = vi.fn().mockReturnValueOnce(old.promise).mockResolvedValue('current'); + const cache = createSingleFlightCache({ ttlMs: 1000, load }); + const first = cache.get('key'); + cache.invalidate('key'); + + await expect(cache.get('key')).resolves.toBe('current'); + old.resolve('old'); + await first; + await expect(cache.get('key')).resolves.toBe('current'); + }); + + it('caches within the TTL and reloads once expired', async () => { + let clock = 1000; + const load = vi.fn(async (k: string) => `${k}@${clock}`); + const cache = createSingleFlightCache({ + ttlMs: 100, + load, + now: () => clock, + }); + + expect(await cache.get('a')).toBe('a@1000'); + clock = 1050; // still fresh (< 100) + expect(await cache.get('a')).toBe('a@1000'); + expect(load).toHaveBeenCalledTimes(1); + + clock = 1101; // 101ms since store → expired + expect(await cache.get('a')).toBe('a@1101'); + expect(load).toHaveBeenCalledTimes(2); + }); + + it('de-dupes concurrent callers onto a single load (single-flight)', async () => { + const d = deferred(); + const load = vi.fn(() => d.promise); + const cache = createSingleFlightCache({ ttlMs: 1000, load }); + + const p1 = cache.get('k'); + const p2 = cache.get('k'); + const p3 = cache.get('k'); + expect(load).toHaveBeenCalledTimes(1); // only one load in flight + + d.resolve('v'); + expect(await Promise.all([p1, p2, p3])).toEqual(['v', 'v', 'v']); + expect(load).toHaveBeenCalledTimes(1); + }); + + it('keys independently — different keys load separately', async () => { + const load = vi.fn(async (k: number) => k * 2); + const cache = createSingleFlightCache({ ttlMs: 1000, load }); + expect(await cache.get(1)).toBe(2); + expect(await cache.get(2)).toBe(4); + expect(load).toHaveBeenCalledTimes(2); + }); + + it('force bypasses the freshness check but still joins an in-flight load', async () => { + let clock = 0; + const load = vi.fn(async (k: string) => `${k}@${clock}`); + const cache = createSingleFlightCache({ + ttlMs: 10_000, + load, + now: () => clock, + }); + + expect(await cache.get('a')).toBe('a@0'); // 1 load, cached fresh + clock = 5; // still fresh + expect(await cache.get('a', { force: true })).toBe('a@5'); // force → reload despite fresh + expect(load).toHaveBeenCalledTimes(2); + + // force still single-flights: two concurrent forced gets share one load. + const d = deferred(); + load.mockImplementationOnce(() => d.promise); + const p1 = cache.get('a', { force: true }); + const p2 = cache.get('a', { force: true }); + expect(load).toHaveBeenCalledTimes(3); // not 4 + d.resolve('shared'); + expect(await Promise.all([p1, p2])).toEqual(['shared', 'shared']); + }); + + it('shouldCache=false leaves the entry uncached (next call reloads) but still de-dupes in-flight', async () => { + let n = 0; + const load = vi.fn(async () => ({ error: true as boolean, n: ++n })); + const cache = createSingleFlightCache({ + ttlMs: 10_000, + load, + shouldCache: (v) => !v.error, + }); + + // concurrent callers still share one load... + const [a, b] = await Promise.all([cache.get('k'), cache.get('k')]); + expect(a).toEqual({ error: true, n: 1 }); + expect(b).toEqual({ error: true, n: 1 }); + expect(load).toHaveBeenCalledTimes(1); + + // ...but nothing was cached, so the next call reloads. + expect(await cache.get('k')).toEqual({ error: true, n: 2 }); + expect(load).toHaveBeenCalledTimes(2); + + // a good result IS cached. + load.mockImplementationOnce(async () => ({ error: false, n: ++n })); + const good = await cache.get('k'); + expect(good).toEqual({ error: false, n: 3 }); + expect(await cache.get('k')).toEqual({ error: false, n: 3 }); // served from cache + expect(load).toHaveBeenCalledTimes(3); + }); + + it('a rejected load propagates to all joined callers, is not cached, and clears in-flight', async () => { + let attempt = 0; + const load = vi.fn(async () => { + attempt++; + + if (attempt === 1) { + throw new Error('boom'); + } + + return 'ok'; + }); + const cache = createSingleFlightCache({ ttlMs: 10_000, load }); + + const p1 = cache.get('k'); + const p2 = cache.get('k'); + await expect(p1).rejects.toThrow('boom'); + await expect(p2).rejects.toThrow('boom'); // same in-flight, same rejection + expect(load).toHaveBeenCalledTimes(1); + + // in-flight cleared + not cached → next call retries and succeeds. + expect(await cache.get('k')).toBe('ok'); + expect(load).toHaveBeenCalledTimes(2); + }); + + it('invalidate drops a cached entry; clear drops all', async () => { + const load = vi.fn(async (k: string) => k.toUpperCase()); + const cache = createSingleFlightCache({ ttlMs: 10_000, load }); + await cache.get('a'); + await cache.get('b'); + expect(load).toHaveBeenCalledTimes(2); + + cache.invalidate('a'); + await cache.get('a'); // reloads + await cache.get('b'); // still cached + expect(load).toHaveBeenCalledTimes(3); + + cache.clear(); + await cache.get('a'); + await cache.get('b'); + expect(load).toHaveBeenCalledTimes(5); + }); + + it('allows retry when a loader throws before returning its promise', async () => { + const load = vi + .fn<() => Promise>() + .mockImplementationOnce(() => { + throw new Error('failed before request'); + }) + .mockResolvedValue('recovered'); + const cache = createSingleFlightCache({ ttlMs: 1000, load }); + + await expect(cache.get('key')).rejects.toThrow('failed before request'); + await expect(cache.get('key')).resolves.toBe('recovered'); + expect(load).toHaveBeenCalledTimes(2); + }); +}); diff --git a/packages/common/tests/trace-contract.test.ts b/packages/common/tests/trace-contract.test.ts new file mode 100644 index 00000000..074c37aa --- /dev/null +++ b/packages/common/tests/trace-contract.test.ts @@ -0,0 +1,117 @@ +import { afterEach, describe, expect, it } from 'vitest'; +import { + createLogger, + currentRequestId, + getLogLevel, + nextRequestId, + renderTraceBytes, + runWithoutRequestContext, + runWithRequestId, + runWithTraceRequest, + setLogLevel, +} from '../src/logger'; + +const originalLevel = getLogLevel(); + +afterEach(() => { + setLogLevel(originalLevel); +}); + +describe('TRACE diagnostics contract', () => { + it('renders every byte as continuous lowercase hexadecimal', () => { + expect(renderTraceBytes(new Uint8Array())).toBe(''); + expect(renderTraceBytes(new Uint8Array([0x00, 0x01, 0x0f, 0x10, 0xff]))).toBe('00010f10ff'); + }); + + it('renders only the addressed Uint8Array view', () => { + const backing = new Uint8Array([0xaa, 0x00, 0x0f, 0xff, 0xbb]); + + expect(renderTraceBytes(backing.subarray(1, 4))).toBe('000fff'); + expect(renderTraceBytes(Buffer.from(backing.buffer).subarray(2, 4))).toBe('0fff'); + }); + + it('does not render bytes while TRACE is disabled', () => { + setLogLevel('info'); + let rendered = false; + + createLogger('Trace.Contract').trace(() => { + rendered = true; + return ['body=%s', renderTraceBytes(new Uint8Array([0xff]))]; + }); + + expect(rendered).toBe(false); + }); + + it('creates distinct request contexts that survive asynchronous work', async () => { + setLogLevel('info'); + const beforeDisabled = nextRequestId(); + expect(runWithTraceRequest(() => currentRequestId())).toBeUndefined(); + const afterDisabled = nextRequestId(); + expect(afterDisabled).toBe(beforeDisabled + 1); + + setLogLevel('trace'); + const observeContext = () => + runWithTraceRequest(async () => { + const before = currentRequestId(); + await Promise.resolve(); + const after = currentRequestId(); + expect(after).toBe(before); + return after; + }); + + const first = await observeContext(); + expect(currentRequestId()).toBeUndefined(); + const second = await observeContext(); + expect(currentRequestId()).toBeUndefined(); + + expect(first).toEqual(expect.any(Number)); + expect(first).toBeGreaterThan(0); + expect(second).toEqual(expect.any(Number)); + expect(second).toBeGreaterThan(0); + expect(second).not.toBe(first); + }); + + it('allocates once for nested TRACE contexts and reuses the request id', () => { + setLogLevel('trace'); + const before = nextRequestId(); + + const observed = runWithTraceRequest(() => { + const outer = currentRequestId(); + const inner = runWithTraceRequest(() => currentRequestId()); + return { outer, inner }; + }); + + const after = nextRequestId(); + expect(observed.outer).toEqual(expect.any(Number)); + expect(observed.inner).toBe(observed.outer); + expect(observed.outer).toBe(before + 1); + expect(after).toBe(before + 2); + expect(currentRequestId()).toBeUndefined(); + }); + + it('detaches long-lived resources from the current request context', async () => { + await runWithRequestId(4243, async () => { + expect(currentRequestId()).toBe(4243); + const detached = await runWithoutRequestContext(async () => { + expect(currentRequestId()).toBeUndefined(); + await Promise.resolve(); + return currentRequestId(); + }); + expect(detached).toBeUndefined(); + expect(currentRequestId()).toBe(4243); + }); + expect(currentRequestId()).toBeUndefined(); + }); + + it('reuses an existing request context even while TRACE is disabled', async () => { + setLogLevel('info'); + + await runWithRequestId(4242, async () => { + const observed = await runWithTraceRequest(async () => { + await Promise.resolve(); + return currentRequestId(); + }); + expect(observed).toBe(4242); + }); + }); +}); diff --git a/packages/common/tests/uin.test.ts b/packages/common/tests/uin.test.ts new file mode 100644 index 00000000..85e089b9 --- /dev/null +++ b/packages/common/tests/uin.test.ts @@ -0,0 +1,40 @@ +import { describe, expect, it } from 'vitest'; +import { isRealUin } from '../src/uin'; + +describe('isRealUin', () => { + it('accepts real QQ UINs (5..10 digits)', () => { + expect(isRealUin('10001')).toBe(true); // 5-digit floor + expect(isRealUin('123456789')).toBe(true); + expect(isRealUin('4294967295')).toBe(true); // uint32 max, 10 digits + }); + + it('rejects the empty string and "0"', () => { + expect(isRealUin('')).toBe(false); + expect(isRealUin('0')).toBe(false); + }); + + it('rejects too-short UINs (< 5 digits)', () => { + expect(isRealUin('1')).toBe(false); + expect(isRealUin('1234')).toBe(false); + }); + + it('rejects the garbage timestamp-shaped UINs from issue #162 (11+ digits)', () => { + expect(isRealUin('1701414379536')).toBe(false); // 13-digit ms timestamp + expect(isRealUin('1614019567632')).toBe(false); + expect(isRealUin('2014024115056')).toBe(false); + expect(isRealUin('12345678901')).toBe(false); // 11 digits — first rejected width + }); + + it('rejects non-digit strings (path traversal / injection guards)', () => { + expect(isRealUin('12345a')).toBe(false); + expect(isRealUin('12 345')).toBe(false); + expect(isRealUin('../etc')).toBe(false); + expect(isRealUin('123456\n')).toBe(false); + }); + + it('guarantees a BigInt-safe pure-digit string on accept', () => { + const uin = '123456789'; + expect(isRealUin(uin)).toBe(true); + expect(() => BigInt(uin)).not.toThrow(); + }); +}); diff --git a/packages/common/tests/update-source.test.ts b/packages/common/tests/update-source.test.ts new file mode 100644 index 00000000..1d18f530 --- /dev/null +++ b/packages/common/tests/update-source.test.ts @@ -0,0 +1,54 @@ +import { describe, expect, it } from 'vitest'; +import { normalizeMirrorUrl, normalizeUpdateSourceConfig } from '../src/update-source'; +import { normalizeRuntimeConfig } from '../src/runtime'; + +describe('update source configuration', () => { + it('normalizes proxy prefixes, deduplicates mirrors and retains order', () => { + expect( + normalizeUpdateSourceConfig({ + mode: 'auto', + mirror: '', + mirrors: [ + ' https://EXAMPLE.com/proxy/ ', + 'https://example.com/proxy', + 'https://other.example', + ], + }), + ).toEqual({ + mode: 'auto', + mirror: '', + mirrors: ['https://example.com/proxy', 'https://other.example'], + }); + }); + + it.each([ + '', + 'file:///tmp/x', + 'ftp://example.com', + 'https://user:secret@example.com', + 'https://example.com/?token=a', + 'https://example.com/#a', + null, + ])('rejects invalid mirror %s', (url) => { + expect(() => normalizeMirrorUrl(url)).toThrow(); + }); + + it.each([ + null, + [], + { mode: ['auto'], mirrors: [] }, + { mode: 'mirror', mirror: '', mirrors: [] }, + { mode: 'auto', mirrors: Array(17).fill('https://example.com') }, + ])('rejects invalid configuration %j', (config) => { + expect(() => normalizeUpdateSourceConfig(config)).toThrow(); + }); + + it('retains configured update sources when normalizing runtime settings', () => { + const updateSource = { mode: 'direct', mirror: '', mirrors: [] }; + expect(normalizeRuntimeConfig({ updateSource, webuiPort: 7777 })).toMatchObject({ + updateSource, + webuiPort: 7777, + }); + expect(normalizeRuntimeConfig({})).not.toHaveProperty('updateSource'); + }); +}); diff --git a/packages/common/tests/webui-target.test.ts b/packages/common/tests/webui-target.test.ts new file mode 100644 index 00000000..67578702 --- /dev/null +++ b/packages/common/tests/webui-target.test.ts @@ -0,0 +1,51 @@ +import { describe, expect, it } from 'vitest'; +import { + defaultWebuiPresentation, + injectWebuiTarget, + parseWebuiPresentation, + resolveWebuiTarget, +} from '../src/webui-target'; + +describe('deployment presentation contract', () => { + it('requires explicit opt-in and rejects misspelled deployments', () => { + expect(resolveWebuiTarget(undefined)).toBeNull(); + expect(resolveWebuiTarget(' ')).toBeNull(); + expect(resolveWebuiTarget('maibot')).toBe('maibot'); + expect(() => resolveWebuiTarget('mai-bot')).toThrow('SNOWLUMA_WEBUI_TARGET'); + expect(() => resolveWebuiTarget('__proto__')).toThrow('SNOWLUMA_WEBUI_TARGET'); + }); + + it('keeps the unconfigured document intact and injects before cached appearance', () => { + const html = ''; + expect(injectWebuiTarget(html, null)).toBe(html); + const injected = injectWebuiTarget(html, 'maibot'); + expect(injected.indexOf('snowluma-webui-target')).toBeLessThan( + injected.indexOf('readSavedAppearance'), + ); + expect(injected).toContain(JSON.stringify(defaultWebuiPresentation('maibot'))); + expect(() => injectWebuiTarget('broken html', 'maibot')).toThrow('missing '); + }); + + it('validates the version, target, style and color mode without accepting arbitrary CSS', () => { + const valid = defaultWebuiPresentation('maibot'); + expect(parseWebuiPresentation(valid)).toEqual(valid); + expect( + parseWebuiPresentation({ ...valid, mode: 'dark', css: 'body{display:none}' }), + ).toEqual({ ...valid, mode: 'dark' }); + expect(parseWebuiPresentation({ version: 1, target: null })).toEqual({ + version: 1, + target: null, + }); + + for (const input of [ + null, + {}, + { ...valid, version: 2 }, + { ...valid, target: 'other' }, + { ...valid, style: 'modern' }, + { ...valid, mode: 'blue' }, + ]) { + expect(() => parseWebuiPresentation(input)).toThrow(); + } + }); +}); diff --git a/packages/common/tsconfig.json b/packages/common/tsconfig.json new file mode 100644 index 00000000..4cd329d7 --- /dev/null +++ b/packages/common/tsconfig.json @@ -0,0 +1,13 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "types": ["node"], + "noEmit": true + }, + "include": [ + "src/**/*" + ], + "exclude": [ + "node_modules" + ] +} diff --git a/packages/common/vitest.config.ts b/packages/common/vitest.config.ts new file mode 100644 index 00000000..2a4a0dad --- /dev/null +++ b/packages/common/vitest.config.ts @@ -0,0 +1,10 @@ +// Vitest config for @snowluma/common. Pure-TS package (no proton), so a +// plain node-environment runner over tests/ is enough. +import { defineConfig } from 'vitest/config'; + +export default defineConfig({ + test: { + include: ['tests/**/*.test.ts'], + environment: 'node', + }, +}); diff --git a/packages/core/config/.gitignore b/packages/core/config/.gitignore new file mode 100644 index 00000000..1729ed6d --- /dev/null +++ b/packages/core/config/.gitignore @@ -0,0 +1,16 @@ +# Per-instance runtime state written by the dev server / production daemon. +# `runtime.json` is the only tracked file (the deploy-time overrides for +# webuiPort, hookAutoLoad, etc); everything else here is operator-private: +# * webui.json — admin password hash + rotation state +# * consent.json — EULA/PRIVACY acceptance per agreement version +# * notifications.json — per-account webhook destinations +# * onebot_.json — per-uin OneBot transport binding (HTTP/WS ports etc) +# * ui.json — WebUI panel layout per operator +# +# Without this ignore file, every `pnpm dev:mode` / `node dist/index.mjs` +# leaves a 5-file untracked surface in `packages/core/config/` that pollutes +# `git status` and would accidentally commit local creds if `git add -A` is used. + +* +!.gitignore +!runtime.json diff --git a/packages/core/config/runtime.json b/packages/core/config/runtime.json new file mode 100644 index 00000000..6be41d11 --- /dev/null +++ b/packages/core/config/runtime.json @@ -0,0 +1,3 @@ +{ + "webuiPort": 8080 +} \ No newline at end of file diff --git a/packages/core/package.json b/packages/core/package.json new file mode 100644 index 00000000..967a034a --- /dev/null +++ b/packages/core/package.json @@ -0,0 +1,70 @@ +{ + "license": "SEE LICENSE IN LICENSE", + "name": "@snowluma/core", + "version": "2.4.2", + "description": "SnowLuma core - NTQQ packet sniffer with Node.js native addon", + "private": true, + "type": "module", + "main": "../../dist/index.mjs", + "exports": { + ".": { + "types": "./src/index.ts", + "default": "../../dist/index.mjs" + }, + "./bridge": { + "types": "./src/bridge/bridge.ts", + "default": "./src/bridge/bridge.ts" + }, + "./bridge-interface": { + "types": "./src/bridge/bridge-interface.ts", + "default": "./src/bridge/bridge-interface.ts" + }, + "./bridge-context": { + "types": "./src/bridge/bridge-context.ts", + "default": "./src/bridge/bridge-context.ts" + }, + "./manager": { + "types": "./src/bridge/manager.ts", + "default": "./src/bridge/manager.ts" + }, + "./apis": { + "types": "./src/bridge/apis/index.ts", + "default": "./src/bridge/apis/index.ts" + } + }, + "scripts": { + "build": "vite build", + "build:all": "cross-env BUILD_WEBUI=true pnpm build", + "dev": "tsx src/index.ts", + "test": "vitest run", + "test:watch": "vitest", + "typecheck": "tsc --noEmit" + }, + "dependencies": { + "@snowluma/bridge": "workspace:*", + "@snowluma/common": "workspace:*", + "@snowluma/onebot": "workspace:*", + "@snowluma/proto-defs": "workspace:*", + "@snowluma/protocol": "workspace:*", + "@snowluma/proton": "workspace:*", + "@snowluma/websocket": "workspace:*", + "fflate": "^0.8.3", + "otpauth": "^9.5.1", + "tar": "^7.5.22" + }, + "devDependencies": { + "@hono/node-server": "^2.1.4", + "@types/node": "catalog:", + "cross-env": "^10.1.0", + "hono": "^4.13.11", + "tsx": "^4.21.0", + "typescript": "catalog:", + "vite": "catalog:", + "vite-plugin-cp": "^6.0.3", + "vitest": "4.1.12", + "@snowluma/sqlite": "workspace:*" + }, + "engines": { + "node": "^24.22.1 || >=26.12.1" + } +} diff --git a/packages/core/src/bridge/apis/collection.ts b/packages/core/src/bridge/apis/collection.ts new file mode 100644 index 00000000..17c26d1f --- /dev/null +++ b/packages/core/src/bridge/apis/collection.ts @@ -0,0 +1,28 @@ +import { GetPskey } from '@snowluma/protocol/oidb-services/web/get-pskey'; +import { getCollectionList, type CollectionListResult } from '@snowluma/protocol/web/collection'; +import type { BridgeContext } from '../bridge-context'; + +const COLLECTION_DOMAIN = 'weiyun.com'; + +/** Read-only access to the account's QQ collection list. */ +export class CollectionApi { + constructor(private readonly ctx: BridgeContext) {} + + async list(category = 0, count = 50): Promise { + const { domainPskeyMap } = await GetPskey.invoke(this.ctx, { + domainList: [COLLECTION_DOMAIN], + }); + const pskey = domainPskeyMap.get(COLLECTION_DOMAIN); + + if (!pskey) { + throw new Error(`QQ did not return a p_skey for ${COLLECTION_DOMAIN}`); + } + + return getCollectionList({ + uin: this.ctx.identity.uin, + pskey, + category, + count, + }); + } +} diff --git a/packages/core/src/bridge/apis/contacts.ts b/packages/core/src/bridge/apis/contacts.ts new file mode 100644 index 00000000..b6ee5e0a --- /dev/null +++ b/packages/core/src/bridge/apis/contacts.ts @@ -0,0 +1,734 @@ +import { GroupInviteTracker } from '@snowluma/protocol/group-invite-tracker'; +import { groupRequestSubType } from '@snowluma/protocol/qq-info'; +import { FetchDownloadRkeys } from '@snowluma/protocol/oidb-services/contacts/fetch-download-rkeys'; +import { + FetchFriendListPage, + type FriendListPageCategory, + type FriendListPageEntry, +} from '@snowluma/protocol/oidb-services/contacts/fetch-friend-list-page'; +import { FetchGroupDetail } from '@snowluma/protocol/oidb-services/contacts/fetch-group-detail'; +import { FetchGroupList } from '@snowluma/protocol/oidb-services/contacts/fetch-group-list'; +import { FetchGroupMemberListPage } from '@snowluma/protocol/oidb-services/contacts/fetch-group-member-list-page'; +import { + FetchGroupRequests, + FetchGroupRequestsByUid, + groupRequestNotifyType, + type DecodedGroupRequest, +} from '@snowluma/protocol/oidb-services/contacts/fetch-group-requests'; +import { + FetchRobotUinRanges, + type RobotUinRange, + type RobotUinRangeSnapshot, +} from '@snowluma/protocol/oidb-services/contacts/fetch-robot-uin-ranges'; +import { FetchUserProfile } from '@snowluma/protocol/oidb-services/contacts/fetch-user-profile'; +import { FetchUserProfileByUid } from '@snowluma/protocol/oidb-services/contacts/fetch-user-profile-by-uid'; +import { + fetchQidianCorpInfo as fetchQidianCorpInfoWire, + type QidianCorpInfo, +} from '@snowluma/protocol/services/qidian/fetch-corp-info'; +import { GetBuddyRecommendArk } from '@snowluma/protocol/oidb-services/contacts/get-buddy-recommend-ark'; +import { GetGroupRecommendArk } from '@snowluma/protocol/oidb-services/contacts/get-group-recommend-ark'; +import { GetGroupShareLink } from '@snowluma/protocol/oidb-services/contacts/get-group-share-link'; +import { + SendTuwenArk, + type SendTuwenArkParams, +} from '@snowluma/protocol/oidb-services/contacts/send-tuwen-ark'; +import { SetFriendCategory } from '@snowluma/protocol/oidb-services/contacts/set-friend-category'; +import { toHex } from '@snowluma/common/hex'; +import { createLogger } from '@snowluma/common/logger'; +import { + createSingleFlightCache, + type SingleFlightCache, +} from '@snowluma/common/single-flight-cache'; +import type { + FriendCategoryInfo, + FriendInfo, + GroupMemberInfo, + GroupRequestInfo, + PublicProfileFields, + QQGroupInfo, + UserProfileInfo, +} from '@snowluma/protocol/qq-info'; +import type { DownloadRKeyInfo } from '../bridge'; +import type { BridgeContext } from '../bridge-context'; + +const log = createLogger('Bridge.Contacts'); + +// Official client stores group mute as an expire timestamp (internal 60027 / +// JS groupShutupExpireTime): 0 = off, 0xFFFFFFFF = permanent, otherwise unix +// seconds. `> 0` is wrong — a leftover past expire still looks "on". +function isGroupAllMuted(expireTs?: number, nowSec = Math.floor(Date.now() / 1000)): boolean { + return (expireTs ?? 0) > nowSec; +} + +interface FriendRoster { + entries: FriendListPageEntry[]; + categories: FriendListPageCategory[]; +} + +export interface SetFriendCategoryParams { + uin: number; + categoryId?: number; + categoryName?: string; +} + +export function isRobotUin(uin: number, ranges: readonly RobotUinRange[]): boolean { + return ( + Number.isInteger(uin) && + uin > 0 && + ranges.some(({ minUin, maxUin }) => uin >= minUin && uin <= maxUin) + ); +} + +function groupRequestMetadata( + raw: Pick< + DecodedGroupRequest, + 'sequence' | 'state' | 'eventType' | 'comment' | 'operateTransInfo' + >, + groupId: number, + filtered: boolean, +) { + const sequence = Number(raw.sequence ?? 0); + + if (!Number.isSafeInteger(sequence) || sequence <= 0) { + throw new Error( + `invalid group-request sequence: group=${groupId} sequence=${String(raw.sequence ?? 0)}`, + ); + } + + const eventType = raw.eventType ?? 0; + const notifyType = groupRequestNotifyType(eventType); + + if (notifyType === undefined) { + log.warn( + 'unsupported group-request wire type: group=%d sequence=%d type=%d', + groupId, + sequence, + eventType, + ); + } + + return { + sequence, + state: raw.state ?? 0, + eventType, + notifyType, + comment: raw.comment ?? '', + filtered, + operateTransInfo: raw.operateTransInfo?.length ? raw.operateTransInfo : undefined, + }; +} + +const MEMBER_LIST_TTL_MS = 60_000; +const FRIEND_PROFILE_TTL_MS = 5 * 60_000; +const FRIEND_PROFILE_CONCURRENCY = 4; + +export interface FriendListOptions { + /** Explicitly query profiles; ordinary roster refreshes never fan out. */ + withProfile?: boolean; +} + +export class ContactsApi { + /** + * Per-group TTL + single-flight cache for `fetchGroupMemberList`, keyed by + * groupId, living for the lifetime of the Bridge. + * + * Without this, a busy OneBot client (e.g. MaiBot calling + * `get_group_member_info` once per inbound message) triggers one + * OIDB 0xfe7_3 per chat message — sustained >1k/h, which trips + * Tencent risk-control and gets the account banned for 7 days. + */ + private readonly memberListCache: SingleFlightCache = + createSingleFlightCache({ + ttlMs: MEMBER_LIST_TTL_MS, + load: (groupId) => this.fetchGroupMemberListUncached(groupId), + }); + private robotUinRangesPromise_: Promise | null = null; + readonly groupInvites = new GroupInviteTracker(); + private friendRosterGeneration = 0; + private rememberedFriendRosterGeneration = 0; + private activeProfiles = 0; + private readonly profileWaiters: (() => void)[] = []; + private readonly friendProfiles: SingleFlightCache = + createSingleFlightCache({ + ttlMs: FRIEND_PROFILE_TTL_MS, + load: (uin) => this.loadFriendProfile(uin), + }); + + constructor(private readonly ctx: BridgeContext) {} + + dispose(): void { + // Late roster responses must not start new profile loads after shutdown. + this.memberListCache.dispose(); + this.friendProfiles.dispose(); + } + + private fetchRobotUinRanges(groupId: number): Promise { + if (this.robotUinRangesPromise_) { + return this.robotUinRangesPromise_; + } + + const pending = FetchRobotUinRanges.invoke(this.ctx).then((snapshot) => { + log.info( + 'loaded robot UIN ranges uin=%s version=%d count=%d', + this.ctx.identity.uin, + snapshot.version, + snapshot.ranges.length, + ); + return snapshot; + }); + this.robotUinRangesPromise_ = pending; + + // A failed first load must be observable and retryable. Keep the rejection + // visible to the caller instead of converting every member to false. + void pending.catch((err: unknown) => { + if (this.robotUinRangesPromise_ === pending) { + this.robotUinRangesPromise_ = null; + } + + log.error( + 'failed to load robot UIN ranges: uin=%s group=%d err=%s', + this.ctx.identity.uin, + groupId, + err instanceof Error ? (err.stack ?? err.message) : String(err), + ); + }); + return pending; + } + + /** Server-built ARK share card (JSON string) recommending a friend. */ + getBuddyRecommendArk(userId: number, phoneNumber = ''): Promise { + return GetBuddyRecommendArk.invoke(this.ctx, { userId, phoneNumber }); + } + + /** Server-built ARK share card (JSON string) recommending a group. */ + getGroupRecommendArk(groupId: number): Promise { + return GetGroupRecommendArk.invoke(this.ctx, { groupId }); + } + + getGroupShareLink( + groupId: number, + needShortUrl = true, + srcId = 73, + additionalParam = '', + ): Promise { + return GetGroupShareLink.invoke(this.ctx, { + groupId, + needShortUrl, + srcId, + additionalParam, + }); + } + + /** Send a custom 图文 ark card to a C2C peer or group (0xdc2_34). */ + sendTuwenArk(params: SendTuwenArkParams): Promise { + return SendTuwenArk.invoke(this.ctx, params); + } + + private async loadFriendProfile(uin: number): Promise { + if (this.activeProfiles >= FRIEND_PROFILE_CONCURRENCY) { + await new Promise((resolve) => this.profileWaiters.push(resolve)); + } else { + this.activeProfiles++; + } + + try { + const profile = await this.fetchUserProfile(uin); + + return profile.profile ?? {}; + } catch (cause) { + log.warn( + 'friend profile query failed: user=%d error=%s', + uin, + cause instanceof Error ? cause.message : String(cause), + ); + throw new Error(`friend profile query failed for ${uin}`, { cause }); + } finally { + const next = this.profileWaiters.shift(); + + if (next) { + next(); + } else { + this.activeProfiles--; + } + } + } + + private async enrichFriendProfiles(entries: FriendListPageEntry[]): Promise { + const started = Date.now(); + + for (let offset = 0; offset < entries.length; offset += FRIEND_PROFILE_CONCURRENCY) { + const batch = entries.slice(offset, offset + FRIEND_PROFILE_CONCURRENCY); + const results = await Promise.allSettled( + batch.map(async ({ friend }) => { + const extra = await this.friendProfiles.get(friend.uin); + friend.profile = { ...structuredClone(extra), ...friend.profile }; + }), + ); + const errors = results.filter( + (result): result is PromiseRejectedResult => result.status === 'rejected', + ); + + if (errors.length > 0) { + log.warn( + 'friend profile enrichment failed: batch=%d failures=%d elapsedMs=%d', + offset, + errors.length, + Date.now() - started, + ); + throw new AggregateError( + errors.map((result) => result.reason), + 'friend profile enrichment failed', + ); + } + } + + log.debug( + 'friend profiles loaded: friends=%d elapsedMs=%d', + entries.length, + Date.now() - started, + ); + } + + private async fetchFriendRoster(options: FriendListOptions = {}): Promise { + const generation = ++this.friendRosterGeneration; + const entries: FriendListPageEntry[] = []; + const categories = new Map(); + const seenCookies = new Set(); + let cookie: Uint8Array | undefined; + + for (;;) { + const page = await FetchFriendListPage.invoke(this.ctx, { cookie }); + entries.push(...page.entries); + + for (const category of page.categories) { + categories.set(category.categoryId, category); + } + + const next = page.cookie; + + if (!next?.length) { + break; + } + + const key = toHex(next); + + if (seenCookies.has(key)) { + throw new Error(`repeated friend-list cookie ${key}`); + } + + seenCookies.add(key); + cookie = next; + } + + if (options.withProfile) { + await this.enrichFriendProfiles(entries); + } + + if (generation > this.rememberedFriendRosterGeneration) { + this.ctx.identity.rememberFriends(entries.map((entry) => entry.friend)); + this.rememberedFriendRosterGeneration = generation; + } + + return { entries, categories: [...categories.values()] }; + } + + async fetchFriendList(options: FriendListOptions = {}): Promise { + const roster = await this.fetchFriendRoster(options); + return roster.entries.map((entry) => entry.friend); + } + + async fetchFriendCategories(options: FriendListOptions = {}): Promise { + const roster = await this.fetchFriendRoster(options); + const buckets = new Map( + roster.categories.map((category) => [category.categoryId, [] as FriendInfo[]]), + ); + + for (const entry of roster.entries) { + const bucket = buckets.get(entry.categoryId); + + if (!bucket) { + throw new Error( + `friend roster references missing category ${entry.categoryId} ` + + `(${roster.entries.length} friends total)`, + ); + } + + bucket.push(entry.friend); + } + + return roster.categories.map((category) => { + const friends = buckets.get(category.categoryId)!; + + if (friends.length !== category.memberCount) { + log.warn( + 'friend category member count mismatch category=%d server=%d assembled=%d', + category.categoryId, + category.memberCount, + friends.length, + ); + } + + return { ...category, friends }; + }); + } + + async setFriendCategory(params: SetFriendCategoryParams): Promise { + const selectorCount = + Number(params.categoryId !== undefined) + Number(params.categoryName !== undefined); + + if (selectorCount !== 1) { + throw new Error('exactly one of categoryId or categoryName is required'); + } + + const categories = await this.fetchFriendCategories(); + const friendCategory = categories.find((category) => + category.friends.some((friend) => friend.uin === params.uin), + ); + const friend = friendCategory?.friends.find((entry) => entry.uin === params.uin); + + if (!friend) { + throw new Error(`friend ${params.uin} is not in the live roster`); + } + + if (!friend.uid) { + throw new Error(`friend ${params.uin} has no UID in the live roster`); + } + + let target: FriendCategoryInfo | undefined; + + if (params.categoryId !== undefined) { + target = categories.find((category) => category.categoryId === params.categoryId); + + if (!target) { + throw new Error(`friend category ${params.categoryId} does not exist`); + } + } else { + const matches = categories.filter( + (category) => category.categoryName === params.categoryName, + ); + + if (matches.length === 0) { + throw new Error(`friend category name "${params.categoryName}" does not exist`); + } + + if (matches.length > 1) { + throw new Error(`friend category name "${params.categoryName}" is ambiguous`); + } + + target = matches[0]!; + } + + await SetFriendCategory.invoke(this.ctx, { + uid: friend.uid, + categoryId: target.categoryId, + }); + log.info( + 'friend category updated: uin=%s friend=%d category=%d', + this.ctx.identity.uin, + params.uin, + target.categoryId, + ); + } + + async fetchGroupList(): Promise { + const resp = await FetchGroupList.invoke(this.ctx); + const groups: QQGroupInfo[] = []; + + for (const raw of resp.groups ?? []) { + groups.push({ + groupId: raw.groupUin ?? 0, + groupName: raw.info?.groupName ?? '', + remark: raw.customInfo?.remark ?? '', + memberCount: raw.info?.memberCount ?? 0, + memberMax: raw.info?.memberMax ?? 0, + members: new Map(), + // #197: the list already carries these — no extra fetch needed. `level` + // is not in the list (0x88D_0 detail only), so it stays undefined here. + createTime: raw.info?.createdTime ?? 0, + memo: raw.info?.announcement || raw.info?.description || '', + // #490: expose the description alongside `memo`. QQ fills in either + // field alone, so folding both into `memo` made the description + // unreachable whenever an announcement was also set. + description: raw.info?.description ?? '', + allMuted: isGroupAllMuted(raw.info?.shutUpAllTimestamp), + }); + } + + this.ctx.identity.rememberGroups(groups); + return groups; + } + + /** + * Fetch a single group's public detail by id via `0x88D_0` — works even for a + * group the bot hasn't joined (used to resolve a group-invite's name). Returns + * null when the server has no such group / denies the lookup. Deliberately + * does NOT `rememberGroups` it — a non-member group must not pollute the + * joined-groups roster / get_group_list. + */ + async fetchGroupDetail(groupId: number): Promise { + if (!(groupId > 0)) { + return null; + } + + const resp = await FetchGroupDetail.invoke(this.ctx, { groupUin: groupId }); + const r = resp.groupInfo?.results; + + if (!r) { + return null; + } + + return { + groupId, + groupName: r.name ?? '', + remark: '', + memberCount: Number(r.memberCount ?? 0n), + memberMax: Number(r.maxMemberCount ?? 0n), + members: new Map(), + // #197: the detail is the only source of `level`; it also carries + // createTime + the notice preview (memo). `description` is deliberately + // left unset — 0x88D_0 has no description tag, so for a group the bot + // hasn't joined there is nothing to report (#490). + createTime: Number(r.createTime ?? 0n), + level: Number(r.level ?? 0n), + memo: r.noticePreview ?? '', + allMuted: isGroupAllMuted(r.shutUpAllTimestamp), + }; + } + + fetchGroupMemberList( + groupId: number, + options: { force?: boolean } = {}, + ): Promise { + return this.memberListCache.get(groupId, { force: options.force }); + } + + private async fetchGroupMemberListUncached(groupId: number): Promise { + // QQ's native group service obtains the robot classification separately + // from 0xFE7_3. Start both reads together so the metadata adds no serial + // round trip to paginated member fetches. + const robotSnapshotPromise = this.fetchRobotUinRanges(groupId); + const members: GroupMemberInfo[] = []; + let token = ''; + + do { + const page = await FetchGroupMemberListPage.invoke(this.ctx, { groupId, token }); + members.push(...page.members); + token = page.token; + } while (token); + + const robotSnapshot = await robotSnapshotPromise; + + for (const member of members) { + member.isRobot = isRobotUin(member.uin, robotSnapshot.ranges); + } + + this.ctx.identity.rememberGroupMembers(groupId, members); + return members; + } + + async fetchUserProfile(uin: number): Promise { + const info = await FetchUserProfile.invoke(this.ctx, { uin }); + this.ctx.identity.rememberUserProfile(info); + return info; + } + + /** Look up a user profile by UID (string form). Used for strangers + * whose UIN we don't have yet — typically the requester on a + * group join request push. Mirrors Lagrange's `FetchUserInfoEvent + * .Create(targetUid)` path. */ + async fetchUserProfileByUid(uid: string): Promise { + const info = await FetchUserProfileByUid.invoke(this.ctx, { uid }); + + if (info.uin > 0) { + this.ctx.identity.rememberUserProfile(info); + } + + return info; + } + + /** 企点企业资料卡(#404 后续 PR)。仅在判断命中的是企点账号后再调用。 + * best-effort:非企点账号或拉取失败返回 null,不影响上层资料读取。 */ + async fetchQidianCorpInfo(uin: number): Promise { + return fetchQidianCorpInfoWire(this.ctx, uin); + } + + async fetchGroupRequests( + filtered = false, + count = 50, + cursor = 0n, + ): Promise { + const resp = await FetchGroupRequests.invoke(this.ctx, { filtered, count, cursor }); + const requests: GroupRequestInfo[] = []; + + for (const raw of resp.requests ?? []) { + const groupId = raw.group?.groupUin ?? 0; + const targetUin = raw.target?.uin ?? 0; + const invitorUin = raw.invitor?.uin ?? 0; + const operatorUin = raw.operatorUser?.uin ?? 0; + const targetUid = + raw.target?.uid || + this.ctx.identity.findUidByUin(targetUin, groupId) || + this.ctx.identity.findUidByUin(targetUin) || + ''; + const invitorUid = + raw.invitor?.uid || + this.ctx.identity.findUidByUin(invitorUin, groupId) || + this.ctx.identity.findUidByUin(invitorUin) || + ''; + const operatorUid = + raw.operatorUser?.uid || + this.ctx.identity.findUidByUin(operatorUin, groupId) || + this.ctx.identity.findUidByUin(operatorUin) || + ''; + + requests.push({ + groupId, + groupName: raw.group?.groupName ?? '', + targetUid, + targetUin: + targetUin || + this.ctx.identity.findUinByUid(targetUid, groupId) || + this.ctx.identity.findUinByUid(targetUid) || + 0, + targetName: raw.target?.name ?? '', + invitorUid, + invitorUin: + invitorUin || + this.ctx.identity.findUinByUid(invitorUid, groupId) || + this.ctx.identity.findUinByUid(invitorUid) || + 0, + invitorName: raw.invitor?.name ?? '', + operatorUid, + operatorUin: + operatorUin || + this.ctx.identity.findUinByUid(operatorUid, groupId) || + this.ctx.identity.findUinByUid(operatorUid) || + 0, + operatorName: raw.operatorUser?.name ?? '', + ...groupRequestMetadata(raw, groupId, filtered), + }); + } + + this.ctx.identity.rememberGroupRequests(requests); + return requests; + } + + /** UID-form request list retained for correlating incoming UID-only pushes. + * Explicit list/actions use fetchGroupRequests(), which matches QQ's native + * numeric-account path and does not need profile lookups. */ + async fetchGroupRequestsByUid( + filtered = false, + count = 50, + cursor = 0n, + ): Promise { + const resp = await FetchGroupRequestsByUid.invoke(this.ctx, { filtered, count, cursor }); + const requests: GroupRequestInfo[] = []; + + for (const raw of resp.requests ?? []) { + const groupId = raw.group?.groupUin ?? 0; + const targetUid = raw.target?.uid ?? ''; + const invitorUid = raw.invitor?.uid ?? ''; + const operatorUid = raw.operatorUser?.uid ?? ''; + + requests.push({ + groupId, + groupName: raw.group?.groupName ?? '', + targetUid, + targetUin: + this.ctx.identity.findUinByUid(targetUid, groupId) ?? + this.ctx.identity.findUinByUid(targetUid) ?? + 0, + targetName: raw.target?.name ?? '', + invitorUid, + invitorUin: + this.ctx.identity.findUinByUid(invitorUid, groupId) ?? + this.ctx.identity.findUinByUid(invitorUid) ?? + 0, + invitorName: raw.invitor?.name ?? '', + operatorUid, + operatorUin: + this.ctx.identity.findUinByUid(operatorUid, groupId) ?? + this.ctx.identity.findUinByUid(operatorUid) ?? + 0, + operatorName: raw.operatorUser?.name ?? '', + ...groupRequestMetadata(raw, groupId, filtered), + }); + } + + this.ctx.identity.rememberGroupRequests(requests); + return requests; + } + + async resolveGroupJoinRequest( + groupId: number, + uid: string, + subType: 'add' | 'invite', + invitedUid?: string, + ): Promise { + const [main, filtered] = await Promise.allSettled([ + this.fetchGroupRequestsByUid(false), + this.fetchGroupRequestsByUid(true), + ]); + + if (main.status === 'rejected') { + throw main.reason; + } + + if (filtered.status === 'rejected') { + throw filtered.reason; + } + + return ( + [...main.value, ...filtered.value].find((request) => { + if ( + request.groupId !== groupId || + request.state !== 1 || + groupRequestSubType(request) !== subType + ) { + return false; + } + + return subType === 'add' + ? request.targetUid === uid + : request.invitorUid === uid && request.targetUid === invitedUid; + }) ?? null + ); + } + + /** Returns whether this live card introduces a new approval sequence. */ + rememberGroupInviteCardSequence(groupId: number, sequence: number): boolean { + return this.groupInvites.receiveCard(groupId, sequence); + } + + getGroupInviteCardSequence(groupId: number): number | undefined { + return this.groupInvites.getCardSequence(groupId); + } + + findGroupInviteCardGroupBySequence(sequence: number, groupId?: number): number | undefined { + return this.groupInvites.findCardGroup(sequence, groupId); + } + + async fetchDownloadRKeys(): Promise { + const resp = await FetchDownloadRkeys.invoke(this.ctx); + + const result: DownloadRKeyInfo[] = []; + + for (const entry of resp.downloadRkey?.rkeys ?? []) { + const rkey = entry.rkey ?? ''; + const type = entry.type ?? 0; + + if (rkey && type) { + result.push({ + rkey, + ttlSeconds: Number(entry.rkeyTtlSec ?? 0), + storeId: entry.storeId ?? 0, + createTime: entry.rkeyCreateTime ?? 0, + type, + }); + } + } + + return result; + } +} diff --git a/packages/core/src/bridge/apis/extras.ts b/packages/core/src/bridge/apis/extras.ts new file mode 100644 index 00000000..c6dfc3e7 --- /dev/null +++ b/packages/core/src/bridge/apis/extras.ts @@ -0,0 +1,437 @@ +import { FetchAiVoice } from '@snowluma/protocol/oidb-services/extras/fetch-ai-voice'; +import { + FetchAiVoiceList, + type AiVoiceCategory as NamespaceAiVoiceCategory, +} from '@snowluma/protocol/oidb-services/extras/fetch-ai-voice-list'; +import { + GetStrangerStatus, + type StrangerStatus as NamespaceStrangerStatus, +} from '@snowluma/protocol/oidb-services/extras/get-stranger-status'; +import { + GetGroupTodoList, + type GroupTodoListItem as NamespaceGroupTodoListItem, +} from '@snowluma/protocol/oidb-services/extras/get-group-todo-list'; +import { GroupTodo } from '@snowluma/protocol/oidb-services/extras/group-todo'; +import { convertAudioBytes } from '@snowluma/protocol/highway/ffmpeg-addon'; +import { loadBinarySource } from '@snowluma/protocol/highway/utils'; +import { createLogger } from '@snowluma/common/logger'; +import type { QQEventVariant } from '@snowluma/protocol/events'; +import type { PttTransReq, PttTransResp } from '@snowluma/proto-defs/ptt-trans'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { BridgeContext } from '../bridge-context'; +import type { MediaIndexNode } from './shared'; + +/** Inputs for a voice-to-text request, gathered from the received `record` + * element + its message meta. `uuid`/`md5Hex` come from the cached record; + * the uins + scene from the message meta. */ +export interface PttTransInput { + isGroup: boolean; + msgId: number; + senderUin: number; + /** Receiver uin (c2c) or group uin (group). */ + peerUin: number; + uuid: string; + md5Hex: string; + duration: number; + size: number; + format: number; + /** Group ptt numeric file id (group only; optional). */ + fileId?: number; +} + +// ─────────────── public types (re-exported from bridge.ts as before) ─── + +export type StrangerStatus = NamespaceStrangerStatus; +export type GroupTodoListItem = NamespaceGroupTodoListItem; + +export const AiVoiceChatType = { + Unknown: 0, + Sound: 1, + Sing: 2, +} as const; +export type AiVoiceChatType = (typeof AiVoiceChatType)[keyof typeof AiVoiceChatType]; + +export type AiVoiceCategory = NamespaceAiVoiceCategory; +export interface AiVoiceItem { + voiceId: string; + voiceDisplayName: string; + voiceExampleUrl: string; +} + +export interface AiVoiceSendReceipt { + sequence: number; +} + +const log = createLogger('Bridge.Extras'); +const AI_VOICE_RECEIPT_TIMEOUT_MS = 5_000; +const AI_VOICE_CANDIDATE_LIMIT = 64; +const AI_VOICE_CLAIM_LIMIT = 256; + +type GroupMessageEvent = Extract; + +function normalizeMediaUuid(value: unknown): string { + return typeof value === 'string' ? value.trim() : ''; +} + +function matchesAiVoiceEvent(node: MediaIndexNode, event: GroupMessageEvent): boolean { + const expectedUuid = normalizeMediaUuid(node.fileUuid); + + if (!expectedUuid) { + return false; + } + + for (const element of event.elements) { + if (element.type !== 'record') { + continue; + } + + const actualUuid = normalizeMediaUuid(element.mediaNode?.fileUuid || element.fileId); + + if (actualUuid === expectedUuid) { + return true; + } + } + + return false; +} + +function describeAiVoiceFingerprint(node: MediaIndexNode): string { + const uuid = normalizeMediaUuid(node.fileUuid); + + if (uuid) { + return `uuid:${uuid.slice(-12)}`; + } + + return 'missing'; +} + +export class ExtrasApi { + private readonly claimedAiVoiceReceiptKeys = new Set(); + + constructor(private readonly ctx: BridgeContext) {} + + // ─────────────── Group todo query / mutations (0x9474 / 0xF90) ─────────────── + + async getGroupTodoList(groupId: number): Promise { + const items = await GetGroupTodoList.invoke(this.ctx, { groupId }); + log.debug('group todo list fetched group=%d count=%d', groupId, items.length); + return items; + } + + setGroupTodo(groupId: number, msgSeq: bigint): Promise { + return GroupTodo.invoke(this.ctx, { groupId, msgSeq, action: 'set' }); + } + + completeGroupTodo(groupId: number, msgSeq: bigint): Promise { + return GroupTodo.invoke(this.ctx, { groupId, msgSeq, action: 'complete' }); + } + + cancelGroupTodo(groupId: number, msgSeq: bigint): Promise { + return GroupTodo.invoke(this.ctx, { groupId, msgSeq, action: 'cancel' }); + } + + // ─────────────── Stranger online/ext status (0xFE1_2) ─────────────── + + /** + * Keeps the action response user-safe while retaining the underlying + * failure in the service log for diagnosis. + */ + async getStrangerStatus(uin: number): Promise { + try { + const status = await GetStrangerStatus.invoke(this.ctx, { uin }); + + if (!status) { + log.warn('user status query returned no status target=%d', uin); + } + + return status; + } catch (error) { + log.warn( + 'user status query failed target=%d: %s', + uin, + error instanceof Error ? error.message : String(error), + ); + return null; + } + } + + // ─────────────── AI voice (0x929D / 0x929B) ─────────────── + + fetchAiVoiceList( + groupId: number, + chatType: AiVoiceChatType | number, + ): Promise { + return FetchAiVoiceList.invoke(this.ctx, { groupId, chatType }); + } + + /** + * Trigger AI voice synthesis. Server may return an empty msgInfo while + * the render is in-flight; we retry until a node materialises or the + * cap is hit. napcat uses the same 30-retry budget. + * + * The returned node plugs directly into + * `apis.groupFile.getPttUrl`, which already handles every other + * download-URL fetch in SnowLuma. The synthesis response does not contain a + * reliable message sequence; callers that need one must use `sendAiVoice`, + * which correlates the subsequent self-message receipt. + */ + async fetchAiVoice( + groupId: number, + voiceId: string, + text: string, + chatType: AiVoiceChatType | number, + maxRetries = 30, + ): Promise { + // Random 32-bit session id — server uses this to deduplicate polls. + const sessionId = Math.floor(Math.random() * 0xffffffff) >>> 0; + + for (let i = 0; i < maxRetries; i++) { + const node = await FetchAiVoice.invoke(this.ctx, { + groupId, + voiceId, + text, + chatType, + sessionId, + }); + + if (node) { + log.debug( + 'AI voice synthesis completed group=%d media=%s polls=%d', + groupId, + describeAiVoiceFingerprint(node), + i + 1, + ); + return node as MediaIndexNode; + } + } + + throw new Error(`AI voice synthesis did not complete after ${maxRetries} polls`); + } + + /** + * Publish an AI voice and wait for QQ's canonical self-message receipt. + * + * The 0x929B completion response carries the media node but, on live QQ, + * omits the group message sequence. Subscribe before publishing so an echo + * that wins the response race is buffered, then correlate by the exact media + * UUID. Never guess from content hashes or "the next voice in the group": + * concurrent requests can legitimately render byte-identical audio. + */ + async sendAiVoice( + groupId: number, + voiceId: string, + text: string, + chatType: AiVoiceChatType | number, + receiptTimeoutMs = AI_VOICE_RECEIPT_TIMEOUT_MS, + ): Promise { + const candidates: GroupMessageEvent[] = []; + let candidatesOverflowed = false; + let expectedNode: MediaIndexNode | null = null; + let receiptSettled = false; + let resolveReceipt: ((event: GroupMessageEvent) => void) | null = null; + const receiptPromise = new Promise((resolve) => { + resolveReceipt = resolve; + }); + + const claim = (event: GroupMessageEvent): boolean => { + if (receiptSettled) { + return false; + } + + const key = `${event.groupId}:${event.msgSeq}:${event.msgId}`; + + if (this.claimedAiVoiceReceiptKeys.has(key)) { + return false; + } + + this.claimedAiVoiceReceiptKeys.add(key); + + if (this.claimedAiVoiceReceiptKeys.size > AI_VOICE_CLAIM_LIMIT) { + const oldest = this.claimedAiVoiceReceiptKeys.values().next().value; + + if (oldest !== undefined) { + this.claimedAiVoiceReceiptKeys.delete(oldest); + } + } + + receiptSettled = true; + return true; + }; + + const accept = (event: GroupMessageEvent): void => { + if (event.groupId !== groupId || event.senderUin !== event.selfUin) { + return; + } + + if (!event.elements.some((element) => element.type === 'record')) { + return; + } + + if (expectedNode && matchesAiVoiceEvent(expectedNode, event) && claim(event)) { + resolveReceipt?.(event); + return; + } + + candidates.push(event); + + if (candidates.length > AI_VOICE_CANDIDATE_LIMIT) { + candidates.shift(); + candidatesOverflowed = true; + } + }; + + const unsubscribe = this.ctx.events.on('group_message', accept); + let timeout: ReturnType | null = null; + + try { + const node = await this.fetchAiVoice(groupId, voiceId, text, chatType); + expectedNode = node; + const fingerprint = describeAiVoiceFingerprint(node); + + if (fingerprint === 'missing') { + throw new Error( + 'AI voice was published but QQ returned no exact media identifier for receipt correlation', + ); + } + + const buffered = candidates.find( + (event) => matchesAiVoiceEvent(node, event) && claim(event), + ); + + if (!buffered && candidatesOverflowed) { + throw new Error( + `AI voice was published but receipt correlation overflowed after ${AI_VOICE_CANDIDATE_LIMIT} ` + + `unmatched self voice messages (group=${groupId} media=${fingerprint})`, + ); + } + + const event = + buffered ?? + (await Promise.race([ + receiptPromise, + new Promise((_resolve, reject) => { + timeout = setTimeout(() => { + reject( + new Error( + `AI voice was published but no matching group-message receipt arrived within ${receiptTimeoutMs}ms ` + + `(group=${groupId} media=${fingerprint})`, + ), + ); + }, receiptTimeoutMs); + timeout.unref(); + }), + ])); + + if (!Number.isInteger(event.msgSeq) || event.msgSeq <= 0) { + throw new Error( + `AI voice receipt carried invalid message sequence: ${event.msgSeq}`, + ); + } + + log.debug( + 'AI voice receipt matched group=%d media=%s sequence=%d random=%d', + groupId, + fingerprint, + event.msgSeq, + event.msgId, + ); + return { + sequence: event.msgSeq, + }; + } finally { + if (timeout) { + clearTimeout(timeout); + } + + unsubscribe(); + } + } + + // ─────────────── Voice-to-text (pttTrans.Trans{C2C,Group}PttReq) ─────────────── + + /** + * Send ONE `pttTrans.Trans{C2C,Group}PttReq` to trigger transcription and + * return the recognised text IF the response carries it inline (the + * already-transcribed case). For a freshly-received voice the response is an + * empty ack and the text is delivered later via the async Event 0x210 + * subType-61 push — callers should treat `''` as "pending" and wait for the + * `ptt_trans_result` event (correlated by msgId). + */ + async translatePttToText(input: PttTransInput): Promise { + // QQ NT sends the md5 as a 32-char lowercase HEX STRING, not the raw 16 + // bytes (RE'd from wrapper.linux.node EncodeTroopPtt/EncodeC2CPtt: the md5 + // field goes through a bytes→hex helper). Sending raw bytes → errCode -1079. + const md5 = input.md5Hex.toLowerCase(); + const req: PttTransReq = input.isGroup + ? { + type: 1, + groupItem: { + msgId: BigInt(input.msgId), + senderUin: BigInt(input.senderUin), + groupUin: BigInt(input.peerUin), + fileId: input.fileId ?? 0, + md5, + duration: input.duration, + size: input.size, + format: input.format, + uuid: input.uuid, + }, + } + : { + type: 2, + c2cItem: { + msgId: BigInt(input.msgId), + senderUin: BigInt(input.senderUin), + receiverUin: BigInt(input.peerUin), + uuid: input.uuid, + duration: input.duration, + size: input.size, + format: input.format, + md5, + }, + }; + const cmd = input.isGroup ? 'pttTrans.TransGroupPttReq' : 'pttTrans.TransC2CPttReq'; + + const result = await this.ctx.sendRawPacket(cmd, protobuf_encode(req)); + + if (!result.success || !result.gotResponse || !result.responseData) { + throw new Error(result.errorMessage || 'ptt translate request failed'); + } + + const resp = protobuf_decode(result.responseData); + const item = input.isGroup ? resp?.groupResult : resp?.c2cResult; + + if (item?.errCode) { + // Diagnostic (#165 备选): correlate QQ's errCode with the request fields we + // sourced from cache, to tell a server-side ASR failure apart from our own + // missing/zero field (md5/format/uuid). Behaviour unchanged — still throws. + log.warn( + 'ptt translate errCode=%d isGroup=%s md5=%s format=%d uuid=%s dur=%d size=%d', + item.errCode, + input.isGroup, + input.md5Hex ? `${input.md5Hex.length / 2}B` : 'EMPTY', + input.format, + input.uuid ? 'set' : 'EMPTY', + input.duration, + input.size, + ); + throw new Error(`ptt translate failed: error=${item.errCode}`); + } + + return item?.text ?? ''; // '' = transcribing async; caller awaits the push + } + + /** + * Transcode a voice record (`get_record out_format`, #165). `source` is a + * URL / local path / `base64://…` (the record's download URL in practice); + * it is loaded then transcoded to `format` via the bundled SILK-capable + * ffmpeg addon. Returns base64 + size. Throws on unsupported format or a + * failed conversion. + */ + async convertRecord(source: string, format: string): Promise<{ base64: string; size: number }> { + // Voices are tiny — cap the download well below loadBinarySource's 1 GiB + // default so a tampered/oversized source can't be pulled in. + const { bytes } = await loadBinarySource(source, 'record', 64 * 1024 * 1024); + return convertAudioBytes(bytes, format); + } +} diff --git a/packages/core/src/bridge/apis/flash-transfer.ts b/packages/core/src/bridge/apis/flash-transfer.ts new file mode 100644 index 00000000..d45fedcc --- /dev/null +++ b/packages/core/src/bridge/apis/flash-transfer.ts @@ -0,0 +1,1014 @@ +// FlashTransferApi — 闪传(fileset)业务编排。 +// 复用 OIDB 基础设施(invokeOidb),协议层在 @snowluma/protocol/oidb-services/flash-transfer/。 + +import type { BridgeContext } from '../bridge-context'; +import { resolveSelfUid } from './shared'; +import type { FlashFileEntry } from '@snowluma/proto-defs/oidb-actions/flash-transfer'; +import { GetFilesetDetail } from '@snowluma/protocol/oidb-services/flash-transfer/get-fileset-detail'; +import { ListFilesets } from '@snowluma/protocol/oidb-services/flash-transfer/list-filesets'; +import { GetDownloadUrl } from '@snowluma/protocol/oidb-services/flash-transfer/get-download-url'; +import { GetFlashDownload } from '@snowluma/protocol/oidb-services/flash-transfer/get-flash-download'; +import { DeleteFlashFile } from '@snowluma/protocol/oidb-services/flash-transfer/delete-file'; +import { RenameFlashFile } from '@snowluma/protocol/oidb-services/flash-transfer/rename-file'; +import { ApplyFileset } from '@snowluma/protocol/oidb-services/flash-transfer/apply-fileset'; +import { CommitFile } from '@snowluma/protocol/oidb-services/flash-transfer/commit-file'; +import { CompleteFileset } from '@snowluma/protocol/oidb-services/flash-transfer/complete-fileset'; +import { SetFilesetStatus } from '@snowluma/protocol/oidb-services/flash-transfer/set-status'; +import { ApplyUpload } from '@snowluma/protocol/oidb-services/flash-transfer/apply-upload'; +import { PrepareUpload } from '@snowluma/protocol/oidb-services/flash-transfer/prepare-upload'; +import { SendFlashMsg } from '@snowluma/protocol/oidb-services/flash-transfer/send-flash'; +import { FileChunkSource } from '@snowluma/protocol/highway'; +import { + computeHashes, + inlineBase64Payload, + FLASH_TRANSFER_MAX_BYTES, + FLASH_TRANSFER_INLINE_MAX_BYTES, +} from '@snowluma/protocol/highway/utils'; +import { stageSourceToDisk } from '@snowluma/protocol/highway/stage'; +import { hashFlashFileStreaming } from '@snowluma/protocol/highway/hash-file'; +import { computeSha1StateV } from '@snowluma/protocol/highway/sha1-stream'; +import { protobuf_encode, protobuf_decode } from '@snowluma/proton'; +import type { + FlashSliceUploadBody, + FlashSliceUploadResp, + FlashFileId, +} from '@snowluma/proto-defs/oidb-actions/flash-transfer'; +import { randomUUID, randomBytes, createHash } from 'node:crypto'; +import { promises as fsp } from 'node:fs'; +import { deflateSync } from 'node:zlib'; + +const FLASH_SLICE_SIZE = 1024 * 1024; + +const FLASH_IMAGE_EXT = new Set([ + 'jpg', + 'jpeg', + 'png', + 'gif', + 'bmp', + 'webp', + 'heic', + 'avif', + 'tiff', + 'tif', + 'ico', + 'dib', + 'heif', +]); +const FLASH_AUDIO_EXT = new Set(['mp3', 'wav', 'aac', 'flac']); +const FLASH_VIDEO_EXT = new Set([ + 'mp4', + 'avi', + 'mkv', + 'mov', + '3gp', + 'mpeg', + 'rmvb', + 'rm', + 'wmv', + 'flv', + 'asf', + 'webm', + 'mpg', + 'vob', + 'm4v', + 'f4v', +]); +const FLASH_ARCHIVE_EXT = new Set(['zip', 'rar', 'tar', 'bz2', 'xz', 'tgz', 'gz', '7z']); +const FLASH_MODEL_EXT = new Set(['pt', 'pth', 'onnx', 'model', 'mlmodel']); + +/** 0x93cf f3 粗类:压缩包走 2/6,其余按媒体类 7。 */ +function flashApplyTypeCode(ext: string): number { + if (ext === 'zip') { + return 6; + } + + if (FLASH_ARCHIVE_EXT.has(ext)) { + return 2; + } + + return 7; +} + +/** + * 0x93d0 / 0x12a9 格式码。与 QQ 客户端按扩展名判定的图标类型一致: + * 图片 26、音频 1、视频 2、文档 3、压缩包 4、未知 11。 + */ +function flashFormatCode(ext: string): number { + if (FLASH_IMAGE_EXT.has(ext)) { + return 26; + } + + if (FLASH_AUDIO_EXT.has(ext)) { + return 1; + } + + if (FLASH_VIDEO_EXT.has(ext)) { + return 2; + } + + if (ext === 'doc' || ext === 'docx') { + return 3; + } + + if (FLASH_ARCHIVE_EXT.has(ext)) { + return 4; + } + + if (ext === 'apk') { + return 5; + } + + if (ext === 'xls' || ext === 'xlsx') { + return 6; + } + + if (ext === 'ppt' || ext === 'pptx') { + return 7; + } + + if (ext === 'html' || ext === 'htm') { + return 8; + } + + if (ext === 'pdf') { + return 9; + } + + if (ext === 'txt') { + return 10; + } + + if (ext === 'psd') { + return 12; + } + + if (FLASH_MODEL_EXT.has(ext)) { + return 15; + } + + if (ext === 'ttf' || ext === 'otf') { + return 16; + } + + if (ext === 'ipa') { + return 17; + } + + if (ext === 'dmg') { + return 23; + } + + if (ext === 'pkg') { + return 24; + } + + if (ext === 'key') { + return 18; + } + + if (ext === 'note') { + return 19; + } + + if (ext === 'numbers') { + return 20; + } + + if (ext === 'pages') { + return 21; + } + + if (ext === 'sketch') { + return 22; + } + + if (ext === 'exe') { + return 27; + } + + return 11; +} + +/** After create returns, 0x93d4 can still omit the main-file fileId for a + * few seconds (#364). Re-query on this schedule (first lookup is immediate). */ +const FLASH_FILE_ID_RETRY_DELAYS_MS = [1000, 2000, 4000, 4000] as const; + +/** Fail cleanly if the staged file changed since the streaming hash pass. */ +async function assertUnchanged( + filePath: string, + baseline: { size: number; mtimeMs: number }, +): Promise { + const now = await fsp.stat(filePath); + + if (now.size !== baseline.size || now.mtimeMs !== baseline.mtimeMs) { + throw new Error('file source changed during send (mutated between hashing and upload)'); + } +} + +function flashStageMaxBytes(source: string): number { + return inlineBase64Payload(source) !== null + ? FLASH_TRANSFER_INLINE_MAX_BYTES + : FLASH_TRANSFER_MAX_BYTES; +} + +interface StagedFlashItem { + filePath: string; + fileSize: number; + fileName: string; + fileUuid: string; + fileIndex: number; + formatCode: number; + guardStat: { size: number; mtimeMs: number }; + cleanup(): Promise; +} + +/** One create_flash_task source: a path/URL, or a path plus a display name. */ +export type FlashTaskFileInput = string | { file: string; name?: string }; + +function flashFileDisplayName(override: string | undefined, fallback: string): string { + const cleaned = (override ?? '').replace(/[/\\]/g, '_').trim(); + return cleaned || fallback; +} + +function normalizeFlashTaskInputs( + files: FlashTaskFileInput | FlashTaskFileInput[], +): { file: string; name?: string }[] { + const list = Array.isArray(files) ? files : [files]; + return list.map((item) => (typeof item === 'string' ? { file: item } : item)); +} + +/** 闪传文件信息(业务层,从 FlashFileEntry 转换)。 */ +export interface FlashFileInfo { + filesetUuid: string; + fileName: string; + origName: string; + fileSize: number; + /** 上传/分享链接 qfile.qq.com/q/。 */ + shareUrl: string; + fileId: string; + /** 下载链接 multimedia.qfile.qq.com/download?...&rkey=... */ + downloadUrl: string; +} + +function entryToInfo(e: FlashFileEntry): FlashFileInfo { + return { + filesetUuid: e.filesetUuid ?? '', + fileName: e.fileName ?? '', + origName: e.origName ?? '', + fileSize: Number(e.fileSize ?? 0), + shareUrl: e.uploadUrlWrap?.uploadUrl ?? '', + fileId: e.fileIdWrap?.fileId ?? '', + downloadUrl: e.fileIdWrap?.download?.downloadUrl ?? '', + }; +} + +const QFILE_SHARE_ORIGIN = 'https://qfile.qq.com'; +const QFILE_SHARE_PAGE_MAX_BYTES = 2 * 1024 * 1024; +const QFILE_SHARE_TIMEOUT_MS = 20_000; + +function officialQfileShareUrl(input: string): string { + const value = input.trim(); + + if (!value) { + throw new Error('get_fileset_id: share code is empty'); + } + + let code = value; + + if (/^[a-z][a-z\d+.-]*:/i.test(value) || value.startsWith('//')) { + let parsed: URL; + + try { + parsed = new URL(value); + } catch (error) { + throw new Error('get_fileset_id: expected an official QQ share URL', { cause: error }); + } + + if ( + parsed.protocol !== 'https:' || + parsed.hostname !== 'qfile.qq.com' || + parsed.port !== '' || + parsed.username !== '' || + parsed.password !== '' + ) { + throw new Error('get_fileset_id: expected an official QQ share URL'); + } + + const match = /^\/q\/([^/]+)\/?$/.exec(parsed.pathname); + + if (!match) { + throw new Error('get_fileset_id: expected an official QQ share URL'); + } + + try { + code = decodeURIComponent(match[1]); + } catch (error) { + throw new Error('get_fileset_id: expected an official QQ share URL', { cause: error }); + } + } + + const hasForbiddenCharacter = Array.from(code).some((char) => { + const codePoint = char.codePointAt(0) ?? 0; + return codePoint <= 0x20 || codePoint === 0x7f || '/\\?#'.includes(char); + }); + + if (code.length > 256 || hasForbiddenCharacter) { + throw new Error('get_fileset_id: invalid share code'); + } + + return `${QFILE_SHARE_ORIGIN}/q/${encodeURIComponent(code)}`; +} + +async function rejectShareResponse(response: Response, error: Error): Promise { + try { + await response.body?.cancel(error); + } catch (cleanupError) { + throw new AggregateError([error, cleanupError], error.message); + } + + throw error; +} + +async function readSharePage(response: Response): Promise { + const declaredLength = response.headers.get('content-length'); + + if (declaredLength !== null) { + if (!/^\d+$/.test(declaredLength)) { + await rejectShareResponse( + response, + new Error('get_fileset_id: invalid response length'), + ); + } + + if (Number(declaredLength) > QFILE_SHARE_PAGE_MAX_BYTES) { + await rejectShareResponse(response, new Error('get_fileset_id: share page too large')); + } + } + + if (!response.body) { + throw new Error('get_fileset_id: share page response has no body'); + } + + const reader = response.body.getReader(); + const decoder = new TextDecoder(); + let total = 0; + let html = ''; + + try { + while (true) { + const { done, value } = await reader.read(); + + if (done) { + break; + } + + if (!value) { + continue; + } + + total += value.byteLength; + + if (total > QFILE_SHARE_PAGE_MAX_BYTES) { + const error = new Error('get_fileset_id: share page too large'); + + try { + await reader.cancel(error); + } catch (cleanupError) { + throw new AggregateError([error, cleanupError], error.message); + } + + throw error; + } + + html += decoder.decode(value, { stream: true }); + } + + html += decoder.decode(); + return html; + } finally { + reader.releaseLock(); + } +} + +// 手写 PNG 编码(zlib 压缩,避免引入图像库)。缩略图用随机纯色,每次 SHA1 不同, +// 避免命中服务端秒传缓存。 +const CRC_TABLE: Uint32Array = (() => { + const table = new Uint32Array(256); + + for (let n = 0; n < 256; n++) { + let c = n; + + for (let k = 0; k < 8; k++) { + c = c & 1 ? 0xedb88320 ^ (c >>> 1) : c >>> 1; + } + + table[n] = c >>> 0; + } + + return table; +})(); + +function crc32(buf: Buffer): number { + let c = 0xffffffff; + + for (let i = 0; i < buf.length; i++) { + c = CRC_TABLE[(c ^ buf[i]) & 0xff] ^ (c >>> 8); + } + + return (c ^ 0xffffffff) >>> 0; +} + +function pngChunk(type: string, data: Buffer): Buffer { + const len = Buffer.alloc(4); + len.writeUInt32BE(data.length, 0); + const typeBuf = Buffer.from(type, 'ascii'); + const crc = crc32(Buffer.concat([typeBuf, data])); + const crcBuf = Buffer.alloc(4); + crcBuf.writeUInt32BE(crc, 0); + return Buffer.concat([len, typeBuf, data, crcBuf]); +} + +/** 生成 width×height 随机纯色 PNG(8-bit RGB)。每次随机颜色,SHA1 不同以避免秒传。 */ +function generatePng(width: number, height: number): Buffer { + const r = Math.floor(Math.random() * 256); + const g = Math.floor(Math.random() * 256); + const b = Math.floor(Math.random() * 256); + const rowLen = 1 + width * 3; + const raw = Buffer.alloc(rowLen * height); + + for (let y = 0; y < height; y++) { + const off = y * rowLen; + raw[off] = 0; // filter none + + for (let x = 0; x < width; x++) { + raw[off + 1 + x * 3] = r; + raw[off + 1 + x * 3 + 1] = g; + raw[off + 1 + x * 3 + 2] = b; + } + } + + const compressed = deflateSync(raw); + const sig = Buffer.from([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]); + const ihdr = Buffer.alloc(13); + ihdr.writeUInt32BE(width, 0); + ihdr.writeUInt32BE(height, 4); + ihdr[8] = 8; // bit depth + ihdr[9] = 2; // color type RGB + ihdr[10] = 0; + ihdr[11] = 0; + ihdr[12] = 0; + return Buffer.concat([ + sig, + pngChunk('IHDR', ihdr), + pngChunk('IDAT', compressed), + pngChunk('IEND', Buffer.alloc(0)), + ]); +} + +export class FlashTransferApi { + constructor(private readonly ctx: BridgeContext) {} + + /** 获取文件集信息(get_fileset_info)。 */ + async getFilesetInfo(filesetUuid: string): Promise { + const entries = await GetFilesetDetail.invoke(this.ctx, { filesetUuid }); + return entries.map(entryToInfo); + } + + /** 获取闪传文件列表(get_flash_file_list)。同 getFilesetInfo,返回文件数组。 */ + async getFlashFileList(filesetUuid: string): Promise { + return this.getFilesetInfo(filesetUuid); + } + + /** + * 拿指定文件的下载直链 + 元信息。0x93d4 返回 fileset 内所有文件(f3 repeated, + * 多文件时每条 f6=序号、f14=主文件 fileId),按 fileIndex 选中后走 0x12a9 sub=200 + * 拿主文件直链。0x93d3/0x93d4 的 downloadUrl 字段是缩略图(appid=14903/14902), + * 主文件必须走 0x12a9 sub=200。 + * + * create 刚返回时 f14 可能还是空的(#364)。fileId 空则按 + * FLASH_FILE_ID_RETRY_DELAYS_MS 再问 0x93d4;已经有 fileId 后 0x12a9 只打一枪。 + */ + private async getFileDownload( + filesetUuid: string, + fileIndex: number = 1, + ): Promise<{ url: string; fileName: string; fileSize: number } | null> { + for (let attempt = 0; ; attempt++) { + const metas = await GetDownloadUrl.invoke(this.ctx, { filesetUuid }); + const meta = metas.find((m) => m.fileIndex === fileIndex); + + if (meta?.fileId) { + const url = await GetFlashDownload.invoke(this.ctx, { + filesetUuid: meta.filesetUuid, + fileUuid: meta.fileUuid, + fileId: meta.fileId, + fileName: meta.fileName, + }); + + if (!url) { + return null; + } + + return { url, fileName: meta.fileName, fileSize: meta.fileSize }; + } + + const delay = FLASH_FILE_ID_RETRY_DELAYS_MS[attempt]; + + if (delay === undefined) { + return null; + } + + await new Promise((resolve) => setTimeout(resolve, delay)); + } + } + + /** + * 获取闪传文件下载链接(get_flash_file_url)。主文件直链走 0x12a9 sub=200 + * (0x93d3 的 downloadUrl 是缩略图 appid=14903,非主文件)。多文件 fileset 用 + * fileIndex 指定第几个文件(默认 1)。找不到文件或拿不到直链时抛错。 + */ + async getFlashFileUrl(filesetUuid: string, fileIndex: number = 1): Promise { + const dl = await this.getFileDownload(filesetUuid, fileIndex); + + if (!dl || !dl.url) { + throw new Error('get_flash_file_url: no download url available'); + } + + return dl.url; + } + + /** + * 解析闪传文件下载直链(download_fileset)。返回指定文件的下载 URL + 文件名/大小, + * 不下载文件内容(由调用方拉)。多文件 fileset 用 fileIndex 指定第几个文件(默认 1)。 + */ + async downloadFileset( + filesetUuid: string, + opts?: { fileName?: string; fileIndex?: number }, + ): Promise<{ url: string; fileName: string; fileSize: number }> { + const dl = await this.getFileDownload(filesetUuid, opts?.fileIndex ?? 1); + + if (!dl || !dl.url) { + throw new Error('download_fileset: no download url available'); + } + + return dl; + } + + /** 获取分享链接(get_share_link)= qfile.qq.com/q/。 */ + async getShareLink(filesetUuid: string): Promise { + const entries = await GetFilesetDetail.invoke(this.ctx, { filesetUuid }); + return entries.find((e) => e.uploadUrlWrap?.uploadUrl)?.uploadUrlWrap?.uploadUrl ?? ''; + } + + /** 列出当前账号的所有 fileset(OneBot 标准未定义,QQ 面板有此入口)。 */ + async listFilesets(): Promise { + const entries = await ListFilesets.invoke(this.ctx, {}); + return entries.map(entryToInfo); + } + + /** 删除闪传文件(delete_flash_file)。 */ + async deleteFlashFile(filesetUuid: string): Promise { + await DeleteFlashFile.invoke(this.ctx, { filesetUuid }); + } + + /** 重命名闪传文件(rename_flash_file)。 */ + async renameFlashFile(filesetUuid: string, newName: string): Promise { + await RenameFlashFile.invoke(this.ctx, { filesetUuid, newName }); + } + + /** + * 发送闪传文件(send_flash_msg,0x93d7)。私聊:user_id→uid;群聊:group_id 直接用。 + * 0x93d7 响应无 message_id(分享 fileset,非传统消息),OneBot 层 message_id 由 action 返回 0。 + */ + async sendFlashMsg( + filesetUuid: string, + target: { userId?: number; groupId?: number }, + ): Promise { + if (target.groupId) { + await SendFlashMsg.invoke(this.ctx, { groupId: target.groupId, filesetUuid }); + return; + } + + const userId = target.userId; + + if (!userId) { + throw new Error('send_flash_msg: user_id or group_id is required'); + } + + const targetUid = await this.ctx.identity.resolveUid(userId); + await SendFlashMsg.invoke(this.ctx, { targetUid, filesetUuid }); + } + + /** + * 从分享码/链接获取 fileset_id(get_fileset_id)。code→UUID 不走 OIDB,QQ 客户端 + * 走 trpc HTTP API;分享页 qfile.qq.com/q/ 的 HTML 内嵌了 fileset_id(trpc + * 接口数据),直接 GET + 正则提取即可,无需复刻带签名的 trpc 调用。 + */ + async getFilesetIdByCode(shareCode: string): Promise { + const url = officialQfileShareUrl(shareCode); + let resp: Response; + + try { + resp = await fetch(url, { + redirect: 'manual', + signal: AbortSignal.timeout(QFILE_SHARE_TIMEOUT_MS), + }); + } catch (error) { + if ( + error instanceof Error && + (error.name === 'AbortError' || error.name === 'TimeoutError') + ) { + throw new Error('get_fileset_id: share page request timed out', { cause: error }); + } + + throw error; + } + + if (resp.status >= 300 && resp.status < 400) { + await rejectShareResponse( + resp, + new Error('get_fileset_id: share page redirect is not allowed'), + ); + } + + if (!resp.ok) { + await rejectShareResponse(resp, new Error(`get_fileset_id: HTTP ${resp.status}`)); + } + + const html = await readSharePage(resp); + // 网页里 fileset_id 以 JSON 嵌入(引号可能被转义为 \"),正则兼容两种形态。 + const m = + /fileset_id\\?"\s*:\s*\\?"([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})/.exec( + html, + ); + + if (!m) { + throw new Error('get_fileset_id: fileset_id not found in share page'); + } + + return m[1]; + } + + // ─────────────── 文件上传 ─────────────── + + /** + * 文件扩展名 → 闪传类型码。typeCode 用于 0x93cf f3(卡片粗类:压缩包/媒体); + * formatCode 用于 0x93d0 commit f7 与 0x12a9 filesetWrap.f7,决定对端图标 + * (png=26,mp4=2,zip=4,未知=11)。 + */ + private static fileTypeCode(fileName: string): { typeCode: number; formatCode: number } { + const ext = fileName.toLowerCase().match(/\.([^.]+)$/)?.[1] ?? ''; + return { typeCode: flashApplyTypeCode(ext), formatCode: flashFormatCode(ext) }; + } + + /** 构造 sub=103 的 fileId(客户端生成的 protobuf,base64url 编码)。 + * f2=SHA1, f3=filesize, f4=appid, f5=微秒时间戳, f6="prod", + * f10=TTL(1209600), f11=16B 会话ID, f15=3B, f16="gz"。 + * f11/f15 随机生成,服务端不校验。 + * appid 决定 fileId 落在哪个槽位:主文件用 14901(0x93d4 f14.f1), + * png 缩略图用 14903、jpg 缩略图用 14902(f13.f1)。主文件必须用 14901, + * 否则 fileId 不会被服务端采纳进 f14,对端无法拿到主文件下载入口。 */ + private static buildFileId(sha1: Uint8Array, fileSize: number, appid: number = 14901): string { + const fileId: FlashFileId = { + sha1: new Uint8Array(sha1), + fileSize, + appid, + timestamp: BigInt(Date.now()) * 1000n, // 微秒时间戳 + env: 'prod', + ttl: 1209600, + sessionId: randomBytes(16), + field15: randomBytes(3), + region: 'gz', + }; + return Buffer.from(protobuf_encode(fileId)).toString('base64url'); + } + + /** + * 创建闪传任务(create_flash_task)。所有文件统一走 sub=100/103+sliceupload, + * 不走小文件 PUT——QQ 客户端即使几百 KB 的文件也走 sliceupload。只有 sliceupload + * 路径会上报主文件 sha1/size,服务端据此把 fileset 标记为完成(对端可下载); + * PUT 路径不上报 sha1,fileset 会卡在"上传中"无法被下载。 + * + * 多文件:0x93d0 的 f4 是 repeated,一个 commit 请求同时携带 fileset 内所有文件 + * 条目,每条 f6=文件序号(1,2,3...)。commit 在上传前只发一次,之后 complete → + * 逐个 prepare/apply/sliceupload。prepare/apply 的 filesetWrap.f4 必须与 commit + * 的 f6 一致,否则文件不计入 fileset。ApplyFileset 的 fileName 是 fileset 显示名 + * (卡片标题):有 name 用 name,否则单文件用首文件名、多文件用「<首文件名>等N个文件」。 + * fileSize 用总和——服务端据此判定 fileset 为多文件。各文件在 commit 里用 + * 条目上的 name(若有),否则用路径 basename。 + * + * 源文件经 stageSourceToDisk 落到本地路径后流式哈希 / 分片读取,不再经 + * loadBinarySource 整文件进内存。本地与 HTTP 上限与群文件相同(4 GiB); + * 内联 base64 仍按 1 GiB 封顶,因为 stage 解码时会占用等量 RAM。 + */ + async createFlashTask( + files: FlashTaskFileInput | FlashTaskFileInput[], + name?: string, + _thumbPath?: string, + ): Promise<{ filesetId: string }> { + const fileList = normalizeFlashTaskInputs(files); + + if (fileList.length === 0) { + throw new Error('create_flash_task: files is empty'); + } + + const uploader = { + uin: this.ctx.identity.uin, + nickname: this.ctx.identity.nickname, + // Resolve our own uid rather than ship an empty one — a blank uploader + // uid drops the fileset if this runs before warmup populated selfUid. + uid: await resolveSelfUid(this.ctx), + }; + const items: StagedFlashItem[] = []; + + try { + for (let i = 0; i < fileList.length; i++) { + const source = fileList[i]!.file; + + if (!source) { + throw new Error('create_flash_task: files is empty'); + } + + const staged = await stageSourceToDisk(source, flashStageMaxBytes(source)); + const fileName = flashFileDisplayName(fileList[i]!.name, staged.fileName); + const { formatCode } = FlashTransferApi.fileTypeCode(fileName); + items.push({ + filePath: staged.filePath, + fileSize: staged.fileSize, + fileName, + fileUuid: randomUUID(), + fileIndex: i + 1, + formatCode, + guardStat: await fsp.stat(staged.filePath), + cleanup: () => staged.cleanup(), + }); + + if (staged.fileSize === 0) { + throw new Error('create_flash_task: file is empty'); + } + } + + // 申请 fileset。fileName 是卡片/面板上的 fileset 标题;各文件真实名走 commit。 + // 未指定 name 时,多文件用「<首文件名>等N个文件」、fileSize 用总和, + // 服务端据此判定 fileset 为多文件,commit 的后续 entry 才会被计入。 + const first = items[0]; + const { typeCode } = FlashTransferApi.fileTypeCode(first.fileName); + const isMulti = items.length > 1; + const filesetName = + name?.trim() || + (isMulti ? `${first.fileName}等${items.length}个文件` : first.fileName); + const totalSize = items.reduce((s, it) => s + it.fileSize, 0); + const apply = await ApplyFileset.invoke(this.ctx, { + fileName: filesetName, + origName: filesetName, + fileSize: totalSize, + typeCode, + uploader, + }); + const filesetUuid = apply.filesetUuid; + + if (!filesetUuid) { + throw new Error('apply fileset failed: missing uuid'); + } + + // 一次性 commit 所有文件元数据(f4 repeated,每条 f6=序号) + const commitEntries = items.map((it) => ({ + fileUuid: it.fileUuid, + fileName: it.fileName, + origName: it.fileName, + fileSize: it.fileSize, + formatCode: it.formatCode, + fileIndex: it.fileIndex, + })); + await CommitFile.invoke(this.ctx, { filesetUuid, entries: commitEntries }); + await CompleteFileset.invoke(this.ctx, { filesetUuid }); + // 两阶段上传:先全部 prepare+apply 注册 fileId,再全部 sliceupload 落盘。 + const prepared: { + it: StagedFlashItem; + rkey: string; + sha1StateV: Uint8Array[]; + sliceCount: number; + }[] = []; + + for (const it of items) { + const p = await this.prepareAndApply(filesetUuid, it); + + if (p) { + prepared.push({ it, ...p }); + } + } + + for (const p of prepared) { + await assertUnchanged(p.it.filePath, p.it.guardStat); + await this.sliceuploadFile( + p.it.filePath, + p.it.fileSize, + p.rkey, + p.sha1StateV, + p.sliceCount, + p.it.fileName, + ); + } + + // fileset 级缩略图(序号在主文件之后递增),主文件下载入口需要缩略图关联 + await this.uploadThumbnail(filesetUuid, items[0].fileUuid, 'png', items.length + 1); + await this.uploadThumbnail(filesetUuid, items[0].fileUuid, 'jpg', items.length + 2); + await SetFilesetStatus.invoke(this.ctx, { filesetUuid }); + return { filesetId: filesetUuid }; + } finally { + await Promise.all(items.map((it) => it.cleanup())); + } + } + + /** + * 阶段1:流式哈希 + prepare(拿 rkey)+ apply(注册 fileId)。 + * 秒传时 prepare 不回 rkey,仍必须 apply,否则 fileset 会一直停在等待上传; + * 返回 null 只表示调用方跳过 sliceupload。 + */ + private async prepareAndApply( + filesetUuid: string, + it: StagedFlashItem, + ): Promise<{ rkey: string; sha1StateV: Uint8Array[]; sliceCount: number } | null> { + const hashes = await hashFlashFileStreaming(it.filePath); + await assertUnchanged(it.filePath, it.guardStat); + + const rkey = await PrepareUpload.invoke(this.ctx, { + filesetUuid, + fileUuid: it.fileUuid, + fileName: it.fileName, + fileSize: it.fileSize, + sha1: hashes.sha1Hex, + fileIndex: it.fileIndex, + formatCode: it.formatCode, + }); + const fileId = FlashTransferApi.buildFileId(hashes.sha1, it.fileSize); + await ApplyUpload.invoke(this.ctx, { + filesetUuid, + fileUuid: it.fileUuid, + fileId, + fileName: it.fileName, + fileSize: it.fileSize, + md5: hashes.md5Hex, + sha1: hashes.sha1Hex, + fileIndex: it.fileIndex, + formatCode: it.formatCode, + }); + + if (rkey === null) { + return null; + } + + return { rkey, sha1StateV: hashes.sha1StateV, sliceCount: hashes.sliceCount }; + } + + /** + * 阶段2:从磁盘按 1 MiB 切片 POST sliceupload(所有文件 prepare+apply 完成后调用)。 + */ + private async sliceuploadFile( + filePath: string, + fileSize: number, + rkey: string, + sha1StateV: Uint8Array[], + sliceCount: number, + fileName: string, + ): Promise { + const src = await FileChunkSource.open(filePath, fileSize); + + try { + for (let i = 0; i < sliceCount; i++) { + const start = i * FLASH_SLICE_SIZE; + const chunkLen = Math.min(FLASH_SLICE_SIZE, fileSize - start); + const chunk = await src.read(start, chunkLen); + const chunkSha1 = new Uint8Array( + createHash('sha1').update(Buffer.from(chunk)).digest(), + ); + const body: FlashSliceUploadBody = { + field1: 0, + appid: 14901, + field3: 2, + payload: { + field1: {}, + rkey, + start, + end: start + chunkLen - 1, + sha1: chunkSha1, + sha1StateV: { state: sha1StateV.map((s) => new Uint8Array(s)) }, + chunk: new Uint8Array(chunk), + }, + }; + const bodyBytes = protobuf_encode(body); + await this.postSliceupload(bodyBytes, `${fileName} slice ${i}`); + } + } finally { + await src.close(); + } + } + + /** + * POST sliceupload 并校验响应。服务端即使 HTTP 200 也可能在业务体里返回错误, + * 所以必须解析 f5(status),非 "success" 视为失败。label 用于错误信息定位切片来源。 + */ + private async postSliceupload(bodyBytes: Uint8Array, label: string): Promise { + const resp = await fetch('https://multimedia.qfile.qq.com/sliceupload', { + method: 'POST', + body: bodyBytes, + headers: { + Accept: '*/*', + Connection: 'Keep-Alive', + 'User-Agent': 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2)', + Pragma: 'no-cache', + 'Cache-Control': 'no-cache', + 'Content-Length': String(bodyBytes.length), + 'X-Retried-Times': '1', + }, + }); + + if (!resp.ok) { + const errBody = await resp.text().catch(() => ''); + throw new Error(`${label} failed: HTTP ${resp.status} ${errBody.slice(0, 300)}`); + } + + const respBuf = new Uint8Array(await resp.arrayBuffer()); + const sliceResp = protobuf_decode(respBuf); + + if (sliceResp.status !== 'success') { + throw new Error(`${label} failed: ${sliceResp.status || 'no status in response'}`); + } + } + + /** + * 上传占位缩略图(png+jpg)。主文件上传后调用——主文件下载入口(0x93d3 的下载 + * fileId)需要缩略图关联才会被服务端填充,不传缩略图时 bot 自身上传的 fileset + * 无法被 download_fileset 解析。缩略图用随机纯色 PNG,无需 ffmpeg/sharp。 + * fileIndex 为缩略图在 fileset 内的序号(主文件之后递增),与 commit f6 对齐。 + */ + private async uploadThumbnail( + filesetUuid: string, + mainFileUuid: string, + thumbType: 'png' | 'jpg', + fileIndex: number, + ): Promise { + // 526x360 是 QQ 客户端缩略图尺寸;1x1 会被服务端拒(HTTP 400,宽高太小)。 + const width = 526, + height = 360; + const thumbBytes = generatePng(width, height); // 随机纯色,SHA1 不同避免秒传 + const appid = thumbType === 'png' ? 14903 : 14902; // png=14903, jpg=14902 + const fileUuid = thumbType === 'png' ? randomUUID() : mainFileUuid; // png 独立,jpg 挂主文件 + const fileName = + thumbType === 'png' + ? `${randomUUID().slice(0, 8)}_one.png` + : `${createHash('md5').update(thumbBytes).digest('hex').slice(0, 32)}.jpg`; + const hashes = computeHashes(new Uint8Array(thumbBytes)); + const fileSize = thumbBytes.length; + const thumbFormatCode = thumbType === 'png' ? 26 : 2; // png缩略图=26, jpg缩略图=2 + const rkey = await PrepareUpload.invoke(this.ctx, { + filesetUuid, + fileUuid, + fileName, + fileSize, + sha1: hashes.sha1Hex, + fileIndex, + formatCode: thumbFormatCode, + thumbType, + width, + height, + }); + const fileId = FlashTransferApi.buildFileId(hashes.sha1, fileSize, appid); + await ApplyUpload.invoke(this.ctx, { + filesetUuid, + fileUuid, + fileId, + fileName, + fileSize, + md5: hashes.md5Hex, + sha1: hashes.sha1Hex, + fileIndex, + formatCode: thumbFormatCode, + thumbType, + width, + height, + }); + + if (rkey === null) { + return; + } + + // sliceupload(缩略图小,1 片,Sha1StateV=[标准 SHA1]) + const sha1StateV = computeSha1StateV(new Uint8Array(thumbBytes), 1, fileSize); + const body: FlashSliceUploadBody = { + field1: 0, + appid, + field3: 2, + payload: { + field1: {}, + rkey, + start: 0, + end: fileSize - 1, + sha1: new Uint8Array(hashes.sha1), + sha1StateV: { state: sha1StateV.map((s) => new Uint8Array(s)) }, + chunk: new Uint8Array(thumbBytes), + }, + }; + const bodyBytes = protobuf_encode(body); + await this.postSliceupload(bodyBytes, 'thumbnail sliceupload'); + } +} diff --git a/packages/core/src/bridge/apis/forward-cache.ts b/packages/core/src/bridge/apis/forward-cache.ts new file mode 100644 index 00000000..7b3ee666 --- /dev/null +++ b/packages/core/src/bridge/apis/forward-cache.ts @@ -0,0 +1,69 @@ +import { createLogger } from '@snowluma/common/logger'; +import type { ForwardNodePayload } from '@snowluma/protocol/events'; + +const MAX_CACHED_FORWARDS = 512; +const log = createLogger('Bridge.Forward'); +type ForwardLayers = Map; + +interface ForwardCacheHit { + rootId: string; + resId: string; + layers: ForwardLayers; + nodes: ForwardNodePayload[]; +} + +/** Nested results share the lifetime and recency of the result that supplied them. */ +export class ForwardResultCache { + private readonly entries = new Map(); + + get(resId: string): ForwardCacheHit | undefined { + let hit: ForwardCacheHit | undefined; + + // A nested result can be supplied by several retained outer results. + for (const [rootId, layers] of this.entries) { + const nodes = layers.get(resId); + + if (nodes) { + hit = { rootId, resId, layers, nodes }; + } + } + + if (hit) { + this.entries.delete(hit.rootId); + this.entries.set(hit.rootId, hit.layers); + } + + return hit; + } + + set(rootId: string, layers: ReadonlyMap): void { + if (!layers.has(rootId)) { + throw new Error('forward cache entry is missing its outer result'); + } + + this.entries.delete(rootId); + this.entries.set(rootId, new Map(layers)); + + while (this.entries.size > MAX_CACHED_FORWARDS) { + const oldest = this.entries.entries().next().value!; + this.entries.delete(oldest[0]); + log.trace( + 'forward cache evicted: res_id=%s layers=%d remaining=%d', + oldest[0], + oldest[1].size, + this.entries.size, + ); + } + } + + update(hit: ForwardCacheHit, nodes: ForwardNodePayload[]): void { + // Enrichment may finish after eviction or replacement. It must not revive + // an old result or turn a nested result into an independent cache entry. + if ( + this.entries.get(hit.rootId) === hit.layers && + hit.layers.get(hit.resId) === hit.nodes + ) { + hit.layers.set(hit.resId, nodes); + } + } +} diff --git a/packages/core/src/bridge/apis/forward.ts b/packages/core/src/bridge/apis/forward.ts new file mode 100644 index 00000000..c0ad678b --- /dev/null +++ b/packages/core/src/bridge/apis/forward.ts @@ -0,0 +1,1129 @@ +import type { PacketInfo } from '@snowluma/common/protocol-types'; +import { mapWithConcurrency } from '@snowluma/common/concurrency'; +import { createLogger } from '@snowluma/common/logger'; +import type { + LongMsgResult, + RecvLongMsgReq, + RecvLongMsgResp, + SendLongMsgReq, + SendLongMsgResp, +} from '@snowluma/proto-defs/longmsg'; +import type { FileExtra, PushMsg, PushMsgBody } from '@snowluma/proto-defs/message'; +import { buildSendElems } from '@snowluma/protocol/element-builder'; +import type { + ForwardNodePayload, + MessageElement, + MessageElementOf, +} from '@snowluma/protocol/events'; +import { + assertWindowShakeSendPolicy, + MessageElementValidationError, +} from '@snowluma/protocol/element-manifest'; +import { parseMsgPush } from '@snowluma/protocol/msg-push'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import { randomUUID } from 'crypto'; +import { gunzipSync, gzipSync } from 'zlib'; +import type { Bridge } from '../bridge'; +import type { BridgeContext, UploadedFileMeta } from '../bridge-context'; +import { ForwardResultCache } from './forward-cache'; +import { resolveSelfUid, toInt } from './shared'; + +function asBridge(ctx: BridgeContext): Bridge { + return ctx as unknown as Bridge; +} + +// Share within a bridge without retaining disconnected accounts. +const forwardCaches = new WeakMap(); + +const log = createLogger('Bridge.Forward'); + +// Forward bodies are gzip-compressed by QQ. Bound decompression while zlib is +// producing output so a small server response cannot expand until the process +// exhausts its heap. 32 MiB leaves ample room for legitimate merged forwards +// while making the maximum per-fetch allocation explicit. +const FORWARD_LONG_MSG_MAX_OUTPUT_BYTES = 32 * 1024 * 1024; + +/** QQ's placeholder when it doesn't hand back a real sender name — treated as + * "missing" so #174's enrichment resolves the real nickname. */ +const FORWARD_NAME_PLACEHOLDER = 'QQ用户'; + +/** Bounds on the L4 (per-uin profile) fallback when enriching forward senders. + * Profile lookups are un-cached single-point OIDB calls Tencent rate-limits + * aggressively, so cap how many distinct uins one forward resolves and how + * many run at once — the rest keep the placeholder. */ +const FORWARD_PROFILE_MAX = 20; +const FORWARD_PROFILE_CONCURRENCY = 4; + +// Per-layer piggyback entry. Each level of a nested forward attaches +// its own msgBody under a uuid `actionCommand`, so when the receiver +// fetches the outermost res_id it gets every layer in one shot +// (modelled on NapCat's `uploadForwardedNodesPacket` — see +// `dev/NapCatQQ/.../SendMsg.ts:208-347`). Lagrange.Core master + V2 +// both ship a single-action model and silently break when the +// recipient is a NapCat instance trying to walk the tree. +interface ForwardInnerAction { + uuid: string; + msgBody: PushMsgBody[]; +} + +interface ForwardUploadResult { + resId: string; + // The current level's msgBody + uuid — what an outer caller would + // piggyback to expose this layer through the tree. + msgBody: PushMsgBody[]; + uuid: string; + // All accumulated piggyback entries from deeper levels. Outer + // callers concatenate these to their own actions list so the + // outermost upload carries the full tree. + innerActions: ForwardInnerAction[]; + cachedLayers: Map; +} + +// Local hex-decode helper — avoids importing the heavyweight `pipeline` +// module just for one call. Mirrors `highway/pipeline.ts::hexToBytes`. +function hexToBytesLocal(hex: string): Uint8Array { + const s = hex.trim(); + + if (!s) { + return new Uint8Array(0); + } + + const len = s.length >> 1; + const out = new Uint8Array(len); + + for (let i = 0; i < len; i++) { + out[i] = parseInt(s.substr(i * 2, 2), 16); + } + + return out; +} + +async function buildForwardPushBody( + bridge: Bridge, + node: ForwardNodePayload, + groupId?: number, + userUid?: string, +): Promise { + const fromUin = node.userUin > 0 ? node.userUin : toInt(bridge.identity.uin); + + if (fromUin <= 0) { + throw new Error('forward node user uin is invalid'); + } + + const nickname = node.nickname.trim() || String(fromUin); + // image/record/video upload inside a forward node must be scoped to the + // forward's recipient: group → groupId, private → recipient uid. + // Without this the OIDB upload (0x11c4/0x11c5) has no scene and the + // element builder throws "private image target uid is missing". + // + // `forwardFake: true` keeps `{type:'file'}` segments in the + // long-msg payload: group → emitted as transElem(24) in elems[], + // c2c → handled below via msgContent (FileExtra { file: NotOnlineFile }). + // The QQ-NT live-send pipeline would reject these (transElem(24) → + // result=79; notOnlineFile via PbSendMsg doesn't render), but the + // long-msg upload service stores the bytes verbatim and the + // receiver decodes them through the normal msg-push path. + const sendCtx = + groupId !== undefined + ? { bridge, groupId, forwardFake: true, scene: 'forward' as const } + : userUid + ? { bridge, userUid, forwardFake: true, scene: 'forward' as const } + : { bridge, forwardFake: true, scene: 'forward' as const }; + const elems = await buildSendElems(node.elements, sendCtx); + const now = Math.floor(Date.now() / 1000); + const random = Math.floor(Math.random() * 0x7fffffff) >>> 0; + const seq = Math.floor(Math.random() * 9000000) + 1000000; + + // c2c-file in a forward node — element-builder intentionally skips + // it (RichText.notOnlineFile + msgContent live outside elems[]). For + // forward fake-send we mirror what an inbound c2c file message looks + // like on the wire: serialise the FileExtra blob and ride it on + // `body.msgContent`. The receiver's rich-body-decoder reads from + // `msgContent` first (see msg-push/rich-body-decoder.ts:446+), so + // the bubble renders with the right file name + size when the + // forward is expanded. Only the FIRST c2c file in a node ships — + // QQ NT's bubble can only carry one msgContent payload, same as + // a live c2c send. Group nodes ignore this branch entirely (the + // transElem(24) elems[] entry above covers them). + let msgContent: Uint8Array | undefined; + + if (groupId === undefined) { + const fileEl = node.elements.find((e) => e.type === 'file' && e.fileId); + + if (fileEl) { + // Honour inline segment fields first; fall back to the upload + // metadata cache (populated by upload_private_file). Without + // size/md5 the receiver would render "0 B" so prefer recovering + // them — see same logic in modules/message-actions.ts. + const cached = bridge.recallUploadedFile(fileEl.fileId ?? ''); + const fileMd5 = fileEl.md5Hex + ? hexToBytesLocal(fileEl.md5Hex) + : (cached?.fileMd5 ?? new Uint8Array(0)); + const fileSize = fileEl.fileSize ?? cached?.fileSize ?? 0; + const fileName = fileEl.fileName ?? cached?.fileName ?? 'file'; + const fileHash = fileEl.fileHash ?? cached?.fileHash ?? ''; + const sevenDays = 7 * 24 * 60 * 60; + msgContent = protobuf_encode({ + file: { + fileType: 0, + fileUuid: fileEl.fileId!, + fileMd5, + fileName, + fileSize: BigInt(fileSize), + subcmd: 1, + dangerEvel: 0, + expireTime: now + sevenDays, + fileHash, + }, + }); + } + } + + return { + responseHead: { + fromUin, + // Resolve our own uid rather than ship an empty one — a blank toUid is a + // broken packet if this runs before warmup populated selfUid. + toUid: await resolveSelfUid(bridge), + forward: { + friendName: nickname, + }, + }, + contentHead: { + msgType: 9, + subType: 4, + msgId: random, + sequence: seq, + // Honour a custom per-node display time (#209); default to now. `now` + // still drives the c2c-file expireTime above, which must stay real. + timestamp: node.time && node.time > 0 ? node.time : now, + c2cCmd: 0, + }, + body: { + richText: { + elems, + }, + ...(msgContent ? { msgContent } : {}), + }, + }; +} + +// Inner forward preview metadata — kept minimal here (the OneBot +// `parseForwardNodes` caller can override these on the top-level +// node by passing custom forwardSource/forwardSummary on the +// non-nested send path; nested levels just get sensible defaults +// since they're synthesised by us and never reach OneBot input). +function deriveInnerSource(innerNodes: ForwardNodePayload[], isGroup: boolean): string { + const nicks: string[] = []; + const seen = new Set(); + + for (const node of innerNodes) { + const name = (node.nickname ?? '').trim(); + + if (name && !seen.has(name)) { + seen.add(name); + nicks.push(name); + } + + if (nicks.length >= 4) { + break; + } + } + + if (nicks.length === 0) { + return isGroup ? '群聊的聊天记录' : '聊天记录'; + } + + return `${nicks.join('和')}的聊天记录`; +} + +function previewLinesFromNodes(innerNodes: ForwardNodePayload[]): Array<{ text: string }> { + return innerNodes.slice(0, 4).map((node) => { + const name = (node.nickname ?? '').trim() || String(node.userUin || 'QQ用户'); + const previewText = previewFromElements(node.elements); + return { text: previewText ? `${name}: ${previewText}` : name }; + }); +} + +function previewFromElements(elements: MessageElement[]): string { + for (const elem of elements) { + if (elem.type === 'text' && elem.text) { + return elem.text.slice(0, 30); + } + + if (elem.type === 'image') { + return '[图片]'; + } + + if (elem.type === 'record') { + return '[语音]'; + } + + if (elem.type === 'video') { + return '[视频]'; + } + + if (elem.type === 'file') { + return '[文件]'; + } + + if (elem.type === 'forward') { + return '[聊天记录]'; + } + + if (elem.type === 'face') { + return '[表情]'; + } + } + + return ''; +} + +function cloneNodeWithElements( + node: ForwardNodePayload, + elements: MessageElement[], +): ForwardNodePayload { + return { + ...node, + elements, + news: node.news?.map((item) => ({ ...item })), + }; +} + +function stripFileSource(element: MessageElementOf<'file'>): MessageElementOf<'file'> { + const next: MessageElementOf<'file'> = { ...element }; + delete next.url; + return next; +} + +function isCachedFileUsableInTarget( + cached: UploadedFileMeta | undefined, + groupId?: number, + userId?: number, +): boolean { + if (!cached) { + return true; + } + + if (groupId !== undefined) { + return cached.scope === 'group' && cached.groupId === groupId; + } + + if (userId !== undefined) { + return cached.scope === 'private' && cached.userId === userId; + } + + return true; +} + +function fileNameForUpload(element: MessageElement, cached?: UploadedFileMeta): string { + return (element.fileName ?? cached?.fileName ?? '').trim(); +} + +function assertPrivateForwardFileCapacity(nodes: ForwardNodePayload[]): void { + for (const node of nodes) { + const fileCount = node.elements.filter((element) => element.type === 'file').length; + + if (fileCount > 1) { + throw new MessageElementValidationError( + 'UNSENDABLE_TYPE', + 'a private forward node can contain at most one file element', + 'file', + ); + } + + if (node.innerForward) { + assertPrivateForwardFileCapacity(node.innerForward); + } + } +} + +function assertNoWindowShakeInForward(nodes: ForwardNodePayload[]): void { + for (const node of nodes) { + assertWindowShakeSendPolicy( + node.elements.filter((element) => element.type === 'poke').length, + node.elements.length, + 'forward', + ); + + if (node.innerForward) { + assertNoWindowShakeInForward(node.innerForward); + } + } +} + +export class ForwardApi { + private readonly cache: ForwardResultCache; + + constructor(private readonly ctx: BridgeContext) { + let cache = forwardCaches.get(ctx); + + if (!cache) { + cache = new ForwardResultCache(); + forwardCaches.set(ctx, cache); + } + + this.cache = cache; + } + + async upload(nodes: ForwardNodePayload[], groupId?: number, userId?: number): Promise { + // Reject the complete recursive tree before identity resolution, media + // upload, or long-message upload. Window shake has no forward wire form. + assertNoWindowShakeInForward(nodes); + + // A c2c RichText owns exactly one msgContent/FileExtra payload. Validate + // the entire recursive tree before any file/media/long-message upload so a + // second file cannot be uploaded and then silently discarded. + if (groupId === undefined) { + assertPrivateForwardFileCapacity(nodes); + } + + const { resId, cachedLayers } = await this.uploadRecursive(nodes, groupId, userId); + this.cache.set(resId, cachedLayers); + return resId; + } + + private async downloadSourceFromCachedFile(cached: UploadedFileMeta): Promise { + if (cached.scope === 'group' && cached.groupId !== undefined) { + return this.ctx.apis.groupFile.getUrl(cached.groupId, cached.fileId); + } + + if (cached.scope === 'private' && cached.userId !== undefined && cached.fileHash) { + return this.ctx.apis.groupFile.getPrivateUrl( + cached.userId, + cached.fileId, + cached.fileHash, + ); + } + + throw new Error( + 'forward file_id belongs to another scope; pass file/base64/url so SnowLuma can re-upload it', + ); + } + + private async uploadForwardFileSource( + source: string, + name: string, + groupId?: number, + userId?: number, + allowTemporary = true, + ): Promise> { + if (groupId !== undefined) { + const uploaded = await this.ctx.apis.groupFile.upload( + groupId, + source, + name, + '/', + true, + false, + { allowTemporary }, + ); + + if (!uploaded.fileId) { + throw new Error('forward group file upload returned no file_id'); + } + + const cached = this.ctx.recallUploadedFile(uploaded.fileId); + const element: MessageElement = { + type: 'file', + fileId: uploaded.fileId, + }; + const fileName = cached?.fileName || name; + + if (fileName) { + element.fileName = fileName; + } + + if (cached?.fileSize !== undefined) { + element.fileSize = cached.fileSize; + } + + return element; + } + + if (userId !== undefined) { + const uploaded = await this.ctx.apis.groupFile.uploadPrivate( + userId, + source, + name, + true, + false, + ); + + if (!uploaded.fileId) { + throw new Error('forward private file upload returned no file_id'); + } + + const cached = this.ctx.recallUploadedFile(uploaded.fileId); + const element: MessageElement = { + type: 'file', + fileId: uploaded.fileId, + }; + const fileName = cached?.fileName || name; + const fileHash = uploaded.fileHash ?? cached?.fileHash ?? ''; + + if (fileName) { + element.fileName = fileName; + } + + if (cached?.fileSize !== undefined) { + element.fileSize = cached.fileSize; + } + + if (fileHash) { + element.fileHash = fileHash; + } + + return element; + } + + throw new Error('forward file source requires group_id or user_id'); + } + + private async prepareForwardFileElement( + element: MessageElement, + groupId?: number, + userId?: number, + allowTemporary = true, + ): Promise { + if (element.type !== 'file') { + return element; + } + + const source = (element.url ?? '').trim(); + + if (source && !element.fileId) { + const uploaded = await this.uploadForwardFileSource( + source, + fileNameForUpload(element), + groupId, + userId, + allowTemporary, + ); + return { + ...stripFileSource(element), + ...uploaded, + }; + } + + if (element.fileId) { + const cached = this.ctx.recallUploadedFile(element.fileId); + + if (isCachedFileUsableInTarget(cached, groupId, userId)) { + if (groupId !== undefined && cached?.busId === 104 && !allowTemporary) { + throw new MessageElementValidationError( + 'UNSENDABLE_TYPE', + 'temporary group files require only file or image segments in the same forward node', + 'file', + ); + } + + return element; + } + + const sourceFromCache = await this.downloadSourceFromCachedFile(cached!); + const uploaded = await this.uploadForwardFileSource( + sourceFromCache, + fileNameForUpload(element, cached), + groupId, + userId, + allowTemporary, + ); + return { + ...stripFileSource(element), + ...uploaded, + }; + } + + return element; + } + + private async prepareForwardFiles( + nodes: ForwardNodePayload[], + groupId?: number, + userId?: number, + ): Promise { + return Promise.all( + nodes.map(async (node) => { + const allowTemporary = node.elements.every( + (element) => element.type === 'file' || element.type === 'image', + ); + const elements = await Promise.all( + node.elements.map((element) => + this.prepareForwardFileElement(element, groupId, userId, allowTemporary), + ), + ); + return cloneNodeWithElements(node, elements); + }), + ); + } + + /** + * Recursive upload with NapCat-style piggyback. Each invocation: + * 1. Walks `nodes`. For any node whose `innerForward` is set, + * recursively uploads that inner chain first (which itself runs + * this same recursion). + * 2. Replaces the node's `elements` with an ARK preview pointing at + * the inner res_id (and inner uuid for receiver-side walking). + * 3. Accumulates the inner level's `{uuid, msgBody}` plus all of + * ITS accumulated `innerActions` into this level's piggyback list. + * 4. Encodes this level's long-msg payload as + * `[MultiMsg + thisMsgBody, ...innerActions]`, uploads it, + * returns `{resId, msgBody, uuid, innerActions}` so an outer + * caller can keep piggybacking up the tree. + */ + private async uploadRecursive( + nodes: ForwardNodePayload[], + groupId?: number, + userId?: number, + ): Promise { + if (!Array.isArray(nodes) || nodes.length === 0) { + throw new Error('forward nodes are required'); + } + + const bridge = asBridge(this.ctx); + + // For a private forward to `userId`, any image/record/video inside a node + // needs the recipient's uid as upload scene. Resolve it once up-front, + // and only when at least one node actually contains media (saves an RPC + // for text-only forwards). Also need it when a node is itself a nested + // forward — the inner upload uses the same scene. + let userUid: string | undefined; + + if (groupId === undefined && userId !== undefined && userId > 0) { + const needsUid = nodes.some( + (node) => + !!node.innerForward || + node.elements.some( + (e) => e.type === 'image' || e.type === 'record' || e.type === 'video', + ), + ); + + if (needsUid) { + const resolved = await this.ctx.resolveUserUid(userId); + + if (resolved) { + userUid = resolved; + } + } + } + + // Walk nodes and resolve nested forwards first (so we know their + // res_id / uuid before encoding the outer ARK previews). Build + // `processedNodes` with elements rewritten for nested layers, + // and collect every inner level's piggyback in `myInnerActions`. + // + // CRITICAL: the same uuid (`inner.uuid`) MUST be baked into the + // outer's preview element as `forwardUuid` AND used as the + // `actionCommand` for the outer's piggyback entry. That's the + // alignment the QQ-NT receiver uses to find the inner layer + // inside the outer's LongMsgResult without a second server fetch + // — see `dev/NapCatQQ/.../SendMsg.ts:241-246` + the `uniseq` round- + // trip in `dev/NapCatQQ/.../forward-msg-builder.ts:94`. + const myInnerActions: ForwardInnerAction[] = []; + const cachedLayers = new Map(); + const processedNodes: ForwardNodePayload[] = []; + const isGroup = groupId !== undefined; + + for (const node of nodes) { + if (node.innerForward && node.innerForward.length > 0) { + const inner = await this.uploadRecursive(node.innerForward, groupId, userId); + // NapCat piggybacks `{uuid: inner.uuid, packetMsg: inner.packetMsg}` + // + the entire `inner.innerPacketMsg` array up to its caller. We + // mirror that — `inner.uuid` indexes the inner level itself, + // and `inner.innerActions` already contains deeper layers. + myInnerActions.push({ uuid: inner.uuid, msgBody: inner.msgBody }); + myInnerActions.push(...inner.innerActions); + + for (const [resId, cached] of inner.cachedLayers) { + cachedLayers.set(resId, cached); + } + + // Replace the inner placeholder element with a forward preview + // pointing at the inner res_id. `forwardUuid: inner.uuid` + // baked into the LightApp JSON's `meta.detail.uniseq` is what + // closes the loop with our piggyback action above. + const previewElement: MessageElement = { + type: 'forward', + resId: inner.resId, + forwardUuid: inner.uuid, + forwardSource: + node.source && node.source.length > 0 + ? node.source + : deriveInnerSource(node.innerForward, isGroup), + forwardSummary: + node.summary && node.summary.length > 0 + ? node.summary + : `查看${node.innerForward.length}条转发消息`, + forwardPrompt: + node.prompt && node.prompt.length > 0 ? node.prompt : '[聊天记录]', + forwardNews: + node.news && node.news.length > 0 + ? node.news + : previewLinesFromNodes(node.innerForward), + forwardTSum: node.innerForward.length, + }; + const processed = cloneNodeWithElements(node, [previewElement]); + delete processed.innerForward; + processedNodes.push(processed); + } else { + processedNodes.push(node); + } + } + + const uploadReadyNodes = await this.prepareForwardFiles(processedNodes, groupId, userId); + + // Encode this level's msgBody. + const msgBody = await Promise.all( + uploadReadyNodes.map((node) => buildForwardPushBody(bridge, node, groupId, userUid)), + ); + + // Compose the action list: own MultiMsg + piggybacked inner actions. + const longMsgResult = protobuf_encode({ + action: [ + { actionCommand: 'MultiMsg', actionData: { msgBody } }, + ...myInnerActions.map((a) => ({ + actionCommand: a.uuid, + actionData: { msgBody: a.msgBody }, + })), + ], + }); + + const selfUid = await resolveSelfUid(bridge); + const info: SendLongMsgReq['info'] = { + type: groupId ? 3 : 1, + uid: { uid: groupId ? String(groupId) : selfUid }, + payload: gzipSync(Buffer.from(longMsgResult)), + }; + + if (groupId) { + info.groupUin = groupId; + } + + const request = protobuf_encode({ + info, + settings: { + field1: 4, + field2: 1, + field3: 7, + field4: 0, + }, + }); + + const result = await this.ctx.sendRawPacket( + 'trpc.group.long_msg_interface.MsgService.SsoSendLongMsg', + request, + ); + + if (!result.success || !result.gotResponse || !result.responseData) { + throw new Error(result.errorMessage || 'upload forward message failed'); + } + + const resp = protobuf_decode(result.responseData); + const resId = typeof resp?.result?.resId === 'string' ? resp.result.resId : ''; + + if (!resId) { + throw new Error('upload forward message response missing res_id'); + } + + cachedLayers.set( + resId, + uploadReadyNodes.map((node) => ({ + ...cloneNodeWithElements(node, node.elements.map(cacheableForwardElement)), + groupId: node.groupId ?? groupId, + messageType: node.messageType ?? (groupId ? 'group' : 'private'), + })), + ); + + return { + resId, + msgBody, + // UUID generated here so the OUTER caller can use it as both + // (1) the `actionCommand` for its piggyback entry carrying our + // msgBody, and + // (2) the `forwardUuid` baked into its forward-preview element + // pointing at our resId. + // Receivers walking the outer's LongMsgResult find the inner + // layer by matching `uniseq` from (2) against `actionCommand` + // from (1) — no separate fetch needed. + uuid: randomUUID(), + innerActions: myInnerActions, + cachedLayers, + }; + } + + async fetch(resId: string): Promise { + const bridge = asBridge(this.ctx); + const cached = this.cache.get(resId); + + if (cached) { + const nodes = cloneNodes(cached.nodes); + + // Bundled inner nodes are cached un-enriched; enrich + // on read (a no-op once names are present) and persist so later hits skip. + if (await this.enrichSenders(nodes)) { + this.cache.update(cached, cloneNodes(nodes)); + } + + return nodes; + } + + const selfUid = await resolveSelfUid(bridge); + const request = protobuf_encode({ + info: { + uid: { uid: selfUid }, + resId, + acquire: true, + }, + settings: { + field1: 2, + field2: 0, + field3: 0, + field4: 0, + }, + }); + + const result = await this.ctx.sendRawPacket( + 'trpc.group.long_msg_interface.MsgService.SsoRecvLongMsg', + request, + ); + + if (!result.success || !result.gotResponse || !result.responseData) { + throw new Error(result.errorMessage || 'download forward message failed'); + } + + const resp = protobuf_decode(result.responseData); + const payload = resp?.result?.payload; + + if (!(payload instanceof Uint8Array) || payload.length === 0) { + throw new Error('download forward message payload is empty'); + } + + let inflate: Buffer; + + try { + inflate = gunzipSync(Buffer.from(payload), { + maxOutputLength: FORWARD_LONG_MSG_MAX_OUTPUT_BYTES, + }); + } catch (cause) { + const reason = cause instanceof Error ? cause.message : String(cause); + log.warn( + 'forward long-msg decompression failed: res_id=%s compressed_bytes=%d max_output_bytes=%d error=%s', + resId, + payload.byteLength, + FORWARD_LONG_MSG_MAX_OUTPUT_BYTES, + reason, + ); + throw new Error( + `download forward message decompression failed ` + + `(res_id=${resId}, compressed_bytes=${payload.byteLength}, ` + + `max_output_bytes=${FORWARD_LONG_MSG_MAX_OUTPUT_BYTES}): ${reason}`, + { cause }, + ); + } + + const longMsg = protobuf_decode(inflate); + const actions = Array.isArray(longMsg?.action) ? longMsg!.action! : []; + const mainAction = actions.find((item) => item?.actionCommand === 'MultiMsg'); + const msgBodyList = Array.isArray(mainAction?.actionData?.msgBody) + ? mainAction!.actionData!.msgBody + : []; + + // Piggyback index: any non-`MultiMsg` action carries an inner + // layer keyed by the uuid the sender baked into its forward + // preview's `uniseq`. Build a lookup so we can resolve inner + // forwards (via their uniseq → inner msgBody) without a second + // server roundtrip — matches the sender-side piggyback emitted in + // `uploadRecursive` above. + const piggybackByUuid = new Map(); + + for (const action of actions) { + const cmd = action?.actionCommand; + + if (!cmd || cmd === 'MultiMsg') { + continue; + } + + const body = Array.isArray(action.actionData?.msgBody) ? action.actionData.msgBody : []; + piggybackByUuid.set(cmd, body); + } + + const nodes = this.decodeMsgBodiesToNodes(msgBodyList); + + // Walk the decoded outer nodes for inner-forward previews + // (`type: 'forward', forwardUuid: `). For each, pull the + // matching piggyback body, decode it into inner nodes, and seed + // the cache by the inner resId so a follow-up `fetch(innerResId)` + // hits the cache instead of the wire. + const cachedLayers = this.collectForwardLayers(resId, nodes, piggybackByUuid); + + // Fill sender nickname/card for nodes the SsoRecvLongMsg payload left empty + // or stamped with the "QQ用户" placeholder (#174) — the long-msg member name + // isn't always populated, and the sync decode only consults the L1 cache. + await this.enrichSenders(nodes); + + if (nodes.length > 0) { + cachedLayers.set(resId, cloneNodes(nodes)); + this.cache.set(resId, cachedLayers); + } + + return nodes; + } + + /** A node whose display name the server didn't give us (empty or the QQ + * placeholder) and that we can resolve (has a uin). */ + private needsName(n: ForwardNodePayload): boolean { + return !!n.userUin && (!n.nickname || n.nickname === FORWARD_NAME_PLACEHOLDER); + } + + /** Backfill sender nickname/card on forward nodes the long-msg payload left + * nameless. Resolves group senders via one member-list fetch per group (L3, + * inflight+TTL cached in ContactsApi), then any residue + private nodes via + * the user-profile lookup (L4). Best-effort: a failed lookup keeps the + * placeholder rather than failing the whole forward. Returns true if any + * node was changed (so callers can persist the enriched cache). */ + private async enrichSenders(nodes: ForwardNodePayload[]): Promise { + const pending = nodes.filter((n) => this.needsName(n)); + + if (pending.length === 0) { + return false; + } + + let changed = false; + + // L3 — group member lists (one fetch resolves every sender from that group). + const byGroup = new Map(); + const residue: ForwardNodePayload[] = []; + + for (const n of pending) { + if (n.messageType === 'group' && n.groupId) { + const arr = byGroup.get(n.groupId) ?? []; + arr.push(n); + byGroup.set(n.groupId, arr); + } else { + residue.push(n); + } + } + + for (const [groupId, groupNodes] of byGroup) { + let byUin: Map; + + try { + const members = await this.ctx.apis.contacts.fetchGroupMemberList(groupId); + byUin = new Map( + members.map((m) => [m.uin, { nickname: m.nickname, card: m.card }]), + ); + } catch { + // Member list (one cheap, cached call) failed — keep the placeholder + // rather than fanning the whole group out to per-uin profile lookups. + // That error path is exactly what would amplify into a rate-limit ban. + continue; + } + + for (const n of groupNodes) { + const m = byUin.get(n.userUin); + const name = m?.card || m?.nickname; + + if (name) { + n.senderCard = m!.card || n.senderCard || ''; + n.nickname = name; + changed = true; + } else { + residue.push(n); // in-group sender that left the group → profile fallback + } + } + } + + // L4 — user profile for the residue (members who left the group, private + // nodes). fetchUserProfile is an un-cached single-point OIDB 0xFE1_2, and + // Tencent rate-limits these hard (see ContactsApi's member-list note), so: + // dedupe by uin, CAP the count (drop the rest to placeholder), and resolve + // in small concurrency-limited batches. Best-effort. + const uins = [ + ...new Set(residue.filter((n) => this.needsName(n)).map((n) => n.userUin)), + ].slice(0, FORWARD_PROFILE_MAX); + + if (uins.length > 0) { + const byUin = new Map(); + const results = await mapWithConcurrency( + uins, + FORWARD_PROFILE_CONCURRENCY, + async (uin): Promise => { + try { + return [ + uin, + (await this.ctx.apis.contacts.fetchUserProfile(uin)).nickname, + ] as const; + } catch { + return [uin, ''] as const; + } + }, + ); + + for (const [uin, nick] of results) { + byUin.set(uin, nick); + } + + for (const n of residue) { + if (!this.needsName(n)) { + continue; + } + + const nick = byUin.get(n.userUin); + + if (nick) { + n.nickname = nick; + changed = true; + } + } + } + + return changed; + } + + /** Walk a list of PushMsgBody, run each through the regular msg-push + * pipeline, and shape the result into ForwardNodePayloads. Extracted + * so both the outer + piggyback decode paths share one implementation. */ + private decodeMsgBodiesToNodes(msgBodyList: PushMsgBody[]): ForwardNodePayload[] { + const out: ForwardNodePayload[] = []; + + for (const msgBody of msgBodyList) { + const wrapped = protobuf_encode({ message: msgBody }); + const pkt: PacketInfo = { + pid: 0, + uin: this.ctx.identity.uin, + serviceCmd: 'trpc.msg.olpush.OlPushService.MsgPush', + seqId: 0, + retCode: 0, + fromClient: false, + body: wrapped, + }; + const events = parseMsgPush(pkt, this.ctx.identity); + const event = events.find( + (e) => + e.kind === 'friend_message' || + e.kind === 'group_message' || + e.kind === 'temp_message', + ); + + if (!event) { + continue; + } + + if (event.kind === 'group_message') { + // [#201] The merged-forward sender name now comes through the group + // decoder (event.senderNick), which reads grp.memberCard (field 4) when + // there's no member cache — exactly the forward-node case. + out.push({ + userUin: event.senderUin, + nickname: event.senderCard || event.senderNick, + elements: event.elements, + time: event.time, + msgId: event.msgId, + msgSeq: event.msgSeq, + groupId: event.groupId, + senderCard: event.senderCard, + messageType: 'group', + }); + } else if (event.kind === 'friend_message') { + out.push({ + userUin: event.senderUin, + nickname: event.senderNick, + elements: event.elements, + time: event.time, + msgId: event.msgId, + msgSeq: event.msgSeq, + messageType: 'private', + }); + } else { + out.push({ + userUin: event.senderUin, + nickname: event.senderNick, + elements: event.elements, + time: event.time, + msgSeq: event.msgSeq, + groupId: event.groupId, + messageType: 'private', + }); + } + } + + return out; + } + + /** Resolve forward previews against the piggyback table. + * For every `{type: 'forward', resId, forwardUuid}` element we find, + * look up the uniseq in the piggyback map; if hit, decode the + * inner msgBody and cache it by inner resId, then descend into that + * inner layer to resolve deeper nestings carried in the SAME + * piggyback set (NapCat hoists the entire tree's piggybacks onto + * the outermost action list). */ + private collectForwardLayers( + resId: string, + nodes: ForwardNodePayload[], + piggybackByUuid: Map, + ): Map { + const layers = new Map([[resId, cloneNodes(nodes)]]); + const decodedByUuid = new Map(); + + for (const chain of layers.values()) { + for (const node of chain) { + for (const elem of node.elements) { + if (elem.type !== 'forward') { + continue; + } + + const uuid = elem.forwardUuid; + const innerResId = elem.resId; + + if (!uuid || !innerResId || layers.has(innerResId)) { + continue; + } + + const body = + piggybackByUuid.get(uuid) ?? + (uuid.startsWith('MultiMsg_') + ? piggybackByUuid.get(uuid.slice('MultiMsg_'.length)) + : undefined); + + if (!body) { + continue; + } + + let innerNodes = decodedByUuid.get(uuid); + + if (!innerNodes) { + innerNodes = cloneNodes(this.decodeMsgBodiesToNodes(body)); + decodedByUuid.set(uuid, innerNodes); + } + + layers.set(innerResId, innerNodes); + } + } + } + + return layers; + } +} + +function cacheableForwardElement(element: MessageElement): MessageElement { + if (element.type !== 'image') { + return element; + } + + if (element.imageUrl || element.fileId || element.md5Hex) { + return element; + } + + const source = (element.url ?? '').trim(); + + if (!source) { + return element; + } + + return { ...element, imageUrl: source }; +} + +function cloneNodes(nodes: ForwardNodePayload[]): ForwardNodePayload[] { + return nodes.map((node) => cloneNodeWithElements(node, [...node.elements])); +} diff --git a/packages/core/src/bridge/apis/friend.ts b/packages/core/src/bridge/apis/friend.ts new file mode 100644 index 00000000..27a2e96d --- /dev/null +++ b/packages/core/src/bridge/apis/friend.ts @@ -0,0 +1,123 @@ +import { createLogger } from '@snowluma/common/logger'; +import { findDatalineDeviceByUin } from '@snowluma/protocol/dataline/device-contacts'; +import { ApproveDoubtBuddyReq } from '@snowluma/protocol/oidb-services/friend/approve-doubt-buddy-req'; +import { ClearFriendRemark } from '@snowluma/protocol/oidb-services/friend/clear-friend-remark'; +import { DeleteFriend } from '@snowluma/protocol/oidb-services/friend/delete-friend'; +import { + GetDoubtBuddyReq, + type DoubtBuddyRequest, +} from '@snowluma/protocol/oidb-services/friend/get-doubt-buddy-req'; +import { HandleFriendRequest } from '@snowluma/protocol/oidb-services/friend/handle-friend-request'; +import { RejectDoubtBuddyReq } from '@snowluma/protocol/oidb-services/friend/reject-doubt-buddy-req'; +import { SetFriendRemark } from '@snowluma/protocol/oidb-services/friend/set-friend-remark'; +import type { BridgeContext } from '../bridge-context'; + +export type { DoubtBuddyRequest }; + +const log = createLogger('Bridge.Friend'); + +export class FriendApi { + constructor(private readonly ctx: BridgeContext) {} + + /** + * Accept or reject an inbound friend request. `uidOrFlag` is either a + * pre-resolved UID string or a numeric uin (then resolved on the fly). + */ + handleRequest(uidOrFlag: string, approve: boolean): Promise { + return HandleFriendRequest.invoke(this.ctx, { uidOrFlag, approve }); + } + + async delete(userId: number, block = false): Promise { + if (findDatalineDeviceByUin(userId)) { + throw new Error('this contact cannot be deleted'); + } + + await DeleteFriend.invoke(this.ctx, { userId, block }); + + // The server-side delete has already completed. A refresh failure must be + // visible, but throwing here would misreport the delete itself as failed + // and encourage callers to repeat a destructive request. + try { + await this.ctx.apis.contacts.fetchFriendList(); + } catch (err: unknown) { + log.warn( + 'friend-list refresh failed after deleting user=%d: %s', + userId, + err instanceof Error ? err.message : String(err), + ); + } + } + + async setRemark(userId: number, remark: string): Promise { + if (findDatalineDeviceByUin(userId)) { + throw new Error('this contact does not support remarks'); + } + + if (remark === '') { + await ClearFriendRemark.invoke(this.ctx, { userId }); + return; + } + + await SetFriendRemark.invoke(this.ctx, { userId, remark }); + } + + /** List doubtful friend-add requests (可能认识的人). */ + async getDoubtRequests(count: number): Promise { + const list = await GetDoubtBuddyReq.invoke(this.ctx, { count }); + return Promise.all( + list.map(async (item) => { + let uid = item.uid; + let userId = item.user_id; + + if (userId <= 0 && uid) { + userId = this.ctx.identity.findUinByUid(uid) ?? 0; + } + + // Applicants need not be friends or share a group. Use Identity's + // profile lookup when the list only supplies an account number. + if (!uid && userId > 0) { + try { + uid = await this.ctx.resolveUserUid(userId); + } catch (err: unknown) { + log.warn( + 'doubt-request uid resolve failed: user=%d err=%s', + userId, + err instanceof Error ? err.message : String(err), + ); + } + } + + return { ...item, uid: uid || '', user_id: userId }; + }), + ); + } + + /** Approve a doubtful friend-add request. `uidOrFlag` is the list uid, or a digit-only account number. */ + async approveDoubtRequest(uidOrFlag: string): Promise { + log.trace('doubt-request approval: resolving applicant'); + const uid = await this.resolveDoubtFlag(uidOrFlag); + log.trace('doubt-request approval: submitting request'); + await ApproveDoubtBuddyReq.invoke(this.ctx, { uid }); + log.trace('doubt-request approval: completed'); + } + + /** Reject (delete/decline) a doubtful friend-add request. `uidOrFlag` matches `approveDoubtRequest`. */ + async rejectDoubtRequest(uidOrFlag: string): Promise { + return RejectDoubtBuddyReq.invoke(this.ctx, { + uid: await this.resolveDoubtFlag(uidOrFlag), + }); + } + + /** + * Digit-only flags are account numbers and must be translated before the + * approval/reject packet is built. A raw number in that packet is rejected + * by the server. Same rule as inbound friend-request handling. + */ + private resolveDoubtFlag(uidOrFlag: string): Promise { + if (!/^\d+$/.test(uidOrFlag)) { + return Promise.resolve(uidOrFlag); + } + + return this.ctx.resolveUserUid(parseInt(uidOrFlag, 10)); + } +} diff --git a/packages/core/src/bridge/apis/group-admin.ts b/packages/core/src/bridge/apis/group-admin.ts new file mode 100644 index 00000000..bff70a48 --- /dev/null +++ b/packages/core/src/bridge/apis/group-admin.ts @@ -0,0 +1,440 @@ +import { GetAtAllRemain } from '@snowluma/protocol/oidb-services/group-admin/get-at-all-remain'; +import { FetchGroupDetail } from '@snowluma/protocol/oidb-services/contacts/fetch-group-detail'; +import { KickMember } from '@snowluma/protocol/oidb-services/group-admin/kick-member'; +import { KickMembers } from '@snowluma/protocol/oidb-services/group-admin/kick-members'; +import { LeaveGroup } from '@snowluma/protocol/oidb-services/group-admin/leave-group'; +import { MuteAll } from '@snowluma/protocol/oidb-services/group-admin/mute-all'; +import { MuteMember } from '@snowluma/protocol/oidb-services/group-admin/mute-member'; +import { SetAddOption } from '@snowluma/protocol/oidb-services/group-admin/set-add-option'; +import { SetAddRequest } from '@snowluma/protocol/oidb-services/group-admin/set-add-request'; +import { SetAdmin } from '@snowluma/protocol/oidb-services/group-admin/set-admin'; +import { GetAdminPermissions } from '@snowluma/protocol/oidb-services/group-admin/get-admin-permissions'; +import { GetAdminReceiveVerify } from '@snowluma/protocol/oidb-services/group-admin/get-admin-receive-verify'; +import { + SetAdminPermissions, + type GroupAdminPermissionPatch, +} from '@snowluma/protocol/oidb-services/group-admin/set-admin-permissions'; +import { SetAdminReceiveVerify } from '@snowluma/protocol/oidb-services/group-admin/set-admin-receive-verify'; +import { createLogger } from '@snowluma/common/logger'; +import { SetGroupName } from '@snowluma/protocol/oidb-services/group-admin/set-group-name'; +import { SetGroupRemark } from '@snowluma/protocol/oidb-services/group-admin/set-group-remark'; +import { SetMemberCard } from '@snowluma/protocol/oidb-services/group-admin/set-member-card'; +import { FetchGroupExtInfo } from '@snowluma/protocol/oidb-services/group-admin/get-group-ext-info'; +import { + decodeMemberInvitePolicy, + MEMBER_INVITE_PRIVILEGE_MASK, + mergeMemberInvitePrivilegeFlag, + SetMemberInvitePolicy, + type GroupMemberInvitePolicy, +} from '@snowluma/protocol/oidb-services/group-admin/set-member-invite-policy'; +import { + decodeGroupHistoryVisibility, + SetNewMemberHistoryVisibility, +} from '@snowluma/protocol/oidb-services/group-admin/set-new-member-history-visibility'; +import { + decodeGroupMemberPermissions, + GROUP_MEMBER_PERMISSION_MASKS, + mergeGroupMemberPermission, + SetMemberPermission, + type GroupMemberPermission, +} from '@snowluma/protocol/oidb-services/group-admin/set-member-permission'; +import { SetSearch } from '@snowluma/protocol/oidb-services/group-admin/set-search'; +import { GetGroupCategoryTags } from '@snowluma/protocol/oidb-services/group-admin/get-group-category-tags'; +import { AddGroupCategoryTag } from '@snowluma/protocol/oidb-services/group-admin/add-group-category-tag'; +import { DeleteGroupCategoryTag } from '@snowluma/protocol/oidb-services/group-admin/delete-group-category-tag'; +import { SetSpecialTitle } from '@snowluma/protocol/oidb-services/group-admin/set-special-title'; +import { ModifyGroupExtInfo } from '@snowluma/protocol/oidb-services/group-admin/modify-group-ext-info'; +import { OidbError } from '@snowluma/protocol/oidb-service'; +import type { BridgeContext } from '../bridge-context'; + +const log = createLogger('Bridge.GroupAdmin'); + +/** QQ only accepts this write from the group owner (#411). */ +export const MEMBER_PERMISSIONS_OWNER_ONLY = + 'only the group owner can change group member permissions'; + +export type GroupAdminSettings = { + add_type: number; + group_question: string; + group_answer: string; + robot_member_switch: number; + robot_member_examine: number; + member_invite_policy: GroupMemberInvitePolicy; + allow_member_upload_album: boolean; + allow_member_temporary_session: boolean; + allow_member_create_group: boolean; + new_member_history_visible: boolean; + no_finger_open: number; + no_code_finger_open: number; +}; + +export interface GroupMemberPermissions { + allowMemberUploadAlbum?: boolean; + allowMemberTemporarySession?: boolean; + allowMemberCreateGroup?: boolean; +} + +export class GroupAdminApi { + constructor(private readonly ctx: BridgeContext) {} + + /** Set the group's robot-add option (switch / examine) via group ext-info. */ + setRobotAddOption( + groupId: number, + robotMemberSwitch?: number, + robotMemberExamine?: number, + ): Promise { + return ModifyGroupExtInfo.invoke(this.ctx, { + groupId, + robotMemberSwitch, + robotMemberExamine, + }); + } + + async getAdminSettings(groupId: number): Promise { + const [detail, robot] = await Promise.all([ + FetchGroupDetail.invoke(this.ctx, { groupUin: groupId }), + FetchGroupExtInfo.invoke(this.ctx, { groupId }), + ]); + const results = detail.groupInfo?.results; + + if (!results) { + throw new Error(`unable to read group admin settings for group ${groupId}`); + } + + const privilegeFlag = results.privilegeFlag ?? 0; + const permissions = decodeGroupMemberPermissions(privilegeFlag); + return { + add_type: results.addType ?? 0, + group_question: results.question ?? '', + group_answer: results.answer ?? '', + robot_member_switch: robot.robotMemberSwitch, + robot_member_examine: robot.robotMemberExamine, + member_invite_policy: decodeMemberInvitePolicy(privilegeFlag), + allow_member_upload_album: permissions.allowMemberUploadAlbum, + allow_member_temporary_session: permissions.allowMemberTemporarySession, + allow_member_create_group: permissions.allowMemberCreateGroup, + new_member_history_visible: decodeGroupHistoryVisibility(results.groupFlagExt4 ?? 0), + no_finger_open: results.noFingerOpen ?? 0, + no_code_finger_open: results.noCodeFingerOpen ?? 0, + }; + } + + muteMember(groupId: number, userId: number, duration: number): Promise { + return MuteMember.invoke(this.ctx, { groupId, userId, duration }); + } + + muteAll(groupId: number, enable: boolean): Promise { + return MuteAll.invoke(this.ctx, { groupId, enable }); + } + + setAddOption( + groupId: number, + addType: number, + groupQuestion?: string, + groupAnswer?: string, + ): Promise { + return SetAddOption.invoke(this.ctx, { groupId, addType, groupQuestion, groupAnswer }); + } + + setSearch(groupId: number, noFingerOpen?: number, noCodeFingerOpen?: number): Promise { + return SetSearch.invoke(this.ctx, { groupId, noFingerOpen, noCodeFingerOpen }); + } + + listCategoryTags( + groupClass: number, + ): Promise<{ tags: { id: number; name: string; type: number }[] }> { + return GetGroupCategoryTags.invoke(this.ctx, { groupClass }); + } + + addCategoryTag(groupClass: number, name: string): Promise { + return AddGroupCategoryTag.invoke(this.ctx, { groupClass, name }); + } + + removeCategoryTag(groupClass: number, name: string): Promise { + return DeleteGroupCategoryTag.invoke(this.ctx, { groupClass, name }); + } + + async setMemberInvitePolicy(groupId: number, policy: GroupMemberInvitePolicy): Promise { + const currentPrivilegeFlag = await this.fetchGroupPrivilegeFlag( + groupId, + 'group member invite policy', + 'before update', + ); + const expectedPrivilegeFlag = mergeMemberInvitePrivilegeFlag(currentPrivilegeFlag, policy); + + await SetMemberInvitePolicy.invoke(this.ctx, { + groupId, + currentPrivilegeFlag, + policy, + }); + + const actualPrivilegeFlag = await this.fetchGroupPrivilegeFlag( + groupId, + 'group member invite policy', + 'after update', + ); + const mask = BigInt(MEMBER_INVITE_PRIVILEGE_MASK); + + if ((BigInt(actualPrivilegeFlag) & mask) !== (BigInt(expectedPrivilegeFlag) & mask)) { + throw new Error(`group member invite policy was not applied for group ${groupId}`); + } + } + + private async fetchGroupPrivilegeFlag( + groupId: number, + setting: string, + phase: string, + ): Promise { + return (await this.fetchGroupPrivilegeState(groupId, setting, phase)).privilegeFlag; + } + + private async fetchGroupPrivilegeState( + groupId: number, + setting: string, + phase: string, + ): Promise<{ privilegeFlag: number; ownerUid?: string }> { + const detail = await FetchGroupDetail.invoke(this.ctx, { groupUin: groupId }); + const results = detail.groupInfo?.results; + + if (!results) { + throw new Error(`unable to read ${setting} ${phase} for group ${groupId}`); + } + + return { + privilegeFlag: results.privilegeFlag ?? 0, + ownerUid: results.ownerUid, + }; + } + + async setMemberPermissions( + groupId: number, + permissions: GroupMemberPermissions, + ): Promise { + const updates: ReadonlyArray = [ + ['upload_album', permissions.allowMemberUploadAlbum], + ['temporary_session', permissions.allowMemberTemporarySession], + ['create_group', permissions.allowMemberCreateGroup], + ]; + + if (!updates.some(([, allow]) => allow !== undefined)) { + throw new Error('at least one member permission must be specified'); + } + + const before = await this.fetchGroupPrivilegeState( + groupId, + 'group member permissions', + 'before update', + ); + const selfUid = this.ctx.identity.selfUid; + + if (selfUid && before.ownerUid && selfUid !== before.ownerUid) { + throw new Error(MEMBER_PERMISSIONS_OWNER_ONLY); + } + + let expectedPrivilegeFlag = before.privilegeFlag; + let combinedMask = 0n; + + for (const [permission, allow] of updates) { + if (allow === undefined) { + continue; + } + + try { + await SetMemberPermission.invoke(this.ctx, { + groupId, + currentPrivilegeFlag: expectedPrivilegeFlag, + permission, + allow, + }); + } catch (error) { + if (error instanceof OidbError && error.code === 1287) { + throw new Error(MEMBER_PERMISSIONS_OWNER_ONLY); + } + + throw error; + } + + expectedPrivilegeFlag = mergeGroupMemberPermission( + expectedPrivilegeFlag, + permission, + allow, + ); + combinedMask |= BigInt(GROUP_MEMBER_PERMISSION_MASKS[permission]); + } + + const actualPrivilegeFlag = await this.fetchGroupPrivilegeFlag( + groupId, + 'group member permissions', + 'after update', + ); + + if ( + (BigInt(actualPrivilegeFlag) & combinedMask) !== + (BigInt(expectedPrivilegeFlag) & combinedMask) + ) { + throw new Error(`group member permissions were not applied for group ${groupId}`); + } + } + + async setNewMemberHistoryVisibility(groupId: number, visible: boolean): Promise { + await SetNewMemberHistoryVisibility.invoke(this.ctx, { groupId, visible }); + + const actualGroupFlagExt4 = await this.fetchGroupFlagExt4(groupId, 'after update'); + + if (decodeGroupHistoryVisibility(actualGroupFlagExt4) !== visible) { + throw new Error(`new-member history visibility was not applied for group ${groupId}`); + } + } + + private async fetchGroupFlagExt4(groupId: number, phase: string): Promise { + const detail = await FetchGroupDetail.invoke(this.ctx, { groupUin: groupId }); + const results = detail.groupInfo?.results; + + if (!results) { + throw new Error( + `unable to read new-member history visibility ${phase} for group ${groupId}`, + ); + } + + return results.groupFlagExt4 ?? 0; + } + + setAddRequest( + groupId: number, + sequence: number, + eventType: number, + approve: boolean, + reason = '', + filtered = false, + operateTransInfo?: Uint8Array, + ): Promise { + return SetAddRequest.invoke(this.ctx, { + groupId, + sequence, + eventType, + approve, + reason, + filtered, + operateTransInfo, + }); + } + + kickMember(groupId: number, userId: number, reject: boolean, reason = ''): Promise { + return KickMember.invoke(this.ctx, { groupId, userId, reject, reason }); + } + + kickMembers(groupId: number, userIds: number[], reject: boolean): Promise { + return KickMembers.invoke(this.ctx, { groupId, userIds, reject }); + } + + async leave(groupId: number): Promise { + await LeaveGroup.invoke(this.ctx, { groupId }); + // The server doesn't push a member-decrease back to the member who left of + // its own accord, so synthesize the self group_member_leave here — otherwise + // downstream never sees notice.group_decrease and keeps a "zombie" group in + // its cache (#133). Also drop the group from our own roster. + const selfUin = Number(this.ctx.identity.uin) || 0; + const selfUid = this.ctx.identity.selfUid ?? ''; + await this.ctx.events.emit({ + kind: 'group_member_leave', + time: Math.floor(Date.now() / 1000), + selfUin, + groupId, + userUin: selfUin, + operatorUin: selfUin, + userUid: selfUid, + operatorUid: selfUid, + leaveType: 'leave', + }); + this.ctx.identity.forgetGroup(groupId); + } + + setAdmin(groupId: number, userId: number, enable: boolean): Promise { + return SetAdmin.invoke(this.ctx, { groupId, userId, enable }); + } + + async getAdminPermissions(groupId: number, userId: number) { + const logger = log.child({ uin: Number(this.ctx.identity.uin) }); + logger.debug('Reading administrator permissions group=%s user=%s', groupId, userId); + const [snapshot, receiveVerify] = await Promise.all([ + GetAdminPermissions.invoke(this.ctx, { groupId, userId }), + GetAdminReceiveVerify.invoke(this.ctx, { groupId, userId }), + ]); + logger.debug( + 'Administrator permissions received group=%s user=%s recall=%s kick=%s limit=%s receiveVerify=%s', + groupId, + userId, + snapshot.recallMemberMessage, + snapshot.kickMember, + snapshot.kickMemberPerDay, + receiveVerify, + ); + return { + group_id: groupId, + user_id: userId, + recall_member_message: snapshot.recallMemberMessage, + kick_member: snapshot.kickMember, + kick_member_per_day: snapshot.kickMemberPerDay, + receive_verify: receiveVerify, + }; + } + + async setAdminPermissions( + groupId: number, + userId: number, + patch: GroupAdminPermissionPatch, + ): Promise { + const logger = log.child({ uin: Number(this.ctx.identity.uin) }); + logger.debug( + 'Setting administrator permissions group=%s user=%s recall=%s kick=%s limit=%s', + groupId, + userId, + patch.recallMemberMessage, + patch.kickMember, + patch.kickMemberPerDay, + ); + await SetAdminPermissions.invoke(this.ctx, { groupId, userId, ...patch }); + logger.debug('Administrator permissions acknowledged group=%s user=%s', groupId, userId); + } + + async setAdminReceiveVerify(groupId: number, userId: number, enable: boolean): Promise { + const logger = log.child({ uin: Number(this.ctx.identity.uin) }); + logger.debug( + 'Setting administrator receive-verify group=%s user=%s enable=%s', + groupId, + userId, + enable, + ); + await SetAdminReceiveVerify.invoke(this.ctx, { groupId, userId, enable }); + logger.debug('Administrator receive-verify confirmed group=%s user=%s', groupId, userId); + } + + setCard(groupId: number, userId: number, card: string): Promise { + return SetMemberCard.invoke(this.ctx, { groupId, userId, card }); + } + + setName(groupId: number, name: string): Promise { + return SetGroupName.invoke(this.ctx, { groupId, name }); + } + + setSpecialTitle(groupId: number, userId: number, title: string): Promise { + return SetSpecialTitle.invoke(this.ctx, { groupId, userId, title }); + } + + /** + * The bot's local-only label for a group. Lives here rather than + * `FriendApi` because the semantic is "operate on a group" rather + * than "operate on a contact list". + */ + setRemark(groupId: number, remark: string): Promise { + return SetGroupRemark.invoke(this.ctx, { groupId, remark }); + } + + getAtAllRemain(groupId: number): Promise<{ + can_at_all: boolean; + remain_at_all_count_for_group: number; + remain_at_all_count_for_uin: number; + }> { + return GetAtAllRemain.invoke(this.ctx, { groupId }); + } +} diff --git a/packages/core/src/bridge/apis/group-album.ts b/packages/core/src/bridge/apis/group-album.ts new file mode 100644 index 00000000..dd219688 --- /dev/null +++ b/packages/core/src/bridge/apis/group-album.ts @@ -0,0 +1,1124 @@ +import type { JsonObject, JsonValue } from '@snowluma/common/json'; +import { packetTimeoutMs } from '@snowluma/bridge/packet-timeout'; +import { createLogger } from '@snowluma/common/logger'; +import type { + AlbumCreator, + CommentReqBodyHeader, + CommentReqBodyUserWrap, + CommentReqPhotoInfo, + CommentRespData, + DeleteMediasRequest, + DeleteMediasResponse, + DoQunCommentRequest, + DoQunCommentResponse, + DoQunLikeRequest, + DoQunLikeResponse, + GetAlbumListRequest, + GetAlbumListResponse, + GetQunFeedDetailRequest, + GetQunFeedDetailResponse, + GroupAlbumInfo as GroupAlbumInfoWire, + QunFeedCellCommon, + GetMediaListRequest, + GetMediaListResponse, + MediaInfo, + UrlInfo, +} from '@snowluma/proto-defs/oidb-actions/group-album'; +import { + uploadImageToGroupAlbum, + uploadVideoToGroupAlbum, +} from '@snowluma/protocol/web/group-album'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { BridgeContext } from '../bridge-context'; + +const log = createLogger('Bridge.GroupAlbum'); +const GET_ALBUM_LIST_CMD = 'QunAlbum.trpc.qzone.webapp_qun_media.QunMedia.GetAlbumList'; +const GET_ALBUM_LIST_SEQ = 3331; +const DO_QUN_COMMENT_CMD = 'QunAlbum.trpc.qzone.webapp_qun_operation.FeedsWriter.DoQunComment'; +const DO_QUN_COMMENT_SEQ = 8527; +const GET_QUN_FEED_DETAIL_CMD = 'QunAlbum.trpc.qzone.webapp_qun_feeds.FeedsReader.GetQunFeedDetail'; +const GET_QUN_FEED_DETAIL_COMMENT_COUNT = 20; + +function uint64ToString(value: bigint | undefined): string { + return (value ?? 0n).toString(); +} + +function uint64ToSafeNumber(value: bigint | undefined, fieldName: string): number { + const normalized = value ?? 0n; + + if (normalized > BigInt(Number.MAX_SAFE_INTEGER)) { + throw new Error(`group album ${fieldName} exceeds Number.MAX_SAFE_INTEGER: ${normalized}`); + } + + return Number(normalized); +} + +function normalizeAlbumCreator(creator: AlbumCreator | undefined): QunAlbumCreator | undefined { + if (!creator) { + return undefined; + } + + return { + uid: creator.uid ?? '', + nick: creator.nick ?? '', + is_sweet: creator.isSweet ?? false, + is_special: creator.isSpecial ?? false, + is_super_like: creator.isSuperLike ?? false, + custom_id: creator.customId ?? '', + poly_id: creator.polyId ?? '', + portrait: creator.portrait ?? '', + can_follow: creator.canFollow ?? 0, + isfollowed: creator.isFollowed ?? 0, + uin: creator.uin ?? '', + ditto_uin: creator.dittoUin ?? '', + }; +} + +function normalizeCoverUrl(url: UrlInfo | null | undefined): QunAlbumCoverUrl | null { + if (!url) { + return null; + } + + return { + url: url.url ?? '', + width: url.width ?? 0, + height: url.height ?? 0, + }; +} + +function normalizeAlbumCover(cover: MediaInfo | undefined): QunAlbumCover | null { + if (!cover) { + return null; + } + + const image = cover.image; + return { + type: cover.type ?? 0, + image: image + ? { + name: image.name ?? '', + sloc: image.sloc ?? '', + lloc: image.lloc ?? '', + photoUrls: (image.photoUrls ?? []).map((photoUrl) => ({ + spec: photoUrl.spec ?? 0, + url: normalizeCoverUrl(photoUrl.url), + })), + defaultUrl: normalizeCoverUrl(image.defaultUrl), + isGif: image.isGif ?? false, + hasRaw: image.hasRaw ?? false, + } + : null, + }; +} + +function normalizeQunAlbum(album: GroupAlbumInfoWire): QunAlbumInfo { + const normalized: QunAlbumInfo = { + album_id: album.albumId ?? '', + owner: album.owner ?? '', + name: album.name ?? '', + desc: album.description ?? '', + create_time: uint64ToString(album.createTime), + modify_time: uint64ToString(album.modifyTime), + last_upload_time: uint64ToString(album.lastUploadTime), + upload_number: uint64ToString(album.uploadNumber), + cover: normalizeAlbumCover(album.cover), + top_flag: uint64ToString(album.topFlag), + busi_type: album.busiType ?? 0, + status: album.status ?? 0, + allow_share: album.allowShare ?? false, + is_subscribe: album.isSubscribe ?? false, + bitmap: album.bitmap ?? '', + is_share_album: album.isShareAlbum ?? false, + qz_album_type: album.qzAlbumType ?? 0, + cover_type: album.coverType ?? 0, + default_desc: album.defaultDesc ?? '', + sort_type: album.sortType ?? 0, + }; + const creator = normalizeAlbumCreator(album.creator); + + if (creator) { + normalized.creator = creator; + } + + return normalized; +} + +function toLegacyAlbum(album: GroupAlbumInfoWire): GroupAlbumInfo { + const creator = normalizeAlbumCreator(album.creator); + return { + id: album.albumId ?? '', + name: album.name ?? '', + picNum: uint64ToSafeNumber(album.uploadNumber, 'upload_number'), + createTime: uint64ToSafeNumber(album.createTime, 'create_time'), + desc: album.description ?? '', + owner: album.owner ?? '', + createuin: creator?.uin || album.owner || creator?.uid || '', + // QQ NT's AlbumService returns this as a normal UTF-8 protobuf string. + // Unlike the legacy Qzone HTTP endpoint, it does not rewrite Unicode + // emoji into ambiguous [em]...[/em] tags. + createnickname: creator?.nick ?? '', + last_upload_time: uint64ToSafeNumber(album.lastUploadTime, 'last_upload_time'), + cover: normalizeAlbumCover(album.cover), + }; +} + +function convertBigIntToString(obj: unknown): JsonValue { + if (obj === null || obj === undefined) { + return null; + } + + if (typeof obj === 'bigint') { + return obj.toString(); + } + + if (Array.isArray(obj)) { + return obj.map(convertBigIntToString); + } + + if (typeof obj === 'object') { + const result: JsonObject = {}; + + for (const [key, value] of Object.entries(obj)) { + result[key] = convertBigIntToString(value); + } + + return result; + } + + if (typeof obj === 'string' || typeof obj === 'number' || typeof obj === 'boolean') { + return obj; + } + + return null; +} + +export class GroupAlbumApi { + constructor(private readonly ctx: BridgeContext) {} + + private async fetchAlbumList( + groupId: number, + attachInfo: string, + ): Promise { + const traceId = `_${Date.now()}_${Math.floor(Math.random() * 100000)}`; + const body = protobuf_encode({ + seq: GET_ALBUM_LIST_SEQ, + field2: new Uint8Array(0), + field3: new Uint8Array(0), + data: { + groupId: groupId.toString(), + attachInfo, + }, + traceId, + extMap: [{ key: 'fc-appid', value: '100' }], + }); + + log.debug( + 'get album list request: group=%d cursorChars=%d requestBytes=%d', + groupId, + attachInfo.length, + body.length, + ); + + const result = await this.ctx.sendRawPacket(GET_ALBUM_LIST_CMD, body, packetTimeoutMs()); + + if (!result.success || !result.gotResponse || !result.responseData) { + throw new Error( + `get group album list transport failed: ${result.errorMessage || `code ${result.errorCode}`}`, + ); + } + + const response = protobuf_decode(result.responseData); + const resultCode = response.result ?? 0; + + if (resultCode !== 0) { + throw new Error( + `get group album list failed: result=${resultCode}, error=${response.errorText || 'unknown'}`, + ); + } + + const normalized: GroupAlbumWireResult = { + albumList: response.data?.albumList ?? [], + attachInfo: response.data?.attachInfo ?? '', + hasMore: response.data?.hasMore ?? false, + }; + + log.debug( + 'get album list response: group=%d albums=%d hasMore=%s cursorChars=%d responseBytes=%d', + groupId, + normalized.albumList.length, + String(normalized.hasMore), + normalized.attachInfo.length, + result.responseData.length, + ); + return normalized; + } + + /** QQ NT AlbumService-backed list, including its pagination cursor. */ + async listQun(groupId: number, attachInfo = ''): Promise { + const result = await this.fetchAlbumList(groupId, attachInfo); + return { + albumList: result.albumList.map(normalizeQunAlbum), + attachInfo: result.attachInfo, + hasMore: result.hasMore, + }; + } + + // OneBot compatibility shape used by get_group_album_list. + async list(groupId: number): Promise { + const albumList: GroupAlbumList = []; + const seenCursors = new Set(); + let attachInfo = ''; + let page = 0; + + while (true) { + const result = await this.fetchAlbumList(groupId, attachInfo); + page += 1; + albumList.push(...result.albumList.map(toLegacyAlbum)); + + if (!result.hasMore) { + log.debug( + 'get complete album list: group=%d pages=%d albums=%d', + groupId, + page, + albumList.length, + ); + return albumList; + } + + const nextAttachInfo = result.attachInfo; + + if (!nextAttachInfo) { + throw new Error( + `get group album list pagination failed: group=${groupId} page=${page} ` + + 'hasMore=true but cursor is empty', + ); + } + + if (seenCursors.has(nextAttachInfo)) { + throw new Error( + `get group album list pagination failed: group=${groupId} repeated cursor at page ${page}`, + ); + } + + seenCursors.add(nextAttachInfo); + attachInfo = nextAttachInfo; + } + } + + // 上传图片到现有相册(HTTP 分片上传)。 + async upload( + groupId: number, + albumId: string, + albumName: string, + filePath: string, + ): Promise { + const groupCode = groupId.toString(); + const uin = this.ctx.identity.uin; + const cookieObject = await this.ctx.apis.web.getCookies('qzone.qq.com'); + await uploadImageToGroupAlbum(cookieObject, groupCode, albumId, albumName, filePath, uin); + } + + async uploadVideo( + groupId: number, + albumId: string, + albumName: string, + filePath: string, + ): Promise<{ id: string }> { + const groupCode = groupId.toString(); + const uin = this.ctx.identity.uin; + const cookieObject = await this.ctx.apis.web.getCookies('qzone.qq.com'); + return uploadVideoToGroupAlbum(cookieObject, groupCode, albumId, albumName, filePath, uin); + } + + async getMediaList( + groupId: number, + albumId: string, + attachInfo = '', + ): Promise { + const traceId = `_${Date.now()}_${Math.floor(Math.random() * 100000)}`; + + const body = protobuf_encode({ + field1: 0, + field2: new Uint8Array(0), + field3: new Uint8Array(0), + reqInfo: { + groupId: groupId.toString(), + albumId, + field3: 0, + field4: '', + pageInfo: attachInfo, + }, + traceId, + extMap: [{ key: 'fc-appid', value: '100' }], + }); + + const result = await this.ctx.sendRawPacket( + 'QunAlbum.trpc.qzone.webapp_qun_media.QunMedia.GetMediaList', + body, + packetTimeoutMs(), + ); + + if (!result.success || !result.gotResponse || !result.responseData) { + throw new Error(result.errorMessage || 'failed to get album media list'); + } + + const resp = protobuf_decode(result.responseData); + + const retCode = resp.field1 ?? 0; + + if (retCode !== 0) { + throw new Error(`fetch album media list error: retCode ${retCode}`); + } + + const data = resp.data ?? {}; + const mediaList = data.mediaList ?? []; + const nextAttachInfo = data.nextAttachInfo ?? ''; + + return convertBigIntToString({ + mediaList, + nextAttachInfo, + }) as unknown as GroupAlbumMediaResult; + } + + async comment( + groupId: number, + albumId: string, + lloc: string, + content: string, + ): Promise { + const traceId = `_${Date.now()}_${Math.floor(Math.random() * 100000)}`; + const clientKey = Date.now().toString(); + const uin = this.ctx.identity.uin; + const resolved = await this.resolveCommentMedia(groupId, albumId, lloc); + const batchId = optionalBatchId(resolved?.batchId); + + if (batchId === undefined) { + throw new Error('comment album media error: media not found'); + } + + const mediaLloc = commentMediaLloc(resolved, lloc); + const feed = await this.getQunFeedDetail(groupId, albumId, batchId, mediaLloc); + const ownerUin = feed.ownerUin || resolved?.uploader || ''; + const photoInfo = commentPhotoInfo( + feed.media, + mediaInfoForComment(resolved, mediaLloc), + albumId, + batchId, + ); + const headerBytes = + feed.rawCellCommon ?? + protobuf_encode(commentReqHeader(feed.cellCommon)); + const userBytes = + feed.rawCellUser ?? + (ownerUin + ? protobuf_encode({ field1: { uin: ownerUin } }) + : undefined); + const mediaBytes = feed.rawCellMedia ?? protobuf_encode(photoInfo); + const commenterUinNum = numericUin(uin); + + const body = protobuf_encode({ + field1: DO_QUN_COMMENT_SEQ, + field2: new Uint8Array(0), + field3: new Uint8Array(0), + body: { + groupId: groupId.toString(), + field3: 2, + reqBody: { + field1: headerBytes, + ...(userBytes ? { field2: userBytes } : {}), + field5: mediaBytes, + }, + field5: { + user: { + uin, + ...(commenterUinNum !== undefined ? { uinNum: commenterUinNum } : {}), + }, + contents: [{ type: 0, content }], + clientKey, + }, + }, + traceId, + extMap: [{ key: 'fc-appid', value: '100' }], + }); + + const result = await this.ctx.sendRawPacket(DO_QUN_COMMENT_CMD, body, packetTimeoutMs()); + + if (!result.success || !result.gotResponse || !result.responseData) { + throw new Error(result.errorMessage || 'failed to comment on album media'); + } + + const resp = protobuf_decode(result.responseData); + const resultCode = resp.result ?? 0; + + if (resultCode !== 0) { + throw new Error( + `comment album media error: retCode ${resultCode}` + + (resp.errorText ? `, ${resp.errorText}` : ''), + ); + } + + const commentData = commentFromResponse(resp); + + if (!commentData.id) { + throw new Error('comment album media error: empty comment'); + } + + return convertBigIntToString({ + id: commentData.id, + user: { uin: commentData.user?.uin || uin }, + content: (commentData.content ?? [{ type: 0, content }]).map((item) => ({ + type: item.type ?? 0, + content: item.content ?? '', + })), + time: commentData.time ?? '0', + clientKey: commentData.clientKey || clientKey, + }) as unknown as GroupAlbumCommentResult; + } + + async like( + groupId: number, + albumId: string, + batchId: string, + lloc: string | undefined, + isLike: boolean, + ): Promise { + const uin = this.ctx.identity.uin; + const clientKey = `${uin}_${Date.now()}_${Math.floor(Math.random() * 100000)}`; + + const type = isLike ? 2 : 1; + const status = isLike ? 0 : 1; + + const id = qunFeedCellId(groupId, albumId, batchId, lloc); + + const body = protobuf_encode({ + field1: 5495, + field2: 'h5_test', + field3: 'h5_test', + body: { + type, + like: { id, status }, + publish: { + cellCommon: { + time: BigInt(Date.now()), + feedId: `422_0_${batchId}`, + }, + cellUserInfo: { + user: { uin }, + }, + cellMedia: { + albumId, + batchId: BigInt(batchId), + }, + cellQunInfo: { + qunId: groupId.toString(), + }, + }, + clientKey, + }, + extMap: [{ key: 'fc-appid', value: '100' }], + }); + + const result = await this.ctx.sendRawPacket( + 'QunAlbum.trpc.qzone.webapp_qun_operation.FeedsWriter.DoQunLike', + body, + packetTimeoutMs(), + ); + + if (!result.success || !result.gotResponse || !result.responseData) { + throw new Error(result.errorMessage || 'failed to like album media'); + } + + const resp = protobuf_decode(result.responseData); + const resCode = resp.field1; + + if (resCode !== 5495) { + throw new Error(`like album media error: retCode ${resCode ?? 'unknown'}`); + } + + return convertBigIntToString(resp.body?.like ?? {}); + } + + async delete(groupId: number, albumId: string, lloc: string): Promise<{ success: true }> { + const target = await this.resolveDeleteTarget(groupId, albumId, lloc); + const uin = this.ctx.identity.uin; + const clientKey = `${uin}_${Date.now()}_${Math.floor(Math.random() * 100000)}`; + + const body = protobuf_encode({ + field1: 8694, + field2: 'h5_test', + field3: 'h5_test', + body: { + groupId: groupId.toString(), + albumId, + mediaIds: [target.mediaId], + ...(target.batchId ? { batchIds: [target.batchId] } : {}), + }, + traceId: clientKey, + extMap: [{ key: 'fc-appid', value: '100' }], + }); + + const result = await this.ctx.sendRawPacket( + 'QunAlbum.trpc.qzone.webapp_qun_media.QunMedia.DeleteMedias', + body, + packetTimeoutMs(), + ); + + if (!result.success || !result.gotResponse || !result.responseData) { + throw new Error(result.errorMessage || 'failed to delete album media'); + } + + const resp = protobuf_decode(result.responseData); + const resCode = resp.field1; + const errCode = resp.field2; + const errMsg = resp.field3; + + if (resCode !== 8694 || errCode) { + throw new Error( + `delete album media error [${errCode ?? 'unknown'}]: ${errMsg ?? 'unknown'}`, + ); + } + + return { success: true }; + } + + /** + * Official delete uses a photo lloc, or a video's cover lloc plus batch id. + * Callers may pass either an image lloc or a video id; resolve the latter. + */ + private async resolveDeleteTarget( + groupId: number, + albumId: string, + mediaKey: string, + ): Promise<{ mediaId: string; batchId?: string }> { + try { + const seenCursors = new Set(); + let attachInfo = ''; + + while (true) { + const page = await this.getMediaList(groupId, albumId, attachInfo); + const hit = findDeleteTarget(page.mediaList, mediaKey); + + if (hit) { + return hit; + } + + const next = page.nextAttachInfo ?? ''; + + if (!next || seenCursors.has(next)) { + return { mediaId: mediaKey }; + } + + seenCursors.add(next); + attachInfo = next; + } + } catch (err) { + log.debug( + 'resolve album delete target failed, using raw id: group=%d album=%s err=%s', + groupId, + albumId, + err instanceof Error ? err.message : String(err), + ); + return { mediaId: mediaKey }; + } + } + + /** + * Page the album when the caller only has a lloc / video id, so the + * comment can carry the official batch id and media kind. + */ + private async resolveCommentMedia( + groupId: number, + albumId: string, + mediaKey: string, + ): Promise { + const seenCursors = new Set(); + let attachInfo = ''; + + while (true) { + const page = await this.getMediaList(groupId, albumId, attachInfo); + const hit = findCommentMedia(page.mediaList, mediaKey); + + if (hit) { + return hit; + } + + const next = page.nextAttachInfo ?? ''; + + if (!next || seenCursors.has(next)) { + return undefined; + } + + seenCursors.add(next); + attachInfo = next; + } + } + + private async getQunFeedDetail( + groupId: number, + albumId: string, + batchId: bigint, + lloc: string, + ): Promise<{ + cellCommon: QunFeedCellCommon; + ownerUin: string; + media?: CommentReqPhotoInfo; + rawCellCommon?: Uint8Array; + rawCellUser?: Uint8Array; + rawCellMedia?: Uint8Array; + }> { + const traceId = `_${Date.now()}_${Math.floor(Math.random() * 100000)}`; + const body = protobuf_encode({ + seq: 0, + field2: new Uint8Array(0), + field3: new Uint8Array(0), + data: { + groupId: groupId.toString(), + feedId: '', + commentCount: GET_QUN_FEED_DETAIL_COMMENT_COUNT, + attachInfo: '', + albumId, + batchId: batchId.toString(), + lloc, + }, + traceId, + extMap: [{ key: 'fc-appid', value: '100' }], + }); + + const result = await this.ctx.sendRawPacket( + GET_QUN_FEED_DETAIL_CMD, + body, + packetTimeoutMs(), + ); + + if (!result.success || !result.gotResponse || !result.responseData) { + throw new Error(result.errorMessage || 'failed to fetch album feed'); + } + + const resp = protobuf_decode(result.responseData); + const resultCode = resp.result ?? 0; + + if (resultCode !== 0) { + throw new Error( + `fetch album feed error: retCode ${resultCode}` + + (resp.errorText ? `, ${resp.errorText}` : ''), + ); + } + + const feed = resp.data?.feed?.feed; + const cell = feed?.cellCommon; + const feedId = cell?.feedId ?? ''; + + if (!feedId) { + throw new Error('comment album media error: empty feed'); + } + + const responseBytes = toBytes(result.responseData); + return { + cellCommon: cell ?? { feedId }, + ownerUin: feed?.cellUserInfo?.user?.uin ?? '', + media: feed?.cellMedia, + rawCellCommon: nonemptyBytes(protobufSubmessage(responseBytes, [4, 2, 1, 1])), + rawCellUser: nonemptyBytes(protobufSubmessage(responseBytes, [4, 2, 1, 2])), + rawCellMedia: nonemptyBytes(protobufSubmessage(responseBytes, [4, 2, 1, 5])), + }; + } +} + +interface AlbumDeleteMediaItem { + image?: { lloc?: string } | null; + video?: { id?: string; cover?: { lloc?: string } | null } | null; + batchId?: string | number; +} + +function findDeleteTarget( + mediaList: ReadonlyArray, + mediaKey: string, +): { mediaId: string; batchId?: string } | undefined { + for (const raw of mediaList) { + if (!raw || typeof raw !== 'object') { + continue; + } + + const item = raw as AlbumDeleteMediaItem; + const batchId = + item.batchId === undefined || item.batchId === '' ? undefined : String(item.batchId); + + if (item.image?.lloc === mediaKey) { + return { mediaId: mediaKey, batchId }; + } + + const coverLloc = item.video?.cover?.lloc; + + if (item.video?.id === mediaKey || coverLloc === mediaKey) { + return { mediaId: coverLloc || mediaKey, batchId }; + } + } + + return undefined; +} + +interface AlbumCommentMediaItem { + type?: number; + image?: { + name?: string; + sloc?: string; + lloc?: string; + isGif?: boolean; + hasRaw?: boolean; + } | null; + video?: { + id?: string; + cover?: { + name?: string; + sloc?: string; + lloc?: string; + } | null; + } | null; + uploader?: string; + batchId?: string | number | bigint; +} + +function optionalBatchId(value: unknown): bigint | undefined { + if (value === undefined || value === null || value === '') { + return undefined; + } + + try { + const batchId = BigInt(value as string | number | bigint); + return batchId === 0n ? undefined : batchId; + } catch { + return undefined; + } +} + +function commentMediaLloc(item: AlbumCommentMediaItem | undefined, lloc: string): string { + if (item?.video?.cover?.lloc) { + return item.video.cover.lloc; + } + + if (item?.image?.lloc) { + return item.image.lloc; + } + + return lloc; +} + +function mediaInfoForComment(item: AlbumCommentMediaItem | undefined, lloc: string): MediaInfo { + const batchId = optionalBatchId(item?.batchId); + const shared: MediaInfo = { + ...(item?.uploader ? { uploader: item.uploader } : {}), + ...(batchId !== undefined ? { batchId } : {}), + }; + + if (item?.video) { + return { + ...shared, + type: 1, + video: { cover: { lloc: item.video.cover?.lloc || lloc } }, + }; + } + + return { + ...shared, + type: 0, + image: { lloc: item?.image?.lloc || lloc }, + }; +} + +function qunFeedCellId( + groupId: number, + albumId: string, + batchId: string | number | bigint, + lloc?: string, +): string { + const head = `421_1_0_${groupId}|${albumId}|${batchId}`; + + if (!lloc) { + return head; + } + + return `${head}^||^421_1_0_${groupId}|${albumId}|${lloc}^||^0`; +} + +function toBytes(value: Uint8Array): Uint8Array { + return value instanceof Uint8Array ? value : new Uint8Array(value); +} + +function nonemptyBytes(value: Uint8Array | undefined): Uint8Array | undefined { + return value && value.byteLength > 0 ? value : undefined; +} + +function numericUin(uin: string): bigint | undefined { + if (!/^\d+$/.test(uin)) { + return undefined; + } + + try { + return BigInt(uin); + } catch { + return undefined; + } +} + +function readProtobufVarint(buf: Uint8Array, offset: number): { value: number; next: number } { + let value = 0; + let shift = 0; + let next = offset; + + while (next < buf.length && shift <= 28) { + const byte = buf[next++]; + value += (byte & 0x7f) * 2 ** shift; + + if ((byte & 0x80) === 0) { + return { value, next }; + } + + shift += 7; + } + + throw new Error('truncated protobuf varint'); +} + +function skipProtobufVarint(buf: Uint8Array, offset: number): number { + for (let index = 0; index < 10 && offset < buf.length; index++) { + const byte = buf[offset++]; + + if (index === 9 && byte > 1) { + throw new Error('protobuf varint exceeds 64 bits'); + } + + if ((byte & 0x80) === 0) { + return offset; + } + } + + throw new Error('truncated protobuf varint'); +} + +function protobufSubmessage(buf: Uint8Array, path: readonly number[]): Uint8Array | undefined { + let current: Uint8Array | undefined = buf; + + for (const fieldNo of path) { + if (!current) { + return undefined; + } + + current = firstLengthDelimitedField(current, fieldNo); + } + + return current; +} + +function firstLengthDelimitedField(buf: Uint8Array, fieldNo: number): Uint8Array | undefined { + let offset = 0; + + while (offset < buf.length) { + const key = readProtobufVarint(buf, offset); + offset = key.next; + const field = Math.floor(key.value / 8); + const wire = key.value % 8; + + if (wire === 0) { + offset = skipProtobufVarint(buf, offset); + } else if (wire === 1) { + offset += 8; + } else if (wire === 5) { + offset += 4; + } else if (wire === 2) { + const len = readProtobufVarint(buf, offset); + offset = len.next; + const end = offset + len.value; + + if (end > buf.length) { + return undefined; + } + + if (field === fieldNo) { + return buf.slice(offset, end); + } + + offset = end; + } else { + return undefined; + } + } + + return undefined; +} + +function commentReqHeader(cell: QunFeedCellCommon): CommentReqBodyHeader { + return { + ...(cell.time !== undefined ? { time: cell.time } : {}), + ...(cell.feedId ? { feedId: cell.feedId } : {}), + }; +} + +function commentPhotoInfo( + feedMedia: CommentReqPhotoInfo | undefined, + fallback: MediaInfo, + albumId: string, + batchId: bigint, +): CommentReqPhotoInfo { + if (feedMedia?.medias?.length) { + return { + medias: feedMedia.medias, + albumId: feedMedia.albumId || albumId, + batchId: feedMedia.batchId ?? batchId, + }; + } + + return { medias: [fallback], albumId, batchId }; +} + +function findCommentMedia( + mediaList: ReadonlyArray, + mediaKey: string, +): AlbumCommentMediaItem | undefined { + for (const raw of mediaList) { + if (!raw || typeof raw !== 'object') { + continue; + } + + const item = raw as AlbumCommentMediaItem; + + if (item.image?.lloc === mediaKey) { + return item; + } + + if (item.video?.id === mediaKey || item.video?.cover?.lloc === mediaKey) { + return item; + } + } + + return undefined; +} + +function commentFromResponse(resp: DoQunCommentResponse): CommentRespData { + const wrapped = resp.comment; + + if (!wrapped) { + return {}; + } + + if (wrapped.data?.id) { + return wrapped.data; + } + + if (wrapped.id) { + return { + id: wrapped.id, + content: wrapped.content, + time: wrapped.time, + clientKey: wrapped.clientKey, + user: wrapped.data?.user, + }; + } + + return wrapped.data ?? {}; +} + +export interface GroupAlbumMediaResult { + mediaList: Array>; + nextAttachInfo: string; +} + +interface GroupAlbumWireResult { + albumList: GroupAlbumInfoWire[]; + attachInfo: string; + hasMore: boolean; +} + +export interface GroupAlbumInfo { + id: string; + name: string; + picNum: number; + createTime: number; + desc: string; + owner: string; + createuin: string; + createnickname: string; + last_upload_time: number; + cover: QunAlbumCover | null; + [key: string]: JsonValue; +} + +export type GroupAlbumList = GroupAlbumInfo[]; + +export interface QunAlbumCreator { + uid: string; + nick: string; + is_sweet: boolean; + is_special: boolean; + is_super_like: boolean; + custom_id: string; + poly_id: string; + portrait: string; + can_follow: number; + isfollowed: number; + uin: string; + ditto_uin: string; +} + +export interface QunAlbumCoverUrl extends JsonObject { + url: string; + width: number; + height: number; +} + +export interface QunAlbumCoverPhotoUrl extends JsonObject { + spec: number; + url: QunAlbumCoverUrl | null; +} + +export interface QunAlbumCoverImage extends JsonObject { + name: string; + sloc: string; + lloc: string; + photoUrls: QunAlbumCoverPhotoUrl[]; + defaultUrl: QunAlbumCoverUrl | null; + isGif: boolean; + hasRaw: boolean; +} + +export interface QunAlbumCover extends JsonObject { + type: number; + image: QunAlbumCoverImage | null; +} + +export interface QunAlbumInfo { + album_id: string; + owner: string; + name: string; + desc: string; + create_time: string; + modify_time: string; + last_upload_time: string; + upload_number: string; + cover: QunAlbumCover | null; + creator?: QunAlbumCreator; + top_flag: string; + busi_type: number; + status: number; + allow_share: boolean; + is_subscribe: boolean; + bitmap: string; + is_share_album: boolean; + qz_album_type: number; + cover_type: number; + default_desc: string; + sort_type: number; +} + +export interface QunAlbumListResult { + albumList: QunAlbumInfo[]; + attachInfo: string; + hasMore: boolean; +} + +export interface GroupAlbumCommentResult { + id: string; + user: { uin: string }; + content: Array<{ type: number; content: string }>; + time: string; + clientKey: string; +} diff --git a/packages/core/src/bridge/apis/group-file.ts b/packages/core/src/bridge/apis/group-file.ts new file mode 100644 index 00000000..24f9f4b6 --- /dev/null +++ b/packages/core/src/bridge/apis/group-file.ts @@ -0,0 +1,849 @@ +import { createLogger } from '@snowluma/common/logger'; +import type { FileUploadExt } from '@snowluma/proto-defs/highway'; +import { + FileChunkSource, + fetchHighwaySession, + uploadHighwayHttp, +} from '@snowluma/protocol/highway'; +import { FILE_UPLOAD_MAX_BYTES } from '@snowluma/protocol/highway/utils'; +import { stageSourceToDisk } from '@snowluma/protocol/highway/stage'; +import { hashFileStreaming } from '@snowluma/protocol/highway/hash-file'; +import { protobuf_encode } from '@snowluma/proton'; +import { promises as fsp } from 'fs'; +import type { BridgeContext } from '../bridge-context'; +import { resolveSelfUid, toInt, type MediaIndexNode } from './shared'; + +import { CreateGroupFolder } from '@snowluma/protocol/oidb-services/group-file/create-group-folder'; +import { DeleteGroupFile } from '@snowluma/protocol/oidb-services/group-file/delete-group-file'; +import { DeleteGroupFolder } from '@snowluma/protocol/oidb-services/group-file/delete-group-folder'; +import { GetGroupFileCount } from '@snowluma/protocol/oidb-services/group-file/get-group-file-count'; +import { GetGroupFileSpace } from '@snowluma/protocol/oidb-services/group-file/get-group-file-space'; +import { GetGroupFileUrl } from '@snowluma/protocol/oidb-services/group-file/get-group-file-url'; +import { GetGroupPttUrl } from '@snowluma/protocol/oidb-services/group-file/get-group-ptt-url'; +import { GetGroupVideoUrl } from '@snowluma/protocol/oidb-services/group-file/get-group-video-url'; +import { GetPrivateFileUrl } from '@snowluma/protocol/oidb-services/group-file/get-private-file-url'; +import { GetPrivatePttUrl } from '@snowluma/protocol/oidb-services/group-file/get-private-ptt-url'; +import { GetPrivateVideoUrl } from '@snowluma/protocol/oidb-services/group-file/get-private-video-url'; +import { ListGroupFilesPage } from '@snowluma/protocol/oidb-services/group-file/list-group-files-page'; +import { MoveGroupFile } from '@snowluma/protocol/oidb-services/group-file/move-group-file'; +import { PublishGroupFile } from '@snowluma/protocol/oidb-services/group-file/publish-group-file'; +import { RenameGroupFile } from '@snowluma/protocol/oidb-services/group-file/rename-group-file'; +import { RenameGroupFolder } from '@snowluma/protocol/oidb-services/group-file/rename-group-folder'; +import { + TransGroupFile, + type TransGroupFileResult, +} from '@snowluma/protocol/oidb-services/group-file/trans-group-file'; +import { UploadGroupFileRequest } from '@snowluma/protocol/oidb-services/group-file/upload-group-file-request'; +import { UploadPrivateFileRequest } from '@snowluma/protocol/oidb-services/group-file/upload-private-file-request'; +import { ensureRetCodeZero } from '@snowluma/protocol/oidb-services/shared'; + +const log = createLogger('GroupFile'); + +// ─────────────── public result types ─────────────── + +export interface GroupFileInfo { + fileId: string; + fileName: string; + busId: number; + fileSize: number; + uploadTime: number; + deadTime: number; + modifyTime: number; + downloadTimes: number; + uploader: number; + uploaderName: string; +} + +export interface GroupFolderInfo { + folderId: string; + folderName: string; + createTime: number; + creator: number; + creatorName: string; + totalFileCount: number; + lastUploadTime: number; + lastUploader: number; + lastUploaderName: string; +} + +export interface GroupFilesResult { + files: GroupFileInfo[]; + folders: GroupFolderInfo[]; +} + +export interface UploadFileResult { + fileId: string | null; + fileHash?: string | null; +} + +export interface GroupFileUploadResult { + fileId: string; + busId: number; +} + +export interface GroupFileUploadOptions { + /** False when the enclosing message contains content a temporary file cannot carry. */ + allowTemporary?: boolean; +} + +// Re-export so callers don't have to dig into apis/shared. +export type { MediaIndexNode } from './shared'; + +// ─────────────── file-specific helpers ─────────────── + +function normalizeDirectory(dir?: string): string { + if (!dir || !dir.trim()) { + return '/'; + } + + return dir; +} + +// Reverses acidify's `Int.toIpString()`: the 32-bit IP arrives +// little-endian-packed (byte0 = first dotted octet) and we unpack it the +// same way. Force-unsigned the shift to keep negative ints (high bit set) +// rendering correctly — JS `>>` is arithmetic and would turn 0xFF000000 +// into a negative number. +function int32ToIpv4Dotted(value: number): string { + const b1 = value & 0xff; + const b2 = (value >>> 8) & 0xff; + const b3 = (value >>> 16) & 0xff; + const b4 = (value >>> 24) & 0xff; + return `${b1}.${b2}.${b3}.${b4}`; +} + +function normalizeUploadFileName(name: string, fallback: string): string { + const trimmed = name.trim(); + + if (trimmed) { + return trimmed; + } + + const safeFallback = fallback.trim(); + return safeFallback || 'file.bin'; +} + +// QQ's "first 10 MB" checksum uses the magic limit 0x98A000 (10002432) — +// NOT 10*1024*1024 and not 10^7. Using the wrong limit makes the server's +// first-block verification fail for files larger than 0x98A000, so the +// offline file uploads but never finalises as downloadable (#157). +const MD5_HEAD_LIMIT = 10002432; + +/** Fail cleanly if the staged file changed since the streaming hash pass (a + * local source mutated mid-send). The server's per-chunk md5 during the PUT is + * the backstop; this is the cheap early check. */ +async function assertUnchanged( + filePath: string, + baseline: { size: number; mtimeMs: number }, +): Promise { + const now = await fsp.stat(filePath); + + if (now.size !== baseline.size || now.mtimeMs !== baseline.mtimeMs) { + throw new Error('file source changed during send (mutated between hashing and upload)'); + } +} + +function buildGroupFileUploadExt( + senderUin: number, + groupId: number, + busId: number, + fileName: string, + fileSize: number, + md5: Uint8Array, + fileId: string, + uploadKey: Uint8Array, + checkKey: Uint8Array, + uploadHost: string, + uploadPort: number, +): Uint8Array { + return protobuf_encode({ + unknown1: 100, + unknown2: 1, + entry: { + busiBuff: { + busId, + senderUin: BigInt(senderUin), + receiverUin: BigInt(groupId), + groupCode: BigInt(groupId), + }, + fileEntry: { + fileSize: BigInt(Math.max(0, fileSize)), + md5, + md5S2: md5, + checkKey, + fileId, + uploadKey, + }, + clientInfo: { + clientType: 3, + appId: '100', + terminalType: 3, + clientVer: '1.1.1', + unknown: 4, + }, + fileNameInfo: { + fileName, + }, + host: { + hosts: [ + { + url: { + host: uploadHost, + unknown: 1, + }, + port: uploadPort, + }, + ], + }, + }, + unknown200: 0, + }); +} + +function buildPrivateFileUploadExt( + senderUin: number, + fileName: string, + fileSize: number, + md5: Uint8Array, + sha1: Uint8Array, + fileId: string, + uploadKey: Uint8Array, + uploadHost: string, + uploadPort: number, +): Uint8Array { + return protobuf_encode({ + unknown1: 100, + unknown2: 1, + entry: { + busiBuff: { + // #157: NapCat/Lagrange (and the QQ client, confirmed by packet + // capture) emit a busiBuff with ONLY senderUin — no busId. A stale + // busId:102 here made the offline-file server accept the highway + // upload but never finalise it as downloadable once the file got + // big (>5 MiB): the receiver saw the file but every download failed. + // (The other half of that bug was the wrong md5-head limit above.) + senderUin: BigInt(senderUin), + receiverUin: 0n, + groupCode: 0n, + }, + fileEntry: { + fileSize: BigInt(Math.max(0, fileSize)), + md5, + md5S2: md5, + checkKey: sha1, + fileId, + uploadKey, + }, + clientInfo: { + clientType: 3, + appId: '100', + terminalType: 3, + clientVer: '1.1.1', + unknown: 4, + }, + fileNameInfo: { + fileName, + }, + host: { + hosts: [ + { + url: { + host: uploadHost, + unknown: 1, + }, + port: uploadPort, + }, + ], + }, + }, + unknown3: 0, + unknown200: 1, + }); +} + +export class GroupFileApi { + constructor(private readonly ctx: BridgeContext) {} + + // ─────────────── publish (group file → chat) ─────────────── + + publish(groupId: number, fileId: string, busId?: number): Promise { + if (!fileId) { + throw new Error('publish requires fileId'); + } + + return PublishGroupFile.invoke(this.ctx, { + groupId, + fileId, + busId: busId ?? this.cachedBusId(groupId, fileId), + }); + } + + private cachedBusId(groupId: number, fileId: string): number { + const cached = this.ctx.recallUploadedFile(fileId); + return cached?.scope === 'group' && cached.groupId === groupId + ? (cached.busId ?? 102) + : 102; + } + + trans(groupId: number, fileId: string): Promise { + if (!fileId) { + throw new Error('trans requires fileId'); + } + + return TransGroupFile.invoke(this.ctx, { groupId, fileId }); + } + + // ─────────────── count ─────────────── + + getCount(groupId: number): Promise<{ fileCount: number; maxCount: number }> { + return GetGroupFileCount.invoke(this.ctx, { groupId }); + } + + getSpace(groupId: number): Promise<{ usedSpace: number; totalSpace: number }> { + return GetGroupFileSpace.invoke(this.ctx, { groupId }); + } + + // ─────────────── upload (3-stage: OIDB preflight → highway → publish) ─────────────── + + async upload( + groupId: number, + source: string, + name = '', + folderId = '/', + uploadFile = true, + publishFile = uploadFile, + options: GroupFileUploadOptions = {}, + ): Promise { + const bridge = this.ctx; + // Group/private files may legitimately be up to 4 GiB on QQ's wire, so + // override the default 1 GiB cap with the protocol ceiling. Stage onto a + // local disk path and stream-hash it — the (up to 4 GiB) file is never + // buffered in RAM. + const staged = await stageSourceToDisk(source, FILE_UPLOAD_MAX_BYTES); + + try { + if (staged.fileSize === 0) { + throw new Error('group file is empty'); + } + + const fileName = normalizeUploadFileName(name, staged.fileName); + const guardStat = await fsp.stat(staged.filePath); // mutation-guard baseline + const hashes = await hashFileStreaming(staged.filePath); + + const params: UploadGroupFileRequest.Params = { + groupId, + fileName, + folderId: normalizeDirectory(folderId), + fileSize: staged.fileSize, + fileSha1: hashes.sha1, + fileMd5: hashes.md5, + busId: 102, + }; + let upload = await UploadGroupFileRequest.invoke(this.ctx, params); + + // These are the storage-limit responses for which QQ switches to + // temporary storage. Never retry transport, permission or arbitrary + // service errors, and never retry the temporary request itself. + if (upload.retCode === -403 || upload.retCode === -9801 || upload.retCode === -98090) { + if (options.allowTemporary === false) { + throw new Error( + `temporary group files require only file or image segments; remove text and other content before retrying (group file upload code=${upload.retCode})`, + ); + } + + log.warn( + 'Group %d permanent file storage rejected upload (code=%d); retrying as a temporary file', + groupId, + upload.retCode, + ); + params.busId = 104; + upload = await UploadGroupFileRequest.invoke(this.ctx, params); + } + + ensureRetCodeZero( + 'group file upload', + upload.retCode, + upload.retMsg, + upload.clientWording, + ); + + const busId = upload.busId || params.busId; + + if (busId !== 102 && busId !== 104) { + throw new Error(`group file upload returned unsupported storage type: ${busId}`); + } + + if (busId === 104 && options.allowTemporary === false) { + throw new Error( + 'temporary group files require only file or image segments; remove text and other content before retrying', + ); + } + + const fileId = + typeof upload.fileId === 'string' && upload.fileId ? upload.fileId : null; + + if (!fileId) { + throw new Error('group file upload response missing file_id'); + } + + if (!upload.boolFileExist && uploadFile) { + const senderUin = toInt(this.ctx.identity.uin); + + if (senderUin <= 0) { + throw new Error('invalid self uin for group file upload'); + } + + const uploadHost = + (typeof upload.uploadIp === 'string' && upload.uploadIp) || + (typeof upload.serverDns === 'string' && upload.serverDns) || + ''; + const uploadPort = toInt(upload.uploadPort); + + if (!uploadHost || uploadPort <= 0) { + throw new Error('group file upload host is invalid'); + } + + const ext = buildGroupFileUploadExt( + senderUin, + groupId, + busId, + fileName, + staged.fileSize, + hashes.md5, + fileId, + upload.fileKey instanceof Uint8Array ? upload.fileKey : new Uint8Array(0), + upload.checkKey instanceof Uint8Array ? upload.checkKey : new Uint8Array(0), + uploadHost, + uploadPort, + ); + + // Fail cleanly if the source changed since hashing, then stream the PUT + // from disk. Fetch the session BEFORE opening the handle so + // uploadHighwayHttp (the handle's owner) is the next call and always + // closes it. + await assertUnchanged(staged.filePath, guardStat); + const session = await fetchHighwaySession(bridge); + const chunkSource = await FileChunkSource.open(staged.filePath, staged.fileSize); + await uploadHighwayHttp(bridge, session, 71, chunkSource, hashes.md5, ext); + } + + // Retain the storage type for later file_id publication and download. + // A failed byte transfer must not leave a usable-looking cache entry. + this.ctx.rememberUploadedFile({ + fileId, + scope: 'group', + groupId, + busId, + fileName, + fileSize: staged.fileSize, + fileMd5: hashes.md5, + fileSha1: hashes.sha1, + rememberedAt: Date.now(), + }); + + // Stage 3: file is on the server, now publish it as a chat message. + // + // Without this, OIDB 0x6D6_0 + highway PUT only stages the bytes — + // the chat shows nothing. The publish step goes via a dedicated OIDB + // call (0x6D9_4), NOT via `MessageSvc.PbSendMsg` with a transElem(24) + // payload — the QQ-NT server rejects that with `result=79`. Mirrors + // Lagrange.Core V2's `GroupSendFileService.cs`. Suppressed when a + // caller only needs a valid file_id embedded elsewhere, e.g. a + // forward-message long-msg payload. Routes through `this.publish` so + // tests can mock at the same Api boundary. + if (publishFile) { + try { + await this.publish(groupId, fileId, busId); + } catch (err) { + // Keep the completed upload identifiable, but a requested chat + // publication must not be reported as a successful send. + throw new Error( + `group file uploaded (fileId=${fileId}) but chat post failed: ${err instanceof Error ? err.message : String(err)}`, + { cause: err }, + ); + } + } + + return { fileId, busId }; + } finally { + await staged.cleanup(); + } + } + + async uploadPrivate( + userId: number, + source: string, + name = '', + uploadFile = true, + publishFile = uploadFile, + ): Promise { + const bridge = this.ctx; + // Stage onto a local disk path + stream-hash — the (up to 4 GiB) file is + // never buffered in RAM. headLimit = MD5_HEAD_LIMIT yields the offline-file + // md510MCheckSum in the same single pass. + const staged = await stageSourceToDisk(source, FILE_UPLOAD_MAX_BYTES); + + try { + if (staged.fileSize === 0) { + throw new Error('private file is empty'); + } + + const targetUid = await this.ctx.resolveUserUid(userId); + const selfUid = await resolveSelfUid(this.ctx); + + const senderUin = toInt(this.ctx.identity.uin); + + if (senderUin <= 0) { + throw new Error('invalid self uin for private file upload'); + } + + const fileName = normalizeUploadFileName(name, staged.fileName); + const guardStat = await fsp.stat(staged.filePath); // mutation-guard baseline + const hashes = await hashFileStreaming(staged.filePath, { headLimit: MD5_HEAD_LIMIT }); + + const upload = await UploadPrivateFileRequest.invoke(this.ctx, { + senderUid: selfUid, + receiverUid: targetUid, + fileName, + fileSize: staged.fileSize, + fileSha1: hashes.sha1, + fileMd5: hashes.md5, + md510MCheckSum: hashes.headMd5!, + }); + ensureRetCodeZero('private file upload', upload.retCode, upload.retMsg, undefined); + + const fileId = typeof upload.uuid === 'string' && upload.uuid ? upload.uuid : null; + const fileHash = + typeof upload.fileAddon === 'string' && upload.fileAddon ? upload.fileAddon : null; + + if (!fileId) { + throw new Error('private file upload response missing file_id'); + } + + // Cache the metadata so a later `send_private_msg` carrying just + // `{type:'file', file_id}` can resurrect the full c2c-file packet + // (NotOnlineFile { fileSize, fileMd5, fileName, fileHash }). Without + // this the recipient sees a 0-byte file because the OneBot send path + // has no way to recover those fields from the file_id alone. + this.ctx.rememberUploadedFile({ + fileId, + scope: 'private', + userId, + fileName, + fileSize: staged.fileSize, + fileMd5: hashes.md5, + fileSha1: hashes.sha1, + fileHash: fileHash ?? '', + rememberedAt: Date.now(), + }); + + if (!upload.boolFileExist && uploadFile) { + // Host selection. + // + // Current QQ-NT server rollout has stopped populating the legacy + // `uploadIp` (field 60) entirely. The host now arrives as the first + // entry of `rtpMediaPlatformUploadAddress` (field 210, repeated + // IPv4 message) — same place acidify reads it from since their + // 2026-04 protobuf refactor. Each IPv4 has paired `inIP`/`inPort` + // (LAN, same DC as the OIDB endpoint) and `outIP`/`outPort` (WAN); + // acidify uses `inIP`/`inPort` exclusively and so do we, because + // that's the address the highway PUT actually needs to reach. + // + // The 32-bit IPs are little-endian-packed (byte0 = first octet) + // per acidify's `Int.toIpString()`. Cross-checked the byte order + // by inspecting their highway flow — there's no separate htonl + // step, so the integer is already in network-octet-first order. + // + // Older server versions still populate the legacy string fields + // (uploadIp / uploadDomain / uploadIpList[0] / uploadHttpsDomain / + // uploadDns), so we fall through to those after rtpMediaPlatform. + // Pair an HTTPS-flavored host with `uploadHttpsPort` if that's + // what we picked. + const rtpFirst = + Array.isArray(upload.rtpMediaPlatformUploadAddress) && + upload.rtpMediaPlatformUploadAddress[0] + ? upload.rtpMediaPlatformUploadAddress[0] + : null; + const rtpInIP = + rtpFirst && typeof rtpFirst.inIP === 'number' && rtpFirst.inIP !== 0 + ? int32ToIpv4Dotted(rtpFirst.inIP) + : ''; + const rtpInPort = + rtpFirst && typeof rtpFirst.inPort === 'number' ? rtpFirst.inPort : 0; + const ipListFirst = + Array.isArray(upload.uploadIpList) && upload.uploadIpList[0] + ? upload.uploadIpList[0] + : ''; + const uploadHost = + rtpInIP || + (typeof upload.uploadIp === 'string' && upload.uploadIp) || + (typeof upload.uploadDomain === 'string' && upload.uploadDomain) || + ipListFirst || + (typeof upload.uploadHttpsDomain === 'string' && upload.uploadHttpsDomain) || + (typeof upload.uploadDns === 'string' && upload.uploadDns) || + ''; + const httpsHostUsed = + !rtpInIP && + !upload.uploadIp && + !upload.uploadDomain && + !ipListFirst && + typeof upload.uploadHttpsDomain === 'string' && + !!upload.uploadHttpsDomain; + const uploadPort = + rtpInIP && rtpInPort > 0 + ? rtpInPort + : httpsHostUsed && toInt(upload.uploadHttpsPort) > 0 + ? toInt(upload.uploadHttpsPort) + : toInt(upload.uploadPort); + + if (!uploadHost || uploadPort <= 0) { + const rtpDump = Array.isArray(upload.rtpMediaPlatformUploadAddress) + ? JSON.stringify( + upload.rtpMediaPlatformUploadAddress.map((e) => ({ + outIP: e.outIP, + outPort: e.outPort, + inIP: e.inIP, + inPort: e.inPort, + iPType: e.iPType, + })), + ) + : '[]'; + log.warn( + 'private file upload host missing — rtp=%s ip=%s domain=%s ipList=%s httpsDomain=%s dns=%s lanip=%s port=%s httpsPort=%s', + rtpDump, + upload.uploadIp ?? '', + upload.uploadDomain ?? '', + JSON.stringify(upload.uploadIpList ?? []), + upload.uploadHttpsDomain ?? '', + upload.uploadDns ?? '', + upload.uploadLanip ?? '', + upload.uploadPort ?? 0, + upload.uploadHttpsPort ?? 0, + ); + throw new Error('private file upload host is invalid'); + } + + const ext = buildPrivateFileUploadExt( + senderUin, + fileName, + staged.fileSize, + hashes.md5, + hashes.sha1, + fileId, + upload.mediaPlatformUploadKey instanceof Uint8Array + ? upload.mediaPlatformUploadKey + : upload.uploadKey instanceof Uint8Array + ? upload.uploadKey + : new Uint8Array(0), + uploadHost, + uploadPort, + ); + + // Fail cleanly if the source changed since hashing, then stream the PUT + // from disk. Session BEFORE opening the handle so uploadHighwayHttp (the + // handle's owner) is the next call and always closes it. + await assertUnchanged(staged.filePath, guardStat); + const session = await fetchHighwaySession(bridge); + const chunkSource = await FileChunkSource.open(staged.filePath, staged.fileSize); + await uploadHighwayHttp(bridge, session, 95, chunkSource, hashes.md5, ext); + } + + // Stage 3: publish the file as a c2c chat message. C2C files use + // `RichText.notOnlineFile` (parallel to `elems`), so we go through + // the dedicated `sendC2cFile` on MessageApi instead of `sendPrivate` + // which only knows about elems[]. NapCat does the same atomic + // upload+send dance — without it the file sits on the server and + // the recipient sees nothing. + if (publishFile) { + try { + await this.ctx.apis.message.sendC2cFile(userId, targetUid, { + fileId, + fileName, + fileSize: staged.fileSize, + fileMd5: hashes.md5, + fileHash: fileHash ?? '', + }); + } catch (err) { + log.warn( + 'private file uploaded (fileId=%s) but chat post failed: %s', + fileId, + err instanceof Error ? err.message : String(err), + ); + } + } + + return { fileId, fileHash }; + } finally { + await staged.cleanup(); + } + } + + // ─────────────── list (paginated loop) ─────────────── + + async list(groupId: number, folderId = '/'): Promise { + const targetDirectory = normalizeDirectory(folderId); + const files: GroupFileInfo[] = []; + const folders: GroupFolderInfo[] = []; + + const pageSize = 20; + let startIndex = 0; + + for (let page = 0; page < 200; page++) { + const list = await ListGroupFilesPage.invoke(this.ctx, { + groupId, + targetDirectory, + startIndex, + pageSize, + }); + + if (!list) { + break; + } + + for (const item of list.items) { + const type = toInt(item?.type); + + if (type === 1 && item?.fileInfo) { + const file = item.fileInfo; + const uploader = toInt(file.uploaderUin); + const cached = this.ctx.identity.findGroupMember(groupId, uploader); + files.push({ + fileId: typeof file.fileId === 'string' ? file.fileId : '', + fileName: typeof file.fileName === 'string' ? file.fileName : '', + busId: toInt(file.busId), + fileSize: toInt(file.fileSize), + uploadTime: toInt(file.uploadedTime), + deadTime: toInt(file.expireTime), + modifyTime: toInt(file.modifiedTime), + downloadTimes: toInt(file.downloadedTimes), + uploader, + uploaderName: + (typeof file.uploaderName === 'string' && file.uploaderName) || + cached?.card || + cached?.nickname || + '', + }); + } else if (type === 2 && item?.folderInfo) { + const folder = item.folderInfo; + const creator = toInt(folder.creatorUin); + const cached = this.ctx.identity.findGroupMember(groupId, creator); + const lastUploader = toInt(folder.modifierUin); + const lastUploaderCached = this.ctx.identity.findGroupMember( + groupId, + lastUploader, + ); + folders.push({ + folderId: typeof folder.folderId === 'string' ? folder.folderId : '', + folderName: typeof folder.folderName === 'string' ? folder.folderName : '', + createTime: toInt(folder.createTime), + creator, + creatorName: + (typeof folder.creatorName === 'string' && folder.creatorName) || + cached?.card || + cached?.nickname || + '', + totalFileCount: toInt(folder.totalFileCount), + lastUploadTime: toInt(folder.modifiedTime), + lastUploader, + lastUploaderName: + (typeof folder.modifierName === 'string' && folder.modifierName) || + lastUploaderCached?.card || + lastUploaderCached?.nickname || + '', + }); + } + } + + if (list.isEnd) { + break; + } + + startIndex += pageSize; + } + + return { files, folders }; + } + + // ─────────────── url fetch (group / private files) ─────────────── + + async getUrl(groupId: number, fileId: string, busId?: number): Promise { + return GetGroupFileUrl.invoke(this.ctx, { + groupId, + fileId, + busId: busId ?? this.cachedBusId(groupId, fileId), + }); + } + + async getPrivateUrl(userId: number, fileId: string, fileHash: string): Promise { + const selfUid = await resolveSelfUid(this.ctx); + void userId; + return GetPrivateFileUrl.invoke(this.ctx, { selfUid, fileId, fileHash }); + } + + // ─────────────── delete / move ─────────────── + + delete(groupId: number, fileId: string): Promise { + return DeleteGroupFile.invoke(this.ctx, { groupId, fileId }); + } + + move( + groupId: number, + fileId: string, + parentDirectory: string, + targetDirectory: string, + ): Promise { + return MoveGroupFile.invoke(this.ctx, { + groupId, + fileId, + parentDirectory, + targetDirectory, + }); + } + + rename( + groupId: number, + fileId: string, + parentDirectory: string, + newFileName: string, + ): Promise { + return RenameGroupFile.invoke(this.ctx, { groupId, fileId, parentDirectory, newFileName }); + } + + // ─────────────── folders ─────────────── + + createFolder(groupId: number, name: string, parentId = '/'): Promise { + return CreateGroupFolder.invoke(this.ctx, { + groupId, + parentId: normalizeDirectory(parentId), + folderName: name, + }); + } + + deleteFolder(groupId: number, folderId: string): Promise { + return DeleteGroupFolder.invoke(this.ctx, { groupId, folderId }); + } + + renameFolder(groupId: number, folderId: string, newFolderName: string): Promise { + return RenameGroupFolder.invoke(this.ctx, { groupId, folderId, newFolderName }); + } + + // ─────────────── rich-media URL by node ─────────────── + + getPttUrl(groupId: number, node: MediaIndexNode): Promise { + return GetGroupPttUrl.invoke(this.ctx, { groupId, node }); + } + + async getPrivatePttUrl(node: MediaIndexNode): Promise { + const selfUid = await resolveSelfUid(this.ctx); + return GetPrivatePttUrl.invoke(this.ctx, { selfUid, node }); + } + + getVideoUrl(groupId: number, node: MediaIndexNode): Promise { + return GetGroupVideoUrl.invoke(this.ctx, { groupId, node }); + } + + async getPrivateVideoUrl(node: MediaIndexNode): Promise { + const selfUid = await resolveSelfUid(this.ctx); + return GetPrivateVideoUrl.invoke(this.ctx, { selfUid, node }); + } +} diff --git a/packages/core/src/bridge/apis/history-request-gate.ts b/packages/core/src/bridge/apis/history-request-gate.ts new file mode 100644 index 00000000..f3f5d455 --- /dev/null +++ b/packages/core/src/bridge/apis/history-request-gate.ts @@ -0,0 +1,110 @@ +export interface HistoryRequestGateClock { + now(): number; + sleep(ms: number, signal?: AbortSignal): Promise; +} + +const SYSTEM_CLOCK: HistoryRequestGateClock = { + now: () => Date.now(), + sleep: (ms, signal) => abortableSleep(ms, signal), +}; + +/** + * Process-wide history request gate. + * + * The gate owns the network operation, not just a preceding delay. This keeps + * concurrent history callers serialized and preserves the stricter spacing on + * both sides of an automatic history-sync request. + */ +export class HistoryRequestGate { + private tail: Promise = Promise.resolve(); + private lastStartedAt: number | null = null; + private nextAllowedAt = 0; + + constructor(private readonly clock: HistoryRequestGateClock = SYSTEM_CLOCK) {} + + run(minimumGapMs: number, operation: () => Promise, signal?: AbortSignal): Promise { + if (!Number.isSafeInteger(minimumGapMs) || minimumGapMs < 0) { + return Promise.reject( + new Error(`history request gap is invalid: ${String(minimumGapMs)}`), + ); + } + + let operationStarted = false; + const result = this.tail.then(async () => { + throwIfAborted(signal); + const now = this.clock.now(); + const requestedBoundary = + this.lastStartedAt === null ? now : this.lastStartedAt + minimumGapMs; + const wait = Math.max(this.nextAllowedAt, requestedBoundary) - now; + + if (wait > 0) { + await this.clock.sleep(wait, signal); + } + + throwIfAborted(signal); + const startedAt = this.clock.now(); + this.lastStartedAt = startedAt; + this.nextAllowedAt = startedAt + minimumGapMs; + operationStarted = true; + return operation(); + }); + + this.tail = result.then( + () => undefined, + () => undefined, + ); + return signal ? rejectWhileQueuedOnAbort(result, signal, () => operationStarted) : result; + } +} + +function throwIfAborted(signal?: AbortSignal): void { + if (signal?.aborted) { + throw signal.reason ?? new Error('history request aborted'); + } +} + +function abortableSleep(ms: number, signal?: AbortSignal): Promise { + throwIfAborted(signal); + + if (!signal) { + return new Promise((resolve) => setTimeout(resolve, ms)); + } + + return new Promise((resolve, reject) => { + const timer = setTimeout(() => { + signal.removeEventListener('abort', onAbort); + resolve(); + }, ms); + + const onAbort = () => { + clearTimeout(timer); + signal.removeEventListener('abort', onAbort); + reject(signal.reason ?? new Error('history request aborted')); + }; + + signal.addEventListener('abort', onAbort, { once: true }); + }); +} + +function rejectWhileQueuedOnAbort( + result: Promise, + signal: AbortSignal, + hasStarted: () => boolean, +): Promise { + if (signal.aborted && !hasStarted()) { + return Promise.reject(signal.reason ?? new Error('history request aborted')); + } + + return new Promise((resolve, reject) => { + const onAbort = () => { + if (!hasStarted()) { + reject(signal.reason ?? new Error('history request aborted')); + } + }; + + signal.addEventListener('abort', onAbort); + result.then(resolve, reject).finally(() => { + signal.removeEventListener('abort', onAbort); + }); + }); +} diff --git a/packages/core/src/bridge/apis/index.ts b/packages/core/src/bridge/apis/index.ts new file mode 100644 index 00000000..96b0050b --- /dev/null +++ b/packages/core/src/bridge/apis/index.ts @@ -0,0 +1,108 @@ +import type { BridgeContext } from '../bridge-context'; +import { CollectionApi } from './collection'; +import { ContactsApi } from './contacts'; +import { ExtrasApi } from './extras'; +import { FlashTransferApi } from './flash-transfer'; +import { ForwardApi } from './forward'; +import { FriendApi } from './friend'; +import { GroupAdminApi } from './group-admin'; +import { GroupAlbumApi } from './group-album'; +import { GroupFileApi } from './group-file'; +import { InteractionApi } from './interaction'; +import { MessageApi } from './message'; +import { MiscApi } from './misc'; +import { ProfileApi } from './profile'; +import { QzoneApi } from './qzone'; +import { WebApi } from './web'; +import { SystemFaceApi } from './system-face'; + +export interface ApiHub { + /** Personal QQ collections: authenticated list retrieval and pagination. */ + readonly collection: CollectionApi; + /** Send/recall/markRead operations across c2c + group + c2c-file. */ + readonly message: MessageApi; + /** Friend / group / member roster + user-profile + group-request-list + download-rkey. */ + readonly contacts: ContactsApi; + /** Group moderation: mute/kick/admin/card/name/title/leave + join-policy. */ + readonly groupAdmin: GroupAdminApi; + /** Group file CRUD + private (c2c) file upload + media URL resolvers. */ + readonly groupFile: GroupFileApi; + /** Group photo album: list/upload/comment/like/delete + media listing. */ + readonly groupAlbum: GroupAlbumApi; + /** Personal QQ-Zone (个人空间): 说说 list + (future) publish/like/comment. */ + readonly qzone: QzoneApi; + /** Interactive engagement: poke / like / reaction / essence / emoji-like-list. */ + readonly interaction: InteractionApi; + /** Friend roster mutations: handleRequest / delete / setRemark. */ + readonly friend: FriendApi; + /** Personal profile: status / avatar / nickname / likes / custom-faces. */ + readonly profile: ProfileApi; + /** QQ 闪传(fileset 文件集): 上传/查询/分享/发送/删除/重命名。 */ + readonly flashTransfer: FlashTransferApi; + /** Long-message (forward / 聊天记录) upload + retrieval with NapCat piggyback. */ + readonly forward: ForwardApi; + /** Odds & ends: translate / mini-app ARK / inline-keyboard / group sign. */ + readonly misc: MiscApi; + /** Tier-2 napcat-parity: group todo / stranger status / AI voice. */ + readonly extras: ExtrasApi; + /** Cookie-backed HTTP: essence / honor / notice / client-key / csrf-token. */ + readonly web: WebApi; + /** QQ system-face directory: durable catalog, id lookup, and search. */ + readonly systemFace: SystemFaceApi; +} + +/** + * Construct the ApiHub for a Bridge. Called once from the Bridge + * constructor. Eager construction means every Bridge instance pays + * the cost up-front (a few object allocations) — there's no lazy + * path because that would require either a thunk-based wrapper or + * runtime-mutated `apis.xxx` slots, neither of which is worth the + * complexity for ~13 small classes. + */ +export function buildApiHub(ctx: BridgeContext): ApiHub { + return { + collection: new CollectionApi(ctx), + message: new MessageApi(ctx), + contacts: new ContactsApi(ctx), + groupAdmin: new GroupAdminApi(ctx), + groupFile: new GroupFileApi(ctx), + groupAlbum: new GroupAlbumApi(ctx), + qzone: new QzoneApi(ctx), + interaction: new InteractionApi(ctx), + friend: new FriendApi(ctx), + profile: new ProfileApi(ctx), + flashTransfer: new FlashTransferApi(ctx), + forward: new ForwardApi(ctx), + misc: new MiscApi(ctx), + extras: new ExtrasApi(ctx), + web: new WebApi(ctx), + systemFace: new SystemFaceApi(ctx), + }; +} + +// Re-export the Api classes themselves so callers can write +// `import type { MessageApi } from '@snowluma/core/.../apis'` for +// signature use. Concrete instances always come from `bridge.apis.*`. +export { ContactsApi } from './contacts'; +export { CollectionApi } from './collection'; +export { ExtrasApi } from './extras'; +export { ForwardApi } from './forward'; +export { FriendApi } from './friend'; +export { GroupAdminApi } from './group-admin'; +export { GroupAlbumApi } from './group-album'; +export { GroupFileApi } from './group-file'; +export { InteractionApi } from './interaction'; +export { + MessageApi, + LOGIN_HISTORY_SYNC_PROTOCOL_LIMITS, + type GroupHistorySyncState, + type HistorySyncPrivateTarget, + type HistorySyncState, + type PrivateHistorySyncState, +} from './message'; +export { MiscApi } from './misc'; +export { ProfileApi } from './profile'; +export { QzoneApi } from './qzone'; +export { FlashTransferApi, type FlashFileInfo } from './flash-transfer'; +export { WebApi } from './web'; +export { SystemFaceApi } from './system-face'; diff --git a/packages/core/src/bridge/apis/interaction.ts b/packages/core/src/bridge/apis/interaction.ts new file mode 100644 index 00000000..4d170392 --- /dev/null +++ b/packages/core/src/bridge/apis/interaction.ts @@ -0,0 +1,70 @@ +// InteractionApi — facade over interactive-engagement OIDB cmds +// (poke / like / reaction / essence / emoji-like-list). Every method +// is a one-line forwarder to a self-contained namespace under +// @snowluma/protocol/oidb-services. The facade exists purely to keep +// the `bridge.apis.interaction.X(...)` ergonomic call style; all wire +// work (envelope build / encode / send / decode) lives in the +// namespace files. + +import { SendLike } from '@snowluma/protocol/oidb-services/interaction/send-like'; +import { SendPoke } from '@snowluma/protocol/oidb-services/interaction/send-poke'; +import { SetEssence } from '@snowluma/protocol/oidb-services/interaction/set-essence'; +import { FetchReactionSummary } from '@snowluma/protocol/oidb-services/reaction/fetch-reaction-summary'; +import { GetEmojiLikes } from '@snowluma/protocol/oidb-services/reaction/get-emoji-likes'; +import { SetReaction } from '@snowluma/protocol/oidb-services/reaction/set-reaction'; +import type { BridgeContext } from '../bridge-context'; + +export class InteractionApi { + constructor(private readonly ctx: BridgeContext) {} + + sendPoke(isGroup: boolean, peerUin: number, targetUin?: number): Promise { + return SendPoke.invoke(this.ctx, { isGroup, peerUin, targetUin }); + } + + sendLike(userId: number, count: number): Promise { + return SendLike.invoke(this.ctx, { userId, count }); + } + + setReaction(groupId: number, sequence: number, code: string, isSet: boolean): Promise { + return SetReaction.invoke(this.ctx, { groupId, sequence, code, isSet }); + } + + setEssence(groupId: number, sequence: number, random: number, enable: boolean): Promise { + return SetEssence.invoke(this.ctx, { groupId, sequence, random, enable }); + } + + /** Fetch the reactor list for one emoji on a group message. */ + async getEmojiLikes( + groupId: number, + sequence: number, + emojiId: string, + emojiType = 1, + count = 10, + cookie = '', + ): Promise<{ users: Array<{ uin: number }>; cookie: string; isLast: boolean }> { + try { + return await GetEmojiLikes.invoke(this.ctx, { + groupId, + sequence, + emojiId, + emojiType, + count, + cookie, + }); + } catch { + return { users: [], cookie: '', isLast: true }; + } + } + + /** + * Recent-used emoji catalog (0x9084_1). Not a per-message reaction list. + */ + fetchReactionSummary( + groupId: number, + sequence: number, + ): Promise< + Array<{ emojiId: string; emojiType: number; count: number; lastReactionTime: number }> + > { + return FetchReactionSummary.invoke(this.ctx, { groupId, sequence }); + } +} diff --git a/packages/core/src/bridge/apis/message.ts b/packages/core/src/bridge/apis/message.ts new file mode 100644 index 00000000..298b05ed --- /dev/null +++ b/packages/core/src/bridge/apis/message.ts @@ -0,0 +1,1666 @@ +import type { SendMessageRequest, SendMessageResponse } from '@snowluma/proto-defs/action'; +import type { FileExtra } from '@snowluma/proto-defs/message'; +import type { + C2CReadedReportResponseItem, + C2CRecallRequest, + GroupReadedReportResponseItem, + GroupRecallRequest, + SsoReadedReportReq, + SsoReadedReportResp, +} from '@snowluma/proto-defs/oidb-actions/base'; +import { buildSendElems, encodePrivateRichText } from '@snowluma/protocol/element-builder'; +import { assertWindowShakeSendPolicy } from '@snowluma/protocol/element-manifest'; +import { FinalizeOfflineFile } from '@snowluma/protocol/oidb-services/group-file/finalize-offline-file'; +import { datalineTextFromElements, encodeDatalineText } from '@snowluma/protocol/dataline/codec'; +import { + findDatalineDeviceByUin, + type DatalineDeviceContact, +} from '@snowluma/protocol/dataline/device-contacts'; +import type { MessageElement, QQEventVariant } from '@snowluma/protocol/events'; +import { + fetchC2cMessageRange, + fetchC2cRoamMessagePage, + fetchGroupMessageRange, +} from '@snowluma/protocol/msg-push'; +import { type bytes, protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import { createLogger } from '@snowluma/common/logger'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; +import type { BridgeContext } from '../bridge-context'; +import { resolveSelfUid } from './shared'; +// `Bridge` is imported as a type only so we can narrow `ctx` back to +// the concrete Bridge instance when passing it to `buildSendElems` +// (which still takes `Bridge` because the highway upload helpers it +// transitively calls each take `Bridge` — refactoring those is a +// separate concern that doesn't need to land alongside the Api split). +// +// At runtime `ctx` IS the Bridge instance that constructed this +// MessageApi — `buildApiHub(ctx)` passes the Bridge itself. +import type { Bridge, SendMessageReceipt } from '../bridge'; +import { HistoryRequestGate } from './history-request-gate'; + +const SEND_MSG_CMD = 'MessageSvc.PbSendMsg'; +const READ_REPORT_CMD = 'trpc.msg.msg_svc.MsgService.SsoReadedReport'; +const READ_REPORT_BATCH_SIZE = 100; +export const LOGIN_HISTORY_SYNC_PROTOCOL_LIMITS = { + maxTargetsPerKind: READ_REPORT_BATCH_SIZE, + maxMessagesPerSession: 20, + minimumGapMs: 2_000, +} as const; + +const log = createLogger('Bridge.Message'); + +function decodeReadReportResponse(result: SendPacketResult, label: string): SsoReadedReportResp { + if (!result.success) { + throw new Error(result.errorMessage || `${label} transport failed`); + } + + if (!result.gotResponse || !result.responseData || result.responseData.length === 0) { + throw new Error(`${label} response is empty`); + } + + let response: SsoReadedReportResp; + + try { + response = protobuf_decode(result.responseData); + } catch (error) { + throw new Error( + `${label} response decode failed: ${error instanceof Error ? error.message : String(error)}`, + ); + } + + const resultCode = response.resultCode ?? 0; + + if (resultCode !== 0) { + throw new Error(response.errorMessage || `${label} failed with result code ${resultCode}`); + } + + return response; +} + +interface C2CReadTarget { + userId: number; + uid: string; +} + +export interface HistorySyncPrivateTarget { + userId: number; + uid: string; +} + +export interface GroupHistorySyncState { + groupId: number; + readSeq: number; + latestSeq: number; +} + +export interface PrivateHistorySyncState extends HistorySyncPrivateTarget { + readSeq: number; + latestSeq: number; + lastMsgTime: number; +} + +export interface HistorySyncState { + groups: GroupHistorySyncState[]; + privateUsers: PrivateHistorySyncState[]; +} + +interface ReadResponseItem { + resultCode?: number; + errorMessage?: string; +} + +function uniqueSessionIds(ids: readonly number[], label: string): number[] { + const result: number[] = []; + const seen = new Set(); + + for (const id of ids) { + if (!Number.isSafeInteger(id) || id <= 0) { + throw new Error(`invalid ${label} read target ${String(id)}`); + } + + if (!seen.has(id)) { + seen.add(id); + result.push(id); + } + } + + return result; +} + +function uniqueHistorySyncPrivateTargets( + targets: readonly HistorySyncPrivateTarget[], +): HistorySyncPrivateTarget[] { + const result: HistorySyncPrivateTarget[] = []; + const userToUid = new Map(); + const uidToUser = new Map(); + + for (const target of targets) { + if (!Number.isSafeInteger(target.userId) || target.userId <= 0) { + throw new Error(`invalid private history sync target ${String(target.userId)}`); + } + + if (typeof target.uid !== 'string' || target.uid.trim().length === 0) { + throw new Error(`private history sync target ${target.userId} has no uid`); + } + + const uid = target.uid.trim(); + const knownUid = userToUid.get(target.userId); + + if (knownUid !== undefined) { + if (knownUid !== uid) { + throw new Error( + `private history sync target ${target.userId} maps to conflicting uids`, + ); + } + + continue; + } + + const knownUser = uidToUser.get(uid); + + if (knownUser !== undefined && knownUser !== target.userId) { + throw new Error(`private history sync uid ${uid} maps to conflicting users`); + } + + userToUid.set(target.userId, uid); + uidToUser.set(uid, target.userId); + result.push({ userId: target.userId, uid }); + } + + return result; +} + +function requireReadResponseItem( + items: readonly T[] | undefined, + index: number, + matches: (item: T) => boolean, + label: string, +): T { + const item = items?.find(matches) ?? items?.[index]; + + if (!item) { + throw new Error(`${label} response item is missing`); + } + + const resultCode = item.resultCode ?? 0; + + if (resultCode !== 0) { + throw new Error(item.errorMessage || `${label} failed with result code ${resultCode}`); + } + + if (!matches(item)) { + throw new Error(`${label} response identity does not match the request`); + } + + return item; +} + +function readUnsignedSequence(value: bigint | null | undefined, label: string): bigint { + // Proton represents an omitted protobuf scalar as null; protobuf semantics + // define that as the numeric default (zero), not a decode failure. + if (value == null) { + return 0n; + } + + if (typeof value !== 'bigint' || value < 0n) { + throw new Error(`${label} is invalid`); + } + + return value; +} + +function requirePositiveSequence(value: bigint | null | undefined, label: string): bigint { + const sequence = readUnsignedSequence(value, label); + + if (sequence === 0n) { + throw new Error(`${label} is missing`); + } + + return sequence; +} + +function readSafeSequence(value: bigint | null | undefined, label: string): number { + const sequence = readUnsignedSequence(value, label); + + if (sequence > BigInt(Number.MAX_SAFE_INTEGER)) { + throw new Error(`${label} exceeds the safe integer range`); + } + + return Number(sequence); +} + +function validateHistorySyncRange(startSeq: number, endSeq: number, label: string): void { + if (!Number.isSafeInteger(startSeq) || startSeq <= 0) { + throw new Error(`${label} start sequence is invalid: ${String(startSeq)}`); + } + + if (!Number.isSafeInteger(endSeq) || endSeq < startSeq || endSeq > HISTORY_MAX_SEQUENCE) { + throw new Error(`${label} end sequence is invalid: ${String(endSeq)}`); + } + + const slots = endSeq - startSeq + 1; + + if (slots > LOGIN_HISTORY_SYNC_PROTOCOL_LIMITS.maxMessagesPerSession) { + throw new Error( + `${label} may request at most ` + + `${LOGIN_HISTORY_SYNC_PROTOCOL_LIMITS.maxMessagesPerSession} sequence slots`, + ); + } +} + +type GroupMessage = Extract; +type FriendMessage = Extract; + +// ── Group-history fetch guards (the server frequency-limits / kicks abusive +// pulls, so keep each request small, bound the loop, and space the sends). ── +const HISTORY_MAX_COUNT = 200; // hard cap on messages returned per call +const PRIVATE_HISTORY_PAGE_SIZE = 100; +const HISTORY_CHUNK_SEQ = 30; // sequence span per server request (small packet) +const HISTORY_MAX_REQUESTS = 12; // bound the walk-back loop +const HISTORY_MIN_GAP_MS = 300; // minimum spacing between SsoGetGroupMsg sends +const HISTORY_MAX_SEQUENCE = 0xffff_ffff; // sequence fields are protobuf uint32 + +// Process-wide across every account and every history caller. Automatic login +// sync requests use a stricter gap; the gate preserves that gap even when a +// normal history action is queued immediately before or after them. +const historyRequestGate = new HistoryRequestGate(); + +/** + * Shared walk-back loop for group + c2c history: pull HISTORY_CHUNK_SEQ-wide + * windows ending at `endSeq`, throttled, walking strictly backward (handling a + * server-side short cap via the oldest sequence actually returned), dedup by + * sequence, until `count` (capped) is gathered or the floor is reached. Returns + * the newest `want` items oldest→newest. + */ +async function walkBackHistory( + endSeq: number, + count: number, + fetchWindow: (startSeq: number, endSeq: number) => Promise, + sequenceOf: (event: T) => number = (event) => event.msgSeq, +): Promise { + if (!(endSeq > 0)) { + return []; + } + + const want = Math.min(Math.max(1, Math.trunc(count) || 0), HISTORY_MAX_COUNT); + + const collected = new Map(); // dedup by sequence + let curEnd = endSeq; + + for (let i = 0; i < HISTORY_MAX_REQUESTS && collected.size < want && curEnd >= 1; i++) { + const start = Math.max(1, curEnd - HISTORY_CHUNK_SEQ + 1); + const batch = await historyRequestGate.run(HISTORY_MIN_GAP_MS, () => + fetchWindow(start, curEnd), + ); + + if (batch.length > 0) { + let minSeq = curEnd; + + for (const ev of batch) { + const sequence = sequenceOf(ev); + + if (!Number.isInteger(sequence) || sequence < start || sequence > curEnd) { + throw new Error( + `history response sequence is outside requested range ${start}-${curEnd}`, + ); + } + + collected.set(sequence, ev); + + if (sequence < minSeq) { + minSeq = sequence; + } + } + + curEnd = minSeq - 1; // strictly below the oldest returned (covers short caps) + } else { + curEnd = start - 1; // empty window (recalled/absent seqs) — skip past it + } + } + + const all = [...collected.values()].sort((a, b) => sequenceOf(a) - sequenceOf(b)); + return all.slice(-want); // newest `want`, oldest→newest +} + +/** + * Pull sequence windows starting at `startSeq`, retaining the oldest `want` + * messages at or after the anchor. The returned list is chronological, matching + * the existing backward-history API shape. + */ +async function walkForwardHistory( + startSeq: number, + count: number, + fetchWindow: (startSeq: number, endSeq: number) => Promise, + sequenceOf: (event: T) => number = (event) => event.msgSeq, +): Promise { + if (!(startSeq > 0) || startSeq > HISTORY_MAX_SEQUENCE) { + return []; + } + + const want = Math.min(Math.max(1, Math.trunc(count) || 0), HISTORY_MAX_COUNT); + + const collected = new Map(); + const budget = { remaining: HISTORY_MAX_REQUESTS }; + let curStart = startSeq; + + while (budget.remaining > 0 && collected.size < want && curStart <= HISTORY_MAX_SEQUENCE) { + const end = Math.min(HISTORY_MAX_SEQUENCE, curStart + HISTORY_CHUNK_SEQ - 1); + const window = await fetchForwardWindow(curStart, end, budget, fetchWindow, sequenceOf); + + for (const event of window.messages) { + collected.set(sequenceOf(event), event); + } + + if (!window.complete || end === HISTORY_MAX_SEQUENCE) { + break; + } + + curStart = end + 1; + } + + const all = [...collected.values()].sort((a, b) => sequenceOf(a) - sequenceOf(b)); + return all.slice(0, want); +} + +interface ForwardWindowResult { + messages: T[]; + complete: boolean; +} + +/** + * Resolve one forward window from its lower boundary. The history service may + * short-cap a range to its newest suffix; recursively fetch the omitted prefix + * before exposing that suffix so callers never skip messages nearest the + * anchor. An exhausted request budget marks the window incomplete, preventing + * later messages from being returned ahead of an unresolved prefix. + */ +async function fetchForwardWindow( + startSeq: number, + endSeq: number, + budget: { remaining: number }, + fetchWindow: (startSeq: number, endSeq: number) => Promise, + sequenceOf: (event: T) => number, +): Promise> { + if (budget.remaining <= 0) { + return { messages: [], complete: false }; + } + + budget.remaining--; + const batch = await historyRequestGate.run(HISTORY_MIN_GAP_MS, () => + fetchWindow(startSeq, endSeq), + ); + + if (batch.length === 0) { + return { messages: [], complete: true }; + } + + const messages = [...new Map(batch.map((event) => [sequenceOf(event), event])).values()].sort( + (a, b) => sequenceOf(a) - sequenceOf(b), + ); + + for (const message of messages) { + const sequence = sequenceOf(message); + + if (!Number.isInteger(sequence) || sequence < startSeq || sequence > endSeq) { + throw new Error( + `history response sequence is outside requested range ${startSeq}-${endSeq}`, + ); + } + } + + const firstSequence = sequenceOf(messages[0]!); + + if (firstSequence === startSeq) { + return { messages, complete: true }; + } + + const prefix = await fetchForwardWindow( + startSeq, + firstSequence - 1, + budget, + fetchWindow, + sequenceOf, + ); + + if (!prefix.complete) { + return prefix; + } + + return { messages: [...prefix.messages, ...messages], complete: true }; +} + +export class MessageApi { + constructor(private readonly ctx: BridgeContext) {} + + /** + * Send a message to a QQ group. + * + * Wraps `MessageSvc.PbSendMsg` with `routingHead.grp.groupCode`. + * Media elements (image / record / video) trigger highway uploads + * inside `buildSendElems` — see `element-builder.ts`. + * + * Returns a `SendMessageReceipt` carrying the assigned messageId, + * group sequence, and timestamps; callers cache this for later + * `recall` / reply lookups. + */ + async sendGroup(groupId: number, elements: MessageElement[]): Promise { + if (elements.length === 0) { + throw new Error('message is empty'); + } + + const protoElems = await buildSendElems(elements, { + bridge: this.ctx as unknown as Bridge, + groupId, + scene: 'group', + }); + const random = this.ctx.nextMessageRandom(); + + const request = protobuf_encode({ + routingHead: { + grp: { groupCode: BigInt(groupId) }, + }, + contentHead: { + type: 1, + }, + messageBody: { + richText: { + elems: protoElems, + }, + }, + clientSequence: 0, + random, + syncCookie: new Uint8Array(0), + via: 0, + dataStatist: 0, + multiSendSeq: 0, + }); + + const result = await this.ctx.sendRawPacket(SEND_MSG_CMD, request); + + if (!result.success || !result.gotResponse || !result.responseData) { + throw new Error(`send group message failed: ${result.errorMessage || 'no response'}`); + } + + const response = protobuf_decode(result.responseData); + + if (!response) { + throw new Error('failed to decode SendMessageResponse'); + } + + if (response.result != null && response.result !== 0) { + throw new Error( + `send group message rejected: result=${response.result} err=${response.errMsg ?? ''}`, + ); + } + + const seq = response.groupSequence ?? 0; + + if (seq <= 0) { + log.warn( + 'group message delivery unconfirmed: group=%d random=%d result=%s sequence=%s time=%s responseBytes=%d', + groupId, + random, + response.result, + response.groupSequence, + response.timestamp1, + result.responseData.length, + ); + throw new Error( + 'group message delivery was not confirmed: QQ returned no message receipt; check the conversation before retrying', + ); + } + + const messageId = random & 0x7fffffff || seq; + const timestamp = response.timestamp1 ?? Math.floor(Date.now() / 1000); + return { messageId, sequence: seq, clientSequence: 0, random, timestamp }; + } + + /** + * Send a c2c (private) message. + * + * Resolves the recipient's UID only when the message carries media + * — text-only messages skip the lookup. Routes through `c2c.uin` + * (and optionally `c2c.uid` for the media case). + */ + async sendPrivate(userUin: number, elements: MessageElement[]): Promise { + const device = findDatalineDeviceByUin(userUin); + + if (device) { + return this.sendDatalineText(device, elements); + } + + if (elements.length === 0) { + throw new Error('message is empty'); + } + + assertWindowShakeSendPolicy( + elements.filter((element) => element.type === 'poke').length, + elements.length, + 'direct-private', + ); + + let userUid = ''; + const hasMedia = elements.some( + (e) => e.type === 'image' || e.type === 'record' || e.type === 'video', + ); + + if (hasMedia) { + userUid = await this.ctx.resolveUserUid(userUin); + } + + const richText = await encodePrivateRichText(elements, { + bridge: this.ctx, + userUid, + scene: 'direct-private', + }); + const random = this.ctx.nextMessageRandom(); + const clientSeq = this.ctx.nextClientSequence(); + + const request = protobuf_encode>({ + routingHead: { + c2c: { + uin: userUin, + ...(userUid ? { uid: userUid } : {}), + }, + }, + contentHead: { + type: 1, + subType: 0, + c2cCmd: 11, + }, + messageBody: { richText }, + clientSequence: clientSeq, + random, + syncCookie: new Uint8Array(0), + via: 0, + dataStatist: 0, + ctrl: { + msgFlag: Math.floor(Date.now() / 1000), + }, + multiSendSeq: 0, + }); + + const result = await this.ctx.sendRawPacket(SEND_MSG_CMD, request); + + if (!result.success || !result.gotResponse || !result.responseData) { + throw new Error(`send private message failed: ${result.errorMessage || 'no response'}`); + } + + const response = protobuf_decode(result.responseData); + + if (!response) { + throw new Error('failed to decode SendMessageResponse'); + } + + if (response.result != null && response.result !== 0) { + throw new Error( + `send private message rejected: result=${response.result} err=${response.errMsg ?? ''}`, + ); + } + + const seq = response.privateSequence ?? 0; + const messageId = random & 0x7fffffff || seq; + const timestamp = response.timestamp1 ?? Math.floor(Date.now() / 1000); + return { messageId, sequence: seq, clientSequence: clientSeq, random, timestamp }; + } + + /** + * Send text to an official my-device contact. These peers are not + * ordinary friends — they use the same trans0x211 send path as c2c + * files, with a device-chat body instead of FileExtra. + */ + private async sendDatalineText( + device: DatalineDeviceContact, + elements: MessageElement[], + ): Promise { + const text = datalineTextFromElements(elements); + const selfUin = parseInt(this.ctx.identity.uin, 10); + + if (!Number.isSafeInteger(selfUin) || selfUin <= 0) { + throw new Error('self uin unavailable'); + } + + const random = this.ctx.nextMessageRandom(); + const clientSeq = this.ctx.nextClientSequence(); + const nowSec = Math.floor(Date.now() / 1000); + const request = protobuf_encode({ + routingHead: { + trans0x211: { + toUin: BigInt(selfUin), + ccCmd: 7, + uid: device.uid, + }, + }, + contentHead: { + type: 1, + subType: 0, + }, + messageBody: { + msgContent: encodeDatalineText({ + selfUin, + dstTerType: device.terType, + text, + }), + }, + clientSequence: clientSeq, + random, + syncCookie: new Uint8Array(0), + via: 0, + dataStatist: 0, + ctrl: { msgFlag: nowSec }, + multiSendSeq: 0, + }); + + const result = await this.ctx.sendRawPacket(SEND_MSG_CMD, request); + + if (!result.success || !result.gotResponse || !result.responseData) { + throw new Error(`send device message failed: ${result.errorMessage || 'no response'}`); + } + + const response = protobuf_decode(result.responseData); + + if (!response) { + throw new Error('failed to decode SendMessageResponse'); + } + + if (response.result != null && response.result !== 0) { + throw new Error( + `send device message rejected: result=${response.result} err=${response.errMsg ?? ''}`, + ); + } + + const seq = response.privateSequence ?? 0; + const messageId = random & 0x7fffffff || seq; + const timestamp = response.timestamp1 ?? Math.floor(Date.now() / 1000); + return { messageId, sequence: seq, clientSequence: clientSeq, random, timestamp }; + } + + /** + * Reply into an existing group temp session (临时会话). Wire primitive only — + * it does NOT gate; the caller verifies the session before calling. Routes + * through `grpTmp` (RoutingHead field 3) with { groupUin, toUid } and a normal + * c2c content head. + */ + async sendGroupTempMessage( + userUin: number, + groupUin: number, + elements: MessageElement[], + ): Promise { + if (elements.length === 0) { + throw new Error('message is empty'); + } + + assertWindowShakeSendPolicy( + elements.filter((element) => element.type === 'poke').length, + elements.length, + 'group-temp', + ); + + const userUid = await this.ctx.resolveUserUid(userUin); + const protoElems = await buildSendElems(elements, { + bridge: this.ctx as unknown as Bridge, + userUid, + scene: 'group-temp', + tempGroupId: groupUin, + }); + const random = this.ctx.nextMessageRandom(); + const clientSeq = this.ctx.nextClientSequence(); + + const request = protobuf_encode({ + routingHead: { + grpTmp: { groupUin: BigInt(groupUin), toUid: userUid }, + }, + contentHead: { type: 1, subType: 0, c2cCmd: 11 }, + messageBody: { richText: { elems: protoElems } }, + clientSequence: clientSeq, + random, + syncCookie: new Uint8Array(0), + via: 0, + dataStatist: 0, + ctrl: { msgFlag: Math.floor(Date.now() / 1000) }, + multiSendSeq: 0, + }); + + const result = await this.ctx.sendRawPacket(SEND_MSG_CMD, request); + + if (!result.success || !result.gotResponse || !result.responseData) { + throw new Error(`send temp message failed: ${result.errorMessage || 'no response'}`); + } + + const response = protobuf_decode(result.responseData); + + if (!response) { + throw new Error('failed to decode SendMessageResponse'); + } + + if (response.result != null && response.result !== 0) { + throw new Error( + `send temp message rejected: result=${response.result} err=${response.errMsg ?? ''}`, + ); + } + + const seq = response.privateSequence ?? 0; + const messageId = random & 0x7fffffff || seq; + const timestamp = response.timestamp1 ?? Math.floor(Date.now() / 1000); + return { messageId, sequence: seq, clientSequence: clientSeq, random, timestamp }; + } + + /** + * Send a c2c file as a chat message. + * + * The wire shape isn't the same as a regular c2c message — the c2c + * file path uses three slots that differ from a normal text/image + * send (verified against `dev/Lagrange.Core/.../MessagePacker.cs: + * BuildPacketBase` + `FileEntity.PackMessageContent`): + * + * 1. `routingHead.trans0x211 { ccCmd: 4, uid: peer }` instead of + * `routingHead.c2c { uin, uid }`. The server rejects c2c file + * messages routed through the regular c2c slot. + * 2. `messageBody.msgContent` carries the serialised + * `FileExtra { file: NotOnlineFile }` bytes. NOT + * `richText.notOnlineFile` — the receiver doesn't read that + * slot for file metadata. + * 3. `contentHead.c2cCmd` left at 0 (Lagrange's default). The + * previous `c2cCmd: 11` was a stale go-cqhttp value the QQ-NT + * server doesn't recognise. + * + * NotOnlineFile carries three required-on-send fields the receiver + * itself ignores but the server's intake validator checks: + * - `subcmd: 1` — c2c file send command code + * - `dangerEvel: 0` — virus-scan severity, always 0 client-side + * - `expireTime` — 7 days from now (Lagrange convention) + * + * `FileExtra.file` alone makes the file downloadable (verified on a live + * account). We ALSO attach `FileExtra.field6` — extra server-issued download + * routing from a best-effort 0xE37_800 finalize that mirrors NapCat and may + * help some receiver clients. The finalize is non-fatal: if it fails we send + * without field6 rather than failing the send (issue #157). + */ + async sendC2cFile( + userUin: number, + userUid: string, + info: { + fileId: string; + fileName: string; + fileSize: number; + fileMd5: Uint8Array; + fileHash?: string; + }, + ): Promise { + const random = this.ctx.nextMessageRandom(); + const clientSeq = this.ctx.nextClientSequence(); + + // Resolve our own uid — needed both for the 0xE37_800 finalize and the + // `field6` download-routing the receiver reads. + const selfUid = await resolveSelfUid(this.ctx); + + // The file is already downloadable from the `NotOnlineFile` reference + // alone — verified on a live account: a plain c2c file send (no field6) + // downloads fine. `field6` is EXTRA server-issued download routing (from + // the 0xE37_800 finalize) that mirrors NapCat and may help some receiver + // clients. So fetch it BEST-EFFORT: if the finalize fails, send without + // field6 rather than failing the whole send. (issue #157 — the finalize + // was originally fatal, which could regress a send that would otherwise + // succeed.) + const fileHash = info.fileHash ?? ''; + let meta: Awaited> | null = null; + + try { + meta = await FinalizeOfflineFile.invoke(this.ctx, { + senderUid: selfUid, + receiverUid: userUid, + fileUuid: info.fileId, + fileHash, + }); + } catch (err) { + log.warn( + 'c2c file finalize (0xE37_800) failed, sending without field6: %s', + err instanceof Error ? err.message : String(err), + ); + } + + const nowSec = Math.floor(Date.now() / 1000); + const sevenDaysSec = 7 * 24 * 60 * 60; + const fileExtra: FileExtra = { + file: { + fileType: 0, + fileUuid: info.fileId, + fileMd5: info.fileMd5, + fileName: info.fileName, + fileSize: BigInt(info.fileSize), + subcmd: 1, + dangerEvel: 0, + expireTime: nowSec + sevenDaysSec, + fileHash, + }, + }; + + if (meta) { + fileExtra.field6 = { + field2: { + field1: meta.field110, + fileUuid: info.fileId, + fileName: info.fileName, + field6: meta.field3, + field7: meta.field101, + field8: meta.field100, + timestamp1: meta.timestamp1, + fileHash, + selfUid, + destUid: userUid, + }, + }; + } + + const fileExtraBytes = protobuf_encode(fileExtra); + + const request = protobuf_encode({ + routingHead: { + trans0x211: { ccCmd: 4, uid: userUid }, + }, + contentHead: { + type: 1, + subType: 0, + }, + messageBody: { + msgContent: fileExtraBytes, + }, + clientSequence: clientSeq, + random, + syncCookie: new Uint8Array(0), + via: 0, + dataStatist: 0, + ctrl: { msgFlag: nowSec }, + multiSendSeq: 0, + }); + + // `userUin` is part of the public contract (the OneBot layer + // threads it through for symmetry with `sendPrivate`) but the + // wire shape only needs the uid. Silence the unused-parameter + // lint without changing the signature. + void userUin; + + const result = await this.ctx.sendRawPacket(SEND_MSG_CMD, request); + + if (!result.success || !result.gotResponse || !result.responseData) { + throw new Error( + `send c2c file message failed: ${result.errorMessage || 'no response'}`, + ); + } + + const response = protobuf_decode(result.responseData); + + if (!response) { + throw new Error('failed to decode SendMessageResponse'); + } + + if (response.result != null && response.result !== 0) { + throw new Error( + `send c2c file message rejected: result=${response.result} err=${response.errMsg ?? ''}`, + ); + } + + const seq = response.privateSequence ?? 0; + const messageId = random & 0x7fffffff || seq; + const timestamp = response.timestamp1 ?? Math.floor(Date.now() / 1000); + return { messageId, sequence: seq, clientSequence: clientSeq, random, timestamp }; + } + + /** + * Recall (revoke) a group message by sequence number. Server-side + * the message ages out after the standard 2-minute window unless + * the user is an admin/owner. + */ + async recallGroup(groupId: number, sequence: number): Promise { + const request = protobuf_encode({ + type: 1, + groupUin: groupId, + info: { sequence, random: 0, field3: 0 }, + settings: { field1: 0 }, + }); + const result = await this.ctx.sendRawPacket( + 'trpc.msg.msg_svc.MsgService.SsoGroupRecallMsg', + request, + ); + + if (!result.success) { + throw new Error(result.errorMessage || 'recall group message failed'); + } + } + + /** + * Recall a c2c (private) message. Needs more positional info than + * the group variant because c2c messages are identified by the + * `(clientSequence, msgSequence, random, timestamp)` tuple rather + * than a single group-side sequence. + */ + async recallPrivate( + userUin: number, + clientSeq: number, + msgSeq: number, + random: number, + timestamp: number, + ): Promise { + const targetUid = await this.ctx.resolveUserUid(userUin); + const request = protobuf_encode({ + type: 1, + targetUid, + info: { + clientSequence: clientSeq, + random, + messageId: (0x01000000n << 32n) | BigInt(random >>> 0), + timestamp, + field5: 0, + messageSequence: msgSeq, + }, + settings: { field1: false, field2: false }, + field6: false, + }); + const result = await this.ctx.sendRawPacket( + 'trpc.msg.msg_svc.MsgService.SsoC2CRecallMsg', + request, + ); + + if (!result.success) { + throw new Error(result.errorMessage || 'recall private message failed'); + } + } + + /** Mark the entire group conversation read, matching QQ NT's setMsgRead(peer). */ + async markGroupRead(groupId: number): Promise { + await this.markAllRead([groupId], []); + } + + /** Mark the entire private conversation read, matching QQ NT's setMsgRead(peer). */ + async markPrivateRead(userId: number): Promise { + await this.markAllRead([], [userId]); + } + + /** + * Mark every supplied conversation read through SsoReadedReport. + * + * Message-head sequences are not valid C2C read sequences. The first packet + * therefore reports zero for every conversation and reads the server's + * current read/latest pair from the response without moving the marker + * backwards. A second packet advances only conversations that are behind. + * QQ NT caps each packet at 100 C2C plus 100 group entries and waits for the + * response before sending the next page; mirror that strictly here. + */ + async markAllRead( + groupIds: readonly number[], + privateUserIds: readonly number[], + ): Promise { + const groups = uniqueSessionIds(groupIds, 'group'); + const privateUsers = uniqueSessionIds(privateUserIds, 'private'); + const c2cTargets: C2CReadTarget[] = []; + + // Keep UID resolution sequential. A cache miss may itself use the network, + // so Promise.all here would reintroduce the burst this method is designed + // to avoid. + for (const userId of privateUsers) { + const uid = await this.ctx.resolveUserUid(userId); + + if (!uid) { + throw new Error(`failed to resolve uid for private read target ${userId}`); + } + + c2cTargets.push({ userId, uid }); + } + + const totalBatches = Math.max( + Math.ceil(groups.length / READ_REPORT_BATCH_SIZE), + Math.ceil(c2cTargets.length / READ_REPORT_BATCH_SIZE), + ); + + if (totalBatches === 0) { + return; + } + + log.debug( + 'mark-read start: groups=%d c2c=%d batches=%d', + groups.length, + c2cTargets.length, + totalBatches, + ); + + for (let batchIndex = 0; batchIndex < totalBatches; batchIndex++) { + const start = batchIndex * READ_REPORT_BATCH_SIZE; + await this.markReadBatch( + groups.slice(start, start + READ_REPORT_BATCH_SIZE), + c2cTargets.slice(start, start + READ_REPORT_BATCH_SIZE), + batchIndex + 1, + totalBatches, + ); + } + + log.debug('mark-read complete: groups=%d c2c=%d', groups.length, c2cTargets.length); + } + + private async sendReadReport( + request: SsoReadedReportReq, + label: string, + minimumGapMs = HISTORY_MIN_GAP_MS, + signal?: AbortSignal, + ): Promise { + log.debug( + '%s send: groups=%d c2c=%d', + label, + request.groupList?.length ?? 0, + request.c2cList?.length ?? 0, + ); + const payload = protobuf_encode(request); + const result = await historyRequestGate.run( + minimumGapMs, + () => this.ctx.sendRawPacket(READ_REPORT_CMD, payload), + signal, + ); + const response = decodeReadReportResponse(result, label); + log.debug( + '%s response: groups=%d c2c=%d', + label, + response.groupList?.length ?? 0, + response.c2cList?.length ?? 0, + ); + return response; + } + + /** + * Read the server's current read/latest cursors without advancing any read + * marker. The zero-valued report fields are omitted on the wire by protobuf, + * matching QQ NT's read-only probe. Automatic login sync is deliberately + * limited to one probe with at most 100 group and 100 private targets. + */ + async probeHistorySyncState( + groupIds: readonly number[], + privateTargets: readonly HistorySyncPrivateTarget[], + signal?: AbortSignal, + ): Promise { + const groups = uniqueSessionIds(groupIds, 'group'); + const privateUsers = uniqueHistorySyncPrivateTargets(privateTargets); + const maxTargets = LOGIN_HISTORY_SYNC_PROTOCOL_LIMITS.maxTargetsPerKind; + + if (groups.length > maxTargets) { + throw new Error(`history sync probe accepts at most ${maxTargets} group targets`); + } + + if (privateUsers.length > maxTargets) { + throw new Error(`history sync probe accepts at most ${maxTargets} private targets`); + } + + if (groups.length === 0 && privateUsers.length === 0) { + return { groups: [], privateUsers: [] }; + } + + const label = 'login history sync probe'; + const response = await this.sendReadReport( + { + groupList: groups.map((groupId) => ({ + groupUin: BigInt(groupId), + lastReadSeq: 0n, + })), + c2cList: privateUsers.map((target) => ({ + uid: target.uid, + lastReadTime: 0n, + lastReadSeq: 0n, + })), + }, + label, + LOGIN_HISTORY_SYNC_PROTOCOL_LIMITS.minimumGapMs, + signal, + ); + + const groupState = groups.map((groupId, index): GroupHistorySyncState => { + const item = this.groupReadResponse(response, groupId, index, label); + const readSeq = readSafeSequence( + item.readSeq, + `${label} group ${groupId} read sequence`, + ); + const latestSeq = readSafeSequence( + item.latestSeq, + `${label} group ${groupId} latest sequence`, + ); + + if (latestSeq < readSeq) { + throw new Error( + `${label} group ${groupId} latest sequence ${latestSeq} ` + + `is before read sequence ${readSeq}`, + ); + } + + return { groupId, readSeq, latestSeq }; + }); + + const privateState = privateUsers.map((target, index): PrivateHistorySyncState => { + const item = this.c2cReadResponse(response, target, index, label); + const targetUin = readSafeSequence( + item.targetUin, + `${label} private user ${target.userId} target uin`, + ); + + if (targetUin !== 0 && targetUin !== target.userId) { + throw new Error( + `${label} private user ${target.userId} response target ${targetUin} does not match`, + ); + } + + const readSeq = readSafeSequence( + item.readSeq, + `${label} private user ${target.userId} read sequence`, + ); + const latestSeq = readSafeSequence( + item.latestSeq, + `${label} private user ${target.userId} latest sequence`, + ); + + if (latestSeq < readSeq) { + throw new Error( + `${label} private user ${target.userId} latest sequence ${latestSeq} ` + + `is before read sequence ${readSeq}`, + ); + } + + return { + ...target, + readSeq, + latestSeq, + lastMsgTime: readSafeSequence( + item.lastMsgTime, + `${label} private user ${target.userId} last message time`, + ), + }; + }); + + return { groups: groupState, privateUsers: privateState }; + } + + private groupReadResponse( + response: SsoReadedReportResp, + groupId: number, + index: number, + label: string, + ): GroupReadedReportResponseItem { + const groupUin = BigInt(groupId); + return requireReadResponseItem( + response.groupList, + index, + (item) => item.groupUin === groupUin, + `${label} group ${groupId}`, + ); + } + + private c2cReadResponse( + response: SsoReadedReportResp, + target: C2CReadTarget, + index: number, + label: string, + ): C2CReadedReportResponseItem { + return requireReadResponseItem( + response.c2cList, + index, + (item) => item.uid === target.uid, + `${label} private user ${target.userId}`, + ); + } + + private async markReadBatch( + groupIds: readonly number[], + c2cTargets: readonly C2CReadTarget[], + batchIndex: number, + totalBatches: number, + ): Promise { + const batchLabel = `mark-read batch ${batchIndex}/${totalBatches}`; + const probe = await this.sendReadReport( + { + groupList: groupIds.map((groupId) => ({ + groupUin: BigInt(groupId), + lastReadSeq: 0n, + })), + c2cList: c2cTargets.map((target) => ({ + uid: target.uid, + lastReadTime: 0n, + lastReadSeq: 0n, + })), + }, + `${batchLabel} probe`, + ); + + const groupList: NonNullable = []; + + for (let i = 0; i < groupIds.length; i++) { + const groupId = groupIds[i]!; + const item = this.groupReadResponse(probe, groupId, i, `${batchLabel} probe`); + const readSeq = readUnsignedSequence( + item.readSeq, + `${batchLabel} group ${groupId} read sequence`, + ); + const latestSeq = readUnsignedSequence( + item.latestSeq, + `${batchLabel} group ${groupId} latest sequence`, + ); + + if (latestSeq < readSeq) { + throw new Error( + `${batchLabel} group ${groupId} latest sequence ${latestSeq} is before read sequence ${readSeq}`, + ); + } + + if (latestSeq > readSeq) { + groupList.push({ groupUin: BigInt(groupId), lastReadSeq: latestSeq }); + } + } + + const c2cList: NonNullable = []; + const c2cConfirmTargets: C2CReadTarget[] = []; + + for (let i = 0; i < c2cTargets.length; i++) { + const target = c2cTargets[i]!; + const item = this.c2cReadResponse(probe, target, i, `${batchLabel} probe`); + const readSeq = readUnsignedSequence( + item.readSeq, + `${batchLabel} private user ${target.userId} read sequence`, + ); + const latestSeq = readUnsignedSequence( + item.latestSeq, + `${batchLabel} private user ${target.userId} latest sequence`, + ); + + if (latestSeq < readSeq) { + throw new Error( + `${batchLabel} private user ${target.userId} latest sequence ${latestSeq} is before read sequence ${readSeq}`, + ); + } + + if (latestSeq > readSeq) { + const lastMsgTime = requirePositiveSequence( + item.lastMsgTime, + `${batchLabel} private user ${target.userId} last message time`, + ); + c2cList.push({ + uid: target.uid, + lastReadTime: lastMsgTime, + lastReadSeq: latestSeq, + }); + c2cConfirmTargets.push(target); + } + } + + if (groupList.length === 0 && c2cList.length === 0) { + log.debug('%s already current', batchLabel); + return; + } + + const confirm = await this.sendReadReport({ groupList, c2cList }, `${batchLabel} confirm`); + + for (let i = 0; i < groupList.length; i++) { + const requested = groupList[i]!; + const groupId = Number(requested.groupUin); + const item = this.groupReadResponse(confirm, groupId, i, `${batchLabel} confirm`); + const readSeq = readUnsignedSequence( + item.readSeq, + `${batchLabel} group ${groupId} confirmed read sequence`, + ); + + if (readSeq < (requested.lastReadSeq ?? 0n)) { + throw new Error( + `${batchLabel} group ${groupId} confirmed sequence ${readSeq} before requested ${requested.lastReadSeq}`, + ); + } + } + + for (let i = 0; i < c2cList.length; i++) { + const requested = c2cList[i]!; + const target = c2cConfirmTargets[i]!; + const item = this.c2cReadResponse(confirm, target, i, `${batchLabel} confirm`); + const readSeq = readUnsignedSequence( + item.readSeq, + `${batchLabel} private user ${target.userId} confirmed read sequence`, + ); + + if (readSeq < (requested.lastReadSeq ?? 0n)) { + throw new Error( + `${batchLabel} private user ${target.userId} confirmed sequence ${readSeq} before requested ${requested.lastReadSeq}`, + ); + } + } + } + + /** + * Fetch real group history from the server (`SsoGetGroupMsg`), including the + * anchor and walking backward or forward in small windows. Rate-limited and + * capped so a hammering client cannot flood the server. Returns decoded + * `group_message` events oldest→newest regardless of query direction. + */ + async getGroupHistory( + groupUin: number, + anchorSeq: number, + count: number, + selfUin = 0, + reverseOrder = true, + ): Promise { + if (!(groupUin > 0)) { + return []; + } + + const fetchWindow = (start: number, end: number) => + fetchGroupMessageRange(this.ctx, this.ctx.identity, selfUin, groupUin, start, end); + return reverseOrder + ? walkBackHistory(anchorSeq, count, fetchWindow) + : walkForwardHistory(anchorSeq, count, fetchWindow); + } + + /** + * Fetch exactly one bounded group-history window for automatic login sync. + * Unlike the public history action this method never paginates or retries. + */ + async getGroupHistorySyncPage( + groupUin: number, + startSeq: number, + endSeq: number, + selfUin = 0, + signal?: AbortSignal, + ): Promise { + if (!Number.isSafeInteger(groupUin) || groupUin <= 0) { + throw new Error(`group history sync target is invalid: ${String(groupUin)}`); + } + + validateHistorySyncRange(startSeq, endSeq, `group ${groupUin} history sync`); + + const messages = await historyRequestGate.run( + LOGIN_HISTORY_SYNC_PROTOCOL_LIMITS.minimumGapMs, + () => + fetchGroupMessageRange( + this.ctx, + this.ctx.identity, + selfUin, + groupUin, + startSeq, + endSeq, + ), + signal, + ); + return this.validateHistorySyncPage( + messages, + (message) => message.msgSeq, + startSeq, + endSeq, + `group ${groupUin} history sync`, + ); + } + + /** + * Fetch real private history from the server (`SsoGetC2cMsg`), including the + * anchor in the requested direction. It shares the group variant's throttle + * and data-volume guards. Returns decoded events oldest→newest. + */ + async getC2cHistory( + friendUid: string, + anchorSeq: number, + count: number, + selfUin = 0, + reverseOrder = true, + ): Promise { + if (!friendUid) { + return []; + } + + const fetchWindow = (start: number, end: number) => + fetchC2cMessageRange(this.ctx, this.ctx.identity, selfUin, friendUid, start, end); + const serverSequence = (message: FriendMessage) => message.ntMsgSeq ?? 0; + return reverseOrder + ? walkBackHistory(anchorSeq, count, fetchWindow, serverSequence) + : walkForwardHistory(anchorSeq, count, fetchWindow, serverSequence); + } + + /** + * Fetch exactly one bounded private-history sequence window for automatic + * login sync. Sender-local message-head sequences are not valid here. + */ + async getC2cHistorySyncPage( + friendUid: string, + startSeq: number, + endSeq: number, + selfUin = 0, + signal?: AbortSignal, + ): Promise { + if (!friendUid.trim()) { + throw new Error('private history sync uid is required'); + } + + validateHistorySyncRange(startSeq, endSeq, `private ${friendUid} history sync`); + + const messages = await historyRequestGate.run( + LOGIN_HISTORY_SYNC_PROTOCOL_LIMITS.minimumGapMs, + () => + fetchC2cMessageRange( + this.ctx, + this.ctx.identity, + selfUin, + friendUid, + startSeq, + endSeq, + ), + signal, + ); + return this.validateHistorySyncPage( + messages, + (message) => message.ntMsgSeq ?? 0, + startSeq, + endSeq, + `private ${friendUid} history sync`, + ); + } + + /** + * Fetch one latest private roaming page for a session without a local + * authoritative sequence. No cursor loop or retry is permitted. + */ + async getC2cLatestHistorySyncPage( + friendUid: string, + count: number, + selfUin = 0, + beforeTime = Math.floor(Date.now() / 1000) + 1, + signal?: AbortSignal, + ): Promise { + if (!friendUid.trim()) { + throw new Error('private history sync uid is required'); + } + + const maxMessages = LOGIN_HISTORY_SYNC_PROTOCOL_LIMITS.maxMessagesPerSession; + + if (!Number.isSafeInteger(count) || count < 1 || count > maxMessages) { + throw new Error(`private history sync may request at most ${maxMessages} messages`); + } + + const page = await historyRequestGate.run( + LOGIN_HISTORY_SYNC_PROTOCOL_LIMITS.minimumGapMs, + () => + fetchC2cRoamMessagePage( + this.ctx, + this.ctx.identity, + selfUin, + friendUid, + beforeTime, + count, + 0, + ), + signal, + ); + const messages = [ + ...new Map( + page.messages.map((message) => { + const sequence = message.ntMsgSeq ?? 0; + + if (!Number.isSafeInteger(sequence) || sequence <= 0) { + throw new Error( + `private ${friendUid} history sync returned invalid NT sequence ${String(sequence)}`, + ); + } + + return [sequence, message] as const; + }), + ).values(), + ].sort((a, b) => (a.ntMsgSeq ?? 0) - (b.ntMsgSeq ?? 0) || a.time - b.time); + + if (messages.length > count) { + throw new Error( + `private ${friendUid} history sync returned ${messages.length} messages ` + + `for a ${count}-message request`, + ); + } + + return messages; + } + + /** + * Fetch the latest private history page without relying on a locally cached + * sequence. C2C field-5 sequences are sender-local, so only SsoGetRoamMsg's + * timestamp cursor can safely bootstrap an unanchored conversation. + */ + async getC2cLatestHistory( + friendUid: string, + count: number, + selfUin = 0, + beforeTime = Math.floor(Date.now() / 1000) + 1, + ): Promise { + if (!friendUid) { + return []; + } + + const want = Math.min(Math.max(1, Math.trunc(count) || 0), HISTORY_MAX_COUNT); + const collected = new Map(); + let cursor = { time: beforeTime, random: 0 }; + const seenCursors = new Set([`${cursor.time}:${cursor.random}`]); + let reachedEnd = false; + + for (let i = 0; i < HISTORY_MAX_REQUESTS && collected.size < want; i++) { + const page = await historyRequestGate.run(HISTORY_MIN_GAP_MS, () => + fetchC2cRoamMessagePage( + this.ctx, + this.ctx.identity, + selfUin, + friendUid, + cursor.time, + Math.min(want - collected.size, PRIVATE_HISTORY_PAGE_SIZE), + cursor.random, + ), + ); + + for (const message of page.messages) { + const sequence = message.ntMsgSeq ?? 0; + + if (!Number.isSafeInteger(sequence) || sequence <= 0) { + throw new Error( + `private roam history returned invalid NT sequence ${String(sequence)}`, + ); + } + + collected.set(sequence, message); + } + + if (collected.size >= want) { + break; + } + + if (page.isComplete || (page.cursor.time === 0 && page.cursor.random === 0)) { + reachedEnd = true; + break; + } + + const nextCursorKey = `${page.cursor.time}:${page.cursor.random}`; + + if (seenCursors.has(nextCursorKey)) { + throw new Error( + `private roam history cursor did not advance from ${cursor.time}/${cursor.random}`, + ); + } + + seenCursors.add(nextCursorKey); + cursor = page.cursor; + } + + if (collected.size < want && !reachedEnd) { + throw new Error( + `private roam history request budget exhausted after ${HISTORY_MAX_REQUESTS} pages ` + + `(requested=${want}, collected=${collected.size})`, + ); + } + + return [...collected.values()] + .sort((a, b) => (a.ntMsgSeq ?? 0) - (b.ntMsgSeq ?? 0) || a.time - b.time) + .slice(-want); + } + + /** + * Fetch a single group message by its exact sequence — `SsoGetGroupMsg` over a + * 1-wide `[seq, seq]` range, through the shared history throttle gate. Used to + * back-fill a replied-to message the local store never saw. Returns the + * matching `group_message`, or null if absent / on error. + */ + async getGroupMessageBySeq( + groupUin: number, + seq: number, + selfUin = 0, + ): Promise { + if (!(groupUin > 0) || !(seq > 0)) { + return null; + } + + try { + const batch = await historyRequestGate.run(HISTORY_MIN_GAP_MS, () => + fetchGroupMessageRange(this.ctx, this.ctx.identity, selfUin, groupUin, seq, seq), + ); + return batch.find((m) => m.msgSeq === seq) ?? null; + } catch { + return null; + } + } + + /** + * Fetch a single c2c message by its exact conversation-wide NT sequence — + * `SsoGetC2cMsg` over a 1-wide `[seq, seq]` range, through the same throttle + * gate. Sender-local reply/recall sequences must not be passed here. + */ + async getC2cMessageBySeq( + friendUid: string, + seq: number, + selfUin = 0, + ): Promise { + if (!friendUid || !(seq > 0)) { + return null; + } + + try { + const batch = await historyRequestGate.run(HISTORY_MIN_GAP_MS, () => + fetchC2cMessageRange(this.ctx, this.ctx.identity, selfUin, friendUid, seq, seq), + ); + return batch.find((m) => m.ntMsgSeq === seq) ?? null; + } catch { + return null; + } + } + + private validateHistorySyncPage( + messages: readonly T[], + sequenceOf: (message: T) => number, + startSeq: number, + endSeq: number, + label: string, + ): T[] { + const bySequence = new Map(); + + for (const message of messages) { + const sequence = sequenceOf(message); + + if (!Number.isSafeInteger(sequence) || sequence < startSeq || sequence > endSeq) { + throw new Error( + `${label} returned sequence ${String(sequence)} outside ` + + `requested range ${startSeq}-${endSeq}`, + ); + } + + bySequence.set(sequence, message); + } + + return [...bySequence.values()].sort((a, b) => sequenceOf(a) - sequenceOf(b)); + } +} diff --git a/packages/core/src/bridge/apis/misc.ts b/packages/core/src/bridge/apis/misc.ts new file mode 100644 index 00000000..12b13164 --- /dev/null +++ b/packages/core/src/bridge/apis/misc.ts @@ -0,0 +1,117 @@ +import type { JsonObject, JsonValue } from '@snowluma/common/json'; +import type { MiniAppShareReq, MiniAppShareResp } from '@snowluma/proto-defs/oidb-actions/base'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { BridgeContext } from '../bridge-context'; +// Migrated OIDB cmds — facade methods are one-line forwarders. +import { ClickInlineKeyboardButton } from '@snowluma/protocol/oidb-services/misc/click-inline-keyboard-button'; +import { SendGroupSign } from '@snowluma/protocol/oidb-services/misc/send-group-sign'; +import { TranslateEnToZh } from '@snowluma/protocol/oidb-services/misc/translate-en-to-zh'; +import { RequestDbKey } from '@snowluma/protocol/oidb-services/misc/request-decrypt-key'; +import { ImageOcr, type OcrResult } from '@snowluma/protocol/oidb-services/misc/image-ocr'; + +export class MiscApi { + constructor(private readonly ctx: BridgeContext) {} + + translateEn2Zh(words: string[]): Promise { + return TranslateEnToZh.invoke(this.ctx, { words }); + } + + ocrImage(imageUrl: string): Promise { + return ImageOcr.invoke(this.ctx, { imageUrl }); + } + + async getMiniAppArk( + type: string, + title: string, + desc: string, + picUrl: string, + jumpUrl: string, + ): Promise { + let appid = '1109937557'; // default: bilibili + let iconUrl = + 'http://miniapp.gtimg.cn/public/appicon/51f90239b78a2e4994c11215f4c4ba15_200.jpg'; + + if (type === 'weibo') { + appid = '1109224783'; + iconUrl = + 'http://miniapp.gtimg.cn/public/appicon/35bbb44dc68e65194cfacfb206b8f1f7_200.jpg'; + } else if (type !== 'bili') { + throw new Error(`unsupported type: ${type}, only support bili and weibo`); + } + + const request = protobuf_encode({ + sdkVersion: 'V1_PC_MINISDK_99.99.99_1_APP_A', + body: { appid, title, desc, picUrl, jumpUrl, iconUrl }, + }); + + const result = await this.ctx.sendRawPacket( + 'LightAppSvc.mini_app_share.AdaptShareInfo', + request, + ); + + if (!result.success || !result.responseData) { + throw new Error(result.errorMessage || 'get mini app ark failed'); + } + + const decoded = protobuf_decode(result.responseData); + const jsonStr = decoded?.body?.jsonStr; + + if (!jsonStr) { + throw new Error('mini app share json empty'); + } + + const parsed = JSON.parse(jsonStr) as Record< + string, + JsonObject | string | number | boolean | null + >; + + return { + data: { + ver: parsed.ver, + prompt: parsed.prompt, + config: parsed.config, + app: parsed.appName, + view: parsed.appView, + meta: parsed.metaData, + miniappShareOrigin: 3, + miniappOpenRefer: '10002', + }, + }; + } + + clickInlineKeyboardButton( + groupId: number, + botAppid: number, + buttonId: string, + callbackData: string, + msgSeq: number, + ): Promise { + return ClickInlineKeyboardButton.invoke(this.ctx, { + groupId, + botAppid, + buttonId, + callbackData, + msgSeq, + }); + } + + sendGroupSign(groupId: number): Promise { + return SendGroupSign.invoke(this.ctx, { groupId }); + } + + async getDecryptKey(dbSalt: string): Promise { + const result = await RequestDbKey.invoke(this.ctx, { db_salt: dbSalt }); + + if (!result.success) { + throw new Error( + result.errorMsg || `Failed to get decrypt key (code: ${result.errorCode})`, + ); + } + + if (!result.dbKey) { + throw new Error('Decrypt key is empty'); + } + + return result.dbKey; + } +} diff --git a/packages/core/src/bridge/apis/profile.ts b/packages/core/src/bridge/apis/profile.ts new file mode 100644 index 00000000..d7ee764a --- /dev/null +++ b/packages/core/src/bridge/apis/profile.ts @@ -0,0 +1,315 @@ +import type { + GroupAvatarExtra, + SetStatusReq, + SetStatusResp, +} from '@snowluma/proto-defs/oidb-actions/base'; +import { AddCustomFace } from '@snowluma/protocol/oidb-services/custom-face/add-custom-face'; +import { DeleteCustomFace } from '@snowluma/protocol/oidb-services/custom-face/delete-custom-face'; +import { FetchCustomFaceDetail } from '@snowluma/protocol/oidb-services/custom-face/fetch-custom-face-detail'; +import { FetchCustomFaceList } from '@snowluma/protocol/oidb-services/custom-face/fetch-custom-face-list'; +import { ModifyCustomFace } from '@snowluma/protocol/oidb-services/custom-face/modify-custom-face'; +import { MoveCustomFace } from '@snowluma/protocol/oidb-services/custom-face/move-custom-face'; +import { OrderCustomFace } from '@snowluma/protocol/oidb-services/custom-face/order-custom-face'; +import { + BufferChunkSource, + fetchHighwaySession, + uploadHighwayHttp, +} from '@snowluma/protocol/highway'; +import { computeHashes, loadBinarySource } from '@snowluma/protocol/highway/utils'; +import { GetLike, type LikeInfo } from '@snowluma/protocol/oidb-services/profile/get-like'; +import { + GetUnidirectionalFriendList, + type UnidirectionalFriendEntry, +} from '@snowluma/protocol/oidb-services/profile/get-unidirectional-friend-list'; +import { SetInputStatus } from '@snowluma/protocol/oidb-services/profile/set-input-status'; +import { SetProfile } from '@snowluma/protocol/oidb-services/profile/set-profile'; +import { SetSelfLongNick } from '@snowluma/protocol/oidb-services/profile/set-self-long-nick'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { Bridge } from '../bridge'; +import type { BridgeContext } from '../bridge-context'; + +function asBridge(ctx: BridgeContext): Bridge { + return ctx as unknown as Bridge; +} + +export interface CustomFaceDetail { + emojiId: string; + url: string; + md5: string; + desc: string; +} + +export class ProfileApi { + constructor(private readonly ctx: BridgeContext) {} + + // ─────────────── status / profile setters ─────────────── + + async setOnlineStatus(status: number, extStatus = 0, batteryStatus = 100): Promise { + await this.dispatchSetStatus({ status, extStatus, batteryStatus }); + } + + /** + * DIY (custom) online status. napcat fixes status=10 / extStatus=2000 + * — the values QQ associates with "I have a custom status string" — + * and threads the faceId / wording / faceType through the customExt + * sub-message of the same SetStatus wire call. + */ + async setDiyOnlineStatus(faceId: number, wording: string, faceType: number): Promise { + await this.dispatchSetStatus({ + status: 10, + extStatus: 2000, + batteryStatus: 0, + customExt: { faceId, text: wording, faceType }, + }); + } + + private async dispatchSetStatus(value: { + status: number; + extStatus: number; + batteryStatus: number; + customExt?: { faceId: number; text: string; faceType: number }; + }): Promise { + const request = protobuf_encode(value); + const result = await this.ctx.sendRawPacket( + 'trpc.qq_new_tech.status_svc.StatusService.SetStatus', + request, + ); + + if (!result.success) { + throw new Error(result.errorMessage || 'set online status failed (network/timeout)'); + } + + if (result.responseData && result.responseData.length > 0) { + const resp = protobuf_decode(result.responseData); + + if (!resp) { + throw new Error( + result.errorMessage || 'set online status failed (network/timeout)', + ); + } + + const message = resp.errMsg ?? ''; + + if (message !== '' && message !== 'set status success') { + throw new Error(message); + } + } + } + + setProfile(nickname?: string, personalNote?: string, sex?: number): Promise { + return SetProfile.invoke(this.ctx, { nickname, personalNote, sex }); + } + + setSelfLongNick(longNick: string): Promise { + return SetSelfLongNick.invoke(this.ctx, { longNick }); + } + + setInputStatus(userId: number, eventType: number): Promise { + return SetInputStatus.invoke(this.ctx, { userId, eventType }); + } + + async setAvatar(source: string): Promise { + const bridge = asBridge(this.ctx); + const loaded = await loadBinarySource(source, 'avatar'); + + if (!loaded.bytes.length) { + throw new Error('avatar file is empty'); + } + + const hashes = computeHashes(loaded.bytes); + const session = await fetchHighwaySession(bridge); + await uploadHighwayHttp( + bridge, + session, + 90, + new BufferChunkSource(loaded.bytes), + hashes.md5, + new Uint8Array(0), + ); + } + + /** + * Set group avatar. Mirrors Lagrange.Core's GroupSetAvatar: + * - same highway HTTP upload as personal avatar + * - cmdId 3000 (instead of 90) + * - GroupAvatarExtra proto carried as the `extend` blob, with the + * four protocol-prescribed constants (type=101, field5=3, field6=1, + * field3.field1=1) and the target groupUin. + * + * Source ref: Lagrange.Core/Internal/Context/Logic/Implementation/OperationLogic.cs#GroupSetAvatar. + */ + async setGroupAvatar(groupId: number, source: string): Promise { + const bridge = asBridge(this.ctx); + const loaded = await loadBinarySource(source, 'group-avatar'); + + if (!loaded.bytes.length) { + throw new Error('group avatar file is empty'); + } + + const hashes = computeHashes(loaded.bytes); + const session = await fetchHighwaySession(bridge); + const extra = protobuf_encode({ + type: 101, + groupUin: groupId, + field3: { field1: 1 }, + field5: 3, + field6: 1, + }); + await uploadHighwayHttp( + bridge, + session, + 3000, + new BufferChunkSource(loaded.bytes), + hashes.md5, + extra, + ); + } + + // ─────────────── queries on me / my contacts ─────────────── + + getLike(userId?: number, start = 0, limit = 10): Promise { + return GetLike.invoke(this.ctx, { userId, start, limit }); + } + + getUnidirectionalFriendList(): Promise { + return GetUnidirectionalFriendList.invoke(this.ctx); + } + + async fetchCustomFace(count = 10): Promise { + const faceIds = await this.fetchCustomFaceIds(count); + return faceIds.map((id) => this.customFaceUrl(id)); + } + + async fetchCustomFaceDetails(count = 10): Promise { + const faceIds = await this.fetchCustomFaceIds(count); + + if (faceIds.length === 0) { + return []; + } + + const emojis = faceIds.map((emojiId) => ({ + emojiId, + md5: md5FromEmojiId(emojiId), + })); + const details = await FetchCustomFaceDetail.invoke(this.ctx, { emojis }); + const descriptions = new Map(details.map((detail) => [detail.emojiId, detail.desc])); + + return emojis.map(({ emojiId, md5 }) => ({ + emojiId, + url: this.customFaceUrl(emojiId), + md5, + // The detail response may omit entries which have never had a remark. + desc: descriptions.get(emojiId) ?? '', + })); + } + + async fetchCustomFaceIds(count = 10): Promise { + if (!Number.isInteger(count) || count < 0) { + throw new Error('custom face count must be a non-negative integer'); + } + + if (count === 0) { + return []; + } + + const faceIds = await FetchCustomFaceList.invoke(this.ctx, { uin: this.ctx.identity.uin }); + return faceIds.slice(0, count); + } + + private customFaceUrl(emojiId: string): string { + return `https://p.qpic.cn/qq_expression/${this.ctx.identity.uin}/${emojiId}/0`; + } + + /** Resolve an existing saved sticker by its resource id or content MD5. */ + async resolveCustomFace( + identifier: string, + ): Promise> { + const wanted = identifier.trim(); + + if (!wanted) { + throw new Error('custom face identifier is empty'); + } + + const ids = await FetchCustomFaceList.invoke(this.ctx, { uin: this.ctx.identity.uin }); + const byMd5 = /^[a-fA-F0-9]{32}$/.test(wanted); + const emojiId = ids.find((id) => + byMd5 ? md5FromEmojiId(id).toLowerCase() === wanted.toLowerCase() : id === wanted, + ); + + if (!emojiId) { + throw new Error('custom face is not in the saved sticker list'); + } + + return { emojiId, url: this.customFaceUrl(emojiId), md5: md5FromEmojiId(emojiId) }; + } + + /** 删除一个收藏表情(custom face)。emoji_id 来自收藏列表。 */ + deleteCustomFace(emojiId: string): Promise { + return DeleteCustomFace.invoke(this.ctx, { uin: this.ctx.identity.uin, emojiId }); + } + + /** + * 添加收藏表情(custom face)。imageSource 支持 file:///、base64://、http(s):// + * (复用 highway utils 的 loadBinarySource)。返回新 emoji_id。 + */ + async addCustomFace(imageSource: string): Promise { + const { bytes } = await loadBinarySource(imageSource, 'custom-face'); + return AddCustomFace.invoke(this.ctx, { uin: this.ctx.identity.uin, imageBytes: bytes }); + } + + /** + * 修改收藏表情(custom face)备注。emoji_id 来自收藏列表;md5 从 emoji_id + * 中段解析,无需调用方单独提供。desc 为空串则清空备注。 + */ + modifyCustomFace(emojiId: string, desc: string): Promise { + return ModifyCustomFace.invoke(this.ctx, { + emojiId, + md5: md5FromEmojiId(emojiId), + desc, + }); + } + + /** + * 收藏表情(custom face)移到最前。QQ 客户端只有"移动到最前",协议层 + * (0x902f 的 f3=1)也只支持最前,不支持移到其他位置。两步流程:先 0x902f + * 移动指令,再 0x902e opType=2 上传新顺序(fetch 当前列表把目标挪到第一)。 + * 两步都发才生效。 + */ + async moveCustomFaceToFront(emojiId: string): Promise { + // 1. fetch 当前完整列表(fetch 顺序即可,不需要 DB 显示顺序) + const ids = await this.fetchCustomFaceIds(1000); + const idx = ids.indexOf(emojiId); + + if (idx < 0) { + throw new Error(`emoji_id not in list: ${emojiId}`); + } + + // 新顺序:目标挪到第一,其余按原顺序 + const reordered = ids.slice(); + reordered.splice(idx, 1); + reordered.unshift(emojiId); + // 2. 0x902f 移动指令(f3=1 = 移到最前) + await OrderCustomFace.invoke(this.ctx, { emojiId, position: 1 }); + // 3. 0x902e opType=2 上传新顺序 + await MoveCustomFace.invoke(this.ctx, { + emojis: reordered.map((id) => ({ emojiId: id, md5: md5FromEmojiId(id) })), + }); + } +} + +/** + * 从 emoji_id `_0_0_0__0_0` 提取中段 32 位大写 hex MD5。 + * 格式固定(fetch/delete/move 共用),取第 5 段。解析失败抛错——比静默 + * 传空串让服务端拒绝更早定位问题。 + */ +function md5FromEmojiId(emojiId: string): string { + const parts = emojiId.split('_'); + // 期望形如 `_0_0_0__0_0`,共 7 段,md5 在 index 4。 + const md5 = parts[4]; + + if (!md5 || md5.length !== 32 || !/^[0-9a-fA-F]{32}$/.test(md5)) { + throw new Error(`invalid emoji_id (cannot extract md5): ${emojiId}`); + } + + return md5.toUpperCase(); +} diff --git a/packages/core/src/bridge/apis/qzone.ts b/packages/core/src/bridge/apis/qzone.ts new file mode 100644 index 00000000..54e25e5a --- /dev/null +++ b/packages/core/src/bridge/apis/qzone.ts @@ -0,0 +1,324 @@ +import type { JsonObject } from '@snowluma/common/json'; +import { + commentQzoneMsg, + deleteQzoneMsg, + getQzoneFeeds, + getQzoneMsgDetail, + getQzoneMsgList, + getQzoneProfile, + publishQzoneMsg, + replyQzoneComment, + setQzoneBlack, + setQzoneLike, + setQzoneProfile, + updateQzoneMsgRight, + uploadQzoneImageFromSource, + type QzoneCommentResult, + type QzoneFeedsPage, + type QzoneMsgDetailResult, + type QzoneMsgListResult, + type QzoneProfile, + type QzoneProfileUpdate, + type QzonePublishResult, + type QzoneReplyTarget, + type QzoneUpdateRightResult, + type QzoneUploadImageResult, +} from '@snowluma/protocol/web/qzone'; +import { + getQzonePublicCapabilities, + getQzoneHomeFeeds, + getQzoneFeedDetail, + type QzoneFeedDetail, + getQzoneShareArk, + type QzoneShareArk, + getQzonePublicFeeds, + getQzonePublicFeedDetail, + getQzonePublicComments, + getQzonePublicReplies, + setQzonePublicUpvote, + setQzonePublicLike, + setQzonePublicCommentLike, + commentQzonePublicFeed, + replyQzonePublicFeed, + deleteQzonePublicComment, + deleteQzonePublicReply, + setQzonePublicFollow, + forwardQzonePublicFeed, + type QzonePublicContent, + type QzonePublicFeedsPage, +} from '@snowluma/protocol/web/qzone-public'; +import type { BridgeContext } from '../bridge-context'; + +/** + * Personal QQ-Zone (个人空间) web API: 说说, public recommendations, likes, + * comments and image upload over the cookie-backed Qzone web interfaces, + * reusing the same `getCookies('qzone.qq.com')` plumbing as GroupAlbumApi. + * Distinct from the group-album surface, which lives on GroupAlbumApi. + */ +export class QzoneApi { + constructor(private readonly ctx: BridgeContext) {} + + async getProfile(targetUin?: number): Promise { + const cookieObject = await this.ctx.apis.web.getCookies('qzone.qq.com'); + return getQzoneProfile(cookieObject, this.ctx.identity.uin, targetUin?.toString()); + } + + async setProfile(profile: QzoneProfileUpdate): Promise { + const cookieObject = await this.ctx.apis.web.getCookies('qzone.qq.com'); + await setQzoneProfile(cookieObject, this.ctx.identity.uin, profile); + } + + async getPublicCapabilities(): Promise { + const cookies = await this.ctx.apis.web.getCookies('qzone.qq.com'); + return getQzonePublicCapabilities(cookies, this.ctx.identity.uin); + } + + async getPublicFeeds(cursor?: string): Promise { + const cookies = await this.ctx.apis.web.getCookies('qzone.qq.com'); + return getQzonePublicFeeds(cookies, this.ctx.identity.uin, cursor); + } + + async getHomeFeeds(targetUin?: number, cursor?: string): Promise { + const cookies = await this.ctx.apis.web.getCookies('qzone.qq.com'); + return getQzoneHomeFeeds(cookies, this.ctx.identity.uin, targetUin?.toString(), cursor); + } + + async getFeedDetail(tid: string): Promise { + const cookies = await this.ctx.apis.web.getCookies('qzone.qq.com'); + return getQzoneFeedDetail(cookies, tid); + } + + async getShareArk(feed: JsonObject): Promise { + const cookies = await this.ctx.apis.web.getCookies('qzone.qq.com'); + return getQzoneShareArk(cookies, feed); + } + + async getPublicFeedDetail(feed: JsonObject): Promise { + const cookies = await this.ctx.apis.web.getCookies('qzone.qq.com'); + return getQzonePublicFeedDetail(cookies, feed); + } + + async getPublicComments(feed: JsonObject, cursor: string): Promise { + const cookies = await this.ctx.apis.web.getCookies('qzone.qq.com'); + return getQzonePublicComments(cookies, feed, cursor); + } + + async getPublicReplies( + feed: JsonObject, + comment: JsonObject, + cursor = '', + pageSize = 20, + ): Promise { + const cookies = await this.ctx.apis.web.getCookies('qzone.qq.com'); + return getQzonePublicReplies(cookies, feed, comment, cursor, pageSize); + } + + async setPublicUpvote(feed: JsonObject, enable = true): Promise { + const cookies = await this.ctx.apis.web.getCookies('qzone.qq.com'); + return setQzonePublicUpvote(cookies, feed, enable); + } + + async setPublicLike(feed: JsonObject, enable = true): Promise { + const cookies = await this.ctx.apis.web.getCookies('qzone.qq.com'); + return setQzonePublicLike(cookies, feed, enable); + } + + async setPublicCommentLike( + feed: JsonObject, + comment: JsonObject, + enable = true, + reply?: JsonObject, + ): Promise { + const cookies = await this.ctx.apis.web.getCookies('qzone.qq.com'); + return setQzonePublicCommentLike(cookies, feed, comment, enable, reply); + } + + async commentPublicFeed(feed: JsonObject, content: QzonePublicContent): Promise { + const cookies = await this.ctx.apis.web.getCookies('qzone.qq.com'); + const user = { + uin: this.ctx.identity.uin, + uid: this.ctx.identity.selfUid ?? '', + nick: this.ctx.identity.nickname, + }; + return commentQzonePublicFeed(cookies, feed, user, content); + } + + async replyPublicFeed( + feed: JsonObject, + comment: JsonObject, + content: QzonePublicContent, + reply?: JsonObject, + ): Promise { + const cookies = await this.ctx.apis.web.getCookies('qzone.qq.com'); + const user = { + uin: this.ctx.identity.uin, + uid: this.ctx.identity.selfUid ?? '', + nick: this.ctx.identity.nickname, + }; + return replyQzonePublicFeed(cookies, feed, user, comment, content, reply); + } + + async deletePublicComment(feed: JsonObject, comment: JsonObject): Promise { + const cookies = await this.ctx.apis.web.getCookies('qzone.qq.com'); + return deleteQzonePublicComment(cookies, feed, comment); + } + + async deletePublicReply( + feed: JsonObject, + comment: JsonObject, + reply: JsonObject, + ): Promise { + const cookies = await this.ctx.apis.web.getCookies('qzone.qq.com'); + return deleteQzonePublicReply(cookies, feed, comment, reply); + } + + async setPublicFollow(feed: JsonObject, enable = true): Promise { + const cookies = await this.ctx.apis.web.getCookies('qzone.qq.com'); + return setQzonePublicFollow(cookies, feed, enable); + } + + async forwardPublicFeed(feed: JsonObject, reason = ''): Promise { + const cookies = await this.ctx.apis.web.getCookies('qzone.qq.com'); + return forwardQzonePublicFeed(cookies, feed, reason); + } + + /** + * 获取说说列表。`targetUin` 省略时取机器人自己的空间。 + * `pos` 为起始偏移,`num` 为本页数量(服务端上限约 20/页)。 + */ + async getMsgList(targetUin?: number, pos = 0, num = 20): Promise { + const uin = targetUin && targetUin > 0 ? targetUin.toString() : this.ctx.identity.uin; + const cookieObject = await this.ctx.apis.web.getCookies('qzone.qq.com'); + return getQzoneMsgList(cookieObject, uin, pos, num); + } + + /** 获取说说详情和一页评论。省略 targetUin 时使用当前账号。 */ + async getMsgDetail( + tid: string, + targetUin?: number, + pos = 0, + num = 20, + ): Promise { + const uin = targetUin === undefined ? this.ctx.identity.uin : String(targetUin); + const cookieObject = await this.ctx.apis.web.getCookies('qzone.qq.com'); + return getQzoneMsgDetail(cookieObject, uin, tid, pos, num); + } + + /** + * 获取好友动态。页码调用从首页顺序定位;续页优先传上一页的 cursor。 + * 始终以机器人自己的身份拉取好友动态。 + */ + async getFeeds(pageNum = 1, count = 10, cursor?: string): Promise { + const cookieObject = await this.ctx.apis.web.getCookies('qzone.qq.com'); + return getQzoneFeeds(cookieObject, this.ctx.identity.uin, pageNum, count, cursor); + } + + /** + * 从来源上传图片到 QQ 空间。 + * `source` 支持: file:// 本地路径 | http(s):// URL | base64:// base64数据 + */ + async uploadImageFromSource(source: string): Promise { + const cookieObject = await this.ctx.apis.web.getCookies('qzone.qq.com'); + return uploadQzoneImageFromSource(cookieObject, this.ctx.identity.uin, source); + } + + /** + * 发表说说,返回新说说的 tid。始终发到机器人自己的空间。 + * `richType` / `richval`: 带图说说时传 richType=1 和 richval 字符串 + * (多图用 `\t` 连接多个 richval)。纯文字说说省略这两个参数。 + * `ugcRight` / `targetUins`: 查看权限及其作用名单(ugcRight=16/128 时必填)。 + */ + async publish( + content: string, + richType?: number, + richval?: string, + ugcRight = 1, + targetUins?: string, + ): Promise { + const cookieObject = await this.ctx.apis.web.getCookies('qzone.qq.com'); + return publishQzoneMsg( + cookieObject, + this.ctx.identity.uin, + content, + richType, + richval, + ugcRight, + targetUins, + ); + } + + /** 删除机器人自己空间的一条说说(按 tid)。 */ + async delete(tid: string): Promise { + const cookieObject = await this.ctx.apis.web.getCookies('qzone.qq.com'); + await deleteQzoneMsg(cookieObject, this.ctx.identity.uin, tid); + } + + /** + * 修改机器人自己空间一条已发说说的查看权限(按 tid)。 + * `ugcRight` / `targetUins` 含义同 publish(16/128 时 targetUins 必填)。 + */ + async updateRight( + tid: string, + ugcRight: number, + targetUins?: string, + ): Promise { + const cookieObject = await this.ctx.apis.web.getCookies('qzone.qq.com'); + return updateQzoneMsgRight(cookieObject, this.ctx.identity.uin, tid, ugcRight, targetUins); + } + + /** + * 给一条说说点赞/取消赞。`targetUin` 省略时点赞机器人自己空间的说说; + * 点赞好友说说时传好友 uin(tid 来自 get_qzone_feeds / get_qzone_msg_list)。 + */ + async like( + tid: string, + targetUin: number | undefined, + like: boolean, + abstime = 0, + ): Promise { + const selfUin = this.ctx.identity.uin; + const owner = targetUin && targetUin > 0 ? targetUin.toString() : selfUin; + const cookieObject = await this.ctx.apis.web.getCookies('qzone.qq.com'); + await setQzoneLike(cookieObject, selfUin, owner, tid, like, abstime); + } + + /** + * 评论一条说说。`targetUin` 为说说所属 QQ 号(省略=机器人自己空间); + * 始终以机器人身份发表评论。返回新评论 id(尽力而为)。 + * `richType` / `richval`: 带图评论时传 richType=1 和图片直链 URL + * (从 uploadImageFromSource 的 url 字段获取)。 + * `reply` 指定父评论及可选回复对象;楼中楼回复仅支持文字。 + */ + async comment( + tid: string, + content: string, + targetUin: number | undefined, + richType?: number, + richval?: string, + reply?: QzoneReplyTarget, + ): Promise { + if (reply !== undefined && (richType !== undefined || richval !== undefined)) { + throw new Error('images are not supported for Qzone comment replies'); + } + + const selfUin = this.ctx.identity.uin; + const owner = targetUin && targetUin > 0 ? targetUin.toString() : selfUin; + const cookieObject = await this.ctx.apis.web.getCookies('qzone.qq.com'); + + if (reply !== undefined) { + return replyQzoneComment(cookieObject, selfUin, owner, tid, content, reply); + } + + return commentQzoneMsg(cookieObject, selfUin, owner, tid, content, richType, richval); + } + + /** + * 拉黑或解除拉黑某人(修改机器人自身 QQ 空间黑名单)。 + * `ban=true` 拉黑,`ban=false` 解除拉黑。 + */ + async setBlack(targetUin: number, ban: boolean): Promise { + const selfUin = this.ctx.identity.uin; + const cookieObject = await this.ctx.apis.web.getCookies('qzone.qq.com'); + await setQzoneBlack(cookieObject, selfUin, targetUin.toString(), ban); + } +} diff --git a/packages/core/src/bridge/apis/shared.ts b/packages/core/src/bridge/apis/shared.ts new file mode 100644 index 00000000..4c4706ec --- /dev/null +++ b/packages/core/src/bridge/apis/shared.ts @@ -0,0 +1,35 @@ +export { toInt } from '@snowluma/protocol/oidb-services/shared'; + +// The bot's-own-UID resolver is the single source of truth in @snowluma/protocol +// (a Bridge satisfies its BridgeContext slice). Re-exported here so the existing +// `resolveSelfUid(bridge)` call sites in this package keep importing from shared. +export { resolveSelfUid } from '@snowluma/protocol/self-uid'; + +/** + * Index describing a server-side rich-media object (image / video / + * voice). Returned by message parsers, consumed by the media-URL + * fetchers in group-file.ts. + */ +export interface MediaIndexNode { + info?: { + fileSize?: number; + fileHash?: string; + fileSha1?: string; + fileName?: string; + width?: number; + height?: number; + time?: number; + original?: number; + type?: { + type?: number; + picFormat?: number; + videoFormat?: number; + voiceFormat?: number; + }; + }; + fileUuid?: string; + storeId?: number; + uploadTime?: number; + ttl?: number; + subType?: number; +} diff --git a/packages/core/src/bridge/apis/system-face.ts b/packages/core/src/bridge/apis/system-face.ts new file mode 100644 index 00000000..921a74b1 --- /dev/null +++ b/packages/core/src/bridge/apis/system-face.ts @@ -0,0 +1,36 @@ +import { + sysFaceStore, + type SysFaceEntry, + type SysFacePackEntry, +} from '@snowluma/protocol/sys-face-store'; +import { isSuperFaceEntry } from '@snowluma/protocol/oidb-services/sys-faces/fetch-sys-faces'; +import type { BridgeContext } from '../bridge-context'; + +/** QQ's account-independent system-face directory. The shared store owns + * persistence and refresh coalescing; this API binds it to one live sender. */ +export class SystemFaceApi { + constructor(private readonly ctx: BridgeContext) {} + + fetchCatalog(refresh = false): Promise { + return sysFaceStore.getCatalog(this.ctx, refresh); + } + + async fetchFace(faceId: number, refresh = false): Promise { + if (refresh) { + await sysFaceStore.refresh(this.ctx); + return sysFaceStore.lookup(faceId); + } + + return sysFaceStore.resolve(this.ctx, faceId); + } + + async search(query: string): Promise { + await sysFaceStore.ensureReady(this.ctx); + return sysFaceStore.search(query); + } + + async isSuper(faceId: number, refresh = false): Promise { + const face = await this.fetchFace(faceId, refresh); + return face !== null && isSuperFaceEntry(face); + } +} diff --git a/packages/core/src/bridge/apis/web.ts b/packages/core/src/bridge/apis/web.ts new file mode 100644 index 00000000..edd00a27 --- /dev/null +++ b/packages/core/src/bridge/apis/web.ts @@ -0,0 +1,502 @@ +import { loadBinarySource } from '@snowluma/protocol/highway/utils'; +import { + ForceFetchClientKey, + type ClientKeyInfo as NamespaceClientKeyInfo, +} from '@snowluma/protocol/oidb-services/web/force-fetch-client-key'; +import { GetPskey } from '@snowluma/protocol/oidb-services/web/get-pskey'; +import { + getGroupEssenceMsg, + getGroupEssenceMsgAll, + type GroupEssenceMsgRet, +} from '@snowluma/protocol/web/group-essence'; +import { getFriendDressWebAPI, type WebFriendDress } from '@snowluma/protocol/web/friend-dress'; +import { + getHonorListWebAPI, + WebHonorType, + type WebHonorItem, +} from '@snowluma/protocol/web/group-honor'; +import { getDaySignedListWebAPI, type SignedListMember } from '@snowluma/protocol/web/group-signin'; +import { + deleteGroupNotice as deleteGroupNoticeHttp, + GROUP_NOTICE_TYPE_NEW_MEMBERS, + GROUP_NOTICE_TYPE_NORMAL, + getGroupNoticeWebAPI, + groupNoticeImageUrl, + setGroupNoticeWebAPI, + uploadGroupNoticeImage, + type SetNoticeRetSuccess, + type WebApiGroupNoticeCollection, + type WebApiGroupNoticeFeed, + type WebApiGroupNoticeRet, +} from '@snowluma/protocol/web/group-notice'; +import { RequestUtil } from '@snowluma/protocol/web/request-util'; +import type { Bridge } from '../bridge'; +import type { BridgeContext } from '../bridge-context'; + +function asBridge(ctx: BridgeContext): Bridge { + return ctx as unknown as Bridge; +} + +export type ClientKeyInfo = NamespaceClientKeyInfo; + +export interface WebHonorInfo { + [key: string]: import('@snowluma/common/json').JsonValue; + group_id: number; + current_talkative: WebHonorItem | null; + talkative_list: WebHonorItem[]; + performer_list: WebHonorItem[]; + legend_list: WebHonorItem[]; + emotion_list: WebHonorItem[]; + strong_newbie_list: WebHonorItem[]; +} + +export interface WebNoticeInfo { + [key: string]: import('@snowluma/common/json').JsonValue; + notice_id: string; + sender_id: number; + publish_time: number; + message: { + text: string; + image: Array<{ id: string; url: string; height: number; width: number }>; + images: Array<{ id: string; url: string; height: number; width: number }>; + }; + settings: import('@snowluma/common/json').JsonValue; + read_num: number; + /** Server response type. Regular notices are commonly returned as 6. */ + type: number; + pinned: number; + send_to_new_members: boolean; +} + +export interface SendNoticeOptions { + image?: string; + pinned?: number; + type?: number; + sendToNewMembers?: boolean; + isShowEditCard?: number; + tipWindowType?: number; + confirmRequired?: number; +} + +function finiteNumber(value: unknown, field: string): number { + const parsed = + typeof value === 'number' + ? value + : typeof value === 'string' && value.trim() !== '' + ? Number(value) + : Number.NaN; + + if (!Number.isFinite(parsed)) { + throw new Error(`invalid group notice response: ${field} must be a finite number`); + } + + return parsed; +} + +function collectionValues( + collection: WebApiGroupNoticeCollection | undefined, + field: 'feeds' | 'inst', +): WebApiGroupNoticeFeed[] { + if (collection === undefined) { + return []; + } + + if (Array.isArray(collection)) { + return collection; + } + + if (collection === null || typeof collection !== 'object') { + throw new Error(`invalid group notice response: ${field} must be an array or object`); + } + + return Object.values(collection); +} + +function mapGroupNoticeFeed(feed: WebApiGroupNoticeFeed, sendToNewMembers: boolean): WebNoticeInfo { + if (!feed || typeof feed !== 'object') { + throw new Error('invalid group notice response: feed must be an object'); + } + + if (typeof feed.fid !== 'string' || feed.fid.length === 0) { + throw new Error('invalid group notice response: feed.fid must be a non-empty string'); + } + + if (!feed.msg || typeof feed.msg !== 'object' || typeof feed.msg.text !== 'string') { + throw new Error(`invalid group notice response: feed ${feed.fid} has no message text`); + } + + if (feed.settings === undefined) { + throw new Error(`invalid group notice response: feed ${feed.fid} has no settings`); + } + + const image = (feed.msg.pics ?? []).map((pic, index) => { + if (!pic || typeof pic !== 'object' || typeof pic.id !== 'string') { + throw new Error( + `invalid group notice response: feed ${feed.fid} image ${index} is malformed`, + ); + } + + return { + id: pic.id, + url: groupNoticeImageUrl(pic.id), + height: finiteNumber(pic.h, `feed ${feed.fid} image ${index}.h`), + width: finiteNumber(pic.w, `feed ${feed.fid} image ${index}.w`), + }; + }); + const responseType = + feed.type === undefined + ? sendToNewMembers + ? GROUP_NOTICE_TYPE_NEW_MEMBERS + : GROUP_NOTICE_TYPE_NORMAL + : finiteNumber(feed.type, `feed ${feed.fid}.type`); + + return { + notice_id: feed.fid, + sender_id: finiteNumber(feed.u, `feed ${feed.fid}.u`), + publish_time: finiteNumber(feed.pubt, `feed ${feed.fid}.pubt`), + message: { + text: feed.msg.text, + image, + images: image, + }, + settings: feed.settings, + read_num: finiteNumber(feed.read_num, `feed ${feed.fid}.read_num`), + type: responseType, + pinned: + feed.pinned === undefined ? 0 : finiteNumber(feed.pinned, `feed ${feed.fid}.pinned`), + send_to_new_members: sendToNewMembers || responseType === GROUP_NOTICE_TYPE_NEW_MEMBERS, + }; +} + +/** Merge QQ's regular (`feeds`) and new-member (`inst`) announcement lists. */ +export function mapGroupNoticeResponse(ret: WebApiGroupNoticeRet): WebNoticeInfo[] { + if (ret.ec !== 0) { + throw new Error(`获取公告失败: ec=${ret.ec}, em=${ret.em ?? 'missing'}`); + } + + const notices: WebNoticeInfo[] = []; + const indexByNoticeId = new Map(); + + const append = ( + collection: WebApiGroupNoticeCollection | undefined, + sendToNewMembers: boolean, + field: 'feeds' | 'inst', + ) => { + for (const feed of collectionValues(collection, field)) { + const mapped = mapGroupNoticeFeed(feed, sendToNewMembers); + const existingIndex = indexByNoticeId.get(mapped.notice_id); + + if (existingIndex === undefined) { + indexByNoticeId.set(mapped.notice_id, notices.length); + notices.push(mapped); + } else if (sendToNewMembers) { + // If QQ returns the same item in both collections, `inst` is the + // authoritative signal that it targets new members. + notices[existingIndex] = mapped; + } + } + }; + + append(ret.feeds, false, 'feeds'); + append(ret.inst, true, 'inst'); + return notices; +} + +// ─────────────── private helpers (cookie acquisition) ─────────────── + +function forceFetchClientKeyInner(bridge: Bridge): Promise { + return ForceFetchClientKey.invoke(bridge); +} + +function getPSkey( + bridge: Bridge, + domainList: string[], +): Promise<{ domainPskeyMap: Map }> { + return GetPskey.invoke(bridge, { domainList }); +} + +async function getCookies(bridge: Bridge, domain: string): Promise> { + const ClientKeyData = await forceFetchClientKeyInner(bridge); + + // Build the ptlogin2 jump URL: this is the canonical way for the + // bot to swap its clientKey for cookie-jar entries on a given + // qq.com subdomain. + const requestUrl = + 'https://ssl.ptlogin2.qq.com/jump?ptlang=1033&clientuin=' + + bridge.identity.uin + + '&clientkey=' + + ClientKeyData.clientKey + + '&u1=https%3A%2F%2F' + + domain + + '%2F' + + bridge.identity.uin + + '%2Finfocenter&keyindex=' + + ClientKeyData.keyIndex; + + const data = await RequestUtil.HttpsGetCookies(requestUrl); + + if (!data['p_skey'] || data['p_skey'].length === 0) { + // ptlogin2 sometimes omits p_skey; fall back to OIDB getPSkey + // for the same domain. Errors are swallowed so the caller can + // still proceed with whatever cookies it did get. + try { + const pskeyData = await getPSkey(bridge, [domain]); + const pskey = pskeyData.domainPskeyMap.get(domain); + + if (pskey) { + data['p_skey'] = pskey; + } + } catch { + return data; + } + } + + return data; +} + +async function getSKey(bridge: Bridge): Promise { + const ClientKeyData = await forceFetchClientKeyInner(bridge); + + if (!ClientKeyData.clientKey) { + throw new Error('getClientKey Error: clientKey is empty'); + } + + const u1 = encodeURIComponent( + 'https://h5.qzone.qq.com/qqnt/qzoneinpcqq/friend?refresh=0&clientuin=0&darkMode=0', + ); + const requestUrl = + 'https://ssl.ptlogin2.qq.com/jump?ptlang=1033' + + '&clientuin=' + + bridge.identity.uin + + '&clientkey=' + + ClientKeyData.clientKey + + '&u1=' + + u1 + + '&keyindex=' + + ClientKeyData.keyIndex; + + const cookies: { [key: string]: string } = await RequestUtil.HttpsGetCookies(requestUrl); + const skey = cookies['skey']; + + if (!skey) { + throw new Error('SKey is Empty'); + } + + return skey; +} + +/** + * Standard QQ bkn hash (also known as token / csrf_token) derived from + * skey or p_skey. djb2 hash truncated to 31 bits. + */ +function getBknFromSKey(skey: string): number { + let hash = 5381; + + for (let i = 0; i < skey.length; i++) { + hash += (hash << 5) + skey.charCodeAt(i); + } + + return hash & 2147483647; +} + +export class WebApi { + constructor(private readonly ctx: BridgeContext) {} + + // ─────────────── cookie / token primitives ─────────────── + + async forceFetchClientKey(): Promise { + return forceFetchClientKeyInner(asBridge(this.ctx)); + } + + /** Fetch the cookie jar for a `qq.com` subdomain. Used by GroupAlbumApi + * (qzone.qq.com) and by every other web helper here. */ + async getCookies(domain: string): Promise> { + return getCookies(asBridge(this.ctx), domain); + } + + /** Cookies for `domain` joined into the canonical "k=v; k=v" header form. */ + async getCookiesStr(domain: string): Promise { + const cookieObject = await getCookies(asBridge(this.ctx), domain); + return Object.entries(cookieObject) + .map(([key, value]) => `${key}=${value}`) + .join('; '); + } + + /** CSRF token == bkn(skey) — used by qzone / qun web APIs. */ + async getCsrfToken(): Promise { + const skey = await getSKey(asBridge(this.ctx)); + + if (!skey) { + throw new Error('SKey is Empty'); + } + + return getBknFromSKey(skey); + } + + /** Returns the OneBot `get_credentials` payload (cookie string + bkn). */ + async getCredentials( + domain: string, + ): Promise<{ cookies: string; token: number; csrf_token: number }> { + const cookieObject = await getCookies(asBridge(this.ctx), domain); + const cookiesStr = Object.entries(cookieObject) + .map(([key, value]) => `${key}=${value}`) + .join('; '); + + const skey = cookieObject['p_skey'] || cookieObject['skey'] || ''; + const token = skey ? getBknFromSKey(skey) : 0; + + return { + cookies: cookiesStr, + token, + csrf_token: token, + }; + } + + // ─────────────── group essence ─────────────── + + /** Paginated fetch — `pageStart` is 0-indexed, `pageLimit` is server-capped at 50. */ + async getEssence(groupId: number, pageStart = 0, pageLimit = 50): Promise { + const bridge = asBridge(this.ctx); + const groupCode = groupId.toString(); + const cookieObject = await getCookies(bridge, 'qun.qq.com'); + const essenceData = await getGroupEssenceMsg(cookieObject, groupCode, pageStart, pageLimit); + return essenceData || { retcode: -1, data: { is_end: true, msg_list: [] } }; + } + + /** Walks every page and returns the concatenated result. */ + async getEssenceAll(groupId: number): Promise { + const bridge = asBridge(this.ctx); + const groupCode = groupId.toString(); + const cookieObject = await getCookies(bridge, 'qun.qq.com'); + return await getGroupEssenceMsgAll(cookieObject, groupCode); + } + + // ─────────────── group honor ─────────────── + + async getHonorInfo(groupId: number, type: WebHonorType | string): Promise { + const bridge = asBridge(this.ctx); + const groupCode = groupId.toString(); + const cookieObject = await getCookies(bridge, 'qun.qq.com'); + + const honorInfo: WebHonorInfo = { + group_id: groupId, + current_talkative: null, + talkative_list: [], + performer_list: [], + legend_list: [], + emotion_list: [], + strong_newbie_list: [], + }; + + if (type === WebHonorType.TALKATIVE || type === WebHonorType.ALL) { + const talkativeList = await getHonorListWebAPI(cookieObject, groupCode, 1); + + if (talkativeList.length > 0) { + honorInfo.current_talkative = talkativeList[0]; + honorInfo.talkative_list = talkativeList; + } + } + + if (type === WebHonorType.PERFORMER || type === WebHonorType.ALL) { + honorInfo.performer_list = await getHonorListWebAPI(cookieObject, groupCode, 2); + } + + if (type === WebHonorType.LEGEND || type === WebHonorType.ALL) { + honorInfo.legend_list = await getHonorListWebAPI(cookieObject, groupCode, 3); + } + + if (type === WebHonorType.EMOTION || type === WebHonorType.ALL) { + honorInfo.emotion_list = await getHonorListWebAPI(cookieObject, groupCode, 6); + } + + return honorInfo; + } + + // ─────────────── group sign-in (打卡) ─────────────── + + /** Today's group sign-in list via qun.qq.com. [] when the group has no + * sign-ins; THROWS on transport / auth failure (caller maps to failed). */ + async getSignedList(groupId: number): Promise { + const bridge = asBridge(this.ctx); + const cookieObject = await getCookies(bridge, 'qun.qq.com'); + return getDaySignedListWebAPI( + cookieObject, + groupId.toString(), + bridge.identity.uin.toString(), + ); + } + + // ─────────────── group notice ─────────────── + + async sendNotice( + groupId: number, + content: string, + options?: SendNoticeOptions, + ): Promise { + const bridge = asBridge(this.ctx); + const groupCode = groupId.toString(); + const cookieObject = await getCookies(bridge, 'qun.qq.com'); + + let picId = ''; + let imgWidth = 540; + let imgHeight = 300; + + if (options?.image) { + // Route through loadBinarySource so the group-notice image download + // gets the same browser-UA + Referer-retry hardening as every other + // media fetch — and http/file/base64 source handling for free. + const loaded = await loadBinarySource(options.image, 'group-notice image'); + const imageBuffer = Buffer.from(loaded.bytes); + + const picInfo = await uploadGroupNoticeImage(cookieObject, imageBuffer); + picId = picInfo.id; + imgWidth = picInfo.width; + imgHeight = picInfo.height; + } + + const ret = await setGroupNoticeWebAPI(cookieObject, groupCode, content, { + pinned: options?.pinned, + type: options?.type, + sendToNewMembers: options?.sendToNewMembers, + isShowEditCard: options?.isShowEditCard, + tipWindowType: options?.tipWindowType, + confirmRequired: options?.confirmRequired, + picId, + imgWidth, + imgHeight, + }); + + if (ret.ec !== 0) { + throw new Error(`设置群公告失败: ec=${ret.ec ?? 'missing'}, em=${ret.em ?? 'missing'}`); + } + + return ret; + } + + async getNotice(groupId: number): Promise { + const bridge = asBridge(this.ctx); + const groupCode = groupId.toString(); + const cookieObject = await getCookies(bridge, 'qun.qq.com'); + + const ret = await getGroupNoticeWebAPI(cookieObject, groupCode); + return mapGroupNoticeResponse(ret); + } + + async deleteNotice(groupId: number, fid: string): Promise { + const bridge = asBridge(this.ctx); + const groupCode = groupId.toString(); + const cookieObject = await getCookies(bridge, 'qun.qq.com'); + return await deleteGroupNoticeHttp(cookieObject, groupCode, fid); + } + + // ─────────────── friend dress (好友装扮) ─────────────── + + /** 查某人正在用的好友装扮(挂件/名片/来电/输入状态等)。走 vip.qq.com 域, + * 纯 cookie 鉴权、抓 SSR HTML。「查到但没装扮」返回空 items;网络/未登录态/ + * 风控/页面改版/串号数据抛 FriendDressError(kind 区分具体环节)。 */ + async getFriendDress(targetUin: number): Promise { + const bridge = asBridge(this.ctx); + const cookieObject = await getCookies(bridge, 'vip.qq.com'); + return getFriendDressWebAPI(cookieObject, targetUin.toString()); + } +} diff --git a/packages/core/src/bridge/bridge-context.ts b/packages/core/src/bridge/bridge-context.ts new file mode 100644 index 00000000..275c3ca7 --- /dev/null +++ b/packages/core/src/bridge/bridge-context.ts @@ -0,0 +1,7 @@ +import type { BridgeContext as BaseBridgeContext } from '@snowluma/protocol/bridge-context'; +import type { ApiHub } from './apis'; + +export interface BridgeContext extends BaseBridgeContext { + readonly apis: ApiHub; +} +export type { UploadedFileMeta } from '@snowluma/protocol/bridge-context'; diff --git a/packages/core/src/bridge/bridge-interface.ts b/packages/core/src/bridge/bridge-interface.ts new file mode 100644 index 00000000..35bcd9ac --- /dev/null +++ b/packages/core/src/bridge/bridge-interface.ts @@ -0,0 +1,28 @@ +import type { OnlineDeviceInfo } from '@snowluma/protocol/events'; +import type { BridgeContext } from './bridge-context'; + +export interface RosterWarmupResult { + friendsLoaded: boolean; + groupsLoaded: boolean; +} + +export interface BridgeInterface extends BridgeContext { + readonly activePid: number | null; + /** Settles once for this Bridge session after first-login roster fetch. */ + whenRosterWarmupSettled(): Promise; + /** False only when every attached QQ process has a confirmed receive or + * request-path failure. An unarmed watchdog remains true for compatibility. */ + readonly receiveHealthy: boolean; + /** Latest device snapshot observed on this Bridge lifecycle. `null` means + * QQ has not emitted its cache notification since SnowLuma attached. */ + getOnlineClients(): readonly Readonly[] | null; +} + +export interface BridgeSessionListener { + started?(uin: string, bridge: BridgeInterface): void; + closed?(uin: string, bridge: BridgeInterface, pid: number): void; +} + +export interface BridgeSessionSource { + subscribeSessions(listener: BridgeSessionListener): () => void; +} diff --git a/packages/core/src/bridge/bridge.ts b/packages/core/src/bridge/bridge.ts new file mode 100644 index 00000000..e5000527 --- /dev/null +++ b/packages/core/src/bridge/bridge.ts @@ -0,0 +1,613 @@ +import { createLogger, renderTraceBytes, runWithTraceRequest } from '@snowluma/common/logger'; +import type { PacketSender, SendPacketResult } from '@snowluma/common/packet-sender'; +import { packetTimeoutMs } from '@snowluma/bridge/packet-timeout'; +import type { PacketInfo } from '@snowluma/common/protocol-types'; +import { BridgeEventBus } from '@snowluma/protocol/event-bus'; +import { IdentityService } from '@snowluma/protocol/identity-service'; +import { + MSG_PUSH_CMD, + parseMsgPushOrThrow, + SysMsgDedup, + decodeClientMessageReceipt, + fetchClientMessage, +} from '@snowluma/protocol/msg-push'; +import { KICK_NT_CMD, parseKickNT } from '@snowluma/protocol/kick-nt'; +import { IncomingPacketPipeline, type CmdParser } from '@snowluma/protocol/packet-pipeline'; +import type { OnlineDeviceInfo } from '@snowluma/protocol/events'; +import { buildApiHub, type ApiHub } from './apis'; +import { AiVoiceChatType, type AiVoiceCategory, type StrangerStatus } from './apis/extras'; +import type { BridgeInterface, RosterWarmupResult } from './bridge-interface'; +import type { UploadedFileMeta } from './bridge-context'; +export type { UploadedFileMeta } from './bridge-context'; + +const log = createLogger('Bridge'); +const runtimeLog = createLogger('Bridge.Runtime'); +const VERBOSE_WARMUP = process.env.SNOWLUMA_VERBOSE_WARMUP === '1'; + +interface ProcessConnection { + pid: number; + client: PacketSender; + receiveHealthy: boolean; +} + +export class Bridge implements BridgeInterface { + readonly identity: IdentityService; + /** Insertion order tracks login recency; the newest connection sends packets. */ + private readonly connections = new Map(); + readonly events = new BridgeEventBus(); + readonly apis: ApiHub; + private readonly pipeline: IncomingPacketPipeline; + private static readonly UPLOADED_FILE_CACHE_MAX = 1024; + private uploadedFileMeta_ = new Map(); + private clientSeq_ = 100000000 + (Date.now() % 1000000000); + private msgRandom_ = (Date.now() & 0xffffffff) >>> 0; + // Per-account dedup for QQ NT's already-deduped system pushes (#137). + private readonly sysMsgDedup_ = new SysMsgDedup(); + private onlineClients_: readonly Readonly[] | null = null; + private disposePromise_: Promise | null = null; + private readonly pendingPackets_ = new Set>(); + private readonly clientMessageTasks_ = new Map< + string, + { connection: ProcessConnection; work: Promise } + >(); + private rosterWarmupStarted_ = false; + private settleRosterWarmup!: (result: RosterWarmupResult) => void; + private readonly rosterWarmup = new Promise((resolve) => { + this.settleRosterWarmup = resolve; + }); + + constructor(identity: IdentityService) { + this.identity = identity; + this.apis = buildApiHub(this); + this.identity.setFetcher({ + fetchProfile: (uin) => this.apis.contacts.fetchUserProfile(uin), + fetchProfileByUid: (uid) => this.apis.contacts.fetchUserProfileByUid(uid), + fetchGroupMemberList: (gid) => this.apis.contacts.fetchGroupMemberList(gid), + }); + this.pipeline = new IncomingPacketPipeline({ + identity: this.identity, + events: this.events, + fetchGroupList: async () => { + await this.apis.contacts.fetchGroupList(); + }, + fetchGroupMemberList: async (groupId) => { + await this.apis.contacts.fetchGroupMemberList(groupId); + }, + resolveGroupJoinRequest: (groupId, uid, subType, invitedUid) => + this.apis.contacts.resolveGroupJoinRequest(groupId, uid, subType, invitedUid), + groupInvites: this.apis.contacts.groupInvites, + }); + this.pipeline.registerCmd(MSG_PUSH_CMD, (pkt, identity) => + parseMsgPushOrThrow(pkt, identity, this.sysMsgDedup_), + ); + this.pipeline.registerCmd(KICK_NT_CMD, parseKickNT); + this.events.on('online_devices_changed', (event) => { + const snapshot = event.devices.map((device) => Object.freeze({ ...device })); + this.onlineClients_ = Object.freeze(snapshot); + log.debug( + 'online-device snapshot updated: uin=%s clients=%d types=%s', + this.identity.uin, + snapshot.length, + snapshot.map((device) => device.clientType).join(','), + ); + }); + } + + dispose(): Promise { + if (this.disposePromise_) { + return this.disposePromise_; + } + + this.settleRosterWarmup({ friendsLoaded: false, groupsLoaded: false }); + this.connections.clear(); + this.onlineClients_ = null; + this.disposePromise_ = (async () => { + try { + await Promise.allSettled(this.pendingPackets_); + this.apis.contacts.dispose(); + await this.identity.close(); + } finally { + this.events.clear(); + } + })(); + return this.disposePromise_; + } + + registerCmd(cmd: string, parser: CmdParser): void { + this.pipeline.registerCmd(cmd, parser); + } + + handlesCmd(cmd: string): boolean { + return this.pipeline.handlesCmd(cmd); + } + + bindPid(pid: number, client: PacketSender): void { + const previous = this.activeConnection; + const existing = this.connections.get(pid); + this.connections.delete(pid); + // A new login stays healthy until the watchdog confirms a failure. + const connection = + existing?.client === client ? existing : { pid, client, receiveHealthy: true }; + connection.receiveHealthy = true; + this.connections.set(pid, connection); + + if (previous?.pid !== pid || previous.client !== client) { + runtimeLog.trace( + 'bridge_sender_fact event=selected uin=%j pid=%d previousPid=%j', + this.identity.uin, + pid, + previous?.pid ?? null, + ); + } + + this.maybeStartRosterWarmup(); + } + + /** @internal BridgeManager lookup used when an incoming packet is the first + * observation that a live PID changed UIN. */ + packetClientForPid(pid: number): PacketSender | null { + return this.connections.get(pid)?.client ?? null; + } + + detachPid(pid: number): void { + const wasActive = this.activePid === pid; + this.connections.delete(pid); + const active = this.activeConnection; + + if (wasActive && active) { + runtimeLog.trace( + 'bridge_sender_fact event=fallback uin=%j detachedPid=%d fallbackPid=%d', + this.identity.uin, + pid, + active.pid, + ); + log.debug( + 'packet sender changed: UIN=%s PID=%d→%d', + this.identity.uin, + pid, + active.pid, + ); + } + } + hasPid(pid: number): boolean { + return this.connections.has(pid); + } + get empty(): boolean { + return this.connections.size === 0; + } + private get activeConnection(): ProcessConnection | undefined { + return [...this.connections.values()].at(-1); + } + get activePid(): number | null { + return this.activeConnection?.pid ?? null; + } + get receiveHealthy(): boolean { + return [...this.connections.values()].some((connection) => connection.receiveHealthy); + } + setPidReceiveHealthy(pid: number, healthy: boolean): void { + const connection = this.connections.get(pid); + + if (!connection) { + throw new Error(`Bridge receive-health invariant violated: PID=${pid} is not attached`); + } + + connection.receiveHealthy = healthy; + } + getOnlineClients(): readonly Readonly[] | null { + return this.onlineClients_; + } + + whenRosterWarmupSettled(): Promise { + return this.rosterWarmup; + } + + onPacket(pkt: PacketInfo): Promise { + if (this.disposePromise_) { + return Promise.reject(new Error('Bridge is disposed')); + } + + const connection = this.connections.get(pkt.pid); + const work = this.identity.initialization.then(() => + pkt.source === 'client-message' + ? this.processClientMessage(pkt, connection) + : this.pipeline.process(pkt), + ); + this.pendingPackets_.add(work); + void work.finally(() => this.pendingPackets_.delete(work)).catch(() => undefined); + return work; + } + + private async processClientMessage( + pkt: PacketInfo, + connection: ProcessConnection | undefined, + ): Promise { + const requireConnection = (): ProcessConnection => { + if ( + this.disposePromise_ || + !connection || + this.connections.get(pkt.pid) !== connection + ) { + throw new Error('Client message receipt belongs to an inactive connection'); + } + + return connection; + }; + + const current = requireConnection(); + const receipt = decodeClientMessageReceipt(pkt, this.identity.uin); + const key = JSON.stringify([ + pkt.pid, + receipt.peerUid, + receipt.sequence, + receipt.clientSequence, + receipt.timestamp, + ]); + const pending = this.clientMessageTasks_.get(key); + + if (pending?.connection === current) { + return pending.work; + } + + if (this.clientMessageTasks_.size >= 256) { + throw new Error('Too many pending client message lookups'); + } + + runtimeLog.trace( + 'client_message_lookup_start uin=%j pid=%d seqId=%d', + this.identity.uin, + pkt.pid, + pkt.seqId, + ); + const work = (async () => { + const source: PacketSender = { + sendPacket: (cmd, body, timeout) => + requireConnection().client.sendPacket(cmd, body, timeout), + }; + const event = await fetchClientMessage(source, this.identity, receipt); + requireConnection(); + await this.pipeline.processEvents(pkt, [event]); + runtimeLog.trace( + 'client_message_lookup_complete uin=%j pid=%d seqId=%d', + this.identity.uin, + pkt.pid, + pkt.seqId, + ); + })(); + const task = { connection: current, work }; + this.clientMessageTasks_.set(key, task); + + try { + await work; + } finally { + if (this.clientMessageTasks_.get(key) === task) { + this.clientMessageTasks_.delete(key); + } + } + } + + rememberUploadedFile(meta: UploadedFileMeta): void { + if (!meta.fileId) { + return; + } + + if (this.uploadedFileMeta_.size >= Bridge.UPLOADED_FILE_CACHE_MAX) { + // Map iteration order is insertion order — drop the oldest. + const oldest = this.uploadedFileMeta_.keys().next().value; + + if (oldest !== undefined) { + this.uploadedFileMeta_.delete(oldest); + } + } + + this.uploadedFileMeta_.set(meta.fileId, meta); + } + + recallUploadedFile(fileId: string): UploadedFileMeta | undefined { + if (!fileId) { + return undefined; + } + + return this.uploadedFileMeta_.get(fileId); + } + + nextClientSequence(): number { + return ++this.clientSeq_; + } + + nextMessageRandom(): number { + this.msgRandom_ = (this.msgRandom_ + 0x9e3779b9) >>> 0; + return this.msgRandom_ & 0x7fffffff; + } + async sendRawPacket( + serviceCmd: string, + body: Uint8Array, + timeoutMs = packetTimeoutMs(), + ): Promise { + const connection = this.activeConnection; + + if (!connection) { + return runWithTraceRequest(() => { + const startedAt = Date.now(); + runtimeLog.trace(() => [ + 'bridge_send_start serviceCmd=%j uin=%j activePid=%j timeoutMs=%d length=%d body=%s', + serviceCmd, + this.identity.uin, + this.activePid, + timeoutMs, + body.byteLength, + renderTraceBytes(body), + ]); + log.warn('packet %s dropped: no packet sender attached', serviceCmd); + runtimeLog.trace(() => [ + 'bridge_send_terminal serviceCmd=%j uin=%j activePid=%j outcome=dropped reason=no_sender length=%d body=%s elapsedMs=%d', + serviceCmd, + this.identity.uin, + this.activePid, + body.byteLength, + renderTraceBytes(body), + Date.now() - startedAt, + ]); + return { + success: false, + gotResponse: false, + errorCode: -1, + errorMessage: 'no packet sender attached', + responseData: null, + }; + }); + } + + const startedAt = Date.now(); + const result = await connection.client.sendPacket(serviceCmd, Buffer.from(body), timeoutMs); + const elapsed = Date.now() - startedAt; + const respLen = result.responseData ? result.responseData.length : 0; + + if (!result.success || result.errorCode !== 0) { + // QQ-side rejection or transport failure — the usual root cause when an + // action misbehaves. Warn (persisted) with cmd + code so a user's log + // shows exactly where the chain broke. + log.warn( + 'packet %s failed: code=%d gotResponse=%s %s (uin=%s, %dB, %dms)', + serviceCmd, + result.errorCode, + result.gotResponse, + result.errorMessage ?? '', + this.identity.uin, + body.length, + elapsed, + ); + } else { + // Happy path — memory-only trace so the full chain shows under the + // request's [req#N] when debugging, without flooding disk. + log.trace(() => [ + `packet ${serviceCmd} ok (${body.length}B⇄${respLen}B, ${elapsed}ms)`, + ]); + } + + return result; + } + + async resolveUserUid(uin: number, groupId?: number): Promise { + return this.identity.resolveUid(uin, groupId); + } + + private maybeStartRosterWarmup(): void { + if (this.disposePromise_ || this.rosterWarmupStarted_ || this.empty) { + return; + } + + this.rosterWarmupStarted_ = true; + + if (!this.identity.nickname) { + this.identity.nickname = this.identity.uin; + } + + void this.runRosterWarmup().then( + (result) => + this.settleRosterWarmup( + this.disposePromise_ ? { friendsLoaded: false, groupsLoaded: false } : result, + ), + (err) => { + log.warn( + 'roster warmup failed: uin=%s err=%s', + this.identity.uin, + err instanceof Error ? (err.stack ?? err.message) : String(err), + ); + this.settleRosterWarmup({ friendsLoaded: false, groupsLoaded: false }); + }, + ); + } + + private stillOpen(): boolean { + return this.disposePromise_ === null; + } + + private async runRosterWarmup(): Promise { + await this.identity.initialization; + + if (this.disposePromise_) { + return { friendsLoaded: false, groupsLoaded: false }; + } + + const uin = this.identity.uin; + const selfUin = parseInt(uin, 10) || 0; + let selfResolved = false; + let friendsLoaded = false; + + try { + const friends = await this.apis.contacts.fetchFriendList(); + + if (!this.stillOpen()) { + return { friendsLoaded: false, groupsLoaded: false }; + } + + friendsLoaded = true; + log.info('friends loaded: UIN=%s count=%d', uin, friends.length); + + for (const friend of friends) { + if (friend.uin === selfUin) { + this.identity.setSelfProfile({ + uin: friend.uin, + uid: friend.uid, + nickname: friend.nickname || uin, + remark: '', + qid: '', + sex: 'unknown', + age: 0, + sign: '', + avatar: '', + level: 0, + qidianMasterFlag: 0, + qidianCrewFlag: 0, + qidianCrewFlag2: 0, + }); + this.identity.nickname = friend.nickname || uin; + log.debug( + 'self info: UIN=%s uid=%s nickname=%s', + uin, + friend.uid, + friend.nickname ?? '', + ); + selfResolved = true; + break; + } + } + } catch (e) { + if (!this.stillOpen()) { + return { friendsLoaded: false, groupsLoaded: false }; + } + + log.warn( + 'failed to load friends for UIN %s: %s', + uin, + e instanceof Error ? e.message : String(e), + ); + } + + if (!selfResolved && selfUin > 0 && this.stillOpen()) { + try { + const profile = await this.apis.contacts.fetchUserProfile(selfUin); + + if (!this.stillOpen()) { + return { friendsLoaded: false, groupsLoaded: false }; + } + + this.identity.setSelfProfile(profile); + this.identity.nickname = profile.nickname || uin; + log.debug( + 'self info via profile: UIN=%s uid=%s nickname=%s', + uin, + profile.uid, + profile.nickname, + ); + } catch (e) { + if (!this.stillOpen()) { + return { friendsLoaded: false, groupsLoaded: false }; + } + + log.warn( + 'failed to load self profile for UIN %s: %s', + uin, + e instanceof Error ? e.message : String(e), + ); + } + } + + let groups: { groupId: number }[] = []; + let groupsLoaded = false; + + try { + groups = await this.apis.contacts.fetchGroupList(); + + if (!this.stillOpen()) { + return { friendsLoaded: false, groupsLoaded: false }; + } + + groupsLoaded = true; + log.info('groups loaded: UIN=%s count=%d', uin, groups.length); + } catch (e) { + if (!this.stillOpen()) { + return { friendsLoaded: false, groupsLoaded: false }; + } + + log.warn( + 'failed to load groups for UIN %s: %s', + uin, + e instanceof Error ? e.message : String(e), + ); + } + + let loadedGroupCount = 0; + let loadedMemberCount = 0; + let failedGroupCount = 0; + + for (const group of groups) { + if (!this.stillOpen()) { + return { friendsLoaded: false, groupsLoaded: false }; + } + + try { + const members = await this.apis.contacts.fetchGroupMemberList(group.groupId); + + if (!this.stillOpen()) { + return { friendsLoaded: false, groupsLoaded: false }; + } + + loadedGroupCount += 1; + loadedMemberCount += members.length; + + if (VERBOSE_WARMUP) { + log.debug('members loaded: group=%d count=%d', group.groupId, members.length); + } + } catch (e) { + if (!this.stillOpen()) { + return { friendsLoaded: false, groupsLoaded: false }; + } + + failedGroupCount += 1; + log.warn( + 'failed to load members for group %d: %s', + group.groupId, + e instanceof Error ? e.message : String(e), + ); + } + } + + if (!this.stillOpen()) { + return { friendsLoaded: false, groupsLoaded: false }; + } + + log.info( + 'member warmup completed: UIN=%s groups=%d/%d members=%d failed=%d', + uin, + loadedGroupCount, + groups.length, + loadedMemberCount, + failedGroupCount, + ); + return { friendsLoaded, groupsLoaded }; + } +} +export interface SendMessageReceipt { + messageId: number; + sequence: number; + clientSequence: number; + random: number; + timestamp: number; +} + +export interface DownloadRKeyInfo { + rkey: string; + ttlSeconds: number; + storeId: number; + createTime: number; + type: number; +} + +export interface ClientKeyInfo { + clientKey: string; + expireTime: string; + keyIndex: string; +} +export { AiVoiceChatType }; +export type { AiVoiceCategory, StrangerStatus }; diff --git a/packages/core/src/bridge/manager.ts b/packages/core/src/bridge/manager.ts new file mode 100644 index 00000000..a624f36a --- /dev/null +++ b/packages/core/src/bridge/manager.ts @@ -0,0 +1,453 @@ +import { createLogger, renderTraceBytes, runWithTraceRequest } from '@snowluma/common/logger'; +import type { PacketSender } from '@snowluma/common/packet-sender'; +import type { PacketInfo } from '@snowluma/common/protocol-types'; +import { isRealUin } from '@snowluma/common/uin'; +import { IdentityService } from '@snowluma/protocol/identity-service'; +import { Bridge } from './bridge'; +import type { BridgeSessionListener, BridgeSessionSource } from './bridge-interface'; + +const log = createLogger('Bridge'); +const packetLog = createLogger('Bridge.Packet'); +const runtimeLog = createLogger('Bridge.Runtime'); + +export class BridgeManager implements BridgeSessionSource { + private readonly bridges = new Map(); + private readonly pidToUin_ = new Map(); + private readonly closingSessions_ = new Map>>(); + private readonly sessionSubscriptions = new Set<{ listener: BridgeSessionListener }>(); + private disposal_: Promise | null = null; + + /** Hook callbacks remain synchronous; shutdown awaits every detached account. */ + dispose(): Promise { + this.sessionSubscriptions.clear(); + // Finish synchronous lifecycle observers before collecting detached sessions. + return (this.disposal_ ??= Promise.resolve().then(() => this.disposeSessions())); + } + + private async disposeSessions(): Promise { + for (const [uin, session] of this.bridges) { + this.closeSession(uin, session); + } + + this.bridges.clear(); + this.pidToUin_.clear(); + const results = await Promise.allSettled( + [...this.closingSessions_.values()].flatMap((sessions) => [...sessions]), + ); + const errors = results.flatMap((result) => + result.status === 'rejected' ? [result.reason] : [], + ); + + if (errors.length) { + throw new AggregateError(errors, 'Bridge persistence shutdown failed'); + } + } + + private closeSession(uin: string, bridge: Bridge): void { + const sessions = this.closingSessions_.get(uin) ?? new Set>(); + const closing = bridge.dispose(); + sessions.add(closing); + this.closingSessions_.set(uin, sessions); + void closing.then( + () => { + sessions.delete(closing); + + if (sessions.size === 0) { + this.closingSessions_.delete(uin); + } + }, + (error) => { + log.error( + 'identity close failed: UIN=%s err=%s', + uin, + error instanceof Error ? (error.stack ?? error.message) : String(error), + ); + }, + ); + } + + /** Listener changes take effect on the next event. Close observers run before + * Bridge disposal, so the final process and account identity remain readable. */ + subscribeSessions(listener: BridgeSessionListener): () => void { + const subscription = { listener }; + this.sessionSubscriptions.add(subscription); + + return () => { + this.sessionSubscriptions.delete(subscription); + }; + } + + private fireSessionStarted(uin: string, bridge: Bridge): void { + for (const { listener } of [...this.sessionSubscriptions]) { + try { + listener.started?.(uin, bridge); + } catch (err) { + log.warn( + 'session-started listener threw: %s', + err instanceof Error ? err.message : String(err), + ); + } + } + } + + private fireSessionClosed(uin: string, bridge: Bridge, pid: number): void { + for (const { listener } of [...this.sessionSubscriptions]) { + try { + listener.closed?.(uin, bridge, pid); + } catch (err) { + log.warn( + 'session-closed listener threw: %s', + err instanceof Error ? err.message : String(err), + ); + } + } + } + + onPidDisconnected(pid: number): void { + const uin = this.pidToUin_.get(pid); + + if (!uin) { + return; + } + + runWithTraceRequest(() => { + const startedAt = Date.now(); + runtimeLog.trace('bridge_detach_start pid=%d uin=%j', pid, uin); + + try { + const closed = this.detachPidFromSession(pid, uin); + const activePid = this.bridges.get(uin)?.activePid ?? null; + + if (closed) { + runtimeLog.trace( + 'bridge_detach_branch pid=%d uin=%j branch=session_closed', + pid, + uin, + ); + } + + runtimeLog.trace( + 'bridge_detach_terminal pid=%d uin=%j outcome=completed reason=%s activePid=%j elapsedMs=%d', + pid, + uin, + closed ? 'session_closed' : 'pid_detached', + activePid, + Date.now() - startedAt, + ); + } catch (error) { + runtimeLog.trace( + 'bridge_detach_terminal pid=%d uin=%j outcome=failed reason=invariant_violation error=%j elapsedMs=%d', + pid, + uin, + error instanceof Error ? error.message : String(error), + Date.now() - startedAt, + ); + throw error; + } + }); + } + + onPidReceiveHealthChanged(pid: number, healthy: boolean): void { + if (this.disposal_) { + return; + } + + const uin = this.pidToUin_.get(pid); + + if (!uin) { + const message = `BridgeManager invariant violated: receive health for unmapped PID=${pid}`; + log.error(message); + throw new Error(message); + } + + const session = this.bridges.get(uin); + + if (!session || !session.hasPid(pid)) { + const message = `BridgeManager invariant violated: receive health PID=${pid} is not owned by UIN=${uin}`; + log.error(message); + throw new Error(message); + } + + session.setPidReceiveHealthy(pid, healthy); + } + + onHookLogin(pid: number, uin: string, packetClient: PacketSender): void { + if (this.disposal_ || !isRealUin(uin)) { + return; + } + + runWithTraceRequest(() => { + const startedAt = Date.now(); + const previousUin = this.pidToUin_.get(pid) ?? null; + runtimeLog.trace( + 'bridge_binding_start pid=%d uin=%j source=login previousUin=%j', + pid, + uin, + previousUin, + ); + + try { + const { session, created } = this.bindPid(pid, uin, packetClient, 'login'); + + if (previousUin && previousUin !== uin) { + runtimeLog.trace( + 'bridge_binding_branch pid=%d uin=%j branch=account_rebind previousUin=%j', + pid, + uin, + previousUin, + ); + const previousSession = this.bridges.get(previousUin); + runtimeLog.trace( + 'bridge_binding_branch pid=%d uin=%j branch=%s previousUin=%j activePid=%j', + pid, + uin, + previousSession ? 'previous_session_retained' : 'previous_session_closed', + previousUin, + previousSession?.activePid ?? null, + ); + } + + if (created) { + runtimeLog.trace( + 'bridge_binding_branch pid=%d uin=%j branch=session_created', + pid, + uin, + ); + log.debug('session started: UIN=%s', uin); + this.fireSessionStarted(uin, session); + } + + runtimeLog.trace( + 'bridge_binding_terminal pid=%d uin=%j source=login outcome=completed reason=%s created=%s activePid=%j elapsedMs=%d', + pid, + uin, + previousUin && previousUin !== uin ? 'rebound' : 'bound', + created, + session.activePid, + Date.now() - startedAt, + ); + } catch (error) { + runtimeLog.trace( + 'bridge_binding_terminal pid=%d uin=%j source=login outcome=failed reason=binding_failed error=%j elapsedMs=%d', + pid, + uin, + error instanceof Error ? error.message : String(error), + Date.now() - startedAt, + ); + throw error; + } + }); + } + + onPacket(pkt: PacketInfo): void { + if (this.disposal_) { + return; + } + + runWithTraceRequest(() => this.onPacketInContext(pkt)); + } + + private onPacketInContext(pkt: PacketInfo): void { + const startedAt = Date.now(); + packetLog.trace(() => [ + 'packet_push serviceCmd=%j seqId=%d retCode=%d fromClient=%s pid=%d uin=%j length=%d body=%s', + pkt.serviceCmd, + pkt.seqId, + pkt.retCode, + pkt.fromClient, + pkt.pid, + pkt.uin, + pkt.body.byteLength, + renderTraceBytes(pkt.body), + ]); + + if (!pkt.uin || !isRealUin(pkt.uin)) { + packetLog.trace(() => [ + 'packet_terminal serviceCmd=%j seqId=%d outcome=dropped reason=invalid_uin events=0 dispatched=0 elapsedMs=%d', + pkt.serviceCmd, + pkt.seqId, + Date.now() - startedAt, + ]); + return; + } + + const uin = pkt.uin; + + let completion: Promise; + let handedToPipeline = false; + + try { + // A packet may be the first trustworthy observation that a live PID moved + // to another UIN. Apply the exact same ownership transition as login so a + // PID can never remain attached to two Bridges. + const client = pkt.pid > 0 ? this.packetClientForPid(pkt.pid) : null; + const { session, created } = client + ? this.bindPid(pkt.pid, uin, client, 'packet') + : this.ensureSession(uin); + + // Notify session started on first real packet + if (created) { + log.debug('session started: UIN=%s', uin); + this.fireSessionStarted(uin, session); + } + + // Dispatch packet to bridge. The pipeline preserves synchronous parsing and + // dispatch; its promise only marks completion of any async enrichment. + handedToPipeline = true; + completion = session.onPacket(pkt); + } catch (error) { + this.tracePacketFailure( + pkt, + startedAt, + handedToPipeline ? 'pipeline_failed' : 'routing_failed', + error, + ); + throw error; + } + + void completion.catch((error) => { + this.tracePacketFailure(pkt, startedAt, 'pipeline_failed', error); + }); + } + + private tracePacketFailure( + pkt: PacketInfo, + startedAt: number, + reason: 'routing_failed' | 'pipeline_failed', + error: unknown, + ): void { + packetLog.trace(() => [ + 'packet_terminal serviceCmd=%j seqId=%d outcome=failed reason=%s error=%j events=0 dispatched=0 elapsedMs=%d', + pkt.serviceCmd, + pkt.seqId, + reason, + error instanceof Error ? error.message : String(error), + Date.now() - startedAt, + ]); + log.error( + 'packet %s failed for %s: %s', + reason === 'routing_failed' ? 'routing' : 'pipeline', + pkt.serviceCmd, + error instanceof Error ? (error.stack ?? error.message) : String(error), + ); + } + + /** Bind PID + sender as one state transition. If the PID changed accounts, + * the old Bridge is fully detached (and, when empty, closed) before the new + * Bridge is created. */ + private bindPid( + pid: number, + uin: string, + packetClient: PacketSender, + source: 'login' | 'packet', + ): { session: Bridge; created: boolean } { + const previousUin = this.pidToUin_.get(pid); + + if (previousUin && previousUin !== uin) { + log.warn( + 'PID ownership changed: PID=%d UIN=%s -> UIN=%s source=%s', + pid, + previousUin, + uin, + source, + ); + this.detachPidFromSession(pid, previousUin); + } + + const result = this.ensureSession(uin); + result.session.bindPid(pid, packetClient); + this.pidToUin_.set(pid, uin); + return result; + } + + private packetClientForPid(pid: number): PacketSender | null { + const uin = this.pidToUin_.get(pid); + + if (!uin) { + return null; + } + + const session = this.bridges.get(uin); + + if (!session) { + const message = `BridgeManager invariant violated: PID=${pid} references missing UIN=${uin} session`; + log.error(message); + throw new Error(message); + } + + const packetClient = session.packetClientForPid(pid); + + if (packetClient) { + return packetClient; + } + + const message = `BridgeManager invariant violated: PID=${pid} has no sender in UIN=${uin} session`; + log.error(message); + throw new Error(message); + } + + private detachPidFromSession(pid: number, uin: string): boolean { + const mappedUin = this.pidToUin_.get(pid); + + if (mappedUin !== uin) { + const message = `BridgeManager invariant violated: PID=${pid} detach expected UIN=${uin}, mapped UIN=${mappedUin ?? 'none'}`; + log.error(message); + throw new Error(message); + } + + const session = this.bridges.get(uin); + + if (!session) { + const message = `BridgeManager invariant violated: PID=${pid} references missing UIN=${uin} session`; + log.error(message); + throw new Error(message); + } + + if (!session.hasPid(pid)) { + const message = `BridgeManager invariant violated: PID=${pid} is mapped to UIN=${uin}, but Bridge does not own the PID`; + log.error(message); + throw new Error(message); + } + + // Validation is complete. Mutate both sides only after the ownership + // invariant is known to hold, so a fail-fast error preserves the evidence. + this.pidToUin_.delete(pid); + session.detachPid(pid); + + if (!session.empty) { + return false; + } + + this.bridges.delete(uin); + log.debug('session closed: UIN=%s', uin); + // Fire before dispose() so listeners can still read bridge.identity. + this.fireSessionClosed(uin, session, pid); + this.closeSession(uin, session); + return true; + } + + private ensureSession(uin: string): { session: Bridge; created: boolean } { + const session = this.bridges.get(uin); + + if (session) { + return { session, created: false }; + } + + const closing = this.closingSessions_.get(uin); + // allSettled, not all: a failed close stays in the bookkeeping (so + // dispose can still report it) but must not reject this gate — a + // rejected gate would keep the identity DB of every future session + // for this UIN closed until the process restarts. + const beforeOpen = closing + ? Promise.allSettled(closing).then(() => undefined) + : undefined; + const bridge = new Bridge(IdentityService.openForUin(uin, 'data', beforeOpen)); + this.bridges.set(uin, bridge); + + return { session: bridge, created: true }; + } + + getBridge(uin: string): Bridge | null { + return this.bridges.get(uin) ?? null; + } +} diff --git a/packages/core/src/env.d.ts b/packages/core/src/env.d.ts new file mode 100644 index 00000000..2889cd7c --- /dev/null +++ b/packages/core/src/env.d.ts @@ -0,0 +1,2 @@ +declare const __BUILD_WEBUI__: boolean; +declare const __PACKAGED__: boolean; diff --git a/packages/core/src/index.ts b/packages/core/src/index.ts new file mode 100644 index 00000000..7e28bb47 --- /dev/null +++ b/packages/core/src/index.ts @@ -0,0 +1,264 @@ +import { getRuntimeIntegrity, HookManager } from '@snowluma/bridge'; +import { configureFileTransport } from '@snowluma/common/log-file-transport'; +import { closeLogger, createLogger } from '@snowluma/common/logger'; +import { + DEFAULT_LOG_MAX_TOTAL_MB, + DEFAULT_LOG_PER_UIN, + DEFAULT_LOG_RETAIN_DAYS, + loadRuntimeConfig, +} from '@snowluma/common/runtime'; +import { OneBotManager } from '@snowluma/onebot/manager'; +import { migrateGlobalSettings } from '@snowluma/onebot/global-config'; +import { cleanupInvalidPerUinConfigs } from '@snowluma/onebot/config'; +import { + isMessageStoreMigrationWorkerData, + runMessageStoreMigrationWorker, +} from '@snowluma/onebot/message-store-migration-worker'; +import { workerData } from 'node:worker_threads'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; +import { BridgeManager } from './bridge/manager'; +import { createNotificationManager } from './notifications/manager'; +import { createStateWiring } from './webui/state-wiring'; +import { initWebUI } from './webui/server'; +import { bindSystemFaceCatalog } from './sys-face-catalog'; +import { logRuntimeIntegrity } from './runtime-integrity-log'; +import { RESTART_EXIT_CODE, runApplication } from './update/startup'; + +const log = createLogger('App'); +const updateRoot = + typeof __PACKAGED__ === 'undefined' ? undefined : path.dirname(fileURLToPath(import.meta.url)); + +function installProcessGuards(): void { + // Last-resort process guards. This is a long-running daemon: a hooked QQ pipe + // can drop at any moment, and a stray rejection on a detached callback (or a + // throw that escapes one) must NOT take the whole process down — otherwise + // Docker restarts it (dropping every session) and a bare Windows run just dies + // ("connection pipe closed", bot offline). Log and keep serving; the bridge's + // own watcher reconnects the dropped pipe. Targeted handlers still cover the + // known paths (e.g. the hook-client send deferreds) — these only catch what + // slips through, and surface its stack so the real source can be fixed. + process.on('unhandledRejection', (reason) => { + log.error( + 'unhandledRejection (kept alive): %s', + reason instanceof Error ? (reason.stack ?? reason.message) : String(reason), + ); + }); + process.on('uncaughtException', (error) => { + log.error('uncaughtException (kept alive): %s', error.stack ?? error.message); + }); +} + +async function main() { + const runtimeConfig = loadRuntimeConfig(); + await configureFileTransport({ + maxTotalMb: runtimeConfig.logMaxTotalMb ?? DEFAULT_LOG_MAX_TOTAL_MB, + retainDays: runtimeConfig.logRetainDays ?? DEFAULT_LOG_RETAIN_DAYS, + perUinEnabled: runtimeConfig.logPerUin ?? DEFAULT_LOG_PER_UIN, + }); + log.info('SnowLuma starting'); + logRuntimeIntegrity(await getRuntimeIntegrity()); + + // One-shot: lift a legacy per-UIN musicSignUrl into the global store before + // any session (and thus any per-UIN config rewrite) can drop it. + migrateGlobalSettings(); + + // One-shot: purge any persisted phantom accounts (onebot_.json) the + // native hook may have created with a timestamp-shaped UIN (issue #162). + cleanupInvalidPerUinConfigs(); + + const bridgeManager = new BridgeManager(); + bindSystemFaceCatalog(bridgeManager); + const oneBotManager = new OneBotManager(); + oneBotManager.bind(bridgeManager); + const autoLoadOnDiscovery = resolveAutoLoad(runtimeConfig.hookAutoLoad); + + // WebUI state-push wiring: HookManager + BridgeManager edges publish + // `processes` / `qq-list` / `connections` invalidations into a bus the + // /api/state/stream SSE handler subscribes to (no REST polling required). + const stateWiring = createStateWiring(bridgeManager); + const hookManager = new HookManager({ + bridgeManager, + autoLoadOnDiscovery, + onSessionsChanged: stateWiring.onSessionsChanged, + }); + + if (autoLoadOnDiscovery) { + log.info('hook auto-load enabled: every discovered QQ process will be injected'); + } + + // Global notification subsystem (account up/down → webhook). Bound AFTER + // OneBotManager so the nickname fallback is already populated when it observes. + // Lifecycle events identify their PID; an older process with the same UIN + // must not supply facts for a recovered account. + const notificationManager = createNotificationManager(async (uin, pid) => { + const found = (await hookManager.listProcesses()).find( + (p) => p.pid === pid && p.uin === uin, + ); + return found ? { status: found.status, pid: found.pid, error: found.error } : undefined; + }); + notificationManager.bind(bridgeManager); + + let stopWebUI: (() => Promise) | undefined; + + if ( + (typeof __BUILD_WEBUI__ !== 'undefined' && __BUILD_WEBUI__) || + process.env.SNOWLUMA_DEV_WEBUI === '1' + ) { + try { + const started = await initWebUI( + runtimeConfig.webuiPort || 5099, + oneBotManager, + hookManager, + notificationManager, + { + host: runtimeConfig.webuiHost, + tlsEnabled: runtimeConfig.webuiTls?.enabled, + trustProxy: runtimeConfig.trustProxy, + stateBus: stateWiring.bus, + updateRoot, + restart: () => { + void shutdown('update', RESTART_EXIT_CODE); + }, + }, + ); + stopWebUI = started.stop; + } catch (err) { + log.error('Failed to start WebUI: ', err); + } + } + + // Graceful shutdown: dispose managers, await log flush, then exit. + // SIGINT (Ctrl-C) and SIGTERM (Docker/systemd) take the same path. + let shutdownStarted = false; + + const shutdown = async (signal: string, requestedExitCode = 0) => { + if (shutdownStarted) { + return; + } + + shutdownStarted = true; + log.warn(`Shutting down (${signal})...`); + let exitCode = requestedExitCode; + + try { + await oneBotManager.dispose(); + } catch (error) { + exitCode = 1; + log.error( + 'OneBot shutdown failed: %s', + error instanceof Error ? (error.stack ?? error.message) : String(error), + ); + } + + try { + notificationManager.dispose(); + } catch (error) { + exitCode = 1; + log.error( + 'notification shutdown failed: %s', + error instanceof Error ? (error.stack ?? error.message) : String(error), + ); + } + + try { + if (stopWebUI) { + await stopWebUI(); + } + } catch (error) { + exitCode = 1; + log.error( + 'WebUI shutdown failed: %s', + error instanceof Error ? (error.stack ?? error.message) : String(error), + ); + } + + // Observers go deaf before Hook teardown. Hook dispose then emits the + // same disconnected → PID detach → Bridge closed path as a live drop; + // those closed edges must not look like a runtime offline. + try { + stateWiring.dispose(); + } catch (error) { + exitCode = 1; + log.error( + 'state wiring shutdown failed: %s', + error instanceof Error ? (error.stack ?? error.message) : String(error), + ); + } + + try { + hookManager.dispose(); + } catch (error) { + exitCode = 1; + log.error( + 'hook shutdown failed: %s', + error instanceof Error ? (error.stack ?? error.message) : String(error), + ); + } + + try { + await bridgeManager.dispose(); + } catch (error) { + exitCode = 1; + log.error( + 'bridge shutdown failed: %s', + error instanceof Error ? (error.stack ?? error.message) : String(error), + ); + } + + await closeLogger(); + process.exit(exitCode); + }; + + process.on('SIGINT', () => { + void shutdown('SIGINT'); + }); + process.on('SIGTERM', () => { + void shutdown('SIGTERM'); + }); + + if (process.send) { + process.on('message', (message) => { + if (message === 'shutdown') { + void shutdown('launcher'); + } + }); + process.on('disconnect', () => { + void shutdown('launcher disconnected'); + }); + process.send('ready'); + } +} + +function resolveAutoLoad(fromConfig: boolean | undefined): boolean { + const envRaw = process.env.SNOWLUMA_HOOK_AUTOLOAD; + + if (typeof envRaw === 'string' && envRaw.trim()) { + const v = envRaw.trim().toLowerCase(); + + if (v === '1' || v === 'true' || v === 'yes' || v === 'on') { + return true; + } + + if (v === '0' || v === 'false' || v === 'no' || v === 'off') { + return false; + } + } + + return fromConfig === true; +} + +if (isMessageStoreMigrationWorkerData(workerData)) { + runMessageStoreMigrationWorker(workerData).catch(() => { + process.exitCode = 1; + }); +} else if (updateRoot && !process.env.SNOWLUMA_UPDATE_ROOT) { + void runApplication(updateRoot); +} else { + installProcessGuards(); + main().catch(async (error) => { + log.error(error instanceof Error ? (error.stack ?? error.message) : String(error)); + await closeLogger(); + process.exit(1); + }); +} diff --git a/packages/core/src/notifications/config.ts b/packages/core/src/notifications/config.ts new file mode 100644 index 00000000..3cb3317b --- /dev/null +++ b/packages/core/src/notifications/config.ts @@ -0,0 +1,498 @@ +// Global channels are selected per account by OneBotConfig.notifications.channelIds. +import { boolOr, clampInt, isObject } from '@snowluma/common/coerce'; +import { createLogger } from '@snowluma/common/logger'; +import { + DEFAULT_WEBHOOK_BODY, + DEFAULT_EMAIL_BODY, + DEFAULT_EMAIL_SUBJECT, +} from '@snowluma/common/notification-templates'; +import fs from 'fs'; +import path from 'path'; +import { extractAddress, parseRecipients } from './smtp'; + +const log = createLogger('Notifications.Config'); + +const CONFIG_DIR = 'config'; +const NOTIFICATIONS_CONFIG_PATH = path.join(CONFIG_DIR, 'notifications.json'); + +export const NOTIFICATIONS_CONFIG_VERSION = 1 as const; + +export const DEBOUNCE_SECONDS_MIN = 0; +export const DEBOUNCE_SECONDS_MAX = 3600; +export const DEFAULT_DEBOUNCE_SECONDS = 30; + +/** A channel id is a slug: it is referenced by per-UIN `channelIds`, so it must + * be safe to use as a stable key. Kept in sync with `normalizeChannelIds` in + * packages/onebot/src/config.ts (cross-package; can't share without a circular + * dep — core depends on onebot, not the reverse). */ +export const CHANNEL_ID_RE = /^[\w.-]+$/; +const CHANNEL_ID_MAX = 64; +const CHANNEL_NAME_MAX = 128; +const BODY_TEMPLATE_MAX = 8192; +const HEADER_NAME_MAX = 128; +const HEADER_VALUE_MAX = 1024; +const HEADERS_MAX = 16; +const HEADER_NAME_RE = /^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/; + +/** event ∈ {offline, online}; rendered verbatim into `{event}`. */ +export type NotificationEvent = 'offline' | 'online'; + +export type NotificationChannelType = 'webhook' | 'email'; + +export interface NotificationChannel { + id: string; + name: string; + type: NotificationChannelType; + /** http(s) webhook target. Empty on email channels. */ + url: string; + bodyTemplate: string; + enabled: boolean; + /** Extra outbound request headers (Authorization, etc.). Webhook only. */ + headers?: Record; + smtpHost?: string; + smtpPort?: number; + smtpSecure?: boolean; + smtpUser?: string; + smtpPass?: string; + from?: string; + to?: string; + subjectTemplate?: string; +} + +export function isEmailChannel(ch: NotificationChannel): ch is NotificationChannel & { + smtpHost: string; + smtpPort: number; + smtpSecure: boolean; + from: string; + to: string; + subjectTemplate: string; +} { + return ch.type === 'email'; +} + +export interface NotificationsConfig { + version: typeof NOTIFICATIONS_CONFIG_VERSION; + debounceSeconds: number; + channels: NotificationChannel[]; +} + +const SMTP_HOST_MAX = 253; +const SMTP_USER_MAX = 256; +const SMTP_PASS_MAX = 256; +const EMAIL_FIELD_MAX = 1024; +const SUBJECT_TEMPLATE_MAX = 256; +const SMTP_PORT_MIN = 1; +const SMTP_PORT_MAX = 65535; + +export function defaultNotificationsConfig(): NotificationsConfig { + return { + version: NOTIFICATIONS_CONFIG_VERSION, + debounceSeconds: DEFAULT_DEBOUNCE_SECONDS, + channels: [], + }; +} + +// ─── Template renderer ────────────────────────────────────────────────────── + +/** Preserve unknown placeholders; escape substituted strings in JSON templates. */ +export function renderTemplate(template: string, vars: Record): string { + if (typeof template !== 'string') { + return ''; + } + + let isJson = false; + + try { + JSON.parse(template); + isJson = true; + } catch { + // not JSON — plain text mode + } + + return template.replace(/\{(\w+)\}/g, (match, key: string) => { + if (!Object.prototype.hasOwnProperty.call(vars, key)) { + return match; + } + + const val = vars[key]; + return isJson ? JSON.stringify(val).slice(1, -1) : val; + }); +} + +// ─── Normalization helpers ────────────────────────────────────────────────── +// isObject / boolOr / clampInt come from @snowluma/common/coerce. strOr is +// notifications-only (string truncation to maxLen), so it stays here. + +function strOr(value: unknown, fallback: string, maxLen: number): string { + return typeof value === 'string' ? value.slice(0, maxLen) : fallback; +} + +function normalizeChannelId(value: unknown): string | null { + if (typeof value !== 'string') { + return null; + } + + const v = value.trim(); + + if (v.length === 0 || v.length > CHANNEL_ID_MAX) { + return null; + } + + if (!CHANNEL_ID_RE.test(v)) { + return null; + } + + return v; +} + +function isHttpUrl(value: string): boolean { + try { + const u = new URL(value); + return u.protocol === 'http:' || u.protocol === 'https:'; + } catch { + return false; + } +} + +function normalizeHeaders(value: unknown): Record | undefined { + if (!isObject(value)) { + return undefined; + } + + const out: Record = {}; + const seen = new Set(); + + for (const [rawName, rawValue] of Object.entries(value)) { + if (Object.keys(out).length >= HEADERS_MAX) { + break; + } + + if (typeof rawValue !== 'string') { + continue; + } + + const name = rawName.trim(); + + if (name.length === 0 || name.length > HEADER_NAME_MAX) { + continue; + } + + if (!HEADER_NAME_RE.test(name)) { + continue; + } + + const folded = name.toLowerCase(); + + if (seen.has(folded)) { + continue; + } + + const headerValue = rawValue.trim(); + + if (headerValue.length === 0 || headerValue.length > HEADER_VALUE_MAX) { + continue; + } + + if (headerValue.includes('\r') || headerValue.includes('\n')) { + continue; + } + + seen.add(folded); + out[name] = headerValue; + } + + return Object.keys(out).length > 0 ? out : undefined; +} + +function normalizeSmtpHost(value: unknown): string | null { + if (typeof value !== 'string') { + return null; + } + + const v = value.trim(); + + if (!v || v.length > SMTP_HOST_MAX) { + return null; + } + + if (/\s/.test(v) || v.includes('/') || v.includes('://')) { + return null; + } + + return v; +} + +function normalizeFrom(value: unknown): string | null { + if (typeof value !== 'string') { + return null; + } + + const v = value.trim().slice(0, EMAIL_FIELD_MAX); + return extractAddress(v) ? v : null; +} + +function normalizeTo(value: unknown): string | null { + if (typeof value !== 'string') { + return null; + } + + const addrs = parseRecipients(value.trim().slice(0, EMAIL_FIELD_MAX)); + return addrs.length > 0 ? addrs.join(', ') : null; +} + +function normalizeChannelType(value: unknown): NotificationChannelType | null { + if (value === 'email') { + return 'email'; + } + + if (value === 'webhook' || value === undefined || value === '') { + return 'webhook'; + } + + return null; +} + +function normalizeEmailChannel( + raw: Record, + id: string, + name: string, +): NotificationChannel | null { + const smtpHost = normalizeSmtpHost(raw.smtpHost); + const from = normalizeFrom(raw.from); + const to = normalizeTo(raw.to); + + if (!smtpHost || !from || !to) { + return null; + } + + const portRaw = raw.smtpPort; + const portProvided = portRaw !== undefined && portRaw !== null && portRaw !== ''; + const secureProvided = typeof raw.smtpSecure === 'boolean'; + const port = portProvided ? clampInt(portRaw, SMTP_PORT_MIN, SMTP_PORT_MAX, 0) : 0; + + if (portProvided && port === 0) { + return null; + } + + const smtpSecure = secureProvided ? Boolean(raw.smtpSecure) : port === 465 || port === 0; + const smtpPort = port === 0 ? (smtpSecure ? 465 : 587) : port; + + const smtpUser = + typeof raw.smtpUser === 'string' ? raw.smtpUser.trim().slice(0, SMTP_USER_MAX) : ''; + const smtpPass = typeof raw.smtpPass === 'string' ? raw.smtpPass.slice(0, SMTP_PASS_MAX) : ''; + + return { + id, + name, + type: 'email', + url: '', + bodyTemplate: strOr(raw.bodyTemplate, DEFAULT_EMAIL_BODY, BODY_TEMPLATE_MAX), + enabled: boolOr(raw.enabled, true), + smtpHost, + smtpPort, + smtpSecure, + ...(smtpUser ? { smtpUser } : {}), + ...(smtpPass ? { smtpPass } : {}), + from, + to, + subjectTemplate: + strOr(raw.subjectTemplate, DEFAULT_EMAIL_SUBJECT, SUBJECT_TEMPLATE_MAX) || + DEFAULT_EMAIL_SUBJECT, + }; +} + +/** A channel is usable only with a valid id AND a deliverable target — + * http(s) URL for webhooks, SMTP host + from/to for email. Anything else + * is dropped (total normalize). */ +function normalizeChannel(raw: unknown): NotificationChannel | null { + if (!isObject(raw)) { + return null; + } + + const id = normalizeChannelId(raw.id); + + if (!id) { + return null; + } + + const type = normalizeChannelType(raw.type); + + if (!type) { + return null; + } + + const name = strOr(raw.name, id, CHANNEL_NAME_MAX).trim() || id; + + if (type === 'email') { + return normalizeEmailChannel(raw, id, name); + } + + const url = typeof raw.url === 'string' ? raw.url.trim() : ''; + + if (!isHttpUrl(url)) { + return null; + } + + const headers = normalizeHeaders(raw.headers); + return { + id, + name, + type: 'webhook', + url, + bodyTemplate: strOr(raw.bodyTemplate, DEFAULT_WEBHOOK_BODY, BODY_TEMPLATE_MAX), + enabled: boolOr(raw.enabled, true), + ...(headers ? { headers } : {}), + }; +} + +function normalizeChannels(value: unknown): NotificationChannel[] { + if (!Array.isArray(value)) { + return []; + } + + const seen = new Set(); + const out: NotificationChannel[] = []; + + for (const raw of value) { + const ch = normalizeChannel(raw); + + if (!ch) { + continue; + } + + if (seen.has(ch.id)) { + continue; + } // dedupe by id — first occurrence wins + + seen.add(ch.id); + out.push(ch); + } + + return out; +} + +export function normalizeNotificationsConfig(value: unknown): NotificationsConfig { + const v = isObject(value) ? value : {}; + return { + version: NOTIFICATIONS_CONFIG_VERSION, + debounceSeconds: clampInt( + v.debounceSeconds, + DEBOUNCE_SECONDS_MIN, + DEBOUNCE_SECONDS_MAX, + DEFAULT_DEBOUNCE_SECONDS, + ), + channels: normalizeChannels(v.channels), + }; +} + +// ─── Persistence (atomic write + module-level cache) ──────────────────────── + +function ensureConfigDir(): void { + fs.mkdirSync(CONFIG_DIR, { recursive: true }); +} + +function enforceSensitiveFileMode(file: string): void { + // POSIX mode bits do not model Windows ACLs; on Windows the inherited ACL + // remains authoritative. Avoid pretending chmod provides equivalent policy. + if (process.platform !== 'win32') { + fs.chmodSync(file, 0o600); + } +} + +function atomicWrite(config: NotificationsConfig): void { + ensureConfigDir(); + const tmp = NOTIFICATIONS_CONFIG_PATH + '.tmp'; + fs.writeFileSync(tmp, JSON.stringify(config, null, 2), { + encoding: 'utf8', + mode: 0o600, + }); + enforceSensitiveFileMode(tmp); + fs.renameSync(tmp, NOTIFICATIONS_CONFIG_PATH); + enforceSensitiveFileMode(NOTIFICATIONS_CONFIG_PATH); +} + +let cached: NotificationsConfig | null = null; + +/** Load + normalize the channel store, creating it from defaults if absent. */ +export function loadNotificationsConfig(): NotificationsConfig { + if (cached) { + return cached; + } + + ensureConfigDir(); + + if (!fs.existsSync(NOTIFICATIONS_CONFIG_PATH)) { + const fresh = defaultNotificationsConfig(); + + try { + atomicWrite(fresh); + } catch (err) { + log.warn( + 'failed to write initial notifications.json: %s', + err instanceof Error ? err.message : String(err), + ); + } + + cached = fresh; + return fresh; + } + + // Webhook URLs commonly embed credentials. Repair older permissive files + // before reading them into memory so upgrades close the exposure promptly. + enforceSensitiveFileMode(NOTIFICATIONS_CONFIG_PATH); + + try { + const raw = fs.readFileSync(NOTIFICATIONS_CONFIG_PATH, 'utf8'); + const parsed = JSON.parse(raw) as unknown; + const normalized = normalizeNotificationsConfig(parsed); + + // Self-heal on disk only if normalization changed something (corrupt/old). + if (JSON.stringify(parsed) !== JSON.stringify(normalized)) { + try { + atomicWrite(normalized); + } catch (err) { + log.warn( + 'failed to normalize notifications.json on disk: %s', + err instanceof Error ? err.message : String(err), + ); + } + } + + cached = normalized; + return normalized; + } catch (err) { + log.warn( + 'notifications.json unreadable; using defaults: %s', + err instanceof Error ? err.message : String(err), + ); + const fresh = defaultNotificationsConfig(); + cached = fresh; + return fresh; + } +} + +/** + * Persist a (possibly partial) client-supplied config. A missing `channels` or + * `debounceSeconds` keeps the current on-disk value — section-level merge, same + * as `saveUiConfig`. Returns the stored, normalized config. + */ +export function saveNotificationsConfig(incoming: unknown): NotificationsConfig { + const current = loadNotificationsConfig(); + const v = isObject(incoming) ? incoming : {}; + const next: NotificationsConfig = { + version: NOTIFICATIONS_CONFIG_VERSION, + debounceSeconds: + v.debounceSeconds !== undefined + ? clampInt( + v.debounceSeconds, + DEBOUNCE_SECONDS_MIN, + DEBOUNCE_SECONDS_MAX, + DEFAULT_DEBOUNCE_SECONDS, + ) + : current.debounceSeconds, + channels: Array.isArray(v.channels) ? normalizeChannels(v.channels) : current.channels, + }; + atomicWrite(next); + cached = next; + return next; +} diff --git a/packages/core/src/notifications/debounce.ts b/packages/core/src/notifications/debounce.ts new file mode 100644 index 00000000..ee6641dc --- /dev/null +++ b/packages/core/src/notifications/debounce.ts @@ -0,0 +1,55 @@ +// Offline must survive the debounce window before it can emit a recovery pair. +// The manager owns timers and delivery; this machine only decides transitions. +import type { NotificationEvent } from './config'; + +export type DebounceDecision = + | { kind: 'none' } + | { kind: 'schedule'; delayMs: number } + | { kind: 'cancel' } + | { kind: 'emit'; event: NotificationEvent }; + +export class DebounceMachine { + private readonly states = new Map(); + + /** Account went offline. `debounceSeconds` is read fresh from config so a + * reload takes effect on the next transition. */ + onOffline(uin: string, debounceSeconds: number): DebounceDecision { + if (this.states.has(uin)) { + return { kind: 'none' }; + } + + if (!Number.isFinite(debounceSeconds) || debounceSeconds <= 0) { + this.states.set(uin, 'offline'); + return { kind: 'emit', event: 'offline' }; + } + + this.states.set(uin, 'pending'); + return { kind: 'schedule', delayMs: debounceSeconds * 1000 }; + } + + /** Account came online. */ + onOnline(uin: string): DebounceDecision { + const state = this.states.get(uin); + this.states.delete(uin); + + if (state === 'pending') { + return { kind: 'cancel' }; + } + + if (state === 'offline') { + return { kind: 'emit', event: 'online' }; + } + + return { kind: 'none' }; + } + + /** The offline debounce window elapsed (the armed timer fired). */ + onTimerElapsed(uin: string): DebounceDecision { + if (this.states.get(uin) !== 'pending') { + return { kind: 'none' }; + } + + this.states.set(uin, 'offline'); + return { kind: 'emit', event: 'offline' }; + } +} diff --git a/packages/core/src/notifications/manager.ts b/packages/core/src/notifications/manager.ts new file mode 100644 index 00000000..5e77bec2 --- /dev/null +++ b/packages/core/src/notifications/manager.ts @@ -0,0 +1,458 @@ +// The global notification subsystem: one singleton watching ALL accounts. +// +// Subscribes to BridgeManager session online/offline edges, runs a per-UIN +// debounce state machine (see debounce.ts), and on a fired transition renders +// each opted-in + enabled channel's template and delivers it — recording the +// outcome in a bounded in-memory history (lost on restart, by design). +// +// Side-effecting collaborators (config load, per-UIN channel ids, webhook POST, +// SMTP send, the clock) are injected so the class is fully unit-testable; the +// real wiring lives in `createNotificationManager()` at the bottom. +import { positiveIntEnv } from '@snowluma/common/env'; +import { errorMessage } from '@snowluma/common/errors'; +import type { HookProcessInfo } from '@snowluma/bridge/types'; +import { createLogger } from '@snowluma/common/logger'; +import { loadOneBotConfig } from '@snowluma/onebot/config'; +import type { BridgeSessionSource } from '../bridge/bridge-interface'; +import { + isEmailChannel, + loadNotificationsConfig, + renderTemplate, + type NotificationChannel, + type NotificationEvent, + type NotificationsConfig, +} from './config'; +import { DebounceMachine, type DebounceDecision } from './debounce'; +import { formatSmtpError, parseRecipients, sendSmtpMail } from './smtp'; + +const log = createLogger('Notifications'); + +const DEFAULT_HISTORY_LIMIT = 100; +const DEFAULT_POST_TIMEOUT_MS = 10_000; + +/** One delivery attempt, retained in bounded in-memory history. */ +export interface DeliveryRecord { + time: number; + uin: string; + event: NotificationEvent; + channelId: string; + ok: boolean; + status?: number; + error?: string; +} + +export interface PostResult { + ok: boolean; + status?: number; + error?: string; +} + +export interface MailPayload { + host: string; + port: number; + secure: boolean; + user?: string; + pass?: string; + from: string; + to: string; + subject: string; + text: string; +} + +/** + * Optional hook process snapshot attached to a notification. Missing facts + * mean unknown, not proof that QQ exited. Hook status describes connectivity; + * it does not by itself identify the reason an account went offline. + * Undefined fields render empty in templates. + */ +export type NotificationProcessFacts = Partial>; + +export interface NotificationManagerDeps { + /** Global channel store (channels + debounceSeconds). */ + loadConfig: () => NotificationsConfig; + /** The channel ids a UIN has opted into. */ + loadChannelIds: (uin: string) => string[]; + /** Webhook delivery. Rejections are recorded as failed attempts. */ + post: (url: string, body: string, headers?: Record) => Promise; + /** SMTP delivery — optional so webhook-only tests stay lean. */ + sendMail?: (mail: MailPayload) => Promise; + now: () => number; + historyLimit?: number; + /** + * Optional: look up the lifecycle event's PID and UIN at dispatch time. Omitted + * (or resolving to `undefined`) means "process unknown" — the fact + * variables then render empty rather than leaving `{status}` in the body. + */ + resolveProcess?: ( + uin: string, + pid: number | null, + ) => Promise; +} + +interface AccountNotificationContext { + nickname: string; + pid: number | null; +} + +/** + * Pure: the channels a UIN should be notified through — globally enabled AND + * opted into by the UIN — preserving config order. Exported for unit tests. + */ +export function selectChannels( + channels: NotificationChannel[], + enabledIds: string[], +): NotificationChannel[] { + const wanted = new Set(enabledIds); + return channels.filter((c) => c.enabled && wanted.has(c.id)); +} + +export class NotificationManager { + private readonly deps: NotificationManagerDeps; + private readonly machine = new DebounceMachine(); + private readonly timers = new Map>(); + private readonly accounts = new Map(); + private readonly history: DeliveryRecord[] = []; + private readonly deliveries = new Map>(); + private readonly historyLimit: number; + private disposed = false; + private unsubscribeSessions: (() => void) | null = null; + + constructor(deps: NotificationManagerDeps) { + this.deps = deps; + this.historyLimit = deps.historyLimit ?? DEFAULT_HISTORY_LIMIT; + } + + /** Subscribe to the global session online/offline edges. Register AFTER + * OneBotManager so the nickname fallback is already populated. */ + bind(bridgeManager: BridgeSessionSource): void { + if (this.disposed) { + return; + } + + this.unsubscribeSessions?.(); + this.unsubscribeSessions = bridgeManager.subscribeSessions({ + started: (uin, bridge) => + this.handleOnline(uin, bridge.identity.nickname, bridge.activePid), + closed: (uin, bridge, pid) => this.handleOffline(uin, bridge.identity.nickname, pid), + }); + } + + handleOnline(uin: string, nickname?: string, pid: number | null = null): void { + if (this.disposed) { + return; + } + + this.accounts.set(uin, { + nickname: nickname || this.accounts.get(uin)?.nickname || uin, + pid, + }); + + this.apply(uin, this.machine.onOnline(uin)); + } + + handleOffline(uin: string, nickname?: string, pid: number | null = null): void { + if (this.disposed) { + return; + } + + let debounceSeconds: number; + + try { + debounceSeconds = this.deps.loadConfig().debounceSeconds; + } catch (err) { + log.warn('offline(%s) skipped — config load failed: %s', uin, errorMessage(err)); + return; + } + + this.accounts.set(uin, { + nickname: nickname || this.accounts.get(uin)?.nickname || uin, + pid, + }); + + this.apply(uin, this.machine.onOffline(uin, debounceSeconds)); + } + + private apply(uin: string, decision: DebounceDecision): void { + switch (decision.kind) { + case 'schedule': { + const timer = setTimeout(() => { + this.timers.delete(uin); + this.apply(uin, this.machine.onTimerElapsed(uin)); + }, decision.delayMs); + + // Don't let a pending notification timer keep the process alive. + timer.unref(); + this.timers.set(uin, timer); + break; + } + + case 'cancel': { + clearTimeout(this.timers.get(uin)); + this.timers.delete(uin); + break; + } + + case 'emit': + void this.notify(uin, decision.event); + break; + case 'none': + break; + } + } + + /** Queue one transition; channel failures are recorded independently. */ + notify(uin: string, event: NotificationEvent): Promise { + if (this.disposed) { + return Promise.resolve(); + } + + const account = this.accounts.get(uin) ?? { nickname: uin, pid: null }; + const previous = this.deliveries.get(uin) ?? Promise.resolve(); + // Both enrichment and every channel delivery belong to this transition. + // A slow lookup/send must not let recovery overtake offline for one UIN. + const delivery = previous + .then(() => this.notifyNow(uin, event, account)) + .finally(() => { + if (this.deliveries.get(uin) === delivery) { + this.deliveries.delete(uin); + } + }); + this.deliveries.set(uin, delivery); + return delivery; + } + + private async notifyNow( + uin: string, + event: NotificationEvent, + account: AccountNotificationContext, + ): Promise { + if (this.disposed) { + return; + } + + let channels: NotificationChannel[]; + + try { + const cfg = this.deps.loadConfig(); + channels = selectChannels(cfg.channels, this.deps.loadChannelIds(uin)); + } catch (err) { + log.warn( + 'notify(%s, %s) skipped — config load failed: %s', + uin, + event, + errorMessage(err), + ); + return; + } + + if (channels.length === 0) { + return; + } + + let facts: NotificationProcessFacts | undefined; + + try { + facts = await this.deps.resolveProcess?.(uin, account.pid); + } catch (err) { + log.warn('resolveProcess(%s, %s) failed: %s', uin, account.pid, errorMessage(err)); + } + + const vars: Record = { + uin, + nickname: account.nickname, + event, + time: new Date(this.deps.now()).toISOString(), + status: facts?.status ?? '', + pid: facts?.pid === undefined ? '' : String(facts.pid), + error: facts?.error ?? '', + }; + + for (const ch of channels) { + if (this.disposed) { + return; + } + + const result = await this.deliver(ch, vars); + this.record({ + time: this.deps.now(), + uin, + event, + channelId: ch.id, + ok: result.ok, + status: result.status, + error: result.ok + ? undefined + : (result.error ?? + (result.status ? `HTTP ${result.status}` : 'delivery failed')), + }); + + if (!result.ok) { + log.warn( + 'notify %s→%s channel=%s failed: %s', + uin, + event, + ch.id, + result.error ?? `HTTP ${result.status ?? '?'}`, + ); + } + } + } + + private async deliver( + ch: NotificationChannel, + vars: Record, + ): Promise { + try { + if (isEmailChannel(ch)) { + const send = this.deps.sendMail; + + if (!send) { + return { ok: false, error: 'email delivery is not configured' }; + } + + return await send({ + host: ch.smtpHost, + port: ch.smtpPort, + secure: ch.smtpSecure, + user: ch.smtpUser, + pass: ch.smtpPass, + from: ch.from, + to: ch.to, + subject: renderTemplate(ch.subjectTemplate, vars), + text: renderTemplate(ch.bodyTemplate, vars), + }); + } + + return await this.deps.post(ch.url, renderTemplate(ch.bodyTemplate, vars), ch.headers); + } catch (err) { + return { ok: false, error: errorMessage(err) }; + } + } + + /** Send a one-off test to a single channel by id — ignores `enabled` and the + * per-UIN opt-in (you test a channel before wiring it up), with sample + * variables. Reuses the real render+deliver path; NOT recorded to history. + * `found:false` means the channel id is unknown. */ + async testSend(channelId: string): Promise { + let channel: NotificationChannel | undefined; + + try { + channel = this.deps.loadConfig().channels.find((c) => c.id === channelId); + } catch (err) { + return { ok: false, found: false, error: errorMessage(err) }; + } + + if (!channel) { + return { ok: false, found: false }; + } + + const vars = { + uin: '10000', + nickname: '测试账号', + event: 'offline' as const, + time: new Date(this.deps.now()).toISOString(), + status: 'disconnected', + pid: '1234', + error: '', + }; + return { ...(await this.deliver(channel, vars)), found: true }; + } + + private record(rec: DeliveryRecord): void { + this.history.push(rec); + + if (this.history.length > this.historyLimit) { + this.history.splice(0, this.history.length - this.historyLimit); + } + } + + /** Most-recent-first delivery history (capped at the buffer size). */ + getRecent(limit = this.historyLimit): DeliveryRecord[] { + const n = Math.max(0, Math.min(Math.trunc(limit) || 0, this.history.length)); + return this.history.slice(this.history.length - n).reverse(); + } + + dispose(): void { + if (this.disposed) { + return; + } + + this.disposed = true; + this.unsubscribeSessions?.(); + this.unsubscribeSessions = null; + + for (const timer of this.timers.values()) { + clearTimeout(timer); + } + + this.timers.clear(); + } +} + +/** Default outbound POST: a single attempt with a timeout, JSON content-type + * (the common case for 钉钉/Discord/飞书). Never throws. */ +export function createDefaultPost( + timeoutMs = positiveIntEnv('SNOWLUMA_NOTIFICATION_HTTP_TIMEOUT_MS', DEFAULT_POST_TIMEOUT_MS), +): NotificationManagerDeps['post'] { + return async (url, body, headers) => { + try { + const res = await fetch(url, { + method: 'POST', + headers: { 'Content-Type': 'application/json', ...headers }, + body, + signal: AbortSignal.timeout(timeoutMs), + }); + return { + ok: res.ok, + status: res.status, + error: res.ok ? undefined : `HTTP ${res.status}`, + }; + } catch (err) { + return { ok: false, error: errorMessage(err) }; + } + }; +} + +const DEFAULT_SMTP_TIMEOUT_MS = 15_000; + +/** Default SMTP send. Never throws. */ +export function createDefaultSendMail( + timeoutMs = DEFAULT_SMTP_TIMEOUT_MS, +): NonNullable { + return async (mail) => { + try { + await sendSmtpMail( + { + host: mail.host, + port: mail.port, + secure: mail.secure, + user: mail.user, + pass: mail.pass, + from: mail.from, + to: parseRecipients(mail.to), + subject: mail.subject, + body: mail.text, + }, + { timeoutMs }, + ); + return { ok: true }; + } catch (err) { + return { ok: false, error: formatSmtpError(err, mail.host, mail.port) }; + } + }; +} + +/** The real, fully-wired singleton. `resolveProcess` is supplied by the + * runtime — this package deliberately knows nothing about HookManager. */ +export function createNotificationManager( + resolveProcess?: NotificationManagerDeps['resolveProcess'], +): NotificationManager { + return new NotificationManager({ + loadConfig: loadNotificationsConfig, + loadChannelIds: (uin) => loadOneBotConfig(uin).notifications?.channelIds ?? [], + post: createDefaultPost(), + sendMail: createDefaultSendMail(), + now: () => Date.now(), + resolveProcess, + }); +} diff --git a/packages/core/src/notifications/smtp.ts b/packages/core/src/notifications/smtp.ts new file mode 100644 index 00000000..f626375a --- /dev/null +++ b/packages/core/src/notifications/smtp.ts @@ -0,0 +1,482 @@ +// Minimal SMTP client for notification-channel email. Runtime ships with no +// npm dependencies, so this speaks the protocol over node:net / node:tls +// (EHLO, optional STARTTLS, AUTH PLAIN/LOGIN, DATA). No extra features. + +import net from 'node:net'; +import tls from 'node:tls'; + +const CRLF = '\r\n'; +const DEFAULT_TIMEOUT_MS = 15_000; + +export class SmtpError extends Error { + readonly responseCode?: number; + readonly code?: string; + + constructor(message: string, opts?: { responseCode?: number; code?: string }) { + super(message); + this.name = 'SmtpError'; + this.responseCode = opts?.responseCode; + this.code = opts?.code; + } +} + +export interface SmtpMail { + host: string; + port: number; + secure: boolean; + user?: string; + pass?: string; + from: string; + to: string[]; + subject: string; + body: string; +} + +export interface SendSmtpOptions { + timeoutMs?: number; + /** Defaults true. Tests against a self-signed mock pass false. */ + rejectUnauthorized?: boolean; +} + +export function looksLikeEmail(value: string): boolean { + return /^[^\s<>@]+@[^\s<>@]+$/.test(value); +} + +/** Address from `Name ` or a bare addr; null if neither is usable. */ +export function extractAddress(value: string): string | null { + const trimmed = value.trim(); + + if (!trimmed) { + return null; + } + + const angled = /<([^<>]+)>/.exec(trimmed); + const addr = (angled ? angled[1] : trimmed).trim(); + return looksLikeEmail(addr) ? addr : null; +} + +/** Split a comma / semicolon / newline list and keep unique addresses. */ +export function parseRecipients(value: string): string[] { + const seen = new Set(); + const out: string[] = []; + + for (const part of value.split(/[,;\n]+/)) { + const addr = extractAddress(part); + + if (!addr) { + continue; + } + + const key = addr.toLowerCase(); + + if (seen.has(key)) { + continue; + } + + seen.add(key); + out.push(addr); + } + + return out; +} + +function encodeHeader(value: string): string { + if (/^[\x20-\x7E]*$/.test(value) && !/[\r\n]/.test(value)) { + return value; + } + + return `=?UTF-8?B?${Buffer.from(value, 'utf8').toString('base64')}?=`; +} + +function rfc5322Date(d: Date): string { + return d.toUTCString().replace(/GMT$/, '+0000'); +} + +function wrap76(b64: string): string { + return b64.replace(/.{1,76}/g, (line) => `${line}\r\n`).trimEnd(); +} + +function isHtmlBody(body: string): boolean { + return /^\s*`; + const headers = [ + `From: ${mail.from.trim() || (fromAddr ? `<${fromAddr}>` : '')}`, + `To: ${toHeader}`, + `Subject: ${encodeHeader(mail.subject)}`, + `Date: ${rfc5322Date(now)}`, + `Message-ID: ${id}`, + 'MIME-Version: 1.0', + `Content-Type: ${html ? 'text/html' : 'text/plain'}; charset=UTF-8`, + 'Content-Transfer-Encoding: base64', + ]; + const body = wrap76(Buffer.from(mail.body, 'utf8').toString('base64')); + return `${headers.join(CRLF)}${CRLF}${CRLF}${body}${CRLF}`; +} + +interface SmtpReply { + code: number; + lines: string[]; + text: string; +} + +function consumeReply(buf: string): { reply: SmtpReply; rest: string } | null { + let offset = 0; + const lines: string[] = []; + let code = 0; + + while (offset < buf.length) { + const nl = buf.indexOf('\n', offset); + + if (nl === -1) { + return null; + } + + const line = buf.slice(offset, nl).replace(/\r$/, ''); + offset = nl + 1; + const m = /^(\d{3})([ -])(.*)$/.exec(line); + + if (!m) { + continue; + } + + code = Number(m[1]); + lines.push(m[3]); + + if (m[2] === ' ') { + return { reply: { code, lines, text: lines.join('\n') }, rest: buf.slice(offset) }; + } + } + + return null; +} + +type SmtpSock = net.Socket | tls.TLSSocket; + +function parseCapabilities(reply: SmtpReply): { starttls: boolean; auth: Set } { + const auth = new Set(); + let starttls = false; + + for (const line of reply.lines) { + const u = line.toUpperCase(); + + if (u === 'STARTTLS' || u.startsWith('STARTTLS ')) { + starttls = true; + } + + if (u.startsWith('AUTH ')) { + for (const mech of u.slice(5).split(/\s+/)) { + if (mech) { + auth.add(mech); + } + } + } + } + + return { starttls, auth }; +} + +function connectSocket( + host: string, + port: number, + secure: boolean, + timeoutMs: number, + rejectUnauthorized: boolean, +): Promise { + return new Promise((resolve, reject) => { + const sock: SmtpSock = secure + ? tls.connect({ + host, + port, + servername: net.isIP(host) === 0 ? host : undefined, + rejectUnauthorized, + }) + : net.connect({ host, port }); + + const fail = (err: Error) => { + sock.destroy(); + reject(err); + }; + + sock.setTimeout(timeoutMs); + sock.once('timeout', () => + fail(new SmtpError('SMTP connection timed out', { code: 'ETIMEDOUT' })), + ); + sock.once('error', fail); + sock.once(secure ? 'secureConnect' : 'connect', () => { + sock.removeAllListeners('timeout'); + sock.removeAllListeners('error'); + resolve(sock); + }); + }); +} + +function upgradeTls( + socket: net.Socket, + host: string, + timeoutMs: number, + rejectUnauthorized: boolean, +): Promise { + return new Promise((resolve, reject) => { + const tlsSocket = tls.connect( + { + socket, + servername: net.isIP(host) === 0 ? host : undefined, + rejectUnauthorized, + }, + () => resolve(tlsSocket), + ); + tlsSocket.setTimeout(timeoutMs); + tlsSocket.once('timeout', () => { + tlsSocket.destroy(); + reject(new SmtpError('SMTP STARTTLS timed out', { code: 'ETIMEDOUT' })); + }); + tlsSocket.once('error', reject); + }); +} + +class SmtpSession { + private buf = ''; + + constructor(private socket: SmtpSock) {} + + destroy(): void { + this.socket.destroy(); + } + + attachTimeout(timeoutMs: number, onTimeout: () => void): void { + this.socket.setTimeout(timeoutMs); + this.socket.once('timeout', onTimeout); + } + + async read(): Promise { + const ready = consumeReply(this.buf); + + if (ready) { + this.buf = ready.rest; + return ready.reply; + } + + return new Promise((resolve, reject) => { + const onData = (chunk: Buffer) => { + this.buf += chunk.toString('utf8'); + const got = consumeReply(this.buf); + + if (!got) { + return; + } + + this.buf = got.rest; + cleanup(); + resolve(got.reply); + }; + + const onError = (err: Error) => { + cleanup(); + reject(err); + }; + + const onClose = () => { + cleanup(); + reject(new SmtpError('SMTP connection closed')); + }; + + const cleanup = () => { + this.socket.removeListener('data', onData); + this.socket.removeListener('error', onError); + this.socket.removeListener('close', onClose); + }; + + this.socket.on('data', onData); + this.socket.once('error', onError); + this.socket.once('close', onClose); + }); + } + + write(data: string): void { + this.socket.write(data); + } + + async command(line: string, ok: (code: number) => boolean, label?: string): Promise { + this.write(line + CRLF); + const reply = await this.read(); + + if (!ok(reply.code)) { + const name = label ?? line.split(' ')[0] ?? 'SMTP'; + throw new SmtpError(`${name} failed: ${reply.code} ${reply.text}`.trim(), { + responseCode: reply.code, + }); + } + + return reply; + } + + replaceSocket(next: SmtpSock): void { + this.socket = next; + this.buf = ''; + } +} + +export function formatSmtpError(err: unknown, host: string, port: number): string { + if (err instanceof SmtpError) { + if (err.code === 'ECONNREFUSED' || err.code === 'ENOTFOUND' || err.code === 'ETIMEDOUT') { + return `无法连接 SMTP:${host}:${port}`; + } + + if (err.responseCode === 535) { + return 'SMTP 认证失败'; + } + + return err.message; + } + + if (err instanceof Error) { + const code = (err as NodeJS.ErrnoException).code; + + if (code === 'ECONNREFUSED' || code === 'ENOTFOUND' || code === 'ETIMEDOUT') { + return `无法连接 SMTP:${host}:${port}`; + } + + if (/self-signed|unable to verify/i.test(err.message)) { + return `SMTP 证书不受信任:${host}`; + } + + return err.message || '邮件发送失败'; + } + + return '邮件发送失败'; +} + +export async function sendSmtpMail(mail: SmtpMail, opts: SendSmtpOptions = {}): Promise { + const timeoutMs = opts.timeoutMs ?? DEFAULT_TIMEOUT_MS; + const rejectUnauthorized = opts.rejectUnauthorized ?? true; + const fromAddr = extractAddress(mail.from); + + if (!fromAddr) { + throw new SmtpError('invalid from address'); + } + + if (mail.to.length === 0) { + throw new SmtpError('no recipients'); + } + + let sock = await connectSocket( + mail.host, + mail.port, + mail.secure, + timeoutMs, + rejectUnauthorized, + ); + const session = new SmtpSession(sock); + let finished = false; + + const failTimeout = () => { + if (finished) { + return; + } + + session.destroy(); + }; + + session.attachTimeout(timeoutMs, failTimeout); + + try { + const greeting = await session.read(); + + if (greeting.code !== 220) { + throw new SmtpError(`SMTP greeting failed: ${greeting.code} ${greeting.text}`.trim(), { + responseCode: greeting.code, + }); + } + + const ehlo = async () => session.command('EHLO [127.0.0.1]', (c) => c === 250); + let caps = parseCapabilities(await ehlo()); + + if (!mail.secure && caps.starttls) { + await session.command('STARTTLS', (c) => c === 220); + const upgraded = await upgradeTls( + sock as net.Socket, + mail.host, + timeoutMs, + rejectUnauthorized, + ); + session.replaceSocket(upgraded); + session.attachTimeout(timeoutMs, failTimeout); + sock = upgraded; + caps = parseCapabilities(await ehlo()); + } + + const user = mail.user?.trim() ?? ''; + + if (user) { + await authenticate(session, caps.auth, user, mail.pass ?? ''); + } + + await session.command(`MAIL FROM:<${fromAddr}>`, (c) => c === 250); + + for (const rcpt of mail.to) { + await session.command(`RCPT TO:<${rcpt}>`, (c) => c === 250 || c === 251); + } + + await session.command('DATA', (c) => c === 354); + session.write(dotStuff(buildMimeMessage(mail))); + await session.command('.', (c) => c === 250, 'DATA'); + + try { + await session.command('QUIT', (c) => c === 221); + } catch { + // Some relays drop the socket after 250; delivery already succeeded. + } + + finished = true; + } catch (err) { + finished = true; + throw err; + } finally { + session.destroy(); + } +} + +async function authenticate( + session: SmtpSession, + mechs: Set, + user: string, + pass: string, +): Promise { + const hasPlain = mechs.has('PLAIN'); + const hasLogin = mechs.has('LOGIN'); + + if (hasPlain || !hasLogin) { + try { + const token = Buffer.from(`\0${user}\0${pass}`, 'utf8').toString('base64'); + await session.command(`AUTH PLAIN ${token}`, (c) => c === 235, 'AUTH'); + return; + } catch (err) { + if (hasPlain && !hasLogin) { + throw err; + } + + if (err instanceof SmtpError && err.responseCode === 535) { + throw err; + } + } + } + + await loginAuth(session, user, pass); +} + +async function loginAuth(session: SmtpSession, user: string, pass: string): Promise { + await session.command('AUTH LOGIN', (c) => c === 334, 'AUTH'); + await session.command(Buffer.from(user, 'utf8').toString('base64'), (c) => c === 334, 'AUTH'); + await session.command(Buffer.from(pass, 'utf8').toString('base64'), (c) => c === 235, 'AUTH'); +} diff --git a/packages/core/src/runtime-integrity-log.ts b/packages/core/src/runtime-integrity-log.ts new file mode 100644 index 00000000..f4261d3f --- /dev/null +++ b/packages/core/src/runtime-integrity-log.ts @@ -0,0 +1,55 @@ +import { hasLowProcessIntegrity, type RuntimeIntegrity } from '@snowluma/bridge'; +import { createLogger } from '@snowluma/common/logger'; + +const log = createLogger('App'); +const LEVEL_NAMES: Record = { + 0: 'Untrusted', + 4096: 'Low', + 8192: 'Medium', + 8448: 'Medium Plus', + 12288: 'High', + 16384: 'System', + 20480: 'Protected Process', +}; + +function level(rid: number): string { + return `${LEVEL_NAMES[rid] ?? 'Unknown'} (RID=${rid})`; +} + +/** Called once by main(), never by WebUI polling or warning dismissal. */ +export function logRuntimeIntegrity(integrity: RuntimeIntegrity): void { + if (integrity.status === 'unsupported') { + return; + } + + if (integrity.status === 'unavailable') { + log.warn('Node integrity: unknown (%s)', integrity.error); + return; + } + + const token = integrity.process; + const file = integrity.file; + const tokenText = + token.status === 'ok' + ? level(token.rid) + : `unknown (${token.operation}, Win32=${token.code})`; + const fileText = + file.status === 'error' + ? `unknown (${file.operation}, Win32=${file.code})` + : file.label + ? `${level(file.label.rid)}, inherited=${file.label.inherited}, policy=${file.label.policy}` + : 'unlabeled'; + // "token=" is reserved for credentials by the shared log redactor. + const report = `Node integrity: pid=${integrity.pid}, process=${tokenText}; EXE=${fileText}`; + + if ( + token.status === 'error' || + file.status === 'error' || + hasLowProcessIntegrity(integrity) || + (file.label && file.label.rid < 8192) + ) { + log.warn(report); + } else { + log.info(report); + } +} diff --git a/packages/core/src/sys-face-catalog.ts b/packages/core/src/sys-face-catalog.ts new file mode 100644 index 00000000..89d35197 --- /dev/null +++ b/packages/core/src/sys-face-catalog.ts @@ -0,0 +1,44 @@ +import path from 'node:path'; +import { createLogger } from '@snowluma/common/logger'; +import { + SysFaceStore, + sysFaceStore, + type SysFaceCatalogStorage, +} from '@snowluma/protocol/sys-face-store'; +import { JsonSysFaceCatalogStorage } from '@snowluma/protocol/sys-face-storage'; +import type { BridgeSessionSource } from './bridge/bridge-interface'; + +const log = createLogger('SysFace'); + +export interface SystemFaceCatalogBindingOptions { + store?: SysFaceStore; + storage?: SysFaceCatalogStorage; + dataRoot?: string; +} + +/** Attach the shared system-face catalog to Bridge login edges. The first + * account restores + refreshes it; later accounts reuse the same result. */ +export function bindSystemFaceCatalog( + manager: BridgeSessionSource, + options: SystemFaceCatalogBindingOptions = {}, +): void { + const store = options.store ?? sysFaceStore; + const storage = + options.storage ?? + new JsonSysFaceCatalogStorage( + path.join(options.dataRoot ?? 'data', 'sys-face-catalog.json'), + ); + store.configureStorage(storage); + + manager.subscribeSessions({ + started: (uin, bridge) => { + void store.prewarm(bridge).catch((error) => { + log.error( + 'system face catalog login prewarm failed: uin=%s error=%s', + uin, + error instanceof Error ? (error.stack ?? error.message) : String(error), + ); + }); + }, + }); +} diff --git a/packages/core/src/update/check.ts b/packages/core/src/update/check.ts new file mode 100644 index 00000000..4f3b6d91 --- /dev/null +++ b/packages/core/src/update/check.ts @@ -0,0 +1,159 @@ +import { APP_VERSION } from '@snowluma/common/version'; +import { compareVersions, parseVersion } from '@snowluma/common/semver'; +import { createLogger } from '@snowluma/common/logger'; +import { createSingleFlightCache } from '@snowluma/common/single-flight-cache'; +import type { UpdateSourceConfig } from '@snowluma/common/update-source'; +import { fetchRelease } from './release'; +import { readUpdateSource } from './sources'; + +const log = createLogger('Update'); + +const CACHE_TTL_MS = 6 * 60 * 60 * 1000; // 6h — comfortably under the rate limit +const FETCH_TIMEOUT_MS = 8_000; +const NOTES_MAX = 4_000; // cap the release-body we hand back to the client + +export interface UpdateCheckResult { + /** The running build's version (no `v` prefix). */ + current: string; + /** Latest stable release version, or null when the check did not complete. */ + latest: string | null; + /** True only when `latest` is strictly newer than `current`. */ + hasUpdate: boolean; + /** GitHub release page URL for the latest release. */ + htmlUrl: string | null; + /** Release notes (markdown), truncated to {@link NOTES_MAX}. */ + notes: string | null; + /** ISO timestamp the latest release was published. */ + publishedAt: string | null; + /** When this result was produced (epoch ms). */ + checkedAt: number; + /** Set when the check was skipped or failed; the UI degrades silently. */ + error?: string; +} + +function isEnabled(): boolean { + const v = (process.env.SNOWLUMA_UPDATE_CHECK ?? '').trim().toLowerCase(); + return v !== '0' && v !== 'false' && v !== 'off' && v !== 'no'; +} + +// TTL + single-flight: cache good results for CACHE_TTL_MS (well under GitHub's +// 60 req/hr limit) and collapse concurrent checks onto one fetch. Error results +// are intentionally not cached (shouldCache) so the next check retries. +const updateCache = createSingleFlightCache({ + ttlMs: CACHE_TTL_MS, + shouldCache: (r) => !r.error, + load: async (key) => { + // This key is constructed below from our version and normalized settings. + const [current, source] = JSON.parse(key) as [string, UpdateSourceConfig]; + const result = await fetchLatest(current, source); + + if (result.error) { + log.debug('update check failed: %s', result.error); + } else if (result.hasUpdate) { + log.info('a newer release is available: v%s (running v%s)', result.latest, current); + } + + return result; + }, +}); + +async function fetchLatest( + current: string, + source: UpdateSourceConfig, +): Promise { + const base: UpdateCheckResult = { + current, + latest: null, + hasUpdate: false, + htmlUrl: null, + notes: null, + publishedAt: null, + checkedAt: Date.now(), + }; + + try { + // `/releases/latest` already excludes drafts and prereleases, so this is + // stable-channel by construction. + const { data: rel } = await fetchRelease( + undefined, + source, + `SnowLuma/${current}`, + FETCH_TIMEOUT_MS, + ); + + if (!rel || typeof rel !== 'object' || Array.isArray(rel)) { + return { ...base, error: 'invalid release info' }; + } + + const tag = + 'tag_name' in rel && typeof rel.tag_name === 'string' ? rel.tag_name.trim() : ''; + + if (!tag) { + return { ...base, error: 'no tag' }; + } + + const latest = tag.startsWith('v') ? tag.slice(1) : tag; + + if (!parseVersion(latest)) { + return { ...base, error: 'invalid release version' }; + } + + return { + current, + latest, + hasUpdate: compareVersions(latest, current) > 0, + htmlUrl: 'html_url' in rel && typeof rel.html_url === 'string' ? rel.html_url : null, + notes: + 'body' in rel && typeof rel.body === 'string' && rel.body + ? rel.body.slice(0, NOTES_MAX) + : null, + publishedAt: + 'published_at' in rel && typeof rel.published_at === 'string' + ? rel.published_at + : null, + checkedAt: Date.now(), + }; + } catch (e) { + return { ...base, error: e instanceof Error ? e.message : 'network error' }; + } +} + +/** + * Get the update-availability result. Cached for {@link CACHE_TTL_MS}; pass + * `force` to bypass the cache (the WebUI's "立即检查" button). Never throws — + * failures come back as a result with `error` set and `hasUpdate: false`, and + * are not cached so the next check retries. + */ +export async function getUpdateInfo( + force = false, + source?: UpdateSourceConfig, +): Promise { + const current = APP_VERSION; + + if (!isEnabled()) { + return { ...emptyResult(current), error: 'disabled' }; + } + + try { + return await updateCache.get(JSON.stringify([current, source ?? readUpdateSource()]), { + force, + }); + } catch (error) { + return { + ...emptyResult(current), + error: error instanceof Error ? error.message : String(error), + }; + } +} + +function emptyResult(current: string): UpdateCheckResult { + return { + current, + latest: null, + hasUpdate: false, + htmlUrl: null, + notes: null, + publishedAt: null, + checkedAt: Date.now(), + }; +} diff --git a/packages/core/src/update/download.ts b/packages/core/src/update/download.ts new file mode 100644 index 00000000..ecabd4ab --- /dev/null +++ b/packages/core/src/update/download.ts @@ -0,0 +1,236 @@ +import { createHash } from 'node:crypto'; +import { createWriteStream } from 'node:fs'; +import { mkdir, readFile, writeFile, rm } from 'node:fs/promises'; +import path from 'node:path'; +import { Readable, Transform } from 'node:stream'; +import { pipeline } from 'node:stream/promises'; +import { unzipSync } from 'fflate'; +import { x as extractTar } from 'tar'; +import { isRuntimeEntry, readManifest } from './files'; +import { assetName, fetchRelease } from './release'; +export { assetName } from './release'; +import { readUpdateSource, sourceUrls } from './sources'; +import type { UpdateSourceConfig } from '@snowluma/common/update-source'; + +interface ReleaseAsset { + url: string; + size: number | null; + digest: string; +} + +async function releaseAsset( + version: string, + target: string, + source: UpdateSourceConfig, +): Promise { + const name = assetName(version, target); + const { data: release, fromPage } = await fetchRelease(version, source); + + if ( + !release || + typeof release !== 'object' || + !('assets' in release) || + !Array.isArray(release.assets) + ) { + throw new Error('发布信息无效'); + } + + const asset: unknown = release.assets.find( + (item: unknown) => + item !== null && typeof item === 'object' && 'name' in item && item.name === name, + ); + const url = `https://github.com/SnowLuma/SnowLuma/releases/download/v${version}/${name}`; + + if ( + !asset || + typeof asset !== 'object' || + !('size' in asset) || + !( + (fromPage && asset.size === null) || + (typeof asset.size === 'number' && Number.isSafeInteger(asset.size) && asset.size > 0) + ) || + !('digest' in asset) || + typeof asset.digest !== 'string' || + !/^sha256:[a-f0-9]{64}$/.test(asset.digest) + ) { + throw new Error('更新包不存在或缺少校验信息'); + } + + return { url, size: asset.size, digest: asset.digest }; +} + +export function archivePath(name: string): string { + const normalized = name.replaceAll('\\', '/').replace(/^\.\//, '').replace(/\/$/, ''); + + if (normalized === '.' || normalized === '') { + return ''; + } + + const parts = normalized.split('/'); + + if ( + !isRuntimeEntry(parts[0]) || + parts.some((part) => !part || part === '.' || part === '..' || /[:\0]/.test(part)) + ) { + throw new Error(`更新包路径无效: ${name}`); + } + + return normalized; +} + +export async function downloadUpdate( + directory: string, + version: string, + target: string, + source = readUpdateSource(), +): Promise { + const asset = await releaseAsset(version, target, source); + const archive = path.join(directory, 'archive'); + const urls = sourceUrls(asset.url, source); + const failures: string[] = []; + + for (const [index, url] of urls.entries()) { + let created = false; + + try { + const headersTimeout = new AbortController(); + const timer = setTimeout(() => headersTimeout.abort(), 8_000); + let response: Response; + + try { + response = await fetch(url, { + signal: AbortSignal.any([ + headersTimeout.signal, + AbortSignal.timeout(10 * 60_000), + ]), + }); + } finally { + clearTimeout(timer); + } + + if (!response.ok || !response.body) { + await response.body?.cancel(); + throw new Error(`下载更新失败: HTTP ${response.status}`); + } + + if (/text\/html/i.test(response.headers.get('content-type') ?? '')) { + await response.body.cancel(); + throw new Error('下载源返回了 HTML 页面,而不是更新包'); + } + + const hash = createHash('sha256'); + const length = response.headers.get('content-length'); + const size = + asset.size ?? (length === null ? null : /^\d+$/.test(length) ? Number(length) : 0); + + if (size !== null && (!Number.isSafeInteger(size) || size <= 0)) { + await response.body.cancel(); + throw new Error('下载源返回了无效的更新包大小'); + } + + let received = 0; + const output = createWriteStream(archive, { flags: 'wx' }); + output.once('open', () => { + created = true; + }); + await pipeline( + Readable.fromWeb(response.body), + new Transform({ + transform(chunk: Buffer, _encoding, callback) { + received += chunk.length; + + if (received > (size ?? 256 * 1024 * 1024)) { + callback(new Error('更新包大小不匹配')); + return; + } + + hash.update(chunk); + callback(null, chunk); + }, + }), + output, + ); + + if ( + (size !== null && received !== size) || + `sha256:${hash.digest('hex')}` !== asset.digest + ) { + throw new Error('更新包校验失败'); + } + + break; + } catch (error) { + if (error && typeof error === 'object' && 'code' in error && error.code === 'EEXIST') { + throw error; + } + + failures.push(error instanceof Error ? error.message : String(error)); + + if (index === urls.length - 1) { + throw new Error([...new Set(failures)].join(';')); + } + + if (created) { + await rm(archive); + } + } + } + + const payload = path.join(directory, 'payload'); + await mkdir(payload); + + if (target.startsWith('win32')) { + const files = unzipSync(await readFile(archive), { + filter: (entry) => { + archivePath(entry.name); + return true; + }, + }); + + for (const [name, bytes] of Object.entries(files)) { + const relative = archivePath(name); + + if (!relative || name.endsWith('/')) { + continue; + } + + const destination = path.join(payload, relative); + await mkdir(path.dirname(destination), { recursive: true }); + await writeFile(destination, bytes, { flag: 'wx' }); + } + } else { + let invalidEntry: Error | undefined; + await extractTar({ + file: archive, + cwd: payload, + strict: true, + filter: (name, entry) => { + try { + archivePath(name); + + if ( + !('type' in entry) || + (entry.type !== 'File' && entry.type !== 'Directory') + ) { + throw new Error('更新包包含链接或特殊文件'); + } + + return true; + } catch (error) { + invalidEntry = error instanceof Error ? error : new Error(String(error)); + return false; + } + }, + }); + + if (invalidEntry) { + throw invalidEntry; + } + } + + const manifest = await readManifest(payload); + + if (manifest.version !== version || manifest.target !== target) { + throw new Error('更新包版本或平台不匹配'); + } +} diff --git a/packages/core/src/update/files.ts b/packages/core/src/update/files.ts new file mode 100644 index 00000000..4a5ebae9 --- /dev/null +++ b/packages/core/src/update/files.ts @@ -0,0 +1,273 @@ +import { access, cp, lstat, mkdir, readFile, rename, rm, writeFile } from 'node:fs/promises'; +import path from 'node:path'; +import { createHash } from 'node:crypto'; +import { constants, existsSync } from 'node:fs'; +import os from 'node:os'; +import { parseVersion } from '@snowluma/common/semver'; + +export const MANIFEST_FILE = 'release.json'; + +export async function updateDirectory(root: string, temporaryRoot = os.tmpdir()): Promise { + const local = path.join(root, 'tmp', 'update'); + + // A locally staged update must remain discoverable if system tmp becomes available again. + if (existsSync(local)) { + return local; + } + + const identity = createHash('sha256').update(path.resolve(root)).digest('hex').slice(0, 16); + const directory = path.join(temporaryRoot, `snowluma-update-${identity}`); + + try { + await mkdir(directory, { recursive: true }); + await access(directory, constants.W_OK); + return directory; + } catch (error) { + if ( + !(error instanceof Error) || + !('code' in error) || + !['EACCES', 'EPERM', 'EROFS'].includes(String(error.code)) + ) { + throw error; + } + + await mkdir(local, { recursive: true }); + return local; + } +} + +export interface ReleaseManifest { + version: string; + target: string; + entries: string[]; +} + +const runtimeEntries = new Set([ + 'native', + 'client', + 'package.json', + MANIFEST_FILE, + 'launcher.bat', + 'launcher.sh', + 'check-node-version.cjs', + 'EULA.md', + 'PRIVACY.md', +]); + +export function isRuntimeEntry(name: string): boolean { + return runtimeEntries.has(name) || /^[\w-]+\.mjs(?:\.map)?$/.test(name); +} + +function entryList(value: unknown): value is string[] { + return ( + Array.isArray(value) && + value.every((entry) => typeof entry === 'string' && isRuntimeEntry(entry)) && + new Set(value).size === value.length + ); +} + +export async function exists(file: string): Promise { + try { + await lstat(file); + return true; + } catch (error) { + if (error instanceof Error && 'code' in error && error.code === 'ENOENT') { + return false; + } + + throw error; + } +} + +export async function readManifest(root: string): Promise { + const value: unknown = JSON.parse(await readFile(path.join(root, MANIFEST_FILE), 'utf8')); + + if ( + !value || + typeof value !== 'object' || + !('version' in value) || + typeof value.version !== 'string' || + !parseVersion(value.version) || + !('target' in value) || + typeof value.target !== 'string' || + !/^(win32-x64|linux-(x64|arm64))$/.test(value.target) || + !('entries' in value) || + !entryList(value.entries) + ) { + throw new Error('更新包清单无效'); + } + + const entries = value.entries; + + if ( + ![ + 'index.mjs', + 'native', + 'client', + 'package.json', + MANIFEST_FILE, + 'check-node-version.cjs', + 'EULA.md', + 'PRIVACY.md', + value.target.startsWith('win32') ? 'launcher.bat' : 'launcher.sh', + ].every((entry) => entries.includes(entry)) + ) { + throw new Error('更新包清单无效'); + } + + return { version: value.version, target: value.target, entries: value.entries }; +} + +async function checkEntryTypes(root: string, entries: string[]): Promise { + for (const entry of entries) { + const stat = await lstat(path.join(root, entry)); + const directory = entry === 'native' || entry === 'client'; + + if (directory ? !stat.isDirectory() : !stat.isFile()) { + throw new Error(`更新包文件类型无效: ${entry}`); + } + } +} + +interface Transaction { + entries: string[]; + original: string[]; +} + +async function readTransaction(file: string): Promise { + const value: unknown = JSON.parse(await readFile(file, 'utf8')); + + if ( + !value || + typeof value !== 'object' || + !('entries' in value) || + !entryList(value.entries) || + !('original' in value) || + !entryList(value.original) + ) { + throw new Error('更新恢复记录无效'); + } + + const entries = value.entries; + + if (value.original.some((entry) => !entries.includes(entry))) { + throw new Error('更新恢复记录无效'); + } + + return { entries: value.entries, original: value.original }; +} + +async function restore(root: string, pending: string, transaction: Transaction): Promise { + for (const entry of transaction.entries) { + const backup = path.join(pending, 'backup', entry); + const destination = path.join(root, entry); + + if (transaction.original.includes(entry)) { + await replaceEntry(backup, destination, path.join(root, '.update-install')); + } else { + await rm(destination, { recursive: true, force: true }); + } + } + + await rm(path.join(pending, 'transaction.json')); +} + +async function replaceEntry(source: string, destination: string, temporary: string): Promise { + await rm(temporary, { recursive: true, force: true }); + await cp(source, temporary, { recursive: true }); + + // Files stay present until their replacement is ready, including the entry point. + if ((await lstat(source)).isDirectory()) { + await rm(destination, { recursive: true, force: true }); + } + + await rename(temporary, destination); +} + +// Called before loading native libraries, after the previous process has exited. +export async function applyPendingUpdate(root: string): Promise { + const directory = await updateDirectory(root); + const pending = path.join(directory, 'pending'); + const completed = path.join(directory, 'completed'); + await rm(completed, { recursive: true, force: true }); + await rm(path.join(directory, 'downloading'), { recursive: true, force: true }); + await rm(path.join(root, '.update-install'), { recursive: true, force: true }); + + if (!(await exists(pending))) { + await rm(directory, { recursive: true }); + return null; + } + + const journal = path.join(pending, 'transaction.json'); + + if (await exists(journal)) { + await restore(root, pending, await readTransaction(journal)); + } + + const payload = path.join(pending, 'payload'); + const next = await readManifest(payload); + const current = await readManifest(root); + + if (next.target !== current.target) { + throw new Error('更新包平台不匹配'); + } + + await checkEntryTypes(payload, next.entries); + const entries = [...new Set([...current.entries, ...next.entries])]; + const original: string[] = []; + + for (const entry of entries) { + if (await exists(path.join(root, entry))) { + if ((await lstat(path.join(root, entry))).isSymbolicLink()) { + throw new Error(`更新目标不能是符号链接: ${entry}`); + } + + original.push(entry); + } + } + + const transaction = { entries, original }; + const backup = path.join(pending, 'backup'); + await rm(backup, { recursive: true, force: true }); + await mkdir(backup); + + for (const entry of original) { + await cp(path.join(root, entry), path.join(backup, entry), { recursive: true }); + } + + await writeFile(`${journal}.tmp`, JSON.stringify(transaction)); + await rename(`${journal}.tmp`, journal); + + try { + for (const entry of next.entries) { + await replaceEntry( + path.join(payload, entry), + path.join(root, entry), + path.join(root, '.update-install'), + ); + } + + for (const entry of current.entries) { + if (!next.entries.includes(entry)) { + await rm(path.join(root, entry), { recursive: true, force: true }); + } + } + + // Renaming commits the transaction before cleanup, including across a crash. + await rename(pending, completed); + } catch (error) { + try { + await restore(root, pending, transaction); + } catch (restoreError) { + throw new AggregateError( + [error, restoreError], + '更新失败,恢复未完成;下次启动将继续恢复', + ); + } + + throw error; + } + + await rm(directory, { recursive: true }); + return next.version; +} diff --git a/packages/core/src/update/release.ts b/packages/core/src/update/release.ts new file mode 100644 index 00000000..5fe50242 --- /dev/null +++ b/packages/core/src/update/release.ts @@ -0,0 +1,196 @@ +import { parseVersion } from '@snowluma/common/semver'; +import type { UpdateSourceConfig } from '@snowluma/common/update-source'; +import { RELEASE_ROOT, sourceUrls } from './sources'; + +export function assetName(version: string, target: string): string { + const platform = target.replace('win32', 'win'); + return `SnowLuma-v${version}-${platform}-lite.${target.startsWith('win32') ? 'zip' : 'tar.gz'}`; +} + +async function readText(response: Response, limit: number): Promise { + if (!response.body) { + throw new Error('发布信息为空'); + } + + const reader = response.body.getReader(); + const chunks: Uint8Array[] = []; + let size = 0; + + try { + for (;;) { + const { value, done } = await reader.read(); + + if (done) { + break; + } + + size += value.length; + + if (size > limit) { + await reader.cancel(); + throw new Error('发布信息过大'); + } + + chunks.push(value); + } + } finally { + reader.releaseLock(); + } + + return Buffer.concat(chunks).toString('utf8'); +} + +function attribute(tag: string, name: string): string | undefined { + return new RegExp(`\\s${name}\\s*=\\s*(["'])(.*?)\\1`, 'i') + .exec(tag)?.[2] + .replaceAll('&', '&') + .replaceAll(''', "'") + .replaceAll('"', '"'); +} + +export function parseLatestReleasePage(html: string) { + const meta = html + .match(/]*>/gi) + ?.find((tag) => attribute(tag, 'property') === 'og:url'); + const canonical = meta && attribute(meta, 'content'); + + if (!canonical) { + throw new Error('发布页面缺少版本信息'); + } + + const url = new URL(canonical, 'https://github.com'); + const tag = /^\/SnowLuma\/SnowLuma\/releases\/tag\/([^/]+)$/.exec(url.pathname)?.[1]; + const decoded = tag && decodeURIComponent(tag); + const version = decoded?.startsWith('v') ? decoded.slice(1) : undefined; + const parsed = parseVersion(version); + + if (url.origin !== 'https://github.com' || !parsed || parsed.prerelease.length) { + throw new Error('发布页面不是 SnowLuma 正式版本'); + } + + return { tag_name: `v${parsed.raw}`, html_url: `${RELEASE_ROOT}/tag/v${parsed.raw}` }; +} + +/** Match the digest in the same asset row; never borrow a neighbouring asset's hash. */ +export function parseReleaseAssetsPage(html: string, version: string) { + const assets: { name: string; size: null; digest: string }[] = []; + const expected = ['win32-x64', 'linux-x64', 'linux-arm64'].map((target) => + assetName(version, target), + ); + + for (const row of html.match(/]*>[\s\S]*?<\/li>/gi) ?? []) { + const links = row.match(/]*>/gi) ?? []; + const name = expected.find((candidate) => + links.some((link) => { + const href = attribute(link, 'href'); + return ( + href === `/SnowLuma/SnowLuma/releases/download/v${version}/${candidate}` || + href === `${RELEASE_ROOT}/download/v${version}/${candidate}` + ); + }), + ); + + if (!name) { + continue; + } + + const digests = (row.match(/]*>/gi) ?? []) + .map((tag) => attribute(tag, 'value')) + .filter((value): value is string => + Boolean(value && /^sha256:[a-f0-9]{64}$/.test(value)), + ); + + if (digests.length !== 1 || assets.some((asset) => asset.name === name)) { + throw new Error('发布页面缺少唯一的文件校验信息'); + } + + // GitHub renders a rounded size in HTML. Verify the exact digest even + // when a proxy streams the asset without Content-Length. + assets.push({ name, size: null, digest: digests[0]! }); + } + + if (!assets.length) { + throw new Error('发布页面没有可验证的更新包'); + } + + return { tag_name: `v${version}`, assets }; +} + +export interface ReleaseResult { + data: unknown; + fromPage: boolean; +} + +export async function fetchRelease( + version: string | undefined, + source: UpdateSourceConfig, + userAgent = 'SnowLuma', + timeoutMs = 8_000, +): Promise { + const apiUrl = `https://api.github.com/repos/SnowLuma/SnowLuma/releases/${version ? `tags/v${version}` : 'latest'}`; + let primaryError: unknown; + + try { + const response = await fetch(apiUrl, { + headers: { + Accept: 'application/vnd.github+json', + 'User-Agent': userAgent, + 'X-GitHub-Api-Version': '2022-11-28', + }, + signal: AbortSignal.timeout(timeoutMs), + }); + + if (!response.ok) { + await response.body?.cancel(); + throw new Error(`GitHub ${response.status}`); + } + + return { + data: JSON.parse(await readText(response, 256 * 1024)) as unknown, + fromPage: false, + }; + } catch (error) { + primaryError = error; + } + + const originalUrl = version + ? `${RELEASE_ROOT}/expanded_assets/v${version}` + : `${RELEASE_ROOT}/latest`; + const controller = new AbortController(); + + try { + // Only a parsed release page can win. Fast errors and HTML interstitials + // cannot cancel a slower working source. + // Download proxies often only support assets. Always retain GitHub's + // release page for version/digest lookup, even with a pinned download mirror. + const urls = [...new Set([originalUrl, ...sourceUrls(originalUrl, source)])]; + const data = await Promise.any( + urls.map(async (url) => { + const response = await fetch(url, { + signal: AbortSignal.any([controller.signal, AbortSignal.timeout(timeoutMs)]), + }); + + if (!response.ok) { + await response.body?.cancel(); + throw new Error(`HTTP ${response.status}`); + } + + const html = await readText(response, 1024 * 1024); + return version + ? parseReleaseAssetsPage(html, version) + : parseLatestReleasePage(html); + }), + ); + return { data, fromPage: true }; + } catch (error) { + const failures = error instanceof AggregateError ? error.errors : [error]; + const details = [primaryError, ...failures] + .filter(Boolean) + .map((failure: unknown) => + failure instanceof Error ? failure.message : String(failure), + ); + throw new Error(`${[...new Set(details)].join(';')};请在更新来源中检测或指定可用镜像`); + } finally { + controller.abort(); + } +} diff --git a/packages/core/src/update/service.ts b/packages/core/src/update/service.ts new file mode 100644 index 00000000..de71e8cd --- /dev/null +++ b/packages/core/src/update/service.ts @@ -0,0 +1,99 @@ +import { existsSync } from 'node:fs'; +import { mkdir, rename, rm } from 'node:fs/promises'; +import path from 'node:path'; +import { createLogger } from '@snowluma/common/logger'; +import { parseVersion } from '@snowluma/common/semver'; +import { downloadUpdate } from './download'; +import { exists, MANIFEST_FILE, readManifest, updateDirectory } from './files'; + +const log = createLogger('Update'); + +export type UpdateState = + | { phase: 'unavailable'; message: string } + | { phase: 'idle' } + | { phase: 'downloading' | 'ready' | 'restarting'; version: string } + | { phase: 'error'; message: string }; + +export async function createUpdateService( + root: string | undefined, + current: string, + options: { download?: typeof downloadUpdate; isContainer?: boolean } = {}, +) { + const download = options.download ?? downloadUpdate; + let state: UpdateState; + let target = ''; + let staging = ''; + + if (!root || !existsSync(path.join(root, MANIFEST_FILE))) { + state = { phase: 'unavailable', message: '在线更新仅支持发行包' }; + } else if ( + options.isContainer ?? + (existsSync('/.dockerenv') || Boolean(process.env.container)) + ) { + state = { phase: 'unavailable', message: '请更新容器镜像' }; + } else { + const manifest = await readManifest(root); + target = manifest.target; + staging = await updateDirectory(root); + const pending = path.join(staging, 'pending', 'payload'); + state = (await exists(pending)) + ? { phase: 'ready', version: (await readManifest(pending)).version } + : { phase: 'idle' }; + } + + const prepare = async (version: string): Promise => { + const directory = path.join(staging, 'downloading'); + + try { + await rm(directory, { recursive: true, force: true }); + await mkdir(directory, { recursive: true }); + await download(directory, version, target); + await rm(path.join(directory, 'archive')); + await rename(directory, path.join(staging, 'pending')); + state = { phase: 'ready', version }; + log.info('v%s 已下载,重启后应用', version); + } catch (error) { + log.error('下载更新失败: %s', error); + let message = error instanceof Error ? error.message : String(error); + + try { + await rm(directory, { recursive: true, force: true }); + } catch (cleanupError) { + message += `;清理更新文件失败: ${String(cleanupError)}`; + log.error('清理更新文件失败: %s', cleanupError); + } + + state = { phase: 'error', message }; + } + }; + + return { + status: () => ({ current, ...state }), + start(version: unknown) { + if (state.phase !== 'idle' && state.phase !== 'error') { + throw new Error( + state.phase === 'unavailable' ? state.message : '更新正在进行或等待重启', + ); + } + + const parsed = parseVersion(version); + + if (!parsed || parsed.prerelease.length || parsed.compare(current) <= 0) { + throw new Error('请选择更新的正式版本'); + } + + state = { phase: 'downloading', version: parsed.raw }; + log.info('下载 v%s', parsed.raw); + void prepare(parsed.raw); + }, + restart() { + if (state.phase !== 'ready') { + throw new Error('更新包尚未就绪'); + } + + state = { phase: 'restarting', version: state.version }; + }, + }; +} + +export type UpdateService = Awaited>; diff --git a/packages/core/src/update/sources.ts b/packages/core/src/update/sources.ts new file mode 100644 index 00000000..20252fa1 --- /dev/null +++ b/packages/core/src/update/sources.ts @@ -0,0 +1,125 @@ +import { APP_VERSION } from '@snowluma/common/version'; +import { readRuntimeConfig, updateRuntimeConfig } from '@snowluma/common/runtime'; +import { + normalizeUpdateSourceConfig, + type UpdateSourceConfig, +} from '@snowluma/common/update-source'; + +export const RELEASE_ROOT = 'https://github.com/SnowLuma/SnowLuma/releases'; +export const DEFAULT_UPDATE_SOURCE: UpdateSourceConfig = { + mode: 'auto', + mirror: '', + mirrors: [ + 'https://ghfast.top', + 'https://ghproxy.net', + 'https://gh-proxy.com', + 'https://github.chenc.dev', + 'https://fastgit.cc', + 'https://gh.noki.icu', + 'https://cors.isteed.cc', + 'https://gh-proxy.org', + 'https://githubproxy.gohj99.site', + 'https://github.xxlab.tech', + ], +}; + +export function readUpdateSource(): UpdateSourceConfig { + return normalizeUpdateSourceConfig(readRuntimeConfig().updateSource ?? DEFAULT_UPDATE_SOURCE); +} + +export function saveUpdateSource(value: unknown): UpdateSourceConfig { + const config = normalizeUpdateSourceConfig(value); + updateRuntimeConfig({ updateSource: config }); + return config; +} + +export function sourceUrls(url: string, config: UpdateSourceConfig): string[] { + if (config.mode === 'direct') { + return [url]; + } + + if (config.mode === 'mirror') { + return [`${config.mirror}/${url}`]; + } + + return [url, ...config.mirrors.map((mirror) => `${mirror}/${url}`)]; +} + +export interface MirrorProbeResult { + mirror: string; + available: boolean; + latencyMs: number; + error?: string; +} + +export async function testUpdateSources(value: unknown): Promise { + const config = normalizeUpdateSourceConfig(value); + const mirrors = [ + ...new Set(['', ...config.mirrors, ...(config.mirror ? [config.mirror] : [])]), + ]; + const target = process.platform === 'win32' ? 'win-x64' : `linux-${process.arch}`; + const extension = process.platform === 'win32' ? 'zip' : 'tar.gz'; + const probeUrl = `${RELEASE_ROOT}/download/v${APP_VERSION}/SnowLuma-v${APP_VERSION}-${target}-lite.${extension}`; + const results = await Promise.all( + mirrors.map(async (mirror): Promise => { + const start = performance.now(); + + try { + const response = await fetch(mirror ? `${mirror}/${probeUrl}` : probeUrl, { + headers: { Range: 'bytes=0-3' }, + signal: AbortSignal.timeout(5_000), + }); + + if (!response.ok || !response.body) { + await response.body?.cancel(); + throw new Error(`HTTP ${response.status}`); + } + + if (/text\/html/i.test(response.headers.get('content-type') ?? '')) { + await response.body.cancel(); + throw new Error('返回了 HTML 页面,而不是更新包'); + } + + const reader = response.body.getReader(); + const prefix: number[] = []; + + try { + while (prefix.length < 4) { + const { value, done } = await reader.read(); + + if (done) { + break; + } + + prefix.push(...value.subarray(0, 4 - prefix.length)); + } + } finally { + await reader.cancel(); + reader.releaseLock(); + } + + const signature = extension === 'zip' ? [0x50, 0x4b, 0x03, 0x04] : [0x1f, 0x8b]; + + if (!signature.every((byte, index) => prefix[index] === byte)) { + throw new Error('返回内容不是有效的更新包'); + } + + return { + mirror, + available: true, + latencyMs: Math.round(performance.now() - start), + }; + } catch (error) { + return { + mirror, + available: false, + latencyMs: Math.round(performance.now() - start), + error: error instanceof Error ? error.message : String(error), + }; + } + }), + ); + return results.sort( + (a, b) => Number(b.available) - Number(a.available) || a.latencyMs - b.latencyMs, + ); +} diff --git a/packages/core/src/update/startup.ts b/packages/core/src/update/startup.ts new file mode 100644 index 00000000..11a3f8b8 --- /dev/null +++ b/packages/core/src/update/startup.ts @@ -0,0 +1,75 @@ +import { spawn } from 'node:child_process'; +import path from 'node:path'; +import { applyPendingUpdate } from './files'; + +export const RESTART_EXIT_CODE = 75; + +export async function runApplication(root: string): Promise { + let stopping = false; + let child: ReturnType | undefined; + + const requestShutdown = () => { + if (child?.connected) { + child.send('shutdown', (error) => { + if (error) { + console.error('[App] 发送退出请求失败:', error); + } + }); + } + }; + + for (const signal of ['SIGINT', 'SIGTERM'] as const) { + process.on(signal, () => { + stopping = true; + + if (process.platform === 'win32') { + requestShutdown(); + } else { + child?.kill(signal); + } + }); + } + + try { + do { + const version = await applyPendingUpdate(root); + + if (version) { + console.info(`[Update] 已更新至 v${version}`); + } + + if (stopping) { + break; + } + + const code = await new Promise((resolve, reject) => { + child = spawn( + process.execPath, + [...process.execArgv, path.join(root, 'index.mjs'), ...process.argv.slice(2)], + { + stdio: ['inherit', 'inherit', 'inherit', 'ipc'], + env: { ...process.env, SNOWLUMA_UPDATE_ROOT: root }, + }, + ); + child.once('error', reject); + child.on('message', (message) => { + if (message === 'ready' && stopping) { + requestShutdown(); + } + }); + child.once('exit', (exitCode, signal) => + resolve(exitCode ?? (signal === 'SIGINT' ? 130 : 143)), + ); + }); + child = undefined; + + if (code !== RESTART_EXIT_CODE || stopping) { + process.exitCode = code === RESTART_EXIT_CODE ? 0 : code; + break; + } + } while (!stopping); + } catch (error) { + console.error('[Update] 启动失败:', error); + process.exitCode = 1; + } +} diff --git a/packages/core/src/webui/auth.ts b/packages/core/src/webui/auth.ts new file mode 100644 index 00000000..165d0f11 --- /dev/null +++ b/packages/core/src/webui/auth.ts @@ -0,0 +1,419 @@ +import { createLogger } from '@snowluma/common/logger'; +import { randomBytes, scryptSync, timingSafeEqual } from 'crypto'; +import fs from 'fs'; +import path from 'path'; +import { + parseTotpStateLenient, + prepareTotpStateForRestore, + rewrapTotpSecret, + type TotpPersistedState, +} from './totp'; + +const log = createLogger('WebUI.Auth'); + +const CONFIG_DIR = 'config'; +const WEBUI_CONFIG_PATH = path.join(CONFIG_DIR, 'webui.json'); + +const SCRYPT_KEYLEN = 64; +const SCRYPT_N = 16384; // cost +const SCRYPT_R = 8; +const SCRYPT_P = 1; + +const DEV_PASSWORD = 'snowluma-dev'; + +export function isDevAuthMode(): boolean { + return process.env.SNOWLUMA_DEV_MODE === '1'; +} + +function envBootstrapPassword(): string | null { + const raw = process.env.SNOWLUMA_WEBUI_BOOTSTRAP_PASSWORD; + + if (!raw || typeof raw !== 'string') { + return null; + } + + if (raw.length < 8) { + return null; + } + + return raw; +} + +export interface WebuiAuthState { + passwordHash: string; // hex + passwordSalt: string; // hex + mustChangePassword: boolean; + generatedAt: string; + updatedAt: string; + totp?: TotpPersistedState; +} + +export interface PasswordRule { + id: string; + label: string; + test: (pwd: string) => boolean; +} + +export const PASSWORD_RULES: PasswordRule[] = [ + { id: 'length', label: '长度不少于 10 位', test: (p) => p.length >= 10 }, + { id: 'lower', label: '包含小写字母', test: (p) => /[a-z]/.test(p) }, + { id: 'upper', label: '包含大写字母', test: (p) => /[A-Z]/.test(p) }, + { id: 'special', label: '包含特殊符号 (!@#$%…)', test: (p) => /[^A-Za-z0-9\s]/.test(p) }, + { id: 'no-space', label: '不包含空格', test: (p) => !/\s/.test(p) && p.length > 0 }, +]; + +export function evaluatePasswordRules( + password: string, +): { id: string; label: string; ok: boolean }[] { + return PASSWORD_RULES.map((r) => ({ id: r.id, label: r.label, ok: r.test(password) })); +} + +export function isStrongPassword(password: string): boolean { + return PASSWORD_RULES.every((r) => r.test(password)); +} + +function hashPassword(password: string, salt: Buffer): Buffer { + return scryptSync(password, salt, SCRYPT_KEYLEN, { N: SCRYPT_N, r: SCRYPT_R, p: SCRYPT_P }); +} + +function ensureConfigDir(): void { + fs.mkdirSync(CONFIG_DIR, { recursive: true }); +} + +/** + * Validate credential state before it crosses a persistence boundary. + * + * The hash/salt lengths are part of the on-disk contract: accepting any hex + * string here only postpones failure until password verification, where the + * operator would be locked out after a restore. + */ +export function prepareWebuiAuthStateForRestore(value: unknown): WebuiAuthState { + if (!value || typeof value !== 'object' || Array.isArray(value)) { + throw new Error('credential state must be an object'); + } + + const v = value as Record; + + if (typeof v.passwordHash !== 'string' || !/^[0-9a-f]{128}$/i.test(v.passwordHash)) { + throw new Error('passwordHash must be exactly 128 hexadecimal characters'); + } + + if (typeof v.passwordSalt !== 'string' || !/^[0-9a-f]{32}$/i.test(v.passwordSalt)) { + throw new Error('passwordSalt must be exactly 32 hexadecimal characters'); + } + + if (typeof v.mustChangePassword !== 'boolean') { + throw new Error('mustChangePassword must be a boolean'); + } + + if (typeof v.generatedAt !== 'string' || !Number.isFinite(Date.parse(v.generatedAt))) { + throw new Error('generatedAt must be a valid timestamp'); + } + + if (typeof v.updatedAt !== 'string' || !Number.isFinite(Date.parse(v.updatedAt))) { + throw new Error('updatedAt must be a valid timestamp'); + } + + const allowed = new Set([ + 'passwordHash', + 'passwordSalt', + 'mustChangePassword', + 'generatedAt', + 'updatedAt', + 'totp', + ]); + const unknown = Object.keys(v).find((key) => !allowed.has(key)); + + if (unknown) { + throw new Error(`unknown field $.${unknown}`); + } + + const state: WebuiAuthState = { + passwordHash: v.passwordHash, + passwordSalt: v.passwordSalt, + mustChangePassword: v.mustChangePassword, + generatedAt: v.generatedAt, + updatedAt: v.updatedAt, + }; + + if (!Object.prototype.hasOwnProperty.call(v, 'totp') || v.totp === undefined) { + return state; + } + + state.totp = prepareTotpStateForRestore(v.totp); + return state; +} + +function parseLiveAuthState(value: unknown): WebuiAuthState | null { + if (!value || typeof value !== 'object' || Array.isArray(value)) { + return null; + } + + const v = value as Record; + const totpValue = v.totp; + const withoutTotp = { ...v }; + delete withoutTotp.totp; + + try { + const state = prepareWebuiAuthStateForRestore( + Object.prototype.hasOwnProperty.call(v, 'totp') ? withoutTotp : value, + ); + const totp = parseTotpStateLenient(totpValue); + + if (Object.prototype.hasOwnProperty.call(v, 'totp') && totpValue !== undefined && !totp) { + log.warn( + 'webui.json totp field is invalid and will be ignored; password credentials are unchanged', + ); + } + + if (totp) { + state.totp = totp; + } + + return state; + } catch { + return null; + } +} + +function generateInitialState(initialPassword: string): WebuiAuthState { + const salt = randomBytes(16); + const hash = hashPassword(initialPassword, salt); + const now = new Date().toISOString(); + return { + passwordHash: hash.toString('hex'), + passwordSalt: salt.toString('hex'), + mustChangePassword: true, + generatedAt: now, + updatedAt: now, + }; +} + +function backupCorruptConfig(): void { + try { + const dest = `${WEBUI_CONFIG_PATH}.bak.${Date.now()}`; + fs.renameSync(WEBUI_CONFIG_PATH, dest); + log.warn('previous webui.json moved to %s', dest); + } catch (err) { + log.warn( + 'failed to back up corrupt webui.json: %s', + err instanceof Error ? err.message : String(err), + ); + } +} + +function atomicWrite(state: WebuiAuthState): void { + ensureConfigDir(); + const tmp = WEBUI_CONFIG_PATH + '.tmp'; + fs.writeFileSync(tmp, JSON.stringify(state, null, 2), { encoding: 'utf8', mode: 0o600 }); + + try { + fs.chmodSync(tmp, 0o600); + } catch { + /* ignore */ + } + + fs.renameSync(tmp, WEBUI_CONFIG_PATH); +} + +export class WebuiAuth { + private state: WebuiAuthState; + private initialPlain: string | null; + private readonly devMode: boolean; + + private constructor(state: WebuiAuthState, initialPlain: string | null, devMode: boolean) { + this.state = state; + this.initialPlain = initialPlain; + this.devMode = devMode; + } + + static load(): WebuiAuth { + if (isDevAuthMode()) { + const salt = randomBytes(16); + const hash = hashPassword(DEV_PASSWORD, salt); + const now = new Date().toISOString(); + const state: WebuiAuthState = { + passwordHash: hash.toString('hex'), + passwordSalt: salt.toString('hex'), + mustChangePassword: false, + generatedAt: now, + updatedAt: now, + }; + return new WebuiAuth(state, null, true); + } + + ensureConfigDir(); + + if (fs.existsSync(WEBUI_CONFIG_PATH)) { + try { + const raw = fs.readFileSync(WEBUI_CONFIG_PATH, 'utf8'); + const parsed = JSON.parse(raw) as unknown; + const live = parseLiveAuthState(parsed); + + if (live) { + if (live.mustChangePassword) { + // Previous start generated a bootstrap password but the operator + // never completed the forced-change flow. The plaintext is gone + // (only the hash is on disk, and the log line from last run may + // be lost), so rotate to a fresh CSPRNG password they can see. + const initialPassword = randomBytes(8).toString('hex'); + const state = generateInitialState(initialPassword); + atomicWrite(state); + log.warn( + 'previous bootstrap password was never rotated; regenerated a new one', + ); + return new WebuiAuth(state, initialPassword, false); + } + + return new WebuiAuth(live, null, false); + } + + log.error('webui.json schema invalid; backing up and regenerating credentials'); + backupCorruptConfig(); + } catch (err) { + log.error( + 'webui.json is corrupt and will be regenerated; the previous file is backed up: %s', + err instanceof Error ? err.message : String(err), + ); + backupCorruptConfig(); + } + } + + const envPassword = envBootstrapPassword(); + + if (envPassword !== null) { + const salt = randomBytes(16); + const hash = hashPassword(envPassword, salt); + const now = new Date().toISOString(); + const state: WebuiAuthState = { + passwordHash: hash.toString('hex'), + passwordSalt: salt.toString('hex'), + mustChangePassword: false, + generatedAt: now, + updatedAt: now, + }; + atomicWrite(state); + log.info('webui credentials seeded from SNOWLUMA_WEBUI_BOOTSTRAP_PASSWORD'); + return new WebuiAuth(state, null, false); + } + + const initialPassword = randomBytes(8).toString('hex'); + const state = generateInitialState(initialPassword); + atomicWrite(state); + return new WebuiAuth(state, initialPassword, false); + } + + /** True when SNOWLUMA_DEV_MODE was active at load time. */ + isDevMode(): boolean { + return this.devMode; + } + + /** Fixed dev password (only meaningful when {@link isDevMode} is true). */ + static get devPassword(): string { + return DEV_PASSWORD; + } + + /** Returns the auto-generated initial password if this is a fresh install, else null. */ + takeInitialPassword(): string | null { + const p = this.initialPlain; + this.initialPlain = null; + return p; + } + + mustChangePassword(): boolean { + return this.state.mustChangePassword; + } + + verify(password: string): boolean { + if (typeof password !== 'string' || password.length === 0) { + return false; + } + + try { + const salt = Buffer.from(this.state.passwordSalt, 'hex'); + const expected = Buffer.from(this.state.passwordHash, 'hex'); + const got = hashPassword(password, salt); + + if (got.length !== expected.length) { + return false; + } + + return timingSafeEqual(got, expected); + } catch { + return false; + } + } + + setPassword(newPassword: string, currentPassword?: string): void { + if (this.devMode) { + throw new Error('开发模式 (SNOWLUMA_DEV_MODE=1) 已禁用密码修改'); + } + + if (!isStrongPassword(newPassword)) { + throw new Error('密码不符合强度要求'); + } + + let totp = this.state.totp; + + if (totp) { + if (typeof currentPassword !== 'string' || currentPassword.length === 0) { + throw new Error('修改密码需要当前密码以重新保护 2FA 密钥'); + } + + totp = rewrapTotpSecret(currentPassword, newPassword, totp); + } + + const salt = randomBytes(16); + const hash = hashPassword(newPassword, salt); + const next: WebuiAuthState = { + passwordHash: hash.toString('hex'), + passwordSalt: salt.toString('hex'), + mustChangePassword: false, + generatedAt: this.state.generatedAt, + updatedAt: new Date().toISOString(), + ...(totp ? { totp } : {}), + }; + atomicWrite(next); + this.state = next; + } + + totpEnabled(): boolean { + return this.state.totp !== undefined; + } + + totpStatus(): + { enabled: false } | { enabled: true; remainingRecoveryCodes: number; label: string } { + const totp = this.state.totp; + + if (!totp) { + return { enabled: false }; + } + + return { + enabled: true, + remainingRecoveryCodes: totp.recoveryCodeHashes.length, + label: totp.label, + }; + } + + totpState(): TotpPersistedState | undefined { + return this.state.totp; + } + + persistTotp(totp: TotpPersistedState | undefined): void { + if (this.devMode) { + throw new Error('开发模式 (SNOWLUMA_DEV_MODE=1) 已禁用 2FA'); + } + + const next: WebuiAuthState = { ...this.state, updatedAt: new Date().toISOString() }; + + if (totp) { + next.totp = totp; + } else { + delete next.totp; + } + + atomicWrite(next); + this.state = next; + } +} diff --git a/packages/core/src/webui/backup.ts b/packages/core/src/webui/backup.ts new file mode 100644 index 00000000..5a06f519 --- /dev/null +++ b/packages/core/src/webui/backup.ts @@ -0,0 +1,806 @@ +// WebUI config backup/restore (Wave A2). Format: a zero-dep JSON bundle +// { version, app, createdAt, files: { "": { encoding, data } } } +// over an explicit allowlist (never a whole-dir sweep) so a stray/unknown file +// can't leak and an import can't path-traverse. +// +// Credentials are gated by a toggle on both export and import. The credential +// set is: webui.json (password hash), key.pem (TLS private key), +// notifications.json (webhook URLs / SMTP passwords), AND every OneBot config +// (onebot.json + per-account onebot_.json) — those carry access tokens, so +// a no-credentials backup must NOT include them. +// cert.pem is public so it always travels. +// +// Pure functions here own bundle validation and semantic preflight. Filesystem +// transaction choreography lives in restore.ts. A non-empty restore remains +// restart-to-apply, like A1. + +import { normalizeRuntimeConfig } from '@snowluma/common/runtime'; +import { isRealUin } from '@snowluma/common/uin'; +import { normalizeGlobalSettings } from '@snowluma/onebot/global-config'; +import { prepareOneBotConfigForRestore } from '@snowluma/onebot/config'; +import { normalizeNotificationsConfig } from '../notifications/config'; +import { prepareWebuiAuthStateForRestore } from './auth'; +import { MAX_BACKGROUND_BYTES, normalizeStoredUiConfig, sniffImageMime } from './ui-config'; +import { isValidBindHost } from './listener-exposure'; +import { validateTlsPair } from './tls'; + +export const BACKUP_VERSION = 1; +export const BACKUP_APP = 'snowluma'; +export const MAX_BACKUP_DECODED_BYTES = 32 * 1024 * 1024; + +export interface BackupFileSpec { + /** Path relative to the config dir; also the bundle key. */ + name: string; + binary: boolean; + /** Sensitive (private key / password hash / access token) — credential-gated. */ + credential: boolean; +} + +/** Static allowlist. Per-account `onebot_.json` are matched by pattern. */ +export const BACKUP_FILES: readonly BackupFileSpec[] = [ + { name: 'runtime.json', binary: false, credential: false }, + { name: 'ui.json', binary: false, credential: false }, + { name: 'notifications.json', binary: false, credential: true }, + // Global all-accounts SnowLuma settings (rkey fallback servers, …). + { name: 'snowluma.json', binary: false, credential: false }, + { name: 'cert.pem', binary: false, credential: false }, + { name: 'ui-assets/background', binary: true, credential: false }, + { name: 'webui.json', binary: false, credential: true }, + { name: 'key.pem', binary: false, credential: true }, + // OneBot config carries the access token → credential. + { name: 'onebot.json', binary: false, credential: true }, +]; + +const SPEC_BY_NAME = new Map(BACKUP_FILES.map((f) => [f.name, f])); +const PER_UIN_ONEBOT = /^onebot_(\d+)\.json$/; + +function isPerUinOneBotName(name: string): boolean { + const match = PER_UIN_ONEBOT.exec(name); + return match !== null && isRealUin(match[1]); +} + +/** Resolve a file name (static or per-uin onebot pattern) to its spec, or null. */ +export function specFor(name: string): BackupFileSpec | null { + const s = SPEC_BY_NAME.get(name); + + if (s) { + return s; + } + + if (isPerUinOneBotName(name)) { + return { name, binary: false, credential: true }; + } + + return null; +} + +export interface BackupEntry { + encoding: 'utf8' | 'base64'; + data: string; +} +export interface Backup { + version: number; + app: string; + createdAt?: string; + files: Record; +} + +/** + * Assemble a bundle from the allowlist plus any per-account onebot files. + * `readFile` returns null for missing. + */ +export function buildBackup( + readFile: (name: string) => Buffer | null, + perUinOnebotNames: readonly string[], + opts: { includeCredentials: boolean }, + createdAt: string, +): Backup { + const files: Record = {}; + const all: BackupFileSpec[] = [ + ...BACKUP_FILES, + ...perUinOnebotNames + .filter(isPerUinOneBotName) + .map((n) => ({ name: n, binary: false, credential: true })), + ]; + + for (const spec of all) { + if (spec.credential && !opts.includeCredentials) { + continue; + } + + const buf = readFile(spec.name); + + if (!buf) { + continue; + } + + files[spec.name] = spec.binary + ? { encoding: 'base64', data: buf.toString('base64') } + : { encoding: 'utf8', data: buf.toString('utf8') }; + } + + return { version: BACKUP_VERSION, app: BACKUP_APP, createdAt, files }; +} + +function validateBackupEntries( + parsed: unknown, + skipEntryValidation: (spec: BackupFileSpec) => boolean, +): { ok: true; backup: Backup } | { ok: false; error: string } { + if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) { + return { ok: false, error: 'backup must be an object' }; + } + + const b = parsed as Record; + + if (b.app !== BACKUP_APP) { + return { ok: false, error: 'not a SnowLuma backup' }; + } + + if (b.version !== BACKUP_VERSION) { + return { ok: false, error: `unsupported backup version ${String(b.version)}` }; + } + + if (typeof b.files !== 'object' || b.files === null || Array.isArray(b.files)) { + return { ok: false, error: 'backup.files must be an object' }; + } + + const files = b.files as Record; + + for (const [name, entry] of Object.entries(files)) { + const spec = specFor(name); + + if (!spec) { + return { ok: false, error: `unknown file in backup: ${name}` }; + } + + if (skipEntryValidation(spec)) { + continue; + } + + if (typeof entry !== 'object' || entry === null) { + return { ok: false, error: `malformed entry: ${name}` }; + } + + const e = entry as Record; + + if (e.encoding !== 'utf8' && e.encoding !== 'base64') { + return { ok: false, error: `bad encoding for ${name}` }; + } + + if (typeof e.data !== 'string') { + return { ok: false, error: `bad data for ${name}` }; + } + } + + return { + ok: true, + backup: { + version: BACKUP_VERSION, + app: BACKUP_APP, + createdAt: typeof b.createdAt === 'string' ? b.createdAt : undefined, + files: files as Record, + }, + }; +} + +export interface PreparedRestoreFile { + name: string; + data: Buffer; + mode: 0o600 | 0o644; +} + +export interface RestoreMigration { + name: string; + fields: string[]; +} + +export interface PreparedRestorePlan { + restore: PreparedRestoreFile[]; + skipped: string[]; + migrated: RestoreMigration[]; +} + +export interface PrepareRestoreOptions { + restoreCredentials: boolean; + /** Read an existing live file for overlay-wide validation (TLS/UI). */ + readCurrent: (name: string) => Buffer | null; + /** Current per-account configs affected when onebot.json is replaced. */ + listCurrentOneBotNames?: () => string[]; +} + +export class RestorePreflightError extends Error { + readonly file: string; + + constructor(file: string, message: string, options?: { cause?: unknown }) { + super(`${file}: ${message}`, options); + this.name = 'RestorePreflightError'; + this.file = file; + } +} + +/** + * Validate every selected file semantically and materialize canonical bytes + * before the transaction is allowed to touch live configuration. + */ +export function prepareRestorePlan( + parsed: unknown, + opts: PrepareRestoreOptions, +): PreparedRestorePlan { + const checked = validateBackupEntries( + parsed, + (spec) => spec.credential && !opts.restoreCredentials, + ); + + if (!checked.ok) { + throw new RestorePreflightError('', checked.error); + } + + const restore: PreparedRestoreFile[] = []; + const skipped: string[] = []; + const migrated: RestoreMigration[] = []; + const selected: Array<{ name: string; data: Buffer; spec: BackupFileSpec }> = []; + let decodedBytes = 0; + + for (const [name, entry] of Object.entries(checked.backup.files)) { + const spec = specFor(name); + + if (!spec) { + throw new RestorePreflightError(name, 'file is not in the restore allowlist'); + } + + if (spec.credential && !opts.restoreCredentials) { + skipped.push(name); + continue; + } + + if (entry.encoding !== (spec.binary ? 'base64' : 'utf8')) { + throw new RestorePreflightError( + name, + `encoding must be ${spec.binary ? 'base64' : 'utf8'}`, + ); + } + + const decoded = decodeEntryStrict(name, entry); + decodedBytes += decoded.length; + + if (decodedBytes > MAX_BACKUP_DECODED_BYTES) { + throw new RestorePreflightError( + name, + `selected files exceed ${String(MAX_BACKUP_DECODED_BYTES)} decoded bytes`, + ); + } + + selected.push({ name, data: decoded, spec }); + } + + const selectedGlobal = selected.find((file) => file.name === 'onebot.json'); + const selectedPerUin = selected.filter((file) => isPerUinOneBotName(file.name)); + const selectedPerUinRaw = new Map( + selectedPerUin.map((file) => [file.name, parseJson(file.name, file.data)]), + ); + const perUinNeedsGlobal = [...selectedPerUinRaw.values()].some( + (raw) => !isPlainObject(raw) || raw.mode !== 'snapshot', + ); + let effectiveGlobalOneBot: unknown; + let preparedGlobalOneBot: ReturnType | null = null; + + if (selectedGlobal) { + if (!opts.listCurrentOneBotNames) { + throw new RestorePreflightError( + 'onebot.json', + 'current per-account config listing is required to validate the effective overlay', + ); + } + + const raw = parseJson(selectedGlobal.name, selectedGlobal.data); + preparedGlobalOneBot = prepareOneBotOrThrow(selectedGlobal.name, raw, 'global'); + effectiveGlobalOneBot = preparedGlobalOneBot.value; + } else if (perUinNeedsGlobal) { + const current = readCurrentForPreflight(opts, 'onebot.json'); + + if (current) { + const raw = parseJson('onebot.json', current); + effectiveGlobalOneBot = prepareOneBotOrThrow('onebot.json', raw, 'global').value; + } + } + + for (const { name, data, spec } of selected) { + let prepared: { data: Buffer; migratedFields: string[] }; + + if (name === 'onebot.json') { + const global = preparedGlobalOneBot!; + prepared = { data: serializeJson(global.value), migratedFields: global.migratedFields }; + } else if (isPerUinOneBotName(name)) { + const raw = selectedPerUinRaw.get(name); + const onebot = prepareOneBotOrThrow(name, raw, 'per-uin', effectiveGlobalOneBot); + prepared = { data: serializeJson(onebot.value), migratedFields: onebot.migratedFields }; + } else { + prepared = prepareFile(name, data); + } + + restore.push({ name, data: prepared.data, mode: spec.credential ? 0o600 : 0o644 }); + + if (prepared.migratedFields.length > 0) { + migrated.push({ name, fields: [...prepared.migratedFields].sort() }); + } + } + + if (selectedGlobal) { + const selectedNames = new Set(selected.map((file) => file.name)); + let currentNames: string[]; + + try { + currentNames = opts.listCurrentOneBotNames!(); + } catch (error) { + throw new RestorePreflightError( + 'onebot.json', + `failed to list current per-account configs: ${error instanceof Error ? error.message : String(error)}`, + { cause: error }, + ); + } + + for (const name of currentNames) { + if (!isPerUinOneBotName(name) || selectedNames.has(name)) { + continue; + } + + const current = readCurrentForPreflight(opts, name); + + if (!current) { + continue; + } + + const raw = parseJson(name, current); + prepareOneBotOrThrow(name, raw, 'per-uin', effectiveGlobalOneBot); + } + } + + validateEffectiveTls(restore, opts); + validateEffectiveUi(restore, opts); + return { restore, skipped, migrated }; +} + +function decodeEntryStrict(name: string, entry: BackupEntry): Buffer { + if (entry.encoding === 'utf8') { + return Buffer.from(entry.data, 'utf8'); + } + + if (!isCanonicalBase64(entry.data)) { + throw new RestorePreflightError(name, 'data is not canonical base64'); + } + + return Buffer.from(entry.data, 'base64'); +} + +function isCanonicalBase64(value: string): boolean { + if (value.length === 0) { + return true; + } + + if ( + value.length % 4 !== 0 || + !/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(value) + ) { + return false; + } + + return Buffer.from(value, 'base64').toString('base64') === value; +} + +function prepareFile(name: string, data: Buffer): { data: Buffer; migratedFields: string[] } { + try { + switch (name) { + case 'runtime.json': + return prepareRuntimeJson(name, data); + case 'ui.json': + return prepareNormalizedJson(name, data, normalizeStoredUiConfig); + case 'notifications.json': + return prepareNormalizedJson(name, data, normalizeNotificationsConfig); + case 'snowluma.json': + return prepareGlobalSettingsJson(name, data); + + case 'webui.json': { + const value = parseJson(name, data); + const canonical = prepareWebuiAuthStateForRestore(value); + return { data: serializeJson(canonical), migratedFields: [] }; + } + + case 'ui-assets/background': + if (data.length > MAX_BACKGROUND_BYTES) { + throw new Error(`image exceeds ${String(MAX_BACKGROUND_BYTES)} bytes`); + } + + if (!sniffImageMime(data)) { + throw new Error('image must be PNG, JPEG, or WebP'); + } + + return { data, migratedFields: [] }; + case 'cert.pem': + case 'key.pem': + if (!data.toString('utf8').trim()) { + throw new Error('PEM file must not be empty'); + } + + return { data, migratedFields: [] }; + default: + throw new Error('file is not in the restore allowlist'); + } + } catch (error) { + if (error instanceof RestorePreflightError) { + throw error; + } + + throw new RestorePreflightError( + name, + error instanceof Error ? error.message : String(error), + { + cause: error, + }, + ); + } +} + +function prepareOneBotOrThrow( + name: string, + value: unknown, + scope: 'global' | 'per-uin', + inheritedGlobal?: unknown, +): ReturnType { + try { + return prepareOneBotConfigForRestore(value, scope, inheritedGlobal); + } catch (error) { + throw new RestorePreflightError( + name, + error instanceof Error ? error.message : String(error), + { + cause: error, + }, + ); + } +} + +function readCurrentForPreflight(opts: PrepareRestoreOptions, name: string): Buffer | null { + try { + return opts.readCurrent(name); + } catch (error) { + throw new RestorePreflightError( + name, + `failed to read current file: ${error instanceof Error ? error.message : String(error)}`, + { cause: error }, + ); + } +} + +function parseJson(name: string, data: Buffer): unknown { + try { + return JSON.parse(data.toString('utf8')) as unknown; + } catch (error) { + // V8 may quote the offending input in SyntaxError.message. Some restored + // JSON files contain credentials, so expose only a fixed diagnostic while + // retaining the original exception as the in-process cause. + throw new RestorePreflightError(name, 'invalid JSON', { cause: error }); + } +} + +function prepareNormalizedJson( + name: string, + data: Buffer, + normalize: (value: unknown) => T, +): { + data: Buffer; + migratedFields: string[]; +} { + const raw = parseJson(name, data); + const canonical = normalize(raw); + const migratedFields: string[] = []; + assertNoLossyNormalization(name, raw, canonical, '$', migratedFields); + return { data: serializeJson(canonical), migratedFields }; +} + +function prepareRuntimeJson( + name: string, + data: Buffer, +): { + data: Buffer; + migratedFields: string[]; +} { + const prepared = prepareNormalizedJson(name, data, normalizeRuntimeConfig); + const runtime = JSON.parse(prepared.data.toString('utf8')) as ReturnType< + typeof normalizeRuntimeConfig + >; + + if (!runtime.webuiHost || !isValidBindHost(runtime.webuiHost)) { + throw new RestorePreflightError(name, '$.webuiHost is not a valid TCP bind host'); + } + + return prepared; +} + +function prepareGlobalSettingsJson( + name: string, + data: Buffer, +): { + data: Buffer; + migratedFields: string[]; +} { + const raw = parseJson(name, data); + const normalized = normalizeGlobalSettings(raw); + const canonical: Record = { rkey: normalized.rkey }; + + if (isPlainObject(raw) && Object.prototype.hasOwnProperty.call(raw, 'videoUploadConcurrency')) { + canonical.videoUploadConcurrency = normalized.videoUploadConcurrency; + } + + // Missing is the existing one-shot migration sentinel: startup scans legacy + // onebot*.json only until snowluma.json first carries this key. + if (isPlainObject(raw) && Object.prototype.hasOwnProperty.call(raw, 'musicSignUrl')) { + canonical.musicSignUrl = normalized.musicSignUrl; + } + + const migratedFields: string[] = []; + assertNoLossyNormalization(name, raw, canonical, '$', migratedFields); + return { data: serializeJson(canonical), migratedFields }; +} + +function assertNoLossyNormalization( + name: string, + raw: unknown, + canonical: unknown, + at: string, + additions: string[], +): void { + if (isPlainObject(raw)) { + if (!isPlainObject(canonical)) { + throw new RestorePreflightError(name, `${at} has an invalid type`); + } + + for (const [key, rawValue] of Object.entries(raw)) { + const child = `${at}.${key}`; + + if (!Object.prototype.hasOwnProperty.call(canonical, key)) { + throw new RestorePreflightError( + name, + `${child} is unsupported or would be discarded`, + ); + } + + assertNoLossyNormalization(name, rawValue, canonical[key], child, additions); + } + + for (const key of Object.keys(canonical)) { + if (!Object.prototype.hasOwnProperty.call(raw, key)) { + additions.push(`${at}.${key}`); + } + } + + return; + } + + if (Array.isArray(raw)) { + if (!Array.isArray(canonical) || raw.length !== canonical.length) { + throw new RestorePreflightError( + name, + `${at} contains an invalid, duplicate, or discarded item`, + ); + } + + raw.forEach((value, index) => { + assertNoLossyNormalization( + name, + value, + canonical[index], + `${at}[${String(index)}]`, + additions, + ); + }); + return; + } + + if (!Object.is(raw, canonical)) { + if (isKnownLosslessScalarCoercion(name, at, raw, canonical)) { + additions.push(at); + return; + } + + throw new RestorePreflightError(name, `${at} is invalid or would be changed`); + } +} + +function isKnownLosslessScalarCoercion( + name: string, + at: string, + raw: unknown, + canonical: unknown, +): boolean { + if (typeof raw === 'string' && typeof canonical === 'string' && raw.trim() === canonical) { + return true; + } + + if (typeof raw === 'string' && typeof canonical === 'number') { + const parsed = Number(raw.trim()); + return raw.trim().length > 0 && Number.isFinite(parsed) && Object.is(parsed, canonical); + } + + if ( + name === 'runtime.json' && + (at === '$.hookAutoLoad' || at === '$.webuiTls.enabled') && + typeof canonical === 'boolean' + ) { + if (raw === 1 || raw === 0) { + return canonical === (raw === 1); + } + + if (typeof raw !== 'string') { + return false; + } + + const token = raw.trim().toLowerCase(); + const truthy = new Set(['true', '1', 'yes', 'on']); + const falsy = new Set(['false', '0', 'no', 'off', '']); + return (canonical && truthy.has(token)) || (!canonical && falsy.has(token)); + } + + return false; +} + +function isPlainObject(value: unknown): value is Record { + return typeof value === 'object' && value !== null && !Array.isArray(value); +} + +function serializeJson(value: unknown): Buffer { + return Buffer.from(JSON.stringify(value, null, 2), 'utf8'); +} + +function validateEffectiveTls(restore: PreparedRestoreFile[], opts: PrepareRestoreOptions): void { + const byName = new Map(restore.map((file) => [file.name, file.data])); + const pairTouched = byName.has('cert.pem') || byName.has('key.pem'); + const tlsRelated = pairTouched || byName.has('runtime.json'); + + if (!tlsRelated) { + return; + } + + const readEffective = (name: string): Buffer | null => { + const prepared = byName.get(name); + + if (prepared) { + return prepared; + } + + try { + return opts.readCurrent(name); + } catch (error) { + throw new RestorePreflightError( + name, + `failed to read current file: ${error instanceof Error ? error.message : String(error)}`, + { cause: error }, + ); + } + }; + + const runtime = readEffective('runtime.json'); + let tlsEnabled = false; + + if (runtime) { + try { + tlsEnabled = + normalizeRuntimeConfig(JSON.parse(runtime.toString('utf8')) as unknown).webuiTls + ?.enabled === true; + } catch (error) { + throw new RestorePreflightError( + 'runtime.json', + 'effective runtime config is invalid JSON', + { + cause: error, + }, + ); + } + } + + if (!tlsEnabled && !pairTouched) { + return; + } + + const cert = readEffective('cert.pem'); + const key = readEffective('key.pem'); + + if (cert && key) { + const valid = validateTlsPair(cert, key); + + if (!valid.ok) { + throw new RestorePreflightError( + 'cert.pem + key.pem', + valid.reason ?? 'TLS pair is invalid', + ); + } + + return; + } + + if (tlsEnabled) { + throw new RestorePreflightError( + 'cert.pem + key.pem', + 'TLS is enabled but the effective certificate/private-key pair is incomplete', + ); + } +} + +function validateEffectiveUi(restore: PreparedRestoreFile[], opts: PrepareRestoreOptions): void { + const byName = new Map(restore.map((file) => [file.name, file.data])); + + if (!byName.has('ui.json') && !byName.has('ui-assets/background')) { + return; + } + + const readEffective = (name: string): Buffer | null => { + const prepared = byName.get(name); + + if (prepared) { + return prepared; + } + + try { + return opts.readCurrent(name); + } catch (error) { + throw new RestorePreflightError( + name, + `failed to read current file: ${error instanceof Error ? error.message : String(error)}`, + { cause: error }, + ); + } + }; + + const uiBytes = readEffective('ui.json'); + + if (!uiBytes) { + return; + } + + let ui; + + try { + ui = normalizeStoredUiConfig(JSON.parse(uiBytes.toString('utf8')) as unknown); + } catch (error) { + throw new RestorePreflightError('ui.json', 'effective UI config is invalid JSON', { + cause: error, + }); + } + + const background = ui.appearance.background; + + if (!background.hasImage) { + return; + } + + const image = readEffective('ui-assets/background'); + + if (!image) { + throw new RestorePreflightError( + 'ui.json + ui-assets/background', + 'background metadata says an image exists, but the effective image is missing', + ); + } + + if (image.length > MAX_BACKGROUND_BYTES) { + throw new RestorePreflightError( + 'ui.json + ui-assets/background', + `effective background exceeds ${String(MAX_BACKGROUND_BYTES)} bytes`, + ); + } + + const mime = sniffImageMime(image); + + if (!mime) { + throw new RestorePreflightError( + 'ui.json + ui-assets/background', + 'effective background is not PNG, JPEG, or WebP', + ); + } + + if (mime !== background.imageMime) { + throw new RestorePreflightError( + 'ui.json + ui-assets/background', + `background metadata MIME ${background.imageMime} does not match image bytes ${mime}`, + ); + } +} diff --git a/packages/core/src/webui/client-ip.ts b/packages/core/src/webui/client-ip.ts new file mode 100644 index 00000000..2d70b3ff --- /dev/null +++ b/packages/core/src/webui/client-ip.ts @@ -0,0 +1,132 @@ +import { getConnInfo } from '@hono/node-server/conninfo'; +import type { Context } from 'hono'; + +export type TrustProxyMode = + | { kind: 'none' } + | { kind: 'loopback' } + | { kind: 'all' } + | { kind: 'ip-list'; ips: Set }; + +export function parseTrustProxy(raw: string | undefined): TrustProxyMode { + const value = raw?.trim().toLowerCase() ?? ''; + + if (!value) { + return { kind: 'none' }; + } + + if (value === '1' || value === 'true' || value === 'all') { + return { kind: 'all' }; + } + + if (value === 'loopback') { + return { kind: 'loopback' }; + } + + const ips = new Set( + value + .split(',') + .map((s) => s.trim()) + .filter(Boolean), + ); + + if (ips.size === 0) { + return { kind: 'none' }; + } + + return { kind: 'ip-list', ips }; +} + +export function describeTrustProxy(mode: TrustProxyMode): string { + switch (mode.kind) { + case 'none': + return 'socket peer (default)'; + case 'all': + return 'X-Real-IP / X-Forwarded-For from any peer'; + case 'loopback': + return 'X-Real-IP / X-Forwarded-For when socket peer is loopback'; + case 'ip-list': + return `X-Real-IP / X-Forwarded-For when socket peer is in [${[...mode.ips].join(',')}]`; + } +} + +export function isLoopbackClientIp(ip: string): boolean { + const normalized = ip.trim().toLowerCase(); + + if (normalized === '::1' || normalized === '0:0:0:0:0:0:0:1') { + return true; + } + + if (normalized.startsWith('::ffff:')) { + return isLoopbackClientIp(normalized.slice('::ffff:'.length)); + } + + const octets = normalized.split('.'); + return ( + octets.length === 4 && + octets[0] === '127' && + octets.every((part) => /^\d{1,3}$/.test(part) && Number(part) <= 255) + ); +} + +function shouldTrustHeaders(mode: TrustProxyMode, socketIp: string): boolean { + switch (mode.kind) { + case 'none': + return false; + case 'all': + return true; + case 'loopback': + return isLoopbackClientIp(socketIp); + case 'ip-list': + return mode.ips.has(socketIp); + } +} + +export function pickClientIp( + c: Pick, + mode: TrustProxyMode, + getSocketIp: () => string, + fallbackIp = '127.0.0.1', +): string { + let socketIp: string; + + try { + socketIp = getSocketIp(); + } catch { + return fallbackIp; + } + + if (!socketIp) { + return fallbackIp; + } + + if (!shouldTrustHeaders(mode, socketIp)) { + return socketIp; + } + + const realIp = c.req.header('x-real-ip')?.trim(); + + if (realIp) { + return realIp; + } + + const xff = c.req.header('x-forwarded-for'); + + if (xff) { + const first = xff.split(',')[0].trim(); + + if (first) { + return first; + } + } + + return socketIp; +} + +/** Convenience binding for the live server: read socket via getConnInfo. */ +export function makeClientIpResolver( + mode: TrustProxyMode, + fallbackIp = '127.0.0.1', +): (c: Context) => string { + return (c) => + pickClientIp(c, mode, () => getConnInfo(c).remote.address ?? fallbackIp, fallbackIp); +} diff --git a/packages/core/src/webui/connection-diff-loop.ts b/packages/core/src/webui/connection-diff-loop.ts new file mode 100644 index 00000000..c713280e --- /dev/null +++ b/packages/core/src/webui/connection-diff-loop.ts @@ -0,0 +1,148 @@ +import { createLogger, runWithTraceRequest } from '@snowluma/common/logger'; +import { renderParamsVerbose } from '@snowluma/common/log-summary'; +import type { StateBus } from './state-bus'; + +const log = createLogger('WebUI.Connections'); + +export interface ConnectionDiffLoopOptions { + bus: StateBus; + /** Read the current adapter-status snapshot for every live UIN. */ + getSnapshot: () => unknown; + /** Optional projector — return the "comparable" subset of the snapshot. + * The full snapshot is what the SSE handler ships to the WebUI; this + * projection is what the diff loop compares between ticks. Use it to + * strip volatile fields (e.g. HH:MM:SS timestamps embedded in adapter + * `detail` strings) that would otherwise produce a publish every tick + * under any active webhook — defeating the loop's whole purpose. + * Default: identity. */ + pickComparable?: (snapshot: unknown) => unknown; + /** Poll cadence in milliseconds; default 500. */ + intervalMs?: number; +} + +/** One shared loop while clients subscribe; each subscription returns its release handle. */ +export function createConnectionPoller(opts: ConnectionDiffLoopOptions): () => () => void { + const intervalMs = opts.intervalMs ?? 500; + let lastSerialized: string | undefined | null = null; + let subscribers = 0; + let timer: ReturnType | null = null; + // One-shot diagnostic latch: a projector that starts throwing only after + // a shape regression would otherwise wedge the baseline silently — no + // publishes, no log, no symptom besides "the dashboard's connections + // card stops updating". Surface it ONCE so the failure is visible. + let warnedSnapshotThrew = false; + let warnedProjectorThrew = false; + + const tick = (): void => { + if (subscribers === 0) { + return; + } + + let snap: unknown; + + try { + snap = opts.getSnapshot(); + } catch (err) { + if (!warnedSnapshotThrew) { + warnedSnapshotThrew = true; + runWithTraceRequest(() => { + const startedAt = Date.now(); + log.trace('connection_diff_start phase=snapshot_read'); + log.trace( + 'connection_diff_terminal outcome=failed reason=snapshot_failed error=%j elapsedMs=%d', + err instanceof Error ? err.message : String(err), + Date.now() - startedAt, + ); + }); + } + + // Snapshot read failed (e.g. mid-shutdown). Skip this tick; the + // next one will retry. Don't reset the baseline so we don't + // spuriously republish when the snapshot starts working again. + return; + } + + let comparable: unknown; + + try { + comparable = opts.pickComparable ? opts.pickComparable(snap) : snap; + } catch (err) { + // A buggy projector must not crash the diff loop or wedge baseline. + // But silent wedge is its own bug class — log the FIRST occurrence + // so an operator can find it without re-running the loop locally. + if (!warnedProjectorThrew) { + warnedProjectorThrew = true; + log.error( + 'connection snapshot projector failed; updates may be stale: %s', + err instanceof Error ? err.message : String(err), + ); + runWithTraceRequest(() => { + const startedAt = Date.now(); + log.trace(() => [ + 'connection_diff_start phase=project snapshot=%s', + renderParamsVerbose(snap), + ]); + log.trace( + 'connection_diff_terminal outcome=failed reason=projector_failed error=%j elapsedMs=%d', + err instanceof Error ? err.message : String(err), + Date.now() - startedAt, + ); + }); + } + + return; + } + + const serialized = JSON.stringify(comparable); + + if (lastSerialized === null) { + // First successful observation. The SSE handler's sendAllInitial + // already shipped a `connections` frame to every connected client + // on connect, so the baseline is what they already have — emitting + // it again would be a duplicate. Just store it. + lastSerialized = serialized; + return; + } + + if (serialized === lastSerialized) { + return; + } + + lastSerialized = serialized; + runWithTraceRequest(() => { + const startedAt = Date.now(); + log.trace(() => ['connection_diff_start snapshot=%s', renderParamsVerbose(snap)]); + log.trace('connection_diff_branch branch=publish resource=connections'); + opts.bus.publish('connections'); + log.trace( + 'connection_diff_terminal outcome=completed reason=published elapsedMs=%d', + Date.now() - startedAt, + ); + }); + }; + + return () => { + if (subscribers++ === 0) { + lastSerialized = null; + tick(); + timer = setInterval(tick, intervalMs); + timer.unref(); + } + + let subscribed = true; + + return () => { + if (!subscribed) { + return; + } + + subscribed = false; + + if (--subscribers === 0 && timer !== null) { + clearInterval(timer); + timer = null; + lastSerialized = null; + } + }; + }; +} diff --git a/packages/core/src/webui/connection-snapshot.ts b/packages/core/src/webui/connection-snapshot.ts new file mode 100644 index 00000000..c824ad08 --- /dev/null +++ b/packages/core/src/webui/connection-snapshot.ts @@ -0,0 +1,31 @@ +import type { AccountConnections } from '@snowluma/onebot/manager'; + +export function comparableConnectionSnapshot(snapshot: unknown): unknown { + if (!Array.isArray(snapshot)) { + return snapshot; + } + + return (snapshot as AccountConnections[]).map((account) => ({ + uin: account.uin, + nickname: account.nickname, + adapters: Array.isArray(account.adapters) + ? account.adapters.map((adapter) => ({ + name: adapter.name, + kind: adapter.kind, + status: adapter.status, + lastErrorAt: adapter.lastErrorAt, + })) + : [], + databaseMigration: account.databaseMigration + ? { + phase: account.databaseMigration.phase, + usable: account.databaseMigration.usable, + processed: account.databaseMigration.processed, + total: account.databaseMigration.total, + progress: account.databaseMigration.progress, + estimatedRemainingSeconds: account.databaseMigration.estimatedRemainingSeconds, + error: account.databaseMigration.error, + } + : undefined, + })); +} diff --git a/packages/core/src/webui/consent.ts b/packages/core/src/webui/consent.ts new file mode 100644 index 00000000..222ecf07 --- /dev/null +++ b/packages/core/src/webui/consent.ts @@ -0,0 +1,274 @@ +import { createLogger } from '@snowluma/common/logger'; +import { createHash } from 'crypto'; +import fs from 'fs'; +import path from 'path'; +import { fileURLToPath } from 'url'; + +const log = createLogger('WebUI.Consent'); +const __dirname = path.dirname(fileURLToPath(import.meta.url)); + +const CONFIG_DIR = 'config'; +const CONSENT_CONFIG_PATH = path.join(CONFIG_DIR, 'consent.json'); + +// The two legal documents shown at the consent gate. Source of truth is the +// repo-root markdown; the build copies them next to the bundle (dist/) so the +// same lookup works in a packaged deploy. See vite.config.ts cp targets. +const AGREEMENT_FILES = [ + { id: 'eula' as const, file: 'EULA.md' }, + { id: 'privacy' as const, file: 'PRIVACY.md' }, +]; + +export const EULA_ACCEPT_ENV = 'SNOWLUMA_ACCEPT_EULA'; +export const PRIVACY_ACCEPT_ENV = 'SNOWLUMA_ACCEPT_PRIVACY'; + +type ConsentEnvironment = Readonly>; + +export interface EnvironmentConsent { + eulaAccepted: boolean; + privacyAccepted: boolean; + /** Both documents must be accepted; a partial opt-in never unlocks the gate. */ + accepted: boolean; +} + +export interface AgreementDoc { + id: 'eula' | 'privacy'; + /** First markdown `# ` heading, for the tab/section title. */ + title: string; + /** Declared "Version: x" from the doc — display only, NOT the consent key. */ + declaredVersion: string; + /** Declared effective date (YYYY-MM-DD) — display only. */ + effectiveDate: string; + /** Full markdown body the frontend renders. */ + text: string; +} + +export interface ConsentRecord { + /** The content-hash agreements version that was accepted. */ + version: string; + /** ISO timestamp of acceptance. */ + acceptedAt: string; +} + +export interface AgreementsPayload { + /** Content-hash version of the current agreement set. */ + version: string; + /** + * True when the operator must (re-)accept: the agreements carry real text, + * environment consent is incomplete, AND the stored consent version differs + * from the current one. A missing or unreadable agreement set fails OPEN (no + * gate) so a broken bundle can never lock the admin out of their own panel. + */ + consentRequired: boolean; + documents: AgreementDoc[]; +} + +function parseEnvironmentAcceptance(name: string, raw: string | undefined): boolean { + if (raw === undefined || raw.trim() === '') { + return false; + } + + const normalized = raw.trim().toLowerCase(); + + if (normalized === '1' || normalized === 'true') { + return true; + } + + if (normalized === '0' || normalized === 'false') { + return false; + } + + throw new Error(`${name} must be one of: 1, true, 0, false; received ${JSON.stringify(raw)}`); +} + +/** + * Resolve declarative consent for unattended deployments. Environment consent + * is intentionally ephemeral: removing either variable restores the normal + * versioned consent gate instead of silently writing a permanent record. + */ +export function resolveEnvironmentConsent( + env: ConsentEnvironment = process.env, +): EnvironmentConsent { + const eulaAccepted = parseEnvironmentAcceptance(EULA_ACCEPT_ENV, env[EULA_ACCEPT_ENV]); + const privacyAccepted = parseEnvironmentAcceptance(PRIVACY_ACCEPT_ENV, env[PRIVACY_ACCEPT_ENV]); + return { + eulaAccepted, + privacyAccepted, + accepted: eulaAccepted && privacyAccepted, + }; +} + +// ── Agreement loading (pure-ish; file read + parse, cached) ───────────────── + +/** + * Resolve an agreement file across the dev and packaged layouts. In dev the + * server runs from source (`__dirname` = packages/core/src/webui); in a build + * it is the single bundled dist/index.mjs (`__dirname` = dist/) with the docs + * copied alongside. cwd is not reliable (dev cwd = packages/core, prod = repo + * root or dist/), so we probe a handful of candidates and take the first hit. + */ +function resolveAgreementFile(file: string): string | null { + const candidates = [ + path.join(__dirname, file), // packaged: dist/ + path.resolve(__dirname, '..', '..', '..', '..', file), // dev tsx: repoRoot/ + path.resolve(process.cwd(), file), // started from repo root + path.resolve(process.cwd(), '..', '..', file), // dev cwd = packages/core + ]; + + for (const candidate of candidates) { + try { + if (fs.existsSync(candidate)) { + return candidate; + } + } catch { + /* unreadable candidate, try next */ + } + } + + return null; +} + +/** Extract title / declared version / effective date from a doc body. */ +export function parseAgreementMeta(text: string): { + title: string; + declaredVersion: string; + effectiveDate: string; +} { + const title = text.match(/^#\s+(.+?)\s*$/m)?.[1]?.trim() ?? ''; + // Matches both "Version: 1.0" / "版本 / Version:** 1.0" style lines. + const declaredVersion = + text.match(/(?:Version|版本)[^\n0-9]*([0-9][0-9A-Za-z.-]*)/)?.[1]?.trim() ?? ''; + const effectiveDate = + text.match(/(?:Effective date|生效日期)[^\n0-9]*(\d{4}-\d{2}-\d{2})/)?.[1] ?? ''; + return { title, declaredVersion, effectiveDate }; +} + +/** + * Canonical agreements version = short sha256 over each doc's id + body. + * Deliberately content-derived, NOT app-version-derived: it stays stable when + * only the app is upgraded (so a one-time consent survives across versions), + * and changes the moment any agreement's TEXT changes (forcing re-consent). + */ +export function computeAgreementsVersion(docs: { id: string; text: string }[]): string { + const hash = createHash('sha256'); + + for (const doc of docs) { + hash.update(doc.id); + hash.update('\0'); + hash.update(doc.text); + hash.update('\0'); + } + + return hash.digest('hex').slice(0, 16); +} + +let cache: { docs: AgreementDoc[]; version: string } | null = null; + +/** Load + parse both agreements and compute the version. Cached per process. */ +export function loadAgreements(): { docs: AgreementDoc[]; version: string } { + if (cache) { + return cache; + } + + const docs: AgreementDoc[] = AGREEMENT_FILES.map(({ id, file }) => { + const resolved = resolveAgreementFile(file); + let text = ''; + + if (resolved) { + try { + text = fs.readFileSync(resolved, 'utf8'); + } catch (err) { + log.warn( + 'failed to read %s: %s', + file, + err instanceof Error ? err.message : String(err), + ); + } + } else { + log.warn( + 'agreement file not found (looked for %s near the bundle and repo root)', + file, + ); + } + + const meta = parseAgreementMeta(text); + return { + id, + title: meta.title, + declaredVersion: meta.declaredVersion, + effectiveDate: meta.effectiveDate, + text, + }; + }); + cache = { docs, version: computeAgreementsVersion(docs) }; + return cache; +} + +// ── Consent persistence (config/consent.json, atomic) ─────────────────────── + +function ensureConfigDir(): void { + fs.mkdirSync(CONFIG_DIR, { recursive: true }); +} + +function isConsentRecord(value: unknown): value is ConsentRecord { + if (!value || typeof value !== 'object') { + return false; + } + + const v = value as Record; + return ( + typeof v.version === 'string' && v.version.length > 0 && typeof v.acceptedAt === 'string' + ); +} + +export function loadConsentRecord(): ConsentRecord | null { + try { + if (!fs.existsSync(CONSENT_CONFIG_PATH)) { + return null; + } + + const parsed = JSON.parse(fs.readFileSync(CONSENT_CONFIG_PATH, 'utf8')) as unknown; + return isConsentRecord(parsed) ? parsed : null; + } catch (err) { + log.warn( + 'consent.json unreadable, treating as no consent: %s', + err instanceof Error ? err.message : String(err), + ); + return null; + } +} + +function atomicWrite(record: ConsentRecord): void { + ensureConfigDir(); + const tmp = CONSENT_CONFIG_PATH + '.tmp'; + fs.writeFileSync(tmp, JSON.stringify(record, null, 2), { encoding: 'utf8' }); + fs.renameSync(tmp, CONSENT_CONFIG_PATH); +} + +/** Persist that the operator accepted `version`. Returns the stored record. */ +export function recordConsent(version: string): ConsentRecord { + const record: ConsentRecord = { version, acceptedAt: new Date().toISOString() }; + atomicWrite(record); + return record; +} + +/** True when neither environment nor stored consent covers the current agreements. */ +export function isConsentRequired(env: ConsentEnvironment = process.env): boolean { + if (resolveEnvironmentConsent(env).accepted) { + return false; + } + + const { docs, version } = loadAgreements(); + const hasContent = docs.some((d) => d.text.trim().length > 0); + + if (!hasContent) { + return false; + } // fail open: never brick the panel on a broken bundle + + return loadConsentRecord()?.version !== version; +} + +/** Public payload for GET /api/agreements (texts + version + consentRequired). */ +export function getAgreementsPayload(): AgreementsPayload { + const { docs, version } = loadAgreements(); + return { version, consentRequired: isConsentRequired(), documents: docs }; +} diff --git a/packages/core/src/webui/debug-stream.ts b/packages/core/src/webui/debug-stream.ts new file mode 100644 index 00000000..9d2450d2 --- /dev/null +++ b/packages/core/src/webui/debug-stream.ts @@ -0,0 +1,37 @@ +// SSE frame pusher for the debug stream (Wave A3). Drops frames under +// backpressure (consumer slow → desiredSize <= 0) instead of buffering +// unbounded into memory, and coalesces the drop count into a {kind:'dropped'} +// marker emitted just before the next delivered frame. Extracted from the route +// handler so this (easy-to-get-wrong) logic is unit-tested. + +export interface FramePusherOptions { + /** The stream controller's current desiredSize (null = no backpressure info). */ + desiredSize: () => number | null; + /** Deliver an encoded SSE chunk (the caller maps this to the controller). */ + enqueue: (chunk: Uint8Array) => void; + encode?: (s: string) => Uint8Array; +} + +/** Returns a `push(payload)` that frames + delivers with backpressure dropping. */ +export function createFramePusher(opts: FramePusherOptions): (payload: unknown) => void { + const encode = opts.encode ?? ((s: string) => new TextEncoder().encode(s)); + let dropped = 0; + + return (payload: unknown): void => { + const d = opts.desiredSize(); + + if (d !== null && d <= 0) { + dropped += 1; + return; + } + + if (dropped > 0) { + opts.enqueue( + encode(`data: ${JSON.stringify({ kind: 'dropped', count: dropped })}\n\n`), + ); + dropped = 0; + } + + opts.enqueue(encode(`data: ${JSON.stringify(payload)}\n\n`)); + }; +} diff --git a/packages/core/src/webui/debug-tools.ts b/packages/core/src/webui/debug-tools.ts new file mode 100644 index 00000000..1abe50d0 --- /dev/null +++ b/packages/core/src/webui/debug-tools.ts @@ -0,0 +1,246 @@ +// debug-tools — backend for the debug console's two heavier endpoints +// (Phase 2 of the debug-console expansion): +// +// • POST /api/debug/invoke-stream — drive a Stream API action and relay every +// frame to the browser over an SSE body. Unlike the live-activity stream +// (debug-stream.ts), this MUST NOT drop frames: a file transfer that loses a +// chunk is corrupt. So backpressure is handled by *waiting* for the consumer +// to drain, never by dropping. +// • POST /api/debug/upload — stream a browser-selected file to a temp path on +// the SERVER (the bot runs on the server, not the user's machine), so the +// returned path can be fed to a send action. Streamed straight to disk with a +// byte cap — never buffered whole, so large videos don't blow up memory. +// +// The pure pieces live here (path sanitisation, the size-capped disk sink, the +// stream-invoke Response builder) so they are unit-testable away from Hono. + +import { createWriteStream } from 'fs'; +import { mkdir, readdir, rm, stat } from 'fs/promises'; +import os from 'os'; +import path from 'path'; +import { randomBytes } from 'crypto'; +import { traceWebuiMutationRequestChunk } from './mutation-trace'; +import { sseResponse } from './sse-response'; + +/** Temp dir for browser→server uploads. Siblings the Stream API's temp root but + * kept distinct so the two cleanup stories don't entangle. */ +export const DEBUG_UPLOAD_DIR = path.join(os.tmpdir(), 'webui-upload'); + +/** Hard ceiling on a single upload. Mirrors the Stream API's upload cap. */ +export const MAX_UPLOAD_BYTES = 4 * 1024 * 1024 * 1024; // 4 GiB + +/** Uploads older than this are swept on the next upload (best-effort). */ +const UPLOAD_TTL_MS = 24 * 60 * 60 * 1000; + +/** Reduce a client-supplied filename to a safe basename (extension preserved), + * with no path separators or traversal. The client path is NEVER trusted for + * placement — this is only used to keep the stored name human-readable. */ +export function safeUploadName(raw: string | undefined): string { + // Treat both separators as path delimiters, then take the basename so any + // `../` / absolute prefix is discarded regardless of host platform. + const base = path.basename(String(raw ?? '').replace(/\\/g, '/')); + const cleaned = base + .replace(/[^\w.-]+/g, '_') // collapse anything exotic to underscore + .replace(/^\.+/, '') // no leading dots (no hidden / '..' names) + .slice(0, 120); + return cleaned || 'file'; +} + +/** Unguessable destination path under DEBUG_UPLOAD_DIR for a sanitised name. + * Throws if the composed path would escape the dir (defence in depth — it + * can't, given the random id + basename, but we assert anyway). */ +export function uploadDestPath(safeName: string): string { + const id = randomBytes(12).toString('hex'); + const dest = path.join(DEBUG_UPLOAD_DIR, `${id}__${safeName}`); + const rel = path.relative(DEBUG_UPLOAD_DIR, dest); + + if (rel === '' || rel.startsWith('..') || path.isAbsolute(rel)) { + throw new Error('invalid upload path'); + } + + return dest; +} + +/** Stream raw request-body bytes to a temp file under DEBUG_UPLOAD_DIR, enforcing + * a byte cap. Returns the final server path + byte size. On overflow or any + * error the partial file is removed and the call rejects. Never buffers the + * whole body. */ +export async function streamUploadToDisk( + body: ReadableStream | null, + filename: string | undefined, + opts: { maxBytes?: number } = {}, +): Promise<{ path: string; size: number }> { + if (!body) { + throw new Error('empty body'); + } + + const maxBytes = opts.maxBytes ?? MAX_UPLOAD_BYTES; + await mkdir(DEBUG_UPLOAD_DIR, { recursive: true }); + void sweepOldUploads(); // fire-and-forget TTL cleanup + + const dest = uploadDestPath(safeUploadName(filename)); + const out = createWriteStream(dest, { mode: 0o600 }); + // A WriteStream emits 'error' ASYNCHRONOUSLY (ENOSPC / EIO / quota) during a + // background flush — typically while we're parked at reader.read() or waiting + // on 'drain'. An unhandled 'error' event would crash the whole process, and a + // backpressured error would leave 'drain' to never fire (a forever-hung await + // + leaked fd). So turn it into a rejection and race it into every await; the + // catch below then destroys + unlinks the partial. + const errored = new Promise((_, rej) => out.once('error', rej)); + errored.catch(() => { + /* swallow a late error after success (still raced below) */ + }); + let size = 0; + + try { + const reader = body.getReader(); + + for (;;) { + const { done, value } = await Promise.race([errored, reader.read()]); + + if (done) { + break; + } + + if (!value || value.byteLength === 0) { + continue; + } + + const offset = size; + size += value.byteLength; + traceWebuiMutationRequestChunk(value, offset); + + if (size > maxBytes) { + throw new Error('上传超出大小上限'); + } + + // Respect the write stream's backpressure (but never hang on an error). + if (!out.write(value)) { + await Promise.race([errored, new Promise((res) => out.once('drain', res))]); + } + } + + await Promise.race([ + errored, + new Promise((res, rej) => + out.end((err?: Error | null) => (err ? rej(err) : res())), + ), + ]); + + if (size === 0) { + throw new Error('empty body'); + } + + return { path: dest, size }; + } catch (err) { + // Wait for the stream to fully close BEFORE unlinking: createWriteStream + // opens the fd asynchronously, so a fast failure can reach `rm` before the + // file even exists on disk — then the late open would re-create it and leak + // the partial. 'close' guarantees the fd is settled and no more writes land. + out.destroy(); + + if (!out.closed) { + await new Promise((res) => out.once('close', () => res())); + } + + await rm(dest, { force: true }).catch(() => { + /* best-effort */ + }); + throw err; + } +} + +/** Remove upload temp files older than the TTL. Best-effort; never throws. */ +export async function sweepOldUploads(now: number = Date.now()): Promise { + let removed = 0; + + try { + const names = await readdir(DEBUG_UPLOAD_DIR); + await Promise.all( + names.map(async (n) => { + const p = path.join(DEBUG_UPLOAD_DIR, n); + + try { + const s = await stat(p); + + if (now - s.mtimeMs > UPLOAD_TTL_MS) { + await rm(p, { force: true, recursive: true }); + removed += 1; + } + } catch { + /* racing cleanup / vanished file */ + } + }), + ); + } catch { + /* dir absent yet */ + } + + return removed; +} + +/** Drives a stream-capable action and relays its frames. The driver is the + * instance's `invokeStream` (which itself handles non-stream actions by emitting + * a single frame). */ +export type StreamInvokeDriver = ( + rawRequest: string, + emit: (json: string) => Promise, + isAlive: () => boolean, +) => Promise; + +/** How long emit() will wait for a backed-up consumer to drain before it gives + * up waiting and enqueues anyway (the request abort / action idle-watchdog are + * the real stall guards). */ +const DRAIN_WAIT_MS = 20; +const DRAIN_MAX_SPINS = 3000; // 3000 * 20ms ≈ 60s + +/** Build the SSE `Response` for `/api/debug/invoke-stream`: each relayed frame + * is one `data: \n\n` event; no frame is ever dropped. A driver error + * becomes a terminal `failed` frame. Closing the request (signal abort) stops + * delivery. `delay` is injectable for tests. */ +export function buildStreamInvokeResponse( + driver: StreamInvokeDriver, + rawRequest: string, + signal: AbortSignal, + delay: (ms: number) => Promise = (ms) => new Promise((r) => setTimeout(r, ms)), +): Response { + return sseResponse(signal, (channel) => { + const isAlive = () => !channel.isClosed(); + + const emit = async (json: string): Promise => { + if (!isAlive()) { + throw new Error('stream transport closed'); + } + + // Backpressure WITHOUT dropping: wait for the consumer to catch up. + let spins = 0; + + while (isAlive() && (channel.desiredSize() ?? 1) <= 0 && spins < DRAIN_MAX_SPINS) { + await delay(DRAIN_WAIT_MS); + spins += 1; + } + + if (!isAlive()) { + throw new Error('stream transport closed'); + } + + channel.raw(channel.encode(`data: ${json}\n\n`)); + }; + + const run = async () => { + try { + await driver(rawRequest, emit, isAlive); + } catch (err) { + if (isAlive()) { + const msg = err instanceof Error ? err.message : 'stream error'; + + channel.send({ status: 'failed', retcode: 1400, message: msg, wording: msg }); + } + } finally { + channel.close(); + } + }; + + void run(); + }); +} diff --git a/packages/core/src/webui/listener-exposure.ts b/packages/core/src/webui/listener-exposure.ts new file mode 100644 index 00000000..f5b7d22f --- /dev/null +++ b/packages/core/src/webui/listener-exposure.ts @@ -0,0 +1,40 @@ +import { isIP } from 'node:net'; + +export type ListenerExposureCheck = + { ok: true } | { ok: false; code: 'invalid-bind-host' | 'tls-pair-required' }; + +/** TCP bind-host accepted by WebUI Listener Exposure (settings, restore, boot). */ +export function isValidBindHost(value: string): boolean { + const host = value.trim(); + + if (!host || host !== value || host.length > 253 || /[\s/?#@]/u.test(host)) { + return false; + } + + if (host.includes(':')) { + return isIP(host) === 6; + } + + if (/^[\d.]+$/.test(host)) { + return isIP(host) === 4; + } + + const normalized = host.endsWith('.') ? host.slice(0, -1) : host; + return normalized.split('.').every((label) => /^(?!-)[A-Za-z0-9-]{1,63}(? entry.line)); + } + + return `${lines.join('\n')}\n`; +} diff --git a/packages/core/src/webui/mutation-trace.ts b/packages/core/src/webui/mutation-trace.ts new file mode 100644 index 00000000..81227660 --- /dev/null +++ b/packages/core/src/webui/mutation-trace.ts @@ -0,0 +1,356 @@ +import { renderParamsVerbose } from '@snowluma/common/log-summary'; +import { + createLogger, + currentRequestId, + getLogLevel, + renderTraceBytes, + runWithRequestId, + runWithTraceRequest, +} from '@snowluma/common/logger'; + +const log = createLogger('WebUI.Mutation'); +const READ_ONLY_METHODS = new Set(['GET', 'HEAD', 'OPTIONS']); +const STREAMED_REQUEST_PATHS = new Set(['/api/debug/upload']); +const STREAMED_RESPONSE_PATHS = new Set(['/api/debug/invoke-stream']); +// This route can disable TRACE while its own operation is in flight; its +// existing WebUI info record is the authoritative result. +const TRACE_EXCLUDED_PATHS = new Set(['/api/auth/check-strength', '/api/logs/level']); + +interface CapturedBody { + bytes: Uint8Array; + text: string; +} + +function shouldTraceMutation(request: Request): boolean { + if (getLogLevel() !== 'trace') { + return false; + } + + if (READ_ONLY_METHODS.has(request.method.toUpperCase())) { + return false; + } + + return !TRACE_EXCLUDED_PATHS.has(new URL(request.url).pathname); +} + +async function captureBody(message: Request | Response): Promise { + const bytes = new Uint8Array(await message.arrayBuffer()); + return { + bytes, + text: new TextDecoder().decode(bytes), + }; +} + +function traceBody( + branch: 'request_body' | 'response', + body: CapturedBody, + response?: Response, +): void { + log.trace(() => [ + 'webui_mutation_branch branch=%s%s length=%d text=%j body=%s', + branch, + response + ? ` status=${response.status} statusText=${JSON.stringify(response.statusText)} headers=${renderParamsVerbose([...response.headers.entries()])}` + : '', + body.bytes.byteLength, + body.text, + renderTraceBytes(body.bytes), + ]); +} + +function traceStreamChunk( + branch: 'request_body_chunk' | 'response_chunk', + chunk: Uint8Array, + offset: number, +): void { + log.trace(() => [ + 'webui_mutation_branch branch=%s offset=%d length=%d body=%s', + branch, + offset, + chunk.byteLength, + renderTraceBytes(chunk), + ]); +} + +export function traceWebuiMutationRequestChunk(chunk: Uint8Array, offset: number): void { + traceStreamChunk('request_body_chunk', chunk, offset); +} + +function traceStreamedResponse( + response: Response, + requestBody: Promise | null, + startedAt: number, +): Response { + if (!response.body) { + void settleMutation( + requestBody, + Promise.resolve({ bytes: new Uint8Array(), text: '' }), + response, + startedAt, + false, + ); + return response; + } + + const reader = response.body.getReader(); + const requestId = currentRequestId(); + const inContext = (fn: () => T): T => + requestId === undefined ? fn() : runWithRequestId(requestId, fn); + let offset = 0; + let settled = false; + + const terminal = ( + outcome: 'completed' | 'failed' | 'cancelled', + reason: string, + error?: unknown, + ) => { + if (settled) { + return; + } + + settled = true; + void inContext(() => traceRequestBody(requestBody)).then(() => { + inContext(() => + log.trace( + 'webui_mutation_terminal outcome=%s reason=%s status=%d%s elapsedMs=%d', + outcome, + reason, + response.status, + error === undefined + ? '' + : ` error=${JSON.stringify(error instanceof Error ? error.message : String(error))}`, + Date.now() - startedAt, + ), + ); + }); + }; + + const body = new ReadableStream( + { + async pull(controller) { + try { + const result = await reader.read(); + + if (result.done) { + terminal( + response.ok ? 'completed' : 'failed', + response.ok ? 'response_completed' : 'http_status', + ); + controller.close(); + return; + } + + const chunk = result.value; + inContext(() => traceStreamChunk('response_chunk', chunk, offset)); + offset += chunk.byteLength; + controller.enqueue(chunk); + } catch (error) { + terminal( + error instanceof Error && error.name === 'AbortError' + ? 'cancelled' + : 'failed', + error instanceof Error && error.name === 'AbortError' + ? 'body_cancelled' + : 'body_read_failed', + error, + ); + controller.error(error); + } + }, + async cancel(reason) { + terminal('cancelled', 'body_cancelled', reason); + await reader.cancel(reason); + }, + }, + { highWaterMark: 0 }, + ); + return new Response(body, response); +} + +async function traceRequestBody(requestBody: Promise | null): Promise { + if (!requestBody) { + return; + } + + try { + traceBody('request_body', await requestBody); + } catch (error) { + log.trace( + 'webui_mutation_branch branch=request_body_failed error=%j', + error instanceof Error ? error.message : String(error), + ); + } +} + +async function settleMutation( + requestBody: Promise | null, + responseBody: Promise, + response: Response, + startedAt: number, + requestCancelled: boolean, +): Promise { + const results = await Promise.allSettled([ + requestBody ?? Promise.resolve({ bytes: new Uint8Array(), text: '' }), + responseBody, + ]); + const [requestResult, responseResult] = results; + + if (requestBody && requestResult.status === 'fulfilled') { + traceBody('request_body', requestResult.value); + } + + if (requestBody && requestResult.status === 'rejected') { + log.trace( + 'webui_mutation_branch branch=request_body_failed error=%j', + requestResult.reason instanceof Error + ? requestResult.reason.message + : String(requestResult.reason), + ); + } + + if (responseResult.status === 'fulfilled') { + traceBody('response', responseResult.value, response); + } else { + log.trace(() => [ + 'webui_mutation_branch branch=response_body_failed status=%d statusText=%j headers=%s error=%j', + response.status, + response.statusText, + renderParamsVerbose([...response.headers.entries()]), + responseResult.reason instanceof Error + ? responseResult.reason.message + : String(responseResult.reason), + ]); + } + + const error = + responseResult.status === 'rejected' + ? responseResult.reason + : requestResult.status === 'rejected' + ? requestResult.reason + : undefined; + + if (error === undefined) { + if (requestCancelled) { + log.trace( + 'webui_mutation_terminal outcome=cancelled reason=request_cancelled status=%d elapsedMs=%d', + response.status, + Date.now() - startedAt, + ); + return; + } + + log.trace( + 'webui_mutation_terminal outcome=%s reason=%s status=%d elapsedMs=%d', + response.ok ? 'completed' : 'failed', + response.ok ? 'response_completed' : 'http_status', + response.status, + Date.now() - startedAt, + ); + return; + } + + log.trace( + 'webui_mutation_terminal outcome=%s reason=%s error=%j elapsedMs=%d', + error instanceof Error && error.name === 'AbortError' ? 'cancelled' : 'failed', + error instanceof Error && error.name === 'AbortError' + ? 'body_cancelled' + : 'body_read_failed', + error instanceof Error ? error.message : String(error), + Date.now() - startedAt, + ); +} + +function failureOutcome(error: unknown): { + outcome: 'failed' | 'timeout' | 'cancelled'; + reason: string; +} { + if (error instanceof Error && error.name === 'TimeoutError') { + return { outcome: 'timeout', reason: 'handler_timeout' }; + } + + if (error instanceof Error && error.name === 'AbortError') { + return { outcome: 'cancelled', reason: 'handler_cancelled' }; + } + + return { outcome: 'failed', reason: 'handler_threw' }; +} + +/** Trace one authenticated WebUI write without consuming its live streams. */ +export function traceAuthenticatedWebuiMutation( + request: Request, + next: () => Promise, +): Promise { + if (!shouldTraceMutation(request)) { + return next(); + } + + return runWithTraceRequest(async () => { + const startedAt = Date.now(); + const requestHeaders = [...request.headers.entries()]; + const pathname = new URL(request.url).pathname; + let requestBody: Promise | null = null; + + log.trace(() => [ + 'webui_mutation_start method=%j url=%j headers=%s', + request.method, + request.url, + renderParamsVerbose(requestHeaders), + ]); + + if (!STREAMED_REQUEST_PATHS.has(pathname)) { + try { + requestBody = captureBody(request.clone()); + } catch (error) { + log.trace( + 'webui_mutation_terminal outcome=failed reason=request_clone_failed error=%j elapsedMs=%d', + error instanceof Error ? error.message : String(error), + Date.now() - startedAt, + ); + return next(); + } + } + + try { + const response = await next(); + + if (STREAMED_RESPONSE_PATHS.has(pathname)) { + return traceStreamedResponse(response, requestBody, startedAt); + } + + let responseBody: Promise; + + try { + responseBody = captureBody(response.clone()); + } catch (error) { + void traceRequestBody(requestBody).then(() => { + log.trace( + 'webui_mutation_terminal outcome=failed reason=response_clone_failed error=%j elapsedMs=%d', + error instanceof Error ? error.message : String(error), + Date.now() - startedAt, + ); + }); + return response; + } + + void settleMutation( + requestBody, + responseBody, + response, + startedAt, + STREAMED_REQUEST_PATHS.has(pathname) && request.signal.aborted, + ); + return response; + } catch (error) { + await traceRequestBody(requestBody); + const failure = failureOutcome(error); + log.trace( + 'webui_mutation_terminal outcome=%s reason=%s error=%j elapsedMs=%d', + failure.outcome, + failure.reason, + error instanceof Error ? error.message : String(error), + Date.now() - startedAt, + ); + throw error; + } + }); +} diff --git a/packages/core/src/webui/onebot-token-policy.ts b/packages/core/src/webui/onebot-token-policy.ts new file mode 100644 index 00000000..4d78d66a --- /dev/null +++ b/packages/core/src/webui/onebot-token-policy.ts @@ -0,0 +1,114 @@ +import { assessAccessToken } from '@snowluma/common/access-token'; +import type { OneBotConfig } from '@snowluma/onebot/types'; +import { isLoopbackClientIp } from './client-ip'; + +function isLoopbackBindHost(host: string | undefined): boolean { + const value = + host + ?.trim() + .toLowerCase() + .replace(/^\[|\]$/gu, '') + .replace(/\.$/u, '') ?? ''; + + if (!value) { + return false; + } + + if (value === 'localhost' || value.endsWith('.localhost')) { + return true; + } + + return isLoopbackClientIp(value); +} + +export class OneBotAccessTokenPolicyError extends Error { + constructor(message: string) { + super(message); + this.name = 'OneBotAccessTokenPolicyError'; + } +} + +export interface OneBotAccessTokenPolicyOptions { + clientIp: string; + uin: string; +} + +type InboundKind = 'httpServers' | 'wsServers'; + +const INBOUND_KINDS: readonly InboundKind[] = ['httpServers', 'wsServers']; + +function sameTokenAtPreviousIdentity( + previous: OneBotConfig['networks'][InboundKind], + next: OneBotConfig['networks'][InboundKind], + nextName: string, + nextToken: string, + index: number, +): boolean { + const named = previous.find((adapter) => adapter.name === nextName); + + if (named && (named.accessToken ?? '') === nextToken) { + return true; + } + + // Preserve a legacy token when the operator only renames the same list item. + // Reordering keeps names stable and is covered by the lookup above. + const sameIndex = previous[index]; + return ( + sameIndex !== undefined && + !next.some((adapter) => adapter.name === sameIndex.name) && + (sameIndex.accessToken ?? '') === nextToken + ); +} + +export function validateOneBotAccessTokenChanges( + previous: OneBotConfig | null, + next: OneBotConfig, + options: OneBotAccessTokenPolicyOptions, +): void { + const allowEmptyFromClient = isLoopbackClientIp(options.clientIp); + + for (const kind of INBOUND_KINDS) { + const previousList = previous?.networks[kind] ?? []; + const nextList = next.networks[kind]; + + for (let index = 0; index < nextList.length; index += 1) { + const adapter = nextList[index]; + const token = adapter.accessToken ?? ''; + + if (sameTokenAtPreviousIdentity(previousList, nextList, adapter.name, token, index)) { + continue; + } + + if (!token) { + if (!allowEmptyFromClient && !isLoopbackBindHost(adapter.host)) { + throw new OneBotAccessTokenPolicyError( + `节点“${adapter.name}”未绑定本机地址,远程保存必须填写令牌;请生成令牌或将主机改为 127.0.0.1。`, + ); + } + + continue; + } + + const host = adapter.host ?? '0.0.0.0'; + const assessment = assessAccessToken(token, [ + options.uin, + adapter.name, + kind, + host, + adapter.port, + ]); + + if (assessment.reason === 'too-short') { + throw new OneBotAccessTokenPolicyError( + `节点“${adapter.name}”的令牌至少需要 16 个字符;请重新生成或继续补充。`, + ); + } + + if (!assessment.acceptable) { + throw new OneBotAccessTokenPolicyError( + `节点“${adapter.name}”的令牌容易被猜中;请重新生成随机令牌。`, + ); + } + } + } +} diff --git a/packages/core/src/webui/port.ts b/packages/core/src/webui/port.ts new file mode 100644 index 00000000..fd943723 --- /dev/null +++ b/packages/core/src/webui/port.ts @@ -0,0 +1,57 @@ +import net from 'net'; + +function isPortAvailable(port: number, host = '127.0.0.1'): Promise { + return new Promise((resolve) => { + const server = net.createServer(); + let settled = false; + + const finalize = (ok: boolean) => { + if (settled) { + return; + } + + settled = true; + + try { + server.close(() => resolve(ok)); + } catch { + resolve(ok); + } + }; + + server.once('error', () => finalize(false)); + server.once('listening', () => finalize(true)); + + try { + server.listen(port, host); + } catch { + finalize(false); + } + }); +} + +/** + * Find an available TCP port starting from `start`, advancing by 1 up to `maxTries` attempts. + * Skips reserved/invalid port numbers. + */ +export async function findAvailablePort( + start: number, + options: { maxTries?: number; host?: string } = {}, +): Promise { + const { maxTries = 50, host = '127.0.0.1' } = options; + let port = Math.max(1, Math.min(65535, Math.trunc(start))); + + for (let i = 0; i < maxTries; i++) { + if (port > 65535) { + break; + } + + if (await isPortAvailable(port, host)) { + return port; + } + + port += 1; + } + + throw new Error(`No available TCP port found near ${start}`); +} diff --git a/packages/core/src/webui/request-security.ts b/packages/core/src/webui/request-security.ts new file mode 100644 index 00000000..26a390a9 --- /dev/null +++ b/packages/core/src/webui/request-security.ts @@ -0,0 +1,77 @@ +import { bodyLimit } from 'hono/body-limit'; +import { deleteCookie, getCookie, setCookie } from 'hono/cookie'; +import type { Context, Hono, MiddlewareHandler } from 'hono'; + +export const LOGIN_BODY_LIMIT_BYTES = 16 * 1024; +const AVATAR_SESSION_COOKIE = 'snowluma_avatar_session'; +const AVATAR_SESSION_MAX_AGE_SECONDS = 24 * 60 * 60; + +function isJsonMediaType(value: string | undefined): boolean { + const mediaType = value?.split(';', 1)[0]?.trim().toLowerCase() ?? ''; + return mediaType === 'application/json' || mediaType.endsWith('+json'); +} + +/** Install guards before the login route is registered. */ +export function registerLoginRequestSecurity(app: Hono): void { + app.use( + '/api/login', + bodyLimit({ + maxSize: LOGIN_BODY_LIMIT_BYTES, + onError: (c) => c.json({ success: false, message: '请求体过大' }, 413), + }), + ); + app.use('/api/login', async (c, next) => { + if (!isJsonMediaType(c.req.header('content-type'))) { + return c.json({ success: false, message: 'Content-Type 必须为 application/json' }, 415); + } + + return next(); + }); +} + +/** Minimal response policy that does not restrict the current script/style bundle. */ +export const webuiSecurityHeaders: MiddlewareHandler = async (c, next) => { + await next(); + c.res.headers.set('X-Frame-Options', 'DENY'); + c.res.headers.set('X-Content-Type-Options', 'nosniff'); + c.res.headers.set('Referrer-Policy', 'no-referrer'); + c.res.headers.set( + 'Content-Security-Policy', + "frame-ancestors 'none'; base-uri 'self'; object-src 'none'", + ); +}; + +export function extractWebuiSessionToken(request: Request): string { + const sessionToken = request.headers.get('x-snowluma-token'); + + // Authorization belongs to the proxy when it uses HTTP authentication. + // Only clients without the dedicated header use the legacy Bearer transport. + if (sessionToken !== null) { + return sessionToken; + } + + const authorization = request.headers.get('authorization'); + return authorization?.startsWith('Bearer ') ? authorization.slice(7) : ''; +} + +const avatarCookieOptions = (secure: boolean) => ({ + httpOnly: true, + sameSite: 'Strict' as const, + secure, + path: '/avatar', +}); + +export function setAvatarSessionCookie(c: Context, token: string, secure: boolean): void { + setCookie(c, AVATAR_SESSION_COOKIE, token, { + ...avatarCookieOptions(secure), + maxAge: AVATAR_SESSION_MAX_AGE_SECONDS, + }); +} + +export function clearAvatarSessionCookie(c: Context, secure: boolean): void { + deleteCookie(c, AVATAR_SESSION_COOKIE, avatarCookieOptions(secure)); +} + +export function readAvatarSessionToken(c: Context): string { + return getCookie(c, AVATAR_SESSION_COOKIE) ?? ''; +} diff --git a/packages/core/src/webui/restore.ts b/packages/core/src/webui/restore.ts new file mode 100644 index 00000000..5080450b --- /dev/null +++ b/packages/core/src/webui/restore.ts @@ -0,0 +1,442 @@ +import { errorMessage } from '@snowluma/common/errors'; +import { createLogger } from '@snowluma/common/logger'; +import { randomUUID } from 'node:crypto'; +import fs from 'node:fs'; +import path from 'node:path'; +import { prepareRestorePlan, RestorePreflightError, type RestoreMigration } from './backup'; + +const log = createLogger('WebUI.Restore'); + +export type RestorePhase = 'preflight' | 'snapshot' | 'stage' | 'commit' | 'rollback' | 'cleanup'; + +export interface RestoreOperation { + phase: Exclude; + operation: + | 'copy-current' + | 'write-staged' + | 'chmod-staged' + | 'rename-staged' + | 'restore-current' + | 'remove-created' + | 'remove-transaction'; + file?: string; +} + +export interface RestoreBackupOptions { + configDir: string; + restoreCredentials: boolean; + /** Deterministic id for tests/diagnostics; production normally omits it. */ + transactionId?: string; + /** Filesystem-boundary fault hook used by the transaction fault matrix. */ + beforeOperation?: (operation: RestoreOperation) => void; +} + +export interface RestoreBackupResult { + transactionId: string; + restored: string[]; + skipped: string[]; + migrated: RestoreMigration[]; + restartRequiredToApply: boolean; +} + +export class RestoreTransactionError extends Error { + readonly phase: RestorePhase; + readonly transactionId: string; + readonly rollbackSucceeded?: boolean; + readonly snapshotDir?: string; + readonly committed: boolean; + readonly failedFiles: string[]; + + constructor(options: { + phase: RestorePhase; + transactionId: string; + message: string; + cause: unknown; + rollbackSucceeded?: boolean; + snapshotDir?: string; + committed?: boolean; + failedFiles?: string[]; + }) { + super(options.message, { cause: options.cause }); + this.name = 'RestoreTransactionError'; + this.phase = options.phase; + this.transactionId = options.transactionId; + this.rollbackSucceeded = options.rollbackSucceeded; + this.snapshotDir = options.snapshotDir; + this.committed = options.committed ?? false; + this.failedFiles = options.failedFiles ?? []; + } +} + +interface CommittedFile { + name: string; + existed: boolean; +} + +/** + * Restore one validated overlay as a process-level transaction. + * + * This deliberately does not promise recovery from power loss or SIGKILL. + * Within the running process, every failure before commit leaves live files + * untouched. A partial commit is rolled back when possible; incomplete + * rollback retains the transaction directory and reports its recovery path. + */ +export function restoreBackup(parsed: unknown, options: RestoreBackupOptions): RestoreBackupResult { + const transactionId = options.transactionId ?? randomUUID(); + + if (!/^[A-Za-z0-9_-]+$/.test(transactionId)) { + throw new Error('restore transactionId must contain only letters, numbers, _ or -'); + } + + const configDir = path.resolve(options.configDir); + + const readCurrent = (name: string): Buffer | null => { + const file = path.join(configDir, name); + + try { + return fs.readFileSync(file); + } catch (error) { + if (isMissingPathError(error)) { + return null; + } + + throw error; + } + }; + + const listCurrentOneBotNames = (): string[] => { + try { + return fs.readdirSync(configDir); + } catch (error) { + if (isMissingPathError(error)) { + return []; + } + + throw error; + } + }; + + log.info('restore transaction=%s phase=preflight', transactionId); + let prepared: ReturnType; + + try { + prepared = prepareRestorePlan(parsed, { + restoreCredentials: options.restoreCredentials, + readCurrent, + listCurrentOneBotNames, + }); + } catch (error) { + const file = error instanceof RestorePreflightError ? error.file : undefined; + log.warn( + 'restore transaction=%s phase=preflight file=%s failed error=%s', + transactionId, + file ?? '-', + errorMessage(error), + ); + throw new RestoreTransactionError({ + phase: 'preflight', + transactionId, + message: `restore preflight failed: ${errorMessage(error)}`, + cause: error, + failedFiles: file ? [file] : [], + }); + } + + const names = prepared.restore.map((file) => file.name); + log.info( + 'restore transaction=%s phase=preflight-complete files=%s', + transactionId, + names.join(','), + ); + + if (prepared.restore.length === 0) { + return { + transactionId, + restored: [], + skipped: prepared.skipped, + migrated: prepared.migrated, + restartRequiredToApply: false, + }; + } + + const transactionDir = path.join(configDir, `.restore-transaction-${transactionId}`); + const snapshotRoot = path.join(transactionDir, 'snapshot'); + const stagedRoot = path.join(transactionDir, 'staged'); + const rollbackRoot = path.join(transactionDir, 'rollback'); + const existed = new Map(); + const committed: CommittedFile[] = []; + let phase: 'snapshot' | 'stage' | 'commit' = 'snapshot'; + let activeFile: string | undefined; + let transactionCreated = false; + + try { + fs.mkdirSync(configDir, { recursive: true }); + fs.mkdirSync(transactionDir, { mode: 0o700 }); + transactionCreated = true; + fs.chmodSync(transactionDir, 0o700); + + log.info('restore transaction=%s phase=snapshot files=%s', transactionId, names.join(',')); + + for (const file of prepared.restore) { + activeFile = file.name; + const live = path.join(configDir, file.name); + let wasPresent: boolean; + + try { + fs.lstatSync(live); + wasPresent = true; + } catch (error) { + if (!isMissingPathError(error)) { + throw error; + } + + wasPresent = false; + } + + existed.set(file.name, wasPresent); + + if (!wasPresent) { + continue; + } + + const snapshot = path.join(snapshotRoot, file.name); + fs.mkdirSync(path.dirname(snapshot), { recursive: true }); + invoke(options, { phase: 'snapshot', operation: 'copy-current', file: file.name }); + fs.copyFileSync(live, snapshot); + } + + phase = 'stage'; + log.info('restore transaction=%s phase=stage files=%s', transactionId, names.join(',')); + + for (const file of prepared.restore) { + activeFile = file.name; + const staged = path.join(stagedRoot, file.name); + fs.mkdirSync(path.dirname(staged), { recursive: true }); + invoke(options, { phase: 'stage', operation: 'write-staged', file: file.name }); + fs.writeFileSync(staged, file.data, { flag: 'wx', mode: file.mode }); + invoke(options, { phase: 'stage', operation: 'chmod-staged', file: file.name }); + fs.chmodSync(staged, file.mode); + } + + phase = 'commit'; + log.info('restore transaction=%s phase=commit files=%s', transactionId, names.join(',')); + + for (const file of prepared.restore) { + activeFile = file.name; + const staged = path.join(stagedRoot, file.name); + const live = path.join(configDir, file.name); + fs.mkdirSync(path.dirname(live), { recursive: true }); + invoke(options, { phase: 'commit', operation: 'rename-staged', file: file.name }); + fs.renameSync(staged, live); + committed.push({ name: file.name, existed: existed.get(file.name) === true }); + } + + activeFile = undefined; + } catch (error) { + if (phase !== 'commit') { + const cleanupError = transactionCreated + ? removeTransaction(options, transactionDir) + : null; + + if (cleanupError) { + log.error( + 'restore transaction=%s phase=cleanup failed-after=%s file=%s original-error=%s cleanup-error=%s', + transactionId, + phase, + activeFile ?? '-', + errorMessage(error), + errorMessage(cleanupError), + ); + throw new RestoreTransactionError({ + phase: 'cleanup', + transactionId, + message: `restore ${phase} failed and transaction cleanup also failed`, + cause: new AggregateError( + [error, cleanupError], + `restore ${phase} and cleanup both failed`, + ), + snapshotDir: transactionDir, + failedFiles: activeFile ? [activeFile] : [], + }); + } + + log.warn( + 'restore transaction=%s phase=%s file=%s failed error=%s', + transactionId, + phase, + activeFile ?? '-', + errorMessage(error), + ); + throw new RestoreTransactionError({ + phase, + transactionId, + message: `restore ${phase} failed before live commit`, + cause: error, + failedFiles: activeFile ? [activeFile] : [], + }); + } + + const rollbackErrors = rollbackCommitted( + options, + configDir, + snapshotRoot, + rollbackRoot, + committed, + ); + + if (rollbackErrors.length > 0) { + const failedFiles = rollbackErrors.map((entry) => entry.name); + const rollbackDetails = rollbackErrors + .map((entry) => `${entry.name}:${errorMessage(entry.error)}`) + .join(';'); + log.error( + 'restore transaction=%s phase=rollback commit-file=%s commit-error=%s failed=%s snapshot=%s', + transactionId, + activeFile ?? '-', + errorMessage(error), + rollbackDetails, + transactionDir, + ); + throw new RestoreTransactionError({ + phase: 'rollback', + transactionId, + message: 'restore commit failed and rollback was incomplete', + cause: new AggregateError( + [error, ...rollbackErrors.map((entry) => entry.error)], + 'restore commit and rollback both failed', + ), + rollbackSucceeded: false, + snapshotDir: transactionDir, + committed: committed.length > 0, + failedFiles, + }); + } + + const cleanupError = removeTransaction(options, transactionDir); + + if (cleanupError) { + log.error( + 'restore transaction=%s phase=cleanup failed-after=rollback commit-file=%s commit-error=%s cleanup-error=%s snapshot=%s', + transactionId, + activeFile ?? '-', + errorMessage(error), + errorMessage(cleanupError), + transactionDir, + ); + throw new RestoreTransactionError({ + phase: 'cleanup', + transactionId, + message: + 'restore commit failed, rollback succeeded, but transaction cleanup failed', + cause: new AggregateError( + [error, cleanupError], + 'restore commit and post-rollback cleanup both failed', + ), + rollbackSucceeded: true, + snapshotDir: transactionDir, + failedFiles: activeFile ? [activeFile] : [], + }); + } + + log.warn( + 'restore transaction=%s phase=commit file=%s failed rollback=complete error=%s', + transactionId, + activeFile ?? '-', + errorMessage(error), + ); + throw new RestoreTransactionError({ + phase: 'commit', + transactionId, + message: 'restore commit failed; every committed file was rolled back', + cause: error, + rollbackSucceeded: true, + failedFiles: activeFile ? [activeFile] : [], + }); + } + + const cleanupError = removeTransaction(options, transactionDir); + + if (cleanupError) { + log.error( + 'restore transaction=%s phase=cleanup failed-after=commit cleanup-error=%s snapshot=%s', + transactionId, + errorMessage(cleanupError), + transactionDir, + ); + throw new RestoreTransactionError({ + phase: 'cleanup', + transactionId, + message: 'restore committed successfully, but transaction cleanup failed', + cause: cleanupError, + snapshotDir: transactionDir, + committed: true, + }); + } + + log.info('restore transaction=%s phase=complete files=%s', transactionId, names.join(',')); + return { + transactionId, + restored: names, + skipped: prepared.skipped, + migrated: prepared.migrated, + restartRequiredToApply: true, + }; +} + +function rollbackCommitted( + options: RestoreBackupOptions, + configDir: string, + snapshotRoot: string, + rollbackRoot: string, + committed: readonly CommittedFile[], +): Array<{ name: string; error: unknown }> { + const errors: Array<{ name: string; error: unknown }> = []; + + for (const file of [...committed].reverse()) { + const live = path.join(configDir, file.name); + + try { + if (!file.existed) { + invoke(options, { + phase: 'rollback', + operation: 'remove-created', + file: file.name, + }); + fs.rmSync(live, { force: true }); + continue; + } + + const snapshot = path.join(snapshotRoot, file.name); + const rollback = path.join(rollbackRoot, file.name); + fs.mkdirSync(path.dirname(rollback), { recursive: true }); + invoke(options, { phase: 'rollback', operation: 'restore-current', file: file.name }); + fs.copyFileSync(snapshot, rollback); + fs.chmodSync(rollback, fs.statSync(snapshot).mode & 0o777); + fs.renameSync(rollback, live); + } catch (error) { + errors.push({ name: file.name, error }); + } + } + + return errors; +} + +function removeTransaction(options: RestoreBackupOptions, transactionDir: string): unknown | null { + try { + invoke(options, { phase: 'cleanup', operation: 'remove-transaction' }); + fs.rmSync(transactionDir, { recursive: true, force: true }); + return null; + } catch (error) { + return error; + } +} + +function invoke(options: RestoreBackupOptions, operation: RestoreOperation): void { + options.beforeOperation?.(operation); +} + +function isMissingPathError(error: unknown): boolean { + return ( + typeof error === 'object' && error !== null && 'code' in error && error.code === 'ENOENT' + ); +} diff --git a/packages/core/src/webui/server.ts b/packages/core/src/webui/server.ts new file mode 100644 index 00000000..4db25e37 --- /dev/null +++ b/packages/core/src/webui/server.ts @@ -0,0 +1,2329 @@ +import { APP_VERSION } from '@snowluma/common/version'; +import { serve } from '@hono/node-server'; +import { resolveWebuiTarget } from '@snowluma/common/webui-target'; +import { registerStaticFrontend } from './static-frontend'; +import type { HookManager, HookProcessInfo } from '@snowluma/bridge'; +import { getRuntimeIntegrity, hasLowProcessIntegrity } from '@snowluma/bridge'; +import { + clearManagedLogs, + configureFileTransport, + getLogStorageStatus, +} from '@snowluma/common/log-file-transport'; +import { + createLogger, + getLogLevel, + getLogSnapshot, + getRecentLogs, + logInitialWebuiCredentials, + LOG_LEVELS, + setLogLevel, + subscribeLogs, +} from '@snowluma/common/logger'; +import { + assertValidOneBotConfig, + loadOneBotConfig, + OneBotConfigValidationError, + saveOneBotConfig, +} from '@snowluma/onebot/config'; +import { loadGlobalSettings, saveGlobalSettings } from '@snowluma/onebot/global-config'; +import type { OneBotManager } from '@snowluma/onebot/manager'; +import { clearInactiveStreamStorage, snapshotStreamStorage } from '@snowluma/onebot/stream-storage'; +import type { OneBotConfig, JsonObject as OneBotJsonObject } from '@snowluma/onebot/types'; +import { + readRuntimeConfig, + updateRuntimeConfig, + resolveRuntimeEnvOverrides, +} from '@snowluma/common/runtime'; +import { execSync } from 'child_process'; +import { randomBytes } from 'crypto'; +import { + chmodSync, + existsSync, + mkdirSync, + readdirSync, + readFileSync, + rmSync, + writeFileSync, +} from 'fs'; +import { createServer as createHttpsServer } from 'https'; +import { Hono, type Context } from 'hono'; +import os from 'os'; +import path from 'path'; +import { fileURLToPath } from 'url'; +import { evaluatePasswordRules, isStrongPassword, WebuiAuth } from './auth'; +import { completeWebuiLogin, invalidateOtherSessions } from './webui-login'; +import { + beginTotpEnrollment, + confirmTotpEnrollment, + decideSecondFactorLogin, + regenerateRecoveryCodes, +} from './totp'; +import { + EULA_ACCEPT_ENV, + getAgreementsPayload, + isConsentRequired, + loadAgreements, + PRIVACY_ACCEPT_ENV, + recordConsent, + resolveEnvironmentConsent, +} from './consent'; +import { requireTlsContext, resolveTlsContext, validateTlsPair } from './tls'; +import { + coerceSettingsPatch, + evaluateSettingsSave, + tlsCertDeletionBlocked, +} from './system-settings'; +import { checkListenerExposure } from './listener-exposure'; +import { buildBackup } from './backup'; +import { restoreBackup, RestoreTransactionError, type RestorePhase } from './restore'; +import { collectActionDocs, collectCategories } from '@snowluma/onebot/action-docs'; +import { createFramePusher } from './debug-stream'; +import { buildStreamInvokeResponse, streamUploadToDisk } from './debug-tools'; +import { sseResponse as createSseResponse } from './sse-response'; +import { bindStateStream } from './state-stream'; +import type { StateBus, StateResource } from './state-bus'; +import { createConnectionPoller } from './connection-diff-loop'; +import { comparableConnectionSnapshot } from './connection-snapshot'; +import { traceAuthenticatedWebuiMutation } from './mutation-trace'; +import { describeTrustProxy, makeClientIpResolver, parseTrustProxy } from './client-ip'; +import { + OneBotAccessTokenPolicyError, + validateOneBotAccessTokenChanges, +} from './onebot-token-policy'; +import { findAvailablePort } from './port'; +import { + clearBackgroundImage, + loadUiConfig, + MAX_BACKGROUND_BYTES, + publicAppearance, + readBackgroundImage, + saveUiConfig, + sniffImageMime, + writeBackgroundImage, +} from './ui-config'; +import { getUpdateInfo } from '../update/check'; +import { createUpdateService } from '../update/service'; +import { updateRoutes } from './update-routes'; +import { buildFullTraceDownload } from './log-export'; +import { loadNotificationsConfig, saveNotificationsConfig } from '../notifications/config'; +import type { NotificationManager } from '../notifications/manager'; +import { StorageManagementService } from './storage-management'; +import { registerStorageRoutes } from './storage-routes'; +import { LogStorageSettingsManager } from './storage-settings'; +import { + clearAvatarSessionCookie, + extractWebuiSessionToken, + readAvatarSessionToken, + registerLoginRequestSecurity, + setAvatarSessionCookie, + webuiSecurityHeaders, +} from './request-security'; + +const log = createLogger('WebUI'); +const __dirname = path.dirname(fileURLToPath(import.meta.url)); + +interface SessionInfo { + expiresAt: number; + mustChangePassword: boolean; +} + +const sessionTokens = new Map(); +const loginAttempts = new Map(); +const totpEnrollments = new Map< + string, + { + secret: string; + issuer: string; + accountName: string; + expiresAt: number; + } +>(); + +const LOGIN_MAX_ATTEMPTS = 5; +const LOGIN_LOCKOUT_MS = 15 * 60 * 1000; +const TOKEN_TTL_MS = 24 * 60 * 60 * 1000; +const TOTP_ENROLL_TTL_MS = 10 * 60 * 1000; +const DEFAULT_TOTP_ISSUER = 'SnowLuma'; +const AVATAR_CACHE_TTL_MS = 30 * 24 * 60 * 60 * 1000; +const AVATAR_BROWSER_CACHE_SECONDS = 30 * 24 * 60 * 60; + +export interface RestoreFailureBody { + success: false; + message: string; + transactionId: string; + phase: RestorePhase; + committed: boolean; + rollbackSucceeded?: boolean; + snapshotDir?: string; + failedFiles: string[]; +} + +/** Translate transaction facts into an operator-facing HTTP failure. */ +export function describeRestoreFailure(error: RestoreTransactionError): { + status: 400 | 500; + body: RestoreFailureBody; +} { + const detail = error.cause instanceof Error ? error.cause.message : error.message; + let message: string; + + if (error.phase === 'preflight') { + message = `备份校验失败:${detail}`; + } else if (error.rollbackSucceeded === false) { + const recovery = error.snapshotDir ? `,恢复资料保留在 ${error.snapshotDir}` : ''; + message = `恢复失败,且自动回滚不完整。请勿重启或继续修改配置;事务 ID:${error.transactionId}${recovery}。请检查服务器日志。`; + } else if (error.committed) { + const retained = error.snapshotDir ? `,临时事务资料保留在 ${error.snapshotDir}` : ''; + message = `配置已恢复,但临时事务目录清理失败;重启后配置仍会生效。事务 ID:${error.transactionId}${retained}。请检查服务器日志。`; + } else if (error.phase === 'cleanup') { + const configState = + error.rollbackSucceeded === true ? '当前配置已自动回滚' : '当前配置未改动'; + const retained = error.snapshotDir ? `,临时事务资料保留在 ${error.snapshotDir}` : ''; + message = `恢复失败,${configState},但临时事务目录清理失败;事务 ID:${error.transactionId}${retained}。请检查服务器日志。`; + } else if (error.rollbackSucceeded === true) { + message = `恢复失败,当前配置已自动回滚。事务 ID:${error.transactionId}。请检查服务器日志。`; + } else { + message = `恢复失败,当前配置未改动。事务 ID:${error.transactionId}。请检查服务器日志。`; + } + + return { + status: error.phase === 'preflight' ? 400 : 500, + body: { + success: false, + message, + transactionId: error.transactionId, + phase: error.phase, + committed: error.committed, + ...(error.rollbackSucceeded === undefined + ? {} + : { rollbackSucceeded: error.rollbackSucceeded }), + ...(error.snapshotDir === undefined ? {} : { snapshotDir: error.snapshotDir }), + failedFiles: error.failedFiles, + }, + }; +} + +function isMissingPath(error: unknown): boolean { + return error instanceof Error && 'code' in error && error.code === 'ENOENT'; +} + +/** Read one allowlisted config file; I/O failures other than absence are fatal. */ +export function readBackupConfigFile(configDir: string, name: string): Buffer | null { + try { + return readFileSync(path.join(configDir, name)); + } catch (error) { + if (isMissingPath(error)) { + return null; + } + + throw error; + } +} + +/** List per-account OneBot config candidates; an unreadable directory is fatal. */ +export function listPerUinOneBotConfigFiles(configDir: string): string[] { + try { + return readdirSync(configDir).filter((name) => /^onebot_\d+\.json$/.test(name)); + } catch (error) { + if (isMissingPath(error)) { + return []; + } + + throw error; + } +} + +// Endpoints that an auth-required-but-must-change-password session can still hit. +const MUST_CHANGE_ALLOWLIST = new Set([ + '/api/status', + '/api/auth/state', + '/api/auth/check-strength', + '/api/auth/change-password', + // Consent is collected AFTER login but BEFORE the forced password change, so + // reading + recording it must be reachable while the session mustChangePassword. + '/api/agreements', + '/api/agreements/record-consent', + '/api/logout', +]); + +// Endpoints reachable while consent is still pending. Everything else is 403'd +// with consentRequired:true until the operator accepts — the same server-side +// enforcement pattern as MUST_CHANGE_ALLOWLIST, so the consent gate is real and +// not merely a frontend convention. Ordered BEFORE the must-change gate so a +// fresh install must consent first, then set its password. +const CONSENT_ALLOWLIST = new Set([ + '/api/status', + '/api/auth/state', + '/api/agreements', + '/api/agreements/record-consent', + '/api/logout', +]); + +// uin = QQ number; 5–10 digits (real QQ UINs fit in uint32, max 4294967295). +// Used to construct config file paths, so we MUST refuse anything else (path +// traversal, NUL bytes, etc.) — and the 10-digit cap also rejects the garbage +// timestamp-shaped UINs the native hook can emit (issue #162). Mirrors +// isRealUin in @snowluma/common/uin. +const UIN_REGEX = /^\d{5,10}$/; + +const avatarCache = new Map(); + +function purgeExpiredTokens() { + const now = Date.now(); + + for (const [token, info] of sessionTokens) { + if (now > info.expiresAt) { + sessionTokens.delete(token); + } + } + + for (const [ip, attempt] of loginAttempts) { + if (now > attempt.resetAt) { + loginAttempts.delete(ip); + } + } + + for (const [token, enrollment] of totpEnrollments) { + if (now > enrollment.expiresAt) { + totpEnrollments.delete(token); + } + } +} + +function sanitizeTotpLabelPart(value: unknown, fallback: string): string { + if (typeof value !== 'string') { + return fallback; + } + + const trimmed = value.replace(/[\r\n\t]/g, '').trim(); + + if (!trimmed) { + return fallback; + } + + return trimmed.slice(0, 64); +} + +function defaultTotpAccountName(): string { + const host = os.hostname().trim(); + return host || 'admin'; +} + +async function fetchQqAvatar(uin: string): Promise<{ body: Uint8Array; contentType: string }> { + const response = await fetch(`https://q1.qlogo.cn/g?b=qq&nk=${encodeURIComponent(uin)}&s=100`, { + headers: { + 'User-Agent': 'SnowLuma WebUI', + Accept: 'image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8', + }, + }); + + if (!response.ok) { + throw new Error(`avatar upstream responded with ${response.status}`); + } + + const contentType = response.headers.get('content-type') || 'image/jpeg'; + const body = new Uint8Array(await response.arrayBuffer()); + return { body, contentType }; +} + +// ── Host system info (cached at module level, invariant over process lifetime) ── + +function detectDistro(): string { + // Helper: extract major.minor.patch from a kernel version string + const parseKernel = (v: string): string | null => { + const m = v.match(/(\d+\.\d+\.\d+)/); + return m?.[1] ?? null; + }; + + // ── Linux ────────────────────────────────────────────────────────── + if (os.platform() === 'linux') { + const kernelRelease = os.release(); + const kernelVer = parseKernel(kernelRelease); + + // Normalize RHEL-family distro names before comparison. + // /proc/version typically shows "Red Hat" (GCC build tag) even on + // Rocky / Alma / Oracle Linux, while /etc/os-release carries the + // actual distro name. Treat the whole family as a single group so + // they are never considered "disagreeing". + const isRhelFamily = (name: string): boolean => + /^(red hat|centos|rocky|alma|oracle|scientific|anolis|tencentos|bclinux|opencloudos)/.test( + name, + ); + + // Extract distro version from kernel release string. + // Distros embed their version in the kernel ABI / build tag: + // Debian: "6.8.12-1-deb13-amd64" → 13 + // RHEL family: "4.18.0-513.el9.x86_64" → 9 + // Fedora: "6.8.12-300.fc40.x86_64" → 40 + // Amazon Linux: "6.1.158-178.288.amzn2023" → 2023 + // Mageia: "6.8.12-1.mga10" → 10 + const kernelDistroVer = (distro: string | null): string | null => { + if (!distro) { + return null; + } + + const lr = kernelRelease.toLowerCase(); + const ld = distro.toLowerCase(); + + if (ld === 'debian') { + const m = lr.match(/deb(\d+)/); + + if (m) { + return m[1]; + } + } + + if (isRhelFamily(ld)) { + const m = lr.match(/el(\d+)/); + + if (m) { + return m[1]; + } + } + + if (ld === 'fedora') { + const m = lr.match(/fc(\d+)/); + + if (m) { + return m[1]; + } + } + + if (ld === 'amazon' || ld.includes('amazon')) { + const m = lr.match(/amzn(\d+)/); + + if (m) { + return m[1]; + } + } + + if (ld === 'mageia') { + const m = lr.match(/mga(\d+)/); + + if (m) { + return m[1]; + } + } + + if (ld === 'armbian') { + const m = lr.match(/armbian(\d+)/); + + if (m) { + return m[1]; + } + } + + if (ld === 'dietpi') { + const m = lr.match(/dietpi(\d+)/); + + if (m) { + return m[1]; + } + } + + if (ld.includes('libreelec')) { + const m = lr.match(/libreelec(\d+)/); + + if (m) { + return m[1]; + } + } + + if (ld.includes('coreelec')) { + const m = lr.match(/coreelec(\d+)/); + + if (m) { + return m[1]; + } + } + + return null; + }; + + // Source A: /proc/version (host kernel build, crosses container boundary) + let hostName: string | null = null; + + try { + const raw = readFileSync('/proc/version', 'utf8').trim(); + const vm = raw.match(/^Linux version\s+(\S+)/); + + if (vm) { + // Step 1: kernel release string — embedded distros embed their name + // here (e.g. "6.6.16-armbian", "6.1.60-dietpi"). More reliable than + // the GCC build tag, which often shows the cross-compilation toolchain + // (e.g. "Ubuntu" for Armbian / DietPi) rather than the actual OS. + const releaseStr = vm[1].toLowerCase(); + const releaseNameMatch = releaseStr.match(/(armbian|dietpi|libreelec|coreelec)/); + + if (releaseNameMatch) { + const nameMap: Record = { + armbian: 'Armbian', + dietpi: 'DietPi', + libreelec: 'LibreELEC', + coreelec: 'CoreELEC', + }; + hostName = nameMap[releaseNameMatch[1]] ?? releaseNameMatch[1]; + } else { + // Step 2: GCC build tag — matches the distribution that compiled + // the running kernel (e.g. "(Ubuntu ...)", "(Debian ...)", + // "(Red Hat ...)"). + const dm = raw.match( + /\b(Debian|Ubuntu|Red Hat|CentOS|Fedora|Alpine|Arch|Gentoo|SUSE|Proxmox|OpenWrt|Deepin|Kylin|openEuler|Anolis|UOS|Linux Mint|Slackware|Manjaro|NixOS|Void|Mageia|Kali|Amazon|Solus|Alibaba|Armbian|DietPi|Raspbian)\b/i, + ); + hostName = dm ? dm[1] : null; + } + } + } catch { + /* source A unavailable */ + } + + // Source B: /etc/os-release (container / local OS) + let osReleaseName: string | null = null; + let osReleaseVer: string | null = null; + + try { + for (const f of ['/etc/os-release', '/usr/lib/os-release']) { + if (!existsSync(f)) { + continue; + } + + const raw = readFileSync(f, 'utf8'); + + const get = (k: string) => { + const m = raw.match(new RegExp(`^${k}=("?)(.+?)\\1$`, 'm')); + return m?.[2] ?? null; + }; + + const pretty = get('PRETTY_NAME') || get('NAME'); + const ver = get('VERSION_ID'); + + if (pretty) { + const nm = pretty.match(/^([^0-9]+)/); + osReleaseName = nm ? nm[1].trim() : pretty; + osReleaseVer = ver; + break; + } + } + } catch { + /* source B unavailable */ + } + + // Decide which source to trust for the distro name & version + let finalName: string; + let finalVer: string | null; + + if (hostName && osReleaseName) { + // Normalize and compare: e.g. "Debian" vs "Debian GNU/Linux" → match. + // RHEL family members (Red Hat, CentOS, Rocky, Alma, Oracle, Scientific) + // are normalised to the same group — /proc/version usually shows "Red Hat" + // (GCC build tag) even when the actual distro is Rocky / Alma / Oracle. + const a = hostName.toLowerCase(); + const b = osReleaseName.toLowerCase(); + + if (a.includes(b) || b.includes(a) || (isRhelFamily(a) && isRhelFamily(b))) { + // Agree → prefer version from kernel release, fall back to os-release + finalName = osReleaseName; + finalVer = kernelDistroVer(hostName) ?? osReleaseVer; + } else { + // Disagree → host kernel build wins (crosses container boundary) + finalName = hostName; + finalVer = kernelDistroVer(hostName); + } + } else if (hostName) { + finalName = hostName; + finalVer = kernelDistroVer(hostName); + } else if (osReleaseName) { + finalName = osReleaseName; + finalVer = kernelDistroVer(osReleaseName) ?? osReleaseVer; + } else { + // Source C: legacy release files + for (const [path, prefix] of [ + ['/etc/alpine-release', 'Alpine Linux '], + ['/etc/redhat-release', ''], + ['/etc/debian_version', 'Debian '], + ] as [string, string][]) { + try { + if (existsSync(path)) { + const raw = prefix + readFileSync(path, 'utf8').trim(); + return kernelVer ? `${raw} (kernel ${kernelVer})` : raw; + } + } catch { + /* try next */ + } + } + + return kernelVer ? `Linux (kernel ${kernelVer})` : 'Linux'; + } + + // Unified output: (kernel ) + const base = finalVer ? `${finalName} ${finalVer}` : finalName; + return kernelVer ? `${base} (kernel ${kernelVer})` : base; + } + + // ── Windows ──────────────────────────────────────────────────────── + if (os.platform() === 'win32') { + try { + const productName = execSync( + 'reg query "HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion" /v ProductName', + { encoding: 'utf8', timeout: 3000, stdio: 'pipe' }, + ); + const m = productName.match(/ProductName\s+REG_SZ\s+(.+)/); + let name = m ? m[1].trim() : `Windows ${os.release()}`; + + // ProductName is still "Windows 10 Pro" on Windows 11 — check build number. + try { + const buildOut = execSync( + 'reg query "HKLM\\SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion" /v CurrentBuildNumber', + { encoding: 'utf8', timeout: 3000, stdio: 'pipe' }, + ); + const bm = buildOut.match(/CurrentBuildNumber\s+REG_SZ\s+(\d+)/); + + if (bm && parseInt(bm[1], 10) >= 22000) { + name = name.replace(/^Windows 10/, 'Windows 11'); + } + } catch { + /* keep name as-is */ + } + + return name; + } catch { + /* fall through */ + } + + return `Windows ${os.release()}`; + } + + return os.platform(); +} + +function normalizeArch(arch: string): string { + const map: Record = { + loong64: 'LoongArch', + riscv64: 'RISC-V', + mips: 'MIPS', + mipsel: 'MIPS (LE)', + arm: 'ARM', + arm64: 'ARM64', + x64: 'x86_64', + ia32: 'x86', + s390: 'S/390', + s390x: 'S/390x', + ppc: 'PowerPC', + ppc64: 'PowerPC64', + ppc64le: 'PowerPC64 (LE)', + }; + return map[arch] ?? arch; +} + +const CACHED_DISTRO = (() => { + try { + return detectDistro(); + } catch { + return os.platform(); + } +})(); +const CACHED_ARCH_LABEL = normalizeArch(os.arch()); + +export async function initWebUI( + desiredPort: number = 5099, + oneBotManager: OneBotManager, + hookManager?: HookManager, + notificationManager?: NotificationManager, + listener: { + host?: string; + tlsEnabled?: boolean; + trustProxy?: string; + stateBus?: StateBus; + restart?: () => void; + updateRoot?: string; + } = {}, +): Promise<{ port: number; stop: () => Promise }> { + const webuiTarget = resolveWebuiTarget(process.env.SNOWLUMA_WEBUI_TARGET); + + if (webuiTarget) { + log.info( + 'presentation target enabled: %s (runtime override; saved appearance is preserved)', + webuiTarget, + ); + } + + const host = listener.host || '127.0.0.1'; + const tlsEnabled = listener.tlsEnabled === true; + const bootCheck = checkListenerExposure({ + webuiHost: host, + tlsEnabled, + pairOk: resolveTlsContext('config').ok, + }); + + if (!bootCheck.ok) { + const reason = + bootCheck.code === 'invalid-bind-host' + ? `bind host is not a valid TCP address: ${host}` + : 'TLS is enabled but the certificate/private-key pair is unusable'; + throw new Error(`WebUI listener cannot start: ${reason}`); + } + + // Resolve the client IP for per-IP rate limiting from the configured + // trust-proxy directive (runtime.json `trustProxy`, env-overridable via + // SNOWLUMA_WEBUI_TRUST_PROXY which loadRuntimeConfig already merged in). + // Default ('') = trust the TCP socket peer only (cannot be spoofed). + const trustProxyMode = parseTrustProxy(listener.trustProxy); + const getClientIp = makeClientIpResolver(trustProxyMode); + // Security decisions must not silently turn an unreadable socket peer into + // localhost. The regular resolver keeps its compatibility fallback for + // rate-limit bucketing; this resolver fails closed with an empty address. + const getSecurityClientIp = makeClientIpResolver(trustProxyMode, ''); + + // Actual bound port (set just before serve; findAvailablePort may bump it). + // Read by GET /api/system/settings so the panel shows what's really live. + let boundPort = desiredPort; + + const auth = WebuiAuth.load(); + const initialPassword = auth.takeInitialPassword(); + + if (auth.isDevMode()) { + log.warn('dev mode enabled with the configured development credential'); + log.warn('dev mode skips config/webui.json and password rotation'); + } else if (initialPassword) { + log.info('════════════════════════════════════════════════════════════════'); + log.info(' ★ WebUI 初始登录凭据 / Initial WebUI Credentials ★'); + log.info(' 请立即登录并修改密码 —— 关闭程序后此密码无法找回。'); + log.info(' 若跳过初始改密,下次启动将自动生成新的随机密码。'); + log.info(' Log in and change the password now; it will not be shown again.'); + log.info('────────────────────────────────────────────────────────────────'); + logInitialWebuiCredentials(initialPassword); + log.info('════════════════════════════════════════════════════════════════'); + } else if (auth.mustChangePassword()) { + log.warn('password change is still required'); + } + + log.info('login rate-limit keyed by: %s', describeTrustProxy(trustProxyMode)); + + if (trustProxyMode.kind === 'all') { + log.warn( + 'SNOWLUMA_WEBUI_TRUST_PROXY=1 — only safe behind a reverse proxy that strips client-set X-Real-IP / X-Forwarded-For', + ); + } + + // Memoized once at startup (agreements version is fixed per process; a text + // change ships with a redeploy that restarts us). Flipped to false the moment + // consent is recorded, so the middleware never touches disk per request. + const environmentConsent = resolveEnvironmentConsent(); + let consentGatePending = isConsentRequired(); + + if (environmentConsent.accepted) { + log.info( + 'EULA/PRIVACY consent supplied by %s and %s (agreements version=%s)', + EULA_ACCEPT_ENV, + PRIVACY_ACCEPT_ENV, + loadAgreements().version, + ); + } else if (environmentConsent.eulaAccepted || environmentConsent.privacyAccepted) { + log.warn( + 'partial environment consent ignored; set both %s=1 and %s=1 to accept the agreements', + EULA_ACCEPT_ENV, + PRIVACY_ACCEPT_ENV, + ); + } else if (consentGatePending) { + log.info('awaiting EULA/PRIVACY consent before the panel unlocks'); + } + + const app = new Hono(); + const shutdownStreams = new AbortController(); + const sseResponse = (c: Context, start: Parameters[1]) => + createSseResponse(c.req.raw.signal, start, shutdownStreams.signal); + app.use('*', webuiSecurityHeaders); + registerLoginRequestSecurity(app); + const storageManagement = new StorageManagementService({ + dataDir: 'data', + getLogStatus: getLogStorageStatus, + clearLogs: clearManagedLogs, + temporary: { + snapshot: snapshotStreamStorage, + clearInactive: clearInactiveStreamStorage, + }, + // Connection statuses include active and still-retiring generations. + // A retiring instance may still hold SQLite handles after disappearing + // from getInstances(), so it must continue to block destructive cleanup. + listOnlineAccounts: () => + oneBotManager + .getConnectionStatuses() + .map((account) => ({ uin: account.uin, nickname: account.nickname })), + }); + const logStorageSettings = new LogStorageSettingsManager({ + readPersisted: readRuntimeConfig, + readEnvOverrides: () => resolveRuntimeEnvOverrides(process.env), + readEffective: getLogStorageStatus, + persist: updateRuntimeConfig, + apply: configureFileTransport, + }); + + // ─── Anti-indexing ─────────────────────────────────────────────────────── + // The WebUI is an admin surface that has no business showing up in + // search results — even the login page leaks the existence of a + // SnowLuma instance to anyone scanning the IP. Three overlapping + // signals: a hard X-Robots-Tag on every response, a robots.txt for + // crawlers that read it before pages, and a in the + // SPA shell for the case where a proxy strips headers. + app.use('*', async (c, next) => { + await next(); + c.res.headers.set('X-Robots-Tag', 'noindex, nofollow, noarchive, nosnippet, noimageindex'); + }); + + app.get('/robots.txt', (c) => { + c.res.headers.set('Content-Type', 'text/plain; charset=utf-8'); + return c.body('User-agent: *\nDisallow: /\n'); + }); + + // ─── Auth middleware ───────────────────────────────────────────────────── + app.use('/api/*', async (c, next) => { + const reqPath = c.req.path; + + // `/api/ui/public` serves the cosmetic appearance subset to the + // pre-auth login page, so it must skip the bearer check. It exposes + // nothing sensitive (no layout, no secrets) — see ui-config.ts. + if (reqPath === '/api/login' || reqPath === '/api/ui/public') { + return next(); + } + + const token = extractWebuiSessionToken(c.req.raw); + + if (!token) { + return c.json({ status: 'failed', message: 'Unauthorized' }, 401); + } + + const info = sessionTokens.get(token); + + if (!info || Date.now() > info.expiresAt) { + return c.json({ status: 'failed', message: 'Token expired or invalid' }, 401); + } + + // Consent gate (before the password gate): block everything outside the + // consent allowlist until the operator has accepted the current agreements. + // `consentGatePending` is memoized (see below) so this is a Set lookup, not + // a disk read, on the hot path. + if (consentGatePending && !CONSENT_ALLOWLIST.has(reqPath)) { + return c.json( + { + status: 'failed', + message: '请先阅读并同意用户协议与隐私政策', + consentRequired: true, + }, + 403, + ); + } + + if (info.mustChangePassword && !MUST_CHANGE_ALLOWLIST.has(reqPath)) { + return c.json( + { status: 'failed', message: '请先修改密码', mustChangePassword: true }, + 403, + ); + } + + c.set('sessionToken' as never, token); + c.res = await traceAuthenticatedWebuiMutation(c.req.raw, async () => { + await next(); + return c.res; + }); + }); + + // ─── Login ─────────────────────────────────────────────────────────────── + app.post('/api/login', async (c) => { + const ip = getClientIp(c); + const now = Date.now(); + const attempt = loginAttempts.get(ip); + + if (attempt && attempt.count >= LOGIN_MAX_ATTEMPTS && now < attempt.resetAt) { + const waitSec = Math.ceil((attempt.resetAt - now) / 1000); + return c.json({ success: false, message: `登录尝试过多,请 ${waitSec} 秒后重试` }, 429); + } + + let body: unknown; + + try { + body = await c.req.json(); + } catch { + return c.json({ success: false, message: '请求格式错误' }, 400); + } + + const result = completeWebuiLogin(auth, body, now); + + if (result.kind === 'bad-request') { + return c.json({ success: false, message: '请求格式错误' }, 400); + } + + if (result.kind === 'bad-password' || result.kind === 'bad-second-factor') { + const current = loginAttempts.get(ip) ?? { count: 0, resetAt: now + LOGIN_LOCKOUT_MS }; + current.count += 1; + + if (current.count === 1) { + current.resetAt = now + LOGIN_LOCKOUT_MS; + } + + loginAttempts.set(ip, current); + const message = result.kind === 'bad-second-factor' ? '验证码不正确' : '密码错误'; + return c.json({ success: false, message }, 401); + } + + if (result.kind === 'needs-totp') { + return c.json({ success: false, needsTotp: true }); + } + + loginAttempts.delete(ip); + + if (result.totpState) { + try { + auth.persistTotp(result.totpState); + } catch (err) { + log.warn( + 'persist totp after login failed: %s', + err instanceof Error ? err.message : String(err), + ); + return c.json({ success: false, message: '登录失败' }, 500); + } + } + + const token = randomBytes(32).toString('hex'); + sessionTokens.set(token, { + expiresAt: now + TOKEN_TTL_MS, + mustChangePassword: result.mustChangePassword, + }); + setAvatarSessionCookie(c, token, listener.tlsEnabled === true); + return c.json({ success: true, token, mustChangePassword: result.mustChangePassword }); + }); + + app.post('/api/logout', (c) => { + const token = c.get('sessionToken' as never) as string | undefined; + + if (token) { + sessionTokens.delete(token); + } + + clearAvatarSessionCookie(c, listener.tlsEnabled === true); + return c.json({ success: true }); + }); + + app.get('/api/auth/state', (c) => { + const token = c.get('sessionToken' as never) as string | undefined; + const info = token ? sessionTokens.get(token) : undefined; + return c.json({ + mustChangePassword: info?.mustChangePassword ?? auth.mustChangePassword(), + }); + }); + + app.post('/api/auth/check-strength', async (c) => { + let body: { password?: unknown }; + + try { + body = await c.req.json(); + } catch { + return c.json({ rules: evaluatePasswordRules(''), valid: false }); + } + + const pwd = typeof body.password === 'string' ? body.password : ''; + return c.json({ rules: evaluatePasswordRules(pwd), valid: isStrongPassword(pwd) }); + }); + + app.post('/api/auth/change-password', async (c) => { + let body: { oldPassword?: unknown; newPassword?: unknown }; + + try { + body = await c.req.json(); + } catch { + return c.json({ success: false, message: '请求格式错误' }, 400); + } + + const oldPassword = typeof body.oldPassword === 'string' ? body.oldPassword : ''; + const newPassword = typeof body.newPassword === 'string' ? body.newPassword : ''; + + if (!auth.verify(oldPassword)) { + return c.json({ success: false, message: '当前密码不正确' }, 401); + } + + if (!isStrongPassword(newPassword)) { + return c.json( + { + success: false, + message: '新密码不符合强度要求', + rules: evaluatePasswordRules(newPassword), + }, + 400, + ); + } + + if (oldPassword === newPassword) { + return c.json({ success: false, message: '新密码不得与旧密码相同' }, 400); + } + + try { + auth.setPassword(newPassword, oldPassword); + } catch (err) { + log.warn( + 'change password failed: %s', + err instanceof Error ? err.message : String(err), + ); + return c.json({ success: false, message: '密码修改失败' }, 400); + } + + // Invalidate every session, including the current one. If the old + // password was compromised, the attacker may already hold the current + // token; rotating credentials must rotate sessions too. + sessionTokens.clear(); + clearAvatarSessionCookie(c, listener.tlsEnabled === true); + log.info('password updated; all sessions invalidated'); + return c.json({ success: true, requireRelogin: true }); + }); + + const totpDisabledInDev = () => auth.isDevMode(); + + app.get('/api/auth/totp', (c) => { + if (totpDisabledInDev()) { + return c.json({ success: false, message: '开发模式已禁用 2FA' }, 400); + } + + return c.json(auth.totpStatus()); + }); + + app.post('/api/auth/totp/begin', async (c) => { + if (totpDisabledInDev()) { + return c.json({ success: false, message: '开发模式已禁用 2FA' }, 400); + } + + if (auth.totpEnabled()) { + return c.json({ success: false, message: '2FA 已开启' }, 409); + } + + const token = c.get('sessionToken' as never) as string; + let body: Record = {}; + + try { + const parsed = await c.req.json(); + + if (parsed && typeof parsed === 'object' && !Array.isArray(parsed)) { + body = parsed as Record; + } + } catch { + body = {}; + } + + const issuer = sanitizeTotpLabelPart(body.issuer, DEFAULT_TOTP_ISSUER); + const accountName = sanitizeTotpLabelPart(body.accountName, defaultTotpAccountName()); + const now = Date.now(); + const existing = totpEnrollments.get(token); + const secret = existing && existing.expiresAt > now ? existing.secret : undefined; + const enrollment = beginTotpEnrollment({ issuer, accountName, secret }); + totpEnrollments.set(token, { + secret: enrollment.secret, + issuer, + accountName, + expiresAt: now + TOTP_ENROLL_TTL_MS, + }); + return c.json({ + success: true, + secret: enrollment.secret, + otpauthUrl: enrollment.otpauthUrl, + issuer: enrollment.issuer, + accountName: enrollment.accountName, + }); + }); + + app.post('/api/auth/totp/confirm', async (c) => { + if (totpDisabledInDev()) { + return c.json({ success: false, message: '开发模式已禁用 2FA' }, 400); + } + + if (auth.totpEnabled()) { + return c.json({ success: false, message: '2FA 已开启' }, 409); + } + + const token = c.get('sessionToken' as never) as string; + let body: { password?: unknown; code?: unknown }; + + try { + body = await c.req.json(); + } catch { + return c.json({ success: false, message: '请求格式错误' }, 400); + } + + const password = typeof body.password === 'string' ? body.password : ''; + const code = typeof body.code === 'string' ? body.code : ''; + + if (!auth.verify(password)) { + return c.json({ success: false, message: '当前密码不正确' }, 401); + } + + const pending = totpEnrollments.get(token); + + if (!pending || pending.expiresAt <= Date.now()) { + totpEnrollments.delete(token); + return c.json({ success: false, message: '请先开始绑定' }, 400); + } + + try { + const enabled = confirmTotpEnrollment({ + password, + secret: pending.secret, + code, + label: `${pending.issuer} (${pending.accountName})`, + atMs: Date.now(), + }); + auth.persistTotp(enabled.state); + totpEnrollments.delete(token); + invalidateOtherSessions(sessionTokens, token); + log.info('webui 2FA enabled; other sessions invalidated'); + return c.json({ success: true, recoveryCodes: enabled.recoveryCodes }); + } catch (err) { + log.warn('totp confirm failed: %s', err instanceof Error ? err.message : String(err)); + return c.json({ success: false, message: '验证码不正确' }, 401); + } + }); + + app.post('/api/auth/totp/disable', async (c) => { + if (totpDisabledInDev()) { + return c.json({ success: false, message: '开发模式已禁用 2FA' }, 400); + } + + if (!auth.totpEnabled()) { + return c.json({ success: false, message: '2FA 未开启' }, 400); + } + + const token = c.get('sessionToken' as never) as string; + let body: { password?: unknown; totp?: unknown; recoveryCode?: unknown }; + + try { + body = await c.req.json(); + } catch { + return c.json({ success: false, message: '请求格式错误' }, 400); + } + + const password = typeof body.password === 'string' ? body.password : ''; + + if (!auth.verify(password)) { + return c.json({ success: false, message: '当前密码不正确' }, 401); + } + + const decision = decideSecondFactorLogin({ + totpEnabled: true, + state: auth.totpState(), + password, + totp: typeof body.totp === 'string' ? body.totp : undefined, + recoveryCode: typeof body.recoveryCode === 'string' ? body.recoveryCode : undefined, + atMs: Date.now(), + }); + + if (decision.kind !== 'ok') { + return c.json({ success: false, message: '验证码不正确' }, 401); + } + + auth.persistTotp(undefined); + totpEnrollments.delete(token); + invalidateOtherSessions(sessionTokens, token); + log.info('webui 2FA disabled; other sessions invalidated'); + return c.json({ success: true }); + }); + + app.post('/api/auth/totp/recovery-codes', async (c) => { + if (totpDisabledInDev()) { + return c.json({ success: false, message: '开发模式已禁用 2FA' }, 400); + } + + const state = auth.totpState(); + + if (!state) { + return c.json({ success: false, message: '2FA 未开启' }, 400); + } + + let body: { password?: unknown; totp?: unknown }; + + try { + body = await c.req.json(); + } catch { + return c.json({ success: false, message: '请求格式错误' }, 400); + } + + const password = typeof body.password === 'string' ? body.password : ''; + const totp = typeof body.totp === 'string' ? body.totp : ''; + + if (!auth.verify(password)) { + return c.json({ success: false, message: '当前密码不正确' }, 401); + } + + try { + const next = regenerateRecoveryCodes({ + password, + state, + totp, + atMs: Date.now(), + }); + auth.persistTotp(next.state); + log.info('webui 2FA recovery codes regenerated'); + return c.json({ success: true, recoveryCodes: next.recoveryCodes }); + } catch (err) { + log.warn( + 'totp recovery regenerate failed: %s', + err instanceof Error ? err.message : String(err), + ); + return c.json({ success: false, message: '验证码不正确' }, 401); + } + }); + + // ─── EULA / PRIVACY consent ────────────────────────────────────────────── + // Both are bearer-gated (consent is collected AFTER login) and live in the + // consent + must-change allowlists so they're reachable during onboarding. + // The version is content-derived, so consent is stable across app upgrades + // and re-prompted only when the agreement text itself changes. + app.get('/api/agreements', (c) => c.json(getAgreementsPayload())); + + app.post('/api/agreements/record-consent', async (c) => { + let body: { version?: unknown }; + + try { + body = await c.req.json(); + } catch { + return c.json({ success: false, message: '请求格式错误' }, 400); + } + + const version = typeof body.version === 'string' ? body.version : ''; + const current = loadAgreements().version; + + // Reject a stale/blank version so a client that read an older agreement set + // can't record consent that the server would then treat as current. + if (!version || version !== current) { + return c.json( + { + success: false, + message: '协议版本已更新,请刷新后重新确认', + currentVersion: current, + }, + 409, + ); + } + + try { + recordConsent(version); + } catch (err) { + log.warn('record consent failed: %s', err instanceof Error ? err.message : String(err)); + return c.json({ success: false, message: '保存失败,请检查服务器日志' }, 500); + } + + consentGatePending = false; // unlock the rest of the API for this process + log.info('agreements consent recorded (version=%s)', version); + return c.json({ success: true, version }); + }); + + // ─── Avatar proxy (uin validated) ──────────────────────────────────────── + app.get('/avatar/:uin', async (c) => { + const sessionToken = readAvatarSessionToken(c); + const session = sessionTokens.get(sessionToken); + + if (!session || Date.now() > session.expiresAt) { + if (sessionToken) { + sessionTokens.delete(sessionToken); + } + + return c.text('unauthorized', 401); + } + + const uin = c.req.param('uin'); + + if (!UIN_REGEX.test(uin)) { + return c.text('invalid uin', 400); + } + + const now = Date.now(); + let cached = avatarCache.get(uin); + + if (!cached || cached.expiresAt <= now) { + try { + const avatar = await fetchQqAvatar(uin); + cached = { ...avatar, expiresAt: now + AVATAR_CACHE_TTL_MS }; + avatarCache.set(uin, cached); + } catch (err) { + log.warn( + 'failed to proxy avatar for UIN %s: %s', + uin, + err instanceof Error ? err.message : String(err), + ); + + if (!cached) { + return c.text('avatar unavailable', 502); + } + } + } + + return new Response(cached.body, { + headers: { + 'Content-Type': cached.contentType, + 'Cache-Control': `private, max-age=${AVATAR_BROWSER_CACHE_SECONDS}, immutable`, + Vary: 'Cookie', + }, + }); + }); + + // ─── Background image (unauth, like /avatar) ───────────────────────────── + // The login page needs to render the operator's background before auth, so + // this route is intentionally public. It only serves a file the operator + // themselves uploaded. Cache-busting is via the `?v=` version the client + // appends; the bytes for a given version are immutable. + app.get('/ui-asset/background', (c) => { + const asset = readBackgroundImage(); + + if (!asset) { + return c.text('no background', 404); + } + + return new Response(new Uint8Array(asset.bytes), { + headers: { + 'Content-Type': asset.mime, + 'Cache-Control': 'public, max-age=31536000, immutable', + // Defence-in-depth: never let an uploaded blob be interpreted as + // anything but the sniffed image type. + 'X-Content-Type-Options': 'nosniff', + }, + }); + }); + + // ─── Read-only API ─────────────────────────────────────────────────────── + app.get('/api/status', (c) => { + // Refresh the path-scoped avatar cookie for a still-valid localStorage + // session (for example after upgrading from a version without the cookie). + const token = c.get('sessionToken' as never) as string; + setAvatarSessionCookie(c, token, listener.tlsEnabled === true); + return c.json({ status: 'running' }); + }); + + const updater = await createUpdateService( + listener.restart ? listener.updateRoot : undefined, + APP_VERSION, + ); + app.route( + '/api/update', + updateRoutes(updater, () => listener.restart?.()), + ); + + app.get('/api/update/check', async (c) => { + const force = c.req.query('force') === 'true' || c.req.query('force') === '1'; + return c.json(await getUpdateInfo(force)); + }); + + let lastCpuTimes: { idle: number; total: number }[] | null = null; + + function sampleCpuLoad(): number[] { + const cpus = os.cpus(); + const current = cpus.map((cpu) => { + const t = cpu.times; + const total = t.user + t.nice + t.sys + t.idle + t.irq; + return { idle: t.idle, total }; + }); + + if (!lastCpuTimes || lastCpuTimes.length !== current.length) { + lastCpuTimes = current; + return current.map(() => 0); + } + + const usage = current.map((cur, i) => { + const prev = lastCpuTimes![i]; + const totalDiff = cur.total - prev.total; + const idleDiff = cur.idle - prev.idle; + + if (totalDiff <= 0) { + return 0; + } + + return Math.max(0, Math.min(100, ((totalDiff - idleDiff) / totalDiff) * 100)); + }); + lastCpuTimes = current; + return usage; + } + + app.get('/api/system', async (c) => { + const cpus = os.cpus(); + const usage = sampleCpuLoad(); + const totalMem = os.totalmem(); + const freeMem = os.freemem(); + const usedMem = totalMem - freeMem; + const runtimeMemory = process.memoryUsage(); + return c.json({ + hostname: os.hostname(), + platform: os.platform(), + arch: os.arch(), + archLabel: CACHED_ARCH_LABEL, + release: os.release(), + distro: CACHED_DISTRO, + uptime: os.uptime(), + processUptime: process.uptime(), + nodeVersion: process.version, + cpu: { + model: cpus[0]?.model ?? 'unknown', + cores: cpus.length, + speedMHz: cpus[0]?.speed ?? 0, + loadAvg: os.loadavg(), + perCore: usage, + average: usage.length ? usage.reduce((s, v) => s + v, 0) / usage.length : 0, + }, + memory: { + total: totalMem, + free: freeMem, + used: usedMem, + usagePercent: totalMem ? (usedMem / totalMem) * 100 : 0, + }, + runtime: { + pid: process.pid, + lowIntegrity: hasLowProcessIntegrity(await getRuntimeIntegrity()), + rss: runtimeMemory.rss, + heapTotal: runtimeMemory.heapTotal, + heapUsed: runtimeMemory.heapUsed, + external: runtimeMemory.external, + arrayBuffers: runtimeMemory.arrayBuffers, + }, + }); + }); + + // ── System settings (WebUI listener) — Wave A1 ── + // Listener-level changes (port/host/TLS) are persisted but apply only on the + // next restart. The panel surfaces which + // fields are currently overridden by env so edits that won't take effect are + // visible. + const SYSTEM_CERT_PATH = path.join('config', 'cert.pem'); + const SYSTEM_KEY_PATH = path.join('config', 'key.pem'); + const hasCert = (): boolean => existsSync(SYSTEM_CERT_PATH) && existsSync(SYSTEM_KEY_PATH); + + app.get('/api/system/settings', (c) => { + const disk = readRuntimeConfig(); + const envOverrides = Object.keys(resolveRuntimeEnvOverrides(process.env)); + return c.json({ + settings: { + webuiPort: disk.webuiPort, + webuiHost: disk.webuiHost, + tlsEnabled: disk.webuiTls?.enabled ?? false, + trustProxy: disk.trustProxy ?? '', + }, + hasCert: hasCert(), + envOverrides, // field names currently pinned by SNOWLUMA_* env vars + listeningPort: boundPort, + restartRequiredToApply: true, + }); + }); + + app.post('/api/system/settings', async (c) => { + let body: unknown; + + try { + body = await c.req.json(); + } catch { + return c.json({ success: false, message: '请求格式错误' }, 400); + } + + const coerced = coerceSettingsPatch(body); + + if (!coerced.ok) { + return c.json({ success: false, message: coerced.error }, 400); + } + + const evaluated = evaluateSettingsSave( + readRuntimeConfig(), + coerced.patch, + resolveTlsContext('config').ok, + ); + + if (!evaluated.ok) { + return c.json({ success: false, message: evaluated.error }, 400); + } + + const saved = updateRuntimeConfig(evaluated.patch); + return c.json({ + success: true, + settings: { + webuiPort: saved.webuiPort, + webuiHost: saved.webuiHost, + tlsEnabled: saved.webuiTls?.enabled ?? false, + trustProxy: saved.trustProxy ?? '', + }, + restartRequiredToApply: true, + }); + }); + + registerStorageRoutes(app, { + storage: storageManagement, + settings: logStorageSettings, + audit: (event) => { + log.info( + 'storage cleanup scope=%s accountScope=%s category=%s uin=%s deletedFiles=%d freedBytes=%d failures=%d', + event.scope, + event.accountScope, + event.category ?? '-', + event.uin ?? '-', + event.deletedFiles, + event.freedBytes, + event.failureCount, + ); + }, + reportError: (operation, error) => { + log.error( + '%s failed: %s', + operation, + error instanceof Error ? (error.stack ?? error.message) : String(error), + ); + }, + }); + + app.post('/api/system/tls/cert', async (c) => { + let body: unknown; + + try { + body = await c.req.json(); + } catch { + return c.json({ success: false, message: '请求格式错误' }, 400); + } + + const cert = (body as { cert?: unknown }).cert; + const key = (body as { key?: unknown }).key; + + if (typeof cert !== 'string' || typeof key !== 'string') { + return c.json({ success: false, message: 'cert 和 key 必须为 PEM 字符串' }, 400); + } + + const valid = validateTlsPair(cert, key); + + if (!valid.ok) { + return c.json({ success: false, message: valid.reason }, 400); + } + + try { + mkdirSync('config', { recursive: true }); + writeFileSync(SYSTEM_CERT_PATH, cert.endsWith('\n') ? cert : cert + '\n', 'utf8'); + // Private key must not be world-readable (mirrors auth.ts's webui.json + // 0600). writeFileSync's mode is ignored for an existing file, so chmod + // explicitly afterwards. + writeFileSync(SYSTEM_KEY_PATH, key.endsWith('\n') ? key : key + '\n', { + encoding: 'utf8', + mode: 0o600, + }); + + // Best-effort (mirrors auth.ts): the key is already written 0600 above, so + // a rare chmod failure must not fail the request. + try { + chmodSync(SYSTEM_KEY_PATH, 0o600); + } catch { + /* best-effort */ + } + } catch (err) { + log.warn('write cert/key failed: %s', err instanceof Error ? err.message : String(err)); + return c.json({ success: false, message: '写入证书失败,请检查服务器日志' }, 500); + } + + return c.json({ success: true, restartRequiredToApply: true }); + }); + + app.delete('/api/system/tls/cert', (c) => { + if (tlsCertDeletionBlocked(readRuntimeConfig().webuiTls?.enabled === true)) { + return c.json({ success: false, message: '请先关闭 TLS 再删除证书' }, 400); + } + + try { + rmSync(SYSTEM_CERT_PATH, { force: true }); + rmSync(SYSTEM_KEY_PATH, { force: true }); + } catch (err) { + log.warn( + 'remove cert/key failed: %s', + err instanceof Error ? err.message : String(err), + ); + return c.json({ success: false, message: '删除证书失败' }, 500); + } + + return c.json({ success: true }); + }); + + // ── Config backup / restore (Wave A2) ── + app.get('/api/system/backup/export', (c) => { + try { + const includeCredentials = c.req.query('credentials') === '1'; + const ts = new Date().toISOString(); + const bundle = buildBackup( + (name) => readBackupConfigFile('config', name), + listPerUinOneBotConfigFiles('config'), + { includeCredentials }, + ts, + ); + c.header( + 'Content-Disposition', + `attachment; filename="snowluma-backup-${ts.replace(/[:.]/g, '-')}.json"`, + ); + // Bundle may carry the TLS private key / password hash — never cache it. + c.header('Cache-Control', 'no-store, max-age=0'); + c.header('Pragma', 'no-cache'); + return c.json(bundle); + } catch (error) { + log.error( + 'backup export failed: %s', + error instanceof Error ? (error.stack ?? error.message) : String(error), + ); + return c.json({ success: false, message: '导出失败,请检查服务器日志' }, 500); + } + }); + + app.post('/api/system/backup/import', async (c) => { + const declaredLen = Number(c.req.header('content-length')); + + if (Number.isFinite(declaredLen) && declaredLen > 32 * 1024 * 1024) { + return c.json({ success: false, message: '备份文件过大' }, 413); + } + + let body: unknown; + + try { + body = await c.req.json(); + } catch { + return c.json({ success: false, message: '请求格式错误' }, 400); + } + + if (typeof body !== 'object' || body === null) { + return c.json({ success: false, message: '请求格式错误' }, 400); + } + + const { backup, restoreCredentials } = body as { + backup?: unknown; + restoreCredentials?: unknown; + }; + + try { + const result = restoreBackup(backup, { + configDir: 'config', + restoreCredentials: restoreCredentials === true, + }); + return c.json({ success: true, ...result }); + } catch (err) { + if (err instanceof RestoreTransactionError) { + const failure = describeRestoreFailure(err); + return c.json(failure.body, failure.status); + } + + log.error( + 'backup import failed unexpectedly: %s', + err instanceof Error ? (err.stack ?? err.message) : String(err), + ); + return c.json({ success: false, message: '恢复遇到未预期错误,请检查服务器日志' }, 500); + } + }); + + // ── Debug tools (Wave A3) ── + // Action schemas for the tester form (declarative actions only; legacy ones + // are invoked freeform). + app.get('/api/debug/actions', (c) => + c.json({ actions: collectActionDocs(), categories: collectCategories() }), + ); + + // Manually invoke an action against one account. Real side effects — gated by + // the same /api/* auth. + app.post('/api/debug/invoke', async (c) => { + let body: unknown; + + try { + body = await c.req.json(); + } catch { + return c.json({ status: 'failed', message: '请求格式错误' }, 400); + } + + const { uin, action, params } = (body ?? {}) as { + uin?: unknown; + action?: unknown; + params?: unknown; + }; + + if (typeof uin !== 'string' || !UIN_REGEX.test(uin)) { + return c.json({ status: 'failed', message: '无效的账号' }, 400); + } + + if (typeof action !== 'string' || !action) { + return c.json({ status: 'failed', message: 'action 必填' }, 400); + } + + if ( + params !== undefined && + (typeof params !== 'object' || params === null || Array.isArray(params)) + ) { + return c.json({ status: 'failed', message: 'params 必须是对象' }, 400); + } + + const inst = oneBotManager.getInstance(uin); + + if (!inst) { + return c.json({ status: 'failed', message: '账号不在线' }, 404); + } + + const result = await inst.invokeAction(action, (params ?? {}) as OneBotJsonObject); + return c.json(result); + }); + + // Invoke a Stream API action (or any action) and relay every frame to the + // browser over an SSE body. The frontend uses fetch()+a stream reader so + // the session token stays in a header on this POST. Frames are never dropped. + app.post('/api/debug/invoke-stream', async (c) => { + let body: unknown; + + try { + body = await c.req.json(); + } catch { + return c.json({ status: 'failed', message: '请求格式错误' }, 400); + } + + const { uin, action, params } = (body ?? {}) as { + uin?: unknown; + action?: unknown; + params?: unknown; + }; + + if (typeof uin !== 'string' || !UIN_REGEX.test(uin)) { + return c.json({ status: 'failed', message: '无效的账号' }, 400); + } + + if (typeof action !== 'string' || !action) { + return c.json({ status: 'failed', message: 'action 必填' }, 400); + } + + if ( + params !== undefined && + (typeof params !== 'object' || params === null || Array.isArray(params)) + ) { + return c.json({ status: 'failed', message: 'params 必须是对象' }, 400); + } + + const inst = oneBotManager.getInstance(uin); + + if (!inst) { + return c.json({ status: 'failed', message: '账号不在线' }, 404); + } + + const rawRequest = JSON.stringify({ action, params: params ?? {} }); + return buildStreamInvokeResponse( + (rq, emit, alive) => inst.invokeStream(rq, emit, alive), + rawRequest, + AbortSignal.any([c.req.raw.signal, shutdownStreams.signal]), + ); + }); + + // Stream a browser-selected file to a temp path on THIS server (the bot runs + // here, not on the operator's machine), so the returned path can be fed to a + // send action's file/image/record/video param. Raw bytes in the body, + // `?filename=` for a human-readable suffix; streamed to disk with a byte cap. + app.post('/api/debug/upload', async (c) => { + try { + const result = await streamUploadToDisk( + c.req.raw.body as ReadableStream | null, + c.req.query('filename'), + ); + return c.json({ status: 'ok', path: result.path, size: result.size }); + } catch (err) { + return c.json( + { status: 'failed', message: err instanceof Error ? err.message : '上传失败' }, + 400, + ); + } + }); + + // Live merged SSE of OneBot events + action calls across all accounts. Taps + // are attached only while a client is connected (on-demand). A slow client is + // dropped (not back-pressured onto the bot) with a periodic drop marker. + app.get('/api/debug/stream', (c) => + sseResponse(c, (ch) => { + // Drop-under-backpressure framing (unit-tested in debug-stream.ts). + const pushFrame = createFramePusher({ + desiredSize: ch.desiredSize, + enqueue: ch.raw, + encode: ch.encode, + }); + + const send = (payload: unknown) => { + if (!ch.isClosed()) { + pushFrame(payload); + } + }; + + send({ kind: 'ready' }); + + for (const inst of oneBotManager.getInstances()) { + const uin = inst.uin; + ch.onClose( + inst.subscribeDebugEvents((event) => send({ kind: 'event', uin, event })), + ); + ch.onClose(inst.observeActions((rec) => send({ kind: 'action', uin, ...rec }))); + } + }), + ); + + app.get('/api/qq-list', (c) => { + const instances = oneBotManager.getInstances(); + const list = instances.map((inst) => ({ uin: inst.uin, nickname: inst.nickname })); + return c.json({ list }); + }); + + // Live OneBot adapter health per account (listening / connected / client + // counts / last-delivery), powering the dashboard's connection card. + app.get('/api/connections', (c) => { + return c.json({ list: oneBotManager.getConnectionStatuses() }); + }); + + // Combined SSE feed for the dashboard's three live resources — processes, + // qq-list, connections. Replaces the 3s REST polling tick in + // app-layout.tsx; the REST endpoints above stay for the initial fetch + // before SSE connects and for the slow (30s) reconciliation fallback. + // + // On connect: one frame per resource with the current snapshot. After + // that: a fresh snapshot per resource only when the StateBus signals a + // change (HookSession status-changed, BridgeManager session edges, the + // connection-status diff loop). 50ms per-resource debounce coalesces a + // burst (e.g. multiple HookSessions flipping status simultaneously). + const stateBus = listener.stateBus; + const subscribeConnections = + stateBus && + createConnectionPoller({ + bus: stateBus, + getSnapshot: () => oneBotManager.getConnectionStatuses(), + pickComparable: comparableConnectionSnapshot, + }); + app.get('/api/state/stream', (c) => { + if (!stateBus || !subscribeConnections) { + // Build without state-wiring (e.g. a future headless mode) — clients + // fall back to the REST endpoints. Treat as endpoint-not-here. + return c.text('state stream not configured', 503); + } + + const liveBus = stateBus; + return sseResponse(c, (ch) => { + ch.onClose(subscribeConnections()); + const pushFrame = createFramePusher({ + desiredSize: ch.desiredSize, + enqueue: ch.raw, + encode: ch.encode, + }); + + const send = (payload: unknown) => { + if (!ch.isClosed()) { + pushFrame(payload); + } + }; + + send({ kind: 'ready' }); + + const handle = bindStateStream({ + bus: liveBus, + snapshot: async (resource: StateResource): Promise => { + if (resource === 'processes') { + if (!hookManager) { + return []; + } + + return hookManager.listProcesses(); + } + + if (resource === 'qq-list') { + return oneBotManager + .getInstances() + .map((inst) => ({ uin: inst.uin, nickname: inst.nickname })); + } + + return oneBotManager.getConnectionStatuses(); + }, + send: (frame) => send(frame), + debounceMs: 50, + }); + ch.onClose(() => handle.dispose()); + // Prime with the initial snapshot; if the client never sees the + // bus publish (idle system) it still has the current state. + void handle.sendAllInitial(); + }); + }); + + app.get('/api/logs', (c) => { + const limit = Number(c.req.query('limit') ?? 300); + return c.json({ list: getRecentLogs(limit) }); + }); + + app.get('/api/logs/export/trace', (c) => { + const exportedAt = new Date().toISOString(); + const download = buildFullTraceDownload(getLogSnapshot(), { + version: APP_VERSION, + operatingSystem: os.platform(), + architecture: os.arch(), + nodeVersion: process.version, + logLevel: getLogLevel(), + exportedAt, + }); + + for (const [name, value] of Object.entries(download.headers)) { + c.header(name, value); + } + + return c.body(download.body); + }); + + app.get('/api/logs/level', (c) => { + return c.json({ level: getLogLevel(), levels: [...LOG_LEVELS] }); + }); + + app.post('/api/logs/level', async (c) => { + const body = (await c.req.json().catch(() => null)) as { level?: unknown } | null; + const next = typeof body?.level === 'string' ? body.level : ''; + + if (!setLogLevel(next)) { + return c.json({ message: `invalid level: ${next}`, levels: [...LOG_LEVELS] }, 400); + } + + log.info('console log level set to %s via WebUI', getLogLevel()); + return c.json({ level: getLogLevel(), levels: [...LOG_LEVELS] }); + }); + + app.get('/api/logs/stream', (c) => + sseResponse(c, (ch) => { + ch.send({ type: 'ready' }); + ch.onClose(subscribeLogs((entry) => ch.send(entry))); + }), + ); + + app.get('/api/processes', async (c) => { + if (!hookManager) { + return c.json({ list: [] }); + } + + try { + return c.json({ list: await hookManager.listProcesses() }); + } catch (err) { + return c.json( + { list: [], message: err instanceof Error ? err.message : String(err) }, + 500, + ); + } + }); + + // Per-process action handler. The three routes below differ only in + // which HookManager method they call. + const MAX_PID = 4_194_304; + + function processAction(label: string, action: (pid: number) => Promise) { + return async (c: Context) => { + if (!hookManager) { + return c.json({ success: false, message: 'hook manager is not available' }, 503); + } + + const pid = Number(c.req.param('pid')); + + if (!Number.isInteger(pid) || pid <= 0 || pid > MAX_PID) { + return c.json({ success: false, message: 'invalid pid' }, 400); + } + + try { + const processInfo = await action(pid); + return c.json({ success: processInfo.status !== 'error', process: processInfo }); + } catch (err) { + log.warn( + '%s pid=%d failed: %s', + label, + pid, + err instanceof Error ? err.message : String(err), + ); + return c.json({ success: false, message: '操作失败,请检查服务器日志' }, 500); + } + }; + } + + app.post( + '/api/processes/:pid/load', + processAction('load', (pid) => hookManager!.loadProcess(pid)), + ); + app.post( + '/api/processes/:pid/unload', + processAction('unload', (pid) => hookManager!.unloadProcess(pid)), + ); + app.post( + '/api/processes/:pid/refresh', + processAction('refresh', (pid) => hookManager!.refreshProcess(pid)), + ); + + app.get('/api/config/:uin', (c) => { + const uin = c.req.param('uin'); + + if (!UIN_REGEX.test(uin)) { + return c.json({ message: 'invalid uin' }, 400); + } + + // Read-only: never write defaults to disk on a GET. The persisted + // file is created when manager.onSessionStarted boots an instance + // or when the operator POSTs from this very endpoint. + const config = loadOneBotConfig(uin); + return c.json({ config }); + }); + + app.post('/api/config/:uin', async (c) => { + const uin = c.req.param('uin'); + + if (!UIN_REGEX.test(uin)) { + return c.json({ success: false, message: 'invalid uin' }, 400); + } + + let body: unknown; + + try { + body = await c.req.json(); + } catch { + return c.json( + { success: false, saved: false, applied: false, message: '请求格式错误' }, + 400, + ); + } + + let nextConfig: OneBotConfig; + + try { + assertValidOneBotConfig(body); + nextConfig = body; + + let previousConfig: OneBotConfig | null = null; + + try { + previousConfig = loadOneBotConfig(uin); + } catch (err) { + // A damaged existing file must not strand the recovery UI. Treat the + // submitted endpoints as new, apply the full policy, and let the + // subsequent atomic save either repair the file or fail visibly. + log.warn( + 'could not read prior OneBot config for uin=%s before save: %s', + uin, + err instanceof Error ? err.message : String(err), + ); + } + + validateOneBotAccessTokenChanges(previousConfig, nextConfig, { + clientIp: getSecurityClientIp(c), + uin, + }); + saveOneBotConfig(uin, nextConfig); + } catch (err) { + const message = err instanceof Error ? err.message : String(err); + + if ( + err instanceof OneBotConfigValidationError || + err instanceof OneBotAccessTokenPolicyError + ) { + log.warn('reject invalid config for uin=%s: %s', uin, message); + return c.json({ success: false, saved: false, applied: false, message }, 400); + } + + log.error('persist config for uin=%s failed: %s', uin, message); + return c.json( + { + success: false, + saved: false, + applied: false, + message: '配置保存失败,请检查服务器日志', + }, + 500, + ); + } + + try { + // Apply the exact validated value that was persisted above. Re-reading + // the path here would race concurrent POSTs (request A could load B and + // falsely report that A was applied). + const apply = await oneBotManager.reloadConfig(uin, nextConfig); + const message = !apply.online + ? '配置保存成功,当前会话未在线,将在下次连接时生效。' + : apply.applied + ? '配置保存成功,已热重载当前会话。' + : '配置已保存,但部分网络节点未能应用;旧节点已尽力恢复,请查看错误详情。'; + log.info( + 'Updated OneBot config for UIN=%s saved=true online=%s applied=%s failures=%d', + uin, + String(apply.online), + String(apply.applied), + apply.errors.length, + ); + return c.json({ + success: true, + saved: true, + applied: apply.applied, + online: apply.online, + errors: apply.errors, + adapters: apply.adapters, + config: body, + // Legacy compatibility: this field used to mean "a live instance was + // asked to reload". It now only claims success after the awaitable + // reconcile actually completed. + reloaded: apply.online && apply.applied, + message, + }); + } catch (err) { + const message = err instanceof Error ? err.message : String(err); + log.error('config saved but apply crashed for uin=%s: %s', uin, message); + return c.json({ + success: true, + saved: true, + applied: false, + online: oneBotManager.getInstance(uin) !== null, + reloaded: false, + errors: [{ name: 'network-manager', phase: 'reload', message, at: Date.now() }], + config: body, + message: '配置已保存,但热重载失败,请检查服务器日志。', + }); + } + }); + + // ─── Notifications (account up/down → webhook) ─────────────────────────── + // Global channel store (config/notifications.json); per-UIN opt-in lives in + // OneBotConfig.notifications.channelIds. All bearer-gated — channel URLs can + // embed secrets, so none of this is exposed unauthenticated. + app.get('/api/notifications/config', (c) => c.json({ config: loadNotificationsConfig() })); + + app.post('/api/notifications/config', async (c) => { + const declaredLen = Number(c.req.header('content-length')); + + if (Number.isFinite(declaredLen) && declaredLen > 512 * 1024) { + return c.json({ success: false, message: '配置过大' }, 413); + } + + let body: unknown; + + try { + body = await c.req.json(); + } catch { + return c.json({ success: false, message: '请求格式错误' }, 400); + } + + try { + const config = saveNotificationsConfig(body); + return c.json({ success: true, config }); + } catch (err) { + log.warn( + 'save notifications config failed: %s', + err instanceof Error ? err.message : String(err), + ); + return c.json({ success: false, message: '保存失败,请检查服务器日志' }, 500); + } + }); + + app.get('/api/notifications/recent', (c) => { + if (!notificationManager) { + return c.json({ recent: [] }); + } + + const limitRaw = Number(c.req.query('limit')); + const limit = + Number.isFinite(limitRaw) && limitRaw > 0 ? Math.min(Math.trunc(limitRaw), 100) : 100; + return c.json({ recent: notificationManager.getRecent(limit) }); + }); + + app.post('/api/notifications/test', async (c) => { + if (!notificationManager) { + return c.json({ success: false, message: '通知子系统不可用' }, 503); + } + + let body: { channelId?: unknown }; + + try { + body = await c.req.json(); + } catch { + return c.json({ success: false, message: '请求格式错误' }, 400); + } + + const channelId = typeof body.channelId === 'string' ? body.channelId : ''; + + if (!channelId) { + return c.json({ success: false, message: '缺少 channelId' }, 400); + } + + const result = await notificationManager.testSend(channelId); + + if (!result.found) { + return c.json({ success: false, message: '渠道不存在' }, 404); + } + + return c.json({ + success: result.ok, + status: result.status, + message: result.ok + ? '测试发送成功' + : `测试发送失败:${result.error ?? (result.status ? `HTTP ${result.status}` : '未知错误')}`, + }); + }); + + // ─── Global deployment config (config/snowluma.json) ───────────────────── + // All-accounts SnowLuma knobs (rkey fallback servers + musicSignUrl). Saving + // section-merges + normalizes server-side, then hot-reloads every instance. + app.get('/api/global-config', (c) => c.json({ config: loadGlobalSettings() })); + + app.post('/api/global-config', async (c) => { + const declaredLen = Number(c.req.header('content-length')); + + if (Number.isFinite(declaredLen) && declaredLen > 512 * 1024) { + return c.json({ success: false, message: '配置过大' }, 413); + } + + let body: unknown; + + try { + body = await c.req.json(); + } catch { + return c.json({ success: false, message: '请求格式错误' }, 400); + } + + try { + const config = saveGlobalSettings(body); + oneBotManager.reloadGlobalSettings(); + return c.json({ success: true, config }); + } catch (err) { + log.warn( + 'save global config failed: %s', + err instanceof Error ? err.message : String(err), + ); + + if (err instanceof RangeError) { + return c.json({ success: false, message: err.message }, 400); + } + + return c.json({ success: false, message: '保存失败,请检查服务器日志' }, 500); + } + }); + + // ─── WebUI customization config (config/ui.json) ───────────────────────── + // Appearance (A) + layout (C). The full config is bearer-gated; only the + // cosmetic appearance subset is exposed unauthenticated for the login page. + app.get('/api/ui', (c) => c.json({ config: loadUiConfig() })); + + app.get('/api/ui/public', (c) => c.json({ appearance: publicAppearance() })); + + app.post('/api/ui', async (c) => { + // Reject oversized bodies before buffering — the normalizer caps individual + // fields (customCss 50KB, per-widget config 4KB) but not the whole payload. + const declaredLen = Number(c.req.header('content-length')); + + if (Number.isFinite(declaredLen) && declaredLen > 256 * 1024) { + return c.json({ success: false, message: '配置过大' }, 413); + } + + let body: unknown; + + try { + body = await c.req.json(); + } catch { + return c.json({ success: false, message: '请求格式错误' }, 400); + } + + try { + const config = saveUiConfig(body); + return c.json({ success: true, config }); + } catch (err) { + log.warn('save ui.json failed: %s', err instanceof Error ? err.message : String(err)); + return c.json({ success: false, message: '保存失败,请检查服务器日志' }, 400); + } + }); + + app.post('/api/ui/background', async (c) => { + // Early reject by Content-Length BEFORE parseBody() buffers the whole + // multipart body into memory — otherwise a multi-GB upload is fully + // materialized before the post-parse size check fires. The slack covers + // the multipart envelope (boundary + part headers); the exact decoded + // size is still enforced below. A chunked request with no Content-Length + // skips this coarse guard, but the endpoint is bearer-gated to the single + // admin, so that residual is acceptable. + const declaredLen = Number(c.req.header('content-length')); + + if (Number.isFinite(declaredLen) && declaredLen > MAX_BACKGROUND_BYTES + 1024 * 1024) { + return c.json({ success: false, message: '图片过大(上限 5MB)' }, 413); + } + + let file: unknown; + + try { + const form = await c.req.parseBody(); + file = form['file']; + } catch { + return c.json({ success: false, message: '上传解析失败' }, 400); + } + + if (!(file instanceof File)) { + return c.json({ success: false, message: '缺少图片文件' }, 400); + } + + if (file.size > MAX_BACKGROUND_BYTES) { + return c.json({ success: false, message: '图片过大(上限 5MB)' }, 413); + } + + const bytes = new Uint8Array(await file.arrayBuffer()); + const mime = sniffImageMime(bytes); + + if (!mime) { + return c.json({ success: false, message: '仅支持 PNG / JPEG / WebP 图片' }, 415); + } + + try { + const config = writeBackgroundImage(bytes, mime); + return c.json({ success: true, config }); + } catch (err) { + log.warn( + 'write background image failed: %s', + err instanceof Error ? err.message : String(err), + ); + return c.json({ success: false, message: '保存图片失败,请检查服务器日志' }, 500); + } + }); + + app.delete('/api/ui/background', (c) => { + try { + const config = clearBackgroundImage(); + return c.json({ success: true, config }); + } catch (err) { + log.warn( + 'clear background image failed: %s', + err instanceof Error ? err.message : String(err), + ); + return c.json({ success: false, message: '删除图片失败' }, 500); + } + }); + + // ─── Static frontend ───────────────────────────────────────────────────── + // Build path is relative to the bundled / dev __dirname. SPA fallback to + // index.html so client-side routes (if any) keep working. + const staticRoot = path.resolve(__dirname, 'client'); + registerStaticFrontend(app, staticRoot, webuiTarget); + + const finalPort = await findAvailablePort(desiredPort, { host }); + + if (finalPort !== desiredPort) { + log.warn('port %d is in use, using %d instead', desiredPort, finalPort); + } + + boundPort = finalPort; + + // TLS is an explicit transport promise. Once enabled, an unusable pair must + // abort startup instead of silently exposing the listener over plaintext. + let tlsServe: + | { createServer: typeof createHttpsServer; serverOptions: { cert: Buffer; key: Buffer } } + | undefined; + let scheme = 'http'; + + if (listener.tlsEnabled) { + const tls = requireTlsContext('config'); + tlsServe = { createServer: createHttpsServer, serverOptions: tls }; + scheme = 'https'; + } + + const listeningServer = await new Promise>((resolve) => { + const server = serve( + { fetch: app.fetch, port: finalPort, hostname: host, ...(tlsServe ?? {}) }, + (info) => { + log.info(`listening ${scheme}://${host}:${info.port}`); + resolve(server); + }, + ); + }); + const tokenJanitor = setInterval(purgeExpiredTokens, 60_000); + tokenJanitor.unref(); + return { + port: finalPort, + async stop() { + clearInterval(tokenJanitor); + shutdownStreams.abort(); + await new Promise((resolve, reject) => { + listeningServer.close((err) => (err ? reject(err) : resolve())); + }); + }, + }; +} diff --git a/packages/core/src/webui/sse-response.ts b/packages/core/src/webui/sse-response.ts new file mode 100644 index 00000000..ccf891d6 --- /dev/null +++ b/packages/core/src/webui/sse-response.ts @@ -0,0 +1,111 @@ +import { createLogger } from '@snowluma/common/logger'; + +const log = createLogger('WebUI.SSE'); + +export interface SseChannel { + raw(chunk: Uint8Array): void; + encode(s: string): Uint8Array; + send(payload: unknown): void; + onClose(cleanup: () => void): void; + close(): void; + isClosed(): boolean; + desiredSize(): number | null; +} + +/** Owns stream cancellation, subscriptions and the keep-alive timer. */ +export function sseResponse( + request: AbortSignal, + start: (channel: SseChannel) => void, + shutdown?: AbortSignal, +): Response { + const signal = shutdown ? AbortSignal.any([request, shutdown]) : request; + let cancel!: () => void; + const stream = new ReadableStream({ + start(controller) { + const encoder = new TextEncoder(); + let closed = false; + let heartbeat: ReturnType | undefined; + const cleanups: Array<() => void> = []; + + const cleanup = (fn: () => void) => { + try { + fn(); + } catch (error) { + log.warn('stream cleanup failed: %s', error); + } + }; + + const teardown = (closeStream = true) => { + if (closed) { + return; + } + + closed = true; + clearInterval(heartbeat); + signal.removeEventListener('abort', onAbort); + + if (closeStream) { + controller.close(); + } + + cleanups.splice(0).forEach(cleanup); + }; + + const onAbort = () => teardown(); + cancel = () => teardown(false); + signal.addEventListener('abort', onAbort, { once: true }); + + if (signal.aborted) { + teardown(); + return; + } + + const raw = (chunk: Uint8Array) => { + if (!closed) { + controller.enqueue(chunk); + } + }; + + const channel: SseChannel = { + raw, + encode: (text) => encoder.encode(text), + send: (payload) => { + if (!closed) { + raw(encoder.encode(`data: ${JSON.stringify(payload)}\n\n`)); + } + }, + onClose: (fn) => { + if (closed) { + cleanup(fn); + } else { + cleanups.push(fn); + } + }, + close: () => teardown(), + isClosed: () => closed, + desiredSize: () => controller.desiredSize, + }; + + try { + start(channel); + + if (!closed) { + heartbeat = setInterval(() => raw(encoder.encode(': heartbeat\n\n')), 15000); + } + } catch (error) { + teardown(); + throw error; + } + }, + cancel() { + cancel(); + }, + }); + return new Response(stream, { + headers: { + 'Content-Type': 'text/event-stream', + 'Cache-Control': 'no-cache', + Connection: 'keep-alive', + }, + }); +} diff --git a/packages/core/src/webui/state-bus.ts b/packages/core/src/webui/state-bus.ts new file mode 100644 index 00000000..2034f7d1 --- /dev/null +++ b/packages/core/src/webui/state-bus.ts @@ -0,0 +1,62 @@ +import { createLogger } from '@snowluma/common/logger'; + +const log = createLogger('WebUI.State'); + +export type StateResource = 'processes' | 'qq-list' | 'connections'; + +export type StateListener = (resource: StateResource) => void; + +export class StateBus { + private readonly listeners = new Set(); + private disposed = false; + + /** Subscribe to every publish; returns an unsubscribe handle. Calling + * the handle more than once is a no-op. */ + subscribe(listener: StateListener): () => void { + if (this.disposed) { + return () => undefined; + } + + this.listeners.add(listener); + let active = true; + + return () => { + if (!active) { + return; + } + + active = false; + this.listeners.delete(listener); + }; + } + + /** Notify every CURRENTLY-subscribed listener that `resource` is stale. + * Iterates a frozen snapshot of the subscriber set so add/remove during + * the emit don't change which listeners see THIS publish; subscriber + * exceptions are isolated and do not abort the fan-out. */ + publish(resource: StateResource): void { + if (this.disposed) { + return; + } + + const snapshot = [...this.listeners]; + + for (const fn of snapshot) { + try { + fn(resource); + } catch (error) { + log.warn( + 'state listener failed: resource=%s error=%s', + resource, + error instanceof Error ? error.message : String(error), + ); + } + } + } + + /** Drop every subscriber and refuse future subscribes / publishes. */ + dispose(): void { + this.disposed = true; + this.listeners.clear(); + } +} diff --git a/packages/core/src/webui/state-stream.ts b/packages/core/src/webui/state-stream.ts new file mode 100644 index 00000000..a7ce90f1 --- /dev/null +++ b/packages/core/src/webui/state-stream.ts @@ -0,0 +1,120 @@ +import { errorMessage } from '@snowluma/common/errors'; +import { createLogger } from '@snowluma/common/logger'; +import type { StateBus, StateResource } from './state-bus'; + +const log = createLogger('WebUI.StateStream'); + +export interface StateStreamFrame { + resource: StateResource; + data: unknown; +} + +export interface BindStateStreamOptions { + bus: StateBus; + /** Read the current snapshot for one resource. May be sync or async. */ + snapshot: (resource: StateResource) => unknown | Promise; + /** Receive a fresh frame; called once per debounced publish. + * Exceptions are caught — a dead controller must not abort the bus + * subscription or break sibling resources. */ + send: (frame: StateStreamFrame) => void; + /** Coalesce window in milliseconds; default 50. */ + debounceMs?: number; +} + +export interface StateStreamHandle { + /** Emit one frame per resource using the current snapshot. Use on connect. */ + sendAllInitial(): Promise; + /** Stop subscribing + cancel pending timers. Subsequent bus publishes + * produce nothing through this binding. */ + dispose(): void; +} + +const ALL_RESOURCES: readonly StateResource[] = ['processes', 'qq-list', 'connections']; + +export function bindStateStream(opts: BindStateStreamOptions): StateStreamHandle { + const debounceMs = opts.debounceMs ?? 50; + let disposed = false; + + function resourceStream(resource: StateResource) { + let timer: ReturnType | null = null; + let task: Promise | null = null; + let pending = false; + + function clearTimer() { + if (timer !== null) { + clearTimeout(timer); + timer = null; + } + } + + function flush(): Promise { + if (disposed) { + return Promise.resolve(); + } + + if (task) { + return task; + } + + clearTimer(); + task = Promise.resolve() + .then(async () => { + if (disposed) { + return; + } + + const data = await opts.snapshot(resource); + + if (!disposed) { + opts.send({ resource, data }); + } + }) + .catch((error) => { + log.warn('state stream %s failed: %s', resource, errorMessage(error)); + }) + .finally(() => { + task = null; + + if (pending) { + pending = false; + schedule(); + } + }); + return task; + } + + function schedule(): void { + if (disposed) { + return; + } + + if (task) { + pending = true; + return; + } + + clearTimer(); + timer = setTimeout(() => void flush(), debounceMs); + } + + return { flush, schedule, clearTimer }; + } + + const streams = { + processes: resourceStream('processes'), + 'qq-list': resourceStream('qq-list'), + connections: resourceStream('connections'), + }; + const unsubscribe = opts.bus.subscribe((resource) => streams[resource].schedule()); + + return { + async sendAllInitial(): Promise { + await Promise.all(ALL_RESOURCES.map((resource) => streams[resource].flush())); + }, + dispose(): void { + disposed = true; + unsubscribe(); + ALL_RESOURCES.forEach((resource) => streams[resource].clearTimer()); + }, + }; +} diff --git a/packages/core/src/webui/state-wiring.ts b/packages/core/src/webui/state-wiring.ts new file mode 100644 index 00000000..c8b3320a --- /dev/null +++ b/packages/core/src/webui/state-wiring.ts @@ -0,0 +1,31 @@ +import { StateBus } from './state-bus'; +import type { BridgeSessionSource } from '../bridge/bridge-interface'; + +export interface StateWiring { + readonly bus: StateBus; + onSessionsChanged(): void; + dispose(): void; +} + +export function createStateWiring(bridgeManager: BridgeSessionSource): StateWiring { + const bus = new StateBus(); + + const publishAccountChange = (): void => { + bus.publish('qq-list'); + bus.publish('connections'); + }; + + const unsubscribe = bridgeManager.subscribeSessions({ + started: publishAccountChange, + closed: publishAccountChange, + }); + + return { + bus, + onSessionsChanged: () => bus.publish('processes'), + dispose(): void { + bus.dispose(); + unsubscribe(); + }, + }; +} diff --git a/packages/core/src/webui/static-frontend.ts b/packages/core/src/webui/static-frontend.ts new file mode 100644 index 00000000..da64f2bd --- /dev/null +++ b/packages/core/src/webui/static-frontend.ts @@ -0,0 +1,34 @@ +import { existsSync, readFileSync } from 'node:fs'; +import path from 'node:path'; +import type { Hono, Context } from 'hono'; +import { serveStatic } from '@hono/node-server/serve-static'; +import { injectWebuiTarget, type WebuiTarget } from '@snowluma/common/webui-target'; + +/** All document entry paths share runtime injection, including direct index.html requests. */ +export function registerStaticFrontend(app: Hono, root: string, target: WebuiTarget | null): void { + const indexPath = path.join(root, 'index.html'); + + const document = (c: Context) => { + if (!existsSync(indexPath)) { + return c.text( + 'WebUI client bundle not found. Run `pnpm --filter webui build` (or use the dev server on :5178).', + 404, + ); + } + + // A packaged frontend can be reused with a different deployment target on restart. + c.header('Cache-Control', 'no-store'); + return c.html(injectWebuiTarget(readFileSync(indexPath, 'utf8'), target)); + }; + + app.get('/', document); + app.get('/index.html', document); + app.use('/*', serveStatic({ root })); + app.get('*', (c) => { + if (['/api/', '/avatar/', '/ui-asset/'].some((prefix) => c.req.path.startsWith(prefix))) { + return c.text('not found', 404); + } + + return document(c); + }); +} diff --git a/packages/core/src/webui/storage-management.ts b/packages/core/src/webui/storage-management.ts new file mode 100644 index 00000000..b3dd2722 --- /dev/null +++ b/packages/core/src/webui/storage-management.ts @@ -0,0 +1,384 @@ +import { errorMessage } from '@snowluma/common/errors'; +import fs from 'node:fs'; +import path from 'node:path'; +import type { LogCleanupResult, LogStorageStatus } from '@snowluma/common/log-file-transport'; +import { isRealUin } from '@snowluma/common/uin'; + +export interface TemporaryStorageSnapshot { + totalBytes: number; + fileCount: number; + activeItemCount: number; +} + +export interface TemporaryCleanupResult { + deletedFiles: number; + freedBytes: number; + skippedActiveItems: number; + failures: Array<{ item: string; message: string }>; +} + +export interface TemporaryStorageAdapter { + snapshot(): TemporaryStorageSnapshot; + clearInactive(): TemporaryCleanupResult; +} + +export interface OnlineStorageAccount { + uin: string; + nickname: string; +} + +export interface AccountStorageSnapshot { + uin: string; + nickname?: string; + online: boolean; + messagesBytes: number; + mediaBytes: number; + reactionsBytes: number; + totalBytes: number; +} + +export type PublicLogStorageStatus = Omit; + +export function publicLogStorageStatus(status: LogStorageStatus): PublicLogStorageStatus { + const { directory, ...publicStatus } = status; + + if (!publicStatus.lastError) { + return publicStatus; + } + + return { + ...publicStatus, + lastError: redactFilesystemPath(publicStatus.lastError, directory, '[日志目录]'), + }; +} + +export interface PublicLogCleanupResult extends Omit { + status: PublicLogStorageStatus; +} + +export interface StorageSnapshot { + logs: PublicLogStorageStatus; + temporary: TemporaryStorageSnapshot; + accounts: AccountStorageSnapshot[]; + totals: { + logsBytes: number; + temporaryBytes: number; + accountDataBytes: number; + managedBytes: number; + }; +} + +export type AccountStorageCategory = 'messages' | 'media' | 'reactions'; + +export interface AccountDataCleanupResult { + category: AccountStorageCategory; + uins: string[]; + deletedFiles: number; + freedBytes: number; + failures: Array<{ uin: string; file: string; message: string }>; +} + +export class StorageManagementInputError extends Error { + constructor(message: string) { + super(message); + this.name = 'StorageManagementInputError'; + } +} + +export class StorageAccountOnlineError extends Error { + constructor(readonly uins: string[]) { + super(`account data cleanup requires offline accounts: ${uins.join(', ')}`); + this.name = 'StorageAccountOnlineError'; + } +} + +export interface StorageManagementDependencies { + dataDir: string; + getLogStatus(): LogStorageStatus; + clearLogs(): Promise; + temporary: TemporaryStorageAdapter; + listOnlineAccounts(): OnlineStorageAccount[]; +} + +const DATABASE_FILES = { + messages: ['messages.db', 'messages.db-wal', 'messages.db-shm', 'messages.db-journal'], + media: ['media.db', 'media.db-wal', 'media.db-shm', 'media.db-journal'], + reactions: ['reactions.db', 'reactions.db-wal', 'reactions.db-shm', 'reactions.db-journal'], +} as const; + +export class StorageManagementService { + constructor(private readonly deps: StorageManagementDependencies) {} + + snapshot(): StorageSnapshot { + const logStatus = this.deps.getLogStatus(); + const logs = publicLogStorageStatus(logStatus); + const temporary = this.deps.temporary.snapshot(); + const accounts = this.accountSnapshots(); + const accountDataBytes = accounts.reduce((sum, account) => sum + account.totalBytes, 0); + return { + logs, + temporary, + accounts, + totals: { + logsBytes: logs.totalBytes, + temporaryBytes: temporary.totalBytes, + accountDataBytes, + managedBytes: logs.totalBytes + temporary.totalBytes + accountDataBytes, + }, + }; + } + + async clearLogs(): Promise { + const result = await this.deps.clearLogs(); + return { + ...result, + failures: result.failures.map((failure) => ({ + ...failure, + message: redactFilesystemPath( + failure.message, + result.status.directory, + '[日志目录]', + ), + })), + status: publicLogStorageStatus(result.status), + }; + } + + clearTemporary(): TemporaryCleanupResult { + return this.deps.temporary.clearInactive(); + } + + clearAccountData(category: string, uin: string): AccountDataCleanupResult { + const validatedCategory = validateAccountStorageCategory(category); + + if (!isRealUin(uin)) { + throw new StorageManagementInputError(`invalid UIN: ${uin}`); + } + + return this.clearAccountDataForUins(validatedCategory, [uin]); + } + + clearAllAccountData(category: string): AccountDataCleanupResult { + const validatedCategory = validateAccountStorageCategory(category); + const uins = listDirectoryNames(this.deps.dataDir) + .filter((name) => isRealUin(name)) + .sort((a, b) => Number(a) - Number(b)); + return this.clearAccountDataForUins(validatedCategory, uins); + } + + private clearAccountDataForUins( + category: AccountStorageCategory, + uins: string[], + ): AccountDataCleanupResult { + const hasManagedRoot = assertManagedDataRootOrMissing(this.deps.dataDir); + const onlineUins = new Set( + this.deps + .listOnlineAccounts() + .map((account) => account.uin) + .filter((uin) => isRealUin(uin)), + ); + const blockedUins = uins.filter((uin) => onlineUins.has(uin)); + + if (blockedUins.length > 0) { + throw new StorageAccountOnlineError(blockedUins); + } + + const failures: AccountDataCleanupResult['failures'] = []; + let deletedFiles = 0; + let freedBytes = 0; + + if (!hasManagedRoot) { + return { category, uins, deletedFiles, freedBytes, failures }; + } + + for (const uin of uins) { + const dir = path.join(this.deps.dataDir, uin); + + if (!isManagedDirectory(dir)) { + continue; + } + + for (const name of DATABASE_FILES[category]) { + const filePath = path.join(dir, name); + let bytes: number; + + try { + const stat = fs.lstatSync(filePath); + + if (!stat.isFile()) { + continue; + } + + bytes = stat.size; + } catch (error) { + if (isMissing(error)) { + continue; + } + + failures.push({ + uin, + file: name, + message: redactFilesystemPath( + errorMessage(error), + filePath, + '[账号数据库]', + ), + }); + continue; + } + + try { + fs.unlinkSync(filePath); + deletedFiles += 1; + freedBytes += bytes; + } catch (error) { + if (isMissing(error)) { + continue; + } + + failures.push({ + uin, + file: name, + message: redactFilesystemPath( + errorMessage(error), + filePath, + '[账号数据库]', + ), + }); + } + } + } + + return { category, uins, deletedFiles, freedBytes, failures }; + } + + private accountSnapshots(): AccountStorageSnapshot[] { + const online = new Map( + this.deps + .listOnlineAccounts() + .filter((account) => isRealUin(account.uin)) + .map((account) => [account.uin, account.nickname]), + ); + const uins = new Set(online.keys()); + + for (const name of listDirectoryNames(this.deps.dataDir)) { + if (isRealUin(name)) { + uins.add(name); + } + } + + return [...uins] + .sort((a, b) => Number(a) - Number(b)) + .map((uin) => { + const dir = path.join(this.deps.dataDir, uin); + const managedDirectory = isManagedDirectory(dir); + const messagesBytes = managedDirectory + ? sumAllowlistedFiles(dir, DATABASE_FILES.messages) + : 0; + const mediaBytes = managedDirectory + ? sumAllowlistedFiles(dir, DATABASE_FILES.media) + : 0; + const reactionsBytes = managedDirectory + ? sumAllowlistedFiles(dir, DATABASE_FILES.reactions) + : 0; + const nickname = online.get(uin); + return { + uin, + ...(nickname ? { nickname } : {}), + online: online.has(uin), + messagesBytes, + mediaBytes, + reactionsBytes, + totalBytes: messagesBytes + mediaBytes + reactionsBytes, + }; + }); + } +} + +function listDirectoryNames(dir: string): string[] { + if (!assertManagedDataRootOrMissing(dir)) { + return []; + } + + try { + return fs + .readdirSync(dir, { withFileTypes: true }) + .filter((entry) => entry.isDirectory()) + .map((entry) => entry.name); + } catch (error) { + if (isMissing(error)) { + return []; + } + + throw error; + } +} + +function assertManagedDataRootOrMissing(dir: string): boolean { + try { + const stat = fs.lstatSync(dir); + + if (!stat.isDirectory()) { + throw new Error('managed data root must be a real directory'); + } + + return true; + } catch (error) { + if (isMissing(error)) { + return false; + } + + throw error; + } +} + +function sumAllowlistedFiles(dir: string, names: readonly string[]): number { + let total = 0; + + for (const name of names) { + const filePath = path.join(dir, name); + + try { + const stat = fs.lstatSync(filePath); + + if (stat.isFile()) { + total += stat.size; + } + } catch (error) { + if (!isMissing(error)) { + throw error; + } + } + } + + return total; +} + +function isMissing(error: unknown): boolean { + return error instanceof Error && 'code' in error && error.code === 'ENOENT'; +} + +function isManagedDirectory(dir: string): boolean { + try { + return fs.lstatSync(dir).isDirectory(); + } catch (error) { + if (isMissing(error)) { + return false; + } + + throw error; + } +} + +function validateAccountStorageCategory(value: string): AccountStorageCategory { + if (value === 'messages' || value === 'media' || value === 'reactions') { + return value; + } + + throw new StorageManagementInputError(`unsupported account storage category: ${value}`); +} + +function redactFilesystemPath(message: string, filePath: string, label: string): string { + const absolute = path.resolve(filePath); + return message.split(absolute).join(label).split(filePath).join(label); +} diff --git a/packages/core/src/webui/storage-routes.ts b/packages/core/src/webui/storage-routes.ts new file mode 100644 index 00000000..4231e3e0 --- /dev/null +++ b/packages/core/src/webui/storage-routes.ts @@ -0,0 +1,370 @@ +import { isRealUin } from '@snowluma/common/uin'; +import { isObject } from '@snowluma/common/coerce'; +import type { Hono } from 'hono'; +import { + StorageAccountOnlineError, + StorageManagementInputError, + type AccountDataCleanupResult, + type AccountStorageCategory, + type PublicLogCleanupResult, + type StorageManagementService, + type StorageSnapshot, + type TemporaryCleanupResult, +} from './storage-management'; +import { + StorageSettingsInputError, + StorageSettingsLockedError, + StorageSettingsTransactionError, + type LogStorageSettingsManager, +} from './storage-settings'; + +export const ALL_ACCOUNTS_CONFIRMATION = '清理全部账号'; + +type StorageCleanupRequest = + | { scope: 'logs' } + | { scope: 'temporary' } + | { scope: 'account'; category: AccountStorageCategory; uin: string } + | { + scope: 'allAccounts'; + category: AccountStorageCategory; + confirmation: typeof ALL_ACCOUNTS_CONFIRMATION; + }; + +type StorageCleanupResult = + PublicLogCleanupResult | TemporaryCleanupResult | AccountDataCleanupResult; + +export interface StorageCleanupAuditEvent { + scope: StorageCleanupRequest['scope']; + accountScope: 'global' | 'single' | 'all'; + category?: AccountStorageCategory; + uin?: string; + deletedFiles: number; + freedBytes: number; + failureCount: number; +} + +export interface LastStorageCleanup extends StorageCleanupAuditEvent { + at: string; + skippedActiveItems?: number; + failures: Array<{ item: string; message: string }>; +} + +export interface StorageRouteDependencies { + storage: Pick< + StorageManagementService, + 'snapshot' | 'clearLogs' | 'clearTemporary' | 'clearAccountData' | 'clearAllAccountData' + >; + settings: Pick; + audit(event: StorageCleanupAuditEvent): void; + reportError(operation: string, error: unknown): void; + now?: () => Date; +} + +export function registerStorageRoutes(app: Hono, deps: StorageRouteDependencies): void { + let lastCleanup: LastStorageCleanup | null = null; + let mutationQueue: Promise = Promise.resolve(); + + const serializeMutation = (operation: () => Promise): Promise => { + const result = mutationQueue.then(operation); + mutationQueue = result.then( + () => undefined, + () => undefined, + ); + return result; + }; + + app.get('/api/system/storage', (c) => { + try { + return c.json({ + settings: deps.settings.read(), + snapshot: deps.storage.snapshot(), + lastCleanup, + }); + } catch (error) { + deps.reportError('read storage snapshot', error); + return c.json({ success: false, message: '读取存储信息失败,请检查服务器日志' }, 500); + } + }); + + app.post('/api/system/storage/settings', async (c) => { + let body: unknown; + + try { + body = await c.req.json(); + } catch { + return c.json({ success: false, message: '请求格式错误' }, 400); + } + + let result: Awaited>; + + try { + result = await serializeMutation(() => deps.settings.update(body)); + } catch (error) { + if (error instanceof StorageSettingsInputError) { + return c.json({ success: false, message: error.message }, 400); + } + + if (error instanceof StorageSettingsLockedError) { + return c.json( + { + success: false, + message: '这些设置已由环境变量锁定', + lockedFields: error.fields, + }, + 409, + ); + } + + deps.reportError('update log storage settings', error); + + if (error instanceof StorageSettingsTransactionError) { + deps.reportError('update log storage settings operation', error.operationError); + error.rollbackErrors.forEach((rollbackError, index) => { + deps.reportError( + `rollback log storage settings step=${String(index + 1)}`, + rollbackError, + ); + }); + return c.json( + { + success: false, + message: + error.rollbackErrors.length > 0 + ? '保存失败且回滚不完整,请立即检查服务器日志' + : '保存失败,原设置已恢复', + }, + 500, + ); + } + + return c.json({ success: false, message: '保存失败,请检查服务器日志' }, 500); + } + + try { + return c.json({ + success: true, + settings: result.settings, + status: result.status, + snapshot: deps.storage.snapshot(), + }); + } catch (error) { + deps.reportError('refresh storage snapshot after settings update', error); + return c.json( + { + success: false, + message: '设置已生效,但刷新存储统计失败,请检查服务器日志', + settings: result.settings, + status: result.status, + }, + 500, + ); + } + }); + + app.post('/api/system/storage/cleanup', async (c) => { + let body: unknown; + + try { + body = await c.req.json(); + } catch { + return c.json({ success: false, message: '请求格式错误' }, 400); + } + + let request: StorageCleanupRequest; + + try { + request = parseCleanupRequest(body); + } catch (error) { + const message = error instanceof Error ? error.message : '请求格式错误'; + return c.json({ success: false, message }, 400); + } + + let cleanup: StorageCleanupResult; + + try { + cleanup = await serializeMutation(() => executeCleanup(deps.storage, request)); + } catch (error) { + if (error instanceof StorageAccountOnlineError) { + return c.json( + { + success: false, + message: '账号在线,必须先下线后才能清理数据库', + onlineUins: error.uins, + }, + 409, + ); + } + + if (error instanceof StorageManagementInputError) { + return c.json({ success: false, message: error.message }, 400); + } + + deps.reportError(`clean storage scope=${request.scope}`, error); + return c.json({ success: false, message: '清理失败,请检查服务器日志' }, 500); + } + + const auditEvent: StorageCleanupAuditEvent = { + scope: request.scope, + accountScope: accountScope(request), + ...('category' in request ? { category: request.category } : {}), + ...(request.scope === 'account' ? { uin: request.uin } : {}), + deletedFiles: cleanup.deletedFiles, + freedBytes: cleanup.freedBytes, + failureCount: cleanup.failures.length, + }; + deps.audit(auditEvent); + + for (const failure of cleanup.failures) { + deps.reportError( + `clean storage scope=${request.scope} item=${cleanupFailureItem(failure)}`, + new Error(failure.message), + ); + } + + lastCleanup = { + at: (deps.now?.() ?? new Date()).toISOString(), + ...auditEvent, + ...('skippedActiveItems' in cleanup + ? { skippedActiveItems: cleanup.skippedActiveItems } + : {}), + failures: cleanup.failures.map((failure) => ({ + item: cleanupFailureItem(failure), + message: failure.message, + })), + }; + + let snapshot: StorageSnapshot; + + try { + snapshot = deps.storage.snapshot(); + } catch (error) { + deps.reportError( + `refresh storage snapshot after cleanup scope=${request.scope}`, + error, + ); + return c.json( + { + success: false, + message: '清理已执行,但刷新存储统计失败,请检查服务器日志', + scope: request.scope, + cleanup, + lastCleanup, + }, + 500, + ); + } + + const success = cleanup.failures.length === 0; + return c.json( + { + success, + ...(success ? {} : { message: '部分文件清理失败,请检查失败明细' }), + scope: request.scope, + cleanup, + snapshot, + lastCleanup, + }, + success ? 200 : 500, + ); + }); +} + +function parseCleanupRequest(body: unknown): StorageCleanupRequest { + if (!isObject(body) || typeof body.scope !== 'string') { + throw new StorageManagementInputError('scope is required'); + } + + if (body.scope === 'logs' || body.scope === 'temporary') { + assertExactKeys(body, ['scope']); + return { scope: body.scope }; + } + + if (body.scope === 'account') { + assertExactKeys(body, ['scope', 'category', 'uin']); + const category = parseCategory(body.category); + + if (typeof body.uin !== 'string' || !isRealUin(body.uin)) { + throw new StorageManagementInputError('invalid UIN'); + } + + return { scope: 'account', category, uin: body.uin }; + } + + if (body.scope === 'allAccounts') { + assertExactKeys(body, ['scope', 'category', 'confirmation']); + const category = parseCategory(body.category); + + if (body.confirmation !== ALL_ACCOUNTS_CONFIRMATION) { + throw new StorageManagementInputError('all-account cleanup requires confirmation'); + } + + return { + scope: 'allAccounts', + category, + confirmation: ALL_ACCOUNTS_CONFIRMATION, + }; + } + + throw new StorageManagementInputError(`unsupported cleanup scope: ${body.scope}`); +} + +async function executeCleanup( + storage: StorageRouteDependencies['storage'], + request: StorageCleanupRequest, +): Promise { + if (request.scope === 'logs') { + return storage.clearLogs(); + } + + if (request.scope === 'temporary') { + return storage.clearTemporary(); + } + + if (request.scope === 'account') { + return storage.clearAccountData(request.category, request.uin); + } + + return storage.clearAllAccountData(request.category); +} + +function parseCategory(value: unknown): AccountStorageCategory { + if (value === 'messages' || value === 'media' || value === 'reactions') { + return value; + } + + throw new StorageManagementInputError('unsupported account storage category'); +} + +function assertExactKeys(body: Record, allowed: string[]): void { + const allowedSet = new Set(allowed); + const unknown = Object.keys(body).filter((key) => !allowedSet.has(key)); + const missing = allowed.filter((key) => !(key in body)); + + if (unknown.length > 0 || missing.length > 0) { + throw new StorageManagementInputError('cleanup request has unexpected or missing fields'); + } +} + +function accountScope(request: StorageCleanupRequest): StorageCleanupAuditEvent['accountScope'] { + if (request.scope === 'account') { + return 'single'; + } + + if (request.scope === 'allAccounts') { + return 'all'; + } + + return 'global'; +} + +function cleanupFailureItem(failure: StorageCleanupResult['failures'][number]): string { + if ('uin' in failure) { + return `${failure.uin}/${failure.file}`; + } + + if ('file' in failure) { + return failure.file; + } + + return failure.item; +} diff --git a/packages/core/src/webui/storage-settings.ts b/packages/core/src/webui/storage-settings.ts new file mode 100644 index 00000000..c27d3909 --- /dev/null +++ b/packages/core/src/webui/storage-settings.ts @@ -0,0 +1,325 @@ +import { isObject } from '@snowluma/common/coerce'; +import type { LogStoragePolicy, LogStorageStatus } from '@snowluma/common/log-file-transport'; +import { + DEFAULT_LOG_MAX_TOTAL_MB, + DEFAULT_LOG_PER_UIN, + DEFAULT_LOG_RETAIN_DAYS, + MAX_LOG_RETAIN_DAYS, + MAX_LOG_TOTAL_MB, + type RuntimeConfig, +} from '@snowluma/common/runtime'; +import { publicLogStorageStatus, type PublicLogStorageStatus } from './storage-management'; + +export type LogStorageSettingsField = 'logMaxTotalMb' | 'logRetainDays' | 'logPerUin'; + +export interface LogStorageSettings { + logMaxTotalMb: number; + logRetainDays: number; + logPerUin: boolean; +} + +export interface LogStorageSettingsState { + saved: LogStorageSettings; + effective: LogStorageSettings; + envOverrides: LogStorageSettingsField[]; +} + +export interface LogStorageSettingsUpdateResult { + settings: LogStorageSettingsState; + status: PublicLogStorageStatus; +} + +export class StorageSettingsInputError extends Error { + constructor(message: string) { + super(message); + this.name = 'StorageSettingsInputError'; + } +} + +export class StorageSettingsLockedError extends Error { + constructor(readonly fields: LogStorageSettingsField[]) { + super(`settings are locked by environment variables: ${fields.join(', ')}`); + this.name = 'StorageSettingsLockedError'; + } +} + +export class StorageSettingsTransactionError extends Error { + constructor( + message: string, + readonly operationError: unknown, + readonly rollbackErrors: unknown[], + ) { + super(message, { cause: operationError }); + this.name = 'StorageSettingsTransactionError'; + } +} + +export interface LogStorageSettingsDependencies { + readPersisted(): RuntimeConfig; + readEnvOverrides(): Partial; + readEffective(): LogStorageStatus; + persist(patch: Partial): RuntimeConfig; + apply(policy: LogStoragePolicy): Promise; +} + +const SETTINGS_FIELDS: LogStorageSettingsField[] = ['logMaxTotalMb', 'logRetainDays', 'logPerUin']; +const SETTINGS_FIELD_SET = new Set(SETTINGS_FIELDS); + +export class LogStorageSettingsManager { + private updateQueue: Promise = Promise.resolve(); + + constructor(private readonly deps: LogStorageSettingsDependencies) {} + + read(): LogStorageSettingsState { + return settingsState( + this.deps.readPersisted(), + this.deps.readEnvOverrides(), + settingsFromStatus(this.deps.readEffective()), + ); + } + + update(body: unknown): Promise { + const operation = this.updateQueue.then(() => this.performUpdate(body)); + this.updateQueue = operation.then( + () => undefined, + () => undefined, + ); + return operation; + } + + private async performUpdate(body: unknown): Promise { + const patch = coerceLogStorageSettingsPatch(body); + const previousRuntime = this.deps.readPersisted(); + const envOverrides = this.deps.readEnvOverrides(); + const previous = settingsState( + previousRuntime, + envOverrides, + settingsFromStatus(this.deps.readEffective()), + ); + const locked = SETTINGS_FIELDS.filter((field) => field in patch && field in envOverrides); + + if (locked.length > 0) { + throw new StorageSettingsLockedError(locked); + } + + const nextSaved = { ...previous.saved, ...patch }; + const nextEffective = { ...previous.effective, ...patch }; + const previousPolicy = toPolicy(previous.effective); + const nextPolicy = toPolicy(nextEffective); + + let status: LogStorageStatus; + + try { + status = await this.deps.apply(nextPolicy); + assertApplied(status, nextPolicy); + } catch (error) { + const rollbackErrors = await this.rollbackRuntime(previousPolicy); + throw new StorageSettingsTransactionError( + rollbackErrors.length > 0 + ? 'failed to apply log settings and runtime rollback was incomplete' + : 'failed to apply log settings; runtime state was rolled back', + error, + rollbackErrors, + ); + } + + let persistedRuntime: RuntimeConfig; + + try { + persistedRuntime = this.deps.persist(patch); + assertPersistedSettings(persistedRuntime, nextSaved); + } catch (error) { + const rollbackErrors = await this.rollbackAll(previousPolicy, previousRuntime); + throw new StorageSettingsTransactionError( + rollbackErrors.length > 0 + ? 'failed to persist log settings and rollback was incomplete' + : 'failed to persist log settings; previous settings were restored', + error, + rollbackErrors, + ); + } + + return { + settings: settingsState(persistedRuntime, envOverrides, settingsFromStatus(status)), + status: publicLogStorageStatus(status), + }; + } + + private async rollbackRuntime(policy: LogStoragePolicy): Promise { + try { + const status = await this.deps.apply(policy); + assertApplied(status, policy); + return []; + } catch (error) { + return [error]; + } + } + + private async rollbackAll( + policy: LogStoragePolicy, + runtime: RuntimeConfig, + ): Promise { + const errors = await this.rollbackRuntime(policy); + + try { + this.deps.persist(runtime); + } catch (error) { + errors.push(error); + } + + return errors; + } +} + +function coerceLogStorageSettingsPatch(body: unknown): Partial { + if (!isObject(body)) { + throw new StorageSettingsInputError('body must be an object'); + } + + const keys = Object.keys(body); + + if (keys.length === 0) { + throw new StorageSettingsInputError('at least one setting is required'); + } + + const unknown = keys.filter((key) => !SETTINGS_FIELD_SET.has(key)); + + if (unknown.length > 0) { + throw new StorageSettingsInputError(`unknown setting: ${unknown.join(', ')}`); + } + + const patch: Partial = {}; + + if ('logMaxTotalMb' in body) { + const value = body.logMaxTotalMb; + + if ( + typeof value !== 'number' || + !Number.isSafeInteger(value) || + value < 1 || + value > MAX_LOG_TOTAL_MB + ) { + throw new StorageSettingsInputError( + `logMaxTotalMb must be an integer in 1..${MAX_LOG_TOTAL_MB}`, + ); + } + + patch.logMaxTotalMb = value; + } + + if ('logRetainDays' in body) { + const value = body.logRetainDays; + + if ( + typeof value !== 'number' || + !Number.isSafeInteger(value) || + value < 0 || + value > MAX_LOG_RETAIN_DAYS + ) { + throw new StorageSettingsInputError( + `logRetainDays must be an integer in 0..${MAX_LOG_RETAIN_DAYS}`, + ); + } + + patch.logRetainDays = value; + } + + if ('logPerUin' in body) { + if (typeof body.logPerUin !== 'boolean') { + throw new StorageSettingsInputError('logPerUin must be a boolean'); + } + + patch.logPerUin = body.logPerUin; + } + + return patch; +} + +function settingsState( + runtime: RuntimeConfig, + envOverrides: Partial, + liveEffective?: LogStorageSettings, +): LogStorageSettingsState { + const saved = settingsFromRuntime(runtime); + const envOverridesList = SETTINGS_FIELDS.filter((field) => field in envOverrides); + const effective = liveEffective ?? { + ...saved, + ...settingsPatchFromRuntime(envOverrides), + }; + return { saved, effective, envOverrides: envOverridesList }; +} + +function settingsFromStatus(status: LogStorageStatus): LogStorageSettings { + const maxTotalMb = status.maxTotalBytes / (1024 * 1024); + + if (!Number.isSafeInteger(maxTotalMb)) { + throw new Error('live log storage limit is not an integer number of megabytes'); + } + + return { + logMaxTotalMb: maxTotalMb, + logRetainDays: status.retainDays, + logPerUin: status.perUinEnabled, + }; +} + +function settingsFromRuntime(runtime: RuntimeConfig): LogStorageSettings { + return { + logMaxTotalMb: runtime.logMaxTotalMb ?? DEFAULT_LOG_MAX_TOTAL_MB, + logRetainDays: runtime.logRetainDays ?? DEFAULT_LOG_RETAIN_DAYS, + logPerUin: runtime.logPerUin ?? DEFAULT_LOG_PER_UIN, + }; +} + +function settingsPatchFromRuntime(runtime: Partial): Partial { + const patch: Partial = {}; + + if (runtime.logMaxTotalMb !== undefined) { + patch.logMaxTotalMb = runtime.logMaxTotalMb; + } + + if (runtime.logRetainDays !== undefined) { + patch.logRetainDays = runtime.logRetainDays; + } + + if (runtime.logPerUin !== undefined) { + patch.logPerUin = runtime.logPerUin; + } + + return patch; +} + +function toPolicy(settings: LogStorageSettings): LogStoragePolicy { + return { + maxTotalMb: settings.logMaxTotalMb, + retainDays: settings.logRetainDays, + perUinEnabled: settings.logPerUin, + }; +} + +function assertApplied(status: LogStorageStatus, policy: LogStoragePolicy): void { + const expectedBytes = policy.maxTotalMb * 1024 * 1024; + + if ( + status.state === 'warning' || + status.state === 'degraded' || + status.lastError !== undefined || + status.maxTotalBytes !== expectedBytes || + status.retainDays !== policy.retainDays || + status.perUinEnabled !== policy.perUinEnabled + ) { + throw new Error(status.lastError ?? 'log storage policy did not become effective'); + } +} + +function assertPersistedSettings(runtime: RuntimeConfig, expected: LogStorageSettings): void { + const actual = settingsFromRuntime(runtime); + + if ( + actual.logMaxTotalMb !== expected.logMaxTotalMb || + actual.logRetainDays !== expected.logRetainDays || + actual.logPerUin !== expected.logPerUin + ) { + throw new Error('persisted log storage settings do not match the requested values'); + } +} diff --git a/packages/core/src/webui/system-settings.ts b/packages/core/src/webui/system-settings.ts new file mode 100644 index 00000000..574a9628 --- /dev/null +++ b/packages/core/src/webui/system-settings.ts @@ -0,0 +1,84 @@ +// Pure validator for the POST /api/system/settings body. Rejects clearly-bad +// input with a message (→ 400) rather than silently normalizing it, then hands +// a clean patch to updateRuntimeConfig. Wire field `tlsEnabled` maps to the +// nested `webuiTls.enabled`. + +import type { RuntimeConfig } from '@snowluma/common/runtime'; +import { isObject } from '@snowluma/common/coerce'; +import { checkListenerExposure } from './listener-exposure'; + +export type SettingsPatch = Partial< + Pick +>; + +export type CoerceResult = { ok: true; patch: SettingsPatch } | { ok: false; error: string }; + +export function coerceSettingsPatch(body: unknown): CoerceResult { + if (!isObject(body)) { + return { ok: false, error: 'body must be an object' }; + } + + const patch: SettingsPatch = {}; + + if ('webuiPort' in body) { + const p = body.webuiPort; + + if (typeof p !== 'number' || !Number.isInteger(p) || p <= 0 || p > 65535) { + return { ok: false, error: 'webuiPort must be an integer in 1..65535' }; + } + + patch.webuiPort = p; + } + + if ('webuiHost' in body) { + if (typeof body.webuiHost !== 'string' || !body.webuiHost.trim()) { + return { ok: false, error: 'webuiHost must be a non-empty string' }; + } + + patch.webuiHost = body.webuiHost.trim(); + } + + if ('tlsEnabled' in body) { + if (typeof body.tlsEnabled !== 'boolean') { + return { ok: false, error: 'tlsEnabled must be a boolean' }; + } + + patch.webuiTls = { enabled: body.tlsEnabled }; + } + + if ('trustProxy' in body) { + if (typeof body.trustProxy !== 'string') { + return { ok: false, error: 'trustProxy must be a string' }; + } + + patch.trustProxy = body.trustProxy; + } + + return { ok: true, patch }; +} + +const SETTINGS_ERRORS: Record<'invalid-bind-host' | 'tls-pair-required', string> = { + 'invalid-bind-host': '绑定地址不是有效的 TCP 地址', + 'tls-pair-required': '启用 TLS 前请先上传有效的证书与私钥', +}; + +/** Validate the listener that would be persisted after applying `patch` to `current`. */ +export function evaluateSettingsSave( + current: RuntimeConfig, + patch: SettingsPatch, + pairOk: boolean, +): CoerceResult { + const webuiHost = patch.webuiHost ?? current.webuiHost ?? '127.0.0.1'; + const tlsEnabled = patch.webuiTls?.enabled ?? current.webuiTls?.enabled ?? false; + const check = checkListenerExposure({ webuiHost, tlsEnabled, pairOk }); + + if (!check.ok) { + return { ok: false, error: SETTINGS_ERRORS[check.code] }; + } + + return { ok: true, patch }; +} + +export function tlsCertDeletionBlocked(tlsEnabled: boolean): boolean { + return tlsEnabled; +} diff --git a/packages/core/src/webui/tls.ts b/packages/core/src/webui/tls.ts new file mode 100644 index 00000000..ffa3c81c --- /dev/null +++ b/packages/core/src/webui/tls.ts @@ -0,0 +1,86 @@ +import { errorMessage } from '@snowluma/common/errors'; +// WebUI TLS helpers. Cert/key live as config/cert.pem + config/key.pem +// (NapCat-aligned, self-contained, travels in A2 backups). Two pure-ish +// helpers: validate a pasted pair (save path) and resolve the on-disk pair +// (boot path). Validation is `tls.createSecureContext` — it parses the PEM +// and checks the key matches the cert; expiry is NOT checked here. + +import fs from 'fs'; +import path from 'path'; +import tls from 'tls'; + +export interface TlsValidation { + ok: boolean; + reason?: string; +} + +export interface TlsResolution { + ok: boolean; + cert?: Buffer; + key?: Buffer; + reason?: string; +} + +export interface RequiredTlsContext { + cert: Buffer; + key: Buffer; +} + +/** Parse-validate a cert/key pair (used by the save endpoint before writing). */ +export function validateTlsPair(cert: string | Buffer, key: string | Buffer): TlsValidation { + if (!cert || !cert.toString().trim()) { + return { ok: false, reason: 'certificate is empty' }; + } + + if (!key || !key.toString().trim()) { + return { ok: false, reason: 'private key is empty' }; + } + + try { + tls.createSecureContext({ cert, key }); + return { ok: true }; + } catch (e) { + return { ok: false, reason: `invalid cert/key: ${errorMessage(e)}` }; + } +} + +/** Load + validate config/cert.pem + config/key.pem from `configDir`. */ +export function resolveTlsContext(configDir: string): TlsResolution { + const certPath = path.join(configDir, 'cert.pem'); + const keyPath = path.join(configDir, 'key.pem'); + + if (!fs.existsSync(certPath) || !fs.existsSync(keyPath)) { + return { ok: false, reason: 'cert.pem or key.pem missing in config dir' }; + } + + let cert: Buffer; + let key: Buffer; + + try { + cert = fs.readFileSync(certPath); + key = fs.readFileSync(keyPath); + } catch (e) { + return { ok: false, reason: `failed to read cert/key: ${errorMessage(e)}` }; + } + + const valid = validateTlsPair(cert, key); + + if (!valid.ok) { + return { ok: false, reason: valid.reason }; + } + + return { ok: true, cert, key }; +} + +/** Resolve the configured pair for an enabled listener or abort startup. */ +export function requireTlsContext(configDir: string): RequiredTlsContext { + const resolved = resolveTlsContext(configDir); + + if (!resolved.ok || !resolved.cert || !resolved.key) { + throw new Error( + `TLS listener cannot start: ${resolved.reason ?? 'certificate pair is unusable'}`, + ); + } + + return { cert: resolved.cert, key: resolved.key }; +} diff --git a/packages/core/src/webui/totp.ts b/packages/core/src/webui/totp.ts new file mode 100644 index 00000000..6b558952 --- /dev/null +++ b/packages/core/src/webui/totp.ts @@ -0,0 +1,451 @@ +import { + createCipheriv, + createDecipheriv, + createHash, + randomBytes, + scryptSync, + timingSafeEqual, +} from 'node:crypto'; +import * as OTPAuth from 'otpauth'; + +const TOTP_PERIOD_SECONDS = 30; +const TOTP_WINDOW = 1; +const TOTP_DIGITS = 6; +const RECOVERY_CODE_COUNT = 8; +const RECOVERY_ALPHABET = 'ABCDEFGHJKLMNPQRSTUVWXYZ23456789'; +const WRAP_SALT_BYTES = 16; +const WRAP_IV_BYTES = 12; +const WRAP_KEY_BYTES = 32; +const SCRYPT_N = 16384; +const SCRYPT_R = 8; +const SCRYPT_P = 1; + +export interface WrappedTotpSecret { + wrapSalt: string; + iv: string; + ciphertext: string; + authTag: string; +} + +export interface TotpPersistedState extends WrappedTotpSecret { + recoveryCodeHashes: string[]; + lastUsedStep: number; + label: string; +} + +export interface TotpEnrollment { + secret: string; + otpauthUrl: string; + issuer: string; + accountName: string; +} + +function totpFromSecret(secretBase32: string, issuer = '', accountName = 'admin'): OTPAuth.TOTP { + return new OTPAuth.TOTP({ + issuer, + label: accountName, + algorithm: 'SHA1', + digits: TOTP_DIGITS, + period: TOTP_PERIOD_SECONDS, + secret: OTPAuth.Secret.fromBase32(secretBase32), + }); +} + +export function verifyTotpCode( + secretBase32: string, + code: string, + atMs: number, + lastUsedStep?: number, +): { ok: true; step: number } | { ok: false } { + const token = code.replace(/\s/g, ''); + + if (!/^\d{6}$/.test(token)) { + return { ok: false }; + } + + let totp: OTPAuth.TOTP; + + try { + totp = totpFromSecret(secretBase32); + } catch { + return { ok: false }; + } + + const delta = totp.validate({ token, timestamp: atMs, window: TOTP_WINDOW }); + + if (delta === null) { + return { ok: false }; + } + + const step = totp.counter({ timestamp: atMs }) + delta; + + if (lastUsedStep !== undefined && step === lastUsedStep) { + return { ok: false }; + } + + return { ok: true, step }; +} + +function deriveWrapKey(password: string, salt: Buffer): Buffer { + return scryptSync(password, salt, WRAP_KEY_BYTES, { N: SCRYPT_N, r: SCRYPT_R, p: SCRYPT_P }); +} + +export function wrapTotpSecret(password: string, secret: string): WrappedTotpSecret { + const wrapSalt = randomBytes(WRAP_SALT_BYTES); + const iv = randomBytes(WRAP_IV_BYTES); + const key = deriveWrapKey(password, wrapSalt); + const cipher = createCipheriv('aes-256-gcm', key, iv); + const ciphertext = Buffer.concat([cipher.update(secret, 'utf8'), cipher.final()]); + return { + wrapSalt: wrapSalt.toString('hex'), + iv: iv.toString('hex'), + ciphertext: ciphertext.toString('hex'), + authTag: cipher.getAuthTag().toString('hex'), + }; +} + +export function unwrapTotpSecret(password: string, wrapped: WrappedTotpSecret): string | null { + try { + const wrapSalt = Buffer.from(wrapped.wrapSalt, 'hex'); + const iv = Buffer.from(wrapped.iv, 'hex'); + const ciphertext = Buffer.from(wrapped.ciphertext, 'hex'); + const authTag = Buffer.from(wrapped.authTag, 'hex'); + + if ( + wrapSalt.length !== WRAP_SALT_BYTES || + iv.length !== WRAP_IV_BYTES || + authTag.length !== 16 + ) { + return null; + } + + const key = deriveWrapKey(password, wrapSalt); + const decipher = createDecipheriv('aes-256-gcm', key, iv); + decipher.setAuthTag(authTag); + return Buffer.concat([decipher.update(ciphertext), decipher.final()]).toString('utf8'); + } catch { + return null; + } +} + +function randomRecoveryChunk(): string { + const bytes = randomBytes(4); + let chunk = ''; + + for (let i = 0; i < 4; i++) { + chunk += RECOVERY_ALPHABET[bytes[i]! % RECOVERY_ALPHABET.length]; + } + + return chunk; +} + +export function generateRecoveryCodes(): string[] { + const codes = new Set(); + + while (codes.size < RECOVERY_CODE_COUNT) { + codes.add(`${randomRecoveryChunk()}-${randomRecoveryChunk()}`); + } + + return [...codes]; +} + +export function normalizeRecoveryCode(code: string): string { + return code.replace(/[-\s]/g, '').toUpperCase(); +} + +export function hashRecoveryCode(code: string): string { + return createHash('sha256').update(normalizeRecoveryCode(code), 'utf8').digest('hex'); +} + +function hashesEqual(left: string, right: string): boolean { + const a = Buffer.from(left, 'hex'); + const b = Buffer.from(right, 'hex'); + + if (a.length !== b.length || a.length === 0) { + return false; + } + + return timingSafeEqual(a, b); +} + +export function consumeRecoveryCode( + code: string, + hashes: readonly string[], +): { ok: true; remainingHashes: string[] } | { ok: false } { + const candidate = hashRecoveryCode(code); + const index = hashes.findIndex((hash) => hashesEqual(hash, candidate)); + + if (index < 0) { + return { ok: false }; + } + + return { ok: true, remainingHashes: hashes.filter((_, i) => i !== index) }; +} + +export function beginTotpEnrollment(options: { + issuer: string; + accountName: string; + secret?: string; +}): TotpEnrollment { + const secret = options.secret ?? new OTPAuth.Secret({ size: 20 }).base32; + const totp = totpFromSecret(secret, options.issuer, options.accountName); + return { + secret, + otpauthUrl: totp.toString(), + issuer: options.issuer, + accountName: options.accountName, + }; +} + +export function confirmTotpEnrollment(options: { + password: string; + secret: string; + code: string; + label: string; + atMs: number; +}): { state: TotpPersistedState; recoveryCodes: string[] } { + const verified = verifyTotpCode(options.secret, options.code, options.atMs); + + if (!verified.ok) { + throw new Error('验证码不正确'); + } + + const recoveryCodes = generateRecoveryCodes(); + return { + recoveryCodes, + state: { + ...wrapTotpSecret(options.password, options.secret), + recoveryCodeHashes: recoveryCodes.map(hashRecoveryCode), + lastUsedStep: verified.step, + label: options.label, + }, + }; +} + +export function verifySecondFactor(options: { + password: string; + state: TotpPersistedState; + atMs: number; + totp?: string; + recoveryCode?: string; +}): { ok: true; state: TotpPersistedState } | { ok: false } { + if (typeof options.recoveryCode === 'string' && options.recoveryCode.length > 0) { + const consumed = consumeRecoveryCode( + options.recoveryCode, + options.state.recoveryCodeHashes, + ); + + if (!consumed.ok) { + return { ok: false }; + } + + return { + ok: true, + state: { ...options.state, recoveryCodeHashes: consumed.remainingHashes }, + }; + } + + if (typeof options.totp !== 'string') { + return { ok: false }; + } + + const secret = unwrapTotpSecret(options.password, options.state); + + if (secret === null) { + return { ok: false }; + } + + const checked = verifyTotpCode(secret, options.totp, options.atMs, options.state.lastUsedStep); + + if (!checked.ok) { + return { ok: false }; + } + + return { ok: true, state: { ...options.state, lastUsedStep: checked.step } }; +} + +export type SecondFactorDecision = + | { kind: 'needs-totp' } + | { kind: 'bad-second-factor' } + | { kind: 'ok'; state?: TotpPersistedState }; + +export function decideSecondFactorLogin(options: { + totpEnabled: boolean; + state?: TotpPersistedState; + password: string; + totp?: string; + recoveryCode?: string; + atMs: number; +}): SecondFactorDecision { + if (!options.totpEnabled) { + return { kind: 'ok' }; + } + + if (!options.state) { + return { kind: 'bad-second-factor' }; + } + + const totp = + typeof options.totp === 'string' && options.totp.trim().length > 0 + ? options.totp.trim() + : undefined; + const recoveryCode = + typeof options.recoveryCode === 'string' && options.recoveryCode.trim().length > 0 + ? options.recoveryCode.trim() + : undefined; + + if (!totp && !recoveryCode) { + return { kind: 'needs-totp' }; + } + + const result = verifySecondFactor({ + password: options.password, + state: options.state, + atMs: options.atMs, + totp, + recoveryCode, + }); + + if (!result.ok) { + return { kind: 'bad-second-factor' }; + } + + return { kind: 'ok', state: result.state }; +} + +export function regenerateRecoveryCodes(options: { + password: string; + state: TotpPersistedState; + totp: string; + atMs: number; +}): { state: TotpPersistedState; recoveryCodes: string[] } { + const verified = verifySecondFactor({ + password: options.password, + state: options.state, + totp: options.totp, + atMs: options.atMs, + }); + + if (!verified.ok) { + throw new Error('验证码不正确'); + } + + const recoveryCodes = generateRecoveryCodes(); + return { + recoveryCodes, + state: { + ...verified.state, + recoveryCodeHashes: recoveryCodes.map(hashRecoveryCode), + }, + }; +} + +export function rewrapTotpSecret( + oldPassword: string, + newPassword: string, + state: TotpPersistedState, +): TotpPersistedState { + const secret = unwrapTotpSecret(oldPassword, state); + + if (secret === null) { + throw new Error('无法使用当前密码解开 2FA 密钥'); + } + + return { + ...state, + ...wrapTotpSecret(newPassword, secret), + }; +} + +const HEX = /^[0-9a-f]+$/i; + +function isWrappedShape( + value: Record, +): value is WrappedTotpSecret & Record { + return ( + typeof value.wrapSalt === 'string' && + HEX.test(value.wrapSalt) && + value.wrapSalt.length === WRAP_SALT_BYTES * 2 && + typeof value.iv === 'string' && + HEX.test(value.iv) && + value.iv.length === WRAP_IV_BYTES * 2 && + typeof value.ciphertext === 'string' && + HEX.test(value.ciphertext) && + value.ciphertext.length > 0 && + value.ciphertext.length % 2 === 0 && + typeof value.authTag === 'string' && + HEX.test(value.authTag) && + value.authTag.length === 32 + ); +} + +export function prepareTotpStateForRestore(value: unknown): TotpPersistedState { + if (!value || typeof value !== 'object' || Array.isArray(value)) { + throw new Error('totp state must be an object'); + } + + const v = value as Record; + + if (!isWrappedShape(v)) { + throw new Error('totp wrapped secret fields are invalid'); + } + + if ( + !Array.isArray(v.recoveryCodeHashes) || + v.recoveryCodeHashes.length > RECOVERY_CODE_COUNT || + v.recoveryCodeHashes.some( + (hash) => typeof hash !== 'string' || !/^[0-9a-f]{64}$/i.test(hash), + ) + ) { + throw new Error('totp recoveryCodeHashes must be SHA-256 hex strings'); + } + + if ( + typeof v.lastUsedStep !== 'number' || + !Number.isInteger(v.lastUsedStep) || + v.lastUsedStep < 0 + ) { + throw new Error('totp lastUsedStep must be a non-negative integer'); + } + + if (typeof v.label !== 'string' || v.label.length === 0 || v.label.length > 128) { + throw new Error('totp label must be a non-empty string'); + } + + const allowed = new Set([ + 'wrapSalt', + 'iv', + 'ciphertext', + 'authTag', + 'recoveryCodeHashes', + 'lastUsedStep', + 'label', + ]); + const unknown = Object.keys(v).find((key) => !allowed.has(key)); + + if (unknown) { + throw new Error(`unknown totp field $.${unknown}`); + } + + return { + wrapSalt: v.wrapSalt.toLowerCase(), + iv: v.iv.toLowerCase(), + ciphertext: v.ciphertext.toLowerCase(), + authTag: v.authTag.toLowerCase(), + recoveryCodeHashes: v.recoveryCodeHashes.map((hash) => (hash as string).toLowerCase()), + lastUsedStep: v.lastUsedStep, + label: v.label, + }; +} + +export function parseTotpStateLenient(value: unknown): TotpPersistedState | undefined { + if (value === undefined || value === null) { + return undefined; + } + + try { + return prepareTotpStateForRestore(value); + } catch { + return undefined; + } +} diff --git a/packages/core/src/webui/ui-config.ts b/packages/core/src/webui/ui-config.ts new file mode 100644 index 00000000..8cd3539f --- /dev/null +++ b/packages/core/src/webui/ui-config.ts @@ -0,0 +1,995 @@ +import { boolOr, clampInt, clampNum, isObject } from '@snowluma/common/coerce'; +import { createLogger } from '@snowluma/common/logger'; +import fs from 'fs'; +import path from 'path'; + +// Server-side store for the WebUI customization config (`config/ui.json`). +// +// This is the single source of truth for appearance (A) + layout (C). The +// browser caches it in localStorage only to avoid a first-paint flash; the +// canonical copy lives here so a deployer's look + curated layout follow them +// across devices/browsers. +// +// Trust boundaries that this module enforces: +// * `normalizeAppearance` is total — any unknown/corrupt input collapses to +// safe defaults. This matters because the cosmetic subset is served to an +// UNAUTHENTICATED client (the login page) via `GET /api/ui/public`, so it +// must never echo attacker-controlled garbage. +// * The background-IMAGE lifecycle fields (`hasImage` / `imageMime` / +// `imageVersion`) are server-managed: a plain `POST /api/ui` cannot set +// them. Only the dedicated upload/delete endpoints mutate them. A client +// save preserves whatever is currently on disk. + +const log = createLogger('WebUI.UiConfig'); + +const CONFIG_DIR = 'config'; +const UI_CONFIG_PATH = path.join(CONFIG_DIR, 'ui.json'); + +/** Directory for operator-uploaded UI assets (currently just the background). */ +export const UI_ASSETS_DIR = path.join(CONFIG_DIR, 'ui-assets'); +/** Fixed path of the single background image (overwrite-on-upload). */ +export const BACKGROUND_IMAGE_PATH = path.join(UI_ASSETS_DIR, 'background'); +/** Reject uploads larger than this (bytes). */ +export const MAX_BACKGROUND_BYTES = 5 * 1024 * 1024; + +export const UI_CONFIG_VERSION = 1 as const; + +// ─── Schema ────────────────────────────────────────────────────────────── + +export type ThemeMode = 'light' | 'dark' | 'system'; +export type AccentMode = 'preset' | 'custom'; +export type AccentScope = 'sidebar' | 'global'; +export type DarkIntensity = 'soft' | 'black'; +export type SidebarStyle = 'follow' | 'panel' | 'accent'; +export type BackgroundType = 'none' | 'solid' | 'gradient' | 'image'; +export type Density = 'cozy' | 'compact'; +export type TimeFormat = '12h' | '24h'; +/** Full color scheme. 'default' keeps the lavender theme (driven by `mode`); the + * Catppuccin flavors are complete palettes that also fix light/dark. */ +export type Palette = + | 'default' + | 'catppuccin-latte' + | 'catppuccin-frappe' + | 'catppuccin-macchiato' + | 'catppuccin-mocha' + | 'rose-pine' + | 'rose-pine-moon' + | 'rose-pine-dawn' + | 'nord' + | 'everforest-dark' + | 'everforest-light'; + +export interface UiBackground { + type: BackgroundType; + /** Solid-fill colour (hex). Used when type === 'solid'. */ + color: string; + /** Gradient preset id (frontend owns the catalogue). Used when type === 'gradient'. */ + gradient: string; + /** Image readability overlay: 0 (image fully visible) … 1 (fully masked). */ + imageOpacity: number; + /** Image blur in px (0…40). */ + imageBlur: number; + // ── server-managed (upload/delete endpoints only) ── + hasImage: boolean; + imageMime: string; + /** Bumped on each successful upload so the browser can cache-bust. */ + imageVersion: number; +} + +export interface UiAppearance { + mode: ThemeMode; + accentMode: AccentMode; + /** Preset accent id (frontend catalogue: sky/blue/violet/…). */ + accentPreset: string; + /** Custom accent colour (hex). Used when accentMode === 'custom'. */ + accentCustom: string; + accentScope: AccentScope; + darkIntensity: DarkIntensity; + /** Full color scheme; 'default' = the built-in lavender theme. */ + palette: Palette; + sidebarStyle: SidebarStyle; + background: UiBackground; + /** Sans font preset id (frontend catalogue); 'custom' uses `fontSansCustom`. */ + fontSans: string; + /** Free-form sans font-family stack, used when `fontSans === 'custom'`. */ + fontSansCustom: string; + /** Mono font preset id (frontend catalogue); 'custom' uses `fontMonoCustom`. */ + fontMono: string; + /** Free-form mono font-family stack, used when `fontMono === 'custom'`. */ + fontMonoCustom: string; + /** Global UI scale, 0.9…1.2. */ + uiScale: number; + /** Corner radius in rem, 0…2. */ + radius: number; + density: Density; + /** Soften animations (transforms off, shorter durations). */ + reduceMotion: boolean; + /** Hard-disable all UI animations (stronger than reduceMotion). */ + disableMotion: boolean; + /** Use SnowLuma's adaptive cursor. */ + customPointerSystem: boolean; + /** Replace the browser context menu with SnowLuma's context menu. */ + customContextMenu: boolean; + highContrast: boolean; + sidebarPinned: boolean; + timeFormat: TimeFormat; + /** Dashboard poll interval (ms); 0 = paused. */ + pollInterval: number; + /** + * Operator custom CSS, applied AFTER auth only (never on the login page — + * `publicAppearance` strips it). Capped at 50 KB. The client injects it as + * the last +

消息草稿预览

正在载入草稿…

消息尚未发送。

`; + const filename = join(outDir, 'message-app.html'); + await mkdir(dirname(filename), { recursive: true }); + await writeFile(filename, html, 'utf8'); + return filename; +} + +if (process.argv[1] && resolve(process.argv[1]) === fileURLToPath(import.meta.url)) { + await buildMessageApp(); +} diff --git a/packages/mcp/scripts/gen-catalog.test.ts b/packages/mcp/scripts/gen-catalog.test.ts new file mode 100644 index 00000000..bbfc5bfd --- /dev/null +++ b/packages/mcp/scripts/gen-catalog.test.ts @@ -0,0 +1,42 @@ +// Catalog generator. Runs under vitest (so @snowluma/onebot/action-docs resolves +// via the proton plugin, exactly as onebot's own tests do) and writes a build-time +// snapshot of the OneBot action catalog into src/generated/catalog.ts. +// +// This is the whole "auto-track Action 增减" mechanic: the snapshot is regenerated +// from the live specs on every build, so it can never describe a stale action set. +import { mkdirSync, writeFileSync } from 'node:fs'; +import { it, expect } from 'vitest'; +import { collectActionDocs, collectCategories } from '@snowluma/onebot/action-docs'; + +it('generates src/generated/catalog.ts from the live action specs', () => { + const actions = collectActionDocs(); + const categories = collectCategories(); + + expect(actions.length).toBeGreaterThan(100); + + // every action must carry a composed input schema (the MCP's payoff) + for (const a of actions) { + expect(a.inputSchema).toBeTypeOf('object'); + expect(a.name).toBeTruthy(); + expect(a.returnsSchema, `${a.name} result schema`).toBeTypeOf('object'); + expect(a.examples?.length, `${a.name} invocation examples`).toBeGreaterThan(0); + } + + const body = + '// GENERATED by scripts/gen-catalog.test.ts — do not edit. Run `pnpm gen`.\n' + + '/* eslint-disable */\n' + + "import type { CatalogAction, CatalogCategory } from '../types.js';\n\n" + + `export const ACTIONS: CatalogAction[] = ${JSON.stringify(actions, null, 2)};\n\n` + + `export const CATEGORIES: CatalogCategory[] = ${JSON.stringify(categories, null, 2)};\n`; + + const dir = new URL('../src/generated/', import.meta.url); + mkdirSync(dir, { recursive: true }); + writeFileSync(new URL('../src/generated/catalog.ts', import.meta.url), body); + + // Plain-JSON twin of the catalog, consumed by the docs site (SnowLumaDocs) + // via the sync-docs-catalog workflow. Same data as catalog.ts. + writeFileSync( + new URL('../src/generated/catalog.json', import.meta.url), + JSON.stringify({ actions, categories }, null, 2) + '\n', + ); +}); diff --git a/packages/mcp/src/client.ts b/packages/mcp/src/client.ts new file mode 100644 index 00000000..311642b6 --- /dev/null +++ b/packages/mcp/src/client.ts @@ -0,0 +1,1383 @@ +// Thin HTTP bridge to a running OneBot instance. +// +// The OneBot v11 HTTP action protocol is trivial — POST `{ action, params }` to +// the endpoint, read back the JSON envelope — so the MCP talks to it directly +// with `fetch`. This client also owns MCP-host file admission and bounded stream +// summaries. The wire shape — not a shared client type — is the seam (ADR-0005); +// tests inject a fake `ActionClient` (or a fake `fetch`). + +import fs from 'node:fs'; +import os from 'node:os'; +import path from 'node:path'; +import { createHash, randomUUID } from 'node:crypto'; +import { ActionCallError } from './results.js'; +import type { TraceContext } from './tracing.js'; + +const DEFAULT_TIMEOUT_MS = 30_000; +const DEFAULT_MAX_STREAM_BYTES = 4 * 1024 * 1024 * 1024; +const DEFAULT_STREAM_DIR = path.join(os.tmpdir(), 'onebot-mcp-downloads'); +const MAX_GENERIC_FRAMES = 256; +const MAX_GENERIC_TEXT_BYTES = 256 * 1024; +// OneBot permits a 16 MiB decoded download chunk. Base64 expands that to +// ~21.34 MiB; 24 MiB leaves room for the JSON envelope without allowing an +// unterminated peer to grow our parser buffer without bound. +const MAX_WIRE_FRAME_BYTES = 24 * 1024 * 1024; +const UPLOAD_CHUNK_BYTES = 512 * 1024; +const MAX_FILE_CHUNKS = 200_000; +const RESET_TIMEOUT_MS = 5_000; +const MAX_ACTIVE_STREAMS = 4; +const INTERNAL_STREAM_CALL = Symbol('snowluma.mcp.internalStreamCall'); +export const MCP_UPLOAD_OWNED_FIELDS = [ + 'stream_id', + 'chunk_data', + 'chunk_index', + 'total_chunks', + 'file_size', + 'expected_sha256', + 'is_complete', + 'reset', + 'verify_only', +] as const; +const FILE_DOWNLOAD_ACTIONS = new Set([ + 'download_file_stream', + 'download_file_image_stream', + 'download_file_record_stream', +]); + +export function parseMaxStreamBytes(raw: string | undefined): number | undefined { + if (raw === undefined) { + return undefined; + } + + const value = raw.trim(); + + if (!/^[1-9]\d*$/.test(value)) { + throw new Error( + `SNOWLUMA_MCP_MAX_STREAM_BYTES must be an integer between 1 and ${DEFAULT_MAX_STREAM_BYTES}`, + ); + } + + const parsed = Number(value); + + if (!Number.isSafeInteger(parsed) || parsed > DEFAULT_MAX_STREAM_BYTES) { + throw new Error( + `SNOWLUMA_MCP_MAX_STREAM_BYTES must be an integer between 1 and ${DEFAULT_MAX_STREAM_BYTES}`, + ); + } + + return parsed; +} + +export function parseTimeoutMs(raw: string | undefined): number | undefined { + if (raw === undefined) { + return undefined; + } + + const value = raw.trim(); + + if (!/^[1-9]\d*$/.test(value)) { + throw new Error('SNOWLUMA_MCP_TIMEOUT_MS must be a positive integer'); + } + + const parsed = Number(value); + + if (!Number.isSafeInteger(parsed) || parsed > 2_147_483_647) { + throw new Error( + 'SNOWLUMA_MCP_TIMEOUT_MS must be a positive integer no greater than 2147483647', + ); + } + + return parsed; +} + +/** OneBot v11 response envelope, passed through to the LLM verbatim. */ +export interface OneBotEnvelope { + status: string; + retcode: number; + data?: unknown; + message?: string; + wording?: string; + echo?: unknown; + [k: string]: unknown; +} + +export interface ActionClient { + readonly info?: ClientInfo; + /** Send one OneBot action; resolves the full envelope (even on retcode≠0), + * rejects only on transport-level failure (timeout / connection / bad body). */ + call( + action: string, + params: Record, + options?: CallOptions, + ): Promise; + /** Execute a Stream Action over the HTTP multi-frame transport. */ + callStream( + action: string, + params: Record, + options?: StreamCallOptions, + ): Promise; +} + +export interface ClientInfo { + timeout_ms: number; + max_stream_bytes: number; + download_quota_bytes: number; + max_active_streams: number; + download_directory: string; + upload_root: string | null; + upload_enabled: boolean; +} + +export interface TransferProgress { + progress: number; + total?: number; + message: string; +} + +export interface CallOptions { + signal?: AbortSignal; + trace?: TraceContext; +} + +function requestHeaders( + base: Record, + trace?: TraceContext, +): Record { + return { + ...base, + ...(trace ? { traceparent: trace.traceparent } : {}), + ...(trace?.tracestate ? { tracestate: trace.tracestate } : {}), + }; +} + +export interface StreamCallOptions extends CallOptions { + /** MCP-host file to upload. Only valid for upload_file_stream. */ + inputFile?: string; + onProgress?: (progress: TransferProgress) => Promise; +} + +type InternalStreamCallOptions = StreamCallOptions & { [INTERNAL_STREAM_CALL]?: true }; + +interface DownloadReservation { + streamDir: string; + partPath: string; + finalPath: string; + bytes: number; +} + +// Process-wide because multiple MCP clients can target the same directory. +const downloadReservations = new Map>(); + +function reserveDownloadQuota( + streamDir: string, + partPath: string, + finalPath: string, + bytes: number, + quotaBytes: number, +): DownloadReservation { + const active = downloadReservations.get(streamDir) ?? new Map(); + const activePaths = new Set(); + let reservedBytes = 0; + + for (const reservation of active.values()) { + activePaths.add(reservation.partPath); + activePaths.add(reservation.finalPath); + reservedBytes += reservation.bytes; + } + + let existingBytes = 0; + + for (const entry of fs.readdirSync(streamDir, { withFileTypes: true })) { + const target = path.join(streamDir, entry.name); + + if (activePaths.has(target) || !entry.isFile()) { + continue; + } + + try { + existingBytes += fs.lstatSync(target).size; + } catch (error) { + if ((error as NodeJS.ErrnoException).code !== 'ENOENT') { + throw error; + } + } + } + + if (existingBytes + reservedBytes + bytes > quotaBytes) { + throw new Error( + `download directory quota ${quotaBytes} bytes exceeded: existing=${existingBytes}, reserved=${reservedBytes}, requested reserve=${bytes}`, + ); + } + + const reservation = { streamDir, partPath, finalPath, bytes }; + active.set(partPath, reservation); + downloadReservations.set(streamDir, active); + return reservation; +} + +function releaseDownloadQuota(reservation: DownloadReservation | undefined): void { + if (!reservation) { + return; + } + + const active = downloadReservations.get(reservation.streamDir); + + if (!active) { + return; + } + + active.delete(reservation.partPath); + + if (active.size === 0) { + downloadReservations.delete(reservation.streamDir); + } +} + +function validateStreamDirectory(streamDir: string): void { + try { + fs.accessSync(streamDir, fs.constants.R_OK | fs.constants.W_OK | fs.constants.X_OK); + // Quota admission scans the directory before opening a partial file, so + // list access is a startup requirement too. + fs.readdirSync(streamDir); + } catch (error) { + throw new Error( + `streamDir is not readable, writable, and traversable: ${error instanceof Error ? error.message : String(error)}`, + ); + } + + const probePath = path.join(streamDir, `.snowluma-mcp-write-probe-${randomUUID()}`); + let probeFd: number | undefined; + const cleanupErrors: string[] = []; + + try { + probeFd = fs.openSync(probePath, 'wx', 0o600); + } catch (error) { + throw new Error( + `streamDir cannot create files: ${error instanceof Error ? error.message : String(error)}`, + ); + } + + try { + fs.closeSync(probeFd); + probeFd = undefined; + } catch (error) { + cleanupErrors.push( + `close probe: ${error instanceof Error ? error.message : String(error)}`, + ); + } + + try { + fs.unlinkSync(probePath); + } catch (error) { + cleanupErrors.push( + `remove probe: ${error instanceof Error ? error.message : String(error)}`, + ); + } + + if (cleanupErrors.length > 0) { + throw new Error(`streamDir write probe cleanup failed: ${cleanupErrors.join('; ')}`); + } +} + +export interface GenericStreamResult { + frame_count: number; + /** Intermediate frames only. Kept bounded by the HTTP client. */ + frames: OneBotEnvelope[]; + /** Last frame received. upload_file_stream acknowledgements are single-frame responses. */ + terminal: OneBotEnvelope; +} + +export interface FileStreamResult { + file_path: string; + file_size: number; + sha256: string; + frame_count: number; + terminal: OneBotEnvelope; +} + +export interface UploadStreamResult { + file_path: string; + file_size: number; + sha256: string; + chunk_count: number; + stream_id: string; + terminal: OneBotEnvelope; +} + +export type StreamCallResult = GenericStreamResult | FileStreamResult | UploadStreamResult; + +export interface HttpClientOptions { + /** OneBot HTTP endpoint, e.g. http://127.0.0.1:3000/. */ + endpoint: string; + accessToken?: string; + timeoutMs?: number; + /** Directory on the MCP host where downloaded Stream Actions are committed. */ + streamDir?: string; + /** Per-file cap. Defaults to OneBot's 4 GiB limit. */ + maxStreamBytes?: number; + /** Existing MCP-host directory from which automatic uploads may read. */ + uploadRoot?: string; + /** Injectable fetch for tests; defaults to the global fetch. */ + fetch?: typeof fetch; +} + +function record(value: unknown): Record | undefined { + return value && typeof value === 'object' && !Array.isArray(value) + ? (value as Record) + : undefined; +} + +function isWithin(root: string, target: string): boolean { + const relative = path.relative(root, target); + return relative !== '' && !relative.startsWith('..') && !path.isAbsolute(relative); +} + +function safeDownloadName(value: unknown): string { + const raw = typeof value === 'string' ? path.basename(value) : 'download.bin'; + const safe = raw + .replace(/[^A-Za-z0-9._-]/g, '_') + .replace(/^\.+/, '') + .slice(0, 180); + return safe || 'download.bin'; +} + +function decodeBase64Chunk(value: string): Buffer { + const valid = + value.length % 4 === 0 && + /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(value); + + if (!valid) { + throw new Error('file_chunk.data is not valid canonical base64'); + } + + return Buffer.from(value, 'base64'); +} + +async function writeAll(handle: fs.promises.FileHandle, data: Buffer): Promise { + let offset = 0; + + while (offset < data.length) { + const { bytesWritten } = await handle.write(data, offset, data.length - offset); + + if (bytesWritten <= 0) { + throw new Error('file write made no progress'); + } + + offset += bytesWritten; + } +} + +function terminalData(result: StreamCallResult): Record | undefined { + return record(result.terminal.data); +} + +function abortReason(signal: AbortSignal): string { + const reason = signal.reason; + return reason instanceof Error + ? reason.message + : reason === undefined + ? 'aborted' + : String(reason); +} + +function throwIfCancelled(signal: AbortSignal | undefined, action: string, stage: string): void { + if (signal?.aborted) { + throw new ActionCallError( + `action ${action} stream ${stage}: cancelled: ${abortReason(signal)}`, + 'cancelled', + ); + } +} + +type ByteStreamReadResult = Awaited['read']>>; + +async function readWithIdleTimeout( + reader: ReadableStreamDefaultReader, + timeoutMs: number, + callerSignal: AbortSignal | undefined, + action: string, + frameIndex: number, +): Promise { + if (callerSignal?.aborted) { + throw new ActionCallError( + `action ${action} stream read frame ${frameIndex}: cancelled: ${abortReason(callerSignal)}`, + 'cancelled', + ); + } + + return new Promise((resolve, reject) => { + let settled = false; + + const finish = (fn: () => void): void => { + if (settled) { + return; + } + + settled = true; + clearTimeout(timer); + callerSignal?.removeEventListener('abort', onAbort); + fn(); + }; + + const onAbort = (): void => + finish(() => + reject( + new ActionCallError( + `action ${action} stream read frame ${frameIndex}: cancelled: ${callerSignal ? abortReason(callerSignal) : 'aborted'}`, + 'cancelled', + ), + ), + ); + const timer = setTimeout( + () => + finish(() => + reject( + new ActionCallError( + `action ${action} stream read frame ${frameIndex}: idle timeout after ${timeoutMs}ms`, + 'timeout', + ), + ), + ), + timeoutMs, + ); + + if (typeof timer.unref === 'function') { + timer.unref(); + } + + callerSignal?.addEventListener('abort', onAbort, { once: true }); + void reader.read().then( + (result) => finish(() => resolve(result)), + (error) => finish(() => reject(error)), + ); + }); +} + +async function uploadLocalFile( + action: string, + inputFile: string, + params: Record, + maxStreamBytes: number, + callerSignal: AbortSignal | undefined, + post: (params: Record, signal?: AbortSignal) => Promise, + onProgress?: StreamCallOptions['onProgress'], +): Promise { + const streamId = randomUUID(); + let handle: fs.promises.FileHandle | undefined; + let stage = 'open input'; + let remoteTouched = false; + + try { + throwIfCancelled(callerSignal, action, stage); + handle = await fs.promises.open( + inputFile, + fs.constants.O_RDONLY | fs.constants.O_NOFOLLOW | fs.constants.O_NONBLOCK, + ); + throwIfCancelled(callerSignal, action, stage); + const initial = await handle.stat(); + + if (!initial.isFile()) { + throw new Error('input_file is not a regular file'); + } + + if (initial.size > maxStreamBytes) { + throw new Error(`input_file exceeds limit (${maxStreamBytes} bytes)`); + } + + const totalChunks = Math.max(1, Math.ceil(initial.size / UPLOAD_CHUNK_BYTES)); + await onProgress?.({ + progress: 0, + ...(initial.size > 0 ? { total: initial.size } : {}), + message: '上传开始(字节)', + }); + const baseParams = { ...params }; + + for (const key of MCP_UPLOAD_OWNED_FIELDS) { + delete baseParams[key]; + } + + const filename = + typeof params.filename === 'string' && params.filename + ? params.filename + : path.basename(inputFile); + const hash = createHash('sha256'); + let bytesRead = 0; + + for (let chunkIndex = 0; chunkIndex < totalChunks; chunkIndex++) { + stage = `read chunk ${chunkIndex}`; + throwIfCancelled(callerSignal, action, stage); + const wanted = + initial.size === 0 ? 0 : Math.min(UPLOAD_CHUNK_BYTES, initial.size - bytesRead); + const chunk = Buffer.allocUnsafe(wanted); + let filled = 0; + + while (filled < wanted) { + const read = await handle.read(chunk, filled, wanted - filled, bytesRead + filled); + + if (read.bytesRead === 0) { + break; + } + + filled += read.bytesRead; + } + + if (filled !== wanted) { + throw new Error( + `input_file changed while reading (expected ${wanted} bytes, read ${filled})`, + ); + } + + throwIfCancelled(callerSignal, action, stage); + const payload = filled === chunk.length ? chunk : chunk.subarray(0, filled); + hash.update(payload); + bytesRead += payload.length; + + stage = `send chunk ${chunkIndex}`; + throwIfCancelled(callerSignal, action, stage); + remoteTouched = true; + const ack = await post( + { + ...baseParams, + stream_id: streamId, + chunk_data: payload.toString('base64'), + chunk_index: chunkIndex, + total_chunks: totalChunks, + file_size: initial.size, + filename, + }, + callerSignal, + ); + throwIfCancelled(callerSignal, action, stage); + const ackData = terminalData(ack); + + if (ackData?.type !== 'stream' || ackData.status !== 'chunk_received') { + throw new Error( + `unexpected chunk acknowledgement: ${JSON.stringify(ack.terminal)}`, + ); + } + + await onProgress?.({ + progress: bytesRead, + ...(initial.size > 0 ? { total: initial.size } : {}), + message: '已确认上传(字节);等待最终校验', + }); + } + + stage = 'verify input'; + throwIfCancelled(callerSignal, action, stage); + const afterRead = await handle.stat(); + throwIfCancelled(callerSignal, action, stage); + + if (afterRead.size !== initial.size || afterRead.mtimeMs !== initial.mtimeMs) { + throw new Error('input_file changed during upload'); + } + + if (bytesRead !== initial.size) { + throw new Error( + `input_file size mismatch (expected ${initial.size}, read ${bytesRead})`, + ); + } + + const sha256 = hash.digest('hex'); + + stage = 'close input'; + await handle.close(); + handle = undefined; + + stage = 'complete upload'; + throwIfCancelled(callerSignal, action, stage); + const completed = await post( + { + ...baseParams, + stream_id: streamId, + total_chunks: totalChunks, + file_size: initial.size, + expected_sha256: sha256, + is_complete: true, + filename, + }, + callerSignal, + ); + throwIfCancelled(callerSignal, action, stage); + const data = terminalData(completed); + + if (data?.type !== 'response' || data.status !== 'file_complete') { + throw new Error( + `unexpected completion acknowledgement: ${JSON.stringify(completed.terminal)}`, + ); + } + + if (data.file_size !== initial.size) { + throw new Error( + `remote file_size mismatch (expected ${initial.size}, got ${String(data.file_size)})`, + ); + } + + if (data.sha256 !== sha256) { + throw new Error( + `remote sha256 mismatch (expected ${sha256}, got ${String(data.sha256)})`, + ); + } + + if (typeof data.file_path !== 'string' || !data.file_path) { + throw new Error('completion acknowledgement has no file_path'); + } + + return { + file_path: data.file_path, + file_size: initial.size, + sha256, + chunk_count: totalChunks, + stream_id: streamId, + terminal: completed.terminal, + }; + } catch (error) { + const detail = error instanceof Error ? error.message : String(error); + let closeFailure = ''; + + if (handle) { + try { + await handle.close(); + handle = undefined; + } catch (closeError) { + closeFailure = `; close input failed: ${closeError instanceof Error ? closeError.message : String(closeError)}`; + } + } + + let resetFailure = ''; + + if (remoteTouched) { + try { + await post( + { stream_id: streamId, reset: true }, + AbortSignal.timeout(RESET_TIMEOUT_MS), + ); + } catch (resetError) { + resetFailure = `; remote reset failed: ${resetError instanceof Error ? resetError.message : String(resetError)}`; + } + } + + throw new Error( + `action ${action} stream ${stage}: ${detail}${closeFailure}${resetFailure}`, + { cause: error }, + ); + } +} + +export function makeHttpClient(opts: HttpClientOptions): ActionClient { + const fetchImpl = opts.fetch ?? globalThis.fetch; + const timeoutMs = opts.timeoutMs ?? DEFAULT_TIMEOUT_MS; + + if (!Number.isSafeInteger(timeoutMs) || timeoutMs <= 0 || timeoutMs > 2_147_483_647) { + throw new Error('timeoutMs must be a positive integer no greater than 2147483647'); + } + + const maxStreamBytes = opts.maxStreamBytes ?? DEFAULT_MAX_STREAM_BYTES; + + if ( + !Number.isSafeInteger(maxStreamBytes) || + maxStreamBytes <= 0 || + maxStreamBytes > DEFAULT_MAX_STREAM_BYTES + ) { + throw new Error( + `maxStreamBytes must be an integer between 1 and ${DEFAULT_MAX_STREAM_BYTES}`, + ); + } + + const configuredStreamDir = path.resolve(opts.streamDir ?? DEFAULT_STREAM_DIR); + + try { + fs.mkdirSync(configuredStreamDir, { recursive: true, mode: 0o700 }); + } catch (error) { + throw new Error( + `streamDir cannot be created: ${error instanceof Error ? error.message : String(error)}`, + ); + } + + if (!fs.statSync(configuredStreamDir).isDirectory()) { + throw new Error(`streamDir is not a directory: ${configuredStreamDir}`); + } + + const streamDir = fs.realpathSync(configuredStreamDir); + validateStreamDirectory(streamDir); + let uploadRoot: string | undefined; + + if (opts.uploadRoot) { + uploadRoot = fs.realpathSync(opts.uploadRoot); + + if (!fs.statSync(uploadRoot).isDirectory()) { + throw new Error(`uploadRoot is not a directory: ${uploadRoot}`); + } + } + + const headers: Record = { + 'Content-Type': 'application/json', + Accept: 'application/json', + }; + + if (opts.accessToken) { + headers.Authorization = `Bearer ${opts.accessToken}`; + } + + let client: ActionClient; + let activeStreams = 0; + client = { + info: Object.freeze({ + timeout_ms: timeoutMs, + max_stream_bytes: maxStreamBytes, + download_quota_bytes: 2 * maxStreamBytes, + max_active_streams: MAX_ACTIVE_STREAMS, + download_directory: streamDir, + upload_root: uploadRoot ?? null, + upload_enabled: uploadRoot !== undefined, + }), + async call(action, params, options) { + const deadline = new AbortController(); + const signal = options?.signal + ? AbortSignal.any([options.signal, deadline.signal]) + : deadline.signal; + const timer = setTimeout( + () => deadline.abort(new Error(`timeout after ${timeoutMs}ms`)), + timeoutMs, + ); + timer.unref(); + + try { + signal.throwIfAborted(); + const res = await fetchImpl(opts.endpoint, { + method: 'POST', + headers: requestHeaders(headers, options?.trace), + body: JSON.stringify({ action, params }), + signal, + }); + const text = await res.text(); + signal.throwIfAborted(); + let parsed: unknown; + + try { + parsed = text ? JSON.parse(text) : null; + } catch { + throw new ActionCallError( + `OneBot returned non-JSON (HTTP ${res.status})`, + res.status === 401 || res.status === 403 + ? 'authentication' + : 'invalid_response', + ); + } + + if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) { + throw new ActionCallError( + `OneBot returned an unexpected response (HTTP ${res.status})`, + 'invalid_response', + ); + } + + return parsed as OneBotEnvelope; + } catch (error) { + if (error instanceof ActionCallError) { + throw error; + } + + const kind = options?.signal?.aborted + ? 'cancelled' + : deadline.signal.aborted + ? 'timeout' + : 'transport'; + throw new ActionCallError( + `action ${action} request: ${error instanceof Error ? error.message : String(error)}`, + kind, + { cause: error }, + ); + } finally { + clearTimeout(timer); + } + }, + async callStream(action, params, options) { + const internalOptions = options as InternalStreamCallOptions | undefined; + const ownsSlot = internalOptions?.[INTERNAL_STREAM_CALL] !== true; + + if (ownsSlot) { + if (activeStreams >= MAX_ACTIVE_STREAMS) { + throw new Error( + `action ${action} stream admission: active Stream Action limit reached (${MAX_ACTIVE_STREAMS})`, + ); + } + + activeStreams++; + } + + try { + let resolvedInputFile: string | undefined; + + if (options?.inputFile) { + if (action !== 'upload_file_stream') { + throw new Error( + `action ${action} stream resolve input: input_file is only valid for upload_file_stream`, + ); + } + + if (!uploadRoot) { + throw new Error( + `action ${action} stream resolve input: SNOWLUMA_MCP_UPLOAD_ROOT is not configured`, + ); + } + + const conflicts = MCP_UPLOAD_OWNED_FIELDS.filter((key) => + Object.hasOwn(params, key), + ); + + if (conflicts.length) { + throw new Error( + `action ${action} stream prepare upload: params conflict with MCP-owned transfer fields: ${conflicts.join(', ')}`, + ); + } + + try { + resolvedInputFile = fs.realpathSync(options.inputFile); + } catch (error) { + throw new Error( + `action ${action} stream resolve input: ${error instanceof Error ? error.message : String(error)}`, + ); + } + + if (!isWithin(uploadRoot, resolvedInputFile)) { + throw new Error( + `action ${action} stream resolve input: resolved path is outside the configured upload root`, + ); + } + + return uploadLocalFile( + action, + resolvedInputFile, + params, + maxStreamBytes, + options.signal, + (uploadParams, signal) => + client.callStream(action, uploadParams, { + ...(signal ? { signal } : {}), + ...(options.trace ? { trace: options.trace } : {}), + [INTERNAL_STREAM_CALL]: true, + } as InternalStreamCallOptions), + options.onProgress, + ); + } + + let res: Response; + const connectionController = new AbortController(); + const requestSignal = options?.signal + ? AbortSignal.any([options.signal, connectionController.signal]) + : connectionController.signal; + const connectionTimer = setTimeout(() => { + connectionController.abort( + new Error(`connection timeout after ${timeoutMs}ms`), + ); + }, timeoutMs); + + if (typeof connectionTimer.unref === 'function') { + connectionTimer.unref(); + } + + try { + throwIfCancelled(options?.signal, action, 'connection'); + res = await fetchImpl(opts.endpoint, { + method: 'POST', + headers: requestHeaders(headers, options?.trace), + body: JSON.stringify({ action, params }), + signal: requestSignal, + }); + } catch (error) { + const detail = options?.signal?.aborted + ? `cancelled: ${abortReason(options.signal)}` + : connectionController.signal.aborted + ? abortReason(connectionController.signal) + : error instanceof Error + ? error.message + : String(error); + throw new ActionCallError( + `action ${action} stream connection: ${detail}`, + options?.signal?.aborted + ? 'cancelled' + : connectionController.signal.aborted + ? 'timeout' + : 'transport', + { cause: error }, + ); + } finally { + clearTimeout(connectionTimer); + } + + if (!res.ok) { + throw new ActionCallError( + `action ${action} stream HTTP: unexpected status ${res.status}`, + res.status === 401 || res.status === 403 ? 'authentication' : 'transport', + ); + } + + if (!res.body) { + throw new Error(`action ${action} stream body: response body is unavailable`); + } + + const reader = res.body.getReader(); + const decoder = new TextDecoder('utf-8', { fatal: true }); + const frames: OneBotEnvelope[] = []; + let buffer = ''; + let bufferWireBytes = 0; + let frameIndex = 0; + let fileHandle: fs.promises.FileHandle | undefined; + let partPath: string | undefined; + let finalPath: string | undefined; + let declaredSize: number | undefined; + let fileBytes = 0; + let fileChunks = 0; + let fileTerminal: OneBotEnvelope | undefined; + let quotaReservation: DownloadReservation | undefined; + let genericTextBytes = 0; + let genericTerminalIndex: number | undefined; + const fileHash = createHash('sha256'); + + const acceptFrame = async ( + frame: OneBotEnvelope, + rawBytes: number, + ): Promise => { + throwIfCancelled(options?.signal, action, `frame ${frameIndex}`); + const data = record(frame.data); + const dataType = data?.data_type; + const resetAck = + action === 'upload_file_stream' && + params.reset === true && + /stream reset completed/i.test( + String(frame.wording ?? frame.message ?? ''), + ); + + if ( + !resetAck && + (frame.status !== 'ok' || frame.retcode !== 0 || data?.type === 'error') + ) { + const detail = + frame.wording || frame.message || `retcode=${String(frame.retcode)}`; + throw new Error( + `action ${action} stream frame ${frameIndex}: terminal error: ${detail}`, + ); + } + + if ( + frameIndex === 0 && + FILE_DOWNLOAD_ACTIONS.has(action) && + dataType !== 'file_info' + ) { + throw new Error( + `action ${action} stream frame 0: first successful frame must be file_info`, + ); + } + + if ( + !fileHandle && + (dataType === 'file_chunk' || dataType === 'file_complete') + ) { + throw new Error( + `action ${action} stream frame ${frameIndex}: ${String(dataType)} received without file_info`, + ); + } + + if (dataType === 'file_info') { + if (!data) { + throw new Error( + `action ${action} stream frame ${frameIndex}: file_info data must be an object`, + ); + } + + if (frameIndex !== 0 || fileHandle) { + throw new Error( + `action ${action} stream frame ${frameIndex}: file_info must be the first and only header`, + ); + } + + const size = data.file_size; + + if (!Number.isSafeInteger(size) || (size as number) < 0) { + throw new Error( + `action ${action} stream frame ${frameIndex}: invalid file_size`, + ); + } + + if ((size as number) > maxStreamBytes) { + throw new Error( + `action ${action} stream frame ${frameIndex}: file_size exceeds limit (${maxStreamBytes} bytes)`, + ); + } + + if (data.chunk_size !== undefined) { + if ( + !Number.isSafeInteger(data.chunk_size) || + (data.chunk_size as number) <= 0 + ) { + throw new Error( + `action ${action} stream frame ${frameIndex}: invalid chunk_size`, + ); + } + + const expectedChunks = Math.ceil( + (size as number) / (data.chunk_size as number), + ); + + if (expectedChunks > MAX_FILE_CHUNKS) { + throw new Error( + `action ${action} stream frame ${frameIndex}: declared file chunks exceed limit (${MAX_FILE_CHUNKS})`, + ); + } + } + + // NapCat/SnowLuma use 0 when the source length is unknown. Only a + // positive header value is a strict declaration. + declaredSize = (size as number) > 0 ? (size as number) : undefined; + const filename = `${randomUUID()}-${safeDownloadName(data.file_name)}`; + finalPath = path.join(streamDir, filename); + partPath = `${finalPath}.part`; + quotaReservation = reserveDownloadQuota( + streamDir, + partPath, + finalPath, + declaredSize ?? maxStreamBytes, + 2 * maxStreamBytes, + ); + + try { + fileHandle = await fs.promises.open(partPath, 'wx', 0o600); + } catch (error) { + releaseDownloadQuota(quotaReservation); + quotaReservation = undefined; + throw error; + } + + await options?.onProgress?.({ + progress: 0, + ...(declaredSize !== undefined ? { total: declaredSize } : {}), + message: '下载开始(字节)', + }); + + return; + } + + if (fileHandle) { + if (fileTerminal) { + throw new Error( + `action ${action} stream frame ${frameIndex}: frame received after terminal`, + ); + } + + if (dataType === 'file_chunk') { + if (fileChunks >= MAX_FILE_CHUNKS) { + throw new Error( + `action ${action} stream frame ${frameIndex}: file chunks exceed limit (${MAX_FILE_CHUNKS})`, + ); + } + + if (!data || typeof data.data !== 'string') { + throw new Error( + `action ${action} stream frame ${frameIndex}: file_chunk.data must be base64 text`, + ); + } + + if (!Number.isSafeInteger(data.index) || data.index !== fileChunks) { + throw new Error( + `action ${action} stream frame ${frameIndex}: expected chunk index ${fileChunks}, got ${String(data.index)}`, + ); + } + + let chunk: Buffer; + + try { + chunk = decodeBase64Chunk(data.data); + } catch (error) { + throw new Error( + `action ${action} stream frame ${frameIndex}: ${error instanceof Error ? error.message : String(error)}`, + ); + } + + if ( + data.size !== undefined && + (!Number.isSafeInteger(data.size) || data.size !== chunk.length) + ) { + throw new Error( + `action ${action} stream frame ${frameIndex}: file_chunk.size does not match decoded base64 bytes`, + ); + } + + const nextBytes = fileBytes + chunk.length; + + if (declaredSize !== undefined && nextBytes > declaredSize) { + throw new Error( + `action ${action} stream frame ${frameIndex}: downloaded bytes exceed declared file_size (${declaredSize} bytes)`, + ); + } + + if (nextBytes > maxStreamBytes) { + throw new Error( + `action ${action} stream frame ${frameIndex}: downloaded bytes exceed limit (${maxStreamBytes} bytes)`, + ); + } + + await writeAll(fileHandle, chunk); + fileHash.update(chunk); + fileBytes += chunk.length; + fileChunks++; + await options?.onProgress?.({ + progress: fileBytes, + ...(declaredSize !== undefined ? { total: declaredSize } : {}), + message: '已接收下载(字节);等待最终校验', + }); + return; + } + + if (data?.type === 'response' && dataType === 'file_complete') { + fileTerminal = frame; + return; + } + + throw new Error( + `action ${action} stream frame ${frameIndex}: unexpected file frame ${String(dataType ?? data?.type ?? 'unknown')}`, + ); + } + + if (frames.length >= MAX_GENERIC_FRAMES) { + throw new Error( + `action ${action} stream frame ${frameIndex}: generic frame summary exceeds limit (${MAX_GENERIC_FRAMES})`, + ); + } + + if (genericTerminalIndex !== undefined) { + throw new Error( + `action ${action} stream frame ${frameIndex}: frame received after response terminal at frame ${genericTerminalIndex}`, + ); + } + + genericTextBytes += rawBytes; + + if (genericTextBytes > MAX_GENERIC_TEXT_BYTES) { + throw new Error( + `action ${action} stream frame ${frameIndex}: generic summary text exceeds limit (${MAX_GENERIC_TEXT_BYTES} bytes)`, + ); + } + + frames.push(frame); + + if (data?.type === 'response') { + genericTerminalIndex = frameIndex; + } + + await options?.onProgress?.({ + progress: frames.length, + message: '已接收数据帧', + }); + }; + + try { + while (true) { + const { done, value } = await readWithIdleTimeout( + reader, + timeoutMs, + options?.signal, + action, + frameIndex, + ); + + if (done) { + break; + } + + bufferWireBytes += value.byteLength; + buffer += decoder.decode(value, { stream: true }); + let delimiter: number; + + while ((delimiter = buffer.indexOf('\r\n\r\n')) >= 0) { + const raw = buffer.slice(0, delimiter); + buffer = buffer.slice(delimiter + 4); + const rawBytes = Buffer.byteLength(raw, 'utf8'); + bufferWireBytes -= rawBytes + 4; + + if (rawBytes > MAX_WIRE_FRAME_BYTES) { + throw new Error( + `action ${action} stream frame ${frameIndex}: wire frame exceeds limit (${MAX_WIRE_FRAME_BYTES} bytes)`, + ); + } + + if (!raw) { + throw new Error( + `action ${action} stream frame ${frameIndex}: empty frame`, + ); + } + + let parsed: unknown; + + try { + parsed = JSON.parse(raw); + } catch (error) { + throw new Error( + `action ${action} stream frame ${frameIndex}: invalid JSON: ${error instanceof Error ? error.message : String(error)}`, + ); + } + + if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) { + throw new Error( + `action ${action} stream frame ${frameIndex}: expected an object envelope`, + ); + } + + try { + await acceptFrame(parsed as OneBotEnvelope, rawBytes); + } catch (error) { + const detail = + error instanceof Error ? error.message : String(error); + + if (detail.startsWith(`action ${action} `)) { + throw error; + } + + throw new Error( + `action ${action} stream frame ${frameIndex}: frame handling failed: ${detail}`, + { cause: error }, + ); + } + + frameIndex++; + } + + if (bufferWireBytes > MAX_WIRE_FRAME_BYTES) { + throw new Error( + `action ${action} stream frame ${frameIndex}: wire frame exceeds limit (${MAX_WIRE_FRAME_BYTES} bytes)`, + ); + } + } + + buffer += decoder.decode(); + + if (buffer.trim()) { + throw new Error( + `action ${action} stream EOF after frame ${frameIndex}: unterminated frame`, + ); + } + + if (fileHandle) { + if (!fileTerminal) { + throw new Error( + `action ${action} stream EOF after frame ${frameIndex}: missing file_complete terminal`, + ); + } + + if (declaredSize !== undefined && declaredSize !== fileBytes) { + throw new Error( + `action ${action} stream EOF after frame ${frameIndex}: expected ${declaredSize} bytes, received ${fileBytes}`, + ); + } + + const terminalData = record(fileTerminal.data); + + if ( + !Number.isSafeInteger(terminalData?.total_bytes) || + (terminalData!.total_bytes as number) < 0 + ) { + throw new Error( + `action ${action} stream EOF after frame ${frameIndex}: terminal total_bytes is missing or invalid`, + ); + } + + if (terminalData!.total_bytes !== fileBytes) { + throw new Error( + `action ${action} stream EOF after frame ${frameIndex}: terminal total_bytes mismatch`, + ); + } + + if ( + terminalData?.total_chunks !== undefined && + terminalData.total_chunks !== fileChunks + ) { + throw new Error( + `action ${action} stream EOF after frame ${frameIndex}: terminal total_chunks mismatch`, + ); + } + + const sha256 = fileHash.digest('hex'); + throwIfCancelled(options?.signal, action, 'commit download'); + await fileHandle.close(); + fileHandle = undefined; + await fs.promises.rename(partPath!, finalPath!); + partPath = undefined; + releaseDownloadQuota(quotaReservation); + quotaReservation = undefined; + return { + file_path: finalPath!, + file_size: fileBytes, + sha256, + frame_count: frameIndex, + terminal: fileTerminal, + }; + } + + if (!frames.length) { + throw new Error(`action ${action} stream EOF: no frames received`); + } + + const uploadAck = action === 'upload_file_stream' && frames.length === 1; + + if (genericTerminalIndex === undefined && !uploadAck) { + throw new Error( + `action ${action} stream EOF after frame ${frameIndex}: missing response terminal`, + ); + } + + return { + frame_count: frames.length, + frames: frames.slice(0, -1), + terminal: frames.at(-1)!, + }; + } catch (error) { + const cleanupErrors: string[] = []; + + try { + await reader.cancel(error instanceof Error ? error.message : String(error)); + } catch (cleanupError) { + cleanupErrors.push( + `cancel response body: ${cleanupError instanceof Error ? cleanupError.message : String(cleanupError)}`, + ); + } + + try { + await fileHandle?.close(); + } catch (cleanupError) { + cleanupErrors.push( + `close: ${cleanupError instanceof Error ? cleanupError.message : String(cleanupError)}`, + ); + } + + if (partPath) { + try { + await fs.promises.rm(partPath, { force: true }); + } catch (cleanupError) { + cleanupErrors.push( + `remove ${partPath}: ${cleanupError instanceof Error ? cleanupError.message : String(cleanupError)}`, + ); + } + } + + releaseDownloadQuota(quotaReservation); + quotaReservation = undefined; + const detail = error instanceof Error ? error.message : String(error); + const base = detail.startsWith(`action ${action} `) + ? detail + : `action ${action} stream body: ${detail}`; + const suffix = cleanupErrors.length + ? `; cleanup failed (${cleanupErrors.join('; ')})` + : ''; + throw new Error(base + suffix, { cause: error }); + } finally { + reader.releaseLock(); + } + } finally { + if (ownsSlot) { + activeStreams--; + } + } + }, + }; + return client; +} diff --git a/packages/mcp/src/discovery.ts b/packages/mcp/src/discovery.ts new file mode 100644 index 00000000..24565b39 --- /dev/null +++ b/packages/mcp/src/discovery.ts @@ -0,0 +1,119 @@ +import type { CatalogAction } from './types.js'; + +export const FILTER_PROPERTIES = { + category: { type: 'string', description: '按分类过滤,如 群管理 / 消息 / 好友' }, + read_only: { type: 'boolean', description: '只返回指定读写类型的动作' }, + stream: { type: 'boolean', description: '只返回指定流式类型的动作' }, + limit: { + type: 'integer', + minimum: 1, + maximum: 200, + description: '每页数量;省略时返回全部匹配项', + }, + offset: { type: 'integer', minimum: 0, description: '跳过的匹配项数量,默认 0' }, +}; + +const SYNONYMS = [ + ['历史消息', '消息历史', 'history'], + ['群聊', '群', 'group'], + ['私聊', '好友', 'private', 'friend'], + ['禁言', 'ban', 'mute'], + ['撤回', '撤销消息', 'delete_msg', 'recall'], + ['图片', 'image', 'photo'], + ['语音', 'record', 'voice'], + ['文件', 'file'], + ['上传', 'upload'], + ['下载', 'download'], +]; + +export function lite(action: CatalogAction) { + return { + name: action.name, + category: action.category, + summary: action.summary, + aliases: action.aliases, + readOnly: action.readOnly, + stream: action.stream ?? false, + }; +} + +/** Optional controls must not change legacy matching, order or response fields. */ +export function discover(actions: CatalogAction[], args: Record, search: boolean) { + for (const key of ['read_only', 'stream']) { + if (args[key] !== undefined && typeof args[key] !== 'boolean') { + throw new Error(`${key} 必须是布尔值。`); + } + } + + for (const key of ['limit', 'offset']) { + const value = args[key]; + + if ( + value !== undefined && + (typeof value !== 'number' || + !Number.isSafeInteger(value) || + value < (key === 'limit' ? 1 : 0) || + (key === 'limit' && value > 200)) + ) { + throw new Error(`${key} 必须是有效整数(limit 为 1–200,offset 不小于 0)。`); + } + } + + if (args.match !== undefined && args.match !== 'substring' && args.match !== 'keywords') { + throw new Error('match 必须为 substring 或 keywords。'); + } + + const query = (typeof args.query === 'string' ? args.query : '').toLowerCase(); + const category = typeof args.category === 'string' ? args.category : undefined; + const keywords = query.trim().split(/\s+/u).filter(Boolean); + let list = actions.filter((action) => { + if ( + (category && action.category !== category) || + (args.read_only !== undefined && action.readOnly !== args.read_only) || + (args.stream !== undefined && (action.stream ?? false) !== args.stream) + ) { + return false; + } + + if (!search) { + return true; + } + + const fields = [action.name, action.summary ?? '', ...action.aliases].map((s) => + s.toLowerCase(), + ); + + if (args.match !== 'keywords') { + return fields.some((field) => field.includes(query)); + } + + return keywords.every((keyword) => { + const alternatives = SYNONYMS.find((group) => group.includes(keyword)) ?? [keyword]; + return alternatives.some((alternative) => + fields.some((field) => field.includes(alternative)), + ); + }); + }); + + if (search && args.match === 'keywords') { + const exact = (action: CatalogAction) => + action.name.toLowerCase() === query.trim() || + action.aliases.some((alias) => alias.toLowerCase() === query.trim()); + list = list.sort((a, b) => Number(exact(b)) - Number(exact(a))); + } + + const offset = typeof args.offset === 'number' ? args.offset : 0; + const limit = typeof args.limit === 'number' ? args.limit : list.length; + const page = list.slice(offset, offset + limit).map(lite); + const paginated = args.limit !== undefined || args.offset !== undefined; + return { + count: page.length, + actions: page, + ...(paginated + ? { + total: list.length, + next_offset: offset + page.length < list.length ? offset + page.length : null, + } + : {}), + }; +} diff --git a/packages/mcp/src/elicitation.ts b/packages/mcp/src/elicitation.ts new file mode 100644 index 00000000..ddc96601 --- /dev/null +++ b/packages/mcp/src/elicitation.ts @@ -0,0 +1,344 @@ +import { createHash, randomBytes, randomUUID } from 'node:crypto'; +import { + createRequestStateCodec, + fromJsonSchema, + inputRequired, + inputResponse, + type InputRequiredResult, + type ServerContext, + type ServerOptions, + type Tool, +} from '@modelcontextprotocol/server'; +import { asError, type StructuredResult } from './results.js'; + +const INPUT_KEY = 'missing_parameters'; +const INPUT_NAMES = { + query_action_with_input: 'query_action', + invoke_action_with_input: 'invoke_action', +} as const; + +export type InputCompletionTool = keyof typeof INPUT_NAMES; + +export interface InputPreparation { + action: string; + params: Record; + inputSchema: Record; +} + +export interface InputCompletionCallbacks { + capabilities: unknown; + /** Runs the same permission and argument checks as the existing execution tools. */ + preflight: (args: Record) => InputPreparation | StructuredResult; + execute: (args: Record) => Promise; +} + +interface PendingInput { + fingerprint: string; + expiresAt: number; +} + +interface InputState { + challenge: string; +} + +export interface InputCompletion { + verifyRequestState: NonNullable['verify']>; + handle: ( + name: InputCompletionTool, + args: Record, + context: ServerContext, + callbacks: InputCompletionCallbacks, + ) => Promise; + close: () => void; +} + +export function isInputCompletionTool(name: string): name is InputCompletionTool { + return Object.hasOwn(INPUT_NAMES, name); +} + +export function inputCompletionBaseTool( + name: InputCompletionTool, +): 'query_action' | 'invoke_action' { + return INPUT_NAMES[name]; +} + +/** Derive visibility, schemas, annotations and result contracts from the existing tools. */ +export function inputCompletionTools(baseTools: Tool[]): Tool[] { + return baseTools.flatMap((tool) => { + if (tool.name !== 'query_action' && tool.name !== 'invoke_action') { + return []; + } + + return [ + { + ...tool, + name: `${tool.name}_with_input`, + description: `${tool.description} 缺少必填参数时向支持表单的客户端请求补充;补充完成前不执行动作,已有参数不会被覆盖。`, + }, + ]; + }); +} + +function isObject(value: unknown): value is Record { + return value !== null && typeof value === 'object' && !Array.isArray(value); +} + +// Bind every round to the exact tool and original arguments, irrespective of JSON +// object key ordering. Values never appear in the signed token or diagnostics. +function fingerprint(name: string, args: Record): string { + function ordered(value: unknown): unknown { + if (Array.isArray(value)) { + return value.map(ordered); + } + + if (isObject(value)) { + return Object.fromEntries( + Object.keys(value) + .sort() + .map((key) => [key, ordered(value[key])]), + ); + } + + return value; + } + + return createHash('sha256') + .update(JSON.stringify([name, ordered(args)])) + .digest('hex'); +} + +function supportsForm(capabilities: unknown): boolean { + const elicitation = isObject(capabilities) ? capabilities.elicitation : undefined; + + if (!isObject(elicitation)) { + return false; + } + + // The pre-form/url capability shape declared form support with an empty object. + return ( + isObject(elicitation.form) || + (elicitation.form === undefined && elicitation.url === undefined) + ); +} + +/** + * One instance belongs to one configured runtime, shared by its server factory. + * Pending prompts are deliberately transient: a restart invalidates unfinished + * input, and never resumes or retries a side effect automatically. + */ +export function createInputCompletion( + options: { ttlSeconds?: number; maxPending?: number } = {}, +): InputCompletion { + const ttlSeconds = options.ttlSeconds ?? 600; + const maxPending = options.maxPending ?? 256; + + if ( + !Number.isInteger(ttlSeconds) || + ttlSeconds < 1 || + !Number.isInteger(maxPending) || + maxPending < 1 + ) { + throw new RangeError('Input completion limits must be positive integers'); + } + + const codec = createRequestStateCodec({ + key: randomBytes(32), + ttlSeconds, + // HTTP callers must supply validated authInfo. Stdio has one trusted peer. + // The codec hides the binding behind an HMAC, including bearer credentials. + bind: (context) => + JSON.stringify([ + context.mcpReq.method, + context.http?.authInfo?.clientId ?? null, + context.http?.authInfo?.token ?? null, + context.sessionId ?? null, + ]), + }); + const pending = new Map(); + let closed = false; + + return { + verifyRequestState: async (token, context) => { + if (closed) { + throw new Error('closed'); + } + + return codec.verify(token, context); + }, + close() { + closed = true; + pending.clear(); + }, + async handle(name, args, context, callbacks) { + if (closed) { + return asError('补充输入服务已关闭。', 'configuration'); + } + + context.mcpReq.signal.throwIfAborted(); + const prepared = callbacks.preflight(args); + + if ('structuredContent' in prepared) { + return prepared; + } + + const state = context.mcpReq.requestState(); + const required = Array.isArray(prepared.inputSchema.required) + ? prepared.inputSchema.required.filter( + (key): key is string => typeof key === 'string', + ) + : []; + const missing = required.filter((key) => !Object.hasOwn(prepared.params, key)); + const original = fingerprint(name, args); + + for (const [id, entry] of pending) { + if (entry.expiresAt <= Date.now()) { + pending.delete(id); + } + } + + if (state !== undefined) { + if (!isObject(state) || typeof state.challenge !== 'string') { + return asError('补充输入状态无效。'); + } + + const entry = pending.get(state.challenge); + + if (!entry || entry.fingerprint !== original) { + return asError('补充输入已过期、已使用或原始调用已变更,请重新发起调用。'); + } + + // Claim synchronously before validation or execution can yield. A + // replay/concurrent retry can never execute the same answer twice. + pending.delete(state.challenge); + const response = inputResponse(context.mcpReq.inputResponses, INPUT_KEY); + + if (response.kind === 'elicit' && response.action !== 'accept') { + return asError( + '用户拒绝或取消补充输入,动作未执行。', + 'cancelled', + '按用户意愿停止;需要时重新发起调用。', + ); + } + + if ( + response.kind !== 'elicit' || + !isObject(response.content) || + typeof response.content.params_json !== 'string' || + Object.keys(response.content).some((key) => key !== 'params_json') + ) { + return asError('补充输入必须包含 params_json 字符串,动作未执行。'); + } + + let additions: unknown; + + try { + additions = JSON.parse(response.content.params_json); + } catch { + return asError('补充参数不是有效 JSON,动作未执行。'); + } + + if ( + !isObject(additions) || + Object.keys(additions).some((key) => !missing.includes(key)) + ) { + return asError( + '补充参数只能包含本次缺失的必填字段,不能覆盖已有参数或添加其他字段。', + ); + } + + const properties = isObject(prepared.inputSchema.properties) + ? prepared.inputSchema.properties + : {}; + const schema = fromJsonSchema>({ + type: 'object', + properties: Object.fromEntries( + missing.map((key) => [key, properties[key] ?? {}]), + ), + required: missing, + additionalProperties: false, + }); + const validated = await schema['~standard'].validate(additions); + + if (validated.issues) { + return asError( + '补充参数不符合动作目录中的字段类型或约束,动作未执行。', + 'invalid_arguments', + '使用 get_action 查看参数要求后重新发起调用。', + ); + } + + context.mcpReq.signal.throwIfAborted(); + + if (closed) { + return asError('补充输入服务已关闭,动作未执行。', 'configuration'); + } + + return callbacks.execute({ + ...args, + params: { ...prepared.params, ...validated.value }, + }); + } + + if (context.mcpReq.inputResponses || context.mcpReq.droppedInputResponseKeys?.length) { + return asError('补充输入缺少有效请求状态,动作未执行。'); + } + + if (!missing.length) { + return callbacks.execute(args); + } + + if (!supportsForm(callbacks.capabilities)) { + return asError( + '当前客户端未声明表单补充输入能力;请直接提供必填参数。', + 'configuration', + '使用 get_action 查看参数后调用原 query_action 或 invoke_action。', + ); + } + + if (pending.size >= maxPending) { + return asError( + '待补充输入的请求数量已达上限,请完成现有请求或等待过期。', + 'execution', + ); + } + + const challenge = randomUUID(); + pending.set(challenge, { + fingerprint: original, + expiresAt: Date.now() + ttlSeconds * 1000, + }); + + try { + const requestState = await codec.mint({ challenge }, context); + context.mcpReq.signal.throwIfAborted(); + + if (closed) { + throw new Error('Input completion closed'); + } + + const properties = isObject(prepared.inputSchema.properties) + ? prepared.inputSchema.properties + : {}; + return inputRequired({ + inputRequests: { + [INPUT_KEY]: inputRequired.elicit({ + mode: 'form', + message: `请补充 ${prepared.action} 缺失的必填参数:${missing.join('、')}。仅填写这些字段的 JSON 对象,已有参数保持不变。字段要求:${JSON.stringify(Object.fromEntries(missing.map((key) => [key, properties[key] ?? {}])))}`, + requestedSchema: { + type: 'object', + properties: { + params_json: { type: 'string', title: '缺失参数(JSON 对象)' }, + }, + required: ['params_json'], + }, + }), + }, + requestState, + }); + } catch (error) { + pending.delete(challenge); + throw error; + } + }, + }; +} diff --git a/packages/mcp/src/generated/catalog.json b/packages/mcp/src/generated/catalog.json new file mode 100644 index 00000000..ee497b0c --- /dev/null +++ b/packages/mcp/src/generated/catalog.json @@ -0,0 +1,21572 @@ +{ + "actions": [ + { + "name": "_del_group_notice", + "aliases": [], + "summary": "删除群公告(fid 或 notice_id 二选一)", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "删除群公告(fid 或 notice_id 二选一)", + "params": { + "group_id": 20001, + "notice_id": "" + }, + "notes": "notice_id 来自 _get_group_notice;删除需要管理权限。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "fid", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "notice_id", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "fid": { + "type": "string" + }, + "notice_id": { + "type": "string" + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "_get_friend_dress", + "aliases": [], + "summary": "获取指定 QQ 号正在使用的个性装扮(挂件/名片/来电/输入状态等)", + "returns": "装扮信息;目标未使用任何可查询装扮时 items 为空数组。网络失败、未登录态/风控、页面改版、返回账号与请求不一致时返回失败并附具体原因", + "returnsSchema": { + "type": "object", + "properties": { + "target_uin": { + "type": "string" + }, + "is_svip": { + "type": "boolean" + }, + "avatar_url": { + "type": "string" + }, + "items": { + "type": "array", + "items": { + "type": "object", + "properties": { + "app_id": { + "type": "integer" + }, + "kind": { + "type": "string" + }, + "item_id": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "preview_url": { + "type": "string" + }, + "video_url": { + "type": "string" + }, + "price": { + "type": "number" + } + }, + "required": [ + "app_id", + "kind", + "item_id", + "name", + "preview_url", + "video_url", + "price" + ] + } + } + }, + "required": [ + "target_uin", + "is_svip", + "avatar_url", + "items" + ] + }, + "examples": [ + { + "summary": "获取指定 QQ 号正在使用的个性装扮(挂件/名片/来电/输入状态等)", + "params": { + "user_id": 10001 + }, + "notes": "替换为需要查询的 QQ 号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "目标 QQ 号" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 1, + "description": "目标 QQ 号", + "x-role": "user_id" + } + }, + "required": [ + "user_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "_get_group_notice", + "aliases": [], + "summary": "获取群公告", + "returns": "普通公告与新成员公告的合并数组;send_to_new_members 标识后者;图片含 id、url、宽高", + "returnsSchema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "notice_id": { + "type": "string" + }, + "sender_id": { + "type": "number" + }, + "publish_time": { + "type": "number" + }, + "message": { + "type": "object", + "properties": { + "text": { + "type": "string" + }, + "image": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "height": { + "type": "number" + }, + "width": { + "type": "number" + } + }, + "required": [ + "id", + "url", + "height", + "width" + ] + } + }, + "images": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "height": { + "type": "number" + }, + "width": { + "type": "number" + } + }, + "required": [ + "id", + "url", + "height", + "width" + ] + }, + "description": "与 image 相同的图片列表,保留两个兼容字段" + } + }, + "required": [ + "text", + "image", + "images" + ] + }, + "settings": { + "description": "服务端公告设置,原样透传,可为 null" + }, + "read_num": { + "type": "number" + }, + "type": { + "type": "number" + }, + "pinned": { + "type": "number" + }, + "send_to_new_members": { + "type": "boolean" + } + }, + "required": [ + "notice_id", + "sender_id", + "publish_time", + "message", + "settings", + "read_num", + "type", + "pinned", + "send_to_new_members" + ] + } + }, + "examples": [ + { + "summary": "获取群公告", + "params": { + "group_id": 20001 + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "_get_model_show", + "aliases": [], + "summary": "获取机型展示(兼容 mock)", + "returns": "数组,每项含 variants(回显请求的机型名与 need_pay 标记)。", + "returnsSchema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "variants": { + "type": "object", + "properties": { + "model_show": { + "type": "string", + "description": "机型展示名(回显请求的 model,缺省 snowluma)" + }, + "need_pay": { + "type": "boolean", + "description": "是否需付费(恒 false)" + } + }, + "required": [ + "model_show", + "need_pay" + ] + } + }, + "required": [ + "variants" + ] + } + }, + "examples": [ + { + "summary": "获取机型展示(兼容 mock)", + "params": { + "model": "示例机型" + }, + "notes": "兼容占位接口,仅将传入的 model(或默认值)放进展示结构,不查询设备机型。" + } + ], + "readOnly": true, + "params": [ + { + "name": "model", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "model": { + "type": "string", + "default": "" + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "_mark_all_as_read", + "aliases": [], + "summary": "标记全部已读", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "标记全部已读", + "params": {}, + "notes": "会将当前账号的会话标记为已读。" + } + ], + "readOnly": false, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "_send_group_notice", + "aliases": [], + "summary": "发送群公告(支持置顶、弹窗、新成员、群昵称引导与确认)", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "发送群公告(支持置顶、弹窗、新成员、群昵称引导与确认)", + "params": { + "group_id": 20001, + "content": "欢迎参加本周讨论", + "type": 1, + "pinned": 0 + }, + "notes": "需要群公告管理权限;普通公告 type=1,新成员公告 type=20。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "content", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + }, + "desc": "公告正文" + }, + { + "name": "image", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "", + "role": "image", + "desc": "可选公告图片(本地路径、URL 或 base64)" + }, + { + "name": "pinned", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0, + "maximum": 1 + }, + "default": 0, + "desc": "是否置顶:1=置顶,0=不置顶" + }, + { + "name": "type", + "type": "int", + "required": false, + "schema": { + "type": "integer" + }, + "desc": "发布类型:1=普通公告,20=新成员公告;建议使用 send_to_new_members" + }, + { + "name": "send_to_new_members", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "desc": "是否在成员新加入群时发送(与 type=20 等价)" + }, + { + "name": "is_show_edit_card", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0, + "maximum": 1 + }, + "default": 1, + "desc": "是否引导群成员修改群昵称:1=是,0=否" + }, + { + "name": "tip_window_type", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0, + "maximum": 1 + }, + "default": 1, + "desc": "弹窗展示:0=开启弹窗,1=关闭弹窗(QQ 原始字段为反向语义)" + }, + { + "name": "confirm_required", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0, + "maximum": 1 + }, + "default": 1, + "desc": "是否需要群成员确认收到:1=是,0=否" + } + ], + "invariants": [ + "type must be 1 (regular) or 20 (new members)", + "send_to_new_members conflicts with type" + ], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "content": { + "type": "string", + "minLength": 1, + "description": "公告正文" + }, + "image": { + "type": "string", + "description": "可选公告图片(本地路径、URL 或 base64)", + "default": "", + "x-role": "image" + }, + "pinned": { + "type": "integer", + "minimum": 0, + "maximum": 1, + "description": "是否置顶:1=置顶,0=不置顶", + "default": 0 + }, + "type": { + "type": "integer", + "description": "发布类型:1=普通公告,20=新成员公告;建议使用 send_to_new_members" + }, + "send_to_new_members": { + "type": "boolean", + "description": "是否在成员新加入群时发送(与 type=20 等价)" + }, + "is_show_edit_card": { + "type": "integer", + "minimum": 0, + "maximum": 1, + "description": "是否引导群成员修改群昵称:1=是,0=否", + "default": 1 + }, + "tip_window_type": { + "type": "integer", + "minimum": 0, + "maximum": 1, + "description": "弹窗展示:0=开启弹窗,1=关闭弹窗(QQ 原始字段为反向语义)", + "default": 1 + }, + "confirm_required": { + "type": "integer", + "minimum": 0, + "maximum": 1, + "description": "是否需要群成员确认收到:1=是,0=否", + "default": 1 + } + }, + "required": [ + "group_id", + "content" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "_set_model_show", + "aliases": [], + "summary": "设置机型展示(占位)", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "设置机型展示(占位)", + "params": {}, + "notes": "兼容占位接口,当前返回成功但不修改机型展示。" + } + ], + "readOnly": false, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": ".get_word_slices", + "aliases": [], + "summary": "分词(未实现)", + "returnsSchema": { + "not": {}, + "description": "当前始终返回失败,没有成功 data;失败响应 data 为 null,原因见 wording" + }, + "examples": [ + { + "summary": "分词(未实现)", + "params": {}, + "notes": "当前未实现,调用返回失败;不要将其当作可用能力。" + } + ], + "readOnly": true, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "add_custom_face", + "aliases": [], + "summary": "添加收藏表情", + "returnsSchema": { + "type": "object", + "properties": { + "emoji_id": { + "type": "string" + } + }, + "required": [ + "emoji_id" + ] + }, + "examples": [ + { + "summary": "添加收藏表情", + "params": { + "file": "file:///path/to/emoji.png" + }, + "notes": "示例路径位于 SnowLuma 服务端,须替换为该服务可读取的实际文件。" + } + ], + "readOnly": false, + "params": [ + { + "name": "file", + "type": "string", + "required": true, + "role": "image", + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "file": { + "type": "string", + "minLength": 1, + "x-role": "image" + } + }, + "required": [ + "file" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "add_group_tag", + "aliases": [], + "summary": "向某个群分类添加资料标签", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "向某个群分类添加资料标签", + "params": { + "group_class": 1, + "name": "学习" + }, + "notes": "替换实际群分类和标签;需要当前账号有管理权限。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_class", + "type": "int", + "required": true, + "schema": { + "type": "integer", + "minimum": 0, + "maximum": 4294967295 + } + }, + { + "name": "name", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_class": { + "type": "integer", + "minimum": 0, + "maximum": 4294967295 + }, + "name": { + "type": "string", + "minLength": 1 + } + }, + "required": [ + "group_class", + "name" + ], + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "bot_exit", + "aliases": [], + "summary": "退出机器人", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "退出机器人", + "params": {}, + "notes": "会退出 SnowLuma 进程,仅在明确需要停止服务时调用。" + } + ], + "readOnly": false, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "can_send_image", + "aliases": [], + "returns": "能力查询结果。", + "returnsSchema": { + "type": "object", + "properties": { + "yes": { + "type": "boolean", + "description": "是否支持发送图片" + } + }, + "required": [ + "yes" + ] + }, + "examples": [ + { + "summary": "基本调用", + "params": {} + } + ], + "readOnly": true, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "信息" + }, + { + "name": "can_send_record", + "aliases": [], + "returns": "能力查询结果。", + "returnsSchema": { + "type": "object", + "properties": { + "yes": { + "type": "boolean", + "description": "是否支持发送语音" + } + }, + "required": [ + "yes" + ] + }, + "examples": [ + { + "summary": "基本调用", + "params": {} + } + ], + "readOnly": true, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "信息" + }, + { + "name": "cancel_group_album_media_like", + "aliases": [], + "returnsSchema": { + "type": "object", + "properties": { + "id": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": [ + "integer", + "null" + ] + } + } + }, + "examples": [ + { + "summary": "基本调用", + "params": { + "group_id": 20001, + "album_id": "", + "batch_id": "1700000000" + }, + "notes": "album_id 来自 get_group_album_list;lloc 或视频 id、batch_id 来自 get_group_album_media_list。替换群号及对应资源标识。 batch_id 必须是实际批次的十进制字符串。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "album_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "batch_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "lloc", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "album_id": { + "type": "string", + "minLength": 1 + }, + "batch_id": { + "type": "string", + "minLength": 1 + }, + "lloc": { + "type": "string" + } + }, + "required": [ + "group_id", + "album_id", + "batch_id" + ], + "additionalProperties": true + }, + "category": "群相册" + }, + { + "name": "cancel_group_todo", + "aliases": [], + "summary": "取消群待办", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "取消群待办", + "params": { + "group_id": 20001, + "message_id": -123456 + }, + "notes": "使用消息事件或发送结果中的真实 message_id,负值合法;消息须在当前账号的消息存储中可查询。 必须是该群的消息。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "message_id", + "type": "messageId", + "required": true, + "role": "message_id", + "schema": { + "type": "integer", + "not": { + "const": 0 + } + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "message_id": { + "type": "integer", + "not": { + "const": 0 + }, + "x-role": "message_id" + } + }, + "required": [ + "group_id", + "message_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "check_url_safely", + "aliases": [], + "summary": "检查链接安全性", + "returns": "{ level }:安全等级(占位实现,恒为 1)。", + "returnsSchema": { + "type": "object", + "properties": { + "level": { + "type": "integer", + "description": "安全等级(占位,恒 1)" + } + }, + "required": [ + "level" + ] + }, + "examples": [ + { + "summary": "检查链接安全性", + "params": {}, + "notes": "兼容占位接口,当前固定返回 level=1,不能用来证明某个链接安全。" + } + ], + "readOnly": true, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "clean_cache", + "aliases": [], + "summary": "清理缓存", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "清理缓存", + "params": {}, + "notes": "兼容占位接口,当前返回成功但不执行清理。流式临时文件清理请使用 clean_stream_temp_file。" + } + ], + "readOnly": false, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "clean_stream_temp_file", + "aliases": [], + "summary": "清理流式传输临时文件(仅清理 stream 上传/下载目录)", + "returns": "{ message, removed }", + "returnsSchema": { + "type": "object", + "properties": { + "message": { + "const": "success" + }, + "removed": { + "type": "integer" + }, + "freed_bytes": { + "type": "integer" + }, + "skipped_active": { + "type": "integer" + } + }, + "required": [ + "message", + "removed", + "freed_bytes", + "skipped_active" + ] + }, + "examples": [ + { + "summary": "清理流式传输临时文件(仅清理 stream 上传/下载目录)", + "params": {}, + "notes": "清理未使用的流式临时文件;不会清理正在传输的项目。" + } + ], + "readOnly": false, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "流式接口" + }, + { + "name": "click_inline_keyboard_button", + "aliases": [], + "summary": "点击内联键盘按钮", + "returnsSchema": { + "type": "object", + "properties": { + "result": { + "type": "number", + "description": "按钮业务结果码,需单独检查" + }, + "errMsg": { + "type": "string" + }, + "status": { + "const": 0 + }, + "promptText": { + "type": "string" + }, + "promptType": { + "const": 0 + }, + "promptIcon": { + "const": 0 + } + }, + "required": [ + "result", + "errMsg", + "status", + "promptText", + "promptType", + "promptIcon" + ] + }, + "examples": [ + { + "summary": "点击内联键盘按钮", + "params": { + "group_id": 20001, + "bot_appid": 10001, + "msg_seq": 42, + "button_id": "", + "callback_data": "" + }, + "notes": "参数必须来自同一条机器人按钮消息;msg_seq 是消息序号,不是 message_id。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "bot_appid", + "type": "uint", + "required": true, + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "msg_seq", + "type": "uint", + "required": true, + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "button_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "callback_data", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "bot_appid": { + "type": "integer", + "minimum": 1 + }, + "msg_seq": { + "type": "integer", + "minimum": 1 + }, + "button_id": { + "type": "string", + "minLength": 1 + }, + "callback_data": { + "type": "string", + "default": "" + } + }, + "required": [ + "group_id", + "bot_appid", + "msg_seq", + "button_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "comment_qzone", + "aliases": [], + "summary": "评论说说或回复指定评论(普通评论支持带图,楼中楼仅支持文字)", + "returnsSchema": { + "type": "object", + "properties": { + "comment_id": { + "type": "string", + "description": "新评论或新回复的 ID;普通评论未返回 ID 时为空串,楼中楼回复不会用父编号代替" + }, + "parent_comment_id": { + "type": "string", + "description": "仅楼中楼回复返回,所属一级评论 ID" + }, + "parent_comment_uin": { + "type": "integer", + "description": "仅楼中楼回复返回,所属一级评论作者 QQ 号" + } + }, + "required": [ + "comment_id" + ] + }, + "examples": [ + { + "summary": "评论一条说说(QQ 空间,支持纯文字或带图;传 images 自动上传)", + "params": { + "tid": "", + "target_uin": 10001, + "content": "感谢分享" + }, + "notes": "tid 来自 get_qzone_msg_list;操作需有该说说的访问或管理权限。" + }, + { + "summary": "回复指定一级评论,保留说说所属账号", + "params": { + "tid": "", + "target_uin": 10001, + "content": "感谢回复", + "comment_id": "0", + "comment_uin": 10002 + }, + "notes": "comment_id 和 comment_uin 分别取 get_qzone_msg_detail 的一级评论 comment_id 和 uin;编号 0 有效。楼中楼仅支持文字。" + }, + { + "summary": "回复楼中楼中的某位评论者", + "params": { + "tid": "", + "target_uin": 10001, + "content": "我也这么认为", + "comment_id": "0", + "comment_uin": 10002, + "reply_uin": 10003, + "reply_name": "评论者" + }, + "notes": "comment_id/comment_uin 使用该回复的 parent_comment_id/parent_comment_uin;reply_uin/reply_name 使用该回复的 uin/name,不把二级回复自身的 comment_id 当成父评论编号。" + } + ], + "readOnly": false, + "params": [ + { + "name": "tid", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + }, + "desc": "说说 tid" + }, + { + "name": "content", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + }, + "desc": "评论内容" + }, + { + "name": "target_uin", + "type": "uint", + "required": false, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "说说所属 QQ 号,省略则为机器人自己" + }, + { + "name": "comment_id", + "type": "string", + "required": false, + "schema": { + "type": "string", + "minLength": 1 + }, + "desc": "一级父评论 ID,与 comment_uin 同时提供;编号 0 有效,不能传二级回复自身的 ID" + }, + { + "name": "comment_uin", + "type": "uint", + "required": false, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "一级父评论作者 QQ 号,与 comment_id 同时提供;不是说说所属账号" + }, + { + "name": "reply_uin", + "type": "uint", + "required": false, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "楼中楼中要回复的用户 QQ 号,与 reply_name 同时提供,需指定父评论" + }, + { + "name": "reply_name", + "type": "string", + "required": false, + "schema": { + "type": "string", + "minLength": 1 + }, + "desc": "要回复的用户昵称,来自评论详情的 name;与 reply_uin 同时提供" + }, + { + "name": "images", + "type": "string[]", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "minLength": 1 + } + }, + "desc": "图片数组(可选),支持 file:// http:// base64://;自动上传" + } + ], + "invariants": [ + "all or none of: comment_id, comment_uin", + "all or none of: reply_uin, reply_name", + "reply_uin/reply_name require comment_id/comment_uin", + "images are not supported for comment replies", + "comment_id, reply_name and reply content must not be blank", + "comment_uin and reply_uin must be safe integers" + ], + "inputSchema": { + "type": "object", + "properties": { + "tid": { + "type": "string", + "minLength": 1, + "description": "说说 tid" + }, + "content": { + "type": "string", + "minLength": 1, + "description": "评论内容" + }, + "target_uin": { + "type": "integer", + "minimum": 1, + "description": "说说所属 QQ 号,省略则为机器人自己", + "x-role": "user_id" + }, + "comment_id": { + "type": "string", + "minLength": 1, + "description": "一级父评论 ID,与 comment_uin 同时提供;编号 0 有效,不能传二级回复自身的 ID" + }, + "comment_uin": { + "type": "integer", + "minimum": 1, + "description": "一级父评论作者 QQ 号,与 comment_id 同时提供;不是说说所属账号", + "x-role": "user_id" + }, + "reply_uin": { + "type": "integer", + "minimum": 1, + "description": "楼中楼中要回复的用户 QQ 号,与 reply_name 同时提供,需指定父评论", + "x-role": "user_id" + }, + "reply_name": { + "type": "string", + "minLength": 1, + "description": "要回复的用户昵称,来自评论详情的 name;与 reply_uin 同时提供" + }, + "images": { + "type": "array", + "items": { + "type": "string", + "minLength": 1 + }, + "description": "图片数组(可选),支持 file:// http:// base64://;自动上传" + } + }, + "required": [ + "tid", + "content" + ], + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "comment_qzone_public_feed", + "aliases": [], + "summary": "评论推荐动态,支持文本或上游富文本条目", + "returns": "上游评论结果,包含新评论,保留未知字段。", + "returnsSchema": { + "type": "object", + "additionalProperties": true + }, + "examples": [ + { + "summary": "评论推荐动态", + "params": { + "feed": { + "cell_common": { + "union_id": { + "uf_key": "", + "ugc_id": "", + "feed_id": "", + "ext_ids": [] + }, + "cur_like_key": "", + "domain_type": 3 + }, + "cell_feed_transfer": {}, + "cell_user_info": { + "user": { + "uin": "10001", + "uid": "", + "nick": "" + } + } + }, + "content": "感谢分享" + }, + "notes": "feed 必须原样取自 get_qzone_public_feeds 的 feeds 数组,不能用旧说说 tid 拼造;示例中的占位字段须整体替换。" + } + ], + "readOnly": false, + "params": [ + { + "name": "feed", + "type": "object", + "required": true, + "schema": { + "type": "object", + "additionalProperties": true + }, + "desc": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + }, + { + "name": "content", + "type": "string | object[]", + "required": true, + "schema": { + "anyOf": [ + { + "type": "string", + "minLength": 1 + }, + { + "type": "array", + "minItems": 1, + "items": { + "type": "object", + "additionalProperties": true + } + } + ] + }, + "desc": "非空文本,或非空上游 RichItem 对象数组;字符串始终原样发送,富文本请直接传对象数组,不是 OneBot 消息段" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "feed": { + "type": "object", + "additionalProperties": true, + "description": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + }, + "content": { + "anyOf": [ + { + "type": "string", + "minLength": 1 + }, + { + "type": "array", + "minItems": 1, + "items": { + "type": "object", + "additionalProperties": true + } + } + ], + "description": "非空文本,或非空上游 RichItem 对象数组;字符串始终原样发送,富文本请直接传对象数组,不是 OneBot 消息段" + } + }, + "required": [ + "feed", + "content" + ], + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "complete_group_todo", + "aliases": [], + "summary": "完成群待办", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "完成群待办", + "params": { + "group_id": 20001, + "message_id": -123456 + }, + "notes": "使用消息事件或发送结果中的真实 message_id,负值合法;消息须在当前账号的消息存储中可查询。 必须是该群的消息。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "message_id", + "type": "messageId", + "required": true, + "role": "message_id", + "schema": { + "type": "integer", + "not": { + "const": 0 + } + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "message_id": { + "type": "integer", + "not": { + "const": 0 + }, + "x-role": "message_id" + } + }, + "required": [ + "group_id", + "message_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "create_collection", + "aliases": [], + "summary": "创建收藏(未实现)", + "returnsSchema": { + "not": {}, + "description": "当前始终返回失败,没有成功 data;失败响应 data 为 null,原因见 wording" + }, + "examples": [ + { + "summary": "创建收藏(未实现)", + "params": {}, + "notes": "当前未实现,调用返回失败;不要将其当作可用能力。" + } + ], + "readOnly": false, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "create_flash_task", + "aliases": [], + "summary": "创建闪传任务", + "returnsSchema": { + "type": "object", + "properties": { + "fileset_id": { + "type": "string" + }, + "task_id": { + "type": "string", + "description": "与 fileset_id 相同的兼容字段" + } + }, + "required": [ + "fileset_id", + "task_id" + ] + }, + "examples": [ + { + "summary": "创建闪传任务", + "params": { + "files": [ + { + "file": "file:///path/to/report.pdf", + "name": "报告.pdf" + } + ], + "name": "资料包" + }, + "notes": "示例路径位于 SnowLuma 服务端,须替换为该服务可读取的实际文件。 files 不能为空。" + } + ], + "readOnly": false, + "params": [ + { + "name": "files", + "type": "raw", + "required": false, + "schema": {}, + "desc": "路径、{ file, name },或它们的数组" + }, + { + "name": "name", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "thumb_path", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "files": { + "description": "路径、{ file, name },或它们的数组" + }, + "name": { + "type": "string" + }, + "thumb_path": { + "type": "string" + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "create_group_file_folder", + "aliases": [], + "summary": "创建群文件夹", + "returns": "{ result: { retCode, retMsg }, groupItem: { folderInfo: { folderId, folderName, folderPath, createTime, modifyTime, createUin, modifyUin } } }", + "returnsSchema": { + "type": "object", + "properties": { + "result": { + "type": "object", + "properties": { + "retCode": { + "const": 0 + }, + "retMsg": { + "const": "success" + } + }, + "required": [ + "retCode", + "retMsg" + ] + }, + "groupItem": { + "type": "object", + "properties": { + "folderInfo": { + "type": "object", + "properties": { + "folderId": { + "type": "string" + }, + "folderName": { + "type": "string" + }, + "folderPath": { + "type": "string" + }, + "createTime": { + "type": "integer" + }, + "modifyTime": { + "type": "integer" + }, + "createUin": { + "type": "integer" + }, + "modifyUin": { + "type": "integer" + } + }, + "required": [ + "folderId", + "folderName", + "folderPath", + "createTime", + "modifyTime", + "createUin", + "modifyUin" + ] + } + }, + "required": [ + "folderInfo" + ] + } + }, + "required": [ + "result", + "groupItem" + ] + }, + "examples": [ + { + "summary": "创建群文件夹", + "params": { + "group_id": 20001, + "name": "共享资料", + "parent_id": "/" + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "name", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "parent_id", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "/" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "name": { + "type": "string", + "minLength": 1 + }, + "parent_id": { + "type": "string", + "default": "/" + } + }, + "required": [ + "group_id", + "name" + ], + "additionalProperties": true + }, + "category": "群文件" + }, + { + "name": "del_group_album_media", + "aliases": [], + "summary": "删除群相册图片或视频", + "returnsSchema": { + "type": "object", + "properties": { + "success": { + "const": true + } + }, + "required": [ + "success" + ] + }, + "examples": [ + { + "summary": "删除群相册图片或视频", + "params": { + "group_id": 20001, + "album_id": "", + "lloc": "" + }, + "notes": "album_id 来自 get_group_album_list;lloc 或视频 id、batch_id 来自 get_group_album_media_list。替换群号及对应资源标识。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "album_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "lloc", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + }, + "desc": "图片长定位标识,或视频 id" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "album_id": { + "type": "string", + "minLength": 1 + }, + "lloc": { + "type": "string", + "minLength": 1, + "description": "图片长定位标识,或视频 id" + } + }, + "required": [ + "group_id", + "album_id", + "lloc" + ], + "additionalProperties": true + }, + "category": "群相册" + }, + { + "name": "delete_custom_face", + "aliases": [], + "summary": "删除收藏表情", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "删除收藏表情", + "params": { + "emoji_id": "" + }, + "notes": "emoji_id 来自 fetch_custom_face_detail。" + } + ], + "readOnly": false, + "params": [ + { + "name": "emoji_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "emoji_id": { + "type": "string", + "minLength": 1 + } + }, + "required": [ + "emoji_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "delete_essence_msg", + "aliases": [], + "summary": "移除精华消息", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "移除精华消息", + "params": { + "message_id": -123456 + }, + "notes": "使用消息事件或发送结果中的真实 message_id,负值合法;消息须在当前账号的消息存储中可查询。" + } + ], + "readOnly": false, + "params": [ + { + "name": "message_id", + "type": "messageId", + "required": true, + "role": "message_id", + "schema": { + "type": "integer", + "not": { + "const": 0 + } + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "not": { + "const": 0 + }, + "x-role": "message_id" + } + }, + "required": [ + "message_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "delete_flash_file", + "aliases": [], + "summary": "删除闪传文件", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "删除闪传文件", + "params": { + "fileset_id": "" + }, + "notes": "fileset_id 来自 create_flash_task、get_fileset_id 或 list_filesets,替换为当前账号可访问的文件集。" + } + ], + "readOnly": false, + "params": [ + { + "name": "fileset_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "fileset_id": { + "type": "string", + "minLength": 1 + } + }, + "required": [ + "fileset_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "delete_friend", + "aliases": [], + "summary": "删除好友", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "删除好友", + "params": { + "user_id": 10001, + "block": false + }, + "notes": "会删除指定好友;仅在明确需要删除时调用。" + } + ], + "readOnly": false, + "params": [ + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "QQ 号" + }, + { + "name": "block", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": false + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 1, + "description": "QQ 号", + "x-role": "user_id" + }, + "block": { + "type": "boolean", + "default": false + } + }, + "required": [ + "user_id" + ], + "additionalProperties": true + }, + "category": "好友" + }, + { + "name": "delete_group_file", + "aliases": [], + "summary": "删除群文件", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "删除群文件", + "params": { + "group_id": 20001, + "file_id": "" + }, + "notes": "替换群文件列表中的实际 file_id;需要对应文件操作权限。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "file_id", + "type": "string", + "required": true, + "role": "file_id", + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "file_id": { + "type": "string", + "minLength": 1, + "x-role": "file_id" + } + }, + "required": [ + "group_id", + "file_id" + ], + "additionalProperties": true + }, + "category": "群文件" + }, + { + "name": "delete_group_file_folder", + "aliases": [], + "summary": "删除群文件夹", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "删除群文件夹", + "params": { + "group_id": 20001, + "folder_id": "" + }, + "notes": "会删除指定群文件夹,确认资源后调用。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "folder_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "folder_id": { + "type": "string", + "minLength": 1 + } + }, + "required": [ + "group_id", + "folder_id" + ], + "additionalProperties": true + }, + "category": "群文件" + }, + { + "name": "delete_group_folder", + "aliases": [], + "summary": "删除群文件夹", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "删除群文件夹", + "params": { + "group_id": 20001, + "folder_id": "" + }, + "notes": "会删除指定群文件夹,确认资源后调用。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "folder_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "folder_id": { + "type": "string", + "minLength": 1 + } + }, + "required": [ + "group_id", + "folder_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "delete_group_tag", + "aliases": [], + "summary": "从某个群分类移除资料标签", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "从某个群分类移除资料标签", + "params": { + "group_class": 1, + "name": "学习" + }, + "notes": "替换实际群分类和标签;需要当前账号有管理权限。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_class", + "type": "int", + "required": true, + "schema": { + "type": "integer", + "minimum": 0, + "maximum": 4294967295 + } + }, + { + "name": "name", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_class": { + "type": "integer", + "minimum": 0, + "maximum": 4294967295 + }, + "name": { + "type": "string", + "minLength": 1 + } + }, + "required": [ + "group_class", + "name" + ], + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "delete_msg", + "aliases": [], + "summary": "撤回消息", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "撤回消息", + "params": { + "message_id": -123456 + }, + "notes": "使用消息事件或发送结果中的真实 message_id,负值合法;消息须在当前账号的消息存储中可查询。" + } + ], + "readOnly": false, + "params": [ + { + "name": "message_id", + "type": "messageId", + "required": true, + "role": "message_id", + "schema": { + "type": "integer", + "not": { + "const": 0 + } + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "not": { + "const": 0 + }, + "x-role": "message_id" + } + }, + "required": [ + "message_id" + ], + "additionalProperties": true + }, + "category": "消息" + }, + { + "name": "delete_qzone_msg", + "aliases": [], + "summary": "删除一条说说(QQ 空间,按 tid)", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "删除一条说说(QQ 空间,按 tid)", + "params": { + "tid": "" + }, + "notes": "tid 来自 get_qzone_msg_list;操作需有该说说的访问或管理权限。" + } + ], + "readOnly": false, + "params": [ + { + "name": "tid", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + }, + "desc": "说说 tid(来自 get_qzone_msg_list / send_qzone_msg)" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "tid": { + "type": "string", + "minLength": 1, + "description": "说说 tid(来自 get_qzone_msg_list / send_qzone_msg)" + } + }, + "required": [ + "tid" + ], + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "delete_qzone_public_comment", + "aliases": [], + "summary": "删除推荐动态的一条评论(需有权限)", + "returns": "上游删除结果,保留未知字段。", + "returnsSchema": { + "type": "object", + "additionalProperties": true + }, + "examples": [ + { + "summary": "删除一条评论", + "params": { + "feed": { + "cell_common": { + "union_id": { + "uf_key": "", + "ugc_id": "", + "feed_id": "", + "ext_ids": [] + }, + "cur_like_key": "", + "domain_type": 3 + }, + "cell_feed_transfer": {}, + "cell_user_info": { + "user": { + "uin": "10001", + "uid": "", + "nick": "" + } + } + }, + "comment": { + "id": "", + "user": { + "uin": "", + "uid": "", + "nick": "" + }, + "like": { + "id": "", + "count": 0, + "status": 0 + }, + "reply_attach_info": "" + } + }, + "notes": "feed 必须原样取自 get_qzone_public_feeds 的 feeds 数组,不能用旧说说 tid 拼造;示例中的占位字段须整体替换。 comment 可取 get_qzone_public_feed_detail 返回的 feed.feed.cell_comment.comments,或后续评论页;保留完整对象。" + } + ], + "readOnly": false, + "params": [ + { + "name": "feed", + "type": "object", + "required": true, + "schema": { + "type": "object", + "additionalProperties": true + }, + "desc": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + }, + { + "name": "comment", + "type": "object", + "required": true, + "schema": { + "type": "object", + "additionalProperties": true + }, + "desc": "详情或评论页返回的完整评论对象,保留 user 等原始字段" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "feed": { + "type": "object", + "additionalProperties": true, + "description": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + }, + "comment": { + "type": "object", + "additionalProperties": true, + "description": "详情或评论页返回的完整评论对象,保留 user 等原始字段" + } + }, + "required": [ + "feed", + "comment" + ], + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "delete_qzone_public_reply", + "aliases": [], + "summary": "删除推荐动态评论下的一条回复(需有权限)", + "returns": "上游删除结果,保留未知字段。", + "returnsSchema": { + "type": "object", + "additionalProperties": true + }, + "examples": [ + { + "summary": "删除一条回复", + "params": { + "feed": { + "cell_common": { + "union_id": { + "uf_key": "", + "ugc_id": "", + "feed_id": "", + "ext_ids": [] + }, + "cur_like_key": "", + "domain_type": 3 + }, + "cell_feed_transfer": {}, + "cell_user_info": { + "user": { + "uin": "10001", + "uid": "", + "nick": "" + } + } + }, + "comment": { + "id": "", + "user": { + "uin": "", + "uid": "", + "nick": "" + }, + "like": { + "id": "", + "count": 0, + "status": 0 + }, + "reply_attach_info": "" + }, + "reply": { + "id": "", + "user": { + "uin": "", + "uid": "", + "nick": "" + }, + "like": { + "id": "", + "count": 0, + "status": 0 + } + } + }, + "notes": "feed 必须原样取自 get_qzone_public_feeds 的 feeds 数组,不能用旧说说 tid 拼造;示例中的占位字段须整体替换。 comment 可取 get_qzone_public_feed_detail 返回的 feed.feed.cell_comment.comments,或后续评论页;保留完整对象。 reply 使用该评论下的完整回复对象。" + } + ], + "readOnly": false, + "params": [ + { + "name": "feed", + "type": "object", + "required": true, + "schema": { + "type": "object", + "additionalProperties": true + }, + "desc": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + }, + { + "name": "comment", + "type": "object", + "required": true, + "schema": { + "type": "object", + "additionalProperties": true + }, + "desc": "详情或评论页返回的完整评论对象,保留 user 等原始字段" + }, + { + "name": "reply", + "type": "object", + "required": true, + "schema": { + "type": "object", + "additionalProperties": true + }, + "desc": "评论或回复页返回的完整回复对象,保留 user 等原始字段" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "feed": { + "type": "object", + "additionalProperties": true, + "description": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + }, + "comment": { + "type": "object", + "additionalProperties": true, + "description": "详情或评论页返回的完整评论对象,保留 user 等原始字段" + }, + "reply": { + "type": "object", + "additionalProperties": true, + "description": "评论或回复页返回的完整回复对象,保留 user 等原始字段" + } + }, + "required": [ + "feed", + "comment", + "reply" + ], + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "do_group_album_comment", + "aliases": [], + "returnsSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "user": { + "type": "object", + "properties": { + "uin": { + "type": "string" + } + }, + "required": [ + "uin" + ] + }, + "content": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "integer" + }, + "content": { + "type": "string" + } + }, + "required": [ + "type", + "content" + ] + } + }, + "time": { + "type": "string", + "description": "十进制时间字符串" + }, + "clientKey": { + "type": "string" + } + }, + "required": [ + "id", + "user", + "content", + "time", + "clientKey" + ] + }, + "examples": [ + { + "summary": "基本调用", + "params": { + "group_id": 20001, + "album_id": "", + "lloc": "", + "content": "拍得很好" + }, + "notes": "album_id 来自 get_group_album_list;lloc 或视频 id、batch_id 来自 get_group_album_media_list。替换群号及对应资源标识。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "album_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "lloc", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "content", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "album_id": { + "type": "string", + "minLength": 1 + }, + "lloc": { + "type": "string", + "minLength": 1 + }, + "content": { + "type": "string", + "minLength": 1 + } + }, + "required": [ + "group_id", + "album_id", + "lloc", + "content" + ], + "additionalProperties": true + }, + "category": "群相册" + }, + { + "name": "download_file", + "aliases": [], + "summary": "下载文件(url 或 base64)到 data/downloads", + "returns": "{ file }", + "returnsSchema": { + "type": "object", + "properties": { + "file": { + "type": "string", + "description": "保存到 SnowLuma 服务端的本地文件路径" + } + }, + "required": [ + "file" + ] + }, + "examples": [ + { + "summary": "下载文件(url 或 base64)到 data/downloads", + "params": { + "base64": "aGVsbG8=", + "name": "hello.txt" + }, + "notes": "保存到 SnowLuma 服务端临时目录,返回服务端路径;不是 MCP 主机下载路径。" + } + ], + "readOnly": false, + "params": [ + { + "name": "url", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + }, + { + "name": "base64", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + }, + { + "name": "name", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + }, + { + "name": "headers", + "type": "raw", + "required": false, + "schema": {} + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "url": { + "type": "string", + "default": "" + }, + "base64": { + "type": "string", + "default": "" + }, + "name": { + "type": "string", + "default": "" + }, + "headers": {} + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "download_file_image_stream", + "aliases": [], + "summary": "以流式方式下载图片(缓存图片 id / URL / stream 目录本地文件)", + "returns": "流式帧:file_info → file_chunk* → file_complete", + "returnsSchema": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "const": "stream" + }, + "data_type": { + "const": "file_info" + }, + "file_name": { + "type": "string" + }, + "file_size": { + "type": "integer", + "description": "字节数,0 可表示未知" + }, + "chunk_size": { + "type": "integer" + } + }, + "required": [ + "type", + "data_type", + "file_name", + "file_size", + "chunk_size" + ] + }, + { + "type": "object", + "properties": { + "type": { + "const": "stream" + }, + "data_type": { + "const": "file_chunk" + }, + "index": { + "type": "integer" + }, + "data": { + "type": "string", + "description": "该分块的 Base64 数据" + }, + "size": { + "type": "integer" + }, + "progress": { + "type": "number", + "minimum": 0, + "maximum": 100 + }, + "base64_size": { + "type": "integer" + } + }, + "required": [ + "type", + "data_type", + "index", + "data", + "size", + "progress", + "base64_size" + ] + }, + { + "type": "object", + "properties": { + "type": { + "const": "response" + }, + "data_type": { + "const": "file_complete" + }, + "file_name": { + "type": "string" + }, + "total_chunks": { + "type": "integer" + }, + "total_bytes": { + "type": "integer" + }, + "message": { + "type": "string" + } + }, + "required": [ + "type", + "data_type", + "file_name", + "total_chunks", + "total_bytes", + "message" + ] + } + ], + "description": "每个成功流式帧的 data;失败帧另由 status/retcode/wording 与 type=error 表示,不是 MCP 保存文件后的工具结果" + }, + "examples": [ + { + "summary": "以流式方式下载图片(缓存图片 id / URL / stream 目录本地文件)", + "params": { + "file_id": "", + "chunk_size": 65536 + }, + "notes": "file_id 来自当前账号图片消息;经 invoke_action 调用。" + } + ], + "readOnly": false, + "params": [ + { + "name": "file", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "desc": "文件路径(限 stream 临时目录)/ http(s) URL", + "role": "file" + }, + { + "name": "file_id", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "desc": "文件 ID(缓存的图片/语音 id)", + "role": "file_id" + }, + { + "name": "chunk_size", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "分块大小(字节,默认 64KB)" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "file": { + "type": "string", + "description": "文件路径(限 stream 临时目录)/ http(s) URL", + "x-role": "file" + }, + "file_id": { + "type": "string", + "description": "文件 ID(缓存的图片/语音 id)", + "x-role": "file_id" + }, + "chunk_size": { + "type": "integer", + "minimum": 1, + "description": "分块大小(字节,默认 64KB)" + } + }, + "additionalProperties": true + }, + "stream": true, + "category": "流式接口" + }, + { + "name": "download_file_record_stream", + "aliases": [], + "summary": "以流式方式下载语音(缓存语音 id / URL / stream 目录本地文件)", + "returns": "流式帧:file_info → file_chunk* → file_complete", + "returnsSchema": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "const": "stream" + }, + "data_type": { + "const": "file_info" + }, + "file_name": { + "type": "string" + }, + "file_size": { + "type": "integer", + "description": "字节数,0 可表示未知" + }, + "chunk_size": { + "type": "integer" + } + }, + "required": [ + "type", + "data_type", + "file_name", + "file_size", + "chunk_size" + ] + }, + { + "type": "object", + "properties": { + "type": { + "const": "stream" + }, + "data_type": { + "const": "file_chunk" + }, + "index": { + "type": "integer" + }, + "data": { + "type": "string", + "description": "该分块的 Base64 数据" + }, + "size": { + "type": "integer" + }, + "progress": { + "type": "number", + "minimum": 0, + "maximum": 100 + }, + "base64_size": { + "type": "integer" + } + }, + "required": [ + "type", + "data_type", + "index", + "data", + "size", + "progress", + "base64_size" + ] + }, + { + "type": "object", + "properties": { + "type": { + "const": "response" + }, + "data_type": { + "const": "file_complete" + }, + "file_name": { + "type": "string" + }, + "total_chunks": { + "type": "integer" + }, + "total_bytes": { + "type": "integer" + }, + "message": { + "type": "string" + } + }, + "required": [ + "type", + "data_type", + "file_name", + "total_chunks", + "total_bytes", + "message" + ] + } + ], + "description": "每个成功流式帧的 data;失败帧另由 status/retcode/wording 与 type=error 表示,不是 MCP 保存文件后的工具结果" + }, + "examples": [ + { + "summary": "以流式方式下载语音(缓存语音 id / URL / stream 目录本地文件)", + "params": { + "file_id": "", + "chunk_size": 65536 + }, + "notes": "file_id 来自当前账号语音消息;经 invoke_action 调用。" + } + ], + "readOnly": false, + "params": [ + { + "name": "file", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "desc": "文件路径(限 stream 临时目录)/ http(s) URL", + "role": "file" + }, + { + "name": "file_id", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "desc": "文件 ID(缓存的图片/语音 id)", + "role": "file_id" + }, + { + "name": "chunk_size", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "分块大小(字节,默认 64KB)" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "file": { + "type": "string", + "description": "文件路径(限 stream 临时目录)/ http(s) URL", + "x-role": "file" + }, + "file_id": { + "type": "string", + "description": "文件 ID(缓存的图片/语音 id)", + "x-role": "file_id" + }, + "chunk_size": { + "type": "integer", + "minimum": 1, + "description": "分块大小(字节,默认 64KB)" + } + }, + "additionalProperties": true + }, + "stream": true, + "category": "流式接口" + }, + { + "name": "download_file_stream", + "aliases": [], + "summary": "以流式方式下载文件(stream 目录本地文件 / URL / 缓存媒体)", + "returns": "流式帧:file_info → file_chunk* → file_complete", + "returnsSchema": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "const": "stream" + }, + "data_type": { + "const": "file_info" + }, + "file_name": { + "type": "string" + }, + "file_size": { + "type": "integer", + "description": "字节数,0 可表示未知" + }, + "chunk_size": { + "type": "integer" + } + }, + "required": [ + "type", + "data_type", + "file_name", + "file_size", + "chunk_size" + ] + }, + { + "type": "object", + "properties": { + "type": { + "const": "stream" + }, + "data_type": { + "const": "file_chunk" + }, + "index": { + "type": "integer" + }, + "data": { + "type": "string", + "description": "该分块的 Base64 数据" + }, + "size": { + "type": "integer" + }, + "progress": { + "type": "number", + "minimum": 0, + "maximum": 100 + }, + "base64_size": { + "type": "integer" + } + }, + "required": [ + "type", + "data_type", + "index", + "data", + "size", + "progress", + "base64_size" + ] + }, + { + "type": "object", + "properties": { + "type": { + "const": "response" + }, + "data_type": { + "const": "file_complete" + }, + "file_name": { + "type": "string" + }, + "total_chunks": { + "type": "integer" + }, + "total_bytes": { + "type": "integer" + }, + "message": { + "type": "string" + } + }, + "required": [ + "type", + "data_type", + "file_name", + "total_chunks", + "total_bytes", + "message" + ] + } + ], + "description": "每个成功流式帧的 data;失败帧另由 status/retcode/wording 与 type=error 表示,不是 MCP 保存文件后的工具结果" + }, + "examples": [ + { + "summary": "以流式方式下载文件(stream 目录本地文件 / URL / 缓存媒体)", + "params": { + "file": "https://example.com/report.pdf", + "chunk_size": 65536 + }, + "notes": "替换实际公开可访问地址;经 invoke_action 调用,文件保存到 MCP 下载目录。" + } + ], + "readOnly": false, + "params": [ + { + "name": "file", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "desc": "文件路径(限 stream 临时目录)/ http(s) URL", + "role": "file" + }, + { + "name": "file_id", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "desc": "文件 ID(缓存的图片/语音 id)", + "role": "file_id" + }, + { + "name": "chunk_size", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "分块大小(字节,默认 64KB)" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "file": { + "type": "string", + "description": "文件路径(限 stream 临时目录)/ http(s) URL", + "x-role": "file" + }, + "file_id": { + "type": "string", + "description": "文件 ID(缓存的图片/语音 id)", + "x-role": "file_id" + }, + "chunk_size": { + "type": "integer", + "minimum": 1, + "description": "分块大小(字节,默认 64KB)" + } + }, + "additionalProperties": true + }, + "stream": true, + "category": "流式接口" + }, + { + "name": "download_fileset", + "aliases": [], + "summary": "解析闪传文件下载直链(不下载,由调用方实现下载)", + "returns": "{ url, file_name, file_size }", + "returnsSchema": { + "type": "object", + "properties": { + "url": { + "type": "string" + }, + "file_name": { + "type": "string" + }, + "file_size": { + "type": "number" + } + }, + "required": [ + "url", + "file_name", + "file_size" + ] + }, + "examples": [ + { + "summary": "解析闪传文件下载直链(不下载,由调用方实现下载)", + "params": { + "fileset_id": "", + "file_index": 0 + }, + "notes": "fileset_id 来自 create_flash_task、get_fileset_id 或 list_filesets,替换为当前账号可访问的文件集。 file_index 从 0 开始。" + } + ], + "readOnly": false, + "params": [ + { + "name": "fileset_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "file_name", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "file_index", + "type": "number", + "required": false, + "schema": { + "type": "number" + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "fileset_id": { + "type": "string", + "minLength": 1 + }, + "file_name": { + "type": "string" + }, + "file_index": { + "type": "number" + } + }, + "required": [ + "fileset_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "fetch_custom_face", + "aliases": [], + "summary": "获取自定义表情", + "returns": "字符串数组:return_type=url 时为图片 URL,return_type=id 时为 emoji_id。", + "returnsSchema": { + "type": "array", + "items": { + "type": "string", + "description": "图片 URL 或 emoji_id(取决于 return_type)" + } + }, + "examples": [ + { + "summary": "获取自定义表情", + "params": { + "count": 10, + "return_type": "url" + } + } + ], + "readOnly": true, + "params": [ + { + "name": "count", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "default": 10 + }, + { + "name": "return_type", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "url" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 0, + "default": 10 + }, + "return_type": { + "type": "string", + "default": "url" + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "fetch_custom_face_detail", + "aliases": [], + "summary": "获取自定义表情详情", + "returns": "自定义表情详情数组,包含资源标识、图片地址、摘要与描述。", + "returnsSchema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "emoji_id": { + "type": "string", + "description": "可传给 SnowLuma 表情管理接口的资源标识" + }, + "resId": { + "type": "string", + "description": "兼容 NapCat 的资源标识" + }, + "url": { + "type": "string", + "description": "表情图片地址" + }, + "md5": { + "type": "string", + "description": "表情内容摘要" + }, + "desc": { + "type": "string", + "description": "自定义表情描述;未设置时为空字符串" + } + }, + "required": [ + "emoji_id", + "resId", + "url", + "md5", + "desc" + ] + } + }, + "examples": [ + { + "summary": "获取自定义表情详情", + "params": { + "count": 10 + } + } + ], + "readOnly": true, + "params": [ + { + "name": "count", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "default": 48 + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 0, + "default": 48 + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "fetch_emoji_like", + "aliases": [], + "summary": "获取表情回应用户(NapCat 分页)", + "returns": "分页的表情回应用户列表(NapCat 形状),含分页游标 cookie 与首/末页标记。", + "returnsSchema": { + "type": "object", + "properties": { + "result": { + "type": "integer", + "description": "结果码(恒 0)" + }, + "errMsg": { + "type": "string", + "description": "错误信息(恒空串)" + }, + "emojiLikesList": { + "type": "array", + "description": "回应用户列表", + "items": { + "type": "object", + "properties": { + "tinyId": { + "type": "string", + "description": "用户 QQ 号(字符串)" + }, + "nickName": { + "type": "string", + "description": "昵称(恒空串)" + }, + "headUrl": { + "type": "string", + "description": "头像 URL(恒空串)" + } + }, + "required": [ + "tinyId", + "nickName", + "headUrl" + ] + } + }, + "cookie": { + "type": "string", + "description": "下一页游标(末页为空串)" + }, + "isLastPage": { + "type": "boolean", + "description": "是否末页" + }, + "isFirstPage": { + "type": "boolean", + "description": "是否首页" + } + }, + "required": [ + "result", + "errMsg", + "emojiLikesList", + "cookie", + "isLastPage", + "isFirstPage" + ] + }, + "examples": [ + { + "summary": "获取表情回应用户(NapCat 分页)", + "params": { + "message_id": -123456, + "emojiId": "128077", + "count": 10 + }, + "notes": "使用消息事件或发送结果中的真实 message_id,负值合法;消息须在当前账号的消息存储中可查询。 后续页原样传回上页 cookie。" + } + ], + "readOnly": true, + "params": [ + { + "name": "message_id", + "type": "messageId", + "required": true, + "role": "message_id", + "schema": { + "type": "integer", + "not": { + "const": 0 + } + } + }, + { + "name": "emojiId", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "count", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "default": 10 + }, + { + "name": "cookie", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "not": { + "const": 0 + }, + "x-role": "message_id" + }, + "emojiId": { + "type": "string", + "minLength": 1 + }, + "count": { + "type": "integer", + "minimum": 0, + "default": 10 + }, + "cookie": { + "type": "string", + "default": "" + } + }, + "required": [ + "message_id", + "emojiId" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "fetch_face_entity", + "aliases": [], + "summary": "按编号查询 QQ 系统表情", + "returns": "表情详情;编号不存在时返回 null。", + "returnsSchema": { + "anyOf": [ + { + "type": "object", + "properties": { + "q_sid": { + "type": "string", + "description": "QQ 表情目录标识(部分 emoji 为 Unicode 表情字符串)" + }, + "q_des": { + "type": "string", + "description": "表情描述" + }, + "em_code": { + "type": "string" + }, + "q_cid": { + "type": [ + "integer", + "null" + ] + }, + "ani_sticker_type": { + "type": [ + "integer", + "null" + ] + }, + "ani_sticker_pack_id": { + "type": [ + "integer", + "null" + ] + }, + "ani_sticker_id": { + "type": [ + "integer", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + }, + "emoji_name_alias": { + "type": "array", + "items": { + "type": "string" + } + }, + "ani_sticker_width": { + "type": [ + "integer", + "null" + ] + }, + "ani_sticker_height": { + "type": [ + "integer", + "null" + ] + }, + "is_super": { + "type": "boolean", + "description": "是否使用超级表情格式" + } + }, + "required": [ + "q_sid", + "q_des", + "em_code", + "q_cid", + "ani_sticker_type", + "ani_sticker_pack_id", + "ani_sticker_id", + "url", + "emoji_name_alias", + "ani_sticker_width", + "ani_sticker_height", + "is_super" + ] + }, + { + "type": "null" + } + ] + }, + "examples": [ + { + "summary": "按编号查询 QQ 系统表情", + "params": { + "face_id": 14 + } + } + ], + "readOnly": true, + "params": [ + { + "name": "face_id", + "type": "int", + "required": true, + "role": "face_id", + "schema": { + "type": "integer", + "minimum": 0 + }, + "desc": "QQ 系统表情编号" + }, + { + "name": "refresh", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": false, + "desc": "是否强制从 QQ 刷新目录" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "face_id": { + "type": "integer", + "minimum": 0, + "description": "QQ 系统表情编号", + "x-role": "face_id" + }, + "refresh": { + "type": "boolean", + "description": "是否强制从 QQ 刷新目录", + "default": false + } + }, + "required": [ + "face_id" + ], + "additionalProperties": true + }, + "category": "系统表情" + }, + { + "name": "fetch_ptt_text", + "aliases": [ + "get_ptt_text", + "get_record_text" + ], + "summary": "获取语音转文字结果", + "returns": "{ text }:语音识别出的文本。", + "returnsSchema": { + "type": "object", + "properties": { + "text": { + "type": "string", + "description": "语音转写文本" + } + }, + "required": [ + "text" + ] + }, + "examples": [ + { + "summary": "获取语音转文字结果", + "params": { + "message_id": -123456 + }, + "notes": "使用消息事件或发送结果中的真实 message_id,负值合法;消息须在当前账号的消息存储中可查询。" + } + ], + "readOnly": true, + "params": [ + { + "name": "message_id", + "type": "messageId", + "required": true, + "role": "message_id", + "schema": { + "type": "integer", + "not": { + "const": 0 + } + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "not": { + "const": 0 + }, + "x-role": "message_id" + } + }, + "required": [ + "message_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "fetch_super_face_id", + "aliases": [], + "summary": "判断 QQ 系统表情是否使用超级表情格式", + "returns": "是否使用超级表情格式。", + "returnsSchema": { + "type": "object", + "properties": { + "is_super": { + "type": "boolean" + } + }, + "required": [ + "is_super" + ] + }, + "examples": [ + { + "summary": "判断 QQ 系统表情是否使用超级表情格式", + "params": { + "face_id": 14 + } + } + ], + "readOnly": true, + "params": [ + { + "name": "face_id", + "type": "int", + "required": true, + "role": "face_id", + "schema": { + "type": "integer", + "minimum": 0 + }, + "desc": "QQ 系统表情编号" + }, + { + "name": "refresh", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": false, + "desc": "是否强制从 QQ 刷新目录" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "face_id": { + "type": "integer", + "minimum": 0, + "description": "QQ 系统表情编号", + "x-role": "face_id" + }, + "refresh": { + "type": "boolean", + "description": "是否强制从 QQ 刷新目录", + "default": false + } + }, + "required": [ + "face_id" + ], + "additionalProperties": true + }, + "category": "系统表情" + }, + { + "name": "fetch_sys_faces", + "aliases": [], + "summary": "获取 QQ 系统表情目录", + "returns": "按分组返回完整的 QQ 系统表情映射。", + "returnsSchema": { + "type": "object", + "properties": { + "packs": { + "type": "array", + "items": { + "type": "object", + "properties": { + "pack_name": { + "type": "string" + }, + "emojis": { + "type": "array", + "items": { + "type": "object", + "properties": { + "q_sid": { + "type": "string", + "description": "QQ 表情目录标识(部分 emoji 为 Unicode 表情字符串)" + }, + "q_des": { + "type": "string", + "description": "表情描述" + }, + "em_code": { + "type": "string" + }, + "q_cid": { + "type": [ + "integer", + "null" + ] + }, + "ani_sticker_type": { + "type": [ + "integer", + "null" + ] + }, + "ani_sticker_pack_id": { + "type": [ + "integer", + "null" + ] + }, + "ani_sticker_id": { + "type": [ + "integer", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + }, + "emoji_name_alias": { + "type": "array", + "items": { + "type": "string" + } + }, + "ani_sticker_width": { + "type": [ + "integer", + "null" + ] + }, + "ani_sticker_height": { + "type": [ + "integer", + "null" + ] + }, + "is_super": { + "type": "boolean", + "description": "是否使用超级表情格式" + } + }, + "required": [ + "q_sid", + "q_des", + "em_code", + "q_cid", + "ani_sticker_type", + "ani_sticker_pack_id", + "ani_sticker_id", + "url", + "emoji_name_alias", + "ani_sticker_width", + "ani_sticker_height", + "is_super" + ] + } + } + }, + "required": [ + "pack_name", + "emojis" + ] + } + } + }, + "required": [ + "packs" + ] + }, + "examples": [ + { + "summary": "获取 QQ 系统表情目录", + "params": { + "refresh": false + } + } + ], + "readOnly": true, + "params": [ + { + "name": "refresh", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": false, + "desc": "是否强制从 QQ 刷新目录" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "refresh": { + "type": "boolean", + "description": "是否强制从 QQ 刷新目录", + "default": false + } + }, + "additionalProperties": true + }, + "category": "系统表情" + }, + { + "name": "forward_friend_single_msg", + "aliases": [], + "summary": "转发单条消息给好友", + "returnsSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647, + "not": { + "const": 0 + }, + "description": "非零有符号 32 位消息 ID,负值合法;必须原样保留" + } + }, + "required": [ + "message_id" + ] + }, + "examples": [ + { + "summary": "转发单条消息给好友", + "params": { + "message_id": -123456, + "user_id": 10001 + }, + "notes": "使用消息事件或发送结果中的真实 message_id,负值合法;消息须在当前账号的消息存储中可查询。" + } + ], + "readOnly": false, + "params": [ + { + "name": "message_id", + "type": "messageId", + "required": true, + "role": "message_id", + "schema": { + "type": "integer", + "not": { + "const": 0 + } + } + }, + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "not": { + "const": 0 + }, + "x-role": "message_id" + }, + "user_id": { + "type": "integer", + "minimum": 1, + "x-role": "user_id" + } + }, + "required": [ + "message_id", + "user_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "forward_group_single_msg", + "aliases": [], + "summary": "转发单条消息到群", + "returnsSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647, + "not": { + "const": 0 + }, + "description": "非零有符号 32 位消息 ID,负值合法;必须原样保留" + } + }, + "required": [ + "message_id" + ] + }, + "examples": [ + { + "summary": "转发单条消息到群", + "params": { + "message_id": -123456, + "group_id": 20001 + }, + "notes": "使用消息事件或发送结果中的真实 message_id,负值合法;消息须在当前账号的消息存储中可查询。" + } + ], + "readOnly": false, + "params": [ + { + "name": "message_id", + "type": "messageId", + "required": true, + "role": "message_id", + "schema": { + "type": "integer", + "not": { + "const": 0 + } + } + }, + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "not": { + "const": 0 + }, + "x-role": "message_id" + }, + "group_id": { + "type": "integer", + "minimum": 1, + "x-role": "group_id" + } + }, + "required": [ + "message_id", + "group_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "forward_qzone_public_feed", + "aliases": [], + "summary": "将推荐动态转发到当前账号空间", + "returns": "上游转发结果,保留未知字段。", + "returnsSchema": { + "type": "object", + "additionalProperties": true + }, + "examples": [ + { + "summary": "转发推荐动态到我的空间", + "params": { + "feed": { + "cell_common": { + "union_id": { + "uf_key": "", + "ugc_id": "", + "feed_id": "", + "ext_ids": [] + }, + "cur_like_key": "", + "domain_type": 3 + }, + "cell_feed_transfer": {}, + "cell_user_info": { + "user": { + "uin": "10001", + "uid": "", + "nick": "" + } + } + }, + "reason": "分享这条动态" + }, + "notes": "feed 必须原样取自 get_qzone_public_feeds 的 feeds 数组,不能用旧说说 tid 拼造;示例中的占位字段须整体替换。 只转发,不同时评论或发送给 QQ 联系人。" + } + ], + "readOnly": false, + "params": [ + { + "name": "feed", + "type": "object", + "required": true, + "schema": { + "type": "object", + "additionalProperties": true + }, + "desc": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + }, + { + "name": "reason", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "desc": "转发附言,可为空", + "default": "" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "feed": { + "type": "object", + "additionalProperties": true, + "description": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + }, + "reason": { + "type": "string", + "description": "转发附言,可为空", + "default": "" + } + }, + "required": [ + "feed" + ], + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "friend_poke", + "aliases": [], + "summary": "好友拍一拍", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "好友拍一拍", + "params": { + "user_id": 10001 + }, + "notes": "戳一戳指定好友。" + } + ], + "readOnly": false, + "params": [ + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "target_id", + "type": "uint", + "required": false, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 1, + "x-role": "user_id" + }, + "target_id": { + "type": "integer", + "minimum": 1, + "x-role": "user_id" + } + }, + "required": [ + "user_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_ai_characters", + "aliases": [], + "summary": "获取 AI 语音角色", + "returns": "按分类分组的 AI 语音角色列表,每组含分类名与角色(id、名称、试听 URL)。", + "returnsSchema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "角色分类名" + }, + "characters": { + "type": "array", + "description": "该分类下的角色列表", + "items": { + "type": "object", + "properties": { + "character_id": { + "type": "string", + "description": "角色 ID" + }, + "character_name": { + "type": "string", + "description": "角色显示名" + }, + "preview_url": { + "type": "string", + "description": "试听音频 URL" + } + }, + "required": [ + "character_id", + "character_name", + "preview_url" + ] + } + } + }, + "required": [ + "type", + "characters" + ] + } + }, + "examples": [ + { + "summary": "获取 AI 语音角色", + "params": { + "group_id": 20001, + "chat_type": 1 + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "chat_type", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "default": 1 + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "chat_type": { + "type": "integer", + "minimum": 0, + "default": 1 + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_ai_record", + "aliases": [], + "summary": "生成 AI 语音", + "returnsSchema": { + "type": "string", + "description": "生成的下载或分享 URL 字符串,不是含 url 字段的对象" + }, + "examples": [ + { + "summary": "生成 AI 语音", + "params": { + "group_id": 20001, + "character": "", + "text": "你好", + "chat_type": 1 + }, + "notes": "character 原样使用 get_ai_characters 的 character_id;send_group_ai_record 会直接发送语音。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "character", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "text", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "chat_type", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "default": 1 + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "character": { + "type": "string", + "minLength": 1 + }, + "text": { + "type": "string", + "minLength": 1 + }, + "chat_type": { + "type": "integer", + "minimum": 0, + "default": 1 + } + }, + "required": [ + "group_id", + "character", + "text" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_clientkey", + "aliases": [], + "summary": "获取 clientkey", + "returns": "{ clientKey, expireTime, keyIndex }:clientkey 及其过期时间与索引。", + "returnsSchema": { + "type": "object", + "properties": { + "clientKey": { + "type": "string", + "description": "clientkey" + }, + "expireTime": { + "type": "string", + "description": "过期时间" + }, + "keyIndex": { + "type": "string", + "description": "key 索引" + } + }, + "required": [ + "clientKey", + "expireTime", + "keyIndex" + ] + }, + "examples": [ + { + "summary": "获取 clientkey", + "params": {}, + "notes": "返回值可能包含凭据或临时下载密钥,请勿公开或记录到不受控日志。" + } + ], + "readOnly": true, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_collection_list", + "aliases": [], + "summary": "获取收藏列表", + "returns": "返回收藏条目、是否还有更多数据及底部时间游标。", + "returnsSchema": { + "type": "object", + "properties": { + "errCode": { + "type": "integer" + }, + "errMsg": { + "type": "string" + }, + "collectionSearchList": { + "type": "object", + "properties": { + "collectionItemList": { + "type": "array", + "items": { + "type": "object", + "properties": { + "cid": { + "type": "string" + }, + "type": { + "type": "integer" + }, + "status": { + "type": "integer" + }, + "author": { + "type": "object", + "properties": { + "type": { + "type": "integer" + }, + "numId": { + "type": "string" + }, + "strId": { + "type": "string" + }, + "groupId": { + "type": "string" + }, + "groupName": { + "type": "string" + }, + "uid": { + "type": "string" + } + }, + "required": [ + "type", + "numId", + "strId", + "groupId", + "groupName", + "uid" + ] + }, + "bid": { + "type": "integer" + }, + "category": { + "type": "integer" + }, + "createTime": { + "type": "string" + }, + "collectTime": { + "type": "string" + }, + "modifyTime": { + "type": "string" + }, + "sequence": { + "type": "string" + }, + "shareUrl": { + "type": "string" + }, + "customGroupId": { + "type": "integer" + }, + "securityBeat": { + "type": "boolean" + }, + "summary": { + "type": "object", + "properties": { + "textSummary": { + "type": [ + "object", + "null" + ] + }, + "linkSummary": { + "type": [ + "object", + "null" + ] + }, + "gallerySummary": { + "type": [ + "object", + "null" + ] + }, + "audioSummary": { + "type": [ + "object", + "null" + ] + }, + "videoSummary": { + "type": [ + "object", + "null" + ] + }, + "fileSummary": { + "type": [ + "object", + "null" + ] + }, + "locationSummary": { + "type": [ + "object", + "null" + ] + }, + "richMediaSummary": { + "type": [ + "object", + "null" + ] + } + }, + "required": [ + "textSummary", + "linkSummary", + "gallerySummary", + "audioSummary", + "videoSummary", + "fileSummary", + "locationSummary", + "richMediaSummary" + ] + } + }, + "required": [ + "cid", + "type", + "status", + "author", + "bid", + "category", + "createTime", + "collectTime", + "modifyTime", + "sequence", + "shareUrl", + "customGroupId", + "securityBeat", + "summary" + ] + } + }, + "hasMore": { + "type": "boolean" + }, + "bottomTimeStamp": { + "type": "string" + } + }, + "required": [ + "collectionItemList", + "hasMore", + "bottomTimeStamp" + ] + } + }, + "required": [ + "errCode", + "errMsg", + "collectionSearchList" + ] + }, + "examples": [ + { + "summary": "获取收藏列表", + "params": { + "category": 0, + "count": 20 + } + } + ], + "readOnly": true, + "params": [ + { + "name": "category", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "desc": "收藏分类 ID;0 表示全部分类", + "default": 0 + }, + { + "name": "count", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 500 + }, + "desc": "最多返回的收藏数量", + "default": 50 + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "category": { + "type": "integer", + "minimum": 0, + "description": "收藏分类 ID;0 表示全部分类", + "default": 0 + }, + "count": { + "type": "integer", + "minimum": 1, + "maximum": 500, + "description": "最多返回的收藏数量", + "default": 50 + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_cookies", + "aliases": [], + "summary": "获取 Cookies", + "returns": "{ cookies }:指定域名的 Cookie 字符串。", + "returnsSchema": { + "type": "object", + "properties": { + "cookies": { + "type": "string", + "description": "该域名的 Cookie 字符串" + } + }, + "required": [ + "cookies" + ] + }, + "examples": [ + { + "summary": "获取 Cookies", + "params": { + "domain": "qun.qq.com" + }, + "notes": "返回登录凭据,仅在有明确用途时读取,请勿公开。" + } + ], + "readOnly": true, + "params": [ + { + "name": "domain", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "qun.qq.com" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "domain": { + "type": "string", + "default": "qun.qq.com" + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_credentials", + "aliases": [], + "summary": "获取凭证", + "returns": "{ cookies, token, csrf_token }:Cookie 字符串与 CSRF 令牌(token 与 csrf_token 同值)。", + "returnsSchema": { + "type": "object", + "properties": { + "cookies": { + "type": "string", + "description": "该域名的 Cookie 字符串" + }, + "token": { + "type": "integer", + "description": "CSRF 令牌(bkn)" + }, + "csrf_token": { + "type": "integer", + "description": "CSRF 令牌(同 token)" + } + }, + "required": [ + "cookies", + "token", + "csrf_token" + ] + }, + "examples": [ + { + "summary": "获取凭证", + "params": { + "domain": "qun.qq.com" + }, + "notes": "返回登录凭据,仅在有明确用途时读取,请勿公开。" + } + ], + "readOnly": true, + "params": [ + { + "name": "domain", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "qun.qq.com" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "domain": { + "type": "string", + "default": "qun.qq.com" + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_csrf_token", + "aliases": [], + "summary": "获取 CSRF 令牌", + "returns": "{ token }:CSRF 令牌(bkn,数值)。", + "returnsSchema": { + "type": "object", + "properties": { + "token": { + "type": "integer", + "description": "CSRF 令牌(bkn)" + } + }, + "required": [ + "token" + ] + }, + "examples": [ + { + "summary": "获取 CSRF 令牌", + "params": {} + } + ], + "readOnly": true, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_doubt_friends_add_request", + "aliases": [], + "summary": "获取可疑好友申请", + "returns": "可疑好友申请数组,每项含 uid(作为处理用 flag)、昵称、来源、留言与申请时间。", + "returnsSchema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "uid": { + "type": "string", + "description": "申请人 uid(回传作 set_doubt_friends_add_request 的 flag)" + }, + "user_id": { + "type": "integer", + "description": "申请人 QQ 号" + }, + "nick": { + "type": "string", + "description": "申请人昵称" + }, + "source": { + "type": "string", + "description": "申请来源" + }, + "reason": { + "type": "string", + "description": "附加说明" + }, + "msg": { + "type": "string", + "description": "验证留言" + }, + "group_code": { + "type": "string", + "description": "来源群号,无则为空串" + }, + "reqTime": { + "type": "integer", + "description": "申请时间戳" + } + }, + "required": [ + "uid", + "user_id", + "nick", + "source", + "reason", + "msg", + "group_code", + "reqTime" + ] + } + }, + "examples": [ + { + "summary": "获取可疑好友申请", + "params": { + "count": 20 + } + } + ], + "readOnly": true, + "params": [ + { + "name": "count", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "default": 50 + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 0, + "default": 50 + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_emoji_likes", + "aliases": [], + "summary": "获取表情回应用户", + "returns": "{ emoji_like_list }:回应该表情的用户列表(nick_name 恒为空串)。", + "returnsSchema": { + "type": "object", + "properties": { + "emoji_like_list": { + "type": "array", + "description": "回应用户列表", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "string", + "description": "用户 QQ 号(字符串)" + }, + "nick_name": { + "type": "string", + "description": "昵称(当前实现恒为空串)" + } + }, + "required": [ + "user_id", + "nick_name" + ] + } + } + }, + "required": [ + "emoji_like_list" + ] + }, + "examples": [ + { + "summary": "获取表情回应用户", + "params": { + "message_id": -123456, + "emoji_id": "128077" + }, + "notes": "使用消息事件或发送结果中的真实 message_id,负值合法;消息须在当前账号的消息存储中可查询。" + } + ], + "readOnly": true, + "params": [ + { + "name": "message_id", + "type": "messageId", + "required": true, + "role": "message_id", + "schema": { + "type": "integer", + "not": { + "const": 0 + } + } + }, + { + "name": "emoji_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "not": { + "const": 0 + }, + "x-role": "message_id" + }, + "emoji_id": { + "type": "string", + "minLength": 1 + } + }, + "required": [ + "message_id", + "emoji_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_essence_msg_list", + "aliases": [], + "summary": "获取精华消息列表", + "returnsSchema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "msg_seq": { + "type": "integer" + }, + "msg_random": { + "type": "integer" + }, + "sender_id": { + "type": "integer" + }, + "sender_nick": { + "type": "string" + }, + "sender_time": { + "type": "integer" + }, + "operator_id": { + "type": "integer" + }, + "operator_nick": { + "type": "string" + }, + "operator_time": { + "type": "integer" + }, + "message_id": { + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647, + "not": { + "const": 0 + }, + "description": "非零有符号 32 位消息 ID,负值合法;必须原样保留" + }, + "content": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "消息段类型,例如 text、image、reply" + }, + "data": { + "type": "object", + "description": "字段随消息段类型变化,例如 text 段包含 text,reply 段包含 id", + "additionalProperties": true + } + }, + "required": [ + "type", + "data" + ] + } + } + }, + "required": [ + "msg_seq", + "msg_random", + "sender_id", + "sender_nick", + "sender_time", + "operator_id", + "operator_nick", + "operator_time", + "message_id", + "content" + ] + } + }, + "examples": [ + { + "summary": "获取精华消息列表", + "params": { + "group_id": 20001 + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_file", + "aliases": [], + "summary": "获取文件信息(仅图片/语音缓存;群文件请用 get_group_file_url)", + "returnsSchema": { + "type": "object", + "properties": { + "file": { + "type": "string", + "description": "媒体地址;图片无地址时可为原文件标识" + }, + "url": { + "type": "string", + "description": "媒体下载地址,图片地址可能为空" + }, + "file_size": { + "type": "string", + "description": "原媒体字节数的十进制字符串" + }, + "file_name": { + "type": "string", + "description": "文件名或缓存标识" + } + }, + "required": [ + "file", + "url", + "file_size", + "file_name" + ] + }, + "examples": [ + { + "summary": "获取文件信息(仅图片/语音缓存;群文件请用 get_group_file_url)", + "params": { + "file_id": "" + }, + "notes": "仅查询已缓存的图片或语音,先尝试图片,再尝试语音。" + } + ], + "readOnly": true, + "params": [ + { + "name": "file_id", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "", + "role": "file_id" + }, + { + "name": "file", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "", + "role": "file" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "file_id": { + "type": "string", + "default": "", + "x-role": "file_id" + }, + "file": { + "type": "string", + "default": "", + "x-role": "file" + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_fileset_id", + "aliases": [], + "summary": "从 QQ 闪传分享码或官方分享链接获取 fileset_id", + "returns": "{ fileset_id }:解析出的文件集 ID。", + "returnsSchema": { + "type": "object", + "properties": { + "fileset_id": { + "type": "string", + "description": "文件集 ID" + } + }, + "required": [ + "fileset_id" + ] + }, + "examples": [ + { + "summary": "从 QQ 闪传分享码或官方分享链接获取 fileset_id", + "params": { + "share_code": "" + }, + "notes": "share_code 使用实际闪传分享链接或提取码。" + } + ], + "readOnly": true, + "params": [ + { + "name": "share_code", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + }, + "desc": "QQ 闪传分享码,或 https://qfile.qq.com/q/... 官方分享链接" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "share_code": { + "type": "string", + "minLength": 1, + "description": "QQ 闪传分享码,或 https://qfile.qq.com/q/... 官方分享链接" + } + }, + "required": [ + "share_code" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_fileset_info", + "aliases": [], + "summary": "获取文件集信息", + "returnsSchema": { + "type": "object", + "properties": { + "fileset_id": { + "type": "string" + }, + "file_list": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fileset_id": { + "type": "string" + }, + "file_name": { + "type": "string" + }, + "orig_name": { + "type": "string" + }, + "size": { + "type": "number", + "description": "文件字节数;此接口字段名为 size" + }, + "share_url": { + "type": "string" + }, + "file_id": { + "type": "string" + }, + "download_url": { + "type": "string" + } + }, + "required": [ + "fileset_id", + "file_name", + "orig_name", + "size", + "share_url", + "file_id", + "download_url" + ] + } + } + }, + "required": [ + "fileset_id", + "file_list" + ] + }, + "examples": [ + { + "summary": "获取文件集信息", + "params": { + "fileset_id": "" + }, + "notes": "fileset_id 来自 create_flash_task、get_fileset_id 或 list_filesets,替换为当前账号可访问的文件集。" + } + ], + "readOnly": false, + "params": [ + { + "name": "fileset_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "fileset_id": { + "type": "string", + "minLength": 1 + } + }, + "required": [ + "fileset_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_flash_file_list", + "aliases": [], + "summary": "获取闪传文件列表", + "returnsSchema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fileset_id": { + "type": "string" + }, + "file_name": { + "type": "string" + }, + "orig_name": { + "type": "string" + }, + "size": { + "type": "number", + "description": "文件字节数;此接口字段名为 size" + }, + "share_url": { + "type": "string" + }, + "file_id": { + "type": "string" + }, + "download_url": { + "type": "string" + } + }, + "required": [ + "fileset_id", + "file_name", + "orig_name", + "size", + "share_url", + "file_id", + "download_url" + ] + } + }, + "examples": [ + { + "summary": "获取闪传文件列表", + "params": { + "fileset_id": "" + }, + "notes": "fileset_id 来自 create_flash_task、get_fileset_id 或 list_filesets,替换为当前账号可访问的文件集。" + } + ], + "readOnly": false, + "params": [ + { + "name": "fileset_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "fileset_id": { + "type": "string", + "minLength": 1 + } + }, + "required": [ + "fileset_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_flash_file_url", + "aliases": [], + "summary": "获取闪传文件链接", + "returnsSchema": { + "type": "object", + "properties": { + "url": { + "type": "string" + } + }, + "required": [ + "url" + ] + }, + "examples": [ + { + "summary": "获取闪传文件链接", + "params": { + "fileset_id": "", + "file_index": 0 + }, + "notes": "fileset_id 来自 create_flash_task、get_fileset_id 或 list_filesets,替换为当前账号可访问的文件集。 file_index 从 0 开始。" + } + ], + "readOnly": false, + "params": [ + { + "name": "fileset_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "file_name", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "file_index", + "type": "number", + "required": false, + "schema": { + "type": "number" + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "fileset_id": { + "type": "string", + "minLength": 1 + }, + "file_name": { + "type": "string" + }, + "file_index": { + "type": "number" + } + }, + "required": [ + "fileset_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_forward_msg", + "aliases": [], + "summary": "获取合并转发消息(id 或 message_id)", + "returns": "{ messages }:转发内的消息节点数组(每项为 OneBot 消息事件);reply 保留 id,有内嵌引用内容时附带 message 和可用的 qq/time/seq,可作为转发节点 content 再次发送。", + "returnsSchema": { + "type": "object", + "properties": { + "messages": { + "type": "array", + "description": "转发消息节点数组;节点标识与本地消息 ID 不是同一契约", + "items": { + "type": "object", + "properties": { + "time": { + "type": "integer", + "description": "消息时间,Unix 秒" + }, + "message_type": { + "type": "string", + "enum": [ + "private", + "group" + ] + }, + "sub_type": { + "type": "string", + "description": "消息子类型" + }, + "message_id": { + "type": "integer", + "description": "转发节点原始标识,缺失时为 0" + }, + "real_id": { + "type": "integer", + "description": "与节点 message_id 相同" + }, + "user_id": { + "type": "integer", + "description": "发送者 QQ 号" + }, + "group_id": { + "type": "integer", + "description": "群聊消息的群号,私聊可省略" + }, + "target_id": { + "type": "integer", + "description": "私聊目标 QQ 号(若有)" + }, + "message": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "消息段类型,例如 text、image、reply" + }, + "data": { + "type": "object", + "description": "字段随消息段类型变化,例如 text 段包含 text,reply 段包含 id", + "additionalProperties": true + } + }, + "required": [ + "type", + "data" + ] + } + }, + "raw_message": { + "type": "string", + "description": "消息的 CQ 码字符串形式" + }, + "font": { + "type": "integer" + }, + "sender": { + "type": "object", + "properties": { + "user_id": { + "type": "integer" + }, + "nickname": { + "type": "string" + }, + "card": { + "type": "string" + }, + "sex": { + "type": "string", + "enum": [ + "male", + "female", + "unknown" + ] + }, + "age": { + "type": "integer" + }, + "area": { + "type": "string" + }, + "level": { + "type": "string" + }, + "role": { + "type": "string", + "enum": [ + "owner", + "admin", + "member" + ] + }, + "title": { + "type": "string" + } + }, + "additionalProperties": true + }, + "self_id": { + "type": "integer" + }, + "post_type": { + "const": "message" + }, + "message_format": { + "const": "array" + }, + "message_seq": { + "type": "integer", + "description": "节点消息序号,缺失时使用节点标识或 0" + } + }, + "additionalProperties": true, + "required": [ + "self_id", + "user_id", + "time", + "message_id", + "message_seq", + "real_id", + "message_type", + "sender", + "raw_message", + "font", + "sub_type", + "message", + "message_format", + "post_type" + ] + } + } + }, + "required": [ + "messages" + ] + }, + "examples": [ + { + "summary": "获取合并转发消息(id 或 message_id)", + "params": { + "id": "" + }, + "notes": "id 是合并转发资源标识,通常来自转发消息段或上传结果 res_id,不是普通数值 message_id。" + } + ], + "readOnly": true, + "params": [ + { + "name": "id", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "message_id", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "message_id": { + "type": "string" + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_friend_list", + "aliases": [], + "summary": "获取好友列表", + "returns": "好友列表,包含账号、昵称、备注及回包已有的公开资料;with_profile=true 时主动补查,失败会报错。未返回的资料省略,零、空字符串和 false 保留。", + "returnsSchema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "description": "好友 QQ 号" + }, + "nickname": { + "type": "string", + "description": "好友昵称" + }, + "remark": { + "type": "string", + "description": "好友备注" + }, + "category_id": { + "type": "integer", + "description": "好友分组编号,有来源时返回" + }, + "long_nick": { + "type": "string", + "description": "个性签名" + }, + "sex": { + "type": "string", + "enum": [ + "male", + "female", + "unknown" + ], + "description": "性别" + }, + "age": { + "type": "integer", + "description": "年龄" + }, + "level": { + "type": "integer", + "description": "QQ 等级" + }, + "birthday_year": { + "type": "integer", + "description": "生日年份,未公开时省略" + }, + "birthday_month": { + "type": "integer", + "description": "生日月份(1-12)" + }, + "birthday_day": { + "type": "integer", + "description": "生日日期(1-31)" + }, + "phone_num": { + "type": "string", + "description": "资料卡公开的电话号码" + }, + "email": { + "type": "string", + "description": "资料卡公开的邮箱" + }, + "country": { + "type": "string", + "description": "国家" + }, + "province": { + "type": "string", + "description": "省份" + }, + "city": { + "type": "string", + "description": "城市" + }, + "college": { + "type": "string", + "description": "学校" + }, + "is_qq_vip": { + "type": "boolean", + "description": "普通会员状态" + }, + "is_vip": { + "type": "boolean", + "description": "超级会员状态,兼容已有接口" + }, + "is_years_vip": { + "type": "boolean", + "description": "年费会员状态" + }, + "vip_level": { + "type": "integer", + "description": "会员等级" + }, + "privilege_icons": { + "type": "object", + "description": "业务图标;未返回该资料时省略整个字段,空列表表示没有该类图标", + "properties": { + "jump_url": { + "type": "string", + "description": "业务列表跳转地址" + }, + "open": { + "type": "array", + "description": "已开通业务", + "items": { + "type": "object", + "properties": { + "type": { + "type": "integer", + "description": "业务类型" + }, + "level": { + "type": "integer", + "description": "业务等级" + }, + "flag": { + "type": "integer", + "description": "服务端业务标志" + }, + "is_big": { + "type": "integer", + "description": "服务端大图标标志" + }, + "jump_url": { + "type": "string", + "description": "业务跳转地址" + }, + "icon_url": { + "type": "string", + "description": "普通图标地址" + }, + "deluxe_icon_url": { + "type": "string", + "description": "高级图标地址,可与普通图标同时存在" + } + } + } + }, + "closed": { + "type": "array", + "description": "未开通业务", + "items": { + "type": "object", + "properties": { + "type": { + "type": "integer", + "description": "业务类型" + }, + "level": { + "type": "integer", + "description": "业务等级" + }, + "flag": { + "type": "integer", + "description": "服务端业务标志" + }, + "is_big": { + "type": "integer", + "description": "服务端大图标标志" + }, + "jump_url": { + "type": "string", + "description": "业务跳转地址" + }, + "icon_url": { + "type": "string", + "description": "普通图标地址" + }, + "deluxe_icon_url": { + "type": "string", + "description": "高级图标地址,可与普通图标同时存在" + } + } + } + } + }, + "required": [ + "open", + "closed" + ] + } + }, + "required": [ + "user_id", + "nickname", + "remark" + ] + } + }, + "examples": [ + { + "summary": "获取好友列表", + "params": {} + } + ], + "readOnly": true, + "params": [ + { + "name": "with_profile", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": false, + "desc": "主动补查好友公开资料,按账号缓存五分钟;大列表可能耗时较长" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "with_profile": { + "type": "boolean", + "description": "主动补查好友公开资料,按账号缓存五分钟;大列表可能耗时较长", + "default": false + } + }, + "additionalProperties": true + }, + "category": "好友" + }, + { + "name": "get_friend_msg_history", + "aliases": [], + "summary": "获取好友消息历史(无锚点时从服务器获取最新双向记录)", + "returns": "{ messages }:好友消息事件对象数组(每项为 OneBot 消息事件,内部字段不固定)。", + "returnsSchema": { + "type": "object", + "properties": { + "messages": { + "type": "array", + "description": "消息对象数组;去除 post_type/self_id,附带 real_id", + "items": { + "type": "object", + "properties": { + "time": { + "type": "integer", + "description": "消息时间,Unix 秒" + }, + "message_type": { + "type": "string", + "enum": [ + "private", + "group" + ] + }, + "sub_type": { + "type": "string", + "description": "消息子类型" + }, + "message_id": { + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647, + "not": { + "const": 0 + }, + "description": "非零有符号 32 位消息 ID,负值合法;必须原样保留" + }, + "real_id": { + "type": "integer", + "description": "原始 message_id;旧历史记录缺失时可为 0" + }, + "user_id": { + "type": "integer", + "description": "发送者 QQ 号" + }, + "group_id": { + "type": "integer", + "description": "群聊消息的群号,私聊可省略" + }, + "target_id": { + "type": "integer", + "description": "私聊目标 QQ 号(若有)" + }, + "message": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "消息段类型,例如 text、image、reply" + }, + "data": { + "type": "object", + "description": "字段随消息段类型变化,例如 text 段包含 text,reply 段包含 id", + "additionalProperties": true + } + }, + "required": [ + "type", + "data" + ] + } + }, + "raw_message": { + "type": "string", + "description": "消息的 CQ 码字符串形式" + }, + "font": { + "type": "integer" + }, + "sender": { + "type": "object", + "properties": { + "user_id": { + "type": "integer" + }, + "nickname": { + "type": "string" + }, + "card": { + "type": "string" + }, + "sex": { + "type": "string", + "enum": [ + "male", + "female", + "unknown" + ] + }, + "age": { + "type": "integer" + }, + "area": { + "type": "string" + }, + "level": { + "type": "string" + }, + "role": { + "type": "string", + "enum": [ + "owner", + "admin", + "member" + ] + }, + "title": { + "type": "string" + } + }, + "additionalProperties": true + }, + "auto_reply": { + "const": true, + "description": "仅当 QQ 标记该私聊消息为自动回复时提供" + } + }, + "additionalProperties": true + } + } + }, + "required": [ + "messages" + ] + }, + "examples": [ + { + "summary": "获取好友消息历史(无锚点时从服务器获取最新双向记录)", + "params": { + "user_id": 10001, + "count": 20 + }, + "notes": "省略 message_id 从最新消息开始;只读取当前账号消息。" + } + ], + "readOnly": true, + "params": [ + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "message_id", + "type": "int", + "required": false, + "schema": { + "type": "integer" + }, + "default": 0, + "role": "message_id" + }, + { + "name": "count", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "default": 20, + "desc": "无锚点时从 QQ 服务器获取最新双向历史;服务器或身份解析失败时动作失败,不返回不完整的本地缓存" + }, + { + "name": "reverse_order", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": true, + "desc": "仅在 message_id 非 0 时生效;true 返回锚点及更旧消息,false 返回锚点及更新消息" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 1, + "x-role": "user_id" + }, + "message_id": { + "type": "integer", + "default": 0, + "x-role": "message_id" + }, + "count": { + "type": "integer", + "minimum": 0, + "description": "无锚点时从 QQ 服务器获取最新双向历史;服务器或身份解析失败时动作失败,不返回不完整的本地缓存", + "default": 20 + }, + "reverse_order": { + "type": "boolean", + "description": "仅在 message_id 非 0 时生效;true 返回锚点及更旧消息,false 返回锚点及更新消息", + "default": true + } + }, + "required": [ + "user_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_friends_with_category", + "aliases": [], + "summary": "获取分组好友列表", + "returns": "好友分组数组;buddyList 与 get_friend_list 使用相同资料字段。默认只使用列表回包,with_profile=true 主动补查,失败会报错;未返回的资料省略。", + "returnsSchema": { + "type": "array", + "description": "带分组的好友列表", + "items": { + "type": "object", + "properties": { + "categoryId": { + "type": "integer", + "description": "分组 ID" + }, + "categoryName": { + "type": "string", + "description": "分组名称" + }, + "categoryMbCount": { + "type": "integer", + "description": "服务端报告的分组好友数" + }, + "buddyList": { + "type": "array", + "description": "该分组内的好友", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "description": "好友 QQ 号" + }, + "nickname": { + "type": "string", + "description": "好友昵称" + }, + "remark": { + "type": "string", + "description": "好友备注" + }, + "category_id": { + "type": "integer", + "description": "好友分组编号,有来源时返回" + }, + "long_nick": { + "type": "string", + "description": "个性签名" + }, + "sex": { + "type": "string", + "enum": [ + "male", + "female", + "unknown" + ], + "description": "性别" + }, + "age": { + "type": "integer", + "description": "年龄" + }, + "level": { + "type": "integer", + "description": "QQ 等级" + }, + "birthday_year": { + "type": "integer", + "description": "生日年份,未公开时省略" + }, + "birthday_month": { + "type": "integer", + "description": "生日月份(1-12)" + }, + "birthday_day": { + "type": "integer", + "description": "生日日期(1-31)" + }, + "phone_num": { + "type": "string", + "description": "资料卡公开的电话号码" + }, + "email": { + "type": "string", + "description": "资料卡公开的邮箱" + }, + "country": { + "type": "string", + "description": "国家" + }, + "province": { + "type": "string", + "description": "省份" + }, + "city": { + "type": "string", + "description": "城市" + }, + "college": { + "type": "string", + "description": "学校" + }, + "is_qq_vip": { + "type": "boolean", + "description": "普通会员状态" + }, + "is_vip": { + "type": "boolean", + "description": "超级会员状态,兼容已有接口" + }, + "is_years_vip": { + "type": "boolean", + "description": "年费会员状态" + }, + "vip_level": { + "type": "integer", + "description": "会员等级" + }, + "privilege_icons": { + "type": "object", + "description": "业务图标;未返回该资料时省略整个字段,空列表表示没有该类图标", + "properties": { + "jump_url": { + "type": "string", + "description": "业务列表跳转地址" + }, + "open": { + "type": "array", + "description": "已开通业务", + "items": { + "type": "object", + "properties": { + "type": { + "type": "integer", + "description": "业务类型" + }, + "level": { + "type": "integer", + "description": "业务等级" + }, + "flag": { + "type": "integer", + "description": "服务端业务标志" + }, + "is_big": { + "type": "integer", + "description": "服务端大图标标志" + }, + "jump_url": { + "type": "string", + "description": "业务跳转地址" + }, + "icon_url": { + "type": "string", + "description": "普通图标地址" + }, + "deluxe_icon_url": { + "type": "string", + "description": "高级图标地址,可与普通图标同时存在" + } + } + } + }, + "closed": { + "type": "array", + "description": "未开通业务", + "items": { + "type": "object", + "properties": { + "type": { + "type": "integer", + "description": "业务类型" + }, + "level": { + "type": "integer", + "description": "业务等级" + }, + "flag": { + "type": "integer", + "description": "服务端业务标志" + }, + "is_big": { + "type": "integer", + "description": "服务端大图标标志" + }, + "jump_url": { + "type": "string", + "description": "业务跳转地址" + }, + "icon_url": { + "type": "string", + "description": "普通图标地址" + }, + "deluxe_icon_url": { + "type": "string", + "description": "高级图标地址,可与普通图标同时存在" + } + } + } + } + }, + "required": [ + "open", + "closed" + ] + } + }, + "required": [ + "user_id", + "nickname", + "remark" + ] + } + } + }, + "required": [ + "categoryId", + "categoryName", + "categoryMbCount", + "buddyList" + ] + } + }, + "examples": [ + { + "summary": "获取分组好友列表", + "params": {} + } + ], + "readOnly": true, + "params": [ + { + "name": "with_profile", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": false, + "desc": "主动补查好友公开资料,按账号缓存五分钟;大列表可能耗时较长" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "with_profile": { + "type": "boolean", + "description": "主动补查好友公开资料,按账号缓存五分钟;大列表可能耗时较长", + "default": false + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_group_admin_permissions", + "aliases": [], + "summary": "读取指定管理员的撤回、移除成员、每日移除上限及接收验证消息状态", + "returns": "服务器返回的管理员权限;未返回或未指定的开关为 null。每日上限仅在移除权限开启时返回,0 表示不限。", + "returnsSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer" + }, + "user_id": { + "type": "integer" + }, + "recall_member_message": { + "type": [ + "boolean", + "null" + ], + "description": "撤回成员消息;null 表示服务器未指定" + }, + "kick_member": { + "type": [ + "boolean", + "null" + ], + "description": "移除群成员;null 表示服务器未指定" + }, + "kick_member_per_day": { + "type": [ + "integer", + "null" + ], + "description": "每日可移除人数,0 不限;权限关闭或未指定时为 null" + }, + "receive_verify": { + "type": [ + "boolean", + "null" + ], + "description": "是否接收加群验证消息;null 表示服务器未返回状态" + } + }, + "required": [ + "group_id", + "user_id", + "recall_member_message", + "kick_member", + "kick_member_per_day", + "receive_verify" + ], + "additionalProperties": false + }, + "examples": [ + { + "summary": "读取管理员权限", + "params": { + "group_id": 20001, + "user_id": 10001 + }, + "notes": "user_id 为目标管理员 QQ 号;包含接收加群验证消息状态。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "member_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "QQ 号" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "user_id": { + "type": "integer", + "minimum": 1, + "description": "QQ 号", + "x-role": "member_id" + } + }, + "required": [ + "group_id", + "user_id" + ], + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "get_group_admin_settings", + "aliases": [], + "summary": "获取群管理设置的当前值", + "returns": "与对应设置接口字段对齐的当前群管理设置。", + "returnsSchema": { + "type": "object", + "properties": { + "add_type": { + "type": "integer", + "description": "加群选项(同 set_group_add_option.add_type)" + }, + "group_question": { + "type": "string", + "description": "加群问题(同 set_group_add_option.group_question)" + }, + "group_answer": { + "type": "string", + "description": "加群答案(同 set_group_add_option.group_answer)" + }, + "robot_member_switch": { + "type": "integer", + "description": "机器人加群开关(同 set_group_robot_add_option)" + }, + "robot_member_examine": { + "type": "integer", + "description": "机器人加群审核(同 set_group_robot_add_option)" + }, + "member_invite_policy": { + "type": "string", + "enum": [ + "disabled", + "require_approval", + "no_approval", + "no_approval_under_100" + ], + "description": "成员邀请策略(同 set_group_member_invite_policy.policy)" + }, + "allow_member_upload_album": { + "type": "boolean", + "description": "是否允许成员上传相册" + }, + "allow_member_temporary_session": { + "type": "boolean", + "description": "是否允许成员发起临时会话" + }, + "allow_member_create_group": { + "type": "boolean", + "description": "是否允许成员创建群聊" + }, + "new_member_history_visible": { + "type": "boolean", + "description": "新成员是否可查看历史消息" + }, + "no_finger_open": { + "type": "integer", + "description": "是否关闭群指纹/关键词搜索(0 开 1 关)" + }, + "no_code_finger_open": { + "type": "integer", + "description": "是否关闭群号搜索(0 开 1 关)" + } + }, + "required": [ + "add_type", + "group_question", + "group_answer", + "robot_member_switch", + "robot_member_examine", + "member_invite_policy", + "allow_member_upload_album", + "allow_member_temporary_session", + "allow_member_create_group", + "new_member_history_visible", + "no_finger_open", + "no_code_finger_open" + ] + }, + "examples": [ + { + "summary": "获取群管理设置的当前值", + "params": { + "group_id": 20001 + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "get_group_album_list", + "aliases": [], + "returns": "群相册列表数组,每项为一个相册的基本信息。", + "returnsSchema": { + "type": "array", + "description": "群相册列表", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "相册 id" + }, + "name": { + "type": "string", + "description": "相册名称" + }, + "picNum": { + "type": "integer", + "description": "相册内照片数量" + }, + "createTime": { + "type": "integer", + "description": "相册创建时间(unix 秒)" + }, + "last_upload_time": { + "type": "integer", + "description": "最后上传时间(unix 秒)" + }, + "cover": { + "type": [ + "object", + "null" + ], + "description": "相册封面;没有封面时为 null", + "properties": { + "type": { + "type": "integer", + "description": "封面媒体类型" + }, + "image": { + "type": [ + "object", + "null" + ], + "description": "封面图片信息", + "properties": { + "name": { + "type": "string", + "description": "图片名称" + }, + "sloc": { + "type": "string", + "description": "图片短定位标识" + }, + "lloc": { + "type": "string", + "description": "图片长定位标识" + }, + "photoUrls": { + "type": "array", + "description": "不同规格的封面地址", + "items": { + "type": "object", + "properties": { + "spec": { + "type": "integer", + "description": "图片规格" + }, + "url": { + "type": [ + "object", + "null" + ], + "properties": { + "url": { + "type": "string", + "description": "封面地址" + }, + "width": { + "type": "integer", + "description": "封面宽度" + }, + "height": { + "type": "integer", + "description": "封面高度" + } + }, + "required": [ + "url", + "width", + "height" + ] + } + }, + "required": [ + "spec", + "url" + ] + } + }, + "defaultUrl": { + "type": [ + "object", + "null" + ], + "properties": { + "url": { + "type": "string", + "description": "封面地址" + }, + "width": { + "type": "integer", + "description": "封面宽度" + }, + "height": { + "type": "integer", + "description": "封面高度" + } + }, + "required": [ + "url", + "width", + "height" + ] + }, + "isGif": { + "type": "boolean", + "description": "是否为动图" + }, + "hasRaw": { + "type": "boolean", + "description": "是否有原图" + } + }, + "required": [ + "name", + "sloc", + "lloc", + "photoUrls", + "defaultUrl", + "isGif", + "hasRaw" + ] + } + }, + "required": [ + "type", + "image" + ] + }, + "createuin": { + "type": "string", + "description": "相册创建者 QQ 号" + }, + "createnickname": { + "type": "string", + "description": "相册创建者昵称(原始 Unicode)" + } + }, + "required": [ + "id", + "name", + "picNum", + "createTime", + "last_upload_time", + "cover", + "createuin", + "createnickname" + ] + } + }, + "examples": [ + { + "summary": "基本调用", + "params": { + "group_id": 20001 + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "群相册" + }, + { + "name": "get_group_album_media_list", + "aliases": [], + "returns": "相册图片/视频列表及下一页分页游标;视频项包含 id、url、cover、尺寸、时长和多规格地址。", + "returnsSchema": { + "type": "object", + "properties": { + "mediaList": { + "type": "array", + "description": "相册图片或视频,未返回的字段可省略或为 null", + "items": { + "type": "object", + "properties": { + "type": { + "type": [ + "integer", + "null" + ] + }, + "image": { + "type": [ + "object", + "null" + ], + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "sloc": { + "type": [ + "string", + "null" + ] + }, + "lloc": { + "type": [ + "string", + "null" + ], + "description": "图片长定位标识,供评论、删除等操作使用" + }, + "photoUrls": { + "type": [ + "array", + "null" + ], + "items": { + "type": "object", + "properties": { + "spec": { + "type": [ + "integer", + "null" + ] + }, + "url": { + "type": [ + "object", + "null" + ], + "properties": { + "url": { + "type": [ + "string", + "null" + ] + }, + "width": { + "type": [ + "integer", + "null" + ] + }, + "height": { + "type": [ + "integer", + "null" + ] + } + } + } + } + } + }, + "defaultUrl": { + "type": [ + "object", + "null" + ], + "properties": { + "url": { + "type": [ + "string", + "null" + ] + }, + "width": { + "type": [ + "integer", + "null" + ] + }, + "height": { + "type": [ + "integer", + "null" + ] + } + } + }, + "isGif": { + "type": [ + "boolean", + "null" + ] + }, + "hasRaw": { + "type": [ + "boolean", + "null" + ] + } + } + }, + "video": { + "type": [ + "object", + "null" + ], + "properties": { + "id": { + "type": [ + "string", + "null" + ], + "description": "视频标识,供评论、删除等操作使用" + }, + "url": { + "type": [ + "string", + "null" + ] + }, + "cover": { + "type": [ + "object", + "null" + ], + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "sloc": { + "type": [ + "string", + "null" + ] + }, + "lloc": { + "type": [ + "string", + "null" + ], + "description": "图片长定位标识,供评论、删除等操作使用" + }, + "photoUrls": { + "type": [ + "array", + "null" + ], + "items": { + "type": "object", + "properties": { + "spec": { + "type": [ + "integer", + "null" + ] + }, + "url": { + "type": [ + "object", + "null" + ], + "properties": { + "url": { + "type": [ + "string", + "null" + ] + }, + "width": { + "type": [ + "integer", + "null" + ] + }, + "height": { + "type": [ + "integer", + "null" + ] + } + } + } + } + } + }, + "defaultUrl": { + "type": [ + "object", + "null" + ], + "properties": { + "url": { + "type": [ + "string", + "null" + ] + }, + "width": { + "type": [ + "integer", + "null" + ] + }, + "height": { + "type": [ + "integer", + "null" + ] + } + } + }, + "isGif": { + "type": [ + "boolean", + "null" + ] + }, + "hasRaw": { + "type": [ + "boolean", + "null" + ] + } + } + }, + "width": { + "type": [ + "integer", + "null" + ] + }, + "height": { + "type": [ + "integer", + "null" + ] + }, + "videoTime": { + "type": [ + "string", + "null" + ], + "description": "时长,十进制字符串" + }, + "videoUrl": { + "type": [ + "array", + "null" + ], + "items": { + "type": "object", + "properties": { + "spec": { + "type": [ + "integer", + "null" + ] + }, + "url": { + "type": [ + "object", + "null" + ], + "properties": { + "url": { + "type": [ + "string", + "null" + ] + }, + "width": { + "type": [ + "integer", + "null" + ] + }, + "height": { + "type": [ + "integer", + "null" + ] + } + } + } + } + } + } + } + }, + "uploader": { + "type": [ + "string", + "null" + ] + }, + "batchId": { + "type": [ + "string", + "null" + ], + "description": "上传批次,十进制字符串" + }, + "uploadTime": { + "type": [ + "string", + "null" + ], + "description": "上传时间,十进制字符串" + } + } + } + }, + "nextAttachInfo": { + "type": "string", + "description": "下一页分页游标(空串表示无更多)" + } + }, + "required": [ + "mediaList", + "nextAttachInfo" + ] + }, + "examples": [ + { + "summary": "基本调用", + "params": { + "group_id": 20001, + "album_id": "", + "attach_info": "" + }, + "notes": "album_id 来自 get_group_album_list;lloc 或视频 id、batch_id 来自 get_group_album_media_list。替换群号及对应资源标识。 下一页传回 nextAttachInfo。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "album_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "attach_info", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "album_id": { + "type": "string", + "minLength": 1 + }, + "attach_info": { + "type": "string", + "default": "" + } + }, + "required": [ + "group_id", + "album_id" + ], + "additionalProperties": true + }, + "category": "群相册" + }, + { + "name": "get_group_at_all_remain", + "aliases": [], + "summary": "获取群 @全体成员 剩余次数", + "returns": "{ can_at_all, remain_at_all_count_for_group, remain_at_all_count_for_uin }:@全体可用性与剩余次数。", + "returnsSchema": { + "type": "object", + "properties": { + "can_at_all": { + "type": "boolean", + "description": "当前是否可 @全体成员" + }, + "remain_at_all_count_for_group": { + "type": "integer", + "description": "本群今日剩余 @全体次数" + }, + "remain_at_all_count_for_uin": { + "type": "integer", + "description": "本账号今日剩余 @全体次数" + } + }, + "required": [ + "can_at_all", + "remain_at_all_count_for_group", + "remain_at_all_count_for_uin" + ] + }, + "examples": [ + { + "summary": "获取群 @全体成员 剩余次数", + "params": { + "group_id": 20001 + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_group_detail_info", + "aliases": [], + "summary": "获取群详细信息", + "returnsSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "description": "群号" + }, + "group_name": { + "type": "string", + "description": "群名" + }, + "group_remark": { + "type": "string", + "description": "当前账号设置的群备注" + }, + "member_count": { + "type": "integer", + "description": "当前成员数" + }, + "max_member_count": { + "type": "integer", + "description": "成员上限" + }, + "group_create_time": { + "type": "integer", + "description": "建群时间戳(秒)" + }, + "group_level": { + "type": "integer", + "description": "群等级" + }, + "group_memo": { + "type": "string", + "description": "群简介 / 公告预览" + }, + "group_description": { + "type": "string", + "description": "群简介(公告不算;未加入的群为空)" + }, + "group_all_shut": { + "type": "integer", + "enum": [ + -1, + 0 + ], + "description": "是否开启全员禁言(-1 开启,0 关闭)" + } + }, + "required": [ + "group_id", + "group_name", + "group_remark", + "member_count", + "max_member_count", + "group_all_shut" + ] + }, + "examples": [ + { + "summary": "获取群详细信息", + "params": { + "group_id": 20001 + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "no_cache", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": false + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "x-role": "group_id" + }, + "no_cache": { + "type": "boolean", + "default": false + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_group_file_system_info", + "aliases": [], + "summary": "获取群文件系统信息", + "returns": "{ file_count, limit_count, used_space, total_space }:群文件数量与容量信息(均为服务端实际值)。", + "returnsSchema": { + "type": "object", + "properties": { + "file_count": { + "type": "integer", + "description": "当前文件数" + }, + "limit_count": { + "type": "integer", + "description": "文件数上限" + }, + "used_space": { + "type": "integer", + "description": "已用空间(字节)" + }, + "total_space": { + "type": "integer", + "description": "总空间(字节)" + } + }, + "required": [ + "file_count", + "limit_count", + "used_space", + "total_space" + ] + }, + "examples": [ + { + "summary": "获取群文件系统信息", + "params": { + "group_id": 20001 + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_group_file_url", + "aliases": [], + "summary": "获取群文件下载链接", + "returns": "群文件下载链接。", + "returnsSchema": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "文件下载直链" + } + }, + "required": [ + "url" + ] + }, + "examples": [ + { + "summary": "获取群文件下载链接", + "params": { + "group_id": 20001, + "file_id": "" + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "file_id", + "type": "string", + "required": true, + "role": "file_id", + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "busid", + "type": "raw", + "required": false, + "schema": {} + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "file_id": { + "type": "string", + "minLength": 1, + "x-role": "file_id" + }, + "busid": {} + }, + "required": [ + "group_id", + "file_id" + ], + "additionalProperties": true + }, + "category": "群文件" + }, + { + "name": "get_group_files_by_folder", + "aliases": [], + "summary": "获取群子目录文件列表", + "returns": "群文件系统信息(文件与文件夹列表)。", + "returnsSchema": { + "type": "object", + "properties": { + "files": { + "type": "array", + "description": "文件列表", + "items": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "description": "群号" + }, + "file_id": { + "type": "string", + "description": "文件 ID" + }, + "file_name": { + "type": "string", + "description": "文件名" + }, + "busid": { + "type": "integer", + "description": "业务 ID" + }, + "file_size": { + "type": "integer", + "description": "文件大小(字节)" + }, + "upload_time": { + "type": "integer", + "description": "上传时间戳" + }, + "dead_time": { + "type": "integer", + "description": "过期时间戳" + }, + "modify_time": { + "type": "integer", + "description": "修改时间戳" + }, + "download_times": { + "type": "integer", + "description": "下载次数" + }, + "uploader": { + "type": "integer", + "description": "上传者 QQ 号" + }, + "uploader_name": { + "type": "string", + "description": "上传者昵称" + } + } + } + }, + "folders": { + "type": "array", + "description": "文件夹列表", + "items": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "description": "群号" + }, + "folder_id": { + "type": "string", + "description": "文件夹 ID" + }, + "folder_name": { + "type": "string", + "description": "文件夹名" + }, + "create_time": { + "type": "integer", + "description": "创建时间戳" + }, + "creator": { + "type": "integer", + "description": "创建者 QQ 号" + }, + "create_name": { + "type": "string", + "description": "创建者昵称" + }, + "total_file_count": { + "type": "integer", + "description": "文件夹内文件总数" + }, + "last_upload_time": { + "type": "integer", + "description": "最后上传时间戳" + }, + "last_uploader": { + "type": "integer", + "description": "最后上传者 QQ 号" + }, + "last_uploader_name": { + "type": "string", + "description": "最后上传者昵称" + } + } + } + } + }, + "required": [ + "files", + "folders" + ] + }, + "examples": [ + { + "summary": "获取群子目录文件列表", + "params": { + "group_id": 20001, + "folder_id": "" + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "folder_id", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + }, + { + "name": "folder", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "folder_id": { + "type": "string", + "default": "" + }, + "folder": { + "type": "string", + "default": "" + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "群文件" + }, + { + "name": "get_group_honor_info", + "aliases": [], + "summary": "获取群荣誉信息", + "returnsSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer" + }, + "current_talkative": { + "anyOf": [ + { + "type": "object", + "properties": { + "user_id": { + "type": [ + "number", + "string", + "null" + ] + }, + "nickname": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "description": { + "type": "string" + } + }, + "required": [ + "user_id", + "nickname", + "avatar", + "description" + ] + }, + { + "type": "null" + } + ] + }, + "talkative_list": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": [ + "number", + "string", + "null" + ] + }, + "nickname": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "description": { + "type": "string" + } + }, + "required": [ + "user_id", + "nickname", + "avatar", + "description" + ] + } + }, + "performer_list": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": [ + "number", + "string", + "null" + ] + }, + "nickname": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "description": { + "type": "string" + } + }, + "required": [ + "user_id", + "nickname", + "avatar", + "description" + ] + } + }, + "legend_list": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": [ + "number", + "string", + "null" + ] + }, + "nickname": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "description": { + "type": "string" + } + }, + "required": [ + "user_id", + "nickname", + "avatar", + "description" + ] + } + }, + "emotion_list": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": [ + "number", + "string", + "null" + ] + }, + "nickname": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "description": { + "type": "string" + } + }, + "required": [ + "user_id", + "nickname", + "avatar", + "description" + ] + } + }, + "strong_newbie_list": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": [ + "number", + "string", + "null" + ] + }, + "nickname": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "description": { + "type": "string" + } + }, + "required": [ + "user_id", + "nickname", + "avatar", + "description" + ] + }, + "description": "当前实现始终为空数组" + } + }, + "required": [ + "group_id", + "current_talkative", + "talkative_list", + "performer_list", + "legend_list", + "emotion_list", + "strong_newbie_list" + ] + }, + "examples": [ + { + "summary": "获取群荣誉信息", + "params": { + "group_id": 20001, + "type": "all" + }, + "notes": "未请求的分类仍返回空数组;当前龙王可能为 null。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "type", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "type": { + "type": "string" + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "群信息" + }, + { + "name": "get_group_ignore_add_request", + "aliases": [], + "summary": "获取被忽略的入群请求(NapCat)", + "returns": "被忽略的入群请求数组(NapCat 字段命名),每项含请求序列、邀请人、群信息与处理标记。", + "returnsSchema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "request_id": { + "type": "integer", + "description": "请求序列号" + }, + "invitor_uin": { + "type": "integer", + "description": "邀请人 QQ 号" + }, + "invitor_nick": { + "type": "string", + "description": "邀请人昵称" + }, + "group_id": { + "type": "integer", + "description": "群号" + }, + "message": { + "type": "string", + "description": "验证留言" + }, + "group_name": { + "type": "string", + "description": "群名称" + }, + "checked": { + "type": "boolean", + "description": "是否已处理" + }, + "actor": { + "type": "integer", + "description": "处理人 QQ 号" + }, + "requester_nick": { + "type": "string", + "description": "申请人昵称" + } + }, + "required": [ + "request_id", + "invitor_uin", + "invitor_nick", + "group_id", + "message", + "group_name", + "checked", + "actor", + "requester_nick" + ] + } + }, + "examples": [ + { + "summary": "获取被忽略的入群请求(NapCat)", + "params": {} + } + ], + "readOnly": true, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_group_ignored_notifies", + "aliases": [], + "summary": "获取被过滤的入群请求", + "returns": "被过滤的入群请求数组,每项含群号、申请人、邀请人、留言与处理标记。", + "returnsSchema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "description": "群号" + }, + "group_name": { + "type": "string", + "description": "群名称" + }, + "request_id": { + "type": "integer", + "description": "请求序列号" + }, + "requester_uin": { + "type": "integer", + "description": "申请人 QQ 号" + }, + "requester_nick": { + "type": "string", + "description": "申请人昵称" + }, + "message": { + "type": "string", + "description": "验证留言" + }, + "checked": { + "type": "boolean", + "description": "是否已处理" + }, + "actor": { + "type": "integer", + "description": "处理人 QQ 号" + }, + "invitor_uin": { + "type": "integer", + "description": "邀请人 QQ 号" + }, + "invitor_nick": { + "type": "string", + "description": "邀请人昵称" + }, + "flag": { + "type": "string", + "description": "处理请求使用的规范 flag" + } + }, + "required": [ + "group_id", + "group_name", + "request_id", + "requester_uin", + "requester_nick", + "message", + "checked", + "actor", + "invitor_uin", + "invitor_nick", + "flag" + ] + } + }, + "examples": [ + { + "summary": "获取被过滤的入群请求", + "params": {} + } + ], + "readOnly": true, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_group_info", + "aliases": [], + "summary": "获取群信息", + "returns": "群信息对象。", + "returnsSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "description": "群号" + }, + "group_name": { + "type": "string", + "description": "群名" + }, + "group_remark": { + "type": "string", + "description": "当前账号设置的群备注" + }, + "member_count": { + "type": "integer", + "description": "当前成员数" + }, + "max_member_count": { + "type": "integer", + "description": "成员上限" + }, + "group_create_time": { + "type": "integer", + "description": "建群时间戳(秒)" + }, + "group_level": { + "type": "integer", + "description": "群等级" + }, + "group_memo": { + "type": "string", + "description": "群简介 / 公告预览" + }, + "group_description": { + "type": "string", + "description": "群简介(公告不算;未加入的群为空)" + }, + "group_all_shut": { + "type": "integer", + "enum": [ + -1, + 0 + ], + "description": "是否开启全员禁言(-1 开启,0 关闭)" + } + }, + "required": [ + "group_id", + "group_name", + "group_remark", + "member_count", + "max_member_count", + "group_all_shut" + ] + }, + "examples": [ + { + "summary": "获取群信息", + "params": { + "group_id": 20001 + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "no_cache", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": false + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "no_cache": { + "type": "boolean", + "default": false + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "群信息" + }, + { + "name": "get_group_info_ex", + "aliases": [], + "summary": "获取群信息(扩展)", + "returnsSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "description": "群号" + }, + "group_name": { + "type": "string", + "description": "群名" + }, + "group_remark": { + "type": "string", + "description": "当前账号设置的群备注" + }, + "member_count": { + "type": "integer", + "description": "当前成员数" + }, + "max_member_count": { + "type": "integer", + "description": "成员上限" + }, + "group_create_time": { + "type": "integer", + "description": "建群时间戳(秒)" + }, + "group_level": { + "type": "integer", + "description": "群等级" + }, + "group_memo": { + "type": "string", + "description": "群简介 / 公告预览" + }, + "group_description": { + "type": "string", + "description": "群简介(公告不算;未加入的群为空)" + }, + "group_all_shut": { + "type": "integer", + "enum": [ + -1, + 0 + ], + "description": "是否开启全员禁言(-1 开启,0 关闭)" + } + }, + "required": [ + "group_id", + "group_name", + "group_remark", + "member_count", + "max_member_count", + "group_all_shut" + ] + }, + "examples": [ + { + "summary": "获取群信息(扩展)", + "params": { + "group_id": 20001 + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "no_cache", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": false + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "x-role": "group_id" + }, + "no_cache": { + "type": "boolean", + "default": false + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_group_list", + "aliases": [], + "summary": "获取群列表", + "returns": "群信息对象数组。", + "returnsSchema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "description": "群号" + }, + "group_name": { + "type": "string", + "description": "群名" + }, + "group_remark": { + "type": "string", + "description": "当前账号设置的群备注" + }, + "member_count": { + "type": "integer", + "description": "当前成员数" + }, + "max_member_count": { + "type": "integer", + "description": "成员上限" + }, + "group_create_time": { + "type": "integer", + "description": "建群时间戳(秒)" + }, + "group_level": { + "type": "integer", + "description": "群等级(列表批量场景恒 0,详见 get_group_info)" + }, + "group_memo": { + "type": "string", + "description": "群简介 / 公告预览" + }, + "group_description": { + "type": "string", + "description": "群简介(公告不算;未加入的群为空)" + }, + "group_all_shut": { + "type": "integer", + "enum": [ + -1, + 0 + ], + "description": "是否开启全员禁言(-1 开启,0 关闭)" + } + }, + "required": [ + "group_id", + "group_name", + "group_remark", + "member_count", + "max_member_count", + "group_all_shut" + ] + } + }, + "examples": [ + { + "summary": "获取群列表", + "params": { + "no_cache": false + } + } + ], + "readOnly": true, + "params": [ + { + "name": "no_cache", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": false + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "no_cache": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": true + }, + "category": "群信息" + }, + { + "name": "get_group_member_info", + "aliases": [], + "summary": "获取群成员信息", + "returns": "群成员信息对象。", + "returnsSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "description": "群号" + }, + "user_id": { + "type": "integer", + "description": "QQ 号" + }, + "nickname": { + "type": "string", + "description": "昵称" + }, + "card": { + "type": "string", + "description": "群名片" + }, + "is_robot": { + "type": "boolean", + "description": "是否为机器人" + }, + "sex": { + "type": "string", + "enum": [ + "male", + "female", + "unknown" + ], + "description": "性别" + }, + "age": { + "type": "integer", + "description": "年龄" + }, + "join_time": { + "type": "integer", + "description": "入群时间戳(秒)" + }, + "last_sent_time": { + "type": "integer", + "description": "最后发言时间戳(秒)" + }, + "shut_up_timestamp": { + "type": "integer", + "description": "禁言结束时间戳(秒,未禁言时为 0)" + }, + "level": { + "type": "string", + "description": "群等级" + }, + "qq_level": { + "type": "integer", + "description": "QQ 等级,仅在账号资料可用时返回" + }, + "qage": { + "type": "integer", + "description": "按注册时间计算的完整周年数(UTC),注册时间不可用时省略" + }, + "role": { + "type": "string", + "enum": [ + "owner", + "admin", + "member" + ], + "description": "角色" + }, + "title": { + "type": "string", + "description": "专属头衔" + }, + "area": { + "type": "string", + "description": "地区(QQ NT 不提供,恒空)" + }, + "unfriendly": { + "type": "boolean", + "description": "是否不良记录(QQ NT 不提供,恒 false)" + }, + "title_expire_time": { + "type": "integer", + "description": "头衔过期时间戳(QQ NT 不提供,恒 0)" + }, + "card_changeable": { + "type": "boolean", + "description": "是否可改名片(占位,恒 true)" + }, + "qidian_master_flag": { + "type": "integer", + "description": "企点主号标志,0 或 1;普通账号为 0" + }, + "qidian_crew_flag": { + "type": "integer", + "description": "企点员工标志,0 或 1;普通账号为 0" + }, + "qidian_crew_flag_2": { + "type": "integer", + "description": "企点保留标志,0 或 1;普通账号为 0" + } + }, + "required": [ + "group_id", + "user_id", + "nickname", + "role" + ] + }, + "examples": [ + { + "summary": "获取群成员信息", + "params": { + "group_id": 20001, + "user_id": 10001 + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "member_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "QQ 号" + }, + { + "name": "no_cache", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": false + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "user_id": { + "type": "integer", + "minimum": 1, + "description": "QQ 号", + "x-role": "member_id" + }, + "no_cache": { + "type": "boolean", + "default": false + } + }, + "required": [ + "group_id", + "user_id" + ], + "additionalProperties": true + }, + "category": "群信息" + }, + { + "name": "get_group_member_list", + "aliases": [], + "summary": "获取群成员列表", + "returns": "群成员信息对象数组。", + "returnsSchema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "description": "群号" + }, + "user_id": { + "type": "integer", + "description": "QQ 号" + }, + "nickname": { + "type": "string", + "description": "昵称" + }, + "card": { + "type": "string", + "description": "群名片" + }, + "is_robot": { + "type": "boolean", + "description": "是否为机器人" + }, + "sex": { + "type": "string", + "enum": [ + "male", + "female", + "unknown" + ], + "description": "性别" + }, + "age": { + "type": "integer", + "description": "年龄" + }, + "join_time": { + "type": "integer", + "description": "入群时间戳(秒)" + }, + "last_sent_time": { + "type": "integer", + "description": "最后发言时间戳(秒)" + }, + "shut_up_timestamp": { + "type": "integer", + "description": "禁言结束时间戳(秒,未禁言时为 0)" + }, + "level": { + "type": "string", + "description": "群等级" + }, + "qq_level": { + "type": "integer", + "description": "QQ 等级,仅在账号资料可用时返回" + }, + "qage": { + "type": "integer", + "description": "按注册时间计算的完整周年数(UTC),注册时间不可用时省略" + }, + "role": { + "type": "string", + "enum": [ + "owner", + "admin", + "member" + ], + "description": "角色" + }, + "title": { + "type": "string", + "description": "专属头衔" + }, + "area": { + "type": "string", + "description": "地区(QQ NT 不提供,恒空)" + }, + "unfriendly": { + "type": "boolean", + "description": "是否不良记录(QQ NT 不提供,恒 false)" + }, + "title_expire_time": { + "type": "integer", + "description": "头衔过期时间戳(QQ NT 不提供,恒 0)" + }, + "card_changeable": { + "type": "boolean", + "description": "是否可改名片(占位,恒 true)" + }, + "qidian_master_flag": { + "type": "integer", + "description": "企点主号标志,0 或 1;普通账号为 0" + }, + "qidian_crew_flag": { + "type": "integer", + "description": "企点员工标志,0 或 1;普通账号为 0" + }, + "qidian_crew_flag_2": { + "type": "integer", + "description": "企点保留标志,0 或 1;普通账号为 0" + } + }, + "required": [ + "group_id", + "user_id", + "nickname", + "role" + ] + } + }, + "examples": [ + { + "summary": "获取群成员列表", + "params": { + "group_id": 20001 + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "no_cache", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": false + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "no_cache": { + "type": "boolean", + "default": false + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "群信息" + }, + { + "name": "get_group_msg_history", + "aliases": [], + "summary": "获取群消息历史", + "returns": "{ messages }:群消息事件对象数组(每项为 OneBot 消息事件,内部字段不固定)。", + "returnsSchema": { + "type": "object", + "properties": { + "messages": { + "type": "array", + "description": "消息对象数组;去除 post_type/self_id,附带 real_id", + "items": { + "type": "object", + "properties": { + "time": { + "type": "integer", + "description": "消息时间,Unix 秒" + }, + "message_type": { + "type": "string", + "enum": [ + "private", + "group" + ] + }, + "sub_type": { + "type": "string", + "description": "消息子类型" + }, + "message_id": { + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647, + "not": { + "const": 0 + }, + "description": "非零有符号 32 位消息 ID,负值合法;必须原样保留" + }, + "real_id": { + "type": "integer", + "description": "原始 message_id;旧历史记录缺失时可为 0" + }, + "user_id": { + "type": "integer", + "description": "发送者 QQ 号" + }, + "group_id": { + "type": "integer", + "description": "群聊消息的群号,私聊可省略" + }, + "target_id": { + "type": "integer", + "description": "私聊目标 QQ 号(若有)" + }, + "message": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "消息段类型,例如 text、image、reply" + }, + "data": { + "type": "object", + "description": "字段随消息段类型变化,例如 text 段包含 text,reply 段包含 id", + "additionalProperties": true + } + }, + "required": [ + "type", + "data" + ] + } + }, + "raw_message": { + "type": "string", + "description": "消息的 CQ 码字符串形式" + }, + "font": { + "type": "integer" + }, + "sender": { + "type": "object", + "properties": { + "user_id": { + "type": "integer" + }, + "nickname": { + "type": "string" + }, + "card": { + "type": "string" + }, + "sex": { + "type": "string", + "enum": [ + "male", + "female", + "unknown" + ] + }, + "age": { + "type": "integer" + }, + "area": { + "type": "string" + }, + "level": { + "type": "string" + }, + "role": { + "type": "string", + "enum": [ + "owner", + "admin", + "member" + ] + }, + "title": { + "type": "string" + } + }, + "additionalProperties": true + } + }, + "additionalProperties": true + } + } + }, + "required": [ + "messages" + ] + }, + "examples": [ + { + "summary": "获取群消息历史", + "params": { + "group_id": 20001, + "count": 20 + }, + "notes": "省略 message_id 从最新消息开始;翻页使用上一页实际 message_id,不要自行加减。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "message_id", + "type": "int", + "required": false, + "schema": { + "type": "integer" + }, + "default": 0, + "role": "message_id" + }, + { + "name": "count", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "default": 20 + }, + { + "name": "reverse_order", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": true, + "desc": "仅在 message_id 非 0 时生效;true 返回锚点及更旧消息,false 返回锚点及更新消息" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "message_id": { + "type": "integer", + "default": 0, + "x-role": "message_id" + }, + "count": { + "type": "integer", + "minimum": 0, + "default": 20 + }, + "reverse_order": { + "type": "boolean", + "description": "仅在 message_id 非 0 时生效;true 返回锚点及更旧消息,false 返回锚点及更新消息", + "default": true + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_group_root_files", + "aliases": [], + "summary": "获取群根目录文件列表", + "returns": "群文件系统信息(文件与文件夹列表)。", + "returnsSchema": { + "type": "object", + "properties": { + "files": { + "type": "array", + "description": "文件列表", + "items": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "description": "群号" + }, + "file_id": { + "type": "string", + "description": "文件 ID" + }, + "file_name": { + "type": "string", + "description": "文件名" + }, + "busid": { + "type": "integer", + "description": "业务 ID" + }, + "file_size": { + "type": "integer", + "description": "文件大小(字节)" + }, + "upload_time": { + "type": "integer", + "description": "上传时间戳" + }, + "dead_time": { + "type": "integer", + "description": "过期时间戳" + }, + "modify_time": { + "type": "integer", + "description": "修改时间戳" + }, + "download_times": { + "type": "integer", + "description": "下载次数" + }, + "uploader": { + "type": "integer", + "description": "上传者 QQ 号" + }, + "uploader_name": { + "type": "string", + "description": "上传者昵称" + } + } + } + }, + "folders": { + "type": "array", + "description": "文件夹列表", + "items": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "description": "群号" + }, + "folder_id": { + "type": "string", + "description": "文件夹 ID" + }, + "folder_name": { + "type": "string", + "description": "文件夹名" + }, + "create_time": { + "type": "integer", + "description": "创建时间戳" + }, + "creator": { + "type": "integer", + "description": "创建者 QQ 号" + }, + "create_name": { + "type": "string", + "description": "创建者昵称" + }, + "total_file_count": { + "type": "integer", + "description": "文件夹内文件总数" + }, + "last_upload_time": { + "type": "integer", + "description": "最后上传时间戳" + }, + "last_uploader": { + "type": "integer", + "description": "最后上传者 QQ 号" + }, + "last_uploader_name": { + "type": "string", + "description": "最后上传者昵称" + } + } + } + } + }, + "required": [ + "files", + "folders" + ] + }, + "examples": [ + { + "summary": "获取群根目录文件列表", + "params": { + "group_id": 20001 + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "群文件" + }, + { + "name": "get_group_share_link", + "aliases": [], + "summary": "获取群分享链接", + "returns": "用于分享或邀请加群的链接,可作为群二维码内容。", + "returnsSchema": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "加群分享链接" + } + }, + "required": [ + "url" + ] + }, + "examples": [ + { + "summary": "获取群分享链接", + "params": { + "group_id": 20001, + "need_short_url": true + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "need_short_url", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": true, + "desc": "是否获取短链接" + }, + { + "name": "src_id", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0, + "maximum": 4294967295 + }, + "default": 73, + "desc": "来源标识(兼容参数)" + }, + { + "name": "additional_param", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "", + "desc": "附加参数" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "need_short_url": { + "type": "boolean", + "description": "是否获取短链接", + "default": true + }, + "src_id": { + "type": "integer", + "minimum": 0, + "maximum": 4294967295, + "description": "来源标识(兼容参数)", + "default": 73 + }, + "additional_param": { + "type": "string", + "description": "附加参数", + "default": "" + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "群信息" + }, + { + "name": "get_group_shut_list", + "aliases": [], + "summary": "获取群禁言列表", + "returns": "仍在禁言中的成员数组,每项含 QQ 号、昵称与禁言到期时间戳(秒)。", + "returnsSchema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "description": "成员 QQ 号" + }, + "nickname": { + "type": "string", + "description": "成员昵称" + }, + "shut_up_time": { + "type": "integer", + "description": "禁言到期时间戳(秒)" + } + }, + "required": [ + "user_id", + "nickname", + "shut_up_time" + ] + } + }, + "examples": [ + { + "summary": "获取群禁言列表", + "params": { + "group_id": 20001 + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_group_signed_list", + "aliases": [], + "summary": "获取群今日打卡列表", + "returnsSchema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "integer" + }, + "nick": { + "type": "string" + }, + "time": { + "type": "integer" + }, + "rank": { + "type": "integer" + } + }, + "required": [ + "user_id", + "nick", + "time", + "rank" + ] + } + }, + "examples": [ + { + "summary": "获取群今日打卡列表", + "params": { + "group_id": 20001 + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_group_system_msg", + "aliases": [], + "summary": "获取群系统消息", + "returns": "群系统消息数组,分别提供入群者、邀请人和处理者,可按群号或未处理状态过滤。身份为 0 时须查看状态;未知不代表不存在邀请人。", + "returnsSchema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "description": "群号" + }, + "group_name": { + "type": "string", + "description": "群名称" + }, + "request_id": { + "type": "integer", + "description": "请求序列号" + }, + "requester_uin": { + "type": "integer", + "description": "请求发起人 QQ 号;邀请登录账号入群时表示邀请人" + }, + "requester_nick": { + "type": "string", + "description": "请求发起人昵称" + }, + "target_uin": { + "type": "integer", + "description": "申请或被邀请入群者 QQ 号,未知时为 0" + }, + "target_nick": { + "type": "string", + "description": "入群者昵称" + }, + "target_status": { + "type": "string", + "enum": [ + "known", + "unknown" + ], + "description": "入群者 QQ 号是否已知" + }, + "invitor_uin": { + "type": "integer", + "description": "邀请人 QQ 号,未知时为 0;不能据此认定没有邀请人" + }, + "invitor_nick": { + "type": "string", + "description": "邀请人昵称" + }, + "invitor_status": { + "type": "string", + "enum": [ + "known", + "unknown" + ], + "description": "邀请人 QQ 号是否已知;缺失信息为 unknown" + }, + "operator_uin": { + "type": "integer", + "description": "处理该申请的操作者 QQ 号,未知时为 0" + }, + "operator_nick": { + "type": "string", + "description": "处理者昵称" + }, + "operator_status": { + "type": "string", + "enum": [ + "known", + "unknown" + ], + "description": "处理者 QQ 号是否已知;已知不代表审批通过" + }, + "message": { + "type": "string", + "description": "验证留言" + }, + "checked": { + "type": "boolean", + "description": "是否已处理" + }, + "flag": { + "type": "string", + "description": "处理请求使用的规范 flag" + } + }, + "required": [ + "group_id", + "group_name", + "request_id", + "requester_uin", + "requester_nick", + "target_uin", + "target_nick", + "target_status", + "invitor_uin", + "invitor_nick", + "invitor_status", + "operator_uin", + "operator_nick", + "operator_status", + "message", + "checked", + "flag" + ] + } + }, + "examples": [ + { + "summary": "获取群系统消息", + "params": { + "group_id": 20001, + "only_pending": true, + "count": 20 + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": false, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "only_pending", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": false + }, + { + "name": "count", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100 + }, + "default": 50, + "desc": "每个收件箱最多读取的记录数" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "x-role": "group_id" + }, + "only_pending": { + "type": "boolean", + "default": false + }, + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "description": "每个收件箱最多读取的记录数", + "default": 50 + } + }, + "additionalProperties": true + }, + "category": "群信息" + }, + { + "name": "get_group_tags", + "aliases": [], + "summary": "读取某个群分类下的资料标签", + "returns": "该分类下的资料标签列表。", + "returnsSchema": { + "type": "object", + "properties": { + "tags": { + "type": "array", + "description": "资料标签", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "标签编号" + }, + "name": { + "type": "string", + "description": "标签名" + }, + "type": { + "type": "integer", + "description": "标签类型" + } + }, + "required": [ + "id", + "name", + "type" + ] + } + } + }, + "required": [ + "tags" + ] + }, + "examples": [ + { + "summary": "读取某个群分类下的资料标签", + "params": { + "group_class": 1 + }, + "notes": "group_class 使用实际群分类编号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_class", + "type": "int", + "required": true, + "schema": { + "type": "integer", + "minimum": 0, + "maximum": 4294967295 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_class": { + "type": "integer", + "minimum": 0, + "maximum": 4294967295 + } + }, + "required": [ + "group_class" + ], + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "get_group_todo_list", + "aliases": [], + "summary": "获取群待办列表", + "returns": "群待办数组,包含可用于待办操作的消息标识、服务端摘要与时间", + "returnsSchema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647, + "not": { + "const": 0 + }, + "description": "非零有符号 32 位消息 ID,负值合法;必须原样保留" + }, + "message_seq": { + "type": "integer" + }, + "message_random": { + "type": "integer" + }, + "message": { + "anyOf": [ + { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "消息段类型,例如 text、image、reply" + }, + "data": { + "type": "object", + "description": "字段随消息段类型变化,例如 text 段包含 text,reply 段包含 id", + "additionalProperties": true + } + }, + "required": [ + "type", + "data" + ] + } + }, + { + "type": "null" + } + ], + "description": "本地缓存中的消息段;未缓存时为 null" + }, + "text": { + "type": "string" + }, + "create_time": { + "type": "integer" + }, + "update_time": { + "type": "integer" + } + }, + "required": [ + "message_id", + "message_seq", + "message_random", + "message", + "text", + "create_time", + "update_time" + ] + } + }, + "examples": [ + { + "summary": "获取群待办列表", + "params": { + "group_id": 20001 + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_image", + "aliases": [], + "summary": "获取图片信息", + "returnsSchema": { + "type": "object", + "properties": { + "file": { + "type": "string", + "description": "媒体地址;图片无地址时可为原文件标识" + }, + "url": { + "type": "string", + "description": "媒体下载地址,图片地址可能为空" + }, + "file_size": { + "type": "string", + "description": "原媒体字节数的十进制字符串" + }, + "file_name": { + "type": "string", + "description": "文件名或缓存标识" + } + }, + "required": [ + "file", + "url", + "file_size", + "file_name" + ] + }, + "examples": [ + { + "summary": "获取图片信息", + "params": { + "file": "" + }, + "notes": "file 或 file_id 原样取自图片消息段,须在当前账号媒体缓存中存在。" + } + ], + "readOnly": true, + "params": [ + { + "name": "file", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "", + "role": "image" + }, + { + "name": "file_id", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "", + "role": "file_id" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "file": { + "type": "string", + "default": "", + "x-role": "image" + }, + "file_id": { + "type": "string", + "default": "", + "x-role": "file_id" + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_login_info", + "aliases": [], + "returns": "当前登录账号的 QQ 号与昵称。", + "returnsSchema": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "description": "登录 QQ 号" + }, + "nickname": { + "type": "string", + "description": "登录昵称" + } + }, + "required": [ + "user_id", + "nickname" + ] + }, + "examples": [ + { + "summary": "基本调用", + "params": {} + } + ], + "readOnly": true, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "信息" + }, + { + "name": "get_mini_app_ark", + "aliases": [], + "summary": "获取小程序卡片 ark", + "returnsSchema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "ver": { + "description": "服务端卡片版本,原样透传" + }, + "prompt": { + "description": "服务端提示文本,原样透传" + }, + "config": { + "description": "服务端卡片配置,原样透传" + }, + "app": { + "description": "服务端应用名,原样透传" + }, + "view": { + "description": "服务端视图,原样透传" + }, + "meta": { + "description": "服务端卡片元数据,原样透传" + }, + "miniappShareOrigin": { + "const": 3 + }, + "miniappOpenRefer": { + "const": "10002" + } + }, + "required": [ + "miniappShareOrigin", + "miniappOpenRefer" + ] + } + }, + "required": [ + "data" + ] + }, + "examples": [ + { + "summary": "获取小程序卡片 ark", + "params": { + "type": "bili", + "title": "示例视频", + "desc": "视频介绍", + "pic_url": "https://example.com/cover.png", + "jump_url": "https://www.bilibili.com/video/" + }, + "notes": "替换为实际分享地址;当前仅支持 bili 和 weibo。返回的 data 是卡片对象,不会自动发送。" + } + ], + "readOnly": true, + "params": [ + { + "name": "type", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "title", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "desc", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "picUrl", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "pic_url", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "jumpUrl", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "jump_url", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "title": { + "type": "string" + }, + "desc": { + "type": "string" + }, + "picUrl": { + "type": "string" + }, + "pic_url": { + "type": "string" + }, + "jumpUrl": { + "type": "string" + }, + "jump_url": { + "type": "string" + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_msg", + "aliases": [], + "summary": "获取消息", + "returns": "消息事件对象(去除 post_type/self_id,附带 real_id);逐个尝试刷新图片、语音和视频 URL,成功使用新地址,失败保留该段原地址并继续返回消息;地址更新时同步 raw_message。", + "returnsSchema": { + "allOf": [ + { + "type": "object", + "properties": { + "time": { + "type": "integer", + "description": "消息时间,Unix 秒" + }, + "message_type": { + "type": "string", + "enum": [ + "private", + "group" + ] + }, + "sub_type": { + "type": "string", + "description": "消息子类型" + }, + "message_id": { + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647, + "not": { + "const": 0 + }, + "description": "非零有符号 32 位消息 ID,负值合法;必须原样保留" + }, + "real_id": { + "type": "integer", + "description": "原始 message_id;旧历史记录缺失时可为 0" + }, + "user_id": { + "type": "integer", + "description": "发送者 QQ 号" + }, + "group_id": { + "type": "integer", + "description": "群聊消息的群号,私聊可省略" + }, + "target_id": { + "type": "integer", + "description": "私聊目标 QQ 号(若有)" + }, + "message": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "消息段类型,例如 text、image、reply" + }, + "data": { + "type": "object", + "description": "字段随消息段类型变化,例如 text 段包含 text,reply 段包含 id", + "additionalProperties": true + } + }, + "required": [ + "type", + "data" + ] + } + }, + "raw_message": { + "type": "string", + "description": "消息的 CQ 码字符串形式" + }, + "font": { + "type": "integer" + }, + "sender": { + "type": "object", + "properties": { + "user_id": { + "type": "integer" + }, + "nickname": { + "type": "string" + }, + "card": { + "type": "string" + }, + "sex": { + "type": "string", + "enum": [ + "male", + "female", + "unknown" + ] + }, + "age": { + "type": "integer" + }, + "area": { + "type": "string" + }, + "level": { + "type": "string" + }, + "role": { + "type": "string", + "enum": [ + "owner", + "admin", + "member" + ] + }, + "title": { + "type": "string" + } + }, + "additionalProperties": true + }, + "auto_reply": { + "const": true, + "description": "仅当 QQ 标记该私聊消息为自动回复时提供" + } + }, + "additionalProperties": true + }, + { + "type": "object", + "properties": { + "real_id": { + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647, + "not": { + "const": 0 + }, + "description": "非零有符号 32 位消息 ID,负值合法;必须原样保留" + } + }, + "required": [ + "real_id" + ] + } + ], + "description": "消息事件去除 post_type/self_id 并增加 real_id;群聊和私聊字段有所不同" + }, + "examples": [ + { + "summary": "获取消息", + "params": { + "message_id": -123456 + }, + "notes": "使用消息事件或发送结果中的真实 message_id,负值合法;消息须在当前账号的消息存储中可查询。" + } + ], + "readOnly": true, + "params": [ + { + "name": "message_id", + "type": "messageId", + "required": true, + "role": "message_id", + "schema": { + "type": "integer", + "not": { + "const": 0 + } + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "not": { + "const": 0 + }, + "x-role": "message_id" + } + }, + "required": [ + "message_id" + ], + "additionalProperties": true + }, + "category": "消息" + }, + { + "name": "get_msg_emoji_likes", + "aliases": [], + "summary": "获取一条消息的全部表情回应", + "returns": "该消息上每个表情回应的编号、数量与用户列表。", + "returnsSchema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "emoji_id": { + "type": "string", + "description": "表情编号" + }, + "emoji_type": { + "type": "integer", + "description": "表情类型" + }, + "count": { + "type": "integer", + "description": "回应数量" + }, + "last_reaction_time": { + "type": "integer", + "description": "最近一次回应时间" + }, + "users": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "description": "用户 QQ 号" + } + }, + "required": [ + "user_id" + ] + } + } + }, + "required": [ + "emoji_id", + "emoji_type", + "count", + "last_reaction_time", + "users" + ] + } + }, + "examples": [ + { + "summary": "获取一条消息的全部表情回应", + "params": { + "message_id": -123456 + }, + "notes": "使用消息事件或发送结果中的真实 message_id,负值合法;消息须在当前账号的消息存储中可查询。" + } + ], + "readOnly": true, + "params": [ + { + "name": "message_id", + "type": "messageId", + "required": true, + "role": "message_id", + "schema": { + "type": "integer", + "not": { + "const": 0 + } + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "not": { + "const": 0 + }, + "x-role": "message_id" + } + }, + "required": [ + "message_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_online_clients", + "aliases": [], + "summary": "获取在线客户端", + "returns": "{ clients }:QQ 本次会话最近推送的在线设备快照。", + "returnsSchema": { + "type": "object", + "properties": { + "clients": { + "type": "array", + "description": "在线设备列表", + "items": { + "type": "object", + "properties": { + "app_id": { + "type": "integer", + "description": "客户端 ID" + }, + "device_name": { + "type": "string", + "description": "设备名称" + }, + "device_kind": { + "type": "string", + "enum": [ + "电脑", + "Pad", + "手机", + "未知设备" + ], + "description": "设备类别" + } + }, + "required": [ + "app_id", + "device_name", + "device_kind" + ] + } + } + }, + "required": [ + "clients" + ] + }, + "examples": [ + { + "summary": "获取在线客户端", + "params": { + "no_cache": false + } + } + ], + "readOnly": true, + "params": [ + { + "name": "no_cache", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": false, + "desc": "是否强制刷新;QQ 当前仅暴露本地快照,true 会明确失败" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "no_cache": { + "type": "boolean", + "description": "是否强制刷新;QQ 当前仅暴露本地快照,true 会明确失败", + "default": false + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_private_file_url", + "aliases": [], + "summary": "获取私聊文件下载链接", + "returns": "私聊文件下载链接。", + "returnsSchema": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "文件下载直链" + } + }, + "required": [ + "url" + ] + }, + "examples": [ + { + "summary": "获取私聊文件下载链接", + "params": { + "user_id": 10001, + "file_id": "" + }, + "notes": "使用私聊文件消息段中的 file_id,必要时原样传 file_hash。" + } + ], + "readOnly": true, + "params": [ + { + "name": "user_id", + "type": "uint", + "required": false, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "file_id", + "type": "string", + "required": true, + "role": "file_id", + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "file_hash", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 1, + "x-role": "user_id" + }, + "file_id": { + "type": "string", + "minLength": 1, + "x-role": "file_id" + }, + "file_hash": { + "type": "string", + "default": "" + } + }, + "required": [ + "file_id" + ], + "additionalProperties": true + }, + "category": "群文件" + }, + { + "name": "get_profile_like", + "aliases": [], + "summary": "获取资料点赞", + "returns": "点赞资料:uid、最近点赞时间、收藏与点赞统计及用户明细。", + "returnsSchema": { + "type": "object", + "properties": { + "uid": { + "type": "string", + "description": "用户 uid" + }, + "time": { + "type": "integer", + "description": "最近点赞时间戳" + }, + "favoriteInfo": { + "type": "object", + "description": "收藏统计", + "properties": { + "total_count": { + "type": "integer", + "description": "收藏总数" + }, + "last_time": { + "type": "integer", + "description": "最近收藏时间戳" + }, + "today_count": { + "type": "integer", + "description": "今日收藏数" + }, + "userInfos": { + "type": "array", + "description": "收藏用户列表", + "items": { + "type": "object", + "properties": { + "uid": { + "type": "string", + "description": "用户 uid" + }, + "uin": { + "type": "integer", + "description": "用户 QQ 号;资料中没有有效号码时为 0" + }, + "src": { + "type": "integer", + "description": "来源类型" + }, + "latestTime": { + "type": "integer", + "description": "最近互动时间戳" + }, + "count": { + "type": "integer", + "description": "互动次数" + }, + "giftCount": { + "type": "integer", + "description": "礼物数量" + }, + "customId": { + "type": "integer", + "description": "自定义标识" + }, + "lastCharged": { + "type": "integer", + "description": "最近充能时间" + }, + "bAvailableCnt": { + "type": "integer", + "description": "可用次数" + }, + "bTodayVotedCnt": { + "type": "integer", + "description": "今日已点赞次数" + }, + "nick": { + "type": "string", + "description": "昵称" + }, + "gender": { + "type": "integer", + "description": "性别" + }, + "age": { + "type": "integer", + "description": "年龄" + }, + "isFriend": { + "type": "boolean", + "description": "是否为好友" + }, + "isvip": { + "type": "boolean", + "description": "是否为会员" + }, + "isSvip": { + "type": "boolean", + "description": "是否为超级会员" + } + }, + "required": [ + "uid", + "uin", + "src", + "latestTime", + "count", + "giftCount", + "customId", + "lastCharged", + "bAvailableCnt", + "bTodayVotedCnt", + "nick", + "gender", + "age", + "isFriend", + "isvip", + "isSvip" + ] + } + } + } + }, + "voteInfo": { + "type": "object", + "description": "点赞统计", + "properties": { + "total_count": { + "type": "integer", + "description": "点赞总数" + }, + "new_count": { + "type": "integer", + "description": "新增点赞数" + }, + "new_nearby_count": { + "type": "integer", + "description": "附近的人新增点赞数" + }, + "last_visit_time": { + "type": "integer", + "description": "最近访问时间戳" + }, + "userInfos": { + "type": "array", + "description": "点赞用户列表", + "items": { + "type": "object", + "properties": { + "uid": { + "type": "string", + "description": "用户 uid" + }, + "uin": { + "type": "integer", + "description": "用户 QQ 号;资料中没有有效号码时为 0" + }, + "src": { + "type": "integer", + "description": "来源类型" + }, + "latestTime": { + "type": "integer", + "description": "最近互动时间戳" + }, + "count": { + "type": "integer", + "description": "互动次数" + }, + "giftCount": { + "type": "integer", + "description": "礼物数量" + }, + "customId": { + "type": "integer", + "description": "自定义标识" + }, + "lastCharged": { + "type": "integer", + "description": "最近充能时间" + }, + "bAvailableCnt": { + "type": "integer", + "description": "可用次数" + }, + "bTodayVotedCnt": { + "type": "integer", + "description": "今日已点赞次数" + }, + "nick": { + "type": "string", + "description": "昵称" + }, + "gender": { + "type": "integer", + "description": "性别" + }, + "age": { + "type": "integer", + "description": "年龄" + }, + "isFriend": { + "type": "boolean", + "description": "是否为好友" + }, + "isvip": { + "type": "boolean", + "description": "是否为会员" + }, + "isSvip": { + "type": "boolean", + "description": "是否为超级会员" + } + }, + "required": [ + "uid", + "uin", + "src", + "latestTime", + "count", + "giftCount", + "customId", + "lastCharged", + "bAvailableCnt", + "bTodayVotedCnt", + "nick", + "gender", + "age", + "isFriend", + "isvip", + "isSvip" + ] + } + } + } + } + }, + "required": [ + "uid", + "time", + "favoriteInfo", + "voteInfo" + ] + }, + "examples": [ + { + "summary": "获取资料点赞", + "params": { + "user_id": 10001, + "start": 0, + "count": 10 + } + } + ], + "readOnly": true, + "params": [ + { + "name": "user_id", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "default": 0, + "role": "user_id" + }, + { + "name": "start", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "default": 0 + }, + { + "name": "count", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "default": 10 + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 0, + "default": 0, + "x-role": "user_id" + }, + "start": { + "type": "integer", + "minimum": 0, + "default": 0 + }, + "count": { + "type": "integer", + "minimum": 0, + "default": 10 + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_qun_album_list", + "aliases": [], + "returns": "NapCat 风格的相册列表封套:{album_list, attach_info, has_more}。", + "returnsSchema": { + "type": "object", + "properties": { + "album_list": { + "type": "array", + "description": "相册列表", + "items": { + "type": "object", + "properties": { + "album_id": { + "type": "string", + "description": "相册 id" + }, + "name": { + "type": "string", + "description": "相册名称" + }, + "create_time": { + "type": "string", + "description": "相册创建时间(unix 秒)" + }, + "last_upload_time": { + "type": "string", + "description": "最后上传时间(unix 秒)" + }, + "upload_number": { + "type": "string", + "description": "相册内媒体数量" + }, + "cover": { + "type": [ + "object", + "null" + ], + "description": "相册封面;没有封面时为 null", + "properties": { + "type": { + "type": "integer", + "description": "封面媒体类型" + }, + "image": { + "type": [ + "object", + "null" + ], + "description": "封面图片信息", + "properties": { + "name": { + "type": "string", + "description": "图片名称" + }, + "sloc": { + "type": "string", + "description": "图片短定位标识" + }, + "lloc": { + "type": "string", + "description": "图片长定位标识" + }, + "photoUrls": { + "type": "array", + "description": "不同规格的封面地址", + "items": { + "type": "object", + "properties": { + "spec": { + "type": "integer", + "description": "图片规格" + }, + "url": { + "type": [ + "object", + "null" + ], + "properties": { + "url": { + "type": "string", + "description": "封面地址" + }, + "width": { + "type": "integer", + "description": "封面宽度" + }, + "height": { + "type": "integer", + "description": "封面高度" + } + }, + "required": [ + "url", + "width", + "height" + ] + } + }, + "required": [ + "spec", + "url" + ] + } + }, + "defaultUrl": { + "type": [ + "object", + "null" + ], + "properties": { + "url": { + "type": "string", + "description": "封面地址" + }, + "width": { + "type": "integer", + "description": "封面宽度" + }, + "height": { + "type": "integer", + "description": "封面高度" + } + }, + "required": [ + "url", + "width", + "height" + ] + }, + "isGif": { + "type": "boolean", + "description": "是否为动图" + }, + "hasRaw": { + "type": "boolean", + "description": "是否有原图" + } + }, + "required": [ + "name", + "sloc", + "lloc", + "photoUrls", + "defaultUrl", + "isGif", + "hasRaw" + ] + } + }, + "required": [ + "type", + "image" + ] + }, + "creator": { + "type": "object", + "description": "相册创建者信息", + "properties": { + "uin": { + "type": "string", + "description": "创建者 QQ 号" + }, + "uid": { + "type": "string", + "description": "创建者 UID" + }, + "nick": { + "type": "string", + "description": "创建者原始 Unicode 昵称" + } + } + } + }, + "required": [ + "album_id", + "name", + "create_time", + "last_upload_time", + "upload_number", + "cover" + ] + } + }, + "attach_info": { + "type": "string", + "description": "下一页分页游标" + }, + "has_more": { + "type": "boolean", + "description": "是否还有更多" + } + }, + "required": [ + "album_list", + "attach_info", + "has_more" + ] + }, + "examples": [ + { + "summary": "基本调用", + "params": { + "group_id": 20001, + "attach_info": "" + }, + "notes": "后续页原样传回上一页的 attach_info;has_more=false 表示结束。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "attach_info", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "attach_info": { + "type": "string", + "default": "" + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "群相册" + }, + { + "name": "get_qzone_feed_detail", + "aliases": [], + "summary": "按说说 tid 读取完整空间动态,可用于生成分享卡片", + "returns": "完整动态及上游详情字段。feed 保留图片、视频、分享信息和未知字段,可直接用于 get_qzone_share_ark;attach_info 保留上游评论游标,不自动翻页。", + "returnsSchema": { + "type": "object", + "additionalProperties": true, + "properties": { + "feed": { + "type": "object", + "additionalProperties": true, + "description": "去除上游包装后的完整动态,可原样传给 get_qzone_share_ark" + }, + "attach_info": { + "type": [ + "string", + "null" + ], + "description": "上游评论续页游标,未提供时为 null;不保证评论及回复完整" + } + }, + "required": [ + "feed", + "attach_info" + ] + }, + "examples": [ + { + "summary": "按说说编号获取完整动态", + "params": { + "tid": "1127000000f1536501000000" + }, + "notes": "将示例 tid 替换为 get_qzone_msg_list 或 send_qzone_msg 返回的 24 位十六进制说说编号。把结果的 feed 原样传给 get_qzone_share_ark;读取和分享均受空间权限限制。" + } + ], + "readOnly": true, + "params": [ + { + "name": "tid", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 24 + }, + "desc": "24 位十六进制说说编号" + } + ], + "invariants": [ + "tid must be a 24-character hexadecimal post ID" + ], + "inputSchema": { + "type": "object", + "properties": { + "tid": { + "type": "string", + "minLength": 1, + "maxLength": 24, + "description": "24 位十六进制说说编号" + } + }, + "required": [ + "tid" + ], + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "get_qzone_feeds", + "aliases": [], + "summary": "获取 QQ 空间好友动态,支持结构化正文与游标分页", + "returns": "好友动态、可提取的正文与图片、统计值及下一页游标;未知内容或统计为 null,HTML 保留。", + "returnsSchema": { + "type": "object", + "properties": { + "feeds": { + "type": "array", + "description": "本页好友动态数组", + "items": { + "type": "object", + "properties": { + "uin": { + "type": "integer", + "description": "动态作者 QQ 号" + }, + "nickname": { + "type": "string", + "description": "作者昵称" + }, + "time": { + "type": "integer", + "description": "发表时间(unix 秒)" + }, + "appid": { + "type": "integer", + "description": "Qzone 应用 id(311=说说,4=相册,…)" + }, + "key": { + "type": "string", + "description": "feed 句柄(Qzone 用于定位该条动态)" + }, + "html": { + "type": "string", + "description": "预渲染 HTML 原样透传" + }, + "tid": { + "type": [ + "string", + "null" + ], + "description": "可确认的说说编号;其他类型或无法确认时为 null" + }, + "content": { + "type": [ + "string", + "null" + ], + "description": "当前动态正文,不含评论;无法识别时为 null" + }, + "content_complete": { + "type": [ + "boolean", + "null" + ], + "description": "正文是否完整;false 表示折叠摘要,null 表示未知" + }, + "images": { + "type": [ + "array", + "null" + ], + "items": { + "type": "string" + }, + "description": "当前正文中可提取的图片地址,不含头像、评论图片或视频封面;不保证完整相册" + }, + "like_count": { + "type": [ + "integer", + "null" + ], + "description": "服务端提供的点赞数;未知时为 null" + }, + "comment_count": { + "type": [ + "integer", + "null" + ], + "description": "服务端提供的评论数;未知时为 null,不以展示的评论条数估算" + } + }, + "required": [ + "uin", + "nickname", + "time", + "appid", + "key", + "html", + "tid", + "content", + "content_complete", + "images", + "like_count", + "comment_count" + ] + } + }, + "has_more": { + "type": "boolean", + "description": "服务端是否报告本页之后还有更多页" + }, + "next_cursor": { + "type": [ + "string", + "null" + ], + "description": "下一页游标,原样作为 cursor 传回;没有更多页时为 null" + } + }, + "required": [ + "feeds", + "has_more", + "next_cursor" + ] + }, + "examples": [ + { + "summary": "获取 QQ 空间好友动态首页及结构化内容", + "params": { + "page_num": 1, + "count": 10 + }, + "notes": "保留 html;content/images 为可提取的正文和图片,未知值为 null。续页使用 next_cursor。" + }, + { + "summary": "继续读取上一页之后的好友动态", + "params": { + "cursor": "", + "count": 10 + }, + "notes": "cursor 原样使用上次返回的 next_cursor,仅适用于同一账号;has_more=false 时停止。" + } + ], + "readOnly": true, + "params": [ + { + "name": "page_num", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "页码(1 起);不传 cursor 时从首页顺序定位,较深页可能耗时较长", + "default": 1 + }, + { + "name": "count", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 50 + }, + "desc": "本页数量", + "default": 10 + }, + { + "name": "cursor", + "type": "string", + "required": false, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 65536 + }, + "desc": "上一次返回的 next_cursor;原样传递,省略 page_num 或传入对应页码" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "page_num": { + "type": "integer", + "minimum": 1, + "description": "页码(1 起);不传 cursor 时从首页顺序定位,较深页可能耗时较长", + "default": 1 + }, + "count": { + "type": "integer", + "minimum": 1, + "maximum": 50, + "description": "本页数量", + "default": 10 + }, + "cursor": { + "type": "string", + "minLength": 1, + "maxLength": 65536, + "description": "上一次返回的 next_cursor;原样传递,省略 page_num 或传入对应页码" + } + }, + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "get_qzone_home_feeds", + "aliases": [], + "summary": "读取自己或有权访问的空间主页动态,保留完整分享信息", + "returns": "完整动态及分页状态;访问受空间权限限制,旧说说接口保持不变。", + "returnsSchema": { + "type": "object", + "additionalProperties": true, + "properties": { + "feeds": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": true + }, + "description": "完整动态,可原样传给 get_qzone_share_ark" + }, + "has_more": { + "type": "boolean" + }, + "next_cursor": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "feeds", + "has_more", + "next_cursor" + ] + }, + "examples": [ + { + "summary": "读取自己的主页动态", + "params": {} + }, + { + "summary": "继续读取同一主页", + "params": { + "target_uin": 10001, + "cursor": "" + } + } + ], + "readOnly": true, + "params": [ + { + "name": "target_uin", + "type": "uint", + "required": false, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "主页所属 QQ 号,省略则为当前账号" + }, + { + "name": "cursor", + "type": "string", + "required": false, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 65536 + }, + "desc": "上次返回的 next_cursor,仅限同一账号及主页" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "target_uin": { + "type": "integer", + "minimum": 1, + "description": "主页所属 QQ 号,省略则为当前账号", + "x-role": "user_id" + }, + "cursor": { + "type": "string", + "minLength": 1, + "maxLength": 65536, + "description": "上次返回的 next_cursor,仅限同一账号及主页" + } + }, + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "get_qzone_msg_detail", + "aliases": [], + "summary": "获取 QQ 空间说说详情与一页评论(含服务端内联回复,需有访问权限)", + "returns": "说说详情、服务端报告的评论总数与本页评论;replies 仅含服务端内联返回的二级回复,不保证完整。", + "returnsSchema": { + "type": "object", + "properties": { + "tid": { + "type": "string", + "description": "说说 ID" + }, + "content": { + "type": "string", + "description": "说说正文" + }, + "comment_num": { + "type": "integer", + "description": "服务端报告的评论总数(非本页数量)" + }, + "comments": { + "type": "array", + "description": "本页一级评论,数量可能少于 num", + "items": { + "type": "object", + "properties": { + "uin": { + "type": "integer", + "description": "评论者 QQ 号" + }, + "name": { + "type": "string", + "description": "评论者昵称" + }, + "time": { + "type": "integer", + "description": "评论时间(unix 秒)" + }, + "content": { + "type": "string", + "description": "评论正文,保留空间表情和 @ 标记" + }, + "comment_id": { + "type": "string", + "description": "评论 ID,在所属说说或父评论内唯一" + }, + "replies": { + "type": "array", + "description": "服务端内联二级回复,可能不完整", + "items": { + "type": "object", + "properties": { + "uin": { + "type": "integer", + "description": "评论者 QQ 号" + }, + "name": { + "type": "string", + "description": "评论者昵称" + }, + "time": { + "type": "integer", + "description": "评论时间(unix 秒)" + }, + "content": { + "type": "string", + "description": "评论正文,保留空间表情和 @ 标记" + }, + "comment_id": { + "type": "string", + "description": "评论 ID,在所属说说或父评论内唯一" + }, + "parent_comment_id": { + "type": "string", + "description": "所属一级评论 ID;回复时作为 comment_id" + }, + "parent_comment_uin": { + "type": "integer", + "description": "所属一级评论作者;回复时作为 comment_uin" + } + }, + "required": [ + "uin", + "name", + "time", + "content", + "comment_id", + "parent_comment_id", + "parent_comment_uin" + ] + } + } + }, + "required": [ + "uin", + "name", + "time", + "content", + "comment_id", + "replies" + ] + } + } + }, + "required": [ + "tid", + "content", + "comment_num", + "comments" + ] + }, + "examples": [ + { + "summary": "获取 QQ 空间说说详情与一页评论(含服务端内联回复,需有访问权限)", + "params": { + "tid": "", + "pos": 0, + "num": 20 + }, + "notes": "tid 来自 get_qzone_msg_list;操作需有该说说的访问或管理权限。 replies 仅为服务端内联回复,不保证完整。" + } + ], + "readOnly": true, + "params": [ + { + "name": "tid", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + }, + "desc": "说说 tid(来自 get_qzone_msg_list / send_qzone_msg)" + }, + { + "name": "target_uin", + "type": "uint", + "required": false, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "说说所属 QQ 号,省略则取机器人自己" + }, + { + "name": "pos", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "desc": "一级评论起始偏移", + "default": 0 + }, + { + "name": "num", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100 + }, + "desc": "请求的一级评论数量,实际数量受服务端限制", + "default": 20 + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "tid": { + "type": "string", + "minLength": 1, + "description": "说说 tid(来自 get_qzone_msg_list / send_qzone_msg)" + }, + "target_uin": { + "type": "integer", + "minimum": 1, + "description": "说说所属 QQ 号,省略则取机器人自己", + "x-role": "user_id" + }, + "pos": { + "type": "integer", + "minimum": 0, + "description": "一级评论起始偏移", + "default": 0 + }, + "num": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "description": "请求的一级评论数量,实际数量受服务端限制", + "default": 20 + } + }, + "required": [ + "tid" + ], + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "get_qzone_msg_list", + "aliases": [], + "summary": "获取 QQ 空间说说列表(默认机器人自己的空间)", + "returns": "说说列表对象,含说说总数与本页说说数组。", + "returnsSchema": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "账号说说总数(非本页数量)" + }, + "msglist": { + "type": "array", + "description": "本页说说数组", + "items": { + "type": "object", + "properties": { + "tid": { + "type": "string", + "description": "说说 id(delete/comment/like 的句柄)" + }, + "content": { + "type": "string", + "description": "说说正文" + }, + "time": { + "type": "integer", + "description": "发表时间(unix 秒)" + }, + "comment_num": { + "type": "integer", + "description": "评论数" + }, + "is_private": { + "type": "boolean", + "description": "是否仅自己可见" + }, + "images": { + "type": "array", + "items": { + "type": "string" + }, + "description": "图片 URL 列表(每图取最大可用变体)" + } + }, + "required": [ + "tid", + "content", + "time", + "comment_num", + "is_private", + "images" + ] + } + } + }, + "required": [ + "total", + "msglist" + ] + }, + "examples": [ + { + "summary": "获取 QQ 空间说说列表(默认机器人自己的空间)", + "params": { + "pos": 0, + "num": 20 + }, + "notes": "默认读取当前账号;指定 target_uin 时需有访问权限。" + } + ], + "readOnly": true, + "params": [ + { + "name": "target_uin", + "type": "uint", + "required": false, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "目标 QQ 号,省略则取机器人自己" + }, + { + "name": "pos", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "desc": "起始偏移", + "default": 0 + }, + { + "name": "num", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100 + }, + "desc": "本页数量", + "default": 20 + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "target_uin": { + "type": "integer", + "minimum": 1, + "description": "目标 QQ 号,省略则取机器人自己", + "x-role": "user_id" + }, + "pos": { + "type": "integer", + "minimum": 0, + "description": "起始偏移", + "default": 0 + }, + "num": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "description": "本页数量", + "default": 20 + } + }, + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "get_qzone_profile", + "aliases": [], + "summary": "获取 QQ 空间名称和说明(默认当前账号)", + "returns": "空间名称和说明。", + "returnsSchema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "空间名称" + }, + "description": { + "type": "string", + "description": "空间说明" + } + }, + "required": [ + "name", + "description" + ] + }, + "examples": [ + { + "summary": "获取当前账号的空间名称和说明", + "params": {} + }, + { + "summary": "获取指定账号的空间名称和说明", + "params": { + "target_uin": 10001 + }, + "notes": "需要有该空间的访问权限。" + } + ], + "readOnly": true, + "params": [ + { + "name": "target_uin", + "type": "uint", + "required": false, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "目标 QQ 号,省略则取机器人自己" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "target_uin": { + "type": "integer", + "minimum": 1, + "description": "目标 QQ 号,省略则取机器人自己", + "x-role": "user_id" + } + }, + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "get_qzone_public_capabilities", + "aliases": [], + "summary": "读取当前账号的空友爱看入口与推权限", + "returns": "当前账号的上游入口能力对象,保留未知字段。", + "returnsSchema": { + "type": "object", + "additionalProperties": true + }, + "examples": [ + { + "summary": "查询当前账号是否有空友爱看入口及推能力", + "params": {} + } + ], + "readOnly": true, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "get_qzone_public_comments", + "aliases": [], + "summary": "继续读取推荐动态评论", + "returns": "上游评论页对象,保留评论、分页和未知字段。", + "returnsSchema": { + "type": "object", + "additionalProperties": true + }, + "examples": [ + { + "summary": "读取详情之后的下一页评论", + "params": { + "feed": { + "cell_common": { + "union_id": { + "uf_key": "", + "ugc_id": "", + "feed_id": "", + "ext_ids": [] + }, + "cur_like_key": "", + "domain_type": 3 + }, + "cell_feed_transfer": {}, + "cell_user_info": { + "user": { + "uin": "10001", + "uid": "", + "nick": "" + } + } + }, + "cursor": "" + }, + "notes": "feed 必须原样取自 get_qzone_public_feeds 的 feeds 数组,不能用旧说说 tid 拼造;示例中的占位字段须整体替换。 先读详情获取初始评论及 attach_info,再原样传入 cursor。" + } + ], + "readOnly": true, + "params": [ + { + "name": "feed", + "type": "object", + "required": true, + "schema": { + "type": "object", + "additionalProperties": true + }, + "desc": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + }, + { + "name": "cursor", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + }, + "desc": "详情或上一评论页返回的 attach_info" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "feed": { + "type": "object", + "additionalProperties": true, + "description": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + }, + "cursor": { + "type": "string", + "minLength": 1, + "description": "详情或上一评论页返回的 attach_info" + } + }, + "required": [ + "feed", + "cursor" + ], + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "get_qzone_public_feed_detail", + "aliases": [], + "summary": "读取推荐动态详情及初始评论", + "returns": "上游详情 data;初始评论位于 feed.feed.cell_comment.comments,续页使用 attach_info。", + "returnsSchema": { + "type": "object", + "additionalProperties": true + }, + "examples": [ + { + "summary": "读取推荐动态详情", + "params": { + "feed": { + "cell_common": { + "union_id": { + "uf_key": "", + "ugc_id": "", + "feed_id": "", + "ext_ids": [] + }, + "cur_like_key": "", + "domain_type": 3 + }, + "cell_feed_transfer": {}, + "cell_user_info": { + "user": { + "uin": "10001", + "uid": "", + "nick": "" + } + } + } + }, + "notes": "feed 必须原样取自 get_qzone_public_feeds 的 feeds 数组,不能用旧说说 tid 拼造;示例中的占位字段须整体替换。" + } + ], + "readOnly": true, + "params": [ + { + "name": "feed", + "type": "object", + "required": true, + "schema": { + "type": "object", + "additionalProperties": true + }, + "desc": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "feed": { + "type": "object", + "additionalProperties": true, + "description": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + } + }, + "required": [ + "feed" + ], + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "get_qzone_public_feeds", + "aliases": [], + "summary": "读取空友爱看推荐动态,支持独立游标分页", + "returns": "推荐动态原始 cell 对象及分页状态,保留其余上游页面字段。", + "returnsSchema": { + "type": "object", + "additionalProperties": true, + "properties": { + "feeds": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": true + }, + "description": "原始动态 cell 对象,后续详情和互动需原样传入" + }, + "has_more": { + "type": "boolean", + "description": "服务端是否报告还有下一页" + }, + "next_cursor": { + "type": [ + "string", + "null" + ], + "description": "下一页游标;无下一页时为 null" + } + }, + "required": [ + "feeds", + "has_more", + "next_cursor" + ] + }, + "examples": [ + { + "summary": "读取空友爱看推荐首页", + "params": {} + }, + { + "summary": "继续读取推荐动态", + "params": { + "cursor": "" + }, + "notes": "cursor 原样使用上次返回的 next_cursor,仅适用于同一账号;has_more=false 时停止。" + } + ], + "readOnly": true, + "params": [ + { + "name": "cursor", + "type": "string", + "required": false, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 65536 + }, + "desc": "上次返回的 next_cursor,省略则刷新首页" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "cursor": { + "type": "string", + "minLength": 1, + "maxLength": 65536, + "description": "上次返回的 next_cursor,省略则刷新首页" + } + }, + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "get_qzone_public_replies", + "aliases": [], + "summary": "继续读取指定评论的回复", + "returns": "上游回复页对象,保留回复、分页和未知字段。", + "returnsSchema": { + "type": "object", + "additionalProperties": true + }, + "examples": [ + { + "summary": "读取某条评论的后续回复", + "params": { + "feed": { + "cell_common": { + "union_id": { + "uf_key": "", + "ugc_id": "", + "feed_id": "", + "ext_ids": [] + }, + "cur_like_key": "", + "domain_type": 3 + }, + "cell_feed_transfer": {}, + "cell_user_info": { + "user": { + "uin": "10001", + "uid": "", + "nick": "" + } + } + }, + "comment": { + "id": "", + "user": { + "uin": "", + "uid": "", + "nick": "" + }, + "like": { + "id": "", + "count": 0, + "status": 0 + }, + "reply_attach_info": "" + } + }, + "notes": "feed 必须原样取自 get_qzone_public_feeds 的 feeds 数组,不能用旧说说 tid 拼造;示例中的占位字段须整体替换。 comment 可取 get_qzone_public_feed_detail 返回的 feed.feed.cell_comment.comments,或后续评论页;保留完整对象。 首次续读使用评论自带的 reply_attach_info;之后传上一回复页的游标。" + } + ], + "readOnly": true, + "params": [ + { + "name": "feed", + "type": "object", + "required": true, + "schema": { + "type": "object", + "additionalProperties": true + }, + "desc": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + }, + { + "name": "comment", + "type": "object", + "required": true, + "schema": { + "type": "object", + "additionalProperties": true + }, + "desc": "详情或评论页返回的完整评论对象,保留 user 等原始字段" + }, + { + "name": "cursor", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "desc": "上一回复页的 reply_attach_info;省略则使用评论自带游标", + "default": "" + }, + { + "name": "page_size", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "请求的回复数量", + "default": 20 + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "feed": { + "type": "object", + "additionalProperties": true, + "description": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + }, + "comment": { + "type": "object", + "additionalProperties": true, + "description": "详情或评论页返回的完整评论对象,保留 user 等原始字段" + }, + "cursor": { + "type": "string", + "description": "上一回复页的 reply_attach_info;省略则使用评论自带游标", + "default": "" + }, + "page_size": { + "type": "integer", + "minimum": 1, + "description": "请求的回复数量", + "default": 20 + } + }, + "required": [ + "feed", + "comment" + ], + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "get_qzone_share_ark", + "aliases": [], + "summary": "生成空间动态分享卡片,返回原文及分享提示", + "returns": "生成卡片但不发送消息;后续发送仍返回普通消息编号。", + "returnsSchema": { + "type": "object", + "properties": { + "ark": { + "type": "string", + "description": "卡片原文,直接作为 JSON 消息的 data" + }, + "requires_confirmation": { + "type": "boolean", + "description": "上游要求发送前确认分享提示" + }, + "notice": { + "type": [ + "string", + "null" + ], + "description": "上游分享提示;无提示时为 null" + } + }, + "required": [ + "ark", + "requires_confirmation", + "notice" + ] + }, + "examples": [ + { + "summary": "生成卡片后通过 JSON 消息发送", + "params": { + "feed": { + "cell_common": { + "union_id": { + "uf_key": "", + "ugc_id": "", + "feed_id": "", + "ext_ids": [] + }, + "cur_like_key": "", + "domain_type": 3 + }, + "cell_feed_transfer": "", + "cell_user_info": { + "user": { + "uin": "10001", + "uid": "", + "nick": "" + } + }, + "cell_operation": { + "share_outside": { + "share_access_resource": { + "busi_id": "", + "resource_id": "" + } + } + } + } + }, + "notes": "feed 原样取自 get_qzone_feed_detail 的 feed,或 get_qzone_home_feeds / get_qzone_public_feeds 的 feeds 条目。分享链接可能允许未登录者访问并包含作者 QQ 号;如 requires_confirmation=true,发送前展示 notice 并取得确认。将 ark 原文作为 JSON 消息发送,不要修改卡片内容。" + } + ], + "readOnly": false, + "params": [ + { + "name": "feed", + "type": "object", + "required": true, + "schema": { + "type": "object", + "additionalProperties": true + }, + "desc": "主页、详情或推荐列表返回的完整动态,保留所有原始字段" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "feed": { + "type": "object", + "additionalProperties": true, + "description": "主页、详情或推荐列表返回的完整动态,保留所有原始字段" + } + }, + "required": [ + "feed" + ], + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "get_recent_contact", + "aliases": [], + "summary": "获取最近会话(占位)", + "returns": "占位实现,恒返回空数组。", + "returnsSchema": { + "type": "array", + "description": "最近会话列表(占位,恒空)" + }, + "examples": [ + { + "summary": "获取最近会话(占位)", + "notes": "兼容占位接口,当前始终返回空数组,不能据此判断真实会话列表。", + "params": { + "count": 10 + } + } + ], + "readOnly": true, + "params": [ + { + "name": "count", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "default": 10 + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 0, + "default": 10 + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_record", + "aliases": [], + "summary": "获取语音信息;传 out_format 则服务端转码并附带 base64", + "returns": "语音信息(file/url 为向 QQ 获取的当前下载地址);资源元数据缺失或远端获取失败时返回错误。out_format 指定时附带转码后的 base64。", + "returnsSchema": { + "allOf": [ + { + "type": "object", + "properties": { + "file": { + "type": "string", + "description": "媒体地址;图片无地址时可为原文件标识" + }, + "url": { + "type": "string", + "description": "媒体下载地址,图片地址可能为空" + }, + "file_size": { + "type": "string", + "description": "原媒体字节数的十进制字符串" + }, + "file_name": { + "type": "string", + "description": "文件名或缓存标识" + } + }, + "required": [ + "file", + "url", + "file_size", + "file_name" + ] + }, + { + "type": "object", + "properties": { + "out_format": { + "type": "string", + "enum": [ + "mp3", + "amr", + "wma", + "m4a", + "spx", + "ogg", + "wav", + "flac" + ] + }, + "base64": { + "type": "string", + "description": "转换后音频的 Base64,未请求 out_format 时省略" + } + } + } + ], + "description": "未转换时只有媒体信息;指定 out_format 成功转换后同时增加 out_format 和 base64,file_size 仍为原媒体大小" + }, + "examples": [ + { + "summary": "获取语音信息;传 out_format 则服务端转码并附带 base64", + "params": { + "file": "", + "out_format": "mp3" + }, + "notes": "file 来自语音消息段;格式转换依赖服务端可用的转换工具,成功时增加 out_format 和 base64。" + } + ], + "readOnly": true, + "params": [ + { + "name": "file", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "", + "role": "record" + }, + { + "name": "file_id", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "", + "role": "file_id" + }, + { + "name": "out_format", + "type": "enum", + "required": false, + "values": [ + "mp3", + "amr", + "wma", + "m4a", + "spx", + "ogg", + "wav", + "flac" + ], + "schema": { + "enum": [ + "mp3", + "amr", + "wma", + "m4a", + "spx", + "ogg", + "wav", + "flac" + ] + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "file": { + "type": "string", + "default": "", + "x-role": "record" + }, + "file_id": { + "type": "string", + "default": "", + "x-role": "file_id" + }, + "out_format": { + "enum": [ + "mp3", + "amr", + "wma", + "m4a", + "spx", + "ogg", + "wav", + "flac" + ] + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_rkey", + "aliases": [ + "nc_get_rkey" + ], + "summary": "获取下载 rkey", + "returnsSchema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "rkey": { + "type": "string", + "description": "下载密钥,敏感信息" + }, + "type": { + "type": "integer" + }, + "ttl": { + "type": "integer", + "description": "有效时长,秒" + }, + "create_time": { + "type": "integer", + "description": "创建时间,Unix 秒" + } + }, + "required": [ + "rkey", + "type", + "ttl", + "create_time" + ] + } + }, + "examples": [ + { + "summary": "获取下载 rkey", + "params": {}, + "notes": "返回值可能包含凭据或临时下载密钥,请勿公开或记录到不受控日志。" + } + ], + "readOnly": true, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_rkey_server", + "aliases": [], + "summary": "获取 rkey 服务器信息", + "returns": "{ expired_time, name, private_rkey?, group_rkey? }:rkey 过期时间与(存在时的)私聊/群聊 rkey。", + "returnsSchema": { + "type": "object", + "properties": { + "expired_time": { + "type": "integer", + "description": "过期时间戳(秒)" + }, + "name": { + "type": "string", + "description": "服务器名(恒 SnowLuma)" + }, + "private_rkey": { + "type": "string", + "description": "私聊 rkey(存在时返回)" + }, + "group_rkey": { + "type": "string", + "description": "群聊 rkey(存在时返回)" + } + }, + "required": [ + "expired_time", + "name" + ] + }, + "examples": [ + { + "summary": "获取 rkey 服务器信息", + "params": {}, + "notes": "返回值可能包含凭据或临时下载密钥,请勿公开或记录到不受控日志。" + } + ], + "readOnly": true, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_share_link", + "aliases": [], + "summary": "获取文件分享链接", + "returnsSchema": { + "type": "string", + "description": "生成的下载或分享 URL 字符串,不是含 url 字段的对象" + }, + "examples": [ + { + "summary": "获取文件分享链接", + "params": { + "fileset_id": "" + }, + "notes": "fileset_id 来自 create_flash_task、get_fileset_id 或 list_filesets,替换为当前账号可访问的文件集。" + } + ], + "readOnly": false, + "params": [ + { + "name": "fileset_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "fileset_id": { + "type": "string", + "minLength": 1 + } + }, + "required": [ + "fileset_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_status", + "aliases": [], + "returns": "运行状态。`online` 表示账号在线;`good` 表示已确认的收发链路健康状态;`time` 为当前账号服务实例运行秒数,与 #sl 同源。", + "returnsSchema": { + "type": "object", + "properties": { + "online": { + "type": "boolean", + "description": "是否在线" + }, + "good": { + "type": "boolean", + "description": "收发链路健康状态;确认接收停滞或主动请求连接失效时为 false" + }, + "time": { + "type": "integer", + "description": "当前账号服务实例运行秒数,与 #sl 同源;实例重建后重新计时" + } + }, + "required": [ + "online", + "good", + "time" + ] + }, + "examples": [ + { + "summary": "基本调用", + "params": {} + } + ], + "readOnly": true, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "信息" + }, + { + "name": "get_stranger_info", + "aliases": [], + "summary": "获取陌生人信息", + "returns": "用户资料,含账号标识、等级别名和可用的注册时间、生日、会员信息。注册时间、生日或会员信息未返回时省略对应字段,出生年份未公开时只省略年份;登录天数暂无可靠来源,不返回占位值。", + "returnsSchema": { + "type": "object", + "properties": { + "long_nick": { + "type": "string", + "description": "个性签名" + }, + "sex": { + "type": "string", + "description": "性别(male/female/unknown)" + }, + "age": { + "type": "integer", + "description": "年龄" + }, + "level": { + "type": "integer", + "description": "QQ 等级,同 qq_level(仅查到资料时返回)" + }, + "birthday_year": { + "type": "integer", + "description": "生日年份,兼容 NapCat;未公开或不可用时省略" + }, + "birthday_month": { + "type": "integer", + "description": "生日月份(1-12),兼容 NapCat;不可用时省略" + }, + "birthday_day": { + "type": "integer", + "description": "生日日期(1-31),兼容 NapCat;不可用时省略" + }, + "phone_num": { + "type": "string", + "description": "资料卡公开的电话号码" + }, + "email": { + "type": "string", + "description": "资料卡公开的邮箱" + }, + "country": { + "type": "string", + "description": "国家" + }, + "province": { + "type": "string", + "description": "省份" + }, + "city": { + "type": "string", + "description": "城市" + }, + "college": { + "type": "string", + "description": "学校" + }, + "is_qq_vip": { + "type": "boolean", + "description": "普通会员状态" + }, + "is_vip": { + "type": "boolean", + "description": "超级会员状态,兼容 NapCat;不可用时省略" + }, + "is_years_vip": { + "type": "boolean", + "description": "年费会员状态,不可用时省略" + }, + "vip_level": { + "type": "integer", + "description": "会员等级,不可用时省略" + }, + "privilege_icons": { + "type": "object", + "description": "业务图标;未返回该资料时省略整个字段,空列表表示没有该类图标", + "properties": { + "jump_url": { + "type": "string", + "description": "业务列表跳转地址" + }, + "open": { + "type": "array", + "description": "已开通业务", + "items": { + "type": "object", + "properties": { + "type": { + "type": "integer", + "description": "业务类型" + }, + "level": { + "type": "integer", + "description": "业务等级" + }, + "flag": { + "type": "integer", + "description": "服务端业务标志" + }, + "is_big": { + "type": "integer", + "description": "服务端大图标标志" + }, + "jump_url": { + "type": "string", + "description": "业务跳转地址" + }, + "icon_url": { + "type": "string", + "description": "普通图标地址" + }, + "deluxe_icon_url": { + "type": "string", + "description": "高级图标地址,可与普通图标同时存在" + } + } + } + }, + "closed": { + "type": "array", + "description": "未开通业务", + "items": { + "type": "object", + "properties": { + "type": { + "type": "integer", + "description": "业务类型" + }, + "level": { + "type": "integer", + "description": "业务等级" + }, + "flag": { + "type": "integer", + "description": "服务端业务标志" + }, + "is_big": { + "type": "integer", + "description": "服务端大图标标志" + }, + "jump_url": { + "type": "string", + "description": "业务跳转地址" + }, + "icon_url": { + "type": "string", + "description": "普通图标地址" + }, + "deluxe_icon_url": { + "type": "string", + "description": "高级图标地址,可与普通图标同时存在" + } + } + } + } + }, + "required": [ + "open", + "closed" + ] + }, + "user_id": { + "type": "integer", + "description": "QQ 号" + }, + "uid": { + "type": "string", + "description": "账号唯一标识(仅查到资料时返回)" + }, + "qid": { + "type": "string", + "description": "自定义账号标识(仅查到资料时返回)" + }, + "nickname": { + "type": "string", + "description": "昵称" + }, + "remark": { + "type": "string", + "description": "好友备注;非好友或未设置时为空字符串" + }, + "qq_level": { + "type": "integer", + "description": "QQ 等级(仅查到资料时返回)" + }, + "qqLevel": { + "type": "integer", + "description": "QQ 等级,同 qq_level" + }, + "reg_time": { + "type": "integer", + "description": "注册时间戳(秒),不可用时省略" + }, + "status": { + "type": "integer", + "description": "在线状态码" + }, + "extStatus": { + "type": "integer", + "description": "扩展状态码" + }, + "ext_status": { + "type": "integer", + "description": "扩展状态码(同 extStatus)" + }, + "batteryStatus": { + "type": "integer", + "description": "电量状态" + }, + "customStatus": { + "type": "object", + "description": "自定义状态", + "nullable": true + }, + "customStatusDescInfo": { + "type": "string", + "description": "自定义状态说明" + }, + "qidian_master_flag": { + "type": "integer", + "description": "企点主号标志,0 或 1;普通账号为 0" + }, + "qidian_crew_flag": { + "type": "integer", + "description": "企点员工标志,0 或 1;普通账号为 0" + }, + "qidian_crew_flag_2": { + "type": "integer", + "description": "企点保留标志,0 或 1;普通账号为 0" + }, + "qidian_enterprise_name": { + "type": "string", + "description": "企点企业名称;非企点账号或未获取到时为空字符串" + } + }, + "required": [ + "user_id", + "nickname", + "remark", + "sex", + "age", + "long_nick" + ] + }, + "examples": [ + { + "summary": "获取陌生人信息", + "params": { + "user_id": 10001 + }, + "notes": "替换为需要查询的 QQ 号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "QQ 号" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 1, + "description": "QQ 号", + "x-role": "user_id" + } + }, + "required": [ + "user_id" + ], + "additionalProperties": true + }, + "category": "好友" + }, + { + "name": "get_unidirectional_friend_list", + "aliases": [], + "summary": "获取单向好友列表", + "returnsSchema": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": true, + "description": "服务端列表项原样透传,目前未归一化字段,不能假定与 get_friend_list 相同" + } + }, + "examples": [ + { + "summary": "获取单向好友列表", + "params": {} + } + ], + "readOnly": true, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_version_info", + "aliases": [], + "returns": "实现与协议版本信息。", + "returnsSchema": { + "type": "object", + "properties": { + "app_name": { + "type": "string", + "description": "实现名称(SnowLuma)" + }, + "app_version": { + "type": "string", + "description": "实现版本" + }, + "protocol_version": { + "type": "string", + "description": "OneBot 协议版本" + } + }, + "required": [ + "app_name", + "app_version", + "protocol_version" + ] + }, + "examples": [ + { + "summary": "基本调用", + "params": {} + } + ], + "readOnly": true, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "信息" + }, + { + "name": "group_poke", + "aliases": [], + "summary": "群拍一拍", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "群拍一拍", + "params": { + "group_id": 20001, + "user_id": 10001 + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "member_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "QQ 号" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "user_id": { + "type": "integer", + "minimum": 1, + "description": "QQ 号", + "x-role": "member_id" + } + }, + "required": [ + "group_id", + "user_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "like_qzone", + "aliases": [], + "summary": "给一条说说点赞(QQ 空间)", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "给一条说说点赞(QQ 空间)", + "params": { + "tid": "", + "target_uin": 10001 + }, + "notes": "tid 来自 get_qzone_msg_list;操作需有该说说的访问或管理权限。" + } + ], + "readOnly": false, + "params": [ + { + "name": "tid", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + }, + "desc": "说说 tid" + }, + { + "name": "target_uin", + "type": "uint", + "required": false, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "说说所属 QQ 号,省略则为机器人自己" + }, + { + "name": "abstime", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "desc": "说说发表时间(unix 秒),传真实值更可靠", + "default": 0, + "role": "timestamp" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "tid": { + "type": "string", + "minLength": 1, + "description": "说说 tid" + }, + "target_uin": { + "type": "integer", + "minimum": 1, + "description": "说说所属 QQ 号,省略则为机器人自己", + "x-role": "user_id" + }, + "abstime": { + "type": "integer", + "minimum": 0, + "description": "说说发表时间(unix 秒),传真实值更可靠", + "default": 0, + "x-role": "timestamp" + } + }, + "required": [ + "tid" + ], + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "list_filesets", + "aliases": [], + "summary": "列出当前账号的所有闪传文件集", + "returnsSchema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fileset_id": { + "type": "string" + }, + "file_name": { + "type": "string" + }, + "orig_name": { + "type": "string" + }, + "size": { + "type": "number", + "description": "文件字节数;此接口字段名为 size" + }, + "share_url": { + "type": "string" + }, + "file_id": { + "type": "string" + }, + "download_url": { + "type": "string" + } + }, + "required": [ + "fileset_id", + "file_name", + "orig_name", + "size", + "share_url", + "file_id", + "download_url" + ] + } + }, + "examples": [ + { + "summary": "列出当前账号的所有闪传文件集", + "params": {} + } + ], + "readOnly": false, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "mark_group_msg_as_read", + "aliases": [], + "summary": "标记群消息已读", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "标记群消息已读", + "params": { + "message_id": -123456, + "group_id": 20001 + }, + "notes": "使用消息事件或发送结果中的真实 message_id,负值合法;消息须在当前账号的消息存储中可查询。" + } + ], + "readOnly": false, + "params": [ + { + "name": "message_id", + "type": "messageId", + "required": true, + "role": "message_id", + "schema": { + "type": "integer", + "not": { + "const": 0 + } + } + }, + { + "name": "group_id", + "type": "uint", + "required": false, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "not": { + "const": 0 + }, + "x-role": "message_id" + }, + "group_id": { + "type": "integer", + "minimum": 1, + "x-role": "group_id" + } + }, + "required": [ + "message_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "mark_msg_as_read", + "aliases": [], + "summary": "标记消息已读(群聊/私聊自动路由)", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "标记消息已读(群聊/私聊自动路由)", + "params": { + "message_id": -123456 + }, + "notes": "使用消息事件或发送结果中的真实 message_id,负值合法;消息须在当前账号的消息存储中可查询。" + } + ], + "readOnly": false, + "params": [ + { + "name": "message_id", + "type": "messageId", + "required": true, + "role": "message_id", + "schema": { + "type": "integer", + "not": { + "const": 0 + } + } + }, + { + "name": "target_id", + "type": "uint", + "required": false, + "schema": { + "type": "integer", + "minimum": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "not": { + "const": 0 + }, + "x-role": "message_id" + }, + "target_id": { + "type": "integer", + "minimum": 1 + } + }, + "required": [ + "message_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "mark_private_msg_as_read", + "aliases": [], + "summary": "标记私聊消息已读", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "标记私聊消息已读", + "params": { + "message_id": -123456, + "user_id": 10001 + }, + "notes": "使用消息事件或发送结果中的真实 message_id,负值合法;消息须在当前账号的消息存储中可查询。" + } + ], + "readOnly": false, + "params": [ + { + "name": "message_id", + "type": "messageId", + "required": true, + "role": "message_id", + "schema": { + "type": "integer", + "not": { + "const": 0 + } + } + }, + { + "name": "user_id", + "type": "uint", + "required": false, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "not": { + "const": 0 + }, + "x-role": "message_id" + }, + "user_id": { + "type": "integer", + "minimum": 1, + "x-role": "user_id" + } + }, + "required": [ + "message_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "modify_custom_face", + "aliases": [], + "summary": "修改收藏表情备注", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "修改收藏表情备注", + "params": { + "emoji_id": "", + "desc": "常用表情" + }, + "notes": "emoji_id 来自 fetch_custom_face_detail。" + } + ], + "readOnly": false, + "params": [ + { + "name": "emoji_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "desc", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "emoji_id": { + "type": "string", + "minLength": 1 + }, + "desc": { + "type": "string", + "default": "" + } + }, + "required": [ + "emoji_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "move_custom_face_to_front", + "aliases": [], + "summary": "收藏表情移到最前", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "收藏表情移到最前", + "params": { + "emoji_id": "" + }, + "notes": "emoji_id 来自 fetch_custom_face_detail。" + } + ], + "readOnly": false, + "params": [ + { + "name": "emoji_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "emoji_id": { + "type": "string", + "minLength": 1 + } + }, + "required": [ + "emoji_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "move_group_file", + "aliases": [], + "summary": "移动群文件", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "移动群文件", + "params": { + "group_id": 20001, + "file_id": "", + "parent_directory": "/", + "target_directory": "" + }, + "notes": "目录和文件标识均来自该群文件列表。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "file_id", + "type": "string", + "required": true, + "role": "file_id", + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "parent_directory", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "target_directory", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "file_id": { + "type": "string", + "minLength": 1, + "x-role": "file_id" + }, + "parent_directory": { + "type": "string", + "minLength": 1 + }, + "target_directory": { + "type": "string", + "minLength": 1 + } + }, + "required": [ + "group_id", + "file_id", + "parent_directory", + "target_directory" + ], + "additionalProperties": true + }, + "category": "群文件" + }, + { + "name": "nc_get_packet_status", + "aliases": [], + "summary": "获取 packet 状态(占位)", + "returns": "占位实现,恒返回 null。", + "returnsSchema": { + "type": "null", + "description": "packet 状态(占位,恒 null)" + }, + "examples": [ + { + "summary": "获取 packet 状态(占位)", + "notes": "兼容占位接口,当前始终返回 null,不提供实际收发统计。", + "params": {} + } + ], + "readOnly": true, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "nc_get_user_status", + "aliases": [], + "summary": "获取用户在线/扩展状态", + "returns": "{ status, ext_status }:用户在线状态码与扩展状态码。", + "returnsSchema": { + "type": "object", + "properties": { + "status": { + "type": "integer", + "description": "在线状态码" + }, + "ext_status": { + "type": "integer", + "description": "扩展状态码" + } + }, + "required": [ + "status", + "ext_status" + ] + }, + "examples": [ + { + "summary": "获取用户在线/扩展状态", + "params": { + "user_id": 10001 + }, + "notes": "替换为需要查询的 QQ 号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 1, + "x-role": "user_id" + } + }, + "required": [ + "user_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "ocr_image", + "aliases": [ + ".ocr_image" + ], + "summary": "OCR 图片(服务端,需图片 URL 或已缓存的图片 file_id)", + "returns": "{ texts, language }:识别文本数组(含置信度与坐标)与识别语言。", + "returnsSchema": { + "type": "object", + "properties": { + "texts": { + "type": "array", + "description": "识别出的文本块", + "items": { + "type": "object", + "properties": { + "text": { + "type": "string", + "description": "文本内容" + }, + "confidence": { + "type": "number", + "description": "置信度" + }, + "coordinates": { + "type": "array", + "description": "文本框顶点坐标", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number", + "description": "X 坐标" + }, + "y": { + "type": "number", + "description": "Y 坐标" + } + }, + "required": [ + "x", + "y" + ] + } + } + }, + "required": [ + "text", + "confidence", + "coordinates" + ] + } + }, + "language": { + "type": "string", + "description": "识别语言" + } + }, + "required": [ + "texts", + "language" + ] + }, + "examples": [ + { + "summary": "OCR 图片(服务端,需图片 URL 或已缓存的图片 file_id)", + "params": { + "image": "https://example.com/image.png" + }, + "notes": "替换为实际可访问的图片地址或已缓存图片标识;不支持本地路径和 base64。" + } + ], + "readOnly": true, + "params": [ + { + "name": "image", + "type": "string", + "required": true, + "role": "image", + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "image": { + "type": "string", + "minLength": 1, + "x-role": "image" + } + }, + "required": [ + "image" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "rename_flash_file", + "aliases": [], + "summary": "重命名闪传文件", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "重命名闪传文件", + "params": { + "fileset_id": "", + "new_name": "新资料包" + }, + "notes": "fileset_id 来自 create_flash_task、get_fileset_id 或 list_filesets,替换为当前账号可访问的文件集。" + } + ], + "readOnly": false, + "params": [ + { + "name": "fileset_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "new_name", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "fileset_id": { + "type": "string", + "minLength": 1 + }, + "new_name": { + "type": "string", + "minLength": 1 + } + }, + "required": [ + "fileset_id", + "new_name" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "rename_group_file", + "aliases": [], + "summary": "重命名群文件", + "returnsSchema": { + "type": "object", + "properties": { + "ok": { + "const": true + } + }, + "required": [ + "ok" + ] + }, + "examples": [ + { + "summary": "重命名群文件", + "params": { + "group_id": 20001, + "file_id": "", + "current_parent_directory": "/", + "new_name": "新文件名.pdf" + }, + "notes": "file_id 来自群文件列表,目录必须是文件当前所在目录。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "file_id", + "type": "string", + "required": true, + "role": "file_id", + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "current_parent_directory", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "/" + }, + { + "name": "new_name", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "file_id": { + "type": "string", + "minLength": 1, + "x-role": "file_id" + }, + "current_parent_directory": { + "type": "string", + "default": "/" + }, + "new_name": { + "type": "string", + "minLength": 1 + } + }, + "required": [ + "group_id", + "file_id", + "new_name" + ], + "additionalProperties": true + }, + "category": "群文件" + }, + { + "name": "rename_group_file_folder", + "aliases": [], + "summary": "重命名群文件夹", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "重命名群文件夹", + "params": { + "group_id": 20001, + "folder_id": "", + "new_folder_name": "课程资料" + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "folder_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "new_folder_name", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + }, + { + "name": "name", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "folder_id": { + "type": "string", + "minLength": 1 + }, + "new_folder_name": { + "type": "string", + "default": "" + }, + "name": { + "type": "string", + "default": "" + } + }, + "required": [ + "group_id", + "folder_id" + ], + "additionalProperties": true + }, + "category": "群文件" + }, + { + "name": "reply_qzone_public_feed", + "aliases": [], + "summary": "回复推荐动态的评论或其中某条回复", + "returns": "上游回复结果,包含新回复,保留未知字段。", + "returnsSchema": { + "type": "object", + "additionalProperties": true + }, + "examples": [ + { + "summary": "回复一条评论", + "params": { + "feed": { + "cell_common": { + "union_id": { + "uf_key": "", + "ugc_id": "", + "feed_id": "", + "ext_ids": [] + }, + "cur_like_key": "", + "domain_type": 3 + }, + "cell_feed_transfer": {}, + "cell_user_info": { + "user": { + "uin": "10001", + "uid": "", + "nick": "" + } + } + }, + "comment": { + "id": "", + "user": { + "uin": "", + "uid": "", + "nick": "" + }, + "like": { + "id": "", + "count": 0, + "status": 0 + }, + "reply_attach_info": "" + }, + "content": "感谢回复" + }, + "notes": "feed 必须原样取自 get_qzone_public_feeds 的 feeds 数组,不能用旧说说 tid 拼造;示例中的占位字段须整体替换。 comment 可取 get_qzone_public_feed_detail 返回的 feed.feed.cell_comment.comments,或后续评论页;保留完整对象。" + }, + { + "summary": "回复评论中的某条回复", + "params": { + "feed": { + "cell_common": { + "union_id": { + "uf_key": "", + "ugc_id": "", + "feed_id": "", + "ext_ids": [] + }, + "cur_like_key": "", + "domain_type": 3 + }, + "cell_feed_transfer": {}, + "cell_user_info": { + "user": { + "uin": "10001", + "uid": "", + "nick": "" + } + } + }, + "comment": { + "id": "", + "user": { + "uin": "", + "uid": "", + "nick": "" + }, + "like": { + "id": "", + "count": 0, + "status": 0 + }, + "reply_attach_info": "" + }, + "content": [ + { + "type": 0, + "content": "我也这么认为" + } + ], + "reply": { + "id": "", + "user": { + "uin": "", + "uid": "", + "nick": "" + }, + "like": { + "id": "", + "count": 0, + "status": 0 + } + } + }, + "notes": "feed 必须原样取自 get_qzone_public_feeds 的 feeds 数组,不能用旧说说 tid 拼造;示例中的占位字段须整体替换。 comment 可取 get_qzone_public_feed_detail 返回的 feed.feed.cell_comment.comments,或后续评论页;保留完整对象。 reply 使用该评论下的完整回复对象。" + } + ], + "readOnly": false, + "params": [ + { + "name": "feed", + "type": "object", + "required": true, + "schema": { + "type": "object", + "additionalProperties": true + }, + "desc": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + }, + { + "name": "comment", + "type": "object", + "required": true, + "schema": { + "type": "object", + "additionalProperties": true + }, + "desc": "详情或评论页返回的完整评论对象,保留 user 等原始字段" + }, + { + "name": "content", + "type": "string | object[]", + "required": true, + "schema": { + "anyOf": [ + { + "type": "string", + "minLength": 1 + }, + { + "type": "array", + "minItems": 1, + "items": { + "type": "object", + "additionalProperties": true + } + } + ] + }, + "desc": "非空文本,或非空上游 RichItem 对象数组;字符串始终原样发送,富文本请直接传对象数组,不是 OneBot 消息段" + }, + { + "name": "reply", + "type": "object", + "required": false, + "schema": { + "type": "object", + "additionalProperties": true + }, + "desc": "评论或回复页返回的完整回复对象,保留 user 等原始字段" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "feed": { + "type": "object", + "additionalProperties": true, + "description": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + }, + "comment": { + "type": "object", + "additionalProperties": true, + "description": "详情或评论页返回的完整评论对象,保留 user 等原始字段" + }, + "content": { + "anyOf": [ + { + "type": "string", + "minLength": 1 + }, + { + "type": "array", + "minItems": 1, + "items": { + "type": "object", + "additionalProperties": true + } + } + ], + "description": "非空文本,或非空上游 RichItem 对象数组;字符串始终原样发送,富文本请直接传对象数组,不是 OneBot 消息段" + }, + "reply": { + "type": "object", + "additionalProperties": true, + "description": "评论或回复页返回的完整回复对象,保留 user 等原始字段" + } + }, + "required": [ + "feed", + "comment", + "content" + ], + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "request_decrypt_key", + "aliases": [], + "summary": "请求数据库解密密钥", + "returnsSchema": { + "type": "object", + "properties": { + "db_key": { + "type": "string", + "description": "数据库密钥,敏感信息" + } + }, + "required": [ + "db_key" + ] + }, + "examples": [ + { + "summary": "请求数据库解密密钥", + "params": { + "db_path": "/path/to/account/nt_msg.db" + }, + "notes": "路径位于 SnowLuma 服务端,必须指向当前账号可用的数据库;返回值是敏感密钥。" + } + ], + "readOnly": false, + "params": [ + { + "name": "db_path", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "db_path": { + "type": "string", + "minLength": 1 + } + }, + "required": [ + "db_path" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "search_sys_faces", + "aliases": [], + "summary": "搜索 QQ 系统表情", + "returns": "匹配编号、名称、别名或分组名的表情列表。", + "returnsSchema": { + "type": "object", + "properties": { + "faces": { + "type": "array", + "items": { + "type": "object", + "properties": { + "q_sid": { + "type": "string", + "description": "QQ 表情目录标识(部分 emoji 为 Unicode 表情字符串)" + }, + "q_des": { + "type": "string", + "description": "表情描述" + }, + "em_code": { + "type": "string" + }, + "q_cid": { + "type": [ + "integer", + "null" + ] + }, + "ani_sticker_type": { + "type": [ + "integer", + "null" + ] + }, + "ani_sticker_pack_id": { + "type": [ + "integer", + "null" + ] + }, + "ani_sticker_id": { + "type": [ + "integer", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + }, + "emoji_name_alias": { + "type": "array", + "items": { + "type": "string" + } + }, + "ani_sticker_width": { + "type": [ + "integer", + "null" + ] + }, + "ani_sticker_height": { + "type": [ + "integer", + "null" + ] + }, + "is_super": { + "type": "boolean", + "description": "是否使用超级表情格式" + } + }, + "required": [ + "q_sid", + "q_des", + "em_code", + "q_cid", + "ani_sticker_type", + "ani_sticker_pack_id", + "ani_sticker_id", + "url", + "emoji_name_alias", + "ani_sticker_width", + "ani_sticker_height", + "is_super" + ] + } + } + }, + "required": [ + "faces" + ] + }, + "examples": [ + { + "summary": "搜索 QQ 系统表情", + "params": { + "query": "微笑" + } + } + ], + "readOnly": true, + "params": [ + { + "name": "query", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + }, + "desc": "编号、名称、别名或分组名" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "query": { + "type": "string", + "minLength": 1, + "description": "编号、名称、别名或分组名" + } + }, + "required": [ + "query" + ], + "additionalProperties": true + }, + "category": "系统表情" + }, + { + "name": "send_ark_share", + "aliases": [], + "summary": "分享用户/群 Ark 卡片(NapCat 标准名)", + "returns": "{ arkMsg }:服务端生成的推荐联系人 Ark 卡片 JSON 字符串。", + "returnsSchema": { + "type": "object", + "properties": { + "arkMsg": { + "type": "string", + "description": "Ark 卡片 JSON 字符串" + } + }, + "required": [ + "arkMsg" + ] + }, + "examples": [ + { + "summary": "分享用户/群 Ark 卡片(NapCat 标准名)", + "params": { + "user_id": 10001 + }, + "notes": "生成联系人分享卡片;返回卡片数据,不等同于发送到聊天。" + } + ], + "readOnly": true, + "params": [ + { + "name": "user_id", + "type": "uint", + "required": false, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "group_id", + "type": "uint", + "required": false, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "phone_number", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 1, + "x-role": "user_id" + }, + "group_id": { + "type": "integer", + "minimum": 1, + "x-role": "group_id" + }, + "phone_number": { + "type": "string", + "default": "" + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "send_custom_face", + "aliases": [], + "summary": "发送账号收藏表情(emoji_id 或 MD5),保留表情显示样式", + "returns": "{ message_id: number }", + "returnsSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647, + "not": { + "const": 0 + }, + "description": "非零有符号 32 位消息 ID,负值合法;必须原样保留" + } + }, + "required": [ + "message_id" + ] + }, + "examples": [ + { + "summary": "发送账号收藏表情(emoji_id 或 MD5),保留表情显示样式", + "params": { + "group_id": 20001, + "emoji_id": "" + }, + "notes": "群聊和私聊目标只能提供一个;emoji_id 来自 fetch_custom_face_detail。" + } + ], + "readOnly": false, + "params": [ + { + "name": "emoji_id", + "type": "string", + "required": true, + "schema": { + "type": "string" + }, + "desc": "当前账号收藏表情的完整 ID 或 32 位 MD5" + }, + { + "name": "group_id", + "type": "uint", + "required": false, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "目标群号;与 user_id 二选一" + }, + { + "name": "user_id", + "type": "uint", + "required": false, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "目标 QQ 号;与 group_id 二选一" + }, + { + "name": "reply_to", + "type": "messageId", + "required": false, + "role": "message_id", + "schema": { + "type": "integer", + "not": { + "const": 0 + } + }, + "desc": "可选回复消息 ID" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "emoji_id": { + "type": "string", + "description": "当前账号收藏表情的完整 ID 或 32 位 MD5" + }, + "group_id": { + "type": "integer", + "minimum": 1, + "description": "目标群号;与 user_id 二选一", + "x-role": "group_id" + }, + "user_id": { + "type": "integer", + "minimum": 1, + "description": "目标 QQ 号;与 group_id 二选一", + "x-role": "user_id" + }, + "reply_to": { + "type": "integer", + "not": { + "const": 0 + }, + "description": "可选回复消息 ID", + "x-role": "message_id" + } + }, + "required": [ + "emoji_id" + ], + "additionalProperties": true + }, + "category": "消息" + }, + { + "name": "send_flash_msg", + "aliases": [], + "summary": "发送闪传消息(私聊或群聊,引用 fileset_id 让对端下载)", + "returns": "{ message_id }", + "returnsSchema": { + "type": "object", + "properties": { + "message_id": { + "const": 0, + "description": "闪传分享不返回普通消息 ID,0 是占位值,不能用于查询或撤回" + } + }, + "required": [ + "message_id" + ] + }, + "examples": [ + { + "summary": "发送闪传消息(私聊或群聊,引用 fileset_id 让对端下载)", + "params": { + "fileset_id": "", + "user_id": 10001 + }, + "notes": "fileset_id 来自 create_flash_task、get_fileset_id 或 list_filesets,替换为当前账号可访问的文件集。 会发送分享消息;message_id=0 是占位值,不能用于撤回或查消息。" + } + ], + "readOnly": false, + "params": [ + { + "name": "fileset_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "user_id", + "type": "uint", + "required": false, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "group_id", + "type": "uint", + "required": false, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "fileset_id": { + "type": "string", + "minLength": 1 + }, + "user_id": { + "type": "integer", + "minimum": 1, + "x-role": "user_id" + }, + "group_id": { + "type": "integer", + "minimum": 1, + "x-role": "group_id" + } + }, + "required": [ + "fileset_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "send_forward_msg", + "aliases": [], + "summary": "发送合并转发(按 message_type/群号自动路由)", + "returns": "{ message_id, res_id, forward_id }", + "returnsSchema": { + "type": "object", + "properties": { + "message_id": { + "anyOf": [ + { + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647, + "not": { + "const": 0 + }, + "description": "非零有符号 32 位消息 ID,负值合法;必须原样保留" + }, + { + "const": 0 + } + ], + "description": "已发送时是非零有符号消息 ID;未提供目标、仅上传资源时为 0" + }, + "res_id": { + "type": "string" + }, + "forward_id": { + "type": "string" + } + }, + "required": [ + "message_id", + "res_id", + "forward_id" + ] + }, + "examples": [ + { + "summary": "发送合并转发(按 message_type/群号自动路由)", + "params": { + "group_id": 20001, + "messages": [ + { + "type": "node", + "data": { + "user_id": 10001, + "nickname": "示例用户", + "content": [ + { + "type": "text", + "data": { + "text": "转发内容" + } + } + ] + } + } + ] + }, + "notes": "替换目标群号;nodes 是自定义转发节点数组。send_forward_msg 不提供目标时仅上传资源并返回 message_id=0。" + } + ], + "readOnly": false, + "params": [ + { + "name": "messages", + "type": "message", + "required": false, + "schema": { + "description": "OneBot message: string | segment[] | object. In segment arrays, text segments whose text field is exactly \"\" are compatibility placeholders and do not count as sendable segments; missing, null, and whitespace-only text remain subject to normal validation." + }, + "desc": "转发节点数组;节点 content 内的 reply.data.message 可提供自定义引用内容(字符串或消息段),qq/time/seq 可选;仅用于转发内引用预览。" + }, + { + "name": "message", + "type": "message", + "required": false, + "schema": { + "description": "OneBot message: string | segment[] | object. In segment arrays, text segments whose text field is exactly \"\" are compatibility placeholders and do not count as sendable segments; missing, null, and whitespace-only text remain subject to normal validation." + }, + "desc": "转发节点数组;节点 content 内的 reply.data.message 可提供自定义引用内容(字符串或消息段),qq/time/seq 可选;仅用于转发内引用预览。" + }, + { + "name": "message_type", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "group_id", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + } + }, + { + "name": "user_id", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + } + }, + { + "name": "source", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "summary", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "prompt", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "news", + "type": "raw", + "required": false, + "schema": {} + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "messages": { + "description": "转发节点数组;节点 content 内的 reply.data.message 可提供自定义引用内容(字符串或消息段),qq/time/seq 可选;仅用于转发内引用预览。" + }, + "message": { + "description": "转发节点数组;节点 content 内的 reply.data.message 可提供自定义引用内容(字符串或消息段),qq/time/seq 可选;仅用于转发内引用预览。" + }, + "message_type": { + "type": "string" + }, + "group_id": { + "type": "integer", + "minimum": 0 + }, + "user_id": { + "type": "integer", + "minimum": 0 + }, + "source": { + "type": "string" + }, + "summary": { + "type": "string" + }, + "prompt": { + "type": "string" + }, + "news": {} + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "send_group_ai_record", + "aliases": [], + "summary": "发送 AI 语音到群", + "returns": "{ message_id }:已发送 AI 语音的 OneBot 消息 ID。", + "returnsSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647, + "not": { + "const": 0 + }, + "description": "非零有符号 32 位消息 ID,负值合法;必须原样保留" + } + }, + "required": [ + "message_id" + ] + }, + "examples": [ + { + "summary": "发送 AI 语音到群", + "params": { + "group_id": 20001, + "character": "", + "text": "你好", + "chat_type": 1 + }, + "notes": "character 原样使用 get_ai_characters 的 character_id;send_group_ai_record 会直接发送语音。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "character", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "text", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "chat_type", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "default": 1 + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "character": { + "type": "string", + "minLength": 1 + }, + "text": { + "type": "string", + "minLength": 1 + }, + "chat_type": { + "type": "integer", + "minimum": 0, + "default": 1 + } + }, + "required": [ + "group_id", + "character", + "text" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "send_group_ark_share", + "aliases": [], + "summary": "分享群 Ark 卡片(NapCat 标准名)", + "returns": "服务端生成的群推荐 Ark 卡片 JSON 字符串。", + "returnsSchema": { + "type": "string", + "description": "群 Ark 卡片 JSON 字符串" + }, + "examples": [ + { + "summary": "分享群 Ark 卡片(NapCat 标准名)", + "params": { + "group_id": 20001 + }, + "notes": "生成群分享卡片;返回卡片数据,不等同于发送到聊天。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "x-role": "group_id" + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "send_group_forward_msg", + "aliases": [], + "summary": "发送群合并转发", + "returns": "{ message_id, res_id, forward_id }", + "returnsSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647, + "not": { + "const": 0 + }, + "description": "非零有符号 32 位消息 ID,负值合法;必须原样保留" + }, + "res_id": { + "type": "string" + }, + "forward_id": { + "type": "string" + } + }, + "required": [ + "message_id", + "res_id", + "forward_id" + ] + }, + "examples": [ + { + "summary": "发送群合并转发", + "params": { + "group_id": 20001, + "messages": [ + { + "type": "node", + "data": { + "user_id": 10001, + "nickname": "示例用户", + "content": [ + { + "type": "text", + "data": { + "text": "转发内容" + } + } + ] + } + } + ] + }, + "notes": "替换目标群号;nodes 是自定义转发节点数组。send_forward_msg 不提供目标时仅上传资源并返回 message_id=0。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "messages", + "type": "message", + "required": false, + "schema": { + "description": "OneBot message: string | segment[] | object. In segment arrays, text segments whose text field is exactly \"\" are compatibility placeholders and do not count as sendable segments; missing, null, and whitespace-only text remain subject to normal validation." + }, + "desc": "转发节点数组;节点 content 内的 reply.data.message 可提供自定义引用内容(字符串或消息段),qq/time/seq 可选;仅用于转发内引用预览。" + }, + { + "name": "message", + "type": "message", + "required": false, + "schema": { + "description": "OneBot message: string | segment[] | object. In segment arrays, text segments whose text field is exactly \"\" are compatibility placeholders and do not count as sendable segments; missing, null, and whitespace-only text remain subject to normal validation." + }, + "desc": "转发节点数组;节点 content 内的 reply.data.message 可提供自定义引用内容(字符串或消息段),qq/time/seq 可选;仅用于转发内引用预览。" + }, + { + "name": "source", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "summary", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "prompt", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "news", + "type": "raw", + "required": false, + "schema": {} + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "messages": { + "description": "转发节点数组;节点 content 内的 reply.data.message 可提供自定义引用内容(字符串或消息段),qq/time/seq 可选;仅用于转发内引用预览。" + }, + "message": { + "description": "转发节点数组;节点 content 内的 reply.data.message 可提供自定义引用内容(字符串或消息段),qq/time/seq 可选;仅用于转发内引用预览。" + }, + "source": { + "type": "string" + }, + "summary": { + "type": "string" + }, + "prompt": { + "type": "string" + }, + "news": {} + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "send_group_msg", + "aliases": [], + "summary": "发送群消息", + "returns": "{ message_id: number }", + "returnsSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647, + "not": { + "const": 0 + }, + "description": "非零有符号 32 位消息 ID,负值合法;必须原样保留" + } + }, + "required": [ + "message_id" + ] + }, + "examples": [ + { + "summary": "发送群消息", + "params": { + "group_id": 20001, + "message": [ + { + "type": "text", + "data": { + "text": "你好" + } + } + ] + }, + "notes": "替换目标群号;成功返回的 message_id 可为负值。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "message", + "type": "message", + "required": true, + "schema": { + "description": "OneBot message: string | segment[] | object. In segment arrays, text segments whose text field is exactly \"\" are compatibility placeholders and do not count as sendable segments; missing, null, and whitespace-only text remain subject to normal validation." + } + }, + { + "name": "auto_escape", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": false + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "message": { + "description": "OneBot message: string | segment[] | object. In segment arrays, text segments whose text field is exactly \"\" are compatibility placeholders and do not count as sendable segments; missing, null, and whitespace-only text remain subject to normal validation." + }, + "auto_escape": { + "type": "boolean", + "default": false + } + }, + "required": [ + "group_id", + "message" + ], + "additionalProperties": true + }, + "category": "消息" + }, + { + "name": "send_like", + "aliases": [], + "summary": "点赞", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "点赞", + "params": { + "user_id": 10001, + "times": 1 + } + } + ], + "readOnly": false, + "params": [ + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "times", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "default": 1 + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 1, + "x-role": "user_id" + }, + "times": { + "type": "integer", + "minimum": 0, + "default": 1 + } + }, + "required": [ + "user_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "send_msg", + "aliases": [], + "summary": "发送消息(按 message_type/群号 自动路由群聊或私聊)", + "returns": "{ message_id: number }", + "returnsSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647, + "not": { + "const": 0 + }, + "description": "非零有符号 32 位消息 ID,负值合法;必须原样保留" + } + }, + "required": [ + "message_id" + ] + }, + "examples": [ + { + "summary": "发送消息(按 message_type/群号 自动路由群聊或私聊)", + "params": { + "message_type": "group", + "group_id": 20001, + "message": "你好" + }, + "notes": "必须提供对应目标;私聊使用 message_type=private 和 user_id。" + } + ], + "readOnly": false, + "params": [ + { + "name": "message", + "type": "message", + "required": true, + "schema": { + "description": "OneBot message: string | segment[] | object. In segment arrays, text segments whose text field is exactly \"\" are compatibility placeholders and do not count as sendable segments; missing, null, and whitespace-only text remain subject to normal validation." + } + }, + { + "name": "message_type", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "group_id", + "type": "uint", + "required": false, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "user_id", + "type": "uint", + "required": false, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "auto_escape", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": false + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "message": { + "description": "OneBot message: string | segment[] | object. In segment arrays, text segments whose text field is exactly \"\" are compatibility placeholders and do not count as sendable segments; missing, null, and whitespace-only text remain subject to normal validation." + }, + "message_type": { + "type": "string" + }, + "group_id": { + "type": "integer", + "minimum": 1, + "x-role": "group_id" + }, + "user_id": { + "type": "integer", + "minimum": 1, + "x-role": "user_id" + }, + "auto_escape": { + "type": "boolean", + "default": false + } + }, + "required": [ + "message" + ], + "additionalProperties": true + }, + "category": "消息" + }, + { + "name": "send_packet", + "aliases": [ + ".send_packet" + ], + "summary": "发送原始 SSO 包(cmd + hex data)", + "returnsSchema": { + "anyOf": [ + { + "type": "string", + "description": "rsp=true 时返回的十六进制响应正文" + }, + { + "type": "null", + "description": "rsp=false 时不等待响应,data 为 null" + } + ] + }, + "examples": [ + { + "summary": "发送原始 SSO 包(cmd + hex data)", + "params": { + "cmd": "", + "data": "", + "rsp": true + }, + "notes": "仅供有协议经验的调用方:cmd 和 data 必须成对替换为已验证的命令与十六进制请求;示例占位符不可直接发送。" + } + ], + "readOnly": false, + "params": [ + { + "name": "cmd", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "data", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + }, + { + "name": "rsp", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": true + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "cmd": { + "type": "string", + "minLength": 1 + }, + "data": { + "type": "string", + "default": "" + }, + "rsp": { + "type": "boolean", + "default": true + } + }, + "required": [ + "cmd" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "send_poke", + "aliases": [], + "summary": "拍一拍(群聊/私聊自动路由)", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "拍一拍(群聊/私聊自动路由)", + "params": { + "group_id": 20001, + "user_id": 10001 + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": false, + "params": [ + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "group_id", + "type": "uint", + "required": false, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 1, + "x-role": "user_id" + }, + "group_id": { + "type": "integer", + "minimum": 1, + "x-role": "group_id" + } + }, + "required": [ + "user_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "send_private_forward_msg", + "aliases": [], + "summary": "发送私聊合并转发", + "returns": "{ message_id, res_id, forward_id }", + "returnsSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647, + "not": { + "const": 0 + }, + "description": "非零有符号 32 位消息 ID,负值合法;必须原样保留" + }, + "res_id": { + "type": "string" + }, + "forward_id": { + "type": "string" + } + }, + "required": [ + "message_id", + "res_id", + "forward_id" + ] + }, + "examples": [ + { + "summary": "发送私聊合并转发", + "params": { + "user_id": 10001, + "messages": [ + { + "type": "node", + "data": { + "user_id": 10001, + "nickname": "示例用户", + "content": [ + { + "type": "text", + "data": { + "text": "转发内容" + } + } + ] + } + } + ] + }, + "notes": "替换目标好友 QQ 号。" + } + ], + "readOnly": false, + "params": [ + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "messages", + "type": "message", + "required": false, + "schema": { + "description": "OneBot message: string | segment[] | object. In segment arrays, text segments whose text field is exactly \"\" are compatibility placeholders and do not count as sendable segments; missing, null, and whitespace-only text remain subject to normal validation." + }, + "desc": "转发节点数组;节点 content 内的 reply.data.message 可提供自定义引用内容(字符串或消息段),qq/time/seq 可选;仅用于转发内引用预览。" + }, + { + "name": "message", + "type": "message", + "required": false, + "schema": { + "description": "OneBot message: string | segment[] | object. In segment arrays, text segments whose text field is exactly \"\" are compatibility placeholders and do not count as sendable segments; missing, null, and whitespace-only text remain subject to normal validation." + }, + "desc": "转发节点数组;节点 content 内的 reply.data.message 可提供自定义引用内容(字符串或消息段),qq/time/seq 可选;仅用于转发内引用预览。" + }, + { + "name": "source", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "summary", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "prompt", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "news", + "type": "raw", + "required": false, + "schema": {} + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 1, + "x-role": "user_id" + }, + "messages": { + "description": "转发节点数组;节点 content 内的 reply.data.message 可提供自定义引用内容(字符串或消息段),qq/time/seq 可选;仅用于转发内引用预览。" + }, + "message": { + "description": "转发节点数组;节点 content 内的 reply.data.message 可提供自定义引用内容(字符串或消息段),qq/time/seq 可选;仅用于转发内引用预览。" + }, + "source": { + "type": "string" + }, + "summary": { + "type": "string" + }, + "prompt": { + "type": "string" + }, + "news": {} + }, + "required": [ + "user_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "send_private_msg", + "aliases": [], + "summary": "发送私聊消息", + "returns": "{ message_id: number }", + "returnsSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647, + "not": { + "const": 0 + }, + "description": "非零有符号 32 位消息 ID,负值合法;必须原样保留" + } + }, + "required": [ + "message_id" + ] + }, + "examples": [ + { + "summary": "发送私聊消息", + "params": { + "user_id": 10001, + "message": "你好" + }, + "notes": "替换目标好友 QQ 号;临时会话需另传来源 group_id。" + } + ], + "readOnly": false, + "params": [ + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "message", + "type": "message", + "required": true, + "schema": { + "description": "OneBot message: string | segment[] | object. In segment arrays, text segments whose text field is exactly \"\" are compatibility placeholders and do not count as sendable segments; missing, null, and whitespace-only text remain subject to normal validation." + } + }, + { + "name": "group_id", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + } + }, + { + "name": "auto_escape", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": false + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 1, + "x-role": "user_id" + }, + "message": { + "description": "OneBot message: string | segment[] | object. In segment arrays, text segments whose text field is exactly \"\" are compatibility placeholders and do not count as sendable segments; missing, null, and whitespace-only text remain subject to normal validation." + }, + "group_id": { + "type": "integer", + "minimum": 0 + }, + "auto_escape": { + "type": "boolean", + "default": false + } + }, + "required": [ + "user_id", + "message" + ], + "additionalProperties": true + }, + "category": "消息" + }, + { + "name": "send_qzone_msg", + "aliases": [], + "summary": "发表说说(QQ 空间,支持纯文字或带图;传 images 自动上传;可设置查看权限)", + "returnsSchema": { + "type": "object", + "properties": { + "tid": { + "type": "string" + }, + "time": { + "type": "integer" + } + }, + "required": [ + "tid", + "time" + ] + }, + "examples": [ + { + "summary": "发表说说(QQ 空间,支持纯文字或带图;传 images 自动上传;可设置查看权限)", + "params": { + "content": "今天的学习记录", + "ugc_right": 64 + }, + "notes": "会发布说说;ugc_right=64 仅自己可见。16/128 还必须提供 target_uins。" + } + ], + "readOnly": false, + "params": [ + { + "name": "content", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + }, + "desc": "说说正文" + }, + { + "name": "images", + "type": "string[]", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "minLength": 1 + } + }, + "desc": "图片数组(可选),支持 file:// http:// base64://;自动上传" + }, + { + "name": "ugc_right", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "查看权限:1=所有人可见,4=好友可见,16=部分好友可见,64=仅自己可见,128=部分好友不可见", + "default": 1 + }, + { + "name": "target_uins", + "type": "uint[]", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "integer", + "minimum": 1 + } + }, + "desc": "权限作用 QQ 号数组;ugc_right=16 时表示可见名单,128 时表示不可见名单" + } + ], + "invariants": [ + "ugc_right must be one of 1, 4, 16, 64, 128", + "target_uins is required when ugc_right is 16 or 128" + ], + "inputSchema": { + "type": "object", + "properties": { + "content": { + "type": "string", + "minLength": 1, + "description": "说说正文" + }, + "images": { + "type": "array", + "items": { + "type": "string", + "minLength": 1 + }, + "description": "图片数组(可选),支持 file:// http:// base64://;自动上传" + }, + "ugc_right": { + "type": "integer", + "minimum": 1, + "description": "查看权限:1=所有人可见,4=好友可见,16=部分好友可见,64=仅自己可见,128=部分好友不可见", + "default": 1 + }, + "target_uins": { + "type": "array", + "items": { + "type": "integer", + "minimum": 1 + }, + "description": "权限作用 QQ 号数组;ugc_right=16 时表示可见名单,128 时表示不可见名单" + } + }, + "required": [ + "content" + ], + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "send_tuwen_ark", + "aliases": [], + "summary": "发送图文 Ark 卡片(私聊/群聊)", + "returns": "null", + "returnsSchema": { + "type": "null" + }, + "examples": [ + { + "summary": "发送图文 Ark 卡片(私聊/群聊)", + "params": { + "group_id": 20001, + "title": "学习资料", + "desc": "本周课程资料", + "jump_url": "https://example.com/course", + "preview_url": "https://example.com/cover.png" + }, + "notes": "替换目标群号及实际链接;会发送分享卡片。" + } + ], + "readOnly": false, + "params": [ + { + "name": "user_id", + "type": "uint", + "required": false, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "group_id", + "type": "uint", + "required": false, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "title", + "type": "string", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "desc", + "type": "string", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "summary", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "[分享]" + }, + { + "name": "preview_url", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "https://tangram-1251316161.file.myqcloud.com/files/20210721/e50a8e37e08f29bf1ffc7466e1950690.png" + }, + { + "name": "jump_url", + "type": "string", + "required": true, + "schema": { + "type": "string" + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 1, + "x-role": "user_id" + }, + "group_id": { + "type": "integer", + "minimum": 1, + "x-role": "group_id" + }, + "title": { + "type": "string" + }, + "desc": { + "type": "string" + }, + "summary": { + "type": "string", + "default": "[分享]" + }, + "preview_url": { + "type": "string", + "default": "https://tangram-1251316161.file.myqcloud.com/files/20210721/e50a8e37e08f29bf1ffc7466e1950690.png" + }, + "jump_url": { + "type": "string" + } + }, + "required": [ + "title", + "desc", + "jump_url" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "set_diy_online_status", + "aliases": [], + "summary": "设置自定义在线状态", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "设置自定义在线状态", + "params": { + "face_id": 14, + "face_type": 1, + "wording": "学习中" + } + } + ], + "readOnly": false, + "params": [ + { + "name": "face_id", + "type": "int", + "required": true, + "role": "face_id", + "schema": { + "type": "integer", + "minimum": 0 + } + }, + { + "name": "face_type", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "default": 1 + }, + { + "name": "wording", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "face_id": { + "type": "integer", + "minimum": 0, + "x-role": "face_id" + }, + "face_type": { + "type": "integer", + "minimum": 0, + "default": 1 + }, + "wording": { + "type": "string", + "default": "" + } + }, + "required": [ + "face_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "set_doubt_friends_add_request", + "aliases": [], + "summary": "处理可疑好友申请", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "处理可疑好友申请", + "params": { + "flag": "", + "approve": true + }, + "notes": "flag 使用 get_doubt_friends_add_request 返回项的 uid。" + } + ], + "readOnly": false, + "params": [ + { + "name": "flag", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "approve", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": true + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "flag": { + "type": "string", + "minLength": 1 + }, + "approve": { + "type": "boolean", + "default": true + } + }, + "required": [ + "flag" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "set_essence_msg", + "aliases": [], + "summary": "设置精华消息", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "设置精华消息", + "params": { + "message_id": -123456 + }, + "notes": "使用消息事件或发送结果中的真实 message_id,负值合法;消息须在当前账号的消息存储中可查询。" + } + ], + "readOnly": false, + "params": [ + { + "name": "message_id", + "type": "messageId", + "required": true, + "role": "message_id", + "schema": { + "type": "integer", + "not": { + "const": 0 + } + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "not": { + "const": 0 + }, + "x-role": "message_id" + } + }, + "required": [ + "message_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "set_friend_add_request", + "aliases": [], + "summary": "处理好友添加请求", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "处理好友添加请求", + "params": { + "flag": "", + "approve": true + }, + "notes": "flag 必须原样使用当前账号好友请求事件的 flag,不能根据 QQ 号构造。" + } + ], + "readOnly": false, + "params": [ + { + "name": "flag", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "approve", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": true + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "flag": { + "type": "string", + "minLength": 1 + }, + "approve": { + "type": "boolean", + "default": true + } + }, + "required": [ + "flag" + ], + "additionalProperties": true + }, + "category": "请求" + }, + { + "name": "set_friend_remark", + "aliases": [], + "summary": "设置好友备注", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "设置好友备注", + "params": { + "user_id": 10001, + "remark": "同学" + } + } + ], + "readOnly": false, + "params": [ + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "remark", + "type": "string", + "required": true, + "schema": { + "type": "string" + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 1, + "x-role": "user_id" + }, + "remark": { + "type": "string" + } + }, + "required": [ + "user_id", + "remark" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "set_friends_category", + "aliases": [], + "summary": "移动好友到指定分组", + "returns": "成功时返回空数据。", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "移动好友到指定分组", + "params": { + "uin": 10001, + "categoryName": "同学" + }, + "notes": "categoryId 与 categoryName 二选一。" + } + ], + "readOnly": false, + "params": [ + { + "name": "uin", + "type": "uint", + "required": true, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "要移动的好友 QQ 号" + }, + { + "name": "categoryId", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "desc": "目标分组 ID" + }, + { + "name": "categoryName", + "type": "string", + "required": false, + "schema": { + "type": "string", + "minLength": 1 + }, + "desc": "目标分组名称(必须唯一且完全匹配)" + } + ], + "invariants": [ + "exactly one of: categoryId | categoryName" + ], + "inputSchema": { + "type": "object", + "properties": { + "uin": { + "type": "integer", + "minimum": 1, + "description": "要移动的好友 QQ 号", + "x-role": "user_id" + }, + "categoryId": { + "type": "integer", + "minimum": 0, + "description": "目标分组 ID" + }, + "categoryName": { + "type": "string", + "minLength": 1, + "description": "目标分组名称(必须唯一且完全匹配)" + } + }, + "required": [ + "uin" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "set_group_add_option", + "aliases": [], + "summary": "设置加群选项", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "设置加群选项", + "params": { + "group_id": 20001, + "add_type": 2, + "group_question": "入群用途?", + "group_answer": "学习交流" + }, + "notes": "修改加群设置前先用 get_group_admin_settings 查看当前状态,并确认目标设置值。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "add_type", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "default": 0 + }, + { + "name": "group_question", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "group_answer", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "add_type": { + "type": "integer", + "minimum": 0, + "default": 0 + }, + "group_question": { + "type": "string" + }, + "group_answer": { + "type": "string" + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "set_group_add_request", + "aliases": [], + "summary": "处理加群请求", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "处理加群请求", + "params": { + "flag": "", + "sub_type": "add", + "approve": true + }, + "notes": "flag 和 sub_type 原样取自同一条群请求事件;邀请事件使用 invite。" + } + ], + "readOnly": false, + "params": [ + { + "name": "flag", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "sub_type", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "type", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "approve", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": true + }, + { + "name": "reason", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "flag": { + "type": "string", + "minLength": 1 + }, + "sub_type": { + "type": "string" + }, + "type": { + "type": "string" + }, + "approve": { + "type": "boolean", + "default": true + }, + "reason": { + "type": "string", + "default": "" + } + }, + "required": [ + "flag" + ], + "additionalProperties": true + }, + "category": "请求" + }, + { + "name": "set_group_admin", + "aliases": [], + "summary": "设置/取消管理员", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "设置/取消管理员", + "params": { + "group_id": 20001, + "user_id": 10001, + "enable": true + }, + "notes": "需要群主权限;会授予该成员管理员身份。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "member_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "QQ 号" + }, + { + "name": "enable", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": true + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "user_id": { + "type": "integer", + "minimum": 1, + "description": "QQ 号", + "x-role": "member_id" + }, + "enable": { + "type": "boolean", + "default": true + } + }, + "required": [ + "group_id", + "user_id" + ], + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "set_group_admin_permissions", + "aliases": [], + "summary": "设置指定管理员的撤回和移除成员权限", + "returnsSchema": { + "type": "null", + "description": "服务器确认请求后 data 为 null;不代表已经过客户端回读验证。可用 get_group_admin_permissions 查询。" + }, + "examples": [ + { + "summary": "允许管理员每日移除至多 10 人", + "params": { + "group_id": 20001, + "user_id": 10001, + "kick_member": true, + "kick_member_per_day": 10 + }, + "notes": "需要当前账号具有修改权限;不会授予管理员角色。仅修改显式字段。开启移除必须提供上限,0 表示不限;修改上限需同时传 kick_member=true。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "member_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "QQ 号" + }, + { + "name": "recall_member_message", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + } + }, + { + "name": "kick_member", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + } + }, + { + "name": "kick_member_per_day", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0, + "maximum": 200 + } + } + ], + "invariants": [ + "at least one of: recall_member_message, kick_member", + "kick_member=true requires kick_member_per_day: 0, 5, 10, 20, 50, 100 or 200", + "kick_member_per_day requires kick_member=true" + ], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "user_id": { + "type": "integer", + "minimum": 1, + "description": "QQ 号", + "x-role": "member_id" + }, + "recall_member_message": { + "type": "boolean" + }, + "kick_member": { + "type": "boolean" + }, + "kick_member_per_day": { + "type": "integer", + "minimum": 0, + "maximum": 200 + } + }, + "required": [ + "group_id", + "user_id" + ], + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "set_group_admin_receive_verify", + "aliases": [], + "summary": "设置指定管理员是否接收加群验证消息", + "returnsSchema": { + "type": "null", + "description": "服务器响应确认目标群和管理员后 data 为 null;未确认目标时返回错误。" + }, + "examples": [ + { + "summary": "开启接收验证消息", + "params": { + "group_id": 20001, + "user_id": 10001, + "enable": true + }, + "notes": "user_id 为目标管理员 QQ 号;需要当前账号具有修改权限。独立于撤回和移除成员权限。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "member_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "QQ 号" + }, + { + "name": "enable", + "type": "bool", + "required": true, + "schema": { + "type": "boolean" + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "user_id": { + "type": "integer", + "minimum": 1, + "description": "QQ 号", + "x-role": "member_id" + }, + "enable": { + "type": "boolean" + } + }, + "required": [ + "group_id", + "user_id", + "enable" + ], + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "set_group_album_media_like", + "aliases": [], + "returnsSchema": { + "type": "object", + "properties": { + "id": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": [ + "integer", + "null" + ] + } + } + }, + "examples": [ + { + "summary": "基本调用", + "params": { + "group_id": 20001, + "album_id": "", + "batch_id": "1700000000" + }, + "notes": "album_id 来自 get_group_album_list;lloc 或视频 id、batch_id 来自 get_group_album_media_list。替换群号及对应资源标识。 batch_id 必须是实际批次的十进制字符串。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "album_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "batch_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "lloc", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "album_id": { + "type": "string", + "minLength": 1 + }, + "batch_id": { + "type": "string", + "minLength": 1 + }, + "lloc": { + "type": "string" + } + }, + "required": [ + "group_id", + "album_id", + "batch_id" + ], + "additionalProperties": true + }, + "category": "群相册" + }, + { + "name": "set_group_anonymous", + "aliases": [], + "summary": "匿名开关(未实现,返回 ok)", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "匿名开关(未实现,返回 ok)", + "params": {}, + "notes": "兼容占位接口:当前返回成功但不会修改匿名设置。" + } + ], + "readOnly": false, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "set_group_anonymous_ban", + "aliases": [], + "summary": "匿名禁言(未实现,返回 ok)", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "匿名禁言(未实现,返回 ok)", + "params": {}, + "notes": "兼容占位接口:当前返回成功但不会修改匿名设置。" + } + ], + "readOnly": false, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "set_group_ban", + "aliases": [], + "summary": "禁言群成员(duration=0 解除)", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "禁言群成员(duration=0 解除)", + "params": { + "group_id": 20001, + "user_id": 10001, + "duration": 600 + }, + "notes": "替换群号和成员 QQ 号;操作是否允许取决于当前账号在该群的权限。 duration 为秒,0 表示解除禁言。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "member_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "QQ 号" + }, + { + "name": "duration", + "type": "int", + "required": false, + "role": "duration", + "schema": { + "type": "integer", + "minimum": 0 + }, + "default": 1800 + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "user_id": { + "type": "integer", + "minimum": 1, + "description": "QQ 号", + "x-role": "member_id" + }, + "duration": { + "type": "integer", + "minimum": 0, + "default": 1800, + "x-role": "duration" + } + }, + "required": [ + "group_id", + "user_id" + ], + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "set_group_card", + "aliases": [], + "summary": "设置群名片(空字符串清除)", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "设置群名片(空字符串清除)", + "params": { + "group_id": 20001, + "user_id": 10001, + "card": "示例群名片" + }, + "notes": "替换群号和成员 QQ 号;操作是否允许取决于当前账号在该群的权限。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "member_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "QQ 号" + }, + { + "name": "card", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "user_id": { + "type": "integer", + "minimum": 1, + "description": "QQ 号", + "x-role": "member_id" + }, + "card": { + "type": "string", + "default": "" + } + }, + "required": [ + "group_id", + "user_id" + ], + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "set_group_kick", + "aliases": [], + "summary": "踢出群成员", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "踢出群成员", + "params": { + "group_id": 20001, + "user_id": 10001, + "reject_add_request": false + }, + "notes": "替换群号和成员 QQ 号;操作是否允许取决于当前账号在该群的权限。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "member_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "QQ 号" + }, + { + "name": "reject_add_request", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": false + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "user_id": { + "type": "integer", + "minimum": 1, + "description": "QQ 号", + "x-role": "member_id" + }, + "reject_add_request": { + "type": "boolean", + "default": false + } + }, + "required": [ + "group_id", + "user_id" + ], + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "set_group_kick_members", + "aliases": [], + "summary": "批量踢出群成员", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "批量踢出群成员", + "params": { + "group_id": 20001, + "user_id": [ + 10001, + 10002 + ], + "reject_add_request": false + }, + "notes": "替换群号和成员 QQ 号;操作是否允许取决于当前账号在该群的权限。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "user_id", + "type": "uint[]", + "required": true, + "schema": { + "type": "array", + "items": { + "type": "integer", + "minimum": 1, + "x-role": "member_id" + }, + "minItems": 1 + } + }, + { + "name": "reject_add_request", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": false + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "user_id": { + "type": "array", + "items": { + "type": "integer", + "minimum": 1, + "x-role": "member_id" + }, + "minItems": 1 + }, + "reject_add_request": { + "type": "boolean", + "default": false + } + }, + "required": [ + "group_id", + "user_id" + ], + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "set_group_leave", + "aliases": [], + "summary": "退群", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "退群", + "params": { + "group_id": 20001 + }, + "notes": "会退出该群,请确认目标群号后调用。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "set_group_member_invite_policy", + "aliases": [], + "summary": "设置群成员邀请策略", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "设置群成员邀请策略", + "params": { + "group_id": 20001, + "policy": "require_approval" + }, + "notes": "替换群号和成员 QQ 号;操作是否允许取决于当前账号在该群的权限。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "policy", + "type": "enum", + "required": true, + "values": [ + "disabled", + "require_approval", + "no_approval", + "no_approval_under_100" + ], + "schema": { + "enum": [ + "disabled", + "require_approval", + "no_approval", + "no_approval_under_100" + ] + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "policy": { + "enum": [ + "disabled", + "require_approval", + "no_approval", + "no_approval_under_100" + ] + } + }, + "required": [ + "group_id", + "policy" + ], + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "set_group_member_permissions", + "aliases": [], + "summary": "设置群成员权限(仅群主可改)", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "设置群成员权限(仅群主可改)", + "params": { + "group_id": 20001, + "allow_member_upload_album": false + }, + "notes": "至少传一个权限字段;仅修改传入的权限,其余保持原样。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "allow_member_upload_album", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + } + }, + { + "name": "allow_member_temporary_session", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + } + }, + { + "name": "allow_member_create_group", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + } + } + ], + "invariants": [ + "at least one of: allow_member_upload_album, allow_member_temporary_session, allow_member_create_group" + ], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "allow_member_upload_album": { + "type": "boolean" + }, + "allow_member_temporary_session": { + "type": "boolean" + }, + "allow_member_create_group": { + "type": "boolean" + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "set_group_name", + "aliases": [], + "summary": "设置群名", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "设置群名", + "params": { + "group_id": 20001, + "group_name": "学习交流群" + }, + "notes": "替换群号和成员 QQ 号;操作是否允许取决于当前账号在该群的权限。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "group_name", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "group_name": { + "type": "string", + "default": "" + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "set_group_new_member_history_visibility", + "aliases": [], + "summary": "设置新成员是否可查看历史消息", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "设置新成员是否可查看历史消息", + "params": { + "group_id": 20001, + "visible": true + }, + "notes": "替换群号和成员 QQ 号;操作是否允许取决于当前账号在该群的权限。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "visible", + "type": "bool", + "required": true, + "schema": { + "type": "boolean" + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "visible": { + "type": "boolean" + } + }, + "required": [ + "group_id", + "visible" + ], + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "set_group_portrait", + "aliases": [], + "summary": "设置群头像", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "设置群头像", + "params": { + "group_id": 20001, + "file": "file:///path/to/avatar.png" + }, + "notes": "示例路径位于 SnowLuma 服务端,须替换为该服务可读取的实际文件。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "file", + "type": "string", + "required": true, + "role": "image", + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "file": { + "type": "string", + "minLength": 1, + "x-role": "image" + } + }, + "required": [ + "group_id", + "file" + ], + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "set_group_reaction", + "aliases": [], + "summary": "群聊表情回应", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "群聊表情回应", + "params": { + "message_id": -123456, + "group_id": 20001, + "code": "128077", + "is_set": true + }, + "notes": "使用消息事件或发送结果中的真实 message_id,负值合法;消息须在当前账号的消息存储中可查询。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": false, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "message_id", + "type": "messageId", + "required": true, + "role": "message_id", + "schema": { + "type": "integer", + "not": { + "const": 0 + } + } + }, + { + "name": "code", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "is_set", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": true + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "x-role": "group_id" + }, + "message_id": { + "type": "integer", + "not": { + "const": 0 + }, + "x-role": "message_id" + }, + "code": { + "type": "string", + "minLength": 1 + }, + "is_set": { + "type": "boolean", + "default": true + } + }, + "required": [ + "message_id", + "code" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "set_group_remark", + "aliases": [], + "summary": "设置群备注", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "设置群备注", + "params": { + "group_id": 20001, + "remark": "学习小组" + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "remark", + "type": "string", + "required": true, + "schema": { + "type": "string" + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "x-role": "group_id" + }, + "remark": { + "type": "string" + } + }, + "required": [ + "group_id", + "remark" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "set_group_robot_add_option", + "aliases": [], + "summary": "设置群机器人加群选项", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "设置群机器人加群选项", + "params": { + "group_id": 20001, + "robot_member_switch": 1, + "robot_member_examine": 1 + }, + "notes": "替换群号和成员 QQ 号;操作是否允许取决于当前账号在该群的权限。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "robot_member_switch", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + } + }, + { + "name": "robot_member_examine", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "robot_member_switch": { + "type": "integer", + "minimum": 0 + }, + "robot_member_examine": { + "type": "integer", + "minimum": 0 + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "set_group_search", + "aliases": [], + "summary": "设置群被搜索方式(群指纹 / 群号搜索开关)", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "设置群被搜索方式(群指纹 / 群号搜索开关)", + "params": { + "group_id": 20001, + "no_finger_open": 0, + "no_code_finger_open": 0 + }, + "notes": "替换群号;数值含义以当前群设置为准。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "no_finger_open", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + } + }, + { + "name": "no_code_finger_open", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "no_finger_open": { + "type": "integer", + "minimum": 0 + }, + "no_code_finger_open": { + "type": "integer", + "minimum": 0 + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "set_group_sign", + "aliases": [ + "send_group_sign" + ], + "summary": "群签到", + "returnsSchema": { + "type": "object", + "properties": {}, + "additionalProperties": false, + "description": "成功时为空对象 {},不是 null" + }, + "examples": [ + { + "summary": "群签到", + "params": { + "group_id": 20001 + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "set_group_special_title", + "aliases": [], + "summary": "设置群头衔", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "设置群头衔", + "params": { + "group_id": 20001, + "user_id": 10001, + "special_title": "学习委员" + }, + "notes": "替换群号和成员 QQ 号;操作是否允许取决于当前账号在该群的权限。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "member_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "QQ 号" + }, + { + "name": "special_title", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "user_id": { + "type": "integer", + "minimum": 1, + "description": "QQ 号", + "x-role": "member_id" + }, + "special_title": { + "type": "string", + "default": "" + } + }, + "required": [ + "group_id", + "user_id" + ], + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "set_group_todo", + "aliases": [], + "summary": "设置群待办", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "设置群待办", + "params": { + "group_id": 20001, + "message_id": -123456 + }, + "notes": "使用消息事件或发送结果中的真实 message_id,负值合法;消息须在当前账号的消息存储中可查询。 必须是该群的消息。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "message_id", + "type": "messageId", + "required": true, + "role": "message_id", + "schema": { + "type": "integer", + "not": { + "const": 0 + } + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "message_id": { + "type": "integer", + "not": { + "const": 0 + }, + "x-role": "message_id" + } + }, + "required": [ + "group_id", + "message_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "set_group_whole_ban", + "aliases": [], + "summary": "全员禁言开关", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "全员禁言开关", + "params": { + "group_id": 20001, + "enable": true + }, + "notes": "替换群号和成员 QQ 号;操作是否允许取决于当前账号在该群的权限。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "enable", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": true + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "enable": { + "type": "boolean", + "default": true + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "set_input_status", + "aliases": [], + "summary": "设置输入状态", + "returnsSchema": { + "type": "object", + "properties": {}, + "additionalProperties": false, + "description": "成功时为空对象 {},不是 null" + }, + "examples": [ + { + "summary": "设置输入状态", + "params": { + "user_id": 10001, + "event_type": 0 + } + } + ], + "readOnly": false, + "params": [ + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "event_type", + "type": "int", + "required": false, + "schema": { + "type": "integer" + }, + "default": 0 + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 1, + "x-role": "user_id" + }, + "event_type": { + "type": "integer", + "default": 0 + } + }, + "required": [ + "user_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "set_msg_emoji_like", + "aliases": [], + "summary": "设置消息表情回应", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "设置消息表情回应", + "params": { + "message_id": -123456, + "emoji_id": "128077", + "set": true + }, + "notes": "使用消息事件或发送结果中的真实 message_id,负值合法;消息须在当前账号的消息存储中可查询。" + } + ], + "readOnly": false, + "params": [ + { + "name": "message_id", + "type": "messageId", + "required": true, + "role": "message_id", + "schema": { + "type": "integer", + "not": { + "const": 0 + } + } + }, + { + "name": "emoji_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "set", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": true + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "not": { + "const": 0 + }, + "x-role": "message_id" + }, + "emoji_id": { + "type": "string", + "minLength": 1 + }, + "set": { + "type": "boolean", + "default": true + } + }, + "required": [ + "message_id", + "emoji_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "set_online_status", + "aliases": [], + "summary": "设置在线状态", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "设置在线状态", + "params": { + "status": 11, + "ext_status": 0, + "battery_status": 100 + }, + "notes": "修改当前账号状态;具体状态码须与目标状态对应。" + } + ], + "readOnly": false, + "params": [ + { + "name": "status", + "type": "int", + "required": true, + "schema": { + "type": "integer", + "not": { + "const": 0 + } + } + }, + { + "name": "ext_status", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "default": 0 + }, + { + "name": "battery_status", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "default": 100 + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "status": { + "type": "integer", + "not": { + "const": 0 + } + }, + "ext_status": { + "type": "integer", + "minimum": 0, + "default": 0 + }, + "battery_status": { + "type": "integer", + "minimum": 0, + "default": 100 + } + }, + "required": [ + "status" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "set_qq_avatar", + "aliases": [], + "summary": "设置 QQ 头像", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "设置 QQ 头像", + "params": { + "file": "file:///path/to/avatar.png" + }, + "notes": "示例路径位于 SnowLuma 服务端,须替换为该服务可读取的实际文件。" + } + ], + "readOnly": false, + "params": [ + { + "name": "file", + "type": "string", + "required": true, + "role": "image", + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "file": { + "type": "string", + "minLength": 1, + "x-role": "image" + } + }, + "required": [ + "file" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "set_qq_profile", + "aliases": [], + "summary": "设置 QQ 资料", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "设置 QQ 资料", + "params": { + "nickname": "示例昵称" + }, + "notes": "会修改当前账号的资料;只传入需要修改的字段。" + } + ], + "readOnly": false, + "params": [ + { + "name": "nickname", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "personal_note", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "sex", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0, + "maximum": 2 + }, + "desc": "0 未知,1 男,2 女" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "nickname": { + "type": "string" + }, + "personal_note": { + "type": "string" + }, + "sex": { + "type": "integer", + "minimum": 0, + "maximum": 2, + "description": "0 未知,1 男,2 女" + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "set_qzone_ban", + "aliases": [], + "summary": "拉黑或解除拉黑某人(修改机器人自身 QQ 空间黑名单;enable=true 拉黑,false 解除)", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "拉黑或解除拉黑某人(修改机器人自身 QQ 空间黑名单;enable=true 拉黑,false 解除)", + "params": { + "user_id": 10001, + "enable": true + }, + "notes": "修改当前账号空间黑名单。" + } + ], + "readOnly": false, + "params": [ + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "目标 QQ 号" + }, + { + "name": "enable", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "desc": "true 拉黑,false 解除拉黑", + "default": true + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 1, + "description": "目标 QQ 号", + "x-role": "user_id" + }, + "enable": { + "type": "boolean", + "description": "true 拉黑,false 解除拉黑", + "default": true + } + }, + "required": [ + "user_id" + ], + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "set_qzone_msg_right", + "aliases": [], + "summary": "修改一条已发说说的查看权限(QQ 空间,按 tid)", + "returns": "更新后的权限对象。", + "returnsSchema": { + "type": "object", + "properties": { + "ugc_right": { + "type": "integer", + "description": "更新后的查看权限" + } + }, + "required": [ + "ugc_right" + ] + }, + "examples": [ + { + "summary": "修改一条已发说说的查看权限(QQ 空间,按 tid)", + "params": { + "tid": "", + "ugc_right": 16, + "target_uins": [ + 10001 + ] + }, + "notes": "tid 来自 get_qzone_msg_list;操作需有该说说的访问或管理权限。 16 表示仅所选好友可见。" + } + ], + "readOnly": false, + "params": [ + { + "name": "tid", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + }, + "desc": "说说 tid(来自 get_qzone_msg_list / send_qzone_msg)" + }, + { + "name": "ugc_right", + "type": "int", + "required": true, + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "查看权限:1=所有人可见,4=好友可见,16=部分好友可见,64=仅自己可见,128=部分好友不可见" + }, + { + "name": "target_uins", + "type": "uint[]", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "integer", + "minimum": 1 + } + }, + "desc": "权限作用 QQ 号数组;ugc_right=16 时表示可见名单,128 时表示不可见名单" + } + ], + "invariants": [ + "ugc_right must be one of 1, 4, 16, 64, 128", + "target_uins is required when ugc_right is 16 or 128" + ], + "inputSchema": { + "type": "object", + "properties": { + "tid": { + "type": "string", + "minLength": 1, + "description": "说说 tid(来自 get_qzone_msg_list / send_qzone_msg)" + }, + "ugc_right": { + "type": "integer", + "minimum": 1, + "description": "查看权限:1=所有人可见,4=好友可见,16=部分好友可见,64=仅自己可见,128=部分好友不可见" + }, + "target_uins": { + "type": "array", + "items": { + "type": "integer", + "minimum": 1 + }, + "description": "权限作用 QQ 号数组;ugc_right=16 时表示可见名单,128 时表示不可见名单" + } + }, + "required": [ + "tid", + "ugc_right" + ], + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "set_qzone_profile", + "aliases": [], + "summary": "修改当前账号的 QQ 空间名称或说明", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "修改当前账号的空间名称和说明", + "params": { + "name": "我的空间", + "description": "记录日常" + }, + "notes": "仅修改提供的字段;空字符串表示清空对应字段。" + }, + { + "summary": "清空当前账号的空间说明", + "params": { + "description": "" + } + } + ], + "readOnly": false, + "params": [ + { + "name": "name", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "desc": "新的空间名称,空字符串表示清空,省略则保留" + }, + { + "name": "description", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "desc": "新的空间说明,空字符串表示清空,省略则保留" + } + ], + "invariants": [ + "at least one of: name, description" + ], + "inputSchema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "新的空间名称,空字符串表示清空,省略则保留" + }, + "description": { + "type": "string", + "description": "新的空间说明,空字符串表示清空,省略则保留" + } + }, + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "set_qzone_public_comment_like", + "aliases": [], + "summary": "点赞或取消赞推荐动态中的评论或回复", + "returns": "上游普通赞操作结果,保留未知字段。", + "returnsSchema": { + "type": "object", + "additionalProperties": true + }, + "examples": [ + { + "summary": "点赞一条评论", + "params": { + "feed": { + "cell_common": { + "union_id": { + "uf_key": "", + "ugc_id": "", + "feed_id": "", + "ext_ids": [] + }, + "cur_like_key": "", + "domain_type": 3 + }, + "cell_feed_transfer": {}, + "cell_user_info": { + "user": { + "uin": "10001", + "uid": "", + "nick": "" + } + } + }, + "comment": { + "id": "", + "user": { + "uin": "", + "uid": "", + "nick": "" + }, + "like": { + "id": "", + "count": 0, + "status": 0 + }, + "reply_attach_info": "" + } + }, + "notes": "feed 必须原样取自 get_qzone_public_feeds 的 feeds 数组,不能用旧说说 tid 拼造;示例中的占位字段须整体替换。 comment 可取 get_qzone_public_feed_detail 返回的 feed.feed.cell_comment.comments,或后续评论页;保留完整对象。 必须保留评论原始 like.id。" + }, + { + "summary": "取消赞某条回复", + "params": { + "feed": { + "cell_common": { + "union_id": { + "uf_key": "", + "ugc_id": "", + "feed_id": "", + "ext_ids": [] + }, + "cur_like_key": "", + "domain_type": 3 + }, + "cell_feed_transfer": {}, + "cell_user_info": { + "user": { + "uin": "10001", + "uid": "", + "nick": "" + } + } + }, + "comment": { + "id": "", + "user": { + "uin": "", + "uid": "", + "nick": "" + }, + "like": { + "id": "", + "count": 0, + "status": 0 + }, + "reply_attach_info": "" + }, + "reply": { + "id": "", + "user": { + "uin": "", + "uid": "", + "nick": "" + }, + "like": { + "id": "", + "count": 0, + "status": 0 + } + }, + "enable": false + }, + "notes": "feed 必须原样取自 get_qzone_public_feeds 的 feeds 数组,不能用旧说说 tid 拼造;示例中的占位字段须整体替换。 reply 使用该评论下的完整回复对象,保留其原始 like.id。" + } + ], + "readOnly": false, + "params": [ + { + "name": "feed", + "type": "object", + "required": true, + "schema": { + "type": "object", + "additionalProperties": true + }, + "desc": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + }, + { + "name": "comment", + "type": "object", + "required": true, + "schema": { + "type": "object", + "additionalProperties": true + }, + "desc": "详情或评论页返回的完整评论对象,保留 user 等原始字段" + }, + { + "name": "enable", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "desc": "true 点赞,false 取消赞", + "default": true + }, + { + "name": "reply", + "type": "object", + "required": false, + "schema": { + "type": "object", + "additionalProperties": true + }, + "desc": "评论或回复页返回的完整回复对象,保留 user 等原始字段" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "feed": { + "type": "object", + "additionalProperties": true, + "description": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + }, + "comment": { + "type": "object", + "additionalProperties": true, + "description": "详情或评论页返回的完整评论对象,保留 user 等原始字段" + }, + "enable": { + "type": "boolean", + "description": "true 点赞,false 取消赞", + "default": true + }, + "reply": { + "type": "object", + "additionalProperties": true, + "description": "评论或回复页返回的完整回复对象,保留 user 等原始字段" + } + }, + "required": [ + "feed", + "comment" + ], + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "set_qzone_public_follow", + "aliases": [], + "summary": "蹲或取消蹲推荐动态作者", + "returns": "上游关系操作结果,保留未知字段。", + "returnsSchema": { + "type": "object", + "additionalProperties": true + }, + "examples": [ + { + "summary": "蹲这条推荐动态的作者", + "params": { + "feed": { + "cell_common": { + "union_id": { + "uf_key": "", + "ugc_id": "", + "feed_id": "", + "ext_ids": [] + }, + "cur_like_key": "", + "domain_type": 3 + }, + "cell_feed_transfer": {}, + "cell_user_info": { + "user": { + "uin": "10001", + "uid": "", + "nick": "" + } + } + }, + "enable": true + }, + "notes": "feed 必须原样取自 get_qzone_public_feeds 的 feeds 数组,不能用旧说说 tid 拼造;示例中的占位字段须整体替换。 feed 需保留作者 cell_user_info。" + } + ], + "readOnly": false, + "params": [ + { + "name": "feed", + "type": "object", + "required": true, + "schema": { + "type": "object", + "additionalProperties": true + }, + "desc": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + }, + { + "name": "enable", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "desc": "true 蹲,false 取消蹲", + "default": true + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "feed": { + "type": "object", + "additionalProperties": true, + "description": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + }, + "enable": { + "type": "boolean", + "description": "true 蹲,false 取消蹲", + "default": true + } + }, + "required": [ + "feed" + ], + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "set_qzone_public_like", + "aliases": [], + "summary": "点赞或取消赞推荐动态", + "returns": "上游普通赞操作结果,保留未知字段。", + "returnsSchema": { + "type": "object", + "additionalProperties": true + }, + "examples": [ + { + "summary": "点赞推荐动态", + "params": { + "feed": { + "cell_common": { + "union_id": { + "uf_key": "", + "ugc_id": "", + "feed_id": "", + "ext_ids": [] + }, + "cur_like_key": "", + "domain_type": 3 + }, + "cell_feed_transfer": {}, + "cell_user_info": { + "user": { + "uin": "10001", + "uid": "", + "nick": "" + } + } + }, + "enable": true + }, + "notes": "feed 必须原样取自 get_qzone_public_feeds 的 feeds 数组,不能用旧说说 tid 拼造;示例中的占位字段须整体替换。" + } + ], + "readOnly": false, + "params": [ + { + "name": "feed", + "type": "object", + "required": true, + "schema": { + "type": "object", + "additionalProperties": true + }, + "desc": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + }, + { + "name": "enable", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "desc": "true 点赞,false 取消赞", + "default": true + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "feed": { + "type": "object", + "additionalProperties": true, + "description": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + }, + "enable": { + "type": "boolean", + "description": "true 点赞,false 取消赞", + "default": true + } + }, + "required": [ + "feed" + ], + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "set_qzone_public_upvote", + "aliases": [], + "summary": "推或取消推空友爱看动态(独立于普通赞)", + "returns": "上游推操作结果,保留未知字段。", + "returnsSchema": { + "type": "object", + "additionalProperties": true + }, + "examples": [ + { + "summary": "推一条推荐动态", + "params": { + "feed": { + "cell_common": { + "union_id": { + "uf_key": "", + "ugc_id": "", + "feed_id": "", + "ext_ids": [] + }, + "cur_like_key": "", + "domain_type": 3 + }, + "cell_feed_transfer": {}, + "cell_user_info": { + "user": { + "uin": "10001", + "uid": "", + "nick": "" + } + } + }, + "enable": true + }, + "notes": "feed 必须原样取自 get_qzone_public_feeds 的 feeds 数组,不能用旧说说 tid 拼造;示例中的占位字段须整体替换。" + } + ], + "readOnly": false, + "params": [ + { + "name": "feed", + "type": "object", + "required": true, + "schema": { + "type": "object", + "additionalProperties": true + }, + "desc": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + }, + { + "name": "enable", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "desc": "true 推,false 取消推", + "default": true + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "feed": { + "type": "object", + "additionalProperties": true, + "description": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + }, + "enable": { + "type": "boolean", + "description": "true 推,false 取消推", + "default": true + } + }, + "required": [ + "feed" + ], + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "set_restart", + "aliases": [], + "summary": "重启(不支持)", + "returnsSchema": { + "not": {}, + "description": "当前始终返回失败,没有成功 data;失败响应 data 为 null,原因见 wording" + }, + "examples": [ + { + "summary": "重启(不支持)", + "params": {}, + "notes": "当前未实现,调用返回失败;不要将其当作可用能力。" + } + ], + "readOnly": false, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "set_self_longnick", + "aliases": [], + "summary": "设置个性签名(longNick/long_nick,严格 string)", + "returnsSchema": { + "type": "object", + "properties": {}, + "additionalProperties": false, + "description": "成功时为空对象 {},不是 null" + }, + "examples": [ + { + "summary": "设置个性签名(longNick/long_nick,严格 string)", + "params": { + "long_nick": "学习中" + } + } + ], + "readOnly": false, + "params": [ + { + "name": "longNick", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "long_nick", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "longNick": { + "type": "string" + }, + "long_nick": { + "type": "string" + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "share_group_ex", + "aliases": [], + "summary": "分享群 Ark 卡片", + "returns": "服务端生成的群推荐 Ark 卡片 JSON 字符串。", + "returnsSchema": { + "type": "string", + "description": "群 Ark 卡片 JSON 字符串" + }, + "examples": [ + { + "summary": "分享群 Ark 卡片", + "params": { + "group_id": 20001 + }, + "notes": "生成群分享卡片;返回卡片数据,不等同于发送到聊天。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "x-role": "group_id" + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "share_peer", + "aliases": [], + "summary": "分享用户/群 Ark 卡片", + "returns": "{ arkMsg }:服务端生成的推荐联系人 Ark 卡片 JSON 字符串。", + "returnsSchema": { + "type": "object", + "properties": { + "arkMsg": { + "type": "string", + "description": "Ark 卡片 JSON 字符串" + } + }, + "required": [ + "arkMsg" + ] + }, + "examples": [ + { + "summary": "分享用户/群 Ark 卡片", + "params": { + "user_id": 10001 + }, + "notes": "生成联系人分享卡片;返回卡片数据,不等同于发送到聊天。" + } + ], + "readOnly": true, + "params": [ + { + "name": "user_id", + "type": "uint", + "required": false, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "group_id", + "type": "uint", + "required": false, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "phone_number", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 1, + "x-role": "user_id" + }, + "group_id": { + "type": "integer", + "minimum": 1, + "x-role": "group_id" + }, + "phone_number": { + "type": "string", + "default": "" + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "test_download_stream", + "aliases": [], + "summary": "测试下载流(推送 10 个数据帧,验证流式传输,不触达 QQ)", + "returns": "流式帧:data_chunk*10 → data_complete(error=true 时以 error 帧结束)", + "returnsSchema": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "const": "stream" + }, + "data_type": { + "const": "data_chunk" + }, + "data": { + "type": "string" + } + }, + "required": [ + "type", + "data_type", + "data" + ] + }, + { + "type": "object", + "properties": { + "type": { + "const": "response" + }, + "data_type": { + "const": "data_complete" + }, + "data": { + "type": "string" + } + }, + "required": [ + "type", + "data_type", + "data" + ] + } + ], + "description": "成功时 10 个 data_chunk 后接 data_complete;error=true 时最终为失败帧" + }, + "examples": [ + { + "summary": "测试下载流(推送 10 个数据帧,验证流式传输,不触达 QQ)", + "params": { + "error": false + }, + "notes": "经 invoke_action 调用,仅测试传输,不访问 QQ。" + } + ], + "readOnly": false, + "params": [ + { + "name": "error", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": false, + "desc": "是否触发测试错误" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "error": { + "type": "boolean", + "description": "是否触发测试错误", + "default": false + } + }, + "additionalProperties": true + }, + "stream": true, + "category": "流式接口" + }, + { + "name": "trans_group_file", + "aliases": [], + "summary": "转存群文件", + "returns": "{ ok: true }", + "returnsSchema": { + "type": "object", + "properties": { + "ok": { + "const": true + } + }, + "required": [ + "ok" + ] + }, + "examples": [ + { + "summary": "转存群文件", + "params": { + "group_id": 20001, + "file_id": "" + }, + "notes": "替换群文件列表中的实际 file_id;需要对应文件操作权限。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "file_id", + "type": "string", + "required": true, + "role": "file_id", + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "x-role": "group_id" + }, + "file_id": { + "type": "string", + "minLength": 1, + "x-role": "file_id" + } + }, + "required": [ + "group_id", + "file_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "translate_en2zh", + "aliases": [], + "summary": "英译中", + "returns": "{ words }:与输入等长的中文译文字符串数组。", + "returnsSchema": { + "type": "object", + "properties": { + "words": { + "type": "array", + "description": "译文数组", + "items": { + "type": "string" + } + } + }, + "required": [ + "words" + ] + }, + "examples": [ + { + "summary": "英译中", + "params": { + "words": [ + "Hello" + ] + } + } + ], + "readOnly": true, + "params": [ + { + "name": "words", + "type": "string[]", + "required": true, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "words": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "words" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "unlike_qzone", + "aliases": [], + "summary": "取消对一条说说的点赞(QQ 空间;取消赞端点待真机核实)", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "取消对一条说说的点赞(QQ 空间;取消赞端点待真机核实)", + "params": { + "tid": "", + "target_uin": 10001 + }, + "notes": "tid 来自 get_qzone_msg_list;操作需有该说说的访问或管理权限。" + } + ], + "readOnly": false, + "params": [ + { + "name": "tid", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + }, + "desc": "说说 tid" + }, + { + "name": "target_uin", + "type": "uint", + "required": false, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "说说所属 QQ 号,省略则为机器人自己" + }, + { + "name": "abstime", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "desc": "说说发表时间(unix 秒),传真实值更可靠", + "default": 0, + "role": "timestamp" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "tid": { + "type": "string", + "minLength": 1, + "description": "说说 tid" + }, + "target_uin": { + "type": "integer", + "minimum": 1, + "description": "说说所属 QQ 号,省略则为机器人自己", + "x-role": "user_id" + }, + "abstime": { + "type": "integer", + "minimum": 0, + "description": "说说发表时间(unix 秒),传真实值更可靠", + "default": 0, + "x-role": "timestamp" + } + }, + "required": [ + "tid" + ], + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "upload_file_stream", + "aliases": [], + "summary": "以流式分块方式上传文件到机器人本地(返回可用于发送的本地路径)", + "returns": "流式帧:分块确认 type=stream、完成 type=response(含 file_path/file_name/file_size/sha256)", + "returnsSchema": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "const": "stream" + }, + "stream_id": { + "type": "string" + }, + "status": { + "enum": [ + "file_created", + "chunk_received" + ] + }, + "received_chunks": { + "type": "integer" + }, + "total_chunks": { + "type": "integer" + } + }, + "required": [ + "type", + "stream_id", + "status", + "received_chunks", + "total_chunks" + ] + }, + { + "type": "object", + "properties": { + "type": { + "const": "response" + }, + "stream_id": { + "type": "string" + }, + "status": { + "const": "file_complete" + }, + "received_chunks": { + "type": "integer" + }, + "total_chunks": { + "type": "integer" + }, + "file_path": { + "type": "string" + }, + "file_name": { + "type": "string" + }, + "file_size": { + "type": "integer" + }, + "sha256": { + "type": "string" + } + }, + "required": [ + "type", + "stream_id", + "status", + "received_chunks", + "total_chunks", + "file_path", + "file_name", + "file_size", + "sha256" + ] + } + ], + "description": "分块确认与完成帧的 data;reset 和其他失败由错误帧返回。必须等到 file_complete 才能使用 file_path" + }, + "examples": [ + { + "summary": "上传分块", + "params": { + "stream_id": "example-upload-001", + "filename": "hello.txt", + "total_chunks": 1, + "file_size": 5, + "chunk_index": 0, + "chunk_data": "aGVsbG8=" + }, + "notes": "第 1 步:每次上传生成新的 stream_id;这里上传 hello 的唯一分块。通过 invoke_action 调用,分块确认不等于整文件完成。" + }, + { + "summary": "完成同一上传", + "params": { + "stream_id": "example-upload-001", + "is_complete": true + }, + "notes": "第 2 步:等待全部分块确认后,用同一个 stream_id 单独请求完成;成功时返回 file_path。MCP 的 invoke_action 也可通过 execution.input_file 自动完成上传。" + } + ], + "readOnly": false, + "params": [ + { + "name": "stream_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + }, + "desc": "流 ID(客户端生成的 UUID,限 [A-Za-z0-9_-])" + }, + { + "name": "chunk_data", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "desc": "分块数据(Base64)" + }, + { + "name": "chunk_index", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "desc": "分块索引(从 0 开始)" + }, + { + "name": "total_chunks", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "总分块数(新流必填)" + }, + { + "name": "file_size", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "desc": "文件总大小(字节)" + }, + { + "name": "expected_sha256", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "desc": "期望的整文件 SHA256(校验)" + }, + { + "name": "is_complete", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "desc": "是否为最后一个分块/触发合并" + }, + { + "name": "filename", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "desc": "文件名" + }, + { + "name": "reset", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "desc": "重置并丢弃该流" + }, + { + "name": "verify_only", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "desc": "仅查询当前流状态" + }, + { + "name": "file_retention", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "default": 300000, + "desc": "合并文件保留毫秒(0=不回收)" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "stream_id": { + "type": "string", + "minLength": 1, + "description": "流 ID(客户端生成的 UUID,限 [A-Za-z0-9_-])" + }, + "chunk_data": { + "type": "string", + "description": "分块数据(Base64)" + }, + "chunk_index": { + "type": "integer", + "minimum": 0, + "description": "分块索引(从 0 开始)" + }, + "total_chunks": { + "type": "integer", + "minimum": 1, + "description": "总分块数(新流必填)" + }, + "file_size": { + "type": "integer", + "minimum": 0, + "description": "文件总大小(字节)" + }, + "expected_sha256": { + "type": "string", + "description": "期望的整文件 SHA256(校验)" + }, + "is_complete": { + "type": "boolean", + "description": "是否为最后一个分块/触发合并" + }, + "filename": { + "type": "string", + "description": "文件名" + }, + "reset": { + "type": "boolean", + "description": "重置并丢弃该流" + }, + "verify_only": { + "type": "boolean", + "description": "仅查询当前流状态" + }, + "file_retention": { + "type": "integer", + "minimum": 0, + "description": "合并文件保留毫秒(0=不回收)", + "default": 300000 + } + }, + "required": [ + "stream_id" + ], + "additionalProperties": true + }, + "stream": true, + "category": "流式接口" + }, + { + "name": "upload_forward_msg", + "aliases": [], + "summary": "上传转发消息", + "returnsSchema": { + "type": "object", + "properties": { + "res_id": { + "type": "string" + }, + "forward_id": { + "type": "string" + }, + "message_id": { + "const": 0, + "description": "仅上传资源,不代表已发送消息;0 不能用于消息查询或撤回" + }, + "group_id": { + "type": "integer", + "description": "仅请求提供正数 group_id 时出现" + } + }, + "required": [ + "res_id", + "forward_id", + "message_id" + ] + }, + "examples": [ + { + "summary": "上传转发消息", + "params": { + "group_id": 20001, + "messages": [ + { + "type": "node", + "data": { + "user_id": 10001, + "nickname": "示例用户", + "content": [ + { + "type": "text", + "data": { + "text": "转发内容" + } + } + ] + } + } + ] + }, + "notes": "仅上传合并转发资源,不发送聊天消息;message_id=0 是占位值,后续使用 res_id。" + } + ], + "readOnly": false, + "params": [ + { + "name": "messages", + "type": "message", + "required": false, + "schema": { + "description": "OneBot message: string | segment[] | object. In segment arrays, text segments whose text field is exactly \"\" are compatibility placeholders and do not count as sendable segments; missing, null, and whitespace-only text remain subject to normal validation." + }, + "desc": "转发节点数组;节点 content 内的 reply.data.message 可提供自定义引用内容(字符串或消息段),qq/time/seq 可选;仅用于转发内引用预览。" + }, + { + "name": "message", + "type": "message", + "required": false, + "schema": { + "description": "OneBot message: string | segment[] | object. In segment arrays, text segments whose text field is exactly \"\" are compatibility placeholders and do not count as sendable segments; missing, null, and whitespace-only text remain subject to normal validation." + }, + "desc": "转发节点数组;节点 content 内的 reply.data.message 可提供自定义引用内容(字符串或消息段),qq/time/seq 可选;仅用于转发内引用预览。" + }, + { + "name": "group_id", + "type": "uint", + "required": false, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "messages": { + "description": "转发节点数组;节点 content 内的 reply.data.message 可提供自定义引用内容(字符串或消息段),qq/time/seq 可选;仅用于转发内引用预览。" + }, + "message": { + "description": "转发节点数组;节点 content 内的 reply.data.message 可提供自定义引用内容(字符串或消息段),qq/time/seq 可选;仅用于转发内引用预览。" + }, + "group_id": { + "type": "integer", + "minimum": 1, + "x-role": "group_id" + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "upload_foward_msg", + "aliases": [], + "summary": "上传转发消息(别名拼写)", + "returnsSchema": { + "type": "object", + "properties": { + "res_id": { + "type": "string" + }, + "forward_id": { + "type": "string" + }, + "message_id": { + "const": 0, + "description": "仅上传资源,不代表已发送消息;0 不能用于消息查询或撤回" + } + }, + "required": [ + "res_id", + "forward_id", + "message_id" + ] + }, + "examples": [ + { + "summary": "上传转发消息(别名拼写)", + "params": { + "messages": [ + { + "type": "node", + "data": { + "user_id": 10001, + "nickname": "示例用户", + "content": [ + { + "type": "text", + "data": { + "text": "转发内容" + } + } + ] + } + } + ] + }, + "notes": "历史拼写兼容接口,仅上传资源;message_id=0,返回值没有 group_id。" + } + ], + "readOnly": false, + "params": [ + { + "name": "messages", + "type": "message", + "required": false, + "schema": { + "description": "OneBot message: string | segment[] | object. In segment arrays, text segments whose text field is exactly \"\" are compatibility placeholders and do not count as sendable segments; missing, null, and whitespace-only text remain subject to normal validation." + }, + "desc": "转发节点数组;节点 content 内的 reply.data.message 可提供自定义引用内容(字符串或消息段),qq/time/seq 可选;仅用于转发内引用预览。" + }, + { + "name": "message", + "type": "message", + "required": false, + "schema": { + "description": "OneBot message: string | segment[] | object. In segment arrays, text segments whose text field is exactly \"\" are compatibility placeholders and do not count as sendable segments; missing, null, and whitespace-only text remain subject to normal validation." + }, + "desc": "转发节点数组;节点 content 内的 reply.data.message 可提供自定义引用内容(字符串或消息段),qq/time/seq 可选;仅用于转发内引用预览。" + }, + { + "name": "group_id", + "type": "uint", + "required": false, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "messages": { + "description": "转发节点数组;节点 content 内的 reply.data.message 可提供自定义引用内容(字符串或消息段),qq/time/seq 可选;仅用于转发内引用预览。" + }, + "message": { + "description": "转发节点数组;节点 content 内的 reply.data.message 可提供自定义引用内容(字符串或消息段),qq/time/seq 可选;仅用于转发内引用预览。" + }, + "group_id": { + "type": "integer", + "minimum": 1, + "x-role": "group_id" + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "upload_group_file", + "aliases": [], + "summary": "上传群文件", + "returns": "{ file_id: string }", + "returnsSchema": { + "type": "object", + "properties": { + "file_id": { + "type": "string" + } + }, + "required": [ + "file_id" + ] + }, + "examples": [ + { + "summary": "上传群文件", + "params": { + "group_id": 20001, + "file": "file:///path/to/report.pdf", + "name": "报告.pdf" + }, + "notes": "示例路径位于 SnowLuma 服务端,须替换为该服务可读取的实际文件。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "file", + "type": "string", + "required": true, + "role": "file", + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "name", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + }, + { + "name": "folder", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + }, + { + "name": "folder_id", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + }, + { + "name": "upload_file", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": true + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "file": { + "type": "string", + "minLength": 1, + "x-role": "file" + }, + "name": { + "type": "string", + "default": "" + }, + "folder": { + "type": "string", + "default": "" + }, + "folder_id": { + "type": "string", + "default": "" + }, + "upload_file": { + "type": "boolean", + "default": true + } + }, + "required": [ + "group_id", + "file" + ], + "additionalProperties": true + }, + "category": "群文件" + }, + { + "name": "upload_image_to_qun_album", + "aliases": [], + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "基本调用", + "params": { + "group_id": 20001, + "album_id": "", + "album_name": "活动照片", + "file": "file:///path/to/photo.png" + }, + "notes": "album_id 来自 get_group_album_list;lloc 或视频 id、batch_id 来自 get_group_album_media_list。替换群号及对应资源标识。 示例路径位于 SnowLuma 服务端,须替换为该服务可读取的实际文件。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "album_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "album_name", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "file", + "type": "string", + "required": true, + "role": "image", + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "album_id": { + "type": "string", + "minLength": 1 + }, + "album_name": { + "type": "string", + "minLength": 1 + }, + "file": { + "type": "string", + "minLength": 1, + "x-role": "image" + } + }, + "required": [ + "group_id", + "album_id", + "album_name", + "file" + ], + "additionalProperties": true + }, + "category": "群相册" + }, + { + "name": "upload_private_file", + "aliases": [], + "summary": "上传私聊文件", + "returns": "{ file_id: string }", + "returnsSchema": { + "type": "object", + "properties": { + "file_id": { + "type": "string" + } + }, + "required": [ + "file_id" + ] + }, + "examples": [ + { + "summary": "上传私聊文件", + "params": { + "user_id": 10001, + "file": "file:///path/to/report.pdf", + "name": "报告.pdf" + }, + "notes": "示例路径位于 SnowLuma 服务端,须替换为该服务可读取的实际文件。 默认上传并发送给该好友。" + } + ], + "readOnly": false, + "params": [ + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "file", + "type": "string", + "required": true, + "role": "file", + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "name", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + }, + { + "name": "upload_file", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": true + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 1, + "x-role": "user_id" + }, + "file": { + "type": "string", + "minLength": 1, + "x-role": "file" + }, + "name": { + "type": "string", + "default": "" + }, + "upload_file": { + "type": "boolean", + "default": true + } + }, + "required": [ + "user_id", + "file" + ], + "additionalProperties": true + }, + "category": "群文件" + }, + { + "name": "upload_video_to_qun_album", + "aliases": [], + "summary": "上传视频到群相册", + "returns": "{ id: string }", + "returnsSchema": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "视频 id" + } + }, + "required": [ + "id" + ] + }, + "examples": [ + { + "summary": "上传视频到群相册", + "params": { + "group_id": 20001, + "album_id": "", + "album_name": "活动视频", + "file": "file:///path/to/video.mp4" + }, + "notes": "album_id 来自 get_group_album_list;lloc 或视频 id、batch_id 来自 get_group_album_media_list。替换群号及对应资源标识。 示例路径位于 SnowLuma 服务端,须替换为该服务可读取的实际文件。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "album_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + }, + "desc": "相册 id" + }, + { + "name": "album_name", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + }, + "desc": "相册名称" + }, + { + "name": "file", + "type": "string", + "required": true, + "role": "video", + "schema": { + "type": "string", + "minLength": 1 + }, + "desc": "视频文件" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "album_id": { + "type": "string", + "minLength": 1, + "description": "相册 id" + }, + "album_name": { + "type": "string", + "minLength": 1, + "description": "相册名称" + }, + "file": { + "type": "string", + "minLength": 1, + "description": "视频文件", + "x-role": "video" + } + }, + "required": [ + "group_id", + "album_id", + "album_name", + "file" + ], + "additionalProperties": true + }, + "category": "群相册" + } + ], + "categories": [ + { + "category": "信息", + "count": 5 + }, + { + "category": "消息", + "count": 6 + }, + { + "category": "好友", + "count": 3 + }, + { + "category": "群信息", + "count": 7 + }, + { + "category": "群管理", + "count": 24 + }, + { + "category": "群文件", + "count": 12 + }, + { + "category": "请求", + "count": 2 + }, + { + "category": "扩展", + "count": 115 + }, + { + "category": "群相册", + "count": 9 + }, + { + "category": "空间", + "count": 29 + }, + { + "category": "系统表情", + "count": 4 + }, + { + "category": "流式接口", + "count": 6 + } + ] +} diff --git a/packages/mcp/src/generated/catalog.ts b/packages/mcp/src/generated/catalog.ts new file mode 100644 index 00000000..80df6d90 --- /dev/null +++ b/packages/mcp/src/generated/catalog.ts @@ -0,0 +1,21575 @@ +// GENERATED by scripts/gen-catalog.test.ts — do not edit. Run `pnpm gen`. +/* eslint-disable */ +import type { CatalogAction, CatalogCategory } from '../types.js'; + +export const ACTIONS: CatalogAction[] = [ + { + "name": "_del_group_notice", + "aliases": [], + "summary": "删除群公告(fid 或 notice_id 二选一)", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "删除群公告(fid 或 notice_id 二选一)", + "params": { + "group_id": 20001, + "notice_id": "" + }, + "notes": "notice_id 来自 _get_group_notice;删除需要管理权限。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "fid", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "notice_id", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "fid": { + "type": "string" + }, + "notice_id": { + "type": "string" + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "_get_friend_dress", + "aliases": [], + "summary": "获取指定 QQ 号正在使用的个性装扮(挂件/名片/来电/输入状态等)", + "returns": "装扮信息;目标未使用任何可查询装扮时 items 为空数组。网络失败、未登录态/风控、页面改版、返回账号与请求不一致时返回失败并附具体原因", + "returnsSchema": { + "type": "object", + "properties": { + "target_uin": { + "type": "string" + }, + "is_svip": { + "type": "boolean" + }, + "avatar_url": { + "type": "string" + }, + "items": { + "type": "array", + "items": { + "type": "object", + "properties": { + "app_id": { + "type": "integer" + }, + "kind": { + "type": "string" + }, + "item_id": { + "type": "integer" + }, + "name": { + "type": "string" + }, + "preview_url": { + "type": "string" + }, + "video_url": { + "type": "string" + }, + "price": { + "type": "number" + } + }, + "required": [ + "app_id", + "kind", + "item_id", + "name", + "preview_url", + "video_url", + "price" + ] + } + } + }, + "required": [ + "target_uin", + "is_svip", + "avatar_url", + "items" + ] + }, + "examples": [ + { + "summary": "获取指定 QQ 号正在使用的个性装扮(挂件/名片/来电/输入状态等)", + "params": { + "user_id": 10001 + }, + "notes": "替换为需要查询的 QQ 号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "目标 QQ 号" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 1, + "description": "目标 QQ 号", + "x-role": "user_id" + } + }, + "required": [ + "user_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "_get_group_notice", + "aliases": [], + "summary": "获取群公告", + "returns": "普通公告与新成员公告的合并数组;send_to_new_members 标识后者;图片含 id、url、宽高", + "returnsSchema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "notice_id": { + "type": "string" + }, + "sender_id": { + "type": "number" + }, + "publish_time": { + "type": "number" + }, + "message": { + "type": "object", + "properties": { + "text": { + "type": "string" + }, + "image": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "height": { + "type": "number" + }, + "width": { + "type": "number" + } + }, + "required": [ + "id", + "url", + "height", + "width" + ] + } + }, + "images": { + "type": "array", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "url": { + "type": "string" + }, + "height": { + "type": "number" + }, + "width": { + "type": "number" + } + }, + "required": [ + "id", + "url", + "height", + "width" + ] + }, + "description": "与 image 相同的图片列表,保留两个兼容字段" + } + }, + "required": [ + "text", + "image", + "images" + ] + }, + "settings": { + "description": "服务端公告设置,原样透传,可为 null" + }, + "read_num": { + "type": "number" + }, + "type": { + "type": "number" + }, + "pinned": { + "type": "number" + }, + "send_to_new_members": { + "type": "boolean" + } + }, + "required": [ + "notice_id", + "sender_id", + "publish_time", + "message", + "settings", + "read_num", + "type", + "pinned", + "send_to_new_members" + ] + } + }, + "examples": [ + { + "summary": "获取群公告", + "params": { + "group_id": 20001 + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "_get_model_show", + "aliases": [], + "summary": "获取机型展示(兼容 mock)", + "returns": "数组,每项含 variants(回显请求的机型名与 need_pay 标记)。", + "returnsSchema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "variants": { + "type": "object", + "properties": { + "model_show": { + "type": "string", + "description": "机型展示名(回显请求的 model,缺省 snowluma)" + }, + "need_pay": { + "type": "boolean", + "description": "是否需付费(恒 false)" + } + }, + "required": [ + "model_show", + "need_pay" + ] + } + }, + "required": [ + "variants" + ] + } + }, + "examples": [ + { + "summary": "获取机型展示(兼容 mock)", + "params": { + "model": "示例机型" + }, + "notes": "兼容占位接口,仅将传入的 model(或默认值)放进展示结构,不查询设备机型。" + } + ], + "readOnly": true, + "params": [ + { + "name": "model", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "model": { + "type": "string", + "default": "" + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "_mark_all_as_read", + "aliases": [], + "summary": "标记全部已读", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "标记全部已读", + "params": {}, + "notes": "会将当前账号的会话标记为已读。" + } + ], + "readOnly": false, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "_send_group_notice", + "aliases": [], + "summary": "发送群公告(支持置顶、弹窗、新成员、群昵称引导与确认)", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "发送群公告(支持置顶、弹窗、新成员、群昵称引导与确认)", + "params": { + "group_id": 20001, + "content": "欢迎参加本周讨论", + "type": 1, + "pinned": 0 + }, + "notes": "需要群公告管理权限;普通公告 type=1,新成员公告 type=20。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "content", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + }, + "desc": "公告正文" + }, + { + "name": "image", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "", + "role": "image", + "desc": "可选公告图片(本地路径、URL 或 base64)" + }, + { + "name": "pinned", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0, + "maximum": 1 + }, + "default": 0, + "desc": "是否置顶:1=置顶,0=不置顶" + }, + { + "name": "type", + "type": "int", + "required": false, + "schema": { + "type": "integer" + }, + "desc": "发布类型:1=普通公告,20=新成员公告;建议使用 send_to_new_members" + }, + { + "name": "send_to_new_members", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "desc": "是否在成员新加入群时发送(与 type=20 等价)" + }, + { + "name": "is_show_edit_card", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0, + "maximum": 1 + }, + "default": 1, + "desc": "是否引导群成员修改群昵称:1=是,0=否" + }, + { + "name": "tip_window_type", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0, + "maximum": 1 + }, + "default": 1, + "desc": "弹窗展示:0=开启弹窗,1=关闭弹窗(QQ 原始字段为反向语义)" + }, + { + "name": "confirm_required", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0, + "maximum": 1 + }, + "default": 1, + "desc": "是否需要群成员确认收到:1=是,0=否" + } + ], + "invariants": [ + "type must be 1 (regular) or 20 (new members)", + "send_to_new_members conflicts with type" + ], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "content": { + "type": "string", + "minLength": 1, + "description": "公告正文" + }, + "image": { + "type": "string", + "description": "可选公告图片(本地路径、URL 或 base64)", + "default": "", + "x-role": "image" + }, + "pinned": { + "type": "integer", + "minimum": 0, + "maximum": 1, + "description": "是否置顶:1=置顶,0=不置顶", + "default": 0 + }, + "type": { + "type": "integer", + "description": "发布类型:1=普通公告,20=新成员公告;建议使用 send_to_new_members" + }, + "send_to_new_members": { + "type": "boolean", + "description": "是否在成员新加入群时发送(与 type=20 等价)" + }, + "is_show_edit_card": { + "type": "integer", + "minimum": 0, + "maximum": 1, + "description": "是否引导群成员修改群昵称:1=是,0=否", + "default": 1 + }, + "tip_window_type": { + "type": "integer", + "minimum": 0, + "maximum": 1, + "description": "弹窗展示:0=开启弹窗,1=关闭弹窗(QQ 原始字段为反向语义)", + "default": 1 + }, + "confirm_required": { + "type": "integer", + "minimum": 0, + "maximum": 1, + "description": "是否需要群成员确认收到:1=是,0=否", + "default": 1 + } + }, + "required": [ + "group_id", + "content" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "_set_model_show", + "aliases": [], + "summary": "设置机型展示(占位)", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "设置机型展示(占位)", + "params": {}, + "notes": "兼容占位接口,当前返回成功但不修改机型展示。" + } + ], + "readOnly": false, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": ".get_word_slices", + "aliases": [], + "summary": "分词(未实现)", + "returnsSchema": { + "not": {}, + "description": "当前始终返回失败,没有成功 data;失败响应 data 为 null,原因见 wording" + }, + "examples": [ + { + "summary": "分词(未实现)", + "params": {}, + "notes": "当前未实现,调用返回失败;不要将其当作可用能力。" + } + ], + "readOnly": true, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "add_custom_face", + "aliases": [], + "summary": "添加收藏表情", + "returnsSchema": { + "type": "object", + "properties": { + "emoji_id": { + "type": "string" + } + }, + "required": [ + "emoji_id" + ] + }, + "examples": [ + { + "summary": "添加收藏表情", + "params": { + "file": "file:///path/to/emoji.png" + }, + "notes": "示例路径位于 SnowLuma 服务端,须替换为该服务可读取的实际文件。" + } + ], + "readOnly": false, + "params": [ + { + "name": "file", + "type": "string", + "required": true, + "role": "image", + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "file": { + "type": "string", + "minLength": 1, + "x-role": "image" + } + }, + "required": [ + "file" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "add_group_tag", + "aliases": [], + "summary": "向某个群分类添加资料标签", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "向某个群分类添加资料标签", + "params": { + "group_class": 1, + "name": "学习" + }, + "notes": "替换实际群分类和标签;需要当前账号有管理权限。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_class", + "type": "int", + "required": true, + "schema": { + "type": "integer", + "minimum": 0, + "maximum": 4294967295 + } + }, + { + "name": "name", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_class": { + "type": "integer", + "minimum": 0, + "maximum": 4294967295 + }, + "name": { + "type": "string", + "minLength": 1 + } + }, + "required": [ + "group_class", + "name" + ], + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "bot_exit", + "aliases": [], + "summary": "退出机器人", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "退出机器人", + "params": {}, + "notes": "会退出 SnowLuma 进程,仅在明确需要停止服务时调用。" + } + ], + "readOnly": false, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "can_send_image", + "aliases": [], + "returns": "能力查询结果。", + "returnsSchema": { + "type": "object", + "properties": { + "yes": { + "type": "boolean", + "description": "是否支持发送图片" + } + }, + "required": [ + "yes" + ] + }, + "examples": [ + { + "summary": "基本调用", + "params": {} + } + ], + "readOnly": true, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "信息" + }, + { + "name": "can_send_record", + "aliases": [], + "returns": "能力查询结果。", + "returnsSchema": { + "type": "object", + "properties": { + "yes": { + "type": "boolean", + "description": "是否支持发送语音" + } + }, + "required": [ + "yes" + ] + }, + "examples": [ + { + "summary": "基本调用", + "params": {} + } + ], + "readOnly": true, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "信息" + }, + { + "name": "cancel_group_album_media_like", + "aliases": [], + "returnsSchema": { + "type": "object", + "properties": { + "id": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": [ + "integer", + "null" + ] + } + } + }, + "examples": [ + { + "summary": "基本调用", + "params": { + "group_id": 20001, + "album_id": "", + "batch_id": "1700000000" + }, + "notes": "album_id 来自 get_group_album_list;lloc 或视频 id、batch_id 来自 get_group_album_media_list。替换群号及对应资源标识。 batch_id 必须是实际批次的十进制字符串。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "album_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "batch_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "lloc", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "album_id": { + "type": "string", + "minLength": 1 + }, + "batch_id": { + "type": "string", + "minLength": 1 + }, + "lloc": { + "type": "string" + } + }, + "required": [ + "group_id", + "album_id", + "batch_id" + ], + "additionalProperties": true + }, + "category": "群相册" + }, + { + "name": "cancel_group_todo", + "aliases": [], + "summary": "取消群待办", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "取消群待办", + "params": { + "group_id": 20001, + "message_id": -123456 + }, + "notes": "使用消息事件或发送结果中的真实 message_id,负值合法;消息须在当前账号的消息存储中可查询。 必须是该群的消息。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "message_id", + "type": "messageId", + "required": true, + "role": "message_id", + "schema": { + "type": "integer", + "not": { + "const": 0 + } + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "message_id": { + "type": "integer", + "not": { + "const": 0 + }, + "x-role": "message_id" + } + }, + "required": [ + "group_id", + "message_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "check_url_safely", + "aliases": [], + "summary": "检查链接安全性", + "returns": "{ level }:安全等级(占位实现,恒为 1)。", + "returnsSchema": { + "type": "object", + "properties": { + "level": { + "type": "integer", + "description": "安全等级(占位,恒 1)" + } + }, + "required": [ + "level" + ] + }, + "examples": [ + { + "summary": "检查链接安全性", + "params": {}, + "notes": "兼容占位接口,当前固定返回 level=1,不能用来证明某个链接安全。" + } + ], + "readOnly": true, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "clean_cache", + "aliases": [], + "summary": "清理缓存", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "清理缓存", + "params": {}, + "notes": "兼容占位接口,当前返回成功但不执行清理。流式临时文件清理请使用 clean_stream_temp_file。" + } + ], + "readOnly": false, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "clean_stream_temp_file", + "aliases": [], + "summary": "清理流式传输临时文件(仅清理 stream 上传/下载目录)", + "returns": "{ message, removed }", + "returnsSchema": { + "type": "object", + "properties": { + "message": { + "const": "success" + }, + "removed": { + "type": "integer" + }, + "freed_bytes": { + "type": "integer" + }, + "skipped_active": { + "type": "integer" + } + }, + "required": [ + "message", + "removed", + "freed_bytes", + "skipped_active" + ] + }, + "examples": [ + { + "summary": "清理流式传输临时文件(仅清理 stream 上传/下载目录)", + "params": {}, + "notes": "清理未使用的流式临时文件;不会清理正在传输的项目。" + } + ], + "readOnly": false, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "流式接口" + }, + { + "name": "click_inline_keyboard_button", + "aliases": [], + "summary": "点击内联键盘按钮", + "returnsSchema": { + "type": "object", + "properties": { + "result": { + "type": "number", + "description": "按钮业务结果码,需单独检查" + }, + "errMsg": { + "type": "string" + }, + "status": { + "const": 0 + }, + "promptText": { + "type": "string" + }, + "promptType": { + "const": 0 + }, + "promptIcon": { + "const": 0 + } + }, + "required": [ + "result", + "errMsg", + "status", + "promptText", + "promptType", + "promptIcon" + ] + }, + "examples": [ + { + "summary": "点击内联键盘按钮", + "params": { + "group_id": 20001, + "bot_appid": 10001, + "msg_seq": 42, + "button_id": "", + "callback_data": "" + }, + "notes": "参数必须来自同一条机器人按钮消息;msg_seq 是消息序号,不是 message_id。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "bot_appid", + "type": "uint", + "required": true, + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "msg_seq", + "type": "uint", + "required": true, + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "button_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "callback_data", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "bot_appid": { + "type": "integer", + "minimum": 1 + }, + "msg_seq": { + "type": "integer", + "minimum": 1 + }, + "button_id": { + "type": "string", + "minLength": 1 + }, + "callback_data": { + "type": "string", + "default": "" + } + }, + "required": [ + "group_id", + "bot_appid", + "msg_seq", + "button_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "comment_qzone", + "aliases": [], + "summary": "评论说说或回复指定评论(普通评论支持带图,楼中楼仅支持文字)", + "returnsSchema": { + "type": "object", + "properties": { + "comment_id": { + "type": "string", + "description": "新评论或新回复的 ID;普通评论未返回 ID 时为空串,楼中楼回复不会用父编号代替" + }, + "parent_comment_id": { + "type": "string", + "description": "仅楼中楼回复返回,所属一级评论 ID" + }, + "parent_comment_uin": { + "type": "integer", + "description": "仅楼中楼回复返回,所属一级评论作者 QQ 号" + } + }, + "required": [ + "comment_id" + ] + }, + "examples": [ + { + "summary": "评论一条说说(QQ 空间,支持纯文字或带图;传 images 自动上传)", + "params": { + "tid": "", + "target_uin": 10001, + "content": "感谢分享" + }, + "notes": "tid 来自 get_qzone_msg_list;操作需有该说说的访问或管理权限。" + }, + { + "summary": "回复指定一级评论,保留说说所属账号", + "params": { + "tid": "", + "target_uin": 10001, + "content": "感谢回复", + "comment_id": "0", + "comment_uin": 10002 + }, + "notes": "comment_id 和 comment_uin 分别取 get_qzone_msg_detail 的一级评论 comment_id 和 uin;编号 0 有效。楼中楼仅支持文字。" + }, + { + "summary": "回复楼中楼中的某位评论者", + "params": { + "tid": "", + "target_uin": 10001, + "content": "我也这么认为", + "comment_id": "0", + "comment_uin": 10002, + "reply_uin": 10003, + "reply_name": "评论者" + }, + "notes": "comment_id/comment_uin 使用该回复的 parent_comment_id/parent_comment_uin;reply_uin/reply_name 使用该回复的 uin/name,不把二级回复自身的 comment_id 当成父评论编号。" + } + ], + "readOnly": false, + "params": [ + { + "name": "tid", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + }, + "desc": "说说 tid" + }, + { + "name": "content", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + }, + "desc": "评论内容" + }, + { + "name": "target_uin", + "type": "uint", + "required": false, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "说说所属 QQ 号,省略则为机器人自己" + }, + { + "name": "comment_id", + "type": "string", + "required": false, + "schema": { + "type": "string", + "minLength": 1 + }, + "desc": "一级父评论 ID,与 comment_uin 同时提供;编号 0 有效,不能传二级回复自身的 ID" + }, + { + "name": "comment_uin", + "type": "uint", + "required": false, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "一级父评论作者 QQ 号,与 comment_id 同时提供;不是说说所属账号" + }, + { + "name": "reply_uin", + "type": "uint", + "required": false, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "楼中楼中要回复的用户 QQ 号,与 reply_name 同时提供,需指定父评论" + }, + { + "name": "reply_name", + "type": "string", + "required": false, + "schema": { + "type": "string", + "minLength": 1 + }, + "desc": "要回复的用户昵称,来自评论详情的 name;与 reply_uin 同时提供" + }, + { + "name": "images", + "type": "string[]", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "minLength": 1 + } + }, + "desc": "图片数组(可选),支持 file:// http:// base64://;自动上传" + } + ], + "invariants": [ + "all or none of: comment_id, comment_uin", + "all or none of: reply_uin, reply_name", + "reply_uin/reply_name require comment_id/comment_uin", + "images are not supported for comment replies", + "comment_id, reply_name and reply content must not be blank", + "comment_uin and reply_uin must be safe integers" + ], + "inputSchema": { + "type": "object", + "properties": { + "tid": { + "type": "string", + "minLength": 1, + "description": "说说 tid" + }, + "content": { + "type": "string", + "minLength": 1, + "description": "评论内容" + }, + "target_uin": { + "type": "integer", + "minimum": 1, + "description": "说说所属 QQ 号,省略则为机器人自己", + "x-role": "user_id" + }, + "comment_id": { + "type": "string", + "minLength": 1, + "description": "一级父评论 ID,与 comment_uin 同时提供;编号 0 有效,不能传二级回复自身的 ID" + }, + "comment_uin": { + "type": "integer", + "minimum": 1, + "description": "一级父评论作者 QQ 号,与 comment_id 同时提供;不是说说所属账号", + "x-role": "user_id" + }, + "reply_uin": { + "type": "integer", + "minimum": 1, + "description": "楼中楼中要回复的用户 QQ 号,与 reply_name 同时提供,需指定父评论", + "x-role": "user_id" + }, + "reply_name": { + "type": "string", + "minLength": 1, + "description": "要回复的用户昵称,来自评论详情的 name;与 reply_uin 同时提供" + }, + "images": { + "type": "array", + "items": { + "type": "string", + "minLength": 1 + }, + "description": "图片数组(可选),支持 file:// http:// base64://;自动上传" + } + }, + "required": [ + "tid", + "content" + ], + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "comment_qzone_public_feed", + "aliases": [], + "summary": "评论推荐动态,支持文本或上游富文本条目", + "returns": "上游评论结果,包含新评论,保留未知字段。", + "returnsSchema": { + "type": "object", + "additionalProperties": true + }, + "examples": [ + { + "summary": "评论推荐动态", + "params": { + "feed": { + "cell_common": { + "union_id": { + "uf_key": "", + "ugc_id": "", + "feed_id": "", + "ext_ids": [] + }, + "cur_like_key": "", + "domain_type": 3 + }, + "cell_feed_transfer": {}, + "cell_user_info": { + "user": { + "uin": "10001", + "uid": "", + "nick": "" + } + } + }, + "content": "感谢分享" + }, + "notes": "feed 必须原样取自 get_qzone_public_feeds 的 feeds 数组,不能用旧说说 tid 拼造;示例中的占位字段须整体替换。" + } + ], + "readOnly": false, + "params": [ + { + "name": "feed", + "type": "object", + "required": true, + "schema": { + "type": "object", + "additionalProperties": true + }, + "desc": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + }, + { + "name": "content", + "type": "string | object[]", + "required": true, + "schema": { + "anyOf": [ + { + "type": "string", + "minLength": 1 + }, + { + "type": "array", + "minItems": 1, + "items": { + "type": "object", + "additionalProperties": true + } + } + ] + }, + "desc": "非空文本,或非空上游 RichItem 对象数组;字符串始终原样发送,富文本请直接传对象数组,不是 OneBot 消息段" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "feed": { + "type": "object", + "additionalProperties": true, + "description": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + }, + "content": { + "anyOf": [ + { + "type": "string", + "minLength": 1 + }, + { + "type": "array", + "minItems": 1, + "items": { + "type": "object", + "additionalProperties": true + } + } + ], + "description": "非空文本,或非空上游 RichItem 对象数组;字符串始终原样发送,富文本请直接传对象数组,不是 OneBot 消息段" + } + }, + "required": [ + "feed", + "content" + ], + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "complete_group_todo", + "aliases": [], + "summary": "完成群待办", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "完成群待办", + "params": { + "group_id": 20001, + "message_id": -123456 + }, + "notes": "使用消息事件或发送结果中的真实 message_id,负值合法;消息须在当前账号的消息存储中可查询。 必须是该群的消息。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "message_id", + "type": "messageId", + "required": true, + "role": "message_id", + "schema": { + "type": "integer", + "not": { + "const": 0 + } + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "message_id": { + "type": "integer", + "not": { + "const": 0 + }, + "x-role": "message_id" + } + }, + "required": [ + "group_id", + "message_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "create_collection", + "aliases": [], + "summary": "创建收藏(未实现)", + "returnsSchema": { + "not": {}, + "description": "当前始终返回失败,没有成功 data;失败响应 data 为 null,原因见 wording" + }, + "examples": [ + { + "summary": "创建收藏(未实现)", + "params": {}, + "notes": "当前未实现,调用返回失败;不要将其当作可用能力。" + } + ], + "readOnly": false, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "create_flash_task", + "aliases": [], + "summary": "创建闪传任务", + "returnsSchema": { + "type": "object", + "properties": { + "fileset_id": { + "type": "string" + }, + "task_id": { + "type": "string", + "description": "与 fileset_id 相同的兼容字段" + } + }, + "required": [ + "fileset_id", + "task_id" + ] + }, + "examples": [ + { + "summary": "创建闪传任务", + "params": { + "files": [ + { + "file": "file:///path/to/report.pdf", + "name": "报告.pdf" + } + ], + "name": "资料包" + }, + "notes": "示例路径位于 SnowLuma 服务端,须替换为该服务可读取的实际文件。 files 不能为空。" + } + ], + "readOnly": false, + "params": [ + { + "name": "files", + "type": "raw", + "required": false, + "schema": {}, + "desc": "路径、{ file, name },或它们的数组" + }, + { + "name": "name", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "thumb_path", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "files": { + "description": "路径、{ file, name },或它们的数组" + }, + "name": { + "type": "string" + }, + "thumb_path": { + "type": "string" + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "create_group_file_folder", + "aliases": [], + "summary": "创建群文件夹", + "returns": "{ result: { retCode, retMsg }, groupItem: { folderInfo: { folderId, folderName, folderPath, createTime, modifyTime, createUin, modifyUin } } }", + "returnsSchema": { + "type": "object", + "properties": { + "result": { + "type": "object", + "properties": { + "retCode": { + "const": 0 + }, + "retMsg": { + "const": "success" + } + }, + "required": [ + "retCode", + "retMsg" + ] + }, + "groupItem": { + "type": "object", + "properties": { + "folderInfo": { + "type": "object", + "properties": { + "folderId": { + "type": "string" + }, + "folderName": { + "type": "string" + }, + "folderPath": { + "type": "string" + }, + "createTime": { + "type": "integer" + }, + "modifyTime": { + "type": "integer" + }, + "createUin": { + "type": "integer" + }, + "modifyUin": { + "type": "integer" + } + }, + "required": [ + "folderId", + "folderName", + "folderPath", + "createTime", + "modifyTime", + "createUin", + "modifyUin" + ] + } + }, + "required": [ + "folderInfo" + ] + } + }, + "required": [ + "result", + "groupItem" + ] + }, + "examples": [ + { + "summary": "创建群文件夹", + "params": { + "group_id": 20001, + "name": "共享资料", + "parent_id": "/" + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "name", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "parent_id", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "/" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "name": { + "type": "string", + "minLength": 1 + }, + "parent_id": { + "type": "string", + "default": "/" + } + }, + "required": [ + "group_id", + "name" + ], + "additionalProperties": true + }, + "category": "群文件" + }, + { + "name": "del_group_album_media", + "aliases": [], + "summary": "删除群相册图片或视频", + "returnsSchema": { + "type": "object", + "properties": { + "success": { + "const": true + } + }, + "required": [ + "success" + ] + }, + "examples": [ + { + "summary": "删除群相册图片或视频", + "params": { + "group_id": 20001, + "album_id": "", + "lloc": "" + }, + "notes": "album_id 来自 get_group_album_list;lloc 或视频 id、batch_id 来自 get_group_album_media_list。替换群号及对应资源标识。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "album_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "lloc", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + }, + "desc": "图片长定位标识,或视频 id" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "album_id": { + "type": "string", + "minLength": 1 + }, + "lloc": { + "type": "string", + "minLength": 1, + "description": "图片长定位标识,或视频 id" + } + }, + "required": [ + "group_id", + "album_id", + "lloc" + ], + "additionalProperties": true + }, + "category": "群相册" + }, + { + "name": "delete_custom_face", + "aliases": [], + "summary": "删除收藏表情", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "删除收藏表情", + "params": { + "emoji_id": "" + }, + "notes": "emoji_id 来自 fetch_custom_face_detail。" + } + ], + "readOnly": false, + "params": [ + { + "name": "emoji_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "emoji_id": { + "type": "string", + "minLength": 1 + } + }, + "required": [ + "emoji_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "delete_essence_msg", + "aliases": [], + "summary": "移除精华消息", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "移除精华消息", + "params": { + "message_id": -123456 + }, + "notes": "使用消息事件或发送结果中的真实 message_id,负值合法;消息须在当前账号的消息存储中可查询。" + } + ], + "readOnly": false, + "params": [ + { + "name": "message_id", + "type": "messageId", + "required": true, + "role": "message_id", + "schema": { + "type": "integer", + "not": { + "const": 0 + } + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "not": { + "const": 0 + }, + "x-role": "message_id" + } + }, + "required": [ + "message_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "delete_flash_file", + "aliases": [], + "summary": "删除闪传文件", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "删除闪传文件", + "params": { + "fileset_id": "" + }, + "notes": "fileset_id 来自 create_flash_task、get_fileset_id 或 list_filesets,替换为当前账号可访问的文件集。" + } + ], + "readOnly": false, + "params": [ + { + "name": "fileset_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "fileset_id": { + "type": "string", + "minLength": 1 + } + }, + "required": [ + "fileset_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "delete_friend", + "aliases": [], + "summary": "删除好友", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "删除好友", + "params": { + "user_id": 10001, + "block": false + }, + "notes": "会删除指定好友;仅在明确需要删除时调用。" + } + ], + "readOnly": false, + "params": [ + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "QQ 号" + }, + { + "name": "block", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": false + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 1, + "description": "QQ 号", + "x-role": "user_id" + }, + "block": { + "type": "boolean", + "default": false + } + }, + "required": [ + "user_id" + ], + "additionalProperties": true + }, + "category": "好友" + }, + { + "name": "delete_group_file", + "aliases": [], + "summary": "删除群文件", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "删除群文件", + "params": { + "group_id": 20001, + "file_id": "" + }, + "notes": "替换群文件列表中的实际 file_id;需要对应文件操作权限。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "file_id", + "type": "string", + "required": true, + "role": "file_id", + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "file_id": { + "type": "string", + "minLength": 1, + "x-role": "file_id" + } + }, + "required": [ + "group_id", + "file_id" + ], + "additionalProperties": true + }, + "category": "群文件" + }, + { + "name": "delete_group_file_folder", + "aliases": [], + "summary": "删除群文件夹", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "删除群文件夹", + "params": { + "group_id": 20001, + "folder_id": "" + }, + "notes": "会删除指定群文件夹,确认资源后调用。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "folder_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "folder_id": { + "type": "string", + "minLength": 1 + } + }, + "required": [ + "group_id", + "folder_id" + ], + "additionalProperties": true + }, + "category": "群文件" + }, + { + "name": "delete_group_folder", + "aliases": [], + "summary": "删除群文件夹", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "删除群文件夹", + "params": { + "group_id": 20001, + "folder_id": "" + }, + "notes": "会删除指定群文件夹,确认资源后调用。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "folder_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "folder_id": { + "type": "string", + "minLength": 1 + } + }, + "required": [ + "group_id", + "folder_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "delete_group_tag", + "aliases": [], + "summary": "从某个群分类移除资料标签", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "从某个群分类移除资料标签", + "params": { + "group_class": 1, + "name": "学习" + }, + "notes": "替换实际群分类和标签;需要当前账号有管理权限。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_class", + "type": "int", + "required": true, + "schema": { + "type": "integer", + "minimum": 0, + "maximum": 4294967295 + } + }, + { + "name": "name", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_class": { + "type": "integer", + "minimum": 0, + "maximum": 4294967295 + }, + "name": { + "type": "string", + "minLength": 1 + } + }, + "required": [ + "group_class", + "name" + ], + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "delete_msg", + "aliases": [], + "summary": "撤回消息", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "撤回消息", + "params": { + "message_id": -123456 + }, + "notes": "使用消息事件或发送结果中的真实 message_id,负值合法;消息须在当前账号的消息存储中可查询。" + } + ], + "readOnly": false, + "params": [ + { + "name": "message_id", + "type": "messageId", + "required": true, + "role": "message_id", + "schema": { + "type": "integer", + "not": { + "const": 0 + } + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "not": { + "const": 0 + }, + "x-role": "message_id" + } + }, + "required": [ + "message_id" + ], + "additionalProperties": true + }, + "category": "消息" + }, + { + "name": "delete_qzone_msg", + "aliases": [], + "summary": "删除一条说说(QQ 空间,按 tid)", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "删除一条说说(QQ 空间,按 tid)", + "params": { + "tid": "" + }, + "notes": "tid 来自 get_qzone_msg_list;操作需有该说说的访问或管理权限。" + } + ], + "readOnly": false, + "params": [ + { + "name": "tid", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + }, + "desc": "说说 tid(来自 get_qzone_msg_list / send_qzone_msg)" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "tid": { + "type": "string", + "minLength": 1, + "description": "说说 tid(来自 get_qzone_msg_list / send_qzone_msg)" + } + }, + "required": [ + "tid" + ], + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "delete_qzone_public_comment", + "aliases": [], + "summary": "删除推荐动态的一条评论(需有权限)", + "returns": "上游删除结果,保留未知字段。", + "returnsSchema": { + "type": "object", + "additionalProperties": true + }, + "examples": [ + { + "summary": "删除一条评论", + "params": { + "feed": { + "cell_common": { + "union_id": { + "uf_key": "", + "ugc_id": "", + "feed_id": "", + "ext_ids": [] + }, + "cur_like_key": "", + "domain_type": 3 + }, + "cell_feed_transfer": {}, + "cell_user_info": { + "user": { + "uin": "10001", + "uid": "", + "nick": "" + } + } + }, + "comment": { + "id": "", + "user": { + "uin": "", + "uid": "", + "nick": "" + }, + "like": { + "id": "", + "count": 0, + "status": 0 + }, + "reply_attach_info": "" + } + }, + "notes": "feed 必须原样取自 get_qzone_public_feeds 的 feeds 数组,不能用旧说说 tid 拼造;示例中的占位字段须整体替换。 comment 可取 get_qzone_public_feed_detail 返回的 feed.feed.cell_comment.comments,或后续评论页;保留完整对象。" + } + ], + "readOnly": false, + "params": [ + { + "name": "feed", + "type": "object", + "required": true, + "schema": { + "type": "object", + "additionalProperties": true + }, + "desc": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + }, + { + "name": "comment", + "type": "object", + "required": true, + "schema": { + "type": "object", + "additionalProperties": true + }, + "desc": "详情或评论页返回的完整评论对象,保留 user 等原始字段" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "feed": { + "type": "object", + "additionalProperties": true, + "description": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + }, + "comment": { + "type": "object", + "additionalProperties": true, + "description": "详情或评论页返回的完整评论对象,保留 user 等原始字段" + } + }, + "required": [ + "feed", + "comment" + ], + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "delete_qzone_public_reply", + "aliases": [], + "summary": "删除推荐动态评论下的一条回复(需有权限)", + "returns": "上游删除结果,保留未知字段。", + "returnsSchema": { + "type": "object", + "additionalProperties": true + }, + "examples": [ + { + "summary": "删除一条回复", + "params": { + "feed": { + "cell_common": { + "union_id": { + "uf_key": "", + "ugc_id": "", + "feed_id": "", + "ext_ids": [] + }, + "cur_like_key": "", + "domain_type": 3 + }, + "cell_feed_transfer": {}, + "cell_user_info": { + "user": { + "uin": "10001", + "uid": "", + "nick": "" + } + } + }, + "comment": { + "id": "", + "user": { + "uin": "", + "uid": "", + "nick": "" + }, + "like": { + "id": "", + "count": 0, + "status": 0 + }, + "reply_attach_info": "" + }, + "reply": { + "id": "", + "user": { + "uin": "", + "uid": "", + "nick": "" + }, + "like": { + "id": "", + "count": 0, + "status": 0 + } + } + }, + "notes": "feed 必须原样取自 get_qzone_public_feeds 的 feeds 数组,不能用旧说说 tid 拼造;示例中的占位字段须整体替换。 comment 可取 get_qzone_public_feed_detail 返回的 feed.feed.cell_comment.comments,或后续评论页;保留完整对象。 reply 使用该评论下的完整回复对象。" + } + ], + "readOnly": false, + "params": [ + { + "name": "feed", + "type": "object", + "required": true, + "schema": { + "type": "object", + "additionalProperties": true + }, + "desc": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + }, + { + "name": "comment", + "type": "object", + "required": true, + "schema": { + "type": "object", + "additionalProperties": true + }, + "desc": "详情或评论页返回的完整评论对象,保留 user 等原始字段" + }, + { + "name": "reply", + "type": "object", + "required": true, + "schema": { + "type": "object", + "additionalProperties": true + }, + "desc": "评论或回复页返回的完整回复对象,保留 user 等原始字段" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "feed": { + "type": "object", + "additionalProperties": true, + "description": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + }, + "comment": { + "type": "object", + "additionalProperties": true, + "description": "详情或评论页返回的完整评论对象,保留 user 等原始字段" + }, + "reply": { + "type": "object", + "additionalProperties": true, + "description": "评论或回复页返回的完整回复对象,保留 user 等原始字段" + } + }, + "required": [ + "feed", + "comment", + "reply" + ], + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "do_group_album_comment", + "aliases": [], + "returnsSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "user": { + "type": "object", + "properties": { + "uin": { + "type": "string" + } + }, + "required": [ + "uin" + ] + }, + "content": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "integer" + }, + "content": { + "type": "string" + } + }, + "required": [ + "type", + "content" + ] + } + }, + "time": { + "type": "string", + "description": "十进制时间字符串" + }, + "clientKey": { + "type": "string" + } + }, + "required": [ + "id", + "user", + "content", + "time", + "clientKey" + ] + }, + "examples": [ + { + "summary": "基本调用", + "params": { + "group_id": 20001, + "album_id": "", + "lloc": "", + "content": "拍得很好" + }, + "notes": "album_id 来自 get_group_album_list;lloc 或视频 id、batch_id 来自 get_group_album_media_list。替换群号及对应资源标识。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "album_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "lloc", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "content", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "album_id": { + "type": "string", + "minLength": 1 + }, + "lloc": { + "type": "string", + "minLength": 1 + }, + "content": { + "type": "string", + "minLength": 1 + } + }, + "required": [ + "group_id", + "album_id", + "lloc", + "content" + ], + "additionalProperties": true + }, + "category": "群相册" + }, + { + "name": "download_file", + "aliases": [], + "summary": "下载文件(url 或 base64)到 data/downloads", + "returns": "{ file }", + "returnsSchema": { + "type": "object", + "properties": { + "file": { + "type": "string", + "description": "保存到 SnowLuma 服务端的本地文件路径" + } + }, + "required": [ + "file" + ] + }, + "examples": [ + { + "summary": "下载文件(url 或 base64)到 data/downloads", + "params": { + "base64": "aGVsbG8=", + "name": "hello.txt" + }, + "notes": "保存到 SnowLuma 服务端临时目录,返回服务端路径;不是 MCP 主机下载路径。" + } + ], + "readOnly": false, + "params": [ + { + "name": "url", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + }, + { + "name": "base64", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + }, + { + "name": "name", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + }, + { + "name": "headers", + "type": "raw", + "required": false, + "schema": {} + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "url": { + "type": "string", + "default": "" + }, + "base64": { + "type": "string", + "default": "" + }, + "name": { + "type": "string", + "default": "" + }, + "headers": {} + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "download_file_image_stream", + "aliases": [], + "summary": "以流式方式下载图片(缓存图片 id / URL / stream 目录本地文件)", + "returns": "流式帧:file_info → file_chunk* → file_complete", + "returnsSchema": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "const": "stream" + }, + "data_type": { + "const": "file_info" + }, + "file_name": { + "type": "string" + }, + "file_size": { + "type": "integer", + "description": "字节数,0 可表示未知" + }, + "chunk_size": { + "type": "integer" + } + }, + "required": [ + "type", + "data_type", + "file_name", + "file_size", + "chunk_size" + ] + }, + { + "type": "object", + "properties": { + "type": { + "const": "stream" + }, + "data_type": { + "const": "file_chunk" + }, + "index": { + "type": "integer" + }, + "data": { + "type": "string", + "description": "该分块的 Base64 数据" + }, + "size": { + "type": "integer" + }, + "progress": { + "type": "number", + "minimum": 0, + "maximum": 100 + }, + "base64_size": { + "type": "integer" + } + }, + "required": [ + "type", + "data_type", + "index", + "data", + "size", + "progress", + "base64_size" + ] + }, + { + "type": "object", + "properties": { + "type": { + "const": "response" + }, + "data_type": { + "const": "file_complete" + }, + "file_name": { + "type": "string" + }, + "total_chunks": { + "type": "integer" + }, + "total_bytes": { + "type": "integer" + }, + "message": { + "type": "string" + } + }, + "required": [ + "type", + "data_type", + "file_name", + "total_chunks", + "total_bytes", + "message" + ] + } + ], + "description": "每个成功流式帧的 data;失败帧另由 status/retcode/wording 与 type=error 表示,不是 MCP 保存文件后的工具结果" + }, + "examples": [ + { + "summary": "以流式方式下载图片(缓存图片 id / URL / stream 目录本地文件)", + "params": { + "file_id": "", + "chunk_size": 65536 + }, + "notes": "file_id 来自当前账号图片消息;经 invoke_action 调用。" + } + ], + "readOnly": false, + "params": [ + { + "name": "file", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "desc": "文件路径(限 stream 临时目录)/ http(s) URL", + "role": "file" + }, + { + "name": "file_id", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "desc": "文件 ID(缓存的图片/语音 id)", + "role": "file_id" + }, + { + "name": "chunk_size", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "分块大小(字节,默认 64KB)" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "file": { + "type": "string", + "description": "文件路径(限 stream 临时目录)/ http(s) URL", + "x-role": "file" + }, + "file_id": { + "type": "string", + "description": "文件 ID(缓存的图片/语音 id)", + "x-role": "file_id" + }, + "chunk_size": { + "type": "integer", + "minimum": 1, + "description": "分块大小(字节,默认 64KB)" + } + }, + "additionalProperties": true + }, + "stream": true, + "category": "流式接口" + }, + { + "name": "download_file_record_stream", + "aliases": [], + "summary": "以流式方式下载语音(缓存语音 id / URL / stream 目录本地文件)", + "returns": "流式帧:file_info → file_chunk* → file_complete", + "returnsSchema": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "const": "stream" + }, + "data_type": { + "const": "file_info" + }, + "file_name": { + "type": "string" + }, + "file_size": { + "type": "integer", + "description": "字节数,0 可表示未知" + }, + "chunk_size": { + "type": "integer" + } + }, + "required": [ + "type", + "data_type", + "file_name", + "file_size", + "chunk_size" + ] + }, + { + "type": "object", + "properties": { + "type": { + "const": "stream" + }, + "data_type": { + "const": "file_chunk" + }, + "index": { + "type": "integer" + }, + "data": { + "type": "string", + "description": "该分块的 Base64 数据" + }, + "size": { + "type": "integer" + }, + "progress": { + "type": "number", + "minimum": 0, + "maximum": 100 + }, + "base64_size": { + "type": "integer" + } + }, + "required": [ + "type", + "data_type", + "index", + "data", + "size", + "progress", + "base64_size" + ] + }, + { + "type": "object", + "properties": { + "type": { + "const": "response" + }, + "data_type": { + "const": "file_complete" + }, + "file_name": { + "type": "string" + }, + "total_chunks": { + "type": "integer" + }, + "total_bytes": { + "type": "integer" + }, + "message": { + "type": "string" + } + }, + "required": [ + "type", + "data_type", + "file_name", + "total_chunks", + "total_bytes", + "message" + ] + } + ], + "description": "每个成功流式帧的 data;失败帧另由 status/retcode/wording 与 type=error 表示,不是 MCP 保存文件后的工具结果" + }, + "examples": [ + { + "summary": "以流式方式下载语音(缓存语音 id / URL / stream 目录本地文件)", + "params": { + "file_id": "", + "chunk_size": 65536 + }, + "notes": "file_id 来自当前账号语音消息;经 invoke_action 调用。" + } + ], + "readOnly": false, + "params": [ + { + "name": "file", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "desc": "文件路径(限 stream 临时目录)/ http(s) URL", + "role": "file" + }, + { + "name": "file_id", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "desc": "文件 ID(缓存的图片/语音 id)", + "role": "file_id" + }, + { + "name": "chunk_size", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "分块大小(字节,默认 64KB)" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "file": { + "type": "string", + "description": "文件路径(限 stream 临时目录)/ http(s) URL", + "x-role": "file" + }, + "file_id": { + "type": "string", + "description": "文件 ID(缓存的图片/语音 id)", + "x-role": "file_id" + }, + "chunk_size": { + "type": "integer", + "minimum": 1, + "description": "分块大小(字节,默认 64KB)" + } + }, + "additionalProperties": true + }, + "stream": true, + "category": "流式接口" + }, + { + "name": "download_file_stream", + "aliases": [], + "summary": "以流式方式下载文件(stream 目录本地文件 / URL / 缓存媒体)", + "returns": "流式帧:file_info → file_chunk* → file_complete", + "returnsSchema": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "const": "stream" + }, + "data_type": { + "const": "file_info" + }, + "file_name": { + "type": "string" + }, + "file_size": { + "type": "integer", + "description": "字节数,0 可表示未知" + }, + "chunk_size": { + "type": "integer" + } + }, + "required": [ + "type", + "data_type", + "file_name", + "file_size", + "chunk_size" + ] + }, + { + "type": "object", + "properties": { + "type": { + "const": "stream" + }, + "data_type": { + "const": "file_chunk" + }, + "index": { + "type": "integer" + }, + "data": { + "type": "string", + "description": "该分块的 Base64 数据" + }, + "size": { + "type": "integer" + }, + "progress": { + "type": "number", + "minimum": 0, + "maximum": 100 + }, + "base64_size": { + "type": "integer" + } + }, + "required": [ + "type", + "data_type", + "index", + "data", + "size", + "progress", + "base64_size" + ] + }, + { + "type": "object", + "properties": { + "type": { + "const": "response" + }, + "data_type": { + "const": "file_complete" + }, + "file_name": { + "type": "string" + }, + "total_chunks": { + "type": "integer" + }, + "total_bytes": { + "type": "integer" + }, + "message": { + "type": "string" + } + }, + "required": [ + "type", + "data_type", + "file_name", + "total_chunks", + "total_bytes", + "message" + ] + } + ], + "description": "每个成功流式帧的 data;失败帧另由 status/retcode/wording 与 type=error 表示,不是 MCP 保存文件后的工具结果" + }, + "examples": [ + { + "summary": "以流式方式下载文件(stream 目录本地文件 / URL / 缓存媒体)", + "params": { + "file": "https://example.com/report.pdf", + "chunk_size": 65536 + }, + "notes": "替换实际公开可访问地址;经 invoke_action 调用,文件保存到 MCP 下载目录。" + } + ], + "readOnly": false, + "params": [ + { + "name": "file", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "desc": "文件路径(限 stream 临时目录)/ http(s) URL", + "role": "file" + }, + { + "name": "file_id", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "desc": "文件 ID(缓存的图片/语音 id)", + "role": "file_id" + }, + { + "name": "chunk_size", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "分块大小(字节,默认 64KB)" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "file": { + "type": "string", + "description": "文件路径(限 stream 临时目录)/ http(s) URL", + "x-role": "file" + }, + "file_id": { + "type": "string", + "description": "文件 ID(缓存的图片/语音 id)", + "x-role": "file_id" + }, + "chunk_size": { + "type": "integer", + "minimum": 1, + "description": "分块大小(字节,默认 64KB)" + } + }, + "additionalProperties": true + }, + "stream": true, + "category": "流式接口" + }, + { + "name": "download_fileset", + "aliases": [], + "summary": "解析闪传文件下载直链(不下载,由调用方实现下载)", + "returns": "{ url, file_name, file_size }", + "returnsSchema": { + "type": "object", + "properties": { + "url": { + "type": "string" + }, + "file_name": { + "type": "string" + }, + "file_size": { + "type": "number" + } + }, + "required": [ + "url", + "file_name", + "file_size" + ] + }, + "examples": [ + { + "summary": "解析闪传文件下载直链(不下载,由调用方实现下载)", + "params": { + "fileset_id": "", + "file_index": 0 + }, + "notes": "fileset_id 来自 create_flash_task、get_fileset_id 或 list_filesets,替换为当前账号可访问的文件集。 file_index 从 0 开始。" + } + ], + "readOnly": false, + "params": [ + { + "name": "fileset_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "file_name", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "file_index", + "type": "number", + "required": false, + "schema": { + "type": "number" + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "fileset_id": { + "type": "string", + "minLength": 1 + }, + "file_name": { + "type": "string" + }, + "file_index": { + "type": "number" + } + }, + "required": [ + "fileset_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "fetch_custom_face", + "aliases": [], + "summary": "获取自定义表情", + "returns": "字符串数组:return_type=url 时为图片 URL,return_type=id 时为 emoji_id。", + "returnsSchema": { + "type": "array", + "items": { + "type": "string", + "description": "图片 URL 或 emoji_id(取决于 return_type)" + } + }, + "examples": [ + { + "summary": "获取自定义表情", + "params": { + "count": 10, + "return_type": "url" + } + } + ], + "readOnly": true, + "params": [ + { + "name": "count", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "default": 10 + }, + { + "name": "return_type", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "url" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 0, + "default": 10 + }, + "return_type": { + "type": "string", + "default": "url" + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "fetch_custom_face_detail", + "aliases": [], + "summary": "获取自定义表情详情", + "returns": "自定义表情详情数组,包含资源标识、图片地址、摘要与描述。", + "returnsSchema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "emoji_id": { + "type": "string", + "description": "可传给 SnowLuma 表情管理接口的资源标识" + }, + "resId": { + "type": "string", + "description": "兼容 NapCat 的资源标识" + }, + "url": { + "type": "string", + "description": "表情图片地址" + }, + "md5": { + "type": "string", + "description": "表情内容摘要" + }, + "desc": { + "type": "string", + "description": "自定义表情描述;未设置时为空字符串" + } + }, + "required": [ + "emoji_id", + "resId", + "url", + "md5", + "desc" + ] + } + }, + "examples": [ + { + "summary": "获取自定义表情详情", + "params": { + "count": 10 + } + } + ], + "readOnly": true, + "params": [ + { + "name": "count", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "default": 48 + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 0, + "default": 48 + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "fetch_emoji_like", + "aliases": [], + "summary": "获取表情回应用户(NapCat 分页)", + "returns": "分页的表情回应用户列表(NapCat 形状),含分页游标 cookie 与首/末页标记。", + "returnsSchema": { + "type": "object", + "properties": { + "result": { + "type": "integer", + "description": "结果码(恒 0)" + }, + "errMsg": { + "type": "string", + "description": "错误信息(恒空串)" + }, + "emojiLikesList": { + "type": "array", + "description": "回应用户列表", + "items": { + "type": "object", + "properties": { + "tinyId": { + "type": "string", + "description": "用户 QQ 号(字符串)" + }, + "nickName": { + "type": "string", + "description": "昵称(恒空串)" + }, + "headUrl": { + "type": "string", + "description": "头像 URL(恒空串)" + } + }, + "required": [ + "tinyId", + "nickName", + "headUrl" + ] + } + }, + "cookie": { + "type": "string", + "description": "下一页游标(末页为空串)" + }, + "isLastPage": { + "type": "boolean", + "description": "是否末页" + }, + "isFirstPage": { + "type": "boolean", + "description": "是否首页" + } + }, + "required": [ + "result", + "errMsg", + "emojiLikesList", + "cookie", + "isLastPage", + "isFirstPage" + ] + }, + "examples": [ + { + "summary": "获取表情回应用户(NapCat 分页)", + "params": { + "message_id": -123456, + "emojiId": "128077", + "count": 10 + }, + "notes": "使用消息事件或发送结果中的真实 message_id,负值合法;消息须在当前账号的消息存储中可查询。 后续页原样传回上页 cookie。" + } + ], + "readOnly": true, + "params": [ + { + "name": "message_id", + "type": "messageId", + "required": true, + "role": "message_id", + "schema": { + "type": "integer", + "not": { + "const": 0 + } + } + }, + { + "name": "emojiId", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "count", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "default": 10 + }, + { + "name": "cookie", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "not": { + "const": 0 + }, + "x-role": "message_id" + }, + "emojiId": { + "type": "string", + "minLength": 1 + }, + "count": { + "type": "integer", + "minimum": 0, + "default": 10 + }, + "cookie": { + "type": "string", + "default": "" + } + }, + "required": [ + "message_id", + "emojiId" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "fetch_face_entity", + "aliases": [], + "summary": "按编号查询 QQ 系统表情", + "returns": "表情详情;编号不存在时返回 null。", + "returnsSchema": { + "anyOf": [ + { + "type": "object", + "properties": { + "q_sid": { + "type": "string", + "description": "QQ 表情目录标识(部分 emoji 为 Unicode 表情字符串)" + }, + "q_des": { + "type": "string", + "description": "表情描述" + }, + "em_code": { + "type": "string" + }, + "q_cid": { + "type": [ + "integer", + "null" + ] + }, + "ani_sticker_type": { + "type": [ + "integer", + "null" + ] + }, + "ani_sticker_pack_id": { + "type": [ + "integer", + "null" + ] + }, + "ani_sticker_id": { + "type": [ + "integer", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + }, + "emoji_name_alias": { + "type": "array", + "items": { + "type": "string" + } + }, + "ani_sticker_width": { + "type": [ + "integer", + "null" + ] + }, + "ani_sticker_height": { + "type": [ + "integer", + "null" + ] + }, + "is_super": { + "type": "boolean", + "description": "是否使用超级表情格式" + } + }, + "required": [ + "q_sid", + "q_des", + "em_code", + "q_cid", + "ani_sticker_type", + "ani_sticker_pack_id", + "ani_sticker_id", + "url", + "emoji_name_alias", + "ani_sticker_width", + "ani_sticker_height", + "is_super" + ] + }, + { + "type": "null" + } + ] + }, + "examples": [ + { + "summary": "按编号查询 QQ 系统表情", + "params": { + "face_id": 14 + } + } + ], + "readOnly": true, + "params": [ + { + "name": "face_id", + "type": "int", + "required": true, + "role": "face_id", + "schema": { + "type": "integer", + "minimum": 0 + }, + "desc": "QQ 系统表情编号" + }, + { + "name": "refresh", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": false, + "desc": "是否强制从 QQ 刷新目录" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "face_id": { + "type": "integer", + "minimum": 0, + "description": "QQ 系统表情编号", + "x-role": "face_id" + }, + "refresh": { + "type": "boolean", + "description": "是否强制从 QQ 刷新目录", + "default": false + } + }, + "required": [ + "face_id" + ], + "additionalProperties": true + }, + "category": "系统表情" + }, + { + "name": "fetch_ptt_text", + "aliases": [ + "get_ptt_text", + "get_record_text" + ], + "summary": "获取语音转文字结果", + "returns": "{ text }:语音识别出的文本。", + "returnsSchema": { + "type": "object", + "properties": { + "text": { + "type": "string", + "description": "语音转写文本" + } + }, + "required": [ + "text" + ] + }, + "examples": [ + { + "summary": "获取语音转文字结果", + "params": { + "message_id": -123456 + }, + "notes": "使用消息事件或发送结果中的真实 message_id,负值合法;消息须在当前账号的消息存储中可查询。" + } + ], + "readOnly": true, + "params": [ + { + "name": "message_id", + "type": "messageId", + "required": true, + "role": "message_id", + "schema": { + "type": "integer", + "not": { + "const": 0 + } + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "not": { + "const": 0 + }, + "x-role": "message_id" + } + }, + "required": [ + "message_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "fetch_super_face_id", + "aliases": [], + "summary": "判断 QQ 系统表情是否使用超级表情格式", + "returns": "是否使用超级表情格式。", + "returnsSchema": { + "type": "object", + "properties": { + "is_super": { + "type": "boolean" + } + }, + "required": [ + "is_super" + ] + }, + "examples": [ + { + "summary": "判断 QQ 系统表情是否使用超级表情格式", + "params": { + "face_id": 14 + } + } + ], + "readOnly": true, + "params": [ + { + "name": "face_id", + "type": "int", + "required": true, + "role": "face_id", + "schema": { + "type": "integer", + "minimum": 0 + }, + "desc": "QQ 系统表情编号" + }, + { + "name": "refresh", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": false, + "desc": "是否强制从 QQ 刷新目录" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "face_id": { + "type": "integer", + "minimum": 0, + "description": "QQ 系统表情编号", + "x-role": "face_id" + }, + "refresh": { + "type": "boolean", + "description": "是否强制从 QQ 刷新目录", + "default": false + } + }, + "required": [ + "face_id" + ], + "additionalProperties": true + }, + "category": "系统表情" + }, + { + "name": "fetch_sys_faces", + "aliases": [], + "summary": "获取 QQ 系统表情目录", + "returns": "按分组返回完整的 QQ 系统表情映射。", + "returnsSchema": { + "type": "object", + "properties": { + "packs": { + "type": "array", + "items": { + "type": "object", + "properties": { + "pack_name": { + "type": "string" + }, + "emojis": { + "type": "array", + "items": { + "type": "object", + "properties": { + "q_sid": { + "type": "string", + "description": "QQ 表情目录标识(部分 emoji 为 Unicode 表情字符串)" + }, + "q_des": { + "type": "string", + "description": "表情描述" + }, + "em_code": { + "type": "string" + }, + "q_cid": { + "type": [ + "integer", + "null" + ] + }, + "ani_sticker_type": { + "type": [ + "integer", + "null" + ] + }, + "ani_sticker_pack_id": { + "type": [ + "integer", + "null" + ] + }, + "ani_sticker_id": { + "type": [ + "integer", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + }, + "emoji_name_alias": { + "type": "array", + "items": { + "type": "string" + } + }, + "ani_sticker_width": { + "type": [ + "integer", + "null" + ] + }, + "ani_sticker_height": { + "type": [ + "integer", + "null" + ] + }, + "is_super": { + "type": "boolean", + "description": "是否使用超级表情格式" + } + }, + "required": [ + "q_sid", + "q_des", + "em_code", + "q_cid", + "ani_sticker_type", + "ani_sticker_pack_id", + "ani_sticker_id", + "url", + "emoji_name_alias", + "ani_sticker_width", + "ani_sticker_height", + "is_super" + ] + } + } + }, + "required": [ + "pack_name", + "emojis" + ] + } + } + }, + "required": [ + "packs" + ] + }, + "examples": [ + { + "summary": "获取 QQ 系统表情目录", + "params": { + "refresh": false + } + } + ], + "readOnly": true, + "params": [ + { + "name": "refresh", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": false, + "desc": "是否强制从 QQ 刷新目录" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "refresh": { + "type": "boolean", + "description": "是否强制从 QQ 刷新目录", + "default": false + } + }, + "additionalProperties": true + }, + "category": "系统表情" + }, + { + "name": "forward_friend_single_msg", + "aliases": [], + "summary": "转发单条消息给好友", + "returnsSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647, + "not": { + "const": 0 + }, + "description": "非零有符号 32 位消息 ID,负值合法;必须原样保留" + } + }, + "required": [ + "message_id" + ] + }, + "examples": [ + { + "summary": "转发单条消息给好友", + "params": { + "message_id": -123456, + "user_id": 10001 + }, + "notes": "使用消息事件或发送结果中的真实 message_id,负值合法;消息须在当前账号的消息存储中可查询。" + } + ], + "readOnly": false, + "params": [ + { + "name": "message_id", + "type": "messageId", + "required": true, + "role": "message_id", + "schema": { + "type": "integer", + "not": { + "const": 0 + } + } + }, + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "not": { + "const": 0 + }, + "x-role": "message_id" + }, + "user_id": { + "type": "integer", + "minimum": 1, + "x-role": "user_id" + } + }, + "required": [ + "message_id", + "user_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "forward_group_single_msg", + "aliases": [], + "summary": "转发单条消息到群", + "returnsSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647, + "not": { + "const": 0 + }, + "description": "非零有符号 32 位消息 ID,负值合法;必须原样保留" + } + }, + "required": [ + "message_id" + ] + }, + "examples": [ + { + "summary": "转发单条消息到群", + "params": { + "message_id": -123456, + "group_id": 20001 + }, + "notes": "使用消息事件或发送结果中的真实 message_id,负值合法;消息须在当前账号的消息存储中可查询。" + } + ], + "readOnly": false, + "params": [ + { + "name": "message_id", + "type": "messageId", + "required": true, + "role": "message_id", + "schema": { + "type": "integer", + "not": { + "const": 0 + } + } + }, + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "not": { + "const": 0 + }, + "x-role": "message_id" + }, + "group_id": { + "type": "integer", + "minimum": 1, + "x-role": "group_id" + } + }, + "required": [ + "message_id", + "group_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "forward_qzone_public_feed", + "aliases": [], + "summary": "将推荐动态转发到当前账号空间", + "returns": "上游转发结果,保留未知字段。", + "returnsSchema": { + "type": "object", + "additionalProperties": true + }, + "examples": [ + { + "summary": "转发推荐动态到我的空间", + "params": { + "feed": { + "cell_common": { + "union_id": { + "uf_key": "", + "ugc_id": "", + "feed_id": "", + "ext_ids": [] + }, + "cur_like_key": "", + "domain_type": 3 + }, + "cell_feed_transfer": {}, + "cell_user_info": { + "user": { + "uin": "10001", + "uid": "", + "nick": "" + } + } + }, + "reason": "分享这条动态" + }, + "notes": "feed 必须原样取自 get_qzone_public_feeds 的 feeds 数组,不能用旧说说 tid 拼造;示例中的占位字段须整体替换。 只转发,不同时评论或发送给 QQ 联系人。" + } + ], + "readOnly": false, + "params": [ + { + "name": "feed", + "type": "object", + "required": true, + "schema": { + "type": "object", + "additionalProperties": true + }, + "desc": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + }, + { + "name": "reason", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "desc": "转发附言,可为空", + "default": "" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "feed": { + "type": "object", + "additionalProperties": true, + "description": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + }, + "reason": { + "type": "string", + "description": "转发附言,可为空", + "default": "" + } + }, + "required": [ + "feed" + ], + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "friend_poke", + "aliases": [], + "summary": "好友拍一拍", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "好友拍一拍", + "params": { + "user_id": 10001 + }, + "notes": "戳一戳指定好友。" + } + ], + "readOnly": false, + "params": [ + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "target_id", + "type": "uint", + "required": false, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 1, + "x-role": "user_id" + }, + "target_id": { + "type": "integer", + "minimum": 1, + "x-role": "user_id" + } + }, + "required": [ + "user_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_ai_characters", + "aliases": [], + "summary": "获取 AI 语音角色", + "returns": "按分类分组的 AI 语音角色列表,每组含分类名与角色(id、名称、试听 URL)。", + "returnsSchema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "角色分类名" + }, + "characters": { + "type": "array", + "description": "该分类下的角色列表", + "items": { + "type": "object", + "properties": { + "character_id": { + "type": "string", + "description": "角色 ID" + }, + "character_name": { + "type": "string", + "description": "角色显示名" + }, + "preview_url": { + "type": "string", + "description": "试听音频 URL" + } + }, + "required": [ + "character_id", + "character_name", + "preview_url" + ] + } + } + }, + "required": [ + "type", + "characters" + ] + } + }, + "examples": [ + { + "summary": "获取 AI 语音角色", + "params": { + "group_id": 20001, + "chat_type": 1 + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "chat_type", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "default": 1 + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "chat_type": { + "type": "integer", + "minimum": 0, + "default": 1 + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_ai_record", + "aliases": [], + "summary": "生成 AI 语音", + "returnsSchema": { + "type": "string", + "description": "生成的下载或分享 URL 字符串,不是含 url 字段的对象" + }, + "examples": [ + { + "summary": "生成 AI 语音", + "params": { + "group_id": 20001, + "character": "", + "text": "你好", + "chat_type": 1 + }, + "notes": "character 原样使用 get_ai_characters 的 character_id;send_group_ai_record 会直接发送语音。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "character", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "text", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "chat_type", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "default": 1 + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "character": { + "type": "string", + "minLength": 1 + }, + "text": { + "type": "string", + "minLength": 1 + }, + "chat_type": { + "type": "integer", + "minimum": 0, + "default": 1 + } + }, + "required": [ + "group_id", + "character", + "text" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_clientkey", + "aliases": [], + "summary": "获取 clientkey", + "returns": "{ clientKey, expireTime, keyIndex }:clientkey 及其过期时间与索引。", + "returnsSchema": { + "type": "object", + "properties": { + "clientKey": { + "type": "string", + "description": "clientkey" + }, + "expireTime": { + "type": "string", + "description": "过期时间" + }, + "keyIndex": { + "type": "string", + "description": "key 索引" + } + }, + "required": [ + "clientKey", + "expireTime", + "keyIndex" + ] + }, + "examples": [ + { + "summary": "获取 clientkey", + "params": {}, + "notes": "返回值可能包含凭据或临时下载密钥,请勿公开或记录到不受控日志。" + } + ], + "readOnly": true, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_collection_list", + "aliases": [], + "summary": "获取收藏列表", + "returns": "返回收藏条目、是否还有更多数据及底部时间游标。", + "returnsSchema": { + "type": "object", + "properties": { + "errCode": { + "type": "integer" + }, + "errMsg": { + "type": "string" + }, + "collectionSearchList": { + "type": "object", + "properties": { + "collectionItemList": { + "type": "array", + "items": { + "type": "object", + "properties": { + "cid": { + "type": "string" + }, + "type": { + "type": "integer" + }, + "status": { + "type": "integer" + }, + "author": { + "type": "object", + "properties": { + "type": { + "type": "integer" + }, + "numId": { + "type": "string" + }, + "strId": { + "type": "string" + }, + "groupId": { + "type": "string" + }, + "groupName": { + "type": "string" + }, + "uid": { + "type": "string" + } + }, + "required": [ + "type", + "numId", + "strId", + "groupId", + "groupName", + "uid" + ] + }, + "bid": { + "type": "integer" + }, + "category": { + "type": "integer" + }, + "createTime": { + "type": "string" + }, + "collectTime": { + "type": "string" + }, + "modifyTime": { + "type": "string" + }, + "sequence": { + "type": "string" + }, + "shareUrl": { + "type": "string" + }, + "customGroupId": { + "type": "integer" + }, + "securityBeat": { + "type": "boolean" + }, + "summary": { + "type": "object", + "properties": { + "textSummary": { + "type": [ + "object", + "null" + ] + }, + "linkSummary": { + "type": [ + "object", + "null" + ] + }, + "gallerySummary": { + "type": [ + "object", + "null" + ] + }, + "audioSummary": { + "type": [ + "object", + "null" + ] + }, + "videoSummary": { + "type": [ + "object", + "null" + ] + }, + "fileSummary": { + "type": [ + "object", + "null" + ] + }, + "locationSummary": { + "type": [ + "object", + "null" + ] + }, + "richMediaSummary": { + "type": [ + "object", + "null" + ] + } + }, + "required": [ + "textSummary", + "linkSummary", + "gallerySummary", + "audioSummary", + "videoSummary", + "fileSummary", + "locationSummary", + "richMediaSummary" + ] + } + }, + "required": [ + "cid", + "type", + "status", + "author", + "bid", + "category", + "createTime", + "collectTime", + "modifyTime", + "sequence", + "shareUrl", + "customGroupId", + "securityBeat", + "summary" + ] + } + }, + "hasMore": { + "type": "boolean" + }, + "bottomTimeStamp": { + "type": "string" + } + }, + "required": [ + "collectionItemList", + "hasMore", + "bottomTimeStamp" + ] + } + }, + "required": [ + "errCode", + "errMsg", + "collectionSearchList" + ] + }, + "examples": [ + { + "summary": "获取收藏列表", + "params": { + "category": 0, + "count": 20 + } + } + ], + "readOnly": true, + "params": [ + { + "name": "category", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "desc": "收藏分类 ID;0 表示全部分类", + "default": 0 + }, + { + "name": "count", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 500 + }, + "desc": "最多返回的收藏数量", + "default": 50 + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "category": { + "type": "integer", + "minimum": 0, + "description": "收藏分类 ID;0 表示全部分类", + "default": 0 + }, + "count": { + "type": "integer", + "minimum": 1, + "maximum": 500, + "description": "最多返回的收藏数量", + "default": 50 + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_cookies", + "aliases": [], + "summary": "获取 Cookies", + "returns": "{ cookies }:指定域名的 Cookie 字符串。", + "returnsSchema": { + "type": "object", + "properties": { + "cookies": { + "type": "string", + "description": "该域名的 Cookie 字符串" + } + }, + "required": [ + "cookies" + ] + }, + "examples": [ + { + "summary": "获取 Cookies", + "params": { + "domain": "qun.qq.com" + }, + "notes": "返回登录凭据,仅在有明确用途时读取,请勿公开。" + } + ], + "readOnly": true, + "params": [ + { + "name": "domain", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "qun.qq.com" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "domain": { + "type": "string", + "default": "qun.qq.com" + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_credentials", + "aliases": [], + "summary": "获取凭证", + "returns": "{ cookies, token, csrf_token }:Cookie 字符串与 CSRF 令牌(token 与 csrf_token 同值)。", + "returnsSchema": { + "type": "object", + "properties": { + "cookies": { + "type": "string", + "description": "该域名的 Cookie 字符串" + }, + "token": { + "type": "integer", + "description": "CSRF 令牌(bkn)" + }, + "csrf_token": { + "type": "integer", + "description": "CSRF 令牌(同 token)" + } + }, + "required": [ + "cookies", + "token", + "csrf_token" + ] + }, + "examples": [ + { + "summary": "获取凭证", + "params": { + "domain": "qun.qq.com" + }, + "notes": "返回登录凭据,仅在有明确用途时读取,请勿公开。" + } + ], + "readOnly": true, + "params": [ + { + "name": "domain", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "qun.qq.com" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "domain": { + "type": "string", + "default": "qun.qq.com" + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_csrf_token", + "aliases": [], + "summary": "获取 CSRF 令牌", + "returns": "{ token }:CSRF 令牌(bkn,数值)。", + "returnsSchema": { + "type": "object", + "properties": { + "token": { + "type": "integer", + "description": "CSRF 令牌(bkn)" + } + }, + "required": [ + "token" + ] + }, + "examples": [ + { + "summary": "获取 CSRF 令牌", + "params": {} + } + ], + "readOnly": true, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_doubt_friends_add_request", + "aliases": [], + "summary": "获取可疑好友申请", + "returns": "可疑好友申请数组,每项含 uid(作为处理用 flag)、昵称、来源、留言与申请时间。", + "returnsSchema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "uid": { + "type": "string", + "description": "申请人 uid(回传作 set_doubt_friends_add_request 的 flag)" + }, + "user_id": { + "type": "integer", + "description": "申请人 QQ 号" + }, + "nick": { + "type": "string", + "description": "申请人昵称" + }, + "source": { + "type": "string", + "description": "申请来源" + }, + "reason": { + "type": "string", + "description": "附加说明" + }, + "msg": { + "type": "string", + "description": "验证留言" + }, + "group_code": { + "type": "string", + "description": "来源群号,无则为空串" + }, + "reqTime": { + "type": "integer", + "description": "申请时间戳" + } + }, + "required": [ + "uid", + "user_id", + "nick", + "source", + "reason", + "msg", + "group_code", + "reqTime" + ] + } + }, + "examples": [ + { + "summary": "获取可疑好友申请", + "params": { + "count": 20 + } + } + ], + "readOnly": true, + "params": [ + { + "name": "count", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "default": 50 + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 0, + "default": 50 + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_emoji_likes", + "aliases": [], + "summary": "获取表情回应用户", + "returns": "{ emoji_like_list }:回应该表情的用户列表(nick_name 恒为空串)。", + "returnsSchema": { + "type": "object", + "properties": { + "emoji_like_list": { + "type": "array", + "description": "回应用户列表", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "string", + "description": "用户 QQ 号(字符串)" + }, + "nick_name": { + "type": "string", + "description": "昵称(当前实现恒为空串)" + } + }, + "required": [ + "user_id", + "nick_name" + ] + } + } + }, + "required": [ + "emoji_like_list" + ] + }, + "examples": [ + { + "summary": "获取表情回应用户", + "params": { + "message_id": -123456, + "emoji_id": "128077" + }, + "notes": "使用消息事件或发送结果中的真实 message_id,负值合法;消息须在当前账号的消息存储中可查询。" + } + ], + "readOnly": true, + "params": [ + { + "name": "message_id", + "type": "messageId", + "required": true, + "role": "message_id", + "schema": { + "type": "integer", + "not": { + "const": 0 + } + } + }, + { + "name": "emoji_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "not": { + "const": 0 + }, + "x-role": "message_id" + }, + "emoji_id": { + "type": "string", + "minLength": 1 + } + }, + "required": [ + "message_id", + "emoji_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_essence_msg_list", + "aliases": [], + "summary": "获取精华消息列表", + "returnsSchema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "msg_seq": { + "type": "integer" + }, + "msg_random": { + "type": "integer" + }, + "sender_id": { + "type": "integer" + }, + "sender_nick": { + "type": "string" + }, + "sender_time": { + "type": "integer" + }, + "operator_id": { + "type": "integer" + }, + "operator_nick": { + "type": "string" + }, + "operator_time": { + "type": "integer" + }, + "message_id": { + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647, + "not": { + "const": 0 + }, + "description": "非零有符号 32 位消息 ID,负值合法;必须原样保留" + }, + "content": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "消息段类型,例如 text、image、reply" + }, + "data": { + "type": "object", + "description": "字段随消息段类型变化,例如 text 段包含 text,reply 段包含 id", + "additionalProperties": true + } + }, + "required": [ + "type", + "data" + ] + } + } + }, + "required": [ + "msg_seq", + "msg_random", + "sender_id", + "sender_nick", + "sender_time", + "operator_id", + "operator_nick", + "operator_time", + "message_id", + "content" + ] + } + }, + "examples": [ + { + "summary": "获取精华消息列表", + "params": { + "group_id": 20001 + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_file", + "aliases": [], + "summary": "获取文件信息(仅图片/语音缓存;群文件请用 get_group_file_url)", + "returnsSchema": { + "type": "object", + "properties": { + "file": { + "type": "string", + "description": "媒体地址;图片无地址时可为原文件标识" + }, + "url": { + "type": "string", + "description": "媒体下载地址,图片地址可能为空" + }, + "file_size": { + "type": "string", + "description": "原媒体字节数的十进制字符串" + }, + "file_name": { + "type": "string", + "description": "文件名或缓存标识" + } + }, + "required": [ + "file", + "url", + "file_size", + "file_name" + ] + }, + "examples": [ + { + "summary": "获取文件信息(仅图片/语音缓存;群文件请用 get_group_file_url)", + "params": { + "file_id": "" + }, + "notes": "仅查询已缓存的图片或语音,先尝试图片,再尝试语音。" + } + ], + "readOnly": true, + "params": [ + { + "name": "file_id", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "", + "role": "file_id" + }, + { + "name": "file", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "", + "role": "file" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "file_id": { + "type": "string", + "default": "", + "x-role": "file_id" + }, + "file": { + "type": "string", + "default": "", + "x-role": "file" + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_fileset_id", + "aliases": [], + "summary": "从 QQ 闪传分享码或官方分享链接获取 fileset_id", + "returns": "{ fileset_id }:解析出的文件集 ID。", + "returnsSchema": { + "type": "object", + "properties": { + "fileset_id": { + "type": "string", + "description": "文件集 ID" + } + }, + "required": [ + "fileset_id" + ] + }, + "examples": [ + { + "summary": "从 QQ 闪传分享码或官方分享链接获取 fileset_id", + "params": { + "share_code": "" + }, + "notes": "share_code 使用实际闪传分享链接或提取码。" + } + ], + "readOnly": true, + "params": [ + { + "name": "share_code", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + }, + "desc": "QQ 闪传分享码,或 https://qfile.qq.com/q/... 官方分享链接" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "share_code": { + "type": "string", + "minLength": 1, + "description": "QQ 闪传分享码,或 https://qfile.qq.com/q/... 官方分享链接" + } + }, + "required": [ + "share_code" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_fileset_info", + "aliases": [], + "summary": "获取文件集信息", + "returnsSchema": { + "type": "object", + "properties": { + "fileset_id": { + "type": "string" + }, + "file_list": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fileset_id": { + "type": "string" + }, + "file_name": { + "type": "string" + }, + "orig_name": { + "type": "string" + }, + "size": { + "type": "number", + "description": "文件字节数;此接口字段名为 size" + }, + "share_url": { + "type": "string" + }, + "file_id": { + "type": "string" + }, + "download_url": { + "type": "string" + } + }, + "required": [ + "fileset_id", + "file_name", + "orig_name", + "size", + "share_url", + "file_id", + "download_url" + ] + } + } + }, + "required": [ + "fileset_id", + "file_list" + ] + }, + "examples": [ + { + "summary": "获取文件集信息", + "params": { + "fileset_id": "" + }, + "notes": "fileset_id 来自 create_flash_task、get_fileset_id 或 list_filesets,替换为当前账号可访问的文件集。" + } + ], + "readOnly": false, + "params": [ + { + "name": "fileset_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "fileset_id": { + "type": "string", + "minLength": 1 + } + }, + "required": [ + "fileset_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_flash_file_list", + "aliases": [], + "summary": "获取闪传文件列表", + "returnsSchema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fileset_id": { + "type": "string" + }, + "file_name": { + "type": "string" + }, + "orig_name": { + "type": "string" + }, + "size": { + "type": "number", + "description": "文件字节数;此接口字段名为 size" + }, + "share_url": { + "type": "string" + }, + "file_id": { + "type": "string" + }, + "download_url": { + "type": "string" + } + }, + "required": [ + "fileset_id", + "file_name", + "orig_name", + "size", + "share_url", + "file_id", + "download_url" + ] + } + }, + "examples": [ + { + "summary": "获取闪传文件列表", + "params": { + "fileset_id": "" + }, + "notes": "fileset_id 来自 create_flash_task、get_fileset_id 或 list_filesets,替换为当前账号可访问的文件集。" + } + ], + "readOnly": false, + "params": [ + { + "name": "fileset_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "fileset_id": { + "type": "string", + "minLength": 1 + } + }, + "required": [ + "fileset_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_flash_file_url", + "aliases": [], + "summary": "获取闪传文件链接", + "returnsSchema": { + "type": "object", + "properties": { + "url": { + "type": "string" + } + }, + "required": [ + "url" + ] + }, + "examples": [ + { + "summary": "获取闪传文件链接", + "params": { + "fileset_id": "", + "file_index": 0 + }, + "notes": "fileset_id 来自 create_flash_task、get_fileset_id 或 list_filesets,替换为当前账号可访问的文件集。 file_index 从 0 开始。" + } + ], + "readOnly": false, + "params": [ + { + "name": "fileset_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "file_name", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "file_index", + "type": "number", + "required": false, + "schema": { + "type": "number" + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "fileset_id": { + "type": "string", + "minLength": 1 + }, + "file_name": { + "type": "string" + }, + "file_index": { + "type": "number" + } + }, + "required": [ + "fileset_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_forward_msg", + "aliases": [], + "summary": "获取合并转发消息(id 或 message_id)", + "returns": "{ messages }:转发内的消息节点数组(每项为 OneBot 消息事件);reply 保留 id,有内嵌引用内容时附带 message 和可用的 qq/time/seq,可作为转发节点 content 再次发送。", + "returnsSchema": { + "type": "object", + "properties": { + "messages": { + "type": "array", + "description": "转发消息节点数组;节点标识与本地消息 ID 不是同一契约", + "items": { + "type": "object", + "properties": { + "time": { + "type": "integer", + "description": "消息时间,Unix 秒" + }, + "message_type": { + "type": "string", + "enum": [ + "private", + "group" + ] + }, + "sub_type": { + "type": "string", + "description": "消息子类型" + }, + "message_id": { + "type": "integer", + "description": "转发节点原始标识,缺失时为 0" + }, + "real_id": { + "type": "integer", + "description": "与节点 message_id 相同" + }, + "user_id": { + "type": "integer", + "description": "发送者 QQ 号" + }, + "group_id": { + "type": "integer", + "description": "群聊消息的群号,私聊可省略" + }, + "target_id": { + "type": "integer", + "description": "私聊目标 QQ 号(若有)" + }, + "message": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "消息段类型,例如 text、image、reply" + }, + "data": { + "type": "object", + "description": "字段随消息段类型变化,例如 text 段包含 text,reply 段包含 id", + "additionalProperties": true + } + }, + "required": [ + "type", + "data" + ] + } + }, + "raw_message": { + "type": "string", + "description": "消息的 CQ 码字符串形式" + }, + "font": { + "type": "integer" + }, + "sender": { + "type": "object", + "properties": { + "user_id": { + "type": "integer" + }, + "nickname": { + "type": "string" + }, + "card": { + "type": "string" + }, + "sex": { + "type": "string", + "enum": [ + "male", + "female", + "unknown" + ] + }, + "age": { + "type": "integer" + }, + "area": { + "type": "string" + }, + "level": { + "type": "string" + }, + "role": { + "type": "string", + "enum": [ + "owner", + "admin", + "member" + ] + }, + "title": { + "type": "string" + } + }, + "additionalProperties": true + }, + "self_id": { + "type": "integer" + }, + "post_type": { + "const": "message" + }, + "message_format": { + "const": "array" + }, + "message_seq": { + "type": "integer", + "description": "节点消息序号,缺失时使用节点标识或 0" + } + }, + "additionalProperties": true, + "required": [ + "self_id", + "user_id", + "time", + "message_id", + "message_seq", + "real_id", + "message_type", + "sender", + "raw_message", + "font", + "sub_type", + "message", + "message_format", + "post_type" + ] + } + } + }, + "required": [ + "messages" + ] + }, + "examples": [ + { + "summary": "获取合并转发消息(id 或 message_id)", + "params": { + "id": "" + }, + "notes": "id 是合并转发资源标识,通常来自转发消息段或上传结果 res_id,不是普通数值 message_id。" + } + ], + "readOnly": true, + "params": [ + { + "name": "id", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "message_id", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "id": { + "type": "string" + }, + "message_id": { + "type": "string" + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_friend_list", + "aliases": [], + "summary": "获取好友列表", + "returns": "好友列表,包含账号、昵称、备注及回包已有的公开资料;with_profile=true 时主动补查,失败会报错。未返回的资料省略,零、空字符串和 false 保留。", + "returnsSchema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "description": "好友 QQ 号" + }, + "nickname": { + "type": "string", + "description": "好友昵称" + }, + "remark": { + "type": "string", + "description": "好友备注" + }, + "category_id": { + "type": "integer", + "description": "好友分组编号,有来源时返回" + }, + "long_nick": { + "type": "string", + "description": "个性签名" + }, + "sex": { + "type": "string", + "enum": [ + "male", + "female", + "unknown" + ], + "description": "性别" + }, + "age": { + "type": "integer", + "description": "年龄" + }, + "level": { + "type": "integer", + "description": "QQ 等级" + }, + "birthday_year": { + "type": "integer", + "description": "生日年份,未公开时省略" + }, + "birthday_month": { + "type": "integer", + "description": "生日月份(1-12)" + }, + "birthday_day": { + "type": "integer", + "description": "生日日期(1-31)" + }, + "phone_num": { + "type": "string", + "description": "资料卡公开的电话号码" + }, + "email": { + "type": "string", + "description": "资料卡公开的邮箱" + }, + "country": { + "type": "string", + "description": "国家" + }, + "province": { + "type": "string", + "description": "省份" + }, + "city": { + "type": "string", + "description": "城市" + }, + "college": { + "type": "string", + "description": "学校" + }, + "is_qq_vip": { + "type": "boolean", + "description": "普通会员状态" + }, + "is_vip": { + "type": "boolean", + "description": "超级会员状态,兼容已有接口" + }, + "is_years_vip": { + "type": "boolean", + "description": "年费会员状态" + }, + "vip_level": { + "type": "integer", + "description": "会员等级" + }, + "privilege_icons": { + "type": "object", + "description": "业务图标;未返回该资料时省略整个字段,空列表表示没有该类图标", + "properties": { + "jump_url": { + "type": "string", + "description": "业务列表跳转地址" + }, + "open": { + "type": "array", + "description": "已开通业务", + "items": { + "type": "object", + "properties": { + "type": { + "type": "integer", + "description": "业务类型" + }, + "level": { + "type": "integer", + "description": "业务等级" + }, + "flag": { + "type": "integer", + "description": "服务端业务标志" + }, + "is_big": { + "type": "integer", + "description": "服务端大图标标志" + }, + "jump_url": { + "type": "string", + "description": "业务跳转地址" + }, + "icon_url": { + "type": "string", + "description": "普通图标地址" + }, + "deluxe_icon_url": { + "type": "string", + "description": "高级图标地址,可与普通图标同时存在" + } + } + } + }, + "closed": { + "type": "array", + "description": "未开通业务", + "items": { + "type": "object", + "properties": { + "type": { + "type": "integer", + "description": "业务类型" + }, + "level": { + "type": "integer", + "description": "业务等级" + }, + "flag": { + "type": "integer", + "description": "服务端业务标志" + }, + "is_big": { + "type": "integer", + "description": "服务端大图标标志" + }, + "jump_url": { + "type": "string", + "description": "业务跳转地址" + }, + "icon_url": { + "type": "string", + "description": "普通图标地址" + }, + "deluxe_icon_url": { + "type": "string", + "description": "高级图标地址,可与普通图标同时存在" + } + } + } + } + }, + "required": [ + "open", + "closed" + ] + } + }, + "required": [ + "user_id", + "nickname", + "remark" + ] + } + }, + "examples": [ + { + "summary": "获取好友列表", + "params": {} + } + ], + "readOnly": true, + "params": [ + { + "name": "with_profile", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": false, + "desc": "主动补查好友公开资料,按账号缓存五分钟;大列表可能耗时较长" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "with_profile": { + "type": "boolean", + "description": "主动补查好友公开资料,按账号缓存五分钟;大列表可能耗时较长", + "default": false + } + }, + "additionalProperties": true + }, + "category": "好友" + }, + { + "name": "get_friend_msg_history", + "aliases": [], + "summary": "获取好友消息历史(无锚点时从服务器获取最新双向记录)", + "returns": "{ messages }:好友消息事件对象数组(每项为 OneBot 消息事件,内部字段不固定)。", + "returnsSchema": { + "type": "object", + "properties": { + "messages": { + "type": "array", + "description": "消息对象数组;去除 post_type/self_id,附带 real_id", + "items": { + "type": "object", + "properties": { + "time": { + "type": "integer", + "description": "消息时间,Unix 秒" + }, + "message_type": { + "type": "string", + "enum": [ + "private", + "group" + ] + }, + "sub_type": { + "type": "string", + "description": "消息子类型" + }, + "message_id": { + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647, + "not": { + "const": 0 + }, + "description": "非零有符号 32 位消息 ID,负值合法;必须原样保留" + }, + "real_id": { + "type": "integer", + "description": "原始 message_id;旧历史记录缺失时可为 0" + }, + "user_id": { + "type": "integer", + "description": "发送者 QQ 号" + }, + "group_id": { + "type": "integer", + "description": "群聊消息的群号,私聊可省略" + }, + "target_id": { + "type": "integer", + "description": "私聊目标 QQ 号(若有)" + }, + "message": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "消息段类型,例如 text、image、reply" + }, + "data": { + "type": "object", + "description": "字段随消息段类型变化,例如 text 段包含 text,reply 段包含 id", + "additionalProperties": true + } + }, + "required": [ + "type", + "data" + ] + } + }, + "raw_message": { + "type": "string", + "description": "消息的 CQ 码字符串形式" + }, + "font": { + "type": "integer" + }, + "sender": { + "type": "object", + "properties": { + "user_id": { + "type": "integer" + }, + "nickname": { + "type": "string" + }, + "card": { + "type": "string" + }, + "sex": { + "type": "string", + "enum": [ + "male", + "female", + "unknown" + ] + }, + "age": { + "type": "integer" + }, + "area": { + "type": "string" + }, + "level": { + "type": "string" + }, + "role": { + "type": "string", + "enum": [ + "owner", + "admin", + "member" + ] + }, + "title": { + "type": "string" + } + }, + "additionalProperties": true + }, + "auto_reply": { + "const": true, + "description": "仅当 QQ 标记该私聊消息为自动回复时提供" + } + }, + "additionalProperties": true + } + } + }, + "required": [ + "messages" + ] + }, + "examples": [ + { + "summary": "获取好友消息历史(无锚点时从服务器获取最新双向记录)", + "params": { + "user_id": 10001, + "count": 20 + }, + "notes": "省略 message_id 从最新消息开始;只读取当前账号消息。" + } + ], + "readOnly": true, + "params": [ + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "message_id", + "type": "int", + "required": false, + "schema": { + "type": "integer" + }, + "default": 0, + "role": "message_id" + }, + { + "name": "count", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "default": 20, + "desc": "无锚点时从 QQ 服务器获取最新双向历史;服务器或身份解析失败时动作失败,不返回不完整的本地缓存" + }, + { + "name": "reverse_order", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": true, + "desc": "仅在 message_id 非 0 时生效;true 返回锚点及更旧消息,false 返回锚点及更新消息" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 1, + "x-role": "user_id" + }, + "message_id": { + "type": "integer", + "default": 0, + "x-role": "message_id" + }, + "count": { + "type": "integer", + "minimum": 0, + "description": "无锚点时从 QQ 服务器获取最新双向历史;服务器或身份解析失败时动作失败,不返回不完整的本地缓存", + "default": 20 + }, + "reverse_order": { + "type": "boolean", + "description": "仅在 message_id 非 0 时生效;true 返回锚点及更旧消息,false 返回锚点及更新消息", + "default": true + } + }, + "required": [ + "user_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_friends_with_category", + "aliases": [], + "summary": "获取分组好友列表", + "returns": "好友分组数组;buddyList 与 get_friend_list 使用相同资料字段。默认只使用列表回包,with_profile=true 主动补查,失败会报错;未返回的资料省略。", + "returnsSchema": { + "type": "array", + "description": "带分组的好友列表", + "items": { + "type": "object", + "properties": { + "categoryId": { + "type": "integer", + "description": "分组 ID" + }, + "categoryName": { + "type": "string", + "description": "分组名称" + }, + "categoryMbCount": { + "type": "integer", + "description": "服务端报告的分组好友数" + }, + "buddyList": { + "type": "array", + "description": "该分组内的好友", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "description": "好友 QQ 号" + }, + "nickname": { + "type": "string", + "description": "好友昵称" + }, + "remark": { + "type": "string", + "description": "好友备注" + }, + "category_id": { + "type": "integer", + "description": "好友分组编号,有来源时返回" + }, + "long_nick": { + "type": "string", + "description": "个性签名" + }, + "sex": { + "type": "string", + "enum": [ + "male", + "female", + "unknown" + ], + "description": "性别" + }, + "age": { + "type": "integer", + "description": "年龄" + }, + "level": { + "type": "integer", + "description": "QQ 等级" + }, + "birthday_year": { + "type": "integer", + "description": "生日年份,未公开时省略" + }, + "birthday_month": { + "type": "integer", + "description": "生日月份(1-12)" + }, + "birthday_day": { + "type": "integer", + "description": "生日日期(1-31)" + }, + "phone_num": { + "type": "string", + "description": "资料卡公开的电话号码" + }, + "email": { + "type": "string", + "description": "资料卡公开的邮箱" + }, + "country": { + "type": "string", + "description": "国家" + }, + "province": { + "type": "string", + "description": "省份" + }, + "city": { + "type": "string", + "description": "城市" + }, + "college": { + "type": "string", + "description": "学校" + }, + "is_qq_vip": { + "type": "boolean", + "description": "普通会员状态" + }, + "is_vip": { + "type": "boolean", + "description": "超级会员状态,兼容已有接口" + }, + "is_years_vip": { + "type": "boolean", + "description": "年费会员状态" + }, + "vip_level": { + "type": "integer", + "description": "会员等级" + }, + "privilege_icons": { + "type": "object", + "description": "业务图标;未返回该资料时省略整个字段,空列表表示没有该类图标", + "properties": { + "jump_url": { + "type": "string", + "description": "业务列表跳转地址" + }, + "open": { + "type": "array", + "description": "已开通业务", + "items": { + "type": "object", + "properties": { + "type": { + "type": "integer", + "description": "业务类型" + }, + "level": { + "type": "integer", + "description": "业务等级" + }, + "flag": { + "type": "integer", + "description": "服务端业务标志" + }, + "is_big": { + "type": "integer", + "description": "服务端大图标标志" + }, + "jump_url": { + "type": "string", + "description": "业务跳转地址" + }, + "icon_url": { + "type": "string", + "description": "普通图标地址" + }, + "deluxe_icon_url": { + "type": "string", + "description": "高级图标地址,可与普通图标同时存在" + } + } + } + }, + "closed": { + "type": "array", + "description": "未开通业务", + "items": { + "type": "object", + "properties": { + "type": { + "type": "integer", + "description": "业务类型" + }, + "level": { + "type": "integer", + "description": "业务等级" + }, + "flag": { + "type": "integer", + "description": "服务端业务标志" + }, + "is_big": { + "type": "integer", + "description": "服务端大图标标志" + }, + "jump_url": { + "type": "string", + "description": "业务跳转地址" + }, + "icon_url": { + "type": "string", + "description": "普通图标地址" + }, + "deluxe_icon_url": { + "type": "string", + "description": "高级图标地址,可与普通图标同时存在" + } + } + } + } + }, + "required": [ + "open", + "closed" + ] + } + }, + "required": [ + "user_id", + "nickname", + "remark" + ] + } + } + }, + "required": [ + "categoryId", + "categoryName", + "categoryMbCount", + "buddyList" + ] + } + }, + "examples": [ + { + "summary": "获取分组好友列表", + "params": {} + } + ], + "readOnly": true, + "params": [ + { + "name": "with_profile", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": false, + "desc": "主动补查好友公开资料,按账号缓存五分钟;大列表可能耗时较长" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "with_profile": { + "type": "boolean", + "description": "主动补查好友公开资料,按账号缓存五分钟;大列表可能耗时较长", + "default": false + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_group_admin_permissions", + "aliases": [], + "summary": "读取指定管理员的撤回、移除成员、每日移除上限及接收验证消息状态", + "returns": "服务器返回的管理员权限;未返回或未指定的开关为 null。每日上限仅在移除权限开启时返回,0 表示不限。", + "returnsSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer" + }, + "user_id": { + "type": "integer" + }, + "recall_member_message": { + "type": [ + "boolean", + "null" + ], + "description": "撤回成员消息;null 表示服务器未指定" + }, + "kick_member": { + "type": [ + "boolean", + "null" + ], + "description": "移除群成员;null 表示服务器未指定" + }, + "kick_member_per_day": { + "type": [ + "integer", + "null" + ], + "description": "每日可移除人数,0 不限;权限关闭或未指定时为 null" + }, + "receive_verify": { + "type": [ + "boolean", + "null" + ], + "description": "是否接收加群验证消息;null 表示服务器未返回状态" + } + }, + "required": [ + "group_id", + "user_id", + "recall_member_message", + "kick_member", + "kick_member_per_day", + "receive_verify" + ], + "additionalProperties": false + }, + "examples": [ + { + "summary": "读取管理员权限", + "params": { + "group_id": 20001, + "user_id": 10001 + }, + "notes": "user_id 为目标管理员 QQ 号;包含接收加群验证消息状态。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "member_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "QQ 号" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "user_id": { + "type": "integer", + "minimum": 1, + "description": "QQ 号", + "x-role": "member_id" + } + }, + "required": [ + "group_id", + "user_id" + ], + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "get_group_admin_settings", + "aliases": [], + "summary": "获取群管理设置的当前值", + "returns": "与对应设置接口字段对齐的当前群管理设置。", + "returnsSchema": { + "type": "object", + "properties": { + "add_type": { + "type": "integer", + "description": "加群选项(同 set_group_add_option.add_type)" + }, + "group_question": { + "type": "string", + "description": "加群问题(同 set_group_add_option.group_question)" + }, + "group_answer": { + "type": "string", + "description": "加群答案(同 set_group_add_option.group_answer)" + }, + "robot_member_switch": { + "type": "integer", + "description": "机器人加群开关(同 set_group_robot_add_option)" + }, + "robot_member_examine": { + "type": "integer", + "description": "机器人加群审核(同 set_group_robot_add_option)" + }, + "member_invite_policy": { + "type": "string", + "enum": [ + "disabled", + "require_approval", + "no_approval", + "no_approval_under_100" + ], + "description": "成员邀请策略(同 set_group_member_invite_policy.policy)" + }, + "allow_member_upload_album": { + "type": "boolean", + "description": "是否允许成员上传相册" + }, + "allow_member_temporary_session": { + "type": "boolean", + "description": "是否允许成员发起临时会话" + }, + "allow_member_create_group": { + "type": "boolean", + "description": "是否允许成员创建群聊" + }, + "new_member_history_visible": { + "type": "boolean", + "description": "新成员是否可查看历史消息" + }, + "no_finger_open": { + "type": "integer", + "description": "是否关闭群指纹/关键词搜索(0 开 1 关)" + }, + "no_code_finger_open": { + "type": "integer", + "description": "是否关闭群号搜索(0 开 1 关)" + } + }, + "required": [ + "add_type", + "group_question", + "group_answer", + "robot_member_switch", + "robot_member_examine", + "member_invite_policy", + "allow_member_upload_album", + "allow_member_temporary_session", + "allow_member_create_group", + "new_member_history_visible", + "no_finger_open", + "no_code_finger_open" + ] + }, + "examples": [ + { + "summary": "获取群管理设置的当前值", + "params": { + "group_id": 20001 + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "get_group_album_list", + "aliases": [], + "returns": "群相册列表数组,每项为一个相册的基本信息。", + "returnsSchema": { + "type": "array", + "description": "群相册列表", + "items": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "相册 id" + }, + "name": { + "type": "string", + "description": "相册名称" + }, + "picNum": { + "type": "integer", + "description": "相册内照片数量" + }, + "createTime": { + "type": "integer", + "description": "相册创建时间(unix 秒)" + }, + "last_upload_time": { + "type": "integer", + "description": "最后上传时间(unix 秒)" + }, + "cover": { + "type": [ + "object", + "null" + ], + "description": "相册封面;没有封面时为 null", + "properties": { + "type": { + "type": "integer", + "description": "封面媒体类型" + }, + "image": { + "type": [ + "object", + "null" + ], + "description": "封面图片信息", + "properties": { + "name": { + "type": "string", + "description": "图片名称" + }, + "sloc": { + "type": "string", + "description": "图片短定位标识" + }, + "lloc": { + "type": "string", + "description": "图片长定位标识" + }, + "photoUrls": { + "type": "array", + "description": "不同规格的封面地址", + "items": { + "type": "object", + "properties": { + "spec": { + "type": "integer", + "description": "图片规格" + }, + "url": { + "type": [ + "object", + "null" + ], + "properties": { + "url": { + "type": "string", + "description": "封面地址" + }, + "width": { + "type": "integer", + "description": "封面宽度" + }, + "height": { + "type": "integer", + "description": "封面高度" + } + }, + "required": [ + "url", + "width", + "height" + ] + } + }, + "required": [ + "spec", + "url" + ] + } + }, + "defaultUrl": { + "type": [ + "object", + "null" + ], + "properties": { + "url": { + "type": "string", + "description": "封面地址" + }, + "width": { + "type": "integer", + "description": "封面宽度" + }, + "height": { + "type": "integer", + "description": "封面高度" + } + }, + "required": [ + "url", + "width", + "height" + ] + }, + "isGif": { + "type": "boolean", + "description": "是否为动图" + }, + "hasRaw": { + "type": "boolean", + "description": "是否有原图" + } + }, + "required": [ + "name", + "sloc", + "lloc", + "photoUrls", + "defaultUrl", + "isGif", + "hasRaw" + ] + } + }, + "required": [ + "type", + "image" + ] + }, + "createuin": { + "type": "string", + "description": "相册创建者 QQ 号" + }, + "createnickname": { + "type": "string", + "description": "相册创建者昵称(原始 Unicode)" + } + }, + "required": [ + "id", + "name", + "picNum", + "createTime", + "last_upload_time", + "cover", + "createuin", + "createnickname" + ] + } + }, + "examples": [ + { + "summary": "基本调用", + "params": { + "group_id": 20001 + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "群相册" + }, + { + "name": "get_group_album_media_list", + "aliases": [], + "returns": "相册图片/视频列表及下一页分页游标;视频项包含 id、url、cover、尺寸、时长和多规格地址。", + "returnsSchema": { + "type": "object", + "properties": { + "mediaList": { + "type": "array", + "description": "相册图片或视频,未返回的字段可省略或为 null", + "items": { + "type": "object", + "properties": { + "type": { + "type": [ + "integer", + "null" + ] + }, + "image": { + "type": [ + "object", + "null" + ], + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "sloc": { + "type": [ + "string", + "null" + ] + }, + "lloc": { + "type": [ + "string", + "null" + ], + "description": "图片长定位标识,供评论、删除等操作使用" + }, + "photoUrls": { + "type": [ + "array", + "null" + ], + "items": { + "type": "object", + "properties": { + "spec": { + "type": [ + "integer", + "null" + ] + }, + "url": { + "type": [ + "object", + "null" + ], + "properties": { + "url": { + "type": [ + "string", + "null" + ] + }, + "width": { + "type": [ + "integer", + "null" + ] + }, + "height": { + "type": [ + "integer", + "null" + ] + } + } + } + } + } + }, + "defaultUrl": { + "type": [ + "object", + "null" + ], + "properties": { + "url": { + "type": [ + "string", + "null" + ] + }, + "width": { + "type": [ + "integer", + "null" + ] + }, + "height": { + "type": [ + "integer", + "null" + ] + } + } + }, + "isGif": { + "type": [ + "boolean", + "null" + ] + }, + "hasRaw": { + "type": [ + "boolean", + "null" + ] + } + } + }, + "video": { + "type": [ + "object", + "null" + ], + "properties": { + "id": { + "type": [ + "string", + "null" + ], + "description": "视频标识,供评论、删除等操作使用" + }, + "url": { + "type": [ + "string", + "null" + ] + }, + "cover": { + "type": [ + "object", + "null" + ], + "properties": { + "name": { + "type": [ + "string", + "null" + ] + }, + "sloc": { + "type": [ + "string", + "null" + ] + }, + "lloc": { + "type": [ + "string", + "null" + ], + "description": "图片长定位标识,供评论、删除等操作使用" + }, + "photoUrls": { + "type": [ + "array", + "null" + ], + "items": { + "type": "object", + "properties": { + "spec": { + "type": [ + "integer", + "null" + ] + }, + "url": { + "type": [ + "object", + "null" + ], + "properties": { + "url": { + "type": [ + "string", + "null" + ] + }, + "width": { + "type": [ + "integer", + "null" + ] + }, + "height": { + "type": [ + "integer", + "null" + ] + } + } + } + } + } + }, + "defaultUrl": { + "type": [ + "object", + "null" + ], + "properties": { + "url": { + "type": [ + "string", + "null" + ] + }, + "width": { + "type": [ + "integer", + "null" + ] + }, + "height": { + "type": [ + "integer", + "null" + ] + } + } + }, + "isGif": { + "type": [ + "boolean", + "null" + ] + }, + "hasRaw": { + "type": [ + "boolean", + "null" + ] + } + } + }, + "width": { + "type": [ + "integer", + "null" + ] + }, + "height": { + "type": [ + "integer", + "null" + ] + }, + "videoTime": { + "type": [ + "string", + "null" + ], + "description": "时长,十进制字符串" + }, + "videoUrl": { + "type": [ + "array", + "null" + ], + "items": { + "type": "object", + "properties": { + "spec": { + "type": [ + "integer", + "null" + ] + }, + "url": { + "type": [ + "object", + "null" + ], + "properties": { + "url": { + "type": [ + "string", + "null" + ] + }, + "width": { + "type": [ + "integer", + "null" + ] + }, + "height": { + "type": [ + "integer", + "null" + ] + } + } + } + } + } + } + } + }, + "uploader": { + "type": [ + "string", + "null" + ] + }, + "batchId": { + "type": [ + "string", + "null" + ], + "description": "上传批次,十进制字符串" + }, + "uploadTime": { + "type": [ + "string", + "null" + ], + "description": "上传时间,十进制字符串" + } + } + } + }, + "nextAttachInfo": { + "type": "string", + "description": "下一页分页游标(空串表示无更多)" + } + }, + "required": [ + "mediaList", + "nextAttachInfo" + ] + }, + "examples": [ + { + "summary": "基本调用", + "params": { + "group_id": 20001, + "album_id": "", + "attach_info": "" + }, + "notes": "album_id 来自 get_group_album_list;lloc 或视频 id、batch_id 来自 get_group_album_media_list。替换群号及对应资源标识。 下一页传回 nextAttachInfo。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "album_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "attach_info", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "album_id": { + "type": "string", + "minLength": 1 + }, + "attach_info": { + "type": "string", + "default": "" + } + }, + "required": [ + "group_id", + "album_id" + ], + "additionalProperties": true + }, + "category": "群相册" + }, + { + "name": "get_group_at_all_remain", + "aliases": [], + "summary": "获取群 @全体成员 剩余次数", + "returns": "{ can_at_all, remain_at_all_count_for_group, remain_at_all_count_for_uin }:@全体可用性与剩余次数。", + "returnsSchema": { + "type": "object", + "properties": { + "can_at_all": { + "type": "boolean", + "description": "当前是否可 @全体成员" + }, + "remain_at_all_count_for_group": { + "type": "integer", + "description": "本群今日剩余 @全体次数" + }, + "remain_at_all_count_for_uin": { + "type": "integer", + "description": "本账号今日剩余 @全体次数" + } + }, + "required": [ + "can_at_all", + "remain_at_all_count_for_group", + "remain_at_all_count_for_uin" + ] + }, + "examples": [ + { + "summary": "获取群 @全体成员 剩余次数", + "params": { + "group_id": 20001 + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_group_detail_info", + "aliases": [], + "summary": "获取群详细信息", + "returnsSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "description": "群号" + }, + "group_name": { + "type": "string", + "description": "群名" + }, + "group_remark": { + "type": "string", + "description": "当前账号设置的群备注" + }, + "member_count": { + "type": "integer", + "description": "当前成员数" + }, + "max_member_count": { + "type": "integer", + "description": "成员上限" + }, + "group_create_time": { + "type": "integer", + "description": "建群时间戳(秒)" + }, + "group_level": { + "type": "integer", + "description": "群等级" + }, + "group_memo": { + "type": "string", + "description": "群简介 / 公告预览" + }, + "group_description": { + "type": "string", + "description": "群简介(公告不算;未加入的群为空)" + }, + "group_all_shut": { + "type": "integer", + "enum": [ + -1, + 0 + ], + "description": "是否开启全员禁言(-1 开启,0 关闭)" + } + }, + "required": [ + "group_id", + "group_name", + "group_remark", + "member_count", + "max_member_count", + "group_all_shut" + ] + }, + "examples": [ + { + "summary": "获取群详细信息", + "params": { + "group_id": 20001 + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "no_cache", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": false + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "x-role": "group_id" + }, + "no_cache": { + "type": "boolean", + "default": false + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_group_file_system_info", + "aliases": [], + "summary": "获取群文件系统信息", + "returns": "{ file_count, limit_count, used_space, total_space }:群文件数量与容量信息(均为服务端实际值)。", + "returnsSchema": { + "type": "object", + "properties": { + "file_count": { + "type": "integer", + "description": "当前文件数" + }, + "limit_count": { + "type": "integer", + "description": "文件数上限" + }, + "used_space": { + "type": "integer", + "description": "已用空间(字节)" + }, + "total_space": { + "type": "integer", + "description": "总空间(字节)" + } + }, + "required": [ + "file_count", + "limit_count", + "used_space", + "total_space" + ] + }, + "examples": [ + { + "summary": "获取群文件系统信息", + "params": { + "group_id": 20001 + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_group_file_url", + "aliases": [], + "summary": "获取群文件下载链接", + "returns": "群文件下载链接。", + "returnsSchema": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "文件下载直链" + } + }, + "required": [ + "url" + ] + }, + "examples": [ + { + "summary": "获取群文件下载链接", + "params": { + "group_id": 20001, + "file_id": "" + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "file_id", + "type": "string", + "required": true, + "role": "file_id", + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "busid", + "type": "raw", + "required": false, + "schema": {} + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "file_id": { + "type": "string", + "minLength": 1, + "x-role": "file_id" + }, + "busid": {} + }, + "required": [ + "group_id", + "file_id" + ], + "additionalProperties": true + }, + "category": "群文件" + }, + { + "name": "get_group_files_by_folder", + "aliases": [], + "summary": "获取群子目录文件列表", + "returns": "群文件系统信息(文件与文件夹列表)。", + "returnsSchema": { + "type": "object", + "properties": { + "files": { + "type": "array", + "description": "文件列表", + "items": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "description": "群号" + }, + "file_id": { + "type": "string", + "description": "文件 ID" + }, + "file_name": { + "type": "string", + "description": "文件名" + }, + "busid": { + "type": "integer", + "description": "业务 ID" + }, + "file_size": { + "type": "integer", + "description": "文件大小(字节)" + }, + "upload_time": { + "type": "integer", + "description": "上传时间戳" + }, + "dead_time": { + "type": "integer", + "description": "过期时间戳" + }, + "modify_time": { + "type": "integer", + "description": "修改时间戳" + }, + "download_times": { + "type": "integer", + "description": "下载次数" + }, + "uploader": { + "type": "integer", + "description": "上传者 QQ 号" + }, + "uploader_name": { + "type": "string", + "description": "上传者昵称" + } + } + } + }, + "folders": { + "type": "array", + "description": "文件夹列表", + "items": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "description": "群号" + }, + "folder_id": { + "type": "string", + "description": "文件夹 ID" + }, + "folder_name": { + "type": "string", + "description": "文件夹名" + }, + "create_time": { + "type": "integer", + "description": "创建时间戳" + }, + "creator": { + "type": "integer", + "description": "创建者 QQ 号" + }, + "create_name": { + "type": "string", + "description": "创建者昵称" + }, + "total_file_count": { + "type": "integer", + "description": "文件夹内文件总数" + }, + "last_upload_time": { + "type": "integer", + "description": "最后上传时间戳" + }, + "last_uploader": { + "type": "integer", + "description": "最后上传者 QQ 号" + }, + "last_uploader_name": { + "type": "string", + "description": "最后上传者昵称" + } + } + } + } + }, + "required": [ + "files", + "folders" + ] + }, + "examples": [ + { + "summary": "获取群子目录文件列表", + "params": { + "group_id": 20001, + "folder_id": "" + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "folder_id", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + }, + { + "name": "folder", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "folder_id": { + "type": "string", + "default": "" + }, + "folder": { + "type": "string", + "default": "" + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "群文件" + }, + { + "name": "get_group_honor_info", + "aliases": [], + "summary": "获取群荣誉信息", + "returnsSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer" + }, + "current_talkative": { + "anyOf": [ + { + "type": "object", + "properties": { + "user_id": { + "type": [ + "number", + "string", + "null" + ] + }, + "nickname": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "description": { + "type": "string" + } + }, + "required": [ + "user_id", + "nickname", + "avatar", + "description" + ] + }, + { + "type": "null" + } + ] + }, + "talkative_list": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": [ + "number", + "string", + "null" + ] + }, + "nickname": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "description": { + "type": "string" + } + }, + "required": [ + "user_id", + "nickname", + "avatar", + "description" + ] + } + }, + "performer_list": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": [ + "number", + "string", + "null" + ] + }, + "nickname": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "description": { + "type": "string" + } + }, + "required": [ + "user_id", + "nickname", + "avatar", + "description" + ] + } + }, + "legend_list": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": [ + "number", + "string", + "null" + ] + }, + "nickname": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "description": { + "type": "string" + } + }, + "required": [ + "user_id", + "nickname", + "avatar", + "description" + ] + } + }, + "emotion_list": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": [ + "number", + "string", + "null" + ] + }, + "nickname": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "description": { + "type": "string" + } + }, + "required": [ + "user_id", + "nickname", + "avatar", + "description" + ] + } + }, + "strong_newbie_list": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": [ + "number", + "string", + "null" + ] + }, + "nickname": { + "type": "string" + }, + "avatar": { + "type": "string" + }, + "description": { + "type": "string" + } + }, + "required": [ + "user_id", + "nickname", + "avatar", + "description" + ] + }, + "description": "当前实现始终为空数组" + } + }, + "required": [ + "group_id", + "current_talkative", + "talkative_list", + "performer_list", + "legend_list", + "emotion_list", + "strong_newbie_list" + ] + }, + "examples": [ + { + "summary": "获取群荣誉信息", + "params": { + "group_id": 20001, + "type": "all" + }, + "notes": "未请求的分类仍返回空数组;当前龙王可能为 null。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "type", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "type": { + "type": "string" + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "群信息" + }, + { + "name": "get_group_ignore_add_request", + "aliases": [], + "summary": "获取被忽略的入群请求(NapCat)", + "returns": "被忽略的入群请求数组(NapCat 字段命名),每项含请求序列、邀请人、群信息与处理标记。", + "returnsSchema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "request_id": { + "type": "integer", + "description": "请求序列号" + }, + "invitor_uin": { + "type": "integer", + "description": "邀请人 QQ 号" + }, + "invitor_nick": { + "type": "string", + "description": "邀请人昵称" + }, + "group_id": { + "type": "integer", + "description": "群号" + }, + "message": { + "type": "string", + "description": "验证留言" + }, + "group_name": { + "type": "string", + "description": "群名称" + }, + "checked": { + "type": "boolean", + "description": "是否已处理" + }, + "actor": { + "type": "integer", + "description": "处理人 QQ 号" + }, + "requester_nick": { + "type": "string", + "description": "申请人昵称" + } + }, + "required": [ + "request_id", + "invitor_uin", + "invitor_nick", + "group_id", + "message", + "group_name", + "checked", + "actor", + "requester_nick" + ] + } + }, + "examples": [ + { + "summary": "获取被忽略的入群请求(NapCat)", + "params": {} + } + ], + "readOnly": true, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_group_ignored_notifies", + "aliases": [], + "summary": "获取被过滤的入群请求", + "returns": "被过滤的入群请求数组,每项含群号、申请人、邀请人、留言与处理标记。", + "returnsSchema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "description": "群号" + }, + "group_name": { + "type": "string", + "description": "群名称" + }, + "request_id": { + "type": "integer", + "description": "请求序列号" + }, + "requester_uin": { + "type": "integer", + "description": "申请人 QQ 号" + }, + "requester_nick": { + "type": "string", + "description": "申请人昵称" + }, + "message": { + "type": "string", + "description": "验证留言" + }, + "checked": { + "type": "boolean", + "description": "是否已处理" + }, + "actor": { + "type": "integer", + "description": "处理人 QQ 号" + }, + "invitor_uin": { + "type": "integer", + "description": "邀请人 QQ 号" + }, + "invitor_nick": { + "type": "string", + "description": "邀请人昵称" + }, + "flag": { + "type": "string", + "description": "处理请求使用的规范 flag" + } + }, + "required": [ + "group_id", + "group_name", + "request_id", + "requester_uin", + "requester_nick", + "message", + "checked", + "actor", + "invitor_uin", + "invitor_nick", + "flag" + ] + } + }, + "examples": [ + { + "summary": "获取被过滤的入群请求", + "params": {} + } + ], + "readOnly": true, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_group_info", + "aliases": [], + "summary": "获取群信息", + "returns": "群信息对象。", + "returnsSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "description": "群号" + }, + "group_name": { + "type": "string", + "description": "群名" + }, + "group_remark": { + "type": "string", + "description": "当前账号设置的群备注" + }, + "member_count": { + "type": "integer", + "description": "当前成员数" + }, + "max_member_count": { + "type": "integer", + "description": "成员上限" + }, + "group_create_time": { + "type": "integer", + "description": "建群时间戳(秒)" + }, + "group_level": { + "type": "integer", + "description": "群等级" + }, + "group_memo": { + "type": "string", + "description": "群简介 / 公告预览" + }, + "group_description": { + "type": "string", + "description": "群简介(公告不算;未加入的群为空)" + }, + "group_all_shut": { + "type": "integer", + "enum": [ + -1, + 0 + ], + "description": "是否开启全员禁言(-1 开启,0 关闭)" + } + }, + "required": [ + "group_id", + "group_name", + "group_remark", + "member_count", + "max_member_count", + "group_all_shut" + ] + }, + "examples": [ + { + "summary": "获取群信息", + "params": { + "group_id": 20001 + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "no_cache", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": false + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "no_cache": { + "type": "boolean", + "default": false + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "群信息" + }, + { + "name": "get_group_info_ex", + "aliases": [], + "summary": "获取群信息(扩展)", + "returnsSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "description": "群号" + }, + "group_name": { + "type": "string", + "description": "群名" + }, + "group_remark": { + "type": "string", + "description": "当前账号设置的群备注" + }, + "member_count": { + "type": "integer", + "description": "当前成员数" + }, + "max_member_count": { + "type": "integer", + "description": "成员上限" + }, + "group_create_time": { + "type": "integer", + "description": "建群时间戳(秒)" + }, + "group_level": { + "type": "integer", + "description": "群等级" + }, + "group_memo": { + "type": "string", + "description": "群简介 / 公告预览" + }, + "group_description": { + "type": "string", + "description": "群简介(公告不算;未加入的群为空)" + }, + "group_all_shut": { + "type": "integer", + "enum": [ + -1, + 0 + ], + "description": "是否开启全员禁言(-1 开启,0 关闭)" + } + }, + "required": [ + "group_id", + "group_name", + "group_remark", + "member_count", + "max_member_count", + "group_all_shut" + ] + }, + "examples": [ + { + "summary": "获取群信息(扩展)", + "params": { + "group_id": 20001 + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "no_cache", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": false + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "x-role": "group_id" + }, + "no_cache": { + "type": "boolean", + "default": false + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_group_list", + "aliases": [], + "summary": "获取群列表", + "returns": "群信息对象数组。", + "returnsSchema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "description": "群号" + }, + "group_name": { + "type": "string", + "description": "群名" + }, + "group_remark": { + "type": "string", + "description": "当前账号设置的群备注" + }, + "member_count": { + "type": "integer", + "description": "当前成员数" + }, + "max_member_count": { + "type": "integer", + "description": "成员上限" + }, + "group_create_time": { + "type": "integer", + "description": "建群时间戳(秒)" + }, + "group_level": { + "type": "integer", + "description": "群等级(列表批量场景恒 0,详见 get_group_info)" + }, + "group_memo": { + "type": "string", + "description": "群简介 / 公告预览" + }, + "group_description": { + "type": "string", + "description": "群简介(公告不算;未加入的群为空)" + }, + "group_all_shut": { + "type": "integer", + "enum": [ + -1, + 0 + ], + "description": "是否开启全员禁言(-1 开启,0 关闭)" + } + }, + "required": [ + "group_id", + "group_name", + "group_remark", + "member_count", + "max_member_count", + "group_all_shut" + ] + } + }, + "examples": [ + { + "summary": "获取群列表", + "params": { + "no_cache": false + } + } + ], + "readOnly": true, + "params": [ + { + "name": "no_cache", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": false + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "no_cache": { + "type": "boolean", + "default": false + } + }, + "additionalProperties": true + }, + "category": "群信息" + }, + { + "name": "get_group_member_info", + "aliases": [], + "summary": "获取群成员信息", + "returns": "群成员信息对象。", + "returnsSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "description": "群号" + }, + "user_id": { + "type": "integer", + "description": "QQ 号" + }, + "nickname": { + "type": "string", + "description": "昵称" + }, + "card": { + "type": "string", + "description": "群名片" + }, + "is_robot": { + "type": "boolean", + "description": "是否为机器人" + }, + "sex": { + "type": "string", + "enum": [ + "male", + "female", + "unknown" + ], + "description": "性别" + }, + "age": { + "type": "integer", + "description": "年龄" + }, + "join_time": { + "type": "integer", + "description": "入群时间戳(秒)" + }, + "last_sent_time": { + "type": "integer", + "description": "最后发言时间戳(秒)" + }, + "shut_up_timestamp": { + "type": "integer", + "description": "禁言结束时间戳(秒,未禁言时为 0)" + }, + "level": { + "type": "string", + "description": "群等级" + }, + "qq_level": { + "type": "integer", + "description": "QQ 等级,仅在账号资料可用时返回" + }, + "qage": { + "type": "integer", + "description": "按注册时间计算的完整周年数(UTC),注册时间不可用时省略" + }, + "role": { + "type": "string", + "enum": [ + "owner", + "admin", + "member" + ], + "description": "角色" + }, + "title": { + "type": "string", + "description": "专属头衔" + }, + "area": { + "type": "string", + "description": "地区(QQ NT 不提供,恒空)" + }, + "unfriendly": { + "type": "boolean", + "description": "是否不良记录(QQ NT 不提供,恒 false)" + }, + "title_expire_time": { + "type": "integer", + "description": "头衔过期时间戳(QQ NT 不提供,恒 0)" + }, + "card_changeable": { + "type": "boolean", + "description": "是否可改名片(占位,恒 true)" + }, + "qidian_master_flag": { + "type": "integer", + "description": "企点主号标志,0 或 1;普通账号为 0" + }, + "qidian_crew_flag": { + "type": "integer", + "description": "企点员工标志,0 或 1;普通账号为 0" + }, + "qidian_crew_flag_2": { + "type": "integer", + "description": "企点保留标志,0 或 1;普通账号为 0" + } + }, + "required": [ + "group_id", + "user_id", + "nickname", + "role" + ] + }, + "examples": [ + { + "summary": "获取群成员信息", + "params": { + "group_id": 20001, + "user_id": 10001 + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "member_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "QQ 号" + }, + { + "name": "no_cache", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": false + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "user_id": { + "type": "integer", + "minimum": 1, + "description": "QQ 号", + "x-role": "member_id" + }, + "no_cache": { + "type": "boolean", + "default": false + } + }, + "required": [ + "group_id", + "user_id" + ], + "additionalProperties": true + }, + "category": "群信息" + }, + { + "name": "get_group_member_list", + "aliases": [], + "summary": "获取群成员列表", + "returns": "群成员信息对象数组。", + "returnsSchema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "description": "群号" + }, + "user_id": { + "type": "integer", + "description": "QQ 号" + }, + "nickname": { + "type": "string", + "description": "昵称" + }, + "card": { + "type": "string", + "description": "群名片" + }, + "is_robot": { + "type": "boolean", + "description": "是否为机器人" + }, + "sex": { + "type": "string", + "enum": [ + "male", + "female", + "unknown" + ], + "description": "性别" + }, + "age": { + "type": "integer", + "description": "年龄" + }, + "join_time": { + "type": "integer", + "description": "入群时间戳(秒)" + }, + "last_sent_time": { + "type": "integer", + "description": "最后发言时间戳(秒)" + }, + "shut_up_timestamp": { + "type": "integer", + "description": "禁言结束时间戳(秒,未禁言时为 0)" + }, + "level": { + "type": "string", + "description": "群等级" + }, + "qq_level": { + "type": "integer", + "description": "QQ 等级,仅在账号资料可用时返回" + }, + "qage": { + "type": "integer", + "description": "按注册时间计算的完整周年数(UTC),注册时间不可用时省略" + }, + "role": { + "type": "string", + "enum": [ + "owner", + "admin", + "member" + ], + "description": "角色" + }, + "title": { + "type": "string", + "description": "专属头衔" + }, + "area": { + "type": "string", + "description": "地区(QQ NT 不提供,恒空)" + }, + "unfriendly": { + "type": "boolean", + "description": "是否不良记录(QQ NT 不提供,恒 false)" + }, + "title_expire_time": { + "type": "integer", + "description": "头衔过期时间戳(QQ NT 不提供,恒 0)" + }, + "card_changeable": { + "type": "boolean", + "description": "是否可改名片(占位,恒 true)" + }, + "qidian_master_flag": { + "type": "integer", + "description": "企点主号标志,0 或 1;普通账号为 0" + }, + "qidian_crew_flag": { + "type": "integer", + "description": "企点员工标志,0 或 1;普通账号为 0" + }, + "qidian_crew_flag_2": { + "type": "integer", + "description": "企点保留标志,0 或 1;普通账号为 0" + } + }, + "required": [ + "group_id", + "user_id", + "nickname", + "role" + ] + } + }, + "examples": [ + { + "summary": "获取群成员列表", + "params": { + "group_id": 20001 + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "no_cache", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": false + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "no_cache": { + "type": "boolean", + "default": false + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "群信息" + }, + { + "name": "get_group_msg_history", + "aliases": [], + "summary": "获取群消息历史", + "returns": "{ messages }:群消息事件对象数组(每项为 OneBot 消息事件,内部字段不固定)。", + "returnsSchema": { + "type": "object", + "properties": { + "messages": { + "type": "array", + "description": "消息对象数组;去除 post_type/self_id,附带 real_id", + "items": { + "type": "object", + "properties": { + "time": { + "type": "integer", + "description": "消息时间,Unix 秒" + }, + "message_type": { + "type": "string", + "enum": [ + "private", + "group" + ] + }, + "sub_type": { + "type": "string", + "description": "消息子类型" + }, + "message_id": { + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647, + "not": { + "const": 0 + }, + "description": "非零有符号 32 位消息 ID,负值合法;必须原样保留" + }, + "real_id": { + "type": "integer", + "description": "原始 message_id;旧历史记录缺失时可为 0" + }, + "user_id": { + "type": "integer", + "description": "发送者 QQ 号" + }, + "group_id": { + "type": "integer", + "description": "群聊消息的群号,私聊可省略" + }, + "target_id": { + "type": "integer", + "description": "私聊目标 QQ 号(若有)" + }, + "message": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "消息段类型,例如 text、image、reply" + }, + "data": { + "type": "object", + "description": "字段随消息段类型变化,例如 text 段包含 text,reply 段包含 id", + "additionalProperties": true + } + }, + "required": [ + "type", + "data" + ] + } + }, + "raw_message": { + "type": "string", + "description": "消息的 CQ 码字符串形式" + }, + "font": { + "type": "integer" + }, + "sender": { + "type": "object", + "properties": { + "user_id": { + "type": "integer" + }, + "nickname": { + "type": "string" + }, + "card": { + "type": "string" + }, + "sex": { + "type": "string", + "enum": [ + "male", + "female", + "unknown" + ] + }, + "age": { + "type": "integer" + }, + "area": { + "type": "string" + }, + "level": { + "type": "string" + }, + "role": { + "type": "string", + "enum": [ + "owner", + "admin", + "member" + ] + }, + "title": { + "type": "string" + } + }, + "additionalProperties": true + } + }, + "additionalProperties": true + } + } + }, + "required": [ + "messages" + ] + }, + "examples": [ + { + "summary": "获取群消息历史", + "params": { + "group_id": 20001, + "count": 20 + }, + "notes": "省略 message_id 从最新消息开始;翻页使用上一页实际 message_id,不要自行加减。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "message_id", + "type": "int", + "required": false, + "schema": { + "type": "integer" + }, + "default": 0, + "role": "message_id" + }, + { + "name": "count", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "default": 20 + }, + { + "name": "reverse_order", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": true, + "desc": "仅在 message_id 非 0 时生效;true 返回锚点及更旧消息,false 返回锚点及更新消息" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "message_id": { + "type": "integer", + "default": 0, + "x-role": "message_id" + }, + "count": { + "type": "integer", + "minimum": 0, + "default": 20 + }, + "reverse_order": { + "type": "boolean", + "description": "仅在 message_id 非 0 时生效;true 返回锚点及更旧消息,false 返回锚点及更新消息", + "default": true + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_group_root_files", + "aliases": [], + "summary": "获取群根目录文件列表", + "returns": "群文件系统信息(文件与文件夹列表)。", + "returnsSchema": { + "type": "object", + "properties": { + "files": { + "type": "array", + "description": "文件列表", + "items": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "description": "群号" + }, + "file_id": { + "type": "string", + "description": "文件 ID" + }, + "file_name": { + "type": "string", + "description": "文件名" + }, + "busid": { + "type": "integer", + "description": "业务 ID" + }, + "file_size": { + "type": "integer", + "description": "文件大小(字节)" + }, + "upload_time": { + "type": "integer", + "description": "上传时间戳" + }, + "dead_time": { + "type": "integer", + "description": "过期时间戳" + }, + "modify_time": { + "type": "integer", + "description": "修改时间戳" + }, + "download_times": { + "type": "integer", + "description": "下载次数" + }, + "uploader": { + "type": "integer", + "description": "上传者 QQ 号" + }, + "uploader_name": { + "type": "string", + "description": "上传者昵称" + } + } + } + }, + "folders": { + "type": "array", + "description": "文件夹列表", + "items": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "description": "群号" + }, + "folder_id": { + "type": "string", + "description": "文件夹 ID" + }, + "folder_name": { + "type": "string", + "description": "文件夹名" + }, + "create_time": { + "type": "integer", + "description": "创建时间戳" + }, + "creator": { + "type": "integer", + "description": "创建者 QQ 号" + }, + "create_name": { + "type": "string", + "description": "创建者昵称" + }, + "total_file_count": { + "type": "integer", + "description": "文件夹内文件总数" + }, + "last_upload_time": { + "type": "integer", + "description": "最后上传时间戳" + }, + "last_uploader": { + "type": "integer", + "description": "最后上传者 QQ 号" + }, + "last_uploader_name": { + "type": "string", + "description": "最后上传者昵称" + } + } + } + } + }, + "required": [ + "files", + "folders" + ] + }, + "examples": [ + { + "summary": "获取群根目录文件列表", + "params": { + "group_id": 20001 + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "群文件" + }, + { + "name": "get_group_share_link", + "aliases": [], + "summary": "获取群分享链接", + "returns": "用于分享或邀请加群的链接,可作为群二维码内容。", + "returnsSchema": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "加群分享链接" + } + }, + "required": [ + "url" + ] + }, + "examples": [ + { + "summary": "获取群分享链接", + "params": { + "group_id": 20001, + "need_short_url": true + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "need_short_url", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": true, + "desc": "是否获取短链接" + }, + { + "name": "src_id", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0, + "maximum": 4294967295 + }, + "default": 73, + "desc": "来源标识(兼容参数)" + }, + { + "name": "additional_param", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "", + "desc": "附加参数" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "need_short_url": { + "type": "boolean", + "description": "是否获取短链接", + "default": true + }, + "src_id": { + "type": "integer", + "minimum": 0, + "maximum": 4294967295, + "description": "来源标识(兼容参数)", + "default": 73 + }, + "additional_param": { + "type": "string", + "description": "附加参数", + "default": "" + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "群信息" + }, + { + "name": "get_group_shut_list", + "aliases": [], + "summary": "获取群禁言列表", + "returns": "仍在禁言中的成员数组,每项含 QQ 号、昵称与禁言到期时间戳(秒)。", + "returnsSchema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "description": "成员 QQ 号" + }, + "nickname": { + "type": "string", + "description": "成员昵称" + }, + "shut_up_time": { + "type": "integer", + "description": "禁言到期时间戳(秒)" + } + }, + "required": [ + "user_id", + "nickname", + "shut_up_time" + ] + } + }, + "examples": [ + { + "summary": "获取群禁言列表", + "params": { + "group_id": 20001 + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_group_signed_list", + "aliases": [], + "summary": "获取群今日打卡列表", + "returnsSchema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "integer" + }, + "nick": { + "type": "string" + }, + "time": { + "type": "integer" + }, + "rank": { + "type": "integer" + } + }, + "required": [ + "user_id", + "nick", + "time", + "rank" + ] + } + }, + "examples": [ + { + "summary": "获取群今日打卡列表", + "params": { + "group_id": 20001 + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_group_system_msg", + "aliases": [], + "summary": "获取群系统消息", + "returns": "群系统消息数组,分别提供入群者、邀请人和处理者,可按群号或未处理状态过滤。身份为 0 时须查看状态;未知不代表不存在邀请人。", + "returnsSchema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "description": "群号" + }, + "group_name": { + "type": "string", + "description": "群名称" + }, + "request_id": { + "type": "integer", + "description": "请求序列号" + }, + "requester_uin": { + "type": "integer", + "description": "请求发起人 QQ 号;邀请登录账号入群时表示邀请人" + }, + "requester_nick": { + "type": "string", + "description": "请求发起人昵称" + }, + "target_uin": { + "type": "integer", + "description": "申请或被邀请入群者 QQ 号,未知时为 0" + }, + "target_nick": { + "type": "string", + "description": "入群者昵称" + }, + "target_status": { + "type": "string", + "enum": [ + "known", + "unknown" + ], + "description": "入群者 QQ 号是否已知" + }, + "invitor_uin": { + "type": "integer", + "description": "邀请人 QQ 号,未知时为 0;不能据此认定没有邀请人" + }, + "invitor_nick": { + "type": "string", + "description": "邀请人昵称" + }, + "invitor_status": { + "type": "string", + "enum": [ + "known", + "unknown" + ], + "description": "邀请人 QQ 号是否已知;缺失信息为 unknown" + }, + "operator_uin": { + "type": "integer", + "description": "处理该申请的操作者 QQ 号,未知时为 0" + }, + "operator_nick": { + "type": "string", + "description": "处理者昵称" + }, + "operator_status": { + "type": "string", + "enum": [ + "known", + "unknown" + ], + "description": "处理者 QQ 号是否已知;已知不代表审批通过" + }, + "message": { + "type": "string", + "description": "验证留言" + }, + "checked": { + "type": "boolean", + "description": "是否已处理" + }, + "flag": { + "type": "string", + "description": "处理请求使用的规范 flag" + } + }, + "required": [ + "group_id", + "group_name", + "request_id", + "requester_uin", + "requester_nick", + "target_uin", + "target_nick", + "target_status", + "invitor_uin", + "invitor_nick", + "invitor_status", + "operator_uin", + "operator_nick", + "operator_status", + "message", + "checked", + "flag" + ] + } + }, + "examples": [ + { + "summary": "获取群系统消息", + "params": { + "group_id": 20001, + "only_pending": true, + "count": 20 + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": false, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "only_pending", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": false + }, + { + "name": "count", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100 + }, + "default": 50, + "desc": "每个收件箱最多读取的记录数" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "x-role": "group_id" + }, + "only_pending": { + "type": "boolean", + "default": false + }, + "count": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "description": "每个收件箱最多读取的记录数", + "default": 50 + } + }, + "additionalProperties": true + }, + "category": "群信息" + }, + { + "name": "get_group_tags", + "aliases": [], + "summary": "读取某个群分类下的资料标签", + "returns": "该分类下的资料标签列表。", + "returnsSchema": { + "type": "object", + "properties": { + "tags": { + "type": "array", + "description": "资料标签", + "items": { + "type": "object", + "properties": { + "id": { + "type": "integer", + "description": "标签编号" + }, + "name": { + "type": "string", + "description": "标签名" + }, + "type": { + "type": "integer", + "description": "标签类型" + } + }, + "required": [ + "id", + "name", + "type" + ] + } + } + }, + "required": [ + "tags" + ] + }, + "examples": [ + { + "summary": "读取某个群分类下的资料标签", + "params": { + "group_class": 1 + }, + "notes": "group_class 使用实际群分类编号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_class", + "type": "int", + "required": true, + "schema": { + "type": "integer", + "minimum": 0, + "maximum": 4294967295 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_class": { + "type": "integer", + "minimum": 0, + "maximum": 4294967295 + } + }, + "required": [ + "group_class" + ], + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "get_group_todo_list", + "aliases": [], + "summary": "获取群待办列表", + "returns": "群待办数组,包含可用于待办操作的消息标识、服务端摘要与时间", + "returnsSchema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647, + "not": { + "const": 0 + }, + "description": "非零有符号 32 位消息 ID,负值合法;必须原样保留" + }, + "message_seq": { + "type": "integer" + }, + "message_random": { + "type": "integer" + }, + "message": { + "anyOf": [ + { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "消息段类型,例如 text、image、reply" + }, + "data": { + "type": "object", + "description": "字段随消息段类型变化,例如 text 段包含 text,reply 段包含 id", + "additionalProperties": true + } + }, + "required": [ + "type", + "data" + ] + } + }, + { + "type": "null" + } + ], + "description": "本地缓存中的消息段;未缓存时为 null" + }, + "text": { + "type": "string" + }, + "create_time": { + "type": "integer" + }, + "update_time": { + "type": "integer" + } + }, + "required": [ + "message_id", + "message_seq", + "message_random", + "message", + "text", + "create_time", + "update_time" + ] + } + }, + "examples": [ + { + "summary": "获取群待办列表", + "params": { + "group_id": 20001 + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_image", + "aliases": [], + "summary": "获取图片信息", + "returnsSchema": { + "type": "object", + "properties": { + "file": { + "type": "string", + "description": "媒体地址;图片无地址时可为原文件标识" + }, + "url": { + "type": "string", + "description": "媒体下载地址,图片地址可能为空" + }, + "file_size": { + "type": "string", + "description": "原媒体字节数的十进制字符串" + }, + "file_name": { + "type": "string", + "description": "文件名或缓存标识" + } + }, + "required": [ + "file", + "url", + "file_size", + "file_name" + ] + }, + "examples": [ + { + "summary": "获取图片信息", + "params": { + "file": "" + }, + "notes": "file 或 file_id 原样取自图片消息段,须在当前账号媒体缓存中存在。" + } + ], + "readOnly": true, + "params": [ + { + "name": "file", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "", + "role": "image" + }, + { + "name": "file_id", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "", + "role": "file_id" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "file": { + "type": "string", + "default": "", + "x-role": "image" + }, + "file_id": { + "type": "string", + "default": "", + "x-role": "file_id" + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_login_info", + "aliases": [], + "returns": "当前登录账号的 QQ 号与昵称。", + "returnsSchema": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "description": "登录 QQ 号" + }, + "nickname": { + "type": "string", + "description": "登录昵称" + } + }, + "required": [ + "user_id", + "nickname" + ] + }, + "examples": [ + { + "summary": "基本调用", + "params": {} + } + ], + "readOnly": true, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "信息" + }, + { + "name": "get_mini_app_ark", + "aliases": [], + "summary": "获取小程序卡片 ark", + "returnsSchema": { + "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "ver": { + "description": "服务端卡片版本,原样透传" + }, + "prompt": { + "description": "服务端提示文本,原样透传" + }, + "config": { + "description": "服务端卡片配置,原样透传" + }, + "app": { + "description": "服务端应用名,原样透传" + }, + "view": { + "description": "服务端视图,原样透传" + }, + "meta": { + "description": "服务端卡片元数据,原样透传" + }, + "miniappShareOrigin": { + "const": 3 + }, + "miniappOpenRefer": { + "const": "10002" + } + }, + "required": [ + "miniappShareOrigin", + "miniappOpenRefer" + ] + } + }, + "required": [ + "data" + ] + }, + "examples": [ + { + "summary": "获取小程序卡片 ark", + "params": { + "type": "bili", + "title": "示例视频", + "desc": "视频介绍", + "pic_url": "https://example.com/cover.png", + "jump_url": "https://www.bilibili.com/video/" + }, + "notes": "替换为实际分享地址;当前仅支持 bili 和 weibo。返回的 data 是卡片对象,不会自动发送。" + } + ], + "readOnly": true, + "params": [ + { + "name": "type", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "title", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "desc", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "picUrl", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "pic_url", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "jumpUrl", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "jump_url", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "type": { + "type": "string" + }, + "title": { + "type": "string" + }, + "desc": { + "type": "string" + }, + "picUrl": { + "type": "string" + }, + "pic_url": { + "type": "string" + }, + "jumpUrl": { + "type": "string" + }, + "jump_url": { + "type": "string" + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_msg", + "aliases": [], + "summary": "获取消息", + "returns": "消息事件对象(去除 post_type/self_id,附带 real_id);逐个尝试刷新图片、语音和视频 URL,成功使用新地址,失败保留该段原地址并继续返回消息;地址更新时同步 raw_message。", + "returnsSchema": { + "allOf": [ + { + "type": "object", + "properties": { + "time": { + "type": "integer", + "description": "消息时间,Unix 秒" + }, + "message_type": { + "type": "string", + "enum": [ + "private", + "group" + ] + }, + "sub_type": { + "type": "string", + "description": "消息子类型" + }, + "message_id": { + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647, + "not": { + "const": 0 + }, + "description": "非零有符号 32 位消息 ID,负值合法;必须原样保留" + }, + "real_id": { + "type": "integer", + "description": "原始 message_id;旧历史记录缺失时可为 0" + }, + "user_id": { + "type": "integer", + "description": "发送者 QQ 号" + }, + "group_id": { + "type": "integer", + "description": "群聊消息的群号,私聊可省略" + }, + "target_id": { + "type": "integer", + "description": "私聊目标 QQ 号(若有)" + }, + "message": { + "type": "array", + "items": { + "type": "object", + "properties": { + "type": { + "type": "string", + "description": "消息段类型,例如 text、image、reply" + }, + "data": { + "type": "object", + "description": "字段随消息段类型变化,例如 text 段包含 text,reply 段包含 id", + "additionalProperties": true + } + }, + "required": [ + "type", + "data" + ] + } + }, + "raw_message": { + "type": "string", + "description": "消息的 CQ 码字符串形式" + }, + "font": { + "type": "integer" + }, + "sender": { + "type": "object", + "properties": { + "user_id": { + "type": "integer" + }, + "nickname": { + "type": "string" + }, + "card": { + "type": "string" + }, + "sex": { + "type": "string", + "enum": [ + "male", + "female", + "unknown" + ] + }, + "age": { + "type": "integer" + }, + "area": { + "type": "string" + }, + "level": { + "type": "string" + }, + "role": { + "type": "string", + "enum": [ + "owner", + "admin", + "member" + ] + }, + "title": { + "type": "string" + } + }, + "additionalProperties": true + }, + "auto_reply": { + "const": true, + "description": "仅当 QQ 标记该私聊消息为自动回复时提供" + } + }, + "additionalProperties": true + }, + { + "type": "object", + "properties": { + "real_id": { + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647, + "not": { + "const": 0 + }, + "description": "非零有符号 32 位消息 ID,负值合法;必须原样保留" + } + }, + "required": [ + "real_id" + ] + } + ], + "description": "消息事件去除 post_type/self_id 并增加 real_id;群聊和私聊字段有所不同" + }, + "examples": [ + { + "summary": "获取消息", + "params": { + "message_id": -123456 + }, + "notes": "使用消息事件或发送结果中的真实 message_id,负值合法;消息须在当前账号的消息存储中可查询。" + } + ], + "readOnly": true, + "params": [ + { + "name": "message_id", + "type": "messageId", + "required": true, + "role": "message_id", + "schema": { + "type": "integer", + "not": { + "const": 0 + } + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "not": { + "const": 0 + }, + "x-role": "message_id" + } + }, + "required": [ + "message_id" + ], + "additionalProperties": true + }, + "category": "消息" + }, + { + "name": "get_msg_emoji_likes", + "aliases": [], + "summary": "获取一条消息的全部表情回应", + "returns": "该消息上每个表情回应的编号、数量与用户列表。", + "returnsSchema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "emoji_id": { + "type": "string", + "description": "表情编号" + }, + "emoji_type": { + "type": "integer", + "description": "表情类型" + }, + "count": { + "type": "integer", + "description": "回应数量" + }, + "last_reaction_time": { + "type": "integer", + "description": "最近一次回应时间" + }, + "users": { + "type": "array", + "items": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "description": "用户 QQ 号" + } + }, + "required": [ + "user_id" + ] + } + } + }, + "required": [ + "emoji_id", + "emoji_type", + "count", + "last_reaction_time", + "users" + ] + } + }, + "examples": [ + { + "summary": "获取一条消息的全部表情回应", + "params": { + "message_id": -123456 + }, + "notes": "使用消息事件或发送结果中的真实 message_id,负值合法;消息须在当前账号的消息存储中可查询。" + } + ], + "readOnly": true, + "params": [ + { + "name": "message_id", + "type": "messageId", + "required": true, + "role": "message_id", + "schema": { + "type": "integer", + "not": { + "const": 0 + } + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "not": { + "const": 0 + }, + "x-role": "message_id" + } + }, + "required": [ + "message_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_online_clients", + "aliases": [], + "summary": "获取在线客户端", + "returns": "{ clients }:QQ 本次会话最近推送的在线设备快照。", + "returnsSchema": { + "type": "object", + "properties": { + "clients": { + "type": "array", + "description": "在线设备列表", + "items": { + "type": "object", + "properties": { + "app_id": { + "type": "integer", + "description": "客户端 ID" + }, + "device_name": { + "type": "string", + "description": "设备名称" + }, + "device_kind": { + "type": "string", + "enum": [ + "电脑", + "Pad", + "手机", + "未知设备" + ], + "description": "设备类别" + } + }, + "required": [ + "app_id", + "device_name", + "device_kind" + ] + } + } + }, + "required": [ + "clients" + ] + }, + "examples": [ + { + "summary": "获取在线客户端", + "params": { + "no_cache": false + } + } + ], + "readOnly": true, + "params": [ + { + "name": "no_cache", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": false, + "desc": "是否强制刷新;QQ 当前仅暴露本地快照,true 会明确失败" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "no_cache": { + "type": "boolean", + "description": "是否强制刷新;QQ 当前仅暴露本地快照,true 会明确失败", + "default": false + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_private_file_url", + "aliases": [], + "summary": "获取私聊文件下载链接", + "returns": "私聊文件下载链接。", + "returnsSchema": { + "type": "object", + "properties": { + "url": { + "type": "string", + "description": "文件下载直链" + } + }, + "required": [ + "url" + ] + }, + "examples": [ + { + "summary": "获取私聊文件下载链接", + "params": { + "user_id": 10001, + "file_id": "" + }, + "notes": "使用私聊文件消息段中的 file_id,必要时原样传 file_hash。" + } + ], + "readOnly": true, + "params": [ + { + "name": "user_id", + "type": "uint", + "required": false, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "file_id", + "type": "string", + "required": true, + "role": "file_id", + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "file_hash", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 1, + "x-role": "user_id" + }, + "file_id": { + "type": "string", + "minLength": 1, + "x-role": "file_id" + }, + "file_hash": { + "type": "string", + "default": "" + } + }, + "required": [ + "file_id" + ], + "additionalProperties": true + }, + "category": "群文件" + }, + { + "name": "get_profile_like", + "aliases": [], + "summary": "获取资料点赞", + "returns": "点赞资料:uid、最近点赞时间、收藏与点赞统计及用户明细。", + "returnsSchema": { + "type": "object", + "properties": { + "uid": { + "type": "string", + "description": "用户 uid" + }, + "time": { + "type": "integer", + "description": "最近点赞时间戳" + }, + "favoriteInfo": { + "type": "object", + "description": "收藏统计", + "properties": { + "total_count": { + "type": "integer", + "description": "收藏总数" + }, + "last_time": { + "type": "integer", + "description": "最近收藏时间戳" + }, + "today_count": { + "type": "integer", + "description": "今日收藏数" + }, + "userInfos": { + "type": "array", + "description": "收藏用户列表", + "items": { + "type": "object", + "properties": { + "uid": { + "type": "string", + "description": "用户 uid" + }, + "uin": { + "type": "integer", + "description": "用户 QQ 号;资料中没有有效号码时为 0" + }, + "src": { + "type": "integer", + "description": "来源类型" + }, + "latestTime": { + "type": "integer", + "description": "最近互动时间戳" + }, + "count": { + "type": "integer", + "description": "互动次数" + }, + "giftCount": { + "type": "integer", + "description": "礼物数量" + }, + "customId": { + "type": "integer", + "description": "自定义标识" + }, + "lastCharged": { + "type": "integer", + "description": "最近充能时间" + }, + "bAvailableCnt": { + "type": "integer", + "description": "可用次数" + }, + "bTodayVotedCnt": { + "type": "integer", + "description": "今日已点赞次数" + }, + "nick": { + "type": "string", + "description": "昵称" + }, + "gender": { + "type": "integer", + "description": "性别" + }, + "age": { + "type": "integer", + "description": "年龄" + }, + "isFriend": { + "type": "boolean", + "description": "是否为好友" + }, + "isvip": { + "type": "boolean", + "description": "是否为会员" + }, + "isSvip": { + "type": "boolean", + "description": "是否为超级会员" + } + }, + "required": [ + "uid", + "uin", + "src", + "latestTime", + "count", + "giftCount", + "customId", + "lastCharged", + "bAvailableCnt", + "bTodayVotedCnt", + "nick", + "gender", + "age", + "isFriend", + "isvip", + "isSvip" + ] + } + } + } + }, + "voteInfo": { + "type": "object", + "description": "点赞统计", + "properties": { + "total_count": { + "type": "integer", + "description": "点赞总数" + }, + "new_count": { + "type": "integer", + "description": "新增点赞数" + }, + "new_nearby_count": { + "type": "integer", + "description": "附近的人新增点赞数" + }, + "last_visit_time": { + "type": "integer", + "description": "最近访问时间戳" + }, + "userInfos": { + "type": "array", + "description": "点赞用户列表", + "items": { + "type": "object", + "properties": { + "uid": { + "type": "string", + "description": "用户 uid" + }, + "uin": { + "type": "integer", + "description": "用户 QQ 号;资料中没有有效号码时为 0" + }, + "src": { + "type": "integer", + "description": "来源类型" + }, + "latestTime": { + "type": "integer", + "description": "最近互动时间戳" + }, + "count": { + "type": "integer", + "description": "互动次数" + }, + "giftCount": { + "type": "integer", + "description": "礼物数量" + }, + "customId": { + "type": "integer", + "description": "自定义标识" + }, + "lastCharged": { + "type": "integer", + "description": "最近充能时间" + }, + "bAvailableCnt": { + "type": "integer", + "description": "可用次数" + }, + "bTodayVotedCnt": { + "type": "integer", + "description": "今日已点赞次数" + }, + "nick": { + "type": "string", + "description": "昵称" + }, + "gender": { + "type": "integer", + "description": "性别" + }, + "age": { + "type": "integer", + "description": "年龄" + }, + "isFriend": { + "type": "boolean", + "description": "是否为好友" + }, + "isvip": { + "type": "boolean", + "description": "是否为会员" + }, + "isSvip": { + "type": "boolean", + "description": "是否为超级会员" + } + }, + "required": [ + "uid", + "uin", + "src", + "latestTime", + "count", + "giftCount", + "customId", + "lastCharged", + "bAvailableCnt", + "bTodayVotedCnt", + "nick", + "gender", + "age", + "isFriend", + "isvip", + "isSvip" + ] + } + } + } + } + }, + "required": [ + "uid", + "time", + "favoriteInfo", + "voteInfo" + ] + }, + "examples": [ + { + "summary": "获取资料点赞", + "params": { + "user_id": 10001, + "start": 0, + "count": 10 + } + } + ], + "readOnly": true, + "params": [ + { + "name": "user_id", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "default": 0, + "role": "user_id" + }, + { + "name": "start", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "default": 0 + }, + { + "name": "count", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "default": 10 + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 0, + "default": 0, + "x-role": "user_id" + }, + "start": { + "type": "integer", + "minimum": 0, + "default": 0 + }, + "count": { + "type": "integer", + "minimum": 0, + "default": 10 + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_qun_album_list", + "aliases": [], + "returns": "NapCat 风格的相册列表封套:{album_list, attach_info, has_more}。", + "returnsSchema": { + "type": "object", + "properties": { + "album_list": { + "type": "array", + "description": "相册列表", + "items": { + "type": "object", + "properties": { + "album_id": { + "type": "string", + "description": "相册 id" + }, + "name": { + "type": "string", + "description": "相册名称" + }, + "create_time": { + "type": "string", + "description": "相册创建时间(unix 秒)" + }, + "last_upload_time": { + "type": "string", + "description": "最后上传时间(unix 秒)" + }, + "upload_number": { + "type": "string", + "description": "相册内媒体数量" + }, + "cover": { + "type": [ + "object", + "null" + ], + "description": "相册封面;没有封面时为 null", + "properties": { + "type": { + "type": "integer", + "description": "封面媒体类型" + }, + "image": { + "type": [ + "object", + "null" + ], + "description": "封面图片信息", + "properties": { + "name": { + "type": "string", + "description": "图片名称" + }, + "sloc": { + "type": "string", + "description": "图片短定位标识" + }, + "lloc": { + "type": "string", + "description": "图片长定位标识" + }, + "photoUrls": { + "type": "array", + "description": "不同规格的封面地址", + "items": { + "type": "object", + "properties": { + "spec": { + "type": "integer", + "description": "图片规格" + }, + "url": { + "type": [ + "object", + "null" + ], + "properties": { + "url": { + "type": "string", + "description": "封面地址" + }, + "width": { + "type": "integer", + "description": "封面宽度" + }, + "height": { + "type": "integer", + "description": "封面高度" + } + }, + "required": [ + "url", + "width", + "height" + ] + } + }, + "required": [ + "spec", + "url" + ] + } + }, + "defaultUrl": { + "type": [ + "object", + "null" + ], + "properties": { + "url": { + "type": "string", + "description": "封面地址" + }, + "width": { + "type": "integer", + "description": "封面宽度" + }, + "height": { + "type": "integer", + "description": "封面高度" + } + }, + "required": [ + "url", + "width", + "height" + ] + }, + "isGif": { + "type": "boolean", + "description": "是否为动图" + }, + "hasRaw": { + "type": "boolean", + "description": "是否有原图" + } + }, + "required": [ + "name", + "sloc", + "lloc", + "photoUrls", + "defaultUrl", + "isGif", + "hasRaw" + ] + } + }, + "required": [ + "type", + "image" + ] + }, + "creator": { + "type": "object", + "description": "相册创建者信息", + "properties": { + "uin": { + "type": "string", + "description": "创建者 QQ 号" + }, + "uid": { + "type": "string", + "description": "创建者 UID" + }, + "nick": { + "type": "string", + "description": "创建者原始 Unicode 昵称" + } + } + } + }, + "required": [ + "album_id", + "name", + "create_time", + "last_upload_time", + "upload_number", + "cover" + ] + } + }, + "attach_info": { + "type": "string", + "description": "下一页分页游标" + }, + "has_more": { + "type": "boolean", + "description": "是否还有更多" + } + }, + "required": [ + "album_list", + "attach_info", + "has_more" + ] + }, + "examples": [ + { + "summary": "基本调用", + "params": { + "group_id": 20001, + "attach_info": "" + }, + "notes": "后续页原样传回上一页的 attach_info;has_more=false 表示结束。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "attach_info", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "attach_info": { + "type": "string", + "default": "" + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "群相册" + }, + { + "name": "get_qzone_feed_detail", + "aliases": [], + "summary": "按说说 tid 读取完整空间动态,可用于生成分享卡片", + "returns": "完整动态及上游详情字段。feed 保留图片、视频、分享信息和未知字段,可直接用于 get_qzone_share_ark;attach_info 保留上游评论游标,不自动翻页。", + "returnsSchema": { + "type": "object", + "additionalProperties": true, + "properties": { + "feed": { + "type": "object", + "additionalProperties": true, + "description": "去除上游包装后的完整动态,可原样传给 get_qzone_share_ark" + }, + "attach_info": { + "type": [ + "string", + "null" + ], + "description": "上游评论续页游标,未提供时为 null;不保证评论及回复完整" + } + }, + "required": [ + "feed", + "attach_info" + ] + }, + "examples": [ + { + "summary": "按说说编号获取完整动态", + "params": { + "tid": "1127000000f1536501000000" + }, + "notes": "将示例 tid 替换为 get_qzone_msg_list 或 send_qzone_msg 返回的 24 位十六进制说说编号。把结果的 feed 原样传给 get_qzone_share_ark;读取和分享均受空间权限限制。" + } + ], + "readOnly": true, + "params": [ + { + "name": "tid", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 24 + }, + "desc": "24 位十六进制说说编号" + } + ], + "invariants": [ + "tid must be a 24-character hexadecimal post ID" + ], + "inputSchema": { + "type": "object", + "properties": { + "tid": { + "type": "string", + "minLength": 1, + "maxLength": 24, + "description": "24 位十六进制说说编号" + } + }, + "required": [ + "tid" + ], + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "get_qzone_feeds", + "aliases": [], + "summary": "获取 QQ 空间好友动态,支持结构化正文与游标分页", + "returns": "好友动态、可提取的正文与图片、统计值及下一页游标;未知内容或统计为 null,HTML 保留。", + "returnsSchema": { + "type": "object", + "properties": { + "feeds": { + "type": "array", + "description": "本页好友动态数组", + "items": { + "type": "object", + "properties": { + "uin": { + "type": "integer", + "description": "动态作者 QQ 号" + }, + "nickname": { + "type": "string", + "description": "作者昵称" + }, + "time": { + "type": "integer", + "description": "发表时间(unix 秒)" + }, + "appid": { + "type": "integer", + "description": "Qzone 应用 id(311=说说,4=相册,…)" + }, + "key": { + "type": "string", + "description": "feed 句柄(Qzone 用于定位该条动态)" + }, + "html": { + "type": "string", + "description": "预渲染 HTML 原样透传" + }, + "tid": { + "type": [ + "string", + "null" + ], + "description": "可确认的说说编号;其他类型或无法确认时为 null" + }, + "content": { + "type": [ + "string", + "null" + ], + "description": "当前动态正文,不含评论;无法识别时为 null" + }, + "content_complete": { + "type": [ + "boolean", + "null" + ], + "description": "正文是否完整;false 表示折叠摘要,null 表示未知" + }, + "images": { + "type": [ + "array", + "null" + ], + "items": { + "type": "string" + }, + "description": "当前正文中可提取的图片地址,不含头像、评论图片或视频封面;不保证完整相册" + }, + "like_count": { + "type": [ + "integer", + "null" + ], + "description": "服务端提供的点赞数;未知时为 null" + }, + "comment_count": { + "type": [ + "integer", + "null" + ], + "description": "服务端提供的评论数;未知时为 null,不以展示的评论条数估算" + } + }, + "required": [ + "uin", + "nickname", + "time", + "appid", + "key", + "html", + "tid", + "content", + "content_complete", + "images", + "like_count", + "comment_count" + ] + } + }, + "has_more": { + "type": "boolean", + "description": "服务端是否报告本页之后还有更多页" + }, + "next_cursor": { + "type": [ + "string", + "null" + ], + "description": "下一页游标,原样作为 cursor 传回;没有更多页时为 null" + } + }, + "required": [ + "feeds", + "has_more", + "next_cursor" + ] + }, + "examples": [ + { + "summary": "获取 QQ 空间好友动态首页及结构化内容", + "params": { + "page_num": 1, + "count": 10 + }, + "notes": "保留 html;content/images 为可提取的正文和图片,未知值为 null。续页使用 next_cursor。" + }, + { + "summary": "继续读取上一页之后的好友动态", + "params": { + "cursor": "", + "count": 10 + }, + "notes": "cursor 原样使用上次返回的 next_cursor,仅适用于同一账号;has_more=false 时停止。" + } + ], + "readOnly": true, + "params": [ + { + "name": "page_num", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "页码(1 起);不传 cursor 时从首页顺序定位,较深页可能耗时较长", + "default": 1 + }, + { + "name": "count", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 50 + }, + "desc": "本页数量", + "default": 10 + }, + { + "name": "cursor", + "type": "string", + "required": false, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 65536 + }, + "desc": "上一次返回的 next_cursor;原样传递,省略 page_num 或传入对应页码" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "page_num": { + "type": "integer", + "minimum": 1, + "description": "页码(1 起);不传 cursor 时从首页顺序定位,较深页可能耗时较长", + "default": 1 + }, + "count": { + "type": "integer", + "minimum": 1, + "maximum": 50, + "description": "本页数量", + "default": 10 + }, + "cursor": { + "type": "string", + "minLength": 1, + "maxLength": 65536, + "description": "上一次返回的 next_cursor;原样传递,省略 page_num 或传入对应页码" + } + }, + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "get_qzone_home_feeds", + "aliases": [], + "summary": "读取自己或有权访问的空间主页动态,保留完整分享信息", + "returns": "完整动态及分页状态;访问受空间权限限制,旧说说接口保持不变。", + "returnsSchema": { + "type": "object", + "additionalProperties": true, + "properties": { + "feeds": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": true + }, + "description": "完整动态,可原样传给 get_qzone_share_ark" + }, + "has_more": { + "type": "boolean" + }, + "next_cursor": { + "type": [ + "string", + "null" + ] + } + }, + "required": [ + "feeds", + "has_more", + "next_cursor" + ] + }, + "examples": [ + { + "summary": "读取自己的主页动态", + "params": {} + }, + { + "summary": "继续读取同一主页", + "params": { + "target_uin": 10001, + "cursor": "" + } + } + ], + "readOnly": true, + "params": [ + { + "name": "target_uin", + "type": "uint", + "required": false, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "主页所属 QQ 号,省略则为当前账号" + }, + { + "name": "cursor", + "type": "string", + "required": false, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 65536 + }, + "desc": "上次返回的 next_cursor,仅限同一账号及主页" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "target_uin": { + "type": "integer", + "minimum": 1, + "description": "主页所属 QQ 号,省略则为当前账号", + "x-role": "user_id" + }, + "cursor": { + "type": "string", + "minLength": 1, + "maxLength": 65536, + "description": "上次返回的 next_cursor,仅限同一账号及主页" + } + }, + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "get_qzone_msg_detail", + "aliases": [], + "summary": "获取 QQ 空间说说详情与一页评论(含服务端内联回复,需有访问权限)", + "returns": "说说详情、服务端报告的评论总数与本页评论;replies 仅含服务端内联返回的二级回复,不保证完整。", + "returnsSchema": { + "type": "object", + "properties": { + "tid": { + "type": "string", + "description": "说说 ID" + }, + "content": { + "type": "string", + "description": "说说正文" + }, + "comment_num": { + "type": "integer", + "description": "服务端报告的评论总数(非本页数量)" + }, + "comments": { + "type": "array", + "description": "本页一级评论,数量可能少于 num", + "items": { + "type": "object", + "properties": { + "uin": { + "type": "integer", + "description": "评论者 QQ 号" + }, + "name": { + "type": "string", + "description": "评论者昵称" + }, + "time": { + "type": "integer", + "description": "评论时间(unix 秒)" + }, + "content": { + "type": "string", + "description": "评论正文,保留空间表情和 @ 标记" + }, + "comment_id": { + "type": "string", + "description": "评论 ID,在所属说说或父评论内唯一" + }, + "replies": { + "type": "array", + "description": "服务端内联二级回复,可能不完整", + "items": { + "type": "object", + "properties": { + "uin": { + "type": "integer", + "description": "评论者 QQ 号" + }, + "name": { + "type": "string", + "description": "评论者昵称" + }, + "time": { + "type": "integer", + "description": "评论时间(unix 秒)" + }, + "content": { + "type": "string", + "description": "评论正文,保留空间表情和 @ 标记" + }, + "comment_id": { + "type": "string", + "description": "评论 ID,在所属说说或父评论内唯一" + }, + "parent_comment_id": { + "type": "string", + "description": "所属一级评论 ID;回复时作为 comment_id" + }, + "parent_comment_uin": { + "type": "integer", + "description": "所属一级评论作者;回复时作为 comment_uin" + } + }, + "required": [ + "uin", + "name", + "time", + "content", + "comment_id", + "parent_comment_id", + "parent_comment_uin" + ] + } + } + }, + "required": [ + "uin", + "name", + "time", + "content", + "comment_id", + "replies" + ] + } + } + }, + "required": [ + "tid", + "content", + "comment_num", + "comments" + ] + }, + "examples": [ + { + "summary": "获取 QQ 空间说说详情与一页评论(含服务端内联回复,需有访问权限)", + "params": { + "tid": "", + "pos": 0, + "num": 20 + }, + "notes": "tid 来自 get_qzone_msg_list;操作需有该说说的访问或管理权限。 replies 仅为服务端内联回复,不保证完整。" + } + ], + "readOnly": true, + "params": [ + { + "name": "tid", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + }, + "desc": "说说 tid(来自 get_qzone_msg_list / send_qzone_msg)" + }, + { + "name": "target_uin", + "type": "uint", + "required": false, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "说说所属 QQ 号,省略则取机器人自己" + }, + { + "name": "pos", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "desc": "一级评论起始偏移", + "default": 0 + }, + { + "name": "num", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100 + }, + "desc": "请求的一级评论数量,实际数量受服务端限制", + "default": 20 + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "tid": { + "type": "string", + "minLength": 1, + "description": "说说 tid(来自 get_qzone_msg_list / send_qzone_msg)" + }, + "target_uin": { + "type": "integer", + "minimum": 1, + "description": "说说所属 QQ 号,省略则取机器人自己", + "x-role": "user_id" + }, + "pos": { + "type": "integer", + "minimum": 0, + "description": "一级评论起始偏移", + "default": 0 + }, + "num": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "description": "请求的一级评论数量,实际数量受服务端限制", + "default": 20 + } + }, + "required": [ + "tid" + ], + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "get_qzone_msg_list", + "aliases": [], + "summary": "获取 QQ 空间说说列表(默认机器人自己的空间)", + "returns": "说说列表对象,含说说总数与本页说说数组。", + "returnsSchema": { + "type": "object", + "properties": { + "total": { + "type": "integer", + "description": "账号说说总数(非本页数量)" + }, + "msglist": { + "type": "array", + "description": "本页说说数组", + "items": { + "type": "object", + "properties": { + "tid": { + "type": "string", + "description": "说说 id(delete/comment/like 的句柄)" + }, + "content": { + "type": "string", + "description": "说说正文" + }, + "time": { + "type": "integer", + "description": "发表时间(unix 秒)" + }, + "comment_num": { + "type": "integer", + "description": "评论数" + }, + "is_private": { + "type": "boolean", + "description": "是否仅自己可见" + }, + "images": { + "type": "array", + "items": { + "type": "string" + }, + "description": "图片 URL 列表(每图取最大可用变体)" + } + }, + "required": [ + "tid", + "content", + "time", + "comment_num", + "is_private", + "images" + ] + } + } + }, + "required": [ + "total", + "msglist" + ] + }, + "examples": [ + { + "summary": "获取 QQ 空间说说列表(默认机器人自己的空间)", + "params": { + "pos": 0, + "num": 20 + }, + "notes": "默认读取当前账号;指定 target_uin 时需有访问权限。" + } + ], + "readOnly": true, + "params": [ + { + "name": "target_uin", + "type": "uint", + "required": false, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "目标 QQ 号,省略则取机器人自己" + }, + { + "name": "pos", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "desc": "起始偏移", + "default": 0 + }, + { + "name": "num", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 100 + }, + "desc": "本页数量", + "default": 20 + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "target_uin": { + "type": "integer", + "minimum": 1, + "description": "目标 QQ 号,省略则取机器人自己", + "x-role": "user_id" + }, + "pos": { + "type": "integer", + "minimum": 0, + "description": "起始偏移", + "default": 0 + }, + "num": { + "type": "integer", + "minimum": 1, + "maximum": 100, + "description": "本页数量", + "default": 20 + } + }, + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "get_qzone_profile", + "aliases": [], + "summary": "获取 QQ 空间名称和说明(默认当前账号)", + "returns": "空间名称和说明。", + "returnsSchema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "空间名称" + }, + "description": { + "type": "string", + "description": "空间说明" + } + }, + "required": [ + "name", + "description" + ] + }, + "examples": [ + { + "summary": "获取当前账号的空间名称和说明", + "params": {} + }, + { + "summary": "获取指定账号的空间名称和说明", + "params": { + "target_uin": 10001 + }, + "notes": "需要有该空间的访问权限。" + } + ], + "readOnly": true, + "params": [ + { + "name": "target_uin", + "type": "uint", + "required": false, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "目标 QQ 号,省略则取机器人自己" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "target_uin": { + "type": "integer", + "minimum": 1, + "description": "目标 QQ 号,省略则取机器人自己", + "x-role": "user_id" + } + }, + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "get_qzone_public_capabilities", + "aliases": [], + "summary": "读取当前账号的空友爱看入口与推权限", + "returns": "当前账号的上游入口能力对象,保留未知字段。", + "returnsSchema": { + "type": "object", + "additionalProperties": true + }, + "examples": [ + { + "summary": "查询当前账号是否有空友爱看入口及推能力", + "params": {} + } + ], + "readOnly": true, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "get_qzone_public_comments", + "aliases": [], + "summary": "继续读取推荐动态评论", + "returns": "上游评论页对象,保留评论、分页和未知字段。", + "returnsSchema": { + "type": "object", + "additionalProperties": true + }, + "examples": [ + { + "summary": "读取详情之后的下一页评论", + "params": { + "feed": { + "cell_common": { + "union_id": { + "uf_key": "", + "ugc_id": "", + "feed_id": "", + "ext_ids": [] + }, + "cur_like_key": "", + "domain_type": 3 + }, + "cell_feed_transfer": {}, + "cell_user_info": { + "user": { + "uin": "10001", + "uid": "", + "nick": "" + } + } + }, + "cursor": "" + }, + "notes": "feed 必须原样取自 get_qzone_public_feeds 的 feeds 数组,不能用旧说说 tid 拼造;示例中的占位字段须整体替换。 先读详情获取初始评论及 attach_info,再原样传入 cursor。" + } + ], + "readOnly": true, + "params": [ + { + "name": "feed", + "type": "object", + "required": true, + "schema": { + "type": "object", + "additionalProperties": true + }, + "desc": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + }, + { + "name": "cursor", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + }, + "desc": "详情或上一评论页返回的 attach_info" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "feed": { + "type": "object", + "additionalProperties": true, + "description": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + }, + "cursor": { + "type": "string", + "minLength": 1, + "description": "详情或上一评论页返回的 attach_info" + } + }, + "required": [ + "feed", + "cursor" + ], + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "get_qzone_public_feed_detail", + "aliases": [], + "summary": "读取推荐动态详情及初始评论", + "returns": "上游详情 data;初始评论位于 feed.feed.cell_comment.comments,续页使用 attach_info。", + "returnsSchema": { + "type": "object", + "additionalProperties": true + }, + "examples": [ + { + "summary": "读取推荐动态详情", + "params": { + "feed": { + "cell_common": { + "union_id": { + "uf_key": "", + "ugc_id": "", + "feed_id": "", + "ext_ids": [] + }, + "cur_like_key": "", + "domain_type": 3 + }, + "cell_feed_transfer": {}, + "cell_user_info": { + "user": { + "uin": "10001", + "uid": "", + "nick": "" + } + } + } + }, + "notes": "feed 必须原样取自 get_qzone_public_feeds 的 feeds 数组,不能用旧说说 tid 拼造;示例中的占位字段须整体替换。" + } + ], + "readOnly": true, + "params": [ + { + "name": "feed", + "type": "object", + "required": true, + "schema": { + "type": "object", + "additionalProperties": true + }, + "desc": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "feed": { + "type": "object", + "additionalProperties": true, + "description": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + } + }, + "required": [ + "feed" + ], + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "get_qzone_public_feeds", + "aliases": [], + "summary": "读取空友爱看推荐动态,支持独立游标分页", + "returns": "推荐动态原始 cell 对象及分页状态,保留其余上游页面字段。", + "returnsSchema": { + "type": "object", + "additionalProperties": true, + "properties": { + "feeds": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": true + }, + "description": "原始动态 cell 对象,后续详情和互动需原样传入" + }, + "has_more": { + "type": "boolean", + "description": "服务端是否报告还有下一页" + }, + "next_cursor": { + "type": [ + "string", + "null" + ], + "description": "下一页游标;无下一页时为 null" + } + }, + "required": [ + "feeds", + "has_more", + "next_cursor" + ] + }, + "examples": [ + { + "summary": "读取空友爱看推荐首页", + "params": {} + }, + { + "summary": "继续读取推荐动态", + "params": { + "cursor": "" + }, + "notes": "cursor 原样使用上次返回的 next_cursor,仅适用于同一账号;has_more=false 时停止。" + } + ], + "readOnly": true, + "params": [ + { + "name": "cursor", + "type": "string", + "required": false, + "schema": { + "type": "string", + "minLength": 1, + "maxLength": 65536 + }, + "desc": "上次返回的 next_cursor,省略则刷新首页" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "cursor": { + "type": "string", + "minLength": 1, + "maxLength": 65536, + "description": "上次返回的 next_cursor,省略则刷新首页" + } + }, + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "get_qzone_public_replies", + "aliases": [], + "summary": "继续读取指定评论的回复", + "returns": "上游回复页对象,保留回复、分页和未知字段。", + "returnsSchema": { + "type": "object", + "additionalProperties": true + }, + "examples": [ + { + "summary": "读取某条评论的后续回复", + "params": { + "feed": { + "cell_common": { + "union_id": { + "uf_key": "", + "ugc_id": "", + "feed_id": "", + "ext_ids": [] + }, + "cur_like_key": "", + "domain_type": 3 + }, + "cell_feed_transfer": {}, + "cell_user_info": { + "user": { + "uin": "10001", + "uid": "", + "nick": "" + } + } + }, + "comment": { + "id": "", + "user": { + "uin": "", + "uid": "", + "nick": "" + }, + "like": { + "id": "", + "count": 0, + "status": 0 + }, + "reply_attach_info": "" + } + }, + "notes": "feed 必须原样取自 get_qzone_public_feeds 的 feeds 数组,不能用旧说说 tid 拼造;示例中的占位字段须整体替换。 comment 可取 get_qzone_public_feed_detail 返回的 feed.feed.cell_comment.comments,或后续评论页;保留完整对象。 首次续读使用评论自带的 reply_attach_info;之后传上一回复页的游标。" + } + ], + "readOnly": true, + "params": [ + { + "name": "feed", + "type": "object", + "required": true, + "schema": { + "type": "object", + "additionalProperties": true + }, + "desc": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + }, + { + "name": "comment", + "type": "object", + "required": true, + "schema": { + "type": "object", + "additionalProperties": true + }, + "desc": "详情或评论页返回的完整评论对象,保留 user 等原始字段" + }, + { + "name": "cursor", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "desc": "上一回复页的 reply_attach_info;省略则使用评论自带游标", + "default": "" + }, + { + "name": "page_size", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "请求的回复数量", + "default": 20 + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "feed": { + "type": "object", + "additionalProperties": true, + "description": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + }, + "comment": { + "type": "object", + "additionalProperties": true, + "description": "详情或评论页返回的完整评论对象,保留 user 等原始字段" + }, + "cursor": { + "type": "string", + "description": "上一回复页的 reply_attach_info;省略则使用评论自带游标", + "default": "" + }, + "page_size": { + "type": "integer", + "minimum": 1, + "description": "请求的回复数量", + "default": 20 + } + }, + "required": [ + "feed", + "comment" + ], + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "get_qzone_share_ark", + "aliases": [], + "summary": "生成空间动态分享卡片,返回原文及分享提示", + "returns": "生成卡片但不发送消息;后续发送仍返回普通消息编号。", + "returnsSchema": { + "type": "object", + "properties": { + "ark": { + "type": "string", + "description": "卡片原文,直接作为 JSON 消息的 data" + }, + "requires_confirmation": { + "type": "boolean", + "description": "上游要求发送前确认分享提示" + }, + "notice": { + "type": [ + "string", + "null" + ], + "description": "上游分享提示;无提示时为 null" + } + }, + "required": [ + "ark", + "requires_confirmation", + "notice" + ] + }, + "examples": [ + { + "summary": "生成卡片后通过 JSON 消息发送", + "params": { + "feed": { + "cell_common": { + "union_id": { + "uf_key": "", + "ugc_id": "", + "feed_id": "", + "ext_ids": [] + }, + "cur_like_key": "", + "domain_type": 3 + }, + "cell_feed_transfer": "", + "cell_user_info": { + "user": { + "uin": "10001", + "uid": "", + "nick": "" + } + }, + "cell_operation": { + "share_outside": { + "share_access_resource": { + "busi_id": "", + "resource_id": "" + } + } + } + } + }, + "notes": "feed 原样取自 get_qzone_feed_detail 的 feed,或 get_qzone_home_feeds / get_qzone_public_feeds 的 feeds 条目。分享链接可能允许未登录者访问并包含作者 QQ 号;如 requires_confirmation=true,发送前展示 notice 并取得确认。将 ark 原文作为 JSON 消息发送,不要修改卡片内容。" + } + ], + "readOnly": false, + "params": [ + { + "name": "feed", + "type": "object", + "required": true, + "schema": { + "type": "object", + "additionalProperties": true + }, + "desc": "主页、详情或推荐列表返回的完整动态,保留所有原始字段" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "feed": { + "type": "object", + "additionalProperties": true, + "description": "主页、详情或推荐列表返回的完整动态,保留所有原始字段" + } + }, + "required": [ + "feed" + ], + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "get_recent_contact", + "aliases": [], + "summary": "获取最近会话(占位)", + "returns": "占位实现,恒返回空数组。", + "returnsSchema": { + "type": "array", + "description": "最近会话列表(占位,恒空)" + }, + "examples": [ + { + "summary": "获取最近会话(占位)", + "notes": "兼容占位接口,当前始终返回空数组,不能据此判断真实会话列表。", + "params": { + "count": 10 + } + } + ], + "readOnly": true, + "params": [ + { + "name": "count", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "default": 10 + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "count": { + "type": "integer", + "minimum": 0, + "default": 10 + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_record", + "aliases": [], + "summary": "获取语音信息;传 out_format 则服务端转码并附带 base64", + "returns": "语音信息(file/url 为向 QQ 获取的当前下载地址);资源元数据缺失或远端获取失败时返回错误。out_format 指定时附带转码后的 base64。", + "returnsSchema": { + "allOf": [ + { + "type": "object", + "properties": { + "file": { + "type": "string", + "description": "媒体地址;图片无地址时可为原文件标识" + }, + "url": { + "type": "string", + "description": "媒体下载地址,图片地址可能为空" + }, + "file_size": { + "type": "string", + "description": "原媒体字节数的十进制字符串" + }, + "file_name": { + "type": "string", + "description": "文件名或缓存标识" + } + }, + "required": [ + "file", + "url", + "file_size", + "file_name" + ] + }, + { + "type": "object", + "properties": { + "out_format": { + "type": "string", + "enum": [ + "mp3", + "amr", + "wma", + "m4a", + "spx", + "ogg", + "wav", + "flac" + ] + }, + "base64": { + "type": "string", + "description": "转换后音频的 Base64,未请求 out_format 时省略" + } + } + } + ], + "description": "未转换时只有媒体信息;指定 out_format 成功转换后同时增加 out_format 和 base64,file_size 仍为原媒体大小" + }, + "examples": [ + { + "summary": "获取语音信息;传 out_format 则服务端转码并附带 base64", + "params": { + "file": "", + "out_format": "mp3" + }, + "notes": "file 来自语音消息段;格式转换依赖服务端可用的转换工具,成功时增加 out_format 和 base64。" + } + ], + "readOnly": true, + "params": [ + { + "name": "file", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "", + "role": "record" + }, + { + "name": "file_id", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "", + "role": "file_id" + }, + { + "name": "out_format", + "type": "enum", + "required": false, + "values": [ + "mp3", + "amr", + "wma", + "m4a", + "spx", + "ogg", + "wav", + "flac" + ], + "schema": { + "enum": [ + "mp3", + "amr", + "wma", + "m4a", + "spx", + "ogg", + "wav", + "flac" + ] + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "file": { + "type": "string", + "default": "", + "x-role": "record" + }, + "file_id": { + "type": "string", + "default": "", + "x-role": "file_id" + }, + "out_format": { + "enum": [ + "mp3", + "amr", + "wma", + "m4a", + "spx", + "ogg", + "wav", + "flac" + ] + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_rkey", + "aliases": [ + "nc_get_rkey" + ], + "summary": "获取下载 rkey", + "returnsSchema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "rkey": { + "type": "string", + "description": "下载密钥,敏感信息" + }, + "type": { + "type": "integer" + }, + "ttl": { + "type": "integer", + "description": "有效时长,秒" + }, + "create_time": { + "type": "integer", + "description": "创建时间,Unix 秒" + } + }, + "required": [ + "rkey", + "type", + "ttl", + "create_time" + ] + } + }, + "examples": [ + { + "summary": "获取下载 rkey", + "params": {}, + "notes": "返回值可能包含凭据或临时下载密钥,请勿公开或记录到不受控日志。" + } + ], + "readOnly": true, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_rkey_server", + "aliases": [], + "summary": "获取 rkey 服务器信息", + "returns": "{ expired_time, name, private_rkey?, group_rkey? }:rkey 过期时间与(存在时的)私聊/群聊 rkey。", + "returnsSchema": { + "type": "object", + "properties": { + "expired_time": { + "type": "integer", + "description": "过期时间戳(秒)" + }, + "name": { + "type": "string", + "description": "服务器名(恒 SnowLuma)" + }, + "private_rkey": { + "type": "string", + "description": "私聊 rkey(存在时返回)" + }, + "group_rkey": { + "type": "string", + "description": "群聊 rkey(存在时返回)" + } + }, + "required": [ + "expired_time", + "name" + ] + }, + "examples": [ + { + "summary": "获取 rkey 服务器信息", + "params": {}, + "notes": "返回值可能包含凭据或临时下载密钥,请勿公开或记录到不受控日志。" + } + ], + "readOnly": true, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_share_link", + "aliases": [], + "summary": "获取文件分享链接", + "returnsSchema": { + "type": "string", + "description": "生成的下载或分享 URL 字符串,不是含 url 字段的对象" + }, + "examples": [ + { + "summary": "获取文件分享链接", + "params": { + "fileset_id": "" + }, + "notes": "fileset_id 来自 create_flash_task、get_fileset_id 或 list_filesets,替换为当前账号可访问的文件集。" + } + ], + "readOnly": false, + "params": [ + { + "name": "fileset_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "fileset_id": { + "type": "string", + "minLength": 1 + } + }, + "required": [ + "fileset_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_status", + "aliases": [], + "returns": "运行状态。`online` 表示账号在线;`good` 表示已确认的收发链路健康状态;`time` 为当前账号服务实例运行秒数,与 #sl 同源。", + "returnsSchema": { + "type": "object", + "properties": { + "online": { + "type": "boolean", + "description": "是否在线" + }, + "good": { + "type": "boolean", + "description": "收发链路健康状态;确认接收停滞或主动请求连接失效时为 false" + }, + "time": { + "type": "integer", + "description": "当前账号服务实例运行秒数,与 #sl 同源;实例重建后重新计时" + } + }, + "required": [ + "online", + "good", + "time" + ] + }, + "examples": [ + { + "summary": "基本调用", + "params": {} + } + ], + "readOnly": true, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "信息" + }, + { + "name": "get_stranger_info", + "aliases": [], + "summary": "获取陌生人信息", + "returns": "用户资料,含账号标识、等级别名和可用的注册时间、生日、会员信息。注册时间、生日或会员信息未返回时省略对应字段,出生年份未公开时只省略年份;登录天数暂无可靠来源,不返回占位值。", + "returnsSchema": { + "type": "object", + "properties": { + "long_nick": { + "type": "string", + "description": "个性签名" + }, + "sex": { + "type": "string", + "description": "性别(male/female/unknown)" + }, + "age": { + "type": "integer", + "description": "年龄" + }, + "level": { + "type": "integer", + "description": "QQ 等级,同 qq_level(仅查到资料时返回)" + }, + "birthday_year": { + "type": "integer", + "description": "生日年份,兼容 NapCat;未公开或不可用时省略" + }, + "birthday_month": { + "type": "integer", + "description": "生日月份(1-12),兼容 NapCat;不可用时省略" + }, + "birthday_day": { + "type": "integer", + "description": "生日日期(1-31),兼容 NapCat;不可用时省略" + }, + "phone_num": { + "type": "string", + "description": "资料卡公开的电话号码" + }, + "email": { + "type": "string", + "description": "资料卡公开的邮箱" + }, + "country": { + "type": "string", + "description": "国家" + }, + "province": { + "type": "string", + "description": "省份" + }, + "city": { + "type": "string", + "description": "城市" + }, + "college": { + "type": "string", + "description": "学校" + }, + "is_qq_vip": { + "type": "boolean", + "description": "普通会员状态" + }, + "is_vip": { + "type": "boolean", + "description": "超级会员状态,兼容 NapCat;不可用时省略" + }, + "is_years_vip": { + "type": "boolean", + "description": "年费会员状态,不可用时省略" + }, + "vip_level": { + "type": "integer", + "description": "会员等级,不可用时省略" + }, + "privilege_icons": { + "type": "object", + "description": "业务图标;未返回该资料时省略整个字段,空列表表示没有该类图标", + "properties": { + "jump_url": { + "type": "string", + "description": "业务列表跳转地址" + }, + "open": { + "type": "array", + "description": "已开通业务", + "items": { + "type": "object", + "properties": { + "type": { + "type": "integer", + "description": "业务类型" + }, + "level": { + "type": "integer", + "description": "业务等级" + }, + "flag": { + "type": "integer", + "description": "服务端业务标志" + }, + "is_big": { + "type": "integer", + "description": "服务端大图标标志" + }, + "jump_url": { + "type": "string", + "description": "业务跳转地址" + }, + "icon_url": { + "type": "string", + "description": "普通图标地址" + }, + "deluxe_icon_url": { + "type": "string", + "description": "高级图标地址,可与普通图标同时存在" + } + } + } + }, + "closed": { + "type": "array", + "description": "未开通业务", + "items": { + "type": "object", + "properties": { + "type": { + "type": "integer", + "description": "业务类型" + }, + "level": { + "type": "integer", + "description": "业务等级" + }, + "flag": { + "type": "integer", + "description": "服务端业务标志" + }, + "is_big": { + "type": "integer", + "description": "服务端大图标标志" + }, + "jump_url": { + "type": "string", + "description": "业务跳转地址" + }, + "icon_url": { + "type": "string", + "description": "普通图标地址" + }, + "deluxe_icon_url": { + "type": "string", + "description": "高级图标地址,可与普通图标同时存在" + } + } + } + } + }, + "required": [ + "open", + "closed" + ] + }, + "user_id": { + "type": "integer", + "description": "QQ 号" + }, + "uid": { + "type": "string", + "description": "账号唯一标识(仅查到资料时返回)" + }, + "qid": { + "type": "string", + "description": "自定义账号标识(仅查到资料时返回)" + }, + "nickname": { + "type": "string", + "description": "昵称" + }, + "remark": { + "type": "string", + "description": "好友备注;非好友或未设置时为空字符串" + }, + "qq_level": { + "type": "integer", + "description": "QQ 等级(仅查到资料时返回)" + }, + "qqLevel": { + "type": "integer", + "description": "QQ 等级,同 qq_level" + }, + "reg_time": { + "type": "integer", + "description": "注册时间戳(秒),不可用时省略" + }, + "status": { + "type": "integer", + "description": "在线状态码" + }, + "extStatus": { + "type": "integer", + "description": "扩展状态码" + }, + "ext_status": { + "type": "integer", + "description": "扩展状态码(同 extStatus)" + }, + "batteryStatus": { + "type": "integer", + "description": "电量状态" + }, + "customStatus": { + "type": "object", + "description": "自定义状态", + "nullable": true + }, + "customStatusDescInfo": { + "type": "string", + "description": "自定义状态说明" + }, + "qidian_master_flag": { + "type": "integer", + "description": "企点主号标志,0 或 1;普通账号为 0" + }, + "qidian_crew_flag": { + "type": "integer", + "description": "企点员工标志,0 或 1;普通账号为 0" + }, + "qidian_crew_flag_2": { + "type": "integer", + "description": "企点保留标志,0 或 1;普通账号为 0" + }, + "qidian_enterprise_name": { + "type": "string", + "description": "企点企业名称;非企点账号或未获取到时为空字符串" + } + }, + "required": [ + "user_id", + "nickname", + "remark", + "sex", + "age", + "long_nick" + ] + }, + "examples": [ + { + "summary": "获取陌生人信息", + "params": { + "user_id": 10001 + }, + "notes": "替换为需要查询的 QQ 号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "QQ 号" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 1, + "description": "QQ 号", + "x-role": "user_id" + } + }, + "required": [ + "user_id" + ], + "additionalProperties": true + }, + "category": "好友" + }, + { + "name": "get_unidirectional_friend_list", + "aliases": [], + "summary": "获取单向好友列表", + "returnsSchema": { + "type": "array", + "items": { + "type": "object", + "additionalProperties": true, + "description": "服务端列表项原样透传,目前未归一化字段,不能假定与 get_friend_list 相同" + } + }, + "examples": [ + { + "summary": "获取单向好友列表", + "params": {} + } + ], + "readOnly": true, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "get_version_info", + "aliases": [], + "returns": "实现与协议版本信息。", + "returnsSchema": { + "type": "object", + "properties": { + "app_name": { + "type": "string", + "description": "实现名称(SnowLuma)" + }, + "app_version": { + "type": "string", + "description": "实现版本" + }, + "protocol_version": { + "type": "string", + "description": "OneBot 协议版本" + } + }, + "required": [ + "app_name", + "app_version", + "protocol_version" + ] + }, + "examples": [ + { + "summary": "基本调用", + "params": {} + } + ], + "readOnly": true, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "信息" + }, + { + "name": "group_poke", + "aliases": [], + "summary": "群拍一拍", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "群拍一拍", + "params": { + "group_id": 20001, + "user_id": 10001 + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "member_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "QQ 号" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "user_id": { + "type": "integer", + "minimum": 1, + "description": "QQ 号", + "x-role": "member_id" + } + }, + "required": [ + "group_id", + "user_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "like_qzone", + "aliases": [], + "summary": "给一条说说点赞(QQ 空间)", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "给一条说说点赞(QQ 空间)", + "params": { + "tid": "", + "target_uin": 10001 + }, + "notes": "tid 来自 get_qzone_msg_list;操作需有该说说的访问或管理权限。" + } + ], + "readOnly": false, + "params": [ + { + "name": "tid", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + }, + "desc": "说说 tid" + }, + { + "name": "target_uin", + "type": "uint", + "required": false, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "说说所属 QQ 号,省略则为机器人自己" + }, + { + "name": "abstime", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "desc": "说说发表时间(unix 秒),传真实值更可靠", + "default": 0, + "role": "timestamp" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "tid": { + "type": "string", + "minLength": 1, + "description": "说说 tid" + }, + "target_uin": { + "type": "integer", + "minimum": 1, + "description": "说说所属 QQ 号,省略则为机器人自己", + "x-role": "user_id" + }, + "abstime": { + "type": "integer", + "minimum": 0, + "description": "说说发表时间(unix 秒),传真实值更可靠", + "default": 0, + "x-role": "timestamp" + } + }, + "required": [ + "tid" + ], + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "list_filesets", + "aliases": [], + "summary": "列出当前账号的所有闪传文件集", + "returnsSchema": { + "type": "array", + "items": { + "type": "object", + "properties": { + "fileset_id": { + "type": "string" + }, + "file_name": { + "type": "string" + }, + "orig_name": { + "type": "string" + }, + "size": { + "type": "number", + "description": "文件字节数;此接口字段名为 size" + }, + "share_url": { + "type": "string" + }, + "file_id": { + "type": "string" + }, + "download_url": { + "type": "string" + } + }, + "required": [ + "fileset_id", + "file_name", + "orig_name", + "size", + "share_url", + "file_id", + "download_url" + ] + } + }, + "examples": [ + { + "summary": "列出当前账号的所有闪传文件集", + "params": {} + } + ], + "readOnly": false, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "mark_group_msg_as_read", + "aliases": [], + "summary": "标记群消息已读", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "标记群消息已读", + "params": { + "message_id": -123456, + "group_id": 20001 + }, + "notes": "使用消息事件或发送结果中的真实 message_id,负值合法;消息须在当前账号的消息存储中可查询。" + } + ], + "readOnly": false, + "params": [ + { + "name": "message_id", + "type": "messageId", + "required": true, + "role": "message_id", + "schema": { + "type": "integer", + "not": { + "const": 0 + } + } + }, + { + "name": "group_id", + "type": "uint", + "required": false, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "not": { + "const": 0 + }, + "x-role": "message_id" + }, + "group_id": { + "type": "integer", + "minimum": 1, + "x-role": "group_id" + } + }, + "required": [ + "message_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "mark_msg_as_read", + "aliases": [], + "summary": "标记消息已读(群聊/私聊自动路由)", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "标记消息已读(群聊/私聊自动路由)", + "params": { + "message_id": -123456 + }, + "notes": "使用消息事件或发送结果中的真实 message_id,负值合法;消息须在当前账号的消息存储中可查询。" + } + ], + "readOnly": false, + "params": [ + { + "name": "message_id", + "type": "messageId", + "required": true, + "role": "message_id", + "schema": { + "type": "integer", + "not": { + "const": 0 + } + } + }, + { + "name": "target_id", + "type": "uint", + "required": false, + "schema": { + "type": "integer", + "minimum": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "not": { + "const": 0 + }, + "x-role": "message_id" + }, + "target_id": { + "type": "integer", + "minimum": 1 + } + }, + "required": [ + "message_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "mark_private_msg_as_read", + "aliases": [], + "summary": "标记私聊消息已读", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "标记私聊消息已读", + "params": { + "message_id": -123456, + "user_id": 10001 + }, + "notes": "使用消息事件或发送结果中的真实 message_id,负值合法;消息须在当前账号的消息存储中可查询。" + } + ], + "readOnly": false, + "params": [ + { + "name": "message_id", + "type": "messageId", + "required": true, + "role": "message_id", + "schema": { + "type": "integer", + "not": { + "const": 0 + } + } + }, + { + "name": "user_id", + "type": "uint", + "required": false, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "not": { + "const": 0 + }, + "x-role": "message_id" + }, + "user_id": { + "type": "integer", + "minimum": 1, + "x-role": "user_id" + } + }, + "required": [ + "message_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "modify_custom_face", + "aliases": [], + "summary": "修改收藏表情备注", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "修改收藏表情备注", + "params": { + "emoji_id": "", + "desc": "常用表情" + }, + "notes": "emoji_id 来自 fetch_custom_face_detail。" + } + ], + "readOnly": false, + "params": [ + { + "name": "emoji_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "desc", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "emoji_id": { + "type": "string", + "minLength": 1 + }, + "desc": { + "type": "string", + "default": "" + } + }, + "required": [ + "emoji_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "move_custom_face_to_front", + "aliases": [], + "summary": "收藏表情移到最前", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "收藏表情移到最前", + "params": { + "emoji_id": "" + }, + "notes": "emoji_id 来自 fetch_custom_face_detail。" + } + ], + "readOnly": false, + "params": [ + { + "name": "emoji_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "emoji_id": { + "type": "string", + "minLength": 1 + } + }, + "required": [ + "emoji_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "move_group_file", + "aliases": [], + "summary": "移动群文件", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "移动群文件", + "params": { + "group_id": 20001, + "file_id": "", + "parent_directory": "/", + "target_directory": "" + }, + "notes": "目录和文件标识均来自该群文件列表。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "file_id", + "type": "string", + "required": true, + "role": "file_id", + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "parent_directory", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "target_directory", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "file_id": { + "type": "string", + "minLength": 1, + "x-role": "file_id" + }, + "parent_directory": { + "type": "string", + "minLength": 1 + }, + "target_directory": { + "type": "string", + "minLength": 1 + } + }, + "required": [ + "group_id", + "file_id", + "parent_directory", + "target_directory" + ], + "additionalProperties": true + }, + "category": "群文件" + }, + { + "name": "nc_get_packet_status", + "aliases": [], + "summary": "获取 packet 状态(占位)", + "returns": "占位实现,恒返回 null。", + "returnsSchema": { + "type": "null", + "description": "packet 状态(占位,恒 null)" + }, + "examples": [ + { + "summary": "获取 packet 状态(占位)", + "notes": "兼容占位接口,当前始终返回 null,不提供实际收发统计。", + "params": {} + } + ], + "readOnly": true, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "nc_get_user_status", + "aliases": [], + "summary": "获取用户在线/扩展状态", + "returns": "{ status, ext_status }:用户在线状态码与扩展状态码。", + "returnsSchema": { + "type": "object", + "properties": { + "status": { + "type": "integer", + "description": "在线状态码" + }, + "ext_status": { + "type": "integer", + "description": "扩展状态码" + } + }, + "required": [ + "status", + "ext_status" + ] + }, + "examples": [ + { + "summary": "获取用户在线/扩展状态", + "params": { + "user_id": 10001 + }, + "notes": "替换为需要查询的 QQ 号。" + } + ], + "readOnly": true, + "params": [ + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 1, + "x-role": "user_id" + } + }, + "required": [ + "user_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "ocr_image", + "aliases": [ + ".ocr_image" + ], + "summary": "OCR 图片(服务端,需图片 URL 或已缓存的图片 file_id)", + "returns": "{ texts, language }:识别文本数组(含置信度与坐标)与识别语言。", + "returnsSchema": { + "type": "object", + "properties": { + "texts": { + "type": "array", + "description": "识别出的文本块", + "items": { + "type": "object", + "properties": { + "text": { + "type": "string", + "description": "文本内容" + }, + "confidence": { + "type": "number", + "description": "置信度" + }, + "coordinates": { + "type": "array", + "description": "文本框顶点坐标", + "items": { + "type": "object", + "properties": { + "x": { + "type": "number", + "description": "X 坐标" + }, + "y": { + "type": "number", + "description": "Y 坐标" + } + }, + "required": [ + "x", + "y" + ] + } + } + }, + "required": [ + "text", + "confidence", + "coordinates" + ] + } + }, + "language": { + "type": "string", + "description": "识别语言" + } + }, + "required": [ + "texts", + "language" + ] + }, + "examples": [ + { + "summary": "OCR 图片(服务端,需图片 URL 或已缓存的图片 file_id)", + "params": { + "image": "https://example.com/image.png" + }, + "notes": "替换为实际可访问的图片地址或已缓存图片标识;不支持本地路径和 base64。" + } + ], + "readOnly": true, + "params": [ + { + "name": "image", + "type": "string", + "required": true, + "role": "image", + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "image": { + "type": "string", + "minLength": 1, + "x-role": "image" + } + }, + "required": [ + "image" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "rename_flash_file", + "aliases": [], + "summary": "重命名闪传文件", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "重命名闪传文件", + "params": { + "fileset_id": "", + "new_name": "新资料包" + }, + "notes": "fileset_id 来自 create_flash_task、get_fileset_id 或 list_filesets,替换为当前账号可访问的文件集。" + } + ], + "readOnly": false, + "params": [ + { + "name": "fileset_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "new_name", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "fileset_id": { + "type": "string", + "minLength": 1 + }, + "new_name": { + "type": "string", + "minLength": 1 + } + }, + "required": [ + "fileset_id", + "new_name" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "rename_group_file", + "aliases": [], + "summary": "重命名群文件", + "returnsSchema": { + "type": "object", + "properties": { + "ok": { + "const": true + } + }, + "required": [ + "ok" + ] + }, + "examples": [ + { + "summary": "重命名群文件", + "params": { + "group_id": 20001, + "file_id": "", + "current_parent_directory": "/", + "new_name": "新文件名.pdf" + }, + "notes": "file_id 来自群文件列表,目录必须是文件当前所在目录。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "file_id", + "type": "string", + "required": true, + "role": "file_id", + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "current_parent_directory", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "/" + }, + { + "name": "new_name", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "file_id": { + "type": "string", + "minLength": 1, + "x-role": "file_id" + }, + "current_parent_directory": { + "type": "string", + "default": "/" + }, + "new_name": { + "type": "string", + "minLength": 1 + } + }, + "required": [ + "group_id", + "file_id", + "new_name" + ], + "additionalProperties": true + }, + "category": "群文件" + }, + { + "name": "rename_group_file_folder", + "aliases": [], + "summary": "重命名群文件夹", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "重命名群文件夹", + "params": { + "group_id": 20001, + "folder_id": "", + "new_folder_name": "课程资料" + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "folder_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "new_folder_name", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + }, + { + "name": "name", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "folder_id": { + "type": "string", + "minLength": 1 + }, + "new_folder_name": { + "type": "string", + "default": "" + }, + "name": { + "type": "string", + "default": "" + } + }, + "required": [ + "group_id", + "folder_id" + ], + "additionalProperties": true + }, + "category": "群文件" + }, + { + "name": "reply_qzone_public_feed", + "aliases": [], + "summary": "回复推荐动态的评论或其中某条回复", + "returns": "上游回复结果,包含新回复,保留未知字段。", + "returnsSchema": { + "type": "object", + "additionalProperties": true + }, + "examples": [ + { + "summary": "回复一条评论", + "params": { + "feed": { + "cell_common": { + "union_id": { + "uf_key": "", + "ugc_id": "", + "feed_id": "", + "ext_ids": [] + }, + "cur_like_key": "", + "domain_type": 3 + }, + "cell_feed_transfer": {}, + "cell_user_info": { + "user": { + "uin": "10001", + "uid": "", + "nick": "" + } + } + }, + "comment": { + "id": "", + "user": { + "uin": "", + "uid": "", + "nick": "" + }, + "like": { + "id": "", + "count": 0, + "status": 0 + }, + "reply_attach_info": "" + }, + "content": "感谢回复" + }, + "notes": "feed 必须原样取自 get_qzone_public_feeds 的 feeds 数组,不能用旧说说 tid 拼造;示例中的占位字段须整体替换。 comment 可取 get_qzone_public_feed_detail 返回的 feed.feed.cell_comment.comments,或后续评论页;保留完整对象。" + }, + { + "summary": "回复评论中的某条回复", + "params": { + "feed": { + "cell_common": { + "union_id": { + "uf_key": "", + "ugc_id": "", + "feed_id": "", + "ext_ids": [] + }, + "cur_like_key": "", + "domain_type": 3 + }, + "cell_feed_transfer": {}, + "cell_user_info": { + "user": { + "uin": "10001", + "uid": "", + "nick": "" + } + } + }, + "comment": { + "id": "", + "user": { + "uin": "", + "uid": "", + "nick": "" + }, + "like": { + "id": "", + "count": 0, + "status": 0 + }, + "reply_attach_info": "" + }, + "content": [ + { + "type": 0, + "content": "我也这么认为" + } + ], + "reply": { + "id": "", + "user": { + "uin": "", + "uid": "", + "nick": "" + }, + "like": { + "id": "", + "count": 0, + "status": 0 + } + } + }, + "notes": "feed 必须原样取自 get_qzone_public_feeds 的 feeds 数组,不能用旧说说 tid 拼造;示例中的占位字段须整体替换。 comment 可取 get_qzone_public_feed_detail 返回的 feed.feed.cell_comment.comments,或后续评论页;保留完整对象。 reply 使用该评论下的完整回复对象。" + } + ], + "readOnly": false, + "params": [ + { + "name": "feed", + "type": "object", + "required": true, + "schema": { + "type": "object", + "additionalProperties": true + }, + "desc": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + }, + { + "name": "comment", + "type": "object", + "required": true, + "schema": { + "type": "object", + "additionalProperties": true + }, + "desc": "详情或评论页返回的完整评论对象,保留 user 等原始字段" + }, + { + "name": "content", + "type": "string | object[]", + "required": true, + "schema": { + "anyOf": [ + { + "type": "string", + "minLength": 1 + }, + { + "type": "array", + "minItems": 1, + "items": { + "type": "object", + "additionalProperties": true + } + } + ] + }, + "desc": "非空文本,或非空上游 RichItem 对象数组;字符串始终原样发送,富文本请直接传对象数组,不是 OneBot 消息段" + }, + { + "name": "reply", + "type": "object", + "required": false, + "schema": { + "type": "object", + "additionalProperties": true + }, + "desc": "评论或回复页返回的完整回复对象,保留 user 等原始字段" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "feed": { + "type": "object", + "additionalProperties": true, + "description": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + }, + "comment": { + "type": "object", + "additionalProperties": true, + "description": "详情或评论页返回的完整评论对象,保留 user 等原始字段" + }, + "content": { + "anyOf": [ + { + "type": "string", + "minLength": 1 + }, + { + "type": "array", + "minItems": 1, + "items": { + "type": "object", + "additionalProperties": true + } + } + ], + "description": "非空文本,或非空上游 RichItem 对象数组;字符串始终原样发送,富文本请直接传对象数组,不是 OneBot 消息段" + }, + "reply": { + "type": "object", + "additionalProperties": true, + "description": "评论或回复页返回的完整回复对象,保留 user 等原始字段" + } + }, + "required": [ + "feed", + "comment", + "content" + ], + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "request_decrypt_key", + "aliases": [], + "summary": "请求数据库解密密钥", + "returnsSchema": { + "type": "object", + "properties": { + "db_key": { + "type": "string", + "description": "数据库密钥,敏感信息" + } + }, + "required": [ + "db_key" + ] + }, + "examples": [ + { + "summary": "请求数据库解密密钥", + "params": { + "db_path": "/path/to/account/nt_msg.db" + }, + "notes": "路径位于 SnowLuma 服务端,必须指向当前账号可用的数据库;返回值是敏感密钥。" + } + ], + "readOnly": false, + "params": [ + { + "name": "db_path", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "db_path": { + "type": "string", + "minLength": 1 + } + }, + "required": [ + "db_path" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "search_sys_faces", + "aliases": [], + "summary": "搜索 QQ 系统表情", + "returns": "匹配编号、名称、别名或分组名的表情列表。", + "returnsSchema": { + "type": "object", + "properties": { + "faces": { + "type": "array", + "items": { + "type": "object", + "properties": { + "q_sid": { + "type": "string", + "description": "QQ 表情目录标识(部分 emoji 为 Unicode 表情字符串)" + }, + "q_des": { + "type": "string", + "description": "表情描述" + }, + "em_code": { + "type": "string" + }, + "q_cid": { + "type": [ + "integer", + "null" + ] + }, + "ani_sticker_type": { + "type": [ + "integer", + "null" + ] + }, + "ani_sticker_pack_id": { + "type": [ + "integer", + "null" + ] + }, + "ani_sticker_id": { + "type": [ + "integer", + "null" + ] + }, + "url": { + "type": [ + "string", + "null" + ] + }, + "emoji_name_alias": { + "type": "array", + "items": { + "type": "string" + } + }, + "ani_sticker_width": { + "type": [ + "integer", + "null" + ] + }, + "ani_sticker_height": { + "type": [ + "integer", + "null" + ] + }, + "is_super": { + "type": "boolean", + "description": "是否使用超级表情格式" + } + }, + "required": [ + "q_sid", + "q_des", + "em_code", + "q_cid", + "ani_sticker_type", + "ani_sticker_pack_id", + "ani_sticker_id", + "url", + "emoji_name_alias", + "ani_sticker_width", + "ani_sticker_height", + "is_super" + ] + } + } + }, + "required": [ + "faces" + ] + }, + "examples": [ + { + "summary": "搜索 QQ 系统表情", + "params": { + "query": "微笑" + } + } + ], + "readOnly": true, + "params": [ + { + "name": "query", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + }, + "desc": "编号、名称、别名或分组名" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "query": { + "type": "string", + "minLength": 1, + "description": "编号、名称、别名或分组名" + } + }, + "required": [ + "query" + ], + "additionalProperties": true + }, + "category": "系统表情" + }, + { + "name": "send_ark_share", + "aliases": [], + "summary": "分享用户/群 Ark 卡片(NapCat 标准名)", + "returns": "{ arkMsg }:服务端生成的推荐联系人 Ark 卡片 JSON 字符串。", + "returnsSchema": { + "type": "object", + "properties": { + "arkMsg": { + "type": "string", + "description": "Ark 卡片 JSON 字符串" + } + }, + "required": [ + "arkMsg" + ] + }, + "examples": [ + { + "summary": "分享用户/群 Ark 卡片(NapCat 标准名)", + "params": { + "user_id": 10001 + }, + "notes": "生成联系人分享卡片;返回卡片数据,不等同于发送到聊天。" + } + ], + "readOnly": true, + "params": [ + { + "name": "user_id", + "type": "uint", + "required": false, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "group_id", + "type": "uint", + "required": false, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "phone_number", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 1, + "x-role": "user_id" + }, + "group_id": { + "type": "integer", + "minimum": 1, + "x-role": "group_id" + }, + "phone_number": { + "type": "string", + "default": "" + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "send_custom_face", + "aliases": [], + "summary": "发送账号收藏表情(emoji_id 或 MD5),保留表情显示样式", + "returns": "{ message_id: number }", + "returnsSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647, + "not": { + "const": 0 + }, + "description": "非零有符号 32 位消息 ID,负值合法;必须原样保留" + } + }, + "required": [ + "message_id" + ] + }, + "examples": [ + { + "summary": "发送账号收藏表情(emoji_id 或 MD5),保留表情显示样式", + "params": { + "group_id": 20001, + "emoji_id": "" + }, + "notes": "群聊和私聊目标只能提供一个;emoji_id 来自 fetch_custom_face_detail。" + } + ], + "readOnly": false, + "params": [ + { + "name": "emoji_id", + "type": "string", + "required": true, + "schema": { + "type": "string" + }, + "desc": "当前账号收藏表情的完整 ID 或 32 位 MD5" + }, + { + "name": "group_id", + "type": "uint", + "required": false, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "目标群号;与 user_id 二选一" + }, + { + "name": "user_id", + "type": "uint", + "required": false, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "目标 QQ 号;与 group_id 二选一" + }, + { + "name": "reply_to", + "type": "messageId", + "required": false, + "role": "message_id", + "schema": { + "type": "integer", + "not": { + "const": 0 + } + }, + "desc": "可选回复消息 ID" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "emoji_id": { + "type": "string", + "description": "当前账号收藏表情的完整 ID 或 32 位 MD5" + }, + "group_id": { + "type": "integer", + "minimum": 1, + "description": "目标群号;与 user_id 二选一", + "x-role": "group_id" + }, + "user_id": { + "type": "integer", + "minimum": 1, + "description": "目标 QQ 号;与 group_id 二选一", + "x-role": "user_id" + }, + "reply_to": { + "type": "integer", + "not": { + "const": 0 + }, + "description": "可选回复消息 ID", + "x-role": "message_id" + } + }, + "required": [ + "emoji_id" + ], + "additionalProperties": true + }, + "category": "消息" + }, + { + "name": "send_flash_msg", + "aliases": [], + "summary": "发送闪传消息(私聊或群聊,引用 fileset_id 让对端下载)", + "returns": "{ message_id }", + "returnsSchema": { + "type": "object", + "properties": { + "message_id": { + "const": 0, + "description": "闪传分享不返回普通消息 ID,0 是占位值,不能用于查询或撤回" + } + }, + "required": [ + "message_id" + ] + }, + "examples": [ + { + "summary": "发送闪传消息(私聊或群聊,引用 fileset_id 让对端下载)", + "params": { + "fileset_id": "", + "user_id": 10001 + }, + "notes": "fileset_id 来自 create_flash_task、get_fileset_id 或 list_filesets,替换为当前账号可访问的文件集。 会发送分享消息;message_id=0 是占位值,不能用于撤回或查消息。" + } + ], + "readOnly": false, + "params": [ + { + "name": "fileset_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "user_id", + "type": "uint", + "required": false, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "group_id", + "type": "uint", + "required": false, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "fileset_id": { + "type": "string", + "minLength": 1 + }, + "user_id": { + "type": "integer", + "minimum": 1, + "x-role": "user_id" + }, + "group_id": { + "type": "integer", + "minimum": 1, + "x-role": "group_id" + } + }, + "required": [ + "fileset_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "send_forward_msg", + "aliases": [], + "summary": "发送合并转发(按 message_type/群号自动路由)", + "returns": "{ message_id, res_id, forward_id }", + "returnsSchema": { + "type": "object", + "properties": { + "message_id": { + "anyOf": [ + { + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647, + "not": { + "const": 0 + }, + "description": "非零有符号 32 位消息 ID,负值合法;必须原样保留" + }, + { + "const": 0 + } + ], + "description": "已发送时是非零有符号消息 ID;未提供目标、仅上传资源时为 0" + }, + "res_id": { + "type": "string" + }, + "forward_id": { + "type": "string" + } + }, + "required": [ + "message_id", + "res_id", + "forward_id" + ] + }, + "examples": [ + { + "summary": "发送合并转发(按 message_type/群号自动路由)", + "params": { + "group_id": 20001, + "messages": [ + { + "type": "node", + "data": { + "user_id": 10001, + "nickname": "示例用户", + "content": [ + { + "type": "text", + "data": { + "text": "转发内容" + } + } + ] + } + } + ] + }, + "notes": "替换目标群号;nodes 是自定义转发节点数组。send_forward_msg 不提供目标时仅上传资源并返回 message_id=0。" + } + ], + "readOnly": false, + "params": [ + { + "name": "messages", + "type": "message", + "required": false, + "schema": { + "description": "OneBot message: string | segment[] | object. In segment arrays, text segments whose text field is exactly \"\" are compatibility placeholders and do not count as sendable segments; missing, null, and whitespace-only text remain subject to normal validation." + }, + "desc": "转发节点数组;节点 content 内的 reply.data.message 可提供自定义引用内容(字符串或消息段),qq/time/seq 可选;仅用于转发内引用预览。" + }, + { + "name": "message", + "type": "message", + "required": false, + "schema": { + "description": "OneBot message: string | segment[] | object. In segment arrays, text segments whose text field is exactly \"\" are compatibility placeholders and do not count as sendable segments; missing, null, and whitespace-only text remain subject to normal validation." + }, + "desc": "转发节点数组;节点 content 内的 reply.data.message 可提供自定义引用内容(字符串或消息段),qq/time/seq 可选;仅用于转发内引用预览。" + }, + { + "name": "message_type", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "group_id", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + } + }, + { + "name": "user_id", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + } + }, + { + "name": "source", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "summary", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "prompt", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "news", + "type": "raw", + "required": false, + "schema": {} + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "messages": { + "description": "转发节点数组;节点 content 内的 reply.data.message 可提供自定义引用内容(字符串或消息段),qq/time/seq 可选;仅用于转发内引用预览。" + }, + "message": { + "description": "转发节点数组;节点 content 内的 reply.data.message 可提供自定义引用内容(字符串或消息段),qq/time/seq 可选;仅用于转发内引用预览。" + }, + "message_type": { + "type": "string" + }, + "group_id": { + "type": "integer", + "minimum": 0 + }, + "user_id": { + "type": "integer", + "minimum": 0 + }, + "source": { + "type": "string" + }, + "summary": { + "type": "string" + }, + "prompt": { + "type": "string" + }, + "news": {} + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "send_group_ai_record", + "aliases": [], + "summary": "发送 AI 语音到群", + "returns": "{ message_id }:已发送 AI 语音的 OneBot 消息 ID。", + "returnsSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647, + "not": { + "const": 0 + }, + "description": "非零有符号 32 位消息 ID,负值合法;必须原样保留" + } + }, + "required": [ + "message_id" + ] + }, + "examples": [ + { + "summary": "发送 AI 语音到群", + "params": { + "group_id": 20001, + "character": "", + "text": "你好", + "chat_type": 1 + }, + "notes": "character 原样使用 get_ai_characters 的 character_id;send_group_ai_record 会直接发送语音。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "character", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "text", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "chat_type", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "default": 1 + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "character": { + "type": "string", + "minLength": 1 + }, + "text": { + "type": "string", + "minLength": 1 + }, + "chat_type": { + "type": "integer", + "minimum": 0, + "default": 1 + } + }, + "required": [ + "group_id", + "character", + "text" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "send_group_ark_share", + "aliases": [], + "summary": "分享群 Ark 卡片(NapCat 标准名)", + "returns": "服务端生成的群推荐 Ark 卡片 JSON 字符串。", + "returnsSchema": { + "type": "string", + "description": "群 Ark 卡片 JSON 字符串" + }, + "examples": [ + { + "summary": "分享群 Ark 卡片(NapCat 标准名)", + "params": { + "group_id": 20001 + }, + "notes": "生成群分享卡片;返回卡片数据,不等同于发送到聊天。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "x-role": "group_id" + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "send_group_forward_msg", + "aliases": [], + "summary": "发送群合并转发", + "returns": "{ message_id, res_id, forward_id }", + "returnsSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647, + "not": { + "const": 0 + }, + "description": "非零有符号 32 位消息 ID,负值合法;必须原样保留" + }, + "res_id": { + "type": "string" + }, + "forward_id": { + "type": "string" + } + }, + "required": [ + "message_id", + "res_id", + "forward_id" + ] + }, + "examples": [ + { + "summary": "发送群合并转发", + "params": { + "group_id": 20001, + "messages": [ + { + "type": "node", + "data": { + "user_id": 10001, + "nickname": "示例用户", + "content": [ + { + "type": "text", + "data": { + "text": "转发内容" + } + } + ] + } + } + ] + }, + "notes": "替换目标群号;nodes 是自定义转发节点数组。send_forward_msg 不提供目标时仅上传资源并返回 message_id=0。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "messages", + "type": "message", + "required": false, + "schema": { + "description": "OneBot message: string | segment[] | object. In segment arrays, text segments whose text field is exactly \"\" are compatibility placeholders and do not count as sendable segments; missing, null, and whitespace-only text remain subject to normal validation." + }, + "desc": "转发节点数组;节点 content 内的 reply.data.message 可提供自定义引用内容(字符串或消息段),qq/time/seq 可选;仅用于转发内引用预览。" + }, + { + "name": "message", + "type": "message", + "required": false, + "schema": { + "description": "OneBot message: string | segment[] | object. In segment arrays, text segments whose text field is exactly \"\" are compatibility placeholders and do not count as sendable segments; missing, null, and whitespace-only text remain subject to normal validation." + }, + "desc": "转发节点数组;节点 content 内的 reply.data.message 可提供自定义引用内容(字符串或消息段),qq/time/seq 可选;仅用于转发内引用预览。" + }, + { + "name": "source", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "summary", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "prompt", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "news", + "type": "raw", + "required": false, + "schema": {} + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "messages": { + "description": "转发节点数组;节点 content 内的 reply.data.message 可提供自定义引用内容(字符串或消息段),qq/time/seq 可选;仅用于转发内引用预览。" + }, + "message": { + "description": "转发节点数组;节点 content 内的 reply.data.message 可提供自定义引用内容(字符串或消息段),qq/time/seq 可选;仅用于转发内引用预览。" + }, + "source": { + "type": "string" + }, + "summary": { + "type": "string" + }, + "prompt": { + "type": "string" + }, + "news": {} + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "send_group_msg", + "aliases": [], + "summary": "发送群消息", + "returns": "{ message_id: number }", + "returnsSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647, + "not": { + "const": 0 + }, + "description": "非零有符号 32 位消息 ID,负值合法;必须原样保留" + } + }, + "required": [ + "message_id" + ] + }, + "examples": [ + { + "summary": "发送群消息", + "params": { + "group_id": 20001, + "message": [ + { + "type": "text", + "data": { + "text": "你好" + } + } + ] + }, + "notes": "替换目标群号;成功返回的 message_id 可为负值。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "message", + "type": "message", + "required": true, + "schema": { + "description": "OneBot message: string | segment[] | object. In segment arrays, text segments whose text field is exactly \"\" are compatibility placeholders and do not count as sendable segments; missing, null, and whitespace-only text remain subject to normal validation." + } + }, + { + "name": "auto_escape", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": false + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "message": { + "description": "OneBot message: string | segment[] | object. In segment arrays, text segments whose text field is exactly \"\" are compatibility placeholders and do not count as sendable segments; missing, null, and whitespace-only text remain subject to normal validation." + }, + "auto_escape": { + "type": "boolean", + "default": false + } + }, + "required": [ + "group_id", + "message" + ], + "additionalProperties": true + }, + "category": "消息" + }, + { + "name": "send_like", + "aliases": [], + "summary": "点赞", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "点赞", + "params": { + "user_id": 10001, + "times": 1 + } + } + ], + "readOnly": false, + "params": [ + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "times", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "default": 1 + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 1, + "x-role": "user_id" + }, + "times": { + "type": "integer", + "minimum": 0, + "default": 1 + } + }, + "required": [ + "user_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "send_msg", + "aliases": [], + "summary": "发送消息(按 message_type/群号 自动路由群聊或私聊)", + "returns": "{ message_id: number }", + "returnsSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647, + "not": { + "const": 0 + }, + "description": "非零有符号 32 位消息 ID,负值合法;必须原样保留" + } + }, + "required": [ + "message_id" + ] + }, + "examples": [ + { + "summary": "发送消息(按 message_type/群号 自动路由群聊或私聊)", + "params": { + "message_type": "group", + "group_id": 20001, + "message": "你好" + }, + "notes": "必须提供对应目标;私聊使用 message_type=private 和 user_id。" + } + ], + "readOnly": false, + "params": [ + { + "name": "message", + "type": "message", + "required": true, + "schema": { + "description": "OneBot message: string | segment[] | object. In segment arrays, text segments whose text field is exactly \"\" are compatibility placeholders and do not count as sendable segments; missing, null, and whitespace-only text remain subject to normal validation." + } + }, + { + "name": "message_type", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "group_id", + "type": "uint", + "required": false, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "user_id", + "type": "uint", + "required": false, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "auto_escape", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": false + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "message": { + "description": "OneBot message: string | segment[] | object. In segment arrays, text segments whose text field is exactly \"\" are compatibility placeholders and do not count as sendable segments; missing, null, and whitespace-only text remain subject to normal validation." + }, + "message_type": { + "type": "string" + }, + "group_id": { + "type": "integer", + "minimum": 1, + "x-role": "group_id" + }, + "user_id": { + "type": "integer", + "minimum": 1, + "x-role": "user_id" + }, + "auto_escape": { + "type": "boolean", + "default": false + } + }, + "required": [ + "message" + ], + "additionalProperties": true + }, + "category": "消息" + }, + { + "name": "send_packet", + "aliases": [ + ".send_packet" + ], + "summary": "发送原始 SSO 包(cmd + hex data)", + "returnsSchema": { + "anyOf": [ + { + "type": "string", + "description": "rsp=true 时返回的十六进制响应正文" + }, + { + "type": "null", + "description": "rsp=false 时不等待响应,data 为 null" + } + ] + }, + "examples": [ + { + "summary": "发送原始 SSO 包(cmd + hex data)", + "params": { + "cmd": "", + "data": "", + "rsp": true + }, + "notes": "仅供有协议经验的调用方:cmd 和 data 必须成对替换为已验证的命令与十六进制请求;示例占位符不可直接发送。" + } + ], + "readOnly": false, + "params": [ + { + "name": "cmd", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "data", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + }, + { + "name": "rsp", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": true + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "cmd": { + "type": "string", + "minLength": 1 + }, + "data": { + "type": "string", + "default": "" + }, + "rsp": { + "type": "boolean", + "default": true + } + }, + "required": [ + "cmd" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "send_poke", + "aliases": [], + "summary": "拍一拍(群聊/私聊自动路由)", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "拍一拍(群聊/私聊自动路由)", + "params": { + "group_id": 20001, + "user_id": 10001 + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": false, + "params": [ + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "group_id", + "type": "uint", + "required": false, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 1, + "x-role": "user_id" + }, + "group_id": { + "type": "integer", + "minimum": 1, + "x-role": "group_id" + } + }, + "required": [ + "user_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "send_private_forward_msg", + "aliases": [], + "summary": "发送私聊合并转发", + "returns": "{ message_id, res_id, forward_id }", + "returnsSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647, + "not": { + "const": 0 + }, + "description": "非零有符号 32 位消息 ID,负值合法;必须原样保留" + }, + "res_id": { + "type": "string" + }, + "forward_id": { + "type": "string" + } + }, + "required": [ + "message_id", + "res_id", + "forward_id" + ] + }, + "examples": [ + { + "summary": "发送私聊合并转发", + "params": { + "user_id": 10001, + "messages": [ + { + "type": "node", + "data": { + "user_id": 10001, + "nickname": "示例用户", + "content": [ + { + "type": "text", + "data": { + "text": "转发内容" + } + } + ] + } + } + ] + }, + "notes": "替换目标好友 QQ 号。" + } + ], + "readOnly": false, + "params": [ + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "messages", + "type": "message", + "required": false, + "schema": { + "description": "OneBot message: string | segment[] | object. In segment arrays, text segments whose text field is exactly \"\" are compatibility placeholders and do not count as sendable segments; missing, null, and whitespace-only text remain subject to normal validation." + }, + "desc": "转发节点数组;节点 content 内的 reply.data.message 可提供自定义引用内容(字符串或消息段),qq/time/seq 可选;仅用于转发内引用预览。" + }, + { + "name": "message", + "type": "message", + "required": false, + "schema": { + "description": "OneBot message: string | segment[] | object. In segment arrays, text segments whose text field is exactly \"\" are compatibility placeholders and do not count as sendable segments; missing, null, and whitespace-only text remain subject to normal validation." + }, + "desc": "转发节点数组;节点 content 内的 reply.data.message 可提供自定义引用内容(字符串或消息段),qq/time/seq 可选;仅用于转发内引用预览。" + }, + { + "name": "source", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "summary", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "prompt", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "news", + "type": "raw", + "required": false, + "schema": {} + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 1, + "x-role": "user_id" + }, + "messages": { + "description": "转发节点数组;节点 content 内的 reply.data.message 可提供自定义引用内容(字符串或消息段),qq/time/seq 可选;仅用于转发内引用预览。" + }, + "message": { + "description": "转发节点数组;节点 content 内的 reply.data.message 可提供自定义引用内容(字符串或消息段),qq/time/seq 可选;仅用于转发内引用预览。" + }, + "source": { + "type": "string" + }, + "summary": { + "type": "string" + }, + "prompt": { + "type": "string" + }, + "news": {} + }, + "required": [ + "user_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "send_private_msg", + "aliases": [], + "summary": "发送私聊消息", + "returns": "{ message_id: number }", + "returnsSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "minimum": -2147483648, + "maximum": 2147483647, + "not": { + "const": 0 + }, + "description": "非零有符号 32 位消息 ID,负值合法;必须原样保留" + } + }, + "required": [ + "message_id" + ] + }, + "examples": [ + { + "summary": "发送私聊消息", + "params": { + "user_id": 10001, + "message": "你好" + }, + "notes": "替换目标好友 QQ 号;临时会话需另传来源 group_id。" + } + ], + "readOnly": false, + "params": [ + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "message", + "type": "message", + "required": true, + "schema": { + "description": "OneBot message: string | segment[] | object. In segment arrays, text segments whose text field is exactly \"\" are compatibility placeholders and do not count as sendable segments; missing, null, and whitespace-only text remain subject to normal validation." + } + }, + { + "name": "group_id", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + } + }, + { + "name": "auto_escape", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": false + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 1, + "x-role": "user_id" + }, + "message": { + "description": "OneBot message: string | segment[] | object. In segment arrays, text segments whose text field is exactly \"\" are compatibility placeholders and do not count as sendable segments; missing, null, and whitespace-only text remain subject to normal validation." + }, + "group_id": { + "type": "integer", + "minimum": 0 + }, + "auto_escape": { + "type": "boolean", + "default": false + } + }, + "required": [ + "user_id", + "message" + ], + "additionalProperties": true + }, + "category": "消息" + }, + { + "name": "send_qzone_msg", + "aliases": [], + "summary": "发表说说(QQ 空间,支持纯文字或带图;传 images 自动上传;可设置查看权限)", + "returnsSchema": { + "type": "object", + "properties": { + "tid": { + "type": "string" + }, + "time": { + "type": "integer" + } + }, + "required": [ + "tid", + "time" + ] + }, + "examples": [ + { + "summary": "发表说说(QQ 空间,支持纯文字或带图;传 images 自动上传;可设置查看权限)", + "params": { + "content": "今天的学习记录", + "ugc_right": 64 + }, + "notes": "会发布说说;ugc_right=64 仅自己可见。16/128 还必须提供 target_uins。" + } + ], + "readOnly": false, + "params": [ + { + "name": "content", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + }, + "desc": "说说正文" + }, + { + "name": "images", + "type": "string[]", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string", + "minLength": 1 + } + }, + "desc": "图片数组(可选),支持 file:// http:// base64://;自动上传" + }, + { + "name": "ugc_right", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "查看权限:1=所有人可见,4=好友可见,16=部分好友可见,64=仅自己可见,128=部分好友不可见", + "default": 1 + }, + { + "name": "target_uins", + "type": "uint[]", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "integer", + "minimum": 1 + } + }, + "desc": "权限作用 QQ 号数组;ugc_right=16 时表示可见名单,128 时表示不可见名单" + } + ], + "invariants": [ + "ugc_right must be one of 1, 4, 16, 64, 128", + "target_uins is required when ugc_right is 16 or 128" + ], + "inputSchema": { + "type": "object", + "properties": { + "content": { + "type": "string", + "minLength": 1, + "description": "说说正文" + }, + "images": { + "type": "array", + "items": { + "type": "string", + "minLength": 1 + }, + "description": "图片数组(可选),支持 file:// http:// base64://;自动上传" + }, + "ugc_right": { + "type": "integer", + "minimum": 1, + "description": "查看权限:1=所有人可见,4=好友可见,16=部分好友可见,64=仅自己可见,128=部分好友不可见", + "default": 1 + }, + "target_uins": { + "type": "array", + "items": { + "type": "integer", + "minimum": 1 + }, + "description": "权限作用 QQ 号数组;ugc_right=16 时表示可见名单,128 时表示不可见名单" + } + }, + "required": [ + "content" + ], + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "send_tuwen_ark", + "aliases": [], + "summary": "发送图文 Ark 卡片(私聊/群聊)", + "returns": "null", + "returnsSchema": { + "type": "null" + }, + "examples": [ + { + "summary": "发送图文 Ark 卡片(私聊/群聊)", + "params": { + "group_id": 20001, + "title": "学习资料", + "desc": "本周课程资料", + "jump_url": "https://example.com/course", + "preview_url": "https://example.com/cover.png" + }, + "notes": "替换目标群号及实际链接;会发送分享卡片。" + } + ], + "readOnly": false, + "params": [ + { + "name": "user_id", + "type": "uint", + "required": false, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "group_id", + "type": "uint", + "required": false, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "title", + "type": "string", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "desc", + "type": "string", + "required": true, + "schema": { + "type": "string" + } + }, + { + "name": "summary", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "[分享]" + }, + { + "name": "preview_url", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "https://tangram-1251316161.file.myqcloud.com/files/20210721/e50a8e37e08f29bf1ffc7466e1950690.png" + }, + { + "name": "jump_url", + "type": "string", + "required": true, + "schema": { + "type": "string" + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 1, + "x-role": "user_id" + }, + "group_id": { + "type": "integer", + "minimum": 1, + "x-role": "group_id" + }, + "title": { + "type": "string" + }, + "desc": { + "type": "string" + }, + "summary": { + "type": "string", + "default": "[分享]" + }, + "preview_url": { + "type": "string", + "default": "https://tangram-1251316161.file.myqcloud.com/files/20210721/e50a8e37e08f29bf1ffc7466e1950690.png" + }, + "jump_url": { + "type": "string" + } + }, + "required": [ + "title", + "desc", + "jump_url" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "set_diy_online_status", + "aliases": [], + "summary": "设置自定义在线状态", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "设置自定义在线状态", + "params": { + "face_id": 14, + "face_type": 1, + "wording": "学习中" + } + } + ], + "readOnly": false, + "params": [ + { + "name": "face_id", + "type": "int", + "required": true, + "role": "face_id", + "schema": { + "type": "integer", + "minimum": 0 + } + }, + { + "name": "face_type", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "default": 1 + }, + { + "name": "wording", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "face_id": { + "type": "integer", + "minimum": 0, + "x-role": "face_id" + }, + "face_type": { + "type": "integer", + "minimum": 0, + "default": 1 + }, + "wording": { + "type": "string", + "default": "" + } + }, + "required": [ + "face_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "set_doubt_friends_add_request", + "aliases": [], + "summary": "处理可疑好友申请", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "处理可疑好友申请", + "params": { + "flag": "", + "approve": true + }, + "notes": "flag 使用 get_doubt_friends_add_request 返回项的 uid。" + } + ], + "readOnly": false, + "params": [ + { + "name": "flag", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "approve", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": true + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "flag": { + "type": "string", + "minLength": 1 + }, + "approve": { + "type": "boolean", + "default": true + } + }, + "required": [ + "flag" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "set_essence_msg", + "aliases": [], + "summary": "设置精华消息", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "设置精华消息", + "params": { + "message_id": -123456 + }, + "notes": "使用消息事件或发送结果中的真实 message_id,负值合法;消息须在当前账号的消息存储中可查询。" + } + ], + "readOnly": false, + "params": [ + { + "name": "message_id", + "type": "messageId", + "required": true, + "role": "message_id", + "schema": { + "type": "integer", + "not": { + "const": 0 + } + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "not": { + "const": 0 + }, + "x-role": "message_id" + } + }, + "required": [ + "message_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "set_friend_add_request", + "aliases": [], + "summary": "处理好友添加请求", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "处理好友添加请求", + "params": { + "flag": "", + "approve": true + }, + "notes": "flag 必须原样使用当前账号好友请求事件的 flag,不能根据 QQ 号构造。" + } + ], + "readOnly": false, + "params": [ + { + "name": "flag", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "approve", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": true + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "flag": { + "type": "string", + "minLength": 1 + }, + "approve": { + "type": "boolean", + "default": true + } + }, + "required": [ + "flag" + ], + "additionalProperties": true + }, + "category": "请求" + }, + { + "name": "set_friend_remark", + "aliases": [], + "summary": "设置好友备注", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "设置好友备注", + "params": { + "user_id": 10001, + "remark": "同学" + } + } + ], + "readOnly": false, + "params": [ + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "remark", + "type": "string", + "required": true, + "schema": { + "type": "string" + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 1, + "x-role": "user_id" + }, + "remark": { + "type": "string" + } + }, + "required": [ + "user_id", + "remark" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "set_friends_category", + "aliases": [], + "summary": "移动好友到指定分组", + "returns": "成功时返回空数据。", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "移动好友到指定分组", + "params": { + "uin": 10001, + "categoryName": "同学" + }, + "notes": "categoryId 与 categoryName 二选一。" + } + ], + "readOnly": false, + "params": [ + { + "name": "uin", + "type": "uint", + "required": true, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "要移动的好友 QQ 号" + }, + { + "name": "categoryId", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "desc": "目标分组 ID" + }, + { + "name": "categoryName", + "type": "string", + "required": false, + "schema": { + "type": "string", + "minLength": 1 + }, + "desc": "目标分组名称(必须唯一且完全匹配)" + } + ], + "invariants": [ + "exactly one of: categoryId | categoryName" + ], + "inputSchema": { + "type": "object", + "properties": { + "uin": { + "type": "integer", + "minimum": 1, + "description": "要移动的好友 QQ 号", + "x-role": "user_id" + }, + "categoryId": { + "type": "integer", + "minimum": 0, + "description": "目标分组 ID" + }, + "categoryName": { + "type": "string", + "minLength": 1, + "description": "目标分组名称(必须唯一且完全匹配)" + } + }, + "required": [ + "uin" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "set_group_add_option", + "aliases": [], + "summary": "设置加群选项", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "设置加群选项", + "params": { + "group_id": 20001, + "add_type": 2, + "group_question": "入群用途?", + "group_answer": "学习交流" + }, + "notes": "修改加群设置前先用 get_group_admin_settings 查看当前状态,并确认目标设置值。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "add_type", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "default": 0 + }, + { + "name": "group_question", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "group_answer", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "add_type": { + "type": "integer", + "minimum": 0, + "default": 0 + }, + "group_question": { + "type": "string" + }, + "group_answer": { + "type": "string" + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "set_group_add_request", + "aliases": [], + "summary": "处理加群请求", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "处理加群请求", + "params": { + "flag": "", + "sub_type": "add", + "approve": true + }, + "notes": "flag 和 sub_type 原样取自同一条群请求事件;邀请事件使用 invite。" + } + ], + "readOnly": false, + "params": [ + { + "name": "flag", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "sub_type", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "type", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "approve", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": true + }, + { + "name": "reason", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "flag": { + "type": "string", + "minLength": 1 + }, + "sub_type": { + "type": "string" + }, + "type": { + "type": "string" + }, + "approve": { + "type": "boolean", + "default": true + }, + "reason": { + "type": "string", + "default": "" + } + }, + "required": [ + "flag" + ], + "additionalProperties": true + }, + "category": "请求" + }, + { + "name": "set_group_admin", + "aliases": [], + "summary": "设置/取消管理员", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "设置/取消管理员", + "params": { + "group_id": 20001, + "user_id": 10001, + "enable": true + }, + "notes": "需要群主权限;会授予该成员管理员身份。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "member_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "QQ 号" + }, + { + "name": "enable", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": true + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "user_id": { + "type": "integer", + "minimum": 1, + "description": "QQ 号", + "x-role": "member_id" + }, + "enable": { + "type": "boolean", + "default": true + } + }, + "required": [ + "group_id", + "user_id" + ], + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "set_group_admin_permissions", + "aliases": [], + "summary": "设置指定管理员的撤回和移除成员权限", + "returnsSchema": { + "type": "null", + "description": "服务器确认请求后 data 为 null;不代表已经过客户端回读验证。可用 get_group_admin_permissions 查询。" + }, + "examples": [ + { + "summary": "允许管理员每日移除至多 10 人", + "params": { + "group_id": 20001, + "user_id": 10001, + "kick_member": true, + "kick_member_per_day": 10 + }, + "notes": "需要当前账号具有修改权限;不会授予管理员角色。仅修改显式字段。开启移除必须提供上限,0 表示不限;修改上限需同时传 kick_member=true。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "member_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "QQ 号" + }, + { + "name": "recall_member_message", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + } + }, + { + "name": "kick_member", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + } + }, + { + "name": "kick_member_per_day", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0, + "maximum": 200 + } + } + ], + "invariants": [ + "at least one of: recall_member_message, kick_member", + "kick_member=true requires kick_member_per_day: 0, 5, 10, 20, 50, 100 or 200", + "kick_member_per_day requires kick_member=true" + ], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "user_id": { + "type": "integer", + "minimum": 1, + "description": "QQ 号", + "x-role": "member_id" + }, + "recall_member_message": { + "type": "boolean" + }, + "kick_member": { + "type": "boolean" + }, + "kick_member_per_day": { + "type": "integer", + "minimum": 0, + "maximum": 200 + } + }, + "required": [ + "group_id", + "user_id" + ], + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "set_group_admin_receive_verify", + "aliases": [], + "summary": "设置指定管理员是否接收加群验证消息", + "returnsSchema": { + "type": "null", + "description": "服务器响应确认目标群和管理员后 data 为 null;未确认目标时返回错误。" + }, + "examples": [ + { + "summary": "开启接收验证消息", + "params": { + "group_id": 20001, + "user_id": 10001, + "enable": true + }, + "notes": "user_id 为目标管理员 QQ 号;需要当前账号具有修改权限。独立于撤回和移除成员权限。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "member_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "QQ 号" + }, + { + "name": "enable", + "type": "bool", + "required": true, + "schema": { + "type": "boolean" + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "user_id": { + "type": "integer", + "minimum": 1, + "description": "QQ 号", + "x-role": "member_id" + }, + "enable": { + "type": "boolean" + } + }, + "required": [ + "group_id", + "user_id", + "enable" + ], + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "set_group_album_media_like", + "aliases": [], + "returnsSchema": { + "type": "object", + "properties": { + "id": { + "type": [ + "string", + "null" + ] + }, + "status": { + "type": [ + "integer", + "null" + ] + } + } + }, + "examples": [ + { + "summary": "基本调用", + "params": { + "group_id": 20001, + "album_id": "", + "batch_id": "1700000000" + }, + "notes": "album_id 来自 get_group_album_list;lloc 或视频 id、batch_id 来自 get_group_album_media_list。替换群号及对应资源标识。 batch_id 必须是实际批次的十进制字符串。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "album_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "batch_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "lloc", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "album_id": { + "type": "string", + "minLength": 1 + }, + "batch_id": { + "type": "string", + "minLength": 1 + }, + "lloc": { + "type": "string" + } + }, + "required": [ + "group_id", + "album_id", + "batch_id" + ], + "additionalProperties": true + }, + "category": "群相册" + }, + { + "name": "set_group_anonymous", + "aliases": [], + "summary": "匿名开关(未实现,返回 ok)", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "匿名开关(未实现,返回 ok)", + "params": {}, + "notes": "兼容占位接口:当前返回成功但不会修改匿名设置。" + } + ], + "readOnly": false, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "set_group_anonymous_ban", + "aliases": [], + "summary": "匿名禁言(未实现,返回 ok)", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "匿名禁言(未实现,返回 ok)", + "params": {}, + "notes": "兼容占位接口:当前返回成功但不会修改匿名设置。" + } + ], + "readOnly": false, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "set_group_ban", + "aliases": [], + "summary": "禁言群成员(duration=0 解除)", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "禁言群成员(duration=0 解除)", + "params": { + "group_id": 20001, + "user_id": 10001, + "duration": 600 + }, + "notes": "替换群号和成员 QQ 号;操作是否允许取决于当前账号在该群的权限。 duration 为秒,0 表示解除禁言。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "member_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "QQ 号" + }, + { + "name": "duration", + "type": "int", + "required": false, + "role": "duration", + "schema": { + "type": "integer", + "minimum": 0 + }, + "default": 1800 + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "user_id": { + "type": "integer", + "minimum": 1, + "description": "QQ 号", + "x-role": "member_id" + }, + "duration": { + "type": "integer", + "minimum": 0, + "default": 1800, + "x-role": "duration" + } + }, + "required": [ + "group_id", + "user_id" + ], + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "set_group_card", + "aliases": [], + "summary": "设置群名片(空字符串清除)", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "设置群名片(空字符串清除)", + "params": { + "group_id": 20001, + "user_id": 10001, + "card": "示例群名片" + }, + "notes": "替换群号和成员 QQ 号;操作是否允许取决于当前账号在该群的权限。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "member_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "QQ 号" + }, + { + "name": "card", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "user_id": { + "type": "integer", + "minimum": 1, + "description": "QQ 号", + "x-role": "member_id" + }, + "card": { + "type": "string", + "default": "" + } + }, + "required": [ + "group_id", + "user_id" + ], + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "set_group_kick", + "aliases": [], + "summary": "踢出群成员", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "踢出群成员", + "params": { + "group_id": 20001, + "user_id": 10001, + "reject_add_request": false + }, + "notes": "替换群号和成员 QQ 号;操作是否允许取决于当前账号在该群的权限。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "member_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "QQ 号" + }, + { + "name": "reject_add_request", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": false + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "user_id": { + "type": "integer", + "minimum": 1, + "description": "QQ 号", + "x-role": "member_id" + }, + "reject_add_request": { + "type": "boolean", + "default": false + } + }, + "required": [ + "group_id", + "user_id" + ], + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "set_group_kick_members", + "aliases": [], + "summary": "批量踢出群成员", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "批量踢出群成员", + "params": { + "group_id": 20001, + "user_id": [ + 10001, + 10002 + ], + "reject_add_request": false + }, + "notes": "替换群号和成员 QQ 号;操作是否允许取决于当前账号在该群的权限。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "user_id", + "type": "uint[]", + "required": true, + "schema": { + "type": "array", + "items": { + "type": "integer", + "minimum": 1, + "x-role": "member_id" + }, + "minItems": 1 + } + }, + { + "name": "reject_add_request", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": false + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "user_id": { + "type": "array", + "items": { + "type": "integer", + "minimum": 1, + "x-role": "member_id" + }, + "minItems": 1 + }, + "reject_add_request": { + "type": "boolean", + "default": false + } + }, + "required": [ + "group_id", + "user_id" + ], + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "set_group_leave", + "aliases": [], + "summary": "退群", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "退群", + "params": { + "group_id": 20001 + }, + "notes": "会退出该群,请确认目标群号后调用。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "set_group_member_invite_policy", + "aliases": [], + "summary": "设置群成员邀请策略", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "设置群成员邀请策略", + "params": { + "group_id": 20001, + "policy": "require_approval" + }, + "notes": "替换群号和成员 QQ 号;操作是否允许取决于当前账号在该群的权限。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "policy", + "type": "enum", + "required": true, + "values": [ + "disabled", + "require_approval", + "no_approval", + "no_approval_under_100" + ], + "schema": { + "enum": [ + "disabled", + "require_approval", + "no_approval", + "no_approval_under_100" + ] + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "policy": { + "enum": [ + "disabled", + "require_approval", + "no_approval", + "no_approval_under_100" + ] + } + }, + "required": [ + "group_id", + "policy" + ], + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "set_group_member_permissions", + "aliases": [], + "summary": "设置群成员权限(仅群主可改)", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "设置群成员权限(仅群主可改)", + "params": { + "group_id": 20001, + "allow_member_upload_album": false + }, + "notes": "至少传一个权限字段;仅修改传入的权限,其余保持原样。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "allow_member_upload_album", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + } + }, + { + "name": "allow_member_temporary_session", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + } + }, + { + "name": "allow_member_create_group", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + } + } + ], + "invariants": [ + "at least one of: allow_member_upload_album, allow_member_temporary_session, allow_member_create_group" + ], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "allow_member_upload_album": { + "type": "boolean" + }, + "allow_member_temporary_session": { + "type": "boolean" + }, + "allow_member_create_group": { + "type": "boolean" + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "set_group_name", + "aliases": [], + "summary": "设置群名", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "设置群名", + "params": { + "group_id": 20001, + "group_name": "学习交流群" + }, + "notes": "替换群号和成员 QQ 号;操作是否允许取决于当前账号在该群的权限。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "group_name", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "group_name": { + "type": "string", + "default": "" + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "set_group_new_member_history_visibility", + "aliases": [], + "summary": "设置新成员是否可查看历史消息", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "设置新成员是否可查看历史消息", + "params": { + "group_id": 20001, + "visible": true + }, + "notes": "替换群号和成员 QQ 号;操作是否允许取决于当前账号在该群的权限。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "visible", + "type": "bool", + "required": true, + "schema": { + "type": "boolean" + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "visible": { + "type": "boolean" + } + }, + "required": [ + "group_id", + "visible" + ], + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "set_group_portrait", + "aliases": [], + "summary": "设置群头像", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "设置群头像", + "params": { + "group_id": 20001, + "file": "file:///path/to/avatar.png" + }, + "notes": "示例路径位于 SnowLuma 服务端,须替换为该服务可读取的实际文件。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "file", + "type": "string", + "required": true, + "role": "image", + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "file": { + "type": "string", + "minLength": 1, + "x-role": "image" + } + }, + "required": [ + "group_id", + "file" + ], + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "set_group_reaction", + "aliases": [], + "summary": "群聊表情回应", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "群聊表情回应", + "params": { + "message_id": -123456, + "group_id": 20001, + "code": "128077", + "is_set": true + }, + "notes": "使用消息事件或发送结果中的真实 message_id,负值合法;消息须在当前账号的消息存储中可查询。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": false, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "message_id", + "type": "messageId", + "required": true, + "role": "message_id", + "schema": { + "type": "integer", + "not": { + "const": 0 + } + } + }, + { + "name": "code", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "is_set", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": true + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "x-role": "group_id" + }, + "message_id": { + "type": "integer", + "not": { + "const": 0 + }, + "x-role": "message_id" + }, + "code": { + "type": "string", + "minLength": 1 + }, + "is_set": { + "type": "boolean", + "default": true + } + }, + "required": [ + "message_id", + "code" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "set_group_remark", + "aliases": [], + "summary": "设置群备注", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "设置群备注", + "params": { + "group_id": 20001, + "remark": "学习小组" + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "remark", + "type": "string", + "required": true, + "schema": { + "type": "string" + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "x-role": "group_id" + }, + "remark": { + "type": "string" + } + }, + "required": [ + "group_id", + "remark" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "set_group_robot_add_option", + "aliases": [], + "summary": "设置群机器人加群选项", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "设置群机器人加群选项", + "params": { + "group_id": 20001, + "robot_member_switch": 1, + "robot_member_examine": 1 + }, + "notes": "替换群号和成员 QQ 号;操作是否允许取决于当前账号在该群的权限。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "robot_member_switch", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + } + }, + { + "name": "robot_member_examine", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "robot_member_switch": { + "type": "integer", + "minimum": 0 + }, + "robot_member_examine": { + "type": "integer", + "minimum": 0 + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "set_group_search", + "aliases": [], + "summary": "设置群被搜索方式(群指纹 / 群号搜索开关)", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "设置群被搜索方式(群指纹 / 群号搜索开关)", + "params": { + "group_id": 20001, + "no_finger_open": 0, + "no_code_finger_open": 0 + }, + "notes": "替换群号;数值含义以当前群设置为准。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "no_finger_open", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + } + }, + { + "name": "no_code_finger_open", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "no_finger_open": { + "type": "integer", + "minimum": 0 + }, + "no_code_finger_open": { + "type": "integer", + "minimum": 0 + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "set_group_sign", + "aliases": [ + "send_group_sign" + ], + "summary": "群签到", + "returnsSchema": { + "type": "object", + "properties": {}, + "additionalProperties": false, + "description": "成功时为空对象 {},不是 null" + }, + "examples": [ + { + "summary": "群签到", + "params": { + "group_id": 20001 + }, + "notes": "将 group_id 替换为当前账号可访问的群号。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "set_group_special_title", + "aliases": [], + "summary": "设置群头衔", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "设置群头衔", + "params": { + "group_id": 20001, + "user_id": 10001, + "special_title": "学习委员" + }, + "notes": "替换群号和成员 QQ 号;操作是否允许取决于当前账号在该群的权限。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "member_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "QQ 号" + }, + { + "name": "special_title", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "user_id": { + "type": "integer", + "minimum": 1, + "description": "QQ 号", + "x-role": "member_id" + }, + "special_title": { + "type": "string", + "default": "" + } + }, + "required": [ + "group_id", + "user_id" + ], + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "set_group_todo", + "aliases": [], + "summary": "设置群待办", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "设置群待办", + "params": { + "group_id": 20001, + "message_id": -123456 + }, + "notes": "使用消息事件或发送结果中的真实 message_id,负值合法;消息须在当前账号的消息存储中可查询。 必须是该群的消息。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "message_id", + "type": "messageId", + "required": true, + "role": "message_id", + "schema": { + "type": "integer", + "not": { + "const": 0 + } + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "message_id": { + "type": "integer", + "not": { + "const": 0 + }, + "x-role": "message_id" + } + }, + "required": [ + "group_id", + "message_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "set_group_whole_ban", + "aliases": [], + "summary": "全员禁言开关", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "全员禁言开关", + "params": { + "group_id": 20001, + "enable": true + }, + "notes": "替换群号和成员 QQ 号;操作是否允许取决于当前账号在该群的权限。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "enable", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": true + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "enable": { + "type": "boolean", + "default": true + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "群管理" + }, + { + "name": "set_input_status", + "aliases": [], + "summary": "设置输入状态", + "returnsSchema": { + "type": "object", + "properties": {}, + "additionalProperties": false, + "description": "成功时为空对象 {},不是 null" + }, + "examples": [ + { + "summary": "设置输入状态", + "params": { + "user_id": 10001, + "event_type": 0 + } + } + ], + "readOnly": false, + "params": [ + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "event_type", + "type": "int", + "required": false, + "schema": { + "type": "integer" + }, + "default": 0 + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 1, + "x-role": "user_id" + }, + "event_type": { + "type": "integer", + "default": 0 + } + }, + "required": [ + "user_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "set_msg_emoji_like", + "aliases": [], + "summary": "设置消息表情回应", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "设置消息表情回应", + "params": { + "message_id": -123456, + "emoji_id": "128077", + "set": true + }, + "notes": "使用消息事件或发送结果中的真实 message_id,负值合法;消息须在当前账号的消息存储中可查询。" + } + ], + "readOnly": false, + "params": [ + { + "name": "message_id", + "type": "messageId", + "required": true, + "role": "message_id", + "schema": { + "type": "integer", + "not": { + "const": 0 + } + } + }, + { + "name": "emoji_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "set", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": true + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "message_id": { + "type": "integer", + "not": { + "const": 0 + }, + "x-role": "message_id" + }, + "emoji_id": { + "type": "string", + "minLength": 1 + }, + "set": { + "type": "boolean", + "default": true + } + }, + "required": [ + "message_id", + "emoji_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "set_online_status", + "aliases": [], + "summary": "设置在线状态", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "设置在线状态", + "params": { + "status": 11, + "ext_status": 0, + "battery_status": 100 + }, + "notes": "修改当前账号状态;具体状态码须与目标状态对应。" + } + ], + "readOnly": false, + "params": [ + { + "name": "status", + "type": "int", + "required": true, + "schema": { + "type": "integer", + "not": { + "const": 0 + } + } + }, + { + "name": "ext_status", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "default": 0 + }, + { + "name": "battery_status", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "default": 100 + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "status": { + "type": "integer", + "not": { + "const": 0 + } + }, + "ext_status": { + "type": "integer", + "minimum": 0, + "default": 0 + }, + "battery_status": { + "type": "integer", + "minimum": 0, + "default": 100 + } + }, + "required": [ + "status" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "set_qq_avatar", + "aliases": [], + "summary": "设置 QQ 头像", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "设置 QQ 头像", + "params": { + "file": "file:///path/to/avatar.png" + }, + "notes": "示例路径位于 SnowLuma 服务端,须替换为该服务可读取的实际文件。" + } + ], + "readOnly": false, + "params": [ + { + "name": "file", + "type": "string", + "required": true, + "role": "image", + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "file": { + "type": "string", + "minLength": 1, + "x-role": "image" + } + }, + "required": [ + "file" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "set_qq_profile", + "aliases": [], + "summary": "设置 QQ 资料", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "设置 QQ 资料", + "params": { + "nickname": "示例昵称" + }, + "notes": "会修改当前账号的资料;只传入需要修改的字段。" + } + ], + "readOnly": false, + "params": [ + { + "name": "nickname", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "personal_note", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "sex", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0, + "maximum": 2 + }, + "desc": "0 未知,1 男,2 女" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "nickname": { + "type": "string" + }, + "personal_note": { + "type": "string" + }, + "sex": { + "type": "integer", + "minimum": 0, + "maximum": 2, + "description": "0 未知,1 男,2 女" + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "set_qzone_ban", + "aliases": [], + "summary": "拉黑或解除拉黑某人(修改机器人自身 QQ 空间黑名单;enable=true 拉黑,false 解除)", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "拉黑或解除拉黑某人(修改机器人自身 QQ 空间黑名单;enable=true 拉黑,false 解除)", + "params": { + "user_id": 10001, + "enable": true + }, + "notes": "修改当前账号空间黑名单。" + } + ], + "readOnly": false, + "params": [ + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "目标 QQ 号" + }, + { + "name": "enable", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "desc": "true 拉黑,false 解除拉黑", + "default": true + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 1, + "description": "目标 QQ 号", + "x-role": "user_id" + }, + "enable": { + "type": "boolean", + "description": "true 拉黑,false 解除拉黑", + "default": true + } + }, + "required": [ + "user_id" + ], + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "set_qzone_msg_right", + "aliases": [], + "summary": "修改一条已发说说的查看权限(QQ 空间,按 tid)", + "returns": "更新后的权限对象。", + "returnsSchema": { + "type": "object", + "properties": { + "ugc_right": { + "type": "integer", + "description": "更新后的查看权限" + } + }, + "required": [ + "ugc_right" + ] + }, + "examples": [ + { + "summary": "修改一条已发说说的查看权限(QQ 空间,按 tid)", + "params": { + "tid": "", + "ugc_right": 16, + "target_uins": [ + 10001 + ] + }, + "notes": "tid 来自 get_qzone_msg_list;操作需有该说说的访问或管理权限。 16 表示仅所选好友可见。" + } + ], + "readOnly": false, + "params": [ + { + "name": "tid", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + }, + "desc": "说说 tid(来自 get_qzone_msg_list / send_qzone_msg)" + }, + { + "name": "ugc_right", + "type": "int", + "required": true, + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "查看权限:1=所有人可见,4=好友可见,16=部分好友可见,64=仅自己可见,128=部分好友不可见" + }, + { + "name": "target_uins", + "type": "uint[]", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "integer", + "minimum": 1 + } + }, + "desc": "权限作用 QQ 号数组;ugc_right=16 时表示可见名单,128 时表示不可见名单" + } + ], + "invariants": [ + "ugc_right must be one of 1, 4, 16, 64, 128", + "target_uins is required when ugc_right is 16 or 128" + ], + "inputSchema": { + "type": "object", + "properties": { + "tid": { + "type": "string", + "minLength": 1, + "description": "说说 tid(来自 get_qzone_msg_list / send_qzone_msg)" + }, + "ugc_right": { + "type": "integer", + "minimum": 1, + "description": "查看权限:1=所有人可见,4=好友可见,16=部分好友可见,64=仅自己可见,128=部分好友不可见" + }, + "target_uins": { + "type": "array", + "items": { + "type": "integer", + "minimum": 1 + }, + "description": "权限作用 QQ 号数组;ugc_right=16 时表示可见名单,128 时表示不可见名单" + } + }, + "required": [ + "tid", + "ugc_right" + ], + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "set_qzone_profile", + "aliases": [], + "summary": "修改当前账号的 QQ 空间名称或说明", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "修改当前账号的空间名称和说明", + "params": { + "name": "我的空间", + "description": "记录日常" + }, + "notes": "仅修改提供的字段;空字符串表示清空对应字段。" + }, + { + "summary": "清空当前账号的空间说明", + "params": { + "description": "" + } + } + ], + "readOnly": false, + "params": [ + { + "name": "name", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "desc": "新的空间名称,空字符串表示清空,省略则保留" + }, + { + "name": "description", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "desc": "新的空间说明,空字符串表示清空,省略则保留" + } + ], + "invariants": [ + "at least one of: name, description" + ], + "inputSchema": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "新的空间名称,空字符串表示清空,省略则保留" + }, + "description": { + "type": "string", + "description": "新的空间说明,空字符串表示清空,省略则保留" + } + }, + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "set_qzone_public_comment_like", + "aliases": [], + "summary": "点赞或取消赞推荐动态中的评论或回复", + "returns": "上游普通赞操作结果,保留未知字段。", + "returnsSchema": { + "type": "object", + "additionalProperties": true + }, + "examples": [ + { + "summary": "点赞一条评论", + "params": { + "feed": { + "cell_common": { + "union_id": { + "uf_key": "", + "ugc_id": "", + "feed_id": "", + "ext_ids": [] + }, + "cur_like_key": "", + "domain_type": 3 + }, + "cell_feed_transfer": {}, + "cell_user_info": { + "user": { + "uin": "10001", + "uid": "", + "nick": "" + } + } + }, + "comment": { + "id": "", + "user": { + "uin": "", + "uid": "", + "nick": "" + }, + "like": { + "id": "", + "count": 0, + "status": 0 + }, + "reply_attach_info": "" + } + }, + "notes": "feed 必须原样取自 get_qzone_public_feeds 的 feeds 数组,不能用旧说说 tid 拼造;示例中的占位字段须整体替换。 comment 可取 get_qzone_public_feed_detail 返回的 feed.feed.cell_comment.comments,或后续评论页;保留完整对象。 必须保留评论原始 like.id。" + }, + { + "summary": "取消赞某条回复", + "params": { + "feed": { + "cell_common": { + "union_id": { + "uf_key": "", + "ugc_id": "", + "feed_id": "", + "ext_ids": [] + }, + "cur_like_key": "", + "domain_type": 3 + }, + "cell_feed_transfer": {}, + "cell_user_info": { + "user": { + "uin": "10001", + "uid": "", + "nick": "" + } + } + }, + "comment": { + "id": "", + "user": { + "uin": "", + "uid": "", + "nick": "" + }, + "like": { + "id": "", + "count": 0, + "status": 0 + }, + "reply_attach_info": "" + }, + "reply": { + "id": "", + "user": { + "uin": "", + "uid": "", + "nick": "" + }, + "like": { + "id": "", + "count": 0, + "status": 0 + } + }, + "enable": false + }, + "notes": "feed 必须原样取自 get_qzone_public_feeds 的 feeds 数组,不能用旧说说 tid 拼造;示例中的占位字段须整体替换。 reply 使用该评论下的完整回复对象,保留其原始 like.id。" + } + ], + "readOnly": false, + "params": [ + { + "name": "feed", + "type": "object", + "required": true, + "schema": { + "type": "object", + "additionalProperties": true + }, + "desc": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + }, + { + "name": "comment", + "type": "object", + "required": true, + "schema": { + "type": "object", + "additionalProperties": true + }, + "desc": "详情或评论页返回的完整评论对象,保留 user 等原始字段" + }, + { + "name": "enable", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "desc": "true 点赞,false 取消赞", + "default": true + }, + { + "name": "reply", + "type": "object", + "required": false, + "schema": { + "type": "object", + "additionalProperties": true + }, + "desc": "评论或回复页返回的完整回复对象,保留 user 等原始字段" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "feed": { + "type": "object", + "additionalProperties": true, + "description": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + }, + "comment": { + "type": "object", + "additionalProperties": true, + "description": "详情或评论页返回的完整评论对象,保留 user 等原始字段" + }, + "enable": { + "type": "boolean", + "description": "true 点赞,false 取消赞", + "default": true + }, + "reply": { + "type": "object", + "additionalProperties": true, + "description": "评论或回复页返回的完整回复对象,保留 user 等原始字段" + } + }, + "required": [ + "feed", + "comment" + ], + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "set_qzone_public_follow", + "aliases": [], + "summary": "蹲或取消蹲推荐动态作者", + "returns": "上游关系操作结果,保留未知字段。", + "returnsSchema": { + "type": "object", + "additionalProperties": true + }, + "examples": [ + { + "summary": "蹲这条推荐动态的作者", + "params": { + "feed": { + "cell_common": { + "union_id": { + "uf_key": "", + "ugc_id": "", + "feed_id": "", + "ext_ids": [] + }, + "cur_like_key": "", + "domain_type": 3 + }, + "cell_feed_transfer": {}, + "cell_user_info": { + "user": { + "uin": "10001", + "uid": "", + "nick": "" + } + } + }, + "enable": true + }, + "notes": "feed 必须原样取自 get_qzone_public_feeds 的 feeds 数组,不能用旧说说 tid 拼造;示例中的占位字段须整体替换。 feed 需保留作者 cell_user_info。" + } + ], + "readOnly": false, + "params": [ + { + "name": "feed", + "type": "object", + "required": true, + "schema": { + "type": "object", + "additionalProperties": true + }, + "desc": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + }, + { + "name": "enable", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "desc": "true 蹲,false 取消蹲", + "default": true + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "feed": { + "type": "object", + "additionalProperties": true, + "description": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + }, + "enable": { + "type": "boolean", + "description": "true 蹲,false 取消蹲", + "default": true + } + }, + "required": [ + "feed" + ], + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "set_qzone_public_like", + "aliases": [], + "summary": "点赞或取消赞推荐动态", + "returns": "上游普通赞操作结果,保留未知字段。", + "returnsSchema": { + "type": "object", + "additionalProperties": true + }, + "examples": [ + { + "summary": "点赞推荐动态", + "params": { + "feed": { + "cell_common": { + "union_id": { + "uf_key": "", + "ugc_id": "", + "feed_id": "", + "ext_ids": [] + }, + "cur_like_key": "", + "domain_type": 3 + }, + "cell_feed_transfer": {}, + "cell_user_info": { + "user": { + "uin": "10001", + "uid": "", + "nick": "" + } + } + }, + "enable": true + }, + "notes": "feed 必须原样取自 get_qzone_public_feeds 的 feeds 数组,不能用旧说说 tid 拼造;示例中的占位字段须整体替换。" + } + ], + "readOnly": false, + "params": [ + { + "name": "feed", + "type": "object", + "required": true, + "schema": { + "type": "object", + "additionalProperties": true + }, + "desc": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + }, + { + "name": "enable", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "desc": "true 点赞,false 取消赞", + "default": true + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "feed": { + "type": "object", + "additionalProperties": true, + "description": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + }, + "enable": { + "type": "boolean", + "description": "true 点赞,false 取消赞", + "default": true + } + }, + "required": [ + "feed" + ], + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "set_qzone_public_upvote", + "aliases": [], + "summary": "推或取消推空友爱看动态(独立于普通赞)", + "returns": "上游推操作结果,保留未知字段。", + "returnsSchema": { + "type": "object", + "additionalProperties": true + }, + "examples": [ + { + "summary": "推一条推荐动态", + "params": { + "feed": { + "cell_common": { + "union_id": { + "uf_key": "", + "ugc_id": "", + "feed_id": "", + "ext_ids": [] + }, + "cur_like_key": "", + "domain_type": 3 + }, + "cell_feed_transfer": {}, + "cell_user_info": { + "user": { + "uin": "10001", + "uid": "", + "nick": "" + } + } + }, + "enable": true + }, + "notes": "feed 必须原样取自 get_qzone_public_feeds 的 feeds 数组,不能用旧说说 tid 拼造;示例中的占位字段须整体替换。" + } + ], + "readOnly": false, + "params": [ + { + "name": "feed", + "type": "object", + "required": true, + "schema": { + "type": "object", + "additionalProperties": true + }, + "desc": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + }, + { + "name": "enable", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "desc": "true 推,false 取消推", + "default": true + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "feed": { + "type": "object", + "additionalProperties": true, + "description": "get_qzone_public_feeds 返回的完整 feeds 条目,保留所有原始 cell 字段" + }, + "enable": { + "type": "boolean", + "description": "true 推,false 取消推", + "default": true + } + }, + "required": [ + "feed" + ], + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "set_restart", + "aliases": [], + "summary": "重启(不支持)", + "returnsSchema": { + "not": {}, + "description": "当前始终返回失败,没有成功 data;失败响应 data 为 null,原因见 wording" + }, + "examples": [ + { + "summary": "重启(不支持)", + "params": {}, + "notes": "当前未实现,调用返回失败;不要将其当作可用能力。" + } + ], + "readOnly": false, + "params": [], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": {}, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "set_self_longnick", + "aliases": [], + "summary": "设置个性签名(longNick/long_nick,严格 string)", + "returnsSchema": { + "type": "object", + "properties": {}, + "additionalProperties": false, + "description": "成功时为空对象 {},不是 null" + }, + "examples": [ + { + "summary": "设置个性签名(longNick/long_nick,严格 string)", + "params": { + "long_nick": "学习中" + } + } + ], + "readOnly": false, + "params": [ + { + "name": "longNick", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + }, + { + "name": "long_nick", + "type": "string", + "required": false, + "schema": { + "type": "string" + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "longNick": { + "type": "string" + }, + "long_nick": { + "type": "string" + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "share_group_ex", + "aliases": [], + "summary": "分享群 Ark 卡片", + "returns": "服务端生成的群推荐 Ark 卡片 JSON 字符串。", + "returnsSchema": { + "type": "string", + "description": "群 Ark 卡片 JSON 字符串" + }, + "examples": [ + { + "summary": "分享群 Ark 卡片", + "params": { + "group_id": 20001 + }, + "notes": "生成群分享卡片;返回卡片数据,不等同于发送到聊天。" + } + ], + "readOnly": true, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "x-role": "group_id" + } + }, + "required": [ + "group_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "share_peer", + "aliases": [], + "summary": "分享用户/群 Ark 卡片", + "returns": "{ arkMsg }:服务端生成的推荐联系人 Ark 卡片 JSON 字符串。", + "returnsSchema": { + "type": "object", + "properties": { + "arkMsg": { + "type": "string", + "description": "Ark 卡片 JSON 字符串" + } + }, + "required": [ + "arkMsg" + ] + }, + "examples": [ + { + "summary": "分享用户/群 Ark 卡片", + "params": { + "user_id": 10001 + }, + "notes": "生成联系人分享卡片;返回卡片数据,不等同于发送到聊天。" + } + ], + "readOnly": true, + "params": [ + { + "name": "user_id", + "type": "uint", + "required": false, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "group_id", + "type": "uint", + "required": false, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "phone_number", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 1, + "x-role": "user_id" + }, + "group_id": { + "type": "integer", + "minimum": 1, + "x-role": "group_id" + }, + "phone_number": { + "type": "string", + "default": "" + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "test_download_stream", + "aliases": [], + "summary": "测试下载流(推送 10 个数据帧,验证流式传输,不触达 QQ)", + "returns": "流式帧:data_chunk*10 → data_complete(error=true 时以 error 帧结束)", + "returnsSchema": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "const": "stream" + }, + "data_type": { + "const": "data_chunk" + }, + "data": { + "type": "string" + } + }, + "required": [ + "type", + "data_type", + "data" + ] + }, + { + "type": "object", + "properties": { + "type": { + "const": "response" + }, + "data_type": { + "const": "data_complete" + }, + "data": { + "type": "string" + } + }, + "required": [ + "type", + "data_type", + "data" + ] + } + ], + "description": "成功时 10 个 data_chunk 后接 data_complete;error=true 时最终为失败帧" + }, + "examples": [ + { + "summary": "测试下载流(推送 10 个数据帧,验证流式传输,不触达 QQ)", + "params": { + "error": false + }, + "notes": "经 invoke_action 调用,仅测试传输,不访问 QQ。" + } + ], + "readOnly": false, + "params": [ + { + "name": "error", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": false, + "desc": "是否触发测试错误" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "error": { + "type": "boolean", + "description": "是否触发测试错误", + "default": false + } + }, + "additionalProperties": true + }, + "stream": true, + "category": "流式接口" + }, + { + "name": "trans_group_file", + "aliases": [], + "summary": "转存群文件", + "returns": "{ ok: true }", + "returnsSchema": { + "type": "object", + "properties": { + "ok": { + "const": true + } + }, + "required": [ + "ok" + ] + }, + "examples": [ + { + "summary": "转存群文件", + "params": { + "group_id": 20001, + "file_id": "" + }, + "notes": "替换群文件列表中的实际 file_id;需要对应文件操作权限。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "file_id", + "type": "string", + "required": true, + "role": "file_id", + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "x-role": "group_id" + }, + "file_id": { + "type": "string", + "minLength": 1, + "x-role": "file_id" + } + }, + "required": [ + "group_id", + "file_id" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "translate_en2zh", + "aliases": [], + "summary": "英译中", + "returns": "{ words }:与输入等长的中文译文字符串数组。", + "returnsSchema": { + "type": "object", + "properties": { + "words": { + "type": "array", + "description": "译文数组", + "items": { + "type": "string" + } + } + }, + "required": [ + "words" + ] + }, + "examples": [ + { + "summary": "英译中", + "params": { + "words": [ + "Hello" + ] + } + } + ], + "readOnly": true, + "params": [ + { + "name": "words", + "type": "string[]", + "required": true, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "words": { + "type": "array", + "items": { + "type": "string" + } + } + }, + "required": [ + "words" + ], + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "unlike_qzone", + "aliases": [], + "summary": "取消对一条说说的点赞(QQ 空间;取消赞端点待真机核实)", + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "取消对一条说说的点赞(QQ 空间;取消赞端点待真机核实)", + "params": { + "tid": "", + "target_uin": 10001 + }, + "notes": "tid 来自 get_qzone_msg_list;操作需有该说说的访问或管理权限。" + } + ], + "readOnly": false, + "params": [ + { + "name": "tid", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + }, + "desc": "说说 tid" + }, + { + "name": "target_uin", + "type": "uint", + "required": false, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "说说所属 QQ 号,省略则为机器人自己" + }, + { + "name": "abstime", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "desc": "说说发表时间(unix 秒),传真实值更可靠", + "default": 0, + "role": "timestamp" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "tid": { + "type": "string", + "minLength": 1, + "description": "说说 tid" + }, + "target_uin": { + "type": "integer", + "minimum": 1, + "description": "说说所属 QQ 号,省略则为机器人自己", + "x-role": "user_id" + }, + "abstime": { + "type": "integer", + "minimum": 0, + "description": "说说发表时间(unix 秒),传真实值更可靠", + "default": 0, + "x-role": "timestamp" + } + }, + "required": [ + "tid" + ], + "additionalProperties": true + }, + "category": "空间" + }, + { + "name": "upload_file_stream", + "aliases": [], + "summary": "以流式分块方式上传文件到机器人本地(返回可用于发送的本地路径)", + "returns": "流式帧:分块确认 type=stream、完成 type=response(含 file_path/file_name/file_size/sha256)", + "returnsSchema": { + "oneOf": [ + { + "type": "object", + "properties": { + "type": { + "const": "stream" + }, + "stream_id": { + "type": "string" + }, + "status": { + "enum": [ + "file_created", + "chunk_received" + ] + }, + "received_chunks": { + "type": "integer" + }, + "total_chunks": { + "type": "integer" + } + }, + "required": [ + "type", + "stream_id", + "status", + "received_chunks", + "total_chunks" + ] + }, + { + "type": "object", + "properties": { + "type": { + "const": "response" + }, + "stream_id": { + "type": "string" + }, + "status": { + "const": "file_complete" + }, + "received_chunks": { + "type": "integer" + }, + "total_chunks": { + "type": "integer" + }, + "file_path": { + "type": "string" + }, + "file_name": { + "type": "string" + }, + "file_size": { + "type": "integer" + }, + "sha256": { + "type": "string" + } + }, + "required": [ + "type", + "stream_id", + "status", + "received_chunks", + "total_chunks", + "file_path", + "file_name", + "file_size", + "sha256" + ] + } + ], + "description": "分块确认与完成帧的 data;reset 和其他失败由错误帧返回。必须等到 file_complete 才能使用 file_path" + }, + "examples": [ + { + "summary": "上传分块", + "params": { + "stream_id": "example-upload-001", + "filename": "hello.txt", + "total_chunks": 1, + "file_size": 5, + "chunk_index": 0, + "chunk_data": "aGVsbG8=" + }, + "notes": "第 1 步:每次上传生成新的 stream_id;这里上传 hello 的唯一分块。通过 invoke_action 调用,分块确认不等于整文件完成。" + }, + { + "summary": "完成同一上传", + "params": { + "stream_id": "example-upload-001", + "is_complete": true + }, + "notes": "第 2 步:等待全部分块确认后,用同一个 stream_id 单独请求完成;成功时返回 file_path。MCP 的 invoke_action 也可通过 execution.input_file 自动完成上传。" + } + ], + "readOnly": false, + "params": [ + { + "name": "stream_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + }, + "desc": "流 ID(客户端生成的 UUID,限 [A-Za-z0-9_-])" + }, + { + "name": "chunk_data", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "desc": "分块数据(Base64)" + }, + { + "name": "chunk_index", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "desc": "分块索引(从 0 开始)" + }, + { + "name": "total_chunks", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "总分块数(新流必填)" + }, + { + "name": "file_size", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "desc": "文件总大小(字节)" + }, + { + "name": "expected_sha256", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "desc": "期望的整文件 SHA256(校验)" + }, + { + "name": "is_complete", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "desc": "是否为最后一个分块/触发合并" + }, + { + "name": "filename", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "desc": "文件名" + }, + { + "name": "reset", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "desc": "重置并丢弃该流" + }, + { + "name": "verify_only", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "desc": "仅查询当前流状态" + }, + { + "name": "file_retention", + "type": "int", + "required": false, + "schema": { + "type": "integer", + "minimum": 0 + }, + "default": 300000, + "desc": "合并文件保留毫秒(0=不回收)" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "stream_id": { + "type": "string", + "minLength": 1, + "description": "流 ID(客户端生成的 UUID,限 [A-Za-z0-9_-])" + }, + "chunk_data": { + "type": "string", + "description": "分块数据(Base64)" + }, + "chunk_index": { + "type": "integer", + "minimum": 0, + "description": "分块索引(从 0 开始)" + }, + "total_chunks": { + "type": "integer", + "minimum": 1, + "description": "总分块数(新流必填)" + }, + "file_size": { + "type": "integer", + "minimum": 0, + "description": "文件总大小(字节)" + }, + "expected_sha256": { + "type": "string", + "description": "期望的整文件 SHA256(校验)" + }, + "is_complete": { + "type": "boolean", + "description": "是否为最后一个分块/触发合并" + }, + "filename": { + "type": "string", + "description": "文件名" + }, + "reset": { + "type": "boolean", + "description": "重置并丢弃该流" + }, + "verify_only": { + "type": "boolean", + "description": "仅查询当前流状态" + }, + "file_retention": { + "type": "integer", + "minimum": 0, + "description": "合并文件保留毫秒(0=不回收)", + "default": 300000 + } + }, + "required": [ + "stream_id" + ], + "additionalProperties": true + }, + "stream": true, + "category": "流式接口" + }, + { + "name": "upload_forward_msg", + "aliases": [], + "summary": "上传转发消息", + "returnsSchema": { + "type": "object", + "properties": { + "res_id": { + "type": "string" + }, + "forward_id": { + "type": "string" + }, + "message_id": { + "const": 0, + "description": "仅上传资源,不代表已发送消息;0 不能用于消息查询或撤回" + }, + "group_id": { + "type": "integer", + "description": "仅请求提供正数 group_id 时出现" + } + }, + "required": [ + "res_id", + "forward_id", + "message_id" + ] + }, + "examples": [ + { + "summary": "上传转发消息", + "params": { + "group_id": 20001, + "messages": [ + { + "type": "node", + "data": { + "user_id": 10001, + "nickname": "示例用户", + "content": [ + { + "type": "text", + "data": { + "text": "转发内容" + } + } + ] + } + } + ] + }, + "notes": "仅上传合并转发资源,不发送聊天消息;message_id=0 是占位值,后续使用 res_id。" + } + ], + "readOnly": false, + "params": [ + { + "name": "messages", + "type": "message", + "required": false, + "schema": { + "description": "OneBot message: string | segment[] | object. In segment arrays, text segments whose text field is exactly \"\" are compatibility placeholders and do not count as sendable segments; missing, null, and whitespace-only text remain subject to normal validation." + }, + "desc": "转发节点数组;节点 content 内的 reply.data.message 可提供自定义引用内容(字符串或消息段),qq/time/seq 可选;仅用于转发内引用预览。" + }, + { + "name": "message", + "type": "message", + "required": false, + "schema": { + "description": "OneBot message: string | segment[] | object. In segment arrays, text segments whose text field is exactly \"\" are compatibility placeholders and do not count as sendable segments; missing, null, and whitespace-only text remain subject to normal validation." + }, + "desc": "转发节点数组;节点 content 内的 reply.data.message 可提供自定义引用内容(字符串或消息段),qq/time/seq 可选;仅用于转发内引用预览。" + }, + { + "name": "group_id", + "type": "uint", + "required": false, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "messages": { + "description": "转发节点数组;节点 content 内的 reply.data.message 可提供自定义引用内容(字符串或消息段),qq/time/seq 可选;仅用于转发内引用预览。" + }, + "message": { + "description": "转发节点数组;节点 content 内的 reply.data.message 可提供自定义引用内容(字符串或消息段),qq/time/seq 可选;仅用于转发内引用预览。" + }, + "group_id": { + "type": "integer", + "minimum": 1, + "x-role": "group_id" + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "upload_foward_msg", + "aliases": [], + "summary": "上传转发消息(别名拼写)", + "returnsSchema": { + "type": "object", + "properties": { + "res_id": { + "type": "string" + }, + "forward_id": { + "type": "string" + }, + "message_id": { + "const": 0, + "description": "仅上传资源,不代表已发送消息;0 不能用于消息查询或撤回" + } + }, + "required": [ + "res_id", + "forward_id", + "message_id" + ] + }, + "examples": [ + { + "summary": "上传转发消息(别名拼写)", + "params": { + "messages": [ + { + "type": "node", + "data": { + "user_id": 10001, + "nickname": "示例用户", + "content": [ + { + "type": "text", + "data": { + "text": "转发内容" + } + } + ] + } + } + ] + }, + "notes": "历史拼写兼容接口,仅上传资源;message_id=0,返回值没有 group_id。" + } + ], + "readOnly": false, + "params": [ + { + "name": "messages", + "type": "message", + "required": false, + "schema": { + "description": "OneBot message: string | segment[] | object. In segment arrays, text segments whose text field is exactly \"\" are compatibility placeholders and do not count as sendable segments; missing, null, and whitespace-only text remain subject to normal validation." + }, + "desc": "转发节点数组;节点 content 内的 reply.data.message 可提供自定义引用内容(字符串或消息段),qq/time/seq 可选;仅用于转发内引用预览。" + }, + { + "name": "message", + "type": "message", + "required": false, + "schema": { + "description": "OneBot message: string | segment[] | object. In segment arrays, text segments whose text field is exactly \"\" are compatibility placeholders and do not count as sendable segments; missing, null, and whitespace-only text remain subject to normal validation." + }, + "desc": "转发节点数组;节点 content 内的 reply.data.message 可提供自定义引用内容(字符串或消息段),qq/time/seq 可选;仅用于转发内引用预览。" + }, + { + "name": "group_id", + "type": "uint", + "required": false, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "messages": { + "description": "转发节点数组;节点 content 内的 reply.data.message 可提供自定义引用内容(字符串或消息段),qq/time/seq 可选;仅用于转发内引用预览。" + }, + "message": { + "description": "转发节点数组;节点 content 内的 reply.data.message 可提供自定义引用内容(字符串或消息段),qq/time/seq 可选;仅用于转发内引用预览。" + }, + "group_id": { + "type": "integer", + "minimum": 1, + "x-role": "group_id" + } + }, + "additionalProperties": true + }, + "category": "扩展" + }, + { + "name": "upload_group_file", + "aliases": [], + "summary": "上传群文件", + "returns": "{ file_id: string }", + "returnsSchema": { + "type": "object", + "properties": { + "file_id": { + "type": "string" + } + }, + "required": [ + "file_id" + ] + }, + "examples": [ + { + "summary": "上传群文件", + "params": { + "group_id": 20001, + "file": "file:///path/to/report.pdf", + "name": "报告.pdf" + }, + "notes": "示例路径位于 SnowLuma 服务端,须替换为该服务可读取的实际文件。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "file", + "type": "string", + "required": true, + "role": "file", + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "name", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + }, + { + "name": "folder", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + }, + { + "name": "folder_id", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + }, + { + "name": "upload_file", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": true + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "file": { + "type": "string", + "minLength": 1, + "x-role": "file" + }, + "name": { + "type": "string", + "default": "" + }, + "folder": { + "type": "string", + "default": "" + }, + "folder_id": { + "type": "string", + "default": "" + }, + "upload_file": { + "type": "boolean", + "default": true + } + }, + "required": [ + "group_id", + "file" + ], + "additionalProperties": true + }, + "category": "群文件" + }, + { + "name": "upload_image_to_qun_album", + "aliases": [], + "returnsSchema": { + "type": "null", + "description": "成功时 data 为 null;失败另见响应的 status、retcode 和 wording" + }, + "examples": [ + { + "summary": "基本调用", + "params": { + "group_id": 20001, + "album_id": "", + "album_name": "活动照片", + "file": "file:///path/to/photo.png" + }, + "notes": "album_id 来自 get_group_album_list;lloc 或视频 id、batch_id 来自 get_group_album_media_list。替换群号及对应资源标识。 示例路径位于 SnowLuma 服务端,须替换为该服务可读取的实际文件。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "album_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "album_name", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "file", + "type": "string", + "required": true, + "role": "image", + "schema": { + "type": "string", + "minLength": 1 + } + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "album_id": { + "type": "string", + "minLength": 1 + }, + "album_name": { + "type": "string", + "minLength": 1 + }, + "file": { + "type": "string", + "minLength": 1, + "x-role": "image" + } + }, + "required": [ + "group_id", + "album_id", + "album_name", + "file" + ], + "additionalProperties": true + }, + "category": "群相册" + }, + { + "name": "upload_private_file", + "aliases": [], + "summary": "上传私聊文件", + "returns": "{ file_id: string }", + "returnsSchema": { + "type": "object", + "properties": { + "file_id": { + "type": "string" + } + }, + "required": [ + "file_id" + ] + }, + "examples": [ + { + "summary": "上传私聊文件", + "params": { + "user_id": 10001, + "file": "file:///path/to/report.pdf", + "name": "报告.pdf" + }, + "notes": "示例路径位于 SnowLuma 服务端,须替换为该服务可读取的实际文件。 默认上传并发送给该好友。" + } + ], + "readOnly": false, + "params": [ + { + "name": "user_id", + "type": "uint", + "required": true, + "role": "user_id", + "schema": { + "type": "integer", + "minimum": 1 + } + }, + { + "name": "file", + "type": "string", + "required": true, + "role": "file", + "schema": { + "type": "string", + "minLength": 1 + } + }, + { + "name": "name", + "type": "string", + "required": false, + "schema": { + "type": "string" + }, + "default": "" + }, + { + "name": "upload_file", + "type": "bool", + "required": false, + "schema": { + "type": "boolean" + }, + "default": true + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "user_id": { + "type": "integer", + "minimum": 1, + "x-role": "user_id" + }, + "file": { + "type": "string", + "minLength": 1, + "x-role": "file" + }, + "name": { + "type": "string", + "default": "" + }, + "upload_file": { + "type": "boolean", + "default": true + } + }, + "required": [ + "user_id", + "file" + ], + "additionalProperties": true + }, + "category": "群文件" + }, + { + "name": "upload_video_to_qun_album", + "aliases": [], + "summary": "上传视频到群相册", + "returns": "{ id: string }", + "returnsSchema": { + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "视频 id" + } + }, + "required": [ + "id" + ] + }, + "examples": [ + { + "summary": "上传视频到群相册", + "params": { + "group_id": 20001, + "album_id": "", + "album_name": "活动视频", + "file": "file:///path/to/video.mp4" + }, + "notes": "album_id 来自 get_group_album_list;lloc 或视频 id、batch_id 来自 get_group_album_media_list。替换群号及对应资源标识。 示例路径位于 SnowLuma 服务端,须替换为该服务可读取的实际文件。" + } + ], + "readOnly": false, + "params": [ + { + "name": "group_id", + "type": "uint", + "required": true, + "role": "group_id", + "schema": { + "type": "integer", + "minimum": 1 + }, + "desc": "群号" + }, + { + "name": "album_id", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + }, + "desc": "相册 id" + }, + { + "name": "album_name", + "type": "string", + "required": true, + "schema": { + "type": "string", + "minLength": 1 + }, + "desc": "相册名称" + }, + { + "name": "file", + "type": "string", + "required": true, + "role": "video", + "schema": { + "type": "string", + "minLength": 1 + }, + "desc": "视频文件" + } + ], + "invariants": [], + "inputSchema": { + "type": "object", + "properties": { + "group_id": { + "type": "integer", + "minimum": 1, + "description": "群号", + "x-role": "group_id" + }, + "album_id": { + "type": "string", + "minLength": 1, + "description": "相册 id" + }, + "album_name": { + "type": "string", + "minLength": 1, + "description": "相册名称" + }, + "file": { + "type": "string", + "minLength": 1, + "description": "视频文件", + "x-role": "video" + } + }, + "required": [ + "group_id", + "album_id", + "album_name", + "file" + ], + "additionalProperties": true + }, + "category": "群相册" + } +]; + +export const CATEGORIES: CatalogCategory[] = [ + { + "category": "信息", + "count": 5 + }, + { + "category": "消息", + "count": 6 + }, + { + "category": "好友", + "count": 3 + }, + { + "category": "群信息", + "count": 7 + }, + { + "category": "群管理", + "count": 24 + }, + { + "category": "群文件", + "count": 12 + }, + { + "category": "请求", + "count": 2 + }, + { + "category": "扩展", + "count": 115 + }, + { + "category": "群相册", + "count": 9 + }, + { + "category": "空间", + "count": 29 + }, + { + "category": "系统表情", + "count": 4 + }, + { + "category": "流式接口", + "count": 6 + } +]; diff --git a/packages/mcp/src/message-app.ts b/packages/mcp/src/message-app.ts new file mode 100644 index 00000000..4898a62d --- /dev/null +++ b/packages/mcp/src/message-app.ts @@ -0,0 +1,157 @@ +import { readFile } from 'node:fs/promises'; +import type { ReadResourceResult, Resource, Tool } from '@modelcontextprotocol/server'; +import { asError, asText, RESULT_SCHEMA, type StructuredResult } from './results.js'; + +export const MESSAGE_PREVIEW_TOOL = 'preview_message'; +export const MESSAGE_APP_URI = 'ui://snowluma/message-preview.html'; +export const MESSAGE_APP_MIME_TYPE = 'text/html;profile=mcp-app'; + +function record(value: unknown): value is Record { + return typeof value === 'object' && value !== null && !Array.isArray(value); +} + +export function supportsMessageApp(capabilities: unknown): boolean { + if (!record(capabilities) || !record(capabilities.extensions)) { + return false; + } + + const ui = capabilities.extensions['io.modelcontextprotocol/ui']; + return ( + record(ui) && Array.isArray(ui.mimeTypes) && ui.mimeTypes.includes(MESSAGE_APP_MIME_TYPE) + ); +} + +export function messagePreviewTool(uiSupported: boolean): Tool { + return { + name: MESSAGE_PREVIEW_TOOL, + description: + '预览一条纯文本群聊或私聊草稿,可附带引用消息编号。只生成草稿,不发送消息;支持面板的客户端可由用户点击发送,仍受写模式限制。文字按字面发送,不解释消息控制代码。', + inputSchema: { + type: 'object', + properties: { + message_type: { type: 'string', enum: ['group', 'private'] }, + target_id: { type: 'integer', minimum: 1, maximum: Number.MAX_SAFE_INTEGER }, + text: { type: 'string', minLength: 1 }, + reply_to: { + type: 'integer', + minimum: -2147483648, + maximum: 2147483647, + not: { const: 0 }, + description: '可选引用消息编号,负值合法。', + }, + }, + required: ['message_type', 'target_id', 'text'], + additionalProperties: false, + }, + outputSchema: RESULT_SCHEMA, + annotations: { readOnlyHint: true, openWorldHint: false }, + ...(uiSupported + ? { _meta: { ui: { resourceUri: MESSAGE_APP_URI, visibility: ['model', 'app'] } } } + : {}), + }; +} + +/** Pure draft construction. Sending remains an ordinary invoke_action call. */ +export function previewMessage(args: Record, canSend: boolean): StructuredResult { + if ( + Object.keys(args).some( + (key) => !['message_type', 'target_id', 'text', 'reply_to'].includes(key), + ) + ) { + return asError('草稿包含不支持的字段。'); + } + + const { message_type: messageType, target_id: targetId, text, reply_to: replyTo } = args; + + if (messageType !== 'group' && messageType !== 'private') { + return asError('message_type 必须为 group 或 private。'); + } + + if (typeof targetId !== 'number' || !Number.isSafeInteger(targetId) || targetId <= 0) { + return asError('target_id 必须是正的安全整数。'); + } + + if (typeof text !== 'string' || text.trim().length === 0) { + return asError('text 必须是非空文本。'); + } + + if ( + replyTo !== undefined && + (typeof replyTo !== 'number' || + !Number.isInteger(replyTo) || + replyTo === 0 || + replyTo < -2147483648 || + replyTo > 2147483647) + ) { + return asError('reply_to 必须是非零的有符号 32 位消息编号,负值合法。'); + } + + const message: Array<{ type: string; data: Record }> = []; + + if (replyTo !== undefined) { + message.push({ type: 'reply', data: { id: String(replyTo) } }); + } + + // Explicit text segments preserve literal control-code-looking text. + message.push({ type: 'text', data: { text } }); + return asText({ + draft: { + message_type: messageType, + target_id: targetId, + text, + ...(replyTo !== undefined ? { reply_to: replyTo } : {}), + }, + can_send: canSend, + notice: '此为待发送草稿,尚未发送。', + invocation: { + name: 'invoke_action', + arguments: { + action: messageType === 'group' ? 'send_group_msg' : 'send_private_msg', + params: { [messageType === 'group' ? 'group_id' : 'user_id']: targetId, message }, + }, + }, + }); +} + +export function messageAppResources(uiSupported: boolean): Resource[] { + return uiSupported + ? [ + { + uri: MESSAGE_APP_URI, + name: '消息草稿预览', + description: '查看消息草稿并按需手动发送。', + mimeType: MESSAGE_APP_MIME_TYPE, + }, + ] + : []; +} + +export async function readMessageAppResource(uri: string): Promise { + if (uri !== MESSAGE_APP_URI) { + return undefined; + } + + // The build emits the same self-contained asset beside this compiled module. + // A missing asset is a packaging error and must not become a blank panel. + const text = await readFile(new URL('./message-app.html', import.meta.url), 'utf8'); + return { + contents: [ + { + uri, + mimeType: MESSAGE_APP_MIME_TYPE, + text, + _meta: { + ui: { + csp: { + connectDomains: [], + resourceDomains: [], + frameDomains: [], + baseUriDomains: [], + }, + prefersBorder: true, + }, + }, + }, + ], + }; +} diff --git a/packages/mcp/src/progress.ts b/packages/mcp/src/progress.ts new file mode 100644 index 00000000..918c77e9 --- /dev/null +++ b/packages/mcp/src/progress.ts @@ -0,0 +1,44 @@ +import type { TransferProgress } from './client.js'; + +/** One reporter per request. No timers or notifications survive the request. */ +export function createProgressReporter( + send: (progress: TransferProgress) => Promise, + signal: AbortSignal, + now: () => number = Date.now, +) { + let latest: TransferProgress | undefined; + let sent = -1; + let sentAt = -Infinity; + + const flush = async (): Promise => { + if (!latest || latest.progress <= sent || signal.aborted) { + return; + } + + await send(latest); + sent = latest.progress; + sentAt = now(); + }; + + return { + async report(progress: TransferProgress): Promise { + if ( + !Number.isFinite(progress.progress) || + progress.progress < (latest?.progress ?? 0) || + (progress.total !== undefined && + (!Number.isFinite(progress.total) || + progress.total <= 0 || + progress.progress > progress.total)) + ) { + throw new Error('Invalid transfer progress'); + } + + latest = progress; + + if (now() - sentAt >= 250) { + await flush(); + } + }, + finish: flush, + }; +} diff --git a/packages/mcp/src/results.ts b/packages/mcp/src/results.ts new file mode 100644 index 00000000..6507d2b2 --- /dev/null +++ b/packages/mcp/src/results.ts @@ -0,0 +1,142 @@ +import type { CallToolResult, Tool } from '@modelcontextprotocol/server'; +import type { OneBotEnvelope } from './client.js'; + +export type FailureKind = + | 'invalid_arguments' + | 'not_found' + | 'permission' + | 'configuration' + | 'business' + | 'authentication' + | 'cancelled' + | 'timeout' + | 'transport' + | 'invalid_response' + | 'execution'; + +export interface Diagnostics { + outcome: 'success' | 'failed' | 'unknown'; + kind?: FailureKind; + message?: string; + next_step?: string; +} + +export type StructuredResult = CallToolResult & { + structuredContent: { result: unknown; diagnostics: Diagnostics }; +}; + +export class ActionCallError extends Error { + constructor( + message: string, + readonly kind: FailureKind, + options?: ErrorOptions, + ) { + super(message, options); + this.name = 'ActionCallError'; + } +} + +export const RESULT_SCHEMA: Tool['outputSchema'] = { + type: 'object', + properties: { + result: {}, + diagnostics: { + type: 'object', + properties: { + outcome: { type: 'string', enum: ['success', 'failed', 'unknown'] }, + kind: { type: 'string' }, + message: { type: 'string' }, + next_step: { type: 'string' }, + }, + required: ['outcome'], + additionalProperties: false, + }, + }, + required: ['result', 'diagnostics'], + additionalProperties: false, +}; + +// The text block is the original public contract; structured metadata is additive. +export function asText( + data: unknown, + diagnostics: Diagnostics = { outcome: 'success' }, +): StructuredResult { + return { + content: [{ type: 'text', text: JSON.stringify(data, null, 2) }], + structuredContent: { result: data, diagnostics: { ...diagnostics } }, + }; +} + +export function asError( + message: string, + kind: FailureKind = 'invalid_arguments', + nextStep = '检查工具参数;使用 get_action 查看动作要求。', + outcome: Diagnostics['outcome'] = 'failed', +): StructuredResult { + return { + content: [{ type: 'text', text: message }], + isError: true, + structuredContent: { + result: null, + diagnostics: { outcome, kind, message, next_step: nextStep }, + }, + }; +} + +export function envelopeDiagnostics(envelope: OneBotEnvelope): Diagnostics { + if (envelope.status === 'ok' && envelope.retcode === 0) { + return { outcome: 'success' }; + } + + if (envelope.status === 'async') { + return { outcome: 'unknown', next_step: '请求已受理,尚未确认完成;不要重复执行写操作。' }; + } + + if ( + envelope.status === 'failed' || + (typeof envelope.retcode === 'number' && envelope.retcode !== 0) + ) { + return { + outcome: 'failed', + kind: 'business', + message: + (typeof envelope.wording === 'string' && envelope.wording) || + (typeof envelope.message === 'string' && envelope.message) || + `retcode=${envelope.retcode}`, + next_step: '检查原始响应的 retcode、wording 和动作参数;不要盲目重试写操作。', + }; + } + + return { + outcome: 'unknown', + kind: 'invalid_response', + next_step: '响应未确认成功;检查服务端版本和日志。', + }; +} + +export function executionError( + action: string, + error: unknown, + signal?: AbortSignal, +): StructuredResult { + const message = `调用失败 (${action}): ${error instanceof Error ? error.message : String(error)}`; + let cause = error; + const seen = new Set(); + + while (cause instanceof Error && !(cause instanceof ActionCallError) && !seen.has(cause)) { + seen.add(cause); + cause = cause.cause; + } + + const kind = signal?.aborted + ? 'cancelled' + : cause instanceof ActionCallError + ? cause.kind + : 'execution'; + return asError( + message, + kind, + '操作结果可能未知。检查连接、配置和服务端状态;取消或超时不代表撤销,确认结果后再决定是否重试。', + 'unknown', + ); +} diff --git a/packages/mcp/src/server-factory.ts b/packages/mcp/src/server-factory.ts new file mode 100644 index 00000000..813c8067 --- /dev/null +++ b/packages/mcp/src/server-factory.ts @@ -0,0 +1,400 @@ +import { + Server, + ProtocolError, + isInputRequiredResult, + isSpecType, + type ServerContext, + type Tool, +} from '@modelcontextprotocol/server'; +import { ACTIONS, CATEGORIES } from './generated/catalog.js'; +import { callTool, computeTools, prepareActionCall, type CallCtx } from './tools.js'; +import { createProgressReporter } from './progress.js'; +import { VERSION } from './version.js'; +import { createCallTrace } from './tracing.js'; +import { + createInputCompletion, + inputCompletionBaseTool, + inputCompletionTools, + isInputCompletionTool, + type InputCompletion, +} from './elicitation.js'; +import { + MESSAGE_PREVIEW_TOOL, + messageAppResources, + messagePreviewTool, + previewMessage, + readMessageAppResource, + supportsMessageApp, +} from './message-app.js'; +import { EventSubscriptions, EVENT_TOOLS, type EventSubscriptionOptions } from './subscriptions.js'; +import { + installTaskHandlers, + supportsTasks, + type PersistentTasks, + type TaskHandle, +} from './tasks.js'; +import { asError, asText, RESULT_SCHEMA, type StructuredResult } from './results.js'; + +export interface McpServerOptions extends Pick { + inputCompletion?: InputCompletion; + tasks?: PersistentTasks; + events?: EventSubscriptionOptions; +} + +const RESOURCE_URI = 'snowluma://onebot/actions'; + +export function createMcpServer(ctx: McpServerOptions): Server { + const input = ctx.inputCompletion ?? createInputCompletion(); + const events = + ctx.mode !== 'docs' && ctx.events ? new EventSubscriptions(ctx.events) : undefined; + const legacySubscriptions = new Set(); + const server = new Server( + { name: 'snowluma-mcp', version: VERSION }, + { + capabilities: { + tools: {}, + resources: events ? { subscribe: true, listChanged: true } : {}, + extensions: { 'io.modelcontextprotocol/ui': {} }, + }, + requestState: { verify: input.verifyRequestState }, + // Tool availability depends on the configured mode; only the bundled + // action catalog is public. Execution and account data are never cached. + cacheHints: { + 'tools/list': { ttlMs: 300_000, cacheScope: 'private' }, + 'resources/list': { ttlMs: events ? 0 : 300_000, cacheScope: 'private' }, + 'resources/read': { ttlMs: 0, cacheScope: 'private' }, + 'resources/templates/list': { ttlMs: 300_000, cacheScope: 'public' }, + }, + }, + ); + + const capabilities = (request: ServerContext) => { + const envelope: Record | undefined = request.mcpReq.envelope; + + if (!envelope) { + return server.getClientCapabilities(); + } + + const value = envelope['io.modelcontextprotocol/clientCapabilities']; + + if (!isSpecType.ClientCapabilities(value)) { + throw new ProtocolError(-32602, 'Invalid client capabilities'); + } + + return value; + }; + + const cacheMetadata = (scope: 'public' | 'private') => + (server.getNegotiatedProtocolVersion() ?? '') >= '2026-07-28' + ? { ttlMs: scope === 'public' ? 300_000 : 0, cacheScope: scope } + : {}; + const taskEnabled = (request: ServerContext) => + !!ctx.tasks && + ctx.mode === 'write' && + (server.getNegotiatedProtocolVersion() ?? '') >= '2026-07-28' && + supportsTasks(request.mcpReq.envelope); + + const availableTools = (request: ServerContext): Tool[] => { + const base = computeTools(ctx.mode); + const extra = [ + ...inputCompletionTools(base), + messagePreviewTool(supportsMessageApp(capabilities(request))), + ...(events ? EVENT_TOOLS : []), + ]; + + if (taskEnabled(request)) { + const invocation = base.find((tool) => tool.name === 'invoke_action')!; + extra.push( + { + ...invocation, + name: 'invoke_action_background', + description: + '在后台执行一个流式传输动作,返回可跨重启查询的任务编号。仅限流式动作和写模式;重启不会自动重放未完成操作。', + }, + { + name: 'list_tasks', + description: '列出本配置下持久化任务的编号和状态,不返回结果正文。', + inputSchema: { + type: 'object', + properties: { + cursor: { type: 'string' }, + limit: { type: 'integer', minimum: 1, maximum: 100 }, + }, + additionalProperties: false, + }, + outputSchema: RESULT_SCHEMA, + annotations: { readOnlyHint: true, openWorldHint: false }, + }, + ); + } + + return [...base, ...extra]; + }; + + if (ctx.tasks && ctx.mode === 'write') { + installTaskHandlers(server, ctx.tasks); + } + + events?.onUpdate(async (uri) => { + if ( + (server.getNegotiatedProtocolVersion() ?? '') >= '2026-07-28' || + legacySubscriptions.has(uri) + ) { + await server.sendResourceUpdated({ uri }); + } + }); + + server.onclose = () => { + events?.close(); + legacySubscriptions.clear(); + + if (!ctx.inputCompletion) { + input.close(); + } + }; + + server.setRequestHandler('tools/list', async (_req, request) => ({ + tools: availableTools(request), + })); + server.setRequestHandler('tools/call', async (req, request) => { + const { mcpReq } = request; + const trace = createCallTrace(mcpReq._meta); + const tool = availableTools(request).some((entry) => entry.name === req.params.name) + ? req.params.name + : 'unlisted'; + const started = performance.now(); + + const report = (event: string, outcome?: string, kind?: string, taskId?: string) => { + console.error( + '[snowluma-mcp] %s', + JSON.stringify({ + event, + tool, + traceparent: trace.traceparent, + ...(outcome + ? { outcome, duration_ms: Math.round(performance.now() - started) } + : {}), + ...(kind ? { kind } : {}), + ...(taskId ? { task_id: taskId } : {}), + }), + ); + }; + + report('call_started'); + const token = mcpReq._meta?.progressToken; + const progress = + token === undefined + ? undefined + : createProgressReporter( + (value) => + mcpReq.notify({ + method: 'notifications/progress', + params: { progressToken: token, ...value }, + }), + mcpReq.signal, + ); + + try { + const args = req.params.arguments ?? {}; + const callContext: CallCtx = { + mode: ctx.mode, + client: ctx.client, + signal: mcpReq.signal, + trace, + ...(progress ? { onProgress: progress.report } : {}), + }; + + const dispatch = async (): Promise< + StructuredResult | TaskHandle | Awaited> + > => { + if (isInputCompletionTool(req.params.name)) { + const base = inputCompletionBaseTool(req.params.name); + return input.handle(req.params.name, args, request, { + capabilities: capabilities(request), + preflight: (values) => { + const prepared = prepareActionCall( + values, + callContext, + base === 'query_action' ? 'read' : 'write', + ); + return 'structuredContent' in prepared + ? prepared + : { + action: prepared.action, + params: prepared.params, + inputSchema: prepared.inputSchema, + }; + }, + execute: (values) => callTool(base, values, callContext), + }); + } + + if (req.params.name === MESSAGE_PREVIEW_TOOL) { + return previewMessage(args, ctx.mode === 'write' && !!ctx.client); + } + + if (events?.handlesTool(req.params.name)) { + const result = await events.callTool(req.params.name, args, mcpReq.signal); + + if (!result.isError) { + if ( + req.params.name === 'unsubscribe_events' && + typeof args.uri === 'string' + ) { + legacySubscriptions.delete(args.uri); + } + + await server.sendResourceListChanged(); + } + + return result; + } + + if ( + req.params.name === 'invoke_action_background' || + req.params.name === 'list_tasks' + ) { + if (!taskEnabled(request) || !ctx.tasks) { + return asError( + '持久任务需配置任务目录、启用写模式,并由客户端声明新版任务能力。', + 'configuration', + ); + } + + if (req.params.name === 'list_tasks') { + if ( + Object.keys(args).some((key) => key !== 'cursor' && key !== 'limit') || + (args.cursor !== undefined && typeof args.cursor !== 'string') || + (args.limit !== undefined && typeof args.limit !== 'number') + ) { + return asError('任务列表参数无效。'); + } + + return asText( + ctx.tasks.list({ + cursor: args.cursor as string | undefined, + limit: args.limit as number | undefined, + }), + ); + } + + const prepared = prepareActionCall(args, callContext, 'write'); + + if ('structuredContent' in prepared) { + return prepared; + } + + if (!prepared.catalog.stream) { + return asError('后台任务仅支持流式传输动作;普通动作请使用原执行工具。'); + } + + mcpReq.signal.throwIfAborted(); + return ctx.tasks.start(async ({ signal }) => + callTool('invoke_action', args, { + mode: ctx.mode, + client: ctx.client, + signal, + trace, + }), + ); + } + + return callTool(req.params.name, args, callContext); + }; + + const result = await dispatch(); + + if (isInputRequiredResult(result)) { + report('call_input_required', 'unknown'); + return { ...result, _meta: { traceparent: trace.traceparent } }; + } + + if (!('structuredContent' in result)) { + report('call_detached', 'unknown', undefined, result.taskId); + return { ...result, _meta: { traceparent: trace.traceparent } }; + } + + if (!result.isError) { + await progress?.finish(); + } + + const { outcome, kind } = result.structuredContent.diagnostics; + report( + mcpReq.signal.aborted || kind === 'cancelled' ? 'call_cancelled' : 'call_finished', + outcome, + kind, + ); + return { ...result, _meta: { ...result._meta, traceparent: trace.traceparent } }; + } catch (error) { + report(mcpReq.signal.aborted ? 'call_cancelled' : 'call_failed', 'unknown'); + throw error; + } + }); + server.setRequestHandler('resources/list', async (_req, request) => ({ + resources: [ + { + uri: RESOURCE_URI, + name: 'SnowLuma OneBot action catalog', + mimeType: 'application/json', + description: `SnowLuma v${VERSION} 的 ${ACTIONS.length} 个 OneBot action 完整目录(文档 + JSON Schema)。`, + }, + ...messageAppResources(supportsMessageApp(capabilities(request))), + ...(events?.resources() ?? []), + ], + })); + server.setRequestHandler('resources/templates/list', async () => ({ resourceTemplates: [] })); + server.setRequestHandler('resources/read', async (req) => { + if (events?.ownsUri(req.params.uri)) { + return { ...events.readResource(req.params.uri), ...cacheMetadata('private') }; + } + + const app = await readMessageAppResource(req.params.uri); + + if (app) { + return { ...app, ...cacheMetadata('public') }; + } + + if (req.params.uri !== RESOURCE_URI) { + throw new Error(`unknown resource: ${req.params.uri}`); + } + + return { + ...cacheMetadata('public'), + contents: [ + { + uri: RESOURCE_URI, + mimeType: 'application/json', + text: JSON.stringify( + { version: VERSION, categories: CATEGORIES, actions: ACTIONS }, + null, + 2, + ), + }, + ], + }; + }); + + if (events) { + server.setRequestHandler('resources/subscribe', async (req) => { + if (!events.resources().some((resource) => resource.uri === req.params.uri)) { + throw new ProtocolError(-32602, 'Subscribe using the canonical event resource URI'); + } + + events.readResource(req.params.uri); + legacySubscriptions.add(req.params.uri); + return {}; + }); + server.setRequestHandler('resources/unsubscribe', async (req) => { + if (!events.ownsUri(req.params.uri)) { + throw new ProtocolError(-32602, 'Unknown event resource'); + } + + events.remove(req.params.uri); + legacySubscriptions.delete(req.params.uri); + await server.sendResourceListChanged(); + return {}; + }); + } + + return server; +} diff --git a/packages/mcp/src/server.ts b/packages/mcp/src/server.ts new file mode 100644 index 00000000..04c561eb --- /dev/null +++ b/packages/mcp/src/server.ts @@ -0,0 +1,175 @@ +#!/usr/bin/env node +// @snowluma/mcp — an MCP server for the SnowLuma OneBot action catalog. +// +// Two modes in one binary: +// • docs (default, no endpoint): read-only catalog tools (list/get/search/ +// categories) + a catalog resource. Zero contact with any live instance. +// • read / write (when SNOWLUMA_MCP_ENDPOINT is set): the catalog tools PLUS +// execution — query_action (read-only actions) and, in write mode, +// invoke_action (any known action) — proxied to a running OneBot instance +// over HTTP. +// +// Env: +// SNOWLUMA_MCP_ENDPOINT OneBot HTTP endpoint (e.g. http://127.0.0.1:3000/). +// Absent → docs-only (execution tools hidden). +// SNOWLUMA_MCP_TOKEN access token (Bearer) for the endpoint. +// SNOWLUMA_MCP_TIMEOUT_MS ordinary request timeout; Stream connection and +// per-read idle timeout (default 30s). +// SNOWLUMA_MCP_MODE docs | read | write. Default: read when an +// endpoint is set, else docs. +// SNOWLUMA_MCP_STREAM_DIR MCP-host directory for completed downloads. +// SNOWLUMA_MCP_UPLOAD_ROOT Existing MCP-host directory allowed for uploads. +// SNOWLUMA_MCP_MAX_STREAM_BYTES Per-file cap (1..4 GiB; default 4 GiB). +// SNOWLUMA_MCP_TASK_DIR Private persistent task directory (write mode only). +// SNOWLUMA_MCP_EVENTS_URL Explicit OneBot event WebSocket endpoint. +// +// NOTE: stdout is the MCP protocol channel — all diagnostics go to stderr. + +import { serveStdio, StdioServerTransport } from '@modelcontextprotocol/server/stdio'; +import { createHash } from 'node:crypto'; +import { ACTIONS, CATEGORIES } from './generated/catalog.js'; +import { + makeHttpClient, + parseMaxStreamBytes, + parseTimeoutMs, + type ActionClient, +} from './client.js'; +import { parseMode, type Mode } from './tools.js'; + +import { createMcpServer, type McpServerOptions } from './server-factory.js'; +import { createInputCompletion } from './elicitation.js'; +import { PersistentTasks } from './tasks.js'; +import { shutdownRuntime } from './shutdown.js'; +import { normalizeEventSubscriptionOptions } from './subscriptions.js'; +import { VERSION } from './version.js'; + +// ── resolve mode + client from the environment ──────────────────────────── +function resolveRuntime(): { mode: Mode; client?: ActionClient } { + const endpoint = process.env.SNOWLUMA_MCP_ENDPOINT?.trim(); + const token = process.env.SNOWLUMA_MCP_TOKEN?.trim() || undefined; + const streamDir = process.env.SNOWLUMA_MCP_STREAM_DIR?.trim() || undefined; + const uploadRoot = process.env.SNOWLUMA_MCP_UPLOAD_ROOT?.trim() || undefined; + const maxStreamBytes = parseMaxStreamBytes(process.env.SNOWLUMA_MCP_MAX_STREAM_BYTES); + const timeoutMs = parseTimeoutMs(process.env.SNOWLUMA_MCP_TIMEOUT_MS); + const requested = parseMode(process.env.SNOWLUMA_MCP_MODE); + + if (!endpoint) { + if (requested && requested !== 'docs') { + console.error( + `[snowluma-mcp] SNOWLUMA_MCP_MODE=${requested} ignored: no SNOWLUMA_MCP_ENDPOINT set — docs-only.`, + ); + } + + return { mode: 'docs' }; + } + + const mode: Mode = requested ?? 'read'; + + if (mode === 'docs') { + // Endpoint set but operator explicitly wants docs-only — honor it. + return { mode: 'docs' }; + } + + const client = makeHttpClient({ + endpoint, + accessToken: token, + timeoutMs, + streamDir, + uploadRoot, + maxStreamBytes, + }); + return { mode, client }; +} + +const runtime: McpServerOptions = resolveRuntime(); +const { mode } = runtime; +const taskDirectory = process.env.SNOWLUMA_MCP_TASK_DIR?.trim(); +const eventsUrl = process.env.SNOWLUMA_MCP_EVENTS_URL?.trim(); + +if (taskDirectory && mode !== 'write') { + throw new Error('SNOWLUMA_MCP_TASK_DIR requires write mode and a configured endpoint'); +} + +if (eventsUrl && mode !== 'docs') { + runtime.events = normalizeEventSubscriptionOptions({ + url: eventsUrl, + accessToken: process.env.SNOWLUMA_MCP_TOKEN?.trim() || undefined, + timeoutMs: parseTimeoutMs(process.env.SNOWLUMA_MCP_TIMEOUT_MS), + }); +} + +if (taskDirectory) { + const scopeId = createHash('sha256') + .update( + JSON.stringify({ + mode, + endpoint: process.env.SNOWLUMA_MCP_ENDPOINT?.trim(), + token: process.env.SNOWLUMA_MCP_TOKEN?.trim() || null, + }), + ) + .digest('hex'); + runtime.tasks = await PersistentTasks.open(taskDirectory, { + scopeId, + onChange: (task) => + console.error( + '[snowluma-mcp] %s', + JSON.stringify({ event: 'task_status', task_id: task.taskId, status: task.status }), + ), + onError: (_error, context) => { + console.error('[snowluma-mcp] %s', JSON.stringify(context)); + }, + }); +} + +const inputCompletion = createInputCompletion(); +runtime.inputCompletion = inputCompletion; +let cleanup: Promise | undefined; + +function closeFeatures(): Promise { + return (cleanup ??= (async () => { + inputCompletion.close(); + await runtime.tasks?.close(); + })()); +} + +function reportShutdownError(error: unknown): void { + console.error( + '[snowluma-mcp] shutdown failed: %s', + error instanceof Error ? error.name : 'unknown', + ); + process.exitCode = 1; +} + +const transport = new StdioServerTransport(); +const handle = serveStdio(() => createMcpServer(runtime), { + transport, + onerror: (error) => { + // Protocol errors may embed client input. Keep the error category visible + // without copying arguments or credentials into process diagnostics. + console.error('[snowluma-mcp] protocol error: %s', error.name); + }, +}); +const transportClosed = transport.onclose; + +transport.onclose = () => { + transportClosed?.(); + void closeFeatures().catch(reportShutdownError); +}; + +for (const signal of ['SIGINT', 'SIGTERM'] as const) { + process.once(signal, () => { + void shutdownRuntime({ + closeFeatures, + closeProtocol: () => handle.close(), + forceClose: async () => { + await transport.close(); + process.stdout.destroy(); + }, + onLateProtocolError: reportShutdownError, + }).catch(reportShutdownError); + }); +} + +console.error( + `[snowluma-mcp] v${VERSION} ready — ${ACTIONS.length} actions, ${CATEGORIES.length} categories, mode=${mode}`, +); diff --git a/packages/mcp/src/shutdown.ts b/packages/mcp/src/shutdown.ts new file mode 100644 index 00000000..01e3dc0b --- /dev/null +++ b/packages/mcp/src/shutdown.ts @@ -0,0 +1,89 @@ +export interface ShutdownOptions { + closeFeatures(): Promise; + closeProtocol(): Promise; + forceClose(): Promise; + graceMs?: number; + onTimeout?: () => void; + onLateProtocolError?: (error: unknown) => void; +} + +/** Persist task shutdown before waiting on a peer that may have stopped reading stdout. */ +export async function shutdownRuntime(options: ShutdownOptions): Promise { + const failures: unknown[] = []; + + try { + await options.closeFeatures(); + } catch (error) { + failures.push(error); + } + + const protocol = Promise.resolve() + .then(() => options.closeProtocol()) + .then( + () => ({ kind: 'closed' as const }), + (error: unknown) => ({ kind: 'failed' as const, error }), + ); + let timer!: ReturnType; + const timeout = new Promise<{ kind: 'timeout' }>((resolve) => { + timer = setTimeout(() => resolve({ kind: 'timeout' }), options.graceMs ?? 1000); + }); + const outcome = await Promise.race([protocol, timeout]); + clearTimeout(timer); + + if (outcome.kind === 'failed') { + failures.push(outcome.error); + } + + if (outcome.kind === 'timeout') { + // A protocol rejection can arrive after the bounded shutdown returns. + // Observe the settled outcome too, including races with the deadline. + void protocol.then((late) => { + if (late.kind !== 'failed') { + return; + } + + try { + if (options.onLateProtocolError) { + options.onLateProtocolError(late.error); + } else { + console.error( + '[snowluma-mcp] protocol shutdown failed after timeout: %s', + late.error instanceof Error ? late.error.name : 'unknown', + ); + } + } catch (reportError) { + console.error( + '[snowluma-mcp] late shutdown error reporting failed: %s; original: %s', + reportError instanceof Error ? reportError.name : 'unknown', + late.error instanceof Error ? late.error.name : 'unknown', + ); + } + }); + + try { + if (options.onTimeout) { + options.onTimeout(); + } else { + console.error('[snowluma-mcp] protocol shutdown timed out; closing transport'); + } + } catch (error) { + failures.push(error); + } + } + + if (outcome.kind !== 'closed') { + try { + await options.forceClose(); + } catch (error) { + failures.push(error); + } + } + + if (failures.length === 1) { + throw failures[0]; + } + + if (failures.length > 1) { + throw new AggregateError(failures, 'Runtime shutdown failed'); + } +} diff --git a/packages/mcp/src/subscriptions.ts b/packages/mcp/src/subscriptions.ts new file mode 100644 index 00000000..05fbcdef --- /dev/null +++ b/packages/mcp/src/subscriptions.ts @@ -0,0 +1,722 @@ +import { randomUUID } from 'node:crypto'; +import { + ProtocolError, + type ReadResourceResult, + type Resource, + type Tool, +} from '@modelcontextprotocol/server'; +import WebSocket, { type RawData } from 'ws'; +import { asError, asText, RESULT_SCHEMA, type StructuredResult } from './results.js'; + +class EventInputError extends ProtocolError { + constructor(message: string) { + super(-32602, message); + } +} + +const PREFIX = 'snowluma://onebot/events/'; +const MAX_FRAME_BYTES = 256 * 1024; +const MAX_BUFFER_BYTES = 1024 * 1024; +const MAX_BUFFER_EVENTS = 256; +const MAX_SUBSCRIPTIONS = 16; +const MAX_FILTER_IDS = 100; +type EventType = 'message' | 'notice' | 'request'; +type SourceStatus = 'connecting' | 'connected' | 'disconnected'; +type SourceProblem = + | 'connection_failed' + | 'connection_closed' + | 'connection_timeout' + | 'invalid_event' + | 'account_mismatch' + | 'frame_too_large'; + +interface Filter { + selfId: number; + types: Set; + groupIds?: Set; + userIds?: Set; +} + +interface BufferedEvent { + cursor: number; + event: Record; + bytes: number; +} + +interface Subscription { + uri: string; + filter: Filter; + events: BufferedEvent[]; + bytes: number; + cursor: number; + dropped: number; + status: SourceStatus; + problem?: SourceProblem; + notificationFailed: boolean; + cancelPending?: () => void; +} + +interface Source { + socket: WebSocket; + selfId: number; + ready: Promise; + resolve: () => void; + reject: (error: Error) => void; + verified: boolean; + stopped: boolean; + timer?: ReturnType; + heartbeat?: ReturnType; + awaitingPong: boolean; +} + +export interface EventSubscriptionOptions { + url: string; + accessToken?: string; + timeoutMs?: number; +} + +/** Validate startup configuration without creating resources or contacting an account. */ +export function normalizeEventSubscriptionOptions( + options: EventSubscriptionOptions, +): EventSubscriptionOptions & { timeoutMs: number } { + let url: URL; + + try { + url = new URL(options.url); + } catch { + throw new Error('SNOWLUMA_MCP_EVENTS_URL must be an absolute WebSocket URL'); + } + + if ( + !['ws:', 'wss:'].includes(url.protocol) || + url.username || + url.password || + url.hash || + url.search + ) { + throw new Error( + 'SNOWLUMA_MCP_EVENTS_URL must use ws/wss without credentials, query, or fragment; use SNOWLUMA_MCP_TOKEN for authentication', + ); + } + + if ( + options.timeoutMs !== undefined && + (!Number.isSafeInteger(options.timeoutMs) || options.timeoutMs <= 0) + ) { + throw new Error('Event connection timeout must be a positive integer'); + } + + return { ...options, url: url.href, timeoutMs: options.timeoutMs ?? 30_000 }; +} + +const idSchema = { type: 'integer', minimum: 1, maximum: Number.MAX_SAFE_INTEGER }; +const idsSchema = { + type: 'array', + items: idSchema, + minItems: 1, + maxItems: MAX_FILTER_IDS, + uniqueItems: true, +}; + +export const EVENT_TOOLS: Tool[] = [ + { + name: 'subscribe_events', + description: + '订阅指定登录账号的实时 OneBot 事件,返回可读取的资源。消息、通知、请求可按群和用户筛选。只接收创建后的事件;有限缓存溢出和断线会明确标记缺口。通过资源更新通知获知变化,使用 unsubscribe_events 释放资源。', + inputSchema: { + type: 'object', + properties: { + self_id: { + ...idSchema, + description: + '预期登录账号,必须与事件连接的账号相同。可先用 get_login_info 查询。', + }, + types: { + type: 'array', + items: { type: 'string', enum: ['message', 'notice', 'request'] }, + minItems: 1, + maxItems: 3, + uniqueItems: true, + }, + group_ids: idsSchema, + user_ids: idsSchema, + }, + required: ['self_id'], + additionalProperties: false, + }, + outputSchema: RESULT_SCHEMA, + annotations: { readOnlyHint: false, destructiveHint: false, openWorldHint: true }, + }, + { + name: 'unsubscribe_events', + description: + '停止事件订阅并释放其缓存;最后一个事件订阅结束时断开事件连接。不发送任何 OneBot 业务操作。', + inputSchema: { + type: 'object', + properties: { uri: { type: 'string' } }, + required: ['uri'], + additionalProperties: false, + }, + outputSchema: RESULT_SCHEMA, + annotations: { readOnlyHint: false, destructiveHint: false, openWorldHint: false }, + }, +]; + +function record(value: unknown): value is Record { + return value !== null && typeof value === 'object' && !Array.isArray(value); +} + +function id(value: unknown): value is number { + return typeof value === 'number' && Number.isSafeInteger(value) && value > 0; +} + +function readIds(value: unknown, field: string): Set | undefined { + if (value === undefined) { + return undefined; + } + + if ( + !Array.isArray(value) || + value.length === 0 || + value.length > MAX_FILTER_IDS || + !value.every(id) || + new Set(value).size !== value.length + ) { + throw new EventInputError( + `${field} must contain 1..${MAX_FILTER_IDS} distinct positive integer IDs`, + ); + } + + return new Set(value); +} + +function filter(args: Record): Filter { + if ( + Object.keys(args).some( + (key) => !['self_id', 'types', 'group_ids', 'user_ids'].includes(key), + ) + ) { + throw new EventInputError('Unexpected event subscription parameter'); + } + + if (!id(args.self_id)) { + throw new EventInputError('self_id must be a positive safe integer'); + } + + const types = args.types ?? ['message', 'notice', 'request']; + + if ( + !Array.isArray(types) || + types.length === 0 || + types.length > 3 || + types.some((type) => !['message', 'notice', 'request'].includes(type)) || + new Set(types).size !== types.length + ) { + throw new EventInputError('types must contain distinct message, notice, or request values'); + } + + return { + selfId: args.self_id, + types: new Set(types), + groupIds: readIds(args.group_ids, 'group_ids'), + userIds: readIds(args.user_ids, 'user_ids'), + }; +} + +function eventType(value: unknown): EventType | undefined { + if (value === 'message' || value === 'message_sent') { + return 'message'; + } + + if (value === 'notice' || value === 'request') { + return value; + } + + return undefined; +} + +function hasSafeDepth(value: Record): boolean { + const pending: Array<{ value: unknown; depth: number }> = [{ value, depth: 0 }]; + + while (pending.length > 0) { + const entry = pending.pop()!; + + if (entry.value === null || typeof entry.value !== 'object') { + continue; + } + + if (entry.depth >= 64) { + return false; + } + + for (const child of Object.values(entry.value)) { + pending.push({ value: child, depth: entry.depth + 1 }); + } + } + + return true; +} + +/** Private, bounded event resources for one stdio client. Constructing does not connect. */ +export class EventSubscriptions { + private readonly options: EventSubscriptionOptions; + private readonly subscriptions = new Map(); + private readonly listeners = new Set<(uri: string) => Promise>(); + private readonly pendingNotifications = new Set(); + private notificationTimer?: ReturnType; + private notifying = false; + private source?: Source; + private closed = false; + + constructor(options: EventSubscriptionOptions) { + this.options = normalizeEventSubscriptionOptions(options); + } + + handlesTool(name: string): boolean { + return EVENT_TOOLS.some((tool) => tool.name === name); + } + + async callTool( + name: string, + args: Record, + signal?: AbortSignal, + ): Promise { + try { + if (signal?.aborted) { + return asError('事件订阅操作已取消。', 'cancelled'); + } + + if (name === 'subscribe_events') { + const subscription = await this.create(filter(args), signal); + return asText(this.snapshot(subscription, undefined)); + } + + if (name === 'unsubscribe_events') { + if ( + typeof args.uri !== 'string' || + Object.keys(args).some((key) => key !== 'uri') + ) { + throw new EventInputError('unsubscribe_events requires only a resource uri'); + } + + this.remove(args.uri); + return asText({ uri: args.uri, unsubscribed: true }); + } + + return asError('Unknown event tool', 'not_found'); + } catch (error) { + if (signal?.aborted) { + return asError('事件订阅操作已取消。', 'cancelled'); + } + + if (error instanceof EventInputError) { + return asError(error.message, 'invalid_arguments'); + } + + // Socket errors can contain URLs and server-controlled strings. Keep + // those out of both tool diagnostics and stderr. + console.error('[snowluma-mcp] event subscription establishment failed'); + return asError( + '事件订阅未建立;检查事件地址、凭据、预期账号及服务端状态。', + 'transport', + ); + } + } + + resources(): Resource[] { + return Array.from(this.subscriptions.values(), ({ uri }) => ({ + uri, + name: 'OneBot live events', + mimeType: 'application/json', + description: + '有界实时事件队列。资源 URI 加 ?after=游标 可增量读取;gap=true 表示事件不完整。', + })); + } + + ownsUri(uri: string): boolean { + return uri.startsWith(PREFIX); + } + + readResource(uri: string): ReadResourceResult { + const { subscription, after } = this.lookup(uri); + return { + contents: [ + { + uri, + mimeType: 'application/json', + text: JSON.stringify(this.snapshot(subscription, after)), + }, + ], + }; + } + + /** Legacy unsubscribe and the explicit tool both release the source lease. */ + remove(uri: string): void { + const { subscription, after } = this.lookup(uri); + + if (after !== undefined) { + throw new EventInputError('Use the canonical event resource URI to unsubscribe'); + } + + this.subscriptions.delete(subscription.uri); + subscription.cancelPending?.(); + this.pendingNotifications.delete(subscription.uri); + + if (this.subscriptions.size === 0) { + this.stopSource(); + } + } + + onUpdate(listener: (uri: string) => Promise): () => void { + this.listeners.add(listener); + return () => this.listeners.delete(listener); + } + + close(): void { + this.closed = true; + this.stopSource(); + this.subscriptions.clear(); + this.listeners.clear(); + this.pendingNotifications.clear(); + clearTimeout(this.notificationTimer); + } + + private lookup(uri: string): { subscription: Subscription; after?: number } { + const match = + /^snowluma:\/\/onebot\/events\/([a-f0-9-]{36})(?:\?after=(0|[1-9]\d*))?$/.exec(uri); + + if (!match) { + throw new EventInputError('Invalid event resource URI'); + } + + const subscription = this.subscriptions.get(`${PREFIX}${match[1]}`); + const after = match[2] === undefined ? undefined : Number(match[2]); + + if (!subscription) { + throw new EventInputError('Event resource not found or already unsubscribed'); + } + + if (after !== undefined && (!Number.isSafeInteger(after) || after > subscription.cursor)) { + throw new EventInputError('Event cursor is beyond the available stream'); + } + + return { subscription, after }; + } + + private snapshot(subscription: Subscription, after: number | undefined) { + const oldest = subscription.events[0]?.cursor ?? subscription.cursor + 1; + return { + uri: subscription.uri, + self_id: subscription.filter.selfId, + status: subscription.status, + ...(subscription.problem ? { problem: subscription.problem } : {}), + next_cursor: subscription.cursor, + oldest_cursor: oldest, + dropped_events: subscription.dropped, + gap: subscription.status === 'disconnected' || (after ?? 0) < oldest - 1, + notification_failed: subscription.notificationFailed, + events: subscription.events + .filter((entry) => after === undefined || entry.cursor > after) + .map(({ cursor, event }) => ({ cursor, event })), + }; + } + + private async create(selected: Filter, signal?: AbortSignal): Promise { + if (this.closed) { + throw new EventInputError('Event resources are closed'); + } + + if (this.subscriptions.size >= MAX_SUBSCRIPTIONS) { + throw new EventInputError(`At most ${MAX_SUBSCRIPTIONS} event resources may be active`); + } + + if (this.source && (this.source.selfId !== selected.selfId || this.source.stopped)) { + throw new EventInputError( + 'Release existing event resources before changing accounts or reconnecting', + ); + } + + const subscription: Subscription = { + uri: `${PREFIX}${randomUUID()}`, + filter: selected, + events: [], + bytes: 0, + cursor: 0, + dropped: 0, + status: 'connecting', + notificationFailed: false, + }; + this.subscriptions.set(subscription.uri, subscription); + let onAbort: (() => void) | undefined; + + try { + const source = this.source ?? this.connect(selected.selfId); + await Promise.race([ + source.ready, + new Promise((_resolve, reject) => { + onAbort = () => reject(new Error('Event subscription cancelled')); + subscription.cancelPending = onAbort; + signal?.addEventListener('abort', onAbort, { once: true }); + + if (signal?.aborted) { + onAbort(); + } + }), + ]); + + if ( + source.stopped || + signal?.aborted || + this.subscriptions.get(subscription.uri) !== subscription + ) { + throw new Error('Event connection unavailable'); + } + + subscription.status = 'connected'; + return subscription; + } catch (error) { + this.subscriptions.delete(subscription.uri); + this.pendingNotifications.delete(subscription.uri); + + if (this.subscriptions.size === 0) { + this.stopSource(); + } + + throw error; + } finally { + subscription.cancelPending = undefined; + + if (onAbort) { + signal?.removeEventListener('abort', onAbort); + } + } + } + + private connect(selfId: number): Source { + let resolve!: () => void; + let reject!: (error: Error) => void; + const ready = new Promise((accept, fail) => { + resolve = accept; + reject = fail; + }); + const socket = new WebSocket(this.options.url, { + headers: this.options.accessToken + ? { Authorization: `Bearer ${this.options.accessToken}` } + : undefined, + maxPayload: MAX_FRAME_BYTES, + handshakeTimeout: this.options.timeoutMs, + followRedirects: false, + perMessageDeflate: false, + }); + const source: Source = { + socket, + selfId, + ready, + resolve, + reject, + verified: false, + stopped: false, + awaitingPong: false, + }; + this.source = source; + source.timer = setTimeout( + () => this.failSource(source, 'connection_timeout'), + this.options.timeoutMs, + ); + source.timer.unref(); + socket.on('message', (raw: RawData, binary: boolean) => this.receive(source, raw, binary)); + socket.on('error', (error: Error & { code?: string }) => + this.failSource( + source, + error.code === 'WS_ERR_UNSUPPORTED_MESSAGE_LENGTH' + ? 'frame_too_large' + : 'connection_failed', + ), + ); + socket.on('close', () => this.failSource(source, 'connection_closed')); + socket.on('pong', () => { + source.awaitingPong = false; + }); + return source; + } + + private receive(source: Source, raw: RawData, binary: boolean): void { + if (source.stopped || source !== this.source) { + return; + } + + let event: unknown; + let byteLength: number; + + try { + if (binary) { + throw new Error('Binary event frame'); + } + + const bytes = Array.isArray(raw) + ? Buffer.concat(raw) + : raw instanceof ArrayBuffer + ? Buffer.from(raw) + : raw; + byteLength = bytes.length; + event = JSON.parse(bytes.toString('utf8')); + } catch { + this.failSource(source, 'invalid_event'); + return; + } + + if ( + !record(event) || + !id(event.self_id) || + typeof event.post_type !== 'string' || + !hasSafeDepth(event) + ) { + this.failSource(source, 'invalid_event'); + return; + } + + if (event.self_id !== source.selfId) { + this.failSource(source, 'account_mismatch'); + return; + } + + if (!source.verified) { + source.verified = true; + clearTimeout(source.timer); + source.heartbeat = setInterval(() => { + if (source.stopped) { + return; + } + + if (source.awaitingPong) { + this.failSource(source, 'connection_timeout'); + return; + } + + source.awaitingPong = true; + source.socket.ping(); + }, 30_000); + source.heartbeat.unref(); + source.resolve(); + + for (const subscription of this.subscriptions.values()) { + subscription.status = 'connected'; + this.updated(subscription.uri); + } + } + + const type = eventType(event.post_type); + + if (!type) { + return; + } + + for (const subscription of this.subscriptions.values()) { + const selected = subscription.filter; + + if ( + !selected.types.has(type) || + (selected.groupIds && + (!id(event.group_id) || !selected.groupIds.has(event.group_id))) || + (selected.userIds && (!id(event.user_id) || !selected.userIds.has(event.user_id))) + ) { + continue; + } + + subscription.events.push({ cursor: ++subscription.cursor, event, bytes: byteLength }); + subscription.bytes += byteLength; + + while ( + subscription.events.length > MAX_BUFFER_EVENTS || + subscription.bytes > MAX_BUFFER_BYTES + ) { + const dropped = subscription.events.shift()!; + subscription.bytes -= dropped.bytes; + subscription.dropped++; + } + + this.updated(subscription.uri); + } + } + + private failSource(source: Source, problem: SourceProblem): void { + if (source.stopped) { + return; + } + + source.stopped = true; + clearTimeout(source.timer); + clearInterval(source.heartbeat); + source.reject(new Error('Event source unavailable')); + source.socket.terminate(); + console.error('[snowluma-mcp] event source stopped: %s', problem); + + for (const subscription of this.subscriptions.values()) { + subscription.status = 'disconnected'; + subscription.problem = problem; + this.updated(subscription.uri); + } + } + + private stopSource(): void { + if (!this.source) { + return; + } + + const source = this.source; + source.stopped = true; + clearTimeout(source.timer); + clearInterval(source.heartbeat); + source.reject(new Error('Event source closed')); + source.socket.terminate(); + this.source = undefined; + } + + private updated(uri: string): void { + this.pendingNotifications.add(uri); + + if (this.notificationTimer || this.notifying || this.closed) { + return; + } + + this.notificationTimer = setTimeout(() => { + this.notificationTimer = undefined; + void this.flushNotifications(); + }, 25); + this.notificationTimer.unref(); + } + + private async flushNotifications(): Promise { + this.notifying = true; + const uris = Array.from(this.pendingNotifications); + this.pendingNotifications.clear(); + + try { + for (const uri of uris) { + if (!this.subscriptions.has(uri)) { + continue; + } + + for (const listener of this.listeners) { + try { + await listener(uri); + } catch { + const subscription = this.subscriptions.get(uri); + + if (subscription) { + subscription.notificationFailed = true; + } + + console.error('[snowluma-mcp] event resource notification failed'); + } + } + } + } finally { + this.notifying = false; + + if (!this.closed && this.pendingNotifications.size > 0) { + this.updated(this.pendingNotifications.values().next().value!); + } + } + } +} diff --git a/packages/mcp/src/tasks.ts b/packages/mcp/src/tasks.ts new file mode 100644 index 00000000..49671d78 --- /dev/null +++ b/packages/mcp/src/tasks.ts @@ -0,0 +1,956 @@ +import { randomUUID } from 'node:crypto'; +import { constants } from 'node:fs'; +import { lstat, mkdir, open, readdir, realpath, rename, unlink } from 'node:fs/promises'; +import { hostname } from 'node:os'; +import path from 'node:path'; +import { + ProtocolError, + ProtocolErrorCode, + specTypeSchemas, + type CallToolResult, + type InputRequests, + type InputResponses, + type Server, + type ServerContext, + type StandardSchemaV1, +} from '@modelcontextprotocol/server'; + +// The 2026 Tasks extension is server-directed and has get/update/cancel, +// not the deprecated 2025 tasks/result or tasks/list methods. +export const TASK_EXTENSION = 'io.modelcontextprotocol/tasks'; +export const TASK_CAPABILITIES = { extensions: { [TASK_EXTENSION]: {} } }; +const ID = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/; +const MAX_RECORD_BYTES = 16 * 1024 * 1024; +const INTERRUPTED = 'Task interrupted; remote outcome is unknown. Work was not replayed.'; +const CANCELLED = 'Task cancelled; cancellation does not undo remote effects.'; +const CANCELLATION_REQUESTED = 'Cancellation requested; remote effects may already have occurred.'; + +interface TaskBase { + taskId: string; + createdAt: string; + lastUpdatedAt: string; + ttlMs: null; + pollIntervalMs: number; + statusMessage?: string; +} + +export type PersistentTask = TaskBase & + ( + | { status: 'working' } + | { status: 'input_required'; inputRequests: InputRequests } + | { status: 'completed'; result: CallToolResult & { resultType: 'complete' } } + | { status: 'failed'; error: { code: number; message: string; data?: unknown } } + | { status: 'cancelled' } + ); + +export type TaskSummary = TaskBase & { status: PersistentTask['status'] }; +export type TaskHandle = TaskSummary & { resultType: 'task'; content: [] }; + +export interface TaskExecutionContext { + taskId: string; + signal: AbortSignal; + requestInput(requests: InputRequests): Promise; +} + +export interface TaskStoreOptions { + /** Stable, non-secret digest of the configured account/endpoint and access mode. */ + scopeId: string; + onChange?: (task: PersistentTask) => void | Promise; + onError?: (error: Error, context: { event: string; taskId?: string }) => void; + maxConcurrent?: number; +} + +interface PendingInput { + outstanding: InputRequests; + responses: InputResponses; + resolve: (responses: InputResponses) => void; + reject: (error: Error) => void; +} + +interface ActiveTask { + controller: AbortController; + usedInputKeys: Set; + input?: PendingInput; +} + +function object(value: unknown): value is Record { + return typeof value === 'object' && value !== null && !Array.isArray(value); +} + +export function supportsTasks(meta?: Readonly>): boolean { + const capabilities = meta?.['io.modelcontextprotocol/clientCapabilities']; + + if (!object(capabilities) || !object(capabilities.extensions)) { + return false; + } + + const extension = capabilities.extensions[TASK_EXTENSION]; + return object(extension) && Object.keys(extension).length === 0; +} + +function requireTasks(ctx: ServerContext, version: string | undefined): void { + if (!version || version < '2026-07-28' || !supportsTasks(ctx.mcpReq.envelope)) { + throw new ProtocolError(-32021, 'The request must declare the Tasks extension capability', { + requiredCapabilities: TASK_CAPABILITIES, + }); + } +} + +function taskId(value: unknown): string { + if (typeof value !== 'string' || !ID.test(value)) { + throw new ProtocolError(ProtocolErrorCode.InvalidParams, 'Invalid task identifier'); + } + + return value; +} + +function summary(task: PersistentTask): TaskSummary { + const { taskId, status, createdAt, lastUpdatedAt, ttlMs, pollIntervalMs, statusMessage } = task; + return { + taskId, + status, + createdAt, + lastUpdatedAt, + ttlMs, + pollIntervalMs, + ...(statusMessage ? { statusMessage } : {}), + }; +} + +function terminal(task: PersistentTask): boolean { + return task.status === 'completed' || task.status === 'failed' || task.status === 'cancelled'; +} + +function errorCode(error: unknown): string | undefined { + return object(error) && typeof error.code === 'string' ? error.code : undefined; +} + +async function readPrivateJson(file: string): Promise { + const stat = await lstat(file); + + if ( + !stat.isFile() || + stat.isSymbolicLink() || + (process.platform !== 'win32' && (stat.mode & 0o077) !== 0) + ) { + throw new Error('Task storage file must be a private regular file'); + } + + if (stat.size > MAX_RECORD_BYTES) { + throw new Error('Task storage record exceeds its size limit'); + } + + const handle = await open(file, constants.O_RDONLY | (constants.O_NOFOLLOW ?? 0)); + + try { + const contents = await handle.readFile('utf8'); + + try { + return JSON.parse(contents); + } catch { + throw new Error('Invalid JSON in task storage'); + } + } finally { + await handle.close(); + } +} + +function validateRecord(value: unknown): PersistentTask { + if (!object(value) || value.version !== 1 || !object(value.task)) { + throw new Error('Invalid task storage record'); + } + + const task = value.task; + taskId(task.taskId); + + if ( + typeof task.createdAt !== 'string' || + !Number.isFinite(Date.parse(task.createdAt)) || + typeof task.lastUpdatedAt !== 'string' || + !Number.isFinite(Date.parse(task.lastUpdatedAt)) || + task.ttlMs !== null || + task.pollIntervalMs !== 1000 || + (task.statusMessage !== undefined && typeof task.statusMessage !== 'string') + ) { + throw new Error('Invalid task storage metadata'); + } + + const base: TaskBase = { + taskId: taskId(task.taskId), + createdAt: task.createdAt, + lastUpdatedAt: task.lastUpdatedAt, + ttlMs: null, + pollIntervalMs: 1000, + ...(typeof task.statusMessage === 'string' ? { statusMessage: task.statusMessage } : {}), + }; + + switch (task.status) { + case 'working': + return { ...base, status: 'working' }; + + case 'input_required': { + // In-flight work is never resumed, but corruption must not be hidden. + const requests = validateInputRequests(task.inputRequests); + return { ...base, status: 'input_required', inputRequests: requests }; + } + + case 'cancelled': + return { ...base, status: 'cancelled' }; + + case 'failed': { + if ( + !object(task.error) || + !Number.isSafeInteger(task.error.code) || + typeof task.error.message !== 'string' + ) { + throw new Error('Invalid persisted task error'); + } + + return { + ...base, + status: 'failed', + error: { + code: Number(task.error.code), + message: task.error.message, + ...(task.error.data !== undefined ? { data: task.error.data } : {}), + }, + }; + } + + case 'completed': { + const validated = specTypeSchemas.CallToolResult['~standard'].validate(task.result); + + if (validated.issues) { + throw new Error('Invalid persisted task result'); + } + + return { + ...base, + status: 'completed', + result: { ...validated.value, resultType: 'complete' }, + }; + } + + default: + throw new Error('Unknown persisted task status'); + } +} + +function validateInputRequests(value: unknown): InputRequests { + if (!object(value) || Object.keys(value).length === 0) { + throw new Error('Task input requests must be a non-empty object'); + } + + const requests: InputRequests = Object.create(null); + + for (const [key, request] of Object.entries(value)) { + if (!object(request)) { + throw new Error('Invalid task input request'); + } + + const schema = + request.method === 'elicitation/create' + ? specTypeSchemas.ElicitRequest + : request.method === 'sampling/createMessage' + ? specTypeSchemas.CreateMessageRequest + : request.method === 'roots/list' + ? specTypeSchemas.ListRootsRequest + : undefined; + const parsed = schema?.['~standard'].validate(request); + + if (!parsed || parsed.issues) { + throw new Error('Invalid task input request'); + } + + requests[key] = parsed.value; + } + + return requests; +} + +/** One runtime owns one private directory; callbacks and credentials are never persisted. */ +export class PersistentTasks { + private readonly records = new Map(); + private readonly active = new Map(); + private queue: Promise = Promise.resolve(); + private notifications: Promise = Promise.resolve(); + private closed = false; + private closingRequested = false; + private leaseReleased = false; + private persistenceError?: Error; + private constructor( + private readonly directory: string, + private readonly lease: string, + private readonly options: TaskStoreOptions, + ) {} + + static async open(directory: string, options: TaskStoreOptions): Promise { + if (!path.isAbsolute(directory) || !/^[a-f0-9]{64}$/.test(options.scopeId)) { + throw new Error( + 'Task storage requires an absolute directory and a SHA-256 scope identifier', + ); + } + + if ( + options.maxConcurrent !== undefined && + (!Number.isSafeInteger(options.maxConcurrent) || options.maxConcurrent < 1) + ) { + throw new Error('Task concurrency must be a positive integer'); + } + + await mkdir(directory, { recursive: true, mode: 0o700 }); + const stat = await lstat(directory); + + if ( + !stat.isDirectory() || + stat.isSymbolicLink() || + (process.platform !== 'win32' && (stat.mode & 0o077) !== 0) + ) { + throw new Error( + 'Task storage directory must be private (0700) and cannot be a symlink', + ); + } + + const resolved = await realpath(directory); + const lease = `.lease-${randomUUID()}.json`; + const store = new PersistentTasks(resolved, lease, options); + + try { + await store.save(lease, { pid: process.pid, host: hostname() }); + + // Publishing our lease before inspecting peers makes concurrent starts + // mutually exclusive. A dead owner's lease is recoverable after a crash. + for (const name of await readdir(resolved)) { + if (!/^\.lease-[a-f0-9-]+\.json$/.test(name) || name === lease) { + continue; + } + + let owner: unknown; + + try { + owner = await readPrivateJson(path.join(resolved, name)); + } catch (error) { + if (errorCode(error) === 'ENOENT') { + continue; + } + + throw error; + } + + if ( + !object(owner) || + !Number.isSafeInteger(owner.pid) || + Number(owner.pid) <= 0 || + owner.host !== hostname() + ) { + throw new Error('Task storage has an invalid or foreign-host lock'); + } + + try { + process.kill(Number(owner.pid), 0); + throw new Error('Task storage is locked by another runtime'); + } catch (error) { + if (errorCode(error) !== 'ESRCH') { + throw error; + } + } + + await unlink(path.join(resolved, name)).catch((error: unknown) => { + if (errorCode(error) !== 'ENOENT') { + throw error; + } + }); + store.report('recovered_stale_lock'); + } + + const entries = await readdir(resolved); + + if (entries.includes('scope.json')) { + const scope = await readPrivateJson(path.join(resolved, 'scope.json')); + + if (!object(scope) || scope.version !== 1 || scope.scopeId !== options.scopeId) { + throw new Error( + 'Task storage belongs to a different account or permission scope', + ); + } + } else { + if (entries.some((name) => name.endsWith('.task.json'))) { + throw new Error('Task storage is missing its scope record'); + } + + await store.save('scope.json', { version: 1, scopeId: options.scopeId }); + } + + for (const name of entries) { + if (!name.endsWith('.task.json')) { + continue; + } + + const id = taskId(name.slice(0, -10)); + let task = validateRecord(await readPrivateJson(path.join(resolved, name))); + + if (task.taskId !== id) { + throw new Error('Task storage identifier mismatch'); + } + + if (!terminal(task)) { + task = { + ...summary(task), + status: 'failed', + lastUpdatedAt: new Date().toISOString(), + statusMessage: INTERRUPTED, + error: { code: -32603, message: INTERRUPTED }, + }; + await store.save(name, { version: 1, task }); + store.report('interrupted_task_not_replayed', id); + } + + store.records.set(id, task); + } + + return store; + } catch (error) { + await unlink(path.join(resolved, lease)).catch((cleanupError: unknown) => { + if (errorCode(cleanupError) !== 'ENOENT') { + throw new AggregateError( + [error, cleanupError], + 'Task startup and lock cleanup failed', + ); + } + }); + throw error; + } + } + + private report(event: string, id?: string): void { + const error = new Error(`Task runtime: ${event}`); + + if (this.options.onError) { + try { + this.options.onError(error, { event, ...(id ? { taskId: id } : {}) }); + } catch { + console.error('[snowluma-mcp] task diagnostic callback failed'); + } + } else { + console.error( + '[snowluma-mcp] %s', + JSON.stringify({ event, ...(id ? { taskId: id } : {}) }), + ); + } + } + + private async save(name: string, data: unknown): Promise { + const serialized = JSON.stringify(data); + + if (Buffer.byteLength(serialized) > MAX_RECORD_BYTES) { + throw new Error('Task record exceeds its size limit'); + } + + const temporary = path.join(this.directory, `.tmp-${randomUUID()}`); + const file = await open(temporary, 'wx', 0o600); + + try { + await file.writeFile(serialized); + await file.sync(); + } finally { + await file.close(); + } + + await rename(temporary, path.join(this.directory, name)); + + // Windows does not support opening directories for fsync. + if (process.platform !== 'win32') { + const directory = await open(this.directory, 'r'); + + try { + await directory.sync(); + } finally { + await directory.close(); + } + } + } + + private serial(operation: () => Promise): Promise { + const next = this.queue.then(operation); + this.queue = next.then( + () => undefined, + () => undefined, + ); + return next; + } + + private async put(task: PersistentTask): Promise { + try { + await this.save(`${task.taskId}.task.json`, { version: 1, task }); + } catch (error) { + this.persistenceError = new Error( + 'Task persistence failed; stop using this runtime and inspect its storage', + { cause: error }, + ); + throw this.persistenceError; + } + + this.records.set(task.taskId, task); + + if (this.options.onChange) { + const snapshot = structuredClone(task); + // Subscription backpressure must not block durable state or cancel. + this.notifications = this.notifications + .then(() => this.options.onChange?.(snapshot)) + .catch(() => { + this.report('task_notification_failed', task.taskId); + }); + } + } + + get(id: string): PersistentTask { + if (this.persistenceError) { + throw this.persistenceError; + } + + const task = this.records.get(taskId(id)); + + if (!task) { + throw new ProtocolError(ProtocolErrorCode.InvalidParams, 'Unknown task identifier'); + } + + return structuredClone(task); + } + + list(options: { cursor?: string; limit?: number } = {}): { + tasks: TaskSummary[]; + nextCursor?: string; + } { + if (this.persistenceError) { + throw this.persistenceError; + } + + const limit = options.limit ?? 50; + + if (!Number.isSafeInteger(limit) || limit < 1 || limit > 100) { + throw new ProtocolError( + ProtocolErrorCode.InvalidParams, + 'Task page size must be between 1 and 100', + ); + } + + const entries = [...this.records.values()].sort( + (a, b) => a.createdAt.localeCompare(b.createdAt) || a.taskId.localeCompare(b.taskId), + ); + const previous = + options.cursor === undefined + ? -1 + : entries.findIndex((task) => task.taskId === taskId(options.cursor)); + + if (options.cursor !== undefined && previous < 0) { + throw new ProtocolError(ProtocolErrorCode.InvalidParams, 'Unknown task cursor'); + } + + const page = entries.slice(previous + 1, previous + 1 + limit); + return { + tasks: page.map(summary), + ...(previous + 1 + page.length < entries.length + ? { nextCursor: page.at(-1)!.taskId } + : {}), + }; + } + + async start( + execute: (context: TaskExecutionContext) => Promise, + ): Promise { + if (this.closingRequested) { + throw new Error('Task runtime is closed'); + } + + const task = await this.serial(async () => { + if (this.closed) { + throw new Error('Task runtime is closed'); + } + + if (this.persistenceError) { + throw this.persistenceError; + } + + if (this.active.size >= (this.options.maxConcurrent ?? 4)) { + throw new Error('Task concurrency limit reached'); + } + + const now = new Date().toISOString(); + const task: PersistentTask = { + taskId: randomUUID(), + status: 'working', + createdAt: now, + lastUpdatedAt: now, + ttlMs: null, + pollIntervalMs: 1000, + }; + await this.put(task); + this.active.set(task.taskId, { + controller: new AbortController(), + usedInputKeys: new Set(), + }); + return task; + }); + // Persist the handle before starting a callback that can have side effects. + void this.run(task.taskId, execute); + return { ...summary(task), resultType: 'task', content: [] }; + } + + private async run( + id: string, + execute: (context: TaskExecutionContext) => Promise, + ): Promise { + // close() owns pending records too; keep them registered until it has + // durably marked their outcome instead of dropping them in finally. + if (this.closingRequested) { + return; + } + + const active = this.active.get(id)!; + + try { + if (this.persistenceError) { + throw this.persistenceError; + } + + if (active.controller.signal.aborted) { + throw active.controller.signal.reason; + } + + const result = await execute({ + taskId: id, + signal: active.controller.signal, + requestInput: (requests) => this.requestInput(id, requests), + }); + const validated = specTypeSchemas.CallToolResult['~standard'].validate(result); + + if (validated.issues) { + throw new Error('Invalid task execution result'); + } + + await this.serial(async () => { + if (this.closed || terminal(this.get(id))) { + return; + } + + // A successful late completion can win a cooperative cancellation. + await this.put({ + ...summary(this.get(id)), + status: 'completed', + statusMessage: undefined, + lastUpdatedAt: new Date().toISOString(), + result: { ...validated.value, resultType: 'complete' }, + }); + }); + } catch (error) { + try { + await this.serial(async () => { + if (this.closed || terminal(this.get(id))) { + return; + } + + const base = { + ...summary(this.get(id)), + lastUpdatedAt: new Date().toISOString(), + }; + await this.put( + active.controller.signal.aborted + ? { ...base, status: 'cancelled', statusMessage: CANCELLED } + : { + ...base, + status: 'failed', + statusMessage: + 'Task execution failed; check the correlated call diagnostics.', + error: { + code: error instanceof ProtocolError ? error.code : -32603, + message: + error instanceof ProtocolError + ? error.message + : 'Task execution failed; remote outcome may be unknown.', + ...(error instanceof ProtocolError && error.data !== undefined + ? { data: error.data } + : {}), + }, + }, + ); + }); + } catch { + this.report('task_persistence_failed', id); + } + + if (!active.controller.signal.aborted) { + this.report('task_execution_failed', id); + } + } finally { + active.input?.reject(new Error('Task execution ended')); + this.active.delete(id); + } + } + + private async requestInput(id: string, requests: InputRequests): Promise { + const validated = validateInputRequests(requests); + const pending = await this.serial(async () => { + const active = this.active.get(id); + + if ( + !active || + active.controller.signal.aborted || + this.closed || + terminal(this.get(id)) + ) { + throw new Error(CANCELLED); + } + + if (active.input) { + throw new Error('Task already has pending input'); + } + + if (Object.keys(validated).some((key) => active.usedInputKeys.has(key))) { + throw new Error('Task input keys must be unique for its entire lifetime'); + } + + await this.put({ + ...summary(this.get(id)), + status: 'input_required', + lastUpdatedAt: new Date().toISOString(), + inputRequests: validated, + }); + let resolve!: (responses: InputResponses) => void; + let reject!: (error: Error) => void; + const promise = new Promise((yes, no) => { + resolve = yes; + reject = no; + }); + active.input = { + outstanding: validated, + responses: Object.create(null), + resolve, + reject, + }; + + for (const key of Object.keys(validated)) { + active.usedInputKeys.add(key); + } + + return { promise }; + }); + return pending.promise; + } + + async update(id: string, responses: unknown): Promise { + if (!object(responses)) { + throw new ProtocolError( + ProtocolErrorCode.InvalidParams, + 'Input responses must be an object', + ); + } + + await this.serial(async () => { + if (this.closed) { + throw new Error('Task runtime is closed'); + } + + const task = this.get(id); + const active = this.active.get(id); + const pending = active?.input; + + if (task.status !== 'input_required' || !pending) { + return; + } + + const accepted: InputResponses = Object.create(null); + + for (const [key, response] of Object.entries(responses)) { + if (!Object.hasOwn(pending.outstanding, key)) { + continue; + } + + const request = pending.outstanding[key]; + + if (!request) { + continue; + } + + const schema = + request.method === 'elicitation/create' + ? specTypeSchemas.ElicitResult + : request.method === 'sampling/createMessage' + ? specTypeSchemas.CreateMessageResult + : specTypeSchemas.ListRootsResult; + const parsed = schema['~standard'].validate(response); + + if (parsed.issues) { + throw new ProtocolError( + ProtocolErrorCode.InvalidParams, + 'Invalid task input response', + ); + } + + accepted[key] = parsed.value; + } + + if (Object.keys(accepted).length === 0) { + return; + } + + const outstanding = { ...pending.outstanding }; + + for (const key of Object.keys(accepted)) { + delete outstanding[key]; + } + + const done = Object.keys(outstanding).length === 0; + await this.put( + done + ? { + ...summary(task), + status: 'working', + lastUpdatedAt: new Date().toISOString(), + } + : { + ...summary(task), + status: 'input_required', + lastUpdatedAt: new Date().toISOString(), + inputRequests: outstanding, + }, + ); + Object.assign(pending.responses, accepted); + pending.outstanding = outstanding; + + if (done) { + active.input = undefined; + pending.resolve(pending.responses); + } + }); + } + + async cancel(id: string): Promise { + await this.serial(async () => { + if (this.closed) { + throw new Error('Task runtime is closed'); + } + + const task = this.get(id); + + if (terminal(task)) { + return; + } + + const active = this.active.get(id); + + if (!active) { + throw new Error('Task execution is unavailable'); + } + + await this.put({ + ...task, + lastUpdatedAt: new Date().toISOString(), + statusMessage: CANCELLATION_REQUESTED, + }); + active.controller.abort(new Error(CANCELLED)); + active.input?.reject(new Error(CANCELLED)); + }); + } + + async close(): Promise { + this.closingRequested = true; + await this.serial(async () => { + if (this.leaseReleased) { + return; + } + + this.closed = true; + const activeTasks = [...this.active.entries()]; + + // Abort all executions even when persistence has failed. Failed writes + // still reject close; a later process will terminate the durable state. + for (const [, active] of activeTasks) { + active.controller.abort(new Error(INTERRUPTED)); + active.input?.reject(new Error(INTERRUPTED)); + } + + let failure: unknown; + + for (const [id] of activeTasks) { + const task = this.records.get(id)!; + + try { + if (!terminal(task)) { + await this.put({ + ...summary(task), + status: 'failed', + lastUpdatedAt: new Date().toISOString(), + statusMessage: INTERRUPTED, + error: { code: -32603, message: INTERRUPTED }, + }); + } + } catch (error) { + failure ??= error; + } + } + + await unlink(path.join(this.directory, this.lease)); + this.leaseReleased = true; + this.active.clear(); + + if (failure) { + throw failure; + } + }); + } +} + +const taskParams: StandardSchemaV1 = { + '~standard': { + version: 1 as const, + vendor: 'snowluma', + validate(value: unknown) { + if (!object(value) || typeof value.taskId !== 'string' || !ID.test(value.taskId)) { + return { issues: [{ message: 'Invalid task identifier' }] }; + } + + return { value: { taskId: value.taskId } }; + }, + }, +}; + +export function installTaskHandlers( + server: Server, + tasks: PersistentTasks, + options: { authorize?: (ctx: ServerContext) => void } = {}, +): void { + const authorize = (ctx: ServerContext) => { + requireTasks(ctx, server.getNegotiatedProtocolVersion()); + options.authorize?.(ctx); + }; + + server.registerCapabilities(TASK_CAPABILITIES); + server.setRequestHandler('tasks/get', { params: taskParams }, (params, ctx) => { + authorize(ctx); + return { ...tasks.get(params.taskId) }; + }); + server.setRequestHandler('tasks/cancel', { params: taskParams }, async (params, ctx) => { + authorize(ctx); + await tasks.cancel(params.taskId); + return {}; + }); + server.setRequestHandler('tasks/update', { params: taskParams }, async (params, ctx) => { + authorize(ctx); + const task = tasks.get(params.taskId); + const invalidOutstanding = + task.status === 'input_required' && + ctx.mcpReq.droppedInputResponseKeys?.some((key) => + Object.hasOwn(task.inputRequests, key), + ); + + if (!ctx.mcpReq.inputResponses || invalidOutstanding) { + throw new ProtocolError( + ProtocolErrorCode.InvalidParams, + 'Invalid task input responses', + ); + } + + await tasks.update(params.taskId, ctx.mcpReq.inputResponses); + return {}; + }); +} diff --git a/packages/mcp/src/tools.ts b/packages/mcp/src/tools.ts new file mode 100644 index 00000000..b4172b84 --- /dev/null +++ b/packages/mcp/src/tools.ts @@ -0,0 +1,445 @@ +// Tool surface for the MCP — kept free of any stdio / transport / env concerns +// so it is directly unit-testable. `server.ts` reads the environment, builds a +// client, and wires `computeTools` / `callTool` into the MCP request handlers. +// +// Two execution tools partition the action space by side-effect: +// • query_action — read-only actions only (readOnlyHint) +// • invoke_action — any known action (destructiveHint, write mode) +// Visibility is gated by `mode`, and `callTool` RE-checks every permission +// (defense in depth: a client may call a tool that was never listed). + +import type { Tool } from '@modelcontextprotocol/server'; +import { ACTIONS, CATEGORIES } from './generated/catalog.js'; +import type { CatalogAction } from './types.js'; +import type { ActionClient } from './client.js'; +import { MCP_UPLOAD_OWNED_FIELDS } from './client.js'; +import { discover, FILTER_PROPERTIES } from './discovery.js'; +import { + asText, + asError, + envelopeDiagnostics, + executionError, + RESULT_SCHEMA, + type Diagnostics, + type StructuredResult, +} from './results.js'; +import { VERSION } from './version.js'; +import type { TransferProgress } from './client.js'; +import type { TraceContext } from './tracing.js'; + +export type Mode = 'docs' | 'read' | 'write'; + +export function parseMode(raw: string | undefined): Mode | undefined { + if (raw === undefined) { + return undefined; + } + + const value = raw.trim().toLowerCase(); + + if (value === 'docs' || value === 'read' || value === 'write') { + return value; + } + + throw new Error('SNOWLUMA_MCP_MODE must be one of: docs, read, write'); +} + +// name + every alias → action, so lookups accept aliases too. +const byName = new Map(); + +for (const a of ACTIONS) { + for (const n of [a.name, ...a.aliases]) { + byName.set(n, a); + } +} + +const DOCS_TOOLS: Tool[] = [ + { + name: 'list_actions', + description: + '列出 OneBot action,支持分类、读写类型、流式类型筛选和可选分页。省略分页时返回全部匹配项。', + inputSchema: { + type: 'object', + properties: { + ...FILTER_PROPERTIES, + }, + additionalProperties: false, + }, + annotations: { readOnlyHint: true, openWorldHint: false }, + }, + { + name: 'get_action', + description: + '获取 action 文档、参数与返回数据 JSON Schema、约束和调用示例。示例中的标识和路径需替换;流式返回结构描述单帧数据。', + inputSchema: { + type: 'object', + properties: { name: { type: 'string', description: 'action 名(接受别名)' } }, + required: ['name'], + additionalProperties: false, + }, + annotations: { readOnlyHint: true, openWorldHint: false }, + }, + { + name: 'search_actions', + description: + '按名称、摘要或别名搜索 action。默认保留子串匹配;match=keywords 启用多关键词和常用中英文同义词,支持筛选及分页。', + inputSchema: { + type: 'object', + properties: { + query: { type: 'string', description: '关键字;keywords 模式可用空格分隔多个词' }, + match: { + type: 'string', + enum: ['substring', 'keywords'], + description: '默认 substring', + }, + ...FILTER_PROPERTIES, + }, + required: ['query'], + additionalProperties: false, + }, + annotations: { readOnlyHint: true, openWorldHint: false }, + }, + { + name: 'list_categories', + description: '列出所有分类及其 action 数量。', + inputSchema: { type: 'object', properties: {}, additionalProperties: false }, + annotations: { readOnlyHint: true, openWorldHint: false }, + }, + { + name: 'get_runtime_info', + description: + '查看当前 MCP 模式、执行能力、文件限制和目录版本。默认不访问服务端;check_connection=true 仅在执行模式主动查询登录账号、状态和版本。静态目录不代表服务端支持全部动作。', + inputSchema: { + type: 'object', + properties: { + check_connection: { + type: 'boolean', + description: '主动进行三项只读查询,默认 false', + }, + }, + additionalProperties: false, + }, + annotations: { readOnlyHint: true, openWorldHint: true }, + }, +]; + +const EXEC_INPUT_SCHEMA = { + type: 'object' as const, + properties: { + action: { + type: 'string', + description: 'action 名(接受别名)。先用 get_action 查它的参数 inputSchema。', + }, + params: { type: 'object', description: '该 action 的参数对象', additionalProperties: true }, + execution: { + type: 'object', + description: 'MCP 主机侧执行选项(不会发送为 OneBot params)。自动上传本地文件时使用。', + properties: { + input_file: { + type: 'string', + description: + 'MCP 主机上的文件路径。仅用于 upload_file_stream,且必须位于 SNOWLUMA_MCP_UPLOAD_ROOT。', + }, + }, + additionalProperties: false, + }, + }, + required: ['action'], + additionalProperties: false, +}; + +function queryTool(): Tool { + return { + name: 'query_action', + description: + '调用一个【只读】OneBot action(如 get_*/can_*)并返回完整响应。仅接受只读 action;写操作请用 invoke_action。', + inputSchema: EXEC_INPUT_SCHEMA, + annotations: { readOnlyHint: true, openWorldHint: true }, + }; +} + +function invokeTool(): Tool { + return { + name: 'invoke_action', + description: + '调用一个 OneBot action(可产生副作用)。Stream 下载会写入 MCP 主机受控目录并只返回文件元数据;upload_file_stream 可用 execution.input_file 自动分块上传。仅在写模式可用。', + inputSchema: EXEC_INPUT_SCHEMA, + annotations: { readOnlyHint: false, destructiveHint: true, openWorldHint: true }, + }; +} + +/** Tools visible for a given mode: docs always; +query in read/write; +invoke in write. */ +export function computeTools(mode: Mode): Tool[] { + const tools: Tool[] = [...DOCS_TOOLS]; + + if (mode === 'read' || mode === 'write') { + tools.push(queryTool()); + } + + if (mode === 'write') { + tools.push(invokeTool()); + } + + return tools.map((tool) => ({ ...tool, outputSchema: RESULT_SCHEMA })); +} + +export type ToolResult = StructuredResult; + +export interface CallCtx { + mode: Mode; + client?: ActionClient; + signal?: AbortSignal; + trace?: TraceContext; + onProgress?: (progress: TransferProgress) => Promise; +} + +export async function callTool( + name: string, + args: Record, + ctx: CallCtx, +): Promise { + switch (name) { + case 'list_actions': + case 'search_actions': { + try { + return asText(discover(ACTIONS, args, name === 'search_actions')); + } catch (error) { + return asError(error instanceof Error ? error.message : String(error)); + } + } + + case 'get_action': { + const q = typeof args.name === 'string' ? args.name : ''; + const action = byName.get(q); + + if (!action) { + return asError( + `未找到 action: ${JSON.stringify(q)}。用 list_actions / search_actions 查可用项。`, + 'not_found', + '使用 list_actions / search_actions 查找动作。', + ); + } + + return asText(action); + } + + case 'list_categories': + return asText(CATEGORIES); + case 'get_runtime_info': + return runtimeInfo(args, ctx); + case 'query_action': + return execute(args, ctx, 'read'); + case 'invoke_action': + return execute(args, ctx, 'write'); + default: + return asError(`未知工具: ${name}`, 'not_found', '使用 tools/list 查看可用工具。'); + } +} + +export interface PreparedActionCall { + action: string; + params: Record; + inputFile?: string; + catalog: CatalogAction; + client: ActionClient; + inputSchema: Record; +} + +/** The same side-effect-free gate is used before execution and input collection. */ +export function prepareActionCall( + args: Record, + ctx: CallCtx, + kind: 'read' | 'write', +): PreparedActionCall | ToolResult { + if (kind === 'write' && ctx.mode !== 'write') { + return asError( + '写操作未启用:需设置 SNOWLUMA_MCP_MODE=write。', + 'permission', + '需要写操作时,请由操作者明确启用 write 模式。', + ); + } + + if (kind === 'read' && ctx.mode !== 'read' && ctx.mode !== 'write') { + return asError( + '执行未启用:需配置 SNOWLUMA_MCP_ENDPOINT。', + 'permission', + '配置端点并选择 read 或 write 模式后重启 MCP。', + ); + } + + if (!ctx.client) { + return asError( + '未配置 OneBot 端点(SNOWLUMA_MCP_ENDPOINT),无法执行。', + 'configuration', + '检查 MCP 端点配置。', + ); + } + + const action = typeof args.action === 'string' ? args.action : ''; + const cat = byName.get(action); + + if (!cat) { + return asError( + `未知 action: ${JSON.stringify(action)}。用 list_actions / search_actions 查可用项。`, + 'not_found', + '使用 list_actions / search_actions 查找动作。', + ); + } + + if (kind === 'read' && !cat.readOnly) { + return asError( + `${action} 是写操作,不能用 query_action;请用 invoke_action(需 SNOWLUMA_MCP_MODE=write)。`, + 'permission', + '需写模式和 invoke_action;不要通过只读工具绕过写操作限制。', + ); + } + + if ( + args.params !== undefined && + (args.params === null || typeof args.params !== 'object' || Array.isArray(args.params)) + ) { + return asError('params 必须是对象。'); + } + + const params = (args.params ?? {}) as Record; + let inputFile: string | undefined; + + if (args.execution !== undefined) { + if ( + !args.execution || + typeof args.execution !== 'object' || + Array.isArray(args.execution) + ) { + return asError('execution 必须是对象。'); + } + + const execution = args.execution as Record; + const unknown = Object.keys(execution).filter((key) => key !== 'input_file'); + + if (unknown.length) { + return asError(`未知 MCP execution 选项: ${unknown.join(', ')}`); + } + + if (execution.input_file !== undefined) { + if (typeof execution.input_file !== 'string' || !execution.input_file.trim()) { + return asError('execution.input_file 必须是非空字符串。'); + } + + inputFile = execution.input_file; + } + } + + if (inputFile && cat.name !== 'upload_file_stream') { + return asError('execution.input_file 仅可用于 upload_file_stream。'); + } + + const inputSchema = + inputFile && Array.isArray(cat.inputSchema.required) + ? { + ...cat.inputSchema, + required: cat.inputSchema.required.filter( + (key) => !MCP_UPLOAD_OWNED_FIELDS.includes(key), + ), + } + : cat.inputSchema; + return { action, params, inputFile, catalog: cat, client: ctx.client, inputSchema }; +} + +/** Shared execution path for query_action (read) / invoke_action (write). */ +async function execute( + args: Record, + ctx: CallCtx, + kind: 'read' | 'write', +): Promise { + const prepared = prepareActionCall(args, ctx, kind); + + if ('structuredContent' in prepared) { + return prepared; + } + + const { action, params, inputFile, catalog: cat, client } = prepared; + + try { + ctx.signal?.throwIfAborted(); + + if (cat.stream) { + const result = await client.callStream(action, params, { + ...(inputFile ? { inputFile } : {}), + ...(ctx.signal ? { signal: ctx.signal } : {}), + ...(ctx.trace ? { trace: ctx.trace } : {}), + ...(ctx.onProgress ? { onProgress: ctx.onProgress } : {}), + }); + return asText(result, envelopeDiagnostics(result.terminal)); + } + + const result = await client.call( + action, + params, + ctx.signal || ctx.trace + ? { + ...(ctx.signal ? { signal: ctx.signal } : {}), + ...(ctx.trace ? { trace: ctx.trace } : {}), + } + : undefined, + ); + return asText(result, envelopeDiagnostics(result)); + } catch (err) { + return executionError(action, err, ctx.signal); + } +} + +async function runtimeInfo(args: Record, ctx: CallCtx): Promise { + if (args.check_connection !== undefined && typeof args.check_connection !== 'boolean') { + return asError('check_connection 必须是布尔值。'); + } + + const enabled = ctx.mode !== 'docs' && !!ctx.client; + + if (args.check_connection && !enabled) { + return asError( + '当前模式不能检查连接:需配置端点并启用 read 或 write 模式。', + 'permission', + '先用 get_runtime_info 查看本地模式,再由操作者配置连接。', + ); + } + + const overview = { + mode: ctx.mode, + execution_enabled: enabled, + write_enabled: enabled && ctx.mode === 'write', + catalog: { + version: VERSION, + action_count: ACTIONS.length, + source: 'bundled', + server_support: 'unknown', + }, + transport: enabled ? (ctx.client?.info ?? null) : null, + connection_checked: args.check_connection === true, + }; + + if (!args.check_connection) { + return asText(overview); + } + + const checks: Record = {}; + let outcome: Diagnostics['outcome'] = 'success'; + + for (const action of ['get_login_info', 'get_status', 'get_version_info']) { + const result = await execute({ action }, ctx, 'read'); + checks[action] = result.structuredContent; + const diagnostics = result.structuredContent.diagnostics; + + if ( + diagnostics.outcome === 'unknown' || + (diagnostics.outcome === 'failed' && outcome === 'success') + ) { + outcome = diagnostics.outcome; + } + } + + return asText( + { ...overview, checks }, + outcome === 'success' + ? { outcome } + : { outcome, next_step: '查看 checks 中各项诊断;目录版本不等于服务端能力声明。' }, + ); +} diff --git a/packages/mcp/src/tracing.ts b/packages/mcp/src/tracing.ts new file mode 100644 index 00000000..ed9e7a11 --- /dev/null +++ b/packages/mcp/src/tracing.ts @@ -0,0 +1,110 @@ +import { randomBytes } from 'node:crypto'; + +export interface TraceContext { + traceparent: string; + tracestate?: string; +} + +function parentFields(value: unknown): { traceId: string; flags: string } | undefined { + if (typeof value !== 'string' || /[^\x21-\x7e]/.test(value)) { + return undefined; + } + + const match = /^([0-9a-f]{2})-([0-9a-f]{32})-([0-9a-f]{16})-([0-9a-f]{2})(.*)$/.exec(value); + + if ( + !match || + match[1] === 'ff' || + /^0+$/.test(match[2]!) || + /^0+$/.test(match[3]!) || + (match[1] === '00' ? match[5] !== '' : match[5] !== '' && !match[5]!.startsWith('-')) + ) { + return undefined; + } + + // Participate using version 00, retaining only its defined sampled flag. + return { traceId: match[2]!, flags: (Number.parseInt(match[4]!, 16) & 1) === 1 ? '01' : '00' }; +} + +function traceState(value: unknown): string | undefined { + if (typeof value !== 'string' || value.length > 512 || /[^\x20-\x7e\t]/.test(value)) { + return undefined; + } + + const members = value.split(','); + + if (members.length > 32) { + return undefined; + } + + const keys = new Set(); + const normalized: string[] = []; + + for (const raw of members) { + const member = raw.replace(/^[ \t]+|[ \t]+$/g, ''); + + if (!member) { + continue; + } + + const separator = member.indexOf('='); + const key = member.slice(0, separator); + const entry = member.slice(separator + 1); + + if ( + separator < 1 || + !/^(?:[a-z][a-z0-9_*/-]{0,255}|[a-z0-9][a-z0-9_*/-]{0,240}@[a-z][a-z0-9_*/-]{0,13})$/.test( + key, + ) || + !/^[\x20-\x2b\x2d-\x3c\x3e-\x7e]{0,255}[\x21-\x2b\x2d-\x3c\x3e-\x7e]$/.test(entry) || + keys.has(key) + ) { + return undefined; + } + + keys.add(key); + normalized.push(member); + } + + return normalized.join(','); +} + +function identifier(bytes: number): string { + let value: string; + + do { + value = randomBytes(bytes).toString('hex'); + } while (/^0+$/.test(value)); + + return value; +} + +/** Trace metadata is advisory: invalid fields never reject a tool or enter its params. */ +export function createCallTrace(meta?: Record): TraceContext { + const parent = parentFields(meta?.traceparent); + + if (meta?.traceparent !== undefined && !parent) { + console.error('[snowluma-mcp] trace metadata ignored: invalid traceparent'); + } + + let state: string | undefined; + + if (meta?.tracestate !== undefined) { + if (parent) { + state = traceState(meta.tracestate); + + if (state === undefined) { + console.error('[snowluma-mcp] trace metadata ignored: invalid tracestate'); + } + } else { + console.error( + '[snowluma-mcp] trace metadata ignored: tracestate without valid traceparent', + ); + } + } + + return { + traceparent: `00-${parent?.traceId ?? identifier(16)}-${identifier(8)}-${parent?.flags ?? '00'}`, + ...(state ? { tracestate: state } : {}), + }; +} diff --git a/packages/mcp/src/types.ts b/packages/mcp/src/types.ts new file mode 100644 index 00000000..4721c59e --- /dev/null +++ b/packages/mcp/src/types.ts @@ -0,0 +1,55 @@ +// The MCP's own view of the OneBot action catalog. Mirrors @snowluma/onebot's +// ActionDoc, but is defined HERE so the published package does not couple to +// onebot's internals — the generated `catalog.ts` (a build-time snapshot) is the +// only contract (ADR-0005: the wire/data shape is the seam, not a shared type). + +export interface CatalogParam { + name: string; + /** Display type ('uint' | 'int' | 'messageId' | 'string' | 'bool' | 'message' | 'enum' | 'X[]' | 'raw'). */ + type: string; + required: boolean; + default?: unknown; + desc?: string; + values?: ReadonlyArray; + /** Semantic role (group_id / user_id / member_id / image / face_id / …), + * orthogonal to `type`; drives smart-widget selection in the WebUI console. + * Kept as a loose string here so the package stays decoupled from onebot's + * FieldRole union. */ + role?: string; + /** JSON Schema fragment for this single field. */ + schema?: Record; +} + +export interface CatalogAction { + name: string; + aliases: string[]; + category?: string; + summary?: string; + returns?: string; + /** Successful OneBot `data`, or one successful stream frame's `data`. + * Does not describe the envelope or MCP's aggregated stream result. */ + returnsSchema?: Record; + /** Illustrative OneBot params; identifiers/paths must be replaced before use. */ + examples?: ReadonlyArray<{ + summary: string; + params: Record; + notes?: string; + }>; + /** True only for pure data-fetch actions (no side effects). Drives the + * read/write tool routing: read-only → query_action, else → invoke_action. + * Classified at the source spec by what the action's `run` actually does. */ + readOnly: boolean; + /** True for Stream API actions (multi-frame transport). Absent ⇒ ordinary + * single-response action. */ + stream?: boolean; + params: CatalogParam[]; + /** Cross-field invariants, e.g. "exactly one of: message_id | (group_id+user_id)". */ + invariants: string[]; + /** Composed JSON Schema for the whole params object. */ + inputSchema: Record; +} + +export interface CatalogCategory { + category: string; + count: number; +} diff --git a/packages/mcp/src/version.ts b/packages/mcp/src/version.ts new file mode 100644 index 00000000..e28fca27 --- /dev/null +++ b/packages/mcp/src/version.ts @@ -0,0 +1,6 @@ +import { readFileSync } from 'node:fs'; + +const pkg = JSON.parse(readFileSync(new URL('../package.json', import.meta.url), 'utf8')) as { + version: string; +}; +export const VERSION = pkg.version; diff --git a/packages/mcp/tests/action-contracts.test.ts b/packages/mcp/tests/action-contracts.test.ts new file mode 100644 index 00000000..a5677b98 --- /dev/null +++ b/packages/mcp/tests/action-contracts.test.ts @@ -0,0 +1,245 @@ +import { describe, expect, it, vi } from 'vitest'; +import { AjvJsonSchemaValidator } from '@modelcontextprotocol/sdk/validation/ajv-provider.js'; +import { collectActionDocs } from '@snowluma/onebot/action-docs'; +import { ApiHandler, type ApiActionContext } from '@snowluma/onebot/api-handler'; +import type { JsonObject, JsonValue } from '@snowluma/onebot/types'; +import { ACTIONS } from '../src/generated/catalog'; +import { callTool } from '../src/tools'; + +const validator = new AjvJsonSchemaValidator(); + +function resultValidator(name: string) { + const action = ACTIONS.find((entry) => entry.name === name); + + if (!action?.returnsSchema) { + throw new Error(`missing result schema: ${name}`); + } + + return validator.getValidator(action.returnsSchema); +} + +function matchesResult(name: string, data: unknown): void { + const result = resultValidator(name)(data); + expect(result.valid, `${name}: ${result.errorMessage}`).toBe(true); +} + +/** Unexpected dependencies fail rather than contacting an account or a network. */ +function context(values: Record = {}): ApiActionContext { + return new Proxy(values, { + get(target, key) { + if (typeof key === 'string' && Object.hasOwn(target, key)) { + return target[key]; + } + + throw new Error(`unstubbed action context: ${String(key)}`); + }, + }) as unknown as ApiActionContext; +} + +describe('bundled action contracts', () => { + it('matches the owning specs, without relying on a second hand-authored registry', () => { + expect(ACTIONS).toEqual(JSON.parse(JSON.stringify(collectActionDocs()))); + }); + + it.each(ACTIONS)('$name publishes compilable schemas and schema-valid examples', (action) => { + expect(() => resultValidator(action.name)).not.toThrow(); + const validateInput = validator.getValidator(action.inputSchema); + expect(action.examples?.length).toBeGreaterThan(0); + + for (const example of action.examples ?? []) { + const result = validateInput(example.params); + expect(result.valid, `${action.name}: ${result.errorMessage}`).toBe(true); + } + }); + + it('exposes full contracts through get_action and aliases without executing anything', async () => { + const client = { call: vi.fn(), callStream: vi.fn() }; + + for (const action of ACTIONS) { + for (const name of [action.name, ...action.aliases]) { + const result = await callTool('get_action', { name }, { mode: 'docs', client }); + expect(result.structuredContent.result).toEqual(action); + expect(result.content[0]).toEqual({ + type: 'text', + text: JSON.stringify(action, null, 2), + }); + } + } + + expect(client.call).not.toHaveBeenCalled(); + expect(client.callStream).not.toHaveBeenCalled(); + }); + + it.each(['list_actions', 'search_actions'])('keeps %s compact', async (name) => { + const result = await callTool(name, { query: 'send_group_msg' }, { mode: 'docs' }); + const block = result.content[0]; + expect(block.type).toBe('text'); + + if (block.type !== 'text') { + throw new Error('expected text result'); + } + + const payload = JSON.parse(block.text); + expect(payload.actions.length).toBeGreaterThan(0); + + for (const action of payload.actions) { + expect(action).not.toHaveProperty('examples'); + expect(action).not.toHaveProperty('returnsSchema'); + } + }); +}); + +describe('result schemas against actual OneBot handlers', () => { + it('preserves signed message IDs and documents the upload-only sentinel separately', async () => { + const api = new ApiHandler( + context({ + sendGroupMessage: async () => ({ messageId: -123 }), + sendForwardMsg: async () => ({ forwardId: 'example-forward' }), + }), + ); + const send = await api.handle('send_group_msg', { group_id: 20001, message: 'hello' }); + expect(send).toEqual({ status: 'ok', retcode: 0, data: { message_id: -123 } }); + matchesResult('send_group_msg', send.data); + expect(resultValidator('send_group_msg')({ message_id: 0 }).valid).toBe(false); + + for (const name of ['upload_forward_msg', 'upload_foward_msg']) { + const uploaded = await api.handle(name, { + group_id: 20001, + messages: [ + { + type: 'node', + data: { user_id: 10001, nickname: 'example', content: 'hello' }, + }, + ], + }); + expect(uploaded.status).toBe('ok'); + expect(uploaded.data).toMatchObject({ message_id: 0, res_id: 'example-forward' }); + matchesResult(name, uploaded.data); + + if (name === 'upload_forward_msg') { + expect(uploaded.data).toHaveProperty('group_id', 20001); + } else { + expect(uploaded.data).not.toHaveProperty('group_id'); + } + } + }); + + it('distinguishes null, empty objects, and failed unsupported calls', async () => { + const api = new ApiHandler( + context({ + bridge: { + apis: { + friend: { setRemark: async () => {} }, + profile: { setInputStatus: async () => {} }, + }, + }, + }), + ); + const empty = await api.handle('set_friend_remark', { user_id: 10001, remark: 'example' }); + expect(empty.data).toBeNull(); + matchesResult('set_friend_remark', empty.data); + expect(resultValidator('set_friend_remark')({}).valid).toBe(false); + const object = await api.handle('set_input_status', { user_id: 10001 }); + expect(object.data).toEqual({}); + matchesResult('set_input_status', object.data); + expect(resultValidator('set_input_status')(null).valid).toBe(false); + + for (const name of ['set_restart', 'create_collection', '.get_word_slices']) { + const failure = await api.handle(name, {}); + expect(failure.status).toBe('failed'); + expect(resultValidator(name)(failure.data).valid).toBe(false); + } + }); + + it('documents actual media string sizes and optional converted record fields', async () => { + const media = { + file: 'https://example.com/media', + url: 'https://example.com/media', + file_size: '42', + file_name: 'voice.amr', + }; + const api = new ApiHandler( + context({ + getImageInfo: async () => media, + getRecordInfo: async () => media, + bridge: { + apis: { + extras: { convertRecord: async () => ({ base64: 'aGVsbG8=', size: 5 }) }, + }, + }, + }), + ); + + for (const name of ['get_image', 'get_file', 'get_record']) { + const result = await api.handle(name, { file: 'cached-media' }); + expect(result.status).toBe('ok'); + matchesResult(name, result.data); + expect(resultValidator(name)({ ...media, file_size: 42 }).valid).toBe(false); + } + + const converted = await api.handle('get_record', { + file: 'cached-media', + out_format: 'mp3', + }); + expect(converted.data).toEqual({ ...media, out_format: 'mp3', base64: 'aGVsbG8=' }); + matchesResult('get_record', converted.data); + }); + + it('describes get_msg data without the event envelope for both conversation types', async () => { + for (const messageType of ['group', 'private']) { + const event: JsonObject = { + post_type: 'message', + self_id: 10002, + message_type: messageType, + message_id: -123, + user_id: 10001, + time: 1700000000, + message: [{ type: 'text', data: { text: 'hello' } }], + raw_message: 'hello', + ...(messageType === 'group' ? { group_id: 20001 } : { target_id: 10002 }), + }; + const api = new ApiHandler( + context({ + getMessage: async () => event, + refreshMessageMedia: async () => {}, + }), + ); + const result = await api.handle('get_msg', { message_id: -123 }); + expect(result.status).toBe('ok'); + expect(result.data).toMatchObject({ real_id: -123, message_id: -123 }); + expect(result.data).not.toHaveProperty('post_type'); + expect(result.data).not.toHaveProperty('self_id'); + matchesResult('get_msg', result.data); + } + }); + + it('describes successful stream frame data, not MCP aggregate results or failed frames', async () => { + const api = new ApiHandler(context()); + const frames: JsonValue[] = []; + const response = await api.handle( + 'test_download_stream', + { error: false }, + { + send: async (frame) => { + frames.push(frame); + }, + }, + ); + expect(frames).toHaveLength(10); + expect(response.status).toBe('ok'); + + for (const frame of [...frames, response.data]) { + matchesResult('test_download_stream', frame); + } + + expect( + resultValidator('test_download_stream')({ frame_count: 11, frames, terminal: response }) + .valid, + ).toBe(false); + expect( + resultValidator('test_download_stream')({ type: 'error', data_type: 'error' }).valid, + ).toBe(false); + const failure = await api.handle('test_download_stream', { error: true }); + expect(failure.status).toBe('failed'); + }); +}); diff --git a/packages/mcp/tests/agent-tools.test.ts b/packages/mcp/tests/agent-tools.test.ts new file mode 100644 index 00000000..fb36dbea --- /dev/null +++ b/packages/mcp/tests/agent-tools.test.ts @@ -0,0 +1,275 @@ +import { describe, expect, it, vi } from 'vitest'; +import { callTool, computeTools } from '../src/tools'; +import { ACTIONS } from '../src/generated/catalog'; +import type { ActionClient, OneBotEnvelope } from '../src/client'; +import { ActionCallError } from '../src/results'; + +const docs = { mode: 'docs' as const }; + +function client( + reply: OneBotEnvelope = { status: 'ok', retcode: 0, data: { message_id: -123 } }, +): ActionClient { + return { + call: vi.fn(async () => reply), + callStream: vi.fn(async () => ({ frame_count: 1, frames: [], terminal: reply })), + }; +} + +function text(result: Awaited>) { + expect(result.content[0].type).toBe('text'); + return result.content[0].type === 'text' ? result.content[0].text : ''; +} + +describe('additive structured results', () => { + it.each(['list_actions', 'list_categories', 'get_action', 'search_actions'])( + 'keeps the original text payload for %s', + async (name) => { + const result = await callTool(name, { name: 'get_status', query: 'get_status' }, docs); + expect(result.structuredContent.result).toEqual(JSON.parse(text(result))); + expect(result.structuredContent.diagnostics).toEqual({ outcome: 'success' }); + expect( + computeTools('docs').find((tool) => tool.name === name)?.outputSchema, + ).toBeDefined(); + }, + ); + + it.each([ + { status: 'ok', retcode: 0, data: { message_id: -123 } }, + { status: 'failed', retcode: 1404, wording: 'not found' }, + { status: 'async', retcode: 1 }, + ])('preserves the OneBot envelope and isError contract ($status)', async (reply) => { + const result = await callTool( + 'invoke_action', + { action: 'send_group_msg' }, + { mode: 'write', client: client(reply) }, + ); + expect(text(result)).toBe(JSON.stringify(reply, null, 2)); + expect(result.isError).toBeUndefined(); + expect(result.structuredContent.result).toEqual(reply); + expect(result.structuredContent.diagnostics.outcome).toBe( + reply.status === 'ok' ? 'success' : reply.status === 'failed' ? 'failed' : 'unknown', + ); + }); + + it('reports permission failures without contacting OneBot', async () => { + const onebot = client(); + const result = await callTool( + 'query_action', + { action: 'send_group_msg' }, + { mode: 'read', client: onebot }, + ); + expect(result.isError).toBe(true); + expect(result.structuredContent.diagnostics).toMatchObject({ + outcome: 'failed', + kind: 'permission', + }); + expect(onebot.call).not.toHaveBeenCalled(); + }); + + it.each(['timeout', 'cancelled', 'authentication', 'transport', 'invalid_response'] as const)( + 'makes %s observable without claiming a write was rolled back', + async (kind) => { + const onebot = client(); + onebot.call = vi.fn(async () => { + throw new ActionCallError('request failed', kind); + }); + const result = await callTool( + 'invoke_action', + { action: 'send_group_msg' }, + { mode: 'write', client: onebot }, + ); + expect(result.isError).toBe(true); + expect(result.structuredContent.diagnostics).toMatchObject({ + outcome: 'unknown', + kind, + }); + expect(result.structuredContent.diagnostics.next_step).toContain('不代表撤销'); + expect(onebot.call).toHaveBeenCalledTimes(1); + }, + ); + + it('does not report an incomplete response as successful', async () => { + const onebot = client(); + onebot.call = async () => JSON.parse('{"data":null}'); + const result = await callTool( + 'query_action', + { action: 'get_status' }, + { mode: 'read', client: onebot }, + ); + expect(result.structuredContent.diagnostics).toMatchObject({ + outcome: 'unknown', + kind: 'invalid_response', + }); + expect(text(result)).toBe('{\n "data": null\n}'); + }); + + it('keeps malformed peer fields in the original payload without breaking the diagnostics schema', async () => { + const onebot = client(); + onebot.call = async () => + JSON.parse('{"status":"failed","retcode":1400,"wording":{"unexpected":true}}'); + const result = await callTool( + 'query_action', + { action: 'get_status' }, + { mode: 'read', client: onebot }, + ); + expect(result.structuredContent.diagnostics.message).toBe('retcode=1400'); + expect(JSON.parse(text(result)).wording).toEqual({ unexpected: true }); + }); +}); + +describe('optional discovery controls', () => { + it('keeps legacy matching, ordering and response fields by default', async () => { + const result = await callTool('search_actions', { query: '群 禁言' }, docs); + expect(JSON.parse(text(result))).toEqual({ count: 0, actions: [] }); + const all = JSON.parse(text(await callTool('list_actions', {}, docs))); + expect(Object.keys(all)).toEqual(['count', 'actions']); + expect(all.actions.map((action: { name: string }) => action.name)).toEqual( + ACTIONS.map((action) => action.name), + ); + }); + + it.each([ + ['群 禁言', 'set_group_ban'], + ['历史消息', 'get_group_msg_history'], + ['私聊 history', 'get_friend_msg_history'], + ['group mute', 'set_group_ban'], + ])('finds %s with optional keyword matching', async (query, expected) => { + const data = JSON.parse( + text(await callTool('search_actions', { query, match: 'keywords' }, docs)), + ); + expect(data.actions.map((action: { name: string }) => action.name)).toContain(expected); + }); + + it('ranks an exact alias first and combines filters', async () => { + const exact = JSON.parse( + text( + await callTool('search_actions', { query: 'nc_get_rkey', match: 'keywords' }, docs), + ), + ); + expect(exact.actions[0].name).toBe('get_rkey'); + const filtered = JSON.parse( + text( + await callTool( + 'search_actions', + { + query: '群', + match: 'keywords', + category: '群管理', + read_only: false, + stream: false, + }, + docs, + ), + ), + ); + expect(filtered.count).toBeGreaterThan(0); + expect( + filtered.actions.every( + (action: { category: string; readOnly: boolean; stream: boolean }) => + action.category === '群管理' && !action.readOnly && !action.stream, + ), + ).toBe(true); + }); + + it('paginates deterministically with explicit totals and termination', async () => { + const names: string[] = []; + let offset: number | null = 0; + + while (offset !== null) { + const data = JSON.parse( + text(await callTool('list_actions', { limit: 37, offset }, docs)), + ); + expect(data.total).toBe(ACTIONS.length); + expect(data.count).toBe(data.actions.length); + names.push(...data.actions.map((action: { name: string }) => action.name)); + offset = data.next_offset; + } + + expect(names).toEqual(ACTIONS.map((action) => action.name)); + const beyond = JSON.parse(text(await callTool('list_actions', { offset: 9999 }, docs))); + expect(beyond).toEqual({ count: 0, actions: [], total: ACTIONS.length, next_offset: null }); + }); + + it.each([ + { limit: 0 }, + { limit: 201 }, + { offset: -1 }, + { offset: 0.5 }, + { stream: 'true' }, + { read_only: 1 }, + { match: 'typo' }, + ])('rejects invalid new options (%j)', async (options) => { + const result = await callTool('search_actions', { query: '', ...options }, docs); + expect(result.isError).toBe(true); + expect(result.structuredContent.diagnostics.kind).toBe('invalid_arguments'); + }); +}); + +describe('runtime overview and caller cancellation', () => { + it('does not contact OneBot for a local overview, even if a client exists in docs mode', async () => { + const onebot = client(); + const result = await callTool('get_runtime_info', {}, { ...docs, client: onebot }); + expect(result.structuredContent.result).toMatchObject({ + mode: 'docs', + execution_enabled: false, + write_enabled: false, + transport: null, + connection_checked: false, + catalog: { action_count: ACTIONS.length, server_support: 'unknown' }, + }); + expect(onebot.call).not.toHaveBeenCalled(); + const denied = await callTool( + 'get_runtime_info', + { check_connection: true }, + { ...docs, client: onebot }, + ); + expect(denied.isError).toBe(true); + expect(onebot.call).not.toHaveBeenCalled(); + }); + + it('only performs the three explicit read-only checks and preserves individual failures', async () => { + const onebot = client(); + const controller = new AbortController(); + onebot.call = vi.fn(async (action, _params, options) => { + expect(options?.signal).toBe(controller.signal); + return action === 'get_status' + ? { status: 'failed', retcode: 1401, wording: 'unauthorized' } + : { status: 'ok', retcode: 0, data: { action } }; + }); + const result = await callTool( + 'get_runtime_info', + { check_connection: true }, + { mode: 'read', client: onebot, signal: controller.signal }, + ); + expect(vi.mocked(onebot.call).mock.calls.map(([action]) => action)).toEqual([ + 'get_login_info', + 'get_status', + 'get_version_info', + ]); + expect(result.structuredContent.diagnostics.outcome).toBe('failed'); + expect(result.structuredContent.result).toMatchObject({ + checks: { + get_status: { result: { retcode: 1401 }, diagnostics: { outcome: 'failed' } }, + }, + }); + }); + + it('forwards ordinary request cancellation and does not start pre-cancelled calls', async () => { + const controller = new AbortController(); + const onebot = client(); + await callTool( + 'query_action', + { action: 'get_status' }, + { mode: 'read', client: onebot, signal: controller.signal }, + ); + expect(onebot.call).toHaveBeenCalledWith('get_status', {}, { signal: controller.signal }); + controller.abort(); + const result = await callTool( + 'query_action', + { action: 'get_status' }, + { mode: 'read', client: onebot, signal: controller.signal }, + ); + expect(onebot.call).toHaveBeenCalledTimes(1); + expect(result.structuredContent.diagnostics.kind).toBe('cancelled'); + }); +}); diff --git a/packages/mcp/tests/cancellation.test.ts b/packages/mcp/tests/cancellation.test.ts new file mode 100644 index 00000000..6aa3ab67 --- /dev/null +++ b/packages/mcp/tests/cancellation.test.ts @@ -0,0 +1,124 @@ +import { afterEach, describe, expect, it, vi } from 'vitest'; +import { createServer, type Server } from 'node:http'; +import { mkdtempSync, rmSync } from 'node:fs'; +import { tmpdir } from 'node:os'; +import { join } from 'node:path'; +import { makeHttpClient } from '../src/client'; + +const dirs: string[] = []; +const servers: Server[] = []; +afterEach(async () => { + for (const server of servers.splice(0)) { + server.closeAllConnections(); + await new Promise((resolve, reject) => + server.close((error) => (error ? reject(error) : resolve())), + ); + } + + for (const dir of dirs.splice(0)) { + rmSync(dir, { recursive: true, force: true }); + } +}); + +function directory() { + const dir = mkdtempSync(join(tmpdir(), 'mcp-cancel-')); + dirs.push(dir); + return dir; +} + +describe('ordinary HTTP cancellation', () => { + it.each([false, true])( + 'aborts the actual HTTP request (headers received: %s)', + async (sendHeaders) => { + const started = Promise.withResolvers(); + const disconnected = Promise.withResolvers(); + let count = 0; + const server = createServer((_request, response) => { + count++; + response.on('close', () => disconnected.resolve()); + + if (sendHeaders) { + response.writeHead(200, { 'Content-Type': 'application/json' }); + response.write('{"status":'); + } + + started.resolve(); + }); + servers.push(server); + await new Promise((resolve) => server.listen(0, '127.0.0.1', resolve)); + const address = server.address(); + + if (!address || typeof address === 'string') { + throw new Error('missing test server port'); + } + + const client = makeHttpClient({ + endpoint: `http://127.0.0.1:${address.port}`, + streamDir: directory(), + timeoutMs: 5000, + }); + const controller = new AbortController(); + const outcome = client + .call('get_status', {}, { signal: controller.signal }) + .catch((error) => error); + await started.promise; + controller.abort(new Error('caller cancelled')); + expect(await outcome).toMatchObject({ kind: 'cancelled' }); + await disconnected.promise; + expect(count).toBe(1); + }, + ); + + it('does not issue an HTTP request when already cancelled', async () => { + const fetcher = vi.fn(); + const client = makeHttpClient({ + endpoint: 'http://unused.invalid', + streamDir: directory(), + fetch: fetcher, + }); + await expect( + client.call('get_status', {}, { signal: AbortSignal.abort() }), + ).rejects.toMatchObject({ kind: 'cancelled' }); + expect(fetcher).not.toHaveBeenCalled(); + }); + + it('retains the ordinary timeout and exposes its cause', async () => { + const fetcher: typeof fetch = vi.fn( + async (_input, init) => + new Promise((_resolve, reject) => { + init?.signal?.addEventListener('abort', () => reject(init.signal?.reason), { + once: true, + }); + }), + ); + const client = makeHttpClient({ + endpoint: 'http://unused.invalid', + streamDir: directory(), + fetch: fetcher, + timeoutMs: 20, + }); + await expect(client.call('get_status', {})).rejects.toMatchObject({ kind: 'timeout' }); + expect(fetcher).toHaveBeenCalledTimes(1); + }); + + it('reports resolved limits and paths without endpoint credentials', () => { + const dir = directory(); + const client = makeHttpClient({ + endpoint: 'https://user:secret@example.invalid/path?token=secret', + accessToken: 'secret', + streamDir: dir, + uploadRoot: dir, + maxStreamBytes: 123, + timeoutMs: 456, + }); + expect(client.info).toMatchObject({ + timeout_ms: 456, + max_stream_bytes: 123, + download_quota_bytes: 246, + max_active_streams: 4, + upload_enabled: true, + }); + expect(client.info?.upload_root).toBe(client.info?.download_directory); + expect(JSON.stringify(client.info)).not.toMatch(/secret|example\.invalid/); + }); +}); diff --git a/packages/mcp/tests/client.test.ts b/packages/mcp/tests/client.test.ts new file mode 100644 index 00000000..f8e9b444 --- /dev/null +++ b/packages/mcp/tests/client.test.ts @@ -0,0 +1,1525 @@ +import { describe, it, expect, afterEach, vi } from 'vitest'; +import fs from 'node:fs'; +import os from 'node:os'; +import path from 'node:path'; +import { createHash } from 'node:crypto'; +import { + makeHttpClient, + parseMaxStreamBytes, + parseTimeoutMs, + type TransferProgress, +} from '../src/client'; + +const tempDirs: string[] = []; + +afterEach(() => { + vi.restoreAllMocks(); + + for (const dir of tempDirs.splice(0)) { + fs.rmSync(dir, { recursive: true, force: true }); + } +}); + +// Verifies the HTTP bridge: a OneBot action becomes a POST of `{ action, params }` +// to the endpoint (with Bearer auth), and the JSON envelope comes back verbatim. +// A fake fetch stands in for the network. +describe('makeHttpClient — OneBot HTTP wiring', () => { + it('validates SNOWLUMA_MCP_MAX_STREAM_BYTES as a positive 4 GiB-or-lower integer', () => { + expect(parseMaxStreamBytes(undefined)).toBeUndefined(); + expect(parseMaxStreamBytes('1048576')).toBe(1048576); + + for (const invalid of [ + '', + '0', + '-1', + '1.5', + '1e6', + String(4 * 1024 * 1024 * 1024 + 1), + 'nope', + ]) { + expect(() => parseMaxStreamBytes(invalid), invalid).toThrow( + /SNOWLUMA_MCP_MAX_STREAM_BYTES/, + ); + } + }); + + it('fails fast on an invalid SNOWLUMA_MCP_TIMEOUT_MS', () => { + expect(parseTimeoutMs(undefined)).toBeUndefined(); + expect(parseTimeoutMs('30000')).toBe(30000); + + for (const invalid of ['', '0', '-1', '1.5', '1e3', 'nope']) { + expect(() => parseTimeoutMs(invalid), invalid).toThrow(/SNOWLUMA_MCP_TIMEOUT_MS/); + } + }); + + it('rejects an invalid programmatic timeout instead of silently using the default', () => { + for (const timeoutMs of [0, -1, 1.5, Number.NaN, Number.POSITIVE_INFINITY]) { + expect( + () => makeHttpClient({ endpoint: 'http://127.0.0.1:9999/', timeoutMs }), + String(timeoutMs), + ).toThrow(/timeoutMs.*positive.*integer/i); + } + }); + + it('creates the configured stream directory at client startup and rejects a file path', () => { + const root = fs.mkdtempSync(path.join(os.tmpdir(), 'snowluma-mcp-config-')); + tempDirs.push(root); + const nested = path.join(root, 'nested', 'downloads'); + expect(() => + makeHttpClient({ endpoint: 'http://127.0.0.1:9999/', streamDir: nested }), + ).not.toThrow(); + expect(fs.statSync(nested).isDirectory()).toBe(true); + + const filePath = path.join(root, 'not-a-directory'); + fs.writeFileSync(filePath, 'x'); + expect(() => + makeHttpClient({ endpoint: 'http://127.0.0.1:9999/', streamDir: filePath }), + ).toThrow(/streamDir.*(?:not a directory|cannot be created)/i); + }); + + it('fails startup when the stream directory cannot be accessed or create files', () => { + const root = fs.mkdtempSync(path.join(os.tmpdir(), 'snowluma-mcp-config-')); + tempDirs.push(root); + + vi.spyOn(fs, 'accessSync').mockImplementationOnce(() => { + throw Object.assign(new Error('permission denied'), { code: 'EACCES' }); + }); + expect(() => + makeHttpClient({ endpoint: 'http://127.0.0.1:9999/', streamDir: root }), + ).toThrow(/streamDir.*readable.*writable.*traversable.*permission denied/i); + + vi.spyOn(fs, 'openSync').mockImplementationOnce(() => { + throw Object.assign(new Error('create denied'), { code: 'EACCES' }); + }); + expect(() => + makeHttpClient({ endpoint: 'http://127.0.0.1:9999/', streamDir: root }), + ).toThrow(/streamDir.*cannot create files.*create denied/i); + }); + + it('POSTs {action, params} to the endpoint and returns the parsed envelope', async () => { + const calls: Array<{ url: string; body: any; auth?: string }> = []; + const fakeFetch = (async (url: unknown, init: any) => { + calls.push({ + url: String(url), + body: JSON.parse(init.body as string), + auth: (init.headers as Record)?.Authorization, + }); + return new Response(JSON.stringify({ status: 'ok', retcode: 0, data: { ok: true } }), { + status: 200, + headers: { 'content-type': 'application/json' }, + }); + }) as unknown as typeof fetch; + + const client = makeHttpClient({ + endpoint: 'http://127.0.0.1:9999/', + accessToken: 'tok', + fetch: fakeFetch, + }); + const env = await client.call('get_status', { x: 1 }); + + expect(env.status).toBe('ok'); + expect(env.retcode).toBe(0); + expect(calls).toHaveLength(1); + expect(calls[0].url).toBe('http://127.0.0.1:9999/'); + expect(calls[0].body.action).toBe('get_status'); + expect(calls[0].body.params).toEqual({ x: 1 }); + expect(calls[0].auth).toBe('Bearer tok'); + }); + + it('propagates a transport failure as a rejection (so the tool layer can map it)', async () => { + const fakeFetch = (async () => { + throw new Error('ECONNREFUSED'); + }) as unknown as typeof fetch; + const client = makeHttpClient({ endpoint: 'http://127.0.0.1:9999/', fetch: fakeFetch }); + await expect(client.call('get_status', {})).rejects.toThrow(); + }); + + it('incrementally parses stream frames across arbitrary network chunk boundaries', async () => { + const frames = [ + { + status: 'ok', + retcode: 0, + stream: 'stream-action', + data: { type: 'stream', data_type: 'data_chunk', data: 'Index-> 1' }, + }, + { + status: 'ok', + retcode: 0, + stream: 'stream-action', + data: { type: 'response', data_type: 'data_complete', data: 'done' }, + }, + ]; + const wire = frames.map((frame) => `${JSON.stringify(frame)}\r\n\r\n`).join(''); + const cuts = [1, 7, 19, 31, 57, wire.length]; + const chunks: Uint8Array[] = []; + let offset = 0; + + for (const cut of cuts) { + chunks.push(new TextEncoder().encode(wire.slice(offset, cut))); + offset = cut; + } + + const fakeFetch = (async () => + new Response( + new ReadableStream({ + start(controller) { + for (const chunk of chunks) { + controller.enqueue(chunk); + } + + controller.close(); + }, + }), + { status: 200 }, + )) as unknown as typeof fetch; + + const client = makeHttpClient({ endpoint: 'http://127.0.0.1:9999/', fetch: fakeFetch }); + const progress: TransferProgress[] = []; + const result = await client.callStream( + 'test_download_stream', + {}, + { + onProgress: async (update) => { + progress.push(update); + }, + }, + ); + expect(progress.map((update) => update.progress)).toEqual([1, 2]); + + expect(result).toEqual({ frame_count: 2, frames: [frames[0]], terminal: frames[1] }); + }); + + it('writes a multi-frame file download atomically and returns metadata instead of base64', async () => { + const streamDir = fs.mkdtempSync(path.join(os.tmpdir(), 'snowluma-mcp-client-')); + tempDirs.push(streamDir); + const content = Buffer.from('streamed file content '.repeat(200)); + const parts = [content.subarray(0, 997), content.subarray(997)]; + const frames = [ + { + status: 'ok', + retcode: 0, + stream: 'stream-action', + data: { + type: 'stream', + data_type: 'file_info', + file_name: '../unsafe.bin', + file_size: content.length, + chunk_size: 997, + }, + }, + ...parts.map((part, index) => ({ + status: 'ok', + retcode: 0, + stream: 'stream-action', + data: { + type: 'stream', + data_type: 'file_chunk', + index, + size: part.length, + data: part.toString('base64'), + }, + })), + { + status: 'ok', + retcode: 0, + stream: 'stream-action', + data: { + type: 'response', + data_type: 'file_complete', + total_chunks: parts.length, + total_bytes: content.length, + }, + }, + ]; + const wire = frames.map((frame) => `${JSON.stringify(frame)}\r\n\r\n`).join(''); + const fakeFetch = (async () => + new Response(wire, { status: 200 })) as unknown as typeof fetch; + const client = makeHttpClient({ + endpoint: 'http://127.0.0.1:9999/', + fetch: fakeFetch, + streamDir, + }); + + const progress: TransferProgress[] = []; + const result = await client.callStream( + 'download_file_stream', + { file: 'remote-id' }, + { + onProgress: async (update) => { + progress.push(update); + }, + }, + ); + expect(progress.map((update) => update.progress)).toEqual([0, 997, content.length]); + expect(progress.every((update) => update.total === content.length)).toBe(true); + + expect(Object.keys(result).sort()).toEqual([ + 'file_path', + 'file_size', + 'frame_count', + 'sha256', + 'terminal', + ]); + expect(result.file_size).toBe(content.length); + expect(result.frame_count).toBe(frames.length); + expect(result.sha256).toBe(createHash('sha256').update(content).digest('hex')); + expect(path.isAbsolute(result.file_path)).toBe(true); + expect(path.dirname(result.file_path)).toBe(fs.realpathSync(streamDir)); + expect(fs.readFileSync(result.file_path).equals(content)).toBe(true); + expect(fs.readdirSync(streamDir).some((name) => name.endsWith('.part'))).toBe(false); + expect(JSON.stringify(result)).not.toContain(parts[0].toString('base64')); + }); + + it('surfaces a terminal stream error with action/frame context and removes the partial file', async () => { + const streamDir = fs.mkdtempSync(path.join(os.tmpdir(), 'snowluma-mcp-client-')); + tempDirs.push(streamDir); + const frames = [ + { + status: 'ok', + retcode: 0, + data: { + type: 'stream', + data_type: 'file_info', + file_name: 'broken.bin', + file_size: 3, + }, + }, + { + status: 'ok', + retcode: 0, + data: { + type: 'stream', + data_type: 'file_chunk', + index: 0, + size: 3, + data: Buffer.from('abc').toString('base64'), + }, + }, + { + status: 'failed', + retcode: 100, + wording: 'source disconnected', + data: { type: 'error', data_type: 'error' }, + }, + ]; + const wire = frames.map((frame) => `${JSON.stringify(frame)}\r\n\r\n`).join(''); + const fakeFetch = (async () => + new Response(wire, { status: 200 })) as unknown as typeof fetch; + const client = makeHttpClient({ + endpoint: 'http://127.0.0.1:9999/', + fetch: fakeFetch, + streamDir, + }); + + await expect(client.callStream('download_file_stream', {})).rejects.toThrow( + /download_file_stream.*frame 2.*source disconnected/i, + ); + expect(fs.readdirSync(streamDir)).toEqual([]); + }); + + it('removes the partial file when the response body disconnects before a terminal frame', async () => { + const streamDir = fs.mkdtempSync(path.join(os.tmpdir(), 'snowluma-mcp-client-')); + tempDirs.push(streamDir); + const prefix = [ + { + status: 'ok', + retcode: 0, + data: { + type: 'stream', + data_type: 'file_info', + file_name: 'cut.bin', + file_size: 6, + }, + }, + { + status: 'ok', + retcode: 0, + data: { + type: 'stream', + data_type: 'file_chunk', + index: 0, + size: 3, + data: Buffer.from('abc').toString('base64'), + }, + }, + ] + .map((frame) => `${JSON.stringify(frame)}\r\n\r\n`) + .join(''); + const fakeFetch = (async () => + new Response( + new ReadableStream({ + start(controller) { + controller.enqueue(new TextEncoder().encode(prefix)); + controller.error(new Error('socket reset')); + }, + }), + { status: 200 }, + )) as unknown as typeof fetch; + const client = makeHttpClient({ + endpoint: 'http://127.0.0.1:9999/', + fetch: fakeFetch, + streamDir, + }); + + await expect(client.callStream('download_file_stream', {})).rejects.toThrow( + /download_file_stream.*body.*socket reset/i, + ); + expect(fs.readdirSync(streamDir)).toEqual([]); + }); + + it('enforces the configured byte ceiling while streaming and removes the partial file', async () => { + const streamDir = fs.mkdtempSync(path.join(os.tmpdir(), 'snowluma-mcp-client-')); + tempDirs.push(streamDir); + const frames = [ + { + status: 'ok', + retcode: 0, + data: { + type: 'stream', + data_type: 'file_info', + file_name: 'too-big.bin', + file_size: 3, + }, + }, + { + status: 'ok', + retcode: 0, + data: { + type: 'stream', + data_type: 'file_chunk', + index: 0, + size: 4, + data: Buffer.from('abcd').toString('base64'), + }, + }, + ]; + const fakeFetch = (async () => + new Response(frames.map((frame) => `${JSON.stringify(frame)}\r\n\r\n`).join(''), { + status: 200, + })) as unknown as typeof fetch; + const client = makeHttpClient({ + endpoint: 'http://127.0.0.1:9999/', + fetch: fakeFetch, + streamDir, + maxStreamBytes: 3, + }); + + await expect(client.callStream('download_file_stream', {})).rejects.toThrow( + /frame 1.*exceed.*3 bytes/i, + ); + expect(fs.readdirSync(streamDir)).toEqual([]); + }); + + it('fails fast when a non-file stream exceeds the bounded frame summary count', async () => { + const frames = Array.from({ length: 257 }, (_, index) => ({ + status: 'ok', + retcode: 0, + data: { type: 'stream', data_type: 'data_chunk', data: `frame-${index}` }, + })); + const fakeFetch = (async () => + new Response(frames.map((frame) => `${JSON.stringify(frame)}\r\n\r\n`).join(''), { + status: 200, + })) as unknown as typeof fetch; + const client = makeHttpClient({ endpoint: 'http://127.0.0.1:9999/', fetch: fakeFetch }); + + await expect(client.callStream('test_download_stream', {})).rejects.toThrow( + /test_download_stream.*frame 256.*summary.*256/i, + ); + }); + + it('fails fast when a non-file stream exceeds the bounded summary text size', async () => { + const frame = { + status: 'ok', + retcode: 0, + data: { type: 'stream', data_type: 'data_chunk', data: 'x'.repeat(256 * 1024) }, + }; + const fakeFetch = (async () => + new Response(`${JSON.stringify(frame)}\r\n\r\n`, { + status: 200, + })) as unknown as typeof fetch; + const client = makeHttpClient({ endpoint: 'http://127.0.0.1:9999/', fetch: fakeFetch }); + + await expect(client.callStream('test_download_stream', {})).rejects.toThrow( + /test_download_stream.*frame 0.*summary text.*262144/i, + ); + }); + + it('rejects malformed base64 file frames and removes the partial file', async () => { + const streamDir = fs.mkdtempSync(path.join(os.tmpdir(), 'snowluma-mcp-client-')); + tempDirs.push(streamDir); + const frames = [ + { + status: 'ok', + retcode: 0, + data: { + type: 'stream', + data_type: 'file_info', + file_name: 'bad.bin', + file_size: 0, + }, + }, + { + status: 'ok', + retcode: 0, + data: { type: 'stream', data_type: 'file_chunk', index: 0, size: 0, data: '%%%=' }, + }, + ]; + const fakeFetch = (async () => + new Response(frames.map((frame) => `${JSON.stringify(frame)}\r\n\r\n`).join(''), { + status: 200, + })) as unknown as typeof fetch; + const client = makeHttpClient({ + endpoint: 'http://127.0.0.1:9999/', + fetch: fakeFetch, + streamDir, + }); + + await expect(client.callStream('download_file_stream', {})).rejects.toThrow( + /download_file_stream.*frame 1.*base64/i, + ); + expect(fs.readdirSync(streamDir)).toEqual([]); + }); + + it('accepts upload_file_stream single-frame acknowledgements without requiring a response-type terminal', async () => { + const ack = { + status: 'ok', + retcode: 0, + stream: 'stream-action', + data: { type: 'stream', status: 'chunk_received', received_chunks: 1, total_chunks: 2 }, + }; + const fakeFetch = (async () => + new Response(`${JSON.stringify(ack)}\r\n\r\n`, { + status: 200, + })) as unknown as typeof fetch; + const client = makeHttpClient({ endpoint: 'http://127.0.0.1:9999/', fetch: fakeFetch }); + + await expect( + client.callStream('upload_file_stream', { + stream_id: 'id', + chunk_index: 0, + chunk_data: 'YQ==', + }), + ).resolves.toEqual({ frame_count: 1, frames: [], terminal: ack }); + }); + + it('refuses MCP-host file upload unless an upload root is explicitly configured', async () => { + const dir = fs.mkdtempSync(path.join(os.tmpdir(), 'snowluma-mcp-upload-')); + tempDirs.push(dir); + const inputFile = path.join(dir, 'local.txt'); + fs.writeFileSync(inputFile, 'local'); + let fetchCalls = 0; + const fakeFetch = (async () => { + fetchCalls++; + throw new Error('fetch must not run'); + }) as unknown as typeof fetch; + const client = makeHttpClient({ endpoint: 'http://127.0.0.1:9999/', fetch: fakeFetch }); + + await expect(client.callStream('upload_file_stream', {}, { inputFile })).rejects.toThrow( + /upload_file_stream.*resolve input.*SNOWLUMA_MCP_UPLOAD_ROOT/i, + ); + expect(fetchCalls).toBe(0); + }); + + it('rejects an unterminated wire frame before its buffer can grow beyond the 24 MiB frame cap', async () => { + const oversized = new Uint8Array(24 * 1024 * 1024 + 1).fill(0x78); + const fakeFetch = (async () => + new Response(oversized, { status: 200 })) as unknown as typeof fetch; + const client = makeHttpClient({ endpoint: 'http://127.0.0.1:9999/', fetch: fakeFetch }); + + await expect(client.callStream('test_download_stream', {})).rejects.toThrow( + /test_download_stream.*frame 0.*wire.*25165824/i, + ); + }); + + it('actively cancels the response body when frame parsing fails', async () => { + let cancelled = false; + const body = new ReadableStream({ + start(controller) { + controller.enqueue(new TextEncoder().encode('not-json\r\n\r\n')); + }, + cancel() { + cancelled = true; + }, + }); + const fakeFetch = (async () => + new Response(body, { status: 200 })) as unknown as typeof fetch; + const client = makeHttpClient({ endpoint: 'http://127.0.0.1:9999/', fetch: fakeFetch }); + + await expect(client.callStream('test_download_stream', {})).rejects.toThrow( + /frame 0.*invalid JSON/i, + ); + expect(cancelled).toBe(true); + }); + + it('rejects EOF on a generic stream that never produced a response terminal', async () => { + const frame = { + status: 'ok', + retcode: 0, + data: { type: 'stream', data_type: 'data_chunk', data: 'only-intermediate' }, + }; + const fakeFetch = (async () => + new Response(`${JSON.stringify(frame)}\r\n\r\n`, { + status: 200, + })) as unknown as typeof fetch; + const client = makeHttpClient({ endpoint: 'http://127.0.0.1:9999/', fetch: fakeFetch }); + + await expect(client.callStream('test_download_stream', {})).rejects.toThrow( + /test_download_stream.*EOF.*missing.*response terminal/i, + ); + }); + + it('rejects any generic frame after the unique response terminal', async () => { + const frames = [ + { + status: 'ok', + retcode: 0, + data: { type: 'response', data_type: 'data_complete', data: 'done' }, + }, + { + status: 'ok', + retcode: 0, + data: { type: 'stream', data_type: 'data_chunk', data: 'late' }, + }, + ]; + const fakeFetch = (async () => + new Response(frames.map((frame) => `${JSON.stringify(frame)}\r\n\r\n`).join(''), { + status: 200, + })) as unknown as typeof fetch; + const client = makeHttpClient({ endpoint: 'http://127.0.0.1:9999/', fetch: fakeFetch }); + + await expect(client.callStream('test_download_stream', {})).rejects.toThrow( + /test_download_stream.*frame 1.*after response terminal.*frame 0/i, + ); + }); + + it('realpaths upload inputs and rejects a symlink that escapes the configured upload root', async () => { + const root = fs.mkdtempSync(path.join(os.tmpdir(), 'snowluma-mcp-root-')); + const outside = fs.mkdtempSync(path.join(os.tmpdir(), 'snowluma-mcp-outside-')); + tempDirs.push(root, outside); + const outsideFile = path.join(outside, 'secret.txt'); + const link = path.join(root, 'escape.txt'); + fs.writeFileSync(outsideFile, 'secret'); + fs.symlinkSync(outsideFile, link); + let fetchCalls = 0; + const fakeFetch = (async () => { + fetchCalls++; + throw new Error('fetch must not run'); + }) as unknown as typeof fetch; + const client = makeHttpClient({ + endpoint: 'http://127.0.0.1:9999/', + fetch: fakeFetch, + uploadRoot: root, + }); + + await expect( + client.callStream('upload_file_stream', {}, { inputFile: link }), + ).rejects.toThrow(/upload_file_stream.*resolve input.*outside.*upload root/i); + expect(fetchCalls).toBe(0); + }); + + it('uploads an allowed MCP-host file in fixed chunks and returns a base64-free summary', async () => { + const root = fs.mkdtempSync(path.join(os.tmpdir(), 'snowluma-mcp-root-')); + tempDirs.push(root); + const inputFile = path.join(root, 'payload.bin'); + const content = Buffer.alloc(600 * 1024); + + for (let i = 0; i < content.length; i++) { + content[i] = i % 251; + } + + fs.writeFileSync(inputFile, content); + const sha256 = createHash('sha256').update(content).digest('hex'); + const requests: Array> = []; + const fakeFetch = (async (_url: unknown, init: RequestInit) => { + const request = JSON.parse(String(init.body)) as Record; + requests.push(request); + const p = request.params; + const data = p.is_complete + ? { + type: 'response', + status: 'file_complete', + file_path: '/snowluma/upload/payload.bin', + file_size: content.length, + sha256, + total_chunks: 2, + } + : { + type: 'stream', + status: 'chunk_received', + received_chunks: p.chunk_index + 1, + total_chunks: 2, + }; + const frame = { status: 'ok', retcode: 0, stream: 'stream-action', data }; + return new Response(`${JSON.stringify(frame)}\r\n\r\n`, { status: 200 }); + }) as unknown as typeof fetch; + const client = makeHttpClient({ + endpoint: 'http://127.0.0.1:9999/', + fetch: fakeFetch, + uploadRoot: root, + }); + + const progress: TransferProgress[] = []; + const result = await client.callStream( + 'upload_file_stream', + { file_retention: 0 }, + { + inputFile, + onProgress: async (update) => { + progress.push(update); + }, + }, + ); + expect(progress.map((update) => update.progress)).toEqual([0, 512 * 1024, content.length]); + expect(progress.every((update) => update.total === content.length)).toBe(true); + + expect(requests).toHaveLength(3); + expect(requests.every((request) => request.action === 'upload_file_stream')).toBe(true); + const chunks = requests + .slice(0, 2) + .map((request) => Buffer.from(request.params.chunk_data, 'base64')); + expect(Buffer.concat(chunks).equals(content)).toBe(true); + expect(requests[0].params).toMatchObject({ + chunk_index: 0, + total_chunks: 2, + file_size: content.length, + filename: 'payload.bin', + file_retention: 0, + }); + expect(requests[1].params).toMatchObject({ chunk_index: 1, total_chunks: 2 }); + expect(requests[2].params).toMatchObject({ + is_complete: true, + expected_sha256: sha256, + file_size: content.length, + }); + expect(new Set(requests.map((request) => request.params.stream_id)).size).toBe(1); + expect(result).toMatchObject({ + file_path: '/snowluma/upload/payload.bin', + file_size: content.length, + sha256, + chunk_count: 2, + stream_id: requests[0].params.stream_id, + }); + expect(JSON.stringify(result)).not.toContain(requests[0].params.chunk_data); + }); + + it('attempts to reset the remote upload stream after a chunk failure and preserves the original stage error', async () => { + const root = fs.mkdtempSync(path.join(os.tmpdir(), 'snowluma-mcp-root-')); + tempDirs.push(root); + const inputFile = path.join(root, 'payload.bin'); + fs.writeFileSync(inputFile, Buffer.alloc(600 * 1024, 7)); + const requests: Array> = []; + const fakeFetch = (async (_url: unknown, init: RequestInit) => { + const request = JSON.parse(String(init.body)) as Record; + requests.push(request); + let frame: Record; + + if (request.params.reset) { + frame = { + status: 'failed', + retcode: 100, + wording: 'Stream reset completed', + data: { type: 'error', data_type: 'error' }, + }; + } else if (request.params.chunk_index === 1) { + frame = { + status: 'failed', + retcode: 100, + wording: 'disk full', + data: { type: 'error', data_type: 'error' }, + }; + } else { + frame = { + status: 'ok', + retcode: 0, + data: { + type: 'stream', + status: 'chunk_received', + received_chunks: 1, + total_chunks: 2, + }, + }; + } + + return new Response(`${JSON.stringify(frame)}\r\n\r\n`, { status: 200 }); + }) as unknown as typeof fetch; + const client = makeHttpClient({ + endpoint: 'http://127.0.0.1:9999/', + fetch: fakeFetch, + uploadRoot: root, + }); + + await expect(client.callStream('upload_file_stream', {}, { inputFile })).rejects.toThrow( + /upload_file_stream.*send chunk 1.*disk full/i, + ); + expect(requests.at(-1)?.params).toMatchObject({ + stream_id: requests[0].params.stream_id, + reset: true, + }); + }); + + it('adds action and request-stage context to a stream transport failure', async () => { + const fakeFetch = (async () => { + throw new Error('ECONNREFUSED'); + }) as unknown as typeof fetch; + const client = makeHttpClient({ endpoint: 'http://127.0.0.1:9999/', fetch: fakeFetch }); + + await expect(client.callStream('test_download_stream', {})).rejects.toThrow( + /action test_download_stream.*connection.*ECONNREFUSED/i, + ); + }); + + it('fails fast when automatic-upload params conflict with MCP-owned transfer fields', async () => { + const root = fs.mkdtempSync(path.join(os.tmpdir(), 'snowluma-mcp-root-')); + tempDirs.push(root); + const inputFile = path.join(root, 'empty.bin'); + fs.writeFileSync(inputFile, ''); + let fetchCalls = 0; + const fakeFetch = (async () => { + fetchCalls++; + throw new Error('fetch must not run'); + }) as unknown as typeof fetch; + const client = makeHttpClient({ + endpoint: 'http://127.0.0.1:9999/', + fetch: fakeFetch, + uploadRoot: root, + }); + + await expect( + client.callStream( + 'upload_file_stream', + { stream_id: 'caller-owned', chunk_data: 'YQ==' }, + { inputFile }, + ), + ).rejects.toThrow(/upload_file_stream.*prepare upload.*conflict.*stream_id.*chunk_data/i); + expect(fetchCalls).toBe(0); + }); + + it('uploads an empty file as one empty chunk followed by explicit completion', async () => { + const root = fs.mkdtempSync(path.join(os.tmpdir(), 'snowluma-mcp-root-')); + tempDirs.push(root); + const inputFile = path.join(root, 'empty.bin'); + fs.writeFileSync(inputFile, ''); + const sha256 = createHash('sha256').update('').digest('hex'); + const requests: Array> = []; + const fakeFetch = (async (_url: unknown, init: RequestInit) => { + const request = JSON.parse(String(init.body)) as Record; + requests.push(request); + const data = request.params.is_complete + ? { + type: 'response', + status: 'file_complete', + file_path: '/remote/empty.bin', + file_size: 0, + sha256, + } + : { type: 'stream', status: 'chunk_received', received_chunks: 1, total_chunks: 1 }; + return new Response(`${JSON.stringify({ status: 'ok', retcode: 0, data })}\r\n\r\n`, { + status: 200, + }); + }) as unknown as typeof fetch; + const client = makeHttpClient({ + endpoint: 'http://127.0.0.1:9999/', + fetch: fakeFetch, + uploadRoot: root, + }); + + const progress: TransferProgress[] = []; + const result = await client.callStream( + 'upload_file_stream', + {}, + { + inputFile, + onProgress: async (update) => { + progress.push(update); + }, + }, + ); + expect( + progress.every((update) => update.progress === 0 && update.total === undefined), + ).toBe(true); + expect(progress).toHaveLength(2); + + expect(requests).toHaveLength(2); + expect(requests[0].params).toMatchObject({ + chunk_data: '', + chunk_index: 0, + total_chunks: 1, + file_size: 0, + }); + expect(requests[1].params).toMatchObject({ is_complete: true, expected_sha256: sha256 }); + expect(result).toMatchObject({ + file_path: '/remote/empty.bin', + file_size: 0, + sha256, + chunk_count: 1, + }); + }); + + it('rejects an upload input that resolves to a directory before any network call', async () => { + const root = fs.mkdtempSync(path.join(os.tmpdir(), 'snowluma-mcp-root-')); + const dir = path.join(root, 'nested'); + fs.mkdirSync(dir); + tempDirs.push(root); + let fetchCalls = 0; + const fakeFetch = (async () => { + fetchCalls++; + throw new Error('fetch must not run'); + }) as unknown as typeof fetch; + const client = makeHttpClient({ + endpoint: 'http://127.0.0.1:9999/', + fetch: fakeFetch, + uploadRoot: root, + }); + + await expect( + client.callStream('upload_file_stream', {}, { inputFile: dir }), + ).rejects.toThrow(/upload_file_stream.*open input.*not a regular file/i); + expect(fetchCalls).toBe(0); + }); + + it('reports a failed best-effort remote reset instead of silently dropping it', async () => { + const root = fs.mkdtempSync(path.join(os.tmpdir(), 'snowluma-mcp-root-')); + tempDirs.push(root); + const inputFile = path.join(root, 'one.bin'); + fs.writeFileSync(inputFile, 'x'); + let calls = 0; + const fakeFetch = (async (_url: unknown, init: RequestInit) => { + calls++; + const request = JSON.parse(String(init.body)) as Record; + + if (request.params.reset) { + throw new Error('reset connection lost'); + } + + const frame = { + status: 'failed', + retcode: 100, + wording: 'chunk rejected', + data: { type: 'error' }, + }; + return new Response(`${JSON.stringify(frame)}\r\n\r\n`, { status: 200 }); + }) as unknown as typeof fetch; + const client = makeHttpClient({ + endpoint: 'http://127.0.0.1:9999/', + fetch: fakeFetch, + uploadRoot: root, + }); + + await expect(client.callStream('upload_file_stream', {}, { inputFile })).rejects.toThrow( + /send chunk 0.*chunk rejected.*remote reset failed.*reset connection lost/i, + ); + expect(calls).toBe(2); + }); + + it('rejects file_info whose declared chunk geometry exceeds the 200000-frame file cap', async () => { + const streamDir = fs.mkdtempSync(path.join(os.tmpdir(), 'snowluma-mcp-client-')); + tempDirs.push(streamDir); + const frame = { + status: 'ok', + retcode: 0, + data: { + type: 'stream', + data_type: 'file_info', + file_name: 'tiny-chunks.bin', + file_size: 200_001, + chunk_size: 1, + }, + }; + const fakeFetch = (async () => + new Response(`${JSON.stringify(frame)}\r\n\r\n`, { + status: 200, + })) as unknown as typeof fetch; + const client = makeHttpClient({ + endpoint: 'http://127.0.0.1:9999/', + fetch: fakeFetch, + streamDir, + }); + + await expect(client.callStream('download_file_stream', {})).rejects.toThrow( + /frame 0.*file chunks.*200000/i, + ); + expect(fs.readdirSync(streamDir)).toEqual([]); + }); + + it('treats file_size=0 as unknown and commits a non-empty download using terminal.total_bytes', async () => { + const streamDir = fs.mkdtempSync(path.join(os.tmpdir(), 'snowluma-mcp-client-')); + tempDirs.push(streamDir); + const content = Buffer.from('unknown-size payload'); + const frames = [ + { + status: 'ok', + retcode: 0, + data: { + type: 'stream', + data_type: 'file_info', + file_name: 'unknown.bin', + file_size: 0, + chunk_size: 65536, + }, + }, + { + status: 'ok', + retcode: 0, + data: { + type: 'stream', + data_type: 'file_chunk', + index: 0, + size: content.length, + data: content.toString('base64'), + }, + }, + { + status: 'ok', + retcode: 0, + data: { + type: 'response', + data_type: 'file_complete', + total_chunks: 1, + total_bytes: content.length, + }, + }, + ]; + const fakeFetch = (async () => + new Response(frames.map((frame) => `${JSON.stringify(frame)}\r\n\r\n`).join(''), { + status: 200, + })) as unknown as typeof fetch; + const client = makeHttpClient({ + endpoint: 'http://127.0.0.1:9999/', + fetch: fakeFetch, + streamDir, + }); + + const progress: TransferProgress[] = []; + const result = await client.callStream( + 'download_file_stream', + {}, + { + onProgress: async (update) => { + progress.push(update); + }, + }, + ); + + expect(result.file_size).toBe(content.length); + expect(fs.readFileSync(result.file_path).equals(content)).toBe(true); + expect(progress.map((update) => update.progress)).toEqual([0, content.length]); + expect(progress.every((update) => update.total === undefined)).toBe(true); + }); + + it('cleans partial downloads and releases admission when progress delivery fails', async () => { + const streamDir = fs.mkdtempSync(path.join(os.tmpdir(), 'snowluma-mcp-progress-')); + tempDirs.push(streamDir); + const frame = { + status: 'ok', + retcode: 0, + data: { type: 'stream', data_type: 'file_info', file_name: 'test.bin', file_size: 3 }, + }; + const fakeFetch: typeof fetch = async () => + new Response(`${JSON.stringify(frame)}\r\n\r\n`); + const client = makeHttpClient({ + endpoint: 'http://unused.invalid', + streamDir, + maxStreamBytes: 3, + fetch: fakeFetch, + }); + + for (let attempt = 0; attempt < 5; attempt++) { + await expect( + client.callStream( + 'download_file_stream', + {}, + { + onProgress: async () => { + throw new Error('notification failed'); + }, + }, + ), + ).rejects.toThrow('notification failed'); + expect(fs.readdirSync(streamDir)).toEqual([]); + } + }); + + it('stops processing already-buffered frames after a cancellation during progress', async () => { + const streamDir = fs.mkdtempSync(path.join(os.tmpdir(), 'snowluma-mcp-progress-')); + tempDirs.push(streamDir); + const frames = [ + { + status: 'ok', + retcode: 0, + data: { + type: 'stream', + data_type: 'file_info', + file_name: 'test.bin', + file_size: 1, + }, + }, + { + status: 'ok', + retcode: 0, + data: { type: 'stream', data_type: 'file_chunk', index: 0, size: 1, data: 'eA==' }, + }, + { + status: 'ok', + retcode: 0, + data: { + type: 'response', + data_type: 'file_complete', + total_bytes: 1, + total_chunks: 1, + }, + }, + ]; + const controller = new AbortController(); + const fakeFetch: typeof fetch = async () => + new Response(frames.map((frame) => `${JSON.stringify(frame)}\r\n\r\n`).join('')); + const client = makeHttpClient({ + endpoint: 'http://unused.invalid', + streamDir, + fetch: fakeFetch, + }); + const updates: number[] = []; + await expect( + client.callStream( + 'download_file_stream', + {}, + { + signal: controller.signal, + onProgress: async (update) => { + updates.push(update.progress); + controller.abort(); + }, + }, + ), + ).rejects.toThrow(/cancelled/); + expect(updates).toEqual([0]); + expect(fs.readdirSync(streamDir)).toEqual([]); + }); + + it('requires file_info as the first successful frame for known file-download actions', async () => { + const frame = { + status: 'ok', + retcode: 0, + data: { type: 'stream', data_type: 'data_chunk', data: 'unexpected' }, + }; + const fakeFetch = (async () => + new Response(`${JSON.stringify(frame)}\r\n\r\n`, { + status: 200, + })) as unknown as typeof fetch; + const client = makeHttpClient({ endpoint: 'http://127.0.0.1:9999/', fetch: fakeFetch }); + + await expect(client.callStream('download_file_stream', {})).rejects.toThrow( + /download_file_stream.*frame 0.*first.*file_info/i, + ); + }); + + it('never treats file_chunk or file_complete without file_info as a generic frame summary', async () => { + for (const dataType of ['file_chunk', 'file_complete']) { + const secret = Buffer.from(`secret-${dataType}`).toString('base64'); + const frame = { + status: 'ok', + retcode: 0, + data: { type: 'stream', data_type: dataType, data: secret }, + }; + const fakeFetch = (async () => + new Response(`${JSON.stringify(frame)}\r\n\r\n`, { + status: 200, + })) as unknown as typeof fetch; + const client = makeHttpClient({ endpoint: 'http://127.0.0.1:9999/', fetch: fakeFetch }); + + let message = ''; + + try { + await client.callStream('test_download_stream', {}); + } catch (error) { + message = String(error); + } + + expect(message).toMatch(/frame 0.*without file_info/i); + expect(message).not.toContain(secret); + } + }); + + it('cancels an in-flight download from the MCP signal and removes its partial file', async () => { + const streamDir = fs.mkdtempSync(path.join(os.tmpdir(), 'snowluma-mcp-client-')); + tempDirs.push(streamDir); + const prefix = [ + { + status: 'ok', + retcode: 0, + data: { + type: 'stream', + data_type: 'file_info', + file_name: 'cancel.bin', + file_size: 6, + chunk_size: 3, + }, + }, + { + status: 'ok', + retcode: 0, + data: { + type: 'stream', + data_type: 'file_chunk', + index: 0, + size: 3, + data: Buffer.from('abc').toString('base64'), + }, + }, + ] + .map((frame) => `${JSON.stringify(frame)}\r\n\r\n`) + .join(''); + let bodyCancelled = false; + const fakeFetch = (async () => + new Response( + new ReadableStream({ + start(controller) { + controller.enqueue(new TextEncoder().encode(prefix)); + }, + cancel() { + bodyCancelled = true; + }, + }), + { status: 200 }, + )) as unknown as typeof fetch; + const client = makeHttpClient({ + endpoint: 'http://127.0.0.1:9999/', + fetch: fakeFetch, + streamDir, + timeoutMs: 1_000, + }); + const controller = new AbortController(); + const pending = client.callStream( + 'download_file_stream', + {}, + { signal: controller.signal }, + ); + + for ( + let i = 0; + i < 50 && !fs.readdirSync(streamDir).some((name) => name.endsWith('.part')); + i++ + ) { + await new Promise((resolve) => setImmediate(resolve)); + } + + controller.abort(new Error('MCP caller cancelled')); + const outcome = await Promise.race([ + pending.then( + (value) => ({ value }), + (error) => ({ error }), + ), + new Promise<{ pending: true }>((resolve) => + setTimeout(() => resolve({ pending: true }), 250), + ), + ]); + + expect(outcome).toHaveProperty('error'); + expect(String('error' in outcome ? outcome.error : '')).toMatch( + /download_file_stream.*cancel.*MCP caller cancelled/i, + ); + expect(bodyCancelled).toBe(true); + expect(fs.readdirSync(streamDir)).toEqual([]); + }); + + it('resets the idle deadline after every frame instead of imposing an overall stream timeout', async () => { + const frames = [ + { + status: 'ok', + retcode: 0, + data: { type: 'stream', data_type: 'data_chunk', data: 'one' }, + }, + { + status: 'ok', + retcode: 0, + data: { type: 'stream', data_type: 'data_chunk', data: 'two' }, + }, + { + status: 'ok', + retcode: 0, + data: { type: 'response', data_type: 'data_complete', data: 'done' }, + }, + ]; + const fakeFetch = (async (_url: unknown, init: RequestInit) => { + const signal = init.signal as AbortSignal; + const body = new ReadableStream({ + start(controller) { + const timers = frames.map((frame, index) => + setTimeout(() => { + controller.enqueue( + new TextEncoder().encode(`${JSON.stringify(frame)}\r\n\r\n`), + ); + + if (index === frames.length - 1) { + controller.close(); + } + }, [10, 35, 65][index]), + ); + signal.addEventListener( + 'abort', + () => { + for (const timer of timers) { + clearTimeout(timer); + } + + controller.error(signal.reason); + }, + { once: true }, + ); + }, + }); + return new Response(body, { status: 200 }); + }) as unknown as typeof fetch; + const client = makeHttpClient({ + endpoint: 'http://127.0.0.1:9999/', + fetch: fakeFetch, + timeoutMs: 40, + }); + + const result = await client.callStream('test_download_stream', {}); + + expect(result).toMatchObject({ frame_count: 3, terminal: frames[2] }); + }); + + it('cancels a stalled body at the per-read idle deadline and removes the partial file', async () => { + const streamDir = fs.mkdtempSync(path.join(os.tmpdir(), 'snowluma-mcp-client-')); + tempDirs.push(streamDir); + const info = { + status: 'ok', + retcode: 0, + data: { + type: 'stream', + data_type: 'file_info', + file_name: 'idle.bin', + file_size: 4, + chunk_size: 4, + }, + }; + let cancelled = false; + const fakeFetch = (async () => + new Response( + new ReadableStream({ + start(controller) { + controller.enqueue( + new TextEncoder().encode(`${JSON.stringify(info)}\r\n\r\n`), + ); + }, + cancel() { + cancelled = true; + }, + }), + { status: 200 }, + )) as unknown as typeof fetch; + const client = makeHttpClient({ + endpoint: 'http://127.0.0.1:9999/', + fetch: fakeFetch, + streamDir, + timeoutMs: 20, + }); + + await expect(client.callStream('download_file_stream', {})).rejects.toThrow( + /download_file_stream.*idle timeout.*20ms/i, + ); + expect(cancelled).toBe(true); + expect(fs.readdirSync(streamDir)).toEqual([]); + }); + + it('propagates upload cancellation but performs remote reset with an independent cleanup signal', async () => { + const root = fs.mkdtempSync(path.join(os.tmpdir(), 'snowluma-mcp-root-')); + tempDirs.push(root); + const inputFile = path.join(root, 'cancel-upload.bin'); + fs.writeFileSync(inputFile, 'x'); + const requests: Array> = []; + const signals: AbortSignal[] = []; + let markUploadRequestStarted!: () => void; + const uploadRequestStarted = new Promise((resolve) => { + markUploadRequestStarted = resolve; + }); + const fakeFetch = (async (_url: unknown, init: RequestInit) => { + const request = JSON.parse(String(init.body)) as Record; + requests.push(request); + signals.push(init.signal as AbortSignal); + + if (request.params.reset) { + const reset = { + status: 'failed', + retcode: 100, + wording: 'Stream reset completed', + data: { type: 'error' }, + }; + return new Response(`${JSON.stringify(reset)}\r\n\r\n`, { status: 200 }); + } + + markUploadRequestStarted(); + return new Response(new ReadableStream({ start() {} }), { status: 200 }); + }) as unknown as typeof fetch; + const client = makeHttpClient({ + endpoint: 'http://127.0.0.1:9999/', + fetch: fakeFetch, + uploadRoot: root, + timeoutMs: 1_000, + }); + const controller = new AbortController(); + const pending = client.callStream( + 'upload_file_stream', + {}, + { inputFile, signal: controller.signal }, + ); + await uploadRequestStarted; + + controller.abort(new Error('cancel automatic upload')); + const outcome = await Promise.race([ + pending.then( + (value) => ({ value }), + (error) => ({ error }), + ), + new Promise<{ pending: true }>((resolve) => + setTimeout(() => resolve({ pending: true }), 250), + ), + ]); + + expect(outcome).toHaveProperty('error'); + expect(String('error' in outcome ? outcome.error : '')).toMatch( + /upload_file_stream.*cancel automatic upload/i, + ); + expect(requests.at(-1)?.params).toMatchObject({ + reset: true, + stream_id: requests[0].params.stream_id, + }); + expect(signals).toHaveLength(2); + expect(signals[1]).not.toBe(controller.signal); + expect(signals[1].aborted).toBe(false); + }); + + it('limits each client to four top-level active Stream Actions', async () => { + const resolvers: Array<(response: Response) => void> = []; + const fakeFetch = (async () => + new Promise((resolve) => { + resolvers.push(resolve); + })) as unknown as typeof fetch; + const client = makeHttpClient({ + endpoint: 'http://127.0.0.1:9999/', + fetch: fakeFetch, + timeoutMs: 1_000, + }); + const active = Array.from({ length: 4 }, () => + client.callStream('test_download_stream', {}), + ); + const fifth = client.callStream('test_download_stream', {}); + const fifthOutcomePromise = fifth.then( + (value) => ({ value }), + (error) => ({ error }), + ); + await new Promise((resolve) => setImmediate(resolve)); + const startedRequests = resolvers.length; + const terminal = { + status: 'ok', + retcode: 0, + data: { type: 'response', data_type: 'data_complete' }, + }; + + for (const resolve of resolvers) { + resolve(new Response(`${JSON.stringify(terminal)}\r\n\r\n`, { status: 200 })); + } + + const fifthOutcome = await fifthOutcomePromise; + await Promise.all(active); + + expect(startedRequests).toBe(4); + expect(fifthOutcome).toHaveProperty('error'); + expect(String('error' in fifthOutcome ? fifthOutcome.error : '')).toMatch( + /active Stream Action.*limit.*4/i, + ); + }); + + it('enforces the download-directory quota and reserves maxStreamBytes for unknown-size files', async () => { + const streamDir = fs.mkdtempSync(path.join(os.tmpdir(), 'snowluma-mcp-quota-')); + tempDirs.push(streamDir); + fs.writeFileSync(path.join(streamDir, 'existing.bin'), Buffer.alloc(11)); + const info = { + status: 'ok', + retcode: 0, + data: { + type: 'stream', + data_type: 'file_info', + file_name: 'unknown.bin', + file_size: 0, + chunk_size: 4, + }, + }; + const fakeFetch = (async () => + new Response(`${JSON.stringify(info)}\r\n\r\n`, { + status: 200, + })) as unknown as typeof fetch; + const client = makeHttpClient({ + endpoint: 'http://127.0.0.1:9999/', + fetch: fakeFetch, + streamDir, + maxStreamBytes: 10, + }); + + await expect(client.callStream('download_file_stream', {})).rejects.toThrow( + /download directory quota.*20.*existing.*11.*reserve.*10/i, + ); + expect(fs.readdirSync(streamDir)).toEqual(['existing.bin']); + }); + + it('includes in-process reservations when admitting concurrent downloads', async () => { + const streamDir = fs.mkdtempSync(path.join(os.tmpdir(), 'snowluma-mcp-quota-')); + tempDirs.push(streamDir); + fs.writeFileSync(path.join(streamDir, 'existing.bin'), Buffer.alloc(1)); + const info = { + status: 'ok', + retcode: 0, + data: { + type: 'stream', + data_type: 'file_info', + file_name: 'pending.bin', + file_size: 0, + chunk_size: 4, + }, + }; + const fakeFetch = (async () => + new Response( + new ReadableStream({ + start(controller) { + controller.enqueue( + new TextEncoder().encode(`${JSON.stringify(info)}\r\n\r\n`), + ); + }, + }), + { status: 200 }, + )) as unknown as typeof fetch; + const client = makeHttpClient({ + endpoint: 'http://127.0.0.1:9999/', + fetch: fakeFetch, + streamDir, + maxStreamBytes: 10, + timeoutMs: 1_000, + }); + const firstController = new AbortController(); + const first = client.callStream( + 'download_file_stream', + { id: 1 }, + { signal: firstController.signal }, + ); + const firstOutcome = first.then( + (value) => ({ value }), + (error) => ({ error }), + ); + + for ( + let i = 0; + i < 50 && !fs.readdirSync(streamDir).some((name) => name.endsWith('.part')); + i++ + ) { + await new Promise((resolve) => setImmediate(resolve)); + } + + await expect(client.callStream('download_file_stream', { id: 2 })).rejects.toThrow( + /quota.*reserved=10.*reserve=10/i, + ); + firstController.abort(new Error('test cleanup')); + await firstOutcome; + expect(fs.readdirSync(streamDir)).toEqual(['existing.bin']); + }); +}); diff --git a/packages/mcp/tests/elicitation.test.ts b/packages/mcp/tests/elicitation.test.ts new file mode 100644 index 00000000..295f3566 --- /dev/null +++ b/packages/mcp/tests/elicitation.test.ts @@ -0,0 +1,585 @@ +import { afterEach, describe, expect, it, vi } from 'vitest'; +import { Client, StreamableHTTPClientTransport } from '@modelcontextprotocol/client'; +import { createMcpHandler, Server, type ClientCapabilities } from '@modelcontextprotocol/server'; +import { Client as LegacyClient } from '@modelcontextprotocol/sdk/client/index.js'; +import { InMemoryTransport } from '@modelcontextprotocol/sdk/inMemory.js'; +import { ElicitRequestSchema } from '@modelcontextprotocol/sdk/types.js'; +import { + createInputCompletion, + inputCompletionBaseTool, + inputCompletionTools, + isInputCompletionTool, +} from '../src/elicitation'; +import { asError, asText } from '../src/results'; +import { computeTools, prepareActionCall, type Mode } from '../src/tools'; +import type { ActionClient } from '../src/client'; +import { createMcpServer } from '../src/server-factory'; + +const cleanup: Array<() => void | Promise> = []; +const completeCapabilities: ClientCapabilities = { elicitation: { form: {} } }; +const ORIGINAL = { action: 'send_private_msg', params: { message: 'private original message' } }; + +afterEach(async () => { + for (const close of cleanup.splice(0).reverse()) { + await close(); + } + + vi.useRealTimers(); + vi.restoreAllMocks(); +}); + +function harness(options: Parameters[0] = {}, mode: Mode = 'write') { + const completion = createInputCompletion(options); + const execute = vi.fn(async (args: Record) => asText(args.params)); + const client: ActionClient = { + call: vi.fn(async () => ({ status: 'ok', retcode: 0 })), + callStream: vi.fn(async () => ({ + frame_count: 1, + frames: [], + terminal: { status: 'ok', retcode: 0 }, + })), + }; + const preflight = vi.fn((args: Record, kind: 'read' | 'write') => { + const result = prepareActionCall(args, { mode, client }, kind); + return 'structuredContent' in result + ? result + : { + action: result.action, + params: result.params, + inputSchema: result.inputSchema, + }; + }); + + const factory = () => { + const server = new Server( + { name: 'input-test', version: '1' }, + { + capabilities: { tools: {} }, + requestState: { verify: completion.verifyRequestState }, + }, + ); + server.setRequestHandler('tools/list', async () => ({ + tools: inputCompletionTools(computeTools('write')), + })); + server.setRequestHandler('tools/call', (request, context) => { + if (!isInputCompletionTool(request.params.name)) { + return asError('unknown tool'); + } + + const name = request.params.name; + return completion.handle(name, request.params.arguments ?? {}, context, { + capabilities: + context.mcpReq.envelope?.['io.modelcontextprotocol/clientCapabilities'] ?? + server.getClientCapabilities(), + preflight: (args) => + preflight( + args, + inputCompletionBaseTool(name) === 'query_action' ? 'read' : 'write', + ), + execute, + }); + }); + return server; + }; + + const handler = createMcpHandler(factory); + cleanup.push( + () => completion.close(), + () => handler.close(), + ); + + async function raw( + arguments_: Record = ORIGINAL, + retry: Record = {}, + capabilities: ClientCapabilities = completeCapabilities, + name = 'invoke_action_with_input', + token?: string, + ) { + const response = await handler.fetch( + new Request('http://input.invalid/mcp', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + Accept: 'application/json, text/event-stream', + 'Mcp-Method': 'tools/call', + 'Mcp-Name': name, + 'Mcp-Protocol-Version': '2026-07-28', + }, + body: JSON.stringify({ + jsonrpc: '2.0', + id: 1, + method: 'tools/call', + params: { + name, + arguments: arguments_, + ...retry, + _meta: { + 'io.modelcontextprotocol/protocolVersion': '2026-07-28', + 'io.modelcontextprotocol/clientCapabilities': capabilities, + 'io.modelcontextprotocol/clientInfo': { + name: 'input-test', + version: '1', + }, + }, + }, + }), + }), + token ? { authInfo: { token, clientId: 'test-app', scopes: [] } } : undefined, + ); + return response.json(); + } + + return { completion, handler, factory, execute, preflight, raw }; +} + +function answer(requestState: string, content: unknown = { params_json: '{"user_id":123}' }) { + return { requestState, inputResponses: { missing_parameters: { action: 'accept', content } } }; +} + +describe('optional action input completion', () => { + it('integrates with the production factory and preserves the original action result contract', async () => { + const completion = createInputCompletion(); + const onebot: ActionClient = { + call: vi.fn(async () => ({ status: 'ok', retcode: 0, data: { message_id: -42 } })), + callStream: vi.fn(), + }; + const log = vi.spyOn(console, 'error').mockImplementation(() => {}); + const handler = createMcpHandler(() => + createMcpServer({ mode: 'write', client: onebot, inputCompletion: completion }), + ); + const client = new Client( + { name: 'production-input-test', version: '1' }, + { + capabilities: completeCapabilities, + versionNegotiation: { mode: { pin: '2026-07-28' } }, + }, + ); + client.setRequestHandler('elicitation/create', async () => { + expect(onebot.call).not.toHaveBeenCalled(); + return { action: 'accept', content: { params_json: '{"user_id":123}' } }; + }); + cleanup.push( + () => completion.close(), + () => handler.close(), + () => client.close(), + ); + await client.connect( + new StreamableHTTPClientTransport(new URL('http://input.invalid/mcp'), { + fetch: (input, init) => handler.fetch(new Request(input, init)), + }), + ); + const result = await client.callTool({ + name: 'invoke_action_with_input', + arguments: ORIGINAL, + }); + expect(result.structuredContent).toEqual({ + result: { status: 'ok', retcode: 0, data: { message_id: -42 } }, + diagnostics: { outcome: 'success' }, + }); + expect(onebot.call).toHaveBeenCalledExactlyOnceWith( + 'send_private_msg', + { user_id: 123, message: ORIGINAL.params.message }, + expect.objectContaining({ signal: expect.any(AbortSignal) }), + ); + expect(JSON.stringify(log.mock.calls)).not.toContain(ORIGINAL.params.message); + expect(log.mock.calls.map(([, value]) => JSON.parse(String(value)).event)).toEqual([ + 'call_started', + 'call_input_required', + 'call_started', + 'call_finished', + ]); + }); + + it.each(['docs', 'read'] as const)( + 'keeps the production factory mode gate before input collection in %s mode', + async (mode) => { + const onebot: ActionClient = { call: vi.fn(), callStream: vi.fn() }; + const log = vi.spyOn(console, 'error').mockImplementation(() => {}); + const handler = createMcpHandler(() => createMcpServer({ mode, client: onebot })); + const client = new Client( + { name: 'permission-input-test', version: '1' }, + { + capabilities: completeCapabilities, + versionNegotiation: { mode: { pin: '2026-07-28' } }, + }, + ); + const ask = vi.fn(async () => ({ + action: 'accept' as const, + content: { params_json: '{"user_id":123}' }, + })); + client.setRequestHandler('elicitation/create', ask); + cleanup.push( + () => handler.close(), + () => client.close(), + ); + await client.connect( + new StreamableHTTPClientTransport(new URL('http://input.invalid/mcp'), { + fetch: (input, init) => handler.fetch(new Request(input, init)), + }), + ); + const result = await client.callTool({ + name: 'invoke_action_with_input', + arguments: ORIGINAL, + }); + expect(result.structuredContent).toMatchObject({ diagnostics: { kind: 'permission' } }); + expect(ask).not.toHaveBeenCalled(); + expect(onebot.call).not.toHaveBeenCalled(); + expect(log.mock.calls.map(([, value]) => JSON.parse(String(value)).event)).toEqual([ + 'call_started', + 'call_finished', + ]); + }, + ); + + it('inherits tool visibility and existing schemas without altering the original list', () => { + expect(inputCompletionTools(computeTools('docs'))).toEqual([]); + expect(inputCompletionTools(computeTools('read')).map((tool) => tool.name)).toEqual([ + 'query_action_with_input', + ]); + const tools = computeTools('write'); + expect(inputCompletionTools(tools).map((tool) => tool.name)).toEqual([ + 'query_action_with_input', + 'invoke_action_with_input', + ]); + expect(tools.some((tool) => tool.name.endsWith('_with_input'))).toBe(false); + expect(inputCompletionTools(tools)[1].inputSchema).toEqual( + tools.find((tool) => tool.name === 'invoke_action')?.inputSchema, + ); + }); + + it('asks before executing, never discloses existing values, and merges only validated missing fields', async () => { + const { raw, execute } = harness(); + const first = await raw(); + expect(first.result.resultType).toBe('input_required'); + expect(execute).not.toHaveBeenCalled(); + expect(first.result.inputRequests.missing_parameters).toMatchObject({ + method: 'elicitation/create', + }); + expect(JSON.stringify(first)).not.toContain(ORIGINAL.params.message); + const decodedToken = Buffer.from( + first.result.requestState.split('.')[1], + 'base64url', + ).toString(); + expect(decodedToken).not.toContain(ORIGINAL.params.message); + const result = await raw(ORIGINAL, answer(first.result.requestState)); + expect(result.result).toMatchObject({ + resultType: 'complete', + structuredContent: { result: { user_id: 123, message: ORIGINAL.params.message } }, + }); + expect(execute).toHaveBeenCalledExactlyOnceWith({ + action: ORIGINAL.action, + params: { ...ORIGINAL.params, user_id: 123 }, + }); + }); + + it('executes complete arguments without requiring elicitation capability or prompting', async () => { + const { raw, execute } = harness(); + const result = await raw({ action: 'get_msg', params: { message_id: -123 } }, {}, {}); + expect(result.result.structuredContent.result).toEqual({ message_id: -123 }); + expect(execute).toHaveBeenCalledOnce(); + }); + + it('honors permission failure before asking for input or executing', async () => { + const { raw, execute, preflight } = harness(); + preflight.mockReturnValue(asError('write mode required', 'permission')); + const result = await raw(); + expect(result.result.structuredContent.diagnostics.kind).toBe('permission'); + expect(result.result.inputRequests).toBeUndefined(); + expect(execute).not.toHaveBeenCalled(); + }); + + it.each(['docs', 'read'] as const)( + 'enforces actual write permission in %s mode', + async (mode) => { + const { raw, execute } = harness({}, mode); + const result = await raw(); + expect(result.result.structuredContent.diagnostics.kind).toBe('permission'); + expect(result.result.inputRequests).toBeUndefined(); + expect(execute).not.toHaveBeenCalled(); + }, + ); + + it('does not turn a write action into a read action through the input helper', async () => { + const { raw, execute } = harness(); + const result = await raw(ORIGINAL, {}, completeCapabilities, 'query_action_with_input'); + expect(result.result.structuredContent.diagnostics.kind).toBe('permission'); + expect(result.result.inputRequests).toBeUndefined(); + expect(execute).not.toHaveBeenCalled(); + }); + + it('fails visibly when the client has no form capability', async () => { + const { raw, execute } = harness(); + + for (const capabilities of [{}, { elicitation: { url: {} } }]) { + const result = await raw(ORIGINAL, {}, capabilities); + expect(result.result.structuredContent.diagnostics.kind).toBe('configuration'); + } + + expect(execute).not.toHaveBeenCalled(); + }); + + it.each(['decline', 'cancel'])( + 'stops on %s instead of repeatedly prompting', + async (action) => { + const { raw, execute } = harness(); + const first = await raw(); + const result = await raw(ORIGINAL, { + requestState: first.result.requestState, + inputResponses: { missing_parameters: { action } }, + }); + expect(result.result.structuredContent.diagnostics.kind).toBe('cancelled'); + expect(result.result.inputRequests).toBeUndefined(); + expect(execute).not.toHaveBeenCalled(); + }, + ); + + it.each([ + { params_json: '{' }, + { params_json: '{}' }, + { params_json: '{"user_id":0}' }, + { params_json: '{"user_id":"123"}' }, + { params_json: '{"user_id":123,"message":"replacement"}' }, + { params_json: '{"user_id":123,"auto_escape":true}' }, + { params_json: '[]' }, + { params_json: '{"user_id":123}', unexpected: 'value' }, + ])('rejects invalid or extraneous answers without executing: %j', async (content) => { + const { raw, execute } = harness(); + const first = await raw(); + const result = await raw(ORIGINAL, answer(first.result.requestState, content)); + expect(result.result.isError).toBe(true); + expect(execute).not.toHaveBeenCalled(); + }); + + it('accepts complex missing message data without guessing or normalizing it', async () => { + const { raw, execute } = harness(); + const args = { action: 'send_private_msg', params: { user_id: 123 } }; + const message = [ + { type: 'reply', data: { id: -42 } }, + { type: 'text', data: { text: 'hello' } }, + ]; + const first = await raw(args); + await raw( + args, + answer(first.result.requestState, { params_json: JSON.stringify({ message }) }), + ); + expect(execute).toHaveBeenCalledExactlyOnceWith({ + action: args.action, + params: { user_id: 123, message }, + }); + }); + + it('rejects tampered, mismatched and state-less retries', async () => { + const { raw, execute } = harness(); + const first = await raw(); + const tampered = await raw(ORIGINAL, answer(`${first.result.requestState}x`)); + expect(tampered.error.code).toBe(-32602); + const changed = await raw( + { ...ORIGINAL, params: { message: 'different message' } }, + answer(first.result.requestState), + ); + expect(changed.result.isError).toBe(true); + const crossed = await raw( + ORIGINAL, + answer(first.result.requestState), + completeCapabilities, + 'query_action_with_input', + ); + expect(crossed.result.isError).toBe(true); + const noState = await raw(ORIGINAL, { inputResponses: answer('').inputResponses }); + expect(noState.result.isError).toBe(true); + expect(execute).not.toHaveBeenCalled(); + }); + + it('binds retries to the validated caller, including users sharing the same OAuth client', async () => { + const { raw, execute } = harness(); + const first = await raw( + ORIGINAL, + {}, + completeCapabilities, + 'invoke_action_with_input', + 'user-a-token', + ); + const result = await raw( + ORIGINAL, + answer(first.result.requestState), + completeCapabilities, + 'invoke_action_with_input', + 'user-b-token', + ); + expect(result.error.code).toBe(-32602); + expect(execute).not.toHaveBeenCalled(); + }); + + it('allows exactly one concurrent completion and refuses later replay', async () => { + const { raw, execute } = harness(); + const first = await raw(); + const results = await Promise.all([ + raw(ORIGINAL, answer(first.result.requestState)), + raw(ORIGINAL, answer(first.result.requestState)), + ]); + expect(execute).toHaveBeenCalledOnce(); + expect(results.filter((result) => result.result.isError)).toHaveLength(1); + expect((await raw(ORIGINAL, answer(first.result.requestState))).result.isError).toBe(true); + expect(execute).toHaveBeenCalledOnce(); + }); + + it('expires pending input and bounds outstanding prompts without evicting live ones', async () => { + vi.useFakeTimers({ toFake: ['Date'] }); + const { raw, execute } = harness({ ttlSeconds: 1, maxPending: 1 }); + const first = await raw(); + expect((await raw()).result.structuredContent.diagnostics.kind).toBe('execution'); + vi.setSystemTime(Date.now() + 2_000); + expect((await raw(ORIGINAL, answer(first.result.requestState))).error.code).toBe(-32602); + expect((await raw()).result.resultType).toBe('input_required'); + expect(execute).not.toHaveBeenCalled(); + }); + + it('does not resume an unfinished prompt after closing the runtime', async () => { + const { raw, execute, completion } = harness(); + const first = await raw(); + completion.close(); + expect((await raw(ORIGINAL, answer(first.result.requestState))).error.code).toBe(-32602); + expect(execute).not.toHaveBeenCalled(); + }); + + it('lets a modern client drive the standard MRTR cycle', async () => { + const { handler, execute } = harness(); + const client = new Client( + { name: 'modern-input-test', version: '1' }, + { + capabilities: completeCapabilities, + versionNegotiation: { mode: { pin: '2026-07-28' } }, + }, + ); + client.setRequestHandler('elicitation/create', async () => ({ + action: 'accept', + content: { params_json: '{"user_id":123}' }, + })); + cleanup.push(() => client.close()); + await client.connect( + new StreamableHTTPClientTransport(new URL('http://input.invalid/mcp'), { + fetch: (input, init) => handler.fetch(new Request(input, init)), + }), + ); + const result = await client.callTool({ + name: 'invoke_action_with_input', + arguments: ORIGINAL, + }); + expect(result.structuredContent).toMatchObject({ + result: { user_id: 123, message: ORIGINAL.params.message }, + }); + expect(execute).toHaveBeenCalledOnce(); + }); + + it('does not execute when the caller aborts while the input form is open', async () => { + const { handler, execute } = harness(); + const entered = Promise.withResolvers(); + const inputAborted = Promise.withResolvers(); + const client = new Client( + { name: 'cancel-input-test', version: '1' }, + { + capabilities: completeCapabilities, + versionNegotiation: { mode: { pin: '2026-07-28' } }, + }, + ); + client.setRequestHandler('elicitation/create', async (_request, context) => { + context.mcpReq.signal.addEventListener('abort', () => inputAborted.resolve(), { + once: true, + }); + entered.resolve(); + await inputAborted.promise; + return { action: 'cancel' }; + }); + cleanup.push(() => client.close()); + await client.connect( + new StreamableHTTPClientTransport(new URL('http://input.invalid/mcp'), { + fetch: (input, init) => handler.fetch(new Request(input, init)), + }), + ); + const controller = new AbortController(); + const result = client + .callTool( + { name: 'invoke_action_with_input', arguments: ORIGINAL }, + { signal: controller.signal }, + ) + .catch((error: unknown) => error); + await entered.promise; + controller.abort(new Error('cancel test')); + await inputAborted.promise; + expect(await result).toBeInstanceOf(Error); + expect(execute).not.toHaveBeenCalled(); + }); + + it('integrates the production factory through the legacy elicitation shim', async () => { + const onebot: ActionClient = { + call: vi.fn(async () => ({ status: 'ok', retcode: 0, data: { message_id: -42 } })), + callStream: vi.fn(), + }; + vi.spyOn(console, 'error').mockImplementation(() => {}); + const server = createMcpServer({ mode: 'write', client: onebot }); + const client = new LegacyClient( + { name: 'legacy-input-test', version: '1' }, + { capabilities: { elicitation: {} } }, + ); + client.setRequestHandler(ElicitRequestSchema, async () => { + expect(onebot.call).not.toHaveBeenCalled(); + return { action: 'accept', content: { params_json: '{"user_id":123}' } }; + }); + const [clientTransport, serverTransport] = InMemoryTransport.createLinkedPair(); + cleanup.push( + () => server.close(), + () => client.close(), + ); + await server.connect(serverTransport); + await client.connect(clientTransport); + const result = await client.callTool({ + name: 'invoke_action_with_input', + arguments: ORIGINAL, + }); + expect(result.structuredContent).toMatchObject({ + result: { status: 'ok', retcode: 0, data: { message_id: -42 } }, + }); + expect(result.resultType).toBeUndefined(); + expect(onebot.call).toHaveBeenCalledExactlyOnceWith( + 'send_private_msg', + { user_id: 123, message: ORIGINAL.params.message }, + expect.objectContaining({ signal: expect.any(AbortSignal) }), + ); + }); + + it('keeps automatic local uploads complete without asking for runtime-owned transfer fields', async () => { + const streamResult = { + frame_count: 1, + frames: [], + terminal: { status: 'ok', retcode: 0, data: { file: 'uploaded-file' } }, + }; + const onebot: ActionClient = { call: vi.fn(), callStream: vi.fn(async () => streamResult) }; + vi.spyOn(console, 'error').mockImplementation(() => {}); + const server = createMcpServer({ mode: 'write', client: onebot }); + const client = new LegacyClient({ name: 'auto-upload-input-test', version: '1' }); + const [clientTransport, serverTransport] = InMemoryTransport.createLinkedPair(); + cleanup.push( + () => server.close(), + () => client.close(), + ); + await server.connect(serverTransport); + await client.connect(clientTransport); + const args = { + action: 'upload_file_stream', + execution: { input_file: '/fixture/media.bin' }, + }; + const original = await client.callTool({ name: 'invoke_action', arguments: args }); + const extended = await client.callTool({ + name: 'invoke_action_with_input', + arguments: args, + }); + expect(extended.structuredContent).toEqual(original.structuredContent); + expect(extended.isError).toBeUndefined(); + expect(onebot.callStream).toHaveBeenCalledTimes(2); + expect(onebot.callStream).toHaveBeenLastCalledWith( + 'upload_file_stream', + {}, + expect.objectContaining({ inputFile: args.execution.input_file }), + ); + }); +}); diff --git a/packages/mcp/tests/message-app.test.ts b/packages/mcp/tests/message-app.test.ts new file mode 100644 index 00000000..1d3c7133 --- /dev/null +++ b/packages/mcp/tests/message-app.test.ts @@ -0,0 +1,474 @@ +import { mkdtemp, readFile, rm } from 'node:fs/promises'; +import { createHash } from 'node:crypto'; +import { tmpdir } from 'node:os'; +import { join } from 'node:path'; +import { afterEach, describe, expect, it, vi } from 'vitest'; +import { App } from '@modelcontextprotocol/ext-apps'; +import { AppBridge } from '@modelcontextprotocol/ext-apps/app-bridge'; +import { InMemoryTransport } from '@modelcontextprotocol/client'; +import { Client as LegacyClient } from '@modelcontextprotocol/sdk/client/index.js'; +import { createMcpHandler } from '@modelcontextprotocol/server'; +import { createMcpServer } from '../src/server-factory.js'; +import type { ActionClient } from '../src/client.js'; +import type { Mode } from '../src/tools.js'; +import { + MESSAGE_APP_MIME_TYPE, + MESSAGE_APP_URI, + messageAppResources, + messagePreviewTool, + previewMessage, + readMessageAppResource, + supportsMessageApp, +} from '../src/message-app.js'; +import { mountMessagePreview, type PreviewApp } from '../apps/preview-view.js'; +import { buildMessageApp } from '../scripts/build-message-app.mjs'; + +const temporary: string[] = []; +const close: Array<() => Promise> = []; +afterEach(async () => { + for (const cleanup of close.splice(0).reverse()) { + await cleanup(); + } + + await Promise.all( + temporary.splice(0).map((path) => rm(path, { recursive: true, force: true })), + ); +}); + +const draft = { message_type: 'group', target_id: 12345, text: '你好' }; + +function fakeOneBot(): ActionClient { + return { + call: vi.fn(async () => ({ status: 'ok', retcode: 0, data: { message_id: -42 } })), + callStream: vi.fn(async () => ({ + frame_count: 0, + frames: [], + terminal: { status: 'ok', retcode: 0 }, + })), + }; +} + +const appCapabilities = { + extensions: { 'io.modelcontextprotocol/ui': { mimeTypes: [MESSAGE_APP_MIME_TYPE] } }, +}; + +describe('message preview server integration', () => { + it.each(['docs', 'read', 'write'] as Mode[])( + 'keeps legacy preview side-effect free and applies %s mode and negotiated UI capability', + async (mode) => { + for (const ui of [false, true]) { + const onebot = fakeOneBot(); + const server = createMcpServer({ mode, client: onebot }); + const client = new LegacyClient( + { name: 'preview-legacy-test', version: '1.0.0' }, + { capabilities: ui ? appCapabilities : {} }, + ); + const [clientTransport, serverTransport] = InMemoryTransport.createLinkedPair(); + close.push( + () => server.close(), + () => client.close(), + ); + await server.connect(serverTransport); + await client.connect(clientTransport); + const tools = await client.listTools(); + const preview = tools.tools.find((tool) => tool.name === 'preview_message'); + expect(preview).toBeDefined(); + expect(preview?._meta).toEqual( + ui + ? { ui: { resourceUri: MESSAGE_APP_URI, visibility: ['model', 'app'] } } + : undefined, + ); + const resources = await client.listResources(); + expect( + resources.resources.some((resource) => resource.uri === MESSAGE_APP_URI), + ).toBe(ui); + const result = await client.callTool({ name: 'preview_message', arguments: draft }); + expect(result.isError).toBeUndefined(); + expect(result.structuredContent).toMatchObject({ + result: { can_send: mode === 'write', draft }, + }); + expect(onebot.call).not.toHaveBeenCalled(); + expect(onebot.callStream).not.toHaveBeenCalled(); + + if (mode !== 'write') { + expect( + await client.callTool({ + name: 'invoke_action', + arguments: { + action: 'send_group_msg', + params: { group_id: 12345, message: '你好' }, + }, + }), + ).toMatchObject({ isError: true }); + expect(onebot.call).not.toHaveBeenCalled(); + } + } + }, + ); + + it('negotiates UI metadata independently for each modern request and never sends a preview', async () => { + const onebot = fakeOneBot(); + const handler = createMcpHandler(() => createMcpServer({ mode: 'write', client: onebot })); + close.push(() => handler.close()); + + const request = async (method: string, params: Record, ui: boolean) => { + const response = await handler.fetch( + new Request('http://mcp.invalid/mcp', { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + Accept: 'application/json, text/event-stream', + 'Mcp-Method': method, + 'Mcp-Protocol-Version': '2026-07-28', + ...(typeof params.name === 'string' ? { 'Mcp-Name': params.name } : {}), + }, + body: JSON.stringify({ + jsonrpc: '2.0', + id: 1, + method, + params: { + ...params, + _meta: { + 'io.modelcontextprotocol/protocolVersion': '2026-07-28', + 'io.modelcontextprotocol/clientCapabilities': ui + ? appCapabilities + : {}, + 'io.modelcontextprotocol/clientInfo': { + name: 'preview-modern-test', + version: '1.0.0', + }, + }, + }, + }), + }), + ); + expect(response.status).toBe(200); + return await response.json(); + }; + + for (const ui of [true, false, true]) { + const tools = await request('tools/list', {}, ui); + expect( + tools.result.tools.find((tool: { name: string }) => tool.name === 'preview_message') + ._meta, + ).toEqual( + ui + ? { ui: { resourceUri: MESSAGE_APP_URI, visibility: ['model', 'app'] } } + : undefined, + ); + const resources = await request('resources/list', {}, ui); + expect( + resources.result.resources.some( + (resource: { uri: string }) => resource.uri === MESSAGE_APP_URI, + ), + ).toBe(ui); + expect(resources.result.cacheScope).toBe('private'); + const preview = await request( + 'tools/call', + { name: 'preview_message', arguments: draft }, + ui, + ); + expect(preview.result.structuredContent).toMatchObject({ + result: { can_send: true, draft }, + }); + } + + expect(onebot.call).not.toHaveBeenCalled(); + expect(onebot.callStream).not.toHaveBeenCalled(); + }); +}); + +describe('message preview tool', () => { + it('negotiates optional HTML support and retains text-only tool discovery', () => { + for (const capabilities of [ + undefined, + {}, + { extensions: {} }, + { extensions: { 'io.modelcontextprotocol/ui': {} } }, + ]) { + expect(supportsMessageApp(capabilities)).toBe(false); + } + + expect( + supportsMessageApp({ + extensions: { + 'io.modelcontextprotocol/ui': { mimeTypes: [MESSAGE_APP_MIME_TYPE] }, + }, + }), + ).toBe(true); + expect(messagePreviewTool(false)._meta).toBeUndefined(); + expect(messagePreviewTool(true)._meta).toEqual({ + ui: { resourceUri: MESSAGE_APP_URI, visibility: ['model', 'app'] }, + }); + expect(messageAppResources(false)).toEqual([]); + expect(messageAppResources(true)).toEqual([ + expect.objectContaining({ uri: MESSAGE_APP_URI, mimeType: MESSAGE_APP_MIME_TYPE }), + ]); + }); + + it('returns a literal text draft and preserves negative quoted-message identifiers without executing', () => { + const result = previewMessage( + { ...draft, text: '[CQ:at,qq=all]', reply_to: -42 }, + true, + ); + expect(result.isError).toBeUndefined(); + expect(result.structuredContent.result).toEqual({ + draft: { ...draft, text: '[CQ:at,qq=all]', reply_to: -42 }, + can_send: true, + notice: '此为待发送草稿,尚未发送。', + invocation: { + name: 'invoke_action', + arguments: { + action: 'send_group_msg', + params: { + group_id: 12345, + message: [ + { type: 'reply', data: { id: '-42' } }, + { + type: 'text', + data: { text: '[CQ:at,qq=all]' }, + }, + ], + }, + }, + }, + }); + expect(result.content).toEqual([ + { type: 'text', text: JSON.stringify(result.structuredContent.result, null, 2) }, + ]); + expect( + previewMessage({ ...draft, message_type: 'private' }, false).structuredContent.result, + ).toMatchObject({ + can_send: false, + invocation: { arguments: { action: 'send_private_msg', params: { user_id: 12345 } } }, + }); + }); + + it.each([ + { ...draft, message_type: 'other' }, + { ...draft, target_id: 0 }, + { ...draft, target_id: '12345' }, + { ...draft, target_id: Number.MAX_SAFE_INTEGER + 1 }, + { ...draft, text: ' \n' }, + { ...draft, reply_to: 0 }, + { ...draft, reply_to: 2147483648 }, + { ...draft, reply_to: -2147483649 }, + { ...draft, message: [] }, + ])('rejects an invalid draft without discarding fields: %j', (args) => { + expect(previewMessage(args, true)).toMatchObject({ + isError: true, + structuredContent: { diagnostics: { kind: 'invalid_arguments' } }, + }); + }); + + it('does not hide a missing packaged panel', async () => { + await expect(readMessageAppResource('unrelated://resource')).resolves.toBeUndefined(); + // Tests run from source; only an actual build supplies the sibling HTML. + await expect(readMessageAppResource(MESSAGE_APP_URI)).rejects.toMatchObject({ + code: 'ENOENT', + }); + }); + + it('builds a self-contained panel with exact CSP hashes and no external assets', async () => { + const directory = await mkdtemp(join(tmpdir(), 'snowluma-message-app-')); + temporary.push(directory); + const path = await buildMessageApp(directory); + const html = await readFile(path, 'utf8'); + const script = html.match(/` — slice + // from the first `{` to the last `}` (same as parseQzoneJson, but the + // wrapper shape differs slightly). + let jsonText = text.trim(); + const callbackStart = jsonText.indexOf('callback'); + + if (callbackStart !== -1) { + jsonText = jsonText.slice(callbackStart); + } + + const data = parseQzoneJson(jsonText); + + if (typeof data.code === 'number' && data.code !== 0) { + log.warn( + 'uploadQzoneImage: non-zero code (uin=%s) code=%d msg=%s', + hostUin, + data.code, + data.message, + ); + throw new Error( + `qzone upload image failed: code=${data.code} ${data.message ?? ''}`.trim(), + ); + } + + if (typeof data.subcode === 'number' && data.subcode !== 0) { + log.warn( + 'uploadQzoneImage: non-zero subcode (uin=%s) subcode=%d msg=%s', + hostUin, + data.subcode, + data.message, + ); + throw new Error( + `qzone upload image failed: subcode=${data.subcode} ${data.message ?? ''}`.trim(), + ); + } + + if (!data.data || !data.data.albumid || !data.data.lloc || !data.data.url) { + log.warn('uploadQzoneImage: missing required fields in response (uin=%s)', hostUin); + throw new Error('上传图片失败:响应缺少必要字段'); + } + + const { albumid, lloc, url: imageUrl, type, height, width } = data.data; + const sloc = lloc; // lloc and sloc are identical in the wire format + const richval = `,${albumid},${lloc},${sloc},${type ?? 0},${height ?? 0},${width ?? 0},,${height ?? 0},${width ?? 0}`; + + return { + richval, + url: imageUrl, + albumid, + lloc, + type: type ?? 0, + width: width ?? 0, + height: height ?? 0, + }; +} + +// ─────────────── 评论说说 (comment) — emotion_cgi_re_feeds ─────────────── +// Posts a comment on a 说说 owned by `hostUin`, as the bot (`selfUin`). Same +// form-POST mechanics + param family (paramstr/richtype/richval) as +// publishQzoneMsg. The `topicId` keys the target feed as `_`; +// the trailing `__1` suffix is CONFIRMED on 2/3 community impls but a third +// omits it, so the suffix specifically is the unverified piece (the base +// shape is confirmed). `uin`=commenter(self), `hostUin`=feed owner — verified +// not-swapped across 3 impls. Success is `code 0` (throw on non-zero code/ +// subcode); the new comment id is returned best-effort (the response field +// name varies — commentid/commentId — so a missing id is NOT a failure when +// code is 0). WRITE OP — rate-limit. The topicId `__1` suffix + comment-id +// field are extrapolated, pending a live capture. + +interface RawCommentResponse { + code?: number; + subcode?: number; + message?: string; + commentid?: string | number; + commentId?: string | number; +} + +/** Result of commenting on a 说说. */ +export interface QzoneCommentResult { + [key: string]: JsonValue; + /** New comment id when the response carries one ('' if absent). */ + comment_id: string; +} + +export interface QzoneReplyTarget { + /** The top-level comment, even when replying to one of its replies. */ + commentId: string; + commentUin: string; + /** Optional author to address within that thread. */ + replyTo?: { uin: string; name: string }; +} + +export interface QzoneReplyResult extends QzoneCommentResult { + parent_comment_id: string; + parent_comment_uin: number; +} + +/** + * Comment on a 说说 (`tid`, owned by `hostUin`) as the bot (`selfUin`) via + * taotao.qzone.qq.com's emotion_cgi_re_feeds CGI (proxied through + * h5.qzone.qq.com, matching php-qzone's working request). + * + * `richType` / `richval`: for image comments, set `richType=1` and pass the + * direct image URL from {@link uploadQzoneImage}'s `url` field (NOT the + * richval string — comment uses the direct URL, unlike publish which uses + * richval). Multi-image comments use direct URLs joined with `\t`. Omit both + * for text-only comments. + * + * Resolves with the new comment id (best-effort) on success; THROWS on a + * transport failure or a non-zero Qzone `code`/`subcode` (e.g. comments + * disabled, no permission, or auth failure). + */ +// ─────────────── 拉黑/解拉黑 (ban/unban) — cgi_black_action_new ─────────────── +// Adds or removes a user from the bot's QQ-Zone blacklist. The CGI is +// w.qzone.qq.com/cgi-bin/right/cgi_black_action_new (proxied through +// h5.qzone.qq.com). POST form-urlencoded with `action=1` to ban, +// `action=2` to unban. Response is a callback-wrapped body +// (frameElement.callback style). Confirmed against +// php-qzone/qzone.class.php:setQzoneRight. WRITE OP. + +interface RawBlackActionResponse { + code?: number; + subcode?: number; + message?: string; + msg?: string; +} + +/** + * Ban (blacklist) or unban a user in the bot's QQ-Zone space via + * w.qzone.qq.com's cgi_black_action_new CGI (proxied through + * h5.qzone.qq.com). `ban=true` adds the target to the blacklist + * (action=1); `ban=false` removes them (action=2). Resolves on success; + * THROWS on a transport failure or a non-zero Qzone `subcode`. + * Confirmed against php-qzone/qzone.class.php:setQzoneRight. + */ +export async function setQzoneBlack( + cookieObject: Record, + selfUin: string, + targetUin: string, + ban: boolean, +): Promise { + if (!cookieObject || typeof cookieObject !== 'object') { + throw new Error('cookieObject is required'); + } + + if (!targetUin) { + throw new Error('targetUin is required'); + } + + const bkn = getBknFromCookie(cookieObject); + const url = `https://h5.qzone.qq.com/proxy/domain/w.qzone.qq.com/cgi-bin/right/cgi_black_action_new?g_tk=${bkn}`; + const body = new URLSearchParams({ + uin: selfUin, + act_uin: targetUin, + action: ban ? '1' : '2', + fupdate: '1', + qzreferrer: `https://user.qzone.qq.com/${selfUin}/main`, + }).toString(); + + const text = await RequestUtil.HttpGetText(url, 'POST', body, { + Cookie: cookieToString(cookieObject), + 'Content-Type': 'application/x-www-form-urlencoded', + }); + // Response is callback-wrapped (frameElement.callback style) and may contain + // a small JS-object-literal fragment like `{name:"Ack"}`. Patch the known + // unquoted key, then parse via the tolerant JSON/JSONP extractor. + let data: RawBlackActionResponse; + + try { + data = parseQzoneJson(text.replace(/\{\s*name\s*:/, '{"name":')); + } catch { + const snippet = text.trim().slice(0, 300); + throw new Error( + `qzone ${ban ? 'ban' : 'unban'} failed: ${snippet}${text.length > 300 ? '…' : ''}`, + ); + } + + const verb = ban ? 'ban' : 'unban'; + + if (typeof data.subcode === 'number' && data.subcode !== 0) { + const msg = data.message ?? data.msg ?? ''; + log.warn( + 'setQzoneBlack(%s): non-zero subcode (target=%s) subcode=%d msg=%s', + verb, + targetUin, + data.subcode, + msg, + ); + throw new Error(`qzone ${verb} failed: subcode=${data.subcode} ${msg}`.trim()); + } + + if (typeof data.code === 'number' && data.code !== 0) { + const msg = data.message ?? data.msg ?? ''; + log.warn( + 'setQzoneBlack(%s): non-zero code (target=%s) code=%d msg=%s', + verb, + targetUin, + data.code, + msg, + ); + throw new Error(`qzone ${verb} failed: code=${data.code} ${msg}`.trim()); + } +} + +export async function commentQzoneMsg( + cookieObject: Record, + selfUin: string, + hostUin: string, + tid: string, + content: string, + richType?: number, + richval?: string, +): Promise { + if (!cookieObject || typeof cookieObject !== 'object') { + throw new Error('cookieObject is required'); + } + + if (!tid) { + throw new Error('tid is required'); + } + + if (!content) { + throw new Error('content is required'); + } + + assertRichParams(richType, richval); + + const bkn = getBknFromCookie(cookieObject); + const url = `https://h5.qzone.qq.com/proxy/domain/taotao.qzone.qq.com/cgi-bin/emotion_cgi_re_feeds?g_tk=${bkn}`; + const body = new URLSearchParams({ + // qzreferrer carries the commenter's (self) space, matching the impls. + qzreferrer: `https://user.qzone.qq.com/${selfUin}`, + inCharset: 'utf-8', + outCharset: 'utf-8', + hostUin, + format: 'json', + ref: 'feeds', + topicId: `${hostUin}_${tid}__1`, + feedsType: '100', + private: '0', + paramstr: '1', + richtype: richType !== undefined ? String(richType) : '', + richval: richval ?? '', + isSignIn: '', + uin: selfUin, + content, + plat: 'qzone', + source: 'ic', + platformid: '52', + }).toString(); + + const text = await RequestUtil.HttpGetText(url, 'POST', body, { + Cookie: cookieToString(cookieObject), + 'Content-Type': 'application/x-www-form-urlencoded', + }); + const data = parseQzoneJson(text); + + if (typeof data.code === 'number' && data.code !== 0) { + log.warn( + 'commentQzoneMsg: non-zero code (host=%s tid=%s) code=%d msg=%s', + hostUin, + tid, + data.code, + data.message, + ); + throw new Error(`qzone comment failed: code=${data.code} ${data.message ?? ''}`.trim()); + } + + if (typeof data.subcode === 'number' && data.subcode !== 0) { + log.warn( + 'commentQzoneMsg: non-zero subcode (host=%s tid=%s) subcode=%d msg=%s', + hostUin, + tid, + data.subcode, + data.message, + ); + throw new Error( + `qzone comment failed: subcode=${data.subcode} ${data.message ?? ''}`.trim(), + ); + } + + const commentId = data.commentid ?? data.commentId; + return { comment_id: commentId !== undefined ? String(commentId) : '' }; +} + +/** + * Reply within a Qzone comment thread. The web comment module uses a separate + * reply endpoint: commentId/commentUin identify the parent, not a nested reply. + * The addressed author is an automatic mention in content; there is no replyId + * request field. Images are not part of this request's supported contract. + * Request/result contract: qzonestyle.gtimg.cn/qzone/app/controls/commentModule/ + * viewModel/viewModel_3.0_common.js (ReplyViewModel.post). + */ +export async function replyQzoneComment( + cookieObject: Record, + selfUin: string, + hostUin: string, + tid: string, + content: string, + target: QzoneReplyTarget, +): Promise { + if (!cookieObject || typeof cookieObject !== 'object') { + throw new Error('cookieObject is required'); + } + + for (const [field, value] of Object.entries({ + selfUin, + hostUin, + commentUin: target.commentUin, + })) { + if (!/^[1-9]\d*$/.test(value) || !Number.isSafeInteger(Number(value))) { + throw new Error(`${field} must be a positive safe integer`); + } + } + + if (!tid.trim() || !content.trim() || !target.commentId.trim()) { + throw new Error('tid, content and commentId must not be blank'); + } + + let replyContent = content; + + if (target.replyTo !== undefined) { + const { uin, name } = target.replyTo; + + if (!/^[1-9]\d*$/.test(uin) || !Number.isSafeInteger(Number(uin)) || !name.trim()) { + throw new Error('replyTo requires a positive safe integer uin and a non-blank name'); + } + + // Match the web editor's mention encoding, not HTML or URL encoding. + const escapedName = name + .trim() + .replace(/%/g, '%25') + .replace(/,/g, '%2C') + .replace(/}/g, '%7D'); + replyContent = `@{uin:${uin},nick:${escapedName},auto:1} ${content}`; + } + + const bkn = getBknFromCookie(cookieObject); + const url = `https://h5.qzone.qq.com/proxy/domain/taotao.qzone.qq.com/cgi-bin/emotion_cgi_addreply_ugc?g_tk=${bkn}`; + const body = new URLSearchParams({ + uin: selfUin, + hostUin, + hostuin: selfUin, + topicId: `${hostUin}_${tid}`, + commentId: target.commentId, + commentUin: target.commentUin, + content: replyContent, + inCharset: 'utf-8', + outCharset: 'utf-8', + ref: '', + code_version: '1', + format: 'fs', + qzreferrer: `https://user.qzone.qq.com/${hostUin}`, + }).toString(); + + log.debug( + 'replyQzoneComment: posting reply (host=%s tid=%s parent=%s)', + hostUin, + tid, + target.commentId, + ); + const text = await RequestUtil.HttpGetText(url, 'POST', body, { + Cookie: cookieToString(cookieObject), + 'Content-Type': 'application/x-www-form-urlencoded', + }); + const response = parseQzoneJson(text); + + if ( + response === null || + typeof response !== 'object' || + Array.isArray(response) || + !('code' in response) || + typeof response.code !== 'number' || + !Number.isInteger(response.code) + ) { + throw new Error( + 'invalid qzone reply response: missing or invalid code; check delivery before retrying', + ); + } + + const subcode = 'subcode' in response ? response.subcode : undefined; + + if (subcode !== undefined && (typeof subcode !== 'number' || !Number.isInteger(subcode))) { + throw new Error( + 'invalid qzone reply response: invalid subcode; check delivery before retrying', + ); + } + + if (response.code !== 0 || (subcode !== undefined && subcode !== 0)) { + const message = + 'message' in response && typeof response.message === 'string' ? response.message : ''; + log.warn( + 'replyQzoneComment: rejected (host=%s tid=%s parent=%s) code=%s subcode=%s', + hostUin, + tid, + target.commentId, + response.code, + subcode, + ); + throw new Error( + `qzone reply failed: code=${response.code} subcode=${subcode ?? 0} ${message}`.trim(), + ); + } + + const data = 'data' in response ? response.data : undefined; + const id = + data !== null && typeof data === 'object' && !Array.isArray(data) && 'id' in data + ? data.id + : undefined; + + if (!( + (typeof id === 'string' && id.trim() !== '') || + (typeof id === 'number' && Number.isSafeInteger(id) && id >= 0) + )) { + throw new Error( + 'qzone reply accepted but returned an invalid reply ID; check delivery before retrying', + ); + } + + log.debug( + 'replyQzoneComment: accepted (host=%s tid=%s parent=%s reply=%s)', + hostUin, + tid, + target.commentId, + id, + ); + return { + comment_id: String(id), + parent_comment_id: target.commentId, + parent_comment_uin: Number(target.commentUin), + }; +} + +// ─────── 改说说权限 (update right) — emotion_cgi_msgdetail_v6 + emotion_cgi_update ─────── +// Changes the view permission (ugc_right) of an EXISTING 说说. The update CGI +// is not a partial patch — it re-submits the whole feed (content, richval, +// pic_bo, …), so the flow is two-step: GET the feed detail from +// emotion_cgi_msgdetail_v6 (NOTE: proxied domain is taotao.qq.com, not +// taotao.qzone.qq.com — that's what the working impl hits), rebuild the full +// publish-shaped payload from it, override ugc_right/allow_uins, and POST to +// emotion_cgi_update. Both the detail param set and the payload rebuild are +// CONFIRMED against php-qzone/qzone.class.php updateRight (live-verified +// there); success signal is `subcode == 0`, same envelope as the siblings. +// WRITE OP — rate-limit like publish. + +interface RawMsgDetailPic { + pic_id?: string; + pictype?: number | string; + type?: number | string; + height?: number | string; + b_height?: number | string; + width?: number | string; + b_width?: number | string; + smallurl?: string; + url1?: string; + url2?: string; + url3?: string; +} + +interface RawMsgDetailResponse { + code?: number; + subcode?: number; + message?: string; + msg?: string; + tid?: string; + uin?: number | string; + content?: string; + cmtnum?: unknown; + commentlist?: unknown; + conlist?: Array<{ con?: string }> | null; + pic?: RawMsgDetailPic[] | null; + richtype?: number | string; + richval?: string; + pic_template?: string; + special_url?: string; + t1_subtype?: number | string; + subrichtype?: number | string; + feedversion?: number | string; + ver?: number | string; + ugc_right?: number | string; + to_sign?: number | string; + ugcright_id?: string; + code_version?: number | string; +} + +interface RawUpdateResponse { + code?: number; + subcode?: number; + message?: string; + msg?: string; + ugc_right?: number | string; +} + +/** Result of changing a 说说's view permission. */ +export interface QzoneUpdateRightResult { + [key: string]: JsonValue; + /** The feed's ugc_right after the update (echoed by the server when present). */ + ugc_right: number; +} + +/** + * Rebuild the full emotion_cgi_update payload from a msgdetail_v6 response. + * Field-for-field port of php-qzone's buildUpdatePayloadFromDetail: richval + * strings are reconstructed from each `pic[].pic_id` (`,albumid,lloc,sloc, + * type,height,width,,0,0`, tab-joined), `pic_bo` from the `bo=` query param + * of any picture URL variant (group tab-doubled), and the content from + * `conlist` when present. Exported for tests; THROWS on a detail body it + * cannot rebuild from (missing tid, or an image post whose pic info is + * unusable) rather than submitting a lossy update. + */ +export function buildQzoneUpdatePayload( + detail: RawMsgDetailResponse, + selfUin: string, +): URLSearchParams { + if (!detail.tid) { + throw new Error('qzone msg detail is missing tid'); + } + + const pics = detail.pic ?? []; + const richtype = + detail.richtype !== undefined ? Number(detail.richtype) : pics.length === 0 ? '' : 1; + const richvals: string[] = []; + const picBoItems: string[] = []; + + for (const pic of pics) { + const picId = String(pic.pic_id ?? ''); + + if (!picId) { + continue; + } + + const parts = picId.split(','); + const albumId = parts[1] ?? ''; + const lloc = parts[2] ?? ''; + + if (!albumId || !lloc) { + throw new Error('qzone msg detail has unsupported pic info'); + } + + const sloc = lloc; + const picType = String(pic.pictype ?? pic.type ?? 22); + const height = String(pic.height ?? pic.b_height ?? 0); + const width = String(pic.width ?? pic.b_width ?? 0); + richvals.push(`,${albumId},${lloc},${sloc},${picType},${height},${width},,0,0`); + + for (const urlKey of ['smallurl', 'url1', 'url2', 'url3'] as const) { + const picUrl = pic[urlKey]; + + if (!picUrl) { + continue; + } + + const match = /[?&]bo=([^&#]+)/.exec(picUrl); + + if (match) { + picBoItems.push(decodeURIComponent(match[1]!)); + break; + } + } + } + + if (richtype === 1 && richvals.length === 0) { + throw new Error('qzone image post detail is missing pic info'); + } + + let content = detail.content ?? ''; + const conParts = (detail.conlist ?? []) + .map((c) => c.con) + .filter((c): c is string => c !== undefined); + + if (conParts.length > 0) { + content = conParts.join('').trim(); + } + + const subrichtype = detail.t1_subtype ?? detail.subrichtype ?? (richvals.length === 0 ? '' : 1); + const boGroup = picBoItems.join(','); + const picBo = boGroup ? `${boGroup}\t${boGroup}` : ''; + + const hostuin = String(detail.uin ?? selfUin); + return new URLSearchParams({ + syn_tweet_verson: '1', + tid: String(detail.tid), + paramstr: '1', + pic_template: detail.pic_template ?? '', + richtype: String(richtype), + richval: richvals.length > 0 ? richvals.join('\t') : (detail.richval ?? ''), + special_url: detail.special_url ?? '', + subrichtype: String(subrichtype), + pic_bo: picBo, + con: content, + feedversion: String(detail.feedversion ?? 1), + ver: String(detail.ver ?? 1), + ugc_right: String(Number(detail.ugc_right ?? 1)), + to_sign: String(Number(detail.to_sign ?? 0)), + ugcright_id: String(detail.ugcright_id ?? detail.tid), + hostuin, + code_version: String(detail.code_version ?? 1), + format: 'fs', + qzreferrer: `https://user.qzone.qq.com/${hostuin}`, + }); +} + +/** Shared raw detail for reading comments and rebuilding permission updates. */ +async function fetchQzoneMsgDetail( + cookieObject: Record, + targetUin: string, + tid: string, + page?: { pos: number; num: number }, +): Promise { + const bkn = getBknFromCookie(cookieObject); + const url = `https://h5.qzone.qq.com/proxy/domain/taotao.qq.com/cgi-bin/emotion_cgi_msgdetail_v6?${new URLSearchParams( + { + tid, + uin: targetUin, + t1_source: '1', + not_trunc_con: '1', + need_right: '1', + not_adapt_outpic: '1', + g_tk: bkn, + ...(page ? { pos: String(page.pos), num: String(page.num) } : {}), + }, + ).toString()}`; + + const text = await RequestUtil.HttpGetText(url, 'GET', '', { + Cookie: cookieToString(cookieObject), + }); + const data = parseQzoneJson(text); + detailObject(data, 'response'); + + // Either error field can carry the failure; subcode=0 must not mask code!=0. + const code = + data.code !== undefined && data.code !== 0 ? data.code : (data.subcode ?? data.code ?? -1); + + if (code !== 0) { + log.warn( + 'getQzoneMsgDetail: non-zero code (tid=%s) code=%d msg=%s', + tid, + code, + data.message ?? data.msg, + ); + throw new Error( + `qzone msg detail failed: code=${code} ${data.message ?? data.msg ?? ''}`.trim(), + ); + } + + return data; +} + +function detailObject(value: unknown, field: string): Record { + if (value === null || typeof value !== 'object' || Array.isArray(value)) { + throw new Error(`invalid qzone msg detail: ${field} must be an object`); + } + + return value as Record; +} + +function detailString(value: unknown, field: string): string { + if (typeof value !== 'string') { + throw new Error(`invalid qzone msg detail: ${field} must be a string`); + } + + return value; +} + +function detailInteger(value: unknown, field: string, min = 0): number { + const number = typeof value === 'string' && /^\d+$/.test(value) ? Number(value) : value; + + if (typeof number !== 'number' || !Number.isSafeInteger(number) || number < min) { + throw new Error(`invalid qzone msg detail: ${field} must be an integer >= ${min}`); + } + + return number; +} + +function detailList(value: unknown, field: string): unknown[] { + if (value === undefined || value === null) { + return []; + } + + if (!Array.isArray(value)) { + throw new Error(`invalid qzone msg detail: ${field} must be an array`); + } + + return value; +} + +function mapQzoneComment(value: Record, field: string): QzoneCommentReply { + const id = + typeof value.tid === 'number' + ? String(detailInteger(value.tid, `${field}.tid`)) + : detailString(value.tid, `${field}.tid`); + + if (!id) { + throw new Error(`invalid qzone msg detail: ${field}.tid is empty`); + } + + return { + comment_id: id, + uin: detailInteger(value.uin, `${field}.uin`, 1), + name: detailString(value.name, `${field}.name`), + time: detailInteger(value.create_time, `${field}.create_time`), + content: detailString(value.content, `${field}.content`), + }; +} + +/** + * Read one post and a page of comments, with the inline replies Qzone supplies. + * Wire fields and pos/num follow SmartHypercube/Qzone-API's Comment / Emotion.load: + * https://github.com/SmartHypercube/Qzone-API/blob/master/qzone.py + * Mapping is independent of the update payload; malformed data must not look + * like a successful empty page. No raw response (private content) is logged. + */ +export async function getQzoneMsgDetail( + cookieObject: Record, + targetUin: string, + tid: string, + pos = 0, + num = 20, +): Promise { + const data = await fetchQzoneMsgDetail(cookieObject, targetUin, tid, { pos, num }); + const resultTid = detailString(data.tid, 'tid'); + + if (!resultTid || resultTid !== tid) { + throw new Error('invalid qzone msg detail: tid does not match the requested post'); + } + + return { + tid: resultTid, + content: detailString(data.content, 'content'), + comment_num: detailInteger(data.cmtnum, 'cmtnum'), + comments: detailList(data.commentlist, 'commentlist').map((value, index) => { + const field = `commentlist[${index}]`; + const comment = detailObject(value, field); + const mappedComment = mapQzoneComment(comment, field); + return { + ...mappedComment, + replies: detailList(comment.list_3, `${field}.list_3`).map((reply, replyIndex) => { + const replyField = `${field}.list_3[${replyIndex}]`; + return { + ...mapQzoneComment(detailObject(reply, replyField), replyField), + parent_comment_id: mappedComment.comment_id, + parent_comment_uin: mappedComment.uin, + }; + }), + }; + }), + }; +} + +/** + * Change the view permission of an existing 说说 (`tid`, on the bot's own + * space) via the msgdetail_v6 → emotion_cgi_update two-step. `ugcRight` is + * one of 1(所有人)/4(好友)/16(部分可见)/64(仅自己)/128(部分不可见); + * `targetUins` (|-separated QQ numbers) is required for 16/128 and ignored + * otherwise. Errors PROPAGATE from both steps: a transport failure, a + * non-zero Qzone code on the detail fetch (unknown/foreign tid, auth), an + * unrebuildable detail, or a non-zero `subcode` on the update all throw. + */ +export async function updateQzoneMsgRight( + cookieObject: Record, + selfUin: string, + tid: string, + ugcRight: number, + targetUins?: string, +): Promise { + if (!cookieObject || typeof cookieObject !== 'object') { + throw new Error('cookieObject is required'); + } + + if (!tid) { + throw new Error('tid is required'); + } + + const right = normalizeQzoneUgcRight(ugcRight); + const effectiveTargetUins = + right === 16 || right === 128 ? normalizeTargetUins(targetUins) : ''; + + if ((right === 16 || right === 128) && !effectiveTargetUins) { + throw new Error('target_uins is required when ugc_right is 16 or 128'); + } + + const detail = await fetchQzoneMsgDetail(cookieObject, selfUin, tid); + const bodyParams = buildQzoneUpdatePayload(detail, selfUin); + bodyParams.set('ugc_right', String(right)); + + if (effectiveTargetUins) { + bodyParams.set('allow_uins', effectiveTargetUins); + } + + const bkn = getBknFromCookie(cookieObject); + const url = `https://h5.qzone.qq.com/proxy/domain/taotao.qzone.qq.com/cgi-bin/emotion_cgi_update?g_tk=${bkn}`; + const text = await RequestUtil.HttpGetText(url, 'POST', bodyParams.toString(), { + Cookie: cookieToString(cookieObject), + 'Content-Type': 'application/x-www-form-urlencoded', + }); + // format=fs wraps the JSON in a callback (`frameElement.callback({...});` + // or `_Callback({...});`) — parseQzoneJson's first-{-to-last-} slice + // handles every observed variant. + const data = parseQzoneJson(text); + + if (typeof data.subcode === 'number' && data.subcode !== 0) { + log.warn( + 'updateQzoneMsgRight: non-zero subcode (tid=%s) subcode=%d msg=%s', + tid, + data.subcode, + data.message ?? data.msg, + ); + throw new Error( + `qzone update right failed: subcode=${data.subcode} ${data.message ?? data.msg ?? ''}`.trim(), + ); + } + + if (typeof data.code === 'number' && data.code !== 0) { + log.warn( + 'updateQzoneMsgRight: non-zero code (tid=%s) code=%d msg=%s', + tid, + data.code, + data.message ?? data.msg, + ); + throw new Error( + `qzone update right failed: code=${data.code} ${data.message ?? data.msg ?? ''}`.trim(), + ); + } + + return { ugc_right: Number(data.ugc_right ?? right) }; +} + +interface RawQzoneProfileResponse { + code?: number; + subcode?: number; + message?: string; + data?: { + spacename?: string; + desc?: string; + }; +} + +export async function getQzoneProfile( + cookieObject: Record, + selfUin: string, + targetUin = selfUin, +): Promise { + const params = new URLSearchParams({ + uin: targetUin, + vuin: selfUin, + fupdate: '1', + rd: String(Math.random()), + g_tk: getBknFromCookie(cookieObject), + }); + const url = `https://h5.qzone.qq.com/proxy/domain/base.qzone.qq.com/cgi-bin/user/cgi_userinfo_get_all?${params}`; + const text = await RequestUtil.HttpGetText(url, 'GET', '', { + Cookie: cookieToString(cookieObject), + }); + const response = parseQzoneJson(text); + + if (response.code !== 0 || (response.subcode !== undefined && response.subcode !== 0)) { + throw new Error( + `qzone profile failed: code=${response.code} subcode=${response.subcode ?? 0} ${response.message ?? ''}`.trim(), + ); + } + + if (typeof response.data?.spacename !== 'string' || typeof response.data.desc !== 'string') { + throw new Error('invalid qzone profile response'); + } + + return { name: response.data.spacename, description: response.data.desc }; +} + +export async function setQzoneProfile( + cookieObject: Record, + selfUin: string, + profile: QzoneProfileUpdate, +): Promise { + const params = new URLSearchParams({ uin: selfUin, pageindex: '3', fupdate: '1' }); + let bitmap = 0; + + // The space settings form uses a field bitmap; omit the separate rich-text signature. + // https://qzonestyle.gtimg.cn/qzone/v6/setting/profile/scripts/profile.js + if (profile.name !== undefined) { + params.set('spacename', profile.name.replaceAll('\r', '')); + bitmap |= 2048; + } + + if (profile.description !== undefined) { + params.set('desc', profile.description.replaceAll('\r', '')); + bitmap |= 4096; + } + + params.set('mb', String(bitmap)); + const url = `https://h5.qzone.qq.com/proxy/domain/w.qzone.qq.com/cgi-bin/user/cgi_apply_updateuserinfo_new?g_tk=${getBknFromCookie(cookieObject)}`; + const text = await RequestUtil.HttpGetText(url, 'POST', params.toString(), { + Cookie: cookieToString(cookieObject), + 'Content-Type': 'application/x-www-form-urlencoded', + }); + const response = parseQzoneJson(text); + + if (response.code !== 0 || (response.subcode !== undefined && response.subcode !== 0)) { + throw new Error( + `qzone profile update failed: code=${response.code} subcode=${response.subcode ?? 0} ${response.message ?? ''}`.trim(), + ); + } +} diff --git a/packages/protocol/src/web/request-util.ts b/packages/protocol/src/web/request-util.ts new file mode 100644 index 00000000..fc574d37 --- /dev/null +++ b/packages/protocol/src/web/request-util.ts @@ -0,0 +1,798 @@ +import http from 'node:http'; +import https from 'node:https'; +import { + createLogger, + getLogLevel, + renderTraceBytes, + runWithTraceRequest, +} from '@snowluma/common/logger'; +import { renderParamsVerbose } from '@snowluma/common/log-summary'; + +const log = createLogger('Protocol.Http'); + +type RequestBody = string | Buffer | Uint8Array | Record | undefined; + +export interface HttpResponseLimits { + /** Wall-clock deadline shared by the complete redirect chain. */ + timeoutMs?: number; + /** Maximum response body size measured in bytes before decoding. */ + maxResponseBytes?: number; +} + +function validateLimit(name: keyof HttpResponseLimits, value: number | undefined): void { + const exceedsTimerRange = name === 'timeoutMs' && value !== undefined && value > 2_147_483_647; + + if (value !== undefined && (!Number.isSafeInteger(value) || value <= 0 || exceedsTimerRange)) { + throw new Error(`${name} must be a positive safe integer`); + } +} + +interface HttpRequestContext { + url: string; + method: string; + data?: RequestBody; + headers: Record; + isJsonRet: boolean; + isArgJson: boolean; + maxRedirects: number; + responseLimits: HttpResponseLimits; + deadlineAt?: number; +} + +type HttpTerminalReason = + | 'deadline' + | 'non_2xx' + | 'parse_failure' + | 'redirect_failure' + | 'request_invalid' + | 'response_aborted' + | 'response_too_large' + | 'transport_failure'; + +type HttpOperationOutcome = 'failed' | 'timeout' | 'cancelled'; + +interface HttpFailureClassification { + outcome: HttpOperationOutcome; + reason: HttpTerminalReason; +} + +const httpFailures = new WeakMap(); + +type CookieTerminalReason = + 'response_complete' | 'redirect_limit' | 'redirect_failure' | 'deadline' | 'transport_failure'; + +interface CookieCollectionResult { + reason: CookieTerminalReason; + error?: Error; +} + +interface HttpTraceOperation { + readonly startedAt: number; + readonly method: string; + readonly url: string; + terminal: boolean; +} + +function errorObject(error: unknown): Error { + return error instanceof Error ? error : new Error(String(error)); +} + +function errorText(error: unknown): string { + return errorObject(error).message; +} + +function fail(outcome: HttpOperationOutcome, reason: HttpTerminalReason, error: unknown): Error { + const result = errorObject(error); + + if (!httpFailures.has(result)) { + httpFailures.set(result, { outcome, reason }); + } + + return result; +} + +function traceTerminal( + trace: HttpTraceOperation, + outcome: 'completed' | HttpOperationOutcome, + reason: 'response_complete' | HttpTerminalReason, + error?: unknown, +): void { + if (trace.terminal) { + return; + } + + trace.terminal = true; + log.trace(() => [ + 'http_terminal method=%j url=%j outcome=%s reason=%s%s elapsedMs=%d', + trace.method, + trace.url, + outcome, + reason, + error === undefined ? '' : ` error=${JSON.stringify(errorText(error))}`, + Date.now() - trace.startedAt, + ]); +} + +const SENSITIVE_REDIRECT_HEADERS = new Set([ + 'authorization', + 'cookie', + 'cookie2', + 'host', + 'proxy-authorization', +]); + +function headersForRedirect( + headers: Record, + source: URL, + target: URL, +): Record { + if (source.origin === target.origin) { + return headers; + } + + return Object.fromEntries( + Object.entries(headers).filter( + ([name]) => !SENSITIVE_REDIRECT_HEADERS.has(name.toLowerCase()), + ), + ); +} + +export class RequestUtil { + // Collect Set-Cookie across the ptlogin2 jump's redirect chain. NEVER hangs: + // a per-request timeout + a redirect-depth cap guarantee termination, and any + // failed/slow hop resolves with the cookies gathered so far rather than + // throwing. This matters because the jump's final hop can target a host the + // deployment can't reach (e.g. a datacenter网络 that times out on + // qzone.qq.com) — without the ceiling that would hang every cookie-backed web + // action forever (the essential cookies are already set by the first hop). + static async HttpsGetCookies(url: string, depth = 0): Promise<{ [key: string]: string }> { + const startedAt = Date.now(); + return runWithTraceRequest(async () => { + const cookies: Record = {}; + log.trace('http_cookie_start url=%j depth=%d', url, depth); + let result: CookieCollectionResult; + + try { + result = await this.collectCookies(url, depth, cookies); + } catch (error) { + result = { reason: 'transport_failure', error: errorObject(error) }; + } + + log.trace(() => [ + 'http_cookie_terminal url=%j outcome=completed reason=%s failOpen=%s cookies=%s%s elapsedMs=%d', + url, + result.reason, + result.reason !== 'response_complete', + renderParamsVerbose(cookies), + result.error === undefined + ? '' + : ` error=${JSON.stringify(errorText(result.error))}`, + Date.now() - startedAt, + ]); + return cookies; + }); + } + + private static collectCookies( + url: string, + depth: number, + cookies: Record, + ): Promise { + const client = url.startsWith('https') ? https : http; + return new Promise((resolve) => { + let settled = false; + let traceResponseDeadline: (() => void) | undefined; + + const done = (reason: CookieTerminalReason, error?: unknown) => { + if (settled) { + return; + } + + settled = true; + resolve({ + reason, + ...(error === undefined ? {} : { error: errorObject(error) }), + }); + }; + + const req = client.get(url, (res) => { + if (res.headers['set-cookie']) { + this.extractCookies(res.headers['set-cookie'], cookies); + } + + log.trace(() => [ + 'http_cookie_response url=%j status=%s headers=%s cookies=%s', + url, + res.statusCode ?? 'unknown', + renderParamsVerbose(res.headers), + renderParamsVerbose(cookies), + ]); + const traceChunks: Buffer[] | null = getLogLevel() === 'trace' ? [] : null; + let traceResponseBytes = 0; + let bodyTraced = false; + + const traceBody = (state: 'complete' | 'aborted' | 'error' | 'deadline') => { + if (bodyTraced) { + return; + } + + bodyTraced = true; + + if (traceChunks === null) { + return; + } + + const body = Buffer.concat(traceChunks, traceResponseBytes); + log.trace(() => [ + 'http_cookie_body url=%j state=%s bodyBytes=%d bodyHex=%s body=%j', + url, + state, + traceResponseBytes, + renderTraceBytes(body), + body.toString(), + ]); + }; + + traceResponseDeadline = () => traceBody('deadline'); + res.on('data', (chunk: string | Buffer) => { + if (traceChunks === null) { + return; + } + + const bytes = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk); + traceResponseBytes += bytes.length; + traceChunks.push(bytes); + }); + res.once('aborted', () => { + traceBody('aborted'); + done( + 'transport_failure', + new Error('cookie response aborted before completion'), + ); + }); + res.once('error', (error: Error) => { + traceBody('error'); + done('transport_failure', error); + }); + res.on('end', () => { + traceBody('complete'); + const location = res.headers.location; + + if ((res.statusCode === 301 || res.statusCode === 302) && location) { + if (depth >= 5) { + done('redirect_limit'); + return; + } + + let redirectUrl: string; + + try { + redirectUrl = new URL(location, url).href; + } catch { + done('redirect_failure'); + return; + } + + log.trace(() => [ + 'http_cookie_branch branch=redirect status=%d from=%j to=%j cookies=%s remainingRedirects=%d', + res.statusCode, + url, + redirectUrl, + renderParamsVerbose(cookies), + 5 - depth, + ]); + this.collectCookies(redirectUrl, depth + 1, cookies) + .then((result) => { + if (settled) { + return; + } + + settled = true; + resolve(result); + }) + .catch((error) => done('transport_failure', error)); + return; + } + + done('response_complete'); + }); + }); + req.setTimeout(8000, () => { + traceResponseDeadline?.(); + req.destroy(); + done('deadline'); + }); + req.on('error', (error) => done('transport_failure', error)); + }); + } + + private static extractCookies(setCookieHeaders: string[], cookies: { [key: string]: string }) { + setCookieHeaders.forEach((cookie) => { + const parts = cookie.split(';')[0]?.split('='); + + if (parts) { + const key = parts[0]; + const value = parts[1]; + + if (key && value && key.length > 0 && value.length > 0) { + cookies[key] = value; + } + } + }); + } + + static async HttpGetJson( + url: string, + method: string = 'GET', + data?: RequestBody, + headers: { + [key: string]: string; + } = {}, + isJsonRet: boolean = true, + isArgJson: boolean = true, + maxRedirects: number = 5, + responseLimits: HttpResponseLimits = {}, + ): Promise { + const methodName = method.toUpperCase(); + const trace: HttpTraceOperation = { + startedAt: Date.now(), + method: methodName, + url, + terminal: false, + }; + + return runWithTraceRequest(async () => { + log.trace(() => [ + 'http_start method=%j url=%j headers=%s data=%s responseType=%s timeoutMs=%s maxResponseBytes=%s', + methodName, + url, + renderParamsVerbose(headers), + renderParamsVerbose(data), + isJsonRet ? 'json' : 'text', + responseLimits.timeoutMs ?? 'none', + responseLimits.maxResponseBytes ?? 'none', + ]); + + try { + try { + validateLimit('timeoutMs', responseLimits.timeoutMs); + validateLimit('maxResponseBytes', responseLimits.maxResponseBytes); + } catch (error) { + throw fail('failed', 'request_invalid', error); + } + + const value = await this.request({ + url, + method: methodName, + data, + headers, + isJsonRet, + isArgJson, + maxRedirects, + responseLimits, + deadlineAt: + responseLimits.timeoutMs === undefined + ? undefined + : Date.now() + responseLimits.timeoutMs, + }); + traceTerminal(trace, 'completed', 'response_complete'); + return value; + } catch (error: unknown) { + const result = errorObject(error); + const classification = httpFailures.get(result) ?? { + outcome: 'failed' as const, + reason: 'transport_failure' as const, + }; + traceTerminal(trace, classification.outcome, classification.reason, result); + throw result; + } + }); + } + + private static async request(context: HttpRequestContext): Promise { + let option: URL; + + try { + option = new URL(context.url); + } catch (error) { + throw fail('failed', 'request_invalid', error); + } + + const protocol = + option.protocol === 'https:' ? https : option.protocol === 'http:' ? http : undefined; + + if (!protocol) { + throw fail( + 'failed', + 'request_invalid', + new Error(`unsupported request protocol: ${option.protocol}`), + ); + } + + const remainingTimeoutMs = + context.deadlineAt === undefined ? undefined : context.deadlineAt - Date.now(); + + if (remainingTimeoutMs !== undefined && remainingTimeoutMs <= 0) { + throw fail( + 'timeout', + 'deadline', + new Error(`request timed out after ${context.responseLimits.timeoutMs} ms`), + ); + } + + const options = { + hostname: option.hostname, + port: option.port, + path: option.pathname + option.search, + method: context.method, + headers: context.headers, + }; + + return new Promise((resolve, reject) => { + let settled = false; + let timeout: NodeJS.Timeout | undefined; + let traceResponseFailure: + ((state: 'aborted' | 'deadline' | 'error' | 'too_large') => void) | undefined; + + const clearDeadline = () => { + if (timeout !== undefined) { + clearTimeout(timeout); + } + }; + + const resolveOnce = (value: T) => { + if (settled) { + return; + } + + settled = true; + clearDeadline(); + resolve(value); + }; + + const rejectOnce = (error: Error) => { + if (settled) { + return; + } + + settled = true; + clearDeadline(); + reject(error); + }; + + const handOff = (next: Promise) => { + if (settled) { + return; + } + + settled = true; + clearDeadline(); + next.then(resolve).catch(reject); + }; + + let req: http.ClientRequest; + + try { + req = protocol.request(options, (res: http.IncomingMessage) => { + const statusCode = res.statusCode ?? 0; + + const closeCurrent = () => { + res.destroy(); + req.destroy(); + }; + + res.once('error', (error: Error) => { + traceResponseFailure?.('error'); + rejectOnce(fail('failed', 'transport_failure', error)); + }); + res.once('aborted', () => { + traceResponseFailure?.('aborted'); + rejectOnce( + fail( + 'cancelled', + 'response_aborted', + new Error('response aborted before completion'), + ), + ); + }); + + if ( + (statusCode === 301 || + statusCode === 302 || + statusCode === 307 || + statusCode === 308) && + res.headers.location + ) { + log.trace(() => [ + 'http_response status=%d url=%j headers=%s bodyState=not_read', + statusCode, + context.url, + renderParamsVerbose(res.headers), + ]); + + if (context.maxRedirects <= 0) { + rejectOnce( + fail('failed', 'redirect_failure', new Error('Too many redirects')), + ); + closeCurrent(); + return; + } + + let redirectUrl: URL; + + try { + redirectUrl = new URL(res.headers.location, option); + } catch (error) { + rejectOnce( + fail( + 'failed', + 'redirect_failure', + new Error('invalid redirect location', { cause: error }), + ), + ); + closeCurrent(); + return; + } + + if (redirectUrl.protocol !== 'http:' && redirectUrl.protocol !== 'https:') { + rejectOnce( + fail( + 'failed', + 'redirect_failure', + new Error( + `unsupported redirect protocol: ${redirectUrl.protocol}`, + ), + ), + ); + closeCurrent(); + return; + } + + if ( + option.origin !== redirectUrl.origin && + context.method.toUpperCase() !== 'GET' && + context.method.toUpperCase() !== 'HEAD' + ) { + rejectOnce( + fail( + 'failed', + 'redirect_failure', + new Error( + `cross-origin redirect cannot forward method ${context.method.toUpperCase()}`, + ), + ), + ); + closeCurrent(); + return; + } + + const redirectHeaders = headersForRedirect( + context.headers, + option, + redirectUrl, + ); + log.trace(() => [ + 'http_branch branch=redirect status=%d from=%j to=%j nextHeaders=%s remainingRedirects=%d', + statusCode, + context.url, + redirectUrl.href, + renderParamsVerbose(redirectHeaders), + context.maxRedirects - 1, + ]); + handOff( + this.request({ + ...context, + url: redirectUrl.href, + headers: redirectHeaders, + maxRedirects: context.maxRedirects - 1, + }), + ); + closeCurrent(); + return; + } + + if (statusCode < 200 || statusCode >= 300) { + log.trace(() => [ + 'http_response status=%d url=%j headers=%s bodyState=not_read', + statusCode, + context.url, + renderParamsVerbose(res.headers), + ]); + rejectOnce( + fail( + 'failed', + 'non_2xx', + new Error(`Unexpected status code: ${res.statusCode}`), + ), + ); + closeCurrent(); + return; + } + + const chunks: Buffer[] = []; + let responseBytes = 0; + let failureBodyTraced = false; + + traceResponseFailure = (state) => { + if (failureBodyTraced) { + return; + } + + failureBodyTraced = true; + log.trace(() => { + const observedBody = Buffer.concat(chunks, responseBytes); + return [ + 'http_response status=%d url=%j headers=%s bodyState=%s bodyBytes=%d bodyHex=%s body=%j', + statusCode, + context.url, + renderParamsVerbose(res.headers), + state, + responseBytes, + renderTraceBytes(observedBody), + observedBody.toString(), + ]; + }); + }; + + res.on('data', (chunk: string | Buffer) => { + if (settled) { + return; + } + + const bytes = Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk); + responseBytes += bytes.length; + chunks.push(bytes); + + if ( + context.responseLimits.maxResponseBytes !== undefined && + responseBytes > context.responseLimits.maxResponseBytes + ) { + traceResponseFailure?.('too_large'); + const error = fail( + 'failed', + 'response_too_large', + new Error( + `response body exceeds ${context.responseLimits.maxResponseBytes} bytes`, + ), + ); + rejectOnce(error); + closeCurrent(); + return; + } + }); + + res.on('end', () => { + if (settled) { + return; + } + + failureBodyTraced = true; + const responseBuffer = Buffer.concat(chunks, responseBytes); + const responseBody = responseBuffer.toString(); + log.trace(() => [ + 'http_response status=%d url=%j headers=%s bodyBytes=%d bodyHex=%s body=%j', + statusCode, + context.url, + renderParamsVerbose(res.headers), + responseBytes, + renderTraceBytes(responseBuffer), + responseBody, + ]); + + try { + if (context.isJsonRet) { + const parsed = JSON.parse(responseBody) as T; + log.trace(() => [ + 'http_branch branch=parse_completed responseType=json result=%s', + renderParamsVerbose(parsed), + ]); + resolveOnce(parsed); + } else { + log.trace('http_branch branch=parse_completed responseType=text'); + resolveOnce(responseBody as T); + } + } catch (parseError: unknown) { + log.trace(() => [ + 'http_branch branch=parse_failed responseType=json error=%j', + errorText(parseError), + ]); + rejectOnce(fail('failed', 'parse_failure', parseError)); + } + }); + }); + } catch (error) { + rejectOnce(fail('failed', 'request_invalid', error)); + return; + } + + if (remainingTimeoutMs !== undefined) { + timeout = setTimeout(() => { + traceResponseFailure?.('deadline'); + const error = new Error( + `request timed out after ${context.responseLimits.timeoutMs} ms`, + ); + rejectOnce(fail('timeout', 'deadline', error)); + req.destroy(); + }, remainingTimeoutMs); + } + + req.on('error', (error: Error) => + rejectOnce(fail('failed', 'transport_failure', error)), + ); + + try { + if ( + context.method === 'POST' || + context.method === 'PUT' || + context.method === 'PATCH' + ) { + const requestBody = context.isArgJson + ? JSON.stringify(context.data) + : context.data; + + if ( + typeof requestBody === 'string' || + Buffer.isBuffer(requestBody) || + requestBody instanceof Uint8Array + ) { + log.trace(() => { + const requestBytes = + typeof requestBody === 'string' + ? Buffer.from(requestBody) + : requestBody; + return [ + 'http_branch branch=request_body url=%j requestBytes=%d requestHex=%s', + context.url, + requestBytes.byteLength, + renderTraceBytes(requestBytes), + ]; + }); + } + + req.write(requestBody); + } + + req.end(); + } catch (error) { + rejectOnce(fail('failed', 'request_invalid', error)); + req.destroy(); + } + }); + } + + static async HttpGetText( + url: string, + method: string = 'GET', + data?: RequestBody, + headers: { [key: string]: string } = {}, + responseLimits: HttpResponseLimits = {}, + ) { + return this.HttpGetJson( + url, + method, + data, + headers, + false, + false, + 5, + responseLimits, + ); + } +} + +export function cookieToString(cookieObject: Record): string { + return Object.entries(cookieObject) + .map(([key, value]) => `${key}=${value}`) + .join('; '); +} + +export function getBknFromCookie(cookieObject: Record): string { + const skey = cookieObject['p_skey'] || cookieObject['skey'] || ''; + let hash = 5381; + + for (let i = 0; i < skey.length; i++) { + hash += (hash << 5) + skey.charCodeAt(i); + } + + return (hash & 2147483647).toString(); +} diff --git a/packages/protocol/tests/dataline.test.ts b/packages/protocol/tests/dataline.test.ts new file mode 100644 index 00000000..ea5bdfd1 --- /dev/null +++ b/packages/protocol/tests/dataline.test.ts @@ -0,0 +1,172 @@ +import type { PacketInfo } from '@snowluma/common/protocol-types'; +import type { DatalineMsgBody, DatalineTextMsg } from '@snowluma/proto-defs/dataline'; +import type { PushMsg, PushMsgBody } from '@snowluma/proto-defs/message'; +import { protobuf_encode } from '@snowluma/proton'; +import { describe, expect, it } from 'vitest'; +import { encodeDatalineText } from '../src/dataline/codec'; +import { DATALINE_UIN_PAD, DATALINE_UIN_PHONE } from '../src/dataline/device-contacts'; +import type { IdentityService } from '../src/identity-service'; +import { parseMsgPush } from '../src/msg-push'; + +const identity = { findFriend: () => undefined } as unknown as IdentityService; +const encoder = new TextEncoder(); + +function pushPacket(message: PushMsgBody): PacketInfo { + return { + pid: 0, + uin: '2000000001', + serviceCmd: 'trpc.msg.olpush.OlPushService.MsgPush', + seqId: 0, + retCode: 0, + fromClient: false, + body: protobuf_encode({ message }), + }; +} + +function datalinePush(body: DatalineMsgBody, extras: Partial = {}): PacketInfo { + return pushPacket({ + responseHead: { fromUin: 2000000001, fromUid: 'u_self' }, + contentHead: { + msgType: 529, + subType: 7, + sequence: 11, + ntMsgSeq: 22, + timestamp: 1710000000, + msgId: 33, + }, + body: { msgContent: protobuf_encode(body) }, + ...extras, + }); +} + +function textBuf(text: string): Uint8Array { + return protobuf_encode({ + items: [{ type: 1, text: encoder.encode(text) }], + }); +} + +describe('dataline my-device chats', () => { + it('decodes an incoming Pad text push as a named device peer', () => { + const out = parseMsgPush( + datalinePush({ + subCmd: 4, + header: { + srcAppId: 1001, + srcInstId: 1, + dstAppId: 1, + dstInstId: 1, + dstUin: 2000000001n, + srcUin: 2000000001n, + srcTerType: 3, + dstTerType: 1, + }, + generic: { + sessionId: 1n, + size: 1, + index: 0, + type: 1, + buf: textBuf('from pad'), + }, + }), + identity, + ); + + expect(out).toHaveLength(1); + expect(out[0]).toMatchObject({ + kind: 'friend_message', + senderUin: DATALINE_UIN_PAD, + senderUid: 'u_l7jpPIZxQo0mzJwoEt-SKw', + peerUin: DATALINE_UIN_PAD, + senderNick: '我的Pad', + elements: [{ type: 'text', text: 'from pad' }], + }); + }); + + it('treats a self-originated device text as a message_sent-style peer rewrite', () => { + const out = parseMsgPush( + datalinePush({ + subCmd: 4, + header: { + srcAppId: 1, + srcInstId: 1, + dstAppId: 1001, + dstInstId: 1, + dstUin: 2000000001n, + srcUin: 2000000001n, + srcTerType: 1, + dstTerType: 2, + }, + generic: { + sessionId: 2n, + size: 1, + index: 0, + type: 1, + buf: textBuf('to phone'), + }, + }), + identity, + ); + + expect(out[0]).toMatchObject({ + kind: 'friend_message', + senderUin: 2000000001, + senderUid: 'u_self', + peerUin: DATALINE_UIN_PHONE, + senderNick: '', + elements: [{ type: 'text', text: 'to phone' }], + }); + }); + + it('surfaces a device file notify as a file element', () => { + const out = parseMsgPush( + datalinePush({ + subCmd: 1, + header: { + srcTerType: 2, + dstTerType: 1, + srcUin: 2000000001n, + dstUin: 2000000001n, + }, + ftn: [ + { + sessionId: 9n, + fileName: 'shot.png', + fileIndex: 'ftn-1', + fileLen: 32n, + }, + ], + }), + identity, + ); + + expect(out[0]).toMatchObject({ + kind: 'friend_message', + senderUin: DATALINE_UIN_PHONE, + senderNick: '我的手机', + elements: [{ type: 'file', fileId: 'ftn-1', fileName: 'shot.png', fileSize: 32 }], + }); + }); + + it('round-trips outbound device text through the same decoder', () => { + const encoded = encodeDatalineText({ + selfUin: 2000000001, + dstTerType: 2, + text: 'hello phone', + }); + const out = parseMsgPush( + pushPacket({ + responseHead: { fromUin: 2000000001, fromUid: 'u_self' }, + contentHead: { msgType: 529, subType: 7, sequence: 1, timestamp: 1, msgId: 1 }, + body: { msgContent: encoded }, + }), + identity, + ); + + expect(out[0]).toMatchObject({ + kind: 'friend_message', + senderUin: 2000000001, + peerUin: DATALINE_UIN_PHONE, + elements: [{ type: 'text', text: 'hello phone' }], + }); + }); +}); diff --git a/packages/protocol/tests/download-settings.test.ts b/packages/protocol/tests/download-settings.test.ts new file mode 100644 index 00000000..ea9b3a84 --- /dev/null +++ b/packages/protocol/tests/download-settings.test.ts @@ -0,0 +1,61 @@ +import { afterEach, describe, expect, it, vi } from 'vitest'; + +import { + DEFAULT_HTTP_DOWNLOAD_TIMEOUT_MS, + DEFAULT_MAX_BINARY_DOWNLOAD_BYTES, + httpDownloadTimeoutMs, + maxBinaryDownloadBytes, +} from '../src/highway/download-settings'; +import { downloadHttp } from '../src/highway/utils'; + +const memorySink = (): { + write: () => void; + done: () => undefined; + discard: () => void; +} => ({ write: () => undefined, done: () => undefined, discard: () => undefined }); + +afterEach(() => { + vi.unstubAllEnvs(); + vi.unstubAllGlobals(); + vi.restoreAllMocks(); +}); + +describe('highway download settings', () => { + it('keeps the documented defaults when nothing is configured', () => { + expect(httpDownloadTimeoutMs({})).toBe(60_000); + expect(maxBinaryDownloadBytes({})).toBe(1024 * 1024 * 1024); + expect(DEFAULT_HTTP_DOWNLOAD_TIMEOUT_MS).toBe(60_000); + expect(DEFAULT_MAX_BINARY_DOWNLOAD_BYTES).toBe(1024 * 1024 * 1024); + }); + + it('reads both knobs from the environment', () => { + expect(httpDownloadTimeoutMs({ SNOWLUMA_HTTP_DOWNLOAD_TIMEOUT_MS: '180000' })).toBe( + 180_000, + ); + expect( + maxBinaryDownloadBytes({ SNOWLUMA_MAX_BINARY_DOWNLOAD_BYTES: String(2 ** 31) }), + ).toBe(2 ** 31); + }); + + it('ignores unusable values instead of failing the download', () => { + expect(httpDownloadTimeoutMs({ SNOWLUMA_HTTP_DOWNLOAD_TIMEOUT_MS: '0' })).toBe(60_000); + expect(httpDownloadTimeoutMs({ SNOWLUMA_HTTP_DOWNLOAD_TIMEOUT_MS: 'soon' })).toBe(60_000); + expect(maxBinaryDownloadBytes({ SNOWLUMA_MAX_BINARY_DOWNLOAD_BYTES: '-5' })).toBe( + DEFAULT_MAX_BINARY_DOWNLOAD_BYTES, + ); + }); + + it('feeds the configured timeout into the fetch signal', async () => { + vi.stubEnv('SNOWLUMA_HTTP_DOWNLOAD_TIMEOUT_MS', '1234'); + const timeoutSpy = vi.spyOn(AbortSignal, 'timeout'); + const fetchStub = vi.fn( + async () => new Response(new Uint8Array([1, 2, 3]), { status: 200 }), + ); + vi.stubGlobal('fetch', fetchStub); + + await downloadHttp('https://example.test/media.bin', 'media', 1024, memorySink); + + expect(timeoutSpy).toHaveBeenCalledWith(1234); + expect(fetchStub).toHaveBeenCalledTimes(1); + }); +}); diff --git a/packages/protocol/tests/element-manifest.test.ts b/packages/protocol/tests/element-manifest.test.ts new file mode 100644 index 00000000..fc92d9a1 --- /dev/null +++ b/packages/protocol/tests/element-manifest.test.ts @@ -0,0 +1,203 @@ +import { describe, it, expect } from 'vitest'; +import { readFileSync } from 'node:fs'; +import { fileURLToPath } from 'node:url'; +import { + ELEMENT_MANIFEST, + MessageElementValidationError, + assertValidMessageElement, + typesForDirection, +} from '../src/element-manifest'; + +// 对账测试(protocol 侧)—— 拿 element-manifest 核对「按 element.type 收敛」的 +// 两个 protocol 方向: +// D 收·解 rich-body-decoder.ts 产出的 MessageElement 类型集合 +// W 发·打包 element-builder.ts 的 switch 分支集合 +// onebot 侧的 S/P 由 onebot/tests/element-manifest.test.ts 核对(包边界所限)。 +// +// 这是一道架构护栏(fitness function):谁在这两处新增/删除一种元素方向,却没有 +//同步更新 element-manifest,测试立即报红——把「漏写一个方向」从运行时兜底静默 +// 变成 CI 当场可见。纯读源码、零运行时行为改动。 + +function readSrc(relFromTestDir: string): string { + const abs = fileURLToPath(new URL(relFromTestDir, import.meta.url)); + const raw = readFileSync(abs, 'utf8'); + // 剥掉块注释与行注释,避免注释里出现的类型字面量污染扫描结果。 + return raw.replace(/\/\*[\s\S]*?\*\//g, '').replace(/\/\/.*$/gm, ''); +} + +/** 抽出所有匹配 `pattern` 第 1 捕获组的去重、排序类型名。 */ +function extractTypes(src: string, pattern: RegExp): string[] { + const found = new Set(); + + for (const m of src.matchAll(pattern)) { + found.add(m[1]!); + } + + return [...found].sort(); +} + +const sorted = (s: Iterable): string[] => [...s].sort(); + +describe('element-manifest 对账(protocol 侧:D 收·解 / W 发·打包)', () => { + it('D:rich-body-decoder 产出的元素类型 == 清单声明的 D=yes', () => { + const src = readSrc('../src/msg-push/rich-body-decoder.ts'); + // 解码产出形如 `result.push({ type: 'image', ... })` / `{ type: 'reply', ... }`。 + // 值域放宽到 `[A-Za-z0-9_]+`(而非仅小写):类型名当前虽全小写,但收紧到 + // `[a-z]+` 会让未来的驼峰/下划线类型名被静默漏抓,护栏就形同虚设——正是本 + // 重构要消灭的"漏一个方向、走 default 静默"失效模式,不能在护栏自身重演。 + const handled = extractTypes(src, /(? { + const src = readSrc('../src/element-builder.ts'); + const handled = extractTypes(src, /case\s*'([A-Za-z0-9_]+)'\s*:/g); + expect(handled).toEqual(sorted(typesForDirection('W'))); + }); + + it('fields 是可执行封闭契约:每个声明字段都有 validator,越界字段会拒绝', () => { + const sampleValue = (field: string): unknown => { + if (field === 'replyElements') { + return []; + } + + if (field === 'forwardNews') { + return [{ text: 'preview' }]; + } + + if (field === 'rows') { + return [{ buttons: [] }]; + } + + if (field === 'mediaNode') { + return {}; + } + + if (field === 'emojiId' || field === 'md5Hex') { + return 'ab'.repeat(16); + } + + if (field === 'sha1Hex') { + return 'cd'.repeat(20); + } + + if (field === 'flash' || field === 'noByteFallback' || field === 'large') { + return true; + } + + if (field === 'botAppid') { + return '1'; + } + + if ( + field === 'targetUin' || + field === 'faceId' || + field === 'fileSize' || + field.startsWith('reply') || + field === 'subType' || + field === 'duration' || + field === 'width' || + field === 'height' || + field === 'emojiPackageId' || + field === 'sceneType' || + field === 'forwardTSum' || + field.endsWith('Format') + ) { + return 1; + } + + return 'value'; + }; + + for (const [type, spec] of Object.entries(ELEMENT_MANIFEST)) { + expect(new Set(spec.fields).size, `${type} has duplicate fields`).toBe( + spec.fields.length, + ); + + for (const required of spec.requiredFields) { + expect(spec.fields).toContain(required); + } + + const element: Record = { type }; + + for (const field of spec.fields) { + element[field] = sampleValue(field); + } + + expect(() => assertValidMessageElement(element), type).not.toThrow(); + } + + expect(() => + assertValidMessageElement({ type: 'poke', subType: 1, faceId: 1 }), + ).toThrowError( + expect.objectContaining({ + name: 'MessageElementValidationError', + code: 'UNEXPECTED_FIELD', + elementType: 'poke', + field: 'faceId', + }), + ); + expect(() => assertValidMessageElement({ type: 'reply' })).toThrowError( + expect.objectContaining({ code: 'MISSING_FIELD', field: 'replySeq' }), + ); + expect(() => assertValidMessageElement({ type: 'toString' })).toThrowError( + expect.objectContaining({ code: 'UNKNOWN_TYPE', elementType: 'toString' }), + ); + expect(() => assertValidMessageElement({ type: 'mface', emojiId: 'zz' }, 'W')).toThrowError( + expect.objectContaining({ code: 'INVALID_FIELD', field: 'emojiId' }), + ); + expect(() => + assertValidMessageElement( + { + type: 'image', + url: 'https://example.com/a.png', + md5Hex: 'not-md5', + }, + 'W', + ), + ).toThrowError(expect.objectContaining({ code: 'INVALID_FIELD', field: 'md5Hex' })); + }); + + it('returns a stable typed validation error for BAD_REQUEST mapping', () => { + try { + assertValidMessageElement({ type: 'unknown-segment' }, 'W'); + expect.unreachable('validation should throw'); + } catch (error) { + expect(error).toBeInstanceOf(MessageElementValidationError); + expect(error).toMatchObject({ code: 'UNKNOWN_TYPE', elementType: 'unknown-segment' }); + } + }); + + it('rejects invalid wire ranges and incomplete fast-upload fingerprints', () => { + expect(() => + assertValidMessageElement( + { + type: 'file', + fileId: 'fid', + fileSize: -1, + }, + 'P', + ), + ).toThrowError( + expect.objectContaining({ + code: 'INVALID_FIELD', + field: 'fileSize', + }), + ); + expect(() => + assertValidMessageElement( + { + type: 'image', + url: 'https://example.com/fallback-must-not-be-used.png', + noByteFallback: true, + }, + 'W', + ), + ).toThrowError( + expect.objectContaining({ + code: 'MISSING_FIELD', + field: 'md5Hex', + }), + ); + }); +}); diff --git a/packages/protocol/tests/event-bus.test.ts b/packages/protocol/tests/event-bus.test.ts new file mode 100644 index 00000000..ddfe36f8 --- /dev/null +++ b/packages/protocol/tests/event-bus.test.ts @@ -0,0 +1,209 @@ +import { describe, expect, it, vi } from 'vitest'; +import { BridgeEventBus } from '../src/event-bus'; +import type { FriendMessage, GroupMessage } from '../src/events'; + +function makeFriendMessage(): FriendMessage { + return { + kind: 'friend_message', + time: 1700000000, + selfUin: 10001, + senderUin: 22222, + senderNick: 'peer', + msgSeq: 1, + msgId: 1, + elements: [{ type: 'text', text: 'hi' }], + }; +} + +function makeGroupMessage(): GroupMessage { + return { + kind: 'group_message', + groupName: '', + time: 1700000000, + selfUin: 10001, + groupId: 99999, + senderUin: 22222, + senderNick: 'peer', + senderCard: '', + senderRole: 'member', + msgSeq: 2, + msgId: 2, + elements: [{ type: 'text', text: 'hi' }], + }; +} + +describe('BridgeEventBus', () => { + it('keeps the current kind and wildcard subscribers stable while dispatching', async () => { + const bus = new BridgeEventBus(); + const peer = vi.fn(); + const tap = vi.fn(); + const later = vi.fn(); + const laterTap = vi.fn(); + bus.on('friend_message', () => { + offPeer(); + offTap(); + bus.on('friend_message', later); + bus.onAny(laterTap); + }); + const offPeer = bus.on('friend_message', peer); + const offTap = bus.onAny(tap); + + await bus.emit(makeFriendMessage()); + expect(peer).toHaveBeenCalledOnce(); + expect(tap).toHaveBeenCalledOnce(); + expect(later).not.toHaveBeenCalled(); + expect(laterTap).not.toHaveBeenCalled(); + + await bus.emit(makeFriendMessage()); + expect(peer).toHaveBeenCalledOnce(); + expect(tap).toHaveBeenCalledOnce(); + expect(later).toHaveBeenCalledOnce(); + expect(laterTap).toHaveBeenCalledOnce(); + }); + + it('finishes the current dispatch when a handler clears subscriptions', async () => { + const bus = new BridgeEventBus(); + const peer = vi.fn(); + const tap = vi.fn(); + bus.on('friend_message', () => bus.clear()); + bus.on('friend_message', peer); + bus.onAny(tap); + await bus.emit(makeFriendMessage()); + await bus.emit(makeFriendMessage()); + expect(peer).toHaveBeenCalledOnce(); + expect(tap).toHaveBeenCalledOnce(); + }); + + it.each(['kind', 'any'] as const)('owns each %s subscription independently', async (type) => { + const bus = new BridgeEventBus(); + const handler = vi.fn(); + const subscribe = () => + type === 'kind' ? bus.on('friend_message', handler) : bus.onAny(handler); + const off = subscribe(); + subscribe(); + off(); + off(); + await bus.emit(makeFriendMessage()); + expect(handler).toHaveBeenCalledOnce(); + + bus.clear(); + subscribe(); + off(); + await bus.emit(makeFriendMessage()); + expect(handler).toHaveBeenCalledTimes(2); + }); + + it('off removes every registration of the named handler', async () => { + const bus = new BridgeEventBus(); + const handler = vi.fn(); + bus.on('friend_message', handler); + bus.on('friend_message', handler); + bus.off('friend_message', handler); + expect(bus.has('friend_message')).toBe(false); + await bus.emit(makeFriendMessage()); + expect(handler).not.toHaveBeenCalled(); + }); + + it('routes events only to subscribers of the matching kind', async () => { + const bus = new BridgeEventBus(); + const friend = vi.fn(); + const group = vi.fn(); + bus.on('friend_message', friend); + bus.on('group_message', group); + + await bus.emit(makeFriendMessage()); + await bus.emit(makeGroupMessage()); + + expect(friend).toHaveBeenCalledTimes(1); + expect(group).toHaveBeenCalledTimes(1); + }); + + it('runs every subscriber in parallel for one kind', async () => { + const bus = new BridgeEventBus(); + const order: string[] = []; + bus.on('friend_message', async () => { + await new Promise((r) => setTimeout(r, 20)); + order.push('slow'); + }); + bus.on('friend_message', () => { + order.push('fast'); + }); + + await bus.emit(makeFriendMessage()); + // The synchronous handler must finish before the async one — proves we + // don't serialize handlers across the kind. + expect(order).toEqual(['fast', 'slow']); + }); + + it('isolates handler errors and reports them via onError', async () => { + const seen: Array<{ kind: string; err: unknown }> = []; + const bus = new BridgeEventBus({ onError: (kind, err) => seen.push({ kind, err }) }); + const ok = vi.fn(); + bus.on('friend_message', () => { + throw new Error('boom'); + }); + bus.on('friend_message', ok); + + await bus.emit(makeFriendMessage()); + + expect(ok).toHaveBeenCalledTimes(1); + expect(seen).toHaveLength(1); + expect(seen[0].kind).toBe('friend_message'); + expect((seen[0].err as Error).message).toBe('boom'); + }); + + it('supports unsubscribe via the returned disposer', async () => { + const bus = new BridgeEventBus(); + const handler = vi.fn(); + const off = bus.on('friend_message', handler); + + await bus.emit(makeFriendMessage()); + expect(handler).toHaveBeenCalledTimes(1); + + off(); + await bus.emit(makeFriendMessage()); + expect(handler).toHaveBeenCalledTimes(1); + }); + + it('supports onAny and isolates its errors separately', async () => { + const seen: Array<{ kind: string; err: unknown }> = []; + const bus = new BridgeEventBus({ onError: (kind, err) => seen.push({ kind, err }) }); + const tap = vi.fn(); + bus.onAny(tap); + bus.onAny(() => { + throw new Error('any-fail'); + }); + + await bus.emit(makeFriendMessage()); + await bus.emit(makeGroupMessage()); + + expect(tap).toHaveBeenCalledTimes(2); + expect(seen).toHaveLength(2); + expect(seen.every((s) => s.kind === '*')).toBe(true); + }); + + it('reports has() based on per-kind + onAny subscriptions', () => { + const bus = new BridgeEventBus(); + expect(bus.has('friend_message')).toBe(false); + + const off = bus.on('friend_message', () => {}); + expect(bus.has('friend_message')).toBe(true); + off(); + expect(bus.has('friend_message')).toBe(false); + + bus.onAny(() => {}); + expect(bus.has('friend_message')).toBe(true); + }); + + it('clear() drops every subscriber', async () => { + const bus = new BridgeEventBus(); + const handler = vi.fn(); + bus.on('friend_message', handler); + bus.onAny(handler); + + bus.clear(); + await bus.emit(makeFriendMessage()); + + expect(handler).not.toHaveBeenCalled(); + }); +}); diff --git a/packages/protocol/tests/format.test.ts b/packages/protocol/tests/format.test.ts new file mode 100644 index 00000000..6b1ef29a --- /dev/null +++ b/packages/protocol/tests/format.test.ts @@ -0,0 +1,796 @@ +import { describe, expect, it } from 'vitest'; +import type { JsonObject, JsonValue } from '@snowluma/common/json'; +import type { QQEventVariant } from '@snowluma/protocol/events'; +import { + formatEvent, + formatGroup, + formatMessageSegments, + formatReply, + formatUser, + type ReplyEventLookup, +} from '@snowluma/protocol/format'; +import type { IdentityService } from '@snowluma/protocol/identity-service'; + +function stubIdentity( + opts: { + groups?: Record; + members?: Record; + friends?: Record; + } = {}, +): IdentityService { + return { + findGroup: (groupId: number) => opts.groups?.[groupId] ?? null, + findGroupMember: (groupId: number, uin: number) => + opts.members?.[`${groupId}:${uin}`] ?? null, + findFriend: (uin: number) => opts.friends?.[uin] ?? null, + } as IdentityService; +} + +function throwingIdentity(): IdentityService { + return { + findGroup: () => { + throw new Error('identity unavailable'); + }, + findGroupMember: () => { + throw new Error('identity unavailable'); + }, + findFriend: () => { + throw new Error('identity unavailable'); + }, + } as IdentityService; +} + +function stubStore(events: Record): ReplyEventLookup { + return { + findEvent: (messageId: number) => events[messageId] ?? null, + }; +} + +describe('formatGroup', () => { + it('renders [name(id)] from a cached groupName', () => { + const identity = stubIdentity({ groups: { 778899: { groupName: '雪夜茶话' } } }); + expect(formatGroup(identity, 778899)).toBe('[雪夜茶话(778899)]'); + }); + + it('trims groupName before wrapping', () => { + const identity = stubIdentity({ groups: { 778899: { groupName: ' 雪夜茶话 ' } } }); + expect(formatGroup(identity, 778899)).toBe('[雪夜茶话(778899)]'); + }); + + it('falls back to the bare id when groupName is blank after trim', () => { + const identity = stubIdentity({ groups: { 778899: { groupName: ' ' } } }); + expect(formatGroup(identity, 778899)).toBe('778899'); + }); + + it('falls back to the bare id on cache miss', () => { + expect(formatGroup(stubIdentity(), 778899)).toBe('778899'); + }); + + it('maps 0 and other non-positive ids without a roster lookup', () => { + const identity = stubIdentity({ groups: { 0: { groupName: 'ghost' } } }); + expect(formatGroup(identity, 0)).toBe('0'); + expect(formatGroup(identity, -12)).toBe('-12'); + expect(formatGroup(identity, Number.NaN)).toBe('0'); + }); + + it('falls back to the bare id when findGroup throws', () => { + expect(formatGroup(throwingIdentity(), 778899)).toBe('778899'); + }); +}); + +describe('formatUser', () => { + it('prefers a group-member card over nickname', () => { + const identity = stubIdentity({ + members: { '778899:20001': { card: '冬至', nickname: '小满' } }, + }); + expect(formatUser(identity, 778899, 20001)).toBe('[冬至(20001)]'); + }); + + it('uses the member nickname when card is empty after trim', () => { + const identity = stubIdentity({ + members: { '778899:20001': { card: ' ', nickname: '小满' } }, + }); + expect(formatUser(identity, 778899, 20001)).toBe('[小满(20001)]'); + }); + + it('skips the member roster when groupId is missing or non-positive', () => { + const identity = stubIdentity({ + members: { '778899:20001': { card: '冬至' } }, + friends: { 20001: { remark: '谷雨', nickname: '小满' } }, + }); + expect(formatUser(identity, undefined, 20001)).toBe('[谷雨(20001)]'); + expect(formatUser(identity, 0, 20001)).toBe('[谷雨(20001)]'); + expect(formatUser(identity, -3, 20001)).toBe('[谷雨(20001)]'); + }); + + it('falls through to the friend nickname when remark is blank', () => { + const identity = stubIdentity({ + friends: { 30001: { remark: ' ', nickname: '惊蛰' } }, + }); + expect(formatUser(identity, undefined, 30001)).toBe('[惊蛰(30001)]'); + }); + + it('uses a friend after a group-member miss', () => { + const identity = stubIdentity({ + friends: { 20002: { remark: '白露' } }, + }); + expect(formatUser(identity, 778899, 20002)).toBe('[白露(20002)]'); + }); + + it('returns the bare uin when nothing is cached', () => { + expect(formatUser(stubIdentity(), 778899, 20001)).toBe('20001'); + }); + + it('returns the uid when uin is missing or non-positive', () => { + expect(formatUser(stubIdentity(), 778899, 0, 'u_winter')).toBe('u_winter'); + expect(formatUser(stubIdentity(), 778899, -8, 'u_neg')).toBe('u_neg'); + }); + + it('returns 0 when both uin and uid are missing', () => { + expect(formatUser(stubIdentity(), undefined, 0)).toBe('0'); + expect(formatUser(stubIdentity(), undefined, -8)).toBe('0'); + }); + + it('returns the bare uin when identity lookups throw', () => { + expect(formatUser(throwingIdentity(), 778899, 20001)).toBe('20001'); + expect(formatUser(throwingIdentity(), undefined, 20001)).toBe('20001'); + }); +}); + +describe('formatMessageSegments', () => { + it('renders a raw string and truncates past 50 characters', () => { + expect(formatMessageSegments('清明')).toBe('清明'); + expect(formatMessageSegments('雨'.repeat(51))).toBe(`${'雨'.repeat(50)}...`); + }); + + it('returns [空消息] for an empty string or a non-array payload', () => { + expect(formatMessageSegments('')).toBe('[空消息]'); + expect(formatMessageSegments([])).toBe('[空消息]'); + expect(formatMessageSegments(null)).toBe('[空消息]'); + expect(formatMessageSegments(42)).toBe('[空消息]'); + expect(formatMessageSegments({ type: 'text' })).toBe('[空消息]'); + }); + + it('skips non-object segments and still joins the rest', () => { + expect( + formatMessageSegments([ + null, + 7, + 'skip', + ['nested'], + { type: 'text', data: { text: '立夏' } }, + { type: 'text', data: { text: '小暑' } }, + ]), + ).toBe('立夏 小暑'); + }); + + it('treats a missing or non-object data field as empty segment data', () => { + expect(formatMessageSegments([{ type: 'text' }])).toBe('[空消息]'); + expect(formatMessageSegments([{ type: 'at', data: null }])).toBe('@'); + expect(formatMessageSegments([{ type: 'at', data: ['all'] }])).toBe('@'); + expect(formatMessageSegments([{ type: 'image', data: 'pic' }])).toBe('[图片]'); + }); + + it('renders each known segment type with its preview token', () => { + expect( + formatMessageSegments([ + { type: 'text', data: { text: 'hi' } }, + { type: 'image', data: {} }, + { type: 'image', data: { emoji_id: 'e1', summary: '捂脸' } }, + { type: 'image', data: { emoji_id: 'e2' } }, + { type: 'face', data: { id: 1 } }, + { type: 'mface', data: { text: '旺柴' } }, + { type: 'mface', data: {} }, + { type: 'at', data: { qq: 20001 } }, + { type: 'at', data: { qq: 'all' } }, + { type: 'at', data: {} }, + { type: 'reply', data: { id: 4100 } }, + { type: 'reply', data: {} }, + { type: 'record', data: {} }, + { type: 'video', data: {} }, + { type: 'file', data: { name: 'notes.txt' } }, + { type: 'file', data: { file: 'old.bin' } }, + { type: 'file', data: {} }, + { type: 'xml', data: {} }, + { type: 'markdown', data: {} }, + { type: 'inline_keyboard', data: {} }, + { type: 'forward', data: {} }, + { type: 'poke', data: {} }, + { type: 'flash_file', data: { title: '图纸.dwg' } }, + { type: 'flash_file', data: {} }, + { type: 'mystery', data: {} }, + {}, + ]), + ).toBe( + [ + 'hi', + '[图片]', + '[捂脸]', + '[表情]', + '[表情]', + '[旺柴]', + '[表情]', + '@20001', + '@全体成员', + '@', + '[回复:4100]', + '[回复:]', + '[语音]', + '[视频]', + '[文件:notes.txt]', + '[文件:old.bin]', + '[文件]', + '[XML]', + '[Markdown]', + '[交互按钮]', + '[聊天记录]', + '[窗口抖动]', + '[闪传文件:图纸.dwg]', + '[闪传文件]', + '[mystery]', + '[]', + ].join(' '), + ); + }); + + it('truncates file names and flash-file titles to 20 characters', () => { + const longName = 'abcdefghijABCDEFGHIJxyz'; + expect(formatMessageSegments([{ type: 'file', data: { name: longName } }])).toBe( + '[文件:abcdefghijABCDEFGHIJ...]', + ); + expect(formatMessageSegments([{ type: 'flash_file', data: { title: longName } }])).toBe( + '[闪传文件:abcdefghijABCDEFGHIJ...]', + ); + }); + + it('treats an empty file name as absent even if file is also empty', () => { + expect(formatMessageSegments([{ type: 'file', data: { name: '' } }])).toBe('[文件]'); + }); + + it('extracts json card titles from the documented ARK locations in order', () => { + const ranked = JSON.stringify({ + meta: { + detail_1: { title: '小程序名' }, + detail: { title: '详情名' }, + news: { title: '新闻名' }, + }, + prompt: '提示文案', + }); + expect(formatMessageSegments([{ type: 'json', data: { data: ranked } }])).toBe( + '[卡片:小程序名]', + ); + + expect( + formatMessageSegments([ + { + type: 'json', + data: { data: JSON.stringify({ meta: { detail: { title: '图文分享' } } }) }, + }, + ]), + ).toBe('[卡片:图文分享]'); + + expect( + formatMessageSegments([ + { + type: 'json', + data: { data: JSON.stringify({ meta: { news: { title: '头条' } } }) }, + }, + ]), + ).toBe('[卡片:头条]'); + + expect( + formatMessageSegments([ + { + type: 'json', + data: { data: JSON.stringify({ meta: { mannonce: { title: '群公告' } } }) }, + }, + ]), + ).toBe('[卡片:群公告]'); + + expect( + formatMessageSegments([ + { + type: 'json', + data: { data: JSON.stringify({ meta: { music: { title: '夜曲' } } }) }, + }, + ]), + ).toBe('[卡片:夜曲]'); + + expect( + formatMessageSegments([ + { + type: 'json', + data: { data: JSON.stringify({ meta: { video: { title: '短片' } } }) }, + }, + ]), + ).toBe('[卡片:短片]'); + }); + + it('uses the single remaining meta section title when the key is unknown', () => { + expect( + formatMessageSegments([ + { + type: 'json', + data: { + data: JSON.stringify({ meta: { share_card: { title: '自定义卡片' } } }), + }, + }, + ]), + ).toBe('[卡片:自定义卡片]'); + }); + + it('falls back to prompt, then desc, when meta has no usable title', () => { + expect( + formatMessageSegments([ + { + type: 'json', + data: { + data: JSON.stringify({ + meta: { left: { title: '' }, right: { title: ' ' } }, + prompt: ' 请升级客户端 ', + }), + }, + }, + ]), + ).toBe('[卡片:请升级客户端]'); + + expect( + formatMessageSegments([ + { + type: 'json', + data: { data: JSON.stringify({ desc: ' 简介文案 ' }) }, + }, + ]), + ).toBe('[卡片:简介文案]'); + }); + + it('truncates card titles to 30 characters', () => { + const prompt = '卡'.repeat(31); + expect( + formatMessageSegments([ + { + type: 'json', + data: { data: JSON.stringify({ prompt }) }, + }, + ]), + ).toBe(`[卡片:${'卡'.repeat(30)}...]`); + }); + + it('falls back to [JSON] when the payload has no extractable title', () => { + expect(formatMessageSegments([{ type: 'json', data: {} }])).toBe('[JSON]'); + expect(formatMessageSegments([{ type: 'json', data: { data: 1 } }])).toBe('[JSON]'); + expect(formatMessageSegments([{ type: 'json', data: { data: '' } }])).toBe('[JSON]'); + expect(formatMessageSegments([{ type: 'json', data: { data: '{broken' } }])).toBe('[JSON]'); + expect(formatMessageSegments([{ type: 'json', data: { data: 'null' } }])).toBe('[JSON]'); + expect(formatMessageSegments([{ type: 'json', data: { data: '12' } }])).toBe('[JSON]'); + expect(formatMessageSegments([{ type: 'json', data: { data: '[1]' } }])).toBe('[JSON]'); + expect( + formatMessageSegments([ + { + type: 'json', + data: { data: JSON.stringify({ meta: ['x'], prompt: '' }) }, + }, + ]), + ).toBe('[JSON]'); + expect( + formatMessageSegments([ + { + type: 'json', + data: { + data: JSON.stringify({ meta: { a: { title: 9 }, b: { title: true } } }), + }, + }, + ]), + ).toBe('[JSON]'); + expect( + formatMessageSegments([ + { + type: 'json', + data: { data: JSON.stringify({ meta: { only: ['not-object'] } }) }, + }, + ]), + ).toBe('[JSON]'); + expect( + formatMessageSegments([ + { + type: 'json', + data: { data: JSON.stringify({ foo: 1 }) }, + }, + ]), + ).toBe('[JSON]'); + }); + + it('returns [消息渲染异常] when walking the segment list throws', () => { + const broken = new Proxy([] as JsonValue[], { + get(target, prop, receiver) { + if (prop === Symbol.iterator) { + throw new Error('segment exploded'); + } + + return Reflect.get(target, prop, receiver); + }, + }); + expect(formatMessageSegments(broken)).toBe('[消息渲染异常]'); + }); +}); + +describe('formatReply', () => { + const identity = stubIdentity({ + groups: { 778899: { groupName: '雪夜茶话' } }, + members: { '778899:20001': { card: '冬至' } }, + }); + + it('renders [回复:0] when the reply id is missing', async () => { + expect(await formatReply(stubStore({}), identity, 0)).toBe('[回复:0]'); + expect(await formatReply(stubStore({}), identity, Number.NaN)).toBe('[回复:0]'); + }); + + it('renders [回复:] when the store has no matching event', async () => { + expect(await formatReply(stubStore({}), identity, 4100)).toBe('[回复:4100]'); + }); + + it('resolves a group reply from the identity roster', async () => { + const store = stubStore({ + 4100: { + message_type: 'group', + group_id: 778899, + user_id: 20001, + message: [{ type: 'text', data: { text: '霜降好' } }], + }, + }); + expect(await formatReply(store, identity, 4100)).toBe('[回复 [冬至(20001)]: 霜降好]'); + }); + + it('coerces string user_id / group_id and uses the stored sender card on cache miss', async () => { + const store = stubStore({ + 4101: { + message_type: 'group', + group_id: '778899', + user_id: '20003', + sender: { card: '处暑', nickname: 'ignored' }, + message: '晚风', + }, + }); + expect(await formatReply(store, stubIdentity(), 4101)).toBe('[回复 [处暑(20003)]: 晚风]'); + }); + + it('does not treat private messages as group and ignores a whitespace-only card', async () => { + const store = stubStore({ + 4102: { + message_type: 'private', + group_id: 778899, + user_id: 20001, + sender: { card: ' ', nickname: '寒露' }, + message: [{ type: 'text', data: { text: '私聊一句' } }], + }, + }); + // Fallback is `(card || nickname).trim()`: a whitespace card is truthy + // before trim, so the nickname is not used. + expect(await formatReply(store, stubIdentity(), 4102)).toBe('[回复 20001: 私聊一句]'); + }); + + it('uses sender.nickname when card is absent', async () => { + const store = stubStore({ + 4102: { + message_type: 'private', + user_id: 20001, + sender: { nickname: '寒露' }, + message: [{ type: 'text', data: { text: '私聊一句' } }], + }, + }); + expect(await formatReply(store, stubIdentity(), 4102)).toBe( + '[回复 [寒露(20001)]: 私聊一句]', + ); + }); + + it('keeps the bare uin when sender is not a usable object', async () => { + const noSender = stubStore({ + 4103: { + message_type: 'private', + user_id: 20004, + sender: null, + message: 'x', + }, + }); + expect(await formatReply(noSender, stubIdentity(), 4103)).toBe('[回复 20004: x]'); + + const arraySender = stubStore({ + 4104: { + message_type: 'private', + user_id: 20004, + sender: ['寒露'], + message: 'y', + }, + }); + expect(await formatReply(arraySender, stubIdentity(), 4104)).toBe('[回复 20004: y]'); + }); + + it('maps non-numeric user_id to 0 and skips the sender-name fallback', async () => { + const store = stubStore({ + 4105: { + message_type: 'private', + user_id: 'not-a-uin', + sender: { nickname: '不该出现' }, + message: 'z', + }, + }); + expect(await formatReply(store, stubIdentity(), 4105)).toBe('[回复 0: z]'); + }); + + it('truncates the body preview to 30 characters after segment rendering', async () => { + const store = stubStore({ + 4106: { + message_type: 'private', + user_id: 20004, + message: [{ type: 'text', data: { text: '正'.repeat(80) } }], + }, + }); + expect(await formatReply(store, stubIdentity(), 4106)).toBe( + `[回复 20004: ${'正'.repeat(30)}...]`, + ); + }); + + it('renders referenced reply segments as tokens instead of recursing', async () => { + const store = stubStore({ + 4107: { + message_type: 'private', + user_id: 20004, + message: [ + { type: 'reply', data: { id: 1 } }, + { type: 'text', data: { text: '外层' } }, + ], + }, + }); + expect(await formatReply(store, stubIdentity(), 4107)).toBe('[回复 20004: [回复:1] 外层]'); + }); + + it('returns [回复:] when findEvent throws', async () => { + const store: ReplyEventLookup = { + findEvent: () => { + throw new Error('store unavailable'); + }, + }; + expect(await formatReply(store, identity, 4100)).toBe('[回复:4100]'); + }); +}); + +describe('formatEvent', () => { + const identity = stubIdentity({ + groups: { 778899: { groupName: '雪夜茶话' } }, + members: { + '778899:20001': { card: '冬至' }, + '778899:20002': { card: '小满' }, + '778899:20003': { nickname: '谷雨' }, + }, + friends: { + 30001: { nickname: '惊蛰' }, + 30002: { remark: '白露' }, + }, + }); + + it('returns null for kinds that have dedicated message-log paths', () => { + expect(formatEvent(identity, { kind: 'group_message' } as QQEventVariant)).toBeNull(); + expect(formatEvent(identity, { kind: 'friend_message' } as QQEventVariant)).toBeNull(); + expect(formatEvent(identity, { kind: 'temp_message' } as QQEventVariant)).toBeNull(); + expect(formatEvent(identity, { kind: 'group_file_upload' } as QQEventVariant)).toBeNull(); + expect(formatEvent(identity, { kind: 'friend_add' } as QQEventVariant)).toBeNull(); + }); + + it('returns null for kinds with no notice-line renderer', () => { + expect(formatEvent(identity, { kind: 'bot_offline' } as QQEventVariant)).toBeNull(); + expect(formatEvent(identity, { kind: 'ptt_trans_result' } as QQEventVariant)).toBeNull(); + expect(formatEvent(identity, { kind: 'group_card_change' } as QQEventVariant)).toBeNull(); + expect(formatEvent(identity, { kind: 'friend_input_status' } as QQEventVariant)).toBeNull(); + }); + + it('renders group_recall', () => { + expect( + formatEvent(identity, { + kind: 'group_recall', + groupId: 778899, + authorUin: 20001, + operatorUin: 20002, + } as QQEventVariant), + ).toBe('群撤回 [雪夜茶话(778899)] | [冬至(20001)] 被 [小满(20002)] 撤回'); + }); + + it('renders friend_recall', () => { + expect( + formatEvent(identity, { + kind: 'friend_recall', + userUin: 30001, + } as QQEventVariant), + ).toBe('私聊撤回 [惊蛰(30001)] 撤回了消息'); + }); + + it('renders group_member_join including a uid-only joiner', () => { + expect( + formatEvent(identity, { + kind: 'group_member_join', + groupId: 778899, + userUin: 20003, + userUid: 'u_guyu', + } as QQEventVariant), + ).toBe('入群 [谷雨(20003)] 加入 [雪夜茶话(778899)]'); + + expect( + formatEvent(identity, { + kind: 'group_member_join', + groupId: 778899, + userUin: 0, + userUid: 'u_only', + } as QQEventVariant), + ).toBe('入群 u_only 加入 [雪夜茶话(778899)]'); + }); + + it('renders group_member_leave for leave, kick, and disband', () => { + expect( + formatEvent(identity, { + kind: 'group_member_leave', + groupId: 778899, + userUin: 20001, + leaveType: 'leave', + } as QQEventVariant), + ).toBe('退群 [冬至(20001)] 退出 [雪夜茶话(778899)]'); + + expect( + formatEvent(identity, { + kind: 'group_member_leave', + groupId: 778899, + userUin: 20001, + leaveType: 'kick', + } as QQEventVariant), + ).toBe('退群 [冬至(20001)] 被踢出 [雪夜茶话(778899)]'); + + expect( + formatEvent(identity, { + kind: 'group_member_leave', + groupId: 778899, + userUin: 20001, + leaveType: 'disband', + } as QQEventVariant), + ).toBe('退群 [冬至(20001)] 随群解散 [雪夜茶话(778899)]'); + }); + + it('renders group_mute with the duration in seconds', () => { + expect( + formatEvent(identity, { + kind: 'group_mute', + groupId: 778899, + userUin: 20001, + duration: 600, + } as QQEventVariant), + ).toBe('禁言 [雪夜茶话(778899)] | [冬至(20001)] 600秒'); + }); + + it('renders group_admin set and unset', () => { + expect( + formatEvent(identity, { + kind: 'group_admin', + groupId: 778899, + userUin: 20002, + set: true, + } as QQEventVariant), + ).toBe('管理 [雪夜茶话(778899)] | [小满(20002)] +管理员'); + + expect( + formatEvent(identity, { + kind: 'group_admin', + groupId: 778899, + userUin: 20002, + set: false, + } as QQEventVariant), + ).toBe('管理 [雪夜茶话(778899)] | [小满(20002)] -管理员'); + }); + + it('renders friend_poke and group_poke', () => { + expect( + formatEvent(identity, { + kind: 'friend_poke', + peerUin: 30001, + senderUin: 30002, + targetUin: 30001, + } as QQEventVariant), + ).toBe('私聊戳 [惊蛰(30001)] | [白露(30002)] -> [惊蛰(30001)]'); + + expect( + formatEvent(identity, { + kind: 'group_poke', + groupId: 778899, + userUin: 20001, + targetUin: 20002, + } as QQEventVariant), + ).toBe('群戳 [雪夜茶话(778899)] | [冬至(20001)] -> [小满(20002)]'); + }); + + it('renders friend_request and group_invite', () => { + expect( + formatEvent(identity, { + kind: 'friend_request', + fromUin: 30002, + message: '加个好友', + } as QQEventVariant), + ).toBe('好友请求 [白露(30002)]: 加个好友'); + + expect( + formatEvent(identity, { + kind: 'group_invite', + fromUin: 30001, + groupId: 778899, + } as QQEventVariant), + ).toBe('群邀请 [惊蛰(30001)] -> [雪夜茶话(778899)]'); + + expect( + formatEvent(identity, { + kind: 'group_invite', + fromUin: 30001, + invitedUin: 30002, + groupId: 778899, + } as QQEventVariant), + ).toBe('群邀请 [惊蛰(30001)] 邀 [白露(30002)] -> [雪夜茶话(778899)]'); + }); + + it('renders group_essence set and unset', () => { + expect( + formatEvent(identity, { + kind: 'group_essence', + groupId: 778899, + set: true, + } as QQEventVariant), + ).toBe('精华 [雪夜茶话(778899)] | +精华'); + + expect( + formatEvent(identity, { + kind: 'group_essence', + groupId: 778899, + set: false, + } as QQEventVariant), + ).toBe('精华 [雪夜茶话(778899)] | -精华'); + }); + + it('renders group_msg_emoji_like add and remove', () => { + expect( + formatEvent(identity, { + kind: 'group_msg_emoji_like', + groupId: 778899, + operatorUin: 20001, + operatorUid: 'u_dongzhi', + emojiId: '76', + msgSeq: 8801, + isAdd: true, + } as QQEventVariant), + ).toBe('表情回应 [雪夜茶话(778899)] | [冬至(20001)] +[76] msgSeq=8801'); + + expect( + formatEvent(identity, { + kind: 'group_msg_emoji_like', + groupId: 778899, + operatorUin: 0, + operatorUid: 'u_dongzhi', + emojiId: 'ok', + msgSeq: 8802, + isAdd: false, + } as QQEventVariant), + ).toBe('表情回应 [雪夜茶话(778899)] | u_dongzhi -[ok] msgSeq=8802'); + }); + + it('degrades to numeric ids when the roster is empty', () => { + expect( + formatEvent(stubIdentity(), { + kind: 'group_recall', + groupId: 778899, + authorUin: 20001, + operatorUin: 20002, + } as QQEventVariant), + ).toBe('群撤回 778899 | 20001 被 20002 撤回'); + }); + + it('returns null when reading the event kind throws', () => { + const broken = { + get kind() { + throw new Error('event exploded'); + }, + } as unknown as QQEventVariant; + expect(formatEvent(identity, broken)).toBeNull(); + }); +}); diff --git a/packages/protocol/tests/group-member-card.test.ts b/packages/protocol/tests/group-member-card.test.ts new file mode 100644 index 00000000..e2a9b8a8 --- /dev/null +++ b/packages/protocol/tests/group-member-card.test.ts @@ -0,0 +1,147 @@ +import { describe, expect, it } from 'vitest'; +import type { PushMsg } from '@snowluma/proto-defs/message'; +import type { OidbBase, OidbSvcTrpcTcp0xFE7_3Response } from '@snowluma/proto-defs/oidb'; +import { protobuf_encode } from '@snowluma/proton'; +import { IdentityService } from '../src/identity-service'; +import type { GroupMemberInfo } from '../src/qq-info'; +import { MSG_PUSH_CMD, parseMsgPushOrThrow } from '../src/msg-push'; +import { FetchGroupMemberListPage } from '../src/oidb-services/contacts/fetch-group-member-list-page'; + +const groupId = 42; +const uin = 123; +const hex = (s: string) => Buffer.from(s, 'hex'); + +async function fetchMember(card: Uint8Array) { + const responseData = Buffer.from( + protobuf_encode>({ + body: { + members: [ + { uin: { uin }, memberName: 'nickname', memberCard: { memberCard: card } }, + ], + }, + }), + ); + const page = await FetchGroupMemberListPage.invoke( + { + sendRawPacket: async () => ({ + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }), + }, + { groupId, token: '' }, + ); + return page.members[0]!; +} + +function push(identity: IdentityService, card: Uint8Array, memberCardType?: number) { + const body = protobuf_encode({ + message: { + responseHead: { + fromUin: uin, + grp: { groupUin: groupId, memberCard: card, memberCardType }, + }, + contentHead: { msgType: 82, sequence: 1 }, + body: { richText: { elems: [{ text: { str: 'hello' } }] } }, + }, + }); + return parseMsgPushOrThrow( + { + pid: 0, + uin: '10001', + serviceCmd: MSG_PUSH_CMD, + seqId: 1, + retCode: 0, + fromClient: false, + body, + }, + identity, + )[0]; +} + +function withCachedMember(member: GroupMemberInfo) { + const identity = IdentityService.memory('10001'); + identity.rememberGroups([ + { + groupId, + groupName: 'group', + remark: '', + memberCount: 1, + memberMax: 10, + members: new Map(), + }, + ]); + identity.rememberGroupMembers(groupId, [member]); + return identity; +} + +describe('group member card wire formats', () => { + it.each([ + // Both #646 samples, with unrelated names of the same UTF-8 byte length. + [ + '测试昵称', + Buffer.concat([ + hex('0a0e120c'), + Buffer.from('测试昵称'), + hex('0a090a0724c7bfc4801a100a090a0724c7bfc4801a111000'), + ]), + ], + [ + '三字名', + Buffer.concat([ + hex('0a0b1209'), + Buffer.from('三字名'), + hex('0a090a0724c3bfc48011221000'), + ]), + ], + // Reordered outer fields, multiple text parts and a control part containing a text field. + ['甲乙', hex('10000a051203e794b20a080a01ff1203e581870a070a001203e581870a051203e4b999')], + ['🌙', hex('0a041202f09f0a0412028c99')], // A UTF-8 code point split between text parts. + [' 普通🌙 ', Buffer.from(' 普通🌙 ')], + ] as const)( + 'decodes %s in the roster and in pushes with or without a cached member', + async (name, card) => { + const member = await fetchMember(card); + expect(member.card).toBe(name); + const identity = IdentityService.memory('10001'); + expect(push(identity, card)).toMatchObject({ senderNick: name, senderCard: '' }); + const cached = withCachedMember({ ...member, card: 'outdated' }); + expect(push(cached, card)).toMatchObject({ + senderNick: 'nickname', + senderCard: name, + }); + }, + ); + + it('treats a control-only card as empty even when a previous card was cached', async () => { + const control = hex('0a030a01ff1000'); + const member = await fetchMember(control); + expect(member.card).toBe(''); + expect(push(withCachedMember({ ...member, card: 'outdated' }), control)).toMatchObject({ + senderNick: 'nickname', + senderCard: '', + }); + }); + + it('keeps explicitly literal nicknames separate from the cached group card', async () => { + const literal = '\n\t!abcdefgh'; // also a valid envelope containing an unknown fixed64 field + const identity = withCachedMember(await fetchMember(Buffer.from('existing card'))); + expect(push(identity, Buffer.from(literal), 2)).toMatchObject({ + senderNick: literal, + senderCard: 'existing card', + }); + }); + + it('rejects unreadable roster data and still delivers a message with damaged metadata', async () => { + const damaged = hex('0a051202ff00'); + await expect(fetchMember(damaged)).rejects.toThrow('group card'); + const identity = withCachedMember(await fetchMember(Buffer.from('existing card'))); + expect(push(identity, damaged)).toMatchObject({ + senderNick: 'nickname', + senderCard: 'existing card', + elements: [{ type: 'text', text: 'hello' }], + }); + }); +}); diff --git a/packages/protocol/tests/highway/audio-transcode.test.ts b/packages/protocol/tests/highway/audio-transcode.test.ts new file mode 100644 index 00000000..67864310 --- /dev/null +++ b/packages/protocol/tests/highway/audio-transcode.test.ts @@ -0,0 +1,164 @@ +import { afterAll, describe, expect, it, vi } from 'vitest'; +import { + mkdtempSync, + promises as fsPromises, + readFileSync, + readdirSync, + rmSync, + writeFileSync, +} from 'fs'; +import os from 'os'; +import path from 'path'; +import { + AUDIO_OUT_FORMATS, + convertAudioBytes, + isAudioOutFormat, +} from '@snowluma/protocol/highway/ffmpeg-addon'; + +// convertAudioBytes is the pure (#165) transcode seam: write input → the +// addon's dedicated audio transcoder → read output as base64 → always clean up +// temp files. Unit tests inject a fake; native/audio-transcode.test.ts covers +// each bundled release-platform addon in the build matrices. + +const tmpDir = mkdtempSync(path.join(os.tmpdir(), 'sl-audio-test-')); +afterAll(() => rmSync(tmpDir, { recursive: true, force: true })); + +/** Fake addon: writes deterministic bytes to the output path and reports ok. */ +const fakeOk = { + decodeAudioToFmt: async (_in: string, out: string, format: string) => { + writeFileSync(out, Buffer.from('WAVDATA')); // stand-in converted payload + return { result: true, sampleRate: 24_000, channels: 1, format }; + }, +}; + +describe('isAudioOutFormat / AUDIO_OUT_FORMATS', () => { + it("accepts exactly NapCat's allowlist", () => { + expect([...AUDIO_OUT_FORMATS]).toEqual([ + 'mp3', + 'amr', + 'wma', + 'm4a', + 'spx', + 'ogg', + 'wav', + 'flac', + ]); + expect(isAudioOutFormat('wav')).toBe(true); + expect(isAudioOutFormat('WAV')).toBe(false); // case-sensitive + expect(isAudioOutFormat('opus')).toBe(false); + expect(isAudioOutFormat('')).toBe(false); + }); +}); + +describe('convertAudioBytes', () => { + it('accepts the QQ AI SILK container without mutating the caller bytes', async () => { + const input = Buffer.concat([ + Buffer.from([0x03]), + Buffer.from('#!SILK_V3', 'ascii'), + Buffer.from([0x04, 0x00, 0x11, 0x22, 0x33, 0x44]), + ]); + const originalInput = Buffer.from(input); + let stagedInput: Buffer | null = null; + const addon = { + decodeAudioToFmt: async (inputPath: string, outputPath: string, format: string) => { + stagedInput = readFileSync(inputPath); + writeFileSync(outputPath, Buffer.from('MP3DATA')); + return { result: true, sampleRate: 24_000, channels: 1, format }; + }, + }; + + await convertAudioBytes(input, 'mp3', { addon, tmpDir }); + + expect(stagedInput?.subarray(0, 10)).toEqual( + Buffer.concat([Buffer.from([0x02]), Buffer.from('#!SILK_V3', 'ascii')]), + ); + expect(stagedInput?.subarray(10)).toEqual(input.subarray(10)); + expect(input).toEqual(originalInput); + }); + + it('transcodes and returns base64 + size of the addon output', async () => { + const r = await convertAudioBytes(new Uint8Array([1, 2, 3]), 'wav', { + addon: fakeOk, + tmpDir, + }); + expect(Buffer.from(r.base64, 'base64').toString()).toBe('WAVDATA'); + expect(r.size).toBe('WAVDATA'.length); + }); + + it('rejects an unsupported format before touching the addon', async () => { + let called = false; + const spy = { + decodeAudioToFmt: async (_in: string, _out: string, format: string) => { + called = true; + return { result: true, sampleRate: 24_000, channels: 1, format }; + }, + }; + await expect( + convertAudioBytes(new Uint8Array([1]), 'opus', { addon: spy, tmpDir }), + ).rejects.toThrow(/unsupported out_format/); + expect(called).toBe(false); + }); + + it('propagates a native conversion rejection and cleans up', async () => { + const fakeFail = { + decodeAudioToFmt: async () => { + throw new Error('native conversion failed'); + }, + }; + await expect( + convertAudioBytes(new Uint8Array([9]), 'mp3', { addon: fakeFail, tmpDir }), + ).rejects.toThrow(/native conversion failed/); + // no leftover temp files for this run + const leftover = readdirSync(tmpDir).filter((n) => n.endsWith('.mp3') || n.endsWith('.in')); + expect(leftover).toEqual([]); + }); + + it('rejects (and cleans up) when the output exceeds the cap', async () => { + await expect( + convertAudioBytes(new Uint8Array([1]), 'wav', { + addon: fakeOk, + tmpDir, + maxOutputBytes: 3, + }), + ).rejects.toThrow(/too large/); + const leftover = readdirSync(tmpDir).filter((n) => n.endsWith('.wav') || n.endsWith('.in')); + expect(leftover).toEqual([]); + }); + + it('cleans up the temp input + output on success too', async () => { + await convertAudioBytes(new Uint8Array([4, 5]), 'flac', { addon: fakeOk, tmpDir }); + const leftover = readdirSync(tmpDir).filter( + (n) => n.endsWith('.flac') || n.endsWith('.in'), + ); + expect(leftover).toEqual([]); + }); + + it('surfaces temporary-file cleanup failures', async () => { + const rmSpy = vi.spyOn(fsPromises, 'rm').mockRejectedValue(new Error('cleanup denied')); + + try { + await expect( + convertAudioBytes(new Uint8Array([6]), 'wav', { addon: fakeOk, tmpDir }), + ).rejects.toThrow(/temporary audio file cleanup failed/); + } finally { + rmSpy.mockRestore(); + } + }); + + it('reports both the conversion and cleanup causes when both fail', async () => { + const nativeFailure = { + decodeAudioToFmt: async () => { + throw new Error('native conversion failed'); + }, + }; + const rmSpy = vi.spyOn(fsPromises, 'rm').mockRejectedValue(new Error('cleanup denied')); + + try { + await expect( + convertAudioBytes(new Uint8Array([7]), 'mp3', { addon: nativeFailure, tmpDir }), + ).rejects.toThrow(/native conversion failed.*cleanup denied/); + } finally { + rmSpy.mockRestore(); + } + }); +}); diff --git a/packages/protocol/tests/highway/encode-silk.test.ts b/packages/protocol/tests/highway/encode-silk.test.ts new file mode 100644 index 00000000..1a453308 --- /dev/null +++ b/packages/protocol/tests/highway/encode-silk.test.ts @@ -0,0 +1,86 @@ +import fs from 'fs'; +import os from 'os'; +import path from 'path'; +import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; + +vi.mock('@snowluma/common/native-path', () => ({ + resolveRuntimeNativePath: () => '/test/ffmpeg.node', +})); + +const addon = { + getDuration: vi.fn<(file: string) => Promise>(), + convertToNTSilkTct: vi.fn<(input: string, output: string) => Promise>(), +}; +let root: string; + +beforeEach(() => { + vi.resetModules(); + addon.getDuration.mockReset().mockResolvedValue(2.5); + addon.convertToNTSilkTct.mockReset().mockImplementation(async (_input, output) => { + await fs.promises.writeFile(output, '\x02#!SILK_V3payload'); + }); + vi.spyOn(process, 'dlopen').mockImplementation((module) => { + (module as { exports: object }).exports = addon; + }); + root = fs.mkdtempSync(path.join(os.tmpdir(), 'snowluma-encode-silk-')); +}); + +afterEach(() => { + vi.restoreAllMocks(); + fs.rmSync(root, { recursive: true, force: true }); +}); + +describe('SILK encoding', () => { + it('rejects unreadable files instead of treating them as a different audio format', async () => { + const { isSilkFile } = await import('../../src/highway/ffmpeg-addon'); + expect(() => isSilkFile(path.join(root, 'missing'))).toThrow(/ENOENT/); + }); + + it('keeps native duration failures visible instead of guessing from SILK file size', async () => { + const input = path.join(root, 'invalid.silk'); + fs.writeFileSync(input, '#!SILK_V3truncated'); + const failure = new Error('truncated SILK packet'); + addon.getDuration.mockRejectedValue(failure); + const { encodeSilk } = await import('../../src/highway/ffmpeg-addon'); + await expect(encodeSilk(input, root)).rejects.toBe(failure); + expect(addon.convertToNTSilkTct).not.toHaveBeenCalled(); + expect(fs.readdirSync(root)).toEqual(['invalid.silk']); + }); + + it('reuses a valid SILK input without creating a temporary file', async () => { + const input = path.join(root, 'voice.silk'); + fs.writeFileSync(input, '\x02#!SILK_V3payload'); + const { encodeSilk } = await import('../../src/highway/ffmpeg-addon'); + await expect(encodeSilk(input, root)).resolves.toEqual({ + path: input, + duration: 3, + converted: false, + }); + expect(addon.convertToNTSilkTct).not.toHaveBeenCalled(); + }); + + it('returns the converted file for caller-owned cleanup', async () => { + const input = path.join(root, 'voice.wav'); + fs.writeFileSync(input, 'RIFF'); + const { encodeSilk } = await import('../../src/highway/ffmpeg-addon'); + const result = await encodeSilk(input, root); + expect(result.converted).toBe(true); + expect(result.duration).toBe(3); + expect(fs.readFileSync(result.path, 'utf8')).toBe('\x02#!SILK_V3payload'); + expect(addon.convertToNTSilkTct).toHaveBeenCalledWith(input, result.path); + }); + + it('removes partial output when native conversion fails, preserving the source and error', async () => { + const input = path.join(root, 'voice.wav'); + fs.writeFileSync(input, 'RIFF'); + const failure = new Error('conversion interrupted'); + addon.convertToNTSilkTct.mockImplementation(async (_input, output) => { + await fs.promises.writeFile(output, 'partial'); + throw failure; + }); + const { encodeSilk } = await import('../../src/highway/ffmpeg-addon'); + await expect(encodeSilk(input, root)).rejects.toBe(failure); + expect(fs.readdirSync(root)).toEqual(['voice.wav']); + expect(fs.readFileSync(input, 'utf8')).toBe('RIFF'); + }); +}); diff --git a/packages/protocol/tests/highway/hash-file.test.ts b/packages/protocol/tests/highway/hash-file.test.ts new file mode 100644 index 00000000..65ff90ce --- /dev/null +++ b/packages/protocol/tests/highway/hash-file.test.ts @@ -0,0 +1,285 @@ +// Streaming hasher must be byte-identical to the buffered helpers over the +// same bytes: computeHashes + computeVideoSha1Blocks (+ computeMd5 of the +// head) for hashFileStreaming, and computeHashes + computeSha1StateV for +// hashFlashFileStreaming. Flash Sha1StateV is not video sha1Blocks. + +import { afterAll, beforeAll, describe, expect, it } from 'vitest'; +import { createHash } from 'node:crypto'; +import { mkdtemp, rm, writeFile } from 'node:fs/promises'; +import { tmpdir } from 'node:os'; +import { join } from 'node:path'; +import { hashFileStreaming, hashFlashFileStreaming } from '@snowluma/protocol/highway/hash-file'; +import { computeHashes, computeMd5 } from '@snowluma/protocol/highway/utils'; +import { computeSha1StateV, Sha1Stream } from '@snowluma/protocol/highway/sha1-stream'; +import { computeVideoSha1Blocks } from '../../src/highway/video-upload'; + +const MB = 1024 * 1024; + +// Same generator as video-sha1-blocks.test.ts (and its golden-capture script). +function det(len: number): Uint8Array { + const b = new Uint8Array(len); + + for (let i = 0; i < len; i++) { + b[i] = (i * 31 + 7) & 0xff; + } + + return b; +} + +function hex(u: Uint8Array): string { + return Buffer.from(u).toString('hex'); +} + +function nodeMd5Hex(data: Uint8Array): string { + return createHash('md5').update(Buffer.from(data)).digest('hex'); +} + +function nodeSha1Hex(data: Uint8Array): string { + return createHash('sha1').update(Buffer.from(data)).digest('hex'); +} + +describe('hashFileStreaming', () => { + let dir: string; + beforeAll(async () => { + dir = await mkdtemp(join(tmpdir(), 'sl-hash-file-')); + }); + afterAll(async () => { + await rm(dir, { recursive: true, force: true }); + }); + + async function writeBin(name: string, data: Uint8Array): Promise { + const file = join(dir, name); + await writeFile(file, data); + return file; + } + + it('empty file: well-known empty digests and a single finalized sha1 block', async () => { + const file = await writeBin('empty.bin', new Uint8Array(0)); + const streamed = await hashFileStreaming(file); + + expect(streamed.md5Hex).toBe('d41d8cd98f00b204e9800998ecf8427e'); + expect(streamed.sha1Hex).toBe('da39a3ee5e6b4b0d3255bfef95601890afd80709'); + expect(hex(streamed.md5)).toBe('d41d8cd98f00b204e9800998ecf8427e'); + expect(hex(streamed.sha1)).toBe('da39a3ee5e6b4b0d3255bfef95601890afd80709'); + expect(streamed.headMd5).toBeUndefined(); + expect(streamed.sha1Blocks.map(hex)).toEqual(['da39a3ee5e6b4b0d3255bfef95601890afd80709']); + }); + + it('empty file with headLimit still yields md5 of zero bytes', async () => { + const file = await writeBin('empty-head.bin', new Uint8Array(0)); + const streamed = await hashFileStreaming(file, { headLimit: 10 }); + expect(hex(streamed.headMd5!)).toBe('d41d8cd98f00b204e9800998ecf8427e'); + expect(streamed.md5Hex).toBe('d41d8cd98f00b204e9800998ecf8427e'); + }); + + it('sub-1 MiB file matches RFC hashes and has only the finalized sha1 block', async () => { + const data = Buffer.from('abc', 'utf8'); + const file = await writeBin('abc.bin', data); + const streamed = await hashFileStreaming(file); + + expect(streamed.md5Hex).toBe('900150983cd24fb0d6963f7d28e17f72'); + expect(streamed.sha1Hex).toBe('a9993e364706816aba3e25717850c26c9cd0d89d'); + expect(streamed.sha1Blocks.map(hex)).toEqual(['a9993e364706816aba3e25717850c26c9cd0d89d']); + expect(streamed.headMd5).toBeUndefined(); + }); + + it('det(1000) matches computeHashes + computeVideoSha1Blocks + Node crypto', async () => { + const data = det(1000); + const file = await writeBin('det-1000.bin', data); + const streamed = await hashFileStreaming(file); + const buffered = computeHashes(data); + + expect(streamed.md5Hex).toBe(nodeMd5Hex(data)); + expect(streamed.sha1Hex).toBe(nodeSha1Hex(data)); + expect(hex(streamed.md5)).toBe(hex(buffered.md5)); + expect(hex(streamed.sha1)).toBe(hex(buffered.sha1)); + expect(streamed.md5Hex).toBe(buffered.md5Hex); + expect(streamed.sha1Hex).toBe(buffered.sha1Hex); + expect(streamed.sha1Blocks.map(hex)).toEqual(computeVideoSha1Blocks(data).map(hex)); + expect(streamed.sha1Blocks).toHaveLength(1); + }); + + it('exact 1 MiB emits an un-finalized boundary state then the overall sha1', async () => { + const data = det(MB); + const file = await writeBin('exact-1m.bin', data); + const streamed = await hashFileStreaming(file); + const overall = nodeSha1Hex(data); + const prefixDigest = nodeSha1Hex(data); // whole file *is* the first slice + const manual = new Sha1Stream(); + manual.update(data); + + expect(streamed.md5Hex).toBe(nodeMd5Hex(data)); + expect(streamed.sha1Hex).toBe(overall); + expect(streamed.sha1Blocks).toHaveLength(2); + expect(hex(streamed.sha1Blocks[0]!)).toBe(hex(manual.hash(true))); + expect(hex(streamed.sha1Blocks[0]!)).not.toBe(prefixDigest); + expect(hex(streamed.sha1Blocks[1]!)).toBe(overall); + expect(streamed.sha1Blocks.map(hex)).toEqual(computeVideoSha1Blocks(data).map(hex)); + }); + + it('2 MiB + 12345 reproduces the video-sha1-blocks golden states', async () => { + const data = det(2 * MB + 12345); + const file = await writeBin('golden-2m.bin', data); + const streamed = await hashFileStreaming(file); + + expect(streamed.sha1Blocks.map(hex)).toEqual([ + 'ab9a20fd6c98fc1f8f0c985cd552ff14c6feacfd', + '2ccc5923b75f46ebd8ccb78e8c413c18025178b9', + 'dd9cfd4648ab460260afa820c98bfec1b17655d4', + ]); + expect(streamed.sha1Hex).toBe('dd9cfd4648ab460260afa820c98bfec1b17655d4'); + expect(streamed.md5Hex).toBe(nodeMd5Hex(data)); + expect(streamed.sha1Blocks.map(hex)).toEqual(computeVideoSha1Blocks(data).map(hex)); + }); + + it('omitting opts leaves headMd5 undefined', async () => { + const file = await writeBin('no-opts.bin', det(64)); + const streamed = await hashFileStreaming(file); + expect(streamed.headMd5).toBeUndefined(); + }); + + it('headLimit 0 is present and is the empty-md5', async () => { + const file = await writeBin('head-0.bin', det(200)); + const streamed = await hashFileStreaming(file, { headLimit: 0 }); + expect(hex(streamed.headMd5!)).toBe('d41d8cd98f00b204e9800998ecf8427e'); + expect(streamed.md5Hex).toBe(nodeMd5Hex(det(200))); + }); + + it('headMd5 is computeMd5 of the first N bytes inside the first 1 MiB chunk', async () => { + const data = det(8000); + const file = await writeBin('head-inside.bin', data); + const streamed = await hashFileStreaming(file, { headLimit: 10 }); + expect(hex(streamed.headMd5!)).toBe(hex(computeMd5(data.subarray(0, 10)))); + expect(hex(streamed.headMd5!)).toBe(nodeMd5Hex(data.subarray(0, 10))); + }); + + it('headMd5 across a 1 MiB boundary matches computeMd5 of the clamped prefix', async () => { + const data = det(MB + 500); + const file = await writeBin('head-span.bin', data); + const cases: Array<[number, number]> = [ + [MB - 1, MB - 1], + [MB, MB], + [MB + 1, MB + 1], + [data.length + 1, data.length], + ]; + + for (const [limit, take] of cases) { + const streamed = await hashFileStreaming(file, { headLimit: limit }); + expect(hex(streamed.headMd5!)).toBe(hex(computeMd5(data.subarray(0, take)))); + expect(streamed.md5Hex).toBe(nodeMd5Hex(data)); + expect(streamed.sha1Hex).toBe(nodeSha1Hex(data)); + } + }); + + it('rejects a missing path from stat before hashing', async () => { + await expect(hashFileStreaming(join(dir, 'no-such.bin'))).rejects.toMatchObject({ + code: 'ENOENT', + }); + }); +}); + +describe('hashFlashFileStreaming', () => { + let dir: string; + beforeAll(async () => { + dir = await mkdtemp(join(tmpdir(), 'sl-flash-hash-file-')); + }); + afterAll(async () => { + await rm(dir, { recursive: true, force: true }); + }); + + async function writeBin(name: string, data: Uint8Array): Promise { + const file = join(dir, name); + await writeFile(file, data); + return file; + } + + it('empty file: empty digests, sliceCount 0, no Sha1StateV entries', async () => { + const file = await writeBin('empty.bin', new Uint8Array(0)); + const streamed = await hashFlashFileStreaming(file); + + expect(streamed.md5Hex).toBe('d41d8cd98f00b204e9800998ecf8427e'); + expect(streamed.sha1Hex).toBe('da39a3ee5e6b4b0d3255bfef95601890afd80709'); + expect(streamed.sliceCount).toBe(0); + expect(streamed.sha1StateV).toEqual([]); + }); + + it('sub-1 MiB file is a single finalized slice', async () => { + const data = Buffer.from('abc', 'utf8'); + const file = await writeBin('abc.bin', data); + const streamed = await hashFlashFileStreaming(file); + + expect(streamed.sliceCount).toBe(1); + expect(streamed.md5Hex).toBe('900150983cd24fb0d6963f7d28e17f72'); + expect(streamed.sha1Hex).toBe('a9993e364706816aba3e25717850c26c9cd0d89d'); + expect(streamed.sha1StateV.map(hex)).toEqual(['a9993e364706816aba3e25717850c26c9cd0d89d']); + }); + + it('exact 1 MiB omits the extra un-finalized last-slice state video sha1Blocks keeps', async () => { + const data = det(MB); + const file = await writeBin('exact-1m.bin', data); + const flash = await hashFlashFileStreaming(file); + const video = await hashFileStreaming(file); + const overall = nodeSha1Hex(data); + const refState = computeSha1StateV(data, 1, MB); + + expect(flash.sliceCount).toBe(1); + expect(flash.sha1StateV).toHaveLength(1); + expect(hex(flash.sha1StateV[0]!)).toBe(overall); + expect(hex(flash.sha1StateV[0]!)).toBe(hex(refState[0]!)); + expect(video.sha1Blocks).toHaveLength(2); + expect(hex(flash.sha1StateV[0]!)).toBe(hex(video.sha1Blocks[1]!)); + expect(hex(flash.sha1StateV[0]!)).not.toBe(hex(video.sha1Blocks[0]!)); + expect(flash.md5Hex).toBe(nodeMd5Hex(data)); + }); + + it('1 MiB + 1: first state is the un-finalized 1 MiB snapshot', async () => { + const data = det(MB + 1); + const file = await writeBin('1m-plus.bin', data); + const flash = await hashFlashFileStreaming(file); + const manual = new Sha1Stream(); + manual.update(data.subarray(0, MB)); + const refState = computeSha1StateV(data, 2, MB); + + expect(flash.sliceCount).toBe(2); + expect(flash.sha1StateV).toHaveLength(2); + expect(hex(flash.sha1StateV[0]!)).toBe(hex(manual.hash(true))); + expect(hex(flash.sha1StateV[0]!)).not.toBe(nodeSha1Hex(data.subarray(0, MB))); + expect(hex(flash.sha1StateV[1]!)).toBe(nodeSha1Hex(data)); + expect(flash.sha1StateV.map(hex)).toEqual(refState.map(hex)); + }); + + it('exact 2 MiB: flash has 2 states, video sha1Blocks has 3', async () => { + const data = det(2 * MB); + const file = await writeBin('exact-2m.bin', data); + const flash = await hashFlashFileStreaming(file); + const video = await hashFileStreaming(file); + + expect(flash.sliceCount).toBe(2); + expect(flash.sha1StateV).toHaveLength(2); + expect(video.sha1Blocks).toHaveLength(3); + expect(hex(flash.sha1StateV[0]!)).toBe(hex(video.sha1Blocks[0]!)); + expect(hex(flash.sha1StateV[1]!)).toBe(hex(video.sha1Blocks[2]!)); + expect(hex(flash.sha1StateV[1]!)).toBe(nodeSha1Hex(data)); + expect(flash.sha1StateV.map(hex)).toEqual(computeSha1StateV(data, 2, MB).map(hex)); + expect(flash.md5Hex).toBe(computeHashes(data).md5Hex); + }); + + it('2 MiB + 12345 Sha1StateV matches computeSha1StateV and Node overall sha1', async () => { + const data = det(2 * MB + 12345); + const file = await writeBin('golden-2m.bin', data); + const flash = await hashFlashFileStreaming(file); + + expect(flash.sliceCount).toBe(3); + expect(flash.sha1Hex).toBe('dd9cfd4648ab460260afa820c98bfec1b17655d4'); + expect(hex(flash.sha1StateV[2]!)).toBe('dd9cfd4648ab460260afa820c98bfec1b17655d4'); + expect(hex(flash.sha1StateV[0]!)).toBe('ab9a20fd6c98fc1f8f0c985cd552ff14c6feacfd'); + expect(hex(flash.sha1StateV[1]!)).toBe('2ccc5923b75f46ebd8ccb78e8c413c18025178b9'); + expect(flash.sha1StateV.map(hex)).toEqual(computeSha1StateV(data, 3, MB).map(hex)); + }); + + it('rejects a missing path from stat before hashing', async () => { + await expect(hashFlashFileStreaming(join(dir, 'no-such.bin'))).rejects.toMatchObject({ + code: 'ENOENT', + }); + }); +}); diff --git a/packages/protocol/tests/highway/image-sticker.test.ts b/packages/protocol/tests/highway/image-sticker.test.ts new file mode 100644 index 00000000..7fbcc53a --- /dev/null +++ b/packages/protocol/tests/highway/image-sticker.test.ts @@ -0,0 +1,92 @@ +import type { MessageElement } from '../../src/events'; +import { createHash } from 'node:crypto'; +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { NotOnlineImagePbReserve } from '@snowluma/proto-defs/element'; +import type { + EncodableMediaMsgInfo, + NTV2UploadRichMediaReq, + NTV2UploadRichMediaResp, +} from '@snowluma/proto-defs/highway'; +import type { BridgeContext } from '../../src/bridge-context'; +import { uploadImageMsgInfo } from '../../src/highway/image-upload'; + +const png = + 'base64://iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAwMCAO+jFZkAAAAASUVORK5CYII='; + +describe('image sticker presentation (#468)', () => { + it.each([true, false])( + 'carries sticker reserves through actual wire encoding, group=%s', + async (isGroup) => { + const requests: NTV2UploadRichMediaReq[] = []; + const sendRawPacket = vi.fn(async (_command: string, body: Uint8Array) => { + requests.push(protobuf_decode>(body).body!); + return { + success: true, + gotResponse: true, + errorCode: 0, + responseData: protobuf_encode>({ + body: { + upload: { + msgInfo: { + msgInfoBody: [{ index: { fileUuid: 'cached-image' } }], + extBizInfo: { + pic: { bizType: 0, textSummary: '[图片]', oldFileId: 123 }, + }, + }, + }, + }, + }), + }; + }); + const bridge = { + identity: { uin: '10001' }, + sendRawPacket, + } as unknown as BridgeContext; + const element: MessageElement = { + type: 'image', + url: png, + subType: 1, + summary: '[收藏表情]', + }; + const bytes = await uploadImageMsgInfo( + bridge, + isGroup, + isGroup ? 123 : 'u_peer', + element, + ); + const imageBytes = Buffer.from(png.slice('base64://'.length), 'base64'); + expect(element).toMatchObject({ + md5Hex: createHash('md5').update(imageBytes).digest('hex'), + sha1Hex: createHash('sha1').update(imageBytes).digest('hex'), + fileSize: imageBytes.length, + width: 1, + height: 1, + picFormat: 1001, + imageUrl: `https://multimedia.nt.qq.com.cn/download?appid=${isGroup ? 1407 : 1406}&fileid=cached-image`, + }); + expect(element.fileId).toBe(element.fileName); + const sent = protobuf_decode(bytes); + expect(sendRawPacket).toHaveBeenCalledTimes(1); + expect(sent.msgInfoBody?.[0]?.index?.fileUuid).toBe('cached-image'); + expect(sent.extBizInfo?.pic?.oldFileId).toBe(123); + + for (const pic of [requests[0].upload?.extBizInfo?.pic, sent.extBizInfo?.pic]) { + expect(pic?.bizType).toBe(1); + expect(pic?.textSummary).toBe('[收藏表情]'); + + if (isGroup) { + expect(pic?.extData).toMatchObject({ subType: 1, textSummary: '[收藏表情]' }); + } else { + expect( + protobuf_decode(pic!.bytesPbReserveC2c!), + ).toMatchObject({ + subType: 1, + summary: '[收藏表情]', + }); + } + } + }, + ); +}); diff --git a/packages/protocol/tests/highway/image-upload-reference.test.ts b/packages/protocol/tests/highway/image-upload-reference.test.ts new file mode 100644 index 00000000..18167735 --- /dev/null +++ b/packages/protocol/tests/highway/image-upload-reference.test.ts @@ -0,0 +1,93 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { + EncodableMediaMsgInfo, + HighwayMsgInfoBody, + NTV2UploadRichMediaResp, +} from '@snowluma/proto-defs/highway'; +import type { BridgeContext } from '../../src/bridge-context'; +import type { MessageElement } from '../../src/events'; +import { uploadImageMsgInfo } from '../../src/highway/image-upload'; + +const webp = 'base64://UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA'; + +function bridge(body: HighwayMsgInfoBody): BridgeContext { + return { + identity: { uin: '10001' }, + sendRawPacket: vi.fn(async () => ({ + success: true, + gotResponse: true, + errorCode: 0, + responseData: protobuf_encode>({ + body: { upload: { msgInfo: { msgInfoBody: [body] } } }, + }), + })), + } as unknown as BridgeContext; +} + +describe('uploaded image download references (#659)', () => { + it.each([false, true])( + 'retains the returned host, original parameters and WebP filename (group=%s)', + async (isGroup) => { + const picture = { + domain: 'image.example', + urlPath: '/download?fileid=server-resource', + ext: { originalParameter: '&spec=0', thumbParameter: '&spec=small' }, + }; + const element: MessageElement = { type: 'image', url: webp }; + const encoded = await uploadImageMsgInfo( + bridge({ index: { fileUuid: 'resource' }, picture }), + isGroup, + isGroup ? 20002 : 'u_peer', + element, + ); + expect(element).toMatchObject({ + imageUrl: 'https://image.example/download?fileid=server-resource&spec=0', + picFormat: 1002, + width: 1, + height: 1, + }); + expect(element.fileName).toBe(`${element.md5Hex}.webp`); + expect(element.fileId).toBe(element.fileName); + expect( + protobuf_decode(encoded).msgInfoBody?.[0]?.picture, + ).toMatchObject(picture); + }, + ); + + it.each([false, true])( + 'uses an encoded upload resource id when the server omits the URL (group=%s)', + async (isGroup) => { + const element: MessageElement = { type: 'image', url: webp }; + await uploadImageMsgInfo( + bridge({ index: { fileUuid: 'resource/+=' } }), + isGroup, + isGroup ? 20002 : 'u_peer', + element, + ); + expect(element.imageUrl).toBe( + `https://multimedia.nt.qq.com.cn/download?appid=${isGroup ? 1407 : 1406}&fileid=resource%2F%2B%3D`, + ); + }, + ); + + it('uses the standard image host when a wire response omits the domain', async () => { + const element: MessageElement = { type: 'image', url: webp }; + await uploadImageMsgInfo( + bridge({ picture: { urlPath: '/download?fileid=resource' } }), + false, + 'u_peer', + element, + ); + expect(element.imageUrl).toBe('https://multimedia.nt.qq.com.cn/download?fileid=resource'); + }); + + it('rejects an unusable upload receipt before publishing incomplete send metadata', async () => { + const element: MessageElement = { type: 'image', url: webp }; + await expect(uploadImageMsgInfo(bridge({}), false, 'u_peer', element)).rejects.toThrow( + 'missing a download reference', + ); + expect(element).toEqual({ type: 'image', url: webp }); + }); +}); diff --git a/packages/protocol/tests/highway/ptt-waveform.test.ts b/packages/protocol/tests/highway/ptt-waveform.test.ts new file mode 100644 index 00000000..fa1df822 --- /dev/null +++ b/packages/protocol/tests/highway/ptt-waveform.test.ts @@ -0,0 +1,146 @@ +import { describe, expect, it } from 'vitest'; +import { protobuf_decode } from '@snowluma/proton'; +import type { EncodableMediaMsgInfo } from '@snowluma/proto-defs/highway'; +import { finalizeMediaMsgInfo } from '@snowluma/protocol/highway/pipeline'; +import { + PTT_WAVEFORM_BINS, + PTT_WAVEFORM_SILENCE, + amplitudesFromPcmS16le, + decodePttWaveform, + encodePttWaveform, + mergePttWaveform, + pcmS16leFromWav, +} from '@snowluma/protocol/highway/ptt-waveform'; + +function le16(value: number): number[] { + return [value & 0xff, (value >> 8) & 0xff]; +} + +function le32(value: number): number[] { + return [value & 0xff, (value >> 8) & 0xff, (value >> 16) & 0xff, (value >> 24) & 0xff]; +} + +function ascii(text: string): number[] { + return [...text].map((ch) => ch.charCodeAt(0)); +} + +function s16leBytes(samples: number[]): Uint8Array { + const out = new Uint8Array(samples.length * 2); + + for (let i = 0; i < samples.length; i += 1) { + const v = samples[i]! < 0 ? samples[i]! + 0x10000 : samples[i]!; + out[i * 2] = v & 0xff; + out[i * 2 + 1] = (v >> 8) & 0xff; + } + + return out; +} + +/** Minimal PCM WAV: 16-bit, little-endian, one data chunk. */ +function wavBytes(samples: number[], channels = 1, sampleRate = 24_000): Uint8Array { + const pcm = s16leBytes(samples); + const fmtSize = 16; + const dataSize = pcm.length; + const riffSize = 4 + (8 + fmtSize) + (8 + dataSize); + const out = new Uint8Array(12 + 8 + fmtSize + 8 + dataSize); + let off = 0; + + const put = (bytes: number[]) => { + out.set(bytes, off); + off += bytes.length; + }; + + put(ascii('RIFF')); + put(le32(riffSize)); + put(ascii('WAVE')); + put(ascii('fmt ')); + put(le32(fmtSize)); + put(le16(1)); + put(le16(channels)); + put(le32(sampleRate)); + put(le32(sampleRate * channels * 2)); + put(le16(channels * 2)); + put(le16(16)); + put(ascii('data')); + put(le32(dataSize)); + out.set(pcm, off); + return out; +} + +describe('pcmS16leFromWav', () => { + it('reads s16le PCM and channel count from a plain WAV', () => { + const wav = wavBytes([0, 32767, -32768], 1, 16_000); + const parsed = pcmS16leFromWav(wav); + expect(parsed.channels).toBe(1); + expect(parsed.sampleRate).toBe(16_000); + expect(parsed.pcm).toEqual(s16leBytes([0, 32767, -32768])); + }); + + it('rejects a non-PCM WAV', () => { + const wav = wavBytes([1, 2, 3]); + wav[20] = 7; + expect(() => pcmS16leFromWav(wav)).toThrow(/not PCM/); + }); +}); + +describe('amplitudesFromPcmS16le', () => { + it('uses the official 30 bars and scales a full-scale peak to 255', () => { + const loud = new Array(30).fill(0); + loud[0] = 32767; + const amps = amplitudesFromPcmS16le(s16leBytes(loud)); + expect(amps.length).toBe(PTT_WAVEFORM_BINS); + expect(amps[0]).toBe(255); + }); + + it('keeps quiet windows at 0 so the bar has valleys', () => { + const samples = new Array(60).fill(0); + samples[0] = 32767; + const amps = amplitudesFromPcmS16le(s16leBytes(samples), { bins: 2 }); + expect([...amps]).toEqual([255, 0]); + }); + + it('uses the official silence floor when the clip is empty', () => { + const amps = amplitudesFromPcmS16le(new Uint8Array(0), { bins: 4 }); + expect([...amps]).toEqual(new Array(4).fill(PTT_WAVEFORM_SILENCE)); + }); + + it('peaks stereo frames from either channel', () => { + const pcm = s16leBytes([0, 32767, 0, 0]); + const amps = amplitudesFromPcmS16le(pcm, { channels: 2, bins: 1 }); + expect(amps[0]).toBe(255); + }); +}); + +describe('encodePttWaveform / decodePttWaveform', () => { + it('roundtrips with matching count and amplitudes', () => { + const amplitudes = new Uint8Array([25, 40, 80, 10]); + const encoded = encodePttWaveform(amplitudes); + expect(decodePttWaveform(encoded)).toEqual({ size: 4, amplitudes }); + }); + + it('rejects an empty amplitude list', () => { + expect(() => encodePttWaveform(new Uint8Array(0))).toThrow(/empty/); + }); +}); + +describe('mergePttWaveform', () => { + it('writes waveform onto msgInfo so finalize keeps it', () => { + const waveform = encodePttWaveform(new Uint8Array(PTT_WAVEFORM_BINS).fill(40)); + const upload = { + msgInfo: { + msgInfoBody: [], + extBizInfo: { ptt: { bytesReserve: new Uint8Array([1]) } }, + }, + }; + mergePttWaveform(upload, waveform); + const decoded: any = protobuf_decode(finalizeMediaMsgInfo(upload)); + expect(decoded.extBizInfo.ptt.waveform).toEqual(waveform); + expect(decoded.extBizInfo.ptt.bytesReserve).toEqual(new Uint8Array([1])); + }); + + it('no-ops when waveform is missing', () => { + const upload = { msgInfo: { msgInfoBody: [], extBizInfo: {} } }; + mergePttWaveform(upload, undefined); + expect(upload.msgInfo.extBizInfo).toEqual({}); + }); +}); diff --git a/packages/protocol/tests/highway/sha1-stream.test.ts b/packages/protocol/tests/highway/sha1-stream.test.ts new file mode 100644 index 00000000..ff91beaf --- /dev/null +++ b/packages/protocol/tests/highway/sha1-stream.test.ts @@ -0,0 +1,198 @@ +import { describe, expect, it } from 'vitest'; +import { createHash } from 'node:crypto'; +import { Sha1Stream, computeSha1StateV } from '@snowluma/protocol/highway/sha1-stream'; + +// SHA1 标准填充:msg + 0x80 + 0x00...(k 个) + 8 字节大端 bit 长度,总长为 64 倍数。 +// 用于把任意输入变成「已 finalize」的完整 block 序列——这样 Sha1Stream 对它逐 block +// transform 后取大端 state,应当等于 Node crypto 对原始 msg 的 digest。 +function sha1Pad(msg: Uint8Array): Uint8Array { + const msgLen = msg.length; + const k = (56 - ((msgLen + 1) % 64) + 64) % 64; + const padded = new Uint8Array(msgLen + 1 + k + 8); + padded.set(msg, 0); + padded[msgLen] = 0x80; + const view = new DataView(padded.buffer, padded.byteOffset + padded.byteLength - 8, 8); + view.setBigUint64(0, BigInt(msgLen) * 8n, false); // 大端 bit 长度 + return padded; +} + +// padding oracle 的核心:Node crypto 的 SHA1 digest 内部就是对 padding 后的输入逐 block +// transform、取最终 state 的大端表示。Sha1Stream 自行实现 transform 且不 finalize, +// 因此对「已 padding 的输入」transform 后大端输出必须等于 digest。Node crypto 走 +// OpenSSL,与本实现完全独立,是验证 transform 正确性的可靠参照。 +function expectSha1StreamMatchesCrypto(msg: Uint8Array): void { + const expected = createHash('sha1').update(Buffer.from(msg)).digest(); + const stream = new Sha1Stream(); + stream.update(sha1Pad(msg)); + const bigEndian = stream.hash(false); + expect(Buffer.from(bigEndian).equals(expected)).toBe(true); +} + +describe('Sha1Stream transform (padding oracle vs Node crypto)', () => { + it('matches for empty input (single padded block)', () => { + expectSha1StreamMatchesCrypto(Buffer.alloc(0)); + }); + + it('matches for "abc" (single padded block)', () => { + expectSha1StreamMatchesCrypto(Buffer.from('abc', 'utf8')); + }); + + it('matches across the 56-byte boundary (forces a second padded block)', () => { + // 56 字节:0x80 后只剩 0 字节给 zeros 不够放 8 字节长度,padding 溢出到第二块。 + expectSha1StreamMatchesCrypto(Buffer.alloc(56, 0x41)); + }); + + it('matches for exactly one block (64 bytes → two padded blocks)', () => { + expectSha1StreamMatchesCrypto(Buffer.alloc(64, 0x42)); + }); + + it('matches for multi-block input (200 bytes → four padded blocks)', () => { + expectSha1StreamMatchesCrypto(Buffer.alloc(200, 0x43)); + }); + + it('matches for pseudo-random multi-block input', () => { + const data = Buffer.alloc(313, 0); + + for (let i = 0; i < data.length; i++) { + data[i] = (i * 1103515245 + 12345) & 0xff; + } + + expectSha1StreamMatchesCrypto(data); + }); +}); + +describe('Sha1Stream update chunk-equivalence', () => { + // update 内部维护 64 字节 buffer + 128 位 bit 计数;分块喂入必须与一次性喂入 + // 产生相同的内部 state。切分点覆盖 block 边界附近以暴露 buffer/count 管理 bug。 + it('two-chunk split at various boundaries yields the same state as one update', () => { + const data = Buffer.alloc(200, 0x44); + const full = new Sha1Stream(); + full.update(data); + const fullHash = Buffer.from(full.hash(true)); + + for (const split of [0, 1, 32, 63, 64, 65, 127, 128, 129, 199]) { + const s = new Sha1Stream(); + s.update(data.subarray(0, split)); + s.update(data.subarray(split)); + expect(Buffer.from(s.hash(true)).equals(fullHash)).toBe(true); + } + }); + + it('three-chunk split yields the same state as one update', () => { + const data = Buffer.alloc(300, 0x45); + const full = new Sha1Stream(); + full.update(data); + const fullHash = Buffer.from(full.hash(true)); + const s = new Sha1Stream(); + s.update(data.subarray(0, 100)); + s.update(data.subarray(100, 200)); + s.update(data.subarray(200)); + expect(Buffer.from(s.hash(true)).equals(fullHash)).toBe(true); + }); + + it('empty updates do not change the state', () => { + const data = Buffer.alloc(130, 0x46); + const full = new Sha1Stream(); + full.update(data); + const fullHash = Buffer.from(full.hash(true)); + const s = new Sha1Stream(); + s.update(Buffer.alloc(0)); + s.update(data); + s.update(Buffer.alloc(0)); + expect(Buffer.from(s.hash(true)).equals(fullHash)).toBe(true); + }); +}); + +describe('Sha1Stream hash endianness', () => { + // hash(true) 小端与 hash(false) 大端是同一组 5 个 state word 的不同字节序表示。 + // 结合上面的 padding oracle(大端 == digest),即可间接确认小端中间 state 的值。 + it('little-endian is the per-word byte-swap of big-endian', () => { + const s = new Sha1Stream(); + s.update(Buffer.alloc(64, 0x47)); + const le = Buffer.from(s.hash(true)); + const be = Buffer.from(s.hash(false)); + expect(le.length).toBe(20); + + for (let i = 0; i < 5; i++) { + expect(le.readUInt32LE(i * 4)).toBe(be.readUInt32BE(i * 4)); + } + }); + + it('reset restores the initial SHA1 state', () => { + const s = new Sha1Stream(); + s.update(Buffer.alloc(200, 0x48)); + s.reset(); + const initial = Buffer.from(s.hash(false)); + const expected = Buffer.from([ + 0x67, 0x45, 0x23, 0x01, 0xef, 0xcd, 0xab, 0x89, 0x98, 0xba, 0xdc, 0xfe, 0x10, 0x32, + 0x54, 0x76, 0xc3, 0xd2, 0xe1, 0xf0, + ]); + expect(initial.equals(expected)).toBe(true); + }); +}); + +describe('computeSha1StateV', () => { + const SLICE = 1024 * 1024; // 1 MB,与上传链路一致,且是 64 的倍数 + + it('returns one 20-byte state per slice', () => { + const data = Buffer.alloc(SLICE + 100, 0x49); // 2 片 + const states = computeSha1StateV(data, 2, SLICE); + expect(states.length).toBe(2); + + for (const st of states) { + expect(st.length).toBe(20); + } + }); + + // 末片定义为「标准整文件 SHA1(有 finalize/padding)」,直接对齐 Node crypto。 + it('last slice equals the standard full-file SHA1 digest', () => { + const data = Buffer.alloc(SLICE + 100, 0x4a); + const states = computeSha1StateV(data, 2, SLICE); + const expected = createHash('sha1').update(data).digest(); + expect(Buffer.from(states[1]).equals(expected)).toBe(true); + }); + + it('last slice equals full-file SHA1 for a three-slice file', () => { + const data = Buffer.alloc(SLICE * 2 + 1, 0x4b); + const states = computeSha1StateV(data, 3, SLICE); + expect(Buffer.from(states[2]).equals(createHash('sha1').update(data).digest())).toBe(true); + }); + + // 非末片是「累积 SHA1 中间 state(不 finalize,小端)」。若误用标准 finalize + // 计算,会得到 file[0:slice] 的完整 digest,与本实现必然不等——以此锁定 + // 「中间 state 而非独立片 digest」的语义。 + it('non-last slice is NOT the finalized digest of the prefix', () => { + const data = Buffer.alloc(SLICE + 100, 0x4c); + const states = computeSha1StateV(data, 2, SLICE); + const prefixDigest = createHash('sha1').update(data.subarray(0, SLICE)).digest(); + expect(Buffer.from(states[0]).equals(prefixDigest)).toBe(false); + }); + + // 非末片中间 state 的正确性来自 transform(padding oracle 已验)与 update + // 分块等价(已验)。这里再做一次直接对照:computeSha1StateV 对首片的处理 + // 等价于手动 reset + update(prefix) + 小端输出。 + it('non-last slice equals manual Sha1Stream reset+update of the prefix', () => { + const data = Buffer.alloc(SLICE + 100, 0x4d); + const states = computeSha1StateV(data, 2, SLICE); + const manual = new Sha1Stream(); + manual.update(data.subarray(0, SLICE)); + expect(Buffer.from(states[0]).equals(Buffer.from(manual.hash(true)))).toBe(true); + }); + + // 单片文件只有末片,直接是整文件 digest。 + it('single-slice file has only the finalized digest', () => { + const data = Buffer.alloc(100, 0x4e); + const states = computeSha1StateV(data, 1, SLICE); + expect(states.length).toBe(1); + expect(Buffer.from(states[0]).equals(createHash('sha1').update(data).digest())).toBe(true); + }); + + // 中间 state 与「把它当末片算出的 digest」必须不同——这是 sliceupload 服务端 + // 校验「累积 state 而非独立片 digest」的核心区分点。 + it('non-last slice differs from a single-slice digest of the same prefix', () => { + const data = Buffer.alloc(SLICE + 100, 0x4f); + const multiFirst = computeSha1StateV(data, 2, SLICE)[0]; + const singleAsLast = computeSha1StateV(data.subarray(0, SLICE), 1, SLICE)[0]; + expect(Buffer.from(multiFirst).equals(Buffer.from(singleAsLast))).toBe(false); + }); +}); diff --git a/packages/protocol/tests/highway/stage.test.ts b/packages/protocol/tests/highway/stage.test.ts new file mode 100644 index 00000000..91b6d8aa --- /dev/null +++ b/packages/protocol/tests/highway/stage.test.ts @@ -0,0 +1,523 @@ +import { afterAll, afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; +import { randomUUID } from 'crypto'; +import fs, { promises as fsp } from 'fs'; +import os from 'os'; +import path from 'path'; +import { pathToFileURL } from 'url'; + +const stageRoot = await fsp.mkdtemp(path.join(os.tmpdir(), 'sl-proto-stage-root-')); +const tmpdir = vi.spyOn(os, 'tmpdir').mockReturnValue(stageRoot); +const { STAGE_DIR, stageSourceToDisk, sweepStagedUploads } = + await import('@snowluma/protocol/highway/stage'); +tmpdir.mockRestore(); + +const DOWNLOAD_UA = + 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/124.0.0.0 Safari/537.36'; +const STAGE_TTL_MS = 30 * 60 * 1000; +const SNOW_BYTES = Buffer.from([0x53, 0x4e, 0x4f, 0x57]); + +const live: Array<{ cleanup(): Promise }> = []; +let scratch = ''; + +function hold }>(staged: T): T { + live.push(staged); + return staged; +} + +async function stageNames(): Promise { + try { + return await fsp.readdir(STAGE_DIR); + } catch { + return []; + } +} + +async function newPartNames(before: readonly string[]): Promise { + const prior = new Set(before); + return (await stageNames()).filter((name) => name.endsWith('.part') && !prior.has(name)); +} + +function expectStagedPath(filePath: string, ext: string): void { + expect(filePath.startsWith(`${STAGE_DIR}${path.sep}`)).toBe(true); + expect(path.basename(filePath)).toMatch( + new RegExp( + `^stage-[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}${ext.replaceAll('.', '\\.')}$`, + ), + ); +} + +beforeEach(async () => { + scratch = await fsp.mkdtemp(path.join(os.tmpdir(), 'sl-proto-stage-')); +}); + +afterEach(async () => { + vi.unstubAllGlobals(); + vi.restoreAllMocks(); + + while (live.length > 0) { + await live.pop()!.cleanup(); + } + + await fsp.rm(scratch, { recursive: true, force: true }); +}); + +afterAll(async () => { + await fsp.rm(stageRoot, { recursive: true, force: true }); +}); + +describe('STAGE_DIR', () => { + it('is os.tmpdir()/media-stage', () => { + expect(STAGE_DIR).toBe(path.join(stageRoot, 'media-stage')); + }); +}); + +describe('stageSourceToDisk — empty / classification', () => { + it('rejects an empty source before touching disk', async () => { + const before = await stageNames(); + await expect(stageSourceToDisk('', 64)).rejects.toThrow('stage source is empty'); + expect(await stageNames()).toEqual(before); + }); + + it('rejects a data URL that is missing the comma separator', async () => { + await expect(stageSourceToDisk('data:image/png;base64', 64)).rejects.toThrow( + 'data URL source is missing its payload separator', + ); + }); + + it('rejects a data URL that is not base64-encoded', async () => { + await expect(stageSourceToDisk('data:text/plain,hello', 64)).rejects.toThrow( + 'data URL source must use base64 encoding', + ); + }); + + it('rejects a missing local path via realpath', async () => { + const missing = path.join(scratch, 'no-such-file.bin'); + await expect(stageSourceToDisk(missing, 64)).rejects.toThrow(/ENOENT/); + }); +}); + +describe('stageSourceToDisk — base64', () => { + it('writes base64:// bytes to a .bin stage file with an empty fileName', async () => { + const staged = hold(await stageSourceToDisk('base64://U05PVw==', 64)); + expect(staged.fileSize).toBe(4); + expect(staged.fileName).toBe(''); + expectStagedPath(staged.filePath, '.bin'); + expect(await fsp.readFile(staged.filePath)).toEqual(SNOW_BYTES); + }); + + it('accepts a case-insensitive BASE64:// prefix and one-byte padding', async () => { + const staged = hold(await stageSourceToDisk('BASE64:///w==', 1)); + expect(staged.fileSize).toBe(1); + expect(staged.fileName).toBe(''); + expect(await fsp.readFile(staged.filePath)).toEqual(Buffer.from([0xff])); + }); + + it('accepts two-byte and three-byte payloads at the decoded-size ceiling', async () => { + const two = hold(await stageSourceToDisk('base64://AAA=', 2)); + const three = hold(await stageSourceToDisk('base64://AAAA', 3)); + expect(two.fileSize).toBe(2); + expect(three.fileSize).toBe(3); + expect(await fsp.readFile(two.filePath)).toEqual(Buffer.from([0x00, 0x00])); + expect(await fsp.readFile(three.filePath)).toEqual(Buffer.from([0x00, 0x00, 0x00])); + }); + + it('stages an RFC 2397 data URL and keeps fileName empty', async () => { + const staged = hold(await stageSourceToDisk('data:image/png;base64,U05PVw==', 4)); + expect(staged.fileSize).toBe(4); + expect(staged.fileName).toBe(''); + expect(await fsp.readFile(staged.filePath)).toEqual(SNOW_BYTES); + }); + + it('accepts DATA:…;BASE64, payloads (case-insensitive metadata)', async () => { + const staged = hold( + await stageSourceToDisk('DATA:application/octet-stream;BASE64,AA==', 1), + ); + expect(staged.fileSize).toBe(1); + expect(await fsp.readFile(staged.filePath)).toEqual(Buffer.from([0x00])); + }); + + it('strips non-base64 characters before the decoded-length check', async () => { + const staged = hold(await stageSourceToDisk('base64://U05P\nVw==', 4)); + expect(staged.fileSize).toBe(4); + expect(await fsp.readFile(staged.filePath)).toEqual(SNOW_BYTES); + }); + + it('stages an empty base64:// payload as a zero-byte file', async () => { + const staged = hold(await stageSourceToDisk('base64://', 0)); + expect(staged.fileSize).toBe(0); + expect(staged.fileName).toBe(''); + expect(await fsp.readFile(staged.filePath)).toEqual(Buffer.alloc(0)); + }); + + it('rejects oversized base64 on decoded length and leaves no new .part', async () => { + const before = await stageNames(); + await expect(stageSourceToDisk('base64://aGVsbG8=', 4)).rejects.toThrow( + 'stage source too large: 5 > 4', + ); + expect(await newPartNames(before)).toEqual([]); + }); + + it('rejects an oversized data URL on decoded length and leaves no new .part', async () => { + const before = await stageNames(); + await expect(stageSourceToDisk('data:audio/ogg;base64,aGVsbG8=', 4)).rejects.toThrow( + 'stage source too large: 5 > 4', + ); + expect(await newPartNames(before)).toEqual([]); + }); + + it('unlinks the .part when finalize rename fails', async () => { + const before = await stageNames(); + vi.spyOn(fsp, 'rename').mockRejectedValueOnce(new Error('rename failed')); + await expect(stageSourceToDisk('base64://U05PVw==', 64)).rejects.toThrow('rename failed'); + expect(await newPartNames(before)).toEqual([]); + }); +}); + +describe('stageSourceToDisk — http', () => { + it('streams the body to disk and uses the decoded URL basename', async () => { + vi.stubGlobal( + 'fetch', + vi.fn( + async () => + new Response(Uint8Array.from([0x10, 0x20, 0x30, 0x40]), { status: 200 }), + ), + ); + const staged = hold( + await stageSourceToDisk('https://media.example.test/packs/clip%20v2.mp4?sig=9', 64), + ); + expect(staged.fileName).toBe('clip v2.mp4'); + expect(staged.fileSize).toBe(4); + expectStagedPath(staged.filePath, '.bin'); + expect(await fsp.readFile(staged.filePath)).toEqual(Buffer.from([0x10, 0x20, 0x30, 0x40])); + }); + + it('keeps fileName empty when the URL has no basename', async () => { + vi.stubGlobal( + 'fetch', + vi.fn(async () => new Response(Uint8Array.from([0x7f]), { status: 200 })), + ); + const staged = hold(await stageSourceToDisk('https://media.example.test/', 8)); + expect(staged.fileName).toBe(''); + expect(staged.fileSize).toBe(1); + expect(await fsp.readFile(staged.filePath)).toEqual(Buffer.from([0x7f])); + }); + + it('creates an empty staged file for an empty HTTP body', async () => { + vi.stubGlobal( + 'fetch', + vi.fn(async () => new Response(new Uint8Array(0), { status: 200 })), + ); + const staged = hold(await stageSourceToDisk('HTTP://cdn.example.test/empty.bin', 8)); + expect(staged.fileName).toBe('empty.bin'); + expect(staged.fileSize).toBe(0); + expect(await fsp.readFile(staged.filePath)).toEqual(Buffer.alloc(0)); + }); + + it('rejects a declared Content-Length overflow without retrying and leaves no .part', async () => { + const fetchMock = vi.fn( + async () => + new Response(new Uint8Array(80), { + status: 200, + headers: { 'content-length': '80' }, + }), + ); + vi.stubGlobal('fetch', fetchMock); + const before = await stageNames(); + await expect(stageSourceToDisk('https://cdn.example.test/huge.bin', 16)).rejects.toThrow( + 'stage too large: 80 > 16', + ); + expect(fetchMock).toHaveBeenCalledTimes(1); + expect(await newPartNames(before)).toEqual([]); + }); + + it('rejects a streamed overflow after the sink opened and discards the .part', async () => { + const stream = new ReadableStream({ + start(controller) { + controller.enqueue(new Uint8Array(10).fill(0x11)); + controller.enqueue(new Uint8Array(10).fill(0x22)); + controller.enqueue(new Uint8Array(10).fill(0x33)); + controller.close(); + }, + }); + vi.stubGlobal( + 'fetch', + vi.fn(async () => new Response(stream, { status: 200 })), + ); + const before = await stageNames(); + await expect(stageSourceToDisk('https://cdn.example.test/stream.bin', 16)).rejects.toThrow( + 'stage too large: > 16', + ); + expect(await newPartNames(before)).toEqual([]); + }); + + it('retries once with Referer after a non-size failure and stages the retry body', async () => { + const url = 'https://media.example.test/packs/retry.bin'; + const fetchMock = vi.fn(async (_input: string, init?: RequestInit) => { + const headers = init?.headers as Record; + + if (!headers.Referer) { + throw new TypeError('fetch failed'); + } + + expect(headers.Referer).toBe(url); + expect(headers['User-Agent']).toBe(DOWNLOAD_UA); + expect(headers.Accept).toBe('*/*'); + expect(init?.redirect).toBe('follow'); + return new Response(Uint8Array.from([0xaa, 0xbb, 0xcc]), { status: 200 }); + }); + vi.stubGlobal('fetch', fetchMock); + const staged = hold(await stageSourceToDisk(url, 32)); + expect(fetchMock).toHaveBeenCalledTimes(2); + expect(staged.fileSize).toBe(3); + expect(await fsp.readFile(staged.filePath)).toEqual(Buffer.from([0xaa, 0xbb, 0xcc])); + }); + + it('surfaces the first HTTP status error when the Referer retry also fails', async () => { + const fetchMock = vi.fn(async () => new Response(null, { status: 503 })); + vi.stubGlobal('fetch', fetchMock); + await expect(stageSourceToDisk('https://cdn.example.test/down.bin', 32)).rejects.toThrow( + 'HTTP download failed: 503', + ); + expect(fetchMock).toHaveBeenCalledTimes(2); + }); + + it('unlinks the http .part when rename after download fails', async () => { + vi.stubGlobal( + 'fetch', + vi.fn(async () => new Response(Uint8Array.from([0x01, 0x02]), { status: 200 })), + ); + vi.spyOn(fsp, 'rename').mockRejectedValueOnce(new Error('http rename failed')); + const before = await stageNames(); + await expect(stageSourceToDisk('https://cdn.example.test/r.bin', 32)).rejects.toThrow( + 'http rename failed', + ); + expect(await newPartNames(before)).toEqual([]); + }); +}); + +describe('stageSourceToDisk — local files', () => { + it('hardlinks a raw path, preserves basename, and pins the inode after source unlink', async () => { + const src = path.join(scratch, 'payload.dat'); + await fsp.writeFile(src, Buffer.from([0xde, 0xad, 0xbe, 0xef])); + const srcStat = await fsp.stat(src); + const staged = hold(await stageSourceToDisk(src, 64)); + expect(staged.fileName).toBe('payload.dat'); + expect(staged.fileSize).toBe(4); + expectStagedPath(staged.filePath, '.dat'); + const stagedStat = await fsp.stat(staged.filePath); + expect(stagedStat.ino).toBe(srcStat.ino); + expect(stagedStat.nlink).toBe(2); + await fsp.unlink(src); + expect(await fsp.readFile(staged.filePath)).toEqual(Buffer.from([0xde, 0xad, 0xbe, 0xef])); + }); + + it('accepts a file:// URL and uses the pre-resolution basename', async () => { + const src = path.join(scratch, 'video.mp4'); + await fsp.writeFile(src, Buffer.from([0x00, 0x00, 0x00, 0x18])); + const staged = hold(await stageSourceToDisk(pathToFileURL(src).href, 64)); + expect(staged.fileName).toBe('video.mp4'); + expect(staged.fileSize).toBe(4); + expectStagedPath(staged.filePath, '.mp4'); + expect(await fsp.readFile(staged.filePath)).toEqual(Buffer.from([0x00, 0x00, 0x00, 0x18])); + }); + + it('resolves a symlink target but keeps the symlink basename and extension', async () => { + const target = path.join(scratch, 'blob-real.bin'); + const linkPath = path.join(scratch, 'alias.mov'); + await fsp.writeFile(target, Buffer.from([0x6d, 0x6f, 0x6f, 0x76])); + await fsp.symlink(target, linkPath); + const staged = hold(await stageSourceToDisk(linkPath, 64)); + expect(staged.fileName).toBe('alias.mov'); + expectStagedPath(staged.filePath, '.mov'); + expect(await fsp.readFile(staged.filePath)).toEqual(Buffer.from([0x6d, 0x6f, 0x6f, 0x76])); + }); + + it('uses .bin when the local path has no extension', async () => { + const src = path.join(scratch, 'noext'); + await fsp.writeFile(src, Buffer.from([0x42])); + const staged = hold(await stageSourceToDisk(src, 8)); + expect(staged.fileName).toBe('noext'); + expectStagedPath(staged.filePath, '.bin'); + }); + + it('preserves a mixed-case extension on the staged path', async () => { + const src = path.join(scratch, 'Photo.JPEG'); + await fsp.writeFile(src, Buffer.from([0xff, 0xd8])); + const staged = hold(await stageSourceToDisk(src, 8)); + expect(staged.fileName).toBe('Photo.JPEG'); + expectStagedPath(staged.filePath, '.JPEG'); + }); + + it('allows a local file whose size equals maxBytes', async () => { + const src = path.join(scratch, 'exact.bin'); + await fsp.writeFile(src, Buffer.from([1, 2, 3, 4, 5, 6, 7, 8])); + const staged = hold(await stageSourceToDisk(src, 8)); + expect(staged.fileSize).toBe(8); + }); + + it('stages an empty regular file', async () => { + const src = path.join(scratch, 'zero.dat'); + await fsp.writeFile(src, Buffer.alloc(0)); + const staged = hold(await stageSourceToDisk(src, 0)); + expect(staged.fileSize).toBe(0); + expect(staged.fileName).toBe('zero.dat'); + expect(await fsp.readFile(staged.filePath)).toEqual(Buffer.alloc(0)); + }); + + it('rejects a directory before creating a stage file', async () => { + await expect(stageSourceToDisk(scratch, 64)).rejects.toThrow( + `stage source is not a regular file: ${scratch}`, + ); + }); + + it('rejects an oversized local file before staging', async () => { + const src = path.join(scratch, 'huge.bin'); + await fsp.writeFile(src, Buffer.alloc(80, 0xab)); + await expect(stageSourceToDisk(src, 16)).rejects.toThrow('stage source too large: 80 > 16'); + }); + + it('copies when link() fails and the copy survives source deletion', async () => { + const src = path.join(scratch, 'xfs.bin'); + const payload = Buffer.from([0xc0, 0xff, 0xee, 0x11]); + await fsp.writeFile(src, payload); + const srcIno = (await fsp.stat(src)).ino; + const linkSpy = vi + .spyOn(fsp, 'link') + .mockRejectedValueOnce(Object.assign(new Error('EXDEV'), { code: 'EXDEV' })); + const staged = hold(await stageSourceToDisk(src, 64)); + expect(linkSpy).toHaveBeenCalledOnce(); + expect(staged.fileName).toBe('xfs.bin'); + expect(staged.fileSize).toBe(4); + expect((await fsp.stat(staged.filePath)).ino).not.toBe(srcIno); + await fsp.unlink(src); + expect(await fsp.readFile(staged.filePath)).toEqual(payload); + }); + + it('cleans temps when both link() and the copy fallback fail', async () => { + const src = path.join(scratch, 'fail.bin'); + await fsp.writeFile(src, Buffer.from([0x01])); + vi.spyOn(fsp, 'link').mockRejectedValueOnce( + Object.assign(new Error('EXDEV'), { code: 'EXDEV' }), + ); + vi.spyOn(fsp, 'copyFile').mockRejectedValueOnce(new Error('ENOSPC: copy failed')); + const before = await stageNames(); + await expect(stageSourceToDisk(src, 64)).rejects.toThrow('ENOSPC: copy failed'); + expect(await newPartNames(before)).toEqual([]); + }); + + it('cleans temps when link() fails and the copy rename fails', async () => { + const src = path.join(scratch, 'rename-fail.bin'); + await fsp.writeFile(src, Buffer.from([0x02, 0x03])); + vi.spyOn(fsp, 'link').mockRejectedValueOnce( + Object.assign(new Error('EPERM'), { code: 'EPERM' }), + ); + vi.spyOn(fsp, 'rename').mockRejectedValueOnce(new Error('copy rename failed')); + const before = await stageNames(); + await expect(stageSourceToDisk(src, 64)).rejects.toThrow('copy rename failed'); + expect(await newPartNames(before)).toEqual([]); + }); +}); + +describe('stageSourceToDisk — cleanup', () => { + it('removes only the staged temp, never the caller file, and is idempotent', async () => { + const src = path.join(scratch, 'keep-me.bin'); + await fsp.writeFile(src, Buffer.from([0xde, 0xad, 0xbe, 0xef])); + const staged = hold(await stageSourceToDisk(src, 64)); + expect(fs.existsSync(staged.filePath)).toBe(true); + await staged.cleanup(); + expect(fs.existsSync(staged.filePath)).toBe(false); + expect(fs.existsSync(src)).toBe(true); + expect(await fsp.readFile(src)).toEqual(Buffer.from([0xde, 0xad, 0xbe, 0xef])); + await expect(staged.cleanup()).resolves.toBeUndefined(); + }); + + it('tolerates the staged path already being gone', async () => { + const src = path.join(scratch, 'gone.bin'); + await fsp.writeFile(src, Buffer.from([0x09])); + const staged = hold(await stageSourceToDisk(src, 64)); + await fsp.unlink(staged.filePath); + await expect(staged.cleanup()).resolves.toBeUndefined(); + }); +}); + +describe('sweepStagedUploads', () => { + it('returns 0 when the stage directory does not exist', async () => { + const parked = `${STAGE_DIR}.park-${randomUUID()}`; + let moved = false; + + try { + try { + await fsp.rename(STAGE_DIR, parked); + moved = true; + } catch (err) { + if ((err as NodeJS.ErrnoException).code !== 'ENOENT') { + throw err; + } + } + + await expect(sweepStagedUploads(2_000_000_000_000)).resolves.toBe(0); + } finally { + if (moved) { + await fsp.rm(STAGE_DIR, { recursive: true, force: true }).catch(() => undefined); + await fsp.rename(parked, STAGE_DIR); + } + } + }); + + it('reaps a temp older than 30 minutes, keeps a TTL-edge temp, and skips an active staged file', async () => { + const src = path.join(scratch, 'inflight.bin'); + await fsp.writeFile(src, Buffer.from([0x51, 0x52])); + const staged = hold(await stageSourceToDisk(src, 64)); + + await fsp.mkdir(STAGE_DIR, { recursive: true }); + const now = 2_000_000_000_000; + const aged = path.join(STAGE_DIR, `stage-${randomUUID()}.aged`); + const edge = path.join(STAGE_DIR, `stage-${randomUUID()}.edge`); + const recent = path.join(STAGE_DIR, `stage-${randomUUID()}.recent`); + await fsp.writeFile(aged, Buffer.from('aged-orphan')); + await fsp.writeFile(edge, Buffer.from('ttl-edge')); + await fsp.writeFile(recent, Buffer.from('fresh-orphan')); + // Age by whole seconds: some filesystems store mtime at 1s resolution, so a + // 1ms-past-TTL stamp can round back onto the keep side of `> 30min`. + await fsp.utimes(aged, new Date(now), new Date(now - STAGE_TTL_MS - 1000)); + await fsp.utimes(edge, new Date(now), new Date(now - STAGE_TTL_MS)); + await fsp.utimes(recent, new Date(now), new Date(now)); + await fsp.utimes( + staged.filePath, + new Date(now - STAGE_TTL_MS - 1000), + new Date(now - STAGE_TTL_MS - 1000), + ); + + try { + const removed = await sweepStagedUploads(now); + expect(fs.existsSync(aged)).toBe(false); + expect(fs.existsSync(edge)).toBe(true); + expect(fs.existsSync(recent)).toBe(true); + expect(fs.existsSync(staged.filePath)).toBe(true); + expect(removed).toBeGreaterThanOrEqual(1); + } finally { + await fsp.rm(edge, { force: true }); + await fsp.rm(recent, { force: true }); + await fsp.rm(aged, { force: true }); + } + }); + + it('uses Date.now() when now is omitted', async () => { + await fsp.mkdir(STAGE_DIR, { recursive: true }); + const orphan = path.join(STAGE_DIR, `stage-${randomUUID()}.epoch`); + await fsp.writeFile(orphan, Buffer.from('epoch-orphan')); + await fsp.utimes( + orphan, + new Date('1990-01-01T00:00:00.000Z'), + new Date('1990-01-01T00:00:00.000Z'), + ); + + try { + const removed = await sweepStagedUploads(); + expect(fs.existsSync(orphan)).toBe(false); + expect(removed).toBeGreaterThanOrEqual(1); + } finally { + await fsp.rm(orphan, { force: true }); + } + }); +}); diff --git a/packages/protocol/tests/highway/upload-nodes.test.ts b/packages/protocol/tests/highway/upload-nodes.test.ts new file mode 100644 index 00000000..6164fdd3 --- /dev/null +++ b/packages/protocol/tests/highway/upload-nodes.test.ts @@ -0,0 +1,56 @@ +import { afterEach, describe, expect, it, vi } from 'vitest'; +import { UploadNodeHistory } from '../../src/highway/upload-nodes'; + +const a = { host: '192.0.2.1', port: 14000 }; +const b = { host: '192.0.2.1', port: 80 }; +const c = { host: '192.0.2.2', port: 80 }; + +afterEach(() => vi.useRealTimers()); + +describe('upload node observations', () => { + it('orders current candidates by confirmed success, unknown, then recent failure', () => { + const history = new UploadNodeHistory(); + history.record(1004, a, false); + history.record(1004, b, true); + const original = [a, c, b, a]; + expect(history.order(1004, original)).toEqual([b, c, a]); + expect(original).toEqual([a, c, b, a]); + expect(history.order(1003, [a, c, b])).toEqual([a, c, b]); + expect(history.order(1004, [c])).toEqual([c]); + }); + + it('expires failures and successes and still allows every failed candidate', () => { + vi.useFakeTimers(); + const history = new UploadNodeHistory(); + history.record(1004, a, false); + history.record(1004, b, false); + expect(history.order(1004, [a, b])).toEqual([a, b]); + expect(history.order(1004, [a, c])).toEqual([c, a]); + vi.advanceTimersByTime(30_000); + expect(history.order(1004, [a, c])).toEqual([a, c]); + history.record(1004, b, true); + expect(history.order(1004, [a, b])).toEqual([b, a]); + vi.advanceTimersByTime(5 * 60_000); + expect(history.order(1004, [a, b])).toEqual([a, b]); + }); + + it('lets a new failure replace success and a subsequent success recover', () => { + const history = new UploadNodeHistory(); + history.record(1004, b, true); + history.record(1004, b, false); + expect(history.order(1004, [b, a])).toEqual([a, b]); + history.record(1004, b, true); + expect(history.order(1004, [a, b])).toEqual([b, a]); + }); + + it('evicts old observations when many distinct endpoints arrive', () => { + const history = new UploadNodeHistory(); + history.record(1004, a, false); + + for (let port = 10000; port < 10200; port++) { + history.record(1004, { host: '192.0.2.3', port }, false); + } + + expect(history.order(1004, [a, c])).toEqual([a, c]); + }); +}); diff --git a/packages/protocol/tests/highway/upload-settings.test.ts b/packages/protocol/tests/highway/upload-settings.test.ts new file mode 100644 index 00000000..491a7163 --- /dev/null +++ b/packages/protocol/tests/highway/upload-settings.test.ts @@ -0,0 +1,33 @@ +import { describe, expect, it } from 'vitest'; +import { highwayUploadTimeouts } from '../../src/highway/upload-settings'; + +describe('highway upload timeouts', () => { + it('retains the idle default and supplies a finite whole-file deadline', () => { + expect(highwayUploadTimeouts({})).toEqual({ idleMs: 30_000, totalMs: 1_800_000 }); + }); + + it('reads independent millisecond budgets without clamping', () => { + expect( + highwayUploadTimeouts({ + SNOWLUMA_HIGHWAY_UPLOAD_IDLE_TIMEOUT_MS: ' 5000 ', + SNOWLUMA_HIGHWAY_UPLOAD_TIMEOUT_MS: '120000', + }), + ).toEqual({ idleMs: 5000, totalMs: 120000 }); + expect(highwayUploadTimeouts({ SNOWLUMA_HIGHWAY_UPLOAD_TIMEOUT_MS: '1' }).totalMs).toBe(1); + expect( + highwayUploadTimeouts({ SNOWLUMA_HIGHWAY_UPLOAD_TIMEOUT_MS: '2147483647' }).totalMs, + ).toBe(2147483647); + }); + + it.each(['', ' ', '0', '-1', '1.5', 'NaN', 'Infinity', '1e3', '200ms', '2147483648'])( + 'rejects invalid configuration %j', + (value) => { + for (const name of [ + 'SNOWLUMA_HIGHWAY_UPLOAD_IDLE_TIMEOUT_MS', + 'SNOWLUMA_HIGHWAY_UPLOAD_TIMEOUT_MS', + ]) { + expect(() => highwayUploadTimeouts({ [name]: value })).toThrow(name); + } + }, + ); +}); diff --git a/packages/protocol/tests/highway/upload-transport.test.ts b/packages/protocol/tests/highway/upload-transport.test.ts new file mode 100644 index 00000000..45498c31 --- /dev/null +++ b/packages/protocol/tests/highway/upload-transport.test.ts @@ -0,0 +1,133 @@ +import net from 'node:net'; +import { afterEach, describe, expect, it, vi } from 'vitest'; +import type { BridgeContext } from '../../src/bridge-context'; +import { + BufferChunkSource, + uploadHighwayHttp, + type HighwayServer, +} from '../../src/highway/highway-client'; +import { packHighwayFrame } from '../../src/highway/utils'; + +const servers: net.Server[] = []; +const sockets = new Set(); + +afterEach(async () => { + vi.unstubAllEnvs(); + + for (const socket of sockets) { + socket.destroy(); + } + + await Promise.all( + servers.splice(0).map( + (server) => + new Promise((resolve, reject) => { + server.close((error) => (error ? reject(error) : resolve())); + }), + ), + ); +}); + +async function listen( + reply: boolean, +): Promise<{ address: HighwayServer; connections: () => number }> { + let connections = 0; + const server = net.createServer((socket) => { + connections++; + sockets.add(socket); + socket.once('close', () => sockets.delete(socket)); + let received = Buffer.alloc(0); + socket.on('data', (bytes: Buffer) => { + received = Buffer.concat([received, bytes]); + const end = received.indexOf('\r\n\r\n'); + + if (!reply || end < 0) { + return; + } + + const header = received.subarray(0, end).toString('ascii'); + const length = Number(header.match(/Content-Length: (\d+)/i)?.[1]); + + if (received.length < end + 4 + length) { + return; + } + + const frame = packHighwayFrame(new Uint8Array(), new Uint8Array()); + socket.write( + Buffer.concat([ + Buffer.from(`HTTP/1.1 200 OK\r\nContent-Length: ${frame.byteLength}\r\n\r\n`), + frame, + ]), + ); + received = received.subarray(end + 4 + length); + }); + }); + await new Promise((resolve, reject) => { + server.once('error', reject); + server.listen(0, '127.0.0.1', () => { + server.off('error', reject); + resolve(); + }); + }); + servers.push(server); + const address = server.address(); + + if (!address || typeof address === 'string') { + throw new Error('missing loopback address'); + } + + return { + address: { host: address.address, port: address.port }, + connections: () => connections, + }; +} + +function bridge(uin: string): BridgeContext { + return { identity: { uin } } as unknown as BridgeContext; +} + +function send( + owner: BridgeContext, + candidates: HighwayServer[], + source = new BufferChunkSource(new Uint8Array([1, 2, 3])), +) { + return uploadHighwayHttp( + owner, + { sigSession: new Uint8Array([1]), sessionKey: new Uint8Array(), servers: candidates }, + 1004, + source, + new Uint8Array(16), + new Uint8Array(), + ); +} + +describe('highway upload over real loopback sockets', () => { + it('switches idle ports and remembers only confirmed success for that account', async () => { + vi.stubEnv('SNOWLUMA_HIGHWAY_UPLOAD_IDLE_TIMEOUT_MS', '100'); + vi.stubEnv('SNOWLUMA_HIGHWAY_UPLOAD_TIMEOUT_MS', '5000'); + const idle = await listen(false); + const healthy = await listen(true); + const owner = bridge('10001'); + const candidates = [idle.address, healthy.address]; + await send(owner, candidates); + await send(owner, candidates); + expect(idle.connections()).toBe(1); + expect(healthy.connections()).toBe(2); + await send(bridge('10002'), candidates); + expect(idle.connections()).toBe(2); + expect(healthy.connections()).toBe(3); + }); + + it('rejects an unresponsive peer at the total deadline and closes its source once', async () => { + vi.stubEnv('SNOWLUMA_HIGHWAY_UPLOAD_IDLE_TIMEOUT_MS', '10000'); + vi.stubEnv('SNOWLUMA_HIGHWAY_UPLOAD_TIMEOUT_MS', '100'); + const idle = await listen(false); + const source = new BufferChunkSource(new Uint8Array([1, 2, 3])); + const close = vi.spyOn(source, 'close'); + await expect(send(bridge('10003'), [idle.address], source)).rejects.toThrow( + 'timed out after 100ms', + ); + expect(close).toHaveBeenCalledTimes(1); + expect(idle.connections()).toBe(1); + }); +}); diff --git a/packages/protocol/tests/highway/utils.test.ts b/packages/protocol/tests/highway/utils.test.ts new file mode 100644 index 00000000..742641bf --- /dev/null +++ b/packages/protocol/tests/highway/utils.test.ts @@ -0,0 +1,175 @@ +import { describe, it, expect } from 'vitest'; +import { detectImageFormat } from '@snowluma/protocol/highway/utils'; + +// Regression coverage for detectImageFormat (was previously untested). The +// header-parsing is all hand-rolled byte math, so each format's offset AND +// endianness is pinned here. The VP8X cases exist because that branch read the +// canvas width/height big-endian when the WebP spec stores them 24-bit +// little-endian (issue #112: a 1920×1080 image came back as 8324865×3605505, +// cropping the QQ thumbnail). VP8 / VP8L were already little-endian. + +// ── little-endian byte writers (match how the formats store dimensions) ── +function le16(v: number): number[] { + return [v & 0xff, (v >> 8) & 0xff]; +} + +function le24(v: number): number[] { + return [v & 0xff, (v >> 8) & 0xff, (v >> 16) & 0xff]; +} + +function le32(v: number): number[] { + return [v & 0xff, (v >> 8) & 0xff, (v >> 16) & 0xff, (v >> 24) & 0xff]; +} + +function be16(v: number): number[] { + return [(v >> 8) & 0xff, v & 0xff]; +} + +function be32(v: number): number[] { + return [(v >> 24) & 0xff, (v >> 16) & 0xff, (v >> 8) & 0xff, v & 0xff]; +} + +function ascii(s: string): number[] { + return [...s].map((c) => c.charCodeAt(0)); +} + +/** Build a buffer from segments placed at explicit offsets; gaps are 0. */ +function buf(len: number, ...segs: Array<[number, number[]]>): Uint8Array { + const b = new Uint8Array(len); + + for (const [off, bytes] of segs) { + b.set(bytes, off); + } + + return b; +} + +describe('detectImageFormat', () => { + it('PNG — IHDR width/height (big-endian @16/@20) → 1001', () => { + const b = buf(24, [0, [0x89, 0x50, 0x4e, 0x47]], [16, be32(800)], [20, be32(600)]); + expect(detectImageFormat(b)).toEqual({ format: 1001, width: 800, height: 600 }); + }); + + it('GIF — logical screen width/height (little-endian @6/@8) → 2000', () => { + const b = buf(10, [0, ascii('GIF89a')], [6, le16(320)], [8, le16(240)]); + expect(detectImageFormat(b)).toEqual({ format: 2000, width: 320, height: 240 }); + // GIF87a header variant is also accepted. + const b87 = buf(10, [0, ascii('GIF87a')], [6, le16(48)], [8, le16(16)]); + expect(detectImageFormat(b87)).toEqual({ format: 2000, width: 48, height: 16 }); + }); + + it('BMP — DIB width/height (little-endian @18/@22) → 1005', () => { + const b = buf(26, [0, ascii('BM')], [18, le32(1024)], [22, le32(768)]); + expect(detectImageFormat(b)).toEqual({ format: 1005, width: 1024, height: 768 }); + }); + + it('WebP VP8 (lossy) — little-endian @26/@28 → 1002', () => { + const b = buf( + 32, + [0, ascii('RIFF')], + [8, ascii('WEBP')], + [12, ascii('VP8 ')], + [26, le16(640)], + [28, le16(480)], + ); + expect(detectImageFormat(b)).toEqual({ format: 1002, width: 640, height: 480 }); + }); + + it('WebP VP8L (lossless) — 14-bit fields packed in LE32 @21 → 1002', () => { + // width-1 in bits[0..13], height-1 in bits[14..27]. + const bits = (100 - 1) | ((200 - 1) << 14); + const b = buf( + 32, + [0, ascii('RIFF')], + [8, ascii('WEBP')], + [12, ascii('VP8L')], + [21, le32(bits >>> 0)], + ); + expect(detectImageFormat(b)).toEqual({ format: 1002, width: 100, height: 200 }); + }); + + it('WebP VP8X (extended) — canvas width/height are 24-bit LITTLE-endian +1 @24/@27 → 1002 (issue #112)', () => { + const b = buf( + 34, + [0, ascii('RIFF')], + [8, ascii('WEBP')], + [12, ascii('VP8X')], + [24, le24(1920 - 1)], + [27, le24(1080 - 1)], + ); + expect(detectImageFormat(b)).toEqual({ format: 1002, width: 1920, height: 1080 }); + }); + + it('WebP VP8X — asymmetric dims pin byte order (BE misread would give huge/swapped values)', () => { + // 256×1: width-1=255 → LE bytes [ff,00,00]; a BE read of those = 16711680. + // height-1=0 → [00,00,00]. Distinct w≠h also catches an offset swap. + const b = buf( + 34, + [0, ascii('RIFF')], + [8, ascii('WEBP')], + [12, ascii('VP8X')], + [24, le24(256 - 1)], + [27, le24(1 - 1)], + ); + expect(detectImageFormat(b)).toEqual({ format: 1002, width: 256, height: 1 }); + }); + + it('WebP VP8X — exact bytes from issue #112 decode to 1920×1080, not 8324865×3605505', () => { + // The reported broken values came from these literal canvas bytes. + const b = buf( + 34, + [0, ascii('RIFF')], + [8, ascii('WEBP')], + [12, ascii('VP8X')], + [24, [0x7f, 0x07, 0x00]], + [27, [0x37, 0x04, 0x00]], + ); + expect(detectImageFormat(b)).toEqual({ format: 1002, width: 1920, height: 1080 }); + }); + + it('JPEG — dimensions from the SOF0 segment (big-endian, height before width) → 1000', () => { + // FFD8 SOI, then SOF0 (FFC0) segment: len(BE16)=17, precision, height@+5, width@+7. + // Buffer must hold the whole declared 17-byte segment (offset 2..20) or the + // parser's bounds-check bails before reading — hence length 24, not 20. + const b = buf( + 24, + [0, [0xff, 0xd8]], + [2, [0xff, 0xc0]], + [4, be16(17)], + [6, [8]], + [7, be16(720)], + [9, be16(1280)], + ); + expect(detectImageFormat(b)).toEqual({ format: 1000, width: 1280, height: 720 }); + }); + + it('JPEG — skips a DHT (0xFFC4) segment before SOF0 (must not misread Huffman bytes)', () => { + // SOI, DHT(FFC4) len=4 (2 payload bytes), then SOF0 with real 640×480. + const b = buf( + 28, + [0, [0xff, 0xd8]], + [2, [0xff, 0xc4]], + [4, be16(4)], + [6, [0xde, 0xad]], + [8, [0xff, 0xc0]], + [10, be16(17)], + [12, [8]], + [13, be16(480)], + [15, be16(640)], + ); + expect(detectImageFormat(b)).toEqual({ format: 1000, width: 640, height: 480 }); + }); + + it('unknown bytes fall back to {1000, 0, 0} without throwing', () => { + expect(detectImageFormat(new Uint8Array([1, 2, 3, 4, 5, 6, 7, 8]))).toEqual({ + format: 1000, + width: 0, + height: 0, + }); + }); + + it('a truncated WebP header (<30 bytes) does not crash and falls through', () => { + const b = buf(20, [0, ascii('RIFF')], [8, ascii('WEBP')], [12, ascii('VP8X')]); + expect(detectImageFormat(b)).toEqual({ format: 1000, width: 0, height: 0 }); + }); +}); diff --git a/packages/protocol/tests/highway/video-sha1-blocks.test.ts b/packages/protocol/tests/highway/video-sha1-blocks.test.ts new file mode 100644 index 00000000..a186b90b --- /dev/null +++ b/packages/protocol/tests/highway/video-sha1-blocks.test.ts @@ -0,0 +1,51 @@ +import { describe, it, expect } from 'vitest'; +import { createHash } from 'node:crypto'; +import { computeVideoSha1Blocks } from '../../src/highway/video-upload'; + +// Deterministic input generator (matches the golden-capture script). +function det(len: number): Uint8Array { + const b = new Uint8Array(len); + + for (let i = 0; i < len; i++) { + b[i] = (i * 31 + 7) & 0xff; + } + + return b; +} + +const hex = (u: Uint8Array): string => Buffer.from(u).toString('hex'); +const nodeSha1 = (b: Uint8Array): string => createHash('sha1').update(Buffer.from(b)).digest('hex'); + +describe('computeVideoSha1Blocks', () => { + // GOLDEN: captured from the previous hand-rolled Sha1StreamState implementation + // before the F3 rewrite (Sha1Stream + Node crypto), so this locks the rewrite + // byte-identical for the block states AND the overall digest. + it('reproduces the pre-refactor golden 1MB-block states + overall sha1', () => { + const input = det(2 * 1024 * 1024 + 12345); // 2 full 1MB blocks + a partial tail + expect(computeVideoSha1Blocks(input).map(hex)).toEqual([ + 'ab9a20fd6c98fc1f8f0c985cd552ff14c6feacfd', // intermediate un-finalized state @1MB (little-endian) + '2ccc5923b75f46ebd8ccb78e8c413c18025178b9', // intermediate un-finalized state @2MB + 'dd9cfd4648ab460260afa820c98bfec1b17655d4', // overall (finalized) + ]); + }); + + it('the final block equals the standard full-file SHA1', () => { + const input = det(2 * 1024 * 1024 + 12345); + const blocks = computeVideoSha1Blocks(input); + expect(hex(blocks[blocks.length - 1]!)).toBe(nodeSha1(input)); + }); + + it('a file shorter than 1MB yields just the overall sha1', () => { + const input = det(1000); + const blocks = computeVideoSha1Blocks(input); + expect(blocks).toHaveLength(1); + expect(hex(blocks[0]!)).toBe(nodeSha1(input)); + }); + + it('a file that is an exact 1MB multiple emits the boundary state then the overall', () => { + const input = det(1024 * 1024); + const blocks = computeVideoSha1Blocks(input); + expect(blocks).toHaveLength(2); + expect(hex(blocks[1]!)).toBe(nodeSha1(input)); // last is the finalized overall + }); +}); diff --git a/packages/protocol/tests/kick-nt.test.ts b/packages/protocol/tests/kick-nt.test.ts new file mode 100644 index 00000000..c91bd6f9 --- /dev/null +++ b/packages/protocol/tests/kick-nt.test.ts @@ -0,0 +1,46 @@ +// StatusService.KickNT (forced-offline push) → bot_offline event. +// Command + field layout RE-confirmed against wrapper.linux.node + Lagrange's +// KickNTService/ServiceKickNTResponse (f4 = tips_title, f3 = tips_content). + +import { describe, expect, it } from 'vitest'; +import { protobuf_encode } from '@snowluma/proton'; +import { parseKickNT, KICK_NT_CMD } from '@snowluma/protocol/kick-nt'; +import { IdentityService } from '@snowluma/protocol/identity-service'; +import type { KickNTResponse } from '@snowluma/proto-defs/notify'; +import type { PacketInfo } from '@snowluma/common/protocol-types'; +import type { QQEventVariant } from '@snowluma/protocol/events'; + +type BotOfflineEvent = Extract; + +describe('parseKickNT (StatusService.KickNT → bot_offline)', () => { + const identity = IdentityService.memory('3433035623'); + + function pkt(resp: KickNTResponse, uin = '3433035623'): PacketInfo { + return { + pid: 1, + uin, + serviceCmd: KICK_NT_CMD, + seqId: 1, + retCode: 0, + fromClient: false, + body: protobuf_encode(resp), + }; + } + + it('emits bot_offline with tag=title (f4) and message=tips (f3)', () => { + const [ev] = parseKickNT( + pkt({ uin: 3433035623, title: '你已离线', tips: '你的账号在其他设备登录' }), + identity, + ) as BotOfflineEvent[]; + + expect(ev.kind).toBe('bot_offline'); + expect(ev.selfUin).toBe(3433035623); + expect(ev.tag).toBe('你已离线'); + expect(ev.message).toBe('你的账号在其他设备登录'); + }); + + it('falls back to the identity uin when the packet uin is missing', () => { + const [ev] = parseKickNT(pkt({ title: 't', tips: 'm' }, ''), identity) as BotOfflineEvent[]; + expect(ev.selfUin).toBe(3433035623); + }); +}); diff --git a/packages/protocol/tests/msg-push/blank-filter.test.ts b/packages/protocol/tests/msg-push/blank-filter.test.ts new file mode 100644 index 00000000..885e34fe --- /dev/null +++ b/packages/protocol/tests/msg-push/blank-filter.test.ts @@ -0,0 +1,89 @@ +import { describe, expect, it } from 'vitest'; +import { protobuf_encode } from '@snowluma/proton'; +import type { FileExtra } from '@snowluma/proto-defs/message'; +import { + classifyMessageSurvival, + isBlankMessage, + isC2cControlPush, +} from '../../src/msg-push/blank-filter'; + +const privateHead = { msgType: 166, c2cCmd: 0 }; +const controlHead = { msgType: 166, c2cCmd: 75 }; +const groupHead = { msgType: 82, c2cCmd: 0 }; + +describe('classifyMessageSurvival', () => { + it('drops C2C control even when elements decoded', () => { + expect(isC2cControlPush(controlHead)).toBe(true); + expect( + classifyMessageSurvival(controlHead, [{ type: 'text' }], { + richText: { elems: [{ text: { str: 'noise' } }] }, + }), + ).toBe('drop-control'); + }); + + it('drops a genuinely empty non-control body', () => { + expect(isBlankMessage([], { richText: { elems: [] } })).toBe(true); + expect(classifyMessageSurvival(privateHead, [], { richText: { elems: [] } })).toBe( + 'drop-blank', + ); + expect(classifyMessageSurvival(groupHead, [], { richText: { elems: [] } })).toBe( + 'drop-blank', + ); + }); + + it('keeps an empty decode when the body still carried content', () => { + const body = { + richText: { elems: [{ commonElem: { serviceType: 999, businessType: 0 } }] }, + }; + expect(isBlankMessage([], body)).toBe(false); + expect(classifyMessageSurvival(privateHead, [], body)).toBe('keep-undecoded'); + }); + + it('keeps a message that decoded to elements', () => { + expect( + classifyMessageSurvival(privateHead, [{ type: 'text' }], { + richText: { elems: [{ text: { str: 'hi' } }] }, + }), + ).toBe('keep'); + }); + + it('drops an offline-file download receipt even if a file element decoded (#442)', () => { + const body = { + msgContent: protobuf_encode({ + file: { + fileUuid: 'fid-sent-by-bot', + fileName: 'doc.bin', + fileSize: 6119608n, + subcmd: 1, + downloadFlag: 2, + }, + }), + }; + expect(classifyMessageSurvival(privateHead, [{ type: 'file' }], body)).toBe('drop-receipt'); + }); + + it('classifies subcommand receipts consistently for history and push consumers (#477)', () => { + const file = { + fileType: 1, + subcmd: 2, + fileUuid: 'already-sent', + fileName: 'test.json', + fileSize: 42n, + }; + + for (const body of [ + { msgContent: protobuf_encode({ file }) }, + { richText: { notOnlineFile: file } }, + ]) { + expect(classifyMessageSurvival(privateHead, [{ type: 'file' }], body)).toBe( + 'drop-receipt', + ); + } + + expect( + classifyMessageSurvival(privateHead, [{ type: 'file' }], { + richText: { notOnlineFile: { ...file, fileType: 3 } }, + }), + ).toBe('keep'); + }); +}); diff --git a/packages/protocol/tests/msg-push/bot-markdown-keyboard-decode.test.ts b/packages/protocol/tests/msg-push/bot-markdown-keyboard-decode.test.ts new file mode 100644 index 00000000..2e65e7cf --- /dev/null +++ b/packages/protocol/tests/msg-push/bot-markdown-keyboard-decode.test.ts @@ -0,0 +1,190 @@ +import { describe, expect, it } from 'vitest'; +import { + protobuf_encode, + type bool, + type pb, + type pb_repeated, + type uint_32, + type uint_64, +} from '@snowluma/proton'; +import type { MessageBody } from '@snowluma/proto-defs/message'; + +import { assertValidMessageElement } from '../../src/element-manifest'; +import { decodeRichBody } from '../../src/msg-push/rich-body-decoder'; + +interface MarkdownFixture { + content?: pb<1, string>; + processMsg?: pb<4, string>; + summary?: pb<5, string>; + extType?: pb<6, uint_32>; +} + +interface KeyboardPermissionFixture { + type?: pb<1, uint_32>; + roleIds?: pb_repeated<2, string>; + userIds?: pb_repeated<3, string>; +} + +interface KeyboardActionFixture { + type?: pb<1, uint_32>; + permission?: pb<2, KeyboardPermissionFixture>; + clickLimit?: pb<3, uint_32>; + unsupportedTips?: pb<4, string>; + data?: pb<5, string>; + atBotShowChannelList?: pb<6, bool>; + reply?: pb<7, bool>; + enter?: pb<8, bool>; + anchor?: pb<9, uint_32>; +} + +interface KeyboardRenderFixture { + label?: pb<1, string>; + visitedLabel?: pb<2, string>; + style?: pb<3, uint_32>; +} + +interface KeyboardButtonFixture { + id?: pb<1, string>; + render?: pb<2, KeyboardRenderFixture>; + action?: pb<3, KeyboardActionFixture>; +} + +interface KeyboardRowFixture { + buttons?: pb_repeated<1, KeyboardButtonFixture>; +} + +interface KeyboardFixture { + rows?: pb_repeated<1, KeyboardRowFixture>; + botAppid?: pb<2, uint_64>; +} + +interface KeyboardExtraFixture { + keyboard?: pb<1, KeyboardFixture>; +} + +function commonBody(serviceType: number, businessType: number, pbElem: Uint8Array): MessageBody { + return { + richText: { + elems: [{ commonElem: { serviceType, businessType, pbElem } } as never], + }, + }; +} + +describe('decodeRichBody / bot markdown (#337)', () => { + it('emits the original markdown and removes its plain-text compatibility sibling', () => { + const pbElem = protobuf_encode({ + content: '# Weather\n**Sunny**', + processMsg: 'Weather: Sunny', + summary: 'Weather', + extType: 3, + }); + const body: MessageBody = { + richText: { + elems: [ + { text: { str: 'Weather: Sunny' } } as never, + { commonElem: { serviceType: 45, businessType: 1, pbElem } } as never, + ], + }, + }; + + expect(decodeRichBody(body, true)).toEqual([ + { type: 'markdown', text: '# Weather\n**Sunny**' }, + ]); + }); + + it('decodes the current extended bot-markdown business type', () => { + const pbElem = protobuf_encode({ content: '## Agent answer' }); + expect(decodeRichBody(commonBody(45, 4, pbElem), true)).toEqual([ + { type: 'markdown', text: '## Agent answer' }, + ]); + }); + + it('keeps fallback text when the markdown protobuf is malformed', () => { + const body: MessageBody = { + richText: { + elems: [ + { text: { str: 'readable fallback' } } as never, + { + commonElem: { + serviceType: 45, + businessType: 1, + pbElem: Uint8Array.of(0x0a, 0x05, 0x41), + }, + } as never, + ], + }, + }; + + expect(decodeRichBody(body, true)).toEqual([{ type: 'text', text: 'readable fallback' }]); + }); +}); + +describe('decodeRichBody / inline keyboard (#337)', () => { + const pbElem = protobuf_encode({ + keyboard: { + botAppid: 9_007_199_254_740_993n, + rows: [ + { + buttons: [ + { + id: 'btn-1', + render: { label: 'Run', visitedLabel: 'Done', style: 1 }, + action: { + type: 2, + permission: { type: 2, roleIds: ['admin'], userIds: ['u_10001'] }, + clickLimit: 3, + unsupportedTips: 'Admins only', + data: 'callback-data', + atBotShowChannelList: true, + reply: false, + enter: true, + anchor: 9, + }, + }, + ], + }, + ], + }, + }); + + it.each([46, 50, 51])( + 'decodes service %i business 1 without losing uint64 app id', + (serviceType) => { + const elements = decodeRichBody(commonBody(serviceType, 1, pbElem), true); + expect(elements).toEqual([ + { + type: 'inline_keyboard', + botAppid: '9007199254740993', + rows: [ + { + buttons: [ + { + id: 'btn-1', + label: 'Run', + visitedLabel: 'Done', + style: 1, + type: 2, + clickLimit: 3, + unsupportedTips: 'Admins only', + data: 'callback-data', + atBotShowChannelList: true, + permissionType: 2, + specifyRoleIds: ['admin'], + specifyUserIds: ['u_10001'], + isReply: false, + enter: true, + anchor: 9, + }, + ], + }, + ], + }, + ]); + expect(() => assertValidMessageElement(elements[0], 'D')).not.toThrow(); + }, + ); + + it('does not reinterpret an unsupported business type as a keyboard', () => { + expect(decodeRichBody(commonBody(46, 2, pbElem), true)).toEqual([]); + }); +}); diff --git a/packages/protocol/tests/msg-push/client-message-receipt.test.ts b/packages/protocol/tests/msg-push/client-message-receipt.test.ts new file mode 100644 index 00000000..a19c09b3 --- /dev/null +++ b/packages/protocol/tests/msg-push/client-message-receipt.test.ts @@ -0,0 +1,345 @@ +import { afterEach, describe, expect, it, vi } from 'vitest'; +import { CLIENT_MESSAGE_RECEIPT_CMD, type PacketInfo } from '@snowluma/common/protocol-types'; +import type { PacketSender, SendPacketResult } from '@snowluma/common/packet-sender'; +import type { SendMessageResponse } from '@snowluma/proto-defs/action'; +import type { SsoGetC2cMsg, SsoGetC2cMsgResponse } from '@snowluma/proto-defs/get-c2c-msg'; +import type { PushMsgBody } from '@snowluma/proto-defs/message'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import { IdentityService } from '../../src/identity-service'; +import { + decodeClientMessageReceipt, + fetchClientMessage, +} from '../../src/msg-push/client-message-receipt'; +import { SSO_GET_C2C_MSG_CMD } from '../../src/msg-push/fetch-c2c-history'; + +const self = '10001'; +const peer = 'u_test_peer'; +const time = 1_700_000_000; +const identities: IdentityService[] = []; + +afterEach(async () => { + vi.useRealTimers(); + await Promise.all(identities.splice(0).map((identity) => identity.close())); +}); + +function packet(ack: SendMessageResponse = { privateSequence: 87, timestamp1: time }): PacketInfo { + const uid = Buffer.from(peer); + const header = Buffer.alloc(8); + header[0] = 1; + header[1] = uid.length; + header.writeUInt32LE(9, 4); + return { + pid: 1234, + uin: self, + seqId: 42, + retCode: 0, + fromClient: false, + source: 'client-message', + serviceCmd: CLIENT_MESSAGE_RECEIPT_CMD, + body: Buffer.concat([header, uid, protobuf_encode(ack)]), + }; +} + +function message(): PushMsgBody { + return { + responseHead: { fromUin: Number(self), fromUid: 'u_test_self', toUin: 20002, toUid: peer }, + contentHead: { msgType: 166, sequence: 9, ntMsgSeq: 87, timestamp: time, msgId: 123456 }, + body: { richText: { elems: [{ text: { str: 'hello' } }, { face: { index: 1 } }] } }, + }; +} + +function lookupResponse(response: SsoGetC2cMsgResponse): SendPacketResult { + return { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.from(protobuf_encode(response)), + }; +} + +function setup(messages = [message()], friendUid = peer) { + const identity = IdentityService.memory(self); + identities.push(identity); + const sendPacket = vi.fn(async () => ({ + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.from(protobuf_encode({ friendUid, messages })), + })); + const receipt = decodeClientMessageReceipt(packet(), self); + return { + sendPacket, + identity, + receipt, + run: () => fetchClientMessage({ sendPacket }, identity, receipt), + }; +} + +describe('client message receipts', () => { + it('decodes a confirmation and retrieves exactly its conversation and sequence', async () => { + const ctx = setup(); + expect(ctx.receipt).toEqual({ + peerUid: peer, + clientSequence: 9, + sequence: 87, + timestamp: time, + }); + const event = await ctx.run(); + expect(ctx.sendPacket).toHaveBeenCalledOnce(); + const [cmd, body] = ctx.sendPacket.mock.calls[0]!; + expect(cmd).toBe(SSO_GET_C2C_MSG_CMD); + expect(protobuf_decode(body)).toMatchObject({ + friendUid: peer, + startSequence: 87, + endSequence: 87, + }); + expect(event).toMatchObject({ + kind: 'friend_message', + selfUin: 10001, + senderUin: 10001, + peerUin: 20002, + clientSeq: 9, + ntMsgSeq: 87, + sequenceAuthoritative: true, + time, + elements: [ + { type: 'text', text: 'hello' }, + { type: 'face', faceId: 1 }, + ], + }); + }); + + it.each([ + { source: undefined }, + { serviceCmd: 'MessageSvc.PbSendMsg' }, + { uin: '20002' }, + { retCode: -1 }, + ] satisfies Partial[])('rejects invalid provenance or status: %j', (patch) => { + expect(() => decodeClientMessageReceipt({ ...packet(), ...patch }, self)).toThrow(); + }); + + it.each([ + { result: 1 }, + { reviewResult: 1 }, + { serverResult: { code: -1 } }, + { privateSequence: 0 }, + { timestamp1: 0 }, + { groupSequence: 5 }, + ] satisfies SendMessageResponse[])( + 'rejects an unsuccessful or incomplete confirmation: %j', + (patch) => { + expect(() => + decodeClientMessageReceipt( + packet({ privateSequence: 87, timestamp1: time, ...patch }), + self, + ), + ).toThrow(); + }, + ); + + it.each([ + [ + 'version', + (body: Buffer) => { + body[0] = 2; + }, + ], + [ + 'reserved', + (body: Buffer) => { + body[2] = 1; + }, + ], + [ + 'uid length', + (body: Buffer) => { + body[1] = 129; + }, + ], + [ + 'uid', + (body: Buffer) => { + body[8] = 0xff; + }, + ], + [ + 'client sequence', + (body: Buffer) => { + body.writeUInt32LE(0, 4); + }, + ], + ] as const)('rejects a malformed %s', (_name, mutate) => { + const pkt = packet(); + const body = Buffer.from(pkt.body); + mutate(body); + expect(() => decodeClientMessageReceipt({ ...pkt, body }, self)).toThrow(); + }); + + it('rejects truncated and excessive bodies', () => { + for (const body of [ + new Uint8Array(), + packet().body.subarray(0, 8 + peer.length), + new Uint8Array(8 + 128 + 65537), + ]) { + expect(() => decodeClientMessageReceipt({ ...packet(), body }, self)).toThrow(); + } + }); + + it.each([ + [ + 'sender', + (msg: PushMsgBody) => { + msg.responseHead!.fromUin = 20002; + }, + ], + [ + 'recipient', + (msg: PushMsgBody) => { + msg.responseHead!.toUid = 'u_other'; + }, + ], + [ + 'missing recipient', + (msg: PushMsgBody) => { + delete msg.responseHead!.toUin; + }, + ], + [ + 'client sequence', + (msg: PushMsgBody) => { + msg.contentHead!.sequence = 10; + }, + ], + [ + 'server sequence', + (msg: PushMsgBody) => { + msg.contentHead!.ntMsgSeq = 88; + }, + ], + [ + 'timestamp', + (msg: PushMsgBody) => { + msg.contentHead!.timestamp = time + 1; + }, + ], + [ + 'group', + (msg: PushMsgBody) => { + msg.responseHead!.grp = { groupCode: 30003 }; + }, + ], + [ + 'type', + (msg: PushMsgBody) => { + msg.contentHead!.msgType = 82; + }, + ], + [ + 'empty content', + (msg: PushMsgBody) => { + msg.body = {}; + }, + ], + [ + 'unknown content', + (msg: PushMsgBody) => { + msg.body = { richText: { elems: [{ commonElem: { serviceType: 999 } }] } }; + }, + ], + [ + 'control', + (msg: PushMsgBody) => { + msg.contentHead!.c2cCmd = 1; + }, + ], + ] as const)('rejects an incorrect %s in the lookup', async (_name, mutate) => { + const msg = message(); + mutate(msg); + await expect(setup([msg]).run()).rejects.toThrow(); + }); + + it('rejects missing, ambiguous and cross-conversation results', async () => { + await expect(setup([]).run()).rejects.toThrow('expected one'); + await expect(setup([message(), message()]).run()).rejects.toThrow('expected one'); + await expect(setup([message()], 'u_other').run()).rejects.toThrow('conversation'); + }); + + it('retries only the confirmed message while storage catches up', async () => { + const ctx = setup(); + vi.useFakeTimers(); + ctx.sendPacket.mockResolvedValueOnce( + lookupResponse({ result: 100000301, friendUid: peer, messages: [] }), + ); + const work = ctx.run(); + await vi.advanceTimersByTimeAsync(99); + expect(ctx.sendPacket).toHaveBeenCalledTimes(1); + await vi.advanceTimersByTimeAsync(1); + expect(await work).toMatchObject({ ntMsgSeq: 87, clientSeq: 9 }); + expect(ctx.sendPacket).toHaveBeenCalledTimes(2); + expect(ctx.sendPacket.mock.calls[1]).toEqual(ctx.sendPacket.mock.calls[0]); + }); + + it('reports a bounded failure when storage never contains the confirmed message', async () => { + const ctx = setup(); + vi.useFakeTimers(); + ctx.sendPacket.mockResolvedValue( + lookupResponse({ result: 100000301, friendUid: peer, messages: [] }), + ); + const rejected = expect(ctx.run()).rejects.toThrow('still unavailable after 6 attempts'); + await vi.runAllTimersAsync(); + await rejected; + expect(ctx.sendPacket).toHaveBeenCalledTimes(6); + }); + + it.each([ + { result: 100000302, friendUid: peer, messages: [] }, + { result: 100000301, friendUid: 'u_other', messages: [] }, + { result: 100000301, messages: [] }, + { result: 100000301, friendUid: peer, messages: [message()] }, + ] satisfies SsoGetC2cMsgResponse[])( + 'does not retry unrelated or inconsistent errors: %j', + async (response) => { + const ctx = setup(); + ctx.sendPacket.mockResolvedValue(lookupResponse(response)); + await expect(ctx.run()).rejects.toThrow(); + expect(ctx.sendPacket).toHaveBeenCalledOnce(); + }, + ); + + it('preserves distinct identities for equal text', async () => { + const first = setup(); + const msg = message(); + msg.contentHead = { ...msg.contentHead, sequence: 10, ntMsgSeq: 88 }; + const second = setup([msg]); + const event = await fetchClientMessage(second, second.identity, { + ...second.receipt, + clientSequence: 10, + sequence: 88, + }); + expect((await first.run()).ntMsgSeq).toBe(87); + expect(event.ntMsgSeq).toBe(88); + expect(event.elements).toEqual((await first.run()).elements); + }); + + it.each([ + { success: false, gotResponse: false, responseData: null }, + { success: true, gotResponse: false, responseData: null }, + { success: true, gotResponse: true, responseData: Buffer.alloc(0) }, + ] satisfies Partial[])( + 'surfaces unsuccessful lookup transport: %j', + async (result) => { + const ctx = setup(); + ctx.sendPacket.mockResolvedValue({ + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: null, + ...result, + }); + await expect(ctx.run()).rejects.toThrow('Client message lookup'); + }, + ); +}); diff --git a/packages/protocol/tests/msg-push/empty-message-drop.test.ts b/packages/protocol/tests/msg-push/empty-message-drop.test.ts new file mode 100644 index 00000000..ad29073d --- /dev/null +++ b/packages/protocol/tests/msg-push/empty-message-drop.test.ts @@ -0,0 +1,287 @@ +// Regression for #102: a group invite makes QQ emit a content-less c2c push +// (msgType=166/0, body.richText.elems=[]) right after the invite card. That +// phantom used to surface to OneBot clients as a confusing "[空消息]". +// parseMsgPush must drop a message that decodes to zero elements *when its body +// is genuinely empty*, while still keeping (and warning about) a message that +// carried content we merely failed to decode. + +import { getLogLevel, setLogLevel, subscribeLogs, type LogEntry } from '@snowluma/common/logger'; +import type { PacketInfo } from '@snowluma/common/protocol-types'; +import { protobuf_encode } from '@snowluma/proton'; +import type { FileExtra, PushMsg, PushMsgBody } from '@snowluma/proto-defs/message'; +import { afterEach, describe, expect, it } from 'vitest'; +import type { IdentityService } from '../../src/identity-service'; +import { parseMsgPush } from '../../src/msg-push'; + +const identity = { findFriend: () => undefined } as unknown as IdentityService; +const previousLogLevel = getLogLevel(); + +afterEach(() => { + setLogLevel(previousLogLevel); +}); + +function pushPacket(message: PushMsgBody): PacketInfo { + return { + pid: 0, + uin: '2000000001', + serviceCmd: 'trpc.msg.olpush.OlPushService.MsgPush', + seqId: 0, + retCode: 0, + fromClient: false, + body: protobuf_encode({ message }), + }; +} + +function traceMessages(entries: LogEntry[]): string[] { + return entries.filter((entry) => entry.level === 'trace').map((entry) => entry.message); +} + +describe('parseMsgPush — empty message drop (#102)', () => { + it('records an invalid push context before returning no events', () => { + const entries: LogEntry[] = []; + setLogLevel('trace'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + + try { + const pkt = pushPacket({ + responseHead: { fromUin: 10001, fromUid: 'u_x' }, + }); + + expect(parseMsgPush(pkt, identity)).toEqual([]); + expect(traceMessages(entries)).toContain( + 'packet_branch serviceCmd="trpc.msg.olpush.OlPushService.MsgPush" seqId=0 branch=push_context_invalid', + ); + } finally { + unsubscribe(); + } + }); + + it('records the precise branch when dropping a genuinely empty message', () => { + const entries: LogEntry[] = []; + setLogLevel('trace'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + + try { + const out = parseMsgPush( + pushPacket({ + responseHead: { fromUin: 10001, fromUid: 'u_x' }, + contentHead: { + msgType: 166, + subType: 0, + sequence: 59962, + timestamp: 1781540572, + msgId: 1963990184, + }, + body: { richText: { elems: [] } }, + }), + identity, + ); + + expect(out).toEqual([]); + expect(traceMessages(entries)).toContain( + 'packet_branch serviceCmd="trpc.msg.olpush.OlPushService.MsgPush" seqId=0 branch=empty_message msgType=166 subType=0 messageSeq=59962', + ); + } finally { + unsubscribe(); + } + }); + + it('keeps a friend message that actually has content', () => { + const out = parseMsgPush( + pushPacket({ + responseHead: { fromUin: 10001, fromUid: 'u_x' }, + contentHead: { + msgType: 166, + subType: 0, + sequence: 32743, + ntMsgSeq: 63214, + timestamp: 1781540572, + msgId: 1, + }, + body: { richText: { elems: [{ text: { str: 'hi' } }] } }, + }), + identity, + ); + expect(out).toHaveLength(1); + expect(out[0]).toMatchObject({ + kind: 'friend_message', + senderUid: 'u_x', + msgSeq: 32743, + ntMsgSeq: 63214, + clientSeq: 32743, + elements: [{ type: 'text', text: 'hi' }], + }); + }); + + it('drops an offline-file download receipt instead of a friend file message (#442)', () => { + const extra = protobuf_encode({ + file: { + fileUuid: 'fid-sent-by-bot', + fileName: 'doc.bin', + fileSize: 6119608n, + subcmd: 1, + downloadFlag: 2, + fileHash: 'abc', + }, + }); + const out = parseMsgPush( + pushPacket({ + responseHead: { fromUin: 10001, fromUid: 'u_x' }, + contentHead: { msgType: 529, subType: 0, sequence: 1, timestamp: 1, msgId: 1 }, + body: { msgContent: extra }, + }), + identity, + ); + expect(out).toEqual([]); + }); + + it('keeps a real incoming c2c file (#442)', () => { + const extra = protobuf_encode({ + file: { + fileType: 1, + fileUuid: 'fid-from-user', + fileName: 'doc.bin', + fileSize: 10n, + subcmd: 1, + }, + }); + const out = parseMsgPush( + pushPacket({ + responseHead: { fromUin: 10001, fromUid: 'u_x' }, + contentHead: { msgType: 529, subType: 0, sequence: 2, timestamp: 1, msgId: 2 }, + body: { msgContent: extra }, + }), + identity, + ); + expect(out).toHaveLength(1); + expect(out[0]).toMatchObject({ + kind: 'friend_message', + elements: [{ type: 'file', fileId: 'fid-from-user', fileName: 'doc.bin' }], + }); + }); + + it.each(['msgContent', 'richText'] as const)( + 'drops a subcommand receipt in %s without a download flag (#477)', + (location) => { + const entries: LogEntry[] = []; + setLogLevel('trace'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + const file = { + fileType: 1, + subcmd: 2, + fileUuid: 'already-sent', + fileName: 'test.json', + fileSize: 42n, + }; + + try { + const out = parseMsgPush( + pushPacket({ + responseHead: { fromUin: 10001, fromUid: 'u_x' }, + contentHead: { + msgType: 529, + subType: 4, + c2cCmd: 4, + sequence: 10, + timestamp: 1, + msgId: 1, + }, + body: + location === 'msgContent' + ? { msgContent: protobuf_encode({ file }) } + : { richText: { notOnlineFile: file } }, + }), + identity, + ); + expect(out).toEqual([]); + expect( + traceMessages(entries).some((message) => + message.includes('branch=offline_file_receipt'), + ), + ).toBe(true); + } finally { + unsubscribe(); + } + }, + ); + + it('records the precise branch for a C2C control push with content', () => { + // 166 + c2c_cmd ∈ {1,73,75,129,131,133,135,192} is a control/system signal + // QQ NT routes via OnRecvSysMsg, never a bubble — drop regardless of body. + const entries: LogEntry[] = []; + setLogLevel('trace'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + + try { + const out = parseMsgPush( + pushPacket({ + responseHead: { fromUin: 10001, fromUid: 'u_x' }, + contentHead: { + msgType: 166, + subType: 0, + c2cCmd: 75, + sequence: 200, + timestamp: 1781540572, + msgId: 3, + }, + body: { richText: { elems: [{ text: { str: 'noise' } }] } }, + }), + identity, + ); + + expect(out).toEqual([]); + expect(traceMessages(entries)).toContain( + 'packet_branch serviceCmd="trpc.msg.olpush.OlPushService.MsgPush" seqId=0 branch=c2c_control_push msgType=166 subType=0 c2cCmd=75 messageSeq=200', + ); + } finally { + unsubscribe(); + } + }); + + it('keeps a normal 166 message whose c2cCmd is not a control command', () => { + const out = parseMsgPush( + pushPacket({ + responseHead: { fromUin: 10001, fromUid: 'u_x' }, + contentHead: { + msgType: 166, + subType: 0, + c2cCmd: 0, + sequence: 201, + timestamp: 1781540572, + msgId: 4, + }, + body: { richText: { elems: [{ text: { str: 'hi' } }] } }, + }), + identity, + ); + expect(out).toHaveLength(1); + expect(out[0]).toMatchObject({ + kind: 'friend_message', + elements: [{ type: 'text', text: 'hi' }], + }); + }); + + it('keeps an empty-decoded message whose body still carried content (missing decoder)', () => { + // A commonElem service type the rich-body decoder ignores → 0 elements, but + // the body was not empty, so the message must survive (and be warned about), + // not be silently dropped. + const out = parseMsgPush( + pushPacket({ + responseHead: { fromUin: 10001, fromUid: 'u_x' }, + contentHead: { + msgType: 166, + subType: 0, + sequence: 101, + timestamp: 1781540572, + msgId: 2, + }, + body: { + richText: { elems: [{ commonElem: { serviceType: 999, businessType: 0 } }] }, + }, + }), + identity, + ); + expect(out).toHaveLength(1); + expect(out[0]).toMatchObject({ kind: 'friend_message', elements: [] }); + }); +}); diff --git a/packages/protocol/tests/msg-push/fetch-c2c-history.test.ts b/packages/protocol/tests/msg-push/fetch-c2c-history.test.ts new file mode 100644 index 00000000..04b68e32 --- /dev/null +++ b/packages/protocol/tests/msg-push/fetch-c2c-history.test.ts @@ -0,0 +1,495 @@ +// Round-trips the SsoGetC2cMsg request/response protos (proton codegen + field +// tags) and the fetched private-history decode path (each returned PushMsgBody +// re-uses the regular friend decoder). + +import { deflateSync } from 'node:zlib'; +import { getLogLevel, setLogLevel, subscribeLogs, type LogEntry } from '@snowluma/common/logger'; +import { afterEach, describe, expect, it } from 'vitest'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { + SsoGetC2cMsg, + SsoGetC2cMsgResponse, + SsoGetRoamMsg, + SsoGetRoamMsgResponse, +} from '@snowluma/proto-defs/get-c2c-msg'; +import type { PushMsgBody } from '@snowluma/proto-defs/message'; +import type { IdentityService } from '../../src/identity-service'; +import { buildContextFromMessage } from '../../src/msg-push/context'; +import { decodeFriendMessage } from '../../src/msg-push/decoders/friend-message'; +import { + MSG_PUSH_CMD, + SSO_GET_C2C_MSG_CMD, + SSO_GET_ROAM_MSG_CMD, + fetchC2cMessageRange, + fetchC2cRoamMessagePage, + parseMsgPushOrThrow, +} from '../../src/msg-push'; +import { m, s, v } from '../oidb-services/_pb-oracle'; + +const identity = { findFriend: () => undefined } as unknown as IdentityService; +const previousLogLevel = getLogLevel(); + +afterEach(() => { + setLogLevel(previousLogLevel); +}); + +function okResult(data: Uint8Array): SendPacketResult { + return { success: true, gotResponse: true, responseData: data } as SendPacketResult; +} + +describe('private auto replies', () => { + it.each([ + { name: 'missing flag', flag: [], text: '稍后联系', expected: undefined }, + { name: 'explicit zero', flag: v(10, 0), text: '[自动回复] 稍后联系', expected: undefined }, + { name: 'set flag', flag: v(10, 1), text: '稍后联系', expected: true }, + { name: 'other nonzero flag', flag: v(10, 2), text: '[自动回复] 稍后联系', expected: true }, + ])( + 'decodes $name from a live push and both history responses', + async ({ flag, text, expected }) => { + const head = [...v(1, 166), ...v(5, 7), ...flag, ...v(11, 42)]; + const textElement = m(1, s(1, text)); + const wireMessage = [ + ...m(1, v(1, 222)), + ...m(2, head), + ...m(3, m(1, m(2, textElement))), + ]; + const live = parseMsgPushOrThrow( + { + pid: 0, + uin: '10001', + serviceCmd: MSG_PUSH_CMD, + seqId: 1, + retCode: 0, + fromClient: false, + body: Buffer.from(m(1, wireMessage)), + }, + identity, + ); + // Both history endpoints carry repeated messages in field 7. + const sender = { sendRawPacket: async () => okResult(Buffer.from(m(7, wireMessage))) }; + const range = await fetchC2cMessageRange(sender, identity, 10001, 'u_friend', 42, 42); + const roam = await fetchC2cRoamMessagePage(sender, identity, 10001, 'u_friend', 100, 1); + + for (const messages of [live, range, roam.messages]) { + expect(messages).toHaveLength(1); + expect(messages[0]).toMatchObject({ + kind: 'friend_message', + elements: [{ type: 'text', text }], + }); + const [event] = messages; + expect(event.kind === 'friend_message' && event.autoReply).toBe(expected); + } + }, + ); +}); + +function inviteCardMessage(sequence: number): PushMsgBody { + const json = JSON.stringify({ + app: 'com.tencent.qun.invite', + meta: { + news: { jumpUrl: `mqqapi://group/invite_join?groupcode=12345&msgseq=${sequence}` }, + }, + }); + const compressed = deflateSync(Buffer.from(json)); + const data = new Uint8Array(compressed.length + 1); + data[0] = 1; + data.set(compressed, 1); + return { + responseHead: { fromUin: 222, forward: { friendName: 'Bob' } }, + contentHead: { + msgType: 166, + sequence, + ntMsgSeq: sequence, + timestamp: 1_700_000_000 + sequence, + msgId: sequence, + }, + body: { richText: { elems: [{ lightApp: { data } }] } }, + }; +} + +describe('fetchC2cMessageRange / SsoGetC2cMsg', () => { + it('sends the right command and request field tags', async () => { + let captured: { cmd: string; body: Uint8Array } | null = null; + const sender = { + sendRawPacket: async (cmd: string, body: Uint8Array) => { + captured = { cmd, body }; + return okResult( + protobuf_encode({ friendUid: 'u_friend', messages: [] }), + ); + }, + }; + + await fetchC2cMessageRange(sender, identity, 10001, 'u_friend', 100, 120); + + expect(captured!.cmd).toBe(SSO_GET_C2C_MSG_CMD); + const req = protobuf_decode(captured!.body); + expect(req.friendUid).toBe('u_friend'); + expect(req.startSequence).toBe(100); + expect(req.endSequence).toBe(120); + }); + + it('decodes returned friend messages (seq/sender/self uin), oldest→newest', async () => { + const resp = protobuf_encode({ + friendUid: 'u_friend', + messages: [ + { + responseHead: { fromUin: 222, forward: { friendName: 'Bob' } }, + contentHead: { + msgType: 166, + sequence: 9120, + ntMsgSeq: 120, + timestamp: 1700000120, + msgId: 7120, + }, + body: { richText: { elems: [{ text: { str: 'hi' } }] } }, + }, + { + responseHead: { fromUin: 111, forward: { friendName: 'Alice' } }, + contentHead: { + msgType: 166, + sequence: 9110, + ntMsgSeq: 110, + timestamp: 1700000110, + msgId: 7110, + }, + body: { richText: { elems: [{ text: { str: 'hi' } }] } }, + }, + { + responseHead: { fromUin: 10001, toUin: 333, forward: { friendName: 'Self' } }, + contentHead: { + msgType: 166, + sequence: 9115, + ntMsgSeq: 115, + timestamp: 1700000115, + msgId: 7115, + }, + body: { richText: { elems: [{ text: { str: 'sent' } }] } }, + }, + ], + }); + const sender = { sendRawPacket: async () => okResult(resp) }; + + const out = await fetchC2cMessageRange(sender, identity, 10001, 'u_friend', 100, 120); + + expect(out.map((m) => m.ntMsgSeq)).toEqual([110, 115, 120]); // sorted by server sequence + expect(out.every((m) => m.kind === 'friend_message')).toBe(true); + expect(out.every((m) => m.selfUin === 10001)).toBe(true); + expect(out[0]).toMatchObject({ + msgSeq: 9110, + ntMsgSeq: 110, + clientSeq: 9110, + senderUin: 111, + senderNick: 'Alice', + }); + expect(out[1]).toMatchObject({ + msgSeq: 9115, + ntMsgSeq: 115, + clientSeq: 9115, + senderUin: 10001, + peerUin: 333, + senderNick: 'Self', + }); + expect(out[2]).toMatchObject({ + msgSeq: 9120, + ntMsgSeq: 120, + clientSeq: 9120, + senderUin: 222, + senderNick: 'Bob', + }); + }); + + it('drops content-less blank messages, keeps real ones (#102 parity)', async () => { + const resp = protobuf_encode({ + friendUid: 'u_friend', + messages: [ + { + // genuinely-blank control push (the invite phantom) → dropped + responseHead: { fromUin: 111, forward: { friendName: 'Alice' } }, + contentHead: { + msgType: 166, + sequence: 9110, + ntMsgSeq: 110, + timestamp: 1700000110, + msgId: 7110, + }, + body: { richText: { elems: [] } }, + }, + { + // real message → kept + responseHead: { fromUin: 222, forward: { friendName: 'Bob' } }, + contentHead: { + msgType: 166, + sequence: 9120, + ntMsgSeq: 120, + timestamp: 1700000120, + msgId: 7120, + }, + body: { richText: { elems: [{ text: { str: 'hi' } }] } }, + }, + ], + }); + const out = await fetchC2cMessageRange( + { sendRawPacket: async () => okResult(resp) }, + identity, + 10001, + 'u_friend', + 100, + 120, + ); + expect(out.map((m) => m.ntMsgSeq)).toEqual([120]); + expect(out[0]).toMatchObject({ senderUin: 222, elements: [{ type: 'text', text: 'hi' }] }); + }); + + it('keeps and warns on a body that had content but decoded to no elements', async () => { + const resp = protobuf_encode({ + friendUid: 'u_friend', + messages: [ + { + responseHead: { fromUin: 222, forward: { friendName: 'Bob' } }, + contentHead: { + msgType: 166, + sequence: 9120, + ntMsgSeq: 120, + timestamp: 1700000120, + msgId: 7120, + }, + body: { + richText: { + elems: [{ commonElem: { serviceType: 999, businessType: 0 } }], + }, + }, + }, + ], + }); + const warnings: string[] = []; + setLogLevel('warn'); + const unsubscribe = subscribeLogs((entry: LogEntry) => { + if (entry.level === 'warn') { + warnings.push(entry.message); + } + }); + + try { + const out = await fetchC2cMessageRange( + { sendRawPacket: async () => okResult(resp) }, + identity, + 10001, + 'u_friend', + 100, + 120, + ); + expect(out).toHaveLength(1); + expect(out[0]).toMatchObject({ kind: 'friend_message', ntMsgSeq: 120, elements: [] }); + expect(warnings.some((message) => message.includes('missing decoder'))).toBe(true); + } finally { + unsubscribe(); + } + }); + + it('rejects a visible message without the canonical NT sequence', async () => { + const resp = protobuf_encode({ + friendUid: 'u_friend', + messages: [ + { + responseHead: { fromUin: 222, forward: { friendName: 'Bob' } }, + contentHead: { + msgType: 166, + sequence: 9120, + timestamp: 1700000120, + msgId: 7120, + }, + body: { richText: { elems: [{ text: { str: 'hi' } }] } }, + }, + ], + }); + + await expect( + fetchC2cMessageRange( + { sendRawPacket: async () => okResult(resp) }, + identity, + 10001, + 'u_friend', + 100, + 120, + ), + ).rejects.toThrow('canonical NT sequence'); + }); + + it('surfaces a failed packet, while invalid input is rejected before sending', async () => { + const failSender = { + sendRawPacket: async () => ({ success: false, gotResponse: false }) as SendPacketResult, + }; + await expect( + fetchC2cMessageRange(failSender, identity, 10001, 'u_x', 100, 120), + ).rejects.toThrow('SsoGetC2cMsg'); + + let sent = false; + const guardSender = { + sendRawPacket: async () => { + sent = true; + return okResult(new Uint8Array()); + }, + }; + expect(await fetchC2cMessageRange(guardSender, identity, 10001, '', 100, 120)).toEqual([]); // empty uid + expect(await fetchC2cMessageRange(guardSender, identity, 10001, 'u_x', 200, 100)).toEqual( + [], + ); // start > end + expect(sent).toBe(false); + }); + + it('rejects a response attributed to a different private peer', async () => { + const response = protobuf_encode({ + friendUid: 'u_other', + messages: [], + }); + await expect( + fetchC2cMessageRange( + { sendRawPacket: async () => okResult(response) }, + identity, + 10001, + 'u_friend', + 100, + 120, + ), + ).rejects.toThrow('friend uid mismatch'); + }); + + it('parses invite-card facts on friend messages without writing Identity', async () => { + const live = buildContextFromMessage(inviteCardMessage(222), 10001, identity, false); + expect(live).not.toBeNull(); + expect(decodeFriendMessage(live!)).toMatchObject([ + { + kind: 'friend_message', + inviteCardGroupUin: 12345, + inviteCardSequence: 222, + }, + ]); + + const historyResponse = protobuf_encode({ + friendUid: 'u_friend', + messages: [inviteCardMessage(111)], + }); + const out = await fetchC2cMessageRange( + { sendRawPacket: async () => okResult(historyResponse) }, + identity, + 10001, + 'u_friend', + 100, + 120, + ); + + expect(out).toMatchObject([ + { + kind: 'friend_message', + inviteCardGroupUin: 12345, + inviteCardSequence: 111, + }, + ]); + }); +}); + +describe('fetchC2cRoamMessagePage / SsoGetRoamMsg', () => { + it('rejects business errors before interpreting an empty history page', async () => { + const response = Buffer.from([...v(1, 123), ...s(2, 'request rejected')]); + await expect( + fetchC2cRoamMessagePage( + { sendRawPacket: async () => okResult(response) }, + identity, + 10001, + 'u_friend', + 1700000100, + 200, + ), + ).rejects.toThrow('result=123 request rejected'); + }); + + it.each([ + { bytes: [...v(1, 100000301)], cursor: { time: 0, random: 0 } }, + { + bytes: [...s(3, 'u_friend'), ...v(4, 1), ...v(5, 1700000000), ...v(6, 77)], + cursor: { time: 1700000000, random: 77 }, + }, + ])('preserves a server-confirmed end of history', async ({ bytes, cursor }) => { + const result = await fetchC2cRoamMessagePage( + { sendRawPacket: async () => okResult(Buffer.from(bytes)) }, + identity, + 10001, + 'u_friend', + 1700000100, + 20, + ); + expect(result).toEqual({ messages: [], cursor, isComplete: true }); + }); + + it('encodes the timestamp cursor and orders both sides by canonical NT sequence', async () => { + let captured: { cmd: string; body: Uint8Array } | null = null; + const response = protobuf_encode({ + friendUid: 'u_friend', + timestamp: 1700000000, + random: 77, + messages: [ + { + responseHead: { fromUin: 10001, toUin: 222, forward: { friendName: 'Self' } }, + contentHead: { + msgType: 166, + sequence: 32743, + ntMsgSeq: 63214, + timestamp: 1700000001, + msgId: 20, + }, + body: { richText: { elems: [{ text: { str: 'out' } }] } }, + }, + { + responseHead: { fromUin: 222, forward: { friendName: 'Bob' } }, + contentHead: { + msgType: 166, + sequence: 32742, + ntMsgSeq: 63213, + timestamp: 1700000002, + msgId: 10, + }, + body: { richText: { elems: [{ text: { str: 'in' } }] } }, + }, + ], + }); + const sender = { + sendRawPacket: async (cmd: string, body: Uint8Array) => { + captured = { cmd, body }; + return okResult(response); + }, + }; + + const page = await fetchC2cRoamMessagePage( + sender, + identity, + 10001, + 'u_friend', + 1700000100, + 20, + 9, + ); + + expect(captured!.cmd).toBe(SSO_GET_ROAM_MSG_CMD); + const request = protobuf_decode(captured!.body); + expect(request).toMatchObject({ + friendUid: 'u_friend', + time: 1700000100, + random: 9, + count: 20, + direction: true, + }); + expect(page.cursor).toEqual({ time: 1700000000, random: 77 }); + expect( + page.messages.map((message) => ({ + sender: message.senderUin, + sequence: message.ntMsgSeq, + messageSequence: message.msgSeq, + clientSequence: message.clientSeq, + })), + ).toEqual([ + { sender: 222, sequence: 63213, messageSequence: 32742, clientSequence: 32742 }, + { sender: 10001, sequence: 63214, messageSequence: 32743, clientSequence: 32743 }, + ]); + }); +}); diff --git a/packages/protocol/tests/msg-push/fetch-group-history.test.ts b/packages/protocol/tests/msg-push/fetch-group-history.test.ts new file mode 100644 index 00000000..574b2006 --- /dev/null +++ b/packages/protocol/tests/msg-push/fetch-group-history.test.ts @@ -0,0 +1,416 @@ +// Round-trips the SsoGetGroupMsg request/response protos (proton codegen + +// field tags) and the fetched-history decode path (each returned PushMsgBody +// re-uses the regular group decoder). + +import { getLogLevel, setLogLevel, subscribeLogs, type LogEntry } from '@snowluma/common/logger'; +import { afterEach, describe, expect, it } from 'vitest'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { SsoGetGroupMsg, SsoGetGroupMsgResponse } from '@snowluma/proto-defs/get-group-msg'; +import type { IdentityService } from '../../src/identity-service'; +import { SSO_GET_GROUP_MSG_CMD, fetchGroupMessageRange } from '../../src/msg-push'; + +const identity = { + findGroupMember: () => undefined, + findGroup: () => null, +} as unknown as IdentityService; +const previousLogLevel = getLogLevel(); + +afterEach(() => { + setLogLevel(previousLogLevel); +}); + +function okResult(data: Uint8Array): SendPacketResult { + return { success: true, gotResponse: true, responseData: data } as SendPacketResult; +} + +describe('fetchGroupMessageRange / SsoGetGroupMsg', () => { + it('sends the right command and request field tags', async () => { + let captured: { cmd: string; body: Uint8Array } | null = null; + const sender = { + sendRawPacket: async (cmd: string, body: Uint8Array) => { + captured = { cmd, body }; + return okResult( + protobuf_encode({ + body: { groupUin: 9999, messages: [] }, + }), + ); + }, + }; + + await fetchGroupMessageRange(sender, identity, 10001, 9999, 100, 120); + + expect(captured!.cmd).toBe(SSO_GET_GROUP_MSG_CMD); + const req = protobuf_decode(captured!.body); + expect(req.info?.groupUin).toBe(9999); + expect(req.info?.startSequence).toBe(100); + expect(req.info?.endSequence).toBe(120); + expect(req.direction).toBe(true); + }); + + it('decodes returned group messages (seq/group/sender, self uin), oldest→newest', async () => { + const resp = protobuf_encode({ + body: { + groupUin: 9999, + startSequence: 100, + endSequence: 120, + messages: [ + { + responseHead: { fromUin: 222, grp: { groupUin: 9999, memberName: 'Bob' } }, + contentHead: { + msgType: 82, + sequence: 120, + timestamp: 1700000120, + msgId: 5120, + }, + body: { richText: { elems: [{ text: { str: 'hi' } }] } }, + }, + { + responseHead: { + fromUin: 111, + grp: { groupUin: 9999, memberName: 'Alice' }, + }, + contentHead: { + msgType: 82, + sequence: 110, + timestamp: 1700000110, + msgId: 5110, + }, + body: { richText: { elems: [{ text: { str: 'hi' } }] } }, + }, + ], + }, + }); + const sender = { sendRawPacket: async () => okResult(resp) }; + + const out = await fetchGroupMessageRange(sender, identity, 10001, 9999, 100, 120); + + expect(out.map((m) => m.msgSeq)).toEqual([110, 120]); // sorted ascending + expect(out.every((m) => m.kind === 'group_message')).toBe(true); + expect(out.every((m) => m.groupId === 9999)).toBe(true); + expect(out.every((m) => m.selfUin === 10001)).toBe(true); + expect(out[0]).toMatchObject({ msgSeq: 110, senderUin: 111, senderNick: 'Alice' }); + expect(out[1]).toMatchObject({ msgSeq: 120, senderUin: 222, senderNick: 'Bob' }); + }); + + it('[#1] prefers the fresher group card in grp.memberCard (field 4) over a stale cache card', async () => { + const stale = { + uin: 222, + uid: '', + nickname: 'BaseNick', + card: 'StaleCard', + role: 'member', + level: 0, + title: '', + joinTime: 0, + lastSentTime: 0, + shutUpTime: 0, + }; + const idWithMember = { + findGroupMember: (_g: number, u: number) => (u === 222 ? stale : undefined), + findGroup: () => null, + } as unknown as IdentityService; + const resp = protobuf_encode({ + body: { + groupUin: 9999, + messages: [ + { + responseHead: { + fromUin: 222, + grp: { groupUin: 9999, memberCard: Buffer.from('FreshCard') }, + }, // field2 empty, field4 = fresh card + contentHead: { + msgType: 82, + sequence: 130, + timestamp: 1700000130, + msgId: 5130, + }, + body: { richText: { elems: [{ text: { str: 'hi' } }] } }, + }, + ], + }, + }); + const out = await fetchGroupMessageRange( + { sendRawPacket: async () => okResult(resp) }, + idWithMember, + 10001, + 9999, + 100, + 140, + ); + // Base nickname from cache; card overridden by the fresher field-4 value. + expect(out[0]).toMatchObject({ + senderUin: 222, + senderNick: 'BaseNick', + senderCard: 'FreshCard', + }); + }); + + it('[#1] keeps the cache card when field 4 equals the base nickname (no active group card)', async () => { + const m = { + uin: 222, + uid: '', + nickname: 'BaseNick', + card: 'CachedCard', + role: 'member', + level: 0, + title: '', + joinTime: 0, + lastSentTime: 0, + shutUpTime: 0, + }; + const id = { + findGroupMember: () => m, + findGroup: () => null, + } as unknown as IdentityService; + const resp = protobuf_encode({ + body: { + groupUin: 9999, + messages: [ + { + responseHead: { + fromUin: 222, + grp: { groupUin: 9999, memberCard: Buffer.from('BaseNick') }, + }, // field4 == base nick → not a card + contentHead: { + msgType: 82, + sequence: 130, + timestamp: 1700000130, + msgId: 5130, + }, + body: { richText: { elems: [{ text: { str: 'hi' } }] } }, + }, + ], + }, + }); + const out = await fetchGroupMessageRange( + { sendRawPacket: async () => okResult(resp) }, + id, + 10001, + 9999, + 100, + 140, + ); + expect(out[0]).toMatchObject({ senderNick: 'BaseNick', senderCard: 'CachedCard' }); + }); + + it('drops content-less blank messages, keeps real ones (#102 parity)', async () => { + const resp = protobuf_encode({ + body: { + groupUin: 9999, + messages: [ + { + // genuinely-blank control push → dropped + responseHead: { + fromUin: 111, + grp: { groupUin: 9999, memberName: 'Alice' }, + }, + contentHead: { + msgType: 82, + sequence: 110, + timestamp: 1700000110, + msgId: 5110, + }, + body: { richText: { elems: [] } }, + }, + { + // real message → kept + responseHead: { fromUin: 222, grp: { groupUin: 9999, memberName: 'Bob' } }, + contentHead: { + msgType: 82, + sequence: 120, + timestamp: 1700000120, + msgId: 5120, + }, + body: { richText: { elems: [{ text: { str: 'hi' } }] } }, + }, + ], + }, + }); + const out = await fetchGroupMessageRange( + { sendRawPacket: async () => okResult(resp) }, + identity, + 10001, + 9999, + 100, + 120, + ); + expect(out.map((m) => m.msgSeq)).toEqual([120]); + expect(out[0]).toMatchObject({ senderUin: 222, elements: [{ type: 'text', text: 'hi' }] }); + }); + + it('keeps and warns on a body that had content but decoded to no elements', async () => { + const resp = protobuf_encode({ + body: { + groupUin: 9999, + messages: [ + { + responseHead: { fromUin: 222, grp: { groupUin: 9999, memberName: 'Bob' } }, + contentHead: { + msgType: 82, + sequence: 120, + timestamp: 1700000120, + msgId: 5120, + }, + body: { + richText: { + elems: [{ commonElem: { serviceType: 999, businessType: 0 } }], + }, + }, + }, + ], + }, + }); + const warnings: string[] = []; + setLogLevel('warn'); + const unsubscribe = subscribeLogs((entry: LogEntry) => { + if (entry.level === 'warn') { + warnings.push(entry.message); + } + }); + + try { + const out = await fetchGroupMessageRange( + { sendRawPacket: async () => okResult(resp) }, + identity, + 10001, + 9999, + 100, + 120, + ); + expect(out).toHaveLength(1); + expect(out[0]).toMatchObject({ kind: 'group_message', msgSeq: 120, elements: [] }); + expect(warnings.some((message) => message.includes('missing decoder'))).toBe(true); + } finally { + unsubscribe(); + } + }); + + it('drops QQ null roam records even when they carry a deleted placeholder (#254)', async () => { + const resp = protobuf_encode({ + body: { + groupUin: 9999, + messages: [ + { + responseHead: { fromUin: 0, grp: { groupUin: 9999 } }, + contentHead: { msgType: 82, sequence: 110, timestamp: 0, msgId: 5110 }, + body: { richText: { elems: [{ text: { str: '[已删除]' } }] } }, + }, + { + responseHead: { fromUin: 222, grp: { groupUin: 9999, memberName: 'Bob' } }, + contentHead: { + msgType: 82, + sequence: 120, + timestamp: 1700000120, + msgId: 5120, + }, + body: { richText: { elems: [{ text: { str: 'hi' } }] } }, + }, + ], + }, + }); + + const out = await fetchGroupMessageRange( + { sendRawPacket: async () => okResult(resp) }, + identity, + 10001, + 9999, + 100, + 120, + ); + + expect(out.map((message) => message.msgSeq)).toEqual([120]); + }); + + it('keeps failed or empty transport responses observable', async () => { + const failSender = { + sendRawPacket: async () => + ({ + success: false, + gotResponse: false, + errorMessage: 'history unavailable', + }) as SendPacketResult, + }; + await expect( + fetchGroupMessageRange(failSender, identity, 10001, 9999, 100, 120), + ).rejects.toThrow('history unavailable'); + + const emptySender = { + sendRawPacket: async () => + ({ + success: true, + gotResponse: false, + }) as SendPacketResult, + }; + await expect( + fetchGroupMessageRange(emptySender, identity, 10001, 9999, 100, 120), + ).rejects.toThrow('response is empty'); + }); + + it('rejects malformed history entries instead of silently omitting them', async () => { + const missingHead = protobuf_encode({ + body: { + groupUin: 9999, + messages: [ + { + responseHead: { fromUin: 222, grp: { groupUin: 9999 } }, + body: { richText: { elems: [{ text: { str: 'missing head' } }] } }, + }, + ], + }, + }); + await expect( + fetchGroupMessageRange( + { sendRawPacket: async () => okResult(missingHead) }, + identity, + 10001, + 9999, + 100, + 120, + ), + ).rejects.toThrow(/message 0 has no content head.*group=9999 range=100-120/); + + const invalidSequence = protobuf_encode({ + body: { + groupUin: 9999, + messages: [ + { + responseHead: { fromUin: 222, grp: { groupUin: 9999 } }, + contentHead: { + msgType: 82, + sequence: 0, + timestamp: 1_700_000_000, + msgId: 1, + }, + body: { richText: { elems: [{ text: { str: 'invalid sequence' } }] } }, + }, + ], + }, + }); + await expect( + fetchGroupMessageRange( + { sendRawPacket: async () => okResult(invalidSequence) }, + identity, + 10001, + 9999, + 100, + 120, + ), + ).rejects.toThrow(/message 0 has invalid sequence 0.*group=9999 range=100-120/); + }); + + it('rejects an out-of-range request before sending', async () => { + // start > end is rejected before any send + let sent = false; + const guardSender = { + sendRawPacket: async () => { + sent = true; + return okResult(new Uint8Array()); + }, + }; + expect(await fetchGroupMessageRange(guardSender, identity, 10001, 9999, 200, 100)).toEqual( + [], + ); + expect(sent).toBe(false); + }); +}); diff --git a/packages/protocol/tests/msg-push/fixtures/issue-358-flash-push.hex b/packages/protocol/tests/msg-push/fixtures/issue-358-flash-push.hex new file mode 100644 index 00000000..88765f88 --- /dev/null +++ b/packages/protocol/tests/msg-push/fixtures/issue-358-flash-push.hex @@ -0,0 +1 @@ +0ad2190a43088dc2daaf0d1218755f5f4b593230365877546767686e5857376954796a4d6718aa1928bec6acea0c3218755f74676a704f715241555444556f784775433953375551123508a601180b2080c4e2e40d28d32230efe2f5d30638015883016080c4e2e48d80808001708201e001d3228002cfb398af8beee6cb711ad3180ad0180a21080010efe2f5d3061880c4e2e40d2000280a300038860140024a06e5ae8be4bd13129916aa039516082d128e160ac5145be997aae4bca05d286d71716170693a2f2f6d61726b646f776e2f6e6f64653f6e6f6465547970653d726963687569266a736f6e3d2537422532326275734964253232253341253232466c6173685472616e7366657225323225324325323274656d706c6174654964253232253341253232666c61736825323225324325323276657273696f6e253232253341322532432532326c61796f7574253232253341253742253232766965774964253232253341253232666c6173685f66696c6525323225324325323277696474682532322533412d322532432532326865696768742532322533412d32253243253232646972656374696f6e253232253341253232686f72697a6f6e74616c2532322532432532326c61796f757425323225334125354225374225323276696577496425323225334125323270726f67726573734c656674253232253243253232766965775479706525323225334125323263697263756c617250726f67726573732532322532432532326865696768742532322533413238253243253232776964746825323225334132382532432532326d617267696e5269676874253232253341382532432532326772617669747925323225334125323263656e746572566572746963616c25323225374425324325374225323276696577496425323225334125323266696c65253232253243253232646972656374696f6e253232253341253232766572746963616c2532322532432532326865696768742532322533412d3225324325323277696474682532322533413236332532432532326c61796f7574253232253341253542253742253232766965774964253232253341253232696d6167652532322532432532327669657754797065253232253341253232696d61676525323225324325323277696474682532322533412d312532432532326865696768742532322533413138302537442532432537422532327669657749642532322533412532327469746c6525323225324325323276696577547970652532322533412532327465787425323225324325323277696474682532322533412d312532432532326865696768742532322533412d322532432532326d617267696e546f7025323225334131322532432532326d617267696e4c65667425323225334131322532432532326d617267696e526967687425323225334131322537442532432537422532327669657749642532322533412532326465736325323225324325323276696577547970652532322533412532327465787425323225324325323277696474682532322533412d312532432532326865696768742532322533412d322532432532326d617267696e4c65667425323225334131322532432532326d617267696e546f70253232253341342532432532326d617267696e526967687425323225334131322537442532432537422532327669657749642532322533412532326469766964657225323225324325323277696474682532322533412d31253243253232686569676874253232253341302e352532432532326d617267696e546f7025323225334131332537442532432537422532327669657749642532322533412532327461696c253232253243253232646972656374696f6e253232253341253232686f72697a6f6e74616c25323225324325323277696474682532322533412d3125324325323268656967687425323225334132322532432532326d617267696e4c65667425323225334131322532432532326c61796f75742532322533412535422537422532327669657749642532322533412532327461696c49636f6e2532322532432532327669657754797065253232253341253232696d6167652532322532432532327769647468253232253341313225324325323268656967687425323225334131322532432532326772617669747925323225334125323263656e746572566572746963616c2532322537442532432537422532327669657749642532322533412532327461696c5465787425323225324325323276696577547970652532322533412532327465787425323225324325323277696474682532322533412d322532432532326865696768742532322533412d322532432532326772617669747925323225334125323263656e746572566572746963616c2532322532432532326d617267696e4c6566742532322533413425374425354425374425354425374425324325374225323276696577496425323225334125323270726f67726573735269676874253232253243253232766965775479706525323225334125323263697263756c617250726f67726573732532322532432532326865696768742532322533413238253243253232776964746825323225334132382532432532326d617267696e4c656674253232253341382532432532326772617669747925323225334125323263656e746572566572746963616c25323225374425354425374425324325323261747472696275746573253232253341253742253232766965774964253232253341253232666c6173685f66696c652532322532432532326174747269627574657325323225334125354225374225323276696577496425323225334125323270726f67726573734c65667425323225324325323270726f67726573732532322533413025324325323273746174652532322533412532326e6f6e652532322532432532326576656e74253232253341253742253232696e697425323225334125374225323276697369626c6543747225323225334125374225323276697369626c652532322533412532322532342532346c65667450726f677265737356697369626c6525323225324325323276697369626c65426568617665253232253341253232676f6e652532322532432532327372632532322533412532323125323225374425374425374425374425324325374225323276696577496425323225334125323266696c652532322532432532327261646975732532322533413130253243253232736368656d612532322533412532326d7171726f75746572253341253246253246666c6173685f7472616e736665722532466f70656e5f66696c6573657425334666696c657365745f69642533445b555549445d253543753030323676657273696f6e2533443125354375303032366368616e6e656c5f69642533443125354375303032367372635f74797065253344696e7465726e616c25354375303032367363656e655f74797065253344312532322532432532326261636b67726f756e64436f6c6f72253232253341253232627562626c655f67756573742532322532432532326576656e74253232253341253742253232696e6974253232253341253742253232726573657457696474682532322533412537422532327769647468253232253341253232253234253234776964746825323225374425374425374425324325323261747472696275746573253232253341253542253742253232766965774964253232253341253232696d6167652532322532432532327372632532322533412532325b454e434f4445445f46494c455f55524c5d122d080110efe2f5d3061a205b905a688f9df43a63efad2259e57cf8a3434019631eabc33000a893aad0e9d220aa191a0218012a195b5151e997aae4bca05d2063707764e688aae59bbe2e7a697030013a740a065b555549445d120e63707764e688aae59bbe2e7a69701897a4b104224f0a325b544f4b454e5d5f743651455768445a4e624577596c764a35726e7035587062616c723265674d7362762d4341514a6e6567120e0802120a5b46494c455f55524c5d1a065b484153485d20aa6c30edccbfd406180312b6010ab30162b0010aad015b20e5afb9e696b9e9809ae8bf875151e997aae4bca0e58f91e98081e69687e4bbb6e7bb99e4bda0efbc8ce8afb7e68993e5bc80e993bee68ea5e69fa5e79c8befbc9a5b46494c455f55524c5d200a20e69bb4e696b05151e7ab8be4baabe5858de8b4b9e69e81e9809fe4b88be8bdbdefbc8ce58d87e7baa7e993bee68ea5efbc9a5b51515f4c494e4b5d20efbc884c696e7578e38081e9b8bfe89299e69a82e4b88de694afe68c81efbc895d124eaa024b080030023a075b544f4b454e5d8801009a01387800c80100f00100f80100900200d80285da8018ca0400d20506088301108201b2060a0a080800100018002000a007cfb398af8beee6cb7112064a0408006000 \ No newline at end of file diff --git a/packages/protocol/tests/msg-push/flash-transfer-decode.test.ts b/packages/protocol/tests/msg-push/flash-transfer-decode.test.ts new file mode 100644 index 00000000..aa7b7694 --- /dev/null +++ b/packages/protocol/tests/msg-push/flash-transfer-decode.test.ts @@ -0,0 +1,242 @@ +import { readFileSync } from 'node:fs'; +import { fileURLToPath } from 'node:url'; +import { describe, expect, it } from 'vitest'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import { decodeRichBody } from '../../src/msg-push/rich-body-decoder'; +import type { MessageBody, PushMsg } from '@snowluma/proto-defs/message'; +import type { MarkdownData } from '@snowluma/proto-defs/action'; + +// Build a svc=45 richui markdown commonElem carrying a FlashTransfer card, the +// way older QQ clients (≤9.9.30) deliver a 闪传 file (#199/#200). +function flashBody(json: unknown): MessageBody { + const markdown = `[闪传](mqqapi://markdown/node?nodeType=richui&json=${encodeURIComponent(JSON.stringify(json))})`; + const pbElem = protobuf_encode({ content: markdown }); + return { + richText: { + elems: [{ commonElem: { serviceType: 45, businessType: 3, pbElem } } as never], + }, + }; +} + +describe('decodeRichBody / 闪传 flash_file (#199/#200)', () => { + it('extracts filesetId, title, sceneType from a nested FlashTransfer card', () => { + const out = decodeRichBody( + flashBody({ + busId: 'FlashTransfer', + templateId: 'flash', + version: 2, + layout: { viewId: 'flash_file', width: -2, height: -2 }, + data: { fileSetId: 'fs-abc-123', title: 'report.pdf', sceneType: 2 }, + }), + true, + ); + expect(out).toEqual([ + { type: 'flash_file', filesetId: 'fs-abc-123', fileName: 'report.pdf', sceneType: 2 }, + ]); + }); + + it('recursive search finds the fields at any depth + accepts the filesetId alias', () => { + const out = decodeRichBody( + flashBody({ + busId: 'FlashTransfer', + templateId: 'flash', + layout: { deep: { nested: { filesetId: 'fs-deep', name: 'a.zip' } } }, + }), + true, + ); + expect(out).toEqual([ + { type: 'flash_file', filesetId: 'fs-deep', fileName: 'a.zip', sceneType: 0 }, + ]); + }); + + it('drops a malformed card that has no fileset identity', () => { + const out = decodeRichBody( + flashBody({ busId: 'FlashTransfer', templateId: 'flash' }), + true, + ); + expect(out).toEqual([]); + }); + + it('does not misclassify a non-FlashTransfer markdown card as flash_file', () => { + const out = decodeRichBody( + flashBody({ busId: 'SomethingElse', templateId: 'button' }), + true, + ); + expect(out.some((e) => e.type === 'flash_file')).toBe(false); + expect(out[0]?.type).toBe('markdown'); + }); +}); + +// Current NT cards (#358) put fileset identity on MarkdownData.extInfo +// (extType=1 / DecodeMdExtInfoFileTransfer) and in the click scheme. The +// richui JSON no longer has `data.fileSetId`. +function currentNtFlashBody( + json: unknown, + ext?: MarkdownData['extInfo'], + summary?: string, +): MessageBody { + const markdown = `[闪传](mqqapi://markdown/node?nodeType=richui&json=${encodeURIComponent(JSON.stringify(json))})`; + const pbElem = protobuf_encode({ + content: markdown, + summary, + extType: ext ? 1 : undefined, + extInfo: ext, + }); + return { + richText: { + elems: [{ commonElem: { serviceType: 45, businessType: 3, pbElem } } as never], + }, + }; +} + +const currentNtCardJson = { + busId: 'FlashTransfer', + templateId: 'flash', + version: 2, + layout: { viewId: 'flash_file', width: -2, height: -2, direction: 'horizontal' }, + attributes: { + viewId: 'flash_file', + attributes: [ + { + viewId: 'file', + scheme: 'mqqrouter://flash_transfer/open_fileset?fileset_id=fs-nt-358&version=1&channel_id=1&src_type=internal&scene_type=1', + }, + ], + }, +}; + +describe('decodeRichBody / 闪传 flash_file (#358 current NT card)', () => { + it('reads filesetId and name from markdown extInfo when the JSON has no data.fileSetId', () => { + const out = decodeRichBody( + currentNtFlashBody( + currentNtCardJson, + { + filesetId: 'fs-nt-358', + name: 'cpwd截图.zip', + fileSize: 9196055, + expireTime: 1787815533, + }, + '[QQ闪传] cpwd截图.zip', + ), + true, + ); + expect(out).toEqual([ + { + type: 'flash_file', + filesetId: 'fs-nt-358', + fileName: 'cpwd截图.zip', + sceneType: 1, + }, + ]); + }); + + it('reads the cover URL from extInfo.thumbnail', () => { + const out = decodeRichBody( + currentNtFlashBody(currentNtCardJson, { + filesetId: 'fs-nt-358', + name: 'a.zip', + thumbnail: { + download: { field1: 2, downloadUrl: 'https://example.test/cover.jpg' }, + }, + }), + true, + ); + expect(out).toEqual([ + { + type: 'flash_file', + filesetId: 'fs-nt-358', + fileName: 'a.zip', + sceneType: 1, + thumbUrl: 'https://example.test/cover.jpg', + }, + ]); + }); + + it('falls back to the open_fileset scheme when extInfo is absent', () => { + const out = decodeRichBody(currentNtFlashBody(currentNtCardJson), true); + expect(out).toEqual([ + { + type: 'flash_file', + filesetId: 'fs-nt-358', + fileName: '', + sceneType: 1, + }, + ]); + }); + + it('still decodes from extInfo when the richui JSON is truncated', () => { + const markdown = + '[闪传](mqqapi://markdown/node?nodeType=richui&json=%7B%22busId%22%3A%22FlashTransfer%22%2C%22src%22%3A%22'; + const pbElem = protobuf_encode({ + content: markdown, + summary: '[QQ闪传] report.pdf', + extType: 1, + extInfo: { filesetId: 'fs-from-ext', name: 'report.pdf' }, + }); + const out = decodeRichBody( + { + richText: { + elems: [{ commonElem: { serviceType: 45, businessType: 3, pbElem } } as never], + }, + }, + true, + ); + expect(out).toEqual([ + { + type: 'flash_file', + filesetId: 'fs-from-ext', + fileName: 'report.pdf', + sceneType: 0, + }, + ]); + }); + + it('drops the compatibility text sibling after a successful flash_file decode', () => { + const markdown = `[闪传](mqqapi://markdown/node?nodeType=richui&json=${encodeURIComponent(JSON.stringify(currentNtCardJson))})`; + const pbElem = protobuf_encode({ + content: markdown, + extType: 1, + extInfo: { filesetId: 'fs-nt-358', name: 'a.zip' }, + }); + const out = decodeRichBody( + { + richText: { + elems: [ + { commonElem: { serviceType: 45, businessType: 3, pbElem } } as never, + { text: { str: '[闪传]' } } as never, + ], + }, + }, + true, + ); + expect(out).toEqual([ + { + type: 'flash_file', + filesetId: 'fs-nt-358', + fileName: 'a.zip', + sceneType: 1, + }, + ]); + }); + + it('decodes the sanitized #358 C2C push (extInfo + open_fileset scheme)', () => { + const hex = readFileSync( + fileURLToPath(new URL('./fixtures/issue-358-flash-push.hex', import.meta.url)), + 'utf8', + ).trim(); + const push = protobuf_decode(Buffer.from(hex, 'hex')); + const out = decodeRichBody(push.message?.body, false); + // Reporter redacted the richui JSON (unterminated src), so scene_type + // cannot be recovered from the scheme. extInfo still supplies fileset + name + // and the cover URL (placeholder). + expect(out).toEqual([ + { + type: 'flash_file', + filesetId: '[UUID]', + fileName: 'cpwd截图.zip', + sceneType: 0, + thumbUrl: '[FILE_URL]', + }, + ]); + }); +}); diff --git a/packages/protocol/tests/msg-push/friend-poke.test.ts b/packages/protocol/tests/msg-push/friend-poke.test.ts new file mode 100644 index 00000000..80424476 --- /dev/null +++ b/packages/protocol/tests/msg-push/friend-poke.test.ts @@ -0,0 +1,75 @@ +import type { PacketInfo } from '@snowluma/common/protocol-types'; +import type { PushMsg } from '@snowluma/proto-defs/message'; +import type { GeneralGrayTipInfo } from '@snowluma/proto-defs/notify'; +import { protobuf_encode } from '@snowluma/proton'; +import { describe, expect, it } from 'vitest'; + +import { IdentityService } from '../../src/identity-service'; +import { parseMsgPush } from '../../src/msg-push'; + +const SELF_UIN = 10001; +const FRIEND_A = 20001; +const FRIEND_B = 20002; + +const identity = IdentityService.memory(String(SELF_UIN)); + +function friendPokePacket(peerUin: number, senderUin: number, targetUin: number): PacketInfo { + const sentBySelf = senderUin === SELF_UIN; + const grayTip = protobuf_encode({ + busiType: 12n, + msgTemplParam: [ + { name: 'uin_str1', value: String(senderUin) }, + { name: 'uin_str2', value: String(targetUin) }, + { name: 'action_str', value: '拍了拍' }, + { name: 'suffix_str', value: '一下' }, + ], + }); + const body = protobuf_encode({ + message: { + responseHead: sentBySelf + ? { fromUin: SELF_UIN, toUin: peerUin } + : { fromUin: peerUin, toUin: SELF_UIN }, + contentHead: { + msgType: 528, + subType: 290, + timestamp: 1710000000, + }, + body: { msgContent: grayTip }, + }, + }); + return { + pid: 1, + uin: String(SELF_UIN), + serviceCmd: 'trpc.msg.olpush.OlPushService.MsgPush', + seqId: 1, + retCode: 0, + fromClient: false, + body, + }; +} + +describe('parseMsgPush — private poke conversation identity (#285)', () => { + it('preserves the private peer independently of the poke sender and target', () => { + const events = [ + ...parseMsgPush(friendPokePacket(FRIEND_A, SELF_UIN, SELF_UIN), identity), + ...parseMsgPush(friendPokePacket(FRIEND_B, SELF_UIN, SELF_UIN), identity), + ...parseMsgPush(friendPokePacket(FRIEND_B, FRIEND_B, SELF_UIN), identity), + ]; + + expect( + events.map((event) => { + const poke = event as unknown as Record; + return { + kind: poke.kind, + peerUin: poke.peerUin, + senderUin: poke.senderUin, + targetUin: poke.targetUin, + }; + }), + ).toEqual([ + { kind: 'friend_poke', peerUin: FRIEND_A, senderUin: SELF_UIN, targetUin: SELF_UIN }, + { kind: 'friend_poke', peerUin: FRIEND_B, senderUin: SELF_UIN, targetUin: SELF_UIN }, + { kind: 'friend_poke', peerUin: FRIEND_B, senderUin: FRIEND_B, targetUin: SELF_UIN }, + ]); + }); +}); diff --git a/packages/protocol/tests/msg-push/group-join-request-invitee.test.ts b/packages/protocol/tests/msg-push/group-join-request-invitee.test.ts new file mode 100644 index 00000000..9360ec3b --- /dev/null +++ b/packages/protocol/tests/msg-push/group-join-request-invitee.test.ts @@ -0,0 +1,97 @@ +import type { GroupInvitation, GroupInvite } from '@snowluma/proto-defs/notify'; +import { protobuf_encode } from '@snowluma/proton'; +import { describe, expect, it } from 'vitest'; + +import { IdentityService } from '../../src/identity-service'; +import type { MsgPushContext } from '../../src/msg-push/context'; +import { + decodeGroupInvitation, + decodeGroupInvite, +} from '../../src/msg-push/decoders/group-join-request'; + +const SELF_UIN = 10001; +const GROUP_ID = 12345; + +function ctx( + content: Uint8Array, + identity = IdentityService.memory(String(SELF_UIN)), +): MsgPushContext { + return { + head: { + msgType: 33, + subType: 0, + c2cCmd: 0, + sequence: 1, + ntMsgSeq: 0, + timestamp: 1_710_000_000, + msgId: 1, + }, + fromUin: GROUP_ID, + fromUid: '', + selfUin: SELF_UIN, + content, + body: undefined, + responseHead: undefined, + identity, + isHistorical: false, + }; +} + +describe('group invitation push carries the invitee (#394)', () => { + it('ignores unrelated notification commands', () => { + const content = protobuf_encode({ + cmd: 86, + info: { + inner: { + groupUin: GROUP_ID, + targetUid: 'u_invitee', + invitorUid: 'u_inviter', + }, + }, + }); + + expect(decodeGroupInvitation(ctx(content))).toEqual([]); + }); + + it('keeps the inviter as from* and the invitee as invited*', () => { + const identity = IdentityService.memory(String(SELF_UIN)); + identity.rememberRequestIdentity({ uid: 'u_inviter', uin: 456, source: 'group_request' }); + identity.rememberRequestIdentity({ uid: 'u_invitee', uin: 789, source: 'group_request' }); + const content = protobuf_encode({ + cmd: 87, + info: { + inner: { + groupUin: GROUP_ID, + targetUid: 'u_invitee', + invitorUid: 'u_inviter', + }, + }, + }); + + const [event] = decodeGroupInvitation(ctx(content, identity)); + expect(event).toMatchObject({ + kind: 'group_invite', + groupId: GROUP_ID, + fromUin: 456, + fromUid: 'u_inviter', + invitedUin: 789, + invitedUid: 'u_invitee', + subType: 'invite', + }); + }); + + it('treats a self-invite as inviting the logged-in account', () => { + const content = protobuf_encode({ + groupUin: GROUP_ID, + invitorUid: 'u_inviter', + }); + + const [event] = decodeGroupInvite(ctx(content)); + expect(event).toMatchObject({ + kind: 'group_invite', + fromUid: 'u_inviter', + invitedUin: SELF_UIN, + subType: 'invite', + }); + }); +}); diff --git a/packages/protocol/tests/msg-push/registry-trace.test.ts b/packages/protocol/tests/msg-push/registry-trace.test.ts new file mode 100644 index 00000000..7c9e9120 --- /dev/null +++ b/packages/protocol/tests/msg-push/registry-trace.test.ts @@ -0,0 +1,77 @@ +import { getLogLevel, setLogLevel, subscribeLogs, type LogEntry } from '@snowluma/common/logger'; +import type { IdentityService } from '@snowluma/protocol/identity-service'; +import type { MsgPushContext } from '@snowluma/protocol/msg-push/context'; +import { PkgType } from '@snowluma/protocol/msg-push/enums'; +import { MsgPushRegistry } from '@snowluma/protocol/msg-push/registry'; +import { afterEach, describe, expect, it } from 'vitest'; + +const previousLogLevel = getLogLevel(); + +afterEach(() => { + setLogLevel(previousLogLevel); +}); + +function context(msgType: number): MsgPushContext { + return { + head: { + msgType, + subType: 7, + c2cCmd: 0, + sequence: 88, + ntMsgSeq: 0, + timestamp: 1, + msgId: 2, + }, + fromUin: 20002, + fromUid: 'u_peer', + selfUin: 10001, + content: new Uint8Array(0), + body: undefined, + responseHead: undefined, + identity: {} as IdentityService, + isHistorical: false, + }; +} + +function traceMessages(entries: LogEntry[]): string[] { + return entries.filter((entry) => entry.level === 'trace').map((entry) => entry.message); +} + +describe('MsgPushRegistry TRACE branches', () => { + it('records an unregistered decoder with its message identity', () => { + const entries: LogEntry[] = []; + setLogLevel('trace'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + + try { + const registry = new MsgPushRegistry(); + + expect(registry.decode(context(9999))).toEqual([]); + expect(traceMessages(entries)).toContain( + 'packet_branch branch=decoder_unregistered msgType=9999 subType=7 messageSeq=88', + ); + } finally { + unsubscribe(); + } + }); + + it('records a decoder exception before failing open', () => { + const entries: LogEntry[] = []; + setLogLevel('trace'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + + try { + const registry = new MsgPushRegistry(); + registry.register(PkgType.PrivateMessage, () => { + throw new Error('fixture decode failed'); + }); + + expect(registry.decode(context(PkgType.PrivateMessage))).toEqual([]); + expect(traceMessages(entries)).toContain( + 'packet_branch branch=decoder_exception msgType=166 subType=7 messageSeq=88 error="fixture decode failed"', + ); + } finally { + unsubscribe(); + } + }); +}); diff --git a/packages/protocol/tests/msg-push/rich-body-decoder.test.ts b/packages/protocol/tests/msg-push/rich-body-decoder.test.ts new file mode 100644 index 00000000..c0fa8edd --- /dev/null +++ b/packages/protocol/tests/msg-push/rich-body-decoder.test.ts @@ -0,0 +1,1675 @@ +// Receive-side decode for `com.tencent.multimsg` LightApp — verifies +// the inverse of element-builder.makeForwardElem so a forward sent by +// SnowLuma (or any QQ-NT / Lagrange / NapCat client) round-trips +// back to `{type: 'forward', resId, forwardUuid}` on the receiver. +// +// Without this the receiver-side decoder sees `lightApp` and falls +// back to a generic `{type: 'json', text: }` element, which +// means the OneBot layer can't surface a forward bubble OR walk into +// the nested forward via fetch(resId). + +import { describe, expect, it } from 'vitest'; +import { deflateSync } from 'zlib'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import { getLogLevel, setLogLevel, subscribeLogs } from '@snowluma/common/logger'; +import { decodeRichBody, hasDecodableContent } from '../../src/msg-push/rich-body-decoder'; +import { MAX_RICH_CARD_OUTPUT_BYTES } from '../../src/msg-push/helpers'; +import { buildSendElems } from '../../src/element-builder'; +import { assertValidMessageElement } from '../../src/element-manifest'; +import type { MessageElement } from '../../src/events'; +import type { MessageBody } from '@snowluma/proto-defs/message'; +import type { + Elem, + MsgInfo, + QFaceExtra, + SrcMsgPbReserve, + TextElem, +} from '@snowluma/proto-defs/element'; +import { imageUrlFromMd5, makeImageUrl, ntImageUrlFromFileId } from '../../src/msg-push/helpers'; + +function lightAppBytes(json: unknown): Uint8Array { + const buf = deflateSync(Buffer.from(JSON.stringify(json), 'utf8')); + const out = new Uint8Array(buf.length + 1); + out[0] = 0x01; // deflate prefix + out.set(buf, 1); + return out; +} + +function varint(value: number): number[] { + const out: number[] = []; + let current = value >>> 0; + + do { + let byte = current & 0x7f; + current >>>= 7; + + if (current !== 0) { + byte |= 0x80; + } + + out.push(byte); + } while (current !== 0); + + return out; +} + +function lengthDelimited(fieldNumber: number, payload: Uint8Array): Uint8Array { + return Uint8Array.from([ + ...varint((fieldNumber << 3) | 2), + ...varint(payload.length), + ...payload, + ]); +} + +function xmlCardBody(xml: string, serviceId = 0): MessageBody { + return { + richText: { + elems: [ + { + richMsg: { + serviceId, + template1: Buffer.concat([Buffer.from([0]), Buffer.from(xml, 'utf8')]), + }, + }, + ], + }, + }; +} + +describe('decodeRichBody / XML forward attributes', () => { + it('round-trips escaped resource IDs through the real sender and receiver', async () => { + const resId = 'res&<>"\'<\t\n\r中文😀end'; + const elems = await buildSendElems([{ type: 'forward', resId }]); + const body = protobuf_decode( + protobuf_encode({ richText: { elems } }), + ); + expect(decodeRichBody(body, true)).toEqual([ + { type: 'forward', resId, forwardUuid: expect.any(String) }, + ]); + }); + + it.each([0, 35])( + 'reads quoted root attributes and decodes entities once (service=%s)', + (serviceId) => { + const xml = + '\uFEFF ' + + '"; + expect(decodeRichBody(xmlCardBody(xml, serviceId), true)).toEqual([ + { + type: 'forward', + resId: 'res&<>"\'<', + forwardUuid: 'key\t\n\r🙂', + }, + ]); + }, + ); + + it.each([0, 35])( + 'uses a MultiMsg filename as the forward id when m_resid is absent (service=%s)', + (serviceId) => { + const uuid = 'C125CE25-AE7E-4E1A-ABDC-9750918162EB'; + const fileName = `MultiMsg_${uuid}`; + const xml = + '`; + expect(decodeRichBody(xmlCardBody(xml, serviceId), true)).toEqual([ + { type: 'forward', resId: fileName, forwardUuid: fileName }, + ]); + }, + ); + + it.each([ + '', + '', + '', + ])('preserves an unrecognised resid-less XML card: %s', (xml) => { + expect(decodeRichBody(xmlCardBody(xml), true)).toEqual([ + { type: 'xml', text: xml, subType: 0 }, + ]); + }); + + it.each([ + 'serviceID="35" m_resid="fake"', + '', + '', + '', + '', + ' ?>', + ']]>', + '', + '', + '', + '', + '', + '', + ])( + 'preserves XML when forward attributes are not an unambiguous root declaration: %s', + (xml) => { + expect(decodeRichBody(xmlCardBody(xml), true)).toEqual([ + { type: 'xml', text: xml, subType: 0 }, + ]); + }, + ); + + it.each([0, 35])('does not borrow a child resource ID (service=%s)', (serviceId) => { + const xml = ''; + expect(decodeRichBody(xmlCardBody(xml, serviceId), true)).toEqual([ + { type: 'xml', text: xml, subType: serviceId }, + ]); + }); + + it('preserves an explicit non-forward protocol type', () => { + const xml = ''; + expect(decodeRichBody(xmlCardBody(xml, 2), true)).toEqual([ + { type: 'xml', text: xml, subType: 2 }, + ]); + }); + + it.each(['&unknown;', '�', '�', '�', '&'])( + 'preserves XML rather than inventing a lookup key for invalid entity %s', + (entity) => { + const xml = ``; + expect(decodeRichBody(xmlCardBody(xml, 35), true)).toEqual([ + { type: 'xml', text: xml, subType: 35 }, + ]); + }, + ); +}); + +describe('decodeRichBody / forward LightApp', () => { + it('emits {type:"forward", resId, forwardUuid} for com.tencent.multimsg', () => { + const body: MessageBody = { + richText: { + elems: [ + { + lightApp: { + data: lightAppBytes({ + app: 'com.tencent.multimsg', + meta: { detail: { resid: 'inner-res-1', uniseq: 'uuid-1' } }, + }), + }, + } as any, + ], + }, + }; + const out = decodeRichBody(body, true); + expect(out).toEqual([{ type: 'forward', resId: 'inner-res-1', forwardUuid: 'uuid-1' }]); + }); + + it('omits forwardUuid when the sender did not set uniseq (XML-era forwards)', () => { + const body: MessageBody = { + richText: { + elems: [ + { + lightApp: { + data: lightAppBytes({ + app: 'com.tencent.multimsg', + meta: { detail: { resid: 'only-resid' } }, + }), + }, + } as any, + ], + }, + }; + const out = decodeRichBody(body, true); + expect(out).toEqual([{ type: 'forward', resId: 'only-resid' }]); + }); + + it('falls back to {type:"json"} for non-multimsg LightApp (e.g. mini-app card)', () => { + const body: MessageBody = { + richText: { + elems: [ + { + lightApp: { + data: lightAppBytes({ app: 'com.tencent.miniapp_01', meta: {} }), + }, + } as any, + ], + }, + }; + const out = decodeRichBody(body, true); + expect(out).toHaveLength(1); + expect(out[0]!.type).toBe('json'); + expect(typeof (out[0] as any).text).toBe('string'); + }); + + // [#146] A QQ mini-program / ark share (e.g. a B站 video card) arrives as a + // `lightApp` ark element followed by a plain `text` element carrying QQ's + // graceful-degradation compat string ("当前QQ版本不支持此应用,请升级") — the + // text the protocol attaches for clients too old to render the ark. QQ NT and + // the kernel-backed bridges (NapCat) drop it and surface only the card. The + // captured wire is exactly: [lightApp, text(fallback), generalFlags, {}, extraInfo]. + it('[#146] drops QQ ark-compat fallback text sibling of a mini-app card', () => { + const ark = { + app: 'com.tencent.miniapp_01', + prompt: '[QQ小程序]【危机合约】平民3人50', + meta: { + detail_1: { appid: '1109937557', title: '哔哩哔哩', desc: '【危机合约】平民3人50' }, + }, + }; + const body: MessageBody = { + richText: { + elems: [ + { lightApp: { data: lightAppBytes(ark) } } as any, + { text: { str: '当前QQ版本不支持此应用,请升级' } } as any, + { generalFlags: {} } as any, + {} as any, + { extraInfo: {} } as any, + ], + }, + }; + const out = decodeRichBody(body, true); + expect(out).toHaveLength(1); + expect(out[0]!.type).toBe('json'); + expect(JSON.parse((out[0] as any).text).meta.detail_1.title).toBe('哔哩哔哩'); + }); + + // RE of wrapper.linux.node confirmed QQ's kernel codec (msg_codec_mgr) has no + // fallback strings and collapses a card message to a single ark element — + // ANY sibling plain text is dropped, not just the known compat string. We + // mirror that structural rule rather than content-matching (which would break + // when Tencent reworded the string). NapCat shows the same: it maps kernel + // elements 1:1, and the kernel already dropped the text. + it('[#146] drops any sibling plain text beside a card (structural, matches QQ kernel)', () => { + const body: MessageBody = { + richText: { + elems: [ + { + lightApp: { + data: lightAppBytes({ app: 'com.tencent.miniapp_01', meta: {} }), + }, + } as any, + { text: { str: '快看这个视频' } } as any, + ], + }, + }; + const out = decodeRichBody(body, true); + expect(out.map((e) => e.type)).toEqual(['json']); + }); + + // Scope guard: only PLAIN text is dropped beside a card. A real @ mention + // (non-zero uin) is not plain text and must survive. + it('[#146] keeps a genuine @ mention beside a card', () => { + const body: MessageBody = { + richText: { + elems: [ + { + lightApp: { + data: lightAppBytes({ app: 'com.tencent.miniapp_01', meta: {} }), + }, + } as any, + { + text: { + str: '@someone', + attr6Buf: new Uint8Array([ + 0, 1, 0, 0, 0, 0, 0, 0, 0x12, 0x34, 0x56, 0x78, 0, + ]), + }, + } as any, + ], + }, + }; + const out = decodeRichBody(body, true); + expect(out.map((e) => e.type)).toEqual(['json', 'at']); + }); + + it('falls back to {type:"json"} when com.tencent.multimsg is missing resid (malformed)', () => { + const body: MessageBody = { + richText: { + elems: [ + { + lightApp: { + data: lightAppBytes({ + app: 'com.tencent.multimsg', + meta: { detail: {} }, + }), + }, + } as any, + ], + }, + }; + const out = decodeRichBody(body, true); + expect(out).toHaveLength(1); + expect(out[0]!.type).toBe('json'); + }); + + it.each([false, true])( + 'preserves the XML forward filename for nested lookup (compressed=%s, #529)', + (compressed) => { + const xml = Buffer.from( + '', + ); + const body: MessageBody = { + richText: { + elems: [ + { + richMsg: { + serviceId: 35, + template1: Buffer.concat([ + Buffer.from([compressed ? 1 : 0]), + compressed ? deflateSync(xml) : xml, + ]), + }, + }, + ], + }, + }; + + expect(decodeRichBody(body, true)).toEqual([ + { type: 'forward', resId: 'inner-xml-res', forwardUuid: 'inner-xml-key' }, + ]); + }, + ); + + it('still decodes the legacy richMsg serviceID=35 path (backward compat with mobile QQ)', () => { + // Older clients (and some bridges) still emit the m_resid XML + // shape. The decoder must keep treating it as a forward element + // so SnowLuma can fetch the resid downstream. + const xml = ''; + const xmlBuf = new Uint8Array(xml.length + 1); + xmlBuf[0] = 0x00; + xmlBuf.set(new TextEncoder().encode(xml), 1); + + const body: MessageBody = { + richText: { + elems: [ + { + richMsg: { serviceId: 35, template1: xmlBuf }, + } as any, + ], + }, + }; + const out = decodeRichBody(body, true); + expect(out).toHaveLength(1); + expect(out[0]).toMatchObject({ type: 'forward', resId: 'legacy-res' }); + }); +}); + +// Market face (商城表情): decode the wire `marketFace` element into the +// `emoji_id`/`emoji_package_id`/`key` markers, and round-trip an mface element +// back through the real proton codegen (faceId hex bytes + pbReserve) so a +// sticker SnowLuma re-sends decodes identically on the receiver. +describe('decodeRichBody / market face', () => { + const EMOJI_ID = '235a82d9c0acd2e2db6e0b94e1a1c4f3'; + + it('decodes a wire marketFace into an mface element (emojiId = lowercase hex of faceId)', () => { + const body: MessageBody = { + richText: { + elems: [ + { + marketFace: { + faceName: '可爱', + faceId: Buffer.from(EMOJI_ID, 'hex'), + tabId: 12, + key: 'abc', + }, + } as any, + ], + }, + }; + const out = decodeRichBody(body, true); + expect(out).toEqual([ + { + type: 'mface', + text: '可爱', + emojiId: EMOJI_ID, + emojiPackageId: 12, + emojiKey: 'abc', + }, + ]); + }); + + it('round-trips an mface element → wire → element through real proton codegen', async () => { + const el: MessageElement = { + type: 'mface', + text: '可爱', + emojiId: EMOJI_ID, + emojiPackageId: 12, + emojiKey: 'abc', + }; + const elems = await buildSendElems([el]); + const wire = protobuf_encode({ richText: { elems: elems as any } }); + const decoded = protobuf_decode(wire); + expect(decodeRichBody(decoded, true)).toEqual([el]); + }); +}); + +describe('decodeRichBody / decoded element contract', () => { + it('[#291] prefers a decoded C2C media record over the empty legacy PTT placeholder', () => { + const fileHash = '469e23ff66ae3ebbf4c78d616e0df18b'; + const fileSha1 = 'a00c7fbe3bfa92773ae17a2f6d381375810972e2'; + const encoded = protobuf_encode({ + richText: { + elems: [ + { + commonElem: { + serviceType: 48, + businessType: 22, + pbElem: protobuf_encode({ + msgInfoBody: [ + { + index: { + fileUuid: 'voice-uuid', + storeId: 1, + uploadTime: 1785116936, + ttl: 604800, + info: { + fileName: `${fileHash}.amr`, + fileSize: 2015, + fileHash, + fileSha1, + time: 1, + type: { type: 3, voiceFormat: 1 }, + }, + }, + }, + ], + }), + }, + }, + ], + ptt: {}, + }, + }); + + const out = decodeRichBody(protobuf_decode(encoded), false); + + expect(out).toHaveLength(1); + expect(out[0]).toMatchObject({ + type: 'record', + fileName: `${fileHash}.amr`, + fileId: 'voice-uuid', + fileSize: 2015, + duration: 1, + voiceFormat: 1, + md5Hex: fileHash, + sha1Hex: fileSha1, + }); + }); + + it('omits an absent PTT fingerprint instead of emitting an invalid empty hash', () => { + const body: MessageBody = { + richText: { + ptt: { + fileName: 'voice.silk', + fileSize: 12, + time: 1, + fileMd5: new Uint8Array(), + }, + }, + } as any; + const out = decodeRichBody(body, true); + expect(out).toHaveLength(1); + expect(out[0]).not.toHaveProperty('md5Hex'); + expect(() => assertValidMessageElement(out[0], 'D')).not.toThrow(); + }); +}); + +// Reply identity for c2c: the replied-to sequence is srcMsg.origSeqs[0] for BOTH +// group and c2c. On-target capture (#114 / #124) proved origSeqs[0] equals the +// quoted message's head.sequence — i.e. the seq its message_id is hashed from — +// while pbReserve.friendSequence is a small friend-relationship counter that does +// NOT match (e.g. 25 vs a head.sequence of 12707). Reading friendSequence made +// reply.id != the quoted message_id, so get_msg(reply_id) missed. +describe('decodeRichBody / reply uses origSeqs[0] for c2c', () => { + const CLIENT_SEQ = 23188; // origSeqs[0] — the quoted message's head.sequence + const FRIEND_SEQ = 888; // pbReserve.friendSequence — a small unrelated counter, ignored + + function replyBody(): MessageBody { + return { + richText: { + elems: [ + { + srcMsg: { + origSeqs: [CLIENT_SEQ], + pbReserve: protobuf_encode({ + friendSequence: FRIEND_SEQ, + }), + }, + } as any, + ], + }, + }; + } + + it('c2c: replySeq = origSeqs[0], not friendSequence (#114/#124)', () => { + expect(decodeRichBody(replyBody(), false)).toContainEqual({ + type: 'reply', + replySeq: CLIENT_SEQ, + }); + expect(FRIEND_SEQ).not.toBe(CLIENT_SEQ); // guard: the two must differ for this to mean anything + }); + + it('group: replySeq = origSeqs[0] (friendSequence ignored)', () => { + expect(decodeRichBody(replyBody(), true)).toContainEqual({ + type: 'reply', + replySeq: CLIENT_SEQ, + }); + }); + + it('c2c without a reserve: falls back to origSeqs[0]', () => { + const body: MessageBody = { + richText: { elems: [{ srcMsg: { origSeqs: [CLIENT_SEQ] } } as any] }, + }; + expect(decodeRichBody(body, false)).toContainEqual({ type: 'reply', replySeq: CLIENT_SEQ }); + }); +}); + +describe('decodeRichBody / unknown wire element observability', () => { + it('does not report Proton materialized null fields as wire elements', () => { + const previousLevel = getLogLevel(); + const captured: Array<{ scope: string; message: string }> = []; + setLogLevel('debug'); + const unsubscribe = subscribeLogs((entry) => captured.push(entry)); + + try { + const encoded = protobuf_encode({ + richText: { elems: [{ text: { str: 'known text' } }] }, + }); + const decodedBody = protobuf_decode(encoded); + expect(decodeRichBody(decodedBody, true)).toEqual([ + { type: 'text', text: 'known text' }, + ]); + } finally { + unsubscribe(); + setLogLevel(previousLevel); + } + + expect(captured.filter((entry) => entry.scope === 'MsgPush.UnknownElement')).toEqual([]); + }); + + it('records a service-48 CommonElem with an unknown business type', () => { + const previousLevel = getLogLevel(); + const captured: Array<{ scope: string; message: string }> = []; + setLogLevel('debug'); + const unsubscribe = subscribeLogs((entry) => captured.push(entry)); + + try { + const body: MessageBody = { + richText: { + elems: [ + { + commonElem: { + serviceType: 48, + businessType: 99, + pbElem: protobuf_encode({}), + }, + }, + ], + }, + }; + expect(decodeRichBody(body, true)).toEqual([]); + } finally { + unsubscribe(); + setLogLevel(previousLevel); + } + + expect(captured).toContainEqual( + expect.objectContaining({ + scope: 'MsgPush.UnknownElement', + message: expect.stringContaining( + 'serviceType=48 businessType=99 reason=no recognized MessageElement payload', + ), + }), + ); + }); + + it('fails open and records the unsupported wire field plus reason', () => { + const previousLevel = getLogLevel(); + const captured: Array<{ scope: string; message: string }> = []; + setLogLevel('debug'); + const unsubscribe = subscribeLogs((entry) => captured.push(entry)); + + try { + const body: MessageBody = { + richText: { + elems: [{ onlineImage: { filePath: '/unknown-wire-shape' } } as any], + }, + }; + let decoded: ReturnType | undefined; + expect(() => { + decoded = decodeRichBody(body, true); + }).not.toThrow(); + expect(decoded).toEqual([]); + } finally { + unsubscribe(); + setLogLevel(previousLevel); + } + + expect(captured).toContainEqual( + expect.objectContaining({ + scope: 'MsgPush.UnknownElement', + message: expect.stringContaining( + 'fields=onlineImage reason=no MessageElement decoder', + ), + }), + ); + }); + + it('retains and records a schema-unknown protobuf tag beside known text', () => { + const previousLevel = getLogLevel(); + const captured: Array<{ scope: string; message: string }> = []; + setLogLevel('debug'); + const unsubscribe = subscribeLogs((entry) => captured.push(entry)); + + try { + const knownElem = protobuf_encode({ + text: { str: 'known text' }, + }); + const unknownElem = lengthDelimited(60, Uint8Array.of(1, 2, 3)); + const richText = Uint8Array.from([ + ...lengthDelimited(2, knownElem), + ...lengthDelimited(2, unknownElem), + ]); + const rawBody = lengthDelimited(1, richText); + const decodedBody = protobuf_decode(rawBody); + + expect(decodeRichBody(decodedBody, true)).toEqual([ + { type: 'text', text: 'known text' }, + ]); + } finally { + unsubscribe(); + setLogLevel(previousLevel); + } + + expect(captured).toContainEqual( + expect.objectContaining({ + scope: 'MsgPush.UnknownElement', + message: expect.stringContaining( + 'unknownTag=60 wireType=2 count=1 bytes=4 reason=no schema decoder path=elem', + ), + }), + ); + }); + + it('logs repeated unknown tags once with an occurrence count', () => { + const previousLevel = getLogLevel(); + const captured: Array<{ scope: string; message: string }> = []; + setLogLevel('debug'); + const unsubscribe = subscribeLogs((entry) => captured.push(entry)); + + try { + const elemBytes: number[] = [...protobuf_encode({ text: { str: 'known' } })]; + const unknown = lengthDelimited(60, Uint8Array.of(7)); + + for (let index = 0; index < 1_000; index++) { + elemBytes.push(...unknown); + } + + const richText = lengthDelimited(2, Uint8Array.from(elemBytes)); + const decodedBody = protobuf_decode(lengthDelimited(1, richText)); + + expect(decodeRichBody(decodedBody, true)).toEqual([{ type: 'text', text: 'known' }]); + } finally { + unsubscribe(); + setLogLevel(previousLevel); + } + + const logs = captured.filter((entry) => entry.message.includes('unknownTag=60')); + expect(logs).toHaveLength(1); + expect(logs[0]?.message).toContain('count=1000 bytes=2000'); + }); + + it('preserves sibling text and records a malformed known card field', () => { + const previousLevel = getLogLevel(); + const captured: Array<{ scope: string; message: string }> = []; + setLogLevel('debug'); + const unsubscribe = subscribeLogs((entry) => captured.push(entry)); + + try { + const body: MessageBody = { + richText: { + elems: [ + { richMsg: { serviceId: 35, template1: Uint8Array.of(1, 1, 2, 3) } } as any, + { text: { str: 'keep me' } } as any, + ], + }, + }; + expect(decodeRichBody(body, true)).toEqual([{ type: 'text', text: 'keep me' }]); + } finally { + unsubscribe(); + setLogLevel(previousLevel); + } + + expect(captured).toContainEqual( + expect.objectContaining({ + scope: 'MsgPush.UnknownElement', + message: expect.stringContaining( + 'fields=richMsg reason=no recognized MessageElement payload', + ), + }), + ); + }); + + it('does not consume the next element when a structural CommonElem is malformed', () => { + const body: MessageBody = { + richText: { + elems: [ + { + commonElem: { + serviceType: 3, + businessType: 0, + pbElem: Uint8Array.of(0, 5), + }, + } as any, + { text: { str: 'keep next' } } as any, + ], + }, + }; + + expect(decodeRichBody(body, true)).toEqual([{ type: 'text', text: 'keep next' }]); + }); + + it('[#289] drops a big-face compatibility text identified by its nested Text reserve', () => { + const compatibilityReserve = protobuf_encode({ + str: '[打call]请使用最新版手机QQ体验新功能', + }); + // Issue #289 logged field 1 as bytes=51: one length byte plus the + // 50-byte UTF-8 compatibility string (the protobuf field key is separate). + expect(compatibilityReserve).toHaveLength(52); + + const body: MessageBody = { + richText: { + elems: [ + { + commonElem: { + serviceType: 37, + businessType: 1, + pbElem: protobuf_encode({ + qsid: 311, + text: '/打call', + }), + }, + } as any, + { + text: { + str: '/打call', + pbReserve: compatibilityReserve, + }, + } as any, + ], + }, + }; + + expect(decodeRichBody(body, true)).toEqual([{ type: 'face', faceId: 311 }]); + }); + + it('does not consume sibling user text after a decoded big face', () => { + const body: MessageBody = { + richText: { + elems: [ + { + commonElem: { + serviceType: 37, + businessType: 0, + pbElem: protobuf_encode({ qsid: 321, text: '/same text' }), + }, + } as any, + { text: { str: '/same text' } } as any, + ], + }, + }; + + expect(decodeRichBody(body, true)).toEqual([ + { type: 'face', faceId: 321 }, + { type: 'text', text: '/same text' }, + ]); + }); + + it.each(['/打call', '[蛇年快乐]', 'name'])( + 'recognizes native compatibility text independently of the face label prefix (%s)', + (faceText) => { + const reserve = protobuf_encode({ + str: `[${faceText.slice(1)}]请使用最新版手机QQ体验新功能`, + }); + const body: MessageBody = { + richText: { + elems: [ + { + commonElem: { + serviceType: 37, + businessType: 3, + pbElem: protobuf_encode({ qsid: 429, text: faceText }), + }, + } as never, + { text: { str: faceText, pbReserve: reserve } } as never, + { text: { str: faceText } } as never, + ], + }, + }; + expect(decodeRichBody(body, false)).toEqual([ + { type: 'face', faceId: 429 }, + { type: 'text', text: faceText }, + ]); + }, + ); + + it('[#289] preserves compatibility text when the big face has no valid face id', () => { + const body: MessageBody = { + richText: { + elems: [ + { + commonElem: { + serviceType: 37, + businessType: 1, + pbElem: protobuf_encode({ text: '/打call' }), + }, + } as any, + { + text: { + str: '/打call', + pbReserve: protobuf_encode({ + str: '[打call]请使用最新版手机QQ体验新功能', + }), + }, + } as any, + ], + }, + }; + + expect(decodeRichBody(body, true)).toEqual([{ type: 'text', text: '/打call' }]); + }); + + it('[#289] suppresses only compatibility text and decodes other fields in the same element', () => { + const compatibilityReserve = protobuf_encode({ + str: '[打call]请使用最新版手机QQ体验新功能', + }); + const body: MessageBody = { + richText: { + elems: [ + { + commonElem: { + serviceType: 37, + businessType: 1, + pbElem: protobuf_encode({ qsid: 311, text: '/打call' }), + }, + } as any, + { + text: { str: '/打call', pbReserve: compatibilityReserve }, + face: { index: 14 }, + } as any, + ], + }, + }; + + expect(decodeRichBody(body, true)).toEqual([ + { type: 'face', faceId: 311 }, + { type: 'face', faceId: 14 }, + ]); + }); + + it('[#289] preserves text when the nested reserve has extra wire fields', () => { + const canonical = protobuf_encode({ + str: '[打call]请使用最新版手机QQ体验新功能', + }); + const nonCanonical = Uint8Array.from([...canonical, 0x12, 0x00]); + const body: MessageBody = { + richText: { + elems: [ + { + commonElem: { + serviceType: 37, + businessType: 1, + pbElem: protobuf_encode({ qsid: 311, text: '/打call' }), + }, + } as any, + { text: { str: '/打call', pbReserve: nonCanonical } } as any, + ], + }, + }; + + expect(decodeRichBody(body, true)).toEqual([ + { type: 'face', faceId: 311 }, + { type: 'text', text: '/打call' }, + ]); + }); + + it('[#289] preserves sibling text when its nested reserve is not QQ compatibility text', () => { + const body: MessageBody = { + richText: { + elems: [ + { + commonElem: { + serviceType: 37, + businessType: 1, + pbElem: protobuf_encode({ qsid: 311, text: '/打call' }), + }, + } as any, + { + text: { + str: '/打call', + pbReserve: protobuf_encode({ + str: '[打call]ordinary metadata', + }), + }, + } as any, + ], + }, + }; + + expect(decodeRichBody(body, true)).toEqual([ + { type: 'face', faceId: 311 }, + { type: 'text', text: '/打call' }, + ]); + }); + + it('records unknown tags inside bytes-embedded protobuf payloads', () => { + const previousLevel = getLogLevel(); + const captured: Array<{ scope: string; message: string }> = []; + setLogLevel('debug'); + const unsubscribe = subscribeLogs((entry) => captured.push(entry)); + + try { + const known = protobuf_encode({ qsid: 654 }); + const pbElem = Uint8Array.from([...known, ...lengthDelimited(60, Uint8Array.of(1, 2))]); + const body: MessageBody = { + richText: { + elems: [ + { + commonElem: { serviceType: 37, businessType: 0, pbElem }, + } as any, + ], + }, + }; + + expect(decodeRichBody(body, true)).toEqual([{ type: 'face', faceId: 654 }]); + } finally { + unsubscribe(); + setLogLevel(previousLevel); + } + + expect(captured).toContainEqual( + expect.objectContaining({ + message: expect.stringContaining( + 'unknownTag=60 wireType=2 count=1 bytes=3 reason=no schema decoder path=commonElem.bigFace', + ), + }), + ); + }); + + it('fails open when an embedded face protobuf is truncated', () => { + const previousLevel = getLogLevel(); + const captured: Array<{ scope: string; message: string }> = []; + setLogLevel('debug'); + const unsubscribe = subscribeLogs((entry) => captured.push(entry)); + + try { + const body: MessageBody = { + richText: { + elems: [ + { + commonElem: { + serviceType: 37, + businessType: 0, + pbElem: Uint8Array.of(0x18, 0x80), + }, + } as any, + { text: { str: 'keep after malformed face' } } as any, + ], + }, + }; + + let decoded: ReturnType | undefined; + expect(() => { + decoded = decodeRichBody(body, true); + }).not.toThrow(); + expect(decoded).toEqual([{ type: 'text', text: 'keep after malformed face' }]); + } finally { + unsubscribe(); + setLogLevel(previousLevel); + } + + expect(captured).toContainEqual( + expect.objectContaining({ + scope: 'MsgPush.UnknownElement', + message: expect.stringContaining( + 'source=commonElem.bigFace bytes=2 reason=protobuf_truncated', + ), + }), + ); + }); + + it('retains and records schema-unknown tags inside nested element messages', () => { + const previousLevel = getLogLevel(); + const captured: Array<{ scope: string; message: string }> = []; + setLogLevel('debug'); + const unsubscribe = subscribeLogs((entry) => captured.push(entry)); + + try { + const textPayload = Uint8Array.from([ + ...lengthDelimited(1, new TextEncoder().encode('nested known text')), + ...lengthDelimited(60, Uint8Array.of(9, 8, 7)), + ]); + const elemPayload = lengthDelimited(1, textPayload); + const richTextPayload = lengthDelimited(2, elemPayload); + const decodedBody = protobuf_decode(lengthDelimited(1, richTextPayload)); + + expect(decodeRichBody(decodedBody, true)).toEqual([ + { type: 'text', text: 'nested known text' }, + ]); + } finally { + unsubscribe(); + setLogLevel(previousLevel); + } + + expect(captured).toContainEqual( + expect.objectContaining({ + scope: 'MsgPush.UnknownElement', + message: expect.stringContaining( + 'unknownTag=60 wireType=2 count=1 bytes=4 reason=no schema decoder path=elem.text', + ), + }), + ); + }); + + it('preserves sibling text when a LightApp is not a JSON object', () => { + const previousLevel = getLogLevel(); + const captured: Array<{ scope: string; message: string }> = []; + setLogLevel('debug'); + const unsubscribe = subscribeLogs((entry) => captured.push(entry)); + + try { + const body: MessageBody = { + richText: { + elems: [ + { + lightApp: { + data: Uint8Array.from([0, ...Buffer.from('not-json', 'utf8')]), + }, + } as any, + { text: { str: 'keep me' } } as any, + ], + }, + }; + + expect(decodeRichBody(body, true)).toEqual([{ type: 'text', text: 'keep me' }]); + } finally { + unsubscribe(); + setLogLevel(previousLevel); + } + + expect(captured).toContainEqual( + expect.objectContaining({ + scope: 'MsgPush.UnknownElement', + message: expect.stringContaining( + 'wire light card ignored inputBytes=9 reason=invalid_json', + ), + }), + ); + expect(captured.some((entry) => entry.message.includes('not-json'))).toBe(false); + }); + + it('records unknown tags on MessageBody and RichText roots', () => { + const previousLevel = getLogLevel(); + const captured: Array<{ scope: string; message: string }> = []; + setLogLevel('debug'); + const unsubscribe = subscribeLogs((entry) => captured.push(entry)); + + try { + const knownElem = protobuf_encode({ text: { str: 'root known text' } }); + const richTextPayload = Uint8Array.from([ + ...lengthDelimited(2, knownElem), + ...lengthDelimited(61, Uint8Array.of(4, 5)), + ]); + const rawBody = Uint8Array.from([ + ...lengthDelimited(1, richTextPayload), + ...lengthDelimited(60, Uint8Array.of(6)), + ]); + const decodedBody = protobuf_decode(rawBody); + + expect(decodeRichBody(decodedBody, true)).toEqual([ + { type: 'text', text: 'root known text' }, + ]); + } finally { + unsubscribe(); + setLogLevel(previousLevel); + } + + expect(captured).toContainEqual( + expect.objectContaining({ + message: expect.stringContaining( + 'unknownTag=60 wireType=2 count=1 bytes=2 reason=no schema decoder path=body', + ), + }), + ); + expect(captured).toContainEqual( + expect.objectContaining({ + message: expect.stringContaining( + 'unknownTag=61 wireType=2 count=1 bytes=3 reason=no schema decoder path=body.richText', + ), + }), + ); + }); + + it('does not treat marker-only or non-XML RichMsg data as a card', () => { + const body: MessageBody = { + richText: { + elems: [ + { richMsg: { serviceId: 35, template1: Uint8Array.of(0) } } as any, + { + richMsg: { + serviceId: 35, + template1: Uint8Array.from([0, ...Buffer.from('not xml', 'utf8')]), + }, + } as any, + { text: { str: 'keep malformed card fallback' } } as any, + ], + }, + }; + + expect(decodeRichBody(body, true)).toEqual([ + { type: 'text', text: 'keep malformed card fallback' }, + ]); + }); + + it('bounds compressed card output and preserves sibling text on overflow', () => { + const previousLevel = getLogLevel(); + const captured: Array<{ scope: string; message: string }> = []; + setLogLevel('debug'); + const unsubscribe = subscribeLogs((entry) => captured.push(entry)); + + try { + const compressed = deflateSync(Buffer.alloc(MAX_RICH_CARD_OUTPUT_BYTES + 1, 0x61)); + const data = new Uint8Array(compressed.length + 1); + data[0] = 1; + data.set(compressed, 1); + const body: MessageBody = { + richText: { + elems: [ + { lightApp: { data } } as any, + { text: { str: 'bounded fallback' } } as any, + ], + }, + }; + + expect(decodeRichBody(body, true)).toEqual([ + { type: 'text', text: 'bounded fallback' }, + ]); + } finally { + unsubscribe(); + setLogLevel(previousLevel); + } + + expect(captured).toContainEqual( + expect.objectContaining({ + scope: 'MsgPush.UnknownElement', + message: expect.stringContaining('reason=output_limit_exceeded'), + }), + ); + }); + + function ntImageElem(fileName: string): Elem { + const msgInfo: MsgInfo = { + msgInfoBody: [ + { + index: { + info: { + fileSize: 10711, + fileHash: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', + fileSha1: 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', + fileName, + width: 1080, + height: 1080, + type: { picFormat: 1001 }, + }, + }, + picture: { + urlPath: '/download?appid=1407&fileid=EhRgood', + domain: 'multimedia.nt.qq.com.cn', + ext: { originalParameter: '&rkey=good' }, + }, + }, + ], + extBizInfo: { pic: { bizType: 0, textSummary: '[图片]' } }, + }; + return { + commonElem: { + serviceType: 48, + businessType: 20, + pbElem: protobuf_encode(msgInfo), + }, + }; + } + + function customFaceElem(filePath: string, origUrl: string, md5: Uint8Array): Elem { + return { + customFace: { + filePath, + origUrl, + md5, + size: 10711, + width: 1080, + height: 1080, + }, + }; + } + + describe('decodeRichBody / NT image compatibility siblings (#389)', () => { + const fileName = 'bcc7bbcc76a1a9d940c57346a5d223e8.png'; + const otherMd5 = Uint8Array.from({ length: 16 }, (_, i) => i + 1); + + it('keeps the NT image and drops the query-only customFace sibling', () => { + const out = decodeRichBody( + { + richText: { + elems: [ + ntImageElem(fileName), + customFaceElem(fileName, '&rkey=xxx&spec=0', otherMd5), + ], + }, + }, + true, + ); + + expect(out).toHaveLength(1); + expect(out[0]).toMatchObject({ + type: 'image', + fileId: fileName, + imageUrl: + 'https://multimedia.nt.qq.com.cn/download?appid=1407&fileid=EhRgood&rkey=good', + picFormat: 1001, + }); + }); + + it('drops a same-file customFace even when its legacy URL is well-formed', () => { + const out = decodeRichBody( + { + richText: { + elems: [ + ntImageElem(fileName), + customFaceElem(fileName, '/gchatpic_new/0/0-0-AABB/0', otherMd5), + ], + }, + }, + true, + ); + + expect(out).toEqual([ + expect.objectContaining({ type: 'image', fileId: fileName, picFormat: 1001 }), + ]); + }); + + it('keeps a standalone customFace with a usable download path', () => { + const out = decodeRichBody( + { + richText: { + elems: [customFaceElem(fileName, '/gchatpic_new/0/0-0-AABB/0', otherMd5)], + }, + }, + true, + ); + + expect(out).toEqual([ + { + type: 'image', + imageUrl: 'http://gchat.qpic.cn/gchatpic_new/0/0-0-AABB/0', + fileId: fileName, + fileSize: 10711, + width: 1080, + height: 1080, + subType: 0, + summary: '[图片]', + md5Hex: '0102030405060708090A0B0C0D0E0F10', + }, + ]); + }); + + it('drops a standalone customFace whose URL cannot be fetched', () => { + const out = decodeRichBody( + { + richText: { + elems: [customFaceElem(fileName, '&rkey=xxx&spec=0', otherMd5)], + }, + }, + true, + ); + + expect(out).toEqual([]); + }); + + it('rebuilds a download URL from md5 when a customFace has no path', () => { + const out = decodeRichBody( + { + richText: { + elems: [customFaceElem(fileName, '', otherMd5)], + }, + }, + true, + ); + + expect(out).toEqual([ + { + type: 'image', + imageUrl: + 'http://gchat.qpic.cn/gchatpic_new/0/0-0-0102030405060708090A0B0C0D0E0F10/0', + fileId: fileName, + fileSize: 10711, + width: 1080, + height: 1080, + subType: 0, + summary: '[图片]', + md5Hex: '0102030405060708090A0B0C0D0E0F10', + }, + ]); + }); + + it('rebuilds an NT download URL from file id when the path is omitted', () => { + const msgInfo: MsgInfo = { + msgInfoBody: [ + { + index: { + fileUuid: 'EhRforward', + info: { + fileSize: 10711, + fileHash: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', + fileSha1: 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', + fileName: '', + width: 1080, + height: 1080, + type: { picFormat: 1001 }, + }, + }, + }, + ], + extBizInfo: { pic: { bizType: 0, textSummary: '[图片]' } }, + }; + const out = decodeRichBody( + { + richText: { + elems: [ + { + commonElem: { + serviceType: 48, + businessType: 20, + pbElem: protobuf_encode(msgInfo), + }, + }, + ], + }, + }, + true, + ); + + expect(out).toEqual([ + expect.objectContaining({ + type: 'image', + fileId: 'EhRforward', + imageUrl: + 'https://multimedia.nt.qq.com.cn/download?appid=1407&fileid=EhRforward', + summary: '[图片]', + }), + ]); + }); + + it('does not emit a hollow NT image that has only picFormat (#441)', () => { + const msgInfo: MsgInfo = { + msgInfoBody: [ + { + index: { + info: { + type: { picFormat: 1001 }, + width: 1080, + height: 1080, + }, + }, + }, + ], + extBizInfo: { pic: { bizType: 0, textSummary: '[图片]' } }, + }; + const out = decodeRichBody( + { + richText: { + elems: [ + { + commonElem: { + serviceType: 48, + businessType: 20, + pbElem: protobuf_encode(msgInfo), + }, + }, + ], + }, + }, + true, + ); + expect(out).toEqual([]); + }); + + it('keeps the customFace sibling when the NT image is hollow (#441)', () => { + const hollow: MsgInfo = { + msgInfoBody: [ + { + index: { info: { type: { picFormat: 1001 } } }, + }, + ], + extBizInfo: { pic: { bizType: 0, textSummary: '[图片]' } }, + }; + const out = decodeRichBody( + { + richText: { + elems: [ + { + commonElem: { + serviceType: 48, + businessType: 20, + pbElem: protobuf_encode(hollow), + }, + }, + customFaceElem(fileName, '', otherMd5), + ], + }, + }, + true, + ); + + expect(out).toEqual([ + { + type: 'image', + imageUrl: + 'http://gchat.qpic.cn/gchatpic_new/0/0-0-0102030405060708090A0B0C0D0E0F10/0', + fileId: fileName, + fileSize: 10711, + width: 1080, + height: 1080, + subType: 0, + summary: '[图片]', + md5Hex: '0102030405060708090A0B0C0D0E0F10', + }, + ]); + }); + + it('rebuilds file id and url from fileHash when name and uuid are missing (#441)', () => { + const hash = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'; + const msgInfo: MsgInfo = { + msgInfoBody: [ + { + index: { + info: { + fileHash: hash, + fileSha1: 'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb', + fileSize: 10711, + width: 1080, + height: 1080, + type: { picFormat: 1001 }, + }, + }, + }, + ], + extBizInfo: { pic: { bizType: 0, textSummary: '[图片]' } }, + }; + const out = decodeRichBody( + { + richText: { + elems: [ + { + commonElem: { + serviceType: 48, + businessType: 20, + pbElem: protobuf_encode(msgInfo), + }, + }, + ], + }, + }, + true, + ); + + expect(out).toEqual([ + expect.objectContaining({ + type: 'image', + fileId: `${hash}.png`, + imageUrl: `http://gchat.qpic.cn/gchatpic_new/0/0-0-${hash.toUpperCase()}/0`, + md5Hex: hash, + picFormat: 1001, + }), + ]); + }); + + it('keeps two distinct pictures', () => { + const second = 'other.png'; + const out = decodeRichBody( + { + richText: { + elems: [ + ntImageElem(fileName), + customFaceElem(second, '/gchatpic_new/0/0-0-CCDD/0', otherMd5), + ], + }, + }, + true, + ); + + expect(out.map((el) => (el.type === 'image' ? el.fileId : el.type))).toEqual([ + fileName, + second, + ]); + }); + }); + + describe('makeImageUrl', () => { + it('prefixes NT paths that already include a download path', () => { + expect(makeImageUrl('/download?appid=1407&fileid=abc&rkey=x')).toBe( + 'https://multimedia.nt.qq.com.cn/download?appid=1407&fileid=abc&rkey=x', + ); + }); + + it('does not glue the NT host onto a query fragment (#389)', () => { + expect(makeImageUrl('&rkey=xxx&spec=0')).toBe(''); + expect(makeImageUrl('rkey=xxx&spec=0')).toBe(''); + }); + + it('prefixes legacy gchat paths', () => { + expect(makeImageUrl('/gchatpic_new/0/0-0-AABB/0')).toBe( + 'http://gchat.qpic.cn/gchatpic_new/0/0-0-AABB/0', + ); + }); + + it('rebuilds a gchat URL from a 32-char md5', () => { + expect(imageUrlFromMd5('0102030405060708090a0b0c0d0e0f10')).toBe( + 'http://gchat.qpic.cn/gchatpic_new/0/0-0-0102030405060708090A0B0C0D0E0F10/0', + ); + expect(imageUrlFromMd5('short')).toBe(''); + }); + + it('rebuilds an NT URL from a file id', () => { + expect(ntImageUrlFromFileId('EhRforward', true)).toBe( + 'https://multimedia.nt.qq.com.cn/download?appid=1407&fileid=EhRforward', + ); + expect(ntImageUrlFromFileId('EhRprivate', false)).toBe( + 'https://multimedia.nt.qq.com.cn/download?appid=1406&fileid=EhRprivate', + ); + }); + }); + + it('bounds retained card output across the entire message', () => { + const previousLevel = getLogLevel(); + const captured: Array<{ scope: string; message: string }> = []; + setLogLevel('debug'); + const unsubscribe = subscribeLogs((entry) => captured.push(entry)); + + try { + const payload = { app: 'budget-test', data: 'x'.repeat(3 * 1024 * 1024) }; + const body: MessageBody = { + richText: { + elems: [ + { lightApp: { data: lightAppBytes(payload) } } as any, + { lightApp: { data: lightAppBytes(payload) } } as any, + { lightApp: { data: lightAppBytes(payload) } } as any, + ], + }, + }; + + const decoded = decodeRichBody(body, true); + expect(decoded).toHaveLength(2); + expect(decoded.every((element) => element.type === 'json')).toBe(true); + } finally { + unsubscribe(); + setLogLevel(previousLevel); + } + + expect(captured).toContainEqual( + expect.objectContaining({ + scope: 'MsgPush.UnknownElement', + message: expect.stringContaining('reason=message_output_budget_exceeded'), + }), + ); + }); + + it('charges malformed card inflation against the message budget', () => { + const previousLevel = getLogLevel(); + const captured: Array<{ scope: string; message: string }> = []; + setLogLevel('debug'); + const unsubscribe = subscribeLogs((entry) => captured.push(entry)); + + try { + const compressed = deflateSync(Buffer.alloc(3 * 1024 * 1024, 0x78)); + const data = new Uint8Array(compressed.length + 1); + data[0] = 1; + data.set(compressed, 1); + const body: MessageBody = { + richText: { + elems: Array.from({ length: 4 }, () => ({ lightApp: { data } }) as any), + }, + }; + + expect(decodeRichBody(body, true)).toEqual([]); + } finally { + unsubscribe(); + setLogLevel(previousLevel); + } + + const exhausted = captured.filter( + (entry) => + entry.scope === 'MsgPush.UnknownElement' && + entry.message.includes('reason=message_output_budget_exceeded'), + ); + expect(exhausted).toHaveLength(2); + }); +}); + +describe('hasDecodableContent', () => { + it('is false for a missing or empty body', () => { + expect(hasDecodableContent(undefined)).toBe(false); + expect(hasDecodableContent({})).toBe(false); + expect(hasDecodableContent({ richText: { elems: [] } })).toBe(false); + }); + + it('is true for elems, ptt, notOnlineFile, or msgContent', () => { + expect(hasDecodableContent({ richText: { elems: [{ text: { str: 'hi' } }] } })).toBe(true); + expect(hasDecodableContent({ richText: { ptt: { fileName: 'a.amr' } } })).toBe(true); + expect(hasDecodableContent({ richText: { notOnlineFile: { fileName: 'a.bin' } } })).toBe( + true, + ); + expect(hasDecodableContent({ msgContent: new Uint8Array([1]) })).toBe(true); + }); + + it('is true when elems exist even if decodeRichBody would emit nothing', () => { + const body: MessageBody = { + richText: { elems: [{ commonElem: { serviceType: 999, businessType: 0 } }] }, + }; + expect(hasDecodableContent(body)).toBe(true); + expect(decodeRichBody(body, false)).toEqual([]); + }); +}); diff --git a/packages/protocol/tests/msg-push/sysmsg-dedup.test.ts b/packages/protocol/tests/msg-push/sysmsg-dedup.test.ts new file mode 100644 index 00000000..7511918a --- /dev/null +++ b/packages/protocol/tests/msg-push/sysmsg-dedup.test.ts @@ -0,0 +1,328 @@ +// Regression for #137: inviting an official robot (e.g. 2854207029) into a +// group makes QQ push the `group_member_increase` notice TWICE, so SnowLuma +// reported two `notice.group_increase` while a normal member produced one. +// QQ NT dedups system messages in `sys_msg_mgr.cc::ProcessRecvSysMsg` by a +// global key whose per-message discriminators are msg_seq (contentHead field 5 +// = head.sequence) and random (contentHead field 4 = head.msgId); kernel-based +// bots see events only after that dedup. SnowLuma reads the raw OlPush, so +// parseMsgPush must replicate the drop for routes in QQ NT's static system- +// message table, but only when given a dedup tracker (the live path). Ordinary +// chat routes remain outside that table even when their outer msgType matches. + +import { getLogLevel, setLogLevel, subscribeLogs, type LogEntry } from '@snowluma/common/logger'; +import { describe, expect, it } from 'vitest'; +import type { PacketInfo } from '@snowluma/common/protocol-types'; +import { protobuf_encode } from '@snowluma/proton'; +import type { PushMsg, PushMsgBody } from '@snowluma/proto-defs/message'; +import type { GroupChange, OnlineDeviceNotify } from '@snowluma/proto-defs/notify'; +import { IdentityService } from '../../src/identity-service'; +import { + deriveSysMsgDedupIdentity, + parseMsgPush, + SysMsgDedup, + type SysMsgDedupIdentity, +} from '../../src/msg-push'; + +const identity = IdentityService.memory('2000000001'); + +function pushPacket(message: PushMsgBody): PacketInfo { + return { + pid: 0, + uin: '2000000001', + serviceCmd: 'trpc.msg.olpush.OlPushService.MsgPush', + seqId: 0, + retCode: 0, + fromClient: false, + body: protobuf_encode({ message }), + }; +} + +// A type-33 group member-increase push (the #137 shape). `memberUid` is a +// numeric string so Identity.findUinByUid returns it without a map lookup. +function memberIncreasePush(opts: { + groupId: number; + memberUin: number; + sequence: number; + msgId: number; +}): PacketInfo { + return pushPacket({ + responseHead: { fromUin: opts.groupId, fromUid: '' }, + contentHead: { + msgType: 33, + subType: 0, + sequence: opts.sequence, + timestamp: 1781540572, + msgId: opts.msgId, + }, + body: { + msgContent: protobuf_encode({ + groupUin: opts.groupId, + memberUid: String(opts.memberUin), + }), + }, + }); +} + +function c2cPacket(msgType: number, subType: number): PacketInfo { + return pushPacket({ + responseHead: { fromUin: 10001, fromUid: 'u_x' }, + contentHead: { msgType, subType, sequence: 900, timestamp: 1781540572, msgId: 7 }, + body: { richText: { elems: [{ text: { str: 'hi' } }] } }, + }); +} + +function onlineDevicesPush(deviceName: string): PacketInfo { + return pushPacket({ + responseHead: { fromUin: 2000000001, fromUid: '' }, + contentHead: { + msgType: 528, + subType: 349, + sequence: 800, + timestamp: 1781540572, + msgId: 555, + }, + body: { + msgContent: protobuf_encode({ + devices: [ + { appId: 537242075, instanceId: 202, clientType: 1, platform: 3, deviceName }, + ], + }), + }, + }); +} + +function dedupIdentity(overrides: Partial = {}): SysMsgDedupIdentity { + return { + peerUid: '700', + chatType: 2, + sequence: 500, + random: 12345, + ...overrides, + }; +} + +function deriveIdentity(opts: { + msgType: number; + subType: number; + sequence?: number; + msgId?: number; + fromUin?: number; + fromUid?: string; +}) { + return deriveSysMsgDedupIdentity({ + head: { + msgType: opts.msgType, + subType: opts.subType, + c2cCmd: 0, + sequence: opts.sequence ?? 500, + ntMsgSeq: 0, + timestamp: 1781540572, + msgId: opts.msgId ?? 12345, + }, + fromUin: opts.fromUin ?? 700, + fromUid: opts.fromUid ?? 'u_peer', + }); +} + +describe('deriveSysMsgDedupIdentity', () => { + it.each([ + [528, 290], + [166, 75], + [166, 129], + [166, 131], + [166, 133], + [166, 135], + [167, 133], + ])('maps native C2C route %d/%d to fromUid and chatType 1', (msgType, subType) => { + expect(deriveIdentity({ msgType, subType, fromUin: 700, fromUid: 'u_peer' })).toEqual({ + peerUid: 'u_peer', + chatType: 1, + sequence: 500, + random: 12345, + }); + }); + + it.each([ + [732, 12], + [732, 16], + [732, 20], + [33, 0], + [34, 0], + [85, 0], + ])('maps native group route %d/%d to decimal fromUin and chatType 2', (msgType, subType) => { + expect(deriveIdentity({ msgType, subType, fromUin: 700, fromUid: 'ignored' })).toEqual({ + peerUid: '700', + chatType: 2, + sequence: 500, + random: 12345, + }); + }); + + it('[#266] fails open for an outer package pair absent from QQ NT’s static table', () => { + expect(deriveIdentity({ msgType: 528, subType: 99 })).toBeNull(); + }); + + it('fails open when the native sequence, random, or route-specific peer is missing', () => { + expect(deriveIdentity({ msgType: 33, subType: 0, sequence: 0 })).toBeNull(); + expect(deriveIdentity({ msgType: 33, subType: 0, msgId: 0 })).toBeNull(); + expect(deriveIdentity({ msgType: 33, subType: 0, fromUin: 0 })).toBeNull(); + expect(deriveIdentity({ msgType: 528, subType: 290, fromUid: '' })).toBeNull(); + }); +}); + +describe('SysMsgDedup', () => { + it('flags the second push with the same native global key', () => { + const d = new SysMsgDedup(); + expect(d.seenDuplicate(dedupIdentity())).toBe(false); + expect(d.seenDuplicate(dedupIdentity())).toBe(true); + }); + + it('treats a different sequence, random, peer, or chat type as distinct', () => { + const d = new SysMsgDedup(); + expect(d.seenDuplicate(dedupIdentity())).toBe(false); + expect(d.seenDuplicate(dedupIdentity({ sequence: 501 }))).toBe(false); + expect(d.seenDuplicate(dedupIdentity({ random: 99999 }))).toBe(false); + expect(d.seenDuplicate(dedupIdentity({ peerUid: '701' }))).toBe(false); + expect(d.seenDuplicate(dedupIdentity({ chatType: 1 }))).toBe(false); + }); + + it('[#266] dedups different listed outer routes that derive the same native identity', () => { + const d = new SysMsgDedup(); + const first = deriveIdentity({ msgType: 166, subType: 133 }); + const alternateRoute = deriveIdentity({ msgType: 167, subType: 133 }); + expect(first).not.toBeNull(); + expect(alternateRoute).toEqual(first); + expect(d.seenDuplicate(first!)).toBe(false); + expect(d.seenDuplicate(alternateRoute!)).toBe(true); + }); + + it('[#266] does not record an unlisted outer route', () => { + const d = new SysMsgDedup(); + const unlisted = deriveIdentity({ msgType: 528, subType: 99 }); + const listed = deriveIdentity({ msgType: 528, subType: 290 }); + expect(unlisted).toBeNull(); + expect(listed).not.toBeNull(); + expect(d.seenDuplicate(listed!)).toBe(false); + }); + + it('never dedups a manually supplied identity without a server discriminator or peer', () => { + const d = new SysMsgDedup(); + expect(d.seenDuplicate(dedupIdentity({ sequence: 0 }))).toBe(false); + expect(d.seenDuplicate(dedupIdentity({ sequence: 0 }))).toBe(false); + expect(d.seenDuplicate(dedupIdentity({ random: 0 }))).toBe(false); + expect(d.seenDuplicate(dedupIdentity({ peerUid: '' }))).toBe(false); + }); + + it('evicts the oldest key once capacity is exceeded (bounded memory)', () => { + const d = new SysMsgDedup(2); + expect(d.seenDuplicate(dedupIdentity({ sequence: 1, random: 1 }))).toBe(false); + expect(d.seenDuplicate(dedupIdentity({ sequence: 2, random: 1 }))).toBe(false); + expect(d.seenDuplicate(dedupIdentity({ sequence: 3, random: 1 }))).toBe(false); + expect(d.seenDuplicate(dedupIdentity({ sequence: 1, random: 1 }))).toBe(false); + expect(d.seenDuplicate(dedupIdentity({ sequence: 3, random: 1 }))).toBe(true); + }); +}); + +describe('parseMsgPush — system-push dedup (#137)', () => { + it('drops the second identical official-robot member-increase push', () => { + const dedup = new SysMsgDedup(); + const push = () => + memberIncreasePush({ groupId: 700, memberUin: 2854207029, sequence: 800, msgId: 555 }); + + const first = parseMsgPush(push(), identity, dedup); + expect(first).toHaveLength(1); + expect(first[0]).toMatchObject({ + kind: 'group_member_join', + groupId: 700, + userUin: 2854207029, + }); + + const second = parseMsgPush(push(), identity, dedup); + expect(second).toEqual([]); + }); + + it('traces the actual duplicate branch before returning zero events', () => { + const previousLevel = getLogLevel(); + const entries: LogEntry[] = []; + setLogLevel('trace'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + + try { + const dedup = new SysMsgDedup(); + const push = () => + memberIncreasePush({ + groupId: 700, + memberUin: 2854207029, + sequence: 800, + msgId: 555, + }); + expect(parseMsgPush(push(), identity, dedup)).toHaveLength(1); + expect(parseMsgPush(push(), identity, dedup)).toEqual([]); + + expect( + entries.filter((entry) => entry.scope === 'MsgPush' && entry.level === 'trace'), + ).toEqual([ + expect.objectContaining({ + message: + 'packet_branch serviceCmd="trpc.msg.olpush.OlPushService.MsgPush" seqId=0 branch=duplicate_system_push peer="700" chatType=2 messageSeq=800 messageRandom=555', + }), + ]); + } finally { + unsubscribe(); + setLogLevel(previousLevel); + } + }); + + it('keeps both pushes when no dedup tracker is supplied (forward re-parse path)', () => { + const push = () => + memberIncreasePush({ groupId: 700, memberUin: 2854207029, sequence: 800, msgId: 555 }); + expect(parseMsgPush(push(), identity)).toHaveLength(1); + expect(parseMsgPush(push(), identity)).toHaveLength(1); + }); + + it('keeps distinct member-increase events (different members → different seq/msgId)', () => { + const dedup = new SysMsgDedup(); + const a = parseMsgPush( + memberIncreasePush({ groupId: 700, memberUin: 111, sequence: 800, msgId: 555 }), + identity, + dedup, + ); + const b = parseMsgPush( + memberIncreasePush({ groupId: 700, memberUin: 222, sequence: 801, msgId: 556 }), + identity, + dedup, + ); + expect(a).toHaveLength(1); + expect(b).toHaveLength(1); + expect(b[0]).toMatchObject({ userUin: 222 }); + }); + + it('[#266] dedups a listed C2C route before its outer type is decoded as a chat message', () => { + const dedup = new SysMsgDedup(); + expect(parseMsgPush(c2cPacket(166, 133), identity, dedup)).toHaveLength(1); + expect(parseMsgPush(c2cPacket(166, 133), identity, dedup)).toEqual([]); + }); + + it('[#266] records a listed undecoded route before a matching listed route is dispatched', () => { + const dedup = new SysMsgDedup(); + expect(parseMsgPush(c2cPacket(167, 133), identity, dedup)).toEqual([]); + expect(parseMsgPush(c2cPacket(166, 133), identity, dedup)).toEqual([]); + }); + + it('does not dedup ordinary chat messages outside the native system-message table', () => { + const dedup = new SysMsgDedup(); + expect(parseMsgPush(c2cPacket(166, 0), identity, dedup)).toHaveLength(1); + expect(parseMsgPush(c2cPacket(166, 0), identity, dedup)).toHaveLength(1); + }); + + it('does not dedup replacement state snapshots with the same server identity', () => { + const dedup = new SysMsgDedup(); + + expect(parseMsgPush(onlineDevicesPush('DESKTOP-A'), identity, dedup)).toMatchObject([ + { kind: 'online_devices_changed', devices: [{ deviceName: 'DESKTOP-A' }] }, + ]); + expect(parseMsgPush(onlineDevicesPush('DESKTOP-B'), identity, dedup)).toMatchObject([ + { kind: 'online_devices_changed', devices: [{ deviceName: 'DESKTOP-B' }] }, + ]); + }); +}); diff --git a/packages/protocol/tests/msg-push/temp-message-source.test.ts b/packages/protocol/tests/msg-push/temp-message-source.test.ts new file mode 100644 index 00000000..b48331d8 --- /dev/null +++ b/packages/protocol/tests/msg-push/temp-message-source.test.ts @@ -0,0 +1,94 @@ +import type { PacketInfo } from '@snowluma/common/protocol-types'; +import { protobuf_encode, type pb, type pb_repeated, type uint_32 } from '@snowluma/proton'; +import { describe, expect, it } from 'vitest'; + +import type { IdentityService } from '../../src/identity-service'; +import { parseMsgPush } from '../../src/msg-push'; + +interface TextFixture { + str?: pb<1, string>; +} + +interface ElemFixture { + text?: pb<1, TextFixture>; +} + +interface RichTextFixture { + elems?: pb_repeated<2, ElemFixture>; +} + +interface MessageBodyFixture { + richText?: pb<1, RichTextFixture>; +} + +interface TempSessionFixture { + previousGroup?: pb<4, uint_32>; + sourceGroup?: pb<5, uint_32>; +} + +interface ResponseHeadFixture { + fromUin?: pb<1, uint_32>; + fromUid?: pb<2, string>; + tempSession?: pb<7, TempSessionFixture>; +} + +interface ContentHeadFixture { + msgType?: pb<1, uint_32>; + sequence?: pb<5, uint_32>; + timestamp?: pb<6, uint_32>; + ntMsgSeq?: pb<11, uint_32>; +} + +interface PushBodyFixture { + responseHead?: pb<1, ResponseHeadFixture>; + contentHead?: pb<2, ContentHeadFixture>; + body?: pb<3, MessageBodyFixture>; +} + +interface PushFixture { + message?: pb<1, PushBodyFixture>; +} + +const identity = { findFriend: () => undefined } as unknown as IdentityService; + +function tempMessagePacket(previousGroup: number, sourceGroup: number): PacketInfo { + return { + pid: 1, + uin: '2000000001', + serviceCmd: 'trpc.msg.olpush.OlPushService.MsgPush', + seqId: 1, + retCode: 0, + fromClient: false, + body: protobuf_encode({ + message: { + responseHead: { + fromUin: 10001, + fromUid: 'u_peer', + tempSession: { previousGroup, sourceGroup }, + }, + contentHead: { + msgType: 141, + sequence: 7, + timestamp: 1_710_000_000, + ntMsgSeq: 8, + }, + body: { richText: { elems: [{ text: { str: 'hello' } }] } }, + }, + }), + }; +} + +describe('parseMsgPush — temporary-session source (#308)', () => { + it('keeps a passive reply bound to the group that opened the current session', () => { + const events = parseMsgPush(tempMessagePacket(11111, 22222), identity); + + expect(events).toMatchObject([ + { + kind: 'temp_message', + senderUin: 10001, + groupId: 22222, + elements: [{ type: 'text', text: 'hello' }], + }, + ]); + }); +}); diff --git a/packages/protocol/tests/native/audio-transcode.test.ts b/packages/protocol/tests/native/audio-transcode.test.ts new file mode 100644 index 00000000..f61974da --- /dev/null +++ b/packages/protocol/tests/native/audio-transcode.test.ts @@ -0,0 +1,170 @@ +import { afterAll, beforeAll, describe, expect, it } from 'vitest'; +import { mkdtempSync, readFileSync, rmSync, writeFileSync } from 'fs'; +import os from 'os'; +import path from 'path'; +import { fileURLToPath } from 'url'; +import { convertAudioBytes, encodeSilk } from '@snowluma/protocol/highway/ffmpeg-addon'; + +interface NativeAudioAddon { + convertToNTSilkTct(inputFile: string, outputFile: string): Promise; + decodeAudioToFmt( + inputFile: string, + outputFile: string, + format: string, + ): Promise<{ result: boolean; sampleRate: number; channels: number; format: string }>; + getDuration(filePath: string): Promise; +} + +const __dirname = path.dirname(fileURLToPath(import.meta.url)); + +function makeMonoWav(sampleRate = 24_000, durationSeconds = 1): Buffer { + const samples = sampleRate * durationSeconds; + const bytes = Buffer.alloc(44 + samples * 2); + bytes.write('RIFF', 0); + bytes.writeUInt32LE(36 + samples * 2, 4); + bytes.write('WAVE', 8); + bytes.write('fmt ', 12); + bytes.writeUInt32LE(16, 16); + bytes.writeUInt16LE(1, 20); + bytes.writeUInt16LE(1, 22); + bytes.writeUInt32LE(sampleRate, 24); + bytes.writeUInt32LE(sampleRate * 2, 28); + bytes.writeUInt16LE(2, 32); + bytes.writeUInt16LE(16, 34); + bytes.write('data', 36); + bytes.writeUInt32LE(samples * 2, 40); + + for (let i = 0; i < samples; i += 1) { + bytes.writeInt16LE( + Math.round(Math.sin((2 * Math.PI * 440 * i) / sampleRate) * 12_000), + 44 + i * 2, + ); + } + + return bytes; +} + +function loadBundledAddon(): NativeAudioAddon { + const addonPath = path.resolve( + __dirname, + `../../../runtime/native/ffmpeg/ffmpegAddon.${process.platform}.${process.arch}.node`, + ); + const mod = { exports: {} as Record }; + process.dlopen(mod, addonPath); + return mod.exports as unknown as NativeAudioAddon; +} + +function hasMp3Signature(bytes: Buffer): boolean { + const hasId3Tag = bytes.length >= 3 && bytes.subarray(0, 3).toString('ascii') === 'ID3'; + const hasFrameSync = bytes.length >= 2 && bytes[0] === 0xff && (bytes[1] & 0xe0) === 0xe0; + return hasId3Tag || hasFrameSync; +} + +const isReleaseTarget = + (process.platform === 'win32' && process.arch === 'x64') || + (process.platform === 'linux' && (process.arch === 'x64' || process.arch === 'arm64')); +const describeBundledAddon = isReleaseTarget ? describe : describe.skip; + +describeBundledAddon('bundled native ffmpeg addon', () => { + let tmpDir: string; + beforeAll(() => { + tmpDir = mkdtempSync(path.join(os.tmpdir(), 'sl-native-audio-test-')); + }); + afterAll(() => rmSync(tmpDir, { recursive: true, force: true })); + + describe.each(['silk', 'ntsilk', 'extensionless'] as const)('%s duration', (format) => { + it.each([0.02, 1, 2.5])('measures %s seconds from the encoded frames', async (seconds) => { + const addon = loadBundledAddon(); + const wavPath = path.join(tmpDir, `duration-${format}-${seconds}.wav`); + const recordPath = path.join( + tmpDir, + `duration-${format}-${seconds}${format === 'extensionless' ? '' : `.${format}`}`, + ); + writeFileSync(wavPath, makeMonoWav(24_000, seconds)); + await addon.convertToNTSilkTct(wavPath, recordPath); + + if (format === 'silk') { + // Standard SILK has the same packets without the QQ container prefix. + const encoded = readFileSync(recordPath); + expect(encoded.subarray(0, 10)).toEqual( + Buffer.concat([Buffer.from([0x02]), Buffer.from('#!SILK_V3', 'ascii')]), + ); + writeFileSync(recordPath, encoded.subarray(1)); + } + + expect(await addon.getDuration(recordPath)).toBeCloseTo(seconds, 6); + }); + + it('rejects a truncated packet instead of reporting a duration', async () => { + const addon = loadBundledAddon(); + const wavPath = path.join(tmpDir, `truncated-${format}.wav`); + const recordPath = path.join( + tmpDir, + `truncated-${format}${format === 'extensionless' ? '' : `.${format}`}`, + ); + writeFileSync(wavPath, makeMonoWav()); + await addon.convertToNTSilkTct(wavPath, recordPath); + const encoded = readFileSync(recordPath); + writeFileSync( + recordPath, + encoded.subarray(format === 'silk' ? 1 : 0, encoded.length - 1), + ); + + await expect(addon.getDuration(recordPath)).rejects.toThrow(/Invalid data/); + await expect(encodeSilk(recordPath, tmpDir)).rejects.toThrow(/Invalid data/); + }); + }); + + it('encodes a WAV with the runtime addon when started from the protocol package', async () => { + const wavPath = path.join(tmpDir, 'runtime-input.wav'); + writeFileSync(wavPath, makeMonoWav()); + const result = await encodeSilk(wavPath, tmpDir); + expect(result.converted).toBe(true); + expect(result.duration).toBe(1); + expect(readFileSync(result.path).subarray(1, 10).toString('ascii')).toBe('#!SILK_V3'); + expect(await loadBundledAddon().getDuration(result.path)).toBeCloseTo(1, 6); + }); + + it('converts a mono QQ-style SILK record to a decodable MP3 through the public transcode seam', async () => { + const addon = loadBundledAddon(); + const wavPath = path.join(tmpDir, 'mono-input.wav'); + const silkPath = path.join(tmpDir, 'mono-input.ntsilk'); + writeFileSync(wavPath, makeMonoWav()); + await addon.convertToNTSilkTct(wavPath, silkPath); + + const result = await convertAudioBytes(readFileSync(silkPath), 'mp3', { addon, tmpDir }); + const mp3 = Buffer.from(result.base64, 'base64'); + const outputPath = path.join(tmpDir, 'mono-output.mp3'); + writeFileSync(outputPath, mp3); + + expect(result.size).toBe(mp3.length); + expect(hasMp3Signature(mp3)).toBe(true); + const duration = await addon.getDuration(outputPath); + expect(duration).toBeGreaterThan(0.9); + expect(duration).toBeLessThan(1.2); + }); + + it('converts the QQ AI SILK container variant through the public transcode seam', async () => { + const addon = loadBundledAddon(); + const wavPath = path.join(tmpDir, 'ai-input.wav'); + const silkPath = path.join(tmpDir, 'ai-input.ntsilk'); + writeFileSync(wavPath, makeMonoWav()); + await addon.convertToNTSilkTct(wavPath, silkPath); + + const aiSilk = readFileSync(silkPath); + expect(aiSilk.subarray(0, 10)).toEqual( + Buffer.concat([Buffer.from([0x02]), Buffer.from('#!SILK_V3', 'ascii')]), + ); + aiSilk[0] = 0x03; + + const result = await convertAudioBytes(aiSilk, 'mp3', { addon, tmpDir }); + const mp3 = Buffer.from(result.base64, 'base64'); + const outputPath = path.join(tmpDir, 'ai-output.mp3'); + writeFileSync(outputPath, mp3); + + expect(hasMp3Signature(mp3)).toBe(true); + const duration = await addon.getDuration(outputPath); + expect(duration).toBeGreaterThan(0.9); + expect(duration).toBeLessThan(1.2); + }); +}); diff --git a/packages/protocol/tests/oidb-service.test.ts b/packages/protocol/tests/oidb-service.test.ts new file mode 100644 index 00000000..a0a5d6b5 --- /dev/null +++ b/packages/protocol/tests/oidb-service.test.ts @@ -0,0 +1,410 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { OidbBase, OidbEmpty } from '@snowluma/proto-defs/oidb'; +import type { OidbGroupReaction } from '@snowluma/proto-defs/oidb-actions/base'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { + buildOidbRequest, + invokeOidb, + OidbError, + parseOidbResponse, + type OidbCallSpec, + type OidbSender, +} from '../src/oidb-service'; + +// Reused minimal spec — encodes a group-reaction-shaped request and +// reads back a void result. Exercises every spec branch. +const reactionSpec: OidbCallSpec< + OidbSender, + OidbGroupReaction, + OidbEmpty, + { groupId: number; sequence: number; code: string; isSet: boolean }, + void +> = { + command: 0x9082, + resolveSubCommand: (p) => (p.isSet ? 1 : 2), + serialize: (_ctx, p) => ({ + groupUin: p.groupId, + sequence: p.sequence, + code: p.code, + type: p.code.length > 3 ? 2 : 1, + field6: false, + field7: false, + }), + deserialize: () => {}, + encode: (env) => protobuf_encode>(env), + decode: (bytes) => protobuf_decode>(bytes), +}; + +// Static-subCommand variant for the branch test. +const staticSubSpec: OidbCallSpec< + OidbSender, + OidbGroupReaction, + OidbEmpty, + { groupId: number }, + void +> = { + command: 0xeac, + subCommand: 1, + serialize: (_ctx, p) => ({ + groupUin: p.groupId, + sequence: 0, + code: '', + type: 1, + field6: false, + field7: false, + }), + deserialize: () => {}, + encode: (env) => protobuf_encode>(env), + decode: (bytes) => protobuf_decode>(bytes), +}; + +function makeSender( + resp: Partial = {}, +): OidbSender & { sendRawPacket: ReturnType } { + const defaultResp: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.alloc(0), + }; + return { + sendRawPacket: vi.fn(async () => ({ ...defaultResp, ...resp })), + }; +} + +describe('invokeOidb', () => { + it('uses resolveSubCommand when present and computes the wire name', async () => { + const sender = makeSender(); + await invokeOidb(sender, reactionSpec, { + groupId: 12345, + sequence: 99, + code: '76', + isSet: true, + }); + expect(sender.sendRawPacket).toHaveBeenCalledOnce(); + const [wireName] = sender.sendRawPacket.mock.calls[0]!; + expect(wireName).toBe('OidbSvcTrpcTcp.0x9082_1'); + }); + + it('flips wire name when resolveSubCommand returns a different subcmd', async () => { + const sender = makeSender(); + await invokeOidb(sender, reactionSpec, { + groupId: 1, + sequence: 1, + code: '76', + isSet: false, + }); + const [wireName] = sender.sendRawPacket.mock.calls[0]!; + expect(wireName).toBe('OidbSvcTrpcTcp.0x9082_2'); + }); + + it('uses static subCommand when resolveSubCommand is absent', async () => { + const sender = makeSender(); + await invokeOidb(sender, staticSubSpec, { groupId: 12345 }); + const [wireName] = sender.sendRawPacket.mock.calls[0]!; + expect(wireName).toBe('OidbSvcTrpcTcp.0xeac_1'); + }); + + it('encodes serialize() output into an OIDB envelope (cmd + subcmd land in fields 1/2)', async () => { + const sender = makeSender(); + await invokeOidb(sender, reactionSpec, { + groupId: 12345, + sequence: 99, + code: '76', + isSet: true, + }); + const [, bytes] = sender.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + expect(env.command).toBe(0x9082); + expect(env.subCommand).toBe(1); + expect(env.body).toMatchObject({ + groupUin: 12345, + sequence: 99, + code: '76', + type: 1, + }); + }); + + it('passes the body through deserialize for transformation', async () => { + type Echo = { tag: number }; + const spec: OidbCallSpec< + OidbSender, + OidbGroupReaction, + OidbGroupReaction, + { code: string }, + Echo + > = { + command: 0x9082, + subCommand: 1, + serialize: (_ctx, p) => ({ code: p.code }), + deserialize: (_ctx, b) => ({ tag: b.type ?? 99 }), + encode: (env) => protobuf_encode>(env), + decode: (bytes) => protobuf_decode>(bytes), + }; + const responseEnvelope = protobuf_encode>({ + command: 0x9082, + subCommand: 1, + body: { type: 5 } as OidbGroupReaction, + }); + const sender = makeSender({ responseData: Buffer.from(responseEnvelope) }); + const result = await invokeOidb(sender, spec, { code: 'x' }); + expect(result).toEqual({ tag: 5 }); + }); + + it('substitutes an empty body when the envelope has no field 4', async () => { + const envBytes = protobuf_encode>({ command: 0x9082, subCommand: 1 }); + const sender = makeSender({ responseData: Buffer.from(envBytes) }); + const deserialize = vi.fn(() => undefined); + const spec: OidbCallSpec = + { + command: 0x9082, + subCommand: 1, + serialize: (_ctx, p) => ({ code: p.code }), + deserialize, + encode: (env) => protobuf_encode>(env), + decode: (bytes) => protobuf_decode>(bytes), + }; + await invokeOidb(sender, spec, { code: 'x' }); + expect(deserialize).toHaveBeenCalledOnce(); + // deserialize now receives (ctx, body) — body is the second arg. + expect(deserialize.mock.calls[0]![1]).toEqual({}); + }); + + it('awaits async serialize before sending', async () => { + // ctx-aware serialize may need to resolve a uid first; invokeOidb + // must await it before encoding the envelope. + const sender = makeSender(); + const spec: OidbCallSpec = + { + command: 0x9082, + subCommand: 1, + serialize: async (_ctx, p) => { + await new Promise((r) => setTimeout(r, 5)); + return { code: p.code, sequence: 42 }; + }, + deserialize: () => {}, + encode: (env) => protobuf_encode>(env), + decode: (bytes) => protobuf_decode>(bytes), + }; + await invokeOidb(sender, spec, { code: 'async' }); + const [, bytes] = sender.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + expect(env.body?.code).toBe('async'); + expect(env.body?.sequence).toBe(42); + }); + + it('threads ctx into serialize so namespaces can read identity / resolve uids in place', async () => { + const sender = makeSender(); + // Extend the ctx with an arbitrary capability the spec uses. + type Ctx = OidbSender & { tag: string }; + const ctx: Ctx = { ...sender, tag: 'from-ctx' }; + const spec: OidbCallSpec = { + command: 0x9082, + subCommand: 1, + serialize: (c, p) => ({ code: `${c.tag}/${p.code}` }), + deserialize: () => {}, + encode: (env) => protobuf_encode>(env), + decode: (bytes) => protobuf_decode>(bytes), + }; + await invokeOidb(ctx, spec, { code: 'x' }); + const [, bytes] = sender.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + expect(env.body?.code).toBe('from-ctx/x'); + }); + + it('propagates timeoutMs to sendRawPacket', async () => { + const sender = makeSender(); + await invokeOidb(sender, staticSubSpec, { groupId: 1 }, 5000); + expect(sender.sendRawPacket.mock.calls[0]![2]).toBe(5000); + }); + + it('rethrows the sender errorMessage when success=false', async () => { + const sender = makeSender({ success: false, errorMessage: 'boom' }); + await expect(invokeOidb(sender, staticSubSpec, { groupId: 1 })).rejects.toThrow('boom'); + }); + + it('falls back to "packet send failed" when success=false and errorMessage is empty', async () => { + const sender = makeSender({ success: false, errorMessage: '' }); + await expect(invokeOidb(sender, staticSubSpec, { groupId: 1 })).rejects.toThrow( + 'packet send failed', + ); + }); + + it('rethrows when sender returns success=true but gotResponse=false', async () => { + const sender = makeSender({ success: true, gotResponse: false, errorMessage: 'timeout' }); + await expect(invokeOidb(sender, staticSubSpec, { groupId: 1 })).rejects.toThrow('timeout'); + }); + + it('falls back to "no response" when gotResponse=false and errorMessage is empty', async () => { + const sender = makeSender({ success: true, gotResponse: false, errorMessage: '' }); + await expect(invokeOidb(sender, staticSubSpec, { groupId: 1 })).rejects.toThrow( + 'no response', + ); + }); + + it('raises OidbError when envelope errorCode != 0', async () => { + const errBytes = protobuf_encode>({ + command: 0x9082, + subCommand: 1, + errorCode: 42, + errorMsg: 'no privilege', + }); + const sender = makeSender({ responseData: Buffer.from(errBytes) }); + let caught: unknown; + + try { + await invokeOidb(sender, staticSubSpec, { groupId: 1 }); + } catch (e) { + caught = e; + } + + expect(caught).toBeInstanceOf(OidbError); + expect((caught as OidbError).code).toBe(42); + expect((caught as OidbError).serverMsg).toBe('no privilege'); + expect((caught as OidbError).command).toBe(0xeac); + expect((caught as OidbError).subCommand).toBe(1); + expect((caught as OidbError).message).toContain('OIDB error 42'); + expect((caught as OidbError).message).toContain('0xeac_1'); + }); + + it('skips OidbError check when response payload is empty', async () => { + const sender = makeSender({ responseData: Buffer.alloc(0) }); + await expect(invokeOidb(sender, staticSubSpec, { groupId: 1 })).resolves.toBeUndefined(); + }); + + it('honours uinForm=true by flipping OIDB envelope reserved to 1', async () => { + const spec: OidbCallSpec< + OidbSender, + OidbGroupReaction, + OidbEmpty, + { groupId: number }, + void + > = { + ...staticSubSpec, + uinForm: true, + }; + const sender = makeSender(); + await invokeOidb(sender, spec, { groupId: 1 }); + const [, bytes] = sender.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + expect(env.reserved).toBe(1); + }); + + it('uses uinForm=false by default (envelope reserved=0)', async () => { + const sender = makeSender(); + await invokeOidb(sender, staticSubSpec, { groupId: 1 }); + const [, bytes] = sender.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + expect(env.reserved ?? 0).toBe(0); + }); + + it('treats registered envelope codes as success on the packet and body', async () => { + const spec = { ...staticSubSpec, acceptedEnvelopeCodes: [2_001_002] }; + const bodyBytes = protobuf_encode>({ + command: 0xeac, + subCommand: 1, + errorCode: 2_001_002, + errorMsg: 'already applied', + }); + await expect( + invokeOidb(makeSender({ responseData: Buffer.from(bodyBytes) }), spec, { groupId: 1 }), + ).resolves.toBeUndefined(); + await expect( + invokeOidb( + makeSender({ + success: false, + errorCode: 2_001_002, + errorMessage: 'already applied', + responseData: null, + }), + spec, + { groupId: 1 }, + ), + ).resolves.toBeUndefined(); + }); + + it('uses resolveCommand for the wire name and envelope command', async () => { + const spec = { + ...staticSubSpec, + command: 0, + resolveCommand: () => 0x11c5, + subCommand: 100, + }; + const sender = makeSender(); + await invokeOidb(sender, spec, { groupId: 1 }); + expect(sender.sendRawPacket.mock.calls[0]![0]).toBe('OidbSvcTrpcTcp.0x11c5_100'); + }); +}); + +describe('buildOidbRequest', () => { + it('returns the same wire name + bytes that invokeOidb would send', async () => { + const sender = makeSender(); + await invokeOidb(sender, reactionSpec, { + groupId: 12345, + sequence: 99, + code: '128516', + isSet: true, + }); + const sentBytes = sender.sendRawPacket.mock.calls[0]![1]; + + const built = await buildOidbRequest(sender, reactionSpec, { + groupId: 12345, + sequence: 99, + code: '128516', + isSet: true, + }); + expect(built.wireName).toBe('OidbSvcTrpcTcp.0x9082_1'); + expect(Buffer.from(built.bytes).equals(Buffer.from(sentBytes))).toBe(true); + }); + + it('uses static subCommand when resolveSubCommand is absent', async () => { + const sender = makeSender(); + const built = await buildOidbRequest(sender, staticSubSpec, { groupId: 1 }); + expect(built.wireName).toBe('OidbSvcTrpcTcp.0xeac_1'); + }); +}); + +describe('parseOidbResponse', () => { + it('decodes wire bytes via spec.decode and runs spec.deserialize on the body', () => { + const sender = makeSender(); + const envBytes = protobuf_encode>({ + command: 0x9082, + subCommand: 1, + body: { type: 7 } as OidbGroupReaction, + }); + type Echo = { type: number }; + const spec: OidbCallSpec = { + command: 0x9082, + subCommand: 1, + serialize: () => ({}) as OidbGroupReaction, + deserialize: (_ctx, b) => ({ type: b.type ?? 0 }), + encode: (env) => protobuf_encode>(env), + decode: (bytes) => protobuf_decode>(bytes), + }; + expect(parseOidbResponse(sender, spec, envBytes)).toEqual({ type: 7 }); + }); + + it('substitutes empty body when the envelope lacks one', () => { + const sender = makeSender(); + const envBytes = protobuf_encode>({ command: 0x9082, subCommand: 1 }); + const deserialize = vi.fn(() => ({ ok: true })); + parseOidbResponse(sender, { ...staticSubSpec, deserialize } as any, envBytes); + // deserialize now receives (ctx, body) — body is the second arg. + expect(deserialize.mock.calls[0]![1]).toEqual({}); + }); +}); + +describe('OidbError', () => { + it('formats message with hex cmd and decimal subcmd', () => { + const e = new OidbError(123, 'denied', 0x9084, 2); + expect(e.message).toBe('OIDB error 123 on 0x9084_2: denied'); + expect(e.name).toBe('OidbError'); + expect(e.code).toBe(123); + expect(e.serverMsg).toBe('denied'); + expect(e.command).toBe(0x9084); + expect(e.subCommand).toBe(2); + }); +}); diff --git a/packages/protocol/tests/oidb-services/_pb-oracle.ts b/packages/protocol/tests/oidb-services/_pb-oracle.ts new file mode 100644 index 00000000..ae8f403e --- /dev/null +++ b/packages/protocol/tests/oidb-services/_pb-oracle.ts @@ -0,0 +1,68 @@ +// Independent protobuf byte-oracle helpers for OIDB service tests. +// +// These build expected wire bytes from FIRST PRINCIPLES (the RE'd tag +// numbers), NOT via proton — so asserting `proton.encode(...) === pb.env(...)` +// goes red if a proto-defs field tag is wrong or silently changes. A +// symmetric encode→decode round-trip can't catch a tag swap; this can. +// +// Emission rules mirror proton's observed behaviour: fields in ASCENDING +// tag order, and proto3 defaults (0 / '' / false) OMITTED. + +function uvarint(n: number): number[] { + const out: number[] = []; + let x = n; + + do { + let b = x % 128; + x = Math.floor(x / 128); + + if (x > 0) { + b |= 0x80; + } + + out.push(b); + } while (x > 0); + + return out; +} + +function tag(field: number, wire: number): number[] { + return uvarint(field * 8 + wire); +} + +/** varint field (wire type 0). */ +export function v(field: number, value: number): number[] { + return [...tag(field, 0), ...uvarint(value)]; +} + +/** length-delimited string field (wire type 2). */ +export function s(field: number, str: string): number[] { + const b = [...Buffer.from(str, 'utf8')]; + return [...tag(field, 2), ...uvarint(b.length), ...b]; +} + +/** length-delimited sub-message field (wire type 2). */ +export function m(field: number, msg: number[]): number[] { + return [...tag(field, 2), ...uvarint(msg.length), ...msg]; +} + +/** + * Wrap a body in the OidbBase envelope exactly as proton emits it: + * command(1), subCommand(2) [omitted when 0], body(4), reserved(12)=1 + * [only when uinForm]. errorCode(3)/errorMsg(5) are defaults → omitted. + */ +export function env(command: number, subCommand: number, body: number[], uinForm: boolean): string { + const out = [...v(1, command)]; + + if (subCommand !== 0) { + out.push(...v(2, subCommand)); + } + + out.push(...m(4, body)); + + if (uinForm) { + out.push(...v(12, 1)); + } + + return Buffer.from(out).toString('hex'); +} diff --git a/packages/protocol/tests/oidb-services/contacts/fetch-download-rkeys.test.ts b/packages/protocol/tests/oidb-services/contacts/fetch-download-rkeys.test.ts new file mode 100644 index 00000000..57621baf --- /dev/null +++ b/packages/protocol/tests/oidb-services/contacts/fetch-download-rkeys.test.ts @@ -0,0 +1,89 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { NTV2RichMediaReq, NTV2RichMediaResp } from '@snowluma/proto-defs/oidb-actions/media'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { FetchDownloadRkeys } from '../../../src/oidb-services/contacts/fetch-download-rkeys'; + +function makeSender(body?: NTV2RichMediaResp) { + const responseData = + body !== undefined + ? Buffer.from(protobuf_encode>({ body })) + : Buffer.alloc(0); + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('FetchDownloadRkeys namespace', () => { + it('declares 0x9067_202 with uinForm=true', () => { + expect(FetchDownloadRkeys.command).toBe(0x9067); + expect(FetchDownloadRkeys.subCommand).toBe(202); + expect(FetchDownloadRkeys.uinForm).toBe(true); + }); + + describe('serialize', () => { + it('requests the (private=10, group=20, fallback=2) image scopes', () => { + const out = FetchDownloadRkeys.serialize({} as any, {}); + expect(out.downloadRkey?.types).toEqual([10, 20, 2]); + }); + + it('packages the fixed reqHead { common, scene, client }', () => { + const out = FetchDownloadRkeys.serialize({} as any, {}); + expect(out.reqHead).toEqual({ + common: { requestId: 1, command: 202 }, + scene: { requestType: 2, businessType: 1, sceneType: 0 }, + client: { agentType: 2 }, + }); + }); + }); + + describe('deserialize', () => { + it('throws when respHead.retCode is non-zero', () => { + expect(() => + FetchDownloadRkeys.deserialize( + {} as any, + { + respHead: { retCode: 42, message: 'bad' }, + } as any, + ), + ).toThrow('bad'); + }); + + it('passes through on retCode = 0', () => { + const body = { respHead: { retCode: 0 }, downloadRkey: { rkeys: [] } }; + expect(FetchDownloadRkeys.deserialize({} as any, body as any)).toBe(body); + }); + + it('falls back to a generic message when none is provided', () => { + expect(() => + FetchDownloadRkeys.deserialize( + {} as any, + { + respHead: { retCode: 1 }, + } as any, + ), + ).toThrow('fetch download rkey failed'); + }); + }); + + describe('invoke (e2e)', () => { + it('routes to OidbSvcTrpcTcp.0x9067_202 with reserved=1', async () => { + const sender = makeSender({ + respHead: { retCode: 0 }, + downloadRkey: { rkeys: [] }, + } as any); + await FetchDownloadRkeys.invoke(sender); + const [wireName, bytes] = sender.sendRawPacket.mock.calls[0]!; + expect(wireName).toBe('OidbSvcTrpcTcp.0x9067_202'); + const env = protobuf_decode>(bytes); + expect(env.reserved).toBe(1); + }); + }); +}); diff --git a/packages/protocol/tests/oidb-services/contacts/fetch-friend-list-page.test.ts b/packages/protocol/tests/oidb-services/contacts/fetch-friend-list-page.test.ts new file mode 100644 index 00000000..defb5dec --- /dev/null +++ b/packages/protocol/tests/oidb-services/contacts/fetch-friend-list-page.test.ts @@ -0,0 +1,199 @@ +import { describe, expect, it, vi } from 'vitest'; +import { + protobuf_decode, + protobuf_encode, + type bool, + type bytes, + type pb, + type pb_repeated, + type uint_32, +} from '@snowluma/proton'; +import type { OidbBase, OidbSvcTrpcTcp0xFD4_1Response } from '@snowluma/proto-defs/oidb'; +import type { OidbFriendListRequest } from '@snowluma/proto-defs/oidb-actions/base'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { FetchFriendListPage } from '../../../src/oidb-services/contacts/fetch-friend-list-page'; + +interface TestFriendCategory { + categoryId?: pb<1, uint_32>; + categoryName?: pb<2, string>; + memberCount?: pb<3, uint_32>; + sortId?: pb<4, uint_32>; +} + +interface TestFriendListResponse { + cookie?: pb<2, bytes>; + isEnd?: pb<3, bool>; + categories?: pb_repeated<102, TestFriendCategory>; +} + +function makeSender(body?: OidbSvcTrpcTcp0xFD4_1Response) { + const responseData = + body !== undefined + ? Buffer.from(protobuf_encode>({ body })) + : Buffer.alloc(0); + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('FetchFriendListPage namespace', () => { + it('declares 0xFD4_1', () => { + expect(FetchFriendListPage.command).toBe(0xfd4); + expect(FetchFriendListPage.subCommand).toBe(1); + }); + + describe('serialize', () => { + it('omits the cookie on the first page', () => { + const out = FetchFriendListPage.serialize({} as any, {} as any) as any; + expect(out.cookie).toBeUndefined(); + expect(out.friendCount).toBe(300); + expect(out.field4).toBe(0); + }); + + it('replays the opaque response cookie in request tag 5', () => { + const cookie = Uint8Array.from([0x08, 0x96, 0x01, 0xff]); + const out = FetchFriendListPage.serialize({} as any, { cookie } as any) as any; + expect(out.cookie).toEqual(cookie); + expect(out.nextUin).toBeUndefined(); + }); + + it('requests basic identity and public profiles in the same roster page', () => { + const out = FetchFriendListPage.serialize({} as any, {}) as any; + expect(out.body).toEqual([ + { + type: 1, + number: { + numbers: [ + 103, 102, 20002, 27394, 105, 107, 20003, 20004, 20020, 20009, 20011, + 20016, 20021, 20031, 20037, 41756, 41757, 42241, + ], + }, + }, + { type: 4, number: { numbers: [100, 101, 102] } }, + ]); + }); + }); + + describe('invoke (e2e)', () => { + it('routes to OidbSvcTrpcTcp.0xfd4_1', async () => { + const sender = makeSender({ friends: [] }); + await FetchFriendListPage.invoke(sender, {}); + expect(sender.sendRawPacket.mock.calls[0]![0]).toBe('OidbSvcTrpcTcp.0xfd4_1'); + }); + + it('maps a page of friends and categories into domain types', async () => { + const body = { + cookie: Uint8Array.from([0xaa]), + friends: [ + { + uin: 10001, + uid: 'u1', + customGroup: 7, + additional: [ + { + type: 1, + layer1: { + properties: [ + { code: 20002, value: Buffer.from('Alice') }, + { code: 103, value: Buffer.from('A') }, + ], + }, + }, + ], + }, + ], + categories: [ + { + categoryId: 7, + categoryName: 'Work', + memberCount: 1, + sortId: 1, + }, + ], + }; + const sender = makeSender(body as any); + await expect(FetchFriendListPage.invoke(sender, {} as any)).resolves.toEqual({ + entries: [ + { + categoryId: 7, + friend: { + uin: 10001, + uid: 'u1', + nickname: 'Alice', + remark: 'A', + categoryId: 7, + }, + }, + ], + categories: [ + { + categoryId: 7, + categoryName: 'Work', + memberCount: 1, + sortId: 1, + }, + ], + cookie: Uint8Array.from([0xaa]), + }); + }); + + it('fills missing friend fields with 0 / empty string', () => { + expect( + FetchFriendListPage.deserialize({} as any, { + friends: [{ additional: [] }], + }), + ).toEqual({ + entries: [ + { + categoryId: 0, + friend: { uin: 0, uid: '', nickname: '0', remark: '', categoryId: 0 }, + }, + ], + categories: [], + cookie: undefined, + }); + }); + + it('encodes a follow-up cookie in the envelope body', async () => { + const sender = makeSender({ friends: [] }); + const cookie = Uint8Array.from([0xaa, 0xbb]); + await FetchFriendListPage.invoke(sender, { cookie } as any); + const [, bytes] = sender.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + expect((env.body as any)?.cookie).toEqual(cookie); + }); + + it('decodes category metadata and the opaque response cookie', () => { + const bytes = protobuf_encode>({ + body: { + cookie: Uint8Array.from([0xaa, 0xbb]), + isEnd: false, + categories: [ + { + categoryId: 7, + categoryName: 'Work', + memberCount: 2, + sortId: 3, + }, + ], + }, + }); + const body = FetchFriendListPage.decode(bytes).body as any; + expect(body.cookie).toEqual(Uint8Array.from([0xaa, 0xbb])); + expect(body.categories).toEqual([ + { + categoryId: 7, + categoryName: 'Work', + memberCount: 2, + sortId: 3, + }, + ]); + }); + }); +}); diff --git a/packages/protocol/tests/oidb-services/contacts/fetch-group-detail.test.ts b/packages/protocol/tests/oidb-services/contacts/fetch-group-detail.test.ts new file mode 100644 index 00000000..d12feb59 --- /dev/null +++ b/packages/protocol/tests/oidb-services/contacts/fetch-group-detail.test.ts @@ -0,0 +1,249 @@ +// 0x88D_0 — fetch a single group's detail by uin (resolves non-member groups, +// e.g. to name a group invite). Verifies the request mask + envelope (reserved=0, +// matching Lagrange's GetGroupInfoService) and the response decode. + +import { describe, expect, it, vi } from 'vitest'; +import { + protobuf_decode, + protobuf_encode, + type pb, + type uint_32, + type uint_64, +} from '@snowluma/proton'; +import type { OidbBase, OidbSvcTrpcTcp0x88D_0Response } from '@snowluma/proto-defs/oidb'; +import type { OidbGroupDetailRequest } from '@snowluma/proto-defs/oidb-actions/base'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { FetchGroupDetail } from '../../../src/oidb-services/contacts/fetch-group-detail'; + +interface GroupDetailResultsFixture { + name?: pb<15, string>; + shutUpAllTimestamp?: pb<45, uint_32>; + leftover59?: pb<59, uint_32>; + privilegeFlag?: pb<56, uint_32>; + groupFlagExt4?: pb<101, uint_32>; +} + +interface GroupDetailInfoFixture { + uin?: pb<1, uint_64>; + results?: pb<3, GroupDetailResultsFixture>; +} + +interface GroupDetailResponseFixture { + groupInfo?: pb<1, GroupDetailInfoFixture>; +} + +function makeSender(body?: OidbSvcTrpcTcp0x88D_0Response) { + const responseData = + body !== undefined + ? Buffer.from(protobuf_encode>({ body })) + : Buffer.alloc(0); + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('FetchGroupDetail namespace', () => { + it('declares 0x88D_0 with no uinForm (reserved stays 0, per Lagrange)', () => { + expect(FetchGroupDetail.command).toBe(0x88d); + expect(FetchGroupDetail.subCommand).toBe(0); + expect((FetchGroupDetail as { uinForm?: boolean }).uinForm).toBeUndefined(); + }); + + describe('serialize', () => { + it('builds the field1 + uin + request-mask flags', () => { + const out = FetchGroupDetail.serialize({} as any, { groupUin: 601692726 }); + expect(out.field1).toBe(537099973); + expect(out.config?.uin).toBe(BigInt(601692726)); + expect(out.config?.flags?.name).toBe(''); // string mask → request the name + expect(out.config?.flags?.memberCount).toBe(true); + expect(out.config?.flags?.maxMemberCount).toBe(true); + expect( + (out.config?.flags as { shutUpAllTimestamp?: boolean })?.shutUpAllTimestamp, + ).toBe(true); + expect(out.config?.flags?.privilegeFlag).toBe(true); + expect(out.config?.flags?.groupFlagExt4).toBe(true); + expect(out.config?.flags?.addType).toBe(true); + expect(out.config?.flags?.noFingerOpen).toBe(true); + expect(out.config?.flags?.noCodeFingerOpen).toBe(true); + expect(out.config?.flags?.question).toBe(''); + expect(out.config?.flags?.answer).toBe(''); + }); + }); + + describe('deserialize', () => { + it('passes the response body through', () => { + const body = { groupInfo: { uin: 1n, results: { name: 'X' } } } as any; + expect(FetchGroupDetail.deserialize({} as any, body)).toBe(body); + }); + }); + + describe('invoke (e2e)', () => { + it('routes to OidbSvcTrpcTcp.0x88d_0 and round-trips the uin in the request', async () => { + const sender = makeSender({ groupInfo: { uin: 601692726n, results: { name: 'g' } } }); + await FetchGroupDetail.invoke(sender, { groupUin: 601692726 }); + + const [cmd, bytes] = sender.sendRawPacket.mock.calls[0]!; + expect(cmd).toBe('OidbSvcTrpcTcp.0x88d_0'); + const env = protobuf_decode>(bytes); + expect(env.command).toBe(0x88d); + expect(env.subCommand ?? 0).toBe(0); // proto3 omits the 0 default on the wire + expect(env.reserved ?? 0).toBe(0); // NOT uin-form + expect(env.body?.config?.uin).toBe(BigInt(601692726)); + expect(env.body?.config?.flags?.question).toBe(''); + expect(env.body?.config?.flags?.answer).toBe(''); + }); + + it('keeps empty question/answer masks on the wire (#393)', async () => { + const sender = makeSender({ groupInfo: { uin: 1n, results: { name: 'g' } } }); + await FetchGroupDetail.invoke(sender, { groupUin: 1 }); + + const bytes = sender.sendRawPacket.mock.calls[0]![1] as Uint8Array; + // length-delimited empty string: field 24/25, wire type 2, length 0. + const hex = Buffer.from(bytes).toString('hex'); + expect(hex).toContain('c20100'); + expect(hex).toContain('ca0100'); + }); + + it('returns the decoded group detail (name + counts)', async () => { + const sender = makeSender({ + groupInfo: { + uin: 601692726n, + results: { name: '测试群', memberCount: 42n, maxMemberCount: 500n }, + }, + }); + const out = await FetchGroupDetail.invoke(sender, { groupUin: 601692726 }); + expect(out.groupInfo?.results?.name).toBe('测试群'); + expect(out.groupInfo?.results?.memberCount).toBe(42n); + expect(out.groupInfo?.results?.maxMemberCount).toBe(500n); + }); + + it('decodes the group-wide mute timestamp from a detail response', async () => { + const responseData = Buffer.from( + protobuf_encode>({ + body: { + groupInfo: { + uin: 601692726n, + results: { name: 'Muted Group', shutUpAllTimestamp: 4_294_967_295 }, + }, + }, + }), + ); + const sender = makeSender(); + sender.sendRawPacket.mockResolvedValue({ + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }); + + const out = await FetchGroupDetail.invoke(sender, { groupUin: 601692726 }); + + expect(out.groupInfo?.results?.shutUpAllTimestamp).toBe(4_294_967_295); + }); + + it('does not treat 0x88D results tag 59 as the mute expire (#356)', async () => { + const responseData = Buffer.from( + protobuf_encode>({ + body: { + groupInfo: { + uin: 601692726n, + results: { name: 'Unmuted Group', leftover59: 4_294_967_295 }, + }, + }, + }), + ); + const sender = makeSender(); + sender.sendRawPacket.mockResolvedValue({ + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }); + + const out = await FetchGroupDetail.invoke(sender, { groupUin: 601692726 }); + expect(out.groupInfo?.results?.shutUpAllTimestamp ?? undefined).toBeUndefined(); + }); + + it('decodes the complete privilege flag used by masked group mutations', async () => { + const responseData = Buffer.from( + protobuf_encode>({ + body: { + groupInfo: { + uin: 601692726n, + results: { privilegeFlag: 0x82100001 }, + }, + }, + }), + ); + const sender = makeSender(); + sender.sendRawPacket.mockResolvedValue({ + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }); + + const out = await FetchGroupDetail.invoke(sender, { groupUin: 601692726 }); + expect(out.groupInfo?.results?.privilegeFlag).toBe(0x82100001); + }); + + it('decodes the complete extended group flag used by history visibility', async () => { + const responseData = Buffer.from( + protobuf_encode>({ + body: { + groupInfo: { + uin: 601692726n, + results: { groupFlagExt4: 0x80000005 }, + }, + }, + }), + ); + const sender = makeSender(); + sender.sendRawPacket.mockResolvedValue({ + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }); + + const out = await FetchGroupDetail.invoke(sender, { groupUin: 601692726 }); + expect(out.groupInfo?.results?.groupFlagExt4).toBe(0x80000005); + }); + + it('decodes add-option and search flags from the detail response', async () => { + const responseData = Buffer.from( + protobuf_encode>({ + body: { + groupInfo: { + uin: 601692726n, + results: { addType: 2, noFingerOpen: 1, noCodeFingerOpen: 0 }, + }, + }, + }), + ); + const sender = makeSender(); + sender.sendRawPacket.mockResolvedValue({ + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }); + + const out = await FetchGroupDetail.invoke(sender, { groupUin: 601692726 }); + expect(out.groupInfo?.results?.addType).toBe(2); + expect(out.groupInfo?.results?.noFingerOpen).toBe(1); + expect(out.groupInfo?.results?.noCodeFingerOpen ?? 0).toBe(0); + }); + }); +}); diff --git a/packages/protocol/tests/oidb-services/contacts/fetch-group-list.test.ts b/packages/protocol/tests/oidb-services/contacts/fetch-group-list.test.ts new file mode 100644 index 00000000..03bee821 --- /dev/null +++ b/packages/protocol/tests/oidb-services/contacts/fetch-group-list.test.ts @@ -0,0 +1,142 @@ +import { describe, expect, it, vi } from 'vitest'; +import { + protobuf_decode, + protobuf_encode, + type pb, + type pb_repeated, + type uint_32, +} from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { OidbGroupListRequest } from '@snowluma/proto-defs/oidb-actions/base'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { FetchGroupList } from '../../../src/oidb-services/contacts/fetch-group-list'; + +interface GroupInfoFixture { + groupName?: pb<5, string>; + shutUpAllTimestamp?: pb<10, uint_32>; + leftover31?: pb<31, uint_32>; +} + +interface GroupFixture { + groupUin?: pb<3, uint_32>; + info?: pb<4, GroupInfoFixture>; +} + +interface GroupListFixture { + groups?: pb_repeated<2, GroupFixture>; +} + +function makeSender() { + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.alloc(0), + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('FetchGroupList namespace', () => { + it('declares 0xFE5_2 with uinForm=true', () => { + expect(FetchGroupList.command).toBe(0xfe5); + expect(FetchGroupList.subCommand).toBe(2); + expect(FetchGroupList.uinForm).toBe(true); + }); + + describe('invoke (e2e)', () => { + it('routes to OidbSvcTrpcTcp.0xfe5_2 with envelope reserved=1', async () => { + const sender = makeSender(); + await FetchGroupList.invoke(sender); + const [wireName, bytes] = sender.sendRawPacket.mock.calls[0]!; + expect(wireName).toBe('OidbSvcTrpcTcp.0xfe5_2'); + const env = protobuf_decode>(bytes); + expect(env.reserved).toBe(1); + }); + + it('requests group remarks without enabling the other costly optional fields', async () => { + const sender = makeSender(); + await FetchGroupList.invoke(sender); + const [, bytes] = sender.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + expect(env.body?.config?.config1?.groupName).toBe(true); + expect(env.body?.config?.config1?.memberCount).toBe(true); + expect(env.body?.config?.config1?.field10).toBe(true); + expect(env.body?.config?.config2?.remark).toBe(true); + + for (const field of [ + 'field1', + 'field2', + 'field4', + 'field5', + 'field6', + 'field7', + 'field8', + ] as const) { + expect(env.body?.config?.config2?.[field] ?? false, field).toBe(false); + } + + // proto3 default false — omitted on wire, decoded as null. + expect(env.body?.config?.config1?.field5002 ?? false).toBe(false); + expect(env.body?.config?.config1?.field5003 ?? false).toBe(false); + }); + + it('decodes the group-wide mute timestamp returned with the joined roster', async () => { + const responseData = Buffer.from( + protobuf_encode>({ + body: { + groups: [ + { + groupUin: 123456789, + info: { + groupName: 'Muted Group', + shutUpAllTimestamp: 4_294_967_295, + }, + }, + ], + }, + }), + ); + const sender = makeSender(); + sender.sendRawPacket.mockResolvedValue({ + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }); + + const out = await FetchGroupList.invoke(sender); + + expect(out.groups?.[0]?.info?.shutUpAllTimestamp).toBe(4_294_967_295); + }); + + it('does not treat 0xFE5 info tag 31 as the mute expire (#356)', async () => { + const responseData = Buffer.from( + protobuf_encode>({ + body: { + groups: [ + { + groupUin: 123456789, + info: { groupName: 'Unmuted Group', leftover31: 4_294_967_295 }, + }, + ], + }, + }), + ); + const sender = makeSender(); + sender.sendRawPacket.mockResolvedValue({ + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }); + + const out = await FetchGroupList.invoke(sender); + + expect(out.groups?.[0]?.info?.shutUpAllTimestamp ?? undefined).toBeUndefined(); + }); + }); +}); diff --git a/packages/protocol/tests/oidb-services/contacts/fetch-group-member-list-page.test.ts b/packages/protocol/tests/oidb-services/contacts/fetch-group-member-list-page.test.ts new file mode 100644 index 00000000..4c048186 --- /dev/null +++ b/packages/protocol/tests/oidb-services/contacts/fetch-group-member-list-page.test.ts @@ -0,0 +1,157 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { OidbBase, OidbSvcTrpcTcp0xFE7_3Response } from '@snowluma/proto-defs/oidb'; +import type { OidbGroupMemberListRequest } from '@snowluma/proto-defs/oidb-actions/base'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { FetchGroupMemberListPage } from '../../../src/oidb-services/contacts/fetch-group-member-list-page'; + +function makeSender(body?: OidbSvcTrpcTcp0xFE7_3Response) { + const responseData = + body !== undefined + ? Buffer.from(protobuf_encode>({ body })) + : Buffer.alloc(0); + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('FetchGroupMemberListPage namespace', () => { + it('declares 0xFE7_3', () => { + expect(FetchGroupMemberListPage.command).toBe(0xfe7); + expect(FetchGroupMemberListPage.subCommand).toBe(3); + }); + + describe('serialize', () => { + it('omits the token on the first page', () => { + const out = FetchGroupMemberListPage.serialize({} as any, { + groupId: 12345, + token: '', + }) as any; + expect(out.token).toBeUndefined(); + expect(out.groupUin).toBe(12345); + }); + + it('threads the server-issued token into follow-up pages', () => { + const out = FetchGroupMemberListPage.serialize({} as any, { + groupId: 12345, + token: 'next-cursor', + }) as any; + expect(out.token).toBe('next-cursor'); + }); + + it('always requests the full member-field projection', () => { + const out = FetchGroupMemberListPage.serialize({} as any, { + groupId: 1, + token: '', + }) as any; + expect(out.body).toMatchObject({ + memberName: true, + memberCard: true, + level: true, + joinTimestamp: true, + lastMsgTimestamp: true, + shutUpTimestamp: true, + permission: true, + }); + }); + }); + + describe('invoke (e2e)', () => { + it('routes to OidbSvcTrpcTcp.0xfe7_3', async () => { + const sender = makeSender(); + await FetchGroupMemberListPage.invoke(sender, { groupId: 1, token: '' }); + expect(sender.sendRawPacket.mock.calls[0]![0]).toBe('OidbSvcTrpcTcp.0xfe7_3'); + }); + + it('encodes envelope body with the groupId', async () => { + const sender = makeSender(); + await FetchGroupMemberListPage.invoke(sender, { groupId: 12345, token: '' }); + const [, bytes] = sender.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + expect(env.body?.groupUin).toBe(12345); + }); + + it('maps members into GroupMemberInfo and leaves isRobot unset-false', async () => { + const sender = makeSender({ + token: 'next', + members: [ + { + uin: { uid: 'u_admin', uin: 22222 }, + memberName: 'Ada', + specialTitle: 't', + memberCard: { memberCard: Buffer.from('card') }, + level: { level: 12 }, + joinTimestamp: 1, + lastMsgTimestamp: 2, + shutUpTimestamp: 3, + permission: 2, + }, + ], + }); + await expect( + FetchGroupMemberListPage.invoke(sender, { groupId: 42, token: '' }), + ).resolves.toEqual({ + token: 'next', + members: [ + { + uin: 22222, + uid: 'u_admin', + nickname: 'Ada', + card: 'card', + isRobot: false, + role: 'admin', + level: 12, + title: 't', + joinTime: 1, + lastSentTime: 2, + shutUpTime: 3, + }, + ], + }); + }); + + it('maps permission 1 to owner and missing fields to 0 / empty', () => { + expect( + FetchGroupMemberListPage.deserialize({} as any, { + members: [{ permission: 1 }, {}], + }), + ).toEqual({ + token: '', + members: [ + { + uin: 0, + uid: '', + nickname: '', + card: '', + isRobot: false, + role: 'owner', + level: 0, + title: '', + joinTime: 0, + lastSentTime: 0, + shutUpTime: 0, + }, + { + uin: 0, + uid: '', + nickname: '', + card: '', + isRobot: false, + role: 'member', + level: 0, + title: '', + joinTime: 0, + lastSentTime: 0, + shutUpTime: 0, + }, + ], + }); + }); + }); +}); diff --git a/packages/protocol/tests/oidb-services/contacts/fetch-group-requests.test.ts b/packages/protocol/tests/oidb-services/contacts/fetch-group-requests.test.ts new file mode 100644 index 00000000..185e2d5a --- /dev/null +++ b/packages/protocol/tests/oidb-services/contacts/fetch-group-requests.test.ts @@ -0,0 +1,214 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { pb, pb_repeated, uint_32, uint_64 } from '@snowluma/proton'; +import type { OidbBase, OidbSvcTrpcTcp0x10C0Response } from '@snowluma/proto-defs/oidb'; +import type { OidbGroupRequestList } from '@snowluma/proto-defs/oidb-actions/base'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { + FetchGroupRequests, + FetchGroupRequestsByUid, + groupRequestNotifyType, +} from '../../../src/oidb-services/contacts/fetch-group-requests'; + +interface ObservedGroupRequestUserByUin { + uin?: pb<1, uint_32>; + name?: pb<2, string>; +} + +interface ObservedGroupRequestGroup { + groupUin?: pb<1, uint_32>; + groupName?: pb<2, string>; +} + +interface ObservedGroupRequestByUin { + sequence?: pb<1, uint_64>; + eventType?: pb<2, uint_32>; + state?: pb<3, uint_32>; + group?: pb<4, ObservedGroupRequestGroup>; + target?: pb<5, ObservedGroupRequestUserByUin>; + invitor?: pb<6, ObservedGroupRequestUserByUin>; + operatorUser?: pb<7, ObservedGroupRequestUserByUin>; + comment?: pb<10, string>; +} + +interface ObservedGroupRequestResponseByUin { + requests?: pb_repeated<1, ObservedGroupRequestByUin>; + cursor?: pb<2, uint_64>; +} + +function makeSender() { + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.alloc(0), + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('FetchGroupRequests namespace', () => { + it('interprets list discriminators in the wire-to-notification direction', () => { + expect(groupRequestNotifyType(1)).toBe(7); + expect(groupRequestNotifyType(2)).toBe(1); + expect(groupRequestNotifyType(7)).toBe(10); + expect(groupRequestNotifyType(10)).toBe(2); + expect(groupRequestNotifyType(22)).toBe(5); + expect(groupRequestNotifyType(100)).toBe(17); + expect(groupRequestNotifyType(5)).toBeUndefined(); + expect(groupRequestNotifyType(99)).toBeUndefined(); + }); + + it('declares 0x10C0', () => { + expect(FetchGroupRequests.command).toBe(0x10c0); + expect(FetchGroupRequests.uinForm).toBe(true); + expect((FetchGroupRequestsByUid as { uinForm?: boolean }).uinForm).toBeUndefined(); + }); + + describe('resolveSubCommand', () => { + it('returns 1 when filtered=false (main inbox)', () => { + expect(FetchGroupRequests.resolveSubCommand({ filtered: false })).toBe(1); + }); + it('returns 2 when filtered=true (low-priority inbox)', () => { + expect(FetchGroupRequests.resolveSubCommand({ filtered: true })).toBe(2); + }); + }); + + describe('serialize', () => { + it('defaults to one native 50-item screen at cursor zero', () => { + expect(FetchGroupRequests.serialize({} as any, { filtered: false })).toEqual({ + count: 50, + field2: 0n, + }); + expect(FetchGroupRequestsByUid.serialize({} as any, { filtered: true })).toEqual({ + count: 50, + field2: 0n, + }); + }); + + it('preserves a caller-provided count and 64-bit cursor', () => { + const cursor = 1_785_406_628_779_279n; + expect( + FetchGroupRequests.serialize({} as any, { + filtered: false, + count: 80, + cursor, + }), + ).toEqual({ count: 80, field2: cursor }); + }); + }); + + describe('invoke (e2e)', () => { + it('routes to 0x10c0_1 for the main inbox', async () => { + const sender = makeSender(); + await FetchGroupRequests.invoke(sender, { filtered: false }); + expect(sender.sendRawPacket.mock.calls[0]![0]).toBe('OidbSvcTrpcTcp.0x10c0_1'); + }); + + it('routes to 0x10c0_2 for the filtered inbox', async () => { + const sender = makeSender(); + await FetchGroupRequests.invoke(sender, { filtered: true }); + expect(sender.sendRawPacket.mock.calls[0]![0]).toBe('OidbSvcTrpcTcp.0x10c0_2'); + }); + + it('encodes the native envelope and requested screen', async () => { + const sender = makeSender(); + await FetchGroupRequests.invoke(sender, { + filtered: false, + count: 80, + cursor: 1_785_406_628_779_279n, + }); + const [, bytes] = sender.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + expect(env.reserved).toBe(1); + expect(env.body).toEqual({ count: 80, field2: 1_785_406_628_779_279n }); + }); + + it('decodes numeric account identifiers from the native response', async () => { + const responseData = Buffer.from( + protobuf_encode>({ + body: { + requests: [ + { + sequence: 1_785_525_232_784_291n, + eventType: 1, + state: 1, + group: { groupUin: 1_095_186_374, groupName: 'group' }, + target: { uin: 1_234_567_890, name: 'requester' }, + invitor: { uin: 2_345_678_901, name: 'inviter' }, + operatorUser: { uin: 3_456_789_012, name: 'operator' }, + comment: 'please', + }, + ], + cursor: 1_785_406_628_779_279n, + }, + }), + ); + const result: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }; + const sender = { sendRawPacket: vi.fn(async () => result) }; + + const response = await FetchGroupRequests.invoke(sender, { filtered: false }); + + expect(response.requests?.[0]).toMatchObject({ + eventType: 1, + target: { uin: 1_234_567_890, uid: '', name: 'requester' }, + invitor: { uin: 2_345_678_901, uid: '', name: 'inviter' }, + operatorUser: { uin: 3_456_789_012, uid: '', name: 'operator' }, + }); + expect(response.field2).toBe(1_785_406_628_779_279n); + }); + + it('keeps string account identifiers from the native reply', async () => { + const responseData = Buffer.from( + protobuf_encode>({ + body: { + requests: [ + { + sequence: 99n, + eventType: 22, + state: 1, + group: { groupUin: 1001, groupName: 'group' }, + target: { uid: 'u_target', name: 'invitee' }, + invitor: { uid: 'u_inviter', name: 'inviter' }, + comment: 'join us', + }, + ], + }, + }), + ); + const sender = { + sendRawPacket: vi.fn(async () => ({ + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + })), + }; + + const response = await FetchGroupRequests.invoke(sender, { filtered: false }); + + expect(response.requests?.[0]).toMatchObject({ + eventType: 22, + target: { uid: 'u_target', uin: 0, name: 'invitee' }, + invitor: { uid: 'u_inviter', uin: 0, name: 'inviter' }, + comment: 'join us', + }); + }); + + it('keeps the UID response path on the non-native envelope', async () => { + const sender = makeSender(); + await FetchGroupRequestsByUid.invoke(sender, { filtered: false }); + const [, bytes] = sender.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + expect(env.reserved ?? 0).toBe(0); + }); + }); +}); diff --git a/packages/protocol/tests/oidb-services/contacts/fetch-robot-uin-ranges.test.ts b/packages/protocol/tests/oidb-services/contacts/fetch-robot-uin-ranges.test.ts new file mode 100644 index 00000000..5e07b1d7 --- /dev/null +++ b/packages/protocol/tests/oidb-services/contacts/fetch-robot-uin-ranges.test.ts @@ -0,0 +1,88 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { OidbRobotUinRangeRequest } from '@snowluma/proto-defs/oidb-actions/base'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { FetchRobotUinRanges } from '../../../src/oidb-services/contacts/fetch-robot-uin-ranges'; + +// Captured from QQ's 0x496_0 response and reduced to the versioned range +// config. Keeping this as wire bytes makes the test independent of the +// encoder used by the implementation. +const RESPONSE_FIXTURE = Buffer.from( + '0896091000180022492a4708ce01120c08fee8fdb20c10fee8fdb20c' + + '120c08cda8fed00a10cfc5ffd00a120a08c0f8e01f10c0f8e01f12' + + '0c08c0dcb5be0e10ffe0f2be0e120c0880fd8ef80e10ffa9f1fc0e', + 'hex', +); + +function makeSender(responseData = RESPONSE_FIXTURE) { + const result: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }; + return { sendRawPacket: vi.fn(async () => result) }; +} + +describe('FetchRobotUinRanges namespace', () => { + it('routes the read-only request to 0x496_0 with QQ-compatible fields', async () => { + const sender = makeSender(); + + await FetchRobotUinRanges.invoke(sender); + + expect(sender.sendRawPacket).toHaveBeenCalledOnce(); + const [wireName, bytes] = sender.sendRawPacket.mock.calls[0]!; + expect(wireName).toBe('OidbSvcTrpcTcp.0x496_0'); + const request = protobuf_decode>(bytes); + expect(request.body).toEqual({ + justFetchMsgConfig: 1, + type: 1, + version: 0, + aioKeywordVersion: 0, + }); + }); + + it('decodes the server version and every inclusive UIN range', async () => { + const sender = makeSender(); + + await expect(FetchRobotUinRanges.invoke(sender)).resolves.toEqual({ + version: 206, + ranges: [ + { minUin: 3328144510, maxUin: 3328144510 }, + { minUin: 2854196301, maxUin: 2854216399 }, + { minUin: 66600000, maxUin: 66600000 }, + { minUin: 3889000000, maxUin: 3889999999 }, + { minUin: 4010000000, maxUin: 4019999999 }, + ], + }); + }); + + it('rejects a successful envelope that omits the robot range config', async () => { + const sender = makeSender(Buffer.from('089609100018002200', 'hex')); + + await expect(FetchRobotUinRanges.invoke(sender)).rejects.toThrow( + '0x496_0 response missing robot range config', + ); + }); + + it('rejects a robot config without its version', () => { + expect(() => + FetchRobotUinRanges.deserialize(makeSender(), { + robotConfig: { + ranges: [{ minUin: 3_889_000_000n, maxUin: 3_889_999_999n }], + }, + }), + ).toThrow('0x496_0 response missing robot range config version'); + }); + + it('rejects an empty range set instead of classifying everyone as human', () => { + expect(() => + FetchRobotUinRanges.deserialize(makeSender(), { + robotConfig: { version: 206, ranges: [] }, + }), + ).toThrow('0x496_0 response has no robot UIN ranges'); + }); +}); diff --git a/packages/protocol/tests/oidb-services/contacts/fetch-user-profile-by-uid.test.ts b/packages/protocol/tests/oidb-services/contacts/fetch-user-profile-by-uid.test.ts new file mode 100644 index 00000000..0df5c9bf --- /dev/null +++ b/packages/protocol/tests/oidb-services/contacts/fetch-user-profile-by-uid.test.ts @@ -0,0 +1,122 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { + OidbUserInfoByUidRequest, + OidbUserInfoResponse, +} from '@snowluma/proto-defs/oidb-actions/base'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { FetchUserProfileByUid } from '../../../src/oidb-services/contacts/fetch-user-profile-by-uid'; + +function makeSender(body?: OidbUserInfoResponse) { + const responseData = + body !== undefined + ? Buffer.from(protobuf_encode>({ body })) + : Buffer.alloc(0); + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('FetchUserProfileByUid namespace (UID form)', () => { + it('declares 0xFE1_2 WITHOUT uinForm (reserved stays 0)', () => { + expect(FetchUserProfileByUid.command).toBe(0xfe1); + expect(FetchUserProfileByUid.subCommand).toBe(2); + // No `uinForm` exposed — matches Lagrange's isUid=false path on + // the UID variant. Important because the server distinguishes + // UIN vs UID requests via the envelope's `reserved` field. + expect((FetchUserProfileByUid as any).uinForm).toBeUndefined(); + }); + + it('packages the uid as field 1 (string), routes to OidbSvcTrpcTcp.0xfe1_2', async () => { + const sender = makeSender({ body: { uin: 950929451, uid: 'u_abc' } as any }); + await FetchUserProfileByUid.invoke(sender, { uid: 'u_abc' }); + const [wireName, bytes] = sender.sendRawPacket.mock.calls[0]!; + expect(wireName).toBe('OidbSvcTrpcTcp.0xfe1_2'); + const env = protobuf_decode>(bytes); + expect(env.body?.uid).toBe('u_abc'); + // reserved=0 (default, omitted on wire) because this is the UID + // variant — Lagrange's `OidbSvcTrpcTcp0xFE1_2.cs:9` does the same. + expect(env.reserved ?? 0).toBe(0); + }); + + it('requests the same property key catalogue as the UIN variant', async () => { + const sender = makeSender({ body: { uin: 1, uid: 'u' } as any }); + await FetchUserProfileByUid.invoke(sender, { uid: 'u' }); + const [, bytes] = sender.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + const keys = env.body?.keys?.map((k) => k.key); + expect(keys).toContain(20002); // nickname — the whole point + expect(keys).toContain(105); // QQ level + expect(keys).toContain(40410); + expect(keys).toContain(42031); + }); + + it('decodes qidian flags from number-properties (0 when absent)', async () => { + const qidian = makeSender({ + body: { + uin: 10002, + uid: 'u', + properties: { + bytesProperties: [], + numberProperties: [ + { number1: 40410, number2: 1 }, + { number1: 42031, number2: 1 }, + ], + }, + } as any, + }); + const out = await FetchUserProfileByUid.invoke(qidian, { uid: 'u' }); + expect(out.qidianMasterFlag).toBe(1); + expect(out.qidianCrewFlag).toBe(1); + expect(out.qidianCrewFlag2).toBe(0); + + const normal = makeSender({ + body: { + uin: 10001, + uid: 'u', + properties: { + bytesProperties: [], + numberProperties: [{ number1: 20009, number2: 1 }], + }, + } as any, + }); + const out2 = await FetchUserProfileByUid.invoke(normal, { uid: 'u' }); + expect(out2.qidianMasterFlag).toBe(0); + expect(out2.qidianCrewFlag).toBe(0); + expect(out2.qidianCrewFlag2).toBe(0); + }); + + it('decodes nickname + uin from the response so the pipeline can fill them into the event', async () => { + // This is the actual point of the namespace — the stranger's + // nickname + uin lands here so the pipeline can patch them onto + // the in-flight group_invite event. + const enc = (s: string) => new TextEncoder().encode(s); + const sender = makeSender({ + body: { + uin: 950929451, + uid: 'u_abc', + properties: { + bytesProperties: [{ code: 20002, value: enc('小明') }], + numberProperties: [], + }, + } as any, + }); + const out = await FetchUserProfileByUid.invoke(sender, { uid: 'u_abc' }); + expect(out.uin).toBe(950929451); + expect(out.nickname).toBe('小明'); + }); + + it('throws when the response body is missing entirely', async () => { + const sender = makeSender({}); + await expect(FetchUserProfileByUid.invoke(sender, { uid: 'u_abc' })).rejects.toThrow( + 'user info response body missing', + ); + }); +}); diff --git a/packages/protocol/tests/oidb-services/contacts/fetch-user-profile.test.ts b/packages/protocol/tests/oidb-services/contacts/fetch-user-profile.test.ts new file mode 100644 index 00000000..0f7bacc9 --- /dev/null +++ b/packages/protocol/tests/oidb-services/contacts/fetch-user-profile.test.ts @@ -0,0 +1,341 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { + AvatarInfo, + OidbUserInfoRequest, + OidbUserInfoByUidRequest, + OidbUserInfoResponse, +} from '@snowluma/proto-defs/oidb-actions/base'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { FetchUserProfile } from '../../../src/oidb-services/contacts/fetch-user-profile'; +import { FetchUserProfileByUid } from '../../../src/oidb-services/contacts/fetch-user-profile-by-uid'; + +function makeSender(body?: OidbUserInfoResponse) { + const responseData = + body !== undefined + ? Buffer.from(protobuf_encode>({ body })) + : Buffer.alloc(0); + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('FetchUserProfile namespace', () => { + it('declares 0xFE1_2 with uinForm=true', () => { + expect(FetchUserProfile.command).toBe(0xfe1); + expect(FetchUserProfile.subCommand).toBe(2); + expect(FetchUserProfile.uinForm).toBe(true); + }); + + describe('invoke (e2e)', () => { + it.each(['uin', 'uid'])( + 'preserves registration and membership through the %s request', + async (form) => { + const sender = makeSender({ + body: { + uin: 10001, + uid: 'u_test', + properties: { + numberProperties: [ + { number1: 20026, number2: 1_200_000_000 }, + { number1: 41756, number2: 0x103 }, + { number1: 41757, number2: 1 << 5 }, + { number1: 42241, number2: 0 }, + ], + }, + }, + }); + const profile = + form === 'uin' + ? await FetchUserProfile.invoke(sender, { uin: 10001 }) + : await FetchUserProfileByUid.invoke(sender, { uid: 'u_test' }); + expect(profile).toMatchObject({ + regTime: 1_200_000_000, + vipFlag: true, + yearVipFlag: true, + svipFlag: true, + vipLevel: 7, + }); + const [, bytes] = sender.sendRawPacket.mock.calls[0]!; + const request = + form === 'uin' + ? protobuf_decode>(bytes) + : protobuf_decode>(bytes); + expect(request.body?.keys?.map((k) => k.key)).toEqual( + expect.arrayContaining([20026, 41756, 41757, 42241]), + ); + }, + ); + + it.each([ + [0, 0, 0], + [1, 0, 1], + [0x100, 1, 2], + [0x103, 0x801, 13], + ])( + 'decodes membership flags %i and level mask %i as level %i', + async (flags, mask, level) => { + const sender = makeSender({ + body: { + uin: 10001, + properties: { + numberProperties: [ + { number1: 41756, number2: flags }, + { number1: 41757, number2: mask }, + { number1: 42241, number2: 0 }, + ], + }, + }, + }); + expect(await FetchUserProfile.invoke(sender, { uin: 10001 })).toMatchObject({ + vipFlag: !!(flags & 1), + yearVipFlag: !!(flags & 2), + svipFlag: !!(flags & 0x100), + vipLevel: level, + profile: { vipLevel: level }, + }); + }, + ); + + it('keeps missing registration and membership fields unavailable', async () => { + const profile = await FetchUserProfile.invoke(makeSender({ body: { uin: 10001 } }), { + uin: 10001, + }); + + for (const name of [ + 'regTime', + 'vipFlag', + 'yearVipFlag', + 'svipFlag', + 'vipLevel', + 'birthdayYear', + 'birthdayMonth', + 'birthdayDay', + ]) { + expect(profile).not.toHaveProperty(name); + } + }); + + it.each(['uin', 'uid'])( + 'decodes the birthday bytes-property through the %s request', + async (form) => { + const sender = makeSender({ + body: { + uin: 10001, + uid: 'u_test', + properties: { + bytesProperties: [ + { code: 20031, value: new Uint8Array([0x07, 0xd0, 3, 15]) }, + ], + }, + }, + }); + const profile = + form === 'uin' + ? await FetchUserProfile.invoke(sender, { uin: 10001 }) + : await FetchUserProfileByUid.invoke(sender, { uid: 'u_test' }); + expect(profile).toMatchObject({ + birthdayYear: 2000, + birthdayMonth: 3, + birthdayDay: 15, + }); + }, + ); + + it.each([ + [12, 31], + [2, 29], + ])('keeps a hidden-year birthday %i/%i', async (month, day) => { + const sender = makeSender({ + body: { + uin: 10001, + properties: { + bytesProperties: [ + { code: 20031, value: new Uint8Array([0, 0, month, day]) }, + ], + }, + }, + }); + const profile = await FetchUserProfile.invoke(sender, { uin: 10001 }); + expect(profile).toMatchObject({ birthdayMonth: month, birthdayDay: day }); + expect(profile).not.toHaveProperty('birthdayYear'); + }); + + it.each([ + ['an unset birthday', [0x07, 0xd0, 0, 0]], + ['an all-zero value', [0, 0, 0, 0]], + ['an out-of-range month', [0x07, 0xd0, 13, 1]], + ['an out-of-range day', [0x07, 0xd0, 1, 32]], + ['April 31', [0x07, 0xd0, 4, 31]], + ['a leap day in 1900', [0x07, 0x6c, 2, 29]], + ['a truncated value', [0x07, 0xd0, 3]], + ['an oversized value', [0x07, 0xd0, 3, 15, 0]], + ])('leaves the birthday unavailable for %s', async (_case, value) => { + const sender = makeSender({ + body: { + uin: 10001, + properties: { + bytesProperties: [{ code: 20031, value: new Uint8Array(value) }], + }, + }, + }); + const profile = await FetchUserProfile.invoke(sender, { uin: 10001 }); + + for (const name of ['birthdayYear', 'birthdayMonth', 'birthdayDay']) { + expect(profile).not.toHaveProperty(name); + } + }); + + it('routes to OidbSvcTrpcTcp.0xfe1_2 with reserved=1', async () => { + const sender = makeSender({ body: { uin: 10001, uid: 'u' } as any }); + await FetchUserProfile.invoke(sender, { uin: 10001 }); + const [wireName, bytes] = sender.sendRawPacket.mock.calls[0]!; + expect(wireName).toBe('OidbSvcTrpcTcp.0xfe1_2'); + const env = protobuf_decode>(bytes); + expect(env.reserved).toBe(1); + }); + + it('requests every property key in the catalogue (nickname, level, …)', async () => { + const sender = makeSender({ body: { uin: 10001, uid: 'u' } as any }); + await FetchUserProfile.invoke(sender, { uin: 10001 }); + const [, bytes] = sender.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + const keys = env.body?.keys?.map((k) => k.key); + expect(keys).toContain(20002); // nickname + expect(keys).toContain(105); // level + expect(keys).toContain(101); // avatar + expect(keys).toContain(102); // sign + expect(keys).toContain(103); // remark + expect(keys).toContain(20031); // birthday + expect(keys).toContain(40410); // qidian crew flag (企点员工标志) + expect(keys).toContain(42031); // qidian master flag (企点主号标志) + }); + + it('decodes qidian flags from number-properties (0 when absent)', async () => { + // 企点员工号:两个标志均为 1;普通账号服务器不返回这两个 key → 缺省 0 + const qidian = makeSender({ + body: { + uin: 10002, + uid: 'u', + properties: { + bytesProperties: [], + numberProperties: [ + { number1: 40410, number2: 1 }, + { number1: 42031, number2: 1 }, + ], + }, + } as any, + }); + const out = await FetchUserProfile.invoke(qidian, { uin: 10002 }); + expect(out.qidianMasterFlag).toBe(1); + expect(out.qidianCrewFlag).toBe(1); + expect(out.qidianCrewFlag2).toBe(0); + + // 普通账号:无企点 key → 全 0 + const normal = makeSender({ + body: { + uin: 10001, + uid: 'u', + properties: { + bytesProperties: [], + numberProperties: [{ number1: 20009, number2: 1 }], + }, + } as any, + }); + const out2 = await FetchUserProfile.invoke(normal, { uin: 10001 }); + expect(out2.qidianMasterFlag).toBe(0); + expect(out2.qidianCrewFlag).toBe(0); + expect(out2.qidianCrewFlag2).toBe(0); + }); + + it('decodes nickname / remark / qid / sign from bytes-properties', async () => { + const enc = (s: string) => new TextEncoder().encode(s); + const sender = makeSender({ + body: { + uin: 10001, + uid: 'u', + properties: { + bytesProperties: [ + { code: 20002, value: enc('Nick') }, + { code: 103, value: enc('Bestie') }, + { code: 27394, value: enc('myqid') }, + { code: 102, value: enc('Hello') }, + ], + numberProperties: [], + }, + } as any, + }); + const out = await FetchUserProfile.invoke(sender, { uin: 10001 }); + expect(out.nickname).toBe('Nick'); + expect(out.remark).toBe('Bestie'); + expect(out.qid).toBe('myqid'); + expect(out.sign).toBe('Hello'); + }); + + it('decodes sex / age / level from number-properties (sex enum)', async () => { + const cases: Array<[number, string]> = [ + [1, 'male'], + [2, 'female'], + [255, 'unknown'], + [0, 'unknown'], + ]; + + for (const [sexNum, expected] of cases) { + const sender = makeSender({ + body: { + uin: 1, + uid: 'u', + properties: { + bytesProperties: [], + numberProperties: [ + { number1: 20009, number2: sexNum }, + { number1: 20037, number2: 25 }, + { number1: 105, number2: 7 }, + ], + }, + } as any, + }); + const out = await FetchUserProfile.invoke(sender, { uin: 1 }); + expect(out.sex).toBe(expected); + expect(out.age).toBe(25); + expect(out.level).toBe(7); + } + }); + + it('decodes the avatar URL with the "640" size suffix appended', async () => { + const avatarBytes = protobuf_encode({ url: 'https://q.qlogo.cn/abc/' }); + const sender = makeSender({ + body: { + uin: 10001, + uid: 'u', + properties: { + bytesProperties: [{ code: 101, value: avatarBytes }], + numberProperties: [], + }, + } as any, + }); + const out = await FetchUserProfile.invoke(sender, { uin: 10001 }); + expect(out.avatar).toBe('https://q.qlogo.cn/abc/640'); + }); + + it('defaults uin to the requested value when the server omits its echo', async () => { + const sender = makeSender({ body: { uid: 'u' } as any }); + const out = await FetchUserProfile.invoke(sender, { uin: 99999 }); + expect(out.uin).toBe(99999); + }); + + it('throws when body is entirely missing from the envelope', async () => { + const sender = makeSender({}); + await expect(FetchUserProfile.invoke(sender, { uin: 1 })).rejects.toThrow( + 'user info response body missing', + ); + }); + }); +}); diff --git a/packages/protocol/tests/oidb-services/contacts/get-buddy-recommend-ark.test.ts b/packages/protocol/tests/oidb-services/contacts/get-buddy-recommend-ark.test.ts new file mode 100644 index 00000000..8168a8b0 --- /dev/null +++ b/packages/protocol/tests/oidb-services/contacts/get-buddy-recommend-ark.test.ts @@ -0,0 +1,62 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_encode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { OidbBuddyRecommendArkResp } from '@snowluma/proto-defs/oidb-actions/contact-ark'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; +import { GetBuddyRecommendArk } from '../../../src/oidb-services/contacts/get-buddy-recommend-ark'; +import { env, v, s } from '../_pb-oracle'; + +function makeSender(ark = '{"app":"com.tencent.contact.lua"}') { + const respEnv: OidbBase = { + command: 0x12b6, + subCommand: 0, + body: { ark }, + }; + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.from(protobuf_encode>(respEnv)), + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('GetBuddyRecommendArk namespace', () => { + it('declares command 0x12b6 sub 0, plain OIDB envelope', () => { + expect(GetBuddyRecommendArk.command).toBe(0x12b6); + expect(GetBuddyRecommendArk.subCommand).toBe(0); + expect(GetBuddyRecommendArk.uinForm).toBe(false); + }); + + it('serializes uin + phone placeholder + the hard-coded jump_url template', () => { + const out = GetBuddyRecommendArk.serialize({} as any, { userId: 5 }); + expect(out).toMatchObject({ uin: 5, phoneNumber: '-' }); + expect(out.jumpUrl).toBe( + 'mqqapi://card/show_pslcard?src_type=internal&source=sharecard&version=1&uin=5', + ); + }); + + it('byte-oracle: routes to 0x12b6_0 and locks req tags {1:uin, 2:phone, 3:jumpUrl}', async () => { + const sender = makeSender(); + const ark = await GetBuddyRecommendArk.invoke(sender, { userId: 10000 }); + expect(ark).toBe('{"app":"com.tencent.contact.lua"}'); + + const [cmd, bytes] = sender.sendRawPacket.mock.calls[0]!; + expect(cmd).toBe('OidbSvcTrpcTcp.0x12b6_0'); + const jumpUrl = + 'mqqapi://card/show_pslcard?src_type=internal&source=sharecard&version=1&uin=10000'; + const body = [...v(1, 10000), ...s(2, '-'), ...s(3, jumpUrl)]; + expect(Buffer.from(bytes).toString('hex')).toBe(env(0x12b6, 0, body, false)); + }); + + it('includes phone tag 2 when a phone number is provided', () => { + const out = GetBuddyRecommendArk.serialize({} as any, { userId: 7, phoneNumber: '123' }); + expect(out.phoneNumber).toBe('123'); + }); + + it('deserialize returns the ark json string ("" when absent)', () => { + expect(GetBuddyRecommendArk.deserialize({} as any, { ark: 'x' })).toBe('x'); + expect(GetBuddyRecommendArk.deserialize({} as any, {})).toBe(''); + }); +}); diff --git a/packages/protocol/tests/oidb-services/contacts/get-group-recommend-ark.test.ts b/packages/protocol/tests/oidb-services/contacts/get-group-recommend-ark.test.ts new file mode 100644 index 00000000..c22f9cbc --- /dev/null +++ b/packages/protocol/tests/oidb-services/contacts/get-group-recommend-ark.test.ts @@ -0,0 +1,55 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_encode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { OidbGroupRecommendArkResp } from '@snowluma/proto-defs/oidb-actions/contact-ark'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; +import { GetGroupRecommendArk } from '../../../src/oidb-services/contacts/get-group-recommend-ark'; +import { env, v } from '../_pb-oracle'; + +function makeSender(arkJson = '{"app":"com.tencent.structmsg"}') { + const respEnv: OidbBase = { + command: 0x8b7, + subCommand: 5, + body: { errCode: 0, arkJson }, + }; + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.from(protobuf_encode>(respEnv)), + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('GetGroupRecommendArk namespace', () => { + it('declares command 0x8B7 sub 5, uin form', () => { + expect(GetGroupRecommendArk.command).toBe(0x8b7); + expect(GetGroupRecommendArk.subCommand).toBe(5); + expect(GetGroupRecommendArk.uinForm).toBe(true); + }); + + it('serializes the constant reqType=1 / flag=1 + group code', () => { + expect(GetGroupRecommendArk.serialize({} as any, { groupId: 999 })).toEqual({ + reqType: 1, + groupCode: 999, + flag: 1, + }); + }); + + it('byte-oracle: routes to 0x8b7_5 and locks req tags {1:reqType, 2:groupCode, 5:flag}', async () => { + const sender = makeSender(); + const ark = await GetGroupRecommendArk.invoke(sender, { groupId: 12345 }); + expect(ark).toBe('{"app":"com.tencent.structmsg"}'); + + const [cmd, bytes] = sender.sendRawPacket.mock.calls[0]!; + expect(cmd).toBe('OidbSvcTrpcTcp.0x8b7_5'); + const body = [...v(1, 1), ...v(2, 12345), ...v(5, 1)]; + expect(Buffer.from(bytes).toString('hex')).toBe(env(0x8b7, 5, body, true)); + }); + + it('deserialize returns the ark json from response field 5', () => { + expect(GetGroupRecommendArk.deserialize({} as any, { errCode: 0, arkJson: 'g' })).toBe('g'); + expect(GetGroupRecommendArk.deserialize({} as any, {})).toBe(''); + }); +}); diff --git a/packages/protocol/tests/oidb-services/contacts/get-group-share-link.test.ts b/packages/protocol/tests/oidb-services/contacts/get-group-share-link.test.ts new file mode 100644 index 00000000..920d2115 --- /dev/null +++ b/packages/protocol/tests/oidb-services/contacts/get-group-share-link.test.ts @@ -0,0 +1,113 @@ +import { describe, expect, it, vi } from 'vitest'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; +import { GetGroupShareLink } from '../../../src/oidb-services/contacts/get-group-share-link'; +import type { OidbSender } from '../../../src/oidb-service'; +import { env, m, s, v } from '../_pb-oracle'; + +const shortUrl = 'https://qm.qq.com/q/example'; +const params: GetGroupShareLink.Params = { + groupId: 12345, + needShortUrl: true, + srcId: 73, + additionalParam: '', +}; + +function sender(body: number[] = m(12, s(1, shortUrl))) { + const packet: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.from(env(0x9060, 3, body, true), 'hex'), + }; + return { + packet, + sendRawPacket: vi.fn().mockResolvedValue(packet), + }; +} + +describe('GetGroupShareLink', () => { + it('requests a short group link using the verified packet layout', async () => { + const deps = sender(); + + await expect(GetGroupShareLink.invoke(deps, params)).resolves.toBe(shortUrl); + + const body = [...v(1, 2), ...m(12, [...v(1, 12345), ...s(3, ''), ...v(4, 1)])]; + expect(deps.sendRawPacket).toHaveBeenCalledExactlyOnceWith( + 'OidbSvcTrpcTcp.0x9060_3', + new Uint8Array(Buffer.from(env(0x9060, 3, body, true), 'hex')), + ); + }); + + it('preserves a false short-link flag, additional parameters, and the returned long URL', async () => { + const url = 'https://qm.qq.com/cgi-bin/qm/qr?k=example&jump_from=webapi'; + const additionalParam = 'source=群二维码&test=1'; + const deps = sender(m(12, s(1, url))); + + await expect( + GetGroupShareLink.invoke(deps, { ...params, needShortUrl: false, additionalParam }), + ).resolves.toBe(url); + + const body = [...v(1, 2), ...m(12, [...v(1, 12345), ...s(3, additionalParam), ...v(4, 0)])]; + expect(Buffer.from(deps.sendRawPacket.mock.calls[0]![1]).toString('hex')).toBe( + env(0x9060, 3, body, true), + ); + }); + + it.each([0, 73, 0xffffffff])( + 'retains client-compatible behavior for source %s', + async (srcId) => { + const deps = sender(); + await GetGroupShareLink.invoke(deps, { ...params, srcId }); + + const body = [...v(1, 2), ...m(12, [...v(1, 12345), ...s(3, ''), ...v(4, 1)])]; + expect(Buffer.from(deps.sendRawPacket.mock.calls[0]![1]).toString('hex')).toBe( + env(0x9060, 3, body, true), + ); + }, + ); + + it.each([ + ['missing result', []], + ['missing URL', m(12, [])], + ['empty URL', m(12, s(1, ''))], + ['blank URL', m(12, s(1, ' '))], + ] as const)('rejects a successful response with %s', async (_name, body) => { + await expect(GetGroupShareLink.invoke(sender([...body]), params)).rejects.toThrow( + 'group share link response did not include a URL', + ); + }); + + it('preserves server errors even if the response includes a URL', async () => { + const deps = sender(); + deps.packet.responseData = Buffer.from([ + ...v(1, 0x9060), + ...v(2, 3), + ...v(3, 403), + ...m(4, m(12, s(1, shortUrl))), + ...s(5, 'permission denied'), + ]); + + await expect(GetGroupShareLink.invoke(deps, params)).rejects.toMatchObject({ + name: 'OidbError', + code: 403, + serverMsg: 'permission denied', + }); + }); + + it('reports a transport timeout instead of inventing a URL', async () => { + const deps = sender(); + deps.packet.success = false; + deps.packet.gotResponse = false; + deps.packet.errorMessage = 'request timed out'; + + await expect(GetGroupShareLink.invoke(deps, params)).rejects.toThrow('request timed out'); + }); + + it('rejects a truncated response', async () => { + const deps = sender(); + deps.packet.responseData = Buffer.from([0x22, 0x03, 0x62, 0xff]); + + await expect(GetGroupShareLink.invoke(deps, params)).rejects.toThrow(); + }); +}); diff --git a/packages/protocol/tests/oidb-services/contacts/public-profile.test.ts b/packages/protocol/tests/oidb-services/contacts/public-profile.test.ts new file mode 100644 index 00000000..131544fc --- /dev/null +++ b/packages/protocol/tests/oidb-services/contacts/public-profile.test.ts @@ -0,0 +1,176 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_encode } from '@snowluma/proton'; +import type { OidbBase, OidbSvcTrpcTcp0xFD4_1Response } from '@snowluma/proto-defs/oidb'; +import type { OidbUserInfoResponse } from '@snowluma/proto-defs/oidb-actions/base'; +import { FetchFriendListPage } from '../../../src/oidb-services/contacts/fetch-friend-list-page'; +import { FetchUserProfile } from '../../../src/oidb-services/contacts/fetch-user-profile'; +import { FetchUserProfileByUid } from '../../../src/oidb-services/contacts/fetch-user-profile-by-uid'; +import { decodePublicProfile } from '../../../src/oidb-services/contacts/public-profile'; + +// Synthetic wire fixture, independent of the privilege schema: top-level tag 3; +// body tags 2 (jump), 3 (open), 4 (closed); both entry URLs are present. +const icons = Buffer.from( + '1a2c1204636172641a1e08022000280032066e6f726d616c3a0664656c75786542046a756d704801220408032001', + 'hex', +); +const bytes = [ + { code: 102, value: Buffer.from('') }, + { code: 20011, value: Buffer.from('mail@example.test') }, + { code: 20016, value: Buffer.from('') }, + { code: 20003, value: Buffer.from('中国') }, + { code: 20004, value: Buffer.from('省份') }, + { code: 20020, value: Buffer.from('城市') }, + { code: 20005, value: Buffer.from('邮编') }, + { code: 20021, value: Buffer.from('学校') }, + { code: 20031, value: Uint8Array.from([0, 0, 2, 29]) }, + { code: 107, value: icons }, +]; +const numbers = [ + [20037, 0], + [105, 0], + [20009, 2], + [41756, 0], + [41757, 0], + [42241, 0], +] as const; + +function sender(responseData: Uint8Array) { + return { + sendRawPacket: vi.fn(async () => ({ + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.from(responseData), + })), + }; +} + +describe('public contact profiles', () => { + it.each(['roster', 'uin', 'uid'])( + 'preserves presence and privilege lists through the %s wire codec', + async (form) => { + let profile; + + if (form === 'roster') { + const page = await FetchFriendListPage.invoke( + sender( + protobuf_encode>({ + body: { + friends: [ + { + uin: 10001, + customGroup: 0, + additional: [ + { + type: 1, + layer1: { + properties: bytes, + numberProperties: numbers.map( + ([key, value]) => ({ key, value }), + ), + }, + }, + ], + }, + ], + }, + }), + ), + {}, + ); + expect(page.entries[0]?.friend.categoryId).toBe(0); + profile = page.entries[0]?.friend.profile; + } else { + const deps = sender( + protobuf_encode>({ + body: { + body: { + uin: 10001, + uid: 'u_test', + properties: { + bytesProperties: bytes, + numberProperties: numbers.map(([number1, number2]) => ({ + number1, + number2, + })), + }, + }, + }, + }), + ); + const user = + form === 'uin' + ? await FetchUserProfile.invoke(deps, { uin: 10001 }) + : await FetchUserProfileByUid.invoke(deps, { uid: 'u_test' }); + profile = user.profile; + } + + expect(profile).toEqual({ + sign: '', + age: 0, + level: 0, + sex: 'female', + email: 'mail@example.test', + phoneNum: '', + country: '中国', + province: '省份', + city: '城市', + college: '学校', + birthdayMonth: 2, + birthdayDay: 29, + vipFlag: false, + svipFlag: false, + yearVipFlag: false, + vipLevel: 0, + privilegeIcons: { + jumpUrl: 'card', + open: [ + { + type: 2, + level: 0, + flag: 0, + iconUrl: 'normal', + deluxeIconUrl: 'deluxe', + jumpUrl: 'jump', + isBig: 1, + }, + ], + closed: [{ type: 3, level: 1 }], + }, + }); + }, + ); + + it('distinguishes missing, unavailable and explicitly empty icon lists', () => { + expect(decodePublicProfile(new Map(), new Map())).toEqual({}); + expect(decodePublicProfile(new Map([[107, Buffer.alloc(0)]]), new Map())).toEqual({}); + expect(decodePublicProfile(new Map([[107, Buffer.from([0x1a, 0])]]), new Map())).toEqual({ + privilegeIcons: { open: [], closed: [] }, + }); + }); + + it('rejects truncated icons and invalid text without returning successful empty data', () => { + expect(() => + decodePublicProfile(new Map([[107, Buffer.from([0x1a, 0xff])]]), new Map()), + ).toThrow('invalid privilege data'); + expect(() => + decodePublicProfile(new Map([[107, Buffer.from([0x18, 0])]]), new Map()), + ).toThrow('invalid privilege data'); + expect(() => + decodePublicProfile(new Map([[107, Buffer.from('1a041a020a00', 'hex')]]), new Map()), + ).toThrow('invalid privilege data'); + expect(() => + decodePublicProfile(new Map([[20011, Buffer.from([0xff])]]), new Map()), + ).toThrow('invalid UTF-8'); + }); + + it('rejects a profile response belonging to a different requested account', async () => { + const deps = sender( + protobuf_encode>({ body: { body: { uin: 10002 } } }), + ); + await expect(FetchUserProfile.invoke(deps, { uin: 10001 })).rejects.toThrow( + 'does not match', + ); + }); +}); diff --git a/packages/protocol/tests/oidb-services/contacts/send-tuwen-ark.test.ts b/packages/protocol/tests/oidb-services/contacts/send-tuwen-ark.test.ts new file mode 100644 index 00000000..27e1ada8 --- /dev/null +++ b/packages/protocol/tests/oidb-services/contacts/send-tuwen-ark.test.ts @@ -0,0 +1,163 @@ +import { describe, expect, it, vi } from 'vitest'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; +import { SendTuwenArk } from '../../../src/oidb-services/contacts/send-tuwen-ark'; +import { env, v, s, m } from '../_pb-oracle'; + +function makeSender(body = m(1, [...v(2, 10001), ...v(4, 0)])) { + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.from(env(0xdc2, 34, body, false), 'hex'), + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('SendTuwenArk namespace', () => { + it('declares command 0xdc2 sub 34, SSO: OidbSvcTrpcTcp.0xdc2_34', () => { + expect(SendTuwenArk.command).toBe(0xdc2); + expect(SendTuwenArk.subCommand).toBe(34); + expect(SendTuwenArk.uinForm).toBe(false); + }); + + it('serializes fixed appId=100446242, field2=1, field3=0, field5={1:1}', () => { + const out = SendTuwenArk.serialize({} as any, { + targetId: 12345, + peerType: 1, + title: 'T', + desc: 'D', + summary: 'S', + jumpUrl: 'https://example.com', + previewUrl: '', + }); + expect(out.appInfo).toMatchObject({ + appId: 100446242, + field2: 1, + field3: 0, + field5: { field1: 1 }, + targetId: 12345, + }); + }); + + it('byte-oracle: C2C (peerType=0) — peerType omitted on wire, field3=0 present, previewUrl present', async () => { + const sender = makeSender(); + await SendTuwenArk.invoke(sender, { + targetId: 2863253201, + peerType: 0, + title: 'QQ开放平台', + desc: 'QQ小程序是连接广轻用户的新方式,覆盖8亿新生代活跃网民。轻便快捷的开发模式,将能在QQ内被轻松获取和传播', + summary: '[分享] QQ开放平台', + jumpUrl: 'https://q.qq.com/r', + previewUrl: + 'https://tangram-1251316161.file.myqcloud.com/files/20210721/e50a8e37e08f29bf1ffc7466e1950690.png', + }); + + const [cmd, bytes] = sender.sendRawPacket.mock.calls[0]!; + expect(cmd).toBe('OidbSvcTrpcTcp.0xdc2_34'); + + // AppInfo embedding: field5={1:1}, content={1:1, 10:title, 11:desc, 12:summary, 13:jumpUrl, 14:previewUrl}, then appId/field2/field3/targetId + const field5 = m(5, [...v(1, 1)]); + const content = m(12, [ + ...v(1, 1), + ...s(10, 'QQ开放平台'), + ...s( + 11, + 'QQ小程序是连接广轻用户的新方式,覆盖8亿新生代活跃网民。轻便快捷的开发模式,将能在QQ内被轻松获取和传播', + ), + ...s(12, '[分享] QQ开放平台'), + ...s(13, 'https://q.qq.com/r'), + ...s( + 14, + 'https://tangram-1251316161.file.myqcloud.com/files/20210721/e50a8e37e08f29bf1ffc7466e1950690.png', + ), + ]); + const appInfo = m(1, [ + ...v(1, 100446242), + ...v(2, 1), + ...v(3, 0), // field3=0 is present in wire (pb_optional preserves zero as expected) + ...field5, + ...v(11, 2863253201), + ...content, + ]); + // Meta: peerType=0 is present in wire (pb_optional preserves zero as expected) + const meta = m(2, [...v(1, 0), ...v(2, 2863253201)]); + const body = [...appInfo, ...meta]; + expect(Buffer.from(bytes).toString('hex')).toBe(env(0xdc2, 34, body, false)); + }); + + it('byte-oracle: group (peerType=1) — peerType present, field3=0 present, empty previewUrl present', async () => { + const sender = makeSender(); + await SendTuwenArk.invoke(sender, { + targetId: 123456789, + peerType: 1, + title: '测试标题', + desc: '测试描述', + summary: '测试摘要', + jumpUrl: 'https://example.com/jump', + previewUrl: '', + }); + + const [cmd, bytes] = sender.sendRawPacket.mock.calls[0]!; + expect(cmd).toBe('OidbSvcTrpcTcp.0xdc2_34'); + + const field5 = m(5, [...v(1, 1)]); + const content = m(12, [ + ...v(1, 1), + ...s(10, '测试标题'), + ...s(11, '测试描述'), + ...s(12, '测试摘要'), + ...s(13, 'https://example.com/jump'), + ...s(14, ''), // previewUrl='' is present in wire (pb_optional preserves empty string as expected) + ]); + const appInfo = m(1, [ + ...v(1, 100446242), + ...v(2, 1), + ...v(3, 0), // field3=0 is present + ...field5, + ...v(11, 123456789), + ...content, + ]); + // Meta: peerType=1 present + const meta = m(2, [...v(1, 1), ...v(2, 123456789)]); + const body = [...appInfo, ...meta]; + expect(Buffer.from(bytes).toString('hex')).toBe(env(0xdc2, 34, body, false)); + }); + + it('rejects a delivery refusal even when the outer envelope succeeds', async () => { + const sender = makeSender( + m(1, [ + ...v(1, 0), + ...v(2, 10001), + ...s(3, ''), + ...v(4, 901501), + ...s(5, 'imagent service_error:319_[oidb] rule type not match appid'), + ]), + ); + await expect( + SendTuwenArk.invoke(sender, { + targetId: 10001, + peerType: 0, + title: 'title', + desc: '', + summary: '', + jumpUrl: 'https://example.com', + previewUrl: '', + }), + ).rejects.toThrow(/901501.*rule type not match appid/); + }); + + it('checks every delivery result and requires an acknowledgement', () => { + const sender = makeSender(); + expect(() => SendTuwenArk.deserialize(sender, {})).toThrow('no delivery result'); + expect(() => SendTuwenArk.deserialize(sender, { results: [] })).toThrow( + 'no delivery result', + ); + expect(() => + SendTuwenArk.deserialize(sender, { + results: [{ errorCode: 0 }, { errorCode: 901501, errorMessage: 'refused' }], + }), + ).toThrow('refused'); + expect(SendTuwenArk.deserialize(sender, { results: [{}] })).toBeUndefined(); + }); +}); diff --git a/packages/protocol/tests/oidb-services/contacts/set-friend-category.test.ts b/packages/protocol/tests/oidb-services/contacts/set-friend-category.test.ts new file mode 100644 index 00000000..f0bc039c --- /dev/null +++ b/packages/protocol/tests/oidb-services/contacts/set-friend-category.test.ts @@ -0,0 +1,118 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_encode } from '@snowluma/proton'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; +import type { OidbBase, OidbEmpty } from '@snowluma/proto-defs/oidb'; +import { SetFriendCategory } from '../../../src/oidb-services/contacts/set-friend-category'; +import { env, s, v } from '../_pb-oracle'; + +function packet(errorCode = 0, errorMessage = ''): SendPacketResult { + return { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.from( + protobuf_encode>({ + command: 0x1255, + subCommand: 0, + errorCode, + errorMsg: errorMessage, + }), + ), + }; +} + +describe('SetFriendCategory namespace', () => { + it('uses the client command and UIN-form envelope confirmed by the native worker', () => { + expect(SetFriendCategory.command).toBe(0x1255); + expect(SetFriendCategory.subCommand).toBe(0); + expect(SetFriendCategory.uinForm).toBe(true); + }); + + it('serializes the friend UID and category ID with the verified field layout', async () => { + const sendRawPacket = vi.fn(async () => packet()); + + await SetFriendCategory.invoke( + { sendRawPacket }, + { + uid: 'u_friend', + categoryId: 7, + }, + ); + + expect(sendRawPacket).toHaveBeenCalledOnce(); + const [command, bytes] = sendRawPacket.mock.calls[0]!; + expect(command).toBe('OidbSvcTrpcTcp.0x1255_0'); + expect(Buffer.from(bytes).toString('hex')).toBe( + env(0x1255, 0, [...s(1, 'u_friend'), ...v(2, 7)], true), + ); + }); + + it('accepts the idempotent success code used by the QQ client', async () => { + const sendRawPacket = vi.fn(async () => packet(2_001_002)); + + await expect( + SetFriendCategory.invoke( + { sendRawPacket }, + { + uid: 'u_friend', + categoryId: 7, + }, + ), + ).resolves.toBeUndefined(); + }); + + it('accepts the idempotent result when the packet layer reports it directly', async () => { + const sendRawPacket = vi.fn(async (): Promise => ({ + success: false, + gotResponse: true, + errorCode: 2_001_002, + errorMessage: 'already applied', + responseData: null, + })); + + await expect( + SetFriendCategory.invoke( + { sendRawPacket }, + { + uid: 'u_friend', + categoryId: 7, + }, + ), + ).resolves.toBeUndefined(); + }); + + it('surfaces explicit server rejections', async () => { + const sendRawPacket = vi.fn(async () => packet(42, 'denied')); + + await expect( + SetFriendCategory.invoke( + { sendRawPacket }, + { + uid: 'u_friend', + categoryId: 7, + }, + ), + ).rejects.toThrow(/42.*denied/); + }); + + it('does not mistake a transport failure with code zero for success', async () => { + const sendRawPacket = vi.fn(async (): Promise => ({ + success: false, + gotResponse: true, + errorCode: 0, + errorMessage: 'packet send failed', + responseData: null, + })); + + await expect( + SetFriendCategory.invoke( + { sendRawPacket }, + { + uid: 'u_friend', + categoryId: 7, + }, + ), + ).rejects.toThrow('packet send failed'); + }); +}); diff --git a/packages/protocol/tests/oidb-services/custom-face/delete-custom-face.test.ts b/packages/protocol/tests/oidb-services/custom-face/delete-custom-face.test.ts new file mode 100644 index 00000000..ddeef757 --- /dev/null +++ b/packages/protocol/tests/oidb-services/custom-face/delete-custom-face.test.ts @@ -0,0 +1,92 @@ +import { describe, expect, it, vi } from 'vitest'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { DeleteCustomFace } from '../../../src/oidb-services/custom-face/delete-custom-face'; + +function makeSender() { + const resp: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.alloc(0), + }; + return { sendRawPacket: vi.fn(async () => resp) }; +} + +const SAMPLE_UIN = '2550419068'; +const SAMPLE_EMOJI_ID = '2550419068_0_0_0_2765030D118F8E04B1BFB8DC773C343B_0_0'; + +// Wire bytes captured from QQ 9.9.26-44343 (Faceroam.OpReq, opType=2, deleting +// the emoji_id above). +const DELETE_WIRE_HEX = + '0a0e0801120a31302e302e323632303010fc9c91c00918022a370a35323535303431393036385f305f305f305f32373635303330443131384638453034423142464238444337373343333433425f305f30'; + +describe('DeleteCustomFace namespace', () => { + describe('serialize + encode', () => { + it('reproduces the captured delete wire bytes exactly', () => { + const req = DeleteCustomFace.serialize({} as any, { + uin: SAMPLE_UIN, + emojiId: SAMPLE_EMOJI_ID, + }); + const hex = Buffer.from(DeleteCustomFace.encode(req)).toString('hex'); + expect(hex).toBe(DELETE_WIRE_HEX); + }); + + it('omits qqVersion from inner (delete inner is 14 bytes, not 28)', () => { + const req = DeleteCustomFace.serialize({} as any, { uin: SAMPLE_UIN, emojiId: 'x' }); + expect(req.inner?.qqVersion).toBeUndefined(); + }); + + it('puts the emoji_id into field5.body.emojiId', () => { + const req = DeleteCustomFace.serialize({} as any, { + uin: SAMPLE_UIN, + emojiId: SAMPLE_EMOJI_ID, + }); + expect(req.body?.emojiId).toBe(SAMPLE_EMOJI_ID); + }); + + it('uses field3=2 and leaves field6 unset', () => { + const req = DeleteCustomFace.serialize({} as any, { uin: SAMPLE_UIN, emojiId: 'x' }); + expect(req.field3).toBe(2); + expect(req.field6).toBeUndefined(); + }); + }); + + describe('invoke', () => { + it('routes through "Faceroam.OpReq"', async () => { + const sender = makeSender(); + await DeleteCustomFace.invoke(sender, { uin: SAMPLE_UIN, emojiId: SAMPLE_EMOJI_ID }); + expect(sender.sendRawPacket.mock.calls[0]![0]).toBe('Faceroam.OpReq'); + }); + + it('passes the captured wire body', async () => { + const sender = makeSender(); + await DeleteCustomFace.invoke(sender, { uin: SAMPLE_UIN, emojiId: SAMPLE_EMOJI_ID }); + const [, body] = sender.sendRawPacket.mock.calls[0]!; + expect(Buffer.from(body as Uint8Array).toString('hex')).toBe(DELETE_WIRE_HEX); + }); + + it('resolves on success without returning a body', async () => { + const sender = makeSender(); + await expect( + DeleteCustomFace.invoke(sender, { uin: SAMPLE_UIN, emojiId: 'x' }), + ).resolves.toBeUndefined(); + }); + + it('throws when the sender reports no response', async () => { + const sender = { + sendRawPacket: vi.fn(async (): Promise => ({ + success: false, + gotResponse: false, + errorCode: 0, + errorMessage: 'timeout', + responseData: null, + })), + }; + await expect( + DeleteCustomFace.invoke(sender, { uin: SAMPLE_UIN, emojiId: 'x' }), + ).rejects.toThrow(); + }); + }); +}); diff --git a/packages/protocol/tests/oidb-services/custom-face/fetch-custom-face-detail.test.ts b/packages/protocol/tests/oidb-services/custom-face/fetch-custom-face-detail.test.ts new file mode 100644 index 00000000..ec02e3bc --- /dev/null +++ b/packages/protocol/tests/oidb-services/custom-face/fetch-custom-face-detail.test.ts @@ -0,0 +1,95 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { + CustomFaceModifyResp, + CustomFaceMoveBody, +} from '@snowluma/proto-defs/oidb-actions/base'; + +import { FetchCustomFaceDetail } from '../../../src/oidb-services/custom-face/fetch-custom-face-detail'; + +const EMOJI_A_ID = '2550419068_0_0_0_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA_0_0'; +const EMOJI_A_MD5 = 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'; +const EMOJI_B_ID = '2550419068_0_0_0_BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB_0_0'; +const EMOJI_B_MD5 = 'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'; + +function makeSender(body: CustomFaceModifyResp) { + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.from(protobuf_encode>({ body })), + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('FetchCustomFaceDetail namespace', () => { + it('sends the IDA-confirmed 0x902e_1 opType=2 request with every id and md5', async () => { + const sender = makeSender({ retCode: 0, entries: [] }); + await FetchCustomFaceDetail.invoke(sender, { + emojis: [ + { emojiId: EMOJI_A_ID, md5: EMOJI_A_MD5 }, + { emojiId: EMOJI_B_ID, md5: EMOJI_B_MD5 }, + ], + }); + + const [cmd, bytes] = sender.sendRawPacket.mock.calls[0]!; + expect(cmd).toBe('OidbSvcTrpcTcp.0x902e_1'); + const env = protobuf_decode>(bytes); + expect(env.command).toBe(0x902e); + expect(env.subCommand).toBe(1); + expect(env.reserved).toBe(1); + expect(env.body).toMatchObject({ + field1: 1, + opType: 2, + emojis: [ + { emojiId: EMOJI_A_ID, md5: EMOJI_A_MD5 }, + { emojiId: EMOJI_B_ID, md5: EMOJI_B_MD5 }, + ], + }); + }); + + it('returns tag 3 descriptions and falls back to legacy tag 2', async () => { + const sender = makeSender({ + retCode: 0, + entries: [ + { emoji: { emojiId: EMOJI_A_ID }, legacyDesc: '旧版描述' }, + { emoji: { emojiId: EMOJI_B_ID }, legacyDesc: '旧值', desc: '新版描述' }, + ], + }); + + await expect( + FetchCustomFaceDetail.invoke(sender, { + emojis: [{ emojiId: EMOJI_A_ID, md5: EMOJI_A_MD5 }], + }), + ).resolves.toEqual([ + { emojiId: EMOJI_A_ID, desc: '旧版描述' }, + { emojiId: EMOJI_B_ID, desc: '新版描述' }, + ]); + }); + + it('does not silently accept malformed or duplicate response entries', () => { + expect(() => + FetchCustomFaceDetail.deserialize({} as any, { + entries: [{ desc: 'missing id' }], + }), + ).toThrow(/has no emoji id/); + + expect(() => + FetchCustomFaceDetail.deserialize({} as any, { + entries: [{ emoji: { emojiId: EMOJI_A_ID } }, { emoji: { emojiId: EMOJI_A_ID } }], + }), + ).toThrow(/duplicate emoji id/); + }); + + it('surfaces a non-zero business result', () => { + expect(() => + FetchCustomFaceDetail.deserialize({} as any, { + retCode: 5, + errMsg: 'denied', + }), + ).toThrow(/denied/); + }); +}); diff --git a/packages/protocol/tests/oidb-services/custom-face/fetch-custom-face-list.test.ts b/packages/protocol/tests/oidb-services/custom-face/fetch-custom-face-list.test.ts new file mode 100644 index 00000000..51f2ed14 --- /dev/null +++ b/packages/protocol/tests/oidb-services/custom-face/fetch-custom-face-list.test.ts @@ -0,0 +1,105 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_encode } from '@snowluma/proton'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; +import type { FaceroamOpReq, FaceroamOpResp } from '@snowluma/proto-defs/oidb-actions/base'; + +import { FetchCustomFaceList } from '../../../src/oidb-services/custom-face/fetch-custom-face-list'; + +const SAMPLE_UIN = '10001'; +const EMOJI_A = '10001_0_0_0_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA_0_0'; +const EMOJI_B = '10001_0_0_0_BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB_0_0'; + +function encodeLegacyList(uin: string): Uint8Array { + return protobuf_encode({ + inner: { field1: 1, osVersion: '10.0.26200', qqVersion: '9.9.28-46928' }, + uin: BigInt(uin), + field3: 1, + field6: 1, + }); +} + +function makeSender( + opts: { + faces?: FaceroamOpResp; + success?: boolean; + gotResponse?: boolean; + errorMessage?: string; + responseData?: Uint8Array | null; + } = {}, +) { + const result: SendPacketResult = { + success: opts.success ?? true, + gotResponse: opts.gotResponse ?? true, + errorCode: 0, + errorMessage: opts.errorMessage ?? '', + responseData: + opts.responseData !== undefined + ? opts.responseData + : Buffer.from( + protobuf_encode( + opts.faces ?? { retCode: 0, item: { faceIds: [EMOJI_A, EMOJI_B] } }, + ), + ), + }; + return { sendRawPacket: vi.fn(async () => result) }; +} + +describe('FetchCustomFaceList namespace', () => { + describe('serialize + encode', () => { + it('keeps the list request bytes the ProfileApi fetch already sent', () => { + const req = FetchCustomFaceList.serialize({} as any, { uin: SAMPLE_UIN }); + const hex = Buffer.from(FetchCustomFaceList.encode(req)).toString('hex'); + expect(hex).toBe(Buffer.from(encodeLegacyList(SAMPLE_UIN)).toString('hex')); + }); + + it('sends qqVersion on inner and sets field3=1 / field6=1', () => { + const req = FetchCustomFaceList.serialize({} as any, { uin: SAMPLE_UIN }); + expect(req.inner?.qqVersion).toBe('9.9.28-46928'); + expect(req.inner?.osVersion).toBe('10.0.26200'); + expect(req.field3).toBe(1); + expect(req.field6).toBe(1); + expect(req.body).toBeUndefined(); + }); + }); + + describe('invoke', () => { + it('routes through "Faceroam.OpReq" and returns the id list', async () => { + const sender = makeSender(); + await expect(FetchCustomFaceList.invoke(sender, { uin: SAMPLE_UIN })).resolves.toEqual([ + EMOJI_A, + EMOJI_B, + ]); + expect(sender.sendRawPacket.mock.calls[0]![0]).toBe('Faceroam.OpReq'); + const [, body] = sender.sendRawPacket.mock.calls[0]!; + expect(Buffer.from(body as Uint8Array).toString('hex')).toBe( + Buffer.from(encodeLegacyList(SAMPLE_UIN)).toString('hex'), + ); + }); + + it('returns an empty list when the item is missing', async () => { + const sender = makeSender({ faces: { retCode: 0 } }); + await expect(FetchCustomFaceList.invoke(sender, { uin: SAMPLE_UIN })).resolves.toEqual( + [], + ); + }); + + it('throws when the sender reports no response', async () => { + const sender = makeSender({ + success: false, + gotResponse: false, + errorMessage: 'timeout', + responseData: null, + }); + await expect(FetchCustomFaceList.invoke(sender, { uin: SAMPLE_UIN })).rejects.toThrow( + /timeout/, + ); + }); + + it('throws when the Faceroam retCode is non-zero', async () => { + const sender = makeSender({ faces: { retCode: 1, message: 'denied' } }); + await expect(FetchCustomFaceList.invoke(sender, { uin: SAMPLE_UIN })).rejects.toThrow( + /fetch custom face error: denied/, + ); + }); + }); +}); diff --git a/packages/protocol/tests/oidb-services/custom-face/modify-custom-face.test.ts b/packages/protocol/tests/oidb-services/custom-face/modify-custom-face.test.ts new file mode 100644 index 00000000..950c0818 --- /dev/null +++ b/packages/protocol/tests/oidb-services/custom-face/modify-custom-face.test.ts @@ -0,0 +1,92 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { CustomFaceModifyBody } from '@snowluma/proto-defs/oidb-actions/base'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { ModifyCustomFace } from '../../../src/oidb-services/custom-face/modify-custom-face'; + +const SAMPLE_EMOJI_ID = '2550419068_0_0_0_ABCDEF0123456789ABCDEF0123456789_0_0'; +const SAMPLE_MD5 = 'ABCDEF0123456789ABCDEF0123456789'; + +// Independent byte-oracle: hand-decoded from the proto layout (NOT re-derived +// from the encoder), so a field-number change goes red. Cross-checked against +// the 9.9.26-44343 frida capture (cmd 0x902e_1, opType 3): +// 08 aea002 f1 command = 0x902e +// 10 01 f2 subCommand = 1 +// 22 73 f4 body (115B): +// 08 01 f1 = 1 +// 12 0a "10.0.26200" f2 osVersion +// 18 03 f3 opType = 3 +// 2a 5f f5 entry (95B): +// 0a 59 f1 emoji (89B): +// 0a 35 f1 +// 12 20 f2 +// 12 02 "hi" f2 desc +// 60 01 f12 = 1 +const MODIFY_WIRE_HEX = + '08aea002100122730801120a31302e302e323632303018032a5f0a590a35323535303431393036385f305f305f305f41424344454630313233343536373839414243444546303132333435363738395f305f3012204142434445463031323334353637383941424344454630313233343536373839120268696001'; + +function makeSender() { + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.alloc(0), + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('ModifyCustomFace namespace', () => { + it('declares command 0x902e sub 1', () => { + expect(ModifyCustomFace.command).toBe(0x902e); + expect(ModifyCustomFace.subCommand).toBe(1); + }); + + it('serializes opType=3 with emoji {emojiId,md5} + desc in f5.entry, f12=1', () => { + const out = ModifyCustomFace.serialize({} as any, { + emojiId: SAMPLE_EMOJI_ID, + md5: SAMPLE_MD5, + desc: 'hi', + }); + expect(out.opType).toBe(3); + expect(out.entry?.emoji).toMatchObject({ emojiId: SAMPLE_EMOJI_ID, md5: SAMPLE_MD5 }); + expect(out.entry?.desc).toBe('hi'); + expect(out.field12).toBe(1); + }); + + it('routes to OidbSvcTrpcTcp.0x902e_1 and encodes the exact wire bytes', async () => { + const sender = makeSender(); + await ModifyCustomFace.invoke(sender, { + emojiId: SAMPLE_EMOJI_ID, + md5: SAMPLE_MD5, + desc: 'hi', + }); + const [cmd, bytes] = sender.sendRawPacket.mock.calls[0]!; + expect(cmd).toBe('OidbSvcTrpcTcp.0x902e_1'); + expect(Buffer.from(bytes as Uint8Array).toString('hex')).toBe(MODIFY_WIRE_HEX); + // Structure decodes back. + const env = protobuf_decode>(bytes as Uint8Array); + expect(env.command).toBe(0x902e); + expect(env.body?.opType).toBe(3); + expect(env.body?.entry?.desc).toBe('hi'); + }); + + it('resolves on success (retCode 0 / empty body)', async () => { + const sender = makeSender(); + await expect( + ModifyCustomFace.invoke(sender, { + emojiId: SAMPLE_EMOJI_ID, + md5: SAMPLE_MD5, + desc: '', + }), + ).resolves.toBeUndefined(); + }); + + it('throws when the business body carries a non-zero retCode', () => { + expect(() => + ModifyCustomFace.deserialize({} as any, { retCode: 5, errMsg: 'bad' }), + ).toThrow(); + }); +}); diff --git a/packages/protocol/tests/oidb-services/custom-face/move-custom-face.test.ts b/packages/protocol/tests/oidb-services/custom-face/move-custom-face.test.ts new file mode 100644 index 00000000..741b46f8 --- /dev/null +++ b/packages/protocol/tests/oidb-services/custom-face/move-custom-face.test.ts @@ -0,0 +1,89 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { CustomFaceMoveBody } from '@snowluma/proto-defs/oidb-actions/base'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { MoveCustomFace } from '../../../src/oidb-services/custom-face/move-custom-face'; + +const EMOJI_A_ID = '2550419068_0_0_0_AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA_0_0'; +const EMOJI_A_MD5 = 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'; +const EMOJI_B_ID = '2550419068_0_0_0_BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB_0_0'; +const EMOJI_B_MD5 = 'BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB'; + +// Byte-oracle hand-decoded from the proto layout. Cross-checked against the +// 9.9.26-44343 frida capture (fav25/fav27 ENC#3, the "upload new order" step +// of the two-step move — step 2, must be preceded by OrderCustomFace 0x902f): +// 08 aea002 f1 command = 0x902e ← move step 2: 0x902e opType=2 +// 10 01 f2 subCommand = 1 +// 22 f4 body: +// 08 01 f1 = 1 +// 12 0a "10.0.26200" f2 osVersion +// 18 02 f3 opType = 2 ← move upload +// 22 59 f4 repeated: {0a 35 emojiId, 12 20 md5} +// 22 59 f4 repeated +// 60 01 f12 = 1 ← envelope reserved (uinForm=true); without it the +// server accepts the request but does NOT reorder. +const MOVE_WIRE_HEX = + '08aea002100122c6010801120a31302e302e3236323030180222590a35323535303431393036385f305f305f305f41414141414141414141414141414141414141414141414141414141414141415f305f301220414141414141414141414141414141414141414141414141414141414141414122590a35323535303431393036385f305f305f305f42424242424242424242424242424242424242424242424242424242424242425f305f30122042424242424242424242424242424242424242424242424242424242424242426001'; + +function makeSender() { + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.alloc(0), + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('MoveCustomFace namespace', () => { + it('declares command 0x902e sub 1 with uinForm (envelope reserved=1)', () => { + expect(MoveCustomFace.command).toBe(0x902e); + expect(MoveCustomFace.subCommand).toBe(1); + expect(MoveCustomFace.uinForm).toBe(true); + }); + + it('serializes opType=2 with the emoji list in f4 (repeated, in order)', () => { + const out = MoveCustomFace.serialize({} as any, { + emojis: [ + { emojiId: EMOJI_A_ID, md5: EMOJI_A_MD5 }, + { emojiId: EMOJI_B_ID, md5: EMOJI_B_MD5 }, + ], + }); + expect(out.opType).toBe(2); + expect(out.emojis?.map((e) => e.emojiId)).toEqual([EMOJI_A_ID, EMOJI_B_ID]); + }); + + it('routes to OidbSvcTrpcTcp.0x902e_1 and encodes the exact wire bytes (incl. envelope f12)', async () => { + const sender = makeSender(); + await MoveCustomFace.invoke(sender, { + emojis: [ + { emojiId: EMOJI_A_ID, md5: EMOJI_A_MD5 }, + { emojiId: EMOJI_B_ID, md5: EMOJI_B_MD5 }, + ], + }); + const [cmd, bytes] = sender.sendRawPacket.mock.calls[0]!; + expect(cmd).toBe('OidbSvcTrpcTcp.0x902e_1'); + expect(Buffer.from(bytes as Uint8Array).toString('hex')).toBe(MOVE_WIRE_HEX); + const env = protobuf_decode>(bytes as Uint8Array); + expect(env.command).toBe(0x902e); + expect(env.reserved).toBe(1); + expect(env.body?.opType).toBe(2); + expect(env.body?.emojis?.map((e) => e.emojiId)).toEqual([EMOJI_A_ID, EMOJI_B_ID]); + }); + + it('resolves on success (retCode 0 / empty body)', async () => { + const sender = makeSender(); + await expect( + MoveCustomFace.invoke(sender, { emojis: [{ emojiId: EMOJI_A_ID, md5: EMOJI_A_MD5 }] }), + ).resolves.toBeUndefined(); + }); + + it('throws when the business body carries a non-zero retCode', () => { + expect(() => + MoveCustomFace.deserialize({} as any, { retCode: 5, errMsg: 'bad' }), + ).toThrow(); + }); +}); diff --git a/packages/protocol/tests/oidb-services/custom-face/order-custom-face.test.ts b/packages/protocol/tests/oidb-services/custom-face/order-custom-face.test.ts new file mode 100644 index 00000000..8bc66927 --- /dev/null +++ b/packages/protocol/tests/oidb-services/custom-face/order-custom-face.test.ts @@ -0,0 +1,81 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { CustomFaceOrderBody } from '@snowluma/proto-defs/oidb-actions/base'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { OrderCustomFace } from '../../../src/oidb-services/custom-face/order-custom-face'; + +const SAMPLE_EMOJI_ID = '2550419068_0_0_0_3BC06CE836D6134326EA2C1B37BF1584_0_0'; + +// Byte-oracle taken DIRECTLY from the 9.9.26-44343 frida capture (fav27/fav28 +// ENC#2, the real "move to front" instruction — the first of the two-step move). +// +// 08 afa002 f1 command = 0x902f ← move instruction cmd +// 10 01 f2 subCommand = 1 +// 22 52 f4 body (82B): +// 0a 17 f1 env (23B): +// 08 8008 f1 = 1024 (client type flag) +// 12 0a "10.0.26200" f2 osVersion +// 1a 06 "9.9.26" f3 buildVersion (short) +// 12 35 f2 emojiId +// 18 01 f3 position = 1 (front) +// 60 01 f12 = 1 ← envelope reserved (uinForm) +const ORDER_WIRE_HEX = + '08afa002100122520a17088008120a31302e302e32363230301a06392e392e32361235323535303431393036385f305f305f305f33424330364345383336443631333433323645413243314233374246313538345f305f3018016001'; + +function makeSender() { + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.alloc(0), + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('OrderCustomFace namespace', () => { + it('declares command 0x902f sub 1 with uinForm (envelope reserved=1)', () => { + expect(OrderCustomFace.command).toBe(0x902f); + expect(OrderCustomFace.subCommand).toBe(1); + expect(OrderCustomFace.uinForm).toBe(true); + }); + + it('serializes env{1024, osVersion, "9.9.26"} + emojiId + position', () => { + const out = OrderCustomFace.serialize({} as any, { emojiId: SAMPLE_EMOJI_ID, position: 1 }); + expect(out.env).toMatchObject({ + field1: 1024, + osVersion: '10.0.26200', + buildVersion: '9.9.26', + }); + expect(out.emojiId).toBe(SAMPLE_EMOJI_ID); + expect(out.position).toBe(1); + }); + + it('routes to OidbSvcTrpcTcp.0x902f_1 and reproduces the captured wire exactly', async () => { + const sender = makeSender(); + await OrderCustomFace.invoke(sender, { emojiId: SAMPLE_EMOJI_ID, position: 1 }); + const [cmd, bytes] = sender.sendRawPacket.mock.calls[0]!; + expect(cmd).toBe('OidbSvcTrpcTcp.0x902f_1'); + expect(Buffer.from(bytes as Uint8Array).toString('hex')).toBe(ORDER_WIRE_HEX); + const env = protobuf_decode>(bytes as Uint8Array); + expect(env.command).toBe(0x902f); + expect(env.reserved).toBe(1); + expect(env.body?.emojiId).toBe(SAMPLE_EMOJI_ID); + expect(env.body?.position).toBe(1); + }); + + it('resolves on success (retCode 0 / empty body)', async () => { + const sender = makeSender(); + await expect( + OrderCustomFace.invoke(sender, { emojiId: SAMPLE_EMOJI_ID, position: 1 }), + ).resolves.toBeUndefined(); + }); + + it('throws when the business body carries a non-zero retCode', () => { + expect(() => + OrderCustomFace.deserialize({} as any, { retCode: 5, errMsg: 'bad' }), + ).toThrow(); + }); +}); diff --git a/packages/protocol/tests/oidb-services/extras/fetch-ai-voice-list.test.ts b/packages/protocol/tests/oidb-services/extras/fetch-ai-voice-list.test.ts new file mode 100644 index 00000000..4b365ed8 --- /dev/null +++ b/packages/protocol/tests/oidb-services/extras/fetch-ai-voice-list.test.ts @@ -0,0 +1,84 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { + OidbAiVoiceListReq, + OidbAiVoiceListResp, +} from '@snowluma/proto-defs/oidb-actions/media'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { FetchAiVoiceList } from '../../../src/oidb-services/extras/fetch-ai-voice-list'; + +function makeSender(body?: OidbAiVoiceListResp) { + const responseData = + body !== undefined + ? Buffer.from(protobuf_encode>({ body })) + : Buffer.alloc(0); + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('FetchAiVoiceList namespace', () => { + it('declares 0x929D_0', () => { + expect(FetchAiVoiceList.command).toBe(0x929d); + expect(FetchAiVoiceList.subCommand).toBe(0); + }); + + describe('serialize', () => { + it('passes groupUin / chatType verbatim', () => { + expect(FetchAiVoiceList.serialize({} as any, { groupId: 4242, chatType: 1 })).toEqual({ + groupUin: 4242, + chatType: 1, + }); + }); + }); + + describe('deserialize', () => { + it('returns content array verbatim', () => { + const out = FetchAiVoiceList.deserialize({} as any, { + content: [ + { + category: 'cute', + voices: [ + { voiceId: 'v1', voiceDisplayName: 'V1', voiceExampleUrl: 'http://x' }, + ], + }, + ], + }); + expect(out).toEqual([ + { + category: 'cute', + voices: [ + { voiceId: 'v1', voiceDisplayName: 'V1', voiceExampleUrl: 'http://x' }, + ], + }, + ]); + }); + + it('returns [] when content is omitted', () => { + expect(FetchAiVoiceList.deserialize({} as any, {})).toEqual([]); + }); + }); + + describe('invoke (e2e)', () => { + it('routes to OidbSvcTrpcTcp.0x929d_0', async () => { + const sender = makeSender({ content: [] }); + await FetchAiVoiceList.invoke(sender, { groupId: 100, chatType: 1 }); + expect(sender.sendRawPacket.mock.calls[0]![0]).toBe('OidbSvcTrpcTcp.0x929d_0'); + }); + + it('encodes envelope body correctly', async () => { + const sender = makeSender({ content: [] }); + await FetchAiVoiceList.invoke(sender, { groupId: 4242, chatType: 2 }); + const [, bytes] = sender.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + expect(env.body).toMatchObject({ groupUin: 4242, chatType: 2 }); + }); + }); +}); diff --git a/packages/protocol/tests/oidb-services/extras/fetch-ai-voice.test.ts b/packages/protocol/tests/oidb-services/extras/fetch-ai-voice.test.ts new file mode 100644 index 00000000..5bbe328b --- /dev/null +++ b/packages/protocol/tests/oidb-services/extras/fetch-ai-voice.test.ts @@ -0,0 +1,131 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { OidbAiVoiceReq, OidbAiVoiceResp } from '@snowluma/proto-defs/oidb-actions/media'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { FetchAiVoice } from '../../../src/oidb-services/extras/fetch-ai-voice'; + +function makeSender(body?: OidbAiVoiceResp) { + const responseData = + body !== undefined + ? Buffer.from(protobuf_encode>({ body })) + : Buffer.alloc(0); + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('FetchAiVoice namespace', () => { + it('declares 0x929B_0', () => { + expect(FetchAiVoice.command).toBe(0x929b); + expect(FetchAiVoice.subCommand).toBe(0); + }); + + describe('serialize', () => { + it('packages every field including sessionId into session sub-message', () => { + const out = FetchAiVoice.serialize({} as any, { + groupId: 100, + voiceId: 'v', + text: 'hi', + chatType: 1, + sessionId: 0xcafe, + }); + expect(out).toEqual({ + groupUin: 100, + voiceId: 'v', + text: 'hi', + chatType: 1, + session: { sessionId: 0xcafe }, + }); + }); + }); + + describe('deserialize', () => { + it('returns the first msgInfoBody index', () => { + const node = { fileUuid: 'uuid', subType: 1 }; + expect( + FetchAiVoice.deserialize( + {} as any, + { + field2: 319, + field3: 20, + msgInfo: { msgInfoBody: [{ index: node }] }, + } as any, + ), + ).toEqual(node); + }); + + it('returns null when msgInfo is empty / missing', () => { + expect(FetchAiVoice.deserialize({} as any, {} as any)).toBeNull(); + expect(FetchAiVoice.deserialize({} as any, { msgInfo: {} } as any)).toBeNull(); + expect( + FetchAiVoice.deserialize({} as any, { msgInfo: { msgInfoBody: [] } } as any), + ).toBeNull(); + }); + }); + + describe('invoke (e2e)', () => { + it('routes to OidbSvcTrpcTcp.0x929b_0', async () => { + const sender = makeSender({ + msgInfo: { msgInfoBody: [{ index: { fileUuid: 'u' } }] }, + } as any); + await FetchAiVoice.invoke(sender, { + groupId: 1, + voiceId: 'v', + text: 't', + chatType: 1, + sessionId: 1, + }); + expect(sender.sendRawPacket.mock.calls[0]![0]).toBe('OidbSvcTrpcTcp.0x929b_0'); + }); + + it('returns the parsed media node', async () => { + const node = { fileUuid: 'uuid', subType: 1 }; + const sender = makeSender({ + field2: 319, + field3: 20, + msgInfo: { msgInfoBody: [{ index: node }] }, + } as any); + const out = await FetchAiVoice.invoke(sender, { + groupId: 1, + voiceId: 'v', + text: 't', + chatType: 1, + sessionId: 1, + }); + expect(out).toMatchObject(node); + }); + + it('returns null when server polls back empty msgInfo (in-flight)', async () => { + const sender = makeSender({} as any); + const out = await FetchAiVoice.invoke(sender, { + groupId: 1, + voiceId: 'v', + text: 't', + chatType: 1, + sessionId: 1, + }); + expect(out).toBeNull(); + }); + + it('passes the sessionId through to the wire envelope verbatim', async () => { + const sender = makeSender({} as any); + await FetchAiVoice.invoke(sender, { + groupId: 1, + voiceId: 'v', + text: 't', + chatType: 1, + sessionId: 0xcafebabe, + }); + const [, bytes] = sender.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + expect(env.body?.session?.sessionId).toBe(0xcafebabe); + }); + }); +}); diff --git a/packages/protocol/tests/oidb-services/extras/get-group-todo-list.test.ts b/packages/protocol/tests/oidb-services/extras/get-group-todo-list.test.ts new file mode 100644 index 00000000..36a3ed2d --- /dev/null +++ b/packages/protocol/tests/oidb-services/extras/get-group-todo-list.test.ts @@ -0,0 +1,128 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode } from '@snowluma/proton'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { OidbQueryGroupTopBannersReq } from '@snowluma/proto-defs/oidb-actions/base'; + +import { GetGroupTodoList } from '../../../src/oidb-services/extras/get-group-todo-list'; + +// Fixed wire fixture shaped after a live QQ 3.2.32-51802 0x9474_0 response. +// It deliberately uses the current common-banner representation rather than +// constructing the response with the production protobuf encoder. +const ACTIVE_TODO_RESPONSE = Buffer.from( + '08f4a802100018002291010a8e01080f10021a06353633315f3040d09ba8bb06' + + 'a2016a0a3f0a1d68747470733a2f2f6578616d706c652e746573742f746f646f' + + '2e706e67120ce7bea4e5be85e58a9eefbd9c1a0ce6b58be8af95e5be85e58a9e' + + '28023003121b08031a177b22736571223a353633312c2272616e646f6d223a307d' + + '18c0ffa7bb0620c1ffa7bb06c802a29c01d002c801e80201f002012a006000', + 'hex', +); + +function makeSender(responseData = Buffer.alloc(0)) { + const result: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }; + return { sendRawPacket: vi.fn(async () => result) }; +} + +describe('GetGroupTodoList namespace', () => { + it('queries 0x9474_0 with the todo-only banner flag', async () => { + const sender = makeSender(); + + await GetGroupTodoList.invoke(sender, { groupId: 941657197 }); + + const [wireName, bytes] = sender.sendRawPacket.mock.calls[0]!; + expect(wireName).toBe('OidbSvcTrpcTcp.0x9474_0'); + expect(GetGroupTodoList.subCommand).toBe(0); + const envelope = protobuf_decode>(bytes); + expect(envelope).toMatchObject({ + command: 0x9474, + body: { groupId: 941657197n, bannerFlag: 1 }, + }); + }); + + it('decodes the current common-banner todo and validates both identity sources', async () => { + const sender = makeSender(ACTIVE_TODO_RESPONSE); + + await expect(GetGroupTodoList.invoke(sender, { groupId: 941657197 })).resolves.toEqual([ + { + sourceId: '5631_0', + sequence: 5631, + random: 0, + text: '测试待办', + createdAt: 1735000000, + updatedAt: 1735000001, + }, + ]); + }); + + it('filters disappeared todo tombstones', () => { + expect( + GetGroupTodoList.deserialize({} as never, { + banners: [{ bizType: 15, bannerType: 2, isDisappear: true, bizId: 20002 }], + }), + ).toEqual([]); + }); + + it('supports the legacy todo text shape without inventing timestamps', () => { + expect( + GetGroupTodoList.deserialize({} as never, { + banners: [ + { + msgId: Buffer.from('88_0'), + isDisappear: false, + todoBanner: { text: '旧版待办' }, + }, + ], + }), + ).toEqual([ + { + sourceId: '88_0', + sequence: 88, + random: 0, + text: '旧版待办', + createdAt: 0, + updatedAt: 0, + }, + ]); + }); + + it('rejects an active todo whose message identity cannot be mapped', () => { + expect(() => + GetGroupTodoList.deserialize({} as never, { + banners: [ + { + bizType: 15, + bannerType: 2, + msgId: Buffer.from('not-a-message-id'), + isDisappear: false, + bizId: 20002, + }, + ], + }), + ).toThrow(/invalid group todo message identity/); + }); + + it('rejects disagreement between msgId and the jump payload', () => { + expect(() => + GetGroupTodoList.deserialize({} as never, { + banners: [ + { + bizType: 15, + bannerType: 2, + msgId: Buffer.from('5631_0'), + isDisappear: false, + bizId: 20002, + commonBanner: { + jumpInfo: { jumpParam: Buffer.from('{"seq":5632,"random":0}') }, + }, + }, + ], + }), + ).toThrow(/identity mismatch/); + }); +}); diff --git a/packages/protocol/tests/oidb-services/extras/get-stranger-status.test.ts b/packages/protocol/tests/oidb-services/extras/get-stranger-status.test.ts new file mode 100644 index 00000000..a30655cd --- /dev/null +++ b/packages/protocol/tests/oidb-services/extras/get-stranger-status.test.ts @@ -0,0 +1,150 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { pb, pb_repeated, uint_32, uint_64 } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { + OidbStrangerStatusReq, + OidbStrangerStatusResp, +} from '@snowluma/proto-defs/oidb-actions/base'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { GetStrangerStatus } from '../../../src/oidb-services/extras/get-stranger-status'; + +interface ObservedStatusProperty { + key?: pb<1, uint_32>; + value?: pb<2, uint_64>; +} + +interface ObservedStatusProperties { + entries?: pb_repeated<1, ObservedStatusProperty>; +} + +interface ObservedStatusData { + targetUin?: pb<1, uint_32>; + properties?: pb<2, ObservedStatusProperties>; + uin?: pb<3, uint_32>; +} + +interface ObservedStatusResponse { + data?: pb<1, ObservedStatusData>; +} + +function makeSender(body?: OidbStrangerStatusResp) { + const responseData = + body !== undefined + ? Buffer.from(protobuf_encode>({ body })) + : Buffer.alloc(0); + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('GetStrangerStatus namespace', () => { + it('declares 0xFE1_2 with uinForm=true', () => { + expect(GetStrangerStatus.command).toBe(0xfe1); + expect(GetStrangerStatus.subCommand).toBe(2); + expect(GetStrangerStatus.uinForm).toBe(true); + }); + + describe('serialize', () => { + it('always queries only key 27372 (status property)', () => { + const out = GetStrangerStatus.serialize({} as any, { uin: 100200 }); + expect(out).toEqual({ uin: 100200, key: [{ key: 27372 }] }); + }); + }); + + describe('deserialize', () => { + it('low-band (≤10) values map to (value*10, 0)', () => { + expect( + GetStrangerStatus.deserialize({} as any, { + data: { properties: { entries: [{ key: 27372, value: 7n }] } }, + }), + ).toEqual({ status: 70, ext_status: 0 }); + expect( + GetStrangerStatus.deserialize({} as any, { + data: { properties: { entries: [{ key: 27372, value: 10n }] } }, + }), + ).toEqual({ status: 100, ext_status: 0 }); + }); + + it('high-band values decompose into (0xff00 + (>>16 & 0xff)) ext_status', () => { + // 0x42F100 → bits 8..15 = 0xF1<<8 = 0xF100, bits 16..23 = 0x42 → 0xF142 + expect( + GetStrangerStatus.deserialize({} as any, { + data: { properties: { entries: [{ key: 27372, value: 0x42f100n }] } }, + }), + ).toEqual({ status: 10, ext_status: 0xf142 }); + }); + + it('returns null when the requested status property is missing', () => { + expect(GetStrangerStatus.deserialize({} as any, {})).toBeNull(); + expect(GetStrangerStatus.deserialize({} as any, { data: {} })).toBeNull(); + expect( + GetStrangerStatus.deserialize({} as any, { data: { properties: {} } }), + ).toBeNull(); + expect( + GetStrangerStatus.deserialize({} as any, { + data: { properties: { entries: [{ key: 10000, value: 7n }] } }, + }), + ).toBeNull(); + }); + }); + + describe('invoke (e2e)', () => { + it('decodes the property-list hierarchy returned by 0xFE1_2', async () => { + const responseData = Buffer.from( + protobuf_encode>({ + body: { + data: { + targetUin: 100200, + properties: { + entries: [ + { key: 10000, value: 1n }, + { key: 27372, value: 4n }, + ], + }, + uin: 100200, + }, + }, + }), + ); + const result: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }; + const sender = { sendRawPacket: vi.fn(async () => result) }; + + await expect(GetStrangerStatus.invoke(sender, { uin: 100200 })).resolves.toEqual({ + status: 40, + ext_status: 0, + }); + }); + + it('routes to OidbSvcTrpcTcp.0xfe1_2 with uinForm=true (envelope reserved=1)', async () => { + const sender = makeSender({ + data: { properties: { entries: [{ key: 27372, value: 5n }] } }, + }); + await GetStrangerStatus.invoke(sender, { uin: 100200 }); + const [wireName, bytes] = sender.sendRawPacket.mock.calls[0]!; + expect(wireName).toBe('OidbSvcTrpcTcp.0xfe1_2'); + const env = protobuf_decode>(bytes); + expect(env.reserved).toBe(1); + }); + + it('returns the decoded status object', async () => { + const sender = makeSender({ + data: { properties: { entries: [{ key: 27372, value: 5n }] } }, + }); + const out = await GetStrangerStatus.invoke(sender, { uin: 1 }); + expect(out).toEqual({ status: 50, ext_status: 0 }); + }); + }); +}); diff --git a/packages/protocol/tests/oidb-services/extras/group-todo.test.ts b/packages/protocol/tests/oidb-services/extras/group-todo.test.ts new file mode 100644 index 00000000..201d0e56 --- /dev/null +++ b/packages/protocol/tests/oidb-services/extras/group-todo.test.ts @@ -0,0 +1,73 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { OidbGroupTodo } from '@snowluma/proto-defs/oidb-actions/base'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { GroupTodo } from '../../../src/oidb-services/extras/group-todo'; + +function makeSender() { + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.alloc(0), + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('GroupTodo namespace', () => { + it('declares 0xF90', () => { + expect(GroupTodo.command).toBe(0xf90); + }); + + describe('resolveSubCommand', () => { + it('maps set → 1', () => { + expect(GroupTodo.resolveSubCommand({ groupId: 1, msgSeq: 1n, action: 'set' })).toBe(1); + }); + it('maps complete → 2', () => { + expect( + GroupTodo.resolveSubCommand({ groupId: 1, msgSeq: 1n, action: 'complete' }), + ).toBe(2); + }); + it('maps cancel → 3', () => { + expect(GroupTodo.resolveSubCommand({ groupId: 1, msgSeq: 1n, action: 'cancel' })).toBe( + 3, + ); + }); + }); + + describe('serialize', () => { + it('packages groupUin + msgSeq verbatim regardless of action', () => { + for (const action of ['set', 'complete', 'cancel'] as const) { + const out = GroupTodo.serialize({} as any, { + groupId: 12345, + msgSeq: 9876543210n, + action, + }); + expect(out).toEqual({ groupUin: 12345, msgSeq: 9876543210n }); + } + }); + }); + + describe('invoke (e2e)', () => { + it.each([ + ['set', 'OidbSvcTrpcTcp.0xf90_1'] as const, + ['complete', 'OidbSvcTrpcTcp.0xf90_2'] as const, + ['cancel', 'OidbSvcTrpcTcp.0xf90_3'] as const, + ])('action %s routes to %s', async (action, expectedWire) => { + const sender = makeSender(); + await GroupTodo.invoke(sender, { groupId: 12345, msgSeq: 100n, action }); + expect(sender.sendRawPacket.mock.calls[0]![0]).toBe(expectedWire); + }); + + it('encodes envelope body correctly', async () => { + const sender = makeSender(); + await GroupTodo.invoke(sender, { groupId: 100, msgSeq: 999n, action: 'set' }); + const [, bytes] = sender.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + expect(env.body).toEqual({ groupUin: 100, msgSeq: 999n }); + }); + }); +}); diff --git a/packages/protocol/tests/oidb-services/flash-transfer/apply-upload-byteoracle.test.ts b/packages/protocol/tests/oidb-services/flash-transfer/apply-upload-byteoracle.test.ts new file mode 100644 index 00000000..199a2fb4 --- /dev/null +++ b/packages/protocol/tests/oidb-services/flash-transfer/apply-upload-byteoracle.test.ts @@ -0,0 +1,91 @@ +import { describe, expect, it } from 'vitest'; +import { protobuf_encode, protobuf_decode } from '@snowluma/proton'; +import type { FlashApplyUploadReq } from '@snowluma/proto-defs/oidb-actions/flash-transfer'; + +// ENC#8: 0x12a9 sub=103 apply-upload 真实客户端请求 body(frida 抓包,QQ 9.9.26-44343, +// 2026-06-19)。用 ENC#8 的精确值手工构造 req,encode 后必须 byte-for-byte 匹配 ENC#8 hex。 +// 这是真正的 byte-oracle:字段号/wire type/0值显式编码任一错误都会 hex 不等。 +const ENC8_HEX = + '0a190a0508ac011067120ca80602b00604b80616c00c051a020801629d030a81020a870108b4cdcc01122063396631303334663062303431653933353339653937663839356363333139621a28306636326234663763646463373965326662666431343065646531326431633434646462373937612222e5b18fe5b995e5bd95e588b620323032352d30312d3135203030323133302e6d70342a0808001000180020003000380040004801126745685150597254337a64783534767639464137654574484554647435656869307a637742494c56304b4b4b516938796a6b3555444d675277636d396b5549447153566f51496f38546b56454c72776f454c5746544c6a433268586f445947505f676745435a336f180120fae4d4d1062880ea493000120208021a0808001000180022005288010a2438363866633433312d336361372d346130632d383538322d666135656365613062666134122438363866633433312d336361372d346130632d383538322d6661356563656130626661341a2436656639316166322d363830302d373633632d313936642d38353231303537353536343020012800300138024200480150005800600068007000'; + +// ENC#8 抓包值(sub=103 mp4)。 +const ENC8_REQ: FlashApplyUploadReq = { + head: { + sub: { seq: 172, sub: 103 }, + config: { field101: 2, field102: 4, field103: 22, field200: 5 }, + field3: { field1: 1 }, + }, + payload: { + wrapper: { + fileInfo: { + fileSize: 3352244, + md5: 'c9f1034f0b041e93539e97f895cc319b', + sha1: '0f62b4f7cddc79e2fbfd140ede12d1c44ddb797a', + fileName: '屏幕录制 2025-01-15 002130.mp4', + field5: { field1: 0, field2: 0, field3: 0, field4: 0 }, + field6: 0, + field7: 0, + field8: 0, + field9: 1, + }, + fileId: 'EhQPYrT3zdx54vv9FA7eEtHETdt5ehi0zcwBILV0KKKQi8yjk5UDMgRwcm9kUIDqSVoQIo8TkVELrwoELWFTLjC2hXoDYGP_ggECZ3o', + field3: 1, + field4: 1781871226, + field5: 1209600, + field6: 0, + }, + flag2: { field1: 2 }, + field3: { field1: 0, field2: 0, field3: 0, field4: {} }, + filesetWrap: { + filesetUuid: '868fc431-3ca7-4a0c-8582-fa5ecea0bfa4', + uploadKey: '868fc431-3ca7-4a0c-8582-fa5ecea0bfa4', + fileUuid: '6ef91af2-6800-763c-196d-852105755640', + field4: 1, + field5: 0, + field6: 1, + field7: 2, + field8: {}, + field9: 1, + field10: 0, + field11: 0, + field12: 0, + field13: 0, + field14: 0, + }, + }, +}; + +describe('ApplyUpload byte-oracle (0x12a9_103 encode == ENC#8)', () => { + it('encodes the ENC#8 field values to the exact frida-captured wire bytes', () => { + const out = Buffer.from(protobuf_encode(ENC8_REQ)).toString('hex'); + + if (out !== ENC8_HEX) { + // 定位首个差异字节 + const n = Math.min(out.length, ENC8_HEX.length); + let i = 0; + + while (i < n && out[i] === ENC8_HEX[i]) { + i++; + } + + throw new Error( + `hex mismatch at char ${i} (byte ${i >> 1}):\n` + + ` bot: ...${out.slice(Math.max(0, i - 20), i + 20)}\n` + + ` ENC#8: ...${ENC8_HEX.slice(Math.max(0, i - 20), i + 20)}\n` + + ` bot len=${out.length / 2}B, ENC#8 len=${ENC8_HEX.length / 2}B`, + ); + } + + expect(out).toBe(ENC8_HEX); + }); + + it('round-trips: encode → decode preserves the field tree', () => { + const bytes = protobuf_encode(ENC8_REQ); + const back = protobuf_decode(bytes); + expect(back.head?.sub?.sub).toBe(103); + expect(back.head?.config?.field103).toBe(22); + expect(back.payload?.wrapper?.fileInfo?.field9).toBe(1); + expect(back.payload?.wrapper?.fileInfo?.field5?.field4).toBe(0); + expect(back.payload?.filesetWrap?.fileUuid).toBe('6ef91af2-6800-763c-196d-852105755640'); + }); +}); diff --git a/packages/protocol/tests/oidb-services/flash-transfer/apply-upload.test.ts b/packages/protocol/tests/oidb-services/flash-transfer/apply-upload.test.ts new file mode 100644 index 00000000..f868e3cd --- /dev/null +++ b/packages/protocol/tests/oidb-services/flash-transfer/apply-upload.test.ts @@ -0,0 +1,67 @@ +import { describe, expect, it } from 'vitest'; +import { protobuf_decode } from '@snowluma/proton'; +import type { FlashApplyUploadReq } from '@snowluma/proto-defs/oidb-actions/flash-transfer'; +import { ApplyUpload } from '../../../src/oidb-services/flash-transfer/apply-upload'; + +// ENC#8: 0x12a9 sub=103 apply-upload 真实客户端请求 body(frida 抓包,QQ 9.9.26-44343, +// 2026-06-19)。字段树逐字节解码见 flash_transfer_protocol_full.md §9.5。 +// 独立 byte-oracle:从 frida 抓的 hex decode 回来,字段号/wire type 错则值读不出。 +const ENC8_HEX = + '0a190a0508ac011067120ca80602b00604b80616c00c051a020801629d030a81020a870108b4cdcc01122063396631303334663062303431653933353339653937663839356363333139621a28306636326234663763646463373965326662666431343065646531326431633434646462373937612222e5b18fe5b995e5bd95e588b620323032352d30312d3135203030323133302e6d70342a0808001000180020003000380040004801126745685150597254337a64783534767639464137654574484554647435656869307a637742494c56304b4b4b516938796a6b3555444d675277636d396b5549447153566f51496f38546b56454c72776f454c5746544c6a433268586f445947505f676745435a336f180120fae4d4d1062880ea493000120208021a0808001000180022005288010a2438363866633433312d336361372d346130632d383538322d666135656365613062666134122438363866633433312d336361372d346130632d383538322d6661356563656130626661341a2436656639316166322d363830302d373633632d313936642d38353231303537353536343020012800300138024200480150005800600068007000'; + +describe('ApplyUpload namespace (0x12a9_103)', () => { + it('declares command 0x12a9 sub 103 uinForm=true', () => { + expect(ApplyUpload.command).toBe(0x12a9); + expect(ApplyUpload.subCommand).toBe(103); + expect(ApplyUpload.uinForm).toBe(true); + }); + + it('decodes ENC#8 frida capture with the exact field tree', () => { + const req = protobuf_decode(Buffer.from(ENC8_HEX, 'hex')); + + // head: { f1:{seq,sub}, f2:config{f101,f102,f103,f200}, f3:{f1:1} } + expect(req.head?.sub?.seq).toBe(172); + expect(req.head?.sub?.sub).toBe(103); + expect(req.head?.config).toMatchObject({ + field101: 2, + field102: 4, + field103: 22, + field200: 5, + }); + expect(req.head?.field3?.field1).toBe(1); + + // payload.wrapper.fileInfo(f12.f1.f1) + const fi = req.payload?.wrapper?.fileInfo; + expect(fi?.fileSize).toBe(3352244); + expect(fi?.md5).toBe('c9f1034f0b041e93539e97f895cc319b'); + expect(fi?.sha1).toBe('0f62b4f7cddc79e2fbfd140ede12d1c44ddb797a'); + expect(fi?.fileName).toBe('屏幕录制 2025-01-15 002130.mp4'); + // field5 = {f1:0,f2:0,f3:0,f4:0},f4 是 varint(不是 message) + expect(fi?.field5).toMatchObject({ field1: 0, field2: 0, field3: 0, field4: 0 }); + expect(fi?.field9).toBe(1); + + // payload.wrapper(f12.f1):fileId + 时间戳 + TTL + expect(req.payload?.wrapper?.fileId).toBe( + 'EhQPYrT3zdx54vv9FA7eEtHETdt5ehi0zcwBILV0KKKQi8yjk5UDMgRwcm9kUIDqSVoQIo8TkVELrwoELWFTLjC2hXoDYGP_ggECZ3o', + ); + expect(req.payload?.wrapper?.field3).toBe(1); + expect(req.payload?.wrapper?.field4).toBe(1781871226); + expect(req.payload?.wrapper?.field5).toBe(1209600); + + // payload.flag2(f12.f2 = {f1:2}) + expect(req.payload?.flag2?.field1).toBe(2); + + // payload.field3(f12.f3 = {f1:0,f2:0,f3:0,f4:空message}) + expect(req.payload?.field3).toMatchObject({ field1: 0, field2: 0, field3: 0 }); + + // payload.filesetWrap(f12.f10 = filesetUuid + fileUuid + flags) + const fw = req.payload?.filesetWrap; + expect(fw?.filesetUuid).toBe('868fc431-3ca7-4a0c-8582-fa5ecea0bfa4'); + expect(fw?.uploadKey).toBe('868fc431-3ca7-4a0c-8582-fa5ecea0bfa4'); + expect(fw?.fileUuid).toBe('6ef91af2-6800-763c-196d-852105755640'); + expect(fw?.field4).toBe(1); + expect(fw?.field6).toBe(1); + expect(fw?.field7).toBe(2); + expect(fw?.field9).toBe(1); + }); +}); diff --git a/packages/protocol/tests/oidb-services/flash-transfer/get-download-url-byteoracle.test.ts b/packages/protocol/tests/oidb-services/flash-transfer/get-download-url-byteoracle.test.ts new file mode 100644 index 00000000..94fa3f48 --- /dev/null +++ b/packages/protocol/tests/oidb-services/flash-transfer/get-download-url-byteoracle.test.ts @@ -0,0 +1,31 @@ +import { describe, expect, it } from 'vitest'; +import { protobuf_decode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { FlashGetDownloadUrlResp } from '@snowluma/proto-defs/oidb-actions/flash-transfer'; +import { GetDownloadUrl } from '@snowluma/protocol/oidb-services/flash-transfer/get-download-url'; + +// 0x93d4 真实响应(send_packet 抓于 QQ 9.9.26-44343, 2026-06-20, fileset e7453377 已发送)。 +// byte-oracle:decode + deserialize 必须从 f1.f3.f14.f1 提取到主文件 fileId。 +// 0x93d4 响应结构与 0x93d3 不同(downloadUrl 在深层嵌套,非 f9.fileIdWrap),这个测试 +// 锁定该结构,防止 deserialize 退回错误的 FlashFileEntry 解读。 +const RESP_HEX = + '08d4a7021001180022b8090ab50910011afa080a2465373435333337372d633865612d343034652d393238352d353361613566616431393832122466613038663938332d323337662d303833632d656536332d6139646164336161616565352801300138024222e5b18fe5b995e5bd95e588b620323032352d30352d3033203135313234312e6d70344a2162696e676d756c757a686920323032352d30352d3033203135313234312e6d703458bcf7e3036ae9050a6645685330442d4c3261494b306b74314d51424f764f5377746465753574426a7939774567746e516f724c6d736d5961566c514d794248427962325251674f704a5768424d3744724a3276364843594c766576376b6f30587565674d4d61502d4341514a6e656712a804080212a30468747470733a2f2f6d756c74696d656469612e7166696c652e71712e636f6d2f646f776e6c6f61643f61707069643d313439303226636c69656e745f747970653d77696e26636c69656e745f7665723d392e322e33342666696c6569643d45685330442d4c3261494b306b74314d51424f764f5377746465753574426a7939774567746e516f724c6d736d5961566c514d794248427962325251674f704a5768424d3744724a3276364843594c766576376b6f30587565674d4d61502d4341514a6e656726666c64633d696358456459355a6b5346395f59347239514f526e58562d6a6b31536d397753546b4a316a6876334f357a5f747331484966612d4c6a7662416b52494531526c4373704a4776336c453469635434467437414a794c33577242304b78696a555f423270386a75367a3371314d26726b65793d43414d5371414878697a55514532647437517975726675552d78446d3568666a4d727073325a69723764535f42354d55694349644e594c495167792d5264776d495a797a584a6f31714a687834464d756b346a337042306a5f37787850315a7a6748706469315f3158376178422d736541556c5f3646546f4679597638564d5337645a577036414275597a3875517a79306c487574676a6762714271477138336d70417a6465426475555833513043732d426b54676952767768664b3835696661774a3874477371576e70784871394f444c762d5f37566a78526e424456587046314f306343551a286234306665326636363838326234393264643463343031336166333932633264373565626239623420f2f7012a20393365643461306234383164623936343335323034363339626366393133313830800438c002726b0a674568512d63526273544d5338304c79484637745658626c38536c5a4e63426938392d4d44494c56304b497154305a6d476c5a55444d675277636d396b5549447153566f5156637648434d53585865556b54726c384e555f4a41586f444c6b625f676745435a336f18027a2466613038663938332d323337662d303833632d656536332d613964616433616161656535900103a2012833653731313665633463633462636430626338373137626235353564623937633461353634643730a801bcf7e303b2010308d547ca0120346365613333363331386338303864646431646630613333633938316339316122327b226f6666736574223a31382c22637572736f725f74696d65223a22303030312d30312d30315430303a30303a30305a227d28012a005a1d0a0f636c69656e745f636f6e6e5f736571120a313738313932393033395a200a1a747270632d6f632d7072696f726974792d706173732d6261636b12022d315a1c0a0e73736f5f647965696e675f6b6579120a323535303431393036385a160a0c73736f5f636c69656e74696412063133333034375a9c040a08747270632d73736f128f04000000147061d586907300000ba05fe3000207b7000001fb0073c9510000000e3235353034313930363820071b1b000008040000000000000000000003000000004c668066ca67e24ac9a81bd08aa343840338fa2f632ec020158218d5d2a35f1a2ab856dcbdcc486af66c8ba961db5532e2a065d882604a01539050c7ad17748f95521b4dac5e1834160000001b4f696462537663547270635463702e3078393364345f31000000188e0800005f3a366a000000008d0b00000000000000000000000000002462376234353837623661333666373535346564353235613563396230303166660000000000000000000000040000011d1a007a91020a047061d58610081a06392e322e333420c19e0c4220633165633037346532323533303539633230303530333039653965643932666552005a10b7b4587b6a36f7554ed525a5c9b001ff62206237623435383762366133366637353534656435323561356339623030316666688008720757696e646f7773820118755f6c5253732d3243757359575a6a455851707045694d518a01009001019a015208081248668066ca67e24ac9a81bd08aa343840338fa2f632ec020158218d5d2a35f1a2ab856dcbdcc486af66c8ba961db5532e2a065d882604a01539050c7ad17748f95521b4dac5e18341618c4acf8fa05a00100b80165c00100d201174f696462537663547270635463702e3078393364345f3190010d'; + +describe('GetDownloadUrl byte-oracle (0x93d4 deserialize)', () => { + it('extracts main file fileId from f1.f3.f14.f1', () => { + const bytes = Uint8Array.from(Buffer.from(RESP_HEX, 'hex')); + const env = protobuf_decode>(bytes); + const result = GetDownloadUrl.deserialize(null as never, env.body!); + // 0x93d4 f1.f3 是 repeated fileInfo,单文件场景返回一个元素的数组。 + expect(result).toHaveLength(1); + const meta = result[0]; + // 主文件 fileId(0x93d4 f14.f1),用于 0x12a9 sub=200 拿主文件下载直链。 + expect(meta.fileId).toBe( + 'EhQ-cRbsTMS80LyHF7tVXbl8SlZNcBi89-MDILV0KIqT0ZmGlZUDMgRwcm9kUIDqSVoQVcvHCMSXXeUkTrl8NU_JAXoDLkb_ggECZ3o', + ); + expect(meta.filesetUuid).toBe('e7453377-c8ea-404e-9285-53aa5fad1982'); + expect(meta.fileName).toContain('mp4'); + expect(meta.fileSize).toBe(7928764); + expect(meta.fileIndex).toBe(1); + }); +}); diff --git a/packages/protocol/tests/oidb-services/flash-transfer/prepare-upload-byteoracle.test.ts b/packages/protocol/tests/oidb-services/flash-transfer/prepare-upload-byteoracle.test.ts new file mode 100644 index 00000000..230eb234 --- /dev/null +++ b/packages/protocol/tests/oidb-services/flash-transfer/prepare-upload-byteoracle.test.ts @@ -0,0 +1,94 @@ +import { describe, expect, it } from 'vitest'; +import { protobuf_encode, protobuf_decode } from '@snowluma/proton'; +import type { FlashPrepareUploadReq } from '@snowluma/proto-defs/oidb-actions/flash-transfer'; + +// 真实 sub=100 (mp4) frida 抓包(QQ 9.9.26-44343, 2026-06-19)。payload @ f2(不是 f12!)。 +// byte-oracle:用抓包值构造 req,encode 必须 byte-for-byte 匹配。 +const SUB100_MP4_HEX = + '0a180a0408081064120ca80602b00604b80616c00c051a0208011298020a6b0a6708a0d2e40212001a28643138333762626336666131653031396136326330343734616332386563363131343565656138612222e5b18fe5b995e5bd95e588b620323032352d31322d3232203135313432392e6d70342a08080010001800200030003800400048011000100118002000280032120a040800120012021a001a045a0062005000380040004a88010a2432383564346530622d363465342d343961642d396430632d666234383938393930626162122432383564346530622d363465342d343961642d396430632d6662343839383939306261621a2432343166356438382d333637352d623030612d303261302d30633035306138343032656520012800300038024200480150005800600068007000'; + +const SUB100_MP4_REQ: FlashPrepareUploadReq = { + head: { + sub: { seq: 8, sub: 100 }, + config: { field101: 2, field102: 4, field103: 22, field200: 5 }, + field3: { field1: 1 }, + }, + payload: { + wrapper: { + fileInfo: { + fileSize: 5843232, + md5: '', + sha1: 'd1837bbc6fa1e019a62c0474ac28ec61145eea8a', + fileName: '屏幕录制 2025-12-22 151429.mp4', + field5: { field1: 0, field2: 0, field3: 0, field4: 0 }, + field6: 0, + field7: 0, + field8: 0, + field9: 1, + }, + field2: 0, + }, + field2: 1, + field3: 0, + field4: 0, + field5: 0, + field6: { + field1: { field1: 0, field2: {} }, + field2: { field3: {} }, + field3: { field11: {}, field12: {} }, + field10: 0, + }, + field7: 0, + field8: 0, + filesetWrap: { + filesetUuid: '285d4e0b-64e4-49ad-9d0c-fb4898990bab', + uploadKey: '285d4e0b-64e4-49ad-9d0c-fb4898990bab', + fileUuid: '241f5d88-3675-b00a-02a0-0c050a8402ee', + field4: 1, + field5: 0, + field6: 0, + field7: 2, + field8: {}, + field9: 1, + field10: 0, + field11: 0, + field12: 0, + field13: 0, + field14: 0, + }, + }, +}; + +describe('PrepareUpload byte-oracle (0x12a9_100 encode == frida 抓包)', () => { + it('encodes the sub=100 mp4 capture to the exact wire bytes', () => { + const out = Buffer.from(protobuf_encode(SUB100_MP4_REQ)).toString( + 'hex', + ); + + if (out !== SUB100_MP4_HEX) { + const n = Math.min(out.length, SUB100_MP4_HEX.length); + let i = 0; + + while (i < n && out[i] === SUB100_MP4_HEX[i]) { + i++; + } + + throw new Error( + `hex mismatch at char ${i} (byte ${i >> 1}):\n` + + ` bot: ...${out.slice(Math.max(0, i - 24), i + 24)}\n` + + ` frida: ...${SUB100_MP4_HEX.slice(Math.max(0, i - 24), i + 24)}\n` + + ` bot len=${out.length / 2}B, frida len=${SUB100_MP4_HEX.length / 2}B`, + ); + } + + expect(out).toBe(SUB100_MP4_HEX); + }); + + it('round-trips: encode → decode preserves key fields', () => { + const bytes = protobuf_encode(SUB100_MP4_REQ); + const back = protobuf_decode(bytes); + expect(back.head?.sub?.sub).toBe(100); + expect(back.payload?.wrapper?.fileInfo?.fileSize).toBe(5843232); + expect(back.payload?.filesetWrap?.fileUuid).toBe('241f5d88-3675-b00a-02a0-0c050a8402ee'); + }); +}); diff --git a/packages/protocol/tests/oidb-services/flash-transfer/send-flash-byteoracle.test.ts b/packages/protocol/tests/oidb-services/flash-transfer/send-flash-byteoracle.test.ts new file mode 100644 index 00000000..fe299994 --- /dev/null +++ b/packages/protocol/tests/oidb-services/flash-transfer/send-flash-byteoracle.test.ts @@ -0,0 +1,68 @@ +import { describe, expect, it } from 'vitest'; +import { protobuf_encode, protobuf_decode } from '@snowluma/proton'; +import type { FlashSendReq } from '@snowluma/proto-defs/oidb-actions/flash-transfer'; + +// 0x93d7 send_flash_msg 真实客户端请求 body(frida 抓包,QQ 9.9.26-44343, 2026-06-20)。 +// fileset e7453377-c8ea-404e-9285-53aa5fad1982 发送给 uid u_0aHrwL1tyskEWkhChJoeJg。 +// byte-oracle:用抓包值构造 req,encode 必须 byte-for-byte 匹配。 +const SEND_HEX = + '0a1e0801121a0a18755f30614872774c317479736b45576b6843684a6f654a67122465373435333337372d633865612d343034652d393238352d353361613566616431393832'; + +const SEND_REQ: FlashSendReq = { + target: { field1: 1, targetUid: { targetUid: 'u_0aHrwL1tyskEWkhChJoeJg' } }, + filesetUuid: 'e7453377-c8ea-404e-9285-53aa5fad1982', +}; + +describe('SendFlashMsg byte-oracle (0x93d7 encode == frida 抓包)', () => { + it('encodes the send capture to the exact wire bytes', () => { + const out = Buffer.from(protobuf_encode(SEND_REQ)).toString('hex'); + + if (out !== SEND_HEX) { + const n = Math.min(out.length, SEND_HEX.length); + let i = 0; + + while (i < n && out[i] === SEND_HEX[i]) { + i++; + } + + throw new Error( + `hex mismatch at char ${i} (byte ${i >> 1}):\n` + + ` bot: ...${out.slice(Math.max(0, i - 20), i + 20)}\n` + + ` frida: ...${SEND_HEX.slice(Math.max(0, i - 20), i + 20)}\n` + + ` bot len=${out.length / 2}B, frida len=${SEND_HEX.length / 2}B`, + ); + } + + expect(out).toBe(SEND_HEX); + }); + + it('round-trips: encode → decode preserves target + filesetUuid', () => { + const bytes = protobuf_encode(SEND_REQ); + const back = protobuf_decode(bytes); + expect(back.target?.field1).toBe(1); + expect(back.target?.targetUid?.targetUid).toBe('u_0aHrwL1tyskEWkhChJoeJg'); + expect(back.filesetUuid).toBe('e7453377-c8ea-404e-9285-53aa5fad1982'); + }); +}); + +// 群聊 0x93d7:f1={f1:2, f3:{f1:groupId}}, f2=filesetUuid(groupId 直接用群号,无需转 uid)。 +// 真实客户端 frida 抓包(2026-06-20),fileset e7453377 发送给群 1017438661。 +const SEND_GROUP_HEX = + '0a0a08021a0608c5c393e503122465373435333337372d633865612d343034652d393238352d353361613566616431393832'; +const SEND_GROUP_REQ: FlashSendReq = { + target: { field1: 2, targetGroup: { groupId: 1017438661 } }, + filesetUuid: 'e7453377-c8ea-404e-9285-53aa5fad1982', +}; + +describe('SendFlashMsg byte-oracle (0x93d7 群聊 encode == frida 抓包)', () => { + it('encodes the group send capture to the exact wire bytes', () => { + const out = Buffer.from(protobuf_encode(SEND_GROUP_REQ)).toString('hex'); + expect(out).toBe(SEND_GROUP_HEX); + }); + + it('round-trips: encode → decode preserves groupId', () => { + const back = protobuf_decode(protobuf_encode(SEND_GROUP_REQ)); + expect(back.target?.field1).toBe(2); + expect(back.target?.targetGroup?.groupId).toBe(1017438661); + }); +}); diff --git a/packages/protocol/tests/oidb-services/friend/approve-doubt-buddy-req.test.ts b/packages/protocol/tests/oidb-services/friend/approve-doubt-buddy-req.test.ts new file mode 100644 index 00000000..75f17049 --- /dev/null +++ b/packages/protocol/tests/oidb-services/friend/approve-doubt-buddy-req.test.ts @@ -0,0 +1,129 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_encode } from '@snowluma/proton'; +import type { OidbBase, OidbEmpty } from '@snowluma/proto-defs/oidb'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; +import { ApproveDoubtBuddyReq } from '../../../src/oidb-services/friend/approve-doubt-buddy-req'; +import { env, s, v } from '../_pb-oracle'; + +function makeSender(selfUid = 'u_self', selfUin = '10001') { + const respEnv: OidbBase = { command: 0xd72, subCommand: 0, body: {} }; + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.from(protobuf_encode>(respEnv)), + }; + return { + sendRawPacket: vi.fn(async (_cmd: string, _bytes: Uint8Array) => r), + identity: { selfUid, uin: selfUin } as ApproveDoubtBuddyReq.Deps['identity'], + resolveUserUid: vi.fn(async () => 'u_lookup_self'), + }; +} + +describe('ApproveDoubtBuddyReq namespace', () => { + it('keeps the approving account separate from the applicant', async () => { + const sender = makeSender(); + expect(await ApproveDoubtBuddyReq.serialize(sender, { uid: 'u_applicant' })).toEqual({ + selfUid: 'u_self', + targetUid: 'u_applicant', + field3: 0, + field4: '', + }); + expect(sender.resolveUserUid).not.toHaveBeenCalled(); + }); + + it('matches the approval request bytes including explicit default options', async () => { + const sender = makeSender(); + await ApproveDoubtBuddyReq.invoke(sender, { uid: 'u_applicant' }); + + expect(sender.sendRawPacket).toHaveBeenCalledOnce(); + const [cmd, bytes] = sender.sendRawPacket.mock.calls[0]!; + expect(cmd).toBe('OidbSvcTrpcTcp.0xd72_0'); + const body = [...s(1, 'u_self'), ...s(2, 'u_applicant'), ...v(3, 0), ...s(4, '')]; + expect(Buffer.from(bytes).toString('hex')).toBe(env(0xd72, 0, body, false)); + }); + + it('resolves the current account when its self profile is not cached', async () => { + const sender = makeSender(''); + await ApproveDoubtBuddyReq.invoke(sender, { uid: 'u_applicant' }); + expect(sender.resolveUserUid).toHaveBeenCalledWith(10001); + const body = [...s(1, 'u_lookup_self'), ...s(2, 'u_applicant'), ...v(3, 0), ...s(4, '')]; + expect(Buffer.from(sender.sendRawPacket.mock.calls[0]![1]).toString('hex')).toBe( + env(0xd72, 0, body, false), + ); + }); + + it('does not send when the current account cannot be identified', async () => { + const sender = makeSender('', '0'); + await expect(ApproveDoubtBuddyReq.invoke(sender, { uid: 'u_applicant' })).rejects.toThrow( + 'self uid is unavailable', + ); + expect(sender.sendRawPacket).not.toHaveBeenCalled(); + expect(sender.resolveUserUid).not.toHaveBeenCalled(); + }); + + it('propagates self identity lookup errors without sending', async () => { + const sender = makeSender(''); + sender.resolveUserUid.mockRejectedValue(new Error('profile lookup failed')); + await expect(ApproveDoubtBuddyReq.invoke(sender, { uid: 'u_applicant' })).rejects.toThrow( + 'profile lookup failed', + ); + expect(sender.sendRawPacket).not.toHaveBeenCalled(); + }); + + it('rejects an empty resolved self identity before sending', async () => { + const sender = makeSender(''); + sender.resolveUserUid.mockResolvedValue(''); + await expect(ApproveDoubtBuddyReq.invoke(sender, { uid: 'u_applicant' })).rejects.toThrow( + 'self uid is unavailable', + ); + expect(sender.sendRawPacket).not.toHaveBeenCalled(); + }); + + it.each(['', ' '])('rejects an absent applicant identity (%j)', async (uid) => { + const sender = makeSender(); + await expect(ApproveDoubtBuddyReq.invoke(sender, { uid })).rejects.toThrow( + 'applicant uid is unavailable', + ); + expect(sender.sendRawPacket).not.toHaveBeenCalled(); + }); + + it('propagates a rejected approval without retrying a different operation', async () => { + const sender = makeSender(); + sender.sendRawPacket.mockResolvedValue({ + success: false, + gotResponse: true, + errorCode: 1201, + errorMessage: 'request rejected', + responseData: Buffer.alloc(0), + }); + await expect(ApproveDoubtBuddyReq.invoke(sender, { uid: 'u_applicant' })).rejects.toThrow( + 'request rejected', + ); + expect(sender.sendRawPacket).toHaveBeenCalledOnce(); + }); + + it('does not mistake a successful transport for an accepted approval', async () => { + const sender = makeSender(); + sender.sendRawPacket.mockResolvedValue({ + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.from( + protobuf_encode>({ + command: 0xd72, + subCommand: 0, + errorCode: 1201, + errorMsg: 'approval denied', + body: {}, + }), + ), + }); + await expect(ApproveDoubtBuddyReq.invoke(sender, { uid: 'u_applicant' })).rejects.toThrow( + 'approval denied', + ); + expect(sender.sendRawPacket).toHaveBeenCalledOnce(); + }); +}); diff --git a/packages/protocol/tests/oidb-services/friend/clear-friend-remark.test.ts b/packages/protocol/tests/oidb-services/friend/clear-friend-remark.test.ts new file mode 100644 index 00000000..3a825b12 --- /dev/null +++ b/packages/protocol/tests/oidb-services/friend/clear-friend-remark.test.ts @@ -0,0 +1,35 @@ +import type { SendPacketResult } from '@snowluma/common/packet-sender'; +import { describe, expect, it, vi } from 'vitest'; + +import { ClearFriendRemark } from '../../../src/oidb-services/friend/clear-friend-remark'; +import { env, m, s } from '../_pb-oracle'; + +function makeDeps() { + const result: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.alloc(0), + }; + return { + sendRawPacket: vi.fn(async () => result), + resolveUserUid: vi.fn(async () => 'resolved-uid'), + }; +} + +describe('ClearFriendRemark namespace', () => { + it('sends the current QQ 0x912F_0 wire shape', async () => { + const deps = makeDeps(); + await ClearFriendRemark.invoke(deps, { userId: 10001 }); + const [wireName, bytes] = deps.sendRawPacket.mock.calls[0]!; + const body = m(1, s(7, 'resolved-uid')); + expect({ + wireName, + hex: Buffer.from(bytes).toString('hex'), + }).toEqual({ + wireName: 'OidbSvcTrpcTcp.0x912f_0', + hex: env(0x912f, 0, body, false), + }); + }); +}); diff --git a/packages/protocol/tests/oidb-services/friend/delete-friend.test.ts b/packages/protocol/tests/oidb-services/friend/delete-friend.test.ts new file mode 100644 index 00000000..6815db4c --- /dev/null +++ b/packages/protocol/tests/oidb-services/friend/delete-friend.test.ts @@ -0,0 +1,84 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { OidbDeleteFriend } from '@snowluma/proto-defs/oidb-actions/base'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { DeleteFriend } from '../../../src/oidb-services/friend/delete-friend'; +import { env, m, s, v } from '../_pb-oracle'; + +function makeDeps() { + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.alloc(0), + }; + return { + sendRawPacket: vi.fn(async () => r), + resolveUserUid: vi.fn(async () => 'resolved-uid'), + }; +} + +describe('DeleteFriend namespace', () => { + it('declares 0x126B_0', () => { + expect(DeleteFriend.command).toBe(0x126b); + expect(DeleteFriend.subCommand).toBe(0); + }); + + describe('invoke', () => { + it('routes to OidbSvcTrpcTcp.0x126b_0', async () => { + const deps = makeDeps(); + await DeleteFriend.invoke(deps, { userId: 10001 }); + expect(deps.sendRawPacket.mock.calls[0]![0]).toBe('OidbSvcTrpcTcp.0x126b_0'); + }); + + it('resolves the target uid before encoding', async () => { + const deps = makeDeps(); + await DeleteFriend.invoke(deps, { userId: 10001 }); + expect(deps.resolveUserUid).toHaveBeenCalledWith(10001); + }); + + it('packages the nested envelope with verbatim magic constants', async () => { + const deps = makeDeps(); + await DeleteFriend.invoke(deps, { userId: 10001, block: true }); + const [, bytes] = deps.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + expect(env.body?.field1).toMatchObject({ + targetUid: 'resolved-uid', + block: true, + field2: { + field1: 130, + field2: 109, + field3: { field1: 8, field2: 8, field3: 50 }, + }, + }); + }); + + it('matches the current QQ wire for a non-blocking delete', async () => { + const deps = makeDeps(); + await DeleteFriend.invoke(deps, { userId: 10001 }); + const [wireName, bytes] = deps.sendRawPacket.mock.calls[0]!; + const discriminator = [ + ...v(1, 130), + ...v(2, 109), + ...m(3, [...v(1, 8), ...v(2, 8), ...v(3, 50)]), + ]; + const body = m(1, [ + ...s(1, 'resolved-uid'), + ...m(2, discriminator), + // Current QQ explicitly emits both booleans. + ...v(3, 0), + ...v(4, 1), + ]); + expect({ + wireName, + hex: Buffer.from(bytes).toString('hex'), + }).toEqual({ + wireName: 'OidbSvcTrpcTcp.0x126b_0', + hex: env(0x126b, 0, body, false), + }); + }); + }); +}); diff --git a/packages/protocol/tests/oidb-services/friend/fixtures/d69-linux-3.2.32.hex b/packages/protocol/tests/oidb-services/friend/fixtures/d69-linux-3.2.32.hex new file mode 100644 index 00000000..e22111c5 --- /dev/null +++ b/packages/protocol/tests/oidb-services/friend/fixtures/d69-linux-3.2.32.hex @@ -0,0 +1 @@ +08e91a22a60c080112a10c0a7e0880c2d72f12066e69636b3030180020fe012a056d73673030320851512067726f75703a1766696c746572656420667269656e6420726571756573744080c3bbc2064880cee4cd02500062006a30abc8a360ea075bcf8bbfa1e1e0e010beb1ac5228138eb82586704b41691e9efea640392a2a65e9dd50de82f154e0201b0a7d08c7aa9b3012066e69636b3031180020012a056d73673031320851512067726f75703a1766696c746572656420667269656e6420726571756573744080e6c0c206488dcee4cd02500162006a30ee591d017a9bb6807f7db7c8d3665e34923c7db6f6252d672a8f1f8986c7c9e3d21415ea86987a1b689c8d675d2a26800a7d088e93df3012066e69636b3032180020012a056d73673032320851512067726f75703a1766696c746572656420667269656e642072657175657374408089c6c206489acee4cd02500062006a305fe9e2cce8e6bc04c4f76fe8872347907e73a73b9184c3a7cbbd9c85a1d319c252129d950d06920d50732964df4afcf20a810108d5fba23112066e69636b3033180020ffffffff0f2a056d73673033320851512067726f75703a1766696c746572656420667269656e6420726571756573744080accbc20648a7cee4cd02500062006a3006b881debd01f92c98ef3c1726406ebeb88cae9d12d89e9fa36c20a77495dd0a3eb9fbbe7b14f65d657e979adfda5c600a7d089ce4e63112066e69636b3034180020012a056d73673034320851512067726f75703a1766696c746572656420667269656e6420726571756573744080cfd0c20648b4cee4cd02500062006a30316f76c654c33c8f6f3689a9475d8b871f74654789edb72d3f1a87bb1ba11cf07286b8d748f4d08d6fbe5afee8208e010a870108e3ccaa3212066e69636b3035185920ffffffff0f2a056d73673035320851512067726f75703a1766696c746572656420667269656e6420726571756573744080f2d5c20648c1cee4cd0250006206e4b89ce4baac6a30a3038a382c30ee6a8686410089e1c618f0b11bf92fdf2726da2910d2082a147a5569d04815e7c42287b424ef45b00ff70a860108aab5ee3212066e69636b3036180120002a056d73673036320851512067726f75703a1766696c746572656420667269656e642072657175657374408095dbc20648cecee4cd0250006209e7a59ee5a588e5b79d6a3097d6cc1f21ca290ab424147c3181e68490c49de47eda96eb422ec861eefdc8f580578655ac4f874ab7e8467cfc0e9fd30a810108f19db23312066e69636b3037180020ffffffff0f2a056d73673037320851512067726f75703a1766696c746572656420667269656e6420726571756573744080b8e0c20648dbcee4cd02500062006a303c1421acb295e3a5a4c914625ef1dbee99b552716ed28046cfa3b9171518dab5c247e0ddd3a24cb5f318a1cb60d6c9b30a810108b886f63312066e69636b3038180020ffffffff0f2a056d73673038320851512067726f75703a1766696c746572656420667269656e6420726571756573744080dbe5c20648e8cee4cd02500162006a3020ac3ddb705e3246f8fe7d266becea5bf92ec584a2cc12d4a83197d782047ca61d0ed90c5c4419e0866940f22a3eb1420a7d08ffeeb93412066e69636b3039180020012a056d73673039320851512067726f75703a1766696c746572656420667269656e6420726571756573744080feeac20648f5cee4cd02500162006a3047da9cf4f576624c5edd21b6bcfda8898c91143711f0bd251e00dfb1c273738290fa190cf6dc231c41dc31ad2086c6050a7d08c6d7fd3412066e69636b3130181420002a056d73673130320851512067726f75703a1766696c746572656420667269656e6420726571756573744080a1f0c2064882cfe4cd02500062006a300ab4598cfe36f3f340ec5237766213a06ddd99d900c3b3ac4d18530d4308f17943a22ef6b85d4d3f08086dcaf36465550a8401088dc0c13512066e69636b3131181220fe012a056d73673131320851512067726f75703a1766696c746572656420667269656e6420726571756573744080c4f5c206488fcfe4cd0250016206e697a0e994a16a3006e504c8f85b64fa8d5cb196d4b8cebc8098c752d879880bd8ab0108a829a1b29f952ff4e4b3807af4d54f70fb0dbf50 diff --git a/packages/protocol/tests/oidb-services/friend/get-doubt-buddy-req.test.ts b/packages/protocol/tests/oidb-services/friend/get-doubt-buddy-req.test.ts new file mode 100644 index 00000000..584ddfef --- /dev/null +++ b/packages/protocol/tests/oidb-services/friend/get-doubt-buddy-req.test.ts @@ -0,0 +1,183 @@ +import { describe, expect, it, vi } from 'vitest'; +import { readFileSync } from 'node:fs'; +import { fileURLToPath } from 'node:url'; +import { protobuf_encode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { OidbDoubtGetResp } from '@snowluma/proto-defs/oidb-actions/doubt-buddy'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; +import { GetDoubtBuddyReq } from '../../../src/oidb-services/friend/get-doubt-buddy-req'; +import { env, v, s, m } from '../_pb-oracle'; + +function makeSender(): { sendRawPacket: ReturnType } { + const respEnv: OidbBase = { + command: 0xd69, + subCommand: 0, + body: { + status: 1, + body: { + list: [ + { + uid: 'u_alice', + nick: 'Alice', + source: '可能认识', + reason: '', + msg: 'hi', + reqTime: 1700000000n, + }, + ], + reason: '', + }, + }, + }; + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.from(protobuf_encode>(respEnv)), + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('GetDoubtBuddyReq namespace', () => { + it('declares command 0xD69 sub 0, uin form', () => { + expect(GetDoubtBuddyReq.command).toBe(0xd69); + expect(GetDoubtBuddyReq.subCommand).toBe(0); + expect(GetDoubtBuddyReq.uinForm).toBe(true); + }); + + it('serializes {1:1, 2:{1:count, 2:uk}} (reqId is not on the wire)', () => { + expect(GetDoubtBuddyReq.serialize({} as any, { count: 50 })).toEqual({ + field1: 1, + inner: { num: 50, uk: '' }, + }); + }); + + it('byte-oracle: routes to 0xd69_0 and locks nested req tags {1:const1, 2:{1:num, 2:uk}}', async () => { + const sender = makeSender(); + await GetDoubtBuddyReq.invoke(sender, { count: 50 }); + + const [cmd, bytes] = sender.sendRawPacket.mock.calls[0]!; + expect(cmd).toBe('OidbSvcTrpcTcp.0xd69_0'); + // uk '' omitted (proto3 default); inner carries only num. + const inner = [...v(1, 50)]; + const body = [...v(1, 1), ...m(2, inner)]; + expect(Buffer.from(bytes).toString('hex')).toBe(env(0xd69, 0, body, true)); + }); + + it('deserializes the string uid item to the OneBot shape', async () => { + const list = await GetDoubtBuddyReq.invoke(makeSender(), { count: 10 }); + expect(list).toEqual([ + { + uid: 'u_alice', + user_id: 0, + nick: 'Alice', + source: '可能认识', + reason: '', + msg: 'hi', + group_code: '', + reqTime: 1700000000, + }, + ]); + }); + + it('deserialize returns [] when the body has no list', () => { + expect(GetDoubtBuddyReq.deserialize({} as any, { status: 1 })).toEqual([]); + }); + + it('keeps an empty uid when the reply only carries the account number', () => { + expect( + GetDoubtBuddyReq.deserialize({} as any, { + status: 1, + body: { list: [{ nick: 'Alice', uin: 12345n, reqTime: 1700000000n }] }, + }), + ).toEqual([ + { + uid: '', + user_id: 12345, + nick: 'Alice', + source: '', + reason: '', + msg: '', + group_code: '', + reqTime: 1700000000, + }, + ]); + }); + + it('keeps the uid string and does not reread it as the account number', async () => { + const item = [ + ...s(1, 'u_alice'), + ...s(2, 'Alice'), + ...s(5, 'hi'), + ...s(6, 'QQ号查找'), + ...s(7, 'caution'), + ]; + const sender = { + sendRawPacket: vi.fn(async () => ({ + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.from( + env(0xd69, 0, [...v(1, 1), ...m(2, m(1, item))], false), + 'hex', + ), + })), + }; + const list = await GetDoubtBuddyReq.invoke(sender, { count: 10 }); + expect(list).toEqual([ + { + uid: 'u_alice', + user_id: 0, + nick: 'Alice', + source: 'QQ号查找', + reason: 'caution', + msg: 'hi', + group_code: '', + reqTime: 0, + }, + ]); + }); + + // Live capture from QQ 3.2.32-52194 on Linux. Locks the real wire shape: + // tag1 is the applicant's account number (not a string uid), tag8 is the + // request unix time, and tag9 is the source group. Before this, a tag8-as-uin + // read made the uin->uid fallback query the request time as an account. + it('decodes a captured Linux reply: account at tag1, time at tag8, group at tag9', () => { + const hex = readFileSync( + fileURLToPath(new URL('./fixtures/d69-linux-3.2.32.hex', import.meta.url)), + 'utf8', + ).trim(); + const list = GetDoubtBuddyReq.deserialize( + {} as any, + GetDoubtBuddyReq.decode(Buffer.from(hex, 'hex')).body!, + ); + + expect(list).toHaveLength(12); + expect(list[0]).toMatchObject({ + uid: '', + user_id: 100000000, + nick: 'nick00', + source: 'QQ group', + reason: 'filtered friend request', + msg: 'msg00', + group_code: '700000000', + reqTime: 1750000000, + }); + expect(list[1]).toMatchObject({ + uid: '', + user_id: 101111111, + group_code: '700000013', + reqTime: 1750086400, + }); + + // Account numbers stay in the QQ range; request times land in 2025-2026. + for (const item of list) { + expect(item.user_id).toBeGreaterThan(100000); + expect(item.user_id).toBeLessThan(4294967296); + expect(item.reqTime).toBeGreaterThan(1700000000); + expect(item.reqTime).toBeLessThan(2000000000); + } + }); +}); diff --git a/packages/protocol/tests/oidb-services/friend/handle-friend-request.test.ts b/packages/protocol/tests/oidb-services/friend/handle-friend-request.test.ts new file mode 100644 index 00000000..337fabc7 --- /dev/null +++ b/packages/protocol/tests/oidb-services/friend/handle-friend-request.test.ts @@ -0,0 +1,70 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { OidbFriendRequestAction } from '@snowluma/proto-defs/oidb-actions/base'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { HandleFriendRequest } from '../../../src/oidb-services/friend/handle-friend-request'; + +function makeDeps(resolvedUid = 'resolved-uid') { + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.alloc(0), + }; + return { + sendRawPacket: vi.fn(async () => r), + resolveUserUid: vi.fn(async () => resolvedUid), + }; +} + +describe('HandleFriendRequest namespace', () => { + it('declares 0xB5D_44', () => { + expect(HandleFriendRequest.command).toBe(0xb5d); + expect(HandleFriendRequest.subCommand).toBe(44); + }); + + describe('invoke', () => { + it('routes to OidbSvcTrpcTcp.0xb5d_44', async () => { + const deps = makeDeps(); + await HandleFriendRequest.invoke(deps, { uidOrFlag: 'uid', approve: true }); + expect(deps.sendRawPacket.mock.calls[0]![0]).toBe('OidbSvcTrpcTcp.0xb5d_44'); + }); + + it('detects digit-only flag → resolves via resolveUserUid', async () => { + const deps = makeDeps('resolved-from-uin'); + await HandleFriendRequest.invoke(deps, { uidOrFlag: '10001', approve: true }); + expect(deps.resolveUserUid).toHaveBeenCalledWith(10001); + const [, bytes] = deps.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + expect(env.body?.targetUid).toBe('resolved-from-uin'); + }); + + it('passes non-numeric flag through verbatim (no resolveUserUid call)', async () => { + const deps = makeDeps(); + await HandleFriendRequest.invoke(deps, { uidOrFlag: 'flag-abc', approve: false }); + expect(deps.resolveUserUid).not.toHaveBeenCalled(); + const [, bytes] = deps.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + expect(env.body?.targetUid).toBe('flag-abc'); + }); + + it('encodes accept=3 when approve=true', async () => { + const deps = makeDeps(); + await HandleFriendRequest.invoke(deps, { uidOrFlag: 'u', approve: true }); + const [, bytes] = deps.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + expect(env.body?.accept).toBe(3); + }); + + it('encodes accept=5 when approve=false', async () => { + const deps = makeDeps(); + await HandleFriendRequest.invoke(deps, { uidOrFlag: 'u', approve: false }); + const [, bytes] = deps.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + expect(env.body?.accept).toBe(5); + }); + }); +}); diff --git a/packages/protocol/tests/oidb-services/friend/reject-doubt-buddy-req.test.ts b/packages/protocol/tests/oidb-services/friend/reject-doubt-buddy-req.test.ts new file mode 100644 index 00000000..3498fc1c --- /dev/null +++ b/packages/protocol/tests/oidb-services/friend/reject-doubt-buddy-req.test.ts @@ -0,0 +1,44 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_encode } from '@snowluma/proton'; +import type { OidbBase, OidbEmpty } from '@snowluma/proto-defs/oidb'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; +import { RejectDoubtBuddyReq } from '../../../src/oidb-services/friend/reject-doubt-buddy-req'; +import { env, v, s, m } from '../_pb-oracle'; + +function makeSender() { + const respEnv: OidbBase = { command: 0xd69, subCommand: 0, body: {} }; + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.from(protobuf_encode>(respEnv)), + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('RejectDoubtBuddyReq namespace', () => { + it('declares command 0xD69 sub 0, uin form', () => { + expect(RejectDoubtBuddyReq.command).toBe(0xd69); + expect(RejectDoubtBuddyReq.subCommand).toBe(0); + expect(RejectDoubtBuddyReq.uinForm).toBe(true); + }); + + it('serializes {1: const 3 (op discriminator), 3: {1: uid}}', () => { + expect(RejectDoubtBuddyReq.serialize({} as any, { uid: 'u_x' })).toEqual({ + field1: 3, + inner: { uid: 'u_x' }, + }); + }); + + it('byte-oracle: routes to 0xd69_0 and locks req tags {1:const3, 3:{1:uid}}', async () => { + const sender = makeSender(); + await RejectDoubtBuddyReq.invoke(sender, { uid: 'u_abc' }); + + const [cmd, bytes] = sender.sendRawPacket.mock.calls[0]!; + expect(cmd).toBe('OidbSvcTrpcTcp.0xd69_0'); + const inner = [...s(1, 'u_abc')]; + const body = [...v(1, 3), ...m(3, inner)]; + expect(Buffer.from(bytes).toString('hex')).toBe(env(0xd69, 0, body, true)); + }); +}); diff --git a/packages/protocol/tests/oidb-services/friend/set-friend-remark.test.ts b/packages/protocol/tests/oidb-services/friend/set-friend-remark.test.ts new file mode 100644 index 00000000..8df04453 --- /dev/null +++ b/packages/protocol/tests/oidb-services/friend/set-friend-remark.test.ts @@ -0,0 +1,151 @@ +import { describe, expect, it, vi } from 'vitest'; +import { subscribeLogs, type LogEntry } from '@snowluma/common/logger'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { SetFriendRemark } from '../../../src/oidb-services/friend/set-friend-remark'; +import { env, m, s, v } from '../_pb-oracle'; + +function successBody(uid = 'resolved-uid', remark = 'best-friend', uin = 0): number[] { + return m(1, [...m(1, [...(uin > 0 ? v(3, uin) : []), ...s(7, uid)]), ...s(2, remark)]); +} + +function makeDeps(responseBody = successBody()) { + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.from(env(0x912e, 0, responseBody, false), 'hex'), + }; + return { + sendRawPacket: vi.fn(async () => r), + resolveUserUid: vi.fn(async () => 'resolved-uid'), + identity: { updateFriendRemark: vi.fn() }, + }; +} + +describe('SetFriendRemark namespace', () => { + it('sends the current QQ 0x912E_0 wire shape for a non-empty remark', async () => { + const deps = makeDeps(); + await SetFriendRemark.invoke(deps, { userId: 10001, remark: 'best-friend' }); + const [wireName, bytes] = deps.sendRawPacket.mock.calls[0]!; + const body = [ + ...m(1, [...m(1, s(7, 'resolved-uid')), ...s(2, 'best-friend')]), + // QQ explicitly emits scene=0 for an ordinary friend. + ...v(2, 0), + ]; + expect({ + wireName, + hex: Buffer.from(bytes).toString('hex'), + }).toEqual({ + wireName: 'OidbSvcTrpcTcp.0x912e_0', + hex: env(0x912e, 0, body, false), + }); + }); + + it('resolves the target UID before encoding', async () => { + const deps = makeDeps(); + await SetFriendRemark.invoke(deps, { userId: 10001, remark: 'best-friend' }); + expect(deps.resolveUserUid).toHaveBeenCalledWith(10001); + }); + + it('updates identity only after the server confirms the requested value', async () => { + const deps = makeDeps(successBody('resolved-uid', 'best-friend', 10001)); + + await SetFriendRemark.invoke(deps, { userId: 10001, remark: 'best-friend' }); + + expect(deps.identity.updateFriendRemark).toHaveBeenCalledWith( + 'resolved-uid', + 10001, + 'best-friend', + ); + }); + + it('reports local synchronization failures without retrying a confirmed remote update', async () => { + const deps = makeDeps(successBody('resolved-uid', 'best-friend', 10001)); + deps.identity.updateFriendRemark.mockImplementation(() => { + throw new Error('identity cache unavailable'); + }); + const captured: LogEntry[] = []; + const unsubscribe = subscribeLogs((entry) => { + if (entry.scope === 'Bridge.Friend') { + captured.push(entry); + } + }); + + try { + await expect( + SetFriendRemark.invoke(deps, { + userId: 10001, + remark: 'best-friend', + }), + ).resolves.toBeUndefined(); + } finally { + unsubscribe(); + } + + expect(deps.sendRawPacket).toHaveBeenCalledTimes(1); + expect(captured).toContainEqual( + expect.objectContaining({ + level: 'error', + message: expect.stringContaining('identity cache unavailable'), + }), + ); + }); + + it('rejects a business failure carried inside a successful OIDB response', async () => { + const deps = makeDeps(m(3, [...v(2, 120), ...s(3, 'remark rejected')])); + + await expect( + SetFriendRemark.invoke(deps, { + userId: 10001, + remark: 'best-friend', + }), + ).rejects.toThrow(/remark rejected/); + expect(deps.identity.updateFriendRemark).not.toHaveBeenCalled(); + }); + + it('rejects a response that contains neither a result nor a business error', async () => { + const deps = makeDeps([]); + + await expect( + SetFriendRemark.invoke(deps, { + userId: 10001, + remark: 'best-friend', + }), + ).rejects.toThrow(/missing result/); + }); + + it('rejects a success result for a different target', async () => { + const deps = makeDeps(successBody('another-uid')); + + await expect( + SetFriendRemark.invoke(deps, { + userId: 10001, + remark: 'best-friend', + }), + ).rejects.toThrow(/target mismatch/); + }); + + it('rejects a success result that does not confirm the requested remark', async () => { + const deps = makeDeps(successBody('resolved-uid', 'old-remark')); + + await expect( + SetFriendRemark.invoke(deps, { + userId: 10001, + remark: 'best-friend', + }), + ).rejects.toThrow(/does not match/); + }); + + it('rejects a success result carrying a different numeric account', async () => { + const deps = makeDeps(successBody('resolved-uid', 'best-friend', 20002)); + + await expect( + SetFriendRemark.invoke(deps, { + userId: 10001, + remark: 'best-friend', + }), + ).rejects.toThrow(/expected UIN 10001, got 20002/); + }); +}); diff --git a/packages/protocol/tests/oidb-services/group-admin/admin-permissions.test.ts b/packages/protocol/tests/oidb-services/group-admin/admin-permissions.test.ts new file mode 100644 index 00000000..84aa8eab --- /dev/null +++ b/packages/protocol/tests/oidb-services/group-admin/admin-permissions.test.ts @@ -0,0 +1,256 @@ +import { describe, expect, it, vi } from 'vitest'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; +import { SetAdminPermissions } from '../../../src/oidb-services/group-admin/set-admin-permissions'; +import { GetAdminPermissions } from '../../../src/oidb-services/group-admin/get-admin-permissions'; +import { SetAdminReceiveVerify } from '../../../src/oidb-services/group-admin/set-admin-receive-verify'; +import { env, m, v } from '../_pb-oracle'; + +const target = { groupId: 12345, userId: 67890 }; + +function sender(body: number[] = []) { + const result: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.from(body), + }; + return { sendRawPacket: vi.fn(async (_cmd: string, _bytes: Uint8Array) => result) }; +} + +function member(uin: number, permissions: number[]) { + return [...v(1, uin), ...m(3, m(52, permissions))]; +} + +function snapshot(permissions: number[], group = target.groupId, uin = target.userId) { + return m(4, [...v(1, group), ...m(3, member(uin, permissions))]); +} + +function permission(id: number, value: number, extra?: number[]) { + return m(1, [...v(1, id), ...v(2, value), ...(extra === undefined ? [] : m(3, extra))]); +} + +describe('administrator permission requests', () => { + it('writes both permissions with the service-specific envelope and nested daily limit', async () => { + const deps = sender(); + await SetAdminPermissions.invoke(deps, { + ...target, + recallMemberMessage: false, + kickMember: true, + kickMemberPerDay: 20, + }); + const [cmd, bytes] = deps.sendRawPacket.mock.calls[0]!; + expect(cmd).toBe('OidbSvcTrpcTcp.0x9c1c_2'); + expect(Buffer.from(bytes).toString('hex')).toBe( + env( + 0x9c1c, + 2, + [ + ...v(1, target.groupId), + ...v(2, target.userId), + ...m(3, [...v(1, 1), ...v(2, 1), ...m(3, v(1, 20))]), + ...m(3, [...v(1, 2), ...v(2, 2)]), + ], + false, + ), + ); + }); + + it('does not write omitted permissions and encodes disable as 2', async () => { + const deps = sender(); + await SetAdminPermissions.invoke(deps, { ...target, kickMember: false }); + expect(Buffer.from(deps.sendRawPacket.mock.calls[0]![1]).toString('hex')).toBe( + env( + 0x9c1c, + 2, + [ + ...v(1, target.groupId), + ...v(2, target.userId), + ...m(3, [...v(1, 1), ...v(2, 2)]), + ], + false, + ), + ); + await SetAdminPermissions.invoke(deps, { ...target, recallMemberMessage: true }); + expect(Buffer.from(deps.sendRawPacket.mock.calls[1]![1]).toString('hex')).toBe( + env( + 0x9c1c, + 2, + [ + ...v(1, target.groupId), + ...v(2, target.userId), + ...m(3, [...v(1, 2), ...v(2, 1)]), + ], + false, + ), + ); + }); + + it('accepts explicit unlimited without manufacturing an extra limit field', async () => { + const deps = sender(); + await SetAdminPermissions.invoke(deps, { + ...target, + kickMember: true, + kickMemberPerDay: 0, + }); + expect(Buffer.from(deps.sendRawPacket.mock.calls[0]![1]).toString('hex')).toBe( + env( + 0x9c1c, + 2, + [ + ...v(1, target.groupId), + ...v(2, target.userId), + ...m(3, [...v(1, 1), ...v(2, 1)]), + ], + false, + ), + ); + }); + + it.each([ + {}, + { kickMemberPerDay: 20 }, + { kickMember: true }, + { kickMember: false, kickMemberPerDay: 20 }, + { kickMember: true, kickMemberPerDay: -1 }, + { kickMember: true, kickMemberPerDay: 1 }, + { kickMember: true, kickMemberPerDay: 201 }, + { kickMember: true, kickMemberPerDay: NaN }, + ])('rejects invalid patches before sending: %j', async (patch) => { + const deps = sender(); + await expect(SetAdminPermissions.invoke(deps, { ...target, ...patch })).rejects.toThrow(); + expect(deps.sendRawPacket).not.toHaveBeenCalled(); + }); + + it('propagates envelope rejection instead of accepting an empty response body', async () => { + const deps = sender(v(3, 1287)); + await expect( + SetAdminPermissions.invoke(deps, { ...target, recallMemberMessage: false }), + ).rejects.toThrow('OIDB error 1287'); + }); + + it('does not retry transport failures', async () => { + const deps = sender(); + deps.sendRawPacket.mockRejectedValueOnce(new Error('transport disconnected')); + await expect( + SetAdminPermissions.invoke(deps, { ...target, recallMemberMessage: false }), + ).rejects.toThrow('transport disconnected'); + expect(deps.sendRawPacket).toHaveBeenCalledTimes(1); + }); +}); + +describe('administrator permission snapshot', () => { + it('requests only permission data and reads the matching member', async () => { + const deps = sender(snapshot([...permission(2, 2), ...permission(1, 1, v(1, 50))])); + await expect(GetAdminPermissions.invoke(deps, target)).resolves.toEqual({ + recallMemberMessage: false, + kickMember: true, + kickMemberPerDay: 50, + }); + const [cmd, bytes] = deps.sendRawPacket.mock.calls[0]!; + expect(cmd).toBe('OidbSvcTrpcTcp.0x9164_2'); + expect(Buffer.from(bytes).toString('hex')).toBe( + env( + 0x9164, + 2, + [...v(1, target.groupId), ...v(2, target.userId), ...m(4, m(52, [1]))], + true, + ), + ); + }); + + it('finds the requested member rather than using the first returned member', async () => { + const deps = sender( + m(4, [ + ...v(1, target.groupId), + ...m(3, member(1, permission(2, 1))), + ...m(3, member(target.userId, permission(2, 2))), + ]), + ); + await expect(GetAdminPermissions.invoke(deps, target)).resolves.toEqual({ + recallMemberMessage: false, + kickMember: null, + kickMemberPerDay: null, + }); + }); + + it('uses the protobuf zero limit only when removal is explicitly enabled', async () => { + await expect( + GetAdminPermissions.invoke(sender(snapshot(permission(1, 1))), target), + ).resolves.toEqual({ recallMemberMessage: null, kickMember: true, kickMemberPerDay: 0 }); + await expect( + GetAdminPermissions.invoke(sender(snapshot(permission(1, 2))), target), + ).resolves.toEqual({ + recallMemberMessage: null, + kickMember: false, + kickMemberPerDay: null, + }); + }); + + it('does not turn missing permissions or future item IDs into enabled defaults', async () => { + await expect( + GetAdminPermissions.invoke( + sender(snapshot([...permission(999, 1), ...permission(2, 0)])), + target, + ), + ).resolves.toEqual({ recallMemberMessage: null, kickMember: null, kickMemberPerDay: null }); + }); + + it.each([ + ['missing body', []], + ['wrong group', snapshot([], 1)], + ['wrong member', snapshot([], target.groupId, 1)], + ['no member', m(4, v(1, target.groupId))], + [ + 'duplicate member', + m(4, [ + ...v(1, target.groupId), + ...m(3, member(target.userId, [])), + ...m(3, member(target.userId, [])), + ]), + ], + ['duplicate permission', snapshot([...permission(1, 1), ...permission(1, 2)])], + ['unsupported value', snapshot(permission(2, 3))], + ['malformed limit', snapshot(permission(1, 1, [8, 128]))], + ] as const)('rejects %s', async (_name, bytes) => { + await expect(GetAdminPermissions.invoke(sender([...bytes]), target)).rejects.toThrow(); + }); +}); + +describe('administrator join verification', () => { + it.each([true, false])( + 'encodes enable=%s and requires a successful target acknowledgement', + async (enable) => { + const deps = sender(m(4, [...v(1, target.groupId), ...m(2, v(1, target.userId))])); + await expect( + SetAdminReceiveVerify.invoke(deps, { ...target, enable }), + ).resolves.toBeUndefined(); + const [cmd, bytes] = deps.sendRawPacket.mock.calls[0]!; + expect(cmd).toBe('OidbSvcTrpcTcp.0x904_1'); + expect(Buffer.from(bytes).toString('hex')).toBe( + env( + 0x904, + 1, + [ + ...v(1, target.groupId), + ...m(2, [...v(1, target.userId), ...v(2, 1), ...v(3, enable ? 1 : 0)]), + ], + true, + ), + ); + }, + ); + + it.each( + [ + [], + m(4, v(1, target.groupId)), + m(4, [...v(1, 1), ...m(2, v(1, target.userId))]), + m(4, [...v(1, target.groupId), ...m(2, v(1, 1))]), + ].map((response) => ({ response })), + )('rejects an unconfirmed target: %j', async ({ response }) => { + await expect( + SetAdminReceiveVerify.invoke(sender(response), { ...target, enable: false }), + ).rejects.toThrow(); + }); +}); diff --git a/packages/protocol/tests/oidb-services/group-admin/get-admin-receive-verify.test.ts b/packages/protocol/tests/oidb-services/group-admin/get-admin-receive-verify.test.ts new file mode 100644 index 00000000..9050e8de --- /dev/null +++ b/packages/protocol/tests/oidb-services/group-admin/get-admin-receive-verify.test.ts @@ -0,0 +1,152 @@ +import { describe, expect, it, vi } from 'vitest'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; +import { GetAdminReceiveVerify } from '../../../src/oidb-services/group-admin/get-admin-receive-verify'; +import { env, m, s, v } from '../_pb-oracle'; + +const target = { groupId: 12345, userId: 67890 }; +const uid = 'test-member-uid'; + +function member(flag?: number, memberUid = uid, uin: number | undefined = target.userId) { + return m(2, [ + ...m(1, [...s(2, memberUid), ...(uin === undefined ? [] : v(4, uin))]), + ...(flag === undefined ? [] : v(104, flag)), + ]); +} + +function response(members: number[], group: number | undefined = target.groupId) { + return m(4, [...(group === undefined ? [] : v(1, group)), ...members]); +} + +function sender(body = response(member(0))) { + const result: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.from(body), + }; + return { + sendRawPacket: vi.fn(async (_command: string, _bytes: Uint8Array) => result), + resolveUserUid: vi.fn(async (_userId: number, _groupId?: number) => uid), + }; +} + +describe('administrator receive-verification read', () => { + it('resolves the member once in its group and requests only the verification state', async () => { + const deps = sender(); + await expect(GetAdminReceiveVerify.invoke(deps, target)).resolves.toBe(true); + expect(deps.resolveUserUid).toHaveBeenCalledExactlyOnceWith(target.userId, target.groupId); + expect(deps.sendRawPacket).toHaveBeenCalledTimes(1); + const [command, bytes] = deps.sendRawPacket.mock.calls[0]!; + expect(command).toBe('OidbSvcTrpcTcp.0xfe7_4'); + expect(Buffer.from(bytes).toString('hex')).toBe( + env( + 0xfe7, + 4, + [ + ...v(1, target.groupId), + ...v(2, 3), + ...v(3, 0), + ...m(4, v(104, 1)), + ...m(5, s(2, uid)), + ], + false, + ), + ); + }); + + it.each([ + [0, true], + [64, false], + [32, true], + [96, false], + [0x80000000, true], + [0xffffffff, false], + [undefined, null], + ] as const)('decodes flag %s as %s while preserving missing data', async (flag, enabled) => { + const deps = sender(response(member(flag))); + await expect(GetAdminReceiveVerify.invoke(deps, target)).resolves.toBe(enabled); + }); + + it('selects the requested member even when unrelated members are returned first', async () => { + const deps = sender(response([...member(64, 'unrelated-member', 10001), ...member(0)])); + await expect(GetAdminReceiveVerify.invoke(deps, target)).resolves.toBe(true); + }); + + it('accepts UID-bound responses without an optional numeric identity', async () => { + const deps = sender(response(m(2, [...m(1, s(2, uid)), ...v(104, 64)]))); + await expect(GetAdminReceiveVerify.invoke(deps, target)).resolves.toBe(false); + }); + + it('preserves large numeric group and member identifiers', async () => { + const large = { groupId: 2 ** 40 + 17, userId: 2 ** 41 + 19 }; + const deps = sender(response(member(0, uid, large.userId), large.groupId)); + await expect(GetAdminReceiveVerify.invoke(deps, large)).resolves.toBe(true); + expect(Buffer.from(deps.sendRawPacket.mock.calls[0]![1]).toString('hex')).toBe( + env( + 0xfe7, + 4, + [ + ...v(1, large.groupId), + ...v(2, 3), + ...v(3, 0), + ...m(4, v(104, 1)), + ...m(5, s(2, uid)), + ], + false, + ), + ); + }); + + it.each([ + ['missing group', m(4, member(0)), 'missing or mismatched group'], + ['wrong group', response(member(0), 999), 'missing or mismatched group'], + ['missing member', response([]), 'exactly one matching member'], + ['wrong member', response(member(0, 'other-uid')), 'exactly one matching member'], + [ + 'missing UID', + response(m(2, [...m(1, v(4, target.userId)), ...v(104, 0)])), + 'exactly one matching member', + ], + [ + 'duplicate member', + response([...member(0), ...member(64)]), + 'exactly one matching member', + ], + ['conflicting numeric identity', response(member(0, uid, 999)), 'mismatched member UIN'], + ] as const)( + 'rejects %s rather than reporting a successful state', + async (_label, body, error) => { + const deps = sender([...body]); + await expect(GetAdminReceiveVerify.invoke(deps, target)).rejects.toThrow(error); + }, + ); + + it('does not send when identity resolution fails', async () => { + const deps = sender(); + deps.resolveUserUid.mockRejectedValueOnce(new Error('identity unavailable')); + await expect(GetAdminReceiveVerify.invoke(deps, target)).rejects.toThrow( + 'identity unavailable', + ); + expect(deps.sendRawPacket).not.toHaveBeenCalled(); + }); + + it('propagates server rejection even if the body contains a valid state', async () => { + const deps = sender([...v(3, 1287), ...response(member(0))]); + await expect(GetAdminReceiveVerify.invoke(deps, target)).rejects.toThrow('OIDB error 1287'); + }); + + it('propagates transport failures without retrying', async () => { + const deps = sender(); + deps.sendRawPacket.mockRejectedValueOnce(new Error('transport disconnected')); + await expect(GetAdminReceiveVerify.invoke(deps, target)).rejects.toThrow( + 'transport disconnected', + ); + expect(deps.sendRawPacket).toHaveBeenCalledTimes(1); + }); + + it('rejects truncated responses', async () => { + const deps = sender([0x22, 0x80]); + await expect(GetAdminReceiveVerify.invoke(deps, target)).rejects.toThrow(); + }); +}); diff --git a/packages/protocol/tests/oidb-services/group-admin/get-at-all-remain.test.ts b/packages/protocol/tests/oidb-services/group-admin/get-at-all-remain.test.ts new file mode 100644 index 00000000..5eb5b3e9 --- /dev/null +++ b/packages/protocol/tests/oidb-services/group-admin/get-at-all-remain.test.ts @@ -0,0 +1,67 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { Oidb0x8a7Req, Oidb0x8a7Resp } from '@snowluma/proto-defs/oidb-actions/base'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { GetAtAllRemain } from '../../../src/oidb-services/group-admin/get-at-all-remain'; + +function makeDeps(body?: Oidb0x8a7Resp) { + const responseData = + body !== undefined + ? Buffer.from(protobuf_encode>({ body })) + : Buffer.alloc(0); + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }; + return { + sendRawPacket: vi.fn(async () => r), + identity: { uin: '10001' } as any, + }; +} + +describe('GetAtAllRemain namespace', () => { + it('declares 0x8A7_0', () => { + expect(GetAtAllRemain.command).toBe(0x8a7); + expect(GetAtAllRemain.subCommand).toBe(0); + }); + + it('emits the basic{1,2,3}=1,2,1 cookie + bot uin + groupId, routes to 0x8a7_0', async () => { + const deps = makeDeps({ canAtAll: true, groupRemain: 12, uinRemain: 5 }); + await GetAtAllRemain.invoke(deps, { groupId: 12345 }); + const [wire, bytes] = deps.sendRawPacket.mock.calls[0]!; + expect(wire).toBe('OidbSvcTrpcTcp.0x8a7_0'); + const env = protobuf_decode>(bytes); + expect(env.body).toMatchObject({ + basic1: 1, + basic2: 2, + basic3: 1, + uin: 10001n, + groupId: 12345n, + }); + }); + + it('decodes canAtAll + groupRemain + uinRemain as plain numbers / boolean', async () => { + const deps = makeDeps({ canAtAll: true, groupRemain: 12, uinRemain: 5 }); + const out = await GetAtAllRemain.invoke(deps, { groupId: 12345 }); + expect(out).toEqual({ + can_at_all: true, + remain_at_all_count_for_group: 12, + remain_at_all_count_for_uin: 5, + }); + }); + + it('falls back to false / 0 when the response body is empty', async () => { + const deps = makeDeps({} as any); + const out = await GetAtAllRemain.invoke(deps, { groupId: 1 }); + expect(out).toEqual({ + can_at_all: false, + remain_at_all_count_for_group: 0, + remain_at_all_count_for_uin: 0, + }); + }); +}); diff --git a/packages/protocol/tests/oidb-services/group-admin/get-group-ext-info.test.ts b/packages/protocol/tests/oidb-services/group-admin/get-group-ext-info.test.ts new file mode 100644 index 00000000..18f83a4f --- /dev/null +++ b/packages/protocol/tests/oidb-services/group-admin/get-group-ext-info.test.ts @@ -0,0 +1,93 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { + OidbGetGroupExtReq, + OidbGetGroupExtResp, +} from '@snowluma/proto-defs/oidb-actions/group-ext'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; +import { FetchGroupExtInfo } from '../../../src/oidb-services/group-admin/get-group-ext-info'; +import { env, v, m } from '../_pb-oracle'; + +function makeSender(body?: OidbGetGroupExtResp) { + const responseData = + body !== undefined + ? Buffer.from(protobuf_encode>({ body })) + : Buffer.alloc(0); + const result: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }; + return { sendRawPacket: vi.fn(async () => result) }; +} + +describe('FetchGroupExtInfo namespace', () => { + it('declares command 0xEF0 sub 1, uin form', () => { + expect(FetchGroupExtInfo.command).toBe(0xef0); + expect(FetchGroupExtInfo.subCommand).toBe(1); + expect(FetchGroupExtInfo.uinForm).toBe(true); + }); + + it('byte-oracle: routes to 0xef0_1 and locks {1:groupCode, 2:{29:1,30:1}}', async () => { + const sender = makeSender({ + items: [ + { + groupCode: 12345n, + ext: { inviteRobotMemberSwitch: 1, inviteRobotMemberExamine: 2 }, + }, + ], + }); + await FetchGroupExtInfo.invoke(sender, { groupId: 12345 }); + + const [cmd, bytes] = sender.sendRawPacket.mock.calls[0]!; + expect(cmd).toBe('OidbSvcTrpcTcp.0xef0_1'); + const filter = [...v(29, 1), ...v(30, 1)]; + const body = [...v(1, 12345), ...m(2, filter)]; + expect(Buffer.from(bytes).toString('hex')).toBe(env(0xef0, 1, body, true)); + const envelope = protobuf_decode>(bytes); + expect(envelope.reserved).toBe(1); + expect(envelope.body?.groupCodes).toEqual([12345n]); + }); + + it('returns robot-add switch/examine from the first item', async () => { + const sender = makeSender({ + items: [ + { + groupCode: 12345n, + ext: { inviteRobotMemberSwitch: 1, inviteRobotMemberExamine: 2 }, + }, + ], + }); + await expect(FetchGroupExtInfo.invoke(sender, { groupId: 12345 })).resolves.toEqual({ + robotMemberSwitch: 1, + robotMemberExamine: 2, + }); + }); + + it('treats omitted zeros as 0', async () => { + const sender = makeSender({ items: [{ groupCode: 12345n, ext: {} }] }); + await expect(FetchGroupExtInfo.invoke(sender, { groupId: 12345 })).resolves.toEqual({ + robotMemberSwitch: 0, + robotMemberExamine: 0, + }); + }); + + it('throws when the list is empty', async () => { + const sender = makeSender({ items: [] }); + await expect(FetchGroupExtInfo.invoke(sender, { groupId: 12345 })).rejects.toThrow( + /unable to read group robot-add option/, + ); + }); + + it('throws on a non-zero item result', async () => { + const sender = makeSender({ + items: [{ groupCode: 12345n, resultCode: 5, ext: { inviteRobotMemberSwitch: 1 } }], + }); + await expect(FetchGroupExtInfo.invoke(sender, { groupId: 12345 })).rejects.toThrow( + /result=5/, + ); + }); +}); diff --git a/packages/protocol/tests/oidb-services/group-admin/kick-member.test.ts b/packages/protocol/tests/oidb-services/group-admin/kick-member.test.ts new file mode 100644 index 00000000..62af243d --- /dev/null +++ b/packages/protocol/tests/oidb-services/group-admin/kick-member.test.ts @@ -0,0 +1,126 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { OidbKickMember } from '@snowluma/proto-defs/oidb-actions/base'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { KickMember } from '../../../src/oidb-services/group-admin/kick-member'; +import { m, s, v } from '../_pb-oracle'; + +/** 24-byte uid: success items on the wire are `{ result:0, uid }` with uid length 0x18. */ +const TRACE_UID = 'u_abcdefghijklmnopqrstuv'; + +function kickResultItem(result: number, uid: string): number[] { + return [...v(1, result), ...s(2, uid)]; +} + +function kickResponseBytes(groupUin: number, items: number[][]): Buffer { + const body = [...v(1, groupUin), ...items.flatMap((item) => m(2, item))]; + return Buffer.from(m(4, body)); +} + +function makeDeps(responseData: Buffer = Buffer.alloc(0)) { + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }; + return { + sendRawPacket: vi.fn(async () => r), + resolveUserUid: vi.fn(async () => 'resolved-uid'), + }; +} + +describe('KickMember namespace', () => { + it('declares 0x8A0_1', () => { + expect(KickMember.command).toBe(0x8a0); + expect(KickMember.subCommand).toBe(1); + }); + + it('resolves uid per-group and forwards reject + reason', async () => { + const deps = makeDeps(); + await KickMember.invoke(deps, { + groupId: 12345, + userId: 67890, + reject: true, + reason: 'bye', + }); + expect(deps.resolveUserUid).toHaveBeenCalledWith(67890, 12345); + const [wire, bytes] = deps.sendRawPacket.mock.calls[0]!; + expect(wire).toBe('OidbSvcTrpcTcp.0x8a0_1'); + const env = protobuf_decode>(bytes); + expect(env.body).toMatchObject({ + groupUin: 12345, + targetUid: 'resolved-uid', + rejectAddRequest: true, + reason: 'bye', + }); + }); + + it('defaults reason to empty string', async () => { + const deps = makeDeps(); + await KickMember.invoke(deps, { groupId: 1, userId: 2, reject: false }); + const [, bytes] = deps.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + expect(env.body?.reason ?? '').toBe(''); + expect(env.body?.rejectAddRequest ?? false).toBe(false); + }); + + it('treats an empty body as success', async () => { + await expect( + KickMember.invoke(makeDeps(), { + groupId: 1, + userId: 2, + reject: false, + }), + ).resolves.toBeUndefined(); + }); + + it('treats a zero per-member result plus uid as success (#413)', async () => { + const bytes = kickResponseBytes(12345, [kickResultItem(0, TRACE_UID)]); + const decoded = KickMember.decode(bytes); + expect(decoded.body?.groupUin).toBe(12345); + expect(decoded.body?.results).toEqual([{ result: 0, uid: TRACE_UID }]); + + await expect( + KickMember.invoke(makeDeps(bytes), { + groupId: 12345, + userId: 67890, + reject: false, + }), + ).resolves.toBeUndefined(); + }); + + it('rejects a non-zero per-member result with the numeric code, not the uid (#298)', async () => { + const bytes = kickResponseBytes(12345, [kickResultItem(7, TRACE_UID)]); + await expect( + KickMember.invoke(makeDeps(bytes), { + groupId: 12345, + userId: 67890, + reject: false, + }), + ).rejects.toThrow('kick member failed: result=7'); + }); + + it('deserialize: omitted/zero results succeed; non-zero throws', () => { + expect(() => KickMember.deserialize({} as never, {})).not.toThrow(); + expect(() => KickMember.deserialize({} as never, { results: [] })).not.toThrow(); + expect(() => + KickMember.deserialize({} as never, { + results: [{ result: 0, uid: TRACE_UID }], + }), + ).not.toThrow(); + expect(() => + KickMember.deserialize({} as never, { + results: [{ uid: TRACE_UID }], + }), + ).not.toThrow(); + expect(() => + KickMember.deserialize({} as never, { + results: [{ result: 1, uid: TRACE_UID }], + }), + ).toThrow('kick member failed: result=1'); + }); +}); diff --git a/packages/protocol/tests/oidb-services/group-admin/kick-members.test.ts b/packages/protocol/tests/oidb-services/group-admin/kick-members.test.ts new file mode 100644 index 00000000..252dd5b6 --- /dev/null +++ b/packages/protocol/tests/oidb-services/group-admin/kick-members.test.ts @@ -0,0 +1,114 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { Oidb0x8a0Req } from '@snowluma/proto-defs/oidb-actions/base'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { KickMembers } from '../../../src/oidb-services/group-admin/kick-members'; +import { m, s, v } from '../_pb-oracle'; + +const TRACE_UID_A = 'u_abcdefghijklmnopqrstuv'; +const TRACE_UID_B = 'u_bbbbbbbbbbbbbbbbbbbbbb'; + +function kickResultItem(result: number, uid: string): number[] { + return [...v(1, result), ...s(2, uid)]; +} + +function kickResponseBytes(groupUin: number, items: number[][]): Buffer { + const body = [...v(1, groupUin), ...items.flatMap((item) => m(2, item))]; + return Buffer.from(m(4, body)); +} + +function makeDeps( + resolveSequence: string[] = ['uid-a', 'uid-b'], + responseData: Buffer = Buffer.alloc(0), +) { + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }; + const resolveUserUid = vi.fn(); + + for (const uid of resolveSequence) { + resolveUserUid.mockResolvedValueOnce(uid); + } + + return { + sendRawPacket: vi.fn(async () => r), + resolveUserUid, + }; +} + +describe('KickMembers namespace', () => { + it('declares 0x8A0_1 (same as KickMember; disambiguated by proto body)', () => { + expect(KickMembers.command).toBe(0x8a0); + expect(KickMembers.subCommand).toBe(1); + }); + + it('resolves each uid in parallel and packages targetUids[]', async () => { + const deps = makeDeps(['uid-a', 'uid-b']); + await KickMembers.invoke(deps, { groupId: 12345, userIds: [11, 22], reject: false }); + expect(deps.resolveUserUid).toHaveBeenCalledTimes(2); + const [wire, bytes] = deps.sendRawPacket.mock.calls[0]!; + expect(wire).toBe('OidbSvcTrpcTcp.0x8a0_1'); + const env = protobuf_decode>(bytes); + expect(env.body?.targetUids).toEqual(['uid-a', 'uid-b']); + expect(env.body?.groupId).toBe(12345n); + expect(env.body?.rejectAddRequest ?? 0).toBe(0); + }); + + it('reject=true => rejectAddRequest=1', async () => { + const deps = makeDeps(['u']); + await KickMembers.invoke(deps, { groupId: 1, userIds: [2], reject: true }); + const [, bytes] = deps.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + expect(env.body?.rejectAddRequest).toBe(1); + }); + + it('treats an empty body as success', async () => { + await expect( + KickMembers.invoke(makeDeps(['u']), { + groupId: 1, + userIds: [2], + reject: false, + }), + ).resolves.toBeUndefined(); + }); + + it('treats zero per-member results as success (#413)', async () => { + const bytes = kickResponseBytes(12345, [ + kickResultItem(0, TRACE_UID_A), + kickResultItem(0, TRACE_UID_B), + ]); + const decoded = KickMembers.decode(bytes); + expect(decoded.body?.results).toEqual([ + { result: 0, uid: TRACE_UID_A }, + { result: 0, uid: TRACE_UID_B }, + ]); + + await expect( + KickMembers.invoke(makeDeps(['uid-a', 'uid-b'], bytes), { + groupId: 12345, + userIds: [11, 22], + reject: false, + }), + ).resolves.toBeUndefined(); + }); + + it('rejects when any per-member result is non-zero, with the numeric code', async () => { + const bytes = kickResponseBytes(12345, [ + kickResultItem(0, TRACE_UID_A), + kickResultItem(7, TRACE_UID_B), + ]); + await expect( + KickMembers.invoke(makeDeps(['uid-a', 'uid-b'], bytes), { + groupId: 12345, + userIds: [11, 22], + reject: false, + }), + ).rejects.toThrow('kick members failed: result=7'); + }); +}); diff --git a/packages/protocol/tests/oidb-services/group-admin/leave-group.test.ts b/packages/protocol/tests/oidb-services/group-admin/leave-group.test.ts new file mode 100644 index 00000000..a0345712 --- /dev/null +++ b/packages/protocol/tests/oidb-services/group-admin/leave-group.test.ts @@ -0,0 +1,34 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { OidbLeaveGroup } from '@snowluma/proto-defs/oidb-actions/base'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { LeaveGroup } from '../../../src/oidb-services/group-admin/leave-group'; + +function makeDeps() { + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.alloc(0), + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('LeaveGroup namespace', () => { + it('declares 0x1097_1', () => { + expect(LeaveGroup.command).toBe(0x1097); + expect(LeaveGroup.subCommand).toBe(1); + }); + + it('routes to 0x1097_1 with groupUin only', async () => { + const deps = makeDeps(); + await LeaveGroup.invoke(deps, { groupId: 12345 }); + const [wire, bytes] = deps.sendRawPacket.mock.calls[0]!; + expect(wire).toBe('OidbSvcTrpcTcp.0x1097_1'); + const env = protobuf_decode>(bytes); + expect(env.body).toMatchObject({ groupUin: 12345 }); + }); +}); diff --git a/packages/protocol/tests/oidb-services/group-admin/modify-group-ext-info.test.ts b/packages/protocol/tests/oidb-services/group-admin/modify-group-ext-info.test.ts new file mode 100644 index 00000000..e8bcb772 --- /dev/null +++ b/packages/protocol/tests/oidb-services/group-admin/modify-group-ext-info.test.ts @@ -0,0 +1,95 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_encode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { OidbModifyGroupExtResp } from '@snowluma/proto-defs/oidb-actions/group-ext'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; +import { ModifyGroupExtInfo } from '../../../src/oidb-services/group-admin/modify-group-ext-info'; +import { env, v, m } from '../_pb-oracle'; + +function makeSender(result = 0) { + const respEnv: OidbBase = { + command: 0xf00, + subCommand: 3, + body: { groupCode: 12345, result }, + }; + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.from(protobuf_encode>(respEnv)), + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('ModifyGroupExtInfo namespace', () => { + it('declares command 0xF00 sub 3, uin form', () => { + expect(ModifyGroupExtInfo.command).toBe(0xf00); + expect(ModifyGroupExtInfo.subCommand).toBe(3); + expect(ModifyGroupExtInfo.uinForm).toBe(true); + }); + + it('only includes the fields the caller provides', () => { + expect( + ModifyGroupExtInfo.serialize({} as any, { groupId: 1, robotMemberSwitch: 1 }), + ).toEqual({ + groupCode: 1, + info: { groupCode: 1, ext: { inviteRobotMemberSwitch: 1 } }, + }); + expect(ModifyGroupExtInfo.serialize({} as any, { groupId: 1 })).toEqual({ + groupCode: 1, + info: { groupCode: 1, ext: {} }, + }); + }); + + it('byte-oracle: routes to 0xf00_3 and locks nested tags {1:gc,2:{1:gc,2:{29:switch,30:examine}}}', async () => { + const sender = makeSender(); + await ModifyGroupExtInfo.invoke(sender, { + groupId: 12345, + robotMemberSwitch: 1, + robotMemberExamine: 2, + }); + + const [cmd, bytes] = sender.sendRawPacket.mock.calls[0]!; + expect(cmd).toBe('OidbSvcTrpcTcp.0xf00_3'); + const ext = [...v(29, 1), ...v(30, 2)]; + const info = [...v(1, 12345), ...m(2, ext)]; + const body = [...v(1, 12345), ...m(2, info)]; + expect(Buffer.from(bytes).toString('hex')).toBe(env(0xf00, 3, body, true)); + }); + + it('emits switch=0 on the wire (explicit presence; omit would look like "unchanged")', async () => { + const sender = makeSender(); + await ModifyGroupExtInfo.invoke(sender, { groupId: 12345, robotMemberSwitch: 0 }); + const [, bytes] = sender.sendRawPacket.mock.calls[0]!; + const ext = [...v(29, 0)]; + const info = [...v(1, 12345), ...m(2, ext)]; + const body = [...v(1, 12345), ...m(2, info)]; + expect(Buffer.from(bytes).toString('hex')).toBe(env(0xf00, 3, body, true)); + }); + + it('emits both zeros when the caller sets switch and examine to 0', async () => { + const sender = makeSender(); + await ModifyGroupExtInfo.invoke(sender, { + groupId: 12345, + robotMemberSwitch: 0, + robotMemberExamine: 0, + }); + const [, bytes] = sender.sendRawPacket.mock.calls[0]!; + const ext = [...v(29, 0), ...v(30, 0)]; + const info = [...v(1, 12345), ...m(2, ext)]; + const body = [...v(1, 12345), ...m(2, info)]; + expect(Buffer.from(bytes).toString('hex')).toBe(env(0xf00, 3, body, true)); + }); + + it('does not send when neither field is provided', async () => { + const sender = makeSender(); + await ModifyGroupExtInfo.invoke(sender, { groupId: 12345 }); + expect(sender.sendRawPacket).not.toHaveBeenCalled(); + }); + + it('deserialize throws on a non-zero body result', () => { + expect(() => ModifyGroupExtInfo.deserialize({} as any, { result: 5 })).toThrow(/result=5/); + expect(() => ModifyGroupExtInfo.deserialize({} as any, { result: 0 })).not.toThrow(); + }); +}); diff --git a/packages/protocol/tests/oidb-services/group-admin/mute-all.test.ts b/packages/protocol/tests/oidb-services/group-admin/mute-all.test.ts new file mode 100644 index 00000000..d8c846fd --- /dev/null +++ b/packages/protocol/tests/oidb-services/group-admin/mute-all.test.ts @@ -0,0 +1,51 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { OidbMuteAll } from '@snowluma/proto-defs/oidb-actions/base'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { MuteAll } from '../../../src/oidb-services/group-admin/mute-all'; + +function makeDeps() { + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.alloc(0), + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('MuteAll namespace', () => { + it('declares 0x89A_0', () => { + expect(MuteAll.command).toBe(0x89a); + expect(MuteAll.subCommand).toBe(0); + }); + + it('enable=true emits the 0xFFFFFFFF "permanent" state', async () => { + const deps = makeDeps(); + await MuteAll.invoke(deps, { groupId: 12345, enable: true }); + const [wire, bytes] = deps.sendRawPacket.mock.calls[0]!; + expect(wire).toBe('OidbSvcTrpcTcp.0x89a_0'); + const env = protobuf_decode>(bytes); + expect(env.body).toMatchObject({ groupUin: 12345, muteState: { state: 0xffffffff } }); + }); + + it('enable=false forces state=0 ONTO the wire (so the server can disambiguate)', async () => { + const deps = makeDeps(); + await MuteAll.invoke(deps, { groupId: 12345, enable: false }); + const [, bytes] = deps.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + expect(env.body?.muteState?.state).toBe(0); + // The fix (issue #70): state=0 is a `pb_optional<>` field, so it must be + // PRESENT on the wire — field 17 (varint tag 0x88 0x01) + value 0x00 — not + // omitted. An empty `muteState` is indistinguishable from the other + // commands sharing OIDB (0x89A, 0), so the server rejects unmute with 1007. + const arr = Array.from(bytes); + const hasStateField = arr.some( + (_, i) => arr[i] === 0x88 && arr[i + 1] === 0x01 && arr[i + 2] === 0x00, + ); + expect(hasStateField).toBe(true); + }); +}); diff --git a/packages/protocol/tests/oidb-services/group-admin/mute-member.test.ts b/packages/protocol/tests/oidb-services/group-admin/mute-member.test.ts new file mode 100644 index 00000000..bfec5a3d --- /dev/null +++ b/packages/protocol/tests/oidb-services/group-admin/mute-member.test.ts @@ -0,0 +1,51 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { OidbMuteMember } from '@snowluma/proto-defs/oidb-actions/base'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { MuteMember } from '../../../src/oidb-services/group-admin/mute-member'; + +function makeDeps() { + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.alloc(0), + }; + return { + sendRawPacket: vi.fn(async () => r), + resolveUserUid: vi.fn(async () => 'resolved-uid'), + }; +} + +describe('MuteMember namespace', () => { + it('declares 0x1253_1', () => { + expect(MuteMember.command).toBe(0x1253); + expect(MuteMember.subCommand).toBe(1); + }); + + it('resolves uid before encoding and routes to 0x1253_1', async () => { + const deps = makeDeps(); + await MuteMember.invoke(deps, { groupId: 12345, userId: 67890, duration: 600 }); + expect(deps.resolveUserUid).toHaveBeenCalledWith(67890, 12345); + const [wire, bytes] = deps.sendRawPacket.mock.calls[0]!; + expect(wire).toBe('OidbSvcTrpcTcp.0x1253_1'); + const env = protobuf_decode>(bytes); + expect(env.body).toMatchObject({ + groupUin: 12345, + type: 1, + body: { targetUid: 'resolved-uid', duration: 600 }, + }); + }); + + it('duration = 0 acts as unmute', async () => { + const deps = makeDeps(); + await MuteMember.invoke(deps, { groupId: 1, userId: 2, duration: 0 }); + const [, bytes] = deps.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + // duration=0 is the proto3 default and is omitted on the wire. + expect(env.body?.body?.duration ?? 0).toBe(0); + }); +}); diff --git a/packages/protocol/tests/oidb-services/group-admin/set-add-option.test.ts b/packages/protocol/tests/oidb-services/group-admin/set-add-option.test.ts new file mode 100644 index 00000000..03524831 --- /dev/null +++ b/packages/protocol/tests/oidb-services/group-admin/set-add-option.test.ts @@ -0,0 +1,91 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { Oidb0x89a_0AddOption } from '@snowluma/proto-defs/oidb-actions/base'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { + isQuestionAddType, + SetAddOption, + wireAddType, +} from '../../../src/oidb-services/group-admin/set-add-option'; +import { env, v, s, m } from '../_pb-oracle'; + +function makeDeps() { + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.alloc(0), + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('SetAddOption namespace', () => { + it('declares 0x89A_0 (shared cmd with MuteAll / SetSearch / SetGroupName)', () => { + expect(SetAddOption.command).toBe(0x89a); + expect(SetAddOption.subCommand).toBe(0); + }); + + it('packages settings.addType and routes to 0x89a_0', async () => { + const deps = makeDeps(); + await SetAddOption.invoke(deps, { groupId: 12345, addType: 2 }); + const [wire, bytes] = deps.sendRawPacket.mock.calls[0]!; + expect(wire).toBe('OidbSvcTrpcTcp.0x89a_0'); + const decoded = protobuf_decode>(bytes); + expect(decoded.body).toMatchObject({ groupUin: 12345n, settings: { addType: 2 } }); + expect(decoded.body?.settings?.groupQuestion ?? undefined).toBeUndefined(); + expect(decoded.body?.settings?.groupAnswer ?? undefined).toBeUndefined(); + }); + + it('treats 4 as question+answer and 5/55 as question-only', () => { + expect(isQuestionAddType(4)).toBe(true); + expect(isQuestionAddType(5)).toBe(true); + expect(isQuestionAddType(55)).toBe(true); + expect(isQuestionAddType(2)).toBe(false); + expect(wireAddType(55)).toBe(5); + expect(wireAddType(4)).toBe(4); + }); + + it('byte-oracle: type 4 writes question and answer', async () => { + const deps = makeDeps(); + await SetAddOption.invoke(deps, { + groupId: 12345, + addType: 4, + groupQuestion: 'q', + groupAnswer: 'a', + }); + const [, bytes] = deps.sendRawPacket.mock.calls[0]!; + const settings = [...v(16, 4), ...s(30, 'q'), ...s(31, 'a')]; + const body = [...v(1, 12345), ...m(2, settings)]; + expect(Buffer.from(bytes).toString('hex')).toBe(env(0x89a, 0, body, false)); + }); + + it('byte-oracle: type 5 writes question and clears answer', async () => { + const deps = makeDeps(); + await SetAddOption.invoke(deps, { + groupId: 12345, + addType: 5, + groupQuestion: 'why', + groupAnswer: 'ignored', + }); + const [, bytes] = deps.sendRawPacket.mock.calls[0]!; + const settings = [...v(16, 5), ...s(30, 'why'), ...s(31, '')]; + const body = [...v(1, 12345), ...m(2, settings)]; + expect(Buffer.from(bytes).toString('hex')).toBe(env(0x89a, 0, body, false)); + }); + + it('maps add_type 55 onto the official question-only mode', async () => { + const deps = makeDeps(); + await SetAddOption.invoke(deps, { groupId: 1, addType: 55, groupQuestion: 'q' }); + const decoded = protobuf_decode>( + deps.sendRawPacket.mock.calls[0]![1], + ); + expect(decoded.body?.settings).toMatchObject({ + addType: 5, + groupQuestion: 'q', + groupAnswer: '', + }); + }); +}); diff --git a/packages/protocol/tests/oidb-services/group-admin/set-add-request.test.ts b/packages/protocol/tests/oidb-services/group-admin/set-add-request.test.ts new file mode 100644 index 00000000..88c507c4 --- /dev/null +++ b/packages/protocol/tests/oidb-services/group-admin/set-add-request.test.ts @@ -0,0 +1,110 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { OidbGroupRequestAction } from '@snowluma/proto-defs/oidb-actions/base'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { SetAddRequest } from '../../../src/oidb-services/group-admin/set-add-request'; + +function makeDeps() { + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.alloc(0), + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('SetAddRequest namespace', () => { + it('declares 0x10C8 with uinForm=true and dynamic subCommand', () => { + expect(SetAddRequest.command).toBe(0x10c8); + expect(SetAddRequest.uinForm).toBe(true); + expect( + SetAddRequest.resolveSubCommand({ + groupId: 1, + sequence: 1, + eventType: 0, + approve: true, + filtered: false, + }), + ).toBe(1); + expect( + SetAddRequest.resolveSubCommand({ + groupId: 1, + sequence: 1, + eventType: 0, + approve: true, + filtered: true, + }), + ).toBe(2); + }); + + it('approve=true => accept=1, filtered=false => 0x10c8_1, reserved=1 (uinForm)', async () => { + const deps = makeDeps(); + await SetAddRequest.invoke(deps, { + groupId: 12345, + sequence: 5, + eventType: 1, + approve: true, + reason: 'ok', + }); + const [wire, bytes] = deps.sendRawPacket.mock.calls[0]!; + expect(wire).toBe('OidbSvcTrpcTcp.0x10c8_1'); + const env = protobuf_decode>(bytes); + expect(env.reserved).toBe(1); + expect(env.body?.accept).toBe(1); + expect(env.body?.body).toMatchObject({ + sequence: 5n, + eventType: 1, + groupUin: 12345, + message: 'ok', + }); + }); + + it('approve=false + filtered=true => accept=2, 0x10c8_2', async () => { + const deps = makeDeps(); + await SetAddRequest.invoke(deps, { + groupId: 12345, + sequence: 5, + eventType: 1, + approve: false, + reason: 'no', + filtered: true, + }); + const [wire, bytes] = deps.sendRawPacket.mock.calls[0]!; + expect(wire).toBe('OidbSvcTrpcTcp.0x10c8_2'); + const env = protobuf_decode>(bytes); + expect(env.body?.accept).toBe(2); + }); + + it('writes a space when the reason is empty so field 4 stays present', async () => { + const deps = makeDeps(); + await SetAddRequest.invoke(deps, { groupId: 1, sequence: 1, eventType: 1, approve: true }); + const [, bytes] = deps.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + expect(env.body?.body?.message).toBe(' '); + const arr = Array.from(bytes); + const hasMessageField = arr.some( + (_, i) => arr[i] === 0x22 && arr[i + 1] === 0x01 && arr[i + 2] === 0x20, + ); + expect(hasMessageField).toBe(true); + }); + + it('forwards operateTransInfo as body field 7', async () => { + const deps = makeDeps(); + const operateTransInfo = Uint8Array.from([0x01, 0x02, 0x03]); + await SetAddRequest.invoke(deps, { + groupId: 1, + sequence: 1, + eventType: 1, + approve: true, + reason: 'ok', + operateTransInfo, + }); + const [, bytes] = deps.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + expect(env.body?.body?.operateTransInfo).toEqual(operateTransInfo); + }); +}); diff --git a/packages/protocol/tests/oidb-services/group-admin/set-admin.test.ts b/packages/protocol/tests/oidb-services/group-admin/set-admin.test.ts new file mode 100644 index 00000000..07da8459 --- /dev/null +++ b/packages/protocol/tests/oidb-services/group-admin/set-admin.test.ts @@ -0,0 +1,46 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { OidbSetAdmin } from '@snowluma/proto-defs/oidb-actions/base'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { SetAdmin } from '../../../src/oidb-services/group-admin/set-admin'; + +function makeDeps() { + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.alloc(0), + }; + return { + sendRawPacket: vi.fn(async () => r), + resolveUserUid: vi.fn(async () => 'resolved-uid'), + }; +} + +describe('SetAdmin namespace', () => { + it('declares 0x1096_1', () => { + expect(SetAdmin.command).toBe(0x1096); + expect(SetAdmin.subCommand).toBe(1); + }); + + it('enable=true promotes (isAdmin=true)', async () => { + const deps = makeDeps(); + await SetAdmin.invoke(deps, { groupId: 12345, userId: 67890, enable: true }); + expect(deps.resolveUserUid).toHaveBeenCalledWith(67890, 12345); + const [wire, bytes] = deps.sendRawPacket.mock.calls[0]!; + expect(wire).toBe('OidbSvcTrpcTcp.0x1096_1'); + const env = protobuf_decode>(bytes); + expect(env.body).toMatchObject({ groupUin: 12345, uid: 'resolved-uid', isAdmin: true }); + }); + + it('enable=false demotes (isAdmin omitted on the wire)', async () => { + const deps = makeDeps(); + await SetAdmin.invoke(deps, { groupId: 1, userId: 2, enable: false }); + const [, bytes] = deps.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + expect(env.body?.isAdmin ?? false).toBe(false); + }); +}); diff --git a/packages/protocol/tests/oidb-services/group-admin/set-group-name.test.ts b/packages/protocol/tests/oidb-services/group-admin/set-group-name.test.ts new file mode 100644 index 00000000..d4f9465e --- /dev/null +++ b/packages/protocol/tests/oidb-services/group-admin/set-group-name.test.ts @@ -0,0 +1,34 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { OidbRenameGroup } from '@snowluma/proto-defs/oidb-actions/base'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { SetGroupName } from '../../../src/oidb-services/group-admin/set-group-name'; + +function makeDeps() { + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.alloc(0), + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('SetGroupName namespace', () => { + it('declares 0x89A_15', () => { + expect(SetGroupName.command).toBe(0x89a); + expect(SetGroupName.subCommand).toBe(15); + }); + + it('routes to 0x89a_15 with the new name', async () => { + const deps = makeDeps(); + await SetGroupName.invoke(deps, { groupId: 12345, name: 'newName' }); + const [wire, bytes] = deps.sendRawPacket.mock.calls[0]!; + expect(wire).toBe('OidbSvcTrpcTcp.0x89a_15'); + const env = protobuf_decode>(bytes); + expect(env.body).toMatchObject({ groupUin: 12345, body: { targetName: 'newName' } }); + }); +}); diff --git a/packages/protocol/tests/oidb-services/group-admin/set-group-remark.test.ts b/packages/protocol/tests/oidb-services/group-admin/set-group-remark.test.ts new file mode 100644 index 00000000..bed630df --- /dev/null +++ b/packages/protocol/tests/oidb-services/group-admin/set-group-remark.test.ts @@ -0,0 +1,60 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { Oidb0xf16Req } from '@snowluma/proto-defs/oidb-actions/base'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { SetGroupRemark } from '../../../src/oidb-services/group-admin/set-group-remark'; + +function makeDeps() { + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.alloc(0), + }; + return { + sendRawPacket: vi.fn(async () => r), + identity: { uin: '10001', updateGroupRemark: vi.fn(() => true) }, + }; +} + +describe('SetGroupRemark namespace', () => { + it('declares 0xF16_1', () => { + expect(SetGroupRemark.command).toBe(0xf16); + expect(SetGroupRemark.subCommand).toBe(1); + }); + + it('routes to 0xf16_1 with groupId + remark wrapped in inner', async () => { + const deps = makeDeps(); + await SetGroupRemark.invoke(deps, { groupId: 12345, remark: 'my group' }); + const [wire, bytes] = deps.sendRawPacket.mock.calls[0]!; + expect(wire).toBe('OidbSvcTrpcTcp.0xf16_1'); + const env = protobuf_decode>(bytes); + expect(env.body?.inner).toMatchObject({ groupId: 12345n, remark: 'my group' }); + }); + + it('updates the local group roster after QQ confirms the remark', async () => { + const deps = makeDeps(); + await SetGroupRemark.invoke(deps as any, { groupId: 12345, remark: 'my group' }); + + expect(deps.identity.updateGroupRemark).toHaveBeenCalledWith(12345, 'my group'); + }); + + it('does not update the local roster when QQ rejects the mutation', async () => { + const deps = makeDeps(); + deps.sendRawPacket.mockResolvedValueOnce({ + success: false, + gotResponse: true, + errorCode: 120, + errorMessage: 'denied', + responseData: Buffer.alloc(0), + }); + + await expect( + SetGroupRemark.invoke(deps as any, { groupId: 12345, remark: 'not-applied' }), + ).rejects.toThrow(); + expect(deps.identity.updateGroupRemark).not.toHaveBeenCalled(); + }); +}); diff --git a/packages/protocol/tests/oidb-services/group-admin/set-member-card.test.ts b/packages/protocol/tests/oidb-services/group-admin/set-member-card.test.ts new file mode 100644 index 00000000..d1d1c69e --- /dev/null +++ b/packages/protocol/tests/oidb-services/group-admin/set-member-card.test.ts @@ -0,0 +1,38 @@ +import { describe, expect, it, vi } from 'vitest'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { SetMemberCard } from '../../../src/oidb-services/group-admin/set-member-card'; +import { env, m, s, v } from '../_pb-oracle'; + +function makeDeps() { + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.alloc(0), + }; + return { + sendRawPacket: vi.fn().mockResolvedValue(r), + resolveUserUid: vi.fn(async () => 'resolved-uid'), + }; +} + +describe('SetMemberCard namespace', () => { + it('declares 0x8FC_3', () => { + expect(SetMemberCard.command).toBe(0x8fc); + expect(SetMemberCard.subCommand).toBe(3); + }); + + it.each(['', 'newCard', '群名片'])('sends card %j in field 8', async (card) => { + const deps = makeDeps(); + await SetMemberCard.invoke(deps, { groupId: 12345, userId: 67890, card }); + expect(deps.resolveUserUid).toHaveBeenCalledWith(67890, 12345); + const [wire, bytes] = deps.sendRawPacket.mock.calls[0]!; + expect(wire).toBe('OidbSvcTrpcTcp.0x8fc_3'); + + const member = [...s(1, 'resolved-uid'), ...s(8, card)]; + const body = [...v(1, 12345), ...m(3, member)]; + expect(Buffer.from(bytes).toString('hex')).toBe(env(0x8fc, 3, body, false)); + }); +}); diff --git a/packages/protocol/tests/oidb-services/group-admin/set-member-invite-policy.test.ts b/packages/protocol/tests/oidb-services/group-admin/set-member-invite-policy.test.ts new file mode 100644 index 00000000..1152c8ab --- /dev/null +++ b/packages/protocol/tests/oidb-services/group-admin/set-member-invite-policy.test.ts @@ -0,0 +1,109 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode } from '@snowluma/proton'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { Oidb0x89a_0InvitePolicy } from '@snowluma/proto-defs/oidb-actions/base'; + +import { + MEMBER_INVITE_PRIVILEGE_MASK, + decodeMemberInvitePolicy, + mergeMemberInvitePrivilegeFlag, + SetMemberInvitePolicy, + type GroupMemberInvitePolicy, +} from '../../../src/oidb-services/group-admin/set-member-invite-policy'; + +function makeSender() { + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.alloc(0), + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('SetMemberInvitePolicy namespace', () => { + it.each<[GroupMemberInvitePolicy, number, number]>([ + ['disabled', 0x04000000, 0], + ['require_approval', 0, 1], + ['no_approval', 0x00100000, 1], + ['no_approval_under_100', 0x02000000, 1], + ])('maps %s to the verified privilege bits', async (policy, policyBits, allowMemberInvite) => { + const sender = makeSender(); + const unrelatedBits = 0x80000001; + + await SetMemberInvitePolicy.invoke(sender, { + groupId: 12345, + currentPrivilegeFlag: unrelatedBits + 0x06100000, + policy, + }); + + const [cmd, bytes] = sender.sendRawPacket.mock.calls[0]!; + expect(cmd).toBe('OidbSvcTrpcTcp.0x89a_0'); + const env = protobuf_decode>(bytes); + expect(env.command).toBe(0x89a); + expect(env.body?.groupUin).toBe(12345n); + expect(env.body?.settings).toEqual({ + appPrivilegeFlag: unrelatedBits + policyBits, + appPrivilegeMask: MEMBER_INVITE_PRIVILEGE_MASK, + allowMemberInvite, + }); + }); + + it('preserves unrelated bits while replacing only the member-invite mask', () => { + expect(mergeMemberInvitePrivilegeFlag(0xe7100001, 'require_approval')).toBe(0xe1000001); + }); + + it.each<[number, GroupMemberInvitePolicy]>([ + [0x04000000, 'disabled'], + [0, 'require_approval'], + [0x00100000, 'no_approval'], + [0x02000000, 'no_approval_under_100'], + [0x80100001, 'no_approval'], + [0x84000001, 'disabled'], + ])('decodes privilege %# as %s', (privilegeFlag, policy) => { + expect(decodeMemberInvitePolicy(privilegeFlag)).toBe(policy); + }); + + it('round-trips each invite policy through merge then decode', () => { + const policies: GroupMemberInvitePolicy[] = [ + 'disabled', + 'require_approval', + 'no_approval', + 'no_approval_under_100', + ]; + + for (const policy of policies) { + expect( + decodeMemberInvitePolicy(mergeMemberInvitePrivilegeFlag(0x80000001, policy)), + ).toBe(policy); + } + }); + + it('keeps explicit zero fields on the wire', async () => { + const sender = makeSender(); + await SetMemberInvitePolicy.invoke(sender, { + groupId: 1, + currentPrivilegeFlag: MEMBER_INVITE_PRIVILEGE_MASK, + policy: 'require_approval', + }); + const env = protobuf_decode>( + sender.sendRawPacket.mock.calls[0]![1], + ); + expect(env.body?.settings?.appPrivilegeFlag).toBe(0); + expect(env.body?.settings?.allowMemberInvite).toBe(1); + }); + + it('rejects an invalid current flag before sending a packet', async () => { + const sender = makeSender(); + await expect( + SetMemberInvitePolicy.invoke(sender, { + groupId: 1, + currentPrivilegeFlag: -1, + policy: 'disabled', + }), + ).rejects.toThrow(/unsigned 32-bit/); + expect(sender.sendRawPacket).not.toHaveBeenCalled(); + }); +}); diff --git a/packages/protocol/tests/oidb-services/group-admin/set-member-permission.test.ts b/packages/protocol/tests/oidb-services/group-admin/set-member-permission.test.ts new file mode 100644 index 00000000..3c4bd794 --- /dev/null +++ b/packages/protocol/tests/oidb-services/group-admin/set-member-permission.test.ts @@ -0,0 +1,141 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode } from '@snowluma/proton'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { Oidb0x89a_0MemberPermission } from '@snowluma/proto-defs/oidb-actions/base'; + +import { + decodeGroupMemberPermissions, + GROUP_MEMBER_PERMISSION_MASKS, + mergeGroupMemberPermission, + SetMemberPermission, + type GroupMemberPermission, +} from '../../../src/oidb-services/group-admin/set-member-permission'; + +function makeSender() { + const result: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.alloc(0), + }; + return { sendRawPacket: vi.fn(async () => result) }; +} + +describe('SetMemberPermission namespace', () => { + it('declares 0x89A_0', () => { + expect(SetMemberPermission.command).toBe(0x89a); + expect(SetMemberPermission.subCommand).toBe(0); + }); + + it.each<[GroupMemberPermission, number]>([ + ['upload_album', 0x1], + ['temporary_session', 0x10000], + ['create_group', 0x8000], + ])('uses the verified deny-bit mask for %s', async (permission, mask) => { + const sender = makeSender(); + + await SetMemberPermission.invoke(sender, { + groupId: 12345, + currentPrivilegeFlag: 0x80018001, + permission, + allow: true, + }); + + const [command, bytes] = sender.sendRawPacket.mock.calls[0]!; + expect(command).toBe('OidbSvcTrpcTcp.0x89a_0'); + const envelope = protobuf_decode>(bytes); + expect(envelope.command).toBe(0x89a); + expect(envelope.subCommand ?? 0).toBe(0); + expect(envelope.body).toMatchObject({ + groupUin: 12345n, + settings: { + appPrivilegeFlag: Number(BigInt(0x80018001) & ~BigInt(mask)), + appPrivilegeMask: mask, + }, + }); + }); + + it('sets a deny bit when a capability is disabled', async () => { + const sender = makeSender(); + await SetMemberPermission.invoke(sender, { + groupId: 12345, + currentPrivilegeFlag: 0x80000000, + permission: 'temporary_session', + allow: false, + }); + + const envelope = protobuf_decode>( + sender.sendRawPacket.mock.calls[0]![1], + ); + expect(envelope.body?.settings).toEqual({ + appPrivilegeFlag: 0x80010000, + appPrivilegeMask: GROUP_MEMBER_PERMISSION_MASKS.temporary_session, + }); + }); + + it('preserves unrelated bits while changing only the selected capability', () => { + expect(mergeGroupMemberPermission(0xf0018001, 'upload_album', true)).toBe(0xf0018000); + expect(mergeGroupMemberPermission(0xf0000000, 'create_group', false)).toBe(0xf0008000); + }); + + it('treats permission bits as deny flags when decoding', () => { + expect(decodeGroupMemberPermissions(0)).toEqual({ + allowMemberUploadAlbum: true, + allowMemberTemporarySession: true, + allowMemberCreateGroup: true, + }); + expect(decodeGroupMemberPermissions(0x80018001)).toEqual({ + allowMemberUploadAlbum: false, + allowMemberTemporarySession: false, + allowMemberCreateGroup: false, + }); + expect(decodeGroupMemberPermissions(0x80000000)).toEqual({ + allowMemberUploadAlbum: true, + allowMemberTemporarySession: true, + allowMemberCreateGroup: true, + }); + }); + + it('round-trips each permission through merge then decode', () => { + let flag = 0x80000000; + flag = mergeGroupMemberPermission(flag, 'upload_album', false); + flag = mergeGroupMemberPermission(flag, 'temporary_session', true); + flag = mergeGroupMemberPermission(flag, 'create_group', false); + expect(decodeGroupMemberPermissions(flag)).toEqual({ + allowMemberUploadAlbum: false, + allowMemberTemporarySession: true, + allowMemberCreateGroup: false, + }); + }); + + it('keeps explicit zero fields on the wire', async () => { + const sender = makeSender(); + await SetMemberPermission.invoke(sender, { + groupId: 1, + currentPrivilegeFlag: 1, + permission: 'upload_album', + allow: true, + }); + + const envelope = protobuf_decode>( + sender.sendRawPacket.mock.calls[0]![1], + ); + expect(envelope.body?.settings?.appPrivilegeFlag).toBe(0); + expect(envelope.body?.settings?.appPrivilegeMask).toBe(1); + }); + + it('rejects an invalid current flag before sending', async () => { + const sender = makeSender(); + await expect( + SetMemberPermission.invoke(sender, { + groupId: 1, + currentPrivilegeFlag: 0x1_0000_0000, + permission: 'upload_album', + allow: true, + }), + ).rejects.toThrow(/unsigned 32-bit/); + expect(sender.sendRawPacket).not.toHaveBeenCalled(); + }); +}); diff --git a/packages/protocol/tests/oidb-services/group-admin/set-new-member-history-visibility.test.ts b/packages/protocol/tests/oidb-services/group-admin/set-new-member-history-visibility.test.ts new file mode 100644 index 00000000..771eaa9c --- /dev/null +++ b/packages/protocol/tests/oidb-services/group-admin/set-new-member-history-visibility.test.ts @@ -0,0 +1,94 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode } from '@snowluma/proton'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { Oidb0x89a_0HistoryVisibility } from '@snowluma/proto-defs/oidb-actions/base'; + +import { + decodeGroupHistoryVisibility, + GROUP_HISTORY_VISIBILITY_MASK, + mergeGroupHistoryVisibility, + SetNewMemberHistoryVisibility, +} from '../../../src/oidb-services/group-admin/set-new-member-history-visibility'; + +function makeSender() { + const result: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.alloc(0), + }; + return { sendRawPacket: vi.fn(async () => result) }; +} + +describe('SetNewMemberHistoryVisibility namespace', () => { + it.each([ + [true, GROUP_HISTORY_VISIBILITY_MASK], + [false, 0], + ])('writes visible=%s as the mutation bit only', async (visible, expected) => { + const sender = makeSender(); + + await SetNewMemberHistoryVisibility.invoke(sender, { + groupId: 12345, + visible, + }); + + const [command, bytes] = sender.sendRawPacket.mock.calls[0]!; + expect(command).toBe('OidbSvcTrpcTcp.0x89a_0'); + const envelope = protobuf_decode>(bytes); + expect(envelope.command).toBe(0x89a); + expect(envelope.body).toMatchObject({ + groupUin: 12345n, + settings: { + groupFlagExt4: expected, + groupFlagExt4Mask: GROUP_HISTORY_VISIBILITY_MASK, + }, + }); + }); + + it('merges only the verified history-visibility bit', () => { + expect(mergeGroupHistoryVisibility(0xf0000001, true)).toBe(0xf0000005); + expect(mergeGroupHistoryVisibility(0xf0000005, false)).toBe(0xf0000001); + }); + + it('decodes the history-visibility switch from a 0/1 reply or the mutation bit', () => { + expect(decodeGroupHistoryVisibility(0)).toBe(false); + expect(decodeGroupHistoryVisibility(1)).toBe(true); + expect(decodeGroupHistoryVisibility(GROUP_HISTORY_VISIBILITY_MASK)).toBe(true); + expect(decodeGroupHistoryVisibility(0x80000001)).toBe(false); + expect(decodeGroupHistoryVisibility(0x80000005)).toBe(true); + }); + + it('round-trips history visibility through merge then decode', () => { + expect(decodeGroupHistoryVisibility(mergeGroupHistoryVisibility(0x80000001, true))).toBe( + true, + ); + expect(decodeGroupHistoryVisibility(mergeGroupHistoryVisibility(0x80000005, false))).toBe( + false, + ); + }); + + it('does not treat a 0/1 detail reply as a missing mutation bit (#387)', () => { + expect(decodeGroupHistoryVisibility(1)).toBe(true); + expect(decodeGroupHistoryVisibility(mergeGroupHistoryVisibility(0, true))).toBe(true); + }); + + it('keeps an explicit zero value on the wire', async () => { + const sender = makeSender(); + await SetNewMemberHistoryVisibility.invoke(sender, { + groupId: 1, + visible: false, + }); + + const envelope = protobuf_decode>( + sender.sendRawPacket.mock.calls[0]![1], + ); + expect(envelope.body?.settings?.groupFlagExt4).toBe(0); + expect(envelope.body?.settings?.groupFlagExt4Mask).toBe(GROUP_HISTORY_VISIBILITY_MASK); + }); + + it('rejects an invalid current flag when merging', () => { + expect(() => mergeGroupHistoryVisibility(-1, true)).toThrow(/unsigned 32-bit/); + }); +}); diff --git a/packages/protocol/tests/oidb-services/group-admin/set-search.test.ts b/packages/protocol/tests/oidb-services/group-admin/set-search.test.ts new file mode 100644 index 00000000..d4c99547 --- /dev/null +++ b/packages/protocol/tests/oidb-services/group-admin/set-search.test.ts @@ -0,0 +1,34 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { Oidb0x89a_0Search } from '@snowluma/proto-defs/oidb-actions/base'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { SetSearch } from '../../../src/oidb-services/group-admin/set-search'; + +function makeDeps() { + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.alloc(0), + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('SetSearch namespace', () => { + it('declares 0x89A_0 (shared cmd shape with other 0x89a_0 cmds)', () => { + expect(SetSearch.command).toBe(0x89a); + expect(SetSearch.subCommand).toBe(0); + }); + + it('emits an empty settings byte string and routes to 0x89a_0', async () => { + const deps = makeDeps(); + await SetSearch.invoke(deps, { groupId: 12345 }); + const [wire, bytes] = deps.sendRawPacket.mock.calls[0]!; + expect(wire).toBe('OidbSvcTrpcTcp.0x89a_0'); + const env = protobuf_decode>(bytes); + expect(env.body?.groupUin).toBe(12345n); + }); +}); diff --git a/packages/protocol/tests/oidb-services/group-admin/set-special-title.test.ts b/packages/protocol/tests/oidb-services/group-admin/set-special-title.test.ts new file mode 100644 index 00000000..b61a4e40 --- /dev/null +++ b/packages/protocol/tests/oidb-services/group-admin/set-special-title.test.ts @@ -0,0 +1,64 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { OidbSpecialTitle } from '@snowluma/proto-defs/oidb-actions/base'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { SetSpecialTitle } from '../../../src/oidb-services/group-admin/set-special-title'; +import { env, v, s, m } from '../_pb-oracle'; + +function makeDeps() { + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.alloc(0), + }; + return { + sendRawPacket: vi.fn(async () => r), + resolveUserUid: vi.fn(async () => 'resolved-uid'), + }; +} + +describe('SetSpecialTitle namespace', () => { + it('declares 0x8FC_2', () => { + expect(SetSpecialTitle.command).toBe(0x8fc); + expect(SetSpecialTitle.subCommand).toBe(2); + }); + + it('routes to 0x8fc_2 with -1 (permanent) expireTime sentinel', async () => { + const deps = makeDeps(); + await SetSpecialTitle.invoke(deps, { groupId: 12345, userId: 67890, title: 'crown' }); + expect(deps.resolveUserUid).toHaveBeenCalledWith(67890, 12345); + const [wire, bytes] = deps.sendRawPacket.mock.calls[0]!; + expect(wire).toBe('OidbSvcTrpcTcp.0x8fc_2'); + const env = protobuf_decode>(bytes); + expect(env.body?.groupUin).toBe(12345); + expect(env.body?.body?.targetUid).toBe('resolved-uid'); + expect(env.body?.body?.specialTitle).toBe('crown'); + // uinName (tag 7) must mirror specialTitle or the server silently no-ops. + expect(env.body?.body?.uinName).toBe('crown'); + // int_32 preserves the signed -1 sentinel after the wire round-trip. + expect(env.body?.body?.expireTime).toBe(-1); + }); + + it.each(['', ' ', '龙王👑'])('preserves title %j in both wire fields', async (title) => { + const deps = makeDeps(); + await SetSpecialTitle.invoke(deps, { groupId: 12345, userId: 67890, title }); + expect(deps.resolveUserUid).toHaveBeenCalledWith(67890, 12345); + const [wire, bytes] = deps.sendRawPacket.mock.calls[0]!; + expect(wire).toBe('OidbSvcTrpcTcp.0x8fc_2'); + + // Empty titles must emit tag 5 + length 0 and tag 7 + length 0: + // omitting either field turns clearing the title into a silent no-op (#517). + const member = [ + ...s(1, 'resolved-uid'), + ...s(5, title), + ...v(6, 0xffffffff), + ...s(7, title), + ]; + const body = [...v(1, 12345), ...m(3, member)]; + expect(Buffer.from(bytes).toString('hex')).toBe(env(0x8fc, 2, body, false)); + }); +}); diff --git a/packages/protocol/tests/oidb-services/group-file/create-group-folder.test.ts b/packages/protocol/tests/oidb-services/group-file/create-group-folder.test.ts new file mode 100644 index 00000000..e05b265b --- /dev/null +++ b/packages/protocol/tests/oidb-services/group-file/create-group-folder.test.ts @@ -0,0 +1,102 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { + OidbGroupFileFolderReq, + OidbGroupFileFolderResp, +} from '@snowluma/proto-defs/oidb-actions/group-file'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { CreateGroupFolder } from '../../../src/oidb-services/group-file/create-group-folder'; + +function makeDeps(body?: OidbGroupFileFolderResp) { + const responseData = + body !== undefined + ? Buffer.from(protobuf_encode>({ body })) + : Buffer.alloc(0); + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('CreateGroupFolder namespace', () => { + it('declares 0x6D7_0 with uinForm=true', () => { + expect(CreateGroupFolder.command).toBe(0x6d7); + expect(CreateGroupFolder.subCommand).toBe(0); + expect(CreateGroupFolder.uinForm).toBe(true); + }); + + it('packages create.{groupUin, rootDirectory, folderName}', async () => { + const deps = makeDeps({ create: {} as any }); + await CreateGroupFolder.invoke(deps, { groupId: 12345, parentId: '/', folderName: 'docs' }); + const env = protobuf_decode>( + deps.sendRawPacket.mock.calls[0]![1], + ); + expect(env.body?.create).toMatchObject({ + groupUin: 12345, + rootDirectory: '/', + folderName: 'docs', + }); + }); + + it('throws on retcode != 0 (note: lower-case retcode in this proto)', async () => { + const deps = makeDeps({ create: { retcode: 7, retMsg: 'denied' } as any }); + await expect( + CreateGroupFolder.invoke(deps, { groupId: 1, parentId: '/', folderName: 'f' }), + ).rejects.toThrow(/code=7/); + }); + + it('returns the new folder info from the response folderInfo (#195)', async () => { + const deps = makeDeps({ + create: { + retcode: 0, + folderInfo: { + folderId: '/0f1e2d', + folderPath: '/docs', + folderName: 'docs', + createTime: 100, + modifyTime: 200, + createUin: 111, + modifyUin: 222, + }, + } as any, + }); + const r = await CreateGroupFolder.invoke(deps, { + groupId: 1, + parentId: '/', + folderName: 'docs', + }); + expect(r).toEqual({ + folderId: '/0f1e2d', + folderName: 'docs', + folderPath: '/docs', + createTime: 100, + modifyTime: 200, + createUin: 111, + modifyUin: 222, + }); + }); + + it('defaults every field when the response omits folderInfo (#195)', async () => { + const deps = makeDeps({ create: { retcode: 0 } as any }); + const r = await CreateGroupFolder.invoke(deps, { + groupId: 1, + parentId: '/', + folderName: 'f', + }); + expect(r).toEqual({ + folderId: '', + folderName: '', + folderPath: '', + createTime: 0, + modifyTime: 0, + createUin: 0, + modifyUin: 0, + }); + }); +}); diff --git a/packages/protocol/tests/oidb-services/group-file/delete-group-file.test.ts b/packages/protocol/tests/oidb-services/group-file/delete-group-file.test.ts new file mode 100644 index 00000000..6dfee387 --- /dev/null +++ b/packages/protocol/tests/oidb-services/group-file/delete-group-file.test.ts @@ -0,0 +1,56 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { + OidbGroupFileReq, + OidbGroupFileResp, +} from '@snowluma/proto-defs/oidb-actions/group-file'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { DeleteGroupFile } from '../../../src/oidb-services/group-file/delete-group-file'; + +function makeDeps(body?: OidbGroupFileResp) { + const responseData = + body !== undefined + ? Buffer.from(protobuf_encode>({ body })) + : Buffer.alloc(0); + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('DeleteGroupFile namespace', () => { + it('declares 0x6D6_3 with uinForm=true', () => { + expect(DeleteGroupFile.command).toBe(0x6d6); + expect(DeleteGroupFile.subCommand).toBe(3); + expect(DeleteGroupFile.uinForm).toBe(true); + }); + + it('packages busId=102 and routes to 0x6d6_3', async () => { + const deps = makeDeps({ delete: {} as any }); + await DeleteGroupFile.invoke(deps, { groupId: 12345, fileId: 'fid' }); + const [wire, bytes] = deps.sendRawPacket.mock.calls[0]!; + expect(wire).toBe('OidbSvcTrpcTcp.0x6d6_3'); + const env = protobuf_decode>(bytes); + expect(env.body?.delete).toMatchObject({ groupUin: 12345, busId: 102, fileId: 'fid' }); + }); + + it('throws on missing delete sub-message', async () => { + const deps = makeDeps({}); + await expect(DeleteGroupFile.invoke(deps, { groupId: 1, fileId: 'f' })).rejects.toThrow( + /delete response missing/, + ); + }); + + it('throws on non-zero retCode', async () => { + const deps = makeDeps({ delete: { retCode: 5, retMsg: 'no perms' } as any }); + await expect(DeleteGroupFile.invoke(deps, { groupId: 1, fileId: 'f' })).rejects.toThrow( + /code=5/, + ); + }); +}); diff --git a/packages/protocol/tests/oidb-services/group-file/delete-group-folder.test.ts b/packages/protocol/tests/oidb-services/group-file/delete-group-folder.test.ts new file mode 100644 index 00000000..7a5c3724 --- /dev/null +++ b/packages/protocol/tests/oidb-services/group-file/delete-group-folder.test.ts @@ -0,0 +1,49 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { + OidbGroupFileFolderReq, + OidbGroupFileFolderResp, +} from '@snowluma/proto-defs/oidb-actions/group-file'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { DeleteGroupFolder } from '../../../src/oidb-services/group-file/delete-group-folder'; + +function makeDeps(body?: OidbGroupFileFolderResp) { + const responseData = + body !== undefined + ? Buffer.from(protobuf_encode>({ body })) + : Buffer.alloc(0); + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('DeleteGroupFolder namespace', () => { + it('declares 0x6D7_1 with uinForm=true', () => { + expect(DeleteGroupFolder.command).toBe(0x6d7); + expect(DeleteGroupFolder.subCommand).toBe(1); + expect(DeleteGroupFolder.uinForm).toBe(true); + }); + + it('packages delete.{groupUin, folderId}', async () => { + const deps = makeDeps({ delete: {} as any }); + await DeleteGroupFolder.invoke(deps, { groupId: 12345, folderId: 'fid' }); + const env = protobuf_decode>( + deps.sendRawPacket.mock.calls[0]![1], + ); + expect(env.body?.delete).toMatchObject({ groupUin: 12345, folderId: 'fid' }); + }); + + it('throws on missing delete sub-message', async () => { + const deps = makeDeps({}); + await expect(DeleteGroupFolder.invoke(deps, { groupId: 1, folderId: 'f' })).rejects.toThrow( + /folder delete response missing/, + ); + }); +}); diff --git a/packages/protocol/tests/oidb-services/group-file/finalize-offline-file.test.ts b/packages/protocol/tests/oidb-services/group-file/finalize-offline-file.test.ts new file mode 100644 index 00000000..d321229f --- /dev/null +++ b/packages/protocol/tests/oidb-services/group-file/finalize-offline-file.test.ts @@ -0,0 +1,158 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { OidbOfflineFileFinalizeResp } from '@snowluma/proto-defs/oidb-actions/media'; +import type { FileExtra } from '@snowluma/proto-defs/message'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { FinalizeOfflineFile } from '../../../src/oidb-services/group-file/finalize-offline-file'; +import { env, m, s, v } from '../_pb-oracle'; + +// `bytes` fields are wire type 2 — identical framing to a sub-message, so the +// oracle's `m()` (tag + length + payload) doubles as the bytes emitter. +const b = m; + +function makeDeps(resp?: OidbOfflineFileFinalizeResp) { + const responseData = + resp !== undefined + ? Buffer.from(protobuf_encode>({ body: resp })) + : Buffer.alloc(0); + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('FinalizeOfflineFile (0xE37_800)', () => { + it('declares 0xE37_800', () => { + expect(FinalizeOfflineFile.command).toBe(0xe37); + expect(FinalizeOfflineFile.subCommand).toBe(800); + }); + + it('serializes the request body byte-for-byte (oracle locks every tag)', async () => { + const deps = makeDeps({}); + await FinalizeOfflineFile.invoke(deps, { + senderUid: 'su', + receiverUid: 'ru', + fileUuid: 'uuid', + fileHash: 'hh', + }); + const [wire, bytes] = deps.sendRawPacket.mock.calls[0]!; + expect(wire).toBe('OidbSvcTrpcTcp.0xe37_800'); + + // body(10) { senderUid(10) receiverUid(20) fileUuid(30) fileHash(40) } + const innerBody = [...s(10, 'su'), ...s(20, 'ru'), ...s(30, 'uuid'), ...s(40, 'hh')]; + // req: subCommand(1)=800, field2(2)=0 omitted, body(10), field101(101)=3, + // field102(102)=1, field200(200)=1 + const req = [...v(1, 800), ...m(10, innerBody), ...v(101, 3), ...v(102, 1), ...v(200, 1)]; + const expected = env(0xe37, 800, req, false); + expect(Buffer.from(bytes).toString('hex')).toBe(expected); + }); + + it('extracts the download-routing metadata from field30 of the response', async () => { + const deps = makeDeps({ + body: { + metadata: { + field3: 5, + field100: new Uint8Array([9, 9]), + field101: new Uint8Array([8]), + field110: 7, + timestamp1: 42, + }, + }, + }); + const meta = await FinalizeOfflineFile.invoke(deps, { + senderUid: 'su', + receiverUid: 'ru', + fileUuid: 'uuid', + fileHash: 'hh', + }); + expect(meta.field3).toBe(5); + expect(meta.field110).toBe(7); + expect(meta.timestamp1).toBe(42); + expect(Array.from(meta.field100 ?? [])).toEqual([9, 9]); + expect(Array.from(meta.field101 ?? [])).toEqual([8]); + }); + + it('returns {} when the response carries no metadata', async () => { + const deps = makeDeps({}); + const meta = await FinalizeOfflineFile.invoke(deps, { + senderUid: 'su', + receiverUid: 'ru', + fileUuid: 'uuid', + fileHash: 'hh', + }); + expect(meta).toEqual({}); + }); +}); + +describe('FileExtra.field6 (c2c download routing — issue #157)', () => { + it('encodes field6.field2 with the exact NapCat tag layout', () => { + const extra: FileExtra = { + field6: { + field2: { + field1: 7, + fileUuid: 'uu', + fileName: 'n.bin', + field6: 3, + field7: new Uint8Array([1, 2]), + field8: new Uint8Array([3]), + timestamp1: 99, + fileHash: 'hh', + selfUid: 'su', + destUid: 'du', + }, + }, + }; + const hex = Buffer.from(protobuf_encode(extra)).toString('hex'); + + // PrivateFileExtraField2 in ascending tag order: + // field1(1) fileUuid(4) fileName(5) field6(6) field7(7,bytes) + // field8(8,bytes) timestamp1(9) fileHash(14) selfUid(15) destUid(16) + const f2 = [ + ...v(1, 7), + ...s(4, 'uu'), + ...s(5, 'n.bin'), + ...v(6, 3), + ...b(7, [1, 2]), + ...b(8, [3]), + ...v(9, 99), + ...s(14, 'hh'), + ...s(15, 'su'), + ...s(16, 'du'), + ]; + // PrivateFileExtra { field2(2) } → FileExtra { field6(6) } + const expected = Buffer.from(m(6, m(2, f2))).toString('hex'); + expect(hex).toBe(expected); + }); + + it('round-trips field6 through encode/decode', () => { + const extra: FileExtra = { + file: { fileUuid: 'u', fileName: 'f', subcmd: 1 }, + field6: { + field2: { + field1: 1, + fileUuid: 'u', + fileName: 'f', + timestamp1: 5, + selfUid: 's', + destUid: 'd', + }, + }, + }; + const back = protobuf_decode(protobuf_encode(extra)); + expect(back.field6?.field2).toMatchObject({ + field1: 1, + fileUuid: 'u', + fileName: 'f', + timestamp1: 5, + selfUid: 's', + destUid: 'd', + }); + expect(back.file?.subcmd).toBe(1); + }); +}); diff --git a/packages/protocol/tests/oidb-services/group-file/get-group-file-count.test.ts b/packages/protocol/tests/oidb-services/group-file/get-group-file-count.test.ts new file mode 100644 index 00000000..3a763153 --- /dev/null +++ b/packages/protocol/tests/oidb-services/group-file/get-group-file-count.test.ts @@ -0,0 +1,53 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { + OidbGroupFileCountViewReq, + OidbGroupFileCountViewResp, +} from '@snowluma/proto-defs/oidb-actions/group-file'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { GetGroupFileCount } from '../../../src/oidb-services/group-file/get-group-file-count'; + +function makeDeps(body?: OidbGroupFileCountViewResp) { + const responseData = + body !== undefined + ? Buffer.from(protobuf_encode>({ body })) + : Buffer.alloc(0); + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('GetGroupFileCount namespace', () => { + it('declares 0x6D8_2 (Count subcommand)', () => { + expect(GetGroupFileCount.command).toBe(0x6d8); + expect(GetGroupFileCount.subCommand).toBe(2); + }); + + it('routes to 0x6d8_2 with groupUin + appId=7 + busId=6 (#196)', async () => { + const deps = makeDeps({ count: { fileCount: 1, maxCount: 100 } }); + await GetGroupFileCount.invoke(deps, { groupId: 12345 }); + const [wire, bytes] = deps.sendRawPacket.mock.calls[0]!; + expect(wire).toBe('OidbSvcTrpcTcp.0x6d8_2'); + const env = protobuf_decode>(bytes); + expect(env.body?.count).toMatchObject({ groupUin: 12345, appId: 7, busId: 6 }); + }); + + it('decodes fileCount (field 4) + maxCount (field 6) as plain numbers', async () => { + const deps = makeDeps({ count: { fileCount: 42, maxCount: 1000 } }); + const out = await GetGroupFileCount.invoke(deps, { groupId: 1 }); + expect(out).toEqual({ fileCount: 42, maxCount: 1000 }); + }); + + it('falls back to maxCount=10000 when the server elides it', async () => { + const deps = makeDeps({ count: {} }); + const out = await GetGroupFileCount.invoke(deps, { groupId: 1 }); + expect(out).toEqual({ fileCount: 0, maxCount: 10000 }); + }); +}); diff --git a/packages/protocol/tests/oidb-services/group-file/get-group-file-space.test.ts b/packages/protocol/tests/oidb-services/group-file/get-group-file-space.test.ts new file mode 100644 index 00000000..03ec75be --- /dev/null +++ b/packages/protocol/tests/oidb-services/group-file/get-group-file-space.test.ts @@ -0,0 +1,54 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { + OidbGroupFileCountViewReq, + OidbGroupFileCountViewResp, +} from '@snowluma/proto-defs/oidb-actions/group-file'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { GetGroupFileSpace } from '../../../src/oidb-services/group-file/get-group-file-space'; + +function makeDeps(body?: OidbGroupFileCountViewResp) { + const responseData = + body !== undefined + ? Buffer.from(protobuf_encode>({ body })) + : Buffer.alloc(0); + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('GetGroupFileSpace namespace (#196)', () => { + it('declares 0x6D8_3 (Space subcommand)', () => { + expect(GetGroupFileSpace.command).toBe(0x6d8); + expect(GetGroupFileSpace.subCommand).toBe(3); + }); + + it('routes to 0x6d8_3 with a space request (groupUin + appId=7)', async () => { + const deps = makeDeps({ space: {} }); + await GetGroupFileSpace.invoke(deps, { groupId: 12345 }); + const [wire, bytes] = deps.sendRawPacket.mock.calls[0]!; + expect(wire).toBe('OidbSvcTrpcTcp.0x6d8_3'); + const env = protobuf_decode>(bytes); + expect(env.body?.space).toMatchObject({ groupUin: 12345, appId: 7 }); + expect(env.body?.count).toBeNull(); + }); + + it('decodes usedSpace (field 5) + totalSpace (field 4) as plain numbers', async () => { + const deps = makeDeps({ space: { usedSpace: 20103729n, totalSpace: 10737418240n } }); + const out = await GetGroupFileSpace.invoke(deps, { groupId: 1 }); + expect(out).toEqual({ usedSpace: 20103729, totalSpace: 10737418240 }); + }); + + it('defaults to 0 when the server elides the space block', async () => { + const deps = makeDeps({ space: {} }); + const out = await GetGroupFileSpace.invoke(deps, { groupId: 1 }); + expect(out).toEqual({ usedSpace: 0, totalSpace: 0 }); + }); +}); diff --git a/packages/protocol/tests/oidb-services/group-file/get-group-file-url.test.ts b/packages/protocol/tests/oidb-services/group-file/get-group-file-url.test.ts new file mode 100644 index 00000000..03236fa6 --- /dev/null +++ b/packages/protocol/tests/oidb-services/group-file/get-group-file-url.test.ts @@ -0,0 +1,88 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { + OidbGroupFileReq, + OidbGroupFileResp, +} from '@snowluma/proto-defs/oidb-actions/group-file'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { GetGroupFileUrl } from '../../../src/oidb-services/group-file/get-group-file-url'; + +function makeDeps(body?: OidbGroupFileResp) { + const responseData = + body !== undefined + ? Buffer.from(protobuf_encode>({ body })) + : Buffer.alloc(0); + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('GetGroupFileUrl namespace', () => { + it('declares 0x6D6_2 with uinForm=true', () => { + expect(GetGroupFileUrl.command).toBe(0x6d6); + expect(GetGroupFileUrl.subCommand).toBe(2); + expect(GetGroupFileUrl.uinForm).toBe(true); + }); + + it('packages the download slot with the supplied busId', async () => { + const deps = makeDeps({ + download: { downloadDns: 'cdn', downloadUrl: new Uint8Array([1, 2]) } as any, + }); + await GetGroupFileUrl.invoke(deps, { groupId: 12345, fileId: 'fid', busId: 102 }); + const [wire, bytes] = deps.sendRawPacket.mock.calls[0]!; + expect(wire).toBe('OidbSvcTrpcTcp.0x6d6_2'); + const env = protobuf_decode>(bytes); + expect(env.body?.download).toMatchObject({ + groupUin: 12345, + appId: 7, + busId: 102, + fileId: 'fid', + }); + }); + + it('composes the https ftn_handler URL and checks download.retCode', async () => { + const deps = makeDeps({ + download: { downloadDns: 'cdn', downloadUrl: new Uint8Array([0x01, 0x02]) } as any, + }); + await expect( + GetGroupFileUrl.invoke(deps, { groupId: 1, fileId: 'fid-xyz', busId: 102 }), + ).resolves.toBe('https://cdn/ftn_handler/0102/?fname=fid-xyz'); + }); + + it('throws when download.retCode is non-zero', async () => { + const deps = makeDeps({ + download: { + retCode: 1, + retMsg: 'denied', + downloadDns: 'cdn', + downloadUrl: new Uint8Array([1]), + } as any, + }); + await expect( + GetGroupFileUrl.invoke(deps, { groupId: 1, fileId: 'f', busId: 102 }), + ).rejects.toThrow(/group file url failed: code=1/); + }); + + it('throws when the download sub-message is missing', async () => { + const deps = makeDeps({}); + await expect( + GetGroupFileUrl.invoke(deps, { groupId: 1, fileId: 'f', busId: 102 }), + ).rejects.toThrow(/url response missing/); + }); + + it('falls back to downloadIp when downloadDns is empty', async () => { + const deps = makeDeps({ + download: { downloadIp: '1.2.3.4', downloadUrl: new Uint8Array([0xab]) } as any, + }); + await expect( + GetGroupFileUrl.invoke(deps, { groupId: 1, fileId: 'fid', busId: 102 }), + ).resolves.toBe('https://1.2.3.4/ftn_handler/AB/?fname=fid'); + }); +}); diff --git a/packages/protocol/tests/oidb-services/group-file/get-group-ptt-url.test.ts b/packages/protocol/tests/oidb-services/group-file/get-group-ptt-url.test.ts new file mode 100644 index 00000000..feb96a1f --- /dev/null +++ b/packages/protocol/tests/oidb-services/group-file/get-group-ptt-url.test.ts @@ -0,0 +1,63 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { NTV2RichMediaReq, NTV2RichMediaResp } from '@snowluma/proto-defs/oidb-actions/media'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { GetGroupPttUrl } from '../../../src/oidb-services/group-file/get-group-ptt-url'; + +function makeDeps(body?: NTV2RichMediaResp) { + const responseData = + body !== undefined + ? Buffer.from(protobuf_encode>({ body })) + : Buffer.alloc(0); + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('GetGroupPttUrl namespace', () => { + it('declares 0x126E_200 with uinForm=true', () => { + expect(GetGroupPttUrl.command).toBe(0x126e); + expect(GetGroupPttUrl.subCommand).toBe(200); + expect(GetGroupPttUrl.uinForm).toBe(true); + }); + + it('emits scene{requestType=1, businessType=3, sceneType=2, group.groupUin}', async () => { + const deps = makeDeps({ + respHead: { retCode: 0 }, + download: { info: { domain: 'd', urlPath: '/p' }, rKeyParam: '?rk' }, + } as any); + await GetGroupPttUrl.invoke(deps, { groupId: 12345, node: { fileUuid: 'uuid' } }); + const env = protobuf_decode>( + deps.sendRawPacket.mock.calls[0]![1], + ); + expect(env.body?.reqHead?.scene).toMatchObject({ + requestType: 1, + businessType: 3, + sceneType: 2, + group: { groupUin: 12345 }, + }); + }); + + it('composes the https://domain URL', async () => { + const deps = makeDeps({ + respHead: { retCode: 0 }, + download: { info: { domain: 'cdn.qq', urlPath: '/x' }, rKeyParam: '?r=1' }, + } as any); + const out = await GetGroupPttUrl.invoke(deps, { groupId: 1, node: { fileUuid: 'uuid' } }); + expect(out).toBe('https://cdn.qq/x?r=1'); + }); + + it('throws when fileUuid is missing on the node', async () => { + const deps = makeDeps({} as any); + await expect(GetGroupPttUrl.invoke(deps, { groupId: 1, node: {} })).rejects.toThrow( + /fileUuid is required/, + ); + }); +}); diff --git a/packages/protocol/tests/oidb-services/group-file/get-group-video-url.test.ts b/packages/protocol/tests/oidb-services/group-file/get-group-video-url.test.ts new file mode 100644 index 00000000..4d28ef8b --- /dev/null +++ b/packages/protocol/tests/oidb-services/group-file/get-group-video-url.test.ts @@ -0,0 +1,57 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { NTV2RichMediaReq, NTV2RichMediaResp } from '@snowluma/proto-defs/oidb-actions/media'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { GetGroupVideoUrl } from '../../../src/oidb-services/group-file/get-group-video-url'; + +function makeDeps(body?: NTV2RichMediaResp) { + const responseData = + body !== undefined + ? Buffer.from(protobuf_encode>({ body })) + : Buffer.alloc(0); + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('GetGroupVideoUrl namespace', () => { + it('declares 0x11EA_200 with uinForm=true', () => { + expect(GetGroupVideoUrl.command).toBe(0x11ea); + expect(GetGroupVideoUrl.subCommand).toBe(200); + expect(GetGroupVideoUrl.uinForm).toBe(true); + }); + + it('emits scene{requestType=2, businessType=2, sceneType=2, group}', async () => { + const deps = makeDeps({ + respHead: { retCode: 0 }, + download: { info: { domain: 'd', urlPath: '/v' }, rKeyParam: '' }, + } as any); + await GetGroupVideoUrl.invoke(deps, { groupId: 12345, node: { fileUuid: 'uuid' } }); + const env = protobuf_decode>( + deps.sendRawPacket.mock.calls[0]![1], + ); + expect(env.body?.reqHead?.scene).toMatchObject({ + requestType: 2, + businessType: 2, + sceneType: 2, + group: { groupUin: 12345 }, + }); + }); + + it('bubbles up retCode != 0 via the shared ntv2 deserializer', async () => { + const deps = makeDeps({ + respHead: { retCode: 99, message: 'gone' }, + download: { info: { domain: 'd', urlPath: '/p' }, rKeyParam: '' }, + } as any); + await expect( + GetGroupVideoUrl.invoke(deps, { groupId: 1, node: { fileUuid: 'u' } }), + ).rejects.toThrow(/code=99/); + }); +}); diff --git a/packages/protocol/tests/oidb-services/group-file/get-private-file-url.test.ts b/packages/protocol/tests/oidb-services/group-file/get-private-file-url.test.ts new file mode 100644 index 00000000..5a2da49d --- /dev/null +++ b/packages/protocol/tests/oidb-services/group-file/get-private-file-url.test.ts @@ -0,0 +1,81 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { + OidbPrivateFileDownloadReq, + OidbPrivateFileDownloadResp, +} from '@snowluma/proto-defs/oidb-actions/media'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { GetPrivateFileUrl } from '../../../src/oidb-services/group-file/get-private-file-url'; + +function makeDeps(body?: OidbPrivateFileDownloadResp) { + const responseData = + body !== undefined + ? Buffer.from(protobuf_encode>({ body })) + : Buffer.alloc(0); + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('GetPrivateFileUrl namespace', () => { + it('declares 0xE37_1200', () => { + expect(GetPrivateFileUrl.command).toBe(0xe37); + expect(GetPrivateFileUrl.subCommand).toBe(1200); + }); + + it('packages the magic field99999 cookie + body fields', async () => { + const deps = makeDeps({ + body: { result: { server: 'host', port: 80, url: '/u' } } as any, + }); + await GetPrivateFileUrl.invoke(deps, { selfUid: 'self', fileId: 'fid', fileHash: 'h' }); + const [wire, bytes] = deps.sendRawPacket.mock.calls[0]!; + expect(wire).toBe('OidbSvcTrpcTcp.0xe37_1200'); + const env = protobuf_decode>(bytes); + expect(env.body).toMatchObject({ + subCommand: 1200, + field2: 1, + field101: 3, + field102: 103, + field200: 1, + }); + expect(env.body?.body).toMatchObject({ + receiverUid: 'self', + fileUuid: 'fid', + type: 2, + fileHash: 'h', + }); + expect(env.body?.field99999).toEqual(new Uint8Array([0xc0, 0x85, 0x2c, 0x01])); + }); + + it('composes the http download URL', async () => { + const deps = makeDeps({ + body: { result: { server: 'srv', port: 8080, url: '/path' } } as any, + }); + await expect( + GetPrivateFileUrl.invoke(deps, { selfUid: 's', fileId: 'f', fileHash: 'h' }), + ).resolves.toBe('http://srv:8080/path&isthumb=0'); + }); + + it('throws when result is missing', async () => { + const deps = makeDeps({ body: {} }); + await expect( + GetPrivateFileUrl.invoke(deps, { selfUid: 's', fileId: 'f', fileHash: 'h' }), + ).rejects.toThrow(/private file url response invalid/); + }); + + it('throws when server/port/url is incomplete', async () => { + const deps = makeDeps({ + body: { result: { server: 'srv', port: 0, url: '/path' } } as any, + }); + await expect( + GetPrivateFileUrl.invoke(deps, { selfUid: 's', fileId: 'f', fileHash: 'h' }), + ).rejects.toThrow(/private file url response invalid/); + }); +}); diff --git a/packages/protocol/tests/oidb-services/group-file/get-private-ptt-url.test.ts b/packages/protocol/tests/oidb-services/group-file/get-private-ptt-url.test.ts new file mode 100644 index 00000000..e4909000 --- /dev/null +++ b/packages/protocol/tests/oidb-services/group-file/get-private-ptt-url.test.ts @@ -0,0 +1,47 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { NTV2RichMediaReq, NTV2RichMediaResp } from '@snowluma/proto-defs/oidb-actions/media'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { GetPrivatePttUrl } from '../../../src/oidb-services/group-file/get-private-ptt-url'; + +function makeDeps(body?: NTV2RichMediaResp) { + const responseData = + body !== undefined + ? Buffer.from(protobuf_encode>({ body })) + : Buffer.alloc(0); + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('GetPrivatePttUrl namespace', () => { + it('declares 0x126D_200 with uinForm=true', () => { + expect(GetPrivatePttUrl.command).toBe(0x126d); + expect(GetPrivatePttUrl.subCommand).toBe(200); + expect(GetPrivatePttUrl.uinForm).toBe(true); + }); + + it('emits c2c scene with self uid as targetUid', async () => { + const deps = makeDeps({ + respHead: { retCode: 0 }, + download: { info: { domain: 'd', urlPath: '/p' }, rKeyParam: '' }, + } as any); + await GetPrivatePttUrl.invoke(deps, { selfUid: 'self', node: { fileUuid: 'uuid' } }); + const env = protobuf_decode>( + deps.sendRawPacket.mock.calls[0]![1], + ); + expect(env.body?.reqHead?.scene).toMatchObject({ + requestType: 1, + businessType: 3, + sceneType: 1, + c2c: { accountType: 2, targetUid: 'self' }, + }); + }); +}); diff --git a/packages/protocol/tests/oidb-services/group-file/get-private-video-url.test.ts b/packages/protocol/tests/oidb-services/group-file/get-private-video-url.test.ts new file mode 100644 index 00000000..99f00b5c --- /dev/null +++ b/packages/protocol/tests/oidb-services/group-file/get-private-video-url.test.ts @@ -0,0 +1,47 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { NTV2RichMediaReq, NTV2RichMediaResp } from '@snowluma/proto-defs/oidb-actions/media'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { GetPrivateVideoUrl } from '../../../src/oidb-services/group-file/get-private-video-url'; + +function makeDeps(body?: NTV2RichMediaResp) { + const responseData = + body !== undefined + ? Buffer.from(protobuf_encode>({ body })) + : Buffer.alloc(0); + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('GetPrivateVideoUrl namespace', () => { + it('declares 0x11E9_200 with uinForm=true', () => { + expect(GetPrivateVideoUrl.command).toBe(0x11e9); + expect(GetPrivateVideoUrl.subCommand).toBe(200); + expect(GetPrivateVideoUrl.uinForm).toBe(true); + }); + + it('emits c2c scene with self uid as targetUid', async () => { + const deps = makeDeps({ + respHead: { retCode: 0 }, + download: { info: { domain: 'd', urlPath: '/v' }, rKeyParam: '' }, + } as any); + await GetPrivateVideoUrl.invoke(deps, { selfUid: 'self', node: { fileUuid: 'uuid' } }); + const env = protobuf_decode>( + deps.sendRawPacket.mock.calls[0]![1], + ); + expect(env.body?.reqHead?.scene).toMatchObject({ + requestType: 2, + businessType: 2, + sceneType: 1, + c2c: { accountType: 2, targetUid: 'self' }, + }); + }); +}); diff --git a/packages/protocol/tests/oidb-services/group-file/list-group-files-page.test.ts b/packages/protocol/tests/oidb-services/group-file/list-group-files-page.test.ts new file mode 100644 index 00000000..57bd0b32 --- /dev/null +++ b/packages/protocol/tests/oidb-services/group-file/list-group-files-page.test.ts @@ -0,0 +1,169 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { + OidbGroupFileViewReq, + OidbGroupFileViewResp, +} from '@snowluma/proto-defs/oidb-actions/group-file'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { ListGroupFilesPage } from '../../../src/oidb-services/group-file/list-group-files-page'; + +function wireVarint(value: bigint): number[] { + const out: number[] = []; + let remaining = value; + + do { + const byte = Number(remaining & 0x7fn); + remaining >>= 7n; + out.push(remaining === 0n ? byte : byte | 0x80); + } while (remaining !== 0n); + + return out; +} + +function varintField(fieldNumber: number, value: bigint): number[] { + return [...wireVarint(BigInt(fieldNumber << 3)), ...wireVarint(value)]; +} + +function bytesField(fieldNumber: number, value: Uint8Array): number[] { + return [ + ...wireVarint(BigInt((fieldNumber << 3) | 2)), + ...wireVarint(BigInt(value.length)), + ...value, + ]; +} + +function stringField(fieldNumber: number, value: string): number[] { + return bytesField(fieldNumber, new TextEncoder().encode(value)); +} + +function messageField(fieldNumber: number, value: number[]): number[] { + return bytesField(fieldNumber, Uint8Array.from(value)); +} + +function makeDeps(body?: OidbGroupFileViewResp) { + const responseData = + body !== undefined + ? Buffer.from(protobuf_encode>({ body })) + : Buffer.alloc(0); + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('ListGroupFilesPage namespace', () => { + it('declares 0x6D8_1 with uinForm=true', () => { + expect(ListGroupFilesPage.command).toBe(0x6d8); + expect(ListGroupFilesPage.subCommand).toBe(1); + expect(ListGroupFilesPage.uinForm).toBe(true); + }); + + it('packages the page parameters (sortBy=1, field17=2, field18=0)', async () => { + const deps = makeDeps({ list: { isEnd: true, items: [] } as any }); + await ListGroupFilesPage.invoke(deps, { + groupId: 12345, + targetDirectory: '/a', + startIndex: 20, + pageSize: 50, + }); + const env = protobuf_decode>( + deps.sendRawPacket.mock.calls[0]![1], + ); + expect(env.body?.list).toMatchObject({ + groupUin: 12345, + appId: 7, + targetDirectory: '/a', + fileCount: 50, + sortBy: 1, + startIndex: 20, + field17: 2, + }); + }); + + it('returns items and isEnd after checking list.retCode', async () => { + const deps = makeDeps({ + list: { isEnd: false, items: [{ type: 1 }] } as any, + }); + const out = await ListGroupFilesPage.invoke(deps, { + groupId: 1, + targetDirectory: '/', + startIndex: 0, + pageSize: 10, + }); + expect(out).toEqual({ items: [expect.objectContaining({ type: 1 })], isEnd: false }); + }); + + it('throws when list.retCode is non-zero', async () => { + const deps = makeDeps({ + list: { retCode: 2, retMsg: 'busy', isEnd: true, items: [] } as any, + }); + await expect( + ListGroupFilesPage.invoke(deps, { + groupId: 1, + targetDirectory: '/', + startIndex: 0, + pageSize: 10, + }), + ).rejects.toThrow(/group file list failed: code=2/); + }); + + it('decodes the folder last-upload metadata from the QQ wire fields', async () => { + // Independent wire fixture confirmed against QQ's group-file list decoder: + // folder fields 5/9/10 are modify time, modifier UIN, and modifier name. + const folder = [ + ...stringField(1, 'd1'), + ...stringField(3, 'dir'), + ...varintField(4, 100n), + ...varintField(5, 200n), + ...varintField(6, 123n), + ...stringField(7, 'creator'), + ...varintField(8, 2n), + ...varintField(9, 5_000_000_001n), + ...stringField(10, 'uploader'), + ]; + const item = [...varintField(1, 2n), ...messageField(2, folder)]; + const list = [...varintField(4, 1n), ...messageField(5, item)]; + const body = messageField(2, list); + const responseData = Buffer.from(messageField(4, body)); + const deps = { + sendRawPacket: vi.fn(async (): Promise => ({ + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + })), + }; + + const out = await ListGroupFilesPage.invoke(deps, { + groupId: 1, + targetDirectory: '/', + startIndex: 0, + pageSize: 10, + }); + const decoded = out?.items?.[0]?.folderInfo as Record | undefined; + + expect(decoded).toMatchObject({ + modifiedTime: 200, + modifierUin: 5_000_000_001n, + modifierName: 'uploader', + }); + }); + + it('returns null when the server elides the list slot', async () => { + const deps = makeDeps({}); + const out = await ListGroupFilesPage.invoke(deps, { + groupId: 1, + targetDirectory: '/', + startIndex: 0, + pageSize: 10, + }); + expect(out).toBeNull(); + }); +}); diff --git a/packages/protocol/tests/oidb-services/group-file/move-group-file.test.ts b/packages/protocol/tests/oidb-services/group-file/move-group-file.test.ts new file mode 100644 index 00000000..86e542e8 --- /dev/null +++ b/packages/protocol/tests/oidb-services/group-file/move-group-file.test.ts @@ -0,0 +1,66 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { + OidbGroupFileReq, + OidbGroupFileResp, +} from '@snowluma/proto-defs/oidb-actions/group-file'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { MoveGroupFile } from '../../../src/oidb-services/group-file/move-group-file'; + +function makeDeps(body?: OidbGroupFileResp) { + const responseData = + body !== undefined + ? Buffer.from(protobuf_encode>({ body })) + : Buffer.alloc(0); + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('MoveGroupFile namespace', () => { + it('declares 0x6D6_5 with uinForm=true', () => { + expect(MoveGroupFile.command).toBe(0x6d6); + expect(MoveGroupFile.subCommand).toBe(5); + expect(MoveGroupFile.uinForm).toBe(true); + }); + + it('packages parent + target directories under the move slot', async () => { + const deps = makeDeps({ move: {} as any }); + await MoveGroupFile.invoke(deps, { + groupId: 12345, + fileId: 'fid', + parentDirectory: '/a', + targetDirectory: '/b', + }); + const env = protobuf_decode>( + deps.sendRawPacket.mock.calls[0]![1], + ); + expect(env.body?.move).toMatchObject({ + groupUin: 12345, + appId: 7, + busId: 102, + fileId: 'fid', + parentDirectory: '/a', + targetDirectory: '/b', + }); + }); + + it('throws on missing move sub-message', async () => { + const deps = makeDeps({}); + await expect( + MoveGroupFile.invoke(deps, { + groupId: 1, + fileId: 'f', + parentDirectory: '/', + targetDirectory: '/', + }), + ).rejects.toThrow(/move response missing/); + }); +}); diff --git a/packages/protocol/tests/oidb-services/group-file/publish-group-file.test.ts b/packages/protocol/tests/oidb-services/group-file/publish-group-file.test.ts new file mode 100644 index 00000000..8f4215b2 --- /dev/null +++ b/packages/protocol/tests/oidb-services/group-file/publish-group-file.test.ts @@ -0,0 +1,50 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { OidbGroupSendFileReq } from '@snowluma/proto-defs/oidb-actions/group-file'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { PublishGroupFile } from '../../../src/oidb-services/group-file/publish-group-file'; + +function makeDeps() { + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.alloc(0), + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('PublishGroupFile namespace', () => { + it('declares 0x6D9_4', () => { + expect(PublishGroupFile.command).toBe(0x6d9); + expect(PublishGroupFile.subCommand).toBe(4); + }); + + it('routes to 0x6d9_4 with busiType=102, type=2, field5=true', async () => { + const deps = makeDeps(); + await PublishGroupFile.invoke(deps, { groupId: 12345, fileId: 'fid' }); + const [wire, bytes] = deps.sendRawPacket.mock.calls[0]!; + expect(wire).toBe('OidbSvcTrpcTcp.0x6d9_4'); + const env = protobuf_decode>(bytes); + expect(env.body?.body).toMatchObject({ + groupUin: 12345, + type: 2, + info: expect.objectContaining({ busiType: 102, fileId: 'fid', field5: true }), + }); + }); + + it('emits a non-zero `info.field3` random discriminator', async () => { + // Lagrange-V2 sets this to `Random.Shared.Next()`; our serialize uses + // Math.random() — both produce a 31-bit unsigned int, never 0. + const deps = makeDeps(); + await PublishGroupFile.invoke(deps, { groupId: 1, fileId: 'f' }); + const env = protobuf_decode>( + deps.sendRawPacket.mock.calls[0]![1], + ); + const field3 = env.body?.body?.info?.field3 ?? 0; + expect(typeof field3).toBe('number'); + }); +}); diff --git a/packages/protocol/tests/oidb-services/group-file/rename-group-file.test.ts b/packages/protocol/tests/oidb-services/group-file/rename-group-file.test.ts new file mode 100644 index 00000000..575e9918 --- /dev/null +++ b/packages/protocol/tests/oidb-services/group-file/rename-group-file.test.ts @@ -0,0 +1,86 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { + OidbGroupFileReq, + OidbGroupFileResp, +} from '@snowluma/proto-defs/oidb-actions/group-file'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { RenameGroupFile } from '../../../src/oidb-services/group-file/rename-group-file'; + +// A success response the real server would send: command/sub echoed, rename +// ret slot with retCode 0. Lets `invoke`'s deserialize pass so we can assert +// the request wire (cmd name + body) without it throwing on an empty body. +function okRenameResponse(): Buffer { + const env: OidbBase = { + command: 0x6d6, + subCommand: 4, + body: { rename: { retCode: 0 } }, + }; + return Buffer.from(protobuf_encode>(env)); +} + +function makeSender() { + const defaultResp: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: okRenameResponse(), + }; + return { sendRawPacket: vi.fn(async () => defaultResp) }; +} + +describe('RenameGroupFile namespace', () => { + it('declares command 0x6D6 sub 4 (rename slot), uin form', () => { + expect(RenameGroupFile.command).toBe(0x6d6); + expect(RenameGroupFile.subCommand).toBe(4); + expect(RenameGroupFile.uinForm).toBe(true); + }); + + it('serializes into the rename slot with busId 102 and the current parent folder', () => { + const out = RenameGroupFile.serialize({} as any, { + groupId: 12345, + fileId: '/abc', + parentDirectory: '/sub', + newFileName: 'new.txt', + }); + expect(out).toEqual({ + rename: { + groupUin: 12345, + busId: 102, + fileId: '/abc', + parentFolder: '/sub', + newFileName: 'new.txt', + }, + }); + }); + + it('round-trips the rename body through the OIDB envelope (locks the pb field tags)', async () => { + const sender = makeSender(); + await RenameGroupFile.invoke(sender, { + groupId: 12345, + fileId: '/abc', + parentDirectory: '/', + newFileName: 'new.txt', + }); + expect(sender.sendRawPacket).toHaveBeenCalledOnce(); + const [cmd, bytes] = sender.sendRawPacket.mock.calls[0]!; + expect(cmd).toBe('OidbSvcTrpcTcp.0x6d6_4'); + const env = protobuf_decode>(bytes); + expect(env.command).toBe(0x6d6); + expect(env.subCommand).toBe(4); + expect(env.body.rename).toMatchObject({ + groupUin: 12345, + busId: 102, + fileId: '/abc', + parentFolder: '/', + newFileName: 'new.txt', + }); + }); + + it('deserialize throws when the rename slot is missing from the response', () => { + expect(() => RenameGroupFile.deserialize({} as any, {})).toThrow(/rename response missing/); + }); +}); diff --git a/packages/protocol/tests/oidb-services/group-file/rename-group-folder.test.ts b/packages/protocol/tests/oidb-services/group-file/rename-group-folder.test.ts new file mode 100644 index 00000000..84bacc68 --- /dev/null +++ b/packages/protocol/tests/oidb-services/group-file/rename-group-folder.test.ts @@ -0,0 +1,61 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { + OidbGroupFileFolderReq, + OidbGroupFileFolderResp, +} from '@snowluma/proto-defs/oidb-actions/group-file'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { RenameGroupFolder } from '../../../src/oidb-services/group-file/rename-group-folder'; + +function makeDeps(body?: OidbGroupFileFolderResp) { + const responseData = + body !== undefined + ? Buffer.from(protobuf_encode>({ body })) + : Buffer.alloc(0); + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('RenameGroupFolder namespace', () => { + it('declares 0x6D7_2 with uinForm=true', () => { + expect(RenameGroupFolder.command).toBe(0x6d7); + expect(RenameGroupFolder.subCommand).toBe(2); + expect(RenameGroupFolder.uinForm).toBe(true); + }); + + it('packages rename.{groupUin, folderId, newFolderName}', async () => { + const deps = makeDeps({ rename: {} as any }); + await RenameGroupFolder.invoke(deps, { + groupId: 12345, + folderId: 'fid', + newFolderName: 'newname', + }); + const env = protobuf_decode>( + deps.sendRawPacket.mock.calls[0]![1], + ); + expect(env.body?.rename).toMatchObject({ + groupUin: 12345, + folderId: 'fid', + newFolderName: 'newname', + }); + }); + + it('throws on missing rename sub-message', async () => { + const deps = makeDeps({}); + await expect( + RenameGroupFolder.invoke(deps, { + groupId: 1, + folderId: 'f', + newFolderName: 'n', + }), + ).rejects.toThrow(/folder rename response missing/); + }); +}); diff --git a/packages/protocol/tests/oidb-services/group-file/trans-group-file.test.ts b/packages/protocol/tests/oidb-services/group-file/trans-group-file.test.ts new file mode 100644 index 00000000..b851a7f6 --- /dev/null +++ b/packages/protocol/tests/oidb-services/group-file/trans-group-file.test.ts @@ -0,0 +1,62 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { + OidbGroupSendFileReq, + OidbGroupSendFileResp, +} from '@snowluma/proto-defs/oidb-actions/group-file'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { TransGroupFile } from '../../../src/oidb-services/group-file/trans-group-file'; + +function makeDeps(body?: OidbGroupSendFileResp) { + const responseData = + body !== undefined + ? Buffer.from(protobuf_encode>({ body })) + : Buffer.alloc(0); + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('TransGroupFile namespace', () => { + it('declares 0x6D9_0', () => { + expect(TransGroupFile.command).toBe(0x6d9); + expect(TransGroupFile.subCommand).toBe(0); + }); + + it('packages group + file id under the transFile slot', async () => { + const deps = makeDeps({ transFile: { saveBusId: 102, saveFilePath: '/abc' } }); + const out = await TransGroupFile.invoke(deps, { groupId: 12345, fileId: 'fid' }); + expect(out).toEqual({ saveBusId: 102, saveFilePath: '/abc' }); + expect(deps.sendRawPacket).toHaveBeenCalledOnce(); + const [wire, bytes] = deps.sendRawPacket.mock.calls[0]!; + expect(wire).toBe('OidbSvcTrpcTcp.0x6d9_0'); + const env = protobuf_decode>(bytes); + expect(env.body?.transFile).toEqual({ + groupUin: 12345n, + appId: 7, + busId: 102, + fileId: 'fid', + }); + }); + + it('throws on missing transFile sub-message', async () => { + const deps = makeDeps({}); + await expect(TransGroupFile.invoke(deps, { groupId: 1, fileId: 'f' })).rejects.toThrow( + /transfer response missing/, + ); + }); + + it('throws on non-zero retCode', async () => { + const deps = makeDeps({ transFile: { retCode: 7, retMsg: 'denied' } }); + await expect(TransGroupFile.invoke(deps, { groupId: 1, fileId: 'f' })).rejects.toThrow( + /code=7/, + ); + }); +}); diff --git a/packages/protocol/tests/oidb-services/group-file/upload-group-file-request.test.ts b/packages/protocol/tests/oidb-services/group-file/upload-group-file-request.test.ts new file mode 100644 index 00000000..fc304a72 --- /dev/null +++ b/packages/protocol/tests/oidb-services/group-file/upload-group-file-request.test.ts @@ -0,0 +1,88 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { + OidbGroupFileReq, + OidbGroupFileResp, +} from '@snowluma/proto-defs/oidb-actions/group-file'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { UploadGroupFileRequest } from '../../../src/oidb-services/group-file/upload-group-file-request'; + +function makeDeps(body?: OidbGroupFileResp) { + const responseData = + body !== undefined + ? Buffer.from(protobuf_encode>({ body })) + : Buffer.alloc(0); + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('UploadGroupFileRequest namespace', () => { + it('declares 0x6D6_0 with uinForm=true', () => { + expect(UploadGroupFileRequest.command).toBe(0x6d6); + expect(UploadGroupFileRequest.subCommand).toBe(0); + expect(UploadGroupFileRequest.uinForm).toBe(true); + }); + + it('packages the file pre-flight slot (entrance=6, appId=4, busId=102)', async () => { + const deps = makeDeps({ upload: { fileId: 'fid', boolFileExist: true } as any }); + await UploadGroupFileRequest.invoke(deps, { + groupId: 12345, + fileName: 'doc.pdf', + folderId: '/', + fileSize: 1024, + fileSha1: new Uint8Array(20), + fileMd5: new Uint8Array(16), + }); + const [wire, bytes] = deps.sendRawPacket.mock.calls[0]!; + expect(wire).toBe('OidbSvcTrpcTcp.0x6d6_0'); + const env = protobuf_decode>(bytes); + expect(env.reserved).toBe(1); // uinForm + expect(env.body?.file).toMatchObject({ + groupUin: 12345, + appId: 4, + busId: 102, + entrance: 6, + targetDirectory: '/', + fileName: 'doc.pdf', + localDirectory: '/doc.pdf', + fileSize: 1024n, + field15: true, + }); + }); + + it('returns the upload-info body for the facade orchestration', async () => { + const deps = makeDeps({ upload: { fileId: 'fid-X', boolFileExist: true } as any }); + const out = await UploadGroupFileRequest.invoke(deps, { + groupId: 1, + fileName: 'f', + folderId: '/', + fileSize: 0, + fileSha1: new Uint8Array(0), + fileMd5: new Uint8Array(0), + }); + expect(out.fileId).toBe('fid-X'); + expect(out.boolFileExist).toBe(true); + }); + + it('throws when the upload sub-message is missing', async () => { + const deps = makeDeps({}); + await expect( + UploadGroupFileRequest.invoke(deps, { + groupId: 1, + fileName: 'f', + folderId: '/', + fileSize: 0, + fileSha1: new Uint8Array(0), + fileMd5: new Uint8Array(0), + }), + ).rejects.toThrow(/upload response missing/); + }); +}); diff --git a/packages/protocol/tests/oidb-services/group-file/upload-private-file-request.test.ts b/packages/protocol/tests/oidb-services/group-file/upload-private-file-request.test.ts new file mode 100644 index 00000000..cd35bd43 --- /dev/null +++ b/packages/protocol/tests/oidb-services/group-file/upload-private-file-request.test.ts @@ -0,0 +1,92 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { + OidbPrivateFileUploadReq, + OidbPrivateFileUploadResp, +} from '@snowluma/proto-defs/oidb-actions/media'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { UploadPrivateFileRequest } from '../../../src/oidb-services/group-file/upload-private-file-request'; + +function makeDeps(body?: OidbPrivateFileUploadResp) { + const responseData = + body !== undefined + ? Buffer.from(protobuf_encode>({ body })) + : Buffer.alloc(0); + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('UploadPrivateFileRequest namespace', () => { + it('declares 0xE37_1700', () => { + expect(UploadPrivateFileRequest.command).toBe(0xe37); + expect(UploadPrivateFileRequest.subCommand).toBe(1700); + }); + + it('packages businessId=3, clientType=1, flagSupportMediaPlatform=1 alongside the upload body', async () => { + const deps = makeDeps({ upload: { uuid: 'fid', boolFileExist: true } as any }); + await UploadPrivateFileRequest.invoke(deps, { + senderUid: 's', + receiverUid: 'r', + fileName: 'f.pdf', + fileSize: 4096, + fileSha1: new Uint8Array(20), + fileMd5: new Uint8Array(16), + md510MCheckSum: new Uint8Array(16), + }); + const [wire, bytes] = deps.sendRawPacket.mock.calls[0]!; + expect(wire).toBe('OidbSvcTrpcTcp.0xe37_1700'); + const env = protobuf_decode>(bytes); + expect(env.body).toMatchObject({ + command: 1700, + businessId: 3, + clientType: 1, + flagSupportMediaPlatform: 1, + }); + expect(env.body?.upload).toMatchObject({ + senderUid: 's', + receiverUid: 'r', + fileSize: 4096, + fileName: 'f.pdf', + }); + }); + + it('returns the upload body for the facade host-selection step', async () => { + const deps = makeDeps({ + upload: { uuid: 'fid-Y', fileAddon: 'hash', boolFileExist: true } as any, + }); + const out = await UploadPrivateFileRequest.invoke(deps, { + senderUid: 's', + receiverUid: 'r', + fileName: 'f', + fileSize: 0, + fileSha1: new Uint8Array(0), + fileMd5: new Uint8Array(0), + md510MCheckSum: new Uint8Array(0), + }); + expect(out.uuid).toBe('fid-Y'); + expect(out.fileAddon).toBe('hash'); + }); + + it('throws when the upload sub-message is missing', async () => { + const deps = makeDeps({}); + await expect( + UploadPrivateFileRequest.invoke(deps, { + senderUid: 's', + receiverUid: 'r', + fileName: 'f', + fileSize: 0, + fileSha1: new Uint8Array(0), + fileMd5: new Uint8Array(0), + md510MCheckSum: new Uint8Array(0), + }), + ).rejects.toThrow(/upload response missing/); + }); +}); diff --git a/packages/protocol/tests/oidb-services/highway/ntv2-upload-request.test.ts b/packages/protocol/tests/oidb-services/highway/ntv2-upload-request.test.ts new file mode 100644 index 00000000..c115e639 --- /dev/null +++ b/packages/protocol/tests/oidb-services/highway/ntv2-upload-request.test.ts @@ -0,0 +1,79 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_encode } from '@snowluma/proton'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { NTV2UploadRichMediaResp } from '@snowluma/proto-defs/highway'; +import { OidbError } from '../../../src/oidb-service'; +import { Ntv2UploadRequest } from '../../../src/oidb-services/highway/ntv2-upload-request'; + +function packet(body: NTV2UploadRichMediaResp, errorCode = 0): SendPacketResult { + return { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.from( + protobuf_encode>({ + command: 0x11c5, + subCommand: 100, + errorCode, + errorMsg: errorCode ? 'denied' : '', + body, + }), + ), + }; +} + +const params: Ntv2UploadRequest.Params = { + oidbCmd: 0x11c5, + isGroup: false, + targetIdOrUid: 'u_peer', + requestId: 1, + businessType: 1, + uploadInfo: [], + compatQmsgSceneType: 1, + extBizInfo: {}, + tryFast: true, + clientRandomId: 1n, +}; + +describe('Ntv2UploadRequest', () => { + it.each([ + { tempGroupId: 0 }, + { tempGroupId: -1 }, + { tempGroupId: 1.5 }, + { tempGroupId: 700, isGroup: true }, + { tempGroupId: 700, targetIdOrUid: '' }, + { tempGroupId: 700, targetIdOrUid: 1001 }, + ])('rejects invalid temp context before sending: %j', async (invalid) => { + const sendRawPacket = vi.fn(); + await expect( + Ntv2UploadRequest.invoke({ sendRawPacket }, { ...params, ...invalid }), + ).rejects.toThrow('invalid temp-session image upload context'); + expect(sendRawPacket).not.toHaveBeenCalled(); + }); + + it('sends the resolved command on the default OIDB wire name', async () => { + const sendRawPacket = vi.fn(async () => + packet({ + upload: { msgInfo: { msgInfoBody: [] } }, + }), + ); + await Ntv2UploadRequest.invoke({ sendRawPacket }, params); + expect(sendRawPacket.mock.calls[0]![0]).toBe('OidbSvcTrpcTcp.0x11c5_100'); + }); + + it('raises OidbError when the envelope is rejected', async () => { + const sendRawPacket = vi.fn(async () => packet({ upload: { msgInfo: {} } }, 42)); + await expect(Ntv2UploadRequest.invoke({ sendRawPacket }, params)).rejects.toBeInstanceOf( + OidbError, + ); + }); + + it('fails in deserialize when msgInfo is missing', async () => { + const sendRawPacket = vi.fn(async () => packet({ upload: { uKey: 'k' } })); + await expect(Ntv2UploadRequest.invoke({ sendRawPacket }, params)).rejects.toThrow( + 'upload response missing msgInfo', + ); + }); +}); diff --git a/packages/protocol/tests/oidb-services/interaction/send-like.test.ts b/packages/protocol/tests/oidb-services/interaction/send-like.test.ts new file mode 100644 index 00000000..9cb3faf5 --- /dev/null +++ b/packages/protocol/tests/oidb-services/interaction/send-like.test.ts @@ -0,0 +1,65 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { OidbLike } from '@snowluma/proto-defs/oidb-actions/base'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { SendLike } from '../../../src/oidb-services/interaction/send-like'; + +function makeDeps(uid = 'target-uid-xyz') { + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.alloc(0), + }; + return { + sendRawPacket: vi.fn(async () => r), + resolveUserUid: vi.fn(async () => uid), + }; +} + +describe('SendLike namespace', () => { + it('declares 0x7E5_104', () => { + expect(SendLike.command).toBe(0x7e5); + expect(SendLike.subCommand).toBe(104); + }); + + describe('serialize', () => { + it('resolves uid via ctx and emits {targetUid, sourceId=71, count}', async () => { + const deps = makeDeps('UID-AAA'); + const body = await SendLike.serialize(deps, { userId: 10001, count: 3 }); + expect(deps.resolveUserUid).toHaveBeenCalledWith(10001); + expect(body).toEqual({ targetUid: 'UID-AAA', sourceId: 71, count: 3 }); + }); + + it('throws when ctx returns an empty uid', async () => { + const deps = makeDeps(''); + await expect(SendLike.serialize(deps, { userId: 10001, count: 1 })).rejects.toThrow( + /failed to resolve uid/, + ); + }); + }); + + describe('invoke (e2e)', () => { + it('routes to OidbSvcTrpcTcp.0x7e5_104', async () => { + const deps = makeDeps(); + await SendLike.invoke(deps, { userId: 10001, count: 3 }); + expect(deps.sendRawPacket.mock.calls[0]![0]).toBe('OidbSvcTrpcTcp.0x7e5_104'); + }); + + it('encodes targetUid (field 11) + sourceId=71 (field 12) + count (field 13)', async () => { + const deps = makeDeps('UID-BBB'); + await SendLike.invoke(deps, { userId: 10001, count: 5 }); + const [, bytes] = deps.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + expect(env.command).toBe(0x7e5); + expect(env.subCommand).toBe(104); + expect(env.body).toMatchObject({ targetUid: 'UID-BBB', sourceId: 71, count: 5 }); + // Defensive: the obsolete uin-form field must not appear (server + // rejects uin-form payloads with "被点赞 QQ 号非法"). + expect((env.body as any).targetUin).toBeUndefined(); + }); + }); +}); diff --git a/packages/protocol/tests/oidb-services/interaction/send-poke.test.ts b/packages/protocol/tests/oidb-services/interaction/send-poke.test.ts new file mode 100644 index 00000000..8bf16c93 --- /dev/null +++ b/packages/protocol/tests/oidb-services/interaction/send-poke.test.ts @@ -0,0 +1,98 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { OidbPoke } from '@snowluma/proto-defs/oidb-actions/base'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { SendPoke } from '../../../src/oidb-services/interaction/send-poke'; + +function makeSender() { + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.alloc(0), + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('SendPoke namespace', () => { + it('declares 0xED3_1', () => { + expect(SendPoke.command).toBe(0xed3); + expect(SendPoke.subCommand).toBe(1); + }); + + describe('serialize', () => { + it('group poke: groupUin = peer, friendUin = 0, uin = targetUin', () => { + expect( + SendPoke.serialize({} as any, { isGroup: true, peerUin: 12345, targetUin: 67890 }), + ).toEqual({ + uin: 67890, + groupUin: 12345, + friendUin: 0, + ext: 0, + }); + }); + + it('group poke without targetUin: uin defaults to peer', () => { + expect(SendPoke.serialize({} as any, { isGroup: true, peerUin: 12345 })).toEqual({ + uin: 12345, + groupUin: 12345, + friendUin: 0, + ext: 0, + }); + }); + + it('friend poke: friendUin = peer, groupUin = 0, uin = targetUin', () => { + expect( + SendPoke.serialize({} as any, { isGroup: false, peerUin: 67890, targetUin: 11111 }), + ).toEqual({ + uin: 11111, + groupUin: 0, + friendUin: 67890, + ext: 0, + }); + }); + + it('friend poke without targetUin: uin defaults to peer', () => { + expect(SendPoke.serialize({} as any, { isGroup: false, peerUin: 67890 })).toEqual({ + uin: 67890, + groupUin: 0, + friendUin: 67890, + ext: 0, + }); + }); + + it('always sets ext = 0', () => { + expect(SendPoke.serialize({} as any, { isGroup: true, peerUin: 1 }).ext).toBe(0); + expect(SendPoke.serialize({} as any, { isGroup: false, peerUin: 1 }).ext).toBe(0); + }); + }); + + describe('invoke (e2e)', () => { + it('routes to OidbSvcTrpcTcp.0xed3_1', async () => { + const sender = makeSender(); + await SendPoke.invoke(sender, { isGroup: true, peerUin: 1 }); + expect(sender.sendRawPacket.mock.calls[0]![0]).toBe('OidbSvcTrpcTcp.0xed3_1'); + }); + + it('encodes serialize() output into envelope body', async () => { + const sender = makeSender(); + await SendPoke.invoke(sender, { isGroup: true, peerUin: 12345, targetUin: 67890 }); + const [, bytes] = sender.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + expect(env.command).toBe(0xed3); + expect(env.subCommand).toBe(1); + expect(env.body).toMatchObject({ uin: 67890, groupUin: 12345 }); + // proto3 default 0 for friendUin/ext is omitted on the wire. + expect(env.body?.friendUin ?? 0).toBe(0); + }); + + it('resolves to undefined', async () => { + const sender = makeSender(); + const result = await SendPoke.invoke(sender, { isGroup: false, peerUin: 1 }); + expect(result).toBeUndefined(); + }); + }); +}); diff --git a/packages/protocol/tests/oidb-services/interaction/set-essence.test.ts b/packages/protocol/tests/oidb-services/interaction/set-essence.test.ts new file mode 100644 index 00000000..638a1203 --- /dev/null +++ b/packages/protocol/tests/oidb-services/interaction/set-essence.test.ts @@ -0,0 +1,93 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { OidbEssence } from '@snowluma/proto-defs/oidb-actions/base'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { SetEssence } from '../../../src/oidb-services/interaction/set-essence'; + +function makeSender() { + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.alloc(0), + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('SetEssence namespace', () => { + it('declares 0xEAC', () => { + expect(SetEssence.command).toBe(0xeac); + }); + + describe('resolveSubCommand', () => { + it('returns 1 when enable=true', () => { + expect( + SetEssence.resolveSubCommand({ groupId: 1, sequence: 1, random: 1, enable: true }), + ).toBe(1); + }); + it('returns 2 when enable=false', () => { + expect( + SetEssence.resolveSubCommand({ groupId: 1, sequence: 1, random: 1, enable: false }), + ).toBe(2); + }); + }); + + describe('serialize', () => { + it('passes groupId / sequence / random through verbatim', () => { + expect( + SetEssence.serialize({} as any, { + groupId: 12345, + sequence: 99, + random: 0xcafebabe, + enable: true, + }), + ).toEqual({ + groupUin: 12345, + sequence: 99, + random: 0xcafebabe, + }); + }); + }); + + describe('invoke (e2e)', () => { + it('routes to OidbSvcTrpcTcp.0xeac_1 when enabling', async () => { + const sender = makeSender(); + await SetEssence.invoke(sender, { + groupId: 12345, + sequence: 99, + random: 0, + enable: true, + }); + expect(sender.sendRawPacket.mock.calls[0]![0]).toBe('OidbSvcTrpcTcp.0xeac_1'); + }); + + it('routes to OidbSvcTrpcTcp.0xeac_2 when disabling', async () => { + const sender = makeSender(); + await SetEssence.invoke(sender, { + groupId: 12345, + sequence: 99, + random: 0, + enable: false, + }); + expect(sender.sendRawPacket.mock.calls[0]![0]).toBe('OidbSvcTrpcTcp.0xeac_2'); + }); + + it('encodes envelope body with the right shape', async () => { + const sender = makeSender(); + await SetEssence.invoke(sender, { + groupId: 12345, + sequence: 99, + random: 7, + enable: true, + }); + const [, bytes] = sender.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + expect(env.command).toBe(0xeac); + expect(env.subCommand).toBe(1); + expect(env.body).toMatchObject({ groupUin: 12345, sequence: 99, random: 7 }); + }); + }); +}); diff --git a/packages/protocol/tests/oidb-services/misc/click-inline-keyboard-button.test.ts b/packages/protocol/tests/oidb-services/misc/click-inline-keyboard-button.test.ts new file mode 100644 index 00000000..d2455e21 --- /dev/null +++ b/packages/protocol/tests/oidb-services/misc/click-inline-keyboard-button.test.ts @@ -0,0 +1,150 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { Oidb0x112eReq, Oidb0x112eResp } from '@snowluma/proto-defs/oidb-actions/base'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { ClickInlineKeyboardButton } from '../../../src/oidb-services/misc/click-inline-keyboard-button'; + +function makeSender(resp?: Buffer) { + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: resp ?? Buffer.alloc(0), + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('ClickInlineKeyboardButton namespace', () => { + it('declares 0x112E_1', () => { + expect(ClickInlineKeyboardButton.command).toBe(0x112e); + expect(ClickInlineKeyboardButton.subCommand).toBe(1); + }); + + describe('serialize', () => { + it('widens numeric ids to BigInt for uint_64 fields', () => { + const out = ClickInlineKeyboardButton.serialize({} as any, { + groupId: 12345, + botAppid: 67890, + buttonId: 'btn', + callbackData: 'data', + msgSeq: 100, + }); + expect(out.groupId).toBe(12345n); + expect(out.botAppid).toBe(67890n); + expect(out.msgSeq).toBe(100n); + }); + + it('always sends unknown7=0 / unknown9=1 magic values', () => { + const out = ClickInlineKeyboardButton.serialize({} as any, { + groupId: 1, + botAppid: 1, + buttonId: 'x', + callbackData: 'y', + msgSeq: 1, + }); + expect(out.unknown7).toBe(0); + expect(out.unknown9).toBe(1); + }); + + it('coerces buttonId / callbackData to strings (defensive)', () => { + const out = ClickInlineKeyboardButton.serialize({} as any, { + groupId: 1, + botAppid: 1, + buttonId: 123 as any, + callbackData: null as any, + msgSeq: 1, + }); + expect(out.buttonId).toBe('123'); + expect(out.callbackData).toBe(''); + }); + }); + + describe('deserialize', () => { + it('shapes the response with status/promptType/promptIcon = 0', () => { + expect( + ClickInlineKeyboardButton.deserialize( + {} as any, + { + result: 1, + errMsg: 'ok', + promptText: 'hi', + } as Oidb0x112eResp, + ), + ).toEqual({ + result: 1, + errMsg: 'ok', + status: 0, + promptText: 'hi', + promptType: 0, + promptIcon: 0, + }); + }); + + it('defaults result/errMsg/promptText when omitted', () => { + expect(ClickInlineKeyboardButton.deserialize({} as any, {} as Oidb0x112eResp)).toEqual({ + result: 0, + errMsg: '', + status: 0, + promptText: '', + promptType: 0, + promptIcon: 0, + }); + }); + }); + + describe('invoke (e2e)', () => { + it('routes to OidbSvcTrpcTcp.0x112e_1', async () => { + const sender = makeSender(); + await ClickInlineKeyboardButton.invoke(sender, { + groupId: 1, + botAppid: 1, + buttonId: 'x', + callbackData: 'y', + msgSeq: 1, + }); + expect(sender.sendRawPacket.mock.calls[0]![0]).toBe('OidbSvcTrpcTcp.0x112e_1'); + }); + + it('round-trips a real envelope', async () => { + const sender = makeSender( + Buffer.from( + protobuf_encode>({ + body: { result: 7, errMsg: 'denied', promptText: 'try again' } as any, + }), + ), + ); + const out = await ClickInlineKeyboardButton.invoke(sender, { + groupId: 1, + botAppid: 1, + buttonId: 'x', + callbackData: 'y', + msgSeq: 1, + }); + expect(out).toMatchObject({ result: 7, errMsg: 'denied', promptText: 'try again' }); + }); + + it('encodes envelope body with all fields', async () => { + const sender = makeSender(); + await ClickInlineKeyboardButton.invoke(sender, { + groupId: 12345, + botAppid: 67890, + buttonId: 'b', + callbackData: 'c', + msgSeq: 999, + }); + const [, bytes] = sender.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + expect(env.body).toMatchObject({ + botAppid: 67890n, + msgSeq: 999n, + buttonId: 'b', + callbackData: 'c', + groupId: 12345n, + unknown9: 1, + }); + }); + }); +}); diff --git a/packages/protocol/tests/oidb-services/misc/image-ocr.test.ts b/packages/protocol/tests/oidb-services/misc/image-ocr.test.ts new file mode 100644 index 00000000..15c01556 --- /dev/null +++ b/packages/protocol/tests/oidb-services/misc/image-ocr.test.ts @@ -0,0 +1,107 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { ImageOcrReq, ImageOcrResp } from '@snowluma/proto-defs/oidb-actions/ocr'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { ImageOcr } from '../../../src/oidb-services/misc/image-ocr'; + +// A server OCR response: retCode 0, one text detection with a 2-vertex box. +function ocrResponse(): Buffer { + const env: OidbBase = { + command: 0xe07, + subCommand: 0, + body: { + retCode: 0, + ocrRspBody: { + language: 'zh', + textDetections: [ + { + detectedText: '你好', + confidence: 95, + polygon: { + coordinates: [ + { x: 1, y: 2 }, + { x: 3, y: 4 }, + ], + }, + }, + ], + }, + }, + }; + return Buffer.from(protobuf_encode>(env)); +} + +function makeSender(resp = ocrResponse()) { + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: resp, + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('ImageOcr namespace', () => { + it('declares command 0xE07 sub 0 (no uin form)', () => { + expect(ImageOcr.command).toBe(0xe07); + expect(ImageOcr.subCommand).toBe(0); + expect(ImageOcr.uinForm).toBeUndefined(); // defaults to false in invokeOidb + }); + + it('serializes the image url into ocrReqBody with the fixed version/client/entrance header', () => { + const out = ImageOcr.serialize({} as any, { imageUrl: 'https://x/a.jpg' }); + expect(out).toMatchObject({ version: 1, client: 0, entrance: 1 }); + expect(out.ocrReqBody).toMatchObject({ imageUrl: 'https://x/a.jpg', isCut: false }); + }); + + it('routes to OidbSvcTrpcTcp.0xe07_0 and encodes the exact wire bytes (fixed byte-oracle locks pb tags)', async () => { + const sender = makeSender(); + await ImageOcr.invoke(sender, { imageUrl: 'https://x/a.jpg' }); + const [cmd, bytes] = sender.sendRawPacket.mock.calls[0]!; + expect(cmd).toBe('OidbSvcTrpcTcp.0xe07_0'); + // Independent byte-oracle: a fixed hex constant, NOT re-derived from the + // proto, so a tag change actually goes red (a symmetric encode→decode + // round-trip would not). Hand-decoded: 08 871c = field1 command varint + // 0xE07; 22 17 = field4 body (23B); body: 08 01 version=1, 18 01 + // entrance=1 (client=0 omitted), 52 11 = field10 ocrReqBody (17B): + // 0a 0f = field1 imageUrl + "https://x/a.jpg". + expect(Buffer.from(bytes).toString('hex')).toBe( + '08871c22170801180152110a0f68747470733a2f2f782f612e6a7067', + ); + // And the structure decodes back as expected. + const env = protobuf_decode>(bytes); + expect(env.command).toBe(0xe07); + expect(env.body.ocrReqBody?.imageUrl).toBe('https://x/a.jpg'); + }); + + it('deserializes an empty ocr body to {texts:[], language:""}', () => { + expect(ImageOcr.deserialize({} as any, { retCode: 0 })).toEqual({ + texts: [], + language: '', + }); + }); + + it('deserializes text detections + coordinates + language', async () => { + const result = await ImageOcr.invoke(makeSender(), { imageUrl: 'https://x/a.jpg' }); + expect(result.language).toBe('zh'); + expect(result.texts).toEqual([ + { + text: '你好', + confidence: 95, + coordinates: [ + { x: 1, y: 2 }, + { x: 3, y: 4 }, + ], + }, + ]); + }); + + it('throws on a non-zero retCode', () => { + expect(() => + ImageOcr.deserialize({} as any, { retCode: 5, errMsg: 'bad', wording: 'nope' }), + ).toThrow(); + }); +}); diff --git a/packages/protocol/tests/oidb-services/misc/send-group-sign.test.ts b/packages/protocol/tests/oidb-services/misc/send-group-sign.test.ts new file mode 100644 index 00000000..d4e9b99e --- /dev/null +++ b/packages/protocol/tests/oidb-services/misc/send-group-sign.test.ts @@ -0,0 +1,48 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { Oidb0xeb7Req } from '@snowluma/proto-defs/oidb-actions/base'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { SendGroupSign } from '../../../src/oidb-services/misc/send-group-sign'; + +function makeDeps() { + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.alloc(0), + }; + return { + sendRawPacket: vi.fn(async () => r), + identity: { uin: '10001' } as any, + }; +} + +describe('SendGroupSign namespace', () => { + it('declares 0xEB7_1', () => { + expect(SendGroupSign.command).toBe(0xeb7); + expect(SendGroupSign.subCommand).toBe(1); + }); + + it('overrides wire name to preserve the historic UPPERCASE EB7 byte-equality', async () => { + const deps = makeDeps(); + await SendGroupSign.invoke(deps, { groupId: 12345 }); + expect(deps.sendRawPacket.mock.calls[0]![0]).toBe('OidbSvcTrpcTcp.0xEB7_1'); + }); + + describe('serialize', () => { + it('packages uin / groupId as strings + hardcodes version "9.0.90"', async () => { + const deps = makeDeps(); + await SendGroupSign.invoke(deps, { groupId: 12345 }); + const [, bytes] = deps.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + expect(env.body?.signInInfo).toEqual({ + uin: '10001', + groupId: '12345', + version: '9.0.90', + }); + }); + }); +}); diff --git a/packages/protocol/tests/oidb-services/misc/translate-en-to-zh.test.ts b/packages/protocol/tests/oidb-services/misc/translate-en-to-zh.test.ts new file mode 100644 index 00000000..706ce188 --- /dev/null +++ b/packages/protocol/tests/oidb-services/misc/translate-en-to-zh.test.ts @@ -0,0 +1,95 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { Oidb0x990Req, Oidb0x990Resp } from '@snowluma/proto-defs/oidb-actions/base'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { TranslateEnToZh } from '../../../src/oidb-services/misc/translate-en-to-zh'; + +function makeSender(resp?: Buffer) { + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: resp ?? Buffer.alloc(0), + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('TranslateEnToZh namespace', () => { + it('declares 0x990_2', () => { + expect(TranslateEnToZh.command).toBe(0x990); + expect(TranslateEnToZh.subCommand).toBe(2); + }); + + describe('serialize', () => { + it('hardcodes en → zh and tag10/12 = 1', () => { + const out = TranslateEnToZh.serialize({} as any, { words: ['hello'] }); + expect(out).toEqual({ + translateReq: { srcLang: 'en', dstLang: 'zh', words: ['hello'] }, + tag10: 1, + tag12: 1, + }); + }); + + it('passes the words array verbatim', () => { + const out = TranslateEnToZh.serialize({} as any, { words: ['a', 'b', 'c'] }); + expect(out.translateReq?.words).toEqual(['a', 'b', 'c']); + }); + }); + + describe('deserialize', () => { + it('returns dstWords when translateResp is present', () => { + expect( + TranslateEnToZh.deserialize( + {} as any, + { + translateResp: { dstWords: ['你好', '世界'] }, + } as Oidb0x990Resp, + ), + ).toEqual(['你好', '世界']); + }); + + it('returns [] when dstWords is omitted but translateResp exists', () => { + expect( + TranslateEnToZh.deserialize({} as any, { translateResp: {} } as Oidb0x990Resp), + ).toEqual([]); + }); + + it('throws when translateResp is missing', () => { + expect(() => TranslateEnToZh.deserialize({} as any, {} as Oidb0x990Resp)).toThrow( + 'translate response empty', + ); + }); + }); + + describe('invoke (e2e)', () => { + it('routes to OidbSvcTrpcTcp.0x990_2', async () => { + const sender = makeSender( + Buffer.from( + protobuf_encode>({ + body: { translateResp: { dstWords: ['x'] } } as any, + }), + ), + ); + await TranslateEnToZh.invoke(sender, { words: ['hello'] }); + expect(sender.sendRawPacket.mock.calls[0]![0]).toBe('OidbSvcTrpcTcp.0x990_2'); + }); + + it('encodes envelope body with the request payload', async () => { + const sender = makeSender( + Buffer.from( + protobuf_encode>({ + body: { translateResp: { dstWords: ['你好'] } } as any, + }), + ), + ); + const out = await TranslateEnToZh.invoke(sender, { words: ['hello'] }); + expect(out).toEqual(['你好']); + const [, bytes] = sender.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + expect(env.body?.translateReq?.words).toEqual(['hello']); + }); + }); +}); diff --git a/packages/protocol/tests/oidb-services/profile/get-like.test.ts b/packages/protocol/tests/oidb-services/profile/get-like.test.ts new file mode 100644 index 00000000..2b73244a --- /dev/null +++ b/packages/protocol/tests/oidb-services/profile/get-like.test.ts @@ -0,0 +1,310 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { Oidb0x7edReq, Oidb0x7edResp } from '@snowluma/proto-defs/oidb-actions/base'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { GetLike } from '../../../src/oidb-services/profile/get-like'; + +function makeDeps( + opts: { + cachedSelfUid?: string | null; + resolveUserUid?: (uin: number) => Promise; + findUinByUid?: (uid: string) => number | null; + resolveUin?: (uid: string) => Promise; + responseBody?: Oidb0x7edResp; + } = {}, +) { + const responseData = + opts.responseBody !== undefined + ? Buffer.from(protobuf_encode>({ body: opts.responseBody })) + : Buffer.alloc(0); + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }; + return { + sendRawPacket: vi.fn(async () => r), + identity: { + uin: '10001', + selfUid: opts.cachedSelfUid ?? null, + findUinByUid: vi.fn(opts.findUinByUid ?? (() => null)), + resolveUin: vi.fn(opts.resolveUin ?? (async () => null)), + } as any, + resolveUserUid: vi.fn(opts.resolveUserUid ?? (async (uin: number) => `uid-of-${uin}`)), + }; +} + +describe('GetLike namespace', () => { + it('uses the self and other-user subcommands selected by the native client', () => { + const deps = makeDeps({ cachedSelfUid: 'self-uid' }); + expect(GetLike.command).toBe(0x7ed); + expect(GetLike.resolveSubCommand({}, deps)).toBe(13); + expect(GetLike.resolveSubCommand({ userId: 0 }, deps)).toBe(13); + expect(GetLike.resolveSubCommand({ userId: 10001 }, deps)).toBe(13); + expect(GetLike.resolveSubCommand({ userId: 20002 }, deps)).toBe(12); + }); + + describe('invoke (target uid resolution)', () => { + it('uses cached self uid when userId is omitted', async () => { + const deps = makeDeps({ + cachedSelfUid: 'cached-self', + responseBody: { + userLikeInfos: [ + { uid: 'cached-self', time: 0, favoriteInfo: {}, voteInfo: {} }, + ], + }, + }); + await GetLike.invoke(deps, {}); + expect(deps.resolveUserUid).not.toHaveBeenCalled(); + const [serviceCmd, bytes] = deps.sendRawPacket.mock.calls[0]!; + expect(serviceCmd).toBe('OidbSvcTrpcTcp.0x7ed_13'); + const env = protobuf_decode>(bytes); + expect(env.body?.targetUids).toEqual(['cached-self']); + }); + + it('falls back to resolveUserUid for self when cache is empty', async () => { + const deps = makeDeps({ + cachedSelfUid: null, + resolveUserUid: vi.fn(async () => 'fresh-self') as any, + responseBody: { + userLikeInfos: [{ uid: 'fresh-self', time: 0, favoriteInfo: {}, voteInfo: {} }], + }, + }); + await GetLike.invoke(deps, {}); + expect(deps.resolveUserUid).toHaveBeenCalledWith(10001); + }); + + it('resolves other users via resolveUserUid', async () => { + const deps = makeDeps({ + responseBody: { + userLikeInfos: [ + { uid: 'uid-of-99999', time: 0, favoriteInfo: {}, voteInfo: {} }, + ], + }, + }); + await GetLike.invoke(deps, { userId: 99999 }); + expect(deps.resolveUserUid).toHaveBeenCalledWith(99999); + expect(deps.sendRawPacket.mock.calls[0]![0]).toBe('OidbSvcTrpcTcp.0x7ed_12'); + }); + + it('treats an explicit self uin as a self query', async () => { + const deps = makeDeps({ + cachedSelfUid: 'cached-self', + responseBody: { userLikeInfos: [{ uid: 'cached-self', time: 0 }] }, + }); + await GetLike.invoke(deps, { userId: 10001 }); + expect(deps.resolveUserUid).not.toHaveBeenCalled(); + expect(deps.sendRawPacket.mock.calls[0]![0]).toBe('OidbSvcTrpcTcp.0x7ed_13'); + }); + + it('throws when self uin is invalid and cache is empty', async () => { + const deps = makeDeps({ cachedSelfUid: null }); + deps.identity.uin = 'invalid'; + await expect(GetLike.invoke(deps, {})).rejects.toThrow('self uid is unavailable'); + }); + }); + + describe('serialize', () => { + it('requests the profile-backed vote list', async () => { + const deps = makeDeps({ + responseBody: { + userLikeInfos: [{ uid: 'u', time: 0, favoriteInfo: {}, voteInfo: {} }], + }, + }); + await GetLike.invoke(deps, { userId: 1 }); + const [, bytes] = deps.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + expect(env.body?.basic).toBe(1); + expect(env.body?.vote).toBe(1); + expect(env.body?.favorite ?? 0).toBe(0); + expect(env.body?.userProfile).toBe(1); + }); + + it('threads start / limit through to the request', async () => { + const deps = makeDeps({ + responseBody: { + userLikeInfos: [{ uid: 'u', time: 0, favoriteInfo: {}, voteInfo: {} }], + }, + }); + await GetLike.invoke(deps, { userId: 1, start: 5, limit: 50 }); + const [, bytes] = deps.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + expect(env.body?.start).toBe(5); + expect(env.body?.limit).toBe(50); + }); + + it('defaults start=0 / limit=10', async () => { + const deps = makeDeps({ + responseBody: { + userLikeInfos: [{ uid: 'u', time: 0, favoriteInfo: {}, voteInfo: {} }], + }, + }); + await GetLike.invoke(deps, { userId: 1 }); + const [, bytes] = deps.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + expect(env.body?.start ?? 0).toBe(0); + expect(env.body?.limit).toBe(10); + }); + }); + + describe('deserialize', () => { + it('shapes favorite + vote info with the expected key names', () => { + const deps = makeDeps({ + findUinByUid: (uid) => (uid === 'vote-user' ? 12345 : null), + }); + const out = GetLike.deserialize(deps, { + userLikeInfos: [ + { + uid: 'u', + time: 1700000000, + favoriteInfo: { + totalCount: 5, + lastTime: 1, + todayCount: 1, + userInfos: [{ uid: 'favorite-user', nick: '收藏者', count: 3 }], + }, + voteInfo: { + totalCount: 7, + newCount: 2, + newNearbyCount: 1, + lastVisitTime: 2, + userInfos: [ + { + uid: 'vote-user', + src: 4, + latestTime: 3, + count: 2, + giftCount: 1, + customId: 5, + lastCharged: 6, + availableCount: 7, + todayVotedCount: 8, + nick: '点赞者', + gender: 1, + age: 20, + isFriend: true, + isVip: true, + isSvip: false, + }, + ], + }, + }, + ], + }); + expect(out.uid).toBe('u'); + expect(out.time).toBe(1700000000); + expect(out.favoriteInfo).toEqual({ + total_count: 5, + last_time: 1, + today_count: 1, + userInfos: [ + expect.objectContaining({ uid: 'favorite-user', nick: '收藏者', count: 3 }), + ], + }); + expect(out.voteInfo).toEqual({ + total_count: 7, + new_count: 2, + new_nearby_count: 1, + last_visit_time: 2, + userInfos: [ + expect.objectContaining({ + uid: 'vote-user', + uin: 12345, + src: 4, + latestTime: 3, + count: 2, + giftCount: 1, + customId: 5, + lastCharged: 6, + bAvailableCnt: 7, + bTodayVotedCnt: 8, + nick: '点赞者', + gender: 1, + age: 20, + isFriend: true, + isvip: true, + isSvip: false, + }), + ], + }); + }); + + it('throws when there are no userLikeInfos', () => { + expect(() => GetLike.deserialize({} as any, {})).toThrow('get profile like info empty'); + expect(() => GetLike.deserialize({} as any, { userLikeInfos: [] })).toThrow( + 'get profile like info empty', + ); + }); + + it('throws when a returned user item has no uid', () => { + expect(() => + GetLike.deserialize(makeDeps(), { + userLikeInfos: [{ uid: 'u', voteInfo: { userInfos: [{ nick: 'broken' }] } }], + }), + ).toThrow('get profile like user uid missing'); + }); + + it('defaults all count fields to 0 when omitted', () => { + const out = GetLike.deserialize(makeDeps(), { userLikeInfos: [{ uid: 'u', time: 0 }] }); + expect(out.favoriteInfo.total_count).toBe(0); + expect(out.voteInfo.total_count).toBe(0); + }); + }); + + describe('invoke (inbound UIN fill)', () => { + it('fills leftover uin=0 rows through Identity.resolveUin once per uid', async () => { + const deps = makeDeps({ + cachedSelfUid: 'self-uid', + findUinByUid: () => null, + resolveUin: async (uid) => (uid === 'shared-uid' ? 30003 : null), + responseBody: { + userLikeInfos: [ + { + uid: 'self-uid', + favoriteInfo: { userInfos: [{ uid: 'shared-uid', nick: '收藏' }] }, + voteInfo: { + userInfos: [ + { uid: 'shared-uid', nick: '点赞' }, + { uid: 'miss-uid' }, + ], + }, + }, + ], + }, + }); + + const out = await GetLike.invoke(deps, {}); + + expect(deps.identity.resolveUin).toHaveBeenCalledTimes(2); + expect(deps.identity.resolveUin).toHaveBeenCalledWith('shared-uid'); + expect(deps.identity.resolveUin).toHaveBeenCalledWith('miss-uid'); + expect(out.favoriteInfo.userInfos[0]?.uin).toBe(30003); + expect(out.voteInfo.userInfos[0]?.uin).toBe(30003); + expect(out.voteInfo.userInfos[1]?.uin).toBe(0); + }); + + it('does not call resolveUin when deserialize already filled the cache hit', async () => { + const deps = makeDeps({ + cachedSelfUid: 'self-uid', + findUinByUid: (uid) => (uid === 'cached-uid' ? 20002 : null), + responseBody: { + userLikeInfos: [ + { + uid: 'self-uid', + voteInfo: { userInfos: [{ uid: 'cached-uid', nick: '点赞者' }] }, + }, + ], + }, + }); + + const out = await GetLike.invoke(deps, {}); + + expect(deps.identity.resolveUin).not.toHaveBeenCalled(); + expect(out.voteInfo.userInfos[0]?.uin).toBe(20002); + }); + }); +}); diff --git a/packages/protocol/tests/oidb-services/profile/get-unidirectional-friend-list.test.ts b/packages/protocol/tests/oidb-services/profile/get-unidirectional-friend-list.test.ts new file mode 100644 index 00000000..51c2c1a7 --- /dev/null +++ b/packages/protocol/tests/oidb-services/profile/get-unidirectional-friend-list.test.ts @@ -0,0 +1,101 @@ +import { describe, expect, it, vi } from 'vitest'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; +import type { IdentityService } from '../../../src/identity-service'; +import { GetUnidirectionalFriendList } from '../../../src/oidb-services/profile/get-unidirectional-friend-list'; +import { s, v } from '../_pb-oracle'; + +function makeDeps(json: unknown = { ActionStatus: 'OK', ErrorCode: 0, rpt_block_list: [] }) { + const result: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.from([ + ...v(1, 0xe17), + ...v(2, 0), + ...v(3, 0), + ...s(4, JSON.stringify(json)), + ]), + }; + return { + sendRawPacket: vi.fn(async (_cmd: string, _body: Uint8Array) => result), + identity: { uin: '10001' } as IdentityService, + }; +} + +describe('GetUnidirectionalFriendList', () => { + it('uses the direct JSON request and response captured for this service', async () => { + const list = [{ uint64_uin: '20002', extra: { keep: true } }]; + const deps = makeDeps({ ActionStatus: 'OK', ErrorCode: 0, rpt_block_list: list }); + await expect(GetUnidirectionalFriendList.invoke(deps)).resolves.toEqual(list); + const [command, bytes] = deps.sendRawPacket.mock.calls[0]!; + expect(command).toBe('MQUpdateSvc_com_qq_ti.web.OidbSvc.0xe17_0'); + expect(Buffer.from(bytes)).toEqual( + Buffer.from([ + ...v(2, 0), + ...s( + 3, + JSON.stringify({ + uint64_uin: '10001', + uint64_top: 0, + uint32_req_num: 99, + bytes_cookies: '', + }), + ), + ]), + ); + }); + + it('returns a verified empty list', async () => { + await expect(GetUnidirectionalFriendList.invoke(makeDeps())).resolves.toEqual([]); + }); + + it('surfaces JSON business failures instead of returning an empty list', async () => { + const deps = makeDeps({ + ActionStatus: 'FAIL', + ErrorCode: 302, + ErrorInfo: 'parse json failed', + }); + await expect(GetUnidirectionalFriendList.invoke(deps)).rejects.toThrow( + '302 parse json failed', + ); + }); + + it.each([ + null, + {}, + { ActionStatus: 'OK', ErrorCode: 0 }, + { ActionStatus: 'OK', ErrorCode: 0, rpt_block_list: [null] }, + { ActionStatus: 'OK', ErrorCode: 0, rpt_block_list: {} }, + ])('rejects malformed response data (%j)', async (json) => { + await expect(GetUnidirectionalFriendList.invoke(makeDeps(json))).rejects.toThrow(); + }); + + it('surfaces outer errors, invalid JSON, empty replies and transport failures', async () => { + const deps = makeDeps(); + + for (const [responseData, message] of [ + [Buffer.from([...v(3, 5), ...s(5, 'denied')]), 'denied'], + [Buffer.from(s(4, '{')), 'JSON'], + [Buffer.from(v(1, 0xe17)), 'empty'], + [Buffer.alloc(0), 'empty'], + ] as const) { + deps.sendRawPacket.mockResolvedValue({ + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }); + await expect(GetUnidirectionalFriendList.invoke(deps)).rejects.toThrow(message); + } + + deps.sendRawPacket.mockResolvedValue({ + success: false, + gotResponse: false, + errorCode: 5, + errorMessage: 'disconnected', + }); + await expect(GetUnidirectionalFriendList.invoke(deps)).rejects.toThrow('disconnected'); + }); +}); diff --git a/packages/protocol/tests/oidb-services/profile/set-input-status.test.ts b/packages/protocol/tests/oidb-services/profile/set-input-status.test.ts new file mode 100644 index 00000000..e3146093 --- /dev/null +++ b/packages/protocol/tests/oidb-services/profile/set-input-status.test.ts @@ -0,0 +1,61 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { Oidb0xcd4Req } from '@snowluma/proto-defs/oidb-actions/base'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { SetInputStatus } from '../../../src/oidb-services/profile/set-input-status'; + +function makeDeps(uid: string | null = 'resolved-uid') { + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.alloc(0), + }; + return { + sendRawPacket: vi.fn(async () => r), + resolveUserUid: vi.fn(async () => uid as string), + }; +} + +describe('SetInputStatus namespace', () => { + it('declares 0xCD4_1', () => { + expect(SetInputStatus.command).toBe(0xcd4); + expect(SetInputStatus.subCommand).toBe(1); + }); + + describe('invoke', () => { + it('routes to OidbSvcTrpcTcp.0xcd4_1', async () => { + const deps = makeDeps(); + await SetInputStatus.invoke(deps, { userId: 10001, eventType: 1 }); + expect(deps.sendRawPacket.mock.calls[0]![0]).toBe('OidbSvcTrpcTcp.0xcd4_1'); + }); + + it('resolves the target uid before encoding', async () => { + const deps = makeDeps(); + await SetInputStatus.invoke(deps, { userId: 10001, eventType: 1 }); + expect(deps.resolveUserUid).toHaveBeenCalledWith(10001); + }); + + it('packages uid + chatType=0 + eventType into reqBody', async () => { + const deps = makeDeps('alice-uid'); + await SetInputStatus.invoke(deps, { userId: 10001, eventType: 7 }); + const [, bytes] = deps.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + expect(env.body?.reqBody?.uid).toBe('alice-uid'); + // chatType=0 is proto3 default — omitted on the wire, comes back as null/undefined. + expect(env.body?.reqBody?.chatType ?? 0).toBe(0); + expect(env.body?.reqBody?.eventType).toBe(7); + }); + + it('throws when the target uid cannot be resolved', async () => { + const deps = makeDeps(null); + await expect( + SetInputStatus.invoke(deps, { userId: 10001, eventType: 1 }), + ).rejects.toThrow('target uid not found'); + expect(deps.sendRawPacket).not.toHaveBeenCalled(); + }); + }); +}); diff --git a/packages/protocol/tests/oidb-services/profile/set-profile.test.ts b/packages/protocol/tests/oidb-services/profile/set-profile.test.ts new file mode 100644 index 00000000..4f1d93f5 --- /dev/null +++ b/packages/protocol/tests/oidb-services/profile/set-profile.test.ts @@ -0,0 +1,81 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { OidbSetProfile } from '@snowluma/proto-defs/oidb-actions/base'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { SetProfile } from '../../../src/oidb-services/profile/set-profile'; + +function makeDeps() { + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.alloc(0), + }; + return { + sendRawPacket: vi.fn(async () => r), + identity: { uin: '10001' } as any, + }; +} + +describe('SetProfile namespace', () => { + it('declares 0x112A_2', () => { + expect(SetProfile.command).toBe(0x112a); + expect(SetProfile.subCommand).toBe(2); + }); + + describe('invoke', () => { + it('packages sex into integer field 20009', async () => { + const deps = makeDeps(); + await SetProfile.invoke(deps, { sex: 1 }); + const [, bytes] = deps.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + expect(env.body?.intProfiles).toEqual([{ fieldId: 20009, value: 1n }]); + }); + + it('is a no-op when both nickname and personalNote are undefined', async () => { + const deps = makeDeps(); + await SetProfile.invoke(deps, {}); + expect(deps.sendRawPacket).not.toHaveBeenCalled(); + }); + + it('packages nickname into fieldId 20002', async () => { + const deps = makeDeps(); + await SetProfile.invoke(deps, { nickname: 'New Nick' }); + expect(deps.sendRawPacket).toHaveBeenCalledOnce(); + const [wireName, bytes] = deps.sendRawPacket.mock.calls[0]!; + expect(wireName).toBe('OidbSvcTrpcTcp.0x112a_2'); + const env = protobuf_decode>(bytes); + expect(env.body?.stringProfiles).toEqual([{ fieldId: 20002, value: 'New Nick' }]); + }); + + it('packages personalNote into fieldId 102', async () => { + const deps = makeDeps(); + await SetProfile.invoke(deps, { personalNote: 'on vacation' }); + const [, bytes] = deps.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + expect(env.body?.stringProfiles).toEqual([{ fieldId: 102, value: 'on vacation' }]); + }); + + it('packages both fields together', async () => { + const deps = makeDeps(); + await SetProfile.invoke(deps, { nickname: 'Foo', personalNote: 'Bar' }); + const [, bytes] = deps.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + expect(env.body?.stringProfiles).toEqual([ + { fieldId: 20002, value: 'Foo' }, + { fieldId: 102, value: 'Bar' }, + ]); + }); + + it('passes the bot uin in the request body', async () => { + const deps = makeDeps(); + await SetProfile.invoke(deps, { nickname: 'x' }); + const [, bytes] = deps.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + expect(env.body?.uin).toBe(10001n); + }); + }); +}); diff --git a/packages/protocol/tests/oidb-services/profile/set-self-long-nick.test.ts b/packages/protocol/tests/oidb-services/profile/set-self-long-nick.test.ts new file mode 100644 index 00000000..8cfe5462 --- /dev/null +++ b/packages/protocol/tests/oidb-services/profile/set-self-long-nick.test.ts @@ -0,0 +1,61 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { Oidb0x112aReq } from '@snowluma/proto-defs/oidb-actions/base'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { SetSelfLongNick } from '../../../src/oidb-services/profile/set-self-long-nick'; + +function makeDeps() { + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.alloc(0), + }; + return { + sendRawPacket: vi.fn(async () => r), + identity: { uin: '10001' } as any, + }; +} + +describe('SetSelfLongNick namespace', () => { + it('declares 0x112A_2', () => { + expect(SetSelfLongNick.command).toBe(0x112a); + expect(SetSelfLongNick.subCommand).toBe(2); + }); + + describe('invoke', () => { + it('routes to OidbSvcTrpcTcp.0x112a_2', async () => { + const deps = makeDeps(); + await SetSelfLongNick.invoke(deps, { longNick: 'hello world' }); + expect(deps.sendRawPacket.mock.calls[0]![0]).toBe('OidbSvcTrpcTcp.0x112a_2'); + }); + + it('wraps the long nick in profile { tag: 102, value }', async () => { + const deps = makeDeps(); + await SetSelfLongNick.invoke(deps, { longNick: 'hello world' }); + const [, bytes] = deps.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + expect(env.body?.uin).toBe(10001n); + expect(env.body?.profile).toEqual({ tag: 102, value: 'hello world' }); + }); + + it('omits the value field when clearing the signature', async () => { + const deps = makeDeps(); + await SetSelfLongNick.invoke(deps, { longNick: '' }); + const [, bytes] = deps.sendRawPacket.mock.calls[0]!; + expect(Buffer.from(bytes).toString('hex')).toBe('08aa221002220708914e12020866'); + }); + + it('coerces non-string longNick into a string (defensive)', async () => { + const deps = makeDeps(); + // simulate a misbehaving caller passing a number + await SetSelfLongNick.invoke(deps, { longNick: 12345 as any }); + const [, bytes] = deps.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + expect(env.body?.profile?.value).toBe('12345'); + }); + }); +}); diff --git a/packages/protocol/tests/oidb-services/reaction/fetch-reaction-summary.test.ts b/packages/protocol/tests/oidb-services/reaction/fetch-reaction-summary.test.ts new file mode 100644 index 00000000..d781ac75 --- /dev/null +++ b/packages/protocol/tests/oidb-services/reaction/fetch-reaction-summary.test.ts @@ -0,0 +1,150 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { Oidb0x9084Req, Oidb0x9084Resp } from '@snowluma/proto-defs/oidb-actions/base'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { FetchReactionSummary } from '../../../src/oidb-services/reaction/fetch-reaction-summary'; + +function makeSender(resp?: Buffer) { + const defaultResp: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: resp ?? Buffer.alloc(0), + }; + return { sendRawPacket: vi.fn(async () => defaultResp) }; +} + +describe('FetchReactionSummary namespace', () => { + it('declares command = 0x9084 and subCommand = 1', () => { + expect(FetchReactionSummary.command).toBe(0x9084); + expect(FetchReactionSummary.subCommand).toBe(1); + }); + + describe('serialize', () => { + it('encodes groupId/sequence as BigInt for uint_64 fields', () => { + const out = FetchReactionSummary.serialize({} as any, { + groupId: 1022489779, + sequence: 1730183, + }); + expect(out.groupId).toBe(1022489779n); + expect(out.sequence).toBe(1730183n); + }); + + it('passes empty / default values for the unused filter fields', () => { + const out = FetchReactionSummary.serialize({} as any, { groupId: 1, sequence: 1 }); + expect(out.emojiId).toBe(''); + expect(out.emojiType).toBe(0); + expect(out.count).toBe(0); + expect(out.field12).toBe(1); + }); + + it('emits a 0-length cookie buffer (no continuation)', () => { + const out = FetchReactionSummary.serialize({} as any, { groupId: 1, sequence: 1 }); + expect(out.cookie).toBeInstanceOf(Uint8Array); + expect(out.cookie!.length).toBe(0); + }); + }); + + describe('deserialize', () => { + it('keeps entries with count > 0 (used emojis)', () => { + const body: Oidb0x9084Resp = { + entries: [ + { lastReactionTime: 1779456439n, count: 3, emojiType: 1, emojiId: '76' }, + { lastReactionTime: 1779456962n, count: 1, emojiType: 1, emojiId: '124' }, + ], + }; + expect(FetchReactionSummary.deserialize({} as any, body)).toEqual([ + { emojiId: '76', emojiType: 1, count: 3, lastReactionTime: 1779456439 }, + { emojiId: '124', emojiType: 1, count: 1, lastReactionTime: 1779456962 }, + ]); + }); + + it('filters out catalog-tail entries (count omitted ≡ 0)', () => { + const body: Oidb0x9084Resp = { + entries: [ + { lastReactionTime: 1n, count: 1, emojiType: 1, emojiId: '76' }, + { emojiType: 1, emojiId: '124' }, // catalog entry + { emojiType: 1, emojiId: '66' }, // catalog entry + ], + }; + const out = FetchReactionSummary.deserialize({} as any, body); + expect(out).toHaveLength(1); + expect(out[0]!.emojiId).toBe('76'); + }); + + it('returns an empty array when the response has no entries', () => { + expect(FetchReactionSummary.deserialize({} as any, {})).toEqual([]); + }); + + it('defaults emojiId / emojiType to safe values when omitted', () => { + const body: Oidb0x9084Resp = { + entries: [{ count: 5, lastReactionTime: 1700000000n }], + }; + const [entry] = FetchReactionSummary.deserialize({} as any, body); + expect(entry).toEqual({ + emojiId: '', + emojiType: 1, + count: 5, + lastReactionTime: 1700000000, + }); + }); + + it('reports lastReactionTime=0 when omitted on a used entry (degenerate but defensive)', () => { + const body: Oidb0x9084Resp = { entries: [{ count: 2, emojiId: 'x', emojiType: 1 }] }; + expect(FetchReactionSummary.deserialize({} as any, body)[0]!.lastReactionTime).toBe(0); + }); + }); + + describe('invoke (e2e via mock sender)', () => { + it('sends to OidbSvcTrpcTcp.0x9084_1', async () => { + const sender = makeSender(); + await FetchReactionSummary.invoke(sender, { groupId: 1, sequence: 1 }); + expect(sender.sendRawPacket.mock.calls[0]![0]).toBe('OidbSvcTrpcTcp.0x9084_1'); + }); + + it('end-to-end: encode → decode pipeline yields the parsed summary entries', async () => { + const respEnvelope = Buffer.from( + protobuf_encode>({ + command: 0x9084, + subCommand: 1, + body: { + entries: [ + { + lastReactionTime: 1700000000n, + count: 5, + emojiType: 1, + emojiId: '76', + }, + { emojiType: 1, emojiId: '124' }, // catalog noise + ], + }, + }), + ); + const sender = makeSender(respEnvelope); + const result = await FetchReactionSummary.invoke(sender, { groupId: 1, sequence: 1 }); + expect(result).toEqual([ + { emojiId: '76', emojiType: 1, count: 5, lastReactionTime: 1700000000 }, + ]); + }); + + it('encodes the request envelope with groupId/sequence as uint_64', async () => { + const sender = makeSender(); + await FetchReactionSummary.invoke(sender, { groupId: 1022489779, sequence: 1730183 }); + const [, reqBytes] = sender.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(reqBytes); + expect(env.command).toBe(0x9084); + expect(env.subCommand).toBe(1); + expect(env.body?.groupId).toBe(1022489779n); + expect(env.body?.sequence).toBe(1730183n); + }); + + it('returns an empty array when server responds with empty envelope', async () => { + const sender = makeSender(); + const result = await FetchReactionSummary.invoke(sender, { groupId: 1, sequence: 1 }); + expect(result).toEqual([]); + }); + }); +}); diff --git a/packages/protocol/tests/oidb-services/reaction/get-emoji-likes.test.ts b/packages/protocol/tests/oidb-services/reaction/get-emoji-likes.test.ts new file mode 100644 index 00000000..5a7a8105 --- /dev/null +++ b/packages/protocol/tests/oidb-services/reaction/get-emoji-likes.test.ts @@ -0,0 +1,218 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { Oidb0x9083Req, Oidb0x9083Resp } from '@snowluma/proto-defs/oidb-actions/base'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { GetEmojiLikes } from '../../../src/oidb-services/reaction/get-emoji-likes'; +import { env, s, v } from '../_pb-oracle'; + +function makeSender(resp?: Buffer) { + const defaultResp: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: resp ?? Buffer.alloc(0), + }; + return { sendRawPacket: vi.fn(async () => defaultResp) }; +} + +describe('GetEmojiLikes namespace', () => { + it('declares command = 0x9083 and subCommand = 1', () => { + expect(GetEmojiLikes.command).toBe(0x9083); + expect(GetEmojiLikes.subCommand).toBe(1); + }); + + describe('serialize', () => { + it('encodes groupId/sequence as BigInt for uint_64 fields', () => { + const out = GetEmojiLikes.serialize({} as any, { + groupId: 12345, + sequence: 99, + emojiId: '76', + }); + expect(out.groupId).toBe(12345n); + expect(out.sequence).toBe(99n); + }); + + it('passes emojiId through unchanged', () => { + const out = GetEmojiLikes.serialize({} as any, { + groupId: 1, + sequence: 1, + emojiId: '128516', + }); + expect(out.emojiId).toBe('128516'); + }); + + it('defaults emojiType to 1 when omitted', () => { + const out = GetEmojiLikes.serialize({} as any, { + groupId: 1, + sequence: 1, + emojiId: 'x', + }); + expect(out.emojiType).toBe(1); + }); + + it('uses caller-supplied emojiType when present', () => { + const out = GetEmojiLikes.serialize({} as any, { + groupId: 1, + sequence: 1, + emojiId: 'x', + emojiType: 2, + }); + expect(out.emojiType).toBe(2); + }); + + it('defaults count to 10 when omitted', () => { + const out = GetEmojiLikes.serialize({} as any, { + groupId: 1, + sequence: 1, + emojiId: 'x', + }); + expect(out.count).toBe(10); + }); + + it('uses caller-supplied count when present', () => { + const out = GetEmojiLikes.serialize({} as any, { + groupId: 1, + sequence: 1, + emojiId: 'x', + count: 50, + }); + expect(out.count).toBe(50); + }); + + it('passes the continuation cookie through as a string', () => { + const out = GetEmojiLikes.serialize({} as any, { + groupId: 1, + sequence: 1, + emojiId: 'x', + cookie: 'next', + }); + expect(out.cookie).toBe('next'); + }); + + it('emits an empty cookie for the first page', () => { + const out = GetEmojiLikes.serialize({} as any, { + groupId: 1, + sequence: 1, + emojiId: 'x', + }); + expect(out.cookie).toBe(''); + }); + }); + + describe('deserialize', () => { + it('extracts users from the repeated list and returns the cookie', () => { + const result = GetEmojiLikes.deserialize({} as any, { + users: [{ uin: 10001n }, { uin: 20002n }], + cookie: 'next', + isLast: false, + }); + expect(result.users).toEqual([{ uin: 10001 }, { uin: 20002 }]); + expect(result.cookie).toBe('next'); + expect(result.isLast).toBe(false); + }); + + it('filters out users with uin=0 (placeholder / zero-value)', () => { + const result = GetEmojiLikes.deserialize({} as any, { + users: [{ uin: 10001n }, { uin: 0n }, { uin: 20002n }], + }); + expect(result.users).toEqual([{ uin: 10001 }, { uin: 20002 }]); + }); + + it('returns empty users + empty cookie + isLast=true when body has nothing', () => { + const result = GetEmojiLikes.deserialize({} as any, {}); + expect(result.users).toEqual([]); + expect(result.cookie).toBe(''); + expect(result.isLast).toBe(true); + }); + + it('returns isLast=true when cookie is absent (final page)', () => { + const result = GetEmojiLikes.deserialize({} as any, { + users: [{ uin: 10001n }], + }); + expect(result.isLast).toBe(true); + }); + + it('handles a missing users field', () => { + const result = GetEmojiLikes.deserialize({} as any, {}); + expect(result.users).toEqual([]); + }); + }); + + describe('invoke (e2e via mock sender)', () => { + it('sends to OidbSvcTrpcTcp.0x9083_1', async () => { + const sender = makeSender(); + await GetEmojiLikes.invoke(sender, { groupId: 1, sequence: 1, emojiId: '76' }); + expect(sender.sendRawPacket.mock.calls[0]![0]).toBe('OidbSvcTrpcTcp.0x9083_1'); + }); + + it('end-to-end: encode → decode yields parsed user list + cookie', async () => { + const respEnvelope = Buffer.from( + protobuf_encode>({ + command: 0x9083, + subCommand: 1, + body: { + users: [{ uin: 10001n }], + cookie: 'next', + isLast: false, + }, + }), + ); + const sender = makeSender(respEnvelope); + const result = await GetEmojiLikes.invoke(sender, { + groupId: 1, + sequence: 1, + emojiId: '76', + }); + expect(result.users).toEqual([{ uin: 10001 }]); + expect(result.cookie).toBe('next'); + expect(result.isLast).toBe(false); + }); + + it('returns the legacy-stub empty result when server returns ack-only', async () => { + const sender = makeSender(); + const result = await GetEmojiLikes.invoke(sender, { + groupId: 1, + sequence: 1, + emojiId: '76', + }); + expect(result).toEqual({ users: [], cookie: '', isLast: true }); + }); + + it('encodes the request envelope with proper field types', async () => { + const sender = makeSender(); + await GetEmojiLikes.invoke(sender, { + groupId: 12345, + sequence: 99, + emojiId: '128516', + emojiType: 2, + count: 20, + }); + const [, reqBytes] = sender.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(reqBytes); + expect(env.command).toBe(0x9083); + expect(env.subCommand).toBe(1); + expect(env.body?.groupId).toBe(12345n); + expect(env.body?.sequence).toBe(99n); + expect(env.body?.emojiId).toBe('128516'); + expect(env.body?.emojiType).toBe(2); + expect(env.body?.count).toBe(20); + }); + + it('byte-oracle: request body uses type then emoji id, not the set-reaction order', async () => { + const sender = makeSender(); + await GetEmojiLikes.invoke(sender, { + groupId: 12345, + sequence: 99, + emojiId: '76', + emojiType: 1, + count: 20, + }); + const [, reqBytes] = sender.sendRawPacket.mock.calls[0]!; + const body = [...v(2, 12345), ...v(3, 99), ...v(4, 1), ...s(5, '76'), ...v(8, 20)]; + expect(Buffer.from(reqBytes).toString('hex')).toBe(env(0x9083, 1, body, false)); + }); + }); +}); diff --git a/packages/protocol/tests/oidb-services/reaction/set-reaction.test.ts b/packages/protocol/tests/oidb-services/reaction/set-reaction.test.ts new file mode 100644 index 00000000..6974f03c --- /dev/null +++ b/packages/protocol/tests/oidb-services/reaction/set-reaction.test.ts @@ -0,0 +1,171 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { OidbGroupReaction } from '@snowluma/proto-defs/oidb-actions/base'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { SetReaction } from '../../../src/oidb-services/reaction/set-reaction'; + +function makeSender() { + const defaultResp: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.alloc(0), + }; + return { sendRawPacket: vi.fn(async () => defaultResp) }; +} + +describe('SetReaction namespace', () => { + it('declares command = 0x9082', () => { + expect(SetReaction.command).toBe(0x9082); + }); + + it('resolveSubCommand: isSet=true → 1, isSet=false → 2', () => { + expect( + SetReaction.resolveSubCommand({ groupId: 1, sequence: 1, code: 'x', isSet: true }), + ).toBe(1); + expect( + SetReaction.resolveSubCommand({ groupId: 1, sequence: 1, code: 'x', isSet: false }), + ).toBe(2); + }); + + describe('serialize', () => { + it('produces type=1 for short QQ-face codes (≤3 chars)', () => { + const out = SetReaction.serialize({} as any, { + groupId: 12345, + sequence: 99, + code: '76', + isSet: true, + }); + expect(out).toEqual({ + groupUin: 12345, + sequence: 99, + code: '76', + type: 1, + field6: false, + field7: false, + }); + }); + + it('produces type=1 for exactly 3-character codes (boundary)', () => { + const out = SetReaction.serialize({} as any, { + groupId: 1, + sequence: 1, + code: '999', + isSet: true, + }); + expect(out.type).toBe(1); + }); + + it('produces type=2 for codes longer than 3 chars (unicode codepoint)', () => { + const out = SetReaction.serialize({} as any, { + groupId: 1, + sequence: 1, + code: '128516', + isSet: false, + }); + expect(out.type).toBe(2); + }); + + it('passes through groupId/sequence/code verbatim', () => { + const out = SetReaction.serialize({} as any, { + groupId: 999, + sequence: 42, + code: 'abc', + isSet: true, + }); + expect(out.groupUin).toBe(999); + expect(out.sequence).toBe(42); + expect(out.code).toBe('abc'); + }); + + it('always sets field6/field7 to false (deferred behaviour)', () => { + const out = SetReaction.serialize({} as any, { + groupId: 1, + sequence: 1, + code: 'x', + isSet: true, + }); + expect(out.field6).toBe(false); + expect(out.field7).toBe(false); + }); + }); + + describe('deserialize', () => { + it('always returns void regardless of body content', () => { + expect(SetReaction.deserialize({} as any, {})).toBeUndefined(); + }); + }); + + describe('encode / decode round trip', () => { + it('encode preserves groupUin/sequence/code/type in the envelope body', () => { + const env: OidbBase = { + command: 0x9082, + subCommand: 1, + body: { groupUin: 12345, sequence: 99, code: '76', type: 1 } as OidbGroupReaction, + }; + const bytes = SetReaction.encode(env); + const decoded = SetReaction.decode(bytes); + expect(decoded.command).toBe(0x9082); + expect(decoded.subCommand).toBe(1); + }); + }); + + describe('invoke (e2e via mock sender)', () => { + it('routes to OidbSvcTrpcTcp.0x9082_1 when isSet=true', async () => { + const sender = makeSender(); + await SetReaction.invoke(sender, { + groupId: 12345, + sequence: 99, + code: '76', + isSet: true, + }); + expect(sender.sendRawPacket).toHaveBeenCalledOnce(); + expect(sender.sendRawPacket.mock.calls[0]![0]).toBe('OidbSvcTrpcTcp.0x9082_1'); + }); + + it('routes to OidbSvcTrpcTcp.0x9082_2 when isSet=false', async () => { + const sender = makeSender(); + await SetReaction.invoke(sender, { + groupId: 12345, + sequence: 99, + code: '76', + isSet: false, + }); + expect(sender.sendRawPacket.mock.calls[0]![0]).toBe('OidbSvcTrpcTcp.0x9082_2'); + }); + + it('packages the serialized body into the OIDB envelope wire', async () => { + const sender = makeSender(); + await SetReaction.invoke(sender, { + groupId: 12345, + sequence: 99, + code: '128516', + isSet: true, + }); + const [, bytes] = sender.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + expect(env.command).toBe(0x9082); + expect(env.subCommand).toBe(1); + expect(env.body).toMatchObject({ + groupUin: 12345, + sequence: 99, + code: '128516', + type: 2, + }); + }); + + it('resolves to undefined (void)', async () => { + const sender = makeSender(); + const result = await SetReaction.invoke(sender, { + groupId: 1, + sequence: 1, + code: 'x', + isSet: true, + }); + expect(result).toBeUndefined(); + }); + }); +}); diff --git a/packages/protocol/tests/oidb-services/set-search.test.ts b/packages/protocol/tests/oidb-services/set-search.test.ts new file mode 100644 index 00000000..3d4071ff --- /dev/null +++ b/packages/protocol/tests/oidb-services/set-search.test.ts @@ -0,0 +1,61 @@ +import { describe, expect, it, vi } from 'vitest'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; +import { SetSearch } from '../../src/oidb-services/group-admin/set-search'; + +// Capture the exact OIDB request bytes SetSearch sends, via a fake sender. +async function sentHex(params: SetSearch.Params): Promise { + let body: Uint8Array | undefined; + const deps = { + sendRawPacket: vi.fn(async (_cmd: string, b: Uint8Array): Promise => { + body = b; + return { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.alloc(0), + }; + }), + }; + await SetSearch.invoke(deps as never, params); + return Buffer.from(body!).toString('hex'); +} + +// settings (field2) sub-message: noFingerOpen = tag 35 (35<<3 = 280 → varint +// "98 02"), noCodeFingerOpen = tag 36 (36<<3 = 288 → "a0 02"). Tags RE'd +// empirically on a live group (#191, see Oidb0x89a_0SearchSettings). +describe('SetSearch (0x89a_0) settings encoding (#191)', () => { + it('emits BOTH flags even at value 0 — toggle-off must not be dropped', async () => { + const h = await sentHex({ groupId: 941657197, noFingerOpen: 0, noCodeFingerOpen: 0 }); + // field2 = { 35: 0, 36: 0 } → 12 06 980200 a00200 + expect(h).toContain('1206980200a00200'); + }); + + it('emits value 1 correctly', async () => { + const h = await sentHex({ groupId: 941657197, noFingerOpen: 1, noCodeFingerOpen: 1 }); + expect(h).toContain('1206980201a00201'); + }); + + it('elides an unprovided flag (undefined → not sent)', async () => { + const h = await sentHex({ groupId: 941657197, noCodeFingerOpen: 0 }); + expect(h).toContain('a00200'); // tag 36 (noCodeFingerOpen) present, value 0 + expect(h).not.toContain('980200'); // tag 35 (noFingerOpen) absent + }); + + it('carries the group uin + command 0x89a_0', async () => { + const deps = { + sendRawPacket: vi.fn(async (): Promise => ({ + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: Buffer.alloc(0), + })), + }; + await SetSearch.invoke(deps as never, { groupId: 941657197, noFingerOpen: 1 }); + expect(deps.sendRawPacket).toHaveBeenCalledWith( + 'OidbSvcTrpcTcp.0x89a_0', + expect.anything(), + ); + }); +}); diff --git a/packages/protocol/tests/oidb-services/web/force-fetch-client-key.test.ts b/packages/protocol/tests/oidb-services/web/force-fetch-client-key.test.ts new file mode 100644 index 00000000..c4785184 --- /dev/null +++ b/packages/protocol/tests/oidb-services/web/force-fetch-client-key.test.ts @@ -0,0 +1,56 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_encode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { OidbClientKeyResp } from '@snowluma/proto-defs/oidb-actions/base'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { ForceFetchClientKey } from '../../../src/oidb-services/web/force-fetch-client-key'; + +function makeSender(body?: OidbClientKeyResp) { + const responseData = + body !== undefined + ? Buffer.from(protobuf_encode>({ body })) + : Buffer.alloc(0); + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('ForceFetchClientKey namespace', () => { + it('declares 0x102A_1', () => { + expect(ForceFetchClientKey.command).toBe(0x102a); + expect(ForceFetchClientKey.subCommand).toBe(1); + }); + + describe('invoke (e2e)', () => { + it('routes to OidbSvcTrpcTcp.0x102a_1', async () => { + const sender = makeSender({ clientKey: 'ck', keyIndex: 19, expireTime: 1800 }); + await ForceFetchClientKey.invoke(sender); + expect(sender.sendRawPacket.mock.calls[0]![0]).toBe('OidbSvcTrpcTcp.0x102a_1'); + }); + + it('returns the parsed clientKey / keyIndex / expireTime', async () => { + const sender = makeSender({ clientKey: 'KEY', keyIndex: 7, expireTime: 600 }); + const out = await ForceFetchClientKey.invoke(sender); + expect(out).toEqual({ clientKey: 'KEY', keyIndex: '7', expireTime: '600' }); + }); + + it('falls back to keyIndex="19" and expireTime="1800" when server omits them', async () => { + const sender = makeSender({ clientKey: 'KEY' }); + const out = await ForceFetchClientKey.invoke(sender); + expect(out.keyIndex).toBe('19'); + expect(out.expireTime).toBe('1800'); + }); + + it('returns empty clientKey when server omits it', async () => { + const sender = makeSender({}); + const out = await ForceFetchClientKey.invoke(sender); + expect(out.clientKey).toBe(''); + }); + }); +}); diff --git a/packages/protocol/tests/oidb-services/web/get-pskey.test.ts b/packages/protocol/tests/oidb-services/web/get-pskey.test.ts new file mode 100644 index 00000000..4a89f869 --- /dev/null +++ b/packages/protocol/tests/oidb-services/web/get-pskey.test.ts @@ -0,0 +1,84 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { OidbGetPskeyReq, OidbGetPskeyResp } from '@snowluma/proto-defs/oidb-actions/base'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; + +import { GetPskey } from '../../../src/oidb-services/web/get-pskey'; + +function makeSender(body?: OidbGetPskeyResp) { + const responseData = + body !== undefined + ? Buffer.from(protobuf_encode>({ body })) + : Buffer.alloc(0); + const r: SendPacketResult = { + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData, + }; + return { sendRawPacket: vi.fn(async () => r) }; +} + +describe('GetPskey namespace', () => { + it('declares 0x102A_0', () => { + expect(GetPskey.command).toBe(0x102a); + expect(GetPskey.subCommand).toBe(0); + }); + + describe('serialize', () => { + it('passes the domainList through verbatim', () => { + const out = GetPskey.serialize({} as any, { + domainList: ['qun.qq.com', 'qzone.qq.com'], + }); + expect(out.domainList).toEqual(['qun.qq.com', 'qzone.qq.com']); + }); + }); + + describe('deserialize', () => { + it('builds a Map from server pskeyItems', () => { + const { domainPskeyMap } = GetPskey.deserialize({} as any, { + pskeyItems: [ + { domain: 'qun.qq.com', pskey: 'pskey-qun' }, + { domain: 'qzone.qq.com', pskey: 'pskey-qzone' }, + ], + }); + expect(domainPskeyMap.get('qun.qq.com')).toBe('pskey-qun'); + expect(domainPskeyMap.get('qzone.qq.com')).toBe('pskey-qzone'); + }); + + it('drops entries with missing domain or pskey', () => { + const { domainPskeyMap } = GetPskey.deserialize({} as any, { + pskeyItems: [ + { domain: 'qun.qq.com', pskey: 'ok' }, + { domain: 'missing-pskey.com' }, + { pskey: 'missing-domain' }, + ] as any, + }); + expect(domainPskeyMap.size).toBe(1); + expect(domainPskeyMap.get('qun.qq.com')).toBe('ok'); + }); + + it('returns empty Map when pskeyItems is absent', () => { + const { domainPskeyMap } = GetPskey.deserialize({} as any, {}); + expect(domainPskeyMap.size).toBe(0); + }); + }); + + describe('invoke (e2e)', () => { + it('routes to OidbSvcTrpcTcp.0x102a_0', async () => { + const sender = makeSender({ pskeyItems: [] }); + await GetPskey.invoke(sender, { domainList: ['qq.com'] }); + expect(sender.sendRawPacket.mock.calls[0]![0]).toBe('OidbSvcTrpcTcp.0x102a_0'); + }); + + it('encodes the domain list into the request body', async () => { + const sender = makeSender({ pskeyItems: [] }); + await GetPskey.invoke(sender, { domainList: ['qun.qq.com'] }); + const [, bytes] = sender.sendRawPacket.mock.calls[0]!; + const env = protobuf_decode>(bytes); + expect(env.body?.domainList).toEqual(['qun.qq.com']); + }); + }); +}); diff --git a/packages/protocol/tests/packet-pipeline-roster-refresh.test.ts b/packages/protocol/tests/packet-pipeline-roster-refresh.test.ts new file mode 100644 index 00000000..de015319 --- /dev/null +++ b/packages/protocol/tests/packet-pipeline-roster-refresh.test.ts @@ -0,0 +1,318 @@ +import { getLogLevel, setLogLevel, subscribeLogs, type LogEntry } from '@snowluma/common/logger'; +import type { PacketInfo } from '@snowluma/common/protocol-types'; +import { BridgeEventBus } from '@snowluma/protocol/event-bus'; +import type { QQEventVariant } from '@snowluma/protocol/events'; +import { IdentityService } from '@snowluma/protocol/identity-service'; +import { GroupInviteTracker } from '@snowluma/protocol/group-invite-tracker'; +import { IncomingPacketPipeline } from '@snowluma/protocol/packet-pipeline'; +import type { GroupMemberInfo, QQGroupInfo, UserProfileInfo } from '@snowluma/protocol/qq-info'; +import { afterEach, describe, expect, it, vi } from 'vitest'; + +const SELF_UIN = 10001; +const GROUP_ID = 123456789; +const previousLogLevel = getLogLevel(); + +afterEach(() => { + setLogLevel(previousLogLevel); +}); + +function makeProfile(uin: number, uid = ''): UserProfileInfo { + return { + uin, + uid, + nickname: '', + remark: '', + qid: '', + sex: 'unknown', + age: 0, + sign: '', + avatar: '', + level: 0, + qidianMasterFlag: 0, + qidianCrewFlag: 0, + qidianCrewFlag2: 0, + }; +} + +function makeMember(uin: number, uid: string): GroupMemberInfo { + return { + uin, + uid, + nickname: '', + card: '', + isRobot: false, + role: 'member', + level: 0, + title: '', + joinTime: 0, + lastSentTime: 0, + shutUpTime: 0, + }; +} + +function makeGroup(): QQGroupInfo { + return { + groupId: GROUP_ID, + groupName: 'g', + remark: '', + memberCount: 1, + memberMax: 500, + members: new Map([[22222, makeMember(22222, 'u_member')]]), + }; +} + +function pkt(): PacketInfo { + return { + pid: 1, + uin: String(SELF_UIN), + serviceCmd: 'test.roster', + seqId: 1, + retCode: 0, + fromClient: false, + body: new Uint8Array(), + }; +} + +function join( + over: Partial> = {}, +): QQEventVariant { + return { + kind: 'group_member_join', + time: 1, + selfUin: SELF_UIN, + groupId: GROUP_ID, + userUin: 22222, + operatorUin: 0, + userUid: 'u_member', + operatorUid: 'u_op', + ...over, + }; +} + +function leave(): QQEventVariant { + return { + kind: 'group_member_leave', + time: 1, + selfUin: SELF_UIN, + groupId: GROUP_ID, + userUin: 22222, + operatorUin: 0, + userUid: 'u_member', + operatorUid: 'u_op', + leaveType: 'leave', + }; +} + +function admin(): QQEventVariant { + return { + kind: 'group_admin', + time: 1, + selfUin: SELF_UIN, + groupId: GROUP_ID, + userUin: 22222, + set: true, + }; +} + +function makePipeline( + opts: { + plantGroup?: boolean; + plantGroupOnListFetch?: boolean; + fetchGroupList?: () => Promise; + fetchGroupMemberList?: (groupId: number) => Promise; + fetchProfileByUid?: () => Promise; + } = {}, +) { + const identity = IdentityService.memory(String(SELF_UIN)); + + if (opts.plantGroup) { + identity.rememberGroups([makeGroup()]); + } + + if (opts.fetchProfileByUid) { + identity.setFetcher({ + fetchProfile: async () => makeProfile(0), + fetchProfileByUid: opts.fetchProfileByUid, + }); + } + + const fetchGroupList = + opts.fetchGroupList ?? + vi.fn(async () => { + if (opts.plantGroupOnListFetch) { + identity.rememberGroups([makeGroup()]); + } + }); + const fetchGroupMemberList = opts.fetchGroupMemberList ?? vi.fn(async () => {}); + const events = new BridgeEventBus(); + const captured: QQEventVariant[] = []; + events.onAny((event) => { + captured.push(event as QQEventVariant); + }); + const pipeline = new IncomingPacketPipeline({ + identity, + events, + fetchGroupList, + fetchGroupMemberList, + resolveGroupJoinRequest: vi.fn(async () => null), + groupInvites: new GroupInviteTracker(), + }); + return { identity, pipeline, captured, fetchGroupList, fetchGroupMemberList }; +} + +async function afterSideEffect(): Promise { + await Promise.resolve(); + await Promise.resolve(); + await Promise.resolve(); +} + +describe('IncomingPacketPipeline roster refresh', () => { + it('unknown-group join fetches the group list and skips members when still unknown', async () => { + const { pipeline, fetchGroupList, fetchGroupMemberList } = makePipeline(); + pipeline.registerCmd('test.roster', () => [join()]); + await pipeline.process(pkt()); + await afterSideEffect(); + expect(fetchGroupList).toHaveBeenCalledOnce(); + expect(fetchGroupMemberList).not.toHaveBeenCalled(); + }); + + it('swallows fetchGroupList failure and still skips members when the group is unknown', async () => { + const fetchGroupList = vi.fn(async () => { + throw new Error('list down'); + }); + const { pipeline, captured, fetchGroupMemberList } = makePipeline({ fetchGroupList }); + pipeline.registerCmd('test.roster', () => [join()]); + await pipeline.process(pkt()); + await afterSideEffect(); + expect(fetchGroupList).toHaveBeenCalledOnce(); + expect(fetchGroupMemberList).not.toHaveBeenCalled(); + expect(captured).toHaveLength(1); + }); + + it('fetches members after an unknown-group join if the list fetch plants the group', async () => { + const { pipeline, fetchGroupList, fetchGroupMemberList } = makePipeline({ + plantGroupOnListFetch: true, + }); + pipeline.registerCmd('test.roster', () => [join()]); + await pipeline.process(pkt()); + await afterSideEffect(); + expect(fetchGroupList).toHaveBeenCalledOnce(); + expect(fetchGroupMemberList).toHaveBeenCalledWith(GROUP_ID); + }); + + it('known-group join records the joiner immediately and does not invent the operator', async () => { + const { pipeline, identity, fetchGroupList, fetchGroupMemberList } = makePipeline({ + plantGroup: true, + }); + pipeline.registerCmd('test.roster', () => [ + join({ userUin: 33333, userUid: 'u_new', operatorUin: 44444, operatorUid: 'u_op' }), + ]); + await pipeline.process(pkt()); + + expect(identity.findGroupMember(GROUP_ID, 33333)?.uid).toBe('u_new'); + expect(identity.findGroupMember(GROUP_ID, 33333)?.isRobot).toBeUndefined(); + expect(identity.findGroupMember(GROUP_ID, 44444)).toBeNull(); + expect(identity.findUinByUid('u_op')).toBe(44444); + expect(fetchGroupList).not.toHaveBeenCalled(); + expect(fetchGroupMemberList).toHaveBeenCalledWith(GROUP_ID); + }); + + it('known-group leave drops the member immediately and keeps their identity mapping', async () => { + const { pipeline, identity } = makePipeline({ plantGroup: true }); + identity.rememberGroupMembers(GROUP_ID, [makeMember(22222, 'u_member')]); + pipeline.registerCmd('test.roster', () => [leave()]); + await pipeline.process(pkt()); + + expect(identity.findGroupMember(GROUP_ID, 22222)).toBeNull(); + expect(identity.findUidByUin(22222, GROUP_ID)).toBe('u_member'); + }); + + it('known-group join / leave / admin fetch only the member list', async () => { + for (const event of [join(), leave(), admin()]) { + const { pipeline, fetchGroupList, fetchGroupMemberList } = makePipeline({ + plantGroup: true, + }); + pipeline.registerCmd('test.roster', () => [event]); + await pipeline.process(pkt()); + await afterSideEffect(); + expect(fetchGroupList).not.toHaveBeenCalled(); + expect(fetchGroupMemberList).toHaveBeenCalledWith(GROUP_ID); + } + }); + + it('self-join of a known group fetches both the group list and the member list', async () => { + const { pipeline, fetchGroupList, fetchGroupMemberList } = makePipeline({ + plantGroup: true, + }); + pipeline.registerCmd('test.roster', () => [join({ userUin: SELF_UIN, userUid: 'u_self' })]); + await pipeline.process(pkt()); + await afterSideEffect(); + expect(fetchGroupList).toHaveBeenCalledOnce(); + expect(fetchGroupMemberList).toHaveBeenCalledWith(GROUP_ID); + }); + + it('unknown-group leave / admin do not fetch the group list or members', async () => { + for (const event of [leave(), admin()]) { + const { pipeline, fetchGroupList, fetchGroupMemberList } = makePipeline(); + pipeline.registerCmd('test.roster', () => [event]); + await pipeline.process(pkt()); + await afterSideEffect(); + expect(fetchGroupList).not.toHaveBeenCalled(); + expect(fetchGroupMemberList).not.toHaveBeenCalled(); + } + }); + + it('warns when the member list fails and still emits the event', async () => { + const entries: LogEntry[] = []; + setLogLevel('warn'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + + try { + const { pipeline, captured } = makePipeline({ + plantGroup: true, + fetchGroupMemberList: vi.fn(async () => { + throw new Error('net down'); + }), + }); + pipeline.registerCmd('test.roster', () => [leave()]); + await pipeline.process(pkt()); + expect(captured).toHaveLength(1); + await afterSideEffect(); + expect( + entries.some( + (entry) => + entry.level === 'warn' && + String(entry.message).includes('failed to refresh member cache'), + ), + ).toBe(true); + } finally { + unsubscribe(); + } + }); + + it('resolves an unresolved join UIN through Identity, not the roster ports', async () => { + const fetchProfileByUid = vi.fn(async () => makeProfile(22222, 'u_new')); + const { pipeline, captured, fetchGroupList, fetchGroupMemberList } = makePipeline({ + plantGroup: true, + fetchProfileByUid, + }); + pipeline.registerCmd('test.roster', () => [join({ userUin: 0, userUid: 'u_new' })]); + await pipeline.process(pkt()); + expect(captured).toHaveLength(1); + expect( + (captured[0] as Extract).userUin, + ).toBe(22222); + expect(fetchProfileByUid).toHaveBeenCalledWith('u_new'); + await afterSideEffect(); + expect(fetchGroupList).not.toHaveBeenCalled(); + expect(fetchGroupMemberList).toHaveBeenCalledWith(GROUP_ID); + }); + + it('coalesces concurrent refreshes for the same group', async () => { + const { pipeline, fetchGroupMemberList } = makePipeline({ plantGroup: true }); + pipeline.registerCmd('test.roster', () => [leave(), admin()]); + await pipeline.process(pkt()); + await afterSideEffect(); + expect(fetchGroupMemberList).toHaveBeenCalledOnce(); + }); +}); diff --git a/packages/protocol/tests/packet-pipeline-stranger-resolve.test.ts b/packages/protocol/tests/packet-pipeline-stranger-resolve.test.ts new file mode 100644 index 00000000..7949846d --- /dev/null +++ b/packages/protocol/tests/packet-pipeline-stranger-resolve.test.ts @@ -0,0 +1,572 @@ +import { describe, expect, it, vi } from 'vitest'; +import { GroupInviteTracker } from '@snowluma/protocol/group-invite-tracker'; +import { IncomingPacketPipeline } from '@snowluma/protocol/packet-pipeline'; +import { BridgeEventBus } from '@snowluma/protocol/event-bus'; +import { IdentityService } from '@snowluma/protocol/identity-service'; +import type { GroupInviteEvent, GroupMemberJoin, QQEventVariant } from '@snowluma/protocol/events'; +import { subscribeLogs } from '@snowluma/common/logger'; +import type { + GroupMemberInfo, + GroupRequestInfo, + QQGroupInfo, + UserProfileInfo, +} from '@snowluma/protocol/qq-info'; +import type { PacketInfo } from '@snowluma/common/protocol-types'; + +function makeProfile(uin: number, uid = '', nickname = ''): UserProfileInfo { + return { + uin, + uid, + nickname, + remark: '', + qid: '', + sex: 'unknown', + age: 0, + sign: '', + avatar: '', + level: 0, + qidianMasterFlag: 0, + qidianCrewFlag: 0, + qidianCrewFlag2: 0, + }; +} + +function makePipeline( + opts: { + fetchProfileByUid?: vi.Mock; + resolveGroupJoinRequest?: vi.Mock; + } = {}, +) { + const identity = IdentityService.memory('10001'); + const events = new BridgeEventBus(); + const fetchProfileByUid = opts.fetchProfileByUid ?? vi.fn(async () => makeProfile(0)); + identity.setFetcher({ + fetchProfile: async () => makeProfile(0), + fetchProfileByUid, + }); + const resolveGroupJoinRequest = opts.resolveGroupJoinRequest ?? vi.fn(async () => request()); + const pipeline = new IncomingPacketPipeline({ + identity, + events, + fetchGroupList: vi.fn(async () => {}), + fetchGroupMemberList: vi.fn(async () => {}), + resolveGroupJoinRequest, + groupInvites: new GroupInviteTracker(), + }); + + const captured: QQEventVariant[] = []; + events.onAny((event) => { + captured.push(event as QQEventVariant); + }); + + return { + identity, + pipeline, + events, + captured, + fetchProfileByUid, + resolveGroupJoinRequest, + }; +} + +function request(overrides: Partial = {}): GroupRequestInfo { + return { + groupId: 12345, + groupName: 'group', + targetUid: 'u_requester', + targetUin: 0, + targetName: '', + invitorUid: '', + invitorUin: 0, + invitorName: '', + operatorUid: '', + operatorUin: 0, + operatorName: '', + sequence: 42, + state: 1, + notifyType: 7, + eventType: 1, + comment: 'please', + filtered: false, + ...overrides, + }; +} + +function requestEvent(overrides: Partial = {}): GroupInviteEvent { + return { + kind: 'group_invite', + time: 1, + selfUin: 10001, + groupId: 12345, + fromUin: 0, + fromUid: 'u_requester', + subType: 'add', + message: '', + flag: 'add:12345:u_requester', + ...overrides, + }; +} + +async function receive(pipeline: IncomingPacketPipeline, event: GroupInviteEvent): Promise { + pipeline.registerCmd('test.cmd', () => [event]); + await pipeline.process({ serviceCmd: 'test.cmd' } as PacketInfo); +} + +describe('IncomingPacketPipeline / independent join inviter', () => { + function join(): GroupMemberJoin { + return { + kind: 'group_member_join', + time: 1, + selfUin: 10001, + groupId: 12345, + userUid: 'u_member', + userUin: 10002, + operatorUid: 'u_admin', + operatorUin: 10003, + invitorUid: 'u_inviter', + invitorUin: 0, + joinType: 'approve', + }; + } + + it('resolves an inviter even when the joining member is already known', async () => { + const fetchProfileByUid = vi.fn(async () => makeProfile(10004, 'u_inviter')); + const { pipeline, captured, resolveGroupJoinRequest } = makePipeline({ fetchProfileByUid }); + await pipeline.processEvents({ serviceCmd: 'test.cmd' } as PacketInfo, [join()]); + expect(captured).toEqual([ + expect.objectContaining({ userUin: 10002, operatorUin: 10003, invitorUin: 10004 }), + ]); + expect(fetchProfileByUid).toHaveBeenCalledExactlyOnceWith('u_inviter'); + expect(resolveGroupJoinRequest).not.toHaveBeenCalled(); + }); + + it('keeps the event observable when the inviter cannot be resolved', async () => { + const fetchProfileByUid = vi.fn(async () => { + throw new Error('profile unavailable'); + }); + const { pipeline, captured } = makePipeline({ fetchProfileByUid }); + const warnings: string[] = []; + const unsubscribe = subscribeLogs((entry) => { + if (entry.level === 'warn') { + warnings.push(entry.message); + } + }); + + try { + await pipeline.processEvents({ serviceCmd: 'test.cmd' } as PacketInfo, [join()]); + } finally { + unsubscribe(); + } + + expect(captured).toEqual([expect.objectContaining({ invitorUin: 0, operatorUin: 10003 })]); + expect( + warnings.some((message) => message.includes('group join identity unavailable')), + ).toBe(true); + }); + + it('waits for both identities before dispatching a join', async () => { + let finishInviter!: (profile: UserProfileInfo) => void; + const fetchProfileByUid = vi.fn((uid: string) => + uid === 'u_member' + ? Promise.resolve(makeProfile(10002, uid)) + : new Promise((resolve) => { + finishInviter = resolve; + }), + ); + const { pipeline, captured } = makePipeline({ fetchProfileByUid }); + const pending = pipeline.processEvents({ serviceCmd: 'test.cmd' } as PacketInfo, [ + { ...join(), userUin: 0 }, + ]); + await vi.waitFor(() => expect(fetchProfileByUid).toHaveBeenCalledTimes(2)); + expect(captured).toEqual([]); + finishInviter(makeProfile(10004, 'u_inviter')); + await pending; + expect(captured).toEqual([expect.objectContaining({ userUin: 10002, invitorUin: 10004 })]); + }); + + it('retains the original identity failure in the warning', async () => { + const { pipeline, identity, captured } = makePipeline(); + vi.spyOn(identity, 'resolveUin').mockRejectedValueOnce(new Error('identity store closed')); + const warnings: string[] = []; + const unsubscribe = subscribeLogs((entry) => { + if (entry.level === 'warn') { + warnings.push(entry.message); + } + }); + + try { + await pipeline.processEvents({ serviceCmd: 'test.cmd' } as PacketInfo, [join()]); + } finally { + unsubscribe(); + } + + expect(captured).toHaveLength(1); + expect(warnings.some((message) => message.includes('identity store closed'))).toBe(true); + }); +}); + +describe('IncomingPacketPipeline / group requests', () => { + it('resolves an unknown requester before dispatch', async () => { + const fetchProfileByUid = vi.fn(async () => makeProfile(222, 'u_requester', 'Alice')); + const { pipeline, captured } = makePipeline({ fetchProfileByUid }); + await receive(pipeline, requestEvent()); + expect(fetchProfileByUid).toHaveBeenCalledWith('u_requester'); + expect(captured).toEqual([ + expect.objectContaining({ + fromUin: 222, + message: 'please', + flag: 'slreq:1:42:12345:1:0', + }), + ]); + }); + + it('keeps an actionable request when its sender cannot be identified', async () => { + const { pipeline, captured } = makePipeline(); + await receive(pipeline, requestEvent()); + expect(captured).toEqual([ + expect.objectContaining({ + fromUin: 0, + flag: 'slreq:1:42:12345:1:0', + }), + ]); + }); + + it('fetches the comment even when the requester identity is already known', async () => { + const { pipeline, captured, resolveGroupJoinRequest, fetchProfileByUid } = makePipeline(); + await receive(pipeline, requestEvent({ fromUin: 222 })); + expect(resolveGroupJoinRequest).toHaveBeenCalledWith( + 12345, + 'u_requester', + 'add', + undefined, + ); + expect(fetchProfileByUid).not.toHaveBeenCalled(); + expect(captured).toEqual([expect.objectContaining({ fromUin: 222, message: 'please' })]); + }); + + it('uses the sender and approval tuple from the matched filtered request', async () => { + const resolveGroupJoinRequest = vi.fn(async () => + request({ targetUin: 222, filtered: true }), + ); + const { pipeline, captured, fetchProfileByUid } = makePipeline({ resolveGroupJoinRequest }); + await receive(pipeline, requestEvent()); + expect(fetchProfileByUid).not.toHaveBeenCalled(); + expect(captured).toEqual([ + expect.objectContaining({ fromUin: 222, flag: 'slreq:1:42:12345:1:1' }), + ]); + }); + + it('matches an invitation approval by inviter and invitee', async () => { + const resolveGroupJoinRequest = vi.fn(async () => + request({ + invitorUid: 'u_inviter', + invitorUin: 456, + targetUid: 'u_invitee', + targetUin: 789, + eventType: 22, + notifyType: 5, + }), + ); + const { pipeline, captured } = makePipeline({ resolveGroupJoinRequest }); + await receive( + pipeline, + requestEvent({ subType: 'invite', fromUid: 'u_inviter', invitedUid: 'u_invitee' }), + ); + expect(resolveGroupJoinRequest).toHaveBeenCalledWith( + 12345, + 'u_inviter', + 'invite', + 'u_invitee', + ); + expect(captured).toEqual([ + expect.objectContaining({ + fromUin: 456, + invitedUin: 789, + invitedUid: 'u_invitee', + flag: 'slreq:1:42:12345:22:0', + }), + ]); + }); + + it.each([76543, 0])( + 'resolves the self-invite sender without querying the inbox (profile UIN %d)', + async (uin) => { + const fetchProfileByUid = vi.fn(async () => makeProfile(uin)); + const { pipeline, captured, resolveGroupJoinRequest } = makePipeline({ + fetchProfileByUid, + }); + await receive( + pipeline, + requestEvent({ + subType: 'invite', + invitedUin: 10001, + flag: 'invite:12345:u_requester', + }), + ); + expect(captured).toHaveLength(1); + expect(captured[0]).toMatchObject({ + kind: 'group_invite', + fromUin: uin, + invitedUin: 10001, + flag: 'invite:12345:u_requester', + }); + expect(resolveGroupJoinRequest).not.toHaveBeenCalled(); + expect(fetchProfileByUid).toHaveBeenCalledExactlyOnceWith('u_requester'); + }, + ); + + it('does not substitute a list sequence for the self-invite card sequence', async () => { + const resolveGroupJoinRequest = vi.fn(async () => + request({ eventType: 2, targetUin: 10001 }), + ); + const { pipeline, captured } = makePipeline({ resolveGroupJoinRequest }); + await receive(pipeline, requestEvent({ subType: 'invite' })); + expect(captured).toEqual([]); + }); + + it.each(['missing', 'failed'])( + 'does not emit an incomplete request after a %s lookup', + async (outcome) => { + const resolveGroupJoinRequest = + outcome === 'missing' + ? vi.fn(async () => null) + : vi.fn(async () => { + throw new Error('lookup failed'); + }); + const { pipeline, captured, fetchProfileByUid } = makePipeline({ + resolveGroupJoinRequest, + }); + await receive(pipeline, requestEvent()); + expect(captured).toEqual([]); + expect(resolveGroupJoinRequest).toHaveBeenCalledOnce(); + expect(fetchProfileByUid).not.toHaveBeenCalled(); + }, + ); + + it('does not treat a requester UIN equal to the group number as unresolved', async () => { + const { pipeline, captured, identity, fetchProfileByUid } = makePipeline(); + await receive(pipeline, requestEvent({ fromUin: 12345 })); + expect(fetchProfileByUid).not.toHaveBeenCalled(); + expect(captured[0]).toMatchObject({ fromUin: 12345 }); + expect(identity.findUinByUid('u_requester')).toBe(12345); + }); + + it('rejects a request without its requester UID', async () => { + const { pipeline, captured, resolveGroupJoinRequest } = makePipeline(); + await receive(pipeline, requestEvent({ fromUid: '' })); + expect(captured).toEqual([]); + expect(resolveGroupJoinRequest).not.toHaveBeenCalled(); + }); +}); + +describe('IncomingPacketPipeline / friend message identity', () => { + it('preserves the exact UID/UIN pair carried by an incoming C2C message', () => { + const { identity, pipeline } = makePipeline(); + pipeline.registerCmd('test.cmd', () => [ + { + kind: 'friend_message', + time: 1700000000, + selfUin: 10001, + senderUin: 22222, + senderUid: 'u_peer_exact', + senderNick: 'peer', + msgSeq: 1, + msgId: 2, + elements: [{ type: 'text', text: 'hi' }], + }, + ]); + + pipeline.process({ serviceCmd: 'test.cmd' } as PacketInfo); + + expect(identity.findUidByUin(22222)).toBe('u_peer_exact'); + expect(identity.findUinByUid('u_peer_exact')).toBe(22222); + }); +}); + +describe('IncomingPacketPipeline / #1 group card self-heal', () => { + function makeGroupMsgPipeline() { + const identity = IdentityService.memory('10001'); + const events = new BridgeEventBus(); + const pipeline = new IncomingPacketPipeline({ + identity, + events, + fetchGroupList: vi.fn(async () => {}), + fetchGroupMemberList: vi.fn(async () => {}), + resolveGroupJoinRequest: vi.fn(async () => null), + groupInvites: new GroupInviteTracker(), + }); + return { identity, pipeline }; + } + + const groupMsg = (senderCard: string): QQEventVariant => + ({ + kind: 'group_message', + groupName: '', + time: 1, + selfUin: 10001, + groupId: 9999, + senderUin: 222, + senderNick: 'BaseNick', + senderCard, + senderRole: 'member', + msgSeq: 1, + msgId: 1, + elements: [{ type: 'text', text: 'hi' }], + }) as QQEventVariant; + + const member = (card: string) => ({ + uin: 222, + uid: '', + nickname: 'BaseNick', + card, + role: 'member', + level: 0, + title: '', + joinTime: 0, + lastSentTime: 0, + shutUpTime: 0, + }); + + it('updates the cached member card when a group_message carries a fresher card', () => { + const { identity, pipeline } = makeGroupMsgPipeline(); + identity.rememberGroups([ + { + groupId: 9999, + groupName: 'g', + memberCount: 1, + members: new Map(), + } as unknown as Parameters[0][0], + ]); + identity.rememberGroupMembers(9999, [member('StaleCard')]); + pipeline.registerCmd('test.cmd', () => [groupMsg('FreshCard')]); + pipeline.process({ serviceCmd: 'test.cmd' } as PacketInfo); + expect(identity.findGroupMember(9999, 222)?.card).toBe('FreshCard'); + }); + + it('does not write when the card is unchanged (gated)', () => { + const { identity, pipeline } = makeGroupMsgPipeline(); + identity.rememberGroups([ + { + groupId: 9999, + groupName: 'g', + memberCount: 1, + members: new Map(), + } as unknown as Parameters[0][0], + ]); + identity.rememberGroupMembers(9999, [member('SameCard')]); + const spy = vi.spyOn(identity, 'updateGroupMember'); + pipeline.registerCmd('test.cmd', () => [groupMsg('SameCard')]); + pipeline.process({ serviceCmd: 'test.cmd' } as PacketInfo); + expect(spy).not.toHaveBeenCalled(); + }); + + it('does not create an entry for an uncached member (no self-heal without a base)', () => { + const { identity, pipeline } = makeGroupMsgPipeline(); + const spy = vi.spyOn(identity, 'updateGroupMember'); + pipeline.registerCmd('test.cmd', () => [groupMsg('SomeCard')]); + pipeline.process({ serviceCmd: 'test.cmd' } as PacketInfo); + expect(spy).not.toHaveBeenCalled(); + expect(identity.findGroupMember(9999, 222)).toBeNull(); + }); +}); + +describe('IncomingPacketPipeline / group_card_change from message traffic', () => { + const GROUP = 123456789; + + function member(card: string): GroupMemberInfo { + return { + uin: 22222, + uid: 'u_member', + nickname: 'nick', + card, + role: 'member', + level: 0, + title: '', + joinTime: 0, + lastSentTime: 0, + shutUpTime: 0, + }; + } + + function setup(cachedCard: string) { + const identity = IdentityService.memory('10001'); + identity.rememberGroups([ + { + groupId: GROUP, + groupName: 'g', + remark: '', + memberCount: 1, + memberMax: 500, + members: new Map([[22222, member(cachedCard)]]), + } as QQGroupInfo, + ]); + const events = new BridgeEventBus(); + const pipeline = new IncomingPacketPipeline({ + identity, + events, + fetchGroupList: vi.fn(async () => {}), + fetchGroupMemberList: vi.fn(async () => {}), + resolveGroupJoinRequest: vi.fn(async () => null), + groupInvites: new GroupInviteTracker(), + }); + const captured: QQEventVariant[] = []; + events.onAny((e) => captured.push(e as QQEventVariant)); + return { pipeline, captured }; + } + + function groupMsg(card: string): QQEventVariant { + return { + kind: 'group_message', + groupName: '', + time: 1700000000, + selfUin: 10001, + groupId: GROUP, + senderUin: 22222, + senderNick: 'nick', + senderCard: card, + senderRole: 'member', + msgSeq: 1, + msgId: 1, + elements: [], + } as QQEventVariant; + } + + const pkt = (): PacketInfo => ({ + pid: 1, + uin: '10001', + serviceCmd: 'test.cmd', + seqId: 1, + retCode: 0, + fromClient: false, + body: new Uint8Array(), + }); + + it('emits group_card_change when a known member card changes', () => { + const { pipeline, captured } = setup('OldCard'); + pipeline.registerCmd('test.cmd', () => [groupMsg('NewCard')]); + pipeline.process(pkt()); + const ev = captured.find((e) => e.kind === 'group_card_change'); + expect(ev).toBeTruthy(); + expect((ev as Extract).cardOld).toBe( + 'OldCard', + ); + expect((ev as Extract).cardNew).toBe( + 'NewCard', + ); + expect((ev as Extract).userUin).toBe(22222); + }); + + it('does NOT emit when the card is unchanged', () => { + const { pipeline, captured } = setup('SameCard'); + pipeline.registerCmd('test.cmd', () => [groupMsg('SameCard')]); + pipeline.process(pkt()); + expect(captured.some((e) => e.kind === 'group_card_change')).toBe(false); + }); + + it('does NOT fabricate a change on first contact (no cached card)', () => { + const { pipeline, captured } = setup(''); + pipeline.registerCmd('test.cmd', () => [groupMsg('SomeCard')]); + pipeline.process(pkt()); + expect(captured.some((e) => e.kind === 'group_card_change')).toBe(false); + }); +}); diff --git a/packages/protocol/tests/packet-pipeline-trace.test.ts b/packages/protocol/tests/packet-pipeline-trace.test.ts new file mode 100644 index 00000000..64561c38 --- /dev/null +++ b/packages/protocol/tests/packet-pipeline-trace.test.ts @@ -0,0 +1,446 @@ +import { + currentRequestId, + getLogLevel, + runWithRequestId, + setLogLevel, + subscribeLogs, + type LogEntry, +} from '@snowluma/common/logger'; +import type { PacketInfo } from '@snowluma/common/protocol-types'; +import { BridgeEventBus } from '@snowluma/protocol/event-bus'; +import type { QQEventVariant } from '@snowluma/protocol/events'; +import { IdentityService } from '@snowluma/protocol/identity-service'; +import type { MsgPushContext } from '@snowluma/protocol/msg-push/context'; +import { PkgType } from '@snowluma/protocol/msg-push/enums'; +import { MsgPushRegistry } from '@snowluma/protocol/msg-push/registry'; +import { GroupInviteTracker } from '@snowluma/protocol/group-invite-tracker'; +import { IncomingPacketPipeline } from '@snowluma/protocol/packet-pipeline'; +import { afterEach, describe, expect, it, vi } from 'vitest'; + +const previousLogLevel = getLogLevel(); + +afterEach(() => { + setLogLevel(previousLogLevel); + vi.restoreAllMocks(); +}); + +function packet(serviceCmd = 'Trace.Command'): PacketInfo { + return { + pid: 42, + uin: '10001', + serviceCmd, + seqId: 77, + retCode: 0, + fromClient: false, + body: Buffer.from([0x00, 0xff]), + }; +} + +function friendEvent(): QQEventVariant { + return { + kind: 'friend_message', + time: 1, + selfUin: 10001, + senderUin: 20002, + senderUid: 'u_peer', + senderNick: 'peer', + msgSeq: 1, + msgId: 2, + elements: [{ type: 'text', text: 'hi' }], + }; +} + +function msgPushContext(identity: IdentityService): MsgPushContext { + return { + head: { + msgType: PkgType.PrivateMessage, + subType: 7, + c2cCmd: 0, + sequence: 88, + ntMsgSeq: 0, + timestamp: 1, + msgId: 2, + }, + fromUin: 20002, + fromUid: 'u_peer', + selfUin: 10001, + content: new Uint8Array(0), + body: undefined, + responseHead: undefined, + identity, + isHistorical: false, + }; +} + +function makePipeline( + opts: { + fetchGroupList?: () => Promise; + fetchGroupMemberList?: (groupId: number) => Promise; + fetchProfileByUid?: () => Promise<{ + uin: number; + uid: string; + nickname: string; + remark: string; + qid: string; + sex: string; + age: number; + sign: string; + avatar: string; + level: number; + qidianMasterFlag: number; + qidianCrewFlag: number; + qidianCrewFlag2: number; + }>; + } = {}, +) { + const identity = IdentityService.memory('10001'); + + if (opts.fetchProfileByUid) { + identity.setFetcher({ + fetchProfile: async () => ({ + uin: 0, + uid: '', + nickname: '', + remark: '', + qid: '', + sex: 'unknown', + age: 0, + sign: '', + avatar: '', + level: 0, + qidianMasterFlag: 0, + qidianCrewFlag: 0, + qidianCrewFlag2: 0, + }), + fetchProfileByUid: opts.fetchProfileByUid, + }); + } + + const events = new BridgeEventBus(); + const pipeline = new IncomingPacketPipeline({ + identity, + events, + fetchGroupList: opts.fetchGroupList ?? vi.fn(async () => {}), + fetchGroupMemberList: opts.fetchGroupMemberList ?? vi.fn(async () => {}), + resolveGroupJoinRequest: vi.fn(async () => ({ + groupId: 123, + groupName: '', + targetUid: 'u_stranger', + targetUin: 0, + targetName: '', + invitorUid: '', + invitorUin: 0, + invitorName: '', + operatorUid: '', + operatorUin: 0, + operatorName: '', + sequence: 42, + state: 1, + notifyType: 7, + eventType: 1, + comment: '', + filtered: false, + })), + groupInvites: new GroupInviteTracker(), + }); + const dispatched: Array<{ event: QQEventVariant; req: number | undefined }> = []; + events.onAny((event) => { + dispatched.push({ event: event as QQEventVariant, req: currentRequestId() }); + }); + return { pipeline, dispatched, identity }; +} + +function packetTrace(entries: LogEntry[]): LogEntry[] { + return entries.filter((entry) => entry.level === 'trace' && entry.scope === 'Protocol.Packet'); +} + +describe('IncomingPacketPipeline TRACE lifecycle', () => { + it('records an unregistered command as one dropped terminal', async () => { + const entries: LogEntry[] = []; + setLogLevel('trace'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + + try { + const { pipeline } = makePipeline(); + + await pipeline.process(packet('Unknown.Command')); + + expect(packetTrace(entries).map((entry) => entry.message)).toEqual([ + 'packet_branch serviceCmd="Unknown.Command" seqId=77 branch=parser_unregistered', + expect.stringMatching( + /^packet_terminal serviceCmd="Unknown\.Command" seqId=77 outcome=dropped reason=parser_unregistered events=0 dispatched=0 elapsedMs=\d+$/, + ), + ]); + } finally { + unsubscribe(); + } + }); + + it('classifies a decoder exception as a parser failure terminal', async () => { + const entries: LogEntry[] = []; + setLogLevel('trace'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + + try { + const { pipeline, identity } = makePipeline(); + const registry = new MsgPushRegistry(); + registry.register(PkgType.PrivateMessage, () => { + throw new Error('fixture decoder failed'); + }); + pipeline.registerCmd('Trace.Command', () => + registry.decodeOrThrow(msgPushContext(identity)), + ); + + await pipeline.process(packet()); + + expect(entries).toContainEqual( + expect.objectContaining({ + level: 'trace', + scope: 'MsgPush', + message: + 'packet_branch branch=decoder_exception msgType=166 subType=7 messageSeq=88 error="fixture decoder failed"', + }), + ); + expect(packetTrace(entries).map((entry) => entry.message)).toEqual([ + 'packet_branch serviceCmd="Trace.Command" seqId=77 parser=1 branch=parser_exception error="fixture decoder failed"', + expect.stringMatching( + /^packet_terminal serviceCmd="Trace\.Command" seqId=77 outcome=failed reason=parser_exception events=0 dispatched=0 parserErrors=1 elapsedMs=\d+$/, + ), + ]); + } finally { + unsubscribe(); + } + }); + + it('distinguishes zero events, parser exceptions, and synchronous dispatch', async () => { + const entries: LogEntry[] = []; + setLogLevel('trace'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + + try { + const { pipeline, dispatched } = makePipeline(); + pipeline.registerCmd('Trace.Command', () => []); + pipeline.registerCmd('Trace.Command', () => { + throw new Error('fixture parser failed'); + }); + pipeline.registerCmd('Trace.Command', () => [friendEvent()]); + + const completion = pipeline.process(packet()); + expect(dispatched).toHaveLength(1); + await completion; + + expect(packetTrace(entries).map((entry) => entry.message)).toEqual([ + 'packet_branch serviceCmd="Trace.Command" seqId=77 parser=1 branch=parser_zero_events', + 'packet_branch serviceCmd="Trace.Command" seqId=77 parser=2 branch=parser_exception error="fixture parser failed"', + 'packet_branch serviceCmd="Trace.Command" seqId=77 parser=3 branch=parser_events events=1', + 'packet_branch serviceCmd="Trace.Command" seqId=77 branch=dispatch eventKind="friend_message" mode=sync', + expect.stringMatching( + /^packet_terminal serviceCmd="Trace\.Command" seqId=77 outcome=failed reason=parser_exception events=1 dispatched=1 parserErrors=1 elapsedMs=\d+$/, + ), + ]); + } finally { + unsubscribe(); + } + }); + + it('classifies a synchronous dispatch exception and emits one failed terminal', async () => { + const entries: LogEntry[] = []; + setLogLevel('trace'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + + try { + const { pipeline, identity } = makePipeline(); + vi.spyOn(identity, 'rememberRequestIdentity').mockImplementation(() => { + throw new Error('fixture dispatch failed'); + }); + pipeline.registerCmd('Trace.Command', () => [friendEvent(), friendEvent()]); + + await pipeline.process(packet()); + + expect(packetTrace(entries).map((entry) => entry.message)).toEqual([ + 'packet_branch serviceCmd="Trace.Command" seqId=77 parser=1 branch=parser_events events=2', + 'packet_branch serviceCmd="Trace.Command" seqId=77 branch=dispatch_exception eventKind="friend_message" error="fixture dispatch failed"', + expect.stringMatching( + /^packet_terminal serviceCmd="Trace\.Command" seqId=77 outcome=failed reason=dispatch_exception events=2 dispatched=0 parserErrors=0 dispatchErrors=1 elapsedMs=\d+$/, + ), + ]); + expect(identity.rememberRequestIdentity).toHaveBeenCalledOnce(); + } finally { + unsubscribe(); + } + }); + + it('completes join identity enrichment without treating roster refresh as the UIN hop', async () => { + const entries: LogEntry[] = []; + setLogLevel('trace'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + + try { + const { pipeline, dispatched } = makePipeline({ + fetchGroupList: vi.fn(async () => { + throw new Error('fixture refresh failed'); + }), + }); + pipeline.registerCmd('Trace.Command', () => [ + { + kind: 'group_member_join', + time: 1, + selfUin: 10001, + groupId: 123, + userUin: 0, + operatorUin: 0, + userUid: 'u_new_member', + operatorUid: 'u_operator', + }, + ]); + + await pipeline.process(packet()); + + expect(dispatched).toHaveLength(1); + expect(packetTrace(entries).map((entry) => entry.message)).toEqual([ + 'packet_branch serviceCmd="Trace.Command" seqId=77 parser=1 branch=parser_events events=1', + 'packet_branch serviceCmd="Trace.Command" seqId=77 branch=enrichment_started eventKind="group_member_join" enrichment="identity_refresh"', + 'packet_branch serviceCmd="Trace.Command" seqId=77 branch=dispatch eventKind="group_member_join" mode=enriched', + expect.stringMatching( + /^packet_terminal serviceCmd="Trace\.Command" seqId=77 outcome=completed reason=dispatch_complete events=1 dispatched=1 parserErrors=0 elapsedMs=\d+$/, + ), + ]); + } finally { + unsubscribe(); + } + }); + + it('distinguishes enrichment failure from enriched dispatch failure', async () => { + const enrichmentEntries: LogEntry[] = []; + setLogLevel('trace'); + const unsubscribe = subscribeLogs((entry) => enrichmentEntries.push(entry)); + + try { + const enrichment = makePipeline(); + vi.spyOn(enrichment.identity, 'rememberRequestIdentity').mockImplementation(() => { + throw new Error('fixture enrichment failed'); + }); + enrichment.pipeline.registerCmd('Trace.Command', () => [ + { + kind: 'group_invite', + time: 1, + selfUin: 10001, + groupId: 123, + fromUin: 0, + fromUid: 'u_stranger', + subType: 'add', + message: '', + flag: 'add:123:u_stranger', + } as QQEventVariant, + ]); + + await enrichment.pipeline.process(packet()); + + expect(packetTrace(enrichmentEntries).map((entry) => entry.message)).toEqual([ + 'packet_branch serviceCmd="Trace.Command" seqId=77 parser=1 branch=parser_events events=1', + 'packet_branch serviceCmd="Trace.Command" seqId=77 branch=enrichment_started eventKind="group_invite" enrichment="group_invite"', + 'packet_branch serviceCmd="Trace.Command" seqId=77 branch=enrichment_failed eventKind="group_invite" enrichment="group_invite" error="fixture enrichment failed"', + expect.stringMatching( + /^packet_terminal serviceCmd="Trace\.Command" seqId=77 outcome=failed reason=enrichment_failed events=1 dispatched=0 parserErrors=0 dispatchErrors=0 elapsedMs=\d+$/, + ), + ]); + + enrichmentEntries.length = 0; + const dispatch = makePipeline(); + vi.spyOn(dispatch.identity, 'rememberGroupMemberIdentity').mockImplementation(() => { + throw new Error('fixture enriched dispatch failed'); + }); + dispatch.pipeline.registerCmd('Trace.Command', () => [ + { + kind: 'group_member_join', + time: 1, + selfUin: 10001, + groupId: 123, + userUin: 0, + operatorUin: 0, + userUid: 'u_new_member', + operatorUid: 'u_operator', + }, + ]); + + await dispatch.pipeline.process(packet()); + + expect(packetTrace(enrichmentEntries).map((entry) => entry.message)).toEqual([ + 'packet_branch serviceCmd="Trace.Command" seqId=77 parser=1 branch=parser_events events=1', + 'packet_branch serviceCmd="Trace.Command" seqId=77 branch=enrichment_started eventKind="group_member_join" enrichment="identity_refresh"', + 'packet_branch serviceCmd="Trace.Command" seqId=77 branch=dispatch_exception eventKind="group_member_join" error="fixture enriched dispatch failed"', + expect.stringMatching( + /^packet_terminal serviceCmd="Trace\.Command" seqId=77 outcome=failed reason=dispatch_exception events=1 dispatched=0 parserErrors=0 dispatchErrors=1 elapsedMs=\d+$/, + ), + ]); + } finally { + unsubscribe(); + } + }); + + it('retains request context through asynchronous enrichment before terminal', async () => { + let release!: (value: { uin: number; nickname: string }) => void; + const profile = new Promise<{ uin: number; nickname: string }>((resolve) => { + release = resolve; + }); + const entries: LogEntry[] = []; + setLogLevel('trace'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + + try { + const { pipeline, dispatched } = makePipeline({ + fetchProfileByUid: async () => { + const resolved = await profile; + return { + uin: resolved.uin, + uid: 'u_stranger', + nickname: resolved.nickname, + remark: '', + qid: '', + sex: 'unknown', + age: 0, + sign: '', + avatar: '', + level: 0, + qidianMasterFlag: 0, + qidianCrewFlag: 0, + qidianCrewFlag2: 0, + }; + }, + }); + pipeline.registerCmd('Trace.Command', () => [ + { + kind: 'group_invite', + time: 1, + selfUin: 10001, + groupId: 123, + fromUin: 0, + fromUid: 'u_stranger', + subType: 'add', + message: '', + flag: 'add:123:u_stranger', + } as QQEventVariant, + ]); + + const completion = runWithRequestId(5101, () => pipeline.process(packet())); + expect(dispatched).toHaveLength(0); + release({ uin: 20002, nickname: 'resolved' }); + await completion; + + expect(dispatched).toEqual([expect.objectContaining({ req: 5101 })]); + expect(packetTrace(entries)).toEqual( + packetTrace(entries).map(() => expect.objectContaining({ req: 5101 })), + ); + expect(packetTrace(entries).map((entry) => entry.message)).toEqual([ + 'packet_branch serviceCmd="Trace.Command" seqId=77 parser=1 branch=parser_events events=1', + 'packet_branch serviceCmd="Trace.Command" seqId=77 branch=enrichment_started eventKind="group_invite" enrichment="group_invite"', + 'packet_branch serviceCmd="Trace.Command" seqId=77 branch=dispatch eventKind="group_invite" mode=enriched', + expect.stringMatching( + /^packet_terminal serviceCmd="Trace\.Command" seqId=77 outcome=completed reason=dispatch_complete events=1 dispatched=1 parserErrors=0 elapsedMs=\d+$/, + ), + ]); + } finally { + unsubscribe(); + } + }); +}); diff --git a/packages/protocol/tests/self-invite-dispatch.test.ts b/packages/protocol/tests/self-invite-dispatch.test.ts new file mode 100644 index 00000000..90f66115 --- /dev/null +++ b/packages/protocol/tests/self-invite-dispatch.test.ts @@ -0,0 +1,188 @@ +import type { PacketInfo } from '@snowluma/common/protocol-types'; +import { BridgeEventBus } from '@snowluma/protocol/event-bus'; +import type { GroupInviteEvent, QQEventVariant } from '@snowluma/protocol/events'; +import { IdentityService } from '@snowluma/protocol/identity-service'; +import { GroupInviteTracker } from '@snowluma/protocol/group-invite-tracker'; +import { IncomingPacketPipeline } from '@snowluma/protocol/packet-pipeline'; +import { afterEach, describe, expect, it, vi } from 'vitest'; + +const SELF_UIN = 10001; +const GROUP_ID = 12345; +const INVITOR_UID = 'u_inviter'; +const INVITOR_UIN = 20002; + +afterEach(() => { + vi.useRealTimers(); + vi.restoreAllMocks(); +}); + +function packet(): PacketInfo { + return { + pid: 42, + uin: String(SELF_UIN), + serviceCmd: 'test.self-invite', + seqId: 1, + retCode: 0, + fromClient: false, + body: Buffer.from([0x00]), + }; +} + +/** The MSF notice: no approval msgseq, only the legacy flag from the decoder. */ +function selfInviteNotice(): GroupInviteEvent { + return { + kind: 'group_invite', + time: 1, + selfUin: SELF_UIN, + groupId: GROUP_ID, + fromUin: INVITOR_UIN, + fromUid: INVITOR_UID, + invitedUin: SELF_UIN, + invitedUid: undefined, + subType: 'invite', + message: '', + flag: `invite:${GROUP_ID}:${INVITOR_UID}`, + }; +} + +/** The private "qun.invite" card, which carries the real approval msgseq. */ +function inviteCard(sequence = 777): QQEventVariant { + return { + kind: 'friend_message', + time: 1, + selfUin: SELF_UIN, + senderUin: INVITOR_UIN, + senderUid: INVITOR_UID, + senderNick: 'inviter', + msgSeq: 1, + msgId: 2, + elements: [], + inviteCardGroupUin: GROUP_ID, + inviteCardSequence: sequence, + } as QQEventVariant; +} + +function makePipeline(options: { request?: 'found' | 'missing' } = {}) { + const identity = IdentityService.memory(String(SELF_UIN)); + const events = new BridgeEventBus(); + const received: QQEventVariant[] = []; + events.onAny((event) => { + // The card arrives as a friend_message and the pipeline derives a + // group_invite from it; only the latter is under test here. + if ((event as QQEventVariant).kind === 'group_invite') { + received.push(event as QQEventVariant); + } + }); + + const resolveGroupJoinRequest = vi.fn(async () => + options.request === 'found' + ? { + groupId: GROUP_ID, + groupName: '', + targetUid: 'u_target', + targetUin: 0, + targetName: '', + invitorUid: INVITOR_UID, + invitorUin: INVITOR_UIN, + invitorName: '', + operatorUid: '', + operatorUin: 0, + operatorName: '', + sequence: 42, + state: 1, + notifyType: 1, + eventType: 1, + comment: '', + filtered: false, + } + : null, + ); + + const pipeline = new IncomingPacketPipeline({ + identity, + events, + fetchGroupList: vi.fn(async () => {}), + fetchGroupMemberList: vi.fn(async () => {}), + resolveGroupJoinRequest, + groupInvites: new GroupInviteTracker(), + }); + + return { pipeline, received, resolveGroupJoinRequest }; +} + +describe('self-invite delivery', () => { + it('dispatches a self-invite that the request inbox cannot resolve', async () => { + const { pipeline, received } = makePipeline({ request: 'missing' }); + pipeline.registerCmd('test.self-invite', () => [selfInviteNotice()]); + + await pipeline.process(packet()); + + expect(received).toHaveLength(1); + expect(received[0]).toMatchObject({ + kind: 'group_invite', + groupId: GROUP_ID, + invitedUin: SELF_UIN, + subType: 'invite', + }); + }); + + it('keeps the decoder-provided legacy flag so the request stays actionable', async () => { + const { pipeline, received } = makePipeline({ request: 'missing' }); + pipeline.registerCmd('test.self-invite', () => [selfInviteNotice()]); + + await pipeline.process(packet()); + + expect((received[0] as GroupInviteEvent).flag).toBe( + `invite:${GROUP_ID}:${INVITOR_UID}`, + ); + }); + + it('keeps the legacy flag even when the inbox has a matching request', async () => { + // Self-invite notices are absent from the UIN-based inbox, so the pipeline + // does not consult it at all -- the legacy flag must therefore survive. + const { pipeline, received, resolveGroupJoinRequest } = makePipeline({ request: 'found' }); + pipeline.registerCmd('test.self-invite', () => [selfInviteNotice()]); + + await pipeline.process(packet()); + + expect(resolveGroupJoinRequest).not.toHaveBeenCalled(); + expect((received[0] as GroupInviteEvent).flag).toBe( + `invite:${GROUP_ID}:${INVITOR_UID}`, + ); + }); + + it('does not query the inbox and still dispatches a self-invite', async () => { + const { pipeline, received, resolveGroupJoinRequest } = makePipeline({ request: 'missing' }); + pipeline.registerCmd('test.self-invite', () => [selfInviteNotice()]); + + await pipeline.process(packet()); + + expect(received).toHaveLength(1); + // A self-invite never shows up in the UIN-based inbox, so the lookup is skipped. + expect(resolveGroupJoinRequest).not.toHaveBeenCalled(); + }); + + it('lets the card win when it arrives first', async () => { + const { pipeline, received } = makePipeline({ request: 'missing' }); + pipeline.registerCmd('test.self-invite', () => [selfInviteNotice()]); + pipeline.registerCmd('test.card', () => [inviteCard()]); + + await pipeline.process({ ...packet(), serviceCmd: 'test.card' }); + await pipeline.process(packet()); + + expect(received).toHaveLength(1); + expect((received[0] as GroupInviteEvent).flag).toBe(`slreq:1:777:${GROUP_ID}:2:0`); + }); + + it('suppresses the notice when the card already delivered the invitation', async () => { + const { pipeline, received } = makePipeline({ request: 'missing' }); + pipeline.registerCmd('test.self-invite', () => [selfInviteNotice()]); + pipeline.registerCmd('test.card', () => [inviteCard()]); + + await pipeline.process(packet()); + await pipeline.process({ ...packet(), serviceCmd: 'test.card' }); + + expect(received).toHaveLength(1); + expect((received[0] as GroupInviteEvent).flag).toBe(`invite:${GROUP_ID}:${INVITOR_UID}`); + }); +}); diff --git a/packages/protocol/tests/services/qidian/fetch-corp-info.test.ts b/packages/protocol/tests/services/qidian/fetch-corp-info.test.ts new file mode 100644 index 00000000..303bc0a1 --- /dev/null +++ b/packages/protocol/tests/services/qidian/fetch-corp-info.test.ts @@ -0,0 +1,63 @@ +import { describe, expect, it, vi } from 'vitest'; +import { protobuf_encode } from '@snowluma/proton'; +import type { QidianCorpInfoResponse } from '@snowluma/proto-defs/qidian-corp'; +import type { SendPacketResult } from '@snowluma/common/packet-sender'; +import { + fetchQidianCorpInfo, + QIDIAN_CORP_INFO_CMD, +} from '../../../src/services/qidian/fetch-corp-info'; + +function sender(body: Uint8Array, opts: Partial = {}) { + return { + sendRawPacket: vi.fn(async () => ({ + success: true, + gotResponse: true, + responseData: body, + ...opts, + })), + }; +} + +const CORP_BODY = protobuf_encode({ + corpName: '测试企业', + intro: '测试简介', + website: 'https://example.com', + slogan: '测试签名', + address: '测试地址', + phone: '400-0000-0000', + email: 'contact@example.com', +}); + +describe('services/qidian / fetchQidianCorpInfo', () => { + it('sends the corp info command with the uin as field 1', async () => { + const s = sender(CORP_BODY); + const out = await fetchQidianCorpInfo(s, 10001); + expect(out?.name).toBe('测试企业'); + expect(s.sendRawPacket).toHaveBeenCalledWith( + QIDIAN_CORP_INFO_CMD, + expect.any(Uint8Array), + undefined, + ); + const body = s.sendRawPacket.mock.calls[0][1] as Uint8Array; + expect(Buffer.from(body).toString('hex')).toBe('08914e'); + }); + + it('decodes the corp data-card fields', async () => { + const out = await fetchQidianCorpInfo(sender(CORP_BODY), 10001); + expect(out).toMatchObject({ + name: '测试企业', + website: 'https://example.com', + email: 'contact@example.com', + }); + }); + + it('returns null for an empty / failed response', async () => { + expect(await fetchQidianCorpInfo(sender(new Uint8Array(0)), 1)).toBeNull(); + expect( + await fetchQidianCorpInfo( + sender(new Uint8Array(0), { success: false, errorMessage: 'x' }), + 1, + ), + ).toBeNull(); + }); +}); diff --git a/packages/protocol/tests/sys-face-storage.test.ts b/packages/protocol/tests/sys-face-storage.test.ts new file mode 100644 index 00000000..d5d00475 --- /dev/null +++ b/packages/protocol/tests/sys-face-storage.test.ts @@ -0,0 +1,64 @@ +import { mkdtemp, readFile, rm, writeFile } from 'node:fs/promises'; +import { join } from 'node:path'; +import { tmpdir } from 'node:os'; +import { afterEach, describe, expect, it } from 'vitest'; +import { JsonSysFaceCatalogStorage } from '../src/sys-face-storage'; +import type { SysFaceCatalogSnapshot } from '../src/sys-face-store'; + +const roots: string[] = []; + +afterEach(async () => { + await Promise.all(roots.splice(0).map((root) => rm(root, { recursive: true, force: true }))); +}); + +async function fixturePath(): Promise { + const root = await mkdtemp(join(tmpdir(), 'snowluma-sys-face-')); + roots.push(root); + return join(root, 'nested', 'sys-faces.json'); +} + +const SNAPSHOT: SysFaceCatalogSnapshot = { + schemaVersion: 1, + fetchedAt: 123, + packs: [ + { + packName: '经典', + emojis: [ + { + qSid: '14', + qDes: '/微笑', + emCode: '14', + qCid: null, + aniStickerType: null, + aniStickerPackId: null, + aniStickerId: null, + url: null, + emojiNameAlias: ['smile'], + aniStickerWidth: null, + aniStickerHeight: null, + }, + ], + }, + ], +}; + +describe('JsonSysFaceCatalogStorage', () => { + it('returns null for a missing cache and round-trips an atomic save', async () => { + const file = await fixturePath(); + const storage = new JsonSysFaceCatalogStorage(file); + + await expect(storage.load()).resolves.toBeNull(); + await storage.save(SNAPSHOT); + await expect(storage.load()).resolves.toEqual(SNAPSHOT); + expect(JSON.parse(await readFile(file, 'utf8'))).toEqual(SNAPSHOT); + }); + + it('surfaces malformed JSON with the cache path instead of ignoring it', async () => { + const file = await fixturePath(); + const storage = new JsonSysFaceCatalogStorage(file); + await storage.save(SNAPSHOT); + await writeFile(file, '{broken', 'utf8'); + + await expect(storage.load()).rejects.toThrow(file); + }); +}); diff --git a/packages/protocol/tests/sys-faces.test.ts b/packages/protocol/tests/sys-faces.test.ts new file mode 100644 index 00000000..8ae266f9 --- /dev/null +++ b/packages/protocol/tests/sys-faces.test.ts @@ -0,0 +1,908 @@ +import { describe, it, expect, vi } from 'vitest'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import type { QFaceExtra, QSmallFaceExtra } from '@snowluma/proto-defs/element'; +import type { OidbBase } from '@snowluma/proto-defs/oidb'; +import type { + OidbFetchSysFacesReq, + OidbFetchSysFacesResp, + OidbFetchSysFaceReq, + OidbFetchSysFaceResp, +} from '@snowluma/proto-defs/oidb-actions/sys-faces'; +import { + FetchSysFaces, + findFaceEntity, + isSuperFaceEntry, + isSuperFaceId, + type SysFaceEntry, + type SysFacePackEntry, +} from '../src/oidb-services/sys-faces/fetch-sys-faces'; +import { + faceWireFor, + SysFaceStore, + sysFaceStore, + type SysFaceCatalogSnapshot, + type SysFaceCatalogStorage, +} from '../src/sys-face-store'; +import { buildSendElems } from '../src/element-builder'; +import { FetchSysFace } from '../src/oidb-services/sys-faces/fetch-sys-face'; + +function deferred() { + let resolve!: (value: T) => void; + let reject!: (error: Error) => void; + const promise = new Promise((yes, no) => { + resolve = yes; + reject = no; + }); + return { promise, resolve, reject }; +} + +function entry( + qSid: string, + aniStickerType: number | null, + aniStickerPackId: number | null, + aniStickerId: number | null, + qDes = '', + emojiNameAlias: string[] = [], +): SysFaceEntry { + return { + qSid, + qDes, + emCode: '', + qCid: null, + aniStickerType, + aniStickerPackId, + aniStickerId, + url: null, + emojiNameAlias, + aniStickerWidth: null, + aniStickerHeight: null, + }; +} + +// Animated faces include ordinary type-1 stickers as well as special types. +const CATALOG: SysFacePackEntry[] = [ + { packName: '经典', emojis: [entry('14', null, null, null, '/微笑', ['smile'])] }, + { + packName: '超级表情', + emojis: [ + entry('392', 3, 2, 38, '/龙年快乐'), // super → CommonElem 37 + entry('424', 1, 1, 52), + entry('358', 2, 1, 33), // super (packId 1 but type 2) → CommonElem 37 + ], + }, +]; + +class MemoryCatalogStorage implements SysFaceCatalogStorage { + saved: SysFaceCatalogSnapshot[] = []; + + constructor(private readonly initial: SysFaceCatalogSnapshot | null = null) {} + + async load(): Promise { + return this.initial; + } + + async save(snapshot: SysFaceCatalogSnapshot): Promise { + this.saved.push(snapshot); + } +} + +describe('isSuperFaceEntry / isSuperFaceId', () => { + it('recognizes every animated sticker type', () => { + expect(isSuperFaceEntry(entry('x', 3, 2, 1))).toBe(true); + expect(isSuperFaceEntry(entry('x', 2, 1, 1))).toBe(true); // type≠1 + expect(isSuperFaceEntry(entry('x', 1, 2, 1))).toBe(true); // pack≠1 + expect(isSuperFaceEntry(entry('x', 1, 1, 52))).toBe(true); + expect(isSuperFaceEntry(entry('x', 0, 0, 0))).toBe(false); + expect(isSuperFaceEntry(entry('x', null, null, null))).toBe(false); // not aniSticker + }); + + it('isSuperFaceId walks the packs by id', () => { + expect(isSuperFaceId(CATALOG, 392)).toBe(true); + expect(isSuperFaceId(CATALOG, 424)).toBe(true); + expect(isSuperFaceId(CATALOG, 14)).toBe(false); + expect(isSuperFaceId(CATALOG, 99999)).toBe(false); // unknown + }); + + it('findFaceEntity returns the matching emoji or null', () => { + expect(findFaceEntity(CATALOG, 392)?.qSid).toBe('392'); + expect(findFaceEntity(CATALOG, 99999)).toBeNull(); + }); +}); + +describe('faceWireFor — classification', () => { + it('super face → super wire with pack/sticker ids', () => { + expect(faceWireFor(entry('392', 3, 2, 38), 392)).toEqual({ + kind: 'super', + packId: '2', + stickerId: '38', + stickerType: 3, + }); + }); + it('rejects incomplete super-face metadata instead of filling guessed ids', () => { + expect(() => faceWireFor(entry('392', 3, 2, null), 392)).toThrow( + /incomplete super-face metadata/, + ); + }); + it('uses the animation metadata for type-1 stickers too', () => { + expect(faceWireFor(entry('424', 1, 1, 52), 424)).toEqual({ + kind: 'super', + packId: '1', + stickerId: '52', + stickerType: 1, + }); + }); + it('permits uncatalogued ids using their small representation', () => { + expect(faceWireFor(null, 14)).toEqual({ kind: 'classic' }); + expect(faceWireFor(undefined, 504)).toEqual({ kind: 'small' }); + }); +}); + +describe('FetchSysFaces protocol contract', () => { + it('encodes the native 0x9154_1 request layout', () => { + const body = FetchSysFaces.serialize({} as never, {}); + expect(body).toEqual({ + field1: 0, + field2: 7, + field3: 0, + }); + + const decoded = protobuf_decode>( + FetchSysFaces.encode({ body }), + ); + expect(decoded.body).toEqual({ + field1: null, + field2: 7, + field3: null, + field4: null, + }); + }); +}); + +describe('FetchSysFace protocol contract', () => { + it('queries the requested id and preserves animation metadata from the response', async () => { + const sendRawPacket = vi.fn(async (_command: string, _body: Uint8Array) => ({ + success: true, + gotResponse: true, + errorCode: 0, + errorMessage: '', + responseData: protobuf_encode>({ + body: { + emoji: { + qSid: '507', + qDes: '/test', + aniStickerType: 1, + aniStickerPackId: 4, + aniStickerId: 107, + aniStickerWidth: 200, + aniStickerHeight: 240, + }, + }, + }), + })); + const store = new SysFaceStore({ fetchCatalog: async () => CATALOG }); + await expect(store.resolveWire({ sendRawPacket }, 507)).resolves.toEqual({ + kind: 'super', + packId: '4', + stickerId: '107', + stickerType: 1, + }); + expect(sendRawPacket).toHaveBeenCalledOnce(); + const [command, bytes] = sendRawPacket.mock.calls[0]!; + expect(command).toBe('OidbSvcTrpcTcp.0x9155_1'); + expect(protobuf_decode>(bytes)).toMatchObject({ + command: 0x9155, + subCommand: 1, + body: { qSid: '507' }, + }); + expect(store.lookup(507)).toMatchObject({ aniStickerWidth: 200, aniStickerHeight: 240 }); + }); + + it('does not invent metadata for an empty lookup result', () => { + expect(FetchSysFace.deserialize({} as never, {})).toBeNull(); + }); +}); + +describe('FetchSysFaces.deserialize', () => { + it('decodes every group in the third panel, including unnamed and hidden faces (#482)', () => { + const wire = protobuf_encode({ + specialMagicFace: { + emojiList: [ + { emojiPackName: 'MagicFace', emojiDetail: [{ qSid: '358' }] }, + { emojiDetail: [{ qSid: '504', unknown10: 1 }, { qSid: '505' }] }, + { emojiPackName: 'Limited', emojiDetail: [{ qSid: '506' }, { qSid: '507' }] }, + ], + }, + }); + const packs = FetchSysFaces.deserialize( + {} as never, + protobuf_decode(wire), + ); + expect(packs.map((pack) => pack.packName)).toEqual(['MagicFace', 'MagicFace', 'Limited']); + expect(packs.flatMap((pack) => pack.emojis.map((face) => face.qSid))).toEqual([ + '358', + '504', + '505', + '506', + '507', + ]); + }); + + it('flattens common + big + magic packs', () => { + const packs = FetchSysFaces.deserialize( + {} as never, + { + commonFace: { + emojiList: [{ emojiPackName: '经典', emojiDetail: [{ qSid: '14' }] }], + }, + specialBigFace: { + emojiList: [ + { + emojiPackName: '超级', + emojiDetail: [{ qSid: '392', aniStickerType: 3, aniStickerPackId: 2 }], + }, + ], + }, + specialMagicFace: { emojiList: [{ emojiDetail: [{ qSid: '999' }] }] }, + } as never, + ); + expect(packs.map((p) => p.packName)).toEqual(['经典', '超级', 'MagicFace']); + expect(packs[1].emojis[0].aniStickerType).toBe(3); + }); + + it('preserves Unicode catalog identifiers returned by QQ', () => { + const packs = FetchSysFaces.deserialize( + {} as never, + { + commonFace: { + emojiList: [ + { + emojiPackName: 'emoji', + emojiDetail: [ + { qSid: '😊', qDes: '/嘿嘿', qCid: 128522, emCode: '400832' }, + ], + }, + ], + }, + } as never, + ); + + expect(packs).toEqual([ + { + packName: 'emoji', + emojis: [ + expect.objectContaining({ + qSid: '😊', + qDes: '/嘿嘿', + qCid: 128522, + emCode: '400832', + }), + ], + }, + ]); + }); + + it('fails closed when an id field uses an unsupported wire encoding', () => { + const driftedFace = { qDes: '/未知表情' }; + Object.defineProperty(driftedFace, Symbol.for('snowluma.proton.unknownFields'), { + value: { + fields: [{ fieldNumber: 1, wireType: 0, count: 1, totalByteLength: 1 }], + totalOccurrences: 1, + omittedOccurrences: 0, + omittedByteLength: 0, + }, + }); + + expect(() => + FetchSysFaces.deserialize( + {} as never, + { + specialMagicFace: { emojiList: [{ emojiDetail: [driftedFace] }] }, + } as never, + ), + ).toThrow(/unsupported wire encoding.*wireTypes=0/); + }); +}); + +describe('SysFaceStore — persistent catalog and query seam', () => { + const sender = {} as never; + + it.each(['snapshot', 'read error'] as const)( + 'does not replace a refreshed catalog with a late cache %s', + async (result) => { + const cache = deferred(); + const store = new SysFaceStore({ + storage: { load: () => cache.promise, save: async () => {} }, + fetchCatalog: async () => CATALOG, + }); + const ready = store.ensureReady(sender); + await store.refresh(sender); + + if (result === 'snapshot') { + cache.resolve({ schemaVersion: 1, fetchedAt: 1, packs: CATALOG.slice(0, 1) }); + } else { + cache.reject(new Error('obsolete cache read failed')); + } + + await ready; + await expect(store.getCatalog(sender)).resolves.toEqual(CATALOG); + expect(store.lookup(392)?.qSid).toBe('392'); + }, + ); + + it('waits for a refresh that started during the disk read', async () => { + const cache = deferred(); + const remote = deferred(); + const store = new SysFaceStore({ + storage: { load: () => cache.promise, save: async () => {} }, + fetchCatalog: () => remote.promise, + }); + let ready = false; + const reading = store.ensureReady(sender).then(() => { + ready = true; + }); + const refreshing = store.refresh(sender); + cache.resolve({ schemaVersion: 1, fetchedAt: 1, packs: CATALOG.slice(0, 1) }); + await new Promise((resolve) => setImmediate(resolve)); + expect(ready).toBe(false); + remote.resolve(CATALOG); + await Promise.all([reading, refreshing]); + expect(store.lookup(392)?.qSid).toBe('392'); + }); + + it('retains a failed cache read until an explicit refresh repairs the catalog', async () => { + const load = vi.fn(async () => { + throw new Error('corrupt cache'); + }); + const fetchCatalog = vi.fn(async () => CATALOG); + const store = new SysFaceStore({ storage: { load, save: async () => {} }, fetchCatalog }); + await expect(store.ensureReady(sender)).rejects.toThrow('corrupt cache'); + await expect(store.ensureReady(sender)).rejects.toThrow('corrupt cache'); + expect(load).toHaveBeenCalledOnce(); + expect(fetchCatalog).not.toHaveBeenCalled(); + await store.refresh(sender); + await expect(store.getCatalog(sender)).resolves.toEqual(CATALOG); + }); + + it('retries a failed login prewarm, then shares the completed job', async () => { + const load = vi.fn(async () => null); + const fetchCatalog = vi + .fn() + .mockRejectedValueOnce(new Error('network failed')) + .mockResolvedValueOnce(CATALOG); + const store = new SysFaceStore({ storage: { load, save: async () => {} }, fetchCatalog }); + await expect(store.prewarm(sender)).rejects.toThrow('network failed'); + const retry = store.prewarm(sender); + expect(store.prewarm(sender)).toBe(retry); + await retry; + await store.prewarm(sender); + expect(load).toHaveBeenCalledOnce(); + expect(fetchCatalog).toHaveBeenCalledTimes(2); + }); + + it('accepts face id 0 from the authoritative catalog', async () => { + const zero = entry('0', null, null, null, '/惊讶'); + const store = new SysFaceStore({ + storage: new MemoryCatalogStorage({ + schemaVersion: 1, + fetchedAt: 123, + packs: [{ packName: '经典', emojis: [zero] }], + }), + fetchCatalog: async () => { + throw new Error('network must not be used'); + }, + }); + + await store.ensureReady(sender); + + expect(store.lookup(0)?.qDes).toBe('/惊讶'); + expect(store.classify(0)).toEqual({ kind: 'classic' }); + }); + + it('loads a persisted catalog and resolves ids, descriptions, aliases, and pack names', async () => { + const storage = new MemoryCatalogStorage({ + schemaVersion: 1, + fetchedAt: 123, + packs: CATALOG, + }); + const store = new SysFaceStore({ + storage, + fetchCatalog: async () => { + throw new Error('network must not be used'); + }, + }); + + await store.ensureReady(sender); + + expect(store.lookup(392)?.qDes).toBe('/龙年快乐'); + expect(store.search('龙年').map((face) => face.qSid)).toEqual(['392']); + expect(store.search('SMILE').map((face) => face.qSid)).toEqual(['14']); + expect(store.search('经典').map((face) => face.qSid)).toEqual(['14']); + }); + + it('persists and searches Unicode catalog ids without exposing them as numeric face ids', async () => { + const unicodeFace = entry('😊', null, null, null, '/嘿嘿'); + unicodeFace.qCid = 128522; + unicodeFace.emCode = '400832'; + const catalog: SysFacePackEntry[] = [{ packName: 'emoji', emojis: [unicodeFace] }]; + const storage = new MemoryCatalogStorage(); + const store = new SysFaceStore({ + storage, + now: () => 456, + fetchCatalog: async () => catalog, + }); + + await expect(store.refresh(sender)).resolves.toEqual(catalog); + + expect(storage.saved[0]?.packs).toEqual(catalog); + expect(store.search('😊').map((face) => face.qSid)).toEqual(['😊']); + expect(store.search('嘿嘿').map((face) => face.qSid)).toEqual(['😊']); + expect(store.lookup(128522)).toBeNull(); + }); + + it('preserves one face across multiple catalog packs', async () => { + const commonFace = entry('474', 1, 4, 76, '/给你一拳'); + commonFace.emCode = '10474'; + const specialFace: SysFaceEntry = { + ...commonFace, + qDes: '/给你一拳(黄脸)', + emojiNameAlias: ['punch'], + }; + const catalog: SysFacePackEntry[] = [ + { packName: '超级表情', emojis: [commonFace] }, + { packName: 'QQ黄脸', emojis: [specialFace] }, + ]; + const storage = new MemoryCatalogStorage(); + const store = new SysFaceStore({ + storage, + now: () => 456, + fetchCatalog: async () => catalog, + }); + + await expect(store.refresh(sender)).resolves.toEqual(catalog); + + expect(storage.saved[0]?.packs).toEqual(catalog); + await expect(store.getCatalog(sender)).resolves.toEqual(catalog); + expect(store.lookup(474)).toEqual(commonFace); + expect(store.search('超级表情').map((face) => face.qSid)).toEqual(['474']); + expect(store.search('QQ黄脸').map((face) => face.qSid)).toEqual(['474']); + expect(store.search('punch').map((face) => face.qSid)).toEqual(['474']); + + const restored = new SysFaceStore({ + storage: new MemoryCatalogStorage(storage.saved[0]!), + fetchCatalog: async () => { + throw new Error('network must not be used'); + }, + }); + await restored.ensureReady(sender); + await expect(restored.getCatalog(sender)).resolves.toEqual(catalog); + expect(restored.search('QQ黄脸').map((face) => face.qSid)).toEqual(['474']); + }); + + it('still rejects empty identifiers and duplicates within one pack', () => { + const store = new SysFaceStore(); + + expect(() => + store.load([{ packName: 'emoji', emojis: [entry('', null, null, null)] }]), + ).toThrow(/invalid system face id/); + expect(() => + store.load([ + { + packName: 'emoji', + emojis: [entry('😊', null, null, null), entry('😊', null, null, null)], + }, + ]), + ).toThrow(/duplicate system face id/); + expect(() => + store.load([ + { packName: '超级表情', emojis: [entry('474', 1, 4, 76)] }, + { + packName: 'QQ黄脸', + emojis: [entry('474', 1, 4, 76), entry('474', 1, 4, 76)], + }, + ]), + ).toThrow(/duplicate system face id 474 within pack 1/); + }); + + it('rejects cross-pack copies with conflicting send metadata', () => { + const store = new SysFaceStore(); + + expect(() => + store.load([ + { packName: '超级表情', emojis: [entry('474', 1, 4, 76)] }, + { packName: 'QQ黄脸', emojis: [entry('474', 3, 2, 38)] }, + ]), + ).toThrow(/conflicting system face send metadata.*pack 0.*pack 1/); + }); + + it('allows non-addressable Unicode entries to carry panel-specific metadata', () => { + const store = new SysFaceStore(); + + expect(() => + store.load([ + { packName: 'emoji', emojis: [entry('😊', null, null, null, '/微笑')] }, + { packName: '最近使用', emojis: [entry('😊', 3, 2, 38, '/最近使用')] }, + ]), + ).not.toThrow(); + expect(store.search('最近使用').map((face) => face.qSid)).toEqual(['😊']); + }); + + it('coalesces concurrent refreshes and persists the authoritative result once', async () => { + const storage = new MemoryCatalogStorage(); + let fetches = 0; + let release!: (packs: SysFacePackEntry[]) => void; + const pending = new Promise((resolve) => { + release = resolve; + }); + const store = new SysFaceStore({ + storage, + now: () => 456, + fetchCatalog: async () => { + fetches += 1; + return pending; + }, + }); + + const first = store.refresh(sender); + const second = store.refresh(sender); + release(CATALOG); + await Promise.all([first, second]); + + expect(fetches).toBe(1); + expect(storage.saved).toEqual([ + { + schemaVersion: 1, + fetchedAt: 456, + packs: CATALOG, + }, + ]); + }); + + it('keeps usable faces when a server pack contains an id-less record', async () => { + const storage = new MemoryCatalogStorage(); + const response = FetchSysFaces.deserialize(sender, { + commonFace: { + emojiList: [ + { emojiPackName: '经典', emojiDetail: [{ qSid: '14', qDes: '/微笑' }] }, + { emojiPackName: '小表情', emojiDetail: [{ qSid: '424', qDes: '/比心' }] }, + ], + }, + specialBigFace: { + emojiList: [ + { + emojiPackName: '超级表情', + emojiDetail: [{ qSid: '392', qDes: '/龙年快乐' }], + }, + ], + }, + specialMagicFace: { + emojiList: [ + { + emojiDetail: [{ qDes: '/目录占位' }, { qSid: '999', qDes: '/魔法表情' }], + }, + ], + }, + } as never); + const store = new SysFaceStore({ + storage, + now: () => 456, + fetchCatalog: async () => response, + }); + + await expect(store.refresh(sender)).resolves.toHaveLength(4); + expect(store.lookup(14)?.qDes).toBe('/微笑'); + expect(store.lookup(999)?.qDes).toBe('/魔法表情'); + expect(storage.saved[0]?.packs[3]?.emojis.map((face) => face.qSid)).toEqual(['999']); + }); + + it('refreshes a cache miss once, then keeps an authoritative not-found result', async () => { + const storage = new MemoryCatalogStorage({ + schemaVersion: 1, + fetchedAt: 123, + packs: CATALOG.slice(0, 1), + }); + let fetches = 0; + const store = new SysFaceStore({ + fetchFace: async () => null, + storage, + fetchCatalog: async () => { + fetches += 1; + return CATALOG; + }, + }); + + expect((await store.resolve(sender, 392))?.qSid).toBe('392'); + expect(await store.resolve(sender, 99999)).toBeNull(); + expect(await store.resolve(sender, 99999)).toBeNull(); + expect(await store.resolveWire(sender, 99999)).toEqual({ kind: 'small' }); + expect(fetches).toBe(1); + }); + + it('prewarms from login only once per process while sharing the result across accounts', async () => { + let fetches = 0; + const store = new SysFaceStore({ + storage: new MemoryCatalogStorage(), + fetchCatalog: async () => { + fetches += 1; + return CATALOG; + }, + }); + + await Promise.all([ + store.prewarm({} as never), + store.prewarm({} as never), + store.prewarm({} as never), + ]); + await store.prewarm({} as never); + + expect(fetches).toBe(1); + }); + + it('waits for an in-flight login refresh before resolving a cached face', async () => { + const staleCatalog: SysFacePackEntry[] = [ + { + packName: '旧目录', + emojis: [entry('392', 1, 1, 52)], + }, + ]; + let release!: (packs: SysFacePackEntry[]) => void; + let markFetchStarted!: () => void; + const fetchStarted = new Promise((resolve) => { + markFetchStarted = resolve; + }); + const pending = new Promise((resolve) => { + release = resolve; + }); + const store = new SysFaceStore({ + storage: new MemoryCatalogStorage({ + schemaVersion: 1, + fetchedAt: 123, + packs: staleCatalog, + }), + fetchCatalog: async () => { + markFetchStarted(); + return pending; + }, + }); + + const prewarm = store.prewarm(sender); + await fetchStarted; + const resolved = store.resolveWire(sender, 392); + let settled = false; + void resolved.finally(() => { + settled = true; + }); + await Promise.resolve(); + expect(settled).toBe(false); + + release(CATALOG); + await expect(resolved).resolves.toMatchObject({ kind: 'super' }); + await prewarm; + }); +}); + +describe('makeFaceElem (via buildSendElems) — three-way wire encoding', () => { + const ctx = { bridge: {} as never }; + + it.each(['0', '2', 'variant'])( + 'preserves an explicit animation result %s', + async (resultId) => { + sysFaceStore.load(CATALOG); + const [element] = await buildSendElems([{ type: 'face', faceId: 392, resultId }], ctx); + expect(protobuf_decode(element.commonElem!.pbElem!)).toMatchObject({ + qsid: 392, + resultId, + randomType: 1, + }); + }, + ); + + it('keeps the default animation choice when no result is supplied', async () => { + sysFaceStore.load(CATALOG); + const [element] = await buildSendElems([{ type: 'face', faceId: 392 }], ctx); + const payload = protobuf_decode(element.commonElem!.pbElem!); + expect(payload.resultId).toBeNull(); + expect(payload.randomType).toBe(1); + }); + + it.each([14, 504])( + 'rejects an animation result without animation metadata for %i', + async (faceId) => { + sysFaceStore.load(CATALOG); + await expect( + buildSendElems([{ type: 'face', faceId, resultId: '0' }]), + ).rejects.toMatchObject({ + code: 'INVALID_FIELD', + elementType: 'face', + field: 'resultId', + }); + }, + ); + + it('rejects incompatible animation options before loading the catalog', async () => { + await expect( + buildSendElems([{ type: 'face', faceId: 392, large: false, resultId: '0' }], ctx), + ).rejects.toMatchObject({ code: 'INVALID_FIELD', field: 'resultId' }); + }); + + it('awaits an authoritative refresh when the first send misses the persisted catalog', async () => { + sysFaceStore.load(CATALOG.slice(0, 1)); + let requests = 0; + const responseData = protobuf_encode>({ + body: { + commonFace: { + emojiList: [ + { + emojiPackName: '经典', + emojiDetail: [{ qSid: '14', qDes: '/微笑' }], + }, + ], + }, + specialBigFace: { + emojiList: [ + { + emojiPackName: '超级表情', + emojiDetail: [ + { + qSid: '392', + qDes: '/龙年快乐', + aniStickerType: 3, + aniStickerPackId: 2, + aniStickerId: 38, + }, + ], + }, + ], + }, + }, + }); + const liveCtx = { + bridge: { + sendRawPacket: async () => { + requests += 1; + return { + success: true, + gotResponse: true, + errorCode: 0, + responseData, + }; + }, + } as never, + }; + + const [elem] = await buildSendElems([{ type: 'face', faceId: 392 }], liveCtx); + + expect(requests).toBe(1); + expect(elem.commonElem?.serviceType).toBe(37); + }); + + it('encodes each face id by its catalog classification', async () => { + sysFaceStore.load(CATALOG); // warm → ensureWarm no-ops, classify uses the catalog + + const [superElem] = await buildSendElems([{ type: 'face', faceId: 392 }], ctx); + expect(superElem.commonElem?.serviceType).toBe(37); + const big = protobuf_decode(superElem.commonElem!.pbElem!); + expect(big.qsid).toBe(392); + expect(big.packId).toBe('2'); + expect(big.stickerId).toBe('38'); + expect(superElem.commonElem?.businessType).toBe(3); + + const [animated] = await buildSendElems([{ type: 'face', faceId: 424 }], ctx); + expect(animated.commonElem?.serviceType).toBe(37); + expect(protobuf_decode(animated.commonElem!.pbElem!).stickerId).toBe('52'); + + const [smallElem] = await buildSendElems( + [{ type: 'face', faceId: 424, large: false }], + ctx, + ); + expect(smallElem.commonElem?.serviceType).toBe(33); + const small = protobuf_decode(smallElem.commonElem!.pbElem!); + expect(small.faceId).toBe(424); + + const [classicElem] = await buildSendElems([{ type: 'face', faceId: 14 }], ctx); + expect(classicElem.face?.index).toBe(14); + }); + + it('allows special animated faces to be sent small and normalizes newer business types', async () => { + sysFaceStore.load([{ packName: 'special', emojis: [entry('504', 4, 1, 90)] }]); + const [large] = await buildSendElems([{ type: 'face', faceId: 504, large: true }]); + expect(large.commonElem?.businessType).toBe(1); + expect(protobuf_decode(large.commonElem!.pbElem!).stickerType).toBe(4); + const [small] = await buildSendElems([{ type: 'face', faceId: 504, large: false }]); + expect(small.commonElem?.serviceType).toBe(33); + expect(protobuf_decode(small.commonElem!.pbElem!).faceId).toBe(504); + }); + + it('sends uncatalogued ids without inventing animation metadata', async () => { + sysFaceStore.load(CATALOG); + const [element] = await buildSendElems([{ type: 'face', faceId: 504 }]); + expect(element.commonElem?.serviceType).toBe(33); + expect(protobuf_decode(element.commonElem!.pbElem!).faceId).toBe(504); + }); +}); + +describe('system faces outside visible panels', () => { + it.each(['result', 'error'] as const)( + 'ignores an older catalog’s lookup %s after refresh', + async (outcome) => { + const stale = deferred(); + const started = deferred(); + const latest = entry('507', 1, 4, 108); + const fetchFace = vi + .fn() + .mockImplementationOnce(() => { + started.resolve(); + return stale.promise; + }) + .mockResolvedValue(latest); + const store = new SysFaceStore({ fetchCatalog: async () => CATALOG, fetchFace }); + const first = store.resolveWire({} as never, 507); + await started.promise; + await store.refresh({} as never); + const second = store.resolveWire({} as never, 507); + + if (outcome === 'result') { + stale.resolve(entry('507', 1, 4, 107)); + } else { + stale.reject(new Error('outdated lookup failed')); + } + + const expected = { kind: 'super', packId: '4', stickerId: '108', stickerType: 1 }; + await expect(first).resolves.toEqual(expected); + await expect(second).resolves.toEqual(expected); + expect(fetchFace).toHaveBeenCalledTimes(2); + expect(store.lookup(507)).toEqual(latest); + }, + ); + + it('uses an explicitly loaded catalog when an older single-face lookup completes', async () => { + const stale = deferred(); + const started = deferred(); + const fetchFace = vi.fn(() => { + started.resolve(); + return stale.promise; + }); + const store = new SysFaceStore({ fetchCatalog: async () => CATALOG, fetchFace }); + const result = store.resolveWire({} as never, 507); + await started.promise; + const latest = entry('507', 1, 4, 108); + store.load([{ packName: '最新', emojis: [latest] }]); + stale.resolve(entry('507', 1, 4, 107)); + await expect(result).resolves.toMatchObject({ stickerId: '108' }); + expect(store.lookup(507)).toEqual(latest); + }); + + it('resolves missing animation metadata once and shares concurrent lookups', async () => { + const fetchFace = vi.fn(async () => entry('507', 1, 4, 107)); + const store = new SysFaceStore({ fetchCatalog: async () => CATALOG, fetchFace }); + const [first, second] = await Promise.all([ + store.resolveWire({} as never, 507), + store.resolveWire({} as never, 507), + ]); + expect(first).toEqual({ kind: 'super', packId: '4', stickerId: '107', stickerType: 1 }); + expect(second).toEqual(first); + expect(store.lookup(507)?.qSid).toBe('507'); + await store.resolveWire({} as never, 507); + expect(fetchFace).toHaveBeenCalledOnce(); + }); + + it('does not silently send a small face after a lookup failure and permits retry', async () => { + const fetchFace = vi + .fn() + .mockRejectedValueOnce(new Error('lookup failed')) + .mockResolvedValueOnce(entry('507', 1, 4, 107)); + const store = new SysFaceStore({ fetchCatalog: async () => CATALOG, fetchFace }); + await expect(store.resolveWire({} as never, 507)).rejects.toThrow('lookup failed'); + await expect(store.resolveWire({} as never, 507)).resolves.toMatchObject({ kind: 'super' }); + }); + + it('rejects mismatched or incomplete animation metadata', async () => { + for (const face of [entry('506', 1, 4, 107), entry('507', 1, 4, null)]) { + const store = new SysFaceStore({ + fetchCatalog: async () => CATALOG, + fetchFace: async () => face, + }); + await expect(store.resolveWire({} as never, 507)).rejects.toThrow(); + expect(store.lookup(507)).toBeNull(); + } + }); +}); diff --git a/packages/protocol/tests/web/collection.test.ts b/packages/protocol/tests/web/collection.test.ts new file mode 100644 index 00000000..49449d18 --- /dev/null +++ b/packages/protocol/tests/web/collection.test.ts @@ -0,0 +1,713 @@ +import { afterEach, describe, expect, it, vi } from 'vitest'; +import type { bool, int_32, pb, pb_repeated, uint_32, uint_64 } from '@snowluma/proton'; +import { protobuf_decode, protobuf_encode } from '@snowluma/proton'; +import { getCollectionList } from '../../src/web/collection'; + +interface RequestHeadOracle { + uin?: pb<1, uint_64>; + sequence?: pb<2, uint_32>; + commandType?: pb<3, uint_32>; + operationId?: pb<4, uint_32>; + clientVersion?: pb<5, uint_64>; + platform?: pb<6, uint_32>; + ticketType?: pb<7, uint_32>; + reserved?: pb<10, uint_32>; + ticket?: pb<11, string>; + field14?: pb<14, uint_32>; + field15?: pb<15, uint_32>; +} + +interface GetCollectionListRequestOracle { + field1?: pb<1, uint_32>; + field2?: pb<2, uint_32>; + field3?: pb<3, uint_32>; + timeStamp?: pb<4, uint_64>; + orderType?: pb<5, uint_32>; + groupId?: pb<6, uint_64>; + count?: pb<7, uint_32>; + searchDown?: pb<8, uint_32>; + field9?: pb<9, uint_32>; +} + +interface RequestOperationOracle { + getCollectionList?: pb<20000, GetCollectionListRequestOracle>; +} + +interface RequestBodyOracle { + operation?: pb<1, RequestOperationOracle>; +} + +interface ResponseHeadOracle { + trace?: pb<1, string>; + retCode?: pb<101, int_32>; + retMsg?: pb<102, string>; + promptMsg?: pb<103, string>; +} + +interface CollectionAuthorOracle { + type?: pb<1, uint_32>; + numId?: pb<2, uint_64>; + strId?: pb<3, string>; + groupId?: pb<4, uint_64>; + groupName?: pb<5, string>; + uid?: pb<6, string>; +} + +interface CollectionTextSummaryOracle { + text?: pb<1, string>; + truncated?: pb<2, bool>; +} + +interface CollectionPictureInfoOracle { + url?: pb<1, string>; + width?: pb<6, uint_32>; + height?: pb<7, uint_32>; +} + +interface CollectionLinkSummaryOracle { + url?: pb<1, string>; + title?: pb<2, string>; + publisher?: pb<3, string>; + brief?: pb<4, string>; + picList?: pb_repeated<5, CollectionPictureInfoOracle>; + contentType?: pb<6, uint_32>; +} + +interface CollectionRichMediaSummaryOracle { + title?: pb<1, string>; + subTitle?: pb<2, string>; + brief?: pb<3, string>; + picList?: pb_repeated<4, CollectionPictureInfoOracle>; + contentType?: pb<5, uint_32>; + originalUri?: pb<6, string>; + publisher?: pb<7, string>; + richMediaVersion?: pb<8, uint_32>; +} + +interface CollectionSummaryOracle { + textSummary?: pb<1, CollectionTextSummaryOracle>; + linkSummary?: pb<2, CollectionLinkSummaryOracle>; + richMediaSummary?: pb<8, CollectionRichMediaSummaryOracle>; +} + +interface CollectionItemOracle { + cid?: pb<1, string>; + type?: pb<2, uint_32>; + status?: pb<3, uint_32>; + author?: pb<4, CollectionAuthorOracle>; + bid?: pb<5, uint_32>; + category?: pb<8, uint_32>; + createTime?: pb<9, uint_64>; + collectTime?: pb<10, uint_64>; + modifyTime?: pb<11, uint_64>; + sequence?: pb<12, uint_64>; + summary?: pb<15, CollectionSummaryOracle>; + shareUrl?: pb<18, string>; + customGroupId?: pb<20, uint_32>; + securityBeat?: pb<21, bool>; +} + +interface GetCollectionListResponseOracle { + items?: pb_repeated<1, CollectionItemOracle>; + totalCount?: pb<2, uint_32>; + reachedBottom?: pb<3, uint_32>; +} + +interface ResponseOperationOracle { + getCollectionList?: pb<20000, GetCollectionListResponseOracle>; +} + +interface ResponseBodyOracle { + operation?: pb<2, ResponseOperationOracle>; +} + +function encodeEnvelope(head: Uint8Array, body: Uint8Array): Uint8Array { + const totalLength = 16 + head.length + body.length; + const output = Buffer.alloc(totalLength); + output.set([0x20, 0x13, 0x03, 0x29, 0x00, 0x01], 0); + output.writeUInt32BE(totalLength, 6); + output.writeUInt32BE(body.length, 10); + output.set(head, 16); + output.set(body, 16 + head.length); + return output; +} + +function decodeRequestEnvelope(bytes: Uint8Array): { + head: RequestHeadOracle; + request: GetCollectionListRequestOracle; +} { + const input = Buffer.from(bytes); + expect(Array.from(input.subarray(0, 6))).toEqual([0x20, 0x13, 0x03, 0x29, 0x00, 0x01]); + expect(input.readUInt32BE(6)).toBe(input.length); + const bodyLength = input.readUInt32BE(10); + const headEnd = input.length - bodyLength; + const head = protobuf_decode(input.subarray(16, headEnd)); + const body = protobuf_decode(input.subarray(headEnd)); + const request = body.operation?.getCollectionList; + + if (!request) { + throw new Error('missing collection request body'); + } + + return { head, request }; +} + +function successResponse(items: CollectionItemOracle[], reachedBottom = 1): Uint8Array { + return encodeEnvelope( + protobuf_encode({ trace: 'response' }), + protobuf_encode({ + operation: { + getCollectionList: { + items, + totalCount: items.length, + reachedBottom, + }, + }, + }), + ); +} + +function errorResponse(retCode: number, retMsg: string): Uint8Array { + return encodeEnvelope( + protobuf_encode({ trace: 'response', retCode, retMsg }), + protobuf_encode({ operation: { getCollectionList: {} } }), + ); +} + +describe('getCollectionList', () => { + afterEach(() => vi.unstubAllGlobals()); + + it('uses the Weiyun collection envelope and maps the public result', async () => { + const transport = vi.fn( + async (request: { + url: string; + headers: Readonly>; + body: Uint8Array; + timeoutMs: number; + }) => { + expect(request.url).toBe('https://collector.weiyun.com/collector.fcg'); + expect(request.headers.Cookie).toBe('uin=10001;vt=27;vi=ticket-value;appid=5004'); + expect(request.headers.Range).toBe('bytes=0-'); + expect(request.timeoutMs).toBe(10_000); + + const { head, request: body } = decodeRequestEnvelope(request.body); + expect(head).toMatchObject({ + uin: 10001n, + sequence: 1, + commandType: 1, + operationId: 20000, + clientVersion: 0x6105f5e164fn, + platform: 4, + ticketType: 27, + ticket: 'ticket-value', + field14: 8, + field15: 9, + }); + expect(body).toMatchObject({ + field1: null, + field2: null, + field3: null, + timeStamp: 0xffff_ffff_ffff_ffffn, + orderType: 2, + groupId: null, + count: 50, + searchDown: 1, + field9: null, + }); + + return successResponse([ + { + cid: 'cid-1', + type: 1, + status: 0, + author: { + type: 2, + numId: 123n, + strId: 'author-id', + groupId: 456n, + groupName: 'group-name', + uid: 'u_author', + }, + bid: 3, + category: 4, + createTime: 1_000n, + collectTime: 1_100n, + modifyTime: 1_200n, + sequence: 1_300n, + summary: { textSummary: { text: 'hello', truncated: false } }, + shareUrl: 'https://example.invalid/share', + customGroupId: 5, + securityBeat: true, + }, + ]); + }, + ); + + const result = await getCollectionList({ + uin: '10001', + pskey: 'ticket-value', + category: 0, + count: 50, + transport, + }); + + expect(result).toEqual({ + errCode: 0, + errMsg: '', + collectionSearchList: { + collectionItemList: [ + { + cid: 'cid-1', + type: 1, + status: 0, + author: { + type: 2, + numId: '123', + strId: 'author-id', + groupId: '456', + groupName: 'group-name', + uid: 'u_author', + }, + bid: 3, + category: 4, + createTime: '1000', + collectTime: '1100', + modifyTime: '1200', + sequence: '1300', + summary: { + textSummary: { text: 'hello', truncated: false }, + linkSummary: null, + gallerySummary: null, + audioSummary: null, + videoSummary: null, + fileSummary: null, + locationSummary: null, + richMediaSummary: null, + }, + shareUrl: 'https://example.invalid/share', + customGroupId: 5, + securityBeat: true, + }, + ], + hasMore: false, + bottomTimeStamp: '1200', + }, + }); + expect(transport).toHaveBeenCalledTimes(1); + }); + + it('maps a type 2 link summary whose brief is a string without throwing', async () => { + // Regression: the old proto declared CollectionLinkSummary.picList at field 4, + // but the server puts the `brief` string there. Decoding a string as a message + // reads its first byte (0x43 = 'C') as a start-group tag and throws + // "protobuf unterminated group". The link summary now maps field 4 as brief. + const linkSummary: CollectionLinkSummaryOracle = { + url: 'https://example.invalid/article', + title: 'Example Article', + publisher: 'Example Publisher', + brief: 'Candy summary text that starts with a group-start byte', + picList: [{ url: 'https://example.invalid/cover.jpg', width: 1280, height: 720 }], + contentType: 1, + }; + + const result = await getCollectionList({ + uin: '10001', + pskey: 'ticket-value', + transport: async () => + successResponse( + [ + { + cid: 'cid-link', + type: 2, + author: { numId: 1n }, + modifyTime: 1_200n, + summary: { linkSummary }, + }, + ], + 1, + ), + }); + + const item = result.collectionSearchList.collectionItemList[0]; + expect(item.type).toBe(2); + expect(item.summary.linkSummary).toMatchObject({ + url: 'https://example.invalid/article', + title: 'Example Article', + publisher: 'Example Publisher', + brief: 'Candy summary text that starts with a group-start byte', + picList: [{ url: 'https://example.invalid/cover.jpg', field6: 1280, field7: 720 }], + contentType: 1, + }); + expect(item.summary.richMediaSummary).toBeNull(); + }); + + it('maps a type 8 rich media summary at field 8', async () => { + const richMediaSummary: CollectionRichMediaSummaryOracle = { + title: 'Rich Media Title', + subTitle: 'Rich Media Subtitle', + brief: 'Rich media brief', + picList: [{ url: 'https://example.invalid/rich.jpg', width: 800, height: 600 }], + contentType: 2, + originalUri: 'https://example.invalid/original', + publisher: 'Rich Publisher', + richMediaVersion: 3, + }; + + const result = await getCollectionList({ + uin: '10001', + pskey: 'ticket-value', + transport: async () => + successResponse( + [ + { + cid: 'cid-rich', + type: 8, + author: { numId: 2n }, + modifyTime: 1_300n, + summary: { richMediaSummary }, + }, + ], + 1, + ), + }); + + const item = result.collectionSearchList.collectionItemList[0]; + expect(item.type).toBe(8); + expect(item.summary.richMediaSummary).toMatchObject({ + title: 'Rich Media Title', + subTitle: 'Rich Media Subtitle', + brief: 'Rich media brief', + picList: [{ url: 'https://example.invalid/rich.jpg', field6: 800, field7: 600 }], + contentType: 2, + originalUri: 'https://example.invalid/original', + publisher: 'Rich Publisher', + richMediaVersion: 3, + }); + expect(item.summary.linkSummary).toBeNull(); + }); + + it('filters categories while following a strictly decreasing cursor', async () => { + const cursors: bigint[] = []; + const sequences: number[] = []; + const transport = vi.fn(async (request: { body: Uint8Array }) => { + const decoded = decodeRequestEnvelope(request.body); + cursors.push(decoded.request.timeStamp ?? 0n); + sequences.push(decoded.head.sequence ?? 0); + + if (cursors.length === 1) { + return successResponse( + [ + { + cid: 'other', + author: { numId: 1n }, + category: 2, + modifyTime: 1_200n, + }, + ], + 0, + ); + } + + return successResponse( + [ + { + cid: 'match', + author: { numId: 1n }, + category: 4, + modifyTime: 900n, + }, + ], + 1, + ); + }); + + const result = await getCollectionList({ + uin: '10001', + pskey: 'ticket-value', + category: 4, + count: 1, + transport, + }); + + expect(cursors).toEqual([0xffff_ffff_ffff_ffffn, 1_200n]); + expect(sequences).toEqual([1, 2]); + expect(result.collectionSearchList.collectionItemList.map((item) => item.cid)).toEqual([ + 'match', + ]); + expect(result.collectionSearchList.hasMore).toBe(false); + expect(result.collectionSearchList.bottomTimeStamp).toBe('900'); + }); + + it('checks later pages before reporting more filtered collection items', async () => { + const transport = vi.fn(async (request: { body: Uint8Array }) => { + const { head } = decodeRequestEnvelope(request.body); + + if (head.sequence === 1) { + return successResponse( + [ + { + cid: 'only-match', + author: { numId: 1n }, + category: 4, + modifyTime: 1_200n, + }, + ], + 0, + ); + } + + return successResponse( + [ + { + cid: 'different-category', + author: { numId: 2n }, + category: 2, + modifyTime: 1_100n, + }, + ], + 1, + ); + }); + + const result = await getCollectionList({ + uin: '10001', + pskey: 'ticket-value', + category: 4, + count: 1, + transport, + }); + + expect(transport).toHaveBeenCalledTimes(2); + expect(result.collectionSearchList.collectionItemList.map((item) => item.cid)).toEqual([ + 'only-match', + ]); + expect(result.collectionSearchList.hasMore).toBe(false); + expect(result.collectionSearchList.bottomTimeStamp).toBe('1200'); + }); + + it('surfaces explicit service failures instead of returning an empty list', async () => { + await expect( + getCollectionList({ + uin: '10001', + pskey: 'ticket-value', + transport: async () => errorResponse(-17, 'denied'), + }), + ).rejects.toThrow('collection service error -17: denied'); + }); + + it('fails when the server reports more data without advancing pagination', async () => { + const response = successResponse([], 0); + await expect( + getCollectionList({ + uin: '10001', + pskey: 'ticket-value', + category: 4, + count: 1, + transport: async () => response, + }), + ).rejects.toThrow('collection pagination made no progress'); + }); + + it('rejects an unbounded count before making a request', async () => { + const transport = vi.fn(); + await expect( + getCollectionList({ + uin: '10001', + pskey: 'ticket-value', + count: 501, + transport, + }), + ).rejects.toThrow('collection count must be between 1 and 500'); + expect(transport).not.toHaveBeenCalled(); + }); + + it('stops after the explicit pagination budget', async () => { + let calls = 0; + const transport = vi.fn(async () => { + calls += 1; + return successResponse( + [ + { + cid: `other-${calls}`, + author: { numId: 1n }, + category: 2, + modifyTime: BigInt(10_000 - calls), + }, + ], + 0, + ); + }); + + await expect( + getCollectionList({ + uin: '10001', + pskey: 'ticket-value', + category: 4, + count: 1, + transport, + }), + ).rejects.toThrow('collection pagination exceeded 100 pages'); + expect(transport).toHaveBeenCalledTimes(100); + }); + + it('bounds the total time spent paginating collection results', async () => { + vi.useFakeTimers(); + + try { + const timeouts: number[] = []; + let calls = 0; + const transport = vi.fn(async (request: { timeoutMs: number }) => { + calls += 1; + timeouts.push(request.timeoutMs); + vi.advanceTimersByTime(8_000); + return successResponse( + [ + { + cid: `other-${calls}`, + author: { numId: 1n }, + category: 2, + modifyTime: BigInt(10_000 - calls), + }, + ], + 0, + ); + }); + + await expect( + getCollectionList({ + uin: '10001', + pskey: 'ticket-value', + category: 4, + count: 1, + transport, + }), + ).rejects.toThrow('collection pagination exceeded 60000ms'); + expect(transport).toHaveBeenCalledTimes(8); + expect(timeouts.slice(0, 7)).toEqual(Array(7).fill(10_000)); + expect(timeouts[7]).toBe(4_000); + } finally { + vi.useRealTimers(); + } + }); + + it.each([ + ['cid', { author: { numId: 1n }, modifyTime: 1n }, 'collection item is missing cid'], + ['author', { cid: 'cid-1', modifyTime: 1n }, 'collection item cid-1 is missing author'], + [ + 'modifyTime', + { cid: 'cid-1', author: { numId: 1n } }, + 'collection item cid-1 is missing modifyTime', + ], + ] as const)('rejects collection items missing required %s', async (_field, item, message) => { + await expect( + getCollectionList({ + uin: '10001', + pskey: 'ticket-value', + transport: async () => successResponse([item], 1), + }), + ).rejects.toThrow(message); + }); + + it('uses the last returned item for the public cursor when count truncates a page', async () => { + const result = await getCollectionList({ + uin: '10001', + pskey: 'ticket-value', + count: 1, + transport: async () => + successResponse( + [ + { cid: 'first', author: { numId: 1n }, modifyTime: 1_200n }, + { cid: 'not-returned', author: { numId: 2n }, modifyTime: 1_100n }, + ], + 1, + ), + }); + + expect(result.collectionSearchList.collectionItemList.map((item) => item.cid)).toEqual([ + 'first', + ]); + expect(result.collectionSearchList.bottomTimeStamp).toBe('1200'); + expect(result.collectionSearchList.hasMore).toBe(true); + }); + + it('cancels a failed HTTP response body before surfacing the status', async () => { + const cancel = vi.fn(); + const stream = new ReadableStream({ cancel }); + vi.stubGlobal( + 'fetch', + vi.fn( + async () => + new Response(stream, { + status: 503, + statusText: 'Unavailable', + }), + ), + ); + + await expect( + getCollectionList({ + uin: '10001', + pskey: 'ticket-value', + }), + ).rejects.toThrow('collection HTTP request failed: 503 Unavailable'); + expect(cancel).toHaveBeenCalledOnce(); + }); + + it.each([ + ['invalid', 'collection response has invalid content-length'], + [`${16 * 1024 * 1024 + 1}`, 'collection response exceeds 16777216 bytes'], + ])('cancels response bodies rejected by content-length %s', async (contentLength, message) => { + const cancel = vi.fn(); + const stream = new ReadableStream({ cancel }); + vi.stubGlobal( + 'fetch', + vi.fn( + async () => + new Response(stream, { + headers: { 'Content-Length': contentLength }, + }), + ), + ); + + await expect( + getCollectionList({ + uin: '10001', + pskey: 'ticket-value', + }), + ).rejects.toThrow(message); + expect(cancel).toHaveBeenCalledOnce(); + }); + + it('preserves both the primary response error and cancellation failure', async () => { + const primary = new Error('collection response has invalid content-length'); + const cleanup = new Error('cancel failed'); + const stream = new ReadableStream({ + cancel: () => { + throw cleanup; + }, + }); + vi.stubGlobal( + 'fetch', + vi.fn( + async () => + new Response(stream, { + headers: { 'Content-Length': 'invalid' }, + }), + ), + ); + + let thrown: unknown; + + try { + await getCollectionList({ uin: '10001', pskey: 'ticket-value' }); + } catch (error) { + thrown = error; + } + + expect(thrown).toBeInstanceOf(AggregateError); + const aggregate = thrown as AggregateError; + expect(aggregate.errors).toHaveLength(2); + expect(aggregate.errors[0]).toMatchObject({ message: primary.message }); + expect(aggregate.errors[1]).toBe(cleanup); + }); +}); diff --git a/packages/protocol/tests/web/fixtures/friend-dress-sample.html b/packages/protocol/tests/web/fixtures/friend-dress-sample.html new file mode 100644 index 00000000..e756053a --- /dev/null +++ b/packages/protocol/tests/web/fixtures/friend-dress-sample.html @@ -0,0 +1,66 @@ + + + + + + + diff --git a/packages/protocol/tests/web/fixtures/qzone-feeds-sample.jsonp b/packages/protocol/tests/web/fixtures/qzone-feeds-sample.jsonp new file mode 100644 index 00000000..0ff00769 --- /dev/null +++ b/packages/protocol/tests/web/fixtures/qzone-feeds-sample.jsonp @@ -0,0 +1,8 @@ +_preloadCallback({ + "code":0, + "subcode":0, + "message":"", + "default":0, + "data": +{main:{attach:'',searchtype :'',hasMoreFeeds:false,daylist:'',uinlist:'',error:'',hotkey:'',icGroupData:[],host_level:'',friend_level:'',lastaccesstime:'',lastAccessRelateTime:'',begintime:'1780711209',endtime:'',dayspac:'11',hidedNameList:[], aisortBeginTime:'', aisortEndTime:'', aisortOffset:'', aisortNextTime:'',owner_bitmap:'08009c8802000401',pagenum:'2',externparam:'basetime=1780711209&pagenum=2&dayvalue=11&getadvlast=0&hasgetadv=&lastentertime=0&LastAdvPos=0&UnReadCount=1&UnReadSum=1&LastIsADV=0&UpdatedFollowUins=&UpdatedFollowCount=0&LastRecomBrandID=&TRKPreciList=&gdtadvcookie=eyJsYXN0X2Fkdl9wb3NpdGlvbiI6LTF9'},data:[{ver:'1',appid:'311',typeid:'0',key:'aef23101297f236ae4f10600',flag:'0',dataonly:'0',titleTemp:'',summaryTemp:'',feedno:'0',title:'',summary:'',appiconid:'311',clscFold:'icenter_list_extend',abstime:'1780711209',feedstime:'6月6日 10:00',userHome:'http://user.qzone.qq.com/20050606',namecardLink:'nameCard_20050606',opuin:'20050606',uin:'20050606',ouin:'',foldFeed:'',foldFeedTitle:'',showEbtn:'',scope:'0',hideExtend:'',nickname:'官方Qzone',emoji:[],remark:'',type:'',vip:'novip',bitmap:'989d9de01513c081',yybitmap:'100008000000000b',info_user_name:'',logimg:'http://qlogo3.store.qq.com/qzone/20050606/20050606/50?1450773587',bor:'',lastFeedBor:'',list_bor2:'',info_user_display:'',upernum:'',oprType:'0',moreflag:'',otherflag:'1_0_1_0_0_0_1',rightflag:'',sameuser:{},uper_isfriend:[],uperlist:[],smallstar:'',html:' \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t\t\t\t\t\t\t\t\t\t\t\t\t\t \x3Cli class=\x22f-single f-s-s\x22 id=\x22fct_20050606_311_0_1780711209_0_1\x22>\x3Cdiv class=\x22f-single-head f-aside\x22>\x3Cdiv class=\x22f-adorn-top\x22>\x3C\/div> \x3Cdiv class=\x22user-pto\x22>\x3Ca href=\x22http:\/\/user.qzone.qq.com\/20050606\x22 target=\x22_blank\x22 class=\x22user-avatar q_namecard f-s-a\x22 link=\x22nameCard_20050606\x22 data-clicklog=\x22avatar\x22>\x3Cimg src=\x22https:\/\/qlogo3.store.qq.com\/qzone\/20050606\/20050606\/50?1450773587\x22>\x3C\/a>\x3C\/div>\x3Cdiv class=\x22user-op\x22>\x3Ca href=\x22javascript:;\x22 class=\x22arrow-down\x22 data-cmd=\x22qz_opr_more\x22 data-moreoperate=\x220\x22>\x3Ci class=\x22fui-icon icon-arrow-down\x22>\x3C\/i>\x3C\/a> \x3C\/div>\x3Cdiv class=\x22user-info\x22>\x3Cdiv class=\x22f-nick\x22>\x3Ca target=\x22_blank\x22 href=\x22http:\/\/user.qzone.qq.com\/20050606\x22 data-clicklog=\x22nick\x22 class=\x22f-name q_namecard \x22 link=\x22nameCard_20050606\x22>官方Qzone\x3C\/a> \x3Ca target=\x22_blank\x22 href=\x22http:\/\/page.qq.com\x22 class=\x22user-medal\x22>\x3Cimg class=\x22ui_mr5\x22 src=\x22\/ac\/qzone_v5\/client\/auth_icon.png\x22 title=\x22腾讯认证\x22 alt=\x22腾讯认证\x22 \/>\x3C\/a> \x3C\/div>\x3Cdiv class=\x22info-detail\x22>\t\t\t\t\t\x3Cspan class=\x22 ui-mr8 state\x22 >\t\t6月6日 10:00\t\t\x3C\/span>\t\t\x3Ca href=\x22javascript:;\x22 data-cmd=\x22qz_sign\x22 class=\x22f-sign-show state\x22 title=\x22我也要设置\x22>\x3C\/a>\x3C\/div>\x3C\/div>\x3C\/div>\x3Cdiv class=\x22f-single-content f-wrap\x22>\x3Cdiv class=\x22f-item f-s-i\t\x22 id=\x22feed_20050606_311_0_1780711209_0_1\x22 data-feedsflag=\x22\x22 data-iswupfeed=\x221\x22 data-key=\x22aef23101297f236ae4f10600\x22 data-specialtype=\x22\x22 data-extend-info=\x221_0_1_0_0_0_1|989d9de01513c081|100008000000000b\x22 data-functype=\x22func_friend_feed\x22 data-hasfollowed=\x221\x22>\x3Cdiv class=\x22f-info qz_info_cut\x22>\t\t\t\t\t时间从不说谎,它把你以为的妄想,悄悄兑换成了现实;它把你以为忘了的那些日子,原原本本保存了下来。\x3Cbr\/>21年了,QQ空间也记得。\x3Cbr\/>今天,「那年今日」更新了—— 翻开那些年的说说、照片和动态,被收进时光里的每一个你,都还在。\x3Cbr\/>不用刻意回忆,不用费力寻找,它自己找到你,轻轻拍了拍你的肩。\x3Cbr\/>\t\t \x3Ca href=\x22javascript:;\x22 data-cmd=\x22qz_toggle\x22 data-pos=\x221\x22>展开全文\x3C\/a>\x3Cimg src=\x22http:\/\/qzonestyle.gtimg.cn\/qzone_v6\/img\/feed\/loading.gif\x22 class=\x22load_img none\x22>\x3C\/div>\x3Cdiv class=\x22f-info qz_info_complete none\x22>\x3C\/div>\x3Cdiv class=\x22qz_summary wupfeed\x22 id=\x22hex_20050606_311_0_1780711209_0_1\x22>\x3Ci class=\x22none\x22 name=\x22feed_data\x22 \t data-bitmap=\x22989d9de01513c081\x22\t data-yybitmap=\x22100008000000000b\x22\t data-vipstarbitmap=\x220100004002000080\x22\t\t data-fkey=\x22aef23101297f236ae4f10600\x22\t data-tid=\x22aef23101297f236ae4f10600\x22\t data-uin=\x2220050606\x22\t data-origfkey=\x22\x22\t data-origtid=\x22aef23101297f236ae4f10600\x22\t data-origuin=\x2220050606\x22\t data-subid=\x22\x22\t data-totweet=\x22\x22\t data-issignin=\x22\x22\t data-source=\x22\x22\t data-retweetcount=\x221\x22\t data-stat=\x22exNDgYmCtvjmonh4K6e5PbvTJDuPAUSNib6qlt2tPSxjX2r0nouNT4bs6UTPWfIfxQBQa7z!kH9ELZBD0r25iV6FuCL0P8cG6914CLBsLy297p1QCYK618bKYmDnJRgWOJRuWEuCwKpiEkd3B!O!uSIc!Hpwf5zceJM2h16yaSuK3pjKxpNwq1oLq4MIM4BZMzAkbzg1AwK34lk5dZEXd8aRZL0TQrBX_\x22 \t data-topicid=\x2220050606_aef23101297f236ae4f10600__1\x22 \t \t data-feedstype=\x22100\x22 \t data-abstime=\x221780711209\x22 \t data-iswupfeed=\x221\x22 \t\t\t data-platformid=\x2252\x22 \t\t\t\t\t data-accessright=\x221\x22\t\t\t\t\t\t\t\t\t\t\t\t>\x3C\/i>\x3Cdiv class=\x22f-ct \x22>\x3Cdiv class=\x22f-ct-txtimg fui-txtimg f-ct-video \x22> \x3Cdiv class=\x22txt-box \x22> \t\t\t\t\t\t\t\t\t \x3C\/div> \x3Cdiv class=\x22img-box f-video-wrap play\x22 url3=\x22https:\/\/photovideo.photo.qq.com\/1074_0b53eyz7eaicg4ai2kzbwzvdajqe6keaeaca.f20.mp4?dis_k=af9adeffd476b770519e37826170e96a&dis_t=1782911754&vuin=3433035623&owner=MjAwNTA2MDY=\x22 > \x3Ca class=\x22img-item \x22data-cmd=\x22qz_popup\x22 href=\x22https:\/\/user.qzone.qq.com\/20050606\/311\/1074_0b53eyz7eaicg4ai2kzbwzvdajqe6keaeaca\x22 data-v_itemid=\x221074_0b53eyz7eaicg4ai2kzbwzvdajqe6keaeaca\x22 data-v_type=\x221\x22 data-v_picinfo_url=\x22https:\/\/m.qpic.cn\/psc?\/eabfd933-2c89-47cc-8138-5b5463dab9e9\/MgefXoixntJCvPruFHdJTSW.iR0yk*dsdY1s2MYZO1w1*EHOCLeibHhhEFGLCO98HKhHMnNLec2Vz6nVgZnqGo9yAiFqlb*K5FC72D3XGY4!\/c&bo=OASABwAAAAABJ7s!\x22 data-v_picinfo_width=\x22512\x22 data-v_picinfo_height=\x22910\x22 data-v_vidiourl=\x22\x22 data-v_vidioswfurl=\x22https:\/\/photovideo.photo.qq.com\/1074_0b53eyz7eaicg4ai2kzbwzvdajqe6keaeaca.f20.mp4?dis_k=af9adeffd476b770519e37826170e96a&dis_t=1782911754&vuin=3433035623&owner=MjAwNTA2MDY=\x22 data-v_h265=\x22\x22 data-v_source_website=\x22\x22 data-v_writefrom=\x22\x22 data-videotype= \x22mood\x22 data-clicklog=\x22video\x22 hotclickPath=\x22\x22 hotdomain=\x22\x22 data-weishi_feedid=\x22\x22 data-version=\x223\x22 data-param=\x223&videosrc=https%3A%2F%2Fphotovideo.photo.qq.com%2F1074_0b53eyz7eaicg4ai2kzbwzvdajqe6keaeaca.f20.mp4%3Fdis_k%3Daf9adeffd476b770519e37826170e96a%26dis_t%3D1782911754%26vuin%3D3433035623%26owner%3DMjAwNTA2MDY%3D&type=1&org_vidio_url=\x22 data-src=\x22\/qzone\/app\/mood\/richinfo_view.html\x22 data-width=\x22512\x22 data-height=\x22512\x22 data-type=\x22popup\x22 data-title=\x22\x22 data-config=\x22\x22 data-extendinfo1 =\x22\x22 data-extendinfo2 =\x22\x22 data-extendinfo3 =\x22\x22 data-extendinfo4 =\x22\x22 data-extendinfo11 =\x22\x22> \x3Cdiv class=\x22video-img\x22> \x3Ci class=\x22inner icon-media-play\x22>\x3C\/i> \x3Cimg alt=\x22视频缩略图\x22 style=\x22object-fit: contain; max-width:560px; max-height:560px; width:100%; height: 100%; margin: \x22 src=\x22https:\/\/m.qpic.cn\/psc?\/eabfd933-2c89-47cc-8138-5b5463dab9e9\/MgefXoixntJCvPruFHdJTSW.iR0yk*dsdY1s2MYZO1w1*EHOCLeibHhhEFGLCO98HKhHMnNLec2Vz6nVgZnqGo9yAiFqlb*K5FC72D3XGY4!\/c&bo=OASABwAAAAABJ7s!\x22 \/> \x3C\/div> \x3C\/a> \x3C\/div> \x3C\/div>\x3Cdiv class=\x22f-reprint\x22> \x3Cp class=\x22item\x22> \x3Ci class=\x22fui-icon icon-print-phone\x22>\x3C\/i>\x3Cspan class=\x22ui-mr8 state\x22>来自\t\t\t\t\t\t\t\t\t \t\t\t\t\t\t\t\x3Ca href=\x22http:\/\/z.qzone.com?from=iphonegrzxpl\x22 \t\t\t\t\t\t\t\t\t\t\ttarget=\x22_blank\x22 \t\t\t\t\t\t\t\t\t\t\t\t class=\x22 phone-style state\x22\t>\t\tiPhone\t\t\x3C\/a>\t\t\t \t\t\t\x3C\/span> \x3C\/p> \x3C\/div> \x3C\/div>\x3C\/div>\x3C\/div>\x3C\/div>\x3Cdiv class=\x22f-single-foot\x22>\x3Cdiv class=\x22f-op-detail f-detail \x22>\t\t\x3Cp class=\x22op-list\x22>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\x3Ca \t\t\tclass=\x22item qz_retweet_btn \x22 \t\t\thref=\x22javascript:;\x22 \t\t\tdata-cmd=\x22qz_popup\x22 \t\t\tdata-version=\x224\x22 \t\t\t\t\t\tdata-isnewtype=\x221\x22 \t\t\tdata-type=\x22ForwardingBox\x22 \t\t\tdata-src=\x22\/qzone\/app\/controls\/forwardingBox\/forwardingBoxFacade.js\x22 \t\t\tdata-clicklog=\x22retweet\x22 \t\t\tdata-publicpav=\x22\x22 \t\t\t\t\t>\t\t\t\x3Ci class=\x22fui-icon icon-op-share\x22>\x3C\/i>\t\t\x3C\/a>\t\t\t\t\t\t\t\t\t\t\x3Cspan class=\x22item-line\x22>\x3C\/span>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t \t\t\t\t\t\x3Ca href=\x22javascript:;\x22 \t\t\t\t\t\t\t\t\t\t\t\t\tdata-version=\x226.3\x22 \t\t\t\t\tdata-cmd=\x22qz_reply\x22 \t\t\t\t\tdata-link=\x221\x22 \t\t\t\t\tdata-clicklog=\x22comment\x22 \t\t\t\t\t\t\t class=\x22 qz_btn_reply item \x22\t>\t\t\t\x3Ci class=\x22fui-icon icon-op-comment\x22>\x3C\/i>\t\t\t\t\t\t\x3C\/a>\t\t\t \t\t\t\t\t\t\t\t\t\t\t\x3Cspan class=\x22item-line\x22>\x3C\/span>\t\t\t\x3Ca class=\x22item qz_like_btn_v3 \x22 \t\t\t\t\t\tdata-islike=\x220\x22 \t\t\t\t\t\tdata-likecnt=\x223173513\x22 \t\t\tdata-showcount=\x220\x22 \t\t\tdata-unikey=\x22http:\/\/user.qzone.qq.com\/20050606\/mood\/aef23101297f236ae4f10600\x22 \t\t\tdata-curkey=\x22http:\/\/user.qzone.qq.com\/20050606\/mood\/aef23101297f236ae4f10600\x22 \t\t\t\t\t\t\tdata-clicklog=\x22like\x22 \t\t\t\t\t\t\t\t\thref=\x22javascript:;\x22\t\t>\t\t\t\x3Ci class=\x22fui-icon icon-op-praise\x22>\x3C\/i>\t\t\x3C\/a>\t\t\t\t\x3C\/p>\x3Ca href=\x22javascript:;\x22 class=\x22state qz_feed_plugin\x22 data-role=\x22Visitor\x22 data-config=\x22311|aef23101297f236ae4f10600|20050606\x22 data-clicklog=\x22visitor\x22>浏览173581134次\x3C\/a>\x3C\/div> \x3Cdiv class=\x22f-like-list f-like _likeInfo\x22 likeinfo=\x223173513\x22>\x3Cdiv class=\x22icon-btn\x22>\x3Ca href=\x22javascript:;\x22 data-islike=\x220\x22 data-likecnt=\x223173513\x22 data-showcount=\x223173513\x22 data-unikey=\x22http:\/\/user.qzone.qq.com\/20050606\/mood\/aef23101297f236ae4f10600\x22 data-curkey=\x22http:\/\/user.qzone.qq.com\/20050606\/mood\/aef23101297f236ae4f10600\x22 data-clicklog=\x22like\x22 class=\x22praise qz_like_prase\x22>\x3Ci class=\x22fui-icon icon-list-praise\x22>\x3C\/i>\x3C\/a>\x3Cdiv class=\x22bubble\x22 style=\x22display:none;\x22>\x3Cdiv class=\x22bd\x22>+1\x3C\/div>\x3Cb class=\x22arrow arrow-down\x22>\x3C\/b>\x3C\/div>\x3C\/div>\x3Cdiv class=\x22user-list\x22>\x3Cspan class=\x22f-like-cnt f-famous-qzone\x22>3173513\x3C\/span>人觉得很赞\x3C\/div>\x3C\/div>\x3Cdiv class=\x22mod-comments\x22 style=\x22padding:0\x22>\x3Cdiv class=\x22mod-commnets-poster feedClickCmd comment_default_inputentry\x22 data-cmd=\x22qz_reply\x22 data-version=\x226\x22 data-action=\x22http:\/\/taotao.qq.com\/cgi-bin\/emotion_cgi_re_feeds\x22 data-param=\x22t1_source=&t1_uin=20050606&t1_tid=aef23101297f236ae4f10600&signin=0&sceneid=100\x22 data-charset=\x22utf-8\x22 data-maxLength=\x22\x22 data-tuin=\x2220050606\x22 data-config=\x221|1|1|1,b52,with_fwd,同时转发;0|1,taotaoact.qzone.qq.com,@InputReply|1,taotaoact.qzone.qq.com,@ClickReply|1,taotaoact.qzone.qq.com,commentPresentClick\x22 data-tid=\x22\x22 >\x3Cdiv class=\x22comments-poster-bd comments-poster-default\x22>\x3Cdiv class=\x22comments-box\x22 data-clicklog=\x22comment\x22>\x3Cdiv class=\x22textinput textinput-default bor2\x22 contenteditable=\x22true\x22 alt=\x22replybtn\x22 placeholder=\x22评论\x22>\x3Ca class=\x22c_tx3\x22 href=\x22javascript:void(0);\x22 alt=\x22replybtn\x22>评论\x3C\/a>\x3C\/div>\x3Cdiv class=\x22mod-insert-img\x22>\x3Ca href=\x22javascript:;\x22 data-cmd=\x22qz_quick_upload_img\x22 class=\x22btn-insert-img bg\x22>\x3Ci class=\x22icon-camera-16\x22>\x3C\/i>\x3C\/a>\x3C\/div>\x3C\/div>\x3C\/div>\x3C\/div>\x3C\/div> \x3C\/div>\x3C\/li>\t', mergeData:[undefined], likecnt:'', relycnt:'', commentcnt:''},undefined]}} +); diff --git a/packages/protocol/tests/web/friend-dress.test.ts b/packages/protocol/tests/web/friend-dress.test.ts new file mode 100644 index 00000000..3c0775a5 --- /dev/null +++ b/packages/protocol/tests/web/friend-dress.test.ts @@ -0,0 +1,264 @@ +import { afterEach, describe, expect, it, vi } from 'vitest'; +import { readFileSync } from 'node:fs'; +import { fileURLToPath } from 'node:url'; +import { FriendDressError, getFriendDressWebAPI } from '@snowluma/protocol/web/friend-dress'; +import { RequestUtil } from '@snowluma/protocol/web/request-util'; + +// 真实装扮页 SSR HTML(脱敏:uin 改为 10000、头像 hash 已打码)。 +// __INITIAL_ASYNCDATA__ 里 7 项装扮:气泡(2)/名片(15)/彩色屏保(22)/来电(17)/ +// 挂件(4)/头像(23)/头像双击动作(47) —— 其中 2/23 属服务器不回真值的废数据。 +const SAMPLE_HTML = readFileSync( + fileURLToPath(new URL('./fixtures/friend-dress-sample.html', import.meta.url)), + 'utf8', +); + +const cookies = { uin: 'o10001', skey: 'SKEY', p_uin: 'o10001', p_skey: 'PSKEY' }; + +/** 把任意 asyncData 对象包成最小可解析的 SSR HTML。 */ +const wrapHtml = (data: unknown): string => + ``; + +const mockHtml = (html: string) => + vi.spyOn(RequestUtil, 'HttpGetText').mockResolvedValue(html as never); + +describe('friend-dress / real sample parsing', () => { + afterEach(() => vi.restoreAllMocks()); + + it('sends cookie + mobile UA to zb.vip.qq.com with the target uin', async () => { + const request = mockHtml(SAMPLE_HTML); + await getFriendDressWebAPI(cookies, '10000'); + + const [url, method, , headers, limits] = request.mock.calls[0]!; + expect(url).toContain('https://zb.vip.qq.com/v2/pages/aioDressPage?'); + expect(url).toContain('targetUin=10000'); + // traceDetail 是预编码的 base64 串,必须原样出现(不能被二次编码成 base64%2D…)。 + expect(url).toContain('&traceDetail=base64-'); + expect(method).toBe('GET'); + expect(headers).toMatchObject({ + Cookie: 'uin=o10001; skey=SKEY; p_uin=o10001; p_skey=PSKEY', + }); + expect((headers as Record)['User-Agent']).toContain('QQ/'); + expect(limits).toEqual({ + timeoutMs: 10_000, + maxResponseBytes: 2 * 1024 * 1024, + }); + }); + + it('parses the real page: svip, avatar, and only resolvable dress items', async () => { + mockHtml(SAMPLE_HTML); + const dress = await getFriendDressWebAPI(cookies, '10000'); + + expect(dress.target_uin).toBe('10000'); + expect(dress.is_svip).toBe(true); + expect(dress.avatar_url).toBe('https://q.qlogo.cn/g?b=qq&nk=10000&s=100'); + + // 气泡(2)/头像(23) 是服务器永远回默认款的废数据,必须被剔除。 + const appIds = dress.items.map((i) => i.app_id); + expect(appIds).not.toContain(2); + expect(appIds).not.toContain(23); + expect(appIds).toEqual([15, 22, 17, 4, 47]); + }); + + it('maps item fields: kind, itemId default 0, price default 0', async () => { + mockHtml(SAMPLE_HTML); + const dress = await getFriendDressWebAPI(cookies, '10000'); + + const card = dress.items.find((i) => i.app_id === 15)!; + expect(card.kind).toBe('名片'); + expect(card.item_id).toBe(201534); + expect(card.name).toBe('二次元少女'); + expect(card.preview_url).toBe( + 'https://tianquan.gtimg.cn/card/original/201534/templateThumb.jpg', + ); + expect(card.price).toBe(0); + + // 默认挂件没有 itemId 字段 → 0。 + const widget = dress.items.find((i) => i.app_id === 4)!; + expect(widget.item_id).toBe(0); + expect(widget.kind).toBe('挂件'); + }); + + it('derives the funcall video url from the real web_image.jpg preview', async () => { + mockHtml(SAMPLE_HTML); + const dress = await getFriendDressWebAPI(cookies, '10000'); + + const funcall = dress.items.find((i) => i.app_id === 17)!; + expect(funcall.preview_url).toBe( + 'https://tianquan.gtimg.cn/funcall/funCall/2730/web_image.jpg', + ); + expect(funcall.video_url).toBe('https://tianquan.gtimg.cn/funcall/funCall/2730/media.mp4'); + }); +}); + +describe('friend-dress / synthetic payloads', () => { + afterEach(() => vi.restoreAllMocks()); + + const base = { + targetUin: '10000', + isSvip: false, + avatarImage: '', + rawUsingList: [] as unknown[], + }; + + it('an empty rawUsingList is a valid result, not an error', async () => { + mockHtml(wrapHtml(base)); + const dress = await getFriendDressWebAPI(cookies, '10000'); + expect(dress.items).toEqual([]); + expect(dress.is_svip).toBe(false); + }); + + it('does NOT return the image url as video when a funcall preview has an unexpected name', async () => { + mockHtml( + wrapHtml({ + ...base, + rawUsingList: [ + { + appId: 17, + itemId: 1, + name: 'x', + image: 'https://cdn.example/funCall/1/preview.png', + }, + ], + }), + ); + const dress = await getFriendDressWebAPI(cookies, '10000'); + expect(dress.items[0]!.video_url).toBe(''); + expect(dress.items[0]!.preview_url).toBe('https://cdn.example/funCall/1/preview.png'); + }); + + it('extracts the card video from immersiveMaterial', async () => { + mockHtml( + wrapHtml({ + ...base, + rawUsingList: [ + { + appId: 15, + itemId: 1, + name: 'a', + image: 'https://cdn.example/a.jpg', + extraappinfo: { + extraInfo: { + immersiveMaterial: '{"videoUrl":"https://cdn.example/a.mp4"}', + }, + }, + }, + ], + }), + ); + const dress = await getFriendDressWebAPI(cookies, '10000'); + expect(dress.items[0]!.video_url).toBe('https://cdn.example/a.mp4'); + }); + + it('labels unknown appIds without dropping them', async () => { + mockHtml( + wrapHtml({ + ...base, + rawUsingList: [{ appId: 999, itemId: 7, name: 'n', image: '' }], + }), + ); + const dress = await getFriendDressWebAPI(cookies, '10000'); + expect(dress.items[0]!.kind).toBe('appId=999'); + }); +}); + +describe('friend-dress / error classification', () => { + afterEach(() => vi.restoreAllMocks()); + + const expectKind = async (uin: string, kind: string) => { + const e = await getFriendDressWebAPI(cookies, uin).catch((err: unknown) => err); + expect(e).toBeInstanceOf(FriendDressError); + expect((e as FriendDressError).kind).toBe(kind); + return e as FriendDressError; + }; + + it('network: transport failure is not folded into a parse error', async () => { + vi.spyOn(RequestUtil, 'HttpGetText').mockRejectedValue( + new Error('Unexpected status code: 403'), + ); + const e = await expectKind('10000', 'network'); + expect(e.message).toContain('403'); + }); + + it('parse: html without __INITIAL_ASYNCDATA__ (login-wall / risk-control shell)', async () => { + mockHtml('请先登录'); + await expectKind('10000', 'parse'); + }); + + it('parse: __INITIAL_ASYNCDATA__ present but not valid JSON', async () => { + mockHtml(''); + await expectKind('10000', 'parse'); + }); + + it('parse: a top-level array never matches the SSR object shape', async () => { + mockHtml(wrapHtml([1, 2])); + await expectKind('10000', 'parse'); + }); + + it('structure: malformed immersiveMaterial is not silently discarded', async () => { + mockHtml( + wrapHtml({ + targetUin: '10000', + rawUsingList: [ + { + appId: 15, + itemId: 2, + name: 'broken', + image: 'https://cdn.example/b.jpg', + extraappinfo: { extraInfo: { immersiveMaterial: '{not json' } }, + }, + ], + }), + ); + const e = await expectKind('10000', 'structure'); + expect(e.message).toContain('immersiveMaterial'); + }); + + it.each([ + ['not a string', { videoUrl: 'https://cdn.example/video.mp4' }], + ['an array', '[]'], + ['missing videoUrl', '{}'], + ['non-string videoUrl', '{"videoUrl":42}'], + ])('structure: immersiveMaterial %s is not silently discarded', async (_label, material) => { + mockHtml( + wrapHtml({ + targetUin: '10000', + rawUsingList: [ + { + appId: 15, + itemId: 2, + name: 'broken', + image: 'https://cdn.example/b.jpg', + extraappinfo: { extraInfo: { immersiveMaterial: material } }, + }, + ], + }), + ); + const e = await expectKind('10000', 'structure'); + expect(e.message).toContain('immersiveMaterial'); + }); + + it.each([ + ['rawUsingList missing', { targetUin: '10000' }], + ['rawUsingList not an array', { targetUin: '10000', rawUsingList: 'nope' }], + ['item not an object', { targetUin: '10000', rawUsingList: ['nope'] }], + ['item appId missing', { targetUin: '10000', rawUsingList: [{}] }], + ['item appId not a number', { targetUin: '10000', rawUsingList: [{ appId: 'four' }] }], + ['targetUin not a string', { targetUin: 10000, rawUsingList: [] }], + ])('structure: %s', async (_label, payload) => { + mockHtml(wrapHtml(payload)); + await expectKind('10000', 'structure'); + }); + + it('uin_mismatch: page answers for a different account than requested', async () => { + mockHtml(wrapHtml({ targetUin: '20000', rawUsingList: [] })); + const e = await expectKind('10000', 'uin_mismatch'); + expect(e.message).toContain('20000'); + expect(e.message).toContain('10000'); + }); + + it('structure: targetUin missing cannot prove which account owns the response', async () => { + mockHtml(wrapHtml({ rawUsingList: [] })); + const e = await expectKind('10000', 'structure'); + expect(e.message).toContain('targetUin'); + }); +}); diff --git a/packages/protocol/tests/web/group-album-upload.test.ts b/packages/protocol/tests/web/group-album-upload.test.ts new file mode 100644 index 00000000..ce766a71 --- /dev/null +++ b/packages/protocol/tests/web/group-album-upload.test.ts @@ -0,0 +1,208 @@ +import { createHash } from 'crypto'; +import { afterEach, describe, expect, it, vi } from 'vitest'; + +import { uploadImageToGroupAlbum, uploadVideoToGroupAlbum } from '../../src/web/group-album'; +import { RequestUtil } from '../../src/web/request-util'; + +const MP4_BASE64 = 'AAAAGGZ0eXBtcDQyAAAAAG1wNDJpc29t'; +const MP4_SOURCE = `base64://${MP4_BASE64}`; +const MP4_BYTES = Buffer.from(MP4_BASE64, 'base64'); +const JPEG_SOURCE = 'base64:///9j/4AAQSkZJRgABAQAAAQABAAD/2wAAAA=='; +const COVER = Buffer.from('album-cover'); + +function controlReq(body: unknown): Record { + const req = (body as { control_req: Array> }).control_req[0]; + expect(req).toBeTruthy(); + return req; +} + +describe('group album image upload', () => { + afterEach(() => { + vi.restoreAllMocks(); + vi.unstubAllGlobals(); + }); + + it('rejects an MP4 before starting a remote upload', async () => { + const request = vi + .spyOn(RequestUtil, 'HttpGetJson') + .mockRejectedValue(new Error('unexpected remote upload')); + const fetch = vi.fn(); + vi.stubGlobal('fetch', fetch); + + await expect( + uploadImageToGroupAlbum( + { skey: 'SK', p_skey: 'PSK' }, + '12345', + 'album-id', + 'album-name', + MP4_SOURCE, + '10000', + ), + ).rejects.toThrow('群相册上传仅支持 JPEG、PNG、GIF、WebP 或 BMP 图片'); + + expect(request).not.toHaveBeenCalled(); + expect(fetch).not.toHaveBeenCalled(); + }); +}); + +describe('group album video upload', () => { + afterEach(() => { + vi.restoreAllMocks(); + vi.unstubAllGlobals(); + }); + + it('rejects a JPEG before starting a remote upload', async () => { + const request = vi + .spyOn(RequestUtil, 'HttpGetJson') + .mockRejectedValue(new Error('unexpected remote upload')); + const fetch = vi.fn(); + vi.stubGlobal('fetch', fetch); + const probe = vi.fn(); + + await expect( + uploadVideoToGroupAlbum( + { skey: 'SK', p_skey: 'PSK' }, + '12345', + 'album-id', + 'album-name', + JPEG_SOURCE, + '10000', + { probe }, + ), + ).rejects.toThrow('群相册视频上传仅支持 MP4 等 ISO BMFF 视频'); + + expect(request).not.toHaveBeenCalled(); + expect(fetch).not.toHaveBeenCalled(); + expect(probe).not.toHaveBeenCalled(); + }); + + it('uploads the video with SHA1 then the cover bound to the returned vid', async () => { + const sha1 = createHash('sha1').update(MP4_BYTES).digest('hex'); + const coverMd5 = createHash('md5').update(COVER).digest('hex'); + const bodies: unknown[] = []; + const request = vi + .spyOn(RequestUtil, 'HttpGetJson') + .mockImplementation(async (_url, _method, body) => { + bodies.push(body); + const appid = controlReq(body).appid; + + if (appid === 'video_qun') { + return { + ret: 0, + msg: '', + data: { session: 'video-session', slice_size: 16384 }, + }; + } + + return { ret: 0, msg: '', data: { session: 'cover-session', slice_size: 16384 } }; + }); + + const fetch = vi.fn(async (url: string) => ({ + ok: true, + json: async () => { + if (url.includes('FileUploadVideo')) { + return { ret: 0, msg: '', data: { biz: { sVid: 'VID123' } } }; + } + + return { + ret: 0, + msg: '', + data: { biz: { sPhotoID: 'PID', sBURL: 'https://example.test/v.jpg' } }, + }; + }, + })); + vi.stubGlobal('fetch', fetch); + + const result = await uploadVideoToGroupAlbum( + { skey: 'SK', p_skey: 'PSK' }, + '12345', + 'album-id', + 'album-name', + MP4_SOURCE, + '10000', + { + now: () => 1700000000, + probe: async () => ({ duration: 6.077, cover: new Uint8Array(COVER) }), + }, + ); + + expect(result).toEqual({ id: 'VID123' }); + expect(request).toHaveBeenCalledTimes(2); + expect(String(request.mock.calls[0]![0])).toContain(`FileBatchControl/${sha1}`); + expect(String(request.mock.calls[1]![0])).toContain(`FileBatchControl/${coverMd5}`); + + const videoReq = controlReq(bodies[0]); + expect(videoReq).toMatchObject({ + appid: 'video_qun', + checksum: sha1, + check_type: 1, + cmd: 'FileUploadVideo', + env: { refer: 'qzone', deviceInfo: 'h5' }, + }); + expect(videoReq.biz_req).toMatchObject({ + iUploadType: 3, + iPlayTime: 6077, + iIsNew: 111, + sTitle: 'video.mp4', + extend_info: { + video_type: '3', + domainid: '5', + photo_num: '0', + video_num: '1', + qun_id: '12345', + }, + }); + + const coverReq = controlReq(bodies[1]); + expect(coverReq).toMatchObject({ + appid: 'qun', + checksum: coverMd5, + check_type: 0, + cmd: '', + env: { refer: 'huodong', deviceInfo: 'h5' }, + }); + expect(coverReq.biz_req).toMatchObject({ + iUploadType: 2, + iBatchID: 1700000000, + sAlbumID: 'album-id', + sAlbumName: 'album-name', + mutliPicInfo: { iBatUploadNum: 1 }, + stExtendInfo: { mapParams: { vid: 'VID123', photo_num: '0', video_num: '1' } }, + stExternalMapExt: { is_client_upload_cover: '1', is_pic_video_mix_feeds: '1' }, + }); + + const sliceUrls = fetch.mock.calls.map((call) => String(call[0])); + expect(sliceUrls.some((url) => url.includes('/sliceUpload/FileUploadVideo?'))).toBe(true); + expect(sliceUrls.some((url) => url.includes('/sliceUpload/FileUpload?'))).toBe(true); + }); + + it('fails when the video slices do not return a vid', async () => { + vi.spyOn(RequestUtil, 'HttpGetJson').mockResolvedValue({ + ret: 0, + msg: '', + data: { session: 'video-session', slice_size: 16384 }, + }); + const fetch = vi.fn(async () => ({ + ok: true, + json: async () => ({ ret: 0, msg: '', data: { biz: {} } }), + })); + vi.stubGlobal('fetch', fetch); + + await expect( + uploadVideoToGroupAlbum( + { skey: 'SK', p_skey: 'PSK' }, + '12345', + 'album-id', + 'album-name', + MP4_SOURCE, + '10000', + { + now: () => 1700000000, + probe: async () => ({ duration: 6, cover: new Uint8Array(COVER) }), + }, + ), + ).rejects.toThrow('视频上传未返回视频 id'); + + expect(RequestUtil.HttpGetJson).toHaveBeenCalledTimes(1); + }); +}); diff --git a/packages/protocol/tests/web/group-essence.test.ts b/packages/protocol/tests/web/group-essence.test.ts new file mode 100644 index 00000000..9722b9fb --- /dev/null +++ b/packages/protocol/tests/web/group-essence.test.ts @@ -0,0 +1,84 @@ +import { afterEach, describe, expect, it, vi } from 'vitest'; +import { + getGroupEssenceMsgAll, + type GroupEssenceMsgRet, +} from '@snowluma/protocol/web/group-essence'; +import { RequestUtil } from '@snowluma/protocol/web/request-util'; + +const cookie = { skey: 'test-skey' }; + +function page(isEnd: boolean): GroupEssenceMsgRet { + return { + retcode: 0, + data: { + is_end: isEnd, + msg_list: [], + }, + }; +} + +describe('group essence pagination', () => { + afterEach(() => { + vi.restoreAllMocks(); + }); + + it('rejects instead of returning a partial list when a later page fails', async () => { + vi.spyOn(RequestUtil, 'HttpGetJson') + .mockResolvedValueOnce(page(false) as never) + .mockRejectedValueOnce(new Error('socket closed')); + + await expect(getGroupEssenceMsgAll(cookie, '123456789')).rejects.toThrow('socket closed'); + }); + + it('surfaces a non-zero QQ response code', async () => { + vi.spyOn(RequestUtil, 'HttpGetJson').mockResolvedValue({ + retcode: 100, + retmsg: 'permission denied', + data: { + is_end: true, + msg_list: [], + }, + } satisfies GroupEssenceMsgRet as never); + + await expect(getGroupEssenceMsgAll(cookie, '123456789')).rejects.toThrow( + /retcode 100.*permission denied/, + ); + }); + + it.each([ + ['an omitted list', { is_end: true }], + ['a null list', { is_end: true, msg_list: null }], + ])('normalizes an ended success response with %s to an empty page', async (_case, data) => { + const request = vi.spyOn(RequestUtil, 'HttpGetJson').mockResolvedValue({ + retcode: 0, + data, + } as never); + + await expect(getGroupEssenceMsgAll(cookie, '123456789')).resolves.toEqual([ + { + retcode: 0, + data: { is_end: true, msg_list: [] }, + }, + ]); + expect(request).toHaveBeenCalledOnce(); + }); + + it('rejects a missing message list before the response explicitly ends', async () => { + vi.spyOn(RequestUtil, 'HttpGetJson').mockResolvedValue({ + retcode: 0, + data: { is_end: false }, + } as never); + + await expect(getGroupEssenceMsgAll(cookie, '123456789')).rejects.toThrow( + /invalid group essence response.*msg_list/, + ); + }); + + it('fails when the configured page limit cannot reach the end', async () => { + vi.spyOn(RequestUtil, 'HttpGetJson').mockResolvedValue(page(false) as never); + + await expect(getGroupEssenceMsgAll(cookie, '123456789')).rejects.toThrow( + /pagination exceeded 20 pages/, + ); + }); +}); diff --git a/packages/protocol/tests/web/group-notice.test.ts b/packages/protocol/tests/web/group-notice.test.ts new file mode 100644 index 00000000..b8cba340 --- /dev/null +++ b/packages/protocol/tests/web/group-notice.test.ts @@ -0,0 +1,178 @@ +import { afterEach, describe, expect, it, vi } from 'vitest'; +import { + GROUP_NOTICE_TYPE_NEW_MEMBERS, + calculateBkn, + getGroupNoticeWebAPI, + groupNoticeImageUrl, + parseGroupNoticeImageUploadResponse, + resolveGroupNoticeOptions, + setGroupNoticeWebAPI, + type WebApiGroupNoticeRet, +} from '@snowluma/protocol/web/group-notice'; +import { RequestUtil } from '@snowluma/protocol/web/request-util'; + +describe('group-notice / publish HTTP layer', () => { + afterEach(() => vi.restoreAllMocks()); + + const cookies = { skey: 'BODY_KEY', p_skey: 'URL_KEY', uin: 'o10000' }; + + it('publishes a regular announcement with the exact options and image metadata', async () => { + const request = vi.spyOn(RequestUtil, 'HttpGetJson').mockResolvedValue({ ec: 0 } as never); + + await setGroupNoticeWebAPI(cookies, '12345', 'regular notice', { + pinned: 1, + isShowEditCard: 0, + tipWindowType: 0, + confirmRequired: 0, + picId: 'pic-id', + imgWidth: 640, + imgHeight: 360, + }); + + const [url, method, rawBody, headers, isJsonRet, isArgJson] = request.mock.calls[0]!; + expect(url).toBe( + `https://web.qun.qq.com/cgi-bin/announce/add_qun_notice?bkn=${calculateBkn('URL_KEY')}`, + ); + expect(method).toBe('POST'); + const body = new URLSearchParams(rawBody as string); + expect(Object.fromEntries(body)).toMatchObject({ + qid: '12345', + bkn: calculateBkn('BODY_KEY'), + text: 'regular notice', + pinned: '1', + type: '1', + pic: 'pic-id', + imgWidth: '640', + imgHeight: '360', + }); + expect(JSON.parse(body.get('settings')!)).toEqual({ + is_show_edit_card: 0, + tip_window_type: 0, + confirm_required: 0, + }); + expect(headers).toMatchObject({ 'Content-Type': 'application/x-www-form-urlencoded' }); + expect(isJsonRet).toBe(true); + expect(isArgJson).toBe(false); + }); + + it('routes semantic new-member announcements to the instruction endpoint with type 20', async () => { + const request = vi.spyOn(RequestUtil, 'HttpGetJson').mockResolvedValue({ ec: 0 } as never); + + await setGroupNoticeWebAPI(cookies, '12345', 'welcome', { sendToNewMembers: true }); + + const [url, , rawBody] = request.mock.calls[0]!; + expect(url).toContain('/cgi-bin/announce/add_qun_instruction?'); + expect(new URLSearchParams(rawBody as string).get('type')).toBe( + String(GROUP_NOTICE_TYPE_NEW_MEMBERS), + ); + }); + + it('keeps raw type=20 compatibility while selecting the correct endpoint', async () => { + const request = vi.spyOn(RequestUtil, 'HttpGetJson').mockResolvedValue({ ec: 0 } as never); + + await setGroupNoticeWebAPI(cookies, '12345', 'welcome', { type: 20 }); + + expect(request.mock.calls[0]![0]).toContain('/cgi-bin/announce/add_qun_instruction?'); + }); + + it('fails before I/O when raw type and semantic target conflict', async () => { + const request = vi.spyOn(RequestUtil, 'HttpGetJson'); + + await expect( + setGroupNoticeWebAPI(cookies, '12345', 'bad', { + type: 1, + sendToNewMembers: true, + }), + ).rejects.toThrow('conflicts'); + expect(request).not.toHaveBeenCalled(); + }); + + it('rejects unsupported raw types and non-binary options', () => { + expect(() => resolveGroupNoticeOptions({ type: 6 })).toThrow('type must be 1'); + expect(() => resolveGroupNoticeOptions({ pinned: 2 })).toThrow('pinned must be 0 or 1'); + expect(() => resolveGroupNoticeOptions({ tipWindowType: -1 })).toThrow( + 'tipWindowType must be 0 or 1', + ); + }); + + it('preserves the established regular-announcement defaults', () => { + expect(resolveGroupNoticeOptions()).toMatchObject({ + pinned: 0, + type: 1, + sendToNewMembers: false, + isShowEditCard: 1, + tipWindowType: 1, + confirmRequired: 1, + }); + }); + + it('propagates transport failures instead of returning undefined', async () => { + vi.spyOn(RequestUtil, 'HttpGetJson').mockRejectedValue( + new Error('Unexpected status code: 403'), + ); + await expect(setGroupNoticeWebAPI(cookies, '12345', 'notice')).rejects.toThrow('403'); + }); +}); + +describe('group-notice / image download url', () => { + it('builds the public CDN url from a picture id', () => { + expect(groupNoticeImageUrl('pic-1')).toBe('https://gdynamic.qpic.cn/gdynamic/pic-1/0'); + }); + + it('rejects empty or path-like ids', () => { + expect(() => groupNoticeImageUrl('')).toThrow('empty'); + expect(() => groupNoticeImageUrl(' ')).toThrow('empty'); + expect(() => groupNoticeImageUrl('a/b')).toThrow('malformed'); + expect(() => groupNoticeImageUrl('a?x=1')).toThrow('malformed'); + }); +}); + +describe('group-notice / image upload response', () => { + it('parses HTML-escaped image metadata', () => { + expect( + parseGroupNoticeImageUploadResponse( + JSON.stringify({ + ec: 0, + id: '{"id":"pic-1","w":"640","h":"360"}', + }), + ), + ).toEqual({ id: 'pic-1', width: 640, height: 360 }); + }); + + it('surfaces server and malformed-response failures', () => { + expect(() => + parseGroupNoticeImageUploadResponse(JSON.stringify({ ec: 14, em: 'denied' })), + ).toThrow('ec=14 em=denied'); + expect(() => parseGroupNoticeImageUploadResponse('not json')).toThrow('invalid JSON'); + expect(() => + parseGroupNoticeImageUploadResponse( + JSON.stringify({ ec: 0, id: '{"id":"pic","w":0,"h":10}' }), + ), + ).toThrow('malformed image metadata'); + }); +}); + +describe('group-notice / list HTTP layer', () => { + afterEach(() => vi.restoreAllMocks()); + + it('requests both regular and new-member collections and preserves server errors', async () => { + const response: WebApiGroupNoticeRet = { ec: 14, em: 'permission denied' }; + const request = vi.spyOn(RequestUtil, 'HttpGetJson').mockResolvedValue(response as never); + + await expect(getGroupNoticeWebAPI({ skey: 'SK', p_skey: 'PSK' }, '9876')).resolves.toBe( + response, + ); + + const [url, method, rawBody] = request.mock.calls[0]!; + expect(url).toContain('/cgi-bin/announce/list_announce?'); + expect(method).toBe('POST'); + const body = new URLSearchParams(rawBody as string); + expect(body.get('i')).toBe('1'); + expect(body.get('ni')).toBe('1'); + }); + + it('propagates transport failures instead of hiding them as an empty list', async () => { + vi.spyOn(RequestUtil, 'HttpGetJson').mockRejectedValue(new Error('socket closed')); + await expect(getGroupNoticeWebAPI({ skey: 'SK' }, '9876')).rejects.toThrow('socket closed'); + }); +}); diff --git a/packages/protocol/tests/web/group-signin.test.ts b/packages/protocol/tests/web/group-signin.test.ts new file mode 100644 index 00000000..f5f79552 --- /dev/null +++ b/packages/protocol/tests/web/group-signin.test.ts @@ -0,0 +1,132 @@ +import { describe, it, expect, vi, afterEach } from 'vitest'; +import { + getDaySignedListWebAPI, + mapDaySignedList, + type DaySignedInfo, + type DaySignedListResponse, +} from '@snowluma/protocol/web/group-signin'; +import { RequestUtil } from '@snowluma/protocol/web/request-util'; + +// The signed-in list comes back from qun.qq.com's GetDaySignedList trpc +// endpoint nested under response.page[0].infos. We pin the field renames +// and the rank de-skewing formula NapCat uses ((signInRank - 1) / 2 + 1), +// because that transform is the only real logic in this otherwise-thin +// HTTP port and a silent off-by-one would be invisible end-to-end. + +function resp(infos: DaySignedInfo[]): DaySignedListResponse { + return { + retCode: 0, + response: { page: [{ infos, offset: 0, total: infos.length }] }, + funcCode: 0, + }; +} + +describe('group-signin / mapDaySignedList', () => { + it('renames fields and de-skews signInRank', () => { + const out = mapDaySignedList( + resp([ + { + uid: '10001', + uidGroupNick: 'Alice', + signedTimeStamp: '1700000000', + signInRank: 1, + }, + { uid: '10002', uidGroupNick: 'Bob', signedTimeStamp: '1700000050', signInRank: 3 }, + { + uid: '10003', + uidGroupNick: 'Carol', + signedTimeStamp: '1700000100', + signInRank: 5, + }, + ]), + ); + expect(out).toEqual([ + { user_id: 10001, nick: 'Alice', time: 1700000000, rank: 1 }, + { user_id: 10002, nick: 'Bob', time: 1700000050, rank: 2 }, + { user_id: 10003, nick: 'Carol', time: 1700000100, rank: 3 }, + ]); + }); + + it('returns [] when infos is empty', () => { + expect(mapDaySignedList(resp([]))).toEqual([]); + }); + + it('returns [] when page is missing entirely', () => { + expect(mapDaySignedList({ retCode: 0, response: {}, funcCode: 0 })).toEqual([]); + }); +}); + +describe('group-signin / getDaySignedListWebAPI (HTTP layer)', () => { + afterEach(() => vi.restoreAllMocks()); + + const cookies = { p_skey: 'PSK', skey: 'SK', uin: 'o10000', p_uin: 'o10000' }; + // g_tk = djb2-31bit over p_skey 'PSK' + const expectedGtk = (() => { + let h = 5381; + + for (const c of 'PSK') { + h += (h << 5) + c.charCodeAt(0); + } + + return (h & 0x7fffffff).toString(); + })(); + + it('POSTs the exact url + json body and maps the result', async () => { + const spy = vi.spyOn(RequestUtil, 'HttpGetJson').mockResolvedValue({ + retCode: 0, + funcCode: 0, + response: { + page: [ + { + infos: [ + { + uid: '777', + uidGroupNick: 'Z', + signedTimeStamp: '1700000000', + signInRank: 3, + }, + ], + offset: 0, + total: 1, + }, + ], + }, + } satisfies DaySignedListResponse as never); + + const out = await getDaySignedListWebAPI(cookies, '54321', '10000', new Date(2026, 0, 2)); + + expect(out).toEqual([{ user_id: 777, nick: 'Z', time: 1700000000, rank: 2 }]); + const [url, method, body, headers, isJsonRet, isArgJson] = spy.mock.calls[0]!; + expect(url).toBe(`https://qun.qq.com/v2/signin/trpc/GetDaySignedList?g_tk=${expectedGtk}`); + expect(method).toBe('POST'); + expect(body).toEqual({ + dayYmd: '20260102', + offset: 0, + limit: 100, + uid: '10000', + groupId: '54321', + }); + expect((headers as Record)['Content-Type']).toBe('application/json'); + expect((headers as Record).Cookie).toContain('p_skey=PSK'); + expect(isJsonRet).toBe(true); + expect(isArgJson).toBe(true); + }); + + it('propagates a transport error instead of swallowing it to []', async () => { + vi.spyOn(RequestUtil, 'HttpGetJson').mockRejectedValue( + new Error('Unexpected status code: 403'), + ); + await expect(getDaySignedListWebAPI(cookies, '1', '1')).rejects.toThrow('403'); + }); + + it('throws when the response has no page (auth/cookie failure), not []', async () => { + vi.spyOn(RequestUtil, 'HttpGetJson').mockResolvedValue({ + retCode: 0, + funcCode: 0, + response: {}, + } satisfies DaySignedListResponse as never); + await expect(getDaySignedListWebAPI(cookies, '1', '1')).rejects.toThrow( + '无法获取该群组打卡列表', + ); + }); +}); diff --git a/packages/protocol/tests/web/qzone-detail.test.ts b/packages/protocol/tests/web/qzone-detail.test.ts new file mode 100644 index 00000000..ec4fa53e --- /dev/null +++ b/packages/protocol/tests/web/qzone-detail.test.ts @@ -0,0 +1,144 @@ +import { afterEach, describe, expect, it, vi } from 'vitest'; +import { getQzoneMsgDetail } from '@snowluma/protocol/web/qzone'; +import { RequestUtil, getBknFromCookie } from '@snowluma/protocol/web/request-util'; + +const cookies = { p_skey: 'PSK', skey: 'SK', uin: 'o10000' }; +// Synthetic data using Qzone-API's documented commentlist / list_3 wire fields. +const reply = { tid: 1, uin: 10000, name: 'Bot', create_time: 1700000002, content: 'Thanks!' }; +const comment = { + tid: 0, + uin: '20002', + name: 'Reader', + create_time: '1700000001', + content: 'Hello\n[em]e100[/em]', + list_3: [reply], +}; +const detail = { code: 0, tid: 'T1', content: 'Post', cmtnum: 12, commentlist: [comment] }; + +describe('qzone / getQzoneMsgDetail', () => { + afterEach(() => vi.restoreAllMocks()); + + it('reads a comment page through the authenticated detail CGI and maps replies', async () => { + const request = vi + .spyOn(RequestUtil, 'HttpGetText') + .mockResolvedValue(`_preloadCallback(${JSON.stringify(detail)});`); + const result = await getQzoneMsgDetail(cookies, '30003', 'T1', 5, 10); + expect(result).toEqual({ + tid: 'T1', + content: 'Post', + comment_num: 12, + comments: [ + { + comment_id: '0', + uin: 20002, + name: 'Reader', + time: 1700000001, + content: 'Hello\n[em]e100[/em]', + replies: [ + { + comment_id: '1', + parent_comment_id: '0', + parent_comment_uin: 20002, + uin: 10000, + name: 'Bot', + time: 1700000002, + content: 'Thanks!', + }, + ], + }, + ], + }); + expect(request).toHaveBeenCalledTimes(1); + const [url, method, body, headers] = request.mock.calls[0]!; + const parsed = new URL(url); + expect(parsed.origin + parsed.pathname).toBe( + 'https://h5.qzone.qq.com/proxy/domain/taotao.qq.com/cgi-bin/emotion_cgi_msgdetail_v6', + ); + expect(Object.fromEntries(parsed.searchParams)).toMatchObject({ + uin: '30003', + tid: 'T1', + pos: '5', + num: '10', + not_trunc_con: '1', + g_tk: getBknFromCookie(cookies), + }); + expect(method).toBe('GET'); + expect(body).toBe(''); + expect(headers).toMatchObject({ Cookie: expect.stringContaining('p_skey=PSK') }); + }); + + it.each([[undefined], [null], [[]]])( + 'accepts an empty comment page (%j)', + async (commentlist) => { + const request = vi + .spyOn(RequestUtil, 'HttpGetText') + .mockResolvedValue( + JSON.stringify({ ...detail, content: '', cmtnum: 0, commentlist }), + ); + await expect(getQzoneMsgDetail(cookies, '10000', 'T1')).resolves.toEqual({ + tid: 'T1', + content: '', + comment_num: 0, + comments: [], + }); + const query = new URL(request.mock.calls[0]![0]).searchParams; + expect(query.get('pos')).toBe('0'); + expect(query.get('num')).toBe('20'); + }, + ); + + it('preserves the total when a page is empty and normalizes absent replies', async () => { + vi.spyOn(RequestUtil, 'HttpGetText') + .mockResolvedValueOnce(JSON.stringify({ ...detail, commentlist: [] })) + .mockResolvedValueOnce( + JSON.stringify({ ...detail, commentlist: [{ ...comment, list_3: null }] }), + ); + await expect(getQzoneMsgDetail(cookies, '10000', 'T1', 20)).resolves.toMatchObject({ + comment_num: 12, + comments: [], + }); + const result = await getQzoneMsgDetail(cookies, '10000', 'T1'); + expect(result.comments[0]!.replies).toEqual([]); + }); + + it.each([{ code: -3000, subcode: 0 }, { code: 0, subcode: -4001 }, { subcode: -4001 }])( + 'propagates remote failure %j', + async (codes) => { + vi.spyOn(RequestUtil, 'HttpGetText').mockResolvedValue( + JSON.stringify({ ...codes, message: 'denied' }), + ); + await expect(getQzoneMsgDetail(cookies, '10000', 'T1')).rejects.toThrow( + /qzone msg detail failed: .*denied/, + ); + }, + ); + + it.each([ + {}, + { ...detail, tid: undefined }, + { ...detail, tid: 'OTHER' }, + { ...detail, code: '0' }, + { ...detail, content: {} }, + { ...detail, cmtnum: -1 }, + { ...detail, commentlist: {} }, + { ...detail, commentlist: [null] }, + { ...detail, commentlist: [{ ...comment, uin: 'bad' }] }, + { ...detail, commentlist: [{ ...comment, tid: {} }] }, + { ...detail, commentlist: [{ ...comment, create_time: 'yesterday' }] }, + { ...detail, commentlist: [{ ...comment, list_3: {} }] }, + { ...detail, commentlist: [{ ...comment, list_3: [{ ...reply, content: {} }] }] }, + ])('rejects malformed data instead of returning an empty success (%#)', async (data) => { + vi.spyOn(RequestUtil, 'HttpGetText').mockResolvedValue(JSON.stringify(data)); + await expect(getQzoneMsgDetail(cookies, '10000', 'T1')).rejects.toThrow(/qzone msg detail/); + }); + + it('propagates transport and JSONP parse errors', async () => { + vi.spyOn(RequestUtil, 'HttpGetText') + .mockRejectedValueOnce(new Error('network down')) + .mockResolvedValueOnce('login'); + await expect(getQzoneMsgDetail(cookies, '10000', 'T1')).rejects.toThrow('network down'); + await expect(getQzoneMsgDetail(cookies, '10000', 'T1')).rejects.toThrow( + 'invalid response from qzone api', + ); + }); +}); diff --git a/packages/protocol/tests/web/qzone-feed-detail.test.ts b/packages/protocol/tests/web/qzone-feed-detail.test.ts new file mode 100644 index 00000000..1da2dac9 --- /dev/null +++ b/packages/protocol/tests/web/qzone-feed-detail.test.ts @@ -0,0 +1,179 @@ +import { afterEach, describe, expect, it, vi } from 'vitest'; +import { getQzoneFeedDetail, getQzoneShareArk } from '../../src/web/qzone-public'; +import { RequestUtil, getBknFromCookie } from '../../src/web/request-util'; + +const cookies = { p_skey: 'fixture', uin: 'o20002' }; +// Synthetic post: author 10001, Unix time 1700000000, sequence word 1. +const tid = '1127000000f1536501000000'; +const ugcId = 'CLcCEJFOGIDiz6oGIgAqADIBMEIYMTEyNzAwMDAwMGYxNTM2NTAxMDAwMDAw'; +const feed = { + cell_common: { domain_type: 1, union_id: { feed_id: tid, ugc_id: ugcId }, operate_mask: 0 }, + cell_summary: { summary: 'Fixture post' }, + cell_pic: { pics: [{ url: 'https://example.com/one.png' }, { future_image: true }] }, + cell_video: { opaque_video: 'preserved' }, + cell_comment: { comments: [{ id: '9007199254740993', unknown: true }] }, + cell_operation: { + share_outside: { + share_access_resource: { busi_id: 'qzone_feed', resource_id: 'resource' }, + }, + }, + cell_feed_transfer: 'original-transfer', + cell_future: { nested: [null, '18446744073709551615', { preserved: true }] }, +}; +const detail = { + feed: { feed }, + attach_info: 'opaque-comment-continuation', + contribute_bar: null, + future_detail_field: { preserved: true }, +}; + +afterEach(() => vi.restoreAllMocks()); + +describe('Qzone feed detail by tid', () => { + it.each([tid, tid.toUpperCase()])( + 'requests the personal-space detail with the encoded identity (%s)', + async (input) => { + const request = vi + .spyOn(RequestUtil, 'HttpGetJson') + .mockResolvedValue({ retcode: 0, data: detail }); + const result = await getQzoneFeedDetail(cookies, input); + + expect(result).toEqual({ ...detail, feed }); + expect(result.feed).toBe(feed); + expect(request).toHaveBeenCalledExactlyOnceWith( + `https://h5.qzone.qq.com/http2rpc/gotrpc/v1/trpc.qzone.feeds_reader.FeedsReader/GetFeedDetail?g_tk=${getBknFromCookie(cookies)}`, + 'POST', + { + union_id: { feed_id: tid, ugc_id: ugcId, adv_id: null }, + feed_action_domain_type: 1, + from_page: 1, + }, + expect.objectContaining({ + Cookie: 'p_skey=fixture; uin=o20002', + 'Content-Type': 'application/json', + 'x-oidb': JSON.stringify({ + uint32_command: '0x97b1', + uint32_service_type: '1', + }), + }), + ); + }, + ); + + it('keeps the author and time unsigned and emits the explicit empty identity fields', async () => { + const highTid = 'ffffffffffffffff01000000'; + const request = vi.spyOn(RequestUtil, 'HttpGetJson').mockResolvedValue({ + retcode: 0, + data: { feed: { feed: { cell_common: { union_id: { feed_id: highTid } } } } }, + }); + + await getQzoneFeedDetail(cookies, highTid); + const body = request.mock.calls[0]![2] as { union_id: { ugc_id: string } }; + // Independent wire vector: app 311; two uint32-max values encoded as + // positive int64; present empty strings in fields 4 and 5; field 8 tid. + expect(Buffer.from(body.union_id.ugc_id, 'base64').toString('hex')).toBe( + '08b70210ffffffff0f18ffffffff0f22002a003201304218' + + '666666666666666666666666666666663031303030303030', + ); + }); + + it.each([undefined, null, ''])( + 'preserves an empty or absent upstream comment cursor (%s)', + async (attach_info) => { + const request = vi.spyOn(RequestUtil, 'HttpGetJson').mockResolvedValue({ + retcode: 0, + data: { ...detail, attach_info }, + }); + + expect((await getQzoneFeedDetail(cookies, tid)).attach_info).toBe(attach_info ?? null); + expect(request).toHaveBeenCalledOnce(); + }, + ); + + it.each(['', 'T1', 'g'.repeat(24), 'a'.repeat(23), 'a'.repeat(25), `${tid}\n`, ` ${tid}`])( + 'rejects unsupported or malformed post IDs before requesting (%j)', + async (input) => { + const request = vi.spyOn(RequestUtil, 'HttpGetJson'); + + await expect(getQzoneFeedDetail(cookies, input)).rejects.toThrow('24 位十六进制'); + expect(request).not.toHaveBeenCalled(); + }, + ); + + it.each([ + {}, + { feed: null }, + { feed: [] }, + { feed: { feed: [] } }, + { feed: { feed: {} } }, + { feed: { feed: { cell_common: { union_id: { feed_id: 'other' } } } } }, + { ...detail, attach_info: {} }, + ])('rejects incomplete, mismatched or malformed details (%#)', async (data) => { + const request = vi + .spyOn(RequestUtil, 'HttpGetJson') + .mockResolvedValue({ retcode: 0, data }); + + await expect(getQzoneFeedDetail(cookies, tid)).rejects.toThrow('GetFeedDetail'); + expect(request).toHaveBeenCalledOnce(); + }); + + it('propagates access and transport failures without a second request', async () => { + const request = vi + .spyOn(RequestUtil, 'HttpGetJson') + .mockResolvedValueOnce({ retcode: 10023, message: '无权限访问' }) + .mockRejectedValueOnce(new Error('network down')); + + await expect(getQzoneFeedDetail(cookies, tid)).rejects.toThrow('10023 无权限访问'); + expect(request).toHaveBeenCalledTimes(1); + await expect(getQzoneFeedDetail(cookies, tid)).rejects.toThrow('network down'); + expect(request).toHaveBeenCalledTimes(2); + }); + + it('passes the returned feed straight to card generation without rebuilding sharing data', async () => { + const ark = '{ "app": "com.tencent.tuwen.lua", "fixture": true }'; + const request = vi + .spyOn(RequestUtil, 'HttpGetJson') + .mockResolvedValueOnce({ retcode: 0, data: detail }) + .mockResolvedValueOnce({ retcode: 0, data: { template_data: ark } }); + const result = await getQzoneFeedDetail(cookies, tid); + + await expect(getQzoneShareArk(cookies, result.feed)).resolves.toEqual({ + ark, + requires_confirmation: false, + notice: null, + }); + expect(request).toHaveBeenCalledTimes(2); + expect(request).toHaveBeenNthCalledWith( + 2, + expect.stringContaining('/trpc.qq.share.Service/CreateShare?g_tk='), + 'POST', + { + info: { + busi_id: 'qzone_feed', + resource_id: 'resource', + template: 'ark_busi_select', + busi_data: 'original-transfer', + plat: 1, + target: 3, + }, + }, + expect.any(Object), + ); + }); + + it('can read a share-restricted feed while preserving the share refusal', async () => { + const restrictedFeed = { + ...feed, + cell_common: { ...feed.cell_common, operate_mask: 1 << 17 }, + }; + const request = vi.spyOn(RequestUtil, 'HttpGetJson').mockResolvedValue({ + retcode: 0, + data: { feed: { feed: restrictedFeed } }, + }); + const result = await getQzoneFeedDetail(cookies, tid); + + expect(result.feed).toBe(restrictedFeed); + await expect(getQzoneShareArk(cookies, result.feed)).rejects.toThrow('不支持分享'); + expect(request).toHaveBeenCalledOnce(); + }); +}); diff --git a/packages/protocol/tests/web/qzone-feeds-parse.test.ts b/packages/protocol/tests/web/qzone-feeds-parse.test.ts new file mode 100644 index 00000000..6767b600 --- /dev/null +++ b/packages/protocol/tests/web/qzone-feeds-parse.test.ts @@ -0,0 +1,83 @@ +import { describe, it, expect } from 'vitest'; +import { readFileSync } from 'node:fs'; +import { fileURLToPath } from 'node:url'; +import { mapFeeds, parseQzoneCallback } from '@snowluma/protocol/web/qzone'; + +// Real feeds3_html_more response captured live (issue #182). Its `data` value +// is a JS object literal (unquoted keys, single-quoted strings, \xNN escapes, +// trailing `undefined`) — JSON.parse throws on it; parseQzoneCallback must not. +const SAMPLE = readFileSync( + fileURLToPath(new URL('./fixtures/qzone-feeds-sample.jsonp', import.meta.url)), + 'utf8', +); + +interface RawFeeds { + code?: number; + data?: { data?: unknown[]; hasmore?: number | string }; +} + +describe('qzone feeds JS-literal parsing (issue #182)', () => { + it('JSON.parse chokes on the real body (regression baseline)', () => { + const inner = SAMPLE.slice(SAMPLE.indexOf('{'), SAMPLE.lastIndexOf('}') + 1); + expect(() => JSON.parse(inner)).toThrow(); + }); + + it('parseQzoneCallback evaluates the JS-literal payload', () => { + const data = parseQzoneCallback(SAMPLE); + expect(data.code).toBe(0); + expect(Array.isArray(data.data?.data)).toBe(true); + // The array carries a trailing `undefined` hole alongside the real feed. + expect(data.data!.data!.length).toBe(2); + expect(data.data!.data!.some((x) => x === undefined)).toBe(true); + }); + + it('mapFeeds drops the undefined hole and normalises the feed', () => { + const data = parseQzoneCallback(SAMPLE); + const result = mapFeeds(data as any); + expect(result.feeds).toHaveLength(1); + const f = result.feeds[0]!; + expect(f.uin).toBe(20050606); + expect(f.nickname).toBe('官方Qzone'); + expect(f.appid).toBe(311); + expect(f.time).toBe(1780711209); + expect(f.key).toBe('aef23101297f236ae4f10600'); + // \xNN escapes decoded by the JS eval, html passed through verbatim. + expect(f.html).toContain('
  • { + // The parser has no notion of globals, member access, or calls: any such + // token is rejected, so a tampered body cannot reach `process`/`Function` + // etc. (the whole reason we do NOT eval this payload). + expect(() => parseQzoneCallback('_preloadCallback({x: process})')).toThrow(); + expect(() => parseQzoneCallback('_preloadCallback({x: callback.constructor})')).toThrow(); + expect(() => + parseQzoneCallback('_preloadCallback({x: (function(){return 1})()})'), + ).toThrow(); + expect(() => parseQzoneCallback('_preloadCallback(eval("1+1"))')).toThrow(); + }); + + it('does not pollute Object.prototype via a __proto__ key', () => { + parseQzoneCallback('_preloadCallback({"__proto__":{"polluted":1},"code":0})'); + expect(({} as any).polluted).toBeUndefined(); + }); + + it('decodes JS string escapes (\\xNN, \\/) literally, not as markup', () => { + const d = parseQzoneCallback<{ s?: string }>("_preloadCallback({s:'\\x3Cb\\x3E&\\/x'})"); + expect(d.s).toBe('&/x'); + }); + + it('rejects a body that captures no object', () => { + expect(() => parseQzoneCallback('_preloadCallback(42)')).toThrow('invalid feeds response'); + expect(() => parseQzoneCallback('void 0')).toThrow('invalid feeds response'); + }); +}); diff --git a/packages/protocol/tests/web/qzone-feeds.test.ts b/packages/protocol/tests/web/qzone-feeds.test.ts new file mode 100644 index 00000000..cdec129a --- /dev/null +++ b/packages/protocol/tests/web/qzone-feeds.test.ts @@ -0,0 +1,286 @@ +import { afterEach, describe, expect, it, vi } from 'vitest'; +import { getQzoneFeeds } from '../../src/web/qzone'; +import { RequestUtil } from '../../src/web/request-util'; +import { parseQzoneFeedContent } from '../../src/web/qzone-feed-content'; + +const cookies = { p_skey: 'fixture' }; + +function page(key: string, more: boolean, state: Record = {}) { + return `_preloadCallback(${JSON.stringify({ + code: 0, + data: { + main: { + hasMoreFeeds: more, + error: '', + begintime: '1700000000', + dayspac: '5', + pagenum: '2', + externparam: 'basetime=1700000000&pagenum=2&opaque=a%26b', + ...state, + }, + data: [ + { + uin: '10002', + nickname: 'Reader', + abstime: '1700000001', + appid: '311', + key, + html: `
  • +
    Hello & friend
    Second line[笑]
    + +
    +
    赞 +
    Another person's comment
    +
  • `, + commentcnt: '3', + }, + null, + ], + }, + })});`; +} + +describe('Qzone friend feed continuation', () => { + afterEach(() => vi.restoreAllMocks()); + + it('uses server continuation state and preserves structured content alongside legacy fields', async () => { + const request = vi + .spyOn(RequestUtil, 'HttpGetText') + .mockResolvedValueOnce( + page('first', true, { + aisortEndTime: '17', + aisortOffset: '4', + aisortBeginTime: '11', + aisortNextTime: '2', + icServerTime: '1700000010', + daylist: 'd', + uinlist: '10002', + }), + ) + .mockResolvedValueOnce(page('second', false)); + const first = await getQzoneFeeds(cookies, '10001'); + expect(first.has_more).toBe(true); + expect(first.next_cursor).toEqual(expect.any(String)); + expect(first.feeds[0]).toMatchObject({ + uin: 10002, + appid: 311, + key: 'first', + tid: 'first', + content: 'Hello & friend\nSecond line[笑]', + content_complete: true, + images: ['https://example.com/full.jpg?a=1&b=2'], + like_count: 12, + comment_count: 3, + html: expect.stringContaining('Another person'), + }); + const second = await getQzoneFeeds(cookies, '10001', 1, 10, first.next_cursor!); + expect(second).toMatchObject({ has_more: false, next_cursor: null }); + expect(second.feeds[0].key).toBe('second'); + const query = new URL(request.mock.calls[1][0]).searchParams; + expect(Object.fromEntries(query)).toMatchObject({ + uin: '10001', + pagenum: '2', + begintime: '1700000000', + dayspac: '5', + externparam: 'basetime=1700000000&pagenum=2&opaque=a%26b', + aisortEndTime: '17', + aisortOffset: '4', + aisortBeginTime: '11', + getAisort: '2', + icServerTime: '1700000010', + daylist: 'd', + uinlist: '10002', + refresh: '0', + }); + expect(request).toHaveBeenCalledTimes(2); + }); + + it('resolves a legacy page number by traversing continuations, not restarting at that number', async () => { + const request = vi + .spyOn(RequestUtil, 'HttpGetText') + .mockResolvedValueOnce(page('first', true)) + .mockResolvedValueOnce(page('second', false)); + const result = await getQzoneFeeds(cookies, '10001', 2, 20); + expect(result.feeds[0].key).toBe('second'); + expect(request.mock.calls.map(([url]) => new URL(url).searchParams.get('pagenum'))).toEqual( + ['1', '2'], + ); + }); + + it('rejects stalled continuation instead of looping or silently ending the list', async () => { + const request = vi.spyOn(RequestUtil, 'HttpGetText').mockResolvedValue(page('same', true)); + await expect(getQzoneFeeds(cookies, '10001', 3)).rejects.toThrow(/未推进|advance/); + expect(request).toHaveBeenCalledTimes(2); + }); + + it('keeps empty intermediate pages traversable and stops at the real end', async () => { + const empty = JSON.parse(page('unused', true).slice(17, -2)); + empty.data.data = [null]; + const request = vi + .spyOn(RequestUtil, 'HttpGetText') + .mockResolvedValueOnce(JSON.stringify(empty)) + .mockResolvedValueOnce(page('last', false)); + const first = await getQzoneFeeds(cookies, '10001'); + expect(first.feeds).toEqual([]); + expect(first.has_more).toBe(true); + expect( + (await getQzoneFeeds(cookies, '10001', 1, 10, first.next_cursor!)).feeds[0].key, + ).toBe('last'); + request.mockReset().mockResolvedValue(page('last', false)); + expect(await getQzoneFeeds(cookies, '10001', 8)).toEqual({ + feeds: [], + has_more: false, + next_cursor: null, + }); + expect(request).toHaveBeenCalledTimes(1); + }); + + it('rejects foreign-account, corrupt and mismatched-page cursors before HTTP', async () => { + const request = vi.spyOn(RequestUtil, 'HttpGetText').mockResolvedValue(page('first', true)); + const first = await getQzoneFeeds(cookies, '10001'); + request.mockClear(); + await expect(getQzoneFeeds(cookies, '10002', 1, 10, first.next_cursor!)).rejects.toThrow( + '账号', + ); + await expect(getQzoneFeeds(cookies, '10001', 3, 10, first.next_cursor!)).rejects.toThrow( + '不匹配', + ); + + for (const cursor of ['', 'bad!', 'e30', 'a'.repeat(65537)]) { + await expect(getQzoneFeeds(cookies, '10001', 1, 10, cursor)).rejects.toThrow('cursor'); + } + + const raw = JSON.parse(Buffer.from(first.next_cursor!, 'base64url').toString()); + raw.state.url = 'https://example.com/foreign'; + await expect( + getQzoneFeeds( + cookies, + '10001', + 1, + 10, + Buffer.from(JSON.stringify(raw)).toString('base64url'), + ), + ).rejects.toThrow('cursor'); + expect(request).not.toHaveBeenCalled(); + }); + + it('preserves opaque parameters and sort state when a later page omits optional fields', async () => { + const request = vi + .spyOn(RequestUtil, 'HttpGetText') + .mockResolvedValueOnce(page('first', true, { aisortOffset: '9', aisortNextTime: '2' })) + .mockResolvedValueOnce( + page('second', true, { + pagenum: '3', + begintime: '1699999000', + externparam: '', + }), + ) + .mockResolvedValueOnce(page('third', false)); + const first = await getQzoneFeeds(cookies, '10001'); + const second = await getQzoneFeeds(cookies, '10001', 1, 10, first.next_cursor!); + await getQzoneFeeds(cookies, '10001', 1, 10, second.next_cursor!); + const query = new URL(request.mock.calls[2][0]).searchParams; + expect(query.get('aisortOffset')).toBe('9'); + expect(query.get('getAisort')).toBe('2'); + expect(query.get('externparam')).toBe('basetime=1700000000&pagenum=2&opaque=a%26b'); + }); + + it('does not regard the changing server clock as pagination progress', async () => { + vi.spyOn(RequestUtil, 'HttpGetText') + .mockResolvedValueOnce(page('first', true, { icServerTime: '20' })) + .mockResolvedValueOnce(page('first', true, { icServerTime: '21' })); + await expect(getQzoneFeeds(cookies, '10001', 3)).rejects.toThrow('未推进'); + }); + + it.each([ + { code: 0, subcode: -1, data: { data: [] } }, + { code: 0, data: { main: { error: 'more', hasMoreFeeds: false }, data: [] } }, + { code: 0, data: { main: { hasMoreFeeds: 'false' }, data: [] } }, + { code: 0, data: { main: { hasMoreFeeds: true }, data: [] } }, + { code: 0, data: { main: { hasMoreFeeds: true, pagenum: {} }, data: [] } }, + { code: 0, data: { hasmore: 1, data: [] } }, + { code: 0, data: { main: [], data: [] } }, + { code: 0, data: { main: { hasMoreFeeds: false }, data: [false] } }, + { code: 0, data: { main: { hasMoreFeeds: false }, data: [{ uin: 'broken' }] } }, + ])( + 'exposes malformed or failed responses instead of returning an empty success (%j)', + async (response) => { + vi.spyOn(RequestUtil, 'HttpGetText').mockResolvedValue(JSON.stringify(response)); + await expect(getQzoneFeeds(cookies, '10001')).rejects.toThrow(); + }, + ); + + it('propagates transport failures without retrying or resetting pagination', async () => { + const request = vi + .spyOn(RequestUtil, 'HttpGetText') + .mockRejectedValue(new Error('network unavailable')); + await expect(getQzoneFeeds(cookies, '10001')).rejects.toThrow('network unavailable'); + expect(request).toHaveBeenCalledTimes(1); + }); +}); + +describe('Qzone friend feed content', () => { + function parse(body: string, like?: unknown, comments?: unknown) { + return parseQzoneFeedContent( + `
    ${body}
    `, + 'post', + 10002, + 311, + like, + comments, + ); + } + + it('marks excerpts as incomplete, removes expansion controls and prefers the full body when present', () => { + const excerpt = + ''; + expect(parse(excerpt + '
    ')).toMatchObject({ + content: 'Start', + content_complete: false, + }); + expect( + parse(excerpt + '
    Start and finish
    '), + ).toMatchObject({ content: 'Start and finish', content_complete: true }); + }); + + it('preserves explicit zero, distinguishes unknown values and never estimates counts from visible comments', () => { + expect(parse('
    ', '0', 0)).toMatchObject({ + content: '', + content_complete: true, + images: [], + like_count: 0, + comment_count: 0, + }); + expect(parse('
    one
    ', '', 'many')).toMatchObject({ + content: null, + content_complete: null, + like_count: null, + comment_count: null, + }); + expect( + parseQzoneFeedContent('
    unrecognised template
    ', 'post', 10002, 311), + ).toMatchObject({ tid: null, content: null, images: null }); + }); + + it('excludes video covers, nested reposts, avatars and comment pictures', () => { + expect( + parse(` + +
    + +
    +
    repost
    + + + `), + ).toMatchObject({ content: null, images: ['https://example.com/photo.jpg?a=1&b=2'] }); + }); + + it('parses markup as inert data and decodes entities without including script or style text', () => { + expect( + parse( + '
    <b>😀

    Next

    ', + ), + ).toMatchObject({ content: '😀\nNext' }); + }); +}); diff --git a/packages/protocol/tests/web/qzone-profile.test.ts b/packages/protocol/tests/web/qzone-profile.test.ts new file mode 100644 index 00000000..b2460d79 --- /dev/null +++ b/packages/protocol/tests/web/qzone-profile.test.ts @@ -0,0 +1,148 @@ +import { afterEach, describe, expect, it, vi } from 'vitest'; +import { getQzoneProfile, setQzoneProfile } from '@snowluma/protocol/web/qzone'; +import { RequestUtil, getBknFromCookie } from '@snowluma/protocol/web/request-util'; + +const cookies = { p_skey: 'PSK', skey: 'SK', uin: 'o10000' }; + +describe('qzone / getQzoneProfile', () => { + afterEach(() => vi.restoreAllMocks()); + + it('reads the selected space with the current account credentials and returns only its name and description', async () => { + const request = vi + .spyOn(RequestUtil, 'HttpGetText') + .mockResolvedValue( + '_Callback({"code":0,"data":{"spacename":"我的空间","desc":"生活 & 照片","nickname":"QQ昵称","signature":"private"}});', + ); + + await expect(getQzoneProfile(cookies, '10000', '20002')).resolves.toEqual({ + name: '我的空间', + description: '生活 & 照片', + }); + + const [url, method, body, headers] = request.mock.calls[0]!; + const parsed = new URL(url); + expect(parsed.origin + parsed.pathname).toBe( + 'https://h5.qzone.qq.com/proxy/domain/base.qzone.qq.com/cgi-bin/user/cgi_userinfo_get_all', + ); + expect(Object.fromEntries(parsed.searchParams)).toMatchObject({ + uin: '20002', + vuin: '10000', + fupdate: '1', + g_tk: getBknFromCookie(cookies), + }); + expect(method).toBe('GET'); + expect(body).toBe(''); + expect(headers).toMatchObject({ Cookie: expect.stringContaining('p_skey=PSK') }); + }); + + it('defaults to the current space and preserves empty fields', async () => { + const request = vi + .spyOn(RequestUtil, 'HttpGetText') + .mockResolvedValue('{"code":0,"data":{"spacename":"","desc":""}}'); + + await expect(getQzoneProfile(cookies, '10000')).resolves.toEqual({ + name: '', + description: '', + }); + expect(new URL(request.mock.calls[0]![0]).searchParams.get('uin')).toBe('10000'); + }); + + it.each([ + {}, + { code: 0 }, + { code: 0, data: { spacename: 'Name' } }, + { code: 0, data: { spacename: 42, desc: '' } }, + ])('rejects an incomplete profile instead of substituting empty values (%j)', async (data) => { + vi.spyOn(RequestUtil, 'HttpGetText').mockResolvedValue(JSON.stringify(data)); + await expect(getQzoneProfile(cookies, '10000')).rejects.toThrow(/qzone profile/); + }); + + it('propagates login, access and transport failures', async () => { + vi.spyOn(RequestUtil, 'HttpGetText') + .mockResolvedValueOnce('{"code":-3000,"message":"need login"}') + .mockResolvedValueOnce('{"code":0,"subcode":-4001,"message":"denied"}') + .mockRejectedValueOnce(new Error('network down')); + + await expect(getQzoneProfile(cookies, '10000')).rejects.toThrow('code=-3000'); + await expect(getQzoneProfile(cookies, '10000')).rejects.toThrow('subcode=-4001'); + await expect(getQzoneProfile(cookies, '10000')).rejects.toThrow('network down'); + }); +}); + +describe('qzone / setQzoneProfile', () => { + afterEach(() => vi.restoreAllMocks()); + + it.each([ + { profile: { name: '新名称' }, fields: { spacename: '新名称' }, bitmap: '2048' }, + { profile: { description: '' }, fields: { desc: '' }, bitmap: '4096' }, + { + profile: { name: '名称 & +', description: '第一行\r\n第二行' }, + fields: { spacename: '名称 & +', desc: '第一行\n第二行' }, + bitmap: '6144', + }, + ])( + 'updates only the supplied fields with bitmap $bitmap', + async ({ profile, fields, bitmap }) => { + const request = vi + .spyOn(RequestUtil, 'HttpGetText') + .mockResolvedValue('frameElement.callback({"code":0});'); + + await expect(setQzoneProfile(cookies, '10000', profile)).resolves.toBeUndefined(); + expect(request).toHaveBeenCalledTimes(1); + + const [url, method, body, headers] = request.mock.calls[0]!; + const parsed = new URL(url); + expect(parsed.origin + parsed.pathname).toBe( + 'https://h5.qzone.qq.com/proxy/domain/w.qzone.qq.com/cgi-bin/user/cgi_apply_updateuserinfo_new', + ); + expect(parsed.searchParams.get('g_tk')).toBe(getBknFromCookie(cookies)); + expect(method).toBe('POST'); + expect(Object.fromEntries(new URLSearchParams(body))).toEqual({ + uin: '10000', + pageindex: '3', + fupdate: '1', + mb: bitmap, + ...fields, + }); + expect(headers).toMatchObject({ + Cookie: expect.stringContaining('p_skey=PSK'), + 'Content-Type': 'application/x-www-form-urlencoded', + }); + }, + ); + + it.each([-3001, -3002, -3000])( + 'reports upstream rejection %s without retrying', + async (code) => { + const request = vi + .spyOn(RequestUtil, 'HttpGetText') + .mockResolvedValue(JSON.stringify({ code, message: 'verification required' })); + + await expect(setQzoneProfile(cookies, '10000', { name: 'Name' })).rejects.toThrow( + `code=${code}`, + ); + expect(request).toHaveBeenCalledTimes(1); + }, + ); + + it('rejects a missing success code, non-zero subcode, HTML and network failures', async () => { + vi.spyOn(RequestUtil, 'HttpGetText') + .mockResolvedValueOnce('{}') + .mockResolvedValueOnce('{"code":0,"subcode":-1,"message":"denied"}') + .mockResolvedValueOnce('login') + .mockRejectedValueOnce(new Error('network down')); + + await expect(setQzoneProfile(cookies, '10000', { name: 'Name' })).rejects.toThrow( + /qzone profile update/, + ); + await expect(setQzoneProfile(cookies, '10000', { name: 'Name' })).rejects.toThrow( + 'subcode=-1', + ); + await expect(setQzoneProfile(cookies, '10000', { name: 'Name' })).rejects.toThrow( + 'invalid response from qzone api', + ); + await expect(setQzoneProfile(cookies, '10000', { name: 'Name' })).rejects.toThrow( + 'network down', + ); + }); +}); diff --git a/packages/protocol/tests/web/qzone-public.test.ts b/packages/protocol/tests/web/qzone-public.test.ts new file mode 100644 index 00000000..d51c330b --- /dev/null +++ b/packages/protocol/tests/web/qzone-public.test.ts @@ -0,0 +1,341 @@ +import { afterEach, describe, expect, it, vi } from 'vitest'; +import type { JsonObject } from '@snowluma/common/json'; +import * as qzone from '@snowluma/protocol/web/qzone-public'; +import { RequestUtil, getBknFromCookie } from '@snowluma/protocol/web/request-util'; + +const cookies = { p_skey: 'test-pskey', uin: 'o10001' }; +const union: JsonObject = { + uf_key: 'feed-1', + ugc_id: '9007199254740999', + feed_id: 'feed-id', + ext_ids: [{ numeric: '9007199254740999' }], +}; +const feed: JsonObject = { + cell_common: { union_id: union, feed_type: 1, domain_type: 3, cur_like_key: 'like-key' }, + cell_feed_transfer: { opaque: 'transfer' }, + cell_user_info: { user: { uid: 'author-uid', uin: '20002', nick: '作者' } }, + cell_unknown: { keep: true }, +}; +const user = { uin: '10001', uid: 'self-uid', nick: '我' }; +const comment = { + id: 'comment-1', + user: { uin: '20002', uid: 'comment-uid', nick: '' }, + reply_attach_info: 'reply-first', + opaque: true, +}; +const reply = { id: 'reply-1', user: { uin: '30003', uid: 'reply-uid', nick: '' } }; +const baseParams = { union_id: union, cell_feed_transfer: feed.cell_feed_transfer }; + +function mockRequest(data: JsonObject = {}) { + return vi.spyOn(RequestUtil, 'HttpGetJson').mockResolvedValue({ retcode: 0, data }); +} + +function body(request: ReturnType, index = 0): JsonObject { + return request.mock.calls[index]![2] as JsonObject; +} + +afterEach(() => vi.restoreAllMocks()); + +describe('public Qzone reader', () => { + it('uses the JSON gateway with the current account cookies and the method oidb headers', async () => { + const flags = { public_qzone_entrance_switch: true, can_upvote: true, unknown_flag: false }; + const request = mockRequest({ + results: [ + { uin: '20002', entrances: {} }, + { uin: '10001', entrances: flags }, + ], + }); + await expect(qzone.getQzonePublicCapabilities(cookies, '10001')).resolves.toEqual(flags); + const [url, method, , headers] = request.mock.calls[0]!; + expect(url).toBe( + `https://h5.qzone.qq.com/http2rpc/gotrpc/v1/trpc.public_qzone.entrance_ctrl.EntranceCtrl/BatchEntranceWhitelist?g_tk=${getBknFromCookie(cookies)}`, + ); + expect(method).toBe('POST'); + expect(body(request)).toEqual({ uins: ['10001'], entrance_types: [1, 15] }); + expect(headers).toEqual({ + Cookie: 'p_skey=test-pskey; uin=o10001', + 'Content-Type': 'application/json', + Referer: 'https://h5.qzone.qq.com/pc-qzone/index.html', + 'x-web-qua': 'V1_HT5_QZ_9.9.32_001_IDC_B', + 'x-oidb': JSON.stringify({ uint32_command: '0x9741', uint32_service_type: '0' }), + }); + }); + + it('continues short and ad-only pages using the full last non-ad union and server has_more', async () => { + vi.spyOn(Date, 'now').mockReturnValue(12345); + const ad = { cell_common: { feed_type: 3, union_id: { uf_key: 'ad' } } }; + const request = mockRequest() + .mockResolvedValueOnce({ + retcode: 0, + data: { feeds: [{ feed }], has_more: true, attach_info: 'page-2', extra: 'keep' }, + }) + .mockResolvedValueOnce({ + retcode: 0, + data: { feeds: [{ feed: ad }], has_more: true, attach_info: 'page-3' }, + }) + .mockResolvedValueOnce({ retcode: 0, data: { feeds: [], has_more: false } }); + const first = await qzone.getQzonePublicFeeds(cookies, '10001'); + expect(first).toMatchObject({ feeds: [feed], has_more: true, extra: 'keep' }); + expect(body(request)).toEqual({ refresh_id: '10001_12345' }); + const second = await qzone.getQzonePublicFeeds(cookies, '10001', first.next_cursor!); + expect(body(request, 1)).toEqual({ + refresh_id: '10001_12345', + attach_info: 'page-2', + last_client_feed_union_id: union, + }); + const last = await qzone.getQzonePublicFeeds(cookies, '10001', second.next_cursor!); + expect(body(request, 2)).toEqual({ + refresh_id: '10001_12345', + attach_info: 'page-3', + last_client_feed_union_id: union, + }); + expect(last).toEqual({ feeds: [], has_more: false, next_cursor: null }); + expect(request).toHaveBeenCalledTimes(3); + }); + + it('preserves unknown feed cells without using them as pagination anchors', async () => { + const unknown = { cell_common: { feed_type: 4 }, cell_unknown: { keep: true } }; + const request = mockRequest({ + feeds: [{ feed }, { feed: unknown }], + has_more: true, + attach_info: 'next', + }); + const first = await qzone.getQzonePublicFeeds(cookies, '10001'); + expect(first.feeds).toEqual([feed, unknown]); + request.mockResolvedValueOnce({ + retcode: 0, + data: { feeds: [{ feed: unknown }], has_more: true, attach_info: 'after-unknown' }, + }); + const next = await qzone.getQzonePublicFeeds(cookies, '10001', first.next_cursor!); + request.mockResolvedValueOnce({ retcode: 0, data: { feeds: [], has_more: false } }); + await qzone.getQzonePublicFeeds(cookies, '10001', next.next_cursor!); + expect(body(request, 2).last_client_feed_union_id).toEqual(union); + }); + + it('rejects malformed or cross-account cursors before a network request', async () => { + const request = mockRequest({ feeds: [{ feed }], has_more: true, attach_info: 'next' }); + const first = await qzone.getQzonePublicFeeds(cookies, '10001'); + request.mockClear(); + + for (const cursor of [ + '', + '!', + 'a'.repeat(65537), + Buffer.from('{}').toString('base64url'), + first.next_cursor!, + ]) { + await expect(qzone.getQzonePublicFeeds(cookies, '20002', cursor)).rejects.toThrow( + /cursor/, + ); + } + + expect(request).not.toHaveBeenCalled(); + }); + + it.each([ + { feeds: [], has_more: true }, + { feeds: [{ feed: null }], has_more: false }, + { feeds: null, has_more: false }, + { feeds: [], has_more: 1 }, + ])('reports invalid upstream page data (%j)', async (data) => { + mockRequest(data); + await expect(qzone.getQzonePublicFeeds(cookies, '10001')).rejects.toThrow( + /GetPublicRecomFeeds/, + ); + }); + + it('preserves detail/comment/reply result fields and forwards their separate pagination state', async () => { + const detail = { + feed: { feed: { ...feed, cell_comment: { comments: [comment] } } }, + attach_info: 'comments-next', + has_more: true, + }; + const request = mockRequest(detail); + await expect(qzone.getQzonePublicFeedDetail(cookies, feed)).resolves.toEqual(detail); + expect(body(request)).toEqual({ ...baseParams, feed_action_domain_type: 3, from_page: 1 }); + request.mockResolvedValueOnce({ + retcode: 0, + data: { + cell_comment: { comments: [comment] }, + attach_info: 'comments-end', + has_more: false, + }, + }); + await qzone.getQzonePublicComments(cookies, feed, 'comments-next'); + expect(body(request, 1)).toEqual({ ...baseParams, attach_info: 'comments-next' }); + request.mockResolvedValue({ + retcode: 0, + data: { replys: [reply], reply_attach_info: 'reply-next', has_more: true }, + }); + await qzone.getQzonePublicReplies(cookies, feed, comment, '', 20); + expect(body(request, 2)).toEqual({ + ...baseParams, + cur_comment: comment, + comment_attach_info: '', + reply_attach_info: 'reply-first', + page_size: 20, + }); + await qzone.getQzonePublicReplies(cookies, feed, comment, 'reply-next', 5); + expect(body(request, 3).reply_attach_info).toBe('reply-next'); + }); +}); + +describe('public Qzone interactions', () => { + it.each([ + [true, 'Upvote', '0x9d18', qzone.setQzonePublicUpvote, { upvote: { num: 1 } }], + [false, 'Downvote', '0x9d19', qzone.setQzonePublicUpvote, { upvote: { num: 0 } }], + [true, 'DoLike', '0x9699', qzone.setQzonePublicLike, { like: { num: 1 } }], + [false, 'UnLike', '0x969c', qzone.setQzonePublicLike, { like: { num: 0 } }], + ] as const)( + 'sends %s to %s with its own success field', + async (enable, method, command, invoke, result) => { + const request = mockRequest(result); + await expect(invoke(cookies, feed, enable)).resolves.toEqual(result); + expect(request.mock.calls[0]![0]).toContain(`/${method}?`); + expect(JSON.parse(request.mock.calls[0]![3]!['x-oidb']!)).toEqual({ + uint32_command: command, + uint32_service_type: '1', + }); + expect(body(request)).toEqual( + method.includes('Like') + ? { ...baseParams, like_key: 'like-key', like_type: 1 } + : baseParams, + ); + }, + ); + + it('encodes text as plain RichItem and retains rich arrays and reply target identities', async () => { + const request = mockRequest({ comment }); + await qzone.commentQzonePublicFeed(cookies, feed, user, '中文 & +\n第二行'); + expect(body(request)).toEqual({ + ...baseParams, + comment: { user, content: [{ type: 0, content: '中文 & +\n第二行' }] }, + }); + const rich = [ + { type: 0, content: '文字' }, + { type: 2, unknown: { keep: true } }, + ]; + request.mockResolvedValue({ retcode: 0, data: { reply } }); + await qzone.replyQzonePublicFeed(cookies, feed, user, comment, rich); + expect(body(request, 1)).toEqual({ + ...baseParams, + comment, + reply: { user, target_user: comment.user, content: rich }, + }); + await qzone.replyQzonePublicFeed(cookies, feed, user, comment, '回复', reply); + expect((body(request, 2).reply as JsonObject).target_user).toEqual(reply.user); + }); + + it('likes comments and replies using their upstream like.id rather than comment IDs', async () => { + const request = mockRequest({ like: { count: 1 } }); + await qzone.setQzonePublicCommentLike( + cookies, + feed, + { ...comment, like: { id: 'comment-like-key' } }, + true, + ); + expect(body(request)).toEqual({ + ...baseParams, + like_key: 'comment-like-key', + like_type: 2, + }); + await qzone.setQzonePublicCommentLike(cookies, feed, comment, false, { + ...reply, + like: { id: 'reply-like-key' }, + }); + expect(body(request, 1)).toEqual({ + ...baseParams, + like_key: 'reply-like-key', + like_type: 3, + }); + await expect(qzone.setQzonePublicCommentLike(cookies, feed, comment, true)).rejects.toThrow( + /like_key/, + ); + expect(request).toHaveBeenCalledTimes(2); + }); + + it('passes complete comment/reply objects for deletion and forwards without a second comment', async () => { + const request = mockRequest({ unknown: 'keep' }); + await qzone.deleteQzonePublicComment(cookies, feed, comment); + expect(body(request)).toEqual({ ...baseParams, comment }); + await qzone.deleteQzonePublicReply(cookies, feed, comment, reply); + expect(body(request, 1)).toEqual({ ...baseParams, comment, reply }); + await qzone.forwardQzonePublicFeed(cookies, feed, ''); + expect(body(request, 2)).toEqual({ ...baseParams, reason: '' }); + expect(request.mock.calls[2]![0]).toContain( + '/trpc.qzone.feeds_writer.FeedsWriter/ForwardFeed?', + ); + expect(request).toHaveBeenCalledTimes(3); + }); + + it('follows public authors by uid and other authors by uin, exposing nested relation failures', async () => { + const request = mockRequest({ ret_code: '0' }); + await qzone.setQzonePublicFollow(cookies, feed, true); + expect(body(request)).toEqual({ + follow_from_type: 1, + target_uid: 'author-uid', + follow_feed_id: 'feed-1', + cell_feed_transfer: feed.cell_feed_transfer, + }); + const other = { + ...feed, + cell_common: { ...(feed.cell_common as JsonObject), domain_type: 1 }, + }; + await qzone.setQzonePublicFollow(cookies, other, false); + expect(body(request, 1).target_uin).toBe('20002'); + expect(request.mock.calls[1]![0]).toContain('/Unfollow?'); + request.mockResolvedValueOnce({ retcode: 0, data: { ret_code: 403, ret_msg: 'denied' } }); + await expect(qzone.setQzonePublicFollow(cookies, feed, true)).rejects.toThrow( + 'ret_code=403 denied', + ); + }); + + it('rejects missing operation identities before writing', async () => { + const request = mockRequest(); + expect(() => qzone.forwardQzonePublicFeed(cookies, {}, '')).toThrow(/union_id/); + await expect( + qzone.setQzonePublicLike(cookies, { cell_common: { union_id: union } }, true), + ).rejects.toThrow(/like_key/); + await expect( + qzone.setQzonePublicFollow(cookies, { cell_common: { union_id: union } }, true), + ).rejects.toThrow(/uid\/uin/); + await expect(qzone.replyQzonePublicFeed(cookies, feed, user, {}, 'text')).rejects.toThrow( + /user/, + ); + expect(request).not.toHaveBeenCalled(); + }); +}); + +describe('public Qzone errors', () => { + it.each([ + null, + {}, + { retcode: 0 }, + { retcode: 0, data: [] }, + { retcode: 4003, message: 'need login' }, + ])('does not report malformed or failed envelopes as success (%j)', async (response) => { + const request = vi.spyOn(RequestUtil, 'HttpGetJson').mockResolvedValue(response); + await expect(qzone.getQzonePublicFeedDetail(cookies, feed)).rejects.toThrow( + /qzone public GetFeedDetail failed/, + ); + expect(request).toHaveBeenCalledTimes(1); + }); + + it('propagates transport errors and does not retry writes or accept missing success fields', async () => { + const request = mockRequest().mockRejectedValueOnce(new Error('connection closed')); + await expect(qzone.commentQzonePublicFeed(cookies, feed, user, 'text')).rejects.toThrow( + 'connection closed', + ); + await expect(qzone.setQzonePublicLike(cookies, feed, true)).rejects.toThrow(/缺少 like/); + await expect(qzone.setQzonePublicUpvote(cookies, feed, false)).rejects.toThrow( + /缺少 upvote/, + ); + await expect(qzone.commentQzonePublicFeed(cookies, feed, user, 'text')).rejects.toThrow( + /缺少 comment/, + ); + await expect( + qzone.replyQzonePublicFeed(cookies, feed, user, comment, 'text'), + ).rejects.toThrow(/缺少 reply/); + expect(request).toHaveBeenCalledTimes(5); + }); +}); diff --git a/packages/protocol/tests/web/qzone-reply.test.ts b/packages/protocol/tests/web/qzone-reply.test.ts new file mode 100644 index 00000000..5bd82705 --- /dev/null +++ b/packages/protocol/tests/web/qzone-reply.test.ts @@ -0,0 +1,174 @@ +import { afterEach, describe, expect, it, vi } from 'vitest'; +import { replyQzoneComment } from '@snowluma/protocol/web/qzone'; +import { RequestUtil, getBknFromCookie } from '@snowluma/protocol/web/request-util'; + +const cookies = { p_skey: 'PSK', skey: 'SK', uin: 'o10000' }; +const parent = { commentId: '0', commentUin: '30003' }; + +// Synthetic envelopes and parameters following the public web comment module. +// These tests do not contact Qzone or claim live delivery/rendering coverage. +describe('qzone / replyQzoneComment', () => { + afterEach(() => vi.restoreAllMocks()); + + it('uses the reply endpoint and keeps login, post owner, parent and new reply IDs distinct', async () => { + const request = vi + .spyOn(RequestUtil, 'HttpGetText') + .mockResolvedValue('frameElement.callback({"code":0,"data":{"id":8}});'); + const result = await replyQzoneComment( + cookies, + '10000', + '20002', + 'POST', + '回复 & 好', + parent, + ); + + expect(result).toEqual({ + comment_id: '8', + parent_comment_id: '0', + parent_comment_uin: 30003, + }); + expect(request).toHaveBeenCalledTimes(1); + const [url, method, body, headers] = request.mock.calls[0]!; + expect(url).toBe( + `https://h5.qzone.qq.com/proxy/domain/taotao.qzone.qq.com/cgi-bin/emotion_cgi_addreply_ugc?g_tk=${getBknFromCookie(cookies)}`, + ); + expect(method).toBe('POST'); + expect(headers).toMatchObject({ + 'Content-Type': 'application/x-www-form-urlencoded', + Cookie: expect.stringContaining('p_skey=PSK'), + }); + expect(Object.fromEntries(new URLSearchParams(body as string))).toEqual({ + uin: '10000', + hostUin: '20002', + hostuin: '10000', + topicId: '20002_POST', + commentId: '0', + commentUin: '30003', + content: '回复 & 好', + inCharset: 'utf-8', + outCharset: 'utf-8', + ref: '', + code_version: '1', + format: 'fs', + qzreferrer: 'https://user.qzone.qq.com/20002', + }); + }); + + it('addresses a nested reply author without substituting that author for the parent', async () => { + const request = vi + .spyOn(RequestUtil, 'HttpGetText') + .mockResolvedValue('{"code":0,"data":{"id":"9007199254740993"}}'); + const result = await replyQzoneComment(cookies, '10000', '20002', 'POST', '内容 😀 & +', { + ...parent, + replyTo: { uin: '40004', name: ' 名%,}😀 ' }, + }); + + const form = new URLSearchParams(request.mock.calls[0]![2] as string); + expect(form.get('commentId')).toBe('0'); + expect(form.get('commentUin')).toBe('30003'); + expect(form.get('content')).toBe('@{uin:40004,nick:名%25%2C%7D😀,auto:1} 内容 😀 & +'); + expect(form.has('replyId')).toBe(false); + expect(result.comment_id).toBe('9007199254740993'); + }); + + it('preserves a zero new reply ID', async () => { + vi.spyOn(RequestUtil, 'HttpGetText').mockResolvedValue('{"code":0,"data":{"id":0}}'); + expect( + (await replyQzoneComment(cookies, '10000', '20002', 'POST', 'Reply', parent)) + .comment_id, + ).toBe('0'); + }); + + it.each([ + { ...parent, commentId: '' }, + { ...parent, commentId: ' ' }, + { ...parent, commentUin: '0' }, + { ...parent, commentUin: 'wrong' }, + { ...parent, commentUin: '9007199254740993' }, + { ...parent, replyTo: { uin: '0', name: 'Reader' } }, + { ...parent, replyTo: { uin: '40004', name: ' ' } }, + ])('rejects invalid parent/recipient before network access (%j)', async (target) => { + const request = vi.spyOn(RequestUtil, 'HttpGetText'); + await expect( + replyQzoneComment(cookies, '10000', '20002', 'POST', 'Reply', target), + ).rejects.toThrow(); + expect(request).not.toHaveBeenCalled(); + }); + + it.each([ + ['0', '20002', 'POST', 'Reply'], + ['10000', '0', 'POST', 'Reply'], + ['10000', '20002', ' ', 'Reply'], + ['10000', '20002', 'POST', ' '], + ])( + 'rejects invalid post identity or body (%s, %s, %s, %s)', + async (self, owner, tid, content) => { + const request = vi.spyOn(RequestUtil, 'HttpGetText'); + await expect( + replyQzoneComment(cookies, self, owner, tid, content, parent), + ).rejects.toThrow(); + expect(request).not.toHaveBeenCalled(); + }, + ); + + it.each([ + { code: -3000, message: 'permission denied' }, + { code: -3001, message: 'verification required' }, + { code: 0, subcode: -7, message: 'comment removed' }, + ])( + 'preserves server errors without retrying or posting an ordinary comment (%j)', + async (response) => { + const request = vi + .spyOn(RequestUtil, 'HttpGetText') + .mockResolvedValue(JSON.stringify(response)); + await expect( + replyQzoneComment(cookies, '10000', '20002', 'POST', 'Reply', parent), + ).rejects.toThrow(response.message); + expect(request).toHaveBeenCalledTimes(1); + }, + ); + + it.each([ + null, + [], + {}, + { code: '0' }, + { code: 0, subcode: '0' }, + { code: 0 }, + { code: 0, commentid: 9 }, + { code: 0, data: null }, + { code: 0, data: { id: '' } }, + { code: 0, data: { id: ' ' } }, + { code: 0, data: { id: {} } }, + { code: 0, data: { id: -1 } }, + { code: 0, data: { id: 9007199254740992 } }, + ])('does not report malformed acknowledgements as success (%j)', async (response) => { + const request = vi + .spyOn(RequestUtil, 'HttpGetText') + .mockResolvedValue(JSON.stringify(response)); + await expect( + replyQzoneComment(cookies, '10000', '20002', 'POST', 'Reply', parent), + ).rejects.toThrow(); + expect(request).toHaveBeenCalledTimes(1); + }); + + it('warns against blind retries when an accepted reply omits its ID', async () => { + vi.spyOn(RequestUtil, 'HttpGetText').mockResolvedValue('{"code":0,"data":{}}'); + await expect( + replyQzoneComment(cookies, '10000', '20002', 'POST', 'Reply', parent), + ).rejects.toThrow( + 'accepted but returned an invalid reply ID; check delivery before retrying', + ); + }); + + it('propagates network failures without another write', async () => { + const request = vi + .spyOn(RequestUtil, 'HttpGetText') + .mockRejectedValue(new Error('network down')); + await expect( + replyQzoneComment(cookies, '10000', '20002', 'POST', 'Reply', parent), + ).rejects.toThrow('network down'); + expect(request).toHaveBeenCalledTimes(1); + }); +}); diff --git a/packages/protocol/tests/web/qzone-share.test.ts b/packages/protocol/tests/web/qzone-share.test.ts new file mode 100644 index 00000000..11fc1d65 --- /dev/null +++ b/packages/protocol/tests/web/qzone-share.test.ts @@ -0,0 +1,177 @@ +import { afterEach, describe, expect, it, vi } from 'vitest'; +import { getQzoneHomeFeeds, getQzoneShareArk } from '../../src/web/qzone-public'; +import { RequestUtil } from '../../src/web/request-util'; + +const cookies = { p_skey: 'test', uin: 'o10001' }; +const feed = { + cell_common: { union_id: { feed_id: 'feed-id' }, operate_mask: 0 }, + cell_operation: { + share_outside: { share_access_resource: { busi_id: 'qzone_feed', resource_id: 'opaque' } }, + }, + cell_feed_transfer: 'original-transfer', + unknown: { keep: true }, +}; +const ark = '{ "app": "com.tencent.tuwen.lua", "config": {"token":"fixture"} }'; +const request = (data: unknown) => + vi.spyOn(RequestUtil, 'HttpGetJson').mockResolvedValue({ retcode: 0, data }); + +afterEach(() => vi.restoreAllMocks()); + +describe('Qzone share card', () => { + it('generates the original card and returns the upstream confirmation notice', async () => { + const req = request({ + template_data: ark, + err: { code: 0 }, + info: { + busi_data: Buffer.from( + JSON.stringify({ need_break: true, tips: { content: '分享后所有人可见' } }), + ).toString('base64'), + }, + }); + await expect(getQzoneShareArk(cookies, feed)).resolves.toEqual({ + ark, + requires_confirmation: true, + notice: '分享后所有人可见', + }); + expect(req).toHaveBeenCalledExactlyOnceWith( + expect.stringContaining('/trpc.qq.share.Service/CreateShare?g_tk='), + 'POST', + { + info: { + busi_id: 'qzone_feed', + resource_id: 'opaque', + template: 'ark_busi_select', + busi_data: 'original-transfer', + plat: 1, + target: 3, + }, + }, + expect.objectContaining({ + 'x-oidb': JSON.stringify({ uint32_command: '0x9409', uint32_service_type: '1' }), + Cookie: 'p_skey=test; uin=o10001', + }), + ); + }); + + it('preserves a valid card without a confirmation notice', async () => { + request({ template_data: ark, err: {} }); + await expect(getQzoneShareArk(cookies, feed)).resolves.toEqual({ + ark, + requires_confirmation: false, + notice: null, + }); + }); + + it('preserves a successful card when the upstream business error is null', async () => { + const card = '{ "app": "com.tencent.miniapp.lua", "view": "miniapp" }'; + const req = request({ + template_data: card, + err: null, + info: { + busi_data: Buffer.from( + JSON.stringify({ err_code: 0, err_msg: '', need_break: false, tips: {} }), + ).toString('base64'), + }, + }); + + await expect(getQzoneShareArk(cookies, feed)).resolves.toEqual({ + ark: card, + requires_confirmation: false, + notice: null, + }); + expect(req).toHaveBeenCalledOnce(); + }); + + it('rejects unavailable sharing and incomplete feeds before requesting a card', async () => { + const req = request({ template_data: ark }); + await expect( + getQzoneShareArk(cookies, { ...feed, cell_common: { operate_mask: 1 << 17 } }), + ).rejects.toThrow('不支持分享'); + await expect( + getQzoneShareArk(cookies, { ...feed, cell_feed_transfer: '' }), + ).rejects.toThrow('缺少分享信息'); + await expect(getQzoneShareArk(cookies, {})).rejects.toThrow('缺少分享信息'); + expect(req).not.toHaveBeenCalled(); + }); + + it.each([ + [{ err: { code: 3, msg: '参数错误' }, template_data: ark }, '3 参数错误'], + [{ err: { code: '0' }, template_data: ark }, '业务响应异常'], + [{ err: false, template_data: ark }, '业务响应异常'], + [{ err: 0, template_data: ark }, '业务响应异常'], + [{ err: '', template_data: ark }, '业务响应异常'], + [{ err: [], template_data: ark }, '业务响应异常'], + [{ err: null }, '未返回卡片'], + [{}, '未返回卡片'], + [{ template_data: '[]' }, '卡片格式异常'], + [{ template_data: ark, info: { busi_data: '!' } }, '提示编码异常'], + [{ template_data: ark, info: { busi_data: Buffer.from('{').toString('base64') } }, 'JSON'], + ])('surfaces rejected or malformed share responses', async (data, error) => { + request(data); + await expect(getQzoneShareArk(cookies, feed)).rejects.toThrow(error); + }); + + it('propagates access errors without a retry', async () => { + const req = request(null).mockResolvedValue({ retcode: 10023, message: '无权限访问' }); + await expect(getQzoneShareArk(cookies, feed)).rejects.toThrow('10023 无权限访问'); + expect(req).toHaveBeenCalledOnce(); + }); +}); + +describe('Qzone homepage feeds', () => { + it('reads own homepage and preserves full cells across explicit pagination', async () => { + const req = request({ feeds: [{ feed }], has_more: true, attach_info: 'next', extra: 1 }); + const first = await getQzoneHomeFeeds(cookies, '10001'); + expect(first).toMatchObject({ feeds: [feed], has_more: true, extra: 1 }); + expect(req.mock.calls[0]![2]).toEqual({ + host_uid: '', + host_uin: '10001', + attach_info: '', + refresh_attach_info: '', + feed_action_domain_type: 1, + }); + req.mockResolvedValueOnce({ retcode: 0, data: { feeds: [], has_more: false } }); + await expect( + getQzoneHomeFeeds(cookies, '10001', undefined, first.next_cursor!), + ).resolves.toEqual({ feeds: [], has_more: false, next_cursor: null }); + expect(req.mock.calls[1]![2]).toMatchObject({ attach_info: 'next' }); + }); + + it('rejects a cursor reused for another account, homepage or stream', async () => { + const req = request({ feeds: [{ feed }], has_more: true, attach_info: 'next' }); + const first = await getQzoneHomeFeeds(cookies, '10001'); + req.mockClear(); + + for (const [self, host, cursor] of [ + ['20002', '10001', first.next_cursor!], + ['10001', '20002', first.next_cursor!], + [ + '10001', + '10001', + Buffer.from( + JSON.stringify({ + version: 1, + uin: '10001', + attach_info: 'next', + refresh_id: 'x', + }), + ).toString('base64url'), + ], + ]) { + await expect(getQzoneHomeFeeds(cookies, self!, host!, cursor!)).rejects.toThrow( + 'cursor', + ); + } + + expect(req).not.toHaveBeenCalled(); + }); + + it('surfaces missing or stalled pagination and permission failures', async () => { + const req = request({ feeds: [], has_more: true }); + await expect(getQzoneHomeFeeds(cookies, '10001')).rejects.toThrow('分页未推进'); + req.mockResolvedValue({ retcode: 10023, message: '无权限访问' }); + await expect(getQzoneHomeFeeds(cookies, '10001', '20002')).rejects.toThrow( + '10023 无权限访问', + ); + }); +}); diff --git a/packages/protocol/tests/web/qzone-update-right.test.ts b/packages/protocol/tests/web/qzone-update-right.test.ts new file mode 100644 index 00000000..6f103e42 --- /dev/null +++ b/packages/protocol/tests/web/qzone-update-right.test.ts @@ -0,0 +1,148 @@ +import { describe, it, expect, vi, afterEach } from 'vitest'; +import { buildQzoneUpdatePayload, updateQzoneMsgRight } from '@snowluma/protocol/web/qzone'; +import { RequestUtil } from '@snowluma/protocol/web/request-util'; + +// updateQzoneMsgRight is the two-step msgdetail_v6 → emotion_cgi_update flow. +// The real logic is the payload REBUILD (detail → publish-shaped form body, +// ported from php-qzone's live-verified updateRight): richval reconstruction +// from pic_id, pic_bo from the `bo=` query param, conlist → con. We pin that +// plus both request shapes and the throw contracts. + +const cookies = { p_skey: 'PSK', skey: 'SK', uin: 'o10000', p_uin: 'o10000' }; + +describe('qzone / buildQzoneUpdatePayload', () => { + it('rebuilds a text-only payload with ugcright_id defaulting to tid', () => { + const body = buildQzoneUpdatePayload( + { tid: 'T1', uin: 10000, content: 'hello', ugc_right: 1 }, + '10000', + ); + expect(body.get('tid')).toBe('T1'); + expect(body.get('con')).toBe('hello'); + expect(body.get('richtype')).toBe(''); + expect(body.get('richval')).toBe(''); + expect(body.get('pic_bo')).toBe(''); + expect(body.get('ugcright_id')).toBe('T1'); + expect(body.get('hostuin')).toBe('10000'); + expect(body.get('format')).toBe('fs'); + }); + + it('rebuilds richval from pic_id and pic_bo from the bo= query param', () => { + const body = buildQzoneUpdatePayload( + { + tid: 'T2', + uin: 10000, + content: 'pics', + conlist: [{ con: 'pi' }, { con: 'cs' }], + richtype: 1, + pic: [ + { + pic_id: 'X,ALBUM1,LLOC1,extra', + pictype: 22, + height: 800, + width: 600, + url1: 'https://photo.example/a.jpg?bo=abc%2Cdef&x=1', + }, + ], + }, + '10000', + ); + expect(body.get('con')).toBe('pics'); + expect(body.get('richtype')).toBe('1'); + expect(body.get('richval')).toBe(',ALBUM1,LLOC1,LLOC1,22,800,600,,0,0'); + expect(body.get('pic_bo')).toBe('abc,def\tabc,def'); + }); + + it('throws when an image post detail carries unusable pic info', () => { + expect(() => + buildQzoneUpdatePayload( + { tid: 'T3', richtype: 1, pic: [{ pic_id: 'broken' }] }, + '10000', + ), + ).toThrow('unsupported pic info'); + expect(() => buildQzoneUpdatePayload({ tid: 'T3', richtype: 1, pic: [] }, '10000')).toThrow( + 'missing pic info', + ); + }); + + it('throws when the detail has no tid', () => { + expect(() => buildQzoneUpdatePayload({}, '10000')).toThrow('missing tid'); + }); +}); + +describe('qzone / updateQzoneMsgRight (HTTP layer)', () => { + afterEach(() => vi.restoreAllMocks()); + + const detailBody = + '_Callback({"code":0,"subcode":0,"tid":"T1","uin":10000,"content":"hello","ugc_right":1});'; + + it('GETs the detail then POSTs the rebuilt payload with the new ugc_right', async () => { + const spy = vi + .spyOn(RequestUtil, 'HttpGetText') + .mockResolvedValueOnce(detailBody) + .mockResolvedValueOnce('frameElement.callback({"code":0,"subcode":0,"ugc_right":64});'); + + const out = await updateQzoneMsgRight(cookies, '10000', 'T1', 64); + expect(out).toEqual({ ugc_right: 64 }); + + const [detailUrl, detailMethod] = spy.mock.calls[0]!; + expect(detailMethod).toBe('GET'); + expect(detailUrl).toContain( + 'https://h5.qzone.qq.com/proxy/domain/taotao.qq.com/cgi-bin/emotion_cgi_msgdetail_v6?', + ); + const dq = new URLSearchParams((detailUrl as string).split('?')[1]); + expect(dq.get('tid')).toBe('T1'); + expect(dq.get('uin')).toBe('10000'); + + const [updateUrl, updateMethod, updateBody] = spy.mock.calls[1]!; + expect(updateMethod).toBe('POST'); + expect(updateUrl).toContain( + 'https://h5.qzone.qq.com/proxy/domain/taotao.qzone.qq.com/cgi-bin/emotion_cgi_update?', + ); + const uq = new URLSearchParams(updateBody as string); + expect(uq.get('tid')).toBe('T1'); + expect(uq.get('con')).toBe('hello'); + expect(uq.get('ugc_right')).toBe('64'); + expect(uq.get('allow_uins')).toBeNull(); + }); + + it('sets allow_uins (deduped) for ugc_right 16 and requires it', async () => { + const spy = vi + .spyOn(RequestUtil, 'HttpGetText') + .mockResolvedValueOnce(detailBody) + .mockResolvedValueOnce('{"code":0,"subcode":0}'); + + await updateQzoneMsgRight(cookies, '10000', 'T1', 16, '10001|10001|10002'); + const uq = new URLSearchParams(spy.mock.calls[1]![2] as string); + expect(uq.get('ugc_right')).toBe('16'); + expect(uq.get('allow_uins')).toBe('10001|10002'); + + await expect(updateQzoneMsgRight(cookies, '10000', 'T1', 128)).rejects.toThrow( + 'target_uins is required', + ); + }); + + it('rejects an invalid ugc_right before any request', async () => { + const spy = vi.spyOn(RequestUtil, 'HttpGetText'); + await expect(updateQzoneMsgRight(cookies, '10000', 'T1', 2)).rejects.toThrow( + 'ugc_right must be one of', + ); + expect(spy).not.toHaveBeenCalled(); + }); + + it('throws on a non-zero detail code and skips the update POST', async () => { + const spy = vi + .spyOn(RequestUtil, 'HttpGetText') + .mockResolvedValueOnce('{"code":-3000,"subcode":-3000,"message":"need login"}'); + await expect(updateQzoneMsgRight(cookies, '10000', 'T1', 64)).rejects.toThrow('code=-3000'); + expect(spy).toHaveBeenCalledTimes(1); + }); + + it('throws on a non-zero update subcode', async () => { + vi.spyOn(RequestUtil, 'HttpGetText') + .mockResolvedValueOnce(detailBody) + .mockResolvedValueOnce('{"code":0,"subcode":-200,"message":"denied"}'); + await expect(updateQzoneMsgRight(cookies, '10000', 'T1', 64)).rejects.toThrow( + 'subcode=-200', + ); + }); +}); diff --git a/packages/protocol/tests/web/qzone-upload.test.ts b/packages/protocol/tests/web/qzone-upload.test.ts new file mode 100644 index 00000000..aa7ab6df --- /dev/null +++ b/packages/protocol/tests/web/qzone-upload.test.ts @@ -0,0 +1,117 @@ +import { afterEach, describe, expect, it, vi } from 'vitest'; +import { uploadQzoneImage, uploadQzoneImageFromSource } from '../../src/web/qzone'; +import { RequestUtil } from '../../src/web/request-util'; + +const cookies = { p_skey: 'PSK', skey: 'SK', uin: 'o10000', p_uin: 'o10000' }; +const expectedGtk = (() => { + let h = 5381; + + for (const c of 'PSK') { + h += (h << 5) + c.charCodeAt(0); + } + + return (h & 0x7fffffff).toString(); +})(); + +const successBody = ``; + +describe('qzone / uploadQzoneImage', () => { + afterEach(() => vi.restoreAllMocks()); + + it('POSTs the upload form and returns richval + direct url', async () => { + const spy = vi.spyOn(RequestUtil, 'HttpGetText').mockResolvedValue(successBody); + + const out = await uploadQzoneImage(cookies, '10000', 'AQID'); + + expect(out).toEqual({ + richval: ',12345,abc123,abc123,22,800,600,,800,600', + url: 'https://example.qzone.qq.com/image.jpg', + albumid: '12345', + lloc: 'abc123', + type: 22, + width: 600, + height: 800, + }); + + const [url, method, body, headers] = spy.mock.calls[0]!; + expect(url).toBe( + `https://up.qzone.qq.com/cgi-bin/upload/cgi_upload_image?g_tk=${expectedGtk}`, + ); + expect(method).toBe('POST'); + const h = headers as Record; + expect(h['Content-Type']).toBe('application/x-www-form-urlencoded'); + expect(h.Cookie).toContain('p_skey=PSK'); + expect(h.Cookie).toContain('skey=SK'); + + const form = new URLSearchParams(body as string); + expect(form.get('uin')).toBe('10000'); + expect(form.get('p_uin')).toBe('10000'); + expect(form.get('p_skey')).toBe('PSK'); + expect(form.get('base64')).toBe('1'); + expect(form.get('jsonhtml_callback')).toBe('callback'); + expect(form.get('picfile')).toBe('AQID'); + expect(form.get('qzreferrer')).toBe('https://user.qzone.qq.com/10000/main'); + }); + + it('accepts base64:// data-URI sources and strips the prefix before upload', async () => { + const spy = vi.spyOn(RequestUtil, 'HttpGetText').mockResolvedValue(successBody); + + await uploadQzoneImageFromSource(cookies, '10000', 'base64://data:image/png;base64,AQID'); + + const form = new URLSearchParams(spy.mock.calls[0]![2] as string); + expect(form.get('picfile')).toBe('AQID'); + }); + + it('defaults optional image metadata to 0 when the upload succeeds without it', async () => { + vi.spyOn(RequestUtil, 'HttpGetText').mockResolvedValue( + 'callback({"code":0,"data":{"albumid":"12345","lloc":"abc123","url":"https://example.qzone.qq.com/image.jpg"}});', + ); + + await expect(uploadQzoneImage(cookies, '10000', 'AQID')).resolves.toMatchObject({ + richval: ',12345,abc123,abc123,0,0,0,,0,0', + type: 0, + width: 0, + height: 0, + }); + }); + + it('rejects invalid base64 before any request', async () => { + const spy = vi.spyOn(RequestUtil, 'HttpGetText'); + + await expect(uploadQzoneImage(cookies, '10000', 'not base64?')).rejects.toThrow( + 'valid base64', + ); + expect(spy).not.toHaveBeenCalled(); + }); + + it('throws on non-zero code or subcode from Qzone', async () => { + const spy = vi.spyOn(RequestUtil, 'HttpGetText'); + + spy.mockResolvedValueOnce('callback({"code":-1,"message":"upload failed"});'); + await expect(uploadQzoneImage(cookies, '10000', 'AQID')).rejects.toThrow('code=-1'); + + spy.mockResolvedValueOnce('callback({"code":0,"subcode":-2,"message":"sub failed"});'); + await expect(uploadQzoneImage(cookies, '10000', 'AQID')).rejects.toThrow('subcode=-2'); + }); + + it('throws when the success response lacks required upload fields', async () => { + vi.spyOn(RequestUtil, 'HttpGetText').mockResolvedValue( + 'callback({"code":0,"data":{"albumid":"12345"}});', + ); + + await expect(uploadQzoneImage(cookies, '10000', 'AQID')).rejects.toThrow( + '响应缺少必要字段', + ); + }); +}); diff --git a/packages/protocol/tests/web/qzone.test.ts b/packages/protocol/tests/web/qzone.test.ts new file mode 100644 index 00000000..e161289f --- /dev/null +++ b/packages/protocol/tests/web/qzone.test.ts @@ -0,0 +1,711 @@ +import { describe, it, expect, vi, afterEach } from 'vitest'; +import { + commentQzoneMsg, + deleteQzoneMsg, + getQzoneFeeds, + getQzoneMsgList, + mapFeeds, + mapMsgList, + parseQzoneJson, + publishQzoneMsg, + setQzoneLike, +} from '@snowluma/protocol/web/qzone'; +import { RequestUtil } from '@snowluma/protocol/web/request-util'; + +// The 说说 list comes from taotao.qzone.qq.com's emotion_cgi_msglist_v6 CGI, +// proxied through h5.qzone.qq.com. The body is JSONP (`_preloadCallback({…})`) +// so we pin both the JSONP-stripping and the field renames (created_time→time, +// cmtnum→comment_num, secret→is_private, pic→largest-url images), plus the +// auth-failure throw contract — these are the only real logic in an otherwise +// thin HTTP port and would be invisible end-to-end if they regressed. + +const cookies = { p_skey: 'PSK', skey: 'SK', uin: 'o10000', p_uin: 'o10000' }; +const expectedGtk = (() => { + let h = 5381; + + for (const c of 'PSK') { + h += (h << 5) + c.charCodeAt(0); + } + + return (h & 0x7fffffff).toString(); +})(); + +describe('qzone / parseQzoneJson', () => { + it('parses a raw JSON body', () => { + expect(parseQzoneJson<{ a: number }>('{"a":1}')).toEqual({ a: 1 }); + }); + + it('strips a JSONP callback wrapper', () => { + expect(parseQzoneJson<{ a: number }>('_preloadCallback({"a":1});')).toEqual({ a: 1 }); + }); + + it('throws on a non-object body (HTML error page)', () => { + expect(() => parseQzoneJson('nope')).toThrow( + 'invalid response from qzone api', + ); + }); +}); + +describe('qzone / mapMsgList', () => { + it('renames fields, flags private, and picks the largest pic url', () => { + const out = mapMsgList({ + code: 0, + total: 42, + msglist: [ + { + tid: 'T1', + content: 'hello', + created_time: 1700000000, + cmtnum: 3, + secret: 0, + pic: [{ url1: 'a', url2: 'b', url3: 'c' }], + }, + { + tid: 'T2', + content: 'secret one', + created_time: 1700000050, + cmtnum: 0, + secret: 1, + }, + ], + }); + expect(out).toEqual({ + total: 42, + msglist: [ + { + tid: 'T1', + content: 'hello', + time: 1700000000, + comment_num: 3, + is_private: false, + images: ['c'], + }, + { + tid: 'T2', + content: 'secret one', + time: 1700000050, + comment_num: 0, + is_private: true, + images: [], + }, + ], + }); + }); + + it('falls back to list length when total is absent and tolerates missing fields', () => { + const out = mapMsgList({ msglist: [{ tid: 'T1' }] }); + expect(out).toEqual({ + total: 1, + msglist: [ + { tid: 'T1', content: '', time: 0, comment_num: 0, is_private: false, images: [] }, + ], + }); + }); +}); + +describe('qzone / getQzoneMsgList (HTTP layer)', () => { + afterEach(() => vi.restoreAllMocks()); + + it('GETs the exact proxied url + params and maps the JSONP body', async () => { + const spy = vi + .spyOn(RequestUtil, 'HttpGetText') + .mockResolvedValue( + '_preloadCallback({"code":0,"total":1,"msglist":[{"tid":"T1","content":"hi","created_time":1700000000,"cmtnum":2,"secret":0,"pic":[{"url1":"a","url3":"c"}]}]});', + ); + + const out = await getQzoneMsgList(cookies, '10000', 0, 20); + + expect(out).toEqual({ + total: 1, + msglist: [ + { + tid: 'T1', + content: 'hi', + time: 1700000000, + comment_num: 2, + is_private: false, + images: ['c'], + }, + ], + }); + + const [url, method, body, headers] = spy.mock.calls[0]!; + expect(method).toBe('GET'); + expect(body).toBe(''); + expect((headers as Record).Cookie).toContain('p_skey=PSK'); + expect(url).toContain( + 'https://h5.qzone.qq.com/proxy/domain/taotao.qzone.qq.com/cgi-bin/emotion_cgi_msglist_v6?', + ); + const q = new URLSearchParams((url as string).split('?')[1]); + expect(q.get('uin')).toBe('10000'); + expect(q.get('pos')).toBe('0'); + expect(q.get('num')).toBe('20'); + expect(q.get('g_tk')).toBe(expectedGtk); + expect(q.get('format')).toBe('jsonp'); + }); + + it('retries via the user.qzone.qq.com route on a -10000 rate-limit', async () => { + const spy = vi + .spyOn(RequestUtil, 'HttpGetText') + .mockResolvedValueOnce('{"code":-10000,"message":"使用人数过多,请稍后再试"}') + .mockResolvedValueOnce( + '{"code":0,"total":1,"msglist":[{"tid":"T1","content":"hi","created_time":1700000000,"cmtnum":0,"secret":0,"pic":[]}]}', + ); + + const out = await getQzoneMsgList(cookies, '10000', 0, 20); + + expect(out).toEqual({ + total: 1, + msglist: [ + { + tid: 'T1', + content: 'hi', + time: 1700000000, + comment_num: 0, + is_private: false, + images: [], + }, + ], + }); + + expect(spy).toHaveBeenCalledTimes(2); + expect(spy.mock.calls[0]![0]).toContain( + 'https://h5.qzone.qq.com/proxy/domain/taotao.qzone.qq.com/', + ); + const [retryUrl, , , retryHeaders] = spy.mock.calls[1]!; + expect(retryUrl).toContain( + 'https://user.qzone.qq.com/proxy/domain/taotao.qq.com/cgi-bin/emotion_cgi_msglist_v6?', + ); + expect((retryHeaders as Record).Referer).toBe( + 'https://user.qzone.qq.com/10000', + ); + const q = new URLSearchParams((retryUrl as string).split('?')[1]); + expect(q.get('format')).toBe('json'); + expect(q.get('g_tk')).toBe(expectedGtk); + }); + + it('returns an empty list (not a throw) for a genuinely empty space', async () => { + // The throw-on-auth-failure contract hinges on distinguishing a missing + // msglist (cookie failure → throw) from an empty msglist (no 说说 → []). + vi.spyOn(RequestUtil, 'HttpGetText').mockResolvedValue('{"code":0,"total":0,"msglist":[]}'); + await expect(getQzoneMsgList(cookies, '10000')).resolves.toEqual({ total: 0, msglist: [] }); + }); + + it('propagates a transport error instead of swallowing it', async () => { + vi.spyOn(RequestUtil, 'HttpGetText').mockRejectedValue( + new Error('Unexpected status code: 403'), + ); + await expect(getQzoneMsgList(cookies, '10000')).rejects.toThrow('403'); + }); + + it('throws on a non-zero qzone code (auth/permission), not an empty list', async () => { + vi.spyOn(RequestUtil, 'HttpGetText').mockResolvedValue( + '{"code":-3000,"message":"need login","subcode":0}', + ); + await expect(getQzoneMsgList(cookies, '10000')).rejects.toThrow('code=-3000'); + }); + + it('throws when msglist is absent (cookie failure), not an empty list', async () => { + vi.spyOn(RequestUtil, 'HttpGetText').mockResolvedValue('{"code":0,"total":0}'); + await expect(getQzoneMsgList(cookies, '10000')).rejects.toThrow('无法获取空间说说列表'); + }); +}); + +describe('qzone / mapFeeds', () => { + it('maps structured fields, prefers key over feedskey, and reads has_more', () => { + const out = mapFeeds({ + code: 0, + data: { + hasmore: 1, + data: [ + { + uin: 12345, + nickname: 'Alice', + abstime: 1700000000, + appid: 311, + key: 'K1', + html: '
    a
    ', + }, + { + uin: '67890', + nickname: 'Bob', + abstime: '1700000050', + appid: '4', + feedskey: 'FK2', + html: '
    b
    ', + }, + ], + }, + }); + expect(out).toMatchObject({ + has_more: true, + feeds: [ + { + uin: 12345, + nickname: 'Alice', + time: 1700000000, + appid: 311, + key: 'K1', + html: '
    a
    ', + }, + { + uin: 67890, + nickname: 'Bob', + time: 1700000050, + appid: 4, + key: 'FK2', + html: '
    b
    ', + }, + ], + }); + }); + + it('tolerates missing fields and empty data', () => { + expect(mapFeeds({ code: 0, data: { hasmore: 0, data: [] } })).toEqual({ + feeds: [], + has_more: false, + next_cursor: null, + }); + }); +}); + +describe('qzone / getQzoneFeeds (HTTP layer)', () => { + afterEach(() => vi.restoreAllMocks()); + + it('GETs the exact feeds url + params and maps the JSONP body', async () => { + const spy = vi + .spyOn(RequestUtil, 'HttpGetText') + .mockResolvedValue( + '_preloadCallback({"code":0,"data":{"main":{"hasMoreFeeds":true,"pagenum":"2","externparam":"page=2","begintime":"1699999999"},"data":[{"uin":12345,"nickname":"Alice","abstime":1700000000,"appid":311,"key":"K1","html":"
    a
    "}]}});', + ); + + const out = await getQzoneFeeds(cookies, '10000', 1, 10); + + expect(out).toMatchObject({ + has_more: true, + feeds: [ + { + uin: 12345, + nickname: 'Alice', + time: 1700000000, + appid: 311, + key: 'K1', + html: '
    a
    ', + }, + ], + }); + + const [url, method, body, headers] = spy.mock.calls[0]!; + expect(method).toBe('GET'); + expect(body).toBe(''); + expect((headers as Record).Cookie).toContain('p_skey=PSK'); + // Routed through the h5.qzone proxy gateway (NOT ic2 directly), because + // the qzone.qq.com cookie jar only authenticates against the proxy origin. + expect(url).toContain( + 'https://h5.qzone.qq.com/proxy/domain/ic2.qzone.qq.com/cgi-bin/feeds/feeds3_html_more?', + ); + const q = new URLSearchParams((url as string).split('?')[1]); + expect(q.get('uin')).toBe('10000'); + expect(q.get('pagenum')).toBe('1'); + expect(q.get('count')).toBe('10'); + expect(q.get('g_tk')).toBe(expectedGtk); + // The request asks for JSONP — pin it so the JSONP-bodied response above + // actually exercises the requested format (not just the tolerant parser). + expect(q.get('format')).toBe('jsonp'); + }); + + it('returns an empty list (not a throw) for a genuinely empty feed', async () => { + vi.spyOn(RequestUtil, 'HttpGetText').mockResolvedValue( + '_preloadCallback({"code":0,"data":{"data":[],"hasmore":0}});', + ); + await expect(getQzoneFeeds(cookies, '10000')).resolves.toEqual({ + feeds: [], + has_more: false, + next_cursor: null, + }); + }); + + it('throws on a non-zero qzone code', async () => { + vi.spyOn(RequestUtil, 'HttpGetText').mockResolvedValue( + '_preloadCallback({"code":-3000,"message":"need login"});', + ); + await expect(getQzoneFeeds(cookies, '10000')).rejects.toThrow('code=-3000'); + }); + + it('throws when the data array is absent (cookie failure), not an empty list', async () => { + vi.spyOn(RequestUtil, 'HttpGetText').mockResolvedValue( + '_preloadCallback({"code":0,"data":{}});', + ); + await expect(getQzoneFeeds(cookies, '10000')).rejects.toThrow('无法获取空间好友动态'); + }); +}); + +describe('qzone / publishQzoneMsg (HTTP layer)', () => { + afterEach(() => vi.restoreAllMocks()); + + it('POSTs a form-urlencoded body and reads the real t1_tid/t1_time (string) success fields', async () => { + // The real publish_v6 success envelope names the new feed id `t1_tid` + // and the post time `t1_time` (a STRING) — reading `tid`/`now` would + // false-throw on every successful publish. + const spy = vi + .spyOn(RequestUtil, 'HttpGetText') + .mockResolvedValue('{"code":0,"t1_tid":"NEWTID","t1_time":"1700000000"}'); + + const out = await publishQzoneMsg(cookies, '10000', 'hello 世界 & friends'); + + expect(out).toEqual({ tid: 'NEWTID', time: 1700000000 }); + + const [url, method, body, headers] = spy.mock.calls[0]!; + expect(method).toBe('POST'); + expect(url).toBe( + `https://h5.qzone.qq.com/proxy/domain/taotao.qzone.qq.com/cgi-bin/emotion_cgi_publish_v6?g_tk=${expectedGtk}`, + ); + const h = headers as Record; + expect(h['Content-Type']).toBe('application/x-www-form-urlencoded'); + expect(h.Cookie).toContain('p_skey=PSK'); + // form body carries the content (urlencoded, incl. the `&`) and host uin + const form = new URLSearchParams(body as string); + expect(form.get('con')).toBe('hello 世界 & friends'); + expect(form.get('hostuin')).toBe('10000'); + expect(form.get('who')).toBe('1'); + expect(form.get('ugc_right')).toBe('1'); + expect(form.has('allow_uins')).toBe(false); + expect(form.get('format')).toBe('json'); + expect(form.get('qzreferrer')).toBe('https://user.qzone.qq.com/10000'); + }); + + it('threads image richType/richval into the publish form', async () => { + const spy = vi + .spyOn(RequestUtil, 'HttpGetText') + .mockResolvedValue('{"code":0,"t1_tid":"NEWTID","t1_time":"1700000000"}'); + const richval = ',12345,abc,abc,22,800,600,,800,600\t,12346,def,def,22,640,480,,640,480'; + + await publishQzoneMsg(cookies, '10000', 'with images', 1, richval); + + const form = new URLSearchParams(spy.mock.calls[0]![2] as string); + expect(form.get('richtype')).toBe('1'); + expect(form.get('richval')).toBe(richval); + }); + + it('threads publish permission fields for restricted visibility', async () => { + const spy = vi + .spyOn(RequestUtil, 'HttpGetText') + .mockResolvedValue('{"code":0,"t1_tid":"RIGHTTID","t1_time":"1700000000"}'); + + await expect( + publishQzoneMsg( + cookies, + '10000', + 'limited', + undefined, + undefined, + 16, + '10001 | 10002|10001', + ), + ).resolves.toEqual({ + tid: 'RIGHTTID', + time: 1700000000, + }); + + const [, , body] = spy.mock.calls[0]!; + const form = new URLSearchParams(body as string); + expect(form.get('ugc_right')).toBe('16'); + expect(form.get('allow_uins')).toBe('10001|10002'); + expect(form.get('who')).toBe('1'); + }); + + it('ignores target_uins for non-restricted visibility', async () => { + const spy = vi + .spyOn(RequestUtil, 'HttpGetText') + .mockResolvedValue('{"code":0,"t1_tid":"FRIENDTID","t1_time":"1700000000"}'); + + await expect( + publishQzoneMsg(cookies, '10000', 'friends', undefined, undefined, 4, 'not-a-uin'), + ).resolves.toEqual({ + tid: 'FRIENDTID', + time: 1700000000, + }); + + const [, , body] = spy.mock.calls[0]!; + const form = new URLSearchParams(body as string); + expect(form.get('ugc_right')).toBe('4'); + expect(form.has('allow_uins')).toBe(false); + }); + + it('falls back to tid/now for alternate client builds', async () => { + vi.spyOn(RequestUtil, 'HttpGetText').mockResolvedValue( + '{"code":0,"tid":"ALT","now":1700000001}', + ); + await expect(publishQzoneMsg(cookies, '10000', 'hi')).resolves.toEqual({ + tid: 'ALT', + time: 1700000001, + }); + }); + + it('rejects empty content before any request', async () => { + const spy = vi.spyOn(RequestUtil, 'HttpGetText'); + await expect(publishQzoneMsg(cookies, '10000', '')).rejects.toThrow('content is required'); + expect(spy).not.toHaveBeenCalled(); + }); + + it('rejects incomplete publish rich params before any request', async () => { + const spy = vi.spyOn(RequestUtil, 'HttpGetText'); + await expect(publishQzoneMsg(cookies, '10000', 'hi', 1)).rejects.toThrow( + 'richType and richval', + ); + await expect(publishQzoneMsg(cookies, '10000', 'hi', undefined, ',123')).rejects.toThrow( + 'richType and richval', + ); + expect(spy).not.toHaveBeenCalled(); + }); + + it('rejects restricted visibility without target_uins before any request', async () => { + const spy = vi.spyOn(RequestUtil, 'HttpGetText'); + await expect( + publishQzoneMsg(cookies, '10000', 'hi', undefined, undefined, 128), + ).rejects.toThrow('target_uins is required'); + expect(spy).not.toHaveBeenCalled(); + }); + + it('throws on a non-zero qzone code (rejected/rate-limited)', async () => { + vi.spyOn(RequestUtil, 'HttpGetText').mockResolvedValue( + '{"code":-10000,"message":"too frequent"}', + ); + await expect(publishQzoneMsg(cookies, '10000', 'hi')).rejects.toThrow('code=-10000'); + }); + + it('throws when the success body carries no feed id (neither t1_tid nor tid)', async () => { + vi.spyOn(RequestUtil, 'HttpGetText').mockResolvedValue('{"code":0,"t1_time":"1700000000"}'); + await expect(publishQzoneMsg(cookies, '10000', 'hi')).rejects.toThrow('缺少 tid'); + }); +}); + +describe('qzone / deleteQzoneMsg (HTTP layer)', () => { + afterEach(() => vi.restoreAllMocks()); + + it('POSTs the tid form body (format=fs) to the proxied delete CGI and resolves on code 0', async () => { + // NB: the success-body shape is a guess extrapolated from sibling CGIs — + // no public delete impl parses the response — so this mock pins our + // success contract, not a verified server envelope (see helper comment). + const spy = vi + .spyOn(RequestUtil, 'HttpGetText') + .mockResolvedValue('{"code":0,"subcode":0,"message":""}'); + + await expect(deleteQzoneMsg(cookies, '10000', 'TID123')).resolves.toBeUndefined(); + + const [url, method, body, headers] = spy.mock.calls[0]!; + expect(method).toBe('POST'); + expect(url).toBe( + `https://h5.qzone.qq.com/proxy/domain/taotao.qzone.qq.com/cgi-bin/emotion_cgi_delete_v6?g_tk=${expectedGtk}`, + ); + const h = headers as Record; + expect(h['Content-Type']).toBe('application/x-www-form-urlencoded'); + expect(h.Cookie).toContain('p_skey=PSK'); + const form = new URLSearchParams(body as string); + expect(form.get('tid')).toBe('TID123'); + expect(form.get('hostuin')).toBe('10000'); + // delete_v6 wants format=fs (NOT json), per the working community script + expect(form.get('format')).toBe('fs'); + expect(form.get('json')).toBeNull(); // no bogus json param + }); + + it('rejects an empty tid before any request', async () => { + const spy = vi.spyOn(RequestUtil, 'HttpGetText'); + await expect(deleteQzoneMsg(cookies, '10000', '')).rejects.toThrow('tid is required'); + expect(spy).not.toHaveBeenCalled(); + }); + + it('throws on a non-zero qzone code (foreign/unknown tid or auth failure)', async () => { + vi.spyOn(RequestUtil, 'HttpGetText').mockResolvedValue( + '{"code":-4001,"message":"no permission"}', + ); + await expect(deleteQzoneMsg(cookies, '10000', 'TID123')).rejects.toThrow('code=-4001'); + }); + + it('throws on a non-zero subcode even when code is 0', async () => { + vi.spyOn(RequestUtil, 'HttpGetText').mockResolvedValue( + '{"code":0,"subcode":-12,"message":"sub error"}', + ); + await expect(deleteQzoneMsg(cookies, '10000', 'TID123')).rejects.toThrow('subcode=-12'); + }); + + it('resolves when neither code nor subcode is present (extrapolated success branch)', async () => { + vi.spyOn(RequestUtil, 'HttpGetText').mockResolvedValue('{"message":""}'); + await expect(deleteQzoneMsg(cookies, '10000', 'TID123')).resolves.toBeUndefined(); + }); +}); + +describe('qzone / setQzoneLike (HTTP layer)', () => { + afterEach(() => vi.restoreAllMocks()); + + it('POSTs to internal_dolike_app with the mood unikey/curkey/fid/abstime when liking', async () => { + const spy = vi + .spyOn(RequestUtil, 'HttpGetText') + .mockResolvedValue('{"code":0,"subcode":0}'); + + await expect( + setQzoneLike(cookies, '10000', '20002', 'TIDX', true, 1700000000), + ).resolves.toBeUndefined(); + + const [url, method, body, headers] = spy.mock.calls[0]!; + expect(method).toBe('POST'); + // like CGI + unikey/curkey shape + opuin + appid CONFIRMED (QLiker.py, CSDN) + expect(url).toBe( + `https://h5.qzone.qq.com/proxy/domain/w.qzone.qq.com/cgi-bin/likes/internal_dolike_app?g_tk=${expectedGtk}`, + ); + const h = headers as Record; + expect(h['Content-Type']).toBe('application/x-www-form-urlencoded'); + expect(h.Cookie).toContain('p_skey=PSK'); + const form = new URLSearchParams(body as string); + // unikey/curkey address the target's 说说 (mood), fid is the tid, opuin is self + expect(form.get('unikey')).toBe('http://user.qzone.qq.com/20002/mood/TIDX'); + expect(form.get('curkey')).toBe('http://user.qzone.qq.com/20002/mood/TIDX'); + expect(form.get('fid')).toBe('TIDX'); + expect(form.get('opuin')).toBe('10000'); + expect(form.get('appid')).toBe('311'); + // abstime threaded through (every real dolike impl sends it) + expect(form.get('abstime')).toBe('1700000000'); + }); + + it('defaults abstime to 0 when not supplied', async () => { + const spy = vi.spyOn(RequestUtil, 'HttpGetText').mockResolvedValue('{"code":0}'); + await setQzoneLike(cookies, '10000', '20002', 'TIDX', true); + const form = new URLSearchParams(spy.mock.calls[0]![2] as string); + expect(form.get('abstime')).toBe('0'); + }); + + it('hits internal_unlike_app when unliking (NB: unlike endpoint UNVERIFIED, pending a live capture)', async () => { + const spy = vi.spyOn(RequestUtil, 'HttpGetText').mockResolvedValue('{"code":0}'); + await setQzoneLike(cookies, '10000', '10000', 'TIDX', false); + const [url] = spy.mock.calls[0]!; + expect(url).toContain('/cgi-bin/likes/internal_unlike_app?'); + }); + + it('rejects an empty tid before any request', async () => { + const spy = vi.spyOn(RequestUtil, 'HttpGetText'); + await expect(setQzoneLike(cookies, '10000', '10000', '', true)).rejects.toThrow( + 'tid is required', + ); + expect(spy).not.toHaveBeenCalled(); + }); + + it('throws on a non-zero code (no permission / unknown tid)', async () => { + vi.spyOn(RequestUtil, 'HttpGetText').mockResolvedValue( + '{"code":-3000,"message":"no perm"}', + ); + await expect(setQzoneLike(cookies, '10000', '20002', 'TIDX', true)).rejects.toThrow( + 'like failed: code=-3000', + ); + }); + + it('throws on a non-zero subcode too', async () => { + vi.spyOn(RequestUtil, 'HttpGetText').mockResolvedValue('{"code":0,"subcode":-7}'); + await expect(setQzoneLike(cookies, '10000', '20002', 'TIDX', false)).rejects.toThrow( + 'unlike failed: subcode=-7', + ); + }); +}); + +describe('qzone / commentQzoneMsg (HTTP layer)', () => { + afterEach(() => vi.restoreAllMocks()); + + it('POSTs to re_feeds with the topicId/uin/hostUin/content and returns the comment id', async () => { + const spy = vi + .spyOn(RequestUtil, 'HttpGetText') + .mockResolvedValue('{"code":0,"commentid":987}'); + + const out = await commentQzoneMsg(cookies, '10000', '20002', 'TIDX', '说得好 & 顶'); + + expect(out).toEqual({ comment_id: '987' }); + + const [url, method, body, headers] = spy.mock.calls[0]!; + expect(method).toBe('POST'); + expect(url).toBe( + `https://h5.qzone.qq.com/proxy/domain/taotao.qzone.qq.com/cgi-bin/emotion_cgi_re_feeds?g_tk=${expectedGtk}`, + ); + const h = headers as Record; + expect(h['Content-Type']).toBe('application/x-www-form-urlencoded'); + expect(h.Cookie).toContain('p_skey=PSK'); + const form = new URLSearchParams(body as string); + // topicId base _ is confirmed; the __1 suffix is on 2/3 + // impls (one omits it) — kept as the default, not asserted as canonical. + expect(form.get('topicId')).toBe('20002_TIDX__1'); + // uin=commenter(self), hostUin=feed owner — verified not-swapped + expect(form.get('uin')).toBe('10000'); + expect(form.get('hostUin')).toBe('20002'); + expect(form.get('content')).toBe('说得好 & 顶'); + expect(form.get('format')).toBe('json'); + // qzreferrer carries the commenter's own space (matches the impls) + expect(form.get('qzreferrer')).toBe('https://user.qzone.qq.com/10000'); + // the re_feeds param family (3/3 impls) the publish sibling also sends + expect(form.get('feedsType')).toBe('100'); + expect(form.get('private')).toBe('0'); + expect(form.get('paramstr')).toBe('1'); + }); + + it('threads image direct-url richval into the comment form', async () => { + const spy = vi + .spyOn(RequestUtil, 'HttpGetText') + .mockResolvedValue('{"code":0,"commentid":987}'); + const richval = 'https://example.qzone.qq.com/a.jpg\thttps://example.qzone.qq.com/b.jpg'; + + await commentQzoneMsg(cookies, '10000', '20002', 'TIDX', 'pics', 1, richval); + + const form = new URLSearchParams(spy.mock.calls[0]![2] as string); + expect(form.get('richtype')).toBe('1'); + expect(form.get('richval')).toBe(richval); + }); + + it('resolves with empty comment_id on success when the response carries no id (field name varies)', async () => { + vi.spyOn(RequestUtil, 'HttpGetText').mockResolvedValue('{"code":0}'); + await expect(commentQzoneMsg(cookies, '10000', '20002', 'TIDX', 'hi')).resolves.toEqual({ + comment_id: '', + }); + }); + + it('reads the commentId (camelCase) fallback field', async () => { + vi.spyOn(RequestUtil, 'HttpGetText').mockResolvedValue('{"code":0,"commentId":"abc"}'); + await expect(commentQzoneMsg(cookies, '10000', '20002', 'TIDX', 'hi')).resolves.toEqual({ + comment_id: 'abc', + }); + }); + + it('rejects empty tid or content before any request', async () => { + const spy = vi.spyOn(RequestUtil, 'HttpGetText'); + await expect(commentQzoneMsg(cookies, '10000', '20002', '', 'hi')).rejects.toThrow( + 'tid is required', + ); + await expect(commentQzoneMsg(cookies, '10000', '20002', 'TIDX', '')).rejects.toThrow( + 'content is required', + ); + expect(spy).not.toHaveBeenCalled(); + }); + + it('rejects incomplete comment rich params before any request', async () => { + const spy = vi.spyOn(RequestUtil, 'HttpGetText'); + await expect(commentQzoneMsg(cookies, '10000', '20002', 'TIDX', 'hi', 1)).rejects.toThrow( + 'richType and richval', + ); + await expect( + commentQzoneMsg( + cookies, + '10000', + '20002', + 'TIDX', + 'hi', + undefined, + 'https://example.com/img.jpg', + ), + ).rejects.toThrow('richType and richval'); + expect(spy).not.toHaveBeenCalled(); + }); + + it('throws on a non-zero code (comments disabled / no permission)', async () => { + vi.spyOn(RequestUtil, 'HttpGetText').mockResolvedValue( + '{"code":-3000,"message":"forbidden"}', + ); + await expect(commentQzoneMsg(cookies, '10000', '20002', 'TIDX', 'hi')).rejects.toThrow( + 'comment failed: code=-3000', + ); + }); +}); diff --git a/packages/protocol/tests/web/request-util.test.ts b/packages/protocol/tests/web/request-util.test.ts new file mode 100644 index 00000000..e868361e --- /dev/null +++ b/packages/protocol/tests/web/request-util.test.ts @@ -0,0 +1,708 @@ +import http from 'node:http'; +import type { AddressInfo } from 'node:net'; +import { getLogLevel, setLogLevel, subscribeLogs, type LogEntry } from '@snowluma/common/logger'; +import { afterEach, describe, expect, it, vi } from 'vitest'; +import { RequestUtil } from '@snowluma/protocol/web/request-util'; + +const previousLogLevel = getLogLevel(); + +const servers = new Set(); + +async function serve(handler: http.RequestListener): Promise<{ server: http.Server; url: string }> { + const server = http.createServer(handler); + servers.add(server); + await new Promise((resolve, reject) => { + server.once('error', reject); + server.listen(0, '127.0.0.1', resolve); + }); + const address = server.address() as AddressInfo; + return { server, url: `http://127.0.0.1:${address.port}` }; +} + +afterEach(async () => { + setLogLevel(previousLogLevel); + vi.useRealTimers(); + await Promise.all( + [...servers].map(async (server) => { + server.closeAllConnections(); + await new Promise((resolve) => server.close(() => resolve())); + servers.delete(server); + }), + ); +}); + +function httpTrace(entries: LogEntry[]): LogEntry[] { + return entries.filter((entry) => entry.level === 'trace' && entry.scope === 'Protocol.Http'); +} + +describe('RequestUtil TRACE lifecycle', () => { + it('records complete request and parsed response data under one request context', async () => { + const { url } = await serve(async (req, res) => { + const chunks: Buffer[] = []; + + for await (const chunk of req) { + chunks.push(Buffer.from(chunk)); + } + + expect(Buffer.concat(chunks).toString()).toBe('{"message":"request-secret"}'); + res.setHeader('X-Response-Token', 'response-secret-header'); + res.end('{"ok":true,"token":"response-secret-body"}'); + }); + const entries: LogEntry[] = []; + setLogLevel('trace'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + + try { + await expect( + RequestUtil.HttpGetJson( + `${url}/write?access_token=url-secret`, + 'POST', + { message: 'request-secret' }, + { + Authorization: 'Bearer request-secret-header', + 'Content-Type': 'application/json', + }, + ), + ).resolves.toEqual({ ok: true, token: 'response-secret-body' }); + + const trace = httpTrace(entries); + expect(trace.length).toBeGreaterThanOrEqual(4); + expect( + trace.every((entry) => entry.req !== undefined && entry.req === trace[0]!.req), + ).toBe(true); + expect(trace.map((entry) => entry.message)).toEqual( + expect.arrayContaining([ + expect.stringContaining('http_start method="POST"'), + expect.stringContaining('access_token=url-secret'), + expect.stringContaining('request-secret-header'), + expect.stringContaining('request-secret'), + expect.stringContaining('http_response status=200'), + expect.stringContaining('response-secret-header'), + expect.stringContaining('response-secret-body'), + expect.stringContaining('http_branch branch=parse_completed'), + expect.stringMatching( + /^http_terminal method="POST" .* outcome=completed reason=response_complete elapsedMs=\d+$/, + ), + ]), + ); + expect( + trace.filter((entry) => entry.message.startsWith('http_terminal ')), + ).toHaveLength(1); + } finally { + unsubscribe(); + } + }); + + it('records exact request and response bytes for binary HTTP data', async () => { + const requestBytes = Uint8Array.from([0x00, 0xff, 0x80, 0x41]); + const responseBytes = Buffer.from([0xde, 0xad, 0xbe, 0xef, 0x00]); + const { url } = await serve(async (req, res) => { + const chunks: Buffer[] = []; + + for await (const chunk of req) { + chunks.push(Buffer.from(chunk)); + } + + expect(Buffer.concat(chunks)).toEqual(Buffer.from(requestBytes)); + res.end(responseBytes); + }); + const entries: LogEntry[] = []; + setLogLevel('trace'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + + try { + await expect( + RequestUtil.HttpGetText(url, 'POST', requestBytes, { + 'Content-Type': 'application/octet-stream', + }), + ).resolves.toBe(responseBytes.toString()); + + const messages = httpTrace(entries).map((entry) => entry.message); + expect(messages).toEqual( + expect.arrayContaining([ + expect.stringContaining('requestBytes=4 requestHex=00ff8041'), + expect.stringContaining('bodyBytes=5 bodyHex=deadbeef00'), + ]), + ); + } finally { + unsubscribe(); + } + }); + + it('records redirect input changes and one non-2xx terminal without waiting for the body', async () => { + const target = await serve((_req, res) => { + res.writeHead(403, { 'X-Diagnostic': 'denied' }); + res.flushHeaders(); + res.write('body that never ends'); + }); + const source = await serve((_req, res) => { + res.writeHead(302, { location: target.url }); + res.end(); + }); + const entries: LogEntry[] = []; + setLogLevel('trace'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + + try { + await expect( + RequestUtil.HttpGetText(source.url, 'GET', undefined, { + Cookie: 'uin=redirect-secret', + }), + ).rejects.toThrow('Unexpected status code: 403'); + + const messages = httpTrace(entries).map((entry) => entry.message); + expect(messages).toEqual( + expect.arrayContaining([ + expect.stringContaining('http_branch branch=redirect status=302'), + expect.stringContaining(`to=${JSON.stringify(`${target.url}/`)}`), + expect.stringContaining('http_response status=403'), + expect.stringContaining('bodyState=not_read'), + expect.stringMatching( + /^http_terminal method="GET" .* outcome=failed reason=non_2xx .*elapsedMs=\d+$/, + ), + ]), + ); + expect(messages.filter((message) => message.startsWith('http_terminal '))).toHaveLength( + 1, + ); + } finally { + unsubscribe(); + } + }); + + it.each(['not a valid URL', 'file:///tmp/not-a-web-request'])( + 'classifies invalid initial request URL %j without falling back to transport or redirect failure', + async (url) => { + const entries: LogEntry[] = []; + setLogLevel('trace'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + + try { + await expect(RequestUtil.HttpGetText(url)).rejects.toThrow(); + const terminals = httpTrace(entries).filter((entry) => + entry.message.startsWith('http_terminal '), + ); + expect(terminals).toHaveLength(1); + expect(terminals[0]!.message).toContain('outcome=failed reason=request_invalid'); + } finally { + unsubscribe(); + } + }, + ); + + it.each([ + ['timeoutMs', { timeoutMs: 0 }], + ['maxResponseBytes', { maxResponseBytes: 0 }], + ] as const)('traces invalid %s before rejecting the request', async (_name, limits) => { + const entries: LogEntry[] = []; + setLogLevel('trace'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + + try { + await expect( + RequestUtil.HttpGetText('http://127.0.0.1/', 'GET', undefined, {}, limits), + ).rejects.toThrow('must be a positive safe integer'); + const trace = httpTrace(entries); + expect(trace.some((entry) => entry.message.startsWith('http_start '))).toBe(true); + const terminals = trace.filter((entry) => entry.message.startsWith('http_terminal ')); + expect(terminals).toHaveLength(1); + expect(terminals[0]!.message).toContain('outcome=failed reason=request_invalid'); + } finally { + unsubscribe(); + } + }); + + it.each([ + { + name: 'method token', + run: () => RequestUtil.HttpGetText('http://127.0.0.1:1/', 'BAD METHOD'), + }, + { + name: 'header value', + run: () => + RequestUtil.HttpGetText('http://127.0.0.1:1/', 'GET', undefined, { + 'X-Invalid': 'line one\nline two', + }), + }, + { + name: 'circular JSON body', + run: () => { + const body: Record = {}; + body.self = body; + return RequestUtil.HttpGetJson('http://127.0.0.1:1/', 'POST', body); + }, + }, + ])('classifies an invalid local $name as request_invalid', async ({ run }) => { + const entries: LogEntry[] = []; + setLogLevel('trace'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + + try { + await expect(run()).rejects.toThrow(); + const terminals = httpTrace(entries).filter((entry) => + entry.message.startsWith('http_terminal '), + ); + expect(terminals).toHaveLength(1); + expect(terminals[0]!.message).toContain('outcome=failed reason=request_invalid'); + } finally { + unsubscribe(); + } + }); + + it.each([ + { + name: 'parse failure', + run: async () => { + const { url } = await serve((_req, res) => res.end('{invalid-json')); + return RequestUtil.HttpGetJson(url); + }, + reason: 'parse_failure', + outcome: 'failed', + bodyState: undefined, + }, + { + name: 'timeout', + run: async () => { + const { url } = await serve((_req, res) => { + res.writeHead(200); + res.write('partial'); + }); + return RequestUtil.HttpGetText(url, 'GET', undefined, {}, { timeoutMs: 30 }); + }, + reason: 'deadline', + outcome: 'timeout', + bodyState: 'deadline', + }, + { + name: 'transport failure', + run: async () => { + const { url } = await serve((req) => req.socket.destroy()); + return RequestUtil.HttpGetText(url); + }, + reason: 'transport_failure', + outcome: 'failed', + bodyState: undefined, + }, + { + name: 'response cancellation', + run: async () => { + const { url } = await serve((_req, res) => { + res.writeHead(200, { 'Content-Length': '100' }); + res.flushHeaders(); + res.write('partial'); + setImmediate(() => res.destroy()); + }); + return RequestUtil.HttpGetText(url, 'GET', undefined, {}, { timeoutMs: 250 }); + }, + reason: 'response_aborted', + outcome: 'cancelled', + bodyState: 'aborted', + }, + ])('records a unique $name terminal', async ({ run, reason, outcome, bodyState }) => { + const entries: LogEntry[] = []; + setLogLevel('trace'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + + try { + await expect(run()).rejects.toThrow(); + const terminals = httpTrace(entries).filter((entry) => + entry.message.startsWith('http_terminal '), + ); + expect(terminals).toHaveLength(1); + expect(terminals[0]!.message).toContain(`outcome=${outcome} reason=${reason}`); + + if (bodyState !== undefined) { + expect(httpTrace(entries).map((entry) => entry.message)).toEqual( + expect.arrayContaining([ + expect.stringContaining( + `bodyState=${bodyState} bodyBytes=7 bodyHex=7061727469616c body="partial"`, + ), + ]), + ); + } + } finally { + unsubscribe(); + } + }); +}); + +describe('RequestUtil cookie redirect TRACE lifecycle', () => { + it('records collected cookies and a completed terminal across redirects', async () => { + const { url } = await serve((req, res) => { + if (req.url === '/start') { + res.writeHead(302, { + location: '/finish', + 'Set-Cookie': 'p_skey=first-secret; Path=/', + }); + res.end(); + return; + } + + res.writeHead(200, { 'Set-Cookie': 'skey=second-secret; Path=/' }); + res.end('ok'); + }); + const entries: LogEntry[] = []; + setLogLevel('trace'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + + try { + await expect(RequestUtil.HttpsGetCookies(`${url}/start`)).resolves.toEqual({ + p_skey: 'first-secret', + skey: 'second-secret', + }); + const trace = httpTrace(entries); + expect( + trace.every((entry) => entry.req !== undefined && entry.req === trace[0]!.req), + ).toBe(true); + expect(trace.map((entry) => entry.message)).toEqual( + expect.arrayContaining([ + expect.stringContaining('http_cookie_start'), + expect.stringContaining('branch=redirect'), + expect.stringContaining('first-secret'), + expect.stringContaining('second-secret'), + expect.stringContaining('bodyBytes=2 bodyHex=6f6b body="ok"'), + expect.stringMatching( + /^http_cookie_terminal .* outcome=completed reason=response_complete .*elapsedMs=\d+$/, + ), + ]), + ); + expect( + trace.filter((entry) => entry.message.startsWith('http_cookie_terminal ')), + ).toHaveLength(1); + } finally { + unsubscribe(); + } + }); + + it('fails open when a cookie response aborts after headers', async () => { + const { url } = await serve((_req, res) => { + res.writeHead(200, { + 'Content-Length': '100', + 'Set-Cookie': 'p_skey=partial-secret; Path=/', + }); + res.flushHeaders(); + res.write('partial'); + setImmediate(() => res.destroy()); + }); + const entries: LogEntry[] = []; + setLogLevel('trace'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + + try { + await expect(RequestUtil.HttpsGetCookies(url)).resolves.toEqual({ + p_skey: 'partial-secret', + }); + const terminals = httpTrace(entries).filter((entry) => + entry.message.startsWith('http_cookie_terminal '), + ); + expect(terminals).toHaveLength(1); + expect(terminals[0]!.message).toContain( + 'outcome=completed reason=transport_failure failOpen=true', + ); + } finally { + unsubscribe(); + } + }); + + it('traces partial cookie response bytes before a fail-open deadline terminal', async () => { + const { url } = await serve((_req, res) => { + res.writeHead(200, { + 'Content-Length': '100', + 'Set-Cookie': 'p_skey=partial-secret; Path=/', + }); + res.flushHeaders(); + res.write('partial'); + }); + const entries: LogEntry[] = []; + setLogLevel('trace'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + + try { + await expect(RequestUtil.HttpsGetCookies(url)).resolves.toEqual({ + p_skey: 'partial-secret', + }); + await new Promise((resolve) => setImmediate(resolve)); + + const messages = httpTrace(entries).map((entry) => entry.message); + const bodyIndex = messages.findIndex( + (message) => + message.includes('http_cookie_body ') && + message.includes('bodyBytes=7 bodyHex=7061727469616c body="partial"'), + ); + const terminalIndex = messages.findIndex( + (message) => + message.includes('http_cookie_terminal ') && + message.includes('reason=deadline failOpen=true'), + ); + expect(bodyIndex).toBeGreaterThanOrEqual(0); + expect(terminalIndex).toBeGreaterThan(bodyIndex); + } finally { + unsubscribe(); + } + }, 10_000); + + it('records a fail-open transport terminal while returning cookies collected earlier', async () => { + const { url } = await serve((req, res) => { + if (req.url === '/start') { + res.writeHead(302, { + location: '/broken', + 'Set-Cookie': 'p_skey=collected-secret; Path=/', + }); + res.end(); + return; + } + + req.socket.destroy(new Error('fixture cookie transport reset')); + }); + const entries: LogEntry[] = []; + setLogLevel('trace'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + + try { + await expect(RequestUtil.HttpsGetCookies(`${url}/start`)).resolves.toEqual({ + p_skey: 'collected-secret', + }); + const terminals = httpTrace(entries).filter((entry) => + entry.message.startsWith('http_cookie_terminal '), + ); + expect(terminals).toHaveLength(1); + expect(terminals[0]!.message).toContain( + 'outcome=completed reason=transport_failure failOpen=true', + ); + expect(terminals[0]!.message).toContain('collected-secret'); + expect(terminals[0]!.message).toContain('socket hang up'); + } finally { + unsubscribe(); + } + }); +}); + +describe('RequestUtil bounded text responses', () => { + it('rejects a response once it exceeds the byte limit and traces every observed byte', async () => { + const entries: LogEntry[] = []; + const body = 'x'.repeat(65); + const { url } = await serve((_req, res) => { + res.end(body); + }); + setLogLevel('trace'); + const unsubscribe = subscribeLogs((entry) => entries.push(entry)); + + try { + await expect( + RequestUtil.HttpGetText(url, 'GET', undefined, {}, { maxResponseBytes: 64 }), + ).rejects.toThrow('response body exceeds 64 bytes'); + + expect(httpTrace(entries).map((entry) => entry.message)).toEqual( + expect.arrayContaining([ + expect.stringContaining( + `bodyState=too_large bodyBytes=65 bodyHex=${'78'.repeat(65)}`, + ), + ]), + ); + } finally { + unsubscribe(); + } + }); + + it('rejects a request that does not complete before its deadline', async () => { + const { url } = await serve((_req, res) => { + res.writeHead(200); + res.write('partial'); + }); + + await expect( + RequestUtil.HttpGetText(url, 'GET', undefined, {}, { timeoutMs: 30 }), + ).rejects.toThrow('request timed out after 30 ms'); + }); + + it('measures the response limit in bytes and accepts the exact boundary', async () => { + const exact = '界'.repeat(16); + const { url } = await serve((_req, res) => { + res.end(exact); + }); + + await expect( + RequestUtil.HttpGetText( + url, + 'GET', + undefined, + {}, + { maxResponseBytes: Buffer.byteLength(exact) }, + ), + ).resolves.toBe(exact); + }); + + it('rejects a multibyte response that exceeds the byte boundary', async () => { + const tooLarge = '界'.repeat(17); + const { url } = await serve((_req, res) => { + res.end(tooLarge); + }); + + await expect( + RequestUtil.HttpGetText(url, 'GET', undefined, {}, { maxResponseBytes: 48 }), + ).rejects.toThrow('response body exceeds 48 bytes'); + }); + + it('closes a non-success response without waiting for its body to end', async () => { + let markClosed!: () => void; + const closed = new Promise((resolve) => { + markClosed = resolve; + }); + const { url } = await serve((_req, res) => { + res.once('close', markClosed); + res.writeHead(403); + res.flushHeaders(); + res.write('body that never ends'); + }); + + await expect(RequestUtil.HttpGetText(url)).rejects.toThrow('Unexpected status code: 403'); + await expect( + Promise.race([ + closed.then(() => true), + new Promise((resolve) => setTimeout(() => resolve(false), 250)), + ]), + ).resolves.toBe(true); + }); +}); + +describe('RequestUtil redirects', () => { + it('strips credentials when a redirect crosses origins', async () => { + let redirectedHeaders: http.IncomingHttpHeaders | undefined; + const target = await serve((req, res) => { + redirectedHeaders = req.headers; + res.end('ok'); + }); + const source = await serve((_req, res) => { + res.writeHead(302, { location: target.url }); + res.end(); + }); + + await expect( + RequestUtil.HttpGetText(source.url, 'GET', undefined, { + Cookie: 'uin=secret', + Authorization: 'Bearer secret', + 'Proxy-Authorization': 'Basic secret', + 'X-SnowLuma-Test': 'kept', + }), + ).resolves.toBe('ok'); + + expect(redirectedHeaders?.cookie).toBeUndefined(); + expect(redirectedHeaders?.authorization).toBeUndefined(); + expect(redirectedHeaders?.['proxy-authorization']).toBeUndefined(); + expect(redirectedHeaders?.['x-snowluma-test']).toBe('kept'); + }); + + it('never forwards a write request body across origins', async () => { + let targetReached = false; + const target = await serve((_req, res) => { + targetReached = true; + res.end('unexpected'); + }); + const source = await serve((_req, res) => { + res.writeHead(307, { location: target.url }); + res.end(); + }); + + await expect( + RequestUtil.HttpGetText(source.url, 'POST', 'secret-body', { + 'Content-Type': 'text/plain', + }), + ).rejects.toThrow('cross-origin redirect cannot forward method POST'); + expect(targetReached).toBe(false); + }); + + it('preserves credentials for same-origin redirects', async () => { + let redirectedCookie: string | undefined; + const { url } = await serve((req, res) => { + if (req.url === '/start') { + res.writeHead(302, { location: '/finish' }); + res.end(); + return; + } + + redirectedCookie = req.headers.cookie; + res.end('ok'); + }); + + await expect( + RequestUtil.HttpGetText(`${url}/start`, 'GET', undefined, { + Cookie: 'uin=same-origin', + }), + ).resolves.toBe('ok'); + expect(redirectedCookie).toBe('uin=same-origin'); + }); + + it('inherits response limits after a redirect', async () => { + const target = await serve((_req, res) => { + res.end('x'.repeat(65)); + }); + const source = await serve((_req, res) => { + res.writeHead(302, { location: target.url }); + res.end(); + }); + + await expect( + RequestUtil.HttpGetText(source.url, 'GET', undefined, {}, { maxResponseBytes: 64 }), + ).rejects.toThrow('response body exceeds 64 bytes'); + }); + + it('shares one wall-clock deadline across the redirect chain', async () => { + const target = await serve((_req, res) => { + setTimeout(() => res.end('late'), 80); + }); + const source = await serve((_req, res) => { + setTimeout(() => { + res.writeHead(302, { location: target.url }); + res.end(); + }, 80); + }); + + await expect( + RequestUtil.HttpGetText(source.url, 'GET', undefined, {}, { timeoutMs: 100 }), + ).rejects.toThrow('request timed out after 100 ms'); + }); + + it('rejects malformed redirect locations instead of throwing outside the Promise', async () => { + const { url } = await serve((_req, res) => { + res.writeHead(302, { location: 'http://[' }); + res.end(); + }); + + await expect(RequestUtil.HttpGetText(url)).rejects.toThrow('invalid redirect location'); + }); + + it('rejects redirects to non-HTTP protocols', async () => { + const { url } = await serve((_req, res) => { + res.writeHead(302, { location: 'file:///tmp/not-a-web-response' }); + res.end(); + }); + + await expect(RequestUtil.HttpGetText(url)).rejects.toThrow( + 'unsupported redirect protocol: file:', + ); + }); + + it('closes the previous response before following a redirect', async () => { + const target = await serve((_req, res) => { + res.end('ok'); + }); + let markClosed!: () => void; + const closed = new Promise((resolve) => { + markClosed = resolve; + }); + const source = await serve((_req, res) => { + res.once('close', markClosed); + res.writeHead(302, { location: target.url }); + res.flushHeaders(); + res.write('body that never ends'); + }); + + await expect(RequestUtil.HttpGetText(source.url)).resolves.toBe('ok'); + await expect( + Promise.race([ + closed.then(() => true), + new Promise((resolve) => setTimeout(() => resolve(false), 250)), + ]), + ).resolves.toBe(true); + }); +}); diff --git a/packages/protocol/tsconfig.json b/packages/protocol/tsconfig.json new file mode 100644 index 00000000..4cd329d7 --- /dev/null +++ b/packages/protocol/tsconfig.json @@ -0,0 +1,13 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "types": ["node"], + "noEmit": true + }, + "include": [ + "src/**/*" + ], + "exclude": [ + "node_modules" + ] +} diff --git a/packages/protocol/vitest.config.ts b/packages/protocol/vitest.config.ts new file mode 100644 index 00000000..616ebb45 --- /dev/null +++ b/packages/protocol/vitest.config.ts @@ -0,0 +1,18 @@ +// Vitest config — drives both `pnpm bench` and `pnpm test`. +// Tests live under `tests/`, benchmarks under `bench/`. +import protobufVitePlugin from '@snowluma/proton/vite'; +import { defineConfig } from 'vitest/config'; + +export default defineConfig({ + // proton's vite plugin inlines `protobuf_encode` / `protobuf_decode` + // call sites at build time. Required for both tests and benchmarks + // to exercise the production codecs. Untransformed calls throw at runtime. + plugins: [protobufVitePlugin()], + test: { + include: ['tests/**/*.test.ts'], + benchmark: { + include: ['bench/**/*.bench.ts'], + }, + environment: 'node', + }, +}); diff --git a/packages/proton/README.md b/packages/proton/README.md new file mode 100644 index 00000000..ac173fff --- /dev/null +++ b/packages/proton/README.md @@ -0,0 +1,131 @@ +# @snowluma/proton + +Compile-time protobuf codecs for SnowLuma. TypeScript schemas and generic calls +are compiled into specialized encoders and decoders without runtime schema lookup. + +Vendored from [SnowLuma/protobuf-dsl](https://github.com/SnowLuma/protobuf-dsl) +(`protobuf-fastdsl`, commit `22e382a`), whose README declares the MIT license. +SnowLuma retains the `@snowluma/proton` package name, manifest and wire compatibility +rules described below. + +## Setup + +Add `@snowluma/proton: workspace:*` to the consuming package's dependencies and +enable the plugin in its Vite or Vitest configuration: + +```ts +import { defineConfig } from 'vite'; +import protobufVitePlugin from '@snowluma/proton/vite'; + +export default defineConfig({ + plugins: [protobufVitePlugin()], +}); +``` + +The plugin entry resolves to a built artifact. After editing the compiler, run +`pnpm --filter @snowluma/proton build` before testing consuming packages. +Calls without the plugin throw a diagnostic naming `@snowluma/proton/vite`. + +```ts +import type { pb, pb_optional, pb_repeated, uint_32 } from '@snowluma/proton'; +import { protobuf_encode, protobuf_decode } from '@snowluma/proton'; + +interface Profile { + id?: pb<1, uint_32>; + name?: pb<2, string>; + tags?: pb_repeated<3, string>; + state?: pb_optional<4, uint_32>; +} + +const bytes = protobuf_encode({ id: 42, name: 'alice', state: 0 }); +const profile = protobuf_decode(bytes); +``` + +## Schema and compiler support + +`pb` marks a singular field, `pb_repeated` marks a repeated field, +and `pb_optional` gives a singular field explicit wire presence. + +| Types | TypeScript value | Wire format | +| --- | --- | --- | +| `uint_32`, `int_32`, `sint_32` | `number` | Varint; `sint_32` uses zigzag | +| `uint_64`, `int_64`, `sint_64` | `bigint` | Varint; `sint_64` uses zigzag | +| `bool` | `boolean` | Varint | +| `fixed_32`, `sfixed_32`, `float` | `number` | 32-bit | +| `fixed_64`, `sfixed_64` | `bigint` | 64-bit | +| `double` | `number` | 64-bit | +| `string`, `bytes` | `string`, `Uint8Array` | Length-delimited | +| Message interfaces | Object | Length-delimited | + +The compiler resolves aliases, namespace imports, `export *`, relative and bare +package imports, nested generic schemas, generic functions and classes, and +forwarded callbacks. It preserves wrapper bodies and passes generated codecs +through generic calls. It also supports resolvable mapped, conditional and utility +types; ambiguous unions and unresolved schemas fail during compilation. + +Only required codecs and helpers are emitted. Nested message encoders measure and +write into a shared output buffer. Returned bytes may be a view into a larger +buffer; use `byteOffset` and `byteLength`, or `bytes.slice()` when an independent +backing buffer is needed. Later encodes do not overwrite previously returned bytes. + +## SnowLuma wire compatibility + +- Plain `pb<>` scalars omit default values (`0`, `0n`, `false`, empty strings and + empty bytes), including fields marked with TypeScript `?`. Missing optional + singular fields decode to `null`. +- `pb_optional<>` emits present default values while omitting `null`/`undefined`. + This preserves the explicit `state=0` needed to disable whole-group mute. +- Negative `int_32` values retain SnowLuma's five-byte outbound encoding. Decoders + accept both that form and canonical ten-byte sign-extended values. +- `uint_32` values consume a complete valid varint of up to ten bytes and retain + the low 32 bits. Tags and lengths remain limited to valid 32-bit framing. +- Decoders reject truncated/overflowing fields, invalid bounds and malformed + groups. Unknown groups are skipped within their parent frame with bounded depth. +- Unknown tags retain non-enumerable metadata, available through + `protobuf_getUnknownFields` and `protobuf_getUnknownFieldMetadata`. Metadata + aggregates occurrences, retains at most 64 field/wire kinds per message, and + summarizes omitted kinds without retaining their payloads. + +The previous runtime-map fallback and plugin option have been removed. Consumers +must compile encode/decode calls with the plugin. + +## Migration audit + +The upstream implementation was checked against Proton's source history before +replacement. The following behavior is covered by regression tests: + +| Proton history | Upstream status / retained behavior | +| --- | --- | +| Initial vendor fixes (`194165f4`) and generic OIDB migration (`58028123`) | Aliased markers, nested generic fields and forwarded wrappers are covered by the new compiler and integration tests. | +| Barrel exports (`f21740a5`) and bare imports (`994633ea`) | Supported by the new source resolver; tested through bundled cross-file and package fixtures. | +| Explicit presence (`90f26ca4`) | Added `pb_optional` to the new schema pipeline and kept `?` separate from wire presence. | +| Decoder hardening (`b7d648ea`) | Upstream already checks varints and field boundaries; retained integer bounds, group handling, bounded unknown metadata and legacy outbound `int32` bytes. | +| Extended `uint32` (`b53004ee`, `613b2b1e`) | Upstream consumes full value varints; retained the existing QQ regression fixtures. | +| Cleanup (`c7428363`) | Superseded by the new compiler/source module structure. | + +## Validation and layout + +From the repository root: + +```sh +pnpm --filter @snowluma/proton build +pnpm --filter @snowluma/proton typecheck +pnpm --filter @snowluma/proton test +``` + +`test/upstream` contains the imported compiler, codegen and plugin suite, adjusted +for SnowLuma's package layout and wire rules. `test/__tests__` retains Proton's +wire regression tests and adds migration compatibility cases. Consumer tests in +`packages/protocol/tests` exercise real QQ schemas with the built plugin. + +```text +src/ + source/ source files, TypeScript module resolution and build entries + schema/ type resolution and message construction + compiler/ call analysis, generic codec propagation and source rewriting + codegen/ wire emitters and selected helper generation + index.ts Vite plugin + package.ts package identity from package.json + runtime.ts uncompiled-call errors and unknown-field diagnostics +protobuf.d.ts public field markers and runtime declarations +``` diff --git a/packages/proton/package.json b/packages/proton/package.json new file mode 100644 index 00000000..46d230ad --- /dev/null +++ b/packages/proton/package.json @@ -0,0 +1,47 @@ +{ + "license": "SEE LICENSE IN LICENSE", + "name": "@snowluma/proton", + "version": "2.4.2", + "private": true, + "type": "module", + "description": "Compile-time protobuf encoder/decoder generator for SnowLuma. TypeScript interfaces → fully-inlined, zero-runtime protobuf codec functions. Vendored from SnowLuma/protobuf-dsl with edge-case fixes applied.", + "main": "./src/runtime.ts", + "types": "./protobuf.d.ts", + "exports": { + ".": { + "types": "./protobuf.d.ts", + "default": "./src/runtime.ts" + }, + "./vite": { + "types": "./src/index.ts", + "default": "./dist/index.js" + } + }, + "scripts": { + "build": "tsup src/index.ts --format esm --out-dir dist --target node24 --external typescript --external vite", + "test": "vitest run", + "test:watch": "vitest", + "typecheck": "tsc --noEmit", + "prepare": "pnpm run build" + }, + "dependencies": { + "typescript": "catalog:" + }, + "peerDependencies": { + "vite": "catalog:" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + }, + "devDependencies": { + "@types/node": "catalog:", + "tsup": "^8.5.0", + "vite": "catalog:", + "vitest": "4.1.12" + }, + "engines": { + "node": "^24.22.1 || >=26.12.1" + } +} diff --git a/packages/proton/protobuf.d.ts b/packages/proton/protobuf.d.ts new file mode 100644 index 00000000..90354d7b --- /dev/null +++ b/packages/proton/protobuf.d.ts @@ -0,0 +1,49 @@ +// ── Protobuf field markers ──────────────────────────────────────────── +/** Marks a singular protobuf field: `name: pb` */ +export type pb<_ProtoNumber extends number, Type> = Type; +/** Marks a repeated protobuf field: `ids: pb_repeated` → Type[] */ +export type pb_repeated<_ProtoNumber extends number, Type> = Type[]; +/** + * Marks a singular field with **explicit presence** (proto3 `optional`): it + * serialises whenever the value is present, INCLUDING its zero/default value + * — unlike `pb<>`, which omits zeros. Use when the wire peer needs the field + * present to disambiguate, e.g. an OIDB sub-command keyed on body shape where + * a zero must still appear on the wire. `name: pb_optional`. + */ +export type pb_optional<_ProtoNumber extends number, Type> = Type; + +// ── Protobuf primitive types ────────────────────────────────────────── +export type uint_32 = number; +export type int_32 = number; +export type uint_64 = bigint; +export type int_64 = bigint; +export type sint_32 = number; +export type sint_64 = bigint; +export type bool = boolean; +export type float = number; +export type double = number; +export type fixed_32 = number; +export type fixed_64 = bigint; +export type sfixed_32 = number; +export type sfixed_64 = bigint; +export type bytes = Uint8Array; + +// ── Encode / decode (replaced at compile-time by the vite plugin) ──── +export function protobuf_encode(params: T): Uint8Array; +export function protobuf_decode(data: Uint8Array): T; + +/** Non-enumerable metadata retained for protobuf tags unknown to the schema. */ +export interface ProtobufUnknownField { + fieldNumber: number; + wireType: number; + count: number; + totalByteLength: number; +} +export interface ProtobufUnknownFieldMetadata { + fields: readonly ProtobufUnknownField[]; + totalOccurrences: number; + omittedOccurrences: number; + omittedByteLength: number; +} +export function protobuf_getUnknownFields(value: unknown): readonly ProtobufUnknownField[]; +export function protobuf_getUnknownFieldMetadata(value: unknown): ProtobufUnknownFieldMetadata; diff --git a/packages/proton/src/codegen/buffer.ts b/packages/proton/src/codegen/buffer.ts new file mode 100644 index 00000000..ef73c9e0 --- /dev/null +++ b/packages/proton/src/codegen/buffer.ts @@ -0,0 +1,13 @@ +export const buffers = `let __pool; +let __poolOffset = 0; +function __allocate(size) { + if (size > 4096) return new Uint8Array(size); + let buffer = __pool; + if (!buffer || __poolOffset + size > buffer.length) { + buffer = __pool = new Uint8Array(8192); + __poolOffset = 0; + } + const start = __poolOffset; + __poolOffset += size; + return buffer.subarray(start, start + size); +}`; diff --git a/packages/proton/src/codegen/decoder.ts b/packages/proton/src/codegen/decoder.ts new file mode 100644 index 00000000..cbd65b94 --- /dev/null +++ b/packages/proton/src/codegen/decoder.ts @@ -0,0 +1,251 @@ +import { + WireType, + PRIMITIVE_TYPE_MAP, + type ProtobufField, + type ProtobufMessage, +} from '../codegen/model.js'; + +function tagValue(field: ProtobufField, wireType = field.wireType): number { + return ((field.fieldNumber << 3) | wireType) >>> 0; +} + +/** Read the low 32 bits, consuming sign-extended int32 varints without shift wraparound. */ +function varintDec( + varName: string, + ind: string, + end = 'end', + maxBytes = 10, + truthy = false, + checkInitial = true, +): string { + const lastShift = (maxBytes - 1) * 7; + const lastByte = maxBytes === 5 ? 0x0f : 0x01; + return [ + ...(checkInitial + ? [`${ind}if (offset >= ${end}) throw new Error('Truncated protobuf varint');`] + : []), + `${ind}let ${varName} = data[offset++];`, + `${ind}if (${varName} & 0x80) {`, + `${ind} let _s = 7, _b;`, + `${ind} ${varName} &= 0x7f;`, + `${ind} do {`, + `${ind} if (offset >= ${end}) throw new Error('Truncated protobuf varint');`, + `${ind} _b = data[offset++];`, + `${ind} if (_s === ${lastShift} && _b > ${lastByte}) throw new Error('Invalid protobuf varint');`, + truthy + ? `${ind} ${varName} |= _b & 0x7f;` + : `${ind} if (_s < 32) ${varName} |= (_b & 0x7f) << _s;`, + `${ind} _s += 7;`, + `${ind} } while (_b & 0x80);`, + `${ind} ${varName} >>>= 0;`, + `${ind}}`, + ].join('\n'); +} + +function varintDec64(varName: string, ind: string, end: string): string { + return [ + `${ind}let _lo = 0, _hi = 0, _s = 0, _b;`, + `${ind}do {`, + `${ind} if (offset >= ${end}) throw new Error('Truncated protobuf varint');`, + `${ind} _b = data[offset++];`, + `${ind} if (_s === 63 && _b > 1) throw new Error('Invalid protobuf varint');`, + `${ind} if (_s < 28) _lo |= (_b & 0x7f) << _s;`, + `${ind} else if (_s === 28) { _lo |= (_b & 0x7f) << 28; _hi = (_b & 0x7f) >>> 4; }`, + `${ind} else _hi |= (_b & 0x7f) << (_s - 32);`, + `${ind} _s += 7;`, + `${ind}} while (_b & 0x80);`, + `${ind}const ${varName} = _hi === 0 ? BigInt(_lo >>> 0) : BigInt(_lo >>> 0) | (BigInt(_hi >>> 0) << 32n);`, + ].join('\n'); +} + +function checkLength(length: string | number, ind: string, end: string): string { + return `${ind}if (offset + ${length} > ${end}) throw new Error('Truncated protobuf field');`; +} + +export function generateDecoder(msg: ProtobufMessage): string { + const locals = msg.fields.map((field, index) => { + const keyword = field.isRepeated ? 'const' : 'let'; + return ` ${keyword} _f${index} = ${getDefault(field)};`; + }); + const result = msg.fields + .map( + (field, index) => + `${field.name === '__proto__' ? '["__proto__"]' : JSON.stringify(field.name)}: _f${index}`, + ) + .join(', '); + + const lines = [ + `function protobuf_decode_${msg.name}(data, offset = 0, end = data.length) {`, + ` if (!Number.isSafeInteger(offset) || !Number.isSafeInteger(end) || offset < 0 || end > data.length || offset > end) throw new Error('Invalid protobuf bounds');`, + ...locals, + ` let _unknownFields = null;`, + ` let _unknownFieldsByKey = null;`, + ` let _unknownTotalOccurrences = 0;`, + ` let _unknownOmittedOccurrences = 0;`, + ` let _unknownOmittedByteLength = 0;`, + + ` while (offset < end) {`, + varintDec('_tag', ' ', 'end', 5, false, false), + ` if ((_tag >>> 3) === 0) throw new Error('Invalid protobuf field number');`, + ` switch (_tag) {`, + ]; + + msg.fields.forEach((field, index) => { + lines.push(` case ${tagValue(field)}: {`); + lines.push(...decodeValue(field, index, ' ', 'end')); + lines.push(` break;`, ` }`); + + if (field.isRepeated && !field.isMessage && field.wireType !== WireType.LengthDelim) { + lines.push( + ` case ${tagValue(field, WireType.LengthDelim)}: {`, + varintDec('_len', ' ', 'end', 5), + checkLength('_len', ' ', 'end'), + ` const _packedEnd = offset + _len;`, + ` while (offset < _packedEnd) {`, + ...decodeValue(field, index, ' ', '_packedEnd'), + ` }`, + ` break;`, + ` }`, + ); + } + }); + + lines.push( + ` default: {`, + ` const _unknownStart = offset;`, + ` const wireType = _tag & 0x7;`, + ` offset = __skipUnknownField(data, offset, end, wireType, _tag >>> 3);`, + ` const _unknownFieldNumber = _tag >>> 3;`, + ` const _unknownByteLength = offset - _unknownStart;`, + ` const _unknownKey = (_unknownFieldNumber * 8) + wireType;`, + ` _unknownTotalOccurrences++;`, + ` const _knownUnknown = _unknownFieldsByKey?.get(_unknownKey);`, + ` if (_knownUnknown) {`, + ` _knownUnknown.count++;`, + ` _knownUnknown.totalByteLength += _unknownByteLength;`, + ` } else if ((_unknownFields?.length ?? 0) < 64) {`, + ` const _unknown = {`, + ` fieldNumber: _unknownFieldNumber,`, + ` wireType,`, + ` count: 1,`, + ` totalByteLength: _unknownByteLength,`, + ` };`, + ` (_unknownFields ??= []).push(_unknown);`, + ` (_unknownFieldsByKey ??= new Map()).set(_unknownKey, _unknown);`, + ` } else {`, + ` _unknownOmittedOccurrences++;`, + ` _unknownOmittedByteLength += _unknownByteLength;`, + ` }`, + + ` break;`, + ` }`, + ` }`, + ` }`, + ` const _result = { ${result} };`, + ` if (_unknownTotalOccurrences > 0) Object.defineProperty(`, + ` _result,`, + ` Symbol.for('snowluma.proton.unknownFields'),`, + ` {`, + ` value: {`, + ` fields: _unknownFields ?? [],`, + ` totalOccurrences: _unknownTotalOccurrences,`, + ` omittedOccurrences: _unknownOmittedOccurrences,`, + ` omittedByteLength: _unknownOmittedByteLength,`, + ` },`, + ` enumerable: false,`, + ` },`, + ` );`, + ` return _result;`, + `}`, + ); + return lines.join('\n'); +} + +/** Shared by ordinary fields and packed repeated payloads. */ +function decodeValue(field: ProtobufField, index: number, ind: string, end: string): string[] { + const { typeName, wireType, isMessage, isRepeated } = field; + const local = `_f${index}`; + const assign = (expr: string) => + isRepeated ? `${ind}${local}.push(${expr});` : `${ind}${local} = ${expr};`; + const lines: string[] = []; + + if (wireType === WireType.Bit32) { + lines.push(checkLength(4, ind, end)); + } + + if (wireType === WireType.Bit64) { + lines.push(checkLength(8, ind, end)); + } + + if (isMessage || typeName === 'string' || typeName === 'bytes') { + lines.push(varintDec('_len', ind, end, 5), checkLength('_len', ind, end)); + + if (isMessage) { + lines.push(assign(`protobuf_decode_${typeName}(data, offset, offset + _len)`)); + } else if (typeName === 'string') { + lines.push( + assign( + `_len <= 32 ? __utf8Read(data, offset, offset + _len) : __utf8ReadLong(data, offset, offset + _len)`, + ), + ); + } else { + lines.push(assign(`data.slice(offset, offset + _len)`)); + } + + lines.push(`${ind}offset += _len;`); + } else if (typeName === 'uint_64' || typeName === 'int_64' || typeName === 'sint_64') { + lines.push(varintDec64('_val', ind, end)); + const value = + typeName === 'uint_64' + ? '_val' + : typeName === 'int_64' + ? 'BigInt.asIntN(64, _val)' + : '__zigZagDecode64(_val)'; + lines.push(assign(value)); + } else if (wireType === WireType.Varint) { + lines.push(varintDec('_val', ind, end, 10, typeName === 'bool')); + const value = + typeName === 'bool' + ? '_val !== 0' + : typeName === 'sint_32' + ? '(_val >>> 1) ^ -(_val & 1)' + : typeName === 'int_32' + ? '_val | 0' + : '_val'; + lines.push(assign(value)); + } else if (typeName === 'float') { + lines.push(assign('__readFloat32(data, offset)'), `${ind}offset += 4;`); + } else if (wireType === WireType.Bit32) { + const value = + '(data[offset] | (data[offset + 1] << 8) | (data[offset + 2] << 16) | (data[offset + 3] << 24))'; + lines.push( + assign(typeName === 'fixed_32' ? `${value} >>> 0` : value), + `${ind}offset += 4;`, + ); + } else if (typeName === 'double') { + lines.push(assign('__readFloat64(data, offset)'), `${ind}offset += 8;`); + } else if (typeName === 'fixed_64' || typeName === 'sfixed_64') { + const value = + typeName === 'fixed_64' + ? '__readFixed64(data, offset)' + : 'BigInt.asIntN(64, __readFixed64(data, offset))'; + lines.push(assign(value), `${ind}offset += 8;`); + } else { + throw new Error(`Unsupported protobuf field type: ${typeName}`); + } + + return lines; +} + +function getDefault(field: ProtobufField): string { + if (field.isRepeated) { + return '[]'; + } + + if (field.isOptional || field.isMessage) { + return 'null'; + } + + const primitive = PRIMITIVE_TYPE_MAP[field.typeName]; + return primitive ? primitive.defaultValue : 'null'; +} diff --git a/packages/proton/src/codegen/dependencies.ts b/packages/proton/src/codegen/dependencies.ts new file mode 100644 index 00000000..5e4cc7ac --- /dev/null +++ b/packages/proton/src/codegen/dependencies.ts @@ -0,0 +1,34 @@ +import type { MessageRegistry } from './model.js'; + +export function collectDependencyClosure( + registry: MessageRegistry, + roots: Iterable, +): Set { + const selected = new Set(); + + function visit(name: string): void { + if (selected.has(name)) { + return; + } + + const msg = registry.get(name); + + if (!msg) { + return; + } + + selected.add(name); + + for (const field of msg.fields) { + if (registry.has(field.typeName)) { + visit(field.typeName); + } + } + } + + for (const root of roots) { + visit(root); + } + + return selected; +} diff --git a/packages/proton/src/codegen/encoder.ts b/packages/proton/src/codegen/encoder.ts new file mode 100644 index 00000000..b165193f --- /dev/null +++ b/packages/proton/src/codegen/encoder.ts @@ -0,0 +1,51 @@ +import type { ProtobufMessage } from './model.js'; +import { fieldBlock } from './fields.js'; + +export function generateEncoderHelpers(message: ProtobufMessage): string { + const blocks = message.fields.map((field, index) => fieldBlock(field, index, true)); + return [ + `function __size_${message.name}(obj, sizes) {`, + ' let size = 0;', + ...blocks.flatMap((block) => block.declare), + ...blocks.flatMap((block) => block.size), + ' return size;', + '}', + `function __write_${message.name}(obj, buf, offset, sizes) {`, + ...blocks.flatMap((block) => block.declare), + ...blocks.flatMap((block) => block.write), + ' return offset;', + '}', + ].join('\n'); +} + +export function generateEncoder(message: ProtobufMessage, pooled = false): string { + const allocation = pooled + ? ' const buf = size <= 64 ? new Uint8Array(size) : __allocate(size);' + : ' const buf = new Uint8Array(size);'; + + if (message.fields.some((field) => field.isMessage)) { + return [ + `function protobuf_encode_${message.name}(obj) {`, + ' const sizes = [1];', + ...(pooled + ? [` const size = __size_${message.name}(obj, sizes);`, allocation] + : [` const buf = new Uint8Array(__size_${message.name}(obj, sizes));`]), + ` __write_${message.name}(obj, buf, 0, sizes);`, + ' return buf;', + '}', + ].join('\n'); + } + + const blocks = message.fields.map((field, index) => fieldBlock(field, index, false)); + return [ + `function protobuf_encode_${message.name}(obj) {`, + ' let size = 0;', + ...blocks.flatMap((block) => block.declare), + ...blocks.flatMap((block) => block.size), + allocation, + ' let offset = 0;', + ...blocks.flatMap((block) => block.write), + ' return buf;', + '}', + ].join('\n'); +} diff --git a/packages/proton/src/codegen/fields.ts b/packages/proton/src/codegen/fields.ts new file mode 100644 index 00000000..df7c538d --- /dev/null +++ b/packages/proton/src/codegen/fields.ts @@ -0,0 +1,141 @@ +import { WireType, type ProtobufField } from './model.js'; +import { computeTagBytes, varintSize, writeTag, writeVarint } from './write.js'; + +export interface FieldBlock { + declare: string[]; + size: string[]; + write: string[]; +} + +export function fieldBlock(field: ProtobufField, index: number, shared: boolean): FieldBlock { + const { fieldNumber, wireType, typeName, isRepeated, isMessage } = field; + const variable = `_f${index}`; + const item = isRepeated ? `${variable}[_i]` : variable; + const cached = `_c${index}`; + const slot = isRepeated ? `${cached}[_i]` : cached; + const indent = isRepeated ? ' ' : ' '; + const tag = computeTagBytes(fieldNumber, wireType).length; + const condition = isRepeated + ? `${variable} != null && ${variable}.length > 0` + : presence(field, variable); + const start = [` if (${condition}) {`]; + const loop = isRepeated ? [` for (let _i = 0; _i < ${variable}.length; _i++) {`] : []; + const end = [...(isRepeated ? [' }'] : []), ' }']; + const declare = [` const ${variable} = obj[${JSON.stringify(field.name)}];`]; + const setup: string[] = []; + const size: string[] = []; + const write: string[] = [writeTag(fieldNumber, wireType, indent)]; + const emit = (lines: string[]) => lines.map((line) => indent + line); + + if (wireType === WireType.LengthDelim) { + if (isMessage) { + size.push( + ...emit([ + 'const _slot = sizes.length;', + 'sizes.push(0);', + `const _len = __size_${typeName}(${item}, sizes);`, + 'sizes[_slot] = _len;', + ]), + ); + write.push(...emit(['const _len = sizes[sizes[0]++];'])); + } else if (typeName === 'string') { + if (shared) { + size.push(...emit([`const _len = __utf8Len(${item});`, 'sizes.push(_len);'])); + write.push(...emit(['const _len = sizes[sizes[0]++];'])); + } else { + declare.push(` let ${cached};`); + + if (isRepeated) { + setup.push(` ${cached} = new Array(${variable}.length);`); + } + + size.push(...emit([`const _len = __utf8Len(${item});`, `${slot} = _len;`])); + write.push(...emit([`const _len = ${slot};`])); + } + } else { + size.push(...emit([`const _len = ${item}.length;`])); + write.push(...emit([`const _len = ${item}.length;`])); + } + + size.push(...emit([`size += ${tag} + _len;`]), varintSize('_len', indent)); + write.push( + writeVarint('_len', indent), + ...emit( + isMessage + ? [`offset = __write_${typeName}(${item}, buf, offset, sizes);`] + : typeName === 'string' + ? [ + `offset = _len >= 128 ? __utf8WriteLong(buf, offset, ${item}) : _len === ${item}.length ? __asciiWrite(buf, offset, ${item}) : __utf8Write(buf, offset, ${item});`, + ] + : [`buf.set(${item}, offset);`, 'offset += _len;'], + ), + ); + } else if (typeName === 'bool') { + size.push(...emit([`size += ${tag + 1};`])); + write.push(...emit([`buf[offset++] = ${item} ? 1 : 0;`])); + } else if (wireType === WireType.Varint) { + if (typeName.endsWith('_64')) { + const normalized = + typeName === 'sint_64' + ? `__zigZagEncode64(${item})` + : `BigInt.asUintN(64, ${item})`; + size.push(...emit([`size += ${tag} + __varint64Size(${normalized});`])); + write.push(...emit([`offset = __writeVarint64(buf, offset, ${normalized});`])); + } else { + // Preserve QQ's established five-byte negative int32 encoding. Decoders + // also accept the canonical sign-extended ten-byte representation. + const normalized = + typeName === 'sint_32' + ? `((${item} << 1) ^ (${item} >> 31)) >>> 0` + : `${item} >>> 0`; + size.push( + ...emit([`const _val = ${normalized};`, `size += ${tag};`]), + varintSize('_val', indent), + ); + write.push(writeVarint(normalized, indent)); + } + } else { + size.push(...emit([`size += ${tag + (wireType === WireType.Bit32 ? 4 : 8)};`])); + + if (typeName === 'float' || typeName === 'double') { + write.push( + ...emit([ + `offset = __writeFloat${typeName === 'float' ? 32 : 64}(buf, offset, ${item});`, + ]), + ); + } else if (wireType === WireType.Bit64) { + write.push(...emit([`offset = __writeFixed64(buf, offset, ${item});`])); + } else { + write.push( + ...emit([ + `const _val = ${item};`, + ...[0, 8, 16, 24].map((shift) => `buf[offset++] = (_val >>> ${shift}) & 0xff;`), + ]), + ); + } + } + + return { + declare, + size: [...start, ...setup, ...loop, ...size, ...end], + write: [...start, ...loop, ...write, ...end], + }; +} + +function presence(field: ProtobufField, value: string): string { + // TypeScript optionality controls missing decoded values, not wire presence. + if (field.explicitPresence || field.isMessage) { + return `${value} != null`; + } + + if (field.typeName === 'bool') { + return `${value} === true`; + } + + if (field.typeName === 'bytes') { + return `${value} != null && ${value}.length > 0`; + } + + const empty = field.typeName === 'string' ? '""' : field.typeName.endsWith('_64') ? '0n' : '0'; + return `${value} != null && ${value} !== ${empty}`; +} diff --git a/packages/proton/src/codegen/generator.ts b/packages/proton/src/codegen/generator.ts new file mode 100644 index 00000000..0aaceb66 --- /dev/null +++ b/packages/proton/src/codegen/generator.ts @@ -0,0 +1,99 @@ +import { WireType, type MessageRegistry, type ProtobufMessage } from './model.js'; +import { generateEncoder, generateEncoderHelpers } from './encoder.js'; +import { generateDecoder } from './decoder.js'; +import { collectDependencyClosure } from '../codegen/dependencies.js'; + +import { helpers } from './helpers.js'; + +/** + * Generate fully self-contained encode/decode source code. + * No runtime imports needed — all wire-format logic is inlined. + */ +export interface CodegenOptions { + encodeRoots?: Iterable; + decodeRoots?: Iterable; +} + +export function generateCode(registry: MessageRegistry, options: CodegenOptions = {}): string { + if (registry.size === 0) { + return ''; + } + + const encodeRoots = new Set(options.encodeRoots ?? registry.keys()); + const decodeNames = collectDependencyClosure(registry, options.decodeRoots ?? registry.keys()); + const nestedRoots = [...encodeRoots].filter((name) => + registry.get(name)?.fields.some((field) => field.isMessage), + ); + const encoderHelpers = collectDependencyClosure(registry, nestedRoots); + const bounds = new Map(); + + function sizeBound(message: ProtobufMessage): number { + const cached = bounds.get(message.name); + + if (cached !== undefined) { + return cached; + } + + bounds.set(message.name, Infinity); + let size = 0; + + for (const field of message.fields) { + if (field.isRepeated || (!field.isMessage && field.wireType === WireType.LengthDelim)) { + return Infinity; + } + + // A scalar needs at most 5 tag bytes and 10 payload bytes. + size += 16; + + if (field.isMessage) { + size += sizeBound(registry.get(field.typeName)!); + } + + if (size > 64) { + return Infinity; + } + } + + bounds.set(message.name, size); + return size; + } + + const parts: string[] = []; + + for (const msg of registry.values()) { + if (encodeRoots.has(msg.name)) { + parts.push(generateEncoder(msg, sizeBound(msg) > 64)); + } + + if (encoderHelpers.has(msg.name)) { + parts.push(generateEncoderHelpers(msg)); + } + + if (decodeNames.has(msg.name)) { + parts.push(generateDecoder(msg)); + } + } + + const body = parts.join('\n'); + const selected = new Set(); + + function include(text: string): void { + for (const match of text.matchAll(/\b__\w+/g)) { + const name = match[0]; + + if (selected.has(name) || !helpers.has(name)) { + continue; + } + + selected.add(name); + include(helpers.get(name)!); + } + } + + include(body); + return [...helpers] + .filter(([name]) => selected.has(name)) + .map(([, text]) => text) + .concat(body) + .join('\n'); +} diff --git a/packages/proton/src/codegen/helpers.ts b/packages/proton/src/codegen/helpers.ts new file mode 100644 index 00000000..824172ef --- /dev/null +++ b/packages/proton/src/codegen/helpers.ts @@ -0,0 +1,98 @@ +import { utf8 } from './utf8.js'; +import { unknownFields } from './unknown.js'; +import { buffers } from './buffer.js'; + +const CODEGEN_PREAMBLE = `${utf8} +${buffers} +${unknownFields} +const __scratch = new DataView(new ArrayBuffer(8)); +function __varint64Size(value) { + if (value < 0x80n) return 1; + const hi = Number(value >> 32n); + const bits = hi ? 64 - Math.clz32(hi) : 32 - Math.clz32(Number(value)); + return ((bits + 6) / 7) | 0; +} +function __writeVarint64(buf, offset, value) { + let lo = Number(value & 0xffffffffn) >>> 0; + let hi = Number(value >> 32n) >>> 0; + while (hi || lo > 0x7f) { + buf[offset++] = (lo & 0x7f) | 0x80; + lo = ((lo >>> 7) | (hi << 25)) >>> 0; + hi >>>= 7; + } + buf[offset++] = lo; + return offset; +} +function __zigZagEncode64(value) { + value = BigInt.asIntN(64, value); + return BigInt.asUintN(64, (value << 1n) ^ (value >> 63n)); +} +function __zigZagDecode64(value) { + return BigInt.asIntN(64, (value >> 1n) ^ -(value & 1n)); +} +function __writeFloat32(buf, offset, value) { + __scratch.setFloat32(0, value, true); + buf[offset++] = __scratch.getUint8(0); + buf[offset++] = __scratch.getUint8(1); + buf[offset++] = __scratch.getUint8(2); + buf[offset++] = __scratch.getUint8(3); + return offset; +} +function __readFloat32(data, offset) { + __scratch.setUint8(0, data[offset]); + __scratch.setUint8(1, data[offset + 1]); + __scratch.setUint8(2, data[offset + 2]); + __scratch.setUint8(3, data[offset + 3]); + return __scratch.getFloat32(0, true); +} +function __writeFloat64(buf, offset, value) { + __scratch.setFloat64(0, value, true); + buf[offset++] = __scratch.getUint8(0); + buf[offset++] = __scratch.getUint8(1); + buf[offset++] = __scratch.getUint8(2); + buf[offset++] = __scratch.getUint8(3); + buf[offset++] = __scratch.getUint8(4); + buf[offset++] = __scratch.getUint8(5); + buf[offset++] = __scratch.getUint8(6); + buf[offset++] = __scratch.getUint8(7); + return offset; +} +function __readFloat64(data, offset) { + __scratch.setUint8(0, data[offset]); + __scratch.setUint8(1, data[offset + 1]); + __scratch.setUint8(2, data[offset + 2]); + __scratch.setUint8(3, data[offset + 3]); + __scratch.setUint8(4, data[offset + 4]); + __scratch.setUint8(5, data[offset + 5]); + __scratch.setUint8(6, data[offset + 6]); + __scratch.setUint8(7, data[offset + 7]); + return __scratch.getFloat64(0, true); +} +function __writeFixed64(buf, offset, value) { + value = BigInt.asUintN(64, value); + const lo = Number(value & 0xffffffffn), hi = Number(value >> 32n); + buf[offset++] = lo; + buf[offset++] = lo >>> 8; + buf[offset++] = lo >>> 16; + buf[offset++] = lo >>> 24; + buf[offset++] = hi; + buf[offset++] = hi >>> 8; + buf[offset++] = hi >>> 16; + buf[offset++] = hi >>> 24; + return offset; +} +function __readFixed64(data, offset) { + const lo = (data[offset] | (data[offset + 1] << 8) | (data[offset + 2] << 16) | (data[offset + 3] << 24)) >>> 0; + const hi = (data[offset + 4] | (data[offset + 5] << 8) | (data[offset + 6] << 16) | (data[offset + 7] << 24)) >>> 0; + return BigInt(lo) | (BigInt(hi) << 32n); +}`; + +export const helpers = new Map(); +const helperStarts = [...CODEGEN_PREAMBLE.matchAll(/^(?:function|const|let) (__\w+)/gm)]; + +for (let i = 0; i < helperStarts.length; i++) { + helpers.set( + helperStarts[i][1], + CODEGEN_PREAMBLE.slice(helperStarts[i].index, helperStarts[i + 1]?.index).trim(), + ); +} diff --git a/packages/proton/src/codegen/model.ts b/packages/proton/src/codegen/model.ts new file mode 100644 index 00000000..4acee9a2 --- /dev/null +++ b/packages/proton/src/codegen/model.ts @@ -0,0 +1,42 @@ +export enum WireType { + Varint = 0, + Bit64 = 1, + LengthDelim = 2, + Bit32 = 5, +} + +export interface ProtobufField { + name: string; + fieldNumber: number; + typeName: string; + wireType: WireType; + isMessage: boolean; + isOptional: boolean; + isRepeated: boolean; + explicitPresence?: boolean; +} + +export interface ProtobufMessage { + name: string; + fields: ProtobufField[]; +} + +export type MessageRegistry = Map; + +export const PRIMITIVE_TYPE_MAP: Record = { + uint_32: { wireType: WireType.Varint, defaultValue: '0' }, + int_32: { wireType: WireType.Varint, defaultValue: '0' }, + uint_64: { wireType: WireType.Varint, defaultValue: '0n' }, + int_64: { wireType: WireType.Varint, defaultValue: '0n' }, + sint_32: { wireType: WireType.Varint, defaultValue: '0' }, + sint_64: { wireType: WireType.Varint, defaultValue: '0n' }, + bool: { wireType: WireType.Varint, defaultValue: 'false' }, + string: { wireType: WireType.LengthDelim, defaultValue: '""' }, + bytes: { wireType: WireType.LengthDelim, defaultValue: 'new Uint8Array(0)' }, + float: { wireType: WireType.Bit32, defaultValue: '0' }, + double: { wireType: WireType.Bit64, defaultValue: '0' }, + fixed_32: { wireType: WireType.Bit32, defaultValue: '0' }, + fixed_64: { wireType: WireType.Bit64, defaultValue: '0n' }, + sfixed_32: { wireType: WireType.Bit32, defaultValue: '0' }, + sfixed_64: { wireType: WireType.Bit64, defaultValue: '0n' }, +}; diff --git a/packages/proton/src/codegen/unknown.ts b/packages/proton/src/codegen/unknown.ts new file mode 100644 index 00000000..f9dad9bd --- /dev/null +++ b/packages/proton/src/codegen/unknown.ts @@ -0,0 +1,60 @@ +// Bound unknown fields and groups to the current message frame. +export const unknownFields = ` +function __readVarint32(data, offset, end) { + let value = 0; + for (let i = 0; i < 5; i++) { + if (offset >= end) throw new Error('protobuf truncated uint32 varint'); + const byte = data[offset++]; + if (i === 4 && (byte & 0xf0) !== 0) throw new Error('protobuf uint32 varint overflow'); + value += (byte & 0x7f) * (2 ** (i * 7)); + if ((byte & 0x80) === 0) return [value >>> 0, offset]; + } + throw new Error('protobuf uint32 varint overflow'); +} +function __skipVarint(data, offset, end) { + for (let i = 0; i < 10; i++) { + if (offset >= end) throw new Error('protobuf truncated varint'); + const byte = data[offset++]; + if (i === 9 && byte > 1) throw new Error('protobuf varint overflow'); + if ((byte & 0x80) === 0) return offset; + } + throw new Error('protobuf varint overflow'); +} +function __checkedEnd(offset, length, end) { + if (length > end - offset) throw new Error('protobuf length-delimited field exceeds parent bounds'); + return offset + length; +} +function __skipUnknownField(data, offset, end, wireType, fieldNumber, depth = 0) { + if (depth > 64) throw new Error('protobuf group nesting exceeds 64'); + if (wireType === 0) return __skipVarint(data, offset, end); + if (wireType === 1) { + if (end - offset < 8) throw new Error('protobuf truncated fixed64 field'); + return offset + 8; + } + if (wireType === 2) { + const [length, next] = __readVarint32(data, offset, end); + return __checkedEnd(next, length, end); + } + if (wireType === 3) { + while (offset < end) { + const [tag, next] = __readVarint32(data, offset, end); + offset = next; + const nestedField = tag >>> 3; + const nestedWire = tag & 0x7; + if (nestedField === 0) throw new Error('protobuf field number 0 is invalid'); + if (nestedWire === 4) { + if (nestedField !== fieldNumber) throw new Error('protobuf mismatched end-group tag'); + return offset; + } + offset = __skipUnknownField(data, offset, end, nestedWire, nestedField, depth + 1); + } + throw new Error('protobuf unterminated group'); + } + if (wireType === 4) throw new Error('protobuf unexpected end-group tag'); + if (wireType === 5) { + if (end - offset < 4) throw new Error('protobuf truncated fixed32 field'); + return offset + 4; + } + throw new Error('protobuf invalid wire type ' + wireType); +} +`; diff --git a/packages/proton/src/codegen/utf8.ts b/packages/proton/src/codegen/utf8.ts new file mode 100644 index 00000000..63cc1133 --- /dev/null +++ b/packages/proton/src/codegen/utf8.ts @@ -0,0 +1,159 @@ +export const utf8 = `const __td = new TextDecoder(); +const __te = new TextEncoder(); +const __nonAscii = /[^\\x00-\\x7f]/; +let __utf8Scratch; +const __tdStrict = new TextDecoder('utf-8', { fatal: true }); +function __utf8LenLong(value) { + const buffer = __utf8Scratch ??= new Uint8Array(4096); + let length = 0; + for (;;) { + const result = __te.encodeInto(value, buffer); + length += result.written; + if (result.read === value.length) return length; + value = value.slice(result.read); + } +} +function __utf8Len(value) { + if (value.length >= 32) return __utf8LenLong(value); + if (value.length >= 8 && value.charCodeAt(0) < 0x80 && !__nonAscii.test(value)) return value.length; + let length = 0; + for (let i = 0; i < value.length; i++) { + const code = value.charCodeAt(i); + if (code < 0x80) { + length++; + continue; + } + if (code < 0x800) { + length += 2; + continue; + } + if ((code & 0xfc00) === 0xd800) { + if (i + 1 < value.length) { + const next = value.charCodeAt(i + 1); + if ((next & 0xfc00) === 0xdc00) { + length += 4; + i++; + continue; + } + } + length += 3; + continue; + } + if ((code & 0xfc00) === 0xdc00) { + length += 3; + continue; + } + length += 3; + } + return length; +} +function __utf8Write(buf, offset, value) { + for (let i = 0; i < value.length; i++) { + let code = value.charCodeAt(i); + if (code < 0x80) { + buf[offset++] = code; + continue; + } + if (code < 0x800) { + buf[offset++] = 0xc0 | (code >> 6); + buf[offset++] = 0x80 | (code & 0x3f); + continue; + } + if ((code & 0xfc00) === 0xd800) { + if (i + 1 < value.length) { + const next = value.charCodeAt(i + 1); + if ((next & 0xfc00) === 0xdc00) { + const point = ((code - 0xd800) << 10) + (next - 0xdc00) + 0x10000; + buf[offset++] = 0xf0 | (point >> 18); + buf[offset++] = 0x80 | ((point >> 12) & 0x3f); + buf[offset++] = 0x80 | ((point >> 6) & 0x3f); + buf[offset++] = 0x80 | (point & 0x3f); + i++; + continue; + } + } + code = 0xfffd; + } else if ((code & 0xfc00) === 0xdc00) { + code = 0xfffd; + } + buf[offset++] = 0xe0 | (code >> 12); + buf[offset++] = 0x80 | ((code >> 6) & 0x3f); + buf[offset++] = 0x80 | (code & 0x3f); + } + return offset; +} +function __utf8WriteLong(buf, offset, value) { + return offset + __te.encodeInto(value, buf.subarray(offset)).written; +} +function __asciiWrite(buf, offset, value) { + let i = 0; + for (; i + 7 < value.length; i += 8) { + buf[offset++] = value.charCodeAt(i); + buf[offset++] = value.charCodeAt(i + 1); + buf[offset++] = value.charCodeAt(i + 2); + buf[offset++] = value.charCodeAt(i + 3); + buf[offset++] = value.charCodeAt(i + 4); + buf[offset++] = value.charCodeAt(i + 5); + buf[offset++] = value.charCodeAt(i + 6); + buf[offset++] = value.charCodeAt(i + 7); + } + for (; i < value.length; i++) buf[offset++] = value.charCodeAt(i); + return offset; +} +function __utf8ReadLong(data, start, end) { + const bytes = data.subarray(start, end); + if (end - start < 128) return __td.decode(bytes); + try { + return __tdStrict.decode(bytes); + } catch { + return __td.decode(bytes); + } +} +function __utf8Read(data, start, end) { + let value = '', offset = start; + while (offset + 7 < end) { + const a = data[offset], b = data[offset + 1], c = data[offset + 2], d = data[offset + 3]; + const e = data[offset + 4], f = data[offset + 5], g = data[offset + 6], h = data[offset + 7]; + if ((a | b | c | d | e | f | g | h) & 0x80) break; + value += String.fromCharCode(a, b, c, d, e, f, g, h); + offset += 8; + } + if (offset + 3 < end) { + const a = data[offset], b = data[offset + 1], c = data[offset + 2], d = data[offset + 3]; + if (!((a | b | c | d) & 0x80)) { + value += String.fromCharCode(a, b, c, d); + offset += 4; + } + } + while (offset < end) { + const a = data[offset++]; + if (a < 0x80) { + value += String.fromCharCode(a); + } else if (a >= 0xc2 && a < 0xe0 && offset < end) { + const b = data[offset++]; + if ((b & 0xc0) !== 0x80) return __td.decode(data.subarray(start, end)); + value += String.fromCharCode(((a & 0x1f) << 6) | (b & 0x3f)); + } else if (a >= 0xe0 && a < 0xf0 && offset + 1 < end) { + const b = data[offset++], c = data[offset++]; + if ((b & 0xc0) !== 0x80 || (c & 0xc0) !== 0x80 || + (a === 0xe0 && b < 0xa0) || (a === 0xed && b >= 0xa0)) { + return __td.decode(data.subarray(start, end)); + } + const code = ((a & 0x0f) << 12) | ((b & 0x3f) << 6) | (c & 0x3f); + // Match TextDecoder's handling of a leading BOM. + if (code !== 0xfeff || offset !== start + 3) value += String.fromCharCode(code); + } else if (a >= 0xf0 && a < 0xf5 && offset + 2 < end) { + const b = data[offset++], c = data[offset++], d = data[offset++]; + if ((b & 0xc0) !== 0x80 || (c & 0xc0) !== 0x80 || (d & 0xc0) !== 0x80 || + (a === 0xf0 && b < 0x90) || (a === 0xf4 && b >= 0x90)) { + return __td.decode(data.subarray(start, end)); + } + const code = (((a & 7) << 18) | ((b & 0x3f) << 12) | ((c & 0x3f) << 6) | (d & 0x3f)) - 0x10000; + value += String.fromCharCode(0xd800 | (code >>> 10), 0xdc00 | (code & 0x3ff)); + } else { + return __td.decode(data.subarray(start, end)); + } + } + return value; +} +`; diff --git a/packages/proton/src/codegen/write.ts b/packages/proton/src/codegen/write.ts new file mode 100644 index 00000000..4b23f1ea --- /dev/null +++ b/packages/proton/src/codegen/write.ts @@ -0,0 +1,56 @@ +export function computeTagBytes(fieldNumber: number, wireType: number): number[] { + let value = ((fieldNumber << 3) | wireType) >>> 0; + const bytes: number[] = []; + + while (value > 0x7f) { + bytes.push((value & 0x7f) | 0x80); + value >>>= 7; + } + + bytes.push(value & 0x7f); + return bytes; +} + +export function writeTag(fieldNumber: number, wireType: number, ind: string): string { + return computeTagBytes(fieldNumber, wireType) + .map((byte) => `${ind}buf[offset++] = ${byte};`) + .join('\n'); +} + +export function varintSize(varName: string, ind: string, signed = false): string { + const negativeSize = signed ? `${varName} < 0 ? 10 : ` : ''; + return `${ind}size += ${negativeSize}${varName} < 0x80 ? 1 : ${varName} < 0x4000 ? 2 : ${varName} < 0x200000 ? 3 : ${varName} < 0x10000000 ? 4 : 5;`; +} + +export function writeVarint(expr: string, ind: string, signed = false): string { + return [ + `${ind}let _v = ${expr};`, + ...(signed + ? [ + `${ind}if (_v < 0) {`, + `${ind} offset = __writeVarint64(buf, offset, BigInt.asUintN(64, BigInt(_v)));`, + ] + : []), + `${ind}${signed ? '} else if' : 'if'} (_v < 0x80) {`, + `${ind} buf[offset++] = _v;`, + `${ind}} else if (_v < 0x4000) {`, + `${ind} buf[offset++] = (_v & 0x7f) | 0x80;`, + `${ind} buf[offset++] = _v >>> 7;`, + `${ind}} else if (_v < 0x200000) {`, + `${ind} buf[offset++] = (_v & 0x7f) | 0x80;`, + `${ind} buf[offset++] = ((_v >>> 7) & 0x7f) | 0x80;`, + `${ind} buf[offset++] = _v >>> 14;`, + `${ind}} else if (_v < 0x10000000) {`, + `${ind} buf[offset++] = (_v & 0x7f) | 0x80;`, + `${ind} buf[offset++] = ((_v >>> 7) & 0x7f) | 0x80;`, + `${ind} buf[offset++] = ((_v >>> 14) & 0x7f) | 0x80;`, + `${ind} buf[offset++] = _v >>> 21;`, + `${ind}} else {`, + `${ind} buf[offset++] = (_v & 0x7f) | 0x80;`, + `${ind} buf[offset++] = ((_v >>> 7) & 0x7f) | 0x80;`, + `${ind} buf[offset++] = ((_v >>> 14) & 0x7f) | 0x80;`, + `${ind} buf[offset++] = ((_v >>> 21) & 0x7f) | 0x80;`, + `${ind} buf[offset++] = _v >>> 28;`, + `${ind}}`, + ].join('\n'); +} diff --git a/packages/proton/src/compiler/analysis.ts b/packages/proton/src/compiler/analysis.ts new file mode 100644 index 00000000..b4fb8ae6 --- /dev/null +++ b/packages/proton/src/compiler/analysis.ts @@ -0,0 +1,559 @@ +import { unique } from './edits.js'; +import { Callbacks, mentionsGeneric } from './callbacks.js'; +import ts from 'typescript'; +import { packageName } from '../package.js'; +import { SourceContext, fail, runtimeImportName } from '../source/context.js'; +import { SchemaResolver } from '../schema/resolver.js'; +import type { TypeEnvironment, TypeValue } from '../schema/types.js'; +import { + callable, + constructorOf, + type Owner, + type Plan, + type Requirement, + type Site, +} from './model.js'; +import { CallTargets } from './targets.js'; + +export class CallAnalysis { + readonly plans = new Map(); + readonly sites = new Map(); + readonly targets: CallTargets; + readonly callbacks = new Callbacks(this); + private readonly runtimePlans = new Map(); + + constructor( + readonly context: SourceContext, + readonly resolver: SchemaResolver, + ) { + this.targets = new CallTargets(context, resolver, this); + } + + runtimePlan(fn: Requirement['fn']): Plan { + let plan = this.runtimePlans.get(fn); + + if (!plan) { + const source = ts.createSourceFile( + `${fn}.internal.ts`, + `function ${fn}(value: T) {}`, + ts.ScriptTarget.Latest, + true, + ); + plan = this.plan(source.statements[0] as ts.FunctionDeclaration); + plan.runtime = fn; + const type = plan.env.get('T')!; + const requirement = { key: `${fn}:${type.key}`, fn, type, node: plan.node }; + plan.requirements.set(requirement.key, requirement); + this.runtimePlans.set(fn, plan); + } + + return plan; + } + + scan(source: ts.SourceFile): void { + if (this.sites.has(source)) { + return; + } + + const sites: Site[] = []; + this.sites.set(source, sites); + + if (source.isDeclarationFile) { + return; + } + + for (const statement of source.statements) { + if ( + (!ts.isImportDeclaration(statement) && !ts.isExportDeclaration(statement)) || + !statement.moduleSpecifier || + !ts.isStringLiteral(statement.moduleSpecifier) + ) { + continue; + } + + const imported = this.context.module(statement.moduleSpecifier.text, source); + + if ( + imported && + !imported.isDeclarationFile && + !imported.fileName.includes('/node_modules/') + ) { + this.scan(imported); + } + } + + let env: TypeEnvironment = new Map(); + let owner: Plan | undefined; + + const visit = (node: ts.Node): void => { + this.callbacks.record(node); + + if ( + ts.isTypeNode(node) || + ts.isInterfaceDeclaration(node) || + ts.isImportDeclaration(node) || + ts.isExportDeclaration(node) + ) { + return; + } + + const outerEnv = env; + const outerOwner = owner; + + if (ts.isClassDeclaration(node)) { + this.plan(node); + } + + if ((callable(node) || ts.isClassDeclaration(node)) && node.typeParameters?.length) { + owner = this.plan(node); + env = owner.env; + } + + if (ts.isCallExpression(node) || ts.isNewExpression(node)) { + let fn = ts.isCallExpression(node) + ? this.protobufFunction(node.expression, source) + : undefined; + const target = fn ? undefined : this.targets.target(node.expression, source, env); + + if (!fn && ts.isCallExpression(node) && target) { + fn = this.plan(target.node).runtime; + } + + if (fn) { + const typeNode = + node.typeArguments?.[0] ?? + (fn === 'protobuf_encode' && node.arguments?.[0] + ? this.targets.infer(node.arguments[0], source) + : undefined); + + if (!typeNode) { + fail( + node, + 'Cannot infer protobuf schema; supply an explicit type argument.', + ); + } + + const type = this.resolver.type(typeNode, typeNode.getSourceFile(), env); + const direct: Requirement = { key: `${fn}:${type.key}`, fn, type, node }; + + if (type.dynamic && owner) { + owner.requirements.set(direct.key, direct); + } + + sites.push({ node, owner, direct }); + } else { + if (target) { + const plan = this.plan(target.node); + sites.push({ + node, + owner, + target: plan, + bindings: target.bindings, + typeArgs: node.typeArguments, + env, + }); + this.scan(target.node.getSourceFile()); + } + } + } + + ts.forEachChild(node, visit); + env = outerEnv; + owner = outerOwner; + }; + + visit(source); + } + + propagate(): void { + const consumers = new Map< + Plan, + { owner?: Plan; bindings: () => Map }[] + >(); + + const connect = ( + target: Plan, + owner: Plan | undefined, + bindings: () => Map, + ) => { + const list = consumers.get(target) ?? []; + list.push({ owner, bindings }); + consumers.set(target, list); + }; + + for (const sites of this.sites.values()) { + for (const site of sites) { + if (site.target) { + connect(site.target, site.owner, () => this.bindings(site)); + } + } + } + + for (const adapter of this.callbacks.connections()) { + connect(adapter.target, adapter.owner, adapter.bindings); + } + + for (const plan of this.plans.values()) { + if (plan.base) { + connect(plan.base.plan, plan, () => plan.base!.bindings); + } + } + + const queue = [...this.plans.values()].flatMap((plan) => + [...plan.requirements.values()].map((requirement) => ({ plan, requirement })), + ); + + for (let index = 0; index < queue.length; index++) { + const { plan, requirement } = queue[index]; + + for (const consumer of consumers.get(plan) ?? []) { + const instantiated = this.instantiate(requirement, consumer.bindings()); + const owner = consumer.owner; + + if ( + !instantiated.type.dynamic || + !owner || + owner.requirements.has(instantiated.key) + ) { + continue; + } + + if (owner.requirements.size >= 128) { + fail(owner.node, 'Generic codec expansion does not converge.'); + } + + owner.requirements.set(instantiated.key, instantiated); + queue.push({ plan: owner, requirement: instantiated }); + } + } + } + + instantiate(req: Requirement, bindings: Map): Requirement { + const type = this.resolver.substitute(req.type, bindings); + return { ...req, type, key: `${req.fn}:${type.key}` }; + } + + bindings(site: Site, partial = false): Map { + if (!site.bound) { + const plan = site.target!; + + // Ordinary calls cannot contribute generic codec bindings. Resolving + // their parameter types would treat unrelated application data as schemas. + if (plan.env.size === 0 && !plan.base) { + site.bound = true; + return site.bindings!; + } + + if (!site.typeArgs?.length) { + this.parameters(plan.node)?.forEach((param, index) => { + const argument = site.node.arguments?.[index]; + const actual = + argument && this.targets.infer(argument, site.node.getSourceFile()); + + if ( + param.type && + actual && + mentionsGeneric(param.type, this.environment(param)) && + !this.targets.signature(param.type, plan.env) + ) { + // Matching generic containers expose their arguments directly; + // unrelated members need not be expanded as protobuf schemas. + const pattern = param.type; + + if ( + ts.isTypeReferenceNode(pattern) && + ts.isTypeReferenceNode(actual) && + pattern.typeArguments?.length && + pattern.typeArguments.length === actual.typeArguments?.length && + this.context.typeName(pattern.typeName, pattern.getSourceFile()) + ?.node && + this.context.typeName(pattern.typeName, pattern.getSourceFile()) + ?.node === + this.context.typeName(actual.typeName, actual.getSourceFile())?.node + ) { + pattern.typeArguments.forEach((type, i) => + this.unify( + this.resolver.type( + type, + type.getSourceFile(), + this.environment(param), + ), + partial + ? this.resolver.lazy( + actual.typeArguments![i], + actual.getSourceFile(), + site.env!, + ) + : this.resolver.type( + actual.typeArguments![i], + actual.getSourceFile(), + site.env, + ), + site.bindings!, + site.node, + ), + ); + return; + } + + this.unify( + this.resolver.type( + param.type, + param.getSourceFile(), + this.environment(param), + ), + this.resolver.type(actual, actual.getSourceFile(), site.env), + site.bindings!, + site.node, + ); + } + }); + const bases: NonNullable[] = []; + + for (let base = plan.base; base; base = base.plan.base) { + bases.push(base); + } + + for (const base of bases.reverse()) { + for (const [key, pattern] of base.bindings) { + const actual = site.bindings!.get(key); + + if (actual) { + this.unify(pattern, actual, site.bindings!, site.node); + } + } + } + } + + const local = this.targets.environment({ node: plan.node, bindings: site.bindings! }); + + for (let i = 0; i < (plan.node.typeParameters?.length ?? 0); i++) { + const param = plan.node.typeParameters![i]; + const key = plan.env.get(param.name.text)!.key; + const arg = site.typeArgs?.[i]; + const actual = + site.bindings!.get(key) ?? + (arg + ? partial + ? this.resolver.lazy(arg, arg.getSourceFile(), site.env!) + : this.resolver.type(arg, arg.getSourceFile(), site.env!) + : param.default + ? this.resolver.type(param.default, param.getSourceFile(), local) + : undefined); + + if (!actual && partial) { + continue; + } + + if (!actual) { + fail( + site.node, + `Cannot infer ${param.name.text}; supply an explicit generic argument.`, + ); + } + + site.bindings!.set(key, actual); + local.set(param.name.text, actual); + } + + site.bound = !partial; + } + + return site.bindings!; + } + + unify( + pattern: TypeValue, + actual: TypeValue, + bindings: Map, + node: ts.Node, + seen = new Set(), + ): void { + const key = `${pattern.key}:${actual.key}`; + + if (seen.has(key)) { + return; + } + + seen.add(key); + + if (pattern.kind === 'parameter') { + const previous = bindings.get(pattern.key); + + if (previous && previous.key !== actual.key) { + fail( + node, + `Conflicting inference for ${pattern.name}; supply an explicit type argument.`, + ); + } + + bindings.set(pattern.key, actual); + } else if ( + pattern.application && + actual.application && + pattern.application.declaration === actual.application.declaration + ) { + pattern.application.arguments.forEach((type, index) => + this.unify(type, actual.application!.arguments[index], bindings, node, seen), + ); + } else if (pattern.fields && actual.fields) { + for (const [name, property] of pattern.fields) { + const field = actual.fields.get(name); + + if (field) { + this.unify(property.type, field.type, bindings, node, seen); + } + } + } else if ( + pattern.values && + actual.values && + pattern.values.length === actual.values.length + ) { + pattern.values.forEach((type, index) => + this.unify(type, actual.values![index], bindings, node, seen), + ); + } + } + + owner(node: ts.Node): Owner | undefined { + for (let parent = node.parent; parent; parent = parent.parent) { + if ( + (callable(parent) || ts.isClassDeclaration(parent)) && + parent.typeParameters?.length + ) { + return parent; + } + } + + return; + } + + environment(node: ts.Node): TypeEnvironment { + const owners: Owner[] = []; + + for (let parent: ts.Node | undefined = node; parent; parent = parent.parent) { + if ( + (callable(parent) || ts.isClassDeclaration(parent)) && + parent.typeParameters?.length + ) { + owners.push(parent); + } + } + + const env: TypeEnvironment = new Map(); + + for (const owner of owners.reverse()) { + for (const param of owner.typeParameters!) { + env.set(param.name.text, this.resolver.parameter(param.name.text, owner)); + } + } + + return env; + } + + plan(node: Owner): Plan { + let plan = this.plans.get(node); + + if (!plan) { + plan = { node, env: this.environment(node), requirements: new Map(), names: new Map() }; + this.plans.set(node, plan); + + if (ts.isClassDeclaration(node)) { + const heritage = node.heritageClauses?.find( + (clause) => clause.token === ts.SyntaxKind.ExtendsKeyword, + )?.types[0]; + + if (heritage) { + const target = this.targets.target( + heritage.expression, + node.getSourceFile(), + plan.env, + ); + + if (target && ts.isClassDeclaration(target.node)) { + const base = this.plan(target.node); + + for ( + let ancestor: Plan | undefined = base; + ancestor; + ancestor = ancestor.base?.plan + ) { + if (ancestor === plan) { + fail(heritage, 'Circular class inheritance.'); + } + } + + const args = this.resolver.arguments( + target.node.typeParameters, + heritage.typeArguments, + node.getSourceFile(), + plan.env, + target.node, + ); + const bindings = new Map(); + + for (const [name, type] of args) { + bindings.set(base.env.get(name)!.key, type); + } + + plan.base = { plan: base, bindings }; + this.scan(target.node.getSourceFile()); + } + } + } + } + + return plan; + } + + protobufFunction( + expression: ts.Expression, + source: ts.SourceFile, + ): Requirement['fn'] | undefined { + let name: string | undefined; + + if (ts.isIdentifier(expression)) { + const declaration = this.context.lookup(expression.text, expression, source); + name = declaration ? runtimeImportName(declaration.node) : undefined; + } else if ( + ts.isPropertyAccessExpression(expression) && + ts.isIdentifier(expression.expression) + ) { + const declaration = this.context.lookup(expression.expression.text, expression, source); + + if ( + declaration && + ts.isNamespaceImport(declaration.node) && + (declaration.node.parent.parent.moduleSpecifier as ts.StringLiteral).text === + packageName + ) { + name = expression.name.text; + } + } + + return name === 'protobuf_encode' || name === 'protobuf_decode' ? name : undefined; + } + + parameters(node: Owner): readonly ts.ParameterDeclaration[] | undefined { + const parameters = ts.isClassDeclaration(node) + ? (constructorOf(node)?.parameters ?? + (this.plan(node).base ? this.parameters(this.plan(node).base!.plan.node) : undefined)) + : node.parameters; + return parameters?.filter( + (param) => !ts.isIdentifier(param.name) || param.name.text !== 'this', + ); + } + parameterName(plan: Plan, key: string): string { + let name = plan.names.get(key); + + if (!name) { + name = unique( + plan.node.getSourceFile(), + `__pb_codec_${plan.node.pos}_${plan.names.size}`.replace(/-/g, '_'), + ); + plan.names.set(key, name); + } + + return name; + } +} diff --git a/packages/proton/src/compiler/callback-types.ts b/packages/proton/src/compiler/callback-types.ts new file mode 100644 index 00000000..3f4e3ffb --- /dev/null +++ b/packages/proton/src/compiler/callback-types.ts @@ -0,0 +1,169 @@ +import ts from 'typescript'; +import { fail } from '../source/context.js'; +import type { TypeEnvironment } from '../schema/types.js'; +import { memberType, type Signature } from './signatures.js'; +import { callable } from './model.js'; +import type { CallAnalysis } from './analysis.js'; + +interface Expected { + type: ts.TypeNode; + env: TypeEnvironment; +} + +export class CallbackTypes { + constructor(private readonly graph: CallAnalysis) {} + + context( + node: ts.Expression, + env: TypeEnvironment, + ): { signature?: Signature; types?: ts.TypeNode[] } | undefined { + const expected = this.expected(node, env); + const signature = expected && this.graph.targets.signature(expected.type, expected.env); + + if (signature) { + return { signature }; + } + + const parent = node.parent; + + if ( + ts.isCallExpression(parent) && + parent.arguments[0] === node && + ts.isPropertyAccessExpression(parent.expression) && + ['map', 'forEach', 'flatMap', 'filter', 'find', 'some', 'every'].includes( + parent.expression.name.text, + ) + ) { + const array = this.graph.targets.infer( + parent.expression.expression, + node.getSourceFile(), + ); + const element = array && this.element(array); + + if (element) { + return { types: [element] }; + } + } + + return; + } + + private expected(node: ts.Node, env: TypeEnvironment): Expected | undefined { + const graph = this.graph; + let child = node; + + if ( + ts.isPropertyAccessExpression(child.parent) && + child.parent.name.text === 'bind' && + ts.isCallExpression(child.parent.parent) + ) { + child = child.parent.parent; + } + + while ( + ts.isParenthesizedExpression(child.parent) || + ts.isConditionalExpression(child.parent) + ) { + child = child.parent; + } + + const parent = child.parent; + + if ( + (ts.isVariableDeclaration(parent) || + ts.isParameter(parent) || + ts.isPropertyDeclaration(parent) || + ts.isAsExpression(parent) || + ts.isSatisfiesExpression(parent)) && + parent.type + ) { + return { type: parent.type, env }; + } + + if ( + ts.isBinaryExpression(parent) && + parent.right === child && + parent.operatorToken.kind === ts.SyntaxKind.EqualsToken + ) { + const type = graph.targets.infer(parent.left, node.getSourceFile()); + + if (type) { + return { type, env }; + } + } + + if ( + (ts.isPropertyAssignment(parent) || ts.isShorthandPropertyAssignment(parent)) && + ts.isObjectLiteralExpression(parent.parent) + ) { + const object = this.expected(parent.parent, env); + return ( + object && + memberType( + object.type, + parent.name.getText().replace(/^['"]|['"]$/g, ''), + object.env, + graph.context, + graph.resolver, + ) + ); + } + + if (ts.isArrayLiteralExpression(parent)) { + const array = this.expected(parent, env); + const type = array && this.element(array.type); + return type && array ? { type, env: array.env } : undefined; + } + + if (ts.isReturnStatement(parent) || (ts.isArrowFunction(parent) && parent.body === child)) { + for (let fn: ts.Node | undefined = parent; fn; fn = fn.parent) { + if (callable(fn)) { + return fn.type ? { type: fn.type, env } : undefined; + } + } + } + + if (ts.isCallExpression(parent)) { + const index = parent.arguments.indexOf(child as ts.Expression); + const site = graph.sites + .get(node.getSourceFile()) + ?.find((site) => site.node === parent); + const parameter = site?.target && graph.parameters(site.target.node)?.[index]; + + if (site?.target && parameter?.type) { + const bindings = graph.bindings(site, true); + const local = new Map( + [...site.target.env].map(([name, value]) => [ + name, + graph.resolver.substitute(value, bindings), + ]), + ); + const signature = graph.targets.signature(parameter.type, local); + + if ( + signature?.node.typeParameters?.length && + (site.target.node.getSourceFile().isDeclarationFile || + (ts.isFunctionDeclaration(site.target.node) && !site.target.node.body)) + ) { + fail( + node, + 'Polymorphic callbacks require the receiving implementation to participate in the build.', + ); + } + + return { type: parameter.type, env: local }; + } + } + + return; + } + + private element(type: ts.TypeNode): ts.TypeNode | undefined { + return ts.isArrayTypeNode(type) + ? type.elementType + : ts.isTypeReferenceNode(type) && + ['Array', 'ReadonlyArray'].includes(type.typeName.getText()) + ? type.typeArguments?.[0] + : undefined; + } +} diff --git a/packages/proton/src/compiler/callbacks.ts b/packages/proton/src/compiler/callbacks.ts new file mode 100644 index 00000000..329f687d --- /dev/null +++ b/packages/proton/src/compiler/callbacks.ts @@ -0,0 +1,323 @@ +import ts from 'typescript'; +import { fail } from '../source/context.js'; +import type { TypeEnvironment, TypeValue } from '../schema/types.js'; +import type { CallAnalysis } from './analysis.js'; +import { callable, type Plan, type Requirement, type Edit } from './model.js'; +import { codecIndex, unique } from './edits.js'; +import { CallbackTypes } from './callback-types.js'; + +interface Adapter { + node: ts.Expression; + target: Plan; + bindings: Map; + owner?: Plan; + signature?: Plan; +} + +export class Callbacks { + readonly adapters = new Map(); + private readonly candidates: ts.Expression[] = []; + private cursor = 0; + private readonly types: CallbackTypes; + + constructor(private readonly graph: CallAnalysis) { + this.types = new CallbackTypes(graph); + } + + record(node: ts.Node): void { + switch (node.kind) { + case ts.SyntaxKind.ExpressionWithTypeArguments: + if (!ts.isHeritageClause(node.parent)) { + this.candidates.push(node as ts.ExpressionWithTypeArguments); + } + + break; + case ts.SyntaxKind.VariableDeclaration: + case ts.SyntaxKind.Parameter: + case ts.SyntaxKind.PropertyDeclaration: + case ts.SyntaxKind.PropertyAssignment: + this.candidate((node as ts.VariableDeclaration).initializer); + break; + case ts.SyntaxKind.CallExpression: + for (const argument of (node as ts.CallExpression).arguments) { + this.candidate(argument); + } + + break; + case ts.SyntaxKind.ArrayLiteralExpression: + for (const element of (node as ts.ArrayLiteralExpression).elements) { + this.candidate(element); + } + + break; + case ts.SyntaxKind.ShorthandPropertyAssignment: + this.candidate((node as ts.ShorthandPropertyAssignment).name); + break; + case ts.SyntaxKind.ReturnStatement: + case ts.SyntaxKind.ParenthesizedExpression: + case ts.SyntaxKind.AsExpression: + case ts.SyntaxKind.SatisfiesExpression: + this.candidate((node as ts.ReturnStatement).expression); + break; + + case ts.SyntaxKind.ConditionalExpression: { + const expression = node as ts.ConditionalExpression; + this.candidate(expression.whenTrue); + this.candidate(expression.whenFalse); + break; + } + + case ts.SyntaxKind.BinaryExpression: { + const expression = node as ts.BinaryExpression; + + if (expression.operatorToken.kind === ts.SyntaxKind.EqualsToken) { + this.candidate(expression.right); + } + + break; + } + + case ts.SyntaxKind.PropertyAccessExpression: { + const expression = node as ts.PropertyAccessExpression; + + if (expression.name.text === 'bind') { + this.candidate(expression.expression); + } + } + } + } + + private candidate(node: ts.Expression | undefined): void { + if ( + node && + (ts.isIdentifier(node) || + ts.isPropertyAccessExpression(node) || + ts.isElementAccessExpression(node) || + callable(node)) + ) { + this.candidates.push(node); + } + } + + collect(): void { + while (this.cursor < this.candidates.length) { + this.add(this.candidates[this.cursor++]); + } + } + + private add(node: ts.Expression): void { + const graph = this.graph; + const env = graph.environment(node); + const explicit = ts.isExpressionWithTypeArguments(node) ? node : undefined; + const target = graph.targets.target( + explicit?.expression ?? node, + node.getSourceFile(), + env, + ); + + if (!target || ts.isClassDeclaration(target.node)) { + return; + } + + const plan = graph.plan(target.node); + + if (!plan.node.typeParameters?.length) { + return; + } + + graph.scan(plan.node.getSourceFile()); + const ownerNode = graph.owner(node); + const adapter: Adapter = { + node, + target: plan, + bindings: new Map(target.bindings), + owner: ownerNode ? graph.plan(ownerNode) : undefined, + }; + + if (explicit) { + const args = graph.resolver.arguments( + plan.node.typeParameters, + explicit.typeArguments, + node.getSourceFile(), + env, + plan.node, + ); + + for (const [name, type] of args) { + adapter.bindings.set(plan.env.get(name)!.key, type); + } + } else { + const context = this.types.context(node, env); + + if (!context) { + return; + } + + const signature = context.signature; + const local = new Map(signature?.env ?? env); + + if (signature?.node.typeParameters?.length) { + adapter.signature = graph.plan(signature.node); + + for (const param of signature.node.typeParameters) { + local.set(param.name.text, adapter.signature.env.get(param.name.text)!); + } + } + + const parameters = graph.parameters(plan.node) ?? []; + const actual = + context.types ?? graph.parameters(signature!.node)!.map((param) => param.type); + parameters.forEach((param, index) => { + if ( + param.type && + actual[index] && + plan.runtime !== 'protobuf_decode' && + mentionsGeneric(param.type, plan.env) + ) { + graph.unify( + graph.resolver.type(param.type, param.getSourceFile(), plan.env), + graph.resolver.type(actual[index]!, actual[index]!.getSourceFile(), local), + adapter.bindings, + node, + ); + } + }); + + if (plan.runtime === 'protobuf_decode' && signature) { + adapter.bindings.set( + plan.env.get('T')!.key, + graph.resolver.type( + signature.node.type!, + signature.node.getSourceFile(), + local, + ), + ); + } + + for (const parameter of plan.node.typeParameters ?? []) { + const key = plan.env.get(parameter.name.text)!.key; + + if (!adapter.bindings.has(key) && parameter.default) { + adapter.bindings.set( + key, + graph.resolver.type(parameter.default, parameter.getSourceFile(), env), + ); + } + } + } + + this.adapters.set(node, adapter); + } + + connections(): { target: Plan; owner?: Plan; bindings: () => Map }[] { + return [...this.adapters.values()].map((adapter) => ({ + target: adapter.target, + owner: adapter.signature ?? adapter.owner, + bindings: () => adapter.bindings, + })); + } + + emit( + source: ts.SourceFile, + reference: (req: Requirement, owner?: Plan) => string, + edits: Edit[], + ): void { + for (const adapter of this.adapters.values()) { + if (adapter.node.getSourceFile() !== source || !adapter.target.requirements.size) { + continue; + } + + const { target, signature, node } = adapter; + + if (target === signature) { + continue; + } + + const requirements = [...target.requirements.values()].map((req) => + this.graph.instantiate(req, adapter.bindings), + ); + + for (const req of requirements) { + if ( + [...target.env.values()].some( + (type) => type.dynamic && req.type.key === type.key, + ) + ) { + fail( + node, + 'Cannot infer callback schema; annotate its parameter type or supply type arguments.', + ); + } + } + + const codecs = requirements.map((req) => reference(req, signature ?? adapter.owner)); + + if (target.runtime && !signature) { + const text = + target.runtime === 'protobuf_decode' + ? `(bytes => ${codecs[0]}(bytes))` + : codecs[0]; + edits.push({ start: node.getStart(source), end: node.end, text }); + continue; + } + + const params = this.graph.parameters(target.node) ?? []; + const count = params.findIndex((param) => !!param.dotDotDotToken); + const arity = count < 0 ? params.length : count; + const signatureParams = signature && this.graph.parameters(signature.node)!; + const signatureRest = + signatureParams?.findIndex((param) => !!param.dotDotDotToken) ?? -1; + const incomingArity = signatureParams + ? signatureRest < 0 + ? signatureParams.length + : signatureRest + : arity; + const prefix = unique(source, '__pb_callback'); + const args = Array.from( + { length: Math.max(arity, incomingArity) }, + (_, index) => `${prefix}_${index}`, + ); + const hidden = signature + ? [...signature.requirements.keys()].map((key) => + this.graph.parameterName(signature, key), + ) + : []; + const incoming = args.map((name, index) => + params[index]?.initializer ? `${name} = undefined` : name, + ); + incoming.splice(incomingArity, 0, ...hidden.map((name) => `${name} = undefined`)); + + if (count >= 0) { + incoming.push(`...${prefix}_rest`); + } + + const index = codecIndex(params); + const forwarded = [...args.slice(0, index), ...codecs, ...args.slice(index, arity)]; + + if (count >= 0) { + forwarded.push(...args.slice(arity), `...${prefix}_rest`); + } + + const call = target.runtime + ? `${codecs[0]}(${args[0]})` + : `${prefix}_fn.call(this, ${forwarded.join(', ')})`; + const property = ts.isShorthandPropertyAssignment(node.parent) + ? node.getText(source) + ': ' + : ''; + edits.push({ + start: node.getStart(source), + end: node.getStart(source), + text: `${property}((${prefix}_fn) => function(${incoming.join(', ')}) { return ${call}; })(`, + }); + edits.push({ start: node.end, end: node.end, text: ')', order: -1 }); + } + } +} + +export function mentionsGeneric(node: ts.Node, env: TypeEnvironment): boolean { + if (ts.isIdentifier(node) && env.get(node.text)?.dynamic) { + return true; + } + + return ts.forEachChild(node, (child) => mentionsGeneric(child, env)) ?? false; +} diff --git a/packages/proton/src/compiler/compiler.ts b/packages/proton/src/compiler/compiler.ts new file mode 100644 index 00000000..784aaa70 --- /dev/null +++ b/packages/proton/src/compiler/compiler.ts @@ -0,0 +1,326 @@ +import { codecIndex, insertArguments, insertParameters, unique } from './edits.js'; +import ts from 'typescript'; +import { SourceContext, fail } from '../source/context.js'; +import { SchemaResolver } from '../schema/resolver.js'; +import { generateCode } from '../codegen/generator.js'; + +import { constructorOf, type Plan, type Requirement, type Edit } from './model.js'; +import { CallAnalysis } from './analysis.js'; +import { validateSource } from './validate.js'; + +/** Generic calls receive generated codec functions, preserving the original body and closure. */ +export class ProtobufCompiler { + readonly context = new SourceContext(); + private resolver = new SchemaResolver(this.context); + private graph = new CallAnalysis(this.context, this.resolver); + private output = new Map(); + private entries = new Set(); + + clear(): void { + this.reset(); + this.entries.clear(); + } + + private reset(): void { + this.context.clear(); + this.output.clear(); + this.resolver = new SchemaResolver(this.context); + this.graph = new CallAnalysis(this.context, this.resolver); + } + + prepare(files: Iterable): void { + for (const file of files) { + this.entries.add(file); + } + + try { + for (const file of this.entries) { + this.graph.scan(this.context.source(file)); + } + + this.graph.callbacks.collect(); + this.graph.propagate(); + } catch (error) { + this.reset(); + throw error; + } + } + + compile(code: string, file: string): string | null { + try { + return this.transform(code, file); + } catch (error) { + this.reset(); + throw error; + } + } + + private transform(code: string, file: string): string | null { + const cached = this.output.get(file); + + if (cached?.source === code) { + return cached.code; + } + + const revision = this.context.revision; + const source = this.context.source(file, code); + + if (!this.graph.sites.size && this.entries.size) { + this.prepare(this.entries); + } + + if (cached || this.context.revision !== revision) { + const entries = [...this.entries]; + this.clear(); + this.context.files.set(source.fileName, source); + this.prepare(entries); + } + + this.graph.scan(source); + this.graph.callbacks.collect(); + this.graph.propagate(); + validateSource(this.graph, source); + const edits: Edit[] = []; + const encodeRoots = new Set(); + const decodeRoots = new Set(); + + const reference = (requirement: Requirement, owner?: Plan, constructor = false): string => { + if (requirement.type.dynamic) { + if (!owner) { + fail( + requirement.node, + 'Unresolved generic codec outside a generic function or class.', + ); + } + + const name = this.graph.parameterName(owner, requirement.key); + return ts.isClassDeclaration(owner.node) && !constructor ? `this.#${name}` : name; + } + + const name = this.resolver.message(requirement.type, requirement.node); + (requirement.fn === 'protobuf_encode' ? encodeRoots : decodeRoots).add(name); + return `${requirement.fn}_${name}`; + }; + + for (const site of this.graph.sites.get(source) ?? []) { + let constructor = false; + + for ( + let parent: ts.Node | undefined = site.node; + parent && parent !== site.owner?.node; + parent = parent.parent + ) { + if (ts.isConstructorDeclaration(parent)) { + constructor = true; + break; + } + } + + if (site.direct) { + edits.push({ + start: site.node.expression.getStart(source), + end: site.node.typeArguments + ? site.node.typeArguments.end + 1 + : site.node.expression.end, + text: reference(site.direct, site.owner, constructor), + }); + } else if (site.target?.requirements.size) { + const args = [...site.target.requirements.values()].map((req) => + reference( + this.graph.instantiate(req, this.graph.bindings(site)), + site.owner, + constructor, + ), + ); + insertArguments( + site.node, + this.graph.parameters(site.target.node), + args, + edits, + source, + ); + } + } + + this.graph.callbacks.emit(source, reference, edits); + + for (const plan of this.graph.plans.values()) { + if ( + ts.isTypeNode(plan.node) || + ts.isCallSignatureDeclaration(plan.node) || + plan.node.getSourceFile() !== source || + (plan.requirements.size === 0 && !plan.base?.plan.requirements.size) + ) { + continue; + } + + const names = [...plan.requirements.keys()].map((key) => + this.graph.parameterName(plan, key), + ); + + if (ts.isClassDeclaration(plan.node)) { + const constructor = constructorOf(plan.node); + const assignments = names.map((name) => `this.#${name} = ${name};`).join('\n'); + + if (names.length) { + edits.push({ + start: plan.node.members.pos, + end: plan.node.members.pos, + text: '\n' + names.map((name) => `#${name};`).join('\n') + '\n', + }); + } + + if (constructor?.body) { + if (names.length) { + insertParameters(constructor.parameters, names, edits, source); + } + + const superStatement = constructor.body.statements.find( + (statement) => + ts.isExpressionStatement(statement) && + ts.isCallExpression(statement.expression) && + statement.expression.expression.kind === ts.SyntaxKind.SuperKeyword, + ); + + if (plan.base && !superStatement) { + fail( + constructor, + 'Generic derived constructors require a top-level super(...) call.', + ); + } + + const position = superStatement?.end ?? constructor.body.getStart(source) + 1; + edits.push({ start: position, end: position, text: assignments }); + } else if (plan.base) { + const inherited = this.graph.parameters(plan.base.plan.node); + const count = codecIndex(inherited); + const argsName = unique(source, '__pb_constructor_args'); + const locals = names + .map((name, i) => `const ${name} = ${argsName}[${count + i}];`) + .join('\n'); + const codecs = [...plan.base.plan.requirements.values()].map((req) => + reference(this.graph.instantiate(req, plan.base!.bindings), plan, true), + ); + const forwarded = [ + `...${argsName}.slice(0, ${count})`, + ...codecs, + `...${argsName}.slice(${count + names.length})`, + ]; + edits.push({ + start: plan.node.members.pos, + end: plan.node.members.pos, + text: `\nconstructor(...${argsName}) { ${locals}\nsuper(${forwarded.join(', ')});\n${assignments} }\n`, + }); + } else { + edits.push({ + start: plan.node.members.pos, + end: plan.node.members.pos, + text: `\nconstructor(${names.map((name) => name + ' = undefined').join(', ')}) { ${assignments} }\n`, + }); + } + } else { + insertParameters(plan.node.parameters, names, edits, source); + } + } + + if (!edits.length) { + this.output.set(file, { source: code, code: null }); + return null; + } + + edits.sort((a, b) => a.start - b.start || (a.order ?? 0) - (b.order ?? 0) || a.end - b.end); + const parts: string[] = []; + let offset = 0; + + for (const edit of edits) { + if (edit.start < offset) { + throw new Error('Overlapping protobuf compiler edits.'); + } + + offset = edit.end; + } + + let generated = generateCode(this.resolver.registry, { + encodeRoots, + decodeRoots, + }); + // Keep generated identifiers out of the user's namespace, including helper names. + const prefix = unique(source, '__pb_generated_'); + const generatedNames = new Set( + [ + ...generated.matchAll( + /\b(?:function|const|let)\s+((?:protobuf_(?:encode|decode)_|__)[\p{ID_Continue}$]+)/gu, + ), + ].map((match) => match[1]), + ); + const hasCollision = [...generatedNames].some((name) => source.text.includes(name)); + + const renamed = (text: string): string => { + if (!hasCollision) { + return text; + } + + const scanner = ts.createScanner( + ts.ScriptTarget.Latest, + false, + ts.LanguageVariant.Standard, + text, + ); + const chunks: string[] = []; + let position = 0; + + for ( + let token = scanner.scan(); + token !== ts.SyntaxKind.EndOfFileToken; + token = scanner.scan() + ) { + if ( + token !== ts.SyntaxKind.Identifier || + !generatedNames.has(scanner.getTokenText()) + ) { + continue; + } + + chunks.push( + text.slice(position, scanner.getTokenPos()), + prefix + scanner.getTokenText(), + ); + position = scanner.getTextPos(); + } + + return chunks.join('') + text.slice(position); + }; + + generated = renamed(generated); + + // Rename only inserted codec references, never arbitrary source strings or user identifiers. + for (const edit of edits) { + edit.text = renamed(edit.text); + } + + parts.length = 0; + offset = 0; + + for (const edit of edits) { + parts.push(code.slice(offset, edit.start), edit.text); + offset = edit.end; + } + + parts.push(code.slice(offset)); + const rewritten = parts.join(''); + let preambleAt = code.startsWith('#!') ? code.indexOf('\n') + 1 : 0; + + for (const statement of source.statements) { + if (!ts.isExpressionStatement(statement) || !ts.isStringLiteral(statement.expression)) { + break; + } + + preambleAt = statement.end; + } + + const transformed = + rewritten.slice(0, preambleAt) + '\n' + generated + '\n' + rewritten.slice(preambleAt); + this.output.set(file, { source: code, code: transformed }); + return transformed; + } +} diff --git a/packages/proton/src/compiler/edits.ts b/packages/proton/src/compiler/edits.ts new file mode 100644 index 00000000..d7d21a48 --- /dev/null +++ b/packages/proton/src/compiler/edits.ts @@ -0,0 +1,80 @@ +import ts from 'typescript'; +import type { Edit, Site } from './model.js'; + +export function unique(source: ts.SourceFile, base: string): string { + while (source.text.includes(base)) { + base += '_'; + } + + return base; +} + +export function codecIndex(params: readonly ts.ParameterDeclaration[] = []): number { + const index = params.findIndex((param) => !!param.initializer || !!param.dotDotDotToken); + return index < 0 ? params.length : index; +} + +export function insertParameters( + params: ts.NodeArray, + names: string[], + edits: Edit[], + source: ts.SourceFile, +): void { + names = names.map((name) => name + ' = undefined'); + const index = codecIndex(params); + + if (index < params.length) { + edits.push({ + start: params[index].getStart(source), + end: params[index].getStart(source), + text: names.join(', ') + ', ', + }); + } else { + edits.push({ + start: params.end, + end: params.end, + text: (params.length && !params.hasTrailingComma ? ', ' : '') + names.join(', '), + }); + } +} + +export function insertArguments( + node: Site['node'], + params: readonly ts.ParameterDeclaration[] | undefined, + args: string[], + edits: Edit[], + source: ts.SourceFile, +): void { + const index = codecIndex(params); + const actual = node.arguments; + + if (actual?.some(ts.isSpreadElement)) { + const values = unique(source, '__pb_arguments'); + edits.push({ + start: actual[0].getStart(source), + end: actual[0].getStart(source), + text: `...((${values}) => { while (${values}.length < ${index}) ${values}.push(undefined); ${values}.splice(${index}, 0, ${args.join(', ')}); return ${values}; })([`, + }); + edits.push({ start: actual.end, end: actual.end, text: '])', order: 1 }); + return; + } + + const missing = Math.max(0, index - (actual?.length ?? 0)); + const text = [...Array(missing).fill('undefined'), ...args].join(', '); + + if (!actual) { + edits.push({ start: node.end, end: node.end, text: `(${text})` }); + } else if (actual.length > index) { + edits.push({ + start: actual[index].getStart(source), + end: actual[index].getStart(source), + text: text + ', ', + }); + } else { + edits.push({ + start: actual.end, + end: actual.end, + text: (actual.length && !actual.hasTrailingComma ? ', ' : '') + text, + }); + } +} diff --git a/packages/proton/src/compiler/model.ts b/packages/proton/src/compiler/model.ts new file mode 100644 index 00000000..cd74c579 --- /dev/null +++ b/packages/proton/src/compiler/model.ts @@ -0,0 +1,99 @@ +import ts from 'typescript'; +import type { TypeEnvironment, TypeValue } from '../schema/types.js'; + +export type Callable = + | ts.FunctionDeclaration + | ts.FunctionExpression + | ts.ArrowFunction + | ts.MethodDeclaration + | ts.FunctionTypeNode + | ts.CallSignatureDeclaration; +export type Owner = Callable | ts.ClassDeclaration; +export interface Requirement { + key: string; + fn: 'protobuf_encode' | 'protobuf_decode'; + type: TypeValue; + node: ts.Node; +} +export interface Plan { + runtime?: Requirement['fn']; + node: Owner; + env: TypeEnvironment; + requirements: Map; + names: Map; + base?: { plan: Plan; bindings: Map }; +} +export interface Target { + node: Owner; + bindings: Map; +} +export interface Site { + node: ts.CallExpression | ts.NewExpression; + owner?: Plan; + direct?: Requirement; + target?: Plan; + bindings?: Map; + typeArgs?: readonly ts.TypeNode[]; + env?: TypeEnvironment; + bound?: boolean; +} +export interface Edit { + order?: number; + start: number; + end: number; + text: string; +} + +export function callable(node: ts.Node): node is Callable { + switch (node.kind) { + case ts.SyntaxKind.FunctionDeclaration: + case ts.SyntaxKind.FunctionExpression: + case ts.SyntaxKind.ArrowFunction: + case ts.SyntaxKind.MethodDeclaration: + case ts.SyntaxKind.FunctionType: + case ts.SyntaxKind.CallSignature: + return true; + default: + return false; + } +} + +export function constructorOf(node: ts.ClassDeclaration): ts.ConstructorDeclaration | undefined { + return node.members.find( + (member): member is ts.ConstructorDeclaration => + ts.isConstructorDeclaration(member) && !!member.body, + ); +} + +export function memberName(name: ts.PropertyName): string | undefined { + if (ts.isIdentifier(name) || ts.isStringLiteralLike(name) || ts.isNumericLiteral(name)) { + return name.text; + } + + if ( + ts.isComputedPropertyName(name) && + (ts.isStringLiteralLike(name.expression) || ts.isNumericLiteral(name.expression)) + ) { + return name.expression.text; + } + + return; +} + +export function access( + expression: ts.Expression, +): { receiver: ts.Expression; name: string } | undefined { + if (ts.isPropertyAccessExpression(expression)) { + return { receiver: expression.expression, name: expression.name.text }; + } + + if ( + ts.isElementAccessExpression(expression) && + (ts.isStringLiteralLike(expression.argumentExpression) || + ts.isNumericLiteral(expression.argumentExpression)) + ) { + return { receiver: expression.expression, name: expression.argumentExpression.text }; + } + + return; +} diff --git a/packages/proton/src/compiler/receivers.ts b/packages/proton/src/compiler/receivers.ts new file mode 100644 index 00000000..a2adc4c3 --- /dev/null +++ b/packages/proton/src/compiler/receivers.ts @@ -0,0 +1,404 @@ +import ts from 'typescript'; +import { fail } from '../source/context.js'; +import type { TypeEnvironment } from '../schema/types.js'; +import { + access, + callable, + constructorOf, + memberName, + type Callable, + type Target, +} from './model.js'; +import type { CallTargets } from './targets.js'; + +interface Receiver { + node: ts.ClassDeclaration | ts.ObjectLiteralExpression; + bindings: Target['bindings']; + env: TypeEnvironment; +} +type Returning = Callable | ts.GetAccessorDeclaration; + +export class Receivers { + private readonly returns = new WeakMap(); + + constructor(private readonly targets: CallTargets) {} + + resolve( + expression: ts.Expression, + source: ts.SourceFile, + env: TypeEnvironment, + seen = new Set(), + ): Receiver | undefined { + if (seen.has(expression)) { + return; + } + + seen.add(expression); + const { context } = this.targets; + + if ( + ts.isParenthesizedExpression(expression) || + ts.isNonNullExpression(expression) || + ts.isSatisfiesExpression(expression) + ) { + return this.resolve(expression.expression, source, env, seen); + } + + if (ts.isAsExpression(expression) || ts.isTypeAssertionExpression(expression)) { + return ( + this.annotation(expression.type, env, seen) ?? + this.resolve(expression.expression, source, env, seen) + ); + } + + if (ts.isObjectLiteralExpression(expression)) { + return { node: expression, env, bindings: new Map() }; + } + + if (expression.kind === ts.SyntaxKind.ThisKeyword) { + for (let parent = expression.parent; parent; parent = parent.parent) { + if (ts.isClassDeclaration(parent)) { + const target = this.targets.capture( + expression, + { node: parent, bindings: new Map() }, + env, + ); + return { + node: parent, + bindings: target.bindings, + env: this.targets.environment(target), + }; + } + } + } + + if (ts.isIdentifier(expression)) { + const declaration = context.lookup(expression.text, expression, source)?.node; + + if (declaration && ts.isClassDeclaration(declaration)) { + return { + node: declaration, + bindings: new Map(), + env: this.targets.graph.plan(declaration).env, + }; + } + + if ( + declaration && + (ts.isVariableDeclaration(declaration) || ts.isParameter(declaration)) + ) { + const annotated = declaration.type && this.annotation(declaration.type, env, seen); + + if (annotated) { + return annotated; + } + + if (declaration.initializer) { + return this.resolve( + declaration.initializer, + declaration.getSourceFile(), + env, + seen, + ); + } + } + } + + const property = access(expression); + + if (property) { + const receiver = this.resolve(property.receiver, source, env, seen); + const member = receiver && this.member(receiver, property.name); + + if (!member) { + return; + } + + const node = member.node; + + if ('type' in node && node.type) { + const annotated = this.annotation(node.type, member.env, seen); + + if (annotated) { + return annotated; + } + } + + if (ts.isGetAccessorDeclaration(node)) { + return this.returned(node, member.env, seen, expression); + } + + if ('initializer' in node && node.initializer) { + return this.resolve(node.initializer, node.getSourceFile(), member.env, seen); + } + + if (ts.isShorthandPropertyAssignment(node)) { + return this.resolve(node.name, node.getSourceFile(), member.env, seen); + } + } + + if (ts.isNewExpression(expression) || ts.isCallExpression(expression)) { + const target = this.targets.target(expression.expression, source, env, seen); + + if (!target) { + return; + } + + const specialized = this.targets.specialize(expression, target, env); + const local = this.targets.environment(specialized); + + if (ts.isNewExpression(expression)) { + return ts.isClassDeclaration(target.node) + ? { node: target.node, bindings: specialized.bindings, env: local } + : undefined; + } + + if (!callable(target.node)) { + return; + } + + const annotated = target.node.type && this.annotation(target.node.type, local, seen); + return annotated || this.returned(target.node, local, seen, expression); + } + + if (ts.isConditionalExpression(expression)) { + return this.merge([expression.whenTrue, expression.whenFalse], env, seen, expression); + } + + return; + } + + member( + receiver: Receiver, + name: string, + ): + | { + node: ts.ClassElement | ts.ObjectLiteralElementLike | ts.ParameterDeclaration; + bindings: Target['bindings']; + env: TypeEnvironment; + } + | undefined { + const { graph, resolver } = this.targets; + let node = receiver.node; + const bindings = new Map(receiver.bindings); + + for (;;) { + const members = ts.isClassDeclaration(node) ? node.members : node.properties; + const member = + members.find( + (member) => + member.name && + memberName(member.name) === name && + (!ts.isMethodDeclaration(member) || !!member.body), + ) ?? + (ts.isClassDeclaration(node) + ? constructorOf(node)?.parameters.find( + (param) => + ts.isIdentifier(param.name) && + param.name.text === name && + param.modifiers?.length, + ) + : undefined); + + if (member) { + const env = ts.isClassDeclaration(node) + ? this.targets.environment({ node, bindings }) + : receiver.env; + return { node: member, bindings, env }; + } + + const base = ts.isClassDeclaration(node) && graph.plan(node).base; + + if (!base || !ts.isClassDeclaration(base.plan.node)) { + return; + } + + for (const [key, type] of base.bindings) { + bindings.set(key, resolver.substitute(type, bindings)); + } + + node = base.plan.node; + } + } + + private annotation( + type: ts.TypeNode, + env: TypeEnvironment, + seen: Set, + ): Receiver | undefined { + if (seen.has(type)) { + return; + } + + seen.add(type); + + if (ts.isParenthesizedTypeNode(type)) { + return this.annotation(type.type, env, seen); + } + + if (ts.isUnionTypeNode(type)) { + const types = type.types.filter( + (item) => + item.kind !== ts.SyntaxKind.UndefinedKeyword && + !( + ts.isLiteralTypeNode(item) && + item.literal.kind === ts.SyntaxKind.NullKeyword + ), + ); + + if (types.length === 1) { + return this.annotation(types[0], env, seen); + } + + return; + } + + if (!ts.isTypeReferenceNode(type)) { + return; + } + + const { context, resolver, graph } = this.targets; + const ref = context.typeName(type.typeName, type.getSourceFile()); + + if (!ref || (!ts.isClassDeclaration(ref.node) && !ts.isTypeAliasDeclaration(ref.node))) { + return; + } + + if (ts.isTypeAliasDeclaration(ref.node) && !this.classShape(ref.node.type)) { + return; + } + + const args = resolver.arguments( + ref.node.typeParameters, + type.typeArguments, + type.getSourceFile(), + env, + ref.node, + ); + + if (ts.isTypeAliasDeclaration(ref.node)) { + return this.annotation(ref.node.type, new Map([...env, ...args]), seen); + } + + const plan = graph.plan(ref.node); + const target = this.targets.capture( + type, + { + node: ref.node, + bindings: new Map([...args].map(([name, type]) => [plan.env.get(name)!.key, type])), + }, + env, + ); + return { node: ref.node, bindings: target.bindings, env: this.targets.environment(target) }; + } + + private classShape(type: ts.TypeNode, seen = new Set()): boolean { + if (seen.has(type)) { + return false; + } + + seen.add(type); + + if (ts.isParenthesizedTypeNode(type)) { + return this.classShape(type.type, seen); + } + + if (ts.isUnionTypeNode(type)) { + return type.types.some((member) => this.classShape(member, seen)); + } + + if (!ts.isTypeReferenceNode(type)) { + return false; + } + + const node = this.targets.context.typeName(type.typeName, type.getSourceFile())?.node; + return ( + !!node && + (ts.isClassDeclaration(node) || + (ts.isTypeAliasDeclaration(node) && this.classShape(node.type, seen))) + ); + } + + private returned( + node: Returning, + env: TypeEnvironment, + seen: Set, + origin: ts.Node, + ): Receiver | undefined { + const cached = this.returns.get(node); + + if (cached) { + return this.merge(cached, env, seen, origin); + } + + const expressions: ts.Expression[] = []; + + if ('body' in node && node.body) { + if (ts.isBlock(node.body)) { + const visit = (child: ts.Node): void => { + if (ts.isFunctionLike(child) || ts.isClassDeclaration(child)) { + return; + } + + if (ts.isReturnStatement(child)) { + if (child.expression) { + expressions.push(child.expression); + } + } else { + ts.forEachChild(child, visit); + } + }; + + visit(node.body); + } else { + expressions.push(node.body); + } + } + + this.returns.set(node, expressions); + return this.merge(expressions, env, seen, origin); + } + + private merge( + expressions: ts.Expression[], + env: TypeEnvironment, + seen: Set, + origin: ts.Node, + ): Receiver | undefined { + let result: Receiver | undefined; + + for (const expression of expressions) { + const next = this.resolve(expression, expression.getSourceFile(), env, new Set(seen)); + + if (!next) { + return; + } + + if ( + result && + (result.node !== next.node || + [...result.env].some(([name, type]) => next.env.get(name)?.key !== type.key)) + ) { + // Data objects returned by ordinary functions need no codec + // specialization, even when their branches have different shapes. + if ( + ts.isObjectLiteralExpression(result.node) && + ts.isObjectLiteralExpression(next.node) && + ![...result.node.properties, ...next.node.properties].some( + (member) => + callable(member) || + (ts.isPropertyAssignment(member) && callable(member.initializer)), + ) + ) { + return; + } + + fail(origin, 'Receiver branches must resolve to the same specialization.'); + } + + result = next; + } + + return result; + } +} diff --git a/packages/proton/src/compiler/signatures.ts b/packages/proton/src/compiler/signatures.ts new file mode 100644 index 00000000..7d1f3457 --- /dev/null +++ b/packages/proton/src/compiler/signatures.ts @@ -0,0 +1,212 @@ +import ts from 'typescript'; +import type { SourceContext } from '../source/context.js'; +import type { SchemaResolver } from '../schema/resolver.js'; +import type { TypeEnvironment } from '../schema/types.js'; + +export interface Signature { + node: ts.FunctionTypeNode | ts.CallSignatureDeclaration; + env: TypeEnvironment; +} + +export function memberType( + type: ts.TypeNode, + name: string, + env: TypeEnvironment, + context: SourceContext, + resolver: SchemaResolver, + seen = new Set(), +): { type: ts.TypeNode; env: TypeEnvironment } | undefined { + if (seen.has(type)) { + return; + } + + seen.add(type); + + if (ts.isTypeLiteralNode(type)) { + const member = type.members.find( + (member) => + member.name && + (ts.isIdentifier(member.name) || ts.isStringLiteral(member.name)) && + member.name.text === name, + ); + return member && ts.isPropertySignature(member) && member.type + ? { type: member.type, env } + : undefined; + } + + if (ts.isTypeReferenceNode(type)) { + const ref = context.typeName(type.typeName, type.getSourceFile()); + + if ( + !ref || + (!ts.isTypeAliasDeclaration(ref.node) && !ts.isInterfaceDeclaration(ref.node)) + ) { + return; + } + + if (ts.isTypeAliasDeclaration(ref.node) && !memberShape(ref.node.type, name, context)) { + return; + } + + const local = new Map([ + ...env, + ...resolver.arguments( + ref.node.typeParameters, + type.typeArguments, + type.getSourceFile(), + env, + ref.node, + true, + ), + ]); + + if (ts.isTypeAliasDeclaration(ref.node)) { + return memberType(ref.node.type, name, local, context, resolver, seen); + } + + const member = ref.node.members.find( + (member) => member.name?.getText(ref.source).replace(/^['"]|['"]$/g, '') === name, + ); + return member && ts.isPropertySignature(member) && member.type + ? { type: member.type, env: local } + : undefined; + } + + return; +} + +export function resolveSignature( + type: ts.TypeNode, + env: TypeEnvironment, + context: SourceContext, + resolver: SchemaResolver, + seen = new Set(), +): Signature | undefined { + if (seen.has(type)) { + return; + } + + seen.add(type); + + if (ts.isParenthesizedTypeNode(type)) { + return resolveSignature(type.type, env, context, resolver, seen); + } + + if (ts.isFunctionTypeNode(type)) { + return { node: type, env }; + } + + if (ts.isTypeLiteralNode(type)) { + const signatures = type.members.filter(ts.isCallSignatureDeclaration); + + if (signatures.length === 1) { + return { node: signatures[0], env }; + } + } + + if (ts.isTypeReferenceNode(type)) { + const ref = context.typeName(type.typeName, type.getSourceFile()); + + if (!ref) { + return; + } + + const node = ref.node; + + if (!ts.isTypeAliasDeclaration(node) && !ts.isInterfaceDeclaration(node)) { + return; + } + + if (!callableShape(type, context)) { + return; + } + + const local = new Map([ + ...env, + ...resolver.arguments( + node.typeParameters, + type.typeArguments, + type.getSourceFile(), + env, + node, + true, + ), + ]); + return ts.isTypeAliasDeclaration(node) + ? resolveSignature(node.type, local, context, resolver, seen) + : { node: node.members.find(ts.isCallSignatureDeclaration)!, env: local }; + } + + return; +} + +export function callableShape( + type: ts.TypeNode, + context: SourceContext, + seen = new Set(), +): boolean { + if (seen.has(type)) { + return false; + } + + seen.add(type); + + if (ts.isFunctionTypeNode(type)) { + return true; + } + + if (ts.isParenthesizedTypeNode(type)) { + return callableShape(type.type, context, seen); + } + + if (ts.isTypeLiteralNode(type)) { + return type.members.filter(ts.isCallSignatureDeclaration).length === 1; + } + + if (!ts.isTypeReferenceNode(type)) { + return false; + } + + const node = context.typeName(type.typeName, type.getSourceFile())?.node; + return ( + !!node && + (ts.isTypeAliasDeclaration(node) + ? callableShape(node.type, context, seen) + : ts.isInterfaceDeclaration(node) && + node.members.filter(ts.isCallSignatureDeclaration).length === 1) + ); +} + +function memberShape( + type: ts.TypeNode, + name: string, + context: SourceContext, + seen = new Set(), +): boolean { + if (seen.has(type)) { + return false; + } + + seen.add(type); + + if (ts.isTypeLiteralNode(type)) { + return type.members.some( + (member) => member.name?.getText().replace(/^['"]|['"]$/g, '') === name, + ); + } + + if (!ts.isTypeReferenceNode(type)) { + return false; + } + + const node = context.typeName(type.typeName, type.getSourceFile())?.node; + return ( + !!node && + (ts.isTypeAliasDeclaration(node) + ? memberShape(node.type, name, context, seen) + : ts.isInterfaceDeclaration(node) && + node.members.some( + (member) => member.name?.getText().replace(/^['"]|['"]$/g, '') === name, + )) + ); +} diff --git a/packages/proton/src/compiler/targets.ts b/packages/proton/src/compiler/targets.ts new file mode 100644 index 00000000..f213fd7b --- /dev/null +++ b/packages/proton/src/compiler/targets.ts @@ -0,0 +1,345 @@ +import ts from 'typescript'; +import { packageName } from '../package.js'; +import { SourceContext, runtimeImportName, type DeclarationRef } from '../source/context.js'; +import { SchemaResolver } from '../schema/resolver.js'; +import type { TypeEnvironment, TypeValue } from '../schema/types.js'; +import { access, callable, type Plan, type Target, type Requirement, type Site } from './model.js'; +import { Receivers } from './receivers.js'; +import { callableShape, memberType, resolveSignature, type Signature } from './signatures.js'; + +interface Plans { + environment(node: ts.Node): TypeEnvironment; + plan(node: Target['node']): Plan; + runtimePlan(fn: Requirement['fn']): Plan; + bindings(site: Site, partial?: boolean): Map; +} + +export class CallTargets { + private readonly receivers = new Receivers(this); + constructor( + readonly context: SourceContext, + readonly resolver: SchemaResolver, + readonly graph: Plans, + ) {} + + signature(type: ts.TypeNode, env: TypeEnvironment) { + return resolveSignature(type, env, this.context, this.resolver); + } + + signatureTarget(signature: Signature): Target { + const plan = this.graph.plan(signature.node); + return { + node: signature.node, + bindings: new Map( + [...signature.env].flatMap(([name, type]) => { + if (signature.node.typeParameters?.some((param) => param.name.text === name)) { + return []; + } + + const parameter = plan.env.get(name); + return parameter ? [[parameter.key, type] as const] : []; + }), + ), + }; + } + + target( + expression: ts.Expression, + source: ts.SourceFile, + env: TypeEnvironment, + seen = new Set(), + ): Target | undefined { + if (seen.has(expression)) { + return; + } + + seen.add(expression); + + if (callable(expression)) { + return { node: expression, bindings: new Map() }; + } + + if (ts.isCallExpression(expression)) { + const factory = this.target(expression.expression, source, env, seen); + + if ( + factory && + callable(factory.node) && + factory.node.type && + callableShape(factory.node.type, this.context) + ) { + const local = this.environment(this.specialize(expression, factory, env)); + const signature = this.signature(factory.node.type, local); + + if (signature) { + return this.signatureTarget(signature); + } + } + + return; + } + + if ( + ts.isParenthesizedExpression(expression) || + ts.isAsExpression(expression) || + ts.isNonNullExpression(expression) + ) { + return this.target(expression.expression, source, env, seen); + } + + if (expression.kind === ts.SyntaxKind.SuperKeyword) { + for (let parent: ts.Node | undefined = expression; parent; parent = parent.parent) { + if (ts.isClassDeclaration(parent)) { + const base = this.graph.plan(parent).base; + return base + ? { node: base.plan.node, bindings: new Map(base.bindings) } + : undefined; + } + } + } + + let ref: DeclarationRef | undefined; + const property = access(expression); + + if (ts.isIdentifier(expression)) { + ref = this.context.lookup(expression.text, expression, source); + } else if (property) { + let receiver: ts.Expression = property.receiver; + + while (ts.isParenthesizedExpression(receiver)) { + receiver = receiver.expression; + } + + const declaration = ts.isIdentifier(receiver) + ? this.context.lookup(receiver.text, receiver, source)?.node + : undefined; + + if ( + declaration && + (ts.isVariableDeclaration(declaration) || ts.isParameter(declaration)) && + declaration.type + ) { + const member = memberType( + declaration.type, + property.name, + env, + this.context, + this.resolver, + ); + const signature = member && this.signature(member.type, member.env); + + if (signature) { + return this.signatureTarget(signature); + } + } + + if (declaration && ts.isNamespaceImport(declaration)) { + const specifier = (declaration.parent.parent.moduleSpecifier as ts.StringLiteral) + .text; + + if ( + specifier === packageName && + (property.name === 'protobuf_encode' || property.name === 'protobuf_decode') + ) { + return { + node: this.graph.runtimePlan(property.name).node, + bindings: new Map(), + }; + } + + const module = this.context.module(specifier, declaration.getSourceFile()); + ref = module ? this.context.exported(property.name, module) : undefined; + } else { + const value = this.receivers.resolve(receiver, source, env, seen); + const member = value && this.receivers.member(value, property.name); + + if (member) { + if (callable(member.node)) { + return { node: member.node, bindings: member.bindings }; + } + + if ('initializer' in member.node && member.node.initializer) { + const target = this.target( + member.node.initializer, + member.node.getSourceFile(), + member.env, + seen, + ); + + if (target) { + return { + node: target.node, + bindings: new Map([...member.bindings, ...target.bindings]), + }; + } + } + + if (ts.isShorthandPropertyAssignment(member.node)) { + return this.target( + member.node.name, + member.node.getSourceFile(), + member.env, + seen, + ); + } + } + } + } + + if (!ref) { + return; + } + + // Ambient library declarations have no body in which to thread codecs. + // Their unrelated generic arguments must not enter schema inference. + if (ref.source.isDeclarationFile) { + return; + } + + const runtime = runtimeImportName(ref.node); + + if (runtime === 'protobuf_encode' || runtime === 'protobuf_decode') { + return { node: this.graph.runtimePlan(runtime).node, bindings: new Map() }; + } + + if ((ts.isParameter(ref.node) || ts.isVariableDeclaration(ref.node)) && ref.node.type) { + const signature = this.signature(ref.node.type, env); + + if (signature) { + return this.signatureTarget(signature); + } + } + + if ( + ts.isBindingElement(ref.node) && + ts.isObjectBindingPattern(ref.node.parent) && + (ts.isVariableDeclaration(ref.node.parent.parent) || + ts.isParameter(ref.node.parent.parent)) + ) { + const declaration = ref.node.parent.parent; + const initializer = declaration.initializer; + const name = ref.node.propertyName ?? ref.node.name; + + if (declaration.type && (ts.isIdentifier(name) || ts.isStringLiteral(name))) { + const property = memberType( + declaration.type, + name.text, + env, + this.context, + this.resolver, + ); + const signature = property && this.signature(property.type, property.env); + + if (signature) { + return this.signatureTarget(signature); + } + } + + if (initializer && (ts.isIdentifier(name) || ts.isStringLiteral(name))) { + return this.target( + ts.factory.createPropertyAccessExpression(initializer, name.text), + ref.source, + env, + seen, + ); + } + } + + if (callable(ref.node) || ts.isClassDeclaration(ref.node)) { + return { node: ref.node, bindings: new Map() }; + } + + if (ts.isVariableDeclaration(ref.node) && ref.node.initializer) { + if (callable(ref.node.initializer)) { + return { node: ref.node.initializer, bindings: new Map() }; + } + + return this.target(ref.node.initializer, ref.source, env, seen); + } + + return; + } + + specialize( + node: ts.CallExpression | ts.NewExpression, + target: Target, + env: TypeEnvironment, + ): Target { + return { + node: target.node, + bindings: this.graph.bindings( + { + node, + target: this.graph.plan(target.node), + bindings: this.capture(node, target, env).bindings, + typeArgs: node.typeArguments, + env, + }, + true, + ), + }; + } + + capture(node: ts.Node, target: Target, env: TypeEnvironment): Target { + const bindings = new Map(target.bindings); + const lexical = this.graph.environment(node); + + for (const [name, type] of this.graph.plan(target.node).env) { + if ( + !bindings.has(type.key) && + !target.node.typeParameters?.some((param) => param.name.text === name) && + lexical.get(name)?.key === type.key && + env.has(name) + ) { + bindings.set(type.key, env.get(name)!); + } + } + + return { node: target.node, bindings }; + } + + environment(target: Target): TypeEnvironment { + return new Map( + [...this.graph.plan(target.node).env].map(([name, type]) => [ + name, + this.resolver.substitute(type, target.bindings), + ]), + ); + } + + infer( + expression: ts.Expression, + source: ts.SourceFile, + seen = new Set(), + ): ts.TypeNode | undefined { + if (seen.has(expression)) { + return; + } + + seen.add(expression); + + if ( + ts.isAsExpression(expression) || + ts.isTypeAssertionExpression(expression) || + ts.isSatisfiesExpression(expression) + ) { + return expression.type; + } + + if (ts.isIdentifier(expression)) { + const ref = this.context.lookup(expression.text, expression, source); + + if (ref && (ts.isVariableDeclaration(ref.node) || ts.isParameter(ref.node))) { + if (ref.node.type) { + return ref.node.type; + } + + if (ref.node.initializer) { + return this.infer(ref.node.initializer, ref.source, seen); + } + } + } + + return; + } +} diff --git a/packages/proton/src/compiler/validate.ts b/packages/proton/src/compiler/validate.ts new file mode 100644 index 00000000..ef3f75f1 --- /dev/null +++ b/packages/proton/src/compiler/validate.ts @@ -0,0 +1,140 @@ +import ts from 'typescript'; +import { fail } from '../source/context.js'; +import { callable } from './model.js'; +import type { CallAnalysis } from './analysis.js'; + +export function validateSource(graph: CallAnalysis, source: ts.SourceFile): void { + if (![...graph.plans.values()].some((plan) => plan.requirements.size)) { + return; + } + + const visit = (node: ts.Node): void => { + if (ts.isExpressionWithTypeArguments(node) && !ts.isHeritageClause(node.parent)) { + const target = graph.targets.target(node.expression, source, graph.environment(node)); + + if ( + target && + graph.plan(target.node).requirements.size && + !graph.callbacks.adapters.has(node) + ) { + fail(node, 'Generic function values require an explicitly typed arrow adapter.'); + } + } + + if (ts.isTypeNode(node) || ts.isImportDeclaration(node) || ts.isExportDeclaration(node)) { + return; + } + + if (ts.isIdentifier(node) && node.text === 'arguments') { + const owner = graph.owner(node); + + if (owner && graph.plan(owner).requirements.size) { + fail( + node, + 'Generic codec functions cannot reflect on arguments; use named or rest parameters.', + ); + } + } + + if ( + (ts.isIdentifier(node) || + ts.isPropertyAccessExpression(node) || + ts.isElementAccessExpression(node) || + ts.isArrowFunction(node) || + ts.isFunctionExpression(node)) && + isValuePosition(node) + ) { + const target = graph.targets.target(node, source, graph.environment(node)); + const owner = target && graph.owner(target.node); + + if ( + target && + !graph.callbacks.adapters.has(node) && + !ts.isClassDeclaration(target.node) && + (graph.plan(target.node).requirements.size || + (ts.isMethodDeclaration(target.node) && + owner && + graph.plan(owner).requirements.size)) + ) { + fail( + node, + 'Cannot infer callback schema; annotate the callback type or supply concrete type arguments.', + ); + } + } + + if ( + (ts.isPropertyAccessExpression(node) || ts.isElementAccessExpression(node)) && + ts.isVariableDeclaration(node.parent) && + node.parent.initializer === node + ) { + const target = graph.targets.target(node, source, graph.environment(node)); + const owner = target && graph.owner(target.node); + + if ( + target && + ts.isMethodDeclaration(target.node) && + !target.node.typeParameters?.length && + owner && + ts.isClassDeclaration(owner) && + graph.plan(owner).requirements.size + ) { + fail( + node, + 'Instance codec methods require their receiver; use an arrow adapter instead of detaching the method.', + ); + } + } + + ts.forEachChild(node, visit); + }; + + visit(source); + + for (const site of graph.sites.get(source) ?? []) { + if (!site.direct?.type.dynamic || !site.owner || !ts.isClassDeclaration(site.owner.node)) { + continue; + } + + for ( + let parent = site.node.parent; + parent && parent !== site.owner.node; + parent = parent.parent + ) { + if (callable(parent) || ts.isConstructorDeclaration(parent)) { + break; + } + + if (ts.isPropertyDeclaration(parent)) { + fail( + site.node, + 'Move generic codec calls from class field initializers into the constructor body.', + ); + } + } + } +} + +function isValuePosition(node: ts.Expression): boolean { + let value: ts.Node = node; + + while ( + ts.isParenthesizedExpression(value.parent) || + ts.isAsExpression(value.parent) || + ts.isSatisfiesExpression(value.parent) + ) { + value = value.parent; + } + + const parent = value.parent; + return ( + (ts.isCallExpression(parent) && parent.expression !== value) || + ts.isReturnStatement(parent) || + ts.isShorthandPropertyAssignment(parent) || + ts.isArrayLiteralExpression(parent) || + (ts.isPropertyAssignment(parent) && parent.initializer === value) || + (ts.isBinaryExpression(parent) && + parent.right === value && + parent.operatorToken.kind === ts.SyntaxKind.EqualsToken) + ); +} diff --git a/packages/proton/src/index.ts b/packages/proton/src/index.ts new file mode 100644 index 00000000..4d6b0784 --- /dev/null +++ b/packages/proton/src/index.ts @@ -0,0 +1,74 @@ +import type { Plugin, ResolvedConfig } from 'vite'; +import { ProtobufCompiler } from './compiler/compiler.js'; +import { buildEntries } from './source/entries.js'; +import { packageName } from './package.js'; + +export default function protobufVitePlugin(): Plugin { + const compiler = new ProtobufCompiler(); + const transformedFiles = new Set(); + let config: ResolvedConfig | undefined; + let needsPreparation = true; + + const invalidate = () => { + compiler.clear(); + needsPreparation = true; + }; + + return { + name: `${packageName}:vite`, + enforce: 'pre', + + configResolved(resolved) { + config = resolved; + }, + + buildStart() { + invalidate(); + transformedFiles.clear(); + }, + + watchChange() { + invalidate(); + }, + + transform(code, id) { + const cleanId = id.split('?')[0]; + + if (!/\.[cm]?tsx?$/.test(cleanId) || /\.d\.[cm]?ts$/.test(cleanId)) { + return null; + } + + if (needsPreparation) { + if (config) { + compiler.prepare(buildEntries(config)); + } + + needsPreparation = false; + } + + const transformed = compiler.compile(code, cleanId); + + if (transformed !== null) { + transformedFiles.add(cleanId); + + for (const dependency of compiler.context.files.keys()) { + this.addWatchFile?.(dependency); + } + } + + return transformed === null ? null : { code: transformed, map: null }; + }, + + handleHotUpdate({ file, server }) { + if (/\.[cm]?tsx?$/.test(file)) { + invalidate(); + return [...transformedFiles].flatMap((id) => { + const module = server.moduleGraph.getModuleById(id); + return module ? [module] : []; + }); + } + + return; + }, + }; +} diff --git a/packages/proton/src/package.ts b/packages/proton/src/package.ts new file mode 100644 index 00000000..e8d23d3a --- /dev/null +++ b/packages/proton/src/package.ts @@ -0,0 +1 @@ +export { name as packageName } from '../package.json'; diff --git a/packages/proton/src/runtime.ts b/packages/proton/src/runtime.ts new file mode 100644 index 00000000..05319c7b --- /dev/null +++ b/packages/proton/src/runtime.ts @@ -0,0 +1,69 @@ +import { packageName } from './package.js'; + +function uncompiled(operation: string): never { + throw new Error( + `${operation}() was not transformed by the ${packageName} Vite plugin. Add the plugin from ${packageName}/vite to your build.`, + ); +} + +export function protobuf_encode(_value: T): Uint8Array { + return uncompiled('protobuf_encode'); +} + +export function protobuf_decode(_bytes: Uint8Array): T { + return uncompiled('protobuf_decode'); +} + +export interface ProtobufUnknownField { + fieldNumber: number; + wireType: number; + count: number; + totalByteLength: number; +} + +export interface ProtobufUnknownFieldMetadata { + fields: readonly ProtobufUnknownField[]; + totalOccurrences: number; + omittedOccurrences: number; + omittedByteLength: number; +} + +const PROTOBUF_UNKNOWN_FIELDS = Symbol.for('snowluma.proton.unknownFields'); +const EMPTY_UNKNOWN_FIELD_METADATA: ProtobufUnknownFieldMetadata = Object.freeze({ + fields: Object.freeze([]), + totalOccurrences: 0, + omittedOccurrences: 0, + omittedByteLength: 0, +}); + +/** Unknown wire tags retained by generated decoders. The symbol-backed + * metadata is non-enumerable, so decoded object shapes and re-encoding remain + * unchanged while protocol boundaries can make schema drift observable. */ +export function protobuf_getUnknownFields(value: unknown): readonly ProtobufUnknownField[] { + return protobuf_getUnknownFieldMetadata(value).fields; +} + +export function protobuf_getUnknownFieldMetadata(value: unknown): ProtobufUnknownFieldMetadata { + if (typeof value !== 'object' || value === null) { + return EMPTY_UNKNOWN_FIELD_METADATA; + } + + const metadata = (value as Record)[PROTOBUF_UNKNOWN_FIELDS]; + + if (typeof metadata !== 'object' || metadata === null) { + return EMPTY_UNKNOWN_FIELD_METADATA; + } + + const candidate = metadata as Partial; + + if (!Array.isArray(candidate.fields)) { + return EMPTY_UNKNOWN_FIELD_METADATA; + } + + return { + fields: candidate.fields, + totalOccurrences: candidate.totalOccurrences ?? candidate.fields.length, + omittedOccurrences: candidate.omittedOccurrences ?? 0, + omittedByteLength: candidate.omittedByteLength ?? 0, + }; +} diff --git a/packages/proton/src/schema/message.ts b/packages/proton/src/schema/message.ts new file mode 100644 index 00000000..ff30b3a9 --- /dev/null +++ b/packages/proton/src/schema/message.ts @@ -0,0 +1,143 @@ +import type ts from 'typescript'; +import { fail } from '../source/context.js'; +import { + PRIMITIVE_TYPE_MAP, + WireType, + type MessageRegistry, + type ProtobufField, +} from '../codegen/model.js'; +import type { TypeValue } from './types.js'; + +export class MessageBuilder { + readonly registry: MessageRegistry = new Map(); + private readonly messageNames = new Map(); + private readonly nameOwners = new Map(); + + build(type: TypeValue, node: ts.Node): string { + if (type.dynamic) { + fail( + node, + `Cannot statically resolve protobuf type ${type.name}. Supply concrete generic arguments at its call site.`, + ); + } + + if (type.kind !== 'object' || !type.fields) { + fail(node, `Expected a protobuf message, received ${type.name}.`); + } + + const cached = this.messageNames.get(type.key); + + if (cached) { + return cached; + } + + let name = type.name.replace(/[^\p{ID_Continue}$]/gu, '_'); + + if (!/^[\p{ID_Start}_$]/u.test(name)) { + name = '_' + name; + } + + if (this.nameOwners.has(name) && this.nameOwners.get(name) !== type.key) { + let hash = 2166136261; + + for (const char of type.key) { + hash = Math.imul(hash ^ char.charCodeAt(0), 16777619); + } + + name += '_' + (hash >>> 0).toString(36); + } + + this.nameOwners.set(name, type.key); + this.messageNames.set(type.key, name); + const fields: ProtobufField[] = []; + this.registry.set(name, { name, fields }); + const numbers = new Set(); + + for (const [fieldName, property] of type.fields) { + let marker = property.type; + let optional = property.optional; + + if (marker.kind === 'union') { + optional ||= marker.values!.some((item) => item.kind === 'null'); + const members = marker.values!.filter((item) => item.kind !== 'null'); + + if (members.length !== 1) { + fail(property.node, `Ambiguous protobuf union on field ${fieldName}.`); + } + + marker = members[0]; + } + + if (marker.kind !== 'marker') { + fail( + property.node, + `Field ${fieldName} must use pb, pb_optional or pb_repeated.`, + ); + } + + const number = marker.fieldNumber!; + + if ( + !Number.isInteger(number) || + number < 1 || + number > 536870911 || + (number >= 19000 && number <= 19999) + ) { + fail(property.node, `Invalid or reserved protobuf field number ${number}.`); + } + + if (numbers.has(number)) { + fail(property.node, `Duplicate protobuf field number ${number}.`); + } + + numbers.add(number); + let payload = marker.values![0]; + + if (payload.kind === 'marker') { + payload = payload.values![0]; + } + + if (payload.kind === 'union') { + optional ||= payload.values!.some((item) => item.kind === 'null'); + const members = payload.values!.filter((item) => item.kind !== 'null'); + + if (members.length !== 1) { + fail(property.node, `Ambiguous protobuf union on field ${fieldName}.`); + } + + payload = members[0]; + } + + const repeated = marker.repeated || payload.kind === 'array'; + + if (payload.kind === 'array') { + payload = payload.values![0]; + } + + const isMessage = payload.kind === 'object'; + const typeName = isMessage ? this.build(payload, property.node) : payload.name; + const primitive = PRIMITIVE_TYPE_MAP[typeName]; + + if (!isMessage && !primitive) { + fail( + property.node, + `Unsupported protobuf field type ${typeName}. Use an explicit protobuf scalar type.`, + ); + } + + fields.push({ + name: fieldName, + fieldNumber: number, + typeName, + wireType: isMessage ? WireType.LengthDelim : primitive.wireType, + isMessage, + isRepeated: !!repeated, + isOptional: optional, + explicitPresence: marker.explicitPresence, + }); + } + + fields.sort((a, b) => a.fieldNumber - b.fieldNumber); + return name; + } +} diff --git a/packages/proton/src/schema/objects.ts b/packages/proton/src/schema/objects.ts new file mode 100644 index 00000000..ca7c1e03 --- /dev/null +++ b/packages/proton/src/schema/objects.ts @@ -0,0 +1,249 @@ +import ts from 'typescript'; +import { fail, type DeclarationRef } from '../source/context.js'; +import type { SchemaResolver } from './resolver.js'; +import { value, type TypeEnvironment, type TypeValue } from './types.js'; + +export class ObjectTypes { + private readonly types = new Map(); + private readonly aliases = new Set(); + private readonly concrete = new WeakMap(); + private readonly bases = new Set(); + + constructor(private readonly resolver: SchemaResolver) {} + + declaration( + ref: DeclarationRef, + args: readonly ts.TypeNode[], + caller: ts.SourceFile, + env: TypeEnvironment, + origin: ts.TypeNode, + heritage = false, + ): TypeValue { + const node = ref.node; + + if ( + !ts.isInterfaceDeclaration(node) && + !ts.isTypeAliasDeclaration(node) && + !ts.isClassDeclaration(node) + ) { + fail(origin, 'Expected an interface, type alias or class schema.'); + } + + const concrete = !node.typeParameters?.length && ts.isSourceFile(node.parent); + const previous = concrete && this.concrete.get(node); + + if (previous && heritage && this.bases.has(previous.key)) { + fail(origin, 'Circular schema inheritance.'); + } + + if (previous) { + return previous; + } + + const local = this.resolver.arguments(node.typeParameters, args, caller, env, node); + + for (let scope = node.parent; scope; scope = scope.parent) { + if (!ts.isFunctionLike(scope) && !ts.isClassDeclaration(scope)) { + continue; + } + + for (const parameter of scope.typeParameters ?? []) { + const name = parameter.name.text; + + if (!local.has(name)) { + local.set(name, env.get(name) ?? this.resolver.parameter(name, scope)); + } + } + } + + const parameters = [...local.values()]; + const key = `${ref.source.fileName}:${node.pos}<${parameters.map((type) => type.key).join(',')}>`; + + if (heritage && this.bases.has(key)) { + fail(origin, 'Circular schema inheritance.'); + } + + if (heritage && this.bases.size >= 128) { + fail(origin, 'Schema inheritance exceeds 128 levels.'); + } + + const cached = this.types.get(key); + + if (cached) { + return cached; + } + + if (ts.isTypeAliasDeclaration(node)) { + if (ts.isTypeLiteralNode(node.type)) { + const result = this.object( + node.name.text + parameters.map((type) => '__' + type.name).join(''), + key, + ); + result.origin = { node: origin, source: caller, env: new Map(env) }; + + if (parameters.length) { + result.application = { declaration: node, arguments: parameters }; + } + + this.types.set(key, result); + + if (concrete) { + this.concrete.set(node, result); + } + + return this.members(node.type.members, result, ref.source, local); + } + + if (this.aliases.has(key)) { + fail(node, 'Circular type alias.'); + } + + this.aliases.add(key); + + try { + const result = this.resolver.type(node.type, ref.source, local); + this.types.set(key, result); + + if (concrete) { + this.concrete.set(node, result); + } + + return result; + } finally { + this.aliases.delete(key); + } + } + + const name = + (node.name?.text ?? 'Default') + parameters.map((type) => '__' + type.name).join(''); + const result = this.object(name, key); + result.dynamic = parameters.some((type) => type.dynamic); + + if (parameters.length) { + result.application = { declaration: node, arguments: parameters }; + } + + result.origin = { node: origin, source: caller, env: new Map(env) }; + this.types.set(key, result); + + if (concrete) { + this.concrete.set(node, result); + } + + this.bases.add(key); + + try { + for (const clause of node.heritageClauses ?? []) { + if (clause.token !== ts.SyntaxKind.ExtendsKeyword) { + continue; + } + + for (const base of clause.types) { + const declaration = this.resolver.context.reference( + base.expression, + ref.source, + true, + ); + + if (!declaration) { + fail(base, 'Unresolved base schema.'); + } + + this.merge( + result, + this.declaration( + declaration, + base.typeArguments ?? [], + ref.source, + local, + origin, + true, + ), + base, + ); + } + } + } finally { + this.bases.delete(key); + } + + return this.members(node.members, result, ref.source, local); + } + + members( + members: ts.NodeArray, + result: TypeValue, + source: ts.SourceFile, + env: TypeEnvironment, + ): TypeValue { + const fields = members.flatMap( + (member) => + ts.isConstructorDeclaration(member) + ? member.parameters.filter((parameter) => + parameter.modifiers?.some((modifier) => + [ + ts.SyntaxKind.PublicKeyword, + ts.SyntaxKind.PrivateKeyword, + ts.SyntaxKind.ProtectedKeyword, + ts.SyntaxKind.ReadonlyKeyword, + ].includes(modifier.kind), + ), + ) + : [member], + ); + + for (const member of fields) { + if ( + !ts.isPropertySignature(member) && + !ts.isPropertyDeclaration(member) && + !ts.isParameter(member) + ) { + continue; + } + + if ( + member.modifiers?.some((modifier) => modifier.kind === ts.SyntaxKind.StaticKeyword) + ) { + continue; + } + + if (!member.type || !member.name || ts.isComputedPropertyName(member.name)) { + fail(member, 'Schema fields require static names and explicit field markers.'); + } + + const name = + ts.isIdentifier(member.name) || + ts.isStringLiteral(member.name) || + ts.isNumericLiteral(member.name) + ? member.name.text + : fail(member, 'Unsupported field name.'); + const type = this.resolver.type(member.type, source, env); + result.fields!.set(name, { type, optional: !!member.questionToken, node: member }); + result.dynamic ||= type.dynamic; + } + + return result; + } + + merge(target: TypeValue, source: TypeValue, node: ts.Node): void { + if (!source.fields) { + fail(node, 'Schema intersections and bases must be object types.'); + } + + for (const [name, property] of source.fields) { + const existing = target.fields!.get(name); + + if (existing && existing.type.key !== property.type.key) { + fail(node, `Conflicting inherited field ${name}.`); + } + + target.fields!.set(name, property); + } + + target.dynamic ||= source.dynamic; + } + + object(name: string, key: string): TypeValue { + return { ...value('object', name, key), fields: new Map() }; + } +} diff --git a/packages/proton/src/schema/operators.ts b/packages/proton/src/schema/operators.ts new file mode 100644 index 00000000..240ffe2e --- /dev/null +++ b/packages/proton/src/schema/operators.ts @@ -0,0 +1,246 @@ +import ts from 'typescript'; +import { fail } from '../source/context.js'; +import type { SchemaResolver } from './resolver.js'; +import { assignable } from './relations.js'; +import { value, type TypeEnvironment, type TypeValue } from './types.js'; + +const utilities = new Set([ + 'Promise', + 'Awaited', + 'ReturnType', + 'Parameters', + 'InstanceType', + 'ConstructorParameters', + 'Extract', + 'Exclude', + 'Uppercase', + 'Lowercase', + 'Capitalize', + 'Uncapitalize', +]); + +function container(kind: TypeValue['kind'], values: TypeValue[]): TypeValue { + return { + kind, + values, + key: `${kind}<${values.map((type) => type.key)}>`, + name: kind, + dynamic: values.some((type) => type.dynamic), + }; +} + +export function resolveOperator( + node: ts.TypeNode, + source: ts.SourceFile, + env: TypeEnvironment, + resolver: SchemaResolver, +): TypeValue | undefined { + if ( + ts.isTypeReferenceNode(node) && + (!ts.isIdentifier(node.typeName) || !utilities.has(node.typeName.text)) + ) { + return; + } + + const resolve = (type: ts.TypeNode) => resolver.type(type, type.getSourceFile(), env); + + if (ts.isInferTypeNode(node)) { + return value('inference', node.typeParameter.name.text); + } + + if (ts.isTupleTypeNode(node)) { + return container( + 'tuple', + node.elements.map((type) => resolve(ts.isNamedTupleMember(type) ? type.type : type)), + ); + } + + if (ts.isOptionalTypeNode(node)) { + return container('union', [resolve(node.type), value('null', 'undefined')]); + } + + if (ts.isRestTypeNode(node)) { + return resolve(node.type); + } + + if (ts.isFunctionTypeNode(node) || ts.isConstructorTypeNode(node)) { + const local = new Map(env); + + for (const param of node.typeParameters ?? []) { + local.set(param.name.text, resolver.parameter(param.name.text, node)); + } + + const parameters = node.parameters.filter( + (param) => !ts.isIdentifier(param.name) || param.name.text !== 'this', + ); + return container(ts.isFunctionTypeNode(node) ? 'function' : 'constructor', [ + container( + 'tuple', + parameters.map((param) => + param.type + ? resolver.type(param.type, source, local) + : value('primitive', 'unknown'), + ), + ), + resolver.type(node.type, source, local), + ]); + } + + if (ts.isTypeQueryNode(node)) { + const ref = ts.isIdentifier(node.exprName) + ? resolver.context.lookup(node.exprName.text, node.exprName, source) + : resolver.context.typeName(node.exprName, source); + const declaration = ref?.node; + + if (declaration && (ts.isVariableDeclaration(declaration) || ts.isParameter(declaration))) { + if (declaration.type) { + return resolve(declaration.type); + } + + const initializer = declaration.initializer; + + if ( + initializer && + (ts.isAsExpression(initializer) || ts.isSatisfiesExpression(initializer)) + ) { + return resolve(initializer.type); + } + } + + if (declaration && ts.isFunctionDeclaration(declaration) && declaration.type) { + return container('function', [ + container( + 'tuple', + declaration.parameters.map((param) => + param.type ? resolve(param.type) : value('primitive', 'unknown'), + ), + ), + resolve(declaration.type), + ]); + } + + fail( + node, + 'Type queries used in schemas require an explicit variable or function return annotation.', + ); + } + + if (ts.isTemplateLiteralTypeNode(node)) { + let strings = [node.head.text]; + + for (const span of node.templateSpans) { + const type = resolve(span.type); + + if (type.dynamic) { + return resolver.defer(node, source, env); + } + + const options = type.kind === 'union' ? type.values! : [type]; + + if (options.some((type) => type.kind !== 'literal')) { + fail(node, 'Template schema keys require literal types.'); + } + + strings = strings.flatMap((prefix) => + options.map((type) => prefix + type.name + span.literal.text), + ); + + if (strings.length > 128) { + fail(node, 'Template type expansion exceeds 128 keys.'); + } + } + + const literals = strings.map((text) => value('literal', text, JSON.stringify(text))); + return literals.length === 1 ? literals[0] : container('union', literals); + } + + if (!ts.isTypeReferenceNode(node) || !ts.isIdentifier(node.typeName)) { + return; + } + + const name = node.typeName.text; + + if (!utilities.has(name) || resolver.context.typeName(node.typeName, source)) { + return; + } + + const args = node.typeArguments; + + if (!args?.length) { + fail(node, `${name} requires a type argument.`); + } + + const operand = resolve(args[0]); + + if (name === 'Promise') { + return container('promise', [operand]); + } + + if (operand.dynamic) { + return resolver.defer(node, source, env); + } + + if (name === 'Awaited') { + const unwrap = (type: TypeValue): TypeValue => + type.kind === 'promise' + ? unwrap(type.values![0]) + : type.kind === 'union' + ? container('union', type.values!.map(unwrap)) + : type; + return unwrap(operand); + } + + if (['ReturnType', 'Parameters', 'InstanceType', 'ConstructorParameters'].includes(name)) { + const expected = + name === 'InstanceType' || name === 'ConstructorParameters' + ? 'constructor' + : 'function'; + + if (operand.kind !== expected) { + fail(node, `${name} requires a ${expected} type.`); + } + + return operand.values![name.endsWith('Parameters') ? 0 : 1]; + } + + if (name === 'Extract' || name === 'Exclude') { + if (!args[1]) { + fail(node, `${name} requires two type arguments.`); + } + + const constraint = resolve(args[1]); + + if (constraint.dynamic) { + return resolver.defer(node, source, env); + } + + const selected = (operand.kind === 'union' ? operand.values! : [operand]).filter( + (type) => assignable(type, constraint) === (name === 'Extract'), + ); + return selected.length === 0 + ? value('primitive', 'never') + : selected.length === 1 + ? selected[0] + : container('union', selected); + } + + const transform = (type: TypeValue): TypeValue => { + if (type.kind !== 'literal' || !/^["']/.test(type.key)) { + fail(node, `${name} requires literal string keys.`); + } + + const text = + name === 'Uppercase' + ? type.name.toUpperCase() + : name === 'Lowercase' + ? type.name.toLowerCase() + : (name === 'Capitalize' + ? (type.name[0] ?? '').toUpperCase() + : (type.name[0] ?? '').toLowerCase()) + type.name.slice(1); + return value('literal', text, JSON.stringify(text)); + }; + + return operand.kind === 'union' + ? container('union', operand.values!.map(transform)) + : transform(operand); +} diff --git a/packages/proton/src/schema/relations.ts b/packages/proton/src/schema/relations.ts new file mode 100644 index 00000000..faaeafdf --- /dev/null +++ b/packages/proton/src/schema/relations.ts @@ -0,0 +1,137 @@ +import type { TypeValue } from './types.js'; + +export function assignable( + source: TypeValue, + target: TypeValue, + seen = new Set(), +): boolean { + if ( + source.key === target.key || + target.name === 'unknown' || + target.name === 'any' || + source.name === 'never' + ) { + return true; + } + + if (target.name === 'object') { + return ( + !!source.fields || + ['array', 'tuple', 'function', 'constructor', 'promise'].includes(source.kind) + ); + } + + const key = `${source.key}:${target.key}`; + + if (seen.has(key)) { + return true; + } + + seen.add(key); + + if (source.kind === 'marker') { + return assignable(source.values![0], target, seen); + } + + if (target.kind === 'marker') { + return assignable(source, target.values![0], seen); + } + + if (source.kind === 'union') { + return source.values!.every((type) => assignable(type, target, new Set(seen))); + } + + if (target.kind === 'union') { + return target.values!.some((type) => assignable(source, type, new Set(seen))); + } + + if (source.kind === target.kind && source.values && target.values) { + return ( + source.values.length === target.values.length && + source.values.every((type, index) => assignable(type, target.values![index], seen)) + ); + } + + if (source.fields && target.fields) { + return [...target.fields].every(([name, field]) => { + const actual = source.fields!.get(name); + return actual + ? (field.optional || !actual.optional) && assignable(actual.type, field.type, seen) + : field.optional; + }); + } + + if (target.kind === 'primitive' && source.kind === 'literal') { + return target.name === 'string' + ? /^["']/.test(source.key) + : target.name === 'number' + ? !Number.isNaN(Number(source.name)) + : target.name === 'bool' && /^(true|false)$/.test(source.name); + } + + if (target.name === 'number') { + return /^(?:u?int_32|sint_32|s?fixed_32|float|double)$/.test(source.name); + } + + if (target.name === 'bigint') { + return /^(?:u?int_64|sint_64|s?fixed_64)$/.test(source.name); + } + + return false; +} + +export function matchInferred( + source: TypeValue, + pattern: TypeValue, + inferred: Map, + seen = new Set(), +): boolean { + if (pattern.kind === 'inference') { + const previous = inferred.get(pattern.name); + + if (previous && previous.key !== source.key) { + return false; + } + + inferred.set(pattern.name, source); + return true; + } + + const key = `${source.key}:${pattern.key}`; + + if (seen.has(key)) { + return true; + } + + seen.add(key); + + if (source.kind === 'function' && pattern.kind === 'function') { + const args = pattern.values![0].values!; + const variadicAny = + args.length === 1 && args[0].kind === 'array' && args[0].values![0].name === 'any'; + return ( + (variadicAny || matchInferred(source.values![0], pattern.values![0], inferred, seen)) && + matchInferred(source.values![1], pattern.values![1], inferred, seen) + ); + } + + if (source.fields && pattern.fields) { + return [...pattern.fields].every(([name, property]) => { + const actual = source.fields!.get(name); + return actual + ? matchInferred(actual.type, property.type, inferred, seen) + : property.optional; + }); + } + + if (source.kind === pattern.kind && source.values && pattern.values) { + return ( + source.values.length === pattern.values.length && + source.values.every((type, index) => + matchInferred(type, pattern.values![index], inferred, seen), + ) + ); + } + + return assignable(source, pattern); +} diff --git a/packages/proton/src/schema/resolver.ts b/packages/proton/src/schema/resolver.ts new file mode 100644 index 00000000..0e447a33 --- /dev/null +++ b/packages/proton/src/schema/resolver.ts @@ -0,0 +1,600 @@ +import { packageName } from '../package.js'; +import ts from 'typescript'; +import { SourceContext, fail, runtimeImportName } from '../source/context.js'; +import { PRIMITIVE_TYPE_MAP } from '../codegen/model.js'; + +import { value, type TypeEnvironment, type TypeValue } from './types.js'; +import { MessageBuilder } from './message.js'; +import { matchInferred } from './relations.js'; +import { resolveOperator } from './operators.js'; +import { ObjectTypes } from './objects.js'; + +const primitiveNames = new Set(Object.keys(PRIMITIVE_TYPE_MAP)); + +/** Lazily resolves only types reached by codec calls; no project-wide type checker. */ +export class SchemaResolver { + private readonly messages = new MessageBuilder(); + readonly registry = this.messages.registry; + private readonly objects = new ObjectTypes(this); + private depth = 0; + private readonly resolvedLazy = new WeakMap(); + + constructor(readonly context: SourceContext) {} + + parameter(name: string, owner: ts.Node): TypeValue { + return value('parameter', name, `${owner.getSourceFile().fileName}:${owner.pos}:${name}`); + } + + substitute(type: TypeValue, bindings: Map): TypeValue { + if (type.kind === 'lazy') { + const { node, source, env } = type.origin!; + return this.lazy( + node, + source, + new Map([...env].map(([name, val]) => [name, this.substitute(val, bindings)])), + ); + } + + if (!type.dynamic) { + return type; + } + + if (type.kind === 'parameter') { + return bindings.get(type.key) ?? type; + } + + if (type.origin) { + const { node, source, env } = type.origin; + return this.type( + node, + source, + new Map([...env].map(([name, val]) => [name, this.substitute(val, bindings)])), + ); + } + + return type; + } + + type( + node: ts.TypeNode, + source = node.getSourceFile(), + env: TypeEnvironment = new Map(), + ): TypeValue { + if (++this.depth > 128) { + this.depth--; + return fail( + node, + 'Type expansion exceeds 128 levels (possibly an expanding recursive generic).', + ); + } + + try { + const result = this.resolve(node, source, env); + + if (result.dynamic && result.kind !== 'parameter' && !result.origin) { + result.origin = { node, source, env: new Map(env) }; + } + + return result; + } finally { + this.depth--; + } + } + + arguments( + params: readonly ts.TypeParameterDeclaration[] | undefined, + args: readonly ts.TypeNode[] | undefined, + source: ts.SourceFile, + outer: TypeEnvironment, + declaration: ts.Node, + lazy = false, + ): TypeEnvironment { + const result = new Map(); + + if ((args?.length ?? 0) > (params?.length ?? 0)) { + fail(declaration, 'Too many generic type arguments.'); + } + + for (let i = 0; i < (params?.length ?? 0); i++) { + const param = params![i]; + const arg = args?.[i]; + const resolved = arg + ? lazy + ? this.lazy(arg, source, outer) + : this.type(arg, source, outer) + : param.default + ? lazy + ? this.lazy(param.default, declaration.getSourceFile(), result) + : this.type(param.default, declaration.getSourceFile(), result) + : undefined; + + if (!resolved) { + fail(declaration, `Missing concrete type argument for ${param.name.text}.`); + } + + result.set(param.name.text, resolved); + } + + return result; + } + + message(type: TypeValue, node: ts.Node): string { + return this.messages.build(this.materialize(type), node); + } + + /** Receiver discovery carries application types without expanding them until + * a protobuf requirement actually consumes the binding. */ + lazy(node: ts.TypeNode, source: ts.SourceFile, env: TypeEnvironment): TypeValue { + if (ts.isTypeReferenceNode(node) && ts.isIdentifier(node.typeName)) { + const bound = env.get(node.typeName.text); + + if (bound) { + return bound; + } + + if (primitiveNames.has(node.typeName.text)) { + return this.type(node, source, env); + } + } + + const mentionsParameter = (child: ts.Node): boolean => + (ts.isIdentifier(child) && env.get(child.text)?.dynamic === true) || + (ts.forEachChild(child, mentionsParameter) ?? false); + + return { + ...value( + 'lazy', + node.getText(source), + `lazy:${source.fileName}:${node.getText(source)}<${[...env.values()].map((v) => v.key)}>`, + ), + dynamic: mentionsParameter(node), + origin: { node, source, env: new Map(env) }, + }; + } + + private materialize(type: TypeValue): TypeValue { + if (type.kind !== 'lazy') { + return type; + } + + const cached = this.resolvedLazy.get(type); + + if (cached) { + return cached; + } + + const { node, source, env } = type.origin!; + const resolved = this.type(node, source, env); + this.resolvedLazy.set(type, resolved); + return resolved; + } + + private resolve(node: ts.TypeNode, source: ts.SourceFile, env: TypeEnvironment): TypeValue { + if (ts.isTypeReferenceNode(node)) { + return this.reference(node, source, env); + } + + const operator = resolveOperator(node, source, env, this); + + if (operator) { + return operator; + } + + if (ts.isParenthesizedTypeNode(node)) { + return this.type(node.type, source, env); + } + + if (node.kind === ts.SyntaxKind.StringKeyword) { + return value('primitive', 'string'); + } + + if (node.kind === ts.SyntaxKind.BooleanKeyword) { + return value('primitive', 'bool'); + } + + if ( + [ + ts.SyntaxKind.ObjectKeyword, + ts.SyntaxKind.NumberKeyword, + ts.SyntaxKind.BigIntKeyword, + ts.SyntaxKind.AnyKeyword, + ts.SyntaxKind.UnknownKeyword, + ts.SyntaxKind.NeverKeyword, + ].includes(node.kind) + ) { + return value('primitive', node.getText(source)); + } + + if ( + node.kind === ts.SyntaxKind.UndefinedKeyword || + node.kind === ts.SyntaxKind.VoidKeyword + ) { + return value('null', 'undefined'); + } + + if (ts.isLiteralTypeNode(node)) { + if (node.literal.kind === ts.SyntaxKind.NullKeyword) { + return value('null', 'null'); + } + + if (ts.isStringLiteral(node.literal)) { + return value('literal', node.literal.text, JSON.stringify(node.literal.text)); + } + + return value('literal', node.literal.getText(source)); + } + + if (ts.isArrayTypeNode(node)) { + return this.container( + 'array', + [this.type(node.elementType, source, env)], + node, + source, + env, + ); + } + + if (ts.isUnionTypeNode(node)) { + const members = [ + ...new Map( + node.types + .flatMap((item) => { + const type = this.type(item, source, env); + return type.kind === 'union' ? type.values! : [type]; + }) + .map((item) => [item.key, item]), + ).values(), + ]; + return members.length === 1 + ? members[0] + : this.container('union', members, node, source, env); + } + + if (ts.isIntersectionTypeNode(node)) { + const members = node.types.map((item) => this.type(item, source, env)); + + if (members.some((item) => item.dynamic && item.kind !== 'object')) { + return this.defer(node, source, env); + } + + const result = this.objects.object( + 'Intersection', + members.map((item) => item.key).join('&'), + ); + + for (const member of members) { + this.objects.merge(result, member, node); + } + + return result; + } + + if (ts.isTypeLiteralNode(node)) { + return this.objects.members( + node.members, + this.objects.object( + 'Anonymous', + `${source.fileName}:${node.pos}<${[...env.values()].map((type) => type.key)}>`, + ), + source, + env, + ); + } + + if (ts.isTypeOperatorNode(node)) { + const operand = this.type(node.type, source, env); + + if (node.operator === ts.SyntaxKind.ReadonlyKeyword) { + return operand; + } + + if (operand.dynamic && !operand.fields) { + return this.defer(node, source, env); + } + + if (node.operator === ts.SyntaxKind.KeyOfKeyword && operand.fields) { + return this.container( + 'union', + [...operand.fields.keys()].map((key) => + value('literal', key, JSON.stringify(key)), + ), + node, + source, + env, + ); + } + } + + if (ts.isIndexedAccessTypeNode(node)) { + const object = this.type(node.objectType, source, env); + const index = this.type(node.indexType, source, env); + + if (object.dynamic || index.dynamic) { + return this.defer(node, source, env); + } + + const keys = index.kind === 'union' ? index.values! : [index]; + const values = keys.map( + (key) => + object.fields?.get(key.name)?.type ?? + (object.kind === 'tuple' + ? object.values?.[Number(key.name)] + : object.kind === 'array' + ? object.values?.[0] + : undefined) ?? + fail(node, `Unknown indexed property ${key.name}.`), + ); + return values.length === 1 + ? values[0] + : this.container('union', values, node, source, env); + } + + if (ts.isConditionalTypeNode(node)) { + const check = this.type(node.checkType, source, env); + const constraint = this.type(node.extendsType, source, env); + + if (check.dynamic || constraint.dynamic) { + return this.defer(node, source, env); + } + + if ( + check.kind === 'union' && + ts.isTypeReferenceNode(node.checkType) && + ts.isIdentifier(node.checkType.typeName) && + env.has(node.checkType.typeName.text) + ) { + const results = check.values!.map((type) => + this.type( + node, + source, + new Map(env).set( + (node.checkType as ts.TypeReferenceNode).typeName.getText(source), + type, + ), + ), + ); + const distinct = [...new Map(results.map((type) => [type.key, type])).values()]; + return distinct.length === 1 + ? distinct[0] + : this.container('union', distinct, node, source, env); + } + + const inferred = new Map(); + const matches = matchInferred(check, constraint, inferred); + return this.type( + matches ? node.trueType : node.falseType, + source, + new Map([...env, ...inferred]), + ); + } + + if (ts.isMappedTypeNode(node) && node.type && node.typeParameter.constraint) { + const keys = this.type(node.typeParameter.constraint, source, env); + + if (keys.dynamic) { + return this.defer(node, source, env); + } + + const result = this.objects.object( + 'Mapped', + `${source.fileName}:${node.pos}<${[...env.values()].map((v) => v.key)}>`, + ); + + for (const key of keys.kind === 'union' ? keys.values! : [keys]) { + const local = new Map(env).set(node.typeParameter.name.text, key); + const remapped = node.nameType ? this.type(node.nameType, source, local) : key; + + if (remapped.name === 'never') { + continue; + } + + const inherited = ts.isIndexedAccessTypeNode(node.type) + ? (this.type(node.type.objectType, source, local).fields?.get(key.name) + ?.optional ?? false) + : false; + const optional = node.questionToken + ? node.questionToken.kind !== ts.SyntaxKind.MinusToken + : inherited; + + for (const name of remapped.kind === 'union' ? remapped.values! : [remapped]) { + result.fields!.set(name.name, { + type: this.type(node.type, source, local), + optional, + node, + }); + } + } + + return result; + } + + fail(node, `Unsupported or ambiguous type expression ${node.getText(source)}.`); + } + + private reference( + node: ts.TypeReferenceNode, + source: ts.SourceFile, + env: TypeEnvironment, + ): TypeValue { + const simple = ts.isIdentifier(node.typeName) ? node.typeName.text : undefined; + + if (simple && env.has(simple)) { + return this.materialize(env.get(simple)!); + } + + const operator = resolveOperator(node, source, env, this); + + if (operator) { + return operator; + } + + const ref = this.context.typeName(node.typeName, source); + let name = simple + ? (ref && runtimeImportName(ref.node)) || simple + : node.typeName.getText(source); + + if (ts.isQualifiedName(node.typeName) && ts.isIdentifier(node.typeName.left)) { + const namespace = this.context.lookup(node.typeName.left.text, node, source, true); + + if ( + namespace && + ts.isNamespaceImport(namespace.node) && + (namespace.node.parent.parent.moduleSpecifier as ts.StringLiteral).text === + packageName + ) { + name = node.typeName.right.text; + } + } + + const args = node.typeArguments ?? []; + + if ( + ref && + (ts.isImportSpecifier(ref.node) || ts.isImportClause(ref.node)) && + !runtimeImportName(ref.node) + ) { + fail(node, `Unresolved imported type ${name}.`); + } + + if ( + ref && + !runtimeImportName(ref.node) && + !ts.isImportSpecifier(ref.node) && + !ts.isNamespaceImport(ref.node) + ) { + return this.objects.declaration(ref, args, source, env, node); + } + + if (primitiveNames.has(name)) { + return value('primitive', name); + } + + if (name === 'pb' || name === 'pb_repeated' || name === 'pb_optional') { + if (args.length !== 2) { + fail(node, `${name} requires a field number and a field type.`); + } + + const fieldNumber = this.type(args[0], source, env); + const payload = this.type(args[1], source, env); + const marker = this.container('marker', [payload], node, source, env); + return { + ...marker, + key: `${name}:${marker.key}:${fieldNumber.key}`, + dynamic: fieldNumber.dynamic || marker.dynamic, + fieldNumber: Number(fieldNumber.name), + repeated: name === 'pb_repeated', + explicitPresence: name === 'pb_optional', + }; + } + + if (name === 'Array' || name === 'ReadonlyArray') { + return this.container('array', [this.type(args[0], source, env)], node, source, env); + } + + if (['Partial', 'Required', 'Readonly', 'Pick', 'Omit', 'NonNullable'].includes(name)) { + const operand = this.type(args[0], source, env); + + if (operand.dynamic) { + return this.defer(node, source, env); + } + + if (name === 'Readonly') { + return operand; + } + + if (name === 'NonNullable') { + const members = + operand.kind === 'union' + ? operand.values!.filter((item) => item.kind !== 'null') + : [operand]; + return members.length === 1 + ? members[0] + : this.container('union', members, node, source, env); + } + + if (!operand.fields) { + fail(node, `${name} requires an object type.`); + } + + const keys = args[1] ? this.type(args[1], source, env) : undefined; + const selected = new Set( + keys ? (keys.kind === 'union' ? keys.values! : [keys]).map((key) => key.name) : [], + ); + + if (name === 'Pick') { + for (const key of selected) { + if (!operand.fields.has(key)) { + fail(node, `Unknown Pick property ${key}.`); + } + } + } + + const result = this.objects.object( + `${name}__${operand.name}`, + `${name}<${operand.key},${keys?.key ?? ''}>`, + ); + + for (const [key, property] of operand.fields) { + if ( + (name === 'Pick' && !selected.has(key)) || + (name === 'Omit' && selected.has(key)) + ) { + continue; + } + + result.fields!.set(key, { + ...property, + optional: name === 'Partial' || (name !== 'Required' && property.optional), + }); + } + + return result; + } + + if (ref) { + return this.objects.declaration(ref, args, source, env, node); + } + + fail(node, `Unresolved type ${name}.`); + } + + defer(node: ts.TypeNode, source: ts.SourceFile, env: TypeEnvironment): TypeValue { + return { + ...value( + 'deferred', + node.getText(source), + `${source.fileName}:${node.pos}<${[...env.values()].map((v) => v.key)}>`, + ), + dynamic: true, + origin: { node, source, env: new Map(env) }, + }; + } + private container( + kind: TypeValue['kind'], + values: TypeValue[], + node: ts.TypeNode, + source: ts.SourceFile, + env: TypeEnvironment, + ): TypeValue { + if (kind === 'union') { + values = values.filter((type) => type.name !== 'never'); + + if (!values.length) { + return value('primitive', 'never'); + } + + if (values.length === 1) { + return values[0]; + } + } + + return { + kind, + name: values.map((type) => type.name).join('__'), + key: `${kind}<${JSON.stringify(values.map((type) => type.key))}>`, + values, + dynamic: values.some((type) => type.dynamic), + origin: { node, source, env: new Map(env) }, + }; + } +} diff --git a/packages/proton/src/schema/types.ts b/packages/proton/src/schema/types.ts new file mode 100644 index 00000000..7ecb342e --- /dev/null +++ b/packages/proton/src/schema/types.ts @@ -0,0 +1,38 @@ +import type ts from 'typescript'; + +export interface TypeValue { + kind: + | 'primitive' + | 'literal' + | 'null' + | 'parameter' + | 'object' + | 'marker' + | 'union' + | 'array' + | 'tuple' + | 'function' + | 'constructor' + | 'promise' + | 'inference' + | 'lazy' + | 'deferred'; + key: string; + name: string; + dynamic: boolean; + fields?: Map; + values?: TypeValue[]; + fieldNumber?: number; + repeated?: boolean; + explicitPresence?: boolean; + origin?: { node: ts.TypeNode; source: ts.SourceFile; env: TypeEnvironment }; + application?: { declaration: ts.Declaration; arguments: TypeValue[] }; +} +export type TypeEnvironment = Map; + +export const value = (kind: TypeValue['kind'], name: string, key = name): TypeValue => ({ + kind, + key, + name, + dynamic: kind === 'parameter', +}); diff --git a/packages/proton/src/source/context.ts b/packages/proton/src/source/context.ts new file mode 100644 index 00000000..93647789 --- /dev/null +++ b/packages/proton/src/source/context.ts @@ -0,0 +1,423 @@ +import { packageName } from '../package.js'; +import ts from 'typescript'; +import { readFileSync, statSync } from 'node:fs'; +import { dirname, resolve } from 'node:path'; + +export interface DeclarationRef { + node: ts.Declaration; + source: ts.SourceFile; +} + +export function runtimeImportName(node: ts.Declaration): string | undefined { + const declaration = ts.isImportSpecifier(node) + ? node.parent.parent.parent + : ts.isExportSpecifier(node) + ? node.parent.parent + : undefined; + + if ( + declaration?.moduleSpecifier && + ts.isStringLiteral(declaration.moduleSpecifier) && + declaration.moduleSpecifier.text === packageName + ) { + return ( + (node as ts.ImportSpecifier | ts.ExportSpecifier).propertyName?.text ?? + (node as ts.ImportSpecifier | ts.ExportSpecifier).name.text + ); + } + + return; +} + +const extensions = ['.ts', '.tsx', '.mts', '.cts', '/index.ts', '/index.tsx']; +export const normalizePath = (path: string): string => resolve(path).replace(/\\/g, '/'); + +/** One parse per source revision, shared by schema and generic-call analysis. */ +export class SourceContext { + readonly files = new Map(); + revision = 0; + private readonly modules = new Map(); + private readonly names = new WeakMap>(); + private readonly typeNames = new WeakMap>(); + private readonly options = new Map(); + + clear(): void { + this.files.clear(); + this.modules.clear(); + this.options.clear(); + } + + source(path: string, code?: string): ts.SourceFile { + const key = normalizePath(path); + const cached = this.files.get(key); + + if (cached && (code === undefined || cached.text === code)) { + return cached; + } + + if (cached) { + this.revision++; + } + + const source = ts.createSourceFile( + key, + code ?? readFileSync(key, 'utf8'), + ts.ScriptTarget.Latest, + true, + ); + this.files.set(key, source); + return source; + } + + module(specifier: string, source: ts.SourceFile): ts.SourceFile | undefined { + if (specifier === packageName) { + return; + } + + const key = `${source.fileName}:${specifier}`; + let path = this.modules.get(key); + + if (path === undefined) { + if (specifier.startsWith('.')) { + const base = normalizePath(resolve(dirname(source.fileName), specifier)); + const stem = base.replace(/\.(?:mjs|cjs|js)$/, ''); + path = + [base, ...extensions.map((ext) => stem + ext)].find((candidate) => { + try { + return statSync(candidate).isFile(); + } catch { + return false; + } + }) ?? null; + } else { + const directory = dirname(source.fileName); + let options = this.options.get(directory); + + if (!options) { + const config = ts.findConfigFile(directory, ts.sys.fileExists); + options = config ? this.options.get(config) : undefined; + options ??= config + ? ts.parseJsonConfigFileContent( + ts.readConfigFile(config, ts.sys.readFile).config, + { ...ts.sys, readDirectory: () => [] }, + dirname(config), + ).options + : {}; + + if (config) { + this.options.set(config, options); + } + + this.options.set(directory, options); + } + + path = + ts.resolveModuleName(specifier, source.fileName, options, ts.sys).resolvedModule + ?.resolvedFileName ?? null; + } + + this.modules.set(key, path); + } + + return path ? this.source(path) : undefined; + } + + lookup( + name: string, + location: ts.Node, + source = location.getSourceFile(), + typeOnly = false, + ): DeclarationRef | undefined { + for (let scope: ts.Node | undefined = location; scope; scope = scope.parent) { + if (!typeOnly && ts.isFunctionLike(scope)) { + const parameter = scope.parameters.find( + (param) => ts.isIdentifier(param.name) && param.name.text === name, + ); + + if (parameter) { + return { node: parameter, source }; + } + + for (const param of scope.parameters) { + if (!ts.isObjectBindingPattern(param.name)) { + continue; + } + + const element = param.name.elements.find( + (element) => ts.isIdentifier(element.name) && element.name.text === name, + ); + + if (element) { + return { node: element, source }; + } + } + } + + if (!ts.isSourceFile(scope) && !ts.isBlock(scope) && !ts.isModuleBlock(scope)) { + continue; + } + + const declaration = this.declarations(scope, typeOnly).get(name); + + if (declaration) { + return this.follow(declaration, source, new Set(), typeOnly); + } + } + + const declaration = this.declarations(source, typeOnly).get(name); + return declaration ? this.follow(declaration, source, new Set(), typeOnly) : undefined; + } + + typeName(name: ts.EntityName, source: ts.SourceFile): DeclarationRef | undefined { + return this.reference(name, source, true); + } + + reference( + name: ts.EntityName | ts.Expression, + source: ts.SourceFile, + typeOnly = false, + ): DeclarationRef | undefined { + if (ts.isIdentifier(name)) { + return this.lookup(name.text, name, source, typeOnly); + } + + if (!ts.isQualifiedName(name) && !ts.isPropertyAccessExpression(name)) { + return; + } + + const left = this.reference( + ts.isQualifiedName(name) ? name.left : name.expression, + source, + typeOnly, + ); + const right = ts.isQualifiedName(name) ? name.right : name.name; + + if (!left) { + return; + } + + if (ts.isNamespaceImport(left.node)) { + const declaration = left.node.parent.parent; + const imported = this.module( + (declaration.moduleSpecifier as ts.StringLiteral).text, + left.source, + ); + return imported ? this.exported(right.text, imported, new Set(), typeOnly) : undefined; + } + + if ( + ts.isModuleDeclaration(left.node) && + left.node.body && + ts.isModuleBlock(left.node.body) + ) { + const declaration = this.declarations(left.node.body, typeOnly).get(right.text); + return declaration ? { node: declaration, source: left.source } : undefined; + } + + return; + } + + private declarations( + scope: ts.SourceFile | ts.Block | ts.ModuleBlock, + typeOnly = false, + ): Map { + const cache = typeOnly ? this.typeNames : this.names; + let names = cache.get(scope); + + if (names) { + return names; + } + + names = new Map(); + + for (const statement of scope.statements) { + if (ts.isVariableStatement(statement)) { + if (typeOnly) { + continue; + } + + for (const declaration of statement.declarationList.declarations) { + if (ts.isIdentifier(declaration.name)) { + names.set(declaration.name.text, declaration); + } else if (ts.isObjectBindingPattern(declaration.name)) { + for (const element of declaration.name.elements) { + if (ts.isIdentifier(element.name)) { + names.set(element.name.text, element); + } + } + } + } + } else if (ts.isImportDeclaration(statement)) { + const clause = statement.importClause; + + if (clause?.name) { + names.set(clause.name.text, clause); + } + + const bindings = clause?.namedBindings; + + if (bindings && ts.isNamedImports(bindings)) { + for (const binding of bindings.elements) { + names.set(binding.name.text, binding); + } + } else if (bindings) { + names.set(bindings.name.text, bindings); + } + } else if ( + 'name' in statement && + statement.name && + ts.isIdentifier(statement.name as ts.Node) + ) { + if (typeOnly && ts.isFunctionDeclaration(statement)) { + continue; + } + + if ( + !typeOnly && + (ts.isTypeAliasDeclaration(statement) || ts.isInterfaceDeclaration(statement)) + ) { + continue; + } + + names.set( + (statement.name as ts.Identifier).text, + statement as unknown as ts.Declaration, + ); + } + } + + cache.set(scope, names); + return names; + } + + private follow( + node: ts.Declaration, + source: ts.SourceFile, + seen: Set, + typeOnly = false, + ): DeclarationRef | undefined { + if (seen.has(node)) { + return; + } + + seen.add(node); + + if (ts.isImportSpecifier(node)) { + const declaration = node.parent.parent.parent; + const imported = this.module( + (declaration.moduleSpecifier as ts.StringLiteral).text, + source, + ); + + if (imported) { + return this.exported( + (node.propertyName ?? node.name).text, + imported, + seen, + typeOnly, + ); + } + } else if (ts.isImportClause(node)) { + const imported = this.module( + (node.parent.moduleSpecifier as ts.StringLiteral).text, + source, + ); + + if (imported) { + return this.exported('default', imported, seen, typeOnly); + } + } + + return { node, source }; + } + + exported( + name: string, + source: ts.SourceFile, + seen = new Set(), + typeOnly = false, + ): DeclarationRef | undefined { + const local = this.declarations(source, typeOnly).get(name); + + if (local) { + return this.follow(local, source, seen, typeOnly); + } + + for (const statement of source.statements) { + if (name === 'default') { + if ( + (ts.isClassDeclaration(statement) || + ts.isFunctionDeclaration(statement) || + ts.isInterfaceDeclaration(statement)) && + statement.modifiers?.some( + (modifier) => modifier.kind === ts.SyntaxKind.DefaultKeyword, + ) + ) { + return { node: statement, source }; + } + + if (ts.isExportAssignment(statement) && ts.isIdentifier(statement.expression)) { + return this.lookup( + statement.expression.text, + statement.expression, + source, + typeOnly, + ); + } + } + + if (!ts.isExportDeclaration(statement) || seen.has(statement)) { + continue; + } + + seen.add(statement); + const imported = + statement.moduleSpecifier && ts.isStringLiteral(statement.moduleSpecifier) + ? this.module(statement.moduleSpecifier.text, source) + : source; + + if (!imported) { + if (statement.exportClause && ts.isNamedExports(statement.exportClause)) { + const element = statement.exportClause.elements.find( + (element) => element.name.text === name, + ); + + if (element && runtimeImportName(element)) { + return { node: element, source }; + } + } + + continue; + } + + if (!statement.exportClause) { + const ref = this.exported(name, imported, seen, typeOnly); + + if (ref) { + return ref; + } + } else if (ts.isNamedExports(statement.exportClause)) { + const element = statement.exportClause.elements.find((el) => el.name.text === name); + + if (element) { + return this.exported( + (element.propertyName ?? element.name).text, + imported, + seen, + typeOnly, + ); + } + } + } + + return; + } +} + +export function fail(node: ts.Node, message: string): never { + const source = node.getSourceFile(); + const position = source.getLineAndCharacterOfPosition(node.getStart(source)); + throw new Error( + `[${packageName}] ${source.fileName}:${position.line + 1}:${position.character + 1}: ${message}`, + ); +} diff --git a/packages/proton/src/source/entries.ts b/packages/proton/src/source/entries.ts new file mode 100644 index 00000000..75611bb8 --- /dev/null +++ b/packages/proton/src/source/entries.ts @@ -0,0 +1,43 @@ +import { existsSync, readFileSync } from 'node:fs'; +import { resolve } from 'node:path'; +import type { ResolvedConfig } from 'vite'; + +export function buildEntries(config: ResolvedConfig): string[] { + const input = + config.build.rolldownOptions.input ?? + (config.build.lib && config.build.lib.entry) ?? + 'index.html'; + const files = + typeof input === 'string' ? [input] : Array.isArray(input) ? input : Object.values(input); + return files.flatMap((file) => { + const path = resolve(config.root, file); + + if (!existsSync(path)) { + return []; + } + + if (/\.[cm]?[jt]sx?$/.test(path)) { + return [path]; + } + + if (!path.endsWith('.html')) { + return []; + } + + return [ + ...readFileSync(path, 'utf8').matchAll( + /]*\bsrc\s*=\s*["']([^"']+)["'][^>]*>/gi, + ), + ].flatMap(([, src]) => { + if (/^(?:[a-z]+:)?\/\//i.test(src)) { + return []; + } + + const entry = resolve( + src.startsWith('/') ? config.root : resolve(path, '..'), + src.replace(/^\//, '').split('?')[0], + ); + return /\.[cm]?[jt]sx?$/.test(entry) && existsSync(entry) ? [entry] : []; + }); + }); +} diff --git a/packages/proton/test/__tests__/compatibility.test.ts b/packages/proton/test/__tests__/compatibility.test.ts new file mode 100644 index 00000000..12d21652 --- /dev/null +++ b/packages/proton/test/__tests__/compatibility.test.ts @@ -0,0 +1,242 @@ +import { describe, expect, it } from 'vitest'; +import { run, imports } from '../upstream/compile'; +import { bundle } from '../upstream/project'; +import { schemaCodecs, schemaRegistry } from '../upstream/schema'; +import { generateCode } from '../../src/codegen/generator'; +import { protobuf_getUnknownFields } from '../../src/runtime'; +import { ProtobufCompiler } from '../../src/compiler/compiler'; +import { withProject } from '../upstream/project'; +import { join } from 'node:path'; + +describe('SnowLuma compatibility', () => { + it('leaves generic data unions and nested business types outside codec discovery', () => { + expect( + run(` + type Json = string | Json[]; + interface Field {value:T; metadata:Json;} + type Wrapper = Field & { extra?:Json }; + function identity(value:Field) {return value;} + function generic(field:Field>) {return identity(field);} + function result(ok:boolean, value:T) {if(ok) return {ok:true, value}; return {ok:false, value};} + const field:Field> = {value:{value:'ok', metadata:[]}, metadata:[]}; + export const output = result(true, generic(field)).value.value.value; + `).output, + ).toBe('ok'); + }); + + it('keeps unrelated callback aliases and inferred containers lazy', () => { + expect( + run(` + type Json = string | Json[]; + type Handler = (value:T) => void; + interface Field {value:T; metadata:Json;} + const field:Field = {value:'ok', metadata:[]}; + function wrap(value:Field) {return {get(){return value.value;}};} + const handler:Handler = (value) => {}; + handler('x'); + export const result = wrap(field).get(); + `).result, + ).toBe('ok'); + }); + + it('propagates composite class bindings through generic factories', () => { + expect( + run(` + interface Box { value:pb<1,T>; } + class Codec { encode(value:T) { return protobuf_encode(value); } } + function create() { return new Codec>(); } + export const result = [...create().encode({value:7})]; + `).result, + ).toEqual([8, 7]); + }); + + it('defers unrelated class type arguments but validates codec class schemas', () => { + expect( + run(` + type Json = string | Json[]; + class Field { value(): null { return null; } } + function field() { return new Field(); } + export const result = field().value(); + `).result, + ).toBeNull(); + expect(() => + run(` + class Codec { encode(value:T) {return protobuf_encode(value);} } + new Codec().encode({}); + `), + ).toThrow(/Unresolved type Missing/); + }); + + it('infers matching generic containers without expanding unrelated recursive data', () => { + expect( + run(` + type Json = string | Json[]; + interface Field { value: T; metadata: Json; } + function arrayField(field: Field) { return Object.assign({}, { get: () => field.value }); } + function wrap(field: Field) { return arrayField(field); } + const field: Field = { value:'ok', metadata:[] }; + export const result = wrap(field).get(); + `).result, + ).toBe('ok'); + }); + + it('does not resolve recursive data aliases while looking for class receivers', () => { + expect( + run(` + type Data = { children: T[]; name: string }; + type Element = Data; + type Wrapped = T; + function data(): Wrapped { return { children: [], name: 'ok' }; } + export const result = data().name.toUpperCase(); + `).result, + ).toBe('OK'); + }); + + it('does not resolve ordinary generic return values or data alias members as callbacks', () => { + expect( + run(` + type Id = T; + interface Data { value: string; children: Id[]; } + const data: Id = {value:'ok', children:[]}; + function decode(raw: Uint8Array, callback: () => T): T | null { return callback(); } + const raw: Uint8Array = new Uint8Array(); + const decoded = decode(raw, () => data); + export const result = [decoded.value, data.value]; + `).result, + ).toEqual(['ok', 'ok']); + }); + + it('does not specialize ambient library functions', async () => { + const source = `import { expect } from './external'; + const data: Record = {}; + expect(data).check();`; + await withProject( + { + 'external.d.ts': 'export declare function expect(value: T): { check(): void };', + 'entry.ts': source, + }, + (directory) => { + expect( + new ProtobufCompiler().compile(source, join(directory, 'entry.ts')), + ).toBeNull(); + }, + ); + }); + + it('leaves ordinary calls and data receivers outside schema resolution', () => { + expect( + run(` + interface Options { meta?: Record; } + function options(value: Options): Options { return value; } + const input: Options = { meta: { source: 'test' } }; + const copy = options(input); + function data(flag: boolean) { if (flag) return { value: 7 }; return { value: 8 }; } + function bytes(value: Uint8Array): Uint8Array { return value; } + const raw: Uint8Array = new Uint8Array([1]); + export const result = [copy.meta.source, data(true).value, bytes(raw).length]; + `).result, + ).toEqual(['test', 7, 1]); + }); + + it('keeps TypeScript optionality separate from explicit wire presence', () => { + const result = run(` + interface Msg { + plain?: pb<1, uint_32>; + flag?: pb<2, bool>; + text?: pb<3, string>; + data?: pb<4, bytes>; + big?: pb<5, uint_64>; + forced?: pb_optional<6, uint_32>; + } + export const wire = [...protobuf_encode({ + plain: 0, flag: false, text: '', data: new Uint8Array(), big: 0n, forced: 0, + })]; + export const decoded = protobuf_decode(new Uint8Array(wire)); + `); + expect(result.wire).toEqual([48, 0]); + expect(result.decoded).toEqual({ + plain: null, + flag: null, + text: null, + data: null, + big: null, + forced: 0, + }); + }); + + it('retains aliased markers and presence through exported generic wrappers', async () => { + const result = await bundle({ + 'schema.ts': `import type { pb as P, pb_optional as O, pb_repeated as R, uint_32 } from '@snowluma/proton'; + export interface Box { value?: P<1, T>; } + export interface Msg { plain?: P<1, uint_32>; forced?: O<2, uint_32>; items?: R<3, uint_32>; } + export interface Outer { inner?: P<1, Box>; }`, + 'barrel.ts': `export * from './schema';`, + 'wrapper.ts': `${imports} import type {Outer} from './barrel'; + export function encode(value:Outer) { return protobuf_encode>(value); }`, + 'forward.ts': `import {encode} from './wrapper'; import type {Outer} from './barrel'; + export function forward(value:Outer) { return encode(value); }`, + 'entry.ts': `${imports} import type {Msg} from './barrel'; import {forward} from './forward'; + export const wire = [...forward({inner:{value:{plain:0,forced:0,items:[0,7]}}})];`, + }); + expect(result.wire).toEqual([10, 8, 10, 6, 16, 0, 24, 0, 24, 7]); + }); + + it.each([true, false])('resolves package exports with tsconfig=%s', async (withConfig) => { + const result = await bundle({ + ...(withConfig + ? { + 'tsconfig.json': JSON.stringify({ + compilerOptions: { moduleResolution: 'bundler', module: 'esnext' }, + }), + } + : {}), + 'node_modules/@fake/schemas/package.json': JSON.stringify({ + name: '@fake/schemas', + type: 'module', + exports: { '.': { types: './index.ts', default: './index.ts' } }, + }), + 'node_modules/@fake/schemas/index.ts': `export * from './schema';`, + 'node_modules/@fake/schemas/schema.ts': `export interface Msg { value:pb<1,uint_32>; }`, + 'entry.ts': `${imports} import type {Msg} from '@fake/schemas'; + export const result = protobuf_decode(protobuf_encode({value:42}));`, + }); + expect(result).toEqual({ result: { value: 42 } }); + }); + + const codec = schemaCodecs<{ value: number }>('interface Msg { value:pb<1,uint_32>; }'); + it.each([ + ['unterminated group', [0x13, 8, 7]], + ['mismatched group', [0x13, 0x1c]], + ['unexpected group end', [0x14]], + ['invalid group tag', [0x13, 0]], + ['group payload exceeds frame', [0x13, 0x1a, 4, 0x14]], + ['group recursion limit', [...Array(66).fill(0x13), ...Array(66).fill(0x14)]], + ] as const)('rejects %s', (_name, bytes) => { + expect(() => codec.decode(Uint8Array.from(bytes))).toThrow(/protobuf/); + }); + + it('skips nested groups and retains non-enumerable metadata', () => { + const decoded = codec.decode(Uint8Array.from([0x13, 0x1b, 8, 99, 0x1c, 0x14, 8, 7])); + expect(decoded).toEqual({ value: 7 }); + expect(protobuf_getUnknownFields(decoded)).toEqual([ + { fieldNumber: 2, wireType: 3, count: 1, totalByteLength: 5 }, + ]); + expect(JSON.stringify(decoded)).toBe('{"value":7}'); + expect([...codec.encode(decoded)]).toEqual([8, 7]); + }); + + it.each([ + [NaN, 0], + [0, NaN], + [0.5, 1], + [0, 0.5], + [-1, 1], + [1, 0], + [0, 3], + [0, Infinity], + ])('rejects invalid decoder bounds %s..%s', (offset, end) => { + const generated = generateCode(schemaRegistry('interface Msg { value:pb<1,uint_32>; }')); + const decode = new Function(generated + '\nreturn protobuf_decode_Msg;')(); + expect(() => decode(new Uint8Array([8, 1]), offset, end)).toThrow(/bounds/); + }); +}); diff --git a/packages/proton/test/__tests__/generator.test.ts b/packages/proton/test/__tests__/generator.test.ts new file mode 100644 index 00000000..76fb2876 --- /dev/null +++ b/packages/proton/test/__tests__/generator.test.ts @@ -0,0 +1,342 @@ +import { describe, it, expect } from 'vitest'; +import { schemaRegistry as analyzeSource } from '../upstream/schema'; +import { generateCode } from '../../src/codegen/generator'; +import { protobuf_getUnknownFieldMetadata } from '../../src/runtime'; +import { loadFixture } from '../helpers'; + +/** Analyze fixture → generate → eval → return encode/decode pair */ +function makeRoundTrip(fixtureName: string, msgName: string) { + return makeRoundTripFromSchema(loadFixture(fixtureName), msgName); +} + +function makeRoundTripFromSchema(schema: string, msgName: string) { + const gen = generateCode(analyzeSource(schema, `${msgName}.ts`)); + return new Function( + gen + `\nreturn { enc: protobuf_encode_${msgName}, dec: protobuf_decode_${msgName} };`, + )() as { + enc: (obj: unknown) => Uint8Array; + dec: (data: Uint8Array) => any; + }; +} + +function encodeVarint32(value: number): number[] { + const bytes: number[] = []; + let remaining = value >>> 0; + + do { + let byte = remaining & 0x7f; + remaining >>>= 7; + + if (remaining !== 0) { + byte |= 0x80; + } + + bytes.push(byte); + } while (remaining !== 0); + + return bytes; +} + +describe('code generator', () => { + it.each([ + [0, []], + [1, [0x08, 0x01]], + [127, [0x08, 0x7f]], + [128, [0x08, 0x80, 0x01]], + [300, [0x08, 0xac, 0x02]], + [16384, [0x08, 0x80, 0x80, 0x01]], + [0xffffffff, [0x08, 0xff, 0xff, 0xff, 0xff, 0x0f]], + ] as const)('encodes and decodes uint32 wire fixture %i', (value, bytes) => { + const { enc, dec } = makeRoundTrip('simple.ts', 'SimpleMsg'); + expect([...enc({ value })]).toEqual(bytes); + expect(dec(Uint8Array.from(bytes)).value).toBe(value); + }); + + it.each([ + [0x10, 0xac, 0x02], + [0x12, 0x03, 0x41, 0x42, 0x43], + [0x15, 0, 0, 0, 0], + [0x11, 0, 0, 0, 0, 0, 0, 0, 0], + ])('skips an unknown wire field before a known field (%j)', (...bytes) => { + const { dec } = makeRoundTrip('simple.ts', 'SimpleMsg'); + expect(dec(Uint8Array.from([...bytes, 0x08, 42])).value).toBe(42); + }); + + it('generates encode/decode for simple uint_32', () => { + const gen = generateCode(analyzeSource(loadFixture('simple.ts'), 't.ts')); + expect(gen).toContain('function protobuf_encode_SimpleMsg(obj)'); + expect(gen).toContain('function protobuf_decode_SimpleMsg(data'); + // Tag for field 1, varint should be pre-computed as 0x08 + expect(gen).toContain('buf[offset++] = 8;'); + }); + + it('generates nested message code', () => { + const gen = generateCode(analyzeSource(loadFixture('nested.ts'), 't.ts')); + expect(gen).toContain('__write_Inner('); + expect(gen).toContain('protobuf_decode_Inner(data, offset, offset + _len)'); + }); + + it('round-trip uint_32', () => { + const { enc, dec } = makeRoundTrip('simple.ts', 'SimpleMsg'); + expect(dec(enc({ value: 42 })).value).toBe(42); + }); + + it('round-trip nested message', () => { + const { enc, dec } = makeRoundTrip('nested.ts', 'Outer'); + expect(dec(enc({ inner: { value: 999 } })).inner.value).toBe(999); + }); + + it('round-trip string', () => { + const { enc, dec } = makeRoundTrip('string-msg.ts', 'StringMsg'); + expect(dec(enc({ text: 'hello world' })).text).toBe('hello world'); + }); + + it('round-trip unicode string', () => { + const { enc, dec } = makeRoundTrip('string-msg.ts', 'StringMsg'); + expect(dec(enc({ text: '你好,protobuf🚀' })).text).toBe('你好,protobuf🚀'); + }); + + it('round-trip bool', () => { + const { enc, dec } = makeRoundTrip('bool-msg.ts', 'BoolMsg'); + expect(dec(enc({ active: true })).active).toBe(true); + const empty = enc({ active: false }); + expect(empty.length).toBe(0); + expect(dec(empty).active).toBe(false); + }); + + it('proto3 default encoding (0 → empty)', () => { + const { enc } = makeRoundTrip('simple.ts', 'SimpleMsg'); + expect(enc({ value: 0 }).length).toBe(0); + }); + + it('round-trip repeated uint_32', () => { + const { enc, dec } = makeRoundTrip('repeated.ts', 'RepeatedMsg'); + const result = dec(enc({ ids: [10, 20, 30], names: [] })); + expect(result.ids).toEqual([10, 20, 30]); + expect(result.names).toEqual([]); + }); + + it('round-trip repeated string', () => { + const { enc, dec } = makeRoundTrip('repeated.ts', 'RepeatedMsg'); + const result = dec(enc({ ids: [], names: ['hello', 'world'] })); + expect(result.ids).toEqual([]); + expect(result.names).toEqual(['hello', 'world']); + }); + + it('repeated empty arrays round-trip', () => { + const { enc, dec } = makeRoundTrip('repeated.ts', 'RepeatedMsg'); + const result = dec(enc({ ids: [], names: [] })); + expect(result.ids).toEqual([]); + expect(result.names).toEqual([]); + }); + + it('round-trip bigint-backed 64-bit integers', () => { + const schema = ` +interface BigIntMsg { + unsigned: pb<1, uint_64>; + signed: pb<2, int_64>; + zigzag: pb<3, sint_64>; + fixed: pb<4, fixed_64>; + sfixed: pb<5, sfixed_64>; + ids: pb_repeated<6, uint_64>; +}`; + const { enc, dec } = makeRoundTripFromSchema(schema, 'BigIntMsg'); + const input = { + unsigned: 18446744073709551615n, + signed: -1n, + zigzag: -1234567890123456789n, + fixed: 0x0102030405060708n, + sfixed: -0x0102030405060708n, + ids: [1n, 2n, 9007199254740993n], + }; + expect(dec(enc(input))).toEqual(input); + }); + + it('round-trip sint_32 with negative values', () => { + const schema = ` +interface Sint32Msg { + value: pb<1, sint_32>; + values: pb_repeated<2, sint_32>; +}`; + const { enc, dec } = makeRoundTripFromSchema(schema, 'Sint32Msg'); + const input = { value: -789, values: [-1, 0, 1, -789, 2147483647, -2147483648] }; + expect(dec(enc(input))).toEqual(input); + }); + + it('preserves legacy outbound int_32 bytes while accepting canonical negative varints', () => { + const schema = ` +interface Int32Msg { + value: pb<1, int_32>; + values: pb_repeated<2, int_32>; + forced: pb_optional<3, int_32>; +}`; + const { enc, dec } = makeRoundTripFromSchema(schema, 'Int32Msg'); + const input = { + value: -1, + values: [-2147483648, -1, 0, 1, 2147483647], + forced: -2147483648, + }; + const encoded = enc(input); + + // Keep SnowLuma's established five-byte negative int32 encoding on the + // outbound path until QQ interoperability is verified on a live account. + // The decoder remains liberal and accepts protobuf's canonical ten-byte + // negative form below. + expect(Array.from(encoded.slice(0, 6))).toEqual([0x08, 0xff, 0xff, 0xff, 0xff, 0x0f]); + expect(dec(encoded)).toEqual(input); + expect( + dec(Uint8Array.from([0x08, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01])) + .value, + ).toBe(-1); + }); + + it('retains the low 32 bits of extended uint_32 field varints', () => { + const { dec } = makeRoundTripFromSchema( + `interface Uint32Msg { value: pb<1, uint_32>; }`, + 'Uint32Msg', + ); + + // QQ sometimes serializes a signed 32-bit source into a schema slot that + // clients expose as uint32. Protobuf readers consume the full ten-byte + // varint and retain its low 32 bits for wire compatibility. + expect( + dec(Uint8Array.from([0x08, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01])) + .value, + ).toBe(0xfffffffe); + + // QQ-compatible uint32 readers consume up to a full 64-bit varint and + // retain its low 32 bits. Some push-envelope sequences use that wire + // representation, so values with non-zero high bits must remain decodable. + expect(dec(Uint8Array.from([0x08, 0x80, 0x80, 0x80, 0x80, 0x10])).value).toBe(0); + expect(dec(Uint8Array.from([0x08, 0x87, 0x80, 0x80, 0x80, 0x10])).value).toBe(7); + + // Compatibility applies only to complete uint64 varints. Truncated input + // and values wider than 64 bits must still fail loudly. + expect(() => dec(Uint8Array.from([0x08, 0x80]))).toThrow(/[Tt]runcated.*varint/); + expect(() => + dec( + Uint8Array.from([0x08, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x02]), + ), + ).toThrow(/Invalid protobuf varint/); + }); + + it('rejects malformed length-delimited fields without leaving parent bounds', () => { + const schema = `interface BytesMsg { data: pb<1, bytes>; }`; + const { dec } = makeRoundTripFromSchema(schema, 'BytesMsg'); + + expect(() => dec(Uint8Array.from([0x0a, 0x80]))).toThrow(/[Tt]runcated.*varint/); + expect(() => dec(Uint8Array.from([0x0a, 0x80, 0x80, 0x80, 0x80, 0x10]))).toThrow( + /Invalid protobuf varint/, + ); + }); + + it('skips unknown groups without decoding their fields into the parent', () => { + const schema = ` +interface Text { str: pb<1, string>; } +interface Elem { text: pb<1, Text>; } +`; + const { dec } = makeRoundTripFromSchema(schema, 'Elem'); + const decoded = dec( + Uint8Array.from([ + 0x7b, 0x0a, 0x08, 0x0a, 0x06, 0x66, 0x6f, 0x72, 0x67, 0x65, 0x64, 0x7c, + ]), + ); + + expect(decoded.text).toBeNull(); + expect(protobuf_getUnknownFieldMetadata(decoded).fields).toMatchObject([ + { fieldNumber: 15, wireType: 3 }, + ]); + }); + + it('aggregates repeated unknown fields instead of retaining every occurrence', () => { + const { dec } = makeRoundTripFromSchema( + `interface UnknownMsg { known: pb<1, uint_32>; }`, + 'UnknownMsg', + ); + const wire: number[] = []; + const tag = encodeVarint32((60 << 3) | 0); + + for (let index = 0; index < 1_000; index++) { + wire.push(...tag, 0); + } + + const metadata = protobuf_getUnknownFieldMetadata(dec(Uint8Array.from(wire))); + expect(metadata).toEqual({ + fields: [{ fieldNumber: 60, wireType: 0, count: 1_000, totalByteLength: 1_000 }], + totalOccurrences: 1_000, + omittedOccurrences: 0, + omittedByteLength: 0, + }); + }); + + it('caps retained unknown field kinds and summarizes overflow', () => { + const { dec } = makeRoundTripFromSchema( + `interface UnknownKindsMsg { known: pb<1, uint_32>; }`, + 'UnknownKindsMsg', + ); + const wire: number[] = []; + + for (let fieldNumber = 2; fieldNumber <= 66; fieldNumber++) { + wire.push(...encodeVarint32((fieldNumber << 3) | 0), 0); + } + + const metadata = protobuf_getUnknownFieldMetadata(dec(Uint8Array.from(wire))); + expect(metadata.fields).toHaveLength(64); + expect(metadata.totalOccurrences).toBe(65); + expect(metadata.omittedOccurrences).toBe(1); + expect(metadata.omittedByteLength).toBe(1); + }); + + it('round-trip double as ieee754 number', () => { + const schema = ` +interface DoubleMsg { + value: pb<1, double>; + values: pb_repeated<2, double>; +}`; + const { enc, dec } = makeRoundTripFromSchema(schema, 'DoubleMsg'); + const result = dec(enc({ value: Math.PI, values: [Math.E, -0.5] })); + expect(result.value).toBeCloseTo(Math.PI); + expect(result.values[0]).toBeCloseTo(Math.E); + expect(result.values[1]).toBeCloseTo(-0.5); + }); +}); + +describe('pb_optional explicit presence', () => { + it('serialises a zero scalar (where pb<> would omit it)', () => { + const { enc, dec } = makeRoundTripFromSchema( + `interface OptMsg { forced: pb_optional<1, uint_32>; }`, + 'OptMsg', + ); + // field 1, varint, value 0 → tag 0x08 then payload 0x00 (NOT empty). + expect(Array.from(enc({ forced: 0 }))).toEqual([0x08, 0x00]); + expect(dec(enc({ forced: 0 })).forced).toBe(0); + }); + + it('still omits the field when the value is absent (undefined)', () => { + const { enc } = makeRoundTripFromSchema( + `interface OptMsg2 { forced: pb_optional<1, uint_32>; }`, + 'OptMsg2', + ); + expect(enc({}).length).toBe(0); + }); + + it('does not change a sibling plain pb<> field (it still omits its zero)', () => { + const { enc, dec } = makeRoundTripFromSchema( + `interface MixMsg { plain: pb<1, uint_32>; forced: pb_optional<2, uint_32>; }`, + 'MixMsg', + ); + // plain=0 omitted (unchanged); only forced=0 is emitted (field 2 → tag 0x10). + expect(Array.from(enc({ plain: 0, forced: 0 }))).toEqual([0x10, 0x00]); + expect(dec(enc({ plain: 7, forced: 9 }))).toEqual({ plain: 7, forced: 9 }); + }); + + it('forces a false bool onto the wire', () => { + const { enc, dec } = makeRoundTripFromSchema( + `interface BoolOpt { flag: pb_optional<1, bool>; }`, + 'BoolOpt', + ); + expect(Array.from(enc({ flag: false }))).toEqual([0x08, 0x00]); + expect(dec(enc({ flag: false })).flag).toBe(false); + expect(Array.from(enc({ flag: true }))).toEqual([0x08, 0x01]); + }); +}); diff --git a/packages/proton/test/fixtures/bool-msg.ts b/packages/proton/test/fixtures/bool-msg.ts new file mode 100644 index 00000000..f3eed9f1 --- /dev/null +++ b/packages/proton/test/fixtures/bool-msg.ts @@ -0,0 +1,3 @@ +interface BoolMsg { + active: pb<1, bool>; +} diff --git a/packages/proton/test/fixtures/nested.ts b/packages/proton/test/fixtures/nested.ts new file mode 100644 index 00000000..71fb451c --- /dev/null +++ b/packages/proton/test/fixtures/nested.ts @@ -0,0 +1,7 @@ +interface Inner { + value: pb<1, uint_32>; +} + +interface Outer { + inner: pb<1, Inner>; +} diff --git a/packages/proton/test/fixtures/repeated.ts b/packages/proton/test/fixtures/repeated.ts new file mode 100644 index 00000000..4ec14de6 --- /dev/null +++ b/packages/proton/test/fixtures/repeated.ts @@ -0,0 +1,9 @@ +interface RepeatedMsg { + ids: pb_repeated<1, uint_32>; + names: pb_repeated<2, string>; +} + +const data = protobuf_encode({ ids: [1, 2, 3], names: ["a", "b"] }); +const decoded = protobuf_decode(data); + +export { }; diff --git a/packages/proton/test/fixtures/simple.ts b/packages/proton/test/fixtures/simple.ts new file mode 100644 index 00000000..c656214e --- /dev/null +++ b/packages/proton/test/fixtures/simple.ts @@ -0,0 +1,3 @@ +interface SimpleMsg { + value: pb<1, uint_32>; +} diff --git a/packages/proton/test/fixtures/string-msg.ts b/packages/proton/test/fixtures/string-msg.ts new file mode 100644 index 00000000..62bc79c7 --- /dev/null +++ b/packages/proton/test/fixtures/string-msg.ts @@ -0,0 +1,3 @@ +interface StringMsg { + text: pb<1, string>; +} diff --git a/packages/proton/test/helpers/index.ts b/packages/proton/test/helpers/index.ts new file mode 100644 index 00000000..b2c26b73 --- /dev/null +++ b/packages/proton/test/helpers/index.ts @@ -0,0 +1,10 @@ +import { readFileSync } from 'fs'; +import { dirname, resolve } from 'path'; +import { fileURLToPath } from 'url'; + +const fixturesDir = resolve(dirname(fileURLToPath(import.meta.url)), '..', 'fixtures'); + +/** Load a fixture file as a string. */ +export function loadFixture(name: string): string { + return readFileSync(resolve(fixturesDir, name), 'utf-8'); +} diff --git a/packages/proton/test/upstream/codegen/buffer.test.ts b/packages/proton/test/upstream/codegen/buffer.test.ts new file mode 100644 index 00000000..35e32abd --- /dev/null +++ b/packages/proton/test/upstream/codegen/buffer.test.ts @@ -0,0 +1,94 @@ +import { describe, expect, it } from 'vitest'; +import { schemaCodecs } from '../schema'; + +const bytesSchema = 'interface Msg { data: pb<1,bytes>; }'; + +describe('encoded buffers', () => { + it('round-trips messages around allocation and slab boundaries', () => { + const codec = schemaCodecs<{ data: Uint8Array }>(bytesSchema); + + for (const length of [ + 0, 1, 61, 62, 63, 64, 65, 125, 127, 128, 4092, 4093, 4094, 4095, 4096, 8192, + ]) { + const data = Uint8Array.from({ length }, (_, i) => (i * 13) & 255); + const encoded = codec.encode({ data }); + expect(codec.decode(encoded)).toEqual({ data }); + + if (encoded.length <= 64 || encoded.length > 4096) { + expect(encoded.byteOffset).toBe(0); + expect(encoded.buffer.byteLength).toBe(encoded.length); + } + } + }); + + it('keeps retained results intact across slab rotation and subsequent mutations', () => { + const codec = schemaCodecs<{ data: Uint8Array }>(bytesSchema); + const retained = Array.from({ length: 200 }, (_, index) => { + const data = new Uint8Array([63, 128, 800, 1300][index % 4]).fill(index); + const encoded = codec.encode({ data }); + return { data, encoded, snapshot: encoded.slice() }; + }); + expect(retained.some(({ encoded }) => encoded.byteOffset > 0)).toBe(true); + + for (const { data, encoded, snapshot } of retained) { + expect(encoded).toEqual(snapshot); + expect(codec.decode(encoded)).toEqual({ data }); + } + + retained[0].encoded.fill(0); + + for (const { encoded, snapshot } of retained.slice(1)) { + expect(encoded).toEqual(snapshot); + } + }); + + it('supports encoding from a getter without reusing the inner result', () => { + const codec = schemaCodecs<{ data: Uint8Array }>(bytesSchema); + const inner = new Uint8Array(128).fill(7); + const outer = new Uint8Array(256).fill(9); + let nested: Uint8Array | undefined; + const encoded = codec.encode({ + get data() { + nested = codec.encode({ data: inner }); + return outer; + }, + }); + expect(codec.decode(encoded)).toEqual({ data: outer }); + expect(codec.decode(nested!)).toEqual({ data: inner }); + }); + + it('replaces a slab whose backing buffer was transferred', () => { + const codec = schemaCodecs<{ data: Uint8Array }>(bytesSchema); + const data = new Uint8Array(128).fill(3); + const first = codec.encode({ data }); + const transferred = structuredClone(first, { transfer: [first.buffer as ArrayBuffer] }); + expect(first.byteLength).toBe(0); + expect(codec.decode(transferred)).toEqual({ data }); + expect(codec.decode(codec.encode({ data }))).toEqual({ data }); + }); + + it('decodes unaligned pooled messages containing strings, fixed values and nested data', () => { + const codec = schemaCodecs<{ + text: string; + ratio: number; + inner: { value: bigint; data: Uint8Array }; + }>(` + interface Inner {value:pb<1,fixed_64>;data:pb<2,bytes>;} + interface Msg {text:pb<1,string>;ratio:pb<2,double>;inner:pb<3,Inner>;} + `); + let unaligned = false; + + for (let i = 0; i < 100; i++) { + const value = { + text: '中文🚀'.repeat(8) + i, + ratio: Math.PI + i, + inner: { value: (1n << 63n) + BigInt(i), data: new Uint8Array(17 + i).fill(i) }, + }; + const encoded = codec.encode(value); + unaligned ||= encoded.byteOffset % 8 !== 0; + expect(codec.decode(encoded)).toEqual(value); + } + + expect(unaligned).toBe(true); + }); +}); diff --git a/packages/proton/test/upstream/codegen/generator.test.ts b/packages/proton/test/upstream/codegen/generator.test.ts new file mode 100644 index 00000000..97fcc606 --- /dev/null +++ b/packages/proton/test/upstream/codegen/generator.test.ts @@ -0,0 +1,245 @@ +import { describe, it, expect } from 'vitest'; +import { schemaRegistry } from '../schema'; +import { generateCode } from '../../../src/codegen/generator'; +const simple = 'interface SimpleMsg { value: pb<1, uint_32>; }'; +const nested = + 'interface Inner { value: pb<1, uint_32>; } interface Outer { inner: pb<1, Inner>; }'; +const string = 'interface StringMsg { text: pb<1, string>; }'; +const bool = 'interface BoolMsg { active: pb<1, bool>; }'; +const repeated = + 'interface RepeatedMsg { ids: pb_repeated<1, uint_32>; names: pb_repeated<2, string>; }'; + +function makeRoundTrip(schema: string, msgName: string) { + const gen = generateCode(schemaRegistry(schema, `${msgName}.ts`)); + return new Function( + gen + `\nreturn { enc: protobuf_encode_${msgName}, dec: protobuf_decode_${msgName} };`, + )() as { + enc: (obj: any) => Uint8Array; + dec: (data: Uint8Array) => any; + }; +} + +describe('code generator', () => { + it('allocates one output buffer for nested repeated messages', () => { + const schema = `interface Leaf { text: pb<1,string>; } interface Msg { children: pb_repeated<1,Leaf>; }`; + const registry = schemaRegistry(schema, 'allocation.ts'); + const code = generateCode(registry, { encodeRoots: ['Msg'], decodeRoots: [] }); + let allocations = 0; + class CountingBytes extends Uint8Array { + constructor(size: number) { + super(size); + allocations++; + } + static get [Symbol.species]() { + return Uint8Array; + } + } + const encode = new Function('Uint8Array', code + '\nreturn protobuf_encode_Msg;')( + CountingBytes, + ); + const input = { children: Array.from({ length: 32 }, (_, i) => ({ text: '你好' + i })) }; + const encoded = encode(input); + expect(allocations).toBe(1); + expect(makeRoundTrip(schema, 'Msg').dec(encoded)).toEqual(input); + }); + + it('omits unused helpers and decoder functions from encode-only output', () => { + const code = generateCode( + schemaRegistry('interface Msg { value: pb<1,uint_32>; }', 'minimal.ts'), + { + encodeRoots: ['Msg'], + decodeRoots: [], + }, + ); + expect(code).not.toContain('TextDecoder'); + expect(code).not.toContain('TextEncoder'); + expect(code).not.toContain('DataView'); + expect(code).not.toContain('BigInt'); + expect(code).not.toContain('protobuf_decode_'); + }); + + it('round-trips a deep mixture of strings and nested messages', () => { + const schema = Array.from( + { length: 24 }, + (_, i) => + `interface M${i} { text: pb<1,string>; ${i < 23 ? `next: pb<2,M${i + 1}>;` : ''} }`, + ).join('\n'); + let input: any = { text: 'end' }; + + for (let i = 22; i >= 0; i--) { + input = { text: 'level' + i, next: input }; + } + + const { enc, dec } = makeRoundTrip(schema, 'M0'); + expect(dec(enc(input))).toEqual(input); + }); + it('round-trips int_32 and preserves five-byte negative varints', () => { + const { enc, dec } = makeRoundTrip( + `interface IntMsg { + value: pb<1, int_32>; + values: pb_repeated<2, int_32>; + }`, + 'IntMsg', + ); + expect([...enc({ value: -1 })]).toEqual([0x08, 0xff, 0xff, 0xff, 0xff, 0x0f]); + const input = { value: -2147483648, values: [-1, -2147483648, 0, 2147483647] }; + expect(dec(enc(input))).toEqual(input); + }); + + it('preserves fixed_32 unsigned values and sfixed_32 signed values', () => { + const { enc, dec } = makeRoundTrip( + `interface FixedMsg { + unsigned: pb<1, fixed_32>; + signed: pb<2, sfixed_32>; + values: pb_repeated<3, fixed_32>; + }`, + 'FixedMsg', + ); + const input = { + unsigned: 0xffffffff, + signed: -2147483648, + values: [0x80000000, 0xffffffff], + }; + expect(dec(enc(input))).toEqual(input); + }); + + it('uses bigint defaults for all 64-bit integer fields', () => { + const { enc, dec } = makeRoundTrip( + `interface Defaults { + unsigned: pb<1, uint_64>; + signed: pb<2, int_64>; + zigzag: pb<3, sint_64>; + fixed: pb<4, fixed_64>; + sfixed: pb<5, sfixed_64>; + }`, + 'Defaults', + ); + const result = dec(new Uint8Array()); + expect(result).toEqual({ unsigned: 0n, signed: 0n, zigzag: 0n, fixed: 0n, sfixed: 0n }); + expect(enc(result)).toEqual(new Uint8Array()); + }); + + it('decodes tags with the highest valid field number', () => { + const { enc, dec } = makeRoundTrip( + 'interface HighTag { value: pb<536870911, uint_32>; }', + 'HighTag', + ); + const bytes = new Uint8Array([0xf8, 0xff, 0xff, 0xff, 0x0f, 7]); + expect(enc({ value: 7 })).toEqual(bytes); + expect(dec(bytes)).toEqual({ value: 7 }); + }); + + it('generates encode/decode for simple uint_32', () => { + const gen = generateCode(schemaRegistry(simple, 't.ts')); + expect(gen).toContain('function protobuf_encode_SimpleMsg(obj)'); + expect(gen).toContain('function protobuf_decode_SimpleMsg(data'); + // Tag for field 1, varint should be pre-computed as 0x08 + expect(gen).toContain('buf[offset++] = 8;'); + }); + + it('generates nested message code', () => { + const gen = generateCode(schemaRegistry(nested, 't.ts')); + expect(gen).toContain('protobuf_encode_Inner('); + expect(gen).toContain('protobuf_decode_Inner(data, offset, offset + _len)'); + }); + + it('round-trip uint_32', () => { + const { enc, dec } = makeRoundTrip(simple, 'SimpleMsg'); + expect(dec(enc({ value: 42 })).value).toBe(42); + }); + + it('round-trip nested message', () => { + const { enc, dec } = makeRoundTrip(nested, 'Outer'); + expect(dec(enc({ inner: { value: 999 } })).inner.value).toBe(999); + }); + + it('round-trip string', () => { + const { enc, dec } = makeRoundTrip(string, 'StringMsg'); + expect(dec(enc({ text: 'hello world' })).text).toBe('hello world'); + }); + + it('round-trip unicode string', () => { + const { enc, dec } = makeRoundTrip(string, 'StringMsg'); + expect(dec(enc({ text: '你好,protobuf🚀' })).text).toBe('你好,protobuf🚀'); + }); + + it('round-trip bool', () => { + const { enc, dec } = makeRoundTrip(bool, 'BoolMsg'); + expect(dec(enc({ active: true })).active).toBe(true); + const empty = enc({ active: false }); + expect(empty.length).toBe(0); + expect(dec(empty).active).toBe(false); + }); + + it('proto3 default encoding (0 → empty)', () => { + const { enc } = makeRoundTrip(simple, 'SimpleMsg'); + expect(enc({ value: 0 }).length).toBe(0); + }); + + it('round-trip repeated uint_32', () => { + const { enc, dec } = makeRoundTrip(repeated, 'RepeatedMsg'); + const result = dec(enc({ ids: [10, 20, 30], names: [] })); + expect(result.ids).toEqual([10, 20, 30]); + expect(result.names).toEqual([]); + }); + + it('round-trip repeated string', () => { + const { enc, dec } = makeRoundTrip(repeated, 'RepeatedMsg'); + const result = dec(enc({ ids: [], names: ['hello', 'world'] })); + expect(result.ids).toEqual([]); + expect(result.names).toEqual(['hello', 'world']); + }); + + it('repeated empty arrays round-trip', () => { + const { enc, dec } = makeRoundTrip(repeated, 'RepeatedMsg'); + const result = dec(enc({ ids: [], names: [] })); + expect(result.ids).toEqual([]); + expect(result.names).toEqual([]); + }); + + it('round-trip bigint-backed 64-bit integers', () => { + const schema = ` +interface BigIntMsg { + unsigned: pb<1, uint_64>; + signed: pb<2, int_64>; + zigzag: pb<3, sint_64>; + fixed: pb<4, fixed_64>; + sfixed: pb<5, sfixed_64>; + ids: pb_repeated<6, uint_64>; +}`; + const { enc, dec } = makeRoundTrip(schema, 'BigIntMsg'); + const input = { + unsigned: 18446744073709551615n, + signed: -1n, + zigzag: -1234567890123456789n, + fixed: 0x0102030405060708n, + sfixed: -0x0102030405060708n, + ids: [1n, 2n, 9007199254740993n], + }; + expect(dec(enc(input))).toEqual(input); + }); + + it('round-trip sint_32 with negative values', () => { + const schema = ` +interface Sint32Msg { + value: pb<1, sint_32>; + values: pb_repeated<2, sint_32>; +}`; + const { enc, dec } = makeRoundTrip(schema, 'Sint32Msg'); + const input = { value: -789, values: [-1, 0, 1, -789, 2147483647, -2147483648] }; + expect(dec(enc(input))).toEqual(input); + }); + + it('round-trip double as ieee754 number', () => { + const schema = ` +interface DoubleMsg { + value: pb<1, double>; + values: pb_repeated<2, double>; +}`; + const { enc, dec } = makeRoundTrip(schema, 'DoubleMsg'); + const result = dec(enc({ value: Math.PI, values: [Math.E, -0.5] })); + expect(result.value).toBeCloseTo(Math.PI); + expect(result.values[0]).toBeCloseTo(Math.E); + expect(result.values[1]).toBeCloseTo(-0.5); + }); +}); diff --git a/packages/proton/test/upstream/codegen/utf8.test.ts b/packages/proton/test/upstream/codegen/utf8.test.ts new file mode 100644 index 00000000..fbc269c8 --- /dev/null +++ b/packages/proton/test/upstream/codegen/utf8.test.ts @@ -0,0 +1,212 @@ +import { deepStrictEqual } from 'node:assert'; +import { describe, it, expect } from 'vitest'; +import { schemaRegistry } from '../schema'; +import { generateCode } from '../../../src/codegen/generator'; + +const code = generateCode( + schemaRegistry(` + interface Text { value: pb<1,string>; } + interface Nested { texts: pb_repeated<1,Text>; } +`), +); +const { encode, decode, encodeNested, decodeNested } = new Function(`${code} + return { + encode: protobuf_encode_Text, decode: protobuf_decode_Text, + encodeNested: protobuf_encode_Nested, decodeNested: protobuf_decode_Nested, + };`)() as { + decode(bytes: Uint8Array): { value: string }; + encode(value: { value: string }): Uint8Array; + encodeNested(value: { texts: { value: string }[] }): Uint8Array; + decodeNested(bytes: Uint8Array): { texts: { value: string }[] }; +}; +const encoder = new TextEncoder(); +const decoder = new TextDecoder(); + +function wire(payload: Uint8Array): Uint8Array { + const prefix = [10]; + let length = payload.length; + + do { + prefix.push((length & 127) | (length >= 128 ? 128 : 0)); + length >>>= 7; + } while (length); + + return Uint8Array.from([...prefix, ...payload]); +} + +describe('UTF-8 codecs', () => { + it('matches TextEncoder across native encoding boundaries, including unpaired surrogates', () => { + for (const length of [31, 32, 33, 42, 43, 63, 64, 65, 127, 128, 129, 4096]) { + for (const unit of ['a', 'é', '中文', '🚀', '\ud800', '\udc00', 'a\ud800']) { + const value = unit.repeat(length); + // Generic iterable equality repeats per-byte work on these large views. + deepStrictEqual(encode({ value }), wire(encoder.encode(value))); + } + } + }); + + it('preserves every ASCII byte across short and native decoding boundaries', () => { + for (const length of [ + 0, 1, 3, 4, 7, 8, 15, 16, 23, 24, 30, 31, 32, 33, 63, 64, 127, 128, 4096, + ]) { + for (let byte = 0; byte < 128; byte++) { + const value = String.fromCharCode(byte).repeat(length); + deepStrictEqual( + encode({ value }), + length ? wire(encoder.encode(value)) : new Uint8Array(), + ); + expect(decode(wire(encoder.encode(value)))).toEqual({ value }); + } + } + }); + + it('matches TextDecoder for Unicode after ASCII prefixes and at slice boundaries', () => { + const suffixes = [ + '\u0080', + 'é', + '\u07ff', + '\u0800', + '中文', + '\ud7ff', + '\ue000', + '\uffff', + '🚀', + '\u{10000}', + '\u{10ffff}', + '\ufeff', + '\ufeffx\ufeff', + '\ud800', + '\udc00', + ]; + + for (let length = 0; length <= 64; length++) { + for (const suffix of suffixes) { + const value = 'a'.repeat(length) + suffix; + const payload = encoder.encode(value); + const bytes = wire(payload); + const padded = Uint8Array.from([255, 255, ...bytes, 128, 128]); + expect(decode(padded.subarray(2, 2 + bytes.length)).value).toBe( + decoder.decode(payload), + ); + } + } + }); + + it('matches replacement behavior for all one-byte and two-byte sequences', () => { + const payload = new Uint8Array(2); + + for (let first = 0; first < 256; first++) { + payload[0] = first; + const one = payload.subarray(0, 1); + expect(decode(wire(one)).value).toBe(decoder.decode(one)); + + for (let second = 0; second < 256; second++) { + payload[1] = second; + expect(decode(wire(payload)).value).toBe(decoder.decode(payload)); + } + } + }); + + it('matches TextDecoder across randomized valid Unicode strings', () => { + let state = 0x5a17cafe; + + for (let sample = 0; sample < 5000; sample++) { + let value = 'a'.repeat(sample % 17); + + for (let index = 0; index < sample % 21; index++) { + state = (Math.imul(state, 1664525) + 1013904223) >>> 0; + value += String.fromCodePoint(state % 0x110000); + } + + const payload = encoder.encode(value); + expect(decode(wire(payload)).value).toBe(decoder.decode(payload)); + } + }); + + it('matches TextDecoder for invalid and truncated multibyte sequences', () => { + const sequences = [ + [0xe0, 0x80, 0x80], + [0xed, 0xa0, 0x80], + [0xf0, 0x80, 0x80, 0x80], + [0xf4, 0x90, 0x80, 0x80], + [0xf5, 0x80, 0x80, 0x80], + [0xff], + [0xc2], + [0xe1, 0x80], + [0xf1, 0x80, 0x80], + [0xe1, 65, 0x80], + [0xf1, 0x80, 65, 0x80], + [0xef, 0xbb, 0xbf, 0xff], + ]; + + for (let length = 0; length <= 33; length++) { + for (const sequence of sequences) { + const payload = Uint8Array.from([...Array(length).fill(65), ...sequence]); + expect(decode(wire(payload)).value).toBe(decoder.decode(payload)); + } + } + + let state = 0x42abcdef; + + for (let sample = 0; sample < 5000; sample++) { + const payload = Uint8Array.from({ length: sample % 65 }, () => { + state = (Math.imul(state, 1664525) + 1013904223) >>> 0; + return state >>> 24; + }); + expect(decode(wire(payload)).value).toBe(decoder.decode(payload)); + } + }); + + it('keeps nested and repeated strings independent', () => { + const texts = [ + '', + 'ascii', + 'a'.repeat(31), + 'a'.repeat(32), + '中文🚀', + 'a\ufeffb', + '\ufeffx', + '中文🚀'.repeat(64), + ].map((value) => ({ value })); + expect(decodeNested(encodeNested({ texts }))).toEqual({ + texts: texts.map(({ value }) => ({ value: decoder.decode(encoder.encode(value)) })), + }); + // A truncated UTF-8 sequence must not consume bytes from the following field. + const first = wire(Uint8Array.from([0xf0, 0x9f])); + const second = wire(encoder.encode('next')); + const nested = Uint8Array.from([10, first.length, ...first, 10, second.length, ...second]); + expect(decodeNested(nested)).toEqual({ texts: [{ value: '�' }, { value: 'next' }] }); + }); + + it('measures UTF-8 correctly when a code point crosses a scratch-buffer boundary', () => { + for (const length of [4093, 4094, 4095, 4096, 4097, 8191]) { + for (const suffix of ['é', '中', '🚀', '\ud800', '\udc00', '\ud800x']) { + const value = 'a'.repeat(length) + suffix + '中文🚀'.repeat(4000); + deepStrictEqual(encode({ value }), wire(encoder.encode(value))); + } + } + }); + + it('preserves replacement and BOM behavior after long malformed inputs', () => { + for (const length of [127, 128, 129, 255, 4095, 4096, 4097]) { + for (const sequence of [ + [0xff], + [0xe0, 0x80, 0x80], + [0xed, 0xa0, 0x80], + [0xf0, 0x9f], + [0xef, 0xbb, 0xbf], + ]) { + for (const prefix of [[], [0xef, 0xbb, 0xbf]]) { + const payload = Uint8Array.from([ + ...prefix, + ...Array(length).fill(65), + ...sequence, + ]); + expect(decode(wire(payload)).value).toBe(decoder.decode(payload)); + const valid = encoder.encode('中文🚀'.repeat(64)); + expect(decode(wire(valid)).value).toBe(decoder.decode(valid)); + } + } + } + }); +}); diff --git a/packages/proton/test/upstream/codegen/wire.test.ts b/packages/proton/test/upstream/codegen/wire.test.ts new file mode 100644 index 00000000..04ed3e58 --- /dev/null +++ b/packages/proton/test/upstream/codegen/wire.test.ts @@ -0,0 +1,202 @@ +import { describe, it, expect } from 'vitest'; +import { schemaCodecs as codecs } from '../schema'; + +describe('generated wire format', () => { + it('matches TextEncoder at UTF-8 length-prefix boundaries', () => { + const codec = codecs<{ value: string }>('interface Msg {value:pb<1,string>;}'); + + for (const length of [127, 128, 16383, 16384]) { + for (const value of ['a'.repeat(length), '界🚀\ud800'.repeat(length)]) { + const payload = new TextEncoder().encode(value); + const prefix = [10]; + let remaining = payload.length; + + do { + prefix.push((remaining % 128) | (remaining >= 128 ? 128 : 0)); + remaining = Math.floor(remaining / 128); + } while (remaining); + + const expected = new Uint8Array(prefix.length + payload.length); + expected.set(prefix); + expected.set(payload, prefix.length); + expect(codec.encode({ value })).toEqual(expected); + expect(codec.decode(expected)).toEqual({ + value: new TextDecoder().decode(payload), + }); + } + } + }, 30_000); + + it('decodes floating-point, fixed-width and byte fields from unaligned subarrays', () => { + const codec = codecs<{ f: number; d: number; fixed: bigint; data: Uint8Array }>( + `interface Msg {f:pb<1,float>;d:pb<2,double>;fixed:pb<3,fixed_64>;data:pb<4,bytes>;}`, + ); + const input = { + f: Math.fround(1 / 3), + d: -Number.MAX_VALUE, + fixed: (1n << 64n) - 1n, + data: new Uint8Array([0, 1, 255]), + }; + const wire = codec.encode(input); + + for (const padding of [1, 3, 7, 31]) { + const buffer = new Uint8Array(wire.length + padding + 5).fill(255); + buffer.set(wire, padding); + expect(codec.decode(buffer.subarray(padding, padding + wire.length))).toEqual(input); + } + }); + it('matches an independent bigint varint reference at every byte boundary', () => { + const codec = codecs<{ value: bigint }>('interface Msg { value: pb<1, uint_64>; }'); + const values = new Set([0n, 1n, (1n << 64n) - 1n]); + + for (let bit = 1n; bit < 64n; bit++) { + values.add((1n << bit) - 1n); + values.add(1n << bit); + values.add((1n << bit) + 1n); + } + + for (const value of values) { + let rest = value; + const bytes = []; + + do { + bytes.push(Number(rest & 127n) | (rest > 127n ? 128 : 0)); + rest >>= 7n; + } while (rest); + + const wire = new Uint8Array([8, ...bytes]); + expect(codec.encode({ value })).toEqual(value === 0n ? new Uint8Array() : wire); + expect(codec.decode(wire)).toEqual({ value }); + } + }); + + it('decodes nonzero booleans whose low 32 bits are zero', () => { + const codec = codecs<{ value: boolean }>('interface Msg { value: pb<1, bool>; }'); + expect(codec.decode(new Uint8Array([8, 128, 128, 128, 128, 16]))).toEqual({ value: true }); + }); + const uint32 = codecs<{ value: number }>('interface Msg { value: pb<1, uint_32>; }'); + const varints: [number, number[]][] = [ + [1, [0x01]], + [127, [0x7f]], + [128, [0x80, 0x01]], + [300, [0xac, 0x02]], + [16384, [0x80, 0x80, 0x01]], + [0xffffffff, [0xff, 0xff, 0xff, 0xff, 0x0f]], + ]; + + it.each(varints)('encodes uint32 %i using the expected wire bytes', (value, bytes) => { + expect([...uint32.encode({ value })]).toEqual([0x08, ...bytes]); + }); + + it.each(varints)('decodes uint32 %i from independent wire bytes', (value, bytes) => { + expect(uint32.decode(new Uint8Array([0x08, ...bytes]))).toEqual({ value }); + }); + + it('omits scalar zero and decodes an explicit zero', () => { + expect(uint32.encode({ value: 0 })).toEqual(new Uint8Array()); + expect(uint32.decode(new Uint8Array([8, 0]))).toEqual({ value: 0 }); + }); + + it.each(['hello', '', '你好', '🚀', '\ud800', '\udc00'])('encodes UTF-8 %j', (value) => { + const codec = codecs<{ value: string }>('interface Msg { value: pb<1, string>; }'); + const payload = new TextEncoder().encode(value); + const bytes = new Uint8Array([0x0a, payload.length, ...payload]); + expect(codec.encode({ value })).toEqual(value === '' ? new Uint8Array() : bytes); + expect(codec.decode(bytes)).toEqual({ value: new TextDecoder().decode(payload) }); + }); + + it('encodes bytes with a length prefix and copies the decoded data', () => { + const codec = codecs<{ value: Uint8Array }>('interface Msg { value: pb<1, bytes>; }'); + const bytes = new Uint8Array([10, 3, 1, 128, 255]); + const value = new Uint8Array([1, 128, 255]); + expect(codec.encode({ value })).toEqual(bytes); + const result = codec.decode(bytes); + bytes[2] = 0; + expect(result.value).toEqual(value); + }); + + it.each([ + ['varint', [0x10, 0xac, 0x02]], + ['64-bit', [0x11, 1, 2, 3, 4, 5, 6, 7, 8]], + ['length-delimited', [0x12, 3, 0x41, 0x42, 0x43]], + ['32-bit', [0x15, 1, 2, 3, 4]], + ])('skips unknown %s fields and resumes decoding', (_name, bytes) => { + expect(uint32.decode(new Uint8Array([...(bytes as number[]), 8, 7]))).toEqual({ value: 7 }); + }); + + const packedCases: [string, (number | bigint | boolean)[], number[]][] = [ + ['uint_32', [1, 300], [1, 0xac, 2]], + ['int_32', [1, -2], [1, 0xfe, ...Array(8).fill(0xff), 1]], + ['sint_32', [-1, 1], [1, 2]], + ['bool', [true, false], [1, 0]], + ['uint_64', [1n, 300n], [1, 0xac, 2]], + ['int_64', [1n, -2n], [1, 0xfe, ...Array(8).fill(0xff), 1]], + ['sint_64', [-1n, 1n], [1, 2]], + ['fixed_32', [0xffffffff, 1], [255, 255, 255, 255, 1, 0, 0, 0]], + ['sfixed_32', [-1, 1], [255, 255, 255, 255, 1, 0, 0, 0]], + ['fixed_64', [1n], [1, 0, 0, 0, 0, 0, 0, 0]], + ['sfixed_64', [-1n], Array(8).fill(255)], + ['float', [1], [0, 0, 128, 63]], + ['double', [1], [0, 0, 0, 0, 0, 0, 240, 63]], + ]; + + it.each(packedCases)( + 'decodes packed, unpacked and split %s arrays', + (type, values, payload) => { + const codec = codecs<{ values: typeof values }>( + `interface Msg { values: pb_repeated<1, ${type}>; }`, + ); + const packed = [10, payload.length, ...payload]; + const unpacked = codec.encode({ values }); + expect(codec.decode(new Uint8Array(packed))).toEqual({ values }); + expect(codec.decode(new Uint8Array([...packed, ...unpacked, ...packed]))).toEqual({ + values: [...values, ...values, ...values], + }); + expect(codec.decode(new Uint8Array([10, 0]))).toEqual({ values: [] }); + }, + ); + + const malformedCodec = codecs(` + interface Inner { value: pb<1, uint_32>; } + interface Msg { + value: pb<1, uint_32>; + big: pb<2, uint_64>; + text: pb<3, string>; + data: pb<4, bytes>; + float: pb<5, float>; + double: pb<6, double>; + inner: pb<7, Inner>; + values: pb_repeated<8, uint_32>; + fixed: pb_repeated<9, fixed_32>; + } + `); + const invalidCases: [string, number[]][] = [ + ['zero tag', [0]], + ['invalid wire type', [15]], + ['truncated tag', [128]], + ['overflowing tag', [255, 255, 255, 255, 31]], + ['missing varint', [8]], + ['unterminated varint', [8, 128]], + ['overflowing varint', [8, ...Array(10).fill(255)]], + ['truncated bigint', [16, 128]], + ['overflowing bigint', [16, ...Array(9).fill(255), 2]], + ['missing string length', [26]], + ['truncated string', [26, 2, 65]], + ['overflowing length', [26, 255, 255, 255, 255, 31]], + ['truncated bytes', [34, 2, 1]], + ['truncated float', [45, 0]], + ['truncated double', [49, 0]], + ['nested message exceeds parent', [58, 5, 8, 1]], + ['nested varint exceeds nested boundary', [58, 2, 8, 128, 8, 7]], + ['packed varint exceeds packed boundary', [66, 1, 128, 8, 7]], + ['packed fixed32 has partial value', [74, 3, 1, 2, 3, 8, 7]], + ['unknown truncated varint', [80, 128]], + ['unknown truncated fixed64', [81, 0]], + ['unknown truncated bytes', [82, 5, 1]], + ['unknown truncated fixed32', [85, 0]], + ]; + + it.each(invalidCases)('rejects %s', (_name, bytes) => { + expect(() => malformedCodec.decode(new Uint8Array(bytes))).toThrow(/protobuf/); + }); +}); diff --git a/packages/proton/test/upstream/compile.ts b/packages/proton/test/upstream/compile.ts new file mode 100644 index 00000000..02c48db8 --- /dev/null +++ b/packages/proton/test/upstream/compile.ts @@ -0,0 +1,24 @@ +import ts from 'typescript'; +import { ProtobufCompiler } from '../../src/compiler/compiler'; +import { packageName } from '../../src/package'; + +export const imports = `import { protobuf_encode, protobuf_decode } from '${packageName}';`; + +export function run(body: string): any { + const compiler = new ProtobufCompiler(); + const source = imports + '\n' + body; + const transformed = compiler.compile(source, 'test-entry.ts') ?? source; + const js = ts.transpileModule(transformed, { + compilerOptions: { target: ts.ScriptTarget.ES2022, module: ts.ModuleKind.CommonJS }, + }).outputText; + const exports = {}; + new Function('exports', 'require', js)(exports, () => ({ + protobuf_encode() { + throw new Error('Uncompiled encode'); + }, + protobuf_decode() { + throw new Error('Uncompiled decode'); + }, + })); + return exports; +} diff --git a/packages/proton/test/upstream/compiler/callbacks.test.ts b/packages/proton/test/upstream/compiler/callbacks.test.ts new file mode 100644 index 00000000..9e7fd16a --- /dev/null +++ b/packages/proton/test/upstream/compiler/callbacks.test.ts @@ -0,0 +1,332 @@ +import { bundle } from '../project'; +import { describe, expect, it } from 'vitest'; +import { run, imports } from '../compile'; + +const schema = `interface Msg { value: pb<1,uint_32>; } +function encode(value:T) { return protobuf_encode(value); }`; + +describe('generic callbacks', () => { + it.each([ + 'const callbacks=[encode];', + 'const api={send:encode};', + '[{value:7}].map((value:T)=>protobuf_encode(value));', + '[{value:7}].map((encode));', + ])('rejects callback values without enough schema context: %s', (expression) => { + expect(() => run(schema + expression)).toThrow(/Cannot infer callback schema/); + }); + it('supports callbacks in default parameters and codec calls in parameter initializers', () => { + expect( + run(`${schema} + function apply(value:T, callback:(value:T)=>Uint8Array=protobuf_encode) {return callback(value);} + function defaults(value:T, bytes=protobuf_encode(value)) {return bytes;} + export const result=[[...apply({value:7})],[...defaults({value:8})]]; + export const lengths=[apply.length, defaults.length]; + `), + ).toEqual({ + result: [ + [8, 7], + [8, 8], + ], + lengths: [1, 1], + }); + }); + + it('supports destructured polymorphic callback parameters', () => { + expect( + run(`${schema} + interface Api {encode:(value:T)=>Uint8Array;} + function use({encode:fn}:Api,value:T) {return fn(value);} + export const result=[...use({encode},{value:7})]; + `).result, + ).toEqual([8, 7]); + }); + it('propagates object callback signatures through function parameters', () => { + expect( + run(`${schema} + interface Api {encode:(value:T)=>Uint8Array;} + function use(api:Api,value:T) {return api.encode(value);} + export const result=[...use({encode},{value:7})]; + `).result, + ).toEqual([8, 7]); + }); + + it('adapts typed assignments and callbacks stored in arrays', () => { + expect( + run(`${schema} + type Encoder=(value:Msg)=>Uint8Array; + let callback:Encoder; + callback=encode; + const callbacks:Encoder[]=[encode,callback]; + export const result=callbacks.map(fn=>[...fn({value:7})]); + `).result, + ).toEqual([ + [8, 7], + [8, 7], + ]); + }); + + it('reports opaque polymorphic consumers at build time', () => { + expect(() => + run(`${schema} + declare function external(fn:(value:T)=>Uint8Array):void; + external(encode); + `), + ).toThrow(/receiving implementation/); + }); + it('supports class arrow fields as callbacks with lexical this', () => { + expect( + run(`${schema} + class Codec { calls=0; encode=(value:T)=>{this.calls++;return protobuf_encode(value);}; } + const codec=new Codec(); + export const result=[{value:7}].map(codec.encode).map(bytes=>[...bytes]); + export const calls=codec.calls; + `), + ).toEqual({ result: [[8, 7]], calls: 1 }); + }); + + it('preserves spread evaluation, method receivers and rest arguments', () => { + expect( + run(`${schema} + const events:string[]=[]; + const api={calls:0,send(value:T,...labels:string[]){this.calls++;events.push(...labels);return protobuf_encode(value);}}; + function args():[Msg,string,string] {events.push('args');return [{value:7},'a','b'];} + export const result=[...api.send(...args())]; + export const calls=api.calls; + export {events}; + `), + ).toEqual({ result: [8, 7], calls: 1, events: ['args', 'a', 'b'] }); + }); + it('analyzes shared higher order functions across multiple build entries', async () => { + expect( + await bundle( + { + 'apply.ts': + 'export function apply(value:T, callback:(value:U)=>Uint8Array) { return callback(value); }', + 'plain.ts': `${imports} import {apply} from './apply'; interface Msg {value:pb<1,uint_32>;} + function encode(value:T) {return protobuf_encode(value);} + export const result=[...apply({value:7},encode)];`, + 'boxed.ts': `${imports} import {apply} from './apply'; interface Msg {value:pb<1,uint_32>;} interface Box {value:pb<1,T>;} + function encode(value:T) {return protobuf_encode>({value});} + export const result=[...apply({value:8},encode)];`, + }, + ['plain.ts', 'boxed.ts'], + ), + ).toEqual({ plain: { result: [8, 7] }, boxed: { result: [10, 2, 8, 8] } }); + }); + it('preserves this parameters, bound generic methods and class arguments', () => { + expect( + run(`${schema} + interface Pair {first:pb<1,T>;second:pb<2,U>;} + class Codec { + calls=0; + encode(this:Codec, value:Pair) { this.calls++; return protobuf_encode>(value); } + } + const codec = new Codec(); + const callback = codec.encode.bind(codec); + export const result = [...callback({first:7,second:'x'})]; + export const calls = codec.calls; + `), + ).toEqual({ result: [8, 7, 18, 1, 120], calls: 1 }); + }); + + it('supports returned polymorphic functions and typed object callbacks', () => { + expect( + run(`${schema} + type Encoder = (value:T)=>Uint8Array; + function factory(): Encoder { return encode; } + const callback = factory(); + const api: {encode:Encoder} = {encode}; + export const result = [[...callback({value:7})], [...api.encode({value:8})], [...factory()({value:9})]]; + `).result, + ).toEqual([ + [8, 7], + [8, 8], + [8, 9], + ]); + }); + + it('supports nested generic callback aliases', () => { + expect( + run(`${schema} + type Callback = (value:T)=>Uint8Array; + type Alias = Callback; + const callback: Alias = encode; + export const result = [...callback({value:7})]; + `).result, + ).toEqual([8, 7]); + }); + + it('passes all required codecs when callback implementations differ', () => { + expect( + run(`${schema} + interface Box {value:pb<1,T>;} + function boxed(value:T) { return protobuf_encode>({value}); } + function apply(value:T, callback:(value:U)=>Uint8Array) { return callback(value); } + export const result = [[...apply({value:7}, encode)], [...apply({value:8}, boxed)]]; + `).result, + ).toEqual([ + [8, 7], + [10, 2, 8, 8], + ]); + }); + + it('supports a callback implementation accepting fewer parameters than its signature', () => { + expect( + run(`${schema} + function apply(callback:(value:T, index:number)=>Uint8Array) { return callback({value:7}, 42); } + export const result = [...apply(encode)]; + `).result, + ).toEqual([8, 7]); + }); + + it('preserves default parameter evaluation and callback length', () => { + expect( + run(`${schema} + let defaults=0; + function callback(value:T, flag=++defaults) { return flag ? protobuf_encode(value) : new Uint8Array(); } + const cb = callback; + export const result = [...cb({value:7})]; + export const length = cb.length; + export {defaults}; + `), + ).toEqual({ result: [8, 7], length: 1, defaults: 1 }); + }); + + it('propagates nested schema substitutions through callback chains', () => { + expect( + run(`${schema} + interface Box {value:pb<1,T>;} + function nested(value:Box) { return protobuf_encode>(value); } + function apply(value:Box, fn:(value:Box)=>Uint8Array) { return fn(value); } + export const result = [...apply({value:{value:7}}, nested)]; + `).result, + ).toEqual([10, 2, 8, 7]); + }); + + it('preserves async callback bodies', async () => { + const result = run(`${schema} + async function send(value:T) { await Promise.resolve(); return protobuf_encode(value); } + const values: Msg[] = [{value:7},{value:8}]; + export const result = Promise.all(values.map(send)); + `); + expect((await result.result).map((bytes: Uint8Array) => [...bytes])).toEqual([ + [8, 7], + [8, 8], + ]); + }); + it('materializes instantiation expressions in variables, returns and arrays', () => { + expect( + run(`${schema} + const callback = encode; + function factory() { return encode; } + const values = [encode, factory(), callback]; + export const result = values.map(fn => [...fn({value:7})]); + `).result, + ).toEqual([ + [8, 7], + [8, 7], + [8, 7], + ]); + }); + + it('infers array callbacks and preserves side effects and rest arguments', () => { + expect( + run(`${schema} + const values: Msg[] = [{value:7}, {value:8}]; + const calls: number[] = []; + function callback(value:T, ...rest: unknown[]) { calls.push(rest[0] as number); return protobuf_encode(value); } + export const result = values.map(callback).map(bytes => [...bytes]); + export { calls }; + `), + ).toEqual({ + result: [ + [8, 7], + [8, 8], + ], + calls: [0, 1], + }); + }); + + it('adapts runtime function values directly', () => { + expect( + run(`${schema} + const values: Msg[] = [{value:7}]; + const encodeMsg = protobuf_encode; + const decodeMsg: (bytes: Uint8Array) => Msg = protobuf_decode; + export const result = [decodeMsg(encodeMsg(values[0])), ...values.map(protobuf_encode).map(decodeMsg)]; + `).result, + ).toEqual([{ value: 7 }, { value: 7 }]); + }); + + it('passes codecs through a generic higher order function', () => { + expect( + run(`${schema} + function apply(value:T, callback:(value:T)=>Uint8Array) { return callback(value); } + export const result = [...apply({value:7}, encode)]; + `).result, + ).toEqual([8, 7]); + }); + + it('supports independently generic callbacks and transitive forwarding', () => { + expect( + run(`${schema} + type Encoder = (value:T)=>Uint8Array; + function invoke(value:T, callback:Encoder) { return callback(value); } + function forward(value:T, callback:Encoder) { return invoke(value, callback); } + export const result = [...forward({value:7}, encode)]; + `).result, + ).toEqual([8, 7]); + }); + + it('keeps distinct schemas when one generic callback is reused', () => { + expect( + run(`${schema} + interface Text { value: pb<1,string>; } + function both(callback:(value:T)=>Uint8Array) { + return [[...callback({value:7})], [...callback({value:'x'})]]; + } + export const result = both(encode); + `).result, + ).toEqual([ + [8, 7], + [10, 1, 120], + ]); + }); + + it('captures codecs in returned callbacks and contextual aliases', () => { + expect( + run(`${schema} + type Encoder = (value:T)=>Uint8Array; + function factory(): Encoder { return encode; } + const callback: Encoder = encode; + export const result = [[...callback({value:7})], [...factory()({value:8})]]; + `).result, + ).toEqual([ + [8, 7], + [8, 8], + ]); + }); + + it('supports generic inline callbacks and preserves native thisArg', () => { + expect( + run(`${schema} + const values: Msg[] = [{value:7}]; + const state = { calls:0 }; + function callback(value:T) { this.calls++; return protobuf_encode(value); } + export const a = values.map(callback, state).map(bytes => [...bytes]); + export const b = values.map((value:T) => protobuf_encode(value)).map(bytes => [...bytes]); + export const calls = state.calls; + `), + ).toEqual({ a: [[8, 7]], b: [[8, 7]], calls: 1 }); + }); + + it('handles imported higher order functions and callback aliases', async () => { + expect( + await bundle({ + 'encoder.ts': `${imports} export function encode(value:T) { return protobuf_encode(value); }`, + 'apply.ts': `export function apply(value:T, fn:(value:U)=>Uint8Array) { return fn(value); }`, + 'entry.ts': `import {encode as callback} from './encoder'; import {apply} from './apply'; interface Msg {value:pb<1,uint_32>;} export const result = [...apply({value:7}, callback)];`, + }), + ).toEqual({ result: [8, 7] }); + }); +}); diff --git a/packages/proton/test/upstream/compiler/classes.test.ts b/packages/proton/test/upstream/compiler/classes.test.ts new file mode 100644 index 00000000..632d32ff --- /dev/null +++ b/packages/proton/test/upstream/compiler/classes.test.ts @@ -0,0 +1,196 @@ +import { bundle } from '../project'; +import { describe, expect, it } from 'vitest'; +import { run, imports } from '../compile'; +import { ProtobufCompiler } from '../../../src/compiler/compiler'; + +const box = 'interface Box {value:pb<1,T>;}'; +const codec = `${box} + class Codec { + encode(value:Box) {return protobuf_encode>(value);} + decode(bytes:Uint8Array) {return protobuf_decode>(bytes);} + }`; + +describe('generic class instances', () => { + it('isolates uint32 and string instances across alternating calls', () => { + const result = run(`${codec} + const numbers=new Codec(); const strings=new Codec(); + export const result=Array.from({length:32},(_,i)=>[numbers.decode(numbers.encode({value:i})),strings.decode(strings.encode({value:'v'+i}))]); + export const sharedMethod=numbers.encode===strings.encode; + export const keys=Object.keys(numbers); + `); + expect(result.result).toEqual( + Array.from({ length: 32 }, (_, i) => [{ value: i }, { value: 'v' + i }]), + ); + expect(result.sharedMethod).toBe(true); + expect(result.keys).toEqual([]); + }); + + it('emits one codec per concrete type for many instances', () => { + const declarations = Array.from( + { length: 32 }, + (_, i) => `const n${i}=new Codec(); const s${i}=new Codec();`, + ).join('\n'); + const output = new ProtobufCompiler().compile(imports + codec + declarations, 'reuse.ts')!; + expect(output.match(/function protobuf_encode_Box__uint_32\(/g)).toHaveLength(1); + expect(output.match(/function protobuf_decode_Box__uint_32\(/g)).toHaveLength(1); + expect(output.match(/function protobuf_encode_Box__string\(/g)).toHaveLength(1); + expect(output.match(/function protobuf_decode_Box__string\(/g)).toHaveLength(1); + }); + + it('alternates method type arguments on one instance', () => { + expect( + run(`${box} + class Codec {roundtrip(value:Box) {return protobuf_decode>(protobuf_encode>(value));}} + const instance=new Codec(); + export const result=[instance.roundtrip({value:7}),instance.roundtrip({value:'x'}),instance.roundtrip({value:8})]; + `).result, + ).toEqual([{ value: 7 }, { value: 'x' }, { value: 8 }]); + }); + + it('forwards outer generics through factories returning class instances', () => { + expect( + run(`${codec} + function create() {return new Codec();} + const n=create(); const s=create(); + export const result=[n.decode(n.encode({value:7})),s.decode(s.encode({value:'x'}))]; + `).result, + ).toEqual([{ value: 7 }, { value: 'x' }]); + }); + + it('combines factory class arguments and independent method arguments', () => { + expect( + run(`interface Pair {first:pb<1,T>;second:pb<2,U>;} + class Codec {roundtrip(value:Pair) {return protobuf_decode>(protobuf_encode>(value));}} + function create():Codec {return new Codec();} + const n=create(); const s=create(); const alias=n; + export const result=[n.roundtrip({first:7,second:'x'}),s.roundtrip({first:'y',second:8}),alias.roundtrip({first:9,second:10}),create().roundtrip({first:'a',second:'b'})]; + `).result, + ).toEqual([ + { first: 7, second: 'x' }, + { first: 'y', second: 8 }, + { first: 9, second: 10 }, + { first: 'a', second: 'b' }, + ]); + }); + + it('infers constructor generics from annotated arguments', () => { + expect( + run(`${box} + class Codec {constructor(readonly value:Box) {} encode(){return protobuf_encode>(this.value);}} + const n:Box={value:7}; const s:Box={value:'x'}; + const numbers=new Codec(n); const strings=new Codec(s); + export const result=[[...numbers.encode()],[...strings.encode()]]; + `).result, + ).toEqual([ + [8, 7], + [10, 1, 120], + ]); + }); + + it('infers factories and inherited constructors with renamed parameters', () => { + expect( + run(`${box} + class Codec {constructor(readonly value:Box) {} encode(){return protobuf_encode>(this.value);}} + class Middle extends Codec {} + class Derived extends Middle {} + function create(value:Box) {return new Derived(value);} + const n:Box={value:7}; const s:Box={value:'x'}; + const numbers=create(n); const strings=create(s); + export const result=[[...numbers.encode()],[...strings.encode()]]; + `).result, + ).toEqual([ + [8, 7], + [10, 1, 120], + ]); + }); + + it('specializes unannotated factories, aliases and default class arguments', () => { + expect( + run(`interface Pair {first:pb<1,T>;second:pb<2,U>;} + class Codec {roundtrip(value:Pair) {return protobuf_decode>(protobuf_encode>(value));}} + const create=()=>new Codec(); + type Alias = Codec; + function use(instance:Alias, first:T) {return instance.roundtrip({first,second:'ok'});} + export const result=[create().roundtrip({first:7,second:'x'}),new Codec().roundtrip({first:'y',second:8}),use(create(),'z')]; + `).result, + ).toEqual([ + { first: 7, second: 'x' }, + { first: 'y', second: 8 }, + { first: 'z', second: 'ok' }, + ]); + }); + + it('retains class bindings in generic callback adapters', () => { + expect( + run(`interface Pair {first:pb<1,T>;second:pb<2,U>;} + class Codec {roundtrip(value:Pair) {return protobuf_decode>(protobuf_encode>(value));}} + function create():Codec {return new Codec();} + const numbers=create(); const strings=create(); + const n=numbers.roundtrip.bind(numbers); const s=strings.roundtrip.bind(strings); + export const result=[n({first:7,second:'x'}),s({first:'y',second:8})]; + `).result, + ).toEqual([ + { first: 7, second: 'x' }, + { first: 'y', second: 8 }, + ]); + }); + + it('separates specializations through inherited constructors', () => { + expect( + run(`${codec} + class Derived extends Codec {} + const n=new Derived(); const s=new Derived(); + export const result=[n.decode(n.encode({value:7})),s.decode(s.encode({value:'x'}))]; + `).result, + ).toEqual([{ value: 7 }, { value: 'x' }]); + }); + + it('keeps cross-file factory instances specialized', async () => { + expect( + await bundle({ + 'codec.ts': `${imports} ${codec} export function create() {return new Codec();}`, + 'entry.ts': `import {create} from './codec'; const n=create();const s=create(); export const result=[n.decode(n.encode({value:7})),s.decode(s.encode({value:'x'}))];`, + }), + ).toEqual({ result: [{ value: 7 }, { value: 'x' }] }); + }); + + it('resolves method defaults from the class type argument', () => { + expect( + run(`interface Pair {first:pb<1,T>;second:pb<2,U>;} + class Codec {roundtrip(value:Pair) {return protobuf_decode>(protobuf_encode>(value));}} + function create():Codec {return new Codec();} + export const result=[create().roundtrip({first:7,second:8}),create().roundtrip({first:'x',second:'y'})]; + `).result, + ).toEqual([ + { first: 7, second: 8 }, + { first: 'x', second: 'y' }, + ]); + }); + + it('specializes inherited static generic methods', () => { + expect( + run(`${box} + class Base {static roundtrip(value:Box) {return protobuf_decode>(protobuf_encode>(value));}} + class Codec extends Base {} + export const result=[Codec.roundtrip({value:7}),Codec.roundtrip({value:'x'})]; + `).result, + ).toEqual([{ value: 7 }, { value: 'x' }]); + }); + + it('combines cross-file class and method generics', async () => { + expect( + await bundle({ + 'codec.ts': `${imports} export interface Pair {first:pb<1,T>;second:pb<2,U>;} + class Codec {roundtrip(value:Pair) {return protobuf_decode>(protobuf_encode>(value));}} + export const create=()=>new Codec();`, + 'entry.ts': `import {create} from './codec'; const n=create(); const s=create(); + export const result=[n.roundtrip({first:7,second:'x'}),s.roundtrip({first:'y',second:8})];`, + }), + ).toEqual({ + result: [ + { first: 7, second: 'x' }, + { first: 'y', second: 8 }, + ], + }); + }); +}); diff --git a/packages/proton/test/upstream/compiler/compile.test.ts b/packages/proton/test/upstream/compiler/compile.test.ts new file mode 100644 index 00000000..de129d17 --- /dev/null +++ b/packages/proton/test/upstream/compiler/compile.test.ts @@ -0,0 +1,424 @@ +import { bundle } from '../project'; +import { packageName } from '../../../src/package'; +import { describe, expect, it } from 'vitest'; +import { ProtobufCompiler } from '../../../src/compiler/compiler'; + +import { run, imports } from '../compile'; + +describe('semantic compiler', () => { + it('invalidates preloaded schema types when the transform receives different source', () => { + const compiler = new ProtobufCompiler(); + const source = `${imports} interface Msg {value:pb<1,uint_32>;} protobuf_encode({value:7});`; + compiler.context.source('preloaded.ts', source); + compiler.prepare(['preloaded.ts']); + expect(compiler.compile(source.replace('pb<1,', 'pb<2,'), 'preloaded.ts')).toContain( + 'buf[offset++] = 16;', + ); + }); + it('preserves async generic function bodies and return values', async () => { + const result = run(`interface Msg { value: pb<1,uint_32>; } + async function encode(value:T) { await Promise.resolve(); return protobuf_encode(value); } + export const result = encode({value:7}); + `); + expect([...(await result.result)]).toEqual([8, 7]); + }); + it('supports namespace markers and namespace runtime functions', () => { + expect( + run(` + import * as p from '${packageName}'; + interface Msg { value: p.pb<1, p.uint_32>; } + export const result = [...p.protobuf_encode({value: 7})]; + `).result, + ).toEqual([8, 7]); + }); + + it('supports default generic classes and re-exported runtime bindings', async () => { + expect( + await bundle({ + 'runtime.ts': `export { protobuf_encode as encode } from '${packageName}';`, + 'codec.ts': `import { encode } from './runtime'; export default class Codec { encode(value:T) { return encode(value); } }`, + 'entry.ts': `import Codec from './codec'; interface Msg { value: pb<1,uint_32>; } const codec = new Codec(); export const result = [...codec.encode({value:7})];`, + }), + ).toEqual({ result: [8, 7] }); + }); + + it('resolves generic parameters containing dollar signs without text substitution', () => { + expect( + run(`interface Box<$T> { value: pb<1,$T>; } + function encode<$T>(value:Box<$T>) { return protobuf_encode>(value); } + export const result = [...encode({value:'x'})]; + `).result, + ).toEqual([10, 1, 120]); + }); + + it('preserves directive prologues', () => { + const code = `'use client';\n${imports}\ninterface Msg { value: pb<1,uint_32>; } protobuf_encode({value:7});`; + expect(new ProtobufCompiler().compile(code, 'directive.ts')).toMatch(/^'use client';/); + }); + + it('does not mix anonymous fields instantiated with different generic arguments', () => { + expect( + run(` + interface Box { nested: pb<1, { value: pb<1, T>; }>; } + export const a = protobuf_decode>(protobuf_encode>({ nested: { value: 7 } })); + export const b = protobuf_decode>(protobuf_encode>({ nested: { value: 'x' } })); + `), + ).toEqual({ a: { nested: { value: 7 } }, b: { nested: { value: 'x' } } }); + }); + + it('evaluates conditional schema types structurally', () => { + expect( + run(` + interface Base { id: pb<1, uint_32>; } + interface Child extends Base { text: pb<2, string>; } + type Chosen = T extends Base ? Child : never; + export const result = protobuf_decode>(protobuf_encode>({ id: 7, text: 'x' })); + `).result, + ).toEqual({ id: 7, text: 'x' }); + }); + + it('supports destructured generic object methods and aliases', () => { + expect( + run(` + interface Msg { value: pb<1, uint_32>; } + const api = { encode(value: T) { return protobuf_encode(value); } }; + const { encode: send } = api; + export const result = [...send({ value: 7 })]; + `).result, + ).toEqual([8, 7]); + }); + + it('rejects generic callbacks without a concrete adapter', () => { + expect(() => + run(` + interface Msg { value: pb<1, uint_32>; } + function encode(value: T) { return protobuf_encode(value); } + [{ value: 7 }].map(encode); + `), + ).toThrow(/Cannot infer callback schema/); + }); + + it('rejects detached instance codec methods', () => { + expect(() => + run(`interface Msg { value: pb<1,uint_32>; } + class Codec { encode(value:T) { return protobuf_encode(value); } } + const codec = new Codec(); const encode = codec.encode; + `), + ).toThrow(/receiver/); + }); + + it('rejects class field calls that run before codec initialization', () => { + expect(() => run(`class Codec { value = protobuf_encode({} as T); }`)).toThrow( + /field initializers/, + ); + }); + + it('keeps function length stable after generic codec injection', () => { + expect( + run(` + interface Msg { value: pb<1, uint_32>; } + function encode(value: T) { return protobuf_encode(value); } + export const length = encode.length; + export const result = [...encode({ value: 7 })]; + `), + ).toEqual({ length: 1, result: [8, 7] }); + }); + + it('reuses exact transform results and clears changed-source caches', () => { + const compiler = new ProtobufCompiler(); + const source = `${imports} interface Msg { value: pb<1, uint_32>; } protobuf_encode({value: 7});`; + const first = compiler.compile(source, 'cache.ts'); + expect(compiler.compile(source, 'cache.ts')).toBe(first); + const second = compiler.compile(source.replace('pb<1,', 'pb<2,'), 'cache.ts'); + expect(second).toContain('buf[offset++] = 16;'); + expect(second).not.toEqual(first); + }); + + it('resolves tsconfig path aliases', async () => { + expect( + await bundle({ + 'tsconfig.json': JSON.stringify({ + compilerOptions: { baseUrl: '.', paths: { '@schema/*': ['schema/*'] } }, + }), + 'schema/msg.ts': 'export interface Msg { value: pb<1, uint_32>; }', + 'entry.ts': `${imports} import type { Msg } from '@schema/msg'; export const result = [...protobuf_encode({value:7})];`, + }), + ).toEqual({ result: [8, 7] }); + }); + + it('supports recursive generic aliases and nested generic inference', () => { + expect( + run(` + type Node = { value: pb<1, T>; next?: pb<2, Node>; }; + function encode(value: Node) { return protobuf_encode>(value); } + const value: Node = { value: 'a', next: { value: 'b' } }; + export const result = protobuf_decode>(encode(value)); + `).result, + ).toEqual({ value: 'a', next: { value: 'b', next: null } }); + }); + + it('supports inferred generic forwarding and inherited generic methods', () => { + expect( + run(` + interface Pair { a: pb<1, T>; b: pb<2, U>; } + class Base { encode(v: Pair) { return protobuf_encode>(v); } } + class Derived extends Base {} + const codec = new Derived(); + export const result = [...codec.encode({ a: 7, b: 'x' })]; + `).result, + ).toEqual([8, 7, 18, 1, 120]); + }); + + it('keeps generated helper names and user property strings separate', () => { + expect( + run(` + const __td = 'user decoder'; + const protobuf_encode_Msg = 'user encoder'; + interface Msg { '__td': pb<1, string>; } + export const result = protobuf_decode(protobuf_encode({ __td: 'ok' })); + export const untouched = [__td, protobuf_encode_Msg]; + `), + ).toEqual({ result: { __td: 'ok' }, untouched: ['user decoder', 'user encoder'] }); + }); + + it('shares codecs across distinct instantiations without mixing schemas', () => { + expect( + run(` + interface A { value: pb<1, uint_32>; } + interface B { value: pb<2, string>; } + const encode = (value: T) => protobuf_encode(value); + export const result = [[...encode({ value: 7 })], [...encode({ value: 'x' })]]; + `).result, + ).toEqual([ + [8, 7], + [18, 1, 120], + ]); + }); + + it('supports generic field-number aliases and preserves mapped optionality', () => { + expect( + run(` + type Field = pb_optional; + interface Msg { value?: Field<3, uint_32>; } + type Copy = { [K in keyof T]: T[K] }; + export const result = [...protobuf_encode>({ value: 0 })]; + `).result, + ).toEqual([24, 0]); + }); + + it('forwards codecs through implicit and explicit generic derived constructors', () => { + expect( + run(` + interface Msg { value: pb<1, uint_32>; } + class Base { + constructor(public label = 'base') {} + encode(value: T) { return protobuf_encode(value); } + } + class Middle extends Base {} + class Derived extends Middle { + constructor(label: string) { super(label); } + } + const codec = new Derived('ok'); + export const result = [...codec.encode({ value: 7 })]; + export const label = codec.label; + `), + ).toEqual({ result: [8, 7], label: 'ok' }); + }); + + it('forwards concrete codecs through a non-generic derived class', () => { + expect( + run(` + interface Msg { value: pb<1, uint_32>; } + class Base { encode(value: T) { return protobuf_encode(value); } } + class Codec extends Base {} + export const result = [...new Codec().encode({ value: 7 })]; + `).result, + ).toEqual([8, 7]); + }); + + it('preserves explicitly present optional default values and quoted field names', () => { + const result = run(` + interface Msg { 'a-b'?: pb_optional<1, uint_32>; flag?: pb_optional<2, bool>; text?: pb_optional<3, string>; big?: pb_optional<4, uint_64>; '__proto__'?: pb<5, string>; } + const input = { 'a-b': 0, flag: false, text: '', big: 0n, ['__proto__']: 'safe' }; + export const result = protobuf_decode(protobuf_encode(input)); + `).result; + expect(result).toEqual({ 'a-b': 0, flag: false, text: '', big: 0n, ['__proto__']: 'safe' }); + expect(Object.getPrototypeOf(result)).toBe(Object.prototype); + }); + it('preserves imported generic wrappers and transitive aliases across .js imports and barrels', async () => { + const result = await bundle({ + 'types.ts': `export interface Box { value: pb<1, T>; }`, + 'codec.ts': `${imports} import type { Box as B } from './types.js'; + let count = 0; + export function wrap(value: B) { count++; return protobuf_encode>(value); } + export function calls() { return count; }`, + 'barrel.ts': `export { wrap as encode, calls } from './codec.js'; export type { Box as Shape } from './types.js';`, + 'entry.ts': `${imports} import { encode, calls } from './barrel.js'; import type { Shape } from './barrel.js'; + export const result = protobuf_decode>(encode({ value: 'ok' })); + export const count = calls();`, + }); + expect(result).toEqual({ result: { value: 'ok' }, count: 1 }); + }); + + it('keeps same-named schemas from different files distinct', async () => { + const result = await bundle({ + 'a.ts': `export interface Msg { value: pb<1, uint_32>; }`, + 'b.ts': `export interface Msg { value: pb<2, string>; }`, + 'entry.ts': `${imports} import type { Msg as A } from './a'; import type * as b from './b'; + export const a = [...protobuf_encode({ value: 7 })]; + export const b = [...protobuf_encode({ value: 'x' })];`, + }); + expect(result).toEqual({ a: [8, 7], b: [18, 1, 120] }); + }); + + it('supports generic arrow functions and rest parameters without reordering user arguments', () => { + expect( + run(` + interface Msg { value: pb<1, uint_32>; } + const encode = (value: T, ...suffix: number[]) => [...protobuf_encode(value), ...suffix]; + export const result = encode({ value: 7 }, 9, 10); + `).result, + ).toEqual([8, 7, 9, 10]); + }); + + it('does not rewrite shadowed protobuf identifiers or unrelated object methods', () => { + expect( + run(` + interface Msg { value: pb<1, uint_32>; } + function custom(protobuf_encode: (v: T) => number) { return protobuf_encode({ value: 7 }); } + const unrelated = { encode(value: T) { return value; } }; + export const result = custom(() => 99) + unrelated.encode(1); + `).result, + ).toBe(100); + }); + + it('preserves generic wrapper branches, argument positions, closures and side effects', () => { + const result = run(` + interface Msg { value: pb<1, uint_32>; } + let count = 0; + function wrap(ignored: I, data: T, enabled = true) { + count++; + if (!enabled) return new Uint8Array([99]); + return protobuf_encode(data); + } + export const a = [...wrap('unused', { value: 7 })]; + export const b = [...wrap('unused', { value: 8 }, false)]; + export const calls = count; + `); + expect(result).toEqual({ a: [8, 7], b: [99], calls: 2 }); + }); + + it('propagates concrete codecs through multiple generic functions and nested closures', () => { + const result = run(` + interface Box { value: pb<1, T>; } + function inner(value: Box) { return protobuf_encode>(value); } + function outer(value: Box) { + function forward() { return inner(value); } + return forward(); + } + export const result = protobuf_decode>(outer({ value: 'ok' })); + `); + expect(result.result).toEqual({ value: 'ok' }); + }); + + it('resolves aliases, generic defaults, inheritance, intersections and indexed access', () => { + const result = run(` + type Scalar = uint_32; + interface Base { id: pb<1, T>; } + interface Extra { title: pb<2, string>; } + interface Child extends Base { title: Extra['title']; } + type Alias = T; + type Shape = Alias>; + export const result = protobuf_decode(protobuf_encode({ id: 7, title: 'x' })); + `); + expect(result.result).toEqual({ id: 7, title: 'x' }); + }); + + it('supports mapped and conditional generic types', () => { + const result = run(` + interface Msg { id: pb<1, uint_32>; text: pb<2, string>; } + type Copy = { [K in keyof T]: T[K] }; + type Choice = T extends string ? Copy : never; + export const result = protobuf_decode>(protobuf_encode>({ id: 5, text: 'ok' })); + `); + expect(result.result).toEqual({ id: 5, text: 'ok' }); + }); + + it('passes class type parameters through constructor and instance methods', () => { + const result = run(` + interface Msg { value: pb<1, uint_32>; } + class Codec { + constructor(public label = 'default') {} + encode(data: T) { return protobuf_encode(data); } + decode(bytes: Uint8Array) { return protobuf_decode(bytes); } + } + const a = new Codec(); + const b = new Codec('named'); + export const result = a.decode(b.encode({ value: 9 })); + export const labels = [a.label, b.label]; + export const keys = Object.keys(a); + `); + expect(result).toEqual({ + result: { value: 9 }, + labels: ['default', 'named'], + keys: ['label'], + }); + }); + + it('supports generic class methods with class and method type arguments', () => { + const result = run(` + interface Pair { first: pb<1, T>; second: pb<2, U>; } + class Codec { + encode(value: Pair) { return protobuf_encode>(value); } + } + const codec = new Codec(); + export const result = protobuf_decode>(codec.encode({ first: 7, second: 'x' })); + `); + expect(result.result).toEqual({ first: 7, second: 'x' }); + }); + + it('supports recursive message schemas and nullable links', () => { + const result = run(` + interface Node { value: pb<1, uint_32>; next?: pb<2, Node | undefined>; } + export const result = protobuf_decode(protobuf_encode({ value: 1, next: { value: 2 } })); + `); + expect(result.result).toEqual({ value: 1, next: { value: 2, next: null } }); + }); + + it('infers a generic argument from an annotated variable', () => { + const result = run(` + interface Msg { value: pb<1, uint_32>; } + const data: Msg = { value: 7 }; + function wrap(value: T) { return protobuf_encode(value); } + export const result = [...wrap(data)]; + `); + expect(result.result).toEqual([8, 7]); + }); + + it('does not inspect unused unsupported schema declarations', () => { + expect( + run(` + interface Unused { value: pb<1, MissingType>; } + interface Msg { value: pb<1, uint_32>; } + export const result = [...protobuf_encode({ value: 7 })]; + `).result, + ).toEqual([8, 7]); + }); + + it.each(['0', '-1', '1.5', '19000', '536870912'])( + 'rejects invalid field number %s at compile time', + (number) => { + expect(() => + run( + `interface Msg { value: pb<${number}, uint_32>; } protobuf_encode({ value: 7 });`, + ), + ).toThrow(packageName); + }, + ); + + it('rejects duplicate field numbers', () => { + expect(() => + run('interface Msg { a: pb<1, uint_32>; b: pb<1, string>; } protobuf_encode({});'), + ).toThrow(/Duplicate/); + }); +}); diff --git a/packages/proton/test/upstream/compiler/composition.test.ts b/packages/proton/test/upstream/compiler/composition.test.ts new file mode 100644 index 00000000..79bc82a9 --- /dev/null +++ b/packages/proton/test/upstream/compiler/composition.test.ts @@ -0,0 +1,201 @@ +import { describe, expect, it } from 'vitest'; +import { run, imports } from '../compile'; +import { bundle } from '../project'; +import { packageName } from '../../../src/package'; + +const schema = + 'interface Box {value:pb<1,T>;} interface Pair {first:pb<1,T>;second:pb<2,U>;}'; +const codec = `${schema} class Codec { + roundtrip(value:Pair) {return protobuf_decode>(protobuf_encode>(value));} +}`; + +describe('generic composition', () => { + it('propagates two specializations across a 64-function call chain', () => { + const functions = Array.from( + { length: 64 }, + (_, i) => + `function f${i}(value:Box) {return ${i === 63 ? 'protobuf_encode>(value)' : `f${i + 1}(value)`};}`, + ).join('\n'); + expect( + run( + `${schema} ${functions} export const result=[[...f0({value:7})],[...f0({value:'x'})]];`, + ).result, + ).toEqual([ + [8, 7], + [10, 1, 120], + ]); + }); + + it('composes deferred mapped types, promises, classes and polymorphic callbacks', () => { + expect( + run(` + interface Msg {id:pb<1,uint_32>;text:pb<2,string>;ignore:pb<3,bool>;} + type Payload = Pick,'id'|'text'>; + interface Envelope {value:pb<1,Payload>;} + function encode(value:Envelope) {return protobuf_encode>(value);} + function apply(value:Envelope,fn:(value:Envelope)=>Uint8Array) {return fn(value);} + class Codec {encode(value:Envelope){return apply(value,encode);}} + const codec=new Codec>(); + export const result=protobuf_decode>(codec.encode({value:{id:7,text:'x'}})); + `).result, + ).toEqual({ value: { id: 7, text: 'x' } }); + }); + it('retains outer type arguments across nested local factories', () => { + expect( + run(`${codec} + function outer() {function inner() {return new Codec();} return inner();} + const n=outer(); const s=outer(); + export const result=[n.roundtrip({first:7,second:'x'}),s.roundtrip({first:'y',second:8})]; + `).result, + ).toEqual([ + { first: 7, second: 'x' }, + { first: 'y', second: 8 }, + ]); + }); + + it('resolves instances through parameter properties and getters', () => { + expect( + run(`${codec} + class Holder { + constructor(readonly codec:Codec) {} + get current():Codec {return this.codec;} + } + const holder=new Holder(new Codec()); + export const result=holder.current.roundtrip({first:'x',second:7}); + `).result, + ).toEqual({ first: 'x', second: 7 }); + }); + + it('resolves static element access without changing this', () => { + expect( + run(`${codec} + const c=new Codec(); + export const result=c['roundtrip']({first:7,second:'x'}); + `).result, + ).toEqual({ first: 7, second: 'x' }); + }); + + it('supports overloaded generic methods and constructors', () => { + expect( + run(`${schema} + class Codec { + value:Box; + constructor(value:Box); + constructor(value:Box, label:string); + constructor(value:Box, public label='default') {this.value=value;} + encode() {return protobuf_encode>(this.value);} + roundtrip(value:Box):Box; + roundtrip(value:Box):Box {return protobuf_decode>(protobuf_encode>(value));} + } + const n:Box={value:7}; const c=new Codec(n); + export const result=[[...c.encode()],c.roundtrip({value:'x'}),c.label]; + `).result, + ).toEqual([[8, 7], { value: 'x' }, 'default']); + }); + + it('forwards shadowed generic names through deeply nested callbacks', () => { + expect( + run(`${schema} + function roundtrip(value:Box) {return protobuf_decode>(protobuf_encode>(value));} + function outer(first:Box, fn:(value:Box)=>Box) { + function middle(next:Box) { + function inner(value:Box) {return fn(value);} + return [inner(first),inner(next)]; + } + return middle({value:'x'}); + } + export const result=outer({value:7},roundtrip); + `).result, + ).toEqual([{ value: 7 }, { value: 'x' }]); + }); + + it('converges through mutually recursive generic functions', () => { + expect( + run(`${schema} + function a(value:Box, depth:number):Box {return depth ? b(value,depth-1) : protobuf_decode>(protobuf_encode>(value));} + function b(value:Box, depth:number):Box {return a(value,depth);} + export const result=[a({value:7},32),a({value:'x'},33)]; + `).result, + ).toEqual([{ value: 7 }, { value: 'x' }]); + }); + + it('keeps class factory specializations through cyclic re-export modules', async () => { + expect( + await bundle({ + 'codec.ts': `${imports} ${codec} export const create=()=>new Codec();`, + 'first.ts': `export * from './second'; export {create} from './codec';`, + 'second.ts': `export * from './first';`, + 'entry.ts': `import {create} from './second'; export const result=create().roundtrip({first:'x',second:7});`, + }), + ).toEqual({ result: { first: 'x', second: 7 } }); + }); + + it('recognizes parenthesized runtime aliases and namespace element access', () => { + expect( + run(`${schema} import * as runtime from '${packageName}'; + const encode=protobuf_encode; const alias=encode; + export const result=[ + [...(alias)>({value:7})], + runtime['protobuf_decode']>(runtime['protobuf_encode']>({value:'x'})) + ]; + `).result, + ).toEqual([[8, 7], { value: 'x' }]); + }); + + it('adapts typed callbacks selected by static element access', () => { + expect( + run(`${codec} + const c=new Codec(); + const callback:(value:Pair)=>Pair = c['roundtrip'].bind(c); + export const result=callback({first:7,second:'x'}); + `).result, + ).toEqual({ first: 7, second: 'x' }); + }); + + it('captures outer generics in a local class returned from a factory', () => { + expect( + run(`${schema} + function create() { + class Local {roundtrip(value:Pair) {return protobuf_decode>(protobuf_encode>(value));}} + return new Local(); + } + export const result=[create().roundtrip({first:7,second:'x'}),create().roundtrip({first:'y',second:8})]; + `).result, + ).toEqual([ + { first: 7, second: 'x' }, + { first: 'y', second: 8 }, + ]); + }); + + it('resolves namespaced base schemas and separates imported type and value names', async () => { + expect( + await bundle({ + 'types.ts': `export interface Base {value:pb<1,T>;} export const Base=123;`, + 'entry.ts': `${imports} import type * as types from './types'; + interface Msg extends types.Base {text:pb<2,string>;} + export const result=protobuf_decode>(protobuf_encode>({value:7,text:'x'}));`, + }), + ).toEqual({ result: { value: 7, text: 'x' } }); + }); + + it('keeps valid recursive references through inherited generic fields', () => { + expect( + run(` + interface Base {next:pb<1,Link|null>;} + interface Link extends Base {value:pb<2,T>;} + const value:Link={value:'a',next:{value:'b',next:null}}; + export const result=protobuf_decode>(protobuf_encode>(value)); + `).result, + ).toEqual({ value: 'a', next: { value: 'b', next: null } }); + }); + + it('resolves imported type and value names independently of declaration order', async () => { + expect( + await bundle({ + 'types.ts': `export const Msg=42; export interface Msg {value:pb<1,uint_32>;}`, + 'barrel.ts': `export {Msg} from './types';`, + 'entry.ts': `${imports} import {Msg} from './barrel'; export const result=[Msg,[...protobuf_encode({value:7})]];`, + }), + ).toEqual({ result: [42, [8, 7]] }); + }); +}); diff --git a/packages/proton/test/upstream/compiler/diagnostics.test.ts b/packages/proton/test/upstream/compiler/diagnostics.test.ts new file mode 100644 index 00000000..fd15a9a4 --- /dev/null +++ b/packages/proton/test/upstream/compiler/diagnostics.test.ts @@ -0,0 +1,114 @@ +import { describe, expect, it } from 'vitest'; +import { ProtobufCompiler } from '../../../src/compiler/compiler'; +import { imports, run } from '../compile'; +import { withProject } from '../project'; +import { join } from 'node:path'; +import { writeFileSync } from 'node:fs'; + +describe('compiler failure recovery', () => { + it('rejects circular class inheritance without looping during member resolution', () => { + expect(() => + run( + `class A extends B {} class B extends A {} new A().missing();`, + ), + ).toThrow(/Circular class inheritance/); + }); + + it('rejects circular schema inheritance without caching an empty message', () => { + expect(() => + run(`interface A extends B {} interface B extends A {} protobuf_encode({});`), + ).toThrow(/Circular schema inheritance/); + }); + it('does not cache a partially validated schema after failure', () => { + const compiler = new ProtobufCompiler(); + const source = `${imports} interface Msg {a:pb<1,uint_32>;b:pb<1,string>;} protobuf_encode({a:7,b:'x'});`; + + for (let i = 0; i < 3; i++) { + expect(() => compiler.compile(source, 'invalid.ts')).toThrow( + /Duplicate protobuf field number/, + ); + } + + expect(compiler.compile(source.replace('b:pb<1,', 'b:pb<2,'), 'invalid.ts')).toContain( + 'protobuf_encode_Msg', + ); + }); + + it('reports expanding recursive schema aliases before overflowing the stack', () => { + expect(() => + run( + `type Grow={value:pb<1,T>;next?:pb<2,Grow>>;}; protobuf_encode>({value:7});`, + ), + ).toThrow(/128 levels|does not converge/); + }); + + it('reports circular aliases with a source location', () => { + expect(() => run(`type A=B; type B=A; protobuf_encode({});`)).toThrow( + /test-entry.ts:\d+:\d+: Circular type alias/, + ); + }); + + it('replaces specialized code when the same module repeatedly changes wire types', () => { + const compiler = new ProtobufCompiler(); + + for (let i = 0; i < 32; i++) { + const type = i % 2 ? 'string' : 'uint_32'; + const other = i % 2 ? 'uint_32' : 'string'; + const source = `${imports} interface Box {value:pb<1,T>;} class Codec {encode(value:Box) {return protobuf_encode>(value);}} new Codec<${type}>();`; + const output = compiler.compile(source, 'changing.ts'); + expect(output).toContain(`function protobuf_encode_Box__${type}(`); + expect(output).not.toContain(`function protobuf_encode_Box__${other}(`); + } + }); + + it('rejects ambiguous factory specializations with a build diagnostic', () => { + expect(() => + run(`interface Box {value:pb<1,T>;} + class Codec {encode(value:Box) {return protobuf_encode>(value);}} + function create(flag:boolean) {if(flag) return new Codec();return new Codec();} + create(true).encode({value:7}); + `), + ).toThrow(/Receiver branches must resolve to the same specialization/); + }); + + it('reconstructs all entry requirements after a failed compilation', async () => { + const shared = + 'export function apply(value:T, fn:(value:U)=>Uint8Array) {return fn(value);}'; + await withProject( + { + 'shared.ts': shared, + 'a.ts': `${imports} import {apply} from './shared'; interface Msg {value:pb<1,uint_32>;} function encode(value:T) {return protobuf_encode(value);} apply({value:7},encode);`, + 'b.ts': `${imports} import {apply} from './shared'; interface Msg {value:pb<1,uint_32>;} interface Box {value:pb<1,T>;} function encode(value:T) {return protobuf_encode>({value});} apply({value:8},encode);`, + }, + (directory) => { + const compiler = new ProtobufCompiler(); + compiler.prepare([join(directory, 'a.ts'), join(directory, 'b.ts')]); + const baseline = compiler.compile(shared, join(directory, 'shared.ts')); + expect(() => + compiler.compile( + `${imports} protobuf_encode({});`, + join(directory, 'bad.ts'), + ), + ).toThrow(/Unresolved type/); + expect(compiler.compile(shared, join(directory, 'shared.ts'))).toBe(baseline); + }, + ); + }); + + it('recovers when entry preparation fails before a corrected source is saved', async () => { + const source = `${imports} interface Msg {value:pb<1,uint_32>;} function encode(value:T) {return protobuf_encode(value);} encode({value:7});`; + await withProject({ 'entry.ts': source }, (directory) => { + const compiler = new ProtobufCompiler(); + const file = join(directory, 'entry.ts'); + + for (let i = 0; i < 2; i++) { + expect(() => compiler.prepare([file])).toThrow(/Cannot infer T/); + } + + const corrected = source.replace('encode({', 'encode({'); + writeFileSync(file, corrected); + compiler.prepare([file]); + expect(compiler.compile(corrected, file)).toContain('protobuf_encode_Msg'); + }); + }); +}); diff --git a/packages/proton/test/upstream/compiler/evaluation.test.ts b/packages/proton/test/upstream/compiler/evaluation.test.ts new file mode 100644 index 00000000..535ba86a --- /dev/null +++ b/packages/proton/test/upstream/compiler/evaluation.test.ts @@ -0,0 +1,75 @@ +import { describe, expect, it } from 'vitest'; +import { run } from '../compile'; + +const schema = 'interface Msg {value:pb<1,uint_32>;}'; + +describe('call evaluation', () => { + it('preserves optional receiver short circuiting and single evaluation', () => { + expect( + run(`${schema} + const events:string[]=[]; + class Codec {encode(value:T) {events.push('encode');return protobuf_encode(value);}} + function get(present:boolean):Codec|undefined {events.push('get');return present ? new Codec() : undefined;} + function argument():Msg {events.push('argument');return {value:7};} + export const absent=get(false)?.encode(argument()); + export const result=[...get(true)?.encode(argument())!]; + export {events}; + `), + ).toEqual({ + absent: undefined, + result: [8, 7], + events: ['get', 'get', 'argument', 'encode'], + }); + }); + + it('preserves getter receivers, multiple spreads and trailing commas', () => { + expect( + run(`${schema} + const events:string[]=[]; + const codec={encode(value:T,...labels:string[]) {events.push(...labels);return protobuf_encode(value);}}; + const holder={get current(){events.push('get');return codec;}}; + function values():[Msg] {events.push('values');return [{value:7}];} + function labels():string[] {events.push('labels');return ['a','b'];} + export const result=[...holder.current.encode(...values(),...labels(),)]; + export {events}; + `), + ).toEqual({ result: [8, 7], events: ['get', 'values', 'labels', 'a', 'b'] }); + }); + + it('evaluates constructor defaults before the body and preserves rest arguments', () => { + expect( + run(`${schema} + const events:string[]=[]; + class Codec { + constructor(public value:T, public bytes=protobuf_encode(value), ...labels:string[]) {events.push(...labels);} + decode() {return protobuf_decode(this.bytes);} + } + function args():[Msg,undefined,string,string] {events.push('args');return [{value:7},undefined,'a','b'];} + const c=new Codec(...args()); + export const result=c.decode(); export {events}; + export const length=Codec.length; + `), + ).toEqual({ result: { value: 7 }, events: ['args', 'a', 'b'], length: 1 }); + }); + + it('preserves default codec calls in generic callback implementations', () => { + expect( + run(`${schema} + function encode(value:T, bytes=protobuf_encode(value)) {return bytes;} + function apply(value:T, fn:(value:U, bytes?:Uint8Array)=>Uint8Array) {return fn(value);} + export const result=[...apply({value:7},encode)]; + `).result, + ).toEqual([8, 7]); + }); + + it('supports generator and async generator bodies', async () => { + const result = run(`${schema} + function* encode(value:T) {yield protobuf_encode(value);} + async function* later(value:T) {yield protobuf_encode(value);} + export const result=[...encode({value:7})].map(bytes=>[...bytes]); + export const pending=later({value:8}).next(); + `); + expect(result.result).toEqual([[8, 7]]); + expect([...(await result.pending).value]).toEqual([8, 8]); + }); +}); diff --git a/packages/proton/test/upstream/compiler/modules.test.ts b/packages/proton/test/upstream/compiler/modules.test.ts new file mode 100644 index 00000000..a7277e60 --- /dev/null +++ b/packages/proton/test/upstream/compiler/modules.test.ts @@ -0,0 +1,54 @@ +import { bundle } from '../project'; +import { describe, expect, it } from 'vitest'; +import { imports } from '../compile'; + +describe('module graph', () => { + it('resolves nested imported schemas and renamed exports', async () => { + expect( + await bundle({ + 'inner.ts': 'export interface Inner {value:pb<1,uint_32>;} ', + 'outer.ts': + "import type {Inner} from './inner'; export interface Outer {inner:pb<1,Inner>;}", + 'barrel.ts': "export {Outer as Message} from './outer';", + 'entry.ts': `${imports} import type {Message as Msg} from './barrel'; export const result = protobuf_decode(protobuf_encode({inner:{value:7}}));`, + }), + ).toEqual({ result: { inner: { value: 7 } } }); + }); + + it('keeps wrapper control flow, object receivers and transitive generic aliases', async () => { + expect( + await bundle({ + 'schema.ts': + 'export interface Box {value:pb<1,T>;} export type Message = Box>;', + 'codec.ts': `${imports} import type {Message} from './schema'; + export const api = { count:0, encode(value:Message, enabled=true) { + this.count++; if (!enabled) return new Uint8Array(); + const inner = () => protobuf_encode>(value); return inner(); + }};`, + 'entry.ts': `${imports} import {api} from './codec'; import type {Message} from './schema'; + export const result = protobuf_decode>(api.encode({value:{value:'x'}})); + export const empty = api.encode({value:{value:'x'}}, false).length; + export const count = api.count;`, + }), + ).toEqual({ result: { value: { value: 'x' } }, empty: 0, count: 2 }); + }); + + it('handles recursive types across modules', async () => { + expect( + await bundle({ + 'a.ts': "import type {B} from './b'; export interface A {value:pb<1,uint_32>; next?:pb<2,B>;}", + 'b.ts': "import type {A} from './a'; export interface B {text:pb<1,string>; next?:pb<2,A>;}", + 'entry.ts': `${imports} import type {A} from './a'; export const result = protobuf_decode(protobuf_encode({value:7,next:{text:'x'}}));`, + }), + ).toEqual({ result: { value: 7, next: { text: 'x', next: null } } }); + }); + + it('resolves nested generic functions with non-first schema parameters', async () => { + expect( + await bundle({ + 'codec.ts': `${imports} export function send(context:Context, value:T) { if (!context) throw new Error('context'); return protobuf_encode(value); }`, + 'entry.ts': `import {send} from './codec'; interface Msg {value:pb<1,uint_32>;} export const result = [...send('ok',{value:7})];`, + }), + ).toEqual({ result: [8, 7] }); + }); +}); diff --git a/packages/proton/test/upstream/compiler/types.test.ts b/packages/proton/test/upstream/compiler/types.test.ts new file mode 100644 index 00000000..a5ff2bba --- /dev/null +++ b/packages/proton/test/upstream/compiler/types.test.ts @@ -0,0 +1,87 @@ +import { describe, expect, it } from 'vitest'; +import { run } from '../compile'; + +const schema = 'interface Msg {id:pb<1,uint_32>; text:pb<2,string>;}'; + +describe('schema type transformations', () => { + it('uses class parameter properties and ignores static metadata', () => { + expect( + run(` + class Msg {static label='message';constructor(public value:pb<1,T>) {}} + export const result=protobuf_decode>(protobuf_encode>(new Msg(7))); + `).result, + ).toEqual({ value: 7 }); + }); + it('captures function generics in local schemas without mixing instantiations', () => { + expect( + run(` + function encode(value:T) { interface Local {value:pb<1,T>;} return protobuf_encode({value}); } + export const result=[[...encode(7)], [...encode('x')]]; + `).result, + ).toEqual([ + [8, 7], + [10, 1, 120], + ]); + }); + it('extracts schema types through infer, functions and promises', () => { + expect( + run(`${schema} + type Result = T extends (...args:any[])=>infer R ? R : never; + type Unwrap = T extends Promise ? Unwrap : T; + type Schema = UnwrapPromise>>>; + export const result = protobuf_decode(protobuf_encode({id:7,text:'x'})); + `).result, + ).toEqual({ id: 7, text: 'x' }); + }); + + it('supports Awaited, ReturnType, Parameters and type queries', () => { + expect( + run(`${schema} + function load(value:Msg): Promise {return Promise.resolve(value);} + type Result = Awaited>; + type Input = Parameters[0]; + export const result = protobuf_decode(protobuf_encode({id:7,text:'x'})); + `).result, + ).toEqual({ id: 7, text: 'x' }); + }); + + it('propagates deferred conditional transformations through generic functions', () => { + expect( + run(`${schema} + type Unwrap = T extends Promise ? U : T; + function encode(value:Unwrap) {return protobuf_encode>(value);} + export const result = protobuf_decode(encode>({id:7,text:'x'})); + `).result, + ).toEqual({ id: 7, text: 'x' }); + }); + + it('remaps literal field names and omits never keys', () => { + expect( + run(`${schema} + type Rename = {[K in keyof T as K extends 'text' ? never : \`field_\${Capitalize}\`]:T[K]}; + export const result = protobuf_decode>(protobuf_encode>({field_Id:7})); + `).result, + ).toEqual({ field_Id: 7 }); + }); + + it('selects explicit schemas with Extract and Exclude', () => { + expect( + run(`${schema} + type Schema = Extract; + type Chosen = Exclude; + export const result = protobuf_decode(protobuf_encode({id:7,text:'x'})); + `).result, + ).toEqual({ id: 7, text: 'x' }); + }); + + it('supports constructor signatures and indexed tuple transformations', () => { + expect( + run(`${schema} + type Constructor = new(value:Msg)=>Msg; + type Instance = InstanceType; + type Input = ConstructorParameters[0]; + export const result = protobuf_decode(protobuf_encode({id:7,text:'x'})); + `).result, + ).toEqual({ id: 7, text: 'x' }); + }); +}); diff --git a/packages/proton/test/upstream/plugin/package-name.test.ts b/packages/proton/test/upstream/plugin/package-name.test.ts new file mode 100644 index 00000000..d5b08043 --- /dev/null +++ b/packages/proton/test/upstream/plugin/package-name.test.ts @@ -0,0 +1,25 @@ +import { expect, it, vi } from 'vitest'; + +vi.mock('../../../package.json', () => ({ name: '@test/renamed-codec' })); + +import protobufPlugin from '../../../src/index'; +import { ProtobufCompiler } from '../../../src/compiler/compiler'; +import { protobuf_encode } from '../../../src/runtime'; + +it('uses the manifest name for imports, plugin identity and diagnostics', () => { + expect(protobufPlugin().name).toBe('@test/renamed-codec:vite'); + expect( + new ProtobufCompiler().compile( + `import {protobuf_encode} from '@test/renamed-codec'; + interface Msg {value:pb<1,uint_32>;} protobuf_encode({value:7});`, + 'renamed.ts', + ), + ).toContain('protobuf_encode_Msg({value:7})'); + expect(() => protobuf_encode({})).toThrow('@test/renamed-codec Vite plugin'); + expect(() => + new ProtobufCompiler().compile( + `import {protobuf_encode} from '@test/renamed-codec'; protobuf_encode({});`, + 'error.ts', + ), + ).toThrow('[@test/renamed-codec]'); +}); diff --git a/packages/proton/test/upstream/plugin/vite.test.ts b/packages/proton/test/upstream/plugin/vite.test.ts new file mode 100644 index 00000000..a84d3c92 --- /dev/null +++ b/packages/proton/test/upstream/plugin/vite.test.ts @@ -0,0 +1,108 @@ +import { describe, expect, it } from 'vitest'; +import protobufPlugin from '../../../src/index'; +import { packageName } from '../../../src/package'; +import { ProtobufCompiler } from '../../../src/compiler/compiler'; +import { run, imports } from '../compile'; +import { withProject } from '../project'; +import { join } from 'node:path'; +import { writeFileSync } from 'node:fs'; + +const schema = 'interface Msg { value: pb<1,uint_32>; }'; + +describe('plugin entry', () => { + it('watches type-only dependencies and rebuilds importers after schema changes', async () => { + await withProject( + { 'message.ts': 'export interface Msg { value: pb<1, uint_32>; }' }, + (directory) => { + const plugin = protobufPlugin(); + const transformHook = plugin.transform!; + const transform = + typeof transformHook === 'function' ? transformHook : transformHook.handler; + const dependencies: string[] = []; + const context = { addWatchFile: (path: string) => dependencies.push(path) } as any; + const file = join(directory, 'entry.ts').replaceAll('\\', '/'); + const message = join(directory, 'message.ts').replaceAll('\\', '/'); + const source = `${imports} import type { Msg } from './message'; protobuf_encode({value:7});`; + const initial = transform.call(context, source, file) as { code: string }; + expect(initial.code).toContain('buf[offset++] = 8;'); + expect(dependencies).toContain(message); + writeFileSync(message, 'export interface Msg { value: pb<2, uint_32>; }'); + const updateHook = plugin.handleHotUpdate!; + const update = typeof updateHook === 'function' ? updateHook : updateHook.handler; + const module = { id: file }; + expect( + update.call( + {} as any, + { + file: message, + server: { + moduleGraph: { + getModuleById: (id: string) => + id === file ? module : undefined, + }, + }, + } as any, + ), + ).toEqual([module]); + const updated = transform.call(context, source, file) as { code: string }; + expect(updated.code).toContain('buf[offset++] = 16;'); + }, + ); + }); + + it('recognizes the package name from package.json', () => { + const plugin = protobufPlugin(); + const hook = plugin.transform!; + const transform = typeof hook === 'function' ? hook : hook.handler; + const result = transform.call( + {} as any, + `import {protobuf_encode as encode} from '${packageName}'; ${schema} encode({value:7});`, + 'entry.ts', + ) as { code: string }; + expect(result.code).toContain('protobuf_encode_Msg({value:7})'); + }); + + it('leaves unrelated modules and declaration files alone', () => { + const plugin = protobufPlugin(); + const hook = plugin.transform!; + const transform = typeof hook === 'function' ? hook : hook.handler; + + for (const file of ['entry.js', 'schema.d.ts', 'schema.d.mts']) { + expect(transform.call({} as any, schema, file)).toBeNull(); + } + + expect(new ProtobufCompiler().compile(schema, 'schema.ts')).toBeNull(); + }); + + it('generates only codecs reachable from actual calls', () => { + const code = new ProtobufCompiler().compile( + `import {protobuf_encode} from '${packageName}'; ${schema} + interface Unused {value:pb<1,Missing>;} + protobuf_encode({value:7});`, + 'used.ts', + )!; + expect(code).not.toContain('function protobuf_decode_'); + expect(code).not.toContain('function protobuf_encode_Unused'); + expect(code).toContain('function protobuf_encode_Msg'); + }); + + it('reports unresolved types instead of leaving runtime calls behind', () => { + expect(() => run('protobuf_encode({});')).toThrow(/Unresolved type Missing/); + }); + + it('fails clearly when the build plugin is absent', async () => { + const runtime = await import('../../../src/runtime'); + expect(Object.keys(runtime).sort()).toEqual([ + 'protobuf_decode', + 'protobuf_encode', + 'protobuf_getUnknownFieldMetadata', + 'protobuf_getUnknownFields', + ]); + expect(() => runtime.protobuf_encode({})).toThrow( + `not transformed by the ${packageName} Vite plugin`, + ); + expect(() => runtime.protobuf_decode(new Uint8Array())).toThrow( + `not transformed by the ${packageName} Vite plugin`, + ); + }); +}); diff --git a/packages/proton/test/upstream/project.ts b/packages/proton/test/upstream/project.ts new file mode 100644 index 00000000..9bd58a4b --- /dev/null +++ b/packages/proton/test/upstream/project.ts @@ -0,0 +1,79 @@ +import { build } from 'vite'; +import protobufPlugin from '../../src/index'; +import { mkdtempSync, mkdirSync, writeFileSync, rmSync } from 'node:fs'; +import { tmpdir } from 'node:os'; +import { join, dirname, posix } from 'node:path'; +import { packageName } from '../../src/package'; + +export async function withProject( + files: Record, + action: (directory: string) => T | Promise, +): Promise { + const directory = mkdtempSync(join(tmpdir(), 'protobuf-compiler-')); + + try { + for (const [name, text] of Object.entries(files)) { + const path = join(directory, name); + mkdirSync(dirname(path), { recursive: true }); + writeFileSync(path, text); + } + + return await action(directory); + } finally { + rmSync(directory, { recursive: true, force: true }); + } +} + +export function bundle( + files: Record, + entry: string | string[] = 'entry.ts', +): Promise { + return withProject(files, async (directory) => { + const output = await build({ + configFile: false, + root: directory, + logLevel: 'silent', + plugins: [protobufPlugin()], + build: { + write: false, + minify: false, + target: 'es2022', + lib: { + entry: Array.isArray(entry) + ? entry.map((file) => join(directory, file)) + : join(directory, entry), + formats: ['cjs'], + }, + rolldownOptions: { external: [packageName] }, + }, + }); + const result = (Array.isArray(output) ? output[0] : output) as { + output: { code?: string; fileName: string; name: string; isEntry?: boolean }[]; + }; + const cache = new Map>(); + + const load = (name: string): Record => { + if (cache.has(name)) { + return cache.get(name)!; + } + + const chunk = result.output.find((chunk) => chunk.fileName === name); + + if (!chunk?.code) { + throw new Error(`Unexpected runtime dependency: ${name}`); + } + + const exports = {}; + cache.set(name, exports); + new Function('exports', 'require', chunk.code)(exports, (specifier: string) => + load(posix.normalize(posix.join(posix.dirname(name), specifier))), + ); + return Object.fromEntries(Object.entries(exports)); + }; + + const entries = result.output.filter((chunk) => chunk.isEntry); + return Array.isArray(entry) + ? Object.fromEntries(entries.map((chunk) => [chunk.name, load(chunk.fileName)])) + : load(entries[0].fileName); + }); +} diff --git a/packages/proton/test/upstream/schema.ts b/packages/proton/test/upstream/schema.ts new file mode 100644 index 00000000..55542702 --- /dev/null +++ b/packages/proton/test/upstream/schema.ts @@ -0,0 +1,40 @@ +import ts from 'typescript'; +import { SourceContext } from '../../src/source/context'; +import { SchemaResolver } from '../../src/schema/resolver'; +import { generateCode } from '../../src/codegen/generator'; + +export function schemaCodecs(code: string, name = 'Msg') { + const generated = generateCode(schemaRegistry(code)); + return new Function( + `${generated}\nreturn { encode: protobuf_encode_${name}, decode: protobuf_decode_${name} };`, + )() as { + encode(value: T): Uint8Array; + decode(bytes: Uint8Array): T; + }; +} + +export function schemaRegistry(code: string, file = 'schema.ts') { + const context = new SourceContext(); + const source = context.source(file, code); + const resolver = new SchemaResolver(context); + const roots: string[] = []; + + for (const statement of source.statements) { + if (ts.isInterfaceDeclaration(statement) && !statement.typeParameters?.length) { + roots.push(statement.name.text); + } + } + + const expanded = context.source( + file, + code + roots.map((name, i) => `\ntype __TestRoot${i} = ${name};`).join(''), + ); + + for (const statement of expanded.statements) { + if (ts.isTypeAliasDeclaration(statement) && statement.name.text.startsWith('__TestRoot')) { + resolver.message(resolver.type(statement.type), statement); + } + } + + return resolver.registry; +} diff --git a/packages/proton/tsconfig.json b/packages/proton/tsconfig.json new file mode 100644 index 00000000..6ca23ff3 --- /dev/null +++ b/packages/proton/tsconfig.json @@ -0,0 +1,20 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "types": ["node"], + "noEmit": true + }, + "include": [ + "src/**/*", + "test/__tests__/**/*", + "test/helpers/**/*", + "test/upstream/**/*", + "protobuf.d.ts" + ], + "exclude": [ + "node_modules", + "dist", + "test/fixtures" + ] +} + diff --git a/packages/proton/vitest.config.ts b/packages/proton/vitest.config.ts new file mode 100644 index 00000000..5ab9cb52 --- /dev/null +++ b/packages/proton/vitest.config.ts @@ -0,0 +1,7 @@ +import { defineConfig } from 'vitest/config'; + +export default defineConfig({ + test: { + include: ['test/**/*.test.ts'], + }, +}); diff --git a/packages/runtime/.gitignore b/packages/runtime/.gitignore new file mode 100644 index 00000000..3c3629e6 --- /dev/null +++ b/packages/runtime/.gitignore @@ -0,0 +1 @@ +node_modules diff --git a/packages/runtime/check-node-version.cjs b/packages/runtime/check-node-version.cjs new file mode 100644 index 00000000..45900583 --- /dev/null +++ b/packages/runtime/check-node-version.cjs @@ -0,0 +1,27 @@ +'use strict'; + +const SUPPORTED_NODE_RANGE = '^24.22.1 || >=26.12.1'; + +function parseNodeVersion(version) { + const match = /^(\d+)\.(\d+)\.(\d+)(?:\+[0-9A-Za-z.-]+)?$/.exec(version); + return match ? match.slice(1, 4).map(Number) : null; +} + +function isSupportedNodeVersion(version) { + const actual = parseNodeVersion(version); + if (!actual) return false; + + const [major, minor, patch] = actual; + if (major === 24) return minor > 22 || (minor === 22 && patch >= 1); + if (major === 26) return minor > 12 || (minor === 12 && patch >= 1); + return major > 26; +} + +if (require.main === module && !isSupportedNodeVersion(process.versions.node)) { + console.error( + `error: SnowLuma requires Node.js ${SUPPORTED_NODE_RANGE}; found ${process.versions.node}.`, + ); + process.exitCode = 1; +} + +module.exports = { SUPPORTED_NODE_RANGE, isSupportedNodeVersion }; diff --git a/packages/runtime/launcher.bat b/packages/runtime/launcher.bat new file mode 100644 index 00000000..963b9335 --- /dev/null +++ b/packages/runtime/launcher.bat @@ -0,0 +1,7 @@ +node .\check-node-version.cjs +if errorlevel 1 ( + pause + exit /b 1 +) +node ./index.mjs +pause diff --git a/packages/runtime/launcher.sh b/packages/runtime/launcher.sh new file mode 100644 index 00000000..62fae383 --- /dev/null +++ b/packages/runtime/launcher.sh @@ -0,0 +1,17 @@ +#!/usr/bin/env bash +set -euo pipefail +cd "$(dirname "$0")" + +# Prefer bundled node when present; fall back to $PATH. +if [[ -x "./node" ]]; then + NODE_BIN="./node" +else + NODE_BIN="$(command -v node || true)" + if [[ -z "$NODE_BIN" ]]; then + echo "error: 'node' not found on PATH and no bundled ./node; install Node.js 24.22.1 (24.x) or >=26.12.1." >&2 + exit 127 + fi +fi + +"$NODE_BIN" ./check-node-version.cjs +exec "$NODE_BIN" ./index.mjs "$@" diff --git a/packages/runtime/native/ffmpeg/ffmpegAddon.darwin.arm64.node b/packages/runtime/native/ffmpeg/ffmpegAddon.darwin.arm64.node new file mode 100644 index 0000000000000000000000000000000000000000..11b16ed7701292b9630a3c18e603cccbdb529fb9 GIT binary patch literal 5433376 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ⅇ&SKQ~R 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ෆn)2Z=0!U5LUcIO2Zq{K^zH3i_gnHV*_`<* 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%0DA5t^xR4KDU^2;&~v(OycONJ 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ℑ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 z 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

    h-P}rD?`cyuBkGnce%K?EQ5yaXI*27K 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⪚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 z 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�JZrAIF74SZd}50VP*YP2^>Z`Lm`@LxYS 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%0Al-& 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 z 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 Y75EkS75EkS75EkS75EkS|4QKh0m(o*nE(I) literal 0 HcmV?d00001 diff --git a/packages/runtime/native/ffmpeg/ffmpegAddon.linux.arm64.node b/packages/runtime/native/ffmpeg/ffmpegAddon.linux.arm64.node new file mode 100644 index 0000000000000000000000000000000000000000..87642d82f83004d213e075b6f20d25b385caf587 GIT binary patch literal 5380160 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�Y= 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 z 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≀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෼Xk5O+rQBY$xfWVj^!N-ZyW%BEuKwmEi$=of#RX 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ຠYYQ{K-@e5}(j|mGH3uB*fGj`T66XhODXd}(N&v`+h z>>HHb3QU1j)v`h1$p!F+o+di=4ikMAI8U3#nhCZ&zv&bF1mB5_XVr4-SiYZqv?Tlr zzb6&>qwBs^5>}mcz*zA0_nhLJVqESwOa`#Za8E8U(cAcsJjYM(aIXXY?41gfUjsej zUtOJmvBmfsz=KhyFZAbhPbxCenO|p2H-ihe0^cRz`Eqp3gng8nQO2>m=xu5R4Z@TUwadh8(le`}! zIUh&r-8U1bblm=x`{};>rn{f+yKj>HSnwUe&5?Td&D6;qGrn>^9@fHh&b<(Sd-qLO zKdE=$n8_VuzG^?|+-<@q^}ZARw#@3i&pNDnVv+U#a_$o>_wJjne*7u@aG%qmuX=Y!F|gy43cF`7;~5`4OX5OTKf#oKVv{<4 z`&IiXr%gU*^)s7ie9qfX>fJZLD(`sZtM;>sHu;>@&vu^iN$sZ#=S<4oHxnmyguiM( zj<0t2O&8ou%H20PQ#w|D<$k`}-8bF+JlxHDf)hLDedT_>+TAzZ{iNJ|vu<+7^Hl&AKSJF(-!uiQ@sJg(wwd^^wGH&%j|u1f7^ z-K37r&;Iw^eWP>qb??n&?!S2$KjF0M`H|na{L$O~FemaB&#xm_|Clp-*hkK+VbiJ? zMjpY(@y+UsBY%%>eA^#xi|7uV)Vpt{;rGmJH}?Y+%@?BE%K6fksEi>P{Z-~&iZ8DmF^-?4t89Ju$sO{%*x7*=Nyxt z6pf)*D?U4@A$}*0{EdaKX_0$5?@0IH3}9>*G7sH{W4H@PKH7oC|H*s3S3dRs<$G|} zv4^F_dBOjS_u%yX|L?&GIzsO`3hR}htNTD4OB*5voNN7?dvN0WkCOM`KnF9l2PyY` zzwOiBxZLV9l0CMsun%{5rsclGWx2uq>DMOi!Fh|{hn@LNnc$rp-K!TgB)e|B$*g(P zWoEj_6IE`u_P#jD4{PDK#?+9w6XyVVpbzUz0^$hDvwdiJMp%29ltX+6`NUP+fg{?~ z8RR_}o9@KPp^qBQGfSRNFq^Z?+MKSY1)OE3dvWUU{l98mQ1fH%eLA1MUbLh-G9DhW z`F{V}9*nVs7;LFUOsIBlWDdCr6W*_i%q3P=haIqkIDXx-^geoqT@aY?k1Kqe`M;O_ z7|Y+jrk*`KA&59si=FjS7JHFngTlMGGv|OIhJZctI)1?^5BP}-4++oB9Ymb8mu;WV zU2s|C7p%)_eC=P-cVGwhQ%c`%?w!oPYe7}yC3w$1zPHVH@uB+?>bLc*~$fjBfE$@ z>G?6rRnLs`l4q4uFTa7m+86Oz8TFePlk6Xz_o`e<7r3MK5)ZqA9P0;a2ln0!{v3wB zGr%dGyS0uzKA$dS9|dQ@>Fj1V>v<5nztfRkv&L~Y&In(GH^Q0M$o&t38@f}ciMGLs z8S;Y|)_c6wx2DFKSns9f#I1JNajW*)+alt%Er~Phz4WiM>b-rP;cIIvBW1O7BCe5s zUnxG8x{w$CJsiI6wt4nM;`c7r&RbdvT--Ly${sM0_n7mR1r-s_rO2Bwzamn}?@iSe zkrx)sj@(YJTMgfJFJn`icwW(*1s=ORlRm0EUhHiAHNfz>1;vrF`LiR>RnLx;f*(~+ zT+~%oMVX$Lvt|c~NqPrd#2C`;F>Iv09SOJ#=HxU)MQ4Kfm9=GSMQgG>M?q76#SX3f z-*Df~dFP4yb}}hX zo*6ubGlDb8OYm_fu=e8!$CCH$Jel6t{itw+`xVxKA7fYe*JcPWz&puH@scI)`SD+x z4&4c|&6VzcyE;2O-m+?Ppnv4%-lgD@?rsyV&FQ*d;cxHU8M|Xly#w0UnNf}Kr<>gu z)*t5kptFFZCXl`Ko0(_cW!*UEJgp`t+su5AGm&HX$+xAP4d>@9#o=DgM}aPma>s(+ z-Fe^K2(%JEKYy!vCKuk$^CesT%^ z%Qf)8U*WgBWx-YCTJ&&VhCfWP`rN#UzB+I?2Vbd|{FV{q5^u&w`8G5&+@zuFSbNrp zCol%(Q%UDJYUKomFBlbh({k;RKBRJub07Rwbu`u&sgpw=IkcBX-A(k**rU1^M`w(( zCeb)=)4^G3xn`!|pt-lq@^?6xx7Rq1IOw;5a}wu!POje%E$o}% zua9v zXY*~7;N6m28;$X8=3NV#h!Kx_~8f%Qr6nY$$X=|cyIrFfz1B%dgQAI$htx_&c}3lqP$ zL-^bRO}Vj`h1beUsrh&kXCgw=-|wdBH0W3KZzXB^$G`=8CJ!;XGM#VaooKp6`mN}i zoQsOn<-dzTyUoz|?B!OW_(gwcMKoRx4YU&P7mbVFTcJnMh4_P6<_JsX#mI5s?EUCJ zaIdM&2arEOC-N!7gj<|{=QArzp=e(^dOq!*{2SWOC;r_{`|qX4X}^VhgC^)cHZLxN zC1(dUd+OPn(wLT+R@{*duxgbzT|2jB(bQQl=HEE>;5 zW(IBEFvQ+#;eB9e*bErTny1whU$k{9(M%=0K{&BeXAG17@=7cA($a7H@@pfJ{u#`< zjXdh_-sHO(nkOdaZan}E2fpLm=5z%9>?F7HkN)V#6TaoUk5~h75O?bb{^*0?_@5k( z0J$yh*58rmkIW5It{6%C@BPu==j7L4>u?2TIN%%b7ug(&W$q-`%jGEIcR%-?Hvj1D zZcjJSh0!wKLH0?^`A5I+FnRZHY$PY2T%3aqCE@HXL&&F0tKZ#N5^lS{B%BT%Z@GV5 zct3pRLB1dM`pC0Ps~>z}X}FPmPSN-ygS_FPp3<;$%_ZT%Kf2g{|LINR!m<0WvG-VP zBul9zI&{kG8_Qq?fcld`&n9esPSP|25?MZGYrScvV{cZ-0GF_~?SmBgcMq zS@;0Bmt(8|@i26TTzB2pv39IVeCm2^rlatYqwpH#+e^Rv5dJd6a=4Gtj$*Ln*xEYw zLutg<;8Dtv{)qb0Hy$JBn*43nNV)oX?#JL)N6|U#eoQa7+9u!L-A0=`cz2h{CJvVs z*hyQ;m)*sC?aXHv?|H$4+0-XqSO2id42+;Wk2V+a?hQOIhL;puXY;yC;B}j7pSSIj z>r!~##nSiTbq{y(I&6`;OTsP4Knh98*vFdEyLz_v*CATUHp!{5Kmkj zZs)yZ`Ksz}o|g&UcsxwpV;05v2XuJh}nB;XW@Ud=QXW6_? zyfF4{)6vE2kcmN8aPMtt@H*soMGv>F=OlUEmGIQF^_(x^b?^Y2*M0w7UN<$)>v;Y* zypCt7yzWiTg6-0K9y*)XdAw%kMMWpq6BEVn=RAwo9b}&3b%(y)&Fh-P>q^bX(qBwz zX80hyIFqwwWn0+1j{jNkx`y-WK~8v`vy0cQgx85@+PrQSysp>^NgkWpA4ha{R%@T{ z_y!<@$=|4N$ta6T7IAh~^w?E5`=-JF%E9{}^tsZY*L?1e?kl{tYoADaC;6b4-{SiZ zXi9rO+Tn|*c1Q;z{tHjMkbMlNUiU|Tf!?w2h(Fq&y&ONs9#C%d4AXoG3u$|()!=Zv;_Oc}f)CuexL1sN)u zYjNJ>)BcCC^dXz26df<$0;B=dkeO%%cguyo>T-Lr37pVZF>H zVd6l}p0M$+iCQs#|?N>S{l>Xk7Uz z9|C*v&&|k}m#m%v>3P9kp72MKO~CExUKiW^`iHDb0X%OSasO;|x{J}_Bu~Zf!%oZX zh0o<#0|HNjpB8*CW)-^q@VjQKAh4Z$dd{1U@71BKnCBLIql$t3gC;#-!4vh4gXjAk zX@OYSPyWjQ-Wd=W>twyS$J0X{PvYI)d~ak7n;Fl0jy(JQT=LUfc<&f^kWM>(WW}U( z10J#Gf%@M;hV-Y6x2*zqKg!kC2>xHn@1A_0;!LLh$2=Lm;(v-K^WInG$sc~{*-`H% z^w8(+JDA`vFU!tL+Lp?P?!mKm_B+^o`L}VtT!DT0682?Jcy^aA8fJe_LKm%+E{Z-Y z|4Iuy($+=ct$cuTHvp@>kYLUmR}p>6dN$^tWg8X*1Hy+&19k`UB57LWkhh2b~#B@;^4f`U~en_ln zxc1Ok_1IN5ZHw=u^KmQ{+g>~%X z`L66f_L2ONT)=7QW%=k)b7D)c%|+bl~!`=>E}VQQZUeHge{XiGJVXwJUt>6Uw5a zd5?G9?NiF4L(z#xq7%1YRTe#oU3~za+djT5x|`qKHg+%focWhUO0h5N;Oj1UKyPr@ zmFthX;kjv<{+Wi-WKgX8-4z{;!>>2Focyy@tm0I;b0uIl=p*=`e{k_ax zc6QxOqv6ArZC6WA&OC(O$^YICNB!pZk>Q$_(c$Se;_iFMfLiV>}M5r_+vXYQa!@KW^ZiyR0;KE;_&L>k-r&;mE1iekAy& z`!#2pyS=6?>RT{8@?+x;9J&!%O#g1`9cFKcVCSYy8-90|MYCz|&%osPx67jUT7Bye ze77u`$yl_nv%RV;`pGw0hgoIO<;cY^lJK2Jn}PGec$DqOs58CYJLxa)92m=o(GBAS zT!Hae?O|ZvwqL`B^EI}Nl7B-mUXG3NE_1A_?S{3D|Lr5fH!wHBJQtV>)`GL}Ot5|j z7~J4c9-0LVyWuO@7KfX|hV@C{n1t_pz*=y<61Xe^&VuVmM{jo?^AUX8*Oo=|fL|8n zg6pBBWzk8<(c>%1qJno9Zmutj?gb79R+rgu?}BMP@O-GO81L+yWlMNN`Db-cLIxvz*%sG zzPj-EW8f%U7QMNcUlPV6fpH#l6ds3+qh9dK1;&E=6Ube`T(BHOUyoGB;Vc*le|JGI z!{|@2{V8?tOUUR-_+8RR^xw9d&{_VcWHj%6RT+K9m&)k>NXY14H10=^5zDa8O3CLt zc?XrwNtXSTJYOD1catrzv5zdCOP2l|ncaYVmfX~N$vO{9F*e0Q9&)+dkL9@B4=zhD zJj!{e>NC*&2_{>U9`Il`SEN*uKwqDYQ)b!-bSo; z$C80J?ju&)f5(;e-bAc+?(($oZO9(kXiMGw>#LUa39qxykt=LEKt7h2|C*nV^Nw@) zu11C^C)Ued9OP5%9qP`kzueuYUS~kmaaPj0Vx5=k0dYF$NSuj6xr^_E5hp(mW<3Z$NUm6}{ z4Z{B)mxGGm?SOWL`>zob+=zT@V;||7k@&=y#BHe9L;mPbz~4Ktm10Xd3j=%V5cc7| z9`ZY7yALmBKNH`l=U)@~Ej02I@ctO@oL)^%is=>T#knC>it+I7G4$;LgZRdeGXR-y zmW?CsGA{fpQ&7L$=zMHWD8!BOxN9DhRH zpb18m2lE{BbuiBg?8ZB)XGdl)ZHfrC=#tTI@_aVF-aD)BjI=e+!l%dHWc*ZZ*sE2| z#lW_Q?Xz*tA0E-OV=7ag!0}fA!O(ufwKU#UjQ$H&CH`0qEqAJl`idE zdRxSBF2g{Fvt}Z6t2hh(ih$_4N1mA(Bi5q--8AhAv~w5qAbfekMd2j=g+N_`rj<9L zIH!Ha>u*cyKOkl_sb+3uJ~+39GigdTmO|6M@Fqh{9{pB2u4twW+?SrwUS}ee&~ywN zrT>k@h_3p!uSe}aN6@cBG5oj(3UBI;5&a(D26+Dlb~5{`-LXCX=#jYT^dLs$M1OUF;ho8s13S*Ad7Eoxi)+PZTQ^U z*ni)KY-qdxl5iV#nUfe%8$OE1(Q8)|S2~8D>=?F?Az$Ebo^{2DusII=YEbwXHpBtu z=?lTn_-@CK{`{}vx|rw#KWF_6M|OQ?s02NLa`>-wgG_!ac4Yewp136ZPu2zX?fAy9 z$!$GLJh1ACYr-z0xR=|#Y5o<&{DCPl9i1_-5Z)%(zQp+w@}chJ{kN#I(CBQQ0k(ed z7;t}#e1QkhbBSBI*)W3L|^2WrQlusu9q}Y^~ zXY!Rk3NKrS9uhz=nZ}(qW#}U=&Lf-2-8SNN;(6!eXGi0{+&Djb=xlx##FrcC4?mmW zwE3C*Wfr+d4VLA8)v{_Ph^N69*drPcf9nDNi@_W8zniBy1LUy<+JT*ovxf7fz+dgF zs{(%yF?KKdN>zfll_EDjAok^b%UfSc4%jeo=n;5Z+2#^>+c3_J(Rl>KLHNiA*aE%S zJPzJwiMLe|$A< zSolcA!apbeHR1pAwNT#jkcl3k4tF-&K4L#-G;j`wyX6FaTzKfy%+vN2e~SOtk+4J2 z$I#FDSng8J&)P}cL^fuQ9q-C@?_|8$FO~V8K@V^}>Gv(~@P@O9b^ZC&kno?0MM=;3 z0zP;vI@&e&jSUwqE$w~|Uwnob$?{W!!^=B{gdgJED!nuBY4Spz9&Gz)zkpv}!@Gjf zHN5*BVqJpM*tuiE!FEr$=yPJ}l&vPm=1KfCdS84}v4&FvZ}6=lo+Tac_J1B3-m&H~ zyUi)|^U#1X;UA%&jj80EA9T4t;4gTS^Rb3}ZCv=K7WskG>ZhT*u^*~_n2$QNacC|4 z|FIF_`}Pt0q7SWEfBLK2;t7xCTXINiH#ad9n?LCcG{WGpE>JeIc(T8Y4wDI*6 zo}Q|I{_p1LtG*&nKk}tEW74ntPmRRaUQXuZCV9Givq@fV^YO>y`look&Bx)x;^X4c z;<@e=9$rZdtOeb&68*D*dwLe%&soa%TZJw1|K4v3H%d-O|AdF@4EB~9VkYA4&{xZy z!DtNKL2^PoT()SZbW+w_u|NAg_`2e3_HTGQyd}EAGBv|9;`s%Nxg~ARIDh|=m>c|E zd_7j?o4NW-^{*toum#s(B#zQ6sPF0kDtx+8@OlZs(kL`N%DO7vlE`5&`03i zNuD3qWA%I>w(477OY;7|)o1qsQ{lF~2QfvbJ%n77t(vOWen2d+)jpBXBuDZo1+fBJ; z+@lk1Lk8@I7wi)M&o3jccdM_F|C{yST^9WueT;LR+_7F|(f>&5zen)FinfoTzalg8 z_4{+qNTU2D)kQ|^g_d{0Q`)Q^foFKmxsUFfh!LGauXu^EaNdsl6ngeQ8|{bg>24;@ zr?}yZ@SZ{Fm75joL)TSo@D%#DVuC}lcNOzFHauLK#vW|oH#%)J{Ft-P zcxONUb;bXV;%63YH{qk+$5`YW{|#&L3zP4D3tfC)jz9X?6_q0eWXA#rb5550 zqJxnIR{dmRfjW<_>W%ohLT0BgeCU_{==1$Y*#3sx<&s0#_Vgj2^tIRnKLnP#T^aogv+$j+CX8b%(R+Q}p~C>{McGMoHu+iw~}h7W7JB>WNUdx-V2bG{f0 zJU;Ld>n5M~+xP+=r`<;~eBpLr{dC49_IXAhkwf-%Y?dP8gXD+@6c;>5c^KWj4*rf^ z5SVVq2l2ZQ8|02%d=LeJ2jKC_4|{_c;luEM@>>E2f2{MG(gT|)+eFz=&V}1T**@gT z!~E}!j8WV#4O>s|&&5W1fO6$;xR5C>)>r$vo%A8!c^mC1F6d7;QN;zvI-LQ<1KVg% z@xcDri%!~Ad{D8$3Vw5EPxMZH_vBmlF+4036MuuAv0g*sdvA8hq*R{>x*9YspU52K zkmy$WTGH0&^M9CJV$al<1Ba$Z4p*)j@wwo)<*U2hxjDo-SaO&dcFO2=7qzcVaZWxoqwX_nm~8-?*3 z&a@SeYg_D(zG^wU?%IC-R+~S57&vjmIFVcb1%z zE`OGs>Jyfa#g>vgR|w7xx&m0 zU4U&;;KZRlY7FMTVnYjG|V z=Q)aIWrL7w=AQa~wf2bwcF8_LN6`IpyC{>-ZwvOxtgFq(gWeicKXiUIIotkd7P@@n zror~U|MVV%?RbNDntTiMp=I&d+mKPRPZS>pW}!B80>wP*kqdX#ZjQ9UYmza~C37bF z?j4H$yypC|&$*^M_E~kF*k{#$8vAtaksl*9_9_2rYV1=y`Rv%I^SrUowvx2a{;IUl zoy0m95c7PE@xC!&h40(=V)4hi+vXA5!)HAbA6Of)x_&$-cf;KV{B>@^BrDU+-XZr~ z;+=yW8T>ACr@`YC?@UX?JJaoW=dkb+a!{&>Ef->+e223~Gd~_|$2*_P@sZzW)klbT zzWxULO_+<~o#OqQiFYa%I_*Q&hB^6&y-AMrc5wG-BHp>kaON>(is?z7DBh`fQQm@5 z;++}xnT)xPG-N_N-l;W>$2+r$ce?5o=gj5IMy>G;ymJ>aL_9kg>(rTnvON?FI>vkz zFC+Ik&;~5hnX8*N4iigz0h`gu`(FTqHsWsg;vYIr46O^6#NG}Pzsmxixq>ILx=-%J zmL-;_cxMsq?R$uLDDXX2gO2kzFuo#^X2ZC*`!)JiyfYQXxhLbDn~BFIVV#8YF5+-^0bj-76!T1lvtXQrX*~9s0o>B;vjPQU z!Sy7t6I|o4bRjdd0#^c~MZj2aO~yL&fT3WloNU23n>vE8;5?YQ9uCLhTLSDAyKMUz zu)`)lz9A0hE*Sp;7(bT+;~$qr_x%JIzffkw_t@Gvd{beoSf_CKll5iMx%lw@SHbvS zQ{c`F^P4zbKkL(lQ91n_zBLUw=`fPI1A<@ zfwAJ9|7=|Kaa`_g!}?|Ph*TIiRi6#x68afT|84NM*P$E1cQ5Z$p?9=lm*^2IBE8EaeVu=NV|JQar>oZnsBlh`KvitI9Qfcx?& zOVlN1?a1(JFN0lQbu8j(#KPWv)j`aaJ3K1VbvAZcW5t4D5uF>;NgFz2a|PeY`>oR1 zOHSTpUVEnB&iPq=S-Fq%e%w{Y8{Wv6pJnVTE%qSM{%}4z3+RD@3BJvYu^4~ZHtLBd z59Z^Ye{X~w)X+raK*ayTw zeD9#UI)U{!i0Mt@dj#-t1NYnU4ag3C?Ed9z?+lsH9Av!i(3@P%{taOLx=FLo)}7Md z_~tUM&AIZu-EZd#O)}{3X`ClqJuk93cW`*}o5O86G6~$Do29x#?Kw=U9uj%o#kpHO z;_qu-uZcdir;fPN9?mM&x;xpcr*%J$t*<-vb`SFVa>;+H<_xd5@$b)@RPK}9Jixx& zLD(4B8SX*72if$m^NA@7%=b<3`SJ#b_cPW>d4p{GrirqB^A|>r0mC@K?BdTLO3IaktfB_P|cS#;F1??Q@K{=W$zlc_fp4j)&0Y7AlShK0XJYr{eFN z1yzy3W^h>eDxT#f)}{ErU57m|6M%6XZ{xUJ28>&{kL&xpN8>Ax-@`X3NDdo(X&Ue( zW&%#TYIcLuv+2{KEpxvk+%CML&Z`dYFJ=$!esa{4`{Gj1NxGzm-xnC^_pRhSt=qvf z?rV!~C)UH6weU3U!6^=JUxL3|W94(*GH2l`&Uku`e7SOSk)4}6`(;Pr1pJj%OG+cF zm-PsXo?Dqq{O&!6z0di9>XOL0ckc=IIzu7JJNm7N^Nxf8~zC3E;QZfgIX^5BQ6B-1qiadySIo(6t7S`hA1Upzt=< zrD{Q?jVI--lj7L37kDFHXzMm~{yNrSH87b+oo(>0UHm@?y_16yP;L@;?nMtcFKnt} z&({{})Ul@f`4*f+%e#mr*8!(hz)x*Eo^%u{rdrJy6$91Ui64F7NUxd3{_1(GoytA; zXM{_foa;;-mEF!>pg}dBi0 zd(X}K#h{}@&djEx&TQh`R?|Z6kIN8VyEwy*HJ2Zyg8HH*e5}~3_}BC-K|c-fed8kD z!ZSbg6NG-)gVm>Dx2GPzK1~k=NpW4Z+{kG$r@1 zpL1trF|eMS4jqW+gMS-;Q10{gFA3N69~4fjofj#g?@I7cuogXR6r6##w|{ZCb;&%N z$Cu?=g~h=4+53jT}S<|H>vzeGB))-+MoX?cl9Zjs5>h~ zGrF5^c6wa)Rv~u}fYXf2hPz;{`}#yThu~{RSu??0wBMS-zvdus<8qe0_nIGaR(s*+ zKpR!$kL_A8FEX1t)uJ8d%U;regWShD7oSVL!_UQ8 zr-PAmubJ$?Zjq$GY5bG#PcN)uT%}8A+jPCU zzi1;Zu<5>H=q1g)n)MPLIF~uXo4`d^O-Uqvht;nev%v2!yUTALbZ{^5pTu2$Te!>5 zzMIgn@160d%Fq^Mkk+n(yZlx!xHqyHoPCgee%foJJ$?hZ&u=*ID7QxR)WElRgwBo= ztqA|YeP8n2g^BD#c^-bd8vdocf7gBRt7Tq^l>sQVx|IJwqq$2KK9o-;=0aOSV# zKBjH86_HJK{>T=7UrUZd9r{Z-x`B6-?s$psao4)7TH>*Bdq=H@b}YByPCT8>pz|mM z50}}rS31m8_9FI4=!|9D@pmtG{N1BCYNnY!jeHev^M=T6%vZh^otxk_u6n`Ld-~S3 zWz|L@c3)Mb zjL*c{Drhh*@ET)#2pw(ilB&p{r*$?+maPw^-B%KMjrn^MWpysj6rxOUn^?W6 zR|21jv{8bd$exryCI7vB%(N@E4YU&<2jRqo(^a)Wdi#yos?$oA<~=iL8S z18+L_{=bLd$2;IP6KYE%!W+$Ba7gN2FD`S3v%zWYHyK9$*0kC|_8$E&yZ>)KeY}AG zYXjr@@7(`4mGNu;%whackJb*3>|T}?KFB>w@%#U_Hk#boMSU1s^3K+O0RPu58QA;i z=*)$WIc67qG(Kx#uc`hso=o$Oe2@((_y7F~9ane%Ed?GW-1qm=g%w4=attVJ&N9cP zKPV5(@v8}EPA&ESRDR5k)s;V$ukzrK^o55n%~<%VqfZTSi>@n9=M}Y=M|6kaUTDU@ zbl{CGk7sK?M_%hJ({Xc#$xGfNcuj8iJ%U&9yXEm|jjgl%9Uj)gYYOWv#_Z2F$DJc4 zo)N4BBX4Ha-`p?wwoRMAu-7Qbulg}p$r!=#XXx&Yz(TOhPOOpOo_fEa`l%up)rP;| zMV~&_N&P;{^P`uVGdc9HwLQ%`X?;F$Tu@WS{_?ir0t)6DBEY@n}Q$dG`>V87$KqqeexotaWt_8;LlROqY zG`HkEl!uwGU^kWV5z`q3Uca2Yqi{PgxrejOVpWb%%LGSg8gS_gyiWp`PZ{q9M?uYx zzXUFa6L2|k<8Ipy7uD^fvwuy-Kc#`)Oi_@+q$a$7bJce2ekvbDk(Ljx-(|lD04leAAv(!C2=NkMUM;54D4QDywNR zJVa}tJJk+fn!a!!dU7=|FuB!5v%xv|{l^vfAToUwMcNBx%&Mm>?7bhZ?!F5#mT9*7 zwpA3V?!CP?6m+y%q0h);2DfJPBlpMvU*ERMBJmdY%qcb!S5=P;VCH<&@8&temnP_*ULS zmWrorL>_(F-HLBfE}40n?+Po}dpF+$bIqb^J;k9<`K|W0?F-&sP{n z4KjA7+Tq>2&uOQ8T%!D@irVv)+wa~~5jk%eZIs+paf-4d8#!~uZkN8)?nK6;G1XmH z9I9GZ9NM04o+x)+6ncO&X|c&?(C%KHZ+`s#&h@kMPOeu!djG_Yzij+Vx_JkG#ISY6 zqwPDdl4o<@M0@>@6^C@+)#u=UKKrMI^H1{b&6M3!WO_Gj2X>`qQ5G<1SW?j2xUA^| z=a@y0Ae&xsno*qLH_Y!W2~7jH&=)^;IoCbK-sWK~_}OCc3nwzanD*|V+*qeZcW(C_ zY1!`CGdj58siiwS+^3d#qt2MwsPh*%4=feeKez9qdClfUoO|6QKGcqme~@nv^EFf7 z_#|e^T$qHRD;Qy$=KZ9oR@6 z#Ql%3rh6OU0S!G*u5YDoCG(15HyxVWxnA!E4ezctq2h0LuKyT#oXGcgNbk})&wpK7 z##v}PZMZqs_#4rk_E--)xJ!q8Pv$t0|J?0;%A7{7(dtAGVfaQRd*wBYy}o2jG1{K5!?;$ zeFHd_o4$J zu(#d=Uvd~TRxsn6ZA+YO10IR5@!cVw6o;dusqcWe-}+m|6;e)DD>yD36n@6fJ`2vc z2-@%i!+wnK14o}DvNwMBgSAh^pdp>3_{$zA*9XaKSclCaylj|Z0k1wyTZ`hjnzX-K zdzqJY_R1H%2AuM(RCt-jXFRr!crd=& zQEiuV*Bsx(l{;Ff6YJ&gD07|~ZH?pXCEYp4^K#lYwA})}3jgsf*l=#3jlVF~9p=<% zL;X_PHoSwaH~j!Gsq&b-71)%Ifp@9pgQzFoJ$`^0xm$cd_GPoTem~E?$e4Iaa2^;m ziyHJ^Df|eT5qoGufu6$$Z2q0ZTPtDnIj~a%g7 z6byWkHVgbq$W5MELB2vIxeC(Bw!`Zz>Q_>qd5*Q3&2;HdW2pcvuD4g{->N-ulmgM$U^j7!~7*51iLLA zoi-c=!*kz1ndt8T@1Njz>Ug*DzjH_KyOKShfxqD1%N_9W6E_;$rnkVi*gV#PyQ8J| z7K3xG`3{>Od7a>4z;tBYa{aIUlzR*D%>@VBa!$G&daAvr&dx7+&O|$3AQy!Ec5{O( z6eIuZBXnum9b-W>hfUKlTJPDSmY;&x4(vSH#e<#G|(` zAHN$K0cSOD{ERl7%iM9?nL&L+eLv+|C)L$D`6(}3?Pq?RlL}8NLr(Bb{xA0$(2x8) z>LX11;_KtrnMEsEla-7`zqf(Y$uT@cogiZ$sORuty`MU!XH&*RuFhD^k39zKV_$S$ zVZVoOD9C%~8{^8apSm*kf^rzmB9pt}<{0q%t!4VE@9)uX3ots$_|EDtfjfeM`V;M| zes!Y0&OX-M&z<*n&2x)c)WUd!*(L;z?`1E+j7iX%WMEle|CmznZ3Fl=pB&TiTP?=4 z>M5PKx3ZsqjMrsNAKwm*lIvIwE|fQvgvxHJteuViR<2joxkLcalf8@ju8K z2rpZ~xqHA@*}XkqBA5|*o3Y~Wtwny$;#=`A z)}ji1-(fA<#`jYB!daIV^t6*_&chX|8`sCF?fcn3@>8T=a)uBcL`#hsD#*ZqLSt8!ifAzwWK8 znLWm13NIUITs0Nf!n1pskAv5nnYa9%d4+n%%RT9#v+7W`Y^HhTw6k#7_-62P33H;K zB+WbiuDdVE3!}DUz&uf>Y>}C1k7?%F^@usl7)X1~H&PyfzGt7^?y7U@i{HG&1t#|T zzichi{I&k~(hfW+|66=7=Uep9kKarA&3A9@f4Y+Y-{*UU(=1y0`i6p){BA{;ZgKWQ zC%&L*JL}&{Tt3ND?mh<}ic@%q<~V@0`Oo;;xwNhQmuh<+?Mh$O?>YSTeAs#ALHezn z4ebWaqN(hWvGL`uK_LU}g2%a@Epb~gA00ReQ(MMRS8_VZXT;Zp$Kq?_k@25{7s8o} zLjMxK+GRaH=g!3Bx)t|7`~B0-{9&C-3hyolmnsXuE!JjR;yua4*_>gQ+MkU>tn)^m zpEa(2XV**OzjPXMAIAY$-;d^*^p=6&v+R9es-ySpcRuei zRy?v{Pv{RWW@JkR_6ZqFE7-cf%W zXMsxIY+v9RW4F6t^ceZ|QsIEi=~{2Wfwj-uw!3o7M&NM1wM$(q@c+jRj7hw=5*R^u zM=JP^&4ah2&$Q&1qrXUZj-Q9xyq-8La1(s7A#M72`gG@d$x7kGll*>$-{^^3UuCT7 zOMazu=}fZPxPk?e(;uDb%+E)5Ue0^cS4Sq=;=UhSZjVa*UzPap=fC9bHHqiT63-_m z{?{h{U&sIaK4#R0i?G|-x9_-o?TmfS0k+Sy`10rO9>98bI?N(JeV*dHuqYou<|3>InzCr8Au)%I%t3LT0nAfzJ?a$2EGlzke!~7s_R|auCNU33 z7Yx8H8wS9F_0{}^|C+z%F8oTJ`)@wv9Hiy1h3h`-d}Y(Je9j^D|6sq3XX!@{9_^f& zTuYyDD`hRE``Pm&*ZoPxta$+70&bJye_I=6nn9$$lwC|$96p_%!uKXhIppLB!6 z{QC98n6$RvNsL2lDtkioW6pGL)mY%|?@CXVFK2`MZ^yVDxTf+8dyMFOEibcnyr0wu zMBB-FqUC`N_!%-b6u`GfslNvNbtV(P^Uks}Zzf=^v0aujwnK^M7xPSboH{<~J*oY* zp3|SBwxGBC1LfE;v*wsZo`?_Z#Gxx9v+P`6)w!@EVw9M+v;>R+3&WSMGJwO^nKSYtQq^V-{k)TxoPf+ zz(I3wC6*-nc-E+RS!UK9MM0x6RToVob|k;Z2E$rkh&=<03^8CI@2M>A&n;*=nBZ^w zerKYG{z#r_8+&cPZ#vd7kAtj(_OBiKBl%)&oVN>ow11y_Wob8)b_9p#G*8Pc@?tA% zjMoD@+eT@&7M1Z^@Y+Wo+UI!*xZ%Kmw2yYRrY*GB0(_D%y`4S{YnVfun{OX*V>$B_ zj-3xD4Sg$SHrKElC99^W6MFWNlg1{JdVHIK6~qEKXL9D_*(cXaHrjF#erDY@>5R#$ zEb?Sl6n!Ed(1cA%-I_wi4Q`~Row~Auyd%>vde6Y%RYx8L=HGYZ2TrdtBiV;MbHne< zqTBg4;8`$RI_H3Z=J!CR;v&cQT4vrenxFNxic6*v^9vTvTC#>V80To==VtW022)iu zjre9J>y+uMEXwvRD4I65vPkt;Qg?Rhn88_mX~P!M{w~IQ19di&=b)U`vaz=psl92m zfqnY!yTEE1Z7GJOSnBWjw&?TEd{?3mC3#sY4z}X!Nz$eTUCA!N_L?dD8V~+fW}VHG zi_fXAyg$9;;koep5N8UC*3>_=Hv<{IcN+4xv&4!@M^c-n|Fui9(6fX$yK?KEdZ>&z zv+UY+*cat-d}!s2RpI3RwLKaezzYl5w*E|bV;vDr?q7R-qyHoBy+T)sm6Sz=3m!MP zzKlr>S z@&11BxP#}S3Blu4eruj9Mf)9{SL}zT&!zom&yj6W-l+rMH=Mxt!Fz(~N_4i(rmkQ% z{@WqsJHe_4S8H|vy59%g?_c{3>i9dJpbhRqI}*&i z_Oqk(y<#b}z_(TU#{$N3g#oWOQpe9&Vm+G+@T~+sX!aaA+J@g9I@9mN)Njf;7+8dFK z-$o3;o5}qUrqDgUHaWj-1(s#5XrZ0Dp=P?;^{Oq}^wOTrRehSZ+Q+zC(bX95yA8F= zA`P9LqsB4rr*r;P@N};M?x(R$8ko;ybL!_$4>5Ua&rmKNlH-4JhW7Ibhpt=v!ri|2 zIctpH@Yor%@I!56KEQa?#`novWc}-S=d?3(SY4^f`;GhWXJq=H+zal_@Z~k!J$3O5 zpL`uTy@&jRfe0w*K5t&uZwd~R!*$@rtiqK&ep9d;JE3KnRk)J%Sist4_BXw0Yx*v7 z+XM$ccJ8k4F;|}JY_yGx$BhkBc8^uhU0g@9n8%RJH=b&#%Pc(X%osL>`WtI6iX5Om zI(1DM;~mI+{laB~U6dOvU>tUP(mmCtY-80agWv4N)&_3VHJ_&oP48Je2j(+lYWMwl z5z~M9@1EsOBw}~No+Tf=l|Gx^9~ap$5q~E>*$q>n7v|FN{<6qG1VR?i-T*F#_#7U; za)#hL6xawphxcu~Tl8`fuotX1I2|?UUx{}!Yp%7&o@LJ=2<{06$g7&5-F^k_XV=*A z82U7l33uVQW8FV`xxSzW?dt4{=tytnJ=-P z_yUH>F29UC!tu=8OPz-5yCc0y-!3rtT#s>Q&QGc@i}YBQXRp_ttk<~2dU^R4-D|xB zqm97G3(ao?M&fyz8wr94zu#gTp3JgvODA6{}3@5U|-UhPL_qSC3Pp zPdHt}Jit~y+ZB7wqN6;Q4EFR8{qzZF4(*9?>_dOqm>!qMZZq$h2KEuFPCYVN?>t4B z#T1x=xUst>pSQ$d-f-_H9@*V{`PmyTyYtk&g|m z$J6Be3vUH);fcv5|AkyY=~~JDiBB(j3_K8gEXL8Efcs#^km;%5e;nqO_WO6(?>>w? zZ-Fmk0|!2L6b8JtrZ@R1(=*4`6d?<1)<}+Qt0*$n2lpE0I)ZjCq7R*=!8k^3Fnwxd zX9#Z6Z;)?!nT%^G<86M2m??Pp7X3;0&^yMEW0Fh!lXqqNj%STz_m(AeD8txe@ZUed zKTqJZ{zq_3>q3sCy*6R~yOF^QsQ1tOPHX6fRfRpTg+>3u^Hg}n=X-n6R-T*Oh2$X$ zZq-FU<$r_2oVkVjNMCrab5t|_d3?P2E5n_m{n!P}?<^bb^;bKu_;>CY_I7q&`8oCE zuR3v~zwxZRkHnoyAEo5!DTk66p`8bGVrgUJiC*T3#mbquJa~1>=-}0@R|T(b8y~#7 zeM0c+eN%#0?+*m8KJZPR_v%aR=7Prk1N$}3CO1KOj>zJ@ohvdLTX&>|THVgZR`wgW zlIPW$7VO;`K=$_H`1nbpp8#&})o5uRW*GYsi^YzezuzANXDbZl75Cdpkb^S>9wa{f#B$X3RmiD9s_> zg1%HfynJ^txdfblS6@s_dje-DmN#rCkKNRlJZu^j`&Mp4X?4{Y2cJ#IK0msfAwNkz zu1AE!*ptfFv7gN`iw@EEENn^Pn%=LHE(6bu;R`k3hVqOW$b&ku^i}(earCLEbR_OO zl#k;HV}^$ec@W@2SAJFnabIM_dU*4w3UWFIk^`i8Oct_DW!OIJo553+8JF1#A5@-@ zJ%$rYx7jdIy;hzFk;ST~92$>)lV>9NqjG#5>w{m!%h8$Fd-R)f*;Xnip1nSJCSFc_ zdc8-#DOapqb4%t5$e*e_skIxiW6bPlJmiUekx_QanmUEtx5^^b(;Q0s`#%#eQSOiO zhq&K;nBvL0=dzf*C*|NMpOrh`hj9>QsDF(70*7RIKU-!Dbmkv1ydQhee~S6PlEm-S zy-{t%URv#3slH8&%k~#EID)-327M>y9>vdFqj;e~_N-ih?0`S4eYkOI zS03Xq55JYuzJm7_KN~E-?#Ns5gSgJB+{V9P!a^b!F2x_@u`n4_uG9bujSy73A{g%_a~9t_4*aXhG; zAZY0ZnLvFY0{+YUxwbt;mGnxG>i?*fI z)f|3y8RxR;9aCH6MduL>8}w+=ifO?(?$nG_s$|6I3$u{$+%Ayy~ssFI*`{x!tf6nt&b~|&58qRsX%zi$%=&5s_-)pyX zTM_+t!9?@Ci|01H6Y#v9|6{z!tKV-Z=+9hQzP+J^K34dyVKdk()bF0>M8s+oPd1q4M9r(^n)#a>|R|LCR zDfPxtM|w#Tf5!0No*(tq?kN6ym|rG!9uf_+2O$&xVHs`sy$gySM6Vt}`E`6JaqKW~ z8q9mS9&&WwoL`iy_ph%gnu6mh3BmyMk~3#Cr!d&%_w|B%Z~7v7w-e_r*81 zq_pFvT;og5AtTvt;(aIoePgSOJkVYyxZXSE-P6Q@lkb+1JEu7-N5}$?<9f&iO|9hW zmd6H#u3g-@p0>ze2+k0#Cg;o9Xm))Mc>mm${*LkBzW1GA!FX`r3+{WCEnPc^J;%2p z`?ez|i|u~Wn?@=IZK|GWfObsvpwnjgfxVgFIQ{2u?rG7-WMJVi_dPSa+H>j! z`tZQZwo8U0YY(`{DbT%u&h)0Q(VqOANjSX5e|v2caA5tLlmB61lB)UCA>?V!pFjqjJ`0mh48>Nb|UnHBv6Ra^ z)UV1-_2sA4&Yfz9JaelId}17#KKSVcl|?buiFj|`hG%;%TFHB57giSe@B_9mFTL;P z{l$z|z7*NNdUg^$Q0s+m+dIej)xC&n(FrDyK)qWA8Y-0=o|x$!HC2WO2av%hsrTW~DA6#<5cZc1UormvX{f#-}!QM2UJBniH zZ^?d%m3H+zm3EVT!6av@ec|}?=o-lRMfmk+`pPQpc1L(?igIW(^ZGlA1_8Hdc~p#D26k#(&A*=mo+D@iBC!nZ?M| za%7PoS?j_6vxKW(93zi<-ZRDQgAxyc{+{tzwa-+1PrP9EGkW(^>r&{7b}ZCNVIj<^Xn>${&2qMPgfTGj_1-R z-b!O16>axI_IRN2e`gHI`ARN%nC~0Z)f~kKRA;B&^;Hz@rfz&Ll|?`0S+Uj4cl7*R zdi29H*|$(HTwMX5v)(U0E&WI1_@(3Idik66`>6Bedh{n77K8VIJJFU~O{C>k-`6}n zJ%6aYRr-P8G&McC$-~1YD^`9cdB?J|q=#AwpLGlQ@s;4e z;;7~Ll4r%NMJ@OR9mJl0>XI*@>X{RTjF;Tf7<5pfoW>{cH&drld5@XIEBI|aaT~D# za>~%7tl<-Fz5Q+Gv6vi^6X@qL+OYei{zl+x<<2QG*g7%Fq_^FJO{zNBtsUpfyAMK3 z+kuhtS#Ds>1RtxfHQkGCHU8hQhoCXCu%Ta*1HPk1XXwfD^G9!_kw`U(E#v2CAs zj;dnJD>hlS&&yj~aaw)L-(TkPpMjRx6IEG+erlh;7T2}oIs0GqDmtb7Yj^>=xxWKm zzFv9QhCP_TJ^s5tyf671+vCN16VHtmYSiy46MBK~FEYwc$(}fI2zFx5sE2Q%gW;)F}Y@A^gj#HyMCRm{ec6~GX#D5*aI9N~RPP=k%S`q}l z@+DhZ6n&ETvfOYFd#F?mv-817&au;Gl zOh@o^=PP>mSDGi~i`g?2<+pN#6mLn|RPlY-yKH+w^VGcl9lT7=wSl=hgp-LmdN?yn zcARwU9`I#wV>Jvx$i^ z|7_+Du2LTybSk&5Z_~4hw&HN;*YpVgUydV8KnMGy-gG!LcZ#~nrl9;RD6baE%3e%>rz46722;uzIGdM zAW!rOi!~~5aE8|2#kv3s)zP|s3p^0N(SMHHM+*PY?7Tn-qrst`62eTc9*vk6HRUZ;j|E&kdo!^nD0&L_*cre z;p?);|Et{4$KB<}&DO~sKc~C}z0fY-)Gu@>wfqf#$3LaE|8!cYrMvtcGj4Ln^OQ5b z_&UU{2>l^Z9_#EpZgSH@&!oQpVp{0kM0rDE4cDiZzmXRD4doSDAIfEy0Gq_vMuoN~ z%KX@J(rLD_7t$Vguz%>6iLwgH4pYWnu6WtFp`opbvLI#h>2$$6mKGvDW%t)W*`HF& zj;4j4Pn5+dlg`%l-s!Z^hD2F2Wr|OCm1U-fev~LP(CzD#b;1Ak+z`oHc7Gnq@G0e& zCD-Qoh|r_S{+K)RuDi|t>7muhHtFxDsbwS5L(7tFQubrYHYVXRb$IBWWSjISUePtq zsp+9Rl5KKMxcEd@Sw(tiUb0Qfen?ptJl`J~sz{XiDSJHiy=Cd4?#mN>(~F%P#{s(KpFBbza>4f?vb&fiHWji$`(`BHI^--LRTlsVwByU z+Mg#QbY-H<;CGmtTDB!UbZMf@4_t0dEsLawh9>*ty>F{O_6FGFtaXOGi82pmH>AGz zPI{;y`5v<4+SIb+>7hQ!{&=rEwJb9ul#?i{pzNx6fA84+MZOkFOOypE!>7~@&;A*q zFUSk1fL0nPyEwIML`LY-L|Ke7cy{-D*JXr`C&~=t9GF@*CnIzyQRblxpHlZ4m0l8R zO_cd5%S(N)E+eFT4UMIOvh38dr!zwTmM9BSCO?qoCS3EroDq79GRZ;XFjrLLZ^=OJ zD`x!$GPk<8`~Snp4(q;orw(y$`8M=~E}7Gu5gLsh*Ff9KWlYxbej)!}debYkkFO_G zk%$qP>iMT68!8g~rzzJ&B`0L7seWU!J~{(_0elzn`a$adg|UART~xLja=cp)Wq*Er z&vM*%t=Iwfk@jA*uQ|SV_$0n}>E5>9g^eV=OLDZ!PTIR7wxSR>2o` z#E*_>>jzI@H=!RG?5Kg*I4k-60XmFixOA4)*xa&fv_Eqdx>qvx)J(lKoqx6EHu~_` zS?KUB#A;^IXDi>-3jouo*ZA=jTlJObFGrYbcPt=opQPy6@0?_Asd~0-hg4l#`ZPIk zpWw3sF}I_1-;sy6MG3N7~fx5-+c-}lTU83?}11 zW)glx;xE*;6F@V8Ahxkvrm&?-R|1Giw5{9Xn%UwKKxox=7eklTwyqPxuZmVHMKhY1 z&-3-3nfySpw!8ayeE*ood*1K&ecyZTx#ygF?z!ijn~Y(h-(#DQYjzt6T|2w!$LP-= zrEAB)9XW zeL~N-E{WQ-kiyl6)?YJ{>o0V~RNe{Z)Sh)ne2o?9fVPFRv*=Ye&WM$paLyV`xUrz~ zz2HV`u^h%(xY^JTHzUadlw6OYpV#%#&*8s?PT>aqs{HZ9KAqNOW`P;LL^xs%h5wGd zF8e#-h;mw&$!GuEbx0~-MQShS%(efVz`9v14+LJKYN{K8u}uB5TA+Q?>0+&yWv6T9p#+)(r%$sk7**-KB_(4 zcgWA$`R0I~@0}dD^9<)-wBuV*N#8}=F;~Zo_A8(f>V#LPN;Vy%4gVCky>_yov-@u8 z-lR2~Vk87taTpxq4^=P$zhCSN<->?=|@VUYqSIOrIFZg zGlg6iyx*()0>*{^7V+j5b_2`9bJ?5Wm+sFe-o1v-sCDE@%G-7id?)&jeG7VaJ^0di zO2+9by|~|6TQV-WKY!-h|FGBG3GnUzoPJWRdX z>+kM%?5u=V+Zh8V-*k7U?R3)LcE-y|f4jTMHNd*QO=C+v-Q7-Tz_s(}rQiTMX`fAu z0C?1SQNcbmueRsW_L-H5TtMBktryQ+YuW8;?Hi!&vtLzS80Zta;|#i{jjpq!)n?s_uXhCa?Yqa3 zOTL_l-rv@xIZo}2tVS2Gb943G%T`>m))e@3H3gCP4j<gWID3#kI+1a%ht3p;iPWa zLu*;l~hUxTMJ?aK3!uxmKN z;nvmu?oG#Ron#bzGrFk&nzGQ({Xe`UG7tI@9ozXj^8Nktbu@yX3dV2(Yohx4K@rhT zkB<<30>Et3atpeGqp>``nlZE%AP<2>cvZb0*x&psv~HmF)O_P=A|Gth?wMAkIp-{X zQtv^(npfiZa=Z_3XkPgNb>6-3olPBl@5?m1e&8_i%Ya|Jot24?M5c-VuzL`?O)h*o zj=2Qe814UHWnwO9ba%|a&y;t$_Pf+v9?R&M;kV7A1qnY$u6hopDRC^+|h z)xgLXQt#6`X3XN7S?kpHXzCx^({@d=?H1;tqdZUK;2G1jE;;ubp6??kMG98C?cWTH zOiI>m(9O1;``!$UjHJx@=ZSznMR zZ-Zy8<2BzX=AnE4fF7C@ElO62E~Pu!y5$VZ-dm8a>CNnzQG*;Xrg_9S;CVCXBG`F$(*yWX z^^;$}ygV{-+K1)e_klePJ?S0%3j38mc6nqjp`YqY)mf;{)*W8Ajl8y#xH z!*`r_645>dV^nm8tN2NBS^TBFz5wHdzg90#lDk$mc*f1<%kDL~FKVn_LZ^DSeMBTR zhJS9iBIakweTT|{ zHSv?^ZpJ)0qFeJ9xeT~2e}Vi6G31bZm}SQoohlc{51kpMwK>Jn_jw*WY(AjsEvBKjv+TwzH?ml^XvoeA;x%2)(>-1xc(t$5h~ZSaDK61f_??le(KTp zse5C_WCp;U#&ixVJQM|0ck zxJB-n)c%duu1`UO9nhKVhl1^-Gp9(tmI3O2n`h{VwjLCNc6#PB@lGF|8s16pkTdJW zwDf!Jd~Cl>&IL*lQHBdsBkLke0dPt4P8PFIm+tLF4X&PZodC(pz~P4weE zXjOKW7_vU-xHam!^4`|K^>;c`&{>XfSnemcR398pF$))g!{CD<8wT-T zf7x0bISvf3f=l`GOBOl8_qM)+ERn8!7knA?yKWYCgFGsc&JR>6U2zFyGrjcx;a&_cZ$c!T@b;agMFtc=&-F zXvLm0$St^APdcBTpj-ijH9$O07p!He;ySxCQz?HsUMqHU5b>-}ih`kMaTdeamN= z#=L_Uf0fZT$u^SmPpE7(hE7SI2aQ^!?Vc=mj?{-TU@?X^n6H+_&p(=?{Sqe9<6vv;NBztzE_V)_%a5o8UXY z(=1<*X%?>V`y#$GOXJ~zW>=KCeDkg2?x@3;sit;pE_Tz%X5tZ)^JW%$i274Oor>qV z2s#LSqnfxxw!1^WvcTDW@6*apAlXgI}u zY54E4ijNQr6gh=F)ILi^vMzmN*9A=YL*zQBTXi{~sg3JfKl+F2)3>Ta-){vj^;K~- zzrwd-3ui=I#0KfvS?C5+NoGL(enhmLEuU#`+d1I$Lnb*Z1~qt?O+II@ejuBfr$ zm`|S)aMajvRQ|j+2}5G63^4SzKel=h<0IW>C3R{{FdU4={u?E}#OeB1MOUG%uDMzkfo_4rPEPQ0qd)y zS0wcFv(%ZIvl4dCgifcq2)pv8F!Ctvp>?hAZ?__=n9IhP`^tis)QabpFF>Zb_K8Pb z4Nqs9r=%mX=GrA4rV$-RI*WxbsBr8-FY%a`*1$jH$DOVBwytEpQSMQAyD0L|5@MI>sZz> z{vTM8jo|Wn`X9TZr2kw-{;YqFpWReE%(pzoI?#LQ2RY<6wA%`Q&^;s3{H|>uN)M{xJO% zoW%bZ*>soe2Pb3N{Yc3Y83=op>(pRDV&E)je|txbT>k1nh>*HI>+TaRhV z;lI`f|7b>LejObA=5+ToY)Qz0jHb(ybkm6bsr}18gG=qpOzY^Lw#F{=F|uOzz=S@z z-~D2{(<-vqLl945Q(X_;H^~lJ!P@cY=mgJxfL+60r{Ca+yt1@=)9OpWD>9>fd&0IO zS#Ice+vt*hwoArl;n@yssKj!8kck~~zuRutadB-_=YTjaE|z_8x#lp@sMeB_CB?~S z^2bj->vs06|JSGF2R6$h+Xg^RPs_GTS+-qj%Lw1{`x$?8{kqm~+VgofV>7zxP4H>3 zr36l_iZ-TWL;LSlQEOPZEb!Y^(Q+65IA%-EYHWs@?*hwiwAa^zq3JB((AZkYqL=BX z^yG~reAj6Gt2$z=ll8s!&9qKd9p1p$YqfUnqW`L2F+fi+kGx~s!(^iw)%3x8d8hv_>Ql^AJ9V;`S5(hDqdMnuU5)+S?=-u7$lx~en4_oId4=_@;;Qt0ARF3O zd(eHwUCgDlRSrKwN7Ac$=c|CTM?M|Dy;nYc9vn5HyEnSRBSiPe!atRa@vT?}E>bX_ zx%S_7ioX8L9HhL(6WqQP%J&N7g!iz{ulv0 z$=)9PetBH)^!zU7le@m3&mP2=3WFzZdB)4R(Pr3_6rHR*5=|F-Jb9VO_kV!?(EVP} z{G+x{W%;^NxqfBS+sL~`v{5 zZ7COzVo?=?Iv8Ch09;#ut5NX2mUypsx4={A_<#BiaMTUiOD^K9rjfK6h<8sn_zmm6 zXC5TCaqE)qP0xa>L=M}mrn(^q9<(TL>#={lUU6+L`a40It;dsgC8q^dN9r!#xs>zwDYuw%m6Ve&VFI>{20wN9 zsTUYgC(;|F2mg;?9Oo8{(S9)MS=FTGelYS37^D4Q)HBL`B#gWRMs$S#4H)Mi2F7@Q z7Rw@Ub-@0d5jF9zB+ z#yry(-k#@GlXmxoIrTh1`Mz-XJg2;1*Esj30bieX1i$8M(ZNL4z#j+y)?>ada#@^a z&RHngP-5SIR6i>0m`M83)xRIf=T(zB`}ZU9oPKom??>`E<<*b25A~zBoxc6}xIPH} z6u)mz@tmv0<~itO*2JolA)DV;xwFJ`&l~(K!bf>HL-a6DV$ zWAkqUo^TSLtCPH&fJd}%eL~(L z>bd?jV<(7GoN=h{qYX^ zgEt2@DBljUp&xI`u9o73zfwPmA{V0QC%|CKh32Gw5=AaV(NAdK)=%KYlw6SRYwIV` z|Cw9}N8NV^Qhb=i0rv?$q;BK_?~{C(!~^&J`Ot>Nzbep=4}}YBi8b^u>1&!pRjw}| zdW`QGgHD;^KTp+?-NH@Jv#N>Aode*h-g4qUALWFrRJj1>J-jW@8FSVgu4_? zGheR%IJ(}-Ic9z4%k?GpeP2HGMa5&xkv1O1Q@wo1I!gCFe7KY`PRWjs<3o+JWXJy! zAC3$6nH!gO*nHR-A}3m(xiMKL$%h>_A12H6<3q~*ukqm^=7R(u+Az7hZr@<@AlEOCmZ4wPDsf~%99cm7wk%*C?2!fWWdGwSSzynBi$0nD zYEiB)@5x7rdF&zR*v3PO2lb3~3Ne}9)ExK_`dvpa9rw(E4}EwJl)r;L2iorvyq8!H zNKWAIap>dZM9Ckdt7fEh)k7txbl=N+@OGDZDTusC@Er1@Ga)aM&y;Tv*a&AuoFCP05SDMb1n9sNX%Ztd9%>mLA!al37}Z_Qx~8{z4)&$3J4BQaJ! zWLz&!?Dt8$B*uvMDcmICNsN!aOXBCRg(qbrpl@AC+$3P>#YU*$@Bw0iK6Xy3x}s-J z+DF+E`@VM#XZK4y;af`lCb9QbOX;8V)gbq*cazV3>c5^P*U>%CDWA}9gUXT6Q=WMM z`IA_~sSWYA&3n{G&WVRoYiX@Tm(hn&$0b$ZT;c?+(dse?Y4ge43BiyZrF2o;O&DUQ>H%bF!$!r zyI>f?FKRZU?|9@Jo$t-6VRe|){*!>%_~pW0O0YI8AlRZ^GsW)k>G;9M{XKl9+7 z*}z)KH?OV=yzMt@auRcgyFqq2jr|S~vJ_lteJ9x{oXOtQgR?;I*l*Liz`kef*^B#V zTuCM-`t*dyH+<)+{H!fs7r625Bs;_G9}R!t5`{wHuIS^Agj2XA)$ zse0A^4%!whYJV|xingBX!5unVl7@x5xxhXf*ehq6GR|+z+H={kJCgWASIB7C!*@4< zKlHgnDg4b(;_q86g}wNDU318Q-Z{m-XHGc}{?L(zpKwkrdIG=yJvWTG;~+2`6Rm!iv0@(nT9vwXCZ!t*EkhIWL{13maer|5%E?1;nL zodrd670*DwDurAAZ-*wGv?rYYYmz40mO4I>O-$v)w<((#Jn)RIH*hAY&W1$}?M}!c zZ&D5=o`Va!T(2BTKBs&_4tbMuDDgZchor-+jf5QX=B3U)?JI|lE_Mu+EIOYYD)D*p zB#TmVXg_kOjc+7}&XGaD$lTe}mz(H|=-!)`k_EjoXmTGJG*dFj?%#RK^~fN~R^3FO zKfd0C44U~+s=kksLGsT@;3i?GNa5x$$)KZ)9783CQap673`*fkYa*@T+9+?2c`yH* zgD0)w68%Z>ey{uiPyOUiFRnheY>)gAzO?rH%k?MZ&&-EX^`1}u$nPV8H_4w~n))R2 zrvh9^2BmO!uKel6-2fYR!6feb$ew<<`&c=WkUc%PP0{7Ye$y*^YMvn+4=z z#uwA;n;e<>QlMiDdx-eMf7O^Rf_?v0Z)ytl>{Cj3P>vEJo1b=$P>)8Ho_|j;P z_ep$`o~-wzb9QmM_IT~Hi|3B*-Q(R?-o5FwXV^a{riAe*GU;aO8vNI1P&6? z0siaOaU;6Hwftxl14SLxTlq$H;nUqZi@J)PIo0wlc-1kwy3TI1|5@C9&nI5HqEhiU zk$RI>B;R@YGQ7m~k)G%2MZe{K8*McX$!VzLC%E?E)3S~J`B#n3y&j*qfWZ%(as_;^ z990Rw8Tp@&Y|=aFznu3{cI2KhxhuC3H^fzbYDb7QxE>$BAb5}AJ6Vjc;dk(%Q=g%s zU7k=)GrqSo>S*7>=X*76)-ita{jd9Npra9gIm7<=3H%vcW>mxCf${+#gOA%J>;*Xu zjkGP_M(vpjHpOem7e@XH`k&+{XvJA{D%W&boVnz7l{}M(86t)TzwHFCu|My06&dMI zi`Y*dgkKhMKJL8*dE55hU)EmzP#J5K;dLA5bjc5*z}a}m{_i|`hm(A1dkk?LjECs_ z1T^_@j=2V3!&dKGbGmHWj}3^t>PWNc!%y8B1Dh|ETQpaD=ZW~`JBK)OkKseP1wW2} zqcU$VJf>VyW@crc33)rcjH7JUTgF*-F6hPhYxK}?I3rT|`-~nM21Yv`ZUppO_ck#I z)T8<5#l+AKU_R(Ek(SF0KRIB~f(UC*@NyEZ~YvPBX(#-jz3^ zIL&-^Xm&~TB>Dax>73K0GS?sn1~#Tewwt+KBc7k!aKbsX=+ZQEjeH?4A7HL=4Jvsi zZCJ@OZpNwD;jVsyey3+!(Y}5ci$hf%`fhM%IGRbhh1^f$_apb;lJ|QP_j;FtQF@ke+z75^Z`Qc19bldu%9seBkL;e;rLj>N zjg7`AJvlzxU30tUCdcNj=O#CNma({maoNLJ1F12&(480yt?gP?R_}h@IkZW*6kZcH z?F3GX9UsQ2<1gTJ-v1D%i&tFGES!4qpZVX$sc_f`?u1kM&Wi3tgQ7j*?`uigyOgWw z??QZ4gv%5S3Wqo2-zEQ8(X#O8W^BYO;+X;PLptMfknzY*^2|YaM!b^67>sy+Qp0iR zT|APT~#G+3v^Tk3I0mVn>6`ACDXN zhxo$-Z+Kq5V0VDJE%?I=&um>$wEIfNPV-&G$X{H0}vi?k?fygO-BQxu@_8jo&T3NApU_OO?CP2Z)>QjdAvbDt6oYd8lBwpK{VO zHD}kFw4Qn=xrt%^^F4?Cu9Ay1kF``S+C2&1ZiC#MJ6uI4j8D+a6i?pXstLRGyks18;QJ^z(kY|w4d41N)VIiW`q4sJ;qw0s zHewG2+w3v4N!woF>ko4ucqg0(-l;st-%>F9FJs*g-0Dl;K8QyczfQ)l^CQNulkw~H zkxwNkd(9Mnq4Ax4#;@}u#?Q`MX+i~^A3J{J<6-=6NseDr9MaP%w8U z#*g_`wqD=?7oCam4=zNHV}7KGYEesTf$DetGegIYA^ z?^0fE)b?p(qNil%x{lhz^CpxOUOCJcb=S}yZMyFsko%Y?-Oe{K06u(#XYAcY4|vjY zC&7ycxfcuvvj^r*gvSoj)*)jko(08ebI^Vqn_>Heg|cD zQ1$?}7p-qT1QYTh1=C}+GZEP!*aX*(RReO}Bhz!|0gLt-1)KdGSW|Ev0H!O)_@a{- z!;gh?!Z~nG?S<2Z`!enszmJ0ZH-F{0EvCP+i|)ksEW5L8RmIq=Z5wHFJf-W-V>~63 zw)Byg1)<}NXSzL}v#G~VJxi&_Pd$~?(~bSQ!mQ45gc9oltg8<*(_Z_9xEA`?Eufn$zwczj-{@%IwLT;r&Qu=a)CY`^|lMKi%9%e(e5p@c2+g zbLE(cn-k>=bT*ltyF~hCt;y)2iAmWdJC89B7ctJ#CB;jRRV`|sJIEJJyL;m1U-EyR z8<{Y2(q{46BYJ1cfQg&u-L$A#Jb5s?XmgVPBL{(R(oGYZ3vFKKJv5Mz0hFP<WAAd=`B@~RWMepUZL^)PL-xQiK40Y6ZJZVM?ovDF3i%%F+zyExUWq&_ z&th}R^7x1?bI^}*O%?xA8xLb^>apFN6CZ!(+F#nS8ix2%`d-9d`cvlgQsuzi6&~u3 zK7d`%gZ(j9NxbOwK5}S~JK$^NlgsqmvAnT_J#szv$o2Js3nP^aE{g1!A1l0)F{pQQtgYR57E)*bEipz2Zy02zeG-ub+H*BuqQ+5L25^ zPKGz)tQ*gi&)kEZDF%M`xUv7R<|b}=TI@Do)T5jq#FlPaxw7NQ)trg2DmzzWsQ4v6 z_OU;lKD%ipHn;0DtcdJH*ll{@e(BSZ1HdhP{r@A!aLYX_HYlg^JpLOqx&d2ngSD%? z%R?+jBQU0cqqX3=hBmhYdw}@Xtt-CSaSU6bqop>!KgXFH296U;4Sg&=a$>13TI|fO zHrSd~z9Lz^-Z8dRt6a0E5^Rb z_s`zr$~{Rxwk->EtToQe7&+AJ_F5)43?z2Ao@ZNmr+V9=O)t+4KOc2I0PL!N2<7xn z_5_V*zK0wE;QV>UM6!4|HVj{NaHjkHwXL!(KD;8(;j;{ORd+*RplPV9V%_BKU5m)h zsW@@9DOqi*#_!(38Gk=|GeJ-A-q6{|X=tTYI-kx8QjEIVvvog*v-&E|U0uTbuJ%P! z_IMbRc2emvHxFl@vM|?n@wE*|nx~G=Y2R~;gv0oC+Z<%m<4ZKv@7=Cck2x5Bk z!sNm6ZIJCZ$hm-vKj({zKP~xm>sXQ@Rl_u?lO7dU=-;0%l_C8pSPVIkk zO-?yBk?XPN{0LdH10U5{{6ax39fb)ntDfWU=r`hAClTv>dmEiz?Oe?3EpjL zc z?oG@17pPBj!;8komjPel9(-NYLA=@JKIJo*ihX;U+Vk)~bh$4s+@#lG#%ox{xmAwMWiME1_O)8FY0plASIQu5=Dzn*3pS<9OYXrQW zHjQ-;rsCrp9pUeF^`TocC2GNZ`iJ}8Anw%am=Sj5Wd7M6$L#8-+1JTFv@xgKkzIWOdr_Qu2Tf&HpJqPU z1s-%Sd?=66`DkXV_J$n9V15m`>99(jD_3+(;HUfuUVhqt(!3KOM}u(oPk%VO$;*7E zx{FPYof`q%4_E#b?UBirqq+iSbZNW8ndzb~)lo@Zs#A5H9_p&J;m)aE zfQ(UH>`zhm=;~$AX(RCMr4M299|eni(f!-|kJqru~~4(1P}>g4i)tuj&*{kS8lMSj73typx`xJr9@SS^2*PJ@MX| zz9>9@&FU%Gg$EtTaT333pc&*rY2~U(n-5Ap7{?2%FZM;}^52iF2wxbEZeQix%(`rI zz?c_GzA8Dkd#7U3CChAm2;Q(%7i~$NWz&|AHn%ve>W!^+IXe4jBWE%z{#|>}UZXhi zF-=~Ro%!?E$sd{4F~gWdoU`J8V+Z}%p3O8Du~trg^`1*3mGzfK&}HnL4?D=GXi-0X zY+ZI;_okPbcUAY%fAfO_lj$MW+-pXbg3oKnojBaN@*6$0kfMVibdbx~1&K}H1MOup zZi;)3{i|f!sA})39esbO!gAjWy2ZqBTdKACTPZ^tss`hmmdbv^c}Dz*wZ zQ`1>NIc#2>+oV0fj@Q_8W^_I?EvO$)z$qI6aB#wldJkN zsqg*U#uTdT0@_UE^c&Z7_6Ci^sHQXawND=7KKZFmO`ZpSuK>UEZ~0^K7dfZ#-xK;c z^!NOVm7S8~Lz?Gx6+1^)KLLJXOMT>Og?GrGQp^74eWTfPqHNnw!qJ24r$t(>s|;1J z*XeuAgFcjhB=&Q31p3#842bP#elQhz4u0B8b+GUGWp{Pnn*(mnJH?qqK72UC-dplY zkcacf-j)}88kxvk?!jLuU%EDPdJE^x``tI^Wei)DH?M{Bq_7tr^4yZ=b1%tTi_T;X z3+C;cvLtUW_E101y!>=Mc;Aw|t+UwAz|Oc2TcqE;G_QdFv0rfRI_GPxUOA)F#~fD3 z*=3rK)32!rK_j3|6>U^zgU)P&^gLyH|syf1&$-(t$(Kqn1$BfShGKoFr#hHnm_Q4@mgA*DlcH+k| z*euM+Fw@fEH9b3N!rxo+?~@wz?kdKxYE{N&_8e^cbW7Eg&iAM{II#Eo`^o8;L(aX_ z_e=FXdu#Uh&_wckdw+uOcc;FW9m$OkUa>R1`hMDZ4}XY{s^cPfLv<8}Dw~-PBG2JV zr#dRrtp?Sh?{$X#d(eTthu2#t3xC78LORnz_100Zp*2egq- zTzJ!bSD)is(Fjchn4`bG1ihT|YdyM0?_^H3^~EsySwDH}o7ywq&7IIY-~IUSx;K3a zJ`74f85NFhO}Ef-d>dv;wlQb4A=|_Fo{(p=a3b@<62H&R!4q6P=axW)>^scE6;`C2 zJRHmeMRrd4*;b?#UC}<*h#c%~4)%1=1qFWqT72rH=1Fu6+HAas_Lx_V+mUPM@Vp@5 zukS$@x}s0HcAlroN(W2nO`3P5hh0Wl;iK(RD^i&UjNkPAv;uv*5k0}VYW!y9*DqT| zE?w{w1HOO3=Cl(S|4U<4>Wex)*fSz<33Jw$!9$+mhmL!RbVoarm5xZk0}g?qu*43ZORy3QS}@ZNz{*kZ$53)-iz`U-Sp8y|PzL z-Mn$gOH9w%rCQUVrTaiCvpPQV|_+uSKpJ>Z+V8?Srj*%bbxwSJIgwkDITpHOG5UXr{$Hp6 z%UN+@I^h5H<)+y{{UCL`#b7tAB zXJ3wkaUjQakqKClh2S^ve)lxhqq2@0eB_0MM^;kq38v;L6RKVxnJkkPnVJ zk0{qLx%2lS_folrW6;?*flIvX=Vy&Gv}vN6pHe*BH^1p?pYe4`hdgs_BG@NsQPujpM(7Q z#e}p%)niyAo-~6?<(Kg99)IDNpY=2x0LSw2ImP}dzBFZzJv*f#jXY1o2bjq1`0KoC z4XeHoz2Q}h{J%B%BdWJ<$*Hx5RMYUnTP>66e))9hOE3K~bYP@A_sY8&zr7P1v~SVG zT>Thxwf4Q-$=H(}=DwVXp$kI?*heU|(lQTte9@EGDGx9nd&~fPJa}Gu5;)Zt<=MF( ze-8P4y=}GBygA%NhSi)7%^fu?_Y(Zw-fDX_R1KV077fdlpINGZ+S@yx#LXk%<_U1K z#Y*`0sIRs7FQstvNFUrBG=ps1JUPx^cn!FD4BW`S=neK22Oqeo!3|!1d|-0JNvFFg z-!ahk8FE`0rA@%^zPoVqRrKFI_}34f#3$$!w!4$`f3Vj#T>8o$;o%D=E5llsGdXlY z=usO78JUlQgK}#?^+9~{H1`x*15438h6~=S=)e5Ew2$(c6|aSUTJu`yioBt@tz6~j zGQVJGuAL8*@`7DOYaOduaqyF@hRx11Iub`i+ zewm;j;Yjp@k6i0xzZCsE+&Y}Gx*Gb~0{uLJjNAhKd>i_?68b5(2HEt(IvM&|*1X`Q zo152;oU(a`8Pf1t&Dw^?{`|GWJJ89>73YOswquy+=7Q!=LO1HmAY|RJnq|#D@|ws` z>&lzwj=FgB#VeLI|8#G8^Oexcmp*s#X01IE^paMpzW<0l9N~H&&wKdFGqs zd|}6+=N=pY{p`4Kz~%FL3lY?bRmvOE{{< z_pXP(`rzlF$+Y?F3HZyxUcVFkh=zUvjy%K#O~xlvczSb~iG13oorJ%bXy;qdP9e0j z1z!0zeZ3IcX@7~>otJLLhjcvtE(LkwDf$1vlQv(8ryhkjJ)xrA-SSVgag<^6m*D+1 z^sau3zuH4L?H0Xk!}m`0ZO7M6bsnv`X?Gzsqi6C_l1?VvsV}nK2oFxyvIg1tBiedo z+}y%Ot0J!noK%hp$#3V`!xlTIo#5 zn*TAau*SA&A4MyjpMX|6e}v!WHmlsO zZ+l(2?Ry2SbS7ve;ji_7PAlNWrWNp#pp`&g!>^&0U-#0A_E+TFEn4YEC*Yx%P7*W% zeRQ6WKIDS{eRM(}opaoappQkOkIn>rEV6NWj4}z{NYICLa4$BlVr*P);6PtJs5_ZO$xnW_|i>P zGrv=FDkOZhSc7vlSEt&@?A|ltleghKw~gkHYa`>;b!D<69Z&ym*@=0p%dYt2o;#%T zruyT?56%^;4CPyC)%Azg=G0?XsUMe~Tfb^hmJ6RaEGT$hef0YYNuN38OL*kz`x5QM z!es|D8vC{3qK^78_%yA`wCkME=RQ@(pQ++Rp;WSvbhg#n!$C?J-D%LZ0eKiw+&_Yj;^=sIR<n#Ne!8wK&1^jfFBSMu2`}nXuRoN0_Y*cN z`Jz}w%7y#2ySg_y114fMT9JSWM=RL7=d6}p;T3^qY%WtPuhzLr)@d&~l?NXAAk$~( z2DR59+$+W|QLj~`e7mW7=Ton2Q0xUiwYEB3#v1xiyX>X6PmfgoYJ_ZBPbzPB=QZ7% zs*j)DRQqYOJPcnN{Puii=8P@G^08-9G(A~Q06&-mw}i`-1KoHy7m~I0O_cXgK5Thr zY`MqUd1nDO_|Fk5sCsD6go`6){+<2umTyTn@xFaX#sC(b!4@K0$$MIB+@9Fq)ERw> zoz%X}yX;@;EI-Bn4F{$S_CPWGH^Hyhbk8))?`K{0)jNII8FGsT^y&Ng`hB1(T=ooo zzmUGG&mQNL87n6PKl?7vAzyve#k!UFEwga)1?U8{1Mh3Ui@dnswfEG1g`DcQ23DPuq5(OOKJjlb^M883EYV|%yK3C^(Da+clucc$&sIbH99E5kV=I;&5o?to$&>Z9Zer__Q^ZWjH1`+ufaCjcDMvPoKa4s1D-515EOSCkLcX9q}-Vn|CoW2>RL3_~QGA}k}gP&B} zN)w$!TP@g{R0jWpsL$b>F>ZtQzrtnXJipH=XAkmW_8=t#x`_i`lP2!et)%E_;=7QR`cM=bt*$K9j4BZ==|c z!SNyCwe2J^7T~nU*7I*>VQ1S}auR1{#ts|oN?FScXQ9?{A7I^!EwtK;Jx{nBMt{if zZuci(eA8>8zpL;i3)}l7qn5R?4M>e`-%Luo=QN z_SCPCTUcXn$ZK!bUA6NM*v#tiMN@y$D_xPa?XHN*s=nSj22jVirg_P4J%8rgJALuk zneJV{%-K|8OvEu*z2fsM)KS5(GTIX?>8zVUkG2C*>x9t zCj-G#i5FTxCeLRt)<6TMg?Zq*U?`~bD;`Vi!&-BE(bbHr^a=U^{(aFbaA3{H4<(6{ z6ZnuGmw##>JV*v-CE;m#gT8=I!6UfT4;vo(qI0-(4x5Ym^bLGqpK+g!{nX@tDcbVh zmg(kFU&Ji@ax@>Ex`bF}=XhTv5c*O)7Vq9Q{Gko4Berd59p@b0;Bt;=sCen_sCY5F z&e!25*0_B`#!f%^ZGHf~wr{v%=N2>WG`_YA6(2hoS{N`pJyMmCI9K{~KIbJ2rSe2LSaHr>bhxv!Eb`N9!319tTR}U{HCyLiJ z&ynd5q-7RZ?BxKn&e7O20AB@N7jtEwYK_O4S?M#Gm1cP6 zc*_;V87;f~8vJPBGv_e>;kH$2SuvLxL2OB`Yt@ik57*=1=m5AYp9?NjE_?RjW2@4$ zVs0~{o-!(H_(}IF|NCSacL{Ylvtsyapo3CZCUs@zYF$$9HOr0aq0F&l8FXgps??L2 ztNHX8xNqmDwfLS}5;X9z$CX*{{^vC#I_@4~V^zaN_AX11;4&C`r z*4v!t;&ev>8NQvq`k6Ze86{k2?Tn@C{&QS)|M{Ih`~CEtjrQ{yJ7dUbV@%mtGj^E| z`rjp=J>&uYz$4n=1<4)3Z_AkbWibvT z7|mtBdMxy(82w)?XTKt;|5fq5+6;5XuVlXATgmO>&!FQ-U$b?fnbZAFUv%gj53~+@ z{ef1?Ikcgi`N}wlHTWN1eZ8N(1Ao{MnfJ<~QgWnMc>P5ea1DA(imvHL?&I^jFksH+)nGvr|UmEwW zsy$qNckN;S-&chE7mmC35c`jQSIhOQ$*Fae_a#-qkeBCPp4GWbO`E={s_uDqaF7{Z zKZbZ9es!_@kbEKr;lKGqX!E2Q+JG)MJOWP7t?%5rv~GDH`ZLV?TD$o0-D%&R7HMlw zi-Z~L3Ijj#{3z$&RLn8W1>Ea@0spo3(l}N^*ZAkeZ8_ZHZIGVTMxD|P0!7dkG~i|5 zQFEWxK=AG%zt4QgMpKeO-7om!7CcfyJ#8Ox&@7xQpMhXE|kG&bD;BKi4=??|*0F+XgZh zB4h4i?_7QW8y#7tM_)x}R9ml_c;gWCM%szB1DoJ#PxS5V_;mEYkxlXK>5;{q__8JB zOH&2^GxC|^@N=+b3wzQVInRdm!;|<6K3U&6D^hv&=OR18;j#r?=m_Ewa4r1L2R|10 zYaw=MZ_(Zyt!c`KnLnxht+XAiHywM?CAAhomNnIfP2>b)#rLgFbjEg<+2uv|aR7@S zoR@?1$0)yge#K1qcG$LLZVP)Y1MKxJe9w5Z=HRSw;>EhUcdbTVNFEsN74yBD95>x=CBo&Zh4$O z2>zqMkT`FTGv7_|k%TS}9$4$2Tv-x5a!*F?Nyhn|mgx=eFs7rB?=8qmUzwSv`C$V( zQ!RcgZHv%dk>MACSJA?&-FaD9~PGOmwvy_M@vxZc6_ zXVk-ZYVN6n7utSjICCkh)H4O2#&+s-;&1mjZGdkt=gT%SZ!Eq(T(+;Xd-UhQulz~y zKZu$Mj77FtUWh)SvZE*)pzMz8!eviWR%P;i^p!PKY(M&G7IRrH{aQoa-zn|&)^Gw8)to-fgf2X2AEfO+-$Ggp2V)Q9(&6Alx;~?wg~elGwcTsZnXl_2fg(`tMWz`0H3w0 z{65Dj=Y9J*%WH3PO=GXw!k>%iEbY6lVs0H^rfuY1H#o-6cEr2nl#1=QX?B`{J}r3E zYp^X(m>jpJOpZ&hZp*xOXM5JdoyT*(vh(E6d~tIfW8@S*$24soWHvgPD}|qvkNe<_ ztfCXYlb?gmVKGsgM{Jps(==r_z5&qkQFteP19lkbNNv7Px#K)PIptuE6W#ozGow_# zt!-;mkJU7Z=WWQVF?_#}^VZN$hljhJh2id@g{;4ZbJlIVt~;Z!t~;}^?Ypd5sy)qZ z_;(s|@f#c!UnVMzlH&hcy@&)VSPLf5BE;fc>!(Eu@3 zf8hOz&y+;l8i>iH&WVF-3%!jdGT~Fc!WeZZephiWsqfqKk>BGjJ7!Ja92<|FARj*C z8+==a$4(~jq<917O*`I3y7#GDllIpU3A^b#(!ckkf1~q~BKm-#bYxQrJWWgVU1Q^v&{7)4TDE32~Ki#agVb z3U&w<)zip)bqtvGZOp0pB@t&K|5IdG^!?2y`hJGRb7B+8X=C8miPROmAUPlW48KL$ zq@bZk#4jedsBI}{kcU<_%Z4GE9WVNVZnXwj#QNIFud=27!PtiD3)^b(8#A0w{Svtg zm`UJ?*)4p84*TC9EV?z!xP2WW^X=9{Lp{-qSK7YY;)rCKs?-2 zt>hksKk)s(#ye#{=lEGXx2gxWQ5Lvn7zeQs#Ck&4=vC2oTkCW1>%OKg7oE-FfZwg^ z3u4{k_x0#b>uufX*ykf@@O#&L%zMlsN7q1W=pm9R zheXey6L_?q>z+Jav^W=9jD5FzSKqas?}Os$v6b*MalrBy9A!q8s_f?|+xRScQF5N$ zs`-iMQ$^3{g>ADv!Pk+m~+1xF8g<2)w?M?H+vKHq~`SJu-)mM zSKly)Hagjx`1^3#XW)$^_vGYi4LTjY$HEVPuKcD>mTKy6Wlsu zwupEyW9x$^d+!QQ2)c?KMV3o0-H*<$az`9Fb}X^x^0(pd9Qswh2K%&R3$T1}3-cSW zw9%J#`ln}$mNJK|fqym-_i-(LjFj44Z-UQ0a&*D-!!d?Z91&d=}g)cf?^e z_>nJ1lW@m?Pxz02Hyq8Ot|Rz#3RfvyJWuSVVk?fKXSQKWdHeUQOV8=Qe2rRIe;Z^_ z%X!w_u_vepI*w81EPAL9ntc}?<6ZnnWlR1kxHx%F?S?eX@jrnd@I$}q@ov`5Bb(+? zb~$|-DShm)<`uL2sS#oF9FDYkuODq+czNVNeYk8M^b%*iu6L}j-m>Zb{)-~Vc~>mD zM=pprUrWq|y}WS)dF9rI%chIofbS_{Zl3}tF<>6qGOa;z%L5soI@Z~1SZ9Bcb@po3 z*;lg8E@E9>!n%4H*V*3LMOSk5v)&ecRr1qX`}xaRhqAt|%r-{ z^{qaqF0Hd|`tfy7eF+^{@$IgpOgM9G3Hb~B#97TIZgCFh$IspQ!KJ=9doU60XZFNy zUFVCx@LBZ!uleH7ajktG-Mc4d>lyZ9ENr`uCi!UF`(Bj)Aj`xnrY3T#8qU-VFJaA$ zd}%B|KLrMZju>8MqK#KF2j9x|R<7SL$g%9EKhTE!qw&F?F`crFwA;q>FD2^>SRK>9 z!TL;PcTiUQqS~kWAWM6(`|bE7`Jqd`DAq}P;5yIJkaJ;uhS``e8`_~QIjQq1b*^xU za%Qp)H5X%pUiIau`rp0ZdQtmI-^VeITn3zNtbHeoy;0M&7vETH67i#)aV^=Qcm{C2 z34frX!1IZDA&BiYP{G0cl?<+lmPt~Kb=C42(Tw-l(&>T zpjNNOj7ezxGp(oK$7+jwv zcgR3-o^IR=-T=}fl z84hgwu7OLjRaLS!Ncn4Y8>f8+GPL)k*XM{V(b#ZCt*6nq06erdHkt($pSIU$Ma7H- z^ZLT)UJ7>Hgzi8+r3V=YjZHgabCNbRCNB1gG(O*_Z^ZJ(H_``BXj*gZGsyNnG~P4@vSev@V7MYL^91J{#-;g=H{j#8h0%JVt(KI}ykCT!jo@^*-(UYpDf6VbAdtQ)rvSp0Do)sV0CGW%3EB_2H_mT-ETs4+z zPx~0?4>muEmu?0Zdamzf-wK3+cAi*6JW2*M>)~CTZ;~>y=umZXeSsZf;tjSPV*P&2 zpGp4?e=^@l{THDzbOGsBVfN}hNn3>aBijDAWIc?;8uLPV0>RNl3&5#PbdDc=p*l2#V6vAQ%^y#(*hX0 z#K78db5pAGE+r4^XTc@5x8?FP==tUbzM(vNf25H2vSS@Z4^w@5ekVHqc%Ex+fUcWt z+_YE`;X{5JlH;c)yKY$w|1Tm>P2HRuvEi7ax;dYU2A(87jOTUplh5Y!3?GmD`>o}H zLD>J+Tg!u7eXej>;PwRl)h$53!~PRq@Tq9Y1sY9#VO0 z{oJnmKl1&I#QTkNyXrsk{nW(!AI$Aqm3+S^-S;QOHL49$eQ79&T{q>MqIuxddHx@nV>BmZA&bP* z;q4n*1LTA97!$ACq5oDxfd2vfeeOcX`Yk>Wjp!HQ%du4>zXQy3|H(6-p80Q#dUzHd z1#Rj&f;~V7*PI)pEnJnOK84$J^N@JJiF{jhmA{MZkMiM@95in~(E1?uNzH9OeCF)j z`B%?D|1t5;5{DVMM7rPQ5oAl$47)s%&sB4NN^T{5&(hGZGLrMSqli2iN&hM0O0j1p ze5ja%u{Q}nN8!gXZCUW@*nqn*XWWqJjF-L;9W~!Xvwt(V@Mq|C0f(>4Ty44n>0B3@ zuJiRx`MiL6y>bvJS1&qAkq5sR2RJ`EI-%#qs`D?|h72i3J{BT(ppn)fbKud@veOXL zWt^v(CtJbu!i!!;&O5@bFE2osK-NnBvfsO_k$heMIM757^E~Xp#*E%-_?Gc|3cGn^ z8aUK5<$y}$%}(gFXI9$&ibba~O_!Uv#^0##^iOknEw+vOnX^u1lJ|UN;(T+#JwKV> zT=Sjc88vQN6R5ALIRUv5y_8>q9<3(%zTLTPb&lo-%}K)X8f1N#Js#=z0p|1)>X9rZ z?@P{|L-ytfhL~)@=rW6mRm*C*v>}WvuOOe3Y$?BDPkldi=(`HO_w${;(VpHm_REy- zN#*XR+<$uL2&0Mzl4{c@FYBFAKTwD{RQnoI_Q_z z#tAkE`t|KkfRnn9z{$7m zU8n%Kyv*l8aHd%HAo$cix&zLYWO1pkk{caM*% z$QJ!~rwJrYkDwx*fqPE^iXe^>7~~qp|?BViw-V*|Hvgb@qQTkgg=(Q4tzWGFNtf=5gkPS zgT4c^l|C>dOuI_zyfbw!?NGs*VmkFKax9WP0u@FqjHJlygvY~rsJPqmPYA9mz7hRn z1+uPV60%KVLFictg2x%jGy7eRqR$SG%t?^;8cqy^jg{&+(PVK+{kch3bDbF4ZfYme%eXAyG56hT?a+-zQ1+$xoU#}A&Ay2VYP`n3 zHLGIFGbhq-6G(rQ}yhOW)GwBO%brz%9cv1zUkN`+IH31mf^h&-7L0@Zw+tMQ1D7c{=*Kyf*N#3aW#lAHQ1p+pxDx7tz1@Hr4otWK zGdyWxg7A|H%weN^wFe!Zk_`On8JGdV&(MQUgyLD{Lr))`4}y0A-&UhrY{fT#ar@dL zzTM0{_TE87d{;?4p^ZEjkrwgYzjL3+{g=wV627{DXH^Hler?>#oUexYp6KwVuPEQ& zo45PhrIVrC>@O3zpUHnQUfy-|_XmluP{=#8%&Seh!9Cc#hvv)8d*~e`_rolnY4lqe z@5KfYJT{ydD!QNFC%L2}|DfU5FXM>J&n1?D#Ll`*V!n;nJpV>H=}%~$hb6s9^Ni1< zT>J~6+kHRpEU)KP{KtLzC<@IyQ|N;-b1=U*g!VyNeONiQ1eNs;uXp`M}Yz3#bI((yw)S4*0W z?G66X-+aVtS&Dw=`-JrIxt&VW4_G~qPuF}&0{1HCcBt>eJpx?}YoWX?tD|R(g$CG&n zda$A6wMWP6FvyJgq~cNF%ObIj@KGP#6&sh}m-)NUe3&&t*`r@)jU99le-DXws<{dp z@d0KXG-maY9Iaffi$RkE*?lC3ea$P1RGbT0A3LGeLL!>!z267?-Tiylg%@mI(iY`U zqH`Bwi!DIcu9^&=*a1cN{#@>_=N=dob%jgb?+SY*?pxz|k<#5G+!B*vE$`EB{5NF- zw6IQ`K1}X==B&WqB0Wa#V{=mFzMI_l%Bf+UBt2g4<8oxpWFch8bG_K>w-dG|i=gy)(Luf)w)xZAl8bas}8MQNo^kUr5xE6wlLr`#3Or+jvNpYlg< z>{I^Ous-E0)ELlhwfL)V9eQS|_^FF+P@b=Z&vdcZUhni>Cik?QbYphu`V`_Nl{So->& zZ-_$Q zYtnCmC;CP;<6*^jJY%1&p5cFX%JY7Fb>LU!`*FIN)m(4VFRwD&NsJ(+&HN__AB!`zGu^ ztVbQI5xbP|kNsy6_kH{0N5C577S?wK?-hKX{;j_*im@-5b+rW@@-gxy*2(~25~(kA zHDry_)y^w-*TtNbgI!7dVe0s|ByOyn4`u#O!t?gjGt3K8lP=XNb}YKsnT5XrYnHNh zs^#@3M&@N&$&LYkPkp`v_bZAlZqCZuHou~HnT2fWA)8jTWupqQ1_mo5~g} zvqXKi>=v#t;D!U2hHs6)9;nFMsg*sw><6AZlAm}k_4&vfI=FAwv~3Y*LCu z?G~^uxL_M`FP9~TFL2M(tbe#E>f>b^*Z3Rb%E$A)f*lqF>nvL4qz?K*$K&uJ@Z)cb zD-XND=I&ee#4@2r`fA^(PnV4w5r;k<>6Uw0!yb1x&lc=Kil*XaGGFamcpG}qr_1^} zEuQpy;%MXUt3Ujby(!G~E8^$xsJ3r8l^);8hsWlQ>R0~b6#w9vlRMIT@AKzf(#e;OFT5&?e^c3=e)Ieet)!zT16e5g{rsx=J1)ws)(>=V9Qp+F zxAC*bdu5$&yvx5o>c;eT4HnVUrGN8}n*Dp>By12zfA}D{Pp2MZ-Pq{UM~<@2MgKSZ zbp&hs!zn`>$hbmZ7hkj^^!ozJl)YusDX#*1wd|?;nssaW2d45){yq7JR^g|HZWQoS zbK)0bew!h*Fdu&$pX+MzZ{vR`X|E40VBBesd{OUN`%v%O=|dmp{H~fA;DtU}`&Yi9 zjCT^d#lajYiZUecoWMM(l^=w@T6_V(l4pi@8wDc(K*6_Q1Y_ z@{1nqqULlmCyjHSQM8wAhIYo$P;%ECBf`=3CPL$6cog0a2w&h}{|n>E$fWtg(<7R% zh_!qR|E-jN?G1g(hdBEvd_Uai$K~7vF7%&Ew35*x+YhOI0^M0#_sjNh+Upql$Rz5- zA+p{2%9u{vQ{L#Y@N)W|4@+mTj|}}q=@Z{m*VXr+7hg@?K0qq68=cm_-_bJY+{0?k z&R27{=99jzIg3<0Vu?d3HezBC4{F2~CHwZ+2RW#EUI*E8MjBE2GJQ_u8F8dNFKb;q z*LT4FG)(kQlCe1*|07uwmAJvF@;pNFdgjzH{-(3eFKdLw za*xlb=(2seFS0uSKJFgp-xHY=BWKxb#q$IH=W61_*4A32PLWUXt81XC@1B94=ZH&L z+b^v7dwY`SDS1!Ks%G%FCwb<{`(a@o^?gxNAb$?;rQH71yM=a?I(1^Jly(%l;wD5S z$$C+2uBPm9^1Z}95<8sGDYS@@ipc&d`%X@rUn!Sg% zneu)F?I-&N_{OC15#HC>ZpGIse)S{tA-_% zjE@H21ltFjbihy5y0X|TMDO(Lt`=qUkv<_Y{i(Yh8uKJsL->Yg@$bu|+%WtddorF# z9POL1n^^IUdYtw=%2+fLzm6xcQAl1`RG3@xZepEyycT9l17-_z7K!_{m2&3IowM`R zuo#=bq_MVlgf{MrFM!x%#$81$P}VhAGx%UU_Ojmrn;xe5_FP1a3#~ib8G7Oq6RYfO z&mkKoz1Y@d7cLS??KDK^Y5Jdnn3G_r3~E)Dipt{r&JJ zEyngL@Z%|48>Uqi0rw66rr7ajQ9iZ|<(rsJc|s3-V>9iZ6G^|9dKX^iOI%jX>VA@M z2EbGQsCMr5;JGAoviD;x+$OPWq|eXiT?RHP;R8E8dPI9$J8%oGu`O^hKV%=c*1d!^ zZnGVO;W^x(0aD?s+Y9O=-&*`fz{dqpx9)S#i;@q?cHCd?L&;V&-fG5p@3 z9Q1;`utH~fznihefGeDIA-3d1-mM@WAMHKj)z7YR&%hTdb5DBXjJc0LKO^jwWr9oa z7Bj9i;fheWs&1L`nze2jhX+x&}rYU?Oh824hJW5%H%a_Z^g(w0C;rQHSQcgL0Gh z<~1H=E#eNoN!pv!c=QtF25pzhH&0pYBa-%HH6CN#{m7+SY4IFu{K;7X_8 zALfNsjld@(NwujJSrs;DV1$#lZC5&!cJSqdm);yfAEj@fzK3|_^qY?ceH3?SIKFfj zIeky_?di-M?*L1$5wX-0G2wIK`Z&vHyt*K6fTjJ2tjuih?69~IR`|Zr5}uQ^g7?(7 zZiyXnFMU6Xx^aD`yRFpaU60RszK7I_#X92q8SP8|9M*lrSpKE&;}|2EBQN{Yb?&vF zC%Gq5#}?{%2LG6aI=lL_tKGx+f5P|=U!Z@dPQW(`znB||1#p;s20!p0RK%vv78zQc zHMQ{w|HcBwEE&_p?}GT9i(H`fU&Ngjnnp{(gS?o}2J_8b*EGjL*|8_&nWO z`VZ!?)SL3r5W7VU^(uZC*kEJ)xNe#)GWkj3-DT!vyC#1^oHTscBo>n++?h9yG3tkQ z&b)!70eYA_3q3;1e;DQco%EK>$-X17!rJOh_RBrh!!+N)_~@h~T_Q_Iq@v$;xuf)8{HUaAhZMIX`5Cm`-PA8bowTI(%&uhP|KWC_8KQbmj}AU z{w?D*y7OuopJm*Z@p>NpS#&qC6%}2yN%=GXga69G-ttt|1ihv5VKq~=WO#oTct zeP8w`?56Mc~WN=<`%!qG!|KttQ@3owZNN2oS6qh*GS^ji?;w3QVjAz_s zonb@;WAXsrIp~YmUxQ6#t~K7dcd{DeFUe5*?4I94JNISmFQgC4SWi4)_lz&Dc5kJw z`(85HHyPX6A$ZZIimo4q?^6%zquXlnr^cW=aL%vJRnW=1F={bds6L|MAIQxOKgt1v-OPI1TI98)+L#?As@r}T) zr2Ov1S4_rzDYr6gSkf@c{)F-dP#*KpYc94;_H8ao-6?PfpkI8`MFz+`ViMnpyd_Tf zXx0&F!*ZoRbeCIj;72C^_n_BD%TH*X*sU4k9 z=68uv`hH{D`l|CQx`vK|VXXLk0$yg!ueJuKLZ1DkG%tqkx%WGzf8Mm4K#DAv+*?CNR%n|-S4VzO@`^4q4R`6{{;?AyramRS< zTN$Thty=SqKXX?(_S;d`2-d9cwI=n(Cf?hw`Q*D7_^t?h>9u?pw*L7Y{;hk@MpHEdN| z;X&G4+Dq!J*r+pUH>o$7%d>78lP2+Aq#kIWqBA!RNvB>c@G$`~}muEoVxWC@& zn*iU!lLg+#L3>!NzYZ+WZYAbv4`P(IOO(2ZOd7(tI}V#|e`Lx>jBAg>m(VGDzwRWB zgTJ2LHLo?}R{jmHRXv5!mozVTk{b$uD*YiQH)-yz4Xj`vs# zJw6WmaxcC+N`9-3-)92>5y-F8#tvsq#w)LsFa%?)Q=-2_DB1o9euEQ zmV|3-MYlG6GtU+bD}_HLQ-ke{sX={0`f?yv4fiI!e;?QM4@qD62;4sq56SEc>E~`7 zVgauc8SMnOlQ=5Hv?=3D{Y~|kdiqVF{w3C0MY89y`?b=?v8VO5Kd~%*p{2Cw)w?*~ zg!mqese(_zrC;nZ^8{Y_VBVESABmnQvUCzZO`cQZDYvp;;GXc_!3p2v2D zm8N%WS6Ylcr3f1PvhR-Zq1^J|WMA0W$v$iPWM4b_VmN)KJ#=@-o$OQgJ8UN!W6N9c zevI*?+S+c=1axO&n2ye6T>K4kY<~J}$RAtIl%ASeo4>o)G~a0Ed$%ROR8H(CPv#S8 z`bkR%_a%LuDfz!m(6nP)f%W=<`_tMmRDJ!K@(EE)+ z@1vXE&klya-2Z+yuu_(ke^{fOWdD1?A9#1IGiCM;cra+1eZXJ7f=_9JpM5Im{l7H5 zAH%nSvU>R6k1@(nwDy|d|X5Q{H>do_d-|?+oPSGDc5{Dlkd9QuAzS9oq{pmMG)UZ#+!&93HR8gjIKr* z)Y;!+w7eNT{oe%2fOgr3EM;8%=?u!{-Y7%pkTUM245_E9smH&?Q$|>K+r5+{@P~?`a2XDXr>h)yRyUR#(m%(Pf-QDHXQecZo+ z&emy8_xP&4bIKRbiHLupk{=UTg+sJP7i4{P)wIg7Z_8ij9N zr`58D`^$~jx=+cOC+M1gB{tFDI%vtMhkm&CuatEOHi?sbvy*kb_qhIQ)262rhh`N2 z6>xdC^Is*0MYtDbPtgCIJz0OOz5ExnA^*h-VLfdFKh4xto6rvOUfQ69eL&an|NRa9 z`3=6gk8hp~>tMTv|4`cfl20eAZ=_xibEb~eSt4h--ABKXch~Sw{;i9@-`r>P8-crq z|3to5F!USq+u{>HsD6{jxFPy7y8i0vj2AL~^k>WI%40g|)+d2MZ#g*>7 zInnXb2E*rAyZNjg2OY6?S^Z7LH8RKXJ-_j4_gB_#t52|A(NK}>z70M8TWj>{9OlE9 zAZw0STuMA@JHGt3)hV>qjkHxw599f=jz>S67=p33Hr<|?kx_zd$a?%T;1N+q1%%kdN#Q0)AHR9_D5-jVuPQj@0V^h)(LKv#p)p*M_l=%eI5 zo%>t|eC6u(MGok4=t~;XbOl#NUWox$!Tojvt{S*{hh9dR0vDa?(4&dkAmv4m<37(1 zXD^0l4{(%slDsY}9D0{E4t+TH9V;Dr$13VW?rXSjaOl#1o^Bs8RrBoPTHIIj#KiaV#9rOg^EUT~D>P3;rRKSg zezw7{H+a^7 zw*yCc!pnDw3Ho<~6BI9v&IG-2WP;-5Y&vOfg1+ZK3to5*#f!Ab@=61DQ37@Br}10~ z_ho(>zpo(O4(=)guA01h15R_$mJWaWC6W$y=t z?b48-$JO|GiM2TN*l35pUHUrom}G~(`&63V7}v{l_Nt!rF;}CP=b`!Qyn3ftcYOR* zUu-|8XO=a_y}l+*kB#^DvEHc;>KNK+-`?Z6&vWSU)LVQpsRtSxjCNT;-Wmh0lKUzH zu7R}1p)aRQ)hEIq}$;Eyl1PquXpHk zSljz=*=8RiGEHQg$T*R0!7|O1b0XVBu8AxQmTe;MM7D`sOF@Q(l5O=ZWZN~Z$hP_x zvTblHvh7$4*>+_svQ5Dy{yf>1$9Nw~w$<}KShguR`dCZZrr_vjrfd_qP_j+nf@NC{ z&o=%88~;JDY&*vLe^$0B8bZi6MMIEm%WXxrebqv?O%-_-Lbe@gA=`3zK8|cV-a@u1 zxL--O$ygIgwmr=MA1vDxT>AO4O~D1pHZ^uxkOk3(d`Twl+ea6;VA-Z**f?ZZ9v68r z#iX7-`U7&m;^)aWg}V}bRR-=F(gp*!rAf9axMarmzQ#D8N;)dRPvf{I*`|07A=?zs zT9a%OUd|>W!v-h#$4w{qBNG%aKUcOX+(qZhHif&QNwz7t>hoorg5#eyWt-x;7(P7) z&nrmR7(7=t$u`w44e(Lp=OxC1EQoga+okW%lWl(e;e6Sq`b2S)Y*TRj(=BD2f(w#u z0(Z`NzHC!G7d6Q?(U}@c9C~95*(QA~Shk5Tkj&R)t|oK0gRFze-0UsG&hsI9jy+MiwEJsZ~Bb~Y^D_JAe9EBd39BY6VTEI&2DD|%yV`Lp<5^hL>+Z&SE-sq%Z- z&M;4YjPF0(k*1q;3!O`OZjDCK6`_o5HBM(h22|KWi&UGzJX zUV&9K^S(8jL)WXrEBc>_>%4kTb$CVZYn4|E`9a^GU#|}Dho{nX(c#XcmG?h|)>*~i zYG{L&N_YWJtGw{N=yPU%OIq*e`vKULM2|Dq@q+CUTd_0bYMqsx;Z5uZ|3ldrBC#<< z#&5;$V6PnP-uZav_%4-Kx|6Xn31$oq{!SUu0#HdlB=^Z}Dx2z&_E)*;ldH8609~IQYZ8zauXe8$-;Tf}IiA z8Lq*;a4q(QsIVCKF-welDz>0))(H29Hqpgg`U~h_Nm(wxPKMq!JXP~FL`A!YFgH(P zZZ7tQ#k|uE8^cjosrQWQvBpSiq}!F9sca0f^sSU^mv<+Zp5^k+2+0)3M=1t0)M!ww^VTrWe&i8N9McJ0@WZy@R%&M%%ZVPusuS#`jP0{kuWm3%wDl ze7kL+CBn9d@1@-qg+~l|ld*6Oi=g7z8=?MJinyxp?%ywRk7 znxkz`S+sJo54;UeN3*7SqqC=aJCP2tUlxPG`~=S|{6~$2tF$|Lt?`@0r_) z7!vG5n-d;CDvEcctN7n8X034=_Pj?bu5gzX+T;5H^S}A;j$1qP&vjWngZ-X=t@u}W zKmNO_P08-*8?SO7W8sCq9aAL&(_dN9vhOf>b zF0>CmO>tnJ-NJRi4M-CMY3a(@<^ zpPheE=0&SAU20x5BYToQoPV!A%I;nl+sm_Ra8DI4TK=U7{>NDUM>{r_I@c<%$knsR zqi}1uI~MsU^CutwS`KjboEhHtGiP`QTkW>JIg|AK@xA!>dfDo;`gxz*;qULK>8tjf zY2J4;r+IV3?6&9SpBvZB)+MZqZCa|sI}%zh=92&PB>!mFoLp~NX0G=nHuU!6+uIIV z+S@i$-mQGM`J1^rJLgRD)@D!guF9O`&0svdg7>S^JKKoWXR}h?CjQZh@RR{hU%MtY zuHw1Y^_sUXD%|~g>{Q<>`p+hO=5FPGdp9=KCuM$|HOX7gHHk7;X?ELS@;0a2ZL9FB z3+Lavm47cJoV+*T_y-pv|3bluozaAwNO=pP$%OkFycr5_XWO%smjN%YX~ZX|Jn0AX zu>IjVTW|7uXY{t6LysG4 zN$|ep!Il#Wj`sn$)CBLIqR?1XM;uAEukF%+_0jF#=>G~ENg|vH9>Hd@XU81c@8RXEaffbyHLEu z@!sU+LCO=|&(x(9FF`tAFfT7vw$4j$@&fg3ad=;@*7l$@M~jQlZjax*gP$H>W# zE#beooNOP~{zu8l033a_EjekzT}V!DV$Jo}l9K@%E+8itqML}0a3MK4$$%r4Lo+!U zkdaFMcjPP*KTrP|a`I(s?2nR@0l3t*<)jIBAvrn5+VdBelL6ewwYKDB01mmW(+6af_;uj_F%JI*bS>rkk>~LH zePBmcJ|CVSe-G2wW2E7~k&eFu-zguDT!-JkqsYix@-zK9N(^6(GQ&@!BFL9xyOCFI zpw?qcrMrr!nY zqOv~vqx~*e15x(=CH{5z?@L(I_ZaKjWk#N?hp+}C>-_=$3R&yG&M)g7k{8cJ2DyTk7vk?8RIMhtfRXuk-tnFst;oPPYW{;%pL9UN5#{#+xk$jDm~ zrcdpFvW2hjH?^L~QH|nd}@Li~P=v6<}Z{h!^WATsnTVNcPvA0dXg`lxm z`74a`kHyMYA+KpHRz3;t|9W%v{D zTu=WHzdDt-y=g2~dG-FWSn`6$V#%}9A7w07J_hthd3#_wzmN&90()m}0xX*B!RCvZmPCe~IiWgY2Lp5N^6ES*&-XOY|D@1N5y ze)t?)ytT5QyOvlK!+?va9O{;}%psLS+)0&#+(+3bJGU@8ek*Gyt64Ak8sGJV%71ka zoNMW}X%pWK)qJw%(sfSP`2Li4f>=;VlzE(Wm+2K(sWq3IEBm_-5^L&a);mwL7W38B zP9N)?YW?LHd+F+l>2#3&o0$~@-B#iqon$}kH`WNX9wTSkHd~YFrrmq&>RU@EuqGpU z8LZ3n;G6B%cJ9k9?c68v!5=~TIq5OVxrcpeN7)0~o%NZ;ydTb$#Pua>rlYen^ck$v z^vKFkYo~T>*)@0_>&xS$oZ|S@9S(AA*bGrU0efmYx`$)THP1mm?{Vn}h4uXQ--2FB8tiycab`wQvv z%mV#-(gIJKuJSxa9;wPBjeo+Qx54=Coblbmr18H^)7MhwTHx+ueEF7iK4soaD*KaO zBj3y>X(ZsWVZ7~fq_TCm1X z+l#;nZC{cKZT(4QztoFd7ox48vWd2rD~-A#RdqvJz`vmIR~dPvDvvaNqd~Xv-8tjC zhe_k97gcY-sd^(-^+qatwqE4A5N+|$AE>t)qi#r5-H^sphN{yBBac+&krwd(DY}jC z{$hN0J!t{|p3wFpaH`%&RlSiCI~4!pcS{d)w&Bg}$*Wu5rF8zlTLSyh7ii9uy2 zCLLmJf8ou%pU3-wq)U0eopd?Rmyy20^PQxxkw%cd!Fx&nz;hJoyF5$!KF@a2^*l@Z z?>rACC0^CS?xdS|FX<;dU*k-95nR8M@{x(J3*0u|k0kwqXYvp2EB3iAbp=bEMrS=?vInl{lU{(`AT^{N$jk%vS-)nIrt=T1vqc+ z6)hp>GGs1(ajnGXsZzcT2bbPmN>H_KzZvLE!f&Yji#ZAL^O2|7b2`S)D2#~DOpJ(s z9$$q;$h!W#uS3o~hhKxl6ZpFF3icay#$Tb!>ZdCPxg}0Uy|p9zk=n)gNA|kek93f; z-Wu4CB(^7st8kRPW{uX!fZtGMtah)C&(KwK3U?;qGc*!^p**fhVO`zrEM3{36zTq$ zYh4$yNx5`8^6x=X#yrnVd~alL(#fnWeU%-*gs52eeAbFPy4Z`vb9dr$%G$Bb@Ym0_ zbaWq|>?{|5{e1jx++4rkm+!Le&vD_~ZSxT~>`H4F+e3S&xpLTxnUj5$>o|L?PqJP( z1K2-sJ-=^;g3n=Z-D&pP%Noo*3cj0dTZzN94O))kEAp(xhM$Yg_Uyh#T#@^;TwC!O z`g)eLd>ik6vp2_;Wa(^+%(}{TbRIem<^KUcog^;zz8nRg1N>3^OvHcZj=h=C6KQi( z{y_du(|4ycemjvoN8oc5iO!*AzyON4th>yek@yYp^XN88cm#DTGNw0!}cS$nfw zM=9&%QfK)w-gViV4J}=4PgOWvM_)r{Vtw)pzBv#6l@{>Tz`wye@LWkbrF_$@{693o zAA48ucd>019F%`I_&*Jcw0#ae+2H@2?~lFjEWd;I9idO2Kd1bq9U_JdM5Z<4m*-IY z9%GCUevi_=LeEoN&FGa(b?^c6IM9O4FC2+kHcQyo}Gy3-ss0{e`Z3_s?{_ zVC`-@M}7R>+RHYU{{I604=-pA*EiI~-X&?ez<1~t@1w7) z`UJtg811^=->%<08G_$`Z=y%hQUv{* zpntoc{%_nNzWJoZHzj;S**@?I&)<9z;+t(v-}qFSw6WjJI|qb_f;FbKWFg%w-7Y#Z=y-Hbp`Z142{Or5n9pdJz2s-DrE=a$7(*A`bs(nP)FR zzo|ptSb#oLhhDJ&J*E!*WdZt29r_C~%Tr{|{S0H1=u6Ks=7=67I@JPnm?smRDU13$ zQ=UUNS%Pj-H-q=+GIi)43(#Ha&@~pItJI-OEkH-9Lzh~B&QkXWQgoHNcS+Gv>K-RW zC#jo9imp=kJ}J6M-8xc3H>u6g%B|=jbA@qutxc+*bBXKY(r``=)2GXPR-;{W1Q`{qSeLl|91!xxAh2Ll(2AOy=hK zq~h2761vG^bd%BS*_w|o(krT$TVnFrTyJ^*i0@*o%hkA<_m`oYq%a4I+dtd2ihQ@l z=02fywWXk=>;Uev{Zm|bTBB^U_fB^$w#3;!%O2|5!T+_3yeO{sxO(n?%q4K2g+0Z za&S1;QDm6FMN#fzWN9|CPSPoqD}K&{3?J=iS9W7I&yo0McZ}-j9)S)r9KYu*bT$qp z*Y89opF-z3#+W*s)P~-4)xPPjr;)Y8q2VfYq2ch5&A)SuG1<-k(-jzjJD|0!iphX)&YlcB*)ell>P6QUd1E`=s}UPJju zY5T4CR*GMAGhRg>3Bl_&{ypLKJ)uXl*+kC^MLR+N^08~BYy)3=uGNAUoo^v}f%t(4 z4V(G?b@YKc+HN7`9z$OcKa%$3589XQT7b@Q3p&Lhz7gNaiIiDK`^~4^_Lg?QwzD1N z61a=^O`^PT+km|jR62=rYx$?}_f@)v{I4OT?4RWlU(1)#Gi1NaEY0C6 zUxM5vKZdKkHMm5F>n!|>9&?WJ&LV?)g@6^gBjqloT=BQ;ZHYm*h=GO}o6;@NF+{)k z{k~Z$T~4_(cckeie~PD_p?MN{FTQ=}zA=$G$|?Vxz_x&sc*vqpNS*n(SM^5u>nQsMc(`NbvWew%M$zuWK&qRM{#$#=0 z9?L8IJf20yDO%9mgm%&8OdiiY-$ak1r3m_YSH9h#A3gBAZz#{?L48xgH8RP)VJ>I-~|ck<7xujS3ZnFXG8;PCNY@ea=Oc&E%@ z-V4ApvW1_g?0vWon~Us)SbIgPuNK)adm}`z5PN;Ft-cQ1cr7|WE%Lh-`}dF88&OC9 ztYxfxm%R{mw8clr?RU7BJrE+ZWzWP(>;a#1tqh;DQ}#ss5B5w1?~6E!4MF0Z%r*8y z?AUab`#3WE7&duxAH?Yvdmw7DQGY{ByT`-_UhCoh47lDVoSQy-Mq%-~^@%S2!>yk;Qe4>$j|MxbDoJqEAF`TZQbF@~#9X%79zUTzUa; zA5-3CQXaaU33o*^xXubLobnd)Pb@HWl9TLvn8@=9bP?IhAbTI)G4?)uW{KiH)i)7c zaTR`}g1ahfqN|>30hc{2+7=!bZVRt;xCUeMn}|NyCR~lfl?#rE=%^-~lqF>bmv;;0 zaHFVH_eNB@wvI^mkq zNPW7eVOReg**u>*pASFJWleBx=USOLfjYO_4k9yewrKeiXcyU&G#~jZaBg6}FyL~i z^9ceMuH_G+ya}|;d}Ob{Jq^q@15Wgon}KUbdHuy^Pup3d?!m%TShT;I9!8uOU6_+y zzfQ~(>4$mf49VQhe|%e27gxBro(sv&>MuT%QW=HQ=Tn zwh1>5p23kvKWqywp7I`+^5};qTqs`RDDNd?Y%^YXZrLUeR}uroY!~KSW|^UQAx?$^$y!4mb2<|)6ff6N-b;)J&3NItB`*O!mTm%V?( zI9Gb@^kKe($h(ZsZt=}dAh$=b2(1srP3`9v~k9&lvFA z*%SB}?{`p+3BRPup(jIE8RL@3BPsus0Y4J>>AWAs`{-?XlpoE0!;AG?%9r&a*$c6m zb0bg6zQU|YdKT{vF|SHO4n%It(#3XrE9J`^cRKy@VuR;;*QCZtyc0eTMYVT-fxO&I zzrmKyeX38^m^L$Sm$IXcvM*-uL!KJHy4o7H=23RE?N-*xrqhpQ4JstO8pnd*8yxz3 z&>?G6A>q|{)&#$h^4CcDj9-FJ=&_r;@=o?H$R6FJTm8H)qJ`+~E0cgXd++S6?A3#JUWv~LnJRoXa$_LO>#pxlP7x%$AZnfmrEyysc=OD|&m zx(r#ENjtvHCGXzm61e)UQ}sV>nF_4ztL|i5#CrBrXn2b@%;Z|kJ9+=r)+wso&$dhf zR^CO~Zl~N#%3Vbpikw|Vyv_`+ep@s2BU>lxA8(nc%d_nLl=X7)Z{@7Zz+Crb@QA!M z=L+jJ@F8bqeOzR&kNzz3Qs%rOf4^bgD={Iyqt8o>v3r^K%KTv#--(_-cH1m{=(Yk~ z&38Y=Z-#dd6g%{nJ!$%S_@2cj<+Tdyap)V0fral`Ty4P;Z$RHbx$EG&fJ@30_!MXu z0}Uc~fBz}>q_Zhk=DZtLG|h|F(=P-3?ZnpE8gIb0M(?Z@(69!2>9e!A+N5_4^#K0$ z^w(KjZNWZ3xi3@hI{Iq?m&u#(rT7ctZ4BkgT=(V5Al{I(0p4oc;0?Ieczd7{8mgcd zSv-rYO?s=S2k@^)9?#-x3w9ReZlK(C$m9YpleduVM!7PV-B1(68?raR+vzrV1FkjR zX4ODL1N0)BXK}SjZv*uJ{`JV`SzK+wK0vuIQ|>xsbOBdeyp5sU2bG*|@+k}UBNM+d zx0QAh`{>-Lc!`y8#hlLZ65~Q-^;zOv_+@qb_{|Y>cD`-M>Zui%;~(ai)!z^= zHIJB_Vuv2QaWL~&JM-7*)iTeOef+1G<2IAk=m!5lR?A*<)&bptc`J5jk<}fUyGjg= zKeJ|iE!R%$%e;w8txz4&Nep`DpS-WN~pTeAVEB7KNqPOMiTagvXA~QbC*UK5h zl3BaWB9-{XN!XHGJzF&Gji)A`a4`Ahvd18F|0EF3OAH#0B3+km-(RGv4Zx4s_Te$b>aE#(o)e4F;0#3l3N zx2YqMxdP*tyZAI9$1|8W3!cllmpm(SSa9BsEFQpR%HmCS>!4wjyBK-g19|+V)tSNp zr5=&LVuOB{ek{IfW2GM(vRLHwcdluTGB3WHxv%nBi|XQTg!hxQZ4dm`9xTRQ2JZ#z zRh&jyCoQqI2ay@?emYHW;kCTO|D5jhqg}n`=c7Z+sV$H~OvOjr2miJ+}kDU&{2-cc*a) zZ)2e$ByaRv#T)5`czcv`zpRBfWUI;B*eZiJL>BfSuBFH-K8$lUeFR+G2F27@=on^3&DYJzy+i*)y3KA~do1m@4ZY$?bGJ9A~3 zJC}bdb7o@bFlSyzpMH;VESGCEYeIIe7=Z)+Jq0K4y4qyEd=>QMGKQ_;l6T2m0@sx} z@|sU&p3FQwXs-M&}H@d31=^f~iGDlv+IF`jFWtp%7C-4DS^hlW>uVDeNz3vbEOBZ|^2@j9sFEHjT*2Lnr8J+p-0nBaGNw#@zT#+E8?b zh&j&ZFV7-oHW%{THkJ1>SN6}5o94%F(vE5#4E$vV{376|@LuN3{&}*0jw~`;Hmz(@^ zk#D1VxXbC=YndObbz%DRT8+4i*rV5Crx}~`sD3Tii`E{tLf(sAdO31Z^6x9g*Vuy} zF+7Ka=Y2DHk3;PjT?@}4;dvhn|0w0Jm-6A;gdbzjGX{Dd<^6i-ctPYg{!8Y(dHo7} zs}0^2uRGh|m40oO-Hcb>H=|_*w5)*^`gcfp-Zz6^L)}2fTKafMc-{xY-$(h&rF{Ci z3EzxY-Ust)&ZC!Cw&1n44PKGeX4%bn<$W_+DxswcT9Dl#;d$Q-zKXhmjUJnx&q zH&8dwu@+e#5}x%ea@u8d^vD|6@H+~7=ln>FCYTu1iJ zDNo@15t%<%;oBvCS*J+F=55B6tiwmkoKIh|@d|9>ojHdu+HViXxBTvnSGvE&J}&#S zWZk%y`S<*f%7lyt4$fcB2K&4%2^#gaE3Fdj-B(`a+z1($GYtq;~K==dMop&a=U%V-kga_rjO2^sAT$etjDEr{(w2(mOWPzNBle2>_%B9ewcAj z_E-5_<-|4f+sEgV=39HYAI`~Bd##qU_i{aZX)ovb8TMa3!@kSASa*J=f_wH{-bFti zl`~cMu&>cmpP(npz2?w8b_Z}%^=A?t`ZI$adM9X-F}w`j;%)rQWDWN#*W2EDS8n6G z##-)ImQHSo_x3UJAp-bJa4!P)n|zlE?o4n?856-h5!?g7t>D0&32p@k?o4niIB-t{ zx6G}>!7FhuzY44+zo}yAy=maaKFgYHs&4>&`yFsR;&kYbjCAOoBe@ooA7`UHxI`n5p z`f)#-&V8=G%mqcHOC0(w2JUCdsM``h?nM>wx!r)PCatFq=tFhr16$Aqg85&?bE`BU zJB9yeHTHB7he7y%mc75vvgcR$UqJkY1?=~|1sT1X=ckDu{&a6GMfhKoNW6yr1|0Fj z7jQO)ta-0A*1C_$UOAqRu+}a6&=yel^ZBo_gS!_|_x-_rCwuIsfO`tK-(vsW6mU-g zcRSus0QUrN%R2QPJZFJB3*4)Kn+WcS;8t+po&at+kLd4=CG){)p35Qg^4~+xeAWwO zZZ3B7RTZosk$&&WZ_MC6e`A_{(6!R*!w2#@!{6~{_CH>Sk7G)4nqHWbuNP{4^g??d z{pC#V6S*JUM}LU-`OZFi{>VOhiYHAk;JF~Zk6w`5hrLDl`h=oB`h+EY^qYA!WY5`*CkbNmt?~WP3P0Z)D!{khz+KOMwSikp(97)!`a^5{e6LSr+!&mo_+IHu z&{vL3P<*dU=RTMBEpX?zfjh;(T?p<%19u^K3&F4I9NhWfPBCy7fVTkrs?NbZ!N5HM z+!F-%f#!VY^V}NWDV0Wh7bWP0OA`F;UBZ1Cyh?jlfO|W*tBm%p26w%ITXWE79sc%C zQa?hOX+4dC8j;4TMuIk+D(aIXjVdIR@LaIZ9QuLSo>!F{SZ z-{m~F#`i-tMteK4y^q9BPXFDI&V8;!@m*fz(94%_-(a+N33^1C?4iroS5|;;yPxls z)!f(f{#0|^`8>CVJH^0V=yd3XBmKAwbGc9Vt>k}<;|C;)Q!hN81zJE=9 zLe+U2xPMK3Lg8jCGG%(pI{!8G303E9;Qn>=iO{i$J7S|SZ4)hh^O|D#cWlEx(L9F# zU99)tiNBW_!+#q-yk+cl7aK(t>0;LQ@5W}4Ln?L&*++JY_hOqk#9lJ7ONdXptn+u; zcsViqJK?)-_uDG4ONg!F8*CMvrK)Td5~E#g6=J6ldxga8Z^ZxJv`@%Bv)=nZFKleoGO1LaNDC(2oGNJh^3{qrWOwf_k81JNDChxQ?C zm9kg(EYF*r{yja{VVe+t^;7H>79V0C|MY0~315dU5lvhfIR^qiVed$;T-F)TExdMY zp-ZxKZ!Y7G#NWS+*!!cnMiPgAG5!FHu}fb@JW>3#^^dtuU=uiL*do4my{r7MO`xVE&s!orR@>RJkyDM+ZwKZ#4(kAQj1@E9r8DrKZ)%hioc1xZxg45 zcpB}o`5SfJl0V|cl&@-mOJdxZxU!78Op>}p=g2YYQuv$7HGs=(w@sQ>9xiJP2CmFN zzTfw5Q#-AEIJSeHtSQU_hu8_kejql2GxSyQSqbbtD>CEyKi0U4`(2xe<%Q46nW&!b zz4YN-^kMeFxMPZmZ%*Hp*yn{gv%L3n4dwbB@q%};4)&pz;O*&QpCtLSavt-J;W{hp z@J71Mnc!Wwk$CO~{_i#{Pkp>FLFCrW{V6r<#w>l7CURO z%oaa_Xmo(#$nuu5`+H>Z-N^6n$Hm*?k>RX2c&9QZ$XQJzbEbN)xtO-%i)-dANXX;*AXAoJj2|4jK*D57TI@>zS`*cG-JDbb;uUp9a zsRkWyQ@66lAhbxC>@D+3x&AWkHamH%((Qhk&i^6n3?XsLdlNVRNwDk}+`+Ox7`NaR z`EQmf_)Xm6pJ?J97Ni5TOKf}wo&)PrS2*J5u@(6f%`SCTe!rhz@~5;x*Iye07FL* zn5|q9Jo{le11P;oR}jCzLyS|c=?da=5UekpW6YF&nW8Jm`h$#}qC14r8TK1G!!mS* z#|)j}e#Xu*#rSb?CeJ=}gguxZBV{ha9SRQ7Ph0l2*+IDXf!owYTH>A^gnOUh4$>18Zk|K7 zcTF4ZO`cij`-+-$lk;#lH1WN!qPdQu>O6#wqV)1MaE}SX{YP+{x=KsjV}fvt&eG?< zb(a4!I!gh*)IUaNv4`Q?{wwM%;tTg!Z^@iE#4FTMYhrxE0e@169abHMhF>yEPEdMoqF8gv0v6Zt}ezMOc zv3UL|pUc69&n0QF&t<^ha-{fB;v11pif*m^EOUt^AU>8whJWRfpXXZ{@T&wz9rl-r z;0X9rg5yozWr9QHf#YZSP?i|}lVyIt#EBI_ev{h`pUG+?ul{HHN*XwxHE=8dN5DVQ zz_G}{u>c(66FHG}i=XQgsr(`FOyD*fIp&vV}gN0`~c@4 zXwFAI&#mzh@ELF#zHlQAKe%*oFfJ%R(_F*@X)2>2HoI93`s zRtk<&&G{(jxivllJ^&?#KVg}lkMauA2BST;8|_hTv`0P9lo{+Jo6mD=I09?^29Clq zqprXa@E6=})Rlold<5tG7xoeSXXM{c@)1PNwdo@$`N+Fw@=tsN(+&A2eu23`@=yE$ zm;7}3Cq90`@=y8pfkWh<h)?J$J-am-TjYtvz_pT`jTJ9c`YMw#~oBPW)WX zYw@*XO?4CN<#)d2Ov>V%wBHhAZZ213Ws>_S`}d9#Gj|Yn(ygqaXB2jfznuMdN%*s= zGt?xO4&Tc8X?cbA_~^=HH~Wx%{a9=NnsxL}m6y9CDCY=k;#*kHuN~T=Bfs;?r^8U(QUsO(PxXJ~)E2(>7k_R{Qdp9~`_}^L@1GQumQdZY`BH_mh|2Rw`@p zC)V9wD*N@0vra7Q@890-^qt|nnuGUfzQFoBd+?92uTaiUJH7Lc($1WPc7(NLS$A)w z>?=7ptt0R5W8GcW;dfcB?&GXUcM>?t%^{sZ-V0oj@($mGC`s{4h#=L8d1s!hwkOBG zKA+6_WU@Xle)+wO7@V>$|2=fby89SopP$4>6u*2~mw(V2tNik1O+OA9E9?5RbNcHN zgXeqblJnTcAd4j?fW*#|yzihT8Q4+WH}Frya=)j_p^pacJyOZ@kT!mDN2&M@SfTGK z{FRdNmy$L42G<(zDcAHym$4ojZH;!j0&DUU^zS5=58pi`xTuR>d@uJtcpt|5e%xn( zw?FqcgQp$&{YfRyN-BEdJY#QH18cw;#(yHXryDqLrv9gcGlR9AmohW-2WyDy#P>RB zKPiVaqalrbEZ}J1Kj&S4Qk6$4`ff0e*V@2QYv9;p;P4ta=8@JKI6g9PtTb@UBdw*M zWH3kli1}kPTs)s*Uz+eU!Qf}U)>ZLS%i8se(EKI)^Y4S^wWLDxJkna$t%aYDh$$!h ztRz)=q%v<+YTjdyCW59;M#J z>=R-hIhIuBlfNh3>yh@%*V}p655zk;w@v1(^GQDfhdH-U<2TRd+@d88pMm2B14p5O zqny-d;OKAQm|);oDL8htz`=8?I9B-ixM78#k3v#4FDCV^@$(^Py9pl?NQIA;q``Am zB_rCvvDd)S+rTl_!0~(1y#|hU29BEz9Po_GmD0kgE0|m9Z!oNAR5Wyt*=Q^fqveHE{f%bgzMeF3zb(9(cbvhpkQfn%II~5aSN8_bxATmyu#i{~>byHi(GS$Q zb)3DT&aLC@6?JaidY*~tAm`JmbL%$oOdJL|e@>lS_XW?yO;G3H5pO}xp;PD9?dCo4 z5!AVOlE0tlk)(ekU*6a9d@t!?Qeqv*xq0fmy5l@Q$n!~3Vj9Rfdg{Eo(>#ym`79~1 z3)Fda-;>AvL90cbS7)9PbLa=ot?OVZC)S^@_7gcLCh`L3#OyH6i5XdX=QYkG@iBZ7 z{pGnik?Ne7GSUomnJUs33p>O=*}FshqZQY>Cs$lzoE6hywZzvI9p*&kWt9}kOVIB1iJzN_Gf=4F_w_{Y z7|QiN{(yhxdY#z22k{>~MT~(3Tq)foc98#ESJOXG&axAI!%ocI6hq#NPvHDS;_>1K z7>E8LF?XYp|8iDGFZ2)M%)8_8IjLu_|4HKTe=lp}T-Wa}aNWIsnoDAoeP7@#7vKKt z_vO0kIfFoAM!lP@yCmjV56-d6B^KPZ`yX|U+@I@OOT3zT&K&5%`@#FBspl_C9K>TM zP7K!<_y&HCum2+OS&^TeT<>`AB>qenVwgQ*$kG#>FY_n-1jRqBmUB8J{@bR#8LoL2 ztL?;-&T@%Y^A=~@i7#kvrtW%edzyZjb0sp#Kg|035%T2Bvn%wb0aoGUWN0 zYKQA^3!21lFceLWY3Ob;VkF{xJ3%2wjt@&t~;RKMJm= zKXC?)#8cWt+ew_^C__(bPn=`6Ws>@29zXqPK z=tr-U_tl{D1*gdY|E ztvq|>`fuW17SD;SxD3q^E6`rKdXY zM9yL<08Y*xIm7#*d@s)hiJX%NZj(Nt=do63*=^7=78=g*KgvFdX0%Y3CM`n8@1SEB zbjVpRh0t*pymIzRfEMa9n3m;2%Z?Vb@EodMc9$6SLcf=KIm17B9zAa~(Q}r*u4r;X zQ<=YR&b}|_sI;Jof3g`(>6{<4vpG%ow?fl8lP3O2MH950M-%^~Sx0C2Cslhv(}yNa z(0LwB{FA{n$@x6HYg^F7co3?d)>Rnww9TMtX$YFWXrf8cQv^NRX}6tnt_|(BJOoX< zThLTO+d)IKe$)z0yG@#)Mb*>aLeR9oi6+6X+77yQL6@TGa0r@eo71#hXkx5uMibAW z>S=eiQBSWJG@T4V)A1mhUNdN_fTntbrn4bvI^BY%YTE8}bDHjNg{E~TP2U?dLECx# z>4zYitf~I~1Wg~BG(qQi{i#E0^Zo=)fBUya-(IM4Y zh3JmztU`3jI&@HVjvzXyI!Ew1QglXj?jSm39lEGGM-W}~{Bs0*CUGW_p&xd@A7EjBCJd-7ZMn;e|g zJU-QY_Kh6OLD#jm8}yXujoof54L$?e(uX}J&)-qn54}-0&OsJE(%et-tp)oPaiY5s zAMzl!tyNm2dm%dHLF`KNNmII>zqiEHA){OD2NfMs_L7);OXQqQQ-^HY51OSHu)njO z^8-AjqC<*KsP={K%X2kAgX|3*jP59VLzkmxMswwIjpBU46yQ^cAw3E`Q_{U94p+lH zPTxuNMzNFB8~a2>)^}l_sGXQqd4|ltGOUX`PjofvIV&?uuVsumMa;<0 z?aOct!|r)X&N8MBGB|gkUzT5gJc=CYiri1)5}m^ieA2!wm&Beviq0VE66lfm(fyz! z2^}^X{bL@_a;~4yWbSb}NxbM%{^4Bcc@NyR|1P>tq-`tra<-o}n2t@7*EOIs?l5Q& z9VHU{a^9fC%@!IY_3+OgZ9#+RilJ!8VjLD4M1P$Q{?}UKpT}9nl&R{2d!a-0#0<*2 z3jABS1izv~XrP>ayfbO3f)>#c`=KKqMK24k7ts+z(!_hAX}Z)4G(FXlCfY{Pfj*Xj zUie$72d)fBL)1qVdf4khI-y|(&PI%;Z`M-3{pcIX z=zJOU-+(?yzi1C`(FdhpwC7yJIzuNMz&D~Bn!2FuRW)_N1L%Um`%r>)L30mEOI=X* zp@foArY=}0`WNRDE^VO;iVmpcx8~RXUPkAN`9JKvdwkT@o&W!tnUG8}xd#+86q0~Q zB3e*ugKKpd5RiaMLc6WIT_TB?Fn9rKJIF0!L^Sb|>aP2(`xU&P#zM6h+wk3PMeE|7 zB6QpC<)_>v;tkYVal1eHK40ha`AjC0$;{xT?RUF>d>)^f&z$+3_j$kH=Y2otaD9`@ z*j(6Nviag|zxXw*vi<(<$>e>zw%>oz@9)5w^w9B1`u_kt8C?wwvi(NTxAf2Ntp0YE z3xjOF_;n}-hMj}Ju))^RKh^k|OM>Co$zWhE85lygt@j@e3_l(O4|g?=ihheef< zX2E7PcGL|vPWsv8*tjk{vUd$kZMJ=9?5K_;_CbOTynF*RN`OggXOqDcv+aPz!1R0) znCLSG6Q2#OfGK9%VUG^5S$JPOo@Cp_uV*oQgS<)#6EfKNP`5fTVb>0@qi*km$-uMK zw(I1(7(D$t2~51NA56R9BVg#qN7#DFV2asxKXG8krZ z-WLzka$x$MvF-ZS?C!hWiscXYVb7WK8nIJ+*nG18%vl-ZSsR~tmX&Otpr7+GQtg-F ztl=%2(JdePLe8?9tvx-F8SU6do7gYIv86s7xhgNHJw4}OXK7zg*(Tc4Q~PF|&Tpf! zrR*46LF^nW?S*lWnA>a4zMWdDt9?7QXQy(3OShihA>F_D$%(9aDeHGma|GLI3TH@u z;0x5qUgKQ7j{VqN?%5enu-E6?=&@$(s3>++gnd4L#lAq_B1bip>kC{Dv3~b@uJgTt zjsu=R$9DGlTuQ#r-b*85@_ttkb6ZM|Ew&byc-%(prVm;Fs{G#eNOP_7C+|gn*rT%t z|BZd1w{r$TgRhLwlRtd>%IV!#M6Rga&OXoESFXPOFCte&>$#S2=GF3re8zVA0rtwN z#MJHmoeNnDz54e0$mP*fx%9s!3+;R1J)@$h0$&!_i%!h#jn+u5_IrGrnA=;?%a7cK z?bJ?gxsbCwZbL6NSLkd)`wYYHwl+tL7B)wp;_jYd*iPTgV>p9&2l4i}cKNY(`R1&{ z`!|e=ewX>Mo%z>H-x0IlXY&!o;@^mV*X%jj>GZ90t2@;E?QQ#nMPn<@O??2H|l`8@f<{eLmN z8$6T8>wEtd!0-rHJC}SfirDyXMti0gP_D zD8F57e%BrzYF8fUso>l~bf^oD`rkfC-?eVv;KzMuvc7*q-?i!+9J%e1_5B<5&HU-t z_s->%XVShy^!>nm#ps|^^NV&uW!C5rS}ugxQP+C?@Zcv8-2e--^38yc1io*0M3y`@qKR}q;JD# z#3E{e!F^}4zJEjCwd$LAh1)J!-@j4c$gO^TBa4!ayLOK=?%KY0ChdDGeZNEB#6nW` zy&Ig-w{P-o?mLt9-9z8Q)%S?LcA8%ryXIDGj?woxlNXJ%KkkaNKgb7S zcbId!bjGx?Jvd8K`dRjfY!IE>)vv}$du-e#JES1RzFm$TLhMj^KK8u|?4w@hrIiK2 zOBK_hhQ;hDLQG9@|9^4L1JQmWI=A65@_q-&&zU_%sDn~$M`v%I$bUcJ?9JDy<+*Z2 zLGTgsf%~3t_8lS4qcb;8RDKZoe-*!L{}FfZkrT01lpB1nXnObeiT`M?FU5Sc-gu7sx$^EP3 z1cxtdHG73l;x607wM8Z(dynK3^I;!y)gr0>NI8jjI1^ZPMTgmY`~>zy96mbK#d#qe zAGR*2)t(;1*&DH_^-9i(IU#U}Gb7Ggcx7!7*M;N-RU1^^dQI)u*dykI=a-o_k8r-o zmys!tAcGHihME6NbpCS~J8vR+L7k!WKED+`e|4?Ct5)e3t(*l0%x|N!v=`Vx&Zs&> zj7NKixaUWbQ|!ZEYDnXzU6k_ae!+Zc_7Jc#b@lZJo?V^)LtC!S)PXy&hp%j9@SZ%{I6p>dfYzC z(>^Ek9p0;RLfx}GwXewz&P~yoC_2kiXI9&1c{=BcI_-6CiOv`@zEVcvy7q=S957KKC;L7G!!NENg+qoNt1S^EUc@ z4%aqlrkw6U@UxBYvM=M$I@KO-zW_f6;HP57c>uoAnK9XX9%sf_5;*WIbRf_BjQQ>l ztfiLeBH}+f-$dt)>5LPNr~28JTD5(KyUvo)f7Vjlw2pqS#D2b5iHL- zv>J!aBfb&6sMKvqt5waFbVB^z zBRV&EixrxrJs~Dx-+YtL@s|IOO3FyE919Kl`B&b*eon67!XKL%IJxb#f_xtO-g zXrnXt%K5DOq^?o5e@~zPaP7QW7dFB2O`au%0UX6(;PYTGd<7VEX6cW?*D|hDFnmog zASZOTXFnKtmJ|kTpco8%9u$UqfZ_YVz&u*Ul@f;UkE;F6uKxWi$Cs>s^}PaEw=jRc z$tBzl2E&=apmW)N%=}r#l?sMQf??mh+7(YEz`*$+balak==~m=_y`BNzMY;pSOrCvl2I{LTFQjyr&>6S!{n7VvrUhi@`g!PR$0_VIzQ zGC%#i|0n3vXMm~mxka_FalY8Mkl#8hdlUB$yu;bEb$DPi@N9S5=qyjgT>K^ZHL`iv zwN}@j&pg?LY-lFmO)?gL@9^I_#rou|Hf`-V`i+ck$q!ExQ>!{Pw{a-G$)cHS7hQyQ(vE zx3zo&+tqLEn|05&);QSzHqrY}%&S%2`2%XClsD5k zaXr*A>YTXY>{0d;Y@+{zZvKF?4X@_&W86=`ueh4?%>R<>3!Kj;d+0H8Hb3Dmy{+@5 zhoc9V@%wOmm#;bZp3>npzxny7+P}mO`r5Ue%jv-O*In~!1;Xz(?`1wZPX+I~EVO%#KH&q-mx9x^a+PX|ME zFEAj-zQ&kcIR5$_haY&JlpnB(VlePI84RX>$1Y0ClgQTN>1$FP3}-tqyw5!;4A?|5 z82FqF2H8Uf4({pj@SFEoYjmtJC7u0l$CQ%WMxQ}U=~oFcr5|rSlbF(RpJ`0#RqTQI zJ>=PAsv|z8bS?H#VoYgRTukYO!D33-MT#ZKuKCZ_1@`$f__K;59imU!Lq~`qsm{EF zc8V=2mgL5l6kF0hwUdz9+DBforAf$&62+9TS0-ZX*zqO&)8~jSJ-^t*md@gS2pi}Z z#BJo0DW0^L>kxVLiR9CZiS3kduB_q+6P>%xt5u9i_M2i!ZmqduNwUojQDg4Ll9cn( z`SKIdyNV~B$=F)?Ud+3z>El=Ex`V_bo+X}iCTGYWRt$;fxxk~nZ@ZD>I_I|9iA!ul zKfcX>s-KhoEj0Rf8t^FIx|liR#z-DTHY-jdxEJu-V6l<~wA)4<%0yr|te6Pz*LOF5 zq%-Sv?)(BSy-UAU$J$Y=qtEDM#g5*lpE<~^7!1g07lsE?!9csgU{Ks>4*z`=Ilh1^ z6%207Xl!osn9&2+1cTv0u_DEZ%-D%#P2jU)cAS|TI1K;zTd%?fEFo^Bcu-&5Nb6_Z z_}4i1Kg88qc&=DdtbLN$k#G|qJ9@#19kK4fj`P7MCPoB2;{_YnTHbA+p<5Kl$3B$} zrudP2hOQky(w?^VS-P^7#NTA7(9;|+bIc+c-{||CxGQ8U@5rGIc{V6s zj4hP}7M}NmWe>2t11#8ANomCMez3e_$DWoa!1Co(uo#;v2`oI1hvf^vvRtqjTPq1( zcpeYSS-|oxF{n}Fti|^bW6Jvb8P|AZFNANCNh z+;fBVA-u731AGvlb5_0ozS~QyPXj+c%@xAH6fGce8d?JaaO??csSSj`zfK zF8_)5PHb$ee`4jd|o=%nsW&}x;oEVTzSU& z^552kwrn^p)O9+~!dz>Kcb>p~$X74i(#ZXrRolv~if!eOTi(c1g-@0*t@>s8QrcMg zPnPffxv#6;T3`M+?|#*nRb%n_JocvjUq0)MSMx$2K5i|4cS!Nym7kYyZJCr~m7Hsx z5D8POf=;1? z|A!o_>s;T6Naz25bgt+x+V8m`^r08JS6bdTy!5~OY-{dacfNn;L*dXC)j}Snp96xK zI)SGwD&so+P`|b;ExwhiD^2#jX&KG%ph&6W)b*+1bTW6Rv(r=jF zy>*2ZELgsxXMGj24tw!0h>zb)eZV5|9KOoGtq2A$9{pVTcb+(_V*>BLhg|k-d_wUQfsJ)t<7qI`X=ggO3BO*M6NfH*btSp?W{-UtVS1b?-@q-8YRpdglRZMPH`| z`i;?F<2Tlx{CjB2TOBjIdr!KcyCRM^UA{c;uiEN04^L*i|H54|;fmj{-gSYmumc%! zrs(=6v>WBIA}_+5MbS|WdwfG`9=D1jvn|Ft#40J_Jc!RTuF3y?3AKugqZj?n@P^{5 z`kK@JdU(U+s>wB#XIrHcDkcO@&a=*VqIGeUwZk3ShvLHJS4Jn&rjj;COuj_vo z)~IdqDsNe*Cu`>9Xk)Z<*m=9u?$!@i?^4@0shQI|J3ToaS9*)2S$;VC$QM_8iz8Rn3`0 zI!;@*xTl1iM%5~Bu*zQ=3|rokaD|uu6*t`5I=;4Zh}9)M8D=bRbN@HygNOOB8{bWH z;$p^d?Ftr@Gaq&{9}1WQ6~MIzzfW`J-_#TfvCoZBz`{dL*@kY;x*>Q{^P$^z2`4OANHO!yIcG% zTnR^S9XdLW+}T!M5gi{D9$sbq7&9{$EpLp@r;oZL zt9L~_-j4a+{JIGIamuntPaVHSzLp=HJ-#4#FFX>aMk&nuyoN`-k@-8#hrtx&HvqyoG!Z0?WdR(3W`~YjL$_{dXk4SNp8U!@G{omCT-s z%=7v}Tf`47K1bHB^aiDujl6{q8dqCEAAHfiwW33OV)2`IYgNbP0c$R6l8mezO-^u( zYP-o99wZ<7`Xgo4ub~$X{V=b4?@t2Vli`cqzqa|}^+y``4W77lI&E2F_QRR9sq1db zvd+u_-djBA0P>|bWm$6%SpJzq7}qv%xb2Kn@4D6sEo;LMwkkX|mqag(7Q+wX1y`QE z6uq=ZGRpdDNwCr?4pxXCm`mb|4MY0)A{0F_x)B_o>l+eT1de+(FRlEJc56gO6W4BV zOTYEE0n6jS5^Lv0vw5|lE$}=Y1bqg?^6m9HT;4Q3s`l~s?1<0VMM-&DR z(C0QQC$NqCTEj!xkp(-~mQQnd=v?S9{-dLFfy4Bze$~J9wsh?8xQmyhA4EUlrfKMP z-{}ITO7Q(IJRm&H{QXgbr*kYHYS6{i#JhG-^L{GlJcW?e+u2`i2e>J$Ee>vn*S1#{ zQp;Q1a6!w7wJshyfkk*gHX2?#==A^oUrp}*pefw_VPs18@0U*P{^(@+0WTRpz)ydI zah~OmEb^c`v#dF5xth0*=?K9y;T1!IQ&tq0g{>iVtF7$F>$H*ol8ubY;ZlFCEemQF zv|Lu3bN2bWEaEZ5&g!Z!IiX?On4I9)=(wn#`TH8MTz7b0ZBxYw4Wn)Rz4SWI)W7zA zSxx_)yqo>m<~+-_jlLVX&@nGHv9CxAFtArc-6&6PLS@ZPgzJvPfMcuH_kySS{f!s@DOn-|>(tl^>A!4tRg zd5j;KJ_LDQ)ZmSdjxx5ccX{7)nt3qJ~1Z~y6(YItSmwucn_WK7+F^=|1%%{Hh=I zr@kHs&u%}>#q<-RA8TH8LB%}Ykrim(VD||hlx)-Y&^*1bL^`OQKHBwMpSdoho?-gu z1XosY8=vnz!5i!auKj%P1+E-$taobsRSv#2FCVN3Rp)_E_Op{Mx--ubKKsUhGV;O2 z=ZU~Gdh5LC{7P@l$&b#f4I>*atsGLbk^4q+1>vDN!4r3IK4}Ge`|+%4TrN2GIXJg* zp?Q!N7xd}ke1UMlJJ(crYnq)t*H&cLGy}&r`q*EQRnyMh9lypd9BBMz?BGD-j^Q9~ z{QEM1MY(C0F3oMgGGSirlfbgzHrAwGG_Uq4`WL+f!SYXe^?w=&A9Dz7H@SjmsU=Q*mPw-;Hr-D&IVl zIfC!DEH*#dLrLeydk%gwnID&doB51W^Fwn(bL7*UAM>60vA}``70}-D2Ig;|zmPpA zdi8zlyr^WLnG<{$4tv4fZ6{_2*Kj|;y?JF$@M$i=cQ5$W+znIvXwO~dNF0A;G(U(7 zn)yNBW`4A#nIG`YC!HVjo%ykVzAoDU4(NLtJU1Vn)0~)IkyA4tz7jua>>Bq}_;3y1 zk7fLs%nz;M(fkly<_n&Rc~LVz8K>rlnYR;cSuqXX7tL+}KFwvxGV^-~c?WEw+w_W) z3?1FMA$oeNyfvbu+GspeE5-ygCec@PJ(e+LIzK9hqeFl-Hb-`ULLI{UH1^AQ&u6AX z^3fp^=qH2@X>@eRR=dxb4r%)%=@18>(#4~9J9A{mAUfpmC!ZsRFCCmO5Ds{!;WejE z!=u3Q2h$-AU5rk@%F!W@GDmK6bVy^I4gp@HLj)^4ZgdE+_R}G4HXY48Is7M}Lz+LK z4uMvZW%C*5XQo4(`LQ4bKQw|rM`tv**|;=1g#Q01Iz;n>zRmpDkY;|sH=l|Qp-*F9 zZ3XA_ZFC4c7t%>3@CEuJ8z})X%<*y%pKP@Q5MU z#d+ApB?-PrxH^Y-KHD?7`V{M-`d>UcrFtgunrf~HS0~rwR!+=km><2&ynib1o<<)} zVtZBP^8VZ`-cP*6y#J)=UY^hAc{|VBdEU(y3hXMPx%^XVaCdzY#j07`R4tr72yTrJ4qkf=ZimFiJ{tdf{tACX(~98@!m*3r zCgC?9zb}SgJ2vr-v1N}PztiX=eD;i8&(Oy<{NAU)<(QJ};A`AvLoTSqwq$(5t8gyd zW`SGbzRJPz8&2Qy|1!pLv5n()_0P2yJWuE9wed_}Id#(Q^%27xep~~~@H%~I65Lu%ADhA33Ba6Xro^_jv4++nCZ5x(sn|oYx92dJdJ}wE4i~H$1 zjkSRH3dhoU2FG7M&c-qK0_*-IN%2e{HlB}5f@k${Qgk4mi~H%jet5p_RvXW8eV>Z% zO~f;CpctN?2FFtko{1Y6-G|)?yn0=--tB+(jE*OC0LaV)AyeytJyd2l}TYIi8EhN@x_ut3QY4Kb6*{<Iib8nyXW?gKGeu;hAZ?e=6^B#C|VAX4rlA;W)j_ zfWMF%V~`h@aXsbO6?aa(jLdj$YaD&)Q!>NuyARK4dD+Me z;rh7Ju|`&SiBD!3TiILc+RCYAMm#TXLtZ5DL83F5&(k%RnbZCFIEl=#ag5A}$1yUZ znoItNWQKf_0XQ}?V>mJ+886#1V<3+E%MA5xWCneUrwxwd`gUc8-TyJ**~kp({^1$m zIl0VGOkMVc>__5j>&C$!E zYv^Zc#nc+Te;xg>HxcsCkFS*#T*rMIK1p+BR&XzKcbnsz*m|eGZ=$?kKYf_F-7(3v zI~E*vd~|$n#b{-NC@-RTm28qv%N|iYUUYEn5!oV!7BPDy1uc*PVdRW#zy7q){O?bT zW3@~A)8n|(b@Y`PJ&Ms!qDOJeR~$f(4DAyW?{w_I1<=97OrVSCp;)Kv6~%RAyM(a~ zKP|iE6^ACVc@eW)2BF1x<^{6CwO?Yih{>WvS{$4G(vKF%ymj=|j!a5FHwqkD6bzun z$FXBRHa$L}eIt5ECrDPs;wR|dUSr?%(WHuck15bB@Bw613-@Wrs;7`uYmBUNV?(l$ z2g)i}4r*vP$+xI(j6RRW3b_#V-2TbK?`*OYYo=%?s?M#JFO=d4c?}WmN(# zlE^BX7Hj&`BF=Ux8pLjj(E_<>%PQF@>1dH$RtbiWV?TXtdVE5=O7t*uL-jmPEK)vi zUTDLT1V5o?+KTM5^N5da8#AJGBUgBg^2NEqjl=D_6FZL6SKDLkD&|9gcmLucTV}mL zd|P&`{NI3e?~()?wr3jeoIyY6<1+t=>SILd{m`Nvxukfn;=WH(?-Mq$)c`(__83*o zkK~l)XTBR6!j@UGro7 zGw?0nAra@(!N++HK5U$iDD7o`xs4-)bJvzl!1<$-4bESD$d2o%&dD8jBF@p(J!|P> z9eu2c!+E=d>-)jGy+5msW5q2M-G3@VT1LYxx|ZCiMVz+|!)v@X^HFU=8~X zKL|YMpOzcUt`R&VRr?1#c?ORWk7Wc<;irpECk>QFUrdwnO>cs;(lz2lywz8YHvdHAGL+qk;IdZ&{18=;-{r&aBG zJe<7_oUb`>b|%2NoBGca_oc(x=a}|=o@4P=N?)_OAzCWwq`x9|EIyyg^I5(5=`U2WL z%^W^ZF|8(>F|LjKJ~ocm6W>3@8K*msjGS=B*iW7$X*bxr65%!SA;mj0Zl6S^iEji) zzj;p$y6A0ay9hNO%^R)F zNQ67tydMB}iaDROEx0x`ASR-DA9m*ZU~Sc=nYQ{*eA{@Q*4&Dp-{O7A0AKK9OwJI;NhW9F|6}Tt`HyNq?U>uNT?W_uS8+M_nTvDPL1@ea z$I(a2^y8SC;W!++n{o7~dm`Qkj$>+)aZHWzraO*!TyWNv$3l2D#X%xn(ZR^{!mrqx$z; z|Ar+g)*MV~!X8r1V)Kr9wThd|u78I68gj=ER^|lve@-<%?42L$V=TOqTQ(+P%|ULc ztzP}e_LME2i>(>&bLcF9Ce?wV2dTZPHFfLMmW%gQYeMZLdw}qrxT#$?P0kpb_W^9p zy{7JkF$#_qd1ZEuNnV-jYqMjA41e^U41Zd$aZLE*of^kyiNEDF`dJ<5j#m| zvI~dT!-Hek!&~3m;Y0h3gF10hrKtIKG*6FJU4J}hF`_AQ%f}FY{Rz);2Xgs-$eYHMeH3vzHF=$gO~3t zo{f#!n_|pS&THW6H)cJHjafX|H)b;y-ra93%!dJEAvS8pqPxbzJ^fhJm&TIUZ!DL| z*QU=_XlT~gFrImF>ubyzdf=};x`195L_5$GI-j|@a%#r z*Qe|eecR&boApWP8yHAm-rbMB6`vM;)tBfS7)W3GjM10ze0KB=45Y6!-WYw&c>hrJ z4LI}-^rNq2mF91vjM09&MpmVox5QT4R}>7StF@*-UE4k_x~ebHwO{~UHD5*7RP?-w z`JnkamHGNGpEXa;%VfSX&L;XCFkhW<#^`Cr`G=xsfkV%Ne)QCO%a}Y4eUkZFl!UJ9 z`qP!T?587-)tBg6G=Q#(ea7Z1<4Hx|PbQCxlF-*4Z;ZZXyniVA7CH1S8l1k=WPPl8 zYxMa*`pRaIJk}aQ*$#hD+A@|uByC00{$u^)(lwEe#>SKECD!lSMY8d-fP0>m6|?6? zV+%G#n`3dKrn5&h_=tkA-mXhAfkEH7J>8>>sqLp~lrc;0Z zY>f8NsDM~?{FsD$mtW;G>V4WvWIpc`?@k6!@iCf;Xj2S7iSP3Au6Y05eOC+lO63+8 zVjl=j<=+D_p6XkpBc6H{o@#2jw5Q3x_2NeBq>(OfT^>gZ@s;?inRcQ_J8j!&>(XR) z98F|HsqOW&)mS&uc0*j-L|!`)x`=*R*yd9Vud#n8deP_PD_t5W2CwmHe+b==mDjT2 zwf2?;Jud9-I8R|eDVILtHyic^Jvm8WFNnj5{0_B!fOiW1ZH#kk+&B|?aDfw}5D!kn z7gU(xvzAug^ z1fOX;JmGx_ZL}s`{H48)B%7uyUdH<*qwa?ebJw0#!ud|;{_oCRd?UJk92&fs0KcJugI|{q5_OTmtAjJQO`NZ39-op64Ud-#8Pud4VIB6bZw-t{kw!fKuNZt9zJ577VDW_7C zYji#DC$`(6K6;rGG2V%r}jj@y83@&`$V46+}8Y{uDGL_`KQ5A8T<;*!maQs+7G~0 z!rXD=&YJ&>$m5*9KZ2w??@NzQ(qh zG(Q<%$BnJZ!3DmDX{$M($Zt2tjg51&4KAv{#T51%GO{p{&k|(BXn4g}FeD};!bV1z zIwE9*UAy&?Ge%eDDTkpkXCfo2TIR=ceTlHAk{8-f(AD9M;1#R4OLaNB3;BG})DQJJ zW()uQbbOXRTi7QXq}VEXwdlT@1=O9qa(3~OrWsRqZCo*`O!3(!>-zFWYqZhz711$2 zl@F(}d>ZfbSz|}arX3v})1&ul9G3#W_~0Jk6d#CY+3?3}*uaVfWLrH;vMp=q`O!;{ z6cHS`IkiEN9_p_q3>~ZJ)uli1`G5o;$H}Za9G;9Agk3SBK(A&VLe5MQE=1&Pe z7dF}6gTfXP{)UvTo_kz>{87h{3I0yZ2!ADIk2~*=;g9!cjK35xro-PSfiENcAupPc z6{}|r?T^3lnc;5;^Eo~L6_q{iyg!CN-k&l4QoxuFf1d=tjPS>vJWcF7wR&o4fBc=1 zDgM@EfWLyW$DQ}b@W=Zz#$O5;)8p^s!Gf6o9F~9U${6_tpSmuIlZVQgCYL$s zVRmsEFS83i19)BhDn=t%*{^fwQ7boM{72?x4KWxC9jkq9Ut`bfTy$+`^pYcW(LK@5 z)`dMSmHELM{@d*+O59qn(9*RvYQ(3ahPr8?{Il?Y8b76_vjg4`Ttguit^u@4&d5GcXfj z6io3j3g#G$PTzu2efPoGR&D{mVAL2Yp{s$_8H)vs=VBXK&R7Jaft7ZGRd&8$mG8bj zE{6KFe}Udn8*3g~kyAE`J~q})-_;B5dq*G(tQ*QtY#FP4^t$w}XFSxHd$Q_IwA$*K zGo`QdJ=fb-Ka*$GTn|+|gZ=bW`2pXMy8YaHePe25lg*Re|(ekNySP`_Sx5-@?k z(#!dt4@{eR*2(oc`_A{W@BeGQoVu}<+sY66#^Tr5HjfL_+t@t^e0enio}X(4A}@gV zZR1`n4|uZkPW0OF9pHasSFX+5R`Ejl^T4+a_!fAwYZf@Rj%aXUG;-u{>)X+y=o`@p zG{`P53hKGwj{m>xnyKK9SU~-EozJ8B{1Bg~@f@7hKj(ZFuAk;}yVHKX^I7fxfzNB5 z_CIqztG(h$?=}2W_fv(|;o=FQt~csJTS_>8y`A%J*|UFVBzNVmx2CYy_o&c^5l>bJ zctc-+H?Ft2ZVlS!<$kc-+xLz%^nwp_qg6c>(NU!qwf>{B zMlETiU-4Bo=VzIHpO=Tb-)s1}+3Q(n&iJi0%-5W{(Z!)|4}7rqCHnOndm1vlI zJGEd|G3%D7m7R(2-!`i)FqPj%F`nIwr+u71Sc7jqb#{ATVd#~pJI=N&t7adM0NT1}ovaN~<(b$$KjKf90%>z`6W?FaK}I8X1_} zUc`QGR_VOqHV^M*Zr%(0Y=GVM24_#_!E@q)dQYIElk*WKdo6gU?_44A=~dJ{cX3H} zN`IBXJJ<#>IU>E`6YsHaeG|O58ond$VE8T!-{HU3i|4|I-?Aca6>!cAeAZrJl}v%J zD&aHsgfE#6A2p6>3yiL?`KyU%;<0@rt_zSqoU|IA+sF4tcx!a%m8gCCert^T z4SwnOTU*?3@JYYlHpKk~fAsrpYus<}MZe#6_x%?C+~t*@gP+mS-e@7bk_Vr(0{3+- zEj?W=SM*HD4+JOXm2ehbNuaA`Vb7YDaXk~W?e9&yeRHUfFKZfcW8g-9TkX*G!mOe| zb#888N@srX-etYf8N6=|@0#xqz-zgITzKocmQ#DGhuC=u@tEPQ5$g#k)0zwTLgWn z#jbyYs}sE<`_<7+J3bBFq;n1aRCLqiKSA9z86A-wrrcY59ZLoFGj%2!M^Ph<> z5|2CukNm0YA@Rf`gXo~~$EbteF5}EF^waA(oP&(5y?v#p>=jQzR#t#3pRwH}UEkIfJ6HZcyr@psnozen&*-XQLvbCZr* z`H_6(PDj=%ORHMc<50TzDvY@~Oqam-w!8nDl*IRdMhaw2^Mt+Hqn5CF943jBjyaDAZku zfAJQ$)ZY4wXYkxpP^TRCE36?|1ijof;Ef(^I<9MnY+bf@*}kZS@9;O*>?0OX7;NO( z%c~25H-RHPujHA zhb(`v(vc69$Op-es*L1AAAh)WL-T#FZ!r0gT%IJ85BI=R8{nz#W0VgS%$u<0lbJW3 zlF@vYOpvUQT+sZ{-09G~8PQ&&`O|;yoLtlF$Oo6_J5tPrW1Va9b4T*wUT2&SG0y+4 z@?isGlziCC82_B*!-d!nvycxnupdHyg7V=;*#{})!%WGHr1D{~`97F@I5vADnSA)T z_Cu!fVVxr%WJmOu4}@?|4e;%C7qQmg=)^3`{(0UBKV+^)02VN`uvt{K0W& z`GX~kzP@G7%97yB^UH#zQT?|xc$%jqP|rK+t3oC7&M7wa2=Dq%tEpc#s;vGTtF%6Q z>%~hv*0R$)c`4gfdx`_5?GS5OHLz4yhDy#Qr>pv;gXmi0t9;2Stsb)V;?`ViSuXvi zZC9Xnc`4iZ>DRoo#9HR3UqAgSm#ltY!^TuD*H6EG`i)G)z6Z}OdqzdSWBj5eM{bY4 zi(j;==c;fCe$kR6B+BrMR`o2bDG5G6oA;JK5zDv8{?8)k@;dbH;QWjN=r2D&JkW0C z)#XE{0_c9#)KIs4q;X?H-4~o4>i#HTVMqHSo${CB;_H>?hpN4v(3ba>HTCS_?B9{s zH1)i@qBJ-Z8qOcWxvxV)TN+lD1;Z-}%Pu+J6WmF=NW=nw#w?r3)GcC`m5G$t?!JQJK%#m;DbBhgCCK*pG(dmRl6|x2-7ypS|+%|};#_9Qq5BJHOX&;Tsl~y*xTp^2)h(yN`V5)V#cURN2etvKKV{y_~c4;-BTG zexLFn=6%H$wq&95_$A8MtKU8Nh?V$^I*YcFJ~vLVx+Jgt#N)|(b>ZVh{~lVq{+-se zi>@u)-z5H=2c1P@)6Y!E*~01Jd@|- zENks4fTod^-m+e6@|>n|`N1$(KJ@6N{i2om!8a!q1Ph=^gmX>{ph+)w@8#s~Ig_|- zGd%sc!_#m1PN~@pPj7~&H^bALp~>a!8<(nGlNAV35;WWUs*48Y)#|H({U9-kMD5?^xL&X!6Im}c_nv4i=yC_;N}ptI0P+@I#_7Amo?@f#a?y9ij=nq1(RY6IT`{z~h_jYmeK*nQ zJM>fveV3W8D+#c1cuGBI>o{~%3SHQmk$x))w5HK*@p^3ow0aahCcRb+UKdZ(S<|*& z)Axln#lcO6o*!SYRad0eYaaAk6?*MuN3Tg&#p|`o1ikjIqu1(JmIm*hF)~<6d+9Fe zIq5W`!{YRs^qy!Kuh(|1E(8JWo)+=o}> z2Rqrfs1yG0L}spcWagX1!8?(eoyg2h$jeT2M5;DA7i|-`Z$}@sqmR}*`bhO;?dWvv zmocAy?g#g&bWAh-+zakgzo#H@e;QpS+{^!|WIc@Z)MoIWsHfub{1$p@KKLu-8UwC5 z?>%rcpSPo@gjW~mI{U2vI)oiP#kiqCL0thf*p8kGqo>-(6@Yi_1MvPLcEap4Y(2Hz z(NnBd3*HJYQt2P*s9U9jQs^?B>Ga5_g7bn5a9()KIDgp4ugvw4>wlHS{I9Z@|5YDd zcx0mEf6c)EsvheP&OlC{eu2NAKKeHPm-JCFbLgm5Z2T|3qmPQAk^HaMJpMZQV!4xU z4EQJA9vI1-sh(6E^m9oUNjKU02pPv*vGviPumAN>^r|CwM-NB+txI}dn$BKdd@siT z()Z_1W)Jg0^pyN6`Csy_(8apU4JzH3%tAjSE2j>*9U{v^1&`gp1z6B>OG?{=7(J_zlnLB-v3JN zr{ND~bny3U5SY`D)wl{8*P1O#~c6q`(F=57o*qSF?wys6zR3aM<&MUwPgO6 zYPoCBYx&e$n7Rw}n(8g2*WN(CDgL3gpatkRzb8PvntS%G@CBvU)(}^mjQ=IQ_6uLS<^~iu&kggIGXQEy#)c^9A8qs zrZ|S?MYtBd#wESBYK5)Wnl8#*ui5^WFQtzrot93Y$@fa9%VhsoS-!M-EEE4r>y>B5 z#Si2CulV?3y#JLfes~f-f#Qd2h+|0)$^YUk2yA~lekgw{KwL|Hmg0hnCrW?yqQ9iW z6ho9=n}zO@4vS1IG=7-;uQxOBzurvafAvCV`CqBxf%3l|OyhrD=J;Q!-%}8HFa!T9 zK2Dg-|BA=6{4d1`h2PO0~?Ng6air6|Wp&3fe_GGFGqBW&87gM;FROUSkuB84e#|4MstG&$cU+|O#9;5AJBs+7IQE3#O*O-V9sF+AK{bWpr78GvPdT}{E!~QJ6`(^Wkb4uq9a% z<#uID4TYEYTxo6Db7g4DxvKkQ9bpWf$dvBiFP+LewSMMl+rL~G>G5%eBaxnmuUTYt zan|xhJwG49K0`d)yTTjv!;8~sv!C;TG*6$%^#q@!Z7aV^AMai14L+Qk7u?IUnSgUI zd(&jW(~37xONXDCRhNZ57Iyr&ri-$Im0Vfy`&8aJgY{ck@b64MKgB!uugD5+V=wJ? zKFhW+-~FMIr%G~zx$t~D&vXthW8A&maTW- zip3s*i+EzgMy-_tF7bK>1Cc zxU2F}o!q5+q@y~ylK4V6pzCz>mluAJ9&56^b(_g|?B%X_Qx1I5$@ix5>~F+% zEBh*6g-<9Oz8D#Hi1QY8uHz_V*`eG}32T%~Bx4TyCe#!o(~6O4#mKZrq48DdB=>)6 zpV&_JplO>SjgLBVBbGx$Zp;EU;*t%+({y56mIpNrnw=PNOKYoBkTy+;lB zya0HhS%d34Z%3AGM{m92=&iSXr`Bvomux3TFa?;lL+9_MrE}3|O6QxQ^LyAl#m?M) z8=FV#3*I?>YPZ%G9Kz-~4Vy>n42lzM9<4igi#1I@9>nIUi?eyY(fZAvNULk}1Y$Oi zY@2Rl^VsXyk6MAq_&)*t*CoiqN^S5biog1kMN@eHVn1PLRqp@$&)eDUb+?d9;S%+P-+L2FhP#YJ4 z7bD202(qaYyGCm*IW`fPK9UT|;*fvWZ`i(O% zgH03if?=*($H`{NiP;{qS!Qy%Hp@)xmPA{`wpXx696Kkuy;2x>Gy@tYvr|+jB|GI2 zY?M^-j49Y2if5#@Pw>Cf*e3U4mkj1-$@Y}Iacz=^u}S_HbexSXBAQ*{*d+0EyZl|- zCV9l6o1q7v2eV0@|wyFqouvL8ylrFF`2pHKZ&{aLpMR9~uE;~CUm$re3b@e}ONnX{=)#aB6p z*n?Z^Ig#Iz)qASea}_qlIn@2SZIiXDrheG8O=DM>Sca)LE)86X4Ux)EHElDpA*fx( zCT&e)N65ES9K_TdKQStLB{qZVOn($zb>!R8kD_-_|2Cs)Xz-VOe>unM()XD)Lxalq z#McRn2PBtOd+g@El_N-%`!0kZlpjzILAA(9^WU@W`s0tB{P$dP+3e*LRBph{f5&p) zvpvBwepgIFHOHzqR$Z6sv~Its%;X5{I<3CkxANj9A5Pxe&3*rp+N^Jo_jY4y!{C#p ztA+)?O#C8UZ0#|8lrOVyN~(6s6)3j$7;+(%zjwOgCHQm78wkelAp@4;6R&oB+xOTj zWhp-JQheYl`drF8e~2tk_0CuhJcD?G&yIc70+UGBUk1 zu@+f1M4iOCjc;jU0tM8&+I2*VB`D^t{DEQ#b}e!NwXb$fk#zOVMo$ylX1?Non;17b zE_em8vTbJOr--e(SPhOmU8`#tM_8H%gkZvJ?(XvOz(BZ)i1kw-9)|T z=FqhkL^@0|Ha>^0Si0BIdu|PLeEwXy^-Zk7nKi-Id&o7T_t5phxAA*Y>9g-ahqtBE znD2wdFqK399&||ME4n#!>A6%k#%1)SxIpT6;diEyrOEW0_Nr7YTXu#U%TC1k&E(T> z0GGEYpKkP9PT&!~D^~61(}mAoWWV&A{KaJY&0cqdejC@P-wsjlrJRPV-xLRk_x+Rk z@wTs@Ubm(5^<{4;W@GFOY}~CxnO`dle(~#lexI9He=mc)x@y5pULAWy_VYNezfSciyTLev-WU?H6Q{S6@Y5y(QzkdOm(< zVqX2`Bzg7DW5}!9IkIGV^*{!B^@TlI3m1}CU)XcsH4&3n&t4wsxqk?`Z=Sh%b=Bt_ z;LHxK`MAgA)g$E97sm4H*X8=it4Dg8@CDa!7I`*2tyo>Vl}%nfyDl5vcJu1(7iE)I z&kkn8!xx|z7Ocn)hKKuu+j!p$U^&3|hfeSZ*Ye#@4oKhq#JV2fT#8&|nsV(;7jWl~+#{qb_h_ow5ZK=alY} z|0{byd{TnElI@UZc)(lssAAH5r*;9qEU!-W$R;)&Dls}r@oD*AeKG1jKP;0Nb)R3> z7u!yz-!k>fT%RmiyjpSS_`G^58oTsOUt6BJ&z3HJtvaE^7`F22qNn24s+CZ_As;_m zac#x4-FgY_S@s~bE#i8P>ku_>%0(Q)9?@EyUTQq#E8FxA&pCu&t(c{WTRXHCo!=!+ z>C*Zzc88(0)*>=@MQg>fMQg>imnaX8ZquF#%C{@FJ&(AN8{bwwB5@A|JD#07=G~Z!EViANcwzM_;1b-1@*sT&_JbXs$iI4U^9QmhYY1cFBw7 z+EeK<(JvF5C6iqH>OpFMq^p$6b93#=2`Jb8-^EVJ)J92XpNN*JY!l_%)7d4N(X;py z<=kb1Xikc*E=`RcLVZM^9rE$>?<0xBl$red$bNAccfGlte_v|y@8?|87l%>)eI5Dt zcjMRJk$;!1A-mIEf9J>6(0*U`dh@#jBe8d@S$pTMzf-Km&ytzSzuW8c^nGE{{QEz}^6#%xgOO_QFOzp?{ehczSH51kiI2+c zJ;2!W!mJtis7&hw?6X`dojm++ojm+GZXO;~D#+nH;^l9~gd-_Dy;DFYS8IJ4_xvb$;FC)=ln#JUe|2wiZTllT7mPZVp~K zcI6;a#lB5j8@s6n=_y$-IU>8C^bU9{!W+%lQ4ml!uqTH2Z~N@5%>Ht}jc`m-gC; zbI_NjUd_>$s!=;fb!I8{C;ab~hqw0)lO9|=O?uJZH_X+G1M~17UoR?epH45j`S`)~ zqVn;7GI}vnotP#cZ?9uduM3p}&O{HU^I2W}mza;gYY_dHX+BdoAId@?;(O-$U?a}%WJ#-r!BwD)Dao~t%`E;kk* zNS3d7lzEUYXHTtLMz!}-tlYq+G&VDC|{pE+(I^=lsiRpY_=8qwDMMC(mVZskY6J&zMEMutmM_eqb2Ctog_( z&bvEX7xZi}=h4{jwsf8?cJP6?_nS4dyuXd}?qBEsoLO7%z`8`|v+1mtEU)#WHr7OM z^>ByBMp@Q7`*PNopFAPdtutG1!f#Q%aXYnDIt%zMV0^{moL~GG{hylR`uBO4_)#?? z`n+!0B|VK?udVP0+bS&1a49O&cr9yvIp^n=`grd+eh)is)>L@Ou@#lch7YR^<6muA zi#NbSq2im(cbzk=b6MDXJGz@bIBRa_YX%l?EGAYFo!`@2w4o-KwFp}KZq1ltpK(i{ z7H8Z}WsEn_hCNWIOZn=Vy}r>kt^Br{e%(E7M|*BC{jCQN>c6pgo%tS)>wh2p9}I@N zbv|kzKMaYy$oW4HCh)_IIDYWAUIssCKe;}B*blw@z##m%`xyE??d1o()?@n_-$we? z`NGe@i%&831N7aW4=zi}2YPQ#!h82y?d5Os|NmF`Ks*qmJL4BGi2i#&WBQBsF?!Rl zctHKWO20Y-N$W7);5;eCX2ti&V6)G=)?B=qW6z88IYVlKbB0tk=VKS0lMCJbMhVv5@I-q zuvLrsuD#s-Un15cyS8%hJTlFVg zCGLGCaTBdwkW89g>+YlOAFz-5n%1VCOSpc>^%0lqKeQiFWgdGe@Lg*bs@O;2c7IvW zyHNY}dcli6`{2j+vwf!4X0Ux)+mY}0gOjJ=$5izyS`%;Drm>YxoxX#YUhty* zSjB@HqwG(2d>W6t2BHbuvt9Nl<4}G?`>)O(Ul7#zG>%Sxe*ZC@k=dBqsq;@gCVtoW zKgO6|L4GXa3@+(ickc+~wX<07iR?G|BIi6A?U$tWo3d5H?0u{~(oSc+Xr;5?9=UdrE01Is&BQKJjy}R&xRfu9{;XF$q1NolE(*6c_xQLj z=VHH|z^N_GJyqs2=Z1hY?IR?cLVFr$uO8O*nZ4O%6KQ>e_6XcQ(LTH7N^%3U$=ifk z&!BTen#kXz%A0T=iCtTlMn0RI7I?YWLw#+E{FiGN5lbj(kF$%$GbYuAXq<|#X?&gR zC8~N5*+tsBL9scrKeFO-)$H*Pjb$TV&UorpaK^l|KXMc2)ubMiv(_@hG0penAM=<* zJJ&99*T%ZE)j0>Ui!zZ@o3M>Oj+{znAAQ<#N;Xm|*^`NUN|a4H6WEnaiS|)4*_3D> z{dbj3vX4^9n@nU z${qO=vAx1RAMQ3blD&UNz4i*z9%1f&9WRipj9=d>TWMmPk9N*AeLk9OrFV!SDdu_< zIA&pEl^Xu(sb9?&Rd4FMqqkq45-L%B(96D3b1sE)p^_yB*&9q}QIv8Hpz4B@=QQWV zO|f;lpZsSknN#l_Y4%N2Y{{*ISN(fiLf!i~+SQZG)>%oZ-e>GA_UJg*sk@8qTgv(r zj| zrm*L>v8jkj4a*%Ctm4@RD~=C7Moo{mfY=K3RIN>=<*W0dtF^Dc^nc|=zMv1Cecviy z@GJSp1%1%+F+Tr1f(`R^U+{Qzca!$>%sM{U#JZz&Hp9Kl`6}zUlzO<*8fMqlr129g ziFMpV9pGwbKgHNNbL{_z-O#YHLUlJ=FP40ejdCBcn@6BUyf0Z$n%^#AS~6zkty~OuYtvfbn0y6feiSMOqr}&;}o8kE9Ipa^@i#tA!nw&AXF=zf5eWJxpmZ9!=YHc;-In#C7Vl_>zdz(P7inM_qUnf?B`g27};Fn z$Y$-^I4g;4u8GO!NYCFa>o1$%jg!qUU{^}+E3UR0pL!9pS?kN>Q)#ax$!Ez={H?k? zcvLbnH~Yqb_JhcqofoUwG_rYmX0mx5GI<7jIH!`g>yXDYB*W=%u-w7A6!N$ed8~cD zh4UMc#Xkn8vL_{r|B26%#WxvQ9OrPxy`_w5mI6fgZ*q1Yn^ps5NFH;Z4%T!{6%9Xn3 zfKG%ll%JUBwezKtX(Qn&ojsF#ey)Aa+F2vf^LCA&|2*X<2A6xXMQ0#G$5Ho}ww>%+ zZ~AsxyX@j|#uKBW7a}voJCd0t$V~ayKXdHYm)V#7qW{a@xyMIU-+BMcOcEwJ3FN}f z3?(E%Wd;yY)M4wEVXzevKuGXXYXuUlNd}aQ=pgryJ|YuTE?(C55d_%^maVm=9iD9~ zQr8MviqKM*?jv&1a1|64==Oo<{W){aFp1$}x9zk0tbd%>xu5g9eLvsp@B0gP^}S=u zuR0%G($yzDGSx?Mu{t>U`|{6cBTV(3w#P=e2VO6`pyNC3#~Lw`O&$N~9_)kipVp7S zCrUrahw7|##yshSTsk$t;2cg*pZ(U4}Ly+PsVsNzR#z# zOAeKsko28yz;_Dmich8bPuE_+f2z2C*;t3!K2)tmI}SP1@iB&t+;Xi0_^2g&rutCZ znIp)1n(9N9JnHyRAN3-8(LRoh)eyQkf8##z?)?5n?q96G(QY5hk3suLj?|cxFGF&& zQ^$lK)s~TwA>~Kay4H>#b$BoQ!N@hL%R(cgR} z_%>u)mv2LHbtkC%#p0M`yj0uaS-m|HzcSn$#}xaKTu%!e>kAGEyM$-*t!loyFelf> zGU1r?bO*gd+un-%SZc?8XpW2(3qrd)aUa4o z&5yD0%#Qo0x&KmYNvU{s3n^YioAJ z^Xaa_C+Vwa&{Z9~qWq05?TU`>Dqn|ei|ye7!Xn{PR>lHTKE-_UWq60RPuLZuyFy2P z?23Bl+_4^swTB+QfX~CRKT3~1pZ!s`$HnNe=aO%w$I5=-=&}o1wJX+vZ3nR{3frX1 zCe|#{xnoy6-psBTA@Bd+&aUXeR(La;u&*Q7C%fVv*&4AacA{Typ4q{Y-(*KDMCg-P zD;MA`mh6l?yhnD(3;2hn=YC$hqKA0a5;oZouc#rmmGLHjvE)CkO_=b5y9?Sdw$vu_ zgKxo>t~F~?{oz~swn4||JNU&N{r>#*|I7QwFQn(oKFQp0%ikbf-^xE^>%LB&DPbi# zuI0D;OWPGI&|POsRy}iOloKE0V6$XSBU9iOmx zvDmRIDleh*wI74MOTgl#U~ers>wjxwvCeDAqn@xU&cd#EI;wo?!f0Xf-^#A|pB;<; zv)C1fVpmk`*aSNs$Dt#|jfu`=SF8tTgf~C1@J4n;2YVd5qMctfX;-{B>^&BgeG%*d zdoK=q$T4vN+?70kAdm-Qd=c%vy+_5X36I-Xhe0CiSV&P<4 zlugl@gOO@iJU;yuYyHLMb1^<^S4^FY@h1AXbfi?fqGZ*+?p!O!hNYLou6TagHnC>JkPFDRmi_TBYFC_y{CX@!H=lSi7yq}TnZ6MYzthpK3&t5`a_?fM*J8_7zFSd;Pp`DX)i1;3{FSfDli(%w<#pvC`CZ9^5 zlvqT~-;_^VcDbW=EaFjnonrY_G>=n$m7}Z!t-O{K$z`Z{wDO-Qw{kW9mGjG5b`F3G zV4fpuZp7DnAz4%QjASe#?X#Blk$tf@_0rncs;lyFDjspIE3xjiWK3&*FnifcC1bAj zv)(mz3Uho9b<&#GVLLZQHF1gOua}*3;v(x+&wP&0TQB81V|Tfm@b+ z@%TmJnPj~`2hYa;4e;zjSSI`8h5RGuvoFdwlCUqHAHx#%#h(+0W6voA!_GCQOxWf4 zLz45#$ju`^iEP783{NVCIdRmQUnU=kgJDh_wJ=P65=);3!=d= z@TxVe(ir?(W7WmfmXND#F>8_Cmt`!{n(Xooc$pJlP8_3SZ=70tJQ}I}IQokRvwV|>WLdgx zHoEP6-h2Gi?Cl4!JxZoKgDg0db+zA_T~I*2vVyXi1;i{C6dXx2`aR6Enj>#X=4E>Zo%MdU7ud>N9nCj9rdj4P&8+&Oc-gF3OC}S~ z7-L(*=4Cy#I@U=e7SZ%>EQ)Il4QnmYl=#ErmH%tCNgt};j#VetMAv%fTIakkv5ohQ z3aze057S!ccM_i*aU1;}B?eNtud=|?q1bO;Cx(#tit-_}z2@U8PU>ZsHxfDL`sc4% z^0)d5KLoi0&U701;NIwEY~AY)L|4@9jTX;ngKcqd^tH5X-$1T~kyB30%JscAqo6?d z8n`}}`wcqxW+CsfH@tbpGeS#BI_E7azOwD2j?t=<8zXz8uIRJz@Exod$usUZOJcWm zo^UEmY*%NGEB5uy15X`FH~PIYZEy6CYvW zC-RpSHgH^=yR1+)jKavb;v4I}6~B!A33s6xHZsf;ZnycOG;a8p>5h(?a^en2k-Hm+G3*J7P)SBY!YqJgYh?y@744DYRRl@)w#qpu~n1* zLOC#I-_dz;H90UwvsW&RE!5MgbC~*mRC^C|xbBHx!KU>JhP&IEA01PD+Y(Eu`d$@Z z$va1oJK7?nl(I=rSn2YZ6R5LdmQ?Q*HNE53ycuknsWIou=Yc*~p&Se4j2p$XA1+Gd z_|QGhE3{UV@^a^Suz4~Dk5(!t!klf(=$q3%;}jU1*B3fCT^c%d6dv)><)Kr;ofFmW z)n{C7Bfo}M{FX7eM3@h+IK;Y?4zC!N!Yh6PpIBS_N%V~?vV1=x4pMedhga;dc?B2* zuOL1X42po=Q&M=vVVhSd&%zO#SHzb=_m+0Dc*XCh zPds@oy0Y}+lkf@gk(}!~`VL&ykuu~adBuzTulKNpfwl08Bc3Y*?HR8{jMcTQ6TKGx z@R)mH;SqR6Kbu!L*B|D(!z&{6mD)|bqCIVvWAloeQ+NgIiZ9Bcoa^8hx4wCDN>w`s;o-YSfUkH9Y?(2UpB$s7#d(6eiKPtS^1yuf`uGZ>!n zG=1u>Tkws_5uw#nZwsxyO4tM6_zGCF8NTrtHUr_)XzFFc zJ8~E&<8A&Capje-rECrlVcb;gx(FVkJ`^8O9-CLD?~Q&99&!WxVx!GNp0at!D-rRK zJYVP8dChppvq>Iew#q{~!9%Ke#^NDknBR5|9umkf`t62)xcPq}{};a)2(J)7xt@2x ziUj{KvweTO>DfRr{NeW5MFqDP8TsNJ;uU{{kBEnaQ|^Ur9-=lY?)K|K@elElFvsE{ zqWyn|k7$i~@sfeqFTUl;FvT;TwRy?=@DUe$M7%_6bi4{Lxy-`3G>ez4sJSe@iuMy9 z5smM&==dxz(L7S|67dj|J`-;dUr`RdBFZ(4_Sd+QJoo{apxDorb4|n34o9_S?Bz8_ zEDY^a^I=q&?_j9-N|W#u3>9B-cuKB?p@%<%p_6S4tpG#CPxeF8^Y~^x-$&1vu602S z6|YeFtGm5XDBjUzwd)&&?coP%*O4}FD0O?xN6CG%)Z!oQOv!L7Yx>38)!ogUjl1J_ zvsKZqP2|@4fz_^U%(XWEkYB>VPPME4H=K6537SxwO=K@D73MDd^vo#Fg9%3i_dt;iI(8QYiX;-R{5~QcM8tSho4XKo)4npYvOMo6|D?Rr7vCv zv#M>rJBoAh-D>#lNAPIzUWX^^dYJ2LTeN2*=V98mU)=<&J-0 z_>*}iSf1oUeY&Hyd*2hOGdy;df74h`Os=^-G|ZgE3$oAf$V0yWGnxc4Orv)3}gDR zhn$gMyYvC!wD?NqoBmir2MH|^9%tJ)y_P&U+0pSQbCKzLfZ2Y@_paR7W1AvDKUn?Z zvqiyNj$iy?QLrcb7hWj}#x~UjUwEr1=w<)>?xJ81?LRCEzDb>5;#-TNhsjZKEIQ<} zJaSZwKdEu3^T8!~zPEWs`9BnwCXAKc)eFWB2Xk}4*u%7wXn5icT*rn+8#3lRk@3vQ za^lm*rf-<0xokJEF9F96fM*F=JICkZTylw@b?_20x3^Wi%$Ll~d)4%*g_+&GNz5E# z%iVsLD>m?}8=`kYw^i(gjm5+RN`?<_9vfV-yeL?*iT#U3!B^fG8^mTB9JqO0@Y$_J z!QxHq-_>>Y$BKf#q28*mut{?$RY%RE98bINWQpW z)uy|HD=2@7_LRTsb@r5B{ib{v!hrGYg#&BP6-_0|oz;x~>+G_ZwNmzfqRjt9*@tVNQuY;_YOS(|wYSR7p0fXrvj1nM zzf{^2EsFj`dsm9?Qs^&c)1M!DTb)9G^Zy&t-$v*ymHq}okD@<|-Wb0Q{aN(L82C>| zf6!Yq`eQ6x^e1|w{7L!~9a8@PO!RjTWlyEQ70I$Ur$37xDZA)T`WCwM*1ERFu>;=- ztse=Fc>P~J<#!qRy3q{8rt}-x%6_`@f#|~YQ2)1g zMx(Nqop5(HgS@{K9q9Eoq5c8xtsNFK+wzW=eL34BJMW2pfId9D?&|3CJ8Po9-Z>$< zU}q%i#fKw(XK-ELXy1Hek@6n=g#SH`9w6mskn|e0 z;UswO5%i)yoec|KR&;ppu*J#0>A({(S`=JIZFc5^+cG-+$AKKaY( ziTtMG`~SA{!D#gzCO)?U%jWTb&38_?;r$t*{?p)@f804eT0C^V`3?GS5dHSFr_ikB zf7M*`-ZbCz|DiTI#FJ^RuDK#w`iJW1D?7(Vnd5Bkr4O}#wx(B9b{hF4G)LQ!1JwR% z+kIDu);s=Ht*;;->u`8%J?%V>zCbRhxR-PK<;4cOy{qX5(TH>!@#KlL_xSAWSUr33 z<{bPO`{2hP${xgiJDYOi^+flOz3U0;5`jMlEIq_qFpBoXKc2UvYYaQBWQfp`akN=A z_Og6(fTr=jc(o_GGTwmQrhxuv;5!Z2&8F~9+MC^Dl{=?IpP~K8n}_|(6Z6o1kJEk) zv{`kR1?Eq7-XCpXzo6>^bBep8c?*5{2JgP{he$Mn-v2^P-{^BY$3+M2thUPf>L2Q? z{mPo&QRyk0X}=Qec9Wp<-%x(ZGE4bJfI3O0N$70eJe6NM+Y;(z>1khDU^?>BQvNMn z&BJ$OUvp%pc02E7oF(jDsXE(6%087kjM{l$G~DGOa~|hMUG2@K{J)y>ySqMQ)o0Dl zy68b@bPaV_N%`G7t1O*p(9XN9J@zWA4zgn&CO%rUnd+OXqHjfa4fMJCG_3xm-$h>y z^o9CbcF^J3X|bX7^EmdhM{7Jqcy|Q%_LnDgjHCEDB4BHtYvy*=$Xp|RezxnGQ0Q_L2@Vh4vGMS~ekD2kGbN9pL1;;R{UJiiDFr7-QFhr+&s!r(p}s z-|d_l4Y2>|zdjK44{J2nxjUH)X!kYvC(G)-60IBFXl8SL^}p6eH**P{R;-YQG*;jfN7Z>8c z6()*K78*0R@AGtDBN}PoSlBqs$cf!xKpV8F@X)eTV5i*+ZXKiDO4x5>lbxbx%`x`w zydTkK2@J%x4~|JsnQG%-s*PO!0*{S{Ho?^IZq?TEn}x$QlmbO|p4jUu;w=v+Pu(C|{z?51IYIK4IOB zVBHpBA9WXo*Fj^OEzIi^txmzb(j?|3$}Y_7g|3*I(=D|h)n`s$3geuO-?n}R z-+B)`m6vYeTOf&VoPU9D{~>(a+6>=%4NTyh-OfpTWyG)`e*nz6HXxe*?!~ z;9DE=-OJ|tUkcxn{b=Ev-IuN5+XUo3bmJF~A-BmEco;d3`Lz{mCk;9!UD*3;WWmgt z+a<#-bmhdP6E`BiNmsZNAD?810q)$$W@NY_$YGBn$H|U-4ff>Yo_0xDZWQ+9D{NWr z3GB&B@e6Jr-q!c%SK2nSC(D*Bf9M&bZ6q6AIMtTim-0xClML6^mfzY(?>TuziVU}f zvejgU79(HhvDW6|Ymni7QX2_A%oeMy2|mx}ANHvEo8ga|kzq^B0=DNjPYEvB90|UG zjmzsQNci>Y0>Rkk+Tin>?+tFkrYB#Y*Oh6$9ti}?sGIcQb^Lp2^aEtMgSISp&q>La zI+rXbyH875TRuUxx3KOC?9S-DkL^Rhl}=pz=2uTmM5go7_6^>d+oc-|>qZh|BK>y? zvW9$xvykO}OBvMmKS3}0gyZ?hc-iz@gW-zdquM4t*wKHNxiTW=1@zxN({@L{>#Bn8NL5gNkXsZwWw6)sN%NTE<{WD#eu`=669+Awq?7B4peMNAHMe@?XLD# zjEH1uwQ&}D@2j5VBH3mqk{aNq=K*WAN3;xZrc{ zH1iss`C->Z=A_M&f(@8ro~tPh-axx;q}}Riw{e^Arrpv^cU@^vF*eeBRhOy!rx$fl zT#n?wUr`UszlPr0T0L@`)x(9Z-ljlxSZwR)@=3N{hp8!bXiU~2k2>7I)}1=^t(_X| z)wR(azj-`$$hPW`MjgUzsdd;>o2bLf^v$7G^xi9|-w$M0p#RVvD?YVkzF({c6JHdK ze!v*9F!9Tw^}<8>kG*4WwD9m~rvx4q$9rOYVEuR|xw5jQ{7t1y%EOc;An3!i{ z;?*g5m`5G~#me;q2Ze#pvpqxm`G+kw^VwwceCMXeSf4Glq(@zC@L{%C-7N4f)2!V* z+1jt>`74J##`(lxk36sG=f2;@!~M13A(*E*5bOBYQgRra)ol|w3>@9ovI|ZhNM65< zc6`J?x5UC1_o3ffSUBd!=2(b+`xz`mpH0QW6dc^v5(njPKc9Xp{Oivc-^6}F3ijO! zehKFs?2{c(*e5(ZANF-j#lBW;eE7wn-!T6aK0OFMKUD*M)mDLj(}JDBx-xLD8VuaC zxh}YQa}>J7*6@b2uMYllb9FGB=Qguyrv--$d)PbxzbYkG$=2P1;7?M&wQ=vo{pht0 z?x{T+XlG%cFi+TLVV)feC(Qdbn5MaAq7}_Gv*YlSI_}EaebFV$H$nAx7(?KGDxTGN*k51d1|Kw-zj>`9MR=5v%1Tp zW(nhS#O7JFQ?B_~a$g-BL_4|j-R6}%->&PUW*>O^-efyn9+YiSIs=lBVG z|FCCF+3yOXQ%(xo=7V?d41dOaf&Kkp+iEuNut&^$*fudg>Iue)u+vYRupgPPwhkGQ zO?JD7H{WC7-(apw=1XAQ6fo|1ip)3V$bev8-Rp^c8M2_CZ3VJk z_3L#(H!|J~3Vz z%PIG`l(MJFc0Fa^YvI#qO}6`>z{*d$?I>|jlI0}3DL?5E;-JB|4xo!U|MRCdP zsqs){fzQT6?cf>3LnUM4(LptzOR-RjiIRM95P3oIrjl>@ez{_!L<8~{;3H~gSDi~7 z=Pc~qiB13qq3M+nw5-=vSR(MxX$Kt5}f!bD>iEA+1RK`#*=&jQ}6|h#UC_^ zu~g4~mSW_fQORXaj8w7W6zj&uA7>lO7AEJi=6pR{^OblBeWm#U1Bv-u%r=g#nE3Z% zXyVzLlDP8uOGauLFZF$RRHjvTa)u}4r4B?jN2t_}m$Kpm(RHK?->p6Rmm@D^BQMM& zrz<%_lfFO44&E~6C_>$wc&RXTna6zI32b3Dtvgzab6Rk6_r(GR;-uGdzcum2xTqhTsSK1a(oi0 zb`sd^ItR)MFRxV7|6|S)q$Q z*F2-7e{=ev)dOlSi@WSGpyMJoCw5d!NFf1dDM7tq|S6ZGc*JFon1PjNtVvWm$oKia;w$5Rrp z%E7hb8668mL(ire{dd!!Va~Olta7GHCsXX0;!Rz7PZTQN^jX?W^Q(lP>Zc*-mWqY% zU0{s52^^9gdLnz#E^S=#q19h)BS)BHwYTo7zz3TYY3inNQLyu-K*zXWqzA=8b6WA>~(VG7{?!HDSwC z?#(9Jazd9J-{da&)>;6ASg$aLdH!Lp4RgDhqv8p?Y}3VPyB(W6R|T~0?MJka+F0v0 zq~_;utsT{Fift!{O#d+LSZ%kXWRVDTv69$3#g5kJEh<#po$}C^5|b2WlfRYuP9vG` zG_snytNvj&)qf%P6!ZQ9ajr+K`u7Y>r2exROHTbwyZ*T;^-ruAOX z!za#shK^gKUCA=SUB;I+u8uOUj#=1pmS>1RXx!y9K2O6xk^32*@sZ6l9&43nOoV3~L+5mOMk4=+&gEwi&-m^1<~-xY@L8Ub4aOV; zV~(Zpj9f4v*WwwE6&_3SjNI~L&3Hzx@0iUqa{c6LX~8qHTJQ{KTpVLQm-YS6$uma7 zGZy46DRlUS{5|3qo8cFmh&dL|@G@rpQanTRLjPJkBMc8HWpj9jFu$7keenwMjcRzp z#qx~(HqY>8=J>p>fq9*52t zJ3PbDF~l=ohi6E~*aYABf@l0~dB$G!nQC}a4Y)SobMg!iJfSt7p}B3l;U|(2FNSAG z7L=YL+wEudjKk;|hofzX;g`*05XU{0XTj1lkb7-CBQo`@o}oMp@^v4u=-Q?*V zcnLZCW#nw>0!`>_!`u%QDtD{$*GAA!mA5rAvyHC}{5XQ{J-JuD@9ti05_-m9kCpo_ z%(X-4Y7z8|*|wf>#%{AF&*hek-SlVZ8BORHE%7pmlj0Z6^bF=4Bfs`kOn!=Tj)Q97N9$&lvGJc!qQg*{9B>XJo-k zHru+!roWJF>I*%ixozrPdd8o_Gh~;Ned=6#hIonOLg^ZkkH4@@wQl2+T}r${dWOS$ z9lMlp@M zH_MN)4By3J;%Q|&T}GK2@m#Etb1Xz?iH8as|=q-Ir9~rTyeFRCgzzA zRqpeU*5ygqpX8&o^23qa@&)WZ@>%>){sQ?gTxR(T*neKaXCObu$eDTMGBABFU<2|a zyO@`nKCS)rL(6ZFX%4wG&sXPa;Wx15^h2JW0W0s@=fGyk@WSQ@+tHkazhDdPegHh) zj|_hZJXU^k`BO5flX42aL@u~RzGlM5naE$KbLD){oGbZ^l-E-2c>sT=@>*K{ z0(=DxMrQeEa#<4pWaY8MuhY_hpctFhY>$rb=ow-F6c3o!F&U@a|R7d|!BInooJ@ z6%V2JDrXe#O@`6=-4x7Kmzi_nz zx?h!Tul*%kKjU9m`V!+`IpG}}zq2;?1m=$_UQ9km#f!-nt2sCmh$AbhIT+PCO)G2h zGh(}Lqdo1PN!=gexCuGD3AtPAq=si?`kJus51|d}dC$t%OS?%v-`m~elMmp7?rnW- zXpo#ye5!!sY$nv@dlsIV5#_aPIp$j%@4_7QvHDkYrM|#1f549{ z>Id(HU&1lrSt^blvT^Ld7dZAe!!hBPa7<%A6~|t(aZEDdpNnJPvvJJR0>`T5Hv^|c z_rfvxDOVNtYej#Lq!?DB~3A?X0PR;$v!V1l&x#Y^wB4Pt79+}zJCt0nL zT-EX+{;1=eijUbp$mYzezK-LQ_!X5W_MfxnRA}zb-g}MpyXS@0A0b!BM{EP&jcYp_ zqiTss(!3qXYHf%a85A9Ra%#;de0!nq#c+<;c>daaE~|E)KzACPBE+F%-^ z26Qkc%^|k3)?-|gGxJLYFHb9)JOQ=d|IcCJ^8E6Jk)- z5o5QB9BbPm_s9Lrzpu#3H~r)Q-WHh}ugFLoSIitvE||0e|JUa;cYi|sj=KBfUi_@z zHM`p7VZvt~qe-@Ke{9kbF3biU*EdFEQ={i6TlnN+;> z>B3(U(=dP-mSSR9X0xx}`efk`S9K;Hh-0o@x!mWw_wCNae~^#$f4lP5rn}7D1BkV# z=^2F17u`ku7hIVL~B-(O#`7Mkv!7FxaUp^ViBUkI%qNIc5!0mi9;$f&yq8K=hT z{6_XVFNfZ--R@pytQXyjZcncatsgcs$5#fudns3=t82Ld7RatFJP;N*7$BN-FrX7U zMv!~L4q?No6g)WO@qhuIfMO|orNk;3jMrwdO5|ctU2};~G8mhQI&#dIYiq?UZMN#V zJNC8J`<5|(6I#!N_B%l1VQ8aR@yJ$eWSY+nHV6|+@D1-?GI+J}eU1bZ_Aq7|oM+iL zpnnwS62oM4vf`Jz-;n7$Fer4&PfVwOW>;Sr`7{&k2yTH|4vqY@Z0Co6#=A@qqMZsVGmaKXk9Tjx9{hJ<-`G#IiR zjI`sMD*p})$)~*|#I4>BK1>B4hA7q+n$H9u`ew1_4Dq%jq4~ZUiQ~K^J~Wu!dG>mq z-ItfZhX$jIdA*GfI&PSeR?u+UT+?OYL&U;|e`|pcBkFp_`>+X9uBho5?`h-1Z17<2 zjEsWFTTfZ|pz|HK*P9XWVcDM&_^>erA4Y=-;jK>dezPK)_;Wu z4qukOxqk}l>sZ*}TKy38saV0b@MCAb>&?*e{cNJ!#!IlHK&Nf+!AMt;?Lc;W`Gi)( zvk$WG!#0WS7_|8keEI}7l2dH50i@F9oR%?!HeKdGgL8-@6kTTPn3z)2qRRvZl`Hnz|s#Dzp*r{ z&{vOsxRiWe)nnYgDtG$;zN>)f}qjTZW(AVhp z@M!3(9{Q@9m7p2*^>JbXt7a8d9>>N|KdVc@Xq!)e%yoUcKEufWn0r;{ptGlGzf0i5 z*B2OzzFcZ7x-Bv-9*)e2$H$WIh4IOJU^5(<9uKD_jyumzE9m@i7iw^Th2-&84(`Jt03`0=caf-|Q*la_8<@?8)^l z0_v&MJwedUe0zWOY3-2R&@uPVdMJe3|nFFbfW<983f!4uyt%Bvi;#H=SC zYm{-FxhFUvZ>byp2hB}kUuBe-OJ^nMYzq6?51yqnI}W#U+5HJROZF#iE;`%uH6yRT zr)?Q_lCu7@Wn0Sh^)DT`J=|^J_N#AQVvZWR)ZDW`b9dX8>7V+a^)H^&GvQJ5OwpO> zMD#KZKB!ptux-O}Xyzqo<}|b-*;f2a@~vdsJ=YnhjxlfIL$+N;W@N(q#F-Q8UeCDi zG5vrw?iVo56_ZrYxIcOwaxG(egCxkJUhR*Yf=vF!n4ig z(0a3;@qb6nz41{s_r+&S>I!C%Gl%uJ?x>j(?_Jj?p3SCr%4_<>Z-UP(MGid!UvVRc z9z_ma3LWWuDRSshTMi8)ht7k~I6P&xEr%XieO3+~iX0l*+SxYCet2c8?829|kbIUyI zzo~rY3;pj4{qMh){+DCvf7NLT{jc;3{qGC??+g8}nXTf#xBkZ(Sm=LY@IiBG|GVga zLsRrW*=3{yI2ZbJ@U!TeeI4yFI;or)RxzNKY_zQwlw7ao)En~eTP9-V;vyq`z^YfTo;m)x6g z%e@^Fa&HB4?-cYu=^+XI&zcKZxmda%ddM8)vX30!GJ43l=u3LvH0&#m-ghf{Uj=&K zPrsRI*x0f#R&PjKw$e|v7JHy88Yzog!`_6xnwvM>I3)BD2ScGmc>#&)yvzo_2# z1AGJ~cEuz3{ooPXc4N~>_4~=s_k)@3e5~JHu@*nTG4_tXZymfucF3pFn)~}$6SqRX zj1S0beVlCo^SF=T?^|H|`!Yibf8SvIeeLlh@5e6UB?p!KeGgye#n0o4^dg4K#dES< z%GdX?#MVUeO_0`^82y>6Mx|ANX*uJe0}#J2l~mWT!+0rYbNVJ z_F%rZ?d$V?JllBwE&IsENvi_RvCqvF*r+4fusq?`D`1)i&G02Z1`^mfb z`qtpOG@b46ea-zByS+q17=z{JG$q+iKv7v-oj^)-0_#DLb3acV~3;DMsu*Z2FI2YxzC4mL1qy7O>{ulDY@t zn|tQ^rhwJVk2jZKx1W-cIG%z{KVfTm*c^@Tt(NC!@cfX=axEU>$L}|T=Vd$5al$`1 z*Boov_3w#aSMxyp`pK-nnbpaB($fjQ-~I7t>aK`SX45-;Yp#e7pP6280(;Arw;n4j z=6Dx&7V)|**jWbf&l9)LH;cDERyY9riu`^1ZTsUp*jc=9JzZGD^H)8`G0*4yZ=a8O zeCAqYI{Evy<^<`{gzB`~7sae17u%S$@AZ z`2D_P`~ALb`~C3$S$;qH|K#_>|0jAsz9ix6%LEJL?~^@LzJ-6lC)h|{1;^hfJoqtm z{{eg9faJ?mzh6r%kgxBPR^-ZV=kWLC;X~+V`}^ek>&94XXZaO2CH#FR{=OSSr+Ps9 z*Fxjvw*PJqemc#yu>5(wF7fpQBP>54emd5r!l!4J_XH!t`1j<$E1seJommAvkvn&P zIdtlVUS8jR#+3YqUi^LJDJNL102!(jbh%JPrRBJ91$)^ z9$jYp`}X7SQ@)6_bJ$@Av=T?)MIJ3u%m8-SB5-6mcG&rrzt2}N+s2V(j43!021iEQ zIFhstGESX%f(>A05?`><${zcb7Jk3iBM~buphrntOD@&gz)oC%j<2FG68`=MQ~voI z@ck(^AT7VGg%R@iIk5p}eSh_43H^3QO(cGc6&uht85?ki6&ui#*nouZ?fH$f*_F(?4~;VpifA*<>ZF>i+{P zs3-ptCMaj__n~FW_gDQ{-(NQCtvSBGoACQhw0(bveP?}t_%ba1Nz7t}bijXtZjZ2^ z%(e)g{R{NIPx1N5_jj>=Kl%6^zh9P)(LpjT`b@0dEWh95_&?e=^ZRuue>}zS_f*pF z*TFXx`rA9r_WRwE>i6qx`~5nY)uaA8em{fQ9Qpmmz^^x2e!sKyB)^|>z*J=!`3c|O z*?URfANLZzzl2Xj^p>PUo8F#659|a_{$swe=v0ZZsAJ@TxI6M-{Qj?#QxpH+4*Ym- z`2>+6b*yo}`KNq=OL=A) z_ai&=EZ<)hKKa@B-@{uMTXeW!N1iVXy$xyX>Z@;S`~TQG{=YiLu>60IOAj2n#N2}( zIHle-^2hEH^AmKyDrjvf=Yx!E%qsM;YR12ObD}HxKSXcIwuH9S2g@dZY4RRV`#|De zzeKJU?x_#Be^z*e~*Npif_uFDB5%AZY^}TpYthf zk3e@nhVCZwta#@M%I(-)dha_k>RR}Z{D&Q|h3vpL{tW&@#)aiS+%e1T)4CyVy9ei~ z?>~i4tt$zQRNk?54;EEw{M18RJGl0Xs;<5rTw7P=_R07DyIa^}N7=#oMo-58xxtb? zbj8lAj;B3e3B1GFv+q2>{7&14{)y+Bz&hw)9X|A3_O(wv*9LZQZ3ovJAG$+JA)A&q z&OS>or=cZ%ccW?KpQf)?%sPAT6YlBzD`>+{xVO>vvA0G`-$}8ll;BH$T0U}UheTfS z2fpdGY$aOvD;lY?Y$ZCDzdd1FdB(hx=WZM8^_^jizhidA_uiFjRq=P)B#sll_s7l0 z!L(mMLqEf=vZAgk9>Jgfm1$m!--%AkIR7{7DyN~Bcec+jtjCAH%VSJhZTr*TS-GsR z!|e2eqBEXJx7_xGxo+G1!k68~q&If8^{s=>Hro6vymg61OKbKpPDM*^xA(2EX=!6S z(Ne-@`G8GJ>!77OhdyJ`(g|p2$E@}R>!7E1=D9|$U>xsoUq?=3Z^6xs*^QjR5}&$6*3=%~My`#dM!>-eAkt+jF1K}Y(x=;)RaPnbKnw~=ej#u(*L8J0sw$uY(ln9IKv_wt2anvf^I z&`bYo=%vNkZ7sdjo0;%M_V_|CC9j+lkNV$0FC}JOda3*#yRm0U50#GEQ|IWW(m|!K zN=FT&pGwcPbX0UubV*A$bz)D$=%$KSEk`!qgKpa0)=j0)I=X4t)=iyQ)WPVc#kOvW zu4{%Z-PDC{>OQY-+L|8Pny=*Z>Za$iaXIlrt?~E2jcz*EEKZ3_{nMngx@jVA{j6@< zr-g1hw^iMgcujOu$A0DTcIl>yAsTHMldeQJ6@R}8-LyE{_DPb=*5U8pgy%^&?b$*% zl`bmXRJv$6^0IVQD<+k5M>lok(^TD5wkzqTN!|a?)JjH5sh@b-1U_Zc+Hw~YlWOUs zc1)^tQt77N6y3BW+7w-iY<*no(&1lx((*~RFJFpoI)#{2$=cFQryzHSXSDZ?g8nw@ zS$vYSDv1B)om*#g@=dw3v+qe{=_&5^W_Uy=-)}tyfu;B)6?ZBdP;2t^Y+H6t>JiA! ztAD^5fr!PAb{;NBAP|L!OpCcr$dif^$nJWZX-pwPe{=omJZUr1Gvf z`s5Fx6Zv57V_OWJtbmdXjN2-SJmEBi*s;LH6j5JZI^XnxFh;Rkk%ZS^A^&$xm-f=#x#vWY;tI zIBaxG>XXZCU&>)}FE(NWZNvuJn(lbUwt=SR`*HM1Cnj6tUoqK@_)?bHHqhjEv4L(( z(Ir#u1x>`Mo*`~hd?xvQ+a@F5{CaFMK|3Z}zWHz@8o%|Mj2~<=imi5Hvd_j@H=2!% zf9a0(wZvN2MzOCX{3MF4{%-Ab%jcnE*;AzVCE`-2#c!*L#=lWBJubbm%cNXOPgPv@ z!?pe6PkB0^6SJDGdDTXav_yKdhQ^ z8pgcB`TV1lXT$dMVe9!7f#LS^;gsjYJTG6Fe5g)cLb(gAy8MCv?k@_h&Y%nj$-Qxi za*lRoL~_W7vFYUO?FQGsO%B!!`~x>c$DC|r4rcf0yHSI0eY-=NZ?<7rdAOhBzweQQ z^Id!!-=>VqXiJ0g8XP}o%qi^QG1krDJCx%?a>*|;a$|)}wCg_F^ zz3lI=>Yz0R65n6W_b)xY>)Q7`-2$0>vxx7n;`^&O?&kV-;X&%*l=V2rYU9)GicTtr z$cJZ^RUEx;;Ob+gq4h=Xwvh?gb`4{G#Wv`ie%NLh@yV*6@|-*QLj1Lp;~`fj|Myz; zGkIRmnml_(*Jz(C`&yQLZ9Lc7d5v{m>w0{0_KbD~YJ-Q1LwQEfs2K3~xswalKJcQNllr`Gsd_U*-wsMfi?i|IJ-gNZy)7Yw`ImpIa1t>Di*_3$GMKSMM&0 z{+xDNO`R9mYtyLC<-Id~$|JIg>y0Vb7x*)MzvB9VY2#0R#m>X7=U*>X8zu5xy~=&n zU9kdQ+T@R%pKdeor2670V+%jSwhzeba>ivwdec_p@%gLIdf4M@2;(b2-Z{VB|AUM5 z?L_}~(-k%fZkmy2d5j;dN3BwdEaGBGZ=eCLlf^O>)MMp=+&iCIrPgI4d!N*6|xXnRBL^x9~rLtBbToMt!vGr!{Et5^5%?3|55I4 z(L@=?F=*gjBgDOKfovNKoO^S)x8J(gBaqFrMJeyi=iWc18S4(xPg-9@YhLsqFJ?FL zQ1m39PJlcVZ&1%QjQw)T@6g2ohW63=nXSo{--{F0=f!fZ&ts}Ip#?&Fk zl-AK9wuZUT*^yzyek=g9L<=L72Z%AF_Vj{XH&JG1J<$(|n>k83)sOGG+ENy;H9uZ- z_9%U&oJYb%ttr|_ADoL`{C5>r)-slcoP(aM`;5hN(Umc-uyRZ$_eH0z(4FpUEJhfM zV;G0Rmmji*=wqxQ+PCg#G!V#T946Kf)p?JST%X3O=uc@|Aa1f8=dFA)kf!_$MIe4HahqHKevtKCnh#(&2dl08pUCJ>T$1;-mJJR`Ib(4 z($+{9KjleZqnr%?&Un%s(Jene{ba~xth;pToQmhX#$(m##<4wV#<7Np*Dk7lGk;My zt>+?S8ghsl?f>X8*1YTS1zzEuIeO=g^S>jUxbHispWJ)JCr`S(p;Oo~u9YnJvfCZ$ zMT}H(Jqmj+spgO#uT1!l;cNYi((p^3J~L_{d8b09q5dvc@Y-L4yWU1)u%JhXlQc=Yb?mlbyV)0uwG|9k(5?`9i$ zA=Z5=X1f9TM}D|Dbz_2a>&6C+q3tWlF;#iS?TLIJ8Dj5E&jz}KRg!gzZFx)bqGYrw zS;nGbPB{r3XsrJc z8jw#lG2YYG{E4xzG2cWUl8=e;X{SD*9h=B2qS&8q?%=hIl@CuK+ao(~O*0xQHk5=G zY0NzP)QvyiJI`}fn(?#A@68LXe;Hk5nC3@fKM^jc8*yYtqkSi6bNc?M zSG=dTE`C>sOy2;HBVWcV4wL^xy1*Ici}oVd+VeBo7A&0Ew!k}3GGg0;pSq2H>D=$Y zciZvZh0|+K)-acJE#J!So8z1CVC_lGFVwl&JID6{|MW-iI+;EFz33|1QvZDXX8kkW z;!RW29ygVnD-*j`I(C5X6F1^@rI)8;^Q!He>C46*;LS_-rDM;E6lXIhy=}p&ndv^s zma~yPWmiht7XRMJXZ<+h0NWNw?v$*n`$??iKHoOIst@;z?E6W%jr-kPC0)Pm#!v1o z?z+4t@H0c_8E4PO=sfG}`A^Y--jl!5wx7L+Kibj>$PK*QxV-E9wmh45RUhN+;yd+C zqc-p}(Wlne*>F#2{nDSEesVYTB&>6A&cV1n;GJ;ptKXPYG5G1zPyV#`C)T)l*JE7Q zIz}b@8S^NAH~PP-W=uTn-EezVO}F?w>d@?*I;5We)G+$ZqpYddq^rHlm?|RPbv)Rn z@h?5{-`W31$M`MOJ9Uh|3x+ylJav4x9NTNb=W^<%F^GJh9NUsxhD^WfWL9#VMdFg( zopFYKRPi2bpr?*)je}K;Z;kCTjy1M*KXq)6x5joP{_PH_V>=RG;7^S0UeVf#$J{@URvca+k)oa_eO?wpqKkJd<&5GOkxMzkA4~**@i!^X8epRpgn|I5%1I zvW)Rx#(wZCJ!0PfGknRp#%Uw{R|apWeZ?R1^W6N}K=fQ=em>(NllwKVTzcMbYMeh` z6Nuh=o-wWQOq*4v^F57Y;ho0uo`1f$as0$ToPILh9>-(SE@B*0$ExVq=nZ#tuB`7C z4ltIZ_E>IyEis;(UHkpnG2QHX>bO1(zm*w1XS$-i^O)qmA32fZJ(3LhDz0=2YCpwt=n6NGmS|lMVLI zu~m25Shx{PmtKS1UGd%&VR=qOYyGZ5UKW;Tg%mGmwC}+E!<6|luzXX^d(roaWfPtU z{29I?8_T^sD_zc66K%HJjAYwuqFq63x^jtL!}>OQMsmNf{GRENlV6*DD7vNgz38S( zGklM5F8xdAuNPobEQj$AEo4yMO*1onUUHZY5iPLp*(P-S%|`S5rMql9?E9X}0ou2Z{m@0vP-o>099-KwsN8|CljlryvKpJE_`vh*e|P#!zi;#2|3J_BN6wXdQU5iN zPedEO6xv{Iu4BluTT?K8tAp{sdFu3&U+I;=_;b@nLJqYs{y#t)zdIjoF!qG`EooyI z<903a)&a&J<0k)J&a>Uj(X(Q(+msJ0{&k^ry0YS56(00tmEX<&5V`V|lh;|BaVulF z3H$$kHeu~($r-XW_!WV63}=0jPUr{x@LP3PUncIX!s ziuc%z zi7lgC8!4AjQyp~&(MP)b@E@+1-Qx}XTYYe@ zf9*fdzxMDiH~$LFa8-tL6aO=ak$3)=!TZH%$CeWdn7bmpv$;vC=^K z8z?*F4XC`rJ@tL+m~qCM#)zJ;);IKy+KTt|o$Blx&i#Js|M3qtQ10aasZRrSx#<7% zyz=^5?^yN!?EeQrm*MPR7P?<;UJpZ;sQr;+ymO z4GM_X#EbP!d?xwlEH8B8lvm}v+b;8^8;XMXgaRtB%Bue*%getmeHKRZ9%vs+AHowM(+{TjHb1DY7 z(j#w3MgeDsx-U$2*6;Ti>rb1; zsee6l=1Jvl=l&v<;bP0$i!!OK!*-8Ol$CRpAqMW_3U8 zN%Yee`bYhQd{wa!J#aRCvG{_8 z>B~MYqrblIr@i&1Q7uQ7c8`1Dt-d3*1}hcu=RQIFTsGR)Tu(|m1)yWnfI@B3Uk#QkR1X$ScV zBCfQUV(!Tsyyh9oJ&Ce~4RUSrZar;R#d%*{;~8Bi7uy=^9{L1pX)Xf57nNifk5EwM)6*?E0~y;CFcMc;!!4U$Nn`*lYCf{#zA;>MA&}GGwhAF5NmSC$#?H zL&o}?4gOeGUTD1^{or8CSfAA)wElW%Fs;S8NHAB?kg?`$HZI|3; z&|6weWs%K&AN=FB&cq-*V61Oq|F7^1+3iofI6AnL{To|H2M;bE9ek7RZQAkE4Wonm z9|*1g1NT4S*}*QaxsU6$o=ePq^NjTkF4JrtZF^4@iK zcJ%pq{$KAlefzQN{eE;7Yl*lk5B3@1zj;;%-$u9B98A2=VBT+-;jX;qmMq^v{^jMF zZ_M)fzI;!ium9|Jm4CQ5+t+`Pk@ve>xzD`(J=i*?bA3A3PRwdoS%yx(j(wfq>pS#l zX#Mm(MZpsc-f15d1=q2ElJh!$n(uMW%VzSt%bizN(CynAp-X#L7hI!4`a}d6KDwYtDD|kLKS_@HBn9C$wjMn|zWz!P;^=ucY&BXu$fe z{*n4^@xdeTV)5UG?AHrdu~~c=EIw$?S??A$8|jgrHec?6-}Ml6q8!`2Gc$bN4L#7A zvLcN_!gBY1*q=r{%YJsz-`_!8oIx^3vjyBXHIVdRHu zBP;eE&t=wp3v4qMW%6#O{jSRS0p&RgU$StTa>_2X41QG3ztv6;&vaYg7q7=|RY8ti z##1|A&ka3eL!jB0;W01pEWShHLK58{gLPAQ}^SQKU+Nk+15+@3L`!lG-tiZx_Z56s~mDlH@Z5!(fCTw z*ay_@C^Y{OeQ=Pr{MeI5%&)h6E%=kkrZHm4RMc5M%_kXe1+>L!pK)q7*zyMTcd+HO zPkzK#Eq zcMR9b>#()ND%^}IR|ha9BQ^zWig2ucj55XtvK1ShiNkgk%&qAbEUv2wz8zug)6ULy zS6w&Z@gms}t+s%Vi|?u}J}Q{AUVQcl_06O`3WT%N`vdA-OP}ti?y9fqtvUB+7!MKZ z=wCW`prqxto|}g$*POA_V_2*s$_Flzp2k+>a*zsS3Bzm?eXMOr<^t2TxRSp z>QqTzEvJw6da~DSq|f%TO{CxR*wjZ`R3EEePXDxzd0p*e2Pl8n+Unp~Hmwh&J{m|L zx$3HeUtyE};9OVVwd^BHrndX&5cNHr(nm+A@4fVC%Ra&$SF!6eeUw9evgo6BYx+_j z_0L%PrG)Y~B>N|W{%K?NkJcPJN`H})KPJ6U{c~mQnBbN4Pl*1R!@in-tA8ZhNLQI{ zxRW@MhEB!(Jj>pM4lSF4^c!p-mTqL}bo8Ng&Clp&yzA&!($g&6tRL_3{-wwf(k}+_ zzYFTA=+Bm(iVod?4sGdrNgdnPRncYVp(o3xrEfcWJKx^s=-3``9X;%jqlcx{+!dXd z-8uh%WOvDbD7&b#A$!pFeb_bbrf-{!j`@4}-mhqrCc~HizBeOKjjh143t(Tymuu0W z%I|zX)pnA!IZ$@XHsF+fYpR}Y+XtMoQ*QCGF#o3?u&;WOdTv^@I{IzwE~|Q_1)l45 zL!f)KG)liL60gwnve%{R#h&Q6=v}!TD_8Xz#JaJr%4%#TE6HtLO7vv|?^*Uf$_{@y zuZ=)tH&Rj>>jTza#5I`6$d?@{>kS=)itMn*=K z+NQb(cE289O}_W(`P!B7vZ|XWu(BI%OH7>8rp`O`T}v98CY>G{npTXQ2n|i69iwUE zLQ!ZTs=lzxSbByZPzG0p79S`5R3;UeP!}yOT z#*n8qTAs$3`D{5FQp@4dSo&-^c<+Mc;5!#p4kMH-htUn(RGTax9ktqI1AFQqYzRZ+ zE!#3398n#xO%_b7?_-?uf>j;a(v}+j4u5j_UG0tad)j6C_nKM$>!#lyce&&9v$Kr#M((nw$+K~4SHAJ# zlzQw2#5)-L`=OVR~$C2+&O&^5JknqnP zulzZFWMfVH<>2dd_v%i|T~-~RaF34TzumUW-NA|D8oxfeaa z{cG9Awk1XiA0u%Qlj<|-7q+p$sp(+aG!b+m2O+>EYG0^Nsb# zD}QOpm~#}zlHDP8{0Zu>Z{bgy%eDVY-n++FRo!|2`<#<|0&)j~PjeD3Ne*}Zpi!J2+7k5{W^{f-5Kw~JG8J0#Odk!%t!g`n)=r<9 zsR;za%?c=$qciZlKWp!uoRbST?dA3Q{c&DrU)EmxyT0qY*7~gP`mFD6VqRGEZ~k-J zD8JUdJ}lpEWc|q3-*EH>Q7285Tly~u(q<|9A?C~2z=2ABLzZNf2d$LJU6 zPinqC>se3Tr>}YHG#4KmggZh^CqJ@QBGbcvgRX__eu@it5yy{kH8?!A+AZXE_$GhCB%c1;Uwxt29B zqGzR}W^`1;TzV4uSWCb4gYI zpWkXs$oOi0Hff4T^8&W#sR=eJ9e#x}U+p#dGs(x7P?|r<@|3Mj@R@vOSe|sxm#s!m zFi3nTUzsOJo(X076G&4Lo93@bQ|Y9sq#aNW&6`rNf%Df~cP{mxOQP@3V!dr5@$%N= zrx@zXXYLz4k!9&Sk_V3TPso>l{;)4)^ByZX-B;_`-a0ff|49F&eEP@(BSW*#J?FEw zt`E=NUcvs4($MVfRn}Ve4+}pb9UJLGnzMq@b=WTZ zaZX@I2b!5vXHw^qAqkE~uI8&?+vFX&k-b&J&du`Mcue2M+_OKD>HB*tUpD_97^)Zj zfu2K_XxmcXP(70y<{93rK0taqpFGLzGf>r`_%eMk~DopJ8rSXH_zPB3;cl#l{qB>BJml|j$kLO)m8FW6X#Evp^;=Xu(}vsT?{o>`u0MJsbWb-&SZ zfMeS12_1h?*S&Q|bv(t2s&A-SrgsjkzJs#Yc$4Z{xc3(CQU5ilzx__}!1}{)jP!Eu5SF|Neg(D=Wq~HdkAX zm2ess)Auhf@$~ijt*MLey{;c#$whhirB}eo$i6G9E_?FKf|-`pXZ+*Y5xbSnBgc=EE7LO-;N1!#f)v`1sDo z1z!s`eu5uiE;x(jVs9tb~O0S&Kc5GavLc&RF7U zoa>YmF5lCkaOw8q`F`7zhY_NnK{3jyMPGU&9}qVogv0lxrg|_OYhVUNbfS5cMe^(MZz&$jP^I@VRl`fB#lv3wEYw zmA)@+TkotHbZ(rk&0Xf{KZiQ6TITD2E%z5M^Y+iC-!5G5t@~T6>45f&MXdU1qpgbV z!ZK^M=D_!Xv*|n0wZS2GC-a?-{x#EPVAH0I*j><<_slHpO|m`V$kW{K+_+|J#^2Yv zb%yUR8)p7E82!Nn>nX`&ac?ZLe+-vU_xdN+OgrSeZu85_Zh0oB(pzU){UfE5?6mcL zkbQ4ZeNNy0T(4YzXQMDfGw+uib1Q<419*PUi8~u-{jwxFWNF?r%5&?oTc4TTRuavz zhD2JD@}9vh8>w>gw0hflzD%Ao$RoIY0LpGzL}^c4M}LeJd;vKFR^)V@2S~Z~p36?RpHR*gCb6t+B#B zQ?YZ|mTM2HkDFcnC!HHNlW|$~J{})v_Who|vWe`4*Yzu$<*oa+ldeAT+&IuW#R2nOA9dN?XG-8Vk#~=RUJJ zZ2J)8S9Py7IOAd#vqcWftk?!s-- zNelh<7}+;Ac8#8)E$cmzCVNd#_*3{`Ge7yCUj-kO(We?8KI8gP*8bogRpYllP~Ero z>0|gM-(#QPNz&Bf`>w`s2R5J%d=b7S-&elr-l_QY@s%dxf0oa5qt!e8`W+Po<{w|Q z{x{;!NhE$wZ+y{-_^Zu5_n&KSnqnu$j@DC;;;-9bv0sgKxiNOYMDr2Ij$c#xJ;+rHNvu1wT`5vA0dFH#n zUEb9tpJ%=udiakk)kD%|>2?n~OJyB!0=j-5{YuV#{OfzFKJ@$od!wc2Ss4?e-)Hjmh0=Z^fyF#cEU7!wJ0tMe;-S55I%ze^Z8*5CAKX!(;#a6S^P#K=bG z;B!NBx9_e@42%fDi=(}2&e7d7;)&>)=XhpLXx?_iYm0woS}yNm-RD58FXB=4EBI_R zmM86-Q?Tc{WpB@Ay=WwUI-MVxJThX=@v$Xxo_PC+$Q<6~`cFUb2?r(w!0QL5(neo^ zcPY;Na`p(lgL4POoDgpuXU{;p)(V zzaCQlm7K2xz7if~c+0OcZ@7cLX_Y61wUp#YAI1r_f6ZyMSL>uBx7OWOBir}ccR8Hj zdy;!d@RN1)AzE*%;62&oqxak%TCjaDzsHd;zt{fEs=R%aWk2hC)}m1x|Mu?uZ!I%r z(cDMnY2&-8%RRlS?|JJxnfrd47m=?%!n5glZ)7g_^fq%2$)i5{d!g#>AEY+jeT}m} zSn@CAy|t`sq#(b1^rw;gjtsuB$ewfcjar{si@eAB2OCd=<;cI^1#lriW4gO1`c-r* zUdgC_Yct;ilTN|zn+DU*v!AV*x!8N`bz5=0HNAS6bt`@B0o7BMH`Q=b`X$mwvUZog zq9P>ymF1)ds@X#`jaUTL`Fk_V=8p+|;h!rC($`gl-WX=zGuIc42~DHzrSGT+eSvg(^8#a&d_oICRolzhhpM$9*~FAk-Z`!NW;ykwbtd)s zuaL*3Uy3?bZ zztM9yx^(ZCA>X~!ljJyv9El0mSk3(l3;oBYgJV@EE-}3Kt!m%y`_hg(@1xGUeP8FiX+xd!zLWQTAKCPd6TIUv zv1ydQ-lO_FPRt!srqA#WIx^nZS?~Q8Eln z*g5Y7GpANhdH2HfJ~4J~xEX=HnRiideb&+U=-9FEKIGkgj;-}UukN|(?D z?bnp+5;}16>Wi!&mcP=F%6^z4uXQ?~Juz+gnSR5#dwdu^0>IEbtYFP0BQ)<^HREz*_ozsEDEFK=qHpwn60DP4eVjE6 z^&OgvX>7if{7bF1IXk=`XWfanCqqd>z@qfQzu30~>|}9~!S1?dbex`0tF& ztb_HW&$#>~!zJ_|m!9`uPF=)3)0`E8WBq&6Ka^kR&@KfKV``gd}En)y^5cWqsEAUR|Q>xhdYdA@Vhkq0~IF%P}#Qu6Sg%aW%#DVfrTUgD?HhZtdn4Cn z*t+DBeM?tc(G|F`!@e1t?{VyVEB*IN^xv^I{Sx=$uA?v6jjqd%ZzqFy?!3kTsUy z!x~NX{HlUBxPK>_vI^44TjwWuPda()So7Btyz4mmi(_}(vI>=6&$p*_pCet|b3CJW zEo6L6CcVm>XVu^z^F`XMlt^AeO(T5fXfn^6bIPBbz&Y>MIcuy@twFhE>aIMRGwK~_ z6*%A(&$<8Yk$_wN6$L>xX6$w@hRT~ zt5HwWN|ug%W=B(YBuhMI{7UliJjZ^9lKD9W@}rH^Km5dvRz_ql$MTn7U|sDbvdl!s z@-rY~U-<2jndmuR|LC`xe=|43@1ivrac$(UnbTdUxRRU?D=uxYFzUe9sjz8M8?Qa{Cfw;Cc4|AB%<`bP%wU5hiU!X)(bRgSa4 zwu$H_mG>7XScP{YqsoIKrzTe|EchGrSz2{7K1k^+IUQf)6C07Oxay{Y;yza4-fNSe z5iiRkzv8MJ3tHGGQ=DQI77ySD?|%Xufx~cc6|Zp*Kk0xql{)EUx%Ugz3&FfAGOVdh zyk{*qIfuNnL(8AYZd&{FFb_WdrS;ED;J6;$zeHWmuDZ7%fpR5KCiW#4ZlL~h=Fceb zBKu6_^&)FF=Q`G!C|uog53+iYbp~>JkkNyD@QygXp&*to{0?QzMz*6WEAp{_hVR}F zAnuH(d{cc^K^}Fpi8{HJ`pAPT)qan9`3QT`bHCtU*Ok{(@OA7o-ttZRvkKnf{YUwY z<({tJN`7%^nt2C#Z=!zTOBGg8UwURA*9P|ROcmuGK$;ZNjOAzY-5;NC73Eca?>Mrl zJn&!(_wn3hp4U4~9!^;&lm02}tC%|RP_G%-^{kBDnTgo^Jbbp|Gaf@v$7%DkI4A$Q zYL3^kX5-rZNZu!1mQ>}2O4t)#0&lG(!wSm>UXoyiNAk{+s=ScS$8fyI>Sb)cgt!1D zeXQ_f^XHg0QBoBMm89_O0De`YLKALee;TsMC#`*KH)8Lz@H;1A^Qmwj5|LLnoyNPL zz=kE?*Qv{UnN!`vwS~wjd8+gDe?x~{$Sb*$s^%lt^`T_`leng~D4SP%EU6k}WJ?~D z{0!rcvH6m!(Ou+IEP*5Nv}N;Z*RuBtZ{O-W99yqp53Ou{M2xMMVCx&P^^Mqi5P!dH zeOJ|e*!i$f0&-&O;Yo0hC)lH5o@|JuiW&lh;! zTb_rEFY{j6_^-)FY2GGnTpDDPJ?A0QChp}?K0ULEYwk1sJ3oWo`;$gC{%c1j$rqO| zWmSH!7#o*7ln1?S;<-HZq<4Nnc^FxBZ&WB7TUvuHU3ks=)^T`?AC_w^5B^VYYxUW$ zc^d}ywzk}geMPGih;!%N{9E<=@RL4aeRA6uCPwjP*EO?V`|&Ja!#Q6PalsNBhzS<> zlzkV2X)6;M2M_&)&A&UZJ#6qeX88t3Ch*Hn9vsQ?C79SQ;_S7skIqYa>hXlemKtp3 zKZl%MQ?=m!f?e49`~}qoYL7=}c?*yDt_vLfx))j-=S#eWi`j2>bfvfOW8|qi$Ud`q zUdox8ek|fGY6MO4fEBNWlfCY z&unZ%N78fi4^kQyz@H1Emt&6v8}H#+l~;M5Ce+c_AxAELW)_zoH7r-Yw*(cPDju(RE5BIjFUP!YR9U}d+$fPP?W$T@Ao*IQ6ZFxFE?UvU2Kvv#a3@>Q!`+l+H~s8kbRf>3 z^vRyh@>cZFiXL{+E{+iQkAg;9(M2n|Xhj#T=t8#V+RJ1gJ}lYAL}J~Er}uU06P=)A zo2SQI`bKPaBl=JB1q-$3YcKD6B`sJujdl4}y%RYnvHtYW=)I3OA^i;U>3vDdJmp7t zcT#$=@GxcA$Ud7r{EmIi5}r>_PG(Hz`43*T*w^MQKSEhc#smx6SYkLnF0EmY)i1rx zN=knY`#wzhRYu~_m$y;IdC0Rzdw41T8Pd%ojnbQZDF0k!F?G%J#DqvcW%WsyE{u-Q zL7!#b@>A&J8X-wKpl%eiWe(%DFw-0`4}EvvV(^Ie*A(w3ZUxuHbuZqc z{Vx>-bHEXa@VIl~Zws@rzq))5_lk90_nSD@?-a2w_-Xyd#gYqYr^1qoY35+b&`-gM z-=I8o{8n=;?6`4h3K(#7fiULRg(;Cwxl=~=`k8=4a%X-ZZ=FbT6J(O}`%x96=9D_3%dqX<6$KKR-oVgCUFM%_|syoKt za6HaTwQ(kOX>ca>msejAvN0t0s55Y8SkHko!@3U640mA2G#6)v8H2;%Oq1qTY#}ZU zc94f17@SG{I5<;de+Zn}?K2L}45yH0EI)%Y>*MovaAp{sY4S+#ejvoWCCt1fj7=Mysdc4paAqi#zPlY~^8PEtnPCTKf{P8#41qJl z7r~ifwSkM`Ok~)|Pr4A!T-Y7XbZlQ3Q?_sLCjT*56P(!vYlg6SVa7pzHr7_5o@_tnd$;;^Q%bFe1%Vz6d74)57m)7bg1$;ZK(@o9uL$=ku2 zVFzo5H*w8<2CNzXjEyyoo&VaA>20Nt#kn@t41+b1Ee>n)4zMQa!J0AmY^?cr*wa;G zO>FLWg*BV8mkEOm)(ojFf;B_Jn6nudHO}!p@p9o#Va~;TZ&sL7SW}p@YG*~L6}&l| zG{T&%U`}BM8+WFDCfq51&xhrg#+@JZvQC+?7aS=J`3X4vTCiD9*i-ma*isnOj%%Gn zTx(y$^w+)|aj~cLaEN^{=fIoe!5$j(gKsPi!SQ~g1<|sB6{Q+1s00xzQghMBRLqDbt;W>jt(;})*;m{oX zZW(;j=2Ui$|sVU5pvBy>s9&gSo(lJ>k;4OW;!C$WQSK!n4N2N84T$XCE=@HV~c(h-- z!J%NQHqz}`nr7qCuLk)xOdo?=g+(8uY)8Ph>0aj+?!mjU6}lBoEnxsl(%r|X)vvHV{`{jy=hrm`Dt*fu&nG=c(pT5 zZC*Lq;MC*KPiYWNJ@Mn)8-!EEi4$kI$M)6o?BTa)n7 zmf%NBuBr;9f|)dCk3`O6?BUGKE)AqI#9bh{x!6PL z53>r!ZmB59t*;2-6AdZ7e3@O+@60OrCHW}-cNu$?e;a9k$-didoc}gwP~cti-%I{K zBHcT@??>GGMb5y$Hm+~Yxs^HM0N$NeUV4DM=wtRWPLnn)jI6wV%r)WW*t~ArUs0gE zZX?fb^Eya5nkmN_eEGD4dDzsCk^gzh(m8M8>+bR%)I;9$u)o3Nl}uiw3Ex_8%Q;wb zaxE^eEsmU|?@rEn)Sc=98N*xAm#G)@(?!q7|2*|w%DYt$nnwz^EB!#;+a*2uYQKZ} zD&ctb4Z`tNj;}b4c9sq&U%uG+^fmIq#`YZ}kx6~W2-PQjhHPlJpZ)yUp>TUKxRm*& z!Svdrto}mxi@~PyBMaY~bMSmG=f3)rjr1q-Ek766p9uGZ^&Q-w#QlzUjf$BAj5c$C zcTNBDN`vMBuCH11;|%&0`V{6Aw!gU-GOK)=3+$ym$>)5;UlNetS$&!Df#Z*4Aya)$ zcme6<51*fB)v<3T3gU{NTLwv`K z|M!JfB3r9}QlOUib)HW=OMf$w`!k6LZqF+gcASHo*KvPm)xyv)(#)Vga?^J7M_S7n z74lGb__xD5DeHK@Cy>p%Jk)82uRA{!yRP#Qx|2=0a}fOB;m31Q0$aKMWKRFUV)}-v zoIK+*-bdZsf(_+iV^yTthmGC3h4cD~&@I@Mp40kIm*(+B>#$m+LmSYGI z>SglB&+nAy`jE=2`IlSf{@m~STz+WJjrfab-s1%|^NeB6I~pcw98EittW#EoH^dfQfFP@2c-=s@marN`o_zfpY=w+ zZ}1-J@MCm)&RH9f-U`ui?Am~-gPnyD>7TubPyCj(0efvFfps-|ZQv9BH9wQ=&98?G zK1J6p=;s#ZW15SNEgxv+VIS`7n1?kppY_mR_!SqCKBJlWTQ>U9e6DptWoQNcj-S3u z*x6hMe+T`3=4wMWA7sy={P(f*wdS<$=WDNHM<-&}4qixYxE&q(nX8?o-jv_*@?i91 z;!rg)KhxYz`q5f}bkw}kYW(0|QW_4gBu1aJcEFxgXU@jj0mrX`y&v|mcEDWkMdocg znYXv~_Ms=U#(;fwx5iMzcNGTHHfpI$&F7xy_koVV0~`4N4fC-h%%@iRlLK|k z*EB}HGKd(b{t@XvsIi2;2a4i^B^WhC@ztlr5 zWg3xV&xdv)B94PC+$DfzAi%9?nP$VsOq2( zcv*R#p$?U2ALhHY{@nCa%qbsZo~io#3iV>*0<%qO#H`RFaJJ@V7v;_{|9Xz`Xl^~vWiaQO zZ57PjZ*#r0-Z7tdi_35m_*9r~F6aBfXUWVJOPL>y;rvC)@vp4CmBJgjp5s!mt}tII zb2yi0P=- zBv6h7$}kE3Kmsz)Mpk$RTGJ@dvEm2V+?neOz*`P?CcnUgY%`ckdXO&`V=)&ilpg{7 zV|Y%n+?gusjxo8QYD-t{Ociy*nuc(b=5U2tS5RIZ>lNPeD(YQW4Lqc|nMu=`J5$wc zuW3|Kzne%iIn656Gn=S?=3L!AGdbzf+?mN`j~y@$zP=Uh%Cpq_DTR58qhem^GBQ;L^Mm%OT6<{nBkI{Et%b8a5cl{=&)Z z=PXUI!nu^OlzEcQHQ#B2OVfs(l`Iua8%_;aSYw^IFoshD9=!v9yysbM~0I5ptfKPab$ah!3n?;K${#xn7ig*C-pHhdaz(M9<*;3C7P z0mF#*QVhPF1O5fFE2zE>67_1rYz?!M?SQ9^p{DL;tOz#G3W^8u-fCg*w z-YenL%n{~fu2}=#wD~mmIDDF$7*}sB@KGio<(Y+_&+u$0!+J-4AM(%Oy3Xx!S8ES8 z_O$slHuhZ6J@yQ{{yo)S2lh-YH`sH(gFW#J#qwz!>}hxgT0d~GXB?l#!JZf8)5Kv< z;X)gG8lHjt{e~;k6wj4$u;)ejG!FJOzIx?h_%!Hn6ZP0Fp9bt1%cs#;cBQy8&M%Mb z^2?Wib>x>9#*?0zgW33wG6~I z<=NQy^Wr=k8-HFN&&I}|f0R5M@aGl>f9}61{>0DwyX4ta^|}Pl1}rK*wtRfTp@wGz z4!vrg&1GQGE8y8|>CCf?x!8R_&vk}L} z#j%&gvjMvro(^!36|cwmeEFW(Nbzjg zQ}tXgn`5Kzb#%tJm&38qST1}kf2ue(uT|Y+<66q;Vq3?TROtAU3`bmJxy!McO*tOX zw*&CA&uHh^z^g&`JMb}js`6rdtRpVUvAGF<@crn=<=8xczT7odmt&K=)8^RZ{_yfR zHo4Enb8M8q%dvR?j2z21`6lms2VTrKS(ojOZ<2eagJVP5c8<-1;8*;(ad};eW0QN( z=Gf#O$SRnJ-IRi{A3Rl2Fb{0mId5U^SUKIi;m>p{XKB*s$FV8(T7{|yWDMVrzQmb% zAZDH4trvW_h4ZLy{I{3KvB92WIW{Q{w%43eYZ%O9+kMJ=@Xx-EU-k{hrwr%D_-M1> zdAfV+bCJ>I+@uggQ@H+cJLhJk&A9-{#!tKK+XEH;Z#)&SN+?;t9E&o9CVN zsKb7(S;cd1lBu_jcfq*=jo6382(LCMEsjWRriHr`xhVOWnLYkZwfQ- z4zFi^?cUdX;}B(QKX>>yx;C6LiVx`C>*%XG_%|)I=R=fpMlAov%u7b%7r!|FW-+>a z96rbW=(Rf@%~kPl(CJz7J4)W--{>8ic!&5mYKP*?s9n0;5%F(g+hrVQ23@)Qn`PpW zFn>~B4^ZA)$ya$@HU9=3Ek=$i@)4&+->ZLs_E1IJ>HMw%J-llm&%6D6oZO!?|HhSb z8Tyl~i+kYTEJiO?=*ce6)$wmmFh7go->m*a^KZ_lUW9+c98L2xac5lK%oX!*n3oy; z4ICc%P+cBRtZ(>pP&;opp-ZPZeipNW4%S+AOZ!(7ksZz$7c z@o&)QXX4*b51$ABM*Nz#9=JD}gT`@hm}iQ6qrRb?dm}!U!@ZGj_w(T2xciRvo!s3f zc1=eN5A8iRdyc`L@~dlYqgZo8{&#av`-$~0euBNv*i)|grrC!)JXoMT$Gi34#5Mg+ zWtsiPZtR*|u-ja)>uKhSZVa2(xpo(G#>A>c1z+c1`-_hun_}49%iI#ISa_%YS#J>r z)VfGNEBTES^xf0M|!qBrtQTpNGhXy(MarnodCMg;l4zCdd}TJI^Y8bgd5 zzKPCvjkQK{1a6*U*-XP9X!shuCzgA2hvWNgq8=_5w?=Cr-!XA(7QwISh+9+3I)=WB zn1H-9k%{jM^POi;xtF=K_8IG%7df-xBA9g$lk2)SPsp;dN?%H(_}AmFDH$-w{dBxuRPN1qprlAnM~gHx&u7h{oLc)zGgT)%v+SM z{T}t|a&6pe+EcuVG*y&EX~8n>>9tRIlk#`cxZIjsxh8BAE7N42AHe%koaez`g=0qt z4g%xbv{)Y6v(%Bq*;=`aXr5As!{Tk)mq`Z(_Y5T{f2Ybt=wg2~J@>05AbFOFm^B*U7 z74d8woBp+v$J^L+e40Qgo4WdYY^d{|Vb(HCd>Xhkf3Wy8mGpmOleLynT_DUlpExyY zf8E8WY2Pc1?uBVhY#L(Gw8y4_TYfac8pp`s700G|8~yaSXE7!=4ZM=o0oviuk+CzE zM(aX~K@-bC4>I9GYEKvkN-!4cR8*cTaHc8nT}7&R@#sELiM)J%+;l}YevsDmWd zA)cpyN%&Bl$;9+J;?n5-tBG499`+CESNeGSvY$6Gy_Q%qk~@L8HuCi-{){-5we00R zZRGBgzM2>}ZQ^PxEppcqp9U^BIIfS`&$}@V?l;efQ#70RYaj3_>a-7B@jCYM&gT9` z{#Czvzsf3k`YiL5^X;1Qlk7!S-Y1BOBmHO(vh;ceeJMVT;`_)J6}LzB_e0qPF>2m- zW7Lehy+QST!iiB+jg5;}dJ^vTXNpn7{NKfi_#ykw0h<{f4VXh%QQxc;R%E;igB8Oz zRwO13*9=yi6f`kmgclRtbm{DV_u%aDjW|YR} z0)rXB8ya_o9bMcg%qaOxj2f_*I5mtHF-cDL63PXFLa+JhU9#=(`e z0pUuug-hZ}+Cn$DGISNV(#Qm^3`wqTa3!*UE3tdwTjovSi{eVh=52p=pUa9#WALT% zXS?wazYebKf-S=iwuGP6dhreuW83tR1 z;a%JDWjd#^v1Qo7mSM0Zwit&k!w$9-2JN_KV@tyiYfo=uOSm%zTZX}w9qDas$vuND z#qkb+4{T-`C#9 zW^m=&1mVgB%z0|2&F*c-rfUT^YOGT%8umqogfq7(1`YmGmuFpt{+pjC-k~Rf@tPPU zU`+KfiiaqCDV$nW5)8TATkVB3v27gAjT-|ok8$&Osk7Jd`O=2t>_xj=j?BNJKNn}7 zh>1r7PsYTf5%!$!ON+!|O~xu4gL*fYD?SUjQ{U7+$lAD#H8b1yJsSQtSW~(QR#%3` z6Ej9JYFfY`8uKm6J-&KDNZ3=cYC6ZF2@=~xm{ZtOV}Ok@2N4&MI5ZCaR9u>x(qQNl zeP@w0?XeNTDq}8&KZ%hjtYI*yZ*qflaRSVtm^8wiibXRTtSJog7gGm6Bg|PF7mp^R zJs!RQnOdL6j)Xh+G9D-_jIfHke^7fjZz7hANlzIJ z=Z5;5#5LjUNpNT$O$&yFO@%+j4L^QMT7&Vcf=_oXCmlM_UO=#FSeWw(-UmiyZ0MJ6 zbO1&b29>NE*{>)JYU6g|(3IMERBcvxRQ4)d+Z`@dOd8q5$sgD;Y2JUqj!Cl$Ecf8W z=69EhNy8l5#ifQT(;1g?U$`^{8_}3IlKwJLF=)USinE~g+TDJ8&t(i&HGWOT<}Q9s zeMdzcnLIG*Jg{kB+O_d(!j(DBHTgBgmk~x4K9!Ht;8Og82A6{8giGb)6fPA`J%b;z z-JdCW!Fa@?38gwRk3im^vSu(cyCfjo>&l#DrMwZ3U8@R=-?O+ozh?>`1t>DeEuZv-!y z(BQ_Q`6WIZ@q6|%ZVS7%R=Hzu-PkH?i9t%F7Qg}JPAkALM#!ozvZJfL7y6rrX1Efb^rSM;PSE1%l z_+L%>vEA`X&JcqJ`4rRPV)@R)#-2xxc?s}OoP33)CC5O{JIgT-ENo)J@SMucv*8~h zhp@HL1+ws5ye=q@^g5^~UGVO~>NclTC(*r-^{}(xb z)-|3F@=c4u>gsod)h{~+4Kk{a7(p3!xAR~+#hxLJ`U%|^e&^d3?fu3^#hRfk&&Bl{ zPK?O}e8pgS?U~=LJ@eo%VSD%7j&svB_RPPT{^XU0eEJR(e?~Zgy(Gtt5BV*}hkRei z^&cxg?aS0Vl&50P$cL=B=d}Hh;_lG5gcbXoz9pR0sXTD+LdniG@pIf5G|5)#8*aa1 zuchFRrc8?E>Xw1^lTa~p1NYo6)99FZI`)3kME0;8!S8JQpNWxydkdbM0ZS#qwNcntn&~iR+E8TJc@oI5e7L zus1Z6gPzC3kFn#<#K*mi-4lJ5HmI1FM`@4edH>7&i$`*ncdKoRN1}Eb%Snmt1LC+H z)Z1C?>nLqRF)l?x>O##zwj2?ub#V=w%g@7<~v)FP4oDR=8vs%U%qpPOEM;; zy!8&vhm`*S&b#E#oGCsA%nc#wMfoUp3}rQ3pl!&;^R})iN37lla^9`3u!9uxp>Hev zQ~p_t3g1HCvu<)_ z--3QzU%z72Xuj1c=1f?=e$BbE{Z^ovd99cJBj^vB`JF{S?SThu=2_rv=3NDfyQi2m znsQbs`#h{8#!UP?Y+*O? zWlCb=%cw7&!1|^e7qr%wWa7(c9wuI*;(e~9-DwW?XcckjnZGE;jOHkcN%AOdua>!& z)(18cx5e$tWq0C4JPHOk^DWKEs^=C6*G91`*=J94FvS_2OkB`*pSb46vZtP6*ArJ} zg~hr6^{LpO&+%Ky@doB(&%xi+{H)F2C$RcVMZp3UH=ubPb3fJ+n6oL?3p&|Aek$8diW9><&FiKy zUz46p%oy^u^SLQ~|FAxRKJ@E~-BQaO?iA_Wxt`{R(o3HlV%aEu40>-R7R_VW-7W`T zKjyzN-JRM>!LCr(|4-9yC|XRU913*H%Uxe)7~DP<1E0sD8CZvB5u_GT2-fcmC+EVJNo# z#pZ|NMEAJ<*J*y(6UW7HTkuWK!QYHu)9^ud)8A{ZrGGGYVI03DfxQ*twQOk-__$^>C=6N^pBjzZwE4IvY$eM(l8{hz_e)T@yDK}N-qc?}tT$f*Ba z*!L_rU5fYQW8Prz@14h*T@3F9+3YwnSIB$eeV5I9K@Y;zwyisB6Ue$x*O2vXY;zxV z-M$WiOa_C4*W0hzYZHHP-b)kMPJZ%VfXyzthnIDM-_;&o@m?N0|4~=o3mCU^3>m|F z(cWG9nJePGfVE@SH8yqgO{UA`y~N_-tL44KW8ur-y?{Lo?*;s7crRcD@xL#N_X6e- zPo|yw0xlBwr3>B#qjbl6p}brEXn8N_B{rVS74u%uMJ$IqcJ3ss>*Cw))*Hlo`RRXu zbalKJ{;kz)-8w?4CaPgzzya=N)?*TuC<2Ww~;79y_;-|!MUOM5(!!bDW6yu?bCFKJY zmK2TzLxzMUV=<)gqs@J}0epFVfx(f;C>$v~>0(L4bz$x$oEy9DZ{tbvUfS`b!+QZ! zw)0*tfh(Q$|IYhtPtt!XW=0bjcCGupPsYgZzRRS2w!K(Gkbh6}zs~qlK0NWKH=yI^ z-~!kfGc^`tI?oxL>2O{yiZu=AC6D>sML91v)->FJvAo-0JA7LmxDH;-76(t-SkvJK z*fCrT)hPuIcBRdHd!rtQ8=2cK#zJq;fILvdjY2c|o$iVr{-@UnR@ zHh%5k!F0l{2Munuc`zRU|AY%8EFm7u_Zhce!uOek?@<0v#fy;-RNrV4hQ%*s ze4vUOBh0E;G4g@>kXP7sqQR|IX3d(oh~Y!TaB$bGwO;+2e^|PBFthNfPXx;n-=WY4 zk7Oc#$BFP@6bG>*-u4LMbi;$O65D;Fd+rjN)Fiu3X@yTwcnwlX8d$vkM-KcxvpI3Lj)W+Fk#UAH9PIGsf%-+-Z0)o&Bc6 z@S%2%6(b&uV#LJqVD1N}ievFh-uD3Si{)5+ll0Mt*h0oB0Lr+spI!^ArE%0nXiZRhI{&STf?l9!CtctC0 zv3yI@h{J*$rAe2^gDLeoaa*WEm78b7-xPNR*`?P9SrZ=ESr?Q?di}ldV8HLOJeU;P ziFhzq9VZ6a6(42VtaX$K=NJJ#8_4Pn+S< zC!6)x*U&{Q$E9;z7=3FIpLO^V`cEI_+(kKeJJ;58EtZ$}h*L(zskD9C^V{>5pIiKx zVdz@lZ))eqn0ZI8nS)%6AG4VDDqh7|-mNxkVz$tJV|f~}eM20lg*rP+dpwHGE#v3% zW9Z{PJ3odxa``cfkxM+3`;oB=4+WdKDt-+5xu0?>2FykC$4Y};B>=}0iSn@ z33K)Q7_hnF$7sEvOnYVF$AIg*<;PrnZnpZ5iXVfn6a(fk^A^Pg`Aqy6^wHg#!PW3% z8b4SUnrz_^ipqIKg7JN=ss)F@Y&YXBZJpwuFbF(?PJZTf@?vpwQ((rYwUHKUbN6!be!{wDr?bE z{d=rM3D*W68V?VoXtuTJ7}qXXsj(@;Xh01 zxmRyl(^==;V%1y0``^QIr3m(+_Ch%9jsiNS#;Dc z+hk8-pvtnw7PVT7cJ!spTrVY^%9uqy%_-v_noph;-1jhlELvsjQ1^`7U*;ayqMNCeNZ1k`I|?BL{mjjqIlW>pjMnB$xD%4cAchr*t}2e!9K`Ubx;foZ}fBE4}2` zyR84RW!H1&-8b9MwQ_F-$L(_Pt~fb#&($F^%BG84Ic|!PgX4BNZsZx~Ju^5qGVz`r z?C;C|Xj0VQr{?Jy*L|gNhxPZjsqIV}a`!_ssQ0yftVPz1YoBiNRlIBLJ5&;V2U{}7 z$p03{Md&)e-ZRzIWiRSf?GHODj1SPldz9U^Bh^t)Z299@(wBLoERuAXgYATNYIl9ViwWeN3pe$;G zRo0@)r@oTkHehY$N)K)DKhPaIPuWp(VBh%qGbznG&ZG=!K9e$H$J38n*0{V)o~c=h z^lxg9==T`*G}*a!d$KiskChgft9;(E^Lf0f=0HmCb!Sq(&~zpx$29GBS+it9Z#?1`CQ(qG8j3?<5+KNdMSD6+U?g^(_>|L z3>lJ;Aqg3hkYNXTU{^+l$B|#>s3Jbc#cY0E|jI~*PSn`GblbV@Y&wsk=( zU?tQ{v%K}+D6*{T=2UC?D%NIot=VH=^HZib>C-K5$F(NjW%;eXdPc{pmq$G{(+-Ve(A$DLr!BS{(f~c}RB4$)kp~WXYT8Q;Y{E-G7w2 z?QpdfERN1PZ`$N)YilrC=^lSHG5Xi;aY1SHZufZ7gy>&ztan?xN~6==f|UP=8W_g;TyCAvta{@RA`d^-7b*LtX=e^ni@_i?&g50>f%*<kZ@I9J&Yf6wBa@{cZw{uAZ*V0$~Le-F0jq5iXZujg#?ZSv7t=)rx*jE^pu=dD%6 z(H!J$ek8->Tc6QU-+p9j*R!!3-ZQy0T5IyM>#2q`C#ff+cT*QuwI91`UfIj!XO30( z&b@V~ocI3KglGcq^;?ro{RSzs?IA`ITj2ydT47&^b?8ja5t__t!oa=`AKCc`zP7><%>L?>N_r6m_FXBX`IEkC~Fg} zzA12jPf6#DW8`_Df_N8q(2wdok=Q2XC)n!@IqAWqt|0Y~$Z^U$8MDH5ffV zioF@5y;J|H>C2I#(bl4GHr*EaUrl2pRRgT)=g{XTzNF2;6l}~tqRyH;qkw+5kNW4$?7C$_wt|-}B1dnz4B+}zYTwS{=t8P|;zwY4#Ys-X$QFX;X zB1RoDS?FW@tn+KO{Pv?YmYx_yJ|EYty zb&G$PQ+L?Dc8Y7Kp1S!9b&C%UsZ*@}t(?ECYtIg@Tl_@7I$_p#kkMRw*i*N7!k6pb zb*{ZF*}Vm%ySYvngmhcDw&kfa!^tnJ?oIpJey;6*D(4!mrPl4WubtxBsi(Y2JZshM zjJ?+H=DNlG#?<{EuC;iBjaJE%2a+ZR8>IlI5OD$8h@Vv{jz8)0 z)2*o!e8I-a=x0)LO{0Y$cLKk6y$O+R{Fc1tkNo3nIguhyN_E>U!KnJg>}#y4Md{We ze7^mHJV!jEzS&JRne;P#v#e{Yv+0i{gWg+A-g>8Gkqj+9PuXE#Vwq$yGWf0yoYh|9 zSrZzf)e{>&T|BAb{HP$`1mC+!_N{!BR?o-gr@T~-qq)8EYn-wi&Al^U^2>KFx%n=M zDbGLZn6ka=wJ4Jn(Y~f4%KP6)b1h}l|A*!O8~J4GzQAj=ciH;? z#-1NsI(Vqs!`-iqi^$%`aZUE^+P3UErJwBC%Qwoc%@eTAv$T&-vF!%JU&#(F9tg&mmZFsTaorUpsz4L~;#W#x9gdy zTuY3%Yh62&WbC@#*1fl2hd0LCb-!V>ldO2Veqs>$^^djdEl)jc)h#~oC$3%FwtnzN z+R2!ByY|v1ewc0S+GFY_bMtWOs@XSq^H11QB^w&V^>_K!`)_yN7I~24k2(Ge>f~=x0`VMS%9pCDHm2Y)-Z?gldTS#N)KX~&j^3XeEtA~6(Y;}-hs{?zm)jh^m^}N#R z*@MWZeC}p1yzJBBSho4@PJg7*IsTYq*;kP@usZPH7uw&i=k=`c!a&MkukHR0Y_O(# z8#H~)&GcC}7hTc@cQRI}ZCD z>)PP{m(>@31Dk&MOYt`N?8v&s&km2b!6)d`CtMS6gEP~3HpR6;yT3h%{hqlg-Uf5B zu+{70ZE)rgGtQ`Q{r|HK?i~`$=lkW1BME^G1A+}l8Q+C<9&gHvXw09Lu`6>uSm&^n z6e#vsXSLd(EI#-Tu?fmGY zH4DZE8xtAFhtt>I?nx{wV*dIfxT+Yul;TN_u*WYl+_IuS=l%JsgAE_}e4D5A`dOx) zxr6j;N&hDAE>5uVRlX-NQk+slJe9;q{%Wh?=ZRKdwaLE)ALVDK22#T#LK}sLxHfwJ zoPt%^8G)0eMdT=*^h{vq_kcUPhsKPGWs`0)Ht zD@uIJ&Ejkd8}2}!3zoI$JNzG9+J9&Z<7P8*PhcJO7pFg3)9mZt-tU|rs2DIj zl3kmn0Cw zGikHW8lT^io{mp6BmYo(ulyEY@BI321RDoGa(>N6yrcf!VB-LeSEL1_a8aT;R`3b9 zDt)sPmOioE3Z5yk9?L9hvQDp{+$#gY#tVLH(P;FUfGjyF)~QF>&oSXY{B_Of*2Dbt z)yng02BL>`oH!}({dXq-tsd7E;; zR)Yd9>pf=g%j@r4So1M@Xs#d)?<3yR31NM3(e%COI2-?o`~+2>UPhj?$n%h=?gV7!=_F@&_k=qcmjZEnHkV9lpg!x=1}{wXy`?=q+o)I7SI3@}#Le}T z$6l}U*s)sYSy7eAU>f#pe?ol|2eIK$B&}hcHNK%GlG1SKk<^Br8NvLPN75U1P_M#6 zE!62D>hw_hHPmgN{7UM!{^9d$go`Svga41?5$WJ3>h?M6b|-aPM7^qh_gD|N*KKm1 zUAOX)xOGdpqZ3wTQ@8z1-A<-%zewHALf^~L_de>dlDbn}9YUuEeI9JqYSer=*-9=O zt+eR)EP6UV%v*P8y_Ym;U{&Adlj}Wo@AFJ5WiCVSwGYidm*BOw)`sVApUl38Ny`(4 z)@HnsnXr3!WE0mWJ!+l97gaYKyDREzou0frWoSyTH!>gJl^3b1wa$5vWfo=MXkFWH zId*pk7<4&yr}nxWyIc4P=h)pC>bhNKWQdj5;0)~Rt^*g=Y?Hms3r5$)*jtdiMwx!2 zQ=M1a*qZt__5NY`zchSA{n>q$wb=r@o<%q6t5m-qV++E%QQErZW9Nri(Oak|@pGG~ zvl}^193E_(Ff5o~f^M>@2j8~_3{5TwHcnbPU}zflI4fgM=J2NBk?iDPRDGR?`pc$| znnN4qziiG(`#PPPBZ^ym0z*{7x=7ksmaV? z__xx7jb&C!pxR>vUhrDuru5pAIe~ZQ^FQTV%b!fqIb)B-wHtKKueZ*TJIfkeU5!0~ zDck#5%|*@+Q(wE=^tHq3Lx%A)bIZv&np>{c+;aEuj&W*p#rZYYe)!RvpJ8jVmlvp$ z7d@$F%(;X7t37EEWQ*2X-bfAO(~I8^Hk`u7UP3md|7X$`d96jO=(lFUi(BQnCQ|L` z9eMHlR)fXdO6_=Icz$SA_KwU|q5P2S>?qgjxOP*{?##X=R%j8&x_(p6-psxSvqI`W z6d&sr`hK^r|D5C5%Myl)5BTHjtbW3n3DnW6-T~DwU^`|$78Bcv@t*nPAlk#=z&6H* z|2Xy0ngpwVJETBDEO`{^i_+POj zKN2LaKz(m~E|#@*MsKz40fB?0XAT#jukQESg$s~FDQ9NyHv*wqTOFjK}5tHwAbZpmwFEH=B!TfcjgAJ|30oZ`P zecV&MSxb|L)?PO;Dm~BK;g1~l4Gj3{*B;q1Eb=(I&Ta}scA;18bE}Ed_u#-zqwj%6 z-}8*@13Si;7=3?Oz7zc<|(Pm;^99Db^e#xOF=W-LR zt)I@b8khU5MKh6g_RxtBtzdlrFP}G{YdWu&uj1ukW91Xf>zVJhykPpkvcgeKnNi=h zW!nNxnP7&pX7bsXz}g~lyfVXTy-Y+tdyX*jM zPR~SfS_5?LRjyT9*0wo!6X%m_%EuaRP0bo$E&3^Q(&g8%j+%w%hy|6V_{)T~`>B1S0soa?!b5A-_`c~?x^$~1?d;V+f zd##VyI<(i16ROwsx1ax}o*&Zj{ES4dlgE8r4-W3QzAnK|zkut_A6?iw1YIcI5TDg= zj?!{X_F!37zbtD=wcqENPG2>xUy3zA9J-Cf4r>cqbt(C~GB?#^6&&>w16RkZISx9< z@V<{$I>%c$u5pf=IIee&@#`LKa*pxoDi)T>2Vd?c>O;P~Rp5@pw8^!;#Oe%eX7@w? zvV973pKad6$YJVsW5zp~ckdk$c>vi;m&^&ZD3Du{t;jqh}Q9oOOSjhfNv`ag5M57$?8y1s+!Z~;fH>va7st`Fh*j!xHG zvI<7ERD|BYE?5{R&*`j!9q1_!os=z^A36$mJ;jrruKG{Oo?NzRL4JYo!B0pNaLRkq zDeo#zTKc!Mr<6?@u`4r;@&>XiLMJJ6+;z$u7|(Ue9Cw}a24--bGRIw~ynz*5r_6EJ zDQ{pM*C}({b;=vq!F9?Ucb)PETDVSma+FHrtA+T|v-PugZx zc1l1owxrLaw9yxCB*vP*A{2L>_WHtITn~1-PTPIqKCV}Gx=uTOVKvulI$fttzp#bt z^_{NMzF*kS^`=hOY3qvj_QEN6t+8^_?vK*$E7b0pS7^OztuMK~-D3}3+P&-Hhjr0K<7vvVS(GP1q%GKqi`hdVbyPc-c2c+O{X+yuq&~IKwN+jU)0i#)m zKW^kos~$c0(tSWW^`<&oPMrmI+xb^v1Ks7nmOdt~A7GtR{Q%!$=(dkhJI|*dI8L3b zKi-_37U;!yCN^gW(x*`GvabN`$8arJ=Ve z*`w1}{mJCFr+6|<-y+=|zp188`;Pf<4`}>Ko`bh z3-}qpC~aV&!x5|TOUuAIKd^C18+hn&B-rTpTDSch+?)ik*jisg^*!Li$ir=Eo&--tNo<5B_9F z?sKGd%i~_tGYct;*6l99vsefZCCXZg@P}V(iO62FB&%N|z8v-I7br*b54e^LUjMPx zsD7fEa>x(*`g+O>CiGCwrswT);#;|mvQ5+V)_<`YKl#@AHR>aqp1ZKM^fr&_mdPqA*5eqLlwA-#9#+&;d0FZxFgaBSaZWcpx8%_xGP(xV2~~*c<#(ltta6GwHIg>U&A$_S)H*<>+U-FmcO| zSyM+JMOH%fX!O+jgJ7d{rS#$hnDmv`_LyGt_}~)awA0r&6C+Xa5iRN_S@lW1HZ!+z z>vW%!w#7H0FgATM>8;^AGL_cC4&C(9$0~eY8c()+ZT*b-_`>w=-se8^@nyWjO>6W` z{u_8^6?*jlLr0x7W49sao!|M;erHeR(mPAhfy&iPS>TId*U4SVa*}ubEoskr?6Uj} zE{)2fd|jD7iIqP_FYbNGoIyP)&bn;QZF_$u`JcS7H5GfSx;a>Mb`?Ie$Rwi3xYaOg!>tG)3Pm?{H zc@}FifryQHf$Z@4}T*+~b zb6mr5y>nd8ag%f0#BsB8+?*Av@Fbi0i2O`y>!Y!GwI6U>OuyC9hBOB*UQ!v_nD?v9 zjZVKI|F>JteA>OrDvXeS`de?StZXzL`yKF}%DkL1fBO*|GgQ*|TI~Ni>R`SMp7Cc` zkykw#)px+>Ycnz>S1*K@BAJ94x@*_sifC@qo_|gE`S)`2U+d{ry^3-kHTkDhzewMH zsr(sB!!Ko9eS3q~Q<$F!n@sWa29x|M^D85EXL4M2+{y~|W*kn-t_XFx=jR@{J#Bn9 z_k!F5yQj_Q=3XWD!0%}*y17@wJurOQx^C{(a}OM!wxgSSP22;^r?qr*uQ@BU9epNK zH^TJE#C2=4(!d5X1ip_jBydilAdlPM#3&fr6sC^sa0UQRl-|C*He_W!roXqWb1 z-O>Kju+QPN|L1A{Q_!i~{-ygi`t@WhEA+gd{mkyUpYveMd64tUnDa``Yhuo8IIoX6 zujjle=DdmX=9u&5tWXj7eHG*1<@OJ+Q}*`$0h!%C;xyOYK7v4~?R~_Q9{Pv{Gh^Fu zTDN_~Lgp=Q8(uZ!(rq}lk62LAef~Z65zJdI)kmau(?{fE@9ML!$5uEl%TH{&`4&?!@8>@4A$5EY_k-N0O{C7~;eI9eX&0$0dbnT1ecDFqx*qP=bD#E+x}%5t zP28uAq_*^Mzd0+kh5A+>a(jCpl4|;pW2O%QV`Cd`KeCCmZaMM-iXkXX= z$&hkk^q+cC14f706`@qkdoGsFkF4WKhdwWwE=al=q(iS4O;<^}6{JJI7fn|~x^<*O z&lgQsPr4nXL*Exo*F?G&(xLZ@rfbd$6?W47Xrsf7GUhhvZNq<+c?@jX2DZ%gBnR9& z5dZxDvG?wAR#)}@|N89VGQcPZ2nfjD11d0>P?%y`Y`~6ou++iQlbzUz3W=sj7YBPY@yPVv6Kqb?Y85vXJe4np%+50nl_Ha3M zzK`$s@%#NTkNK?o`?lWez257+)*iK-{m1Oihx%dz$&Lv&jdazkUpv`c=9 z{ENs>SLLV4zk&QrRepy2wd7~3^0VY`B|l%4pC^A8`Gu3paO3v60q6WO7u%xP*Fe(=UN1^d$$qN$x^Zc5^Y&odY&i@1 z;?rHg+oBjo)tNz^8>o}dd3gTIytd9p-blIxW=MN}ar~!(8rGXCrlXQK#VR zFps;{*+HFGsZ;cIn8V%bl#)yDwX*V&rTy6prW?~u^7*{9@S17q#?%1GOn-Ez!T!oG zbLY=@QNNnLzlE-W#_z*d`Vusb+gouO|JKsCe^bqRjlg^nFsJ7({jH^O5A|kH?*{5+ zsAuWiL%n&_TT8tx^(?J>sMkWht<=j?&(gbxdK;;?i+Tm>S(^7yZwK{WrCyPGmhL^& zD7hf9HRWF`%1bWe~ zkp>+#1s#>@s-tXKin5C+OV=n%Q+5MonHpso%GOertx=YxY%68?8fAIPc2QQSQC6s} zGcBA&uQv}Ix!(MmHHf`cm5}Jg6<6a&amgaj6G-2qd_PAV4%~T&R5;9^%Zod z;v?(vg*)AO?4q6ADSOH4&i;#DKJn1HPWw)sw`rZz7<1X%ZfS61$gjwH+xl{qeqM=w zUK8JYdVQ*Mv7Yv}VUE|ML)Um6`Xpxz(xFc_PT+j$XCseAHtVr3>#;9aN67pX-m^~4 zU25ww&ui9eq~1l;OZ$4v^P2T$Q11rnWqdv6dChwBsJE7SSznKNUb9{c^|n$k@9Qzo zYu4LHy=&YEUraR(cnKb8e=Hm8C2wP$CmSnb zZcIT3rRFZRZSc7twoM~#E}~7^x4{R0*fuk0a|3NMz70P4!?u}6o3*sb`ZoCJ58I}N zHd|?v_igamAGXa#+U%lD!MDMOf7muVX!9y5k)ir*`-dK`Z>eCq0FZCWaye?)uyw&ma0iu=Ol*Owokc$DMh%P;V4V|JPU z-^QoE<>fc6uh_;$;9vZkrEjiRjK_CAl5PGhI$tpe*EN>$oSX%8gOga9Mc2Gofm8O} zUjCB!up|0S5=-+#bX3xeUev<>5^*P4;!4I5Ya)MsrjTk~wK5u2A|6L^(v9Tb{=)wC zr~J|RRQn0%{-zxBQKC=bTStDrUnReh{JWMX=iEi?$q27QllUNSZ-0|Gnvukby1P?L z=v%lbE+I~H`Ob?M64Rmh8{&d?U~}HJvTn%BZhUb?a>$E(pBLRWaslt}F$Z#uGmvA> zg)YE1zr)@GNZ5Om^G(#M^^q8x-SY1%-ZdWUsyJ80%RLRAia}FM{-20P`!g}=$s%Vi z#EYyv)-1k&IIor5#k!9FpXVORl2vaZ9@q@!uJ%^5RreFGn05vC6Vv{FqOJ3_Q*-+h z#AwYNmctnCkZjE-CYIkz=~(v|{H{BG(cg0C=rQ8bighOtTRD`wd84*SzI3N4U6*Y; zOXqZo$tNCPa(2bl=Hj^x+%qS3XX__iT)gfEJjgdO?pygCT>2QgW#+Tvh!-AaW1)M) z6J)qcT?=K_~&f?M`w0CMm{vyx}<$l?%S5`->~t2ieD7{zd-!qe(0{) z@(6mAIM+aic7M;LCl-@^Cw{k{dlJ2v2XhSZiFKo1m}S~tNcNlfBH!QT@692m<8EX$ zg$|G`U0pb(^@Th8Y`&VgHoh>vwYZ`8=I3|^;>DZ#Zf>x4PGZY*8Tg2NJy&lyGvq&X z%=5ok*Qe?4p`T(WCGQ{P+tG0tbAQMd(M0zJba&uum%O>2L$#sbU1%;=KMQG(46HTg z6lCD)E_YNHz}Ktcx#GL_j3eg!@hI1uw#v78drYoMc~eD3#cOyTe6JhFKmJWxz# z79Q+F=3n%2;0fs2PMl=|ez`?-+d(hoJ8Vp>HEJng<{BF3zd6|1~ty zJ&5V>?`33gI&|l}_LAxF&-Q;zwplUIjqpTwGgVHkPRIS!A!d8+&4W(KwQ$c;^K-`P z#?}<_ta>HrpQqkc(DVvoV0D+HSl4gM*+1x9zfLjr=-`$ZA0#UufDdXbnG5a4(ylZv z%IW+`d{AFkTRt7%r2NE=v8^lUGw@62+m>JPdcdNw6FbJYYRwk!R4>e1$GabR-hHFY zJKehx-&O&y=9P5WEMVKieA3;Uz`sW3N(tWWY3*z8+=y@J__or3z7vbgt>S=w_C7|5 z`Ia0VEzU#tFMYf+C%(XUPjljxId86KtuFJ-@~9_X)n}WfkE?n0WSB=O&7-b&y?f*p za$D7IIkohzuD_}B_4F+^W#xYX92bNRisQj`#F7wd8D6xzR`dCHvlG2gH7 zz2=$sO=Mngx&D>T^?R=89!_&Ek#B*9>b`Qfn69&+uOQl4WBCue_RjX{47gFc&LM_(|5)B6rIZb;L$6 zzh)^moi_y z_~B1u6QZ|gUSdXR4NTWff95;zZ!~jC_b0-gZuG$b#bL}`(RPmZ0|o3V8dWHz>S zBR0h^sZ0Dsb06*!D2Cz|`rq{F-lN_io*?^gTDP*hzpZ8&jFBbfEQit!Y`F&Dc?@iz08 zWy)`S&huy9f{S?hX2~h>)u-$3;Yw&E`I21ep5YqclOE*mihCE~%9CWbZI#`26*1l5 zVQsfRH@~_58f@IhRwPDErw^@%y31E6%vg3WI&L2QEFu2AM84LOB6m2h7~E%+?(OSN zqHJ*8OWeF?|M2yEzn#Ay^C!Ef1Wu~2JJGUl@_Y8LewFC2>I(`>5%{_4Jjfao@ z`AFSI$zxBf<2!=S$Meoa9-VkEx^igYbZji{WOBFZU%A6@$}HkBxHpno!aCg-nRqp^ z_`3~1AGx;=G7k;ragU;%xu<=>=EvO~lX(1o{Law)TUA$gIfrhMUJrLe_k)k%J^*}w zgf1Q2lj#6{!RheiP8PTc59V5%aN+(n9Dyf#3qkPf zj%&a{a68?lJ7bRi!b7mX4t~N#y6-N%i2^Rd16gPiF4A>>`gAnpTiBEr0@p1TuhC7* zfBNo@0{CoPF>=(V_i-N|{Gvi*>(#Uojs-LQnOiK5qnm6w_^IrJD|?UH0gl48vG9&o z)hl$tb$AzC+p2Nx@&<*w*Dt=wUJY{i%#Xv{C#K9hy?r7%jLV;7PCOQUM2lg(aT4TC zGAR59ix=2SlC!+t)LApL10P#Q30b@PE9r@{_x6Cl^cw zIo@uVZ+H9_*(isePu$~$f5Jn&)qK+ZtuUX2OZ9vbUe)u-@|F4Y3+{w)w`=Va+!+&& z^T93oA+z{q=F`F$j+#%xQFoGsV+Frq)^-hVgT&{Sa1>2kyP>w7!%w_&ct{3i6Ft)l zT>w79<@eyAwHAA!O*{*@iC5y2WK(>~NGG5_w}3@E3r;7kc+a=9cI$IlH-mcs-9t z3wUI~qn-8VUhsGvUN{^^ROla*uYU#y)m6O~;CH(1o12I1a<|5x zC;cEDF!I??vELoiqPqMGFbzYrn>*y|c{u7QqFSEzpxQuVs_u0@!^X%imTKJRqll^(}nOP50$NCK; zWhWkK6gcU*w%2lYWcEt>wef z#i{!2ZqvW;+J--IFYBZoUoO_Aw!8t|Xg_%RUF4l^znimlrYXalnj0SBE*bBltz4E^ zoH{<+eC1&GhA92=Cg&jA@0Xx?LE~i3a&#UEUx-mz2~VyZ$(xbTj^AS({7mAQ!LKKV zHN8&17Oop6+WL9$ZUL`o#Xw|YXwzuul>cpoPJzavhv+y|<^NeJ4|1{E^62<2Uwx@_ zeJU~!VK|+>am@ROTh2CP%UqL19vnS}IXK5ei;L_VGYR+hDe|B_=9F^X z9mMzuzWq18xnA}Ue0umh*IAj}ip;LXo?08^R(93>7vU#h{~_6I5nlsX((G#Ku08ICd~TM(8%O=>vc46wTI}i;@M>In+N>C=GHuL^d9JNdC4r!-fk{_9lk%u95TFX`F-kac!7NWXE*VdBDVVZ z&^t4hZ+wy(BXet=?Rz5M^B&`^!=1cIt9d?>MtAXuf_Lg$E@lvADJ^Uz$?6dExcZc;ke1c>Tz6aGVJr1C*srX@X7jP zQ^+uLOnJ9>-W4MA@Vy_+Hs?h9{}nBs2fb_2?tb`VX_u|HF@^>@8{Q&FX3g(*0Lw~b zs4Oe#M0xB*jFUm9^- zEbpSKJnPd&>8~Ufn^4Z%s2292uD((Fi;2YrpUzHn<@r#q^lthe=KG)E%CkOgl>P+x z_5bj)Ja3$CSf=m4UzXPQBN6Y}x^{(AT)Vtar&Zo1)#BX>E-URrRroHjJ&GL5XhAWV3ubYh0D);jyORT|$Yv|vnjnb5-Lpe6b zhCb2abbw!J%2NS9?28S@vaW=3r76#Za{NOZ`Xl=Rex=oafS)s+4TI4ap~#3wf|tiTjZe$A^XUTXklrul!I8H+ zy?;XP_pCv(YkqYDcR2pd*)=ASwsv2Fv$ja*4tJfDTlc;<*Y_fQcQ60`Na0<%dyi>p zmfa!$jcg9X+S$$8&BfC>H>$^0Fu-P}oYKvATWekQ>-8>^Imf{?*!d21wloi#xiK6) z<2GE8@t?)6Q$6__Z9Oy2_2Kh^4dvJ6wPx!HwtOXHxI6vK>5(&*mBKjL3ASAJ!KdIs zq28U5|Hm7h!&knGGgs_rJ5Fl6^#`u}Rbp|r|M}KNENJcCdc1viZUgxl3Qn4)R*a3$Uu3Hfv3Gv@K8Kd&`cz(2il-O=-&gly*~fkBPUq zw1@dRduhqdMZhe3G&R~hjC|CzMen`V`S>nJHp2d(Y!^-$mn+csx`Umk%T`UZpU@k3 z7B+O*4)AXyJq#O0<2{oYK6ol)7GL+WYKHTU!LUU$(5Ir|sgz}8`}{p`DMLfqKKVW= zV z$b>V49sC}2sK#iZJoScalOL=$Lz?=MSLD4WjS&s5wAqZ_%-_mc&OdTygpajR>Dx(v z&ZRe^H#O!TuXpDl=>fcv@!@Rq2f$1Dzaw9`p8TO~^Tp(;{~ZS=mtpz{HoeAwG1SXs zo6nV{V*f7Wp4q>^3-!61KGWc7 z$NWQV%s*(%p-n%aJWF|etQPhmVXO&!XZ`;5``nA$z*t%SXZ=|9uXJAWCB_Q%S5p>X zo5;6dE525N?K6C9+y@x9z&=-SiI+QmR~d65-(k#td~3`CIE676{<`y$RTjUYO<$&; z;wz4i#e|cUFOa7*l;ZC@9}*368tY|OC;Q@f%j-4dfrlNx^g@L$pLwD4l9tnmk-*0( zUPq+0j~2`;HP-JuE#IiL`3SPVgEj@?fYR z@&IQV&Ci*>ixyFDK4&0WhgK8U_g%hkPVv^k(uGS`6N9;$*ed%?%;jogrtCK{mO4Ar z@4)H&ct8F$;NPv^N0*Q4TNg7g*n{Iw>Bt<*eoVNmou2#Hr_JWfVAH`m)g1plvP_g6 z{DyG0zJ7O3X8lI^jO1@jfrETU^84^RU-q1HB)F#VdC8x&d>DRf-j*9po_tEhMevyT zodK+8wfW`V6|SpGZ!U3m_QK~DbiBPT8ZZnR8EEuKV%Y2=XK&AZ`ct2e7JlMDhWz>D z=M!f3{AV)HQmIXp4Nzdp0fTxLffvod1-_H)>11e3?-S|1Y$SQl>2$ zg3kDl=QY`d&!+xYCq54-?fYmI#t zzP-nw;g!SW!yDan^htsYyBT^mF3cQ&&K)xs&OflK5Ah=Wzp20J z$daE$E;BkSQJaM;4ycLH@+{iEI| z8@Z(gTvcCf)rPaJoMK|Gx@|#6?>9Rix{`doDXp^(#rNcq2c3Uk_1Og-_xkcs#@yYl za^1xU=l;R(UC}iz20*eulX)HS&fYBOP*Im58>+p|rPpd!n5c44z^uCzoDX~)z^FHUF;N{n$^GJC72j0PY2p({j zy8Gd#9V0I>LuW?=nUmzNW4`G9>y7Yf31xH4kl9Pd?id*%|4S&742<2|cjDN+113(d z8(o%xkzNL707sC40`}RTf4P6X8J^z!o|_hQMDS_s!X*bDgP+k!z`O8c2Ofu~k$4YZ zP9psTylp{F4D|}|H&4BLRlacEfsOp(yL#w6`0+yBaNP^yjkD>`+y%duj5WD+{OK*N zziD02aWyu|yQ#+;Vw`&%&m13S=eK;^#A#Lh;a$#<pBxr?)%r(!2=zi?_wLoa6P^ z5NJ3Y+Kz;d!#<>Q%Hgv`pAVQ}v;PR~cxP|+p4%EGj)Qg!srPZ}@2jhy{W0pkpLbm9 zC+-;8GMw`g;seBkdEhz|dJp0MAF22Doo{cQ2kuM$ZEWl5J5O&FozB>KhJEuPX-3+2 zUk;@k7p-5=F@M>z0~?uxv+K-5FC^c~nMK`}RiyVI%irODv2Mhc3^bg7pVNCSn_?c>^8 z`MAcJd}~j2%c9Ep_|(~NuHW>l{p+7Q4O@wIQ#MYDH#{4oX=i+qKK0h%we*+AW>uX$ zI!^Yl8Qpgd>t37Dc?5pZk2lBG!E#*I<2JS@rL_@!v?l6o-<=n0jRmhd*4Q#$eZm=# z&X1ei`ElKrUtY-g;CVvEY#x4DVqzTEcOM0=2mbcW^$QMz>sw>E7HZ*IOmxGw`kYeu z>g-GSD&FaEe7pzz;Fsm2cxY*w8q{qZ7cb>#s=gH?ceJ$p%pqv`+OJ5p-wnsZ(K4zxnvu$hL^HQGbj~vWUgRyvBJ-3z=kMkr z(<7bw8^z$11{3i5M@5`AZ zoU`%nZ4dn)T>if{AFLxjE@`%xlIiVc&}n0)q*7z9Q~h3Mpta-4A3@$i5QqdJLL-8A`ue~EhL z(}XL^vOZifEYr>QI>y!f)3@43$i5wmxf35tb4hgVGFGhap~iYc@ffpWWAR;@&N#E^ zuO2*+oAycBwwBv&-aP{w*6_PZwfJ)kzL#XG?kD;?xcoa_AAH^EgW;y5gx%1dG;R31 ziShSw>I=}J*lbot^OK3$jdFXi>!RcEz4Bl0h5!0z+!IMM7rE;*<)g^&bmU`tw$1Q9 zW@$*2OD)ViYS0zM;mCn82Q_{egL^H+U9)#FiQgm`CymUW_4EDf4=(?qg|G7_bnQUX zRvG|YtH02UPUJh?R=j?_&bb%eL49+>dYeBDUZ^ZXy-*g~yw#T#H+;5SX7Zo4?V3W_ zH(D!YkG9&falS0|#O>v>G~a?lZw6Udeso*8%;18T$P_)=Ek+_ zkH^#2|JBWQOyvh0m0!5c!D8!s{A@q>t}53z9yeQmY9&A5Wnr&>ms|5ZK9+XiAzod> znS;`TUulaseAT&wr4_si`KmJ^OoZIOC1L!ZsDHK>6^#4?)`Q6VHeq{Yue6C^|@|bNE4@IZ@ z{3B?mehvF|jhC1FhBWY&fJ15Y%;1PIp3)d9Z=gPKw)pyu8ncJ7%pf;6y41x6R6o$j z{ipAT{~P=M%3rx}i*F3}TaTcB+s5542%*M#-Fi@q6X4zgYzZ11c8>4VIHgR*_m zH3u8(`A<59Efv}vT>j7HJwaCSxMA)8kz4yUhyLdqox1a~*zcJJpU=DL%C|agGJ0%s zmp#?sw93hQ*tg3dBeG-P;q&LQKZ@8NMffLd+j=)g%}_Vz?OH?q)518K-;DoY&>c#n z%j`Nqy^}({5w2buo!80T9t$IRrCCw#@oUXG^>K}dWw?jM>SFxgsvB)fx5=L!UF+IL z6MT9FY4W*CYT*z*s-HZSeDE}B=EL4=JLvy+UCPwwnzY4Hb)o~Ox^dRV^4{=y>tcE4 zEw-LHcZMBL_zYZZ))`_K6Wj&Wn9(Kp+Frftth7l^O}%>ZS$!m*f`$Bu{KlnY21n#u z8l)@z{P~8S`Y}E9ldSY}zVC-M=anA&8Dsl-vB&ZgZTWz1@Sf<#>4L-P^4QTmo)?!v zbI~>H(`$YD2A^K%(;xHcFZuLRpT5hd;ictu-lvf%o7TD}UTa-uy$Wl}Jn6P+uCAFz z8EdQNLyCOO#Wep*v`fY7(7r4W=lF5X@#CcZIF~t@Qf!6g)mEhwi&G)J(3g9eizv7F zFO0QkobOYv^*I?p{z94NW5L6_W9ORY=#=|!Oquax%(d*N z!~;*8M)@H8c!K9a&P;52griMMpcVQ$@?Rza@7JNl`$=4ClpKUMt3npL?-@h8h;5+K&X-sUp zaBKoT!BkfqlbhMh*(b3J5pgB@Z;EftP5CK%DB-)>^V;K62Tv@|@J)rW_}voD;Od&b za7_%S7%UpEh&^p#1h%5zpEPLSD|nHgi1Sz3no+)Gq^-9VctaU+MZ|$Gj&@bbv=1ux z=l4)Y+#fM^$!wxae*=R|2o`)##F*BGWrASo-KDLC)AN0!Y{wuc!L|%(=E6qe;%xl~ z($+U%zwc+?JRvovILU0ce8^5^Ut8z)wWBKg+Nsa%U#~e`9B118#lxFGzDnb=ZR~@$ zm;)=H=KQAB?sI9ceePWLE*r7iYt|WJ>uf7ca=wA9m}iHpm%@)BImBOfux8z&&Xl_1NCi%(kD}LwoA<*xrwiPjmZB!7!Eo^21C{ zZ%@N7$(H5W+3?})L-2vJR23g;;(}}e%cJ5^&|Rj`RqsXGI~7cu^#hNC&+>~Rw?)1+ z&)@P==OyvApxmCgQzIRB!oJrGIu2j(!SZ}!{-oiL)|A!625G&^Xs^ltdZn?y3QF^T zH8GXaJ6e0RW@gdPpA2&x9VVS68>~1k%FX|C=lV^djQJlg`w(S!QpUVo8x_y6^KvY| zwU=lxo5wcH;D5Av>>y+nzkcHcbjO5>Y-{{UVeLZJlP9^ow3TtmK6f+C{!c%R&#K~+ znhw6211g7RHS5gsbu-}3nMuE85SHtWA++S*@X?Le0DvP(i* z<)lmF(+AC<>&I9BQWdESiHY7&7k2tZ*xSnvH8%to2`X@ur^x_TdTZA z#qB|OaYX&1TaKt->DAQ^z9{Q>7>VxCH9Ea3b`uMyp-Gf&H} z?mBOq&4-rb#d8m*g`*Z#u1%${zN}!r>onlc_I9%8}jWO)ZQW9j&mrxrmBxx{ZelG;cUr{ zGleyRGpH1HKzUq^qjM$oQC&`Z=_QrfGeP~|@9;|Q^Z#G=c%I~7e-J;g>Jt~_WC&SH zFdx%ihe*HNF8g2OQKuU%bY3Z1Jn8zItvMR{^ZC$XcDHu>9IoM9_$p6B!C9tJt?_)j zh%+z?Q#B1j`O7_&3*O1;j*AblE(s^_)qd;3g?|4d*lX{%wran%=|;QXTI=^)+?#t_ z?#EC2{nllU2Bjc7t6e%TxnoTEIg^>=+a`%e(5B0N%)=7)V{cv1eLr@n`hN)Z{WuZh zgfUI#{Z^*s%V)k@JZ65Z3XkI3a+`#QZ*S*_@8j$?&f$PB(aXt*VjI}AG#S<*_ACQt zAS<>UT55kd7nzZsDtJ9*_^*08r|-m$)Ev*^8%#Vqt78xQpVFDxE_^CAFFoHV~>+w{`U|CrhH z-v5Q>8SlUM#%M+3osDl~_}#ta5akzVnR4BTy6ud?xoBIO{XFFZh)HNG(QiAjm`$s6 zzSt@okg`_JW7&Jsz8WshSRPayL4fCcbkB!|S~{F?6m&2b@$NEXY0RhrJJ-|1-=^y-ATC?VPePDfK*dp_gr#$z0wC~8W$Jd-q)tfdSZ_&}E9{vc` zQ~glS&h@o!J{B||HQ(yt8NZXQZ~nJ+jyG*XL?5NSUrqfs!vE~0*=B2N81}}(b9}Zf zd+IG+WPrJ)^Li(j^ri3Q`MkM3 zecvuRk)9zqZ}xD$;mYLqR$1~5mmdLtidZpAqg{QEYmBukzd98Cp?**A+V4E| zEB|OH11{+e+iyId^UFJYektB&o$D{JvdQ!>{km-!F`k}>=p(bjodFkr>imZmCSNzA z?%#Tx4+a170DlkTS>Ll{<_N|sMg2$jm@YnFvx_y=)6UcnbL;+(V|fieuip9f zwZ9MbqxuiH`VBLjzbxKQ;73Cbb<}T=VQ|Xmz7pw1(Jh1g@V$dMA6@Cb#fRXhTqFF2 zQz!>7^N^PtPvbh$wvN^{jYIpe4qtdxY#n}x{%L=x`a`ac*%2N#lX2tuxw=+%#1*UY z1@$5jz;#|Gxf*Xt+=6RDetdBt4K79w_&Wqw()q_vkBVP`SB95wi;`` z{uu8H?n;=YS3D|PwNdea8rS=vyY&%+xyL>f*B0+1@A19F(KkBPr`Pzj=F4QKf5Lfn z^dVoT!PjA2%fmrF4K6l4)Tf!BHoefNnVUBKA(z%!iPC1TvGeFtf5d(TM)RuU-Ah3S z>g@2B*LGN4U|bB4h0W)eXwyiWh%(!ry@bwR%-WB+^N2M2oV8buX$`iZZ>PNv_LiH& z2N+YacV4$75BR>6&-`o&Yxh02Ud8vJw90)uJAZxKh_)8r`(0nZnC;G2wFar4VErz6 z`v1FFS>(%p>C3L3W7g?R=N8&QtI4Y0OrHL~;{tnD`L>`3Pa&;*yDkHl#!|XPdS$Q2 ziG4=s&(<9Tt+dBbJ2S(UUFF;1yKpr1Yh>up;_25(wXuAB!1vM1r?>hv`<95fT<1?_ zjEBe<-yceE&;QduHD}xIyD`$47VrB;=@h&=Y0TEJ#y{%&2z#S#E*feh{TQra-NqoV+ZeI>UB*y;d5mMbj`2%B#xHA(L0-2pV)eU>q5Sd~L%WVq z^kWojj6q(vF=F+*j1kMXbOt_qwk4iYW@A$yH`_bEhpqgSX|w4capv)O+QBy3$Bq+^1Z9i^L5wYIcG;4*<7TA~EX(rsXJ7w~(VRzrDy-wp4?N`#D zPc-cK@{AP`#~;yCWt-QIcZji(ug&%7MBtotrqhj6PW3wSW^X?-#%uS*Y@D0j9FERS zI~{O?PoMA8OGyidr4Fa8bb{cNj{TS~yTO+QdyzFKar3nuwjKBgS8(7R$i$YjcDQw+ z5x%icvbI$F#_qPt^*{3a9zSkIJ{ip)`qLUzlIgapv72mqk~zqQ>vg*Sd@6o7-AnJs|M330-o|sbF@9^iCM!aH*6 zmpzH2i|_N+ZhcnpEBA@cEB9H9^_e=mW}l0@^;w}yxlhgy%6+EKuE3eC-RFnYXB__g z*_N*_u~)Kk;&pSQ=pZ?n=4i1|x&r(obB?Y5D_?&bdl>QF!ZV38G@b7bJ@;UOJ4*Om z%4ywMim+$X{Mmj|@3j5w4C7+^%C>t@GNf@|^|tV!Ysc8wM*1477zmY7*V@UkGM(GS z`rj4t=74zoQ0U*=jt>YA^?_}t@qQS_qrAG$@_4cXWtSgnJTu*n_a(-&et*%5_Xh;S z=K~C@oxaP9wkj{U^43t!TB4X38w+X6kzd;1M7eYUbKc(HDE+J5_jS2j(f-5z>wiCI z#^!^|pYeL}>7RdwNv%$d;|m*$)PPf*&B79D|aqvYArt=__Re1J9W(#M5##-+=!=UuuCJNJ9V zhcfJ@pG^yP%RltO9_VjNT-gqeSB1D(dB;HLx+syi2vm~ zC7uq_mvQ+j&(myQ%Zsu+W$71rsmPN{m*uJG(q;aq2A1WijB}biXnJ0NZBT3;7hG9d zWz>;>+2F@4>lf}$D}P$N93N)6JnPD*gubzn%d%^Zvu!7avh!nQSywhTlr_Z4QiE-~ zQK4)^tSsxwhK91yv9h8oJ4R)a+w>4i3(Jou9X};^PNrjJPgIqep_O(!tI9I2tW4WH zY3TFnm7ec~I6SWG*P(1%MQcKOW$vK`qIw*>$Tp?KQ=*jfyPz&I#=EvE1wuI z-|EVL9xHE(m+y4tyJO|DE$SF+=8VjkM*a+c7QWO73*ViBPjl&lDjuXysMuqf6D+UF z{K%39<~5=112H4AOYXRyYn4<20Z-fud%d|Ub6husrt zo!33kfxy_<>h`FdQx+~$pq^?1RWA_n8u zX7lX*)(18y)#z*~mBsSSghpZ}%lB|yJ8UV@uU1UCF{WAj3I5wXfYmQO^jV(UBitSA z5PM$Tht=b;;4PEMT#LGF>lPf%QADd>mS*a?0hTUzkJZ@13e*z>B*TGvOp zjC9tPW!qZVpB}@v-CI*PT5~$%y8OQJ{I$w=<7@0_&_u@rKW;vZ>&I$21YGkD0oMn8 zS<=D*uVdpTHKz1Wk$DEK_Rcr!QpDlv99uqs%AVZs?X{<;UUW{n&BkKfaN-=rSePqE z&cW7hW1hE}!hqwjwcU5N?{UNow3Yaq3vE+6<4_stWcpq9+*#w-rIVaPS%1o|^4U~& zRBn`Dr)~v~hbuk?&br%yXAkiOnfQJ0OJhC)>4P&R3o$u38ywE;0f$TRv7HBe;v0IP z`VEXUv>6m(bLos7nVtuaL??X2L)mNDyo~t9x1-_K!Ntop&$7+!mqQ0=r@lY575y@o zapt-<*QgEO2>8(A+^nsalFUkuiSbYwX&VbdJa&gcMu-dPu;0i>akj&W-y3Dmi`=Wu z$zJZK(}&WptaI~Vmg(5VIGw~!@E%B8@jPIi&vFHE2$(80O>~DBIj~`(# zJ}_)x);Qgl#~%O=qpko4=os{8R=zEzmpYsxrKzVivNwLU(scS498;KY4_syaYl--tTh#*LM0+|qof!}MG0C1eoZI{bBykaR_6 zkxS*l6VZO}9QHWKW}Lr&_ci#tfI16eGRpTwqV0kjGD=w&8HLZ5R+m~@%?`Lm4^-h) zT@Fs27rJ<=&e^7IxW>CM>)vA66X_nof%e(pM!PgT2>i6N;_J0jZzlDMvuWq!mr{oH zn)L!Xcd;_`9bmGwBY!$N>Z`;o@jG&^4sZmyE0L%2MT#LB?`ZP!^ObMEU)WVAez#kG zZ}qxtmr0M#?fX9bJ`b66epP!%wf)lWe$_3iXZ@;A`8Dl9r}MB^O4u>&tYdqS=e_8? z=Xq}d+h#lZuX5*gz1M$QBc=aV(oWxD9lQxyzKOJS$Zh^xI;55FmFT?#oE?nvXB(q9 zKTzHqvAm?u)0twZH_qqjTruR0Cr>iR9yFgq7x?cd$NO*gV0qnbQa<1HA)k4e(L1in z=llFq{5SI>FFmPz`6q}Snk2nDD&0{;=S$b1YdfUB-zJ%Xw#F3x!Jh5i3EwY|r8jT} zGzwVnfS@ovh;#mdK5mET8y=Q-Ib-KICi&{KDN`3m{1KL0+S zpQJwbtxCXU>kH=>7rycG_4McGQW@XRhxz2`5b#|e!3g012&rn{PFpS?zQo20pG6&d>43p7lAKx(&D?o;s?%SzfxQde2Ze~l^);aF??6X z@V&|78_I=my!&$Is#-U|Zt9ulIN^is5;E49_JV&rmKr^EuQ^qCF7fz; z{D9{tV|a=#z+-U|tbwn6#<6%T>S;wG2_UxCf$ z0l(HGi!XRE$IJL?-fEAczo4f}>%054PkmBv20h)yr!7BIX&gEq-M{BdbpCMD@%&VN zR~P;NBKjX+w|%Q=*~{*218ixnP3}#DNx(FT-<|ViMrEYSzVI{AqcI!yt?;Bop6dKd z?9GD|_EeMjHJP?LGeP&hS9`f}>?PPoWu=po?t32J23uEtLh`mhkFMT}eD9&(cIsf0 zSeRz>9+ch?3VnojgKD*-O=$N{+U?<;vvzb}fc4M7DqA}ZoZb8a(5=gwi9P*1bW;q$ zc;M{ApM??IXAf}Nel`Dqbpy6^Wnbz242S9O>O=I`dNlnN-2T`Qb0atp)$hl<^jmcX zi+!+X0KZ{A3R&Uo)eJJZh`vkgy>&_(ZHPQ4zumM2bka51!n(NU{8E|^`DzXWA;Dj`!siovdyO)0`8Hv@9+3Idbqyt z>DKq(9HQ^KE`1+{)?R)O)!%QKD;4=Yj9kJM(=_1m^S}||YdCcAOeVOq- zr*pQjmqE5G`i}h%b7LIvpqJXLywmOz4^U72^Zje?C}R8Ld+6?4Dxxn=^kbw#jEBYt zR>2~@mg-V+^6lC)9eL4r z*pJMj%`DRL3;2ETwSFD>iP}wP|53}|#5$|8zvI5Od@S)kaH(F*oMz9P$R*ONEIsdn zX7YKc&G-KvKF{TQu9JzB)x!S3y$wb|xk zInUjNNFg`MD={~qi-Ug_?MRFFGvJT)9YNp7oJ8zRBKQ0())40U9{P^^5l&=IBNuJO zv$J-dNydxFTZw*=3H3d|zPBiu0H?^}z?hEJ(>r0Hm^PUPkUGUUdYBw4~bNL_Ail0|p*Lm;hAkMu@ zT-WX23I2!lX0Iz+^)CIvW?kq`vLGRzCz5c^r+U4!x7U@6fyr36deXFa~t|*>? zV^4lo`Rsx&wZ0YVhI0zqTRr=>OW}q3y^FNQn&R$&9q897 zv&P9zK{Ukv5?%DI`!TEmyOnn=`vUS8N931CYrG-<1H2~#-(=bo6Q9wUkG`q5Mdt+i zZZK~xhWvWIp~*1GW?$az;dhG!%Rcnr;ERPTsyBd>M6>*C_lHqsjM1-H}=0zLRVH|JDBg8uwp%p@rYH ziUtj{ZOZAPv9$UeQI#HDNz1-5z5HDv=^6P~zcjeqUo?~SU6pha9W3~)PSX9!8!GAK z2-aL*mK7;s=j@>E1~T=f>iI{%A)+Om6w zwF9!dS5&vXIo1|`dc1Arye7PnUE#r_@GjBh>;}R7bNbbP-mh!s{kj_?ef19tP{=6Jn7`%*GUMW6WywO?W zpxF1&@Quuj#)h?Z_)f*XPYU0(^>;ID|9k!T`(xw38v71+GVJ-K8z*_LZ*#u;-zXf@ zPIuYwb7SA(Y(7OTI+aGPOqy6rH?zDU!9`2xzXZW(3`q;-=Wm#`K(XaibuO?@m z9}wM}!gjGd)|^4d8u@919_GIDgKuJcBw5oIrrV^uHMdTn5A`)veNkrbmC-g~+ji~S z@{4u4u$=Bb=l^~5{QJl+dE4hP>&9)=WWdS&=L@BY!3rFrA(Xn0q^HWSUY_UnGW zm2=UYdyTR&ByeZg72@<%Yojx z7EE@&Fh=hn4<5E44}0l*W3^0}Uaj-=b^~QImZrMD*T7hsFOsur*stToj%J=?cS=@dJBly%?RR9w&c!b8 z2ND+mpEWmolpXMRi*!H@`oG1?j=k6JWv4M6OCOAiF{Z%NAh3eNPbF( zfHwiW(l1@)Dd1)Q_i8o3aY(rWh6i*M0(TKzs~J(daMust*<`o>**Y}Mc;k#@#Iep@p@}bF_jBr9bEoD z%kgw2*5mderY-I70BN6A`XqJ(>#=0(tM4@Hp4Ymqy^Lh-{`B_ZB+g%kd)Z*V20d+K zMxb#7t#v1(+k1EoGkF&;!TWf#_+PiVF^%6MZLkNjdf$Y*Ea?57`nxG{bd9eDXaQ|}*6ik%^GzQ)V*^S@iU&fGXFYyURo{O?xI znOli-$9CQ0@5i~R3auCvY0 z5+BGpap|YX(`TJOC80a8F*=w>H-5ONbK}p`*DvUc|K0l1x$%0+pQD`r-O4#PF5OA_ z9?JROtz75wobMQX2l7iuj!r|a@EO~^Y*F&6@?MqlE6(wIR_b2QxAeIDbf%Euo!`uu z@aBf`@s+Y)3pM(=h_>CvsjrN4RcxFak9M3`KXWvWaPV=EWmrfDoEOAkDVGm|X5jet z85MkI@@?;5vzJZj-YD^=BT~q(e`h3)b3Wkg`x!^ufNyz>p>B+`Vq^Txe`O5c&-hwn zjBsPT^<8FNu=n4^_YuMF+m5AvH`uwWBl=8>_51E4?bo-RsD9~VDfHL5rllF_k16f- zOG@;zh^Tm+?{s)E?9A@t2aY?UExGKb85q!(qyY2 zn{+NzIum_K9}laKY8^F=cmc(GQ~vZ!v(D~k_BgM5$vshmR+J~`99#{5eZNUd3 zogLmk*8aQ%?5T6eOL-p#vM!!l*!+8+(vy~M+%?=?sN65m8G-B%qc<$LFKg+LW~~rj z+<8p#*01o>IQDH0{2sDx(%wd3-RnqTC&YgX>Gf|buHi@a%(V0IWB`yA8T`fG;~iW%wfRiIw&8WojSlPd$f> zSuGr{?VhgieI^Fq7ynxDRgH1O(ZE+{d9W?a>0hz7**yjHd+BJ_$iva0YMduxYv^I= z?|z%izKJ>sy%_jA?I`qX_HgjU#uzN!>-FAYVH@Y@CwXg(!FJkT6SmkG^@5GD#=YI? z+e6NcsSdUj@t$hahc-uy*Q^R&Z!nMTnF@XMLq{BH?K~`T zwER?u(ks55m1&&=J*j)^^UCk&KhL;->vhCyd>;xQ-Iw}H#`*#MPu5ufRoHiSh5Zrw z^zuLk(aZPksvSU|E2O0>-S{(I%0U{SK#>*cm$o% zmp+cvPC2YB$Hpif4Xu_`V0#330&G9{Yr+;AtEZB?PBBm)0?q}tdFPsd$}>2NPQ)@4P1Px zem6$nj}Bb?0~b@&mV9X7;-b!smCtvB?k?(k>%hgCP>1ge0yt`LszjuZ{^W@9cRNH$7E-tV}$iG&22YVrGwia)X48j(Y-!^+z*ZltEYc85| zy5{#H|9I7ZSJ(VEr@1|d!8Wt!K+x6NxOw@Ypeb;O);D0AMSkqx(MIsyN`EQ~^)1Z1 z`Yz7!)@bHc66~6F&L7At0?0W}xtVjDSUK7Sz*r!7OwSDaSsfw8vEgG>=h41l- zdjiJ4@%ge{l|Rtur+t3O)2pA)e}~WC;q&W!{^>q{qt8F6_&563?^kNv7N7q|pRYI< z<zbb!*&;O0jmtWt)@AIGc`O=5Vk9_`fK3}oG+FMxK@D{86y#eurcSCj} zn`#r};w55$?Y&U&x96hN3+IFUM%=&S^Xy<=c627W^ES$zdlW}y-ML=haIVKbHRRQ~ zJp5Aj_h~uLac`0--g*@K4V_8QkG_*{^j)lT56<@7{!jas`_HYct7=18<+tj}zm4tU zsZt&{+SL^rb2G=mNA+QNmxBK$U7!2eHgtx*GktTVBye-467UPUBlW}=n^VW!f1{0O z9d5R#Kf0kgJKd*8Ri%L`)Yp4<(AfX3Z)!~T>d3x(H<3B7G3&U8`PfNSF!5%_L%C1VKSaCYrsi(U(wvNrCTyu(ZK+8|P4fsRVC0}_dy_b*w+n!aE zwld@MtPJCWF!y9XNF15F?}6U!!UOj4x?BEL`czwuEg#=F!J$1qd+-;*HR680A^uS7 zkB#SJ&l~DD>h6-{#Ei{pT|-W`$;OorsSB_CSoc$Lao# zmraAK(v#$~n&WXKwo-5s^XTp|hJ19M&8L5(`;Bva-_ZF=$xgsC25U8q5>vXf5 zL(ph!bz5lkAZ?K&$KQ*3Rrp(vEO5RO;lI||i{?6aohtP5Fml#p&t@dMhoWnjdU5&& z+8im(YS2h$Kz4uF6F)f;io9iVq26{R zU*}|X+yNgK<@R#^wugHm?Z9W_VDT|_5+kX1>FnLKGrf#b7khb|Jx?8yZ7Y)BK0GU% zcuON^so09GMec69v%JJpE|w$Fs__hG_a-&e%1TCQy=x!(1&+U{--`xS_3LR1{KYd_ z!>8a!_V={X;q9@x-F=yle^b89on7yLaK6s^($Vf|-i5Y`0gcm^SoA>i5_E~3YkFF^ zxRz+ys@?V+-OmThi$m1sd@RQr5e5{US^<^%-Z{!t(`JG#^bPOoE6KX zKk>aZ-Ot7ISVzt_ZB6vSeXWkYXa8j~Mx6L|$=QFoub5mB+i&|S5)W>5J8oy;L&Di+<$(GmAM~!nJe3l*0yQK&Vx7hja;qQi@ZHD zM0%fm>G@#KSlxq7p}hBMeT>;C>f;=1TcD3+cc6FeIRI}$SL`Zx-)SGe%ZyFcL45Z1 z!kAohdWp9&&xSYCO&c%_)!l&k{BKA0_b66fvHm*44{;Uz#!CFRMfgn&?o-2e>hXKT zi)DKj^ezZ-%A4MqZPvH!Vf{DR0lDL$iRdj{ekeZ_-^5;&_4OggC6+^aCoLV*Ks)re z)@H4%qTzeBH`ZD{H`|;~Y#}~&ynXjtbyWU}Xm_?d6S43VM(2c|Y%SSn%1b;T`yU^{ z1Z=eQ6=OJ?+OGYN`W4K2drb9&-(&2B^w8-h29{!2VV zhv*#3(e=b!fVW4UfnRN&otV4g-Bq~2vm44htMpxqXRlMw@(g&o@Jza}nrEWnA1u$R zc;nu@)Y{D+rvp9EvB%rr-sa|RjA{F<=HeXe@Jso_9@pNye6Kxb4`OrMd(x6k+0Irr zQ@mqA+!;v$`#NlV8Q#dK_!Dy`s8p z=9t`%;%zK4uD7Ef+{@BvAN5I2e3pIf8IP`zhu^)GNutZ{!7LNwu^1N7c@%KS4w^g zPhX?BFLaSzv(ZPIk2cnjZ}KhQN+Cv=wWN_Z>>^{%vVITf9Lm_koRyMK4_^PX^p58N zchLWxI7U0C%RJXSkI8GJ@Kyc5n^>9EIX%e2WACk^A+pdvCJPVp8^2xPsN!cR(;f#N zu_s}@^|J81Y%7mLy!@{rM_yho7Ej~yA{Zo3k|R5Il^n63(i>DqEo+u1u~CFm$we~RCkRvqNG%lsUBQ5DU2hjj@w ztJOy;tf9>7nbqymgK}4?-BHYkL&^N6>i&`W_o{!d|K1zZe|GN0WVqjxACwy{9D2}w|5aJk*#F1mtcGmG>nb|wlZH~U-ZI#H`@KXY`m4|_zO)NhLt;q zyAZuC`|EPb=*RjdLLPQz>GHI-9j%VP)bH7-SF&{)x0TD~8}#jqzFw%~ZAo{>AG=a> zwMp^!sxRLmvTS54^53p8Htoj>Wz!wp$i&bnt#5nRezy8(Ix@xL?4+ehFdyX9c0w`Y>8J0IBeJ7|?Qx9v`=Zn=%#P3Vq;_C2AmLyzg+ zU4T|yaJ+;4fwM!O^nQ`5{m|s9c|shZXxu1!ZZhAa_Q6h{W&W$;)|8TDY=^E%o)3XLZKFexu3hhT3$#-OFXyJyPtg0q!TYk3%-m-P+fd^|gHP) zZ)qI7(ELT0s;=&|wU0;E@S$mbX0N`<%{Atrou3Wh==WXrP4bHdtYIB>r zBbC+OqLuP-y~}UBjC+_jUgn#&KTCJcNAKv}Hhj;PKEP;p@s9Z-;s6$yw!c%I1=N|~ z_nV8#^|<$gZ)*wr)J3N49O~f%*<}jJTxn6ZO}>Q^=XIQ4wb5_+{n3(dPyF+C)`Yg` z5_FcUQ&|gQW2BKk$$aU0ug@7%^&@m$7*DcRbG)!GI)X8+%~xyOC4Sr`Zd}#|;Dw&R zkW6t;@&Gym*owYhJG3f6Q>#OutJNWUm+_z9!PFWBA5sfb+l0H-*U(tsdhh0k`|0aK z-`3sZs+@P|UZ>=g^9tR?E00lKk1^9)TMBi#xam;!rF z#>m>=RbnjOG=BN(?05bOFwJ6|!@*+V))`F|3{L?=u@xGz-dv}cp!wW?h7X5@i@AKX zv}y@=W&aDb+9){xim(Nm9SWwNX!dCjiQ z@)7u)m=|^6SDqUIN1eHBb@rg8tq9UA}teIy&eBIG3 zCz@T#nqYe6DCZ3jViJ~{?e?6^=3^%m(9g@AFHo^EuD;8+Z_cV7x=3<^54?l%I*`NP z)ai~hV<#HSacOvAc@B+>^d%h`&r3lI@oW!x9iC?nryW~vZ{E0tv#Ax0cQ(F}dD^T< z4oR`+(AuFjqY>F`pI?`ov5+$<+0Gi5^`^Whp)9VeEBTTG&Rads*U1*~G_0;u&G(tt zRPmkPg_&ge?s!n$USn8(Li3Y?`~qvdp5&yRdiuTDG;5{K7mg83i^Ok3vb9XkJ-@Aj-| zoz4D+`OY0@tEZv)AWQSC)2mh|Kws`fOIE(4Iom~Fpm%87Z5+;=Um=E*wWOmRcnf{k zRPAHg`%+e|X%*~`G5AcQc3D>8C(H zdHPAONZlFHPZ~YK7_;LthaELLz|am1!doyrPTRX_Teo7|o%1~m8R|CrIXpw}Z&dRW zI^RK@P2gR5-C|v<$iH+Ge7aM7@_e=Wio6ZT_nq*6gTup~OOV#QRi55$FWwFP&Fbdt zp33j_+@hFl%F|On-<hnY+ zc+uJ}*!}Or%hwRfgFgr!mD_|o%?11BN;Tbhw?yk!bsrj6YlqEGkFYYNv5_Hb5A`%| zsj7`|P#e9&pBAo1fFJ%K*+K(C-GI0HshLk~C*ur|Y-Wg^@3b}+H1e`-VW3Zy=jErV zf&m|bEi2TbWv}kEwD|PYmmjBQU-~Vi>aqRZ{hDxzZj4j2uLku+IdanwaFYHT==PeW zPs(rM-{0X|{gi|s<+3YCQ=V>9TJwIcgEg*m*N6T_q~U`MAtjJ{r;!o+<5=d`33CzkDZVEIQqW$FzSG%&cQoR zbE_|WoML$2Zt2tJA6;BwsjuHplV6n2Ky^}wsDp2zNE_=9P#oefuiy+C+kKRKbEY_o z_QIWYqY>OgI>=q{R~1KjylDrWbdGKD4sny<;qTlW!P#|)h5YNEU2m-`q;fNtS(|CA zx0SaV&Tf9S6;uI1`^6cBk-ZWRLUz;@R~>T3e3dtWI{D ztsi_eey+<0YHc;0U30!@ZA5=Yq_D!DL2bC<>B!pA?@x{p=Y)%jnn z?*D)0?P>a{Dw<}7=IWr6&N~0Ue&#*k*Vq+`?~*^pLtu_&dgTP)(p$d6%IY< zO!3FkTeO!?p(^I6oqS8*su&UMg#R1Pyq#WaslvH9EH@UMllK0WJM-?mX+Y(T5Y8P+ z@%TpUf#+G*gYANC)KR+Ly%*Bu{QEp?iKMe7w8tvnX_!s^eBOjlx%Y5~i{A75l+!~< zm*Xcni(P>353!S_+0b_mHb{)_vVqx8w&^#R6f0W7MzQ|!>N7U%HM`ek?`Y2mZ(|>G zDf^Y%{FHkH572ud41pe@yO67Cw(ZywO;?BgXltweOx%40BapStkMW zW7U0ThUaclpE`fRTXdLE@tsj>a*(QzRQ>-6+G)>TB zt>Jg$28?eU?|!)$mF-R7ZNr#z2Pt13r`qANI1=2dR1wYOh;W&&pj@UXeC} z!_uRwtV@0Ne4?FTQUBM)`w#m;-@bZ37>DcLcsmb&mvI74hk#2k#PsP}>BIIrtUg`q z?IiAO56E5np!8|a`fAd1Rrdisj@t8A)6V6^`l8?D8}2Ptt(~lg_Ksia`WfB!^22~b zdwJGX_nzos*4NM%bg8|z&Z=5l!<{zP+|n#`XVC}fTj^{&n~ZG^d5QG+IiB9=bloscakFO_M*jYi*TXoLMrK#NEXpf(`QuL&* z+Dz%myU~+0?B_tcU{@KQjrQ!NOv?t^lh%y(W8u;)U9>Qp*aUy^&)HMYKlGN_OJqOj zp03E-OJv{drN#x%wkJmNXk~r5#s^@%A#nleL#2&BJ5%vazj}?d7|GqtRaaxOY2tZz3?=rTGGTp|uXw&U0%eVSl`c8Z%1E0(W2NM>mqgf`JzRvv%Q^aO=XEgj=|T^P$L)m$<+eL>{7z<-kB81<)`u3`S(EG4UYr$f&rQ)kk68!Z6HE6X z7ZwM}z+^OJU8h-ISoa#M?n=>LYeInz9gZ(G`l*uEML%Kfr3?EbUN!5dx`I4w$MXmp zSBdEmOEdo5!yY;DM*sD1DSf+f|37OaI_C+0?ff_2gSC5X%%%}TP#glCGt>Mf<`UIz zc%%7*^ttAZoKsEHq|foq(sy*R-nAblO~cP}X_>aP58BFQ+R~n9>87t<+fy9Qtgm{# ze!A>2&!h6GBRzS#ow@dM=Et@4hU`c>=M*kEJFA$9<+FFv_DOHf*b(+ko6RAOIkY?D z&3?wz&aCtK+T(~npmWvI>&mxv<&aNWLd@RU_dbHsT6eGQ0YW z?h^~}XYE9%hhKI@_72;S_RqV)Pn!HK*^7pJ-qZY@rqyZ00CK%h-d>p6r9{$>!V7!+iUBIC=OZ(gWIqy(_)n z<$EV!TXe36ajZSq>~%)()c0Uttai!Mx5yM14Rg24bLnB-^Geb;Q$D+A+t+W{v%NJM zw!ITW{#?)<&`I_7I2kz!KI%Q*3k^g4$LOE6YK>pXneD&(3iTd*O&NI~P9FTNGO^X+ zLs!4{?n774;(s>($J}l0-sx;`Np?{EVCU3ENjBmhbmGPI#eUmlC$Zg6mi9k)7qPpY zN0h4%P9S#2Keqe{?xA^{J1Gt>;2x2s?7v&a-XG0#PAeLXPGdf*vbI-=K7OV6-nCI> ziS+BW=y2vB$zRadU!a#Bxk79D<*vf3%d*)?AMj5kM#mZ6gMGBmey1VYu2CE_A|k#BjF5q+L#u3QxzuBC0()aTP?^}*Mr?_KJ{*F8X+L*QX>Qg;$};Te4L1Avz? zSV``2ve&J1^`e)jUzf({+?AE2bEW2a9d_J#eZEPnF-U`?-MW zKzsX%aglNTmEu6doc`+K@R_>v1sDkM%*^7$e!m8MM6)5_tU-rr`-I)Peo(e{`S8gx&_|MtWwX`0m7a)&eRxx#IwR1kPE(pa;=l`gV%cbpq;FI5YHZ0 z21K)i)N%ZWZabaa?$I|%fyey79RC+<9zGub!D+kre`PcNPptEw{8sqC&yN}LKOHmQ zhOXZpP1lmfvZrezKQ1HxuWKSN2f)29Ge?-ryzQB>aX0=`$LIpj_1zQ6`@5fI?V;-k2nHjQ9Nwv9;?i~K+qZeO76EtC~(@WS+_gSoyxZl~L$o7@x)Oc!07z*dl-1gy>O+L8|?*{QZqa`Ro< zNx-oRe)40LXMPs?lKJpn&2_Gq{`Ry}%w@c?x2fzM4p)nTy!gZ~vayUdbVU_fBsUcY z9udF5SNjr0pVUV4ZoY@gi9Uyc?}2=u#9hYf^K0t!3(>#_L_1ICF3B6bHht^&(HR{S zPh!3$c?@N5&^e6^PsXGL^}2MQtNK9B677@n&rgSEc-$|!S2}bqG4>YyIy`-TV#-sy zXZklF8xsW2f|c;gee0otx8uD$??;G@KICJ!%8w-*rn+JGV zaq^3uSGvw5IetyU_e{tANma%@?{iEJygu?{>o+s*CAXvXjeRGq&!_hR56`-PZp&ln z<}vhk_dhxvWoHxQ6KK!m9Y<&{`CfdM2DvRVer=vPMqAnkXEs2w0qojPCw`CfA5N6t z^q<@ZEPZ&H=t3Kk%SW|8b|JR2KrCbi)0%*(2d0J+;)GXEOXJMQ5ewbMobh=L^4NQ#5RMGc5*p;IVNlod*mB=`Y1uTIm;` z&(2Xn)28rc`eXmFjpOao1uMYSuScYPZ!8Y8Ut4>lhrjjop<8;}qJa+4@Gxax&p1(8 z=61vA{O1a?zv8j*p-qpE+fz;%<<+2P*n>WJeP3>`I{VAV;CL^ArCaa2GSOd*GG=_fp31GJcmiU;knFUgcSP zs%%V>cLa2BX-m^I_rAo=bld~Z_P)!V@mLhzbsj-yqfVp!(`b{qg2mkRj4h40U#*L8 z(nM1)pk01-*V^*P^oQ=I6ilhj{U$bd(FRw>!>hKUeH*Q=+2y@!MkZ0l>iNE+sUNd@ z)rxoPTeSQ37hd&b-L{v2=WmDKmuoa%e=p=FTZR_d6fp ze=;{QxIIihe_uREzV4bAPCn1w&*skTX1>Qhl1wR%sNCncUtRUNpKpX1)JXK~hwAGN zyi2btE#_Zss~q#v5pdrZKjh%~t1pK;hCenhK85~weT@5Hz;jnGyy)eQ13h0buiwKR z?gT!x`t|jFJKD>;5WBu0V*Q2r>s;=vAg&l?&kKKVf}5*$LN~re7eSlqLTIEI!FuSq zfb|v9(JN`b<()%b`>V>^qwV{px0vttyiW2;d9{uz1q$#{+Y!QbI3_-Id##VVG0+XG#=1Vl8UjY;NfN)Fni_yI@lb>tqPV{EDT7U88cQ>I0V^?F= z`RMR$qTtKC>sjmGkD|xIvwY+LckLf?a7V|KuXAuW@M#o(MWeakcHtz&X^6Y9W7>fK4SWXvK&wZw{fg<|AiA#bGTxEemw^iOTL!!Yn^=ZO_{T`uAkQ5G-}$hd9yrEn4iEn4Znz zo82z9uXOFz33I8<@Ly*=HhCSi-szX*VszDJ-?!-!&Zb@L@A9AybgrNKBY(d3>*UH8 z(Ick!h?BBMz+$c+5{BOQH)YL2FcOQb5J#*ej1kG*;(v89%%IP!-&=zp)p&;FsyqEU+UnPjI&YEMhOpj5 z`$4v)XPfHs(<1xUh2eD?cxCjVjYG*7Ha4q||8_b0ojn5vJF;lwkv+?CgpKqz;1QJ( zy}FA=-!AM>y4EwrkB#izJ=8NF1bSr0K=42I`aadZ%4Pd*R{mb!f7+)Xa~9VICbJ`2 zFBbhh4&q0GjxydrmnzRe?{@e*h21)m+fzGv@~3@#Ici)_T8eEZ)_edy9L(G2r3JIk zht|^0ik?J?|zNAh8P8a}zgts#=#||3K5e7NcWjdqsc4gE<7Y#poiKVy)!@7qFZqebq{T zlk5Fi9rZ1{f5zeZl8+!-W?-=UDScWExQc$h1TDKopXz#Vd&KuKX!fwqBCap#n=t!( z?qCf@b2#Q+;5MvZcs&e!&uI=AMWyL)5N+4the795UNSII9=+}T5o-tCwT|%xJi3D> z_!{E3)+TGfpYEAN#%joCQD@y5Ct1GaahIMD52V8$RXlhM{3I{HZS$m{<7!KLN6nK~ zfV<{Nc2>@fF?UvO=ajlH%-9NTAjiYipS%6)339J*N8#h~&$HHRn9JhZ)z@p7=SF9~ z&c;MEb>Teus)x>ljvJ#&sj#=l?qJMbi?~_a{jw&Z12Aylw-p0(cd#D%{^vy=dyFdh+QsUYQ#@ z|L$zgup_sk>03lw(lzdefa?IXmCq~sYOJ;t!_It*Aq%tohnL-ECN7?Da}++r#7@$^ zWx$^Rca(|C5>GWA82*7D#GG_zk?@}y_yOK2KhQT?cZu@%pfEUoILSyT{yYsLIp!#J zQ{o3E?MLi>lh*50=YkKoJxXpqv!}gyeEIfYl(go($Irv|M8#vu?`7{VoUCveHFVZ-|^F|1!nWQC?^wv@k0<(Z4FqWq9A-%DDN@&$Y=i%$TDVhH#+BZb-Zm_i@Eh2j|X zc01hsJIe!4E9Uvm7sY-XJ^tIy{n(a1J(qsEV}BRVfvyM8V?)qMccL6*eUUXwzGu?5 zyQaB!`>S^Eg;w~aj=$Jd=|J(izuoC5(eXObv3uj!laVKX5wWK;Ss#sPerRiki@o0o zPvxT&m)>o0plEj2yyPbI?oH6_#=BhFB+}5s-+#0J-Xixo7eupLD0d6G8$KD&A93-R z*vDJe1lmweI2w)i%uaoKY@3UJ(1!U*nf9>hBies@gYfcw2>ygQs*NG=$m+K-+OKGC zD%;t|I19QzW*wjXE*5_>nD#{(n7}C`BPLUq10S+ru{UCC7Qfr|VT-{DCczp_-Dq*E zEwV-XHYpx7l5BOf3AlVpxcD^7ho&*#1W&g9QIBA}C{x$9NsN%Ws>+(|(N9+Po|b)s z)??wWZ$JhgUveeA(#0J!W*f$l&&|x0)TYj$1)WgZUe^hCaNlR!Y;;1Qt`knuH~CcO zvGYgig!%uG(+T~@l+U`&>jb}VW0X$tZGQ<}BmF3O9+Et3zAC+N?#t8*n_r?{pubh) z=>_00-kjUWn@_=;rg|Ye9?uzPJWk1sN56L|KOPS(%Z*P6>|?A3p;bG`+QN%}A_$>ppI-G8#AIwe=`%#gxakjA)FWN?XYj?O!iO zF4jI)d#?YSt`HrAuAn{Xy#`&O{IPTed9F>bD|k0~6kHiQRmBE3=!zU)vbrLbjZ5a% z`JiuG<#h&QJ=nBv_K2Cz_}y#jHtpcfx=o|(;cQyF{E8+v?J4#*Ts}k|zRAHGiG5(R zQk(M=XLF*X-M4PFMqoVs*&4(D8{lnnCEaw@;(=%vwoGd?npd3Z=A<@%z}HUG*)J3g z7Us=HX3YMmto9K3ddX?z?_plEG^*&^u+n=mzEF+dWGVgyep?Y+9_@Xv*&dsFtAENc zk2xz}F5dgvFu$Ib&}Q%fsv#DjxU^t+3$_oPUYzQ`>x;|=T8P)Sci~t6{)@1WAlTva zHTMZ~ChcLvUt!%-dj;J*inNv0&-ZM&<}2pon{S!Pvw4W_Y89TnA4uVo&GNBq^Zn)@ zvAxmvi{_O7?n|0?QSY1QyL!k$zTT>Qz5Y4nAE=&i9)w2|qBjoeyR>@ubH!+v_f6!l zu-DYiVG(1Joj3uW5PP!oKJwp)J=t28>fiFFpfiuR7^UPW&}p_GBhmx5*5qj*f1$3M zSd+kilpl*9lG4z83hAAF+5F-_mGu^bLHjVXjseNGKN-v8&)Q zL$Z~D!TBon_KAx$_OHIMRrzuTr|bKy?D#qnxsq*7m`6zNB+H_otzl&678$rrH%P{F z`Xki?TB~=lqPi?gPh@3Tb5VbOSz}f6h8>e~vcvi1(~*If4PT?5S=Up|;A32lhHsMX zn+x!*Ix+`eac;RF8C6VVDtk@V!e2elNL2N8si=QGmuXS>5bgb0( z>c>UqX3T~Etl#;Prh6}$Qy-tQS>wp!Q^X#$-yxOhY+c1(^7Uy;F_asSA>m=P6CTLV zC_FCsKpl^r;K90u_PT3)j)ljk!9%*T%J}MvraM194}V5h7ZVS(wX|%V5Hrfw^Kfe| zO}IvU|8RkycZU7cZBw@IuPP?WJahk_c;B3I+U`7JJru%)bsDniakB_X-7Gp};E?c!dJ5P~a5`yh4FjDDVmeUZKD% z6nKRKuTbC>3jF_$0-19G!|dlO6kY z=N|F3y|nB08f!ld`SXd{HRNlL4Rvg=_k(v7@E9*QPT7&B|rz zwe;7dmty_I;zh4_=IQ0z9+O^~{898u^IjsoX0k6x-w=Xc#GLE&>d(=OZw54_SF>_i zdT}PLKs@m!$=6jG`3mbZ&}&3{y0h}-+a8l%nfy`oO7jj!FF#IvdE2||WiFMO91UV< zRhz>8ImtPBy;=`K?uz;)4|;S*5&IOvIPh)T*wWa`%QSn(-u=Ae(K#9?w5>58-!cA} zZ^+N`WcjbjljXp;yl67~**s5t+hg)1lRt_lXp#%$aP@uv(bTu;jKT1+@LTJmFMQUYt7G4r?S~NkgT2!l z@=SNWdSvVO{5Ngg_bKe0rOwmMqP*DA(W13uxA~JJtWELj!;A3Q`2E&bqnnLa+NZaG zHL{=KbLsxP(vkQ&@Pl*GvKi7L=9fw5;~R|Smp$+~{4(r>XrVExGc`4EEZuWmgUz=y zty;GOSMwPtZ+OpkW5i(j$r!M(p56*9w|ZD!794NR!134^aOjR9`KpJZ$+lkyjx#fG zBxAtAey~>H_`t6Nhu57AG7=s2vSj3xF=QnAY7-gJ{+GOrXg@Z3v_VGlu(T*6uW3S) zmf^_CYLJmU94*So^XPDmo2;z149AiTJ%Wtn;b>7te)Q|W;q9BwC%NBY2n*FdnzdS2l=gSVQk1AJ4N2v}z zfbRM#a1VQRJ?r}Th&6PV=5e({+j}}+Tybf%Z^s+#R#kT0Gdj3wG-z@A+%iDYJUc;L;`tU7C&WTPl zA8Ai%PPDCU#(B)kwEyvNb8`ujY?;T$gmz%!le!K2DI z{}H+vy}>@46O+lL@h!XBa_%K#-^;3~{i$~J6F8jxUX`;wGQqE|-+7xXWG@l=O?OmO z(N&}Rj;55)e_O6^?)Lw<+5|_VBfsI^8_t|`G;3o=zKx`#e1X~^PGox~b#@+oVmQ9A z((j)pjeV%LSJKbvwa@MC;G{GB+LNj8PAEoXI+N$HH#7LpUD|iu1Ww6Rx<^?$j5EY4 zXZ-TxocNQC#Yd%2a(PyseCYu@+aKzO`+uH|FFi?jTzT3UohVPg-JQRTFTGE9+=Mn4 zxPC0oMOr8;TB?l6m2b!7&p!)3#vuC0e;+W^_4&dj`el4pvvzKq!u&|`+N6$XBmC4p z_R46m#lvf`k!CuF{4VJnYs1qI{6m@f(n}r|gEfp1r2(6CZ7So)S#5Pr&ITu!|M6xg zXFhvC6{%c>y;PCycKhdF?Y|hWOfou-YhC4qV?wavqrjzk9HyWrBSLWRK zK=Hdb^_1T0_hK$1Z-!*j-9_+a6kk8*1s;@Z)H=jkz2?=|Ie$#sYhRHO^M5 z4}UJf`tq^qbX+ zYx0$d{rh+J*k0Llm{ZDcJJ0V+UE${V)fG{ChFj-38DlnAwY&YkL3^V0x9N8sFn`t0dmIAX15E6?PJG;D?A0eym}^DXFCcjEw~ja%LMXl(+k+PFb&V6Sa13!Srh zpHiOsKQ|gUO8zG8W3Q~93~1b@me zU#|3pYkEqra_~iqx^ynn+DrcKOLL-Qqv`TJgG?CjxLdc{-gaWVYuc$v2Ra(PSCuTQ zPsL-=jYebH1;x2u=rMgN-)=EyXXW=KYl%IrjVjYc&$T7zt7l|GXGZdLGyZ8FKz-X+ z&olj;rFK|TF?)2c&UdKKZ}!-IZT-SqzEKptN%gEh-Z#AGk9t9@MPROz||JE%SFIX(0-#lE!< zT`*HFKX)cpIlx`IPPSE!KAY;HK6K2csB$a#9l98rP$#(@x$8szq?^=+bkmJdT{m5c zZra?UUit!UeSx+##=Zm`7t{WiXmb(o7xT`u&IYDqj(5{bq*br<<>)WjjJ#;AjeglH zZg)Lu447V0o50yrFJRFy}C(rbf@_5$yH_@Ypjv3lis)#4>dUq7= zBi0%CqB|E@lrARjklaMQn~I}#6?Z?5+s>Iz=cygDJ-}+ZjJAviw?MD)_B_V5mGn`%jI;(_CjOH)N|ynT+LJD8Lzh+M*KKlh63LhD7Gd0T{%8!HroN@q zsAIfD?)0oXT~B%%UBmc}&TzUX(RfE6Mkhx>3P$KE=mzOqbzL5$g#)P~9(Dtvif*?>8S;Yu;HK%KCQ%|Hs1P zH{Ny*=LfiB;glS$oAqgP4$Z|`U($L`n|J~}B)f)}=CN74Kct4no9Y~$T#E6eih|H{jE^KZ21POZ=eFb`MPdKp(-=3M6^N4tKTyCASj z@;N$@_2Q2G(nZN?>H<$EYk2afe<9kFAK#13T@5_=TQ$l6m&H`01YZZ)9F)Bl{jXUw zJhV<@V&h)frHGhaTh!K}HlhPPrpJnf!8yzcyKAH+D%~*o_@z90QYlKjOvGap}2Bbg}HS?5+G2V0*5h?}W&ntFO$Q0^4f7dKW&i zXkhu7c?UKH|Dzs9Oxx&h^tEL>3dj=kB-`UurJpX@ILYAVXyBuwA$@i3i{HrP<7|6o z{m#$9_q7+NlvjP!=F|IpoN1rF-|!#1n1fR<-WN|ZezJBK)+&=Lu~|)EWhf{yXmI-+^T8Q!G3)5b)uL@Q*LY)T z&{lCt`EiWh>baTz&V@D`-Mf5@ErO4C^9AW!W1BgptIIexUdvXJCO>d9caWRjp?$kQ zlK$`~jOI$${L=8(Gws?LO3M0}r`gZi+R-u3Vr8QFSAqYYN)jKAzf1#~B0b3vLD>7N7>{pRh``(z^dlvr6x6ren$0eez-uKpF8PxoVa`GE~ zPxBD^(!8Q!@1Dj6z6&;dn({~O?GsO-X~MWENUupZcl($k{Z&_#+#KCMhqa<=x0ktY zc)Y^%cm-|oEO`-s?XGq4P;(NM*PMj%h5xUwr+4x_ms!jNnKcYg7v$(r!M#;u?xVuYhU&!dg1+8V-S<^P}-?!P`sVHiDSpGgZ^~KSIzQH^C%(iIl ztJicq_h8Vrt&zc#F5UNp?3wQ#(&1NubW8Ji7!EHLMqq6T#{eqA?UXz<+JoRoe7Uk|4`QEs?gu?^tjm_1ZoHSma$jn$3G)klnK`zLdL zLFv`yU;f`dHt)yke-&N1m!dvS>o5+qK{wH~h}=m}WaX*ATGD?NJb`{@57E2O4PEW^ z-A|l73p#s)_M=%oV@HSBM5ik@XnV6>hAvl3(eR{=D$hZ$Ywg%l=`dw(PNBc(O zti1&IeR~w|tv)e2p0?$B#nb-D$J72tdOpn76n#C5p3Eb)^aGfMj(@58TK zhP?9KtJ{c4X>MuXQlqTtVY^Fc!(RD_e0(OI2Mp2gjyp^H&)?Se1?@-dD$Xbq|Jk_m;Y@iOuh7xr6#70GX@YCB&Uet3kT#!6psXV6wW&EeA)%k&B30T12tcjjx>M+Me51MJrn(LMNd&^-xt#S5K>nS4S;JkxVD`6DTgwy)Bs z3-5e6$-_Oe|HP-FlC%FMz56` zZbWN~F$r$cL)(Ir*wA#rP;m2>J?;I|%ByDByk$?!{o(kg+#fx){8!?220zvDa~-R5 ze!fos)N)02ShEmKI!~W&^JeoQ&|TDju2<_?;*;jR(%<0M#`kapzv7h0;E9F7V!7?H zISq9si(RzY1U;?_7G7`{y2b zs3z7@uTXHB`+q+~t19Kc5^QQ0~55CsU<48w_G~pG`j;4oq zl`*;SvfCASnxnx6(LnO=e6o}lZKsPC+>wlLVc-7|Jf7aM=UH2;K(@ygS$^9;sZc-HvyhdF_{6Lo@NqWJLT= z`v3;=4A0OWd=mY$ZQP)}O4J{vUy^C%^9wos5=|?A^*V1qvwDTHJMv|Fr?rs= zo>7r?D#l3-7*!_7LVRp?|9txllLcQVJ{=yychv(gbSL~ozr>=MPgh%pW1bfEdfjyz zosiN!1|GFx^a}0jTwQoRgM3HNdcWe^IP{JuonUemblk|+KX3GXkfohpJ#>qBIVfAg zdlmgiEE}8X_6PAhePru*ySJ^9k-IA}%9tV5}TMyjdtWJ>S5Bqw(8tb#1ENS18 z`m#Bs;2=Go88QA34@XZPj+xj82S?9%aI6Wq2RN8RTrXV4gNZfMR$w|Q4-;!Y!7u~FJ!aDD0Ii1}o6V%a}fn9cHfcZ@R%)mSU5FLiSs^3}BIIeEZ<2QSJ*$Lxn zSD*IN&zWd2P3OJA z|B~V`!bK;>vV?s^?uA<=k;CZo1;nxy4%L$@x*R?dKddtWAYT^mi(A~;Jp>S z_(R`cs-xaK8mH{NHbM68_w^#L8*I*p4VE6Tai!;}V~nd)@~}PF)P~-X?L*^&d9m6& zfibKx)1E9SpZ~@jf1=lvFADsjy!cas=FP@#z~v8pKZ7mk2JKxCjlaXb{$}(I{4X4a z&lkOfK2x5)B~Q2JzQ=of+ohn7@O8zPR3GU*E9Zsd%kzIHN5|4@%5wr8DW8|~X0p5d z<=|9o4W~jLr(zB#y=QUaj_~ikHHTC2wdI4?`msy-R&Z*2IXJCp4X3B>@%};J)0!Mk zde7pNaKHS@98S@!@}7Vb8;`P|KxExJ%^Ltvp5xBS8jVp4yR;R zd27Il@`uAo`c82EC1bMLI9J|J$H)SAUaAs@#dq?1(ud8p1w9@A(&H6mMwLVYC z_j&eV`qX(BXf-$Ar{-rjAAWuo;+`GN>hEg3{(tUv{0@G)%@40{p}x2EPx<;K*&XmP zK3#}!ZFc{NOKB&x@MPIqH6V zkkflYpDozkls=cVMu(dNOhLC^lG8(a_j;&TXPpOMSN`sXQjebHlj}E1W|!ap2i{&# zzLjzC-(L<+SG0!Hd3l_!$l;{-EKY^jm(TxD4kx}@c6`8z@~z;s^5x)EY7M6o^Emk! zXzHuzJ&RKboIaAnsdrBK=b!R?qI@2w;FDFIPoDbUA-#AQUoCz)_+Ql;{{M1!&IhvUq>H}!K82y2N+c+P-rZt?t6>thVh&7*9 zVEW2AQ-@3(-C3qHZr zh%FWw{hfK(n$PLKn(c!=qdOUQeok+8I9XW!ZeM=f9ap~c8n53e zKYHAa#^vTfKgPSQ=a^3wU8-1$^qS%oe4)qrTF1LsN=Ps0+^_f1Y#iN7IbiL)i(ldz zzJJDQa~wY&=pS^=y*XW@cluO3&~Pp+DxbeAhjagN<=+W7Q+_<0gAaF(@3+97Uyrk$ z$Iw~TfSbqJ&Wf0?bNbtD&*U?iGRd|t^&|`Y-4cqu%NN{x+wX}6(Y-Df&o{Z;-g@#1 zIy0%fyU1&SJ|_hk@P4n_inXWK+MvBf1$WM2jM#k8d2<7g{n#>I?a9kw^BBqGz$0Im z?;OgCL!S>d>+`YJ`utYD&&OKp^DE8zOj_&nv-v)g*804zS)T`5>vL0a=lgtiG;PED z{iV+915G+|@EIR|*&0n={Bq8(|K(_!91cEwvNRUaY>qzU`zU5?a5Br?3uNo)_)GB% ztuP?R+-(8{2;1j%< z^9l4`_X+m34=yU-{uA>F_W5|-zNpYy-m=~M1e71oCkQfdo$t5b!EgRD7u#vBp5CYS zeUFdHM-;cT-{guwZ{1BKzcyNFZEI~n?=kP;zP7t{U!O0dyB$LMyFD#JS^34fo5}W& z`|^6%IV61feQjsF-Sz?MyX(odPEIEKHQ{_4{r~<4J%fAx^s;bARVc6Zi!Sh2d+mi2 z%HRFF9F3FC^2|VEaA?JTy)p1M$OwI;@^WlWUf$Q5yc`?a4D#~6oV@6rw*4H7vxFy< zYyXhLrPx)jmb|=Bemr>zI_+0?x^dr|!KD|T7X8@KSgOLC!UtQ!<6nGxiI(0+Exn+GA6mef3O#Ar?7JfZaSb}~oxYzz4*^cg_@lfzvWr<8;@>5M*i~-?*n9HJ=JUQq`?kuYi&F} z9@-2%--f)w>vTOt@3fujwd92I?a$}*T48?qo~ylHqrAr@W7F&LGU5LN->2y`-lH!T zhv5_d#o?a>c*I|wKboCwFT}qZ+xu3iBf8|;8}xaSS8Gpu+%I`g2FB)X_K(x%JxP`vpr4d?C+OlKmB0#J`(oRhkc+ceOuDGDL=V)DB%vGGkjhmetyI6 z2_^k6H*i*{9t-S|zZ%-FvHw25@AKi`M_z5;XSlPqQKkyx;JUaOuCw3Y1lPtkJAA!j z7BA1^*ZRC(@XF`|#!z$qzHoa+7vyBVy%~Hn-=EQ0&D$Irr_F!$c@5*}*u&%e*WM`b>8EQj1Ff+{%lI~wTpks)zKZ8 z>P!A!vo&IPX1>ke_e##@^Ir5o${GhM!X?`%7f-&0_;q21_0+NF<4zMY6Uru5Ku(La+f zzS+52rA5e_?#r6Xc_+@MMT>U!6r%pi^lWv2RcCA&yKc+hza_BER zC#W{5BVAVTdJG+-vr!dv&Ri?wbzjg)8pDU$-MPJnz2AP{-CF}Mo7m0MGxAaGFc};E zV|?oRSa7z^cs&LE)d9Ry99_DdA7*3lX|>(q()+^mTcS&s@N9m>r}>Uo2WR%DaAu$L z**f>l9UbA$#m0U2FSQ@^MB2~&oSP5*aQDGj{fumN-;C3`GQ8w&wrE)Q%%evKO8@o; zJ<-rtEY?!cJ!HCz6W>U(&;>r&iD%mj$CPWYHb4H^m~Rs)Eh-*Wu56P%5&!CEj6?Z0 zzNMh&w0!ST<@+eFyXsGt%yEv>?vcTNEug!RExzYT-%6K^;ggNZ=N?zi#M*a1b>B(2 zhn)U(*MWcNmvOItxw{2f^y%4tL;ku<{v_Z6{wi$+hp zrMu`0#0L|>q`Mncj{CCHavOa)`m%C@5BeKkl2Z>We6H8o?Ca34)e)@OIv(zZIv4vo zz+iR!ouFwy9tYKFXv@QF>Chh?cvcnOYK+9(agcCMThEDNrDM@ZvOQKFa?M>RjxOB& zB>6QOagSn3qizp7=6k-;dIr{DyDg>~&}GbZ%KTYpL!G z=WIQ^u2b`bf?~36* zv9;)7?&oN`>ioS{E~(#(Yc$loxRe=nFRt3m--}CHqO$pWaaET2LAax+D4jN`Sict+ zc=6X<-ON3TFZv;U~_?`=ibdVEW|8vuG59O(Um@2h&QqwjXv zs`XwbMH`-Lr{OQIpw80bz|VB2COl+pTi?+P%J7^mbGgdE<1+Lg3vRwm(iA7V$9A2a ziS96Z`+ID4H@Dtn-D68WaJzeKHvx<2N4n8acSIpu3&1O+$ETO@H7G9{lh3^gyJPt# z?d`i4i#D5zd@q4^&T}}u3%vEc5&Oo2^g6N=XcEh2d)!TSg4_l<_VU{s);=b5Bn0y53~{=M6b!B z*BIj<@U{xRz|<$*a@exqVr8YP#%Ndf>Kcygz!6x?zd#3R4EG#f zM+TmZL!Uc6eVk7HzMUUDw6lK4#3AN@7JSVW^sDD>Q_V-S{#G~|-z`{qHs6hT0(6CT;426)Ej}U~bZ;d6 zWO0?;j0Ll7_joW1C;3R&FxI_0%Klz-?!0oim^>{gjVVveQEU#Vbu#k>bSD3UZy%N~ z04;V!Pru#hU~#uREhG>5v>-E!-Mm#YW&90uj5^dQf8FS*pSc&~Ci zi^kG#KM?PER=Vb~rfa}Er6pw>_)nRXmODrDe@t2egYZ8Dt%8ggU6+@}rYmDlvNUeF zNywODpx^)xr-kz3Vbk%i@`{P7JoBTL$}gpSo<|x_`Lxy0R^v!xop?ZXwdc)R%C0Sn z?!)j=y2Z(|cp_OA?UnChi1mEZ#sN{;9wp`Dc1JX?R#9r80m z8QMzA@N8vhgZpx<%$V{(JBN1qdx>N-vN{=k5NYgrot@6>755BtdT1#AnJt`E96ld= zWxfyib`qobG=4_E#!zW_S@v(jRU2LqEry^aKGlh#UMX7f)79Q~hi|8w4yIiElU+Ss z#C>As&A>DLRLZFh#)f@!D{4ni!#l+(gFIAMmzv9E#+N!$J`g-MI#S>6hujuj`V9B# zrnXu6y0Z;=X=r~%i|r#%*1qJ8=gto{wtoQphUlY4UZBOP(6D|NPsPoRGBgKAyEDY@ zBE)CGFWry5#h)eShpg)^Li1zw&6;J%e(-gX1->CRUA}E+bR^#>-fnkVX&iJie;Sk@ zrsoOFdqiW#wtQdi9{&-x%4FYcN=WBBJ~h&d-rh1cPNbbn&EIvhcNRXC=_=cokfkdy z;dfQyyQWv{zI_{aQDsfG-(tOAv)LMlq3@G(dEJ>j;0o|sy>*$q3@(NP<}XN%(hWZy4;>At7mo44}aWM176_M}sfm^Scl%0k~x>?GKpA-;K4pX z?>=@Lm7}TWI(;nseg;nJ|7X5`)lvLpygHBhI*(BYIIE&B^b|ikPtWWx0JihrpM$M; za``4;%hr)y63s?^<3YToZP~e|`Owqs4={_D|01~)+}vl_{xtU)qH`=pxvV&RJh+Fk zP~}~;s6NQ|c<`B#x7|tmgx$U9RFgf?<)P_rO!HioOn5rohL0NyfAs^8qkZcg-+&=Y z3&Ep(KB9~96+CK`sq%jwd3HaZTnTKf7r6UvvbKvhYS_H(f3jo0 z;_`e;!o{8#hb!REJ$##6ZOW%X{^$eVVSj@yfoJ%;jo+-k`@ch9+lLV1bh&S+;VUq2 zGvCU-kLLZXi1?dey+`swpYGj#<4EJWy)>u%-QFDUqod0Ys6WapekUCoUHFdl8%I%e zZBI0KSAE?;aZ9!R#hwA(hpza$o$bO`DBvq7j#Te^d|1xkFdCLy$AM*t`I+uLuP%jm z@MhnC;PYtwX#bAg)7feFbe8ljHu)7ECxeIhp7aXetg)Ds=!CTGz65NMhfztM7mgHqVmG=Hh^|RUz(@j!Ss6!}Ytz z>)$<5@zv!I(64l8jdn_VuG?Rf?hUcPscsBD03MPrwP`qlJ2ADH@~h+%=JRGNZ>=Av z&{1Ovn>?WSz4-a0=o0dwwa>TpUHrhFDtY>r0CzJEOXkTpKim8*^(VVd-;)1_HJ?JS zq`nwDiC*k6eXIPZ{_W7&HTY_@0?*rtsnox%=Ht`ybJ@#LV@^CoocaJh*+Kl^#~BCx z{@d^7lM$Pa<&!O-581&@%$d&f_f?(e@g?3Ue6qf+;$a3KWi2-LKE7GPxK-UxidN(^ zcBe5H9Bo@RgYRbW-Q@7y4DC9JEnQ4KedkSeQaiHQ!{Fzk)s1o8ZjdJ3sPC#B+89;X z+%c0o`7QPhyd7rSn)QD<{a;@1|6Tf~$+^5s#>VK|bm`?eSk`A?@wzm*lD0E2q;b1I zL&Z6eIq~s6#rwu7t5{}?oHQ*1-^CNEPy|0rGM;V(Z$nW+vw0VNsEuLMG+?X67Te0k$=hZWk zk*sWN^s)e7O*V34rP@q37+XocUE=6%+`V39hex(X_4_XK^02hS=`HC- z%_SB417@@B=skP(-$A=gx*6Cb_J3-QlpM?Zf{A6LJ9U1WzSHv9xDBi!4c&1>xwc>e z-(PFvp6s~%IBO{f`L@add{+Bb8~hTDWGC-n4t#*}LzJ&kzDjwu{{%Xrp&oTiZ_DSU z-rKZ)`C{fNin$Og>7?)CY+zfQkx}ZTdKVEOVUgqFI1Pb6*dq z=BYN{40+6bbFjMkXvk+Aj+;Lk*AC4!2Z<}#ymfhI-ntZ7^zmBD*Ss~G4~~{EpB3C~ z-YOcwgDUUR5f|yZrlQNm(B&I5D^=Q*|7rSKa^&e$knSNLf4P!$a1Z#^XB+=weBPHM z3*SM8Ed4pnEVf<+< zkpCX!QRh9RC-S-@)f-E@N9m1ws5i2;c(>OXeS_`i{nW1&XwEQPodO;Fw=MKt3*ldF zcVmh*r8HmrIMZ}=iPoUb0v^dxw1%~tS;&iQ3i84t`%Ke?$Z!{H=Qe-A4%B$pT6)A< zy5uF1ypUe?3l@Ml-y%Wj9h@@cgP)Y??P7B_IX>D!4Sdjct&e~9&4BRSHo$KWEDA6&Or?yjCWpU%#zN-frrg@WA$TfJ2dVTOKFUUZzv4>8^LQ65>^HP;`pgKl%Juv1CjGYQTh19+4u^j?{X@H+ zly=Z8K7b5nXb{T>*Sq)YN}|zX-sRU3ufh*LyO$WD`~%a`nf^6K`u%q_?Hh_-N1Oa- z${8&uMQ;=@8|Vd{^!>{%*>wS>oei%vR(-#-#-P!oIT|&CXTE&(3@oE)=3zLx8Lbl5 zCQgeglhyweWaG3F<8ZW&?vxy!=H-C$7L!CjZ&A!GOG|jpe8>Fd+t9~V+Ejb8rRb9{ zXuJkK^n+W|{GV(!zVxGGlrNor41SJ{ad>3=@-z4b+MBs)}O2RH|h7D!#qV}kC>+Xh<{)npgyH@(D}RCOLNQfZ!|r& z%g41?lYCA2&Py}%6s`aJ@~9lQe_s9gZ$0DxTU$|ShUL8lT-A0|nprRFb<1t+Q8M{m z7*(c-CeqKM39yOJngga|M|pnibV#O=5u*)tO;DGiK{np@e&yO0e}i9TW4}qh&BwBMiLMj) z203Xf(Epohf6TVCcC}gCOLH)*ZOKBWZP6)>wPBOxH{oY{{^2Vu5D)79;YXpZ<1M~I z$n$X6`heQQ<|oQi3=;cZ)cA!K!e@*4==1PDQl1+e^sirh{fhYn{2IT3N#j}T=I{Pb z#-Hya@-c0-8_w~JYz=1veQXlnK;r|MvhT4YU&B=&hin)t_ycM;*g%c#qHF}dqwKGZ zFKoD-(^%nftKJcpS6o=wD_d=FlCNj^pwCFhsXcE$V&XvswFggXOH0T_sgm8tAsWS; zQ83wm!TTtzQ7cZaIrAEgm1Vx)Wp(}W!0zjMZri;({T7wJLsgJ&UrRmUSt{7kf6U8f zn*ZR}DPzrD(Q}mL8(?lPr*s+bE)L`Ss)1wi!rr~2vF3fPwxMyA!b=m2FCg7VzDyxO@|Q@53jS?UhWJ-w|X28h61bH#T2e*0&Xhkg<)7!Sf@&Iq&tT ztwU#Ra+5yfcbKilPTV$`Z`rmWuf+cPY+N3Hl$wgHu0a z+n$NfY5uoRV*~%w*6{fzoQ)0dx5wJ6xE{G99UO_*GWXFha7ah-F|{%4s!m*d)il-5 z){#%0_QxIx#fjp56Q^mekS(XXA;ix(nq8Kkb-|?Q<}eos{HY2@(d77d4TIZrsa;Qw zE$_G^XV?2@m%nlABe=5BBKu-cGxLkG)=xYmS$~DV^PfZ$XCS zcLd#ATQPbq^}T|})>1>fK64Hfy)C@a#KzCt&~6l)>(ST*K%u8w3*-U5Zct-PUR$%iZ6`UK0c<~<3aiPoUy73x6EFT zYJ1y>@zlAeHf@8wT}@#OZRXla_l?k(?1Qasjf01Ll*8iTVK6+j@8mFeczoFp0xf}4 z`?7BMMJ67Q?!Bw~!CqF%ox5Ilsy)N|=w|l~%t(HRWXY$!_%YPM8i%rUtb|72+i<$EMP0Ew@vuyePO!>Q9`N1swq&<=?f0r-MI(z5)j;R=4 zdhYel!t0x^9nG%;-bzbYr?veR+CR#=tvzdhv(6i_wu9WbH2fwj%UtI^^^Na#kACry z@76D6rGIXdECjlKvyMmS-X+6seiZz(`Z!m4)$Nro3p`3Z-dT7_i%xmBl^v80&y-dA zwHca3DtpCQ&C8O$Em!uc%zI}NU=3%h8}Eb=tVQlIkk4V?9tIBC$d&JKu}S>p7gVO? zd6v)nUEfzWoq6XA34XNsH?*tg&giI1PYU!bXb;8dhEFQXKJA?WcHTP&CplSG-a}2w zllInZ`GuOG$}*c)KErvP1tO7NZavg6SHL|H7P^dueP{x{|oFziqn&>&y=p<5RvxIBiVc8 zWvuf_hf|N%(MWrmc7iRg-}h0M=_-1wHUmCV)?`~}bJQ01Rp`BnKO#H8xG^2exIFPY z*h1{3t=GkTLo!>w;KxQg_4D<##uCe}v2OT7;YXYFacL5Gq&jNX_0>n)KhkrT&Vnn= z)+2nsQ8a9G9AM>}_69>tT08dACf7zwM~AmJ*Ur~ zTo`X*uEaT7&O9!R28I@}uZc5r+S8Lf5q-V)KmPp}akS~ysf7*mzKlFY(KS8&yZwFC z)GOY2SC8(kvpTc8_@%9dMQcNQXlz}JckxhVEPp{g|3i{d-n03k|Dw)QPg*nbJ@{qM zlh=$)nzX_772u1XH29)ZHq48s_RhOsevaUN(ZQ|n605$YwfnN9O**wV(@y)>3lkdK z*&XVx@qHcSrDz=t}2I?p-4uq~9e+@yosK39_%> zdx@!P&Xyp{`dy-T{PZF^UcdLM9&%fP_F6mdMUIN_r+wB40-F{ZZ|3kFVO<=*zsJS(&MCuy#H`nYdVh#tY^ZbcULK z=TqLs=>5fkQEgLJZJ*)WwpgvkKV^kWbn;!7wS!CHtJn4vJMMCL`8q3nouit;<6-`7 zUq&`na#`0wjxSH@E)HN+-fZOk?a);AszHX~z2wk%?8~MyGu!3;6*|>q>&y?$Tco>h zGzKR@2V^UX9@<|z(#z-U4fDPe%I?}=av0?2N$vm%@R@Hug}HqP`f(z^6VZYGUX6=@ zu_!%8p5_cO_ctUR_}T|P`Qw7-9`Yga)2$3Xw&ra%x6nNgoux{Rve|ncBuhH`IaV2q z^-VGT+pV(kouv;DuaeHDkI2#@(pC`r(7Ml9?I=Dbxa0#zicfg|U+3kHR(yjt>v7v} zyL~1rqEFD?9)07~Vp3}(+hbzmwfDF(bE5M6$;G?dCP#PApS+UanBP_Ww(+}~-}bw^ zip(*J!~)=}=5mVjC^nGn1P6X2o!2JK-pRLjm0c0ZKFqAHD1IWuUP26rebQ;X=c8I1 zUEy#F`Bm}@#2IX_v(K|WR+L;EH{{cw>LP>gj>AxvzLl<6-qDJ207I2{1oO#m=7*oq zTvD_b%}qz+2bm6DUbGl?pjmD0=(*&Bo6)B>m;8Y{>$%#_?NqApGkS8T-OVBy)AJJH zFW#U3sWe^BulMQEWA$`BBY##t+UM?ov37W#7f`x4@&R^HPqVr??}E*oR- zp3a4k@84x(lppxhFTX4Ez9hio`5N*ApO=L8yga1&{(XsuH^^7Pw;$xHAN{ikJ|ygA z=t8&QOR?@*GC9kp6-Z+YG?XincC1f>S5|L!=3R9pXKF|JDsOQ&{~qx^Ig_vQ#=lH? z#ZW?h%BOeYjBNFOn71SH!#K~T*jnAMI5uNHmMfn;zR^*|Mig|1O%wa0yl{81#CQe`p09Tm_3Zt4 z4|CSHIZZfa>MUAg-#a-%e(drbzSue0OPlxM6HSu82i~#1O+wi&`X)AKcfZI+{{BV4 zi!VhP_;v#|MM(H_wZ`3)_$e~TtCw&I#`fc;Ss$;Mbr}`nV^}c#=PI5VAFBeWn zxVv(>Z$oM9Ngau%!rw)`^Zq9~UH(U+G<@l3uyCJ<%D-tAXQc&%>?oPI9Naajqu+YWOCbzLPSdh0d$MgO#sFHg*y# zWIy}xNBq2PJ#(hhrw@np=d&ONijppcNXbKziVh0nrlDbp(~-?rlQq>U#wXoW2(<@1TBM%CD(EWg0{^k z-RSYY7Q8j~1j{A|3;q$Xl+3O#6aS%w=s3*WxwkDE=xr+wRIhaOVlVnY7H-=MO?kom zjP@YWpN*L@+LwIc2kAbfrv01zsW0?Oqi*uyCG1d^BA= zlYI5J5PVP9UOMnSmo>M|QKescakHbHMw@s@8ORUn|;)7V^gfKHtsPDR!2x5I)pV*>_R4N?pCHe(KAfo35h{Xg_Fjqmy;?=`iKA zW<8MH1Wm=CzR_bsWlUyoLN3w!$b!4~Nq1n4C7-NUCYyaf3tT^(8Q^;X)RDYN*C2m( zW@Uwwk%ynk>;Y>*wzxm2BKbOxvDdY)G>3U8bBm}h>&Px+`$eT|UEXAjz9m=EohDbv zl=N?-Y<8t}M9&qpe-ZwTcyE4)^#h&3-DICK&?vntNOUE=FX)sS^e^&WfX;@0o@Txe z?bo85?#ncI)wkMBZgFyF`y(=alh?rGm(=Gi4zE7?lwP&{Z=33J(P~>+9b{v|<8qJm zQ^3RPq(VlPYiH%;zrVBmz=g;%{CS?WuaT{fG~8p8Of(y8=!u@qmFe_lWTWRg{2!6OuX;-BbZH+Yt$+_{wwB-E>!*7%Su4O#VLvG6 zz!q|E4SO#R%GY3x!2AjAvCy;51AdY9#%^SCDYDt*u57LEYVVfvqf?Nn_3rt*_zoJ= zMa4tc!WY)z!g$p@I_Y-2A~w*M=0k5}LgRV(@wLUu!70UI?iZ*GVS8)qz^{GcZo##e zHAP!Lri_h4`mgfL7%*Ay(|i>kU=J!W<4JQxe4I*+w(yhc=Y7us)^T84&;&Mv{Tv5- zO+Ep!+8%n&zTaNLw|7X@C4{lV;ya%ea7zI z3B|ji>D|2(R`MI)jlaX$H}>vhD|Kf2G4y??Cpz|`U)7J3$#CD|S6yr)$iY_R;A+kT z?nDl*#kcH>hM%}mGEjPJbwTN^wS}d(4lORd^}y27TMsTPz4h_srMEtDTIsFyGx{C} z_ygbFT?{)Xxci~?yO{PKY`6Ozk|Rpf6Le8Bg9w(hsFH?sA=9?yRCs*M$`MZDW)W;K!Z{XG}!!q zk_IpQ8Z@BpZ;A#d{-2~lw8h3i^m62Yy1ywJ{PTzFVMiqmx_&a6O(d2Ponyp#Um)+TB`Mq@*Mz;Qi>B0Uf#CJ=R%I|qqbhGF) zvh@M4KN|D@`G|b}H=G{DURKd>tbYv;anA4ndi5ao^>OU$6I!?5Tx1Q6-z)jW&h}^Z z=BCKv$<>AAU3vA_@ztKXP&S=+XTSGMXI`xNTw^}(X};#?=tuM}zBlI*u{Q^?2?v-{ z4q`boRR7{BG?`Sr!;%&Z;c&Iuh|1Mtg-o~BUmVNaI}MOy@?I9LHWUd}gK1#%IvHEc*Wb zWZILzXk%?MBF57-o4J{fWyH}{RyIcNPL}VWb^|R!KfM1Y`>{DU{cx|2!wVWrVE>K! zZokNAyQ}TwRl^&hMHm0q@J|fAe!pNep)X=zY818it-Ol3zi6a!BiMZ`_^HlAyg zOXooOIbf#U^*LNDo{+((OFpssT}RvaH;LkPQ}{i{^{+Wv^&F2EY51-VFUkkJ8uFR< z8s4-M^2fv*e{^xcn;44qf1dAuW2XO&9)Hr3b3Oi)5BS3?M<3;%=ksYNi{j*(-)TK2)M-|K$8n?U|1R}4zmpz9 z_dlyOyxOMG>rtI5XX{aqx;fi}@sCEfw%t8~Z_S$7a8*7kI(`Tpe*hhSZ~?l#Q|Tq? zyj{_O)u!Kz*p6gIgnqeZe=;!|9+X{4x>zH`4#4Nf;rT)I`T=zD5aYn^I>Lv={$Oh- zl`pcrk*n@L^kBHJ-`_*8zLo<6_GAcqqWN0DN4BmCOfm7z>I}}9v#$3zdcpKRGBw0F ztuc1-l`G=)515xV&;xk#_vZZL1%V!6zL2@YZ6R>b{}6Vp0S4$K7?Po=%sr^Php<64 z`p2%B?szocFL>ws9Z35P_w|g8zs|kc9P)*$f6P9c;rW`YX-=tkaMnEXfbiGc$m4!5 zFfisSj3?=zH}=cU=^5Q5U37%T1@BtV*Eu(>!BqKG8trvx9;~%n`AFNCdD?~WYW z*;XG1$ba6)Y2g1l&;O<7hdd|WcjzYWLct%=`3oz1;O#a}N@1Lo(sA-^I!>5RKhB*B z2a(|e$mXqp_@7{+$k$DJ8tP3X}u&cL@}oFO}mi$0@=#yos8UE|^T@^50iq4PA}{@;f2 z_M4;GV1C>+q1i1tnxUWT<3jdf8FIw<$lHe}peJjMHW%#2hv^^3Rxoa{6>oI50{T6U zJRL;#?S4&UUw1@Rmmz1gS9>uX1Jg&g*6l@@Qz3)HHaF7VR_VBj)NL=~w=Hg%4;{Ar zqL*0y_?K9|kSo8FeIVG)>O^!jFh?(*_2XzlG<`ez0y*Q(8kZg~+WeX5#lP6Ug1J&J z_(^B!+!SN5qWx

    VRvChfR63~7pw>YaLi6Fv$5m{%Y^U^d6kYTg;7j)&N6{90PqN>HX1v+l ziC_A5`*V2iqWzF=&+_xtW{zIcMdqh#enmZ-2e6;7U-Lb^Pj<9XTsy&rwk_H`EZ-~c zU5p&I?fy6Jg%fRA!*ToPUaZrhD_H$+0nEVzJfn@>+{>l zH@KO<$uHBos?OdNvBB9oj*gc!r<>-7nf?bg4y^q%e$2ecwNK1o?6i0OnE8V%cYG*! zdOb~ZCu{E=KaK;uOG4V3dfLe$ZFRlwn?u^FdfF*2Ep6*9ybFHf`r3mjnUq{fzKZ;M zAE$w@3HSA>>>1qolb>JRCwZkk`_=@%?abk%kFs;hhWVtQOBR_+isrVrin(D*|DuOa zd)qW$q|G+s38v$S0cg(7S+*CL%Y8myC#H_!cD(be?EIDPixqsnUCz+EGH261-!|!5 zG&sld&x|UcdYQOH#i*R(bLJoP6uDKI*q~ zLh;fY8pqbIxah{#bluaaHlrOqqLaqv>QEPcqEFoS$SBiE{%K9VUOqH=;h*nnQnI6i=OSrQNyn^lGx6vN|IyCa|H^uucE#j?xvi}?K z9@$!-E9rblGK;ZQh%WVeGj_EPzM;J8M2k1PvnKZ%6h@=6jirSG>{eLj17ZmqzvNH1 z7&B$;+4~Ckm#$pF|9anmd!$^t_W?S+-N&DF>9T8~tu;Q)`vKVMVav;$<4McP4hCEc zN2JfBa}SC$ceys0~2XO%W@t_#sszH4bGA*Bgh6@*o!`K5*QoS!%KqK zf*{LzY$tKz?vWhWU}CUw>{+ALet)N`Zdc##8I8c+&pv7%z&+&yS|~_9~mbGdE~>$Cs}jzw7XO7bl-^wm6(Ss>`O}#ee#2Tg!f+rFJ$lV0?O1V zqqJ1K^sq`ZxdrF@HVF^PPa&Va*cz4K6=PTWWS1_Q2v2JRIOZ%?r^Tjt7Y>%@>#=9y zr#dew2?sY`*gLXA`Icva0{ul}!HV9b8U8*`cnqqq;T>Fc*4^{b!Glj$&f|B6=hx}{ zH}a@a7Svb#gHiSdxVznH=j)0Yg!Tfzc=vOYJ?XIH*Kmk!{f!t+Nl72mR>(HF{3HZVE?y=FuW!KVzk0Q0&uf{f+N0$u7$m z_B1vBLC@6pxX<%8ZGS76MUwY&4@BTvLm^{jZ>Jiqo)H@^9H#kWvK{gfPR zmOPXHF6dZOd-R3$ZTo$?;3W4c`~RHmKIPYfA8>2E_-5$1o3;LyuzqK#WA3ZaNuYJ)!Yy5rK!G92%N%!qc1ZkQRL&LR_~PGYl4qug7+qSwv{#_`2Z(d zM}1a%;e~&Rbs}Qhtm_Ton=Q1xS&K;59ELS6!;R1^?Q+ zE!Jdq2^-NWjv_m!vutX&DjQ(s>M<(mnym--igv#vTq4`KrVSkvO`)IQ zmlr&ZH3wpyZ&)}fUvruT?{#&u=OCnY;p?W7A7Fm0`v#<==xo~2Zr>_Mpr>eQ`_oAm z+)lws&s@E(PS*7`7K(3+z=?h4rt3wGXM*$f=scBR<^pqkT{2{Q+R3+lt?XenUXpHS zM5v>nxF_kt;UM;1WoJ;f=yCoVkF#W@3!hlHiw-yVb|#BHKJ8iEcQ0H#Z4xhgHYZeD zIx}BhVspaZ{DE{7erPVEGGVTuxdHEOnz#A%3C%}}XTEGAzuBVtnfjnBO6JElrcp{?j0_?~LMNBW0DzS&>Of9yId zue^UFmZiF-_X+;MJ&K=`E*__vYpUKo)T@8ZRrwElk{Z?wl&?9c^4UwII{Sis@%wJn zMuEFYB`*bHD)@7w1?H({OH?j~Bj0QgG1vfSbzkr59;PmPzZ`whccaw4=DeyWiXlLY z-jJ4R9vkJKa2^XRyy6T8^H|ldd8{w5`M*7TdA7bmvtCcX$S(W|p321m?TXHbOum$ly% zSc{ojUEofh;1xSHT`FB{x_#TL4o{U;o9>R!sGXdx`XRCs;}P(*_y%p6oDvI>ZDJpj z!)<}<`{SG)wzA-AIOpoFhPp$3MC<2R>#X9hLn~L-^RLg}O)&-f#A_V|#@uBIQ*HtB;OGgX&#sJfvv#J|zfbSSci!V$b|OboUx zWk030@7gh2kzVO|9`f3PE>fQUbxN*-t=8BoJKTdFXna-s=v;l=W4y=M8$SOe-!o_H zWlK}pe)U=QmHe(`@=YHb!`7cKxfHC%z)fZK$9NIw{D#NI?clIoI9zzsOX?48DF))k zXUR_6{@?$;$HCJsj58@bHQfBTZLv+t6T`OjF2yYMu9zis3g1`>XUP>Wt7$I?zOU^! zV?Oz9&5@W>RC_*R_XAud`5?Arego-loW8_l`g-t^E{Wb{=EB|X&UZqpx*<{{hpui_gxV_alh|!IJN5EojT{YRQBts#&{0%$!xC; zW4*;Yi02?%=G)pHP(4e>gHDC_x=tNxuU=ZY?@gvthf=3goJn{`Wz{dClM(#mKZ}jf zyT;O>>w0G_)!v2%U1zSLJ#`-!y;v8pJ*!cFP1e2-Ekd5>P13QvyZXZx>5|PKw@8<4 z9*6edhxV_zHAZZL>(d#zK2_gQnXW$luo?D=JZ!S8a;ji|3@mp8X-zcLJCcVjEUUcs zK46bG!(!uPt0KBCtGpsu)r&5b<;(IcJ7K=@EY?$5qp1!g{Yp<6Uy6m{ImlK&wy9Ha zX)^a*nILZSx$r zT~XV2(KhK>+jr&KCePZ2juUEosc)P8gUI(WyBh#|T zkvuGN^zQ}xU0`!^)HWkmZ{M=Y4FML}7}T7Iaxs6-7k_StKcr{;xxLOGo0Dv?J2ZY< zFvchPG$B4ABh`Fa`Z%Go@K|wb?)@4SA0=#Pe@OvXHk=N05gj%{+eM%pBj!=>N6w_*>099?8SP z<5vP~(0|IsJU+mhALpI>RbR&A-E|(D{*!0C1-}XLC)WQ~I@pSSx|_t)Kdgt2NAJ^* zhqWXZTMhee6Z`_6{l4`3-TG2Ac7gw%?B2QOlTrG7SaV?;&-{7;J_!C3V~XO~>YV$bWy^nk-9b9HU@@+3WAAK$SSIjkxg=P7>_+W~WEazG4h4xNe4`P#b zZ`~}(%ske0XfNBBK^q0)ke0p-`&I2XpV7`AGL{9r?)XE$4%CAU)3*(TH?eu~Ig8U@ zz@2mW6$>S!wD+^Z(d3%G;y<=(J5}3Ha$X0#?0bx~*#><>yZ_p%U0`Kj!~A`21V7RW zz6GB4oeTP+F)HwDfB1LtE}&z{K)1dgXdR(v3X%K{0_^rdk*o*wElFJXvjLtO8qZNhTdtkWL&gz z?B{1)JJiECX!Ud?%PL0}u|7*XnrG_n2Iw?^Yz*jpp?nm^-0o0L>rZ3WGyf-4&%6oL zv&hR4{j|9%zI~7875a`A>r5tN(1JLo%|Vp6P4~P+>nAmywVe>5PT#bH0_t%*B9jo%3vX&O?540N4nr|QctiluB`DgpiX-nr)lc}5S z&ZpGwhV47|Z2T)d)3&?MNb9hiKh&IDK0=~9Xkxq^{@18(rFZ=(araS2<&Z7S`7;{m zx$AoLjPF#)|IxZZ-H-PBG`RbcHktDe_Y*U?siasN|GH~W_5pdY`(yivxm`jXecG3Z z+_7#w#CZi<%i07T3wz3Q=)dOs$Wxl_=a$ZxtQRh>h(?R3V-O$mb=5Jr)auZ@v9R&= z*3oTsXe~f|ZLhvF`2R1b1wW_m!~fr)bM;{l$X|?aw>NmZ9qiXe=%eQ=pv5Nt9M2n+ z7tI^m!6k!V?cvX3-he;RR`78GY~4G+sirY$QxpT^+2%SM;Wctw)LrPzKP*1F)NFn~ z^ICqx{l*Jy_~TmhnZbNAN_$jkvs~IP#-IXwR$03oHMs^4o2#rt{=+QS*QGfpmnN?~-^N_k!czI*y+dK4*XrX%oWdj4|+0dMkW9 z4LcPR02l3v%=b|?Q1h#%bj`ck!RcSB6zRN&f|H^KGg;W~ly zbkte8kyDp<&(;2mkoEv+ogpnp+t3&E{BruC{>+YPt2xbGb=oc$ZJAFhZ9=rQxmXLH z`gRX`8lE*44VmlO95qL)t~?Ex`)2(W4VYs&8no{3gT7q`tC@;*e?$qk0Fg@LttBIBH*ENc#t0M)R;3_W$#+Z;4U-M5g!d=)4i1{Tscmlq54D#rtBjmgc5`)S0}mzGz*FA)>fJh9EE;-V$G0a#IP*HkET6u=`o*OG z_|3`C^Q4Vv&Ff}(wY^#9tE-{YYG;eso4Eccut)G?1Uo_*Y+C)U33$tQY&^f=F}j1S z^Dp0UIeO~qvhM|gM?o^NjlOU5I6aBY(Q^m*J5}yE_>&9I4;t17pOWEcUcDIaZ_1>Rq-* z+nL}CvggD3eCvGP-WGY>-)iOVZjrY!IVN8$#`SXHHGs?vAR|wg`tQ(s-FEn~-S~li z(04s+?Aqv`C-b~1?H<|SXm!HAfbYo03BrQ^$fgOx(jUoe@{L=*T06tb(mEdxLpCi= zme1E6wD`#;=Zak@mX?Rv7{Mf|!6=3u!#lfD>@y{mnnWjnU}GU#}X zXRYnajy+hVjO+pFS8Cq^WlZ-!m*Bsn^XdaSD?K#7Wf?qP=5)PWMAmt3(A7<}waM4< zFuJ8@>FO7Fez;jzpP1XMtG~S-Jp;D(a86fM-xr*o?bm)p!FWCU`1g>@+YK4Ck4L45+Y#;?J4P>1!E^b_idbe{fK zZ)>5u(s||WZjmRQSKjR{^8OF%$e41=oOn?B6Y=g`@o5LLx&zt#LaF}-t(k8@wzimT zbyqKg_Ij4x>G999J1f&}@wV@c@^%$l?PGE4Hz~>kQeL zww3&1$j{r<&rQ&7dcW!5*RY%Nuhx`oucd71o%nSjO+K3BaK8F2{|ftR^U`Q6`KgW( zk-eAgSM2{nt$B_$b}+~5B95cqu^oS7erY(vSv{40PNoh&FDYv-LQF<;0_C+A=$~Nl zFPD=yS9@!CPtU>L=q|S5%j_<;Em}w8w}tUU-z$y3q2i1 z=q@*_fo`)Uazt%+zjQx?qIXic{(w#d^z$3)RkMBN{J2#T1SWBPx&lQ8LJ=E41 zBiCN`Mf6EA@|Ey%buy&)FL3swx`jC;&ziT0-@mUtL4s8rmN{Elal$z)y=CfxKHOp9FjwFV#GKda}i3y>A!DK_T^*Ja}K1aSQuk84BB zy$2hv{(*PEwf248^OWw_oQ(NU7H6ONiDsO$vcxb$`BpLaNiE8@>aWGz>5I{UzJ>mt zu5S-REBO=1g`LkCd1yt`Igoj4LoB|;y+CK$`b&eJu%}CYlKCal3GHL$EH-hkIrt}x z5B0QEyzuXKewybud49W@NXyE1m8Vx1`Ez}X;MJAwtj{af{af}ukPz$c!>2;;h=X@blh0n5%6dq- z&1{X05h^PhQVxh>fhOv=>Q1j*bxhv}yBZ(H z(e;Dw8(;zUstEQf2U|Mrg~Os%!go^6z6N@o72(7FfAzn($IYEwf8w;wkH%>kZLg%A zF>rfpE8GJ73Gn;=8i$|y-lj5vZs56`v8Z?;b#pxO+m&zhkMrvIZU#QXHW*k&Jh%jyARlWS z&;JU$7x1)i#7RE-CWgnyBOatGlW)J3tbmjGh~nF=l<|Bq*)n|Vd@(-8^vTPS@53ir z^?|#Dtj{N)<>t5#DwFR+Ov6|<_(tNL#0v8^$8>MKqwRZCH}w@{zY23Q-8Wvxbro21 zWB-Nf(mJ~3=ldFTbaGusFV4w9)>icdZF$>f>y6@fi?&jITX5>H*&5{RvDzu0J$9e) zK`x{n>-z!l`K>=#yYIyZK2+eli3w|!mOebEl1#n8-qm+}?bdzwe4f*a&%&K^6Pa8? zCx`o1!~K7(9>b0moP7xU6a&q52BW&TP7}K;IHxmzt2(`$v~kDPk;P@!mdj1?P{lq= zitDI8@q01j70>#KRcauY2oy4Xd#+tT}C?6hFv>C8+Ha*aaUV^XWts* zy=$k>>~98AJQW_20UO)tyYrEL@R9Kg3emZ(nZvh!~lY$MDM z@ekNzbd2>_i>tc6USxe8L6+)sKzyuaG0f7|Fw_%h625Ed>U?`^c6 zd`@G#(I(cx%h65tOqvc7H*L~4?z$=BUlq&PF5iMOkUXWRo3436bF}7+Nh_1j<*v}%;0UU40!as55JxL7`j{e<+d?kN-mB& z%6_R)=A@&^BkbYn;qGR1MEkYm$5wmfzYq88?&-G6lNr^^n3qgt4+&*hyWvVd>{Fa( zyl+g~9OeQs+%m}%aQvG+qdm37*}qB+9Mq=Gn@kSb-vv%JV6_G(ThpsGe&PHLZ1QY} zcc17-Jr{et`k9#K5BeS-r17Z;v@Ksg3o9s3qf|A%|EF7mXMu8 z#lk5QlO67#Iic)ue?TTX@FA9+ae1(D3?6K3rs+?d2ec9I9Xd%K9BMle51?DdgP@O& z7j+&~-x7FmXk7i}ZW4HKXk7i(-6VPaMF%V%m(!;S>u```{xjW_EUtGkBE#uKbntiF zSb4@Jvv>Hc7k=H@N!v$(PG5!|Vv`TGVH;ceASS=^iK@5CXDdEkS-bh12R@YUEZ$Rm zt?#QvVrI$Ct{Da5jP2OuMD}j@?8?#D?+JVex{!1XtYjT7z&5no1gp0D9_cE(Z|6?5 zOv*XuZ}a3>a4DFa+i`WJ`|H=A-=~@@~d;!QSZW}W9G$njux3o_y%`vU77i1@ezX& z&uCxI^1WZuc$4=BluoR?iO1X>{1P@>Jhr{Z^anhxKQ``APYRBz8=M&1!0ChM2&c~K z>hW=IOQv6}*kpRBZCb(Ot$BM(yzzN8?lj@8boD1Mn@XoY!h4bDgZB7k^wqox`idWh zYi~2IN%DJ&`7czwH9gecjHCJ<@q??*BluGV&%U5{S=`S01bl-HVUBp`7`Wf*aqsrH zU*u_izW#|lLu>5?bhPjBv{(JmzCn(3)=F|jy2+7Z!#TW7Mvx5cYr8O~nL zTJ|sKiPj{>=%4h2Yd~DRplMd zNKGz+jMR`3;VM7Z_8-EZi3ie!$-1KS92dU5QBk<`a_d18i zou;~5bMy%7V5;*x)&VG=`g;EZ_3A#0+6L%{F9uErlcb}P%14qtQ_LQmt?Z@DOK2xK z$KAC%=-X}My(T}7{vLrAT0`8Te%|@X!+rXvt`h%hS9|g`haJ{BoN&DqoC=}=|I{D& zv?1>A6w1-=ot!OI*+K67Snm0GbquHb$AH@nocZyplY7VZdDs;(EO(HF^vmOP-A6{b zt^z(Wc1C-IH~aDz1E(>~_V}r8aIbE~X3#&;XoR#XHYQnse}D{FpLK8KtUArAx;u(8 z>CX0bN^ggDd=q2gQOebzos*gI_vEprGLZcKCl41qZTtA2B-*a>_6xji?M(4I*)Q;7 zt;^_M6WwVyJ2&L-$-K$S$8z@H*?j|)NhK>+CPTjr4YbbrCjJA>zWYD8Zv#E50cUG@ z%t1v5;lwwKTCQiFPkeNjr{%XOueo2K?LX*!3*|QXK4{!s4bJ#yzYxjy2x;<9(}KIp zXeD?L>y8%SZ9ccfjfEB)lfSX9MIEGB9mM0L8yAN zXnib(^Y(LT;En2x?C1Al*vNii($YZddl&dbI z-{aWNg6t<{g8kIk!+wQ@M<|!cho3X1+P56p$r84yL;Pm$Y&rmbde$EQmz^P->YXBtzLQDm$SRF z@$0P&@b(|u;maEB@SV`q>@amIw#As;Xor<1pO$hV_7&UV|3G=!&cLI7y<-PudxQUD zK62g;V`H#)2Z9~0)w~_XC#q3ab{F~YG&>w@O}-B7kJaJr@S#u#@JhEB1ntzI(S+LnnHFLOLv3>5NA3OX#c4 z6ZEOC$ZOoUPmPC@8-K4+85@5+%}Q}SzHfiMHbtYP4YOHJw&$HuTZHXTMn0V4VTT}GS~u_HE#qL zPY=na?33t_;jkvgp{q3xo;QnM4-P6TdQ2Dxx8B!82am&>e%d%hI&XRc&FbGq^xv0@ zY}k=m_-fb>+fzBqjfdvfNO!Pp>CSYWizgA=Gr3?NDfG875|~u>Zz_9Ai8sahHm>bF zV_mB6HVF=2SnZfjYF@)QyjkOL;MzvMG?5w_dq%l=;js8xTeuIP2H_yunwx@f?T~4n|Yy zwvVNWHZ9xAkB#sG8rq$=vVlRSjz2kxy};?Gk8yW~XkF7?!koK1!uj~4i@B?gIA~vd zcgDjBYi!(|aW?YBUT?$WVR$ePe_=bk+Qc(?srCskGP?BI+?{;gw~$O_jchM)8JE*_BU{^N>OI5N|g=986wYu{U{b`QGX+{(f)LZ9JqM(~bQ5Er!oEg4Y=!$pqhl z)tv-}o8ip9ZO-1f``~pJ@QeOgcQZc8TnfLh`UQu#=9`)y+a2m(bo6^ha!r1sGhl{gSca+`U)OnLC z_$H62Pp8QrM^-KNl*^ZHnSaL_e$BJ5{T9Au1k-ap>oGfwPSdKip=asxvx--Wr(U;r zZA6!L!<*ar4e+}QSmg)bg>fPw&R5-<4wW=sY$1NPWjV0~{x|WzF*Um~?z$a&Y2lUD z_YRD=ric%~S<7Tp@!Zg6bt`SWo;I~!JCQa8N1Mm@()Zhvp;d}G-qy$qolmSm6HAZg z0GiiU;X|r;sB~xeofY^xP`y7HU95WcI@v7h-rQTfOoNm8I<%KhOSI1tyI4bxtsdk* z52G_&O=<8=XPj)`y<`Sl+Z8|S@@=B$?De;A0cbyVP5b!SBZUqwl50BsD44GU!@iZ} zx&upn5{-4HV1P9>^rS``h95MdpS@Xo!kILq6Zk%S)X!C@54cWihxDKG{m^(kta~rD zfBNgR!`YsM{a&@ZN{Fj$&}~C9^-{%YiwRLz%=o~%h!0k_-`lCrsu_& zZT=tS#oZ;RTi7?*DwF%YJd-XOriy9aX6e&7!!e|1#WYW6U&F(a0qhJj;+zd^s~E5E zh1d6boxd#^wY{{lF7vE5zAV{t>C>d+#~)1kXQ*y?sXK86Qx(jE<^Ie*+~(zpdcn!r z1fJ2={wn3G54y9m1B`XD>Hn|lQ$PG3znbhZ{Z-xnx7+5`I*0xfw$1PKb@m0@9Pz#e z?L@0K=FBC&9||u|6P^0TvPCU;xb1NyzBX=Zh!Lf zjK6)M?zGtA<$nuu&a?2mka&+|Q_r7y;rRNig{POBeWJ%tXiV3*y$hO{9o_A|4VCeR zHWYW1FB9u%Y@hECJ+ZOi>ApwsI&Je$rB3kY?4^w(^K>`Z#^tgz(`-z|exysFH-2P8 z+9l#aE=~7~;|n&x@y&#q`Jl^f&QlmHA=%8oq8xXo`9b0MXxoaK=wehxBLL)Qas z!|d;Qt~`|OV{6zq(qSzS_TN4D%)-x}C0TZYelFZS^MME>=jas6xUi@O~k_5rh>L&xu7eyXHQm&3Am7dY^XvGT)JB^BoVmbn_hra}XH(m74DQzrQpjo|wNVobvvnPczxZ-YsH1 z!=9-FJK9-Q-K77S$GyQvIY=LZkMcm>U(`8jd^hJWc$iw0k1WqL9Fb|W(H=*&^U0HF zr@=32(N0XuRyO(tZ-c_T{e-@v@Z1hPu(iy;94}rcoxj4`hS3=w8lA;A`hRV!{!3O) zL}w4vL}xEAc{=~xNwm{I=N9e!)am>Xa<2K*L(mAlwrA-u>9ULabT7(1mOibD9nrJm z2A}=MGR!<&fV>G^{$if`5vnKd@pjxs_>{vo*s&PzPr3$Q!l=P(`BB` z=c9b}p~&Y0Z|$qFet4g6m-P2UcI@^Rwuk<{QQP)U^vP^nMDH5-3ctLcmB_{h9p38s zvlTw@EV|@!-$|PV<`Ehb68>d}OW_`Yhbc=;FaDn7v=y9-0`Frx zmVcUm2TvNtj))&594Qs z^sQ0)7m~+jtKZw`_d3eqC$MhtSnZ40&xgHFmgRA7k7rxUQ2rNOzAH!GYH-jv3$EI) zfj>E|Dtt(n9siEv@X!sIX&GHFV4UU5T@CyLZ$!7`qri+sJM3q2&f`WC%>k36t!Pjh znxCU@qF894!Ip>y4~{{bhg#6)bI|5<^!>qcXrugxUI%T&L(v9Vlsw4?x${M6*6Zk3 zn&b6S-?!Qb41KR{EW@+ft&DX;D7?kkl|0dHt8lE{ifydZO=)?$ zZ3kZIdAjW&eMf2N_eD4VoY8HEhmYwt0Np}*OgG|Onf`4PPS9;HblVGE1|qsyUPL$L z`xtvI7fqraK{8QsWJn$b=9TRp63!*kafM>iXP*8uDLw=VQmI=3E~ zQdwxAe)maULjU4^-!?|ScayGq4p7g{{;px!nLvZvp~3C+@wRbjp#0rlb^;CXNlbRA zvw;Sr2OHEC-+Q$({Yv%JWE2}ZT5SiPFkWb!)4LxlhPmgrps}JW88RPEc_rT#Y1LDC z=l+1|+0?^0TAh~+y-RYZJ8-z;g>s|z%pES|jf%Efldh`H`N>d-7ba8j3zR;e`nXr8 zx(GS}YtM^$W;|zIi}ccCMXj&Q!-v!R;?iR!-V2wKW@SCB;uf@RWq=7~%>M)rD@$D} zt9C4%J`@%d7`CZnzV9PA>RB}Wvi3GIHXEJkr^;zevcCHN9Z<115tcT&e! z;yr3dI$4K@_R>wQks(XaKdl(9dgksp>$gwOaPoN>+{@TH(ZHuSz>$~1RUrezodIKDJ8Qg&gj`RjN@-nzR z5gh3aaO7ohH%4%zH^7mX!L5nlNN<26FN0eW!I9noM_vXuHG(5Oz+vC)-W%4|u!rdV zZvH#@zny>f6e->*Tgv*6vj=^?PS(5<>XDuoWUH28o22i7p;A4DK^q@7)&_tUD8;^z99!Adz$4}qx>7|`JxHFp6kbwG1}>g z+Bp!_)2f}9qx>6l?ew~KGX9hzSo$csHQ-#1@_}v0zbwKD8=du?G6Bx|w%Ye?s_&cl z1>PBat9JK9`T2HNM(v_&Sv~o7*Wo*?f*-4q714MD@4dXQbLCA2xeqCmm5t={-7b7a z2fqotZwJ={Ue9;)3|@-w7T~Lmi^?C2^1&g_&+5~7O#6z(C%_o}RhDPNpLRue#rKkA zYNjU!Pn#Khpi2Y%^bEd6UzsyJX5;@B`a@rtH#}BU`*sf>{Vh2B@qr(!Z6SZF@9#G7 z6HZIoTzl#-^u>Q_>@WU};p5Zsy}&uDOKs7%a1VG}A8AW{G+tOg9ZWXXtL?x~59{bL zH|wA2Ss{|6K__e0Kgm@!de7U6?X)MDB~keU5xnwVj^6X-Z}#O&QTcKNukzkkF?>|M z&*zJ`${)_dd)nXP>s}Mpy(b3?Z6vE>)_o`s@7|5xJK)du(qpXKI@!h_uiec14zEi= zHaZ-yvB!_q@VU*eUI6a+;U*iyk*p6Q>-gRcy09n8zp*htt55Qw`G9l*m>?s1_PQMD z!kg;67d&ld@H{ue&&=R!^p&}V(*@>T?5%o?_1H#TILG&w`B!a#{JVHpf0=t(e+!W= zz}xEHTz{8D{hdmGqx`Hs^_TXozrbYp^KAIjZe91;LqhvzThw3L%;0%$hA-6NC0_+! ze>4UaC40+!zXemLo6$em>Z0&eel?>j`sidR)7!i0hhUbB(T>KcP|ty=o*V1+Wce>g z`BUrpMt{W@Xvg}l_DT_KxelAvMVgldqd`NT#u}%nGr(D!_xiqpOV;k1sNPoX?uqgX z_4*92vBs%Xf?dNmgkygXg&!{>>SD?OyPw&o)kdj{eYB z#fOY;!4}Q-{e77H&yoMI@9!7D&&G;KH(#bdU&!^h6!o{zn4i_B{?fkn7nlrxo(+H6 zt@pPh!{6X(GlS>38UEZlykt1kFWtP+$;!C8IW>|e$%X2u`gS7yHr-S|zDPd=v&7?- zZ)YssY}L-o4yvv$`+^|oqv zPn4f;cP!n^w|fxT`(o)a_Di^N;W^%)Y@6{VMs-k^fZ>|8?+|tX3mg97Yzu zo|DxZqkQ@m=V$eap0sbW2TUe=fey4=m(|nivM1f7%?zGrlhp?J*%^F|zETeS1W|jUN$@O$o}n1{~MV1Z=h~y zYcW;DAWzjhcbt%3z)v+F$Y?ziahcyPq3YSNl9*)wa#+Bp0;bFt1g;k`?aKRe7s(GH|LhP8S|Z2j1p|!dZOZz&mYm z?y9ci+~3Q-GY7ws{0-!9^!RLw-hFw;D=%lA^kdM=!6q*^#;3?v-2hCG8^Pb$3cfBk zRzEN%XM&&V;laz~(&~@q3aTF*GWa0J4e<530(3f*aObeWi!RVfG&0`6k1&r8JkH+L zfAK3WFF8^9n17-#^e-*|Ua+FC?1uOueujM27xII@C;o$z_!HzPdlx)1XZVEn;CuES z@Dn|-Eg3xyc={oKCE;N7o15vW(R(bJEpO+)}J+0s) z|4H!R5b!q}1AppuN4}_F>0f}&VoeS3bzjtQ2j2|7;BkTG_4=cjjOqv941P%~_Pq509ow|qelG}Uy>Z|;GMcys||L>=|QkFw~@bt{M&qcyQ6nszUpm@(S9TSC_&fVu06Bg z-j-zfqI;Zga_;p!wj;D#=XGRvyxq!pO?xJL4e*g&6CHvb5wDF zepy}iJ~xBSY(N8iWbX|AoH{(XS^dzfUVmi24F23YJh(Q)NA^oPHuS$ zXkT?&96<7{dL^^LzNk*|R&~bdDz9|lElwhwC7<{5PFu`BTHBZV$-kHU`#nAnMDMzUX1~>Ae)e^K5by!;_Z5iw?oQ zsNd8n8W??{x6vc;0v=}X>Yw-#mxoSPKIV_;2Yrj+m)Vctr-)x6U-hXj*`Huv#9wd{ z{S6=SC%g+j;1k+|uZExA1Aei65p51YUoQt4{re*N^W2nQj`Df7m@ah6%I}Htd2Yz3 z&0y<|571V8v;GL5pnGc~p79*R8jnfKc&2iN2%cwyhc>F);7MzMUlPId+yqZrfVVkS zd%Ml4j_r74-0uqWor%#}7x>KmsNM6&-4gEozB}A|4`*q5wa26E_B!=s`{UTlhn-?? zV8i}VeP>no8C<6QC+R@b{?c#W`qh%ozb;L%Z{@XB_5&8QAM%aVwG7*t!w-LVD8-J- zzY2SG*q5@tli#L)%E)FP zRsXDPH~W4k?O&rZz$T?O%76>-_AI#R8XTA8)Sw3Hy@#ob{#4>MOZ#eu(ce{$us=4E2}& z;OxtEdlJ)a1KeA?Wdi-GZOHYT{l_(ETZAvHby&ZTK<|u4^!e3)n|Pm3iTF2mTiuM? ze4ioWFZ<}Z6X2Bn;_o-Cy*Eyi2ibFo(V4052->+`$rtieLuQ!o4Hd6Hd!2oYi9LlQ z;IbT?Y)&W}gG?DLG9~|jHEg%1k-GHUbp?C#bnc%$p~(3(?OhK2G1=2z(Vd**WRIlm zgMP<$e5v^xkC&h~Q`xI4e};XLrkiI|7w_q(O4`$9`vZ};YwUUQ@ErEAX+QZ;_}1L9 z9sbUqGrY`~&>ihtl5Kc z;Qo=j7In9c?wpyYwif$uNGvT6Nk5zJ;$2+E9*%JrFYQ84?o&fo{a!x1GiI6Jb4fe! z%<+$QYCMY`J)GOr`EA{aW4r|y?3LX$qr7e0uUw-JvoG*ScOQyx;l7(GU;60b<6AB` zn0^0}eSbCf@{Qno9+|;jJNQ(Hzk}H|V>IQyo8#DI_=;}BKh6r^n>+pukgjL(Pqs|Y z;@@373tl+rJgDp>?=So<=a@Q@i#Ef*1in1i!T!eq$J2dbul*KiOkH+QjBF!(MED&a z$!ib1;@R5sGO=9yG1Y#MiH$zr-jnIt|JxzH@z1!*{$HQ(Wu+Y2*c!FLv-bTDf@f`2 z*^O^@w=&;i(V5mVF-Q89@p8MTjjyw0dqg`p$68)HvYoNT)8XouxR(;TFxHLg>|3?H zqY~%O{7yaJ=;-f1PPB)X_EO#%FGrE(g(KiK{DF@hE=iuiNw~Cg=cMizI!kqLE4%TU zHVWLKBYfvlUf;etLSEJ{Y>n)!^(&!&oGs9OmZg~=v++ONFO1wBgU(L=XhY9kpY(U= zfRpavsnJ&T$mEKh1G)>HqwoH16_bPe=)dVFG}pL)b&vzb!D4|k4y|ZiB5oVg`sPMj zOV>rmU`F2n9?a-WO(cJF#4>-|QO5a6yoxjLv4;^CK zuguZ@U)zz9jZV+1I*)a;`&L2qX8NH%P@l=S=53m9Md?M_$?`PcYmuk$#mvi~4N+r5{I-H}Uleot^gms!7g#`CWRJ zUE#dWa-CxWwhf=<2(p#&CDQRe(<^so{&&^(1mN3VPKG+sy^%5MEKz6ra!LIgO-uAs z_%POCXENNl(`UVSX)!_1Q*7Ai@mrFisnY9>lod}l@h{(jJo6EtqwCc3-AP7_NN26wS*k72k>?R$ z3*cq#@9^yd@A^7Mo4~0}ojKPyE}taU!NF^x1-3oKu9}T!&;2C%9i(-fLmG6}y}X>U z+ta>e#pp+|t@5A#i)^fX;cyQ@GHJlwjo&e_nQyw3(A{)+&XCF_S6(q%y9@vM*3CZ( zZA-V)r{=h^jQWXrju!ESEd9}3`fQ*6OfLOApMEHpj{jrze1>$5TYem?&boIF-xHkP zfWv`$S(T|F*Xf_<(va`;5tnBE88p$o`PRmluur|o&~J*L*shlTN^f~=e}%dV(gXP` zejmQ+AL$y4j&Sx;a}SM0E1>lXV9VUaFFBVDQCW>iS_5rcNzf9;cp`#dd0 zQ+#gj+e3c5e_!L7*sb}8ov(1e54=90yDr`+uWxZd#@v<+Jwd+i*!vy+YrDZ;w#eVxTD#5r!S~Wn;w(D1oes}ESG3Xh z3y9U(eQ%o2BU`=9!xzeSkC+Uj?=8kv?hxKzB)!PD=8O1A{2!FRqi-9;K9143qjW5^ zRp2|#NAGoG_D`;Ud???SpLE^KBkFbEmcu*PLH>;%{EHre4)NXPMhEPzay?F*Ow zl<0vBm^>pBtjpMU=dacsM1f9kurC@r68v!b+N(avPYrd)^2hwYlXWJ^Rc8qwxq~s} zCo5a-~Vs#&hhf3WPDPCjF)9gkdvd-DH|cV zwlTrvAsKLb!gpn8!{#iS$C~UQE7mT$!#gx``tvh&f3?r*rjOEjY@vKMom&q5_-VB% zxljDPK{fiNv)P*Cgmw#j2lc1bHoUCs+)s(7rq|vUCXp>P`}9+4)B2UyOU`~?s58f2 zF2lIrQhpS})10@J{O~PP$&bkkK229S9UW^-JNVz-nARixxShEzHsT$6UhTe@b7VDg ztnmpt7#?QdlYs(v5M=FZzAjtm~@G90Wc1 z;77B$a;68Xy{>~R>mN?<=|hOs+4pktG**00-}@S4jDL~%p~m>7vJ>d9^%+_h`Tj=% zT=nk8sxjhE@J=|JKX+R)I)ZQC6nFOVdB)<=9`5oP3+CskXXMmUWkq%Bm~|YbjwAF1 zn@cQplEnbN$v2b6>fbi{F5X_Q{%LN64Ozq;t~J^z(oPkAC-6djI68y6XEDb;yFTA9 zCp}+-1`8Ei(A=g<{OYZ$3pk5Au1tnn)x{m)m2VT9cI_93Bj#ly8U)NpN_=Gk_tO8e_*(+iG-N9|-(J%FnSRHGk?;aiLS~r@% zQ{=TJ;ZBj#r+wUSV7PtL*W#EgYZ%fd0^tnXae>h%5Y zJJ{78mtWu;*uMwf3HjkW+V*`G>FN9+v)8#ef$Eh1OB)vRyv)%@-%As&mIv;7=KC5q zoz9tL!?AD0XjL(2_*~^)-6}Cp^-*zM=~IA7l47MsEE${gVw>&{K802HD&OB-TGkx# zHOe1LzOngNWPkNtcZ)kKzM=SYl3Lkp9t;lfYa8^QUgVctvFn!Q#chf5zdc=8oX)c7JBg`HrHllntj-|8Z^R>fTJuw}38cZH3E( zW@hbll`TG3q<*FGy%zb3L+v}e*7f1L+V{dd4kci+_JOf) z-xMF&+S0sTX~LPh>5tWoJTJ6-@DF^bulqde)|%0+8fW;WYbq~0ekU}v{w(tMA1q>i z_l@GOB=7qa_GbRM$?T##yX(q4mXe44aQiG6o8Nm8_940TT-LINLcKL)U3_>@u|3}w z`hQJ;fnVr@qnG%By|Xs4W9)kXxA4w>OV(K)lMj%*>4n2-vh_cwlQ**u)1}EiS=*9H z^iKNq>uR$L{wQrxd8pRu?3C7Jio|i?d3SXYG?yIGXFYd)EWPRK=>CIaJD&32yL>F8 zoA7EQreyf7Ar95|i_XU0v1(MYtrhw)=G)q!?jZ{FD3vP7Ganp<)~^(aCtzm}v=2|I zjLc^4qwgn`IxG55%AJ)57QcFTP5oaofZsCsJ<+BHE#JnyI8LvgY+e`S`w(HBFM0p$ zb@nXzVBHxycAH#C#*&oz75&w7498vN6M~yEHe8T1?zoEe9i5xK&SGcaV{}K))16aI zj)h;w4@;ly(!nQ6M^1^Q%077Bi4Nf|t>*S7&&aiBbQrU|w@;=w&?@OHua(^H^Y%kH zVxPJTr@Qo;;z6d5E`8Xii?5aru7a;laqydw#R9fM`k2UOoDKbr7S#DOt=kH9HnrvJ zY--En(A1WAeYVr_U8WQ6xi5!P;N7tuEo?*|@kQ1nO(xg>UM7>sk=+51>f5T)Cv;4- zk{nt5`kZ72Htk|~F(c#!{)Kmg)m>bIk#DyI-Foi!wVR-S_3QV};oIWV`OQEF7M@H! z)H|ed33t^^xV*l{A&dDA}Q^klWf8zGMuIW3*)+hYfWO#+cm+t^H;T!9MXdKFe zZ=jpTNyEKkV&zRfeO<-bUF(X$CdTzgd`bRj9D3&Q^EM)xdG5M4>J?v;Ke6)Dk&o%% zJl*&Y9CmVHL))Qj=$mNsjHgYjz5(B|e2n`i#=(6e6HILJE_+l*{+W%zr*EgZ9ZX6U}KT+;jTu;A?N4n{d#mx z>vLmi7~|`EVuEi({BJ1q!R!>@ zt+M{YN1JOgw-GP;L~HE&cf|*fpM!6A@VYOv$JZ5fcV}C@F6O;KA6&Up>UqpFEiWtA z;qvsokY1bL9ZK*$6ek$zVVx)TJ;-mw$Cd56l=XbZD&|y&l1JY?T3cBjDzXQT`O_m+ z{0@9zyPG}Ex4QA0<=4b;nj=b<${PDt@yz<|AoQ?y_b_hYXWBiTqRV>sZZegJ^?BM0 zVr4IJuzH@&{bg!HW1Hyw9|MfmIK3ZR0}sX^>+k1}`8$@?7x7TO6uxtHwWmiYw;H|l zckUL1KW#l2m(?6VcsIbi@4*H5dt-QgH?;}geZ#Jx`&)$vV<~-krG$QHeyi_-$p;Sp zDf>pdHO?xnAis|_ytEJ9Lf^2R(@al!HeXfWky3km*#G0{VD>}btF*qkZ}|mWKOEyK zm>5^lPxTWID)RlXWWjE9a_~cXHoO^Mic^R&h^9MzS#FBx@T8#U4N3mukzY;l2P@Oa$SRGxjLB7bp7oGuK!9e`*b~jwEkSA ze0oRyz3XH3@?k!-58c=WU6YH;hbLda+()r#wMQH2Gro;z{xt0I6F%w1)W7Gfp(!zr zyjvWr+DXi%H2R~bh-udQqwhJ+mn^T{M4NgK?e?H2p})z2_YDz`TF4x6 z^f>;m*)DvN8u0Afy41%J7YhChXC$9sUS+Z`-j3* z?MmNz(6=6*rEe?Y$5v!q@5n)N<1eybBYOWZ@7sA7Zl6IX((-hD7ct$FPP2YoLK znfgH&J59cMxO(~v-&1^IYGL!aAqHVGbHcLy=gPOJ{y6E@K1;rB*Uxv}`mIgHo{p3L zJim?Py~uxi+Ku;x9N^cTnsyu98fX8ir@DDawG)`{0{eZ&57ChP>dlTO$$Fk|;aPYM z^Lz%dGkiVXKdho>8qbRw8wK}%;5K>r(7Wss?>2_<&e&!3rG2tN_!eWuL?~nRsh!!$ zO_M|Yyi3<=&|bP#J(6^5&U~Ez>JJ%T@H0iD+7X^Lj?D7--st*W(mu=}53|wREwri9drc?OwjI7V7-Zd=U zTZm5aob+4YRVJC0m65*Dk6!(^Dr0^Bu*X?`a=>}!`&^9cN8jRGmQIcm$=3z-m{(oa zZar7HC4W->CEMeBGxf2DcTl+A;_859|AsHmvQH(+JmWpcw$eg&%;0F>ZV)Aoo*Tb+0Ul5CK-6KQ3lu})Sb!j%OC3JjA4IuE8_?L z7IHICLl%DgKe4e}sc$OdgY0&cKQ}EOW-V>>eH!}&b6zt{ZPxN`#+Yu)*BFzlqxR#{ z`1u=3Lw`RG4mEW6Uqk-n7WMBf_5bsD`7>JJw+UYSsQspw#Ji}!_#755lYGYMHQD$&$f%Cx0ggQ55w_9B{_VW)^zl#N6a4Ta@SzVrFn8;$*H0dPcE%&h)$^!B zcfjXq+}@&(@GFHMHDD9`jZhzQ2d|tA%%yFUO~xGWJM7;(E-g!=+e3Z}dErcB|L&0Q zd8Kt}^8r`a=)zL(CLx)#3)3=2FoT)vN@?Ycw`gvBIf4cH%{}Wd? z#0d_c>eJ0%#DAABo_x&N$58kG5{)%ak`MW@_nEELSfF-)80YzUfaDu_dGQHgvT{D} zMZx1U$GH7-i#oL50-moGYzZ34&sJSU$=mL<@{uX!!^-a#{e<%!4(Af%BXY48-`CEk z)m9?E+MlWUbCUMf?%%U^^SkzcDBW4Sr}$dmSBpC*%}923DR$m#wqYf@LH%>DFIU3ykLLFdzClWL+zy!J$ySAGO;!eugT;@{iz9*0+1w7}oTo?MgVc^`7Q#yRp* z*$9=Bf9K~FMbIBOc?=Cc+uUVhD&FNz0aw2`vbGhQ9V6X9@z{91%#=y#2H z=Q8cH5zS=ZL>HcwZ?-bXJ0`zg4&gUvC6RYur{1w=qjU0g z#QB38HVHY0%@?c5Q98UDFqs9mjS(>(*LVHpYc&#M>Hd*VDP!khhU7?8@|| z$m5D&_d83Y-@-;K?ln3;vh8*IH+{b3m;7JXcO10l*5z!Be0cvnQ{zaDbio}|ee+y= zLpEAt%RZI$@v5%m!dE`vY}|A^vof#2X00_Jm-0ubYc6)MM*fF1j&!*32HQAY;{g95 zp5eyBr<>y$!|D?@>e!Cbr;o4n@r-DF7{0lE42h3xor)ilk3XI&dqle8TJ1J(@6`HY zSpSXJEY(-D_hYSBLL;rUVWV#vme0&MYV%goQ_|t-fidT;#A|IH5wDpLhqLdMh!=WJ zPP^$s)yo*%US3eS?lkPR#^dDlii^vfUU^6~5guP!F+~6Q9$0Beczm9CN~=8wwOP#h z7eOcWP5yr}>88(WJfFog^Cai%yF8Nv#b<#1Q+-E=a_^MXRQ;= zMII(zL;9flK{?S!bV-@dm*flhy_HD;yrIcyzU-KAmpZtBZ&kDs?#zQU$4dr($Ib#v z77c&VgLZ$@;~(lD4}Y7}v4`W>4!1X=rA#Q+Bs%=(I}e+Ulpm${!4CJG56J*=UgOPF zYzKXvCtE6hPsKk-KES?(+}S18TheoHKMXAgYQU-9bd7u^$}m={4%sI8Vt@En$M=-F zLq20ur`qGJnBrw_4^t?MjA!{;i-_>h*qt&52x)0@{*Y);m!D`IANd)Xk=T4}%)ZZn zA0K9a>kN1!*-g%`JTW6DyVcVxNs!%{l0)uC(B3QI&6t*IO@U`-&A?-4b;6^ zvWv`IFWFSTbMhkoLzix&12h_eu8e=~+rEd&bEGeNm#qM{w+dgZ9$=LQzkA&~>Eem@ z97p|G@#Y+@2G6M69MmRPG9L*aCNr!^qVPwLOB4uF$?x@szqtd<&Pk zru@l;_>(gX&lYto4|7w|2cGzTIXRact6#{DzN;viZIs*kUMtx>$!(^i8dFtPa>~6N z$myZ>(!$DI_E72B+t@=1a{6BNQFL+82pMn zJaTaQIJmcz1K*b>IS`(b1LZ^0(Em&hlrK4O{UUCwci%6`!S`Z0Xtv*y1Cs&8{ae{^ zjV09M_5M(M_58}nIXU|DO|5+8XH6z-yk^e0z73nTi#dqu{&V?9)RPpL!>B#gc@F!N zJzP=yCxF|30=Rv?zQGg0`TG8#6&$>K_LOA(J^xKM2ALNw;wNdkOT*UFV_fH#hvfT7 z=EOJk%lu#P{cY6`-EFQ%S?O#qbg+EVb-wooryJJatC$1M(s&+hZ^s9Q@By>>Zcu$u zUJYIr%Vu|Ps2y>20N-=w&5t z_X_wl(YCoSVPQJ;yzUz9sSRk;DVha4e$~GjFRgDUqPOZulWy;;MEh9Jz#eu|=Na%o z`%-ylz18ilRvP=cl*atVJp)_gS@7V)GQ(7@>sp*#>4V80@$fzDi;&Da`KLZTORs-j z@&{afEi@W;{9X#1M@W{A-@DfO%X}#8y;DC9%Lfo0l=bjC*nYi2`U?0`6mRI?O95_= zvqfPKXI$o}VB`Z0uNeABWDEZ(lQ2S z4oYhq$6UUTxZ;AG-78G1ygCp5MP=rSM}B^4-{2Hp%nvmew0UfRy<+XqbrDT>gNxnC z6Xo9*!-&z=%>y#**#clm-fHLe~tDM+98f{&&WKU&-R|LbQwVj8|HzSJHwF3peBFUirP(_P=li+MFQlo@VO zX4sb@FD}y_%6zF&E{@r{4m5hEG5v=j{ZM22E2LiwkJRTN=idpiC((y*g)%46hr^-F zQ!V=alWayi@@_J_+ z^m9uq|3togd3vQIl&8IqMDn10kD=b{qVzuu>D5L#*&EW2Hm0-Y;OcpyG5vO>kE3@l z9z`!1_sp-=7|gS5)JsQ>uYVQ(#x_TE%jO2MQW)bddTMjiLW)S9yOjj{XOjy#9xD^gp&27lrh(^gqg9 z5%G0iNYCqkNRM>~oHP9w{^Z3nJvEexbtjaO{;Ldmahdi|Ca?cmD-e8M|3i9S|4DDs z{{VXuefU-=a}s?x9Lk{MnXL@{mj0_BVc`NNQYv{9e;hV-1C->LL*^!&kZqvz5$ z@1qnH_dZGgGQq!OT(otNQzS=GdBx*Kc&{xk53x>Bzmtl%Zi(?a)%;NH%Qqz+EB~|L z=Bq}tk6f0cd1*%F;iB1GvrVaDw7$LcwFTq1r8uUC?a&;N`7!H(okvL9HOBm~?X^p@ zGJbyN{4-+J!gZgk^&N2OFihPm=tMyJL?u`8yWBi1T%3JmhJPp*-4??e=34=OURy|6Go) z)tQyeqAT#}r?8p6PTJ@Nr)iSy!h!OfWM|t9&AINy4u|vO=DXv=R+lkOEMuGic35(> z6rL86X|`8dbmzS3>_Xw(-*IEC8(WYME0e=-ZYhUf-mThaFOslpFC)f6ME1KK>al!XnF}{e#S--W< zpjF#TPOj~btZZ)ko1yIzb4bO?L{B|Sw(zynj?!p#X?duAzeuUyd}MgQ+D@mzOm;Am zSNPCvYjW-FHn#s)t(mKy9E{bW`GWSLYQErX*fo+pJxj)>dCf6&MH{`efu7aa3tp67>wM5^(pXnd#Z&T%=zNy9 zt{Gl*@V*y%y`b`uD|7f&&#Y_{eq+>`FMnUYeCf@VjViy|>$Pa%aR%Qo^wVtKAn9KaG^pv&FsIwx#Vbsj`v_+W7^Ms zPp)r+Z?0S-+$bY`H<=M0I)g1dHk7nSy}ydDX>?uZ+C5);W_ZrpWiLdHJr2g3R_*rY z+D&Fv-mG@1Uw6Ph7Z+Mlwogx_LEY!(`dGhK7qf+0mC01 zFt$oI`~1vq`Ej(i$jP(zGE09no@e>^#Yagy0!&-v>sj1NW0>Ia zgRKv~tijW#5z5H#c%1pW-(k`vmx zE?;)|tjc1Qg(f4w@A~6Q=i_tIj&x%zq!zUFlmXa6ZmNQv5Ta*m_vG)maQfJEF&ti0oc#dOq z%e?RE&l{!8p%dM|{>dwByt8po`{sMl^^jLuSFQ;$iIhEfy7adR;#UXs`x5m48dML;Mb(zf2 zcg21~{tsH@hrDN)PZ|xQvT7$C#Fls*)wdj;d)mRXZKL72$IqYlB+1#8E5Ngc9!h77 zCXy}W+jLSkOmas2T6(2^_p+x!KA+_yb9&a?=4yPw7wCiJQ1gG2FX;2T)EC(gKenXOb6}ls=wx28R&c*58Qe8z zWJ6u%zQ(sZ;%*Uc^1HD%}dcWD1i)~5+eOK4% z``hXt{gFR1p+5DxKIxwER(-mY``SXEX0+&2$orQcx6niSlc0w!b#HS{j!WlMe(f#T z2$hjtp%0?9w<{+5bMs|}EX8SAgtSLyCV^!7pG#;v;fdnbm2Ok9)sFxY*Yf9YN-Y}yELwPj_=UUS?@u^_c`$#UV} z8+-%VnN;^2@GpJp)EtGrdYy5wl26jqAJObz{5T)OBuPgW_rPB^*_Lmu7?;|}+60FM zKXBu`(xneZPuVbh1NQw`T2cC9?=D@oM0+WOW1pXsDJ?xGj@7i!Fr0ij+vh2NqXnGV z^r(JoSM<4bx#?X)`<^!Y)o<)%T6&AczJBvB=m&ZE`S|x0_hL@Y7=Iu;>(6`}ojP38 zdVDKh2i^vKk9n&!m6JcBIRE#3{E@U9wB|3nf;@{hz0CDYUdekBT{W4&#x7t8H#N$ja2JvryBd1H%w^TlU4!Y#!vTHJXau!jRIYC!xdgfPz{=?@{ z_VSK$2lb2idxuNV@!wJY`_RAT9Ai_`Ju(BC6F&m2peOyCS>4pQA89gu)H=zTvcu^Nkg&i8hgI&BWm-EUXRcFi!IxTXePqVwZ?gQqLoYv}i# zJehLWL))j1?RK%F(0}b^tKmnA|J5$~)JHyitm!%QPw^PNi^uXmdHxmnVs=|Tf!4^c z#BOO`M;?1*?$+E}&;Lo^BNP37OxfnKr2hi3X@g%)pEQPI@6EqZU02oX>ZY!Sbl^=V zBlxtmc4$QHkq7^D{>NgZC5w@^&oF)Qc&5kzJa92`@QCJWt{;W=9^4`A9Nn0D$7c^&jGJWqmdfj*}QK9m;?=nuH}hJ4v8&PVjB zpU`fbY)+A%?&uV~#s6w2Kk}>X{L3CB1;hVC!e8%w=h^#jg!j_V+WQURz5G^t|9`@J zVZOazr}uzcuK%fY3>ry4gB`5v=)%fJ`g1xuJiqekv(Zt?q$*ST!?mTGAF#dB&tl`{ z18QF$bF0zXs&Y%6$@W20o^^xXBV)j3x`PcepM|>39-%v@OLxGb>yi{1bbB>|UW_bj zJ|}afaK`UDwqwPok3X5(eHBwamiwL+wg5iZ{Su)r)3L?VosP+lNyjv{>bY3I_fTsL zmNqv^lTB5e_f}^^2eoIt3;r^ug0tPt^dDt=R2OHYCcW^%(UE24A>G-Ll-QS{bqSvB zK4I2{YBNfs`i|VAe+fSszvVk??9@DMIWlkaNxfr7UOI!e?0I^KLF{QSTu^!9wj4hT z3o36HZG`8CUD-k>b>T%Xv5WaT)Ncd|0s`Z-|INRDy4kpHX zM!-9&qZRIB)iV+NU&J>x{BLyhE-Plqm^TS~K5|)kNO|p=t2N0%`$E2zvY$8{_h9R+ z#-#m^O-Vi>es6~VgUFQjmpQ)keIm{AkT==tAkQO<*N*1TzwVk7bc4H|olXq6yPo~o zj7Tp`R-&9U*TJe2hZ`Tn10 zdD{Y9IBU|S^BUAskF7N0b>wXPRP|Llf*@$_ zD*J2yN;$8Oc4iS-F+I%EE*K54g8MFW3&lIsP947}u9@>StZw-;oP!C^sr+%(PrBA# z!}E#usCKcYT4d}`k~{Ey2ETU%+L>I?X8H+ikN%T8)-LBPOS&XAKOJ9TdV1;qrtbaY z?5wJL|L4pMCNhak5;T!u=1dYyB+x|TE#!vYImw`*4wf*%28&;ELR6^10_rWK!E(Zn z3I^LuOTXS)YbR2#5ac#$ZJA!u4xp_XyoTTpspK|-@B4Kt?}jX`v||g`7L?nzpSY|pg0oht5+VV zE#baieTOP;ca-vOUru|y|BIg-NCF&n_8f5YouzcW1~_ccVwSBX^4t21GSLvdgm2Ci zXGS!GOvF0l$Jgn3=<>ozihp0z{zoJ~^Aqs=(jwJ8*+MrKUvh0?9GsyxK2HlefsX<@ zk70_yNY8PZ=;GrCHV3_M2l0sB=Ue{fiG(|d?fDFzmv43VjW5f!hxghtNBg{-T;zWT z?E5*?+qWa0NIqBo=@ZYiaeq)U^D@KTwo16UZ;1QMGkkHkc>}Kzt-KD2gC-k!qO+mU z56B$&V|^;4_t54)OSgs}-A+D~_-`TC-&vE7nUAzMtBl>H?{V6hxbU0(B#j~Jm-b}U z;9}nYvOcPuF{uB^$Qgqd_*kfWMHR!+_WI44&$#{ieEXp@2YY?{juGD9gzm0zPJ*$K zyxqQELC(EfF}#hnqp=n+mWTQG{*rUnxj8(r1;vkrbwBQr-B5l4^z^?2K1KH?=9l*tnf`QlFZ5Pp3@K=Lo z&s}X9{e?2=PcX^->+5}df19lhC(<=K4gFnP;n&~(jT|GM+sYn@z4)q)`3Ikk=dLq@dn8)BB7W8H9r^QamvaaI(m4q|b9O_%P*5&So>YLA@_Nm$G#5?YdCDdm z_km?>94P4httGr;{*#*yGxiPq{sQs~z5|jZy=mEPl-WA;TK5fynsOG#^IokXDcm=~n@AfXd<_}eJx@hg1Z!p*K6|X4XALH9AdaPe0 z#bj{Gww{)?Coi`Cfq&&m_N;tNe4?L%`YxxV| z%GhdnZQ(cTq~GV}*&3hGq-~IewHep{nx{qU(SfJ1C!_BX*Ssw1r!*I&|31GWxkLR> zxW99b_5DWr?c)Q6cSVSuCBD1PJ9L@YS^A~HME$I`*Uy-;?c&$u+pZjZdcJ#)E7)W0 z&$l$JGyN4Xx+}ojvgOOOX5HxRx^VYIA9<7JgxKvU=Y7ae$B&?&fYZ$@XF3~SMn5Uf z+K`Ylow2BTPh$B9_Y5DHJjgun>-;^+-?#buE`Q(WZ;ZbuoW8l+Zd`s_-Nt|6@;b&iD}i)?#_1I74y8EMUkz8*Lcz#%I|$VDLY%zK3LuCXf36EZCm~KY5G0pe{-gi z@BQo^8(Ta$x~*fd2L9?pZQN6oj6cD*+<(Bl>+$xEeMflj$L3@3D}CJfUi5n{w6AqB zN@GNseEY#RVu5tTdo!A^_9$kE59sI{zc#N9zvp%6PQm*v|5cghv3Kg8LE=Q_ciGMi zeNBB4wM}uQ?ZCC5xG3AUc)xV7b()%V7~TO9o@jqrYlg(}@uKM(+Y+qsq6_HUhrY)P zf5n;{|GV$A|1S1`JFowP=wJP6abmNt*Em6$V$ePMRv)x#I%m6u|JxY1!#tPr{ihQP z_;0p*CAPbP=aSR&i0s_gSxlmyiDpLUg%epLxCEcs!XNZmcQX51AUNczA$t#Frerl4 zu?_V@?GiudxP*MU8Qc;Nx5dM45uBH^i5|4?J(V8p8|=_T2R09|TwJng{kESzklg4E zJziLlKhR(7hx}=#uPy+tUwvb1tK;h5lH}sIbZukI1-_pD4fRd*8T6Z6`8GFav)HnD zkg=AygMaiTtY4r@{Kd-9i^`1O>s>#U=KFq9PJhIGV`S)6^b7s*zkGlEg>Xn-U<$yD z(l4dkc`r%)6C>0=_|SOPo>_N_+GviVc9mQ^bT$#-+Q2Q_9-~i>04p7A^SNP#|7GZi zRzbNTFk`@M!#=iARymaWo~rKd77oR*KIbpySDfn$^dyVToxmmD+AvyXk7}JFx$I+y#kcrxCx@7>f43EP9ky{o z_kX;Su~Yigc8db$B}X98T~HuCplw2%>Ur64StT-R(V!ia&s#CZ%Fnj z{C9=ET{uM?d-8|WZ$Nh!JDVSppM>Ac*&g6r!{j#qzVJ2|CuE1>wQ`2HbMz;$&?}_r9?18ZF$TX}ISnY4bgPUkt11^N4@(n}BPKID9dlA%?DHT0u% zom#)i$dlJkkvX&CFa2Tj2L3CL=l#cpBcI$gpnc^+vUrjBw=q*ZqsLRd9_K1HHPIvA z8E|8B)?8ljb#~Jfg?#GGBZ1|>)tt%2&$T^>` z&T@Wa{g#`{RNs%iW9I|vr|o_pz_(Wnt!*!HpLCR;GPWp&Eyd^5Kg^Bl=Nc@YGH2)R zD9#?>gUO)c7ra{h8rx2;Fl8I&`Myob+A!uopFW#Yg*QESpVM*8Z1ymc#n?J!HdmCL z$bQBww|c$`osjF|3mhpWC-5?fca0@42`?`!a6U0b%-inf_-;JVI%CJH4%DzI@iX&Q z`c8alta#_!++5TDF1*vtG2X}-o9b2MdfH>|WNk~|oLqU{czz#Z%gMxE`gUUHy1V^c z%H~y*eQoJ?x}49yevthyt%(PzGH-?o!nR-cnO ztp|tI6KgWM@p(}yhjcR)Owdi>BWf?(mmL&tezUD@+xIhLy&MlV)`^Erb>QVoe~S-b zGCB!uTInQTA9OO$_o=Tp8wzE?uE?j&w>G%@TgUWnj?R|J&K9CGJ+mjlp3H%w?7N#g z1ayDweAej2EB`eP7VuNE!9LnhroEBcLRZH+1N$MKm*6j=OP{K|$ajEk4ixH?$LIRn z`gTL8U90!-XK$P?<~_IY`l`EZbJ8~o+!Gjb|d z3-z8xM&|8}^%?oE!soFG`FbRgx`V( zrm6pEp6mO`>Vu7VnKbvddT^-Tc)H5-ES|RIcve}c7yqF?&vU@f96Q5v_$_!~GCT)4 zH_@gU&-r@Kb2a$4r#T&;zf*Sxh=2Jm{%(C6Y)k&n-8$xD$ea3Dhz-=`;WMz3jo86@ zq032#A2ps?mv!s4|Lo(9=2VQa?1^g(bah{CW!nWNY|K`EG;Wh0=Ro?ZmjXjKi#PxACny zi~Gel43@~th`!>C!jC_$E8Fl~b{vF52j2eDtc39rUfvn(-Z4 zx1Q+u!ggn(8^y*5-{?u4EdrjqSo(W_e^Iy-_F2MQPC0?_6ANp^f?z|6ZRv0IO^&{3 z_aucmFP=7gWO>?(nXzm$ei7N)8}UoF$UmyYalIb`YN$SZBlsN&rQn%d?cso5L2;#6CKH0sBa1*84y1=VDYI`q}J)@}_nXl?QmYS9W2DDca9CT`|wwOWUz4 zxnq-<1Kv{7`>hbC$fIpfQ1j~d{!={;*3TLH?a1^ky<(5# zkH>h`EA}WRVP|RVQMqDIC=WK4m&wPTDf^;XtZAm}j%oC3$4k_&9nKg)8J`uj1&j33otOYF zH{4mFqn)e+5gU{jovt-B?M?H2w(y-SiwU>B+0AF?y6A8;sj@h!NRdK#--zh?r+_;^~s!q-=#dSXLbztY!V z9n}*H(t6f6SifeT#(YIFW~GZ8wbef6oaNh>qxPk!z1B0t-^QqZV^pu$pnBq2DqA_K z*W5w%tD^d=qk6^lwIy2zGX4}d;Zr_gF;VeS?Tb{)V|BXnC`^es;GT2*Zy+fz8JM%m22M> zwdY(}hW>W+tGP4tS<^4`VEcc$@8j)W&sPCQF0DDUjrHP7Ik^6JG5@pt#XsX)S_>_7 zB#+eaFRjVJm{;b9Tn?+VLW3)sg0HDb!I2>QSln% zg>UI1)pM+;Rk`-~a1H-7-&C&iBIVyY9?KujhW=gsE?cj^wiDcUl78|E&S%SScHCxr zw4wZml$$@5Ij81fj|AA8v#|dX${)NrgX6JKzV`Ps<%fkExe9y(PGl&*D9g zUAO+Rl@C!Kp3mp3M1k)O3cezE|9tz)dA@JAm6uiSpC9Hfnss0Nu$7l656`nGFC6-i zl@|r?pU-D6x$wPPtUOVUlnJx4nSLRn8#ww3kL0%h9IbFr;7xXYJmuQZhH^<}o-r~U%p1HNo_1XuHAwkPJ{ z3fz$+8tuR()Eh0?)%nR_?TPl!)gHe6nZot!`0iETA0;o`zMD^EuZyT#~U`9mUYZ?u--<~@}pER@_tNC)TlJn!H)oNhE9H=^4UB4ERqZ%8 z(LWpiratJd0ggOIaO;43LTh7!1($qYIM(Lcr**V@BX!>iZKSU+_e&PD&E(;Jt#2J1 zy`VJCJa~Ky-+e0{s(g&~7S72y-e>9k7vKxa;eoO+?_+*vcnY)Loh|QA#@7{iuM}9} zW^5ks1@CNh5SNQar*!9WN)F(68{SYh-~MA=R3QIR{QIiS`G zKjh2&dY{%4nSX1K`NA6b@$+j6Iy(VP&Uy1rRq`}_w|7<)yI5Y>+1tws*m~F318%T)%W{+@LHb_?)3TK4b+o^Yp=)hEA@fo zED`VMKg$(w@OA17;a8pfI@d4jxKkvx)kFQ9`=T$|w=FI&FAC+!q0Wi$T=)hs^m7Bu zH##R2)6~b<+Cjx|_z1suV-u<074Ub#F{W~#r*u;qEHGZypCg|kekz`A)qAo5R($&B z1b%vAULWqCNFLjIY0rY(T>P<;y;Jqvtmi(OBws#Uo#VfU%{y1@Gft3$Pb?^w7hR$8 zrv36yC@)Z1a$oItvBL@MWW4&_TMmmCed|uol#gp18Ktgr;O4_6rG=yplRb1u~uW(?}jmoF+6R{^K{x? zMO*REP7a~}1^-|D)Qa9^fgU+VN{{F1(A(tc34ix-?7+X9IDJqHn;u9tq=lYy)#58ZjRR@5lNW{siEai%sl& z*ypD8_vdPzj2$Z(JILkiTbt0AUX+8PQ=NMnuJJAj&+crF>RBu0+=J_jPM4Q(f1CfV zVRFr0{3t2?-azu$eeX+>Ws6>?J_SdTY;)^p-^2g#&zsOK-__9>9J>Qe^CaQ59KRVK zt34m9*)!!?@7mzE+ehWMz%wpAQlq_WrvN`~(6#(gxRNEGNZx+eKmmS|1wD(ZzjMbx zapPU@)9)g4&#;a)u`~DXu+Q_EBOU&n-rr!(s(0JyTmNobX}IzyAI`)G&QT7JqQ5cD zF)4nOrAKs%?dVLY+IFV(w2kW(KcxFn-`3jDwn$rY<;=TaHJzLK?k)DMle;<3Ccf6i zeEt4S8NSp$#ht5zFIz7X-NM!z54&$)upa4osh4fNKj26%_2=3>e|pcfb)Ca6o_o4p z>((2=UH|RyR;g#rt-inDaWIIZ*2>d_eX( zguN2ShO5r6xc3EE_WzB4a0{n>+eqi+DAyU&d$kTr8+h{j{(gQ*TjpT=fsgt}HNS*r zm2Yh6d+%XB%KdKX8NTWabi#STLh__-g+Sy?e)TvTqJ|_9W?A5Nm1mcN>?rjTgZ6yLaNx@VG($ zna93e|HTXVXPwAcxrFB>j;|7Z_&D#!9f9T;bF5Kdm_zI-@Sd>lfj9)b)*+4nqZrPa z9#>yHllqQ*Up9Ptzb@Ig_lge>Z2j=Q_sQPQ^qGYB#*vpc#Nm9-WcwtvIRhJHe*_z! zD3Wu5e?rgIg{6sA11A5ZXc|zw6f=AccY9;*xf$)Ygv2J`B(!!-6f@d z46!5TWm38a&l%n~3t9`{w|v0*1zY;tk8!6H|C6QlJ2Bci-MZxi$Z0-k-LHGPKfkQ6dC@dKH!Yf{PNCmZk3+M*wn+aU zRv+SPcR2eC>yJ?$qa4rM;BLu8v3PCc4R)Hh6&qu^xwpK# zv}1(t=k?ad#~s!0yWg$Gnb4MTU`Nt1@*6s{Rv&}Bj(WkpmcQOQ{=JG_YfC$h;Rk9X zp7cA6l@mMb`mL=@c1XX()s#PLzp}KW8n@?ny?s{qYOgpXIT$AouM|D`9kKc!X5!nf zeq8zz+z9LK>Mx6*iV4cM`Az(_v5E0odHEXoQ(=<402sB?dneW(!1q9>7u*)NjDHt{ zL{qRsdN;-Mps`H2|6_*Z1zA%%z^)Na=}5dciz}K#kx3;d`-G!{Q0|_%;7F}XzpkxH{XG@JZe%o zjn9k9=+gR1`cz-}I&%3z?bV@klfn85nEJOQb7z)lr!z}6U}OuutVukG%~-!vhCUAJ z-4^vl3AwA}Cz`iO2g*|(k}S*MOZ~Y_Hp?^rk;Ua*jJ1Z;>Aps?sg_ zO944Fmy$k&OMRg;q&>ib*L=cog?R4ews)7{)!HMEwYPR|O^7=~21h;KQSg?)8*s*Q zk7->|`CUXGdOK7W&US>psGY<&DaeD}y;h9dYBQs5Kj7WbOI(rMw0GadV+|YL^Z9Zfv+HTHT8II_#A*QW~={o)z=~j)eY+KRXm7^Kw z6v5xj=cRAin)FTouzt0}XywW+7GF}@G0Ygi+Sm@(!FF^%-+qnOy^w9-Wp$r*_KMFH zZQUSzC$zq9kj*y}Yz-S^Zo+!UK!`cl${sZjA{U0QHIk|7fYGqz6S`u zpU;(V1s)#eo+#b~3l4(cMfObI<=2f|45!{?^trUw=<@G4y;eNgJ5Fw%kk{!<{Gdwi zYJP#O_8`}fUq&0^uX0yx$^7eynedOF)#G7ZHz6Kce#g8b#C6$U30cmQEcmzjsuXes zU$@TJ-4gs!cNGBpE%Bwf2{L^`&*Zau{$g zek*qi&o$tcSEl)|%ZZ=2y!?l^4Q##D<>j|=KL9iaY^@5uG$(r?s(-LO>Q~vY`g4S4@JYE$;~+i9b|C0^>@weh6H{P-^SZsv&S zM`fRtz53tXcb#E#SoMGR#pqY%dM@)UU4*fr*V&6~RQ;>HeA&KW&IF(Nw8vQpI3pg4 z8aE;yw7#YB;s+FjwJRchku(DD5^#6FfYl!_b66R#|QIi;4 zo55NWYarPC8pdkgL7cgXduHV~iv1T_?B`ki^A_b7j04*5$;bFf)>l*~T?PG|fquwe zv@R-}%fx;5NY=21y~gmfE@Nvs(HaeHPG|l-EEvvsTyq;bx92Mg?%Odczn||4h4Ldw z8lx?)Ll6Gv5R;@ETOT?q*c=~{t4DWr!b6ZLj(4{1+aHbPzVFvaCi+bAiM=KMN;_V~ z9<1JZJ<2U^T*j9!xxnuWsgK<<*z{Zw!2M^q)FLb#6xSl9J)Wc%iu=H z$Ma=Z__ET`+XjY?I=Bksk>KL8<)Q37w+@Wl?chqp1A~jojuJOjHgxxG1J&Pja7mN0 zyXZf`mA?$#<(@z6&dQeGHjtd|%H)eheBaMa()CByNY$s~HT*+oQG@TA?aIfQ3n-qN z9WP~EU~KQyZ;c(S&$A9=>$JkJGOg=boy{S@N10;5E@DPPjD((BmkVpG?T%)`Sr5St z36JPPOTP=UPkz_h$=jAXSbOH|kFBE#mbO-=96rEOuQ|T{!aO(4Lq!vODLtN%a}B@U z_ymrp918vT|CtA5<9@A3gZAa^q3(lw8if#&Ee<>hfsC zQqJ?7q4Cl4Vq;Upi*j0%5nRM)ixq_q&qotnUqi>K%r}L#?`*C`&SLMhYu>6kOUOlQ z0v`5KCRi_!Ps;Uv0CNyq22{~x61yKvU||o^~p6?(02*^8Qfpy z%7Ci@SEam{`9)c<*rVCYN*|XLqj;8HX0wK0q+W3`@Z2m%{h)Y=a@0&8qqC$4KF*NU zf?dsW{T}GseHqyQ$&%UkL&e)1ds8-7FVctTYt1P2@`I9#*%>)3=T@x8R>GW?yUoU> zL*#vuZ~dA)VQgu|XSD^Nyg+uc=Ft}8V|ziyz^BF(&+88JSAL6U&+m>{@5keJ%gNH9o7QhjXwTV^8gSh0-U2-IhPo?rmFwhb)PVV-;diu{ ze-5i%;Q2egF5!HNc>aL<&dWZ*a8}4@kY5fIioV^D=C6GBB8FQK!JQ49zzGtKN^z2R?e2N(OgUY&KjgV`MzmLhZm_|__1NOaD6QMFk2^|xt?emy zI3k}X=Gb@ez@sq$y$-AHyXdPv|80#!`@F4ioKIaHM>L1_d}Lx9aZBUn5bv5+zn`ob zVUAf{n+(^!&$tF}Z`R#0%zvxBj5)-hdx#e{|86IKQU50O6?Rqattcno4a^#gKfWws z>`=L#vGg*2RlGw(vEXIu3*HIM_$+>%U$?ohE%@x0{27+$z4vBv`Ix;|a=~XOeCmDn zAfL+kMwQl4#%otG&*Aq|`W?$kES9X?X*^y-K4Qk;7&{*W*F`$`l4JwsA^p$mVr8Q){(Gv65WgZjVeLw`ruB}Ey2~+= zXDjg>8=ZR@wklhj$vsi()3Pfcc!$d2o3eDCyV;j%KKI9b<5=**Qv%OM>NJ11d6Sp0M<`}6cB z{dw9H{rOSaPp3aa>|c@V2hA1Iae#i@%iOre+*p0~9ddzszc<=Q!1<~dfwOO#I14$P z+8Y>SJ{8;LcQba`e9yBYzrfBiV=1;P`S2S%o1yh>Jy$hvMvOF3_YE{T)1Xz%hR;q|pyUOzYuUVHxM ztpf#r9_X|GU-G&v%j>{2cwKkvZ38`iFW~oHB3={LnSu=r`TdSy14aM)FA5qX$r%_w z6>r~yUFll`mN(UI9_S^uYcHtEa|~zmUT+(MEi85G$y3@6<3$hSne6thFOiHDFNf?r z$P{E8(ps5#T%PTZf5iubU8n2fk)6kNl3D&a#Jy~7)iVdvID!nnrS;cX2lz(|)~CL_Mp@xJ`gDptrrHVQfaqpt0v~=4O}rZ(&Ex$#SpqK^JURM` zD_eh)@A-IN{Re&Tl6B^WaXgAE!u`nPvmdSgZ`PD(uiszO@4x5w|90zh#)o2LSZ5KO zo^=)gnCjoV^(Ef1O6TvPyvRMRP2(EhTC}(ey?>Mbp=av~;L;lWuS!-uvj%^Z{;2WH zesH?}qqerE9rLAU@YOuNfM0#0{c-(n$_sKZ$FMy7+l(1nOS0d{Y4aE#gN6I6!X4@A zA3QDXM+JQ;w<&_p$~=E++kKzgZ?yFduWRvEmA&!1fKCgb# z^*iFr;!niakmoD(Loe|s(Ve33)l3Jnah;7|P2gC3zL0s(KI!eRpeJ6--ZzvN$Vae) zIjQfk-#wf4(8}DOkA}T_3JvK`xPKlR(-|*yK3eexdEDMB`qXn#`>;{J4EebKBgMH8 z+xcT|aEEn^W-_Utn#v^kc<(Qz;n$@DKh5Mx z_cxHW8L!5VWbwKRx=C_6Nb&pva+R^iRIW&$RrQZ#i~C?2vf29c6#bCuTQKk~pC|=e zn5Mi1+C?^E`&=pBd_VeeNPA$?mvZN#Wb$#Xjc2VD^bk7>eqV?fncgp<{VmZ7wvjp4 zAJ!SDmmKKI&R7szcT{&KJ9Iuo^HMvP1gy%n##7x{+VLkEH*a7+7~iv)thwwBr5)*B zJgm=+?z~50*ABUT)hj>0m6m#G!@F{+_zz=w?DFqp{w++wU z2295br;z7eK_2+lp3!ZJuX-lG`JtX8ISYQT%f6o%m1pG7$+xaSzT8}kex0lFD$J{v zCr|%S_jN1QYCltY2j}M%XVIDXNtW{tuP?thlsme1jtqUQQ5)+Yr)QVH1Uu#Z6228Y zH-@RTx1DZw6t$Dh^{n#tl`nr|i}JI5x%l^fH=-ENZ`&7AIq^g5X`=roKX%8wi2ph2 zvleaM+M-P!hw0GETnap#j1P(jd@=B_)Z??bB$`cNRz)zkoGr;Da?d0kh0ZWMH__qkg7+cf)RXC!Ov*HiV$ zO)c6q<$W4{@*5uCRDH51qS??V8Y}$RW9whUa_sx*B4=d8lb%PSIcb^at(+MtaArht z?|teE^&{>6=!IuLYB3P~k#lu&_G^y)2JVUg$8#8?%#V)qTXJc?)5ckiA;8->3(a(# zb>q((@LjW4W9)Ho=If0HvKkE^&l_kUlZ}y#_0oxr<|D--^cUn9$7PiOi4bw5Un-x6o5!Zn|V z%NbVPZNk3JUhNN2eiLQdA7cGve8C@asTr@CLE&fY8K+0N14;m^^^ zhNH6G$mMl#82ItD?te6ar|gCper*K*@h0$;y+4NUjo^oxz*Ba44BrR*S@`C4$xr+<^@qIAbO81P#C&{A7tHN6)) zO5^0TpOcM`s2w(w@I5K+{fjjnvC*PKj?IvwQD}=abQ; z`EK9=zN+NIJdtUC({1IeJ>at6l6yI4LHm)lpXV3e z_Gm$|6F3_$#m9nVZaVKYm|vR)%!cE_Ohu=`o-TmD3*gV&llg}K&D!7iQt6Pm+ti+X zd2CM)p!*u-lJmdo3;=S`nLBgo&T`$26*vxyQgJi5jKOr9gJ-MpypKt#Uo&M{fzO2z6`N= zV&_-=84!QA*L}g)mGEo5 zU)P2m!wYMArSZ2bH_(_SwT4hdV6EmJ`Vpbb@aK_o$2cm-CYF^^?#ww)x9=uM@$X+ zw{ewzF&zQF>qH;JqOzV4|Dv*5D1)bvtBf%|KiF<}VeFIr?AE%1Y%su(i{xRHUu9s( zKk_g;Vi@HKOW!^`W_ejO;}Irkv8tdsw({q~C&1Ul!w5 zj3A#eexrOuI4Z~`93%V}4qIPA#(}tf)MiLyXQVH9SrhQKk>|v9>H4Ac1dg`zThwDe zK@RaB?6FzyJ6HbC*{*ut`}y?FkQ7#pmQvWAK_hw8f}Z5X^&&a$G_Jkc6i^}rnxB3(9-#I^TE-} z8}t2dK5sJfow%=A9G>js?r&lV?X>^ACmC8fC?2ab&~vr@5&7Q;cROHz!*5r<4vnPp zf8CEyxNqtuuXu!bV|P*)bw8l)-d5Y>70UJM<+^iQZAap^C%XH$&*EM@-CxL^+C}dA ztK&G)-7y&IdwqStm0TL}@v`IKdfC*tN-?gsAo+IE2E2?t}=Dfd90^d zbsT)FGfOXrhx#nPd0bsFuACkkaOL!v$8~ayE7v~_xN`lQ$Hm=A7K7Bz$EF%E%(tB` zq{D93aL!5QBz(_O>q>TiUc1ZPQdnYAqPyJ{zphT4uGG%j&^FgD*k;3G^*(;6p1a)B`emWM-L-eP zOdmb61Htd9!!sti*qh?@u|#n29PrkbdAJn+2@(EwhhH&V?J7~b2K+w02+qsYhW%QH5KRd$TndQGU6@DN4g`anPTH`+{!aqC9|Ej6*`>|j8_WY`Eu?hE^Zx5uu zWh>mvSZ#-wvjyXyk9j`}ZKPAd9OK;u?)fuZ!7o)_rCi@5@O^B)XYkBxLOHyo4#81pAESkjSu5Ln$vXmCEDJ{xd(JJVE zX6ex5vwNrYO(iSK(~t0bSwma-R?26r6OT8@lYxuniFHGH25teqgbrmX9bi*Bl((bN|4n_CvXl<6DILl) zbmIO2u7S>;2+zhQbSO*d0GraGyd@pr8t9ZFy;Pd$tx3JbH_BVm0Z#*+jS-zaP3SbK zH#(HJqywHjom3|yjWinS@_A64H_$$hJDcY;;%`=OGIZr-i1L#|P3R<1-;Olt`zG~9 zhw`khB0At{kmpcDr>hAa%2J&Ho7x!VE$IN)K&Ke>{ZL(R`8+`5f9gj~+L(-#r?eFd zz$bd?c)Tj2wSStlnzS)mlxJvxFGFi6(oeCjzp3Sl+R#4LDeW_~JU-(CxSDeEc#Pd2 z;aN3J+Q6m#N&A#GI(qT>{f=LVY9sJx_ujP>iby-{q*j882}?&keM$h-mGPaW$cJbtE@@HOd{;1KU9B%7|7uf`x7auDG7( zJg!v#rRl}R2Kacqv^?3-NMmnT#NWp0(a4OMzKz8laAjf=b&@Bgl|*_kO*8&AX=Ah~ z&(H#2hE`WZYvVL&HEHAI%FzN}hE^rg;Ye18m6tIithhOIW~^+|#%NKVk&EAH+yQq( zT;CJXJ~U0*P1+c3$}_b2ozez(Bkf4Xhq5|uDfgbnHjZ{q$H3KTHyO_=5uOoGTVo6B z6fJ2tY2$RBi|4?lw87mVcZ?^g%bkv8)MxCY+M|lRW)PgSM8Muut;3&_)jkKUkc?RxK3pmO%a3d|~ zQl5c3)B=w344l^K^Lqrx>haIwnf4Fmo0O;d0MEjc$rZIv9P;ljFOS+)qxeU8W=xQbCMH{iTF!Z{Mbu8L%*JcE0r510y4!exJVeSD4we$m)){ zI>pWE!o;70C>^upu?5!uIo_dZS;E^l9r+pUoCE24-@!#(F zxB0=INEY=4xC_usx~^PQoLP2r2w;q#2*2@zK7;;hI%_~%>DA`B-k#F(u-=87E%66= z+1E7uI+wtCf#dQW`VpI`fnRM**BbxD2Yr*4$NY8SA37H_-=77-7xb)mXg=~pbdPel zullC?xlPL}x+0&1w&qG^SL#p8J0f4)AJxldEWe2ABRdP{F;YLS__p$&a3%xZ)B3BU zdi9BL7o+-eR3FZLtcvP4M)iy{)@SIjNA$>*dgQ0VS#ofE^YTDRWzsD=2z}nHUD9>N zqMn(}+pCXsrmp7WLyvHVvnRjve-8{j>3lI!3|i~^5?*U-OYSTp?K8F(%0nNE=OpT* zAup%ss(4kZ8T zane62&T!VTtA&oRiBxx9M}cp}`ixA}XLt`Xsod+qWNjf+;5{8fyi6J1BbkB@3}-W$ z_C&m+o3!8Q)4WW9@1`=vya$=U7xa*k30Y-#foH=HX8;L|n3O60F0&h&X-FGqF7$i_GLdVD606|189eqY}#j=>Y(pm4FInGdOc zldnG(;otA^tA4YuN2ZkiNK}6bzJEdKK$Y*P%igP(`2X_TL;7wPb(^qn>da^S_}8pW zCeGyB`hKkSfp3HBH{NfvF`^+3g#JN}T8JmmPwfr<)AG1~u8w5vigcWhGh4h);88kh zQ_PW!Gm%kzqSK7Mp&zq1V0x&}*c*DYm;isl-^>otV;U2%-;6(?1H-q4|Fp~aGP()) zGX8+BQhY%_t0Fzb`YA=_K|jc#I2U+KV}fL&ZIIV^4>ILt4Khhb$Q1Z9pUle?$J`*3 z@Ws9#WD>q06Ma}~*5{R|9C)(@FH`7`yi7sXyi6Hcb20_~8f1cIkk{}9nbd!=tj%OP z7V#eU6F!~F>SeO|!A)*{FtPKq4eyi>#rFza>)y|?cgD)(QN6s+qIc{*@e%IE=bhj_ z@+#i-N~&|1gD}tNONMzl{NzdQ0(d|FYkigBG262CMZBQ`;c;$r;)Pg-du|sX8m`pblPu)7gE= zRMh)z8uh?s zi@M17ta;~n61YX^PWnjxYG9c6bcd_x?#1ds`Xcu~lvH0nI4b_GyX?Mjo?d+G{a<@` z?-$VZacNxO`Zc+4z|P(e>3ulqfcMzX=Xp}H(PuUI>q(aK{qwE&`+2~j!X4`-x{6yD zeF?a>m%DHNa{hn(p(mgH=(T!ZDr#3yyRKhaw5nKKbc^mMN2hkzmUMi@!utCM7q~vN zaVlyry4D{}V2d+-EXeoQxqQ1s{n+p35ht#T6YK*THV$Ja zdv#yGkEd1LRiv>3JF4i}{5To@HM1S~iDH}ilX%27^Kz;WgPyDH#nV&1d|b5ohuU7< zylvY5%wtRs&FHphJ1x2`cuxCJa|v|YjCakY66F};KjMo!i+y=XI=?W@G0^4dKSk%t zNz@n0Nzj9xzb5xGeUqP@c|S0^gGn%Jf$0V29PUh{jCZTI_kWi9lPL3fU#Qo(zKeTm zl=o%)nEXt+8SitGqczqgjQt^ZYb)+@@5l2_{i#3Xo$5Z%N1x||`_zCnJ`R4yt>2Ne z+I!ixYn9)X$ZOj8#B1eniQM5Ta7^s{x_c-4Cbu45o5A-|SqFTBY>D}1ZGL5VY({0c z?N@glzU=z8KV6p)do)fjM7J&Kd-j~{#&XvAY70y0+IRUAm4TrjL~B|t+9%ib+@H3? zSEt*~(e1gvnqSX+VdgdWjz{a6>38AWeIQ3WlL_86AFpxW$0+wMk8!U=mE0Zw8de^r z?^#v#PCYT$>DnJK)Z=^m}+mJ4+Mk zy&ir3olyEf_e2zuWKYkblZX*#*f#^i_W~z&M&ASS_iY55f=BKr@%I$S7bJiAB64}2 z@d5PrbPs$hwzgMaHTcO_R0i~17@0L_@iv(~*d{xcu0KB4%>nR3CO|H}(Qju)?Jqki z*S<7+@R_5uR}L?oLQ{TJI8XDE`aDT>qs(Utij(-xxZ2Eja(6t(y%J*y-|1oQL>u7{ zKb55STlo2bWbelZD*t$=txa|ndlr37Ikfyu?RBrj$gdA4N%vgE;xc>}MT2_f*>*1r zaHGVa%Ki__=WN_Any)inc7aD@Lx}xmKbwY?vnrOX;C=<+v-?u4Zt0+6faLfxG9>(G zd^kPyhrW-V{|?e`OIG`KnY+(rV&`yr--PaTu~?<=@_tWu@bJ46`4#W@uQ`_X0*c%x z%6)3XLy~Q!8)u}a(Us`^lQ(AMN;*ozd{5l$PjU&aP2*iNxGlh~h7M z7b4&AtK`#XK`$B`-bKMjkU&SW-(RF8a6Z|oD6l9CwTTGu7 zXrp+~9Mamvcr<6GU4Lzp`B^9PwrpQQlZ?vdS=N_!#=G8^{pw4_(9l=OuTR~V)LRaw zoJ{RDdz};StS>`sJj=(`(3iyEv@dfonZ88tcE7!gqZevz!Qv?L$rr6J-FSPU{9C$G zU#78&=b>ll@7SMtmjAr>X%~YhcK)Nk|KzksCUzznKMX!>G4<0Oj4ST`DD6pC^&UU| z*gZsy)c?Qm|L=1D*PX)MK%ent`~Cm>{r?gF|BL?rm;L{T{r^M$|2O>q$Nc~A`Tte_ z|A_y8)c=2q|4SJER?!bfZ?f;HT&Xb%{(89EsBp}|^)RO{Jm;TP{`_3GUIg6U2yRz^ z3-)mTubY0$`11&Gx?g9A|25hb!67<@=Lg*XWS;wf%>RDD)o&Hfj(Ph2`!Iv7?vcsZ z_pU$7+4qvl@QswoPh{WtPyZ-%s+1?mJhSDJ;u7Dk6dzVTkzSn{KbKupU(Mx-^`ELD$MNwO&@>4hWN9ZE}5ZKI4<>+Pp53 z=LUw=2a+Yk5B3B**U9IBD|p>a8y?*v>&YpNCjB)8J@r?G|I$+rJP@;{O<%Uql3(Aq z$qV2-kC-bN=wtgI`ajr*e*0J!`kMSLUF$PjqTej{1CQ=b()jwOA24R}Te`#dhJP7Z zY`l{l4CThVSta6Lz0cF}t{EKTj=qI+s`N+v*O)L@xEU8h-&ky4QPMZkJC)m!BMf3I zS+KUINYjGv=EiR-a7 z{0$tGmz%T`d|V#GSC`RWIXZ&3^2l$Qn<2N;m+BMIiRycTUke5~n!&7#VOZNTJvPzx zy^QzLZ+Gcr)AL^DXFbo;&r44nxAKjyy!#^m|6>3D9qvEt!2^Zz$rgW-(v62D?~U`^ z8gQTNR&nBD`kVP?qI+J$?=Jrxr0|=2QxnCQ@SE|gLaa6Y(3ii>eT&_km#X-0W!FA^ zZo~ZX`;Tk>Sh{<%?=(A8)i77+W-hfb89qXuslAcWg^hVIxgR+&e$j^wdzd7bE0g~W zGv*H~H&Sj+9x!a<9nZ;A1H-j$m+RxlmQQP3?s4;mJ?+K$gO{zedBYw*@7R-!%pN=f z@Ah3s;gd~3`(;;Ie(7+azaj1dCx6tPaOPLV-0$~FzZ;xyZAEvM6Cy{*4Mr$aK2W&6 zdlUV{+H+x^WHmU+LY?xAdGaygf#!?BQ&J8Z@U#=(!6p3^K7${V$KY?B?)O|bH=|s- z*(bh$>n3MNd6q6!&o?OE`tR7N^wN#3MKFAGXuiq~4m^CkL32CP@%lIBbj)3ByU}q9 z58jWUuK<5p9=`I5!5boY#?d)yEBg6<`uK0Tev13%UN4jJ_I$hBNAkSNUeJHP?h1Y{ za252X@k#m{rQgS}%U#&qR&rg%SmnI*b*jq%BfBg|vCZah(i1jPP;SQmbbcMyQ`!@| z*RHC$Ry%gaeV6ico8N2fBu`a-D!$YgC(0I@)W3`RggZaQH~$Cf_hJ68hJ8xib07TH z^2t9)phrH5to1qTBAc`B4SMr)z0zuIBLnwpgWL56e1W~u>R4g016=9%X^}zw^a=8L z`LJ?v+q;rp`m}e&9Yl<|vODt!U!Ja`=nMvMHV;E?`icEF=3yG&`dmy-^KGpMFt&+K zLXIF`GW+tp%Xdc5jmm4#sWR^l@n3i?*5EH%BlGJ6orYU*ng=3V&lTl#zw9l`k+}|Q zd#-^`?rYtxy*c>Y(_Wf0sJknx?H&70lnr}%c*o-r#TKLO=OYWWmZKbP3K*RaoT}dM z1MX>iV;^_0T*lsBc~SL4e}0PYgtxmKr@$@x0aksowMQ|kE$ev5=zf(@ zM?cr);7lfGBkhbLbFoS0j+2-8xW+ti7dB914y^vO7({HNZAO0qS7C(tb_~nB?s#o9 zN0-l>$$h(-wk_z$*D`R^pi$JG5p>iSnYJxxgtddI`X)(|0re68=j#6(rm3fwl>ceS zF1cTf9A-z#CBU61Zes(cGk(+0oi%jUOI~^1SJr1t{!ZvNgHwF&zOLs! z#Y6h;!Yc96auM`&KCxD`)n8ik(*IN@au@6C5QCFw-I99*wZ~vFn6YH`cDtwkbQ{kZ zCj*W!M%Dg+`D$)&;=D2CmWMNY6Wpym{A%e!`v%<_TjmaGZEBR?Repz@y`)&rI;6@i zmmis%&fPTz$R^EZ-I(geTyi{<2O7e!`K9to+3jxTO~uTZn|`Zeg8Aiya+<=~eeR4n zzk7&{Dp!oOx^sxr%eOB2w#oFM$&~+&li-q4-vsw_Pv|?f`u3yEQ#3B+VsDi@eG4UM z%;$Rw;8mM2e@W+W>W^iP|AU$j0&BdS+h=D-Zb5dV$#3g(Tn@oWAXN3|z1pL@Sq z`#+-Gg?{fYGIw|tcI=<8)VCS*d@5snss8*KeIHHb3-~4j`9pYqO5>l(Pp16z`tuo~ zoViMIfiLIzO8Ktf_05M@)}KEkUs5@1Y~^|N=cka(%CX^+z9}mha_iz8p4oTNoK*d9 z<1qGF(ELK>{8xWh|Iv-5nscC+hWZEAf=A^i`*!@dcAu`d`)2sg2y5H&*-uFZwc&TN zXQ?|A&Tq0%i&;I|KZ1ugU%y^4Og#De67`B>S0I~gQGJ#u*MY~s^|Uk(w>JD2KmE*C zjApL9CjE#P#zlkoIp`PlT?&=w;Me(bjd2>ULz^%Tzct7f;fu#l;hbuG{8ieUU*~wr z;E*oB-)d~K@0F;%_6!8ef9Xqkb6#Ipp)ZR~_|+nO$?_QSIFp=HIOqez!GGbXZm#!h zIp{h^Cx+SF0_HT?YZLsxlCtg-IM4a=8C?!)i!^5iW zo1)(~=9sK?JZ<1f&USgE?RkjDoO~U#vow~=S0fttz6cs`4SMi2+5#>5H`w{j`u>vV zQ!@NGqL<2lzLVel*z?j!AJFp zzJ4L8GNyR*84aizJsos+0S3QnBL&y9WSvj%MRmt$j{@; zc^ogsm#=RjCu>fw-_X-b5wr3ok)kn?7CtKf=oVju3$rj^KGkXp>qxlzjG=4uIUuJDb z&&A-^xiR@YP2#`Wgms#9KRlfO2)T~(K%K47{+ss0rH>E!1y87vxA<`_!7Ha-Ln_E-6o-z8yX^7N)RT;}mVRBZqnb zn?4N~<}nAtnc>;OrQeJ>1>T8lBZsx|65dXcT)wXQMEmDPCZ2evp!mjJtpP@7!()6O zfu3+nHv7)saoTInF{!m*>p##&EU)MKXY7O~va#i}Zdb!K*Eq808Q}LoP{b7CY zR{fhh!;uifYm|@DHh*SA`JrsB%C|K&f9K4|>8)VfIor{yF5uZK-TVHt99Cl<^3|ZN zxsBG%+BBbz%GxwnLq@(m)?eM`&L)}M+nn4s-;td$50q|f4lTX3sIM|-)_gf(z3q5- z%>Mj&r1xSMQ^Cu=9Xw}~pp9PVh+jQRhub-q6w5vWzSPI3u=&nolNaUZqUpZ+L;eh# z)?8!%&GeTt1F^@oC3~r ze#sN};}r1Lj|NXa!kh69zj{vl5t-Vww-M>i>~x8TNAIe$*hN_{bCV~ZrT;1G*7*Yd z+a4Qd47%m-{(a*#HWQO;{_L6TI_!HXF6-RPY{jA8ii@xKlk^4O!`X zy`CT1Xe}aPzq3Y}`03=VmDZJ&ciZ|k`zN**65#rLAJf+2c@uhJo$E*P>n8PvPdsRU zF!0b(UpG-aZ;2az#Ai#~+WX1l)>z@?v$0}>)5-1P4}6-hf31igBcrW1`*jl2A2C() z_OLI}fnHj{X|HB9hodB$4SOisS7zMPnWA_fzN#^;iGJ^pj|!i3nD^03Bxhq^r(+ti zMf+09SK2G{2ivZy4Cq;VfBK&!Ck;OSFMeN&@q8DyQCvQ9N^OhvZ-0#EN$})p39i5y zFk9=3-Ye0VjNa@V)z&8Vh_5(Vp(!6Sdc~1blJnX#aS_A4$i>JGJNp>qxa{hj9L19c zKaU(1i>`R{cx@Xx(Yf5q$r-R!^@-Lyi<|?Cc~hCi9LCf$q-Xe6J|y1LvBR%7+1N2f zJ>yV)?3e=1VvhPbjyY4nTg)+dVh+4n%z@vK>uKy*r#uEZd$i`+OwK8MVa1OpT?|KW z$?`tVk}>u*u{ZK^+rtq3ydImulXJgxx{b%>DRlLpq1$vEM!%+e;-Yk|9OcY!PhOOu z`!MFFd;U}9&zuoH(p}?u@G$t8t?T@lF)=~0F37N%?=*_%z4BYyy$xA{3`Jx}*XbhO1smF*lanjt zmSKJ}Yr)NjC%2t(Fg-8WM9+^eOooXA_Pu57VZ64bi+Ml$k;-p1f6;rJU;o2_WZuyG zuyxz3o7}?xZJf&}~e8hwuP zTl=QfJKF}2@V;oeFHAp69}CWReVhz22K)hWld|fat2l36*jM2FSNBcn_I*dc_v}ZN z<5%yTWoNL|FJqLkZ^7Ane0@80k|&q1SHv6V0+s)3ep6Ol;5mi$=Lko%eza^0-_B-l zMENoN#(TZDYrXmVmzs@lwLS+Hzi$Qql;DMr^FXa&9-dD>Lr3x+VcanLNA8;5twomC zv-T)ksh$k3leVO`KN94fzeV~|Z0_e<bEa-{`u`i!!`OL=yeqQ zX4lZT@ZISD;G*H`!Apm0w8y8m?~|?4wzl2<{;KAY(eEd9j<;F9biAfH-{vL?DX7{oewfT_4_>c zdklP|=)MMSom)5(<5eFpwtPw7F^|TUB&;*aUh$Pt+Kth^+)=u_)REj>o>>|%&BUMJ zgZbY+>AY^o{D#JVX=2N(DAU~9_$_+fYQ2!yE<3AY`!*I|?)0X4a_EDq;3OCGe9iA` zs>7aSJFJwwONLGfSl-sIy9(wQzdJk(yDKe+e~%c&0e-0)B`bkg9Z^pojY zXXqI3Y+Xt6=r?;&L(+Hn&3I#dk>mRd@GYICG05H#@pC}h=f}a56mRi2;=<`6j*o8H zIG%r(qg}k&yBwvv{kX7uqO zn9p-`?|}LSJ=uBKF`gOcbSBSmo${OTh%Y9ruZ49bt#1hTvdh`u_0Kadbms;qc7Dba@ef2H>%}?lm1aZ#S6Xl zzAr8qT>NMGzV90RzS-bugL>yKyl3;Tl-W85^c2th+~QC>I7ah0I0y890zCW*KD9UC z+j#$td_Jv9bI9R}E_|GW@P> zV=h41W&(%9mYZ$kG_8s}HJ2$N{=coFO zzb6&W640knU-efNs7?M_!!qI!N@ z)%zvbPoYfTa2~iY(q{AZ(&w>_)z|@LJ?J!)|5smbc5+rS+@*d4rgj##rnYBQ+*%Cw zuv+ni^&Ha;bZfsh`O$J4IDs{ProHL;ouy&5m#*$5AIa!~{5yX>WCR^Q%h|e+Cr|AB zg2h171M5OH-eu!m&hfDo%stS- zwA+tEHxX+-1n>Rm3*NC?r?-c=S4Q?k+y9BIJfAKYy}MDIHF8Sz{n$0SQvD$L-{j6@ z_%Z2kCpzQKmJow$?=RuUm4PEW$s39JmeZ|v?f$Kgej%3@4$FtHd|N$lRhjOOp3ZyJO54abwe^to_KQY2H?YZp|;U@VRWEpW5y=* zx(V8T-c(f15@^G>U3WA+VjpupM{3)kA(i~c+~-NKeLG)&tNm?jd6Zo z^3?T@@~+N7^%wtl>$lm~3i(69^w|^+J33eT4tPR)yAud}vNPGJ`Bj7`56AEI!DiHE zzVm0x&EdD!-eGorH}+z-gRN}+o#K6IzXKoj`+XW;N{m&UT^>$hh&uu1LEi7Rb>m<+ z#L!S@>+Ix6{O+vE?`|l$_;CZz@~^Y8U&<6ew*QFOjs07E!M}q4$tP5Q4>_*08rns=w0AaryHRMBpfw5|z1JpL?$z36gqN|`#RmF$6g&ZbG4Ls! zDRkbcyA!6+`N8L?zsbcI;;#Ev{N~2@mEZDDjGe?g7uyf|_a(V^l(T0w#<O=2dw4NB3{wMyG zh<`=Zg*yV`F;i<&y#E-+%iv{acq?AF_`d4ul8bXbPqR2knSA`9?igC>>+uogXv#wv z`>lTW59)VA)bGW9J?|zL?w;uLxngwwGx)9Lm1n&yyT+)T3p>cxNc>r+Lz|r&k4UZ~5gmpsR ziMUTOzs#AUG4U-p#!tN~q`2wt;5%64x5`JsQAHLvZu2fN{l>j`Htq`VW&Aazg>IHW zt7+YxwqALkJBClZ&VZ5MqHU8_pJ#^8jJ|Oq0pWC31)BOkJvoV~$wmeT`JY}-&e$CG= z@%7k*)yuXiQ+=oIPhuXbezP?kB3EY6?m<+ z3vV-8+I#r`eO28;ywZ3x&yOkeo6Y&K+jP#i#PM}q$@4AW_VYcnW67fV9&P^M$IRQX zrMD?AZUc9Si=q?7MT4iEWa9ldliOkjb0~jauwl+}GkKZKSwv4fXwIUz!|(Hnr8Q_Y zor{Dy3-)7k7WirkhaPOs67aOj#}?-BTQY=#(hCiF5z++{-+iRijqDkzgLHE*^ z&hoG)f?hgpzX^Y|_=8T(CKP|Xk9O)kZgg(-^rzJ;{!k_#UcsFo>gU(XH)+32eFARn z;i!JL<`4YtCO+M3Yvj<6Z2^8P_s`o1?QPCr^_&IE*SBg1Et@lhc2mf9P-nBIkZrf_ z3%K0zUREr{hmgZ!xMD@{=g|#~`TfARTz)^X^DAzB_^I6fCUGI0^%*1I54bEg{N+3s z8}KiS4Xp3TZ!@uhbszbkXB;%o6A_qu@JJDIS4?QVwy3>!Xj5nffIdq@r4OnYOOeW?y-Wa>m@l?D- zb+&ir%S1;xvUFvB7RopHcdRzl>Gvr2f&-wVL0+>36&2<+qI+{LkbTIr(Sl-JM74>!yG7tJoZ4yzNE!97sGd_t?{3 zVQ=A|Y)yHO-^<#gb5r+xll?RLb)mP>In%XK#$aTy{{Ex4KzAw|(%$h@Hl%s!S?H0t zAiEs|UpF~KIovDpmzy#z|~^9I#s5oaV4-hKZ%xy5>9vNdoQH~bp7&oRg? zYSDZ}@2fpd3<WSKfB^yUk?tQ9TIM{Jz|U9Jw zdSWs6h%Zb&SQ*ecCB-J;&(8zQH}O-=K~29`yLCy;FV!Z{BsX$v)p6N0`Li`{(HGB0 z+!|=%&^v8y*Jysgy(gI*x@?hO)7?|J4nBB~(eex3?d9)HG-`?rGgcU$Y6qMa-E@1uW7Hot`!jn5Ddw7z$sz`Mc1ZSMzf!tbN;Ho0%_r8Y;p zj{74+9k~YmvD=k%w(gd@26Q*Q?g6}4@0T10E;+l$-lMj&@&AuM8_!y|>3bXcj_0nz z6^|FhThX?$>c#L*ybfzX4=85Q-|;@1+2c0F!@~BjYV6L{+gyY)vvuy7lC8IDuNZAM zBfn?@D_l0WGJ451Z-Jh2p;T{-r$N7#>jZs!rsr7}a=1QIaI(d}>ZR@YTd=z=st1qRe zD^Hb9`;&|3Z?e8XhIQ95PB+2PR44FYd0f!R6!W|O{~-1O?g`B&MM~&6^N^E|A}UEkCMp*yZq( z4=u0XXPC?1Gh^@k6JB)wuH1U`S>-|Q?wNFrP&ql{V93cQb$*j^=SJxp`?Rqyo+qnJ z^JMJwOFsmb{O>AYYs&vZ&fd>+9D^Cd)L%A#VC)WYRXK|KIMA`ZNA6iD`gr-((HI`Xih>kZ;O9 zJTK;(d@sm+vo|?lz8TlcH=}yyGPVX*(mNwL-+bsBO?(rZ60P0%VRec3O<(qU;*5M{ zMC~^&SjZ@VPC0#dEVah z9R4M{qhG}TPw+R>BkS|wtekYvUV8Q5jgyrD(+BU+=zmgr<>1M(TX5NWzNbA3?Gm)* z7qa`%{*(Fk#a9h>c)K@$)!GDWbhdW|PintH>-+F#_1K}+%bzJz{q`rR$1a24{D*wk z%_|Qj`*|N`Mx)<+{t@pteco?wO6(i3wHeG4=0jr!^saB)R9)zwJCeE8Znt(voyPnF zMU3Y#w(v|uN zn>!Hhu;ah>_qp?}GPk-ZSyMfU|C^IF$xPPxFX4akp@C%NuJ_ry)(d%;b4#*@Nfdj3 zr8Smc@E%XN^N6_O=6Cw`KsWkY==#g<&j4Qd)sB2^4e_U6bZm}7S&cHycT}c&?rYp6 z`mBYnF*}5=p7q|`>s+3=Cde?cGrbeY&M9b)E?Wq^hk2vjo1r?d$A)_Kjp}`0G}Nn4 zRqt&iU;nz`cO%ON7ccOBTRheIZTZx}*Wv>yZ_IgJE}OV}xIIr+rf2FC-NP60V|C&! zuJgQDot~pQ)?5y#od3htSIPRcuZp_MLbwABXa;!cr&$|=r%r9tcJPz7bI%R5f()5< z@S3)B&&}IWmuaVd{ZH1Nd}Ly0xGT!v*&lLiV$#@E$r|)&u?`u=Ypi3jmVKE0g*Amk zg*jHYd_$^h_TLZGsLT5cd}px8yW*@B*|#rz zAL)HVSFW`iU}d`*czq{R7*4M@vb)Tp0>ICIBg^sYc}Mg_I;gE z)|`~{m(X1gc00;kK=Xn1{2t>yKXU2=Wu8ma$)5Ub534>po9bg1DX>+gs7EPEU4I=B&aR40RmGUoO?JSzM!d9WICQB zOmhPG(o%1UFmkSVyXBxZKf|A#6hRliqdKA-MPne5)fP3kr`Bo%H;X}_VvPb zg@oEZ^ZfCAKK6SL$gS0*F(H4LkiZ-p~S=yvaCum!gYlXJfQ_wab&!;VrZfWB^NZY+0Z2`EUXw#aP zfq%~a$UWh^1o3&~yCxeSXpE0@{iO?)#&|{STmDddeEjSKd$q?p&Ym{MKIz-RacrtF zv(MIf^b_|0y61}AaR*=c2R-2Ll^=xP$vE+YyzF)jvat;RsmAfmZ~5Va zQ+z(hxkkGNMw;$V@y-bK$Er?>9|i03y5z}87918QIOx0i!ZBR!S3RO{0RA|Am=mqPq)y2_H0oKt<-f>>|2fad zUsANa3=Z%GX-4P0qdZHZJC-WxnF3u{XynZ}csw1-pM=u)S%Vy7NU!^utf8{jfPygq;|1;eGnWmdT zdra=Kj59YTW@hzD`*;{1?OG}^2lbcjgKH^wHF@5;7xrE9ag%t>v(mNZYv*2g;MtHajYHB0#)pLaoU3ux?5!Mu$NnQ*Bj{s`)8(nfDV|EdY+dFO*-bm| z^yp;XVf%$TY`?%8%Qxgy>-FLd`6Y^L*>`teLML}eIC}%#_Ih}z$HC*KyZv6NaWjBh z&y|0}-J{xjC)apKbhPLCYUvS3? zcdZ;<$6lPcGk`V!h~^KPk4fJZ57e_~2k3Y2-h?LlEP?$JPcyP(nm;IC=i!LQ=^H27 zlW)^x189@?toFKk%^AvR?L9SCulGirIqF`MJiGm`UP7;hPj-Mi-(Q+&?SO@kCI-Np z%J!8meEve#!8s#o*WOe<=iJ$pg@_k}GyhL(o>E-(g5ymz3rN%epXMS!A^1j8+yY`wuoI>-iyjS1AJ8nE( zJuhIJWP53@rc9!19TBdxgqFhinOTmLM03e>=LO zK1RQL$kU#eW$1H!W2S;}L$nH}%ZT8zPp)#) znUjU^+(9}qPvoHQ>)QLuztMb2F=FA@v*a3jB8r(ok9g3g^{@qwE+*N_)PD!`-;v;4 z9Qao8FFJ1JUvvu2n>)GBcJ8ESZ||QPbH_%c{RXvb5E@p< zM!Ga~FhETWlJ9 zv~qzxtD)bAbEZo6)w3zuKQwU7aPf}=Ylg9C=uA&8f*sMAC3_-S9|e8xeT%X;anhx; z3FYHc%o$k12$8w&Puk%9R1*dGT_DLD`&)9Vgnq_FVC`dcD!)Yt>3G3t&a$o?*0O|Y!xzTdDlxU z@sxF~0v?@57A?H>uX&c;v30rWwl1X)s7v)~%o(n|S_=|ZSL570CHiTTy+_cdqsunk zwJ&ymQ#1N~BW3tm{q8`&WzQKSr8|oATV2-JWczBV^LpPstc1%=x zdk5}-e9Pk&2L?OJ{VK6?yRSL`S0%Y@VO`@^=;POl3?`tB_BggDK#v_esmtCW?BOVJ z`V&2~vKGa5dvx|fXVUF!?a4~OqZ;u4R&7PjtPOVY^nizaD;Ll--^0-Z4yAj1@X|dV zS(@mC4U?WMHszmT%5j?AT}ITR3Eke)XpHH_#FKf;P$jWt_4$ zz)!o@O~Y3CY0I3ke8wQUfPOnNEnd6&q4OD>PvY7ha3Oa_z9@4OYfoGlzuX{s`D+K1 z=YE|b%MX&LJvyQKU48R(;8)ta3=buH_u+TR29ypWqn1WbR$RFi@4-Fa?;Ft{typXvSX@8HZG7Kck=~j?VR%6Z-VJ;qlM=V zKx>nf=h;iyZr(G0;o47)kIKhivc3%ZFaBiUPf~Undu8_nU6^skg+M=gepQ}4*YC2v zRL+I%1y;Hg>J#zJvw`mTah~=9k+xEO0WDU?TpajpzK&Tx40-Ee9P;$e=d(+9HstR? zGiO-EM+2Ym@#Kq4h)Y+koeZ~0a<8`kTKjLk_PVx0d9rP`ti~#E$&c{hdT6Uh($rIMtR5 zG`|=?i?w^msI~X_ZZ+7qU%Pc#T@BDI|E|`h+uHL1xTxcVt`F$f$Jm!);~>AIjHjP3 zF)xxIpuq0(vO~ui02y1C6}7R=Efx) zdr2E?JM|3@(gde77jfWDtTztw-7m_akM?Xe{o9wn-#BwR=J5VJPR}E0m*P3h-R&M| zosUqu;t~rSU&xQqXzt_sRoY+0dMpcEpm*^_uMbWQRM~ z+hO99+M_>Wt~UUm)dkv(ylZ{d`YXAs1HKQ>@)d~Y%wL>+0*3L;`c{lPUVqqFkLO!4p7`lJTbqHOWMsqOhvGk8Ol7{#5Nn^9 z?#*M&jYyxcNj=yM*^OoNV|=gUKY4LbYn#z8&DT|r_2GC{`_%XDybJkp=_Jp#&7;qI zmo1~NO7y+W@hSQ$xlh-gL7?tndKGdMAoYahM5UU$D(fUlZY`f(D;<__j6z&ZB? zvhRhu-y+tgH1%-|Ik0)ipYo;=Q`Z=$=fgaUe(hPau*l-t6$50kV^aIFe{t^M@pLGE z|H*ThNx*pDB|5(Pv6JJc19kAx0XjI})ivqh0-hJpwj}e?#csNEuo)d(VCZMY-o@@e zdH_!xUA&R!#XPegMslY9R=Z5Hs$FtrpR-l%$dJ7s+0$k9iRL==^@*5hc|eCRb8QrS z8&rq0)7l^U+yK6z!=vFz&MljF@r88w4rEudbw@zfc&7c1enPj(TOF4El4oUn^&t7u zT`#{CK2T0`P2lB&U((~m!FL$l&n=qRA5L3JtX=TRt@}O71?#)V)xp()cJM5p$Xs|K2|x0Y@%t)4XW#p;=B&pSL=*;@6h@+sTHv-)|NXWv(mzG@J= z@1?^JjT=FDs~?o9@x}n2r5~P+w(T6}z7OnYrK=5;v2ZoKi$3pNV~N`1y-O~s-+y=8 zA%4h4%Fbx)u>ai8?%5XElWCGAa0@msegt6cxB@(Roa=L7YF&KZm@^p8a=}B7aN02w zoI!XGulz`Bzp+EhQv>W!VsiUi&&!txj9om3#xBw7ja^=zH+HFBLkMV-CQ0e$dd?>5FyelPY3yVPaJBkF0>xP^R+)=#l--Q&C8wmS#3jj`#wv`s#- zKQ=vj^4PQ*nB%MeHM}M~igAUyq8e}bmmg^NjdDN5S=T5=YOL=r8sh3J7gn@Hl9Rcg zBii+eq;vl6Eq8o8u|E8R6Z;HULzEBsrtVYaKc@Ql*LtD;%lX$g0d>FF@CED>cnJ9- zUG$ia#%^ald$&vb6Tf?0y(2uX>TYrD?GF^k(|)FE$@mYh5$mB{b%^Jz1BV`Dh7 zxi#qEuO-`F`9Quc2aMKYtgnX5D9!4hTbA)vexMx}d>oVUT}Ydxeettg8xNg&mY=g- zYrgQK0KZ-Pp@>0s%a``{_}aBI^1tlvliI3(*({fb=-Us>*SRlUw#XR+?L468j+4(| z|K}d`#I6Ou?DE_F-XDFKXKzstGSiDq@o}F^-=6E}lEyUYcJ3m>J&m-THkhAoY>bRmCj(4=1zHq*kO&$4*zz0s*wO-m~ zc|w1Rw!idv;MyZ2`Gw91cZ;}wbBXMy`qPh>X}&JHgcsWF+>~c;%(eYtN}X}Rh4JXJ zc<84*eWvny&!|rOerj6hyR=G&PuyAP=#TEU(zi)+1@P=Vj8U~?@`F3|VDBm>C3VqqVZ3_!z4{!sCWaeiRF=2tx>3G0{C z=`1j~6Py`_?h?tnBj0AFsUcK;wvKu7x5!!BbfoI9Sl{v}2Y^kF| zi$uFE>&Ez$uKwO-;}^6i(7rQ=XrHC?f4YA8eAwUqm=ja-?@S)T=GpP&GV=r9w#jB- zb7Y@;$GNuIwL_k5p3FQ`Fqi7zg}37y_DJJ{?Snu%^f)$~JZ~@5@zsOJbrSA*`A}Sk z`rlGr%N*KlU0TOz=6xCcwZ{7KjxD8LqrFntZ@c$~eCxk5f8O7WoI^toX?DB;?-JRo z8^J?$^2v-}OWB3p_d1!N27f_zOgn^X_~{ z`)XjW4e-l-KZ#$^?DK1}qjQ#DwhpI!LUCa6i~ND~za}|a<ono>2_vCf37|JWp1!E{D#=!hI)7?`J4fs7aCW0@LFVCDfpE-`_z!@-m zuFUn#?EYw#0ct!Kz`+}mf%MNgEAajp;9fc9f~waYs%tac2PN8l#Qcldql;Jn^s z;RmNZCunKl&fnMWaN2|X+Oxah4dwq^YG3^yQeSV(*7t|dNu2JOcNV%<`%Zq}wr-2H z_w@H4uFKlF^RdyA&p#B$-crdbeVTB5c;wy2HW-^UF3s1v_f>8lI%3Bg#xvzT#{HMl zn-=Pqo-7|iPwd?T_%Od6!TpcWE?NhZImuMu?j~P;lIkB~y}gr*Pn0FbB_Gq5TgAL& zw>%uYb7$m9cSl-W#EN@+OaEtZU5$pN)4 z_nxqQ^z)cMxX%=;hc}iF0lVqRgWdZwA3LQO274d9Z$>ojX6{1zcWGA-?Xoh5UATfV zwud>al^^hiY;Ln_b5)<)25VPcy{O|(Qt{ZXAp)Dg=7wx5ZML>`2tFRt+Ef5HI{aP5 z1mm*L^~TPZ@j*`bXs(X5aL=8M9b%iMGhbmIAJ@9X0>&$Jr*Z(_MYDfLisl%CL$~xT znW5S(T6E_4GcNp4vY>A?4kZhRf_wNhUeLDxh?y}yt&1IcXX|@X9v=c@aSOIN)JJF0N4w$8 z^Zc%M`pU+5hoIB;6}Ip+`I4uA(H&EZ|M|#+jr{C=7QkA$j>Wh`HU52-J@KCWex9>x zah-YN?3_K18_2i!*bO1qx~ov~g&dE`fnz*pjBatqq#%CtL+9?M$gnEvaL&QlGn_-V zA^v^4&M`#(DQS`{wm81#cFy8i-piKKceY>E&%E~_6Y5LD_fDi++qK``&C6dj0Cr%% z3m-7P+_>*U;m20Y58@7$gAVm;RNr0k>ZiUC%s_fpoq~4ChUlPdNM>DLgzyh66Tly$ zeIQ-HokTnJ4a6-N*_fAP8vMPn=uH{G@$+0l3&vfa=h z;)M%u=^aAG=WAb?Xm(*mA7iLvyRmCS*~AxL!*&CwdAa24rSk&1&RkRW8y_S@w{1K6 zeV=q_K%LU*KWFY{_1Vjdx%wP>N1yr5c3k?*cfPGY2lB1%3^ArZhVF>23eg1)>GNr# zh4X_E-QO0#1Fhe$8m2k|`t0S?H?lLKy50U7ieDQPBVyds8tZAq;_^?yyYD67d&JRC z#Vfu;8tHc2WX@*aT^Q2l=ScI)9M50~sdbFDGNx~!bMbh6BT-^vW_362F;W>ha{A^*P`16l%O zzy+hiHYa2on@?d!u{j~wfwtq1V}RqEuNry`kc`;9tEZA__uFto`7^%VAHqIs@9I!C zrQ`r|ij9`OohN;3cJyq#o%Lp4cM(|H=q{i)XXNZ#$ott&)5O=1unAx*^(Z?bQ(cee4wcmCaV2y2HlC z^rY+i$FzGfALvsYu+RFNZXAgDT6^W@^1;*pW{C8!m(vgMO!k!eLNNx>K>uoONwjFL zqdFA>>lGh}7qJ%ecZwAy`A;y9qi;7<9v&L!Dd#$>uilZVZIUC^A=}@3V%~c{>3{IN zS7&$!>nCiLGj>zofWGzS#Ghf@{2z;Ra8LLDSe%2sE6A@iS7(i+hj}>j+CJuqeQzIA z{2?>wyiVg;uhyN}!(rjU@gRE~g7f+XeDhiO2E_r-9N8WOKY7-^Q}d;ub$XRNR33xq@*6?aR`f zTAAYTZ{S(>T|cC~-dXnD74BK~ zr%v88;>74J9vh>-(Ks>s$r0|HalY4-=ZyOrcP)^U4YuKBw zn1+YnL`JLadIyiSw;^8Kc=BG3FZ#TA$=%B_$ez@Je0cQt z51cFdaD0fKnh%ej%!fHXAH4lf?%f97o!}Rm?q1fDbSJo7U-J5szLqU!-MUY7w_~yCxeJ{!u1&EYXM9{_)Ac;k*gKN)l*v4N@2eIM>pnJaa1nSU1K_p!Pk+hJ zw|I>EJz)8)taY&FO{_7&S|D}u9xcn-k@@g)OrJcr!f!cn-k@ z@ofyi@f?B+;_C>&@f?B+;@c5`<2eKu#Fq`g@f?B+;@ca5<2eKu#Fq=e@f?B+;yWCG z<2eN9;X`&zb_?sL-@M(sckeXmFFKj;zrWGi=zuTB#W!OlZ@KG=M(K{C!V|D%17XW0 z&%lmXTtaX>>-&DD^mF!mrMlbQ%rWKm+(j^tZ<~5~>}ivpq_v+Lom(V5$w~eV2HE5PTyAJMUsete z0fXH9-nvJb53PH^`nt#Skh&Ml8%+03w$Z=89)d%0l3lXV%n{J7ZtT0`<2rK&8(TPW zN6#PNyJ`%n1UIpb{}JD{^bhb|RBwrmn=<7evA-JF~w=n?6a|q7!<>U)>1mJiM z!3FW{2*B|if(zoy2HkrN!3FUh4#4pog7fg<8_K6Nnm=p& zmVc;u+o}9RQ!QMMf2cU1<6k=dp&O&!^{YSnhjI0V=MN9nXZT`1oce-y+ZRLoU^~pI z_^)}!seCZ{_Q^l`V9uPMu{h*Q{?P{;oG<@VKA7Yio)2Mb2J>@HE$gnW*(zJ(`#A++ zKL=mP^K-c0;}z}O&J&mGAuiWToRTv!+E=~9Ostik#JMxmmn(MTNBk4{cI>8f+17!b z93;O=_VirqYdP^q$|XW@ssD{2S*5hB7lEK06*y={DZ*x_{sC}gCm50 zVE}(e06*y={DZ*x_{sC}gCm4L8Nk0WfS>db{z2e;{N(xg!4blLTL6D1fS>db{z2e; z{N(xg!4blr3E;mifS>db{z2e;{N(xg!4bm0F@QfAz)yMz{~&Nae)4?$;0WRG2;g5B zz)yMz{~&Nae)4?$;0WR05x}1a;3qwVe-JnyKY2cWaD?z@1NdhI@RJ_GKM0(UpFAHw zI70aM2JpuN_(>1p9|X?FPo9q-93lL<0RGYde$qqu2Z8hPljq|HM+pDn0Dcp|PkIRd zAaFi@@_hW@@bLTgU-u55hyAy6WY^BRWmHGbuA5>12g$c}oafqq!HF)<{%hPQb?Mi$ z*G|Ea?$bX6oR1q=OTWsAuR;9r0RFuJIMPG-2Z8hPljq|HM+pCn0RC(Mj`R@zLEwD+ z)Q2tWE@=g^YD!>)cw&ZH-vf8yr( zaIPNu_~n~e**~FMj*k<-oeSWWjt6m*=i_#5h>yE8Ks#_D+T($8djt4M58)@z$4{Pk z;p2}7@Be%6;PCN-BZNO5z`rm6M|ueVAaFi@@_hW@2;rX*z@G@fksiW72%L|f zJRd(eLijTQ{D%W@q=)d6=l2bH!sp}ncn?en_r^e(TmU!eA>8EoxXBCQE)A3eE`+}$ zP;PGkj`R?I@_hW{h49A%<$w#}-w`O64Zx8e!cU%$pS%$M8G&-Zh433!XC!~F&N#9j z&@JT+0(TPcrH`IZV&yr2JL&4JmHPp>OHYRLahC>Y2S*5hJWy_706*y=-V6fg;}7y4 z93lKO0{9aF{G^BQ4+7`o5Aq%yA^e#D{=)(Mq=)d6=l3mnp}zIyegN)`fik%OZqh@z z$@6iO7s4InJ#Zn~I|AkQ2Jn*}!cU%$pS%$MAn$<-;olJ`mkr=2J%pb;A3u2^{6XFW z=i$fZZ?y3q?u-&V>(f67rRn>b-0c+d^Icr3J7@J_@O<0v$_Jh`3>#0gu^rdmTUzz( zwcYATK$nMr^YK!SeT`wf30L=3_BK~vgqL)mS8kqPKY2c{1WUP-=v^4Vn+)J3J%pD$ zA1`?!yyTrkZzcf0BY>Cm5Z*!Hd_GX_BziXn@OA|7k{-f42%L|XawpN74d6W-z)N}v zFL^#6$P4j-yp!nN8-ULR@RAgm(})pAVEfiQbI?yd43&q=)bh0_WqU+)4Ci19%Sy@RA_*zM*#1R0AA8Vc**nmNnVJbyUs9ofR@Tx5yUOf+m zS9w_%uUp2K6Vm57j>ioZl|Wh3Z$kk^#K81@Mv{ z!b_gtF7iU{A}@qjZSnBxc__TfOSpL5GQOOU?$zaQ2lCGE`axN059nwyyW@qA}`b~@Z1fQ`h?`aB{%+@{kVy5fPd!2A5@2$Ur~Ty}(0c1EBq z@P64`pe*U(vPDkWX@Ro9`(-x<%90)~8+FRg4wMDnFUvUKx0iIktmU6uc1oZu@P64H zfwH8B%epkr43q`lFMBvpmh^C0msjVzWi2f(@8<;YWdgE@Jp1h+-Nz?cF#$O8ES#04 zQDHdpeEJeWxYNRL*#KNepkC5L^@794N8X8gOTuvE`EciOY>Loo?FF1UB|r54#EZG-tu#lV@uXJI;guvz3)OD zU;V9<&iuyRbHm{7%WpA#5#2e@cf56;DzEQ()0dp*?y}#C0l)0~pTEl;{NVM<=C|m+ zJKX^tJ)}G96P#Us_;KA?`cr$xRpy2qVsE+zAwd+xGa8apHr%k$zC;vBihQk z{$-sX+|%EGv2d%79Jr&GXI`B-C7XKm+eaSU0xkoNBR|`ne(-YfW_(v~Y>cHL4=uUa z*scZ0!oJ&!yPu(5xystUtpS;8)4go5arQg!;?q0V)^#3juJ7#Q96CI*XXXEu@|OPV z5|;kG+_Rj!Y*+fotX=7z3wNdS7wt;x8(GVcukwQO>I21FDpo}!)lZk2(Juk3c8NCK zH~jC=EIHG6>sPEu^nK+tv*h~mpYAN+%-Okok0(R>*KuZXL?pIhPwKj3`%CBUd&I;x zoJ;z@m`r+ZYI^El3Nq;_z^)&2#XkE!%zYn!rSm@0eP2^tuKd_dy{T4H+;STCaX!qs z`z^X7f$#S2pOe`1;%gnL*c?-K6ZdpXTXEg&_~oX2SS0blCsXI8z6osQ*6A(VxuZgG zEBJoobYKiH(+g|&eF~UPU~0BbYq^hpwlI7@(uWyd7lOHkezGv|#fLeqJ_Pd_?nbdN zV*)Uv=Z0YPeLf2_J^*vZ6(Jbifn{MP24K#-G6eHmWbOspm5iIwlhrPCr5T>pr>3Rq zBiZypc+%Q&Zp%T^KmBh15`9~5GJH2{S~rc1m<`SJO+DvQmDWsO)EBtV^h5nH_gVNx znzXqom(o31zvXV0`{>Ja_(=}7(FYxuo3aw>8UcU5J>#!74TpzQRy5CUxx97LJbu&p ztv87W=Dv18>S6k77`(ZF{9@WajJzV+cyLbZCPO!)EA}G~1sh~%Z=sJ~NF|RIx$QK+cq8>ZaFyh3r*8^4r_qZI zHsr6L)4FdxXaA>A_WCIaWVPT>M*+4Mnz?&?Ndg+Ow4vapM^if&zURmz7sJQGbS}^95@fS}_qQ=+nQ_j_@q`Fj4cg9b2d?IJTVb*4aQ^Noad- zoY}1U#E0Ox#Cw_e!*@3EqjvJZNcPF6@n&D&vfY&i(rC_^`v{*O6F3 zR|ob~;^~U|CkN$r3DC5BmW6UDi?AMX`4d1BiTiaFFHy!(v`(o>+{a;LM z`W*U`lujTIy6fMk zk!K9Z#m02i!PoutVJ~Tn`8GX6-<}SiGw_))g}kv{(J`6EN8q{ozbRS>-Py}?o6W7J zplwc#F^43#cD%Vi5gKnId?z(H&UoL(Q=5YHidNBFRp8M374D<`DKe3)LjT~$eb~}Z z#dS|Gz6^Z37hcUX!#14ri~T9_>oe$|_%amFvheG5Q+%kf-~_*}h?sN+eoejUo2dfo zzMi_A`r|Fzv46tt)uTGjhlip&SWabB)+_fp?rZr5bc@D^`9B+36J6IO`L+~eU?FxR z^I9@x=v(Rg`MTdDa%@&JV=Z^VZ@Mvc{V~B8@lEUASiJf`sv~vXFjEHnE0bTiVRrMh z=PH`H8>BvUPAd1`tsj@%a^LwZl~uVyx17pMe&PB6d|Y+DV)~sj(yz=ma zV`bc|OrQ(>r}IzxcOqsc{^iOl{FNAISwwRWG&grlZU3m_r|#Vv&7{p&>ibM8pOVfE zgv0R5A9UcZxzfV@2)G*hqJz3>+;2?gYiiR~#(XSa6G<C`Rg)>p=wB`xUC zNc8L8zSe!s>CYXz;idS7uE?+rH{w5DkB@j0{^WJ|j_0NhqCE#vlT*J+eF=S@lG>j- zxMITMN0MhQ?k$Z~KRmvmTK-D2DX3<=s7@GjNyklZrYg@jD__Eol-xd#{hy2<^Dugs z#D?68FY|f)n8UAiriRaH-SifI%1`(`fq!!g{>ut{mmBe0;;F-_?W8AGOqnfTMt%(T zyKFD`n&r=ctMum1lx+G<{AQ$XOO>9@9Sx?mns42gtDIm*-TZj!!qly)x6V47yitDM z%jEsXP2Wy^B=z~!PtH1vywm->pOE*H^b>C0#FO$~x@mjrg48Xk?PpCO?=-*MOO*R2 zHgZ~OMQYet732-`^IjmY7(eCQ)Qzcw6VD{CxLPzOu;&F6&7v(GlUu%pEoB{eH1{3d z9*2LAz_TgvZXIovkGO2bIkRu1t?IL8_%}J#o2n-*%NV$Vw7cQ0zGJ!vnBre}byY5I zrmkjqBG@GIE!cbLgGzKlK5Wr1zLA=mx*@e^;@Q9!`LLQlS-j9xSvnB!Ss}cVZ;O{c ztQ<2C@5B(^1h)JJXs8@-R<5VNv#&jxS`QuZ6!w1NgvF92rw`AWox>M*+WT;-D%G5- znkc?T;2rIjFEYohOkyX_8JSI2GtZt{kWH5`=1pe)F=bdbEm_@#%vK?<+mP2P69deX z)s~d_efo^E%COyKKVkl|_bjt$)E8sr{i8Ov9FC2u{t>+WPx>Gi8__ixSuZTb&rc8w zjW3(MKNhPVo>?}#S-y92+3ZJ{>lJk@o4vIlQeB)~HhcOl6Bmy(ug{)#+OX>N^ko(D zaPYc{#hO#SF{Y@xCK_ug%q^Q;1<%ou^1IF|gucS+TI6CEerd-|EveEXvuJ;z89ncb z85>0Fyjte})F*x+v-6pwmA5kHZadmPGeaG7JEm+{wjw_J0{jBSMz95TK2ev>r|ROn zDyq1f3OyBn%QEQeBwIe(G7`T;{3P!Z{ZFBsY{xC<)+`Hly)_oU={>*Okx%p5w^A#SJ?VYpCt5ds zl;3T%>+{IXEy#jopp-P(1nK_@Y=QK>*qpieD%TcBzJ>pD;=zi?Q;yt7E{c79dzAcx zE1q=qO?o;o?+G_g`aLjjhnpw6Ffi}iZl3JPz`X5lp6rm#E0c~pw0zU%DSa@#-vh6f zt(ZDnx_^Z!+F+)cB{!yTI<`Kb|8K%O>HlQxOEWg49{B83>C#Qd*1Ec1NB$o4$x(8?SkG;)Fg6wqufu z*VX+nUfGEgcoS7-$#UrRbUy*k6S^<^V|*HNm1ap2So7M$ZXe5*nQGN38I|mnpbO3D zEIMfQ02x}+Qe_s+Mb1~iyMw1^8e1-}-**E#l%11!;Gbu%*=NW*#}sZr);DZ1g@-21 zNW5pNuDbI}6U~x;UQ@7`F}Lf@QI#LuweXw`(RgCJ`DE?(*fn+ACzjT4k1U+K{fzNf zY%iXB<@WN#RfMMs+P6%Y+i=DBPd5Bj#lnWKUpu$qhZR>gOc}qV;hCjZHq5+cNy8iC z7d5O}y0D?{nol+yyk=3uux^!8?SFic=hDX5NSh1{O{rEp`*fairH4Lj*+OVtQnug0Ou5IYA_)~EF z8MqVRUfl3~aOcjeIz2wEs-bP^pENwp^O)&X4fl?}vcW7lZNcWxp1$Bu#@9DIN&TD1 zD<^N-_^TSs#HSlpeRkA>yRW&j;iF5hZFsucDOb95DS1ydZ2s)X1&c}B2j1tFUej=3 z>7O=C<-Mr7s^Rv}mMl>Dx@+nis;;@JVcWE-)7J@Z$q3S)Y-nCGod1U#=8`^zbTe@q zzlR$#%!zg~r_aCLzvQ_o6U(-kqL#a`6U`$F=1(at*q}buxFSCyGd^+24RNz*T|9Bg zx6zd^4@+DkAK*)}$Df(i)x*9ZJsn=k(UPxug{Hmba%^|$hz-)sxuyjB zdfx0D{;+7F~3=VAXv zt4DW|@q8f7*&%2~M+T)ip|%V{b7lydvqR8qNDtC1dKo)j)!6aF|Lz~BclCo}K@If5 zM@mn(^ZDzMgCsI=6aBw}zJG+izmdN07-_0+pzo*C_t(?+)6QV5WjvM-_C`Tbb*nl3 zkYSvCgucJQ_I+Ws-ZNv&>?Y=`wx8WTS6{2o`97aB{*|7!_>beCH;(;r{M$3}kK^AT z$G<<0e*?#oKaPJVkJrKR2{Pm`H zi1(S8v*y$Wf3@b6W6g;>&O65v-#DYxbnmKk)}JEK*Hq@jT}PHX>rY>R-X!ZtKLI9L zl<3=0=Bzm>hB|P)N%7+!1E;v{=P9puyY2*k1^+g*>R)O9>C)XXM87=g*0-7Z)R%*; zHOY^U4p>aXDH^nPbd;F&7obV>IO|MjR`&uPFpA@8% zUoL5{80E^7+c(nf2=yi(C~99mqPV?q=U+F*UwHO%=|^G1Q@0lscDx#c4$+moA#=HC zx&EO@ck4e!y080p)?T5t85%{OXj>-Qz7b1%G=*`V@=$+=$yHWJc zD`~&U4mXj zJCCzJ>-|;5ogbhBtU+u%vN(oL#H!y$FN$`smUE9mMq|}|Ek&KX(S_bSB7HIDcVAmv z)}Gl{(yq0Ycdjky{OV;R+7DdKePvIvKWnGy>)@Wzwr#`P^P6~I73q%OZ!Xrpprg%& zo%wNFDv0$is=+>+VYPP-yN@*$p068GcW3geW=UpUecBKcAU;~IIkLX5lci0v)%pAR z&P#EmJF_m9&fGuOew!?QFR=yY>bXsn-7up4;5~d#gZ8X%E^FU^hw0l?U({|25}mo? ziJgg3^6uf=2E;mZ`y$=hyUmiG3AO2WfRX;Qw}^GY;_5eO*MZm>UCZg0o~!wuL50@H z&LF>{D>t7u!RPBQ#^z90W0XO{=y}letvxiny=Mden~K_dZsp#$r?3}`c`t{ztNEYL|Kp@jCVw0M6ZmHz zU(aO9E#Utm-dFM8T-=_!HPW3c{?pE$$9Rtww`Ypa?Cg1z=iTIOtL;WE%6hKl{j#F= zWEuVXB5Qnqr?Mm3dsy4=zk~8GCc59|`)v{UpW_>BTk0Y!<1sT|V=Mb2%2Y=ELLcjn z-oCNKPI5P}9>;SpyeMbQz7^gkiBh%F?#w9G^6%MF(Mk+tS1Em1nyEu$kxC>qg%x9xl6b>1=cbdKLHi)%nn` zXJjaQqx%f)+0VPr(Ej5lAB-gdo6y)+68re`;mpqK8c-QwL4wTy_T&H zUDOf*-@DN8`aiIa&$H}<@OOOLT>OkNGsUY2``aW(dGQ>YH~n%%ySdg}{6=MiZPWhM zwduFdqi+w@r4JyJy$dJA81RqEG3$ z)d{PQxpBMGRoC9#*h9Zonn+7zZ(GGO+ONLdwUBra^iNtds=RKtX}oSu?WShZw*Yqy z|4rs^D)KMm3zjBUp1%mbP%nKlGxPXvyI(==i;l0mvolHF%S+e;S<%(Asy2;&u;;P7 zs|&i?TIEVI`W3k5HD*F9b>{hgp6G~~9c8~@ zyz^+;MY`TCZt_&u!B3oAM}*iI-(a=vtY?hze;j=kt4qJJt~TAf!S-$U0r3#LZ^OeL9H@#0De{7c4$Lp{i%S`#9Ciax%|4#Ve7kzk?_ViTlPS+)B_tnlZ zqb08zFJ8KgaU;c^OzP72lp@o1Ra`W;Zj;wG$>s~JBdmLBcUtyGYYN#j%*C15uy&L9 zw>c*M^*Onh(Y;4w#BLKSe@uQ)Y+mP<2jM5}DFpBSTluyQ_TnS-Tjs&J-DU#(Se#&g zL*~^8=O=RH|LPIuPY;rY&n0;}z`Mqb9Cozs8q?mxxY$D(&Q*@ikE*8~*nVt$+a0lV z1eyMT z)2HZ=c$Qg>?IS;jUS(Q=N0;tJ|Bg0a(TOEJoL^PjZ5Z3z?x&r1)UqG@#Gc{^`g?qJ z9eXwE*(*D@v#;gK&i7Yc)rr4g{mh=xnZ}2R>$YL5Yi37Reg(c)F;=Kg)Sk8QJU=Ry z?k|s}m;bbXrg$HPkFAW08XuN3AN%G$`WKs=18$&Q{^`e0*yR<#y;1(DPTB3;rrPwn zzpLwe7Q4F#`@1W*EcFKV^8x&$pzZB|9_i!}zH5@}zrSqNvzZFd7XQZ9JGT05@{S_6 zr=i={CV=14QwgtbPNjZUWJdpt{VrF{fR>wQr(S=Eap+ZO#-?XKk=XPad)!P%)r+}1 zb1Ac?e1gGdR>l)6x1wX>zrLyRHn{#4Irc2#p2YYuoqO2+0q4G#(vv;FAV@09TTCua1!iu@&frbmBfe-=FAv zrxhK?HkKp1DxZlatgLOFnn)eL5WG`OYD={IP%ZNy)g?cPv8hjUJIUhGTG<6hx1>`_ zlYU9Ju13G5TZsexGdm*YaN9-ZmDuN=y*#te*>}hKPDAwJ(oyE&(gk$|pIBh{)lO?V zJuXuH zQPzxXFWPRX zZaV!N&{fKN74KK@ei!ctc^2JMc%RF=coF4!63=^}K{VyvHi=%wlZMIs-nc(=xopw? z2TQk$Z@ueAZ7+de`=x{5t53ImCzfv8$^ZBG-_8F{{-5W6H~%m4|2+RM^Zz3M`|8u` z>$aD9{yAy;uoKwywx2V{d$xb(Y2cg*@8TLS87DPH&LVC9gNundjI}sKrm4 z5JNwZxy%H{VRWMnpG&$f+u+#%PrtQ~QT_36_{{QuzKXw7UW)yc{GM%Qw&C+ze@DI! zvLj!76E^Jtu<~yle`jo09vk;al5;D-96ZYZhEqLkme#bAnwYK{Rbu>-IA1lN+gPy;Jwp{68G@a4)dFopWt*T%Cm3*uG)JGj>yNuH~pHMujim&b}8w;Uxt13{W5$Q*;M@SC2Qg5vZvWsjh|43 zj3#5pK3;`CB7ZEiDwh8HOqD++-_g!zL@%_i-&EK45O!0% zR68u)@gpB=YDuhUyR1)s=aIR$K|ustvHgZTQg=t9X7NFn~6?N zFtqI-=itNKd{Jr@{!D9KJVT1SQS4ltD<10S$ zbkc)TE$)@%^il4*B?*9N2Gri!rRyXi?|K?w*E(nJDd21ism>|RTsE4$I|>w^DE88 z&V}XiT9exf9zM*EQ-Y zv$LWkmzlvW-3b@`s;DU?YezW?n8xD+Uvhe?!cNID232DRixv zfBE4hrtb~<>mY4EfbYAWI^{!aUfBcwb;MZOh`($ic9cVJo$;rESmAFZ=v*xiqzAMDY}{N3>O z_20vnO)Wq6f#wwh;$7cb(ZA#h%lCm}VtLn3XuBsb8f(-~sy7O62Gj5BfL|dUY{51_ z_kGAprge9^mU7LUayfL?qGo>l)KH0$X1@XH@yGPB)9Hh#%C=JiA=+_Bzv6p}pwrjbEuf-tVs} z?Cc}{zW>Wt-uZrgqOX?o68R;GzE83zG0yph{re*AAN(@HcYxnaZRLE&8LZ=sWuHn# zL6)&~BJz7CayqX1U~B?yAKz6(z4(!@{`3OIvqSPpCv;`$vxn)k2)Yqv4qCOQg865( zC4mjsxS4w^kygJFSDJ5QO4zjDvIbMd7)BgHb&VwXd#-dE2g5;`Z<+GrMxJ_+(6FV=wI;W}+oM==h%O zm3@Z&rt=vD$a8E=VF^7p=hJ9Ag7nlurIH?YJ`X0PwAAj|zk0R^vLOjdCyRFpQ zJcDyvZ<+LeUyASbR@UZiTQYX>R>o)b>kV_}*|^Y7;u}r$?SG%|tXK5_yKcl+8uN#; z>HV`3eRXSM6RP;tX>6lx!bIk2?5Jh#@5D*Q-ZAI@>>nbKe|8jWtTj17oIO`$D zSAVawl`~$x3^U)BT)rDC?0N@TmTYo3xO^-9zpOmA@_b|@Il_#->DOlTsz14_aXNbs zHAmF>F3t6{wxs!<`Lr1=UaGGnv@sr!m&7AxewMW3tN+>d`%KDdU-msQ*7Cr)f|$2( z4s&sOb4SCPqHt`U1P<^#4G!btQhlmh^>}z!JsVl{6fm#z8!TUISXWc;%~Q>yp7RoY zf6KGRoolE!7dx|h^H?+bH}F;MlFzvL6Q*oRjVU9}Qnvot^%c1?v*>8FKrvXQmG_sK zl?B=L70X7MmA}DFo%4{zd4FXl%=@cR zIWVg0s{0F8W+ORBs=64gB2j{H&TBLi+r7Erk(<`#MFjTCD;ebR^I zq}}Lh0d~2tbN>S7WZPKRf0XqP)UH`SejK(tJN-s)QG0)DMJH$88*7P|E#EU~Lx1apPRX?PI2>UNts>r9clg=#?lG;?oAy*u zSE6q`@RJTl(|P>39&CB*2y~t^4C;rA7q(8nq%<*I;}hq*st+(8e-JCc4;{n$-I>*l zv(>*`k(l1!Yq)0tTMq5}TTFM=C+qhexWjbce;#8dW7%-*>Hd~PH~UN*58T0b=-J;O z+t5S(yQXH-Q_Z-NDl=|glQ}kP7yny7cWl7Q@QG`{hCH2s?wqv`ivj;0Uoi>815^Jw}>eEg=dtivE% z$q|Y44VSQ%jEps5Z<6SLbWG;eEB?Xp-^ZYHfBhq4Tx|292pT#Jc008>%s-E92ykw9oO6p7-a>@7c$FhPk)#nW&ln48B7%Iu^kP zZ?@}Lk(R1*{A^^h4Y_FggtML{yi>qCDYanJ7I5Q#ENQwFdv!3v+EF-pvm4*~Zv;9ma_a32BgmmdPI8n~Z-2srF#&%O@@|I0f~`)vAEYbyYa(YPjAdw06#VU@%zoiU}RqpC%D z_(e;!_Wn1>LEA%{mo^=&OtE(PN`G|hAz+u}(U~N%`YP!2WKR40wYH)%zrrt!Q(uN> z$ryXv8Vz#SJhyDI2p^YFu5yR^4{i;<2pRq$Uv~qdv_IpS;X$9z%QHuP*+@uJSZ*fVoO&*a+fceWL@Z+-|LVg1MC6TI4US%kC9v43s5`Dp5& zqT@D*cj8Cl+yp!rJE01F-3Bic=bChXqj_SN);iq!RL|BkGmUxH&feW!*sf>Mp%}FC zeo6Y-O`N9s<{`{~=dwp)%!*yIZ z1YAiNE_cBYaHGO-arT%D+TQXoT(WuyxN%{)j&n|iQy)ksdRE8U^Q&U*hImWw_q5)O zob9YlOCOr&m_=WhGp77H#*g)kACG+E)0;E~?ChA_@=SDn#Y@Pc))Z_ReAc(7op_f& zd(|w(*(Ta}*0aFs9+u|+cs6|<uOYrgJQ7>g z%ovCdYvhYeJT@!O`!k=PxOkE|WB$eXkY70K*es2OhO@-A>?@M*!dN?t@qb>jf`7$+ z=G5*J9p%XTJH!vqgpQ+=i`#S84r~8M_I~CT6tNyQuImW8@eZ>8HZioLz<*$UZqs!c zZFvv*lYMaFs%LgR%X~YBKOHr!L#~-<*E^Om)@6t{)Wpo8=>E!76>Fzj*T;WHr_StJ z#Xc12pVl+Ac6J*4d0lfe*+JG4GOWRUAUcSR#B=7mxkp)RU=LHAeGKvmvc!~ocIjSk{y%DG_F#g7ZH1D{&eS2Y?}JwUHBEnKiUc~*a_c11LchPg} zD-8eF;S(>vba#3=JYD{^+U~jvbMZr`Cpwp(9_@UH_O1ojb+q%x+EajRNnTmwm=IYr zrks5N1mUaxoNJXfj^IQ z^=k!lgT%J4E#)4+Zm+)w>ghW@{U5jU3I0_^F+ai9b*x>gF@F@eM1$y>4INeFsh{K% z{){+w5?QOvaGw2iN2WxJ%1M5D&z0RN?^=%BN{(s@qN%xK5}ntLjdmu_X8y~V=*ca6 zE37|I2@Tq>p}Em?>J}}MCE?sbeZlvK2E1<`@P7Az_tb#*n+LrA*?{*3-ql{~|KiU{ zM+W+HTc6(6gIKie zMFbqR|JlFfEA)l*R5ahfvwT2n8)(Z`&QRbllx;n)tt<&m`*~hY|D6sTZD~{+)E?T= zsCN8>^!=@C%W||~{ggU#Fdh)jYNqxWr^J-h&3s`q&QTT zxYDP;e&oUR?-jJeBjoU#jclbaQ;e>S@x|G1$6CC6;L^J**aJj-!q_?MR{pCBwcoC= zdW#uzX#FtrN|W~6?K7+svOf4r(>|QIP_Bh}8@%@X^(-+~^~0{8ZD_1|uB}3S&OXNO zo?El&Y+1eCuU$1}t=*?9|6cdB}{2B2st)1-pFUIQ1@cKy;a9$ky`0D3u z>|Awi1An&T?xl(?XNbeS4j&W`mfpP%&OFdjATM2cR{a@a{2=C=bJNIx#yS%u+ z&fkpr8~ko!{~s?ki*!Ec^%1P=GuOy)H;3jTpW^#D%pajK&J&J~PRJK4{^mAlPyz)4q<6|uC|gio|(w{1&|7;{zX?6NJC&jQ!XT$?z; zeBs|5ZL7dW@SD3qGR)u%)NQuHUuqSf`6hx^|w9{=@y<2 zWM^lES=q+^Q1w-ElGBFQ;8BusEMBPn`1k_k-RI&}+tkiV_EdgLbX4q4CyE`oC4K!f zEpFBVBKRL3&cWKN{T{>+7iph=4gIJ+{@;W~wV!&IG)EKZnbg}%+|6tIZs-!u*8k19 z6KL2kI^n|&fi_#cfVLkauexiqiFT;3)Mst~)jv}_S_*ugfAvQb{P6njYrwMy_+v@< zGZ@W=n7;V82RPCEFlP~VaR;JkReyPO{w?{!{T==#XZR#ttkpanUvEZfoD)AMaW-wz zc!OVIj%%HPH2<8)@zww2+l4VYZ$bawgPYymA+EFR#vXx%c!ovBu-cxYmAjm+JA= zd#tRh4>TU3)7=N*(bxXg)5jln)&$n!q>pdYt|ayfo3uo0I?HwDt-_=;n)^>me2^SV z-$u=G`(Ea(b$R!&HC3qX1znd0+I}B+lEghS$i#n8x5{b%rTWRU#}0oD{$jMtIcpZ{ zIy%Ah&7ywscnZATYWX^*OLxLe3g8!SpMtk}cv}T;wPz>(+EMs>Vh<>?VEK#f^VjB% zP7r?_yC(j$!5i^tC>T$!63CVMG4_&d{Jo8nkt_34XANd(`TD_0d=`)2DK~xZz^`4j zL3|g#@ySl`8(#O&?-A-bz}mUhHRS0Q+M~Wux*c2ThbCa(DNppNZzKoa8cq`4*nR_M zuzau2UJBq3_L=Or`s|nd2lYg<@-+13=ri@-U-B${VU3~dL7ug)bE*Exufpel|2)(8 zB(gh!wANTf%iI^QxbrmZVSF-th)t-js$`7Rn86+-biJi&N2X%ZoU_a0%v%lf*7`Yh zo5Y`1VpVk}Qz75_xe-_1`5EraYmG%)w08c?lWQxQ7$-HqeK*Fu1o(FgQ?qI(XDbw= z&=?qJogcrurOK?W$o1dTc*Qv<_9SQ?t33%9Ge&2ziNsWx7mx4CFsHlA-Mb(=bOHB# zX^(phx%n;Qll<1}nHOqrJ@;(L2Q8Dl#OY(jbt|>co-!siZ&Q4VN!6IbLz-6_U_&~q zc^zxRp59Xb{5Uk%p0}$)cX5ec?SU9S1kG*O#yB{!Bi%vTKkL$d2L6cXKOZ=3U+;`kgiDP=ws&k z5o;@sqDPaW=HkWj#cn>5(j0#)|7KWbe%0K%ece;o)8p)2e5G}Sc_PnvHBAKE{i&%GwR;U@w~;Dn>&!5 zj)>W)db9_77ysHLt^Lvk?1k3e=X3biKIruYHSB4wVIOo2d!1_*JjDKG?PqRt_c15d zH#OM()peOUTcI_}Pqa$!;su!!9s?A7JtQO@w;kR+k69`mwiY+ zZ=Fir{CxaVsdp0f^7GRsnesfw&+S#Nro@Dv?X^c->v2$5|ej4_0D{GNietsG@ za4U1O|A)GFkB_=K_x;y*W^#dW%Z1y7nn{9OM%`Wz(2C7u62%gg8t4sAn@NJAPWQG* zcg+Zz$wjHgR;Qs_wdW)Oshz05+FGlrJ)0qTX{)vh``A{0XET!o!o^D~3XDkedw;$& z69a{wo4$R;w+FHbuHkj8?H}wW4@RWQdmuEIl7f%OIV?wK`Q*=SR$?^5uqB=JSr$5Jj zY*@F)*KfD?YyR83$#LvtGB_{4>mt^#@O~Qn$3pUp-ikkIy06vdLquyO=MUU;nEh`C zrr@q+tlPC=^aro8$2fRzMTZ4WtzF3a4I|^)6{m( zz1YJ7r(nBfLLFHqbk8^wx_hDtwd9-7Cyx>96L`kZQ7F&RKX$ppGo@4ebpiZT(DLQ4 z@DlG#p34UI)A@ws?Z?T!OC)=M*1#!lfouk_Qh@nU>GQLKSm~y^Ovs z=1!e~;tzJYcf;e$_e*lOSg~38!>N=3{twM0-g2@3Hcvk1jYbFO#lqhGTbvPWUuB0^ z8<*_^Pr-FH`%ybGzZ`hy?fg7{p3@ZPjP@vWyrkQ#ZRR-#SddoO1I>#g!<5X*m>)bG z2QIrg!}Kt2+1e>R;0&kI>Bl+j!!NoNM0U_FFOk$2G-@l%FA7~rb8 z_DwJg!&WTR1OBvSDUTJra~$Ub{FB=!Dn^DCY|Dptcp>cG#(zD#(ocQUd&^YHAyI+?&w-2+`00-k(I)eIB`yG`~p{mCm%Vd+xp*aw;{)cZxIhA|H`YTnw3-G zU8F0V2EL9H4Z-fuwo`;Zcn*7n@J*LA$v?8W%KB?q=kuG6L1WzTHdBLO&x#oHUr$=; zhMCM!$%=CEa>zBdBge1j*^;&yke+bI<_A^Fz^H~ZC&l@;JKG^fOq-ZSl3$HF4lTiH|tsJ8(*7T zeP_NkClUV3K1BZql%9jlFl9@e;2Zg8#D3`hGjcTH%d|AEOecRKxY9^J8<}_Q6Z9>w zk^b$VpY(ZI+n9dFH$S+_#;JM#%UymF4B~$o3xjF4oJ=~EOrLaal}=W0UBny|&~6Gw zI_sSXBVYs0S%h;vx=6B8yG_bu+ifnEPCGJ!|B4UYvvj*DTjZ(1mUMe6bAa|<|3T`U ze8T=^Op^81H+KK>1D`tP;x+ii%o$1h&lg$qE^MVm&$L&Iwj70yp!4cD0uTGk_KgKj zXk%(m!;f!*bTQaRu`jLqkG6tPf17=7dgS?yHvMk6qqz7^c#Tf@4z0aA;c*nJM1DHi z=;iN%ziG`aE^f?q7YCMv^I~RZ@m4dfc-^#_#SORkIs@?g%?@Oxtm$>Pd}hTuN7&tP zTPhtN-(UkeaeaekxSvPQX6Blv)ptxOT=%)kU2X6*CC;e_!|*t5@PgtK+u@TsrAI=Z z^>^!V%sD2ruX8Se@A;2tt2gC`VDmQk0q87Qg8icIBrN&lv(e@|9Q>U8T>P@4%?+mS z8RjDJuod~~1<>j5TahR_e#4xeDi+T1^-o1hXP9eLzvkg1@ethKlvrc>dMKMi*^XC>H6b-zLbG-#k1egS-x%*-(_ zyi;?Q+~J5Qw!8R}Ps*KAA0Tdor~Szv|ex&84tcG?2+$- zn}h5%1Mpo+s}Ea|1ElHvuQ`^_h4hVk(C2qGI-YC4)p8Ou@8i^W_n0jLmaNFonLwJ(m~rTg zuvzSKIu82Na_OPr?V;8!CZhB2IO>W!UEXTy3fpy!3wE;(R9BX9LbIH>w6&9G=Mbxnay2EAXvdx5`8oG1sy+m(Eq^arwk(T*~t# z&tzr$_YkKlEiR~HQ?5LRFPmPb}e{@9#;Z{%HaOMUxA z`k5K)?>H~VUcDC|h$$;HzJTm0;A_fCHQ#BUC19a(YK(``Q=e}9|C%1ZWbjrRuY^D1 zyH84Ki55L~Mx^vJiqk}lrZ0qdW``Y;iPmQQ#+fWKuB6N5N;+S4B}<+g z-}kcGSydEiP5U10(0l9nNPl^X25jSf^+0)~v2}K&;ey$b`kk{Q0lz0=?zAS`_{{j5 z$B*l42Dh6p7?+AEbjG+;+@s6K^>v{$?z+R`=iuk$=ZcD!lwb>8f-Q6jw$LTmLI+k= zC$B3T9}3*%IR5n#LLhmBsU>>f}YaJpZja`GM|vxurV! zxzF&ttvXr%w`y!Xx%0(eXv^q@7a7?nv}jbG3@-$o>l;10$w%9KrDdmRk zLGbfT;9SH#2%KWWsy)rdE~a%^2qxB z@<{V7uH?55%*Tan8{%*g!dw0%Ce}}ggEM#Z29(X8ErTA^=&7SO( zJS}lEv=-U1a1kBggNd7ceYRXW&7*Y!1I3rftgYkgU$)m1cvPTzRQ_+&rG7s_zt!LG z(Oi?0m9{mj*yrQoNdS||b413EQ{2Zs* z=TP}LHY}~g-?^~2v8EEbR^$y_Tb)c|Kc8I3-FA&Rkv;6Eis$8U`uc{PGa`XHt+lE6 zMb5-lWIA{E>0Y2B@6gRAc@eN~pl>?s2G&mv zwRqTg6?!IQ_cML@k;P6cf^c)ErwtigO;P0AZL=dsb0#o0+3CBvqh)$(&v)iTW--o0 z&?K*~s!SfrG09hq2$MpM&%>WmhDB(;411d8~^Zvvwo0=>5o4R+G1F zd{IXrSZ&v_ca1OER^;qx0A|;f7e(sVslV{vL0_`kRfMhK4DZi@$B(M4{7u;=62=#( zgjgg$svs^9{MLtjSN($d(MDhL?n=&j*c)eH5R-kJbRvv3@d)z+?N4+;cXrK=Xe{+@ zb0Uey#LwhJ5<7TrJR_2LkoRNRk;FEh<)m-qd64%up7=^6p5^&A&!>5A;lAKCJj=P0 z_Ew&UNPnK^E}lQ-`3ld+^_{zhU*@?bKk`XA_hkNo|2wj6*rVU3ee6*Ob0ePs^JL=` z_@`oIGZ;-ZshS`~`tVdGnFLUG2iAAV{7AFSxh`1M3D0Cl4>5P~Emuab1a_P`q90viMSbAqKH#_S<Ha3c7l0Hum(70clg1J1URd;qBT&-8i;pT(RdpFHNJ#!kNpHc4CG_s+CLVh z*21N<<(vDvkd1Hf#!tR8veG|&e5jH1IQG|y-6@(kn=;1bkBZ;boW&RT`+V4Z#g`IS zteiPNt16U@Kl0uV;*QZj;>&mZKkNeoYiPT1YGiLmDkfCsTQNT41A_&TJSU`8oh$`Z^Lszespk6Rp=_}LRJc%TG62(F#|fTj0#r=I{cyijB5{Y(A@2N))77P ztLBXZe{e>}1M_{fw~umhU?iHs+OXjxnju;uSPPb-C8M-MaAds;egp7=$8wxe(U1)N zxCfXeZdTj^V6v_%B$#MCf{Etgmh^b_uCJG3-LdtWNQ(#98XC;84J*F-hG zeSb7I-t7a&)2 z57xI$wt4$N+xW;V-o-PBC#!clI%e<=zwx>)%R9H~1XZDc#$D^0`Vh?Q-V@^ zlX#3oTNQBtu}%7)BNqm2UPb&E`P|4YurUo^_*Oti#-|@Q)&?d%G4{vGnj*PR8@xd#2)qmSIhjYg}&=%SH zEG6&D_aA!D){i6Kc@0?scd%Wv1HSSL$V&c-jPLzRD|bx-j#rU(^A+dX_iU7!i5=2w zjpTeUxZ`%K@RiES&N=bjP3>pKn$8^B-Lw^3`WN_Ni?Z@2WQg2b4SzYI*X#9mj5p&u zZba77h#q+#Wdi(~&G>^a7L6<3`|9qd+4;G}Sp+P6VTvi1UL=5zx4~Y~a4*lj<4gzo zi&xsvJ+yC_P&h|28*Ab#uA9zj`aSn^TvwD`yp{CJZaAmu$$Vs_*2IH7={sjjkQaHz zo`>u>&9WClFES$)v;2wg>&|X;eZ-+|pXP(Encf!cunn?C(_5OEC*gVnXT!>06Wjcx^Yz%+=IYO0>JQMC+Eg36zk-hHIqbPP z7gf`ipSH?bdsVcDeAbSGwtGx_b+qT9z3sF$R-PNS^|R?aC0WlpryHI7&|%)kd?QCn zj+HxR&Wp#_|1`Q6`c?rCD%s;poTYT0C;m`xjPmh~Mr+x=*BheVJJgXAmFy4w$V%Uu z?IGU`vv8z&QuOlY9rhkN(mXkOwC=ynm)t#F3z2sOzfvtqv=1KRy{P4r|%j zl;69+M?a1(ZgDu4l@j|A+gNXX8NRkTR^Mjw_K;8Cd-&cnUB142M<0&;MPEPPx2L~v zS9!i;%jK79>(SdE874M8{j;2@@)rH;nIvCohxh29?t^z9 ze2KNb4u4{cyOs=g6r1jFq89PyKg07)e(UiC{t-X<3=i|0f4j3V<6C^N(IVdD6`cpx zSfPqfh~5(trFqY^Fa%&fN+g970abdRS{#H%w~B z_FKMUl9%WVEB(3r&CECIC$(?LD&Dh{*ktGz9>u=lQEVL^#qQzJStitt9c4H47Q0Qm zoXW_@?M(dPlqQ=f)u;43l&^|?nKYf}FWcpaRKJa`y4)GD`2GQWO-2r+7%c;=p+V%i zmBHXMpY6VL)m`ua(r4@aIo|K#9T}bd{tMne$NRSQ`!l@z zdEcFW|0VC2^WK~;|2*%@R6hOwYu>NcJMdQhkMds2`$+ozG2Xw#dxe$y9_4)%?};4d zAil9ybG(sv(ZxFcxAR|XUo=6qVD5b<+O>ZO>_o5Hu@NfYXSi{W?futE#DuOd#G=x*RPD}>x}jI1(cLtcN|_E04<&Svr(@HmDI z=|b|KDsL(KxZ->PgTi|1n@T&P$tB-n-qAZ|%I~G$W9?$&*`MBDVaBKKuGq;Qq&bcg z-+mfAR&xR85O`q8kekY^Nb?+%3{t=3vfGi}-a5c}kTdl4>9kT?o;#!Wic3=deE5Yg z)OuAN743L5WTWF`9W|F(N1GS%r2a2cR&{)lXJC#mc@<@~rXL zJfbVWuwXlLp?oUyk&VNtyDvWAKX9|Ln*AJH{DtvYkuu5#z^@m7RB6&c*(ibxms?t;nD4+mY5_s^XYeXk}z`WJZFczIUj z-Ss*%ncnv}2M#$W_P)#i#M`b&oH%jJ0kM52^&Vyp_S&=^pJdK?lCcWD@6tavK9BEg zTMmCWjdmrQnauYIy}1{q=DQ)=7fQ7;qxZV;zL0!Wub<=#tt;>)-=*GtYy6>uqS5XC zrhO|+Xvmq@yYK1B(7r|!+J|iEL(Xv@+~-SvfGp_1mvs&&{|bL-A7=@abD;ys()L%8 zcP{sVT${xm0-8S)vhV2l=}C9LBlA1Heko_lE1;R52mh9FrmTT>Udfp<%RWf!4Mq?=jzx0MmodUKJJW-lOk= zqhP2QV1k?An1S6eaM;UO1z*AaH~7=WgT$t|xj*EDE;m3A%JZ5Qdx+mz&Ymm!(0GwS zzub?V40?OwJ$M*@2JQ`Rcxh}$dzp_x>e-|Dzu6D1D(bCw_(Gb8bAipTSYrpFZ5uY5 zh~)elr*teDtHw7LXAUr?gU?QmzW4N$=xWB+g+I*!#&z)7<)nQf8beR~0XXzNcxB^D zdc4EV0>(Dk9&cuR85pGW*G1m*|Pu&Ba4AKsEdEhQ>f)mWY9V1mTn8V->PBa)`bRgU^Gkw*%nv{&H7zfc_q!Uz|%q`&eu5m7CDJ;OhW$e_)L>%3TS` zedp3w`1CczNBpDO1|MV-AU)PQH=E=aKg$~9?60}f_y-xgV6cb&2}Z($ICT%vuk32h zCcuevi#_&iTQ7w@E%lasSNuV0|I_~84XxEaXzL`2M+2Xe{2V-l_LFYtBztqxdueK4 z_H}v{U%BWB0Q1_{5wc0tp{+ChtJK6Rn8tZuT)FEhWO8@G@W<13oX}{b^ zKZci^WDb0y&T7NZH`fhoDvZZ{ry0 znR;iOqQ0+<8Q)NPY^qcBy~;QFFTBirt54y3Q~cM6(|Thc=Ox_%q1b!kvoiPG975(O ze=G5!yYa=AEVP8Ul%GfTQ8JYnknk#dojKm&D&%EzS?kaRWI5hAb!3f4#!lSpDr{XU zY`v-C{1GR=7@3pPvT6Hi%W@x-%C=GVy#L#>>2_5XUdpC3C$~FDe^o!ap1wi)&3+q_ z-e(wmQn|h0nfkvFnV9I*$>oK|;WS@l<1uBmMq}Wq@ctTj74b_R){4WH598wo{P6LT zeOl;bK4`4$MCD?vrLpByW~>avZvQmvFhJR>nA_8>zmc}7Z`{p153%l8;|0gp8`~D5 zowHp0682TTY3<#^+B@)5haD&Gs57@Fz8-o1j^Bk24CX~dqh_GHE7@{pQ0w-HbDZ~= zl+zkraJ#Sbi!aXa(D`S7Gd^uq(7i`Y-`XpTK4?W%m>(wtz!6O4!KPaW45+&L?``OiT*)ATNA-#6!Eg9VU3C?2L1)3mAXi zpy%jfQ*IXiCw{71$x~z%<;`er?)-)4!j4TJH}4YsJi#X0&bXd-51k2J;NF56*wB_Z zi){a&Z8k-&mUrLWaGeo;^n;TmA}ll-m~%tE&+$&H=7+Zg2PjM zNguKvKemONi0Kr6#Md|Y!i60M{YV^n(&G!w%43|bKYks(7i)VaF*%R12Oj0ztvjW3 z_L+{|mSP%z1a115b`E!$zQcB`42M_tza?f`uo4^4H-8>>v(NOc`}xCe`E!-ve|07H zU9v}Fud0#lnbyAc`tY9u&n<_S?nZ8s;G90d`Mnf4`}xVQyv|GydN^ZtW4G()S&7WX z2P`XqyW&t+rtF0md4QMZBEWe$6N?PnN#bo`r;F};Y?}*cFZ_RKFE-`>zP(Mf_m5yO zQL(6N6k|lN!?p$6>Q8_Hc(V4{mlk)N<25T^05=@0SJ@0pM%TWid6yHoK30AUI?#7n-PUKN7*;d}RG*0UM#XQO7EN=>Tok2s4TZ zUh*lEzPrVBP`<(O;AMSb;?JjS0%v%uz(+0P@uT{cgr4)`YM-H?V9qa>*kAI zzNn-0oejITc6&Mu_^>Q1%hscqV0?*dW#MuQzqc&>-@>lXET7{#fB9qloN2$f0sP+j z@qcT)ck92Idwc$^a@KkO)-N zj55E4GHsO6S#EB+OqaG6W z;%`S*mH`7FtkgEXk95xtPDH+W(3xGMx)x)r zeBqMHT~)5!j*+}OgU=A3Ck(#+1bi0X8pqDU!dBBYE=Bv>$=eRzl+Eh78rix{?=J(F z{qPK3p0Z%zhCNFh;lLy-9Ju-l+9_?{e0A$Z#ALo`!>&4$8*DVLj?(9TcJ;g^u1WBE zE7!2^U&nfHVDE3lUtrjiQ@nLnRGD{#vyb-0GaR8l#$LOc_gvn?JWG9*osaQc z!mkAWVWev68~euNBe_0xcWCaK@VUz*u*Ke#n{X-}$e* z1)k=K%^EUD-8t&$eT4T!hv_@Q-3TueTT6D071$c?=dL)-?=s*6UsBJ;4SqJM`3y!~S17{tW;Kt@q;8M%cK55Iteqk2;s6{*l|1Lv+S!?-%Q^3XO`CsSp1P%K}n0tb6pdIc-SRw!P zIhF&uKR#$aykpl(z@U}!Fh?DRxplGbNGou%_I9J|Z-=H;gLjQQtHk4g2lDmVO<$a> zOZz*#jr|?{RGf2#b4n~^ideTQgM3}FD}CtHwl2A2*H-lT#4GN&)0x%blMVDn&Nakc z-)Ic{Fy+YGO?&&>9FZTrd`ZVezrCbGaxH9S8LRF>C}z(t^v=b;zx&%~tf(kKZa2Nl zox?av&;@oA4|W@CRroo~+W#}Zi+5~v568lG+@LtRi@`kh>PE>qBwHKr{gAWkUg|x< z*%SGI&BKY;m!9CjeWve6e;avFc@A*rMk0tlkMestLnJ8QgD;WFsUG1WHVodeb-3wQ zrk;Do*0U~E&m8Er>apYeQ4jWsqvcgj^{OxHDcdE!O!al3tC~@HoA~F%g6*L#4}G^b zzF21vXR+?kELqYLw0$vo|CoL{NQ39Re};W7-Hr{ABe-hUCU=~>LB{G2>+$hde2KAl z@af*Z(R=u+Qv9cIuU}^{=4D4sc;^Un_$<6!r`9ZZxFO$clI`7CT<(Tuo{Y;klJ<{q z`2;+M=Q$-FTgZ$589YWGZR0V|Q{u6{3y<~vWIR@y@R+CYxEnk+HXfS}c+`#t#>~CG zHXbiMkOMy~AA4t^_66xglkB+{!(%n@U*`?koMKDubLU$6IqR94y$4<4{NWJ%;6|{nq!=yKWXIr$G*R*zsqfLUP;uYVgn`1 z9g(5p9PC8#<$_1I?*Zj}t~36>mm>rG7n7gnlY14%mAf7aZzf%S)%DzCh&@DyZ2T-^ zvBr`6Qf>`8^a0M?>o%Kwt$D#h_WJUPQr;kbA|quBg6pWO62Dnn7gBeUE(98-z3K1$ zAYQd)jhldtO(#zwcM2mbX8g&g;lo&$c6=q#R`$STTISUEk7Q1&SLL8#zsQtB=F~S< z<`n)1@}{5BH?=>ujf~w*E;N-hL}3>6wH2P^^Wc>eTAU3Xe&-Ku+!xZkt7B(N!F;OngV#+9Az#uK^x?9Z%d|K!Tf+4$I^JEC0^sxag1b9WZ& zBbT+IzPczAm{1cnO+!skG%$v7aW$X8@%@b%cIC-E42=sS*)v^-WdLQzkrvVxTLtyA|}t~ zOE2pbKmR2D(sk@FPg*VRgW%*%tOw2SJbv}p$wpwJ?X$nsvT91r_!^rBr`{2Guencc zbZflIH!jQMpUs}0$?s3+*SzYCRY(3Z?v$zHjFISW<(|&(xV5KrwV1WY7z-1O(SpxV z{I^n%huCw?ojV*>$M%~NO{q90c0W4H$Ya;Z9Y36pLs}2@%)fxQx4RJ;o5W7ywA z)yVO=U$RDb-^`^iEsU3Swbs8O$G)rQyYSb3;`3B&P}-D2Kl-Z8l#9c|W#R+M_QGHf zKN$3JPRBp;X5XiG2L(;&eGhVe>@jp7(7?@%cb+Q`dn9CY&SJs0U2p;a!`M%i&~_{L zC`%UF&b!NTbg`d1f&3m{zS@_5F^cW1eeV*s8TIHpkfGSNHkI&xHjS}$L@(HM#RD!l z_;tf${1sR=a`%#b4>S1V^Xzat=k0JC>J{%_HYM!-EqT`7B|80STsFZ`xT)AuBhcYY z+(zkg!qDD0`ZVxvXR;hQDm>1`}ZS|qO4zlcftlk92|B6r12xnZ2ZwMt;>VDcI;D^2;H}U=y9vN9K^Fti&bUZhm zZ-#zqLJv$co8ENHtl_RX<_cS>$9%^xN_t%MPl_iq(3r%Kx!CRI93UKm;iy(ma5aD;M+59C?m zn8aD}co|O*_X!Qo?GKIPyX@K>zBiU&vvoCghF6=PeDi8Uo@Q{^Jk{nloWsnX2kg(ixo<|;M^c5;5&eT_UNA!40S#y{^j?kdqm zWGw^emj=-z4W8vE7J}{|aN03XRAw7=<0|68EB?vZ+^ygz4#g_UeUWne&Luzmf)m-F z=0N#12d|O8nLa)7dF9{X{%_>}68YQUHMk4K?t3G7wO+2eAl3g@$=iUWUVPnCHvU1kORWRBX&9)(dUZC!|W@jhq7IkGe``}mG|=hZfo2!_{=<&Q$2TEX4&1;qk2`3 zV%v_peQNO)&AG*@qlB{mLb(94k6fPPC_l-XG+KU~HOVetk}m&y%Fol?5X6(urF;c@ z+C-Jd4oNzec_w$+Ic8#>@~i!MX5zB%XdJ*!?Y~C(1nYGl>okFVWzOw6woHG7dd{YN z0Qtx;PuV-aV!unEQ&a?8D-9Kh--k>l0Ih)^4J^MR-eX6sa|Kq5ui*d!zgwJ41 z_nRrea@=S=_nUEcJzeQB{g!%$&~>V<{ZIS)+PMdA-tD=?ceD3to@UdR?%AKtlgo0A znJ3o?^Yj9B?R%cO9Im{fV;XBNaCQ~D(sTA5`V%ir&Dm_?oiT5D>W9WRn>oZZadggp zLtX6Q)Rmhz^lWP0HUdxW$(px$)a5}wm6^AF)TQ}O&0FpX^QO9tnVdI|y13Vc-$Z^B z@^Zo1600C+e)fI$%Aaj=f50Axo;!b=nR!rm`uRR%Rz3=C?txZnUZvBs=aqRn`}Q-6 zHJ6&h8=J=!-^&;^mzu}>fSKkpF@%ng_4B@!ohLjz-8xF_8Cj|Ip*&h6_~GS^T_*|d zBNqPayVk((sc-B$NN{((@cT*9h2zS1Dm+hcH}k#ezDQQ!nBVW#UT`h+P+{sbLc%@yJ)=kMUG;0$`0Lw{O^t34vKH)Qq-?GM@~6n|26XpfkXuIG!? zvxPlYx{3hv{zd9}<~CESz2aBI#nFE846$)e-ZSp~J+YN6Q}ZRyZ`{A}{)T?!+U37Q z`8O$_**pGU>Ufj#I*(-bkO`D6Weg1-_5$(zj3EZ?si$lya_CXI&3>Z2WPtre`$}eg z+i*Z9G)x_po|oNo=e_J6N%voHs2o$r0Q-#gmPC4=Q9tUyOYJcesN*H-DD%AJzI@(G z?%l=;dZw`+PVNVLj`o_&zH>r9&@*kd`|+at%y};o%Pa*)oA)2nj|6*=_MXf>G`5Zj z)NwJfN-I5oc3(X2&%kn~4a>i)!86>;1P+MjjkkBby=oB`(26^O!R- zguUe;wwn5Gu}2=Cj7)3{kNX-vsRPi2q3Ksgd$`wh5I)zI5&gKdL+yN(I%DaWH}dOs zz*lGV>pj?W$Y%0{^Ur83wO#fZ4tuMbXS^}@YJA@2gWG46{?`55vwrI?vBuf+amMW> zh5xnQ)V|$3rSQKhDtCRKe2NdD*a^?@e+0gC1itKH{YSSj0-y4x{)2-fTTI_e`Vaq# zA5-5i_5XSP!($BV|0Dc|NBN`vKhA&V=so^pcUVgdhuR4LPoBfQq@B!vb!XCO+vdr@ zUG>dz`;WP2U9n5dE9(r)Zne)bPf!V$tS&@Ut7Y}fr*})n)zTS!+uQHMO z=vfY}a6}WkxD%RtTaGlkY}@W3XKwF6TV6Cy-hG@&6nAnT_jSK>jCcmuI-?(T>fXz& z=;19{5jQfAW9!h>5DQ}f8|rshi^s~dBL^R!5dEYvJF<_s1%nItG4JukR^NwPO!CfU z$Q`*?(_?Wq+MPNZ4L`jjG|YWflA#Xo;C}_a?jzt3Yirn9nH+}q8qVQ)Ezi8l#*m3 zi8IcP*_?ggjY z=AOCI!{$qGEWNXId@Zp%-F|3$oO!Cl-bnno=k)klpv{9I@amVke=$NR(K8 zI{)ll;SBBnvNJSztuwTz4&Pb)XMb?HFZnBMfzcxrT*mp#Kr3fEvuf_5E*EreH}r1e zIoKW|TWN>Rg^{gDjx4$CDr~i6@98Fnl0^sAD((6*C2!C+c!r+_5ilixj%cz{Sk7k zWAOUNkojY$>;3QW{INTTk55~PyrtOEPw#!d8JlT*4fo)Wc%XAi^cmu)$~GxXK7Ci- zr$`$t-VqYqhmj>HHrc=>J3@kS;^qF(K4)cL0KRNbPG#Tw&BQP@fwHK+Mof&BF?d1jZyMF>5;_KRRD+bG#qvS2kFw4hkbh)_eYNMb{6{cmNBp_ zw_%xM>!bxsN4k#w6JY6F)?gf?unZu7(>X`;qc+MkmnGmqh30WuaTT!FH_3bi`*QMY z{_4{CHGi4A22REk&aZ!mCxhiXLI+>z4-HrC;O@izP(8A6WZ6LvHhX6?KH*9iFnX7^ z^!~({@u@ArNis#r5{182W8jp*V?XVd11I${g)hz%@I`Qn)2?t^aFSeCIJf;IIMt8A zxd3&Jg_HVHVcfxP}rgk?J7H^!UF;a%I1-wx7VDZHm*#1CF8d~|Ssy9tG>iG{$J z*{Ay!LVusZE>HZac+-F7Ty2nBY`X*71^8L{E_{eR`EW2Rvg57yn)W)gBSZKp>>138 zgdNC;vDHh|5gSAD;#*~}$k{zefBy7dQ~Y`M0Qije=CPKZl`q3|?w!V8XC1T%e&hi6 z$;A)#hr-wZ#Gmg+KMHS*ZSCMXUlLy8^`Ui@AqTR)ddcY6A6?a^2|hWwK>G0A_-~S) zkqd8ME8ZkFw9&_ItAN5S+gWoMo4x|KQom`dQAVaH(_afA}$f!5<+GuatREbxam;s0UFoVd@Y zl6mjHxM}g=C6#^RwFAt#_+P`GB)(g5c74RbjK2ciWgdKzJ#Mkb1HTOaMBYaHE(W1X z7jy1PFb9W#k#wAa%BIET`0#kBQ+t={lsu?{`3Bvul)=;cCEn%W&Fg{y$OjU{m6oTg1u%TYtj*nfhV4Cow4GgrmuI-xCB2T^gzOi zI+qokVSeaN9P1Blx?@K1(VVJ~q1=oLbB*r3RCzj6z`Nv7!C0kPSw=k`>QP^-s7G@C zX6iBMNj%MFbS?UjhdCKjJdfBKC6#>x+-Hm)(&iNgi=Cm}6TqdB{*d(cN%mp2E4$)U zpOG_On(A{IZE62^ru(e6{K)?I5XUDzS#>+@dF){wY!MvEI~zWtlzL?cSE{>jXAz^8 z_XK^|PP=jTe6_9k+S8tTfV**vN9lD8n`q^=aiiSHJcVn2p}vCO#6j~a)`t4J0N6Am z5A|GRRtA7oVtp2T8Gandu78C;)S+$MP0CvQ#90+$QF+(>hsh5BNA#`*EzRO%3TqD0 zpOP)5!5KSR+;!a-1*h$Lz+KY4DERFi54itCzG>J^qbHC}`Pzx+!h5imAMn2Ee)H#D z?szA71V4O;Hj#hsbfZs?!>=Eao%UnCWD)N^XK}}XBNlSyO71*mg>kxSz-!w+_p15G zMWrX=o(mteq192`A^$7+sfa!e6E9NnZ<~wFU$?`Y$j@KStDzqh4tq#vuet?AKXDK0`-47ZEK7M znO+HJz;5Jed)TW)C-<^nCDQxVqZ_h|yZ9dCdk%6NVo~Oe&|mFWdVegvU+KO?#jQ{6 zS6QR`)n)0u=0)}z?N`d@r`(;`E!9zv_Ny@Wifgaw;$7eGq#h6Lo^HQV9z&U)G5b|_ zdcWG1u0!|jR+t${k|h)w<0OV~6Ol_bJ)S1dt(#p1W4Zngly=1sRwrmVbU1 z`(zv&pZG3cA3jLf{LBu%i%dxTQ}-QHM|q?*%zvU&w!DfdJJq}VB)En-{lpun)7)W0xfGa72RV|4x!yO9fq5(C%@~-w()0F0nny^%+_9|M zxJG#?A9ZNn>e4V*A4+L6!_#@vb;PJcJe}&$9rNseqdXn7+UDuH(sk$#1!7Dl1<#+O zE0)eL4vo+nQrgfC)AudXna{$Z9lpK_$~}Q>i?e!7I4yr@VXr7-f9QgyQ*IRZ{rg51 ziDz^0R5|s>ZjX9bQ0Lh7(1TpfUJtB4tq0{jc}=vCN9PrNt72c(zUHJ4qOGN~u~$vY zoJ9L&D;j|I@8>M6y-E9$*7n=Hms;Th4|1IW_D+q9cqeOp&>Qh0+Al9;A66ONBcpQv z&ih9PeRixBy^BB6J|_NX5Sk#~NIVj}Pe~#r-_>tinDyOx$hBnI0&6%l(%3E#yz`;G4wW zzLW29_E2o;*Omf5kKhMykfh&&*DtAGc$A>e!pCdWue{nQv=Y7Y^xkg~3wnU_VC5G& zYU7*@#k*GW)A}uA4O*N9gg3KTN9XJs!FF@jvc%32`)nt;%)%ESGq(}yR$EF}dr{iX zd{dfiwDm5Us5zXb_p1CAsWLNbR7Uhqeb1DO^S}8H>G6La9XG*TQ-OW7^uyBiy1sMy zZQ>#KH7VGz+`2GS2@y{>5B#W)Ax%vI}en zyj#)F)=PFl`RkES)ODX3oC}}fN$GBD4-<#>m)M=iUc8h%rSP1$>50r@pi}Wzuu*%^ z;trXV-r0i=8GA49_2g+h%Mi~p8{P;TP0s$};rAlT+WUwV`T_a(qRYT0%IiV5{3725 zh*i5Ac}Jql3SIov!)`yi<&U>GBHOwz4hj|*!$+vDgnYFI9g%kGI7EG=@E?aruRtbp z6gk7pryg?0w@?Rr$>B?U$&1<3uVd`($QC@vK14U#;TuZ8jqkE&h+k+2|H9y(T|c~r zcm?qcZ*vBa+(Yt@X6Lknl8H$6ag=ZJrTcircFxt~yh-A*41<$@`|@`9C}O(Yx;=zl zQ|(``-5#3ETK~)X?IADk@6~M&z1zG!^iJdU(80Ftp+msnR`&lg@b)tBX9wr`MxM>= zXV8O{q9Nm*rtjKjXYp))JGi53{d(-<$TY)oK2I@~ zUgB)rym?MgGC+gf^x^hc({4vm5c<0^(Y+gcu&JZ_Z9R8ByvY2DwyC}rXpYW$E$m6s zb)0zCYjJ;-@9UkpdCL0;|1Hie$WC@DM$zmg{!VP*SfkCI$PyoxtV?zd#CGaPU<1a! z9jfHqUCnv>QT{KaAAa;V34HjrIj}n-tsCEnXP85+!%E3LjboHgmrZ*QJi2&w?E$5% zmBA`svLBx{*}H(N_&oZORkmC`6+^yAMXSk2TwhhKaWt;9m3ANmbnU z?PO1!){BogZ5Q^oPO6R)!?3qu60sPNE|^Luucq?){6^rtVm9+v!8Z zX;lC8{Q=7C1BWCdv4B@bmSG_;I`zE1X3uN?hD_X{UqyBP9~+CHllPVUQuC6HFMf_a zcgSVvTUM{;?_;OatGO6PHgXJ@?`^yyIyC+B(Ri6zxu0)+;HGG4E4IS9*WOiIiT_$N zI>r`bb$%@rq?U?OazGu^;S8wOHb!F-DQhr;jw_IJyZ!7*u@=@CAI*O5~k?9xoV1wWoLdCHHc zjMhJA3g6OgyiA#wD4S{P7qoRDZC&UJUz*5`U7G3db<|tRFH`5~`ua1Pb+raBon*N9#f2Q2~J2EmJ3cs@M0WBV*yTvUm4}) zcUU$heCcL~qeJxR%rvg;tuo1vh3mJO{Cn;&`Fp`-@x{w-Z|=Oi)#Puy%jDmAkI7Hm z6lj`HS~t&OzHjB%{ymc~emusUxAWfieUl$vk1g~ACjSPWjikMD8$1usmWNILrvHKM z75B&F-d+eTZtmO!9tAEA*W}Lsv)f?*1lhubK_@3*a=mhp@&lZTw}rZr8E@iXYMW7tiHH^xG1`2FUtRGDGj z<4T!fbic}DCacVKOrvE|L=OrST!*Z zWgdxz>iP9QoGK&PnU6B1b{VV2l&j3QDD$mUnc0--q71+O|KY=~(jRp*N0MbJp5Cg9 z9R$E8e3d+_|mY5`=u|5du5B6cFzV`v&h5Oc@-VebO z@O@%E>N>Z~qyGwe?g8o<=HW>KV@?B?@SK%weL*J|2jr_LlZt7mm zk31FMn7-D;{I^}j9@S&8M};3#nToShF&0{wV-GOsfmWo)T?>ym`ahE{IAr1m+4j1O zrxUrMhq^ZTi91Cdsr!o^y-Uy!8`A6N_=tBgwO9A6=)KudWc%^;JjDG~#tO!{C(+(F z3uRlq!`>@X?Qka){w3mN)Ry9$Tu6ChIYtbA42q}u@9e4H;_gqC&)m6k{Dk{4oxN4a z-gUNYdhVWD?WczE6UWq!`=fhe>$yKr@=n=^|M`rzTHPghAAPrIE9~&u_eAP@=AOZ` z8AnTYj5A(g?*k6QcjN6QU+Rv#<-5X}ve~|nY^PIYb^qP+U7w-s53`M3R&r2q*9(v0 zold%)5BR;O7~9ksR+ zZDWroM!yfGc{cU$nsnbao+G1uPu;Kh9`U1|rCptm)fd?U2tL(g`nHX}v2N+R>;wwA zBiR>VTKPv8TljMwb;Lrc zm=x1`C#T_{yu>_SY09^|9msPmWYB)jAol%t*d{pe#YA4U%wSLN;~C>@1%0w@timas?nA(#<*ko6`&8Cw{mf=8?etIb$P(JEMnfJ+Z z+HOC7`HVf2zm)u?dw3-%RY-o_^&|!K^Y3Gi-sD zNgrHCf28A8e!VwLq<)9>PuE{YjFKMw=Kk6G2Z)8y-TKehznK^qJ^iPyKQrD;|MlMB zB4!5X$qM8uniJ7N!`W)=n#$m%=0dbl^LR3zplC%N-?^#{ycWF>zC6J_o09*5^Ip-r z66~udaHciL0Kb(!yGeFdPh2L&cvbz@XU*z7BO0W0 zVF27U8+}EcXz++1e+~9CUx;9^EL{ z|9?U+Y(4~fo`IwK?*X5&wY1^WJqn+!WeI2!{D!xkvmQExgSuC*8=T*UEK@iydn+^L z&Qs$2Hemf@`gdJ-+bYGB5$rR4J{cy8akB}1M?bM#GHc+vd zph@|(#PU_59u38SKGq90Bc6E8dLniX3q1(EW-y(Jc42b3Ev*rMEr2h z$=ch0bU(4cvBMfdzLCO9XYYqjSFeRUCh@-POSy-lF~^oYi$C}y`@hcG^2r_I>@|Q5 zRyXtC(wyQEHkFykGyJqy>R$6Z8ME}>I-5)Wu6<5-V{br?hP=aDnq@X^-MqVL`yJDZ zr5D!sZpx|rw<&AunAzWz{%z#7Z<6m#^#6+gRX|y#r+5VX=WjKA6G{Y*&|9$eSuc`hNGgi0v0BORnJNrwhCzYn}KJ{gQej!6CF+~Th!{EZMrO{dU zo6xjPCN%v#D>9XHL<=!WQB`(t@nA=O}#Cj&7@83#h&y*@vN$wwRuo_Z}oFpfO>DB zUVR&_cUo_+>Y%NbhEMC*sybRft;6mgwscyb4y`ZNr=Rs%2VVQrbgrxfI5^SQ4S`iA~UG&sI-X>=3z`9=4dP&sFi*}1Mr;FR<@ zrDOAr(qrxi;LcRen%+kIZkmnDrpJ{&U#Ab6T*o;`?NxI}ym0oTx0goS(fNLe?6V#D z?*MJLmzhvcfdx)Z>n$g~MVNDs^7asyv_X9%{WD5;r_&u4zTTYEQVO z{$=r=;s-z73t#2Ft8VP(SMhDhttq*%A#VHM-77gICGWU4l!~v=%^j037KCeGE(q@& za%Q3L&4MOpd0#H*{vdXjYx&kCQx>4ZThPc48=wU*7sNie{QA8+4gCQo$uo-_^Jhsa0N%^C6Q57Gz#8boeqhlN=6h^EB-1dj zr{xiaCb>{_ko@mXF`EL^`HV3O?e#IHUi-cP@(huOv*!iMcXFN-e{|yg2KJpiapV+6 zvOwK`?dbg?<8=~mu>~Fn8|9k%0m&w&_O7NMjnLyZ_9dN(Te5wjX6#uHzue`%f->@@ z4*Xtz>dH&`Y-FIwP*q<2A6s7K-hAl+_jB}DyiDM~QswG@FFC<9@1GngxsdE-1yj{4 zm)`w5ayRj)tN`9Fj(-Ct8kbv_Yq zCtEY|huk&OD|?f$O}}M7<_LBZ$1>Zvmtk*}x0^ZEKCJiaIlqceYKP{JK)bciJ63G0 zt#X17PDc$ov%bOgrq8#$@)~2#yXLbMoL~9H*Zcaym-6JUZ}T~xPWVuG3dtO?g+tF{ zdLLY7h`%a6NP4Iu-HU)dzDZsI?S!Zmi~| zSc>kw0y$zB+g^{Ex~vD=F5&$|^i6t?m7+(^Hs_;Su}H?>a>flFcR4OSHD2eX$Rn|uxI{F)^=d;A?e3W+# zhzj)H!+-F{_A9Qq2tQ}y*$5V6`?{StZdz|A_d~i;-H+OHy|1$y{=nu7*l(Y?-o0Yc z%fvQde{W?Cgu&xy*x#{{;r!-U_Dk#z#E%EibBiB~EjYTkb$l!YzlEOOwsBi5UdDd` z>62n1Bf(%5u@?=8QB-d>o(dG`k52Xd~7vo^x-q4Rj? z?%I~W#X`d0d%&X#`u6D3mfErfZME&Mx4O&ZqlyiR=Nk93F+XH;J zpD8=g;@%(7C(#x^acjeG#zOKBDy6=bzd>Wvr($zqEB`ZN$m9>dm0CY7Z>GN8M?K-U zkjv3Wv!J6^_n5MzSu$(pEk6DCbC*4|Y9{b?PiLKC6Lbda{xVO@{S2@dpHN3X zYb=fSxTkuFGZOhBb0yhq>iow%!<+qYzAJy~3^~>N9 zrtnKA!cgbOFucCflfXcCFhB5p6RCu*Xl!P#uW5@72c1s^o0;Bo=#R$iOXsOzoW8l} zhOkwtgm&BTpD^_n&YCMVUnTr6)&IS*(4Suo*RG-;rP(d$C(PP~<{|egXP5h8eluR* zSUU?FfPCgh?G&cl2{=-HSqI&lOmCM=`w+3 z+<`Kt|CPrDyQ$t!kejQXv2_yh8DJ-rCO^<-IW0X|L6x=~qNwm}a8e%S@=7d*)gWKm&n61$ocGx2I&tx%OW6z{-+v zt&d;JUe*TXTmHk0?mN}#zSAH3`wxMQ#xDGP9v?f6;pBDp4C$G5)(TA!&WIK$W@szx z%nwazWlf3?P`=Dsd~J}qJCK64>i;cq^24mnnc!81mJD3OS?M&ir2l`*b~bBSD^J$8 zEss+@lF8Mx$Ls|!wO7O6E(`RhcsK1OtN5=mmXfLa{5iA*O5L}UZy^M{WSSoNiR7? z{%@Zqzv@3#{?pZ8dz$>0lm5_4u@Htl3xz{kL;b9!`u$;h9fd9p*M401u=|V1*^`A2 zxz7O(-S3VpY=IV5%${`%^n7JIbk`5h-36>Ba5l7ZzPY%iKNji&-zpf>6T}wH~e4pS+rQ^Hp8=P zAnUoVvYh7zc(2$pdF>N#kE~RmMZYZTn~NTLsHHaW_Q-`9oafxUNwmtAdwzlVviO55 zzw*UxJhr}!ez!eLOh<=ID2S4y-1rWom6T)-I!ia_FC&Vq5sKu z^xgwJmo#^8fF9W|B-Y5FiNwSsKdl8C(c9hXd@^s~Kgq{-*dmX{wE2=#kbY=qZQwkU9JH9I~Z&1k!tYa!`V2|G(?dZ8nYP>#NTNgV;X8S zZet4&4@Qlvu`b*^%9ax>+vc?jIZk_{!tCdImGS8-VkNC|iM2wx?9dk#+t{in_w$l` zbK4DV%)yQ&6Bfr2+JN9aOkWp>hQ;@T4 zPr{SzNVV8=pdt1T!ZTRM`2V`;a-HNi;X7x-mhH5^Yvj9;I#PYtmx+wfi+rRwbKs42 zkw>#Oz1Wa`(gKl$70KKgl?)$uhv zwC+$j!RQarHqH)U4S;V4>-iY#uWc@^b)0rx6$zYbt*030KJ>LQ)?&TLo=My$ag;1$ z$f*&V5=Gu8PXRp2N&Q+k>V1%N02?BGP$~U>4`r>jE+%Ou2vL zd6K?VUV3(D83K)m1MDm6$3NJx_fPk}C5dr!{L;;{C|kogD0@2|w_S3U z=AOPw4`s!kjS#b+H6?Xx+{zZ-*YM_Mx559)6$q!g1L2ghfv_tl5O(GU*h5Q9R+kB< zx#O`~l`}Ra$An$EChVLX*CEFBYQM1gZQPz1&zmEjIsv`DbZT+FYoXtnVEYsy%(fd~ zuvn)^cQ+ZGyJ))9nQQw&S>y`Pd+A0>XHC7KX=YPaYe!SwQRt(__MOV<9+UW{(J{gP z271gE{d|Z{M)&~5;rwOSF6M$CbNq-sHQk)MI6uw#Db71NOMkY5^LFlceSZG%HqMV8 zs2JYLv-*4H4I^tETIioUoSau?KDc1`S>CzFl@0%rcZ0$C!$0Hx;KjMaKjpmRhYN1@UD=5ft~WM}tFq<|Tfa_KY@0*BpT1zY`ajBtr@WBX zb;EzmA0GSn3x>x<-CgJQ%pd-jFDw`yvpcU4gE{? zD4wn2M4MNi4fQb&x5As???VpYjI54@I{D@Uee?4+Px3IXl5trLzT@$+VX+2`&XKR3 zapf;6@G;*Mac~{iKReNXy1Jb_bMcNj*^aOM526k2|8A|Rn(J!yoClUdSBnQ zF9mpF*Twa_@qGuxz0QuzIl2wI)KlI!KNx(*p;1P|{? z;s~GH^LE_egEpRezWP7MljtbUQ=IUWIKG4{;Vg+Kd~Dj)XTq0orF|P6AHtLN^@6(* zc)}=a&=UP2IaT{i3MnJp>;^~c-RnL0(%$cMw|H`&oj<(Y-C9}ej#T2u*lwIx(hT?* zfs3>RF4UjGg=k0gpj=17iReVQ5Pj?f_jmD5G?JtX!IY#I)%zxT8GRq8yNPz4JK))B zM=N!R_Vh2cvzGf--iZ!(xHnX`x?3uDm{hwh#DBJF@F=vWf2i*NqV72TW!v=kD)*v4 zi#8(n4OxuSkE1{T|0CX&3tRse&Xcq#+>gY&@GZOx|H3= zM|khKjQ8>XPk4WV`dSls?@7?La4Wp4?}T^3AiUqjeJ$_w?^f_$>t0`}m~5hR@5H05b-3$V}B z0Ur-`lnocIos?Z0Af82V;o;>xlYP_q>Ojc6x;!L*=OEu<>$TU$7Hfl`i*+-0ocJ1X zx4lNZ!roXcJ7CgB`#f#xLqBK73x}Ttf$0O@zVB%ZIb7|~y8kiOJj}nZr2x~82=Tmt zy>-^S;irI$I8T-HjR{-8+5GCUP~_FSLjhp3<52LeWYd7lRB8SMX@hy4#7vd+oZBYSC-eF3J!un!@gkM;}XDeqwX*HpvDkvANp0_^=V zU4|U>!7O4UjWS)qY53qy2n?U&n~ky)GjB`B`t}IBs-7it)(Re0&Q zljfy(tP;VK*Zno%2#VL`n)aZRe6k5xV#Ez?0-hTBynoDsu3l&$%C&rH&li$EhBnIX zs=A`^nP)DyQF{*6#!1~j;u*O{u*Jsr8^-q{W_M>N+8)4%@vaeY545m%G7h($b0?mM zH^+uOhW=i#YaUfS@p|)YzcU;D8FBaz0pBm~e{=I0#^q_?bND){wP&^xI%*tk8d~N> zLtEFI-TmZ(9=OI?S?D5WB>cFEy*HmlfA<*c#fqH9nJXzj({g&ACT8W`96K3nwH$8t z3lB2>6mNA9JMuJNs<&{m(>pCawQ@si{_gpKrMorXY;!v+E28 zo4_98$Y$No{WRhr9;4nu;v$})-Wwcgo-t^5N6Dpjkbmvq zsLi#!Q*+$j!VG6+3-I0tPu##i8;M){E8_a@qt2=6DV6K__X{@6miP0}*j;?vVpJ}p zevo;zLjK*~rq}NjwVA!sV~uzO+PpDEHDQAL!TiTwd>?TRS9qMCjm5Vfzr@-OS-r2qYJZgLW1a;wUDM2%qt1mhcc2^Ss|f5FM5cb2?*@%~ z$jx^HUkdDT8JBFGo?~rkGvSYwM_V#x_P5+NGu1R#AH$B%zHSfWYfo%n#YO2b`YYyL zEHutaV#ib-ZFA2Yc*rx;YTf#0>?_PXRx$Tt|Gs$_iFdKb-?}{$JzM5B-j%oR$n2LN z0(Ie2g&cn47{h_iF0)(*`{vN!NPki3ce%gpcLm1P^1j?I=l-(co;)1cH4~6UI0y4s zpSp7I4{-R|!)Q4C?qFuHz+A)+8MQI||x7W>nj?9NI%w>k7?gt$9f6Q03YkA_yG)Wdo`%UKfG=;At+dgS*S;aOj3Af)xyHLR^V_@<2h*zwo7 zi{0cPQygOH$jJY9gWveZbza}(X}V`-hrVcx`sTd17|Z8Jit(zKWhs{?sNXVx5>B zweWU!ygIvpT#*ClAPjofGT`!EI)Aedc;d1|T(=)2H>BXyvmiMiFJDjo;MzysdLKxf zgNd`s#u6|&xt4EiExMZ;{#EPz>g*W~**?uN9o_aQx-$ z8sKsPqi|oqH-*#@;oSF!Z{D1Qqhkbo9V6iD7y+M2!1Hl%LXXc(yJg|w0p?fY7PRm9 zw|T?03hpIefjy_0$UII-nY zq1`_GXIgou@nr4yw+WVV)0(H45#_YqPmUnHdx8JDEl1^3Dds!c>pK{++TH9GK4#c! zY{*xc)>6L$8MLpiZf&e?+1j1Cfd|)f_*|*?Z@)h9U<=3A+X4?ZaYS7i_dgzthTB8Y z@ZWwX8s7ADl=ujl_qRo(;lJbgGd%wp&m*p^`=8}qH_w0kYBc;9N61K&SmB{TD|~v$3PZ7T&YZKt zK|i_lBKWS-=TmPpFI6xW_Zrtw(V=+0F4~{vxPI=tl8J&d7OZ}ITaTSLiqY&zf6g?&x3-{Qu#&$kAF-ao9V?QT1t#zv2jS zZ02}nw4>^6jvUI|$WhJl63@TN`5}(^ysPCnF+KIZF3tt;GIx<<(W&dw?)w(^`0jVN z!po%7IX&Bb-`Udi`(ign=4kv^j5RNPxi#>)+kEDw`#E#pZhhiu_S7@BID0s@_@>r7 zI3K++I_F-MLFd>MS(h1!tgC8^d?m9v@|CK-mIpIqEe}?`$hntuU(?#mSkv077diKG zcCF_h*PEAyTGnLtx2&nEX}LEu*m7@GWy@Weg3$PIaBoo%u7FN`ex?Vrf*jDHLuHzHLt6BvH2^Rz0F^#YKnXV z_`U%=Uk9GA1K-zy@9R}I`~lPcV$%b_^#E`_0GtoR;k#Y%tpdJPRW;4P*9?5kz}GDJ zz6N|>1HJ~}YXH6m;A^O|adx}l`)X!6bkZF8DlmQ(7{6LI1sH$SbT{zbUDX%4KQk7& zzv{(EV`gup5%^XB-wN+-w7jZ5<%UJ&t{aGZa0C1KZ&p$vA*%j;vd@k0y<#Q+42iAN& zdBLth2DTUqMV~A%ksK{?B_^L_4a0@d#yC`D7euvWTbdg0>oEIb9)`0G;dj2nm27! zG+f|G^``ocglf`U-f~a6w@Ky4qWkx_y>7#Pm6Q~3Gv)hID4&B3B%K@xvEPR*>hDia z_xe*QpGyuB)gR?~N|v|ZJb^Fj)rQ~=! zT^W?kp{&Q7h7O^}HOkve?lecb$LmfR?cM4gg={z4mRIZMno!?jWF_XoyJPvGMq>?? zvA5{TTy-a=&%f`~bqnr0J^MDs)MxKwJs8g!-uU4)Nm;_S^8T7bwm$A|a6Sl*(@a|1 zOzYWxm66y!< zGr@V`7~=kb$BHrJp$Hra6?k0UB5+b6k4y5jhw9(l97ycnXWonN;U-_F)}N8Y9{y^|pnI@w z+?tbXv@S=#k=)14vybf8??~neTx+^YS$ijB6I;&_`Iz-J^7PN2;$K%=Q;Y9PKO-4b zI(N;xJI0owM~hT{#==H~ZR-Z;;0@Ns*QW%+KXC=x|BSv*`H{OJD6fSo;Q;WFU%r*j5&|7a6V;yj5D$r75Y zgb#Ey4Fog^kLKG^eCOet+qu7k`)cmL%su{gOa6tmA9??>9_6U#P@D+iQU2E%oRj!T z1+O{a((O0xuAZf#gH~$g&#j!wMXWJfEmx&tLhRjJ-eurz)4Flq^=q@d z!r6)hezprAYp2-wIe0r`g8SB7cp5lbN(`#G#GnfNR57Sr#f=@;)t^e>N4Rl-Bme$_ zwgTGHj~=Rk_Vl|r)24oGfPUK5H|hi2s4Z_p`|q#W+lB6_TR0MaMkR2Q$#-{fT}?e- z=6XBvk%hZ6__X~iV?gq@?(gG%4EMs5@Fl#Rn`GKgCh!I8%JT59>EP(A;AATJDuC9W zveGKoTPc+@tubwb{JR&NXb-3GF$i9ELPx@d^0pihUN{DcYo5#lt{lemI+Y`_E$@^w z1$*FUdMoLP^18PdqF+T%6(hE<^n$VtcA{I(Cs(z372DnE3dVPI zP7#L_Ka~_8ZNNvx6yZNG4W9sX#I?-hMZQ4T(!5?2AijQdj(h-W@h3R;R9Sc#b35~U zRsXiKu&*TIIoZ;S?}EvSA+wgXF0b0b8os5ZMS0<}B$o~#&uZOzj9hN$lkca`vXtMg z@6RK1h91(lj?7p^WX|cfUh=1zEcw4=tVOSDR{X8&pMr-U!Dk{Lf0MpKvqUyp2RPTh zG}ZytwPWWEp8==$o9pd$bBzgvYtfB;1>W;KJja5!EV9Pf>xdvc=Nw}o0(^dQEuDLi zc49zn>^}s* z&zv4p9+ph2*hHtY%fp#wblb^^#5?uPMF;sz)``b^!>sYE2RHVHl{4e`X4+hL-|kNW z^S`7s-W(>3PuiZd9!IzU`2E0t9q@k}_?w|~!7n=ZCE!PYgATwAti;XdxoABOf9hrU z%S-TwaSMKDy@T9x>uJLPe6rMx9@-BM1pii7iYJDAA-bPyJZ;wX*bHxUwO7>DhnjtX z-N#a~DUNZ3`#shk{3kcZGEDe!#xZ^H%xKz^M%ywuuh?HPto7m{liLpMh7SV&OThoH zj9=mZ4r`o^|0wX^z?e(o|AuuR;Qt1An(%)Ee9p%I+$8?f!2d&ezxnB7c5c%nX6(?} z1pFN-qiy`Z2L91!*!VvO{@upeb{6~>fq%_m7C6?Nb((%S#W)(GAKJnF3A-O^cb`e% zzYqL>*A)n#0q;$;qZNEaB1=PWSXq@8@#d?6JqqqMM+xuMz+VW=hQ6o<{u=s0uvZgX z(SKVK{#4-KkarSZd>s1OV#W`<>Ukf?4pd+j#B=z2R1T1DqzK&8k}& z68vZL%fqh&_n9rd;Wjh2{q(k8yFI6#>J10!r<3$kAN>@gpS~-&nR~zAu{3m2?VumB z99fmWvnEwaKchAf`!YL1U#J~_xo(UXxuWvc#?kS%@GNW1qK&t5*zH-H;k}i(?A0r> z;{9?(yG}gwaH3tFq3N_s^RM|jzK+n8scX2XoQEf%8xtLSG4|*9<+Zrb56a#;vHMtI zFMBx212VlgEPggPP!{f-gr8q)u z{I9aPQjhf4sz-Iqc<<6?I|u7eKAg+6hIQ_h`uO+Pykg72+H?8Vk%i1_<>ZowM$*c| z;!8(83<;5%oa?KG3x zHU#}A`OYcmTzp5o=rnvs^nQ*xY&x`W>Q?Md@||;6@SP37ule;WSLHjS;V~Ik@E!4@ zIN$tuzLPezAKLmT-x)Q6@7x>e$B#Gm5Pi?Mh_OHCDexY{&slQzyUaH`iWac19)8(Y z7WOhWVl8IRSlSqSoLuPSD2)-vJJ!Z|Gv~)S|9~?&b7EV{!h_6xF>?G|WDfg7OBwo> zjIMXE6Q#k^#-^gfza1MI@p1EgreQ4O1Rt^`F~-wYjv;q|Im~!EIR6!MR406*x3Hk{ zH0OHDcutK9gsW)Zqn70vXj?S1llu<*tG?*Frm~;Bf;b3zPIBLw69|WV*OCXVxRP9= zduHW6V@ILGbF>iE^VkdOC0$m-%t2FtkRp4b$2ev8oYivqJ)i8Ro)9A&< z(y!4enN>sR$4;RiJBe=W1iG=vl&q@b=*NztACoN6kDL*hGNI~qWQcRf6wy!QRdsw~ zN|j`YZzH3MR;Ja({lCv5FV&l9_&!%OdmRBE{z%HXF?WOc?cxxWT8Tnmn!uUGosmpRFcAM{zL#TTLvZmxoa=qAgRQd(G zpViHrJ>2(vT;9CsOtIz2xW9=DA0_e?WB-iHs1BRQ4h~=1JdAEAzRz9!car`5d~Hg5 zjCaJx!0xBm9TU4R>`Q6CL_XyhW#Z3>smeWm-G^2eq8D{W=hU$0!Fnw^M|z8a!swhk z8`0+=n}(;yWz*x&A}<}9Ka8*3cUqB2Z{@vY)06+ui`*5RBVKGl=ZcXMK{oXvn>u}g zaQ`*YIk%R4AD@Q1s#cdg>4_DVh3_Qp^XY-!FmoVsW?tpl!QOCfYw-RUbXBHvZCSV$ z-#@*pkz5Lm#qK7j3;%d`n+5GmsvLgG3df+ksq|3|vZ{2LJFv+NAkWUgKIiAVK4{TR z9Kd4A_$jmS!BO5%@~&@s8T-D74GsNV!4SblU)QyOt4Soh6jZR~Ga8fvzjm9^yg+>Z?DC-0}=*1A*cV#zM$ z=mu&zTGx`tof7jSQA_I6^EMg8d(b#vp2Vh^>-ob?CB0y zWf3_~-417^)8X`JeW`yWa%r-@oPs`%vC6rYwWijX$`z{r47$^7Uf}qI+uQ1Ld27cy z`AqgUFesS(_T+YWw;#2WHG|0Jsk9;2?j_C2jy?Hx_q84xS3mwqy564gAv(QG*FXO6)3uwm{D4g!8@22SM{ITgGvbf$Tvr=00b^;r0N zJxqMm0CMPEg(kdwx(VOuO!3_6BtAJZrexG*&d8iWc*b$Y@iBPBQTRb0vgs*g)04=i zvBi-&#HkMtKLwv)Z>9ox-YI@6AB=d}2Y6=t$v^*LKlvWU z{FU--Ja)+MY?)T{a3w7~$lMrQ5uX<|mNbTzN+-koC3{kl<~Homwb*T(%rz;%>Ca=%#h9&EpzyhFD$(tsOJko5jB#zcw1)nm)p8Rgw@eKh%HFQl=0rq z%na``YyuSxQ@lOc9bQ>B$y+!Yyqq1kt91AZTmA#{A40Z++K7kIe z4`2RECVOZH&yOJ^bRw5sop$1Wy6QuRFECE~IM~y%u$FUxxy$Zb=%oPOrF{m5{Vm8I zwjNrvq&0CV?|abw$tOi|4f+``+KX<89jWidqXzU$WqI#E)RN~U#)J5J4Q2SgKE}8C z)FYd*_T!mDkvnBO*7xLGE!O$6Um^4(zw*Y<;8VeO;z0#$UPkx6D!6 zQ>D2{u>J<0iBIz&OjE(WJl~9c4#`ET>t84*JPEH>hrcpLzMw*A2t3r+(Jwxp+x4YOv+{yns-emczeS{szG&hwhRSp(!T8Q>YQIBcD)WZVn&`Ja-E zJjrxczYFahXMK5WZZwp^cur@GPhi|1N7mYbUSvExAqQR|o*|xckY^e2l7rkI*qrXY z>w6Qt2c8)3J^17l?*#Zy%J*`-JD<$@xJmT>#a>0-sk=!%e(0nkM}M!$#dIFZtq_5Vi6Z)$%=bFxA7P< zMi;W;2G#{TISQ>wpy$=$vX%5hO+2LQi|n+I8YzhGw(LjUQ7NK`CQ;Pk{!h!`E}-j+rfw86i)=_&wXay z;YHy1xn-uk3fz7kyxwHSx4lEZA#bblj$cf|8UcPniHNyrj`t&z8ppW&9r>udRoVMe-yz+{Lol$ z7BE=rv%P=5)9cNkAG-oaLf*4(?>OLY+A!MNv>w|n{kZCEj`tVlNN6&BS+*h5Ted#k z`{Umr(`*>ywbpyR^*_z>{`0O3Z%ylD@64`o-V;0U3p5iwYqm{hy*Q!%Hu!^|{={}v zeDJgzTQT~tv8H_=W%T|Lud*W zyyQL>3%a;E|BvqzFXbPPF=kJI=RR`1{vY~}>nvR>-$snS4D9!{8RlvS{>IJt7#qfC z1e>J#eZlfKH!C(J`sQx+c^bzwd>tM}cBm^dA@WoXExUffyGLhlA%3@Ws30=$-2tw* z80Sg@YzChZmwEVQ>??DezG#UxxuYr=SyojOS(Ygu1Nj;x{R_%{krF4k*ItR*u~UCg zdvVdmiX!+Gecmyw7xZ)a8T;y{a_<86%g=l! z>`Juf^0Sfc8TH}zD34SN{VbkY3(pjv(_AF^>F72`dk(RT#Mi{rZlxdIeLlYS?}JCy zXx;yn_`1Ju$kDES$m&n#i+1&A>=)>0*q_<|ct%$ru|WOABkv_P|p zQ@(5g=ArzHr46UqqpW$r$9_=d+bSovlCz{@qvnNDY!Qk_=wl6O?6q!Az4kOuV102O znc&}3O{M(O$GvlDGxcU!d~=?-W6T!~(t+)wtYRE0zF|DJ;rH0%mEHaC#EP=#bn|fa zgx4-@&gHv)Vz`vq|3oezuYKPaZ|e%cYaAtk@0Q>n`5v_0UulMKcANI-G+&$I^eXOY z4tzy*DvqXLHpr61@vJxOvqqm$EWMWW7(biLK5YC8{cD?uJ?pLi9Pc}(nUG>XX|0uS zCJgDDh;zb=MNZ^Q2RtP7E;euGcH;Szs!n*6_U9(&ch=-LYd*I)FQv^s=GGwdxZp|d zCni_?hv2GVz81bEE7jO#{#c|75C;TCszmi$6LgM28dgOzhDzFuP*bs zuUx_BK6Z^1&o%Uk+BY{#&RS^VISB7le?TLt&;)*#@GsMSu*l!$0;V*^(G1SA=L_F8 z;DP;T-UxD8DLDveg}LQiPNO;bN^LH-E@wTRXn1Po?3=uc+siH1&^g7A$RFJ@H|=#?u~&FRjt}K8c<&lB{MK9cxXQA?!KdLp zNxa<07>>eodPl@nJ(7s4+K2Ao@3Fu4bC!-<|BRvMtmnU~S9B9_nVUKp`^f(dqoI*z z)*BJ(FK3-y4z7u**k+I4wG+L|#Uo0ZJo-2L>(C8~PNxCuvPjjIUQ_PlI$>m!> z?6q>@uK9ew%bP@wmQr$;skIS zO~!+~ysz|tt?N+SF9P8Vw~Xk+TSoNZE__Zp=)&>cMZRTImZdoq?`~`Ew+_ zCG$R{GS58q$m6!2<{*Al)Awzte%_>cR>0?9Flh^4AfLdo+{VMUuH2-wLHA+x$r+DX zGL62QSAs90alROZpY9Er*TH=jI>B~Bj?*2+^tR2WP4+BpJb9tcdSZEME#3OZgh4w=OF=7h(EMG>jZfdBMT+rfM@<*HZ>d{ct zZN{ZzdnoPj)r(G!`3~ewwWem=^=eV*^NgQ)uf{_AM^Oe}wB)xRl<|c=$=c1XhdmnU z_(NW;9_^>G>tUZp`naptBfe|b!ybmz@gJ_|fQiE+-C7y&I3@+ceacU4{24W``a+^x z*}~LEtrwj5^+xR639OO#{0(C#g*iv~kZd5FYrK?^TX;iVFr<2VR8O5R1dZ9a9jVXN zJRQNuRO9Sw^q!2NOl;EO($_vbhwDG$_wz5f1XFcV@2kDIZ^G-{@KX6n+2f1<_$Z_C zrSA?vhdb~)+e)zfuj_t0mM45y4 zHy`!l0+ULanOSwSy2DNDU}DNj^@05-wW*0 z`cCmge|1*hEwAzuqf7Ox?W(^vx;}5N%TaaUY#`iQaG)eedDWlKH$4RhOQhc|=evE! zDs-?iR6<9PTD>xc?FMaY6 zc#SJ}$!g69KV}RcdBcQzwD!W5(wiB1ITsq*RrBWN-~M_-^}nAr;YfjL@8sDl%xRal z`s$-^M8gF2SdveSx?eLcgN{JBj5UdT>kYg@|I3Fz8tjG0_F?Qq#p09kcouQF1Nv&9 zZ}!~X(Q;=E<13Z=-$o`_$+hYor8$1Yw@JVKWUea3&|pnn{nG?Yr&yn<{9Alq8ky42 z*}Gu%!eMMGz?%O6b1?Nq**6uvqOG^^->=cu^ThvATP1@@9-2fuk~qQMo&7t$E5#2~ z__^@gEqN-xobU8aX({mqMQ8Yq{sXzmqTua3@iK>zKYmJm8vn7R|G8m|Cvwb{#?0;y z%j?f|J&cd0#<*m0d}Wj$q`SYiCp^%CP4TDrAf#o^?Bsd>m~k`vSCQ}7)>)YD9C%WH z+L)O=yz4{n+Q-?J11lVg!T)j}{yi4@-M%lzbru$UD$X-pcHC&`cD07TKyK1Mqg~-V ze7x%)Ans6Zca*$>6^?6DN9&Gm@t|Gx#orcl%bp6~a_DyM}pV1$qxZ&kj*M)fC%V6m?>AQ?uhl>H3G@}{A$*e=cL{p-p>GmR@0yMs zk9tde&^5VK6notD!u-{J@

    WQ4R&EJ8RlmithDL&`A;N-_ln}awWur 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�ba*EJl%O(P!t_AUGP#xB)cK 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

    Xmfb0XLU_P3PvGN$aseE4M>)9xUqHGm!UMi_ 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

    oKQzP?VZFNfnx951&gPIq=Whh#Hnk&MOOzJ2a; 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

    |5y%% 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 z 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

    h$^?~MpU^)H=?rbxe*r+TWk)ExK@bsr%l{^ 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 a{(XKKUlHH@zklnEfBAP-Zdmzq@~;3A0)c@5 literal 0 HcmV?d00001 diff --git a/packages/runtime/native/ffmpeg/ffmpegAddon.linux.x64.node b/packages/runtime/native/ffmpeg/ffmpegAddon.linux.x64.node new file mode 100644 index 0000000000000000000000000000000000000000..58802511856e9afdca973e662f9cdec1f9b7bd4e GIT binary patch literal 5654496 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 z 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 lRX`$r0n!l(-)r} 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xM})unJbRw{^6Fa&gVut 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

    K(G7S-0T36uHE|JiXH$No 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

    aV!=ofFnNgcWLeUZs{h1t< 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

    w6O3-HAh_4!IpGHd`e*=#u4N&Vp+ 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

    7-i(41_??{mq3i3(8%*3LUh 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

    ZiltZg0j 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%0D6eTBGl_K_be7DJyuLe7IG|kHp+x^ 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�$ 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

    $qQ$&OQ~hWP{^+#W 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

    RyA?sEmj%9hY4a59a*6{i>2^y|R zuWvffZ@iV_+NwU<7ez&r^huexGd&V&rB#BG=ETlGMPLgoGxR!HCmRh<3vP4nh#zFO zbXmu@$Rgi=$9I`9E0l)#Nn90EbM}~gsrtMOdq)H=ZxLKO=scgAIJL6OmG5)yk$cI= z%;{#3JAg{S;@~Y@9I}W-S|`owgDdO!QdyT1|2VPBdxAD}c2 zrK_kvC8H2>!Qfb98g{qjpb2kCLY$36P;jbK>uoRRy7Y zvS0gKi3X7#@U{nxpiA4BH8p6o0;x|)XSMYeqw3Grq0Lx6H+*KqayO{#X+Fq*(Y`_P zobVZK`QIcHB|Us*B+LPXNjL&7sC$Mq92h1fa{vX7aLi4~8e({;uToPyoAaQZ037%7 zg45CI=lY{{U*xCotCzryN%c;%wk@HpPt>=FRwtSmscqXgzkLmsG8n6rkaAY5ZFRH_;j-0}C*2I-t z^c~UgqG`~3yHQCuEgNm@)YhM5OH}oQi#Lkyb!VbUj6pg+(TAOkznh3M$i;7PayMHU zmrCH}&LXd){k)8|YF7xzMWE}4hp9l7zfvmpom_SkeRT*klk+IDS;c(Fl`dROV*5SA zqezsVS-ZvenSV%5GSkVQ>3S5}F8-=;G|w@u;l!Yt485+?sVf0MO`6{d-IM@Cqc&IV z?Dp>cY4}90-g^c~_q3e|5^BeX`$}E`9E3{%*1vTtYUCC!&(d)A8)(L-HK#d0D#*i50C?N&t#z9L8ttZbqohz;Y)-Qd;)6gvg!) zrrK3oqQ?7(66&C35N3t^5isc_!?gxks9#&pV$W(0$jQ(IRvqmxXk(Xqg=1@rZ)udE zNn+pOp0MsYkvb*B4J++r8i6#N%Ik=Hm{Wa%Jj&j1m}Y^&Ex$u@qRZG3JwCdu>aZX2 zsTR(UX_m3H{G>F;XOTXpS@54AfE z5=u>Z+o&Eq;U%c(u3N0E$F&>w=@?v;TA^WTB?IR0fB|5PrJ?l)kmfh;*Ns8an^Ma) zQ>I2ui`ICaV^JvDW^sqlJ18sAzk}F4?yK+mtysj|Dr%|h2gj?G5nDGFch(*NG?zT0 zw{qvKAVro!c8u)1EEN&_oo239HTD_p)3x>cZs(3wtMt4b%wBQ&PvR<`HVxr@)n@|x zoFEw2`=L$8-)!a7OHew*Eu$sOzz}VHlizs&2@3H9AR%23(Z=AQGai3O0DF(@8{=)X z4$3v?8AKNUZNsZ?`7auN=%R)hoV0Us`@}v_YE-W2K|v7Az61yWGnBPj!*c()Uu;pVA6o{|>Oo4$vQDV%*LbN4$EcEO{+6^Brx?FkwXnc_n51FnN!j>Et)U;c>;e*9& z0(bVPXB8NU3S*bF4xXLE)}PZ(FUFH0Ltw}wFx0AQmWH@31#HGY`jMFhLw+e~od%=u*sL^aSKNLOr92 z1Jc>$Jmu?He1bjgPWuHl83%}ZQ_$1#U0gw|g(Pfc0?xPMaMc40 zIKHY&4T+se_|qljup;Xse$>e?Fj8$DYFd$oU|Hbiz7l*+=xy&yo(Lbs#v>j1KJkGO z^7|3lRk9=)bCIpkXod%qT)Y$$h<>fmEA*=rIjOQCVDj(^VSl}EDy~`FFXgE&CqjrP2^ius(Q%~X zd~9DYc1LSH-DGAk@`C}RCwkTu?&PBI{csxoG+`z3YI#1kJ^6!+P6ay zp`0BAoR>mn(WS))P?PtABu{9iBz*w%Vy<6X!E9FZ{ zZ0jjZ%Skj#2D(t`-Zyot{38FRfb)3DdP*PmdeV*RC_T#+DF{7+!nqqGzxwSCs)zKt zM8;j~0RoB~)mPI-uA*}lp79%>h*G5~#$8m7_ylSxb}k=kXT4mqrg9;TioNo6@??rC zGL;&;Ax|K-GunBH_>$zxoG>JZJy8sFl-4kTE@3C1ZzB@94M*(h38W_{T-{6L=6BUg zlaN!a>Os@^B`I&B^~oh* zfpj(rgTg<9aqAlRtsbV=pOaZyK0MX)__azZKC=7lHwd(~vsM@)S6G{Yq9D_*sq3#8 z$TpUl{UZzSuKh+5!Mkg(785iZzYpS5EDNfLhDY&?UNQBQ>WTt~S919Vh%lE$NH=y! z)_yqo-+RIB6)(6G;suADlk$QahyMatT=gs9Jf?g12fS}EFQXha`AJ+BZWUh)eQRR5 z80+-5eceW7G#}a|)@xlH0FHVoQi71>`eZ3}^y^!s5Jwtjvxi%r_i>>`bMG5sD2E5ITvoxJYYwNw$QE!IED8abg>~q9OWLq{$8@AmIHp;C(_4 zRW+hq%x%-lj00uHiTIE*A{%hKGepTWA+MEix5CBf)EPw5Ebf`&q*mddrRcYUH~XYF1-mK|FR905%762!SKf;i zB%`M024$7U=~72cVk8gfnq~u_T_-6$%bKO6+7tyn+al= zqd0yU`#MMper8W8x{FN7?ZYz4HFXuTu_5oUGA!wkdq|2CyP+}hR;v?p%l0$Z?hg1q zh7_&PR;xQ*RBKFR+U|cHAt|;9ROnL!>cM~2Ikjy41^~IX$hg99;E+by69gJ+Ds5zxa2WSriQIh7$kG%mZ^xOKMD)l>5g9CeD12Yr$G%X7fla6$B zcFApY66Q+=O9Rw?DPjNO?>`+xLJ=yk0@ ztj&H|l5^{}$4?RFtA(tMR1Z&A5VFy#SrTP`&)4MP`QL3Ta*>ELkZP~8f7 z65&X?sA0EbXX%mi`|&2Z)MsrZy=fH@0BWvD64U{s&o99#du+L((AI@G*@>NYI+y%l ztxrDXnJqmObBPg0tAtq|WIUu_(aK8B5MZXoppbbjj&A zvxM|}m;x9)7_F)TN*b+7mg?KvpPifA2XQk94nHiA3SDq@C8b1(AV;473cc(0w)xGR zC;V88pC4`X`U~Fo_B!|Ztx_k(l74QU(WZ2V%>2{xh`Bn6i-y>bK4jpn_|Z+kkbX+! z7Bjz@_cD6!YhA?6jbbgr>^2^j6?7P9w6bpWzkcW5$%Ct5WsH+u_oKFwUby|ne!sCd z=DA9UY@t;MQ9oPo$5^3*Kmxf;hHZoq?*wCU%6~02^^7hx`!esZVhxb|lpJ7B%zI2h zPnW2Wl6cBC2h}@10#aDIudh~&fYu-y0;E+?Jgw5}nk5DMb+iOO(&wxAWfJ%?O@clq z`$$RCehVrul93i1?kCn1E+){f(Ao?SOpKLRlGu&?6!&^E zUkwl4$$;^+L%}!}UYdp(eN^=^1(`F+%8Txrhz;OT%iP|E` zL#|`<3)@~?a2WpCUp+=|kGJ3LDP*s(!T33dBtz?O7KnI6&3O+0Rgf`+K0ZC3N~LW(LVH75emY4s40x_PK~} z?y>^T}EG4}u2BAMqqAj|CuSS&f0`DTh5xUH;{9`;ycq8c?+<8iP z!*HaW(-z{)tXYcih8U`m@K(X2Lu>88zxZdw{wMZ8;onKB>_o=szB+&H7{;UoHF70% zW{$_ly3}TfoMx0VnBx}A)aJ484bvKSASoqtQcffLivBseeorz}SUkcO2GGIrTBEIa zWW%RKG~^f$s@AnKP6e9}aTqR7_3eL2QX>O())pZUkRgh+#y&p;Bv;6by(URH=7E&h zNTfA_q}Ty&evsB&ZKAXRTHHQj{KNDo8?L?)?y)r0Z>kV+8QNN<(M#v_9iIn7k$G#)1*+WH$D1um0( z^u?2EEB3386A55f(rJ#S#v`p!wRIxE@kkrL13V-}mR&4GZ@EyV2yomGIfRIhs$*VQ z{F&^$)NEZO!1;-6CSmB@)Fv}DUVf=P!Vl-rzkTKEWh5yz4m zo881{lJ0f(9lCL-WuzMYId zIrgOJMsmipg_fZw4fj#0j2d4b7j_arTB<LXqG7crhC3k(K&LG_^E!mRG7h6z5T+F209#iCAvS=A(N(C)gDX?60tWi&y9~j zXd*A)MSCrR554ys0FxD0;vo*%OIdF!QR`kJzwsMsR>mg~p;BtEvJr>7HdAp~Qr)j{ z9-^L-@K#$ku{l+Zj9!TWQvAOf{{I2*U#L3|G3(M3Sbx8_gHdKVYVwl1BFXx{nqvL^ z*LKsNBAe~6rx4U`mV^G+c#|bAV*5X`+5Y}gWQ^Y;EPqz)Hw5-gvHV#!%ikGWOCmFw zV)@@@dx{Lb2!aIsQVe!Eh=ZnKeeS`)Qlf zsmt4pQHtNYP7t#iM=rBH8y_GpoX+u-8=uCp5Q9NC;*iT%CSz^DDZ@Ht#a+-Dz}(&nK3;Q@p(I zfHn=Xdb`;u%T4g7BqJ|pj_k3Jp*~b!ZTIT(6rxO>6)^KFZDyYBe3{M6w^0;k-ft~* z#xD^TzEvfNIxD#wpvj9^Hm>bWaq;J{F-f)P?P_20^u3Yd0PcXC{cYnQrb^ba*T zB2{y8SS*56typ(?_zOd%A#Zc|3!86On5;T2VBMW_fo~rr+dOUQ!(Zjwlgn`%r&x)- z@mUZ$ar?k!cuFlpDhUXYKHttVB%cPXfuEC3I;kWm!<5E`W43W2w0qZ1{;+b-@;SEU z@PFdqy=uKog~;IF^A$&)IXKC`8!DYc?IQNwPL1zYc|T^q`^}gCTkhTOdq!blD$}Oe zn1aJT`097LVkOCR3-6rDwrB)1{w){<8PoYrDLy6J6ha;7YtE{MIbOlN_98<{S!`Ip6mC4&47~{3@dz z&fes&@4y2ilUb&iIsY0z;rE{Pdk=Vb7rZG^1m>U9*1stN0_WTDdv&9u%*@y=RhbzD zsoE~{wLYNfE&4fn1{ykGw8u*d4r9*s7})8s-h0@8?Llv=(QeHrct=;6nSac@Z-T=Y zyZ?mukT>Sttrv8_qy>yw=QssB?6$BM3x-d)jNM&BV7pTEOj4r*`>##5MPzKLa2GO< zLemOe>O|_GJ%*D(tKNISe{Iy;>KF53qrJUL7kjNCSYSg1`n|jPKdNIfB<2%CXthnX zde&&^eZSz0af=IA>0s3v#=K;xaB(frhzL@TI)m-8;IKZ$*x9U(Vy|(RR_t|ain$__t>Gl4Y;lD;5NdvmjhYRFwGYm3%;CuBmsl9;H6^f+=Ry9N`o&(mR#y}%wLx(N6J8fg`qy!@`|sKQOPT$A|;SW4tV(s0sM+UJy&Lk&>}Tk zS#rL9MRM_BQgT5k2Q{^wI2I=J+m{0*%W#0S@|cogyc4Xl;X*lcNQ5*j>bTzV&J+aI zUdePnZI6hPhe?)eBVzBrqa+t4Fah6YPNhlr$d32F;plHOhh(9l)VK#K%HE}FIW<9S zef+fv0g+(1#TlFH8AJ;Xe|ABFF%u^0f&`=EkS)Q;Qxc5vDG3I5%=HOlXG<{Xr!B!~ zi8Z~QlwkbXt0Wk1BpA|u^;jT59w_Bk{3nGl!YrPs#1|&T5MM}!_%7*PQhd=$0-WMN z@kLAgTbyP7i^Ugy#23kB0;@|YHT4+htQ5uLyWseHF1~=#oaV;l-e`@+2Ai%yR@NoH z8Kbl*Ge%)NsG&I9oJ$?vlg12pN36L%ah^92@A|R%j>RJpFv1iMf->%NH5+~P7`zbp z_L3;KOuGg}VuO%R!~@Zo`?b-O(%G4*a2(#9?dPpq2I(C!>lV;yq$7rLDd-_>#<+Zk z=~@-Udgx@wkuvma!DuYk*(L@&ZN9VG6HVHN{a8tf!Hl-?l8`lLkh!=Bk9c!NF{Usl z5%qydG5#bL9}y%$Zly^1Bi<%Mkcf`m@9n;(#c7y9#<@X6d`^bxRtZLV8(ovV?O>Q) zIyh&q-f@;cP_Ot$^vAC#yd6C0W=UD9Zo70Mwi>4m^AU*aP7J7w=aA`@pe^_hu zAB)n*uzt&p(&9Lk*hZGYs=ZiY4lgry<5DAGmAD>}_J(U4tB0S*0tsR6IxGeEs~Zos z^`{7*3j%NK;STmDnX!$L{;LbyI*4CN`G7Y{@ELlGStw{y_cr?>__2X=mKGO8uwcW$ z2ZKDL$;%~^>+xi1cQzR_Qe)6o?qog8(qb&$W5hqb!dfMyU;SD6TQefDa%LJQ|4Lqh z=Ee%12d~5<&arApuu44ydpRm&HwB$5ae>}N_rCbOQ`{qOc-&KV`LC2@46%JzV>skiOg?vBn8rI_d(8BH}{gZ!F%@%xw;G^gci zt$xq~x89a=7e}}>&lR#N&QSrGqyqSc8M(b}9Vd`il#UNgd_wk!0{!(i=s!C=Id3oV zz`T9V#bpZgwW-WoPu+1Frg6a*ta-aNCxH^NA9L#72y$MG_JBNR1X44-b~sj*ea3qo zClWi6L z-Bwl}z_$Mawh)XrBeh$Oq{se*1!QWsv|YSgRClh?t%ZGb0aG&L^_bjLts7nXFl_1% zGUI!`$5bUfmi^Y$gxX5C8>psQ{q(+noL-#n61y3tGpZye;WO!4s8v{ABNFaP?})RN z8V?7oTk%L=*UUI^f$BY_dk+b%$j;#(>x9kS`i_9N)j6ZMU_TDsYh@!f%SL7L0Gtck zNlwZE7}0Ol{RNb`N>vnJsws^C9@zFT%49{h!pISBruTD@Ts+NrT=#bQeS7cE z(5)Xjt&ByM{$)Jfd(!XRMPvgVv?X)vZ4R(K?vmqkm_l=VFa>4@rKWl@dwd}BU4{Xp z4NgW>pvgZhTK|DML#GwT!H+3m@tuN=y8X%s-5&;SM}K4Gj1PAX!dGGa0X`O56iN`d zU9lFdK0FO}{bd2~9>K*^EY~QMF0H*iK#H-4NCo>b&bY+y#TBGYTi@;NFb?6|0^}=L z5$}J&z`F??pDwB7a<&`OQlrpT?zk9W{^Aj8t7!jk9-&`_mOF^{%7Xo6#us|~ndx}204hZ+=q~f0iv>QQtgr<|ie<#~-aq?= zxFQk~@DgqB@;3R}7hP)=zX|Q_h#kOM$}cokdkoUbDOA_`w)SK3Z&}4VKpkL%Q?ZxG zQ)>Ay9YjT7G_nFT$Q7MBkzr-~>g~tay;g=>_wJ$>fAV`@_p^}3f@09HaDv+nnASUs z^!f*Fvh0R{d9#hAxMNvSW**uoB+SlaMVjf+sw8cu8bGC z(ygrV_(t)KFWz=3Wg{V=b~kyNoY8?m_5YkM8{tYGPFL{2;WYE(Zi*%)CmW6SMl`CP|l9qjSj&$AcF&X^q2;^PDE~$4*-!j>N|P=_cnDdmw#{yU}iMx2yofv!FadS%*Pc?~!(j-2iow+U#GY z`FEd6p{&0|^QR6sbBK^}jpC!g!St@tLi z)?dLk%>)T6ya&Sv$G&JV#B%h=;QF)Yzf3G&oGzYTjXgEPb>*Fk>tv5L35q)lZ+DTt z8Qx}f4Qg?EJYG$^S7S-|c8cG&N>{%>$pcyu?ogFQuB^cTxaAbap2XJ5m zx#%V2PtlbB6&GzR&NXJ_1zSqmf4wolUE*2v*tOdhsAV z2LJq+;-9x9`DgW3dwJ0MG5oVC?O!!KVJZe1TJiSW#a})BzkgmLJ&s(UezKo`pVNQ$ zjcnIHRI^<_k^UJkN@u#h&v+5f4-4CE)!r(739Ejlc=_-}eNk`HmkRo#I=0gRb(QMN zCMA8dSTx2?>( zJ?Pv~04;w6SGA0XGlrz&2rrVZZc3sN^>tRKfq%Roa5rek`EkfeIP}j>czu{lwDl=L`Rad|?Iji%gR{2+) zn_`Am^i3I@v4Z?f1M^3x7$hcI)_}aUL9M zbcwbAGeQc`sjYZ|l3+z@^^4D9 zX*+)1>vvlZIqQg4v>#)OXxAVJ<6Yhz#xX7xUPFXvlrXH_b{snEKnlm)7ZwqRXx7cQ zZ~2?(Oti-D0a=)3yB@cKZe*{0xOvw}8NI#}Q-ehHFi9LeZ$e`EJi}i({>f-(n&Em} z;vKxbd{_Jm?m5a>VcqJEo=ux)RQksQSiY9!apM4H8WL6=|2qEEiAGDJBXf@pRzLFO zW@@+^5woa}wc0a^tgPx3XM6NWhHhlZZEn=_K2a->S=2N1)>Ufa&a>mY(w*Huy_2*(D<}QnV39WDp%YMjy=v}l~ zEX9!M*^z$dsgU)OOD0}!aL@y=)v(ddSXv7eB4!z{q7T_ixOo~Umm+Ah;{OK074hVST5Ea;=9uCYy@O{DE4-O zI0gpuIrT#o%tw$-3a{#SHHU9v&!4TH7PJ=ML(q!`6upG2{epM8NGIzb$_1y zCbUG*LO1o?=5%?K*ml7dit*g?&?;rb#KAv3RJGH(-xV}ozrB2Zq=H6`jtWdtpvzDo z^js&A8YBjgvnM1WPj<%IjwTY`W+UJ*zVG@T)cHk$@+7WCP(@1*f0~E+40O$xM8gZH z%Mpt1CXDZxJk^;7&nU7oMOD$@{K%v9hCMZuXqqk$7<`b{IGUc|uG@G8zo6US;f2jX z7Q2nsd9Afy(FVp!NZH02Be`af3{#CphQKFew_GLAGP-j+7W_YO#Io(e`h~)S?Ud2U z6z7iENh}t*Fl4JoE)02t%bv7tg)@MEJ+TA&*9m}P)a07M`8SzJ63$61?>~!2+gbu% zBFUV;|7TZ%s?NHBRKB_X(c3*gB1upz(LPe6M4V_lg<%hJ$5%abWtD7qY~||KSmBlT zu}uThDoLy17KRB6zim%KIejz&?7^Ozt4Y2+nfx7+le=CFVY1@aFa><~@;!E?lxb-f zb*}7RTu-w6gNd1jdka=Bp#`x^)$U=ZGdj|6my2lntGC;7{%74?)Z1<)}aD> zG|Q6(xKev?smuD|pN%G~`C-o0utRQZ)mVUA z;Z*!4&kXJ8EL*TQCwyc%ab1m_o9bxa3s!BKAGwWsD1g)-1UQr=XLr)PD$V(a>rm@u zHe_^@y~`ySqpHROdweA~ZS*vdh)R_SOAl7z5g)$WlYTb1pk;?Hiopvfbb_&OF(_;3+Zl}TuiV95If{{?|78odYxN)e9-gH>I`29R zHk>W~hgWAwFFD+TRcAxkjZ`3njCKwWH0=6OS~xNk0{NmtH#&qk&6cMO{~vb0tZ+GZxPjyQcAybm=t96)ATfkmn+-5-V?mt?Y{? z(w!~yjHQ(oI9b498bV@+jLz}}A8|of_SdceUe)o#S%O1cF6%5|4lC@dPR@;z0k8GU z1^<*e-)QU!X@O4evZ4ueg26^{HN*qGIAP6ja&(f*S4lUAkm0^!ryn(zcLz+m!zH%` zoZ-MzPkQf{2(SEBzEh8W?B-PLKPSD=;~bR2Q8igp`;aJid?{8N2ol2|FNdhTG6FY^ z&E%LBh2kzo2qFxk`ow?`H1i;A^=D$Q8km3lO$MTKVg{UFN^{Q0ZyZoq$tap*!~j%g z`p3aUi@oMvnHDZ*NN+@gnD$0CU}RGW+W2x z#tmhJL%Y`5{Yq#XGbYi9b05vPm!DL(zzG*b$V$sIe4Y+Uo7Wx#*09>!7~!YH*`lN( zKIpn-Bc;dp2NQeI9mbEBTlWn+9}>C8wi?_dwmEfYH-11w0dlsV=UMml`L$5XI4Tim zA?=okpXcIv0S?T0fx)!oH=H`Em`0)96{j=Ld^IFf97OET5F7mJrK)=#p<$L~k-x$J z_wpIrpsMb0U!vyFJmb}BJ1Odeq+GsL+h(s4ig&J~ST?MGj)KYMQ#P;LWbM^x=r?dd z_w_+HN}@Im1i%u7U`@DTE;?wQ;bidX%ZX#pS~J-1Y8x>Yt^=L+;Yl+>%`<_pm}WAh z%l!z_>u_uk&S=|~PC@Ft5fKzEWK1!L;`ui6fZCycZ~HtWV+tc7ZsUP2x8hbNoc)GE zT(QOPtK$n~A?RX9xX)F+T)@GU!^{n2Ef9y@sX|uSt;t~^@ry4_@zR{FWfBcse7ziPXC(IQw7zF<3`NJg;DuI zj$O)jB~fiK&e(o@+2VOEfgH*87jwKo4ylgsaPy3U>rMJQ9*zjPPH<<_A+wVppSIli}RziF1|vMmaO0c~SWnf4k|N9PB+Z_n~{LJZ!r7x`px!R{P5 z!GMu7JieEPj(uHq6uv@vz`=FI-oa2RRMqMC{lHy&JCpYQzc6XW``kj&8H@0Z!9Gut zQ2q^{B19t6ldEp(VAm1Cp3)+O22?+kznF$So-XWv_-tAYo_0I9nLH={A8J{(#u4_0 z*o^0!%+x%)=9!p{ag!8iGexk3u24Y1&LrRlJzioLfR2NTQFH><-&qRufYs4dBP(u= zOs6I)W;+#|0Z5kp!3792vWToFH%^Nesql78cG`KU7NIph#732Ylah}hgp>2SkoD{x z?0_=ocDd_vRP8OvJK#2xbJD7Y!frU-;>?l)pAum!O$n{$Jk`e6}w`Q?36@HWs9T&`y5oG=(v-}t0 zT*+l>1rt&*YdnRnkd~H^K{LRx?xR?324@) ztoRUX(x+OWZ9W@mLc@zAbmNM&1yxsm=SPF}-qCFGu|u7GW#JYV(^Q<~_#0k|!KX_U z>EAF(MZQ3~)^IZjy{Ex*4--t(s2h1>S4uAq+&P9hutOgutuL=m-|!8^)MhEiVp9lclW@KSM~w_v>JZh`%COR5 zn#-&l!i2q=(aCeU_3CgDCe#cq*wq!VYpfj-UY6skxfFRl9g|=44*io11nb%U07 zPQ0MTDH6BOW!_@tn<$1(PbP|w+?FzH`Z;bEC_`c*(KP%* zHZMOyBzc6#a=XQ>7F>1*Q8d%_2r&=iFQbO4A@+Ee-6DbR5LuQlIDQTb=y*kWm2_;< zM^c82KYCl*RCi0YNflWuC0^bql34jK>C*Te>8kM)G(M9~fQF9Fy|x*jRFGWa-akgmAZ_#aiY>YT2Lg7Z!2gV~;pS7b>D6(y@+JSoR}uqpsLE?gP2 zswB=)V3f+jMQ3GJVMA<*BvQ7;p>_?jBoV3%lqLQ9T}qaeNAdt!k{ut-zUcc)CEE^v zdXMbqi-R}MglZRA%rCL)I#Y}$FukcJEqrFsqHD{znSk)*)Jk{JYUep(PkXW*oA4@6 zbbSvbhXqmiOjeok=hqmKgBql&GkKVuQH`IwwvE><{~(b>xL^k*ypW3^{tMc(!cBQ7 z$Ba@WB~7Ts5Rwq~d2PffCH~pUnFvCb0k7LOF*UJcp9)q-PNy3`moI`%sE{Bp5VNOi z^@9CLPp_j2RmHBw7FeMvxSuCP^jqn1Eq^DKhy6M#cK$66F~k2-uHcAQ!e8dW0Go2S z!nfvf2>v6_AuZ5HQ_{rPN#Wu@I;yV;f0T9W}%#T5Ev$5}!q-;2o;u8E)7 z%HG>_;{fJ$$lhZQG7od^l50_4%s_hh3um>9U_@N}R&F&uN*;alBtTOabhlF{W&$_TEkRHHs!B_thYS;F2sYeJ7kum z2aSD_vQ8vuRLGvYG4jGUR4z*-Xe3N%mIR!(7vBMbmB6z{29?3j4t8&nZU%|Vi+H=t zTAe0+FSA}s%gv_uW+1n$%C$nSDqFLO52pj#*bn?fG38&==_&tizN0H!s+kbLRX$&w0*sp65Bw zgM$n6E36>iD>hE=T_Z$VrTDw36w{#Nw5gNL9^UVIQ{D^Ug=%-LA>m!y`N6C^Kdt;s z-Go_Gu;0{nI)TB_vD#E*Uh-j$x7u@XCGib&zj~*onnWRU4tZLbPD4cCTb1 z>QurC61IRvlVez!i1U>OfQ-biUQ#1*)t`8VHG`V-FZ-uEF7sfGbT;n`8ozRzvqmf1 zNvq`ly^THm7B{*mdMW}o-f(?!7ba3^wx-+@(fvWbA9HO1+%CvG)JUp(Ra(&wN~aM_ zxrm8(o(Nlt#d;uZcto&&5Sef zTe9c6LgxCyW03VqdDiARny2GHovt0PEDBKT!u@el!4X@w`QP|t_+zqe)~tnh0XiG zmhj3&NZJnb9-|&)IEKY)g|}fPl1e0_V+?aFfIK$e{h&mpW2eDlmtD`?4pzN0Y#z}u zx4#Lroi=O9kc_cl_4WkbTX(Q7BN?!%|%BIAM;0_5;@zVv%xKY1qVxsB?Sc zajI*;oa2a(oyx?m-dBrgkeEq;!}%ExpM4$~gqia}q~;@aNekl12l-zVHocJkl_pEL zw?N%In+X7M^tIz~huRD#88shHY&`xt)zw~}m>U#vK+O^Rl{p2NjjMz9uJkAZ)ySR- za$?*LzbG;VnYZ-Vj4zcLQe)#%(MXaRqVau(sAK$aNrTFSO4>0#n0~s$+A+R59iFP5 z=J;u<0!&I2t(rlU9UboW78W>eCjdcvirSThvq8sH>N~^;g?U^u^$}x`LYlqT=4J(KpQ zUX>iW`2~uGpU*u@fo;+zvvkiIlbAg`2zyg&k{b&VYcAk5-d_c8E>~L5smdv+GQSL$ zuXVLPZ2V4fscm_r=0uhEU}SVd{=AD#TeTU!XZMaA0W~}f2Rh~!m^M+E-5+2d{hk0o zbel63oBE7Z#CyR0<@Y6Se!qx0x5&B2u(BiBGyD;AR*`d^QFFq6e|7;a%mym8CYf04 z){^E8^>}^-^-C*-l|m*JrlFzin#|dUg;*l`3fVQl=w1b3uDSwZHAM<3P;ERWP}(p~ z+**8*c!<+cE4Fo6{QvS@Dy}&)NxXy~rvQ7|tO7LZ)M{7liJlcPYZ#eUW;mk=iCobI zn-Tj3Y;F(C8dZOeG3!K;k^L~@<+b)**A#l3q>*@dxP2S19Tf_Ar=~$bG!eSlt?!hz z4v7}VTe67g^lJ1-1MT&fL}nc-s>+Uuq`ERtpC4nLf6K1BT9*0cVe|Wbry|v^FZ+;j ziXXqcHel4e56w2*nDssb^`U+8s=`bUn1!KXvvN3;RFNGq0nr&;A*##QQz2k>iDr$wc})gCw>&9z355g*=@8)RuudFYQZO$Tg0Neg4T##K;t-9 zxcfR24`ByZv4dohHNrJ~)<|Avjr@JGS|eo{EmKi%$4!M;i(g+~V$9mY$WCE6+5!(T z8d6t(!@31b0d!=wOE}l)0HTFet!4(&GIg1@SZ(}?!Vg#|CKR^sRrpcgN_9c(tsn{& zikv;1X63mr{geZF3;%%T+tO(&5k3&wl5-?Y=zyyfOWp zkbcfgKbzCfN7K)hoVL%zONQw3fKddGtd$q@1glD42?+?DjupxyN`*9n*(@L-{Idc! zQiLk4(I1Ab;Q~t=kScb6{s+8D7~Pw(FcuqVnC}|hTZ};4+_Rk+hbeYEE{D8*`1!Ck zhqG>8wqzo!o9zvwyOV6uvyoGrEm;LUI0GW8JcG-?*G9Z=Bo_z>rZz>(1YLjsib7hk zPFhhIHj7JLBg?MIo@5m%Y4zO^^UxW~fj-KvybTRT6#eu&IIZZD{j2Yo6w48;>BC0u zbR$uGLpZ((N}y-a!zoYnHl+;c+{OkRF_Sp2;2t)e?cNej4D%ZSXWmYI5%yf)6_m4& zK@xXgJ_dIV_Ge?g~`< zAJPo7TBI{DyqB?Cp~2xU4t)xN zYj^Q`dSrwyFkAw~UcpE*Qx6!{XfnpGwdR&c3-?hl(S}hYJ699~la(C6WPg>zi`u;; zBItL{v7eeQy&?!Oo+ExW2^3isC1zy_lU11Bd=7$H^XxL3#n~uNNR{;Vp_=_QzL;zu z*Fy}`S1RQWMTd-fZP9rlNE`Or+0sRe?`M)I_f1gfH{Yer!sa1G#2)??u$#Pss{t}% zvTnzCVmC~(pk2)4_EF;L@MY-^11#*$r}ejYw;s`Yk2{`e8jG}JPTOFF%u3T(GNyyn znC`WIs;Zbj*r~98{T+5?v(>$Z+T~n(YM7-veXC`yf1AXrpDt-8lnoV}+36X#xt&hm z>6olYQneK;Qr#s8tp-+XM>N-d^g`L|DqIaO!+IEPH3)h>X#g!_ZO?KO(6@($!m7{2 zPjcgfvVL7eD)>Zp{x9{(`fCEzs2`fgSIq%?+8vj<#OiFrTnmDUUKmLPA(J}n|Afm8 zf1Ou7h1VubL(cz(Lmdb02LMPn;w%BgiI+oqTm|%#?SMUuk4AhnNX)0Z>;DJII@riDT47o1f9fNhOl3z&!ol3_tu_b7m& zafg3pnE8B;`HhaCVs#7P-9no<+zT-vq_Hov?eB@~2Pt6{Ax(xWZj~a#zZOKyJq&F0 zf{67E!^G)Vyu)wjex+8eZ8L6AZ_bBCM}=E$hp^xQgEOjph$^Wszt41tO7xfRE#=9T z<{FmQJCn>eLWz+dNJ&^VV?0VugI573m_{H;*e>?1vh0KbBWUZwi21oHD*}m>Z~q3g zAkqC@>{S*Ksq;hJlPTklP|Gx5%ha4eXT1hN^bX(^*(~BCXTLz}y^2CA&J5M7x2krR zoVE=J)_#4cbn}01p=w2@g{80Nlf%s>GE52C-qYJzAf|2dwRza_EK1L#wCN10?ea{U z6kKEc;LyT+IgrC@3QXyVVzkuxl`I37y;5Zyw!bY0-R zkp?t6vhGM?*mZ%)*Rk=c12n8t`)wKuUoYbQ2zM(mLj>(SH0E#oAYi z7NNb476~_kd6;9EQ(-MUTx|bIMY{XX?K-d}Nu~285-3vvCgW;D>5B7dk&Y?(l8&4Wnam zQM#Tq>tS&#rOThonSp>pi9M{eLZyDrgg_Gq^zaHdnP(9;i~3KE1lBFYSad7AgPxMu zr|l6;LR1CTH{@ZzGPc)7Tl6)N;H^h-hxk0YZF#D zrA@4sQ*GKvn;yxuNo%g7!_EuoeUOa__LF-g%`in~oQD0TqENkfnKUnLz~u#BY*2hX zvbyZ| zo0BFhX0fl+Kyvzo)MM5`S60_aSVqw>TO_?av?j z)U^;k%&(;6%>CmFP*Z>pbA@^oPW?T6n0W)>!`wG^e=5E(&l8(vJvoe=Oqmv6`GT}6 z*3bNjyjV{L)rb1r_`(IAhHUeW1=f=xH;S~2By9s}<;8k(RBzg-N*lGFys0;;PDRz} z@r5!abBmz;tV!^f)-wT+kN4O@JsUy3h;WyW$aRbJ&UjPWV?p{Jh#xbVRDzlfY_QjqJf9rg%}BOK^Y6yU(0d!p(tF;EPe4pO{<* zOsXD8^M49%lV*>yZbg%+(8g3my7As*ye()CJ=OG%iW2F8o}NsXxOmtwv*Rb)77SKn zK#vktL8Z{=^3Kw|W*_pzPxLI*mi4gg%WZE(@k)7<9$6K6)}#WjjW|5D7Lj~*wzkxt zyV0BkFLzRzw$ziVC`PQ}H*%TpiZbU7_UatPU(4{n)!E7#lbi}W(tYnwSH9 zT}7|^!PGL${z4Q$HyWC2GbF?HgpZ&$LLm<#oHRn#D)EtRH2|D5(WrfVl|q9~{eb&Q)3*${e9^8cJx+9k4Aqbuo8gqb1dWxzHX~@|Bf=wF@tmYg91!3O9&h3iF^VKbS8i zz4E6OuP5)OBs{>7laJt^VtAvRUrf-Uc?fYF(hdqhyicLrZP9t1V_$mPagJ14%LQb% zDvPQB!mH#iNxY|2Tbv_pOBDW=`a~0>AS4tbEUh1dwTfM~mb7Vg`D(ObALA;O$GRz= zkZU=M0J$HFJOLWp5m&F+B%0(k;_caCbUU~Q!OXXH z<>ziD`b6$#uJP&S*sq*TuobxSqFgLX^TUUbrweyGF>+og@DrIn?XeS3<6%x<(?F+Y z+ijL_E9~8?wWU+gB3$|am2_mMHiXew*4sYvx9!dk<-R8$PVl5w9GHHE_LlcB(tYPe z)x_UXptcnF{O?+rI@Q9rRE{619REwF81F@LK~eRLJF*OhxbpqqYC0|329<5VKV-vZ z)4=w_!#t;tB<2?}|2bFw z+sd~v*V>Z2!SOcg%FCA{PO`Zbla%4jqLB)c^>#X~Vl<((97+$n$P|Z`Benqmbo(7R zLJH)=rcb=sI@|m7<9Wdj0>>F3-_z&gVm?l{)Iem$=_4wUHK%qzf!59J4bpHP!;)LZxxtklz8|w3?TX}OINivpsb41a{rp+i>I~#W5tfN6n+z1b1uiEY62jhxXW0ss?wV-DVZ6R!&@NwWYNz<_TUFGK6bKPKpcMhuc2!v)YOqKk=Y( zrRToUwyS_&k{xf`l^4o=Hy6`5x1jL6^nuip30wsHkkr1`q_6FhB5mo0+|MZVB=@&+ z-y+KiJ@;_iE`Q@L4@5hqRGN2xEMUy63!}bC`yXs4=@m(bt(5aKn7R&*@EOY+Jh}2c(XEk9 ziJ#I6!OBWX4pz=2n0ZTkL2M9cS2 zwk7jhZc91ui%JD>zx-5_1S3Hn{X>&dr}|#csH2FyP4U0(M^K!1BIHwzD%)7^ueie9wCvwWTY=~r{GH8-3>qX`#{-bcc)b>}p+`!+HR>&mw^AF0pRmlU6qm`m1?3XR&mXtWI^z|;sD z&49{KRl-ewv!8;w1MXzrRy(^-HRU)^$lx@cf-`VurZXS%QHCzmryC!A9atSnW6w19 z|26r-7EomsaNF1HD1RGX=wM2^>6Ynj9e#%7CW9$(_9!@7=fKS8A54`kNN{HNRv=iD zh3VqW`pK$9#P`<7G|EIUWcD~+nfBIStBdhn8O;N|aTk6~+*zmMP(uM9iNr92Q(&;4 zCOS5(Df!meA`>G^a`iDfSZ;K{_}w+wXr2(%o&u0I#8=5~>y3suQWqXs{FDmhbu4~H zUMStUUVF7`;N0}5tZ4cZUp>zGN5)QD6f5XhtcoDU&BlwzdR*e-NAv3qNMZPm`Z8MJ zdA*1q(9FkPp*n^6*zbh!x_Pryl`mvLV8c#zhQ8oUzn#wpAq>{u1UbpU=&0~LCpqpM z>AyPI9dVl+9bmm8RVVkeDI}leZlkck5xfIN^c^fKBbt0{;&`IXSU zDkQ)5ukRFj$y$(Li$TqX)m+9S3vT4N)mj8S|xo8?zV zy39Z@$9`94Berh7ow&QG;2vt|U5TkKlBu>tthy4_7Het= zd1jC&I@oPbid*HXv-eO$e8ot9J@6UhD~o6pW;#{2c-HAQ1S#N= zG-W*Ft5m*dxlFKRGy=`?K&dfZP!$X>iP02{IhV*tTy^7dOna!DeG1WH4nMwNp`sANe1E-&SfdsmmMwe*m=YEry|zEGW)iH!gn1% zr?*3~UnPHwj3-mRzWg<}yi45j{!1R|Zv0nf(5^Xc(B_xW4RFfONb2$%TJ1mf$fO;# zs{>5)S#I}aOi>uI`yk0X()uq(U{?M-M4s8$q_9Q*Wi{e#VOa09C*;A@NV6Vz=2M7A z^kDjA^}AWEbk=87)^rw?)HsEHZnr01--~!;`2Ik7z08-ZPN*q8q#lLqe+KjAlWvA@ z)7AT#qgJV#KO?b1P=nq7s{JYWir}c^r`PmiC=ttL*zvd9Z1pK&$5)4E{yoSD7}@s$ zJ1>{=YQ^Oj7`!HuSg~2kjkni{JCK(I-C6zkGEkA4+&dx0`Bc8esR*vV^P*dEX1hr~ zjl^2X9Hs~jdopd5B>w3rsMj(PgOo(986_g_J0P&?D zwbCYR@9z@0_^Z5&ioxc~jw2`RKyWzV<`sWjz7x9|B(ADS93nxLo2P2#2I*y0b`_;G z3R^X74XHBUL~sonm<7)dfl)Zo_yS+xmr2lXuey#tvE~Km+jXi^H$d<07qL$$z$qWA zNF-$%@jARS42sur)qFsh4t50V_zVsk7u3-+2wRUVld4@tGNEVqN=QAdal=^v!*%PC zJXRup$<)JopokybaP9@Zmk+>kt|aTNKe zQ9Wb^th!P5vpc0L;{+#;l2)t8-+d_3R~c1=c(Nh?2T+ytNOpQHz13b>bT)-@hg3(V zF^aAj+yriVmQO~aSzt(pvB*-d=vUtyNvPQsaCz`r7_f;u3^@Z8S-4f<4z0OeLDgi` zw|^p^Ic=0VA4=-WsahsNjWG?3*VTEV;6CQ;NU*3RdX-`QRlbebYJU%wpK5kgaee*v zzG3_E)t=JKJtRm5)hM{_*V!}#y&3Uk3Y$i+VXLm!mtRbp-j(=F9Hm36;zWGRRMgjTXjy z4j`4h?9iv!TG zdvP-nk;KDwf;e9UVGGMxkbt6&QnpQ$~)er5&)3SZ9bjwqDj6^NW=z_JvBDVL?1v09#te>d-sr6`g zON3z-uXYCL9jft!8Tx~ED;fk4pZL@3>9cLPjNu7I1~l^mEW3yRev3Yt``V2nCeW)n zca#P`UpST4b@&wqWXreWvUV8Ib9K=?C>)O!me+?<5tgt$pBFIn?hH`vRbW|^FAW{7 zXuAZkK(kAcqWXPF?-gKuw=u3#3evJ71a(@|Bhm}EHJkOxRni)a?M_TLrlwD0W|UaX z>Bbbwm5;)|b)RZW^fPJ8@70*Z*BUYm&$9mrG;lYAEdi0zLHj+T9H&paW|p7Pt~5ce zH3ejr(^^^z?L6(Sn5iXD_AsRV)>wQvfL}~ShDg+9N5&div5Vp>MEc~B>+@{QbwRs8 zZG;jj@lb`TB*wJp2%-Y~U&V*_ej9CPL8(d3_%gLxqinZJSpvO_{`D`_qW=oxD2%~f z|H7iLJ;b8FUoFI+xMgpRUZEO;)a?l=#;|^(*0%YCTItpuEb-e}+fNACvbtp4?&o*cr&OqV}m#qz5S3kk;FD)a)b zWK&%4sv)%Xa9{DI)oM+1OUB-IIaHhZ$tq4#0;K1$>;)Pg2Rq$;R|a*&hQ?Qv$!uuN z5jsJS&|^Meze*zK{oYR__~ep|RCmz+JL1apuE&@OHyk!aeCno%-?Z5ion@q4L96>c{VihMv^gAKB^bmbV5KHKk@LO7ssn=+ zTowAC=p}+n4ggmDnOc{3XWw>_&@w1Nu^*-sp5zpNm5VEtn&8;^=k%73EH`D(qK!C5 z`f{06i9wPzuHaYv>X=_aQn}N?2CK$*0cbWezN3r|wM-Ojz<9Fl&5;tUH|TxeL%OlLZL+?6V~91a+N) zcu6GNUhonXTW3!xk@4AUUqs!>XMqp_wsTZNpdR|_U42g$C_GdY^Lo!&iU}a6bQEFJ zdg zXJJt&5tqfKxIIENE&<&Mtaro(_@(pq(-+Zxh!y6m!@j$e@7BY9OdI}!brZH0KS3Hf z@(rLsoLjLBT&eT#h8-v6!V-~87lz{vK|b2UiU8Tf!V>%Kl)z^C06T{JbLl{t{pCA? z-PD&+wk-jM>pMDyB{*n3E&0-i+H-D}_rFess3WSHhrP#=D78$u0caoQ;x;_SN`YSv zJ!AeXom(N@vLBO@6Dwp;?6DM@Tq6X0!u2;|zbZGr3E1+vhNLpOLsi|^pGRpD{OnKk zKYap~#c~-9=*7V|9#W7rRsmGuJCA~c5AS2Kymzq-noGfjU6dP!UXo_WANK{y*ti8n zXQ=Zq7wTPW_ZG-y=K3M=9_>{@jQDj|Zr1&oji#%RYh`Ce^42nwXT!~j3Y(-hPrh(n; zcJ`KOCFs%=S(S6liaD?*hA<`xfJh+iy_aO9w3dxD+PU7|^_8>?{S2Wz|3qBani3T9 z;!RQVv|=SJ&=Py%s6wbRt>q_@>Cbk! z`!+JjAts-zacsPkn2;X{?vRmlQw-~qf&(!fm7}B9bRj7~42z^FrV4h=VC}bM1@e$T-0fl#Jt&k!g=)UyAKT!Ha@%?9C+3oNHzMl*oMYXCK>mEaj}u zQ1gOXSYj=bvzu}YjjX+WnUv%9JxyMtLYXGJV`te~h?Wh}Tgz%ct-itiq%@XL|h2l>N{iSXcmRHljmDeq<@Mcai-J`!ryV zF*qWCxa-xvHJTd0Kt=Y<3*-R)@qD3lS7!<&9fad0l*fc&QLIbmEHhi8S>>Wy^RQlR znDszqy+6}_*b(2n%bnun#w(AfTy?lrei^q7Fn(OsbCx&9FnCxU9>@@svG-9W6O7ic zPa+KKI{SS#EJbXgJkE}7A0;=8K-CtmyvndE;ehnw1HOq$Q<~G4nQz&f``wfLq^ZE; zsu{|V#$o>qvYr;yzD&S4zT1npDgZDDVxbiNEpp*1$V%}IM;ntR*p0l>ev@iOv~rW0 zx<%vI><%klK{Yx5>|t7scs(qpe(`!P+MHEwU-q`Fi@V$5h+t~%vKuFiE4iwYA5}mG zI#SbcB#svlb*)t*O$=nspu{`;3fY19G^=trrhHM2@~%s5b#l!2Qg?s}Im7TV+w}b_ zu&By(XCW(^o0bnX&4}aWV8Hez}Z1g>{ttGb{ad&2^F>F%L z#t63S@QEeL_?c27YzN8lOtuszIDoROmt;X2kbQP6U!A%K#~&{8#s)S%Tz3cq7TV+6 zm@&58kiB8Dx|(5C)B#85#9K9W7!rLaF_AU_(-1vg?XmwN`AXUE32H>I)e|$k=8I~} z&yAlT#p8TjHHsg5Cap$SW||O6tPT*q+O<%kJ`$W(vWz5Ry>5L~^T*L~IvQ4q!VpPC zrGh=|IR-!oj8ZeMx{%13tv<$|lMW?vUUow-5OT^TgT)}LO(ntbJ@;h+EEmZrxS=DS zp*!vw(VAI#lyTp_G8b>~K9P4TzjE?znX;S-e0Oq3&+)-3B5TN!F-pY_pz5KfJtE4M=o>&5r@BP-lG*=K z7VTNg56qc)K}87Pm%I~>n>&Y*#Pn)zknd$G58D@AD1^=|)}lIO5Y4M0qiBCo#3$^o zVMFFS9DGFC)&5r?A!6=v_9|SHUfI>QIaEqfLfVR`!pu`4tWP z0XO!(S1qL1^B}eO!r`76i=@&B%N7(dzhl5(m#_1vT_%x>drGKOLd}OT6C9NLfUX2c zUE))erWy*qKE8;Cb6q*!5llWn26tt|Q>$w4lVb}w@szeHrU8O_wfzv>AyJcI$gbv^ zsLX6|(H<;ra059J3<6yF%t;ab5XvZamRwnYxBc$n-@>0sACcNAAajx7j!9gVyGV=y z3{T$*qg}VQ#@KQy7?fG6CNA16WJo_`n5>E&^amBmR96N+p!!Ij@$LjW`(@UQ(Kkdd z0iP?S>)Y)o>6=W=0J7TKBw%Js?hGbq%$NTtuhW$_`!44G{kBR>sG~+LuGSd97@8PJ5q4D`JVkudMPr3 zTzAYFsDh!=9dwP`KCMwaCqK;0exk^)YmQXh=oR2}qb3y*&gv5`5&EVT7_ff@tIR26 zAS!~S@kyEiGR%7q|F*9JzgS2}t*WEBO2G$pNhW#|jnrr)2rI(fY4b3;-kes2%JSPb z9|Uy>;hKtt?LKSqmUxH=I@^lq86tH~|D#aGUZ2aEyHWIDX zSii=PQmK(sJXd9h$#V}3~Nw^)urL8?Z2EalF3F%aTu_?Uxl$|q zg8S({M6cWeb8nSJbL^eKpLA3ZESJj6&D^vFPhu}7XV7mi$0Sdv)w!Jg_3WR)Ia#vd z8=mf?h!hF}M+qMK&E-t)^^w;uBVB~6wC-wXOwGi=L3BuC>arG|g}60I*y)z%kuFS% zrWfRy`Qt~kRRKOSS>z|&rvNuLt^9mu<>!#NKL!O7)gTazrlKh#F%2}2`kjHNKA=85 z-O#@8wjq8pJ9xl8tQYNEPQ7xFFGAeBj(X+x26u%p({xajMGq%Bqg1~o35`i@JM z8kdJ=sWEvlJtlziUNt6%pbqR8N@Ps9^?cBNOtqY|r5Xew=W!k*B6nDps{4ECIsN9` z@D91?`8w%&ks3G(wab+V=^wj3b@2aRT?Zr<(M}g6PV2f05)XZ6*7gU5w_a9ht{bsm z#=+bRI2^a>`tL95?fPcb@=Vud{^|Edgjv1){-f9KB0Zf(WZk#ZBjr~4*UWbfi1YtC z-!Q_&&AZ}BWaeG*0s3Iaf1LL*+TvfNJ8#r<$h@<4u^uppZXQ?5hDGsEgPQzkdh*u- z{FUb0vPJ&kLg~JUjKtu<0DFQcLu;$nJAOOFD|0Us%h7PR!m}8DO|7w)a>@rQw(k|T zPIoUntd+6?AH`nkJ2u^Rk)-~bu^B(;|2{VCqFmtrOYZ>v_iKS&G}WLjelIg7R}O++ zb8$o(Kdj;t!y%T`T>P*}dOsp%|MG$Y4}2LGy&uDB5oO@Isgcy8ZjP8&ZgvU&7E8h< zg70#}WNDmFiH&LaV|nf;a8>l?tR|Lu1f(4vsJRh?tZomeQazk@SA2DI)I;qM;o z9ndHZO8!vxX_*6V{_@e@fT;BAhOj$P-=0tUbd zl^**SD24S}OlVgXrD;d5`=xpP*i~UCD_Gd@Jj`d{2CBFk)WG75}~r zGMQ#rSI1V(Lz9G!%l^YBLXz?3P9LTN%uXY5d(fT5`Jc*Hrq8g>6KK;6?|W)pFa~lh zPS{cz0}5xBJo${0%OZ(yyTyu~kAgEw=G3KBTXr4(trVID4pb*47|~p|kO^Xjo4d!K;Ni z`k~$YGOJ^&jc@ zoB<)0-Q$~8TZe5It08J%yj0n}8X3lWj=9E6j%W?zq@5`nzq?nOz0(eEfryp`#bx9Y zB&v`f~m_>bM4jWg?Xh@XQ}&CJ9(S|5e!-RSG*;3u`8gDO$z!Lr~1Y znCLSKGZCvC>f|VgDOq=aJH<@2R*4d={Y5pb5za4=ibk&DmYdr<_Yyd(bGNz0IZIi% zUnT9flt!d=M^U`z+J;L+98f_t0d4V(yns8CyI67P^{J@E=n5wT9atoIG5i19}+zKX4z323a^seZBEWr z!V!x1WNVAx=4E*aKdazb;f_j-oN3L=`AybHbB>*>H9g2nK^qfaEcCyb#Cme6R>e=} zZoE2GZ6>y)vy0crYHKi_%Xg$UUcA}FN)4sQT#8}vMH5jhxk-OHS;a~ zj!IcBg2cs62$CXYHqe?f2MT3k4W`%3R&^z|GSH(v{usT6CKyUQ>*#Vc5d8Jn8~sXM zShZuj)m{!;W?E)HkM(ozGt7IY!6bfo8Wp!+b0lJ3!Bh&N$jwVWGfI^SI30Zc~9x&fc zm?H<)Aw=w}BZBMwiJUr;DGoW-+R_{>w#k#vLZw;b4N8yY2-h^<%8ws=HkupwJocH? zmf?GY@$8)kj$!QX+301`7P6rk$jcBnM}FYFnA<)&*_!WwWnJ9Xm@0+cS9@(EFvgmF zRwMmx^ycodPuA`+T>3*^;$c&K~&ullZ^6DX&&V-bVluvGL?L zRPavs+Z8G>QKfb}_MnOxPmHEaU65nEikj@^m@0wheHdwfiUx%;ZS7#Nm?SN=nlkQv+A_r?{bfK&x{3 zC3j|A5OvYT&MxN?O0Jht_e!42$k2A5$Fm{`{$I8Tc+?^|17DMTKgVsu<9}5z`|Br@ zrChRHt;bJXpf$}Qz5#R4CkAUxvw7#OKx=x4H>aHU%e1EZ<^2M(jh1W$L|(2nO>~o9 zt2IsFP3}+sh)PLxF^QsMYcJu|Go05DFNKn^&fI~+LquvbTMyBF=T<)4A&GC`8PKzqWWO?Cq?H0P~M{=&eImpAPjcMeP4lc`eG;%Q%{SayxeLj54iQzUPI6ul%Oa} z5Xe#iAwCinJ%l|fEP}P9h{=h$QRNnrsrHgt?fr;3OU1;AAuv=0Iwiw)H|BncY2HX+ z)_xe^&e;jy?+JL?_VmXKAeTr_FwDs}*;dURiP`&^0U~_K6)FOUXFw!THq z!XSlabrmNYcu5x|r6hj{>?J}&aocwyxrnTx#DhZ*CGR4Yn3Rq zHTwnlPb5#m?2(!5KeM%q7CEaE701eLXGJ1(m8ZPj8J_Un{*lC$kxzSboAcREIW<#Ywh+T|m5WJvNo}E~3Nf5=r~z%P`wyuPq~(rGkR& zr5F{EQ6}Ie5FMK=a)-N2eG*cVPuHoy`)=S82{bPv8Tc_=!}X|wm3;9S<=9$jb$+BL z^plEWy_TWDkOUWwH)Tew4U_qL_fY^i;af`y2nt^kyOmnga6-vuVkmJHqsQ>sIC^Q7 z0YhQ^gg`uQ0l%h3HwCvNOVpb)L?wC$M|VfLq}*EsoYLoWZ zf5=PYf&SHALEbv<@U+D*5eJ0gx3z;ImQ4?r2Gz-X;hX8NE#hNRWK8;NL3#bLdM)9X zX?{&GuJaI|Xt?uTHXY{M`8H4JU*~SVOZ@GGCEYFhYb6pMtH1VyaRT~ z;Vbml6o$NnmMO$LkydKWe}_3GTfwcQ0YxS+5Plw1UayKqFArO+;tr_2fKJWJLR?k@ z&|sz`=lk11OWu^>?Y4Z&6b;yz8UzH_UIE>N>z#QwBo=!P32qxyI}EJ#;kLeLOi5H+ zT^g5AiJs&1Q)E+nvW{B~%LG#0lcss7+Im_JVAkUch#}k(=+)NZI^L^8*5fS< zQL5I!#A$J=mYW0H?Tb-@dX+-dp&ai@Yp{(kstT&OCgQEf<+7yp$}{{@oKK2-j(3Wi zFe+7>Pg(v{?QkjU9a{7?Wi6v}yr1EMdQ{`dlf2Kv|8z&=0jNgLI&>qPJ;9b6G6H#S zVEqi@ zHg;g!!b36zmhZC+t()N?SmQX|9LFXZoENOITHoZA#~8Z=OWCYDxKiWs241Apr$zCs zS0nUWTbZ52z+2R#u>IR;gzjoZBXoWDr*O3vV#@ks;i=@>QLbi*{!d@#LWY5XfLj{y z54Bs$w09lKMcj%MWuUPXqIin#*&)z9Z&D5&pfv~2CMytUy);;&q&Pq%Ic@B zH?hPr&ZinI!qin|%#i&>CucF{r9kBR{f&-niN%PeC?%xQoD$^F@G5&R=S@BBWNIiT zR4gy-8j4NIy)@WCN-+%PN)>8Ltux#@{?27SzsQ91b?ZJ)xT9Y_b;Uo*wtqk)!e)OL z+mk%#nE~Z#n|r0QJwgkjT%ePGA8}bwN@zB;JY`$gF#Qfel*V-xZ)L2%#PJT zF|_f2HQtrwAzS5%UOtM8wOK@OWEPRMlmQxL%`Odc46PQO)6bYCp>~oy19pQyQnM#9 zBjuc1X>QcJ-wOraX~199o|Q6}q4G_Uns=(ocUNgIbw<3~aQt^pC^6BSxHYAhzbE!v z%C|X}R+_6-#w`s+x`La^a{K{q*UR4yBbxTU6*6()v$c7DLqFZzM@mFZA}iNf>)kuc z?W&q?oWtnagtqcGLV{kY=a2< z7HoqX<_DF5-QqX|&B|!0EjGTr?;L&}NuBdaxaOGnaJMT>88Ce44jU~><=6=0s^Egs zo=~8x9$7Z4`hbj7PsIBHwt~E!lKCTZop3Nbk(vif4~5FNg#w$ojiyE3Ht>6>z4Tth z>ky^LGcAIa%?7lZah3jVB%7A$UaZi*qX&{G8i)xFl;?Iq3m$$Rr{_tmH7=KuL*<(* z16wGvEsV8B?WK(}snWml^@g`yJgj{Y_I`*g6O%n}>r_zQ0mYVz4(AR@pu0Y=a>==& zmVz6^U=mWZb$Z}X{lL(YiK$HF0gzbOyUl4kgCliH*v{Cfg(Bw8f+2>lS}xCi$?W5} zT5I~07kXP6_^=_js;09taX*lP^t=0A@d7!7C|%sAc`D1_2-mz3DW@+ly}_IZ);0`g z4J9g5h*ZQ7B~5?JxdhL?-S1+}bBN+>1qF(vJj(dm(FU6mNh z_1cEHwlZ))VCJBx)wvn|E-)ir&K>Mu9Z^7oP!W)+3~Wn-41~AgCF?dV(haDD%}*)) zT?0_*0#qow5>P2r4WSKiUVEGI$^QZ^?<#0ntDps=aM0Ns6p&me7VO`~vesB@!37?C zIagu8rA@BL;+$`Ny*AxiaQ(^N=uhc@v!)N6=u?!JKs@INUzRKLp~QF522;{C*5+rO z7$W|(j3LAp)9lhY2IBh`0cln(p7bWa@D;WULZg3Ix`;^aQ6aq9B$1W^P|t)Dd1%&o zr&|-VK+rR^gqP1DE9^rQHe(64!OAv)l|`nlPf(z8tn7xtcmDA846i9NyvUAscVyO^AyVavu2bT zP}tA0FW>)Z%F@gal?1Ev6P8;o8f2)r;#4TUL0ILLa`7NG7;EN2F?rIqMC7)O1@P3w z3f!z88J)XvilVduz)mCoD6+-w!@rfoe~Va>lJhOEZnKMc^JTZ~D#~rsmac2tm#@Nzi+L6d7Bh?M z+jjfS&vJ1UzMHts(<`lT7F(L}%ycFkxpd%NEisun(pF7goP}%Y;>EaOpI(`}BYFi4 z^nTMTkpPrHbRXJ~xt$=C_qM-qd|0V$R92Fi`On9nbl&1r8^tcpieN(O*P(Kj^e(Dx z8KIkWIWfhH#){O6SH0r;8^ulfw#xD@(PqC&x9;7Bo4+l(`M%!i=z;dw`DCta@onq; zC=^(Sm~ID#$qw(Ty;eNS8Z zcZ_in9Dq&2aC;4eA68KWQO&qk>uT>??f1Pup-yTmp&-62JYL`dTPy~`jJg?OAKfD_pD+P}) zx=wa|JS0ot83G}5Ek`pUn9A_6UiwG*jzmy29P)wN5<&U}YMJ*rvNe^CA|0q9fgvUM zFY?{6br7A%uLnZ;$6qUbfh1Y=h?UTR@WdjsI5cI0p``}2&RpU`c3&|EPJW+~&1mCz zL+?m@;j~JuQL`4pA^s6+pB$uCmN1xbeU|rU1@;c=Kd)1R`jmPU4w%HCmj8)C&9^^I zQG0Q!|CJ`3Vf+0Mo<#CO~(V}fq%!SskU?zcwyMtW?NfQkXzo_dfT2NJ$Dm! z{luo8#ITNe`uer)!oX`%mT{XiP&W_gLIotlo= zS?J#Owr;vPHp|HYiH*(DQ>&A^m_K?LF&`|g))iYPoCvMyk%6CTBxI-KZIqrcV1}T* zT~*U+)U<`+YO@pgZiAB5aY$iJ_Ekez`KF4*AYQ)A+dWyELUV@r@8R_rOGQaO@ zxp2h$M&Ov%By8A_wCMX;k~?C}>4})%47JSYnQqQF7BZ*8MS1(7`zhlqinV6?w(JiD zKA3+IEEk-lyghfnGnU<+y=NrK#*HHZfSt>Qr5$lH(U+WLH z%PX_Qo=D)sD14#MVkKb=$ysx;;CWBp zmIGUy@(-JjG+;-r-5&|;sNEC2H_Xl2#1H-A0J!`OqkKy^@W#S{VRJqJ(GfN$9&)Y> zn?HmQ-xfCY9_K=tpt9hS;nOXHfxXc%M+IB1oo?Qe#ke{eK7{jOL*d>u`4PJV`=8eQ zXW1sOg6n#2T_H<5ltvKH3BKfdBGN0)s9AT$iqo3q-T=!?EwN2%h2fsTjs*5=3DIT| zQ^HNv=5jMB%~HK2-8SwrHal4dYZN$6m4ujVRe+lTGQ`vSR&o?G?>=Lbo)> z>cv!kFjaCTi{A1im-5iDQ`?J9lH#B+jX<(ue$Ym8C^0+=cqp8al;%QK=Sw5XI0U2l znb|`kiAUAWVE;yG1pZuY7=1Y_rJt}#H?A?jpM3~pS7)S`IR5YVHowM9uwPBPMo@>Z z6!m90y0de!KeH(jjZO>}$;@}ql00qe>bct8y4X$xq2=2qOmf+`#N}PM=B>nn?|IZ- zBqTmSi=aQAD$&(pM4Ql4IpTeQb}Jh4fdg8ilOYaiuV)KEcWb2PbMvzapsmW5epN7v zFPDR}_b8)i&>j~J%bVIHas>_NvPtB!1yvKPo8$0II$bw!11U#m;!#`=^fV0RNUkep zo1CdTKLOi^@TL-OUMH7xZz|>74PYFD6PvcnZeRUd;N@<^yI!5dxjj%~1lG?RB8dgI zNSVHIYx^YSaLz~^RsEstpO*${MzWMy&5R+&MU{cdh*A>z011F|k<50!IPob`I-Eve zdvpLZV4nk@%@P|X+^=Vd`%d-^AFIjsQ~Vi|ot#Oo|MRSm(%f0Eqae|levYRcN_F#Z zl@OEM?UM-=D1dI+$H7hd@eGN$1r;&hI1LQSh!zS4%0+UO*gyW#1%pA5O3>j-+sx?P zYZuZ&Q36)1|~L3Kl@#T&)Mz-mEn`9MkwMYxb6Z)cDb*_h@e*8HIWim7Mdq%yFh;XDPO zYS#u(I=f_-ZvG6HGzvc6TdDNfGaxeH1+=gIbOpwY%EAr~l&qUK6bR`ct%48^ypXdy z|BJMLXKAD$Dmb=g9C0#(ZT}S;C$gY^O)ka(Zv9B*MIZvp zUXIKqvar-{EZp^BjE<*q0oU$H9@KuZ4({oQ4ToP;+L3aa+8gLuI4mqGzcuTpTaiT8 zbkq;dt2B4(sW!cQqdGyo$60S|B9x!vfU#NJU%J~#IqH0E#xtCh3&6L-S_6(Y;e$X@ zi)@mU2Hdf?54H|fi5)l@mvAbdIRHAPQuSC7IK2K3~+zlNS{{ovCSl-lgp9&Qlo zUU-wAF6fWub)ap5&3UJz{>Cb6f}bOABS+4eS<^W*SGLSXn?U#@g)0ReaoaxWoKSViOR zczrlSH;EjRtNEE)Em}$Uf|(@1>ty>9nl0-!DC>0w;2vMYJa3N<2R8HUX{dmZG|#zM z(v-MsLG2;q_#!8fyEyx}tDIFWE2i(N{--Xrsz(uh#;WFusXzI+lss!StlPo&sHiYe&>2|%&?WK#752Jr;AbN9?UQ| zFD@ms_7jG+)o1w@Ta%y8_ii?)6rn}qWTRhpx9Zf04M`D&36_)oMf+g_!5r`2PE5|k z@wR+HK$%1w)N9I8iOS&ntSX}lxli^2ec(`*cN!8CMim`R`bl4S)tGVw2z3*{Phz9u=jtQz z<;2$q7LE4uem(E8t6o*ooy5b$T>sPWUGA~hybCZS3U5#)#0DOzxWF3|Y*Ix;A8hjf z{U_MuMq0Pz)?$Tu%+>K-8VnQj&U~WC@GUYxurI(|erFeZVnO_PzxtJi^*hDeBf%&V zEL!NviM^0+#6oGrAZf%Hw-EtSz+B*9-z{#xvlyAcO0Pc-0w7Q5&O7tkK7N{;9sw+|1tkj%bhW>MuvT{+(T| zc7GU?c?+{rYt4Os@;0?bx1b~+6t=y{6p);-u|yL0mJa7|oP2_)CXDa>J5SJWF!>W+ z6n6tuV*i+x8}AuYTdxM+o=cGNnB#`Nd3eTu; z^UbG$!IJ-g@(7?|l2!jLxofza8EhvBxXnHn5aG+1dT5(nWc}QY&#cJ_WKFZ-I%H7H zU&~_FQ*SC{f<#_TNqoImCP7=-8b5SVd7Ek^n_|dwQa2xwB~OA>EAO&`1qaI93GQ`g zX+&%D{<;By*~Hu0ZSLnFzOoTh3NE2}sc0zPvtwaDb9MK7P97Utp4|K?(K1FYtV zu`fNb1?P3{Zr#_PLC&ksO0~kLtS~44x;UJA^Uq#qY13A205M>SsIuRNeZ{5`D-PF; zD`w$}_739Z&?EUQgrW%Rw@mJ^LTzIr$$kyZ9if2*34oVn`Xk(K(-beb9I+X5-G+uj8tg5fx6?Mabar*xfm$|( z+9IL+lAa-L9dpjSlgfVEMC|Zo))?b z4uUzQAilbP+c9KoHwgcALJ@wt(kw;8oZ@eXz2_QWHX1u@#>w6d6V6DiI3(}e)H`>> zH_1zU#WEs2u>hatja6v>#ZA3KQorD)9%Wx!egF*kaL_K7m-q^q7EkOp=L&6U{Exf_ z?E2S?nI}qwUzV+k!rn9W7ZG89n^K%@R3W*fiivLBGKnZE{Tsi@U&`w%aas2w+uRzS z_33cKQaLb;Y{Pre zX3LpTqwLquj0)N>5=Gtg@Hw|t4L_p~Qoi&dAsOPzf{`aS)XAl@GiZUco;2%8BUD3j z28qbu>gKQin0ClF>}W`*+V=Fz^kR%#y?k_|^6g<~MitpZh;m*sd(fyjSa_Kz5I62k zvELllu4rxEI={a*B`0^-H&A64!^X+`*)ZJG2PzmswS+MUlu=V@{B)|Hx`YdQ+NNs| z3(zg|co%u@^aRzeGF)5wh`7H=tw+jWMMJ~wZ^GS>3k^iFrdze9@yxUK%DR;oNyLcM z3dnB{OFtiTXz=PlP2M!NT8ja)HK14X08IJPQT8(4qYH{kruKp5j}FhqHey z;D>z1nt|a$BcGdNyZW;XxgX;Tl^z+{ z;?+ny5|ghj3nT2A#K~c+)^dbg#;mP$_g|#DRn~X?x;oE=tcU3Kw^1#+y-2ryR8m=f z$lOL}4!E6(UhnC|v`ky)C!Ggq(_gqutTP59WOmI(loaxQ4tKN!UPNHK980xv_&{Tu zM?mBD48D@yX(PDI)1hsUeI@dSQ_`b-N}7LTsQmN5cF7uVWnidZcN;L?nteUl_tOHs za}O_iB67V5J0GPDss!D;ITYv!Y2&zZGqwmJe~b8DL1;K&x*453${C?2+#VXyQNCUL#dRM~+?ylIX1>pK%G-tGpuG}`j7kg}TE5d<9XLKOJ27lbGlw;| zL0XgCd8;%x1lEr2XnJ1SDDCC_(abv@|5_wYvPk8%mj;f{?GL-9z;Nb3aQa2z`ZuiL z6gE!R5$`jcsf%`dqeZFKEjAzD>)uKuyW1s+R{5S&u*LS0rF(N*PjBoF@)aART`$#9 zo9B$r=FcNiInw&%T1H<8aA}~CcuF;@8a~}vu30aQ3o^ky7M?yLrNiwn2cF}(8?#;M zd$U5C3l{2o8tdGuc6~uveNJQSrEI@0cO(CGc#1;;SEuhGfa!!2O{bq{9jt?kan zNs5d#PbLUcH$WGwgRx1!mjpCBUSR zevUnw+EhR{SKC(;&=U_Gi=XWO|G0Y}z^JM-??00a5CptIgGNP-I@UyO3l-a>pk`nK z6P-v@lxVe07t5m3ZB`SAtwL}DWEig61zUG(Tf4QpZtGUJwFp8b2^a#l7{DspS`n?z zIEsjWh*X{5=X=hbWD5#QKUtksQ3dcw84afc6q1cxiLa`}L;aI$x zCON?>v`O?}YNO77qfYUTM(ga=vk3Q?@%c%Hd8g|7$wzEx(dg~rpOGx{Q#(!p)`Tj^}z&1dXM z2d@lXg{-GCO*MU4ug9K47HX-XjtYt-E+Y3;oU&^QgyVVfriw+cf+#tOB_|>jpW==aYu2`cw|O+9oY>UW2MOWjrMY5ZgjvBa7D5BaY-ddE{`x|DS09@<*fSd zE_IMd)bW4dl7s!>_|lz9a2Mt;^LMv~0%ruH2Z|SRboc4RiBP&&n@lXJGb}1R1A}E+ zcLie`5^0`+GlbJc`|jfKa3JQ~dvsDDr{NA*=d@EFJDG~JxOHcu2*V+tW}XT*AUjX= zG!>@r)X$aXBz~|`RtExrmc)?${kh__;k>9=4;{)`R>Qth4H7S*(JM;C-W4k82qVrW zD-cqsdRWi^3afKwwuR1O`;smdke4gWI{3kTq=8VHZatxeF;_cFbnb;vgpv4{^5ZuZ zXXzvH!lQS*1_LVIv3tjBsKH}>Y-s+Iv;LbfvZEG!3wAyqLu8RV9oF+fc_;H<=uGX5 zZ9<{Ru=I&L-lT#;!_yC_irnlf%BTX?zN@^Ga)z~UgkQD4ZW-X%)9`c^j?t0+ zoVc$u04TL>PRSE$jIbN{j1(>is7LhtZRhH4$~|Xa{g|9`y`(Lv9SA!G#4#;w{1i2f zDJU!Tveypro98RHQ50j;m0R?i`kXY~e5Zs83r>IK3(9>ZFkD^0?+$)A5(?%v| z7T>OF({^+TlM{-5z@BBAfU?&v`Jf@0{3bX6v5EEz*czN^IEhDB!d_S~tYg^NRx^qH zME(0oz`pkRxB9qT{b%5E3x;I4+zIAWFP9r>UVFLRhkI49m&@%juf1IE1@kH{mrpy1 zZeG)Evx&aQ8{x6SH}s54d>0esdPy^oa*>S05}V*h;eI@Evwg`m7*~+k@UMpSE1yXz za$4p<9trSFJO^v_;w)@_hqL$+l9f;dZ>ZEW99=+U6inP9AS3TXejY0#HFCqXf&6g{ zQY7!k28sZ%o;P{Q6*&zj!vHvG!ClN_{^`?wrqlcHz|i-$$`?>R@y?s+v|E!7w)z9j z2b_7MRS4?WMyZ9AN}Xz&N&J><_{X284$nJPnNXp~vy?o2yftx=D*q0ZC%R1m0!=qw zm)OWN{C#3&?Ct8BI1uu6M|?@7hnosiDlgPp&d#xM;RG@yjnpqlzez&XBWHtda*(Ku?Kg6W z=?m2aVFA8LK4ZYSHY;G5;kR$rm`n&`|8bjz8fmxry(C!BqlW zZdpere@aDFpk^`fv6V!fvAx0a_vYOgY`*1OPPlwc4s`)%ru>Bn&x)Hhd#3X)&{-iG z+7D9%#|e1-$jD2AZeck_0MRrIo4QK27@EdF@R!8V{%<$rIVD|O(77(SY{t3hF5TMA zZ=Ep&X}vSGw32O;W0{ak&jMY~nMd4&G5@GXB5&=JvWaZLX$`bp`kdIF9*r*pPvE1h z;9n zKM8!`k7NJYik8t=K8$vba6>~`HR!wh-vbCCMsD!3>qlOnWB%vA-p|GJVJ!5Fe_CeF z=*9|j4$5gcQqqoDy9dt9+?n2%c%2aasS1TmJO76e6lq_H3Eopt;!K{rvm9?G#=dS= zfv^R8?mBaW#L(b6?U|_jM?c7vf5&?&O1!2gcg%m#VDg`aF$U?5%JLoa!iG=?ySvy2 zVchWB7EyUP3$V+~-2r2^lGHbvwzb3;_?DbHigjzYCa9-b`zdX$#xx~Tb6t<@Ux`Zf zBxdeZFcNVU`9=Ojr(}t`mmkPqfpdF4&_&`u78A$-7ru@!s;0`fQCz+#aXhVvtZ6B> zNVRi^{1i+#L_(OHpXk9ELzE)=gjuw5=%NzN7c4j>v+xp6kp~J>I9d)UhZ->{g`N=WJ`(nyG$$SNXPEpxHydty;feYd!g{vpG`ePEIGIB+xU?Bo!pj zVtx$xs&9Le`e+QVT16_qmNCvH#$>RyC7?Jn2!75Z>r8Ta`+~9LoZ;snpyY`eh2wqC zpm^J_sb_4LF9XdKOJi(%55j`^qfoRay3fdh>)m2#H)mC-vrQmuxnKN6QXLc-%!}D|Al$Y)<@3?gm zCKcYNjGpG6eZD^U#|O(hZ#@y+gmDORC&s1(=JxnXQ=N$AYpExz(iAn*5LTK& zsKWihbS*wHvGs$|MoVl2^5kv&X~DZ{JipAsDz3>e17dM;E>(*_6o4QiVGHPS>Wh{~ z*YJ&D3F2bJF6l)|m)c|Po{_w~{l-TDbNCtHVVs)5?%(lzX$YLP6Zs&_H8YX>m$0vd zmYWQcmCJUt>gDAQaK)43GbT2ePG}FNI3fqqZLhiC^g-+q?75-rp9^y?iiJ2kA{~1_ zXaMogAD_lK@b)-wOxwJp;6BgE(Y8j+w1K869np`jnxaiiZ$N9cA+cE9a> z`6bvDqWEaUFQYD8vqlE%0$%rti&v$9&%^OWpaZ5rX#6dR{vU8a~(3CK#O9b`hc;uxhw^2hni@0eei zY@Wn$;&)BznGJ%r07lGT_A_biS)N9H+vdGC5T@j(zh&~)BKBYTBn|u?@qY*ZB@zDj z0l=7xOztb6;@cL|e@ni%W;-RFiQ`cOq|S&>)$DW5mScNFb6k#rg^>+97w?TtSj`F9 zXHiU!nF)Amxp)?l_#7f%Y|jJH@UWFS!fV1-!ZrL@BWKX$lG3NJ04eMZ6?m3O)*w= z#xhp*A@Mq60%KJlviRcKhJVfxd)^rA zYzZ7iebn<_1Q~5k>Qhu_)1XW@}?>a zYJbUJ?RyE9>pwr_{J8t3j2-sP#KXG{ZJu(Jv%agByxp>b2|M#thU9=HZ~wvYWRbUS zs9lD<72U=}9u11aU8ityR`Po0z+!812+5iGONfZ>kWuHpYJ9RMwY#xmw@<-x3=)K2tQ09GA)-9Q1lSGB)96f{>wi5EHl&e)32 zd=a=)(-V0#P0CSboh91&F08;#H-x*#1036ZGqKAQa$2!iK4B4^f1V=3gUY)g^v)x<1ad7)JePMpDIB}gate)Bp)};97?0uEAjl&~ z)J&(d>>j;%i|AVxj$eA?k7}^K{CUrxvZglO0hF_N-{9}G60{@j?wp1+nHQ=+TvCylR z&Dj;ART{i*=QdFvTm7DssNP&sH3AodM0fIPaA%dtVse^J$Mqp@zsKIZ*d5!QD5f^E7=o>Ni5LFpy@0(_aueNp z&8LiB{fTy7gRN7B0(={Z2KXEA1@JlFmT1R3LIaWTO6dec@e=4{Yc|@Kh~sR!#OR#3 zpfIQQDxCZj3;5;4_oFCjFn#9y|M9I0$mhA$X`~O zBTed;w1F*Um~;D=McfG*UFA0V77?E%?JUTPZb`TA&cm@QvHy8>hO637WJtil)99Rj zzxXG!K*rFW*ak5pv*`kU5qYj zy4x~QDejmWS~gI4Y#@kd*pWb>%smuN9<6*{+sH9qySnbuf_{NOmvCa@Ud1bsCawEI!@3UxxB9VK>mD(qj}RAHw>`uNY3v_7OUej;yM!IBk|T> zzEMj`-gO-d-yql;F9nY>zc>}|VX%YF0IJWK`RhN3+d2I2EJS@AW4w}v$l)aCR=lsNve{X2usSHdE!ooS$UiSDtfnbB{ z&Ed`*(+P7k@A%D=d<|EMLL1(eO`}hvE;Nl*CLfx{Ibrw2A07`m`Krtb)GP_~GFrNb z5%lOROY*a{n^;a`EXX?mPSf1#?&2?juGo{9JQP>#q2WAx#jv=NvnrRL2x@RAxngbc z(BcLX#&K`$ErE!{_u_^kL*|9j%b!c9xApKPkaKfk>PW^sU|yUsb&xk8qm;9%npt3D zpGnNeY`=xAu3QcZ^W6J`FAbgUf;V! zB204g`@VTxXI8^^3zOcD3Mp3Ra}>JU7PVe!piRJzA(P>Wi$0|eL=b=pG|%l zI!}R&C9nG^ot{irpMVVF{*!V|-OeKwxpJ)Gq+nVXrqDn*elY_76^zbEA7@{4E0#Sx zQiUp79xl{xV?k$&NyzDJF$o}ASL!im)rL*@y#llb&K#UkZkd1PC{Yd$UHVl|X=jcO z7K7Hnp14;qtM8c^ZRhCo%@&U)pbUTH42Wkf;ejX($>O zzV1EA+Tpxki3-Pu&L-lov-lqBbXH9r9lu=yFRRmC7f?HPt8ww&WDP9?k|jp=rH^-# zvaH4CA(&Dj&7bQ3A_K2dsXxhnfVCTOseSx*kffNws)=K0eef3i(!*&Y961kSK;1tf z;A<~`f8J^FsUyd4*IQ3{yR-B{hb~3}HJEW)Xh|C+7s7G+||Yt581mh%u>Qk8OhE-jAIQEU$oGid#6VE(R~Aj<#M8 z4C|cB&Vn0Vlb-2N=@#o>+Lwq{x=o9j_4Jh8^kF}@15W*tV=j-#7 ze0{QaN{y?J-74Lw^3HlTO@N@!(I*tEELyzz=3)4le}PeFd?tMKM9{ruD0^eiG*;s% zHesRu)^MWGPJgGrASeAKJ8!Aoky-78f8hvcqS$1?WxmaMa4H@n-w~q3o+#ZAY#n=) z$qgu~Y{3%>Mlr#dENHAY)^XO1z=ZOZW)htxV<3Kby4EAn3@abFrTetz&DF)Z}7_s=iR0Gjl{1vSCbw^A$^yUUF+lEX=(`*1ra~* z&P&e9iC&v&? zJgjtE^7JFYnn?kc&u-+Y_rNaXj+c47pWi?5t78;p!EHTw`;ti-hw&0S3qSixA}oXg z^_A>$w_F3u0*QoRp?Gz%hd{m9!(Ms49Bjg_f2p%REbL*z=H=nV;9kit`)`PX7IdZ( z1z@|T-?$A=W1Bv><23^2;2FQ;HMWcTmo5WuLhe_K4_y@3>8!FNX&L{ys$3uYBc`?3 zF0i{BW*p7D{wLtI(Ay#WWhh@pkc!dudFSFPfuBL;Bt4YJfxwk`%*Hk-R zcp7GPI(xW3X25#O9@c>EI;wBL6eTsS8x8x7h#9aTyY~l=C3d!~u{7T~56=({7|*`p zR#?e?wU0F8{R@VWrg1Lx#`IbCaXw~D?J19ghxHZ>YcRIetr99>IBFV*iQedFRt`P1 z`^?N7jK;k~n>{Uu#Kpy<#Tg#lDEtfIS=W(nt9B!c2_Z7$E+i;!ePIhPhx1y_5%qI<@{q8sQL93N0;ZQK~$N^bn5tnd=Ag+W&o#4C#`OP}lK&NLeG$O!_x znX28wJA=;pOLKAazCPsJ>0Sl3*ipU-ci4d?V$Z4onUC;o$u35Kft{v6w1cu6cwmLI)Hf39_eFdLk<#EP z>xbB0N}w{5R8|iqXIeg)C8ZfD#~(o8avoV?OqmZNbmd)~&uEq)cAWy2!mqPMuP12( z(W}JlT%~fQeBEP&I*w0d1Sy4AD?`@P{uJ^Rrc3J60Ycb%OJFsrp^0oJJFcIeFkcgp ztNs-l4%eN^{^S*0w#OFD@2i=gNS>J=1Ufw5simHEb)X8a?7veY0()pgNeUrfI!mNk zORO%##+1v|vLQT=xxu+3^?SoSzsB}U)TBadwhl|PB&^^>7kwdAqk7~^Y`KVdTHaeecG0v|MeT;t_IoJ;P| z^@Mmvlq^7XxLtx4HszzkcX#@IIY?!H2+w*Sos2M5;r2I+O}^t}Jrc{p@gFF6r91NI z>RFph+u0l&k=}wgUHQ`swj>{5l~u;xC7Mns_JCPfq0+tOp6s<`d@l3Hd8QKQ_D}JM z)Wr;X6wJg+^TcfsfmF#*TF%arSF&a;FQ?%IXd;ug!FP{oL8O{TWlufXE8NYpVm|^O zLc=`cz)L@0(=YCL6I#vbkt%oW z8fX2ta`7&`4%!}a|DN^vXF|+O?HE`9(N`s$^&@=mQ!M5c`8M#oFz1L*kt5q&iLNEFzs zMqwBDXQ;^`>3Ie8T$H<)p4VsSx#Y{#moyy}hVnWsibtw->@8wwaMn5&v7W!pLk2LR z9)uX2rYs#rJ)nrkERtwU9KfVW7-narXY9mIo0yHA_VbXHQmzR!UysfDx7UiMLI*oOfj!#-wUKZ19h0P)LkiCSFjJw_o<`WmNYN1tZ(Nh|_!z+(|ktOfXC z6Sc60rd~E-DehpT-utpchr+C_sIRh{#Vq; znOW1yo&Z79Zu7ELV5rCBmVV-(ER${{-g)}+lGOe3Rp_KPsP)(DSZ|NxjrrSfyta(R z6|SE3M%Zl$$cSCVrREJ+Bj)1`>pW;eryGwOSD;)RfB1Fjb5-fzqQH&Y_F6>u?e34b z{%_06HWDMGoIemuqu%)g<^ncz-{%Vv!WyTa614fLA4vNSfPREFcrWj2wm5dSCvqvq z*KvAc6xkWE0Y@`XlgJooGXev>4xYuYX{wIB!{$TF1VL@a#2YUZ`aj(xnD3L<$w*{ga;mJ4Vj+k%zjWHO)^&vKWfx$*nSR71S7f$0o{ zF_6aE03#fI=>txA=5hujGA|g3Up_7pLl;0yGUZUnOv%@R=}SwfEv!>hCE?h!s(QjU zbD;Jjw_!2+51Zb;FGY;GCl!I%G|9cBv1bKFx(1sjW5qTP4kT4>!w|B!zkOfweHJ9f ze9fcw4O-3qSHpznTWfO&_)3u?u&uMQ)(6g%#OmiNsg9&reSO&5<=teB^a|^$xSX4m zt_|7j-QOGk#q9oSYnMASvd$Rl0QLAbXXf^BdH1dOpcVL+@@M1{=d&I2j&VM_W!_MZ zl(eS`F%tNf$lE$~oKi<*9Iuz8j`TiVEiW`fZc@MGT8H%3=tpVf6*?B4h41yK7j7)g z@wKt%!_Bwbbos@O7kBIq#hkq9{w53r)AAz|rxo0EQZ<*4M>ytBq#gFs+uJx$`A8eo zF`6WJVn=K`aapV6*wN16=J)dnBE$uC#ElJ>cL$yCbj%+bEG4SZ=9ohQr=dy-I8YQC z-ktn9td7Xt!-z?H1%Rl1Kp`rK>J}Ws1P4TvyB`F{u@N^69Mcs%ZOJY`Fc1vy2(mK> z5be8$wfE$+)6q_>x$S6y*+s!fG_(uY%%(z^Qvhq3ze{-3$>LhF@yJE*;TZwJSo9S;lGfdE<@Wkl_ zHx)xt(zqEba3P@scg=8vpwc zP)y^djm@!RQ^dt$A{;e;1c?$Ub2a6=Nc3%SVmgPI{G&w0S;P2v?McI9&l^|?T?nk4 zGE>%*4R)Bzc{N5SMcm05Aak?fGuY7kxk$7RNDgD{ui zz%PY{?_}ttvYXMvF4ZGjJex9R^Z;$c{GlOHqn#jyg$+F@oc^r=?xjlKv*GB605=EV zg8SR|vfJJ`oJ)W5lYe6Ts%CXLtG+za474zdQ5)vl)&#xr5Q{;(Dg)i|3|cQ>X3%ze z_=RmSd%&{rtHXd~@T+}ZYf?v6va#mld#=?wc)#Zlt>n(?SQp^NHkc-!DDR4WrKs|_ z&B6WKg3%ZA%Dbv&F_Yl$h3?!V^Z3Bg?ETxomTPk8DOvosw_BP{>xJmJuzMx=&Rlp? zvE^=h2u4NXUn!8Uke29-%j2KD%)OE**_-k6 zKE;F{ZwPeh;Bj{-KHblC(eiWNDd%K_n{%I^i>x(E@p9{Y%<7S`Jw#(5%>L%4ldCyI z0&d37gr-zQJMgtk7R+vcoG6!X?D*60g!>O^6oQSx*z=H|KLy)A$Pc=61GvlX3AVoi z?eCobsnR`|%v5!5c-B@Lt5;(&!tjnfa>t)cD>t8zDvSP^dtbJoj6+CHVfk}G=qbss zvaT`!e6Ak=odEFOj#q~7bsM>U{=rvl%MEJzonZURw7hZt8Kv)XWR{le^XOdI{q%b` zsO7C3hZvRPb@1lVDFV1oK0COM#gmh~5>YDp z(>%?lJ7e#*|EZw-@%dj5mg?+7{Scz;9R*OOT=TG1YaqY3=F`-xlVIIM>E^k83`H(T%yuv$0EL2I|l=!yw&ueJOJA;1hIu?*!#@o5-v;GGk>% zY9SM1{G1s?2D5^=o^~V;6D?_bC~dQ@673)6rym!)@DQU&D7h;#t5Xi3z6>UOIkk|x zU(z$HbHdwbI-i4G-s+C_$rtU$eERNcp$f3_nu5C13+$bmR<&&7Hsa`=$qg} zuY~b$Xf1e)fQ@1UZiVxm$LHs>3=}8wJ-2!|WC(1WkPmv^G^bS2VEks(~yVsL2&T5{$8|hD^a2hsM2>b-1Cd`=5=y8^LJW4eFroZe)l2+-puh3&g)`J-VhpF>NSS(F`5uZ{NH4f}1 zVsiuV>PX-Zx)@}a&bI7~z%vp~f&Pp>_Dk0|qhVcF_w#y<5JS{BzE;OJR^#S|ahQ9q z|70%@Aa)9>^!#EIPQNNXwYEBMXf^5;4HgIEOJ*F04JOtaf<%$xk983(X4lYQtodqc z(Yc-LOS^2swIranp)?F7CpVxqn~45AqY{u$&i3vkRs!9qc7J%UYUD1W-KaI{0=ni4 zH8c(`l`a5-i5kdDZS=`2%xSPL1>@o}&xu#-gWjk}__c=f8pe~Md z2;w{nw`_A-wt~P_?t=nFJAHn+m8Ncg9bet`^`s?USc1w(+NRj+gcK%2@*YYAn;%=m zPYxHx$(7H*348!D2SB{W1!-2>Uc(v4TefjQ2gp*CxFxH(dNpTKub@F{fEg?`Ls`01 z18A%EHI7oIVgeW??)v_LbSQ5wfGGgB+_|G0%Q*R)rQPaY^*>)4CNN$@c>Ei-ddEnTMw}}uSwS5bHEF1 z7JE9&FT0F+4adI%KCTNiQEO~@AixiP%zhJqC5-X2ggopsaL0kg=5QWi^e~2mhX`#< z4vNT#P!Ml6h}IGiw3rO^<2-WFoc10CCn;uIiux3%JsuUR^U@6H;rNs~RnumlYxP`a zGTp;qq`NT66q6(qD$X@LnXTg?cj;Z1sQPv)(O3m&QzgUk0>CNe8Unn&@+ssz$hGfz z2(c}JU8>o9%(EYwxUVLhH<`%ZErGo%>_$x;yjGaHqUMJYO6avbDh4y(iLTZ1%4r&! zjw(i0bglj#vA_$|a@9OR!H}?6iWwxf1sYBVx@L;Fp>gSd-oMT~E11c3+YMsm9j#C{ zwaz0`t`|NM2TrqcKLs$x7B>{TQ+<7Zuf5Ma9N)b5-}KNpnpIeg!>`GZxZ__A;BGMG`m+FH zO%dPa{!Fd5N|}4nOYSw*f+ewM-u~Gpb1*2Ee`W;M7~OXhJISg&?A}=h+Ssf=H5p8A zH#OI?EZPv8X>5+j+R{1_G*fA4UV&zq0k$*erxSCcZAZ8F_({K8)nYE3qZz!D7c$M+ z)51O-BGTz;fCQSexULrOSAP4N$7eumQa72{fa9Kx|8Y3J)?iur+Kq>N`wd^iH6tD{L#8pVwJQ^*aQm+Xnvx>!{UT91mOl;h zXr>}||9vDGR$y{GB(jFrYoPq`1z$IQ`1=#rlR1@g=a%H5Ne$MS%uH47rpVj)l^ZjY)WyNJW_o9fLaRl+^xgxY09cH6#uan z9#{N0i=QhN=d|;U%*I@E9av_i!QL`Nu0n^)8uB9eShCJUZX$Wp3cLmAv>5s`%aS2? z%=_11TwGg2CTG?+Y*YcQ2x9XqDM_d6armYnCx)=BnUcmFkN5>Twy_3A*8tc_ZOF3dZA>Rl?Jc?}F5ElNcU~=xZ&h?Y(9#=*tuwwtU8P&QW2Req2Fk%k zxryv%4bP63&2Ha>mY?47s;sRC+^JsY(CFH%rDPK-H`{;=ufMc2wl`*`y8Icsbs%P1 zB+Qioc3AV;W?;;5T8?8GAcw#HB^@6@OGq6chLt<&=kJ%~pkxx3+MSf?O2oGbIbGWU zopCc&ebeH>|JO{-c&7WXC&xn(=P|#7i^LsQv4Bm76dt*CrZ3v_fwNe*mcwj+L-!)? z%%S>TqXmd7aI}rYu=~p{^XR8jmTMbKCUd%fy%jk{VMuz+}lRI z_KpT-EJ0zr(4^O0Rhm=n`!myec9}QROf6?eANPg^Lr&~xW&zo$9b{;3#MJrA!Lasn zZ(_~RycR^wG2RicW#jD|+#M9MEm*v@LsP}jjL^_r$k6O3xJUbxR(~#jCBfEUx^-w( zw1<&9j&GQ*{2aLnvz1ijEKVbqrY4yXXhYs&RM^rhxUS8|Kg<4cq_g8ZttjQN{>(UP zU}OGAWA?zV`|10y_O;_}#A z(LGoUy`?<7$GtEeGX+`4U1p;w_N3PFrupMadrG%(0AadqJbtq90ZFo|D071b?`90t)k_1V@~NsFks)Jo215=4ZM2=&Z6I zBLo7Qp`|=3wT}_x2F3Ol6@p_p7Z&0e&W2?+31~WJ;KGi$m%wCefv&oMgq9E?aMo?>?Ux|oTx&-$5KXV(fg+V)1O@QzP@oKE4P`mg?KSxeY;b0vPR3aNL2=7JmGcG>P%yZXE<`( z2F*zK4iODq#_1Q^P^{a@H04CLmTz+|Zcm=eSFt**+-VnDuI~PBuSI$^l_aLGf#TygH!u9rFpP4|>)RQYVHM8GO%=|nw2#az*ye>_?M-q=PKWh$zsb^I zV~?c~zr`8pA!7a~tql1P7@fwr5e&xiGK|@I@X3C(V@@CKuqsRRO#qz!Qs=bbFohwg zGk^*n_~FtGbRyyspkUFaT|DZhw=(785W{(mH8MAE(e0K8@$;J0Et!S0&YFzeUv^;h zu!vydHrRIDU;d8d*}iE+-LN?m_x;fmj7c3EpEfpmY{5Yb<8Z~28#ez#zuuR4QpuX> z2KEd&7$A)lr9u|^H7FP!%*j{P|NhJK@S*s|pirFiF;Kj9^O)2H9u$x&4~i6K$d8dU zK0mwN+e?+CvDdw^R~WzUz3)(o-6Yy?Bs8mO?IU`=(c%!g^FR*9dpa;l7-LR z$`8l3bH(gPU1(C*YSyZJog7s+3W(vA3Su!n-5Ta}*^v8`4OJdH!9yB2H>&B^tIT5@ zlPz*?zkZZP6!is(9jxlOKd^-}|`Tbwb7pS{TB3Jv`r7@xbCvv99977$X%ciemXpN@9IdfrPNA6%>0 z8MJU`sw8Le8x1EAHgoZI)+%O^3G;ydM$!pk!3sF3SBxIBxVn^q7@38> z!NrEsd?}HhJ)UnEsGTmryx7-AF@nCXn@>tz;!UL_!BFgbWl%!)A66G9U&lG^U?}^s z+CC@;Fxx&T;j;amlgjZ*VoTG=BLdP87eU79%yTb{n4vo|_H>`xjj;wmPfS(y1JnpA zvAMt*GH@Cq7xoM{tha2#jR$7Nbkl)Rp$|aZ)jR-YD#c6f{L&7CrJ+*%7DlbU2%C)& zs)2EZa1%-zX0|&e#o=StXWszIQ&PsUl!3JHnSz@_tBXOSoaDcl5C;9!CKz{r65VcR zz1PnUCp)(PdnX+h?HPEsY0|gN=a|RSrCW5(Uz=T@7TDCe@S6`V)V3>lAUh29uZ=)2 zbihGiw|wlZQq|?e&V+CzYbEH+vh(7OYNIUPH|&)^koN@TD2Aipc5BngF5hR>=}&JW z?raeH$5!?4PjB{F%_ayskAKg3FqyUMy^U?;PIfo9lO1?XevL%TKr@z-|kjxkITcO z{u|UBdBOG3U-~ZBdRUq%A4IzFVpaMH+XacGzV0gH17|Tg?#Nz<0IBw8S$|GlxkO3Hd`Cv;O?5nOane)jXDUEhW4`)#-29g zzBTqsArF$%k~+Xln(L+eGq=M*VNJEg;Q=G1sm3(v@fMu%X;q$9<(LFMJt>Slj(fd0 z0Rt^SDv#S9+)wz|-Ff7gWu1DayH_8LH=6n2tU7wfD}46jkY>l;*VXjd0c7mtuzMX^ z_s=YDmd4DQ%Xl{hac{~jI7VswX6uIcJDhGp>;V|FFdBcAwEVc=T6u1&vG}am(7VFBGb`M9;hH)Q zy~1^AxMz|+#0tkre=t<5EbXq;#Sn(t3`8|K&5D)hhh&8u^Lb#L9Sc2ns>fkN@r%c@ zAfl2i7)n|5GcZHdVp!Wvt$Bt|HVtB@`bXy8(5l(-@!s5L9Lup?#H|0QaBg{8LJru3(_FER=L_o=O%vIo$vgEW0lV8{}{wg=@|YtVlXYKwDD zr=^SosO{Ft(1MSpvd8|vKxK!~4Np7%-$G>@f|klYZC5sO)c-OnEAm>bpuWqAUx*^W zE)qrvg$av?mKI|cNuH-2G$k4flCiifT9Yx0%qE91*TfEB*;1+m=mMFyo&$reVJqG& zTMFi_)HG9vk+J(MW!bgWj6Jxbrw^{Ee9OXP4`CxSl^b|x$7)WBSB#BKD^A`l0rxN8 zR{iVu?iQ45V+j2*Yj^Rw+>k&TrwA%eVzCk@^Km@Cif6Zf$c0xWxJK-vB4_;@xZln3CANKt z;|77t{NZ49qhhL8<=vVS-1dQW(}@3D<7}s zbxNOQBh(NBnF23F*DLV|=Z@je2?KPT^9CF~hT~~94*VuE%8)*LQTT=}BbQaM9f?tK zlHX}*AjhO(PRm@a1j>#J&suyh)kWMD|0Fu)j>??`6W~h$YhWseBoyT^)`7I>i!WU* zXcl$mkdv>sSMV#FNTsiB6c#GIl)Kumy6xmWsx7C^~b&_hgN{OSq}jlG57Px!zR+~(!5yKbVq6vA#x-fh%vjlzIkS2b%Bj&MZMWo5|U zt3|n3AI5KitEU-YJrWHYBpVjSAIP{FN*Szbe`QFO?~hs%1aY`JA z^6xJR`r5o1l`~P3{?tJLmjq50rMv5u+Zbt;~eaz@AR02q(=w+IGfmGvU04 zjs6>n-4oE%huBzE^@(?%AV>fgTj)hfvOcDq*sp~IUL9Oi+h(SbfH?(IT34P`%=kEW zbxdwud4?S-ki!SUOl~dwEWw&NnT+Gazu_i9yih`{6V3kv623u#Mzu_#Jl+inU3Qx9GSiHGIWx_JodWIVt16f8m6>Pf!2{M`;DBL&^D9d~D(#M7bQZeeCT7~| zt&>YkVg`;dNNy&OSyg?BleZAFms!E`VV>$M^q13F5CQI&UHmOgGAU)6^dS^n$I#{^ zKS#15AB~U>m_cU_=5sNHCZFF~s^~3zEyl&_1#&m9UBq8rw)0on3Zkp!j}QN7^HK;8 zGJ~V~XI)k=-)7uvBk>D+DweI)AQ)bf7cCK$h~Lzd-b|RXL?jkYMB+z8Vv~C!aVR3h z{6dax!}cop3G?6NeB3z$w-$us;o?YqGCumm$c4hHbRR*J zan--MCmd_q8;<>B4?fQPSFd;eyOHN|ULiD1{Kwi47lq@W3&-kR zsj#5=KyJf0o*F8f310g-Mk0{Yc%%lzXZ-5ghNh;O;aTmcdkqu0U^4Z2?{jq5kkrX4 zK~@|iiSafz^Tkw?AKf(+ACA<}=&p~VZF0AU9*5H_H;iLLK6w_SilfE{4AnyZS;(So zL$%6)7@y8?>0Z-x#GO;n@F_XWrn}@a+ju-{qY_#1fxvGlZT+8ETzWCp!0sFHeq!>t zAJZvqHt3~SanZ1Mi%Xed&JpfgIcrM&_%|YMouB*1B5vV-(oyQUtUi{|HVNlsr@Q`R z*ypUs-`X(DK-4fC(`~gA`csNM(fdpv)Ev?uD`6YfRJ*Ug}i9n5y^dI_TGm?+lHHCd#ZJ^JMsbxMZ*z`H#>_TS9|`& zn;TD5DvmAkr&!3O`1Q*_z`Z;*KEmO8zK2V<1>+Nr^t~B-*kout!Yi>TbtJcx9hq)j zZYoHfO8RNku!!Fiyx*g}-x2yvO(g%%m0z!fsyZsTtl`LX*tad>+gH*0a6q|Dl3rBB zvKgb(T%Dm>Wl&&n*9AuM@@T%gFof~r+V8s+(YlF92?$wrIP<~rtR-Rh><#I=b~1({XG*HDuVxuIEkC&+i)7x-i&=HO zBy)*LQQ#aFZ-zvwBKH!rg$WhCs2&}?eK*6kLR2#nuYx>IhGqsKmPjW)-k^{on8AFl zeo@KEP{|-vaxzphC@SeJKEZ1oN=aBhNQa1J{6;7wlraufG?cQ8N2uaA`EMN66oupC zA(>D{U-G&0?aD%30gdYHF$6u1Uz&I%;6=elf@c$sCG_# z;aFudj7EUSIbksoF*cGBrHk#d^JtdHsI%L9a$`^49er_V9$ksPI+Rj7X$!GqLOvc$ z;^?+goSOthb?jaC1Q(t}h`kF?+S0kPXQI1@qPB4yife2rH>03{dU(M3#tIIqplFKQ zaO}~c)@#uWKk`eklkAkZYR&=F-eKO;@ zi#keVY>wm?xbydxZY|$?>uHtcA1pkH&t;MlRdYC&6wM6LYXdMa)`pQncft)PrwhAN1kSOCS@=?vIOgvU7?HIG?}`c%qU#;n&=%S^G)VOd#Wy z!51{B5#Q4g@+R2Bc&0H@#=2)*q(Rq{b`F^5j8NM`W*`aisBuj^|20l5t@7~YhJD=d zanCu$MW`L+_ZcV_D#{K6V4-#)5AKj5zzVA57nF7e%ip>6)DT`9O$$#@Pc!osO>i=} zi-YpcaxF}ae&{T6h0e0oO1sf8gl9$2<~3F!If+pD{p(B6dAwY{*XYcQ{Cv(5b6QGm z=7&qclw^4S3&ChdzCk!)TLwo8*ie;UTdXbOt{3_;3S~3-Ge>_)W_n`$%t#E6fR)BH z!)m`1NGz^a#@+&bLh<_yZb{AR;Tt{UXv)T-;Oczdv{cp<^H4qOF(L7 zYTpOMh6<)HSAnpWNDL(MRvc=bI&2_Tyx1oFDXW3OD!E2$7GG2ye7cu++Xo91`Rag+ zs)3=z!eH75Qqz8onoL%fQ;q7J?gmoiw;457CfmwDGxZv9gXzKm87uTsqaM??1~9us z%pXWLmI2Sh_Ba?>iL7)reVz5P0!)lc{CL&@G#5>uX+o9UOC>e77Q490H1Sowr!H~} zPhn-IR|vIaDL}4dohCQ=0~9e(dF23>%%>%DAsoOs2V>`Vehqg(!K_!-kZ%_grX4qZ z#eP*xARwJ9%O^=^hJ!3nIbYApM(pou$XFok;x=xi?`A#J~w_!wLC3ol9F2X>r9wSZyrJp-SwbiR6 zPPL{aQ!?3YC>mDL`hd5tVJi0on#q$G@^=u#Su0HeQFOH&TDIIY&E4X3^_eg;@7sqE zS#EXGg_D?MbaD&2JO2Z~zGX;3=||;n-Fiy-;|nGCvcPQv)v=Gr5i0#7;lq}%5I8g< zuz(qaf}@ls(ByfGoNHK$#=&DLB!<@B2Fyeb}P@YnAmL*r0M7Vy7 z{;M~3afqqtEj-IGl`7xU@RctFA1kK08gZ949wJ&jACYsHUS?SbgP>8;#AU(^x6sFM z8)Z?Y>I;l!XX+A`fJH9GJMo`&2XF&H2YH_wh4U84tT5tLDHJjT?CW53gI8!R*b37t zgnGd*T_e%8-UzTw{DpB~1OEzwYZcNi`Z#ZC#ZF}9b2if=DKF!+48{Rij!6~%kXmM5 zR`b$(Xj2Hrm$^V<%G9e2^$0bX-{t)1lT2PkajER zgMr0)@Nu(vwV2H*WlkpwK!bP;2Fx(SCwe)!PRg{5hE3=SjM$5nu~%h;&qF^~)NHu6 zZ1En4cGe(q`Q8zS79)L#e#5Y-Q^=9ctm}H2^*S@)2k~o5qMoLbos8;1EPJ^TY%^RN z-`nMe-g#VG_?9^1%a&`arm)Agg<0a-0%u`0^CJ%H>_NrEFXu7 zi{qEU#4YPKY#d>JouS)?Zov91qlbTbJlx9Q&-%h$3(!qC4T-T%k;}^ zvk?TPJ54s2Kff6QI0Jr4+z^lR2QPtQS|YfMsx1+;0stMBI8fgo7EdgYAYe0p1uJGg zSFA!coANWX6RMf-EN&)Ds#3;5N3D)nEP^_YPX`XLsW@(&dTLd|kZ#m-*Gk^EbPT-9 zkca%r#cvRlgHFh-=#DD>75Lr9-QnzF@OdCVKP*Y%(=>>I4`j0|Eu`?0mN3E{59aAi zm>Bx#jA}TV%)%3ZSj~@sH2i#oG{kzNA%d=aNt9h>nYqC>_^jH7iECL}CLSj0Y!g}@ z(z?gObLa@Yxawh4-1&RO$$gfSpGwTEK31;k-T6K6@v2x#tXvU;B9M0jk$dj(lqZN% zsMH)&Fj^uTFOi}7%4521wL}s_LyekPufTXf_AdOq;E?=W`j=My-85&HDO#eCKnW~{ zViAv31ldErD%U?=ko8cG=Py8~Zz(S@xEN}^$53~4 z$4Rt(PlgLAyU;7~qnVZq8Tt-stszk&S1rHdO4`a&k1NZeQkEkutdM*uNSGl+@lk93 zt0afbyNC}vMo;P1VEMaT<_;GVsxLg6Oik`|#7ypK_>HrCu_`u5Z|kTmeO_Xx!9#b{ zKTwr8k&5aX2Ll!hZanJad+7dRL6|p00DG5EkWH`f{+-e#;YpRkC@XqvmI^qcWC(r4 zU2SwpCKE1WwYT65I#LWkH5wYxb19TX{91g@Xp#@uh!)*r&O=Gq1LzvoYnhVISMV@qlD&iyE@U+VU>d;8n@#|@qHcO2GaU99;g?mi% z;y@)N&{6v4@kdyXQ7>PkYPFjUqfs3*c#F1}E=aye7SlN?mL9c+l=xBtfk-IbzJ<3Uf zY?S)Hw;oIZvzm7RdAuTkneMrtXPFqWFy4(^?U@+0TA+X$A=Eo7RBGjrrp{E!b^zO& z9skCs+!>!nIsDMt8RhlyfC;Z6Zjv!HPLQEdb6`dcweUpPh&4SJPQt~biMK8j8~L4< zj2cHpd8*IQs1==21cMSA1q%Sk*jPv}`WqWh4wmm(c)T!EH$5R7ylA;d`MZ6FMgxsI z>Y4wPaTkR!RQfK_BD1WF208j!87;sV8uJ0}9T^&_IpX_hP^Iwlvn>C_+$hX6wnjBn zQ-v|nu#jig6f=@=kPCvu-nFWLWg+Z)fU_Efj5>G_AJJ0Q8WogA5xf+fyxUB@6v6v0 z?PDbX*@wwuB~&kNVn)~+9W}hcORW&38v9utgSEjc8#6q`YBwl0kOI5ArjScUnK9hP zXfh%R?2Z~kq{l*Zdt)yP`MU=`iG_%1g!1k))XB1u4Eunuz_!MD>_d#DmxTy&_(wNg z1nGsQFck3#bx*8Bw9qUMKCkBU0G6VqBJyll3JOi)%a`<-A4Q~8Rx_pg24Nv;*s>5o z!d#1m%=_8kEJWZP#6lvcQ}Hah5V@nyqaZ9KW0MRK!cK9LEyJ+fLi|C@A^F^C-qHdI z6d%djz|6PaZh@k~pPEFr2F=fd_4{V9e1SUSVYXAdGq;a)OkGbOJV(DYW@ z8lDVmB??Iwta}YhANA>zVXyw_|1BBT>~i#zVH>9ZwKD8?{zEcs&nL*R>~kDKhP{IF zf4K~6wmOhu^Z(DwumwyPgr&`((P7H4eT3(%i~9(V3mozyhQR>wdYRyfnQ&yk@w zFtWPCkzr+D(E8m;V;Sz(j{x5ugtaA;Y3# z9gYn9Q>ywaWY~Nw!}|Y+WLUAdHN^%G{@2Q|eK3Bq46D3i^p|d|nTfS3t`Rn@A%Y)MIJ${zcAK>MQ`ct= z1v_?UsP(384b7%9zIUXON>b<{`V4QN8MKf=N@Stm19pL&dNNh?Fqb<>7OUP z8c|0QZAGgUu@KLoFo%+5@nA-_3}pn_vn9xiyQ@SI7j?i&9x$Q?axCOWbCfuv%1E+E zD%#WVgxROPEpx#iD!(>Rx6o{w8#xwvh7Lr2+$+b{8)cKt%V7B%m_tz3-SA$t5>;Q? z9_wPufWv>w<#nXtlV9;R_PRr*Z^*M(@I_Gf)RfV=j1p(HL~Nrk|0}E58ZpVN@j%1P z$2?+XCT*l68g?SzVljFv;_D8Vb_xW$C3t!0tZT96%s5!A{hd4oC19*67F@`jis!l7nc)TWfW$-FVx36Y4)hj}AD<2tA7qf0K`ZzXV z20%ky!Zw3>181y`B`(ADE9^bkUKzanO|Hb<4?^t1xT9|Rk+=<^nz5K5R#pGE|I(|TM3XD!P*@)nR=|ei@`*Nd*$ANhLSEm zVrxVY&M+BSNwf*yCklL$p@h|EtRzBRSxFMq*=r@~rFX)LZnXxw6_ayKv3Xf%cIiR( zA}z8kD+xMKmWiZZ2vk3aeZ+JC`-mDn$Ued@xG|2D2r?Fz5INg80tVL6vp*)!$$dzoX)lwF&k3<1FI;{x5@*c)^w-@tg4MOpabn}18BCd9`Vf3^KH7)vdxE66$^GO!* zE>q{>TEsQSiIdJhNShG8XAYu#vPJykw25AexH8FUMNC01RI-TkT!-4g%9_J0>QflO zjqR1gu#dk$32PsJ^t%J?pQ)wh4!)V z$3?Svy>Fvcwc|9@XC+tEEj43ca!36a<<%Li*}_9IWKlQNjvd*-p6b2pu_d$0z#t!9wnI6?)U2kyb%NpkNV zY%?#Oa-kVXoX8a{^50c;8Q(ljp9*CR=$a;vq`0P_g70|BF(fGkbe-SQ>PYSI;!p&@6t4y_|4WdJS~F_UvOGYXM^c69W|XZdA4Phul6dB2bo>j62o;cf$S33$uYoLNz&Vu6&9KTW>92 zkYPDyS5|ZFv77~W4rDnWw=0|BHwGGaRFJ|RzZtMAtF8~^H$BXC)~+m8tB>84?d3Pk zl*{m&r`HtoCd_K)x61d7$8Rn$Zn~Pi47<_RtmZ*mvu)%(h}~o(bFYu?-O9<(6eWhA z+o#hU#@4LHxW?M9v^x6nn&6j%U+HBwAG0&t$7hPfXIC3o`YSX?WV4r!+dqlD48A`r zW@l|zb%X8CHUodFHDY=z!ZTV4ZNz3|tTLm=XH!>ycB6Hq;pp9;ee4{|UW624FDfhc zqWT75FG4QMUIdB9UY>RbXD^!agV>7+8Q|Hh>O7m(oodV-bvyM)n^8IO76a3vc#ArB zDBfbx=WuvS9ZebDa<6HVoi=_4@|I%Kq|H3UZ#K~ei|dtiuz$}jfjL=>MFXyZZv*5( z7)y~p!&v6gQStYlJmq9C55~^r8KGYN$4Nxo6*+V|a=H z&TtCP#8uyC;xceE24XF}WZYvY#=j?PZv?N(#AV~Ht*cI+J$7GHRcJ3=lNp?0E3pgJ zjM;$wbdQk?+)p0>fwwo(Uz<7G<0PRTqrlkZ+mDs>n7(F=V%-21uQ(f4^8T`ctR!23 z(V#&Nax`}Re0r3XD3z)fjbF zd(krRSjjo`0szfv!ojo`Rozc}aWx!hF9slY)Z4LMZZbf7QP&4@6T$3plTX%OaB&#K z!RIM44|J9_#nfd^d|c}7fJmi4V>!eQNH<@N#!?`-JnS4~2c+{e2Wc!SVL6ny{n4kf zXk4>27GZopE|RUW^kX7M06RSQo;|r*)}DuGwDqrJA3K5U;H{5d_a03%>_gr0_=Cqj zG|d_IVP=%it5w&*>_eUJWgiPaZP|xv6#GzF&5S`C&qGvG;%O&(wCqEWc-L1qPyloNB>&k;y9kV#8UO|6OIp}RN1RnX1EUqBsd_-LzmeZiN=O=xt3ing;?}q^b)4bb z3hJ;w6V!o-QhUj+FcD#Pc@?ICXbzljyFn4(E?302^lzM&IFQ=QxlQBOOmQci0Vqwh z`EOwkntLH4s7>J^)OaI7AlNmIepqC$Qaz}HyExr8w~GW6^a6eQe^zzq^rqG3hqaoaZ>z_a_-L-yoN^ujbRROQN@W<})DKQF{te8o7CrA-PH zLUfLq1e5VMoY;I|SOdErnEX0TcrM1sr;O7+MlRm;#~}J9&5>afak`eh#>u6Jovg(T&W$^WAoZVD$8j&#enIonwjf7w({tc zNFz@0DlWj}?HKd+A8qugA)gC%drpq-y1-er_7@b4br3tE;TU&%9tU1`9Efdul<<~0 zr3bjaWcs$&p^LY#R`s^>i@RH|@HKPoYoYC~v$Bo;Ix9Pd(^MO`{56x+*E%(~VK$3R zFGQ<37&rqjo!Z#2yNR@?kC#Ry$<(Wu9PKp26W)nUrr(uXwnv-G-E^AW865hf$ zY-j&|B(5xSpp6l*AYOQEI95~CyQJ@>t-p0ikNclk(mJIeym216Y>rM|&K^(j0PM0P zX@F$UG{S1aOOVCWB<%GP3ZnPx_LPd~{krsp&-Q}U9OCq_c5VsO<}fS6H%SF(qDXYL zxwx3L@tZRfN4alW4y~T!|rNbx0zToiUdCVsNi+NqXhyw3YK3N=CLOENIae9?o{LsUCVoI z_?)rkp5BHbiIohLk|UrZX&MJZX_a5C>TZm59EaoL1A z=w{qvg<+8kkAk`q+^2{cENnR5oyN7eCV#&>anW?Bu22zy%BrAmI^Q4O1dh>b7N%~L z4FwvMCEaFUns_OpD1u3}w4XUG+CAF|i5?oYHGZ80G~mVFIt zF<0gaFO<6?p2JP7to~=@vcw>S6TdfwcuM_Ibev52oBG|EdexDtwSnzuFgM?6F?!C# zbDS1gKtm(&%L=K2%3CwN9Lc&B8*3&rjg-h0=?65+zY7q8?3l8xEG zRV2>$fU8KoI5=>>2G>D>8eb!rBMM+hWIyT{JQR84@TSNkT^r}o$k85oJVxXZ<*z!| zBda`D>KOmmeE%PJ-vb{-b?v{CU6KVNvq*q|Q9@lctEkxu!U{@;?2=jCK#;!`s`SND z5VfdT0SOS?tnOqPYl~L;tG@c4`hK>)7F#qz5!g*638;`i6%Z{3v@*-8{8RD=$o{_P z-r3FO5B}-%wf4tHH#2u;?mhRObI(2J+;h(XQf25XOT_ZG(S5{kEni1kh-!5*_Tf^I z{JTVSGNBNskz(uQ3>F_wHk2%PtE&->fKIgXV%#H3Mwk2aI|~XVMHES zhNZF${d1|Kosv4m1oaMa)hNNOI;P?wD7L~$)?JK7Dcqz+rId`p={y`4m(*EsRQrte z+>H8NO2nl!vnnw2K)^KEV146a>oVibi{*XMDh&>=!>J&I4tke^7ifrjEluxP%G+|1 za~@O;9`H^@L;>85lhtLW*t&7NNsNX68R{JanKvivCrjMw1RO7SlK2Y-4V9I3g1ScU z5!059OgM&EeZChUa??BUk7)#Ss4xID3hD$un#VvBoa*Rt^g2c)7j3aZ=d^Pap%Pe;;U;Ra$X~mbX_EZ#L`8wPef3axgK%%zL8a57qVZh9h zbvVR~rHU4y9!pgsIlb=_NRr4*AG|kP_H8LcL{I}(2;|ImEi3^8{6KpExyypCg$tDY zg$shNyYTm}pv!`@&=gvC^GM8UkNVup(2zXpR{B$@{7uQX*h9Xp>!~uFXNFvWaIfWN zU{Zah4}B&F{m9X&WIdX8d`A#`#VzLCAJ@!zrpaeeB%cwKH_LS8Flm-MTefVJn?4}W^NOdd6UFv=3 z5N)nm2>8p;|BBRl4Y?=|r3F+U-3|#IHTg~ozQcm@WB@}hR^Fb1pvXe_LreIuxo?wL zIizn>_)H(=nI)+4MN`R@#G))jaq8e3(2_m04R`~~1N~}0*)s_C7FG+RfMF@u?TYN(P!zwK&w~6plOguY{_w67)Ox(=|DUZKP7# zLt1~-z3H_-ZrK*Oo(M%(&+q!#@A^I}nhUBF#a0Ta^QC~j{)#=M(2vH}k`H23|uu2tqeWiYRX(27OUo6kb~~E92iTW%Ws->KgwVJbVkH zr8>su%`w#aDJAWaS!*wo)vZ-fiZ)-4w-(g;SEKkpe@xZxV+rH%J<-Fdm-IQZ@6_*< z1C08QY1b=hv?v7*QTV{(YRPs`RxiHl5Yi0`wPjn&P$3qz>+m(=+Y&`0_7_}?Yl8kF z+#quW!rM}@QDxbBuS9s;JbHQjlVnPJ0O8~xN|BYVRJI`4Bd$C9D111Lr@mpCrou?f zREwNOl=|jLsu_uA!<5xXd6HVp3v8wNiz4V+j7A2Pfkub~fs!L{0VV$=I2n|63L6(d zIgPjs2PL?bAg6&tidIU}a)gq{u+cR7*|1?Bpv$l!UGL2pHdP-smOSQ>lgKjKbhz(6 zNnH|C*mvQN(|7{C6O^N?jZ$S&o}=TGd4pj^X?L`Bj-4~05*Z<7{G&eyd9k!c$Ph$% z)7jg|V1z6-tWkNq%J8Qr6x8wO(6iXYvn{u)tKyIxNlQv&OnIq7OH&b=co(GI;yoO7 z7yvlb`u__cG#x>kTM4_pw@I0EUge$dkvT_Q8gH{p?|GXhTZ_`6_kABrEVV~rqmPFF zFZI3Q!NFx)2?S8}I<)VyzZaQ_zjEC_altNw~j$Ts8 zbAoP0Y%nvDh*4A_2W1)~f~FMm4Cg%07)ay=K*5K`-ncCdHy-5}=?fO^7FelBim?RB z2fv61#4dd8Chxm=5o%56i{DFnkrunei;*GBIMfAtOvWVW4SJe7O3X-^>XhDKPllW2 z%t}E@Jx1a$$Iy=pwqac+Xf)$pu^56xUtEH*bjPYG;aJJ_ar$R7S7#iZ$)u%a;GR$Gfd5Y@=)!cW z5ZwI;(wH;$WqdV0!@J-Dlth^W^%-tpxrF0+18XVy7W)kG=#wakCU^)KsZ#1WC3T

    S&!QoJeQ1Wg7uC*|?4#wP>i6xSz1*PP<*oSKjyD10c5ry6A`#rNuy zp-u@aD&y|;j=kVem>N2FA52}?D?aJ~L11!z9TK8E99;(YTP1X)qRp;=7u;hZdeaxBL`4&ZwItf8@8OU81#l7n6_&n^gD4qb;_aVnKYfL%m zpk!smn8SAu~qOzQ6)d+y-^nsl2k4Ai!oeS+00mlVjRy zH0=+0-;{$tG-F

    J?m3BKuF5j6+mZvv;A>QM}CieTd=a%_KnkLgKGl+QippE_Bp; zFOpQJRlmOr_x&Ra!7$i&xoUyPKInYg()I03YCcj%RoAbX0mT9QxB0H#JAECD=|TXy1}HkI5<-Kf=uz zVp!3%R8xCQsZv~)O-J$2-zWxdL{-YVwbUTKVTwVppp>Y$}S1yzlKLHy)l7c7N zPL!e~gqNe2^AD-d>hct@aAdOvp4iv_!QZ1VStaU(n5OcwTznwD=30maSRf2)UX*Vy zyN*WApM!_mo%EtUMzZ2Elw5;5`pi%Q+wxX=$AIKa7`4G*ioUHO+#9?X`L?otcrPSn zKJ~s>Y}4l$t4Ib?)e;Pz;E%!BC#-f0?`tX4LU1Jlyp&tXHj3mpvTr+G8A`&SE;4Z1 zPix0JqClIMbSB)=OKWPG#e3gbdQfr^S|Y_rTfc+_iZr+E_lK5W75NX!IlHEstk?3I zGt@QFznqX7WMhd8C`!SvO zX1c$u^FE#K2jkvZ@eIkh_E_*4szdQx@aqh|Ko!WU`WCgX4qm(nE?vQ`REsnCDt(NY zWwRDy-@g34l3`^`GBaRb>P8a2yaS9+5`5TxV1L!ogIa1}*PxxMz2S}#zK>U97LWe^ z0>!TEZK>+|1RCb(`xYqorA$&sf3MfigwuFz!s8oyK7MWVeUnww_ZOXh8=*799Tur2 z#H#O)yq`$PIYRO^uNJBh4$hR4Xt*)lKEii+H5$&Cw!qh6UZ70t$0G2Ho|6ltHLc}H za(Q3swsQ2yDNe0nsj$N7NJ=lAMNTX%9j#b8bj=T%Y<3f3H~Nd1zQDv+zSg0~33cXU zzRu|?jk2pZvAK(|)8IR5i3>Z(AC(tVo+KejIhBxiYAGXl%Tlvs3)#*f$Svd%!EE>fyI(?q5vT3ARALV~ zS{@vkkf}27K&p~fp+xkxrg+mfVcHm?MqeGY5;6rKN0Hz$*(Kt zF)0rkJ>d`{_ETsyJ_Jm5N*V&4ocJ(E$YFj}H}UQwSuIMDkiS}180HrwQr9AHZ9xnf z)^znaEXGA zr(V#f1lxD?u9S=GoeE2uJP3pLF|X1Im9Ymop4S4hw+A^Y%mPBfUMDRcXTn~cPKk{U zIjO8i-TgL5UKc!6ft+a^3GKn9T{qz*ol+ZZ5Z7RqmGs<3gQd3Z;2ed4~H!f z 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

    >Pynt+#8W^aQoa3BLGi1RXAlkxirj#!`HC+- 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 z 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

    7JU)j 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 # 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�<5M1L?$9TL$E`$xAAUM!f{D zE+LxoWS!aodX}G!itj+WxszPJiY3g##5oN29Hl&CEs>WYc_BBG&C-dHGaDv&ql%Ukkft$JCTUe=x~?a)a( zb&{?eNw-$qqZJ!80eE>0QPe2UYm@4_#TvSQrnNxD;ggO$(#@IlvRC0YY9TW_z@U|M z=w;1?L|rLSSw)o8%L`g$xt$U%UfLkf?GDId`H;>oB;O`e)T5I%mJnt2a(!1omNiZ~ zxsrU_Op!q+Ybqwn>*V@QakiDO%F&JVW~=@2;ucA^HJ{|!sYP9RL}i^^hxw_ToK*sP zj;y|d$nOluB!}I8T zQrJ-{*V?+O#SOL6Oeec+c}1&;^t8++3Jo|Z=q@63);v`}bCoQM>yRa@ZVFJjvvP>y zE&=I->#f|?lA2}_$u|@c8aszh@z#43JIsVvjYGM~_JIXQ%$<(wri z!aP;d$_`&r)X*p*1?^Q5l^334&(0+@j;uT)+r_d_o(YHW%haBRGO3E+RVg9y_L=}v z&{8iVg^f)@QdHL}AjQ=kJ}OB?x3@}Giff%Li)1RFwt68cuI%y1B=l^Kp2*@ED#WC) zp%qujikZ$DLhEQ%C{yv<>-@=ps&3Crd7iCZE|KMqYupS~B2rw&aLOUFJUi=zq_oJ| zUN2YkTbq1U@_e>!flMW6Y~!nmT&`8IloZx>d1Mhdn)P&Zxr`As; z*E=vOM5MHk%_^3V;!-QSd>QFqg*oZuDnWghyN1Z*x3qd^5gJ}+gRh#0LToJhXB$pvaD1i)RsPze+2cGJh43&2KO`6i7&!&aJ)8 zT_-2Sg)z7sP#B;hvILbZ%Nn0-f)wXFceK0YNl3YdU(2+q5M&Z6 zQ4zPNnWvMHvK-GwToq8@(%NHJCdeX4sm`m;(yG=wM@GuC1?3z=i)%harxq1Dw{_c> z`cYmy>zURyd@b_gTfxRv5}kLot)b1aM35~fiA?`O*CvKlJufdnO^`AzUT)vnWmn;& zm6C)yK<`m!O>cH76lTdGxL>hTD^AKZeuZxJEJKG~m6u+W32~^!I-fGf76!A~sT9wV zs0dP?CCc-x=5+Sh)VUW5vt=Zql4=A+t_{#W$TP(`fz-~_qf@zeo=_u24k}r;NY5{IskiOKku6iA5$Oa4-lcBU4vn_$Ohb=l z8@s`=%Dsf2FVKmyC2BbeMtK!${BwN^y~x+scBA*_qvRgV(N)$F%U#2v6^=($Ql(qBryq&jq zuYi9#YiAVeeR$zo?~FP#HG1BYpK~m>7yCL$W=?zeBWB&u{Y$G?$o{cQApA6axb+U( zxb$nA;w<+3b1Qe(@wGDV?QG$vl9|pn7B-PM*ZSVOLtOTM`^1hBse1SL%Ujk5=hp}# zzva$7llh)x|LEhB-b?Qqb9_?dXy-jdcqG1m^qEXXGZR2kKJCdG+e#*r? z$G58H4|Lo=Z(lg~qbDOV?)HVb_Y5f+<9=S};Kj6}-HPb%^u&GG_qQWg#GY`RwZHnf z)3rw*2JYWoJb(Y9;x%xjxo{StSdj5#&=*2C!59>Hzs80&Us66t>4OB={h9x%9Iu2@z!g%M@XjZ-!OMb=)`^A zsi{c|Cx+}F7ZUM=ml`jLpBQq0O-qdz$0v1gGBPgH7%#TRAAh-h>EX8JoA=i=10Oy@ zd>HODYn;pXw`uH=K?f}(k44~z+@85du32wKJ1`}XMvI)wKJ>wijPb<-CAqP|8SVR5 z>~B6d2iqSxV&dg1A+*#NOG9owo&F;9#mtFUB80S5EMj6(2c(+;Tec@Ig>@|~BR)yY zc##qE{mbo1u_x#gKMV6;?yDK|wzXSu^7gq&@9y**vt_*hcS*NyNoG5+cg|-|$y{

    x}u>Tp!)cvo!X)MViYVHhz9OBk}?f^3;XXQeESl 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

    (6klhKe>+oRF!Fzy(u{_8X?OI)amti9)L}g; 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

    h^d`{cl{``gmJR-5%^G>59&oY}a zqq;*0Z{Tt^a*!wP(H+L*MMtWb!<|QWhf?0o73}5^Cna@<)Ej*N#Vj7WXLl&z$1LTZ zdv}Lc<|G@}jppmV`o+QhoQKb+bbEfO_3^-N?|D}5W4pcQ*|-kx4n2&S&>hn9jrZhk z?|Bx-)4D?)cRZ^*B+PW*HMu)Xv9z;>b}mxvo-J;&|y2EsScSCom;IbRVm51CU4qU_yw_4X{c6*Pq>(9;Ip_oVAq93=r|19VZ zu|?`&mh*AsZTibEZr48FnxlPQd7rrOq|)wC%X?VQ36JRylpQ1cZkf5 zj$Fqyu3|3tdtM##IaYGd7xbUES9FJ%yS2N>e*FHWZqEbtx&CGGVgtwA6CHV_%D7pz zSigDQJKZ7fUiYOR7#9!!+a+)b~8+>Fy4B?C#Mo z9@3}2`T2TzxKADQi#wt7cj^fZe4GQ^W#^tS?lJ36 zLQj~>8rE>n-FiYl?_<*Aj%OCLNA`qbe#TlJyn9dBz$cjegzq~Od%_f6&H4O+%XrKv z?XiL>3)JZzJt3PnvxIB8oD)a)gh4*Z_$Sp>lJl{eW!zz}p3uXy_U;K2pK{zjJ)xA> z?APOWjOsI`CnP?t&JOGex!g0gCscFWBYQ%m%=etf_JmBPoZ1r>Fz$?=(80EIdP3?# z?Oxau3c2*Mp0I*xGxXyb*UjsDLJk++&=V?{bdzy&&zU`bx2W!K7H6JZU>rPmR!qqF zt+Pzz7IPfW$;@S72}jJ;Po}ehXEUZsKbgpj@9y#YI{D=k{?1Z9a!*gFVkMVx;9lck z>2u=!n(rT<*ABmBA!A<99(!2DVHL*DnT)*db2`WI-X-db3*VFv2G()eTRkD_4d1&| zizDCpKz;Gt57i;B`beC4@-pLG9346C6YcU0mhd@Na)(c~%g-3I#C&HWn_03cH{aB_2x=VZDLaXc5cs6Sq{ zRvdXqt8sBP>o~PdocIgl-*q3@Zah40oqqB^7O|{DU2sgN`sR!5XIfWJh^x_Gj^W&H z`DSuYPngbkSi%!~<&Ph+fz$i+m%FWZ{CoPzG2FA?@m$1d-2WHtb399V4l6mGwY-P* z%=p#$xb!#uUuu2dsC{1ayLrRi{;)qE8W7j_JM{QCMweB}I zYoE#gsS_UK8@!kg#Bqz>kjc?ey`Hn_zL6E2%^Jo>_l7!t&sJ_TqBjh1EMq>jUNez% zw(Je5{E!*!|p^<+|_=3k`0`l&>JG3m?uo)`J?rR5ANCP z{kG=iKF;&0eleN9@7o)4IXa~`RPlH&<30QLhN$K47Z2$59^2^1&&+1Wf%?PFF}fHd1TUg>Va3VhQ*Be+I8l9@#251WY-18#Q{du`FwYw{xFSWcplTa{YAZ@kQcF( zYuUtU*^c`rI`R~g`7+0G$yEL2tc!a?J)dO)FA>LYUB8&l-E-uHe_yVix$uhK zP|J2^eDCwZ40XYyZqUvT+PkqgOIjsvReV*^=x^h^b_jAhAgg)=*G+$5d^V~*xJgYC{^U4eRLJi-zyf2Jv zHt(6qldkLw^<0$K7m`}sN8O-3wy}sYH}-{6p2_e6oXOeDZPm;p`{mXT9}->3nEGpXUksUiZnqu!7&S zgZDhu=RJ|)^K@UB&QDp)f-?E$)P;Q^?iY2yG0c0W&wC!NU(d=P-)23pDenvMznXW? z^?5E|bfld5ocz4{5H_%(C+7Yn)5OU}=OS-~vU@H*D=MV!d*n9YBg z$C0ndCy(L+Ud}2$%w>FwE4i9I-1}AW=f_O{L;Y4co*!}nvtLtRjC)=C1LDav&f!Gv z^G2WdQo2uLCHGrwKJp31{b`+DBHnzPdCY!OeXx!VeCRFl`^);laeTO1J~-@c>j9Uu zgQMT+^E^EFDa_yz@5&$lVHLA#)Gs$PcF@27yeA(#c&U2h87$@vEMo~5vzp6U&j$X= zehx75kNRRfA9>&Tct@@Cv4+L`m1TVO1NFjpJ`_*>!?;cI@R9k(zm^$4_xwb@IqXw) z#0wa^+5GrSy|CzW^~afCh&xv@X~^}CY3%1j9nS>kKC` z>R{@tbN~8{ym1!O`69Cz^{sW4M{+(Z zxtI-H&QrcqcihCp;CrZg>mK*{Ufwy4B^+QaKl(u){BN;(#d9K%Xp0nQZT-a|r*ZpF9)QHFZSSnqv}#u2?f)brRa*N6BmM??ywU!V!_8 zl=UHlg$Jw;#jH7Kz26Ith&-CQ-tPlPL@qpRz4sK3h|D^2eOSOFj$R*{{zuyRfJIfM zkAIjuA_-1Zwqe;el_ixL6>U_u4GM~iib_dpH7S)97L^s26@?jFsH|&6<<@-5Eh@LD ztk}|ZgrO*Hqt=Rcttf4y00qI8-K_KbyyxEe!*H>Ep5J|*;WNDFyzf2t{CUrxd+r_h z<+wKGNs4#Wd)rhYY#raGs^NdK+EhE7ozte$hQ>Rtp32j86Aro74V zj;H4n4iheGQvo>R@;2o&+JH<3R0?#<-?uz1JzTiV#C7w;H*8|jC4m$dP_e({c5 zZzuf7c*jZ0C?B}(PRa)!T}t`DzurUn{3_mYNg3A<*W5?>K*#-*&r$KbKZ){zGaqPE zrEueeZ7K*4RJ5stlz2z?D#GERzo-1*&ub_@c=JP)-|%=x<0F(G{OVE45B_-_Z&S^1O>LVR@#}a;?wjNn+_;JSg0ucge!;0gjPkRR1n)$rI| z~)nnV$=u@Z%&1+v)WbKsqv0!>FsI> z{QB&6RSVBLr(GR@%QMhF4S#iByQ+XYF5vv|a&NmDIXd2vH=$h>!^*67wGqAr8{v0w zCmfdDt~%j(m^UWgaU(2*>tG2?n223i0{w6^+z8_)VFylxJK+Pc6MhI?WAVp1?J5P% zfurHW&r#-+!ZXn+?@FTDoo_8zt z3_gBWyXu8M!(r!AkM8FB;J8xk!+*k3IO`tTAFL|ldf+9?X`koCJ4W13Il^PhIX^t@ z!FH8?KK%>Kfr+cA-!KRR@WJ0xf5+j+){qY{{$bJw?|}#4|2;}Qz98Ol+hgPp%z1)( z3NL+<^!*n9{xszVSHK#${ZEt=eCU~Wm3krl>2s6=y!3h654`Trq|Zya!9qB-hWv&} zFVn8zr?0jvPbTApjpQSoRZIHD<3C{v-1Anunh&>cqW!@C3y`ny^{wR7gm`|hgY>~~ z;CA@qJG6r=+HoWG11{c1dBPjE(+=QGACSIm#tE<#p7{~=8n(k;=>ND~jhjfn@d@<@ z9`z5>H;HiwOoxwtj^BXAUy$E0{cGAEoW6_l${~NgC4I00w!){rqueLQv%X7yLr(|o zAD*zMT{))EA9s;H_&8h#zv-s_!)JTQ@2U8?e^bBVt-aJ2_{oo?FPD5eK)%8PMZJLM zI671#R7QtNnnwRJsDphy@s58abnqUyc*nxSI@E~i)JvEFzk#{%oWnbm4<3GGhiZjW zj_Oe9Gw5H3cc@ah`{)j}9o}>d;c()y9cq3addGFBO)&lV4wWzy`)~w2`h*Tu3_pZH zcPwP+tc*}J3XU98E&g)QF@U@wo7w(zOd0|OD=Y>-*>QH(4 z)aQ#k)Oz?M?1eASA^jJT-U6;4j=rQrrCrQ;1XjVR*LA3rIrIx~G(4n;bih%INhe%$ zeFwjfi+?QcP~HOk8_b8F-PoaO;Pjh2c)uIvwxol7GL-Kv9sDjX*9#lrtXm168}GOs zroxwC4*V}%1ZUsYp~~U!@90p~FyT)0;J@zTy5M{Fa{codPry{@-iSV&3m3to-t15n zu%xboeKOR$Ao&7~w>wljyb&hNr@p+$^}#hCQm*iCA9biAnEH40;k|GJ+zGeC^LL;R zAA(7j;+NoPnEx^Qa3d^&?oZH%i{S?N5!?<7KSdv&(~SOQl*dl=;kM7whe=!vgrm zQ1sy_H~P>>Mjt+P82T`682a$=W6)oKAN@7@u+)P-Jn?w+;hpE~QS0FO8GFQ(d12wIJ<119T)jt?!uK9RA9g;DKK%Si^x=x9(7%%Wcp829 z(+2e6J1?OR58sGBEUiZ$u5Ume-un*vaO}J2U&Z;M2VSrZeRv1-!40q!_CP-zxgC9Y z6KsJ`LC4kj1L%Rn-bWu^1buJ?EQRktKkS78c=zAXhc7|LBGL^#aN!5&!PZKU@a`@O#(-^Zt(hwe{ z+o1=3488DI&FI5LuoPB7Kl}^^;E>PIhXv5Fn0X)cz@&em4{w4#SPx6#ng2u|=D+}) z2V3BC&~ZKfa3}iE2fgqQ&M=|XjdSG4)`tW7wgQLGfA3hHKaN^hK!wT2}--C`DsXx#I&)E~pM{Q_ z8Q(zsC6iatCWw!oXAV+r{MJ#aVl!lS-JAI^iNa5eP9zrz3= z{5|?G8#->GUx6OD3VPxHK_C1Emcrp}=)==t0FH+(@P6pHm3)LAIIJCgSO$G?7c7M% z_Mi_J!T@|1w!kCyqJJCnKj?w?Loa*-`e1S=`mh-K;kPgVFX%!a-UA&a_;2We|AAgO zW*_?SL0Aeuf_|9MjXt~|w!qJzV=3e19`s=)^un*952o)&AHD|taPSZ4!+h8RpM{Rw zIWP3U+<&7FyZ?he9RFYR;fK%<<9$X?X~ zOOp2T{zv8;&;tWQ(T8Uofj-=QB>K>ufQM<4zGy)f%+^x@~fK_A|ifj&I$T=e0Oumw&( zAN^A170?40jzb@IUw}Sbb|L!kMd*h!C+$^1xCQQpr%m3gT=y`3f+OMdDSP>yZra7v zy{Zt7%iXJ%!?ULCRqNq+7=$z7Zs>!qdzn|jk??ky1qV$>A8v!?a3`#W9k3Dp3|rx$ zGxn;4GOiz{!ZTnFd(!kJ{)oh`u8#ZhN&=dF8c6RxCpkvayV=r`tSnS2(N;za5YR=K|ak#A9}7p zAD+AbeYgjf!*ds+50}G6xU>*`c-mFy-%tMvQ{n4ZqYuwrgg#8T27P!BtcF$Bq7VO2 zgg)%L9{qCs#0}`fOqc_QmY@$Gh2`*srRc*6un``*41IXgz3Bgr_61YnmCMnG&#gco z-g7_t@Yt2;!?&u?hu1ucK3oP99-uz2LmviU4m{(J=)-$nK_4Dni#|-*j6Pf%Kp)Po zL;peg-JR&eaWDtIunT?o*>3dVuK%D9$0T&BM)=pnPSpzIlR8yG1>?Sg4ywnNOVDsmkGhM|G-dcy}uLa3^eqV@^STCG!lJ3a>g9efY%~^kHin`f%r2 z=)*DT=)(tKD}3X8^jA@CYI=)(;#%;cwqY{}JXFFasX?4*KwOSORx8q7O6PMISy6 zo1ynT^x*-RQbjtqp%0U{qYr<4AAR_*5739FG@%cdz-G7w_QHEVME_Ch*+=NZBX^(= zC&Ci=#>eQxq)*U?SHNcYBJ70|K1KgA`c;?#7dN91M}3AqY=KoU;h*Tk>tQqe0`|ha zJJElfal_~6!{=ZDeDMqPMgArFa5t=lPqv^B+h8xe^DFe%QIEeyA9n3RA1?g{eHiyG z`Y@vveYh1i!}GpJAKngA{z!iBMIVmtLLd5J2~6!lACBLTKK$gEF4YXT|GG={!p4)k zRLT>ygEPBS2HbL1mnwi;)4Nm&j6b_eRl!Gp)1_+RU(Q7z_GY3FU&uoLN$PDj`tZkG z^x^f>(1#7M3eKF4K0IU&`f$oz^x^J#==-^k{9S4{eD>)s<$9X*J=>*5!au&y#rse3 zhc9-iLRj_^`f$yw=)=?ALLZjH-LMrVtY<#Hxl5(OcmLX@a^MeJy3``*3v{V+_{i2S zRSnbXx>O_lYeSc6g;%_d{-2nae2G4M>l^f8-oMa?m+m9q;5FUk8@#QDe216)OuoaO z_=Fuo5nTHLwD9>lyo$4|>vx2Lmt& zOV8e?9M${}N5D>)0b9=5r^;bz2Js~vHcB|`gvsabQ%TR^pUx*eFz-U*LI2c!st0z? z*{5=zCmjX*R1x&SQdkMsK|id4d6!@p^5R{G2Uc^TLBBKGgxr_x|x%|2BL)7Em`B7bC`N_~m=a2(95 z;(B2d+#vryiX91u2cY*c(p7_e-9A+ey-(~@&9E4DLeG=fdl@+#2lHSa^ua>mGy7C6 zEQQ;l|5?iA74)k2snM|b1@Z?r{h8~4ftU8FUXj=AQ^Q`RoM9>~4IqCF{jKEh>zuD{ zpDKX?SOGg>HFUhYPbIuTKD@V2rNbszD%{5TVcK@C4;DjLE%86vrxyK%|6vvM!y4EE zw?p3!>fxL4W9+~hxE?maTIl$Ma)D`IQh(lpU++`Pp$}HUrf*5_CergA|3e?#1WREP ztby&&|2^s6jD8#W4Snt8H!SU--ayA*(hc)|BE5el{|@U`Eimt>Zk4u$_`|zZsqlnu z)dXu`4{U)60nUG7w;BnXUD?+7`d}6;h6S(*E{C48yVWMx0()RyX1B_zM<4oN&G>Fr0-In3Ov~Z? zuo$*O$7IqO`IBbGd&~r(*s)04I5qjs6|1bc1 z<^P+}Yoxqj5%j}S*aZEsWl1;hBPCt8cB|3vV*j>owFI`@gFX4btXn0$NB%rO{=g&SOl`~>me=R7c1_$1{Ceg1CVPs;VfO|bH5>eb({3rE1x=et!gY}$Z5==(F* z4U=E&Rsk4*&9LSr>JjwTaJ?Upo>xgf?A%B^nEV>?U>@v*O|{+1+eA1lfPqb<1Gd0T zuxT^t_z-(_gu|A4&I>ym(T9%r(f^2euox!)opSm+>4hb*23EpOxB({rlYHI5`C%?B zhCb+r%V5h+$^-ho>{clsBi}{(Vdb~fJ6HpoU?*&a$*t7CPvCdhg+7=IE1?et;4 z0X+%-H{qXR7Z$?+Tn;;-ANq_QVz#P_plF}^QHEv<-*f?R1d6y3IF8$&;z|^_o!l+mf52M zuw_z@%GpW$={>3ndM@U?Fu9*Y%^{BNl`4RF7 zw!oy_*sr2|q2tjW<%M3DFLJmD*1%;j04rhgkHJNDQw-p@X9^6{SiD*1cj!yK4*?|xMTYhWczF59m*!eZDAo8STHUA~{+r$-LQ zK|d^jzWes8au|R$Fzx>Rst0;uLOby)NH;8gjO&8QZ|ql9&=Da0uyiZ&VJA%J;Qx29 z3u|BzOm5uI`%KY)cR#-mkNx*ZA9QR(A9}X$=l9_`-}~gF$eZ>n?;hkIas4oD2iE~> zKH1OvONsXx>4zlnu-}__=|AxM>iqwkA50=vzlJT*9aJsV!u%Hj3TFxSa}#G-_VdZV65>dF(a&@zOm}nPVn4`d8DZx`*97!uxRVRe z&P+7JcOzd%c$S2Z3fcD&BRerqWZ2$Lc$&fYM8YS!lUF;(yHi#fuJP{Fia}ZK zv=#AL?u@d*Q`}8)#^ksm?hIs^?o{Fscf31!ykrRWOMh;QIvR$qaiufYol;@sxIHW68p{Sv za@WK;)ewDc7%;ObGcgzaWs>d}wy4V`kG?d|+b`cU!}&hRUFmerCEF48%XYcW?bsXn zl69TkeXmo}+b-!P+%M<*)I8rxDU%Ah&J`|uID;P=_ky{3`}=ab@w7+@*0woRdm{EV@$Y z`bD*O6k?$VL+GT1fhIJDZ_P+Jj7vsJir3W~46B9?d!=b#Bsan^gvM zosJC-`OYih9gS~pQJ;x`bgy*cy87mu*SR1j+a@MDq|QlNi{9Fzw)5S!mweahB6G_O zs@AnbbhV;EOM8_=(qAR#tKXvD;=Ajg=-_i!IGszmn5l`g_&YsO#|se87u=#Amw0cO z@yeVb=R`cx;2})fVKecx5BozXUc`qi2DHX;Q}{ZH-Kk^H!smux*RFfpT(rL+6du zUES8Q+y}7#cr$wXw>za!^Hl*_p=#=h$TD#ySr9PwM!t6R-_ zg;O3MRj=ss9m!vAQEj3leT7-Co{OzlDO^`G@wQ34T5RszZI$(@=5X0?!kgv-ylIi$=|>8xx2wMBLE-E{;HN}0Yz+VE7j zZ&{xMi+1l2~c%%T?Xk>n5)iOw-M_=unEd4Hh>36mN z*Li2mHB5&X-QiA7q^FPV4rV0k@klwgd(;+{Oqo0Acj}OHQDVqj4uXZY+}EZ=`tRPy%OxDtPQ9i`RvVvJz{F zR*la3q=33n28}v@rph&;vl5*?c`xzP% zW<}QPqlmvdIA1O2drE|nywc;tY{{#f@Hl0PyT-V|U29Bs2aMTpJpV6*Gx)#2`rkNP z>PP>9480Y7C7-M$#*fDZ)W-1n@M~7tM8=~z=6Ez6D~*vJV3oUqZz<^PMU z|Ba{YPe}LRSkL)3a=x5X0_qgWTz!4?Ez#rONIRV5uJz=)YfduO9O|w;X{tMLl5+}Q zxXhCX;)CF7zGOVXBwFBe8VZ_NHa)}i;qT<9*T>JIKl=Ps9(8z<=(3Bw+TrW6g8@ zuYOqSQG%Pg8srB0SJ$gVW-0etuKsm9UN zP)Ca$Ipjt9q4-4dn%5=5#d=3|q)ce_RULS4!n; zCoga0yRKsksR{HvG6z{lSl$%@wL!un`Km&|=v#7E9^kL`IT=y_ruwl-jED{aTLHDw^*G?C&l zYLhV5-?!?%w-gh8?2W!Lpsr#}W7^ZcPLDaXZ`HnTf|&2$yOW(sL6f5qzi>Y`|vW#()|tWjKkKTaczz z(r#Ab{`#z+Or@gZxnetZ?E%bu?!{K?)_^$=d>mT?%mY0~GUlkW%HuXOUhF(j#tJ#a zE2s~sJ0)$i&9p_274+KDB)8YODrSC8nnb@G{i>jq-{br1|I(bV5&aVK<}uom>q7Jo z+WwA|Ip3O4ey^qPtt{WH{vz#f1G*gI(?|RY|L}G|eS^Pr{lv>bbemz_$9`Nmg>Kf^ zU@%aa%Ru28JzzjG!+zkInP@aPV+Iwo#lojzVRF<^<|3rJ-4rlK+<2FLyJ;k?RbN}> z^et%}pxty5&%4WNH}z(`*mfi3k;1u}iI*hnEl--)Zd;z)?8{TqTK$bxo{#s}|E2P* zLcjHsfci+<&m-s`v^>v~_H#z4JPRqWrInl2YtnwY(B+W!(~iyM-v-o~Qb$iS*D6+# z)%NX&wXp%(&uDDzW&lvq8cc$#cKj4kh7HGO5r2Wi zkMTjyi$n2Q%OluJ+@w3VsOhBh7v>_e;`OPm+s{nQLf(Jo!Qeg*v%RFhmvfYpJFYE^ z?e&~TuRZAgFQ$KC*f+@dfK_^%4kky&_u`XtN%!lIY*zF5?s^cL3@`_=o)up)Xr*hF zv0Az@$ve-{tX=&WP>=H6^sDr16|7m&_dBm-%p|sld zT{7#w#Vj|jf*7VHe2kQV98v3TU!4|ScS9{ImAFPd-pJ-!q`X|+W*rj0o<`dJl;d3b zQ`fGjdYL8belx6vzi#@wSz{f>@I+YvlsTr@JV0MG8=K!toBE4sli`9R?HI!74`r$= zM=qZ%WEtd<1HWea9lPrdt=%|{rH2h%Hgb-&*lRs>t2$ij6h{f4YGgghTh(u6{X_e< z$T{>FRgZ~#W17?5n82i(Ph$cD@C4&-`<1+$L}R$rl?naUf2K;Aihmh7g7$Fq zR&}jZ3eLTfnE`b`uU}~2Fv*=~6f*+pb00!iHJz7*=(mp8s;C;_qkwPAkar@N^F=YnHCM`A(mmqW^tHd)sx~Es&NJYcmMOc_72rDgOLiZ9-Y-Ae3EmYWj; zUhhPmf5VOb`6t&a^=+hw@rrM&I$MfnKs%Oyll8WilZ=`;cPp!EowD90Ul9E}!8RLo z_0Z*0!Fh_W+p3=8G-f{Fo&`02X>mVbH3%TqUVbJ z+FNCu(L!0D2DdNtQ?RhNd_ zeN6k&^_S}@8=UVhHXg8d(A>c0kb1HKdx4v`s=?Bj{-<(CH@1(my*AS*X6Ey8oj@P+ z!X|tjhAKQ(trIz`w*<@dntw3&-s3^zS9e@{wIHbyNES ze3e#9l(vJ^(-FgjVin}GnSZv?F>hhGnp$B`lYO9*a zck|r0Yv0cab^9K6BJG>-g*N^_(l6=uoyFvhJ8U*NU{-7M`mvWVxK7{ql~YO|UxI8c zvVX|+b4dACAoC^Gnfq=2m-4L~W!xr>s(;^Yo!uOh?Z)n+lsYAQ0tU`Mv!5Mi^mC(< zJUtE=J(BgfW9roL(he>O`ziX4==}iBf9WGm{9+S3$9Bt7=c zIxA7`%-fWhxI68KhMh!tomi(@~)=POVd)OTLrVgWgM({wn0p z0#`fVBkQO}F+-xPL?5O`kD~rht5YwA{X&dC*K4tsU&y=J))K?*bo=4mltl3hm7HT; zex2Ua!oS)dtw+{~?0C6O%Ej87rN;-1zgNgQcv-x$nfl&m6p)#?tgpbb*Mq(4i|f=m zQdjNjrEW*sAIR+rW2t?D^+-+pX%-H>>asdDneV1Q?`*SNkF$!g-;RC%6?N+A zUv7`)eZx?_s9ENmYTKm7Cpr(Tjh9M0)Gg>l$|I`y)3&VFr*8#UCxYI@Xadeq8g z#_?7$hVKOH^h>+lfUUg3I+eut&>=oDh&%`R{Vx8oD^Hzorhjk1djHyO{L$G@%DFJ- zIhA?ZqB=E`^%&E3jL(hOp5$&CYJ7C4ZAMMegBVPRKU;#$^1JKQc~*UnZlC?i*?*XE zyEyXxjZ)7~#a~Wcy&;WGk4inEtou1{=h~<{)>$kD$Q^6h>?u1ovT$)zxjUM}&9OZ0K09~*LS$}bh9f&R zk+00M!u2}RessOo_07uX z$heBGr{A)HwkJ2sTA!#>cN`MRj{(;zxifjV;XTN@K@ld_V=tw;PTkbE9&qyLb)qRU z?wjT=O<+m4Jb^4txEOM8I$^PGwa7^5!S3>; zIqu3N)(5JRs4Pj>yQ^VM61x_XuCTqz&_r)Jr)cMVfluqyVc~L#Dd&ivoZ{{rY7B{Y z_YN&|m%5#o@`cI#(93Mk!R?V7FaZJ(~j3==* zQ*7bqxYsf@dK@#F@BrbnB;6e1L%qn7cGan;ESZ#dKCvc@|M#c<0pO9$eUTj+`dVDGN)?=?~PQ9wNsV_OPd;eHJeZamS(EYC1>%m^aCH3l? zusywhC(^G((kC}5jEx7e=fPgqS(NwOdiA6DPqW^<&w|3lM42xoR(O@%|*fLpUZ&iK!fwz;FPhWdxOAhsKq*Q;IO>#=Ls=J;=0T)+O& zA?ZswB|>*k1HVy($l0gYHnH(0n=Lt0;Y8Vz^R#^h zlM!4hS+*Yg&DHhh^9($zgkQRdij|k>^s>H911@vsiJubR&_vvd=jzQh8uln#YsnEG zlPz;a=YRW7472najm*cBe?!0Ye7#yFb%}GWkY{UHqG^|vbiG=$!a042Ua!ea%r?Kw zBAxSzo{MhN3-zi?bZ3cQiL`sYKbmt}`;MKP`%go%6WP6Ft=H?y8g-jb``QiIFa9&v zhIu)}{|1m%AbUkiOxX@(886nWy^;NGDwKjY1M{fw8`&Er#!Yzeaelk>-n1!DXIW2QrmTkNZh3A!B8ZbnlJfX<_1vFqoNqtC5BuR| z*sJ+#y_y>y*G1|}9K^?a4f4JN5!w>&?A{QzFZYTsq5(6J&W&_rpEJ zOR1|@D}On!$>;w55;HnK#+}RjzP?@^7jE}D{kk8C@gvMnl8rqFDKn{W71&E_s8>hI z39Li+f5?+|52}sZRUwF>mD=RrSZmZ?ekslwGf}S344_-^=hf)yD>aY zd$m*JcvQ4rkI!}z-uZRCewLCL`q1T%JYiS8`u>-%i}jK?@Di8S05eJFX;LylX>GZd%uvAcvHCJrmavX&2?*i z9?6FToTuf-di8>fe+Klq`aJrXk`Kb>=uX4t^e|QDckTr;9t)cON9VTbCkl~QBR`q@ z_P=7d*#Ol)weeOD`s89coClyyC5>2a+mqY0qmq57gU}9gPm7w z?8pNk;m4#?C*%)%jsNV-sEFGp`Rm>@~9xb=Y*iT zEQx<~dFb^u+Pn2!bHtA@`91i)3z=u`#NODkK~*p18@Ue<8Rtj*CePrp@zt(YqRMd5 zk$R!S@uxF`>N~zm+WK6}hg?gR?(wsEC@96;PsX(q)ra22X9dmuQ+n-8kEfW|IhUJS zbWI^GzDjSn)m zvs=#D+4qqtNpBN+d(orl^&#Wu-Cl=dct%kDMI^fHs8=g^7Et#8RfW!KmREA7!|@Dp zL+c4TePyy|ccwY4W2DVMH9w>!=gdNf7bdA0VxL1~1<1}jH>m!oCFZ(E5wdz@RdEP) z{f_A;Bl94=o_SN8-MoXb3+lDlI`sUYN)lT<&t(|+eZETh>>x}LHqkmybl&Ox3R320 zQ0CM^O3w6(VunxhcwTRFK~SC5*Z11D!D1ucu)F&#cKFQ4R_BF5C2mg+@d?Gq{)4Pd z1iCDkRID(tFVFs^Ip2xe-Yqu##NX%*DxeQZ<3|4Z8rfhc{|uOqy1&tjDZ9zX{@sn4 zSB?n|#~;TB)th1+TlQ-*&S(10m#p;-}k(kLxek$_mVzY0XC%es^ z4I>CzM!Y=Y9dE@ebI#LcDF4c}uOoaW;Zojmh^z+LMabm49KxU#Pi)E|vSwtLglt=~ zc4Su}J5eHWXd83{w;(&g6zMuJ3|SenXQcjUziGD?VD*dKPq}k|{1y8?Y<->;RHs<> z)8G+;(WdJ|=aYD&iT5$_UJu7(&yx5qFE^O1bjh{m z6K~;+pt?OAZ#viNb0=rJ6Ecu3A$&98p?!$a^o~r^dY6Wits0@uL-IVAxc3qFc!|rA#m9$i4YD;Npxv&F+Iuf`@-pgV zJqdr?9Cgr>$wJ9W*8C!m`H1am?Ciu&wC~!4tPR=GVw*$G*MzJK*|Ab@weQk zP(3LEooDzME6=R`(v@+}yZV){M3*vNi@p#24I-equ8=${ll|6Cf2fRg{U_dT;w`n} zu`YO9xc(ECnI8yWHWRPH115S+B1xVG4Z_VN4D6A=fqn*=00~9JULN!Uoert($^hH5+t;C}Yt$279 z>%BKJP?)WIWc-0y10`+S(aS~e0;}w8+Etn{+8p@HK>AC*kD1)rUmpGc>3b@ss5~C_D0}y9;>R zMZUWr)18NmF(1B#^F;>aQpV!!pTp)M@|{Cu!;n3JEY#MdOj42k8QG;0DN?6(Ul*E3 z@NlpUDZ|(7BdQO*kI;KG+}}pVym}9}p3_-li9Feuhue)w==enAIJ#k*D=^zjkaG;4 z8&tC-ZRBei?Zv~RCCT&#*@^TQ^f8iu?Zi8Scuz}(Dly6K=p)qK{Z;!bpBDTXSS7UAa-J|-MK zP3wok3kjb{_^IJ=yt`!|ckNhCcpl-`g?)CO&A!f19WgQn8XHO7ZNkH~) zva67}<@_9y=3ZnzWRYvm?UUvdCUZrE+od@b{S3lyC0zGw*GU=c@{w6-L8y!~>$mGZ zw2-(viJK-T*Y!b<%gBT>*Bl*La@y=~D~a3kKgQie+}-~}TwVUeZ6&Ux-7Mn;`kazK zt~~CE5*F%5C4LIB|03gdk`@039bd{Tov_`fAbpH+s4+)^&D%_E~(<5pzHT+ZBE1k}Cg zXPBI~hI)}qmdefgkusAx5b-1Bk5A!70vnoj{mCGFYzY@IS}uU+PW{wW(Ud-#AEkGvQkY2$y{CC43v|L#HJN|RwVO6coo&U=TI>`_o#mVdu_L4Ji33zw zJ%>!6%^JiN|Npkc50zqT$AX|bo$ukk>vFT6NuK%%-$nRX2@mC!&eQoJH>2~kk$B$` zZ+vvT6*6WlbD6ns=Bbo@4{;T7ua&smr?uJwYcSS(5U0AmH}`FFx-3TL(|;}usut1H zdB{8|djDhOy+RY&wf&-9mn~(n1Uv6yCm6O9*;5*Mu1ov-EM7C?Ty0mV=w|QDFzws!e2KGiDXU?XmJLYgv>mES&{40a%zg9Y;b!h|E`wg8fv13`ehK!3?$3izW z*N&baGkmf3Waq@}$Yvz*h|bt>LZpr_$JR|(1fPZlKJEjw~)9}x8;yJT!^d)*<~Wo`qUe}rYZ?E)g@0W zi1!rnHe2zmHmb+Bk+m6JFW7gN;9O-_!O)d-G-K2fz{1E#-^d_UXSk9&G z<4$GoY#N*DEc=rG<-}V>JUtdPxY@`m(Cu{*> zdTh@BA}dB#f$VL`caC9vmLvP^O+ocn5y+y*U)%|}CdWGDyOFPxxs%R|NZ+UZWW?Xf z6WCMZ+yz&_N50!`!bGcX+W?iLD8xLG?4=qwc2#;~>meD)Ph&zNUsXA3}eWPCPM(%yBOH7D%lTBs-O6JJ!);ge zrEMnRAU|0hSqqW8^dQ@Y?5aWh6X}~HYc74RKh8LBkbT)oy(+@iH)|vPb8Nl(Q`DNL z_=R=EzwROH{ttd%-Y+ioexoJ7OX@voieBf^V|P}h4PXCyzntiu=>GZPpmNfNqI?QI z(OMtX*JF*nYT^u!lSd?S^&=AUazEazwHU!{1e2^c%E?>ijE4=R@}9ZS`!%&R-+mM= z`C7tYVAK=L`K6BPe2w_Fe)mIsMz(FCp(?h5*qZ3)9$wg%9#2O0N6}`iIx1uP-w#yZ z#a8m=iG!4}MY(#xNw&pz(RIkclNZX2xb0dCM=QS)E#O?nF-l>?{aSD%hV_xquM}{jbs)SyEof5 zFA{0?QNw)fS*YXQvX+>#RAkeUC0ep9I1X7hvQw;jxSGbxe1LV0eszid$+^d_Wk|bQ zj-8Y1tvL|?r}C*nmWk{RzDwR&`vmZ*+_Mj_qM38VAaN^+yTgiWzbZ2a2#=mz8zFQ zSaGAr>k(gU`4XS=J-hOkb1uiuTiCfRd``VSrsuBC1))1@<~mLdapT{Ktbs@SP#IL` z$MnrD#Lp!DWT$yO2kF1`{oYdsa5U0{M=xZY_O7+hLyyCmTG7eLm{47-ec_tBEC-h0qvixd}4g?zyN8GaZ3%he%cmPzmjv12EFl{uTtjQ z3Hvu;p*kq(XhD{=J*aNxyXo)sSU`_Wn73H(tk&=5mFHvVIH}|@BNI7qY9aS$v2&Ez z(bq1&m|>2kvIskqu*mxFLLDa8?jvjhVfPvQ6ElYG=jV%!g#!$Y^q6e}ww8ThpN2-l zZnFuKH0&nqCc@-57fe6Qw9{I*h}2X49u(f?%RbHlIta0qb|rfkK4g3r*Z+DVKHVCB zl*Sp~&;|C-QFGkC3|s5}ZtWAH8ZkXF_kSV(2l7Wag`N+r;VBZnZa{v?4(`P!^gs8M z@cU5pxp{8IFfK^2KleD)d$D!n&d5F-Ypoz=oJn`-4E7slN?J0m!dHH7&0`{UTJICG zDc8pb$Ohd$mSgMTFM=u{c^a{$$8`PjG>@kx>@Q2VfhKGXX$h)4Ov$l~&u(NBkzEt6 zgE8w?k@hDKg&ITRtj9tZKpFEG@gkYS@P;9(DJq2X5L^#=bz0n=2T4=m)egt$yYN9e zMP^$qK~{)N{DvITek&~5$y#FiJ3q2piFd!qBK}zWMw0EkIcm(9PLw9%zfb%IE57v` zCwksZvzFfsNpn8kcS@8++=N9uBCtEM2f}*Sk{%aEeAEP)cgv=aOYAOJ>O~%Qp1@Al zKxG-3v&tHdant~XDfzMvTMvH|+3O^iBx&75;Vd5SB{V zM82EvLp0YcBn` z`LwA3oI)Dw>(BN4E>iEUu_JvmyXNP)!rN;?H?{RO)LX z@^a*%^#toZcab?{yS#X+o&FQMDjH< z&tz3P&UlRX74rCf6HnGR;!u$s@3PD3RLpI}_V0eQ@*&12I=4m!sZzcz#2s@WsICt8 z{klF!)@F1%bbX%0;=peQ==ybC8Ox$lE#C16vbjdJ)r?Oxz zji{aIjc_)oQcKSoKg-a0!I02tWz&R}0x$7KUeEqLbVgZiBzj&%RkH4r&@C8;$MqX5 zpf7c45jLh84Qh(z+oEmgx}^6F8DryODwDLU_2^#WYS6zG<=}BUxd-b-z6tr2$ZxQ* z**9IYNf&2{uJq{7=i|76x#OUQsCUfUt(940bK0iulNr3f)vnD-+4-=)6Z?sBE)J0` zLH2iKZY?o=ayhd1k#U=niMBiW8ttvk`0EKX;v4#mA8L_hAUo8uA$GSTI}2HoC6l~s zL3SFlQ$)tSJ{h&=^0gQFIOLy+Jf?j{{Jb6$XVc$5;Le#d&^98o|0`xM3-)|sPd}2% z3Sfen{zAeI8Qc)w2QFzXL3TK@(4Vj{wCu8Onf~~ z*72Q{p>sA9wltw{zPBSQMi$DSWI6GT)XgZFw9R42e8@VaUeT9__ur)%pU3HjA-ihK zYx5HK_#qLSUgY`6h9fHp*GuLb)_cDrepA-HXWF(GNkbJjrX@C*>mNM3X5F5_(aNsN z$h{be8zk;J;!feal%>_C^%(JvP(vn2;&u}EP2x@s$JKqZUVm5?6<6|R#7z#zXT;Ux z1pXIU8nVQs29+)P98wNh$i^WXB?3M6xkBep4*&WHn?zWZghlF^UL%T(?e(6u$<(te z?0mkcrt#T;tv_JvR1x4Ht#YAH;c;m3R}@Rsqcl2gE$I9Xo!GIC^veebdzCPzLRQ-B z#yYy~PatjHf!cT$lj|nzFs#zYNd6WeJ85Wx`HqG>Nvpo+>3k`C7tI`hloD^K8-Hxo z6>EJ$_fL`hvBq0@#@qphA9`H89b1`)HmH0_1$iCaU+eWN?PJ-V$on%d3tdc%PxPTW zYzcJ_JDd9UnKAP*%O^4hJk*I-oYwF4yxiF=}2PkKsv zi#{o2Uk0{D+`?MR;SK6K7yszGtLKf8weo0Nr3Npq^5&=cP<|A}_=8B~XHn#* zWHR|F8SZ`XsUcP^?{^Iti-~1F;Nz6(eEg(g_pchlzfEGzQS`o3d`X%7<`@fe(zS*A z`9k!X(Yy7i2KB;0%TU)VJ^o6N@z-3&UlSQZ%gYI52+b>B7)~?mon@O#<($WRtHbe^ z;q)Vt-})WBkv0?=KU?+J=lq$P!hY{G_Is!Dq?v~&%~HnyjnT;m`mrkB!{b&q8$`rZ}!t?RQ<6xVm)N*W{`8_=yhzCq0k zx5t>e#wa#?FVgQc&UD!oqv>mUvGwFhk$!s^_LG*fXAjv$d>6kWQ)bEAk;r!-|5W6Z zL%%%q?anHBTZEm3CpVaDxBM?UWHb0K^}}l4EG(~ZEeU%}GtC=_ zTTWa_s~lo8V9ADSiRm+TAX`bie33eRX0`??HmE9rLjf}{75WlQXPkX=2h zLCKn-9CGe-WUGOuUGKO zNVb`XHD*8N_(sm zd-^{EyeMWmr`z!obT^?J@&WyPmCk?No@9Rln?vlcMbZ|)R@az@K5J_`knN6=NuIYN z`xMz^Nw2Oi<~vHIF1haHGqyn$g~O;qWjxoFX8qcSRhLE+FNb&+NIVWXzZcn!Q8KBs z`N$qac7#N-4v`lje+appQ_^rTb=k|;<;edJ`4v`~uaY5t^zQ`eK0o0uD(_FS29L=$jVtvB`H)*2wjERQtM!kL~B{ zS--t(fWi@fFdti&p4p%Rd^h_q`i&LR#{1sul=PGnw~M%kOI*^=tq@&T{K(so|0 z?b4&$Drz4dj8x7b(vgyq%0zSD$=Lx zwe<5a#t^^XwHKh?imgrOHK;H9+KP#<*u+o0|{EMz~X z+#>z2zK2`Ro+8Gtm8>P2KhVmrGQ}B3@>@+@P^EQINQy*Kh$LUfFO|DH<*X)GGVnEj z*|I@SWPjEcWX zy_aX&eGTURSDk+S>?q1?H9?#?vFPnIJ{7AeC*;Z=pL%-IY!V}u&K6F{{Sw`H; ziCe;VGfya2YyTe8NjAtv<}{KQ8;Jib@o$yRROdxxKTX6p>3i9{w`P!$bEs{V(rv33 zTOZ!gpzfEv&~^48bt=!e`e5xetBkSZjSXsL*sny=74a)pf98)ft{lLxh|jFV*0d!J zY8T(leoFU6GOqbVXEc401W7&HL|oS`*4W6BH6c41nVvHsle)JX**VB?`TAP>J@-Z( zVq;P2gsA+MdOBh`WrUu~;2)jeF?kg68I1d79$Q7H={K&>lU-hb?6u#>AZahb_Q;Zk z@bk6eM=Fq=jZFV0!oklc?VN{Q%bA{5va_#>cIjvON^2cK=Gt@sQh(a9|I!@|s=zhC z^+ehd@0W=)&UM+E((g;mxQ{(6cUx-%I;{h~BSF8T=+{nOIV`{Uxfn`fjUQ~QR4qwc zi|zNy8dUID{?T=l^}~K`-m2%FPUB-KS3Yk6GhX~ef0SK4o&%q1%}VEbRsP#>lIbiTxl+oNs!j8E)q0=gVh2M=KHvF97Y z&%Sy^em`>?WFPW9>U}xPxmUP&2BB;aKGOMYUq5X=4Jry|d&|ehh!+~v-^91*b;{7( z#&|xCl}cU?$nYk5rP3UqRG|0Dh6eLp@iFyZ`#0U*v>%bNe}!!Y;*|M(nz41%iw&yT z$v=#zR#8D1Q?hndA=hC&pCW6}=dgMwgG#2HG;dCegJ$V2PY)#etV&3prIj;Bu4zy# zo$6yGf3uM7N5-us>w5KCCl7(jq|UrriC09t^IoQI^p8g;VaCfMY%THbC0?r4PpxKy zF!i4VM!)ZQn(Rf8`F59GZIu3QCw3ORV$J7y7B;%iy_B7A;ddQnCx)LtmnQ%>p_}qM zp6f;T@3I)F%OWxliW^n(~mQeWn%dszm1vd}Un3re-tL+KyTck^2cgNz;V_Qs^lM?S!KHyByB5LpJY^N@w+I3mkMb}q7``7VdZe8?_D zc9fQw`*D^a8;@*xxE<@X>2Yl&Zzq_~kLKOwE|})_U1>hmu*6+3*X_&E|CsNC?CeX53;upS@ga-$wv?JamZV3#tD(M>UyBxZC5uyqfEnA z5w@D&B~;pfB4 z*fXC%6lrHW2)m517eog?sn1hJ%}nF|n5?bP!cz!3K)kPrcbde*N0d3Q)HWn6rGk4! zgb_ua2V>v&-8xM2DxI*)x6?i)47~+}h&&hh4ah_G#M%htg~;zkUSh>BV`GGe7vzN2 zXqFTH55fmaI7b1WDrD~?i#)FxX@A_yu=Xv6)(GfE7BOv^;4Ya!A2OMTux^@2a zVEgm;t@}Qt-+ITbjIrj0##nMaBgpil|JJ`wq$5v3er~u*@3YiS)|Od{pJ9b0ezopkZt96RcMhrWxEw|RTa z;U%btc%KsQ3oHHoepi*$%J0qjjMwAr)*D7+BV!fo9v@rv68{)|&oP&Z#=bO8ZmuE8 zbuJ?Q--v&hwE396Ehf+8zRbRX`tB^$H)87#pEa2Kg%55^_NvXZ%YLc52e4Czo#*%- zZYS1UMcxZ%zQoror&JcYF8oJ>`FoL+Q@=5^y#M18cG{5Jlpv`xyV1M*4i)rxd%QViVA##or7RG4U{l+*_ejgL|H z@A-P)*SYWeoZScee1DzC<2=rNUf272-`Ah_^}gQM`}+5xRF;q+@oa{6^2^Wpt9TB| z!fXfe49~hzoiB&(Md<8&mZUn5eE;L9^M5AQx#V^Se3t*=xnM6OeBwT8l_m>VL*J*y zB;~iW-w688D=$g!jciWdTf@W=N}AI`$Uxkh`fF0}IvSSE@L&Fl^SQ(SR@plF>v(>e zI~}6-)Iq%QTc7j4^TFv-durN~4l2Hbap$Ypbh*5u{@C(p{V{v&y_!Aos)5&!Uwh8q zz3-mN%XA}S^g-TM#^|u`=d+S*EQQy3?>rZrgPEV!0bL2t`Uu+$ z_ApqfA;DUo?O^R-kADczbZwqZWapEcuARipCmyd|x)Fv0J$5lR*}=l_VM$_TZ_qod zzl{%bug>612mTAI2OCt<>3`m+f&N`VR?UO2n-pN#AKbufSjqs(3N|Ep$H+VC@wd z)E?!P#p!!u?Nx1i6to8o>GU6yteEby_BvUsq?zr`b~BduS>n4-XU=+?MzFR#>?W{Q zux$UY_bdUs7OahDwYzvbP2ZTUeflAS*FpOVw07QQ)P`t+3)np6<`gUX&nYTy(Vd)| zP}=D~tY_l(TbG7#vgha9`93kFaV&9X?Asa6?YcB#N8sN+G3q}?L)!rDEzsWM-s8q1 z(7OH5Qa(54b{4XO+KKlT@s@{e(`*fsiKyQ+nZ^DrVWHNxl4+$oN>1UITUSfc&nL@B z6})%D`-}T^hG!@2!EcLhD{RLMgICpEtb^LWGw9PUDjlkmEG5(R;HQ8e?9v}EUmAV( zjD>H}b22Z0+y&+-1JLvGi`;C?mGB#JKxeRSjS~Qdo*L|x&Vc_3{LF-MGCSRLnC*Gh zdbSHntESnZh3YK6U!Ya1jLPrEZ#1kkxZef&xD5wOj(ryOJMzCa?@2e#h1d84JN;Ak zhjGL!Z(Qr@vVDj*a{uIn%_e#WyiTa-^xOB&;bs2($Ub&wf#Fv932Pc!Q`7O5RS!nr zw4&GozqdJE{+Z}>QTr%gQdIPfqdNW9cn;bJbrfIAhTPIV)>viX0wY^kBeV_3XA$@C z&v*Jiadi@(>!*jVU@C-;fMs9fN~;*i&!o@4Da%1+zm)jPMtAxPLVXz7*?D6x+1d4l z)S=qnHhBHv=+40RZT1_yTtAB(2LAVVa{Jjv;+4~2SAMb6A6CI1)5-Wz`q}5MKV!${ z1s`UQ<(cfY)E-W4$MpWJJ)GP?&Yn!St8+?$eL1|r^yXsTS#xHj57mz>2Rjx_HjF;P zR)d`e_BlfWY$Mo}UQPYR%~(5V%|=Yg*VUn-pbCjFgYf73$n%CkEC zF=2gUUoOI{g5PJF#(eR%R>PIw$<4#;*v;@7d5+67>+f39XWH3n!+GUS!j2=fDJ-4&p znOtKDYar}E!WeRKsIlx^MoIDZr@afT7NA4K{tmQA)~~8ET~7Sj#J76ktkT5z?z(qP zV+~kPypUr=sj@i7z_+jyUbn*Qe~MvjZ93BFQD5QO^j6MmNV67h3I^aTTN4MeG*Q*4 ztZME9)`FwI1bhtNt%Ti9*zutbHoa%Ik;yZKl|2hQEO_EcM#}C-2VdCf@8DUw zf1!NHSvmcEB-HBXtDvo)>)u0qbN!_42gKjJQ2Wjn44fG3AFJ_7XuJK*ez%rS?QjYF zW?s}8-0NfQFw)obZ-KsEoU5-@t{aK>Jn@EvIwY#w$X>F##bM-aFQh|Mc4ZGxc9(Se zN2=^B4e*M~thPLqrSe70%Ds-b3mQ9vvq`LeiQ8{Yhj$mT<3mOB4=g6``kFVf*w{${V59GD%JwQ*A3ki?c0$lp?UJ$Y4UaAq`R7}u#%Z*d)! zf%Y|Mze*Yc9YuQWj#7q-PERU*JD}SIo!viwAeAyLE8baqO3O z`hsR*zQPsIj=ZMRzun2>9?~w^o|o9hc#ULx7rZXL*6Cwr<=q_)ymw(SXA5QR@(Xgc zO%QkVgY}fM z*Z05C>CaHQPEs47tvH)DYNM7eoh!9J=^~}{7L-C*n@(3NZ4;KUPN@~!I-x(cGP8VI zn`e1I%6pZx^;iD%A@FL0SHr?ie{NX*beo0j?M820q4KYT*A{rSF6#74LSA`w8QGJJ zorikkQl;BCU~|XNnfx+%9-3}R%DL&sF*sF5w{-^dBh*KHY(q)44490(HsH9$ojraSCI}B&Ygm2>y3genyi{6Q^TeHvVx#DqEe>KE?a&gpW#$_w7 z{V)#q_A4aw74TXLuO)YO`WtxGzQ34mTprhrN^=Is4!&hH}ClB8=fShvMXo%}K zo1k3*?PG=7bEF$sTa&_+Ws%DyTF+El?9!Ivs)dABX}WzAy#IA?XRy{Ul9|ZnQ~h=K zuY2WT=yJv!_jUS@E5DWpbVF7?AB^%K8*MDKhu+`mUo2X5e0+Z0`ajKA*5tMUwaaLBbc4SBFQDGI`YopM>t|Bjb(`{sS4g3;r*BIcKW|6)aIjdRUf&ckp7TN zl`%1N(XvkeUp%WU7Rl&vHXMFMw}ygq*wm|siZSRT>xg^ALvDO!;~fa%wj=E}&m1s~ zI)Ya%CTS8n8#fHs$ttQU4w<|2^DuB3?`3b=2}szhVG?DE~d^ z63uZ8#EF&Etyr7b2Cve`I{mYhE@aisd6F)7mJ%_sStbNpEvihVV+4-z&;JmeT}WP| z{>|2(-nxhWtr1@LK8~OCKj|y++kL7yIa5m4YIr^HRObiG0l9v>(YrRW(ZEN%N>&sV z{q@I;w_N$SyFHWa9^ISK%|sU^#%MXmCKznzIMl*xMn|Xrw91RJ?q{b)GJrj>zm8~J zzCY)z@a@?DxY9NI)7JOD0E|n3_n+jjX`;L*vAa7sYFok9hLT>wio|wKglY8V zCaM=_I$60l^RB->%eW=fS7z@-?IlV#qX}=HM1~|&WzY++SJrm=Yr`@?j@|e#8iTts zX!g9t1^=M{)Kr8{}Fqk2-`V`Kc;)4bVN3-m8ITAvLjLpYC+WOth2)_EUR&Tb`NhuQJTg1) zEjwR-e%y31pKQrW$_LsDiC4t=<2t=&7?0)PPl59TL4=P1nEH~VpBLate+_s$_$cYO zytW_JpBw)-dV^7KNzKsaFPFmWrr*2%mu}DP_olOD{5CxBrH$k@>!3SjOQ-)=o&%c& ztJK*n+QhRdwiaaqBs-x$@a0bbUC~<_O^&0pt4u$+^|dwWr>(m3#900GSd65#@Tqrv zTtAJSrP;rrpO(Ed8@hi&cYJQUOxCSfHzQ>0RiQ$voxP)@6B8sxd07MRH?~Ieif#_i z@`8=x{BEwiYw)lpFq#XWk|&r8e6`d6_I~^^dABl&^pKT_^#TI zdpYC^H_wrNut42PPMUb%sqb|9%M#=y8iTs`vHJ0P1SO#e%ul%vUQfK&>9@dFcT6qN z?NM9>FmwV(Xlti5W)tJN64lubXb1hHGuXRmGKH)JYYGC}%K2x9Kgqcn&_!#!_R#+K zu*OSuG#g&ScXbB$Hy6|;mRI}$9CMM-B*bS0d|rjmLY`x7E3b~6PO8B-pTK7*QFp@U z(Er6(B0hYCl`tSJ&%?^V4$i|yfgPBKO#s_3hLypu4r~b633>tJfUk3zl6EDQ=r7+U z!oN)T0N0nq$EP-S(0Zyr;Qfw|F|{Zv$AcE=@pbUp39nkci}?x0Z@Sve-m{gkk?%8y zsJ0jBBP+8!eZ6RZi{js_|*xVV|2Phct?CUw5Tzb@j~{rc#ZjSQPC#`cKP2A?M34i$znWRHD2qU(sdKOzP?wNzn?3wxV;$F zk&|oI2JVU1MtF@M)aC!AQ2!a}G39Y_p}x41JeK{0vyumQ`8AH0^K+8N`1z|gL_H#% zuuxLvR1c4z?$hOW?6Llwo@fm9ni1w&W5fLjP*%SM3{HDC|TF+UB)kGBYWPHdnNTS z4J3QSPq{DUvt9nuu-!y`qseEqr_(m+veZIXuT3s(7+=~relQ2}W2y%Krr>q^3w4~- zm2pQn_8;&1+>u>=>2Ut!^%Z$-fxVQTH&)vSs@OAdEPDpVvuB`A=r9jdyAiT`1-$x! zj&6?IJ>ad?egf@JIG2a_nRn*T|uOoS5f5!Y+RhR!F&#Yt1 z@&DKyopkseD7yHh2Rb~^>U6ikZa~xO@mX5Q*b;aTp48=k(Y2fS`eN^}R5cesa=V4 zeDq+w;@&W=%iqW8mW8^T!r830VeIWxY$a;YhF1{h)S52;hY9)2 z8yjdX(xO87RGIC9*XrqA{yW9|$&)kV75T=cCwno!lElDt%Y@Yo4NmUzzcZu&FKgrD zg1KJ?KvxY(W~Owt!E5E&=&r#9ct!n+?Y9^{IJq%Z6MYN3mR{85Pbiefh?m;!h(dXU zmDxxme?j^#?F!G-9t~azwhZi45m{f4Zdiy`%KGPd2j*u^Uq1oTCgODx&+hLwy~sL~ ze)AmGFHFYA@On}%RbFf0bIWD)3875TuHt7K+kGiEFQh!4S4j7W*N~?<@9Xj||3_gT zk(4G^kB#0p3z$lF7F8X*#$MIspAX-dd_`x&M|z(nc-;5EI)r>BqrR*iKBvLwx8lQR zEZct>B;m9wU+4Qv|Nr^K9(=$3(< z1y*B7fOUY~2R1B*^*ZdMF>EW?!_Xb#Fxe41!JY&&y&c)H)JQbvtbCQN;l0;(`OQ4X zWILKiP>eabA&(a(5M+dSJiSp5!C3SD}p?e;>kvwZ1*aC(uB|M79k~NHV z2>S}pK^Ssv_nuvxHFZp1uYvA8=%$E{qFu<|BJ?O}Y~h*%nIc@eOi%^i?Q1y4Xnt3) zp1^3Mz3GYuu`SY4`yBo(^$M+>F>LKKPe!<=biqKA5pKU`4j`dRR~gpB$A^#koymKA zPKaCP_SUV{daF9YYywp0ONdu-T~}}(2LH?Wt^hj>Y$wku6WzHqD!t7v1ysA}CH#HD z?@~BvPM)ujFwV2a7MI5{L>YoXS95)re@!Zg@5U{(S+_x#=gh3yLkCw!5B_oc@xvMMcltNO_0jM6>ZCJ2l={;G=o3z`#LeQ46n|Z|?Hn zOb6+A;~CR^cIH0g;RWokV*jcR7P3hw*ypQ1li7B7mA7`q_N&BXHg-;|WVRRD>Ci@f zN}kM`&NaW*RAlz|*?Wq~WT=;!S*h}PA|d5 zSyHWYjM{T61zwWn+3eh2WZkFX}NKY$%#NPsN_dn*rX2ipa9aExvhm=Bh5m~=@7 z?8#dkowW^}t`q3z*9m)qFzZ81Hpy;$E>2A%lPlIrW7%``6W{9cXSnyM4UPi41B@wF zTgRBbwY0=tvuo|3hVTzB?DB68>pq%?u)2@>mTGLY>H=b9zSpJjI&o2#f2rQZ9kcSu zO3qh-{{Z~*1UW~DbjEw5cXod{uO#jc;=XnpI>g28*HZTc9_bl)7TU>hL=Y??U2Kq6(At2I^YGWP5d;O6v z|B-?Gp-$Z%@uwCk#f{V@ReCuGhi}2Zm589)?vplocD3!j?&1#+GT++JME1}CX`K+a3?)T#^ z|1+)(;{Gr5?NNH#O_HbjEp8ieed5}E;nZuq52M7hW2zg{7CXxH2=dfR+*v>E3f3c# zXE$FUXE1j%2ZqN4=ypQ)Aav*Q9LP>Io}Zk%x0pLou1?Hn6;a1_(`Ufvl;SKO(i5K# zi?6q=_r6e^$SLq)w!*9T7hV1vN)zk1@nLS(WR&D!8DV!l-Q|DOm8V-Pj7%*oMyF)g zA^3SkV&%D&xK};X72G#url~0?BBT06n9jdX4jVW$X4v~i^F=vNOF3U_4q9V zuz}LQ$yNCkq_>uMYu0py`*YpcopTaW?CQx{IYGXgp&k6Js|%|$Ez}Qez@>!M5_Y}H zgtR-`j@!-Bv$Jee59^@&0d#K+3FzYfLmSIR^-xXw{RP9%r0&+*?@$`s#J(>70vXY! zSCZyqUHjdU^1k}fWM)d&EO?#sR+oRF=2VPVo_v^&GF~Tg^PP9}e#weOyq3f3#@+Y} z4$JZ~nYFz`d1HU>eo1+MJ~TO9Y9~A4b?hfH!M-&sS8Qw9%%iw~-c^rm^0Hp+Dd@-a#lyiXiZIKNBab=uJx|DCWOjmpmQYh~wj za=rILvNj5I;p^~99g_*pKXQ6u6sHwsbz$)a&PyQtN|#S3KY8hP?`pR@AeJ-7yOKRr z!C5}%70yRJyqmt1@y89OO!8zPuik7PxuSqSV-(R>!0V!k8UJ{m#Y@{8Y)mw&k$#el znMqAu29GAsTZz+5oTCR2C#sXEpN#ryb@~V3^QUB!`?isN+;KKJ<8R0 zsDor*j$MnGL0A(DndoYti{Ury9At*)VC-xAZ5Y!AJBc)Yt{`YNbcaJXMReAVlgGXz z3El>6HMGZx7Qd_W*)t|@DW02^7&%D@R-T4$#HR=S3eoRbZt=;NQ(EQeZxpC+<*5OF zPs7h_S!;t%cFUu)14P#b-CnaZ{?&SKE?szuymUMDriwfvD`9)U1YxyOa*j-@OZ{y!!zd6D_y#G+i^vUbQ`v>vp z3S67Qhag{CWBM6u`Y05ob;u^h9E}-&zQzQR{6=~-UiS2Zh4vU!5WNmwy_aYF8+jJ5 z__!_|xbV!^ruW_i?I-4C{28JCL;~Y>wDnQ0FIdTVvVi^+uZ{5f^pzR^?Y)Bc#>a9| zd0V~NS){#*vwne`mi>k^YrdZGKMt#4U4c$XK{xXqL)i0#A!Zhq?hVSY2K-ysW&9_L z!A*YA$;o|zP4g@&PLg1^{|R32+(>)ZJFE=Rna;PF4wZJ`f6G8St|b$k>64_d<8{}T z@}5a0zgMz949D;bH)Vo*Pz&-hyH#y4(fSz;pIPwv(9IeD{V@H`&Xl~)LSAW?X0oJN zKjCbaq0lZS-b=(gO7ZxN;JX~`T`=(t`UR6=WIq^DXl04jKXj=D8UHUT|0EfX>>bV@ zNqNsv{s~hL_Rg}GSYLZf#(zccwDM;xuRUd>xD?SfHobEKbSHlcTgK_u+qBg)zV0%T zU(Q-fd8bqM{S|-U18alV{R^?z^iDp~Wy`?UfH7@h>2PCWbiBJ0oH-u(Y%0^=>gTeN zK7O6}U%l1oZ(ARuAu$^rX!k1b;?113LHHlUpO0iNkjKJUUu&-&b_kf-lk}N9q{54T7sSuU%fOF;ewyg%vACn%&Y2nw zehK);gu|!K@u>#CA`h4R%?7^~{4&wg&RaOSusnT+$)DbN6X6>O|B=Ee19x5>W<`2g zRxv0~E1;|Wb|zT=#(&A_8n9llzwsQ%>5Nd{=GksK>f_lYt*11U{GK~v7iWSq`OWS` zhFVxlG78-kTqj^Q_bBKdf$pn%pUGOJlP?NaB?LNa7PLQy*5I&v0J9ns|RC-shDTYu6W9|DBH#?~lwTb})5{VDUyoE@E@*`y;I;B)0&8NXI`kfq1?MEWGs zkvdD*I|@4ph$evf5o_>uL|+B3>y~Ex)rEYQ(cGNI)SO`ytiqn^?rQbkNH!pp&Y>?e zFY!RepB?IQOQ+o>pC?a~q|3ihK$lm-YZkoTYtQ)4IbLzUowaS#X&QF3^;20zGGbY^ z{;VAyS3O8yT*xM~a&zTh?_I#0d{VJlTiFh;ryj}#{$ym=)uq{YQQk}@G(P!mQeCPY zj;5m+^Kd3O=aK)ClPa(iz<$WH+C{&!glrvxlebFFc}Ym7%D)XhPr>JaP~Ob$wz)I2 z-zc*M18qG6ey()-)ucqir=9N>c+LNQ#(zH7_Kxh?+_Kv@UD{Ap+E}e+TlIKE8<_k* zKKOG>X~V?Q#^Zur2LDsqz(pXJ*q;kZ8zz-D)&*2sEdJ@ipOZ@)rk6IJ5k#4im`dfh z8RO!S$7mN}exr5~*{jEDt`OV7^G2nTN-mg7>4n$hKXi3K8;kqhkuJ>(Rm#(gn1zZ& zbyvKVzT!t2|HHXyNRkWo1E=3lN`dlH4WC``xiIwEMPsH&zD!mrKyMa(le!T2l4($ykELDxra8O z^)e4o+(=wMHDo@Lv9Gf4U{%JyFXR>FHaSOUy$^P#fU`=6UXIou!DBD@xF2I{rTAlgle2^5s&xi-1wlKZ`}9vT{@J;7 z=ycY&Rj0C~MK#ctzs7cuj*LIk(ZoR^P&-w_P4L0t%NQQ+qft>emP;+c4mURANj9(Uk!FU*ux%wqI4&h1AX=Ng*r!~m+>9)r=p@ayEEY(K`rTE z*Mj`5DyNZz5ADhLZ-(zPU7gpTI61@O?=FLU zR*H{BtSx9?^|x}Hg3{MZyb*mF|95HrSb5~F-?P5crH}Rf$yQJx@531gJ+U$4w1h{p|(k&n9UVe4D@y-o*S4&w;Lr>}Wc59ob@IB-P6@XkUf)WXby# zn%C7}s$^Uzf35u!e$a~<|Fy6^MD=26HG9zVeFAA+f&3=6P1sra4||h7`6c{d0w~9L zKboDtPM?)q{;Jbz;{BC)stYH-mWL7iZ6NH!n=}4-3d8^I&N9##hXD%%4uniR+Mt^W z-B(3tHhplnrS$#^!mcLl!!B%wlgoAB*MMj5n{_%m@|l`$vi7SzlP8jY5F`o7rKFHB zOQz}Jq1)(#ew*>v>K&GM`ZU+C+F6>Kea*8WM5;Vi6Zi1nQ4a!a4CUr6Mx|fM=5aJZ z^PqbZx<=9Ey~BL7)Q-*#2>i-H@}xIc5bxu^&-hziyxW+ZVJyP=SaDw}W5$YUu|t?e z9O#hk#D9kPLjuTTv*^#9c^AV}2gAUA1ojEhSsl!>wpqd7QG`83*cgS8_V~K=IbqKk z=(AbSJ`3&1qBTC`s)YWEzfFYwlduy91bpKCYSg|=X3bBzFDv@lMjG6ir29F!8z7}a zX~%ImEq9GFENf+a-o}*R629$xm-Af--obYbT}+1WM!uW*Zsog;@Ev@0Lr60_09sl5 z-^QMZ;HJ{!*cWjE`y-}lruN=Mkx_Y6{)M$}TQmN*c@E0M*&Oom-4GRs+UZ zP(MX$VKXEhkwM@4AW(HT-1I{Z#uiRhQeUthUt>L2E@kZ0(S#SRvLK6!GFs5&+@GF z^z(1gB3Xxl?B)&v)n1knx1G4NUEGE8FD<|iNnUhfIP7S^@fDPD{FPx}9LZ;-D~yj0B9Ot?nwr6?EnSSn9$l<) z(AyK6lk!uH^Q`ObT>ES|*ehV4Qrh{bZbyQ>1D3a+B5Egb8yNd%L~(LQBfZfCufM#T z@w>#_+OGM=rcw^U4l)^Ce3ZUr(BAxBCOjWnSO-`W*hmra5!MUV23BfFfNcf41uUBn z(d`7g5A0w^r#4oCkSzndK^TJH&*oB}bV2UeS-dKV_gCUsf53m0Q!Utj|6q(Md4rcb zOCzbASOYl7yAMMwsY6zu-wv;D{BI`btZ>Oz2l!6#g9_O^Ru?7{jCr(yyuU~*-$gsn zq3>scvsjVQe!fSI_^->&xAHiKc%S+w^ZEPo$7DOQxgx*CIQcD@XF1rLwuigeZh}|! z-rd1DHt>q?v&7!Yu5Y^^O~w61p~W(B@RVF_sXEvQub1J~%5zYU(8v7()%1n=n-(B# z<~!tV#>IoX{eKVTkLAhii%54xdV;-21H7Y4O1BM|TDoJvaizQXHV>QvIsuG3xcKhk z+dPm<16k_b#&-$dcBApCI03kSeT?9>ZKUCQ2X}`$+np&ur{Lyl(ex_+4(KM8b^mAk zTx-1B3)%YWM~gASr>|Wd+{I>gicaqi?DTTNmVB(+pDH;sn~sjb_RD+6r?N&JK`Q%d zXn*?gZvSv6lkv61Q9XJGq;jjx#sjUyeYCvWuZNH7&CM61>*=rQLU^?qsml8*X#W81 zKa2Te^^|8vnCx4Bt@XMupoaPvHc`c^=280S_*yx#>xY7@;BNzA13%LpoW*bXV{De4%l&qgze;EqLwh~6*>#uk_JGmh`~#Ea z{(K|J$D($<86IEzYbP|ukT$kTIH4|cxZmkS7?c(uao+9SIC+YP_D+!pwvjc9GKg~q6Drpo@O$oS-Tob+ zoJF!6wKLZ?wx-fIGR&++;A*l*Ul&-sC>g8X#h7+{u8h@#9dK+UPokR#b{N>_dDdqb z-&U}RU^ffUJOy{62yX{}0(`h|6xE3+RPpF=xSsWyz_%CdhtS%+fz~fX<(`)}%~kqI z#jg4r_P^|9o6zllJ1iq?)A$-5Tl-*TWc#*oFB|9I zQ-GJ+;R<+7neu;Yhqc6eop|3S-f0Q_awJ1jDD>T>RTE2VCYIJsEUlktb6%hcl0@5v z@7VX*mr&j9PjTZa=O@E$TJL|wYz~Zu_wzCEN&=b1-2L|%T^v#mRCZe#+l`_)R+{S5LQr%>;|<>1AM-fW`H62iP32tezIX zUakqslPfGOe)x=u_ze5y{&nUhd z!R`gKb0grDd#*yIv}8GbP1fWweO>%7)?C$h`yUzv11k@!SJT&a7L}EU(}}E2_)DVo z9+Yhjyw0D4{S@{sk&GCxxXd-Dy}Js?i1gV~c)fU0w|`)Q9g{ci*BCGH+$fdr>+o52 zarggejHmJ~`#0m_OS=92c-BYQD6j!BO#CN+rNPb+k=dG*aQ4jD)Ye~ZoKU@>J*s7ZntP7>DdggzhB+$&-w^|jMpB#@N4gwQa~TfB^xVJsiJGYO+O&VV_tt2=>yYKj1h{{ zkCg7>-kfF8wK=+copMlSo%HcEO#8AG#;{rsD%!pt%Fw$yyidD?bns?$7IxO z@MK>2K0iOOv~|$QoVwR``_eQ_j<<1UHDmpyOGYZZXWMmP}IuzcH#~1?GE-D zW+{nPy6U`%xPKz&3jn=(2df&tE zQpM2rJoCF;kYL*=y$$fI{gtzkEe)(6v-6CCvqO({J*#LJL%RUlH+U|plYL9!wP@Zm z9o!;88Yf`is;<^RTe-12Trc9zJfO^?bCRl{+Xmgq(9H?Q64qW#mh)@}t$VCYRKoC) z{Egl_Rdo6D-QnE&tvWm@KF30{OS52|0uJ4JO2b^@brWxTn1*O<6s5uGj2f?^P#PpZ z9q{V=b$8A_nO?9RV5botlSlIC`f|wNRMFrUa_yONuz$ldYtIaa zb~M;=kFE|d>avCAQ{s5k5cWRwQ^b^y(mEULNch@XD*mgEo4_7=k$0&qOdgoqZt*6g z*VBIvTUoIGav8MEFZJ`~Tf5No+)rXdTGh`c=nvW49j@Vt+b*)eF$~Mm`r#OuC^oJd z!ofi+h_^+6wLkjq@JvE&dQyD`(Uga=(AWL8+y7cfe?mwfZ?Eb@8lb%pTGLsmB-fs- zZp;T|x`N|2m}J$F@o~qc^0b`ztBBvCcM;#|JjmSHRMKK|a)&l5`>n+DiKl0M^t%)6 zpLtlxKB=OA#IRw|m4W>|hADm}-_hW2f&a+$eQy0`lo$HxmVuL5q@#0h`?+CFcQ(P} zh~=w;v#KcTe)*vdc@3%DM#Q_v@LfgRkNmznSPx=lNn3V%d82tYR`}$UVi0!+amN#P zf0y?7Jh$~7>V4Ah_IvMq-aC?mAck+jx1quz&Hd~z(j57XO1yOpcSg>Wwx>4kC~hrboK=#Z$piDFB^U9F{a50>n7Geg^|pfd&)Cr&&f5!H19mFdIG**9 zTy6sU2G|7xOjc-H3u#;Q4QN|V!Vk`bYfv~BhCK(Z?cIac&DGl)6Pw$qQJyAh9y|Ty z-d34xUSeDgExpmi!5qEN|B8dl45NWg&JtGgs=2)DuWxq;`#Ga`MROXqN5anMy3XDN z12iPsA?Wv1_bcIX`S(|c=gB3?4Qse_lrQn5x3&{^8}DDqGkc;pdg2|+6OZJ%iF~Sv zI&{AjW^qq2|7m*J>|^Y-(*slC1XX(aq?p|>J$xST4)LRZmd=_5ua)rnmP=FIPNSFt zpU~yGRi!j6CZ4x%kAH;*)>bA_Uh?KKIGbsZSG`wac1+i8h1bXfd&0BcD`2@3tnJ~| z{>#z<=08KNn=RsXrm}qx4m36Maumfl^pyFYDG#n#H61ht{Er{%@y{6;q%nDKlXu*} zJmXI`%RJ)lUDgx&6&5hTUw+QsW`FAV1KFV}ho#VsfbP@;n>la1r*-LHEMR_{>~DkD zQ6K9GY(QFE+8s$C9a79@qb9-*;aMN`^~1q#2D?H4b>R9?`kR(wL@9k%tP7QlS3%zc zeYxlvoAtFV26e z!}2i_x?e$;&4*;X608f1PyZW^-$S8g;P0 zW+dT1A^dY;xV0P3!8j+|YHaLW3*FPu-7Pwk9fl>Gjv_U#`kP1i7e3Jw&Kavswt|fW zJ0pxko6q{tr)90KK##A2_6%sP&olnln5?PIY$U9Ou#JvST<2K-j)`>w3#q7F5})nF z*dm#O1ae!(#KT^n>0+M%lRZCp?Q% zX)0zB-ABMIO_XPRtVdgP>(7*?9sO)m@ti>XKNCMYMo_z`14|v+<2Umh*dWxW8zY6f zAA2=k4{D2T#G6Dso6EGirF^wcsGi#--9(D?atCw|Ll^g3TK$9j;L%z2(HN`$++MMF zIdgloHOJiFJ(Y#-~>BL9ckj%HuTcXwi<^9DZ3`zm;CKD;Lw=V4oFBfE59FZjVn^aSSs z@D3+iX!{(01ZG`eSOwA__)|;R{8&xgx?&hn?#Z^TOCSEGF$Mhe%4;pW>W=F1j}7~+ zD6difZR1=!+p4@kX2q)=UMGz1@gEC$<<)0oa~m)2iA>OLL3`W|ua!slg!5aHx1x`v ziq?Xe?3&KY>NMJO;1V)FLj`nQ&{Zf-M2GmEkwaJG=)RCkhdmv-n9P6O1l=b1{VMcz zM)}I~1!!^0Be*(~#MJc6I(W_eQj{;r?q;wH!1Sz-ez$|22eywPfjk!-oGLmKO!_}A z&(-`bb79x~CuQI0%`9Yph;=#Nx$yhu*dG5b@iV(?vg|Hzemd%7+o1X9S9`*G?a_6 z$5-}*XLG3BMu1g;W$hzjW57-Vn<3tOgjItr2K%%j0ag$82$}`Th~F0)k)x@Z3kZk{$)oinOz0;d$1foq1mtJhRR-gVhePCfi7FOI`2YyYA5*L zz^@d~Ku^t+5>uTI{U~`I*W=%zF#5OnJ&4hG#Pk67*RtUxp|#mLQhmQNT~!aiTi|zu z_>r%3d6Cl71l|r_F5KEvEw+Y?li+N(B`$oO!mS^mU1rydJ{4xu#=GmF9W%bie?)z% z@v=S{C8rA$v#mH78}ESjsbhQmt)exVpxwEC$@>-5PAS$BT=ub4(VU4r{=1S_@VHKl z%3_knX7U-H%3a+jmDZn7S~re=j6suHtmTfA@o1v@c z+0GxC8SIf;1^)AUR|hgmep`ZVRVFVR2`irD>YQk*@7KW|g8oSHF?yY(9QZPeK90|j zcg$26d31NEn*D0_68lvGk0Isn%4PzjV~Dpe@4=n2hqB4~GC8DuOn*~U`n?%Go8U9K zkdBGZX>mtIAsr)Lz3}?=lpg=NP^X?;X#QL}Ro6fEPn7b;cX)ZKXvzsa{x4kq;=04i zg_zpqoU=)fcolqWiQ8M#6YkBA`|;DAk?dOjp>3MpPwD&_hI=4-cKkw~XUdM#=FC zXlI?$6Wr%$ava(H8NzNNtTwFss6WliyX>paQTKRU`#hK7BDd7W8KXYpRy1{Gir zgRyMJm4~xSv9TwU*jHo2wb78&K|k;G9{$k{Gb2eWM`;zK7>T0}> z_h@wI=l3^BR8O^^MBkk4`ZCKya4wJX*GSlE!fc#pVHz9OSpF2Zjqvvg|0vIz+iT&V z(h?rk7p@@epM*&_>LY$@940xGjy%tLk>H*^#o0>u0p~fn@))A%xarO$@k+* z50oF8Dthqzo?xDm_&Mho;;N+kGCiPoRYUu0X#Zc|wUGE%G<@*8)Q5IJ`w+A?pMo5@ zKD3%vb!oN_l{{^QZs43Ae>u-Z^)@DBW%anV3foQC9faBXJCj8&6hYWjmctKYTtHZS z&FM(6Uw|DdUVKDX3DyUurKI`@s|9-oEW3_Q?`i=1HQ19PVjrglhnh8$&2ngsR;CJjLJ^r(jykwv$LXM z&c7?l2bRQgT3orl5EulG^*1g`~^QJoLVaaZpoQGo`d@JO=sW)~V6W(ET}c&1{lw@LO_C+@Blu zU+KVoXYII>cMtnC@u*pe#wBnb6b25 zqg^9lBd`qJTSC1qL=8R4?n;Wee@HP$w!(7r}PHvF@xqRBV8xf_V$ zZPdoj(g1k_1L=zz;@w6%zQ=Q*FR=ImeQ{T|@hM+T&|Lw48}IU8*g~+yVDWKrJJ>hD zE+*X8($5LXsssEL@Q(}Uqqf`&_7||uQ12zJy>sI=d|1+ZNexhG89owUduuf2SDPFO zb}87iAG~Ic*~PT?-2!XoU}ZXNKKx$0yC*mw<2>oGOVs^XSu7!}Y)MbBw!mR4z>d$u z)_`3GHcm|Wl=IyL_5j#40qDj>Ea9aNIPl+^xV?K9G~Lil63q;~`wDxvbnCFgS^GxV zA_58Dd%JuuTP(2U``6KoUM^E?;PKe+Q`Z4E73 zs?EM)-BvIskf%pS9YI^VmpM7bWR)cjx_f-+`spPv6>}{~W3Ai-0_aZ;D z^=H-xr5{Qd09pNi4wmwYDdpX@1esM>AalyIuToQlU-#JRkX@r_$cg| z?^4f-s~T%b>v(vZzZy;09S`>Srznh%@=^u%()X|>9j1P57TC~-a_1;UfzJb<1Aeqi zSN#6q$+(UVPQ?b3&{y(ZPMm$I|L;mc6zr2t?Ob2de>h@erS0(e)Wgnih@iG`e0(`= zUvt_@*N`JqMPDU+JJ0e9F2Ec%-Cdr3u(aY#Ny`|FAkJ$F=BT$oR!N-qh?ADmri}M6 zhSWU?oIWtZ+nO%TjHoW%IAU_?<`LZ4J7Qevwh`Pj!FLx}^P$|kJA%P+X2cALxQxPx z&J}nC;0b`Nx-jr`fxUp!0Bd5PcO94cf&}r$@e(8bCLpH(!FV%ob>Jn*-GJFK+MgkB~2T?)T> zPxl1t3>y;cFxmoos?K~tk@%XtY$k3eajh49hr5a@y41U(@6E&F_`XzU%U zgL96RC_a^ZM}wdI40ej-H%S&PU2MeJ)vn(dDT7fdQCK!)RI2i`az|;fv{e}{**h$i}bSTH8&<(!x=UO<|SpDt%BFNovayh z>2~^q@eMNh4OTm_{(*rk%XGdUc1U%^+fKZNUCiHyx|K4I-!ou+gG{e#{90lWC{0ygU>>Qb$A6P&wUhX|I@`mD&w{aCj@MFpwwZW$-?=(ib6`3t@J%ah zDPhYAv$<9a3+^9~zU?6FMcy}(XMJSX_k#Tm>?%!gnaoG|i)215WA?~rI2veUY9_zq zwKZ%L57Pna`5hVE^JdHV&di zxIMynqVbOBluHGqONiI8xhFh_+1VMUcf6BQVZDlW9kll@UhO~Y-VtA`lYTPVt0Otw z0qwfq_V~VJz{&_6pS;IR4fy2(-K*ty>=#o-SH0X5?gLbv)qvdx_L|aS-DY}=8iC$D zm#}mGfc>m6-W@+%BkNO7>y(?gpIFOJa!M!Q)d8;t^89K#;FUZ^_1;BbPcE&TYAqKJ zX0FqWsH(T(F|-TPrR8S&2pbM|Jy=%0gpCBd8!S8S5>^TJC|KOStp$4lY#!nI=(hpv z^RM*y-%)z4pDbwC*gWU<1bDVRxgx_{#l2PR)iA#FM57s;!jW^Got@m!_y(hiO zdWEpfCyj}mj>EUKle?j46zw#K<%s>t)LB|EU7slS#|}=Pp7h>PytnR{RMD<=3HrBu;lf9mn)@;{)pu@e%hl{B2n z390IR40LZpcdzL9XzW`J*7SxOciDR^uI4f-vvF%l!#wEjhwehz2}!aL+32?C^}}hm zw}-O~O)rf@9bv`r-OM*Q3vnWcRGdz|VdE~R@>cTwVB#6jPK0(Mv|M5f^TLcLLtFJ9 z^7TI9InJl?%W;e;?`UmMQo3rh$jmG<(?XzW$s%Vtgcch_5@2i!+52@AW$%|$MUU_7 z@%IkfSe~p$<;tG6V(%(UM7D!&ES}CU`o5TXh=gWT)B*2`vGi~6F&G3OEsPGT?Z?I>4!57lF;?R|i_AZz|BpFNUB7!l^`_ zN#rU{xx3IoR2Xu9W5{azh>UicS$)aLA+v;{YR&xi{Zz`z^&?1D@l zt(~_K?@-^Zag5@zr>dp+gwl$WOGk|_9W$-85dj8FwdrtjrhGn{iS%#h1ah1 zdjH9=@6D5;+_~#?`}fKYrktD|9L?*PJesW|ccph_aguZd{>b95rHX#I z_xhakLq<{mW#9)7Uhj9xo{HWP$wG9`gpFq=(Pts=kz}5Mw5GoY$gUgo(h_7o64z@L z$kyl7C#%7Ew1wjJ2O$3Mj$gaq*KPxlV zUQ90Wt>vBll=j9d(>k}8BLR3F`90nN)ebnv{l~RVI-Bv41`#+i!2Wx)vn+&QJf$g` zKy0v`;N4EqQM{iSBxzDfX5sN1px8>;2O=TD84$8F$HYluA`FK_dWxcoP*HWdun3hv z$z2wkI@rjhnpI|5ev=$o&EQjb;#kte(5WtldWVpWI7?FXwk#WA5vxKJoO((>0V|j8 z?5W5qiHTsdNJbXphy<(b+89;`md#(5?i4Ug@4?M^oIVo!zH1amIUS0 ztF}=LJLt@}QNCN#_*l15xI0+I5CGn*rHQFj|FducX`H#7k1e2jiw?(#qD@*(*9N-<8;4|!ZWvbEr zujN;!@Ymh{X)e6M{m;^0?*5;^ujtQ=h3mifboLEdit`;s_6_sg|LhyG;n_D_>B95l zD_n25Ixqfg_x~jOU75Pn{m;hFhG*Y@NnZTZ-T&5w~8I`}Q{uxw17#!J(8=EaJ0 zhp17id%1Yl#{xnAcmuyAPVTK3KPF zV`|$o&GfxmdqA@hnmHdpvlE)1e*n$!NvWcJuGsUt#zJ!@G|y5L!CWur6*0f{m`jgr z-g;St;_&qrsDWUZRKA#ovI`ZoE|H=I$OoXJou08PD1+U)u>-~TIC+UJ$ zAxD_bKmf4Xsfa5s?EF?-4>)7h~)UIopU zTlP$|8JgQafMz!|Z+-wx`IJ=AS8iG#+>L4J3F^2fR>u>d`3E!w&v=a2aeLZ(a1Zs; z2Cs`+*ZU(r*uPI}O4}KO{k3%apC&>^V;)l4Aa-ftI&DvmDEc`HRaH@-rwNr z*v%!v%bmMKB6J=`bJ}|}ZQWw-q=)*zx$x+`V|_Tj6xIy(^E_-Z*vdR?IoLya*lMuv z#4yR?MzGt!{u^~s#$@JzyZ$?M(EzWP@A>~<7b>$=@cPYtx#gGv>&e5mfIX9k?EqVq zhZRp_k47Fg9PIuWrm`Ig_HD5LM%gyOYtVQ9J7v2LUav0u@09J(6H-OLT^^OK@;w5q z5A39bd6m3*&1%Ne-r@Tc*5Qrtdg-b4{_|S2mDhjv=jC~iU@jMG->cy@YaM;m2hX>X zF3-;3FT|^)hBIegSnqp#OxLm6>oHZlHt!*iweb4NtLyzo_n59MuL0im1=b0v?AzgW z?~eaYy0*jX#DD*H(lur}I%=QZ|4Mn?1h4ZC?)|Tn*G70f_nBV*OZ)w2^0ohdh2^V^ ziQy-|-0QEA(uri%#u)w1GF>^qyL)J1UJda2RCTXERDO|&m-R)_T(g^-gx8yUNY^TO zy>cQqb)Emwd4JT|K*bcBm zM2Ah)!eF$7M}@T!_HKc&6@=>fv7h2O9J65w-=aba`*i8p|DE zhl6E(+!fFjpOh;41laM4$arZXE{?3PKDwzn@D-1O_AAg{C|aE|z#{euJXV3Xfm_}q zUvaWOx-xmLLi(-^K0WaHc{p}6e?>H|M}f!IV<%tCrKIuQ0B@?JiZHK!|k{f2}z^wV24-m!_!6ZnYNTzH-Hc(4DC&P<79B+8G~hqK3- zpWDdctVzRR@#=urppIVurQGpbR3~%hAO1(xR68k8D%?OxOCw;n(uBRy}tqVlplo+w-Cku;9ey3#ec^fjdc@HwamfN+5~UPX}dLw4~;!VB&?^R#+e)CbW*!$Mv$@0IO%-GuYNu|1@ zR<}HJmvK9(^|#9#HBUVnvzI(ko3msV!ku~o`zAB>y! zEPOZIs~61VKAm`qcm?bh!@KLx=xd(Edm$dwtUkiKIy^h+r?#>N+V`Nf`Fj3Khi(F! z_Lp9N4$r~b=5)52VwUT_CnZ}lk|&A_Xpe&I`&lb=3jgLn?qhU-yGF-)IPNq zP5a}M%umzRt?)YSe|mHFc`pUK5$vP zaoJjk9nd}s?Y~1>9IM%V)o*4`*a+Hd*=fvu?&$RgD1TPRQCa25vi8%yk}8ltm3src zzVJ@3e^J<8t*nyeg?qjy&|V9*{Z;Tf`CU%?&P^9n!tP$YNU!T|))xw;OR`cli+!&D z=nZ_())%MW&i1Kgg#C%IxGgXW>|bD6TR=P}fDPT%8?5(1I9a!%ql>Lx>j`Th>_)wd zk7RZp*o$ECy$`Km?}BCfWi_j%V1EI-SrOIOvU9DP$5r4n|F_q_YA^mo^%9k3blZqA-L1k`U+dqLSMla68@{FQ2kax zcO!JihxHrz#!XhDe%t(_2N$ScmGxrrB0YP#`inF>RjasLhBdI30pzf(J>y| z!TP`^Ic&6k&t_iofDL}7p7YAy)-AI~WOm*H)Cx$)5N|N?9#A|hE7OZOfKv?0vYIiF zf!WYr2ki*SfXV+Unw}_jB4FnWw2EffhTv@KymaV{+p}XwCs_N3z8Csm>HRDrNwKL? zWvG5*6JghXXhXQRNhB)Q?cfi9tJ}~=SkXD`WdV!#al^nK157R>_s%U}x2cr1o~>VX^l zdgAJ%dRh*457-R?7(4W9Bgi>RTBLob2ngV=a@tC~*NFEy#iRYTa7eDoN#n!agxz`d zYJa`LlEx#EKA%DrEKh1V%JYQTTJy3Y*r&>WwWT_+XThfO9JG5oQ&8(jQN|>Mj#F~f z4BZyefGgAFFTQr$8%JN~E`nEHRzUkRcz#i|XDBb;a4975$q@FNgEji7t@_rFpkD*(w78g(>#;X=yM}K64e@bYd zMQhBtLp{C*h&3vn_n88QvGUapuff->_74)TNGDOv-rnhKK@wEQw-?%j%BTlzrZZj0 zTvhzOWUJ3{!FfH52`78Z&2sw)%Sc)olYlJ3>(;;bpAEZ;^EmHw)CT{!PiA>rpBmX* z5pV1W&pV`;d&F5s;f>=San@0L)ukQ$U*pv%^fw<%k|otc8}E5`#s>fK(2m+e-`&mu z%LVKxmB$u%9X4}=e_;8Z((LR2>VX4sT0K@dd6Wm~2Kh=^Qh7**#+=XDT32oe??#di zs0Mo(>@}VPJ;x~-1KB0DoQbiO+yvV(aD3?+z8St72TmgJ%y_$BNc`)s+Tbhg`lvkG z!PbJk5z3|6l}Y8!Ny{nk*#d&8G;fF3=~w6Kx*{AKSAfNJ-7v6bu&j-*xD{aE2Ky+_ z`Uo2fwlt4l4cIEM&lpwUZT1kg#|f)`0y4EUv#df&B_Bp8joMuYqODR_WgjcG%Z91p9>fFKpXGsZu5SO2Q^yx4|E$Fh0_KwO|)xhcyd``bOzK&gKZ#&{q;PAG%KH zKI!ztBAFStB7J#ts`Qm_r4r^;)z__o$3WhH9nVE`*vvj7*eA9bd@lIo;%&M;lAGwx zQl|@$o7Mt4NOC>mf>hD-&CZ5{S3et=wr^)KaHZlX47RuhEE%3n{D*GX;D3cO3(^wl z!^j@DwAi}z591kuWxs`ND({u>y6c@KVQp;6dlCnD zl75;1uNrv0`=<@T8MLN9tZpM8iH%3IV{kM^0w<+&34B(_?&DdXYQ8JL2EMVu-?x}Q zdAcbtofGghd+%TyC8bmR^p4%|JCk?3E`ZM{zC#c%yk{olne)ZtwzTe( z^^Ppy)KFi!9bOl}|3IE4D>bCQmdD~tx##H}#=yDq7}fuA;hY0hvhxcyO zr@NCH^l12OhtEauAL;Vx&bp+#UQmpyURNHL^4p$iG+{!bj`kf2@82BfI^Qqw54EA%d`<151Rzlvqg@LD2 z9@aoMS3rCCyBlI_1I_0^`qSLI=o~cJ4OK+bJGT<&a^ei(Ss$fuC)kBCOt@%=Tuyrc zpD2Kj%B&phT*~Yb0hIl%8os*oQq4a?*>fLY&bV9osw3Wu#JkVMi|=1fFARsZrc-Z% zb|mjzAzJJ6@L{>L0MMzrx3iKdpsH!5HOG}!vCjR%TvwRdNd_L?wX6O2U7viL(ixxY zjbub~F~2Kd?%6r}!{%`YF6ntQVf~KjnMj9mYDL;RVQ}d#ZNu@V@XHpyw08!r5Tbq- zTu{#Q;Qy=QKL1+PIUl9J73}DNeg2uMh)9PdjdQeI+8bM7t%;&c@I>_k3j^P$S{`eLDOMZ9X@ z)m7FPtiv!~dA5EeJMw3Lqfp;2UQ6M1*vI<(2PD(RE1F-->+jg_!ydl^LS0YvZScCf zyw879b!oh!emUZ0{W5Fi276Q4qB(|xP4U+tgR~{$P+SuSCvW{Sy;6Nuswi_vU*JFH zELWZ6p!%2%em%P26`o`L0J0a{CDL13j&m%i56RtP=#QW+pX+=e{l;6AVQ}`{4>|je z3)`#h>^tw~RDa16zt`b+FX@^+BzS+n`Ze8<9e<^~uO{BWL|i@^4~}la?|FEizf1t- z;`XgjPHx|drB4@fwe+(AdxiKW~4-Eq{o(p@|^e}1N;!_5-XVYVGr1s%#Mq&ta&6*`WZ z0Y~;;gp^4frzrtk9G-MyuHAhRPCQ?6MbPeZKe625-)1ws)@|Mb_ zYIac>VS~{_EQ@jZN_vmA8TmwyPM0=JFKs+ESWK}bIg`?P^Wgh@WnXwEd<9r5*fZCy z_B(mbZzJiBsJ~SFRnWE*KR$n)QG75Bsq_)u7O*ZbRf|5O`0fDv8CZv8kGfjOq7(eY zc5ft=;w=fR+n_N*qV_X_j_S{(ZLN!Qo7RW9zBSJ$VC$dmEl}RDvUJUZ-`^(mg=feq zt*u~(PV5W(<&JJC*co7ELpW?D*qdN>Hl4%PfqnG2zTo~7hiwMC8qC(IfvJqQgKY$R zOtO_;mfJCSUSMva|ZSrg5rAt|P#D2In>{AMkfjHisFTsvSeB?XW!?cTUbDDDu z7+yW3&1X6_LgZ|)CMYM#tyUghbk8BZVi$Oi_z~UZ1N?2{yC0bw&&1h<{80$C@g)Wk&oc90{nB0ec`#X?rc2v zs;1XxhhFMWYM}cIbWE|?*pE57>FQ9*`8$`eqb}?7yLk@Adck>+tDOE&{5EJ_g62%c z=NvEMvx_>I<6A-4N9OhUyA_{3(>dpUy%Me65}(aV2ed4AqnrkY`7Y=0PQpHQrQ^dH zmJ8Sbt376Kx^$=p_l0Y#;b8As0X_r#1_6Ak_^tt41GY4@r6|)y zl0~-`EVAt|f;{h{0)3P6G2}-46*u&SK4#T>Ian>&IG%$sht1vK8<~?Ga#$Z(1>Hr^ zJtnpF|w~qheaXTDapWqEszKdJ1x$f@EX`{ozjsa79*GIm9kziB7<_bXm;=TYIr;{0u z>&Wp1i2rQj-9Wsoy)pr;39KD#m3UcsQLc-aA*J4;{JFlVhRfp;6u0VU4Sa?yak7Hq zak9)@(9N53cT}5zk>aahC+R*$y^Vwz+!^9Z$(J z70rp;M6(Dut*c`7VXmOZW5zXYX^4ud~&r zO3$8`ZSJ~k2U?}O7kckIeZjpzQMxIMhHSFUU%3;y{h?b*oFI*P_8fhr^QY-Z@y0@B zKlWzslY&on-BRe^h|1h4V_ZOsV z_jdPHa{r0*e?a3wbC+l=zO5OQT()E@xQw7p&|L~$eMqM}Hcm9{uCm`r_~V3|ADI72 zTgf-@J%cH~I@j3FgC4im&W#;G*zXCmv(9*L3-*6G)B3V{r5`2`e)0o-!F|J&kL#Cc zQP=})U#3}F`KoRjpimS(6tlS zgymaHcq`$DD4dVVyaDV^u&f=V_BtQz7O?M&h_VRvX=R$T(gUefnJt5E(1Xsdu`)ww zZ}rUI5cQ>aNb|}}akmopbHx4s*n1x^E32yi`@_go@P3{+zhdD4ROX_xNxn!9^+EmJOA-b?u3HixtUmB$G+7$ zF~%h#vuB%1Z>OFC86Lyp5fe3aObWpKoXChn@Z~e(QTYa=$H^=z{#V39tDDrfm-5y^hnFug_tnU%>2bq__CBcQ9bq+cvifCd6|!Ja@u# zsd%22%@cb#w~#fvDXuHem#6xWqD9nu8CqOa) z`cv0#a!*h_GHu)3HOD*YFzy(guAQ2meone>iir$5^KitG5J~MS1smzU9=<)E#{ckb zq;E5F{9@nluXa8f>D2qYcEBt3%qI7#P{y3PZpKEw-%{s%H*Q{|Km7VE<}C8{o80I5 zuJZbQ6%Letjy1e$03AvUROy{(#l3NGHpoe+2qP zKD}Ru%(IPcU=Ifu(r48c4!`EONL*jKEUzbJK8yT&;k6rHW=({#*G!%Icgo1e=uwXy zB7LNu#p*;w7i8!AfcJgD_hGqIHkLF^7wV(7JqfG|%*>_oocT-)(q<7T zoT@TokU7v@2;D?woSN>T1?=Lv6#NnJVEuz+SPAw6uuqHD$euY5djn~!NDI~-O3ypM zUI05js?X?2pW&}97CSw&`<=w`f0^kEg_VG<0y|zre59lPU{8S!Hi-A1Xsf{g46Y%t zK9ac>?2lk20*o#6?uGBe&)KB?g|up=nRJ1^L8Zp8@>qaTjyHV3!KuaQ_az1beGy zXICs^nEHvFyw{P}=q2;csi!j$!ZZBVk;g{obI5ZWc@Ed}_(-lLV7GwDZO})$S^+i_ zOz+hj9~j@C`h?x_SerYolz*#FtD^?=QU2XvSCD^)fJ~b+eIyqsh=u8l)sOVNn|+Nh zZgT(N)B0<{jcqe)Co^`V5-0h8qWTfFwHo+54IeX)%hV+f_DH|km~zf0{jy70kD=%A zk?i$gw}R=rK9YSo*gfzu@dI<`y6OKYySAk~M~7-$LG%8apj`&7@psMp!{#kiT*2>e z7%iREv1c%Cw)+y=7kTUSU@A&zm-?m73p6CT`a}07bV2C`I1G@`sn1w9`d)~q-Nm~il4)#&MJ$LXY&3iF@17{EyrQV70C&jBB zUeEn%llz{YNqy*w*DIays?^CAZB9US0SI{wCp~}^H{w8U^@9v+Puk~?d!<+!s-vS zYsGJUdN1|R-2&Z~P?ywoJ1%B?xWU@Pp!=6;d%X0Hu7s&;JK%L_Q^qHkt=tQC6xbZ` zr;gk9&G=4|=)&xBs4e%ok9)|-XXe99-$V1`;7d8PO0OjSZqiQ^Ut?dCPVfb*qIy4_ z^cPA0oYMISn+>)DO#P)kYU}l2d%(^SVE7OhoX-vl#S(CjfsCCJ?OJG$Z{FmseKfT6 zvB91fZ;P~{m3+IQt%0^$e2x4Z|IS@=x+zq4zi26U0Fb^QZfuH=;e46VK$e$LUM$;H zLEg44o812vZ@=upI9V$}y<5gT3#;ePgnrOgV!J-Qf5&#l$IHCq;n>%)=}A@TTK?x+ z=^LZow{*Dyo}1vA7EeCv({_Mu06Sj*SFFxY=`z*w7ewDq+EFiO=3qqM{eJcyfc=-~ zjgHK<;O1TRA+3_MHvDLDh2erbe`2<@l)%|){nnroq{%Az5<ccdFO5(3Zcp z$-Ae__yj?}orzD&r&<8rBp>VCpG0 z#kZ*@erwvB;mZZb+{Q9}c)D&_dKSlTGtKHDp;gZBXx{Y8g8G(f;2+_mcM$f5i`si%Ho&gw`H4mhrEa6G1L;mc|6As^MGt9qtK!lNeDxeQm&Z z-Pz7hV*1>E@LUGZpG;fp%`cd?b4I$~`J8y1E@L$)>%NAVWrw5F{mwA`kn%K<=aBQ( zx_9&4)7zMIzl%HMsSWZ-p9L(wJ)b;x`g!Iv&7ac zf+-x(&A+8nI6IubE2gkcVG1i%&t`q<*+Ze>1aSVGPl?T0dYBG&NOH3))2@%o zIUDSs(3$gdD9T*Inf)BLOtJ8^3@b}$5M5WL%T6=TB7!1s)AKzV$$N^kIdWe_M2zyk z3ZlhLbVs)Z-)Ft_A)DO^A3-S7KV;@ZGrY{+=TWTaaW)kAi;B1mm}Taf!|-(t1S_d< zi=jFOXVJR?hWnYS{I9gaq;pMhH%yJ;1F~C)E^^=oM6~tP5zI`{MAh|*IR@uz@|bt#!o}W$j(RarRPJePoKKhec89=9oFA! zwPRy4w|g;ru&c>C_G6pf_calaX-iQ)3H7R%^Ij^wv==*pdrjsqcB_}O=GZ97RF7A} z`>n6?&iSs7uytVV=d5-0>huw|73}!0ZT99#eQY<_a?FYMNz-D)h+5oWv zzkRXSj+pNk3xXMT-mb!-kdBABNJa_H-_v2Eu|OF+zH))A)CGZ z&4w;>HqL(1^qyx!=lK!H>(7&0e#9Ayq+4YPZe$A!C)-o`FzbcjW!?j}XOwSyYQg^n z9@za-XlH`G36`11HtUb@HCgB3%ibI3av5|FP{w`Nkjc~~eCIeDwYR|e*vaX37LUwf zUF3p7>QW*7TLHTp+6%Zmt#ESjjehcY{?a}QoULj~CI>xYA$NHcUd?Z=uHf&2LV8I4 zEd_5Vybzo#zY9kfmn#d`V-#Lne1*Q!`U+Fb2PJ62h833y7*@4BVYDdfpg64<>(ySs z;>kiT9q^t$z)>pq4?v#%bZ9+*D{ai#B{QZFTUPS4mIG08o-trv59MV58!SY18{J?k)am61}+ndsSxc2c!Y&F6iZ*y zix{)ovB0^{mOvWio&`@0+;Jr}3^J5+!2KN9dtZx##ef|V|96TYC7L4qD3CyJ0V7p7 z4Y>#-w-<0_j*3uWD6JyAoux(98$uP{8@s~NBF90%tDSTB<`fPo9wCmZNS7C1qOYn* z*B1ZZEx&0Mj|JrqYOJZj!g9W2qsql&R1>b_`xSgw+fs`%LhOm$ZL9ud z?W6dcKilj+7LMi2_&<8>-DEL zyK_GVW8+U{;u4uXtHz%;af!1&7B5!=ygt^p*A;ex-be9xLgup!qW2^^reR3f3#p6#7H<+$Vki+(M1!*WwS+ zgAoY|hTES1Pu?ezP42CRo9Ca*1S?H7W!+uB0Bj7{SA9D9C(FPt2m6jNV$S~h3FDun zylKQR7PKUr7eyQvMpm(IzhRa4-V#{HZEv&n?K0b{4d$ z!meq{c^Z|L)!K3t$CN~wf zv&^18Gq+~WBQ#@;)aID7tcJ(yACN~oJQ|7)UJluefj?q@&Y{%puq@`>05fjRtcx`J zCe@8P)fkPaF{5}bfY<$p<;jatP-nch!fR`BlefRt)R$PfjQttbiCiVCSaW%JlXbpc z=6!W2Bj>hX-wCf7@H#)8CogPSXS^EW_2LmtE<+f^w+jfL!>Vy=odOPrsuI739!rsFB}w-rG$UA@Hp|f&Sjbh&1ul&BhxBq>!IBZ@6KdemrOksC(}N7 z^zYrdOubff76LR~$)p%w1+@1=+t#T}I0>mII*3$8o_XZ|(#MXy9k-a=x21vNe!4iL|erihn8nX2yUSo0hRhIuATG zi5qs&YkhJ^F&F+4)2?Udns+KEv6KZ#9qveAjw>`5B+usi2tV<3{&J@;Tix^*MnP`2 z_bf;<_)l^oV1(DH{$oEf-dWz{9(hP0W5$PKMZrSGb-_L;<3p9`ZdCQcL;af~9d5k# zZgrf+ZaeJ;J`+)D4g(wkS!#E&Zhh3((SDAJKK(_|YtQvm=u^K?2HkF-sx0P~XY-X? zo7wtH;)6=m7QfW6Ffn-k2$DF34^1gkJ@+*2*UL z{Zsg1{PEcKV9peLpeOSv)y$(zGiS9mq?}hu`KH@3&hn8I3Jd`qJLt@0hKKi++n>mW z?Be+oZ_U^c)!lZm>0kvar_R}Y&s1HruB9iAaP1OlWR6^W!hAfT|tkBI z>wU@?#j7v&w&E9@MgLlpTX{CTI)A_BhLdZ)#62bzoM}FS8`pLH`N(t|r`GM{){|8! z=O~U9Aab{kSYSlzSxQyj$kcx-wVc#3eqOGVO*vn7e2yGc0OuzDwK2uNGsS%*sZ?7h ziOvauFi}~ZmvU200sd{H|AFH5k1F2epm^IOiWek0eQi+#&4j5h+Nmmt(dMtZ!Eq2e z=Aaq=qQO=lV2h!DKg}OvB8~p~|EF1JRkhZ=g6g9BVy{6=ooNNoNLKq@4*f~rXb#s2 z3Tp&A1?*V+?tPMU_Q1LY!TRz)-!g4-9EJ0P5OSAp1U7x zR%LV6IV?S%;cO!?HD!H7R|@tnSm1978vu6w@MgE0^^7X8OGae#s|8yQX7if~_IEIw z-vY3@k=gu~ft^#;oV6Zr71*_4#&_}MTMu?SnAykeV{Kp$gQ?5WM>6jL+nmEM@htlj za`^QGYtP}=2kfX(+585A4Fo&UJi&WLHQ0DCTfS*v=YiSs%>uhAhu=c5AAkjGIOUHu zfIS4ZN6#?z7at{9Gzcb?Ksz1Ux1oKX z?^>5NUw1lj=EQDq39flR3!!Nm+w86v4WBapHGs_-M_p09MXtr#^0vq!{_Kw@S<^Yc zn>Q9bJ7!$F3mz>Kn%#egJj_}bf^0$;)%nFZ29Pjb#>)UPk(8zDpi|O(SuG`5NQSEo6LprdIHl5V!LyuJWxT-)ZEl z4)d9_BN-d}`EXh$r2D{!xgO+Fg;&0I@?Clm&+GRBXG0vs^QMz;*+D$7fqXwci08GD z@1=uyUXNe0xAFj=C)-*{zIO7NewN>5{Hp;w^@?Wqi?S)k$29GZ`Kvn$MrnLCN^RGh z>)6wwrh4atGzyz~9E#&%An zQyQ~ATRd05bMZCJUVP&Kc=n6oDf_)2p5ME++1tAgPyfykZ>&$(!LTrl8T5IP^+wQ^ zk0pyRO+=lh1GIcsAI0us`x$ zdb0Zu1~4U6=>`r!dY(WWledw)|0eI>yUP1Qc3#P{kGwy+zBwz-RP++@Ah4j1 zmd)x7_B*gLJp?*J_pHHql8%e*1^kC1Z&tG|bYCJx(55o`GP$1S|9Tt{LX zCy;K-(+E}$X3Mh?Y%*Ax9v1Pw_K9&3n8@YE0%+^m&u-Ra7`sq))_}KDPg53>f z%TojPI9QxKvq}Fo>9&6A!F~s3>t{LGJ7973XFcgh+?Xv-8`$T-YlU`PllI4t6bhY1U?T$ChUS z*c9^E`dJ2cEm)j9Ye~PKbXz}7V2^{@`q>5c99W!w3N|zTB;A&$7uZ{1wmf~o4xbY* zPZjB3Al=qaEm%J=TR$_wP6CV5&k~=HEzb(DA>^^;SqnA=EKWZ=NWY16TR(fj?gq2< zQ_#e?3oK4QrKCSYx-HKDui`{SMM?d1iq<3})+RA=uMkaq_Gr{Wa2U{j39f9n99xRg9$TK?U`Ni4muDd9Un1SsPc_&OFk3&1Q74SCVeavlQ%hFk7CL zU=M@E>1QM9&y#NJXD8SOFk3(Sz+M20(@)Q>9v@qtK47ns$ChUx*gIfx^3;(2(RtbW zsRKI^%+}95uyU|C{VXT_4AO0R8o@3Hv*pMrO?;I|*TTc9(0uDx*pF)Y)2x7j%+sDRhr@A=_GLR&~Kkvh9LyZ60*p+prZ~&`Gxb z&~5EPwn@-z?}C?Pn*-e+@}OG*-J4y|Nwy~F{@sOa`=CiJ?7F`7-p-jjdC*lrcWf7Q zl5GZbpM|co`c@CkiCyrL-Ws9%S{`&ep&Q%(TTHb8Sj7rZ3fUg&PigRa*r!~nXWlWb+sJ=le8)1Y~z3tp0KA#^{^ zgKjl+Pjx{j*>*tpQWvr%b}%Q@1ux0g2fA1CpsR-NPhHSSwpq}<)roBC>z6^(4$T(6 zD<3YIMVuNB%7{YK~?xFe3fx&!@w=ucS`M_-pkucZ)uUnMpHy*UF!YbO4f zE)re=-nh8gJ4>jNWsd*w_8!)NKTzN79;UuhH`JuwH!-hX{G3JFZFe@iXDW?Tq`Xto zy*b+@r2X=)X7B8B`lWEKN_|o*ZWIVKaYgx^>!96tce8t;_!wGZy*e9_HR2q+9@0wA zJU3rm(5|Tqc}!IKM9QG%vQekvvnrlRfvk6YTOF zY#-QMuumYPK8i~g?PQDwc8ozhtT)(V3o9e7AK0B>Bjl%=c`C}(VP3#27dz3LNi(QJJ<*XzBRmE^*zEo(f(IU)f5x@p z;V-l8$YVb|Ui*Ht`>zNdxW4n*z!u1{HA)WEud?6KPb_bCZz}NgVV?n%Q|AfkJI)y~ z8}Y?!A-p!MU@b$)3*AP~v9h1UVSY2ZvWiz5ypDdn*{u(G#jf`^a>d;XAYP@fGyZyl z@eq5Gy>{KXT<>-wR~@|i{ zsc3$(NqgaUX}1>lb9SBgZ4&K9d--T~taZ>jXv-$aM)ci9JvgK#>+HTVuv@@Jldg~G zCV;I48)*;^n-2C?4mKOCw9i_%x7Nt=QQms6z9+7A-_n{?KEjrR6@O)|d$Mc}AN8M& zqC0u5yGP|P{hsr>R^N(#D`_n}YbD?H5w;ubqN0|pbw~Tb&N;LtYu!tknP89Q@LK@(Y!1I=U|VzetpfXd z4!`way^hS5uMO;rV77dFz{QSBA_z!M+8y*thYEwMS-=Gd60?$>}lc zMJBt8 z_oJA*U329)C1%Y@DV@xKPqetxicpSe&t@KT7EjIVhcfRJN z|8C}q$XBiBntb`KIhjGeQxD>K%gHzKAfC5_e3u-=^LpZ#%sq(bRgv$3gLvLN@;z~Y z&nrXqYsvQ_`MxL{h=aA5V|Hj`2eiH<@t0&`^_N->Xnje4@|^Q!>RtHU17BY<3m#Lx z(sEGiOIDNj=>9Dq>iUwRzp~H%tF&?1E2GOU`dNR?O5FMq+5Q@Mo-m*#D{fr}Rt^@} zV68`(2R0e3jPGj4x$6j)lYTwveU#2eyc@w5gV}NPjbIOhsh=00+;tXvNdE=t8q4S- zJ_$O|m%(g#dV;+HR;Kg_dHR!n#MiU=RDyjD%;r-ARt^@&XEy0mNw>>Y4|WxpU9RO| zw}Zu%Ydz@?k#3i(4QvgVEzcgXm%-xX>Hat7$#eLWfF1r{*?jtgeGV*+&jiwkk#3i3 zI@n||yIixuE(eP%*D}&?Bi%07DzFE^>~gIKTLTs+&o0tm$>Gxu_Erv`?tiDO--zea zm-H`?ZkMYJtQ^cP*95TB!Q#p_ll03-x68Ev>{c+lT+6^71dA)zTGF4%;nM`RJ%`UO zu(vwlQ}71!(gU;0)eG!%V0O9sf_)P#u3S~5PbA$gS1s5jV0O7?g53%hSFRHLi8UQvP%q~|I*d<_b z<(fhI9XWjFfIXbUX9?KTo$y&r`fH@y<=O!D7MT6Mc7PpvN_@HYlm02v?Q->alY8I5 z>~fWYjR%V>R|V-;=J1&Wc6$z=8DI~0!e=4r&y#MKs{w2~m|d>bU~hoMy|1mLA98AT zxpsqn63i~wez32D#g(h~KN#=j@aYG3c@Ccnu-iM~GmZ4eNVm&13+!nyyIc#wUIvRR z*Gkg=M!NmJ)`1n4WtVF!*eAi_%C(R5Q%Se^6upJb%Hh)+?D9_d3?%(d((Q6pgFOsp zmuni>8nC!>%_Dsa>9#ye!Tt(nzps^Gh2_!Zk}tlI^v{s~Va`jJ>|+czxaC8emo7!l znehDEkd`jzdzV4?ZXR^&p(`BPHNQR39hnDR&wuJZ<*xY+gzkhq=%zt;avpRGp)1dW zZZ&kH@}S!R-5Gh%6}-(ls66QULU(x{bQ7SvArHFQ(A|~?-E!#e$%AeqbPwi1w-36< z^PubfPBQVodC*lr_k137GoWkEgKi0QujWCw7P>#@LAMLKf965gy`A;k!@92b{h>QN z54sxYK9&dFJm@}?2i;2OzLW>uR_MN&2i<C7OvgHHKdF+M9LscywXwIWQ6DDVjZuwB=Jm$b_;kcF$WzJ(Gytbd#@}bOm^m>mz zU~mzI-SYNPj7{tRGz{Z2w`@C0!odagp5&3yHfL#N2vXyrS z*ix_+7Pc3x?~hx&d1XIu!TYS&e-gjapI?zIy})Mvq{XdO+?;+&tO9#l%!un}?T7o3SxaKpCukfq0NTONwz#kPv>nb#F>~js zpPH?wgr$S|f90J?-anG}&Fs9az4Xsj^Y#|D=I$*lfqoTvA9&7xF744j_nR{qyfrbR z*$T~R>s!3L-V6=%8tlhw@@dqr+o4H6-{L;PcduQi8nig4jGsL@Bw#6NRpH!~neWb= z;brZ)K0apdY7#see%aza8S*e^c$qmP=2`u-b-X>8cf{~m29G0NYH{xk=f7g-%AM=u z=D*-E_17(KFSTPccV%MrX76{-oRjl*1dj@`m8MdOlbdN9nv*p=Vq@dZ(VfkI!ROVs z7WdR}{>$hjN)|Hz;D>JXmJ(Xu48 z`zQJc*{eMH6-4el@YXO+g5P)l+~SUco%s1@H`CVV7TlQWO3Yf0dC)!$?bk%h;>NkD ztIRsd5`H$2_8Zd1`f2`JNOq%V_ExWl=8(U%g!fVEe1kTyuY$d(eCGKqX7ShRX>T(uouAWm|`Q?4lvat@yVU*Ya@Lh>2{yL2dw*^YrU(#*;OaS{Ln601bU|#@> z)6W8*k1fwKunO|n@~i?o8!S#gO{CvQx~-pGV0VGp`e_GS0T!p9UWcU;>qxid=?m5d zX3J9s_7AW)d1^^N>hIb5nF)3@n5~}$U>^aC)6WW@k1fwyu+NjnmZu4<0xV9Ry`)bg z-PTV*F?9~i)=w|6MPPCI89@3Yq}%dTfjtFg%To*11{NpJ9MaoKx9iUmu=l`h{j30c z7c5Rc8+<;tJUhU8ypb)>Ua-%D#mUp7dnz%4bXz~AU}uBb`WXN=6D&?YlSp4kx-HKP zu;pO3e&&EZ1r{ey1L?md-PX@)u-}2%`q=>X8d#iucKdv6dG>?7O&(jG9*3i|z47w& zBfTH#wtgzWD!^?0OaeO-EKWbONWX$~Tb_kr-v+bgX#iUe7N?(eq^~F4*3VY3UxL~C z*$wtQSe$-}(jFgMp598f0T4vKl{KQ2eb84bVMrg7+9Qs`j9R@wmbvDo&~ezsRr8t z7AH>~>HA5y>(4x}9{Ogb{d#1&rYy9usC@VJyMB!(rx|p z1iKr|)=wX>JHg`gQ|a@u<*5N%K^|M4I7}IG^6UW{2xiNZI1-(K#mQ4b`qiY{`sojLEtsvJO0a9d;`B4!=VQw=8*CAIYat#vrwjE#i^XIpV}b9w4t(L=9<AbjRdD zw;#IWyP%V7rN^WaCv_oPB{W~@f|vAG2i>W8&@F{-WEXUjZ5?!{cOly@XllCPCE2=v zG?kd12VH;YW_Cd**=nGh(}iqvp!rr8yd>KS=FkjnI`s7iW952Y4?uCqVN$-?1V6Qro>f%tgnh5^rVj zvH&ju|HZ%k7^U_$|H0eaJOKRe_lbe4&w`ILP`j_Z*xv-w*19e3SCvK|5Z=vNtMkOe zEy?CSo;lFIkl5l@=F+kY?Hd-cWM2vG>&Y$dJA5~?|J{>)J@_-J5U);wmq4-uyusPx zopFyGb2&JDPBQhbA38L#wZw6>(Sj{m`=ok;-34aPq4fb<24?S%9SHW_9IP6w0Zj7h zBY$t2k3A=VS%K_*?EO+du)>L=UjqGC3b%Oo^mU*w>p;IA`WIs9tF!0_!haw1XLQ@* z9x9!~zr+4p6L;pC!_=Ql5T(;f%I;DfQ_eJ}AiEEvwqP7wz#A6{mp6|ZJ{cQvfdrxz%vnG~D z6FjD*x40~I>_U#_NFJ4B>-h=h9eZqXrxtiT{5{Q4XDoA2K+0j?T%;c=UbXNl?YYGr z74quDUxwEgI^nevUZ3f;#rA_vc)aS^L>51llQd( zUM0h~xL-O9#$C-%H5EEXM@}7k^C|n_RXBc&dl{_sk*r0Z;vIq&YeQD&{J9V5C};O^ z(eF_6H51_V$;&eQg-r*$4otR1A7Qh>?gIO!K|HJ;Y)uZf9Bfw()(Cc?v(_y-!pmI6 zpN(MeLU&rY2FujxsQGoKz*5dvV(N}KN+-RKPbJ*hTilb?nHil#wYQ4kzV?sATmxfx zO^4U+`Ymq7vGAfUc4AXF8^kF+Hd?)j3bL<;*Um?`xJQ))yf~YBkrTNe_wS#Kn0zH$ zDf|5Q!{^bLwz&WOAVBBuTz7*wze{m%$`CFV8JgaWE3wzy-7*F23b2&R7ejV5S7n7{ zTw%;*EKOY8)0Vmvvg`RfRLnMTXLK7Jc0#(FdqnnfpGaHkCUF`LFa)47-A=+B=hEVf zL|Z}HjACb!$tW=@{frX9q;||n3g@(>&MCggXOJr6%ODBxlb|%g^J~PWJW7CzNf|}L z6!Kl@GrEbt+yj60yolb(3Q&T*ZZ_@5;{+crVw{(-26tw{pq(489 zV_LB@#4fH~S4>&nBv;pUYPMyZ=@l?3e~tSHYz zW>j)SKsF2sMK%s*dRMAXm+{xA0h#`q*YyWeHZ=lU!=&-Va=$hOP3f%S3xisBL9sJE z)XITasKBro3uPp@BIMIi0=wqvEz3mtmM)Owiel$c!y$OfGO`C}E7u+rpJ~XX>Vg7& zoel^~bTFC;O>V^pVv|wu*W$Z?3ab%Fzjc9rskImR zr(~g>cn-3zI~4V$p3yO?vQ4=vxLVhhehG(%2JdpU$d0`c>giEkCl0z< zGO1oa8unkb;ro+nM&r?wT~qUv;+jB;qm2}D9ReA zB}c@)k~oc=ZoQhT^lE;aYhTX-J%_^1poBU!$*<_mMtRkMw&7Celp2lpgZ^6WN>xam z%LTB~hq62?8LwLZap#KDKLWBwJy$xmA2v%Q0^~>rU19LBsqm5G67=$_F~g!A z?p=(xN>559dQaWzo|~tiyh@6e(G3cFr7ySqWG5kUJ32q|k*c5z`k~NK-W;}vpnQ2c z%F|575AG#!>z0*N z`!>S|&r!CeI)fy&&sjMyePXfmr4E|NqZv+xpDM^~{u-0ABv%h{PgMV)zSy*%pf|p< z*o=_WD5N#Dfg359T95H{-r-BvwIXzhy;^Y)F7ef2b&^TS@@5afCB8MN;;Iu_OzbMr zrAr)HCBm-m#Xu!l9cR!`f|?V$#7~58*{-Oaxx}Yuxx}6`8#qfrp$^m~KI?#`z$FeU zNlkI;RSKP3NmLb0CHWU$D%41_Tv%Hp#vvA&sj^uPaX=PWnA9G~jAIhXEg;ih!|Y8{ zvV(DmFA8-Mbc1@wo^NQ^7j+1ilHxhCSq`!3!LASa*l!r=u=Tlof{u`(f1q6)Vy}(_ z@A%*y;$Ip`4wO&W#f1*>sbPr@Ml+!UI`RXtF%Gd&@F}?_E@SHRafmaFA{%zlV!5)- zuXvp{?9@icOl^-O3(dq!keLd~3H$LKjN&M!jBUAP49xg-IUPsn-O}Jf*O1W0hz`om zXerkn3wd<(P|pn61eG}uE_G}(a541?S{*oBK4c!i;(yx&ptI7lvXQH@eR z6BZ_@#|P8H9&fnhy31bs&ed$tz9W49kB7npnhk`B)9mS?X633m+wF=ZBXKsUdg=?X zG>)TGQ|ebg96z@u_i=$+ZT#G~f~WmLWO@6!a$QtS^7M225CZQ0^;F`%cec98Bl%(G ztp^|8ZTMnmQNbOB3%kud#CfAf_d|-jIqm__&M11>ov1}_0qvm0&cu-TSi@_bj)(q;Orn5_C#lk_pE7TSi9OE@ zD1<7i2~bsnje|-xLXjc8QRlsYQXZ)W3PGg$I-j30D}NT1MuKwZM?*E4yya2+4h`h9 z`N`^u-&Fp_^BWY!@1Iff1^o1450Kv_rmfo}0-1x(`{6Ugra`ytYxu6Lb}COvcCLy- z%7v7laSs#U|PBs`kdm>c^JksjGDX{ zR$yEXUTD3k&V;^LLSMkqrJ2&pgybXiMdUF7Gu77rywDdNl+dG)Rj<{A7EJ?u>_1dJ zjHa*2dRXAmnRz68JR{dKh|ZrEQ9IrUYng1z7+#nnek#`}e#?p|_#h`jRa!A6)gX03 zstaoG`t4O|x$glY3i+qOZ_{(%crY?&RSu))|ESEMP=GyX?Kw))~KXa53#Qe}1h|{A9HP z`QrKI_7z6HF8RfmHp)H3Jpr$~+}Ay?J@D^L$o=s=@%tNCZYp21%ZzDraD{D zz-Z|=8rEwIT9hDl#DUfFNF2|p?o`3K_2InCth=h1settz%ABiUz0R%_Jfc_(?P`+i zIv54t+Tme&C^#JIU0>|9d{_$ZLccYt4o`+vIB;~rDx4eK$W-AmaMtXF>3vNVejqG# zz$RD2b`=h2a+_VARrs6^50lK{%)IJOZWYc&9H_3)JcMuU-6FjCW-4+a6oyce3@NGyX2t9oW)vtxbVE4Q9a3zxN!$A2KV4e?bW z%%Gm>oek%A;N@M4{AyF83A{YXE1JNE8)xd7f|LQG_NZkJ3n4QU+QO7KAq?wSF5d{407hS#RP3vxl=M?vGj$WD&p$>$+mhqypEdl_i@OsG^f?6`pDY#4Ha%F?L*swA3%Qhebc;{q%Z?Z__} z$4@2Aw1&ty!yr;^`Apox>5Sh QCsJKAKf!{q@mQ~e8#!MCY|3F-zXK2v^lc0KR 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

    +9W;- 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

    uVuN-v&0m`M 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 z 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ۆS-Q0W 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

    ?fJB2{bB0NKB(TpKtp;%@ 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

    8hS4GdFYog0AcMJT|d?GroSfO4ls26t? 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

    7D0QmXaAaV4b}Y5M5OV1rh&}=R?^@M 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≠;`CXHktshh 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 &W9)H_QMv`A_jpFT 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%0AwctF=k{-c9lq>s(N|L<=AUF!X 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

    @jD+OHXH+J>`5Fg%K@rj5uHpcn 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 z%0D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

    h0g6){d&|F*!J;C15G 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

    =4t(fYT~4L=hn>O%!u)zubBp4u$cTZeIU%+ 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,uvR^6z7QR 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�uqwNp>#Hc9PU`E zrNls~mJyO(;}BOqRF>G4H@I8toZ+$te*OE9ZymU#ZA=tq7BW{R$8U~KHcB~s<7&CQ zX8c?e#?Qp3@pIEs{FKz;=gxBcJj01Np3hIg6Cc5qzft6z(}EiXDFR|_O@eo3#oD5y)c{0&)JP&@_%81BMu-msDc(! z0{0f*HRKWmr)u{|v3OTK=(JU*dHtR1$5qLWPR}0X68bdJBe8TILE#+)ya^ zu`Zhuh1Ac<+3vyfCk{tiUNpb_t}_DPi{@8>-HvE}4dzmK)MDofck1TX@#ziSyf~V_ zL}tr}0%impvM*P;q`h4<|Ah>hD{SXlYv#_9;`*kga2rdGj@d}$d<40Jh}uyZP>$0@rVXdM*fAP!R0alvV-*qDWoqT zq=D>k4bx`uoQd(J46*>0!JM&rz=zD17+OS}YN==@lQrXy< zno2~&f-d!%{E4bdll_g!FRRR)6W}%Zn-bc5+D^SdHN#-oPQFs%Zn2YFkJ2_D$(;Uzndei|N(I6Z;<1fP#4RRDyZ0A@c>noUn&~?7^!1hdp z7#$5};W15yh9hLNeS{s12DulCQ#(L78X<+SP{!3Ejx~SR8BQQ9LWt4P;AA|?WoQaQ zHp1KOU^Ms>gnsqN;VYxTa)eOjKqFhWqa2|c#GwvHMT4~n5g;0D?hNff=(_rskas6S zIXTZD#~TE492x5mJ=%_7G}wXP7MbxVLi~O-=m3vYCRl5R3+gGeY7Wfsn#6vNJ@ZU4?BlLVK^B1#E=~IUE@}uuYP|@+*ODGJhn4|kk+6_}ILk3=3b%{L)oG%)q0k(HYH%I7OV?6lA+*EO9Jp*m_V0z*janls83w zXa2xwpd5KvEZ?2SMtVn09zA?Mu8`VYI?N_7MU7Dk$KWm;0|HHnAvt_8Q{nuxn5nZ& z(LBkHwq(Y-x=>LTv^hZo+W45ip-tm{YI$9VnkH(KqL|!X9-euQ@Q%)8-p-NMo@4e# zNRc8D#=`NrW)CD;MDh)rfD1x$qN%7l!;X}bm7@|(d;+;2G9x~L?8L_Tig)w~jATT4 znVtJ$jAoeOsggtEpyTqZPII)jBeF#+^J3a_l(mqWgD^_ z8b8EsZ%f77pg*d&jk@;W8r+ath9$vE{UChIAyut%Nw5zOYtqlgu)5?2Pu#$`V)Bmm zlO12PNj#IJoles3#vC%)bUL?xR&P3GUZP>%3y;g&a>~3ML74Y#?j!X0?nkG}%j=;wT2J=Q2z6$(f@R`h zvWh>};*Vl6yA~n+S#ti#(WYBT6(`JvQ?W@IIDDg4{VaftlJ(elsZFuKOYpSjg*Z=F z$&nufWcMau6^A5}mUdi9e>>&S-d?3$g+?m#{PVaJt}=;j&2cFxnoRj~?-brZ!imky zv%w5rN4c@9n5_a?0wYG? ze;eX|iT~3PcQxLx#`AVO9RuTk3Gu+d#LkejGnCXBO70Bx>kRep45f622E?~6l>RiZ zH@!gY#Fa5x)f|)=cj&Ze!$xL8WVpWVH+9R%-pa729lym13>qB_`cfF4@=<~5N#gqt z`RlrNFvBhe|1Swjr51)fGJ~GVq@Ryu%#Bc)746}B@$drkI+@jwXng6NxsEbj$JO;k z6ksk7KUk~}#k-`)kobHM19m#UTC8IrgDQ*gk`z4)@6_D8u9NWBdhyOLyRMe_d>*_@ zD#t1+N8la0!F3W@E?!u0*H}rMj)71iAFDoQ;Qe1(*2j2A8po<{`tiO?ej}Y|e1&+2 zzK<$4#A}oPgV?m&UAV5b4I2}WqQhueBXPmn+VnM^iQId|K${cR(r{&Vn9AKW9gAB% zLrbe@x&|^ntzsu0MySG)Z+Z~`u=k_SLP~~T0*t@|03P+`xTT!GWu%1% zB0KP?IP&!$I2`xfRywKTi01s(9CKaZzYnxDUBz!aQjj1@|n1|=EiX+}9@f-sD*j&y$ zk{@XMy2{Aj+IE%-Q|h%r2$KLxUi0cR{h`2Oyw(2*wv7lcMfgyw7t>7yFok{^4_tGh z*Au^OK^c0m4zW4gtYyz$NtkwU6GAa0(#bqC4?Ah19N3LeULj&rz&4d1@rLBDXeRSa zkt-Q1!mJfjIPPX1QKP;*Vq${Bx(Z*YX9>9N-g!2V9njWa_(Mj95h}#hww*T!LVdxn zL#t3#lm82GE=ue#XgJ&aN(O)^%TS$EJs_A0rw+dYc^jTrfxnJ2WLwM z;uh8i0pJ(=U@&9?21i#951jsu0w_<+30a1C#Y+0ymALy6uM5crA7T#t6=pNQ)aKD# z`Dk?GvNTtLOG}%OihnP-fs>$KM6xO*4)Wu*x1Fiej8r~&4RHEfWDJU8=#VftU^)Ey2_4t-5oGgjpA0* zdFS}WxWX6Z9e-j4t1SCH_d0F7)t2HH>k7oj!ZJ##*+Ptx*Nu{o{j{DC)vQHdWKVK| za|1TCYJ6tuVs7_*j4dS_9Iy6AWfn7ewiBnck;U(90s>X#GUsnBXDp8!Q6PQfjzZeGYPS-G3xBi=f$z$eSh7g+BJyUk&$(SuA-m*EQ-GIiJ1p78g-gq;$ju$sLOTR&+XrCxF0_uZWaTxfq^#Mt(6}8eX zW0zRhd4Qc`R{*qwIC4u84ziFPTQm5T5rwd!3S%%S-i`k_I`Ff28$o1|5v#=Z0Q+mN zGwE6s3qV>CrM62lWH-J9RIColb1B=~NL7#>2Da9hLI)hGRs{|_Ux6lglQ;Vl_DclU z9ngvvQdr?xO+kfzV!x-!ceiZpT96Akz(g?J#mMo_dfb^A!9+KT-c=N~9!UK@`&n@W zyDykj_scmb8ryPn)?+r`c=y@Rono)#^2X_djC$59{>pKKEbieP9yXkjmH&o3H^xw^ z8(Ll@=U}X=nlcjopMwRu0*O~0*GR6yWX%YzAg%d4LbZa_qfu8|FaH^$Qvo9@hZG}u z#!v;u^uKmbpHPHrYtJGECOyzSX(7igBRS>FuB>+>o$M5ip%o;it)C*t=FY-z$o7 z5C-3;421Ceco|-^kKzrY&=!hT3nJSn^Sr}%YH9ru@DH~j5M2~^-r-Pzr;W?Vvy-cd z7B3QHAqVUOGKo;t9JtkZAeLl?K`74xPSdiW{`YEG-poS$`ZKXdngs!GRIDurNH+ty zZayMEXWo9pkFP)db<>}6yEC^=HhGeB3O=GFak{y zEv%Uz-Yn&t)4TAf5nJzWn4W@7=CXE#kqyCF{XazBNZSwt=aKd#7+Wplvvwa5w26IpCDUwP z3Qw-W)1vTXDLm5vlMWcps_@`6j93*6=U+&lh5wAu6KvW@W8cCL}q!WfskH53v)Tc{5fv+S)N&l z7_azlRHxDiu`m%vsvif6GLVvI4nG)qyPx&TCu#k_yLU5GcB=|8X7Coww(@hJmTbly zWVd+5HGW;Z<}dkYJ}(buBX#)P+vg4OhF*AxX!XG1#IkH}XzoK9ZJCDX4?i7_P;FOI zsv*Xu$VmS~85H@noN#ZOyUH-97sAp4Xn8c2G|zX7i7+D(bfTz>Ex~Q`agBFmYF(7N zTa=?*o*0_wk44-Y=DvqBLpUtNV?JJYzqvS>i=7=VndyQ@+4^=Ds&&&bx5LP837}fhYtdC`JN7hEw6p>U z@Waud3orP)QcKIPiv|bVZ^VWQ_GT89eVx{Vh1ND{|BDDC6wCk=&p}}x8%#%7ENuA$ zCQJ+8z;8%~qt(2qihr}ubWZSgk7Tr%P{=E}mSkGU4XWr;qD2M|(x=2u;x}*gvxPMy z%=Xm8 z>q;@)Tj&0^Ks5Q>&GWvgo52y_o4+Is$D4`W&RgLG+KxgWW|ATQjw!OaZ=Ks_lwcgX zzTR)o)_Fo?Dt2JRQu>7ZLBM z)8-GChNnKUsndQnUb1OS_e3H$^FO=eRhz@_wb;#q7;U!cF5> zEgbKdF;=_$yzA@6JMKQ${;*9;)RQX7cmym05>Kjj`I;HY&{KL+dP21Q!d4wme2|Nj zqU0xl7Fx$j+nxfHmb$> z#fH24tB8TeeVy^CeqndyEx06_-PrmYMncR^cuyQJX$Ir&nS>$0WTFxb8j)69_MF7kI4_RJszELu z!FF$Q9eyVzqbDHzkPKJJ@M0ORk>MpWT#HEtCK|AyY%Fj`=4JZKq(XYVLdWpYzNrft z0F|lbdukxiYJZ9rfn}au#yH_Huz=DYVh9iP)ypGydyU2ZJHl*aqIxb?n>OUAYK|9W zm*}D@cQR1f(eU?`yXid~fgNN=MCp;rArcJp=5h!Y!z`%tn`JGA=G|qOrtDXmcYk1Y z9XY{E38!gQ+-)?#UbJKwIyT}LX7;jzMuE!GfHOP7rndvXxmSuo(>H zKkYXcQOC&MJj)*{Sn5Z2o-(yA=isQBIC%OkB(a~4@|!DnE`d$SjW~$(W`Srg5bx1k zxU)Z^b&>+iQuTW7KN?YQLOZFn6ENExjXR+i5=a+8o<1ELsv4DkuG8`1Sk0B>w&B=m z#=>}Pgli8wsD#H6j`Z#5#m-IE+mB+>jO({imOyS|S&@)Ar{ST}^BQ1k)OEKup0CF=V4iQfI>G^F1m7FN3fOY^i9 zqz+M%<3KDa$NR#?GQMab%V3mDC`8(dIvH1-yg5Y8%YGCGs@LK{Yw)TIjM&BBc?d!6 zDTv<5uigV$vlmj_AoA#9;>DTFB}`rsTVj326(-#t*eisU;Y+x`uHoFRPMy z$#OhpUREjduu6y{PvR&Zbf>~4zsag*K2~8o-_thy4fZ!#)kp(;@t~P14)||@Vf=rz z#b@v^**jDi-#?SJ3{bL&f8`@)VGuDvZV3aib z#2UGN!s^u74x@M&+qwe=*VSf{&nLEF$AGdOR`*FphUB0UL4!j~Vo(csMQdQ(pc|2nkK0ogp@z3#F_$2lr;)qoa1^ccq7V!nv zr1;_2pmqyqA82x7APk-}F(heK(PW4;1|E+GDi}D7m?se^z+rk*&be*%!A(D-Y~5lx zH}SAda0Kc=Ud)XlISXOwHDQbO|F&WiZ1qww2r=zS7U|NHt5!uL9HZoh!G?L><`1!} zTC$KA$x6SKxVs&L3`Z0(^g-^vMu7mkuM4KgMaWZlSg#hsxN^}f0AW-t$0Jrf7r)N! zvFgQmV*JBzNCLQVk2vSbezUp?k-id#ySfH}d0325m&q@Mpqf;8^cXsgBP#QgaIuK6 z?uN1-xL=*G`^0M;c>F3CG?)ixJ7KfEwF5pEF~f%II*joRDS9ZW#=U|W=kBoa+Fut5 z&TuFJUy%1b>LE-`>i8M0>Sic~yGGIpcoXCNIlDPC*+N!u{4dQc)Sq99xuThhyOaC* zOYHSQff<-}2!1bCeVwQ-K-DbbPzSFFC}66KPhTk2Wk+N7?MhK`2y~0I0sXG-km+&A z^lp$D@yLvBky-J`tZtDb;*s!`>G5<+$n}N%t`46(mEz~DM4avu+kMV0di@_|DY}jC z5KD5hjr?+;H%woKoZzN;UG+%xwR8^P&=02h6T{3wB`etwhr}$)<+C~?C8UcYNr&>J z2P9;j%h%o+sUTYj3Ab@QAT2_6bVe%3b|2KBTJS14ZS%+07#zqe);PY6(R-&>J0ATH z`h#foQMuTJ>C>otFjx8kW?$IMfaN-R5L!(xCT)1H%`9h+(uO^hIZXwYWKL0m$1@96 z0LyR{Sf0tQ2;dhoGZ4VU&V>i&vv5PIEzr@93QBO8Z-0SvUw#f$UG{kmaWA)Wx$W>$ z9Rg~3thv6cx#qhNc~u5}#*e_y4?Os}1&TS>)G7G+*);q-SB@<3yO&Tl3gf1C)V=L^ zpMM#2Up}!ztzQG99P#Zcd1dibk%!Fg?nIsDe$j3z4uT4rHjO7@?jI zdermRh3fhHDeC#eH1&L@98d5d?fE(cu#<*gbV0AXU8~(qktrlIF(2gQNymX2#a*u( zwO9KHAfTyKd`BQ&6It=P$%@xjR=obQ;x(ETuj4FL`CjoXYp-qGadP+fw>uoI0c_J8 zmvYDTNV!9$*h0DyyNj(qK$McXvFgcaZ=#xV7RPFn;fs-nRDX-wf^gmcQz=}({xb;I z+1Eh0R&zb2;F1W(aSm|n72N+3?pnY>?=1zlnOYvJTDS~qqgeG0?Dhrj@h6sD+AS49 zVl7wfv|a zi(o+S!tcQn?P}oK30&P`V^v%BA|_U~$b*l^swd%BR%+ASzv!5LRjgrUdfhh^&aH!Y zJ67OQu%2o$s&1%wYnD%?-l0#r7Q7qKSW6`k>iKEDSFCNv18(Z1R@#96JY=Nw@S0Y! zmzoD`WG=&ycT;~F$j-v9+a7dQPmO5618NOt7*9;b@jE%Q5C_Gnpv24VP^*d#ith1yFM9s}~(QJ3jd}!zlyg5?FhF-{Y0Z#!G*`eW?M&zBug6zfub8r<` z4j4Eh*O-IPD#(8I8Z-40Lv$2m@9-8Ufot*_!?_s<{)sOn zVq%4_rVYK+aK37|6-TwoZ$qY&(O=`w#3YJ6ZNXWP+_*TnUq}wOBQrj)iY=gWrjX zwgEc)S9Siufdnk?71klkX|b&x@u8Q8?1H~51cxXBpV zRs%#I-SS6!?qQe2Cqdp>hU^uWevF4oVdrVBifvc1W%-*0R82+lGVtf5?=S zg+ro%;JL33o>@hX-HIl;w^+=BW5rM>PR3Na5kQ#p%8K5vWo=>75&o!J2Y!4N^$j)L zw*dMIK9H6Ks@4)lM$3Izw4=#5Tatyr9y`W7mIhT`hXl?-bcEG98ap-k4$8LPPuC!* z-ZXh~CbiyhLKCw^t9%NQ8w|ZE33+(d_9C>xcr9Yu&x-ZM_|;;0j+TLq{CN|z_SeDX zU91@#c0gu)W`_~jhq3=$Acd|1ZXno$3{1VzgxHz2+Pk3O12mnu!{m=b0Uw@j;b+cH zn)<<`aMm^T_?fs2KQ}GLPYJ9Xve4`Ci;m6{pgsLW^xFTD>h&%Yioo6x1tnp_Tt&4r zRihaNq7{>XoZa
    !+}31ad(hj~qcU;OfEOql%Ucdo;BzqWd--@L3jal8X^YK!(% z^NSad*wu6K>(y4j35fxx->F$(hO72IM;g-1B-$6bs_t`8XqJTQ?|}@$(g>AOoD^VE zW@Y`Ah-1X#0TN`V)&|&XRO59Gu0*ZvCCozs+P0vATk7X4RAji^<}X5Drc7XerfpN2 zj-?cvS=tY=OyUVY*|O90j~I7{+zQ9nzu)!#%kpNk! zBovCDN3=J9=JMR>q(o43ffh^!mG~hSP z%jZ|){E`HatDO{+;Uooo#jj$fqMNiJO0kroI2R}HmE5C*kVWvF5ZIT&*4&UQc{-Z{TUQ_&M8ugW1bGAku3${o^@}xK=46t-)Cf!DHk^?Qq zWSak_RkmYCCf=y<{;LkWBT@F*%8&Sh*xwyh0asEvzL_Lhv_$elk|3GE1|+#A2cS6P zdJy*MEb63bY)dzSZe+8T)QpwQ`Zn3Dd$36Hqmvo(`=7=SA5S-f*dB}ppFWLEExp)e zb!XFCaW?Heo=u7;Ag-$=Db6W2Es3|JZuQq!Hes+dNBU+-(rX8%Y+c>Fk^${lg;ybGf;9SUu+zS~m!q7>SI0ZUJGR1A^bmLmZ(+9m+!Mj6fEQZSlyJ4>5udbI_7+LIj6| zp&|>_!y_LPbB)kMml4fN$4neR6EpCih5r$uiJoYl*N%n#%9%J!#kbIdLqS3`kb(Rx zKs1nPhpbF&?9?-^mqn^QpNjk2GDI;}JBLMHsyi=b?if11&V%vGI2iMUOZ(x}Z8{u2 zgsw0`GXZv*^)D}sQebTVs(juGsNJPmD)T&;1i?2J7Gs8R!b?U%Y{JM`9xOmQk4j)q zNtV|fax3+m2QG`nR!X)nAM$;NG*-tC-JU*2vT+s`gwXGfu3VsJK(R#kRUWvv!$z5O z`7yQ5FRn>}g>30heI>qB@d zFe`P~oRNl@lL7;kQR7mvoEPKpxja>FKTaCA_4kL|{?Htt)2w&$Sne&>zwmT_Joi3z zGZ2bqa3n1xk2!CJ%cx%SRpoDMk}Lv9%Ykm{U=Ey{zv&mdz+$bc5FGG|*&}mydxa-e z+R%oMyFDp$)3Ltt;OrhUo-H$aQW-xFbKVqRNi)<>xT3X z0&R`FHxSnn>DsD2gQutGi>)~^J@Vd}`k`%l;LU_QGxa*>*0$5+?OlO}eqQk!c0nrk zgqgSea9Ddd5{u~WYYNNG$ahaHDofSfb0(Md)7=xNm1f7*=ebSzoZ%!7`+4X;HB^3=YF$1y{Hfh&|G^(=L5=252#O z0n7ae&}_vn*%oV?&NkA4$|*a~5W;TilWs;+@1JcG)!GUf1@)oz2Lgxs6Zi}^tRUVc z*{xAPz(g4xj;^0XlXZ3Zl~~%`m_qdMBf2xe}(2G(v7& zZdG_k-I<{Uk3i^&JH663d?_2ts3#~LwBV2Mq7(Nw55)V?Ic|&)O@P?it+U(}+?G+8vAarrI;52ASbsL2j z8%XAmSAd25)mJjnItZU^@DoXFI_xj+2otA~OwnmL;Rq{0?B=R44kkH|!9Bv+*@xo$ zOQ1RzUx{sjyPpGocr*Z{Dog~?3DdnS*I5XnD#XUfyD8QHzO>`zv_p}1Qmi9T8_KlP zjxn_juct)~b7G-aghPRJkVFi(_mf^xs%}dL`am7{qKlV<;ZR<#H#9w?9unW7JroID zGhAF#2!0o7Rk>uVd$T_g}!TVF+`gKu8V3oqi)P~K=D_;G2!KsXU$0DyxWNwZ~Z3CUk$aqlJ* znB&FZARB{LRe=uy39jL|4WYoC+nwT?ky_Bh?@t_!oz2=?5wzP5>8S=i@~eYZxyT1Z z4Q59znNujM=9+1`` zfV0kp#_ol2iCNCYp)Y%LS)1Se?|IzOx)E-ZW_g{p=de<+Hg`druA<`cj_fG9 zg>}^>XcKchZE312xFh#uFmve6(dZ5EH~T*DWNAUlL^09ho;Y$o+H_;&nq8E3G3$+yjW(RyVRHg%vf^T-!EO&MqE^)e-XSzXtNIl}BCph$hv7cA^=Z7}>ZDgN8-%qu zmbXug$GnjBi7g&Bg#V%+w^btRk4w8+$3e7NfZHJHtFRkE^P^r+&43bfCeg+Y>Bt?FI`aI_{=f#-`DTcOqJwtuLL zessPTM!ftE6yzN&5-9)STE?mO0EaU+l_X&QAAZ1IP@i>nzt5zT7+T|^+}3W?Ew*%|-93+5TJK%c ziE|r9p3p_{5xaF0zHbjq&mNS9jWsI}C9d%}uNm!(pt`d2N--4|({r<@d$OmGc26Iv zEqn+dkestBj&Yhl{{r(R2Qa?G7r9@&(MtIkb#o0|qJ98>pFM_*1xTU&Qi7BmUBesN zAIFvKrtFOstsIpq4$DF9%&vwhet>%W=0yq#o z&OMKSlRFQND;wQ4oZL|9bS;{ZbI>m~U@nfyQOn@zXXJ}!ftgz800*A5OGahCF?LERJ^WLw+OJtZ6ArI%Ox2{3{h&2%T zU;M8+vZTXVW@O(0nVu4OI{_)2fQ>*>7DPd$wVzB%!lV?mA@6XcjF54N zNZ=O`F;Ye(LjE#R58aW8$lSnTr)bO%>7%uW!(u}$tcMb$-N$aU4;lCs12`^+&L^3p zW+vBMj}lM4ko;+NptAIe*&Zq*eP*#|emBmXM!4@wxTuo=t=oVPhv>Dc1_TO9^bE5M zS1rIIhbPYTtHV z-GiLS4@(-Aa}RTVu%R`ET}6NkhYgNpP6o2PAczh5+{o86)2gma;R|nf@LWibOlE2p zHo>3?jQOH^VFqYtQA5s9juHTJ!G?KrZnx$VU!85*`#a1i`ZuW~1`v@0b*NPB_ zXxRKwUzQJL5FFED!4a0)L5B6y!rNPnk_`~#F_^*}cEbI#&$(U?J;02<(0xR;G9AR| z*&DZ8YjVQ&85lV~m#1FD>*yS?g5n)`(04*o4S8y!+}Ul%!+Pv8UgBCUr-KWL6yNqF z;KvntGv&1A?Qd!;8qC4xfChY;6u@*bw1|L4XrcT%hyHAJ6nwj-y2++Z*fqI$aS1-d zZT*r4%sZrgAx>C%06w)2>4n&#an;lghP1=NJnixq59N_WIby%5_7YnIrEQ@bJd zKoi~rvyHK4sg2py9dl|g%r?fF$8F4myJL3s!fa!#S!QDfbGn!@xD#_)ox%paDwy%4 zjd^Hy%;~)_D~w&p0Gw9GoUlT~S!W0%MP1E5FnZA6n34S+HnZz--f9VKCU}Y8FxDoq>5u6E`s(q8Y zn??Po>gqSM-&F0|&26V)Yti!fagk(J6U@yw!!{alk(mP!IG|k{X=9CA7XaV@wuixq zyrbIX{b!&xrNQRhm73kRFZ>H;51;yl7Xe^@!P)%-{_Lc_ePQmYzHn357xG}%-&F>G zc1qtqan7ke(Q$QWA@Wi>KY^W0Sh&59X7gh-n|$}X+QR!-eOT$R`V4bu5D!>O{}Y#Y z>gLRZQ}OjQS##LaT-yeh$cM;k5s^*_( znD?e54qe8JrDqBaL1Sy&GI4IZ9JAWaf>9Z*CmS`+G2m zEdxbjt1!60@_;<2?gyTxtTLY`)T~3C0okl1be$fhA$NV0e41G1U0#M4pxCu|M zIONAA2&@&Y>L2*URe_TxarOy%dEHCUW$&|I3!Bhsa+j($@%AU-6#^E~P^0T9BFid) zj)*VjTG;Wxqa^!oam38W{1hhk{S0^0+$$g*U za0V0L^WNf#S`3s>ihqFpZ$+#hMjWdBG-{z+F&ei{M}6_QmulqqPXpzW=x2}Ze1wPA<_+qtM-g3CK^P@;G_NYyi zMH+1A*$=ZwK2seu*HfGaD9G8>obOrBL4S3M;$_>#J4Jz{u9LTa@b(#E?_E(^Xbeh) zHdbJoopr-y5$c9TC@^Q^D&bny{8&T7ba4f(qJXcQV5%Ux^I;a9RxY&zSVrdoP*ynD z`5qpg6zi?5Q~;I_0OG8JilV*$7Il3`i}Hl3Km)Lgkq4q1XLf zcIgM!$&-^twDL*Fp>03`xy6Q?g;YPr@SL~&q2DbjWq9C?SBv7YRy{VU#}4&) zLp|QY0~vS=O2uq1-J;xcj#TeOD?dUUa63Yk?Ffmcw#=17@TwBH64%Ar(0xqHAN9xO z5K&lpV3}IkftXMwg;(glqX?=t^x-sRRmDj+UuAyHej$sRRmD zdSvPwU8$BzB~Yl+D^pv#QunG<0);9Knfg{&YP(7$P^i)`Q?0Jlk5npwLY0Lwb#GT{ zhe{<-sB)4_ZSP7ws!|CQsw|SJA9bZVDD1NDB~YkxvP|u;Q|)0+3t}+}J>?Fb0xm+c z=SlM^^0_>71fIJ12wjP-T^BpNqyAKnQ0Ya{YW5Pg-j`GpzN*k1oDYo&jwle;E4Gpp?lr(`>R-cZzwK*wx4}Dfh?}sz6Nsc{Z-%uimSzhbpbwMl_r0NNb|Q8B zEmWO^=+Gi|F+;rOD{1hR)XL6;`Po8wpxrv>M{q2$`Nct?;s4|9UEr&%uDt(*bHIR! z&xs9|RC_9oUJD4at07>is1U+|aO%fB)bN5PqK@s*>hy(FO zXVD{^_*H2hfyv>yk5qs(OLVQJu^|6dC2!mFQWUR)EJ`kB_>+p7LdkZ%oD6*yKazO|cQ)6bE(GDMZ6vZp zw3xMsoVfQny&pXJ{^vrq)2_ouqqR6rDaX9$v4R%*9WMG0trGBqAtTd|B$u{b$M^8N z`3p@s7gf7$%hb^JZ-b}tCruH$hx~urzTa17`aS^=q~1B3dwy&RBBhW2Pd3rt z*+gYZ)J-CK+I+EVnln{(FUrSNtN~iW1bU$Ru5Cha(_On@fdu>~M2?C~njlxTV{j36 zDmXI76g8YEv?V4oIeU6?mBu%|p)kFP`aDAdw=|5uk>a&Sn9T>WDlC+p`?~sjku@0o z@i~$&;NNQn9dTQ=p+UwFb$26Rc-Y^Nlcuv|%q#kz19g{Sk^F?DEWq@#(;r z2_#sH!0t5i8g-u$MXTdg{v+m_=b8eeOdva(QUXw&Us;fEUmi5Nx`aGbkYPg}DL4R7 zB5VQkd1j>QIpJaNGkokkoM9!~{Y)0-&L2vNixxc-Z#>4FW=hfZrN@|0xV=ZT(2;50 zuiuFggNa*_fvuJ^mrY&n%1rZq{pNV1-$pL=n@F3{ypypp%gdQHD5rT>&TKDd_Mn{R zT{#0@&cL9Y=3P1SyqtN1a+-JL9OLC2GbpEdSI)6s&as1X>fMT!-UX-MM?PS##OSY* zUkmTjlJj3>3*5=EF#?jn)G2&$Ew6VU@Do`IMz8+jxz|`nXij-I!_iSttl@C?GN8Ce zd$}CgRV1e@(QQwa5!M&`MEcIjtQO`jk`FomiPo-hvRD$e8@VDXH3@Up6}2>(XD&JzdDi+7ncvU5463^z&RsfT;^^__fK%X18z%CskYsfSVJ{6`blF z2#!7qC1++@@=)&fayp!p$~E+IA{KIyBL1(JJ*n>nHEsN2XWrYqU|KF=PnD79YbIlL4!&F}4U~|2?2Kpg*-yElFm#0~dr%STO`L+27MKB!2h-!!4rO zln@)~-)h9t?JwW8N7Sr1WN(iz5B{^5C#T~zGv*xys~I5~usMZx+T%@t_cSfQYAZkj zLeli2(8Eio(2^3_4vDtN_G>;*F&=g1X~|K9?-ss|aLPO_ElVvc1vL`whOD-3SV5F7 zflT|#vHLq@QpK^_pQy!=IlKy)IVG5dd zMDi0OSA7~}k$jcEs%PZVLna)$PA39K!@_|+PAmQs?#k#s@@01iuUFCN?srj^zo?u0 zpyK=P0%x!RF&71eeb`+eO)o$h0Kyk^-cR-7h0_4=I{(~|&Kp?#Ujl$N zp3)fau|~Rw%{&1?aBSct#rH}U|{Q2Zdz|l zWtgshjyX0I4|O1B&dYSDY%d|5cql4er(1gt za!dc~sBnf#a8c8-i6l<@Iza$3$YD+3JZHk2&XV5{F7_bjT5ea_gu6p$9tK4G)N&7Gm|Bbvk~D{d(FG;M;`%SeQ&G_22Pr!$9>_iFj4w1}gPFDpIT$ zEEM7rW@jmF7WGY-k>&iXt8aqI>!NZ*ZUvk(s4(z}#EQytmKz%Y?0W zjAKr+u5q2$guQo|I&Ej1B|kAK_S|vq;1nE=(Ou>}N{?#vl3Prw9nNBL#-=J~9v9b4 z829&3usgnK^A69kFx!2{IJFJe$)*%eg#bwvhXdWtlCvpD`EDkkv)G|DFYmq?2Ku|5 z#h<{akn?Pn0s3H=R&}*sde#)AlSY}URpHrai?djs6AXOz_1H}3DbpA;_`ij2Yw!b= zUp)BE;vDiqK}KIW-6FugtRXF!u$%td!Y*D9gCtDS%DUc}x7C@qSBUN>r!)5%XYTXP z+_&l84#R|KZGX-z-GmFyv?%2GiFLErv@;+}>I z7&zOJx_b@Z79@}HHZVp0$*vk2PvHKufkexB1L2ydx>pC>7eXbGfb+lBaXHqsJf>D& zsq^5b&m*2eM0cG|+6SRx1XMJ8ip3?A36agYFA6;2QY!QC70LxoH|!LnV(lHT1|_O< z>PbNW{K^*R?qLIs`h;`-6?a^7R>m3Eo|SP9e-rp?;BWDqvodz^_rTn{VYzMEKFB|yn+=yPX{M|-2;LS2uQS${Lmynf2AnC175%fX49`zbc% z<61(GH1w6SyB|f)`scOhzm%$n&sPTaWM@%mA5^k>_)FwUXK*~HUYiJGQSCK+>gI5X ztF}7JEHCqN%pNqwivAQSdf($Wr@1SA2i6=%18*k--cgwPSDZC1DFVw5E!M_vSUsYw ztchJHIIcwH1Vu+$);xX~*h!jc{cXO~lgIlHG=!VzhP(t3~ASOYrNJ`q`+^7;3nA=_QfE}}60$v6_=bw-g#F9VF04`Ft$M4P5hyMXVRMAm${uYXN?iD_U z+`F^LQSOea&zkP*__7=__;!a5bt6pqDiMcwduI282C0X9x|iDy5RIYhd0>;ZGICkm;44H{XedUz-88w?GMc8#uMYA8(dKQycpcUHK2 zQOpRt?g2i_+c$G2>~h?x^VRs|fRpTpJ7L!diiL2}xIdD7vR4W5lM6;P4jG@Y`;RJQ z;%4_ANs`Ms&1Yj2d}-0tP|>bv?fU*LILuz$`RjlCw|_hQ#*TNYf zUg`cuh~D0RCz7;A%7ESb#snj7D=vnP{xAy<7_P>`NCtKtDLT^Vu!sF-;>vJx(t>^S z$lN0-hL@_pd)J?nOLp>&$Bfga%1}x&y0|U*nQxks-=TukI7*JFF*$4Rs{w@r*{z{u zd8YH|MtncH8zFtQ+XvIYf1^x!M;V}jZKtGxM(yVdC?GSfS~Kd@6i~6W<&+fA?aAqQWBsMK%&55f4g781e*nqL3a^~A*fUxwz0zAM@{YdQIE12clp zz)(LvJDAp?_-7o7jAzlD*wr`OFlr(+bzuff(&!%RL@7on6XiKh;HO|p=8X-z4ngsIhk zh6DU@e#7X_TYxl24k}Rs4=%L)_Ik-~v(D9g)NP7u3RV+2ai_$$tCXx$H`&R%(F(p& zA76{YOtKs*_<{t&l}2-0{$mjorg||6;Pii$&?TAFnM|ltx`8z67DPL#F)?LMt~g5# zf59G{rF;Y;!KlIY@_6uT>V%-AD#yu#qNnj9jCeylU-1)6Z4pmHuMWixmlIk;`3P9T zug9O%Nq0tlG*Wx-F#;(od~XZa06R+x5o06pBoO~NT=k3Qiei&Cb`-J6GWil46!-`NPSGH4X34wrpdFc6w$AlA)4m2$qj$}$N6|W`3|XJy>&H9 zTq;LA3hiUEeMIb|%03p@N27f#wU7IGV0rK`k3@Vmza{N&(Xxi~r0`@%EAg?ee3lG>PlK{h zYWZ{ni}wGA@Ay+{aK>7lvADl8NPnDHr~F9K@AebJS<*6{730b{pHAUEPXne>K9~R! zwyz>ha8q;8;E&rbmCRs|v%DWL_jf6imm^`K1QxPBHYn>|TS}f%E@$~x4Go5S84b66 zzP47fz&cJDsIf%nuLJch|HAshr>yS=^5Ez%BVT|lr=c<2BrrvI13A6Xi{`K!G`+<8 ztL^&lj))QM$paIG<8foSXfX)U~<}%=A-8m?R;4 z9nK6rRCO0?e%pzyE7BKWHb~YfIDx~}wv!9boSJ|~^OGk!6F2o`!r8FHBI*8Yy!~h6 z+@FbltMfv=<+qF7qz2iy%{4^K9_*Qk?{tiWr1squ|M8@ZhUXx*<-z^UIU*4e?*{IY zQ2Z)iR7!8C95y^2Hzjbw&R6}z<^gFw=dLf~++ATssQ1N>ICq`a=Ze!Wwl&7D^fkV^_n(CsMr+E_-*DoVg3^5v1V=IV-&K-? z)uN#iR{EW*C}ZLY`oij-789n(Mv+Llf(tf~C+x z90u24#ICLWd`_0@^DRZptRIiNW+4jX3!*C=&Uj1b0-tMlV!ENclTTg{3sx`*ny3MkQPypOp@Q}<&t{$yr`+ILyYFDo(vA`GxCsUKDr5O%dcc+JaG7~u+KP!$36_iDlWOHvFVaX zvcW%uUp7WOUWJ@XPc3H>uTPAKB=7JCZ)$Abt0k8OWT93-;g*r7r8jRpPx6QF`3;jr zck6!b6xFaM28_t|oHL#n3#xPj0cC3A2)J(napvXj6g>V6zU zhePK!(IV72u=uDb`alg~N8V%dlOK{DWzR?Qy+u*I~;HOz{5%(nowN z3#tf8-I)oY?Jzji-c^?He^aWUfPs!WO1%msOo z;)4t9F?j(;__eshi$yD5EXMI-k&zdRry_JhU=g~#JT;oabxi?H5n!Kd%m)tlqY;r=R^lJo><4Be4cE{O zB&Nlh@LOr|19fXDC#}y42j^5a{R^R*xP2qs?mkJ`TQ_Ki8(zF7tw~|{@9Qk%&DDex z-@{>7)a^3n^+!u?V;0}SEM|_5`ww=jJTLy=6V3DduU=}Nqi^P0RFgRa!HGfst76Gt z7PBg7CIu?oqq^Tvv%KpPogvEkBB=kGc$C_YBbc)J4xx=2Eqb-W-LOJJINv4=NrgoC z#`irND#>UrAK)(ydR~OFHF8Cyir{Uv_*Wgtg2K<(zbbQXh+q*k&dt=BY$%w~v>_C4 zTrg7I9mY4U=RK#qyH^C0M3tRgpQg_)xYRXE4j_aIoy+wB21cO* z6(=A2 za=LmlhWCp=3`)dNo8bU8ec~I&n9b?n>vN6#--`Z?>yi_;QtXlsyudCwa1kVR#Qjzm zn`=w7tY#3VRiZSK{H<0Y_}o>POPEEC_tknS=A}z7g}j*5`Ki~~2QdPdT~#!TL;7}c zHE2nZrpCJPW#JFS7gaKQj)~2iTW+6K&azh_5>c1y440W*aH4!^BvH`<|4(|zTjHNf zFN82IYa$uv6soo{<{pqeaP9x1+dd73&F z<|+I!&N)g&KTyHvVe~T|z_w-LPTh=(}7<6dR(tXwL& zi^W;|00ANQ-cBuq?$bNo#qmkJd45K79%@%(2u#RzyPtcGX3cNoQAgGCbT2SRL>y4<45u-v_pWXTNHo z^nsvs4i$uh{es~E8@t-ZW~%xO6MI;(AKKWzx3OPR>>GbkUQU15Q3+sjUso4N-X~bP z>$za6pzsL|movK?0SFo;0)cB9OS|(^7qFLV@4Bnf%VKvC>MN^4Xbt1d`BBj9mFiH# zx4rkqCiU+BfIYu5-m}+zEmZU;WW86U;n{a>dGd$(1OsED(!uz%sh{i(bh@T{ZA~;i zBlQ3UdYE#eCV4$+Ap)`j$6VGSiVehAdnqJ(>sm1UZ=N zPLKIU#2^Qaz9Rs5E>o`Wt6mcZ?5O^hOR)O{h}w(pXQlYC&ykP{qSeQ zZjbwdDgR<{DZZ#MvjJ7(T?+Zl*V)m;_p`t3@A1VAX=+`s;Rs#We&Bf?!9}sAHQayF z+9NhG6l|z$`nl^h_mUEZE%{)9C@d}mCgU!kl!rjFOX|6QM_wq&W5}9&aH0wi_ zn%e1&VRurz@502tiejfO9F&jC5X2lRQ#eso#F7((vd)^b4o*VmZHUKmTGG0h#L!BZjJ-;I9 z?@7IghGzVaW`ES+fYL%Jj22Q8*2z8nd*PDr!4P(e`i=VRXz*nx6Eu$W^RT4-?r6mN_M3;CA(Ei zau%T|}OewrAsmCJ3ZF4tA9Pr z|FGbVl}()kfMiVD`|HmT76_4ahDtLb0~=a+5yKH0*bEr?0P^@b><2mn-+_e29EeNXvzKA=_ z4n2|-hk^<$frZ*2@@)m{smCEh;Dx(au2+_|(oo%Wmqj7?Ym=}(gI6QZoQQ-!);t3> z&8T}QmXsnb*AKRtW^ls;+fZQ&E9hp`faim#@A;UoD^=;~O%%C;+nZjO=0U5u5-N<}xTbEe zpENJEZX)%zZV=jWLURMW+UOaoe9NoH`=4OW^{2*eoI2o_FfG!Gxvx|tuFkK(8CDc; zjYIt4$M;Wm@2rd_=VU=t@fm07Dwli1f~I_QSk(1l1BG#&$%>4g#R3@kodLjVr(0>> z*fH@>CC&TvBxzpJFaw_&9;yF)7ir$~JokIy{;se)D~2PzFq9zd-Z<8Iw7E{ztfExs z(e>r{woc3YKJzWs9gv}-^+^2iA@WHg^R}LhEm@u>OJ=>4i?r3yK63bzU)OefJnw;= z7tfoOfnS$bDO2Y?izQ`FN z(HeE&(K9Hp!rdPsM+-S53&;<-UrA3SOYl|f<@6Z}k?!@;v zA6}1l^YN&d8GG$SE)HCzQ0Bi-ZJZWgGf_5p7=6@qn~ma)>k!?I?`m+Mkd`G3c7>f- z*EHlP>VjMo@?nZ+WOzSs=6l^CW z-c=9@Tdbr~vL$Gt#u(D5e8XCo2e&&NYhg;Ym{@|-95cZ8R#LhXb6;$@(%nPfny*Of z;{z!!X2wmM^XO@zCro2%*Q3z1A@%yZ$NOnOMe=WDufMzLxmfaBTtOIiw}jo7C?Z@Wr&L)W{XVEtFZf( z^5E9yuvA2@GIf-MTtuYnsI4H1g(3Sxm~BbHp%_s=@Hz^-lqT5K^wz|kTF^FRX+hh< z_SpK1JbAr}739z9Y#9X&%Sd>O)nf&Xd}}>naf7< zSy;$OvciP@Qj1*bm+}wTqZO-U8mmwcVlScL{iYPMNtQj|eB5*YXbs(C1y#yUF_k>E z5iiyA`a=?J7xOCqX+8TZ6yw_p@)dy4d3YwX%-Eg;2m$p2Icv2~L~+;Xv$bR!X%)k;Yak*6;!7zPRM+1LxxNETNbE9#5M!QUtGwQ~s@R?iIu zfw;ISqaGNS?3Zb@33)C&EtI8tTWb8bJa+15tNNrnI#kqqyj%R{74Q-Q6x`k<#vGHs zDHPv+h;94vleX>B*r4H!0&^&45JsBo0Qc(g|aoW~_2t`WmNA>=~D@ z!b|4BhHcHIcneh>3{)|DDO0`=hq-ue!b9)YsPABEcfJn1?Y6}nz8(ghqOF_6t6rV- zk9Sv2E~T*;sE+roEa~92f8&Msm<1R83%tsk4W>ps_&;G#&me&i1O`Sx5liy0d8YA2 z2lCxn>=$*_qVO9tR3jy~DCZ>?>IFgkjwa+;M%pd>G}3ONuB6??=J}XGbMZ@+e2ZT) z(*Uw%W(QAA8C?8{tZLH9Jf+S&?L3Jv%Q6Sp-r|03->@67Et@oqX* z^ULnE#uD?TE%@rwgdU@JjWn1R%K_8Qdz1C}L^%tJNYT2Xg<=Prx)>JX)cZBg!#Ybz zp8EGTLsAfjBhxmlZ*p$Iq^M-%Y^;u^o?_Ri9X9@gMZw8Zauc-T8UQQuFqwc@@==+x ziyY+h>5+o~uObJJAvrMQAVUEn2Olx{4LLY4(jy0}zpPWKg&dE3ErX2&=m+D>byd9Q zo8$UzsfO3tVXYlFfjV2;-=|aC9y9X1Ga}$O8G2HGdh0kFu0vsS=V?gf!hO|vlJm$$ zEZHQo@j?8@d6rr%8K4$RPDL$_U*l1Wdn6gM)ItV2%gxSf`%|J8|LMv1ibX1VrXADc zl(Zr@%Z%VW9;v^1eGsiUK#r4X#Vr#=E0&~bMX^UKloZBSt?_6@v1r8|cZRu44Pt=* z;vK0FUg}D&p5J_KB)KF_A=2{xaDx0s+;{c-rjJBkCmZ2mEE!j!@(ujNJI7J?IZZ@B z)meg|txM8C!5$8h?%bCl2zZ!rB}5t^2*3U&@}rdoRUikZOy6H12Q1kXE^@GWEac#> z0dlY{mCE(#z}zu0Lj>}^a^cT3{ab@+0i&)oU=ln#!hrDiqX6MKdyzxAr{ z`Mo*7$(=}x_K3>Gt+JN9c$tODL8eK^gfwLlsvF9pSs==y>7jEp%@{F2nn)p8OKwa3 z!#60obwjB_bT`f5-Rpq9yk~Dy?CHlJW#PN5n%xA`*2SgSjUTpemUE>a8gv;w8+f56 z*(k96`A<_a4z16uC$`bXUSeavtJuxNvJ=A1`X!d%V_cJ=OlQKR#ps?o_pO`Q#g*5S zmX#&)mSBR+N!{{Lyc>3A>+Pr{NXjpH|A2D!P54%>;eIPB)$*G=&yE5suPv?|s-s>{p8Jxay&ZKKB z=3zcs^#Okva~i8SU!)cfTl2X1B6pgfmkoMB+hrct0HTXC{;i}&Du z2q8~D2BVGiQ;jlx$2x)M<-msSVFxph^Yp40`P)V@I!g4qC>y|`E%G{)KJ2p{8r+d| zSEu>CwhI|5g$z|fh7*o=hFXtVe75?LVhB%C%AT(kwTpgn$O={pd2pb2D9rw=lTdCC zU=c4i7uP$5DC_UkA&~o01tN(&4wwrZ7&GiYz}E(G{p@+k;TWPV5+HDox5P51M1wr(F0SM zL}i1^3;7QA6_K3NM-LXHej0b{CiO{)%Y6rtTs0e>%`}3Qurv+lNbr-pzJa3`10F8t zGuIDiijmB0Gwo-um_|Y~Kw!&1EvV4BNdddP^e_P<0|Sb4mOa5*pw4`=?`(e09Nfl2 z+KA&1g3liaR!_SKCy;~G6a6`c>u~MUR|7cBtV;Hc^Z&Z~v1ec9j(fVP0z7z0vR5|~ zV2eYZp7fXEurzNB#zs*n_}k@~xn`yaU|Cj?*`wba=bC$(#ywrXk84hjYOW=7ezBqg zjrs@UZx!HaHaUE6M+N6i!(vW(Z!GD*VTSwQ`W2_$qRDn*f8ypwk|E4U9^IuD_yXlV z|4+Gn`Sw4DoZt7NB@n`qZx~C|>FYzz^xjNI_!jtld(!q|=FoV+zh?5{i`Bf^F7|}< z6p>gt&QtIpTl+}6+Bh?r_qV_eGxz6bCH>~L!nd(JxhS(d*#P1`_IxMpO{bdfc5GDp zmD+9FxQbU~JI`?(Jrf97rp?s8^q<@InVGaK(j#%6TDFUSd{@&QM+o`A4)4)>MF%_8!3 zTr8Hm>&tO$;KJEqqThY%im;pIRx;XMStux%I~Bd*;LdUmubc`HVP_<`>GoH{!7Tz~ z1fkNp5So)eWM?_`t=sqMX4F~k%AVEdtK+nvG+KUDYU+bOaXH#(fNY}3$% zy8j$d*066)kG^kR;rh7s<7@65KkST-FM=EKpzM@w4Lj2|2A}6=dU9+@*eTl+>fY-Q z`?{w49$XR_ORd2_-Oep%bih+S1Q?*~R$NqruX`A{EgFw#CO*twof8`^Ao>MQ8}pBd}f&Cc0Q=r zvqV9xKN$#k<|mey0*}Nm9wMy$oEJi43G%bY*9UGk(pm%PGfI60*- zl$^km`y6?sa>WR*6!atG6x9OqMZ1U@t7A5zPV_2)Lqm%@*Lhm?r-FzF4z}#-*jg8>G>&B z@G}bMii=lpA}NciH*LF;$4&QcRJ+cnUF|O`@+})#XCtpsWEPQRZ9bponnobG#j>;A zG|je{7OG`y1cczHi;6KhG${v?>Gq=MLA9Zoo>8VQGKJ#Jg~J-Y#$q?$db~<3(P>HQ zT$onZylUjNwXDMou>PWw-y4?c>+W(5G9J-nR#uX==nP4&*q5;#Ey-#+l(^lmA~nbI zbvVkA*+R6?<1*1SCM|{t8hM7tDh|;7`2MPp+ai`Knp~}kg_2)|{3}BS_YE;48=-Am za`cs-8E{SjaH$t|Okr%7D|ak;{`hYjQ?i^w2bYRi)Ql z?kR3PDs+~Q+S6_EuN^bRZ>N^j4^8og4@C=5_BG5?wm$N?9LQ@+eTp>AYExjt+pPg* zlPOVi$o+*FNs;DCt}XKYLM;>v%q9vocj*wNjpK4{wF_*un~zX!2Gz24$~h*XL#^&F z4EWpN+swYj7?9l7F&iQGcr49w|aQe|lhM(%)hP zo@sdoCJdPeK%vrjPXMPsA-J5P79(FUlP=whe z#(LT&_NNnT^BB&=AAt?eN{6#BbOnrE^aC_@(S^v;XwiL27yIJgC zHsk0Rd)8TIXXUuebvd<3OXpRTiX!vpRDU`yh5`N zL5(~D-5D}X_I-#Y5&S5oaCZLc6dv9s`A9*_yD0j#u!~5It26RQ_a8(uyj7Bwk!2Ca zvSC#G&Pwd3gTpl~kgbvf#i#9RQsSY4IzFv_l#VDCsJQ0QSHXVv_q2DhxdXkSn@;;2 zUgTclZxGst+}A8wDtG@Jai3aEGTFOuOwR_zSiZ1o73ihT$t`c;Zv{pz<*Tr7DSudq z7^!UwYITq!m)EHvO*X@cr+O(25uO$aERgiY!l14LvmKCS=qa*x$u8k3dN6R2z^Q;s zX^j?vC(no_;qha>zs#)dC|*rHq2RVf*Sn@P=(SmSbWl<%3ZAbGmq@p*w0}Dh`Js|C zn)5=5Gk7md#Kr~C*BG}t5gu1370zN51K@(-53%T2DK>jDV^7io6DlBt*3v6z{;`15 zA*Ua1d;OQxOe6<(O)5 zg9Hak+^}2`6P&L_+KAGUu9-5Yli98A`l9asUi>%c zTz>cA-N~`>kQ?QIQAXnjlDL(2LwV+cl+c)Db_8Qyn6*nS-^LcD?NZCPVN~9i*?{HM z_QcOsG52CU0Uek6W4SYHUHqvw0tH$g;Y7QJ$!YhI!l<-}x}nscNSe_G4=ba-o>*;1 zmc|#!pp(3vq;6ISFRMv2xXbO}8tb>(^$e`RW5YI?(H!7J1~Dua*Q7G@do#3EX~5l^ z9@?MgUX@Yi#-^?=bHh^u36sqIoo2rKLeUO8yo##RU=JDAE(RAwFud9bn+2UY1jPxH zJsR(y>m>gj5MY$6&PQC+*L|7~aHnG9VBUf#j<(kcM9wTWFo(s4aSEK~5`Ra2afe{6 z5?KP!-oYyu2{un)aG@PuBKSv>=v076w67qKYvM}`yM^+UheQLgXb6s36hNm-kKP5T<~&$q53xP8&tv7)X&0OtP4@D{3)C<-veQ{l6&g5~zF4fV7wuDsTB0)et9 zG8f}7c8Tk%BASI&5*wWO(f<0=+c#TRfZ(<3`iWL(77`n%cZ{H{&j)3HJ}B_{puEoq zjrn}g*v|*$e?F+-^Ff6t2jQAxJYiC0aGwsT7hL7J*{EN!ecViRv7!|*vVUDDxS1V= zLMNRvbn+=fr<^jh^pv6DQ-(%P85%ofXyxZa*?~Gq7xaRFF8WHioOcpl zn@-5pmxB_*_^PxcS&Pn7d(N4Gq#>O$cSuUj2sW;ZZdc3BLBV@iiBZvQ{&K=RZN=~~ zUhB?bTV3fTIeTyt6xGsgL+vJ`96}!UZAn);w0YWFs(JoJ_33KMPF1Z=5Imr$WxlRc zRm=`5UGV{4lm2U`59;mEiaDn8;PN9?d>$#w%6+}3ZY5gjUhM^ln@fQv~xJxM*Ukh@%UBvA_k`zIZO)y0x|&C%Ol67fVp8TIWc zcR3t*x7_{2jUNMNW7aDNOvJL~v=^OE_m5eOy%h%JfLiQcTi!RjuN@z-`x>)eLW<{o zAH-@=w?Kn(`=YO*7@|!ug0B@T@RZwdh7>O)U-L(yt?vb&Zx|V3M~Bu!;sRT(^yZD- z;gP20F~ssqshjr207M;3X(KC03qkQG-=d8f4d0JHxmPbv`%h>avP`7)H|Ts&`c5OH zTI}|ozJ*TA+5)F5zfLI}A2m!y(9d0JsL>kQZ1msUO!E4797$vvX`Vl59NRRdtQ7^5 zTs00T4wAUeA*8gfLC(Pno+iV?61D@_6&fai@JZ z5f&KnqobSlI_*6KxN)VSC0YHw3G>cHuY*GL?#4wu(`oeX#zi^PA$oV?qMC$^jCUPR zm=8BDk~t8h4>vA)X@fpXm=8BDVmT0`4>ukg9Hb97UO5m%@%k8mlLjQ3jGwQ)k*_P- zGrR(O3LZW1|) zcpDQ2AuK^)Y}`1LVXU`E#~_|T)$z&48+_qJz=GB~-fDW+q~|p5%kjyG*LUF#gR_6M zvtWKwWkTlo$-b|}f3QE)J>1^?K@;DLC5>MuPWIf7-M`l~;bO>V&>0>d#phySQ?^&> zmZp#T5W?JPXUV)iGfTGaXO?`l78!-bn})BJ{JN7OIIk$aTPa5GyNibt-rk2Jh0(_d zEBUp6+3>f>6OYb<*+HgSv^ka>oi`hqb*C^(ma5^A5>l}SEZtXW}CQvm<47I| z1-qK_1`_w$#9CzC?)dRxi_TSB$C5Db^DQ-ttZnJAftHRrRZGoUYg#&N(LhVb{*{)R z#n!aczvw)*)HWbrEgcFfv)s}ETIx?Xpp4@kj$yh0)gYjnH5bq*;Xnfl(ZnU;2~c^x zH;e9RN(?)~!)w6!&qKhhxE2Cg=?2Wy4VRxAE3@Pp2xOgTz@)zd0kiBH2m~wy{ALIy ze;xv6*|iV|EIMB}kRNtuP5}fu6<}P=^3V0{c3jizZ>068khRoVxzS}|TZoKA%doE0 z8nR(AqNF((cyq^|JUhF0Yx;3^^p|J_PWH6uE|B?Howlm^q3Xe zU+J#nK0M!c-BcNNzkGGle^)H|^DNqeJ_6hFnD0}o@9kcFq&&DK+PH>xNy>3%F?A$u z(n>ww?AiOKv2G)sp?Tb4o-xhMJ_GIKuOkuw3pxMlb=&S0!Dh=ds~d5op%ME$17B0{ z(-Tn>`Tkr<;SI+!diS?DhT|P0w+*Z<$j+p&{{6Oft1sY4&AAnqyg73ZS4gOahR6?g zqZD%-3A6n`RYo7pTP1pvvp05a7ZQov$-VxF4|nfB*zJ!b+I5Ww$+mO0#6y*!Q)0^c z!Asd8cjZs&sEo+Oy_Gg)SGn7k4rJp!*UMk-cAN-J>L!qKFLO9?Z;d`#k4i)F{h9UW zBh|{R=RkV&Ie%u;>TXS4`N;A9zAKVH`9$O!fr)QR-+9TIc`)cpQL9h-6Nz?1CKa;6 zx1HaglI(888bZ4GQ|d&96tBi=8BUIV;VrWU{rMf%pzl2~g<(o6Nl&|oss6d9HynrO zChk=j(i^|?Xi}Z=?XW@RZYT?7_jYw9>;nZ%W)fzTP#rRI6=lZ$SEnUXARq8~uJu$) zsd4mT4q{`veQ!_dKT|jvb#)7UFP90Ab)VFkgS(AmPhY5LbEv2*;mRaWrWWo2E`9CZ zdwRU<2x~!BBCZIxmxY;$h4x0{H6_1ZN$!Ry?5i<5bVq<*72G)R=nEm=Iz)W4jy2(Gn9S+hA+wGkV?IrjWB$$S?{?{JLchrMqsYPU)Z^rJ=+X(lr_9*-<1~U->Hc zoTFh)0_sToWG~-Bdc?7kg<6tx(-4wl}ww{myO#Lba} ztJ*_euSbRYH;3pq$J`mo-{D*2^Gn_qU?MRHofuQBmG?*{azgEv^?$TK8r#N z>0PSm_vrnag2S%SkH))X8`Xr}Z7>Cmys`b+2uu+v>4?93;Oh0TF;r5DWS&V7F52ST zVjEeG6trk3`?0Si;-<8ODO(UI7SSD|vK4^@wC*3nJmxaeR4mz=#Xf>7OLxbTGySOb zmiC7JAR5kVq?4b@hxw_xpP%_l`FXfe+YaZ#)e9ujNe=(`&I%=MLcIR97B!q>iPGKt zRK9}K1+>)?EwBYVe=74N!mA+If%$Lovj8Q%Djj3g?dPZQfGi7259&8^M88~<%kLQd z%=hbeL6&~&vh~}DmS1j%xvs?csiq#fL|9uvp?L|knMkUTVx0Zpng?3as&-PN%`G3u zgNow%gz9Juv8T)~6~xvSc3yuiJG#ZRgrk;Immn(!Qv~{5r!ImNo1x9sOEXx|1{G3s zq8B7trz9=1?i*B!?hx=mLXxev6btlpXNH!t!Iomdm4?R9QgoYymzf%~WYaVNO)3E% zX)u}wffFP-(T;)Kq}^s4B;b+uegj2b<^yaM8i?d6{9!XVysS3k$xEj}oO1eWFewax zGXy?fewraj^YTE3isj{(8EOJA7wYG?V&nDlgwBoz8ZMWX6x?ERt2p3@8ir2cR(eQN z!_gugH>jkfEoQ)S)6rnJN?4(hj$mTB&K0m_Ev&ci&a0> zt%(5jno^1kb&=Xk$V8XH+p0vDLH}yH-~{dj`qhm%_pFZWr4j0NYpF?B(^_f}ql)WN z0*Nkz(&RN^)unGKM`|F4i6w`DvX{d&rn;25O*R{0i#HJ@wsawKKn*-dDpQdlN&uK< z8)MLf1a!KJW(HdANL0%qc$KuK69!>ujk4GjUK`Qqt+6Rg?bVS00ZLIe#fzCanHLs0 zrkqprgwV?=JizCR6!i&sQ?rwwD(18)XJ(zo>LZ1#Bg5nuU#$*1xigzcBeee!B?ii9 zTkh?Rinx}la?cd7I(V5|fEqKIayiQ5mja!@%zCeoz|He*A%QZw61cgB6xXVxl?Afv z@X82WyFfX~#8el08Y(L?Y8q8Wr*mhLzk0D3ldey>oH8eFa^OiJ3PIQKAxKk>D%+*W1 z)GN(3MruhF8Qvv2jr!_Eu8IlF9P1RK319UJU3(o3Zk+VX%(Nq=1*dSm>_uC6R|};@ zyMmxy)uHNWzv$aKmnYs z>QUCHOk-)!yt$OhEDzjVNfGOa49trulaM6vqf%nN8&+bvMDBbX0+6m-g$N5kBi^vh zQR-_WN~jSI7pUwqQXk<<2w8QEmsr6VG6VTQSphgn=wJBWt?xpjf0Pdh7}V-jG0m59 zji!f|W#fszy@2>GUT7L!B(B+oh zBKQO9@ddPrnrdF7#qT(UM;XO82)acxA-9a5bjukF#*Zc!Yr4^7z@IxWpR7U)(@>h5 zMgGIY)}Sg)G4=eaEyC_WZJDdGshI|;G=n&%6)zEna!d97-t@#!%G7D6xCmJ8JOF2w zSt>IS8c&tI)TJez;iFSRPT&RTs$0B*Zl|1FG&%S!6Ev$ky@)oCe598%TKl6qwV4h8 zlFxWmwKW^5rH@(`7UU`RN5H}s&P`oJL!G@9iF8b^s&GLz!5VrEca`7FnuP@m%I$m) z7mQcbK21xCTUc<5X795w!%SAJH#V3~f?6tp4o%`4;F$Rz!vUV@at-_F!ViRinxv!} zBW!)2rl5JqugOMmwjk3j>$IGO)F2%xmSXw8KnX%}$djViHv`9AWT=%FO&n<6Oz-GTR2#Nam+Wc#B8?y{rP;Y|WHGpouCp z#_o}qY+&nD&rU3`UnO$BTl3*R9(K5JFaEd^5s)w7)l4Gg!IfR+W2MDjo| zg*v7ypbS`Bz?YhXCWxsMB`eJaKvA`e;y)znL5uO_PR&6=AN24Apn%j+Eb_q@S+2Uu zazNbNW&lj9mH)$4yhT@P4iO$Mm}_$mzrw4f%hY1#ziKg)l3KdeKGmY<5w9x1OJU49%3-e5a3PIY zy&7G{HT<2|EuNb+ev>9kk$aSg>a~1ra0*{nSc>L7V&O~7X9k$)c4^=~Ape>)ODbL_ z#;hU>;Wcmbx52=Q7cP#_+GP058di4E7}hjGMP!*z={R}CEJJ-?n3+4X(L^%!Y)0@T zw+xGdLXE*p(Rs5D*+}SmZW#kiHD;Y6j;Ukj3Ka$nXOXLgOw@8F^N9o?yGbBtH-;R} ztTN#RmIbeo4y9RiXHpdDLABhn`7}TTMm%$kR&LR9x{*6`j7bDmnnLLcSj`-QimO?M zN|0(H;REclp(kaqEGkijhz+8#w6BKALY=fIx2%#nJuW%oKSGQ3is*Gk0dhBwrx^OxkQy{tr@ijLgX96+qdhiM(Ci$Yw35*HcI{RZpGBAN={|oTyOXH4;vmo z5EaBS`Ku;*;2NwA>uAIQZTH!KurkLZH0+&7gGFc(ps^taffH8Ed+Qoj7DU|as#EKGa)X%3P z0E8Zg9AOlPuT3+X5TwB1Q>W%drmEOt*vUO6qf@v`&zH$Jx{A`gGXCVu+sh=Om{%x9 z)^S@ELkXcN&?Z$gJn<@(bE6#*+s)95^j6`jWF8xcT){rqc*3kUaJhzwg^?cMh!!gM z)hBWT0_6nFw9E#gV>K=UkVe`%qVyXsF!vfJa^RXt7J@YUpamlnO|rJ01CR}(_qYxC58Xhc?O(BT@w~OHIZ?2Dy}*gP!c>@$YnsO9eWy-{~av7V9!u2 zWi)p&+QL#HCe6+HbaxuEV5ng71y~x=V)0ke^tY7sUjsFq2I?Cc(!pq|owiUl_ZsMP zZYWPs719c*zaz1sD$2pj4^qSofY-8tAt0Q4&1C4)sRYfk5#Zn8$oH8+fxJt$}*O z{N`i=Ba&FEb#pearb!}Fyib9@C^X{5?`APnKN80q_#br0>=@Z2s?Gqte8|}85h0ep z>UQ82c*F#epE>_3Jo32XFB%$H^#Xl)(a?eF(RVA%09n)VX<^k?%gfyi`sIcIixw=A zr0VnUHHoWplICf6KSrm9)1yLh-5MaRf7QdMm;_K30+chyXLIc4n^m`Zc&+FxTp-`Q zivN!JuA!w+lIr0RlUy{0OZ*JKK(XSwxzdZDY9@v0(Q_}D*1tk;FK*wp+Qz_Q7-DCARI9OQ4$h zpupi*sl80pBZ@psH-V<*KeP}9Zr8S>=3~8nx0v6m?@m_jq8(-VYJ%u=REQb)5uy_{ zw(3VyDB@|t+YG)aX#pW+OiLqQ+HRs`1ua@n7vUN+BwPUP(5x0k(TmZ_U3bD@FdjEIh|nY)~2}n{IA4)pNY02bn%gL{}qZGa_sFu_~d75%g{WV%0~|BWRE;T?2)h z!4pf;X6rIV6W(QL3SF%ZIEA2}sSHeEtrdZ#$ahIG=iz~B>5JS0NJN)zm!(=t%O5-y zQEKKOaFU*8!Z-ofr)eU|YM0V@I~i!pvzB(zj?mZ>jiePmwSrvYN~`n9cXcO4!zdVD z_0NiWo4k-3irYZc>na0G$o-qr&rw28UzhWkL?lZVhPna15nd5Jok;S5)Iw>K{Rfw! zbHs&%vX8>J@DWxw1B#$4D4*vK z2CS;`0?r>{10Ife0T+L0OI$tK3%G2z4d^T+AewAZmsHf$HH1eJc7o_!4(IGmxHCZ! zuUJM_rPBX$XH=@=57Tie)wQ7y!Lid>w}Rs&&ez@7l&}iajnv9rQ&*(>^^y3HH41dT ztx_*2R5@vTBRQN(-q}`Bbo`If*jRCOGVcnsby9C}7Y81csKQyRR3%0o%uk?tyqB3Pp;{Uh0ne*`uX;eQ|hkKToEIM>^SAo^f z!w5#Kx}21(;)y09I$qRN+je=zE7DD`K+C}I=T7s?`qSc{4a3q^o2@h8j7R^&cJXhl z+!MCnQG`}REP2;%CwInf-9|Jc#orPBaNRLu40@eT+f#IR-v-Vp!_I`w&f*q&!pzCO z2jtXGU<6-n_q5OoK05AEPl-y0RG&d8A2u`{T}>vXH3D{}wS{_VZD=|=oz{r`mDWn- zy|gxzwDwfME7zQXDXk6l(%MkcnwNCB9N63T+E6d84JEC4NvB0w$fmWSURoPUTJw@l z3&d<%8|tOCp`9lAI*|av)OKU?(YhILAUE)LI(mqUZCfWg+fazN$Lnww1ZFk9nDG^U@h@oim`JjE@KEXCX>vyd6UQjJdgaJUtS* zGxplV7A8telkK?7_S;Ilap>WT)>)Y5&Unjffo+~5t7y7~=8P;w(stXtZOTd8ZS!WQ zsIkpMA8mH3XpBL?+!nOk2&Dsgy3JXUgm&HlJE> zBA;!~jIpU%2m1T>od;~pHQNv`-)5-WksHMU1ZsL0GDZ&?RN*sEEvn9o^UBRo#Apbs zz!p9W6h+SrT*dFPmQ{~i@r=r;ddcG!Tg_)+Zm&kOdS%=K*X#sp3hGUTb*4gZcqA%Q z;V}Z!1LM_KXzQ~H2kNUDT3<9>UzV-Ug3GI~(bPw+>Y#-&@;Fl;wNjr=?bSEl>z_$D zP+#fL`YuV=m+ke>P$RFtCQ~1^QlB^CVaa~zAGNA~Cbd^zvDd$$^<_Le1fCz7`b_x` z7Fb|1W>lmuS@bu8WvZYeb;%&GsbX%gP?bTjVI-O4bZ~m)pwJ}1Md{CuO{I@Uw=Nd)@A8h$9jDoTx&Z_f~;R2>AgGk-#s|ob_8ut2X%hA;IrsD;s zCY4-0?yJ0O{g%V^%BU;hBNnTgySzPEAmyyoI%tLAAK(w$-*ejb8-xwqbdZ{_@AS5a z*Ys*}%ez`EzHlA=yn(;N0&V@Twf<3LKY4jge@Pkm z&R*5~mRB#$svh2bBJZVMUbA=k^Wb_(8Muiq<$eb?AF3L-e!KGid?0VmOS}>^Zl`(L zo^GcNfo~8x`jw~EIn&PuoACT!+JtJFN)BBAoHt^Rk(N9;EjGab%%7vQ+;4D=sqEw8 zSbBVx?{w_qzDw6K#?jV&rA%ts5f@^Gftlbca3j*XPfW03L2ssH?s-uv@tO~VPoC2| zkGF=+9`MXiD9^sn;nskZ+HgqsE+S>s$#Uy}4=7l3m7@J3HeL;*BeDj(SC!eTC{jHy zUWsD}D%AAg?gBkvbyXPE8p}i6o8Z=Sqcm9!*B>&MY#Fv+T8F8o4;E;_;AN%pe9B9QIXK}ZeFnS6+%~0BDoHA9%K7H`h`IgB zSX=TfBl*>OwrQYl8* z*P+jPFzTKWN#sPAU!PflUUCf%fmYz3Xv!H;_m%X1X1eqE*wdr#b1@g|ov^&5JnkQb zTJX}$Xfom}Us{E0_3qHp#$jBAPFbHVyFN1-+}X4{g6rboOHExEkVk_bH9d@9c^n9A z#DPFJ?i>y~9e1)>W1BJc29Ob}(L8t(zpHtt7fU;=XFGjR>uU z;2OJ~bo=mGhm#iWkTNH+c=z6xy6yNByo_?uTlJ>oj7&x0m=pQ$jUszKw&q=_=_is9 zkEnkjewq%ix>Dz#NRXUCJBO4pO^5Vdsm#G?j-Q+++oXB*vq5e7?Bp~EoGIst!D)`2 zoJP{QuGGDQ(;)91+MY2c&EE}9ga7lPX~vo~6{N9%IjT+rkZJkAN^v#=@VjtuIUGk0 zEk~lwuGH|sX%3&9rqHB${n((sA38aWv<|vbPYq7Pq3zJRbWGosdSGyxgD0n%WYRPY zPV<+O(@ZvLt{I%>qm$D}%-fZ^cyO8zPfo)@0%=B)#=;P<@)m~SlVSMwr-S;Am&l?0 zikNb`2d8=eGcVC$i0GNalcWE~Y7vZ_IXqGq{X{zSr-jx?p5nTN z&xAl~(dZ>pMevxDT*k`^`hPiAJ%jsiTQ^6oyXe1e-6gcnh?~^FqGxFzZBdusuANFMZi-hS%U}ODA12W9e9jRcM&p066V8sW-JN4fgIk1cY^)^lw;YCLVI%m%Xa9 z_DYPB2ElvFzZ-0LlSk?gON0$^;pwR{f*V*qk7``UZE|cg2qB~a&}K}EwlNsxOJjeV z5$WG3h)09_oel|0LoH1WcoPkOVQnWv(-dth3w7_ql23?;_n%8QgK710?h*|iYD*xz)&KPr}R1zMUA%H$`v`wcVW+JY@cqR{jcg9GK9|WKk5EpRM>g^F!?{&m-l~=U&9cq-7(N!#$r^o`x9Te^Z17q zSP40g?~5hw@!DOccAq)8-L}!|_N@YB7R$T_hm+TgAn_pDR#E#B&SaU&0uko7VLNw2 z@pU7j-Jb#^1o>NHiGMV8i8^)f^9gK}0%P>}97`d+T)W=DO6@BivQijOa~=;kkC$ee z)&W84O3nnb9$2Hk_4LsK$c~JcIlT0aeh5kF(r=b7ZRS4GO};4hRZja_v`f<@PEMnA zTqXB8`DUx3%aywn67OQNc8^dVgO+mUB&ukI@9j5Gis7nF+6{GS&ufOUhMx{6A~4CN zFw2!#4oC1I%t1(s#NIl#lgm)U$g2pby`Pwr~=FFg=0mD!h zw`{Yxh1?8Hj^LK&)BCssE`tPx0_{U)3xU<$m&&it!~&|eJ5qb#Ni9dZAES$>9O17r z->7%V{t%lZXIY2%d@Sqp!6$d44j6b*Z@HIYr#iYop0OJ7o?q_#9v0vI_*OYg{JJ(X z#Ssy${Sd8~yH|OtIMGp_`M0uOJf3}48?$i{(Kw{6N%FgPVRBfMTTy)LVCU=eOG}s5 z7v$fHH@0SG=6ke_nK|vZW@gs#NbS0NN`~n}Y0L4_+t1~?MVsbpHcdon9wklb<5$_D zkRK#;LwH4Uxlrxa_LrOgp9-7~VY&2eVQe(HR-}m6Iv9x$TqoxCvpD0B_4EVI+FgW~ zvY|NK{SHBUPCu~g9p4rvVe2~(!VEKw?ZWLC2cgkKX3>@kw|m$7efeI&_{Vg+DVSm@ zlaeS#ji{<{&#u6Ec_lSy`pwD2u8WGpr*F5_P8${ix%mviCTzhiR;cw2Rcc8)d z<~(jDhAyRqi-QEOFfhD#OPMFNy{ION4-oEcbhECnNrNTAiSAkVr6(Gw5WYAT2xdv}= zuR?(BM6Upr*C}tTLJ5-t%Igi-5@AKrme8)0>010VUwuvdv*Gnu#XlQa|MgHOOPz3V z?QaYYR(%r7NX>4+kwtR!(z(}X_C-7Qu+Cs2&3RQX(b#*-yoqO<*m<6)q&f{e!jBhR%Cn!%r!<5Vf;UhgT zHtx)OS&l5>oSDb+>zoDX!uVevBM_no#^3Aw_4SS9)Zb``zb|KQav!z9C;Lc_A{jt7 zVuk$u%GeiiuGXT1LHa1~j`L%|Lr%v;czRu;S<1a|&hMG|jK}6keBCh1Rf;&kMTl@N zkjDW-GAfb_+YLd5sqY$L2${@z4Ox-n*;1$dH@f6Ut9)|m-vBE5Qeb8}V;HH$?=OjP zy6Ysr1^GzRr&v<1urXw)@V%w0eI&L-z|dCE!V71lt?Cle7mtQf`ib*QTJ0}`4qcaV zD^31-8{W{aLSPC}i?#E+w!VGXt@tGhG>;2)o&^jU@+TfKSg?~vD%y<8bGg-Z*6zC% zkJwJ)J2b2!`3pm4bkEXFQTI!7D|$Uc>rn&e@p+cYMBTrDrVxeGcURz4mEnxJJ>73+ zoxXe5n`Tqc`sN@C6Y;I{reieWD|#mC?%LJYcW#=(yi8$f3iBq#5KV(NH(wWV&s6;t z)DM?%Ez>2-%nfj@Y%q1<+Ssg9QkNpLcc6Bt%f$B#eK}p10X}cazdqt#4!y6R?K}=6 z^!W5a6b7K+zis-Ex%kBthO5SzgLF^V=V3-~kXU1<1?6>(CR9c!jos)(?G6i(50*kZ z4qy&?DbFK3i&3EdUKfrI4bn#$nW%3=r2Fj=$gG}P$jtH`fx@5>{fCM@`z`HzUE`RXRhN*kg@n>$R|n6GF+nvSvuTae3by`b2Xeny3P&$cR@gcoNx|_@ay--3H4p;C^@)Si#mO$HiR@KyqZX^nib(y>y z6$7vxd`sPl+WNt5lft;gW)Ko30>7S36XHV`hoXI@3%~SmsRHc`RdkEip6-val}*IN z%44&d#L=!YF6iYxB$rqXYgwoiWeGpFT*G;F#8G3nNb<|+%Ob*SG9&_mQ)IVN5Y0qe z3()?Opgl_xJSCjon?Ld`=g)TZuxIW>{tM<_$bY6dShZ3yO6YyWf$zH_4hrT^WO)CY z5(lg*S9jtx3ZDVJXDLCzs=$y7i7!&aKcPkAC+DWYIuw`7(N1gitXz1``>m%8ks<)1OYtJPxR_vVEbxpBf z3;*+v+=%_UiL&s{|DJP!aGhd^9Zcy}VhzLR=NiCITZtf%kj{M$H?)+gB`nZ)X-x)ElX!#sC+P} zdwoS0o<#<757ca)A*ZFgb`}qWl+c~&U8tn5-0NRR8b<6OKmMw#i{*Mo*jud*dW78fAsC95Q_#4zZ3tr z@rC$HI#i_Z!|lDpaO9lm@D_$MYH|FssLxWJ99xE*?^Pp?#wry}scLh(B5_0SshES_GZ)B1~0A7Bj{3`kR_|@>6#&0&8G;`0u zqn+FtR82BucHn=hu6hlR#GSX`Txmf~p7t(*LKC#rV!qWnky;0*b8W4f{HpG#Mn$zw z5p>>(;AuW-AE!mFd=wl!H-1vRA2}S zb@a+4*m?+OEC8RTk=Ski8*}ZZgVx;qF;)Y!xg@JE!K$|#7vuM~bm2GfogfNt#2KXK zQ=$R0+pxOW=4iGW>9|osrro>LielK)O`#|Z2<^6_TkN**EzIft$w-WilMOg35@dq8 z@sFnFk@z)ZA1{P*;kaIlY+CR*OJ)(AUpfPitjq~|He!}9ndygOc`}KQ4Kzz;3!eA{ zskce$y()FySGL(r3)be?ZFBx%w_SPolNEvdDTP~vcDFL7j>nHn3M9Dp4(gQxwarP| zZ6{N%j!#f2AxU<5IzK_`BTA49HS#FJx=(;4qX@+;WSXWm)BxA|Pk`%)0(mG9dui*~ zQMWJA2 zN>H$Nr5CMq?y^D^@pQMHs1WGIJqOcue=^{abplx}yIe0@;VVfaa8o8o*oiTT0!EnZ6U3CfX5uL`0|WrzTlwuv98a%53+`%y_@ zh@df~3(z*PPh(KSiy{P7Fc=IiLacZ~1wG=8vD(IcXi6X?GzHW=v>P6Z#3#b$^AG>? zh34!rh+&vTDz&O@({D8w$wD*Z$ptxqw#zU6rz_XTL}w)PZi@hFcyBQ7=vIO^r>Q;0LG$E6{B2D?Tu8tY_-mSKV=hBIbXs=M6~f5 zHY>B8zNz~IzOHvG*{iG#Pygi##y`17&}Qz0mHP~FT(&1uXECcyKfFijEWhEAc;(w% z9x3iH<+cscNknp$6xISC6VQ$@jyE^Oqg9ouPb0>mHB*UHlg_L@?{Be`iR!QIr> z_gm4z{SI!BSngqFx$^3%x!6P4qVLgb$H`E7BEM_avc5L6y{$#v@6ooTtO+bkm056= zbuHAYx9?U(yiAICF-5diYoMlszME0LZqrcR8tMXpDgmnLBd^3R(y_nMu@w^g;SE%? z>5z(U($S8N9xl;4iEi0Bw>o}hu58-oT*6w>X5~eC`);n|!a=+$X~m`_X5u$?aGkF; zRSe{12@*r2mLJIU!}`T3S?WKskd8TYpy6L1pUU&_p`9FlY0HFN1UqLgV<{M(c&7$5#^TYx=( zwN{U1X1@C0_{~`h@tgPz)uGr=c!TQmex|7Y0*^%Z^@?ID`Ys(^r=vGX^siO)VeieK zwbv}y(HH9Iof3Tq(Y*r$EnK|!D6xU~ZMp1vdu4YKA7hf&4L?+Q{fiEzLGPiZ@3NBKWecez@r9qt8u{#Bin%8i5TqyqaTviL?LxxXf z&RfyV9PR|U$n(7*rV7%oO;UIdXWhkqFu!?1Jpc2&6fr-=6Uqy{C#c&qw?Y0+Zi0|z zz>2Rp|M&bY`MpXj=4AiCj_f~ah2V6Vov{#M#btLv_};bOiH-SQ?6L3Z6zu}i_|~3{ zz|dy#ixy462*_G}!)-qPhu`LF`iG+X?}>+0uPj%j`q57z)tA4e*&MPzpkvqR*clRg zGO@k+aB`L5+yt(Bl^VJhc0GP#&DspJ!7c}k8ox@iE>2{9`^0}Y=@OWW&brVdeQIMKf?a&Oe|-` z{!1BtX^XEuxxRhcK6W=^vl8~>KI)6{*DkiJaI$vM;Bm_8i-mme`M3U3-sg#*HQ!2Q zT~+XZMRK|dE(160Mk6q(Ioo;4cAm7K@bY1M!Z{Gy&I9amo_=qvLH0amJt2dO?E9&X zUA2AA@R>I2kd#+>=dk-=N=BjLLHs88!ttNwW8muGe)r5VXF6SBEAV1;*Cn>obKu1> zm*5z=3A|kF*%Pcv#CpcU8vD{%MR=KjShH0TCWtdI}KiK;*i12CsNWP#gZA*J(xlx@r-5ZG*iZm&?Of3riNH0 zS;PWQUcgyL^$e)GC*b zBXbGI?-07sUYocH3L0;Q#+kj&KnO}k?;g(Zr$aih5OIi!dp4I*V4I`F*I zBA>_)ZQT&P=*neEgzR8gQ6eOM`ZZr>*HcW0MUuqN|Jv6iIInN*HpH076p<*dEWvcR zJ0(1jAVG1`S<}WJu7vrYQC7o0in#LB(ej__94FeA1ke9>v`At(LD^NX@yD*T@ynj* zjk1@s0iN6_z6+j8JhDxhN+$8gqsHsOC=~fzr`h!*5k#E_~U-b3` ziy1A@LE+=T1E3 zF;737NIoJ9BrZP7`x&-Rz1ZTmvgFu$2Dx`Uh|?bIKOr8ioRLWe&3C` z^43za?+-U(+0rh9MQ+2xV%hvlG!QPldE^(9bA={DzJV$dat_J+SqrJwqbHNEgbIEE zwaof9QZqhQj6spAbzO<8aZE2BRVEWWcbyPyzx=J|@0#|+nQ@W1*X)arJqZYOM5@i5 z-RH`V!4HH_cv=e2FpVcZwoFhdG?GOc)w4@9Dj^;Uoxvq|-lsDNA^p*hzGf|{hf}0- z`AWUI=n8dx{AaM~{+AN2 zir`&|7ciRrScC%_X*qAfAAW)=eLujOIYh%OIGwtZ?T{hYPR>m%B~J144^+;lFTG=O zF0d%2&;6V}K*zD4;KWf zJS;kfZ27r#+F|EUlY1SW(u=2=^OeZ-JnHkegNY*Pk&*M*XEMF8T_s$sIC@Z5e%! zq?L;ncZZNiq2>=d%%X=Mi=Yvr$w>ofns!3s%WUBf>5HSDKP*~+h-v`Xh%c3$b7jBmt>G;cX?8X*Nf zMfvMcd~l7p#VlTSUgdWMQtN6<&YMOREIBXIZ@jPVmYknTJh?^jTpu~@W2RBTbCd6b z4Y_lNO7RrX#>5JMa9r6tMAB?b{7?lM3peUAJflR$b86yWwc;)*ni|nQl5&yaJ&9RX zRk~aiOb&U->E+@jRl69p6{V|I5Qn(&iRJl{%V7bzx9`dP=wU81{3D|ia};p`5dY%& z^^@5emc<0l*wo&v05D;okMH;&w<+1$uKY(54> z;#cH39b5bCSWX}o(nmWfv|1V}E40nP!H*N*w{Xm987eK_AsWNhMlDc{SuD~Zn|xO~bcs$8aLT)a(| zm3H*QA&tL4$gcSy!R0U;C&pUN@FFFtkDra#39cNZ z<@;lHQJ1Ys6T93S!(k0&;p6ZwTNNdCd1=g+g78fhq{}wtU`3&Wa`X*pyw6%Y_7K+y zjc@B3FQ+SW2p^X4(ysB#)L6ULBf;f-&)eG9HU1u{No@QI!dySpHU3^9U2ObH!Y4@h ze$g6Y<5v+bl<Vl<*d*Pi#DPhhx24`;b!4 z#>Vd;aFRs6Bo}zZ#_u9LRKl;xH61a$F037UiiF=RQekW*$CgO={UIvcNBA@eACeI^ zHh|!83Fe~#lDv@c84@m%xqfWCmvHHX*pf3!M0bf_)+TX7i&b0+ai8DXC$W_@QrGz5 zoTMX7DWhNF{X~-JGPa|)_TjZ+8l>tPUnc4dr%`4Tij6M^;0xF*$j~KdM+{ZTS^gY9 zdP1z_;!>q9Z7As)KWZ2;sw-ggwu<*a)$7)hzbkV$b37zo@EJsjY;TLj3(Ew)NeD^| zV0NkCu=|#y$D$g$D*}CdHsfm~UiV**o|+EBUxU|N@cmauM>_@_*wgW09$R30&P;ZQ zE#{!;!P46X*j;(0z_YoAbm+t)hKn`W^jbSmB};DXpDK7rk`==Iha?@4p}b>&7Mcul zT)_Ne00#42ocS*33C99eNG1D17qswLphYg$A{TVfu|T~psMiH8Iu__q7j&o#dg8G_ zaTTITRpNqrj|Dp11s(2!o^&kGQWvz;1s!@U&@vaa%mqE=SfJ%DXt@hoaxBmhF6ams z^t5AvR=S{-0-BQT?W4uA#A=PGO^*AG5&5v27Yk$GqYj}mf}#&HaAuGHm?9+Gn>Wf) z{Ek;V_TY`N35Qr4>Gs8t3DzTt0kLW>X&TZ_Zn5e@^{KFVqmLmkR$UaE;KhWrgc0(D z#{ZVfC!z-n8t)+|mgP3IOwPrA<*4~tkL($I^xT>^>YVap6VQD+y`au-+@w+GH~vB7 z7aCCfilQMoHJBB~S}uHW*^RjrFlU7huK%S97Mj>KI=0ZncI#NLiG57RdWlVT2(m52 zbI)Jn-C{*2C7~i0F?NW3w$euw6)}Kw=X*!1U$ngtI;#3@Qq+Wu0}VL`X;MSfbOlQp z9}MkQA^VVf1&w!UBIYs)$ZD^n<(F)So&%4Yo&_#F3mX4mjPp{{f6nW1Kbo8jC{>pZ ziltZj+%JAk0U(4FjVc1$IYb zaPNR<2WL+bLo$t7I?X0>$XOTTXfmfC{ITf$pbKD)eiOD6;wCtYo_1Gto9Jzk_>cAh z7v^SDYUapxTE7!O`I#AYsPbS0WHOAM7>F&F8KF|MeVT->_XAmT3#I)i^vLZDw*NOUyII z-vf5t-fZ6G+1pqP)d$1mNLZK)Y~W1yKv;&Q$oAc!!Ze|;$y$5?>I&!PFk3j0VUr_e z8^7}7 zQfKCyO%rs;Rf358@6Y5IFRkg*XSRf6JlPmro*Ck{sWX7PPoIL-877L_g0agI8BOSw zCgi)%A6s%qH|_Y(Gcsms!kQ)vh~{uebI*`|8SOh(Mq57Rj5x=bV#7`D`duJmQ-|I#N;fgm-*(GdfM$wN@5IvO%YHS}vt ze3bCw8qXz99F)_HDS5*Lb{_47w=`)5L51i;4#edL-E`Xb=J2-oDrFVEe!OU&J;bB~`4-koWw zgf&9!l$ax8z1J3CKht@hMpwu(re#znZFINC5X~PuA@*aV5Ln+|jSv>YoO!I+UHP{} zQtWelN=)m+7x71xWaDe)<1&VDGh-P2sMHnQ_TwUo{0MGtsg+5iQaO|mclATli$s{a zg!+GjEXNAUmF2tVX<7c2s>9e!47>F8#L+~0zwskmq^CF^DK63pF6Fw`Oj%ANC|MrW zvb=q6es!#mHX@B9XQteUBn>5$&lKEnw&fLs|q`f!qnyoQsbi|);li=A`S$s_h(dkfULAS4Ipj0zhH zP`k%Jt7JRfD1Ub%x#xlZZ;SX3j}YL*n7DBI2LWB7XAG zMf~ppP5cnJej;)QJXv7~cq95fohCz9t`qC6PAfm3)^>*L63(OH;z%L#4XeB$m*M0XIu zU7zLqOAhF$`Mbz8+!b&TNoMby)WTDNmn(@oY$sU6HRmWz51t>%Q6^i=Mn)A|s~d~G zR_kR25P-DhDAr%|$46{*-VS)U9(|3>_U($d!|~-ZTLRlqE{2!BV6}V%k4K!718C&d zYRrd>^NFpD|7x1FX>5FGB}ajk4dJOl=2aojrci7!n`7Je_+x{QGi_GF*r_V*rTPC# zVq60pSE-Mhb5SbsNvhg1*WGGACfhSdsrXS*cvC1oo@z%;JoH~lT=G9jyq!CoPxZ$x zh;M0;CmyY-(xJ++igh&k!nf(c^?Gu$NyK_2E zXX3&E-lv9Z^rwhx%qPK>UBQ(6cC^I4)b~kn3DLDSc~si_KSf-@PZ3x6Q^6ICUpa~K zzdD}(HTb_KUesjAM@-za4H08I@7N!#FSJ@;L^Dri_J8C}|Jg`3^YoL1$C5W=<0Ed- zy1uJi9p`{|q|E8Bsig&_zf}R&>>wK&A2mhz7QKOXG!=ueS z|3__|Zs(6_8arO}CDT0B@ezMWH;~tULQIx8E2kR?*R)HI)=2(}mye+Urd92KT>(tv z`dCurr^btqlkvxi?D!PG<3x6>4w-Hwzem=dH_?&lKmPdewLx5Diq?R}knTgar#GXG zdh-R4E`$=F(S<4w{LAytaj~M2{}M4Xr2n{Bc;vs^MdWXhjX>LLxNl1v7N^r+qd+_++MaQ9(ye3XP65; z)3L{jzQR#jR>|yGFf76#TsE&^n0>+Qp%2q*bJVdxPA$o2Kii11wuWnjB77KygvXqB zI^OZvk9z?P#fxgf@iB2;bH;MO`s~>=aa6<}((LH#1Loe+vT^RW0@(Cc{9V}-nXP*K zx@adc&}|?;TvEIuD@sPnY@?Ty>lF{(e>b{Lp|y2_C{TO-F^sX=^HX_N?Qi@g9%8Kr z{@!~g$KJ@eWad(TtR&f)0ulJCt&Mxthwo5MRS(K(wZtfX!1;(&b11INYiCpDrKY@g zvg;ETIA{zhR8e*5GYULHGWS;iaiGh2vT%R@x%x7}_$;i?-rPlc+nJwFAFWupC>X!v5O&QRBkPVhTg8E{ zjoStLVcCXFwg+R8wd~2q0uT6O-~KHfo5v!2!SMJMzx!eff3Y;VF&x7grLVAct&dx!X)K3@G5`$+JNKeli)ZW-pEn%+bGLOuHv`%gcNN0e`O1zMByPfN!Q zB2FwBw&`e+evld6J5}$3{7FaS?>lfSWeGZ0-NZQrae^i`%Nz#~>k_eChR+6 zaw0cjau>Vm?!X1t4V^oZqXlset#k#%3ndn9Kan#4U4fTnWi=H4p4iTJ1$IiPEAYHL zde7oK;uMkufs!=g_)=w3PrL+!@g_0t=3L9L_rE3QT28l+J(Qn{IF+#Ebve`)^Gq5xRxDQ#4iot z>bLcFDd6;Km>_a(WcqgzPm%u!IOhhOZ!*A+YIY(IU`g$@9dS7zA|&Z)_(ISL+!SB9=d}lrMbTF*T+Fld{gGw0ZlLbAb4oa_G6_xZ!ox`G z^J|3s6`h_w?p49*u!o&-<#gC5E_5r6uXx-W`v>o%M7})Ryl>Z@j_oX0$GT{2k{h3i zo(eqYzAc_}Kfu|kMwYUF)BDKA+{C1ed1(5tJef$oHR#8;djmF>bFX$c$`m!EHtdyQSEnkKNingP(Y~UL&5W~-Jf2=p9{4kCiF(N+3xD#N z-a#DD0qEBN1*;m?-YPd0p3r-0bm5|$hGHjhS1fQ}S74E_r9bxXzk)$v#8KbFCK)n6 z>5^HEq{kq$axh&Z1QjxuxMY46GVd^C*6+A`6^GJxmcQ5jWX7wsjmKBWyi;QeImI7O zW)4vlY+i>!Wc*UO1F@y;2rBeW6*cC{EGnx;aRf9?Z;meu8y%%FT^ps$wu81bW4jR5 zy8T@!C4|)-+@Zh5PoMA+-G2I2cPB9xe~K;)U4KFsZoOEYvWQ?=d-~acFaXo_=bt8r zD*|ue!<3%&22MFR9Q8hag8fdzUE*{1`)4!wnEj*Hr1kw_1R3Y?A35ZyPTJPf9(I;= z)LuVB-1>e7ueCd^SPP|+@q~VwhZBZ(a_4cFSsP0!Hu^ZiW>$GH{$xmuA6%)lyp18y!nQrIBogogF+@zIeOTc;vmy4 zhpBF9Wpqen=Y7IN*t!e<&@VAYdkn&g1N=TE%#u$7qG`zXoH@t||{WM|W>9 zekh{*g6Sf<3#!X_Sb_Ggz_lV=uu+*tQpDs#6P*W(<&YLf+Es^*4_SQ*Cq&i6$M4j) zqUztUxCFlw2=G1r*wuGSk8Jra(v$NYt*SbK#P5g5g>^83?OX+c)L^3IE(+eYY1x~XC42u>p^%pr z3L)pDf8NdTLrF`me%#33pNZ_HKir)q8+&I3Fpsax9uTR-@eGPiC-}cE_(kq6K0@N8 z|OXPEpyYfRYLbDw9OW{UQG`71_iCxq;FGD0$1IpU=A!C zRp9Owfx8V+dpxwwwd2*6)c>(#*1vbMNZiY^Xsaad9YQK$mE)oEF{SOZ@SjUg-QyVX z9B~{}?N=`<=ri81WFu(-*k1z$lepg1A9+81PX&K1iA~y!g0CUxUK+J5}Hy+t1 z?KkhcpN`x+j&7k&dF3y}2J5Pu_7p<{1Yh*qcX6b7*!G9%U3|7$eTYPuV6DBDM#>3S zY|z8K445oA;rpjyZNwVi6{*^HE5`S`@`Q*_Cw_eW#n`?FZeY!y^*yID zE%Wr)h#N%0jbwtGZIKirp1JA0M(nv_)jshC-6PqVL$Y(nGhH5vq1g2i&Zj$(`)HUT zcG`ZtFFVyTV=vZp30;&aks+rnDSqbtGnA=-8Vk|osL9)vfb~rAK1~c zD<3!N;x9nX2@Tg>A2%!v8G0tuBPVn8oP-N38n~-R4fm!bt;yRiHasBdKd;k!n2Vd_ zxaD%q?ll(temAe*MP1bWn^&)!kI%Ccq1IdBNX`MYfUd-=L$GROH6#mc%NF02S1G%C zbrW6*vOMG@xD88Pj5WMH*zqc^916ytN(cAsh&GnZ!=xN<0CO+ljv?m4Ln4=P#|C!) zO!XJzG9$Vh*12eO4W~SDz}MOyw)|YMHRL{^!k%|k_+Z%cVeeU>nw>M(OR~*j;^G&r zCw1?Mgcs;=3!Z({`lr=e%Q-c%gs(;26@&L1%Dnak^M*#^vnqpKT)K_i=XllD2s z+ypwZ9a+l#PZQVC{49^|AXsF@r!oFah!4LKGp{MB^(5|lxS}F3)YD}$CZW-8d z@XY8d`=cFJ^dQTQa+87ITI;daUOAiseD# z@Gq%2y!J?fXH~pOu(Zd()Fc$lOKy6B6C5w;_+p=mUz#9@rz_?MbLj1@+ZGM%{W4Sf zFGi;Cz$M~;q5u`LSXD$$$xW$zC>NI|7q`7nVv@YbnNVn$r>MH*QAP(@3!jE&#(hp} zue{mm5`sPt)uP{rG|~3Y9fP*&ghDn!<#?^NZLe6= z)+%*&FKiv2e)X7f*4m*{L(z{4t@!hNf`O+({4crZImSBq_XvMR`-FA-&W!HbA8ogy zeX#Cfs2E%>4CJz_rta?ybwe(7)u`1iwB@8DkvV=(kH4aw>ckX%4`tKWORc!(xwx8J zsWr1gp*MxkbXycx@9WR0P;H+ExB>@^#ns%SZBhz57vCYACEq3TM|}i@M_u}k5&C{D z#L1g@{`Uf&9z)`MGU-QR3R>JI3$}{HC|;hPP;#B{sv_W$XM|Uy>r3=z%{5m~T^E^N zo1*YAEAH1rgrczSum6X>G8*Xy_kApVhgq7wG8Wj#gqm!Y3|eb1Jy-Fi8B)jA9*sFg z$B?eC`#qc~Y^jD*>G#5t>bP`j{1%@382*%^!)cm7t#Y}?oN>*2g^XvyrYZh4>^Z?@ zPc<|H4SQ;4SFCCH^o|sZHVLPllFd`XuII7#A?$j*yqb+c-E5)%WOW@}4a1_}9g03Z znx!c=J%UPs?LEnv;A6NJ-%3`?=|rjVuvX~dwaW2eTQ_9OWDe}BY8LGO#$=Yx)rIRp zK0 zs>E4mW|V=-3x;V$f?<#;1EZBH!zPtL*WyjV@UX^k`YY1}lP1GZQwAC93bv>S@3e#| z!;%aPNQAm!3rrb)r75mwiy%qu3jzWsk&{eF1U-pUWi3=OvL_}n zq@f12#Cq}bWR)M3V!j}M;u@@-sP$5Yx_tSc&t_mt*)EcDkshh-QBu-fB-<_y%SiNR z-k+404W#ZR^WdJ#M+aF+#A~(m>Zqfxk0U!j}&h2FtN^H!;ui-}I^Q zu=n+IhzgTC22rS>Cimi|`k7T2qH5~(4)T6fk|ljtxt8a7h`=q*&G_8nqh6x_6X-J~+1>P89f zm%rBmcvoItv&x@iaQi#qSNZ)J*z?=35G-}Wmh-gAMTxF|LttOVIU6vH2K6tBrh;!Z z`v(4teP#H`lwfF<1cPwY(<&BzsHNN0R`XKal*5EXKG#X{rU<#0H_0cf{%;0d^Ah0) z!ANP>3v4JT!9sbZOtpC=QaHZhC-hDJidQsg4Qaj?MDxkW`whm9`fq^W`yIHf{yQ*k zy>w8ov~InmtiNuAM2x1E7oB^Fs_j{ySI_$S^ntqb2kO8#MhUF&_XYgEkx$eY-@aI= z@-h*Sy!NkF`LnzVJ%x5>HC?W0H;v~}$TeG4uG}Tp3<(Aquw)ifXTx!|&w%X^&uRk2 zO--n-hBkFnqjm~^#mjRz-z5o}+gx(_tnx1T5(+Df`3fDyt*zz{G#ai>4O8ER6vbUxDn-gC&lo)N14Bf-2?B@~QxG)$c>?IgSgfOptEL=t8!m3dQ$=BvBBj1Mxv47pvU z?2rh*q@>{WyTMI=;O`Z1B>25zmH&l^w|OUg4fLcY8$snEXE#M zW2C~I-5RPT&Q%!eUro0}J=9gLp@#b*`>UjEwY!BMbz?}gWVD9B*B{Xu(h`gxw8A7V z>En5pJde^E^MqJF1e|V-dI<)RF}gKiopfsufT>a3+`d7lt)0RjeS?h?Qr0yao-g)| zc3WeT!dN7+HoRI}%^zso)({eYi@)NPIl472hnMRwCok`3c&USLYlSy!>)_J*%SXvK z$@g-2v$hW2tQ&RCC^<1j-xBysG^2uR2j}H6?J&_=6*%LCASE?G1|a zq}+kxaLwtmGNFrT7d~;zEQ$tqGT3;vs?N7#izSlfKi-5%oobHGE*1i@iYMR5iiJM; zCYhr4P=6tg*G2+}ObwNQa0Z^ItaC<)&e6^{MqMN^-dJnV6i|uIdb3b5(%&WU#hp5^ z$EXJSc3i2?TO<%I2Y%a5xV{I`ShpU^sew*pWUXQp8G0Fs>k57zWa&$E55HCaBp?4G z%79hNxKiKawnjN0s(qjjJ35Bq>YO25ZcK%o5q(xSU~kCtn$5FxIjvA zi02ict1I{%`SQF-Jpuob49{Ah*$&_iZY>2%ttck-U2Z{S_^6iN1NMx9FwE3WsFcrl zxQuMWZMD^-6{s*KRct4qJLVN*{HVnY8O&8*WMb@6OB1QWxlM%P zr&vL^l1OI|(@IhwH6Ve;eW|Mxe6>F_?M`dK7@?TY$8R)0>6Uec(r5@b)o9EmRHMyj zG!!lSx}mDA+y?X$lGa1))_$03J(0D#W0!~ z>4n1fPr7VhPLg6DoRrye(#fR1Q6r!H7yI&$+GaKMy}E)w`gMb;r;ygn9ZX-F%fMFt z47Ftx5{%uvjwq8t(DxYd+>+=9ggm+=ssV%YUq^?NGL-gfLFpEBFi=X%6vI{-E$165 z&Bni^FCcbptX$M)4A8PYz~wHol!;ApNtU<1$n+P2@t=A> zC%ZcAFdS6&BN$Ld9PWL4YvS}}KlKI}7b><@$Cmv@uDj) zjgQ(G#Jnu%c@NX(v0;MP@)d?X@42@K_%FDA=-jW%h2W)O=Na4#2c74*e(7<>`kcf^ zTuKm%kI#?9#|34(sFda9U??8uBCPn3+sGsF0uaIG4a&HK{U$!)6IMcU)k|>tSZ~$! zJ}dq@AFw29xGp#y$NNLpQ%-UcyXsQ16ZcM(Zc8GJ!-RN%Ds)HUm$B~`E-O_zlPRgb z#E{D}(MCYmCq4%#o{>~8CPV!ozs8^T-YPgTxa4lygW>pyV!b{oxvM%Jk@HDZ;}|*P z2|Sf+?>irp>n~{?x%DV6HvzM?QHbfQ5TfFPQ2Z{DtbXnhk54R2-@okmPsI69D2R|{ zgMqz`pg(rqDpuw5ZO8XuY;hxB`SKv4HL>bLysqK(u~>B@uaEKC9$S2fEC{s|T2Bhe zCU)I=LfypaP&c71#L=Y0Z6VY{oDTI6dX_kpT;iT3w1YSu+Ck_g;t&+Xy+mjiaXPe% z&}+mYScrR#P=YueN)URJI7T|+-Xye-I33zY=zZcCx`=yUZ?C-XZi|Q&^(?vDcs4yH z?cU1mGKwRFRq>B8smyzoK0Yux7{9-)_Qhm!&B`ypvj={8VNS3DBbLi?G@W$nYUn)9 zcP0g#H~h}!vxC!{S1O7zD$x6+-}(HpJNwR(-J1C$SdA5f^46*C!XE^ zkEGf(lnhu87vt!wv5t<3$AYlaF1H-7ASzhV9gaO%wwzb%oCnLA)bp{j**wvWxOG@y zVn2{nmg811g z5<^)0iP+A8-a)P0CD~;y=cbtGqQ+dv<8K)5{Gf?yI$NW=^Eez4yEBKZWAR;7vlsVr zkIM@W`N}BiE!cLkm>E5=0)~;h2>$d{aWaqBbniu#UlV8eoT=%SO@&x%4Is|=+5xq00xB7&Zmql;>x^SZf%ur^3+cnYhtg2XeA zV1YUbJSt0dOrRtk z)2=S|s4O>WaBk;fGifSK8U`>o#-tf-(%`1cjWKC_CJij+#+WoglLq@hH^!u?F=;B( zF(yr|Ni!-PW714BY4ADYVl!!GnKWb4F(%Dylg5{hF=^(RH2!pqNz-J~1k*7lO`Ay* zPRE!uOHCTOWxuj5H)$rNV@#SACQWTR#^kfoq^VEGm^7ud-oL0NCgrlDr7SfmmuE$qJj+eW zd$J-;o|Pu$imXVJaIX%|(!t8aE=R0F?15f`O&;%mw3X=X#x=tMSv>oVai!W6|Km*wu_h z>SOkZG~0|wlNfhe1<4WRsxdWE16_*5rbe}nv`oy%Ga_YP0DtYGLaQ&Qg)k^Z)QcBlszWpzN|=-a)(Lz zepaMOxyz*N%ZfB96DFl-dubw=l>1Cd(J|AJCS{*VnV%JDQsxX$LqohUE7GJa)RC=4 zS&=5C*QAvF=_B$iF)4>;MVgeQCS^%hq{*|~q#T|VX;N02l%-jbCgo_8vMejor1Y7T z;z9g~(gsb+5m}KYWsON$nH6dBtTib|Wks5l(@e_IS&=5?ER%9fR-{Qe+obemMVgfJ zOiHo7NLR(AY$DPf<rVzi=Dq0}>@K%d#l(W>qmRYL| zjl3*rokmibFI)8;OzdS9VM*%@zOm%kq9S=ofiG*FLAo?J%W&YDrEmc*=~QGfINS_o zDP#(}2EV}tmlzjZ;~?)F`h(AQ!6n88*Ej&5-5-3e3obD(xW)na-2UM6TyTkT!8H!R z=k*7d`In-M#JJ!Z2jGqU!JAxgiE+U-4#1nTz@eZ10P!Rp%J#tEMLx7>Ye|R+6bHB} zQOu3B@;h-6cEPx^?Y=37(JNR@GXHeh~q=sJ=?H}`?}M~`CeMPIR`g-Fbd0S#oVsc zfh$H#HviUp{!tQr&QZ`YX7wT9xH|9c-XX4RRa_Z#?$X-*HmfBDHG;qfT%Vb4ORVX0Gjd{!+hrEw{6Hml)U1WLX5YUN*SwxM=k_IPEL9M( z=EvmIcoaVq-lD>&ZYJE5M(2#Li8bF(c;rTzZ<$VLE$fK2tx`}*r}M{}9!!T~%h#k4 zaQ>vvxn0zhSaY|0mJ=Djfo>=rqjE#&C9)bI{;oG$tpbKAZj)H@IMr)dB;cf_u9m*_ zfSWIJmmEOmod)bBC0iDBfo0Nt~gA}V{*qn6K(wGJK5{XMw_yY=U2cA>a$nm8&5uv|5-htRyR zgR42LxgzmtiBP;r^yVj6OJO?fFJm8QRtX=aK_xsb5}#d3xZQ+jMdG!rtu-kw9+WSC>1Ic7M8c#LI(>~`c9#A zhiGS^tpA3h>sdsHpm5!iLP?Ibu<(?eN;71Lwx6L25Q?q?nIXIoYnGs!#kV6#wxqB< zRTSNml3bFQ>PtF0vyPuTvW~1{(vy#YUV3`Erh-~mLCGQr?f zNnwy1Ev?pVoX};M<1_+8+@1jHK_q^AZJviQs~pyAttgM-ZgkFEb+NO3C|kkgY=Ihd+;LI{m1?Ul{Z$ETE(tk#f>Xp8S9F?2 zrf&6i<)rFqY?AnM3Z=F@Tmh=Dtjzqb@VTX0 zxMvrf2Uhys*`elk(eFdeU8@8Ju@Y+Tl%^5M5{!O(U#^H35j9HqSgk)*_cvVCj{YPX zFsCp3()$7Sno^Rc!{}3~HbDBor2f1C+QU;Hbt$o^@PArxUcYZ1TVRR-JO|iw zNZDJ5-6f{yBA(|%&ZflF?Q(Xvbs7sy%ENcW!|~kBA#M_Po=Lndo48! zda3bY$)z$F|8GeacK&-GdcD0?9C(MF-z5m7@E7WR1G_bOSKzmLZ zI|*w0h3d&p0ewd82yozimD&xcy0ezl){@uX;PU2jy^&%&>#cIVw-UxryzI5e@wXK` z*?~2CEY0h)c4}M`akJlwQO#As_zh*h#<*8nE#w^R3f#&IZ##nVz^&nUq) zS22-^tW;k|%hy%vD|UU}$Qt$4CtusuR}3w@k#6-hC|`Tj*RXuup}yA0*InxCB>9?9 zUu)&-KJ~R;zV@lF)8uQ8`Z`0t7OJna@Xc{?Rx|Ao|s=qE(Tc0ml=gi&_cJ^E6 z%;QW{b7_Fqo<6E9p-GBo&cEw) z&Rxcb6>gfs+JpD3S@hH1#611g&xlKen`QbdlD}vvjEm3@vvImSpL*f*aRqEcPW254tA>>%b$*;3F zbz}L{akNR@rTpo*GKu3)$I(c2m-46MMo1igI<8XU_|tKtB#u8FH(KKO({XTO-B|u4 z4pX@Ep1Y+m*~P6{9ld4NdAn~JnCx1U)5Pk|Db{&^wx)F6a>Bb<^7Q7Tg`(t+pnKz> z$Gf-%0tzBOfjdMEl01S0e$=D`SNcqbi)A@QK*OdycPusFH7>+512M^kSZ*L{T?p9` z5*+m|#0mp3&4swvK+JFvmr{!HlegxOHCc?Yb+-|)eF9blfwwBqHwDzI=q<4ci5;4XeNAGi zJgh9SyCimaD)uFbg%~Dwhs4r*4CZGg7UG!L9*G^1irpfym8sZni5-=ST`#c^Pjw-B z4>N`w70H*(E>xb?g-(+$q!xyb+Ks3|(>zo=$!fjSr){ndUD_?7rDElysdZ($Td=0t zCIRKu^=iApB%(sPYE82Y3^g_|GYkwQF)*@}C>cXD15H84=!z)UhQG>d_e zm0-a`yBV0Uf!UXW2^yI9Q!su5)91qYngq!q1pw;*Ax+0Ac5CWG5f^kVil|~lMCj5s zMbtxt3{lC_RAQe=uq0K$H%+3YDVT(TS(bu%&A=>A!R#_H_oQH6GB7JrFgpy)y(t)3 zjFkeeOu@)vtW@Cs6wDR_vnmDCZD1Zu!N`KG;8~M`5$iF*^O%CkqU*+9mscNF!~L;& zwR>i4B12VgJKdWuUleLi=xv6*%zjS7Nr@dDQHIRDheOz+(@iaPxZgCF?H#$@$moc2W%Fz$Z7MQ~oQ6 z6*`wor@6Ug%6|osDgPA?E&t^tV%^vqq#T*@UqNKbe}yAc{ws(~`45Ctu=v_SsbxMq z3g)O*jJ$Ug>ae4ABkzwy&=db-O&-P_(#Qt7q|q9Z654loO**Y4X}F;VPSZ)ll^8fp zDh)T>z-ek}xKabB38vx744kH!hATI4nrs?QHom2NhH|pUdq<^#)5OzoqYRv;pT;Mv zU!-+32{jzsCkmgYqQJ@b;>lhiMvIADuUZzR(je&8;h)Kv1H!x8RoJkWNwY1>g z^HA5mN=3P>5yj?cx~2E5#87c8_i5;uT2GYb6>P<)QXE#JJ9c3$eaFM1Brc^4u6mf( z4z+TK&XSr_W$K2&p<=kIVYX&S94d;d7-s8*#G&H2Y9Vpb;6^JXPO?kQseBaI)d`8) zB5{?PNxeP@=W2w+^;ZZp^g%O3W~g>qnw{lct`$2e*3@?0Xx=QnPR5=rwNA#KEUivK zWGZzEB2%YR5Sc2Sg2>e96hx*%ry#UGS5KtU>AY>3>YRee)aDe9Ol3|W(z+bcnk8k3 z%uvgyURotjGtaA;t71T8YhplTD`G&T^swL;Wf(Kc6g5o`fpil3t!$mYEGkv=0O{54(w8VzBiqwT zl~SXwO>0qVeNBAjSF)&4@Z4Y)Je&__TIaF1@`CamaPu%icHzw@%ENo}0C|+m`Ha2h z0U1f+!$#)G8p)6uJQ5%EROMJ+oC6mOdkH<~5g>#ptX|)A`gAW2pvyPUh@a2Q}NH$&0deha5&tX-^PA|wPEk;I4)o*!DDUM|2n{lG}JB^ ziqGAEjOBcYi$VBFVIXdw#BshymZVbvblDWZE&*U0qQ1;0!_0rjsON2zY)ZEdj?X9D zW8MoTH}fv%Zz?nBiGPPsY-&j;wxIMXxoI;Lzy6o#qasqo*TW8W%MMFsU|G^9 z{vB3E-|&cchvnSFIn!_5G;E%QTm$OE%`M4>e76Qpez)Kn*16m&ck%8ZY&*h$_uz8XK&-G`*_D7 zpo{mbACSl*-Xah26~Y$(`&yWYWb0re9vv_dkM(o@EyYA{C&R)-XXd~}tDmmQ*srp@ zSKnuO8y;eNuJ$GQd!I&G$L~2Bp`Bx5)`o8QW4E7pq2S;Y+$ zBGt;mBBUL*GaC|Yi43S7fjR;rlbwWHHh|}YBcM_|r6H!YODWmH?-usq$?uzLwcMr9Y81H+gQ40D{Ge$q^j1`)QKocYP{%Ps8S`bJVa)G0 zeGYIkyq&)*SMfJ>g_%vu4vXB90+Zd?VTnR<4H1sHG1e?43>t)&@7cPXHXG0jOPNi+pvj))N2UzEA zux|e`(M=yE=ZuMu%_RwY4xp)yHg2iJ+1r?B8a_+f>Ms8lg~uQ{B^$}DSG4S$OM001 z_|iYemVHJcZawJ_xozxUSgSv33zvP4I`t0mo%>g7H36<-MrcLfLcA9uN~Mj3l+;(6 zxn(1weKhMOJ{VxmKA*MvdCT8pU-%sDVq4=jxa%fz`-T$w{m#1u*(5E*1!el2X!DzG z5G3f>-oVJ$xO77{Eo;J#?7Z&@d?hJ5!EE+41<$mA^FD6n#nWf=w4v}_JXXkla%lR) zIXs@Av`NA53pj6rWE59qe8pZPlPA=MLkHD}|CbNLIf?b%RXNzraHHX}vV_WfnY!d6 z$j-2jb~=A>ek3PUu_;usEgbvz@=(Q#JlJjKtX;&}9diDnyi=;If-#*mwf|D>6n)OF zc#>j_rbqkZwYV64(yrRTK>xKJ>Hsz-AnA8ds?YW+3}wGK_ll{x_8*#j5Bcmzq(8d)gD5H7 zfp&oi18iej(Rx;Q_|EOJR`>8?ohMq%MytAqN4r(cq3YF}d_C{*=m?3mZhMf8ccm;j z?RG4`%zr_ke4!^6D90GF@&f;zBNpbz_{St^G_KS+y2lYdR^u{(Cf; zcgr-nw|!c5(_@2Yz?eC6vBl7gLF@b57;t3F9f~o^q_SBY{%yv*voPRnPWJdO#8DKT zXmz($y_J7T_F>ijg=J%sb4s24y~9^YAMfiO3Q$)7Sf|?>D?kUSK^P_u+DVQ(!?(fY zI;!aRyfZeIUy40hzHqp|Dq(%^I;5N&mEJ|c9zUBuk#55GSV>eo?XUX#!iBiPzj+=j zhN1YfvgO1?;zcbCYSCakD#377_pJrNs^{lSYJLT)qNardk{hEN4<$RCCo8zq{b`%+ z6|SvmJW$brMdnYVyFH%Hk=r`@^4N31LvVh`L3*t23U=(lpl#Qo_kJ64HYUD#^2L;d z8ib}l7p(g8!n1-Edx3feg?!n_ZK?K+73FZRl$Z=NCN=Df9>%kD9;#<^m576eyx7R* z1^MdL6PuIYyr9s1FKk{=0yY#(l48UNFghpVYjd)_t#SUQqA8*EcVi=DtsBUNFObpV7Qvmis=d zdBF|t`wh(tX1njRn-|P=-{&?jnCHIFYhKXkzBe{M+647g@Pyc(h@8ho z%rKD&wylBXc=PuWnuH`8`5G_vWi=d_R}&phU_Yi*MjrbB>;C%?~)449W>TiwsPOQ({p<9&ply!%kS<*MA{XHl3mV{)^0$motEF_ z@bn5=kyGbG22WLXOxZBbHvShj<`|J z5x2}KP0bNE?N=52h)3c_?N!nY57Z};V#$Mkw9adJ=c0*NLrF^QX~D`6@%=lq6-PeT^T^>nPLV&=0uU%QpQ9v1E?nhi<(X9<%AQM zVP&j3jLTSc7*|M~S#=nP4Bz0TRa(Ez@`_xc)AAn8gL`rKuo!AXhE4pKFBEeul{fJc zwOhqi$_(ji@^_j{lY-KqlbKrT2BSu#uT&p5%10(HFG|~KOni|U6O$Rfbqdh`%X_Q$Z;+*>ap7?Gu_vK&}2v z!3jG}*OZ#%Yga5d+EETAQ|-48)7)BGcF*fG1J63gWuFhr@xB34Nxd2c1Jrsey79ftorlK zFGTy!o-^L*d>A9noQh46`0(4;{Ps7$`OSe>w(d=KruSQIXK*AwwMfu$VIAl?6gu>y ziQV8*N62>iE0`z*DxM2eaRX<&ENe38U$%*h-sFtq#LgJcjkkI2cxV7OkXLnBmvuWG zvB7x$I49t!(K}xBq)O!!aU`y%VynMu(`|#nWmj~7CFU8q4cE-K4Ok-tig~K~tchLd zkAgM z+IWe`43aYy!HUhn_}Fl`Vsp4+XSm{3;luZ=n|!S2&6kH*ot0Zzsu2|zps!LnxwqtBlfn%*q$&NE}J z2bP?pUZ1xsdXk%*7Nx_;#Ty=(fovLE(eh=9_bBe){-GT!9&fGAKa-oT{B)Q=EEj~g zonmj_<*#bL?L;mgi{dOaiy51#8TYU zd_S|iSGwg@ij&c^AXr5^*Jf61O?Hp1Sf)xzfmI2lh*fq~J4I~IDq<%^lsX)(h;ci5 z=Q5xP1l?#IDy+(*j<<>+Xd-x;;3As;HISJR_vRA$VgeZT)lMJ-m-E}F8AGdgs# z@^HmoEE& z4>(+v_I%@F=I*7^c0rZF{mS$wj2~tnVL3kKi_R;}YZz=-z0FM43P07G=RD=FdPN53 ziR=9p-Bo)Uin^j|T0oY)mcMF$!yx@ZxW`}hzghbh_^68O|AY_?0^W@hjS8}@u>^xQ z3e>=Y?uK2tiyH_EnrM_*5MxUvY9d$z1d>SBo0a$z3btBPYb$MSK}8Lsknl>7R{#-E zQG9Y^P~!^%0{j1d&)mD&K&(>#d_HXE&Y9<#GiT16b7p2MT6Z|Og1iiDWEXhIc8dSV z#3=r2Ics*9`$2f+mcg*)2yH=8G@i;@ip0>?^0c2`dI95)@K^HaSkANv1fq**; zb6uP2?E-mlmX6tc1o|GNY9$2IS(51cgyF7O?nIf&ztLlKotM@S^j2l-c=oRBaKDnz z{Gn`|OW8=*<7~64jXJ)bf2$9G@9mU0z|0CL9LrWnr!9_p+<1ZG4HXE)zlVdU!1x!L zD4t%d^kN@kydcaxR7N%{{H%q1qvEroGp;e_C&zpaM_s;*rBAGs`E9H><{MmJu$Fk! zRvQja+;(lrE(EV}m8UX!$(ekq53de+U0X_CZo#&~tH>w)6Ct13pdzzvnF~hBwWQf7 zGViee^G3b@dxGjQLueq^2@btxL?8x)j&%ddhyI0&IRp4M&cqc;_=sO!C$;{Sf1nD? z7Z&a{J}sM`-NkFXg*h?6uX!6mdbpAcI}Ka2e_2F~96|_QH)((GoE$5+^ zo!85zq-4bUjJLFktEr)d!i|nEKzVj1P!685J9}hyQ|x`|*qfUfs%aHI%#uHkkri zD*|IlTf-K!Hq}zp#=_MH*{KwdG)|U}YCQ7LBgr_z@2&d4XH|tWol%v20Jg$0_uwgD zmWP8>ExhubaR^Hs?j&m&#OCm3Hw$Fo#U>;t=sZMQ4+ri&8}8$ zOl#T}939L$43>2WEbAZ`nOWRRZz$uW=09+St*-@QTJFS(S=`eCAahL1bzWCv@%im6 zko*HFy}=dC+mhjGDn6$js!EiMn8Irm)&34AI3W#Pl?JLE{2aDv=zqH6pn=}&tz5Gqfp#&=fQdVlB|r*KeuTTg|ILW$`JHa|zeR%dw~N@8Nv*O~Z^ zk#7n`0S6hX6${dV(7Igl&}#6{hrvI~t5~PaLO*4t5@GBlx4iM&2)FdCpi0RQrh!4j zh`bB&cb4%2Q3G`z;QDth5($BEU!~esWfKrC%B#tttPu`c(8JA7vF)bv?hP>w>V;X z7<1=)CrE^oC0D;RnV-5cU|`;5q=V*_su+*91|0goAI(SrFDb@Fch+V0$_E z9|y43gxn5)S|iMz9`Q)UftFXCNLek?Dp$3s?p6$-6JqNoWPs;8Q}K~8gyQRP zz7b%phvQ-qbG(u1m~o$#*h=^*MtEH8KH4mbYlsQT?o6^58SJfZ#&EVxzOeP>mq(kq z$G}CT)ZV1M>sdij%bWI=XC+tf0N#2L{^KzmBa9whc&A0&X3VjyZ64Q~9&OB<*l}eB z$Hg7R_K}-B+&x&<5?c(ea=ISkk^nZhj|E|O4UU+=!7;Xm0UramkQ<$}JUb9sc7Jx4 z;?vD_pB?9gfuDbQ9M^jl`*_y!=PhKW6ToEZRHhx~RQL!5%W6nz#u%qDn<1F}mUEbR z_^=KYf&@6W6K;lZkE%jR4}n(9i))UBmxDWp&1rLo#n{SI?#Gq>lxwIS%*M`KPl(=# z%|6hI!l*sP@{2YRqVi+0@}vATvhqM|9&F=ZMg-0ie@u;Xv9> zP$LL)DSM2IUbHG|7mWsGT$<4EZ8*oee(m4sXB;a{FAwH5~x=^2F$4R&)A|Hr;+eRgYa%}S_C()MF?)j7bG~X;srF5uRQ+S zB+=cfh>jU{m`8TD6CL<(rA2fy1bDghBCb@wxxfALt>VC@xC$r5#6O!BN?Y8+la#6iuYPj*6xeluFX6 zP|`D?Ff;QBo5bgrx0AScNGul4fU!*r#0F&z9pdS#1w37YxK|!4>JU!?z7m4CTVB3; z;Hw8t%c?I2z8p9!tG;^Ss~1kns;^{xCF7i|`s$6Z-Z&+zzMS}S;*6~NO2JnOPROdS zRD7l4e60E!fUf~K9jm_5@s*CVvFd9Oz6SAiXK7gmzA|tSR(%b_*DxG=RbOs=x$(-T z`tst-8_e{oFCAZcFjH4w0el65nE`Yhrs_I;Wd}1ELc}T43dCIvGmsjmWj6$CR2)YlYzO$laBQD24lDhy^8s;?q^6$LYk z)Yo);O%G;HS6?OgD#0zn_%ec}paYMq5duzdj)b{se5gDsR>BfXrGuST!V*hclpQN! ziKSd&$4XdYX_K;JC2Y)DBvFvR0(IV?eAyZ-H!t|T5%Qi6!43|0SU`QodsO2+oX52q zn$A?uE8GJH#Ixa5E;D@dGQ;zlEHu2`H%i}t2ZN8}3hWA`f`|;wyp3@uZodDVL{&=*l<#eBG zFVu~DeZk%rdR#5oIY1l+!#UMTW1%*+bD`cJUuP(@OH@`g!C220v^V$rI~o_2@f7Rq zYPVJTOdS2#O5^REr;OcD=4p1`Q?B)NJLmsUE1snvCM2Y4z52wydP9Ri4+lXH0}qlO zz6Cve>vO&93l8cFa_R;wV_Wz&o;kG$@x-x70JW12&#>qapKvq)HC}-1XCOQ1?{m8Y z#`^Z`ol+uNNn+%9c*<7y^pvgrTC4a9&d0J#_84pUmS#pk?wCL*)iVLNTdy%&MFow4Z>JBYD^BsPPw84^2;vBMlxOVVJ7 zF+r854ZYLp<~pjMzg4Etv`Ma0ULW0>4V|ZvhUkFIy8X zUhD%W);zUWOQN3Z0c|A<#{2XOrY#2OYT+yO77nY1y z_`b+^kA19Uyoa$0abvOJ-IF#J=inrP+E@h8N{>-ZY0eW@EwUc2KoVikHD9E=S(@># zH#9RGd|W!x(%n!2Z)kF?&$WM6H=OY4*W4fd!<~VZ%Q(7UYvmk&yPH<;HnOkip;-$Z zB{wvu+P`WXs=%gcISyM;hTWj{SZ4Fyllu3ojduSy3fMA9hwQzgwPotCYo-qsHz}bC zuF{@W9IwZG#^yAr+16PD4D0%_o$Micru0vWm&$^&XR6}tb z1pVlfnfgEWCPww9zx1X!r+F&Mw+Yo6^F|V2<(IgTaTb8q4%OU_DN^=`ExzxZ4)NUr zZ6>H70(vD1^gKaX5zv!SpoIio5doDGWc};RU)6e~LC#n3p@w8A$7{{g;9or2Z9UZB z3BVBuo(gcsnV(V(P?qsNHMd!qiWKnz6Fu1h|;czuddmN^ay{JZ~;{IJyYuT(p&|nO%LxR9W7-^2{#)}zjv=+eby(tjt zu@}iuHmVI6^?|f~5&b9j22iXa-XB*V2;S2g2oA+#9~p31?pez`V5MEXaeHE^&P%{^ z3*KPfgSiQ5q(!Rqp zvK=qF>piV%zYt!?jnrP;v*|?<>2TY)YdgF(@fY?R&RfCpnZPRCxN+lp6MV4+wYcL6 z_i&;G+<((BM!Y_YzGoS&SYJG4SI5kp3eOEa^x9Iy`X^%MJmD0@Tn}Bpv;J{LV%Htl z28W7((J(61D*^YUn%giOS;jfSy`h}J{Y+cHv;EkY``h>Buf8oD;bTlC^0c#hVjFdU;7P6zCE^5G(2$4W0$W$eoh)kTv`DQ$Cbmnscga&W>{l@}GjyXn zj7PKUu&V2Lws40yt8<8TagO@=3UjyLX8ps}kyyFpRm?-s);J_?`3 zjYK{0T0=k90$hYwO6!Y4Fwj($?Tgzhh{h~P$pN+#ENmAFhWv^~1v^BO=QW~*cmnRV zs%@ZBlsk^d!{6+nuZAuw=_|tUH1P0%Ep#OBYV&3y;4wB~AZFfxo6iEF@wM&t>CD+B zz&1DzMob%BZ!`kyGyCG&FL@(rb@dRa0Nv1ZY_=Rw{Aq6#xA;jKs}lmQttG3V!f`^v zhJ%k{Y+MX6SnZ1;o{{0Ga{(n7zRN(g*yHN+UEsuI+#_Z-#8{di%XG6 z-fj8g8@$tz@_QQWOZ}@-Y5;+U*3_PLyD1^j{uRRGENN}vL|BT%T_?hi25txjUQHEJ zYNPxT>UB(zNS`O#hYW90Eng#Yt%Xi`M!0qP9kB1Wru`~0GamQ*6@6n9VD5tA_rUv;pa5SULbjEs*4ugw;;XU@M z5jZ-`6UuhN!|5zf8tkt}hv5WwT)pvn5E*5%xYo?<8q7PI;o3M;1Ht4S9X4=#%Q*rX zxMARS5`34V|ua_r2z4POl=b!sSk21xmAQgRB%c0gHO85ma}WdJ@3kYYe| z3Pz^dDZmG@7=J5^@lK2X1?H#LlFLCoI=VjSou7&eFL9Kkqp4QNXe|6=#05`mnPcWM~ldVZyCNgV>sS2@P%~p{GS`zThIhxCMLSA}Lc3N84+r4-x+&z%>?0cn*oxpw2+aF&ku3exAo8x< z4G9kSS&M}KhQ*0QK4rdNLhy#yeAV?dk@YPn(SaekkIG-T1~pKV!hv#QZf+@oAP(x^ zM(PhOG$DFIwgxe87BuU8-2w6dq+V|jbW|!L9ddn++ex@n5QzXDFgtN=Ybj8K*;hab zCd>F32#nN^{`!n>!DV$$6H2gGqC(wRpn472H?0Yt#}Mb1N`0e3UGK=6___Yu#*9Gd zmZm`59>feSD~Yc~yMd#bzAR&e6LGh*EB-j_6&7&U5V*6E`vjj+N*$0tZkvv~cgJ9> zgu8dSm+%`Kv*PNnF?zVn!v`QILduOQ#0T%0J5A}LQIU>e!U4lToEZpJQVurzLDq%P zO+eXn%E5TBLAH-Zqv@)LbZmrDuyn5(#Ti!xR>9COFo$0yw(XN|>$6Ww^|QJb(wo(_43r}p{}NP%BT zk^G!hb~v{9E{H@9@1qHn2vZW&2aZ4DL#~GF`ly!L14lI-joP?v+St{6P&#)t3!kvZ zL+|}m`R(PQ6aUXC&#kZjCrU~5{vV}Me2rIMEG@Ce|KS~DoP5yMuNjY9F>ti9Nn5}1 zpE&NVt$!OwgC}g%)~_9pzuWL`xwd|jl=P_b8+b!*VO;+alF3au_)a_skB}n0cUx7k)$Hx5)no!oQBPD7fM+OI&}Qx>HN+eC2!Xvj8qP$ znj)zXbm;iW)A^l?dn{Sj6sGFMR0Wa>L5Gf?Je}XUqxe>CBEm>DiK*lTUi=~ze)9B5 zl1gF`Mk<`Z&2i^TSqM6G{N(BU&K<=UgcA`)DkoFrNh$;#I)3tWe&>#IN~%1jN@1!T zNrj+8$4{Ql@7z%-k}8L(#xYf@q)KHf{N(B5B$dP>j8p@dDqB(^=+N<#r}H~^)BwgJ zj8y4N6_8X2I&}Qx>HN+el`g3QOf`t9bV-GvL&r~^&hK3HJUPNh5r z5`mXo2_||7Bzl?9f!{)K?Pn5)%v)<-dh#S;K7Khfkq}P?#Q*koA;?5O;}e}s z!i#e9JV3l6MZq?YwxdcJH@p+hWH`rkiWbTfHgaiP?4h08J-MaLK$v656*;s#^m`)3#veVJ7g;42n{6)nc)Qj zNk;;+n#c%;&|{8F2t10;82=ziNRqXh$OwmL0Df~k>G(~Q34zxSBq1k(8e%XMCUi?e zVmMJK5>FaPLgHC9kuZl0R*ukLqEMv6@0D~ia0-huo72NB_m|jC6X|oF+vs&nHYH(c)N*A;qXk7bkijr!w#7jc_1jk zBCoGup-kZL6yZ0=Q@|LZTZf-9c_7mWCK=)IOp%0zl8|AC%#Az{J~0VG{Pfp~5M`MI z2{>{D9hWn041V%J5|AKRfY6C!INjCt$IYNjQ55i){@<(iq zDlb*i4a2X^l7*Ud#^iCSvdZJPy%-EaI8kVq3lP%{ij>E1n* z!5LD*(w3@b*ay3TK# zJx!5x`HT_4f&z_Q9$_}WE0A=PBprV#(%7gZ%x1|Yl8&@yF9wB?@(8ne{B%ht^l2>y zMUnERg914`i5bkGSYlT|*D=mwfISe-5$={KT*GEyBtVr8B%8xqo)Q%&%q4N<Vw}0@ z%#kZZnZvN-HvZ<_MxsaKksb~Eo*tnjt4AD)L`W(u&y8Q3 zkuq#ETyLaDq+rKbo$1B~@SB*;utQj79{8)>BTNgcM*`2yW{%u(%#p*e<2L^0-8L@L zBf@M}p2u{u5jAmjbIUd6SGx$r05(^KI1L^ z%&_9SYK(;P$4+6ou?0+*&0ob^^T34d9!){{YK#P)Tf`i>h0Kw|U&n3y&AY8A(j%s@ zR|uIEA}Be=mN4B|%ms_;O1@`|P?9x9DmUg^;&QsjdJMNCI6DSAeuNSbf~f+bWQ4Gj zN2qHM4y^cv@2b03aE=w*10j{NH$uqG_Q}XwjF)m?;_Olj0+xy%%2J$2wwV|#MQ+JM znu*#>AP?##M3`re(0w8$dE|k@Lh=lfJSq649HAx7u_0jbtY;9f?Qm$R*d-zf`ETMw zcCirQS)oiJ{4%rZ$S^n>*&QMJ?LAe#gdwda&aSiJDh{NQINNP^QSyj9m?*o#9PV!t zgLQUCRhb}bi#2f+TEl zTc}Iq&qVpnp-7!L%8hh3~}UzrO0uL$^lg57cg@CG!w zhGiS^Z(kT`vg*X)EaS`N4gmdziSw)GQ@v5Qu^XpcixPFH4vlj0JJ*9F5?Z=I9S$9I zy1$_g2J$f73{v5v(2&I3Z}ONRI8Wk_eF|0wKkH1R*s@@40ott+?>!6*ieV)yt&4ZxRV^b2wt53Hy7i z!jao7x(rB&`X~42aRduNDL}`jJ`r@}OAOpSjAY$_x;BGNq|OjFecXq|oNh+xh=BpL zj;gDC{uFA7YWyc_v((`%Cd-zbz*fHU#t4pRmx((!cEnYv4D9z-du4$Nu*pZz5q?s5h~cj zNNr?$jK}2+AV`>Ko`CVDh91S$p*V99E~mgC#eTs-vf?%kU^Xii4+5F@s8nx%u2MFvO9sac$92$bKb8>P5C@M8zk%K-u=nT<2*eYHV%beXuEV6xS;PDp zdc}s~(Ml@SHqHzueR_!kt5L?08oXUx zbYUPgCc#q+JfmNrJ1v~_yp?XA#GzzPM`t+c6^SqI$BBt?mL_4GKNOUx3o$XyHOR%8 z30{>{*g`**p0n}Cd^R2^;lQG`oS={Qkg<>d%$}e-E*TmF@;XO>XDIL|2W;>%fH$Gc zO`l4ceGZ_^9F}SQ6a2};e4Ny51t#^O^G?7ZoM87Tlo_Lv_29M1dcz1O(#EVGk&4*^ zE2I#7IB8vfg)APUl4EJWWpCorNe8@e(i0ZEPT=g7N^mXiQBugf7OC#AQt>7eVSz*? zMrx|W7mpR@fxDDL@q0~lD;TFGjz~w7+(-{TIYNhJ3{AsDn`D*kIG>t46syVODK!A& z9FPe&N$GOvUnB}hlNi1dEA)&ohZTWqY}+Fy`6R<7xDg=5m(b|a4OZ^_A1)@Q;gDtR4w7_$xM0>2C zD#j+-bPLn*lK&*4z3g1YoSKN|jzqhHBN6Jk34hE(kO-pjx4)aw$`c6_@9tJsnh(sej)kYo#aQcLm1uQ0hdFsf?)fh_;VyB?j)~=iKD~6 z6YBdLJXKC^?;Wf!x|QukG=B$=z4lLF)t?W3t5rTxMTWfh?Y>#TKq9T1h$wy6#tix5F3nz#Veutvx|j`w|CHzFVq;r z`JTOM6Q&k_C-YgodJ*|_qmy0@LKEy>xeqqP7WI53o8tsQ$9J~EGFT~!bvkw28Eh5U>*I&@VG3_ z>02UFj~59L$ut*Bn(<5Ur00?>m^~>J9lJ>7{{>;8@z3Cu-ze^XPY5R^|6C1jE`|pg zBqNeOH^^Oy=-eF}WJw?^JuQn=cnab)tA?pAuYcmiTmGxsFHquvJW&PO+S-*6uzHUZV zY?VQ_>u{?&vb75cqa9=skE`3At@Uk!Y?vTNfF8KmpU=HmD5>m2dodgPGn-rp{toLD zz>^~2D>{JRQD9#Le0B%$YYO~}2>2Ukbm4zi;L{`EogKil6xjU0ZrV!(clamtNO>>W zCdqUR0%X28M}#DuGAv=9o(VTE!zwTvneP7&1gFFUJRHDhN*~ihsJ< zSDs`q1aTrCyb!rpb7GVr#&dhio$Wa6_{mC&kk{G+=8#|uR#9f-MzIhVt>?sG@0E_; zpk>_Czy%Gs&oR%Wq#!Z$ZPQ&%(=OnarGT~N=tGcM*G3|^zN;gq#R1nE)U0xjgEuC9 zU~$j^aCj;QB%#a|yKS}D+OutR7*Zv=b{FM=FXH)hr>Cn;kKDNZub*WG<3v2fc z(nB{wen2PbJ7!gJo~pu+DsZupi7MJq#T-;&PDlCGEP$J8CFOG1$Z>-`m6XeYg_H{k zm#@`X536wUhm@kkl!Y;rw0s}Q#fmGZ=0v4wVm$){7fB1OG!mDOG}VGRHMRq{V~f`B zZXq={dEJd%-q4E!-2Fl)!b8kB%^VsJp0yBcY=Spq#vdYDGLx<5;Jmc-# zrFK(5^?OK-Kl}0j3;aK%2X6^C_)h24!Y8(^EmlDdh~aV>T{n8H>M3^e{*f9!efh{m-zv>4Qp;7YgXcSf}(9qFxVfn}XLTG&dr#68H{t_mAB=$!n7oL0QrV zd2t>fjNO6QvKcSO>!9gYgo`kBxfdS%;9Dd?-zuERSp@;9q0;w^dB&$aY$M_*#Lh9v z0qBpg4xp&g8PCKN4P#cxBcxlr%G}c&$pBijGo(dYRa~qD#O^KKarzSDg&iKHN!1qW zS%o2HT}ftGk{~#*Ln|jh_SErUL?~;&IUXw&(7W<&q7UC8YLiqa@O7nv*4WUg3aYZ6 zuYhGX@H(Z4vItDxSGwNe4`TNP)tEmtBEcUVVfsVYyZ?Y&w;;4*Izj+Nf_eol|Nxu~mvZsptmHl0)=PkQHqff_o0=M*U>aZj3Sq&KX zqe-~N@otA7kD8>d_h~Cl5*-%nU;0B`&%u`2fi=$0RSzQ<>ksul4gQ+o(eU*(OI{cr zv%c%VnC2F?dIdGL_y;z>21UWmSrdyDuffRY1sDZcp_FrQ##Arcpy{rS)B56uM2`Np zPw9W{YMXW@syvsdb2aK(=5FjCV@(}5Aq9eWpcN+6fyuH*YD7V&Nt?2Cqc22B^SWn2 z%RKA7lV?~zdLD8&mT1rVu7j|jQ6d03I>N&JZg@On#J}r14R(v&TyWm(Iy9!`0*H-f zLWh$6h>}z(!C&$k+kD}-%$-HAakZ|ClY|G3^_j6flGqCcWJ z!WEZueOQYEkn*70y*oMJ`bsOmjH?p{E1L^p3UjwUrY$IL(3U2Z>iqYDhG=$LhFtpU*<-v40YcH^kZ)gh$j#7}VzS zHbD!E)o~DJf>-Oosg9OOMCJ;VU`Id~bX=R3B{huHjq_BEJIsYhBa^wqG&!lFX~3Ec zRT?V6LM$_c0|Dn$;E0z+Dtl)ex7kONd_$e&7#YkEhzeLPFQ?R;=V&vJi&(cOU)|ZkmI6 zM7C_LzDBGZQAKjdA#cEZO8u@|Mm7H2u91aLN&mP$GBXE8n=CALV5+Z&vz^U z1#i)H;{g!&?^TD+5`&zm6>dFSEeKB`En`!8u+d3j2|9E3PW#}(Z!@xS* zf+Ag^{M$vzzw9jJU$7zGF-I*gw{U8+XO6>q3vT<`PI6l-u98*ZV;@>;4pa#qw-QL) z9Y`Rf*#1LK1Zx8JQNR8%-6se_7v<`NwEgSyId>l(8^j-y99!0OQcDQtfrB|$7HWe4*0 zAQqfZ{LF2`vCBRvV(i^cT-4{SygL;SFk<4v91XgP#UIGAcSDZ#SaR&$>7XL5oT6bM zgFy_6+_;srrP?BjSzF29Ptz=uwUD#2j)Zz)cp-K#d+6@h$&@lGApm=bqJkS@G7}+iTR(4C4EoMG2 z0HOAF{4t$4I6VTqu7?#jPQ?vpTpQLG8^NNV1)mXh9*loiL4?D`bemrGL7UA4 zF>)s_;aE8u&Hp<-1O!eAhf+;&goEtp<~0NB)W%Ep*RuQi$3%-VZGG@q2ZnE|OeHYk zJu-P9^Fi`@g&TcaEC^kzn~%x$4A;Yqx4j4&Vz<%|r-zeFO;ToHNI+1XC|es;0;ePZ zbwR}*sXxK0_1x0?9k{ej^vMfV`h=+T!k?l{PbFbYNaYcrWOC42E>0GEocBVO_N2=6 z7-jUR;|3j?37kP|NmFt;DA`GVl2naqFswi|?cqr0R3<7Wzy=eO4DYMyM!VYQMxdFy znx*WhQv1**M5#>nzdWQz-A-R6qE&8FBAVO0K|7HlK%j}@zRKQ{z!lmlqPLlcgB81;Nl%FKPeC)vDcp07qi zY>uDw8>eL%qZ0yYjefj00H*b%H2@e25zsLAx?6>(vT#0ZXkS{>!hI>V2|vK7pRPVS&Y(2Lp3crX<+7H4{4^eWic`UTUiZe+!wN-Oxa4> zz_$xp7%Xf_Z*LX`auk2e_x6*4*g3Z0&T1qWYUk)CIYjN;U@lX@J~r?G^gYOm1q@{` zRKOS;xK#nUKWQ+3uYezJu^RF`fsuc(9Tj2ujC}=&!{Ih(2VzAkYdx^nv+=yYq!6na zD2HkiP|jQ5S(H;zDx|b$;6bupOti63W!W-<#h@^4(#@i0x^UYV1DY4=mZ*`#As)UvQ=kV6u?V}>#)yp? zNA252Q->9;nwxp_2OF+|+--rC0QLi#xf`JxHs5U%ba(kaA|-LBe?v0li-q1 zD}Rk3G;VH((X$o7pq>nD_7-d={EIuGC~PjoR`N$<^9YRN{}VPZ1PaXRLmjahBK4^8 z=zz^a#*0Gs1a0Ym0BF7rKkh3aHDS$wdrN_zw+!=Nsozy!)Ccm-SGslyE@HSfeuTn9 z8RZxE%dst!@wUs5>;d=PYMqaM9r>}IcWu-SJ>BoxP&6E=;1lD-iQ^_*_plvD{TQx8 zm<8fQ;06}Xmu2zH&MzNj!S^Kq)e;J?_PDYK+_RWunr==Gb%}A8I!5t2gm4S5_HsPqCgZ+P?WOn;2v%nP!d-b! zKax98xY5i#!x|tV*!wO!8NK%;b%NSymzrOH%cUz+iuRGQIxtpruOOp$F!R-c%%wzJ5;GJD5=#nH}n`cLE6GT5d6#;tIb&mN)$`Nco6bdQx}1$(aZP-9l_5b$r4BZe%`nMTpk%zku?0w(YSPO8Tk+ zg&AWYNxDx{wa@`n4~@h&LPW9>Zu8>HST!P?a9>=AFy~%2nQD&8oMvVIi)4=Pp_-_g zQ5Xn5L!!c;O8zm59k|j3^Lqv^$<;<86j2NXa2ed(2T%r;0MmL0f-f_p-Y}OL*$Y_u zsBAB6@%dqtmVMQlX&UxQYHKC?sy(6>x_l4Wy9B&Q8dqQj&E}nhO$JR{`j)rVAK3T01 zt;i|U4z&0~i_G&V%Dn%pAu-K#kK*9CaWysz2qjIHv4IG@E=~>2ACZ_zpa()*xu5`8 z2Ouhv>gk}M9Ox8a0ZeAcBivM7B1X^oe3MCi1 z(Zs!jqjbh@**j!4hLfIU9iT_I)OZ>c4iM|E)Poli0d6Hp(MO<=jAIviL&m`=3C7_D z7s$DawdHKzC@hA0tcB z%kIxWG)mi3G?C-0bDKIBa;zEtP~Vudh< zkOospsK`JgO6b~j(*u_U-KbK#GEm8Lt>lL4U0TTRY#?f;8l}>Xt)GE61=pum_%%Ut6zgJDf?o*jaNwB|QQ z@5O&qDnO;_=FtzN6}MZhNH+(v7482pUf}le3+P}?w2~=`!O4gXXD5S*=&+0$)_#E+ z%GMUx<7k)AE}usY(nz~BlZteyg>Yk8I?~wZ)Ky`{XF7 zS3Dw}M|8m0!hFb#@pum0K^lmm+)#7{XIr+d$!KRRD1NS(nzssjFXlMYsT52P+ z{jP)4`sqfC==K3ggDFN2-s_OgZ8l&0KdMYGi)sEF$1tL9)m`6ebJeiI>P`0*u?uac zT?qDzb+%n7V!vosb|DkYHr7nvM#XBRn&5B2sc_v@n>iA-Wv=gfl?WO4;haVHXd4Dn zc`PeXqwNSXZ2{m_CG=6W+&;WhTRO0;V+{ne%C>OqTd}=;N%~P$My7P=*hVn;tue0iBTTQ}VNP0JM0}n>1HirByT`k;r** z5jCV`ove&wAs`RTEX(Z&gnS;?Tm!mKiGvyOTo|nJ1+U%*ltm&={C&=}{C$vRGS-3s zR~hJZ%MQZ~6EIL2nuMZJHWq4n>^B|}G^Ma8OoAH1z(Xz z4JDPorm&T5UiY2MYzusp+q6*9?Gf-mg4_SeWPoF6C_7>U1O4zM1TDA`FCR*%^<0`j zCe2mm5NtnAw%0Dp>aes(B{E*n;&-seLUG@2j|~`~f`tTJb<_G^8|n%{^kj1^*~j(s zPR$TIhW67_G{mmj{9_EU8y*%zES{UAA$A46PR$UTwSS0Zh@I7;q`UF;6AZDx3IO}& zJK%opqigAV$=I+PDoIIJ_8{EZ$m342#5K)9K@Y|pYc!N)WPc>jEA&;i%}940ns$#^ zHk0(=-4QbpT^3PB3)I@yKBggJA8J$fp~HG;Ossk5CSVo27MKmhKt!h5s0SZNHfM#v z#=(6ugyKczTmr$YOxcAJ*%j-&8@9<2RdMtF$du%MF|?Bv1#~tIX4Zm1C=v4VDb~3l@lNtPDsc9jLHf24isOJ9cbkQy>f!= zKi%#7&wE&u>_6+QI+RB7g#Bk6mE`0?*nggjuxxFIn2Sc@vUC+E~K!HT_V(Xg-z;4h?!Z%ok6TJ)0YeJ+9&fMJyL9!T4-?e!rKJ?&| zt^5OX9g;IQIn4f#g%3C4Q)!@a9#3r_L~iBnw4tP*FIOBU-)uc7Ixz9%%{Tw3z;O}q zHU;MHgV}$t;2+l7*`EVELZajk${vB?gFRt(JsV{%5UwWOHG>i!Q)rel0DZ<{Fkoe~ zXp_EdHIIBq7TKB2LimsE?+o2>zS132aRIUS&mUW)R8cJ@!MFo`3o23i7A)7lcj7hS z9oWx{zD4$rTg_dv0yLUmwBg+}DqNmN0_(sKD9+7BzF?)ZMxK7-Ci#!f2-Ors?%~EvMg3vUPV>N(xDj%-&0Ga z$`WK2pK(Ypo8|0!&v;KQv?tOBl)u&7$Q>bMiw~iMDr<`?9()4)UjomdB!KqOMGeyJ zyWgnUSdMn^iZtvw;BEpFPAPFSU1sbYE6og~SeM(r+l_pHZZAP>e%3ZScy{6cc2W7{0~j~#%?M_-oviLfo%r$MpjK%peCpQN~sbk zY}bj@h}Qjbr4On6L4C*>D8;-JP348>p_fD}>RYtlSBbL6*GXAJR9TCEu&f;*Q?rj% zmd7fqcD-*g%gQ)WSL6J_@)ohY&HJKsHQAopYh^f-ofEy&uT7t0+$?mGm9-8DH(>AUwKHAO=?^rO)^$lm*xvbkJwq zz#5|T8BDF1(SYqTd<&i@lF0)nLiN$!-A?R9K7peukTdXAHsfjy zhZn~8V`iA5uap9g;hZm<`d1cUjK4aXHDY`G1NO*=kjotX4mP2x6Bk5v;zO(CSxCc8 zud#3+`k@>1IQHSB5@~ty#o*5)NrQv-Dt!&dwOwCh+jfkFiehk>>btE%Fq4+btlVV| zgr3BjR=do16>y{tJSQ4huYi}>z{5~RL~=f@fIV&CJJGuF!X0hVqZ^~dA% z`nEWKt+l=Ai+SjG!Io4iB;|)Q((B?$tHV_z5X#3agf6&FX-c3Sx$h2YhLykV6v_+( zHiHB}1DnPF%KQ%d7QdmPPgy}N0Oew^2R55H;}9Cqid{BnJHhYTT|5-)f#20wbRT>V zaE~zTP`vUKl2&FLqKlhbZoxgxXJCWpcdga65siq{=6;BZTFU63>)Keu#t@Jh>@cb&NQ>bRN&@t5(v zu|n#7(h&nju{J|JOJ!c#2d84qLr^?zl9yz#Y@vEtx!xSk-F^H0BXvLqIO@&x4_68p zG9EvjcYx@~Zp?3-*S-sTsadfPIhqoRpYSZjf&VYNumk@hKjcPgD2{EDMJ1D-PP78f zpk=_?g*}4siMz0it<1c;81l+wu`QjBZEPWTVM|(tJ4SY4PvTo`wAl5?MyrmQgHLih zg+Js__#+G{_~br($>w{mwH<3CxM40=SegebpOpBH`?HZ4PRqg|hyS8?XBTXgsa^gr z@*3{9u4}d@KEIB>F5ufE;DHKk@6O&)a9;#|HsI0gsoakXjTsDT(9vQxzRv4I%4`>6 zI{!!Lw)vhnhwu=1)ISRL4mzQx!ylTD>w@a1QWfE*>Km`w6v44Dn)H8(A{6PrSNt*V z4#1nP4!VoFe+=3An9;p zDvqeoUMWL8oZfu4ZyK!f9^=5|YH1;=0V_$Oz6`7l+lTtL+0zp!H5LC>uHrHKpiOk{ z#>OQ6tR$@-&xize2PUr3C+@^G=6alF ze)quenAiykaV>a7ORKt++hd?BTd@mjV&IYnqvx&GunJnle-P7S<@A*P&EHxSHXW627+3e31cY_4Yz2w2sBAC!}%zkMsok2X5!l067*P z86Tl1>a(D+fe<|&Llb$|Dn{+?V`Li_znY%XWK0#Us5)RY!yj)km99DXMC&^D4$Cob zm@VF6-TV^u-Sjrx(Cs>Gv>3&<`wrHUdzr zt@reTV$i2U3WW8bt_atUGYe1rfJi?&m%;G`kY}<*h`Lnvgg+oa{Sv+!X3rfQ>JWQH zN$3*bi^ghp8#Eo+qPR*pFs8U`@OV2GK)E^^GWJG)rjEL7cm z1uL`aW})6tQHq4;;d33xV7G$F6*n`=&>923`ZHwhf7dK zc#Z3=d*FD^wl@^mZBKuN%o8Kw#($m7x=1z4mkv8CfO7M~Mhl`mS2< zyBaOc((!OaIw!G%rs>f5baR9>ayL%<0OcEj zV@Q`1;mtj$4hPX{bYrvwuX>t0FX{#~w9%2K!eHyAPha0*^+{AxYDoIMYz>K0Q#Dl7 zAUUoFi;T)*gwf}#UzJfo?|cYVdK~V``x6xn%4V5E(brSUoYqj>k|aaH{2(dL(dN63 zv9hh^D=BCm-g{FFxY3+^NjFh~(VCaF$o%@UZbC^s9|{?Bk@+UmOBd23U04dB>cXU# z>@F}4gjI(>QB!C^Bfimv`75kh^d|&5%%Tcr`M zkM{LN9oPg9$xSK#g$@ z-T)-Qrw@2)3eI&7DP9>B4LDxa0n^ z&tr@CP-&U38#5~XA*F@_i-M1XGXG&G0Y&Ik?d8PU!nu?U>b#I zlXZn$D)(Qg9`96a!gCPZ%x^UV!`Occ3N~6+o{wfy35wUESf{An3r*ff!4>r8!9!!3 zzeOo4$Kxju8vYyJHevj(Qu&91vSID%@7ss}t@w`z4tx$E!im$?P|}H_)3+Pc0Pnjg zIMK3PHE68|&7o2&4_Ba3^^MiIkaa^6o6a`~%lT@X%!e-eL_Hx82UFo{NG-dHKl9IS zi*cM8bKiur;}_1niPD|X&0IDJ5`pY!-YY&}m8Oa+!k#`_0K9Bd2LVu82!F%SHD9j8 zGe9voayh28`C_nCbaF9=3o?;jpw|M%f2AOr8glXr&~-Yx;z_4lArlGdpls|g zk78Z&&>@%8=Ii8cc&Clr0GluL$?s|^IvXBO#GoDr1KeutO`D4GF62h@(Sbu_{6V=j z&>wuF2_=G6sZp@-Hbv{}MtjZR-%6}O0&@q z9R^E~vLJt-fc_<~cZz=KyDGummYOg8{c`gAYV(?JFtNbz3(R3wDBJ9kNUVSdZn%&E z^3RKI>k{Lm3o#G$V@NOt?2K9!MlZEj1;$}j*oQwHWn0`JCb25~`NfF1@mB;z+%V#6 z5QMOSb^VVBLGI}7t-Sw2YrSKE)_TVRt@ZAAyoAtLz+$mlNTqbCS3br+Abf2^CbN2j z?5;Q)u#gF$KS|l?e4BXMyHK*XN%<9en-MDZ$s3EEv4OG`9v#P&g-_MUCqXEFA(ju?4}hBUd#W%ibqxg&3-yr-6Pz3 zLKOZ7%z9!)3$-W6W`aUVfK3?mywTP#p{#WCOXRB-it<%@R*`Rkr!DfVq$G&PzG{s4 z6;QHH2IGf7^gM!dbnY1XpLAB^yt3@Jk(gXr4iIZImB~1~% zEmWyr?^bGtqi8gfq;p2wR+7&F#O$YJcbIU1(lIZVntd8jLnwaqpD;mfkJiJlDJ#i7 z^T|4aIu=EswdT!K1=$|0-i+IK^S(5Cw7w;EfJ^fvSOuh$>gI#kx3+gla5zA^bTSTM z(4hAG-{KyURY`_(L{;q$$fMyriLJ#zSG@xZ;aSGk#N?SUNqnu(*5a^e%T4$K#d4 zmiPAA2dQy8=k&P4PgZ+K}K1|$ue}M z0cZ{39Kt!eGK4p+lR+{biwx3I^H;ChL-@{0foA<70UizWEN}SYL@mS_PWKb+ut(lhSo#AJFXtxR%tj6hdt!&ZvQs;(LMI2A=L|5( z*V0+r*bUeD8rDM#>^toi*p*ftW7+r455=x##Nz0lJDEWd@muGZ1qBfJ)=5*n< zth3EqFLbgQkFLXO1#=|g%>EdsCF!Q^4TTXg#~?{|G~Ij+phY*d-nP@t&({cLT)!|v z8B5LMP$^V{s`i;rgMz>qlIBOCwPwC3jm9@w2GVwC_V-waVxwrz5GXnzE)KN}q!5&$ z1EScfBvYsePRD@BJ)>w4R0L2Dob1o;Hn)+m#Y*Zl*KxZRO1f+zD}vwmF(?_J5uRi_ z(TPTQZ9j2?rHR35KB{sY{ezWbBXbDkeg*l!hCJ6xrP|91Wa`dxv9E9pc zb?Rva>1jjWA;exUqx^k`(eYZT$4g0uG>E|N*p0)7Yk6kukg*#m3VxhPlA8paI&W(+ z+WjO)t|kMCoCoGAOAo-U=7npmAtNtOR89K*0*(M9bgNAfDgG#X?UC)$WN?)B2L8Ps4UDqaGPP<$$uhzD$Mfw*y|7&&%4$^f{XqMq zs`zepvuJa~S?drEyc&-*u>m39dxAbt{a>XSFq(4Cv*kTOf|ndpmBTFz|n(cX%g2Or?#tpQ^$`vLb{YBs>q301Okwzszr8Hf1Q14Z0LX(Kt*s0cw4Q24YE&X|=e&w73{oBgN0-og_Rb zY#E5>T4h{hl|dathcb>^3D{m{L>br1oh8_l0@ouga36r7TbsAf$}hmxQ9vti->AIZ zE${_wUT9%8vWj7v7HZo#jfSF@zid@KJ+r+LM;;||R3lbf;2x?V^ZN_Ru~LSG|4MJ3 z_(yv|_gmm&3QUXsLs8(HEbw;#V~|Myq6C;nqK4cjVBSQmXpR?=DPmI>JpE~Ppc4=5-3X!iGMipkze*&A|%zXB+st4q4At z&{7*ZCOYd8?y*8i6K&uX(ZIb5c#REAiU!sxV1FCfwnf^jTJ%>1>|q1njs`xcfL~Nw zJzW_Myi)0|N^9q75vM2L4h37umo&qJd{A-~%>rR5bA0C4z)oZQ!NRz}*Vy zv4M_g;0gsyv4LN2?!dob*-FJpgc-Q!#O$@A14uX=1uE!UaG!~Fl?nCDTHG7ImOt6+{*On+0Fo4hITgJK#lATde~H4JREaz&%&I zXsS&-ao?+<*2Fqcu#+yh5Y2d?;NWfIdVJ-n9w?ae3Iq#vpa8p#DO691;UNg$>}ETtF@pxv zn=;7UrlL4Od$AlN-O?)UcCu(SL?qlWgou08dYbnrZh>oe|bus3cz_*1?H#JAi!sr zXPi}Ac{XHZ^7_XP9rhZHEvcU6lkkN{*nO_|J=&NJWrwer(NmIHDNggIZSci$%Z}^n zv={e>SA`|RhT6UrEn_paB~=er9~d7~R)58z=K3S?#_D>rZ(LK^k=Plh%asW&@vdFk zm|Z^YrTOWFZ;eM)8&syx#>c24D(5HFLF@5DC1fHUEzouW^HHl5@Ix7;>bs+=p8r#; zUUW)T-xF2!qMuszhy-`&^{!^>2Ii;$LqN=X>sZ~FHN>vv}RsHl&t$Oh(RefJn z)r)^>)z6+%)zhM?e)d$W_LtQq*b@vFZn?Fp^I@aH3v(Bj|AiMy#Xo4!PuOwkZ29c@ zhbQH8@Llqm^o;r(eltD?ZvWZ~ji`BnRY@Pu$< zq{&D;-)?5~xXF`@C#37V(BpQYxb(&%02I3D`wQ)u?&L!4@<3GW<6}R!FY@cpSosu?A63r<5Y9zAa(-&rwok#os{4p4#&e z7Vxtvg$i6*@eCnlM{g2aH*zjZ$p=UqUEfeq15mgwCed$XB~(`Y3txW27qh(AwCi@SGA0&_fG2Sy-y4 z){WG5G)%uL68($8UE;*=j03v*g_SZ992%zQ*&WllH$>oNbyn8J))vds?}lF znlz{La@wPx`fue#TAy^J^K#mw|7&{^Bkg&s^Kw3jL`SzLX$3C5P*?z#fQ5kvVfiRP z5aWHk3&K+vmIE&MDCCD*dvZO(c?=H>Bb39CKkks%)vAqY^T&lrD%!jcaGSdqhPp|R z#=N*AMSQ_V$qaW4e*r3c;k+xYK+h+vK+8@47G&@w z1VE3kretFf2^xMT(zNqyPe^w_qRofj$iwg>i1EC}!S)7!SJ{$4dmowyzko?8`2)8j zvdUxB1%2gS+>jb-g+AC5%4+qv>Pxzc#5?@YILjSV)ZJ%n^QJX|erk5C9+hHPR%TIwbXxPd9wqF{iwF}xQr z{{2L1LYZ6emA4&iVg7;|xID2Ufbo)g?&o+&9oHJ=wMbqq?|@1Kod5#QE~vpHZ9k@^ zUC=hWsaECSXgN(*+*)ZBs~}LdC-;-~Mm_yw8uhf@sHf2=*P0opc|$jcTX45<9kwk% zjCSK^f|ncL)^7aBMl%))K{Nh#z%iHJONiq*Hm&Y|X!GJ9)8@r?n-{A#$NP*mEpccv zsR7H?DN)2v!|}5}roGSF?R^&Qg)+aZ4`f|+C07u*K=303_sSShHK|++)O*79r%KpA ztsAFKzc5uuFGga+FH@bf+Q2L)YYKC|!|g?@>IDgsZUxg}Hkb_YQG9R$p%5!X)b(X5 zN>1M8zfGSn~ zx1!p>GEvmFhu8vDR1MYwM6H~oqJDHy|5imk7*$lAD(c=-E$Y`O3Oz2sK`cylM|r%O zpE>36)b%2!DxMP+lfEjRYy^Sw_o0rc#v0FO@)IRZsFGsbHC1!BV@pR=c=X zJLVfZ=9`l%SS%I1YFEHz6g{izN#-FHylPiaYZupM7uROT9JOPPo?OARQo&lgf;zhb z&UUF_tzAK#U0e(nDM4Bc{NDs=UG12zjOjQAOQnKMb_I=g1xxJ;HrW+4+7%?&#U&so)K}f+o9yWp)K`*cCL{6*%nT9Cii07$XfQ-PB6=dI=DO$v1hVpSu}Q z)CF=%mQpYnwRTPK*fs68YwB&+lpJX|>AANQjhbGC@we0_*s7kdq9h!9aq7eQRA+AR-9{Kn0vXCz-4R3nWbq`-y(x-=gyLV4`7B3A!AMZ} z-()t!e-MnS(B@Gm75OBJ^cucWh%4~Z1vf;>Ldr%%ZmH6$_@0Lk4g(N!>P38mR8;jW zBE4FwlDC?t!%c#2bdv_wA!|Mrgb&||I1K6V?T=Uj-d-!v^HnR5bjS+yIcNng{s#jP z@a}h60$z;;8C-?{g|}lssOL3e0*?T;%XbjljC~Z>HesZ|*xTs*=h|1&)fdvkSZC38 zPg;Grv26JJFGF~P`mqrL+eVSrW+RI)bjvYcX#5c-b*(9hY|k66>jEvQif8A$klX=iQ&+X&i+um`!v5HZr0<|)d@p9o|1PDC zTL6{{xshvu*R|t+#AobJ#OIF?&BiSNYeqx4rnKYJQ&uM;nFo@OEkSlF{;q?N&JjmL zDXR-&A=dzR6nQOtiqtE@`F}y`j}XhoEdZBCTe%P_nQV<#buDBvA1<8_y^JZ*k$OF0 zY!`lDr}6)<1E)y5B8{zsRszx(=PS5Jz9+m^xCpd*Ue`XYDg$hj=jLRQLOQP zZdu_<2mU4;@V`o9!aQFDLr3xg*qF(CAFPO!0Ktqduc7#RW>^BAuwfKA1sT$H$aW|3 z%{x?SV80>CI>a?mBoLJ(S!|6zovz%HD@MNWvDXTjjVWqlB1FuU}N}g4-R3fDXLbS58AYfZwQk5-+ zyuAssE6dx5zX3y;adzzQUXqem)|OCm9gJ=DpU0{Fty0xk+7aWu`tKadVXhKqp2AI~ z--V0M?~p`6skVWxp?*I+GvWUIN)}y-AWom4*$Lx0>hA&Vk(a8KrOA3(Sec*HYY`zg z1zou6YOkmXUGgj0Yycnji#uyq9%$pgoH^n)58I5ZPnJN^0f8Rr#^+J zwp_HDOadf;Kmy9m3wS>1<-x@Y|>1K~P^ojq8FgrYB8U7flhK4nUGUh1g+n^`b*RMBo76i3mM^IbV9x2-z z@oeMCmPha2iE{eM+On$rSs`;P=o&6V*=)@y-hOrN2nwp<*)3pQ#q-J8DEybr=0JfK z1lNAAgv$0s%r)5N6Sauxq3&JE=s^UBH`WE?fBR0N{{8Cd)EPEEDPN*TzsR^#50$m( z=E8el{z)!km@SFdv=syNv%SN*@{y5d4dbi5^Xz!n34D2njagsU#4boAQ69Y~`FC_HEQwpg!4*n(f&LBVPzk11~O@@zPS)7W>@E4w;1r!Ygt z+hWb)sU57(HnCRd+aBRPv-xVs!$?0L_PrGLwMd29$T|?5Cg~4-J|4Mnx`$2%PDpgn zcfBDnED?&@>6Nc`{!Ow8WFHzuuV~gE`83Qg!sh3O?@+{tXQM+Q&w+^N)3EOg!`G#) z;LUNX)OiuT3}`FT>;~8-zAr=s-H>&mkziimPp{nGHG^86A)0roJ3MGU$>4Ay;7&qn zuoon4SEY&U2mV zhqO@wD|KwtwNXt(UzsrjsV5ut1!KPlW2wz(mdK&sQ6EKH>z!t9i7UW9bke$2Arz5nByK5r?Fwjk*Aqh=^k*hRS$3&t6|5GvX;{Df(Y2C zeIxm2>>@9NLcVn3hGi1)Nj;|!KO&#$RE9uYBIWpZ=<_JEkbP5Zcc~?jan8fZ+x+Ef z&gu=~vEUUhd$d4u#85?M*Wh(ReX05mK6tS;`YrNuKOb2dmK{Y~nOTllA*`)521sC% zwz8oK)>vCvBRaI@jn?7BqSIj(Vimwj^|S< zJD?Y>t-5!D<-J}MDCc;Z8fA+Qm+jMUUNcBqpH*UwSQ##}$?_)yTI&0t*z!I~p0tqf z^Ke;@6s6jT?+~H>~DnO3rag*B5(ax>*om* z8UD&mTIfLcPR(fU=&2Y~o``q!RPJ|cAT!0am2qw5F88pWRVyz`DyS=HUMNoR$P@5< zp_^+JEaltwnj6a#ZMttuKwG&_TiF^oW1qh5?ck8}^k^cpiYL4YBmSYsZ0+6|w8pm@ z=0M?;{JeUVm*_BDL31tKmfzvFPUxFX3Y?Z7PD_u!of-0dSs7Q&tA>NI^Aym**o9AD zME~G)|0F-4^(=Ekl=t?P-;K`ord6KKTj9zRqwjh!e#$>P%W=tDzkdGiuB_<01G)wz zHmE4{gz6nOb7fWjq@d?Qjo+~D+oP@6xa}Q%$PcAMNR#E*ZFYy?A$4<|)2kFe&=-8g zPWJ2FiD91PCwrgl9h@MHWW@JbWpihTu;XPL0`OEklty%2L`1~g6fxg&_|@WQ)uYQn zfVGvUs`t?0qSxjh8%nIv6KkEMiuYAvDi8R$wSsnHjW=6cxSg@#m=*8wMtjn=g)MwC zU$Ec&Wk2Q~h$peojv6(~LC=@4j?8JQ-&J$yvx9a0dj9nt{)*{z`-^Vav>G*;4iLz4 zmZ%AKun}HLkD!byHykJVvGMP9RC?O z9>kzPA2d($bA5;Be}V1+c%?ZC3^guJ&*j13EGC>4z|1>i<>Cwj1x9F#UQ{<8H!P1H zxJav8=*;z3<8;+e{(XE-9go}vi{5vi1+9)U?wVzi6;J-p-YI1|fsj``hVwLAPB=gR zl{(=FL*Sfn#JWW4l!O0BPEcEUCC1=C3VL$Yk&!9?p6=VY?QP5m4Z+;^yYT)j zPht9Gqbt?Tmkdq_Xdtqu&g|alJXf&t`|;bjf|3Qvd1P{?c_^N6kAMD#D*Usx`)d-3 z%9Hx$NuB?u%lYqZ&VOB;|K!=Ewz0P8~Y<?%?#wx z9}!o8E+^4pq|1Db(!~S<10jSr&%Ozz)lRW&7BJt@8|mD9v%6Q`E5#@+#7mYjBS@u; zV1ZQBrE{sP!;Aw|-C3AbQXa_!QwaA*pI)cc;WqyKMWJl0E5IvNk zE!?OWpQ`+TUi4|j_ec#h+#>Avt1(nVrUp?g3lxAaSo)M{cmp?My7{SGm>PhBONaT_OS0G#qj(+zXm*jno7eW!I%>$vbBW+X_mukn3o84CI)H)=Fs{Wq7@Og zF>f=Z-MRL$umUP1O4G05Z76Iyc%^iY=Rkx-Ff!e`W}H#B(Qa26_JP7$-Bd-O>4mI2 zSzgcwASeyRPzYEP@5$90E`}r!$|eLUAe2eyIJ7aG)EpI()Zr>5sV4**%8w6QXFdj~ zdh5lR)H{^ltdJ47EZ8vlM19@GxtZm9tomfVp?ZW-whnnfU7b+OV8g{HAtbms>+^PP zMVoGV7k(eqO*7l$?{f4PUA2pc8e`h@F*yqfPlnz!^GRYdMmr)V`-m7MIfs=x?ueM< zkBG@RB4#)-A?uE_`a^I+zkGZMblQsbeZbD`&C>9*d`9NXPymZTbV_O*(?p4|xt8xb zzD--VU75%{pcs-(yX9YS61-CWo`9M)u$`|PFpec!h?ut=t!F}rbDOd;27`y zp`!g&Z?;Z=DF=7E+XD>~L@5JE8l2zkh6(8^BC}z_05jufzlfx@;-)t^IiRLhTTyb1 zJGD*j@DMe)cXZTq73q-2R z3e06|;Eh8#KXZy$TAqe{awhutW8O#g0#9+T=;nTVjTn0+Z=v}6;I$&=@Yc-KuYp2e z-Lfi!UWxks6Z{tSC@JF8+)NTzm0zkwTF0!X%6&h6B7=a{68$w1g*=ryvK1)w&o(EYsN;|ONJKMWJla8U;?IR#tNmhdO1F3D@~2U zfgKeyl>swBh1XJ{efJM!XM8ySK^hE>*%~xq)~Dv@>(+!XWhePIaCT|E^j?`W53|N) zkwwZnCm_-rm0n`yjM7$28W4XiJH9v5(sgM0%$&1WV!0ENx5>%vz4I$?AC5uT?(NG?7o$~w(PnH@4e7Vv&g z-MUqq2490+>u}lLh?(e=X329Xx};-Ee_IDw-_xNN70EIqC}(%J(9 z*xT?}Y-Jq>QhJXmOs^cmjg3f7xiH%UUCa~moSz&dl+miPbl#On9|h#(Xc!6XCVr+Z zybD4TfI}H2T$6(QETgO6&N~^-3Ob;*ptkGiKJ*{g9;b#Rwu&QEt-*>8N0~tc*r*hP`CyKiq z5Gf}V9iN|8>BZ;`in#`S*|D)v(nQ$2UrituG!6p7*+wjf5%Lnxo|Et&jMTrW)!hU4 zgG^%p6YEjao}67Gk>&ndGb`^ok`rn$p*%Cx>iz)4M%l#&<*sDH>3RWFl6pr*En7mnKEU$aifYz-w^!bPuC-GkYUTNgx#2%7IE+Je6K zSQ(z#f(IYVCY;C3SoOD2ZU5ndcM`qpV}iD_Zca{Gd0Hs3F42~VlWTq#onqoHSPYoj z;{WDvZTx#g=*oGx8TV|B?oIF5Kcrn3f%u2IxkX3twC(jF2b=@?Bh0mKerUws_n2#8 zn#a5;f(PgPEVMx^b>s+T_#TvDUDf&4*h+;b8RGJik=`yyL8g!vc;5DX;NV6!5rP>r z!3;>n?U>S=aM0f{J{O`8|B!P4BJ@9W%7e)Z5(@5rD7e!FmQ^Tj%9TNYX*)Xf$Miz~ zn)LJt=u_v(Zwmj-n06K1{`cS)lL{A{$RBO7z>jj=DtOF3`lw$4|Day@PyhcH{=Z;k z_TPv95jE(4=C6Y+OTGf$6t+}V9y!+E7)J(u6ByNE!0E$z^WRBKg#9|U6zmUjr&TA! zS=Pg?*~AD|n=b@CJ-+tdv8|Gh9f2F)7~U(y&(6P#6G?a%RKJs8jlW+lYdq1$>SkdV z+11|?GLn*iDflb;u4j9Gm#%j7ufzWg>0?0cxgs>IIo!=B_wdDpq z&v(va`Gw2a9N;vvhSls}tlj$zz(?a4u8{Kpdm*;GQuFn7>m$`MZDIaliyC^WQoreZ zY_?y*Sy12kke&9c>FMJ@TpO4BQ-_E;(0>KciioCwuDZSNY$O2|+Mf&Umnm`S|9MIJ zpQ-4-oN}Elz&`gI!1|b)0n~|;e2@M#uq%0qVh#fsj9&P`XQKD;q{|Gx5h?q~;ns>i z)vPKyS-wPO?Yqc#)WkhY1*wVq+WjL%&$NZ34x6em@5}D@zuZ4I**?4z^_{O-UpHUL zzQGuGE(Q3$Q}?y-r}n=pSkT^`8^Dh;Vc$P|!Vr6?J=?B+TRc&1?F(<|*TDNnn2rcz zzwjPT`?|S-asQ_K-TxW9n{l-BP2dg6ljcPXY}a6y-=nn7=}?H~oWn-0YasV;s`evL z{(E0Jg5$;Y59Cr4cE=N&{xzfbCxNE^Zn$?5K^H!k<`)+IkeDukBNy}OJ@%$IsZMSM zMNQ@{5!yXNOu+o7VoUKHlU}1+iw|+@(%tFl(5*`b#19-ROfZj{t*rYz8^)C!)D}Gj zO0)7?Cx|97&$tuXqNPL`*6ls35|o9*OX9bAETf?NJ}9!yFL}$uN{7dbSDkHn#XuT7 zf51Hf+LsAv^b~8}(=!9H!X!|_*A;!J-5+nr$`vYc)Klb~55!kX2u7rI*uwrC*8 z2qX7NN6anV9ig)Az!UPkh(e1~ol#bD(C}=uH=T~P=(`UFJl)PjV2)tnT`VSblw-;o znI<@v&p9Af-?3`hpMQ33(A=zde;7Y7#GU0Eo0kuVO!|5vWe_Pj<3%{8aR&+ zj~GDoO)$>n3Kp8HPIYAh&N$fq*ZWSyDAoJTBHQ>HMCdz&o9#p5c_uZLss=$Jf5X`1 z9P}4P^hJctc2mF73XMR7uW!G94b?~1fZmadhic9^5H4j(!e%^{DWKUy^5jNe99>!y z@bZ@u!njuy>VCqp@9p~IlEb5&ahurBzz5gCTjkZs7CZmvNgrHoq)W^la~TV6APU5} zSTt$3Tk6XdsZbx4keQGWR6^8}HZxBCc~T`rTEcpuT=|T_24)|h=L56_Tjds3tR#q) z-7WT1+BdK(HrqaIVl!~Lk=(cskdvB;sVjFBaxmxm6C_))(FKkB#ONBtHox!zL1Km4fQ z;#c+&CmMXFyx0+K@DJTmOqccgvHPz{RHi&A^ti43S+z2e5ki4T?yRtMl2LRIV?ab6 zN196rI|j}WkxzFDzu^}Cg#+T7*f9Y_2aGx4*s>b>&rgH=nDYw4)(u>o%_|f?>V%#H zHRQkf;i5y@z1LHRa*K|6K<&;`!?8vw-QStIH(z;EpC}%^q8qV=^6DKKhWTpOApC4# z_{4Fg{`S=Zw761tYKXb6)F+?v>{yM)V8q&XKrykn8{_+0o{7J-w^Cx&q2QXdB?IyAvB<`!Mi%0?>VA zSd-IjLqVr9CToeUlv={p1OVhxsLh@VfUd9i<)mPRiR%mOpx)cWmsr#LQaK1w^Ec;S z2TQ&uz$LBeanTTpO-4>VjT@a_n~lqRE#iHJ&BkM>#eS$l488oc3B&ho(zkWNK}CgsY-n+kV@TYAF7vicoY|8^P~+&aRYF6C~zvrg zAuQ}6A?H$Ckt{B?AEiTb0l5!=xPTPW)_b{~bQnM94j@nl_WbtsKM`n#Z<;9W;Ku7= zAc3$shV0typp*PpC%N68=Ol~irFMIilXzb;ai)_fEH&YG1d9mBk zr>I6u==tp*IVl^GDG#ZX=zDXq`jb&XcCq>+1QH=~fm)ZKJQtQjGp`dJ$@x$(Gh@xQ z*Z?LTNyW1SMfop)KElO}YRah@@X9@&-%k7h6Pq%~*e7BMoQn)wZu9(o*1%ESh3DE2 z-KwUCeL++hR^G;JN7u|fs&nwa;=rW$zQ3=%y@K1_PSxet2*Tqz0~CYt3L$w$P@WiG z9u>T=JYR5{_`b&X62tFu5{vs9-aAJiNg3W_rR3RzD_krS6M$b{uSUN-D5EbCW20(r zekDZ2iP`OBnUKmdOtK{ZJBt6+8*fW>Luxsy|J6KM2Yvmo{+t5tP zX1fv)WZSc%E_+u>h9onlvkUqO-y zEKD+i1*-iN6DY(P*mm6_u)!56JJx>6%C)97O>uz*_Ej`Rk$zx2rivWd3gR?bl;4pe zGLof2r)DYzCAAM$&v!8T8fsfDlVQIwo0*`&0y%aR3Kvi++U#>cJCFc|08L)%oTCT| zuZNak=Mlgh_owG7U0>z?^wnPDySm%Ri8LbQaHdjBP<$m$%*<&|^yL>IpGgb4U%@YY zzzVl-1WZVEhNUY~9bCFDxP;1G-oy2Oy8K_(CHud9s#}-t*46aCXFf#cW^cN=5A!i6 z<^Qz#N}(g{_9xAA2K{<63-jR@QZXm#|CB_R`S_8fD=H$}?u46VMP*c6lwvRNfBIuZ zIU@K!RYW%9{PC$&{GZN~MRgSBBTd>!F&|eca4OF?Vk2c@{18ND1-g=AK1MM>ea!n7 zVBWVdWWE7`aX60x`*Y!aT+ZX&YX#8ZQ!bK5*oMCa7|beKzI?XZ8=d5_PI9~LA(_ow znb2*w|JzADA({GCmD>MV{(YE&Cov+4UEThX4;(FWL9e+G&5a&1CH<6V-$IS?xZWdFmjBZ|uw)LE@7sC3p#_ zGf-T>KT8>NxW!(E<V1@LjXQG32;jl0C!H} zY!1ixO@t(za0_;4{iyVb4Lea^BzG# zSKWSuy5B)#Fw}~jWZXh(#V>>TyAmN;==L~8O0nMyCB;*u@{!eMo5L?i>+*sYt*QdU zslX}uh+8rN1!4Lh?_cuLWXZ?-mPGeeE8a=7KXwZ@JB2^&UpOaO_`{c}I?ruHZXegF@z70DC8F-q5Oa6smdpg}rqkMUZ@}`nZOcU()KXmk$v=TumTo zzNJLXJLJ%AMq0&%TuhwTwm6{&gjeMt>f4Pa;Rtb z@uy)otZ`xwu|X+xUuM5pJAi7H@2t8vh&GR{Utc*C(3ctJrP=1B{H||D_oqutkQf7( zEqPrz(fuB+{sFbiC1Xd~Kj{PD-72lkZd@%uH^~+#a4(Ps1`?`&6O08S^U}F`tdw&K zdLJ52jbb{^lO$}IHFc6DRx3Xt^J18Iq~lE$UNfx=fwaf05#{Vyt^8FTd{M35S1U#B zsLhCX=EWk7u^@`_)D>(rV*1oR*;cA-8nM>{MZi?mgiTF%LVA%*C%cjuy{>?<5_Y|bC zQnNpf3s%lO-7rrKnU`eS3!YKm_yL2!8&gBEOVEp&_ej^(0*EzYEq#_jeq6-p|Fx18 zAnT0q?+L4nsI+faH5ITvsQFkPBIkuT7pc@7`RnwlRr+L?t2(YhIyCKZ9;C~yOR(r2 zZNW`2c}jj-*^Rdas3NQ1WYMd&p=W>YA1!kWHl!%``Ccm<$+vKU!E?K!vHCfHOIrJ6+F*fLxLvJL+ zoae0bpOBjK7y^kUorBn+?H@l1-p7J_>@V-Zc@#U0{izdRl}+0N3|s66K229!fEeY$ z!xwi%Xq)uvkA=<1o}hVa{$wlvGiOD~{!BoS0{rm*tVgUie?K3WIx4|3kG-wZF{%UCn^BPP}9?R2?N|)@XadcD4J| zU#=>gwo*k_I$Kh`t|G-1eDEDw@TO^XQ8moo@n(Y%d7&Wq)cUZdJCm54fZnnHO#>ya`A~Xc=iXibN>rb(n$_n-7|RkfXEZ)S z*)cBTpLn;A$r#wf|KJW{tkxNmN~(dXW{tP6`aZfKiZsw@U-yI{i*g9D%)X;qt-D71^uIWt$~Y_r0ux<+|308ZOG6f(Mt;Flk%MG!ldRLF;Je#u+VNAOdq)z!FjsGRA{ zYYqE)V6XbT|24CU)U<~rAH+qgyND1=`{`{8)RmLSVgEyIURwQss>ztf_zkhg0lwYz zpX7?cd2m`J?$`U(*jzrz8apO6KC!th7iVRKO)oz5j%OBv~S*C+2v_D%S12xS7FvkI~?mGB(Ss+8~-%`jv-2rch3*P5F z3cM=>JV)OIz;=8sd^_x4Kc*m|4&ZyTO2N0ozQTcz*dg{Ks#*o#4*R>nCnghG*c=XO z3w|dj4U2ibxE^pV;J&~K?6JL0PnOy9>2%OM*g1JWl0k8K$GK4*cCOWXDQR=4my&MB z02ezbhn<&INF8=wBY4_jKLgU(B2t?jgD^zeeFrKYuaDT_%|PtDP#vZ0E=E7qeluh*K(g zH|V~!VoSQ?YT!wUt<7IaZbuXrmgAr`{2$*HA%MunqMXuF&^YqO>^}Z=UcUM;n65+| zI+e$G;$;V6PJn|yt#cy_oA)=~0TDOdf#_~|Jv|Byq+aEeK&c#3gaZ(# zLyHB(#PH9Y#Ol7C`Li0_hx4D1PB@(s?>tIuTVUTEQ5|~ooMeao#u3iB9g*(MaFW-i zl7H1N`2r{Tu~c$}ll(yMh@I?YiKen#Dp`{MiF_na?%yw0ZvdMFMl<8Ft5T!3oERPF z2_|$zgtHxgPKkp`|jrRmj>o5_1liX~{2Eo@JE3#sHkILXQ4B~JR^ zQ|SvxPtK-;|NZ6pOMt?@p;Q`0hCf3BNbKvTCuR5!{%*0iUoOBOF2g@ke$UW|cE%Dl z{TWr$T}-L3p&i3P5mz-s3GY$O7zGpL3h%+3&GstV7H+p4k*IR)IEW0r!h4nHemBpP z$vkh+Uf)V?R~e2JnP)p>;Zw?`1oP7xq*?tdN<8S4XqFOk^$@Mj^V~MAS3+MPg}p93 zBNRNI%I_bR{^k|ZC)5?xtx;(vWfH?roaJEadGt>_0>iHzq5Sd8Pn{pC=HPDiJ>FQ%LaX!nAA|(sNu1{s3_!JB6qc?!9WA_X#d2aU~%9i~E2Esqaea z>wDopMk=s|pQi5aAi9s<;EYlQnU!9OTHCVmlem;bSLS}Jq|-f-RX5pNrZ6d1M%pM@ z?D%$;xW6ExWT{8?*_SH9n9-b{N^P@;mdhfTw%2v3XQwG|nmZH27fKtDx>D8R+X|eN z%$=!7%G_%NaCWf2(;+!j$ui+kbrhNVg3ASC+5x4&zGI>QI(*M}q!GUVdV?Yfczy)p zE1kqIM-`yS{-Kln$7J$tPO=inH`ybc)cR!VR8=$bo;(0$L8Y9*p14Yy zJW9f$mC5}Gz&6QI&l-My63`6Qn1KA0lQJTi(sjKeOUfS89JZ7xQ(ZzK7g$IO55Kg( z-MPI{m-ZtG%S}BBiy6ZSHw5yFxwN0a;G{0?1Fp|Gb#Z@jE^?x%Ly^Dn?fpsiOP8wQ zma8qMZvSQAKy=NVtB-np|KW2Ut%$IikMu=?^qQx#N>SLP%i zH0#^44JY}a%iNM{D2dHT#Q>=qQl979+#GSK+vTN3_p9SrH^*}-hr>@b5ys)2beVPU zX85Oy>}3$AF=MjR9-XK9PCyOPlKkW#U5kjLm#4~fl5b5VU(_$TbAl>;St>cNU-AYg zc}yxfy zf3B!#DHos>5VYu;g6mq69E8Fj#~&F@=jk8hbE_Fa?5rPbVhQd$MV7-|rJ3k4d#Xo6mwYTe~u zdiyW!<)Jqaeb4WLg5VCFw|$NtXvJ7`lWE_dDR3hGm7`{y=X!begp9N_c|=tP0T!ur zY|y%i*=e0yg&t#8$uM6uiV7<8>{Hx)MUpS}gVu?e1kzOA|0ZOA;dSbHQ1#?AMosnO z+lF~<`maTT8!)|5Qnmx~(w z{cbaVSItb|GRxpZ)GBb)tw;MlHWJ84<5I65pq)ebqz=QnJWuKgyY;-G>bW*s0ee;w zSgn4kibpkVqfs;=yYgHCnk`yod$)^W8B%kXjAU|t8Etj9(cB znq+3kpVoD%Q&?uHYZ&oTgPW$Vz0r~o%$hDwZf6R%%>u{#x{GA~DWZk~X4A2VLZjAV zRj&~%29bC$9y?jU*6QVnmms1)WX=L$?n~5j^N2Y&w~xFLU{IT;+uKD4^$rv*PcWi) zu63c3t)==_0EM-a<{!{YqV3x@9;^hr;bxuG*Il=lfIiz{&{y5VGH@X9EobqH})Eckz#jTnm1mT_@FwK7R!Od1 z_8%%wo_&=BxYAz1)f#zu%*+#cxgjvn<*UfBe{-=&xrkTLEWe5`3DJ{YdjGpQWdv6Z z%KVYMP!}8Z*XNH?P8`Mdg`_IshJC?Q?zYSJQS+Yj#q-r>yH#m7IC2R4TfbwjV-s?P zMUdO+|6zku8=zx}MlRzgnK^J2uoIVM+sl?_I$-{d%ItZnru$WEa@sb*qO-V^Q5{(& zIj$y$jx5HW{E*<3t=bS9`7-H{%Q^Oc{#F6N&gLZEq7o3V9f`5{^_zvU5!>k?vh_UB1JfI$0o*+z6E9CGVi` zP-6WFd7-jP*hY-P?qDvuIB6Bf!W-nZ)_4gsq#?cX+S~7~ziCD#-*}-kgPn z6v3jKxmdGbRmb}Y?AS*3=lWVq$ptVhb4AK*Ya${zX?H#$w4?ZQ;J z{lQJF@YsYx`zHAq7xAk;B=xq7ymEZLdP@4Xs_3$}m3eV-cl z$oBxf0MMlz)3`c0jbZ8Pi7H`AsoW*B?vSgTx!f+*fLpXPr8F?^w*1PGl+3lyeA=CY zu~Kf2+Bi1a_c{QT+RaO(&rU_vs-nA|yWpAStM`Ci*6=*aAQSqtDpisT7~5C7)txET zEpe+Wq`F>yuVfS%Ke}GFkm08>17;hxtZpDHSJHE7%#Q^y*-M0Nl23KzSc1WEUVvXO z67kDs+V?QC6i+AsDE@6#yc*8VEnZTf@_q2cXlJ}W6L`|dr9?XRK+v+2mtWGRRHA?JM?o5*KU_tqb??E*U03k7aKFKMJ^!XH(UIP(8)DOT3{lhC%b*DhZ3z2Zs?Lsvd3Pc7yCTE9a}K8MQS>eu#lormu|k-?0vPya+n>>` z`u8htb`WN*%cTB(q2w4;zR3eh>1;bVVN9g1D3c58Kjl@6)nw4A-8J)c#a zo7EhooapvB>4#V!IaXeUk5GvGBz;HmrjTD=Ghm#EDg?`vIOFs4G7cW z8)G{5h2(2WUhjP>4B%Ue@J*p$Nv3`9I#JM=8<8^h9~Ua}ASrqFyDv$Vcl}jh9o|bM ziWIDNolLg5(BZHUf_-`s+;r`leazt1E&cf|NXm0p39C7LkBf$dcKs&~*A@J3AFiw5 z!=rIsCrfOK>&p66t&mN}J1Zp5eyX$|lDYB-^mlnb;4og6qq!@4F>=K(MAcXZG58&f z*S+qbV1d2lPt5N=kZ{o^^7ZP6$YvKXm(L|KSodb-F@d7bwZ;D>U-h3?58?|aaG&c% zpU>m?;YXDw*I${TuS^Hu&SQM;HbmqyTX=BlF&mVA*d-Othfs>x;wDDSToLI#GfpQ+GQ{w^5d^sgNqqUbahNJxuIPKmP)@9nWd72;)i-TSom~Lyo zNTuf4m#d2J`me)q@^ShPmhA(nC{tj!&}}uDi!V_8Y2-U1r@iz7N5n3O(5tufhC`)M zZBJtDw0Ed0Yr4YNq122}z0rPQpM$XX`&@*LJYv_pr{aR|xY%jfKa&{utH7T5k;2u} zhdH=fU=Kp7#U+zp#>!I7JbHy{rd*bRH1kupnREIybJ7vb4C>d+e#)@8p3Y7-vovye zGZ#9|j8x5p^9?)0ZD;M-z1{hruD;y?n57bt>dh~mW~QW?8Fxf8J1$qf={d*k%_Gi& z&bY2mD<%C}5m?6cYsTj^^PZOM&DL<=1+LDQvOREVucR{KqQo#aAaJz3w>ay}uolU> z;oKk?9*9j=3(h@81Y(Pt82?yx-<4*ciQ1T2Vk5XZwjXEWWQp-Mr_7DdS69kP>Vf{N zI(v53$o#U8aZ{Z%SlIVvdhL7C5O$rF+(_i1Ve^9P!x4~gJ}PBW)~dbOW?=v7BPWSD#EnhY)Y z3KeD>T40M|j*~Vkeka%QBDNH+MOK57yPYU z*~X6rb$DoGU+9MB+GAD7sm$)Kh7MQ@m910zUHOowMYi!DPPys!x+`TT7le9PwlPAb z_AlK~f&JcQk!0X>QbZXiGn{#HqJqD(H+-KXj-=Rj2qv#Zt_hT`LhpsVevM=MmsK`H z7A9aUrBn8v_tnbt4;5T>##_yB)e-!I7SIir6&>_5@K6NUQ#nR7tGnm%&|O+ zF*z!+nFem)>SY5CaoVf7D;LZ4QtLWB7hzH{rx7EQFnyJ9X=djiC{Iz^YOkCq3WsyjzXar|IEQgk)ByOFpNO2>o}>)C`zx)2*=Xpaf6;6it&Jhw`)``jUL&c z0hkEl{hVplkCJlJ1{Ik)ZAcf82pO4`L!}}b&F&OcLrEn%TSe0h(QgqQj-{#aF2est zUsp&GGflcWNrp%Dl@?{75MO^yUypbCs%NXdXLot%GSD(h|EjkPiU~Wbe!jZ5jHq9Y zsB|+^MpQi)VOnCDGT1VbYQF1+v6qF+32J;X(dcl95W!Kb*k`$vw%;7v5A_u19X4MM z#jaKwJ4uTfweRg^G+>4Hoe$nR{Nzp*!$T(4RLC;tz_$iChQo+srWniOA*uEd9tQ+6JPyPD2ksub!wZ@%#{0mJ_wCEjQ^u0gQR<@gMc$|*! z&lWd^+On4Tf$U<>{R^eEr^ACAr_S`db_L+F^Y~Yw{}U`1J{D7!lHl zy>)INs5Q3f@g7=h(mPPY76swt`Bt?@GaWR@&wBnf(W0k=Ht&~uJk1f`3wP}dn(xUO z<9+-lU@}Rp*y5VavCNF=W+8p~V&`=ZECV~8l!)bRklb?&>n>hGdEG>@GefK& z6MiTs4f+oH(7fzsf0$s7z_81PpgBHl1S)1rPvgjTrb%_QTO%)K+dY zWtg@)@NXcvQ^7yMle5UPTaDIBCUuJgu+d6OqP}VV!1|Z&$`&?k4x=ZMu33s!T%TY1 zET(c0>u_H(M%nM4XnMap!O9tFejG7h=r|O8J>B!Mxf!@nOP_lY=I8-xmmc5G;Kuci z{Yx;qk8}-t&}s_#*@)k;coL%DVE#LV+lIS#stE)Vk+$7+3@4PK1mYb=$j0?>z4&TB8Y%w(v$lULeGBXj8z~B2qjD3-IYsyI*8-^M+Ab#R z-<#2~--AOL#x3I^y}QR_%NP_YYeYsFooo+_ffX0bt+Clekt_fSzL6`3uy2c*y1q65gCb;-kg>CpqHX^XF9a&)VBu$UX> zp+WwAoe1l59O8%u@-nw-@>_gl&JA`4Vzmw(Re%6d_2)R|yRuu~x@7OPUwfb0EN zCU|Yuc@?O%snZ}%TvE7w#QN-m->LPv&{>}f$7wH#-y(L(7inZ+=YJq7QVFth$Ml&@ zHBX(@B(F-VQMUab>fRq482vK6`fRRFF>mj_SJTlaN$0r?qmIipuhuw_VUJBZ7$|zH z>J7tOn6D@+r;lv~9FSox3K?n+%6sXxI(fLPMN&-S^0&$Re0854DeDM9Z_V9Y%T2Pp zzouwfs~3bxPeV~zQL=QAidX*>ZTpD1GmMuV-_Ed)aC6wVCG6Y7i`0V-J>X)=3VA); zkX?4LduMShaLhqWANz{E1W!5`5`(zd>qTNU`C!<`P4iZ~qojL{#D?Otyy>RyO_%Zq zQFogEb|`vafVOb4bYwMX&;I%nw-Aw{j_R{Q)}%v}h1i)PpRyC294~hBvz#i#)7?ip z`x&dq)1;r}3E?p+Qq(@LiMwH`vabL!XY<`ud4o6)t&n=!y0&?d*VM_P=s zMeot9UevB#!X7=jT_1PF2#oLvIoUy!V&yZ~WbCHim$QE3Rb5oPRfC zu9MNNNXFnRY8>HaY*Oi|j51hFp0?OxfiO8Kb^ie21Lh+N>Q!R1%&L2h`GI&y9wU7{`+-L4GEPs>9z5j%T78!gcp(c z{#@gXHZy0jxj|cr&#h&x4n5sMa2uWgJaJERyyuuiQ%BDQV!^N){Q!Qt2H_hHiPYM1 zmh;q^p+s{So9h1&h&gar4+ydZ%zI?Y<%Hz7N92R>>KjyQB2^g*kewtA(~WS0IDe`f zZb0Q`!o!SmZWK?1_H>;He^PK*!nH$X7B`EFyi>r`=$F~rg5!kXS%KNthERt*#GKz0 zF4}u1_YI=h2PQ>7Quu>Lir7ty?%gL!VY5QM7a}yD9r3ME3|W$X;Qy>z-xrOGzqIP` zuzjF-Ub*(8^`Ypx>~ih4*ZA`z&ZxKTC2**%T)TNaUP!iw+EuxopG=@odb<>G^GN|W zvt$Vj+nXx0Qz9=v?oqJ+B*u7{ri*xl^kR{!0oD&v;8P{v~ijRYU^{EM9;2-k$I{Ib1J}v|%=WdJt>TZv*XC=Z_(?FU z9?Oe-e+(;9l#;s!uinITb2Nu*L`(5XP7Lc|5foYe?MW_KRslQP(<(%Hu>21OUW z$!x8W9bp6X7k;-<2Jyx=t^ygjHW+5b*Y#wZ`|zlyIJ|)GBgW??`n}U(;aT6^y8`gu zg`V~DBpMiDu(V${qJI8SMfn>jl{4;e3<#Vp$l-ODc5J=@}6W;5hl z<)U3{+^$<$r!cyQpmPvGwnLoI%e1@*iy5&NFa4pIlJD5hfCI;7Pa9YFcrHal(;LARmRlsg9TI0%7^`>>&(~Fu#T@kqf`W5{a&v-iH%AOao|4 z6OZdBaMq~3e_|S{I=G1|$27peRgl26mQ`s9HsAX83g4=%Jz9`6zv!b)Q%`T&$j)N%i2}8Ah+j%fqznylIBR@z;4%e22V>Yw_6{^WJK;>U zMdB9$e||i&=q59JPS`RMMxt#poSI>Ii;be4cODZi+Mq>ukWNkr`0tZB(NR$3`KoL= z`_&PhCjL3ACkPexOQ@tLVqKjl6cY+9v=FU{B!N{#@wR=i&bNIeE;i@uOI6{%1eRn; z2`yKZ^`)lCGEFMI-6-m*s^id?uZPw|%cDc$V0YGtA?*qh)?cCRQe#$VIS1Kqof zGIUbc8rrh8M!YA_*Mo&z+zoE&2JaJziotC3_HQ`jb!FO%`H41V2dwFwQsB@wt^$sc z`nJ6fadgFO^&EZ^qj3h%4a!0zPWk>ht&C66D`_(mU2vzau+c--@E#M1=0W%eEW4jon zh3&~RJg>%I8=#8=DtAPN>gIYGlv++>U0J}q-oAq%0|V~T0={ahuhE~81sN*)DB#;A zjKe|0C(31TTK(lYp)%o$4;GtV%scqKG`~q&^{i(rFgIe~nV9WH{6OBe*D=Y#frwMe zMm@15l-R70Kqhz@ldL3`s!~UK@Uz5E%C$X0q38? z=s}np6HkvK380<3&{qj?BMh1-rm|RX$?|Yq^9z@Sd86B2{0p1qQ*Jy}Dlps^SC>QyoP)`g0;&hv5hcz`2s?|F!c#)3h} z8}Av!10&&=WBNg|R=xedTjwb0$vRJ+|5@)VS?|0xKl*y#eZ+d-X>OGDzOnCme+-2Z z*83y;q}F@O|8wh|tCc-02Y0=Ll+JoT^cCyBq)_3rsUT<_Zd zz4iY1X84+e36hWsom-@IQvpux}a zBC*ORE2xHcWMgcQU#lz;Dr>&P%709b!%K(?nC~hr_#nQch5yPm!*$4I9Z@xuTv%z@ zmki$_;nui^0WCzdnFU{$9f)P+2h9=rW8NS0lGTcIPYjA@{KU&}zn({)~O2=37&Jl~N3ypk&A2nJf5=ykHk^oZ~p zE?@c)U5EELug(aEqVHqD=YIAy*S@_ob+R$Zc*`Ymjrw(&=3_>Y595~I_w>$t zAYoK{6`!@0_}<;mL|ru?Xzt@@AZI$QanfL-ijUPAe}012c-zTZ<4vcDr?7S!6cx}p zq)s|ckH3)}7_yVU+R9=tf!8FEIfPrAy%Nd_3~7R=ks$fn;_pZ(XGl-{Z3*NK*%yCH z0wadlVwj0*mpVr*3&zb9jm1JhN&)se9V`gOrj3UA8U?SCABM1n}>soaDIS>!I+1vP#DWJe_&XI3!;D9!AUF)5YK zh3PMsnpW0eXi$M(-!X6eSJEIomUb8s(uZ{PBSJ49MueIjBDA)b2q~>ukz+xGjOgtA zndx$gHXYO(uhpN(xkt#4oU-ImbPd0b#@5Y#F+_^3V{!EdC-UDv~Qa*@(DaosHoKmK1Id@NTWsqxo{ZHd`@xZDH%F z@slry&Ham?pRg6J;->@wHymcYoYW;8_Iwn!a_S2uqo*^>RkoA~Tlw`;i0g|8O{PUG zZ%r6F5w=Fx&m~^3{UVJXRff&FAyTx&$~s2(cu$5k9fafDk-BFf!HHfom`3yn31^yh zrYh@#Bm9v=L?nf3D2WWXn5E=0{4%_g9vX4sVkV z)0?RLDj*yHguO@sae`!&?n*}0?W04h#6z*10@-h~x&H+Rxvk0*E~B(pNf^P@D3Cl< z#!<{0!kkE5R7LE-O-fykbR4UEAko#x zj}QytPZ5h+*3SoUZ;%czb%-(t!C7vJmTmF0X^jIA%*t;uTjH`c5*kE+mBLMg_j~dE zLq+iFi}$-_$|zc^amPfBx_LY|-|zy>Y+Z8E&ljo(avkU}w&ifP=d+IOJ(_+`n2wTH{ zG2|VjcWvW-Kl>txe)+1Ope@n;*I9_E;|DyvIl?9PNCei(L3O}$&uqEMXh!CnKnfd< z8xJzeb;WJ_r=^MTZO}79vARwT6d^Ycw;N?5KJQJ=e1;_^?Mm!bYr^bH3~PambYbk? z9@3x>yroQzhFbrE)3S+X8)YyCD8z@$s`6)=Z5{g~=4&C*u6c?3@(OfY+8=zG|S-gg)S#+E-4cYm8ZzSc#pvuTGpQ9or`twuEmjGz9 zXtP*eNA#2xln%o6XN@Zl#72zcI2uHyCF?AZ66GuQv}NrG!v}ai;;`!ZnCeDcLdL91 zf<@b_{$`lod~iQ<2$Z|#5VgosX#q8xgz3rTn=lCK!Fl=XSpi|0+VrB1xu+vy?Cz-F zFmL2)Icf=;QWNhPBH|)-bJI1tdn-IqRbG5=77qj6B()~yXQ?7iwhYDRurRzMw3Qwt zU<1mrXa!J$!CHMnov|1*A@_#Nil6z&hM$>n-8Ifp3VN&#O=U8~=0|9Ap!dPS$&fqM zH8KNCQfb7;`)uJJ)yYsjlu-&T)*NMo%?}GwY?K``hu?r2H8WL{l2@^+vwnc43rBEM z6!EfxJ`eO)Ja8jAM@6g0k(|$IO2f9BqBc>u)&(yzBud}oc>>mC?k_tcR?ag_{FHFf zF1a(}JOfdlk{4>X z==+e&vjKz<5*D5@X&L2Ct}f-Wk2}LWXC8LN!k~DyQS9fmo!dwdx%ZDUg4Nq&UZ? zgL-X`x}43_9nN+TG7@Co&EVZYuA(7za;9Fa=6kkS{J&o4e3i2lM+pP#&bQiMdhMyn z7Rly$xo8wSLfn0f>6rH;W&6VBR`9_5QZ!614d7SZI`zXt|p45vKi0BYNmZ5 z=VE>(MH!l~T>a~B6CW5fe2{vBF=oFjb zg?U_5njP{|w*#-6qK(olIw_O4KuPG3xnH`pT`f;-(Ww-ATCYh@69GzlB95R&&6%(H z#-LvTjWSFqSb}h=BiiRULC_Y(JQV7=|6{;z~4uN ztSb&pvT|+@`+!@DDRx8&J5*#>HR$F#bvJmvOb@yi z(bo^T^rkvcmj^R)cu8(AM@*C}LW7}{o19S5=6T02(N;22LeMX9hwB5wT&PSR%f-y0 zO!!Y2KUb+wF}RK+p5zwmzr2-k%|-`dC+h9y$K7b>t&izm&Z+6zq9u%a)?03zbc+ zMd37D+Y{no!o?FAn~jbGz72YMR;^s?kaPYn{j9sZ=-t6(ar#D)q^~z!}PM?m3oo0 zer2^+7qc<-5Nua;d(RFd3W;QM@|J;H7DQnN*&u}|z(IB1Nz(a+E@>3hYE0+MsR zEx5a+W{X%dNYYcbF`>c(I4Pp8YM?A%`QCGkLz+JBd~MMWVZMaX z=Dks?_t{*cF}}|kbLyx}MnJ1yMvU0SpD>;~bJX~(oMH?JSd&f@9^e#+&}~R@vx-4A zwQr(6Q1xNwCaRY^JP#cmoa(3A+_~!?B1sdnWe_rtNGwq|h!gT8m63FZC|R^5Pn9i@ z)Z8Oe3p%IJveu|EQHpVlqYLpM0)=9k{2wGIUkoCB_2j?rOun|@aRN+&Ab`5^1ObH7 zL52K#W&U;M8gQ!NU)<1f5yi-)fEMjBQAtCCOy*ZCGV9pt!jS1SY4AFg3{JFxH^gj5KSO+D~6%^5n&es<1LRu$M3)FBf&u0CHSiuky zcgaFm3^{b@*LJ22L0e+l6fUqtgT;C>zu^OT?YSs;+QYpNQr})!pR2tt>r+2-n2dOR zyZYH}ls&tT(3sCfPRP-_-j;YyfnxPL7Fojc$)%#s7LG+4z% zZyU#rwVYF;hE=~8G)EEs*_Q>~i{f`?go|2kM+So<1WVGClB&7QKKIY)#o>jwS&S9< znpHG1Dlh?zQMIrFPD1J0&LC&NR4@g{@H(bRt`gel*+Zf&GKYXqY4t-Fr{N%;8HmROqbs01&Y>jKtz{PfoVUAx)-!?L_Y6M_Xf<(ZXH6yPqsv9PE{#F zP%f3`P1Z#+{A(FuPWCr8DfP4i*?}9IT}3q=Ra~~BvUP!Rb@eX;O!X;AdlY5s^rFwI zvl5#nX(vhZ-(&r$>jPoo;tVh6vOSZnvHy^9ly?QQ(7wm}PmLOYVspkhd%5hZK3hkA z7~P*)nH4amP*KC1V$)yS|{Nbam!IqCjVXhVXHVVa^16J=vq5Vo#M zTw;xQC|uNb=P{9@-C9&gh+vg$8*c1QEqb~t%#mrWpb1yf)=YFE_M#(oYj(uk9r5iF zx{;*Evd#nf`=ZT4-kOATs0|}xU7w$aj_EDoG5h2vXH3Mp!(Xl)Xmbh(*?=CXt>r+w z6W3>3fv!$o?i82A`InP7SyYIMQ&cic9kW+5Ol~KGlNE)EHf`bcLQh)N-ZM#f56c@1 zMc+6S;hm4~qdw;iwHskTZ-Bs%g&L1P)9nZ|PXve&Be9~=7Tav&ve2cKZApvW5E3U*t~VFyiYyrb+>*N`lu~f z)XXG65`IWx{DE3EsBH&hyYVLhG5J1U=gx%S548Ko=Z`NBGUwiN-si_XKi}v5^BRru ztQ$1FteD%0@j0#O+`^w}^}^svq<6FP#Tt=xlzs{J)_p35E92IOgn4zR?;B!`7ORz3^QBBYBe2DCVsgh> zA6jvmrL4H0^#hsoex_ETC6N(sHcaGBkrakTW$4^1K~i|=O+A{Eab&D(uIEi zad>zPxHt3$_$+0p~j>1SlRzWSA`b!Rw<&kEJ9a(xv-v?Y`7 z#U-K!A?DF&21AVDN;G_Qt$2~=iiF$8W?G)RP066rbuRXyWc3$>u9|7PM*9w8AZ`{J z?)iKSo@BbQPiZb}h4qKo^fIpR<0K8j@?%UEpE-=c?%7tGbO-kp$4|Hx8X@(MK)l~< z?hh;|bBDM?NB~@fr3G7x>0MQ0NsWf+X#BS8(*PWQ?TMsM=70*Gti3n1g_b9wHoA|B z2wsxt#dka6eGfK-Xef8fY2YJnv2z2eO{~dj0?o+j`q0JN| zzJ8RsuO3~)E%rX*c)2UoXhL5hRhNdiu!u6ZM`K?la^=|lSx&q@wwNzQ_;q;;CrHVJwl`x*4feb)9xCzjb^ zt%(QuLtJuehQ9|TCqkENo#+7TRgc?ZG{GSuT@o$?Vrd0>?ZAU}AQyPvtcLaR{8!t~ zjAlc!%37_}BEz~wP9CZVcx`wn`vya;hR=}*O-sUfT71Au8URp|~0f|BookMh@Ddsf}=5PE)G6C8r=v zB;4Ud@AC)_CB3hr1BOhY=!rHC#=u!d*ikg3S%FlerBJ~KARybl z&?&uN6hA`}P=6szfr!IcQxO>LP1NQLr57FSmGaB;$2ha9O*KWmza8P@n)!Gpojbu8 zEOTcHs|xQyQ6uU;7>ztr|9PZo6W*o4M0j}2`Ro>lgI3r+fiE|4>@rbzFGz^UWbGgu zAn*@0{8k@T?w0Pf-A?EU;pqKipbv2POH9;}6*SoBbtSg**(2AnuA-3xb$E(X7KbcH z{+2j)mzf!gi_P7cD8OEVW=C&#?}8t z%DWr^b-E5^i>c|TNV&f7cYFQ+2sjuG1k*NzNRZfh?u;MLe9(OrmPGGx%te#}{lSBY z$mjk~Hd=Kqi$0khn96g*c(|bh6G;MXXOuGe z<;M^&bfP~+V7c_iHU&GSKjoOR({D_*S_i>Ltd^hgmA-A=N^DTMlk7QXv5d~LVZgI! z8ZJU4GUY7@Cc}M6ZxIXqiB$Nhlk}QPydZjhi^rV^l-YCGd(gmhH~^|3#Da4jj)v#% z^kT!YIraCS05hSvJj5J+P|5xj?m90)hc6l4mk2+l-EA4yu;BYZ+>65{b0%8Ji3t=+ zor&z%C$9UQ*2XF}k4i0uQIi^44~D7~bs^>sp<3cTZd>uaW5r`{e87muHWEk*bjb)y z9QkYs(gJ#lB<)fk^a>v|3L8x*!TAWxciVl>+Tq8@6@Hox6p}BSESqn}7x!bUrR%r$ z2xI6;z@n|)>&vPhD@R&B8t(NjIgcE$>&zb9W8ec1O01v>rX;|p0Gd2AGkwPqq=$6t=Pq#Y zPSKy*(e(lD(%rAHN1MB}^=kfnZ4PZCMap7JKB({*VgsQ{9<@QcJ3=I4q(*{wtBAy$ zXxwQwGI+MRstP(TXkriXeR{9XzjtZ+%|mdfv652awHIH5eW>MeXHzIgO44cdbtWL1 z;t5k}K!Bk+?@;G1(>iXhHdstKwspMVU#sP%3v%0@lVlFQFyOany8VkRG#%OvZ- zpZldn@nU~%4w>(U+#-O)&d}x{?C#Tp=1!trWXv9Yii|J& z%}KdlwG%Y{&cV@bMsrMEq=7Zt%)Ox{nl4OWb-HdZ(tb(ihdYTRZiaWJ&*D@dqghsC zlKqvVwYOQ>oO?~*xpw&63hg0{6@Awxw4=w!&rvu>otTL6(o;=4nQM8a9=-At=iT5ZVqki^O0H5HAcsYz@{ zFz>R*Cx&~Qo;Oi4go7;5HsG*~fN(r_Y>Lzuixpc&o^tNHM2UOOTXiA2YBOccAVEW1 zh@7j)*+f1xCUTY{D~Z&EEkIT%5}H7BXqD=w@!~{@_BaTXHsL!Jdch^&Kf~(I9m>sG z1FTR;jo-A*MA5XRinb)i!pjlsGL+2xbJcv~C3rH-#LTj%nNKePP?(;4Z%M!Am;B2+F@->hH4nq!r{zcD8 zK2`F*9J-QHMNAhV*+4%Bv5_!Fd^Rt(>&yKrA*)i5rp-(I`VzoOFvTNm1|d^r`C_(8 zFfzuoboU}*X=s+p4D{#YXG^@7*x7|xBUdc(S_5N*j;s7PH!4|LJ}DYF?8ig{&%^@# zvB2S&9-fT`o-M${^CH4?^TNc)>HZ-a_&sGZI$9Fxp@|K3>CCGM@9IOGNITg$i@Y_( zQTKgu?<+$INc_D+ZfmodW4)j;-HJLY^aY72$Y;qGs6L~F6%ItivqV_&FOxoDrPs6) zaR4;_)KKH;_V#prXfel`82&N$tAjCj0k@>D4%zN^VJsrm$^J_FDEvhYP#gc3kF(m= z1ZhNk0zcJ~F?dNsq)MqtgCt>guC7^AF^h`{_aq{kz+A(W`}1 z$xn#}UW^3>V}X~W`v01C-bNZ66fyWUZmUa-pj4dWPb-6+pnn>HbF%_iLLi%(T5&TI zqGnD6dgGBN*DgIw@7+v>n<~{!B1ki_k1Y zGLgTiN;}bdzD1)L*c-^YqQ`Xg8kH6Qr8|&K)ZXkPN}F!3XV0f2YH0A|RKGNYP}tV4 z?D4bG&z#WwUrOhnWv8D#L4nc0-r@C=Byk_!yU+{%1s~Xh(2aU^wFZuvwVGZC^itOv zeR%-N&6y+Zy~j_r=|D53*rR6ZxZi9(xl2UDMjoT#48rjuNh2&fLF_i<5YC3=HV#Vz z{!z}kX!;3#j2Jgn`YJ<4_GC>dPy)>b;nylT<}}|ZJb-AOipb10*&_ymKrz<+fjDMk zip_=|Pv2$E4roOF_ggK+9I+x~nxlm_>ZmCkdp6R^KWgMWwyh~Q`e9k?k2d-dH~S$F zTk;To2*kELgdYNt$wT-d5IuPaKLnyb58;PE4CWyesta;_tgxBC`Gdh`hSVeG#wi&) zLw^xwhwLpv17qcR%eA$sJ7p6XYGfmixUo#t9!7HiK3=eM#3zH-ytH6WX~hC-k;qit z<__9D_PTng&0JS|3AnCGdmA$0sPgt<>;*ya%j>=!WtTu>tcL}(*I&`x{n;>$F*@mO zBYbKWX!kwmsRh&)h9vl2^tZoo^f9R{uiHVs#=hfyLy`7|vr*Ju_Yp~tV(KBuJ#*mW zyfjSEm2+S^i4d$Zr15r^^tMq*$n*^jjC1$gCo-Mnej!u&SlI%1Mg=m1yAk5a6wUdi zE<>xY!@jnZvhcXTxsb==vqNX`c^NmYS?2cG;fK@DkHgSYQe2xgvSw#&O$@=@DP6C) zRcKYj^YlC)xVufNsmr=m~aOcH`}b)aPOL?&D=H#(MUyy)=c$L{p}p5x&$5rVIN&jFA!> zD`>7Eie!(=j@<~DM7H<1we?YUX7(VXZ%+uPDjIQBSACb?A9Y{yKN|VpSonYq%?Kgh zwQwBR7ZSBuQ1YffzXJ2UUG6Pf<0z&yGwns3H#WFvpiBGcp$^kP9&~&JdJtVU8K^GK zF8FRAF1T{w z%1;khF1QeIq0_^K1jlAmU2zg_Z()Et@&n9w2xNv}XP90#5D@dKILdS+i*?{n24G(h z+#neSPnP+XNdp|nT3Z|pu=vIh;c`8^%90DykQK%3uD=(miY zbBhl)MxT>xC)3d3SYgQ98h723Wsz0>Gwz!&Da9Q`C%kA#0woI)-l7v1d!_#(*<0igAF$H5k&M)8<`Ckx z<%rLA@o*{PBFNFE++7lO$DC{bpke2Z@{1Im7?ceBKIAbDPe9NFmL!b8M7e~}`X#z% zV2~&&z$jsxiA1DiY$ReMl$JX+vL_K4tl!Kjo`~#UTfx-;QShqK`xBc&@KUC2COb3% zDcYNj6z%?ckO;i(IX~B#E&4X3xRtPtA&id_o(#Kezb`LVun*=z(d|KIELRDg`|y(m zI`_w)$`hbk8b3{WwYRMiebIeBUi%BtSdIPlmLl@NPL4aVjmGO_OBoTo9YV%zn*Z3( zW4ZrG16!*6$1ZnI+__@&ZRuz53YppxXh+0s2UK7LHmXDrinWTG+bAkraz)3s@rr8B z-QvuJkUk<&!xC_cn0tfHYx3m4!DH^GU+aDb$z;i?;{_spLn9}8)cL^@ZYH8+mu=Wc zM7lpP(vIyCr#R|d7mPagkTs=gGn=S#Y!MDH#ktde-LTEPHtoo#X8hEyd}@!MdMKYN zJes_@e5$Z$N**etYR8!3lpqbEmYDr)O4E{js@Wf=ILq^S&2pR4w1!vmtS5+jjygny z1*@eTY&2CHTb_blRU5nJo^mF1)cs~FR&Jw_BT;8t#O{Ru zSohbqd+|!!{o<;0_6>mHrW}a5-&m7we?w|gaE>lsO^U8kd+qe@H|)p(FxevmQ{7lI z`Vy1V8FJ;wg_KJ!>9$lbw5+o4rtd4^2@D3gjjOk$u!@7jDs%wG$m zv)xB+@Lo+PIkaZd)@5SuAE3Sp9ZPugR+4iN*`cmPIOANgo&qZU=`-Y{wlQN^sNzq< z3CvBB2+5(m1g$s>u^un@Pv|p|odp?;lbj>A1UnSIn5_Y#4bbecb0rSMVQW%X%(-7k zx1Ij}@**d7m(_9}({a8VEnb=bEastML|C!TmUgRUn1)M-r)32X@!B72m89HG_tqDf zirDx~zh2xh2a&j+AjK3#4qY?TcCnXa#xSxMzDmMMWndjg_96~rrS`hL2}zGX9(Av7 zOt=RTIw?mmQpF`AU8^TFaS0#6?oKv7-pm3-!2Xa}kulHS?OHsk+TUTCY`!-)%p^#; z2V+um>Y#s<4`KG-5WFy zbp5u&yX`;+CRQ0TDijGAYK|eYry~2U)+Ky3OJ6gJDH5;UDRu|)spal3eU?wB`;=k% zJU#Ql@YT)fj^W(jwulm++CuLaRcLly(Sul4IjW-Jm*GxSa91rCkH?Lzx3)Hk-w;5$ z(QtY8c1z0R>Mf(w(!FB6#=}jkvit@Gz-?>%8rszsVtF1g&xUp7(^4uHesPUeb7xJi$)PulvswV2( z70NJNquKL>Xj6~lGuYhp9aPH8of_A)`iz$?<|WS)+H79*^)a^!;k-M{bsebnN{HRb zQ=^_*;{Jyqw-Ot2gT*v$75lkXwEwo8H!V-z#CxI_+}K?NOV}<5IE`ZFyI6^_62A}J zSdSj)0n-_N4-g@w>R;lS!{di&XM za~3W!>u)!GNG9>}KNJsR-Ro(LsTKI6-aIWpZqICoP3rB1Zu1Yc1`+hz^n*sq)T&z_ zjLawAf3+}02PG3q26%uW4H}}o1pOq^2Ws$EL$-O+SQhyRY~CcGOCg<&ES1*Y2&Ny+ zVr2cPmLe)GEWl*s39I!g7NEXb%RFMS67%MnGdW=*%VB zDJx{-&=pv@|87oQrB~+DwHlSrpu!8+OBY#6V0V1Pv2GbBl?>@ZsH| z3ce!Y9!u8VVOYiD36>Bg9{o?4PvQxxBjUVopkdf7rg`Yqz;WeqBqJF_^*JKLeCC=Y zb!oIUaWEsB}sE0=^;PwQOdp#4mt1OCm(gxcR(h-))a~<8!=1B=0hv z;EMu)og|4Z?1s%D2|rS~~{sB8du?@K~t&rlywK#b)Bl!TM=t8js z^EjGpngNpSEsT)(3xDJzHTFdf2&i3h!tIQSVG{_bIOwu8+*tLUnC=&uk>*-$j}~|r z2y^Kpg;Hpr14QTrk9rDp!6lHvg2L=jZQVwB{zFVTMqvxJCcS$@vNEGttg8X!lA*Fh z;2|b&6|$f}H3Fp*#iZ~s*N@gn@&;pq3_Q&CqjmW4HmeX_Ni^>>+`LVx3SG(C?g~v~ zW)pAN#j^CS>D@zKiN7wt*b7z{c*Nyu6pUtIR8ezCD!e$cuo3mkzCkxhQkv+EM3e8< zYe4i9;azs`8(Oo|%%|mjFY|s#RZv_R@rl4Lp#nO`1zJIrfBhM~ucG7fL3;(~K9!5f zEME4VfajUbeu8^(&iyj%r!Njg-7miqb>|I6-HTsvzaMlz1H+kuH<1HnKlh8zF`$Et z5a<)1E|#+xv>`LBNwJfM%QWhN!907o!pzvkA)lQrJ|#nK*vaO|;>iam!IV^Ki1T9j z`0QlmFnng%$$37r&rVi?;WN)3jy%~fwR*swmaPpE1eQL=a+u5o26Mt& z8tRA3e3IY)W`47_5g46s!*6b8C-^h?&1$vJZx&BULyQ<==*0b6m$FcYPq&yGLU!4g zVK5_hz;v#rwK%QrE@=dWGcg3f4Wm>>py}pAvTnko&f?ByOHNr4l*H*ko3yenQiq4)KCjQG#m5{U1nMbe~Wn3lNB#V0t|tnDac z9f#AC?uWbFo*g+W{f83)u4(?}VF*BFW8aZ}MUR^D0z=vzv=z9IhBui_#ST9LbGOW% z`H=X$Z)WZ;+hLfyl9Yt&3sZ7!(z~gMl9~>SnTu8tHbpp9GO$S*^5#&EG?=M~<}w~w z9qPiu5W+k`#ezWSn=m@g>k)0Glu1m({8P&`{&X@6D3Ni^7wMH=F}4tfm{MthsU^@g zaFINio64~?B}hgXM!0O4bkRnsw!mx0w(*&=(f~&s)64g$fLH);_c8bX+(|=_7{>aZ z(CyxVNr)}jE)KBZAQrk0%j*H#SvX`%@YY#~`0k=tV$M~iYHDoeu2^_iEU+67P3%MwHn)8I{X^C_vvaWZT69DsW{>(++AkRl0GAqwVvD^tWx$0~(*w+Y}eM>`0 zUGq1Eu3=t8nT+XY&vz#H{8!ui#z+kRF!)Yjr&qfB@aXwr?n70TB35MMR;rVmdj#i@ zLwRBa#wDIC)FW}&LD~>s(W&D&=DwT=?1{P27QBLuG+YGn^>$K0RUb_R4oHl#UUkhW zUOl;~Dks85p1jeNH3W@xhL2VGYG1zP63+MYfd}|ZZ zy-9&m%l%XZO0D!$6)3gJPgS7QYClzhQfvHF1xj7zrz%itk>4r>N-gtSr9i3WeyRec zR{E(5lv?GdDo|>*pQ=EqHH11D7}D$YERa=%i51dA7Ztfh<7#i044PmWQ4X%y;?#kIeRxnq?D*T;RLo;AfZm}$4ZhK5^H{GhCP{VMa?XaZ6j{Ztc> zy3tQH0jXR3R1=W8%}+G}sTn_2fp4em9}WGiHB`=UNs{XQ?NEgnRLxIxRx1fkQiqJ% zYC#>v=mSDAT`7AkT)K>E*bPl1TjD(I5w!)YwR|`4hM4oBt%}H;19E5Zd%97*UKJbvBluo59 zFaIHIH7YY4J&F}K*rcbQEOgMfxiZ1z2oV7TYG`?wBCP#G3z zG-B$i@0eq{qHei+vxsvb$FcAuHnL?=yZ~OFsNL%xqC(gvH;>tG{&)4M{Cc$c?>6@n zJdRi!K69pjxGoWLPFE$GI)Ylf+&|gj3i4wyH?8|u3jf!1bdTM}3*&^77UW3z%6rTc&9uldGc}e2h>CB}7G8Ng+u!0Ly5m(V$5dc+o-3q>TO$cU6)MAL__r zjh)=5mM&qh%PIhuc7wqI-U*zhR0tUB?lu|^Tyij?$h2|`v&ttSh)i-y`z88y8G`-x z;JejeK6g;yuK@nadjgjr*kx#d*hsFvYx|J~lW4#>MuMR2@)Oz$(8zw*jKElJ?~9@B zeY!cBAKw75mowexBT0Sw7U_F|0-OmyzvSJ(0oH`SoC!bwJxuudn(&u1k>{VB@NYLQ z&7{OBJit={MlOA{A%&5B(}bU|m2o)}e*WnvykD}W`{hjc`P1J+$(rn!Guh{tzXxDV z^~;&+^F!|eSQGtnCi?t}QQ&u6{__PlLmA9OXOgEpSA-`Pk_38D-ZfU3-?|t0xhlzC zIaJ0Fm03?A}sIhbI0P1Bw}MQouaBM>JW zC05HI=7f^9pobEJ#G*=e^`#(Ja%)V#Spc%?a%|<4qmkk|avB|RH(vM6O8(L*C?`HxnKXuat7NKq;G`lfuwCS~j}_qFn|rbs+)zprqKZhD~% zaQOOr?=A>e%6?zG))atmNy$VeB}|D2jA;I^`8K@B3lx%arKzO_Zwb6JAr#gd`2E`N-Tss+RdD!d$XBIXmh!a}dE zzXPcqeI5p-n&TcCAi1Z%P>ckeff-F(9I8iDtZ@-yfVno(xlYwXXJ6yS(BW}Y&8YG8 z$i+{KIuFwa1E}b4c+mbttoy~!{AyUdJj|J54vdf^kirZbI3lgWyA zMtUW|F!x4uSQcevUcWlN8F@>ID=on0Ag%+(|6g(>tXS4+n_lAXL%+G@4yM=rMOD;- zWM%?GM!!l@_>Kci7`Q9X@N|GTFqf zyM&he6XsS;7Il*h}V9-5`WE~fo%GbA+Dfmtk~{=i|l zO{U0d#*~LTM%1l>r;QrLk`pd0g-nn+dAs_O&{N;457ps>_o;7*|CRby;xDUWE1nbI z+-}-s)U#odBL4z&`UC0ybud(KWGZBssuIyS4%&2#{k))tp0m%xA4YwUk3oMb0_QUcug=VLO>W;|vkqS~ zZLO9|Ig(SgW7ikbRjhy-wwx`}#9ywplKbn$2ur25CBjd-SKMXq)XIn=UKw>$cOXc( zMcuKgAP?woM9lee8CtfDq=E( zGZ1+;5s17f&!|v~WLh-5QR2gJzv@S^CX*9tIcFY|W?C@;>XptBJ zj;c|?jw(M#K0Xc&N>Uk;+n|EH!?WtVL`HQX*2sJ;$;)dj8LiU@e;`aUti~`$3*hEU zX3%)G-4{wh7yDQ=a6A?`7Q?lx9$xp&21Em|M+3vr0CeyBjC1$Eu#J7I<&yR|gq}>S z<%#Qpwl}}ny&Svb9oVbGRNVl!`8jauzIOHnH|lMH&V@M$ngOp`=c{qAgop#jAFbjn zgr7ZXs1re$j;CVU?gK}u^&1t~;$ehBDnKO!Fj z5zj*?v|2tXIz;+Dof`N8YvC91<&5ts!oR<{Q<$or@B&twpy}GPSr21(x!d02RM>qsL?;%_%gLSS(%KHb6M9F4wQ?{O` z+yz(^?M$!Yk@E};k*O_ho@$WH%CB{#?@>yT)%*=ojiq685GF%axxvqZ&bTU#Mwesr z?6Vx1zwYYWsbXb+wJPfVSkE!6>23G~`R$_}lJ!{qAxOl`vs}aVQr2JFXMoYo=sPyB zpNY6H_qQa#36MkR-%O)=+4^!Hg!Jr~0%5+p9bhh47bK6teWDRKgp0am7qF`(vu->l zqz1nKW|z}vslHNb=*|WF8lvGIoTsiUwO>O<=hu7fzAOlsdFZ~g_?{c?rfPU^e2x{( z_73rN7(7^qIWT)g@55@B3!b>$7b|2t*_+L=Cm=YO-BDCVYB+P-(P7pZzHvS^^Ff0L zx0POnhzI<9FiZoKJywcbz%r-wD(Py=x<8(84*3H@4R0BcQPzxkFyn3Pt-04r&=a`? zr%9M1E|3`S=$xArYqfOI`;s!5b8)G)VXKN|jzC1|z2D-+HU=Kmz62hwYxh`f$%WUT z?|s!xB+7?W^HpN(_)j@i}N z-Z2H`%V1f#<}hwLc3=kH%f4$S!H%L?zbv|KbSkjDS#5sxFk6QvlGn7QEv@5S3|JGF zKkM0o^AReTj5^gv68zNy}`-lkr~ol>tN z-dwNZ-dyil1Nane5-I^E0TO{5VAG4Ic2BZ4t&<_{T@?i*hvP7XI8RCvmS*L*kpNPm;dJBhHba=*RO zIMjKuX*dVhX6^fDV?w6O^ZOp56(E#Ff2n)}fYv0pI z%VSm?4IcaG%a|50cMw?;c+9utn2JRXt;IW##J&cE-GKJ`r04CN^zyUBK`N)PEPvx1 zR_hyt7Zge7X>PpT)IY*yF?)ED$oJvzCqXBokq)e0F3M=Wm|_gNa8QjCu4M=2B|)!I z192`+Vn)?H80oZ<`G~o;`wcMeZv|;T?TP=-%mG5^>&c4UYl0UDr5gTNl9ATau9-SxM)U-s3 zGKe9R$HIqj=s;)h)0~0j3mV$ir&T+RMZ@fS{5FbUav^QVWJij2iKfetx1d-%Xoc;3 zpK~3TRkky4r4R?Ru->ANyZ(>z;Q;cKyX;>J`nW&(*8<6?#u&YB={Er`+io8;rT}Be zH^jD}6^VA3*T~5SA*m4(hzy`ZS3*Je5pyvHo5_)ZHC&;aTzT$l09;I^UkP?f)-7j| z$UUNvl|tjb8Fe50Qw4BDtFfZ!Wx#<>2R{r?7YbUOn`nHbds*+jDPv21`z8~j-O=!A z9eQK#>w;m(3Ne^c>Nj`yZS~GKGnRDgr z9lBp(*F7G7Os%eVA5|i59Au~*q|ek?;3qF|mxia^!;S^<10Q!_YKPpT);x>`jl}z2 zPrA==-558feOM$n^tH~Udo+%-oBD$cztA#J|h`;Ha(18!xUSY5M3ln2TiZg5hGpd1=Af1 zoM;%a(%oG05oX}RdGib064ag=)5+MU*4-ZB>QVbXA!AS{rLz~<<0b=h-7@#_@MF@* zZUDPE+Fpc^RNWcbXG%u01LJW$DX%d;<$VsW@BZ1p(8Ma^IlLj z%X_~;Z(p{Xes3_;bE9rw{#vv*_vrVOY5VH~_}InZ_4e0uyNQvciVtMYJ-5$4`Mh|p zuYF)#-`?~y>uh6M`p)8*6+Pf%k9{&z3#QQ?U6Fa19`WzcBBX#i#sXa{dK8P?IS$fR zBSOA?Z|+OfWsuf`xl8?O$DFgOt%KV3rJr5rW2&aM-F|J@nG&w5tpzNV?`1Ie`BnH= zb?yAmLwqnz@q&<7*?yRf%Ba1Zi~&rwk8k-WCVmKlyuU? zx<6( zE1hl39XYp{ZrSf1%011KWch1=U(ck7;)_y(a89uuzCuQK=Gx&@6;r3m4#&`_V3r57 z$AeH&y{VUZrPZX&CWVWAFd(cX*!%jxjHYA4=hud^hb<;TU+#mnXS||hw1{2QAR?e3 zua^Z5iJY}uSCun%j4&(_U7tIkQPQ4`PH`-J1-dxK9i=%pH_H+{Cn{aU!eKW*UWTRp z%x1hY>Qrq*k%8HRdtvn|F4<8oz%zR;ag&*tFjKrzcB)`5cMkU|Y@12t(SaPCnqeFi zYpg`+Fz$&VgOhniuJp~Bf9_{qh442yE8i(+W$r=eP1XK`pK~=b<>Z|8PB~}gHorON zUz5{WSPFvZdgg@Sw))E-8_h$VBqwjFzE6a)2%U9RW+vj8#nu!XjLt51?Ae|6($CP@ zopudEIt15no)GBTOE7mmC3f1$9o__js$J~xop$vv8(su-YL$QkFELvjZX29n2(Jy! zxS5$bzSS&i!zR{??7%isfp+?8uKg1vG8fk!t4b*9Y&r7539u~v5=RB~a(V0LIpsV6 zK}$#!;w$4YZEbCz#CTnb~K{CUIwNyL5OgnFES+tp)L=`Tqtex%G~2I_iUL!mV5ixDS^xE)`JGI z#ov@{bFyD_O3x3Dj0_bFTY+Qg-{UpY7yx{Ljm6?VJPgzWK14vrh zq+w$UGGKdcsApRddNYbu53?!)m@1ZqJ(2^*ZKz!Cm&&6E@wk_vB$t?m;X}AKY9`+Q zDC`0LWJc%dLW}*vY0Vx!m+!*6$lJF@@!bJ>Pt~LBV;Y8@OuqU<#xKbe?q##1?q#!R zK_&2@Slg9@FEb5(L|D}tvSNMQbk1=r>Ru|xgr-^QaGJpBs0I`D07eP#H#QRhs&-Je-lFA1sM62FEu zGto%sqP3e}7fHu2*(nW0@@uX2NsezZ1aR)9WyIM~A)U8MA-1zMAXUPZ!E;%LTppKn zR9$|RePyy1nih*U(fhjZJP^uAN_YcjKT8(mIuYj5{>iOB1kYuCvPdb@zE@|Bmg;Q! z_M#0WE<*}ICQ&CrzMqH&j~(t|5M1eX(brP{f0(_O16{Z-5F^F8H0YI9!rqjF# zLAa1J<5N6=0#*(R$jK-$BC?JwJZb+Q?G%jn!e%-&6NT->!%olW@FX{#@0ud zTzM6KXs|H=og33QlYe|Ged9h49mnRXyB*Ro9vhB6jyQ|ere%Q>6PD&y#JwKVCuMCh z|4MM=m3=)hfHxMxVDIrZ5gDU_r&$X)bu>}~^Mo~oU)8=iEk3eO{aqf<4uIa*1+iaA z-wlnye~sp{R~j)U7dv{9G5>B!_83x<_+X(;7y#62X@eHm;|JW+wI15C1j{tt+aNHQ zJ2Xc%UA6eLXhF+4i%jhbz}2vHnUvS4&Ddk@LiOxR;ZD=~k&L-k(Fb7SX64zYJ+uO( z3&Wu&Ygg5@iQ@b=$Wm%&z7eJZ7#!HG?IK#0;x0y8fPeuq0LPg{*V*9?d#5_ij?f*+ zLlE;B)R#c4G^nfs^&B(a3~J@qPI35&-^`W=>jE<~9Z@VjBx*BJPd?*=R42zCYyK)x z+l}P#C58J4t(Tue6dtjG)E(h#F72`|?ZMPxF|-V~{ko?vDlQuNLj43oTmQ?|N4)0KTj({5jZ19gAZT<=${plhi{k=}IYFVszpJdETS-v#Bf0y#oDIF1Ozk?hFi^dDF-lSzAl=s-4*Q#od~!G3m8Xxp0Q!JAi% zr|8Tn+t>KW9xJKcEr7;78<^&}ufJh#*!hjiZ0%J}L(ut@(8{lU^;C5Q_OF7fg0vLy zUWAdQlzS}Z#)C%>#cS)~USe|9J>m{F{chw7+&PBMYWlq%SbK1>pP}>OQr|GX0GYe2 zDY29(wK8csOCKc8Wwmer389MVGi?_qQ`@_IZCO512oU?>S?R+kL`^y)>P>B8INIqt zvp>nS@B>CHe-D&Sfv98PB23oCZ%%|lUqOjm1Un7nZE+|_5vF8wz?*9Tg1}t?u3}8a z_nQKDn*zD`RKK~zd|X!N3`J62$=j3{=&`-)^BsduXz-LFI>m@fz^Kp|$*`klE24`= zcOm~QHi-YyQ|QS)y@_#&dv}GF>$2bU!e*Gv2qyj2#sZb8Oh*E=B?1{1fvkk9DNqV; zh!`Q~tK{3$x#G^aXM{RZP>BrMeuptp!mw55E}t$pm?Vq0RF0XQGaAnM4Fp&uk1jrD z_Z^P9FM;4!4Ad0%lgau0c*XNpWujs z_?EzO?$_(Yl%rDY%`^NDn8s-%I#@g(_eXoc75=BV?jX~>k{+8OA&Y9i8OcB{k$$1L z?v{aTP0gxv>8W*&>g%4Y@1MT=HuW8SY~&!$aHx$+O@$AfrotcQ`_2quvexv8oY~a2 z6wx~g7Zwx!SC%SE)gDV)Td|@OK*Dp<}p=idv>vP0gn5WCp%JZ2RZ>1ISL@r zER2|x6WivrG!iNK8b;}gM)-o(h9%rDaZ`2S9Zg7G-3PFCbQ^zB%)&J>N#m@PAjB)$ zR}r?D8e>X>GhU<1-{Mf!Mm(?&TN}nvwHezXb65Q4=6iIfl^?gb9e%)WGxHM0eR!BL zo|W`{%W`SNhN2P4qq3TmS3OL#)}s%caDU4dJssQv#{e%!-NC-!+kL-3`jpN8?6YTP z`_D{CK1oC!VF*>1dZDwe?GK>8J&tY2i1HwSkP5sZA)3mld*q}(4dqS^$y+Ixx;FF= z)=>kP09(FpTMvVp2u12HUVJ+=8n7u7E!0WI(QmIR-gLW0091iHtE`W+nfba3Iz~9I zb>~5RPDl?n>X~De;+k^jz;IMH9(meo{XQKiH;}XKqfZFIhX8)?=ph)uef^9*T|RIQ zDJLUS?k>J|4O;>XXWb>1rve8!sGh)5h%Pm>AcYEb-u}Oj-z3K2HqBr;+Nwp6F@_#4 z8=hC3Y}sbM)^BcL@4VtxGcEA0o{V%hw3$J}ve$YMxN0D+b79rZhN@#5Q{KvyB>WI9 zqv2LdwKh1`T>QwZOdT@=UgII@esgn*y~BMV=63i;aZNJ3SL>V24wdz~k}2;6{#j zoVb1$luv#p#^KM%g8>85#vS?C89Hv}6-PbH7!uPtuejOM@VO8ewqh4BE5-uyNP)+a zk%RSjo6iL2r~8?K180vuQn9uEMKjx0%k<2wPtgDE#vp$<8LEi6@@&I$1G z?H#GWt8%_Ni=^2n=O5#9F6|vheo*`2WqtiHm94fbhuKm&J4Ld~_+n7`LzAiG3#rhZ z*h||A^Brbdd$c%t`!=$YjWWjMWXjD(CQy)M-N)=8gN+>zKWntO_4Y=-gt@EPxB+|- zESr(mzN29_!^sfO5XpLpW&?NE9I`9CEzJKx&J?uau<>st@e$!H0-!wS%AzkR>9iDlN;aiaHiEV-_H z277UAjps3-Z=+NBk-sq*?}rFD!?412VKdp0sBoLl(~}*+klNx4kqUSUe$oSh=y`W1 zYkQ(FEdVvG;tomo#nXQZrfLzm*q1^kh`(%tkiTpqdmQh#L)_Mmm&<<}8#`}(&-C@H zy@&!>-|Eo^@W<7_G@Eec<9PdfR(rqI@_Dn?=^M7#U8ZMw*iXg=zVADS@C*2z$4dD5 zZRs+rpZDiL1&Zsuo$EVcP~dTzUFM?O}yo7wPSApXV;kim_$H- zoYv{wAHHTl`w0Mjd#7{k8SmtBE>XKr8)6TR#^Y>sy0{cv&WUsessC+V&c%-Uj1-s# za55m<_u)^otKogf0j>*0kP3tX1^2h_@IV+>bI|(C^Z6umTf+6S=K4Tc8Y};#@p24n zRqlS4i3S4Um6ZFCG3_6(g?ZDkC{_Dd(u-a=*Psid=Xau3hVf5aT${X=sg8Y692qmH zUeKQBL=~mc?~u1i6FU#J>tHg{SI-3@n{szy6_{bElG(xa5hk?lrHa$Xg4Xq);w632 z&u&N-O|V+!QoHFeYWhEFp9%MfCkl`63FoZn&FL!N9OKb)BrHG>I{g z4QH}0QngQ}A|30lO4arn$CVlQom#i(zc!uRFB7#>P$LwCU9CJWPt|N<2BFbDw_G%`cs#PU z(Q2Iz_hjH>akN0n@w(X}tTmj)vm_NGgIXoCsK}l-;? z?n4II`X#x+)Jv@E|C6WmMc-{kfkeCSDyvmmw+R-MhxJ{rv;{gK)Qt8;Uho2ypNt&& z-eh>tcPAqmD=kcqm#Rb{n~da40uJ3txQYbpf_p)n# z*0m2>i`nzPeVA!7yNU^8YLczM;_#hnU5nce+i_1pT90X6fg0+1)nwTu4HYji(bIq`@d=P9Tfh*ZnK(8n_ha4O}2)Q`E4CUjmT=f zK?ki>;g6ZR60$~xKb&+8TY((T5!3sRbk(G820bD)?TzMM-#d@<~lE)i8EVI31Ifjmba7cP5z zfwMRa=>f!z)4RCtCYeUkrBiqpL?9422{8FGN8rdPC3o1puT!x6bV2NaYru6IE=&g! z&d9QE0nv;)T*!5Wza;8*J&4O7+eIdL@$Y{fl(>h-+dqYLGpc;(E-aCnEuru zsDIH&@;jb4Up|`d27TP4`vd6?<|lQf=u$tLD~&GI|7ExpBI->Og+#0xcJtC-X-+_h zx!{EPP)de?j3j`v8xoH$OwiEU5vRW3gedkEr_gr&?}c6uDG(kdhx7P9Hson2T&(hp znPss+_p)ff=QYlJ0z&IDIw1t2&AEbQ_Q}p8axFRJ1$zQ0L|NN|_A)m4kHPU|+vBN% z-fQ?mUOyl`_oqb-pYY9lfIe_4xDOlROYSrGadF_dfJe{XJYsDP{?rNn)W@UiyL3;g zl9{pQxtTuAG0qBb($ z(l3B*{U9FEtu70JkAtl4>rKb+{2L5Rl-Nd6W8h;=$G3gfe=lRm2hMFeUiNW@{+<#| zfSqD&$E?)89et^<-kH!5>)6D;4~ zzM@M~kD$Fbd*D{F$VO$dZf@iy?#v3!e68vAs`H82@JV819%&(iwbu@>-^K$IZvArL z16eDv$97DjJ!e~UoD3}|Xq=%|`0XTq+vkdk>OvPa&i(AL93E@FHr@qndT3f*BGK8X zbZRLYm}@uf&`TpP^`9o^-OBkf+c8BDs1=;|)9S_}VmdGxEk3_X5SQ6!uV^=))UkH0 z9ocvnkoBwCpf;)|*#r4IzCyho$<~$H=^gssX=}>|s^O8;;WK-^BG#4-RHcVX>LRf@ zoAqA*nL_g~usa*o8nrXu5CP(}d*8rhitq;xq3>?WHh{F-{~G0~|3JQf>dI!a=*{;e z=r~G@yHZ&}LPT=-8YzEN2TX*9b#L~_`Or}OA;KJ-87kKw)&2XCD`?un$F4rF>7E^5 z^7{@C<2%&Q=$xjNe1#-Noq6^C#+UaO%`_~Zi4yQ(+a1JDhWpr@d$s_&dWPFnML4HP z6J_-jf1`d8qD>L9Q+=o=_hHm0+#V$8qV7gc}1spC!-J|JabH7&>r&&yBe&W`@b$xqs`i*N=m)Q4{X=LEs$j>#WR^woDpJN_# zjbDUHiZq<>COBGP1+qi z9eI#PJk8hr{X5k(^OuF1w17KJO?sjxzaqb|lNEKQ>nT{HHnvJ-ag1I3fv?*;kZl_o z__CYU2RS>(l>GfP*%SgMA7sSLKQDDV-j4(blK+z{kueT#FHk9Htf=ftbcl{p+X2)y0 zlir2h0EbuKbRrr~-X!g>4Va`Z-H`qL1Urn27MZs+vh)a4q0^SWlf~e=KQTMTiEDJA zF4=)`Fwnk*hoa8EX<@jJLI)f#>h$>E93#nbwUX5QGj>#blnqI2fKp!iKgG-Y)bt(I z3s_J)HnVVTE1H>;*2mY+gC5j76wbMw++!E*X2d9`rF-=Uaq?5#Fg4qMMq3dh5+1r| z7p;oB9RnYBcB-z?_p|(Wruq(nICD$jcr)Qw?HHnAG|_SE*~mK6Td2>hZ9W5;#4)SU z=lB_f#nfnqW=}F zt+?~c!D=P)FvNqsW9|n`Y|&*VDDi_bKbYnR<$h2>klRFQly%Kt_%+C+T&~fNTMze4 zwU$v&Zl!9?n5Lz*9j14h-4pliPFiOH^)CnB`Q<9}yO~b&XBk=uY9WD|M4+}1s1cp% zS#;AiX0p%7cUWioC!L z{RUxIzHf5fcbU{sO2_}?=R}tIk%Q^EMb0f+L9CHAv>RQEMgpttAnTtSu44@KOU5w( z&dTdzU=jat(o4)k!b#_7q8IGeOn$*Uax)G%>F0P(k4&p8?@ZspJYn2urVcx1$-2(8 zPG?~f17Ayzlof!+j{;S~((!?WUJQILJyKc#(uU!eq#5o53FjC%$FE8IEt`m{QeM&C zDm&9jnyc>9VKv+6dz`8bvLF9VSK=>x$Bvndb>(Vsqi{cH+ILsy(az@3MpB|~lR6mr z5hmqao@V|r>OPN|)4H?V;yE`|5o0wkprR;}K+fHvJIMp%RVHP(@CcSxR~}ojTjzh= z+pvQ+!fVLA_#2jZ4o>`$*J+}=LCz7_x*FxtbWkNYcZ9YP`ZmyZugEAr_-n|< z)uWhe+}-6=mt9^E9!S4{2|4bNk0oodmi;0qY}~7cb`hTz^%h~b_+W0*h&su4M2l>X z-Sn)Hj|TBG(iit$EE0DQNRy;5{#$PzUK~5%h6>k)<*^#xwE_JBiQz-A4FuWD3$#_< zQOS`7-))Sk_q~y5pig%)Fb>C$gN~W3-2-RiJY5`x>;|ti93@>4`-Y<7u0*6q{>NH< zPwK@{>?wQ@nQuHDP^2wC!#xyI0Fc4V9!+uYS|i&PPk1xFrCVcF)R~wbDYiCzi_sMa zZ`H-#^tBKcM!bcP_g6yps_nvw&u~2OWYk+Xf@OP;a-hdepL&uWXSD^m*F)xQ6CKqT zqk(yrk-ye3oD|f#C#3?vHLOpRH~hAE3x_G&TR1L?=v#&|lioKlG>P0p!kd1nw06B& zUx>0$x=6!gl9-R^NX)%SSQ<=Y_>^f@6NE7CV1(f(F$6e8va8kdT%dj^(5G~k8J5Hm;;i!ZELA8DX&ZNBcV>}hxk(aFvKco(^ zI?Cf-9SR5VLFl!3diQX$wm*@5Zd{>$t1ZT2hNCm}!(vNu6Ap&s-Zy!`l}y_LD(zuS ze;9%UrtOhk?>ml+oq8aE8D+n>qE6{eF~>>;PQ)Tl*8jIK#@TFNJ8N-JRY6tk2HJxDL8_nqP+zZB`tnQ}@m`lyfjHB#7S zyE-W}1}%%cu=TM%)RU@xF;zR1bj4-*qpmJB7khIr18>{#6P5(VzKxJ!2hZ;KkAEv! zH1i2HYZX#w2vtPgXH(%^G7Qx(Pmf~U+$Um^0BTkp;0WJtNDqyxzYce339kxS@WVsa zRnLhCZ1ij3EXkzS@rTQi+M3TEQxUJo^l!*15^#nTpe0hp@FSw9J zIxf+hgVw(Y<2QMF4O1Xl3HP_!XaTXL-2;8cP2>rd6!BR1H*v@mn^n$f1BIV{OGTbu zd#+~C*W3eGGY&3c67?MqyhIXnXkuVcX8s%1qV)eDJMu^V_Kch7%-WK`SJwD@S0;;+ zk!#?Bw*Dt0tT`o$PkCM>NY_mUrr}dUJeD&i9C0cO`C7@V#NC6rFD|D4o#0PYJY<YT@N&%YncO^T=>-?{V3O$Y)xqktGr6_N#(lRI3c`M584 z&#y;Dd|U@%*!+Fkz5)rQrWa~Z8UVfd(ch1vH`T-#rwt0dJ3>8Ym|A6eq&3uKz+ckF z8`tFexzu#?=Y3=x-IY-;>(aw>c1CGW-FeQ=xrD-Z&b~;vq((z7a}3bWEf zfx0q3!oPDWgZp{!#!Uan$VFA?om)3PN3|=`>IUIVkTA2b=|EuIX22L8-fYVEhiWcgz&f{1Ena_i}@MX#z3jug+6g_V4d3);vWV zH^0Xni9jtGv)|?A<0Ktd)PW{u(dX&9P8DVl?a3?hGqGh5wR0&8zJ%drO@F_?l1z;w zQ_=F~Zs>V6e9z2`Qfm-niaRZfi9q%#=m%5%Amj(L{2)q@`}aZ-lxIyrdN?-oHEYWJ zGL)+0?xQ@F$DR3=QRi1nfhH(YrhoZ&2B*c3`A%tiX#Co1k(ZyzRlh|hB=8lOnWaE& zeD!@i)p`QPK8~hg)GZs0SPD21A=g`O08E*4xS`a2G&<*3ONeXu3lWBL*p93GF z*QAUT(5DtYGG7`z5B0c)_OWGVXf-ktKs}Y?q5JwN_Sc$T*v4IqP2`JzH@b;zA%-0X z47ZVnvYuxlSs$-81{{*IqkYq6;*%V>8ws&wVY~k<6DE|6^66BY`{}H$EE`0Fs@;|? zz);3=H&%|r&dV^(o&+(bO(uQjj8#oj)@h&dzt5C(b&D z&%rKnzN$dGDnmiN{=S5Fqb!icYhO3$Ow#-2H;CFXohZ;xV*hP(AFtVdSm7;cU!yuloqMU>jen$@aeffsgaj z0HL49>3QS+r15r^q&Uvd^APtVBtZXJr?A^t}4T^01YB*nOVI z$?BmAJib8({ShQ$uAOc(wr)UQDp!AjH(5a`s=H8nD3$5qaaQ_Ebd)gYB{MS#Cw81; zAvSKA-5DD$lF2G&(~Ub=WN6O}Oom_BB7-#s97BxDgT}xK>T-s(X(h8VV>YX0kJYl6 z#hj?!UYONesML1bv|N+!9`|WUK!l%S4-P*r$FNC`8Xa0SNoWH7tN;njqGAy4$c})X z*N5gZ!7GsQuyx#*Cp|o*QKA=&;KXqJbd=|@ow+dgv&$jO^U;VyLMSb3d9CjK1$2xF ze3sSL*h(&4s_2ecG3b6=ie!c;X@q|+O?o$v*R(P?vG@=Nw)0WoAtyYddz}(%FJPb z^~$0no}9P)^6pZ7f^q5?Nb=r1ogB9NBLyy%V4;yr899ST^g!V8)5-xtT8s} z1$XFDP@{7a;bTK%$i_hzbQ3sLo={4DW-D6Q>w!g&YAw8lDy{q-k8E5vblP(s`8LFKfqNq6$fg+S%igCb*b(v1&DiA6$ zn-5}Seu}{wjM=>1#%SKF`DpG(=3bBSNJJ`d^=I~#zysK)JQl#z9GeU_BumHXgV#6{ zE>z;TB3UYIR38@YM8%PI;^OPS}JfOtEug*UZ{*8?QJ> zV}zch$p$T;-&0HpgI_UxCAMp1I9Voc*6g4ig{2}%X@3W;X6rsuT-S3XN_nPFMEhlm zR3i+bGb=Z4+}xrgeRN#}iwD>#axlt;n5OB21oIU2(jfAwR_g~qbaVn3lGw-|!TMjb5mYuF&6zy=f?v%LwGghSRZMWccMmMW&O`= z!od1_vP$#!t0_17ArSuJpJKKNV}PWU`*fn#oN0-sPGP9Js0*z|pKoCj-^#fU6zfQC z4GAk3et+!C;P(&>OLVnw+9mYeP%ZpRT;bxDzq7^NT}dZiZZC!d4^auVqE_Sl(omgd z!K#TnOQt2lU2$jm;QvS6yTC_P-ueGYW`GF66Khm#sm2;x>bPCnuoZTsJ15NGj7%U_ zRN7k0{z55PZOvBF;u;`v5@33AfbLq0U0d1xxm(-1#qCQNkA|GFMz#7ybZ>> z(OL-?$^ZR%&delSZ1?xt{k>klzc0z0^PJ~A=ed5L@AJKUzOg_z(WKV$Z3Kh$nP_rR zZ#=mGBc%H7cyduE;-$&atnahV23idA^qXk4zQ**+?aw6@#Oriwo^|H@%Bg=P?9`)? zU$h@LQ?eqJ2Tqguz@k8kU&E4^T`>V4Q}YxTy?8}2r-s9_=VZLRn3G<1ze3c-D@u5( zgfhOOdwfiedKt!f31wj#X#iBJ$KmF|C8puk<8dPKK0?F|!U9u1hBZK70RB0qCTogg=p9=B9NEX=!-dT4y!;gt036h6{LH5?AM@rE?rMC*dE2{#zG)geJ8)S2ik(z;ND6Be5mK~2V+a)37^@yM{Yyp%QNV`$Ap%$wXLy(z`~ z>0+iBmrX`iUP}290_SCqe2el)nx|yeM9pW??9-IaCTKpMmcyH~!-mz&(CoB4W&ESB zP}s1k>`lz!(?*(wwe++?f?&zD?l-w%AYiQs`vgs1+VO|5FI?O?G((Cbz8%b6ia(yU z`^3|?BjW1-O3WEe_00(DCi)6@szz=;m_%7=y7RI^`!R7s;@l{G5(;Del6~#$Fyz*(f<^12d+jqMP?( zXqjJR7q-nIPiL=Qz3R?3^4Cm=nTi~C%H5?4%dulh8j)*e6QVVTkgX#Vcb5)?tb02W z9q;zlIzDs2sT4gh^y&|IHD0?N0jYL7iC3KGGk9Q*c#9($T3|lTBlx4Rpf| zMnI;)8Yb@dHcU^xDe1a7?1&A&rzK%&5>~Q!kzQ8ZrwUfbrQPmK>wW zFg5_lGWO^Xa3^p_yv9$|>501Rl9_-1drGQ>@k22E?Mmm~<@@6|@pM;a92N1z;oO2X zJNBYScpG)9`mW&u%GrapN8iUfrj^QU=v*+>)kh*B|vh6y-y7 z05bV~oI(bY%Osp~z&J+_FEW|^R?<-kdZnh}vS_Wz#m86P&&TUh_mB}eUgH|>e5t;3 zd9p}P+!1&2lX>O4dfW(av>CyeDn$~eQ z@ud0wOboQ(>oWf?I}fiKcu}l1?>@P;R6_evac35$ch{C1X1ACnKq2CT(RY*a1vO%B zX0Flok9EE8|6TU`?#i{)D^p1w5>FU4OT*}nWlEzP5njG0yNpHjw6tn1o}M@hP73E9 zb!Ub%UyCuLHtUrvZfRoBzxXRM)}0}|x4GDIODl&ZL}0&nyvg^6d5)il?X>ycrNT}r zvQHuB6#06plC#Icf~M&gVD2zep2^m7V|QjCilhst&=k0XVWnm+JQB=(nsuXc!~(0^ z=4Ot)$I_YdA6kA3uXO&wI~~ldus3{ufM$>Hq3XHBa5ixiiQy@aYg$;X4o!EAIztww z(3-JtdXx7hIUfbeIKFsAm~l1lUgG6V{8RSb(cXQ4`^+-lVTAP()PT)F9@e4EZ>cI@d31*P%0Ka= zN#d>)Va|M>cbGngNV|X5a@}i?ijy(t$?Y|THx13txR=8$6kfj8X=@Gfe3sL)eFDFk z5=zk#4bS4yEUIWN5jXrdLrAXuqP0GJbJ2XY*V zBTXBHe8Q_$=6qh{;Q~{bBV8L0XX?(`mwC^nw#+v40J}2haO3y_$nCVTiAHI^)e1_Q zt>mtAAXJ>%00l%{$KJXta}zZNlde?M_b+D}>MOb`&C_WL3eJaV;3({9?M}=#H%DIs z9{p%>!&DF-ud6?HV}b3%+W@<#mg|<~?m~XuK9Ii!HlpRaUvRs|WDb>V)${J$bMtc9 z@oZ7v%X9L#=H&;t&A&WM`Nd^^zh`S$K@->-E}l8G+bhM>lSJK3_cBblFlc)~Pud^W zSt)|e8SGw^uD)xn#(_EJj`$6eUSfwD4ty)3&O!9coa{48)or!dC+&#e_R^L2WB>O< zR#xJW75BZQ!?~Z5C+X0=lJ5$*p-JC|D&q}|t-+HXS#$7X&ijAy-S;2VcVTQ|zW1gl zADPr^s=24y*~T|*=hvBHKAZU5`3(VMA3Jt8`I!q3=rx=v1TT|$)iGHX_EseyFa_u& z9d(yN%J3)ofwbl!QxVEL#eOI3i~^Dn2!6!HZpkvy(9vpY3n7{MK4fOT!P*0F56zxE zk-0nxp9eON;QmHjk6w+tg!QGyS^I&A(*WUqZ^=9+&Nfplc1O$524?po1WM~;&dEGI z&aqA-&i@CmIgq5unG0zSUz+TW2i1lKz>AGv4|Yy8ak8}WN!7u$$R6Bgj7fsMjmxEE z*PPcW)pR=|hNzgv8i{fyI->~v!rBv!Wfd||6A)ZD3GKgT6MOk-Pa!*3L&mbWe1=&T znp5_zd3CJuHz^)&Un`nuwKS8BBSJ^=ySm5Tp^5z6e;^3`o~~K?bDSIi#0OI@)t(ikle61*AfZ8m6vB{^UaSW8{A2* zktt=DG9#GK4n?XTD#A~h_fx@7M?%clJUXGn?EW-^E29Z9S2;5X*_?iYg>gT)p43Ae zA9t&~JCEbL1qLS}G;o=oD(_vV?w z#+4@{J6=c%c7oKYk}^GAHmO=axKwcnDfM&QRm8P2g^`wLfhfGo8OoJ(87t$@5^|8;e_V* zo6vtREN^~4^<{p?A+21@Z)x-U;Yau_=J^va*Oxj~{;B58imB$sk4`o3T{zXeW^Le1 zNDpm`+QtKgpx)zvY64+<4!9koqmbApS|OoeDB{c=?=CWyn3LRf7V zSiv$wLyTAx?P|&(GF6-zA_nIaj;pD-~h!1$?%uWZEMF1FLE8?n3BXL|6^CD6rtk^X z#tyvam}hM{#)z?3C*X7=V%uO zL5oZpa?~Uyvwb8pMAag8j*jC3)>QC!to!*nVR2 z+VQy3c?364?6?qfGwud#?mYoWicY9@-ezT*!|>6{7c)D%1_!4+DDM-iWs#<0>GY_x zd?Md;Rz>+6g>NZlPU;x8!7QdnjO}II{dp6&XpQvaOuvOIPBd&NSv`yaSK>xns(8dv z8=k~|r|*iyQTfocUBmUoM0@1=mN3_7Ts~YSuP(A=lgQGNiLtji@uwpiDQ4YWYh*;Ea)Q) z1@_J{Y_j0-R;jSKYqD{eiwfsz=O?J{mPNc+Xs!A&uS|LHA$@+;KXUCXQxiGToS-gR zV%XeY1z~rV#rYd|S6;&p=?miSeT`&sribJ1kGgqBR-<#H?vHdtkn(L#)LpmwI$d+N zrV46+r1kJ9&kNnuct}I&c^pz?HAMRwX7MQ!j%UuFsY&}}MFC$q{2%{?sx2F;+RA*@ z?#ow=YM!-f@ROQDrdm`ll&fmCimKma)o)nU=FA(aTHiUSG=00oVvw*nSFYg!S8% z`3xV9*5V;Sie?v|;nSGyW+uNL1X(9}NnaU%Kh<~cCc0b+pUS+&JLr*&wA%5ezeuo_ zi4;#-Hr9F5qsi&FD3=xjxtjPv3l*VwZzUzoYGX@H>4`xl%)_dl5nmzt23CC=E@Za9 z9b!KY^uoGaZD(1R*0mR?)*NAOTm`)1+3DW=tZCySrMzfPlFM2H_Nqzv74BT z41jN@nKvPZuM8{zXagUzlgspW)NLKlgpT@-$K3nmPU>+eE>P@Lpx{Ru=RMfx$(s$) z$Xc9DuwfCh9?%a^s44?l#%1aKJiVlwF%~11bV`rZqJ-Uqt5HAE6aqk{%*| z_R7xO`sZq%vWHZyZ0f^b&u6CsO3nPmB}0#6-%@BD4X0b(GCvt#YA09bRw_t!|KOCFmnN-w8L%x z4^?R1T#TUAb($p~UOa{2UqlyS2$$R}M{p*T?lH7n@>#oMnKogX%KgPlKF+d zp5$iTkfzs^hZJR}Y(p&?Ec!GvugN?Rorn{lgWj$d8?-0$1Os3@#_cLQ*F^&$fHB3w`fy|d)4pQ`z(gG(^OeN(WC>}bwOfG|bT3&(#Qb?MQI~{$fNSApu zhdjDqGIO@GgUdv5thU>za&_&`<(OzV{#f1aV&-1NjnF&2g|WJnZmSYcPHdY-`;1wb z6*)q}r!IFM38%(o{q zlGk&YyywUvKCO?Qn(9QxS0!6a!|7I)$pNNmu#=9;_Bfra3D$~-exfw zwsYTOOyETOo4)SEv3W~IZJI|9_lN5H7w4-`TzN$QUlN@|P*a3&#Mqg>_3Tm}-2RhwmU*F#FvSDv@1N zarcVfPkL?8nYF;VcAh&a+HejTk8+akyNCgsNb%Kf3+N$3nhfp8yE1QaX3LdfCm&Zv z3<+zmT`;7ecyTGxDHIf=DDk&V*va1vE3qr{7;i@1Z^xhV(VN5Yxt$Bix1M~;w8~`q z7DwOT6*j!8atTN_o+s5#%MLlxMx5emCsdyKENyXahSeHTk!{^gCj#2*(aak;qfMMyivMkdL?$Cd0Ye zPwoX=ku9Z6uQaL##VT)-SNXl9(87|ZSRE(_t}P~;b0LE4ZAOs&ALenkZN1LTxA5vG zvhDu9DQpfYi?hvXC52XK@2+;92{TG6?dApS2<4f{riu57Uh>L&bT|)nDnLmpD{4jEjlA!pPUzk^cNd8VKNfCn^WQvLd>}^pS>np z+g4F8V&EKh(mF`rA9s3?eHy_hW}?=4aEH%E_y8t$aQ8cJUOW=of#LN}xB&ZqU~(%v6Rdsk@! z8&6(8U{p5$tTRh7b*y&!40z^Ud^YS{aT|w^xcfjw6SvOP>$!`d`~8bJ7tWtu$6xfK z991CG9pNYIb&;1(YJJhJ{5|n!_w`47@qO=xgU>Aea0E-TL0q^nCPTW{_!7om#y78T zjP|9hVwlr;{(ZcHx5d$@Z;NsUUwS@0+Y%MfL1Mt)_%e34eIso{)*`;0#($Ok&no}3 zgE$8NwNPxZ zqdNG$)%F%n`i8jy(n!F`KI5YZc~ zQw_&ftj*FB0Bks?@#lPGi>7OwVBE#j!Fj&g*P&hGGIk1LS4MB^zmjFXZyELR_48qC zgkeO26tD!N4Qb{)y}WyuldZjE4Nvj2T1=!ettPGKoUCcrrNvq9iz;| zp~B4MY;BhwO1xgkVh%0se(UOzoP{c#q-s_cS+Y@#1wml=PGh&Lk^Q#*{T93Iu8;AS~rA;>* z0wieOr2LUaoPO<7rKE%KA4`6z+=xeG$vb=TJCD}>vYaQ?$=mkFoqrq0B|9d{{@vBd zJ5l<+qqA#0C!bVDk?62QreRk1#Bcm>03E2i5}6IXz>26;c*P$Z^@cSl>FNZj;g=Owel%zZEvg}dyTn^mJKHjA#)~SdT(x~} zX55t;Ml3?ALmZwD{svaiwA)pYG(W_P6UaT6LdzvG>9~v++*Uo7Y}#jxNp4ZEL^ETy zXx#X^(T4L_$??p)n+=V+#o5WTxdA+9psI^X_#59hK)Lb0(jy0)Zr$U>tqmu7;!m5|tci*q=rlyH)6VO+S7eye za;$r{=?qE`QZwa27C8!O1@#NPzR!>3&ZG0)#6UwjbTrV=b2lH2#Qk3{;vZ2X{oxu86 z&rbF!AOSwR?V!a+lO`BrC#Dj_(_Y=@7vLtrSc)3Xp|nqV;wrq&+=fo{lL+_0EHjD- zf*4d{){9Sg)Ylac9F9Uy&V5QV>)aefK4&L`;3ly-~@UbdyNbqRkoA9`jDttgSraSS!;Jh8LI3bdFZoU;Sa9gfMnR@y&=gA-h;#7~0 z#c)UP8-KA@uHskQ8^svd8_3)gamqd$3GRzn@q@NIqYx+#?}u19io_!`T!Rb`Q$q;x z^U%*MEw_WH1#r}hr~Asd_9EGi<`D`DNKKk?T@VTE14zQGC9slB$-T@pUkZEmS)J1y z|J67~v8d2!5b^EtaAR`JdrI}=Cr^D@f523oJoViivM9Pilfy$E#gpIM zEqNP;V7Z-0T|A6GapgaIqSI5ggO(=MW?3+KI8mHkAId5cwOw2gUZig7}nq>`*QL42eukeF`lASbEP!oL^aO`!!{(JO1qL9oH4mha>q{ z-3jn)zxYpj^yDAtpn?(KEJq9gf~*h_KybcepEY~LC0<&nTU;!xt8fw~hj^ODy*>Hd zwnKH(_vGHm!6;C^3NaAkCp&?DU9wA`UF#)N7KNuTH6K*rlS2n`Wdf>uN|_!k! zim-DDFWnLe5CK9wQQ$>8u@xNF=&t~~}->d88&nsTl;<#hI)leyNE6D@V7 zYwMV62hst;TSdzw!2`SmTn45hVBAs?7l!uCIyk(fQTZCZ4=9OhAO@U-Cqs$k7(y(8>J8mw;Y$Qd?X94U79pT1 zUWy)PKsU*71YE=k<<2{0NP(z>sLA_*viTRG^=HQwRzRl4(OediHFq`NiUSV?x}JJJ)ryvq*m zSPTW;(RVpEB8x^-#xAzg_P#O}sHq!^!w4HxA}+*!_dEBqk!<+d{P_jiF->$k_L%h@ zbZY1P$dtPklVaAi6S@>^6ZKh-0XRt~*CZp4VS@4~-OJNp?tyO&3CYL?y-}1)oL1ze zKB-jvI@0$OxJ1RwfaG++VI`|+0f7yv){=8J>BrgGXVDy|6F$R=D>U5m1VstEj}ofb zDkvag+3Xo7@HW7`1e!VwI$1u1J3fOB5M(4&$~i0xFEv?v4Vt=8lgWGut*Jf6MH2sba0G_oMEUCJhZFhTGT7BAe?! z$8q&?pi{aV=NVa~{J4uFsY$iXQ6TJ?*RgXtC(s!+DxPUrFJ7DZ24y>~ZK|5vVu~iK zN;8L1#B6Y>^@iWScaX=- z*e2c$?(jBIYgRu#6QBMwBnru8^K{~J@Ab;^UQ*F1Iw|ubxZ`-Os|s!rHiH*P4?6JY zm0ggGFvYgCDQ9}1gy2Db^iSC^cgdD`h{{D7`e0Y%0ei#WzOT=;RVYQIN?`_nxMvR*gj-sr z8E$2uot&Gt&+Y|0}?_`>uPQwA%vBHHAU~o z&qSwH3OlYQ$Rq)I4)*qTa{7X(L*q4xSpi?U%$(dcr-x=fNK!@;<^3`0RiPWs2Exg+ znaSd>?7b|%1lCf3b59eMWCetsO;W__#8Mbc>nJ{#bznb5-xOFgJDq!4xbULAeMjed z9o0JR;4@f=9krb!gxs>CN5al)cJnLZ+>wTg0nG7J)0_t`Y~rm*>njUO9HJzbW|Buw z4)%?~Uo5kfD>3$q@NyyYBrqES=CGot;BtIX*^4tbczI6=Mk82`qmEq648Fqq&x8Y8I=j-lKPXxpq|2M^;#+&my1>ypuZ=jKxF4N6g0sjrpC z5dr`*V!S1Vw9<`(CY-RZoB9+M^c=&pqpTjC-vHXjveUZvO5DA@?k(r)Pj>Hdf)~=g z@A4x)jQB`7xR|d0e|7KdQ@gjcuT0&m)DAk86=OR2zu378bDgUJ!PC3g+m1e^?Woq( z-VvGd4YYHw@mQX-b7StUw-fUPbBYBloM_Jg?$zKF$#Q}fg>Y=PRyPbOdi!o(A`#OF zh_4=FAOR(lXsTQkOwTiSzA4gwFK<=5(~HS80YXyZv_1rhkp@bchRQ0>)XousL94kt z17<0d?|Uu0i^5x00^aAToZiYd0JDP_;GleTqDnV&QI(+zW!IU_gN9_DJ_kb$bpoW+ zEAS~(;P=#?sQZ`+C4+xA;Rx99z`JrwN|Bs#=zak0-3yrqmg|FFZZIvKY$4a&Y`cB{ zuR0O;5i|U_zi|ipIRq5ed8Ur~?Ntkt%li3Y8&bFCUvDv=bzD_~ZV3x8!T2nO1Fj4n zV0qm}ekER0Q&v-k+BQKHw;WNgpq4WsgdW;H^fcRbU!SGUQbVgfw;%FP#I!&WO}tK| z&zrbWVS0Bi*HP`w*)No5KAafVS)Q?{=S=0AkNzwjgzDm93k?=ccRm75|6p%>&5UBH z($S|kR*bW;1$?tS?0kqg-dI4Q%akT;l$~fl5%Gy&v_G*Fp0KX-`m%z8+qypzNyL<&~Aw&@+G6%I!4f&DnkDPtM z&^|}Epaj*<xyXhQ4n8Y&V4c@xZ$$c3zEhqBtfr`Zo@btcCot-kSrbYfrv zhME(Y3_90rqj}qszQR!nAKd*ZooxG_^Yv`hSOt4DB->P_q`y)=AzS?hy5V|ie7Y7~ z9fEEvTqXjomlF_0!~JrDOaK& zQ=$>G-Sb1P5>x;FVq}q4n^}Xk$ad0bo)4X<#&{_3oCh>|iad#<(l^4RPoSVi5)eZ~ z6XV!Dxl%H$N(5fth@m;($}_=?PQD^F-+H#!dj)LLp=?7>K_NZZ_*1eCM9A962K1;jgR$lxv zruJTz12bIz=$L%lF{qQF#02}+TfMuOOir^2!+1ko=EtY}1I8!mjSn%%;O7~icP^5w z_**eEHaKz|8W=t{tLa?uUq_qXwfXx8Abi*?fq>P6ve66>a!U{X)$aGk<)rC!BqM(m z`c>i*Mj$dY0^dJ%1m^#rj6jYbJ-z?A_kdt$o6gUnz@oIs_B;R}bh_95>w1V{z$r}- zg86QrnD2I2Pj$OV$aOp98foKR%|ReGkh0eAWj|zFs@yARqnlY^*&(^60%LOPo)M%Z zrZ!$^R>go??2dOuysmTo=L7Bgk$7<#X!#|2`;EIg zhE_56o29Y9!I*PA7C44jY-WF=y;PF2OZvf}Mnraum6H{B6)`FbhBhnz_VrPHCf0=mfo{vp@3fGL2X|(#12KadT<=^ZLY2kz`cX*yFaiq z=K7n^dT1#*rFNhUok2*l33%cn+c&%Dgq@u2LnOwfBZxb6+@rcyn)~dk)gjai*bn5;sT9g_X!R_n4X+54b0t*3234DbYkDGe7= zU)(1<0|}`uT_No@QK`_$a?%_19>L1feLj01k&a$ky0M9m*a0lK*5Q4VuIrYuyRJ(K1VBl@fgGg^0b82RpD=U+=i9AacYzqY)owo8#P;4e(uf&x_OaEMTpv%I66kHPJ6ciK7X)JEsb1LE}O$ln{WvA{yT$NP>|rZ{1H0m1To$Z7Tqk5sIHc4ES?$gedtVs~kFCA7|! zwM1?6Erx5t;Xs}%zLb-c`D~m3JWx^457IAbfd_j~hc1 zt$@pva~u(`;}r{-6@i_;l@C(}sE)UAHkh(Z!lotXIm@>3OHduON9F-YV)Z<4P8VR) zYx|bp&W*u&BY+BBnp|E(Lgv>iqz(DLN^;K51lo}X;|#5-L;yV0$y+)jjwx4At`hIMD+)qLdDa6Np;&ulMhMMY8chu) z?D~8k=vhoskgf~>B|h&2jNYL4B2&J$pkV?+m&YadveU1fV<2{XZ%2|}nDRh*||Zotw6f22e~^feUnh~=v?`(TT&Inn9Y~cxvfS- zp+=RWVcryz(hy0eF`*b1KO2w?NkD-Pz#fQgHZ$WN={j6YZD+?mV}9WoU1av5KJ*#6&l=V0@#f)I=)M)ERX*)S(GQqk+;9;?cn(<$t69%-nsE1i`4q z^?(6Iz8MZkhSXWtBjXtrV0$(-VQ1Mxj0lq!tPr@GaA2o#6P?4{I2SDpEIXCkKXMrava14N^ov!arMvgFLEJBlU=yAK{Uk)l2` z_FVOGC$rkKY>v8$ky+quRs=5302DV)cYIUecn__4CiB&AN$|puntTM8kw6y*9HiuS zX3j5ycrjc`J_HJ$L>*TYbE0s|W|1YDxq|mO_A3nx4^MW%ED1X+^+nl};m3Kcv#g1` z@RWa5w=5Y)MP(O=(15)j{I+K@pZWm@I|6l*TAsOV5fU1*I5&dwN?+<-FcTOre7HoO z%Y0p!#lX8zNn_NC6m=GI`RW>9cT%=$Hx^`Wxmzp4yvuzJ51S}_VrJ5ShS5}!S&UlP zey_a{KaRnj#Nbqg2z%1C6b;w5zC}3&>)5P$(u7wa^Cb*&c{3V9rKj$So`3XEeKm9P)*Cmr!J)=O%^6;&oM7DVqm8s z>QC@Q7{tC2pqn+7pjjl}$l@v<6k3qoLDg{*C#e(6d2U1Ywi?=p;=cT(2QE$B_!XmE2 zpmuJWK)K#ZDJW#!9;9c%y$0rbFvXNs$Wf3wcQUE1btZaj+P77~NA4;H8X1B1;8IzT z%+bg=_o;H3HQ&)>{E@C1vnIn0R;P?&V)r`XOtE6fo^tkOzE0Mm;cXI03T4Kkes#Lg_2WA^sSLuPNk ziXZLmaKRJ*XpDECm;b~|XUcsI+%*UGykLE=Cs@zU1Bes5g{0B3+O5J-VZ(?Hi}5a! z#V&N#81LYMpN#=H4+a2pfjk31m_0Us0|4IJcX58>_i(`l7(M{U=4=}wg$+ZHvXiZC zqB5u0rvSsq#UL^5FIB06n_%G1}f?pFIMyP)^XfrJt7GZ(RM#jvo>l*#S;9y<% zdrVNnIKT_Q=w&tn*}3t0uAKduf75jVgcPsDf8yG??-6aaPiduTP_nbwfVZ3Axpcc3 z9);!g?F_sADbVgkV_T1I(M(1KzP)eE81E)*ReQlF<4l%%O4~&wWC9^O=jT^^&vD4! zUKme>XomIcc33LyY+Wr>fTgGuR3Xt9vJ}EBO?}$rlcmfm<-BW@o!p`e-dw>?zWm&3 zKJ^u4F|X)?SEQag{gvTsb-6N_7j!YrEi3Zeos#E6-%WpkiM7QrVxG~T^eXGMr_v}b zeKD(SfalOt=Y(6~W$C4n;W1rwP;!|mz-uwPtlX%QruqMaWt(>9%GS;QVA<-De7$wU zKpV~x3gk7d9hm<>_h2gG9ApZey=w}+u7Qv6x+Xo;HO$3Ag1i_8=Lamph_gz1)#k00 zm6fmx=L~M`Id1!Y&30w2GEn`Ar3+XK5^dz%n#MKUxJ8^T&=atSTf{xtc+LoXnXw_v zAoB__8C)upZ5?pzO4!9CgRSlzKmzG1tgBgBw{>67;<~MC9YF(mxpfsE`kyPEqQNFf zAM)MSwSV}c^}i!d5z{MGSpgK-Vu+tWbx+w`V8d-6E!(n69>`AGS`Th%yV-lx9-bzb z>j^oQmnsJeKvRHL2&+kHdRBIpXG+tvac6m^G-5}u*D1qxmM-udOv$~&_H7Tl<3n`z zi&BPyQP(PEJW+|?LtW1g?l(L1d|&&Tx=w}1Wo85p^!=|5 zl{fH_jp{v^XIhxg%EE(m0!P~kL8Yy`Oi6l8Mg@EpJHBCGHJ#-(m^zrM=c;m_&RZK5 z>XyZ(vmi%A9T%ZtyP56Sn$W#sr?ejUfYywH+3mJDejeFRisl-mTR%GNrNVUwbh7ad zI?zUA&V3+z?vds9f!4u>yBM&&eAW*~!r?I>35hA4@mEpdKqeeGOmW-kkxF_2c;iUj zbGoFw=Jf73)CVopN>xAol9hSzi(Z%`1f$dyM=)d9k`h~GzS4PGMlWADxzd!=b5z-pUxcgaZSqrZv zSL)?6KH|OWeSpKxN@b-gk>slJbh`INZ)0KgUSpD!C7*N^Nx2r7>eFdM70--f%+t3F#gILH}D4GP;lHv>>YOwkvLE8v{*iW@^+xR z@Ea3gh_NAHw_k$v8Lc!#FX}@(khQON;#Xp0ioh6I&LEuDaB+?=T^PR7?_38);%R~& zo>cjD;7#?7Fy-6M7~6O*SX+)WOb2;`I17dtJ!4o^Fi^el3%2i|E98qpL-JeHP+=S^&EGau&N`C;t&FZ=#=z&Gjg zif{Gn*w-0%Fy;TofHPwAi5UgFI*8d5?w6m?wwHL{Z{71zu23FYZDr~x&WYu5$1`8U zH>o`4OT~k|QtotHiFf#(?L3DrbbiFTW1Bv+M_13HN|G-C_rE2GW7wL#Ln$vqF=xL} z9e6k9Y#VNW_4_L84iJIUepE2nc!bdV)NkAWj#b}@pTRd@v8ZLwehN7Gs%{I>16_U) zBW2BfxyYaz zTF_7Zmd=~lAKYoR8GUyx_JG?h7k_v<^f%V}llVw#vGRYl>u;$BLDE`(I3DQE;sZ=W z(J~RQ0svJ*0RNka4-C8lKH$7$m_!A9z|M4{lrm8wfYhAGMk@jC%LvurVGQ$SLhIC^ zM*=PP$C}RNj8Yie3}G2nzW5X;s6jg88}vhcN<+KkD+;bE&J~O4Sl~G4N$}f)cz`+Q zSG!;Grw1-2R7E8lTt|RC=D0T8ODoyx(fQBpA(+#wH|!wCtC<5Fy9hms6v_KoZY>2L zsW85GD=!_xhR=5jhA&J8JG1UJRh#MhnOW^- zW>p8xDFz9% z1@92%iH+sF^oYB-le5a?5FK^0Q!_9;k(I=ybw}u3jd)!5f8sUrW?xzw?Z@@0vBeJV zUOX3qvacG$sS^>003iO=;lP36^_%9zM|ut%hK3M*iF$cQy!5of@JPl#OI}WSWEX}Q zcU+yfIC~@u-ZNaZvcKDiR(kkBw2}{~hDY*i*a&k%e%=UGv*FbCLp%1K8BXnGFPxfA z(LLF4Y6kjwtq$WndwuO8Vz$H^#MD4ng$!0!I`Z^T5)D;JLT2ylalD# zY->IDxxDdZnIH;3j^mdA3Q-fu#PTX`mlW&J#m%K;K)|8rx-FIYWwE(IT7-HQTFv5R zPC?QQUA{t#$k64FaFv)k>WEoEifm(6kTGBJ7LiAuy+srY?zIwHbD;0xR3S>-p+C>) z&+~jEOP+rd!F7axhGM^5O2AF%!|(C=s<_ZLW-f*(U&(Ix-zLhhv%3DW+B)Oywl1xOwfjBajOG5>s$Df8Ce;Q1T zA$q(+^cYyiJe`Fee_HgIC~MC3IeN@<2seMbhcbeN;SuD21!Or-ki}=*hFcpJh1R-X zZ>WTp1w2y8YJ84k$9(x}^=NKd>)!C@A<)C9c}^Fbo_N|!_doFCO?Pw-t#Gj3{aVC&z=RfofvzjVHy` zp?Xx=aG4#{clMoRP~Wqi zvI-s9CCe1k3vmaJ8q%%~LSaP*?I-rYLj3Pk33_6bTIqGliLPu*=g=#f`e(7g-%lP) z#CvjCPcadX1P=UZMF9~WPwkd4G7opgh(9v#^CtKR9Mn1Zxrx|gg5Tqr-~(8UAHu$u z`U0K_zPY}X$H*uN5Vcc}ygk6&9MvAs0IB>2 zuz1N?_;C?`#t?oS;@?Df82bNzg&*gfqur4%A#nLd1 zZpB`Ku)ZCA=Zw*nZB^sebZ-rZsUm|Yb-0M~8&fFEIrADL@363nWp;zT^;d{ugE`r! zqJi$XvmMv2oV&9bM8n3_7rv6ya7hw@^+sQxM&8P zIZtv1S7+E8EqWBgpcOUf@y>gb_XEAmo}1sy&Ysr#S)9FoS;}L~3-Jo+=U#(3$7vl$ zB3IF{JLz$3Y0z)(h$ka!(*r)x8Ah6CaY6V*R=EE6WEOMdYE8Pi0O`A~048~PQ9N1w zuq``+6iLB+ZS% z<((JnH$(h5@G;<`Qog-0IF%VNv@om>=iagPp)|orK_RWy&vocGFtkr&0Pw<{xfEI1ubuJV_d~ zb-5$e`Qky=w4WTbH}f>o{|qhw-e>RyiGq50NJ?MPHYYnAe7?(R|UqKI)`+R3vh z2mCt(_u%Ek*q#IL=D7QB^%Q0-c32ej&M*I-*(AJYfO#64^p&CUs&>CxY8wX!7{!>_ z#Xn>oCfrXhjfCBT(7l&5cTK_H78SITa%H@M91G^>v4ATl#DbxaeQC8@sHT7q)xS2F}O6tZC3hZ6kzi| z4j%X0Pf6*3?_hAdT+_j0HUKp_Fq-Kn?JXhdJzTyJO}tg)wH3o(@yb8z7Ezs9gMQ4~ za-lhJbOm~R2U}lU%E7ebu+)!U!xvf}OPWl{{G+q4ME%gH8#h|IX&m{)fd_hYOljS_ zbcC8*$`mLjbziTub6*Bsn%ciX?YG}c=d5;6G~%%ScvsGD=TG$kwxg!`AJ}l>H0&r+ zq!p{RgrO0(d?*f#62VDoV$D0Wftcyx*)^C+()u!{a+{eq%%2~g8{>#k%Jr5e{@7bq z>+h3~>hDu2{oP#7-`svOtwSMIk>s=@3UUx<2BdpCr3|;KpS3EsS(cKhnoJpd zW6QLYxq@W243AB#WXs5rHwpY5q*Dy!xL%X;*K%6czX)}upZ4XCWSA6VAf4=U^3Tvd6M;jLB;1mL6W<@Uq^_mG!SfWxZvp zx9x)pvjf{csI)h7r9CuM+MA}d?JCVIJLy}xk#WCMViJLd;_ z=A$rS=ez-jwqnaI#S~kHvRG_|>kA$v|}hC8Xj&s`Wn#3Q%SOJ)|bc{gcag1O-* zGi{gX?Dv%2bM@T98wKtP1sXBJQS3{ioiYVLc|8)z)v6g|;k8-|n9&Z->gc#VEwvG| z8u=<=olI=t7C0$NMS2Pb-}gd;Y1bbqrSK#-!99(?>ML^I-iQER?xZ!a)i7UEMPaN& zfKLpj=O>>Wv6jcpN2POb{59o%6rLmGJU@SRw6+izDF6I$vMr)Ku|Q8lAGP`64hn!_ z(T}~cg(o;VNq=Ci51otwphDM$fE@85;aYz&eMsg)qnRMSA)M5WA^D)V?YuaD$`tTK zIS^rf*6x=fTDoYeR9=m*TI;{p&Ib(603XveMb;D%YWd`RA4-|R8i0V|i%Mg{GkV!M zLa(poRf)TFL9@x9K;e%-z|=lGsy#S1*x zDJj}OoNgqH%gQ?XW~Q~}k%qNo)u}AUHz7^_I!T-kh{U!pvw+ufJcSNwgqyk1l+>+K zj*~GQ1fm3P2$AwE^qa>^kL)l~t}#rPU75*55%N6#KgAUtic)95!VlHrRj|KPIIC{d zHP#>djv~k#Ok)h+ix~}qtmn-bAv8fYiv+7D?3R28P3xkITKC>{C3Y+{GHX`cv!2gP zY2CZ%{4Bhk2Zp#w$sar22KgbSdN#=Sb9wekMS{mny^z|!pt>ESZu?#W@s|Ca+Hu?G z!|YlvT|n~gz}GD>pLL|ej$#`UG_5}#?6=y!uajHz)?ZWESYlg^8K-FT@r95EtL=-z z@O1|`Xg#6EFoyME=Vi{klVJb&4^8#womL&mgs6R)uWQ3iH{N*Tk;AxE9KO`IGihGU zJOugSfVH6SN{q?~!!t0h;k*q$`{_@AdgLW%XV2kmt|hr#e#&0}a!4`7O2<7gHu01` zQA`=3hI6MhRz#N++fRt7^o_9%@@bfw)u>sMqwu9iP{O`w7l=SWlIgRHf@DCABiBPDu?M}Qk72E|AY0cbW&D=HE985ET6HcGBP7 zu(DI0DyPK_77MnnbHRMs>x{xQOA>}TQ=Za*fb$!eU9o_w71gDb!`N*DR%MYDmMoDD zVMB#tG7L~^{gObCd9dUP0M19g@ao`vLJs_`LN=Bz{g4QpMm6lbrPJ>uoDtY)Cdtuq zGFZ+!=+~Ihr#s`pqgLB5nG}fq2*`RVj@Mzw433=`EVfpz8OiM8g}IW1NNlq4+F>N^ zEXTWzphORy+lr9CWtfVy$Iqn&Ukn(c*i_Uayw-xx$-lR z4kQ)Gcv^cepgy#3uJeMPNVt{2?dhJ~T+nlA=(@5%4m({NyL2EG{4>yuvdy~Y-C*ap z&xr#HnUMdi3U$&~T*^xDl)t@$sbRHYziLmkmqSJU(>N#M3A(f;qEbi+PbgHk7Yx{=NZr#?VP40C=@;trq^=zO|HJ+At#G+uK*1`v_yX$f;ft z+_?ltgq|f#kDk5{hl3cl$M^P~$Ayyi_Ko5pNr;c}v0(UZx9X%QMKF!sJ@N6lFA4(U z0zQF+&*_)PO6-T=Jo9X&&PkEgardKj&q^W~2NZC#xSDwFJVJgm6XVg^=fO1&v*?oq ztO3=S+O^zZqK@M2WG7YImK#jmQF9-~$CU&VdDKhrawztw?In~z6Td16BaYxG`oAhs zB9fXl)xNE<^ecV@NE;ABmgWVI_{UgV3Xn9?x;fF>ftX=us$ECoNnU&uAJ*#;EVcr$ zB#*ZGxUV#DPS84*$*Z^~KOPh}zJfnsss{Hjy{XEb6bvKdivtXq5@A9i zf|LN32^$E6dq@XN{A|!Cs@-p?eY`lhb#MnRBhTtZ&Y65w{!}%l4<##Hz>#izMKt)# z;_KrOAVCB4RAaO$d?_^t4QiPk*lOrqZKo4WBO^hQ;|$8YRF1ssT-jr4JRsFHU#bE?C1>QRTE; z(2uxpy7RyVikXQQAu9PIj&`sMMS2=#Hzbu5-Kh~ncdJXYcl-4$16OOFnY$44)w?qx z2*h#P&hOJFF#*_Wn2^zea(ZlCcE8`1`3aZV{eCP=2!-XD5M86qggqQ$MIgx@FCqpU zDNJg(6b9ymg^rChHadF@f6}bTzc4p~##`Fw!+wHS+!_BVS+voDS$N98&FoGe9f7|c z1;F=nSdrBNUNpUU(X<;OP&gQAT5>7#XQb`xV1HSpZ6wmfplW?jgp`&`iK{W06H$g%XwU{z_8@~vN`(Dog6fYTC;ePQ<6;A$iqoUAlP=Uq}%dIU;nI;oJ$HmBsu@mm$zpA z^4C|Js2w@!x$r3P`5%trQW|#tDGc2t7>D!kQ7$6RVP|8U3#{F=p)bM_R~w-WZMER) zMfIb?Jg7k`Ypv9YgeGsdpU^yGL>7^00UU|u5~cynBKgmS;B9eAOqNxE$}l9~!~z*f z(|WYH?4$Ncrs7A%See{HqZKr+PHMTId@V<&&1>7}h^j-A}385T+Yv!)*Y z<)!&~JLKALChh6^!39v&s57ErZ(cuGLyFVf%iNE;KUsktc-(n|Sr~G@E4NcX0t?Js z9>}}M0zoNh>YSMSl;*Th8Jz8QV)2542I2!wWK8tB@wkpPr%o^?^8?rR0vpPNCffD- z{bnwuabzHhFK0vFerIbK3e66XcS-Wy)zd?s@2@Un⁣p1(l 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

    al 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
  • %_y(u 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%0A_*2FY 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%0AEU{-wG@IcN>o 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%0DB5BX^VcPcjkZDdc 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�%HXIai!%nJ)TH91i5`xf~a*EX^dj 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
    PdLVIn316@P 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

    N3 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

    l4)G?z(Y`!$+-@%07UDXQx}mach9l4+gA~R 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%0D;~UD)Qk^&Pn)hLgim3TF$<|Vo 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

    qJ`l_ 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Ν(tVp8P7t}Rb56u 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≫4KM& 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�N@egG~$Xz0`IV$^q?s;{;L=>XEKVX@SZjVGC*!!Uj&ys5$;;UfxPaxx0+ROv&# zklv!wFONsM7v^;FM!dje-L2I#Hv3|lMatZLi%l%YQ}7~o>1_V=OLp$3_=5Up7NDM4 zDm@x)HQ$AoyU|ed4_JN;%Wq?;Ui@*FuCBQO8UA(=G6ayAisH?l#cv=R*Kh~^YW2O) z4;J3U!i6%nXONV{qjrK8)u98~H7B8#OVKc3m>W6tLOnj9k~Li6Lj$#W3^c0M{~o`g zLq*!WbL3HzCZxv13cSf0;|Ov~XAksNtAE-~&;~}{%#%b;aE2_bVEQ{Mz4Rue$0E&vsbN;&iIegb{-{N}TxI_HnaF&LGUfd?E+UOzuhI*- zfG4XwFAYcfUA65u{S({%Rh1rrTQ1}4ReG2gd6ug5^W{h{Qt1h}gDw7qO26}8c>l0U z9~p%7Pm$&xJ}>xPcI-O-@IKq%W&Ck;_BK`M@tvsbMwRaR2GUns@83pxm`b1WCelMx zy2qtx5cu7?uK;e&?IeM2$LSHVV}Mc{5Csr6@SVI>z6Qf zRw&*>t6#{aIdG2FupKLp*}q{V>R6%DKmG{q)8-ZLPx%1pKdSWLZAkw{rK7m;ApSEe z&6T@Pr5gfB&p?_T_-=?8J$Q~XSo{&)w{93VP!`0J=RTcs-r z5CGxH7%r}tUrP705N7=1N188Q}25)132CCS3qX{O8a9QgmJMLnw;Yq6= z1NA(l(!YdtWjvzNdAOc7UZ>Ip2(#Xdc~ zAY~XE9TbXR6TEu=|0`no?x^XbduzAh81A)qE}zr@ez(PebCD*a*$}NIVNS zNukjf7w_)i5Y3SSKQO&%{SiNM`Ao#o5vlg)%#@+U8>Fd1oNoX zzlq<_p)<94yOCR~e?Y$WoOy>40FFK<07O^ zSLwUCfo@ajJ9N}_vr7Myo9Q~0?gA^(cmV0pq4SfwBosflGvF*#Yi>(cYxViq z+!()B-^ETG!6I=+6iJw)%8v%9#iyxs(}hTXU!^NvL%rWp>8G|MU8U090i$sr(xF3s zZ63*|R=-_VU!Pf}NIiRUS#YSVc@aNh&ClgePkF^_wb70Eckma3xtuhnMG?7wa6#Tv z>9Y{hKfV)bR#&0bm#Jb}{bhE79x|*}pa>p~fTFKptfZjzcOemfT-8(rss|{i*Jb=? z>eY`y{K$!poB8$NnW01AFb`oQk%~VF^LraIk@=m(%;7}@Mf~Arh+l(O?9h$DcQ}>1 z=uw#tU0+vi^dN0GTc!Wbt$(sgPbW&~qS6-)L;4W*1ty}7sQsTvFDA=IuH|G5LaYA> z!(9BJ_38us#oj+OL-D0#L__iKYxQJLITv^FXDojP^XK$XysITA{F1Gx!Nl)ZEgk}s zgo&Z+DcV2K2kmbG(}(nFit(|&+|(Oio>5gen^um znZ-WW3oO$7T@tt3iN{pOwfY7-vB6%$KX47-#*eV!f5vyM{>S)bo&QIk=%B)3-cEpj zLV<%;|3?ch%K53EFjNnt77XhiAdh6{=jWmRH|Z%B$$lW;`Q;})@nx0z^2d{$U)B-@ zEKpw#pNsV6s^*VTSF+|0d*DkLx!Bc5rK@$ABpLZsB-q_4_KRCo0(hK&`+MY$)8HPR z`d-Rh2hPHmfv9xxI^-dIye>8KD#OK5>(wm$4c<=Dy()MWo1yz2Ar&!+M0$z2E_RSn;*-!Y>V2vUN_>i(NDpV4(2ex1#A$CMy?7gbAT-njzspLo z0W*TvvKHP2B16*Z|A3cxQVBMAiipL0jjH-{jR-7AZvbhG&sAy4i1B+=+J7~W!8ByJ zWh4?)khl@0nr~r~oZ{d$Y)x2IKU0_U=WG((k;uCcu#%jRKarE32M<|%*#cNee)$I= zEMB9&%)nrU0H1;cvJk_BUZ8&@K%CqH-1kmD0!LlArq&O}l*%11XW*^demjN}T~-{5 zbq%#--}O~|ihpVqApgYJEy12f=mq6h-o?USp+n!*=FQ@mYC_H3gSUj5PXZ&}oQY_$ z__>lldZ@W?a6qWJfAH$ip-d5jsy)(6BEa;sMa$#9zl6J7z#Pr5Vd&SPL^Cf~ajyld z0mX85Zw~nxB=%Gw@#j$U_kxe=C2yb+)#gReZZv-#(~8HF*zkWN@10zb1|)RU7pD>c z=|7x}^!HWzJf^>8rMaY4D!r-@X`f0D-dsT6*y82bsqk5Req7Q)@Wy*A7sSlDa1flh zFIz5!$+Zetcf3R#1un7+Y>1%1WmbWgH>nn^I34301rFC)Ej-KuIV>RhdPM1%T!iR6 z2!fi7(*c9j@pSB}Ml^>2-P~#2(4H3s^1-*KKW@pfeWnrp0Ec6ljEsbUIVIZzCEFRY zXb9{b{6lEmG#uxzIHc^NEgW+>l8yLyIlXOQ&|o%-^}~1ubcLyMY=~ySC^YX^u`S(mGA3w0X#7aKF1z5vf{c%}o3e}H_p4o!osGvkb3fAZvk!ex zkP++lYvc^OZ^S{f0oxyhO@hN>(y>ayK_p_aCeFO+_h~h4Fc9|#Y|@<8OThr>xrSnsuK?4#vFfEjrm%P`BoY8XnV{D z;3C);=hYwX->g697&Ua%FRU;(>m{G0bUA}*9(~jaU2|UpL748NLvGe=#2dR$Z=DSXJ6v1^o$+fI;DRrlf!7)EPJ4j!HWZ$Lk>5t|)I@g5U)7riF*TN;g@KB0RQR*#k;U9|RP0%-2i)H4?N zLSh9r`OE`;M8pPJfw|OB1{WKI<9XKHo595qG@K?ZxiDdY;o$^W;M1J456oF6M0e%@ zmx%qkzjSjg@LAHcLJSntR;6tMYy?4%q`R<0$g7jsT@(5t#-^&zw)lIUeGF8uWc+gi z_^KIa8D@DOoW$gnO<@eVOwBpE%>o#ui% zCOF#Cos;XQ%fcOGR4}<9n3Ej@6XChrr6Ig21pU7aH`RbPOhN#&4HmYz4%VkW(~`=pal%_zGCum!seko`d91Gf^UGy?IPTGZ#NjB|rtl^&j7`i2k#WfP+xBTS3;!^z^_Z2-q zu&+}5K04S}n|J%S?*RmM z{NKL^s1dYe9VDX%x+Uoa6@*_3dXbgi9xvAInCQiS#2%1E;M{`_Af4O;T!Mci9l*qM z4{)ZBiNE4iEYuI2j$3`9A6Qs`(C52zP&yGIEWux;#7DFJ1))o?r1qowfRC4*!FP4L z#K>yTch#V>_509@;NGEOyg9&tDu8V=k&id-d?iI1mV*`)Coqhq5kKWeaRG)bsf=Ya z%diXR-V7Gx3@Xa;0;@pxX5}8}FMYZ8XO!IfQ`}b??8;gpwc^<{_Ph_$*Y$WI$_A;Sv78oP4@mCv-+~9a}D?d5p5Q zsL#^13_4gN$|y&`IZ>3GdwkU`&``r0*bMYB^B#%~{5U(IpAWvGbmg-V(-QjmoAIc0 z<<}z>`))WzS1vxEj*+Wyf^Fh7V_MW*FtD2)@Tzt`&Pf8*2Sm^Fp=nURlNX*-G#|Pg z(X;~*avyMhqTo|-fTkwE% z9>*8j0(Hfyw&2O4S?DNK6zg2#O|llM3w13x)HR@TxCchY4wv79+Jtby<$9#Ph#y?b zNoK-1MrcKruXKkt=X9u+v|`L2=6O&8%5J>jdH`Cg@3-R|3TDh+^PB;%dd*3IxevAT zr$AwMKsWVVIC@X`+Rvp!6n$U9$jOysxjRTF9M<>Y+yL2A~K z&a9WJtogVl8Ch4RWi51O?T)P40)*S7z779Bp}Bf4ZYNs7nZPv=H_5@!>)IR|Npjnb z=eC$kcUNgysS3Bz3XHHd%A zd8Rw_Ohle90MvOag}tEZp#FJb{TJ4}g|`ycQzz}mYaEkSTWE~@l^Gy*q_XID)PDRV>WmBYzc%;*AW8$7kDR9+GXGh48)i=+8*}3LbO!W6Yt%=r{+-w(K(^IGFOdNu3cz-EvOX z_WUW?MqlULv8bbkSXzG^dEIjQca*%Ra-Hu<&$XwcbxUbCecgJgx*Vu`{*FiguhhquQYK5Tr^2BF#_|N|l=!LNYuwF-t&x+8j5+4(> zMLLMjsv?D?hG&IaI;><6q*a|$kx;Ic+Xz-7jtIlD!adkdlFeNXK9<%Wu1$!{iukN# zWY3=9h|MZCHi_dZ64FW#v15k<{4b+eqZQF#n$69=MS zXlzzDVzYwb|3YE%i;J=40Lb|YAaShbh|QV?e&DNMQj{Jc`13;`;FAHBjtYXE2DGun z7~3a0B{pz-@K@%HJD3_2_?Q6i3yjN}#EWg>U$%o68Icvil=!Fpz^tiw@kVH>ERtH}E!eH{tg%=&*=fsQ2n5>^40@LtfyC8U?@L~e~+KE31UK(9F zR=_*X_=BG_rhh7Kgvl`@an$Y1Xpugr^NcCDvAuw-skrffc|2AGtV1ML3m-}hw6)N< z!hp+))W2I{!l>d95f%XYWqRTF5=2N%Ctg71e?sH2I%qXvvis3-A{ShNCKlX@6aNkI zSkrLg7Xpi498PpxE4e-8~VpZ3Um~xCfVgl~k!G*^MaL0)Yk2&5_`>|Moyi!B4N@R~l zi;OS|(SLj_R*Z%BJctTFU_~Kp8ur=F3J1QBSge=A%p0LtGp$gpL_&^OtSYopXQ5cr zbd+!oNsCo}oUvH%k$t(zEclhW(uF!KkA&ERp)U>;aNjuYy`gO}L~3Dhu}gJ?^8~@P zUT=ZqKr2Y~%fO%b$B9NXQ#y+{Z@g(g6l-TeVbYJA62aL+@8MVqq5ut-JHPA3Av63+ zp(C%vVuf>y#9{@jpBjsGgB6Pv(J>Dq7V8EHMYtG3k{t|Fg=6&~DB)_H@Yz8L*ILBS zsXxJdFyfbrkBLb^pjO;$gE*|b;UZmk!rQ@l08l2TzU?3-%ih^>{?~3SRs;GI6$&#o z7HfVY7AxYcec58MPNR+s@h}nf5-~{`_|gNbT&Po=(O9j>nChf;i*sJpk?Us(iFw~q zr~JgjAdd?$R>GhFAU4)<#9{@|fo;Vm?YBVOQodUou-gkRd{$A5GmO~Br9$6^KS0q_8R0(*A&LMtMx zr4i{A^x6-_`rXbT?{mRjdvRE4m~p&t*RlT^_rcf`AK%c5!wO=mHao+xHZcq|ztw5|>F)hm42Gb%TD;bA%JqR&nP!*q+GANB8{`GNKvv@QLUmA6Do*a{Q z5Qi1Fy(13m8fBI6rHI3d`Qya~7PMi8+mQ>DC8e6yHjzpHqvEgvfUGdAaFwhYqf`=ec zSR+WzmlRJq!mxINr~cQ(VHIGqqGLyivs{eBDxtiScO2l>s+|kC9c3d# z&vl12NxGd2?THe39rF9$kr6ILG7w9lj_(s*Qv0eSX6qDqnN02D4^Ju7 zNPqn`8DE1Ju?zRKx__j* z>VKBeKOb$H7by3L^wYe?aDzH)JPma_1Dy!o)yt_MF)3Dy{)~ zAKK=Ar>IaF=ISn9-htZzmccZ)MN`(fm+^YKP!q0xdLKc>{)B)`oaXyc8_gB_W1$n* zKi_oY4K|#nt@wC9mU$)007_wyyIAaUr#|M<&M$kAz_05JT!#l`>SlLe3@4~q4iSGyKr$%o;(uSLVGO9lW5 z6Lf52?g^vc8o=da~sBihbKbMJtful++Y3IqFLyH-`qvh zb2=R;Y-Jj-94j`Ew(@)wN{@cyj}1$8|qd&-F1E~x8`#|y9?9igpuK~=#V8~~nw z*nt-wA1ezBtkof!8J@se^MJMPO~+cdI;;DpRCkgY>j-CcQrWrA%6hOe%WVK_3UoEO zXgrvOPq|XLuI0c-mKppw&>A0uO~eHMjH3noWLyv5ff;ZnALx}!9V>7}aFCG2)E9yxhhDK=l z2_=TU&_6&7872Lw#8AOu+R8d;;RlKqg7ayY7S0D60Y8+WfTV?rK00|JPf-!x3*SRp z*eit=P7+#p|D&XZA3A7Z;7F%5tSy-VkmPh)tR2#K-WV*aB7LVbxhRkU%7=UG67=ra zNgWF3ewIG`dbISx+#CBjQ;PywuD#~QjYp1~{-bEO&(eWHs{`9&ry>Q)2F049Rp7#G zA_q7HW&5kFrsB*%+~8U@uBgZ+emJdj!F^3>3Kem?EE1CE6|%qzWp?p_XH%5zB!KC$ zQa0PK>O|4D-tEw~tlyHhjY`KiM<;6W2Oax+%T-*$Ye>}E;E7HM(662K%#nIdHDkwH z%k|D$hOw68BV(T)6B$d1xn{*?bF0{FM>_N?IR%IL;#QKC;-ZrDkGaU<9|N&S1xy21 z%TQU+s3hX0iJ#0XDgG9=PX_Whq+0r9z>kCiZF=3}NaCm)&*H3dw7OF~IUIEtqTen$ z#N1bQMEq;mVcWlEj}@aXDX-_3-{&rOOu=5KkC0Ut;@Gh+1iMppsW^73t^^M;5qn{Z zvS(1iyX2mf$$m3#t_hfM&~1S<6FdL$7R1Xnz)GKulmV|@MnBaML>0kJ^Z1I-_vTA* z(|oO-L2L2l!^f;IL)Di;tziPb%$k~;rQI`*d4`n@9(JMDK-!J`OYHpboFp~nX$_a+ z3y%McTzDu2&xdBgh*TDvBMu{6SpDhv=IXXD+C^*N-41Z(fo7tBE>mxWrWbdsxf501 zYFBwJI?KqbMx;k*Gq`NTZRa1&8#UMX!a1>FcE*d78E2@B^AZ`2aF^JbcE;>v#{b?V zHNJsA%`?z8Iz9$NK>Ppvy)^|dt0A%dk5si8Tb%8$uro5KvDMLksEn;C?f;LRu_2i; zTV)(&WsG-$Jqa4W-Ok#A@U@InYp&56&}v3(to@}dS;=zrsvw@y>VHBjV5p+8O&MGp>ADG9JL6IKz@7Cb?9aYvq$!#4Zd_o1j8EcE{C84mUQGZ!eag=Ji)7x1Sz9D~&@0YL@3S-Bp3L|YRq0av zX&w`5IZ12y5k7MKc4lufa|5f3WS{k_v(|xj#=gmnkEvR>^ADE3d0^ck-oa6GGD`oF zlL&Q6B>N;xPxEPYhZgbEsdy3K#LB0e@CnZcKtR)3|N^6W3gJ3Vx0qBd_afKICq;x}~YTx}lj1k&nxJ4WcxsoK2v zQ2hU~_crixl~w-uBr|P88hTS2OOY-uHfqa7sf5*HSjkQAzzodLx>Tw1RvqjwNY$v( ze|2k3Ng@e1Q&2$Ae|Kf~=dQ9V8*sI}mS&Qsue442UMkWSUm9YifVN56Ccp3ZJkOoE zcQQ!}g6ppMk><{Q?%Q+DdCqgr_c_lwM*Rl-Ya^F;U3b1wzXCsSlvndr{5!5@F3+L> zgrqlr9zzkI^4Nkr^bezd)F>#vNE0TCQP*9Y7jO$-)P0owXZyo39$W$&+imZ87up|H?dJ}-?SG4%73%r-_o4mUs(tWs_xsK- zcfar2i}M0KHL92A)O=Zbc$NJ7Ue&ie)wemHcc1<6ZSJ$LtAYs3!iRqcs$X^NcNj+M z#oqyAd(K5;6#1}KY9^_&~HN(EUTuAD3*I@qWb*FWhsOKPb?@JI zj(h)ou*!O#sXHDu?y5)MjQWq_L8=qeYCeX~pICE|bm9#BduF$(UbD5rea-t2cBkoo z8R+vxhDIbu-BISY|M~-N`wuQc`$tuK`E>V78s6i6$!t_u=>7oO)!VN!>eoVu_->>A zY4@nXQ4IL(f8b#c%h^?uZM^24cX!*{)(z5%z($e?< zTENc0;}7B=CZOkxXw)+^eBJRc8h0JS>6!=Bhumt^KY*V?gip%9=iuKE2AI5_sqPt| z+x;&2>G_(0MvRo?ng4-L#@F1N#1}W=A>F*M3A}v=?z`}x<@D$NubeLY zSNv%jA8RV?ZUfN8UM}nY7JEEjy7%||x5rlJ|C#42Hrzlsac8wb;m*Do5Uswl{3fqu{^Vfpu)^6w4uZy7!yXfzyBa(fX*Ge!$Y@)^W) zX}QeRBfEub%bp3*1Yt27V_)t?f#; zvGFRm@%yMv*YgY>`R#Muuej}8_bU!e#>-2Uh6o>V+o!zhwkKahdkF1{9OoMK@57g} zi$?w3iZG*VJ}X_e)maQNJ$la5M>T~?5$(foe8z9~yRZ4fi|%XA`wd?6kZL~gJd{}%0E!1LAT zR~hyD(RD@s`_f0(rjN#{qmOHqIzzglh6pPjo%!!B!B(RLi2B5HpyWjP9|2bsH~uBv zc;Y9#EU)hP=Z(8;e1=hfKK@1F0aXR2uBX7L|2aNi&fFyjqiQ}^*E54v5-zEkf$9WC z!%tQJ?4P;Me-cOP<$w4&xW)VMaVt`8``6pu_Gj1NPd;pRi8DZoFUJ{PR`rYsaj{Yg1^v0GdTLK7b?j+P25g_`_vAWO&Ud>w4ae z;v79^qBuuSkYyx7DE-rukJ3NK^HCubHAYaKrJL1XaNGk%bT3rL*TMqo{-iqo!oT78 z8g+b63yv$*@naJpI3L7uT6=T)IP`^Dc7^=^C(*XRl3jup}}7xh0dmHhF$Lne%` zenBp{f010UxJpkL>z2#u=4Ltl?xrCV#^@z7Grad}GBX4)f69dMBTSH(x@y#PdCom~ zfp}9fCyd)MSkm7-72j;#;u7-ODwmMw--e#fSHtRk4Q_i~quc)QooJt>+CNjRDo(tH zp@BEP)OQBBVV6#gB}d&kMOU17pNWbS_uivwT3n)UxF5O@H$36F;S=r+CoaGZ34O!Z z@2EHY7G@M~h`lHChUxANn|Q;;`i5;^@RixP&hv(2=jl)SK5xj=H~h1{L6_NhkLQN9 z?hUu{hR*M(K2+-)beWAm_GUimKKF)Myx|A>hAY3VKIw$&L*u(MH{9ahForjLUf(cI zzu|x)>ph+~l({$Tnt>bsPT%nS=hYiHQG!aJ_S}%~-te!yp@=u=*#4=WwS3!oh=y2M z>#`-Ki?RIxPQxq2f~t+{Hbk9SaR)i7&ahD{q{2uNzyLTAZrEllUxgQPFjqy)-D(ZS z+!{gAhe*@B(n!oa7QxDHm5m>ZS7BVXT2EutTyCr$W2`PYJ9RMMPEN)c0jRk;WZ20P zISw}*u9n-8_fA0=b*uT^TmBJW<7@=R z`rT?AT5$VYzFUPOocX84_-nK*uTejjFT!6ekO!s$wcch2pR>7PqTL$X#%&~HQw<$8 z@3R{=W1>CQg}ne%!qc9$8+P(1w`btz4!hxb{@iY*j^ih)P@tFi-X~y=Af#Yrs}V*_ z{PBsn8VP3B<>Mg}8?PRSASr#7-FW?=-8jK+ygCmA3PtN)hW36H!>Aj>HV{Q73Wky( zjk?hFGdM?jg09<{(|$q3+{6`5p=-oEE_98VJwn=;xoH)t8w0WDx+D%7tBcA(<_W>| zj2Ny`)Q*$dm1r_SVC)2{!tW9Dm+ zmUAc@6O7eC!r%|!6^L6!2-va|4o?I--4*auf1!=5Ct-};D_??<#5>2j%O7F|c~&-|h~3HSUa+ z`^@{*uxDYQyVS5pfc;$@=SIu@di3AV(T@x6@DBTpGV(WIXC8K~Jb}+@#lW}5wl<_{ zE`FTK$;J_exM&!ATB{8x*3}2tlwdb>rS$=}YoRZYzIKsC8TY5HXKJ-wfAYOJXO*!Nsu;E@84=0`%gVrLnZKjf+@R2nWj9D(dT2-0BVXFPEL z)g2&Z1f`Z^Up7vvz$3`0?Oa&O#i_Dw&jj)VCsyMhh-$pyS4+(pY`X<BPn`M6Wb=2MhS+vzY`o)SrPFoOPrLMq~BwEUNrOGi&jb(GH}z=5fO zWat7&CeqnJB~OHazKOEwGL@<^I=Gf%ib)hAdYwq<{BWZYZoD$jYMcY9To;O!A2FJz zK^kokhr$qX99JBpiJe{@>12zeLva+VKxt8LQYHkJF-GET+vBaVJ;+qo_BigbJ+4-^ z$MtX99)F_AHcN^B1t--J>1w(aq@?eP}d9=#shgXXVI+k<9i+V+@7 z+XL3f+qTEswg+t#qvgNJ_E4e<+e73Lw#Sw5(2PHa?UCMBo3@8D8yaE>Mf{kmVWnKKhFUsIgU~1!^$|jMbyz$lja}94eAnZ`HL|05w6m+ONu)RNok&1(8($7<79~ z+`0GJnHR%TNi;Xl#OiH4*t}!rCxPr3tBrW_o1wTs8a<*;fqXN zYAk;mC+K(0jhHWkWch^O%wrI}qL1*iRZk8fSC;C?m{=l(wu@MOx30T3isFmR=x`jJ z>T*ANj&tuCc8VW8C(&Hbj`8Es=>oTdZpT!I!n#A@LHsVX8pH7TKF1#E=Hsfr;S;)9 z_vqv35ji`ZoSn%<0q_{ul*?oBW9c^#&hWag;BNJ5Vk8mg0^2!en;5$0)1|dSi@z@z z1f({L;9A@{pWs>~aU_CJQ3mT{IUP3vR*9M~Me15XE}&|t)(|saj3z7bvxh$;z&R#Q zhvRCr04*XhC(AIxMmWT`|I!Zbf!7%_377DlpdSD?ji2xYh)lN>3q;pr^lt@~CxECa z5>)|n5s>@pMDsF5+WrY~r@4!A6ANx2CQuP`>bod6#_9;<(VjlQj5+v_mbJJ)0k0TV zCfG3n5|ZC&4d72tE8=uD=4n}KtjxoyGa4)N@n?KvC026VMzivPX$u|#8NLT%!cRUT;fK3L!5v*1 z_Cp863xFFy;T6u-kO4S>ii|E|UNdPepm;DMVu8JxSV1CrW ztn?Cq93%OAuz(dv2ZSX{pdHQU3FFw#ftYz1um~`*X9$IX@F5fb#NLOTt@-9%#5I7j z38;|_Y2ZE#^t}_7#Qhr0xP$11hVqH~O$8JJZ0>#nAVlj3c0l<9hO?3-*f+I-C^$MonNhPxx*s=t6a`|=LG(We@hO^288V?E zNfdzT3W9Xe#$=Ho=)7=JaJ^n*NQUGjvY2RWQc>y-mlPTYx?hn5;+zty6peR?NP;Sg zBt9D0IOoEX;c06@uYzM;SgWw60c!1?$b#E~?9c(YQtbbkG^@gmXJ_a#19Y)zKzJcW zcUrBW@{L3jJG>Cj2#8}^MGV1pV%W}FE%>Kk4W?j$T$s4fn6f*$~{&3h>J!ozzg z`9_P2+d1SPh+e4JTBq51j~8zCF!f1%LTj3{Z8h)LaPzjbhyzfz8`{$B1^V2uv1W|0 zcN!LP&}XujY}PEcHH#zQu-$kzNCW*r$^X6R4N@zE+C@$mwVOY5dBbC0rS<<%yBRAN z@kDpj*&~IXyJT$w#xtS;!EMELV9a7zvoK8AwpD4^*mnMi{hzGD9NMno;`v~y7cSnp z1h}weJ}Epl zTAn0_fe~APihw>Xd-#c0sIgdUQ-5b9%y}% z`qXY{^)R>1ZdlKsveal#+lXJ9*BfOdBUcyEyuOKc<7iG76~K^e;7TA}Fkb!(qxoqt z*#;U7uh40~u3SW)R~FKTeAi>1BiTAkNf!#_Xc@L~@?L&dmpf?*PqT#WX`> z`cjw}u|#LItKXezjO3@lZEPSgmUm$_KztSphG_@^W2uk@S_}@x%om*RkkGVUW?Ihs zE$60C*tx9SX(AiK<_YIRsgwDZ`3JK*bv)nPn;O7u{}N$zRK~*o1S>U&^myx*bp)mc z_Ja@P$FiQl{=q32!cUS*U>5lXUXe$^BdCaYQL1;`DEc23xG?HiCl-*osU8l7bs`yh z|M0B?$PIpgf448VD+GnBC@H5Fey>wrJv?3|dY{4&rN~g9rbvc;FJ>>0mvmT>bo0sb7iB zz{5ZJjZz<4HW&5Pj(P2UR>(A&9yghFw&BN(xG6E`!`e-O0_(<%SRHq!(o30N5OMw< zOr60=P2gst%4FlIeiFPs49JNI$eI9q1}U6^cROjScUjm1c< zGFq-UA+uR4rapCn35_z&hSjq`uDlZWV6D1=!%349f*Lx84!^I|QBBK60zZVpu>aieyaiMy7` zL@Lk&`m?|*EGhp`t;A5hAj9zN)&Y#h>1ei`ZavhquE^*6F|BK1M8Jnn6I4QC3WseB z;pqiKTB(}nQ(~0oit(z|N+kwwTaj|uKOyt+FruTdi}bvjw6P<$>~Or;Y*) z`zSBqIBEtSXC4A*G|o1$4nHt1_!3n9IHRSTi}ywgf_9K5sE#6LIa_ezDGCt&{+Ckv zj#ywaJ6OwJl6k>D1vISn^S$B(Seu>#hO~NTfb7P=>}2Tdv`}O}Hy^DNhiwf(eT^T| z8Ut7{_4uhZz|Vy*YXg|IgIl0Bpl~1vcCgh#ki{sma~C3k z3V1QorOLvlt4>(JAU(shsglF|gYFgnR)$t_XClxIgnwenoJ}7Pf&~ky8rl_AE7{wZ z(QOXgNYs3l<0Oth$O$W5jhg-F>clIY%g%Nu$Foph=#)@rN$3oRj!_7Thb&UKit^%icu{bEcY%xL7MKA119*;96_24?7-sEi{5>25M9S z*huO-On%cqT5~#yG7{r)asWt!md#+VoV}Z@OD-cjf^E=0gM%(b;f8rc4)i{uFGC&+ zWylP33z+KD3CaeUQ2Y4|qjs{oU@T%2)6?bE)SL-q|+}3Z6# zAug1!(K~spaiF}7L;NRSW48O`YeebUbugFdInjfn_p}L|>i#lG>-C;KEdvEh zYyVTcCto+ST~}Y@h;+vs<8z&Scft<#`K`Xjk?BrT*iZMBBPqCaeB$t9<&F7G*eik= z=&#pr^0I7*+vID^oipvUrX7@F&RxU{iHPUF^)2BQW~;vSm)6v zxFV;QlzxVGlo+|Coup$%^TW9`aQ2?5NZc7;c6iy-l3td06>_~IdWWShuo)3cz6Hj3 zyL7sdJc-Stm;R)*6+AMQzenO5>Lt-y@*83zgzo0bA$b<5KZE@lWW(41QRy@P*~X7i=B;0ACph z*B*dA-_ii&KN0xy1wS~?>5YlljYvcS0d8T5dw33;oSgQt?ZBM42dNEOTdfE;?8Q3Z zb_CK*+hgMxD}=J`$>vYr<|AkMysZ++QO|rr=2oMgvy&ugc@76WffojV7dC9fU;9>- zo%b+~lOKCm>i9bttb`g`WgWM!r<`~787otx01^xa_arM{w#r(qvd-)#1U%i^CRg_Y zpnZo001G!5E7x;BL+W?|P8RS_!!O-lykH$`Kf!D2pTk(oY@Y1igrEAGIK}7>3U=Jq z`TrR!Q8-P1$ZzrRWaSnh0XPBj_1qCtd-i}ml*(pHwc)bTu?tQlOKQ1C?ZlnlWxOdyZ z(0JU&wNpZusoqdHxW~p59>j&b9b_2od4&5tcm&?hr{M`eVegf%v~KIb!&~vql*P)X z5OxZFi=U((+!+RFg$To@qI{f}cQ##^->~m%p|X8Fqsm_}=DZNbuTel~dd7sye-Sq3 z`~n+Dd17177`uG8ZOqw?SFv|tt^qX5XWrV57|Z~`_1oG%hHZd+wQa7qZf)afcL3Pt zp`MD=@xSr$GIe~i=4Vze|2U%*sPW~UfJ64Lk>^3&CQ|-74Bce3~ zV@(XAUQ=*11|>TV=2K6ctu`aO+mAgVL9>FW^RyRwV!2mO_@jiB9#GmundG7`pe)7* zpM#N;kC7)k!k{zW))h*5yJ=z<3^3R}^}5g*+ms zuE5C8r7MuUAA0C7NLNJOu&$t5;lh5x1-xtVr|%@T9YvQ}|nB!&&% zFj%4v@avtXQhsHJZS2|ZM9*X&I2WMuqRuD8j=`58$k_&tehFjoWvHc19>@L^#Va7Abqx1)SqZmIua)2y4|IPzs_-fdT1DZd3@b}F% zf1aR0nbQb*ob!!XLK%B5Z3%5dqqc;sx)+1pZTPLf@Aa5M-HY+|nA#^EaYnR;Tn%U4 zw#H`(d9>U8*_Mz`yIHrb%d&!?+3p`|1wDXnJN8JL4d#zWrL7$kZYmuQ6DZ=`;jw!x z)H{XUV>exfYwu8o&n5Xn)U@@p$C$GxZT%EI39levmp=!K=Q*zlgy7^khjd->9UbAROAJyz`|hyoBvzI1?y|Nu+$h|@d!7PQ(04gL5VGay9NCAsfLymBG$3@{s{(tB0>#gH;feA4f~dUh+!eLQX$8?bp+^i z=pQM2hQJ~k;N{zwAREEcrM0|Fe+BjuAZfs-Xi7dJck2ZESQ+I$VK|r=)fmW zsRA3GbA7=*X$|;a7!;o2(~abYZ%6}v-Kzm1Z8;o5sJ;)-K66zcHV_3nq4z$ZJwVZW z&TH8DM7^avH?hXjDi3!+X${qPVW)@A-jLhYDovTb4fAu_RYYYU(QMRunW6foC^@as zoZpDVhMkj)q(F4vD>;?iY$!S5ol>eE9*v;l>;_-BI#nEP1Fhmf|4^`-wi!3}z{7*e zaI?)Sr6vkM0jx;HqqG|p8z15hY0(r=aH2_?w;azXIPEXOW*bq_rFV_Vwxyvq+v(y= zuXu5$anNI~Mo)fY%qeiDUW(=aI-Kb$SI_LER$(^aXXOBT<{lnU&v2W=5U6PahRG19 zsjl_G+&~i={4i6ARoC|5h!|72;g?2zS4OAU(_V0mDvFUZs^lwNpHaVEqf2!uymD{P zJ#QhjH0sTPmPWnF(9-DBf|l&^7hpyKYjUBbaQO~kO*>%1U`j*Y8ti>m&=OFl)c$<4 z6Y**LZ~$0I15DO!Z6C{mmd?$Bmd*tm)36d)h)Ea5RvXd7G_-^)Y+g5Uup@0*xzJM3 z11&)p1vR!b2r~wXco=NytHhRO<-(TUaT?gt7|=kQXK8GSD!|oj8e#^vbmD(Aw)EGk zALv~D$#4?%gU|W^ZcPhzsM9qvoTT-`n+7NSx9JDKNpDa;3 z55$vhd>c>lOf5s!($aWR(zS7B!kQ2p=e=?O8wXkIm5uWboEd^ADH|u%Uy{9~=CN~t z2dM=$tgOj$o7dEVja1Op3p3|&PA6iKbUndY1k+%F2ZG3271R@?Q9lu1uGe3>3vqm_ z0=zu74<1yKZU5k8^Jpw;7`6C1u&B}5SQNRG8;ioi8&-u0PHA(g=y3&3`LHN4niLiVA5Cnf z{b{SISIi|~QE=1F74i!+JUjr8&dnADkG%wNN|xfRx`RR2Z}BKWZon0TDGP*BY7iil zww%%^ls2Doqfq-iPTDD)Ge4sKR$@@~Z(~q@MhvRj)te}!qV(nrIe^~$iK{nRLoQ2i zQYFzhgoAeqAMupB^GWK;i~^N_1Srl7uwmoa6HbvA~P$xrP=!SK4BMEy(bN-1K*08EF4Mt^Q_6oxqdfRDWSffY4u->?G{Ec!P z)9{rkN>ORZi1R9udU}#tH44?UiL6wkpV=d*MuJaNjfAfVTv7EwKZg7OmR5)v1dHeu z%CNaUo(81-=+(U*#rQ_htJBDpicC9hp7u#m=cP=Z_Bg}}851xG8Oxu<=wxJ8mE;qb zEt|+Ep3c**@`+0_aoHi{Ng`e{K{AJ5qSL*E#tzBTUT&R6o_3wEnR(hJ6%00R4oTSj zm|k0y95FgNf_d7JEM}vdSfP!XV%9QK%odJiNuD5i+B3l?KnT$2rbR($Aofu*l>#!c zt3>U{9Rq-VqDtP}8g9IH5V@Pfjbm{I^P>Wbm839?jAf@3_zSHB7ywS}&6bCcS9g_Al-JC`@O#Ck6N@#ks3EY8hZj6h@l zog9hUuf*BYO4L4-?x-uDl_-1l$aFuO2`&Bvx=R|1{)v(~m5ES=3E{?ZB-vb@ygl6b z@jUtmp+K2Op5krMa!!UgAf$1`YphoBkba* zoFLVWO3@BEi8UcnPSlg4J#M}hYbq*@nmycNeGcWKoWhey(hjEXQtSD_PFj17cr{k6 z5Cm`;)3B>=v4efQHJzj#LL^Drw_%T zlB8YY09l(s)k-i{Zc~|a!cNL)k<2-kvlS0>^nL@z58$V}bz2fqx?`RTa?H@4EIONT zvSiI+MiuP2bhGC8(&X64ljAA_d)j(W)*S9rTr2{p(p_7P$hwY!uVpaC6sgS09+I?Q zNMW$D4Z46*$SWa^S^3$QKo@|##5{eeb$mqwawo)gb78-M{Opm0iY|m$xvAO@H}R9( zu-!AJ^Rr{u?H@$MluH2-CD36zhjOH6r&YfIE3Iy>ouR4O54!KE>xiJdB&D9fuM)jlZ(Nlp9YesQ8;JQ>rBU5eZcpe_p?QifF2As20<7 zH5?8%juGLME^B!VH_m}}oRf#V?cgbLv%h9EzXy`&=4Ow2vOIweRlWr6Xk=UkG6Cr# z7C6DE09PJ|kD zCR)JrBZc4$f{|mTv(zTp1dW|Oa8sogy;Y?cI)oF#RZKxcSPBbAGdsCBgn)}mXG!@9 zVPmB;x!gj^2&c%r!nx!;PEfsrNWU_ek5mfy?w~q@iL)9z#gzyk^ANb{+$|gVWmmu1 z#}q{UmSd=$;q|5Dx?-*6Tz5j{QvhGVT|8<*nzP_DWaJUq`j1znr2=^)A#Lh6InVb8 z(;NGT@_^YvKH}Y8oiCR!QaZv20;)E4_r)ojrroF^%VIv)+*T}8V{QkNl1ndl#97hX2+{fNly)oH9T>vGg6)~@!K_EU)U0@3;E#4w#J6wEE9D?I&3V8MOuqC=BylLxbrQL> zjpd6)Z1u*9vVGh*CWe6RyyW!T&OzJh4>ufL`o0)aXgR;k%4Dk&E$t<{_lE4?pv?4XrDX?@*;%dO+v3#Y0OTKt5YL*w2)< zyBMYiQx8e4xtiE&JL_!+n84AcNZz+X#%jbF%REiSYE-ZOs!jrx{x$^OwK1pUSN3Ke zBy#>ZO#V&^;TCeH@Dm_A#&y+6TfN`P!Ga)RtT55eLJKpdnyJH0SLOTe#ch?`>VEmKUp3m3 z(Pzl51iQbjw_Mv%QBx$_2&co2{~;{*QhfgS?0r{I*pcxMHY0%9psF%ojxnIe=IJP zd`M7~t2mJ><_33WvLU4!c59^)M81`c>6~jI^G8o$H=>WF78O;7;aRPDEE-64;Uh2f zg-c%xa6_sZC z2i2&fFyUi=1vSkqf9iJH{W*OK&c5??Vs@2Xin58^P<^%u#b+WpBC@*2oG)SD1Q40I z(CzsD+ybUAoG-Gg686*PGdC(111OyE<{)eZn10-`8|ayk=3lOJ~eF{Es~jvg%wUGHI;i^ zCb5y5cFIj3M^;x!ZYnEdEM{l0@-v(Pj`KOKW#-a|hwJ}2oTYfGdUH&^OZX)2bduXJ z4_}HWUXdyr>tv*i0?nqX6&Ypm_`hwVvy<^EP z_hWfmL_QZ&v&q|I!>qfC8>z;*PQk10hyyX8gd~ElDXbUva+Qh z3u`p8FgJrN%=aJ*vxY+!B%K_Qh1{TmvrbK3k}uBe&H@uSc$KG#gmFX=l-^C_2pWt~ zn1fQxl89Im%)zM1i7ce|%7bpmn2?#hNOfPMj9WkByzK#N6_oGgnl)~2{GAze!H+C> zZyf?G_!{X}R%JBBkneJhaCebqGY8o$FTCJ|7G^5v^3#MCSag8ULe%-Ff))ac25|sm3RzH`*Z2Y^o8j>VWN>_^7hkB-_yTfApAugXNl;AB0WZvlASmF- z4=+?EIVbU}VWGC^Ix9` zKqpXXi!1=AEa1%H%7GtWsGzN&BSBcc=h?RoU%2(pjW0kBiYCDkfa>_`!56%uV^OBl z7P&9spF$XrFEA&%;C+Y-E{v6=sLKvg&p{$H5Q8h&0xx*)9D*+R8neL#U!$wm#tLM* z>;PX%XLlHc!D{lN3mdaNvp0+_eD!T?;V%VS@QO#}i7aTr*O-kgq#J#}!Z;ULP{QTG z7ktn{`ex|QA;^NSF$-AmwF$0(HzJ32?-Xm&mV7kPR#> zFp>=N66fq=TJz4=zycaJ>S2zcR z@4k|DtQS{M6|v|6D_jBO$$=}xnr?wf1kE?ohcFOVPzVFD26&BFSh3Rx17V7p8e+(T zV}Lz`oo>JiFizdf{IZHB5QADZQ#LMO1+1iKSJVT~0A)zikRSu7m`T2tl`E>kzc7~7 z>N=cWb<0l|w^Ph^Z9#ba&R4W^F^d)i%n0CBX-HS>h_?)DVBHPkK!0UegIDgE^ie?) zUZ}x$#c)W2_o7^U_rVP?8a*s;86IjlW!^UzYuFP(IZrRvuvWO)EC4vMh7>A#`mu%{ z+c~bWhMhnR7%Bm*p)j8OdzBoU72ySIzz+05VhxDGlVVjGYv^~eh7S{KxDi-`E{p*G zCm&Cd!U!(b@QWc>13otkYj|2?4LgA~tW#Knd=2c)N77h>^b%MDkSh<$@O`zKl|dQW zHOlaPjnU>r85n?ph+4J0M65x0@536}eEurZKr8V`gNhbFCNJx)0eyuBY4Bf>%kWd7 zA_{JR&W3EH6x0yO1vS9#8g|~|_|4?rMlsOtbR>hu8@@z6&5+3xGJQcm!^eit3gxVU z2lJPflT-w~kK_wG??L8mzzaG|fyH!Gz=D-JfenxcR1qVDF<{}_*$V$)l`I7c=p!y8 zp>SCO1nNs55xV&x;ueCv*0MDLz&py{g!RFN2r(3f;4>8`u(I*q;hSlmoIh+cgCEjm zjG)k~UVkKlua=Q_nVP5o9$A5%mk2w+vnAv}`GfyONZ=k)+*tsSS4SJ%E@M+>#uwG3 z*n{;5MSYnH1!=~7hyq4>?yCd?WIi;*&PUXAC^e1x90?%+@=oI0W}ol^@tIXR!T=GP zslgx!-p>+8yEUGJS&w|+60I;u*KAOH2=+#t4$Pk97^s@A)R3De={2FD&E(04bMr)G z4#dLF+H{GiH_8_PA-RNxuKI9%`R+)w?67z~23OTnfnrXRD01|g33M05Mp%;7EpkK% zKV9TV1pzQ9NCE-ch3mlYBgwBbgSaYmL>xbEwsHA?0iIv&Y$9-9;=E?GTzNv!dVw2U z44vkwlhgQ4!A;JHK?{0#)OPSbw{_zF8|HTooviF`T^)=u4tMq!B5V)0K~WjjpIL zlfHMU?A9S`loo=C7;}>Q?eHWrwU69&Q^0x^Tm%rq2PyRtG$J+AZY|^(oCW!@Fs|JN z_Unh8sg+Llt+RWANwCbWmIOwsaWp9M;RYkVUE>JaM;YpGZH*&TE|lOjU*2x;eQths zDWnR9bqrtah_PzJS37c7stP1ZfzOv|LP8CsxL zT+un)?IQq>u6neJ0f#w?9+{iDer)GmFg?#P=%g>9_fd3TR%;j+?v#TFvFI?xCI7bM#q_%?iAf9qv z1!#f(XP!|1WB(vj`zTU94 zkg7d12Wug<`f4E+J&fTXwU7`iHEb;;Zijx|wUA)#q)Xu80jI2m)bFi@r0WiQY9Y1h zT1aX)#R#>KZV$+saK=f`ii)8hFV_rTE(yquz9j9br2|Chj(KV!`S{3^NdGsds@D9= zjVJp3vP*OLWsAT>@ym`3>zBQd%P*Vae8}sULG_2AqCI}ufbz>&>GJ2N>6abJ_RD;Z zm)GAFx9mNx%|%V-YaQa1d0TTkW!@{eh&#dxp2v3>@@53@NQqf`V=R!=TC6-WWAAZERRf=1{~HSyJSi(kL;Dx@yG_!9vLEgy=L|>9vSTH;XE=Qz33$SBDsC7 zL;NvsYe4L5kQ9?kRsOIXJrzfM&Y1W4^pC|M%jU?6k(AI2>u=BpW0q#|!F~gI`fv8Z-n?2$*$&v>(E$sghdu}FwZB9M zEWN0gy{0$BcJMFiWj6yVrw5kheN8`=_vPxQ-1gxc@xLw-MfE@0|4I)~(Hy!sX?mwx z*4l~+=pI^uHvJG^ZKWX`>K@U~5Z`z>{BDH$N}u!07Jse2SDFD@{||M&d{^Z3ywX>s zov$p6gO1m~<$2i*A>&L&{p# z8bG{L*!-?qRNM`u?7M=aIcsqE3_&w|?RUjFMXf1H?8uQgwT^ySrDk8O5KKMqkTYsCh& zO5?Fmp5R7Jp^rwKs|)b^qn_Wz-rxM9Vq7%IdlI4rFE>9@zH>el#jMMsjO z?%6OQfUNb?pCihUJaf{uXP`isjY2@lQI9V!fasQOICOpevB5)azY7K2Icqq*h_N*{ zJ+=;YzUm!V92x$B#mxr$aq^k-@Q+zN9W|Xez}Dke%-JNn=lS7#@LRS^EX6054JNM{ z3@5M6iy&vnENlBg=9-yVwr!Op*nfrz_HE~6ykW!A7;ScTT6SjhK@Z}GCzrxh$Y~&+ ztjL#a`>#aHyO?cXz0dtL_j~jPMU(+=7EzBOiyQ|6b1(3F<7QV36&E--uXaL(2!JTD z5wU;_B8&A#3rV%##}haTcE`%wm+Z`bn{2qTv9!mi?LrK?!qmw^GWU9nJ1na)ImCvg z*d^(9?1!Rn5UjC76iE@b^?16(dTZ>}3vO>7!sqqYAcjjaaaqe=gpD$W*;A;GY^Nja zY?U%5w)qH0CKibw;jo;YESVT{j$lasr^dCP;ZVeoT&{=aw>V_6UWdJth@wK4|Ffmi ziKH+|)m;2I-gCJPEC@MEBsR~U)@nCw@TM@yD)j~&v2I{u&865(y1j29%G6+Cb#{TZ zz2Dm2i=QR@S&W0wVv@(^uuEQZ(sH(M?_Y@4o{O39$Zjl}CAUfbqh9(l-lhC)J6XMhEgqWV4VvdYg83&j=I1V^yXUcwIrpJ5DD1OJB-%h}Uc+|## zp$5PZN1n=B9LZKER+>chGVF2MxAZdC$O}Go*qIa?Fs@BfPH&?*q`j-8)0}bLy2DQo?SW-57eZbrjof zFzS+e&FMZpLHa^!Y`wFoGaO8T#7w5zi|=gZen}gMHqvCu5DcS`y_IajYxV~>rYFya zt(m#gN`9NIR&aNEr>Zv;a-s2g%xl>2V0?bPaeb?C{f5_!Pqg8`jjvT2<3o=|oNEej zO&i*z!97{b=AuVQtc$26^k$yIW1R@v<(d^D(65<b*h-BHmXy_IK^+Bz^~%@pQ`hdc z4QJ$Gd>xJ?zsKS@FhVh(UW#2O#`1&suH-jR>Ej#7=7sDep;=*P-Yh2Yp6!Ijuw-Nh zY9x&+0P%yJ#_G{bZ`ZVF7IK=vVBD7K9RqU^+x9zAAk(>UmbI)OvJ^1>v2|GoZ@D5_ z6v4*cy8U^#uKxuZkQ{tgL9(R6HoJHjN*2{3fgxVNXJ3(zhliU=X5p#9mr^G~!9!)O z%TDSC4t-R6-TpCV_hqBMG8zfgz;lb~>JXN}AS-UUvCFYEV>GL^&R{gLsp-PT?kONd zEMb>M;tj3F^6~h^%dMwg!q-Iy*GE%_f-*T@bD}O)G22)f!T>;7Lmb%~^Q`hs#_DSZ zj1_HY#QA}Z!S%HVYt`wHv7!~H2iBvZw4$(6ZV6#QS8giwwif7CJXp0BfMU3}uoL&n zeWTr$eD8hv`o5ssI@;S>tXoIv)^SK-Q0%=Rq%X)<7p!OPpkMR0JKlzek26}ZDxhD6w};B`vNgyx0qZOj zZkjxUFOrw^S<43X3o4T(bDcKKvDN8!IO`zD2*-mYkFgrL5x0Zespm?@GSD$1oANtA zbezNrRj8a4YF1^SM@JG{S>CFSsi{m1vVp=Q2aVv*^NX z9<&A5S3c3@-e!KwPnpj@dhDu9T|1?x*8fxMmm zr2EiO-b*oZ+)E*gyj1ujPYrGLURjj6vQ}MLPM%cCu6NA<_qyuZfVW%&WJoE17Cj@kLL~I%_8!X!wONLT0J zm#XZ9#`10%SVvJ~BUE;n!J;8V=I#w6Hai-}yt)bo80HD?QFLf*fMKi8iU)V1uQO!4 ztT$HMGvNGS=pbF$%XwefExW#1;cNj77rqQb32EN@P|Btq8Q+X2_ZNJ5x`jLm&>-oY zAz@?X29&vS&xvn=bNj5iRWdgj4cOw1<<$m`|JjZ`HFTvjZz_g%1!kYAm>q7bFMSYK zWTqgzoF`^C*;A1mXq&zjvk#`BFotD%0qh?3XRb|_v$t&`}E$c~+HwaY`pzgI+aFbQO(fCIw zl`(P-9~<0&Q^`oa5l@ZnOomqB@_^H?(~pnsbvU(gVykHU2*4V0YJPBU3~9mYIxw}Z zDJWM4h0#0}!WLEJi(rB)X*}9Kx+aL*GD}@jt5e}#e!cCn8!p{9jNLE}f|S#4_$|Kp zf4bc;*19uw6oYs4@W#VbnGap#;e1ddV?0d2uhTakf@-G6e4fjA7;z$}#gQ>B+*v%& zH3Hre!()i?;MyKp#>3HVUh^SuB=aGc49>G8KGC%u9^G@=w!>Ude;C{0J!tytvmM6X z*+yZe>v~%D!|!CCO4|>2YS~uy1A|;fupc-Xi~TTkR_4rFs7(V*&1w5V&z+|?C#wnB zJAHdh2h7TR$#A9vEoME@Ytvz+-k8Cvmjn|CW3NxbO=(^E0p`+Uy&+{7+xpg=! ziAZ7*^H=RB`Y<=1=o6riINlS3-=rMvOMW!3Y~MA>68TP;q!j@;VW~JwQh++xxhi?G zBIW>4_>W*DmfQdYMXgd{`C>F&Sy`pZ2gt`Pd?-u1OP-9!!U#32*aMRT+^1$Gk0Z^eR00zmy7Ay41Vw;`oUQI z;#bZRlHAb#`e^aQz+*Q@GC<>*T=bxy zfTUK@#4AqUp#K{6h95!m)GjW_H*Wt& z937pF_1D7Me<%nUw=);{ibQifg`%vtM%0z8`1#%&*+Y=Y8oq zw0&H@;*h-ci|Q+8yO)2*eMl)Te4l%k&Xhc4oIIq!30GVizObgynO#w~;nLX`_7pg? zBRsmq_yNjO?`qg!)YCkMt3uR|I1{TKU<}yK5rEuId)Z;w_gBC_m>x;a4$@;t9Vo)@ z&~zjPEJ9@O(rf7aHR3L}_A*zhs@3rL5QoR2$Y2L1mm&Z)GB{)nX#-k{f^wLOmcO)Q zo67?Xgb7@e1Uo(1|N16e*%+FZ?Xz9k7@L-d!G{n`Y%cvhJld~E_O5L zA(l>7{6t~02Otet_B{WC8B8{Hy~bp3`9Hv9H*EzbiyLm!H#~%_T)5%L-)3&O+r6QT zH+)~;@L_$!Yw8WFJvZF!-jL55Zq+xOp>H^(ZdmTQ;r;FnT?=u;EZ#u-pze3`HDjb6 zF_v*F3L#Ed;la9>a^Sg^3x%eaA@Bn#PUT#cRo+7nK<>fp`4TIcd0yFuH}bHnGY_-e zFPhFT>h3_Fo&_Y$m1a5dGn~MWS^R;&tUVX#z7DiSzr5#hI?#Q&I-je*MQDFL{naaJ zx%>NiA9g)nu8EiFFCWsq6a8`fD<{_A1pCDw>Hhv7QbqOGJ&)!<_Z)SedRM7jfPw}7 z<+@^Uk&1WKx%kJeN?<)zj9=yLsP9A{1wM3PZy%J;w*_Ms_|k#zQ$w$A5+yS{P(xz=W|m1Fu-2EN34lH`vk_LzHY6KS%$BTio!aXX8WR}U)r zK$on?De8zG*}mTzTyHr?B4+=wT>#}i>};}vsqMYa`e|FRI6VpL<0=NqnucYUjSIK$ zXZT0YSvk%(VM(M7dK@X0R}$DSpbm#cRYQn>N$FG!Ze_*Zf^$;Ly`-|4#rm*uO1P3dy zv1G})&Q6+pNCORX51|livCu+oUJQX@!b#wb>zTV@-I9Z`1YX9)_F2xB?fpP3r>#NB zoCSfJv%zmSx8HVW>%#2^nRBsc{E*XN*TUINB^N}?f4QWV9j{==J*(vH&&Ct$$%2a_ z=0?!Cu&xz}wnse_Kt0nMcf}FPMFrMqDt706Wk>@f2)8$`H~`GS5qFYZgw- ztgSPnO!9KtG}!BB~T&#J<82`)L^wNZAbNg<2Hlg|_Hv z7y~t(IQnkR!R$TPeRmP_Jr#wz9XJJ|A<2=1E*eUsrE1OEL!-sO*{ZGBWUMTinL1dc<#017%7j$Ze{+3?O^k*O>Tp30>4vLHA+sAxCR(s875zlF zK;;b$y*Pcn=hH2Sc|G0naTdOdQ($_0$Q<|j``(Eex@bGvZD?-R*4BT=-+&K_Q zpejT!0+bmL_H}qV2(?a5mW5dvF!Xu;CN2X;=Npp&gCM<0!7dgT`Ayb%IRoQm*{d8d z97ThJ#$)Rl7N;lmdC%xc{hPZGZ#K9N7SFUu`N<`Xlu|KOBb2ha97gmsrjCF)V*W#f zj?B+$v}1lAT>2F?|6P*|-50?BbSGrgyK^+eGaZZ{U@tZe8THw{0LA?saaO^Mun^RT ziF@~w<-<*m;;%A*CCgWxs(n?0gwA-_X$~g)y|F}Zv}TY zs9RfMtVZRIwG{|HOAU;PBoGX;%B`>8B=eIe*FeJRn#l>+w&lH4i63 zt%%;-H1lFa*{zKwRyZ>!;H!QK z!n2xCyA?^J@L-s7IKvnYqhS>EjxOFh7fHvXNIDK$-U6b!go~RyT(TlLEBtezCP-QL z+aReJHDQe}DJ=l4V~i7y;(9!P661{ID`LPU7-?RFg~8RK5(K+1G6(7o)uO!SB_86A@5f{XhpUa1MOu!SaPOMl)LAcuaSxQD7#t!%|((=q>6DSim z?9GEbOn|7&OXWp_E4nxaqt4S^9D_JpgurBl%TrdY;951xCW6fvY^cMlwoj4M*O8@a zfGR*uSPbskqd7(m;uEm6I7rV{w@+b+IWd1FWJ)5$>QI8j2h1U&e>bjyt|ID%=Y>AP zP+^W%MBl5%Xx;BHVDF>Y)U8nqPD)~~hd(@Woi5C3le7e}P*<0yP}jqd3A~;BlDKrQxc-i&sr%f(Zq^c z$_`|rlQI!^@RxcS5+rg#ecopU*MOtY6PGED7I6jT$E25NY%LJr_zcDP3y4Hec|(JM zk$4gmJ2ga=(i<1?lU+qGB$aDjdQ+H6fzGWF?pMc})XOAly;d>bUn2LvV;;@JJev2W z%%k}~`zxPE^Xh(^_h+9+n}7QDJo*;Tqj?x1|4Zi4n;v<49+jBHH!zRpxq3Y_kLLZQ z&!eCJ&$s7M9fe9f0G1PtGmk%tn)1W>qc^~w5+CY?d>RsJCEe$b{!DvN`%xxgR}2OM z=TWQfH`t@B{82ccFmjg67=Xixg9~TWt*e0P03Qjzd~PT$UHF!;XT;--C+-!0Gc`CS z9=umvO_(&w)l9ylardKx#>)D(-W{K!=enY8{LW7Wg6m)?HMjNQ91iMV=M zAM1qrg~Ojm_Z0>eJW0h0xU1r+(sA7(4y$;p5!YL#HAQbVR3a`byiyRo#vE`R)wLDG z2uwM@a>ZuSi|#6^xS3RReOPf?Jx(k=5;&z-J5P(NIwx_j>%Z1_@FAdP2dSCOIKT$M zwFD0|SICO1c`?}tSLK0)AbKVF zzFsAaaeZ9vn$Uf<^&%6AqZqPxIQJE3z)=5ny5^GjuXI*z=hwEWEn8R<*@>I^NN@j7alfLT%I0=T=y@)}i;#F8G8(u733vpkUlr9$EwWw6P zt_5^mfsEUw#bEHIY0s6GJv>){D=o_JL-_9>#Bsfp;KX$NTm!#T9M>ah$CaN?XI8{S zIjlSdX@K|?iNlJU=(D;K5M1xd07bJF7b~arz;+JP6?D)qH(4BUOXVBuYs#eQlIH=g{(m_Gi~I$pd;ohZglCJ19|vL9*S~r^S7Rx)=8q3i&5pj}AgUd|oW| z`F@cirv%DjMJJCbB%Krzs_*^ey5Jq_@r)`w11CEvOFSv^ay8^-4jQ~#MuY`d5E#+Y z0@X4`w2jpS*o2zKP!cl5uleWWECz50s3u_#%?r4^SHR<4D<1EHSd)Hi`R|S9&v?{~ zKeQ%SY>lO7ZIBP4BK=Wk7WD~~9e_(?Luyg^n`boqD|qhlF>&YKXNe=k6ZOr+5#qu69fB<(Nl!fa%~0HF z-XVAb_VM!8$~!~jtwwA>y)#sRzk~RD2DTa@8frAQBJ0-U_?w5;6ZnhPD^9B7%eN4y z-Hfk}3c~kARebqroZvRRxe@c_XkAA>Q~Q|5ICCMbPv|46Cx>dGm82tMppVdY5i=7?V^KsSR@Cnu5uYdOXO z3X9FBOKXJ|e_y~AgIQ5$K5)?USu;ax1}X*Fo`u`1qUK8xWV?x($7vkQjhQb-la=_1 za+-E&1nPhCbfiWxT3AsJ1e;8qS7EelMLLCFV*exUFq5Dp-^opnLF|r1kgYnQm3}#@ z#zRGHrP2pcH985B3SP+x8fk`T6ihHyM<93h^a0RTz)8?nz)9{V#s{>l4X)><_=vf@ z9+GiZqcwm(`Hj{f{vgj~S7V-*p~lKQoXTsg%*UTI8Y>YV(l%PX4gnxUZRbia88Kos z6f?jT>e^q8R;?|bmhMG4YE`Ks)-<_PG8TRisyBx08PpBT(W9c4DV{R)2_7n4yB}*( z#1CW6?xBkIdr-8&LmuHL*s)gS$!INMbWav~UR{T=^l8ZZ&5H=J^V8eO1 z>{pqJbFW058Sqt%>o%xN{)jza&a$!$#+)BBpGO`9)S5pKGY>xn2DMtxKmsm@l!r|G z6MJ7Ebs*ooiwS*@n4YOa>}05cdnk<6VeA<0gk5w$^Z4NJ9n9;KERj~GHkk@=cq5vb zXavo7G0hLsm0(YgI43&=nABpVtg6Z<0SMl3jZMPSOx5Lf!k};&W)Sx zu=lFidD?t4qh^nEKW_FY3d9i4ia|^pZ!%@bgk~gBQU~+R`xQCvSL7&)lN`KoQjn$P z+3#dXPNIN1`YmaWgi=!CfTSR$NI69k?4eExRf@(Vq;+g7sG>;Xqk)ZcZVIIEw6&m@ zTTgfkg7+sf7+*-z2a;SlNb#Bpx(ry2MusjkKo=YP1gav=UEEN;(D(vYJ6MbuO1FYa zHxf9{y>i)?_aYt3(hyGs@a@u=w$HFe1-x z25b|?UD;vN%@K#f;-4*mL~@uzGhR> zH(w;vB48E*FTj=}c$BMIqp!KN7D5bOgeDs;%u&9Mf*8O)a8$C##s^#$!ZK0%vJ$9m z7-qN=PE}u_x;WSgex&*fO`TI7Jd_;rMvJ2*-H~K+sop|00P3`a-$Qn42?%-n!e6ZBb zt;QPlJC_`Uo`=`Rbs~&fe(C~M`q12q@@``}K$$U3ZuV;VSL6)M>25|1Z+E|!PlzBx znp;s`7m!E7G}zdMNM;7nQAOUIEtuqgsxy||DMJ~x=Ots={T%A)yk%ChXd-#c0nAis ztueH2yfxw!gDOKwGp1t0V|o263ifU5~x=FE-^%#LZ#qpXo@n) zqlx4pxD0ooSS*4G@h-R& zcmq74hcwZd#LHOO3e1Mm;v+qH;ivsHwK(ph{}8elxb$DZqzrS@9IzA%s8lm7$bGl6 z)0!#}0^JIb2*RXzz|s#`dCz#E$fAMqSQPfQ%YbN3n)wY+Ixi(?~ZMNx7sZ+4$BvgY>1_K_%9}LSG z@I;Cbi?I%#OP+gH0b0B;rQ(0Y;R#Ko$3vJ4hA@n)#nio{jh0QyTY)7F(b=hnFhqwE z38)QMtj0y^MqW&5x=%(lrD+1BsY6Rshms~G97>>$)?5!+nr99mu`I?dj_nK5y}+*` z%!YaxG3*%HyQ9wR>sB%7Mn2I~3L z9g`THkMdPYBGX$hC9TV8#eyuOn1-EKpjshtWZ__|4hn(c1#AJEz*ta@`4YvAJBrDN zmr33rfPOr-oj&*xw$p7hkI>Pjv*5~won1p+ITZ}j3ts71ko^iXbDu6gUF*_M42cQB zE-=0wo}HU+7_lMaIr(cO%@-Qd4fZoK1R1EJ-={_(A62e*b;9+>S(>`{cWIH-fq_UwGGPOH3IHkf^IoPlV zKenfiL(lCK)e=qYq<2iQj3(OQ>PyUt3+7?LMuB@SnwMB-I|#o?PeIeRrZwPfOg{MU zcKlaoHH9Izn5W{2H4xiP$DX4VSp|_BTsti#Z1Y~uFR8{oP;wnWNOXqSCiPhnW=K3w z370?C#INt%l`(Ew$+8w^q^$)qP+1F7$dsjH&&B=@>L@nxlc@?DaU4GPFy}4=GAc8~ zs{8dMu^XO`AkiDf^LapK?DJ?iWG1f#^h(wq1gbNq>45k)kL9o! zb5@*L;*`k%U8O7rSosxDbo~Zg1|DQt4pb+Kh}o0a0qmi&oXrl{h_0TyZJJuG*nW@$ zd9ihD56(lmv_TOx5hYiDv4r9tRLAJzQ={M^e1bJ?N9Jzol#cvqZOl59^AVJ2aM}W= zQ?lk!t){bwX;OR}W87ECs1_&WEv+yl>h@29#|4foa5)r#!f?3*&cN<)IYZlmWL6x? zu&0`On9F5p+k#h4%VAqg!j-3GTZmy)3_krG`GllRa4(X8=BWD}KSmcpQH?4G<|8Z2V%F7%?YQ8e^Go0K+Ie4$a&@3?7*>ob~?_LFFTtU1HT^TM-X{FCCqgl-k!tkP|7Z2c~Bm;0!}pR znYBZQM+(^~n$(ZjcTIKCL3J@yB6()2l2H}R8^hCTaT_F*%*zNkWw02JB5x_Euu0kg z8EO5&)jciuBCUKT4w_}gqBfc7u}Cps5IQg!M21iVR4jlPWuWY!B!h3Y@#4?!YAQp0WbOLH;Po@kOW(%2Hl9 z7s9NT^7ez5dMQtZsP1y7Lv5DK&o)b9Ix<$wlBY{+@c|531=A&D7197-Gy^>EZ`1Ya*-?6`V?o#5GF3yjqNsW6aA4d&*~&Xo)Rcq<8n;))pe^kRtSBk+9&Gccs-fgdId)+Pf zZg1CayBE9L3Zj<$0TS>J1gwHuMeMr4)QW$q1d;i@Kj%EpWM=XQs&?D%>Ps@u-}9XF zJ>T;^-~V3`N{dhi4cYU>sBE!ly}01LKo+)-o2gI8GB{~C{>198ShR~#mJ{=qcFS}6 z4LF{KgSG9?!(>ui+x|=14aK1J8p4;vD1w14Tq2QOg)FjJR2bf0OA9QVpYC{PsfxPy zX)kR`Q$$}Uhin~%U*pju(F3-u{ZXtJFM5wsJza}xI-Dqg=(d%K(JM*6WXq;U)_q+{ zCUj4}a&e<{P@#i)N_ipF>>fw*ie(MGD?gmG2TSo4yAm+Dn;#~Y=d|1)L7_%Ep306y=LmzzhdSC$OH6_qaiyV(F4)F0AGdcAN7I%HtDRl z91rmS@jU>(wd!sG zi%5R6rS@lqkh82!+uwK^k1 zU$)XG2%;5NkHCORMn&pvx#0#DY-fet#{XX*U0gkopCH51*PLBI^fjjd16h0y&>O8z z{Xv5lmIoqPK$2j~o1wUM9TP6P^MS%OjgkmR;TJ zYyeNT@#nH_B!$PAW)dJkWQmnDt)Nbmnc*T`0cD$HMZo>TjlSl3;g6uIs`?`N-E2C! zw!A{blpq?2gxh1hO%-!n{BI^<_Bij9i^wwd+p}P%783?C$f)>>%pu1`UBn?G$26J~qilbz_J zl%Ic*@4y4$U!EZHR)YR&V!;5SD_8kRos)bkHHCj#U{p zc5Exp+khL>7al2EjA^sXN1zc(+tFxJg8(v>qi;Z?d7zZh6;wk!$hft1-I2@DJKh<= z23d8o*&ip_^NzPepx6V2heI)MKLFx_F-tqv>d&b$`vZx85MXFX zML)3O@5>eTa9Vo-!7fbo3ik)+DgxACXPaLP1d3+n7w#+sQBaQ_r17B;1qxbg)gnIA zv~s6w<<9WKoqhY{@H}41ID4hMua-lgE2U+^vh3hsdR5Khc=VAZIS>}Q-ubR~9cGPb z@+CGHbpbFJh!@}&Bw9p8`c(9ALjS)C!{B&711g{g$@JD$oWTxNb-ui=rVGd=?V%3t zX#Y9~D5T*sX=yP}hR^Zu_mZoL+vfv6q*Lxr*Zve;Q)9SBNsh*`z}pYOSSy(G$U@#Q zm0Ey%aH?rj`w3NZzFm}r6qlNuP6$#q8_WTAFeGZy#)&(Mt37jqY*?-`@iM!d$%iWPlp-w>i89A&c)3g*d7_$U0Dy7Z64 zJS@t;SV4h+KzUUu{M z&rX2SpLYzk_a2EyJ%4^ZLtumqrFhD&Gy4Y5{XjFw`M+ph@iy@%GsiRL3d#pNG_>E& z_uv#2RjwDgF^}M$nVZJo8TFRB^jrPr@VM+8o2Yv;vgRL$BhjO-Ghxfy4H2aZZWipT614K~mKF(8`S*s%Q3W@Lh*1T1$4Zp45|kt< z*?}KorVd;$(0X}N)SsAz@&_YD6%4Xif-SgNTuJvmgL|<6Rq$2zAqqwr$u)rcz5WUr zp2GcB1%6fUN_KkD;Kci~6Z<8s(s9U6x!HrlAEUHr&BX0hOue{YD~RB*FcY|7m% zl$_{Xk<@hVuv@afC;w)0(=T9?441nX?D-wbO}R?Dh)oig0v<&&K@K*J!$?heH%U*Z zbcgURMrevlXgbOm3xuYZxbS-@H06rOOJ*{%((n)%Mr0a<0F|x93=i_(XB|Ug3TV%J zDl^SAwCF#O%#;t{`e8+;f+t3hm~zh)2~B3w0)gr2(b$Q1EH5>h8TnnyOCdC0Mte4z zyd+r(k;!N#0_E7~@{;5v$xD)(3go3iNhb$>7FWZt@>0PQfw&aP7rJs!6 zZ$iRfp*{;kw=oqLCvHM%{>_@T5F?W75SB#dS)!7X-jh!6VUn7W&P)bW>mKuIrjLv| zk=wo_L#MTi6MfhFtsn6{>j;(1eE&{D_Q)`p%v5aI$6+$GEtOfa1?6IADtaX8XM1u7 zZRfQq?{U0rXAxn(f1GUTggoLd5%|mW5W6gE^-L45%w-emW!-2LbnHD~BFlqJW{J#2 zr9m<+Q@_zhm&=5#TsbE=A^Zna<}y59>CaR|F#HK~QROnjXN0!S{yN(Ivhd0LJKt&F z7sf4Tc3Jp?{F@Lj3!f*DFBf?6QjwzCI^4yGsKGqww*0WB8E}zTgQp^`9~SBV3Sd*f zaKgK|+<ZZV9PO7%hSiMIT;rZMl;V09AodriN7X z-+-;WD`c)vUh43vfRx`G%jDG(*%TFILB* zfGFVMTPrtbU>9UF3lfg3_8H*0 zZ(K%Ei%!nuD(gsim2vL{#ehpyT-zS={ZOo6Yy4Px2ZE2v-*uy%)*hawqUim1_|y8G z+_ZM52

    1l$Yz|RAve_ufukc5D0#|-V1f7GM^`;1pk;+bcferr`6`?()3nq8fWk) zhJ$Hj)3rxAJQt7BADT`=dN%VqN&&&Cx_@Us&tEHW9`$2){ z3lkI(sD=io-6jPP!$Lr&3H7sx@3vShq{^v@6cnlj$PwU$o9zIbw9-mLTYVHM3k4{m zaR;{y&geoOil7hnQKYf}MMRhKP=w58KA5l_Rcmc3^t+jd@)3pp6H#v;)ZD2NYPVQ~ zu?pN=%Ch6|3o*pAoi^}Pg>phO%>w`NASO^+<4528QC1ZV^sPiD?bAmh;@k|0-Fysi z(>Pd#m~T9Ks1RpXG_VHs@BlrSOK0|m?<`X6!^&KTD~ziJN3jY8B!+xv5lmPzGocC$ zd^N0ppBz>N>QrdTg0lYgD$cBqXf;?e~AZ;0FHR!70$B6rW8fvc6;>ea9j)+2|Gp#ZB z!DVye!nX$~DVc$SUk0Repdn)=QFqr22l%8Y*B&C!3lAE^p<93H@XsaZ~KB~@(9DImB z;qw&~d7IR^k#)D(C_oz&$?TQIy*)^yw}>m@_wQuuD+-F-6O^|_x3QbjDm`Z*S`KbH9EPaoLDso$$#^8KJop)J?$yaB)3!LIxpAILO3iXz=~Zf}2U z(z{KuP(or}BUbLMN&Mg7#mZF+S~zhxE$X~nb<6E+Q#m&9J__w@2vw2LmU88UO5CBS zsTkoATDY_~&WoK$8T4>7zyABeig82>1`UwL05{7!6kQbywPQpK$3uH!kifM(sMqPz z*t{l!F3|*=qFSScN(Bh0qt3NkXuO?n3oA(gjCXaIGXxQr_SU+9CmVS%*Wcti9 zNa9z=5IE95E>`zMEHdwjcub9%XYl%TEZTETm#zjYAr|fHuLmR_E}qklwCb^KY`) zo9bgx5<>xU1Y{Njq<^BJ4u)ZX)=UF(W;9l#0KI$m+<}{!`Bc$ND>tJzMZR>{pk?n zwLl<8+0GJWi*60L6~**Hmk5!0#?q(gXK5f)V-@B(iS%XRu|#Q1 zgaoZI9f_`TXjrxwhXr}j@px@;9|N}^D9^4XdS~v4pj$!~Bschu@p8%q$p^U) zjB`n-m-u=^)(Vm-1hMl0NfUv47i8_f1+35&utExvTYZRL8eZsSbHJ4!>Rd!e4 zH?)V}_m&%S6e^k>$`hGdUMvV0qXOnG#~AHlU-B6vhfLfDdN}uc_?vM?2mX={ByGwE z*Bg~N3J9HZ?dAf;D4)pv%}~aufXF%5b{8>45V*e?$`suRsJ+-|1P*Q}kFsqY7f;u) zYn84lR1WHPh=iE z)prd?MD068*sF_<<%nX@ePW4X(L+8j6g}7<7d^A{>wmFuCiB>#33)SV_@P0bJz!5v z)x#V+6gprSBE^V8^w!dmLbAqcw%n2QW77&y>ClJVFcj_Khm+pZiS(7#sr0PLiS(tFiS*ojKTkq72&c2`Q|(KlaEnOr0Ruf? zq_enp{f4-Av8Ep<%UexZN;xVd5hm@5d*_HLvYU*PMkXQ8RY{t z&AjC?GKF%$;FA>u!R*j@DC&0%yB57w%pa$>8tyM}u!D}`DaK_(G5tg_P6mFw8ZqEW zd5nhk8Y1~#(ZLx39ek4>8#?$aa{wLufeu6mpXT7VLkBk=gAB%63lgH_$e>hxd5h=3 zKXU%g$lwk6WDt~N^%e_>(7#WLQ48oFN=$;sLsg#)q(Vdd9Pd@$MIaoW?(q_oYbeo+ zd;JmshrG7clFQs{EMi}LM9MSdO@wc7y}l=uE+A{(3kGrH-rI6woGijO45gbTN@r%! z5W3>I8kx|wJ{ib;dqn5NC-`)Z2?&P{h)q*6FoZs+0~F1yeS|)Ru!^)*2c*rKvP9j~ zNU*RCy@1LYda|bHtwAd1t0>9eH7d2sWtbyAP5Ex5GagQP4P>maT>DbWn;w{M_M(PF zL8X1dD5x@@06UFdayg5Q0k2hGGavY1GkQsAMH{DscAHf6g=CJ8k=XM$;3%AE;|AWL4uy|Do6tC;(>_zt_1xd znII`E4akS45apvhWDE#9jj<+#m7zyj&9Koll!ZSut1bLljMdY%6)h)IAxcNpLil9v zsSoKXnHUz!im*_%1Kk$9ZcAsi#Xg%Aa2H2fr?CzXEC5hey?>3h)Xd?+Ai(-o`YL^+ z!%aos#8QLxC6%Yfm5zS7D?M%);%imoiKr3n%YB_L;QNpPUzY*jA6xrY#o5?uOf(99 zma@*|ip_jFXO?ku;6#5lE=bclchMS?s8=wASI6FE3PpT#mjdIGp}nqGMOPjH$}*P$ zWAaFZEBSX~s0&bOOBRGnIRiYHe+1kQV*CPZCpm55sRAw!$}S+dDmG)e|CAo#$>D(O zw8f?dz#R{85lbc)iY3F^W2OCl#pmg2|WZP6(?J8*Jzn8zCCvPqkyF`sB9o*(i6$YOzgrDRRSWoMWH! z%|YZaXz3t`Bs?k4NiYDGbVbYtS~mELn70bv%*k3J>Lq$hL?bwXZhxgFqI&X zj4&oCBt>N~rktDdwwSb##rbzNpOKs$CL%iw;WBcKUG_6$i1~#Qh6Q380qbO;`l=}&J@nHZdh7Xc;GjmFV zC|ThTbi&6FZT1#DeAA1pcEXi%gBn{0Sye+T{27K06N59BNBNmpKp`yoh1^o&3#$;+ zx3bhgHPZTB%{qi|EKM+V$>C7wF^zV|`<)Uc#^$i6qfc;8dF$>6?s@P<+MJp;0L zweO*ne#`nKjK1puIrgw%;{)e&3Ch{l?EY6=RUklWAo%aM-<|Zk+3)^gkl?Z3o&T4| zzu##J->d!ZJ>TkrN!ETRI%QK5+bwM92Jlg_80rOQ9qIeNeGZ0=A)U1}*JtM{qJQck)~e zs#?0%4(DGmF31_(`b=c?6Od?MaTGiKnLvH6e)#Hh(}}=H7<}A!D`@GUFMIpHd3b`%Cyb3;pp6N7s6$CR0 zo^bw5&YggnMA_u~7?c~Y7w2?+(I|yrn=9oRy1LM%Ae84)Acd3fQ=ohmEbtM03cezr zf|8*>pzxhJaW7~1$8X_L7#$g1*WrDX3(eL)WD~p zz!W#4PeFlY?mhDc^SI4x(1-#xGw%zlj?2WhmIr+kn@=O&p%20D z6OEA7?H$mF;amvvXvOd@1fx?9DW)oOCbmn5^&tpMZpMeex46lNARw>9Slov2D8Dry zf-&#ThhVxCY?G8#fBJuPAA<7(R!0Uh!|Lod2e3MK>Oibc2M1zx_VD}Ou{!WMFeB`P z<#MMaO5m;X`?Qn9a2p7A$yn>&$m*^^eg}VnaR>f|bH6vo&+y!Kd<;)O%mO=^&Bta; zWjSZ4VVIo)LiP^)1V$iY$L%LDw%AWV+w{nO0`NCD^UmAj^Ecx+$Zeo5-%r5uI97R! z>CCV;`*KXqA>%M`uz#i~){sdPYs17f<+%ooE9PzR`v~NWJX$5E0OK71-?Nr31)c$x zTHzVsGda@r8P@=x({X){MC!#s*MQo0>KgFd^9z{vzF)wJTR#@;V_bv*X|gYSX8pHJpxt&7=Q%C+s}9$PMxK7LHeMOYP0y`sqp@5O|7LJa?; z`bZ`P5|S3ynEN-fhGg_+ikH>u?wA}|Vvagw2#%5sziiE*-={AASGdH}?~KtW@h zs!qmBJeE1PRq2dir6$Duc#$}XhNsCvv(E7&G#!({waR(3T`><@A!M05L{-Im+pRPh z_qL-DGMXQgV9peu;)3sZwBC0zH>uBZ-j=2)*Y==*O{XeyZB<3CMyaeC$Ym~GHmH|v9kyNQ4>hu|){u$SlA$KulpkxYPNLeUFNE)CfqEAV3UQGH( z16OiL8qmruV7`Sf0&|Fe6{qosRA@cg_ZAyy&rAv0xKvcA&RIAV>S>|aAeFnS%#EgL zb2Jn04DLI8U#>y8ZyFu$r>bz!yMVh7Z!-d?ZK9ckc-uwP4iY4o0t5al0RKg$!bw1g zSB4<}6p#ld#Ml3yEaT$N;-5u_$x zC@jaf$&V8wbT{cu?>Dgxb)L{nu-<4D_L zLOS(1YKTPEJ#PJ>L&kRB##Nk{S)MZ|v*c`FVxa+{)C9Q^sBa)qh3@Vk3*>kw=T0pb zY7P4WB&Vt<_id1%Ud5x~QAaB?j1M4d?=YdE8~2xA&ziTTiGp2`HNVSND2sa?euXl} z+d*R{zt~{0GLsjD%Pk5u3)VbUF}B4*ovis&bJfXIxr$_QLBLr-IkFh_$O2*zJH02b zI+>P9`FtNyTHo#_3>@71Jr zxZmtRCJFBkO#VAR(VY_D$$Y`DLC{QLRW(yo&0wgltoEDZX8~$P7&z4tj~eVWL-z48 z-Zl^FIIlF3-72S!WZi3#H6I5PRYz;Bz@Jx5Pn$edTL$SPH|37b1;0un7vxSI;NxJ8 zC}`xUxs}OnOMx|8rFhZK1g?cEYL@akr=jX|qlGatwc@y^PqrhO28dZ)E8vqqfb9>Uf_!g1=wKa}zrDPaylex7p@0 zrd$t-)JScf?F% zgEytl@knD{5uNRw`w{Ihhq9p#W|XYxj6P(quwWle((AguJ56E3>N|G&i%%vnE&A0(L*8;4J&u9nb-HZurSm;GANbG z__HJ5R)U?SBfUQy2AJ=4fd|Kf1EbF}9@~7oYvj%qqk&l4;n2Whz-Pb!VT)Uw6>g~8 zF&|!RxF0fSn1t&;t^t!(o<*C2>%lBtQtrZ0@gRY9uhUoE$Vm`$>;B}O_C z6GZy;M09(CT5u|F&6Q*nnuJ>}u7nT}5`2?5LwwQ#gqCC)L5AH}AM<|FIwGy90L5N{EB#-h6@%*H;lQ|o6b zBUtWunSM|0P7^Ql zA<3P5tpvwmo9(@Kzz`S4%vB11n(C1%Wa#Hrb%fWsvJ1mKAj)i3HjTAzDI|@h z@P2@DkhCGYR~Di5#bw2BIfd!wirRF>(nwW+(nH=Yr$&3(UXs)IIK79ICg5hnZAJT{ob`v^0_6{w1z@U*@IKs3WZnPPDu}EbKveKcjBs(I zSxI&o!4mAtQdZ*-+vg{8=+RY(kPSybo*YtBn0jzCX3J|h%3Wc!MdtjwX7+fbOacX> zjL|MQ;87-go)Fq$)3lp)Jbhu=kcO3y^MYX;)@QX>&m8e?xhgCN8WX3ZZzB2r`Cdz25X0xpgG*a1E)5JeY3iR#c^`C@Ts)Hba4DBtpNib3 zbR6abDXSlvFNTf1++o?ngHz^&P_HaCP0sv?<4u_5&HRuPePotLB7x}J9Rp=xzSm*% z)~~4%0d%523=)R_&?F2uo3AF4&7ZA;tr=SQW5c9z>wy|g{E+;Ykp%M$l8 zeD?O-)DK~&N{UI9wnDLBG&Uc_LwmWcDN%*~>OcbEBuwh!uTW$XAkE-{0TRj9<#KI+ zWYVucsod)ZLS}nfB4LHh=}KWA_daI19H4bFYZA_foF8ZUIqwNIe%t7qrkfP^huMHa zpuFL5Ssu~vYt=;7eP2t8H_tGc+}R4@c6_cjmw6qIc8i~Bofg&#psE}^ksSf5F(eCq z4oDjMaBu|Hxm7X@AUmK$qWL1g>eT{~zd@4g=0WqI&r!@6Hs$)r^;`tQ1*D*p!VTzF zf~%nIVuwmg!jsUK|s3Q@cB(^f>2XWj7PtvN##)BPEDGA$*?lUzS|ZZP3`asGXAvWv&4F=vpcEY8xe8ij+?FaN?(rvL9p zVklM1XVjPu1!-t=O?f*t^UIT{w-+5S#oMhm&2C=ObaW}-eqpM8#N#(94!iOrDen=& zW_J;fi<;wvR3<_GzjYNQaC8)J|5ubM;L6I&1bFZX1WPXZQ`l9hG?qx3Ftw;JyPPo6ZL`d)t-$ga)zbX#>OI$V7^R8XQ`C(!f+S>ghpoGdT|4Lwy}2jUt2(eR z_~Qg0Ej{r!RVAQ=y#y7^eyMsv(T#>dWuFv!Aq24nbAO|d2xR(akzsyKWv<@Cp&r8- zR%dRtQ=3D8AxnGK5&H~sn!iU5edK7+%*YZ`sDRYUlWjif{1JG3a(gKRqN_Yn_j+Va zgO4BuSt=FtQC#QA)Rol27)}#m_P9u9N2#xg=LB8FE& zc-?lNYZZK>2a1#rq6Jnmg&G^-)NubIjYjW~BkiiaU`l3KC4}@5TOiv;6QLCt$|d;} z^mAE0A=adO9b|5X+#I5a$bYrOc~Ev8e`aicU+46nneX|ssAX>gT}1xN^~I`)f}2A$ z5e0VxemyYCJfd|rBVQenuZoy%1<^kNEe@2ym`D|&jG0Ek^a}GU;yB+JUDzPWG5-!)hb)p9qu@6HLXYRr^Knz-nJ55n#4aN94aYL>p0Xvsf8Xa5F&a z35FG3^_;$FRA<9$B%E}V!j`B1jdc-I zw6ROfzVi237m+IpAytHSsu9XU*rEtIA-i}h3=|PXWXh-`3RMxO0R00luqjYQDF6B& zvMM6Kw#3HU>qLkCq6RO>?(VeR2)BbKMUYL)3ThK~j1QbQ~>7=5!pTQ~~sLK9(F)Ic4v*yeM~vp^GRCcZ9^w34F<{) zY!*^IY>}!#xn$8U7`=qAi3qe4RtbRwVw4bQoWzTIJFFr?%&Ad9m@oJ$i2CDILFCVu z>e^UMMNR-kw@~l|TfBWDCjk{bG2EO>1+h>XDCwo=`%Gls#Q$J;5%ak94}082%x|9l z;UP1nHnoNH4;^7e5*C#DdoAX@KNk zFylo30KOQlgESDH#8qGOu)~RdyFl~MI+`kPo4gp}T56HZCNkHG)q{9xQ5 zV$tVpk@jpEDnU6#MAl`Ds@G-vH1xzJqUZ9Uf2h3c^FztIPNZp&2>i)1wxIf|Rd3^1xT;S{kSzm=f=i^Fa-=>)Y z=;x0Nbj?Z5urzeaj&fV}DZ>jE-ZnS~u$UP18}^BJHZgfKTlfi|XBl>0?l{(dJ7OL8 z`=#zD0aVO;Ef#GOVLTAMN;@o01a^#`&paY)r*H(Lz$-k< z%aKrDesR_C%;<}($v%vrs12#gY?Oh~?JCK#u1Eaa3=W#*0^k>G57ha-+X~$>rQAs} z2^Ceb?YtuGvc43U^7D*iD*IV@SCVrcJDPtxK$6nTV4-%9-f&Byehczoxs8&)}u+cY;1L-?qNB5RZlwCM>|RQEIwx)b7Vj7t|-@e12K3Lc5O@ z_3{iExw^ZQF(X%Z586<<6ytR_-)s}cUBQ%ipE~SrZ)MivT7|~mfcbo(HJ=w&d0!C8 zyd-W)BCGX}lj1o_X2{O)A9$7b#_onPC8p_QRjSteOv#|-teb+eg-X+^rHv;3RlB`n zOMTKZH(1C~sZaV3Q0u+X>8=MD4A2Kg4Zx7PdYa)L<+W#vu`GAf=v~QStQJO; z%Kpg5s-i93m-l~Dx$MP2E_(rdG8Tc~om`eP7|LGwZmP%^3uPBbC>z573xu-Qe?Nt? ze0$%!ttCH%um9s?No2$M68igCu|Srz9>#mEhp}P7Nt}EghQDc2JIbb4Z$$p{45^Z0 z3rAw3Tz(bDV&q<=VYp39gWF)8E6(6g_#6o+(lO?oiO;us!#P>*<^87L4PjEz38zQ(xKE6N0CZ!wX?FY;v4tTPo(v zs*+(ngmVj33-mZj$=i0EJoZ1&JR>_?z3gx%{*M+5n0KR0cy^=>Wc2-G6#47RW-9Ei z@t;)wDxAdO#IJ%UhL^r_kK_cfqWP2X^}S&!_3-+$E1b_sKZM|w@Mb9Z?-MrY50%;i zsnjAFIk}kS)Mn<8Oda>5=tkQ@9nI+5WNoWBn=AygDG1+DkGJ$BrM!r2N|m&9))US@ zPFFh)jdPTtqMgzr6FRv#p~K`MnbEo%)#a{^!&Avc5F=P8h^|pSl343Qxd0!|w{dDi z890u&U3gSED4e!S(1DQILE{laA7It(DtK5w4FjYcK;tdVZ zADtQ4%+Uw7TLarg^t%$TFz~{G#@enhgKN8jPLdv=ZDOo#Hd#-$`eVD;r=``>ZlU68 zl9g-)lu03TSNXcFVfSNZdV%kJd5-sTbV<#^D7I|ZyRcjqn;A-;;>U8hi}tv^n8pE` zc53Szp7{zE*-oJLib;y`JjS}nrYnvT9#^xFR06S29aXNGPbp`Gv>+8!I>+Wl89?Zp z{_P0uq~Hv(ngsqGCeTLC^&y=u217XS;id5Ds=d)MK&}=32)e?X37rP4pV=VHYu%ZT zH0?!5(^H5vJ%vakC<9orBpKY=WRA-RghK6kqMoeLnhD6TYa1$_aInLYdKDsef|=N zw?3_Ns-C^2CGk|eb+gWmcN^#J0n8F)fnxhA2i@tGiI}{sWGJ3`A%B!VUgd+cG%>rI~dYIQbQdEw6-aN)Tws(TY2w&M|9uK~v`7!IrP8+ji z^21cdSXcRT!sUJC*K@gWg>m^gbGdM#5%JR$7XXCG8v0Z_>Y?3N6wS|9{DNNC?-J?& z+UG6lws}VhLy5J`VIEIy`<#l9gcEgdMAihRYL+G@Nkhm3js6$Ag0<=`$^37v0#Un5%qG`FButd@Kx5eozF4LbS&Mp{mM-?S z@TV1hn^!c8Ee)(CU;Q^9o_-Gd&7w7HrcdHGwB|9Dc1lDxMX1FTPI;>zQ;8>+{g6~w z?1$ktClpTe@9R!_ES0dz6N?_=>esnq@1$oRv2>{k_#99jKb!Eu4|Tko3-Y6*r!Oa? zZ@SSpwKhMkF4|uAHDlB^o%ZWfarERL98w@ zd)9QDt>C>|~rqP@_w@iM0Ai6+*2k(DNDj7iMppEYm|ac6nSy+HZ#a~=Xi!Ia+{31$j{E?9SRCdxn8HD z8<(aQ4M0aDw}k*bnWBE0C0I_D+tQMGnJJ&D-4*wG<6ejM@sGOR9(L`Zn(5^H9cEji z?uixqwcr0@5qQMzK<}+fUBl?R$mtlY`y<$co;ekG3-% z11CB}nUef9FSQqjl*3%^3@#fsH+K5t>^59(4=$UnJ$5?9sf5bxq@?ZGH$D!xXMQ^8 zq+>t9opNik?$?nuV|=uR<`<&%al#fh47%ZZhcO2lm`*iR{;ry4&^cZ!ZV-QfY{US# zzNBPsX37PF0RF|w4+EyhiA^=o*fdTw)NJ1X_puev*S;ZZAcevVaAgRjmkScnqquNF zjxSpVY`5ywglFiyfv1EEC<`nVeAKU3JQg5=-;Iueh(LQV547>qA0^wsb5wIb93kVt z+@k`r|A3VxPJf&S_Vd6YJ#gs}f!lw;a#8{}X7EIoa&bsOJiRZ>lOfbKv&ynKK6aHS z>)wv6dBex$q437@ncBLlCI{uI9G>@u?Nu5M_Si#iFV*5^*5Eu#rCyN`zoe#EUyJx+ z(+pDMj{zdZyxy3%E#{HNq9YEx6Cc{mTh>;*E@a6- zho|?A<;huOZSE>}>t2qm=^c%){VmNCYXf+IQ}4w*(ad{0Pc*2-u|W%Yn0aDhycHQ~ zp13)no5RkNT~f!KC!nKw3LpPGB^RMIOp!z8dhL7Dw0})cc~2UCfj9%)5YhC9@^k)R z|8Dv)*}6{d7zkNTTyg$}e^#1@$og%*g+F{Ek8Us?U6FW)e=&9<_#+)jU+J>%n)poB z5KU9yFNxD7v_Ga!bduGksmg7cQPMQgZCPGk(lpLg-0d%`g_k)=YJ%2nO(!Hh7fxhy z|CrjRD3<7ID9AzhgvO%yrniz$^HInvPp%MYoSuw6=|-RQ`WRIb{VPgHN~}tMdU9kP zEGghG7>V`;1S!-8VI-7wVU=wcWfM`;cmwg!<`1&|Bo&jOX0b_Tj7m?s>|6aL=V@m& za|~$df?#^APx~o}DloNl12N-fWns2inJ#G9_8Wk4+n9%>6o~za^NN4 z@-8u{!sT7ZgUhV45}v%?j5itG>qgn54kn}9+~_N;T_2gN$lO{Q+6fg>1b=RB@{oCg zkokm>kU3p75$X|}2nu(AawK&6`+l}Dq3|pph4=E!V}6hst2#mGdxAk zGUz+VKjq8J1-NUN8gLiBCcxc)1{9>^sNHp8X3GEI*yyh;wtZwM^0LAM-2K;M;BK~Q zRsrtPnlvXnEbdN78MTRNO{nX)HWYPdrK|2}oRyB$;COv+p5r8$0nk_>0o?d^8e~jSWIrn!(^J$ zni=hrPFvLp&eqrorKrQz6o||=Waw}Xk#q9xuyh#a-_T)j88wjMt_&_CU9|%a)K;J! zO#f*{dll0Lh*XvGo&fnCwzYjH(@{lqS;pUx&i!W8MoTtqLUrhTlcSxH#;R!yaX?g9 zl0aT#QittW@%)JDFzpsT#>{C8Uv07GYVyo>nM7l=MkmIj!3Co9hi3Odb#F`~*nf=O zC*Fn@|HA(ub|2sDgZam|`;3i|ZvB0`Px&+7FjR9i7k9-W#HeCGgDY|0T$Hgq12*Rq%rpnro0#8NJ=+}ot~fa4l4Jd z_iQYLvZJGqKwJVmJNi#(YN-~>Br3q?KIty%NMzjBe7G<0$(Qj`t$EFF`4C zZv|dgI3hA&YAbLJsXf};*s>3(ZR)%;9@@>IcC>b=xxrxwQYJ?fI%sv8q}5qbGhM^Pu8uA_ zzrK~b>X+>d#P!D9^46phx0XmcTTfOtS!4aXZn9CaFmj1f=`|+e*Xt*zam;((@yOl! zmV?iclffiW8kRB_90~{{8t(C;I1C#iM_<0%Lu`n>EeNgnQIC*(}jCMrZNBrB~UT zuDQ8ryW?Gq=EJ7*=AFg%9jw2I$W`&^tQ85bMeipT^(1MoKZLz9;WbQ4EW(~zLGx>j zFAta8#3E8A+DmKohS#u|z6Y1?<`QjU1G?F^w0O-CF8(;UneV>1L`NPL+aozMHWfaXE4I&~jO6>M=T-;iFBMpZD~ zqYl)i)kzO)%-^_N_U0|I;3PYRwC2-P<3Qj$@I&B}^lsHd45Qj5U`3bM;v6Kfw zMq=Jpl^Ltf?lcp`sh*-*s$S@h)l_3%D!I_BI*{-tW_R{~Ddkl>=6a9lo#~EeN>Ab7 z+$}(7cedO(rKG8XE>-Gly@&h9Y}D&i+EQyNZ>u`3H@!=l8#CD;h2Fi$t2jWj!F(q( z(5ZxXC3>!F`MusvuttOA`-Z;BmSk)Mn&ZizbEF<@`Q?1?D@$B&ulH!mdnM%^!noRZ z^^P~Pm<}SVUt?O|sIRPSn&Lg$=LT0NmYJ*7%f>b@FE6|P|M9M0!tGB4w-s^5OXF=7 zTs;!Gbv;AM%zm@wP-*0rA8>46dE-(4J1_A{%h3su)&GrqyxSaUZRO~v)Ai`1eRov( z&qal1nGZCM;U_%@c+A5Te?c;RL%G+o_5&pJoKxvtyTp5>@2;R_tn8*U%OckD#xiou0(ClM;hGyTyZb`HCH0vhQH-Qf~Oz(F$suP(DclCu&^n3At^mxntdzc@+ z_T9t0mO16}v3{o_@$GcV_AS3-EekZm!a`42ne#!HU+miOI!dMfXWh)0*Z=+`Vdk__ za4VVlz*qlExoNsOnHlrJOUDs0Tf43Afvexh_MP4xDtVX}y8IXVm}_2e^Iqt?#DBrl z3$JdqFZ{Lt!gKb8Q}bR}AH48+z0l#m@Fo9+t8ABEICHQ|w*)VILNDB|7o`6h9)G8M ztF97SfWkjgbnu&dyss_+m*c1HB6-i7PbR!R2ko(U*onT{xB6j!4l@>qh1om${vx<~ zcQIz)xP;sDg4=&=Z-dzv^C64bb2!S(v6x-Qv1eYH61;LNue4;rY$W+q?0+gOu(CcBxIJ^v&&WZSZFTyF>a-E>*@ zQLp87ErbS0amzk)u>m&l!YMK+jZLPntL{I!<$gUw%wUpcK%7*($Zu||?gW{+l;nEFL(hW%$JLbi#Uag{%rVsjkTUKd- zQg#!-gm>xxD355-l{B4ZA1PaQlK;rE6ZFV(H{DR}rZ1d!;7p^rwfnO!9ym=GGGm(8 z7Oc53XAC0v|C#46A@@oUd|j7aLi79={5AL3Ck9_=3SKx>FRb)m_=x|4zvliv?}b^x z3om@07gGKUFMY>$$zOBV<-KrH@WM~@!W6wQn$B5_fi`^j;UwGogPZNOei~d*50XaInW8O_GLuc=+V=jj?Bp;- zDeu<#B6DI1*vc!IPVK{oOP75xw+~NXAPxna%Xm3cms_7YShJr@4z>a?ksQ)@x+-z4WZ* zC=QbU#6jKBW#_1gG4NUaA=lf^Lf^;r7<^nkEYl2ao(V7ZlG*E~iF>N zT#csQ^fcY_3+Q~hWgmYHD6Z+zqq(6Qi>hQ4K$`Y`0r=D2KK?Rf17VF@Qw-AtYpOx3 z026sCep_#@F8D$@T8KB)q2T$sBiieZ)8>O zshRWc7CmDL46Lt*0BvV4CZ6?@X&T7__s&!%%=$wB@Fl8*mwYMcKOJMoK{oZps)y9e zdfuDiGgz7{+j|I#0J7Aq&bw;*=zv|It2S%Z6W)!fZ7PPi>cD_6{NAsaI|hjo5M$J2G3 z@*Y)BobrP8(+V%A^7bB?C z7CzzY4cWF*H``$hvVE!0uM?pc6QQ@{h8Jm-%X+?KF#`s(zEH9l!k7InVQ}N_-wg~} zemSkL|Drducf(O46FlZ_L6rEwhtEE}l(Q%0;g|lv*_^Fz|LSb6Y>t`xUpUL$pKZ_P z*t5xTbMKS(?62(EY4+@Cdp3qM?9~&m*SD6xZCdZOPn>a~dHe6}6Orpb&vU0;cbWK+ z*}604z<<#<$CTN#-S+G;d-k9``_vrscz7f)@vK&NN4ym&&>6dg@$Ib6N$aylU{y#FE& zUPlP%k8?0@3r z@)yoP?ewbpN-OU!k-Up*fg*_ubQ;s;P-+(^PVe8^^PtG@VPY)CIW5m0ihGlg8{!dn z(wt2A%6J{ck!Rr*?+|BjQCAFFtT$`3=RHu<%t7R~HT?ZnGV}drXlJyu_t2YUusuk4 z*QdO0Z%1#R({d<`wO@2A&dT4ZXyJHyD*9MtT`HUkotk8;f^4F(OD^isCXkFinhMRU z45}-JThJKV{$#uBY=2gyxuTAV#a<{DTb}HO z#df~nTm_rWr`{!8W@o~T6$#+?7dAIv{LWx=RSkMX^k7#6F-KC72wm=Byo8YX=;C+> zVqRitfHE=khs^?rHwgz7AA4qHs;+eEb_sigIkj(`_hUoqBe(76(Ql=HXxfZ+#=I>; znk0;KW|fdgTT%VIOw|RMs)kn`G5yj-6~fL0+s1-Kg_NxTb-913X;IwLm|? z)*;1IPAO&TikLi7eALEz$zGAKdt{wHU{)JI&8^cHeP{3h_E4U|$9XUlV?2DF#e zl=DQaCY)Tf9SzWb``eQU7fS);_Ehvy*9&h?h2o5@<#x@fyui5<-O7bFUC4N5uDvZS z`%1ahnecYI>C(BG@TZc|orWkFjx~X%>L-^8_Ao!$?qI#cHm<2Rk|!dBhX&FlZj}&G zu-J#naQ_Z47O(nSg7H&N-;>RU@#^jKH+>1H7s7e<_Ih0%3D&DS_0lNt{$)Bgsf5Dhalu9ru^Osy9adqMdt^Rq@tu`#S0$MdS4GuNAI9qmMFJ6 zW9e^~=)BYkb<#xmGjuAl?BJ%4f-lL;&8xYmFw5r3%)E~{WYQ@qS(@#Rhqlw-RHi;$ zH?ZPBWIcNIjb)z{f&q)}n^*7>ugvMbx!D|*GJlgo$52T};oc{J_ zb(a42O7lJdwYoaXTg$Xo4QqnzY_TeVrdeak&&PR8(@=_T@QMiV- zuwc>PO>@1f9yu|elVowPFN>_lpeQ)FuvFpJ?pAnBitgOKzjj-~n?ru6Sm{h1q?eS| z<56DiwhYv-_*d8axuR|R%%_*gujEytMU&AN+|0~hbFsvIlltJNUYM!)H+nHG>4nEh zRg8WJ+p||unnYM!z{%pISH+3qvaP8fGyR*cS20ecZgIk!SMGWaZ%m=4u(KG@mL8v8JYPisc&M)CTq-)GI*+^piu^e^wvKqJloRoJ*B`+x)?Bl`nncJp++qQ$2 zTwRm=8do&YLsCn%bQ9#STtbe2U(GCTU@I3+HOt!<^Ur;Zbt1g?308hj#WRAnX)a>@j?haUi6h@ z=(@#jw8QP#7fM7s5^S*1UO{la+p(W391~8N^!~>*0GG_1iK*&jJc7W)M+C<6p@`~K zijZgnc8NEr0jA@(KTXZB4p#eJ4VU7Wp=(lE_Ahaa;i8+SXV5g4Q6JA@wed~@JA|GK z-bJflYIKD7X~ewX6|4Xs@tjJ%30BxQT@UvD5&vbng57?ad9&3Owty%VdW}Y0Z$ftG zef0*2$aL8-Dwd9FNMJLUR`g3wBl!toqbP70Kj5`WI+a>tNE>)cULI@p+p>9K{=|!R z6xmO61Zuz#C_KSXQuh7y^#U4o+8~XZV$9=~Mn&E9^>o9~rzNshqfQNolv^m%nfx7B z@G&3)HGJj1$#f511|5Ij#eA%mXnUwq`?8N@oY&Q4y=aT8CRvkG?Mk4z8np!t7!|Hl z&hO&1Q_0WLv{U7#=T64?s0u;pyZ_f%RGVhwP0%z}_SUAU-ZI_!x_{@)!8>D=9u+xk z%nOVxeIr|;2A6~Yr>`wP@D(xpnK2tz7nsa0m^f&Zd$!iM;@x}!CbI+oAS>Q6#xA<< zkNxu3%-GGq=NxO`>=OP6JO9a!aMs{B{1M*m-}%Jgo!kijl#v#Xu-{{NPqh>bZ{Y_9 zhgT8|@9#g$@WyL+#~feY+%9|dJ)Ya1AC5G)|JT1W+}vJ*im`a)!Q4J`bHU&jRSXV3 zbdEo_-}?-M|G@XGh4wzwly3S&H|-ciamu@$N@ldg?RGTs5)<=P(&<3yTimfEoAp;c}DoUW$3(x6Jmes|Gf=`YHNNFRu1au~>3?x0+*fkKC4GN=aHI zq8&kAoauO*WlVLvL^&m&&=e*-XPUG7P(13)lrNPx1*L-V6w$5~?$M^VfM*u7&vC*& zm+)4#na)=1blFx##234sI}KC%LAEhbFqUP-D;0~#Wx5Cfq%A$Sq@KIzabG^&{)o>4|umh+) zIt4JSBVhmOe5jK4rqdobm?q7u+0Ni&?6&86x7Kr8vpRmRm;6`u>c{2UHmf}5eb;E; zvh~$1H_CjTG3YVDdpybA=*7f?r!_lH2+z1Xb);J9?g}T{+-xpGFK*RPl8ZV?jYE$+ z=rNn!Zhh>-C=gADlQq*g)a&AN7%0~KkE`Pv^XPq#vEAv#>{dG517FgEEI0` zkIw#!Q;d@Zdvoxg*`tl<;0@d-(vm&pM4mFdL65S-WagLmjWf+K9&Nw0Wh4XJLjC2J z=H;Zx{IF(&K(gwWE>sXA^tU^FBGft^>VZ4=gYBXs?7)9}4+pq)XG5;{6B#^7+mDMP z&cm96{gH2Wq&&Q+Te78b?;t6RkgxLff@^=Z`nwFqd$=dwlG%xTVVIhh_S}<=tY7V{{rQ(l4kUf> zl#cY`evRC|_-X&ecD;Bq*NNyS@z)7{6WIOVqNDj>YRCuE0zoAYOzBB|e}okb_?+9w zlC5t!6lxleF#3}-Xt2M+G~SqQ)tM`hZvZ_?B2%0B%Z2}`-$-R?q%u+IX42;D#97Ue zN@s24#JRU~`JTv$v(|Fn&iOr@@8rCl^L?D}Sc&?gz zm7GrJxoXbqIiJq?e9m=@_%drD`%HS);teX^(;teg?{vM4P*5Vvf`=itt2PTo2RYU& z<&`{WTYR$bB%l(kodf@e`7{Xc^R&qBX3-!?vY9$wFa89pZeRz0qwhoJy&aMDd-}e^ zTaB$xEt}j3({-|Bf6Ktir`jwdb8g@%?$f_$7nc85-ucQ%G~M@C4)Y+jT(7X}mM!9|&wvp|=Iu|zObn4@snHfOv&EXy7G zN9|+_8sF145x4)TnOOrwF+^?~!zXUXmxVx^*GsYSo$)rRx{V!tr+t5!Gk<^0s-+-VWY$+V_QcO%Duxl`f9* zs%f-+-v)tbKe#8Gp*! z_W_FbHfTsgIZixOnV?Jj!Lm%842ft-G&m4~3T<2Y`N+L4x3Ywd%rE1+^%Z5i##gpK zS2lh-upZ0RvF-aq<9m6m93&XOoh#$p_m3IhOZRsGOJ~-2oF3Qwg2~;X-S_W7)cX6ZkDXAo@os2V}l`@T$@^jO*^>0a;P{|{Wx&GqVf3_gO z$ewA;Vk3WsvkI5)hA#wwFS6mn`+h(qh->$Fv9b<4Ymt0xhv&UC7 zaLvHW$s`7F23vDjD?p=nTAmv>t8EIgS#^7_pBX=AS7d5E`0fuL;y|tk_dd2aG8c9= zX1k(21ZRaCg!G+cw9pij1q&S?@ln8Et7@80Ad&Euk@)H^K5}53LENQ6T9PCkAm>Q(a-O7Z{ZVOL0`31j+rn2Hn)YOqpBuCRww}#JQv#;A5X}Q86al6LL(B#%+hH1vg zcaCa^?F{i8y47xmxTknv0g*oz{?~_jRNOvV^r@X7N<*VV6m6ID= z4wbDui3i}mN*c2XLbvQ~Sfo?@%aQdk+79_k%^fa^!Sv69d)*?@!Np)Tu^-?<`?0`3 zOp+4kAIP5aU%zw;IukV`MWuDuGA|i^E-;R<`ubKT8d)sZp=QCr|G%e6qSNJ{ghr$}WNE zQ$_IoXx}YH4xWJWxV-Nl|5&X|$ez;i#bIDBc%%0;aevx$rKhbXBRS)iIQMsqg_Nbq z^e2thHhaoyHG&w*PP}>*HxAX2`|yWpjiUJ~QUK59^{shsNwB27*Ib-EP}y4y!rr`hhu|#^Lfk z=5RWPU*2a9XK?r@ede&9!wYP?E{Dk%&DHrFUTm)};Bb=t+CmPmz27{rn8Sse%;8cF zFMr4!F6ZzZ^V+IrVNGVtOw*oK!)3-yv}d>5dwupyDifY8ds$7aT5Hc+3?D9GpycyFb=oiUH)^onyol5ZZr z2kQfKYQ&~Zmmtk-x-d*Gr*a~zag8JRdlx_3$h1gCrx4EkriS=HDAehM211A68~RI^ zJ<#!QVKVfirg2)2IF$Oz-sD8$Z)4_eIXW)V`YUxCt&#z=x4ZB2m139(8phUe&9;Xh z)-X^!CPB>q?@Z}XHjyfr2)Q%vIEm-vINs7vE&1mo&W5l3dP0dZQ5zXB9(pPfeTBZ4 zlAJ3!kuLXO0Sj%b?QqaZt@scQWpL)C%dd>LZthmDV5sTO=-Fcll4YTAGHlQ$f*go| ze#oiq(zBDij@r(zRXVMY1#jTU7Ju05=old1BobVDTw}++NMjVScy&!PZ8oN{9kR57 zz|gCqAuRueeXpLOarQNm0e7^dawAlKDHeKku)Mtbe5O&Ap8+ z15>{i=83mN&6Y;i|4hJH3_y;WHaJfD0E}JJzTg5>MS{yUJAe3{Y?g$2-u6}7pyn9) z_g6+{Z4YfDuD7a z$6J++X;iG%=Y%2hiC0Q4{b)(%X8r9ypVz|6D!uKT@19!1J^uFBa5dy#Z82B*+dt7f z^^Iyh#b3JAQ@fqss7sIKxem!8}=5*YULz zDeI6MfPwZPx>OdUOF(Mveogq{SVM!mHfUUp-K8ZcNuBb4c>|XWwna2X{br@x*I-S; z@DgMBt>AZ}VO1z~&hL26D|~i>({fI^ba6SFuF_l!hCdL(n$4!bS9Brz%?CH;j4bG8 z?Y^7L{Ao?h-+Y^D8fXqLSpuD9|ENsjHxj8V@#;~MzbNHel8nWX^|6`;$An==PDCpy zLr8gdxCZ563ArAOoZ-vM%-=GE!vp+Yju*_9Fb8$~n@f7RHzVr~-^nx>mnbBp7gueC zZ7GQktP=ZzhAw8v$K@hp7aeiD?fhPSl++l9X$(HBBeDrs-prRNw1W0y9ho;awKJ_< z{Cf&Ax1FK@p&mn0CMsjb`VKu8>LN%eDpE(*)c=*al`faxpS=kL*;vw?&4R7j$n|47 zvK9R&uHra5jy<@uF*2_!vi^`P%H^p{Q;lRzFom4Sb|k1s(icQu$=ssWY!fFa)~4f7 zMSo-!%tm$`G;&e0sweQYLoWp~)ZwXx;Q8XOoN7Gy`bFFZFS()>ISV#_W zPs@B+u)h@1bKOCp)lMoBWhC)o-Z@4fZ@e9H{RJM`bOrFvq$wa+~akta}!4?+*1kp4Zn<>Sn9H@Kqd+#m7E{7Ab zpF2PiK5m|ycAj;?w|fOFvZPwMi!Mf|_k@fXQ!MqEPMAlz;lw0<)u5eilH#Q0Uw~Wo` zXMG)ThvxipM*L9UKXa=6sanf5?|T&SV9Bp1sPra&E+q=;O7lIM5A`(m;`ua(Z}EMU zA?d^s{#<;tQCTlH+s4l{AMCqSylCd~1}@?z-xt#<5S<~2-ue?+4^_{u#af_beX{g# zkbX%Ff!VHyYK^3`ed2a(IxLfdE0k_qf29Hy+@J&^8+U5<}pZ5d0|GPyoMG zf0PHXoIY@UKD^BISa4BLLx2*9BJ1ZC%nq#&h1cn{o&!+hk1c=}Y6q3WdcDLMfyl~d zXbw$k3IXTE9}fZt-M$NXs&=CT4~_>&@QUbS$lHsB3j11;h3WnO%)JeKl+~I4on(>_ zAaVx`7Fv|3*)}%Trj51Opk`nOCpdwqP-$x|t9BMDcKK^!v4xNr(mH!{S6Xe$?%%d- zx4VyRZK1B)0KQ}e7|LZC^Mr6v%lTdJ^t=|BpB=KLq{N#TysT^fHTVUWR}(d%#5e`W)S z^Z{47vXui|3aII|Ya||G5g5teyfYUlKWxETo^bieI@0KVI(%P z9e2gz)5=9TNQHL^1)gWD!_Iwou{TQIT%@CaN%CEXyWPdAeiY8(AK)Cg-MnpCc^=l7 zT&&@W`*?GZAgxXle69Av- zXD@*^vXnS+?vA+A%306Y2iIN?So`q^8)p6oa}^7!I4DHge3ho;-UrMKqjZXTlg~5f zZ**Hv+Qah|&;4Z6FvUgKK$6SzR-L^LF&{mF)?B`3{-*10&RO}YUZdXk^djtv2Ba<< z7phD;oohc;d;QIH|S;P@Ae#X>!%1aC?u^g z8rfzT!kV6yufh6dPBTw&QV(I7-jb8^3H@1#xlTeh>p3ktpCud54z};=&Qk?J9kNz) z{^LkTJUj@Psm0=NtY)`!pSmAIXm{^M9-K8l(JSd|{x=U`>F(fGL;gT--jcJuX=CSj z(`3+tcqPM6AT0>Y@``sTnJH5^y2@?Anmr*WnvAvW&gT)p$DC+yWXOeCeVbS#yIms1>8VVe!YqyOpyBcA9En=~sU*vm^|p?BW27Y}-*!>|LA#i?(=> z_gbh>9dj6DQ|5PLuePq%E>St%pc9Ojn6vO90mL|M3N=euD9;C>&UnQ4>i11H=Xdhv zdovqw&zt96Jd1w(-dQ6nIw3XEJ{giCezdy;1T`W(WKlGJX}PHA3_~xCQ$xKMhGs@i zMcv*yFL{+%{gXS$e)oD7Jn8-I$m*VO5R1yi-$>cRp%4;5uvSeXW?<4mlGXf@AFwp5}EQwrE z)Wyozzuo*h7}&;=4+V708xz88fP=$~P~eaV0Za`4P8RFf2Azq|e}_LeoW#^v+uF+< z+jOl^)CDe|eq8L!)= z2h7Y7Kjd54SuawELb0??`{!AN8Y-tJxU5+GGvh=IrqG|y6q$39p^w@6i;J`M7jq&= z&(UAJ52I?d7U(bjn&JW}d|JK&VU6cXb2CD1EPO|qAbJm%x4dmkzBaJj;fj9xlN49f zzC2$E?Y@4zUv6e~McscN;EfARBk^!A9CXBOU5|PJ<;E6%knY!Gt@1^-m-y`u=+C$H zXN~@>gJgtMQA-OMgUC?o?V~fXwuRToI%i^J9S^k|NZFv2O{8p6N`jPxQhG^&GMCg2 zkTRf@W29hb1poQ(yyiF)bCg;_Dm1U8wv2pbN~t2HDjc6#9=iNzKC{<|Oz?hn9o@x zU~u!L&^7-T*B9nEHzb@Jb~zKsFR zlC8viX)CioRraUW{xtBD0)T(Z^vttU680r$2oD)Cg8`6D3znKh=!To1tpCk&vzC9h zfnE%rO=>@>%%H!6+G6oA_|x%j)cdzGzQc*V8TD@8px!b@q^TQLOCtgC!Psl1c@Dww zd6O6E*==hvbBPE0t(?m3gqTSLdow^=)gYJ;=ic?{Oto!AS~sdT;@v-qXPEVUaA{-^ zqS47-eyFcD#`ZwX=_<8eC391s7f z?J@N?r%`ZK??AT=g6*!WQh4U9xfUA0%z!XpjwZqBKp58X2J1hB643jO@YX6);|qJ- zg(dNYk2({>{aO6Na3UVwY^^{m@hO8z3vX(iD?H9=n(dTe42R`nTM>1~!zFGC`NF(Z z@KGq~8XSy=A7$&O?kQA&sLG(Hn!=cS9mG1d05J;JwAKd>b8}XCec(B*dMc?4>|jw9 zX$}CQ1`B9bpd0-vgD`f6yrXzqSgQ{xLQT>t|7?^d| zr}(IJCgFaq89mR4xC;^MYPaL90-XE(O63xD_$gCxbSHq1c-F#^dT7~}_3G(>tm?gX zf!1^Y(A&<)r^hRJ#MDG2SdB@2hw`1J%21^WNkyrCO#J2E8d}J90i9 ziM0}5%$e-0ffpN<(i_0M7&%G(HWhftyRq zQ^QN7hi70(;tYm5Ao%fIl{M@NI@O}mW&Ygj%p$Oh#_VfBx3oO!nYm-qdT6+w2}_9) z{><#GRSTnL=OLwNb{^KlVjBFh8l>ytDpA4)B{L`O>Aq@O(i5nDrzenp+j(OaGJ`4e zAAyN;Iu^Fr4P40NUu8DhQZ`ych*;qoRbAkaQ3}X50l3z;q-d8$)FRk;hUf^c48XN( z84Lr3F*Y!Z&$SCV3iMr9D?)u|B$>W9Wc6KR8c@CDVNAB~;28`PDOCUhU_k{4J!ofO z^E@cPY)vP!jWq&+P{yeU*E$vT4Ytd+S!mq@d;{@q*LnXo-4`WR-E=>U!+oaj2L6UJ z>g!^@{!JYRftSO)(1FF7F@W1GCar!spVyhkc0rF18_b)hdF0zB`)vbnDs2W%re2`N z(%ED)4Vbs~gn9Fh*>An}TaK+@fHzfO07eBRwv}TxQ<=?_W7ZzPtUgGVDx0N55WJ|p z)@CW=&A^$p)wG6O4NAYLeK9}&74#946X5RYr~~6|DOlN^BZEvD$;aDSU%o&gg3TM|FY{XDn87V z5Z$~Zyk@Sq_9NqzfwdR$9@8$Eo@4=G1!T&sP@W-uW+PNO>nnSH+XZEvLfM(*`Z=One$u!m>M%`QBJ3vvWiScVkRIAu4R?uex?kfGMW?nEbpc`o z?V$cDGclG<*Xq-f452lc*rqMakTPw|%FsXtyAvC-kQpMq%?xpdMq!2s6P4PypbC?} z+oTPd{<0tbh-ZIcU8bWJTe#<(%^Ro)cJdst zlbi&)8!%Eo#+Kx)ZF-9vQ#S+2917?NfLA@E`!wR}w9f~-KL@FZ*U~~RXJW90t$%|v zv2Gp7n|R;AdxG~(y!Y~+;C+DiUfz%Ku4hhWXpQgyF?GS?i+ylwtN2txma=%TYOpZV zj}1a3Hv#W60G_4Ki*eI_NuEGxyj?Z{&}H z?^cOJeG_wK;DrYzwp~Oun8pE~=y-0e=tV}p_5Z3rj8P-WAEp{$o!J`(PZ&I1%*h)` z^q2oxii`)#k1<1dyy%2JVu)i@gc+;5(Kda~ns#O_(wf|)eeo+uGq9!Ob+cZlOiaIO zZ})e>r`WGze*C$a%sRLDw>_=(p|WO+y)pATps)3r*JFCU(!LH)ZvP~Li!<44vhkIm zf?0sXje%OD!S6EL;p*Q<OAL*Yk5h{W$#*W<3Q7tfqC?KaVXa3_q1$+^fTsu{nvCY3nbCK~uno0Lkt#3mXje)40f z#HmVj?;p~B?ioRZKgj9JRQ;|fs%PX3{?o;&MBgN~31>qLnO+ktOtJ!<(AuR}r;FKLYVv=gSx#YN{aNPObR>7Gc}}Ra?KY3;)K3nwf;}TD@xO1MO{czPpN0K? zyPjn!`&9Mhl=tCn2p;TFKHUMy5i_wnC1@O<{*FO*#A_86YE$E+W~72hGQC#eV0??k z%vRx`Ftb%Cn8wUj3DJ$+v z)*=n*h1&Nb;y#-;3K6%G_WyfCY|=urqC@{87C+Bso>v)CZq8`_$EKKcGv{CYqO8Llsih!;MWd>^W=X23mBmRlx#l$4M zgxCyKBA!!R)QEy}HcSgr-Hno$7a29Lkz=DTLsE}DRgWSxwdCX=AIr(PYl_hdrF3VZ znw~8(r*h^cCECwcpFM?7zYNd9H9f1u!}ZYDT*bRyRRHflD7%=1?wXASx{Oi7z$oE4 z_+Oo1lvqb5|2Uod#1C-$cJ%@5QqQ~NBbHx@4JUX#_m1=I!?Zgl+lLR_QOrZ~g?wec z^GK%Jkb3}K=y)gr8Z7?hV)V3oGe_H;SS9-6qf?a*R~y2xJed6BxM1rG#yHRETo6fU zB*Ds11QjCj)sh2;`L+jqex61+BKzXiK*UGFZ!*S-0xW^!QWupUB0asNK+;9PIt?&PQMLm|l+e zV{aRum5(o3kum?u@PFof?m1w3ZnZxs zl9TRS0=RDEBC@mE2HpWxNiy#Pd6hi@ZXNqmd|aJ3$r$~}ikX%~*a zpSaui#M<62aK8CfW+Al*QhKB*S`K9vg*3m63gwcNNNgJgf4nba)xweL4QbqET&HjX zuc3yEc-Q1H;Yyp~|Bi&@c$+Bf<40Kf<06YP_ zP2;tvSo>h|@b2WvvtsemImQUWgs5teJ;su6ju;%4VQfffr5DpihPBr-6DTMpIIwH*tQ0v2T1C8j027V+-%dgYT!IzzffH>5)7xIae&Bhb4K^pUS&OmC zD2A10w$PiuP;!N-ESWWjz&Bat%iz6wy@y0TvB;Tljx*Hg4oUeJ=*L7{EZsL)dB@7z)0X#8o?t!zgPBn+6Ov zl0#F2);uHD=9g$7tfSJoDWWGM4Tv7gst3X+qKAWEZr@PW-X(rzM8E2EKI3$rXnWgf zJ`2sLF*#wI`vN8jeFTZ{Z$Sx)uYdCdF4c2>b-?+z!*>P%R8~e+moN}GxG=A zwx+xXK*wm9n5pOYyG&!v(k(~Mb&mQgfs>Zd&GKf4VngG4QC zYczD*nH&23+))h?Zz9#j?1uIS#Z5>;$|~*pCxZ#gQ;uc^TEL&(w;&3vhc)?UaS5gRWjZV@hJMT}>7^2b!hoDLh$S0u1_mH*v2<~-E+K^gLH z=}z&oIb^gPs+n!r>P*;%@%}c7jChkF2D7FJ*|AYH1Qu$ASlw}HR<{Bdv$1|VrNN>$ z6VE<1RP&?$kJ7KVzPy26gDcnlQwmpX)E%LV2ujfPBP=mFIANVCduWL-L$XhO)Ly@b zmYuncMBOCVecx9}KouR)Gx;v?Z&rxG+tio|k4EdR%!RwG8cbWN$6BAvP; z-UFt*U&;ZZuB~v~;Fsu%y1-o%{#CYTG7OcDe2@R-L#Fx0ux(EwE@~mZi>QfOq-A;) zbboDIy$R`~Vm-0x(5fA9gJ1M((^jEVGKPR6g#C%nE@4oONOkBJ*%uQ?q%=MowQ=fh zM9}j>P8mj&qR}Es;pa3_ik(03^^()@bt)WTg@5yo6wdzSgQwx_>GNNd@i&>0vh0wY zqj7<(CNA2-Q4l0vrb;Xlb9q6e!oP)e7_0G{E^$fyO6`1On}U`BO) zxxb#Q(0Cjn2Me?C|t(?VX4S=-Am(8kZjttMR!!^XawRCXk#3Mx|PX zTlaG2kgeGdwS-13xm0_cH`tYC6=Iu62q)y@fWdBr8Vq*MZ9bpz!QMe#Aoxc)wXiRSfvuM)y6W7-LD?kiW6cVa4az5x#uv?-kh^a{p)ES zvsnV2!6{qIzrxNR%{RRcZk8aOvhx#Legp4ReUJmhftBxz)eNni#1=Zy04Z~7fv@4D z({_3B%0CDOMMn2+4m7b~cW!Zx<>S&gWX7Lu4|JKe2ZCh+Yc4AXYp@48KNd%$8{zB} zkKpqZnGpHwmO-`!(Xy2P6?ga{e?SO&ZC?CZc}`8BD>zcg-->w)5>UzbS;?_V{#Ww1 zD&kjuSmXGez&RkmGw-ITX&~zUrY`=uvM})n>%iL4!OoV8nTSB%>O6vE@;rrS6ZGs+ zdtK3!6%13m=K#N=0+N057=>8&noncv<6qlU7oYtQRcz*WLtXr9>oGUGW?j_X%kQ1{ z*2V8^5fsb(bvLTA2Mj?CLm;VFY6%l0Bo@aDs~&8%K3{?Z;ZobeIgA_v0!EBcI21$s zdJf10!_sK#G2{%dioO0n8gY*u5~)$hO$7~rYdUA3;Cl*A3M%Qx{$8n%N<9R+aE_4; zGR7ImK+IBzWBQH1*zoGugs55iuRSA&vf*i95-PvZbmI0+j?` zxS#T_g*v8<1pxWwv{~3TG^Xh$Z83s2Y<-=(iV92+y($yyLf@>sMsyyjELKt-rR9F~ z7En7r#z10l8YbXdW0wi*5;8g>c-vHVPgI<;U< zqfaS*;j(OgA@}?YsXY&V!C(3X2E-yV%);8v6tmD*_7|9iuT$jA%)%MytN4S36i89f z^vbrsr^Q=aR^Crwfkl834x#Fv6o(Mzgx9`-nZ>Rq;(lixPa2r}UxK$bBf_t(ClPZz z-~9ZST_isj>O|tBN2asD7* z0)xJR2&O!dc>OVL)iY#%-+m`V5mCGMk9o1nzmuSZvqqRLenLFQ)f^oPp|~8e=g;7k zUFqs7b5Cl@RHG{5Ne8a|-dH|;s7nj1elz)r^-TA@g=^FrGXJaDOksRUVNuJdMr+He zEjLMhSS2zj6n4WKEYEOqnbEC=*M!~u(A`At-NaKm-p}KZv#N%LUEcz#a~SG7F?g{I z2o$?WhYD=VNhd>(Bn&lOjUsRkr$>&5u~0SPjN--EMO@7w;k<6h7en*?GaCIy2{=@!wek5*lQR94{Sb$AjwD1n_uDo<{N4waCAtR&p6V?lBa<%4Zh#9oUxP} z({uwCR~w9JNc}_p`<7UgSXb||!7Y3sD9nIT*17HXYD_|G3q#cL7KSP7qB6f`sStaD zECX($4;D>F&kfb7(Es7&T=yk2qV;sQz-fP&eo!|8x$pp8_apB7h~{I1(&P5>wQEXWW_#=23neD(=`j?tgcn0YcKOZ zvDi$r=!R-uPpuC|-1=kwJFEvDrs#yZcqJ@+>vmDgksTow_b*Ll#b}?2e~ET!+{{L!1{;Bvttc~oRmLlT zw}?N1-m}#-{Uhg>8GcUc?eBSu_y=!d$b7qArg=4y_%-lZ*Oc%J*Ky7J$wGx+EA#gx z#7I-ROAjsuk5Ujy#Sv|K%8H&2NPW~GX4*I{nFfBz*?=WKJb7qpYHJ(ZpFYLfY-YUd zU<~$%7{gKe95|RN!+VPKyti`^b?%aM=l(9;xhS18HtM6*2m-D7FSTE%<+15I#mit2 z!2dUv_Eul2^>%`z1y{pDe_KzA{wiKVF7uA_4R4Hog4m(g{s24F=`TH`LL+%IemZ1L z<^0Z5Oho(=3Q^YKgrM+_n<#GXKqVQf?=Qv_1iAoyPvz?KKTo;rELRw7kx?PXDS-gj zM##`zX=40Y1k9xFI*`0sf$fabVQQ2om-cR3I5NuDM|wVLlupN34RV|rWdG7Wl^Mx; zhCy!HBXG>q3L02?;H@cIQsknr z&ba4B-0e~B;ETp

    +)qy-1OXm^N~yD++^7;ygUhPlPk~k)?-4$Z-A)Eq&e6D0saP z%eEZ)6HK0R2G7ot?}R{^3Y5`2SBB662y!3z66}7G`evE>AGW!IY z(II~!2@wvwVi(Pa!vqG%Uy6~t|0U|m`XsSN3%O{YETN@&vuNla@eHG{SE<=fp9);! z0d?$Oy2H?PBE)v|0)UJCSCKKA{Om!aI$U5!$)3n4cbdLJTA5R%3%Iq}@)iCsC~vyQ z{$~39eUtEbR=@cWn;j4RW4`~(0ceFDahC=91XQ^gSrt(Ju^E7w5}leVoV9mJamayO zSP_d?((avv>e)VH1SJS9H+p{u9Tt?Am|$J0&Clt4*i=lsRzx9!BnOaVfFG`vz21FW zk~_qB$yJRc!o`N&-`KcYS@-}JN#~OwZcSvpumRO{GM4levPz0q`S@1%c%}2J_cwol z;85KP4mF9uUEPJ2eX!BHe$7a`?qT*zx?rNGb7BzUeD^uQ5rZ-*r<~4-@M&^E zMpxC9aY62q3vw5Vsu36D7{|=Eq3Nr}a-uX@hX~a*BUIhJ@?5uT3j=Pc?#4;Cr2Rxz zZ=CP}T2UCSi`>1$ZO=5&-8ez7BMs2cLmXwF8JwDaVtP(aUxkOp*O)!!oZmppHa z0a#2dF0|fa2vYp3BFEa`9$*yoB~4e5CBmz6xLAaEzYiqtEr)fg)i5RAB!N)(wrZZSY;>|f(-v&kM z9=`@z_F!rCuHfU!3pfc)V3$AZTe$lK7CDe`9JfO5yHB)Ssom{&v2}>QiSR;%lXCys z-wqF(=U&j~?oR^kr~Hq!i8740$^LM1cz6p-E0xWEjdu>a;84Y?PsX|f6?Bhcd;PcW z$u8DIHd})fms?YXYIZaSSep{W+e?1TeKasuE41w{mn~UUr1H293Xo&`mZR>iV!s|N zZ_!9dA@U8K8^f9KljU-$HTDUwvd$Z_iexZ$|5g{<>S5Y<%rR~)Tj==mh zo<;i21*-}P?sank^#)@GWLt6;r?~jog-KlKYndX#60b=BcBf;`k}WwaNx3j-5`U%% zZGnx~(YDr1r4#F(b8{&i$DCV_hWV_c8H$gn`%(>b)TOLJ~$nR zb<((tqRtg;gQcBe<=-}#JibR$UP`HY|R3b0CiR;21EpMT#a#CB7 zo)5ELy0zzxf7PE(ody7GU;F)BGMlvmM0)+cCoM@{!2*#W*&rvupSMRi@uqhl=!GQz z+PduiV=#5J5~2z7a`R+ozpIfA`J}N(izSCKl^SAv#TTZ|Ks)^*hRM8v3;ykl%7j^9a`o;yJD1>WHH5Z2BmxSF@ z?jd*-3v(QHJ9E6^lIpINlNFkh-kjBbm~83()U_q@u-s8Nq+cTs_`_LlH)cbo;S z>8;02!^0)gs&MbfPXF1%0JpPe>8>JTJ;DqGYxbFTiHf%MWlku{^Nq(1gpX~OyNrAy zwCs;Tv~MMXrZRk*DTu{q-wOLtOAhtDC>9*QU1@NEEey>@-3WQVTmp+l)Q!fog6>Y@ ze-wt@*Xcho7@D_U0T&-kzB)bF`4o!m*yY#UwQ2&p^8U^LJQX0-_YT^(`{)H>FkCKr zCn5$h7lK%{*vXRR5!V1+BDoD#M?Eq)BIsvQfjoIy<%HXlX=o8)a+lLN`z|W5h0kXn zCnQPp1=`0=c#tV{bR;myAg&jxmkNkKOzr*;9)m7@yqdnoXE#HES0RqQrWrG@w;Ih8 zAo@}YMAiL5;%m48PY@&jm;5r4cvz~_*H)!n1KiNt?bSwfM)P*Q7^Ijl$jRH!%)i^$W+fDJ??l}4Y zUt?`wYrM7D*?dyZm(RXK!=HTzUAsfHZ*nYt{Y|t$H~l6I8T4)NMmlusmSY-Od$MW# zmXG7v#Y8u+o{h=lz=S)?D1B3EU?mKULN@`G?v)q9MBlPlDzF?OIc z0cLyKsv?_vFu(oa-377G`Ez34{aPS@KEpCpMzSX<(}iH}K7ahHqVxF6p^}6zR#L@D z?QG%?+0+&Rf!eh7pQZOjS^9Ek%^IL&b>=NR4NuN1ki526YV&1WE%>D^mT_Cb&h=d~ z#8=!AUvU#35Vx;rh_6^ggzy`=9b=M(7qe9Rs{Tyk56fZ&oKY>C52ne#H!CF)KRXhi zdzWZ`d~UP4Y0RgQ1nN=iYnUEqY#g%m?Q6-dk-KnhszaDizqnOP7oDZ%W zWkOd&8X-EVeiCpDp@vsHtGdf@DPrJTs=IHq5h`5cWJwk6z7#ln*z5h2}Dy zNcF%UZyI<0zia$8G~H}H@ENkZ#h!M1Ya!IEjGKM6l+l>0G~fg{2L}txV=6K><=m4Q@_!zTAbj8jAo|XrteAuCZ=|8RJIx51*)d!g zeBe>|z^^h>ms|VR#&fX(P?*;Je*U{6+j|J|>mJtot%!@!)kD4K{-pfmR0QF;9vJgxKfw3w%zfL^P&OHXO{5tNMPj6Dxhb*+4eP{LT=WCmKuJ~21Vbd3Eh*%guXN; z7&%xSR^IMzW8wWo$R&pOw^`XOcr#3w7tdtmT7-$8U@2c~GKVYH2XDmKzbR__Hb7UR zmB;6L)2>z*)jbYM>X%MB)y6nbeDs8UqIIeB8hgR>Y3bLP> zw%ESw?oX?^RZXU;(o9pppeKEPoP#y`$LRyR(DMN!3LFZsY`7xXCbBgJtM}@{au^un z(zAE)?@X=JukjGHr+PovEBzSNCh*j+4v zp!wea#f(W z7<-raSQ`hjJ+b0z8~@;zI_U}BmWEgwY&&?Gx!1X<8;nK5B1r+&{DtpPN6W; z$aft~=a}2Au@8dkp?D>O+3SCCH~l%@YXq^V{-DN;#AO|x{L)DzN$e^g=*IU`D|bcy-)u=~H{>jSt~$}3YikMSXIL(^Z>@l1 z!^T(6n9rIgwA`rvT`un83d^yvxT{T-V;#o0>%GzzFMpCe=t^fh6A9nX72&f=wr(JY zQD0{KJG2$Zy#^XUV9@qmD~gOaou4A#Ddu{H*y$?&wOt~`Jh{7*&yPb~UenV!rTw7g z*+;uj>CVNZW^e}VT>+7?hK?pVpUq%-4b& zK9`}k+R9~1DSNSc_j%d7qb}spmsw^l%o46)NMkSm)+6L>ERJ~p{3s7cZ-Xi;qHPhG z@fp4W7WdKe1Yba>e&Ng#Mc$7*DMtD+V~5Nu)<-}21qs1U{e?W=<0MR^pdE{_PJNZBoB1(h;3^>u55ZsB`Ex?X%x=Hvgv9S_V9f_+Zp zT=%fQ@$7K>;h?3MW>aJL?Z%%Enxm`y{M@@AMT&v1<6y26ze}eA%uzKOSeIw-E)E{= z3m$kIX-^*=;z=9<6ybsLd+2&Zy|L#JHy5eUxZ}NCSHgPZo(O*9I*;JH_D5=eHTUk{ zNYIv`*ya}G4;*y+@76t#+f=AXg~k%u@@<6h_?pGPAuxl1S2b5`;ULEnxKAn7&u*>w z2ye;fivW%Pb<|(tqu=jt8{}Z$Bhl1vs-KO;f2hm=Zm@UDgWcpoWMHVUtgF;}Em)|F z;`+-4*gkWa!akE&xPEER?8z7&h)T03B4gq2IPrL9G(h;@m}&D!z}`U){xE+pa*y4OF7 zGk=|n91X}aePd8s@?xqPl^|3el^`Z&RDyx6twYpG1!Tvx{su#>v^X-<>d(Z>RRD8i zo8zo8(_-9U5)>Ss{NcAsSxG&RFK3Mojd(*u;+r(UdLon7xx36b35bY;L=YSQH2x41 zm3I-15;yoic;Eex8yw3&pRe$N57lP8Y3G^z`Zs<7;nhu=3>+#@dglQV(SK) z3C80h1i|js$N3qPGrT$)AAkD6#k|{7aP~1NeSCY$L{d&>Q_+Kw__tJV{9A&TsG)?L zT)%17;KY1P0D}x5bZ-e>qD3ozXQ%;vYT2Od@fMZc%(|juE$NPB$g%YY)Ao%L1N)rJ z`InQKJ*(kVM_H#M{-mmK3Hr`elt=vq;1U;Gv0#+0v)lMs_cv_)gDj=*=~1Msls&P- zlx2_VE)=f8a13Mdy+aEpZZi4>RL812ZxxpiD+@Isx%wLpyk5gluL>itoSdUj(l1@v%0=u~A^vMngfN4O&oFFJM7& zluD?z*6l6)WENKDCWX{~E%}G|fyH4LWeZmTqztF9>1H11w^_Oai zNv0Wn`pX*ZnJPa6{;3Dx-yPRyHu-x~?F$8sJEZmEsORE0wtiulK^JZQQ+P>xMhGXx z3}|OGjvC-=t=d7_Sb!H0WhU>Pti~kWLSgQ-vQ4zInW`dPV-Es|GG3Tb0ze_+i{EX4i@@wiyhWw89{yh^p3l==VqJ$4?0 z;pxmKorNJ}MqZZrUhi%qj*wS)vtF3dnMrmRg+$TTgL(|}hfnB*C)V?a)LNz1`jco*1HcxQr6m5nma~U#!k!a<|tv4)d`H= zjCY<|^7nn$B9)my7S^i`c475uLR+_MrcYZ~1|Kr?v<%{h>TQGtB+8FwSp{)kgbQK8 z9mO!v5a`CSuK(m&d>TB9dsLnf&3Tf5D-ehW%Qx`5`N+qi#GUqB9INSv&p@*E0>Z_f zU}q^AG}-<9a)B2fb=U&L*ICx4H14bC!Hkw!3@#ULbUM3rxz%5?B&E{{x9|AR#M_)`ZeiCKt0fWl7xm z19i$02@yZh7t;xjI_gAy06K4Zm=v8ebL=npjv&9rxV(hi7j>jdklngT3m}_RnU&eC zH;?^VCZacy%6`Ct04Y-GGrkTy=4$hT0ZiP7laX6?k+Ps3#;dY)9&8uanUtKG#UWtI zr(kbGfloOb5BG6@RI~y!v`U%QJSEp0!v8asx=p9;L34A$2OS)tC?e}T%Hr@SVDkJ>#* z%(tWk1LQG&UPLP5cYS)!Bkpuw*WnI!uitSuCxkh+ia-<2rSGl6k`2$csTV^~ggjKF zcdV^tV))cORP{Ef7$m-d>Ds^WqLYU}-6^?`Y!Q}dsV}C-g--i*kQ;z}G!}S85lceKv^=n!JqIyop?=TLI47nbiQf%Gesk>G`2aN3veXa z_%udwHHVwWrcM_4`b$AAp1kXa?1|#D2^b+oEzu$>RwlIF8&pXFJcMSSCH{a}P=lyB zU(!Z7K;v=`CcVcz5;>ORH!^^T8!*twfZ5Q6IS&AXw!j40wywGw9$=@_`3l?r)$4c+ zR&JLqQD^DZ&c;Khch?%b_>^@ZXVA8jBY-I&+d-$S2eH~ozFk~b2}zEhXYRD4sPgR8-2uV) z93+!FIri7Q?5zD9!`0y*$S?qrTabxC$tsSBf0$NaBT#)1GsEV9+lAd=qIsHZ4vVlk z#2~Nl$!8lo0Yo_d9xyCaBIqdzT#5aI3dfXkPo8>`04U;;XcgWcj_|C z-GG529@X9~M@7<9b+IQ%5#>Ufn{9ha~-@%=h?6?r=$-m)^#WB+`SOBKrdfrAr1ru2tahg z3G9Xwk}JF{j`u<$$LeUd2o_-4`ND+lf8bg8|DDi#nTRdH7@Foo z<(C4VB#CZsYBtuGmvHs71VLi4$U1gEiiBX_^8^kumY)~sRTcuRT(V&==-HojK@VAp zb|LQ7-DQF(9ne*JnDXlOS?*qId$-`ulAw+8C8JghmCIPIN8D{(`Xggs<;5PVI=SUl zHf5O$-Zw{EwfA_rL?tX-0?j>IzMJPP`(Z}8W}0SQ296R2a(|=vp|#V5B0yA^YZh{g z)hVWo3qLTG)q=;9MP@le4*zpaaG)o!+fAx@-FRZU%&n~VbpI|PYT(b7a!zS^Vs>VK zDKROW8Tr*Uqg6&X5Y_dducI?1NY>8kXM&Uc^76J0FP zyh~4>%&BF(XcJv8qWP6opqKYLNe2mR3r|ygb;!qTH=IM%0 zc^%|7K03UOHTt=YMuRax@Cl6Y_Z)Z|;z}nt0ooPG^Lg{VORu`dyYv!SO*r4|qEFGv zx1s@r8tW8I47}@nO^K|{3Cuzz*NHx8o+5#S`y9%NN;Ck^HdbLT&bZIkp2Y7phDYKd z$iq>t1l$PW>yreXD|WkkQq*w=ilZ1K$k z#3U960T@$e8To{uv&OW1TJy0P17i|rR4S;7_w73PPEU?YEs@veSVGU1y`nM^4DECdJXwlzDhtdGemgFZQiY{YlQHIBiK>8I@E4~B(A4H#{kO#Cy$xs@R3rIhHIX7JfSN7A4To2;Qn#!u_9iXfHM3* ze1KdlmV8MbTv%i?Q=UWZ5hv7d6sBo=0h+-+pfZ;O>&ETSFVef6&6l}gVu=T_piUtU*w-Y?-t=aF???;gtta)qY zeKNo=(Z*(`p~{Z95gR-gaf7C(mY#P(Vo>%567ATgW3WG$I|ZUlUt=H=fYX^shq_p} zXFDC&N?A{c!j5Y>FT}4$>o+eJNbnx)7%|!xYz97#7LTx-Ck-S4kl;c(-6euh z40b69lEsXvU9R?VBvTFLtb z5rMNv;H;IzAOh^RVR{x>50Re3&`R}ZTP!Y!HQ*}2d5s5b647DtP{>0eAS=lPsWVGG zTc6@BD?f&Rv4XI%FMWSzYF`TT_Wc$hhWwK2m{urGz0Ne!&($v{x<;>FtE?u{9CPqK z#vn@d*ZP;ORqs(FFWk)SJiY!0T~XI_=T9c6tC<*?hRkRiE^^kq1?CbZG0G{e;6`2YRfXPqmb+UY@64eyb;&=L zjnF#|XdARD;G_!8%%^4-=E5PcA`UN6mmW9O^xtg9l(;(yFAM34&_&Ruz5X`0xVd-7k5@8i3UqaZhufB3mG_VUw zIfZ6Q$4clO3t+4fEkGWy8@sxKud@*Hzf81fh)~$ej~H_|%mdCELnGmuovUU@eX`sQ zw}jne1VwU*J2El6f&F6%x4zsfgOWw)YA~KaG2@0Npmh$5mzs&lwHx1pB4_RAAxq5E zX0Yv%iFPq<13d`PY}iH3Vz?HwxdNgd=nHUUbuBa%$iBREk`(#S;>+0!Yng=XTq#-obXueN6hGxR)pqF{_Qyo%H0nU zD`VdNgL(V0fBBFEn1sAxmNol8WDacVJuyh0||Ux9I&!DxNSH?Hi!a|7{-3?vN{ z)B7>R>)Z{oKxi6v_n~ur>)8c=`-hadN4=jSshE1y{#ZAZ-*5lr9TBmR7YdywU<{6KjN zGY7?&<@3Ef1`Wr?_INq}mWp@WLuD(-j><`S6@?>ST<&zv&ErFUtmZk#lYs!>T@gZN zraWnRf028rQpawIq-j{!VJC=XxRQM;Q8f6!JlkmbW#>cj(2 zyJQ879(Mysa0e^sbX;WpP&$g74jeAnAE)5lA`x2ySTDhQ5paKlC636T1_Nxz`y#W= zgiPe$XYzCt`Xb^OOH~60mc}>Aj6n_tE##8Yzz!?%;4qADH_@jgMI#8c=7Ff=ur4|? z9tA2L(!o+@`yBdrJpfIp$_$-z{07m+}x$k||fbdVk$q;k@ZPk_dVJ}@QXR?Bq0s6des3%q4`F^-jQ31#3>N~t10*m$|D zo~35-=Hwb&!H-s^UKU@>3vyX-#yk@Iq;0#roNm0yDrb>tqk@9okEfYA`u)TP1{fh=jQhkoJ(0#y`cFa>CF3fC=MHcti(=otu0L#4r6c#B%blOiHNqN@L6n z6Kce9pp#K2x6oSsy|noID^mAM$||nbm<0Ga?6m+bpCESiYbA7OG^K-2h#8{HrXYK- zi4CGcAr-n&qWm&{=SfqN383gY6ym9 zbfMa7ZJ}tU(5?QB>6QphTn}5JaCeN*46at49RC?xs3B8miT@!A8A}M$T#;cGpezm6 zc!Sk@E}c^>+GH#copz-u@bxF<@|B69>*=FH2XGqLJcgdt$Y%yL%WkhxZ4TV8UY7`m8* zMj)1lO2K;*X59$!bV)(TE50{e372{h(KV6p5pLH za@8xr0u@^#qbemqG<8aP%oY)>JSZ#woV-?eg5kiO`So3fJA!-dao0Z~Egq%7ZusoB$K@p~E zC-O8Tc{3gFyIPPC*$NR~MpRBCFQIl%P!;I#rqglhEKHcBBi-|^I8Yz=W)52ju>aT{KlVv*G5#u38&2bUQEGCz!#Ely zL`%nugN1Zeq65wURxshs#xJSM{6o8C!>_uwP-Xj;v*{b#UgdsFP>^u2Nw9UqoVqR@Svq%^jcZ)2QgUCIO_7jARyQj6 z(yd#|FQ{{WYsLg*)Ro!sOTPjKvy+N`Z=oM?LPIk55*ab^v9yKNG8#-9$>cm>Abi1~ zG>0?-jV(vkH~CLr*FmK1)HrAD5+-W!LzZ4MUNn^6?PeFM_f|`+5Jtc&J&Io&jUha&aBCnW-~ zO>`UA9N%Xz;-|?fF7MIs%Cq|AMif~c@Mb>)OQL;WwgGCTvKvZNN5jY`jjjk zE>XZ3<(8PS;}kbvKGpX4QQzB?2kfmu4ZZTdC**Lr);jsjLpM# z%AA?F6z1ll6{ljuJFsKOlk$?KLvO!1&v1-(_M|T}*v#7aE+To3XF_*2!_O<;Pb!3m z=zUSfo^X^UVHwDeF(+)a*@R#qb51H5|W$ymCIDLsp`)ZW%AfrM;8s%>>8|P1A(|S&{$671Btc)#a=6( z62tDMMiRLLrXMt}$j7HO{st8$Wsk5tO{UBt2g`Sy;yGQ)G-(FIs||Vc2%^=QJl-#% zb9pG}%|Tdxs|0e`eHrp9;)xsp0Qu*_3S5)Rh8IH>Usqp*?eVSN7nr0C1UIXI>W%3DmIOoOcve097aF(4of98rI;j z7aYct2~U?(HN8z|VTK~pOJUyN1TUCd)9bYR&>li87@IP4o+0>iOwt9NP9pyO9EQMq zaaQmWM;|BmUw~4$X*85RVW7l*Ga5eUk?k+Tr|A;NLM;G!7n(7=|1reX+VU_o;O|Z* zNBxBf+3(-e$nLmAkmPzP%Gl)xB%7wDp*ZN+MC{f&`jy8_`CWN-)M9oy;lLMAtvL>L zV7+dP6XBXIb3~RLKZ0+ksB?>^3Y8ssmvF&^NQOv9ERF@5r7yAg6zFU=C4cGyL&-(P zGITCY%hUXOc6^S;i>&>F7y#@al2+e{RR#LSzs2BTlzx%Uil%1&r~RWubg7JgMWdyA zfc5e678*t?CSMp0j^T)>!TkpZ8PsF&SYh{1;rKKmhR;9wx;bn9FJ(>H7tDg^>zrE% zD}cDD^E#Q67a=Qxp^)TGdW7$r?ZF`+X8il0&mzle?7;$v`Nbg-rv9VKDZWd z#XEzg*{SoCsx#oP2#4|OVBbs1y5&wSjDw^fLycY@cDrQl_+bT#uiVRsN~dx%L{o2$ z%o`7c0$tU;%>_goT6t4U-2ZQ8c{9Um7lQE0H?@lTZT)?JAmww^E;_ox+}?-cwvubb zpupic?5Qq$gsBi`fi8}CACA{XMb(L;l8)*M3_Bi$=6R)YA?u5~A%FpHfOi$iS_}3r zjJV`>3lTsw?@JAuOjRA)2XO^+^>pzFzDAUA}THh?}>QKWw1&0Ll0d=;Jd z7QJ)yO3@^99>U9`$3Jq1kD6?z0mm#WSH@Q+?JvNm_xX-zrmq*@ax@+=J4Pyp_a-+n z1}nQL3e8TwgGog704^*YgW}iCy&;EIe>|%u$KQbhQn*au7UW0f2?0|zUg0%Qtr9VR z-syN1VlMs->+F)19nj{*>3-n{)kM6KR~o0p+TL{<9SG$P@AJd4@a4;{&T9^MpFgF> zTA0GkqG!>{?#%wd8F|_m6HE}%F{~B+E1e&U-*74-)#UR=08Dk@ok=eloUY1wvw=MY z;*$V41cNRaR~)@LfQHzg0oI}ee~EwG{I5uMB+x$r_sE8E4A5_p|EUdD7OUx9UBD3+ zZWO;urbH4L%VT@~x)NY*q)<^nAG`k9jPo7P3EES6!x} zxIJ&=R?sM2Nip6WJ|r6?;7(_9Y0rYiIkIdDf|Z5g_(!ooF*RUp8f#mfm(w)S_FO0O zR)YhQ!%jm2cr{Gj7xGMKEVhELIjEKZ@R`>`Ag|zG*L;%(uR58R3E#re#>_Gy|;j2C@9* zZ+49SARLkbbA?h_65@y8wg}i`J+3d}hCcpq0Fo)rramE zkF|9<@)%inyNJNNLY|d_1}^qj+O#6?`dpHgc8R})G(A;qL9m7_D^&jB%zAb@rWj3Y z4fe?Mo_@aAzEyPE21_ zDVby6$-xT|{_`kVA~6l!E@MPY1l)tz!D2-G1`u8?nFdEcbhvPi(Li@3a2Qv7|3jD1 zO|A|$GB~f!RhW0}dk-7ejVD#oXxq(xB9mY3Axlso)Esi|`z@>pTdck3#X;RN)9Oot zHM^R}rQB{1x4PKfW6vhDNZfm}z9iX`j)dJlcK$w@>=IHq^EHfkz{LV*V?TniV9k-t zhag%Oj_gZhM>EP|j2i$V|N%G&>~{y8rYO!aiY>BrEG5~8-z16_Gp+0bn%Mt1J44OazS$@Oj+VDK-_3q zVwH#*<-!6fz=x$0K9V5TgJm4#K{HNzeJ^kY)_c8H!tRjxfyD$C)!hIy==ye@N(`Y# zzI53+R`%K}`gKOX)%2EiI=_Jah10a|$VN4=D+={_OzNNv{R4r6GBXtGKM}zwT3VDf zIs$NSt$0Y8&vyn-iY3*jcMhBgJPkqN`3`I53R8Lj1{F`Co&aJGN!ETEcnbl6zo8BK z-08QyJ8{+cEnMuLQ@OYA)L@}k|5~i?C76ZPMQGfQeuEFe&9c`tcE}w>;=4MJXe=;U z%!f`3=xlTr*@dnGemL+<0A;JVt-j=o0W5?sH_Z&S4VTc2_GQHHZ_~{DV~FYv$Gguz z^bc$Sm9Jr)%;EeHTwiW;kvDgk;KqaFwy<;MU}4iYAiki=7%UpY5wT<=kr^$7PlxZw zO(-2x*cllW+(6_>MiqBY^)3PxYr_-+@4uv>t>*W11#{x%u`Q zat;zTy@VC#>Srs7E+8Qxqhh#qvpY(US`G6^1nlZpxc@h30uoWZuB`KJDzx^D_><5F zuA@_ME+>*4(U&l90qn_@k4l-_j@=Z7N~By+D4_hbO2H@+iY|WZu`j?DN1lrK{+F%X z$|I`B1d`PxD~ZEZ=^ShDA$BgXOT*$2A*Ks8_yVkHSV)Tn-C996f<2>>rE4&&aEZo) z%zR>+2_Av^8Tg?MOjnvIiRxb22Mjkucx+waCtk+hAD#Bi$GQc+LYz@miqEM~aj{9_ zfN-jVPZGngL%&YiMzf|fcP$-+!(nY;vcX`m3h&TiuV!0QA&*^y#H{I$#b=oeh2|P+ zu9_6rG@c+}V+>*q=3#fuHjiWMfv7CcMSb)~uLDmomKO6Ge5``!Xr&LYoKKLVp#X%Q z^9;copo^@&EBIX7_yO-y?VDwa%}XTvDeZd=JK%)h94s(TDe5Xce7?JHq#$9EXU@X? zhVXdZ{7`mksQpl+PH8_RnGGd>n~JKM zDp{xS#(nZTaoVfN;Xk-qhx1o77AfWkj@Enu+y`;>%)J13@YOusc%fdCLz#;Q&IY)< zvV5z^3w^}dY%>&}(>T_$oJdgX4wayf3t^N6oI>UK{w1{b-lpso1ZwKAn##U{VDR*& z(w7cc4Q{9=(Ntvj5QQ<)YKqS(H21=~-8hO#1gw?|{YRS_Cj*4`U%*&pyS=mkyzyr0a*n z3l45%J;7(LV`$&Cx>PG#(&3BrP^E{#E1iy;@(nq%Z2vC*IW?$Y-hKXpn`JtnGV$Ea z7~DxB!Hn6`oUbLOv+l_3ZyPlJFW@0+H7V~oAIVgYSQ6Ol1Z5RoRy~Zo%Y6>3@ZeU# zE(;z~v7jH96szCZOTKENQ`yV63=Xq{9A9bBM*7o4^EsS3-M5kb5J!Nyo6<>VR}W4E zB{OrD&v!<{X0ciOjW+H0l?*6hkW`{n@RMt2*gt|dW%u5m=aJ_jKgmAiVLB!q#5yXI zD9^gQYttSKxojgZB2gn;gg3}{fvH8mmBiHOJP@gTPAbum>;YiS*0FLizQT{s)~0d$ zQe-AW0W2r-r}G5w777fcygEv}(y?CgB%J7UyT#POQS2*W)lN*e?vAnvX~2L^ngDf^ zy+cQ^E50U_g6BV&V$aLH;!jsU-Fy)=%d+4^;!HHYKiGaO&1v?ey+|yrfhDWZSx47f zF#sEz{W4&V3_LI#4*WjwO7MyQo4t2|uc|!r{S)>EB1YE^28|U<~p=~x~ z!``w3sHlNzWs1${Xq76dI3);%jHZjN^fvWOdwLt^*fZ_ao}RW~TTONXB;lHXB8m!V zTQ|lFUMc~RobT^hYhMyToz9ta{{PSCv>(aZYrX4T@8x-)`^DjlcU}6JcEU$A*u)}y zTZf$kWO(HhhF8{R&)t&?&-WPDzO$FTC#zE9`bQPI31#f)`{)o9!)yH!4hAl0I(Z7? z_e_(XMHv8BE|VhcXLp_8xw!iSp;%&i)!z>u357CNd&xenm?4m_{JJ>_Wuz6 z5i=y~x1D-n6~2d?pE-`FkY$M z;8%#hIDlQW zhlRi{diwFc5+}N!GLm;@Sd)goB^u)qHED^q^5Aa%;;Yvz-k8frxRl9}%T-*GeLh^`9h`U~0is``fk+XM3i}jUE!B!Xjho%<@MNi5 zrh5Fmks?f?=vPwgzJ+k?_0wo}q&I%v4rITnSVY&V6P5UI{xRYn^7SpVjSZ7(gmlly zBEgf1x=}>|K?%7Ckh3lTO62W})+G#_a0#Gfv@V*=iF%r^c8R{ESeE2fPvw*@zZ%Q> zWt1-Wu?gQLEiMR$3F4OHWvjJo6{NmF9wiidqDP`;o3AzSvj_i9A4Jpt5@M6Sb-AFAii7B?^#TEL~Hxj|d=q!&H9G#aQOY%bS z;0HFx8E7`q*sp#>%CFj;ndHI{kf*7~xq~EaXh-SfEWTQndLkTX)ton^f3e zB!=M~QExvYRqeTX$fwI&s$yFz3o0J8R5l%!O1sp@QbF-P6H-KT#Ft3*!uHvE zN1HeJ0JGX(?+!Y74yn!CY0blwIyMg~XxKbDjx~?ytDanV#MiwE1Z@JQ_Zc*Syl>a; z0ZQ4ke3=Z@(j2EjLLZaaM9Z*Hw8S8_!pv~GIDqj=sZ$}@PX_}`n%{OO7+zOPb2DaRV(OA>BZU^ z86+wCUF6Lo{6cpL@c!)r0C>(73<{rx`Rsh-SWuxyR!SUzihgnzn-ojAW3_1}XT zV)r_o-)0FJ9}}61{9Y2dh}BUE8x+t88v|vXJlABPuQ%o&l5X= ztvMFEtS?*X7DSrIVaxfs6)pNYwCl^>@zI^;5-I4q)}KK#&? z_TiZ$q;?NOJiVehEz$o9i-LtBGkCl`A?mJI*NdG_-|W5UFksTAM}Iho>eznzRL7zm z%G0M^;j@lrN@OX{uWw3S0JPzF&50MxCTsr-OaA5WMv@KV2t1Q~Szomd{svxipLyS- zC#zfo7n3`<=L-Ve7bDva$uP8oOJh;sbJk!O>JT6LBBpOtAa5JOC%MAovOSY1XOKTP z(?1;>{yOl&>EFWwWu~VLALM-`V}0TySf8?d5aQht)~6_m`L@6YZA(yoGO$gyr=Q`& z?A6@E|N9#xU>;{6E?ilz-H24;t-U!NybZn$4glRw)cs3to*pZ!mT2Cc67V6Sxz%!4S)$5rYB6z00>e}$xPO^fna$4V#GwJ4I0+^Kr^4Xf` zXkJ)#)!lZ;Hl*LVSze_enu=p6Iy^k-|jJZEVlB7tD%_L0Zn# z<2)0tyB>a{aJyOdi~tQUPBnKP(H(qYPzp;Gf?RCwpN~m>AurHpU(-jgdzg2=s|L7;&@Hc^dEwqJ z>Z9o=XfjHO3zKtJdAuOksnC~)q7!3JO&6*5;itCEk{4N7()R;`NO&EG$zZ>=|N1nP~Zwo!LM+`l7s zRg5Ku^C7Hd-vmCG)N^r{JnbD^yHZJ0Ww`6j=WCdO)?3LykQJCe%emBBW7&m(OHDe) z1#65lgk}#&+dWZS5ISOp>uvZhJ+=kWdVCe80d)--9amlTy*RPsy!S26PrNBwfG?<2 zmm#}mhm5QL(|&_=0q$T(H~p3QJ2Ax3xR%K-J&S`9G6OgGX)a7>B}pP%dnPD?cbfv~ zK$?mw7}t2Nmcrc%*7R)NVn95!357wYJYTi% z>;L4c6+{2GKZ_y~?!V~N({)?SZTwppshInlA9APG1%=c;Olf&`3r!$r%EKI7{*X&U zEG@O)<nB&%6!Sr2Jo3*Fmcv1QBVs)~y{t=K z%nb9<-g~hAOcFDO6uWuCF8-}Kp)*e2EKB|OO}=i@L(cxs_eZGIA>SvPB}&xEm5E|% zpkle~UP6g$ERwL0ZP3th&`_>KM6;PzkLN~)jw*3i{h1xI2&#&m7W(B~?lzbb*kZn- zGyyn+)Z%ux9)>ka4Nw`fNEg5Zv7cQSCkb$S*U4j{afu{~PocRygU1@PGCxg&ajaroGPL4SMw!H%_M#m(V}!I}n!!7{vB1IzaVgp9hk zhB_hMiuyecT2bqg6;+p%OZdReM~mBT!kz7v>H2{H$!DxcwF= zHR1nTIu$+)-clTwRJ&Z1r+1>ZK+*e%Y*jUSft**qS`xMueXGaO82bii?%VD3X36*? z$Z+}uOzQNus=ld%sE<`%NB%(MB|s7x7)E`Vr)>;t8^gLfeKmt%tznl{k~Jq;Jq;8=oNq++KO-IjbLo&HjDC(t&}!A63V& z^0SPAkcYz}u@`Pd>U;OPJL;?U)l(!ieM7aFv@Y>?sEtr4^H+p(LHg2b z^#ZCiBH;?_tKRa<#Vh$|VjZkyXZ=7|eIc|y9r_#f!8=6ctQN0Fhw@oYJ$lPD5CR#= z<$=8Vx#PuFJl(gb=B9RWfI~Fuo_4?>O%$m-%K*w+fV=IIac;XoCsqSEz>=Eg)F4F% z`6W_&PH?e0oS=Y(JdLfy`bnP?P_Z!D9~@n%_?IsGq{kh?+uvd#vsU5Sa|8iAF@O>3 z@`&fq7g=V>Tn$CJ-OKhA0J+fJ8L6sk@$0Cq2fLGO^s^tMzt5y? zj0>4}gpJg*SOO5ViQeU#!N*HVwXulDbV?|-Ite%ocq;K~`00Rg)* zC#HyFO&uPF6{O{&Fi_##e}{nrUVMUwYC8c|;0>6)OOUmQ6LooLD#2$>e z#rM`!rc^p`6D$<$PJ1I(<0pLuY{rtf)&e{+O(8;hFIDz(2KCaZX18m^Xty@+{6TP^ zL@Pb~)12!nkbCXE`hgAPCC3Ya5kCO(kv|W|%%7B^VV;bFaH3W3Imu_45cA|ld$wMJ ze8D_TCHBi=D;IwzR!tFnGoo(rcty;%gY=aOSgvuq&3%CcjGfv3t|D1MR9QcKsZ+hq z!k>MK^_n%!9;?^2^qMlyv|ms07h0MFMCII42fF2-CGLNWIj;CVS$!jU<8yF%Y=gh{ z8}imZqx{aSeTO_-{%|o1>27w@>0wt(;khfhfZ`DEEP?CZ9C4q=y9SkK1fNWpz~{66 zHHrk=obgy3u6FObn^NzF(vM;F0uc7GAROX%MCv!!z-DKBAD@)N<=Q-}q&Zw>yBc9_ z`z2G$_s)Fwd+6>K8(eu%S&UZD; zX2ZbXrYxJu9Q)3P|eO_uI^=9DE*$3q$?o6%du9qSC$?sbxBR*e3&+UAT6mCsQ(f$h>BKV8IRqrIHI3}mKhkb zpMf?~a^rq=FeHm78$%9k3Y1j#14mm4Ign|VTl{*uzNWG*VlrUHy--SXFCz&+a_xS*uJVPi9WrCM11Yb-*xtRs}yFiM85f4687Vjr1=5eFu*syw}GyUIzqicAvrX zY#h7(yz&gUZuWi8#05N)JsZnlD+>yipeyqt&P~>@Z#lK^B3W?<1{!lu#7gPOM>1`x zE5J|lE?df~nvouzDE2+`i1!db)TPdIC6zzyQSg5#U*ELs6|VsJ@L&DWS2ZmUk4Ll7 z^oQ_jDL51v?zB>nj325+_EY}K0Z}!*m2g0T^lTr>l^bF$-i#KWjFMIr1cMW_`eI2e zKNwQdtN0)g4EG?o0gw>OtlZXBTN=;I#$RUg$hYC-Qq3V>bQ2yFG+F$|SaLL49DS`mny~XQ3)1sViQC3%Ws_(IcFS zoMo3XW_Vw}bJ*}Jgb@*dC z%s?>`!NRHa{Q4!cFKnn{QHefOXSe8^h#6lg+jB__VHNMezM93uQ~>a_=WCXkqOF$nlAJE1G=V99XwkGnnj3jmP( zr4yJ_t5fAD_dn5xA+Fz0g%nY|FkGC?#QYvrn6&V;mlI%Oj3%+<@J%F&=2A5kIwOCO z_YBU7;|dC9BrlqUXtF1Cd{@15D?XMB+Gtk-VlSbnEdP}2AMC6pk!sUF(n%WxrU1Ub zxH586??0VdP%sm|Lj;jC*YF7sBM(a!%eA*Vd092CLR8Vvp(j4xl9Kb88puzt0+n6} zcwWU`gGke)PZpp?49F2jG4N~pMj3s6v|u-=uO@(JPD}Bnkgql=4ad&o0QV1bR-oyJ zig?0FhD(J2+@PQ#lsT=pguf`Scrn|g>|k}GChnStcAyO=RhGvab$^&w8=KVg7DW-O zq|j@1UcNYF0_edLc@_fL`QwccNHa^i03NUP_`{FpS+XOPHaI!b{8WapZ1I^xUZ$X{ z{6^CkUMMwl3*n(!EM*?B*o!2ve51({hQx=2HB_spV6MP;0in~F3Ep`=i@SH9pgYUM z3wVNzE-C*;E|maKSr)kTcpn`gKC?W$NL}!QrCT0eYCi}Oaaz9}p2rXA;;Z$z4hT4a zSR#NFxZw+3I;eCyjLpn8E1MqqLxoN^H3Rz@4BN3UT6L(g9#4bIl4Bcr1X0-^4?Gv! z|9sTl9Sgi8DIV!UD~}5tuJ%^;FH-eH&U4}k3h7CGu<-(sMC!A3c&oKVD;4v;Xu2T9 zY|fGzVS%@<#!;!Pb^8TO{m~-6o=E!f>`AZ4WGqP_LHc$$U2`c}ZVBdM{zJX`(uI12 z0x3qntOf{Ceaw?&D;Pm zGOXM}Hq{utD;lq4aagCXu{xYtPOcUxT8X)R)hqSLw|VRHWNv-HTDCqvKYz&j2%A+4 z<7zL2^9?}2L8G5Flb#?bhkJ&Ki(Wnni$AfX(fOPMK`1H}C}KrCG%(Rdj;>Zt=75<^ zB3?eu7P5r{GQ&u^6p3^~z4LXZq~kD7CP*Mk;%nw=RL7c$bbq^=Yh9!zoTOD!wfBPfP<#XT@Ud z8;m1pOQWFAP-g8^+;l19#8W-&v=S=|1+fgv_&j$7wg$Q@*JElKU2hAykUY%MmQR8< z{*C}-77K*9Zn$86Q5+L=eA!z2pe<&6S*M~{Y{hI_#Hm&|E4on|2nx$IjB;reB&6mx z#cBRqYk@Wc3}m{fTws-sKk-PY}Veg zr2k0x(0Hg!XM5?Iov`GNGOf7V?se_P!%-xH4 zV_3r|J>x++rnIJmfretFrug(!{3uV(ZoFW3o zo7N0Vzk7}l9QGcMTsqBv55f_WV+KbFv@uZ4;V)0UIT&o4hYX7ap;YHwb1MLhMV;LK$47ZU;M zJ0>U$R{64KHZc)+E&DyN7kE%->^R_Ie`@!M{5c5fdq%kR?520=yOlm;H@|yDjfn5z zc=DpTx$z_bgD&mss*}_6Dh387!}py(pd24v00cHNC4QhgbTqp`jKq-1h^j21@>T2M z&pQ4?yP88?@@L=6fsmS(Vvus8Zt57$29Am?>-6v=m3#kzr!0YOgAmh15nKq&_dPla zsLIVMvm`>1pouKHJi{{f=DtZnH7KhQl`}w?XY$|IK$t8qNN^3vIW@{#^7yhg4Z+qE z?3qEB6AdP4%U-PbsgE!rqwJjqHw&x@|FPGwrnjX|^My1633DHvP@#5ameYJlQ2Yo*g}rd~NB^p3Px|g(by?_*ZIzR4jf>g;4bYHk5CQ(!?^Xn0$g^ zq2|S0q!#Lvot@8;$#x;GOCT?nY+ia-r6xtF-tzFQyoY*qHY}z+(vjjN@3~$YWj=%2 zqfB2+9se+&kF6jLqQ*o@Y?JuP)8`y89n@~E&ebf*JMrYC>oeyUrFG>dt0LZ7I@4!N zkFp??GSGUQf0mHbNM!?p!>^~u#gDUAYqS^INy&cyM6DNOK5exDMK1TNK*H$jVEn{t zd1rFMt3u>$b_^`}aSxZ00ombde3Du4O%cneC}KW7VmZ9fw@YU*D}vAmfYcn{WgNUX z*>Zu#M1sOSe$ALo5$2SVA(y`|UCzSGOi;TMxv9sO3#k&1alJiRyfn}aO-9R%j+N{O z2!6r7DQF+pH5^Coaefx{UBvO~4>X*pXAB*J++HN@8ENqv%FykZQT9O~UH0SEOPOnZ zphqP4jDjVn$cGLZzHRrT5^E{K$uh4UBs?NGezIOV$(F*}0IB_UI?cG$LJLuBco}(Q zJ2ChiA9qn0L*UB!w$DmyN5YdQP}V{a0(fo`ZM$~I?M>m6bFf5WQsnpBPATnDaiBfzuSZ!V&R`Zn>0xldes5l}w#5~K=vRAZ&0%bw1 zd`<=;f8bDqpE#@7`vk=cw2Ma5;$*mi8e&wVDjvt0sx(6BqiR(~3V1H|^@W4!abWT5 z^zg)^BE%x5BUXy)h4S_TKs%s&!yZ+%gxbhi4@DK~An`#WmqeSuiesRLZ+DWPpdkd0 z4Dp*2H*dHimJEJRlPt&LMPUbiRCdKvy8{V#hsS1sTgqya!7tQSKCc_qiNKabU>D){ znqVwWp-JAZ(CXCbt7L_2nl!$^SuvkMgMBV!IBx^=6Z!8?k<_10+CdD9d z5LLY)pJu~e_puTZI^W_m=>)u$NatX=hND`sIH}VjQhN)9>2!#OwQ6%AExfot^`{fP zQYw%JC;1B-I&}yz@x}s)a2fq~*516uWHP2g?fF~4)v9c@K9QW%QX3eMfOe2(8|$Y8 ziYenG`D|1GwDTL?8V}mz;hewyQeZ+p|RG`nXBCtJPb zPAJJB!)VvUYE;`%(SE}W32?O9;*DYq5a=~YZpm12tfOT8U7*OD;`)|T*pb^LR^Lez zV9oqRQAU7e;k`Owf!apZx0Hr`8Px;n;bQ#^YU9f~JYI+o#g^^WwJ#wW@Ct650LB%c zg}?F3BT1pkmlkPH4PYrHt-26{;G4shvl#8 z>W|J}%^J*K#hBZF27mSZ*bl{D)g6Ps+CqqWxk^b`r04ScSRw#I4k7L>y0v}R>Ft#SKvoYssir}gjRur{9d!5r4a z?qhRUg7ZQ4uclYvuf8ANp+%w)7xbyk0BfJvSdl9EJP30~ey@}T9%t2RdO4phBg7pR zL=Psa_gNEUU)>-i1HaCj)ndKGcZuafeE#q(Rt>Tr{8jPM_$!ckdxpmX6V8qjc7PJW zSgkPNtSjOzQSegqp%F$bxL<*TKrUe9Wkx)gr}H9EIo$*JP6%=ZEo zivzvc@-gY_Zws7d5Kz{BH<{`s5J98Nb~Tz$1Hiw7XL~l6r(i& z2^b+h%g1xGV79nLKCl3a2=Q4{gLawLrCLTFM-C`}h0XEnBjJSn{02FF#QKar!VlD! zzvv*%eSRVY^4j2ZYB(KUD`P)i8MQM!Ms2-b-kM?5+I>dN4-z2F zL9A)5KAZ{M%kXOGL5x>hFFi*|2y#IG?wiHV$nszE*e(%Va-&GFr*y8HlCm(@KTSdL| z#nrx!VAkYS^1=C(m8PVbx09x*#yS<7e;gm?3kE)TOVVL;DORScmV{g(aESU z_HPz1h{<1{xViU=M1a~AV`GE$ucaAwAM-_h0LykOR$tjKim_j8g7(1gZ$?c=?X-9C zgl zv2tmKaG3bF)JxRC?9sBzKN`P969iCrzD?h#SV`w5|IZsu%95M9;E;z%@8 z;_MA9<-}MeI*IVo+Q1(fHRzN0>nVXrpOmok0tLcbcX7K=wad+J!`DzxzE~U$knzdv zHr`y1BIlf@5IOlkN(y{S;viZ=`Izod;%R;{o@=p79Zm9aRuI!}wC+aao*Tj=JXqH3 zTLtzkfL8P`{P&8d)P0gk8vi~$8T@TLS-gf1t*O2Fi7VLP4uETVymB3Ttf?AX&rhbD zNS?P;FVqIm|11O@Nbs!Om#BOTe;3xF^g`AlxJQezSBoLnqe3oBLK?=ZAR)zk35g|< zhZEA@F_$DG9x?2+ErCDzR2BkYATs(|f6gW)30zHUTWxb>Ye6got{i1_205~Po`l=@nvaGrU7v65GzX)(GQ_V19c9Fr&Cbx#gPhXqnOUNTTCb!##2bX>I{=^LnXdKfHU}a>$F%A?RGf z^A9c19EE?KC8qV423nTS-P4ofsO#wpYn3bb`=->F{|w^;OCeV(7gLv%gXjRwAw*r{ zVzVw@xm~^?MhD+l320mjUK%Yy*)P!9Qm0nMK3+9W_wgbPsWP2Nf*>aB^n%S-0_nj@ zKFktPjX^a9oAv}yxK68&Tykx+0NWAxj)#=I7FXR@;=5}~Q-mVTyg~|3fhu5jS_M)l zEg=7CX{l^&#T36QF0G%|5-O{5ejwFNp){9CT9ups3NIYZeHP#21gC25MMZ|u&v zHv8;zG{Xb8XWq@{pY7f54FBBgJ78v6V7_iFa7X4{%fj#>z6;74DKmqXn;8GU=G)R} zcG3YE0J6*U;U~@jqB!cTu@Rj2*NuSp*V+Ki|0@Py<|UUJNq}GajbaZPs}1pb(CC4p z2Y^b-BryPU)OZY4vJnVYoaP;}Nr4h%?nR4Bm_ROds*nKu903X@?qUnA!ClEcNcHbH zC8JkzG>Z#4?L|86=7#>NY5?)YX+nFapwUu7z^2`WFd$3a_9!xHKh=Hen_eiqx$BcU z-PDaC{*~V{5MaBfiGr~CZ@pbdxz@d?ez#07B1sZu*jlG4*VZ*uejWUQ-hSHBvp&Fg z{)!Kvv%5xW-)SRU!pN98eRP>e!PDwMfe~LheIlU z@TRVDc=5>@kfAej{w2dXXk>bEP8&5;zG{UX!gp&qk(D32vQhwXF|3D|vEXS|3hDjqddmph8RE-}2}F~&`GMOd33^1^rKk>*f0 z$45Mm%?0LnWna`g)*+9})31*4y0X!kpo9L%`;x|cqiS8yutLMqmrRwkm>1vf7wct( zFlHrOJc-dhraxzZy&`Ojh^g&@RVKS=m5*X-lez6^_O|it$iJ-ecf@2cZ|$9H+T>KI zQv=e+J;ml-6zgmQOQLVbdnM6QjPZy_BAi$f?q01k(1bHf!hPEE=<7#y9G|~G6qK8A zGqnf@#1Ph4-=6~dcoGi$!)|JqMJ=BEia5}A=-f59q#MoLgHl&!wMrZi7GH&7Rt(4! z{I{i#Dgtdqzmx0aqXqjU2^Wr{KdN5_X8?%Qg2|LS&f9^v&NJHo}Kh)Q|@i9@RoA$uxO z*;VWA(mjH?c5x5gPNK3$Zhzb(>&ENWZhykOOQNE3o})=rRL;}-L`CI1txxnsyOh=^ zs*ge(bvc?*+!7vbH~JI!M@3piSqJ%RfU=AHdd7tWE=cvVQT`kJU8{9gkuNLHM2vgt z0HO9@9+v7KNzB+VtL8kJN(DXiG39XT;7F_vAkdS=zv{+;kpUuHXNSvZ0(#1|_=vTb znrkuET10a#K1vIE&1+Illb9-IS+>0w?cUNCMlRhm^3q=CUKL^n)5b<=@Anq*%Z`Tq zGgu$w@+X(2T-V~o#n7_ z0~U`AddlE{l|088$ir3XT_B=k;HZn>KGiWe3RiOBkULh^}?p{qV6gBNeIk}1=#K-qy3SU$2 zOkQuU%`MYK5c@|hCS_p`dwu0sABep+ZZwnc(uNU|#qaJQi_wsPPdAlHkE?{wCk?{{ zp851WYoGO^jGl4dz{?GYOk1gHJj&DCf@Tix@?sx-%W@EdmY+|_SVMQM7e>cv;sbuj z%xQ`+S8yEpXE%8MTNz$(o2S^UsU!@ri?9ug=t<-iO50!OIgh+(Q7^K=0QWw#XP^KWfNYZOBeO8T<}FR-jbU!>Z6oXG0^!cPKdw@+A?R0@|ib zni%CgNhBv@7~@Yo81V|0<=_i=0H#pcigv$qm~ zT4`2f--h;%jVjDKUamjS@Lz8ORU{_=jGpc$AkZp+G^H=CCvG;--ocXv_KLdR$x?~v=f4h>%WK0soLYnF;Tljdnv4vWL|$Qxq-r#a4pO4I8Q|c3a;lKC zx@~H*7)_LQ7sb`LrgAGV6N)D56an}2qTzgexH|9V;&}R?G=uVpH>CnRCthJ@<`{`y zHlQ&)@P)g_*c1e+0ZqOseUqlKdVxr1AVtVuC3+2}mTN(ew8$Y-pWn#Smx|N&t7Yh8 zWZWZ;K784PZuCO{`*mQ{s|h;&EO}fG@$hMdMl)5!%$<6l5fg}oCuj8VRCGvZ@K5kk zl!T&Ca37DfP3Fd#z;_3nIgGk~R^iQ36WABE3O-bod{6)k`-!L_00xSQ^(Jj2hkDhz zjC`S$U_2zu-xI=m+!Nz_R$oU z?ahD75~bbTnIOdk;*RitwFyiBkFf(2-Y3IPt+{|40kTMo&j!9rY_5Actmops2d3; z?m%9OMI@HBt5+ga ziTG_fg(OE}UOz`LDZP4M)T;^z=8L*X%|KY88e@fsc3@KChQdD+H}w5*48W529k(-J zN$vIA85MjDvJWqNrA=M9!@v2nEPVY^Z+o8nFc#IVTDcltL`sZ}F=>tt|<*EJ=_8C}Q-Ob)POqQ?0hArN_Raja>tWAD*2~1dyeh9eZ z$;$!d?%L!xuVpxzXib1z+e?Mh7!VtE&qJ&j*oFRUz;^kMCSOsnBD=1wHzZ>vp?O#szfo#n6b7Dt^K*M!elt&g#3WcjXak3Gn{OQma%gHoH?X2eM=)2b;% zT|*;Scxue1Glg2NQc9iT*_4T?ro4 zxsxQ>wG!Yg&q<+OcMW%Ns&+(XBQ3}A9~t_{%&Xmdq)X?0qW7rwFz5Ui1OybLtK55q zVHu~H^kwAQ)k=Yi!E#Ew!8>>^-yjF36G0w}5By%+Y>ujwi&;7_u#(LSKoS>?WD(B$NMBj~ z^sX|`6*)t84Z6pi;N@^ zF@}e%sF_HcyF9F-W-;^+XpbtmOt{ZT%?~K_qVeU1CqG5qH*~5hP)48yHW|s>Da;2y zhp&`SKiJ?X#{Z)@ z=E-Pc3EkQjI+5lshMr;Ddz8;-lmw_zq=OjKSCn~{m)VE0roXuVFqtvh79osxj-Ue6 z1eO{I)vv;(EY965JDEBfNQXg~Bssm6v%%`Z?bFZa>suNMIJ9U0UM0E&!H^02`e=a6r+8dS9VF03KBX^m5Rkuo z$w>K6Mq5snk{RG`H`5Z|e`4`JS%G=%O1ycTY%PDoTn{y#FT#+F6p~Me-)mHIjM!*C zPrfc}YL`)Wxsz!lAJcmAc3~0$w=l_<{@G+t@dH1|jGdep18ZvnFV$D2ofQp&0gwkMUU-9mi1{HI zEq90nR@aM(v!lGyJw@sW7`QXw#N>ghOe>^o1eDLxPt*dDWqcHXMZW0(ECmPR!$w%^ ze*dU0e;eo)NJ8X-VlJ)L@Q<}eT43!_>c_T6+JV7)lrI4J`$f@*rM4f#tA3K*DQ}0C zhtsy!)HVBdcn6m%N!_yCt8I!ihSR!Nb>fB3JilB(nCkG1gSPS!KRF?cU?}b*JS#TD zWC6Biz+;Cjv=h;FKG!%}_H*P{Kb)&-?cz58-`!4fwe(6YKM%KQi1G_bmab)1-1~KS z5%&@|zi~x8IT`l_50(T|J=XT3<22LaZH$MMvjf)# zUXQt5;#DriDS(KC_NmUQu@oB!jQy;I5(8PK z)9{Io-JH4tF|C*b*g7IvdU>EH^+GWpD7ItV_=Oz5M(69rq1npR1h&-&f-@6LnZ1r2 z!mmA83)@4lG5Hu&a8*2>R_>| zGd(Ue#fO6YK2%x3E(@3T&q^RLF#Ivw4}=SgR?>PaR~(wV@Ohj5EokJF6U zg5b0O4B4vaKCxUM@E@Hh{W3d!yEGHERzi0M$4MWlX&N%A+N~#~Jebv&|d4DPb=%iU# zNH?=DE*QGyKT*Y-VjD99ix*93<4XKmYjkF8 zz_o#$@}nx(nC;G`;sonZV{qthAjwAtp9&s0j>mDN@?fF(;~MoiQ`rYU7r@o_5B_P% zf`z!};3+jp4Dt+mJb~iJM+3XrvUYX?^_tvFJlCslY4n-zF=7S4vJHW8N+1WMsM0wp zomz{hN$ZbfN*>hWW!#`r`yQN*Hk$hpxr)qkAecf5=mKs|XX;c1Aqt#cHyhlLGH=zJ z{MXkfe-akV!OewZk%5_|+${x8SQ=YvAV-{HomlyKgTdzom~TN`QD#3b$EcYBA!K}k zPX=hTC6fg?<^G)aF=yi`2o}KY+1r=)>B-`U^di(PWLUh^wuhX+lLp@bjb1eP z4mc`z2L+Wq#r><@$2V&Y9;XC?H6F4_1}9?Mh!#vw1_}R4Kx){iMSUmlZBv`YX!>(EzwQI2D0%J4L`Bg zH-v+JATSO){NBedp(|&HNG=6HE0*+`Coh-?F3YU+d2x;2-4ye<}m~qnVG6=u0wzw2hkj8+a}@sSU0kbjbMYZEj*%5cjkGL~&@EyJ~q@Ub#{}2LiMMoS#XT>L=aqN+HQQMtC zRbL5Z4q$w=cm8zPMgt{s=y(m-R7#MK53{qD-4@QAEur|md0EuN-gvjAiL1-rF3RAr zL<`Bx0H*8{Hp<(UM9V{7WTUWLc6)pm2am1}dV+s~e}ISFUXbIjGCKfrT??v0O;j2| z1to{hVT$KZ1oj?#zqE@B@|ISJ(A(P^k8;-==n)V2Qc%8t+VX(7nBp341p>Vpw#sgS zKWcF%jn)|k z@U~LZlW6GSffgf#-r-+Jt_9_Kx=h>mk(?hY1V(b% z(&s8zju?&`BO)zRMF}Pk>l-H)*VxJulq)o`TsQWtzG`jbX~`&toSt~{vY_f0K!MP) zA~B&qeLdFnbL005GeL!(D3GD$rUw%H#x5WbWaJu+$D{}RES=`3-jei}kv)8w1iEeV zio3!Sb&<#}__j%8OWFB|A7+jw+Kq>z?&Zaklfm9Vd!#B-boc3zrn|}t8cq(ZmzpDh z@vUjkNC;;!+kz~tep8BCri5Cil*#TnI0ca#DQapP$)J3_ z*bsf8RUYAM5x1Xd;dv9lxEcsdFRq$Cc5$saK@E&4(&t@lV#Du$9j6`aXs?wNq`&%w zEdxzo!|t{GzcCPZ%Gj8DJdVW4i>iAM$L4Pz7_;X>USr6A+j7TPM&CTJFh)A!#QZ76 z$(aL*K)^lVuHBY?l*trSP7j3(x9*M<6%0%XHGM5q)Npca{`BISmgyn%9W7JfkpngN zB?=1%rW7>~H2nUk=3alabM;vpZGku1k7=}B*KHZ->++j?I@{y~ugT$8Y4R^>@-KON zq01VUB|#k8{CF`KO-mj@7hhFfq-@dEwy%+6gjthTR#qO zL-djCZc&XJ2}LJtP0XKDOf?nKun7WN3yR?Yl=EzEkg6Bl2&x8 z_=<@0c!>~#NzN)HQ4rG7$T<0Qahk#cg#M!Gz(|t5w@2h$ z{CLbA8zy~@b?*6ZVNV@g-#tEmAL<;6(Nuk9taJa@nY6!fhcC#i?c1*yBs|HV^exu{ z33mh6pNqK;mXv`pe^xuTzNqC+wti&aW$vA0{Vsl=?c!;#i+j|?Idst%_M1GIZSrTY z$@OY7f+ln`VJAsLKi70Pbo-?V*GWztz*YfaxbQMDeN|m|4v$xDzhhjYYRjF&V^vSx zF(xs89i@)qZg=`CpBi4Ua-gH?`Naog^S9}KRS!9no!7G$EJT2(&O&o28R&51#qQ*y)Sf_Ps&aA& zSctiW{+W#wwM0TKk+Q)6;-62vDBVc$1k4a~;McYa>+C{r+))!~ugM3MOXidl7d;_h8An{T=|F_;6*I~m&6$Z8#$^m0XC-5n}e z7&i4pmi`%7bqpd@-< z@Wj|aiie9|(P~z^`6*$w(byKQm%dc^*?op(zN6`2;lc}inEm5vtuVmv;N5A2IW<-n8Gw-u=r$e) zPsJFz8;fzX#_exzbDE!{rBrSU=!Ae=PC+@@dY$_pQxDu0GextI}g_ z>^t4Lp#Q5QP4!O}?7405G<9w1h7$q>Z#w67#oV<6$_;}hw-`To;z&8pkJmUAUY{5P zoeJ-JPK7rb@irQtGXH4M;si7)F_yMM(D`XAjLvHbBiCO)D8UftRSOdz*rV09^Q+a% z{~dE@RmTQi$UKisj1BDeeyBYXTS)k|T$`kMvq|@^IC7Kr;gX!cNeB4MEZdLSEd7LT zlIY6fdjBOHC&ck#&OK?if~$~o&wtgGyMEao2O~`5$bs&r?tKF(kUW;x`9R{7P!`_b za+Xx@i;%O9ix@WX>hgN$Z@TN9+xO7sZ`!!n9dbU8%SuVjit*0pQ);%`epP21`nS_| zdshB!yE6}mf>5HWd-1mzLD-oz?Dhzb5Ape3%U)pY8sGY+^@j&=VQa@sJimuvnc#GW zgfSyGfH!Rb=6_$ce(|%>s`kdo@%e2^7dbv!*+V%Z#FTr8`I<5qpTI2R$aO^!k&pgv zZDTHPIVF=1VY)1Acp>KEp-KN?Ob(K{1Mca=TL$0N5zN1 zACaN}cs_?hnhp%R(}^js@(C$JT)|WaoJ?lA8(~uqaB6eE1R;*GvxRe`6L9vq za>19r6mip?k>H~8@^aZRh`>so@Pj{<6p(EWaCe`My4&S9;QND5c79u0bXl^vX!+KK zB^cQz-#5FkD26GissE(KFU04=2lbaWo)TFtACy>fdXd6b16>ogreA<=z-)_pbxtYQ zP+RT@yVJ^Arc}7o#JR`ElzuMnav*m zsJFSt3zvsR#@rpYzcc;)o#yZFOn-l;RcmXT7F7)6aNT)6;H6CMbkkWq9`%F2-AxAy z8$X-5trhm5AjAKim08PmXKz zgU&VG&N*oG@o90+SsX5R-_(7a><&0{2cR)d#ZzxObz>?{FNMg=0U@2g{>~Bg&gJcW zMNUO~dg6$Hh}6ZmoTle6%x8p5m&hyaH`*txy zk-yznov6QOO=MO)+ZD4)_BZo1mb|>ssdz1xdKn$p%tMLfv_mv_odCReZ8CTtT+Vk` zqykbUf!`uQI=Qllf2I`E>Iu+Xm-G4Vx173d{9MD|wV*sTnA6LJ8l8v1x}}=;=1kWw ztkEsikXu~l{<^L-{9I2mZWR7?9aU?dxt{QtYK`ENvsbhGYo^#gsJnylrgTVZ1E+Zn zN{twfCs)&e64}9-{_@#Z=HN=6S;KWSc*0vtmd>ew0(xuN&cd}}D0(3GiI$oN&`Rtr zyz3W&Ml=rO334g`G^YY6130VmFq?-$V+!o4L*iNhfO@`h&N&Ox_~|(3EZX7X^?S~| z`-t`D?=9i#-w_ocj)^WK#xjaiHV}?F*Sy1jf8@Vc(;vqG{k!96>c#HUC|$}eaaf<( zaB3-rci4yCrgzEy^BmAd51!35Ipt6)jp5^(pHoU^m(;4~kf*+e2)1Nt zGY=q)LHnDp-)6tC{&Bu+I6Iwd1~>wY$+>3hTh6)rw4FTO%1ANUo!iBATSSW*b>;|S zwc79Sqiz!?vhHnXE`DDXe~vm8d*S=$Y=PxNZ8rJPgL-*~L7DytY|rgiA3HgCbTL3z z9sJ!%ySmra-}Ab9k^b`gIc)vlhNUBPuKteTZ`!Hgz|47-KG@?qTlMCv`saoG*O?=> zZtDOoVgvv^cQ=1W@wdyV;M8&QcxSgk%p9PmZlivuow+Fup_8e!32C%UrW5DfHjSQo zt`%?L{#^v06Vi<~y3v!mH}%gxb+AvI3#pz=IbWd-aVpp!{>^Mxg}0eCRofPy(6@-n zPWNjYYpLr{`3#tSD%9^EYAC_mT4?*EebLl`+?1Aq(QDf6Lq@;;=%eSYc7FmIsy9Gf z*MA&!F8I?|38kudoB!VHJCT2JsHr&QrB?E!K%xW$n~Pq>(k75$x^p+b313_XntpA+hmz8C(F9>_~@V7q7Phh4qJ*UuQgPzsnn0EG< zG#&h?GqWdM?0pMq>?aTrgTyvKZ7%LsVxe@oR{w1GKi$QrNu4pbJ^jres5j9poF;Va zbg(lzUwFe1yde$|6?g38pRZvFt(d=(e{Nn%OHRMI#=ZByk{=5s3}Ez0q-nfPb-9sQ zP|?MqF{K4^)^nduA9#IWK)Ms%-plE=f^AT~^ll!oXw+kzyZNmcFvPN)@I79XnB>e! zrEhaYfx3UEK|_F$mNtOBobjlSOK|`ou$}rHB}i&x^38Zq=Th%br0&Q8s~Aejp--ajD$AGZuy`k~hCcDFK04 ztny88NTTv7^Z#Q~mmdP+5Oqh)NEVm$;T=~z>aEGnwX;uD#ifRmj2>?Ui@fPv%Wlkl zx=$-{>RZmW5Y+3QaVplK<#Oh3V8b@CSt+B)sFx#;Y3IIZU#id6OFx?{}N zU2orU8Uv7jZ4dozv;KxTbJq{;PZaI)poY42p<0&=>Ml1rbvK70<_#}!wBgYQ?VJi} zXl#7JK^+bmA7nZ^KEmjO!VvO^KXROrqN=sdiibqspg$Gn5?R%;70A#rk1P=M&2Ic7W&XbvD9AZ+LdtnhzG%>S|S41aH5^ZhZ*7teNkVUE1((8 zf0wbs?Fhx^LY^L<%-&zS+nRa5p*M5>s4dRB7r-NvJ+1o_&vt5M{AW(ZE8GFg*7b3> zi@z`PTf}a!cm=2VE~J3ks*c8sw<0B&_Icn>LO>e_*IZaPx6-&ygd%r+G)42L_!f|%d3w<@YJ?fymUfe+^!wX9E^ z^@)>~+TA`id66v-S~UCXiPL%dg3x9C@%iiVbq=E2zGTqQN-pbn9YVZRHCX20yfx!>F9f0>MZ1_4Jutd~7@)s@BCx}J*6bK^3O3m-aEf{sChS6@K zJu8ILfky*vG+vA%3r381W>?8gOoF<8kV|mFefCNL-m+I#vMA_c-u-)D7lS)NyyfO1 z)G!lXjknyfySC+PI}~dvUHBXBdjQ{(iA{%tw@-+{;m4D~e~2Y7JA@JRf5fVKq;=kW z$EkqYZv<*6oQ1Co%F#S_Rvlh^FfpIBREHB)n{hA#ROJxgA6%S}8X`G8h(HD$w7{$q z?YliLmaK9c6CzjnGPh>bAw0?4;HZ{Du7fR+Ab(IDV=#{sDFW$z7G-xMewgd%#3i8; z>b!Vm?_@VvNQ5hvZ-X0DvwUl|lzki0ryRs@_(`er)-qZq<=i6|=6dJ0vkvV zL&WE7tOrroJJ%Xjg(z{0{*5at;W*BnRU|mD7eC}%)i~?7g{pcN-y=#pPXNClHh+Dr zYKxO>06jpRPJjCuX;EM(LT4T4fJ`c(6QNJ6YjhAbMX+Q&vuY(%koXC;2;K+ek?H3O ztjcyYv?KU8!W)EQ{Y1G9=xWv>4*8qTx$Qa)bGsqB9nM^kWZfE37ms7<@|qBpF}aWi z(5N{qo*LJ!p^uVSKW&jQ=eDcI5G$e=B6O-VmU+YP)_W03pcgq}-b=Iixc3=#e=dvX zjYX}Bas#rD&{BP>iFJbWsR~vI5tW08ShU8Pym%H)XR*tGtjBZP2ii6KArs8@$H8+= zX})D~XN`+r*_h9~!Je+J2ABkA4saH+usY={-;%!jMGx+lTq!O732^BeY-I`;l+J8*Tw(2-q`*pGTTQT@JN$*^D#?US5 zklhOJh6c1KR=FNAdL<}0Xv6_sf3o!JE17S#2tf=&PzOI+2cj;qJ20dyxpy}d6QaGe#?8QB={{XN;Fvfa^z7hNef&T27*)H6liX+)0kd-rnt-z zJoT37+7~?2^iti~gsJQHro%4kpzqtBhSuPFsGsAe78 zI7)N22})3(R`>91NB)f++}NFeV>dU_`8U#-P!|6jH)}gfn;3)6(t}UgS>gMJeUXSehhC&PzfcJn)U^Qn0(8_o@Q*%&WlvFdCxyVkT z*xUN`3Q*|HW{w!y>V4kRlIph&r~R{lw{o!lmv@7%*P%`wJ6aOV!03xwQ0M+<7`{q- z+|#RhWRdxmAoJ2+#j1APc^oE0r|ExMv(W9gdtl0$*}YGQy^=tdoPU>~6IdmF0%d0+ z1c;V~Km~vfmnh5C!&1b?_F?qSX6qOf$#}U-b`E(~$Pe+C{7uYHVGVPVKel_F zanzeS7I%0X7=-!2db(5_NLB&cL%uhFk7017=E-{26mbf!m8Pad|AdOg?DAg;|M8HM zajjHKCHg0nDALoI9>*A;jtO2Hk1~YDGsw8cx8QgBh53TW-q-3lfsxxdQ3S1}<j?5O*mza zfBkUu8(ee@`n^#Ekm-tkcNhizAo^`@cvRSb@qOqwjgLydHK08D%}V~q=y(1EnUUAu zk@WjLv;#T%JrlUfCr+(9|5NF=$H8Ukx5p$yzu$+_{DSj&S(& zn*cdDdg(!jUxk4sOT$;6HkgJ#_zZkia(Zc|y+{3d>xY=BMD}aa%|l-K60b;LTVOQ* zHqrdQ6V0#f(Hnzk{(mCD-^k=d@E_iy*}+2j1mCNe@IKp+ci!^&ssBgs|Bujn2%U)i zj|7=Mv6mWz4a^YxuYM?Ezm%8$Z_)d;xQr9wtRW1h_sHui*qM{pr{A2T`0tKil+P@b*h$$*3gv<-X+p-+jq_BmQE^ z;J@*0B=;wzp`IE-wl#ebot5nhf3i;u7T=Fb$DIHYR22}HM z#L0{~0X0d6-fu}?FSyDIqnpxOwh7L*H@~{%il+BMx7SMSOinX_9bv(X=l>7L>(Kkn z8F_u3Pi!QwZ|5V(>qnC;|2NS4%}3CCEV>@Of54O(n=|ryhJHi2zl7$?6bYQbbk|Aw z^nO$Nr&|XwK!!#pl6QyrJ5#y>_=mdgOb1y8;0x%~GN%{@V(x`v~cDbw@apl(?1zKc$Mzq!>S3g6hsB` zQZgCIrvTTTP45-me!JM68J$|@C#BmUk+S4Z#FJ~J;HXXBEjc--;9xzb_2_9%#i3g} zbStOi(5>CNl~Z%*Ryu~BgU~z}E>m^@hHZ>Ryw5+c(-1P?=&W$L|Gpr}-2XE*9Ge@@ z$=5gVwcrCo^cxwlebJ{0Pc!7E_fT;3XzW>Uk+0v7 z^+yT}{^KFXGGD(@$lasqH`YnN@e=xtd*hY+OuwNQ=^t=1{l;tg`i&?5Ca2#ZvLw&n z4*M(KAq03?opP16#P>}Zc_^mZk2MUuEjQ3}pqEGq&OOp*iP)cc-Ej8$%8-uHr`PyG z|5=~ms%cMu#EjjZK4;03Bzen}u1}KN&N+vp)6|j zvUun3q+gW+`UgFD#n9E}cH)kbXAR7K1P^;MH2;N6LeCrG!4|UOC0ZwvGY*l0O3Vcg zd_~yGGKMl-Dv~r{HDpiJPFMHKn_+I7ZzjXve)-2%-u*=eeQp}R{980XN=uQD>OA#-#MJ-W8>>j4F+q6c zTlj%uUYm>e@8iqMH3MxSD=R}sb{0Uiuh`zcxI4SDHCw!uy(J~~6EiakYOUpqtW=HL zlSqEy5Nph-ys{{s>cjTfF*$jj{FVzaJlbD>J)O|xqb=vMqc5jm&09?xFo(& zdu!=6gm*paQo_}$8-F2bdz5ypz+^KQd#*Wg)-h4Ft}(&{H`fF<$ySM$bAC#;%FJTY z(@_@_<0Wke+UNiihK!dv)1}gi4?+$Z{}GGVF((o{yUdRS*Ac=*Ko7zVCkQtj1UGCj zFum=pk#mN#37m`DPA_gVnV??=7R!YR+y6ukA&_z7DEI)J;Nb%-eH`z|5Om<&x*i{< z{G-mX&LV@zQISD@3-E0g8F1f_0rt(NRC$yfGArh?zR{}njh6@+{QS)<60q}kl=BZ> z$(?^*^v}QKx*u%x&;R3MkuDy%`Vld10q^({gi0pI`Mm)DCqs*l1#ba8F5xjRPC=+R z1{Cp#cBB1v80C)Du1M`p^4k?3yIrx`mHO>uL^&EFz}qvVc4Pc@rN?eps&*&)?aGeb zu1xJt@!O3(N;^)&l(A}5<~J&5IW;&I+?wZ5hY%pG%hmc+S{wGzI);zYZ#ezRdfTy! zOCQ7Ztk**Udy5xjwwT{VUl*?Y`|NJXeJqP?of7TVh2P-uklh;6%y#R-Z~E=>c57%m z?be0g^4sO@*3fp^tqZ?RI~GBo&fBnTQ!Pa(eLNFXi&7s5vy%!n9yuw!Vh!oNgy(uO zZ||~Q`wOkTyKuDME^qIKw$t`qc#_|)JhvA^+iBx2EcM$Fl}L1OUSsnr%PhY}N(=d% zHLb~dmmT4s?c*<;;ml<&4~Z$X(vaAbJ`$TeJB!4o{eB1%%kcyM|3PP$3Y|UoY8IV& z^zYw?&o*~@`0VhbhR-gz;{V~Zp=Tn?x8$9P|BLu+>^j@A&(y5`aQF-t=nsR>hBP}S zJ{#KZSomycyZ6Co*`^*ot6FRLOf(e$zj*d4=9!PHd%kugTJtcv5eGxqy|no-2z#sF z?t>8aHox5mA?zn;_kjp|?wSuq*x5DlflkEsXb5{~yJI2jq3w=^u!puAjIeE)2T|s1 zdqdahyF2oxCMV`WJ2z{|kvo?^zsq_4VF=O{e!CAMNLTvpK8PUA_S+djsvAO(#%In? zmLSc7Am!pR{P@|XS1Jq5OF^l&Ykx_RY zV&x5?Ly`}RL;81iD5yWzhLF?W-$zxBVVO3*kLsK+O2g6P`;z|2Z@|w{=Bz5uWph~F z%ik+dTgac)yjJI$ww@n-p6lutBr;OZsB(L4)rQ7NwQdJCi~I3kWKoK7{y)0+>KyZJ zr5Aazn#*EOALZxNO`bQag7&78u?>ILXw}=!iuS?&tYm_g`xNPl>cn`=@)q--Sxht{ zwaF_bUQ!p+6EI(v7wy#KB#W9tz_h=fypH!N{;b_-JpK>)vtniby1Dx@PH&9Sz?Ki~ z&nh{3O+_v$x%#Te?1-1Fv+0#tu_P|{v6k!R#abF}jI}f_z@hcrSu&8VjkQF}6Z3x~ zYdYBjVlB00%GBw;5O<$v&&*9VmLx-ZRqD=BvDM08$^WRXyL(^y!I>zhDtEihreeeB zR4&KsmxwBexsNTS!wKTUPmjI`@8Z5eZe_kzMyY_%})0a}rC2p!~KbcK^ufO2w{ ztYKy{cuzdgov7-)lY|ZHoThDFTjH3%!IcW=B`-tQyL(?EIhACv&aKtNDaWgI6+1*S zP*hy=x@ASmL>`xMqb(CWT!vdPBI=I_QnojcRp;SE=EXRd@#L48CvOjZLa=a(20fSs z7vBpwnzC{tjzSl-PLpk^_#38W3amrPgmUTY9HVL_ya`!d3O?k;Fh|mQ@UFB77VTFO ze?>QPe%Hw5y769Ki?{hgVZ$#NO5>?`Z=bATt2b|?a!%Z~_$7GoP9Y%FoPkKF(U>yHPvkfIZPPI?&Qw$L!yXX2o!IWeUE zkix9y$Y-o>y;DIfV(2)2^Ry0B6p9=Ir(iFcQ*G{)+@(cbkKu<$;}jMAc-&2~aMbx+ zF4V`;4&Y-v2esZ_`mF=6_Rws}i`>IoI+Y1ya_X>}U|M00qz&%~CaN|#D=r4O-C8BP zGssW4wPlgO=0qSZ=p`p083kfZUoOHaw#sT?)t1L5Y)W5{;2^l1E|=5ga=MaVvK-Tq z>mt|sIqx}-o{rYeVl`)x>W~c-GHoE_ylUMM z$L~~qwQ_gNZC=WfTUu$$O6x}J$RITya#Ueq(dlZoB;iJHWCQ;fb?*WmRdw$F=Q5F? z!9CHWMn#?4Xa`42EZT-fZ3ZT=M`j@0B*Ad8QA>NYQn|J!2!;sL%>cIA+W)C7r`8@% zTdSw%SP@H20Fwa9%?k)tgW5WX+ITqv8p;3jU30_HIjM9Jxy$d&VuK z8HzUTKN@p($H`-b$!K4B{|48d5nI9599r+SXWZQIO00g1RxrJj(zwPO1@un0{g|Sji1GE zk;q@mqao1%KI!J5chcg0!V4S#RSerDIrA?+^Z_`47C`i7)BsT#KvWJ8RRTnQ1ru=r zNYd!6{ikOQ!;0L0&ToICcvw5*^$1W|>S)suM5yOOS`f=UKbnlXel5my*_A=B4u2zS z(2Zwi<;{5iTUX%Me*uArvj!1m;j4g33Ekwcp@`~?RNOTNmpIQzqQ@Nm-#y;_zk2+X z|JBoDkYsNJVr0lprU>wGk}cfJ?K$*U@c980FmDs8C7I$W6OlS~o}vUL zs(iTS|j%sQ^Zm#7eP?s-J>5$ZHfkYVR)zjDpY3_D+m)=%}(a3D(T zq-S5{syytBC`we#gqVJ~{l_6@Euhv8yLEp~VloXJGnQvYd1EnM zZGJ@Kt=~WpWW2*{h@TFPiX46W!GEo(pQ(2JqnceiwBPiGK$Qkr+lgjl_72Xr!P%L) zxGDXDQA`%jDE)4Z^KK^Y6UKGhgH!@38;!?_x-ghWBF+Q-x{zq@;BjROAOe4Gi#Ock z#=5^MJIiUr-?B5}T;4FMn7BPLXL1Ryze*uI^Tw$4t=Dd}ZhF0`2Xi4I6+@t{kf06C zz?H97=4B;EE1VYSd2=*b1m4{tRq;-%=>y*Hv|m8@Acb$~XzJ+hX$c+Xsmtp+Ap(KyE>Nut+-kEJ{Oci*7+rcoeh$@=7GNM!HL**BM!l(qyQ}i5KLtdap(+%=eSP${0zuj`@ zr?zZf9qx=^Fu&r9kPJkei4u=+BH{6vkPT6s5v_;2?a;K6QAr=u4b8-oj7}Dn#+_$! zNzvG0*S8aXCO@1@ST;GVwGh?+EK;nBjA^nH@E)SbUL3ZM?e`GRXW37t_hn{5WqK(( z9Obhi1hgxFzvZf(2Jm#9w?_7>BXa+^IvxG$R6(hDyCmJnzxS_TA6MbdbOoV=>xrD4 zc%VgZ5>`kz@-^x>lLdZhKws!o6_LN?c!*6uGL%Ok#bz0hJr+to0!qK=L1_f`dqt2R z9H0Swu>^TvyeiM^{G<;mw1^Do+ZFx|0ta}_)^ko;{#63l+b9}R6j z4qk5;yuJ+axCr|G?*lCLfMFM6Ef4tqDTo~{*Dk&5c#!SawqRCU==j}WUOpO_-C(Ww z0x)|pm)U~&2zbDIjWex?2_hWS;WW@%4}T0Nx{ZThN0fVtCLrl9YjbQs4narQ$ye84fT_W zchQ0)F-Kq|=4`POlglE*fy9;Nr(ohkOpM~kUN}9A&;|ay|L1uw2$FHf-qX#UL67b% zpi|Sxk<`2f06#bY@GNsC19$VP1!2x)JL(uJZ0&!{sIQ47?(3u)ab@2BHP{r0y@Q`( zcU?64JuGfk+KNpVt=Ki^#uI?#HlYm6tnu)!*wb(*8Rlf!^5dpgb8|Ng+eI9GyZ*4P zFxD9JYJ~B(7-7>J-9(QBNs!y+3JTOmhHUyx2kCB<>d0OXqed|u`An#{1)oBp;oidyw8 zBLI>6T+JrxMk`tyQcaCBMc8;C!zx6axZj3)V5$WxmE19Sk83Dw7f*5x@SvaF#8p4| zflaR!G2AtGKx*X-);KRUV49MXv=H9_Ft%1MHIR9q!MBc)phQFOd;E$xQLH5hJYl^* z67u>t;w`pWLtCvo6`3vSXg~XXcT=)pkfA4^Z+QE_xq|Lw95aC}*2@1e5F^&sb*B?8 zU^`VLJ$oK*&W?ou<~Q?{6Ik4g(~T$#N`X`7FlR;rZU?rHtwXlN^D46(-|$3axX;PP zF<36YBNA9FIg#Pr3Eyxh+?~iC;b7l1BH_b(c=%zec01w2I25b+uqt;`{sHBOo$v>V z@L`pIpmNDvx=e!dpU~??Bh^C_Z)>uRsWQDIAF&%)l4%JR9J9#*vX|=37WM>B`#YIOo~|tAgvYmLe8_{YMiPFp$R^3JFdf3Q(L|u zT@pedTpW91UQMK89xT!|FzsyFwaklI!Cg=)?1PdBp&|h9$!wALfa(BSg!v@};SJ=< zzGtzjhhD>M2l~1ul9*f>ORV2RVW0hC*WY7kF*tYDF8OOc;(W#yIL-^EZC1YxFP5&OARM^p-o#8e=%LAy&U*q~jY*K$Dg*1}P^IT_+qO`vSQE z9O8L^n?oNHr==yg&AwOrsMY#oK|Tc8=BU%**$HtRPTd)8;`CneD<%u^*7|%iX&7$# z)^i2qwgN~N_ z?9j$&?o*tY%gjzrxbHq0xt{x^WM>J4_SA3qQ%{=!S3s)(Q!(e!#TuYv7%V1Pz+^j* zKFAlCfwOUzjZ1H7ANXSZ#yACEW}P=WzSRleUEmB1;v3$e^eU__^I4D2nE)WpJ!@!2 zD;rCg*CdEo>lm0fOU=}|I{=E+S`lGK#2sufIDHWWD=NUWl9;m(0TtNLoLYn+<`*Fj zcd1inyZYy-;{%6U{rYkc=^6l>AFp_(0msz%LS`!lk3x4yMj6HZpkcJ|6tM=Pp(F8R z)hE6B4<}-=`!^7`fEWgrVi;I%3&-i&fuAqblWgVPvE(*kx=^BTJ43-@5)KF=3PG)5v7jYZaq%MJ^t+_%T< z0n7{}j9V}MlYw;bMA|iKeiUe z+osk>f3sGnYW>X`sc6MfYsEOoUoD846Xqsfk6qnHD=A}Hl8hmUhh5v^SqWP!9@Dx{ zAu{P!2_7-ni{^Ha=|K{FkleF&?hcUADz*@UKTa?_-2V!OY8T?$3A$fv@cbXiQH89Y zIfAqO7Q~COLp9R?k_o4XCSzpw9(t6Ctguh`EpAA5pT?V+8(rKmGW=to!0DY+bR{Ed zyp}bL%1Jz)AElSMfPf>!yp^$N5TV2BBuqRpEdGe7L+d&ryHEepHgXce)9BuVgEVgk zwi+ZB&#%h;lifpnY}9a)hikvruQz9eP|Eravu|$5uWIhGR_+scH}!b_^if0z$Pbp< z$tlnUMeBOa&Hu}-heLfFL2Yt0GUojpOrK_N-Xi&P4v`-^%mGj+`LikdRQYpGfBAE3 z!+#MD*ywO7u<9eryi_=GCv9-<;ya|S#-ARdtq9Em{`7t2&-l}$Lo)c{d@7BjvPOetWax42JQLKLmk&h8qJ3a<|cnUA9^Wy z`^uoB1k?RJuW$UE<}2x2#jAME=jRxrCM=9Ag{Dfw8%^uGSRTUiUk(wJR(PaEO()xr zXT%Mj(Cb&jBth6e>_g{elmC@PT~x_}`fmM7dNHE}>^EBh-vKz8r{@GTn+~pS$kAW` z&v?-X0$t2oiL@QAc%|V80oDnk(73=%l^cj-0 zNLb+-4%11O!)#tl74Zp5aN(&`KDk{d!sOY`HUrzQP}zm;=eg2!F#9M}CK%W@@-f96 zX%Z%(p8wYQnwaDWV7s#mk2^$SLK1z>dqP{d@gn3;5dpsOpb&xM!8f5IDD|6o5jaxl zW(2r4P8D|lcoFzhoB+OwX%m-n(f9rS@ZBd~go1;>M5g0Kcz`{C$>;;v3y=Y2D~c3n zgcP>KCenDI(HIl<%Fz5vG&I0anw2_$oJ&Ep`H9g2Hw4iXag!^*QL3n{E@mpa@gdUs zKK9m9Gslq8p^vDJtN`Gylb)pybRYa0D@j)|Jz(i-WJTbuH9xDl)(NlmwYe6Jt7~ZC zX5p;9>rPrA7-Vij4mFDq(9J-qjy}L}WT^n<%_U`Q4#yStJFc+bafSUsSJ)r)g#AHJ z*dO$S{XtjQpL}2@Ev3^rqVnmdPtZN-6JSQ}t2AAB)HYx1tNB8opl(=0)_2h<=@UBL z@8k~m`<@oQ(I=FbrS%Dqn1W{WPLl@+#s<59dqkUHor0F&Uaq1U9N^e~+o{Qq)t5O7 zec@-{aO@&r3RkX2LpfiOi*lISqN%RPbzL+{u=lRsHUe*Ek zx{k78&`P2m9I`}Nw-lG%g_&uH5T*Vrzr9hm4hkyj&zp?@pF*B;bX?v{RzJLnnVc?! zJBRi}5;v6C_d8$*Pzcqn)fW@XH{pX5$JdQK<{iWL+7M`uDL$ z%n^vGPX;>Rpn>w`REs#3{zz_n>a`y$>Gd=M>b+701|J}bwJP*Vn82aIX9W>qYv_xT zMj;14yIo_oNxWaM*1B^w=Zu76CIH`6{D9*CtO)hlSdP%h4#BZFn`5E)LW0f2k#~i5 zBQ3zIrW;+BFiI>mc_u*#4OY3rFn|5dPrU0059!lMsd!9^&J+fRd6zZ{!VSzy~Yhj#WNR0_gBUW9TjIF~Y#*f$zg8OQ&oT`#=@*0@9cz!N%={sV% zOg6kzvS>N8pedl(LCM5M@O1OJaR}m;!z2>*2ybN1#`MM6b}ZrDv_XWoool2HfX)`^ zZa@Y_yD!vgx3_j1NZ1YsZinLes8MRo(LqjxFh(!Ye3t;95D*ck!heAJR<(bC{8qJp zfc}P*82I;Sa755!7zeTbZRzYMoB782h3%}MYun5gm@Ea@aIvMLx1h42!I@}SJM3bZ zp;nOwBEUr(KxZ#jU@Hg&oRD6SsL7nD8U6(N+Xz;YC!oJ!)hka-fa}hQDRA96F$u0a zu0hTB%;**XGwQdN)tMZi;{qKxjF&};!${o`uiqHYRlm34dgQ}!Xo9T$PC$l_K(Mp5 zVebL$TU!x)CC~y6*f^58fG&6s>Iyp->Y`|gu_$T>-~swN9}?HX9HtUzN0f2kz*&a% zf6m>HNv1r#AK8c!;)Zs3+mW4F&VFQPmTNbf!@Z|vtY^yO(ho)kk}cX*20i9{*F{9T zua};!DWE4VEvucEwx?ikKnc+);y*pxaO#1j0J$07ZMrbStLig6m@m|1MT;3;G_--Y z_>kk&sO7%H`zp_BqQjsZP1OkI451HHYuJ@WGtuk?f+Cbt7@CAw4iCqoys$G&- zMMKZWLr)>KLW<_uKS^Gd?aGXz{p3|lVy%&oM+$|oT1}lo^P?8KD8JS*U8?KaC^P9t zI;djiK%!I=X-x7eg_67!$qn`>PBa7!v@M$ZJOIKIj90=kQDEjdk$OA{(fq2W4F!y1 zeZlov&9A`jAw7W*!uhdkCI_;aLBvU@9_N+7N!qza{%vPZBYC`34-e^_%I2V&sZ-2q zt~~$>n&oJ8v&Fddv&;Zp`q>1|gnq6T{ro#)kQD8upNRT z!P*!;+so$wRVn(}vrqEkt@X7}f=T=o`y}G6nTntt&prwK+lN0i21@a?fzs;Z>1V7> zj^Ph?ia$j7`Ep#m;r&dFfn9^{8fG7FqJ*}rzlqXnEwSRO9c!PYou(7d#8*r2Cw|BB zDecP}rsJz^ZNy$~w`-rY16s!g2A}xM41Z{#;6P;f1NX8>*3xG{&;I~}n7BYh*8Z^b zf%wB}PEPTML_&o>OfTrzzWm|#IRR{LA7wV63y8?NJ@w%hUzR(cJ#FEN4;zle>bGIl z)wrO~bP*1cM4`t-Q!yL|1Ov2zqM_cn+F`>OSz@7NiAZ7<54EtDH)L}V4|QwfIk8X= z`xWWUvzUmXni$?U7;2iTl19&v!~pIZx(k13NM(qta;JF~v&0qrVaDX{Pv18D;VfX? zP!KQkkTIjU<2kN0AAJ}^02~7f!yx|Nt>?dW9z4~F7{ttZ=JJP8Vm7n*uD?Buen0*Y z5LZ0GG=B(OAI~4gD>}s=_JwZ~Q1GAT4~>gGGPE^}z^qn_8$S@^JHkgZxw7WFqo4iV z7MO9)?R5M=mp>Gc_u&r(+r9juf(Z8I4+Z4M#1Gsk`@4^T?>nNQJ=7MN=PRe0hu>s> z2T5xokGxB)RAK}9Y$sZ=DdP^AT?7cd& z%bfN;Cw9iii`s?Z!_+m8$rn8RM64|PZ#>fNJ(At;iJVV=B0K#Kc>wbcsB@p`S*$Gg zQ#;1YDpIJ@kzl8ZGI)2x_ya#@uqLqi4~*=!ODh$6A7m+MNLJQ}cHfuuonEGwR`pw^ z&h#=Jn8xEs?xu>EW`=XIxW)5y>a#`~RAlCs1!G8=nGB;bawqeIJ@%+Bi1F-s#M36Z zE#dsp&;lJ+a|v&QObALwGVnZYwP_r8>;cz7zzVVlk~dTyzkh6#{{;4Twn>O4Nrv*D zR5=~We*&x^=cw$6nM5e|TDjZ6au535Qj{&Yt#GsYL2``nU2`vgW-h1nbuN$|gm;n% zd&u0$C% z?iSt+Z5C<;k^TTSjg}1lq&`EeLCwKxzsW#%D**}db(9;VCT~=e*lLn-oD(9~1}k#O z(*FhrByYP+%X4iR*&1l+%SvaWf-6V-PH2G)ND*uLhiJJ#(;zJ{wleB$MWDdt7!jxw zi>x39{B`vp{JLvP=!VQiG~2K9*~K=l(S`E56wbMru5|L*&%0KX8rc|j%$Sk@^MuPB zl+{z9Fc?#JnH(%+f0>l`%sM&(FZ~QTn=V**hXRQxH;exi8k`1x!1z$=s@g%m|B@w8 z;nLDBL1YjaX>H!&|I{d;8G};iya=8fbU6c~+D}S5sm8_GseNzeP|06>Ka~mkSY}Oq z$KdZgOnhLEmhCOoIWxQzv;wCd$h1ZtRx&Jnu z(CgYv5BwJ_;T-O5Zet8bEggW%~M)FxJ$Vg%F@MBVth zKBeiv#vYhs+0Qy?wT~=kx|zC(%-G1wc+LCsuh4}4mRHaJB25rSTCFH}8%yVU%rX`n zLjjONf>!8OOsPh}I& z*s0VgjOHb#Vtxtm&xrH7cp0P4s|HL=|CqAZSkU=rX-goXz)g6H%yBdf=8QgUX5=5t zFQ)ap39k%f^(AYY*2V;|4W_i{#Z+&hN4SpG=3Ph~;GtvwX_t2VDgLu7@|NUs|++hsw=*jZ&q+*Y32p^3DHP#(;^Mt zcoK~avOV`&LpL&VHL%ePPk(?30}FE4C?3x=@IB~pzS+{wZBUOhKuyy+ntE~@2jHQE zu=EnnLa^swTCAxb(L&8rsf#WYIfH9e@Tt_fT+^#AKEz3xs?ZL3U!)`4B<&HfWX*Wj zx>MR96rzhRH#0`Sp^Ip7>QT43eHf*to7>K{X^yVG@3nbIus8oJpZfg2_IZBQiJtc+ zifu4GZ&9O}q`a&6PF-he*XDiuAv5hW{=#YkdRkCz4q(85VBS3DM|qBPHZ#DO5cdoW zJ?8`&W^cBmF)g6`iI4E-+BN*?O@3sKV7!ORw6-Gy+#9(=OBi%U7LlXeQKs@DXJi2> z%N->yC*)n>n0zuSVT#fx)22&sXYwTlgb#oJ8$4wc!71H|B|||#7zDG06_kAty_XCf(-w&;Ezm4dH`-ZK6rKtW)nx%l&g86ze=3G}Mug*jj z+OGF7bS;ry!gli4&7uXneq<4B#!TBGt7YPbe8fA3=!xe(#S=BDOB15u#=w(6-o21I z&HEWkR{7U`o#&mysZ%MF2El1RP?=AQ%^%J?BZ71vp$w`MqztLwP<-Hg{tW9G{={;g zn%gL|)c;wk99E0|Mc0qtVe(nca8pWBP|{4gI`jlA;I`B${75uOErqRL*vQtKR_osI zD>~*~`Z$aSnMLp9%y6@7{zmJbES@$Sfd1f>Z9QutM0*b0kK!irgc`By9rNX68nK$6 zqI`Ixf9{!d+f78~b^fnBcHjp7M4T~2qTU9t#@uE&RzCF|;r2)}tMQ!G7wTTP;z+}v zZD%6Zv90n8FKZuJ%9_#>SL|myBaw%3N=9>^aYhD6O3IHwYTRgbXrw|dKKETbyLhq^ zQ|qWgZ@T`HJXmQoIEe4KF4uJ#J48C1N?u@^*)xT1{*f4FcKw*a(OzHO{@OT*OSEw> zo$m31nE2zl3uGdhcAa|rBr)I#)qwTAFHX0I{?B*~xh(7mRq$3v@5Zav)!M-=yNl%%pjZim1-A9Nst~VQZX{n@P_I!*L{21-^(YXg?#)p zP0@a5yL>;rJ_Lu4A=CXNfD%rpT$#&;R0VW+<^3z?tu8K~{!91b${YTjW0jKPSzPGW z1qa`EsfSChVU<;KP8ApO0bL!dABoxBAwdDQa@NB;WA(2_b2p_K5G)Ph*k?&i_9?wR zh2F-TF$;~t6jXyR?%eZ|zSH2U>pMmwla1k{!n3jrW9Cw!Kl-wqk%NI+z_5zBom|aw zSJSIPl%Rr9*R(#6D!f^;tayF|h@~17Uc4+-fPf1?oCT_X#o68N1L_ukwduA%)*@^a z4k!)oehM8ZXtcnB4NI zlR3FP=jPf?qOGo5latkSTM0NF?qKQ;fCzlQd(kzFxdyT41Hd9awh8oTvW{xQek~iwu4m+3Sl+Ou0L%gR0J*2 z??vaE=*@~Z2>f5kF;cvU=8z{JO0NzNSUw(9TNb-Y#9l$P%3Z$-F<$ zHN-YUnv*rS^RfGGfX5m-4WOK_fz!jM%9@{O)d2E0E zRD*QclES1q)gE9_{aaMWG`>Ea+a{RN??7+I7{le=^F-Ucpgz);I`|nnXrOAlwem+y zY*azW|Hrex@s;(r0;?EP(vUhZn`&&()NRQedScF?Y9>{$(;38$XkqmK%sB)YG%eOr z+2hq47u>MUC$VE?MqY<4)@P2x&nGpc61SBOYhgWROJcOUKxdFkGC3~E?*L62k#KD3680eT+E6m&_ZD7v|R>LS?ytS?jIa(JL792P81vq zcJSwoXKGVfWrkojljOX^O6KMK+vy|^H;<%ek5v_^VXYJ`1~qz4&i&%j{1^Q0Td>iq zztJRsmP29s6pzzcLwaP)>J)alT7g_<_U0=3NvVc9HzzR^LVMN>FStVAc$X$AX@D@eZkE)h zqu;ca{YM_XN)9T|d$`B?{nASdvd4o0S1kEO*7&SgE~x_1S!KDjrC?9_!s$Y#OUjD| zS_j>ll^U|BM|sjubbp}k4?N+0h&24|Py8I&R6+sPT>tXM2qO?c#OjtS<3tH|P;V$d+?(aH1~J+zF?_bhSubU46pm%zb>?vr@B9cps1*wkx*KLWb3M%sUv@?Nf_y07c*UMMS42_F zxIgyJ8H$IR_v6Jm=f}M}(Tb1e6vrz#=$_ES&X#D!5$leJb=`EN(rWq~sAO%We!7-1 z4R!Elved|09d)v0&Js>c%ECB0CsDMVlEkFtWar9pzw`@kS-<$wuLAd1fke$lVRYom zhR4v-Ra(i%^^&9;T}rz&fsr!<)t4$SIU?4y;m?U5ET-b|OK#XNh_{Hd*`p`GAV@n3 z=^=jt`ctMqmHJbyKQrUW#cE8~T}FBEG!10tpU1g@0+Wy-JjJsZNff#LHNEAOtDIJn`B;~V!L z{(k!5#a!t5+5h14rgLBCnbhY`*f~3K+rs1DYM%Oro_crTiHAJ0EP5iu=&|xoaNLnA z5|+62CXqQ%d&Li5$LV?Dj%|n|K+eb^vuFjgnXE+~+&ykO+v(DuEWxn6w z`}^J1S-;~GDMxVh4rg3`?⁣Ki`S5Mb5Z_ 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%0DVSk^AoHcnDR~B=6TdzH>tN&8*iR_$Xn&k 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%0A=1aF!y7kg+m9AI1ebOC}Zp*H!hDPU( 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

    CzawU1*Cj$b%dV9nw6 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

    )1>(TS(nY88&%v0A~lt6yO2vM;mdy|1&a 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%0A0{uY} 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

    >bHx*UA3jz*m1MFD$0}j{VHvKko-3Z< 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 z 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
    =B1CA=n?d(1%1o3 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

    +Zu_J3xUTdu} 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 HR}uI>X)m6f literal 0 HcmV?d00001 diff --git a/packages/runtime/native/snowluma-linux-arm64.node b/packages/runtime/native/snowluma-linux-arm64.node new file mode 100644 index 0000000000000000000000000000000000000000..9c66226aa27e9ddaf89c1ff99116964e66d81592 GIT binary patch literal 318640 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%0D|%(yq=cb)mvtTQZ`_Qgxq7;i(S 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 literal 0 HcmV?d00001 diff --git a/packages/runtime/native/snowluma-linux-arm64.so b/packages/runtime/native/snowluma-linux-arm64.so new file mode 100644 index 0000000000000000000000000000000000000000..a537c0207b326e68c512d9fc98bfd98e0b9d44ce GIT binary patch literal 371936 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

    8``K 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
    UmF7`eOgL>|>^q-Pc94<%ALxpb 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

    `FrRlD&mU$eT7{uer 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

    = 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 literal 0 HcmV?d00001 diff --git a/packages/runtime/native/snowluma-win32-x64.node b/packages/runtime/native/snowluma-win32-x64.node new file mode 100644 index 0000000000000000000000000000000000000000..b39a4dca3a9b2ad58b89c9ae3ece5f3623af538a GIT binary patch literal 359424 zcmdqK34B!5`S3r1M1q2MqC`?r88OwQDkiQ8qD~|e?&w6~!eSMS77$!8%_7kX1SSEm z<5=2iYpu5F^83}Qt<)9;l$r=maF0tBw6)Q?+%aeaRt&hz`+d&2ca{*4F7NyQeEy?k z?mg!@+jE}tZ09*=s=v9?Gt}epWb-eP@OaknEg!%7yZ1ldERW~FvFi@>{BihmN3O{V zJ$K|q^X51B>gun%vi|aGec!r#!Gh}=eOJu!)i*8h&0pZFoN}S>+UsV|89#F5{)JA} zuV3=r@}Ew4>niu(2ampU^@+TH@aVf&e^-6Kef1Cd{@NejzWR3c{qEH(ReI0WKj!ouv^ZW`-eZZjk6fNZ2s~%faiaZbTc=l6Csc%nDjzVtzk8;SaO%`&> z0<9}?zofXN_>Rr-+{*U@eAh@~M~Zp_1G1Sw~aAp_g3_9228|O4P0^0XWfTTk*b|I3qkI&<&9bZ5D^2W=d zmm8>@Iz2b?eJ|f>A3xdSHJIm>%^Z)6X%+e4-gC`va2@088|uGBmcku4RB#J+gY%ECpL5N1017TW;M6mMZ)rd6 zhOyz<|E7s%v>Y%B>zmSD%XtWw9>R`?Po?8drfPW*X*hi!u7L{82#IYVv$l58LJdsW^!jr9-8Tn4G*_LP=+ZVnrH>;_@j0|Ha2`{fBvYLiF zuQjWbipyqhm^o-8`F0fd8MWmEm7$ef+){gS*fKj z*-e*%uyB9EX#F;P#k69f=;|IAN5z^lAVStQU>4jw)YH`_sgh<|+hj~AITU25^5*O$*_yc+I}M>Jfky~KeV@39*- zoYB@Kcz7gwkcR!ehBaC*BH5nez|Zm6l`ech!;jMNVHdto;Kw@f%^rJ{3!ksy57F>b zUHE^3fBPR#>G4tjJ3KNzqwQTX=7!f7055|)ngT{^jKuge{E6IQgQvAZ;3}V<^Y4~8(rYfz#83n2jJ&j;J=b)&v1YlRJ9BIyas*`;9t7Hs|5I12N;_2 zxxhcyz&60mE^t_YzwFWjT;Q=k<`GO7ZH*fE1Awbt;AsN;us0RKB;7?)x3LBq)0q{Zx7;IeQ0)I%x-0-44A-ZQoRJ6WGO8iy+ z2nWnR;J%@rxcRyB_Qh|8dLnH?i&o%XGol$tt$us@ z2_8>;geto&k>5#KGtwqJ$0*V)Y3W8`RKmzEt(d8qAl>wakp(*TRZ2 ziW>`k&S319VXsD!B!oAXW%Mj5i{)V&g3D)G&zq5o0v4mUzQl|iXhv(Y%%!_TFRLFD zid6KQ;m-b0ai1#O340jZn))OJC(_Sz=i$-!r{}z1bRe59kv7k5lW^J(JEE(0# zRB2#_NX8n(OFuK3;Jb(3GR$h*KJGj65a@{oK4qj+KQ$vwHhkC)UzFu(S@fx=aU$T| z3OqWsTXMcb4r!a6w9TPtphwc1NDoB<-DYI!W_e#Ia1rvt8)wX#xxpCQqDm-vB%KmT zRD=3)w9G`L+J@;|cA=VsI_V^WiBb-}lkflnoRvU=sv;tNi*>09sZwbe{;KiceeoW~ zPo;Ypzce@4_({(gzrgLw_#aA*|AK#O{JPX0#xMGjOR7t^-YbGLCC|meL!OI5q$oqF zge2H9ReX57lP_4iM>LV*K%J3SS?CKzRWjO0o&5`GJ-lAPvP^4zKi>;yul4g~-!2qj z#n2rW|6T~x@8j`X`q9gysUAID{*pNh8d3aC_LL@AK2n8N{-&Id@+VaZJuOqUt(UIF zZ-H@iwf&Pv`OwRD`Q~F3opLCQhIPJ*x4CWx5SvuKK;+mk5F@W`Gbu5h4$amvD5(%; zW%tl7`dp0}S=}Q^;V(xSVHh2meded#=8Lvj-e-jWAt`H*0fJA9{Xa6{R+ky>I>rpY z-(y;n`^_~FrF@peUlHKQ)MlD#2RsywN{^(qIErLzhZ#}0Gg{$8p32B?r7xA%wPq;V zRAYGC+Icm+Q5hA=V2zPiT|3AiZzfwlX0%NnO{=o7$n0XqBryPXl~Nuk?Ff`UW!p9M zH=+Rb}hu-dw*FxP1;U|mxP6)-B(TOnjs zz~4||k>L&W8{X<%l~$(G%!*iLVYAG02bIbvh`|AB)VqT@HMZC7kEUpSQ`c-%&jI(RE#wv7b{U=7H<(zVT6asV70gqi{mV5FVeO~SCU(Q z7L~NiOH?}e#1L2Jj5DpLdG9wP!G5!t$6eI*un=%o2h|lLee92gdaTtp#oa{|y+e;= zb-&cfl0B17x2WNH8cld+2k9bZIwbQX8Iij{CHanaav8Q%DFB54gdzc`Qsqd}Q5p*Z zf#_GON zWW8lSR-(VJfwof%F)q3n+)JQ(ZTpQ*w1K(GeoEPcu22YXHPiH$5>sr$xzx&oX;+sD zra=nw*vvq3hCELfGP~8M$lX5pQ+gDQw$mf~k>WkoI;eh?*}q6MS18d@0@9?#k>`ps zBz=wM%$M=+-eo^%b?xCjj31tHI}(JIAymwSKYdQB+JgqGHci`b>}PE|qs@cFr0rZH zuU&0EzLK)`84`q;<-?;a%%rSU1nG)f$#IC-E@7PT2}wfY-cvw@3+HKxJ5Gp0N!+gc zmBjr9%;+Kg=;QH6`cZ`MP3qAT^H0!HSE|uccS|r$>W)w~YN@*gW3a1j6oB%fza8p9 z=JJ$Z{X$9IZc>oCIs=HlBt%ZVf>63fOsBK3SCY??mpX+(T?wuo!K)@&3Ep>9X1d@# zLD*VK@E#YEQSV9cjuPO=9e3)Mq-SPyz4VI)gRIl53Pt=Ht*dAzvR-;(Et-eatwZVx zG*VYah15m)QA-oSD=F#Yyq9j3SlgW z0weD{1h6P-W{Kgg@f+S5=o(dJq?<8U;Ec)cH#e3EqTi#C1LI*wa%?B@<2<0Am zj3~kc$0ojmi%l(*KO=_)_TaCFqK)9>+rs*~YBEw8b4AdhrbX+cj#R!F&;e38qGm6C zi?kA6FLdIqABGYjg{4-FYN6$Rd!$ru0kYOdt~~_$N)z0o_ewhmZmEV<@d3iZ$lIgf zR{g_8wL@ml(p2OO)aePs7odQdvCk#LjGUDw zm)dDSKJ;mV5|$#Dk{x=N-aB%sU4Yc26;KH>(@BsimO+LbeHlspiV~iDGxMyM7D_r) z8d11TDlvksbbA*i<_1TJ*{PM7T>{}MF+1%WsS#4ytWx{664Rk7*#{-&cLJDFV#ZTf z$W>ybCv@cw)uYI2y5{V}z9Mpc06{mb$>hWdI2F;6RciNwcI3 z&JSKuVw6}|x^WZaA@Wr@a2-6xHy|kNBi3o*-3q)^;L0!U^v;xxBD=qd$VPV0v%fb` z$_{W256}k&tuHF$wx|C?$?gt${_IHUcA7?@Yjr)&d+%Q)S|rQBmE9?sGiOpt$ksDz zS9TBR^6viZjPb)-HX~({9Kb#>t=cgItJVIIbk*hmhJCz@F2JTl{3Pw;tF^Rl6hcta z`rE%!(i*m#Gfh8=h(29CddxNTS2kTMCNf-ie5~r!Of$L9E;>6+U|*st{c1D$o; zzcrJ){8}PAX7b_fDKmM?S$i{+HzBnK2;@DP$+trvY0_3Wwj*tO1exfds;)gs+f6{B zG1)h(diKdoKAgV8Tc!S_gi+P}D`s+mwD(^!lb;ppaV3oOL?n#rQ6y<5kEYXmG?Pcj zh`QR^r6`}>&Ezl6OiGw`0YJihPEtz3?3tJT`W2&!vFq7}UXE!r>8t{%f(xQedtywCu%}Ee5dFL5|g4G>>h?#r`QcJ!A zko_LbJa|PE_AWdFpWI+TTs3v$8n?BLncB9DfuhtY_%wMjBuT-P0<@+b33EwwWjmnW5|B$|QwTap< zANt#&9_VlJ>UJK{iXY&MjLmLFQBL&_q#dOj#&kN0V+;9=N?8yXtY?E@N9>ArroGcE zXeZM<{ZmOv8Og&`*Y+fK!vd^*!8mE8L+t8n4Y;jay{-2NNL2YRFfscuqIJfieo{4P z0D$~iLJiUCK6>0vNqZMOLG0@*DNowHQd>0t3m1I;% zfwf;P*J83*YIJP)@C^lr8Q~{YRU@UN>(ER*_7exPF|kZlp^cL+HI0rP`@K5{ip}1O z*ZQQ~0;V%fO4_73QnHUnXm6S-x<@IgCu_TXg{o)0dJQXk#alld8%+{=hcP^rqc!l- z9W2ysrwNPHHn;3Nic49+>{V7?Hxx{`*4P$%E9gVM_0veKO(YGIdxw%Zk<~?lNW{@; zWg_2HX5;zHOFK~Vab%f*91Td?N+3siLZ_u-0T>N{Yj8$XrlcM$#Uctwwt}U-r5n5X zQl`|*4QW$0rr|97xEKGJ=^8_w_Q8bz#a|YiAd+QvRd{6%L3S+waDov$2Gt`Tvco*_ z`%-{Xn%qM*-~l{lyMSXn@udJ(MpnyOHHzBW1-8iDwb>*)CUm!hRF;sbX_zvy&5Spu)M&^~vwX1MYfnQYc*XHg$KyXn3c-Vt8lv&~i3= zHKUBYnLa!Shm@!ul*9r-{6uw(I8e6sX6m+k1f%$gEcSew9UoC2TQUe+ra-3JHI$V#536%&yhR0<2Dbg$LF}d+Hc^0kV za9z;VQGDvvXl;?kBGb&IC;w|?n30q4n8=EhJ{8b_dW`1h(rrBXU_I%{{{y`bMFMa@ zhlNUG@2NzGQA%i>ErUcwQS2tF+0A%7JMnoE=%5|N(njwa_L%zy`tO~Px0(T-`#w7a zLv+pa8fO)xRGOsyJa~Dv{O$RFBd*1<@RL;xuun3 zQ`Ws(v7=uMRv$F6KjM%zECd4z{b|*FH?x|gPNC!1RPV!4~U$rw%*FDCw~8l1PP@nw0?$@)aM)|!4Iwi zQN)6HsYxONeQ7<>@hOpStMPnYkLL(8l0F_oze>SbW}-G%RY7Q``lP}$YlB3&uorF8 z3X7SCfnIX8D}4c7HY1JX0$ZkFX)OY>*jO7KqFfoVgZ85e?9#$AwXwdo7C^i3WSP+} z;g3YD!jJeTd}uxhYtCy;ZtsC=xWmk@$+@a`(aYdox>sU&EGSKKH2YRK+8a93v9$z__BB}^ z49l+z=Km9bP&8EN2PWzNRpp!J1+7Fd+~o~L01rV45S)kz_@q?g@UkNi#=8FVb+OV= zx>qqm$@8i_ zY_-b58EObT)Hq|A=!|6sfbLlCW6&~y88XNkGFZfKI%)DM_^RREj4+Y17>=M#`TnWQ zu38nfiicHP#+m}A_k*-hW<_5jy(50_I*{Tq6FtdzD!mK4&Av$0)TfA3%9eIy)-Y|l z3Ppl6BUv%Om&$H{4E7~}cN=vUT{bJe9i(Vlm%nZ>GDM0HeIXd}v@{dr(Do?(vtCwo z%=nH}gH9nCJQfKa+umq8re*OAPt%bIpd$0wX+E=a*AOAEB0#aK1|sWSMYzq{0JTRk!BQ+|B}>l7Dl0OHUhCXB z#4LZNp(5F>$f!H1wA$*kPp00s4x{a8_U1zo=_3RzW3C{8yjU6yZ^&Zhu8L;^A!9e% zcA;uX-&v~D&{lTZ2Ll(sfc(^SJUdlQaIG5}-bWdtV5Zt;WQZAU>QHRijG&7}n|)^a zmyI(-`H2`31#>#}mPq)66Ny(qjGnVIp(F9GCPv~IlQ6vZX;^U`;R?b<5y1hNkPMxG zIIF6p_f+E5I;7U)%?NRHd#N?wt@V4tTRRw1G=7uU} z4&syzT=wETy-jA92tp8_GrUz)cpVK%_BWh@;eO-#Q&Oc4mQts)%clHhvSKRea|8?h&F(VVC|G%7- z(f?qoCl=lAZ5FWP5URo%L%7l@J75UHdiOSjx(oI&gz04LVF>BlArhI|_L6b)r?gWI zhqPV`TF-_eH?Y{c&G06}TuX+0TAC|E)|cjs9|hM#Eb>``f*UIRAXL7q{-jXWmxRj& ztxwn#wS&=WLR)uAXsfa8cFMBHx24{&H}aTPI^21TJ@q)2eRKxFbbs$Ltx5f&4|%JJ z8l(L!s5`R18$Dk}a=IrNPI&7}gVE_(!N`b0cg2nwxMEL1q!tm(E{pa=s+X8FP74Sn zYMn;~4{xwvKUUb>hTdCkIVNQP1Ye57Q*_|!$jxo6wUu}s(^!pqB)=@lZCO2!1E}>J z_NJU?7H)oPn?x4F=&9Q{0b?b-f9X9TAr%4OAn8Bsz4*LU!o9#l>uzC z|MU&F0widLKqll2`TG=Q50$b;pfe-;SzW(cT*$xkUNDt zC~8Z_PM=60;1+KzQA^E?Rh4SMxb<5PATSKX=M83GwO~ z16mlc-hYG>?Cc*Rdv`DX!(6Kudg3gJ6)fIm zW_5+i{}D9K{=zKpHjT+>4*h1QeWua&IcTq@OmxJ0o^a44n#>*nxiw7I!GC>1{g*hy>kh;f$WM7vX%GE6)CTjP&M+ zbE4VzBi~t>*^ly#{7`E#gPFuJRqYw5?J}Vm_GzuFmT3F54KL|$6t3Ux zM4|W3ZW4MA^bn0f63*jc*H>fxfh=52PuUZ(D0(jmM)nILrKKWs?d86P#`^gSt~4!k zB;KySDA|NtET3qbL?zRVijrnAVlejz@f)FN_Nh`cD&=wn&fKobCRz+ds(Y|dvdr)z zJGXv6{3PAI*`a8lTa8X}_FeWRUzgEU7`Jyd9?uAk)=%h(8l@55z#}7_N;i@tt=h>^ zlNY78;UxudnEv{qa@5XI#^!cOPGoAI$l?2u`=xK7`*oYA&+M!Jdi*XjQ!3KjN^8W~ zboFd;_@Z+PP{WO?vv9n6h%3-tX*@Dwh8da6LY{&$vZ>)v#ds_%B}7YjXKwvkGcvmO zkFtNF4HJ?7oHcbTtbefgn7yI+hGjBG3dKq{4fp37%f7E%kWAEoVBI5j57uoMl@{Z2 z4!Dd@rLg_VkD$TSPzUaBIsO2`Cs8Yzx1>LyByDz+{79cy$*n(4oma^Wy&0@aUr+1O zBZZ3f*4?OBuXnEKJz9j>CDO;VkB&<55!viD%U?EDNE8el3VsCUyBnJu^33AbMWlQz z6NU!YJBM)PVGA!qD&*E*Y(~z6495h+9q=vD;Ot9+vf5E1cSj@fMx7|bONe<^p+^nl zQhgTE@z8BKAUaGDno=1y*h_wx(P70;9ZVLb!vD?kCyej}x(I_6KZsJGhM8-{9O1JB zDl%5&lV2TKToAGn!eNVdhRSyu%MuW5C@W!>_nXF~eqpPL4&&xHsgN-4gTu=z^AWd+s zqz56mp+rV1Wj<(KO3UFdbL(q@k%@&e2FN_4h%oi_fWYqTIJP zgdVRD`f@1iGlW(Wp$C!bAoLUS#ShJ5byR5CX9}U8nB{R08aFLlA@p5R1ETBiaS@BK zgDV|ln`31WH?xS}XAw_MF5(hNx4Kxw3Be|-SnMM~>BYgwVG5-(-?(wEs6+-=Stl=n zN-LKLx7;1Kn>B7P0k=GY+nRLTZn3{S0^A-ZxTR9T>&StX2Ca!ni)yAikEsaw-R&T_ zL;g(pUIqcX@}%X4X06WG(XO{%)cF~ESLgp%p(d%$e~Yf6-i&BeGG$(@YKE}+5^Bqp zoz3$GWB3CPxim~oF?{h`%^ypZn81tsOyhN^G9+%t8F{TyQQkR?WLwGT05F%MW%5& z6i*tdtXy%av5?xwKw5ZRi#U9B4AgQ_A%8^HVOY)R{YEHqy@{{gX#GC9ijvet5f{=R`f4=)vd73iA<5WE%OSg*Ta^qc4&wawOQ46{PUNTTKwAv3v zPx!VFV1RvE&Q^zSEJ10;ja(pJ-Wu3;pdey;(VzKO-DiK%Aa`vvT@qn&4>4}8v9pd*`M7C$!DBza`qE_&i<&QMdKpE!%2%NHvul9j5Bi$ zW76s%nS>Yo=Q zMQV9VG-qlNFQm9MmHTy@{d6x@W|g8ewwLIf|N$cU}x-ks_$S;OO z&>8aSmj1uv{hf%(9t>W)WU;uq*5_87GYAuz=R|+pq{NJ0 zqCe)UM~t;GLZjWXd7q*f{8gez)M#(E@Drc3EBw-DuQ)_+dJwVA>br?7qqSU~0W%dC z4}SNd%zcp6rC>BuWJ?c@ZOROpPKEyzfXMV*$?z)%=VZL0GvF0$SW3nrPR0{tM5e2a zOc>WT`&aq8Yxn5_K1V2Qv)^?xzDI^^)R?kSLw3%UY7K9*UsV82jgskiGp9J2Yjx&y z$t-g-%bd)+b>;-ggqn4=-*7UQ=*+_&_LWj#&QarX?Dq#ly6ZPdn zUF`@}ZPkCIzT8c4p)1AMI?A|fNqMgDR^h6Wy-v|BWV_&&747^*y|@(hVul%=&I*{h zNfc#{u_dNMdx6cVD<@Qr?PUhkl?zDxfK74m$VMI0kxLGaBHN5C>V~eN^)2yR$w#r^ zNcH1_e{cQCX5>dLJoTQ42Jt!_s<_%+d})8JuVnEuZG4`e@Fh=nPaU*37{BHPj@j z@)V(4A{t7c;>HiB3ZeLIhN`70y_S{k{$R3wC8FU7Lmgdds52DZYD%B!7SuZNyA06p z=rcTakfR*r#esGdnFmNJP)S8Ov*roW2Z~~(45r(ZY2BtBq!-w4U8i)LYhmxA)}!Dw zm5HGMb537x0|dGeeul=F%9xJ5>N^iY#~JONxXd)D zT%hoMfT}8@I-?$~JEe}4uJf0Z9X;rH^dLgKewvxRp6rTP>k%!|52+y5($148M6(Af zL@i|Oc|JhN%>v<~goqLb8D1lJ7}Ib*l=@plgI0`&$pBbaO<+OG9)Q5Ye>VLVz2&=%zxWn{Ux4JWv?E^xKz~5jD53Lzwfr1W;e#1G}JHAtnD)1U3>LT zd4~R8_y}IY_Yy`b>&A(?8Ps0=%~isVGVRqv2Wj`bw08e3dsTwf)9uw;u2AgptL)WL z%3h6Dx%TQP==0yTSFdCuD8A43>id_gE+*|&qHcxbel}lm@Z$w@Y4&RTO~t{}?A0kq zfW6tPS5BZm?Dr?Z^8Y-?u~+{|mVNHx|2y{TWz1y;KYe@AKJ)K?$6oyh$1XD3tKaAL z_G+&#Jl*Bo1%ueD7yor|do{0CW;JE6mO8ZzuvZVI_*dJjC!erqd$oYP|9kf8A#+`} zT=$nj?A2olXF^qR?Nu8=rJ4BIK#Tq|sJ;5El4ptuKdc^ICcK-yir$HRm9z0J2)48* zGelRLtp!A^ON6e^REApVTlTQw!k_x!NF|xk9BKZp4zN|+=E`n~+S?h|zyLA$ z$1xD(=4jyt_~_QjyDhhp^iDLR0lY)!bKlZbI`M=V{!FQfQ#o;w^C@(|^)LI2&H9FV z&fcGm>HU2R8e^6FkMrEZ+Tgk_tNIbXi9|z-^)?goT<49+7DN^LF%!u~r&y*KM;W&Y z?taU{$Mhj|1`bQE%xKg8uPA2gV=M@ zwXb%`U6SnA7W*cuDD5zcntVplq7roV4w`Uub+-6B*j86$64(T(jJ6l&Xg|hgl&6+O zqj9h(lPnV0M2P>Ytlo$1$BCj(Q*kr(+nVJ03LF4(y<>^Ypgs9_&It*lh;+zayaeJK zb>lN#EoRX2-S)6OmB(M7ysl5}K;Z|u!5jRO-q%emk)1(yy~?|dWv1GGk_(Q_tS^by zDNuBq5tKJ6WPQjURI0dXeGn?$9xDH!z9^LSp;>MRt&a%G>kCHDO9kaUtLALy7Vfv> zDP%pT_MbLoi%3faDikFzXe}frZ(%_&{DoJxoKDl$u&mK-#X|5SPN!9(ZtS;t z4Q0KrqV=LvY0tUe5*o$P5@XAW75b&GVIlEG#OQq>D;8ZRLc_g8fD-Y?V(hnnl3DAm zX|-BoL&|4Ubcx=1(!qQ(0`_}H+Bq@=YeT#OYzDhxg45DB;wSNCAH7-j|E@UE>=|w!_ZM;|Jq)X zK`+xf=)}WCN(s3!S|yaU1IhWqF#aOeJS$75-P@r69Wh0rM zfWZZFwLi$V=R}p=Fdbn;p58FVU6=mxnd z-Rq z(Wz^+*Jll0pY~YbUh(?0+b78>i)hZTl3@8izgXD}tLzT4?9ufiryP8{^2L|h-|BIh zQZ=pZqrc|_=uW1|-DI&J`gVpeO!^}SX-}hFgm(to_v-I?96HQs@9ceUPj+BZ{+?X+ zw`yCIm&MuQszfK3%_&h%BL3z9TUKxb250$i1Rzr(=bghQx2Xo!1Ri2E`X1Zedt^VcXRKNV(lP=%V;$@d^ ztreXobw@-ulgL3?S)sx`2$&^ahlHC+08;WqMUjtMap>Y9eK9U4b0x=qcc+4C7Z5%u z^nc+%!EP7phSy7#p2m~7)lSM$afc-E;YSTRUGeLU8uFr$*^dN~O>bL4O$Yv~iGkp?kEs?utNiO|;_GlHkyNFUm z?)Ev6yL4P4cY9RiZcp0a?Vp3u3Ma016*K-ssQl@M zqcLd;eE`y2$a>non<4g|OLzcH910!N!$p0)C#$YWWG&`LQx9h_qfQQ?w@p3O=ywcf zL{)XxQ>8CeTbt~B)$Q!XGFEj{Cd((sG4h{gbNj4 zw(eL(8_Q-q67(6B`~gQ~FUL3)FZ3`!<~J-U$@Ei~wLz1Iz) zl@zU1GA{vC#I|b`$5}6(z#5vx+ko4pi>tdaZaa2c1YLnC`EXopz- ze*VpaXafanWzE@D{em{m5il_pw7Sr_ouJ3LL)yrj;xqClW1Tn2RfB!17d~R;{Os~z z7f&vUO|JFCR;Z;cCilBy2MZ6iRG zK=nQqAR3h#QqiH~2ZVSNpra1vNr31vGK0}tf^OgG2|`T$z4>xxPepnkKpv-FB=Ghf zps-!hsuR55+uHGrTW{h{;pDgJJjE9^|wd;Re|IS&G1Jp7%=@!%fu1E zDaBC@p{%z_abnL?xOU+VD;j6BDv&G51qVXnpUq(aXfXUh?I0pp@O4aD73ZhH)?b&89>DK7q|xcHmm z;%|zJzbP*MrnvZY@|;y_b_7j<4~Tr;6o)7UK6`ZQ2U{Bz`}IycEKT-yalz)z%z1BMwST*mP%-eHeZt z`_m`+vwXIAHIn*ni@HC@!v#l?d;fo>D%FS6&ygDCN{r-r zC}^QbX%l6{MSBNo6N4SznVzOe>|!yAJzS-F=p**n%Lx9>6OR?&5+tU52K@e*I<=70 z_}2?!kv?^(w6&u0bFPrnG_KP~ej}^m7A4?0wybo2E*{grgh50KW$}wouL&MY1QFLN zm}^G=`jj`0xo=q1G#>0Ggw`*I=I;DRWIjK3VTP=x+{PwU89#P=O)PL39CGSqV%rJa z6(5Sb=`wVvQeo0=+-`KLS8}J3i;(5|jzuPIO3m?l;P5()4u&6Zp(~uM`5GzY&Wn$d zDx&#sg!ql5T$Q-c43;mfXh$}l%Pv6(TPDRqRqayXrdPr%c(>2dku z)&hR^1e2iYcz1wc-xniBIc}4$^iy(;-X0!@s`~=5A6^bwe@8ANBDjmBYlM-mGiQHj=7q%^GotzS>; zTykY|WmZ2*D>`JgPo_>!c06)2m%c3WyFKE&TaP7BCf`i1oP}7kRVYW?kxe&{!~u9t zHQL`)sZCeXqaxPYRK39iVFY|qE?Qk?hkK=9QzZr#?zXA6O3!%-b<)0Bmo6rY#p-4~ zDp}X6ETi=fdXSoMx&J&Mt6QC+sHVk~FKBn>^IOI0lgwuY>f0LD~ z7sf(Ac&Ne2YP8<25h;;$=K|Ur;xPX_+E2$ij7BsMRjsRESAC#XnoY8-JWSS`bc(!5 zZU2a?MaBV$ZT1w&g3DHMGFHA%1&8b<5eKGN3r;{`INF4Ee@Dz+*XJx3^>H4hmqmAl^Fz;&tQ%3Pkg?`z!s=;cUr~PLt2vFX0b=d3H z_XPuh$X1r0mPhG}wZsFR`Z2W>eWmHoduuPe$n-Q4($R!}dz<}QKPce43-qTorv2Qh zRuun8*$aEAAA{^EFr=BI9*jM1;7HD4k`dsUBXKPUeZEUwZ-Kq4PGRl+dW$dQG}oV) zOZhBePs@~@G)k(nN8@gl{au1G-K4D;i<`gb71E{M;v=nt4X+Hp<=WHQG)>m~{naQ`(6D z#mo=%@UNSH9hm7-Z?t+gtg?fpTP!_`jy#qHhJULEn=?{98-_LyUuRLSv{VOI7w2ZB zzRzeku|h?;R`o>XMiDXbSEzy-ZBx~F8#QXbgs_zw=~gIuElhGzQ7C%GYXAlR zIxA4*a1R+ylsG(P?OPv+p;bW-&tPGA79ETb$ctM%rq)~I{_rVq@e1NDG8OMvH4V*V zRjD8Yu44!q55{Cec!gYiWQ1qR1Vx(Q*w34tUrO!{bl`@AK(Zg))Y*>?N5z*Pz%+}W zFj~JM5A(OHA&L~0aEC1i!IQE+jvq)~WNMLaQWi3M&kQQr!d$<}TExch+c|oYCk{4>Gu~69%oytrNxcDk%Uo;%yBJZPj z^oCC64_w+;t40UjFOcNtZhJC|!9i<%Rj1&=GZ=k z`3J|cX5c3!lv5pXdKax;9eG2&h7|Wq7U}i2P(U&>0UBBWDdm{ z#S)o3k(I~mmBhQJEsm7_AyFSi?y3;a`$zHuU`iCWEy-rI#cI;v5O`A_mtAan&*IU{WsQ&7`q~xj*6Z(o) zar4F8LeMEY4q4${!>y+mz8Xy4Mz-cu2o$>TR>%*`V&HL_H(^{qQYqNG?5F+!DUIg( z2vLaH!x5qONsiET_L(qIwox<3U3TP_(i z6cX%=*X1U<#~%U{{45~9Bd_cpxks)yTUP!N6ca?qPJ70MRzeAWb)iYl`S`(|kjpZZ zs{#gOMiAUNJ!n>@#c$MCsV$GZs$8KWIhHN5MTL0tdyEqO&M5&E^va%<9Izua^P0aw z@v3Qm694)pe;r>|ZM~pQZxMQ_$10wp3U4)vRxn}~1o3SLxohRT=y50Ea19l2M{F-V zhwDlf1{~B1W;J40o}5H1ku?Q^1Q`O32`tI*5*bjn%n(E(H|fRI>F?sr!SdMk6(*Xf z`k-3da=BCaW@8y!!Ay}Ycg;07FvX+SA3_Rxwha$J9)FQAxcKBdruAg+EPj%782_fw z7q>qi`oo-0hHjba$eGfQbE6|p)6LuG4+X8dTl^jtY8I9%-e$X;^pLf{+j~vwf;$xh zxACvSaME4ux%Mj3aIJ@|qos&xEhtE@lARP)<$FVlt~4vhxa9@F`|Cw?^M3J)8pM)(-!kNb@kE#(DMzAXX>&EnV0&V*=P{UVZH zjGK=h?G$ws$t>=g*~aZ%&vO?Sw|6}gDu2odzb?p*%*r*3Uv`wX&7t`_MK23-i5JFr z{petH$}#o>e*rH2Zi-PV;7$ze?@5-voZa3tAYg)11fem$@g()$OwN9w}J6Mml!s8wzQ12fOS-Ta$BH*h4V@ctp+2xl^Q^HCbz$lYP#X zW^BbO3X7FytMBM#*fhl0D(+;zwmG?#S&EeB1}x<(`S3NYffs=fT3_;Wb3RJ<=+gOz z;MWu(3ZU!dcwJS}bT*!j9_M~_eJAk_)}gzDxhqee#StUFMSw}8?^oYucc@pRwS@-c z*Hhgqde@PzH!wxm%K*C7cQpTj(^MBWrFCICz%;*!o^|V1o|HdX|>8jk&H1EIh#9|R3zdOUv53OOi$14 z9qrtvvCV#mv4Fs$-h4AEr@0lY=NOt!CgR~D*+k}dc2z>-q2m0LBiZo%Mj}om z?3)*rcC;)h%QB714NZqtM*O*E#4DA&iB%W0Iw{_CY4OXGZu zb-;|)GJ$gX@;^>rG>p-9nB;}K{FH;S+I7RIrw!ks+zITKxj~nqRr_33wbAx2UJE&} zP!j*EJh_NK5j-DYL95j068R^8PNBtUo#Rwp25OFWy7Td?GH|0UNFKxXG);{hoUAo@ z=KgY^T=W{Pho{x^E(=hGe!o*s7I^|$CJ1Ot(8u_R{IR>i-tPP-86bWkn)A&Hl}Z1M zii5&Yk;s3n2xF2?9keGMqh*b@0qD%d6?k$*b%g!^wa+HmjlJLYrP^Zndd zh{=}oh8p&yqOM6LBguWUN&(y~ zc0;Ar1rO~f9FuL>{)V$)nQ&z^zisyQtlZK>?-g@bmL?MUxpcAu;IL11Rqh29j|9YFl|eE7m}wEY7E( zw?fu6%dlc~787F#o}*{nL^tE7$nugcCtP@odhHuDbckl@^OA{>q zO`*sc>wxJU%)k@QH@rj|4Fnx5TJm6h8R z3q`M&jnqW`#Z*}FxGWudwm&_S0zagH%55N*MQF6Ox+(KXNneOf*8*7jQX;>Aj7XXB za8*{PogMDUs*G?MY-f+}PYl%4yI*Odv;!Os=ZASe>^+^fZpA*3DJ-Mu-f!TkWSvVr z-Q%doV@)cGpCs;!=ot$DOyplK{j|EcEm3Ys919u1bQ1YjksQwxe%)9(z@1RZkOtY$ zFkR0AQI4KQQ6>5l`MosClWpJifOZ9#8I82uy`i-E?I7aCED0E6@zh0pZ=!m)$ ze}Y+&?fD0U3{jU{ov7u;5s(}zFoXnEt4{0d#kSc~U(k}*CiRx-TpJ63NYcMK>9pg~ zs!oZNlYFHh{rPzaUWTtE}$RhT#S}0HH>v?xJ`=DZ=Zr}NrQaLf&7HJPs*o-gfkdV671?*tBe;;GsH!nNLnC__QztR~qMfCWY5KDR z$0W0OtBU^LW?!u8Z)#6s#w{)m8t1aO{InX3RvD2yP1BuP4py}oZPO%g;1r{GuE?lC zLZ93k#yT~;2n1ZLZIsF*=pa6VCqWwaWtqdUaWLlOr~*R8+*xxbcw@Le`vn{y4u-`) z1UcaS%-JGZ(xCUjfBKmqIA@JIy?~k0C&sS!Gm)H68%dv&yZ@>0cUeQP8DP7S(|^Be3_+oAJ3`O|)8rhmYlkCwHo=)b=I>0UJw z9FS#ZPvFSO@_2Jd1aW z{hB=Ei1?Fi>B#p}df!Z969&Bxsuz`bkM}`6Po@fe*o?v;=lhO{3C;bd_d&h&q^hM! z^xLp=bZ@1zUy**F6jwGPK0X%JNWK}h=o>|9DEfYTQ4*GJRk~m*b|9B}QKqWzmBa3d z3-IwbB}trH)T(Nfa?cVvZ=Xo~nzWF_E9nEKt?vj~LN1Bx{VGo+a4)~VLvRbC)5yJs}vRLNqW}` zDJ&nxRd%?HYehS6F`X_oUEtIt`;q0TI!>pK-k{nK85W8>qWkbODXU=AZshc>Lu7Y` z-?lkM_D-w;*=1zMTF0s$Xs@DdN7^a6&`24uzpFLF6h64oAbN{#zPn}JDmvh4Je=J~ z8TXim8uk~DLvz-_>%t4rOvB)|;(tixpBE$zI;bULMWpeXB7HI#}imzuMB zx$&u!{aw{w*HS6rY)!rdxU)6+n0j=#CgtV{hi>(Fl*Co?QSDT-KeBYInL|g4|5#YU zcgT9aT8zWjtY^e$H>^T$kjXu^7wpHJ5&YJAv^+#759#$f=XvJhIU7r4<`68FFXx7L zo^aEL{JpdxTb`TV6W{n-s^nH$m>WI|)%R_l)=tP4$2fs=iTu3LBKPHr$2JV31=51` zBrb%@&<7IvpB+MOG`~tI2c3!hkL6tej~^z0t%ZW`5X(@aF+x%OD}wxFGJ1`l9H-5P zsC8`tuXs=&+ekqod5qS(bz2o{%IJ+Uj_k+!hIqPK)lU&hA{(#lVc0*Rh_rbH1yaVl ztd|fwvjEH~lY1D52-EQ2R`5-4$4e<7R|)u(5fD%0zmt#7$M0Ma6o`>EMmm5JZ^}S4 zKdB^|jhA-%DihP=e0MwF9nQBv!<_ZJz@tD9wXjveK5HzS!aJ(ma0T*Qs2s1#L;(pE-c(Ue{t5DOO<|+i`7W2i zGEko8HGt`!(DRn3k>Ylf@6jRaTU5G?u^4i+HJS zExefmAxqz1!6xdNp33qbBfO4$>xqg#W|e*@b2vjPH#6pNhC?m1&Pt+SB0qYtrjtb! z7CM=MqvG2<8xNDs8vUYhsAoduNKaD4R?4bi8l|1ne`8A z%se+Vg_#wygB5?2l+u?Jy-E;RYp%9nvSnbj>QJ)Uh^Mg<+LT6xJ}8D8I7Bb+u2m{OtD|ZGK`^<1dgQhe*#<9a7UK>wrQo-lC(-inXkU3@SO({ymDg zP)VmOsz<1xyt1&-SpJZ#CnymVF5Ml4Gwd6kVz&s~MTIk1_^pe1F4xm%EdMqyR`;g?;hn?O zrN+k#6bv4Wa_#T;LBn4arKlg*lhWqe`3=4~*VZ-O;QVaQP*?cnd*Z(rSg{g!su%-R zNGj{{5B1f}pWWp-`|{bon17fjz5>WpH*Vk!f1LzBMDsUcP?(N9L8q@h~Rrnr9X(FdK z`i6>n;^px->JeJ@`{vA!`Nz>a#`!WaOlk%!PRnXV1npGxl8l2%;^gM)^2G(?8^+M_ zcIsL;UOGs}i|DvQQ|~ILamk^@J9Xnn@VF$^kJ-8(G5>fb6XeDhqPWAKG@>WbpZF>v zAVC+u)&oUMCJl^!lY&TFp@dTu!B!Ong%VB^=si%veEi#-S}Km~gG*rr>R>Ex-}cy^ zDSlN%8xo{^Gv%OqEOzOXkO<#J|fQ`!~ls zmcARUg^jItvt>G;D@xsG9nn)Ka&T66Q?9P>kas>E`v zaHFD<_roZSFljxiQ`ul95l|Yqa)`~ulH8)UJM2@>U2 z@$~kQlXy%9wf!B2Au(;HwOXVuk!_sFk=W&N#4cl~sQrDpRY`6ZV5dc{87_a`G|t}E zd&IrjO_#FyWXla}0Mr1m2>_4zt>F@q7D1)W#edv*TB!JW?zEC~OA&S9g!l#Sx)nA; z{p+P!315SGs;Id>`|&q1ys}TD|JC=}4+Y4Ms8eh#ctMB4)1dK(?kxF|)~LSU;-{Bu zXTHxZy3*M{82Eby(qIJ*u4E2fU}X;_&o`RoPqP&a5y-U5VlElL*2fHRbTv$L2vWlP zo?OF1F3MQ|qY$KnZNqCA-swbZ9f;k{mx{-82m;@>eax|n0<~3HD+e`NcY-i}Ryjxv z<3JTe5`1K9T_lnJ#c-xyR+7{GqHQE`@qBtc?7rVcYIA_xtpQWldd`o1Ordti72M4!IXPHrN-n3Q znuO9s#nS#iBK$Z=*2UhV+D@v4x;NN6iiBVWoL^Z3lHAB*qj2wYW zy3EdKeM(7du4RdotNx0z3{MmHB3t(_!1Q*;pCL_k_;ay7`xA{zGMYH$2datHX-%Mp zyeE<`y1IvU*B#6sFl67gLZ7|+{=0~gNK^`NgM?D1xD-Vqe%XrnwE|{Mo6%^GdVWIe zgg3c35ie03ZUXIhOOUVljN00Hmk;M;577Ns#apbcoxiN}krk>R_sHwIQT!2~>_JXH z_SgN80%l~j)C`w)`|(4;gfe>E>tj?urm22xh~KNSyUZ+hOxDXtl+fc6Ph4+m)NZgV zzb~;_3B5B}-uoF|LR5?KMi%3h%)4ILA*k*kMq!i5&I{&lxPMrKPcb#2MMiKtzD>l! zDy8(>ul^Ppay(PC%8Xt-3|D%G2;}fCb+~lqs;3k&7tMkwS&J#NqPm%?M2yn?9RL-}hz|T$J9x7CTG>96s)d1y)geo1zzLGL~JV zj1EO5@hVo_z1c?F9kTKyb~3^}DJ;M?dDl`rR|)ACl0w>OokwP<_yvh+HidG$9VA$R?0!OxD9QE@-d5y4 zIN3cWz1W@X{&v5R|AzP*D%&ADsUc|n6+J_d-EZ4@4`qp4PA=`c=2aoPO7x@T<+agn zAdKR+4*7ELu2qR<F)Fic6ioYVW;_p#0!m5vY9i|Q4tND=?BvneAdtXFGW|e2^ zDrKr-YVKqyt&v*PQsU<)W#zViWwmRDN|B^sfB$!wEAL1t%>|tWFKY55!+T>l113{ec3O)~w8*_xQm5fnWR*6hy#!t)8N@!~{=Fd?_2*N+3A?qA zQ$lu|BKt)CpAtjZdE>%0(I7Z9u8fqW8%4_y4LcdfRcWohQ$|Zvgc1#q9&7YXca5%Y z=RGAFHgV~JIxJHeQN{j)mHPF90W0-^U;jT{sb_5ecUCIbMx{^goe#*Y>J7WJX>}LZ zzOPh{ccs_sr{4e0O4UmyMgRBH;XSTY{9n7R)ZO&t`Dw&`r><`BRVwbZ-B##s)g78v zU6ASmZ66wUbi~gV+y1%3)m~;RG$1wu`m0)3kO_$ zof&18il6k5*FOK;L2`hpTtYK+i4db!4Ky|k0UDm$syuynr|~6F^2E?0Q*916Ntb!;tXx*0qvyQ`59&TopTy=Ok zavl~Mn?U6N6funCCeWm2YPwn~(EAHg5WoJRRAS`Grh@kdPyAfT-=~eABLz}gE#M)M zKWB%+{3}>F;_?DP%FTZs-A{VGw6sMv{pt;$;Zl1_fBf~Yq_3b?yk4g3^-_nqr3OYkigsLXy>TOVKY5e_DgsQliFHHAFsm=OC~yjD08yymz3**hw8eES)#1P8-S zKQvlvC=m=VDj02q59N^sc{RveH=2B+UhIb&A%Ww_P%c|lLb$b*$ZL?D-X*xN^!hGL zf&5TFWUoOMxp09=+0G)DI%i3p4GJXS33dg%&MH5ds#2@`0sz#pX|{K>gWQlWka$xD z+255z!!l@W?v*^+>)AVIYeJnc9lBnUjN6ov1B}|{w?8{XAns8Jj6`iIkNn{jw``?# z7~!%1hq*U_kE%Kw|7Vg61R>0z48(n`p(f%IM3e~B8A#wpClFLLDk#>9xFgIUwyaK~ zT&`njf6`W4tzB$wU8?OX0v1g`6A-K58pI`P)f>kp$gix*{J+mR_s&d0pxF0)Kfga8 z&D?wL+0S#H^Xx}byn7G`$hY52ulMe20>Mc+o^@;RIEktrLWI&pfK6E`~o1Ej=r~OdO4$KBsm>u{kYF;(12=N=l zvKg{jbs7mT*kPG0eNK!M9Yay6B8j6Y0kJ!no;bu021BnY&9YwvRVHXlhrQzR_=WpKj`}hIy zr;|^ z4&d~ZNJ6bH9kA5R*GI-_HaDvwO4~D3Z`CVyv}nTKvU?vPc~*xctEDnHb5MgI=>D~| zXf;SN<4ObN&69FGq0}iXkBA9Jk7*5@^zUkwGbz!M{?*CT``{{g67FUJaaKw+mrfH; zC2$TZg|S}??)aqA>Puh%Jel-tTMBl??Y&~N{|=_oV~yX5>zfxJ_Gra6{~aSqikjPu zd_4m13w8lL(_Kj2b3k~%IS&Ne8$Qg<}0vNz3La;w>F~^a~~|89d4(hbFiUiQv8DC1`qpa-xnrQtl@O z9nY$w3KhsNnOrRMn_MQ-Z1+AKasO&bA)?d&5s;u~Ehu){DC}{w1tQ`M8-N~Ey>~`{BWXb8|Y;Nk5PQFwrzZ_kwKX>YH zAEY#03J$PaiVjv#3JQ}x#s)?(Ao?!>^mw1h_R5k0m}gDr1Gav~qBW1J(WoV~3y##r zKq?|4_XaRt`4@G7&E1uvk#K_gY)%KCr56JKO3PGnpA_;pJj`FgT6^=L7^aXzZIROy zoHp~}XACnPtdtL2QZ3;&8l*fw59uF;e7V+uH~9y=YarK%AsM_z=E)j$h^k?08nt|b zDv}INl`l-cBt4+I5uBWpB=xflbva3oOOjZyzM;RJr@k??N3a2AAJe#GX_u4hKnuTG zWoO|_c*rjN)di}>hY_2}!vEzx7XExmI{*yLbgL3OgKSkt>8chwRsBG!DwH&}962y} znko;B+|#N2+iY0||Fl!SM9Qy|w65j9qL_lQi+OM$beg0kgTJP*3!&#zK@Nnz)}|r! zq|weMY`?C%%9pv7e@&RL?BIx*B=vs;%*Z_5@h+Vk?3CYUlTCE%SkbADJpy6LV9*)h z7^&kE(!}O5sUWnap^;@w^DhUw66&z`U~4Po6RQPocq`Ix0y4a%W%&itx61?6gaXWD z(R|J$9Bhed$^x(-=n&ary{tI}gNNUeC!g*}%S4UxFh9?DLX`H8*`a8#sx~(aAX7@= zB^0)*o@;1)R{X2|I1VQZ2-(t@Hg>#c9M=*}jtdK!#*za*_h}S_+l70`4AyOHlO#^K zkn~*gCX@0A0ijsD7daGB!#JlIF@|tQP6xNQ>y0dX&Zu}&3iunImKST8oO*_Lcc&^< z?Mgx8oY$IMG_0iV*RqY2O$UGNRNEm-nNZT=u)pC0-g5hwt;{X28wH(3R)!ctIyl>@ zNQv_^gLgWoyxAv{gUu@KYQ<4kMwqpb0Dr7g)Jn>j(!o}nGG;@ol##_foVjgj=)*Vp zhmE*1&+TWZnb<$te^yn*Jbsr47ph}70F48_(GdOQ7C4s4GV%L>^KGgyC`X_*QR9=U-&7XuY_7D?D9#PzS zMtSA29?uM{LgcXl+Y2UU*yDgmd#OBI!yZzW1)7xocHsB!Kb?L&u}i@36JDA7BX-M= z-U+X@0)BJ(N;~2IxSiQUwK<`XLt+IG>xrEd z!MEb~JR!IUMKJ$-fMPeX$M!@u;cces zsK2s<3pzuzD`!(WcpLDGG1-ei_^1M4d)`T-^7&zoKHkZolf&-gC-s9-9ugOX6wJrR zl3WDzr6$ISPBd)0UdvGHC!j+V#%3^eI` zTb3X>Y=`{NHvwpERB*G%T9U!9)c2ZzJw#*?kf1Or-<8K?utPp!O*l|VDHI#LD!nzG zKK_Ej;zcib3PGnlSsIU#?^Jjfimi2uwPE^WEfbU=l^m)+KH+>^%SZZBY$PXj*ng;( z7m0PFc%&U~XxN%CT%eAw4LAy#ILINh^uYQvr8*=3$8Z9rTV~=mdx%{BwK{%>E=|7Q({`3B~G2`~y%lFrRSM;ZTyV&n72JBt= zABUlm`c;`PRhiFm+Z#T{iFq?Tv9o}x->YTJH(C-aC?fw9Yn5o@i9~gZ%44$VG|YDl z(|Vk@6w>^B5$yqwm#PX*cT-#$Q~uY{lgVb-W;Fk6qeaJ8Qu&Mm z!@HS_aX6B&%-U)18cn-S1!gx5(EDSAurS92Rzmp_{|)~s#3WC6?NfdyPh$zDA$O+T zJR_Qn5bdTq#GTQ|d~XgL$&2fZ_cw@xQ^Yn^;olN2c?H&-Y5E{9@nNvntBDPHCSR;* zVgKVc#QS5^EUVi|jJCZgj}_{TD1>eMh47;O%1ztX%KB{3Z(p(hHahsClKzVyZ&_6v zsSmMp+n|N*d&beFq;I#>VpfqHyxc316)7f#RvS}PK`vrgN4pCd0#PZ`VbpdxP>cyKBQ&-nzdFx-j_M(KxvsjGUduVBQ zj{u=0;yWdbKbCYYig8r%5-v=gpoXKWk?YyRwHXPzHK{|e?zuO^!n4Etq-oc{J1j*#!rSiSf1BH>)6dMH!{(BoJ4SNTiJkMi`@$s6y^& zQRTWULvoThw?rUnS%WJ4&Z>4I2oNuiyPLf0&6<;NzYnRUHVUlDzIwm*&Ft5NOo{9{lX5` zk=O)6>_@^fk;;{WgI;9ZN66YHgAacr+jq0Q_9;v{rOJQFCQ1fd<;SgZxqit(3X`d? zJETxQMr!qmgvCJ$=STyB6t19!OnhVqe%yEm4j!1qRP6(Vk+Wf!^&(L7BY=Rjmvdb- zx~)%0h`-fjH~&8Pq>C@T622^(EyTAerE{NfqzLJwJ%uAUYkh4+n@kEnIS`$Ja)3e8Apb ztajTcVl`l@2n{e(c9`Xn^R8UbgcBdZ-5)B{tVp>Gq( zZPa`vTJ}N|2aDT2;gzoN>c4G^JSTRa;J$@kxWDD_lYBP*&ZcKdJlNu}l+HD!BiykA!*FQniF zCFR7E9P)W}#TWkikLUweF`i05bN}tFyhQxVFE|PQZkT~Q<*W;adE%H*eRD+YMgvo% za(}((k!bf+iIHzq?D5|YaV~}WpG2Adx{O!&<4I^4pU-1Pj|lsJ+CpRTpQnB(Rmp33 zdy5xOU0jz-si(5y%c#ZJ{0+x2^!DL$h~QMtQG31kzMOQe2A7!_r|-_2In4jmNo91V zaQ0xsVt$e*{n;o>&BS7CPr=M$t4|puUB5`h3$y!}FI1MjF!Q*|iZ!#2YViOFr~yo9 zs05+-bMG^3@i0rC)IT#oe&I!v&VSsCQWVcOzF0F0#D+pF-zu#`s=e#0(Cj|FlfJ5Q zhb@g*w-%5o;@w^C-32Vnx>{0jx`fXg77W&tyEpbnl&O<%Ei~U*^pU57Y~Oeu0Qfg8+9TO#ZywSp!yu|zCw`IG zYA)hZoT6L@j!V;(<3>i4r}u1$4EG|VNc_F$-3$k@;3NEvSSr|-;oTWc-jrt8~)b`MGybF(-ERcfRzU)9h!XKG|o8wJCl0dGXr5lOUi^z0-NO?Dqfg)@~5 zteBYeN+TW_aaoU9!>tPo#Zu-|^x`Fv9gXA;#U7Iy2Sl2n%MxvYNTM;2dNLw6_Igr} zMplI7_rWTnH&tVYRF2t#R2xz~6{(U;L#d4Q#E5m*@5!9l)o120=K56+|M|~<<|c|w zT;X~=pB~^7-2xM*H>$!SnTjNyd5v^WY#6JwQF2(Zp2cFXRKj2tI#kpH)gK0eS6m^y z2NW-pn)*o9JTL+ zL@P_5(QFM@8#`-;CC95XKi%_>9JFH}lY2?`nic&GSJ$@`u9f>h%F-~sl<-e@4{T`o$G;_V0OQJ9 z5gZIqtX~n7AhGXN+1i4{+yMbk%->waR{Fb)x?Ncnlet!;45dcJ*4XiOM7&gWV~M$a z@d>-T%E?a59FCJz0Tp;HPN^%KRyC4v`~^LV6T8DSPO$B}q(@jP+||HCb_0@^PW3Pd zxYMJ~uqK8LvGT*fYGR#rM8lT($0pXM%_9t}nwiFt{}Mda4qu#?Ds}gVfB8lsYOQc_ zOBE7eky*eb!yMCOBd>S`=FP=`sD-p1^euIl8bY`LOEqa%7iMx*VJs#kxD!#Q|H-Z1 z5&yF1B2E9y<1xN~zDunO%2RW)y`Q#}ip{e!-TNWkt5^)TI|klh4=-!ypX0RG%_t!| z8Rc0G=>;pZ!>BZ`>Yo`y{7JnYDOQeK^PJ7rQrV+ahU&am_WnT+V)r7i>mmGqQ`7r- zk;Fd-MtZ$iY4WA=_#gD>A0KC5!mi=^TJ|xgO&|FyM0FG<*syv!JY!D<9Ap7F*i#}G zcz}kqd`m^rBdig_^OY)-pQ7IKgYJV=kq~?$@b9nOnw9Y-%h_k$$oQTdO0!Ad0JZ59 zbM~Xp9p>z(V07ZnBejYbwjU0}XQ#Wfe~NP-J=;)o`AMQD9}SGE?UvK!gDr1OVutsT z5*&G|>gly~M7D8Gy*(^GN!n@O08eSpm5iPEsr}|Z8AWv0 z@#SC-bsk9EyLAE{SN zzD8=aq5~C1C?j%gti(Q*-YDQP3Y=_-x#BE(cU8H+0dP|&fjf?r$Z|@EI8^yzb$5yu zR0sk}5;1#)iv9s2Lwo_cIott1PTIavi>@>&${>=4s#aqBXtGcKl4w5YqB7r*%ZwrQ z5U}C28V?^#u%{c0Qv?=%Ej9CZlA4VafrTHb znZJKLVh;js=}p5e9&DO8eC$?xAXDOQMukK&qFCD7$)=I%&&o0O$XS*QzAHbj9OLi$ zMdTQdYjODZPgYyyaj~kAX<-B#MI63_EyPwyDXSsGyUAefr)sO%_SL@!aB{&r%v9*} zMZ8BKrrn)UYUhv8kRw;Q?MGgf$?q%#bE@zF3&DB8S*jNzJy0M}*R!DzU`l@MlHX8tqsms15Mvj1F6qM~6oG6bZC zv>Fx3p`5fg;7pWp6uSC3nh~O!HXtpaw

    +lR)9=tI}!tA}+?}T0)VggS*yZD)CF7 z$0LSTl!MPq^5(`l^Cvb)a|CaAJx{y2qy}YkUMV?ol{vzn_?+To`*aK0j*yxdsctmsJl4dbXm%KRe{V>9>xN+ zqh8Q}`4b-S{~=T$!1GI*aRdJd@EF{VnE{@`QbZi|aWd!{_O45d%1p@hg2F%GCJj8{ zPO*OmQXdN-8rQ6o*?2ml_Ry1!vKs81@v4K*$SYQNZU@^BCmA&~D>+qGN3QGx2*T=) zMfk>AS*E&b?`M)@xa1H<5KN8qNg`Z^bp%k={s-yc%TzC`r#-!J11t46h?p%?Sd~+q zRp$R8Doh7gQi>X+;3P7uz!ZeF{j*B`0Y@#xIiplHrSeN=WvGadA{`tmLz1!$vhwEI zY+KrAZ&fR`ckpX*FI`uBmAxuOl^-TQc_U)Rgc<2XHBy+s*;57f%2|njOQ~!XQtq-T?GIk-P*u>F z|7N&qx*9e?2BwzmL;pd}lpk8aOCRMd4`Kp4c%_>&H^FkY-aA zGba}ZpV3ZA#oGAz=5aTBqZP4|+7(hhRWW3HYUDHOk-(romx5vcGcVbFQ%Kjb@2KoZ z9UX@UR$u(jL`yEWw|(k8b2SqyVj7tRh2sUoXP3{t580jk;WEdp z^)Zn45X*Aol@TyDpm?um_K{#b@hvFYK( zx6EL!VHFQY5r=5p{IyyT>+)LT$|H?@Nl*)Af-uzz@l)%ltxCiGzT88G%QAJU!& z1?QdzTt_KDojnu$^}kn8K7TqOF6vs&M8S3#Yx?q@7P`2~ZYIS&3clySNWJ#^odPh= zk8!VCD>gY?sd^R4*Bdsbs&esJ}sM^7&t!mUIOBA zPMY@|IICZ$Rvj6H2z5DpJ@KTU;mIV0EpF3wjfv4ohNl4>wV#j>$GI z_Xnu$08tRZVz;fg41WA{xu7+`mYP{W&sw8gnpT4qwUXj;h^goVli7^ujIn(bN|v=k zs+;dmZlGVX_XbBRu3G1BcuTq|mC=CzwtlQ6=S6FKArESUwKtGKJt@l*q3YSSHO$t5 zy!gLSwK|mAX8VOJkz<|xZw@n9S(dP26sMUxnLlO!%YI(o!IsYM(Oe~u>YBgda_P7X zW9F^&v(^7hdAmA|RFcSRTao`J=d~L7+@L5o<(6^RVtW1=4T4gn4maKb zaC&zbW!pp%SzA^vKf{eHUoyO)u`TnJnwAX*rT9v$NaZoEEQe}Y@Km)`P$KvHIop0Q znn3X$UQ1NxEeqCFm%ZEGhyBK-f$atS>UwoO=c;<5S8|gM6E7V_^;T)hPTBiYc@tn zTI{7%iBNGzcgpWf?@f}qtQil4?bT)6p4cI1FeBks$A~`PW%WWVnl{>Y77b%E86Od_ z{dZB3JacJk#a`BLuVNB++K)A$qVf`@dN0>s)|IhRW5R}-DEj2T>%S_J$e-*2!+e9J=Q9k(q$-itzZ^B6x9>o- zffRa7WhfO1z0J%#XOul3VFSl~297cV42S-}W*r#)h(iLOub`WX=&95$_*@cWrxHLL zY?D?xU|0#I^oNe{UCzMN`ggW3;Q%IRWBEalTa^$^)`XaWl(J=PA(Kaa;{&Ptat~{s zwIr5#@O|gZ%(RqNbLDh3LTw>a5L#vCfE|oQ@XNN?Z7>13LkihwU1dn$-FHZ(LK>ZR znL8vQ%hv)K0R*y8eGn^(dg&KG-cr{wLEq@D2Z=I)o!74nlsTbRsBy_3r9;@9WkxkN zkh(WBDn)NYLP8SwYR|}wD4at#A6;WMDed>hXs>lFabpBsgng`Dke(o*7i6+5#WKR@ zdH<*QJh0crS-Fraq>+?TwLHKDu&Bshbusxa`)?emC{<)7#TW!bCT8QpV*Y0a#`8Qr zte8t-EKSv4Mm@TcQRi}ylnu)QJTci_03*wCX#NBO&*h`B5+j(a7x6Ox)J_-H`o|0D zqWyFS)NOOq-eWapl3H|mnQt`U$NHoN6i58sMPWds02`$-aKA7;V_E0_oJ%(6L#H@I zVP>^m_?^nQzkhmWwd>@TV||j{D{E=KwD8uOIo6W$qNvZ@;mr{mNVpKV^b3J6F6Wxe zl*5I<2+l1j7bBY5FgUD_@ET`B@5HN8J>n4s7w{aVhUPi$k~tEdqddcNta+Ohc#h!0 z`8UH=+})BYiuaOobPy~LZ4xc1leGz6%FGJYJ5~0^KI0211`@WkYQ4jj;&y@s4qA(I z|E(-wv;FH!*qILF`G0uUm_?A~TEzq9G^qJs**>V6%7sFQ4HygUPhUHe(%zI$6{ge9 z-I&tt&gT;ZC^W|WdHS4+nmaJ7%JAY^e^jx9^Jxd6jfB4FyFkt-=!+eo2gnQlW~htw z{4><6CJN+if}>Hi#nbM&q&SK|WN}X{zyJV?WXr{U^Pc=1^o_{8N3_A>-bC&A}NZrbUFXHs_}||q3B$ySO6eI%i4^JjsDxpg!+sAmAT;4jru@bC4<2b{j*!idO8NSqdFS^c}g(RNS$XUJjuj6|Fod2=;Y=+ zkNwYUvT`N&d*(il2V^F)76Fbe5t2;_3}u@)@zokOU#_sVj=oxc8n(no@$~_|UMF7@ zqb88-i5DAJ`g&B60S40aeXX#+Z=Mfn_q0y>&XZ42CGzz~Va5^Jop+t&ng{(u@O4fOPK!~u zjbcpVsqwEHC6lP}WzK{gMx^K38|@>{b2aP%do|^h94=F&QYsRCyeqT}xf*$^rqI51 z(znVlha`jZqyxE)u>N@dISLpM_T2!2&`?OQd=EL#v>Lp7z1R#u%GjqN(s7}~wIA#% zOchHJ)_v9u44`G4qUM^%VQ0}Yu9zNpn#YCYS&;DTuS}KTUfmrI$y2itJBX@ zfvN2nmUP4hGU?(Le1ckrD#4XXosAB09(qmtY@}M9_)m4}GYk<3lU+2^MxAULpWVBi z_CU8SV^uSpt%m;amF<2|ec=O)g_PKw`JlSYhf@8aG4r8Rdd!Dn{o#+955>+0bqMeAs}+%L3wg^ZghYkB1#{;ibytSDI+G%Qqo&7Aswr!#UL?U4 z7Oa#%)&A&uO(Ao~;%J)m_s;GmdCH6@>1)S6Q$+g7NTE7AQE?^D0n@CpdoGm8^A(CI zfLL|N25@Ma?(9!oVysT(_u4CdkR`89pD0tC*+ENP`x#-_Wxv?R-j+Mv4*hJtsk9}= zFO1~roNdiwcq=3I?|JHG9a8Q$21&}ht~61sw5$JgPgqo_6kjatL% zWn9@$E=LrBCoF#13+^$>YlLI8iDR@$qV>%p80MN2uoAE*ORJK1SkV_f-;;oTrI{it4< z6Jiz=nNlRH``mcx+w-Zj4csu&>9c2Xx!LJQ^5Ovv%zP(xsL*K(^v4DM#3xcXIsOFu zPAQi|J1O!8U(Z(irCH3E*qtQ%V0)tb<^2NYIb@jF@JP={lLsFn`aA~rT^RTtNc@Xj73Yj;9qcx^h?L)J8Y5?Qs*A~IZb7E+SE zu{dCEMEKC@(~!mtM!Jw&w-6wfYt{xqT@ek`MjY)$50P6;3`eaaYT&-UqMd^HXHje7 z^qPvdYW$;Lt*-cL_S;c&;`FM)#1DZok|xVj%~_nJ=y5Dhfj|>Qz{SIBtP!faP_h_X zTZf9|)F1gP4h$2g&%)1c;`EdcC!ry)R9bS~tWf3F&C{b6yK`H#>_el47)YZ0TtC0R zNUucW^A-9M ztt<`8cuVy|*c$Jp-bH8+MI9~sAPVl#?HLtsp=YA2M@c;~pNM9sa=r9~v0h&i6wFHj1jv(;{Wt8B=Ygc_!(3$Q2_CI~Z7qr7pg#4lRt~i66$Lk%_j$66*@gu>os*|Krxh53j0sl=X#E zG=(N|525SDHQjfKw&)opKLi)r-XzBCN9Z?kcW;DVRkXLgT99pW3P@_RKb{c0Upss;2J`Qxv4rzkT?JYp2@LA7=3r^ny~Y$m(z? zYKt1B?bRpzm8}FbVTebeO*G7cW9=V_RL=Vz(uxjkz_82iFk}TdkCpI0*L(qeLykQ$ zJjJyk`=wj6t>?J|GZw|G3;*T}l85j&z}(S!2iuUxl%jjYRU`VA)o{75qkQzB4= z9IZUNGGc%Z=kuM_dS%X{TIsKF%!;D2d_O<6z+)9P@%Jjj>OZJX3Rrz!7_q2;rv(E| zZh-cEcnrf*&PGCH2`NO6E~AKT(*4A!^LR|hUn5a`U~D5QjTViP3}24}v90QiFob>z zi%>;GUPZ@XpNTk5f*THxh~<1)C1XM`%fPnE^-oFJR7u|#%Ag9mL|nxX-(5(}n#u@w zlHR%FQ-XAimVHz6RA0OtFFn2J6aO zg(Kv9u>1PX(DnUspZX^0l>OHC{BOGL-^Vf4zl*xmm+4h@PBRColSCgE{XH*h#p2L= zqFfO{>bcnqM1T8B(XXq!ELVnDZ~MV2rFXyfA)RilyyAw?RWoPaG}ADRA{6ow>Qxbb zgG_0U)J2t$tKTRk0~WN3VIfmATdR<>H_VptAu8JGpB-RLIV`Ku(p^}LA;dW?ds)e0Rt zte1Nh*s~;#LKb<8{X#eRS9)m|e72Y1VX$ouo^~P9r3V&$wvbL{rlrQ36R1wiDOPum z9Es4;e+$9W^JTx6KkFxFYLZAg6EFJ>MF}cGyrKokCUPibuh6;@8llwosQ%}KMj(dz z1h3sbnqf(71QxC)ISvNlEqlmxG3!+Ko6apU^gJp9^2wrkz#d&Gf8@~mqs%AwT}%(m z^odmypM8Vxm(_x+yHH~e(Ws!I;KKV-z(@p15sc-@_*W+*j5Qh)7DU|*N)=ffi+xsP zXwHgUD_u|eu3M$rQ{C(b{|8UI=(&Y-Oii$m<*%bI*8bvpQ`gCvSL>d6hWTc-`4W~b zJ5eSE#0+QxfUy%;pe{l-tPv0VSx1SiECf=;a;B)1Ci#!8KXxP_cr0CJr%hx}z5vst zmZ~2&;N_jgs4?S#MJcRAU?|%NV+=7M3MkVWWv79M9*J6_6M$`{)irRu1Z$WTjB+N1 z0NkjAtKDU{j-a)Y@yU^d8`d#$R-3!+Tc+h9doCD3lLrmtk(?wPO(CMAPpWW}kzq0ak2#sr5TXsNR zyWRoHU;t`SWTfH!SM09&WzQU>e7c>p8Ts@VCxFhZqknx0KRNR04e~WH>JE~% ze0rK>Q1a=?@?`pMkROo%7hfzD9X*Bj{m7>u0w9!p`Y8KqB($ysJ0qX=H{4DRM@Bt= zWx2r5wPzoMjQTf^0YlP<#p>3TTp9IaPwCAjg1DxD{j!Wlaz2yNa+%*=AieG^um0e> zYDfXQN^)~Fep`8U5#@4GnAVT&UtYaF*SAuM#Ix{`wQv3NLYW=p+uh5nbLcNN{qp59 zZg1k&kY_%kqw&S|$XCIIfm{1#g|Fw(EN`XuaeQ*MilZb^iM?`#Q@~U9yl3adPDCL{ zltF|70XKfba-zq)We;QQizWO5JlWnj0tgIzguZi+T^F6dXe1*6|MC~u%o)a8HJ^P05%LJ*O=>r&HLZ)x>pyY96mLt1XN{r}SViNV0yXNeQ zb(1Jjb`6kS-xxuR0a63(pk}W zxZmyHNOJB!k#BbI*sjE2xYyx7ZpHiv@o~6#P3^RK$hTC`yPit4pYdH+o_C44J@H-d z(OgyNNzG;!de#b;c#Jrx9&X>oIVw6HimQBhrWVF)#ZeuRv55z?V;VYr$a*m`Qohq> zO@Fo;pZ4P=+Iv#}MBBg|FVV1_K3|!qK%d7w%1e}K*lKSTUXccL-*GjkUu03-Yi7HO zqCka5d*gAz4#Ac3<2s4{T)*T5yBf6(VxSv;>Z>GRcGB1Ugn*0kryl&cD0~QyHX2QX zC{ya0OW8EJ@dxx~#U14%J}F$FoI^7z^Jz=F%in!Wzpn`7>bTLDuW4U;JnVD>{&xBfcPdA5k4dfPwYmb8}pA z#lz|#3Em|?8F9sR`b}V^P0K3!u^_-o8`N_LsVktMJH&{f;{PgGx%V#$R!9z}A62lj z!X7YPU?sEsnf)wSM!5eOtn5tLQ*grchJhdC`CTSz3TxOI!tYu~?>Ls9ob$W4d`*mc zk7Rv*|3S_+b$^ZOSpy`x|LV-5BGJN@!wXCB1a{m~zo zENTBmxqYRRe)&+f=d^yguX7p8S0V-Ia$cXMhY+xriHakG0380I^Zv|{7io|dz4R2y zsXdY@a=`P~KAeGli~QZ6*BSlAqR(VvYlOtc(m})l;U$lhbdVOc?kw5KFYM-cKg*i6D(Wc`K1{DigNg}7XV7bC$^PK#PQTmuTdv9DCCEo6ls zy$q*q%^65%y7PDF6i;f=XF|-mRu4`<{z5Pl2D~qG^H{a{8axC0w2f?@X^_WBE05oP zRUOTwt&nRFBgaRIN6ACH@5&-_RcnEC3LDXzLIgdV?<1aWs^3Zx0K^X&vK|xXyD|6s z{40Mz-ywYE)={1i-zug4qkkdwUqG;^Q+&tqJo^-O<=cE|w$IyuuA=H~vuVd>zp?I` zrk^8IX|jFBHI2_-GWQUp$v(j#Ab6trwAfMHL+qb@6s%ZCfU-?VBDdPdl|niljTc!5 z`V;=jC%MO|!)}=>%=EA}4~iFJv<%wb6pHu8;@i8uDG>Lk`tz9AT;(0iYpiFp=XlwA z(^@>IoY)-B;}YmaAISKTipB|PCu5mas?A{t2(!)E zfq(g?l~*uJ{;C&JN3NX4)6LGzc~yXiSI#T-p&Alycy!wna~9_ zZAGHtj0Tj%tuSnoP+mdE#x;U?O`?Q$hn6uW|`PSGpM96`$xv6hq3F zd6)hDqbUZHlo2Ad9gt-`F^9i;YN&v6o4=GB9u_?(FeY0vb9=Ns_z!|cbLr`B?}Md_ zI>30F{p1$ha7yJZ(Iq-~?%|^FZBA9+9=;!4{J#s|qn2giJHm4ge9v6>--PeTp#8!3 zCsY1I`2K$Y+j-4l4%>r;?HdmLk6`=uBmQI9-oj2j5NuCCd6z>XWaR^qef&dm;QRH~ zgM{y#^G5cS#?zcPf~PIt7u*=-oG%aXHG(b{ELf)y8iKIOl8d)D6~_A^TIKl?K3xn> zE6m_DIjJOIr<`0Ke!+3oXMp2QS8%{t10pH}z4dwGCZ2>CIW%=>yf2s!Jl6QWZ{hm7 zRNfPD7eS$Jm?{TWojTh@koHVKmP^o&cGK7B2b10G;ifdxD9?AbkFA3^3p&(F;qsk!rW#VP;o`FX5Ick^>e z7Je?xfuG61&!wHGn75Hf#h6? z!<3!r7a|%MAfuxV5tAVm*nh;Us0b;{DVR4_(FdiU`gEaEs}P(E18UUTevwopC#{2O z#@Q`}bR_#)4*$2#AE;^dm(>Iyh?pe_5zd_wRy;6d3$b5n%63HkqxT>$uO?jJ3Kh05 zQY-?H$|a{Jc824=H~lVqb{^TUhyfpDB;p;rk@z@U1^(>~Q?c8>F7a-c(~J{?l>eGvCs_A@Sd)?vuVN z2@QIV%EhNzHKo?1!Del~Sr|31E+kxt#LMRjUh5*SHLk#%RBl!c#W{?tdlI_>)!2%s z24UWI6p^n~qhBP03g28T9mGDK%El?lF!#Js-N6TvU7F3@y3~)w{o?9;0`5<>E7~ zs^M162y>j*oIp@c8n>#7Go&$lMXd(~ zLC8`RMV1tl6ukb>H)vAjMkoLB#+4p$dgS==#keID3Mo@HoU1%m#E*?8=j2sa?6_q> zWZ}qy^0WKs)W+@L>+Oe8eZf1G2WEwEl{X1+$2ZM3E z!duNNu1OZ0uH9cW8wJYA>FheUvo($OX^dIpxOLLg{Vt-yS5q1l)6Xu)w0~Z!YHUhl z)Qq<+$uCHcoCh8Z`0o${Gs!NPF2vpAc)k~>`sG3tT_qN;H3^x0e$q%U+%?aC$Iqk` znib-#V6=Pt9r7whiB+XoSX7sF_-}h#ou@VBe2u~M&gPg@eV;RdXkJ}|1+!QL$c4AVisxt;ha2A<>HbvrL_O9$p|3Y z&lf3#bpsoBQk!@*3|WuaVoli>k-yWbr^Y|-V{mfRKmL7j3`=R8cdkTusDW?v1`yUa{HSHMf zum8Jb1DHScFGtOZv!9?q`DJ^&!}mgSKKZ>Q!>*= zatuXB5LCgMlu`$cVa_USKUt>An#AWzbj^iUO>gtud=n4rnKC|q{ioDWZNBXe^H7DK zo$>kWUzYlTjW0514tT&hb51>d`^c7?ycrXH19kr~OI%+%qGH1k2`Lc(w}%?0?Q&MGASue+@PQR`B+Rfjocn;@3z zve&s8HD@mw-ZxVNGWr##|JB%TA4LDvCd-X$+Q%JZmsXUSqUJHDHCAiB~fo?#>TUpg7->Tug9 zhduPBh+5UzNdZV0$FUk*ZYN40rMg%srnRc*xpkDC?aLJ3zw%eq!(-cF-;W96&!05l483mxL&Y zUk7Yx)0dl$lJQ*xvqJ3oszCSdnSVg7!W=zhCtE~)HZR~f6{1f39R^7T_h=+1Jp^4R zm&2I~bg;c8|7s>fT~^^(w{%t~XZ4d})yw4QZ7c=rDX7NRxrDP{JL`)rlxv?InWF%A zCxc(j52(=Hi#}T_Jxe}PvQU0os+1yw3cweRh|~lv@5Qkg_+Gt$Xrd(+OIp= z4AHc-cw#f-R~hEmQt4S?^Vs539zQA7x7zBl#Ity;_}CQ6!{Mxf%z$RNl*N~Q-0|qy zkCHzF`SYS{FQE9ZuJO*{zTSlj$w1v?5pQN8Pfxm9nNru|?e@E6fDrW60sA|DVPw|$ zkbSs*D76DTxCTKdiNsrBlFkM}OCrS?*p?QSL=Nxtp0yXkbs~VPI|CG+ss1M6nMMbc z3+*oZK?wM6?0E0O3bd;o@2c;?HSJ@^t4Eh>pG12Y?7Qvt@7&(7?%O-2oA%B*`1U}} zZhODKvD5gTukLnykEQk<-&>;&I6k!ztsz2RgjlYCeeI*px?Q0kVDNBuY(Jkj1qzN~ zu`@wg&RzS=VZRxu{yV&q{9Axx!YFH1@dFZoQVllg%Ip(|hNyK7EG?L{Q~ZF+sQJ0E z>GNz2hWTl9$OqAiPiK}zy`LKucD4Cg)IX+8A~IzI2=owYSp^XIu6iPXz#XEtPR_uV z_~SOV3MAGeC9)f;*?%?WGy(~H6PWp{7ahQ=e!y<@ySHICXGK7me<68bwoTuNj?bw1$uu-Y*p%QH}Og9X-Ph z0F`^el(6na_L2dzyPDg3vIx~JM0F)H!S?oDXwvP6Ki!+Q&jM%LO*~;Q=euHWe%Ai} zpyVk~Wv?1mvXPN-_w@>Xq}e`^B|SPxRCdaZ+r>LJ{zLL1{O672UA zK)7PvEyo~L`CfT^AX1exMXKUYu13*#A@}=sG2r38^a#tYwWd?!<01`H`op}^z^uWklMx|t&`HpSsQzNN z%PF9rn=5^I=_kml1Q7wGHCUX%;&Gp`=$w?aM#Ya-V`$8XYgX6^u^?kwteVDy5ZA0= z%#e48Yog{=tw?9ebL2A3(GibIpJT9VT3A!8`$S)A0usxvCNO$&L0ObomWg>AwXkOe zw_pW0Kd_p~k=@)cb0V^vT}pN%u&-q|Ay;`ww93UU{mHg-vc7lZH^?@+$ZtL#F7lhx9r;Zi;4gc(eF6_r>niZvq*hmk(^6CR zNn|yxiwx&WEyHQ=BE$JJUy3LW`Pc6|>*{;`iNv3vOk8)Na%PLr7`uIBbg*)j4#OUXo1hPY0NZ$5Xy)fL~^ z=9CoMw6MDDH7-{AQcF97p6g zIq=#^euHS~e^!3;xX5ohteS0|ikm z?@Q6{?d+ow53Z*bLsCYZw>wiR?bRboP(4*f@zH{KS z^4r#jk*@vllm8w0PQbpd+wv~^(e?gYPM!VG*AiVqG+knPLuAu;HGSRjKSN))$bq8h z>rd1Z^z{jSNJ`FuzW$`mFvsl_8y!tw-vWJowWhD@sx1ttp*$dFTJ72)5I)I1$4aQJ z4*P>Mq2|2XnhTEYL_p(v2C+_v2%#G!M8vEN@r;0LtDWi%@qB!i7T!~yTWK<tLJ_zGGS|WKW-lSUu6_7?2;>KN$}EKQ&|SQjESI)-s^-!l`a0l5 zt;h^>P2z*^;K>%lTwLNeoFR?{&r{96)BL?3*-fj`n76VYRA^q@FVf)S$IshPW z?|^ppn=4Pbwp^;QKl!VMVP*Z_dBm=NDk@Z8=);USv0Q|PrN9F93%g%vZiTP0&Tg2_XmWO8)SQiwdMr~#3$E zji`BJEup%j`1{o%88T#`D%OH~B|}w*8oOhO43A)|cP#d?ENSCHQJa;p54%I=hhW|! z_ZJhwe;b_h!49UlQ*h3)Qys-JL=jqbrkDkL;|YiOCo@b!u@gx16g4(NQmb*vm}ERM zmd@i)zJ>i@Gl-cfK9>@A{}FKjarO58`uo%?9J;H!Z?{P4BrnR?52AubN~tT_zus7o zs}rnvN>-9|u<;Q3{E%%f@er;<@TcP;*ld(SndY{hBsp8Xv-r^Mua+7~KSTC2Nc3E2 zQ}NWqO>(-x*;Lk1!r22*{fbir|Y-)8x{$%tvpVR)sZ?=as_Yqd zR=PE_(i`nN2`i}Lr*#)iBWHPpbIUkgDMX@xA2czsmV3h_w7w?=ZUuzOQ-@_~e3#>s zP@ejRW@w~htRc1+L=1nu*5J!{RHqGVuGc`qF(}+He(4-q1DSDr2No}rVw-lMbfAKb!Li_$lt>cK|S;$!vkSL#6 zsccFa5;jf#EkImg40*xuu8me~;~s){k>VNtahu&xPRHSLO~6jYY9`M;!5)bACYK(- zOF_ci$V7adFZ;7a0@}iCpOfr!Hs^m$*-msn?{G>P)&TelDE*DHnFp6iN?)P-uw=L} zaG)q;!`vujZ>Sc&SM4Q|>+C{x?KGhpGWbT!a_ygBhSO-SvgM?MZU`S*l!EENfxcWXW5ag^7PV4Z3H1=y|dmoNbQy`Ut_U-9R+HqvN+g4)@CIaVz6Z&KNA zQrT`&*=|zVBrH8~@#aLW`jUk#tXNDh=2w6^^z5+~Ar`;TNv2c0Ti;WAiBxkjZ7 z(kaJCitMuVpd)oke@Wp|KT`VXltUzCs7mRnQ#_J#oJ#q|RyA+ur`@kow&|45B;^~9 zj`W~*o$`UCAg3nfJ)P1jDVtTw>pJBnNkQ>Ro(($XIZ1(3CZ$QItdf-9sg$R5%Hxvq z6P5C)PWgkREKn)G(<#4_lp9paJv!y5l5(j^`LRw}EGgA0r9r36my|PA%8ztPOi~7^ zl$&+RwUTm}O1WC6OqCR`N|~ZlE|ion@tsT$I$x(mCFLEJQms=)OUee7a<)zxE-5Qj z$}pXBilqEer3}_7C6cmCr5vYIj*yguN*SnA0+MpGN-5GQJtXCFmD2kYwSoowwAZMV ztvcmXNg1J1dQRfPz(Kn%kiRMQ_Z{{3mWh&btNQyR^>?27yMVtOwP877Lx#0Eh3)GG z`yMQ&I93mn=OmIhA<{kpU_+Nmh+e|8**{`qy=X6!zkrz9tnIJftv9VYx~FCJ=Oc>D z)_e~ZrcF(OX*-(I>9}{T(X>9${%0xfw#|KDKN7q`xCZa`HQv}EtBR@DzMqvaESinz`MZ}M&yz|I%_hEHzmt7};i!Eg4D;oq3} z<5V5U=b0R%Fy%8wtc&#@+Sp>ckHwVH>%Vp#t$td?}}GAtzpZ`NVg0J4=ZRF>SsNC>^KOx5M>U#}7*$~;}IDv8NN z&iP19WNG_|b@b&6j0dRQXRqfWcbqrSQ+aRiI7Qddus+_i**ApJUV9->Y2U;Ly!mC! z{q2|5tCwEP(CXV=R7Zz32R$;_(`HJ4?EvHpPisKhV z2e0uzHL*V@b+M7Z$^TRY&)Yr=xe}Tf4gE{1M{J4}Tj%tNj%b>B2%(blo1!BcMee$$ zH1!_qMbJStONk$rc;?B|A;4h|e)AMq7O&NFv}CjWETA~_6(G8I{g!x7=tJ*~rv;_#Xg#uVM{9bW0t=N+D8!1yr`}kp{27qg4GL1BZdDHZ z2+(WFXQ#dv(za2hRYL*@5c%1fHJB7EYf`Vp!Y^pJj|topQ!S!nyjovHt*rpj66#`` zsXL+Ue$=?6bulU=ZWKt2y6*#Kz~8{u^tAYryil9Ro=he<$O-lqmfF5c{yfSbmi65U z3V;2PANySmVrBL&R5N4`@%?uF{Y?3OJKtM;!>Lqs*5T9AOzveIe&PCb{A_!URA{v- zzM;ebSv;(|83U-AS4n|t3lT$p)GAstKF0<7xWz3*!~gqCr5Klo%fb7GL}1I z%($SHWSuuvm=69|4JS}53tldE!H@>pmL)WK+39;0$Hl%|y zdEh>5LtfXd>Q&&8eIB|Ll3==IQ5*uH;8tQBK)%VOfy{cYl)do}E)dxUP{3i`q#uS_&jSs3)6l6&?4oR2(e`xrxkkQPfSOpl2p%AkF#+3p;$R!h0*F zV!H=_6kog68D^<7%sA7*FbnBuxwTG>^HZ9)@ugS2FQxaJWF$(ksK!Q1j~o1@&f&%!m*`;SE?E( zOYF7h!k2S?DOs#;?QHe!Z_?V(H0?-}Q`rOQ;Ok>`dn2X2sZ#CqZra0~O&G#X?QNrE zx+Rg$oBNn*@iM4v#t3S;1o7wDrc=Ro5^2>Y5v`s_wnXvK9JW zv~Ao~H^zIvihqXxx7M!sWrI4-PW!o-ckVwxj|-WZ7T>KrvKP{$8ZpI*m5!R)BM)f2;rdjh+PO^hP=N7Gy;~;75_W!ohdSyik zFC*-^s!*l1g{|@Ii-1g`ZEuTjB~Kbk{>GC)I-v9bkN#Dk^q+MsnZ9iC-JSi^z+;Q= z4*m)#lj%r*Vki~RA@4?`>4T8bd!z98AwC`DPkb#E0@IYrGy%cc2b! ztnl6WB^_MWxVFW&oc%5Tz$0>2OcF!RFr)|Js2Z6fYqNtwPODTXq`=znkFu3g#BKx- zp&b#FM^3XL@^mae{Yl=MfJ;3S_) zYqf;O2=jY^z-KymDRo+{!V2<9R4ZX4iAIM9BOUy%G)PO~bnq}9If;v4c4CD|Bi~-7 z4)C=Au-pTh2Chv%~@mm-c#+BOg zDIMH_DVibnBxV(J_&#q|qcKFDpO2_#aZgk4tL0l2`W0rSsV!s-<#{OG9opmy7HQyk zUWR5{gNh~)rfX$XJ;;0e#^b3h>H8DU zipR81-3)jn3QO#d0l+$ zgsl)kR^OZ1u4#`1{9xy@f6-+h>Qc6FKV>0TGXFBPf$$B=!4M?2 zU!MJQ33Zb6wOvbJaQJZr6sjx>wi!ovf_kb7PIoJio#xg8I7&6Ox|(}(t10g!=TKE_ zh1A%$4~OZ(mAQpsk-GH%$!^QODK_Rw-|+6rcIki2t)QF!FV)p-y(VWGGX3vT&q)WU z$I$hxBui#GrJh`P@TC-ChN{{NAqpvI|CCbO*Lq_`N>s$bZ_oG~sM6#pww(eMiZ4bX zvPm{!$QCIgraKE~ZW-&j z)4P;R)#k6(sm!X%2L)j;yj*_Rg1km9#vTz7!yn(u_w4OcxNu~lXF-jK@x}{Uvn~yb z$R85rT+GYXbI~KJAY!|wgI|W3dFe=_sJ;WJFSHj#@C`n!5&~W->GzpzTBqHdwXt?# z^e{X%pwg1AzX>X|#!%_Ks?sBAGX4>vUdyFPPMpKFWbZkN#A$7iuPLrH5&;*Dpq}cK z>;BHU6#163>DjfaA3`PtG~$rXz^L>xM!XO^S1R+_6$`1lMMw`0kS(!c3ndQhT2zzi z#)ZQ@+`luJ6JrKb@sfT2L*&7XTSh(j zPO;!jGYTE)zzS}5HCo1$svabL{U$3o=PCyQUKx|j?%z}pQ^kdqJHVTPCmr_RE1g5? zK<7{t`i|HP^hqe|OJFX7edJ9oj{VM8aA0KUMUti^)zrXq%RwhVnS!8Niqp?0A~EJT*EY*#EL8F2ynMlnl=Jbs@bNhyVphTjgj1t>uP-BBNaX@F28QCK<8dMZ-m7XZ2)hfaa z#DWl8o@_RQoW zT6^B}`ThQR{YYkC)?SxqJ?puzXC<%nK{Eqw%h+c*u5C6fs_fgmQg2}WNHY(N?HD-K zJpC`)C5QR!ct(2-b#E!&&!a+h0U{~0xq}-ApK|@z=SdAr!f%Li|ENiLhGiq8BtDdkiPJr+Aakg!1O(hvo5#3b4&YRrnsZSRS=(qd~l_7kae?N zs9~zO1$#PjL8ay27gzbkDzlLD8_01kFJjy&QGZ>Jy>MdUsORnpRwG=#w3!NAQeUdH zN3~0ZIhLNa6=0b?Xml3W(>RLEUDE#E=bZNIo%Y>B+IOg=p7+K=q`r|ds=fzk7rK5o z`QdbvYorQkQlGo(jGLY$!KXS8ff|VpX1eT4!lnHi<8Sfm1oUC1GvFC4??7)}2BS37 zNxGg8y-9_>C$lK@n6=Xpo2RDGwswJ}W-pgC*5f#(!15a7F83PV0Mf`zANSSVlj0;0 z;6A{81NRNw&*OfckdWA?-{H$_W zy(86e9lAvMP=wU<+X>p@BNx} zQ}sS$W>?=IXpYm1=*Hr?vhc@&6Q5?Vt(aJUB7H+`nh6}X_q*p3&+$zj$pia6tMiD* zSi99&H{R+zV030Ytj^j%8(G^;ZPX#d-4_w$zEqGtPskZnciZn#Ouf1m1;ALlOTJw7 zT0t{yY@#rq2`u>Jiv^;T$c-ok3sK|=U=CI+;Ay2``UdH(n9f+@K6Mt4KoK{#%JCqV zv6fF_ql~qYiaR^^dq#H(GS35l0ulp}<9D}J_;Pm30jM3XMlf*8Uf@;FFdaerpy-re zDi2Cj+uH)Shcw*w3*26zBTqpTbHKYI2fPazo&fL1yh{hOzzeiYWxt2sHTRLg`-}$O z0N9WKHQ1hU!1mK$e+X>b1Z+S$^) znZT`y5N*3Bn3_?f?!H6792+Gf_7gXP6tI<7964wxZ_)HFF};cA3Sytmlr5YJ<+8_o zk$dRaj6M8hFtd%BD-V)x4h2B_Q%AeB44ygTixl61uD{`7d@3lDv*n)Oy1~BzHZ+^U z59T?MhshhO*$axf^=<;`zHEtHw1L`dHlqs{gd4@#7!kER6r)k$6K~==>aR z;NNDQyw#e#&1kug7uJS@a5nxk1SZ06*Ep0Xgs50`$c#IST?}20hSH0Qnz@`n`F1L_^ARRp-9U)!<<>= zx7xH{;D@v1pV4ltOquUI`YkYsebZboV+*w&j$LAh<_c8A9O6G{+#lihBdY_rQk@-Y z(2F=z_6*U%eJ9E%NZYOs6l?(6X`Q^sn!MX+kyR4*_bxr(O3eU-8<&o<*5|=1kbEjr z=sH+5=O#GFxeWPH*Rdy`}HdNa9(G1^%o^($fAcE9=mbXpVW% zvhKh>84f-!g}dvZI&z$J5p%f6@S^q|{!Ec@s(_SA7hnqvup;MSfBxik{%CleKm4dV z9eOq-7Qnu%)F$OtAC9c5)J+-tJ$1FNZv1!X-#jFvHC7`=Emx<1p?gKKf1zi^2$YrQ z1gW($HY6fIbbamHgK92-hA+f;+T?3LF_M~H*me@8YAbbi=F1;sqIOS2OZ@#^?$~4q z^r*zEhGjg}a%L|FZndvIb3Z?ks$SEc@%OzdIm6xG<%x|l?V@mEqdPgn)8FMCbX!`p zCz_h!uDz&rix}-Y9?XIvZC6)_n#YRPaUj~r&|Xxb zPk|k#Ye&!}tuWNeKC12#M6+KIj&C1SdznV3vSO#Q_y~AcChZQ|7R(C-qvTHYz=iUW zp31yZEj+~R$AXOtFDr*cV0M6klrpW{N;Qr`_eVb;3j=XZV>c)YqmyQ*nNX`#9tb;y)c>Bgm9{%)M_jW`!~i;5VpH< zyy@S%=xzBk0x|4g)8oTzv65!OjgdAlVjO6hU`rt`z`x9T;cS*Idu~An{wZOi9b^AUNKsJ zJjQ(x+XAHbm!ilj_8tOBC&`|OaVA>_>k3z#%CD!+bgwK6`p;YL4f^kNuN)QfZwlH6 z5M(xHV2+*R{m(7Jv$0XmS@K0-kZ^TaQP{q|nv!ArR*rQGbqMh^Nw;ly;m|?OEC+5u zygRjq7aSpIW(5B(1LGIt)qi~ehN*fw@0Q?}d!w%HeRE;cYT0ibJ@dn~1JLC}4e=bI zOB-h{1l#+>kyKri5$4EltRBfT&D-sShAw1PAFSzDS0DieZ9m`)39IP^E)n~B4>>B9 ze~~~OyS_Z=Ke&7nNyvR%tURGL!GUKV$rwNIg z(Z2dLp;6(g-H<4303OIxJt5(voU#;b8CI~@DZ5um>16#xhv;28ykMkiUsV2o(X{KK zeUaq#6lMjv!ig@ob5{}azhJcbMZh8F`br7MVo?O(k+niQu0uSRNkMQIrNw54_w_!e zfeBnz%bdhX1re)g;3~xI+zMZHX6J^k0RE%fDqh8Tv|nRh@s)DkMh(FlAtPeX!QoN7 zyB#~Y7eEsK$22?oD>xwPYZx_F)K?QVR@B$9yheRBQDXzBuVK{Kwq|PP(L5e4wCv_J z&h0{DTvFax$yM@%hFXYX3&SLnq5EOcm-G7&jOZqQ|AYH$_+4kL4H1AHBC+6%fQT}T zWJYBq8T}S+Q4$mWT=YEz(>YIvIT4okKAbhXe8pcoF;n)_Ges(n8dl8?_44!3+EttO z(=NK*hhT8|&xga{?BxGPFt`ozhXD=&fF76~xf;i|zxZ7*cOGz32Fl>_j3O0odt;gjV*%Zbt^Bp&C`x%0)IZhAn80e09@ z=P>d*hmm){KR{;qW_c8a?c>Wy30-#LKPZ=Ka64raU-1yfDXWCteOG$8tT0;6LvFRN zleSosdsx2_7VqG0IqNa3*RJ$zaKRz{4_9T^ZoX`G@ruMUxJD$FsQkZM1|eo94#PSBG!{Sat(;qCK%s zTg;H`S-~yMN6za#c8F*=OW@`>fL=GAl%QHV|q4HDWUl9NviCihp$2U^Y$`9ez?Vpz({&O`b! zZ=fGrP$h)%bq9VAsX}cEhs31AjOFmi14Sg2wDMNH9DFfO0X&woSfxnPX=~m$} z!c4M$;9)Vx&3Ad|1TxQy5BN>D%6*E?l_N7nlFYro!ZnM&2J1UjqQDF{59sObj?Q>j5mz8;K&^nrdp+OdH zdZbl%QjAc5EBJ0t{LiTwg$^idI@0|+5V%nk6JK!`EI%RAc&XcJyn;1UIx^De9u;+U zhFu&HulYyTmwIvH_VjobCQ&W^gJf_DaiWeOEAB zP)pWcZJ*d->|L11?04+oc6S8J&^_3uF*0oT$W7uuxk)VFF4vG;BW? zc5TukUZ$5pw%yPB6)RR_Yl_@=c2ByGxDQN@=WezxQkZ;C|~SiQ3pC= zQ?a-L7{Frr)uKsKhKt1~NNH~!|Kg+NvXslxSc%vIdKc~RA0KCD1TJfVY6ssZrgas> zytccGZ{w4s{`jZU6G)4}Sk2^2D=1a`qA=>(WM+CZ-9g)B`VSlT%wY%`Dq6V`y$bS4 z%IRU6(hkg;aaTPlwK+Ir{w`}NCk9u~VtkNzRY5Z+x zS!VIw*+ARF%3-mOs57gLhh!1yV9qQ)${P~E7ccxR;x7AJiq%)8HeJYR&mJ@NN4VaO zWMb#2OTa>VOa=F1qTZ)ga4-BDuUhdrx`us1ceg9kslBlS?`+`8C7!H!Y(H_%I3Dw7Y zo?W(~nQv2+Nmf**%$8U=F%uk<{S2aUiRqai$Ozof$Er-(uTGZkzs)0HRz#&@syUn~^HZOY zHJUbp@EVLodD$m7KdCWu=$o20RU#sPN)?il^9*eIPhrVt^55eHqa90p#|SA3|9M#x!g-E%guUWg ztdQvt3+Og2VKf_*zOLyHgc>O-u6XRQr^sTpi~^I0TVOl-UFF!A%EAR z9{~#^_?*2lU4#z}JoAd73;LlAC`c%584;Xwcv5!%OnKgzR~;3r)jmsh(y-GtN(unX zE3wh)CM3vkYJ7=!rd~ieFk0?F1B)~+%f7!@zc1DAcLi$i@)|9dQJ`*_C+?~98!1z6 z{2U6`h)2(btNCERt2y==vwws)HpQ}wyVtX9nMOFmCYBMGM$4IeBil4ud~!iLal0pd z6QWn_V9wjAwxtURxLz^d zW3>KA-q&4Zv>;2c=*NaRJX{@jh^3kw(bvYaaO3C7nYq#GPR=pKF6R;m?4t4b)NtM1 zl}5|I$%oQ{up>&3mnx)#YP;m8vwO8QcBh&{qv<;NMu=H|>|gRVPZ(BnY$j<0E8PA2 zPTqRx#Z0GtM3f7g&EpUeX0$;jbFQdy^H_h?j_s{Wl|6za;*~$6<Gkfx zv%Y(6e%5!Mn4R^rWF`fkr^$sg>+|~S-T(K~zPIn=r~Tx=9b?+R!jYu^+_XO{hn421 z{c|*W>}mH6tNFh-?Wg{jc|KA8jF&%#{29fcHOei2kFnPEUO7zlvRCdUv#$JZ*y_=A zNw~3zm3g6hl>qaEDvV7-+lYU`(#XtF)*pbR5fr$_CFLORNcAsx39;c zF_Er?cjwaKa5_VX6?cJL&UyqUd(XcPgA z?X`}2fex$Pu?XmDOP^r#gB1@`mT8%nH}&fb+*yC%KRK>%exh-?hmOnZjO%&ii2sRk z{rO|Z6_~@Or2I5tHs6QYyiy2~T|DvI5G`#shqwM(Bv(9M5&LJ*THt$F(pxMb+)-Q@ zOq`8Un`V3<1Wy9Xz)ZE34Vf`fD!La-lnkCLj9V(`c{iHcf|`e5z4jTwW{flSQiu zEBf+^1!{)`8;kGcFr}Sl<7Y^d@k#mS2J8;(ZIPy0*uPSs#yL&Z7Q`-6#k%&nwd(Jz z6o&|4ysD)~1uD!yQLu?g-mcE5kZYsm3slf|5r1H1H|rGk$xsIYChKz}mnb`D6=IYSMX zP-CRPn~XjtwQxYu!~QPg{;AY4-{OHdoBaEX`zP}t?7GYos(Hg{Qol?_ACLl=?$?NP zbA(PK$o`O8S5ebpJGjc5453!dthO5Gma0Mt%udPC@;q>D7nysZexV3s4%$=7L!9J$ zq3kc>ak<*VQ!IZ_UQ!jgkl^;J?K($6yi%7jGtWqPl4#uv`EuoUGqWk^zhzDAHasN{ z^vMy~?X3^cCx92RZ^k+$_CQb>T7;={Zac`sFTzKtO)6o_&cl@EDuAZ{usp&9N#0T< zODq&J6A%-hDuSIv>}a#hHaZu7;Pt1Es=|0NY}qvd&dXFo5b@7sjjfK#nqJkl>)4M3m$aJ2fVe3%;VLUKZn z-K948GzzwUo#G@YYtyTfigu`puQL3U44-}a>-|#e=BvdGDWO(ASG}W!%fr{2PEG=3#6EvT@IXnSxgmA2zN|0 z5iFyfy)+U3})(b0lwJ#QyC; z#w2>3{WA%fhWO!ydjyIXma$;mgw#Rt9){9sil@#+PDI?c3haZia`hYxG||-bfzc|t zI!t?smH1OpdXoBW_IYf)`X!h4!Y1`oe!Bx&X-{w%>uNE!nTeGiCa?ILvp&egri2?W zN7lX?!DaV=$F(r4fE9`YW>xj-FcXoUv5KYY2hrHq8Hht^UX*D%2953Hd6vemifEO zXzT;}LIkZmjs4%J4A9ulQym)Xr-HuY_#<-F!YHYwge-*Z7gV=5*AJr=M`w2UD?ftJ zvf-kDL#iRP>^cLFbyRI?&SAa0Q_;sXP7_8Dw6~~JSc?!^DC00f+vev$#{>a+5ZYVT zMA&ymVj-cI+k?m+HZ1Zn1?$^14g_;uXCfZ+=wER%`w(L-R;?!s| z=u*hX`dh%%2qkI~x_W?X&X7cqoQa1zYEfk`C!2@nasoFLe;mi2G%hGr|LcDXcstw? zm&%je`*;?#E6UTK4maLdpjL95C8@nxlKOy0%rNmPGqZ!7oanx9tb7*G`qV3|KcSZ7 z#o@1?z8I}bSVQSK?X8FDk*2Cbs+l=^&LhJpswSUMRDmzw3q{pLRw!!k07cay8>$Vp zG6;pf89xw#7N@MXaM9ZM2{S}*?9njIdLSjB;l%7>IPs$b8pL@j0S&_n_T~Z_2xgF& zhJocZq~H*zs6mDDP9^K`j@ZZ6bxbG&}}V+g#XQxh3TLNgKf zyn|(X_UJN_RduXFM2J2oFp8icqoqW;yi;@WM=Pr7V9C~now^~OT0F4C@)>8mc%u9fpGM0<&ZkJ!&h=&JA+VZQ>XAp8bMAq)wm zroNCNgw<$uXnM#arQigZ5fUp!ma?TM`U@Oh^QcaL7DBU2t=8v2s3K;}@H#icmpRb! zJ35Au_!Kokc$%_8)oOimwIiuGk`-3$4+~aTAy|D~M^8DzRZB%P05pXhh(jPRVG+(_ z-2W&~A|&1?6Z%_&WGs=ds2Qf;9&sIwHhw{tXzUF2F#H{tN9^R>qfsj5JQBXp47lSr z3UbD;83ayInq>2ZK+yiWK1LbxK3Dc1G!RdQ3}mI8P72rp@}xHJTNUht2?*dbDEgwt z2{vcC{10kP%(zDqz=>v6E={mISq7VnMMJq#!EXwNeTX;TR?!1vmKldJuUVaA%#}Gz zI|3b9uc31QUi~mvAf29T!BbFpPMguvCMYkjeZ1vPDy zFc%j4S5M-N{s0nB5ocv<#EY&`o7vF}9bfZdglqDL9x)QX1rl~h2w|fBgA7BQCusK! z(t0SzQ=rBgjoy?Yf+8A&gyoC7T->|pX}VvJ319Jz6p)2F=;vby>+6*ZMw5GB%Ml(t zdk4BfTm?rNQ%b!mRD@fJ`oFOkp|wJt^9pctb;VA~J{hGZI#2QlcU6CAM<9OL5HM;~ zo746oG-Ct;pe&B1P*Gre)r_D(W;P4xI}q;x!}1vtf=k|bqEQ^G{SkaX!b|25PZJsl zj`=u7K*5Rf!6)Mcl-8^uDoxm<%w)6z3OX;-8Ai!LfS%`%K4RQ+wO#`lbD`K%C8O`E zO@i42>i|ht`M;(Yg786zRzAKt7k_FsUhBqGErF+mI=?GPg7yFy_2?gD+4V$R+l`h^ zfmGw?+}e`+HD2URdXBC7`@HWT(M;Ge25F;J+jJXmcazV4w7OXrpI9k|-&fR^xC=L4 z=C)itmj6ZZ!e?upu8U34_ThK1?Yh;)`U!gpUAG;`MSN5?w%S`j(i18?>bisv&U%$M9j~ z;wyas32#Nz-tR=F3XuLtZR+0N4**FkR*j$YXdvCri(x<#3D`<~&MlUE0968@e!!zh z;}Q(Q{XptMz6qzMj1Wk@qXKf*$kEIKslJ#WNI6v>udB{O>L#};(@zE<^^^U1NQI?E zfmTUuwAlWM8QS8O2L599yDJ24F1*@uEr4^mV}{w{uJ|O7!_YW42R`$LZ0y2^@e7R? z%?6WPkAq^$I{~;EuLB;4_Zk4O0SjicB#oV9uKyI5iKak7{Iiafhw7i{o^Q0=Ppye%ZpWl21#*)LMj z=baM1*ypGregQdSeQ3gBUD=EBsf|fDQp8`6F-dld5NRyiXzb?^p44j00ezErN{>zr zqN|vaX?V4W+Cl#;zHqiwUtXEU0MM1yuy5UsKVC%Y#In+YxL@~KRP;sc>%7&+`Y=@R zcYwmRIew}JL4H)mJ-^~JMuy7%6Rxt_&jMiKTJ$fgR{CVg8AcqxjClaAh2pmYFYosp{MlPlKUUOzD z;E9yxdx&N=AGEjVCXmKq)qJbm*u?ZQ6W@J<6Iv@Vv=Uyc<7f#?dGtPqFMsrUTlH2m z%@F>Q!y8$3Y9A_sdO>dzda|N}0yS@&Pf5guxn2;+d_r)iZb2Yk8LX>`O%B$%K%8X` z;w;mM6B`?>8yy?jU*a=b`qi&#j{;%?`tA6^k`K3cc)?eca7J0B!6+lwGoaZdnS(I zrtDy!z~A@29rQnAq~`IZSPKL(yVc6kAg0KSGUS;-dsY@RFXWNMcs|)cg8m*ORU)5| z6(IdXNj)V-qFt(V7bx7#Sfq;*^umgMLCK!Ty4xxm;(#;Y>^KAL@h<{#*P_N%%N+E) zjzIG2NaI3H;G*iwh|u6?)b+fBpZj#JS^V52_}R-7gquP5*~1eDKe6E<4ra<;{{WYe z#!o3dfS;SdPbtm!4t{P2Kcxu=KSh+h3jIHepAS|v>#`F4okP)Ogqh^Ry_I{lgQtCy zF~Nx(DZ7>eRN3ZKiH7V*ud+O<5$2jilyJm!u6*j`_a%j%s(3kXg@G(2HU;weQ`pie ziCZLD0a;~DZ<~o4WTGyb6$F8Elz0VcC12**KL~hro|>?W z*z^zO%DMGQcZ_=LeMBYk4I|?T&xj?PZ<=H&X*}u|Lwome0JGvqjmRfh5bY`D?42nDSH+{RNMmb=Tp#kI8+^_+_D*D~n!6|_2lGT&p>sL$^c=z=nH zxe%05mva$JVq?FAi>!@ZaAwt}W_mvuZPb&kjt{%01Lbnk)DJR{d57*#Bpq^&*h|iu zU_07$1E+?~h7UkaCC&J!2gu|Q!(mSTFp~ka$_6Q16dTK4JNAI;`((h!GxsN{ph7;d ziz2B@-Bed;wr{Mcj*@ql?>#a9G;iD+ZX6j-nN%F`gp*cv*EA$35l_R7h2hj}-5~F( zg%DefP~m__ha~c8wZvX!>HLrZM5=n&_hLE0SFVlHo>W2A@f+kD_K1=WP_vN_eIOaaGhBhAJOfSWg{Q?^+)lk?2n~*Pi*w6P91Gds%>95aaVOg{6sYgIt1p+CtCh+ zz7|_XjvWt*i!|-SQM*%J2_3TcVJ`Qm{SdBXQxgaVkwk@)2=5>ZHD^1GRCtDRqUwkSkj4lUZK3W=pqlVX$M|ph|8Cs(Djk(4_Z?4{ z{VULJMscAYkct`)g*)Hm#FWcCVb@N3TA^?|QBFBWRjhdqMdCXrpqxp_$0XjT(awJ8 zoM8b8YGx!6r~{t2+bSxB(a_(DzA+41C0Xj(82S}l5<}0JW5qyVWyL_}Zj#O=a*<-} zbR_|*dUF-4TJ4v=5+h`98VvtcZwXChFXnn|j8mGjHpZ5U{q!Ydv(ju3oRXl;}H znJ1HJsk$AsB(xsUTX_5Vw2WOQwZsy34{}~q5SyU(LXsR0ppD_rv@c4$BM!hPvyX8A z{(?)psY(5W-z;%b-{qQVM*T-3bihKqo@4>|x@IbnBx9Vz59+S;#4fTL5gl`GLB!5m z&ix>hm+7EBZ1U6<3|tR({FWl`i3;gTab{SN}4oYBBNSkr{Y`taBBzPDJp88`lhc;|Sj(cncpCv1tvzGQG7Ci5;H?*du-n6UJ9%hnv_YksYX2 z-HsnYvt_-44DVv(-NzkEawUCZr>LXuW2A(q)f@BKN4J$OzdLaT}L2qi-eIMmYd zHNjUQm4n?(bk4DR>Tp+4*+ZXsqvq|pvyA)1v1ZwqAR0E6s$cd95g-7>byz6XZmJnXsd@BU=aECHAJaDur6!{&kr8W~*)x#bsYRpH zGMgbIh1{p?FUR7!x%cI4cP#TtvOkg zc-7UZSP7SoH<4vqE9ygbqZd9Bmr(7%uM188`|%OPAaeL{pylmYaj2zV^0VmV+}qV| zQ90PZb9aeGmGl<9Jj1pd$t+gkF}yBg98URJ&@2lPBx`oCJ&|OS^O8O0vv>hs$VT(w zh>^#MY!1q5LAH7J?+_4}8un*;!u|%&(xq12Y|qj=!<^zGu&H9Jbk#O;-Q0aP&Y&V= z9JDX&zrwR*mQWOw?yD*))dYGjeXh)OS#>i#OW#PJZIYwPTjCV2Yw&Qk`9N`nNkncd zGuy4Y%P3AtF&8@tr0W5}A4?eRO<5VOhTMf^t?iP@y8~PLclftWr(RMZqip9GmnpuF z*O@L-7BAYXcXZ$sb9QuS8%K6;&M6Bhm6m){7fA8#*~&=9_^ktl1(`8np0X|I6}{uk z*^vQK4Eb;1yddZCN8f7_Bb==~2t)9OyE{di?85-V;^aS2Z^(agkC^a2@$C%vdp`z3 zY}lE6i^aJ>)tUq)ACMov{dir7aYsp&r_5l=X=Q&2Q) zDbHiDf{-ocbA0iE%Z0@Df)YFi*DOWY$hGpTSlu8z39D<>wbd?;7Wr~`MH`f z4ncMZLKn3>F}N0*9EmWMDVt1d_*wP!O8Q85V~-#_hVNait4{xDU{5DG$!?p=wxg{` zKG$=>7;fN4*@EwUXHbi@EQc>#2@d71A5w$%pxG}{&2&D~Y4@nWEkwht{)Ez?$vc3A!H5le7Cue@A7# zd`XCHs;rxfCs<5U>#wA`pXwF5msz7{q(@ysU1@fLJ}&^%q@IeMTrUov&(aj12{B2H zxnC-#h2j-lz;kF~xio=%RG==CuIk_`>K;wdQ>JV}w)&g$)k6fb$ybN0l8;_*PO*=E zFZ;D*O(MM^4a%Afz$P%@sVn{tV)d$J{D1~>E&@F4ICH%~S)DIW6YK)~=q;Yp18#Zr+!#Fe`WE=3|Rl z?o7a)vKcv63<*zr6Vrc|WVYjD3~%x8@6e|=jYwanZuu(og`~nFjJ1hGt+V~KwdpHd z{3uxc_lhutyZ#!lx|$bU+p8X-u1AW<7|&Uz`ew__a>Nx;QALy+m`UlIcfOXroTTv$ z>oXZ*Qt&yn?2=Ye(f!KLY>-Grv8&=YTC`mCmD0ZV>Ft@ux~SJo)i+aq@zuuKPVnoJ zn>gdAKNu*&g-MRgbcL~YcRFUQo8z5t`u8rzY_gG3zJXGhrMHFcdn6#mSUcX6wv4rV z()HoGf3M|9?85oU8+}BJ`NDR)Jm3soFQR-Um)YdlCYa0I_*8W>HP8+??B>^3d*k8Q zXu?hRC%!N6c;8q@X5Sl-4%wbg%9I^7d-UmrTEEYxfaVlZ)tNK0h3NV(ZWs_`U` zBpOF_zvsw#N2y0Eyn@@S-Z}{Dgh9TsAgf2W?uVLSBeDO?xgKoQELP*b=N#8S5S4R4 zg6jTFA%K*yf$RYeYk6QLZmzJvH3{S4G9YM&uyk`p0|-xK67vt>kkvV_fUZaEUwfE; z5p)8$fpuD~`*|*u@w4)oGZU zQsEprfwngJe$lfYtPuF&ip{%WKX;R$CHOez+pBVC8q9H)C2+Z=qaZQ;-c~SqOQ@HB zihl?BcbF3rp&CCX(vOFQk|1dx0P7HdRTAD)?W~SV8A0>iswmEq2z4YL)=Q%K?t}ON z>>EiC9PLnlfnFx(`kIMYl!t%S4`0>~D^(E|U;ow}dfH8~Etb#s7Od*L2&?!Zs z93?!9Ng;21Gy5R*1Yr!$tBTlH^ejjsjh(-gSr{Gzg2*X^dI1~uTSd{SpvHU!5gQ6v ze9L??mDcp)yM6WI@ZN1vp{Zf^i9Vdw?g;l2>Tm^}2eur;BpBioJAjsVNUHrcksT6p ztkJRGFV^peeI&d{m(QJd)cT5!?I?MISw#kP5(sSI?A#7BWfiKm!jsCHUY1ez=*Pmu zkWxZ?rUSijpO|3MNb^mnNPV)0$Z9&#cNKpCT_2V`r{mcU1?I>OHj9Y|6J#Ul zM0MuC814axxiMIhH~ELhzOZE+r7uja0l zH3->aI<=CMO~jQ&^i?oFO)jd{Yt2$Js|!`Di&tfD^Nexq0Ar*Fa7I)nE3rWsOhFtG zL~I}GL3(WW^ljJGk}yVV|Bk)yDPey`}GP=@2*k$@SJq}|Xd-M+riJ%+Cx_x|k0bhQwc%tNr{s*7# zQndr09=5kv?TQnPWVGJSENP39HekrgnkVMCKr=Qoyg0Hrd|4`hJd@ZYbCSa>=hrS? z)X35jOZC>o;bLR;4}k=E>2QviiT#t-`?w8PbufKAiI7S!?B5eHX6#`<`Y6f8FxG6Q zB~Lih!NHI5KcmwVdQF-5^&$m0NjBx9SYj+g=>Wn--Z+`ckt(*TA8@2iU z7dl%zHXmLZC!NGbRNX!CH)f^WCtCjA*qG)EX~H4_puac%7wShr?!r)Ktp2{!Sv(c% zyCMG>NBp{ z8mZbHaqW@rP9BhNoj}eQ3-W~?u%FI$c;)*)vV)(_cE+ltfltXv9sW+~Y-bneYT^x# z__xN4`D=9ZgWnFFjvbr>^?8|(PCXemgCYT^+22tZ8>jm}pTpo|Uj{@)>AynV60bT_ zlpl6acy}K|wwR6Bah%_-%L_=01bFX~FU;C~lv6w7=Y~_`8#ed7vuE?$@htQ)mjL?o zpO^*xncUKh^GzP+1ZE)n(IL`QcC4A7s4XyB5Kmzm9YyJbfR1kI*%;I(yF+)Ylx}qb z1-^mSP+nj}pE|7FheTtasZd?n0ZtS z?>;bqZLyBO(R#lH+NNRjI0;-)N3u04eJnk8^BEpFd zA1~vtGqcyq%pzuM81kY>*4;s8-DSI}m&X3wILR+vN`r!cM$20~b*Ah!Jw#^;7-FXY zO^?r6N`nT6QEt%qN*SME^6)v73Rnn6tAzitm>8zXYGO7)2@4Rqdc$-?5a5jA^J^M< zf;(VMBN>vHLh(00W~{PkrN09si=ALhYNla5xFNWu3&O+gO(bqZkg@a$Qphoq?@Jii zIa_8_7k1B>B21WkY6q>;ER~ZR)RBHH@{WZpYaAnK$C^%6O7Lchy8c@jW%jG7FtRlw zz9R(+84|f@yUyEB;OnMb+c4+v zj7?WRBZQL%$fNr@?MqWXC&n0_iJ3lx1*x^;u42lk2@`Nmm>H!$O93m$4k~r{{Qp{ zfA`%UyE|EYF>kHLo(&#et0I5}q?5(x@l;h1C2iH6at7D&b9I5_bgvZ0HM5?T< z^60*?n)MeEOOOAE)z;`Hb7jLILI`C>hXJPj0 zJUSwhoa(ad&58XNgSQ>nmtl*M9z>E(;s%ZsEgjK40%0U$Wj2QsTL|v$@?huZ_npG{ z_Z-6;n3K2k10KOh$uwYd49%E&`oRI9bIEch#Lux^saL^jHSuA_gK{|L0{UdxrR**J zhVJ91oqHEusLqs)d=9ZyxB6ar93DHy!)x^(76~hH#(ObfEbYm;TVm5;7G&NGoSP>dnXk%!5m2B}wG7gcH2<=alzSNvv?)Qrh$9pgDc=2g`d8UCeym*BLHlSn7ps7tA=C2x8i@vdQx&#TBkAL)SKpA>a?8xgYa@});w>lMx13)!tWPE(ym-73Zzop=W0`XOrHVpSoob_UtK zBZn9--tHw78ZEH0AQ zW50D;!@evt->Rmt-#N?78*<(YlAFp@-ifhmjm$Bu{gJ}>SLE5XNV<_mQS6HluOg{3 zC>hzw3YVNNibCh%5qQ)wM?lQCLd-FEma^!^oO~V5E>!a|$8mvDWj5bcR}en~6}?Eu z79dB;w~5!}LsSm895B_>Z%!|a$=(`gpA5Y0;w>{F1T(W@31N*NvS{2W+o@A!qnTpS zgR9kFzgJkWh5`1S#41SK>Mgu$oOXBbwRfsF{u6{doFQGmPq z{s=03H2+`pQFu^x?I1jWEOn?Wspuc`fBfzr!hmb_!(;J(;Rl)(*fU6h^*iRsKB5;i ztBJ91Q~%YjrwSLygL8%Lo>I0Lu59wrvX5tcR_aowV>I&Ks6cHU%5U=c^fv=- zb(wna!9?TuLqZe^nZoXLA}_bGg*WG9!u7*)I91(ub-t^AWPN3kKigI5%3YWhXcCW; zk_Z$>a$U$nB-dv(pGVJuT9>K%fvO&Ks!E@d_#!xllEc|$UOgu49dc|Ud>@&_;qlC! z6Zau~tCl6}%L?A7s(0q(yJrn_FUv>OA4p`jMsSjC40>T|Di&zzjxUj}Z@?5ZWO<%; zr>nrf>*H7F-B)KJ$T7k-vM%3CCWXftI_b$BH;YClfzQ`3L&^b=g@xumF8( z@prNd@O&+l(8oMXCo&k8*+gDA@`;vjhQ-3{y=to)-U-+R(;Yr^2z7J`#Djzr1~LqK#hGxr2n3@^ycmxTF1Pf10_iNb zg@p>YT`$}=Y!h$ma2mMo5u&-H$TLW2km`3d1D@qD;0=s#rBj2^l45m68W(fw1qsob zxiQ)dqe& z7N{q$%tN3IdLe{wp|EXJIIfbvg)aV*7=gdRT(Cw}Pao1hZVRk3YSB%W|3J|GThN&K zXRM*I(KUN0YaTintopN5Ae|CpD`+RnHPPrTU~Q^Pant2l_KS}R>o;0>R?u{}?uGRL z9iZKGQn0h&Ck{XUvh$89oNBg(IJW8;foqr;p3K%9NF6|Osz$5ei=G7VWny zMF~WK^xAws>7%3ni5{B$^oZn)P*6Mt~++vChV15keoJ?YqEG?vOdMk&sow6Ej zs-`3HL6PxIj1jTN)wR+|Hg)4J&qmmf7DNXw+f|r%^zMnAzLE3&I;I7aNPVMaE8xgW zutv*G-+$`@k z9E3j~(#=imgGVr0m=gISvm@-VOwSIm&rMJtoV(y);`8GVsb7QdHT`7VYD&Cc824rk zD$9Ub#C6dAQ}+JnBeE+q=}Ip4I-H>hK3O7s@$czV$ zta3e>oICRT8rAYRRUvo>jBjj7U6Rp}(OQi>rk0)OvmdsPJpaXyl8^p&`4IUC|65H~ zME+O_`7+Wwd`Ld3(+@vNJ`%^paJ$V#AK9-P2lvZrM82VG53uz9q3HH2_JDqfLqDl;CMMzR@M;@#qQBqE+7RP_EVv zRA4w2XlX+@$LlEWT02E3AqpJ!7E09;sxmQqn%afSrm7LBFt`96`@@QQnr|dj|+aLbM+PI|~cl2R=uV{fU z@b4Y|9pYccaYs*x3U#1Mnl z9r}wf3tY2b2eA{oGU?l(neNya;mKpU48%O?r{yaF)=3ev=()R!kbEEYrk3PF0%qR~2??pyXe*m=&$Az0JCd$BfKpK=;D zT&uD8IDR6jsX7C8t;8JaoWRneSmG@E1nK_igS%fgxcg&u_dOYGnO&ar2DUxZ`^)Iz zhzKDcdaF!8j0Bcc*Wm0u5cj0x*yTmFM5R|s;ea?yF>bBa+ep-RS;gs}Fth+2&WXsZ z_jx3a7{~`b82&kX;dhXcfj{AbBb6)5w@0gg<>`-iXQC+CC*u`v<?&5WI=nv&Y*T9S|4yZ`8}|HI^Bs7CNrck=P?ay$11? zTY`UtBFUjC;ADfu`ve@@);A#=OsSTdS@hZe`d+$gNPvWK%}Yev&o|EL`buehRJRay z+4S5c37|SH*;UMc2O*9IRomh733|C*%$rlrxue6;Ptnl;}zcb}OYX&E#1b5YFr@13Wu$r~*Z zL-`L!#ORIGemloF47~5`n@Yp0Ud@yg6iD-{`aS?Hq!T?--!VVWK?7b%aENgx=X@BI z2<02a3~`Doxg^i;=lz~dENphFl%qfhNT6k>GY3~n69=V!Je|vOpz;>5K~Q=wZ{N*z z6A9LZpMRs#5@K2B${t>6O-6*poqH}%H*{n;(!6;R`p6f4128LJ*7NvhW9}*6;&{dl z6KL0{d_HyQyJ{xBfPo$v*X&{b{`{5WOd2y7W(Jewc|G^}Pd0S}eaiudIUY8Ly6v9fQ|C;q zG$tr8P)|Oerkrk=dbFZiG_qB1^&+NNcJWIAxJ3=l)YcBr!m?Ydc}}iaCmM|Xj^fyu zB6irEVIOG>Ztu7>4oRY@@O=3j4Yu7}ak)gE zRf}wk7E92enRt_ZSMr8M-XAX}w#d@L1#4E8FsoN*?^;OzI3Q4#9$l=JuCtsM$cHhh zh=f$PG}Fv2ZTx#6*mlc<>_KaNm@g#Yr$Lwry8?eC@oXwImaiL$ukVjtYW8;*#wLpl zHd0f&?U^+6Sy-08J6_rPQd6bne`U$!^qWyi&ytZ%5O-{_?Ne#uMV)f7nZdRScBZ5x zI!}Ek4sq<_PJ^>%hdMA{z`aSpt&KXe<5421GO>Tn)ewK`H_)~Wqq!)9cATZ@gZ*8; z9I;@f*nNb4EE%V5v$>nnZAL*)YR1Dthy&WG!-9dt@=PD(Iq1-|1acXshcew z7l;6Q7_#MTFyPd1J0-={8!-XtcjY>;jv4s1d;(M0!Sg_S)*UyXM-ApZ`F`g2^J5r{ z*r%f?V%){|6m5MYew^B4=7~ntJ}CKTunk>;q3(mk;nSB)7bPDA%c}XHnB;V*%n6v- zBraxutro^*i{A=CGi0e`Vc%jd&GxAkVeo|-`q>!OiRhmk6-uorGDl|u%^#d?gbv3> za8VT>8E8Mx;*i$ls6(643^GP5R>y+WCB4%|E*%*#p4yV==uMxRy5ym0C+6;dk{+A7 z;RiJjT{Hfpt&9gNUsTea+o)zprQovZ#3$PfCn z3?O}q*p!cCB5c;D?5L-X8g}AuBHX7UdGQir^b6~w)%UGf9tI22>IU)a@^>*I!5<&zFL&n z>KT1RLcEf$^aFGU)3htl(jO}e)Kh0L}uJozg7RIhOTZp9%`429+I$cZ`mRzCtZrI(y$r*D?NX$B+ zDW}W$d*sAmVjRvB>0115oY}o6#-c)6V?neq8&v|`0vE$h%#G1GEV`xA0a$;K`d1Yl{ z8Oh93`>Ce8UQ%!t^riV@&#ru03ity2&3f&(BA3y70wlAEsLwZbNM5Q6SDp_?Fi12d3nrQgyd%3R_d|6napQ8 z`o59vC&Xf){edB)(KMddH-d`o^ZGK-xQNVFYF0zywL^>>%T%=*D{<-2es`j=@|7+1 zk%D0RW~9t8#;j2Y$Eu&u+;j;SQ5v!9D?3#Qg6JuUWtIeF+4X^Dkanz!N!hsQZ)IN?5j77TAIPiIh-Tw#Kb&ux9%dr0jwlrn#!T!?w(XZz z^RnRCSYeo*2i)%JV0+KBx+P=iSGF&vbY=i#UBf^o^MmsJ-@|lq`!5Q%d)f@R|oI*$PHcefIUw^#=gR$KNLu}Kn? zWqR?`g;QATGd)D;9So$d6JpaP=iikZ4H4SZh_sMkJc1 zoX(k)jz)KhYzcWjvWPw;BP-Mdyn9`4wB}H7~ygt%HU=^(U#XMF} z+&d@`ux}Ey%)(U|KX=emL;vMqYpYt6h>y zcud^t4^A#BNG`SlZHp`V&gN0wVxO^k8W*V<`=?#E^f=@|yv53w*uTZ`u^o^uiVJa@6H zuI48f?*9HBXmlG&36OrGuzMvUv z+l*GX8N1H1ZNUXW539~36Ih`3&hl7shQN%;$y+%rnJX(Jn4ECRd4g@=pmUSqyLxZ1 z9eUYeCAn&=uM5eLi3R7?|8>ozOLHo2yRxo@ZDYT|KH6Si!J2hXD~aEjNeJd8ej|U2 zjMjhUt#)mFq?j#=Sx%K05(cX^Hmyov3-YP?k{yMzLskMyRZ8@|i>*rAf!ocxX_v%L z=r81$#M_v-EoMcDSa18jz|FMF;--Fch4Y5l_=IXq-xe*tNZP%`T~iC zM$1D0cG^`&i%wYe!)O_dRUNt zPVc5q@1(^sa(@dKqO7KGK<4n8?FG|n;^k&@Q{iXg;}AZIcrBz)8cf$s`>gYBYW$q+ zyV1FKr%ahU&9`)dwV}{^k55{%j2~=VT*Bw1JaUeX#!e2sV>7Xn#ao9z&$GHi`^0kP zY{ejy!!EX`WbKLgR>)oQ)a<&ao2Vmk^yZaca#ZKU(JNP;ZM1aB(*tI#JaM2XRwsYP zCJq$FMkbCzLbmWyH36eOF)$>K&NW&d(HGanPD&j8eC+ka(MF^7VIE-`dKBpE40&oB z;OzUVE_lbv%VK9I4%`x3FSY(k{`{9TQkpng9RHGvFf-|!65&cO6{HDrPG7;P<>JUI zM!PIAHuRMwXH`n@&34s;r6^sKIJz))V&drH*qFr8cxybNl5X)kuo(DO2?|mvy=q>@zN*#&u4+2w<6mkEy#{%=udK|O1kRR=5wtyGOKAVu z>GJ;iO6R&NU21RC?!r;L@i|*m+h^6KOe|0FvGSR8xfn*5c7;B(l?|hhykdO4BgB#5 zZdUKa8C!zI`>UIe%#9T{A2H*uz`D6J+Ljl;%Fdi3d+`*r>R{DktAAr@{BtbV*8UaO z*jM_7)05+x?gE7>Pd_zLf=P0!by13=C@ErzGkbRD@tPgqSM>QtU*E5!UK!-P&}k)~CeT`1wex z9>GKK;A+eMn!|?3T~s&28??-<|cNRPnkO{7x$u|h0fShRs?5-1NcZyl@3TNVWB=#Rkbc{h0 zOP>@kCp7#Eu@U^8883w(2qD!5QHV2Eue%zGB_BSLg4NioCJ<9+rM@P*pt+#{`3Pe1 zDT`f(@nVyW@R+_5S^YDZYW@L4Hi&c-!E}}`VG^;gvvK8K4__nnTSkx&iTZ%}h!K%k zSo3m1711*|t2k)!dYGc$cxrJSCr`3n*6ZK zGeVi&ee4*FNaU_0K->?IvOT_lV{}($u0bDg%qYy|Aqam7%@JZ0`x`%V2v4gz!)8^>tHbLNCwMm`=~) zlZN)^YfJ&q3y_ngTzv}SEjMT-XOoa+R%Jjt4dlU;@U%0QmRlQ6qha}{IVCRs%0pY~ z>lRBqCha#*8&?oNq|MI~YsZqyrZ5@E^`pb5+h^AaR)wb~`if$UM1n3)91%2L1{(iM z^MS_xje^8bapD;UgkKh>;EgP7@&?E*f6jAYBC*EnQ5;QkBCCTwsbvk}-O!F%mZrDr zs-Fn~iJiNpzP2!Zrc>#%2Fw1IgGzfe-WWlm1nbKMnBDc3o^ShpDZtuo-3qpGxB-yT zCRVKLGAQk{azeso)uQ)g7p`SrsDALcrdk;H|Di~z(>$mvek)>G`Z9ag)WnhEmA=>o zto>O6pRxRjPcqik`{pN0(w}ax_qCOzeTlvivGMZS5I~NSt5Z-#;`b3d=_B?`Mw_z< z>kcEj^0~_GtFwmoS=_)Y*`Ov14L?A}z7kq9t1f5+k=uj^R z51P}Novu?QWMMSBMy47?h+ne;;l^HU+l6Wx``gmxxwoGhc&lcRvoWbn*ErYMmFN7I z^#u;ZsvS{5~(L)aHw2h0TQWT;mhB-)RBX=gxw6y98tOfj#-4+|C2!2-2-!93+Mp(k4`MVIFJ)*fuI7^{FU26Fc5qL710M5diY|rvR zFN3y8=KQ3l*JM-YlQKCwO7m;qFlgh?>N^C`8o*8Xf=y4h;g->+5yw}c1@ zAiE-HRn%7BI9lTd2^Qx6J@?Hd0rCIqFQ3oky?5VzcRlyqv)yx+jF$-oYvYAOFee;T zpKB5YaEZsicZB_mvcb`ve{-d&dT2K7*=*GCh;6i?4niy7l@I(hI(=SSd$tvcLb3KZ zM@Nt<8dt!TM?XfaAiQ8hUU3%Eo;K6o@ZLcDMmctVj92bxX}|O1e|Et-zD_J%E>H*qbzvDEQ=kGu~tT^BD^!sJ@CdMR9+uoH}*xS^h+9|%;4Lw z?FnI$`lWW;5U8~w3+Cxf&5lymt9^ZHpSYLJO4iCHJ2_J>_T&|EaU`e8#hLWWWk7Pg zTm~jDmP=0Ze7OutmdIsr@)Wt`CP&C6FL}IN@{@UT8Ip9$1-}%nzO@=tQLjY^3H%0T z>RQu8P_Fg@5@%K=!bEhV#x-9gk6$Ak1{Niyo5f`h#~SWyhg3jL#xec7w#mD@o4u<2 zTT<^)dQX;Ak(B`ZQvAH0Y)BJX7xTB|SemQtpSy z{g9+4_wsMAmb7DU)65xXMnG#$&?aW-DqQv6wvK^nw+4zs3lh8$EO@Kv`YeB!uIm#) zWD_!Muln7WLV-Na*GFeLoh;f5ow!0M#U)*90rOw5;J^K)JAAQ&+Jf6F^}B!G&~GFU zW+iW;T?ez1*U81Mx_r=)tdS>YG9;G)$x68lOnT&!lN=+LLCJIFGB|mLTym2q%Ox*a zB$xc;P`M0A%5WW2UEZl(wTTq~Ef~4T@^7NO)LM@^D+wiKvzvc+iR_GY2V zhgxExK>{%p95(42jrRJL6(!j=FFz2y?NWZz`CZGej^EAve!_1dzoq<^^E3FZ;`d+t zdidp>m2Eqb-x>Ta;^*U6&2J{ZoA~{N-(r4oen02;2*1DZTf?vF>}=Z# z(|2Axy>+S!e!0%N7{6SZH0vBaSopSK%39X>)<`>2PC56fk4{}ASZ+^n*Jd(2N(MO& z-hVglN9Ra;$W>w$Q@BcsStq^#z&Pcj|3*mw=B~|ayfj(N!?p#>4+i7oALIp}1=59o ztJOh0KSWW9RgfUk=EPJ~>|9q%Y$hC$*vnhn@oywFS!Vz1wZF0KP`_ZDDlZlrF3{W_ z8LN{ajPXqpHX2*`EJP{!74C>j;68-2kuSf?w3JW(5!Su%Tdk3|LfAt@2ZymX$7bi> z$t^r*S^g8?L2rRao0k(?=s-FrMsn)(zwuKcOp;iQAlHtyaRy~m^vg!KVY9XBcNRqM zXmlf3YmMB}=)PC3*EYJz-x{fIbpKSY6B^z3$@Tn3Hxka)h^x{4Og7h{jqbm3)!&GE z*HV@(dGT5i&?V1b+boxowJYRu%GxHmj9A+!m*dwimrLGS;YO0qwad701ZIuM&R}ZI z0rmLtyR#sv=|RH95<7vkFOWV5-m*3km&z zQNbJA?cRp*tIHw1v}O^VE3WV^=l!Gv^(;Myl?Iyds4nP^drurH-l!_dBR2LkFTA{I`CV&E@cy%t!NqvQ{C^|g0MrLQo{DRmTAwz7+ z;hyYE8v@E)n;l%4XuG&#qK)k}=GjX284tXs941u1W(i!T??EoI-JC^}R>l^)Y|)d< zMkIv-oQ?~3CI_1nc|uCQYMs0lUtV(HO*xZ9vPXkhTp7QxSZxhW6|PuGNAym8SE}%O z`a~`f=!(l*?|qijxAdIC3(Jwd6nimTOAsXt#*2({qeEQXrV59XU1${y0pP%A)MO`acxqI`p|1E_O1s<6LMM21SwGb*vbe{9KZsCs`~m2ZrJ&N#jB( zNAX%|v7D$UU#fM5*3ffp!L+c>tOd~pd?-=2bJ$6flh2d%2SZ)l-dVu zuwP3LXfPoAiBuo)lPQ`*{ho1yU@><_N+qK+-BZmhf1$6FsgC~RAl*)NBxW=H>9P@l zN!f{FlBDU5Q0xqwv|Av~EBi81fPR)p)(KxCJ!asq*TVB;blzA!&l{gP%GNpKr(9PZ{{?yV$}md{Sz< z=*vq$R`JoV%7tz_z3vH7I{`6SwTK)RdpUIBRiXzVm*=2})HwqM{YAuNuO-bU2sv`r zZRVE%wY6tOhnkOK&~4nA7k8I$Oo%4tQo{kaxl5I+Z|yDCJdBFS7dxC49i|7oOm%#8 z4Q+`#EBT+qFTixzx5aLe<1hRR>$nT3EE?)AfPt2)_5w6-o- zF&2k=h8KNuTd=|%{VJZ{1tGyGOKI`KBoF43{fc;0-3wCekR>d(zSmps`TA%WOmr*8 zx1DE)(FKw(GerKWUwjuW^5CE}EpjEpfk)q5^Bq!-f(v-c zZ~0<^j;YOj+rg4o-#&WmZ~L8l>Wz7myh$5r8lXz1(vS_S4FZSlKTY0pmPTtbG4>Y^2 z+Q@q+WQ;l-68}MX@Dr1)fgHB5(hL;64@+Kg7P{7p&_R64T&9ZYYqhu-Z4q_0pr$K-c z3nB7ZNG$lvAzaNrUnA}*obxD~!-IUMK!NTvvaR9r!NKy%90duT)t+r^-=6i6|E`uO z$H0>bUQGTrC{9=u!#BY%bLTwMDvN;#$63ReeshD0C39C`aWwrAM!#V}kG+FMcgR}nz1%Cu-s4vs+v&!{%07F8Qn7zAGF!qTX~e2T3{ z=rz%eL&7^4O3)GV&Wfz)anSQi^95NW1*C1L;9=cZyU^02Ea^R=$c9FOa`GiIMj?H> zgtk>xi*ghK*A)+x!~^@xY$~Kajv)pO=TO!cTfv2;cI5IxM=1PbyOdCYeQm(5ePUjm_0(^nNJMO&cR81Y_f0J)QEv_BUXxk}ejCUb9Ng zp;Rd#@sX5l&4c+FWoL4FHbu(%?>h(8zGJ6qid=EEeBCa~C;IUbo6WaAp_~ycF!^qf zc?I9GPvvI5{V>DE1L}C>ka>RVbQwr*k$f=FJcSRE@PZ<-_|829cS{yOJCc>b8Fe<1 z2S^g<6G!fY>?43Ga#l=2ruR{nUQq=IjmPSR*2wbnALD-fxokDd%4PL-B_PA-@l9pS zNHvPgt)f+Q0i#PH5zQ;1xntcYXifRqa&xNI1Up6j)n#kB+RR*d$&6$p>N3yq^4Ka` zWW-+I<2MgV(uz7f3oUXOU4YaOLu3p%?=rsvj2Vp+RTY0`qf%Ai?}REgC!Z#Zv~>A} z>RI-d&1g}Cp8u6;6if5XYUR9Mx|j~`fHGTeX^}n|FsrefaAY5^?xt^$iHQF#TEtw? z+OOitnTjWHlNcv!6^fMI$6!;3wq!V8w(v$I9016B}|{{k9kYQc@)I+t<;kw)xxv=(X6?AikhKg<64J|*O9pP&0bt<;Yj3; zM&T^f*22gf5kILDDiN3>e$p>M6B0j3Q}L4q(MDj#cA=mb!Exv=jJyU=_X!lkZ71F` zr#AMFaWi@vC8*d+U!HnoY$Xr*Qu!D08p(EFY^A<3*YQER%oOe+GI;3Tkn}9yFExUr zsBy2nCFuf5N}aw_Wmfp&@lz!4G4w{0PUD58H&Uhaic>8-qEs!h@edUXrl{L%+?f?U zr7>j#wihg98=O7Jj-PeMjM%=kqETTeb9}ls7_Rh63KM(-N_@|$R&DNd8HMccd_VKZ z?_&#dvX%^IGW5+N5iz$Sk?4n`)Gafm>S8d`e|SlWg0GW zGdkaDZ^?JIxBvG?wl~W>>HphaH6J6>HL@UjM~M4Q^H~`>nGfBYC$nn#a5a;#Q^%aY z<(d3JX9=@nePZo_&wbZ7S7g3H0&IP7wEcDOdC$gAMAFMl-{SzJ9kYk-q*KvbWP`w>%6#H)bhVim27U7sIuUMvPPO7kRvC?8RjUi`j zQSlt7cGp?lYR@q+LUwvK%%9e{)G|LiA!Ha0jJ0pI{Qn>JzpL2PFA~F>`R;3r=SR+V z&&-OPu01zv+3w-d-TGwwu-wx~IhcRQJXIUj zS&X}vO5Lkdq;mt^5|(qg+`9azWz7ZcYUG=ivvw#UXc)&R!7@bou5!%sbQzUa86o3d z85F86^Q}>LY@5~kdSz3j?*@xbc*&}CC?EI!%1vg_E>mG-el8`4OV?LZ8at>asOd zw%lDt`L>q3OXOn5-d?gTL14Tt+dU%MCOxMuYBI6X(h5QaQ;cD5pEh(Lzsm>_<8zTn zNamrF3H&kivNBS6Z(+Q0q4u0_QGL8}kxyT~klqmMW4ZK->pfyZPhE^w z!E%>%e`$fd5R*4vOmfK^Z~6_bFSw^B{l+VAYSV9OzK~aQ(ywZH8hRiq1ENvi_t{Tz; zQt558)K6*+mT`vEPI4_~an*C;0lM9+YK{jMt!S2dTLMdhx&lxU2TZZ3rYz5f=tPoL z;2|6@FuUd>2sdNrM%BIWl`OEkBq?O53&u*^NqMA8=^K>F z3hZ5}9LSN$|AGaHKcG@!R}JU0U6Rmf)#xnwLOn^1Y^d=Eq*)z4`A>f>r#@nik#&Zc zb3Uko2wN7Nw;V~26YN>pRl*FX?U~rj@NBv<5)O7?7ll)hl}OR+W8-EbfaDHxW~6!W zeW8wpAdZ|K7B*y;?0~QRPB23BbQMEO3D_<5zluG?voJ%wDWVD$9)ku8^`@+F4&2`- zOH=JpHbnXkbZT>d6zj=fFig(g8Tp>CvY>qZZ4PB&-gvNRAXH6w&AAlC+tIu&-|yFV z8@EHL6Ij8FOvGwA#DRD$5<4$7Mh%^6IQDu9BA3h^SZ!R1nPaEeoCLKhdeR-nkwd33 z<G#{Z*O45iys;ZA{DP}`h8RHaBvh}6^Q5N* z;*+tcy;qlIPNXn>bG*nLL4FhiA`^@k2|1)}%QAfbn;RtC3tV{mhtozwB%XjMSz5`!1?~GqXK$f4ckDr&=LbC5=Iz{geh4rrko;M;Tn1xsB z{$Dr{V77he3fSKWwF@9-|RGE@WMY`bge5~D7%}oHoYTZtM>G}XdV*Igqb}b4?(}RZN*NgH%tV}0|keVifo?fSrbns*?ANbd?ogBylEz}1k6{6PRX}topuo^BQ{Noi zwJ)68N}GMLL-x5R^0_os_b<0vnskOGt9-`^7^JjJzeJEiFf6xzeI1h8`6mWf%MKtA z6tcHfqcqc=YC~mI?de!BL0_eY7aLI~ne^WHP-3pt_MR)0yBPzv`9nfXXX(0X`v$(6 z|AAk(2Ax%_HMLQASbyEGzl}SP8^gSsO;`Q;3u<0a7C9t-mrozSc?pNq5w>ryG90G? zRhhRprS zA3uTh9U0X-em>(0RJS`TZvBNLIv{=mYyZpsluXU-o8z9|- zf)qvnc$MJYLbKvvD)qe5`WBf#UCCzAo*XBt+~Y*y!clktXSZ2g1)s5*{TFrG>Jan* z8P=0wUY^;5^M>b7Www$psV&Olnc0&NXr-gu_8~~Mr&K*^kspKCNVR4YkNcgc^kmzz zBWJH+FChr>C$|Yx6dAaN?bfy>6PT~iX7h>xzx#q{ZMb4?QM9IC_J`BiRbXNBzT4;|=QL&WJg|4<&I3DR@8^kF@8@kkEwH;~ zD%f@_4_Jp6i5-T%F0q%siVY5qtjd!2`EckXQ6@?lb+v2hTYSdlgUwkFlB*6qc64~E z@YNqlR8Z5|ol2R?&$})0GgS)lPds1DzuNDfr+S07A}ifI(CNkIS3mCGI%(s`ox#&~ z)6&4mR^Nf`1dB^IHUJSqV}tQ4i{!)+r&C&!;FPKYX&*R7nx|Xw8ddXN`Y%fUrF67u zmh3K~lCN?JJ*LRCUPTr3ise4K&*x)5T@`TR1y#$*ZXpt6W=4A5H`JuL-};KPqGN&;Hy1@u@5^Oge*h>E$c*RcZQhn!`0kb><+CQJR~C3%N|G;0 zm2T-t8YOq|4AK)p>#ZD4ZIsT`ZD*`cNEOy{@RYHBfH+R3gQ9ht5YrsX@a&kM=XKvw z5;3Hb1K8=StRL|m z0g;$5Qd}|4i;niUWSMhmR+@a;e0Mr_kD}44OWXS5uVF9h$l*}25yCJ#f^hodtY}j7 zfTMjaL(TJ488TufVZ2kT<} z#NP1Z0kjK|HU7WqxP@IDg#$2uadt4C?bAQ?yMI^`9cH#}r5aZ9K6c4UWRPjH=h`o7*s}>;G9tQ?W@0=Wv*Ibv^%JCdxkK zx~7a&9>#R>u(p7LcyQO}(xlb3G>oTlb9nL_H4WT*>oFzsJ>O-$@z0T`HTCG(c^CYU zC$8Zx>snI}JHYd_Io5SX%@Fl`?KRf5cDr@G@lESG+oh@Zx1McX=XjBo@qJ{9bzQg* z#LDxckLB7_+(63T_k9)DeHEm@?G^dPwGL zi^pioD(IU~MJoNHbow}L*(p}KSEX-Dr~9>KgRJzRN(XXOIbm(t=j`B=Q=`%!N~cfL zmhH9DXQ=eM(&^VSh*o+n>2v2vTW-{r{l!X~Eos+F+O68M2duO?k~US+BHFTMD{Y~q zT_S0Vv}He$w7ZKNsDVD$v(RJRgBA==%p|?u^PrkpYr@uXj0uinm6FS{05~P=S!ehj znx7+w2Lu8<>lWB!ZTk%0Mli~JR4~3Z?=obZn8XiDb~ru|S9kTk=C(*B3pW_ol$ixP zS%+Wmt_KsHR$nnRa*{eronGet7A&*WI=0i z^Bp+gTYCcy^t~ht49|E0LA^Xx#xDG457d zV7Vuqu`}^Q>os6`qrA4jGV^+KVu~cn%2d!LuxA7ZGx9Q+n@c+rXUqE!Gw)C7eLt7+ zo3FmfCrze6@W$LtBCA))`+1bf8#DJ=(f~jj_Q)2SESPcyh&DiE$MSggR?1F&<9X=I&T9T)y{}uB-Q0*hc|j#-Cvrvlq{{dE*3L^z}aNsScbP`t&Ux zd?BsJv7yhC&_7mQ4F#I;Y-m9f{tbbw+|Lucm6_o)#rtR{ISz;Q^rjRaSPyGdSYJ_u zze6{uE)B9jZ5Drr80vhjVPLMg7xmY30g@`@nY5`fp@YxVkk-#yASvh$?01YGO}jzd;_&A$)}a;9W}`S3|rOJ^TdgExILvj(`rTt9%cO_@8n zly#`GbwZ7Y*L5*-O1~GY|9#}^R*q8Qf$bRnQ(0gD3PvoU;+K;#|Fc~%qPmoa6gz*% zr!<78_)0NTu+o)XhB2j5JsHzW>f_@E#W;}-FnPhtfKmQEkx7e6iAcclu? zzaEAue`Z4D#+x`YYu4`uQ*Wt3 zDb;CyqT1Y@tVk7}j^_*MT6Ovh%#h@hANPI&Gb^9KjM2?*Ic;;_buwSfw}=hs@%8P; zY7gvX`CEGa*B_?)hwy5Ed17y|!>#^(Uy7xFgM&YOSAZ>O-_vVUu8Ov7Av`6#GV(`Z z`P1UunuRIii|pcY=lxPT^s@t>1cl~5t-*?lc@GqzEt$yJ`N5m(`8Qil!OXFRk7M~W zdCu4j_MY|7op(~a$TljnBPZyMg0Y&Nmw`&7Ip#hEOLjVagsuiXo%PKW-O+l)cPCok zJ$CHxbmz%}HIJ(61F$7^bvM)H_%Z5AI@LGds_Svh!@T;&t~A5pB~ zypv%Km$pF^RBF!+%PL)m4>rgJBpIJD(YZ=CeU~%eCcQYGZ>c;d*w|*(e4P2o<5HrE zzOwPps&HxD{$(-|+0j}1o$Efywq-@JXSNz^@TQ-H8ZWpYo_K9!luB)tC>XyndWB=JbeO?(N)&TX}Ok<`Dk?drV zkwN1s{P1+h=`ObSDyx2A#5$~HNk@BU=vz>eWs@8m=!olx@Sf_3undi5e|z(+jXo z&yjJ&KD|hWQM_TAzm?Hbs@hEZ`_s+97?@Brljbs3bor+Y)J;Jn)T2Qz^Be$972pkHnA9xY@^9GB$LgzTDqRj_?l$2`qnG?RTx+Flp@&6=;MEY z7FYJIqiFl|854lyP2cKGR3}7n!o28$EHwEk6u_S7Kzz}EBkhfO&Wm1v|Elcz0Oy;} zTw5T`Fbrv=pZKfhc1+p9Ce2FVm|>_zVGKw|8EoK9;&Z@?$D(Ad7L;#N??2AB@i8 zWx>3w>k)VkAjdhx-?o~inn)FtZ(gVhk5)?tt*L|!m;74O$=rmD>#|cDpdf#6kJ3a7j)`m5Pxfp)QT$8UksCjm z4crBF=b*oX70WR~Y_4H~gZhixxd1Fd{cn4?6D6kLm1;d9%KC+()@F!m#U>wZ%WMWD zdOGrMU0Do?VM~c!iho6l?_;=$;ZYx}sEVEg4Bnm{J)JG7`yH8`?WlFki8*dIm6eOic$W&DZm%;!K+JO z(VokZ?b24dNw&*YYr6yhc1WqB>Dv%4-SAzRo*)y;&!}#&mZJF-j#kYPinHKcW_5#i zMVIM;cmj#c=V&dQLW7`Jx=_u{Zelq7Xd_F`X%2W<8Xmbya;P);;*V~Y1OhOOhiNgx zPbVrIw~G_4X~nf+qgj%z_~#4;2e&4eS@b?V##hm@#9lSqQk~GrBhoJ;GXq9-wqG|-fvIbru*U*~q-^W0!s3V+&YJEA@J>0n5rA^*} zQ^_dKyneon3`V6&pF;YkSWhH+4(TGIJu65_5&m}o*CxV4o-wZ{s>0f~pW^$EA zPFpSD9QJh28?KBR(o>~xH^2TLX+-q$B%~fYAPUryBm^D60E9^1+12_hay$$Y1e%hB zh2~F}sBdx-Cg_7~3Rm{qkzW4^xbo=4R!QWK;a-CB?-hUCi&{A75|bbBYA|Rlba7H3 z*3k_m!cJwKDBX=96XBA%RyfV#2R1we1i?1M(kAIzTj?VeR%sZhZ)56Qw=7`l)@(1PzpR_5jO7RP|rZ$ zilEe4HgVoVT(3!Mu{j!8rG7GJ=i|_#Z&X}F6ta&AgR_P)=DplWpXVH1qYl=R)+A>p= zmT*S1rFbcuA7$5-DCZIi@PWt-Gas7(afu z%p3vK*NZ%9K|<|WCy!cL@`Al? zb$EUHYhs`%noVIJAOJb4e4X~3UF72huy@(kz1I8%pdcaHchWcc zG>%0Ux-9Sv*S#-2rs1$aJ?4|2D7o*Pbf4*JEnN*8Pj|{Ns-6k9=^YF+DtJ(K-BZX= zt^ZqbwV}3;oFU>A=>Cb=X>^85H=;nD#9$2am2Q{8XiEVPI4#8xoJJcS)&O1w#x1=!-?{ViG`1OcY9 zagKTDyF>b=n6No^S4_@}3=eUGiDf9Bw;Ok-Vm^dh?M3^N$1~HBAvn8~459b{$p97N z)S8z`d6V-96?O+!2xYWcQ1j@WI9?JQZd|?$lE6iBxjMn)GN;_l2U{s_Z2HC86mL^) z^{239d9!0ZOXsq)7ut6*t%f0A`c^AD{Fzt|A#>57X=Vep3FV6AvNsjpB zQOQxt!gi2!Fg|%$GGCTzbfEPJW-lzHT`Z-khU3Pd?pSC3lf_9>>V2 zWG2A;Eut);J!&9NGb3r>W}}8TZ{Ly$W}^8y3^R2 zUSxq2;j8*M_Pu5dB{_RS*tqFspMJ<^M6&|=Ax`!?wAdXoci7AlfWs(!e23ao&3S)@ zQ$PcVhl5lr4E;HiqWi09P$hyR2+bT%E9O}_DYd}Uo3HM$;%o1U4M~=d zRZfI-@r@nSt4|cD^nPVQKr@hT4^E6G}b!YOw z#l8AkFRdXyqU>)uRu!d^9yIQirOz9qX1e*WKd8!wT0Xxmxl>G32j6N*w>T|G!*h-Z zqKd>n5)^z{Z<`WYGsRg42!j<@=0w4Qx#nfo;9e4p-I-(8nuRS3>*eK`tUNbniTSrz zusFm@1sjjg7u*8cpQEkamp$(W_#9x}K6kIxW+fh?&8kOv<3;I?NOHF! zf5`$xUhzAa?AL#%I(D9XuER~JacH#?hxheX$$;2Sa6crmw7=EsY}M;yj{jBGF-qy@ zRO#mr=mZvm6MbuFkD%&JzXc^)qYbv6W>#9Yt65;|rA^jbv&4GyAI!qs8++kFkPZAr z=6r}SQTjpb$Au;?mBGEvoYBte(zmOliS?eY1+c|=a}TuHX&_6A<3d<=Z)o5?D{`Va zpRd%KgQGBiC`EYMBQH_hEV({|>jDWx*I^H+$IOjTT^L3soXO!fNT$hiA@)aZL3ToAQxq`d(H_D8!NG z6|^&`LvboUBqzjbLE*7l+&0Esa+70=1&dPFSJ(5E5KHOR6AKj~pAem1+?Rtt94@2y zmE7eUmKj6vu%bHD;t1;Fr|*NF014EcTP1h!U$EYXg2p+YCH+DDWZ^5nZ$+oi$EE+d zvOmwi1-sS!sl!OtJBj0x-=+Qc)M3#t+syp^+cTMFk%`i9x^gJ`To6xv>0#KQ)IlOi z_e!hfyy8j857y40&&HHLnfGuNx@e&Jj0h_c>OgO_N{4}EEOypDjPWfrewq1lt(L-(|oR;?uLMhQBxNV3CXe;*x4}6Jh*SS@ki`lbU5I7?h)cku;U;pZP*-9|| zrb)kfOc>wDDA1q>B!k#f8AzuJe*|Dj-*zPP&EcJb(DJ0~t-aL)&9{G$&EDQxzBAEL zVELOk8n-EvEcCxGD*Z1KFglT6$!E&&2Tl94&`YVp8i8VDDyN^pD>0NhlMgJ-f0;E4 ztbIMd;v96jVlE-}V$xR!D6$>==z1;7S}}ls9`{g@`CJmT7%)|5VA47-SD(qcSnohw z`t|p!abz!k^bc0!Qd_y63>)XZa_6CxJ|Uz(c*s@n1TzC@oGRI)HCHj3i8v*P^d}D4 zu5c)Y)D}zvbL7}c;RN9uL=s>Tm#M;1#2K;ftD_-f#?y!Z{VWHgaMEAc)3Z>_GQ>ok zm84Q-%e2Kz?op{D)X4Hds<3T*UztxxmuPnAt|rwmMIUn%D&*O(HHR6@^0!_dLLN}U zJU10iTcE46UBTM`;y?XB>sG81DIL#u=+vdg;JRoQ*P%CfzhizefS5p~s_Jtd4mY9DJWb^6a$+7WA|NczLh;2cDMa5$eauT)*C$jnBb z)ult*)u0{bf}ymzTw20x9EY)`>Wv7$AIYObBZTJKVm8V`@65bS6<$RBf`YvQP%zly zDAgj|rA_JG!1)j@R@{PWLwTkRtErV?{gc&(KdUwjv3#Y`hCEB$behx-dH2>>;X^mF z=nz`yZK#iOo!NgR6 z@5x+%iVkl!SAsV5P7CkJE9wc+k_=6Agif9@fBQ@s^Mp@n=h^=RRC~v~#HxL`Rr?54 z`|;*+>Dn1{g=O?NkPe?q1CsfIVbtTBsLYNz%*Sd+4Gs^hRXcj;J|uy(mJ)v{icmhk zWt$rJ+qtk{?%?7xrW|L+S$tuAyNtv%5ko%A2s6{VWn&9Ch_K2lEY974mMoZ&iKV!i7F=T?3ZzpmGKfQqg!PhY_?h%PwAIY+C|l8SQ*b$ z8S~Bit&FyQ8H=rqg;vHBRK_9ZkFAWK6L?U!+cl`+@K zn5QxxXO6Nm{-s~WK~~0tuc}^u!^H?5Z+^*vJ$ik2zl=63t;thmhF$dYubb7#{f-NB z@p~>t&~DC>%GiL@C1hwrB37M`$=CIJh5E(*A2*~z`9ub!3Ln3S0%E7}Ye)Fu{7SNT z_C)t68$`=qP-vb4g}s&h#iGTR{uLtZc?6B(XQ$XR`b*R`SgO>0LyJEX)s61xmbPXm zr|Vv!MIorgQF8uH^)j!={L3r|3h=zhb`uJ#)7pfI1|(a~v<*T-@8=sc>syH)PBAp`kqEU%^O3yKMZ6 zT(HWi_35}p@}we@`F}X#+dm*HGH(BX961J<@5 z!DY1y?;iK>C|NO}1zrpH#|ZS*9K}A%ivG5rUzCE7PW)nh9=!jZ90C3S*@W=6$Lv2u zYWaR~kWsfaXpApV6}O3FR>g#m!tib!jHv(J5_P;0!P)%54dHj)4GEq8Z}7kCZbX8< zKXQTu#2Spyc+FSPMajH1Xf9Go=Nhy)kl%Y5NYR)fZUV@%=EFt7WNs#vKI1hC?&H>X zONccb9Vmr+lNZFg?a_1OJ|}s)NK|WkrU; zRJ6Xr=i;kx{Cm4)p7J0ZH==wTNf`j5$67dz-`E_S%i61UerxGKD-qwczhTkrKLLQ- z1(G@f2UPC_LUre3&rz@#7zKz)*%gilUJlox>!+~5QWF1&s_s?WQoldz^iu6!ky!v_J2;l~E!WB2Yti}Gqs;EZ+!93 zd`jKf*rP04nhhaA-U#al!p7LxSN!m-lJLT!H6W=ATpc^k;7Y{szpUQ`@9SYas#w@lR8&etn-GwgRQ!y_6>eLA)^ zSl5QneeK?lWfzDqev0^F@9G_~o=jC;{i=G3s@_#qeO{HRDu=2<_OAo_hhhCk9V*^$ z*cd(QM~70E=}k%LQq_uZ_xSy7j>suhEBxIPS^@)Q9&;Mr`=+XeH)*p^FUcbyuoz+4&Z$d4R$YZ#s>(@KIrJ-W3L``CAV~^z zbXG(4^NCMjN2)Q{DGilkl$LMaaws*`7RH$4> zGAC6y`W#lcUD)ij&gIoNEuBk&jCBL7lDBkUPU~Like@E*rvg4551Xr=ix6uuJxkR>?2of0>=ai#o{k%xf z5a!GC^}OO01DOADgQJ5|lXEuM^O38oco;#WsdyrFKy1u?Ls3P-ntCl2gCdYh_Xtnw zh1tL+hVvWestx2g_T;jx$qrBZT#fSQ{z8V~gi?k9c@Ue|-KyoHern^?wCt18NBoDe zKi*QN_D3`s#~g>Jdots2!vFklcQL38sf7xZ@j!#r_tOlZe0M@Qjrq*&up{Cr`nE};coE&-wP@? zTA(8PO|@r(785fQnedvB=kPpqFar^!T0=A#--lWGn8~zdXB;TX0Cf-G15fANZ2~NK zM+R=-?r-GerARVr!lj*pWTwlR4|3bs`$Ic=Ao>K`tdYITJa{!Y!(_xR7n_ENn~%L@ zUZpbkfuI-HQ&{xaclb*;C~PqVI3xc^J5&a+*U9Ek+7YipTy|Jn=7tiH0gt0EO|Qwj zi)DBO7{|O}4Y&*>zz86UGds(%G{*CjKMVVZ~V(mR^ z3x@m;brHt}j-iV(M^ZJIroFZU07-C*)t=dzCBvJrym1&cmJKvK9=YZ3j?GM1Dck^| zHnZ;as-j>;3t|vkRLgu(p*6k95XJFbZcOi*s^{&SqKA7*@VlgpXS62d7&h&t>P|Tw zu$+70AO^u5Xv(PmQlt1{nzdaf(({!TgKlNGqpzW-#o09A|+T>n5 z-Rf85V(F8F3D%lpd?;m$g)E-fDE4loDak(`nYIeSR`O>@rd^BtA+bpDG~rERV*47~ zDnh7J6r}_mB`25nqzaqP5KP3TS~$Y$kG^;h%?@nG?`U8jjV`CrFcA9)dFmqLt=xjS z&XK5lCmsdx@v1S2pCL5XtDymQnHM}s6Jk6c)n|w5v*>8O5og1M5s{N+rKHOmMUQ3i zB&J9~fq#^C$dYE&&(5s+>#yU8Lz*u|$~_ybGRM^t%m`zN>jF9PrfKJ}w?1{)%5dHG z{cXS{vHNVgM~tqa@$N)KK@`}yowIwXPSjV;sU;`jkKYd>hOxN}ktG-jn+DHkDt&@p_;qFWhZ=hCaNm7W=@d3X~y4W^r~pkfM{XIWD6Zm zF3VD#1`j2dT8hy;kjo(6pUT7}-%%fAiNI%fng94R?u`5UW!Z~7SKsAbvDMrGB#B|vofPZUo<)^* zI4Jc(R$&P}dRZz%+VyvqXE_?{svI**+K$x{(H3Qfy~#qQon~f(M%5@~z$W?Pce(@^ zWa?>s|F))i5pg!lhF7G_rO1nk&c;P##Ko2-fWh8y7wBieTogLBuO&p=2S*tC81=cN?yHn^HF>&7`kNWB-uOs7B z1<4EXw~aXA_I1pK*hY0onN*8yR9+iYUYq+dZ*;J4@cPOY?vn!;t&sg~!kobiirv2$ z0Ly^%Bej(yA6aKd*w~65wl0CV=)CV8LK66OSU)86voxQ`p4iDDZumyT5>t&a`Ae^pw;vB!p<{OIu^&yIO6 zDMDHBZ?F$eI$Joyz7Bx^g0Q)-Cfdj?p?9$HVs=}Y7B#ijY;028TdMGx(Q4cKAqMCR zZISQOhnufK`jT$%et(xc7&&Okvp4Y-ou@6yp_tM+77Q2D!(pM) zw*&U|+Ozh`h8K!Nd}xcjr#*XorS?+O2zi98JKo&D!e4I&Wjkv`!EC?9u-{-#BSa>7HbP@4y}?>ALOo)oj7U1?B2WT3Grn(_CWd?^SG$ z@|_l^-a1)0flj)59R6R1D^tqZzlA^@qLB9%Xtp2DKpKt?!|I`|m!Q6Cosz2QZKdr8 z_ONu;jUTbG_)x=p*@HWAw>zk^CA^Mc?++F?$mo1)y(rxYo6;PP;?=r{-<*y}h5AG| zJN^AM(_3bqMN?ufn;GERVFQ9>7G$3aDw~6_#FkLI6wy0eUKbd z(7(A_1)0+;U=N-?g1x=&r8Il1u(GhXChYAxU!&larSl8T2hzp-O%)^FaFfrm`PAP> z!!`@=JBkw0yf2?(UaI$1c&+tuQVZyaJ6_|v<0t@oz^!IJPGAAvQ>n(pZ|yG=K95B8)Qgc`nxZ z#l+8eFCMX*BHS=mU2e{y%;p{`Y-Ae@YF7!H7RrZdT@^3WEa(#~2ZZczSylWn&!w9p z7Z7CpbaWC2wi6Y2lv!a_a#e37=2Mpdj1REveEKJZ8B8uoXO0l~>ysUydOp)CKLfkG zcA_HrFu~lkODHI_olBUIl=z4rX%0~3i#>3KnR)#GhrePWGJKl6N?H z3$468N91MYZ^5Lg%$)FZMSC}iDp8mdFJ#9(&kHGp1+qKR95CN+xVF#xH-#|ErTXlI8qGC#MP>g$h-Se~4uzl;dXe zik+|k9SZ+~bmSvr+~nkBZ;LQ#QgNo}zEZ`gjJBg39yT&@cNag#Cme$g?to@^LkVO2h({#z(*b2d zK6u?UDRKuJublo_7t#-2X5>{?vwzNfNr)DX!y)$=5gE(>{OE`in1s! z61V!E7idln@G-npXK$~MYhhz@HoTr}wJ#?*7?Xb-EoJO?pi*FAgh~$vcckp8glI!W z>QzJI%nc}Z6LqwT`8Zze4xIq&%-{5)sI%2AfN4wog70G8Khm0)bE6+l#JO-1aD+L4 zJgm#pxTF!=qA_F@H2Glh(|ihktnCvLq;(YkiOli5?~)d#aquyPjw3-RMKcq2q7K^nVmOA}VIZi_q~NL!c%jbWHP2N7{JRp{Loa zZ&P6~J~kWgm2pL8F|?noM~pj@*Ji}qz?~m1LpY*Ya)I_DjzKpU0GKzy09Rvh9yxS;fvC zZ(hWx)T>)9uR@0!7I)bqnm+3jgl($kkp;d*W@} zOSu`oSGb6y&jO72&NfzjtBrNQ{Qus@pPqY+HZD?$-_gcg%9S=|=n_k4R;C>7h?REq z{Pd9v+3!=mkO+v4N!;^kif z(~3(YKO_Oc9;(@jUEtefm6X?JX2Vn`Hy{B+*d+s-I1N0gs>+HSPd};!HLJo;=4~=x z)ou^%_;{+}7?EBHmHeFi^-@aC^V z*!p#DUJ?3Rc%a&_aSjBoV_oHnh*=?Z`m|Ljnma1)EQsa^l6ZsG1nX`o2$tTG6SS9B zx)+&lVKUYyey_$9{z|BdSCw${-;hrPSeCfDQ*&fMjA3V)(FBI|byvESH8K?FuSCbJ z=XFAuB;1b3Q19Wb(hINliw-%}W(OwM1s@0<01&}K!Ud{_(zcLYi2!H!(bH*1wF)2h zBSlx&AgeOpe~Tt5t#)t~HI`#v(^Tx`4f@ES{;`br{hQdM81XJOb}~Yu_6QPk8Xzl0 zW(8OAKuCXwkRl?j3GV17EJ@fXX8h4}IJ>4Evd(E(Mks_lnW9g7zs!6LF|?esHk@0@ zfl6B0s9fr~^}RCd2q0)ion z+=a81VAs>N^m_GS(7s&^*t`-z1B)Q%_oPbCrg`NJ75PY5jY^(6=Z$E%J!>$JskWr1 zJ)1QJ7SbjxWYA8`P{zHD$9+M?U|c0<5x%Nb6uDt6XrQS-Vv*QzC#7H}#|Bjo#KJys3d7n!B z4&1zpax-l_#yPxCntIRSNtp1=89e7Inl78DI#1jY~I{vVa=3mR8|JM2GP`FYwr%$;RWb$G~fJV? zgL{C`mK?Uf9Z|C~h)w2b&%PD=Alv?yISV@|)FEeZ+$V&34z5SL`Yi$F60KynzMEb# zgltbYVWf~88%uIvPyRV$-{1ny{OmrN>QkloT=RYPa0(A=TT{}sZRS(3iB_o~nc`Mn z$vWNm?BSGF@=Wn|d2W1V9~X3Q=}AyNPZ5{iT09$_8q7^C!d~$mR#UB;!Zv#SdXG;> zAQt=RWZ(XdoJc{S>C@YDF`p&!75d~}#m%TCl$U%$Nbhe__O3;QxuS{a<{tTaBa<#YAznMZwlk$n5B ze%}r_DuXKgC;c+~llhmAW|2n81JWhaxWp!2F+|x~Q!95e5V>0HZ&rQ+6j(A^pZ;!J z(xIJ&oY1e$Ib@7_(pwIv53xnYveIqj=yxHQm_$1$}h6HR{v>j5hspz{CfjU z{|IQ$?&r79uLVBeVN%>L`MzmKBv)H&o}7N%@iA^pqU#AZCWSMM&!}8T5DK)bFItO} z9(rY^{Xg2?20n`FT>Rh7W=S9k6OPu_?x3>On+gsb)T5Bx^thfn~1W*Xz3ux7#w$8d$qqYQmVSnG}%l@1KumXU?2Cb6%e3InQ}srPIhW2p;RK1Ya0LI zt!a8Mc^oyv6C^6xh=b0@z1X_DU6;rYhIR`QJeda3&hnx2wNfTnE0v{q=ktDi)?6|A zN!y|acoh_3IbkK0)(N~J9tn$@zYII2ZM^b9tqJzPg@^t2CP+kcN@NQj(F8}gERp!4 zga1L74dH55O3)Ii=TI%h=Lk);Q3`N!+hVxyDZbJ538RN1p-PADDn`Gjn;152D)4yX zv4z>F`wL?W;Pm7tUq2Wx6xX3(;U*4)IF)95Davw-kmpHJ7DZmS2u-^bWmA;x7U7>N zMY$B^x<$}RDPm$4@qZp^`EuG1WcTl`xEOY+a0&q&G7pBM&2k^)4tX$w%nI&<>>&^G zeB0deEXpO?Egxx5uQysF9z2u%j?@ zlXbA8ICJAQeTpE3b(a{OeT&b z(iwvFR8*~fr#I#GOsSG`!(3e%HHy8_)is{5(`0=y8kS(Wsrnc*s3Kjh_p0CedU;rA zYB6I$60KTYp{W-~d*6z7XT@|DJV+brMPtaDiwezI^=`FUP;~k537pdw*f>ICWVx zq>f$0BOtzkG<;CcEez)vYbV~pv4$IVHEvQIhq+-}lN%@sHw5UA8(d4cVUv>^Qe2pb zYJJ$w*)T5hXC(FyOxxN#A?8dQwcg;AzM?&V4cWs+FI@Bgo9;nEHZPj!dP_ zX3dW>p}@#4W6G}r!+}WPPpR11oG5?D{lR(9?l#lgB#1-I@-}sUs)I<9WNOeq5dP|t zV*XxUGFJ5D3pmLVkKm6;aM^Vf1844+pPG-gJ3vw06eFpIe-{ta4sC*`sxW*R+;TKt zC|126O3hN)d|UXM+L!GUp}FkgT9fR*vY8KOGuN7*=gvNboGA^1G8VTR zJ`Pub4)p%Q#z5g7g(!sGz25l%Po`41ir?vwv__ibvWCkh=Q8lI46K~LOdu!DVjBSz zJBb88$U0wfO;e;xr)HRp)9lvP^z6|y5zDF$*~?V1OyZE@s|Oc5U2tA-=U96T`vK01 zxn_H`SJ*Qyw8t(l$>r!SD$lW|(Ba8h)vcUFWW_Pq>d`8xXKom*zV1M%kth=AR#*jFc^ zlPEg{tlpd;7Bm#XyCDTr3Xd?=n8@+4U29$|1LLF8lo|)d9^`uC4b+k8*|n2jQQWVlwDle(8E*X08$aN0Y+ull z+gZa4|Hh-bs#8`E>&%*r+PJkz)vC1?d#8H!XH!1DrmeU2HrZHp^F2dt#2!!I9qoVd zhc-aw_@{ZITXRCq!y;n?Eu8a*g&17_zPgiA`r3Dn&_dGJ>6;R=!X;jUEc*4<&B+Ud zBakr%D!*15Vf}X4>+2<;)vE(-2CdmpW(*_UAnvBO)uXp$m((?n)b47P?r2Z-gf?=) zKMe`~b}ZK>sn2&v5BAy(x-X7hc-3-WgKulgu+%QB=E*vm-4N~g?6zIFXt0KHUJhta zwKM5NnY8z@KJo@vo=2ZMkKe>TW+MbB|ivNKNlX^_(@g7SCjSPk&c#8 zN#7Bj*pX|-V=sps&3xlonW>uAm+fgUG5fxcX)Wnjg~3WP;Aw%s>+!$%^~S9W0xjp% zTJzB$3=@brT|k2XS!G1E+I`zF>=ul&ZtPpz%4iRN8*4$9W^}a7@#-yA#@fR+^SWxP z(YCAqvbTQm?^}xNEZuAL<5KVmq@Gi!JrgO0m3@LvBEfHVj1}3E54WH82-fn4uU}PR zwB^10vn4Y|y!!w^(^u{%%%F6VsHq(4?xGGA9@WeC4BphGTdNygrdA;jh+b}y=>oqkC1<@Swg;G z>6gW+It-}^8s?nb#>(>WR|13*)ZwFU%fUvXbGCOfrWMz(I;m|!b8?~HZ?}KqH#^$x z3BDfBWmy1vz!#^&2r3AOs|s0}3ci~<4pJfDnVk(3Ey;?EZbUVx8P-Ct6L{AC`40HP zc;Y9>ZH}?4pTxw=etFayiznnD5I^Kj6}!yL9h+twCT#r6YHOP-rpZu93s&(!4mqyCs}$*tZ9zN zVn131WMNaYxuGlIO_h73ATq4eCtFcyv5vfS7b|>6O{5@X>awO0vGFAyo@zIojg>2g z!-(ny9DQkUoCo8-*Dl(QAkzog-i#fbZ=bkHwlIQPYZ)MU)GLySY^VL!HlZ3IgWhlcONXQdpSS~$u zfn@+x?*FcU$|?bsxC<)X8S3|9nnnUD@laWhqLBh8dTLhyrl#1yW}T3>5H=?=1R(RG z0u6zO(%W3VBgd17(ggv?RCn~yXR9u969ulG7N|b7I=|J&BCu5bEwjme?#7r90F&>* z>c5EKO#sbn|B<6o^1>m6HT?qB6peN2mSeF_KL=CSXAs>Crmi5V$Rkz?FRja@I=Vg% z12+PsOJM$17UO&40;*w-3;ik0&KMJ432M*wg(m(PLW`n6G861gqTwKKT_m5Jh`HMR z@x;#F1N#EpqtLld_M_YpmmyF5pkk|Zx#2HW#;(olEomwS8Be}pE+ zL(N-o(1{)?CtPd0oo%!^Jpc?RZms3_l)=%qc?MRk7Qkr~8lK8XQ zs+p^PlDuEZZ|ERJ>nK`nCL0}7=9)oZ1~3fRPhBnZ0?*2u@c*W=5D(s}#-^ji#@2RZiYOOkJ;EAuCl-wewLcO&-Z{)cc z!0t8gQ7}yI$#8+CKaHK-a(~Tv2a~><^`P>P6*WUftTl^uh#bQe%i*w0#tdPcv}TB} z$H*|G)X>|+_yp!CeK+35J%QQZe^oj(QDWVD&cy?UPrcuSQCt;5+@YL}2G3M-bs? z-1mpRbLwGmcWL^C|H;=jJ1#|>;p$^QhID0LOqq& zm68t=9YXRlc3JHyw7Uj7hiT+H?){NzoLF{?hUZ39-O`&IWi$BB-9Ra=XT^qLr>fm6 z&eE0Fm4|)ib(2Uubb(RzP$jKLzUBng3{-b7KOd+6@Novx-GW+kYX#v0ciNroF>PYA z8k;*wH0&8tC?-2KD%PmHl`C)E7Hk^CC)jtVl2)4yS6VTC`{SpD??v3GTFa7`IWa95py z8zHaYytZ+;yaXXPw+q%O4Yhst$!a4xULAQC8-zVfEY$*)%Mo@-ky(?QoF|4ykfE;G zlVqWj)wJlWkkc;h(W*2_^j9eQD&})9hYsL*s}i9khu6lYHUAJh2>1^0|JYrDptPG? zM^(g|_N>gNt<9|+CB4(*kzrU`c|3C0H@%lT=ESp^o;1FBsPU6N%kUG5ZgY(!*vRat zH10nw>?$ES6dCZgkMJ6VGLIfeiV17R-Pi!K9YBIP)S#)x@@9{2-CQDCYunI*pC~!P z!P<#n=6jKRqf1gMq!PqEVO6UZ4~twPOEizN+Qo5geU7kSh)kC=0mhN&;VkWLRu)Eh zea{9q35-vJtxkZiy>F(rPwYun37Gl_I?l$Oc#Rr?R$>%j#WHW0WWAqG1AmeR8u389 zQ^;!Y!fq}4E4k3t@2{LIN#f>z}ZwZ^2{FV}p)Kh(V)7Ygay5ktr&%t3Y8(C=L4*O3qWl7}yfbkCdDQ?7E zq+HaQpOCyxfo+B6INtT>(Fi z=6#15}<$XLv7`(wG3_gtSpKuc^`%>BH~VH-}eTCNvoP%ShL6fRQ)Pt6K9gczBf~mThGlX@=PZ9n76{ZP zP`k_~xz6oM28=d_!)58&Egn}k}{BO~s ztRg6e_TXmZB@XO~2~ajfk8B*0i0y}BNb_ZTR1JHSMEGz*A#!Rc2~;jE6@A~uh4x9m zfInzi2D`Nk`?Y0wL@X;#=nhSr61lFnYU$X>f1k54P)C@THb{rLY6s;NCcvz}z`zN8%kdF|!K;E#=Ak)G115OOuOoj=}*s zg%K;}d1r^80z-p!A%~iAsiHz&1p`ChA@BE?l- zV@KY13<@Q&HYu}4fYvH;w)- z?`n;*E+ZDiEoE2;K@SF(oR%s%Eg=EtCRFwU)_R6-5pv__?DdU`Ke`r8tbwle%K5R9 z@;cu;611$g`e5W~1fH>LJodA=eGKmP@8mw+Yw5E1v-!w}zr7hc!Gg%%KCaH(S%=e@NaDKfUnAZI@|#~|-s{Sah>S@A z!Si+I7Ta7l`FnLXF+4*UyMCuNKtXiV_pJJFJ=UJ1^Mja`xUj6Z|=BJne;1@)T2{dUyD=)~reAPM^GD zgrRMU8`{q{FNK8evj3`ZmbK}MydG%H!qoD@$SH=T5UlPA7qMllK1j_&d@zBLAMBug zuF&_!Lz7qJhuqd4_bw%SN2gIH0nB`wBU{Z9 zA#H~ISs;IuAyIvR^Z1SScnkoQS&Q=8t1|KfVnMMX>b2e zks(A*JodSBJV+KD`-B)7!giH2GGz^DuU;xJfN3A0!+Ozv%B~=NDu(|<0=7+5tG{|n zCVQW3>XEYt&&{93m}y@CFPj_5;4Q7#(|)3;XB6reVlU4Pl}#-%03aECK&Hp`tmdHN)jL&4)!G|)V9z)+B4TChnb%O?dzWpN5%b>>{^Vl8p=wlvahHNd8 z@8{bW;UiRQMmT~t$Dx35CEFXT&WTKD)xGcnTIHgB;R}T_e(Pc2xP1CK5r5^vtgy|% z!9{o+`!8@f0f~AP30DU9g_T}o29?Er39qX~Kq2uXZhuomJ1Wyt3gE_Ko@}A$?~Sq^ z)NVdDQu5W8Awq&cS_Kbc6cV)N&zbUDw%i!4~ z@;3Pq8q#>Sj)m35?whQ?ey$mAW2&hCbw#E}r;1+W3R*Q19X(nRIVTHoy;1S&2z{aa zxO6((`2yL~>!sjInoN$6KV74oKybXzHO#dwYS3{+%>m&@3eIj}@|0X15$LT#ZLe{T z3PH15w-%7f7u#8{R!9=xQ6UoflEZhDP99%U_>KyZ#h5cIs_Bm*2^%!LzLbaLE8o0YYKs;W z)=&->>MT%W?gt*B%Ek601QU&({{6d{qUfhbBFA<4@8p`E676UUfSoLge)@T2beI38 zOz|%S-uER>h<^H6~ z_x>Mc!!WGd^Ep{V9`3zSR^+m5j?+f${$e_4T|BJeXQ<|V^K^~siNhO*H_2{wzSa)BGyv}rEw3a%|k6`jxVRJeBH^~x)<2R<#I zZSkT>PPG$*@E@&#k}IV46+#S(lf_t|%<^jMyOVjHHl(-|tuzAP&)n`^%7N9A#S;4V_q!eXCaZZ2eZxCS z#d==C3DqdBC57%HNxo%0y3*MWWDJ2;Tn7*Yg&_0Q+#?Tq@-sm!>k&R_9;$UHpk7^* zts*!ap>#tj7431aNHuX(i)gTSBYvP98xpU{aLs0UTL7a*<+}=?PB9w=m&p*nN~n*b zkB~_rk3uGeJPMf<@+f3d$fJ-+A&){P4f30}3#G)AL#Sj3lYq#2wi-fK5=>MFCO7twqK!^drb;s0To8sd zL@ozk)ck`B%Au-+f=6XR1UVGP*oItBVKbf~5Hre4_`lS)VIRbvoYSK72DCd?a0^6& zB|cNe(kbyV1#$qlV&ZEfsUWuYb*_Ih^Dm|YB9w6i`=u!aJu2+jpzo^J9$JN z{v+vr^7;+Z6Wc%lu+A`ls)nR6u=*6v+6eqkb2bj2Y#d{ll1uS$aD4rR1oY>>}ld)YYS+l`DVg2h-tc>`aF6@)0@ zdv6MXv{%1?%;hyDU>Ik6D(w`uogEfO;%cwT?1YIudAt80RppPP~(cYa*5#%X8$95 z6g0fzRr8P#;f3^@P}8mSI$(Z`OQdy^mmus-b6D_z?;jik%h68zmnPSyZ1^y(>2w}w zPwh$-{SKE%X#pQ+k4np4eJFAUN5*U;_LE{-ja@soA$IM_hP8%$Yx4$3j)zSuK{j3m zI>jb!lwlz!ZEWEo)^=kv?8+wy6cE1^XT{c}+tZpKP_=4H&ZxY)_qkE_V&v~^qgj>XA}<)$oD(-3;r+&3WFK3NvgafJ zFz08lP5fLS>m2l`;o@kbAbec)^I<=0O-caMF9bb_X`(+Y7qAun#d3jpo&QoUjM!Z= z&SaLEjNOu(K>eMn8vpe*h$EXn-Y ze=EDrw*z{rSB?u`RC$#*T*c0pC7WNMI=-SLNZ22gRkD>YJ3(*F3HY|^xq27E8N zb(Z(aW>I-!1TL^W7b!w***_wWF^TkW?FVYGXGK5A4xbeLpdeg8UMByRUYU+mHEyN3a7{ob0U zRaxUAW08o^QHT!wAsHMOHg}@rk0<>~%k>4Emc#3Tykhwv3?I!aH!EedoA@q^2M-3W zrHbBvfklh?pIs#>2NTZCMs8e$6kd&bIAsb)tRXWDk3c05nNWcs-fORev2>|-f}GE7 z!fh)=t}AQTCNyye1kht5V|fiLl+^%7U8eR4lni?!2rwlouN_j&oJM8)KcpGCQq3@@ zLKdED`wiS?b@z%(!hyC5@Q2F@;VKNo?X$z@P0peuT*fXJK12STNixptI0{}&Xr5e!NcSBWGOpA{v79YE{{HhhiMx>$^k`@nqm1sI2Q4_t`UD( zE!f5XyYReV1+rq5V)|gfQ!77(AWQ({zVJF`<;X6Nhc!?0LxXIGL>FC?Dtex2BmINJ z&E#;@-7Je`CL5~C!{e1s0~e{Pa8Tr$*3CiIacfpXRm2l{OZK};gDmL$!f$WQA{{zi zAUO~PO45z=g}w8q5PLkTkwgG!2tp7E)br8g{r2u2*})D8A2pnc9T-F=-%!och-y~a zb6OJ)STw>5X^r|wX?EG)mlsCxW(yYv!dYoMo3;rI;Nr{|Nzy@rLI2d+50Z^CEo|<# z(tW7hpd9lsrg0PAEz|6qzB*u(pVY;MV1#|bcjTjoh;WM0?eAWLh6s1`;fYe(Cu=mu zsQz@>D5LBR#3bkhu=Kb0KAPz$JDW&c2Daxx{Y!jJp?9VP0{-Dj@`0uc9K0X1o5s+6 z#{4hv5Z$+fXz5CWe#wIOI8~qsnI;B36raH7S z0hM%IT$UZXE|;A`Eqquxk8?T}a0yFGe@M4f{YK;+S?+R0$0)@ z)`TpAMSPF-ac3L;=o)D;R&cHJbDi^3&rkZC49^2z40hY#;Eon2a4JDa^z~j5pDrLDy&k-_j@51twL(W=0dkwI)d$ z9Zd|=n(mehjHzy`NF{_1v72rYA)i9L@oe>j_O_!e+a(RBS@5fwFbw$gVHBSnUUg+Q z;!NC~#0KpnC_319oP7nnrn__e?r%p@$zK`B?QtVjqk$o@W?a4;JG60J%$5t*f5ydf zL14=nXK{hfTDb2Kx>e`1r(zSa&M+^K5`+={hb~PoSw)|*cc*BT9n&$ePismrB>hi? z!x`kKc`Gne`q`hCom*$#ii8W>;ZXD&WDNZ@H*%>x`P*>uHHEC)O8zgl$8+CRQz#x$ zQeg^T>Xh_~?Y-F{9~?wMT-~XGs{=Jd7NS@$AyVUoNl3l_bC^&Z)CjGldZ5Oz0lv&* zZ@yUIg7_msRWVse$u~yZkKRlt78DAN?zBI67(zJ0xqgdl8NhBefE{(QTXW@&4tu%0 zfjJfqe#s~01G(0GpM5>eJ0H6ELS`$2!}RH!(kHX%BkWgTxGQ=D*7t5_hZdU{fO9_& zGRRN;D(VwqfmfbYuSorh9_JO63zH)yXjq0t- z&o*Gwm!ybE5j!Pq+NF%o#5+kvxiZYH`kxl4u3SCmh%!?N#fA~k?da_#ivNKaqqy;` z7Zj$=^Ng+)OEp&>RbP&xGkgn*K2yfcf;wo9SA zU5O8<3Z|7R!X`HF0b-(<9oAPy*vB8FHxJQ{*4#<0RM8s50a)3E(^06za)KeBpIndk ziNrU%5kE4%c($JE4pvSHpN8=eCvx$l$`!k`g{yN32O>{4$uAvzDOk3hP&H#SJs=8? zW2hX;x9`U`Q++>Dm$am7GNh3VfRS7n=}*jHWd>A5PQR6XoBh?yn}u$`Ea_?@UzQSW zJ=+c7c(bz4cFYsq{c<2))Dky$^t(5)+kRn8tKpEfOuh!g3bK8xLjgX$iavdx1GPjb z`KJM{E`RIDu>r1Ts=^W>>|~PW*iwl29~A)Nf4855b-`bXzu|Jh-}09K9t|&a&~Ujx z%btG?(Rckt5IyJbflq5+5$7f7581##=dq;rqL;BClrWN*}Ys=KDQRaq;}L`B?^JyUxM zvnu4WjEEx~sUD;au)6xl(tU}M+zbYJj7?L~mAT#sDxZVl5-~V8cY=$>P=aWjhS1pb zB^g1VQTCCs`-miWvVz@`F&Zew`C_L8nJBN=BaA#op2~R4j*0E_;%>m}{y^0Y-4QET zdA)|5NQZ$AwkPh9Q4DHDa91@0jyeZ|OiMFqiSvcDqBV=?hc<_YtU0NK$n8@_d7NmJ zVXq=_GAX|lIAfv%){Ul+4y4>@aOta~b5q};`}pkW)mzDjrsJ(f_XRh_v_;|Owh!eT zqBV&TgY#)I;isfU9iSHXgsNZE?nW;}%I$0Q<(SzX5$y}2H)BYJHoQtOVzomp1V|#H- zsK05d@CzxSd&ZD$3*qf5Q5b{z=!ay!P5(qAjs1O?QA#w$9(1kU_Uu0&Nnv17@v8Dy zS;4Lw1Z72#b6fHbSwyp|{ZOv1_8`R+O+mM-Nk)2v>1xoP z*y%p0>vpwtEL@)~+}2xMbqRxW_5=J>(<${&iIIkW7jMo``nczV5x`hz$Ey` z%$3R53MoW*^buig(;}|AT>HFNMZy&_p&C$ZWAe-$h22<`JQ_Y z-gyiWtL#{u4=D*octn@ywb!UB$5E;+P+R(D)hByRv!HBvdcX`WA!Hr4dg3*Mw(@#( zoAS5Z6PoyPK=545_ax?Uv2#@a^LudMhmym|6{#fZL`$95x3)^Y6!F_5Rtazxd(?{L zx+|hkrqrl--k$eunI2};WJXP9)MQ4j8P_KwWToL-BW;n265c}u8{I&>rW8J6@3i$-6cLZ(U7$*_u~ zMS6g07q(s$dzST4_haFOe25Nzb>J({28H*Go2sHk#pF+5rq9wgzBit4m*a)UCG;(P)_m_K)^1SJJjdEx?dFU>ePk(s#$ewy$O^k& z@CYvM8d&bgjo=Z?qJPiq3=Rcw##1;Xrd}2}^gh|Z%x6TALy!TEo!_bwyJUG_+N z$u#5YYBkamN!w@=3;X$0Q7`6XUyfH#pk?|ec=ho&6<*bYS5PQs*u^O^h7`OyW<8*3 z*Ff7M2I~Pf`e)5buSc%2cy&ESkOV4sjA;ppfM?yyA#Oqxr7yRMg+`})M@7zEYYY0ShvT;jb-e2lEq;V4UFTxr!~!x2LlvuMtZ3Xma2ON zQ7O=y9q40Mx5vk1nGOgcT);AEO@3Z=mx@DDx4r6V`QR6lL#=5aC@n}xV14QGz%ofZ z$p*}x#gB$k>A*H7*$!;~ z6^IHkN7E?(Lb(1L(l51htda?XL6*2XT{&v^D6;2obY@FQ6*JJ?#pXfHpHcHmr$I5Z zFE~Q!V%1$>{8|RB0uQP=!$^!dV`@RrF`0R@?|ld2CKl=^CeKk!WoFo6_euC9tR&JK z%sKY2a7mM>Q=iZ)^wR^6{Pw*(syLWL9R3PS3TQiYYr2)kA`7p}m7S=)L17F;9vm>i z0qcgsG$S`)7pC|j5xhdPKH{*WcKSo2%vxa2-3ys=_aq9gr294G#iK~R%b6&qXTuC9b3+_aP+57%GSeCUs3Cgj>)})RyEJ?pe^=n`C+Oq#!dE4= zEj18BR?L^B%M&D*JCPAU2HUEX$(Y(Us*R_ph zIf*y9GkuTNIMJb^-8CvHo&E=Jg6-E+)0EPhMb2ybYM$~wO6~$V$wYgP5U@q!fsq6) zJKFnMv^yKmER_IQed10k1%_AXPk8m#J&CpQO5*bHH=>D=;mf3J)1{MTNQ&LQ{TqEV zecHy};ma;2NZ*KLo$33PCl0Su&F#qKMM1L1munlBW#=VF$aRUf@uuuN{r9xLJ6V#h zJd(;IeH)qUt*bt$6!~2O|OQmm02Mza7bd! zlJYZ9bwT(b#gXG0s?OD#x6$>^*}2|?>~v1p3JeSKE=6R^Y4~^!st}xJg|*SHVNM(5 z3sg)0G0Q!JSoFL(&@`r>a&HywTIjTK-B%TVjpD8Bxa2IoE!TM*cOTa{kB9Skl(nQV zS**9^I5i$~YnEEdoG|Ks7ke`yly|5ku3dmJI zC{+;RPD9iocz+zN!z&g9WfLPJ?qT?88+Eh&5(riCD#5uVS|XTNd1Y>Ro{Fj^$SZV- zV;V^PqGAYs4ntk`SBA?sBsT z3{?-=b=}|uf}ex`$)1wV7pC+!oLnJK+wHfWgo;goMn!V$mzQuo%7}j2yL_^J;za`r zHKoUKR6zEnQ>1s{H-x{q;uOV0;80ia@iii?-hpF{*mR%1o&}`V?&KEdJg1_Q7q^M? zoc7c!4VcOhf`GwtwM=vg`RujYQ`$^s^a!scJ!=@ZIcld!#v}I4f;Mh!?OEri4G!?O8T1(uL)P(vEE*9|HcofaQU4|}eBY!(%BWggZh#D2!Ecj^~X^lT#q zM%gaA)+rk+)wrGE+)6X{6z5vTZVPQUtUr`;{fsk_w_|MSzhb&f=G;D<1Xa?$@NqJx z0{bAUB~DiM`|=yTgSo{D>k{U6TX=-j@Y^q_C!M)aqhcfao;UJ);M@WKp~~RIuc--a z^C|{O{`_i46;NHMU<$+HwO7-pRD3fapSlD61NEjT-#{wAaiP$){ZfCdsVc66?;!s3 zNJax%U7|Xnd{gDU6M5w~@(T4waumw6-kolpegN;()tcb=iFmUu)fez$d^iA|*%ah* zp9atLeHuQ~_vw{#?gvAt7jsMnp$HWfgi4hW4u~RdaX{29b76Fw3#0ZlW&h-LdQ|R4SY{AYJ0+SWJYx&vl!K{M6k>1N}g}Ts-)S;5Nc^DDNFDhc0Ngo5P6Ns z|7oS5&A#w%d2%1sl3fnbaTU^#95weccg`9Me-^@?WS)?UVX^15cF` zXeIL{+P|LX`i8MmYTd#C5I5GFMfFhEm$#1q4GDX;s<6QAQrNLP5=_73jC0)4}YgSvo$%$t83)We1PhH*n5Zyx;kQhmeaLm&U#eLUwfeZ!(5 zk7NvX^We8H*Ed`-q>9}z`0*lr!&inro;&#Q75authdwSH{P-*ShRcRN9?s)|#Z1qf zbM$3u-?QzcR8Z@x=G&RtCFz-a-|kWs)WQy`urgiYZ}xwx3bLloim4XvYLt7qs2IiQ_}3W)g2jzlrz9Mj4qHy^k7(!F-`MYCeYbVi`ZDn0pND=VMr3Q^P%` z@nT>`s2rcW!(=f!*^%7H?d-@uqcj5?m7x1Nyo6QK^SCr*qFz=xwg zj4}S7>XPd7*#e~$q4|8oymDF3WqmLa9PW1a_Nv=$*zc;% z)+;872%hrn^*6};sps~uxvqVijqt9fUH=DiP(^a9AF6nwQaFNEEt(_^?vdh*!D44KP_+F`ZW1UhJbLV8{1P~D80ItbroI7o%pty* zhUrM}-$4)ranIE^XgnDp?!3cesCy?B1TUo#guVKP!gLFQ-L&uvDmd+`N@*ekcsl6+ zcRQ+TsP?6qbPb@^sqwM>b@|9fj z-DpO~codIPYd*065WwvoE8N(kKJ*fZs1Mm6&ZDcOM`#1o1J;@;0qd3=-MXZw?ex%n zCH)7?c0{vf9d%~sZrkVByO5virg%U_Ro-R-IBLd&tDC%RoEY{Dyjo zD6mqkk`JRX3Rt)9SM}UZ3KKSydb}p@v%@0aT9m>cuubSLeTGu@Mi56N%^N1QuA~<2pf8XKRiC<<3bGt(NUWlof=B2!VHeV$wCAc;q=iS-fLJ}=m&d$D zMf;2)oq2rdsHK9R3JTluIuZ7&Jxro_9T(~`vy5r zS@SBnyoyUJ;x}L7eu-VH9+*A64N1Jnxf4aIwdhm(T)8z(nQ?pWwdz`C)~u(#^rS*ZtT~{ z@4!(MUmEUQF~uNj?Ewj($Opd6zoh)^jL0)aEVKdtk_KcVSo-4dq`XP`97mGm&e}4f z0uA*y!S)Nk#Dwc=^7>iQ;%U;`3#3K4QpbP#8WmTQK{Q+GGCrx5AXwWXW7#C+56WR( zOkXn;oA{qt>nlYISChoJ>r52B7%2|7m#D7^+ih=qHr@Y$S8L6^4eQiUaQ90OMcxg@ z@{%2*HI9CoB2r&jI{})%%%5huGrr_hkr15Guuha0aJ^aLazmraUh85Am{bcBd4|dO za~;FTmL4)5t$C7q%9lp-;o94eShE%k8lQB={w1bn?zDLrhLQFiz! zNbAfVq#N!Oo+MMqpFNR_#Mn*Lx*3R&Swu{f3Qy#b9GZ`#d)}k#?1_{}u{~CGN6qVZ zHf82@ps}*Og8Xc$M^cdq0uUnx9FSZ?aG8g{B+pm#l|6!`9;ks3(w!?T)q3eKz6TN; zeKU->nl`VD0ZBWpk5f~@j4@4t+m8$y5d}W`)-yBn*8R+oc^eqIYGLR|2WE4y%tB2n zdI8t9f-Z9~7*ARN;j_HA0>~n()1I0QQfyXsUGO_HDR_~nAZUYDb>IsFJc?@i6Sx#< z_w+QpsrGl-|K}E`{S$|@KSbCxRL&*s0tajVCg%_svFwTPWMUlIRMJby+EAe=&x9uu zZgQg>x$Q?FK^$q;oEH*%8VeyhDJ)a%4YR7I8xnlI9cp?d1WOrZIImcri=aPps$t%v z+7&B|;TOwP|F|SqKCpI+bl^HN1v(x*&X z9O*|&58VTCx$M@=8YBvunI)$%xT$Ym)4__omY6UJx6=6 zL)&;@xOQLsv>q;UxoGN%_+qyg4qn(}#v_z}zuV_ok%O4`(rf9nKK6gHzoQUUss66K zjx0a33$u^zn1ToK0~o6~H=F?0{w>ZR0gXg)1~eX5B?GBQArIkhztTdgZO0ZD{d;0e|bLdXlpz-|& zjEY!WD9`Hj7#EVCQzmGinxI0IufvJF$AHF$OS#E)v5zt|ty8pSwOFYxZo;dXfP~3= zGJLH`Y+K2X3$q|tgdP6Hk%QIqMr+Mas0Yv6_p&<76@Zb_da7|3S&Q;Sv(zXfN)Zom(m z4_?7!aq#KyiS|NAog^_rGF}Qg=8kdt2Y-nn!A-?5myXN+=3@sRd1}yyk`IEpDtJ_y zxRkXi;^M-*^7CK&H(?}!_D{!Wpxxn(4%=HQ1=?5g?V->} z*UpSAV@5EqP=pk@Lwc+;pE_o&u-oDz`U$K62!N7rTX=Ot)s*l`)QL^AydFEpP_T|& zW6|~83xD|n%>e%AQ}j)@sNE@=NKu1Zv~#Y4o6|Suc|66*$tFM!HCydhPWeIxD`m^8 zaSqec>}^w!sQ-0icA*E!w-9G{hQBBKi2d(hQ}fV*X()b=rinxNZ84` z7li0WZpgPY6w{I;Zu48KQ%Ro{@mBY*c@|$!&ISgZlL=bjsH7O`(c$r({cxziR@&OP zT$z%>Asn`kJ6}ldd$rcxjZBV#hmu2~1F=URRkQU-pU~e}wP8K}2nBFMlkh1T))1^J zmE6~zy0vHw+uZ8}#wwWd?4JHrVNF@{U+DSU|6@t!=Bz+g&vi#BfhC?CiE}4q8pQ;eyCAx|WQfv8@U!w%=T9{{_thyPQ?i>Ke>KjJzJzVL`9YISU zX8Qw7;ad)0SnpbZ;GhaZ4vPAy$R*mLGzt0ai2+^=*|_2n#OW0lL8cCb>>QgRnuV%l zzx}-mIj`FG-Rc)rc-tdvg7)Q@=$MvRJqe~4_wRQItJ!V#4P_frMGNmooCg|5a$*y# z+1@0(k@bj-hK;+}p8W@fR7g4eeKWk+gOrCyrwCCJ&x(FJVrgGg%Z{zcjjhNwa|UlH zs&|mj=9v!pR7;=PP*e;UC(cyb=4HR#c^={=7|%Mh8(z&?C!7vm01g2c##dN2hXI`h z13K#%2GogdCM?~olVi7MSABPEq|7i!1k9IVJBNpSESx^Tb|!@FJgm0Wj^yh>vm+3j z1+P-Di_a=STB>NleavCrm$IB$p!L8h_9z~DzkLugDC4O$dxZB?<2joDRHT?5>#;k9 ziwKK>>A%Dy>#^3~q&rHduZ7B_iXQnsp(lOWk)t~{z;i11$_zBE9CHjb>2w-eC3A02 zlWQ{rQCWbMIsfFN!D-*o;FLu#oWO@oKTt3#5kLi!4nHo;=ku~RH2g;$sq~at z(ZdSLy}WDY3}P@Jb4K7y2MngLEys@GAK!Dva1T%A(`pQT&}v37&CF4}We)uw8x|wK zTs)!|s8M{R`neUVJoTIKjJJ%A^eUiCPLRrxsjAXBnHGQIv`EYaNFm$(RlozAL4mgM z+}uFb3OR*bHwZ(Mxq;XPigF3_m&Voo)kAO9Y@s*~b9zY?ax$S77`L;b(xaOBHq8tCno|sW}d9z0ol5RkXlae@q^ohM2+ONK(!x z7gutkTvXjFC=q5>2Gwt(J~hXsXQl>VVrGU5-2!xEQNM_8J%8blxquON**@6wT1(Fg zR_wtEDR}|G*f_}gSLC$q$8s(?(qY^ED{|WobKl_W(Fp*cN85YIREPwoFyJFaTO6sx zp2!viXhY}q3;4y$gkPKw=XZG}9Ky@$1VxxDtLSR(nO}R0bErDiyd*b3UO}1Na>W&< zif$wHFGE$_VX{gpFGCKKJeR7fn!^Yxo-kEZt17F2IwOUhWX^`AiaIGhnw>;epzMm- zp>E_5yF}Sk5>efJm)LReL`M*$LB&YTw)TL8s8`?8HYP?00E3i$siHSP2YPl@^{SHc za2>v{ctof*BQ77aG%AGU=dlMMVoHtDB_>{b7Uv)lQGm#L)yd8&NCjD$LpqosyGN&CxP1&@R{d_@b1YzMe&&UAcV}6(f&@hVU9l6o{HfS zT|XD4Qc4T$F!yue)j}Uuf4pY6&dTQZ z#3X8X_!MYJahMIWD1l1=d&N>D-l^@dk9Hp{Bd)otd?_6{pTI?MWJB38zkb zTcqim-8u`^H|N<;A@r8e1R?@68y}HI)ET-2PC$fA5>3D=*o~*W?D%&Ir{iwhKf)#F zV6ZovD8URad3+bwfL^L-B@dXuSnzEeHhZ_*^GWkfm!#q`>9jhQntJd$IDa0`hoEM@OQfPoke8SvwwRDqk-GLUOoMx&`+Mq zllyr>;iejz5T{>QSz&flMH^!ZNvd!mb77*o?^=OrG#oB9LiQ=#XWVr1|@bVD0CjuKe(kUcXbXKPmr@-^Z= zdX8iItG7yi)Rkz?FX@40-S`MfaQpiC3@i$8P&%^l8wH0DW5h1#nw#tKj2O{5Hy?k^ zDJsS%RC4LZSZx|8RC{PE(q@<+6Oh3dkabo{8$2%L(3)1>2)Zh}%!}R5rX}iz^?TJJ zj?@z1W~T%@A+p@>@1~RTf$Ad>`1~FAqq8$jXN2MdO^N(%EZ9d74)a6Yyox=ZrDxe& z3R9`4<)lk0fRlg8Uc*6AoF^3x;h4C<&LhjOH7rzn~ny`&OM# zl()~zvOJ-x>2HLylBe10z=TjN`wcmR_^p-s$_&n)Cpu5s57f9E-IU{_O%t>udjAI#`(SOf} z;0(kAQjr=+z&ob6K6BU{n(xnn`!tLIAWN&q&z}r{e9HllS!WFekm(9Q4h9Y}%(=kH zq0&@%rrk8nfs-=_!O2Nq04L&X5N8$~AgkqN1t-@OWZ>i+E{DL0;41yEq5rNA2fESd z;UkeEJIkqSpOSe!IiC@nS6y(=Bt~$yu~@RqHyW_EY)lv-VzoU5K6ZGa-|}tD^#i`V9Qz?9Cjl%Xn>wzLwxn%Zu#$R0B#2m;4U` zNOuzr@$Q0$sEvYDwe$tFwmh^LugG?ESpDs(k5j2gE)*yq@ymRH(Cp^a9l_?*N?nAE z*5q~Pcs=^Yw}8{xR`v+E65Z?(;a9grmns{5R=B)*k7cBEEwnuqZ{8CycL%gkcc6OP znq7_rLeW%1AVZO_>ozyXSN_F#$dS3=RcYS5m4ngq_63iMgl->hoMWorSPkVP#|S~> zciKlD6R``#3-Q2X$E3>$Fl?ErqsKXrX7jMfKIaK?&hW)QOKp;|z+mZZi@5j^s4^hU ztMeV4XFkwh*pltBe^}yhuvQ(s)=pBf*THJ-uYP@vWaDwjGQzy{xLj6i-r}bIvAoR~ z_Zu_b<^#)i<2tIFOstW?pj%8;6NATE{XAFg- zeC(OCJGAv+W3;y>d7S;j%BQWc+R7dy@gZwFg9(AtwaqpY|C0b-<)yePc}{N+!~mZ}4!@pik@|D#g>{KuUHk z$wMW8lpM#oq(1auEG3=Z@1o^_-N-X2_-&9zVlV!;dyY3e^dhln6RL-0vYA9*U?Y*yxu~clNm{aa?S05yf{v8 zaxV{Z+Yk6Ck;`m-x1HBbwoKo)_BXQwdF_Ebup{2yJC-C_nZ{k%9D4;AC%eA6yWJks z{_fb*WsdnElg*Un^;8^uR;H23WQ5qLP1LJ*gvU6T86JjUW@mDYu4X+s(ord4>$*Xf z!|YJOx%G`Q2ddd{Y4zst$;`S;ET4%G+g&C&Ihx-Ze)IV)<~N&mJGG5(dX^zxfb&cG z_zw5prSjx;vVHB~E^8^pM;h`7*Tn!R@Ttcy@pwCT*~@a;=!SZ^lSE(?`Q?q*8}fFv z#pNi<+%yFFKQJ*4>~za~7jn=m6g()ho!ciDN}!Zv%PTPSCvZx-iu_rD@YKUp&0N<`@F<>?P-6?Qp(1KfpNcJ+h~zb1I8A#vo`41R*nixn2vd1u^)$=y z-Z5fT7%K&@1OsSoPkxJxtgVHOpOl9WHtm5WtbQ%LsC9PgwD#lzCy(x_%H#*OTuYKI zdVi~LdU?2?_%iy|BQ7`<1B(dJ?*Z*C((8RA9F3R-qwu*SC7gups z@sc>4^+S>iKIiGvc$|Dfju?-I%n%Z{YfjY3%J17?nxquCL4a0?%oB&|A`w0AHqRpGxMiMRL~FPakZr{-oSPZ7Z; z!c4t!RXLe%|G_1Jg8AZ3`~LZ29C|EuE@wW>EsHM8WQ(*O-N(64EF)liwX>FR9`OIw z3&j=dh~^%=#cItzF5p>%q22PKkjxv&7t=_JzS>w_OMtEtQpNuHIUpY+(4U3iz}QZh zK7m~H%qfn^>K*&Ib2(VG5V7v*VrtaEx8>5}ntnL@=9D$BKr`AQ&kHz@A%@K^k+7xW zv;FF1=9|NqBpQZ|m^vuU@Wc*cC^sJtkL)Mg0d0D7RkmK%6%NRs^W{&e zPUz3C@r5;f!7v}ZlDxS3TK=SXb4pWr^_9HCKN7|(B*y;zYwJduhzT853jP?(TC$`5{KLl({HM=O< z)BlR@dpWjfoxb+7sm!u=XN+!C#Jid+A<6RXSo2h_Vt*{>uLLi^Az8*c%M3I>FsrIb zJ=K~K344ORt^oPd{=yv9c!JiCOLk%w7&JGVAM4S#Ca^d8^)jNVr_7zk-gopePI3J` zbfnyxmC~N6ZGIq}jeSd2#kN^wgVz7_94$rS zdvcJ_n2~jfbyPv9Uba6_{i?40uruKMDCp}WO#8AGn{?|+?1ty30&G^7N!oXe-P`rD zI4ogx$FiJ&d3o~#NgonRQW*|2FSj0`7kl)HFPl5}z8jeMvTp9s_r9s;?U@zhnV#Av z?fA__>ym8_QW1v@Sx`ardg}p??%PEUj>yM>SY%z7>aoCX^cQM6o#@(u*fTOBe(D)x zVmA|>nX>2q|DUp-4*Qp<>}VQ5YU=s$~*zn?TJ$W zYlOvcQQh!gvtrZ>^0JzgO#&^O&IeKq%Mx@e!ytkck37WI5&i1~ z=wwan&b_^{rtwlaxk}W}aRoy#eA+Vszu?lqK=tZ3jvAwOm$*wY3!A3#QTe)F_ILN& z=8=j$M}4<(@OPa_%Y2=XWdVp*`+=-jv%qt#S%BNcR#22yucz29MF7DjIu!zY>K{H! zwLK5diMwyh0qKDG3wagygN}CFCp1Ci4yW;C;~5OSy2I?&=58lcUM>DDI_J3c_cUgO zvf=U9KiTNx!aT$@soAx%M=Hg?nntHDc6*&nY{9Re_zW@iUkRCjNQ0LQ>-&8(y+6lD_|nAY@n5Fpt6w$_xC3kgPoJaOAB^By&ofKN#K-FBiT6I^#z%qe6C zDGvH}1*@NnybLwcntml@MNyb#%f_2(X#%mPW?2h&x`V!V5~!51&qxpGym*3`{tWsZ z?e5>opdXg%b;RFo@68ID2Ldrm)=7eQ*0c$Mb{DsnL=33z9u#P_{}2QuPeew8tL5BU z3hpC!oof`FMCR>&U1AK$lmVPtlP^8sPiRyPc<=vYzzL3-DTYoLq{BMlwVg#ZwAtHT zP}H?qxLLr(!Eqz|s&wmywAnpPXbvPOkrpJa;oIy3tgpwk@@l4^ytt>H)ccU;BT7R+sW>8m&(JGPIJNF^yA+GkK$bfByksuO?03 zDg{ID0$cu9=-UB9(YNit{TJ!ms98hl+nqAsY5JDWt{@viLVU5*wEbQoCss=0TQZ0m z)xr!7B}J5E=+Mr{Yl;rt%1hDJ>y|AWMXJg`46adj&!DeA`6KsBP@RR+a&^CU_Yb5i z*F2CRIUfdMb?XGSh{IL)Kwb5g0Xj2J7nrIuw?Jp!mshyF-Ji9VP4qgV7q^H`k`X-ocs+;jJQcmL z%WKX$;kBP}UwsUBfSBuELAH9H;VN2DxMZVfaCZU`ad;U+)9-!PThndq`F&1opLT`TIggg8x6Alyo?L`w`@odAyry=CUbG#Rg&cl1!52m%H4^L|^y1adM zTXqKLkPG*%$ns2oDLBOQ@NrClhC4Q7=VCsn$c{CK?hqC=y1WxReT6%H=B+!u_Wg{~ zde$+F45pkApOC|i3mMRi#L%txBM1HC{bD`=Ik+%VehJ3(n6Tk>wxBGH9Do5v1>SHQ zr-i7fKKa5kF*EPU@x4q!>}>(CE^dRX3&|zU{Kr&UtKTU(a?o$4;a{THIq{s%Y9OP=6Ai( zT#|cZq3hOSH-ghxaivFGF!8(olJFZ3@8~$1G5&_^W}IAozK^##zMr)RMl=#XmX|5^W#JQRC@q(w-spgWt5{fieZFy_vF z`2psHzjmDnin*@hr?Hb2f0O^ zS31Z^umaE4ew43Bxks8jG9Eir3}wjn$=4D~Gau-Kp)ZELtdEa((_{0uSRMV<_^JHH zooua7jxWF`r#PP(pNB88FMkSFvT@n_F5ht+ySfm2^iE}(4{_&2N#W_`ft%Z|xxyF5 zg+OO~g~wO8%rS@{4liM>h@#}An1Ll|_ z%=GXMwe0he>Khri1^ApRs0k@qj@Q7IQ-eqJZn0Unua0pLv0i?8EMY zn0H?kXUh{WaQ}xFm&Y8veo$gX1mx5w{>CvBLX`xg~1@j*F*yst-Pd z-eu6jFG{!29cNHW;C4bu_{EZmd(AP;h&98D;a>J|oHIY%65v-QkMaMH1#9q<8 zaGcl=d2aV_`@+YoH{v3tG*PK{*rLACgLspq>-EAu|GCAnup5a+{SZ+AIccq5Qm$$aM4rWa;9qG>89L`zKNKR z|8O}bJ>j2BoM1GX17ly|`^r0QjKdP3yy>0zJmiHZU^DaXo9HimzbOZ&>%33^X%m?S z1tF22h=|!T8hv^Q$lq3(zuGF8m@S{cia&h1Zz-TREXCCumJ-Yj zbd+juSP5_Vk?|~Etc0F856h)%ce4D6$_FRt#>=Q!3sw6+Pm2AYZ>s&D7qT?s=jG5f za-O^Zi+)%w;NH(mxqEdK=7>X1_l9XH4p5YxKO@9GbQ^qT zQ3n-S(qNO@W~T~k@a=rhhWQuAl6TE|P~AtqhK&tsFti7oMY%Lku=P^Nyo|S8-^6k$ zR{b6Cq8BSFF)T!|2rodDjayvP$Ma}LCqh0dUS8VKh>th_!^Ue6S;DbH`zVS~=DOX% zan&2mEgj7V2Vp+lZf+To{_@ddJE-7mZt>bsE^!pj0VXah0pw$^lk5IFr*`_d8CMxT zuMJiBFsO#U6!$Rs!&oA?w(uvPWB%?C1o%zg#5bovfRMo*<^mkXIV<*wS&z$}P7GVo z6khk>uPW?@*Zy3rx7uua!xk+kNQ*8aut(<-q(^Tia72p;GMFt*Zw$h=T!75zl>~#M zc?4O}u>?b+7ZGGf&nFlf%_bNYbr6_HGlW5NuD{$lKOOJv*XlMAQ2I zU7>cO_CAhpNKGf2-uI9~MYtT%Z;+HhQbx3%--Gx)C|b$yOnzrZ7w~&9zXyv%Ihn=p ztmq9iAHwe;(JA~EQO=HjiQhwMJ~VnUzlZUASk&Y}W2*(CBc2VNs^gXCjs_n_q#J@fHK+WRm&E_G+^Z zZ@GFK+L1L{AVL?xo?DcK_Ry=cqET@d3U5wP6qpp9)f+#(+isk~n^tBw2IF<&y%6tc zyc6(F!aD`;bi5wCUc9&B{R-Y+<9!D2^LXFH+lTkBcx~l&V<_H{cqib!3hzw3KD@W% zt-!ks?@_!T;XQ#jhBpH;ITY^*ycgrW6mLG>0=(DZy&i8dUO(P>{KirI$ULE(C-$1S z#WFG#QgEx-f8#bNRhM45h6)^5wnGhkgx3z@5a%9tKV6Xxt5|D6Wy6buPFhxF8qg<( zo@?P}E3!~W9V^NlnJyF#y(miIS6U9*yc74q0=lrNm%mfl3sOcc95>cOsUq^*hagH@ z+FSb32NEYQ#Op(z7a1BExjGTX@cpc)l!6j!8+6mcLodq2nkk$@Be1NTT}bitJ&k%9 zUu=hRZx@TMdjA?yz_I$Bcs+}1cis3+NFp3m;0;g5t~+rm2^Lp*6(Bkq2N4c)9jBkU zi81`4`P7Aep3{%sA17re4QM|vBML6?7e=wgt?)$SEGo3&L>8#l zEiV8Q^fu4;Li?wAWz4{SHJn%srt;WfUV-HDLrV@F6%@q0=y#^PkM3d2H}OxtRw(v& zM(-j-5=7@C7|b4Y*%*W=Z$+-6@AP^a7vf!Lq=JK*?@PbZK(k6uq-AUt!%X;oxQ-ag zLFm5KA!7t%q-o$m)$K+{C?pDG?k*p--p?o(0Mp*mYt}i z_V%f)5?qs8Y(8Z#X}cp0t7btL_8(!Vd)sX;Zh$v$+y?}DHEpG6m~QN$)(e;ILRrw2 z!U+}VI&P15Cthfo`36->Lb&5;H!j0w%ex9W+&5zN8O(6+?#o6%Rn`lD`!U1?b8cTa zf~=I=PeY?4@8J3<-T%K2y$A4EBO-YBU3Z`haxC~ZFP$5L8iBE=4xhX=7xZ@=c3fv+gF~f=PwHuhI zob8M}ct(~i7p)aU4r??luK#`_ErjD#(^>_>5J16z+*-C{^8?Z%$1g7JpkU#$5L`9V zC-l+LNaOyMs__j_1$F#4I`)XbO3$+f+*ta{PeHByjx?x6?QOc)+_KwqtjM2c#&@d!2PG#kZ zPb-l6{xCvHVK4V%>2_tj(m+A5+=+rLh-Zk@vt!?~lp@;9)Wq@7qa&HPAWJBfKzF(P z>soiY91cs%I$MT70eyGyO%!&fKMKcS&+!gadNJJQ%O!366p5qfi&*S2mC2h*uulN} zZJZc|X{5*|%yoxPfKY^q47U-S1Z|VC-b$odhg46_$%xqus$I58Rk`M>?x|<6^Z&wE zp`U=m{166Qe7A%(6YdE0wc>uY)_Ze(txdStQ>pX%D^GIg@9UloBhkA8r=kCeL*Fr0 zEJ5uAtyrN4boAD?5vcmoJ7!J2vuCQ=249V54fi0UXnj{`EUya0& zGAfqRab2P7&Fvoy3%@jO@3SaO1~j|e(0se0Z7s+5+hflnm^*@_iDH+>j^J2+eU2|2 zpYmLWEjn^Ye{{z-8-~o`=XlHj)ay1}AGLcnj6VLHVGJ_Nbs>0ltk`gy>+i)^xHz5K z#qHxdD45MN@#79U3!lT}I6l$STF-ULa7iW#JEpntb3T8r=FenkmzwLbkpjzre;mg6 zz|>s#XE+p;A)suHoxxD`H5lOz0bWhDH*((`RD#IdJ!tr($vredwHV5d961P~F#2AG zgY}_wb6pocJmQ*G@~5bml1J4IJbxq>+>2Skk=R!rn!okKr=K;ZAqhi+nGk)C!lC&T z)MVD4JOkx2Xi`1`*0NrSJ|=>NnV?Y!14qqZ`EIccgt?9~&s4i59>Cp-7AoxfDu~Y_ zc@5zqB&`$?qb@dsRy0v88G+k{*j$DHn(MGfBxc`Vcxugl*@aoin!lW-iN!^1wN*Ry zq2wk!#AML-R$wwnjL)c>m8-6tEFgzB(02}hW)8=^fX7)J{)k$Skw3zd*meY}x#gfe zSj5b6Aq#>dBLCW}BOU2S4S{R<@~G6(9vyoeNeg-SUWfZwS0?Tcy|nunv{}aOKnXJ3 z(5Bphs|L2gh7s->*Acv1sF?+&R$6eD&=(9|Bd#+c21mg$GmQ*@%djpsA~Gi7?@H}v<+M9^UgV_%@rZm03~`{< zv9;g8u-0gHo8Nsddf^|LCsC)+;fW3wr%Ynm|5!`q2&1(ryKA#v>6>CPO1pvn&*Id!kJqXLqLcJ8aR2PIDUqfR;<)`P?wXYlm zo)B;Y$>$E@N`!kyT*TWFoGmwJr<>c4WH;Fd-;9$vjtp&bkT??dTtRH7ym!RK(IG&b zxGfFHB}yJdpO(EYTsMl{jAv;uKY%J)_LbzmYcX)=4vMy+Q?O>s8W58hRLVz{gn9?- z=r2F)@0oh6!y8&T<^6TLS2Y&373096Jux&!CuTv|(T!rEyC8DQpU=eBPHjPCf+djv zkgyS*;}Q8)4f#W-5=|dmeNZS=8856xvbak~FARP_<}~@e6nS*t zYNf8c+%JP|QP_uveR+trUG12VU4cy^xY?^7N{PHm z2AbB9gIG4enV|k~LndxT@H%}RAGmNeLdmoI`B&)R;jqx+19%^TK1nQ;8>xL8UFT!1 z1ubSQvJT&P!pMl%Vy7J6T}Cc~5#4J#ix2q2tN#_3HU1o1y1Fu$ z>m89nQ;rEWG9OgBiiWKI*W*1HGf zje{V6>u+7%Rc+p1+=3r8WZ2&bO>=)ZBC2C1pShl`Ablrej92f+aTTIYcYBWQv<0V! zi(42bZ@8q)-2TZJ?QQE_VO&=C5Pg?k3+^Ax7u-dTf7x4ULeKrwamtO{gdn!=a1%n8 zXc1#Mzqt)1zdLf|EzH2~X4mDeF#6B2oDXp1F^b1+v7ASQ4IEk82|M0O^tfmKLU7ze z5$rh0Z4H=0&EDHwwQuSf;n)KwSP@*m5)31s!&#TX>E*tqz>6LZJ=Ag{4P*c2m)z08 ztkl!-nHe_GGmqf#2Kd2H7t2tCWE0|k@P?udp&#RYh@oe@j;pD=r^52tadU$*4T*<) zw{b1_Zy`lRyssx{0(%3Sfp`S%t;k*^`a|OGwXg~KDtQ*mi3hOSZsr#s0E_W%irI&e zw|H0u#uAl-xL%YV?v8FppOTwmWaQg%{TMp8*?Tt>?VFYo9&Y%^#(c)kj)?Q>qJ1;R z+Y0b|toX-X%mE$SnTZqo2Z}(mzk8}nNQe{#bN!EyeiR3D-FNXNQu(c0(cKCccTqS{ zaP|t}fRG3QL5r0K!LbMlyHT;6m*&z@kC2Zkv7Fz62eLo%2D5g6l$8A@Gjih#=;8kY z2`O!<9ML%et&VQ&y7IR@KE79kPM!ye^Lo6#OCD;y1}J-VwWoBz0mbIP&5^Lj)G=& zSK4IgN6k(1;2hB7Z{S*CO!c=lriD9jMe*^!A`3qoymbMC(bn)rwa1+E9Cp7|+jmrZ zTGP-!&Gh5U#li!P7+xP}9EtN%3L{q`nS_2by0xwKs9rjw<8Xw?_2`SEZ}ik)xWx2+ zANumG;@+Z?!j49D^oE<2W9kMG+#QI%GunG>l;Je&$jILPiH`G^gb!>gI38*b9x}H; zJ*2u7<42E;nn2l+O|*U~q7dDSBPGs=&%(|XTQ|TWt_Kxv`#MqTIQ~Z3L$MgA2!t}$ z?_QO**|q@^5#iWPrL-KiaqjS`EJkT!M`)yf;*M%0#&Gkgo6xB2;8jfN&WRntqv7t3 z$e81Abo7mxh}kFPQ`qt4lQt|3i8vv;j(G=dIL!l+b|!QMJ2?e7o5v2Ahqmn2$Q<@_3aT25qy z%0T@IsMygf_^%fHt8k|zg1c!FMiW)IyifK~Q$qfA7DSL;sMq(3;ih8&IAKq%H~d;G z=M!+kF`mf(g@}=ubm1V2abrU%(hKA6?fvINOL-h*0dqHR{G#{s{?CIGIZzrx9sEcL z2Q1+L!{7XOyni$ZLrr}GCvH=K(g2REb_=2JNypBnj!WR6@1Cd^wvL*r+U+#yLr zBOha3T8BE$pW>4Aw9H(KE0xpCws|I+pkWZUBr-J7cAE=cM*ZKT73*Vb*y3YYw*%Vp z*wlboBM&;zSk%78xAw#o^hO&m)Qa={YcOZMybAXt^}Pb#pvTbRXd1_n&n=v$aN_nN z`7~22y}c7YIWnKYBI>p&Fc;zWT;A<{rI!;w$9ufvb_jbs<8&xA_k-yAEOfm7bbQqn zskN}$T!R_WmYL80m95x%u6tISdHeD9q7(7TH4Hx{TThL;0sG-$8mTttPqvHiD<_}I z#{|i`_0mnxC+2&fRGSOluQspTWj=`Qxv>9M&X-{KWAn}lzm;yTy$(C}LG^a`MiVnRO(BC$6#0=rZ zo{v4|qHL@VVvJ>x1V`cA|5ZL;ntzM(n`PgjQ+eJ-FP7_cgrm zwH`?h30~NV$u-OT8XV-T6b|lmGz+*8UBo;D<8FBGoN%8AigWUJ0b$;cAbbRdyYamb z-+T|@Jqoi4ZW-*!3k8hRAf4hHcAPnXLemMm?;`jJp!3>ifP)t@|E*Ed{hg4pg}pGt zvO?Yqia#Q@=q0>=291&GzzcdJQplkW!TQdeZ2~%vQW8dyJ;aIK-q)}c@Y&=-L=sZ- z*S?Ri_E5bsG#a58`Y&H%h3D7{T4Z}R8YHhiuawlsB=x^YeVo+G6Z2o*LPrhA!3*(G z%8!@4LmVscA&LRc<4uH7tfzaYwC_6D)N{?wgD3CD*Qrr=!0xWk-uq_cOE*p?FBFx z`pjk0@uz@05AFVsgbe>Dc0j@Lh#kA43tt0io1Nazy(4(XLMx?uMWHb{^{c#e{!@AwMQ>CpEfg->$b79Rhq=e7~~j z=&rXGzPszKJKsYhkJ=(Q+}R1UUf3IY0eyOF(S*^2hZi{net6NSGniM}b!y>Gyhxgb zotBU?Rj(8Qyff!Zg!`IazGhe7TR9KY&B?qSyY_uH`8Ond24Qrgmm}mObOmBEGy`@Z zk2fF~k;|dbV&N-`Z+yL(woi-~wsUCvbF?ZJ+t62V>;^gbC46k=2j%m1e2A(JejG*+ zBG189G@VoL7Ps=Qt+3-;H)2+=hq@!|u%P)t9WK^XE{y#7rFeUOT|l+x(IH{SXCK;( zjjcA(yrGYSHW?%7`^GzYs%5UX5>?jBaYschT!bDo1|k@bcrdq@Zrl_evDe?0-aZT6 z#T`@UJbdSlY2i249&U!LdT>j(8>9bQ_yL1pp$CdYm~i|>EOsUq99dlW-=U)B-OaN$ zz~xQh^u4p5D{7x+ix!+^mKMFF`QRF1FM3{rnoSoS(=hnMUNZU+9m(4t@eOaILp{x> zY-kO!hukbe--vO-OtaIE?oh5Jj^Y~kmcO8f6lgbEX5JG)(M-LDK7{*W9IY?e61UFt z>h%bEV#eRSXZ}#x0QbzlC=78`2Ci6S_XRWH$gOgmPmTe(FSH+Xvsv8?hECWb&OGE3Sc zg%`_7(+jituL!&~mZ#t|Aq?p<>xadZyjf}lNo|0J$r z9LM@cv})C2F>gxFkzW^ZoPZgWOkvR*#b&#gBGErGu-&no(H=2ha8)elPJBH#XR7U4 zGHso6jm3-Tc~fG-wFBNn9nVtv3qD};3VGd3ACUZRnfzh~HF?A&v|3npB1=46ujqc_ z2I%95_hHvH_gtg<+|r%tIo5&g%0<|G-QBV~9atu$ts9p1qycf7McDt{(rv@Hi?(oH zTW|9wcf$S=4@Oi;#de1VK^Ng!q^g)Iifq50htOnTz1)3lS7y+JM(nCAxr_Pm@#t(ArsI+v zbNhRPo3frwhqIQ$r=pW!Y?H=WFs8O{%i%N892g_7XnROgX3OEz;nOWgoG^6a-bEN@ zHx0tE->#O!A9A3&od*JJYaW9s+W(q~(vPJ%)WFYi7_=TMK4?aUdWRh6X70-n#wePL zy^%@y;<`$K989ZOXVlkTlwf&GOHzvPd^02h^aM^|$~hClVCFwLzMruVJ7S#}@lU}7 zLUAvarZF!y73LV*eB{R{v>;p}mZC6a^+x31&%|QrT!ofmV0TB$>IQ0rahVx+j} z+MGV5JuBfx%x5@-#HH(F7J>YZW6*8p z%e>)w8LUsGuFO(19|zc&d042}hmjX<4zS@IJ|0$8SAU|kM}z{1$nBMWB+bgmcr@l_-g9Q2 zJWFRObD(8r$Gcz}%Ib3b7eCybAOS)3AJyEcJSXwE<44!R3OW&(C=*v$^aby3nfVtS z0BwYBe;U6=q!z!B#axt>5cpvx?0x{8%RB>782QOYm@lI_B<|yWulc)CWxzsxVou#7 z*8If9H7`bvr@=uQW&^{RWWEtySsTRr1}fUSg=J-}2i79T;WIqNJ${Z%>FHqM=^gZR zh_}me>>UPo|AbGV^@m=DKeIiLk>ZVyGhb z7&szwKLNmeU12T&v4Qn`sY3QJLg?0t)(Wv7GZrL^bsu43E*U)$tT~3EHviByA52e+k1W?IPd4 ziBH^d3%zyBIdx%~I6BDva91=&ZZ;lp9O<2pTUzF4?p-1FnQ>>Zf?!u*l%_(#+w z>&Dg%d}2#UxC4`D!*IYrCUp35j1?4sp+ltfq1NtXK;q|{=rh^;l|vUV#~!`5YsUci z?dTojJk67ymTl``eduyuarj%T^w9UjrkLP#Oltc^KtF0x29EU1Ee_AWI@@Q*tv`jG zO{2q}?4rV+#;ovdnf4w08toA$f98SOcnJMP2qD@fdW|+Hx3l%auxEU$9nPR>8$F1! zr^gRs9W*y_UYsa%SlBK76E#ZOy!(rBNg?+MbHx_9o$cw$VBzokSNuSJ4?$Ku&x`~T znt<~@#^a;8%W)EO;uIpD>hZ#h`A`i)R_u+;MRUcu;6YS!8wBkk037)O8#KKP`QU=) z+Z3;TFRs9Y@_S+D@+>ZNKn6ON4-*!ngAgk)JAhpV#q5*g3Mxp~Bk+@uR`ENDcmSx(S|t+l)@GukzuI8Q~|t@Gy82rT>!D1M#yjU z5>dODG-m_?16{tF9Lss?!uR50$M z^_-Dp%o^lLpnMQsIUbjNCJwFHXG*M7<3Lm?>^K4y3)7JwpF)puPP)I%v8(BG^!S(K zbpQ77SF%g&{oz}jK09>h>PFyz?-F~&+gjWm&Or5E6rOWQQEPDldIDbh*&5o4Md5a= z6ZeWRbQMPkyNW522D=VV*h2Z}9c%`Rg2u4Xz`WV4$=Cr+xf*|*^~9~`gK;kS4Dr@*h> zcl7liIL)O=JeK+3mcL+@YXmN*K*d_Zlltb5&-G92DKTfg67YvFnSj~^d$V3?x}e&# z_K?wE()I%boVmdRrlEd+7;Z(SjJ_V)RDY#s2G)4|_71KNn@_n}(=S9#-=2%I%Psw* z!=>5&!k1CUdo%5O{Du1(hv5b&SU?^BJnMLHNj#!2rP^rJ-ZP)6N5Mh{LHtlJLX8-= zdxz2_CIx&+g>nF9;C(2#D~;e@d^ zgDAXjK7)O-J37(N{x7j8`D+SuxX0XrxvO3ii|Pk6ec(By8~b-Y@tF1JVe3Q(eE8UG z=*HwucZ@qmgg*@jvFyX0Bf(ecVRe!D`kTe$_S546kNF4eO56kC_M62x=Y5Bhys$l^ z9t&;3=V704C*5EfJlGTNIsWFjp4c9orD*N&f8g}coMaI6rz#+&{V12Xf0L+lMC-mf7&JdNiU#xZ3jc^UAu$8w>Bbyj6%ywv@|7cUWET( zFZO!lcnQai;m5zBryVD?Gh89*4Df0%o=0Yi51wxg%mhDy^bKgjxfEBFujg^k@PyE((8yy zuOlkGj{MKl>(c?#YxR+{(~D*f5i zUQeeaqGPxmf?c#z2=@0eC_#BiV|l4f>xYGANR0U)b>pRAn-FZLRj_Gc`PamHsVHe? z{ahzLzUsoy;sU6bVB_PO+no4WPK!m92yO2=?t)hDqDuz23EbOaz!WnEAeP z5=u#M`(nFcSPDZo4GU=Kf=K~PTr|NNXZG;WZ^+Tt(z^!gG1BMs;6;h{g?j`LXoe6B zL;bL62JI#s54R;6!G!&@+9xh1oMh|tOSGP{eG237@|?p}Sg_pkvhQh|di>^Z->mkT zb)B-|;us!l+DJJzS#FV!Y_j~Vi*TCIqLXN97M(8Iuqf6ElaGOXMw2s2eI}m%AmR|m zMW=*K@B{uS@XzV$uSq=J8&TYrdl;>;$mIvU_4~OPMFCo&&{H$e`6K+zlUBO;JRhcK(;!RrysKJ}#rGwS!I$dw$OVvL3Qgsf#R86y{ zNL0xHtXlv?rBY<6gsuGzRJREK5r+Q=!+(U~Kcd2aM1}vzS{eQ$VsY+^hyQ1m@UK3i z!_O}netyaD^Gk+*^$`(%0)(Hy8vb~tsLL<1<`=(2<|0q8!E`Aa`pYrWkhwWDiJV`UvV>oj7B2e+)grj=r?ub>6VeTL=z!c*CAdZ(-5!%#a_SPJTLh zQ?DnNpSe&nZs~Bb3Vab&;27me@CVxc#USG-l-;2ZKpqrrAsTo(H@v?Xgn|qu^NkNXk+|z#4wgMJDD;UBJI=&&zYoW-i)XDj>_lKNosj9b z@9`dg**9gMZ`>=vh&Nn%0`6|Z`9n8i7l#wy)9`(z`W}n#3#D<^x?`bjSUt>)VgFfC z<{9yOTKs-4eou+t&&2OZ@p~ds^@|u-!as4J$Qg4BGA1i@D-s@arNzvdzxbYRR*!GH zipZHIxamQR)n=aHPz^Kl%#Wk6T8z+e*U@W zZIb@!oP_%sbbms*XJ;0%c#U)&fU6>4{7p&tgT-Nz#~UU6M;3Y#V=f4S@tU(3e_Ilk zSR5uX{*I)3E%YSD-<9-yE90aj`<}Eg_*@MB1@wm<(c*ZF-Nr6=!7lfPUybLIP~Y2V z=O7h#Ts!Qm=A%p>AY)7SEHxj+bsI-myn@Q@DCOq*iSQU}?R&AZ+xKlL zulCWm{n%VLP9jfUzHghk{;!zJHn+^|DS`n1c=ehi7qz}U_HcM!F`@5w(} zv|;}E`^_zr{{yxler@Sv9D){U?Hn7m?ShoP?cPv3ehsX&!b)pb#}S9E%l09pJOW{E z&ll<1j8ud$ETs)8Whf9z3Mp)BCEZ8*DN6Y%TPH%Z%eLS4em*TcAT8w6!U1}5z}D4z z3gzU4Dkm+{!kO7|A8fmX9Iumv_ehWh$kurkOU`;pc!`9!S@hmkE*_MGEeRKGNdou~ z=np#{OZb$KpA8`O{Sf0u=rXg<&k*QiX#XD*$v1n$Ncp){THAoJex zJM0Y+8mqs{Y`vB`s}li)4N*UeGQg( z)x7^5EbzAdaP;qfc~R?uv0b)^gP*oo{t3v&V^Re6cqkkByAZ(6w%WT4>8Q0cKgt@o zEqyku{vT;|6RcjPxF%cpzO>LxUaZ+gnUS1?fO6Fgp{o$|{LbUAjosBY>E407dR*F^ zdM-{sl=PA33<@#?P8VChU z^89TTxfG7*c?@eY!U}BCRj2r?C9a4$+SiX=s3@!~iRSvl+>(l(hnEU`rQ(PY7NBzK zfGwm75_-swjNgPbyF7P$#9k~n)UA)A6E$V` z+Nr3H+s*HGggc-E26M45>*&KJZZDQa?&_P>jnz7fu`5yllZ}FCu`ezEUKe0=KFBz4;MFtZ(oW<) zj*^452{f0_m_4l}1MCIIm@8ZhGiuVY<@ga(rhbm78E?rE4q^9Ly+?OM!&O zM}Bxrq(B}r$^{CTF3gNX~XU&3{!^uCyx4gJ~9Z{#>no!GEQynV8&=gwh0`? zqt%<26a|FuC^R-)Md9_`v>g84et<~pxkBrXeD!@xXleN$3+;h^YiJh%+Zef6h7MyA z1a+81P+@rUA~qm08Wc2Z+B4vh_vlQ-{bsz3})k@n}W$?&H^`gq^F0G=huJEuoMEF zU!W}1KAuErON0=m5viK#4G(Ym=@WLt_)tW{T7g>v``*LYJRXmnIFwn&`rngyZW}}~ z7s>HRoWOjFC+!cD7|9Gr;yp;?qz9gf3dzYf1F3@hDA_Cpp(;Fz5F3@F4xzuG^HAmP zQXSo_cnC<5+A$(%A3-}T5t-)IIM;cII3YRmIw)s}{I>LXq@Ieqbc1EfYPS(w+_Jg| z2dVhOZOyRes~nCyR5PF$_Q;di-xRi~OH*+~LQm1dxTn$6+=i( z9XQ06YI4Ngw3&h(h**J$<*Xo6R7i9Wom#l^hYJ4%lYuA5(mm9ng_@pOT0P(^TQSi?S_9(bj!J8Dk zTfqkud|W}z^t@@3-=zvRTr2T3g=b$S@jL~mE9h77ZUyTUyidVzEBJ(hTNQjs!9xn3 zP%!;!>CbrzUZ&tw1^o&xR&b?)k0|&f1ve}BoPz(YV84RK6zR_h1t%%^F?*AEN)>*O zg6kCAq~J3O_9*y{g2pw{{b&WRR`3=D7b_T4@KFVSrr;kHd{x1B6#P`dY?UwL6`ZBu zR~5WQ{ zg6S&%a}~@}aJqs;3YIFkSizuzk1F_tg4-4BR&c+9?JtM+VB30OZc#%iB#g9a}scZ~X1OsQ4 zo0|GMnk}no3K*$n3N$0Zps8|cfaPT%76UnTRn~`Ut6X*UL3}N1s0{=M^ueWkSWy#P z>Z+)7h3f9Dt6x#)s;darEDxZ#R|Xn_3`tY4v8HYbs(^Y|ZGGJmV{t{5tD>>7VwI~d zu)y1V(6qEZm^a@$+Irr z^YWD}7`Nf?3L{{w#EaEmqtU1^8t@mu*A+&cQEyZUiV7@1!}DJ}zD|$B*zmlaZsH7> z503%gjMrsJ2W^3Fw9HuZn|wlbXp>O6pnW<^Xj7VxyoQ>pNv^6@wKa=ND}qb&U5$aS zg=!iDO|GjU%S+Id)diajSaK~3H3eOZ1Fi~JsHQGB#G7feh6@=HfXR|*ViG)D3BFZqHv<| zt#Z|eg04Ge-&#_7>n+8%%rEob>M1Il?<*<3_4fI94d6%xFV)2ykI!FRWOX3h-gEkM z`z`14DdF&JzmzNOTOz|Ot@{_tw#5~wLy;PdtBkn#&#zcq%W5ysP|+ALnrgltfVd?5 z5N*yE<8F0!R?wDK)K%36&LK{ccm;zO7ofWOx~~Ts>kUO?z~Z#H$R$izEjQIHsYB*| z`I^a#Yl5y>HA~RT(#69t_WsY?OE=0^?p~BdzUpCl%mePmJ5YN`Hv^SN@)@AJm&ej$ zNuCNcOLdb2%Nl~KTqLo`p&Tp=oGtRz=sCKUimoHXA2x23y-80H?a|^;FwnHXQZ{J= zWtNVNxy$ASD;k6I&`o9gHFw$Ez>=D#V4!hsps7C8i0&)Qz|9Xs!{SYo>s~Z@u1e(1 z5(;}&NHly2yQ-R;?lP9kK25w$46F=PhJutiRxi3$7R-(Md(nhe1Vc?mBO)7UY($s2 zzJYybhK|KsCq7_%PjY=~{Pf)YosGzg{XMAv@#=^97a_iH;QEwq2FgG3VZ*+>qOqm| z6-z}Wd-+C9-O>R1^Qe*<>T7E%R~fYxivzXH3fYHe_x=_n{Q~3GhJfzS&9A>VP)9rB z!&g^b-?&UhRvD;4fQR30vlTRyqL+@6sIqjX*HmoznQs) zPvmVyP}Gjd|7z3{$TQJ$psGVIBKbuTYC?A<;9@7Fp#h~b5s`|91|*wsVX-|xhUr*A zVx>fQMH{vt@7@3erFP2I@rC4;{1Ukcuqo9MX(}Y zvr$1TUa1(JU7i#H301tZCO8`vwJc|O%PJb+aYapVPJQD%h-7Wx*2Ns0TK^NKz~#ttK}qkxkAH*Ojh;GemP(v6PK&qiQZ$*sf?`qPdpWRJaDpHSG{p z35Jlq63>mrWktTZ#j{22j7})(==uJ6D9*LDiz_Pcb>*QjmZ@P!nP>id&uniZ0yXIC zptD;frw3elwX!alJ$F882=slfgy5qTRJu5!(3Ef|gUx;wgIrn+iK*a>6NNKLS`jr> z9oB_vYa4=%F0@SyxlCXrID(fV(tqDg)2d~Q>uU`i?6@CuJpOsbX!}EpF;ZTR>_z3_ z%B!mvu?RH*)T5N=qhl&Z-m;f~K|6W`vZv{Sq`?{(RExR|JrCC%l&P5oD-FelpLZ$y zCD@W9O7ryTq9#CvSD@ux7aP^AoU@Q5(UIpx0nQ*K7uK_zfjs5x97QaN=>R27(({dF zVh&J5TN>%mvrR)$6^-CPZC{>hHPK&Y$;#JVe}$)@uCrRxeCB#eF*j66HqI)i2FvI` z6@Z~K%2~Hx+`{m%r zKB#`^t`u)`3O{n+2(wLi+euU5wz{{5N4wty{yN>P^xhQy3`2hkZx|UpaL*?buhqRP zCEe&p0nFSf=Gr}Z4CLM#KH3rK2B^cQ-P3f0Dc;MEV))eF2FZ?nZ* z(+#-MJgn(MK72|+*N>IHDTNn#Y#zW5_n+1HXoL#Cnitmd#XZ_wL7hI@yjPjKa+G@o zn=g>KhMN=~cdz`>abp}97ls>Q!azxO-qmDjLwys1zo$a(wh~XcIYp8Y=qh0@{4wzMTz>v%C9GdAN}lwS!%f5aIYV$ zduK|#7$z6Y7-#F#pxmd{7o`KZFNaw}in(@Ao>u?0`^~*lo;Rs{yKj@se+{kq$GAAb zA8v$LRaRjBBK0|_%EuR&f8PXtxd#znzUpE5&I9hoJJ5VA-RLk`<0JUMZG-Z^U&Tk; zC41J5tOsGo;KYGgQfOL+uAyiqRqyfEd1c;WPf_t)gJblfTj!xSumpWRbeu3Pf!8i$ENnXrD#d>5z7Fx!GrlEnpwfana7g`7t#1XnIMva5j(v#Tl8z%F)^ zYvq@(an;w=u2N$%<)}i85%csAR0eep=1I%IIp08+vtBHgfT8SrA{bxC@RWl!RW&dL zkOqfj{*;cE`AoA7{810ni#W?i57K(;Av@hDs%rl&ct5_Khf$7@uH|T}np4{=@EEAP zk}scv;(^O+0eD&;@^HiKZ}~<0y@yr&#>n`^>t$7cwkz}Iv68Oq*ItF6tA2K0D(!C? zr{EW;pPLc469_ZH6psq!JM$gLHr|2SFS^k(Yn5;E;ZypKjNd@=&Av-B@&R^?W@XQH znGCORj34rb+LFiSJpJa1DVXfb5>|7_DheYG~!{9W&=@Tv4J z$d~@R6*MlFxKqIb1+{w}cjC=+(Eh)Rw8E<&(f$K3$J=Z%*L1qkJgn(QK786i*N>IH zDTNn#Y_|A;^a*0FW|?-Yp*F{0h-8~I$x z`Qqurux|oixRD;>x8Waf&#*FFaARO3E1rJkzNbLRrD`|g{hzC(d9#8W73@{8UqR>9 z(w<8}jcZw?XZ`R$GlDi=g`YIh|ACo)-1siXo7#`ibn+M|f614R>&Aiex7p$c{Uwi$ zf5$KKbM_^dXJ<xNleCQ?OjY9tGWBk#zdS#~S|4@H+y3 z;76P$^6ID#5%LG$e=Gdtp>12kPriX-qk&^tKIKPcz7#AuJ3P6d(_fCQIgW;1WB=VV z-pc;C^qW(+{`$U`ezRaj{mhHIhi8}l2Ip}6X!73 zVJhg5?)>W{ztsG_908uK0}aTy<>6%=#+PYN$n;}6vV0E3n}PQNyzGZ(tC!}`1{OH= z)y~Juww30?@t%j5X2eIRZ>|sVh<_feO5RX17jU$KEvMoBfO`SI2IvF4AJ7lTc$Wa)3wSFa)Acq$=9zw6pUCpgF!0G!IK#rn zt8j*i&q9UMFFp+lA0$y@gTluue3QbNmVCAM2)QqXZhsQqj1V9pNPUQmZ)(; z;Y@2jnSYhx&6B9%Qn=28sS0QL;Zv&c%Oz?oRXEEvpJs(qX8Am!aLOp3tqN!P=hLHb zmJvR^3fJq&{R*e7iszUNuO5Iq6;9dX<5D}@Qn)py277OILi*7tqNxy!>32#_es=q#&H=R)|Y%-3TK_fr$FJTHpEk^ zaMr7Q$`#%$Foa*>s}6Dtx2D*C~9n z!dd6?X;*kts8T3?R7gbzEN3jM!MZXhPSg|$R-N%^Iu`!0P@llXB+YV+R)zi*%xk&A zj`jTdx;m^$O2>4slC?rMuDnFgTz%hxSU_H7!y7^Kvr`VWJIl@v3?2lISi=ji0}(FfIu~( zEK(uGoMU$NR5sQ_NxmwuyrwdMIM(TU7s184kXXuh=`>Wjh=QYXAy$o~vXX0YsA-i^ z1!YC9ddjSjS}OD^p?JhOG^p9A5wJ)btQ0mut&xwwg}M?oJ|r%5Ug9cD!kSU77UffO zT&!k?>X4aGkD_Xwdazy#&Hw5eu5LmfWVue48t5@D!ED&#RnUEIg0dy_HRuR&Z$PRx zK+6b(ntBRGu(7@t^JiKkN^pkmC5G~$2Ax5AeqGB=+cX6m1dK#{#h6=MF22osiaN%4Et(Egh~Ta z=}p@YRW8+%$<=R5sp9wp@B*&8e|W8lX5W}&L&YFY(7MfSOL zt_iP%8Orvy+2!O;9jSPci@h4QflXr#mtRDKN;8 z=pYF)1{pR%9wY&9fo2R60PYN18lA&E0dNHc5Ois7BOtCI0bjVc1JHi}x|dJ@L6^9V zfVhGL%00dqennT1K+>hTP2&mzh$ztibm>2U@Lxb-3QLT?;7>qYK?3E!q^Bvmf&`K- z&21W25FqZq48L9SPm_>9x|g_3;|c<3_rjemP1#ovK+&bSP2&n?s2mpYcZl>)cc}Oi zGXF(o?bDPE$q=!2F2_-7hAE=TJkw3I1^FM<)Q9uIx ztMX6x(p;2(m=l$BY0mO5a0LP4{tN!daKT?e0%4y8AN&Xet{{MRFX<@og03KdqDym> ze~ByT$gsqp@dK*-7m%p(U*N0;r2i5E)&5I53cU1RLZFH+ag=|FE0}KaU&IduUb>eM zsB$lHlz)jUXivBo?oj?EUBR?CU7Fi8u3*MM`Oo}hvM~Pubo`04{Hyp22o(P+|4B!N z%kWDGRM91l{Fk_b=??lJ+}j0zWVm!MAy7q^IPzcO3fdFyg*(*$lCEG{oG#668duOU zK>U^e>4XTK_Fv$Lzw%!~dwM+llAfmM3Z}*B(%hzT1=G*=UxnW;V47X?m$*&i3fj+d zuk5Eun3hUU!DYRlF(`8oD!+^jRKbu!ha+7>emm0B?WwpnCoSD>Py2iHRQuW;-P+UA zZ2w#Le~*8vf7)OAohJHxGQBbfXAQ|7I?PPQhM9)wxM=Dyld_>P+Gjc@Oz1v=NqRD# zz@&dNA2dhlzs98dbcYpBUk)YTw}@pTivHSlHDic8ne2$+E24fEJ07kC6>qq9skV1jIEBp#1ipO;4=S7k(^}w z6LgvXRyzGk;2KMWj}m8fuQAO(8P}NAy_G-npS~sN$+*PMjz8V-mGYkmuay4;&iE5c z@Mnw@bd4qG$@V3d>c7=}x+9r?GA^-X_g4F9c4Ag~GEU4|h7GH4bGyci+WL#pY{wMe|G|BFhafv0nx7ugtDGdqxOn<9;i6y(Y(wYCs@lVEy4HSQ? z{~3dl{kP(Do6MgvPS}^2HGIkTiJk4g)qT1nnSU})EY-c$ewsa%o{Z}n&YFK#ep(us z`^n{B;t9K2K4gw-`w2|bby`SVW6AzYjQ+{|r(Nw{mUxY8%<5i#OZ&S0PtfI;#wFCD zko_0NiLSN(5=;1R#kF0{PnUlkKE|Ie6ZB+UVyXVqh4hc{Pj;V-ODx&F)xK>1t#nco zII%?H7?y+<0o@m(=}#|Ke=g~A+d%>wm%8~Wd0}Y%krPVng6No zt^8&CpNOwvOSVsJp!g@kPin$HS^p<+NwxB4j1zQ;S?Q!EaAIfsZ*|WWK4G8!TXABk z?yYpT|H<@ZJbS3Mgj@4p=68acoc~!vB(8bu{FL%fOuLt1PtcQbiCN<(b3EZ*mhgo8 zWL#p&?rB%sm*w9|CnbRs({YgUEn{r;pJi0@llh;(>DJ0mmw#=a`JYTr#)+Nne}X?l zlk7ejCzk5oYMfTCc{wLFu@yx+rB>u_%bADQfkGzxlGsX!zv1EEOu4WeF{AB%S zbuZ_Ow114hm7ktBO3;(zqvuV|MNjq5Ic!+=unHustD>E}A71!pZWoBfg z|2=xDeeI5JGt$%3{K_JuMAuUdicaO>12~bXpSE-x_N7r17PDt3A@K zxVDq(UgO$-jnh59HBPAQkeBvf(@FbV^i=!K?Ci|!%*=GYnd#~A^iatn=R>hRBvXm= zm8hV&UL*i;1qA>B{3Trg;0g*L=pk4*TZCsX8dzKOt%{Xx-PjS_mbS) z5qxt;jBskm?-5RCb}FvTNn>B)@6l83Yj?UI^1pTe_xPv!r~OUs|LFcyDopJ^rQ*&^ zy(2;^P)RvU^q*MzWZSL#JH++4!GNNQw4vlvb;O8C`x5GLfc9Va`!%kiD>v7f>vU%F zW!NUGU}>n(W(^Cjx_Zhr*M9lBsnaSJS5^h8mn^Nh=ib_7b@dHjYs3*k%U7&irM4i9 z%^5yyX!ejHSy_YmWXfld^#Ri_&d-xS_L7koUXU~5{PWHmK76>-=``^Slh07`fM4uP z>@?ob6+AWaypcojrYp$3Q_TbEtm*U3d9#s<>;Eg@|Eu9E__5r-*WQsX(l2!%;9{t) z2I5CVCz7t=a%o>neY3*j`<@g&SUGu2;aLiQA_d>7aJ^5YTj4tY_A6ZTdq?4VUrT=q z-IyrDr|mmaaF@b$c=HsVrNTE=;X@SeRk-H&VAP%@Z}Sx$BPsEeD_rwms&Fl%wF<{b zR6GqScreBO$`ty2DR^@VzCqzSf4-YSZ&u;g;dv~D{&))R94pgP+ux+<8vj`e{)EEy zKB8Zx&^M>xPp05o6|U3gnG||^3Vmk^y*q{eLJGYn1%EXK-=E_CPbqkB3jR(C9!bIf zl7jcA;GZg7r`L%T{PPt1#w3{^I(^bp@JxkkdCg71^AxV-vq0fmUfc@T`@R;Y(3dLw zJSD%)3fKG4HYr^1yK7IO_omQ|$ud6Ly-VTa6o0S6FH-nYg}W5KQQ>-D)Mkb2eTVx~ z+@Damu3s{*kpAoR&sMlY@y}Jbwx6eP9X`Lpb$zr@;X3`7DtwsYw^HFcK94C}$A7EB zCn)>93LmfV%qwMhHN8OL6BWH&;hKN5!d;5~gu*XXc#p#K6mAqq{+BDfK;e2{XQ{%o z6}?>HdLQUYg%45m)cSHmiv3Lr*ZkWRuH|dL!gczbP`GZ?Q~9UXZ>jZDYWYsB4^r!= zRQb=nN~VwAH(Dl6b*YLcUs)M?Q8>`JtgI{CPF|bPX+{;WpncNmm60CQjWpGm;tx2W?Tbt60Di*NzIhb}ZaWv0z6R3QAc)6pThR7SyO{Y_X!TU?)ZsG-|M; zv0%rJC5nkL3pVWEIWuS2WyK`__x---{hsF?m_7TOGjpcgxpVKGx%V#k`jBV>d}##w z#^61`Hw9l0ybOstfPwn(eFFHQ;B{k%v)6SufVAjzV?)ds8?%9=!zWB)hl^;E4qvel z#a_J$&#H__2#yP5IvqAv%m`z=vFrt$__!aw`ZhL>G&*{7IBO<+L8Ms>9h_qaKkh*>PB8ygmw^fWu!dWJ`6{-r3q-Hq{#Euk?MNoUmmW07>Bv3mBDX>qko z8V%bmAq*dR!neP&&7|w(FX{RQ26kno06pKX#l4~=m%cTy-;4fC{a&D?i;a$nWUsx2 z_mM%H=!}iT_Yl*Kisduc5BZ`*3>`dd6+9vwUeM0B&!@JGdAw2^74tK;>qjkTZ2c1P zMEjeyvuSLIAC?4V5D>cqkzy@rMU-gX2OYl1vh_7#ctN zDIg7hRkfxEzAC18Sdw(Xa2QF7j)m6}<72_>nNm#XPsg(qlG!BjcVQx7_8=PG-r)gH zl|{naGCZVE_=T7_crS+sysIM;o-f1SjX`~s)C@kkXVr)2-2ORzJiHkNejGuHC{EoR zzG-=4_%weLzfhF4%R}*8xN}sz5568p#6wBp_-bJmObjmqhTk1X;9(~5`k98~^$o`F zTHMY3;MMq%FgVlO;^AfaMrWAB-;eV*J^pV{ignhu@J<_8JC$rzwk!}VTQIh^En^GI zy^@uLx1PhFE&BroX90h<@DfFV@Yq#z_diLra(5G*|!2SaU1`Qg_+yB%0 z|6jDfWH$QYC@020w^DQ;kAnX%jDV`i#eb^*=)?$ya*E3MhffLqmp_r-v_Ai>zNRVg zyKO1se+3oV*A{Ck!uuW75)W0wckvBl{l^MZH1qiXrLLxN)bJ+8l7IM6rO_eaJLvEn z7d@W$p~Q1m7w~wlRu(+Y7vs4gp0?vTBA&CN#4wb&9)&tQ_Z2#{i)m3hfk(S)@EBGe zJkFV-$M9O(cm@U_28?6j{}coO$Lu; zolJ5HNDTiPJldHG9@E2lHG9wHD&jRDv7GC`V?Gs2>Ckh;z~| z&?wkG#qPdCAjX512=y3xd=$1XIPX9H8q+yvh5Kq2H~9IUEx)e&{BS|TP`G{o7qH2uJ`4+)B3+}kE$vEv2qwc(Z3(_{_yFMj{Al;ui3VV zMVU^6>lK|JJ)qm6!`Gnv>UmAlZT)s`o=~;cT<zbwZ)0o;{i`K0fg4OTOLi2iM+o)l1!Bf85jG=Z~p0 zD68y-8jqu{Hd0@B0C}pXeKsVxcT8lXFI}qN4X|w7@@CT~4FW>H8+~F!DkF#>6k$UjEK?P*HWy1=8h;KTh8>ZvFV+ z_diz{84O$de)$@6MjRfXskyM-?ACV6Z6o#j4}_1^{CTAQ@|F1`D#h4UTG_a;`Do`p z{s+#i{k>D)Nx0gf{v~nY%Q9JGs(mAUVaP~0c70RDJy-AEj&lm{(cNua<-8ZshvxhB zIeTJJgZ^9YUT*LpeZ__!V4@f*(=F%mGeb(9Nk^mYgJLaz^*j89N0Gm6`6tx}rM-4D zJUgwdZ{nIZ`trUR9U~{IVqU3N4yc-xunw*y@9f;uAt7bTx0RLCquTA7d27Zh+s>VO zMmTP`{%-!ab#FUAj?gyfxa+$oK9hese6mbXL7#}LYwL}jIA?S(=s{s`9(+Bx&}rMi zh2?iAOT%|J)SNwk^vc9&WqtLYKcBv(UwO^Tr}EFePUehW>U{r7YCG@Vca<%#V#oEY z|6qqb_A+&|{#)$M2RUx|t$y%;8DCc)dGOhcgt7S@-OqMO^I2tOdqTF}o0gw__F@05 z*LQYyRQ;Xtm8Ncdy|{CeUuE9kZdJ*~JEZ;i-e0Uc)57O&@91c!T7@kJ{64_>V7(<* z{&buA=i&?F+IRhIyGP9~8qaNu&z*Ta>-yGi(2S^Ud0y?*DzKO5y(DEs|4qwUOO3f1Q78tE+9;vx~h(erQ#0Zrfr-g3b8u^B;Bb822h>*+XxK%14S8II0c93d=_wuID@Z z)rpn!9pZOP_+T~7!!IK;p|OYi)PWn+f7i^ByvHB^JtQ-KWJ<33_ob(^kM^Ib?*G%E zoQntE1T~wIY2n(bheg{HJzcj-M{C~A>XEc2`9%A39zQ%PsvSLa*-Xzbb6u0p#Em_c zxO&g;Nxdu<-e*IHB&~UL@$;zIiT9U3yxRWNn%IzWeOk^wmOrTRt)N>S&IWzxT)WbQ zf$4)19@g(SVqBHbpC9}=%>LcI$hP?{TBTW~&)C!Kg`ZQ+TG#ys=PrI;ZOd9$B?5*= zDeV2k15GVYbkF$f`JHRM*365)Zg+phlinlBuCBD{^6uR)$}RScpMR+9pQn~I9=1sF zbb9gQd`-nRiRW(no;!G}wp?l8?H#j*{r-I1?2`|_AJVs}g;(!~zBsl^>YLB{+I9Nk zj_TU@>`X;?!H(2p~B7+mWGU(=Tyt} z`u3l`Z?dyuz~(ty+Wz6&a`BQ)w{NT7UwC>xxlB@88?dfgz9OJt+l}My+q^v6^gI@y zGa~vA>-6P)iV7``ti97Wtz8}Ul}+)}I_|w%;jD$r4E^$UH~QxH-T8a3H&tw!Zs>X7 z&Xq0pz5fdN=F7)>&eZZAeo^|m(wYYe_f8cyY&vx^7XN;gaba(sUl{E*HtkWd~b6X=i!Y{P+6S zS3mz{+LDUC@2Z~aTy)d(!TA|BkyXx>srtTPx4eDJp2M+EY^xvO2T||MhrB0W9arS; zb>+_JrA;4RvJ34Kchfa}N9VzfE}ywkrqTPGozKjv>)c@5`8q$l{$hEg@hR({PyYEs zmmA&fR-P<#{_LY;z8sCnzZZjjZ?qAm54*xTzt847_Io~Es88fu?vY4aIeok$D z)YmP0ZqoL;x60v03iCO*EalR7?tWLRK1^QQ#OuWh|DW?PdDQd4Hch zX?11Yoc&Q!*u5Wb^jaTdo4#gMr+H(t1LwXScx=q6i-$9PV?wVEJT+u@t4Hshqk{V! zsd|0yqTMTd6|4z(`0B>!Nuf54S2w-2vNq-?sb}sV+F?MOarZpG|IMrSs`HcGSG`;} z=J>0_OCDAq>3M(H))lj#+Pr?8a%tSFmmV}_qk#I zZPzR+pXbyvs6&-q3t#v**gvrTgeKQ!C#0n&w|D;Ox<{)2+32q<@7MhfPv(pcpK`H) z^B_w*m|ZR_sjMo%O@=N~8SBraGB)*KhS&oppj$~6cCut)?=M-}_mwOizK|>(BPA=x z1j(xG6v?Vws$}J~TC#T9E?KJ&NY>@gN;c*5B%2C_l8v*K%GTLMWn0NZWn0-#WmkES z%C3rDW#^KjvUf>S*}Lvh*;l=wvaj|; zWES4TkH=Sc=XON=3C{e!F*mbtOIIH5Z5AG(;o&{tZTiC`AE^iYq2uf)^=2VHQlQkS zM0g;axd%{~F@8^o-wQ$m!BSs#ZqM!XlKM+MA-u2DmEPLV!vlda9Ny0^vCYCh@odQh zO49_S9~uXTC>kQDZ%KD?Z2k{Xg)lKv!vNa{&WCHW1>r6e;*=8`m! z?3WM&KcpQa1;YB^K)4qsFd_kdAv{v*7d%D+U084u{FXp0m)QRyUOWau+!+21Lm@mO zA&x2FJEUjnFdXb8#1VB1j*&Wthrn;U#z{W!+{J$p6{3u~Ih>>`JObJz3)r@=2t;4oP7_iq;+-45TZ z&0RlO-HU;*Jz)hIWgsvXav*%-aUl>^g7Mw@ondAn5@bJELB_Rpo-PcC+vVwv%nPm7w_6=32FaV z(qW$elXRFD-eZFK3HNX5qhLP^g_^Fp>u=OREQkw9q)Om@^!k9< zsL0SHC^+3L6o@~fz<Ts zV;iH(B-SvJqE0KjBAMK48)Z=N=3v~ zh^5bYd-LfiSVJVPLwZNzy2NVYdc+lpabg~whB!PC_T<=cQdH~+^v!T|i;s+9r=y{< z@l1{h<{S(POdAXeCP5)2?p*Psn4k&~SDMBMpy=We*Pw4-R2zqhrH{W8A1P zECI|rgmT5Oh$MY1SQ!oxP(M75^hsK2SW+|aG14$7D4w&U8x{jUd=Wex?wIGCLG==H z7qO6;#6s>P7Bb6BpJS%aGt(Q)^j&*(hTqH?F7@*1CB;DfLAv#WkA}Q>80HoaAA(We zwO2=hOdlB&#yGsORx6G+ZeQ^2?@7|1WDv=bFj9NK)j|N}GoIav>j&2*+>L^<+C%Ej z)`u~K>jT;E9wOuYfhbKKj-mP0OWv0l3dcpk zexU6KtToYN{2()ZvWXtkr<>>lfpdsOc?`s&elFq0`eOODCfox!z=W~<5hjfFOEqDZ zzX^8(eYOb?2F^2Kte<+gF@G$tzX^8%)|oJFk3=(0CGHG82g{RT!dTuM6UO=!nK0(> zGJ@xiy#VX)X~LLZXTq31#e^|^Ix)5<)<2uLEA&6q=M(pWEAhU-QUuRWu$u|vz7Rkh z0O_$l$;6$&8q3dwQJ-zXSiXD{?hUMt6z$uO&7pdla7WPVO}H~~stI=j&NSgJzzqm20t0@RrB0APROe$oKg z|Dm~warx8gUocT3Fr;V%&eR{#nI5n2j?z zX7TgPSc($;qX&#ku>FYrVQj?mx)tjO!w3VbnP%)yEb`ZxaUyX5loq!~DlxWKci=SQ z!B9JFzbxYJ)PHl$^hIWRbu=%3AoO4Cf1=*ntQB4-;OvDly~iix@wuuvNP#v)Uij=u6xbCZycBr#B0_k1 zaHcE*zM_mQmVACN{3G^&Sa=0D0-itNl3Nk!MLN9x!}%9ID-+JC@L9~#W|ja~Nf_IM&BdA487-A;T@SEPvR!#@rNzT`{WzSrE6$Z* z>wK&iTiZNe49Be*!b&N&(#Po|Ar@LTPmkv#(cpQ1`dA+WB`U2vIOBpX6d`FK_3+{z z#UhuIkC+XKgqFqj*1&bV2GZl~O)zYySW0MKz6AE`!5^24w_@qx!C(tZgtk7l1xxBb z?!_hbQBc=Ju!nQCSnoI}F?S{7#j{xs(|OVnkSdO~FwU0-Ls~I2#J5#RJ??2(Vw~T= z`3#gehlIcJY-;DzaSJ zzlnvdhrJ8;DDFy&7Xy8PhsV>_#`_&HADllL0Ul@NaAq$A!h)ek;=H?Q?r<#wDX>LF z-EgnKw%~IeF`(nlJRX)2ZH;C2KDNWh3!GalJw48L;fxXX3@njw=J{YeJ_n?Ml8L?T z@f7`8*l!S=er+>7!tOi-!_Mv3aIX#lzO-vwnQL zi5i*b$H!|NC2@=3h{m0HJRB7hi|g`nxy0O59Ml+{d3wG|-j&&RUT?4aIg z!?-SEo}V7di*sbceXPgch&?kF+LLcd9J|cpVY~3Y%h#vO^<%*b9)-q3EIgtb+Zp#Q zJeuNBn?LUv!}Ku_iuoA#M=>^vu@K9Q-_cgd;}QI>FDonV+k8CX{o1%+gt8+KhH{6c z!?Oq6r!e0UkRIp5$3U&kZD9)R4>%hs;)~x}cic$~w&DB_Fb49>%A*cgcA z6s>~e0nQ zsy9vd@$s%c)a&Ep9nQw$n2XyS+X`zv0>0xYfUcyTk02OZ>~VMu9$tKPkL#X(Y;J*v z8?XC&Q@EpJRYx0jYj_W>hoyz3BfPDwhArl!!Vh#4_<3s?PLeIL1+kjglGugVir9_V znpjJ0L+nY+GKDa2Vms3N6WbF95IYbD5jzs=h|3a35SJs?6FU(n603=miN$oJL%UIGtF`4`vXH`NK?NF^Q8!EaqdgiK~&l9OCN4xx_Vy^N7WKX+E)- zzcmnRD1H%fEn;aR-`=%}#dS&@Vq4PJB~}yHBX%LKPplzsK4T>&{xEn_)n;5T2(d7{L;wa@3_a@FG7W0ew#5gB_ z&Okhnqf|tUa}LaX#ruOe-?1g0MCyvQxE`LLXHHG}GQ=8U3t}xXzVaHKmiO}a>NI&J)rbR#s}t*pYY^*+KO;^iu1TCqtRYS# zu0@oZDzTQBpQXXPF0ni5gNWM`>xpIJ zWMV(!RN_&@>BK5Jp~@t-B+e$bAsyuBg}6PjmUtAgH!(bj z%3J`kC9#g!hFDK*N1RM-Pn=5ZNSsDol{kaAJ#iMXicauyh%Jfph;4`s#CGC@a2l_# zJ+YeDkyt}ql~_yMp4gvQMJJ3w#CF6H#P-CA#E!%%#8rux61OMLAXZi9?VCkxN1Q`! zPn<_wmDoVsp4fIeudhnO?YR)!5xWuF6MGW3C-xWV>+}QI9J3c&KL2uJbsagPi#Abwl}d0v8pAH??!A#>?z_C`-}LV zJbsYS6GsSr2d+;Pdg2tJ_vZSgLQkA7xFgqR3ijumEw~5gT)_dH^NB4da4sUQN^G0L z>yNW5=tAJ?6&=o9p%d%dd=(eN`IRfq0;9wGlF;EC2$y^wNL=CK96vg|@B>bpy+UR6J0o1Mi))<7dZETZWN`% zy8_Yi)fN68BIHpNe-zon`66@)WOoeZkMm*Za83;!&J1zM%RdTQ4qbF{dvJX;h2z{1 zI&9}rAo0FDYzdsX!kS`#@SwFpK-MojU~RAq0yyj+9<&z88Smcnlf-oh_74wO`4iVY z*iVotRz|&O5A2s7P+HopA$PPFSZojbDV9&z!~Tl(qhSF`gZcGmYq?k@?8jLC zK~z8N&zPTRU%b~Ax1Y!#`?m*_PF!bVKSvhrhy5M%6ZOM>?*XyJbu9LOtY1&c5BCG) z!SLAw(vG2ihx>(Tzrp>(15$~4VLT5==P_6yu!kwyNv-{N*LZwK6u zP5Vy>tGBUSxPP0L6Zdmd#{In{^Zi5A3-^CheKgztM*BD}nCfxX*_3gd!0jUJg|d3$ zYBzT{ewc1YK8_eI@bLtD9PfdATtSPxhmD5%V9WT@mf?5*8n-j9q2T^0+L@0>U8O#h zKOax<4^2z`I$vi)ZcE z5BA8C{hROC#&OJaKk#E?Y!oxV`Y9C5K6V$1S!^eiqXZ~v~v{gCGqP^{nk0?Ku4xi@b zj>qTsIAVxsH!;7;?Tful>~GzR@8{(41B%BH9^Vi8gsFWWllo)+{fqYtp1-eI`T#S1 zpW^<(?Tb+p%Zv8#t|#s|^Lw^1gfqXV&&YV!6nDn+d)`9WFVKm3VlkfTXr9@fCzApe z^XmqFb`60OIFnk^kv^9K^u*VQlZk&IP9;twP9vU2oI!k+IE(laaSri$;ymI_#0KI$ z#L^O8-Xp|n;v2*oVm`{k{iMXFNbgPjD{%mEHnBgoS3_bQ>6a5H5|1LbrTDdoQ%N5x z^whp8;xy8W^S=z@iKNdW{+U=!>B|u3l3wgLZlt#)eLm^Mc})@V4AN^Uz7?_UQr@0o zeD);0HR)YQzn0jIcs{Wwu^5m2iGL)05b+jbv92M`6C+4JoAln4zYTFB>BYK?Kk02r zpF;ZYiI)qr^qTyNGSS-iSH2m6JI9|BECf&L41`sk@y&~3+<0}h*L-(P8>jb zu@1VF^iibOlDbgJ}EM6K9gX2eF>gHzCd@eLS&_(mN36l71m^KJj|uBI51D zw##|@isQNq@lT|8Bi=_W)*WSHPtvCli*?X8#Qvn8L>xiobtDcVy|}(er1~}$@ku|1 zIGfVD5GRs;2XPAVU}8PRFH5|X^u39_DL*&jbkdI`mPlWdIFt0j#EE3T9C0@3Y1&On zCcP8sb4kC5IG?x=aSFv(6Bm(Q9H%3wJRYRCUBR~>KU%~6-lT6vdKc0s66cV<9kCnf zrx2%7{^g0qy0Sv-N%3bA`xEyQ>B)X`;vmu|5xbGT9&rTeM-XdBUza$M^nBI~>PI}6 z^g$HAG4WE;M-!(Le@&cE@x6#MNk5%9m-Ow4vq?XdIGOZX5ufxciSvoa5f>3B5ZkWg z+p9nE(g~a^5WA3mF|iwQAh9R$65=#U?@a7Z`Z>fI6S@7?#6hJ0ia4FpS0s)g{Q!}k z^p%JcNk5P{g?K6PQsQrj(}`CTXA-9iCi|6%vq>LBoJIO7#JQv&M4UH~*RKO{KIx|s z7ZGnHwq3>Jk0o{?UO}8g`MDCik$woVn)0hn>`D4CVt?WT#6iS|i6e+Jh!cr3iBpJw zBVI~;oH&=tSCu%O^q&)pdHj3CnWR5NoI|{yIG=a}v9y}E&v(RmlwUPs7t${yb|e0R zcqz3{3t~^wk0+MC;`Y6X{YgKIIE&JI5(kk!nK+yDZHXgDKbbh6%3GZ{k@Q1}Q;1`T z4HUly@lw(cBTlFMS_vlo1Y&WYm4-Nz^dZDWWdAebY|`t9)5v~H;#|_NA~q0zN$g4S z8xY&3@%D@)b|H=>b|bbR_9VVb>`$CZ97Mc^ID&X5aU$_%;uPY}#7l|w#C%>B-yFdm zzs?PY>rqna;8C<%A~*`>!A;Xg!3>-!<6MU+ zi@P>O`q5^3es3t<9)_lkDsP`ywANPi{qe}2acxoG+Z~t{Ka_;pHIQ(EV$zwQe0lnVs%o?*Mt_A zpX-hF;f&82nc5o(vrMKe?p_x5^u_&>rx&YkLT|ido9m7JT(CF~;PWroTSR`?{`k~_ zDThKUlw@;#$@F-Cv1xq%E+h=$`5Cu2=Mlx*k8=dfv6-fihI{-?8SiN}WwF{Q?BiYb zCG{oCr!VfeJU^TjH;tcQrpLSKg&ybS!%Z01J&g6?>rnU<40n9pP^>cJ{57uAiPcpx zpDk8(1snShpKmqxXU_O3?Bo0^KCffS(Xa<`$JarO<>Tu##{H77TN>Xp#n+!q^=KdW zTkiP0wphi+^#?^#p*R*PxpYWC-!%~&S9({XR+GO*V{c{##)Tq zeEkfcyy1?oca19E|M(#jK zW85G4`k+`vM?H=gA~$55Eyhpo__~&^2{=?Ua z#9aw^e*)%j8XxT&#{<5OXDkn2XBKxc@cS6hzGyGL&Lr+`kl=X7SAxWdAz1A3g2f)m z*Qv!_5&XUge6B+DU%t*~EDvADG44N{jrHM-pWN|vZE<%6zfS_6G85wk&fnuPNLUao zEFk0hh^ZdgRF5qxN`&#TMU9N>=*B0~_&NqZ?wKA}O~Xx(hddmg=E0*N-t)jmUeoZB z@v(o3+_ApMqO{1k-iyDwCfWyWVhny}z}IPw?TycVnD$@3?l102!TUI{_Qw9h?*kBb ztDqjoN8|S7>;Cx67kB(V0e$iDoA)06X?aMSwob^WnW3hwy&yRkfcy#U7(KEfE8 z??Hk^dd?BW<>8D^jd900zIc4#Jf`?Oj<5Ig{I!szSsi@y2g*M9>JO0k)(;-u5yEjL z3D?B%JsDyyf#-yuh7ZQ?j3<@kA~U^hvHF8Jk){w;v4(%)zhmcAGSpzkMsrfR-|JWU z^0(`XX@W!(ZnbE%TboVkvWY&xx#NZ6`1RzFTgu-Srh1I(Z4w{8n*5#~Q{)w=H$E_A znnGvPo5kL+!iFx~f zm?Q!o1Y!wx7stPNY%i2=W-+hsQ(#l4Ye+F0K75hgGPy%BqaCy>*q>^`H|jb=CeMn6Ligj!`Iei}s8`nKpLemrV9-IT>Yu?eeK8vqrz4 zfigLD=xmgRk-yAEnfA5)e3W^+cP~I0(0kZIlu|#N#VB(QZ(D-Wu&(cSC^fI1FGHz6 zykrH+G;7aQC^L>;Ud>pwHw~rc&WtrEv&!^e%jAe!-=j<|{}+?Vs?2rBd7e|&qg3zd zz5%88*A+LS%vySb$(+~Ur!(F>audp&P1?;Up&U#~%l2+TPM!1BR+Q>XKHE^Hjkes5 zQXh7V$&BqYb|7cD)n)y~P=6|usps!8sde}J0rlQ3*D|U5Q`(8F?mLXhyomiw2577O zh~atZiA-uQTw*e9NAq16o+Hm=QZxBaCbi?bu>Pd0^*xi`$?v&bIOr#gZ}?&tlNmS5 z{fsPCjAT-$I?SYYL-kA+ZZVcgt;<;^y&p8#gW;*s$xNng&t($YXD^1Q4NGBCpL3hZ zjJK_S!SI~>bC}f5yw9ZfAMN&GxZZX?lj{2qm`t14VLyf^Uz*RP^!NdjX$RXM!0?O# zsZ6GAxzA))mglc5{^D<#)OzGGnRduEi`nn($E0q56qCu0i&sXgtg6Q_zkpnY$sEUUCX?M} zaoKnWlX;aca{a?1CiQD-9B1v}>&v9~so_kfdCg{0yJQEG>Z=!+46rC-Qd7BlHl|B0 z@6BY^^H3)94$WXvO4`CC^gkxk(h8Z>SE$U!?~LfSOeXLAoJr}~}bc`6YkVgh^e)K1`+^h-XqSFJ{t^p2?)<{WT`F@;fdgYyO7my(jrFsZS1N z(hxO`$&8L0Ioq6IGV7;5nAG-hJca23u6S_SwKtRA8}&?T3+8if@FSDST`w}J4tma{ z)UWbsOs{L#hRbq6OiE`Hnbc4Cj>)vjdzs8xd5uX!`8P~z8Srihle+p7 zn9S?2f=lmxOeQzK!DLSPw>K$=ezbyruhzGGWqIwCiO#?F`0U950i%GSD8$k zQp99HoNyDw%OzOuyVNz%Nj>)w74(G8v z0nSyK)X#BaQZ2P%Qah>>lR0PlF)1|;;XFytr1$BsnAADXVN%m~Ig@EKH!+#F=VvbO z9%VAa@*%5aD;ktNi+7y3;dX zd97|zQxhBV&g=C4YniiqKk}-i_5C|HMUuBAHQwNCX)7PO@Fc6s5-Yh(*NfZ6b=&4u zPTR(yj4dZ0eqr6^O2{3riu-!jJf*UhfBpSMpS-7kc>Vdb>Sqq)?d0QSvh*{*&+_VX z99DjssO54or=LheD#<%`Tj(23zwH(Med{0h3{=a#|FG_s-Q8KhdnNnV!l4GqqQof2@WZSGm6T7BzyE~2V9j#bJUe-JQ-Ns+) z%U@5;+dc2uJFi6!J&!MMT1R$vO!CiGn*{s_q0M)Ldc4O<5EtSN`~ zY3-WoSW9l*V9@(Sry{SD)wAoR^i|6v$3#!;w`2?Ofn4;>U%To__2jhkg=c1;gZd@dJ2r8v zC7;|lsKrx#S-GBfy7O0)8q1%}taUg>+d>XVn2m=|IjqK&Z(3!@@|cCwYG;paC*PZX ztM9RLUh3OHtHI-M{XPsX=wY_|9$f3fF^&0uR7ei|6E_=ys49llE{a`EK`7L#K zofKJqvG}v6<(*s0%beDJKBHz6dHtTYUE>zH%Xfq1@r$fH<(3w!|EOQkRJI#1chK{G zZDs!>1Bzk~ww9j-7dqAct**SbpVuYLomTRI!kNL7`nHpuR$Tn>c7UgR?TXu!CXQM; z?{>$9InD)M8wUMRE>vAlE`O!DQ(}|)^4TJF)vNMfUeiu@|EgPf9l6%FGOvd?|;qYl(B0X_w3L{p6vA~Z+(6v zc}K0vhGQ9xljV27GtEAozgHb<6JE%Ms@ z^KaFo++_J%``TR{Lfz!g-Pazhk!LhYDytsYLVlqN-kx->y?pn@;Q{LJ9pyK+D?;>c z@B_3X&L?~BZ6|M-*zmU&t=;7^fBgNO=hRyA16$3?6Q|nC0T=dngkMUR?~K&dKQzCw ze7o^a^>2@FB%g?xlHGf(i)@H+`rWH{P5IuUq=b{YmtI}^BwzSy_*<{o+aq0Hv}hxb z`dWUf{<*2_tPa~7lhRhM`pu4$%@;S1k;Es+%KuYy|0E~_h) zdFaxb_M_HvH=XU&4K|8gD{$fcUt4yN9kf2>3_p0vq17%=_4QNa)??ZZwF_-0-*VkE zV7hNhdBfG6ss$%o%hkVa)NYDr16jMEO1YHs9pv|Yqvzc4Y9?2CRD0&7C(uuCj+(k) zP(yikgC@gzUN0*jX=UB0V10pC%MR`-2H(!|&@L}FE`QQUzOU={^`!3g@+xk!rlX&<;)Ge-bJoxFK<~l?CbR-8_VbZ za!NXU%1_Sg?R}(2RzrDZZo>HP@!oQU%6UgDJ64ky`ky%ze$-n&-Ri1O#p5mHUhPNq zU$8FD%kPGdh23k7{OsyIJN>*Sa;I6AvtLx}E)UrB`gY$Zvb;b1zGOG56O9i&W!>F2 z)7QrM%Z9a%1v|n!%VQqLkkCxS6*2?z#^D9K1=qOjJbMISMcQ4s@$}s0z$7{Jq(~It1{{5YD zvPRks)ya3t^~rn2>bAdAW=;C6PT_)gN=x_5z@NswQ+CEBByauvol@hX5B$GVst$Sk zy?cXq%9yN}dAl9oDaU^8_<2m>Tg73y#moV@ZR_j{c?^h&v=?*B*K z?XMI*pY}@mkTth#(`m1ixJ<{Q`}$YP_Hp+de);^BlK1HH+YJ9#$^-Z1la94~r8K;o z)Afz!m2xRnRiSs;SITRb74r_hDpHg-1>^fZC{ixCXy>Rd6e;aKz=_naMat%Uj zo^9=IFO}JCe;T!U`Aa2xUE<^(vtBA?k1Z>2oAgroVN=WdH%7cvq7zhyP7ZjfbguHn zm~)+8Ds$fZ95u9jsqDMed6HY*mx|ql714>#FBSb{htKoMyi}^_3M=ahUns}h_>Fpb z=YkluK)VO}oOno5tA!NOn#wM z9ieKydh`qBRqZ|_9|ylszVFt4TJOFul(1S3gR*^JD7Ug^We#ZZLh%k!jeA|^g|cva zvxpxnzEG?y2k9nTy-?nIG;A66;<@s$QcmWOhtHMucOM@fk^5X3sQ$Kb%8BR7{MTKM z?c4iY$r`L0WwrIWviVe zK3Dks>2u}%lwTgy>+)Rr)9IPNUEAkMcdPUP9~wPZDiz)R!=}b_<>-;}cWOHU2dLox zxw5>+&5(IdpDAsvnr_Vd{h89k{l)>m+-FM6j(RgPPd-!b%-e8N-v3M)@@wC;%R8Pa z-Be?@Osw*89$T@>D6a>Ha?VyHAy437h9%z4TOhxaG@ri%vXM`Zug|Rk#1CQnCFH z&h3AAs?^RN?^$>KQzdkgi+lC&o+@)~hhL~Y2lSqkojoT%Ri1P@ac)S$Q^nur*3&tW zPnDuZtB0NW;;C{lvGJSgeV;0wo%6OPb$+Vs+&6H@{dP~4*EL4|^?B2$%CG9i-R{+S zs{Hilqo8pvPnFbjT9s?rr;4u3kw)37r%FWAHT$Q&C{((id%vdFpM}bjQ)&PA-2!EQwLQeYQXu zlvn+2?V|-s!@oLvcl)J4xwp4)#DpITl*M0G4c@b{Kv`8j&sDXmKv}W&o8*2A3zX}P zQ@_rbRiIRGnOxpwa)C1Say8dk;|i3dc;A`UF$IdM`P+awVFgOr1_{GH8&aU0xb*J( zJ$(w4_NVR34f8Kh>UL>4r<_utl+SJj{{_m{tiNW?b}vv`Xuo(ERHs0x@4wMiTNU)o z6)4GS)qyuQz=ro~!+V3Ww%(7g|9WmvQdc|}_586xDX*K--}=5mS=@PEy5_n;X}7A? zfR5)4O8aa3dXGL~P)7UAp1v{5pk%MC_xQoj24(l-CUH%77?h3b2>Zz!42tgS9UHE% zG$?^~sZ z4adC=b2BKmmSrY;YYa-8@qJp?b%FTI8I)xBB}YqJ1I}ZB6H;PNl=g*{txoV{5&pJE z6L|7h{I(&+^a&lE5DCBA(RU#HQpKoFiJ?&m@sVT0rM}@&;lc4Ahhv(5a^B_(T>ljL zf1>l}zXNHWr06jJ-A3CZT$<~p|F6pPQARwV!y$fu-A8IFpPHl#NexLik|N#rJGz&} z@A#2w36q6~Ev2+A@CBUE;VM>L@Il#@Qcwohty*XyOwU#>%lJpKNCE8Q{MIp9(%1d?@%n;Qw49Xm6Z~cHXTcu@{|opZz;6V@R8s{zz+dmnoG;(+dG}4+d$q=vr24FZHaEE z?{6gq{Aww=f&Y}lZX02uPc-?CY0!pnxORx&y}_ehQ)k-!a{{fTY|y8f#W9VKYn6E> z`XczQIr(wj(U!1nnm^h%bs`Ri6+s&REU*XuQx0>|ndp<@`=`o)Hqa)P8J%f4FdtKA zS`H1gT@L8e&ElBG$8zMG=xq=Fb2-pvY30CtOr2>tQXx$c*wunB&0$>B=uPxX;d{ny z3&{XpoA>c{5q8kF(3-Xj=4a|m%i|Ae@!nSGtXkR!N z_+pW4ksJs%93ip}#yD>X`$4agj)R{OuaZI&Rnl$n&%k$2Qb}*VR7v&|R8kc9ec;PZ zR7t9@R8kA@1E;B^{WDZj+Z2_gp0AR^!0Xdg(w1zMbp9mRxT2D5a#hk$@YBGnuBxQU z;Jbhy4Zgz+3&|h+4)Cri7E(R%N#GZQmuAA)1%BCV3uzPh0`R}gf$v)^q%+{}f^WRl zLTV1aE%*TN3E-E2&jbGu{1fn&+bpDV;46W51z!(*Q}7+YcLhHLd?@(w;3tFMItuCm zZBj8-#hwjL1&KGAVqL03vF=Z|kXFF`A$juvuxX(j<3Z-_w2;(d1Hge|>kyUHWDNWk z4@40*8P^SCw_vHGR8mfZGCWS*Xm%S;-nVevfcQLKbWC0NwHt3ZMr?zFQgK-GX3}44 zEF@<;5ta}W6*(%L{Sqpa1%Dun$AvpZe}sNpY%d9`1*`FJ?15-a;3r$h1lMhaL2yiG zZ?2f~bH4hX`s z(@MtjbrBw0Y+x+mj&arNqyMuTBKggOXI#&|r8)eoZl zC#Qi}`raI+75&nrc5AU&o_E=8~Hh#G#M7xuRt@CNYA(Zeq46P(pPALpOdiATlbs}|xF zr^R4O9{}Mhdn?HvUNUE)Eu&ZIB+0eBZFqSL$3wPS8@;v8D$l~83P@d{k}@!EB^#-{ zZ&|IQ-a%)dXKS#AjgP-02Af36rLv%T=(RH=VfN*FK{N9ls@azQ=*|m1r zX|*Gwq-qwyBmmR2a4kw!Hz%jK+VnlyEC`0O^kmPLu_|W4$ldzcobdA-sg5A%9`DooTX8`7YyT##6=il_c( z^?GbxFV|A)MPU+1Rxgm~>Jg`cWc4D+`;aT^L#;m1hwei;c^`svrYRryp?}i3vc6Y( zI_wK*`@h7&HpCw4c$&ANJ4oEd5g?PXLf}wfof*J~PQ%00AWg%uk6<51=}mU9ufQp* zlmT&Q=)}su5u!m7h{_%=lEe>nGx~eIM-on_jeQ80HOSoC*@#H49`K z27p6h+I|{09+uOfWVmU&E+sqIuIXSv4{1`sjyHJWawtq+i`#hw65X}h+`dI!-mZ4_ zI6H&Ha-c12PfX9+m5qb{+=tW8LjC@sFaDG6-})!o{x5MvTjyX|p!^1qwjkYeKHY~? zoASDQgEZX+rfqEr>Cukp!+8+bybpV8d6=dlx3dH!x|BxT{u+1~A8n3v=R6rC=7+Yh zjWIoI>+1H?sz+3pDp{0OwUey1R(eaFMIImPA454*)oi6|(0`p4IB4zlb~@WU>wwb2 zTuX_EeHLx}lTNf@#dEw3TY|*f(e)rRuu;LGFl{TfClAYkGeFaD(>C;n^r8(j!9W0{ zNdY_F;Dt-0urz23v{R)S*L(npc{YYKK(yHkBzJ( zGCfY;!1`3Nm7JS9Y0K%$>KwE95gO}@wk^+>JU%-DgIVT8ebw!tPeCB&-K{Ox1%gCY zIao^$J8iVqdMlk}UKxYR+CsAS<>xOdJ1fa9#7b+ax6qZzgK^5yD%{b+W~YT7kK%l6 zN`?Gf)i6iU+*XfAa@Jg(J?O|G!tggPsx~iOPC8y@pSF@~hSld{tBuih2 zi!ub-!`Utzw%g9qw%bCe6WeZmOW$t$KrbBjfg`|J7j#%2EVHH?v~d^y{R*p$B+czg z+YNqr=1{T#W2kE-+iAFeRyNx|CtQTGR<<_Q z7xzswb~R(%&Y12~;bMPWhqj?UM?kXE#!GPg07fV3$w`uQFav;L2Drk-`ipSf=GaCk zbHR?-_UXVmkOte$8@zBi19(_!KW^tCNVIzi?4pg|$v&n zY!6v#d2h%1E`+kXmbWstHSGic6s|IhkL`ka?E_m_ri&nPA5dTZc>8NV2Zfo#H0ZG& z=<^}HXb&B*VaUhrkwIYraGj0qItwJ)SV4?>w1sI=ihfente>odGMe`bb1tnvV7gC* zi+*wnZA0FVL1I5~y8?5aAkksCX@3Y9%ER)$C>f4r7yU$n^rBs|Av_DxnD>*sVLVI+ z?Tq#hgT%ZJgI%iw2SdkiuN(zkB&f|=Ivq5rL_a5`&77SpT}q$@^;MS?c)zJ z4H%ty`>4ZsSX$_(+eZWGMf;?Kjbun;-ag6U6c)nmECGpmO#{2wK8wgcrp0!__$b*m zUthT9tKm4UMuffOn&`mJ3tY_l(?uwQN@Fi+;Jlz(VwsZX2A>GW_Q1T~LR#T)|8cx( z$R~@hh(wJ}8Jb2I? z!&0Mo8=MA-Hm(z+9&KS-l%l^^G~0f=pp54I+nh`5*O=~8;iA9aK--Y_TaY*&cwV=Z zQbD4_aNKqb;KN(b!*XIvhGW^WKcZAadeJURfiobDdAnqcrgnjPqx}mYF|R#f7j2v% z`uZ&giusV4Mu=LIFt2mYtw*glx&Td*k{ z)~n(Tm@~k_f)nkNlgK%lq&f-4!8l&G>SMUBF-WZIT98=B-NY>uI3FF$?VSaQ@m%XW zO{*W_B-Kt-v$=sfpO_mkKzUs2mzC;ASV^@KEu~6_KAs=Iw!wI+e~I^B?TEH6M^l99@_zZM@T37Og?bl*KqC%(i^;R8DIy)GQQ&NlatJC z+yaU1l?7?gW)4VXw1KuU9ZJ_~4%2X+uGS~o(eoD6rMg|Ib9A2ycl|_sY;UypZ+fv0 z>M(C8V=_obko!OufkcPlSRV%PkvxlssX>~CV;wEPqg)8-MSG%wEQp%|;ojhd%bCr? zw9~nrA3>tCn!)WK28p&RLqg0a4J7h5;_qg1-UO04Di7v`W!HjC`-a!&B1m+3ATiEU zkQm1q;$XRJgT#8X>$bio*KIh@8mH2+@aD#FNK(S3mNvh=hDX7C)On@PZ)+jk)yXEo z$-@4;@#-FqA<(BLfKKHM*AH>VYkO=LEdM&t35Vt13LHTJsK>f!7QuD(xBUAKkm&Xh zi~XbgC-x8R9oj!in}5Xp;C~P<#*ZMdDIAU;df;RV5M@qY$;+Dq62sK1pl>bVVHcM2 z$ORy=es0TnoUR~|zX6GDy_}d`cf@`Ay2J4g@5Wiqb1nF^7a6U=NTy= zgLrXSIF`?Q0|l4}OoJZFja~=oY(e7Ok`AN0ekYf;o`>ny@p>-zmy?$SD9$&6)if$#rMdv60B zRdp`z@0kP$A;2UANC0I-EKyNMjG8Le;Y(4Yjv;7TsYxIMiH2lM1`J+mQ^ht~+D4=` zy+xgn00Bani`3>Swxgvrw$w(YHMP{vRchl$>!?_x#rFTaXYUgx<4|jF@Ber2T0LvM zdEULx{{B8^PWBF;pj}EH!lWVD?@zth%N1QP)PEj!p1fl*xi0zW{l>Wa-X!;X&3*A1 zBOcdbzKapzcd5a&Tq3bkCfGYBXYj6Xks9aNF1>chO4?paPES}%_KLrRcMOSUyB-H{ zYhR+J{VrAIm@EpU++7cA7t!xhW_z{W>rk#H?8M!DP~2MmZ;$DJr;fez)XH4eHwhm#eS^kMYl1BFk3Ag4#!Ivf8x%ES^91n=2*A3``&+QzwbkFv+oh@<~bb05>6^UQ~0|0tB}S!2H7`#SDNq0ApYf#UA)<2vpBC-it1gko>KYuq#R zU8DZ}?R2XRe)c$RFwjpM{0D!#_@D46^(kfFLb~j05=sPfhYVg^cK?k1R_DDes_jCU z#Yq_yH*W012eg|RKht(MK?(VbP|9uk)7tzeDA(GbYxAaF?fzjX?p}UIo9}*B$FUts z9Q&Z$zvG~`f38oPulSWVSG=IjKl!yb{|1WtS%(a{3QPV9VYz5-@nDq5%*jF@pQZW^oe_k>~-@l5cy)&|{ca|Ck}wWpZ(kDjA8Oym(B0?t*gNW6X|m>8!iPe`MWdz1LitxEdqfseH5NN%6@qe!1h*&mEuQ5?4dM z7?L%1`T(#g4ts%?6j-5S)=|@m*dW(q?{NTtGS1#g|i5 z;*Be(cwOR^I!t@>SiGX;U@l0AxAz?#M>BMj25G}Tfs(E<*vXY^+~nq_-zo3%vXi{a z+fUdI4gya6JvKLqos`@0+$ReonVsZuIB9!B;)PRUdK{P!TO`q3cGO(G@Qcfbn5b^IJJTJ5_AATw^#7vod^@zSR>s{^d^MBI)Xblwq2cU%g9+a{b{}Q%6 zR^}#*2WfAS9~l#un%^xM;1kW(coBEsde-|p{3V7XWhmo=NBqJ{I0`ny2$ah%L(c~~ z{V_w=pS9TwC4Xhu+hu4|@+l(qB;l+jTrae*5PqaAJp($d`=MN$jX4UXE?za}v)|X@ zZGh6gyP$;o9+WtznY2l`5-0uUBjZcP+vGK_-`IULAA9?fux4XU9ADf=dFNsBJqBH_ z2~g_QkvURjI&!3E#Qm~N8b+m_!uNf1?eF{6OZ;(jz8(MGg!uPic3UwVs{?lm-@7{< zR($V3xyE28@e|Lv#Iw|n=g4v5nexuid``!lI2OhD9Y0{geFMrhV8=6d#JRldDoT9U zRY^G3yDt0Nfaq|aoww$MI9o6$mThDh|NnqUUhaZ&-DAwwbATgL-hTM(?=e1Z&8Uu$ zp5wgdveT7^8~c(v_h4=`7Lo!^r<&6w8K8L4yieK(Y{6Oq0oZub+O7ur`N zVJyVZYx4M+b99JHq4?{DQjZ6rl;IQ;=cOhM;$Ol}te5;hAFCI;Z!N*jzQj)j=EVAF zCe1#R{#&73Uod9I{#C3~UUKrKq?Bzt{uAGeh}~fQqe}>fpv0Vdl>Y;h0J+3o+LP!u zMVCwNiNx^dh4$5Wo-V7fNzY-EzIyB>47o4s}}s)m()iXb7H%QoiDK~ z*;sM6Rdte-0>yK%?s48bum20>c${wx zj%RPT^S$`BFDcvom?OqQQYLANUZT_Hxs?7jPwTxo9PZ|W%`m@$;X^H7Wo$GG`L}av`PFwHEDen%H08DZ@(MLO7d=~iLj6N4oAWW z$E8K)ly1z4<4U-g^(yI*G(3ndR~HoX$F=cdC-Hy6e)&n=+iiR;aoLx&@lBW`#zImp z>GhQBbi0=7GHk>w_j+NZMBi)utj^;uD1I*aoOV+L#q5Vtk2S{pO>=)2lrp^XdhPC( zCE9#~i8I+VkvoO*N%EYx5PSQQFnyR4=lW0u>%L_=t{c(iS`8(QyfQ0;!XHwMCwj_7I4qLB)?wFZet<$ zCCug(%x{S3Y1*p?*mCHrPY+(|kl-iY{teNe^>HOzcVf@-J3b)!y$+?KQm z<(`PN3*j61_d@&f;im*c*rd0xQd}vu7)ltMq1aqdrOo2r3X69KIZqJgaHkqRi{~=j zj7()MIgRdzLGZIX+E|5Ax2u zVuTux-S}CVQ3*%l+7xuCQLBhg_F>?vL0=PRHfiu>rl+d({4~XzsDSvDG3+7S{Q^15 z`0YS{6ACm4+gx z&oP$ga`G^iJn(!Tu>Sw$cJiFYw>NVk?~O(-g;rWetMt0z0Y@6o1a;Pb4taFhP%g!k zOa3sGo#hHR#t)-R9#P{R-Aexd*D*R(jm}S3qlx2Sl1qI$h%3CCpXSb z&i%|M!)ZJ3^2g~l>EK-i{&o3jUEJmHJ|gcV`GYvqtDAUzlj?JJ6SQ(<3|ATX87iYr z|1XmxD@|n;k5yUNWz~&|%KvI-N_!yB5>|x-vywmc64scC5LH{~WKDg>=*3eHj#HC^ zS!!ZMrW%*;QezkK&LhVE=19l>278bIr!!Th@J|HJGRI&(9pm_IA(%>e^BrQbQ;o={ z9we_pzV8!#N`{(JFBtzz6stW-9KDh!%e@QtV{t!5 zO{qKP-f`*}bt>QIo)8?TPN>LIClqI@6G-a`dvaqFqvIpG-bPbz8PwY-m0d@@S?xR% zI~R6iRrVfNU}TO{Cdt(&;J7|^D$kFUAbNjJA8FF6g6TlziD}_;COdI9}Lpo zD)yHI-xf^k`>4-bD8!&k~sMvu%c0c+!NE(iA6)) zSb3G6``xD9-`-eRye7Q&O zhtt8{GO{m@m~)?UsHZT?m3#UqmCLu+;~j1_CYBLR?@fzX?}^E0XESAnn-8C%|32$b zbBJGVeJ~l3z**i8eI*?H|%9kl)YMpbijXdxphx$3P-sH{d*L93FIq52=0x2G; zawz|tS=q6yDDCcq4BF`^+G#rNl>de1-U+jGI~^%;1~XJ{1?9sSl3S$Xw##)!heKVv zopwR`o8f9iXq!LI|CAjLb>&X&{wr`LA{76^k=8iRSf4P?%l+?jKfhDEy&V26w_oJ` zyT9UB!L z*~|Zu%Kzbd7GFel)@-d^^W8kM>bEr#@TTQ>S`bBUgZ8S~gvPQ^dE~Sq|b=aAN?NV9K z61G)VjMc@A)ud}mQQUYv*{LQ!o9)XS%lu&GVmrRge{iT>$OaQ%W;Szeg^b&jRh`R9 zmy8cb-*TwO-^Q(R_Z0dc;>^jyK5~Q-e3yN{?69r))2*@5?qki|pZh2F12b+eM=y>u zXG$MEO#ci*$}X3(lYVNazxI8HYC_&O{`ELQpH3J@a&z&=IFQRYkV}~pMl^a)idDzi zA2`$uWU$O#vVYD5#V9L1KqbrD+aEgAQN%7cM~0L6e^}BoE@Fgz46)s2O1qGH+oRV8 zc3xt*`L@HUGQ)bzOcw96-2W|NhvgWVqDJywDwTOn{%?4qSvyQ5{E5#pCrwLN(`Y}_ zXg||vKhvoHX|qm@=AJ%MO>+FZ8WkHEjqB}Je~B=l>vm_#t9Y>7qq-k4rx(*cC`ai> zxgO%E$YxF)C+*x0(U(v8HlLHK7SVoW{ag`}9>qD9CrXRr`>3f-%U-YB^jcN-N#<<& zwanYPUDKwES-T{*Yx&;=S=(6sn0dF@`rqroNtXR^6=UzSeR)n5raq-_#+!4;u^wBB z1K?|ggB{a4P?}K>XTqw4UiyZz8LS;{x0yYbSp0*C0#m zbjaLI9OH_t`8zP8Y`8Cz^^lZ-q{)3Q@44c}2S=8ZwJY;4vtuOW294!+`u|Y$a*SSy{);ysqRATGEL^@eeRDf{o8KlaR26y zar2*q^JH9H4rv2>(tWvS$U5Z8q-zEr&C-#>UTe3@(`lA3ld{)qp$yhSqgV^EJ}lB} zp+QH4VgXPK4p81Q0_A+hH`+x*{YpMmDE70p)K7$@Snd5;XW*nMX==(5`oY0;mBAW&7-My$+o^tx`1lWqllWbI z9RCxPmY-?aUHphsm59BpXISHjxejR%I~i{dk5t2`BeDBF(k%AGmuMd1kNXneVAwK< zk)9#xz)if_8hba4_BbT{LD~Xq$tkp z^{U-j-zM>%Oy0oiv47~hZR;H{?IlynkhPrkoKiO~mKhz}J36A{A=~P+?>g0(KRH#* z#8Zp@l{j;<`Jn3^)(nU}ALLF=V_Y0-jm_jCDl0Ns2UUJvuVWt{FwY;>`;sARgsAmi zbQ0@OHF#)WxX#U>neBpNR`DHpU}#zdX32aGe$3% zx_`WyjQ@%FABX?3^Y|a>*s*uLmD=68Q*kpHH`3+7+ssm7?O$KDlN-z&*}QjVPA^urPKLpUqD%!-5eUh=NpeqM`C=TVn4SXWM0E@>>r@6fdpzkAGL4WIlSWyG$F z>t?5@OD|%tal1cSYpTTGl6ZDu?jN7e9AA_<`0nJV7w~({g>in(bC~tJ41HAhW&W3n z{8@Fxb5US!ifTa8+y~^)GsT9-vdrK!Ww@67&VMByv(1XKDRtY z^_%$P&5jwP)r{aNYDUG$Y6k1M8O-}rVw0jdy%QqVxN7yA4C{Ho9+U4|k)pnjoM!hM z89P~z4ZeT0#-Y))Z^k0pr2VYoNauO9(y3B6^BYGh@2rM9ho?&Yi2uXfGr#eSwBpo# z%5ERO_)>~`5eXBgaPZlLc*iq`%d?49w-v)x@9in-D01i|UAOUOYpmlpge=ENikcgI zHyow;T626BbEfq!ihZV^z|MM?nx#g+&GXQ4+OT6<2Jfc$pXrJm-b+nX)7~DO&wa=G z!m+k&{bouhwC0d3eq&8CHeJ-5qE;fZSH93O#-YYgR`wO<_er@1rXBk&+rH;S>FtU8 z-*o$i*cWT}@*Yd9bCC8%9hR8w%MQQf@$tC-Mm&+@ z#1s9Pc;sx0#CW2ABc8nJAI*=HmlykFd6Bas62mWi@>qF^7J7}b`8vM;z^&}TF8iy0 zl1uhzm+KMZ?|?D)8#+Iw@1JNm*RaGeV7Sh3li|aLy@vgU&KWwq35FiSLc4XBsXvTw+*fxWRCT;V%u3m03-BpsF-jSyy{YslTqSwodL?cI6cn zrT&`LrOP-0s%BN7w6eDLCi`B6e|c4nzcf%+8}Qc!tNitYzN+d={SC|ffnZf_O=-Yi zQ&Cm3!uGYoA1p1esjxzK3OI5J4wAx>@A}A}u_*@PaingsM1!QKWza}^sbDh7w zwtBTczPJbTp-c8yA)b9+Lin{yrK$$QGO1cxwSvm9YUI3p+lR!Ryj+a0A@wI^wW>z9 zyrC^XrztTCoj={OgKGl*!R9@fmzq`8)plA;j0qXjVMxqNYip$+NWT7c{i_82krJ@a zs#wC=9x|87Tqv>-vkxgjTrMn-0D2R`%0*SxNRO(mD`iBktvR!%w!*L5Wu1RTRejK3 zSGuycVpTQc$Jt75mdc23tfc9Rakam$UPfe`s9w$tv9H-4&IXYG8ul7?8(waBgW>Iln+)ynvp%iEn`Rg|SDT&2oN=}`=NVpL zSZH{IVU6Kh!wrTVhTVow8@^;XV3;~f$CG9FDZ>K8Lc^to4TkFtA219X{@C!BhA~4$ z`O1}TIMeX$0&VXz<{J&y8HNn^8TJ|;HdK5AC)bIFvkb2?Txu9J{JLSg;r9&>8Xh)0 zVwhp-WxC;9!_OJ!oBC=r<_(4q72F81@+U86GyY8Vi4Bn*QiEOgEJChT^YLs%Yh+V0m3| zk-uIB82K;pqLoEvU@BrEv8rwv%fnP`FZBlt8Lt@gidHVDsTlN8#H1U%az)*l^9u`= z8tc58WuvdI7H{>%wKw?*^Lht0#E-;qo%*sJ_MBxb z5vGZ&Im`S?U6&*lPEVbG?Hu1_=gc~@LKYMg9rLV3Y%xoQN`H0WoLP%la@1GWvMRbE z)#U7)S(jAR)d#PWPeOHG&zW@<=dxYL|G%eRX^rQDPE^jIjdrq0&8x1h_b+5I&9O^Y z48N|b!auLFyso(R%2n0Ds<~@|epTxv&6iYF`{x8%@h)8z^w$&ida*5J<-I_!_2-Cr z-YOQ=H9?b(%PN%jqqZs}b~<4as+1YwIZ`<QHuC86Spn?Cd9)2B_?H?Mk znrOR|{NT(rtSDGr$aBxCz$L3{mPxByP!lAHYFrBOE?UFvyHXmAnq>PV#2~Y^#L?rp zgi~}YFRP(_ud+PPD_>UWSIgtmY*N4py$g!2T2N@Wp;sxFhC0Hft0Xm)w&7LsM#}l zu+ECBR{H1EOFI@#eLLl{8VZcD)&7sze=9DQgqt*%GYMTDDiiLgX{m#Ky13Tv=<21E!g*Jg z2Nqcmv-lpNOGh4Ui+R?eue~ZG)jXfoIwweN>T1MomY96YifbkRl2h__Uusb~&)b9b z$}Z)kmfX=_Zt_=H4cRIgb&J$=+z9f`Mvua;4lAy%xB4HOZHZ3u7`<2d z)gQz}pxX4Bn5^;SIftOIYH3|LUGCkK!rJl*V_MKa4)1hG$G00)o7A};pY(WRx%pxW z84Os#seiL{orK5fn|5k`DEeS(ek7*B)I1?3%X@A@4_E5t_&Ojx&5{CZIP~iVs(wH_ zwq_`8s}@QvEw1<1&G#=aXQVEiciDW-ZlWEnTB!#U?NCN)r>@ZoGsvqo61vr5sb5v9 z$1gFfJh?;1<)Phw^{QZC71hpo8D~qeFn8Tzhp>odPCKZSnv@Vs1IJ2rSmUu3tlDDf zCSX$ZBxS*PCO7ACDY1qVxgopo0VjI%tHp4W9wZqPL_SUiix zC(D|vm&<*nCfn`B8l*U>b!hvYqty6gy)u4D^?y?Der@Qv>t|j(=h};>mlpY#moAe< zSShcCW_cHzl9%@GuPf)7)@wb}dTVL|@_Nzh_0|U~yk7oaF-drFp)KW1dfTa0Udh}K zzK0y*QWtMB_e;wwO3SUcXEpv?%*!*|>v7#ntFax$)m$?7b(90MjeZZ6;3t{;B;_|p zUQx!i>*Ez)((;r1t(Fx5)lt4omeUH`HL@}zKmsNX|Rr^ zSiN_?_J1stV+HUx!~5jHCC$&p(@pwnNy^70Em?Z1YU@is(vVCRlDVfoE~~9y>Rp&5 z!^z$2^etyRSh{NY$ENXE=_POfc7Ap7eXe-NkQH!I4czkSslR{YvM5Cf21ogw!5$Xvq*+YjezD~`dGk(M9v4q%+AL*x z=bcZDnY>Z0r98;$$@FiIf2_RqM& zmk(={G)`ao&*2x%wbz83XTtrYbQ%9=k~WdR`KeYq>t<_aV3&p@mV;g2LF3N$XV-&G zyndp(DJj(DBmRSrpYe9MElsMb@>G@)NH&$Gtu40nPaAYB3J5inTLn?vi&&! zQcrT(?iy8kdSc(T@BLpU`yl?!%b9Scn9I)dCn;0g&p$@jaW5U7`?%LX7T^CiU*$`e z@y)`D%BmZ0s$N-B8@QRb{;O8s(y-=MozgjT=gnVm$)yV~yZnm6E3dlRcTLfv;>Fiq zSMu4<{cp?3KQ}$cZ5A#a&vBcD`=6VR|0SXQA8#fOXR1t_gI9ZsQf0TVx&0(#v-P)H zY2Bjvr3a(dZqMG^8ZCC<{_(aK+T6x{BEIw&ZR0ik?%(Ntj&c7m?ti}d@a9SCcboe+ zU!NGf8VvuoR?EjVJYZb&!VNFDRp|>iz96f{q1Tt5>w7WE9@%H#rhWb;Zq5;xzD31D zJ$yowZ~lMNKmS4f-wWXrCOE;lPtE^-8oz6iUO)H@n+;vX+Ft5QE<4$Y^I@{*qw3lf zybZIS3J0I1lDe}#yBq2-nY-FmycS(vT324PV(@)PGI#QxBJo{jGI!QTZdLpm>GdXk zek?7lT~@U+kn|1AH>w@hI{2{~%~oT6$nZyo&l|pK_-Dh>E49C=hG!ejGhA%A!f=h@ zR}Jqs+->-{;d6$+Gkni*q)F#w!!ryoHoV4gnc*tKuNZ#YaHrwV4ej>uFMhHTknh%h ziv&2QEeelhD%FTC58yMAP3RtY^+dj-NB6;d5%*70RR|tM)}hNs@^>NY(VO89kPvzV zzKiS?H@Ub$Dt?L^_yeQ?Jp$iF)}yOQJhQu%ntg!(*@T}(D$vW|Zln=C3^SOZHi;X! z42hrz;FB}>E$nBhsuyPFapnZN8?HbOqX*!A(E2+C+Bm9Y%gKL)B^H??t+&hA#|S**^4gxJ<^LFgU$;` z^E0@IUZe+Icq<}h+X#DS^GyCM?&0W*w7nZHNAj@`z;{1`e{^-RQcoj3^j?_a<+}-V z7rY8ti|&Kl5D7mFZ<<4WKSwz5%(+_kz{}^6XY75j9Px=8xD6>m55qSQ2`2_;&eysJ zE;V`pwj+|xUbtt0)+6vJB7WVMDD|~VbzIFb^K#0W@ZHddG)fxacM)+Pfy=Mp%M?iu z{Kb`g!-yV*o~yMk{FaY6un)nzuhD*+;d@3`MZ7y&q|2=tzQ*M1I!IpNqQ&F~y$t>k znT_5Hd#+WgP;~gk>u8_ojj-^u#Qh7>2`~Gcj>`vkv22-*eHgxq6r;!BSxaa$=pI;# ztV5S`=KDU+{)@jPFL2%sxJQ@s>>olZ(B-W8UzI8q6gO~38SM={3}-FXdGW%3Uq&50 zPu^il1@6&ZupU{5-Uu7~oVhDHJZm|7grR$29n#Q;J^WM^<&Q3Bq}L$r=yGm)7qSmM z49~rZI{g*x7XA{EI*P)(_^wLoUCt5z#Y)NuH*$7(E?{?bRXk&NDq1=d>DzMM_}()8Dr6f8`m?WzDV6cInQ^>Zz+Gc2+2p6 zbAfM1yy(sFA*2vp&JTVWDM63HuYKLLZFt5v=r7oN;6~A@Q3&4y!XOW z?qxm@_izp(ecuO9_$GRkx`Q=HHF^L(exGjta>nh=_cP97FK6KPApPia4(^Btlv13P zD`(+eisYdCU`dEFL@$HuTeaQ{A3?b=?>kbP_mV=UoB z;QPn{bU8crV&pKo7uF(2(dGQr!fi^0Um^|g`VQ&?t!!S(iaZn7w$l0 zoRsrIpZhN5h`pR2I_6=*L6N8Yq;j@o&VKCC7trOLMLBcvFuL$%L~%}|oXa>dN}EJ?!!o1* zUD$>cqlclK|JVE~Zs2vuUi31!2RVQqfiEG4(dB%-Er;pjui+QQkOp+2>vyyXbfE`n zK^HDS+R=Sb&X_BC9ecPM38KpxciWKl=yLwu^T;N2IRozlq!V4vYm>9sf^U#ExD{ze z55wn?4)iD-@fyFSp}XK|NDsOPej91}1LXrBMndQjIPZ1cPJD32A6c)+IcM-iWIDQ> zZ#M82`9YWS&ZZ(hbUAmd=^feWIfyRjZKb?NnZHST;5?)RUCz_` z4pNOCf)S(%UHB@p2|Wf+9w2;lIcrMJiCPy!hu0w?bUDB3K_rYW=SRJQM9}5DtMorJ zKcUN+SLY!8=yLAW3SL9wDyEJB)L-nJ}SxDbSX1_yT;IEJp^e8-YxWgI~Jn&jX`dSE{%YGhV z+<0NuNQc$V-LM7`H*${Atr?uXh8sE8=zB=Ngb&y9f26XOXoTCwI;=4;3?JtoyQLm` z;eDCxrF(?9;8R)T3%wVPWe+V0-v#e5dNcHAJFLDRfW3(HyC}>VuhZ{_KSE@@?S-o+ zn0Vm?_8gYE)eX-^WE_^WjGEY~xr}(_tfNPfwdiu*(d)>1bUE|LJ;|Xqp$o4=WGpR% za{f^EyR^N@_(f)-%h^G7Q>Y8{M)*9k5j_goc*QDbIcNF}qs#d}XL06FKW^kapi2<- zC)y!wLZlp;Vc}Hm*9U)qNZuoG%}KKVAK}CErm_$$dAl%P|mm(d!d|X zZMlIHPSv^>euzl=J*PR;SCJ6m%h@?~r#n=q#0xu+9`rDjGi%%fvB4y~pQ$Fobedu!D#v>O}r|5G2hGRBq{*dyA-}(&g5?#)|_%9@k z9)nIVadF0k3r?G(bq}09SLVh`9bryzosV4_(f1nBgN|=pMKNDM1gwH<290|42hQ+aM2J&O^vY=A+9Q36)4O zx|~HYZV_z;UCt(0fE-4b^9oiWF?2aAK+Xp!<}3j@JK!ZGh#rIIE!OR)4E_j__R|Z` zy;kd9xW(vUco>m2SPX_s@cS#u8BQywT@t43=l@0I2)gX$|8pdReg9=Y{}D?mLv-2e z|59W&x(`0HOot!rTP=kZ$aS*^OG4eHWG> zk{)3ja!|s7vR8uG3#WWZ>%wJ-xT%0Ujou0Wh)DP`IPP|x-)wlk(F@@9MqdJdhDi9m zaKRl~UkHDO93q@vc*Qzho`rBHBH?$!enkAn;QBi$-x0$sj`%Y31#Z&d&4{=U!mlAx z4$bhd#$J8Jp=KcxPCl$b#7zKhHF_AngGe|>;8{)Dy$9Z8blE8X0Yv=vz~;NOd*Ki6 zrv6A<1pf7_^cQrsp0Ndy_S^xl|C-L@5_lgX;Y8q5%?{Oo`(8Nx9@=i&FpCZ7mFU73 z5DDiHOuN^i_TpYR3z2-yh9N}Sr0`ip!aoTAb0hVL`zW07Ey|EEb70GT4&_D{ey4@8 z6gQjTquo7cjlg@hqyd06Z3gHb#FM|z;xEIP^RiX>vgShd)cBBuz13r(4o1<`PNT;U))*zCeweVX;Z-Eh` z3lADyc-ZK|4~?!`8FLT`M>wNRmzx*fh)BHE@NPuhG{fCS55sp6aWeoj+qIi)_!~s( zF$&MvqSNeww;&Qu1H9kpA^4=xd*EA$gsHYV)P;z&)k3%j5&ONcbsOztB>ftGYdifX zo%)4e+sXJfit>lPPTCc^Fmo5}4LuvahU8}qQ*Xd0y0pF@KJ*at9d7o**Si^0#0|Xi zQRW+TAH4Sago$1PZ}|c3lXx58_acnx=-u#lPf!Ph(+|J)BkB>o1-^`|$IW55{Kq;k zvcF0bBKhisEl-h7@+JJ`PZ@`CU-mP~8L`S4<~^;;MED;+r!U}sFN{3P+>I{0_Bmbt zCGg^dtP=>w3wsc$mvz5zsG?ueFK}NBQ=cb%bm8TqKo1^>(FG5D6z zXZAVNzx|5*P(EwnS_O3;hWE z=39&}=q>Q*+X%XF<2xo^xaWwjm%T9KUHZrv$^>4GNW4C{>`$Z_`wIB|5YDACNZme0b)cb@_YXq@y~IQ{Y}i@-DpkL#_MZcMxeOo8U8uq~RdU z{0rmPSo$^mGa_|*6rQb|yci}f*o(|Y7ygICsmjpz!Xro%y6_sOQ{|% z_BzMD!0lA`OmnKW=o{hkliB+by%L@{UF&Z6pNRC$2t4l;@<_QAz+WQ=$jc%4hflHh zHF^x5JcIpCCGYTe$YH{a-2@pPv;h#rCOAV<($Go9*EL}fCT!tF>N z`XRADQl7`DzL{fu?(&~c7-lM27Y zo^uCrvktz8NLw0!>F4S4%z#%S1Gw?Q8xhHGHT<&Co8V88e%u^{W7!WqFN=J^E099; zLij;})0!8K!psY_J{_(=GH}xj`;b)hH{jR{bzCm!HoEZhh~%*nb{JilGF!XPfisOR zoNaXB%|;Kxbw(FHf=C|s2@$It;6(Oa50IW5xEKkem%#TfcB&Ti0XW}FU7!osBa*fb z_*36vAg;y=sZhY{yCFBA7H{hnvJFT(zAiSQv()VJ& z1bzoe&1QUqzd{1&hu}%2v@!JQ@D8L9eI2}}j6Q|mVi-i;Ko?e(lWz2Cc+ygx=IQXO zh}89Z_yTeWH;3T6h~#AeUa(BJ?b+}E(t{h}j0&yi!D>X@3%_pkX81TF?O{KB-{?o- z8Gdc=fqtV`!>!B7`*_M3PFO*ELeGJ7kUsSJ@L41u{UE%8y%eS13*pm7KLpdO=mWUP zfL(~p*I}4_6M3MlgwG<9=7Vr?fI7gw1V)g3=)&@w*?Skg0$x?G$88_{-75BWCj5SQ z)f&b<-1y)X|K?Pc*cZZk5gCU!!V}h-F&2*d0^<^HvSAw{<8V71eVbExv3J2jWB|Pq zeglzoHp3BLB;E-;`@p9Vg?<25H0t?Cc=nfc{pQ2Fk(s#ZfcM-^xab?Ark%(xRw3kyGc(6-12qW zyy!5@zVNbM626Wc!u}07vsuS0{J}=%>4~HtKKV`hCVCHi`CD2)3`<%F3wvP|OBU`#B2@-3!lufc&Btzz8Dg6n^zVT}SKTFA%ZsgAayudP49wNI!m~@QPM# zUkD%GOx)Oa!-v|b`yA>BzPye4ML!Ik+Zi{|Q{l2*^cVCBczYLP5&AlK&Td^7`S58( z^3n(E!dhPoe~%o-eLpPNL;i6iy!Rpc5%wG5r0+65q6guahqd1v*oL@rY1{DJ@6m42 zz3`E4(t{qqFM0ev=J9)+$M1hG`=bB+QN~I93j2_K=)xFs09`n2AN7kaJOOzFT{sI- zlSl)+5hmhepuVtggbyLo_98I%andjDVK*`p-Sq@#u^@%$0hsb*=0WsSnD!)V z6m;RMJ=6>O8}RX`bUWVm3)Z99H^I|?soT#?SdSdVJ_t|k!~JBQL*X_=+Soo=`2srj!p(yeqn)dY7TQZHe6&YN1_4>!kH-{7Vl?s-e+D*_k4O*_QC z5pF`3p!dOR-@%@AmcV-vN%KZ{2x-TSF#QPeGWO1dO@E>uv5&#A1GF=A7fkzrxer|! zM&!9k_`^SIH~V4AUvYN=d54c6;$|P*uToSV_QH#u?2(P`g=wiNYCgK~zF{e9J$eg# zDlJ9rM?V0UvM=vm^a{8<12=?O37w-;_}z}Q!MhQ~zT4~JfCzb1V^Vm=VDC7}Fb0>q zQmp5ZX80r`>x39=VJ~oTBOIQUqB0044X#9_tOD@XaVe@0`?c`C9QN8rZ-J?t=qlj| zU!RPb_f&7d6FHMo{JP-{Q?>gtSm{nt#rPGbo|IzMiwi!0NE$-$;56+we(!MESG*qy z;8&PAJw>fU7fv_22Ywlmx^9O3h@?UIwNnTe_sy{MQ`)`^4j5hd+NqQUZr*^uJPkMK zeek~135z+d1v+PvU+h!i{fPA65X?P`dSOnV0#iNg>CS%T!ejW?2Kbm6_#v~9+ajd1Zw z(t&*myy<4zD0($~0Fm`!2mH4>Q=ag5i2Ux*57X+k8z0<^$k^TvBZyT;@HX~xm*3!A=>qB^h_x^JUT z(SC$oU({_r46_@xdk=j4cIpE6@q3QTUgVG7K^wzf_zaRdjk<&5?!-U34?4fh_<-&b zB2qrWr;q~d55u2-h5nA-3-4~yd0Y=qyGyr$nQ%WcA2-4q?xx&$9xQ{`eU)@#UjiNL zb(&M*U%pNqVJ~~wpMY3x12!Tp*f+x$kr2A4nK2OQK$kOD&%Q_ZDLM1!A*1hwFCqtU zBYVc5zCougc5jM$8|k4gTpLr=1f&<;1J6U`J!%;YAR%<&Z~k4|tM5>!NH^oEu;l@5 zABNrsweEuxLt6L1J|vC$ioxqzX`i%{0Q>_IMi+j#gTBXiO>&;KoJCzh`w`07()-Yb za;~)KLOB~+bm0cXOZw&PUODTxiL?pj9A43da=z;Tx=_xw?PTl{%9*wjj!@2$6*odT zM^@~Ga;C1>3*|gru@}xUx=_xwl{5(DydTkpa;~E2LOJVF{0ij^OR*QqS(RchlyfIV z7s|Pf;zoETBKC4-pqvHh<~@l}&L$~D7s~m4;zlTE$cZkLGrdF?%Gq3^3+1dK(S>rJ zmFPk_`$2S}oQ)*9P|jwO^a$@T_Hr(doZTYzC6x1F#Jy0?S`l3+XM2b)l=BKi7j8zR zF0AtejJ@o&uO8BFgx4Z6o|M3EA=a1xUqXs$pZ~i4RRaGif&VKdAm1HX|H{)iG{t-) zg@uPthZF5bGA%5`vMe%8eSuGI60g}8H>|97n_a9gnsN4-o*8cT%&(Q>1umMgxcHJY z3TC+3z^JC8yt=l=f6sOw+`s^8Q_MEF)?ynDCtM|;-u@RKpJ)4a@>w~hnp9yW+ z$AosyG|L}8>&^DE#*9s!pVI~EgMM~Dty;|%Q7ioQgE!-EFKEE4>?~R6U+u4USIggv zW|Y@oR0T+6&sf?F-v|?IrDH?Un6;_NMmc_LlZgdq;b3dtZCB zJ-Q{f#l6+DwQOr(YiMhDYjkUDt9zSgTWDLyw(z#@ZINwd+bg#RwwLXw+!5Fj+R?Ei zyu-J%WM|pV-mbo`Xjgw%tV{K>o+92*s3Q~(HSTEI5$f#d40m>SMml>sdpr9&qn-Vo zvCe@`wJU9xYgf*$$gZAUy}SB$MR)b@itQTMrMl9(TwOU`?ykHpPgg-#b5~1OsH>wZ z+|}I`>FVjyaj7V41lnbDs3jzEMMM3eSg5SEvbAw@)8?|a%CNEX-rll3w7p|{czgHu z$o7Rhe3Vl64z)9Fr)y`?(|V|l{*7F8+I0SE$k}ks_bg$Y9hBC z@SN68F?(pqy`^I8j97q*sAMh&e^tu3t`t=+9Xt$nTi ztplxTn{zhjZ7$fnaC6D#%FPXwVaw)@&E1=OHuv%W*#n!?+H%@r+XuF*9cepUJ92io zcjWEx>?qjb-61(F*->V-iH03gxLexQo@{hK~XqB#Z zce{rc>7z9U+8b$$q4sclgti!^P89Xw-s0Kf-QwF)wk5EoaZB@-(3bF)$d=wM(oU(T zt}c)?b%d$aUTQQ(ZMwF*w|lmGxBIr2(dHYe*AR6Y+1|T7x;;iYxF`b; z`S+1`GV4iIUIAt7ZPn>*A;le}xtmn?Z0RH2{icnjk@~!?1zQ)A`V!J#xm9^nRUiH( zyrHGpyraeRweB5}9X&f5cQ);8-r2GAI;MjORQ<7SlccKN!>x&mE|j5Z-gnh2vzR7SJi zuHEk4p55NvzTIWJ1G^h{H}4MZ4)2ca?%f^T9otR5%2L%n$zRA7a)&%2Z^#!a3k5=r zp=QRVa3~V$Wo(LtRI97i-Rhxj_*%8$PC>uBB;-yT=D33}Q-zV~osWeEf$;4*oefRq;9B|1V=l9wWiR zwi3qW2FBzT#^Y|r;=Z>2wt==ZGdnG0W~yv&U|worPU>#&VOHvAbWYonvn6j!!Ip(v zO14yPY1q=VrGs#_Y7MIi@$2(32XrHf?R$+Of5JYtPoct^HdEwx%(n=WQ$4 zwvaKsa$Cc;CPwuR=Cd9~^ZsoE+tNC6I`TRSIu>@6bX0aUbToCebaXJn_b|HmGqR^` z&)J^0yAnmv~QyKcF=Qs=(YXQV;lMHn0j#i6Gx-~BXKk1Mwl_9 zcSm$bj2Xzq?BikP@iFfNb~ZAKgcw00j2=-&4#lY9X2kF^T9h$TG%`wrn7Jd&+EHd~ z#cb_nOz<)ulra`GG7f|o10w&tzSPWbvj5G#6#ay~sqBArZXz?`R5cw`TH~%OZd6sf z(->WHWDM~RQ~Zl2V~CG&Bg}Z=Vw`AZY;Z9egct)9{XWFJ>0-VNFi-ZjdzcZUTU^Y4 zm0KIPMy!>ZkNGXx++4|OP0!5sTp}|`KW(Cb5wn5T*iAds^M=e7%E!AXlG8l6Ivi+s z)B6IfF Ai2wiq literal 0 HcmV?d00001 diff --git a/packages/runtime/native/websocket-darwin-arm64.node b/packages/runtime/native/websocket-darwin-arm64.node new file mode 100755 index 0000000000000000000000000000000000000000..c6ea4cda940d36bdc1ef4dc8dc99e7a29efd3ec0 GIT binary patch literal 102368 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 literal 0 HcmV?d00001 diff --git a/packages/runtime/native/websocket-linux-arm64.node b/packages/runtime/native/websocket-linux-arm64.node new file mode 100644 index 0000000000000000000000000000000000000000..903662347996c2fc0af363da22e719648ccd20b5 GIT binary patch literal 150624 zcmce<3w%_?**`wJ8weNWnuM!l6HxJn1PCN*Ws?8_Zy<@6f|}hdfglhd1O&0N0YxmW zvR+=Swwgd|-L$r}1uMO10Nc`f>SNGeynY6s}uF4UM3MHFNkoe9lOAx?e8&skO`!>wo=7$uEDl_y>o#pXu9778l~0jf;Bej;rS;=ja*E z8Ec156W(qcvb%L_bTmGE`At~^h4|sdzS&|@zeX{nu$v>$_3{$YZBjsFr#Z4jz&XNm zQ=e{qL@jBlzdP}xOeTD|m*bj)YaXuoxEA1Ah-)#fWw>f^-Ggg2t^h9n)#6%b{1Re4 z?hoPGfa_sg-^R5O7ymZldJNa&xSquI6t1Un@$aQ)kKb3e;>8Dl_w2sxqKxa`yCePc zA6#7dtznC&RKMT;;)maObk_dO;oBb@+i>XaZwKG$Gb8+u-@Q4l+ki{^-2abXe)faY ze>$=L%JpmKK7ZA-ANum{`O$~pIQrJ2CGMZU{_XPu8NFTWzwzyz&rBat)Ag~Re3jqu zt%rZ{;=SA6J2vmxdtZF;Z&TJUy}Xe_-uUE)ue|=3gD0+heNWH# z-y3oM)lXje$!j%#8$N92(CQZ-?Ec`;pO=lz|6bOekBz;v;^^Bu-x~FY1^s(hy>|EW zSBZs>-11WB!*ATw_0R(ci}UuK_w%Mx^+$g9=7qzGuA8~$2P1CDd3M+x@A>k!G+y`3 zqVngjx}*1x#?(LV%etg^&6TDW694N$%P*PGIo~A)h>CetJjqY>ieq% z^!vaO*zx@W^4rm8$F+lh4E(;jBIWPbp*K7HzxK9=r=z}h^3*2a`)mUJA4oudHk^qa z{eLCU&lJ=n+ooP86SU(83FtqXz~1gl03Vrv&ejC@wY}{1-!FmQCMK|}V+r_HCeY8t z3HrsE1af{Of!?l7U?-yz*x`){=sOeG&!PnImIQPzNdSL3fq%Flf!u*qXo(97xb!Sqc2@iUjzz3Hbgcf!-R?N$u+UQUZJH zpMdYT(0A?V^i9C`PYL?VZ3)`(bOO7*DuMlcnZSN_CTK_cDz}aQnVLYJ@d@PreF8n? zoNwue>g{iAaQyuM z^`)FkwwY;&XZ+oQe+fT+t(hJv>GYQL_enXYn%N>>%HLy;tlKbHF0B;iOJe?OIW zJG#|OZ;*O^QOdu>Lcd1RKPu^@OFE6xt^(4olzzS^_2ZRxI7#9^1jDBMn<`wc7b!W1inr>d^oBcag-m`hfuunDUSQ+{9CHgsTlX;jb)q_=vRgO}{bmhf4ZSCFt+pm3G)}q2rVN zEBvlW=P2an-)|+IebR4SF7-S^%5Uwzefyg25&og(!kB>u~0 zG4UO#|KriJdkruj>1a&r8YzUs1? zYTx{tWz+nVOMLie@`UP&Wfj#cDklGz<@3vKEL*g^##aLhi)LK!|1Zhpj0T-K^Or4I zysTpK3Q=}T)jjj8=9JB>Shjo-G*C8g<;t=p71hfYQztd6%2teKb;sT0TQWZS;HXj4sO=Q{-E?u-xZgFv(Zrn>J$#=;Yq&Te!Sp^33b;JDxwSYVP96 zlS{^yO~&7f89Ae?AT1hhMOoR56(vQmj#+aS&RAh+%&f^6qb5a*t7RHF1& zSKv&QvAv-U42^H(k? zo44FoJqPU)hs=fQ0HEcT!`!RN{Jt80C1ir-<(HM!R8}v(r)=Tkd9cZf>gvVSuoVHZ z7gkhJ?*H6yX?XtX3L4(bMT^9uibehkQj=e?(qFNpX8z(T1IuWnITZ^lYAVXAE9SxxRQZh#ZM3%}r?*dj>8d3a zIv10%2G+490lgJ9OdV`u=1zghE`+!6my9VhEod$wW{bq_XRI>u693{Q6_)zubj+2O z=wFDQ3w4=Yqih)qCM2lW!9s3QXQ{{DRB_Mb4&BETeO^UP*+Sp48dLhR`RHzD#{6Yv zv1WkRsG0*0Xy%v(Bb{Q|@|wAM9pHvxc7Vhi&1gzlz6OmXb!LDmiI3K@umT>|lu6k^ z2Xc$c@2>FIm>@Wr`BfEVORAx%>YDi#%b>2Rd*a?exudv4`8OTTn6k+eZmae!0ojgf zn=!_8L9te%$}mdlRhzrK%1`r^eE{vb7<~Y>jn$`YR_QdoJHYad?qc+Cla_DJoY?SH zZGx6TMOD5<6?0UDS9Q>WA4-D)3_^3OD|CJ_4aeG|Yz5t|S-!er(c%>qW%r=I&>uQr zO-1!0jGQ$U@ev^2Cpw!F-4JRdoopP_=+DwCtKL9|UNq)E&?)W0Uv63^8rO%$jjIZy z%bYS_b+vC*SycsGV@1`x8v0A+?mKYB5Z__^NYIk8(m7LMj|(f}{nu<`qmxz|S=KJv zp@i(9*K2NS%=l8e@PcL6`BwN!{MGZ9)J#@3flps^tq8##76y%x*g;4l<0fgG>3Z#IX`QpVG$8`yE%9qbyhz?zi?mM}% zypq~0$?51e%tk7M*Eh!Cm|}Bsrm)xyUo~c#Heo#mhNC zHci$T;$=U%XMRnk>L^Aoy$VLxMHN-jsV=XQo?wn|hBQi6m>mpLa{M%@N+eCqx|~Hh zlgk&eD=J5)y9I+UP1nww8N6(~oPTjewZEdQW^tLJUbAK~Sk>}H<+_EN%_FsdrZ9Tp zn9-A$`F%^cbV$;-D-=%0Zum7sY`Xindn$eGLx!kEzfM5fKrr$uB+s}H(`S?uFr(z` z$($vd^AR<7z$jA|A9$1p)Ju<>UN!xCvrC&!S^7$)r#^Cp|`IstTz%zWAF+Av0@?*5I;3yk!^1~8BlOh>PM|L?} z5ZdsP)luzW41pcQ%qc5du_%F@`aD;cDmHo5WwlK3^qSgbDLr>ssB|dQIY*VzjiN)5 zP8n)ZWyvr`=OxRlE6P^PudZ3{TgY_iQp1*$%NS#PD;*j42n40uHlg+I2?G8v<_w@23(ZMOrk8SI8E4YL1LrTHBQ8S>V)9I5F*|w&T(Vpc&n#!b|9mB8 ztlg_CmMrx7V?h9@jq|b&k{E+?&R7ia{tDQBIcAm%(4`m7FJD$O$A8&nqn0fmHJ-_N ze#9-9%3;bc;d8E7IKOK7$}4=nYJcVUab~`XiiEpHq(m zqTa}{2(dWE&D^+VT(k-i+3sR3VEkkLY%PCt@P81w?kc{m<=@;X-=*bu5#wY&>8;%V zbI|W5o|LdvMmkk&k?Dg!Uw{Z;7x8nMUfRAHk=+#W8=0=T zSNc@vb`*V;R{IMM#BK8+ii+1ZO8KpDr6()AQo~}Bxi3WdEgO8MQl8z2vso@XT z`ovb+}u@=ea@kH&TN?p@6v0NC5X}@b7B) z+cds9e5!_DrQv%uc#Q_H)Zhy>_!14iS%U{O_*@OXL4)6+!8d8}2Q+w{27gS0zpTOM zYw$)5&a;&2Z?6WwO#yM=r@~$PMr-h=Vo;7*aXOfY#Qr=Q99xgEzo{BrZj~B&Gc-6RM6tiyH8{3Z zV}D)^jxE^OU!?}e)^F@@i3Z13ZtQQR29J#`$PH+4Ikhs%Y|!A}iBaKs=eQo!83<-S zrNPrQ{5lOjM}xnh!P7PPHVvMk!C%(k>MRAb8#Q>jhQC*X57glMG`Kno!t4(;c&&yX z*5HFR_)!f$M1vpK;ClaU*Wedu_`(s_=P(W4O@pg52h8rH!TlQkKn?ys8r-eH-5PwP z2G7#qqcwQ82G7&rBQ&^2gI}n@r)uzTYw#Hw{2~p0y9U2lgL^gjNDW@8!7tI^OEkDT zhtKSl8oWZo4`}d9HTVV%ewhZ}q`@E5;7@7r%QbkN2ERgszo5ZKY4B|t{7Mb}vIZZm z!5cMrjt1YW!N+LueHwhM2LC{VkJI2`4W6sPk81Go8vM8hpP<3pHMl;X5ze^%=WF=g zH275-ypIOIT7wVN;0rXkTZ3Pt!AENFZ)ot*8a$xE^E9|zQX07)4L(uBpQ^z<8hnNZ ze?)`duEAGnaIXe0(BPFCyikKL(cncIe5D4Tq`?Cke6j}LpuwkT@J$*#sKKAo;QIJp zr@^Oc_%CSiX&QW+2ER^&zpTM4HF%>2zfptl)!;X2@O>J5x(5G1gU`_5VGVw>20yC7 zXKL`{8oWeTvF(ct=gc%TOVriSm<;IlM%rrY)Ixz(?R z&bdUe-XWeiw|dtLjjpoy6v}brEpdoVeZMM>^l6?LbUQQOV;OZJZ(CodC(_3$j65UV z73pj(-2>@DE!_+0axL8t>9txq1L-YVdN9(vwe&Ego3(T{(oRR5|3ye=Yw1goF4WSa zkS^EKV~}2}rN<+^MN40W^lmMEEz-?ex)5onGtPes(%D-2I;0D=^i4>YYw4Ltuhr7G zBE3aR&q8{)mc9$=W-VQgw9^&mKNsn2EqyoAg<84_>2fVyjr3YAy#nbiTKZn3cWdeU zk#5$~Yms)Q#QCpBI$KMB8|gwV{Rq7q@7*j z{GUfUTT3?}U8tphhIF}>{w30Dwe(9!Z_(1fL3+2Aeg)}fExj9QXV*CYKO&v2rT>C- zp_YCN>2fW70O_?_`aPt#Xz34;-mRtoj&!q@ZbsUf8s~om>1-|i52OpV^yf&IYw3R> zy;e(~MtX~u{u1fkTKX%bo3*sF0Q|ef`FBM+TTAyqx=>5^Lb_Z__d|NEmd-$WiD^lTE~J~abUD(_o^k$jkrK^xG*V5HUuhr5kklv!D??rmImcAe9W-YxIY3F%y{_By>*3#cbx=>3$f^@l- zehlfgX4;FfMjS1Uc<^Y!r_tyDjzwy$;T`$gg!}xU5BDtGG1ofQh>#`Ho3aiSM|>!E z+~sHx7^hg)ijOtU>)B`594t7mc4OArg2#6OzZ_)?j~7RE{1?aI$bytm1oGp#tKi8JN9aqJXgKNW){u4I z?q^zOJ40doZu7fB0}4bC@*h02tV<~C)cpqsd`pBf3q=0y;61UYIPvG9qSVt<>|cSU z`Yj@G;Jv~j!SGlS@uZ6V;RzywwL{u9l~?E0PPyUW%B~{fb$TKnUFXZotjx>vR(nEE zrHUXzILAEc&}|P-B-7BcHlTB;W8e(b64VMR1}k{n-3&qO=t9G5y4~eM(++ z4mt)KEA;^OM7Frpcef`*88NRrz8mc`d#X3@c0(VIV}TxVSu4*MrB_#8mDdOy)n4V4 zVX7~$jO_(FW;wJMa8-M~02)J3?l-A{nM(I;U&^rsa@5}6wS+XY(nP<(pyj>Q6WR`0 z+3ta!@%E@p6{UkKbMx31ta~QfLdOkvkK=Yj`_zMAss?`C;n&_4+u zkdAWH*+aN1e?cFj`@}HteDFUGXW+o6=S+X8!wyN9Dj&;p1rB^{#Ru$zB>4NS_+0`A z-mu_D_oVDEa){&pZN>0==ZDS}x!}iog<5C#4xJwE2)6nAgxb)5+aY&kL0|YfXTzCg z{X$;hiG=5g2qKXO1nTm$bJ5KwfrnV_HiO=4#gRWYW(McpFG7a^KkUkYo(43a&pzfr znSRujQ;ee?sI%u$UUUl_7$NBp_bA|_fd}7xTtL3&d7g*^d<%u+7-{%Miqb;l6@E}0 zA&mn3&iY$%WB|%EUF?Z817^tbJLV5)=z=mSxE==&&)H~h3vde2mz!LJ8VUo$gJJlO zKFIT4EOJ?=RZ^A?b@HSptP|R2Gscxzot7faI(>20)Qzgs8Ngqs4JDEBZs0VYv&a}W zW&8y6+`~;7X8^CW-mgk1<96WdGEPOBGXBvb;{m|8e2t6+!09BTdxW9KS3u932^nFd z7Xzi?8+&k+r?Vi@R|Jx;kEL#MKKtsE0GfB60-xv(rUnIBc=i zFCw47_OM1jPW`X#<$2NHXJjzYwcy42wIhP1u$d=*Ssb}g+6L{j9CW>)xeGMwhKO8W zFHgh`T0#s9ogEN@;2dZDn>cucOW-7qL1fGH)yc$)1Doue;9gfaiukEfvmJs+UPvM#2}HI zs9)4$+&s7XM)>c6@ZUFuSgv*UbolWZ@Z&ebkIxLD-v{ZJ%7=L(O`wlx-X`it>BAp5 zKdAc4pTMuKr^sd9KZH#rEVHRstjupvCh%2s9NX|p{638~G3`I2;cDnr@d?lKL~7w{ zvD0ky>0KC`;(aTYmvwlc8gb+3?jD0WYC_d=)LFeSIu> z{0U{*cW5v4xd#E?`c-rQ`8Qhf-ay{>k#`t&a0pimu4Y`s-C@Dq1>7KT+2@r#Uk;d6 z{;V%4PkO^nLaW`1T<&WAanU7KwNF69YY zZ>?P~+G{Z%uIF0hZco0~DaHp1J^76eF<#*}r*<6gvfvxetuB!Bvcixf1^#i52)=(N zI=~BBlTioC#^23Yn{Z#+ga6n1b4&dNlIX7q>lEtm zWJw|XpD_F%>(=%q>|fK{uOW9by*bXAdTZ45wiacS-cEv^Rc~J*KbhV>L>cNW4|sd< z+fHvy$cwrhro9>SwYaU(&gf%WhlohPd3kU-#-?n|-r!$@u(3$4Lu{|Z*c5;*)B`6A z>+53BW&d+@4IG$+->s123D9_=Pz1NbPV1o~Wv3qKxehi{mqgDFX{Xe4>kv-_GRJiN zebnt=ny&8vzeKtw-zM0o!B5lm#VDh6{gjQaw<158uGdIie~f!2E<0V*ercos7y3SC z@Hh2+6u*<{J0SHPPNMGut6#u8U+I0{m!?0s7JS&pm2db8>12AZmwNYVdjB)ZD7{~W z-&Px^|AF538FO`u@1k#jpEqor`tN}Ydf%tb-S=_sPX9rjXCoe?`%?NI*!Mp8+I?BD zecCx~d^l{p1wNJW0NQ=|-6B7kt$)Xm!PNc3`28Q~-nL%JbiY*U{(mDKb^jdr{-?UX z8)cO4KLS0g?vEfpneKO^4E>86ct62!JKeK=qeWfzpIhA*V^|8tuztoErs%fL?vFWS zTBsI!H^#Du%(3io^wZiNVtXLN9IvwQyLFwwI-q|;GyKZ?pc@`3a>MI9`JV0==TQEC zP^NA`yv*rTXDB*W?2KlLNIl@KEh2adK01uKdkbhZV~*MtZLH>`ub>WY(o8K3o%V~M z!Z`$dg%`zoB8s)cuc)uy@Fnc%}A;#03iM1|pPwjC9@xGybZCEdq-{*YhFv|kY`E%HomK$;Tr*|W zaXke+BL0w%yvB5q%XvXdk*Qw?~XEMPrL zJQ0o$r;yGR8OJc5ls3&a>p*=I|4!EbdUM_p_7~>Y!Iw3yGv#(74{^ubQ~f;=Wnaw? zb)4_`uogJC`etLk(>l8Z>zFjGXJ*0%OGB_zV@wGbdm^de_Ye5CCfEV%@KHPXcf;B< zMNB`m6*5E5*dyOJ1$Fz8$PR|rJ#bBnl;d!JfpHT4@?xwTOT^CS28xK%3F`FX9MJYa z7oFBsHWN*^eF|{sH$~N@i%5o16ipH$qouFmLvoacn;kO`N)V~0- zyCECx7%|_S(WooL*cj(vVbq25Nb)<1`u`K~kijmBkY%r<1W#-@B0 z)&ntFy;yfc)-jY1{2M{nTpMHV$LUDM&3VB z*Hf@DgU>o=um~{rqc?G<{nTTwLi_Pz-pcmgXj4}Q)&iva0?SAq95W69H<7$ppO!L~ zcS`E|K^yrtf!=E}|64Zs8<77y7Pv8w3wYg zfifM|J4GoNAI`)63gd+5TgHc8=$pOc<3pJ?KEUV1#s~a1Y#r^@4Bt2ee7zUIFAnkS z%`UVoJ?e&(Jrrz3KnnhKwv9^M706|5By@dpk80Er$Oq zg8z$l4@I|1|2I6b|GOIUbnt&Ij=2AuC?c03KRjLfKcr*+?>5u_ErUGte-{9+3HIuv z{T508$370ZcLS#pKAU4e%s$IH`ad&{bA$AMjN{P%-3T2|hyOF@dP)Dc4*m~gK?ncWKk$tfDaT=qk%s@n*m&gn&i-!%>vA6a6lmD_zvHY2{U2m+ z()=IeI5D3h{oe(^<=Fou#{S4UjK!&@O$@>uj^j4tRMeZ=+c}4NczT$=_mtleY~RXu zh}$N|%l2p&w5cP1J!sQMGv5hcx&mdJuS6Q-X3GRmq)ZGvM*58Z`uhZ)CZEH=@n&E? zV6<-<`c`_w48WQ;78_%>?(1g(?j8&qoyd8FGd6Y`;~v_Wva|vx44#?b6>wlY1Yg3x z06enJ6IqXb*JR8E(i@%ytPwH12xQ&`IP>o}?ihba$D&V+5pjJ=AN^+=JcsVfrO$sA zc=RDR;;wuF<2>Jl&Jx+)E;BCG$(MUjhP18%E#+rbY+!N{dTj5&xoD|d%5teq`COFe z8in+;ZSt=`{!v4R<`_c%z7Tkc>Oh{gXU%aT8)dofq%R}=9yavTfwRv-zcdMb59;#< z@c)ME6l}=Qt=}1Z9A#*Sw0HJ@WBfw@H^wjY*N;wjZePlZxMeAQbB8em{^ca_lhqO4 zt+WBLb)A zV<-wf6X`FIR{4Y~N*XO!?MjY4}qw0XmdOi&riWhD9dBAUs z@z02jUx$Fl_SuLllk0h7ebWcy7uPp^E#p@|W9(}4_YWECn>F$AYvOt0#KY**`WV)} zhyI9T*uaLn!N0Bq{$Ux$u=B)H?p@RW(a&bNFEsF+@I_N0kNaheVd(d24$3iX7|MG} z<6~IcI#;k2S_sD{@&^Ixj=l`lW z@-S#NVvZSEP#WTz0Q3HRJ20Q;nyQ|2`Pm|}5;)-nSii}1rWjz(<(HYh3%(t;oMF_j z$uGyU;YH?LUe>=iY5W>v8P+hc({0B3e@(}+%r}N}`5AI7n<>Y#n=zJ^#OLy`(KPTg z#uK1orLB7$J+dS9r+kAXlRwbRU`|=Z(M*Jl1)=J{)y$KWg;#ZCtM#eI4_wM17s>b=B9E&FX#rQP2|uMK18R zv469#>wSC;@{{%PKS567vw!G)T%=>YZrE}Eh79C2E;ai&{Yh8&Q|g-S<>-Ss%)jEc zdogjd(a+!u4SU6$5B_s$)`@5-+c{=uD5u)>TIvdW+7VeMzvs|?wB>Jsk10cX!_C0K z!?d}ypNlp4^(?#GgkK3b*V1YoU8&&}0MA`z;*HVZSCejq39r!Lxqy2l-5d>mCE(#% zCjNN98IuYlhQxl*G90!jV@UA-+p-Wt8i5$nkxbTg(4|eT0hdD8mmVGN2tIIM*Jo6F z{{0l@tFXO8MdloybKorDe0>9DyAHfyA170>mRSdz#(Ku*LX3>_P?s~PXwZ+TIGE~p zl<6dBdvjsishroQ$NU~+YKJgBDO@97hFH-jz~@}L3BNr#C^V=-! z8C(UqXa^5qKh4lL``VhWp=&ig9VQ*LRb7j@FZv?V`k1|w`b{ui?5Z{PMYn13;cbi$ zWBviYX`x3zi*uR{xHDFwVn25vjWbnd?573e1?qvdPsi~>+Vt0r7nHxQJ9N*n+Gf1? z1!VCa>O5Z5!H_9GMjNNvu<)7@?*$# zDXvR!jl^XwlZCZ}wVqGg;5jhAis4Dxn}F9JS3g{RadGZ91b1Bz7bnp}0pu-&jalue z7s`-UHw&$_B(x}>9j!B<@sE?y&7a~j=icTX{A9or*|!5aVShaf9KB3lk}|c3v9in; zz8?d6#y^(aW7m$fK!3gfClr^po?j5ODHKg6A5 zW<6s(m=}8)ql8~72TyB1Q0=z{W$r@$ow)RR?L<0}K76w6m!Rx);O&UT88dLUM?~&U zQkJ@GlJ@3BdA9F$z}IzhE8vNE8*OpBz3pFva+iS?Y3Ab2ShW$Ogx@MaUTkc#%&8q6 z^lZc+4gXI6L0Z`sTB88B>a(N0#c3d*ySXdMcfqCjn{`cV@B+s1OpRmkh1(w@%qrit zrVXWm7T2+q>D<3eov9dXcjP6~nPaBCzK(;JZbuu)8+JthW@ktHz|$&Q7Gi7k1D~NR z<$7Pr#ko1x!YzO&l8bHW>!5q%T!x|hKTCRhEcD*~8hRbuAx>`x%KZ?uw&K$5Jc@KO z`3j`1vbprExtivX|c!1Q$CT(2aWbFT=3~6OsXpKrjOX{N& zt#p)00UZ}Ey>4YlLm#$sWl7u1Kv})a%p_%$-E~KqqbH)9Kf!eb7wd5xcU>oElh8?| zlNOXAt&c6VK21U^kxuAOUIm?3aOw3MoP?HdfZ4D114l1&ev&dxcn*a=>NVg{_Md6| z)Es4JlJbdkQ77p=ZPCT^NoXa~#dlHWKG0dM$;Nrf`$#9U57l4jPjp@UB}p08Uusdt z3%oL1)X99@b=z2;qz?4kiF7g>55C2r96o&q(wOf zp=|r{=;k(Dr*XC7I)%$R*Xo^&mh>N8Wu1g~nIa zrS@y;lBf^PL%CZ)?-q?F>+%bv6V-)sskUKxy*^u$lv8ap3uW?wmxpTtuJO2Xap`n| zNGIZ7Anksth4%wV%24Kd+4rtOxk11kh-&~Y?$yNiYkG&yAtuo}yDy#}aWru6sDRIp z;vC?~54?w(aAn2sW;@ph4QGO3% z+h#1>%s&KPu{hhBlu$3=a36wkaDjcJX2cI0!JF~q?m40qd)Nn#ZgmD5iHEY3_eWoV zF5>oKS5bZ&%DOKQ<5>shWg+G{AGqH6LOs{C39-h8!mt^S{t#u|bHV4Kf>ny1NBD>B zLmBr9OBr#Ip`SNVCR~m9*Tx$VH#GS?1z02Y8QQ_0bs}%$>>Tt!nfp+N$tZ*T(}+*D z`psChu|FQgSu~tOdxmvFK4Z=(Gjk(oHWwq!z540gt53&X{XlK6zJJ4)z`+NAAs&Y6D9i!}l5FaVpthg7%M;#r_4)?!Z&G0+I;5GMsF z-oV>9zgLER6qgHUSR>nIBR>5b>*Qm619lhY89v#6sNcY4BA2!p^9%QM-1l=_ zz=goObc5GwoPC_O59U_hFsb^3Zjmcpr7Wo^^Ke zt(4rgHe(1FWk z>^Zj>=VkiG{0e|z3 z14pDG4=|k5!rq1X{PjJ6*WpYM<$n*)9}6+?_5aNX94kcJd*FbKjmp2QA|B3VIb5E6 z>Yx?%qfz=>%v{ zA0Gi%&CAqW^9b@1>7?nnE-U5=QYUYsjH1K&GiisXw@FGr?o}W`o2Z37n0D*`qZA*qbS375X_QweaJ%d@gy{BkJ!_^SISpo zp%q9%E9;Owt$8RjR?6lDJ=I34trsBwL79KMO}-!b+&6z17vHVGHn<6Rv_%!Wo&}s5 znOAJdD?uLL#jpz3N{Mr=4WDVi^CQ2*c{R)>NRMZ+=Hm)u9HhOoZ;MZ(+kc9@DU#+T z_^sPmF6bq);awlv>uM;fx`983x)g5Ktm44J|q1P)3y{32V>9v9eW&7fv z9qV}p@I>{jJ!ns>8D)MZW&6lN?~^3-9Q*C*y(MMaYoYZ{5?b|d+0*(h%HW+B1J>hu z5Est`ti#2+Z?n+<}I@DT9t%X!5({F^aqcF-er>J?G~DIlF+Pgw5NGJ z%HW+DMte=N(3_EjUe+u2^d_JTb%0kRrkT1(Ygh}qT<^Vsdlc^=;d9p1|40kJaY^{q z|Hhu*5R@UUbPKJlB(w@%wx`t%W!`~&r01~EJ3k4%T|4aQodON&U^i&Kg6sFVeuwL~ zxVWy27PNJWjDa8}IiT zAecKN2F5{W97+piww1!_nR-OZ*tWB_6 zmCt%`E%FoOyPeP}^8YC9x*9OXsf_U!^4||RV&yFI1n|7eEa21T=HPCQ_k7-pu`Wl$ zVw*bD;+%hcKARDn)6pN0&P*FRciPY?!1;JPI#V=xIY!g&SYO%?bxhqJ=5NetU+pSR zWMK~=2kAK|cNwm&QV*j6GtYYS`HGANyY|S!vs-pDTnIX>OQxiubV>TwHg$BEkH__q z23*SiKIGBsaTjRD+5>fX8~Hq|Uk*FLxw~UrbNO&ap5f&@_vFV#@Av8O*k9;Q{cS^9Qp>sKe)c$KhVGE{z3N%?6>3KEBKBZ`iEq` z;o*N^4ckAlZ#as*2}O&(VG-~<`iB0Ud_xUscEvL`@C~Pjo4$cDR{DmM=ojdV+Z9d9 z$~E36DC0(a;bf{OvZbph1buBE4&UH)x;E}|iU|sz{oW%czQ?r-ZBoH$o7c+rs@3{E z`W0eP(_}2l?DvSJ8GYV&x4%6bK8NoxRCFi{pV#>nsxmilFxYwmsKn%n4m`?%)Lwa~9M>F=X0 z@;RG#B#(p^x~E4K2QVz>d~(;9BRD z_2@tJKdhtAh8FqM;u*^o5=YIuf2rx=$B->H9_?{<><@eR4zg}|z7gxktz18L4{>}u zg*ij(>>i=h>qO8Pk6>?HGt$TB^0`2cM}E!^1=fxZtR3+_7QA~=Uq3n^gO|^O!&dkX z0_)oG1^7Efi{sJZPxSs^?iH)|x3mnv+7ZuY{S!FC1)38;(#DJr(cwnuayqb$r)}F}I^l^pfpp_%@7VgQ4FT zEzqgg=80HqmY#-O*pmluQ+MUyAI7^+U$Dx6_M)$MVEuCfWk!JRG2pQOabF=354=OH z^cTRhvzt!@*Bv*^QilcdSE`JVi$~Cunt_8(1zRm=V8D1{7@0vw*~PEo*8IHd#icd z-%$@Yp8ujB^7awi853c=gYgi#hB4-MjEQjGMBhajj!efpMH9q2ZUN24GT2svSjW^^ z#(Kt}OMA@+encNg}_ zB531XuthI^EBs>S^9&2d6uvil2l)S$ybDGC4yPly9DLXG!}I0c#Ex|ACuZ!eJCKLF zDlhQfw^u*|`@EM@*EoA|so|dh<2$x$P!@IT^xn9gZE45lbtHtx0=6Wn0@3l~Im>XaxH}V;0qwg}#(?neqiQsb3pv@1#J!bRJ zVHV%9(|A$v-6O{O#daN#g=bq08{KX`|BOAbeOdd8Bj?e!Gcgwiopjh{dRvt1QG-S^ z+QhW8jD~-KXC3yYF&EgGIZ!NhAZ9~-bIu&bnIh8Qdo0F77FC{S4R&w27`AG@*Wz2C z;lX){@NiE)^$)){Uf~jt_zL$r^5e70Xm84)@Tl)UAaNiA5Qh0;~9s6Ztt)|cu!r1 zSoQ1`hzl!zJP$%U{}8kqCz!OZfj?qwfO!g!eSJUqF%AdY;`?1xp8K=t4(>InH2n=@ zQUy4_@g0@PUS(?OSo z!$-#2H5KI=5mRNmda<9&K6Z)5L*Y`dY`=r72hRT3>FpZic_!NDEk|A>&M4sBUORX6 z7}~Fo#>3QOdcy|baD7KVaVPTGU#0`b{z4sc4l^6_TKl57N|fdUkN8En^PS(6^(bVX zZiC-(T{M94$8B8m=K+^A#z>xOEpaX2XrFCd`&)U-800oBeqhkLP}0h@$a9&EJbZ^N z`nRMJmnTi*Ym7&*4Yu`NplOU@sG|`#fo(bf8wdO|xUYcjFkfzH13vw3J$zUr-h0XR zrSJX6Vd`{1LqEC4Va(HDmtMRZ^f{Dg9Es&QpHuZ_ESJ7=0rKyGU!C9(J1E1eT=U@W zz*uq;^7xV83K==y4P$NI1YGzy<7~to$YZRVbiRq-d|!$+u7Pv5rALs*`tBvZ#qW|= zJvhB^mtoG8LHT13LMp&p>06 zl<5fQSnGEJ`Br(F4(Rg4>-QmWmA~S6dJ)p9PW$BE?wb}_|El3w`P9Fy^NH8H5oL}* z<_uivxIO`G#m7pc_RVPNO5jsZKLc-m8;9co{pW80x8ghA(0LAywcS?W#_Kk?;S11G zJo67mx0`dOfejA={v_o2j;wDGX?>pf0~?;cy*f`Lc5RG3>w&BM%u&!=j7#|@^-gn+ z4f$uIJ60kuZgX)O%QYGtb9QNRtMhu5fa$)s24z&;I_bwe6VSI$ZeviCuhQn-TBEn(V)bFKqjF;tQX)pdLx$3scSbfl;#p0|rDw1a-k#xUnffgTl2 zD=iP=3Sr>e#T6a{?^rpEVLbn;<|QAYOfS%V7dSGeV90ExpM{vh_km+)iw6LwJu?nO zTO4M?FBbo^)ah;DT6yga2eaPiz#rQw^7Qm#fGLacDF@Ke~mnw_}2fq z{Y^u?JxT0ugT?-?0RGq6-#Flelh~h%ZS_N)JG8$g9^*?A+q%utUVfbx=+tX#ZpOAI z0^iOCPXOLQ1}(OA74jB=?l@fR3(4$|v8^wGZ)b<2QC_#h`)qis*j5(u^uBck%3AGE z#;Ajk@6-0*4VvbDU;lf3 z|6Yl^+<)&xZ;?(9vg|}TRR^{I?zPCfko+v`j;sW}_!bNOdX2um|6VM4sI_{D4G+2h z-l-1P09Wq6Z?aw6W8be0^wqxKT0LHmeLt3`PKVj>q+YrIJ{EauJP?k+On$dWrTMML zX0!+A&gWbr_y+qk()@-a@r->~JQLOfGJFGcQgG3KwPTFp_aTQO%{yf{2ORRm%ba8U z9Ej;Ko1iw13+a-K@Ujtk;co)W2m(8Qpx21oV99!;C9?5!>~Fo)>fK5a>{T2i`rWzGFE9 zGAUj09^K>Ek64ZI?Bu!CE<9IBnXu1Ml48W`hvPT*W*DC@!28+U*n=^6BDUX*_%8LK zzQ0xvy`EcLg#DID*lRJr@zFZFOQ;R|I?qEE^_y+Lc@*V4KfsU#}3-GvSztzdxgkVJ}V3T z(v2(2a{;~`a6xdmM$hWM41Wl^q*(}>w6k(2_Qg;JddB`=NB`x9>{j|cHTpb1t$cx6 zmzsOt-LTf-{v-ChTg-jsW}dM?pXZsrDEjrM(3QI%&SGHi2Int~vk{Zh@ND1!XQ&W$ zZ5|>brIZUen0MxTyNd~YC+`kC=gZi*59O&Z?je}(<4kLq0T|D0g(rA+k}lr``~vod z(eIb;#l5A-exNZKPp?k1z$ZydYJ_UW2-)@cK^6kcV6S0p+UtibN+1`#m z=fi#+_BSGHc8mO{urC)`a9(ItA@@oLHC%;un}zq?n(q)yGoA&0h;=aD1AId$=CiOa z(0#cN?_TBJIrXpBxo!UI@orvoA1)W|>%_RSqi|S|&$r=yqc^io`2InMI{g!MdL8+k z8`3Y`jx=gAE)ieWo$}Y>omR1S7Ve<%WCnvM+vGRt9Qj}9RlU~{b8tSpdLd+rJqJ7l z&jF)d$@4JgzS+=kJI0|S3(V($m0kjP9(XbJj(sH3&~?VLC^z$J=*xHyFmzOau|a*C z(1$T3CZl|(eI;mpUES*8?_=c}hZ%L7^>37G!uT317sxcq-GFk`*IUrX*YRz_Inr49 zI#Z|D{2P23M~IaZSq9%xD95#zt`DBMiQ&oTLr2)))njiah9{p39Sl77Pxhl?mVw>v z$Gr(-OFiZ@VQsJFQPkDSo97eQUOz<{<-2&tnGc>t*u+@Xxz$}m=hpEIOseq=1?Ot5 zv%4AR5%`Vn0?ZqluEhI+VJlVO5%0^U&D{wY&gN_1n@BUB(H{$*0zQFz{d%8m^LG!i zzq0SLzjE)Nd+_YHZHNu&{dP0@?Mn1n&MVAs@0hk1DG`x;$j^6He-C`>u^zL>n|)C~57vf)-^p1AS>RjP zr}$hw`&Bshortss%-4)Q#cxC?`Pi5E{Rn+(N=Atf*@B?AUnx*$C z?7PKmL-wi1L5q4w$K8sLxmz4x+T24ncpdtjw7G8qk88l5xSR7Sp6SATAF{>zl0}zn zQ_8})$%((mZI<<=&C=d?NtAHXnub*U4OqenueYL3-&76KQJ$5 z|Cl>dgjTE-!Seh04PPh5JZHn2`(2@mEso%va-3(m&jEW&GoBM#bDuLbx0f@t=Kijs z8tMTy=EGdxi+xO<8S4&zsGc|C_s1E_m<7BR)X$$GBK|R)hj)J7$OoJ{e9uzJ*^EA= z+kGwQs_#3t&Mpe6?+&ufA3<5_k8@Y`9PRgX9a?CG(ca5ZCJ`^=*?5#E?R#u!uSFjB zfb}-pm4sfs{7%J6l(TF9a=<^6^kQpAv=7&&Ux2RHZa(H6iTT*b;H$`2J~HZx`$v9@ zORWLb`j7LnHhtt~UP^$d5G_&Oma#au4KaFA~8)crO8clj4)*!neTSf45-Y9q+!* zZ~7Q=V?M@rvUHROKDxIEPNodKJ^7S7@MY?F(j^T=&-CLay|+NC5pxXV{Vp0$(j`y! zUyt;cyV0(R>O~zlVIJUs?811jg4w3mK^Eq{L78EL@8Qn1uG(Lt|50*T*Ofl_At&@` zp0~jHE&S%$jX$FdY3;GldOHa%2kh347TZhlH+>xV02cO(;LkzdDiik;=&N3qGHj7D zP*?me&(B!avOeZI+m1J!s8Nrgr5-=9p~1M89gX$CrQGkJZQf%0Kri32(0ka19?!Dd z(W?gT?lajxF~4g?oV$X1|;u&m&v*3)Ozj^U#r^O}n+8pY<7Ik^NcZW8e{sUBj2O>9jD% zuGivToOc`qzTJM!gL*m2fbo~HHl9U(3uV~f_OdO}9^9{q$!p=k{hCLB7q^X!m~FfU zIBiVr8}_l`srGAjSn9P4xSY4^_2GVv9iIl^Cfl$1rIh0d8=8jx(T_vOqa9nv$1=e6 z@iFF0J(mPU_>y27SDwM+cj@zQGvBSmRLQ^oG4*PRx9#F-GAX zOm4ncD5HV)*q9}9PrI;h4gAr-4|Es&-lXv@2io#OzzO4AVB2gD=3tmNVf@M_U94RW z4L8>qgfpf~S$|A?e0z-Ja=RaEn5|sz;4BHhVHS1Zduk$o49YW~aFm&ujWYaZQJC*& zgC92E(KbMPM_Wci5I7#3Ddjwm>!6m61tHG&5PK+HgLkvl!7d+wF8qjJG=aw2^&%AL z0$pHkaR~E_Xn%qEp~%M=i@SW68}KOCv!HGGEBF-BZ^`T!_w^a$|0KksCu6-c1#MJ} z`JXxdhw=WY!0FWSZO|`uJOFDiGtO(C`}{5S0YB0v+W>Qu$j{MVC^Oo2q8>Ghg~P@Dt^8UTU@PiJ)h$wbL5*qU;`|UzEI=R=ip7cardC zY(3t0c zSF0b}p*jgY2hMKV(fcOK?3MD;-YDk`i=1~Pp<96WIN8xHLK&sEO`ykbivA3jG2XlA zFU@@<&POvE;Vjrw?lChW8d?oxyXkZQQ@Y`@a|qX)Y4M_rXKp z9d>Q-V^6|gw4%QTP@esZ>kZn!2mX#QwZ7;983XW>&|Pd@QIEdj9gK2*_&3CRTj5{! zp{y6*5Z#Tkr$B2Z@(V$q>sk6bHAeD%bvu9?9)LMK+JktMPvsv*{-JfI-yDwmWKge& z3AL@GpH7S6y~et@;IC5)jQ3Wm@;q}si1hL9J?6bcx$r&=u3ePQtov;a<9o>FejC?C zG5>~h=i*%IcBcHS8yXoHe&}>U%odCQKmugy7{;IHF$fS8w@ zC+-4nWI<|ZAjYUKi$w5y;5QKKAI6&bO|3BE&s*eL>Jjh>Am*&rQq1ET>J;EyLm_rF zf$ONqg5uC-*b=`JMLO+(nY7XkTKAC-+rWq`@!fysch!vki*+Qwb4?oSLBm+LLcWJk zCXo&)Kh6ht@{y-m2L0s$+|BjMAo#5Q4Yc<}w03pyhw=IJJt(8kr}re0hp|!4U+7QB ze-3b!zu~*?mH@8W(b`V+9o9ebcDhX~W7Z|DVGHPn(PmSTXQe}(gb~Z7FCzYF+*$os3zb0ClH=!I`mF{AU4&v~lezSjdU zS$+5%3Ewxz{o1E-F&0O?eEQdpdT9k6et(R4%`(q?2BUw&=g7MYd3WRDIcBcC_^!TA z^Hus^$gJe4MV<6{Dtrk1ZmQvTjk&Dud*RPkf=?LVxoyMz#S5QcwB|qMX^5y+uX;sn)0zM-`H2=t_9!I!)^VmfzNsCoxlxn|4s9+hk6%=4kJ&| zrBC*Yl-K=diyr?y@ZH=mGkk0uX93`KF&`U;)5kVKkH+)O@Ui5_7!sddh5y;!Gz4=? zJXetlxSBI6y;-dnpU% zb{+gK=8$&%$PZlF+flR+eT4^SCfFABXn(aHxeoLb$u8%F`vjkplWU&e5Fd6nRg;T- zqtr$&?g!b)^$p;vc2a(31L)Duj3OQAS?SmVeZR;&OPvd(|GNtKlxKuRp3ye)NWa&q zzYmf$`fD_(r%W3fwPxI>6Ak(U%HfnWXn*v>y#QBrwbmgkf&Xg-jhE3zd|re4QSqN+ zA9VIBr-7TW{mfX9l+_q#4FCEu%IJRRk|Z?3kntWV$5Zmoc)hCAV3d6V@bBPKYhh!4 zwQ>VeXxJq7w>WI7jk1g9G-{0FU*G!``gF!U}cx% zyN`%rc()YfdmLhdkMj)r{%~<5dno;hIOcF;PX}>l+BVMvh39oV`%`cU``(RM+uek< z-E{Dr0iHL5=S=Krr5G_@FZy6p3;G9q(sQVb=TebdeyQohaK2!NBP~u}$res63b}#n zK7)NJ3(xusjhL(1XJj1xGqjuUB2VN?zqyv@JY~>8(#>d?i9Am>d>PhyXVFg;j~3TZ z%!?3Dflj^&9KJ8x&^f>R+2RbgqmR@TLhg_7ZuIF`1Fv)Dw?*-u?-pnN?UItbYVSjQXse4{ur(It-6_Jgj6c_OQ@{^tAFadu(*YRs``gO=Br zV-I2c+n~jKoSh4vfm{O5G@lucc))bbbul*&UvJLGI^b>M(|Eu>Q z)0NOCWTKuGzB&IJ+Q2e+k0;{Eo_z9Y#CyqGFpkj2eF%9u~ zfvo0QBHj)h?+&>r4C0uM*yw@5!gp3&tte>K_jdkW2hFAjPDdV$P502rGk$e>1 zdf<6R0WWn@h;?|D{GDQ4%*V{@7+1)`^UQ1)eT>LK8B=%tV{|Ex+l4-Q8_vPNZd;2H z<51s>E;C~_V<{u>KE|Ez;#V@&9>Q6*b%pt!L#Y#JH{U~BWWwL5G0n-}keBB;R2hCB z_HE#C@0fo1`}iG;okBk^kQeGwtF2#lAr=%LuZ&ox;V*-f2km6^SI~jInS0-8TiSCM z)IWBfWZn8}`0fGX9+rFG?GtdGWSM!MM9CMx9{5L~<-t2$NQ3=T<*{rwVrM_5jLn^W zOs%mGDs?XRzTW{Y*0UUU)3?Xp1GoruVze!Fc4vvwX{?h4?ladqX1mJ$^55FvWnoV! z*8Xz8{1;M|iMVt8;@pMLyk8GFnk64~7BtIT3w0W!#!=@i2j9-vd4M$O|1qABh928; z$hp7-t)7fc@i{B%aw*E1_UH&^0Ee)>fZ?3fiCXwQ&XxNhU4*`U{+lY zW_gRQm$z$Kk?@5OD;3t!sZhDMXQ|I>*EwE>oE4m zWg@+gQBKznVT#U0$m85Y#Tehxd7|HZn1tspGY({1heniR9eyL}(RcD3{T~6h>XYyC zw(EzK^JkLI3o$xF4LaLx=oH{R-iheYAMm|eui&DcP#>fp-s%kIkQQX4z0(iv!uQqb ze*&MI{$~|pFsXUu4*1&(SD zD;=E0x2;p9Mt3skUMp$eC26bm!`+n8YQK1{*G^9*z`Y!F?DB5V_)%9+fsc~;QptOw z#+&wfy$$cIzZtx@sb}~xXWYgZ0NY|L@Ts3GEOhd1=rsK`F`X>n^LbhB$&%h6jULCp z3vKA}`CZhzlU%)k%V$?dgVvR}GI4f{*SXcd!QKyJm=4TwQyLy0c*y|y>ZSfn`6$v zh6>1AK1>Apyr;3xfp2GEUO3YQ_*&^Uv0vZMfW- zkjk-nhw(n1rp&-h@|*kB%7YbOEjc*ntIC7^ue=A#zq`$Kl#MIRBI@Ne*6+0W$tPvDmKiu30F_(|{?dosFR@i6Mu4d?TL`#ADf_AtwS z%(AcvWgjb%r)0)=s`30opdV$Xo-@#H)ZJRl7u^<_4V$RUez^lbk+HE0=u__kWeSm| zy*pAoj}=vV^Xl*RIhO9l zJG^~PPkwDLF+MV|eLUokyy|ou+lzM~?Sc%madBVPk9qQ;yH~$_2IJ--d|&2XSNg^> ztRZ<`{rhV&OWx}x`kgHj`Fy6Zy;$V)eQ~F+7x_`{5n~_c$-ZJo?OIQ0mdmyAUYy&T z2%pzD7~hmZ`($I^JP&O&9=18+2@$&RJnWxhKa_Qc9na+cY-GVytl_7HIDXH8yszPX zNUQpz4(*Pm4$O^lcK!t4O%A=UazKC2fd7uJjk9)K>v`-|_{B>yMClyV?K$kzwxCU- zsKYlS(Fr`SGx4lr=`Oqn&PaE57T%Pp8qzR_ZPb&cU-}w3W$P z`Q<1V`7$~|wPht@uxv-x`7w=VO#T$e@438#{2u}DP%oTc>w)hj_4DL^lHtjJ(w*LL zWUwdy@Gwt)E`A@%M&3oh!S8o*?ZEXUu3TK{=eOh0?B@>bLR-wn^{O-F82yr}kK#Ro zx(i>~fj47coHzaO9n&Xl!JM6axe;gE=x@N{x&&>Y~)`3 zVdNd!>$q@M~);eR+-WZ9+J&3sh$1 zWr5E`*b3vJGi`J>f;wxwqJ!LzXn0xoo3`DLouQJNmsH>Csp2f_!Yd zn{CRNy6b3ni-2dGtt}G4m!Th?C*WE$3$g3K;pq0;0OMTE+76QpIXkw)EZ`~sMt?#- z@>}SWaVz>tlWyGivOTa~Gkm8tChkMq(J#LaoCeUK-ShdvlwBg|LK#2&+GO;Nj%SV4 zb2%=|QBpz!Yeg`!pbO;a8k!5=d<5;>6}nN+SZ4a*e{#jDl)mus$jjU%@)6J5z7Fj^ z*dv1CJj7m%dB3xv2=BKm=xOSO{;nJP2%eKU@g{sa;}*1|(U8>x+YzuY59nn;&i4?f zY|Ruw%HJmOjCal3~VeA*I!#KBGh>fp0UB^JTl;6P0#&-iLyBlLD&y_5~b2;Xj zQCEWlvNL|B@bJvz#x?Nc@MERxdSNVt59Zz#&)7JyXEHIxb!-F9LSO@W<8z47c)-Ic z2D~1{*skb*_dK>C`Wg00K1Ds*rvi|Jcn^U7(}?jrhrUG~lb|o+k`L!p-v^%|;`n2O z#L(Bhu0fDn9GePxUv&;Twik0>_n9>Z8I!C;*-SCy*pN-nJdLwA+uES-FybWj;KzBv z5HV!qM9dLB!#LWEec~n~W;&qZ56F)=2W?~5K0Ry(s%CeCON%Xh!zbqsH4xy}8yPvF$rCqVRl4T%4ByQ>!(hqJC&!|1;=c0e}2w@X~v! zUC24QphJzrbD&$$9<^oD*!H(^PkT?wu{zP`&^@Jp@vr!|)E=R8cI0>Tc{7R)QyP9> z4E=srpq8;v)${|m}hk%N8}_gz?f zBmdpDt+0ju-8QnX2z7xg#_Sc;X>QR=?XPGbMPtvp=D$pPt-0D#%oi)>3df#>{pS~~ ztMQ(nMI_HyJhj@Rrw`PuKdnhOXys zf7xn%k3L`h;1}3q*P?CuH}1MH-o4fp-wm~_-Ah&k2>nI>Qw1ZMiu`$|05 z+*i^BeX0%8_h*O=q;G`Yuf(|0nCGMa=P@?4xBE|gFXNZ+dD`<)uCDfdYR~t}A3pe3 zw6FgT_>uH}eI@dK4efsmW8~)SMVz_fvw7^jj-IZk-}v!^ul)k_i||SE^G|}F5BjzX z55D$O+zY?3-TYVubgA*A-^V}>E5A=}{JS;k->kuUf`79YIUn}UHhOPp2NQdb`S~Of zBX#IOt}p6eM*Z^`JBpo{uRZx)+aCK8Xz#va{9C;=_CLZsJ%0r2Dt(^p9PSZ|d&F7d zj_6qYF8nt7w?#|o-%S>?pRT_Hb?6Hj^8SM>@IF}5W5|nZ8(8UH@tye>j6FqFNxrYHB)?$8V5t3qjtuG**eJLS>6^rBi$PcQsna=LUu-1G zxr42TJU!3Hv+MD?wjfzP{|=s4b*;bjavQt@l~Ey-Kl@e15Fcb?MLX z`aE7PyhxtfAbl38#|Ay6o%xqUzM0GJr}=ATV;}#Q+xlvgM$2yOe&(s#n?ujmZr<{z zwJE&xTUG4(bvW014Dsmiex&8xguQ8P_1yoTcneca)C&eajb@eV$n}FqfC)v-FJV)IVB=y>muBOUtma8`k|$OTH-?azE0N zZn_TTBcMIJm)-v*UWvRA7 zPufj;eWG*NLG6DVwv;n2Y=HdkeAt-JvSG`DJr9>!?ssAR9m~tC{;4G?L(Quk%)PF> z<<&Nx=VM2|T21p$e7Et1=z0B!nAdmW_kokdT+YN?e*eKyab`#B2fa7M3X$JsS|1(5 z_sFin_msv8N)dyweqf!s2*0JZXQGxpwhCv6Kew{)QhxO?{ad6Odo=jv-lys8=_Tv3 zN53_W^~}2LyCjb_;nA@IN6 zp1u33_t)G}TUUSQU3VY&)IF|7w?}U}*zEnxp_W#kzwQ1&Fx1|0xbw&Zh4!K?#ap-C zTC)A-TSy08jjo{A?F@zjUf;pnY;L~~)pmEt>-X830{&K;uf3(k<_+3>{*bN1)#CLS zV$A1i^E%xv{-Ex3yINWrUG789pxfW3%jXr6SVy$mZu?x+J$M{}fIndK`fNT|$lIaY zloBa!=s&23oGq?k$f*;z)9Y*UtLH-gw%e-p!v;mz;|)6XPPg7h<~!STp9h_i0^&L8 zbNM{5TXzMdX2l=L=MLzukS6Tep|!n}y=LTrJ=i_F^2pKHb?C0EU5(R}V_M zv@f7H=>gs6Cd}Rb*0%PLUgoCm@6nG?n{)-6UG{QUP~TQ;+&8v+TRc?(SF0STw)P;l zJ&e`30zo~%nBLijKIk4>d3zJIFWeh00)O$?T!DkI#JE~r!9%t~`Vm`edoW~c)NRGK z#v>uJ)VLH@Zofyg*s2GEu7f&jA``%c4hqIVutSt>t|Kjemxong+=C1L=nvq=DF|>&|6$!zE1Q$!D*U(^ zuF--~7hb$m+$isjxRZJ#{9g~cU2U#Lh(>8J7#-?igbGZDcw`~a0rdTW+ir92b7J&e z?Je-wHgaXzZp3pqBRb>8w7|$ow_|tu!XsE)cbBcv8#0FCPTwJ)|FF;IZ!<=s!tV?g#3P63*19z4&_JWAP_d%5h2Ch z;)Oz~z!)u~T^e2CPs%yKQ|*jOSZLd>|poUw@=c57S7OY-dYU{0z(6i^_sWd~O;9y)(3+$8Hz& zyZwPfdVt8xVzF4Qob%MwRJvt1NySCG5b<4zA$JE{ZM&-NMa~_2_m`LLbvmn^c6*@_ z7U-FHHY_}J0F21$04Dqp|Y;(odvhu>pijuA6 zcDpcK{;^!^IQYkZ`OiQ7&E((ob<`K-TGnbG+k{P0C7zd-&d*n(-iGo3$|003C>fH9 zUX-~gPoXTu8$2aA9Ir&V7iA5~F_a#ZXHj;cM83;nhgff>ib_(SNlv5~oCNpN+ z2fZj8sv(cEXaD^C3`&NB)4UYMLO8_Ti*mMZejfXOmW#tpo`w(cG{7#DT{vvTdws0o z(fRoylwJ5x`3%Zjyy><9hxt8E&d=YAa^N`HLAjwHdQh^j&(CLOg8$_Fd?`xyKj!C8 zpzOg122xS+_K9u7q@m>giXm)-c?+LTQZ_dw; z&^^ivC`<7H(bY-dL%9>>EXoFyr6cq6M^O%-Jc)7$hv*NXzvFnr+`t!yo|zY}yDUX|eA2)y|#=yX|j+q2ovWmO(e zembf0@yy-~#}nyKrahI~ms0Tz@7JtD>F>P#*5tYKZ%(}a#%pKMGC79P_B6^1@Cnsd zD(CQ;j-h2*KrF`?prDKRY@p3zo?1lbgXjADY+KD){QP6r~_{QVVra|kA;hT%0 z?Un8Jz`jX5;|Jk*z`Www)aOzv9#8H~s!4zQ9Rt|1C$%Sd*;CfC*WY+k)vcxJZ@gai zW|`t4U!itwFV4?n`Cz<4=o9^|dfa*kMvL4d1Nfk1jQE!$7PTq;@tTi>EZjTj2#R0bLRz5*$425 zIXDR0dOnHRgV@FY5%Z}md&pYxZ02(r6_2O)rah7RWJ>u{$$d!`$NAG*`7_pji}h!4 zl0~y{BlCeWd&0g&ym`Q)ZwF!z@#2RN(QX9qfiUkT@a_a} z|4ytQ#QUn?Ev$9b<-@q|?e`|F0^5`QQ7CwC$468~Su;XfG7e**lrJ&5DP z|Az*Dd04;W32XBL|3lC}0sc)`H^_ImQ}7SPj;9!=JC0i&=kACa%%SjLKE?aA<5n6{ z@42$$);lp$`^5Mix7MS+!+2hW>K;k1K)n#{AHceE2J6un*~{bD`=lj67ONO(gG@JM z4&Z>f1a=& z+?x{ub+9QHjp)_uZ|q1X-l~i;Dy*M-{f&Ksup?s+5g6Hm&q)aESEJO=qb8!9!=kK?mToqZLxk@+}s^Fh*mH4~0NI_8?Z%t=$7sIYEo8?aivUnT0igT| z>ys91H3Vbix*#`=4|{cyTrh#$zQuAQklTd(l;Sr3(*$xA(Q-5|XCcS&;e?}D7x5B$Hbd^!mbq)=_m%=OOvJ^vzjJ!4azqs%EIe#8CGa| zj(O@7^Rzs}CCdQO%g>z`@uBA2dBhmlRg5V%_75@!XN2ui@o;ya-mhjnFf{}kO$5h+-=KQ?PFon^6XCr7Ar?CIR zx(a_V>=4NhK_iSY!kkELqwHX3ATo=-EQijA$ftfF{BZz2rFv8SWXcn%WqnCcCEqQE z4qj!fo&y$@YEfgvU-qfv64 zsBXh?`pe`U=gz-1Sr#@+v|2{30vq&a40zzT5{#I=N%W`95$=w_L!hH{9*N^CP$TmG zqY!U?7kg|Xlx2@0#ziD>Zb-@m4v%y38V3Iy_-&}uWy6d1#T@%%%2}af%Icuqm-Sr; zi@jha$TQ$M`hUQKI(SM&CPA}eXK&Ku$>lT=YR|p~49nkn`*nPn5-hRvhLJB9!xb+; z&oRRnYRZM8a7t2+rK%q7MlMwhpTW$i=}YNJ#T&<1=5Q-sZ2p-WEw)15VmW2Oa)m7u z9`;zNI%ee~cr#1`0qq?7xgnqgW6F)U9|hB(m5-*d9=!j}E@=H0)JKwrLGMY~gnE~3 z_zBBSMBf1mKa;`ET9C9}L`#{hPeY99<9sxejq)By^(XV`Og5YX0|rw|P`#MS`?A@I zv`whbr173?HjqyB>2!|cmA(vOAIjhuo=X`J>doY1AY}4WnQStX_hhl|ERauR@wqH^ zHjB7tviQX;Hk3_u^eA~2AXr81f`xY*HFWBbn(hY1hcE*aQ7p#2N$_6xuN*E8`4zg$G$z;}VZNuLS z8lT~;pL5iq_7W(fK0wMxlK7caHl0KdFD3EeWOgE%>SvPqcq*F{_1+YY>}V{7=#weD zFO~I5^n>-6fbFD}pUq(XWWrI-=in8bQCiI)7WGx zA5CMIQu$aK8zDm`(|9j_Oe=#QgTca(vzdG#i*;p@s=h2fl0}BRs2!-pRJ8D;SCgaT zGtOtpkRccX$}I20&Dk_Qx|&@~G2i2(@IQeQe zu!NMITms6OCA_ZyAG;?dONn}H*(PwDUB-J?uw%AE}+&VV14(gBD_$eD3wvmcS8}GjcpPd26iF|$` zpH1e&teI>0$qj7aT2M!><#X4vnQKAqx{i-s&xWr9^~`m=`+C-OJ*eF`@G~3P*bSgg z+`#)bvhIzb_TR{-ZenL|1a;;{e)1-KV84^GlQ;93o7vRO-RRTN&3vecjcg{l&HPLO z>n?!Yz%9J5kWJhI=9xl1WM_kRIw!)YJ)<=YqSkFaVL6r0&T1ti=o#n7^4M9O`Fibcq)sZ%3*W(o6p8D?{isCPBD0TbNTQR zb~-l?^h>#XWChb`lWW=NGJ1wlomftziaLgMl7^M)7nk$7 z73{?*1cUd2zWWfP)4dles9%LdmHeS9sSSkI2;5jcZ+{KVC4 zB9G{^d3+pFS5tlLYTmn!OXGgFRWwJqTaQhkF96J>p4K4UC%Gt*dUxH zpN-o11oVh{cRoJ@J^4hRf94M?b!`WxlPzV01V%>S>4$F>~1CvRX zipV+3do0~t8`Ss&*CsVSlB6Bu925lJ$z<{`Fda+cW69cZ647Upcz?3im%I`538k|^ z=yX_aYdLU%Te__EeVTR=aZc05G=4gXO=+c|L*+CK=bU(w_)L;^G6{zO+NmUI8e1*& zY_}A&92n!4NeiE}Y9m-}G_8j^%|^96(0kzYTpLBq1`k)Vlla8u{4*D=mLFOx;i`R> z13hbC3h&C+rl2BA>(cneHQFhSUs$6}Xjn`&1pH%Z)VmA0gxJIyZ8~Y#ipQr?N#H^% z2@j<4ORL!Fw9^(mzyjNUm4*O2w^ZxSBu#^v2(#J*R@gO`*-U0GLxSi;Y&)h3rv{o)cnyHp!kO7)SY{Nhq=M$~(k@gDFm zBl^@b-nU%qUQYF)<^047ZBo?dmh;(F+TaSZ88dElrG^;?p6-?W;wo)qCDk$Gj;+#; zt|Fe1ReWxhh8YKXKgCJ9x0a8u z)lP{zc@q}y9~16k%!avT!ots5HGGlhjHVsa_*ss%B@cA0vm;y^;vDty@R)5}kR27W z6IN{)i?gP6YkZQk5iJjNIQf`xa^eZg&ip9c?iI@p3EAK6ytp4U0ai$E+oY2^Tda4%$)7%~Y)`nU7#jCDYT%WF!V!PYT726DfQuMVm}12IojB zpH04&c@UDTpF8A<0p}i zr1M$iOX>V#I<=OaLUmxae8=~k~x?& zlFGW1Npdim52Ud1WO|6~3qcaA7%?IVgAlD~z_!bZkTpzs`nZKpFVRj|H{vhaJGn%g z)<&)UOSRLmVM>~^EDyOsgSdP}8L-mOqKD9#Y$));cIkj+2yG9foU)Fj zvy17dgPM8Paw+KooPeM)FB1V10TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe z0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe z0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe z0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe z0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe z0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe z0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe z0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe z0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TTfe0TY4$PY{^;gkflpEW>8M zZxz+jy^^xWC~Xx+xj~llDJzluZTk$$RP_h*E4eEv4T}s3YihJ)F;?{cYD7{PXgj zOTDx5e%l6v@SpNtc29Es?ur`e2fsUw|FxQWq+gk(fwPH&i31@J>jxV(71<1YV*l=_ zsJP9x@y^C}U#Q(?-%_xppm6iHc5z$uxuW8N!r}t^jq*XPZ0xi< z5oD&}KNX*&>71!J9!*bTDjr7DlbMR6(exCi;&C)Rm8rNLO;2NOGOk3^)5Ew%)3J)g z=3`*cSSC~JTr__c8<*=}G(DS5sr5MGfyQ!JE-;O~G*CNp;?b8dwVp=GXlyA{>u5B6 z8DqbW%@oM~x%IcrRP-4_^$szJsHdv<3Be^`(x>w zB)ukv|C69IwixGf$sfC4H~_jO0)OR2hMvWK;t~9d>5oeNYF~m|aT$6R`{7e~YGI4% z27eCQ5aZ_teX*Z>6M7PlO9q>bi_hYDHzw>^pqJsEE~DL5tT4tum7RkzcAkaI2iY?< zB-DogD8HReKv(-VB`}2w`Lm*{{O~#q9MRSOPSKTq_M*~Yl!|UkKyQel`=$Ouxqnpi zC>h~`+O3SC_ey$041GJ6AL0+i(Emx&dt&GwbcFZ^W9SC{S#0%x#P8QojQs|GF6)Vj zlM08PzmBgbcQ`)1Cjs5|QhffQ7`n2*CV~CqG5pF-8##Q$rS$Y9(9@NGe`+p53932R zFcHpU66X@RPx*wT&)#kDkIIeI1Cl;|he2O0=|hq}be};#Aw&2NBz@|nK|hA^rppOA zYPX@&xSz~5%BLlrKW*Hfl^e!v*hTzZPZ{*1a=H3~q__1N^i-*TPSR(440@NOw*yep zQ~JjSeYKo0Kauo?FBx=Y=Rs`Ph@b5-=p`~xJ}2qwyrodmUr#{K#Kx2KsPmQ<$zPCw zUL)!1TqY#>1Cm}}W7zYMq$@w^`5S|-{wn&=-zkbwD*svit7y97Z+kgDeJF-*=*eYg zS4cyo*gq-zUoZ%ra=a=4CE?KUb%Wj|>8jn_Q_<}zJ8Kfy+4G%fex+wT0iB(R&)@ZG zeEQVu(e$uAm*UZvv4)sDO7XWP;O|Vp-;;pnm$6iNUZqeqa9hR-6VMMNpm!#q_r;|nxWwe!Bk)fPTcG1sT(3yFI(OSD>A#kA zb^f+R((O3-B0cJSZJng6eyQ_0NoKWze_8n4PKHDFCz8(OxlD-^7?X5$j=MTWe{4Sg zuF@m%FO>YN&{Ycq&M|bu&Q+`=ZvL~1mByv#u-TZrs08}sM!1CNVBq zOwq5CQmWma?C5qMx=g!c3ECZxX;%|>wHYD~Z%0$s%rgVXr?hoE1B z^;hM|lhTd;yQHi9Ay4K@ZzRz3L(s_{wO**UtU2-9T>(1rt2lf>8dU)LQp&HSe~w7{ z7Zd1tIsyF~3FxmRpuYurJe>anbizmF;X9>0%h17i{EZ3dA<*&vqU(zZ=>0+u^4lRp zMBy_m=!?{_anQ+5wO^~0EbmD@Dt->gam-y3-~P>@#(51ez`8#q@Jfh&&PUQ zBl8w@0yPXewX61ns@?B`91zL?_B9`0X~ew)GXJy*ZpIFP9i^pW{I5xVwGZmT z{+zDgNP4WFuYjYHKODVi@C_OT+XA}4^Cg3@TGID}9Wy($6yKG12tt9>8kPjo#3I^m|y{ge$~ z7yQeZ+D|F^Damh>^S#(m!~PX?#Un|g__5;ura?U*A0{K9#hXW;NKu5ZT#s54@c%c#FFP4g zj7mMR>&2v`7yiOvJ|^SsuM+6b!v`DU;kGRSy%Kc7N9{+{`)NN%zDnbw&H+lKt;67_ z{^tJJAgFV#38_b&KPwyN1b;+FWwj+Y`$@=q^t8Eg+mqS@$6|*{KJMFDo!4ebah^|NyeX^1bSWoU12D@B#OUDKz~*0 zkG1n6=<(*ojW{TRgvge{KRjUVlF;=*V-133J^!ow)-cZ-Jj}=wxnJON;Zc?mFab@)6kwGKyfRy{W0d%{+QQKj;mH^nf$e z>U6jGeR_~>@Gz&-<98lx@i)3!oSu+B5OliQq0Haf)}n`WPeEaP4ri0s=XJUQ0oM_y z?h6Huu%>{kRd;&YTU(DnB;w8q&QKId|q7bYV+C)_cwk>GX1dFzK^d?t(OUQ{XdEEqx zXgjbAjoVB1>7i!7rvd}h=yD&bbcI|WXnRc+q_*DWYH8OUwR=cIk&@lzYw|n9)lp+F z^Z^l|-r;oCbksSV;ST;+nbq;(t*N|1Yl;fX+-^M>^aoT|e|wl}sygaQoV9!EwmRcO zw(AOwyyB7ES6A$;`Y%N7qZ#!3@UD+Ao&v1P*k%CwVMaANHWcqd>~R>=Uj&2dx;1N9+Y0kyS7S=Vp?1&WzZC4^y-tKMjR8jE! zASr3XE?+R@^11cP$HAiQiZ?n6kz|`5a72fZA|s~I8bYB8A-l=%6tg6@lMAu7xTZbW ze0iHcbmT4q_~>4s-Hl~PMT09f_X-1j(XDkMSIFz$p@*@qK_tKH^dT8R;Bm@I4-Z_qxH$Y zO{HXNe#Hczj=F6N3-X7@YKz^NyT2=M{_ufH294ih3RTqIU0<=YpvYbVC#kPfON^SJ zm!HhEc!lLYwB=GNu@eY}T_4dLC3j`!d|*mUy}V1Bb7gApTC_YbtXvMcS!txDR}aue z!`QF1iH!u^H@keEV6*FxzG#=S?a)5gLF@+@9^1uJXH{+4K8Mp$T}ex(b4T@^PRCA3 z+*w&m8>pb)Ng7*pR(W?pKyNB=IuCYsIRhRACRe|Q}_f;rsE+*nI@`kW+8bTe0_p zupA+~5WU+UIHU)*@Ao-6bvJUU#T&8h^+(!tVf>bA{cub)*yA=@IEWV9jUp2v^OSRK zQ9-26?S~SB*B#JZA>HX0d&J1jL|R0?y|CM~m(U&;<~dy=*K-~+lD)dntxl)Av(s+3 z7a5y6q$Jpm?sC_K>~?pv3;XAQ%Nq*ray#l=_~Vc^ki8wWcXKxS{Vj%FE`rkO(V@bB zM4IZ?18&_J@;iO)t&Mshsslz-&h}6f#RZH$l9E>JDMNZk%y3D>qtQ@7{>uBXEuaT! z&)n*cYzOg)!K4=5w`lw&;yQVt(FG6O0cgUxangVk)u4tC9a{aK_7>gQVTXSrheeL* zZpKjscF~c#!>$zNg=#Sk9~Ic`V(J>F436f;=9)dtt#x*qeeO<|vk@m9KBwCiayOU4 z!^_HdIqd~oq8dKf?h1IKS{9PXfBlfto#AO0r6BC+JH=!cE?6noO(P|WbhzUEzWsZ| z!dw?BDs(zS%>n;mC(t|?YIX|bYW76oZ9qm-3-eR=INJhn@jwXYDfd)g`Iv5Z?sK|= zLGM8yl5}iHV@FnDZG;iwJ7Q`tIC8t!7ur%pApkZ-ffYHC>|*m`MAr(tqp`J_W}sTr zwi=tQTICjE77DBuqJV%f+;#}T!DE~((Kf^Yg^U8`IJnX=16y1{gr9I^jA$-;LZC4* ztm<4QvJb`~O3>|U(^YI%hYzNqL|OncR>nDlzc$Q;8{OFXe}f$Pz+jI$B*;Sg9v z8|}Ws*gYEcW>;{*KgCn=Osv;-I6Fe9tI^wGw^KO9cmh|#D@MCF> zKR4t^2K0oJGwgGblW@V`qEFM{sUKihI zLWTz_*YM(yS#>O8zSBk`+{EHow>XsEiflq8JK`iV7VZema{m9IiWR>8J^3(>Nrl z)q^-AcGNaPm8Yeqqcvgz6l^zIl?$p7_YQlpLKq8$@zmwk&fZpow z(4EoqGzQ@?@|39PE}t}@#UE6W&>5uUirSH3e0w;4)5*3vKtt-I2G<@r=eF-F8H!SCsZ(%_ATq7mNke z?TZ&RfvFtBM!e&Kw^;xot=t}0O_X**6`PZY5J|Z~(0iFEX-qr0R)=RBEsNod%SbX=UrbA&f?BrCa^}B>kTgC z3D|Clca{uUg3j08(n5CBg|>Cz-6cQXw+Tm%t;U%wa(pC~4hPn;eSlgdhzNyvzbUk9 zw|L^{sK)wr(AQ3D9xZo1f1nlbrg=kpz(qQ1z$O;|%C`OWVzCc5Vvp>1aT{VqbdZXg zR<~9f8wq2@{)iqQ(A!#EZe;qchwr&D{o|K9(kHpROnD%8_6QF_c)vJ2wx=+5lfPs zeexJ=PXw*_aI;HfQVTO6Qb8oFa#0Z^F`0~m0X2nWQwgj!Iusi}>`rG#>tzDSu6jhf z@O!{GA)t4F>uC;((hpdcqYsaw zTXP<4#qc2S41~m+Jj(jWY(n{b^n8??U6nUR3Pk#NcuA5|wyiyYt-m)AYIn6n&I>1b zr8**r@=2jh=8|Ijun@GvyJA)lJklC+HKGg!jIvqPeEyJLfS6n$4hlAVJxttT*V4=i zJV$(xG|EuGcp{xP>c)v@0lmdV0?XCC=a$ zeUjv(5%4iFhObiMyAZ~uK8L2t4U(=3`LQH*%L-8YC4RF;$*bS#QRTG!+?@P4F;kyY zQVQsEUHG(fxPA3I5vn{UKS)IFk`5)m8g;r#@gllvzd?SWN0sV#fWRUyX^y&OJ5i(G ze-xZ3*Pxap? z<;$f)^?MhpRKIIP^7I)!)xMJN1dY0gujPtM{Vs+o6`y=8`k?Am2JwoNkNsVeHlc5hodf#AHL4G8yasR+DW5Cu=rdtNWvm(BSBbpT_$k`gQHhjSzZas)HTXPf z#2gLtYJx>bH_tci8&rs=EMta9NOa2f>GPj-(K_=jyp%mEuHftRVcSs+U%A&BTHm*YNur|KRaE+n Wt?Ij?QJGa~$j5x0RP;5H@BaZYyzxx{ literal 0 HcmV?d00001 diff --git a/packages/runtime/native/websocket-linux-x64.node b/packages/runtime/native/websocket-linux-x64.node new file mode 100644 index 0000000000000000000000000000000000000000..f336da320597f4e39f11ca734b8ab80d3925cfce GIT binary patch literal 105360 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�o<^-2!iM_;Do=qHTh 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 F{{h9F$C>~D literal 0 HcmV?d00001 diff --git a/packages/runtime/native/websocket-win32-x64.node b/packages/runtime/native/websocket-win32-x64.node new file mode 100644 index 0000000000000000000000000000000000000000..b015be712475f70c6752119d23096941260861a8 GIT binary patch literal 163328 zcmdqKdwf*Y)i*wq$-qDeXHW)$fDABbFba|J5)9}ZG6QE|Mxua3L5L!V6%=6tD7U~Q zlJPhdTQ6<3mDZ<^wzZYEmYY@+f=M7ixTsvT5>V@oL5)};pfc}wt$og90(j~Bet!S_ z<^wtVthKLeuf6u#Yp=ae__j3`o5f;D$NxmaV%dl%{e1lQ2mV+smahFaceT9IX=ne9 z*3i!W6KCJEz&&sN{ddp5W3GF~9rxXLf5d&~O!xef``q{3=k|}E;GTQ`T{DMdW_I=% zS@&Cdt8jBNenJ%`zg30LE{3nxz$mR`yS`^f6)QdHVinwfJP!C3daVvKUpn zsxa-meLEyFb8!SQOG}L^Q`?PpnAy86mf|7v@46#$hsCm^3Q*)}*@EZ8c&7Y(V4oo} znkB0r5c5zlkwL>V<>x~)hRl-@xs7P6UgVBD=ghQFQR{%GDD%&W zS2<+(Y|BO=k#vKx2@o(s>3Hww`IU;nh|u{^DOTS-T6 zr54?qSFNo)MO`)jGA*uNs^wQLyiC*U#OZQ$o?fSwS4P}gwDM9d+SsVYv{sn}>6#88 zhDd@86C7GB zLyKz;rCXY)e*(qD?HhsAVm3{$Mmg>&)s(?m>1Uody)M(QIZt|I8zXS7%HvXtsSbc< zaZIbGS8*Y-s^_ckSC5~szP+iu)LOP>!1c}5^qaD%&C%1!!pk+ila|<`tvtVWQhh!uM~<3QZYv*+Q&DFv zX4Rrqj;1euepVDMHr3;p%zYBK_oSHmDMZ!}QFO5d(N9!cBbl2?1ZjGMxST4bPxYWl zwbU!q&mtId(zJNU;}$L33qC=TLzKY>szFZpp z!MK*DZT!<8eB51^(6PB2O^not&kuWkN{%d>0z*;Y$aH6;g0bKcaVtyX2#{g6kY z_)Ke1|Bn{krD*vl7uq%bWOM%@s=cR)qgI9TTO~9j7*9u>7EKw|qQ!5tib3Bb5+S`M z6q^A$F31Y$Z-S$^SWVNtn*NS>ex}tDsJMKHTH_yL1+6AqO^)ot+^COk)pA<2=x5-_ zGyRm+Z+4^#wrKh;k-f@dX}&~Q=(5aX-=8)9UA4NlZWD0VLsBdph) zO^m1RB4T)cG%+?})-Z_Cd!kS-W+c%uO3MEw=dizExc`}#|sbrj5hQ(09;JREm@tD{Hq zcPi0tC=4>jbER7Kp%Zhp6|oj%DC_-KTB{lz{)|Rd-%8?$AlY$5WEEr88^F?>CAo|f{9zivdWPWa$N#?hU zQ!@df-g?Ap0ktI+NEZFS65@U6hX1#Oc>2VTAw;)!ZTMk+^HPl@A)Z=l5@N^nvj|Zi zV?t=UA8ePX)bh)isTOpTq#?;feB^AlsjrOu5sdO(!|`=Yx&IHtG4j<94aeit{=4DW z9ThUjvuKG)oThphdS~ z?rm7qPt)Hf6@zB+EfBzqxSEs4B zt5c^>yM0PEP1750PiEPCAVoRfX6onH9e^e#iovFBnxhQ)pnyT~%GLCHAV#2hp*5c< zs{_>Av52QAq(6XJ?6^_}B?4OJR8L_DidnG|ts;WGn$)TE?Nqs(ouuI8S1GHyP;>y9 zcJ+(;1@(6*0?3!M1wwmKR|u0Hq%t$@4ruXlR#EsRWMFI&L|LmAo1PUSg^IKq2$O)O zgZ%r%&Z%chYQ4bFt`BI@W>D>G=rT`oXC5F$aO#89kQ=nv{m$mQi2OQoFacProKY5q zxr8yA-bKIj zjPtIYe)CSMmW-7IEm)S7qXy-BH6^g6y#nr=fc{!}Yz?>2e(}vvzP(#XKP?3$sG~-Q zs1M6eM1rKs{R;|Qh_v&NUJ0#`D00ypi>17>WHe1wZer%xc&yDp-A6eO&AUS^0@1XU zTd9!g)4*cLAXlVa1z_A29V+$xT=D1Cr0?tdB>Dp{qwh+he@bYq=Sai91yx>)+%(;O z?@h@n%SN0E>tAeg0x5NWao-|}cYxNS-Lx1qh%!$LC5;t0n$x`RYH_Il!P-jVJPnJ9 z>`**&^*BoX4zVX%v`Yl<fe=HsRimZ9(9|k!bHt)7Si(_qJd8w9)_2=t9XbckxxAGaBAPuhyx*L z`VZ-&9GZSXSVv+kDTuzSGGPp&Qh&i&W8I2gm0>H#NbF`bSE_tl#4buvwzm>QsYK-{ zSFj4N&uHmAk(94G@gD3gYk2LiF(Vo4L2wWTs51B!Pbm*n`&;9a-7*i5bLv+tj&|Yt zz2>Ro`i;q@`pNJ_&thWx+2GicepCXMfD@@J>V*$hxAID*{54KQK%kLyq9-qep5!>) zxx19|8pKhY%5lXx#(7-n<|l=TQk3tFTrx|!ziO7U;DBS6vb<88QK#9qQ~F{mD0h~o zEU!!KZtjZp;+M(_FbH#r;zWNw>ZzonnPB5fEEZ()zJn69FyVlw_7c~x!Pu4cJpyNJ{c^x9ZuHq)rsHC3Pc5 z@pqZ@DkCYwrXcBA0vi0X5hb0|A3kw2n3@@adLBjw%r|9Hwba2cq-~=7Y=ddmQXHni zxCq4ti44A>+*3r%cb9jxbNlj`KV{k9SKhk|zP~)M1MCwkj~RRz3jYuv-X`mj`5gYUQ(Dk)>8aMS$cuuS2uflT*j zJ;Y8JuGCzUtFn6%iQ2g87enwKclEj~g{yp6lc#Xi)t69`I`L_bWK!m!+hx-C2g{@k zvmfi`kCXyp{tG@@$C z*(Y11w>5MfRVQ)n~oWWK8?(qX7 zR*05)B;PS4A)SJ{&#CDcE?5`_b&%OXk_#dVQ-+$@qv<}H*vLFvRJ|i9pIe9)x_!jh zWFIvGa#kP7DO-$z{RB;U%_E4ix)jYa{Dd)uJnN}osv80tr5ghJxfzn_|HDboKQI<> z4=Uwn5Jz#2&r-UDJhMqmXS0|tq8Pa2)<|j9Y^OBcC_DO^XDu?YEX<@iT~gZ7 z?2!|KCp@Jbp&@k$HWG-3;H>*ohaeG-*lO)O z%JW$d?HPc*h{AFR=8E56NGKkHEyzWFNXbdIl&CUnk)V`fRfaSpR^_Q zAxClOGEO?hNXoEPoRnty5pA*8Q0$jv>?@4e44a79=73G|gPR(m+b_o+i=pv30Xd5w zLY_i#9qcB|*Cg4^c|nFB1W(c^jV|@fvn=dP(*P!JM{{o~#Vy4P=IlrB-~l^{=$|dS zM;cPW%*3^YiTzvv4LV8h6VRayO#}mqDn|6qMK2J&bLoBMR%(Hyw_99&0il@Ql|=8~ z55{}kb;%$}Z-#}j`Zvjtd?x8ZluFTGx{pcHWgal+(4|-mfJKD|NgY*NAM@kpjnZN{ zJibqVnRus+^Z&X2@)%V2@77o2c6lVsmbWFL~vWPf>}Bs;_2!D3pn z0=ha^)MJB>*gV>nlsZy;c_}B27)crS43Z{$N(Qh7cHhoGV zXTR9JP+{jl+1HSWC6pE$=f;9+YO{h8-Pm{nc`#K{;aF)H(;bFGfAn4`{w$kkg8G!K zpnk7As4qZGKESZhFXW*mo}rmN?&>pux`f8_XsrD~HUqs>qQAxVutZ-<=(Zn?kF549 zu2Tg`Lakxa@hV^Mti=>8r()9`71Pl`lHd?-*`jf}o1cF1eJJS)dG82bAfEz9!DyO|je7 zSx~xNuPr7Mb>>byL}6d11kF*Pj8DuP#H9MdEotEsy|He^5bq(;H%au~B>J1hls@jt zl6ek(2zh>kP4+hGrLI>ct?aLkN>ZaI4t7!hh9Cf52(BQ0#$X*oHBmv1H{b_-(9g-J#f(Sd@lhSg2wJSok3;j21Cp z=A{~($PEC!pT?pLbfy*>>siV9G~RoAfQ!4H?I($vD{8PF2mjH?ApF+@8NW1%|6jr< zf6RZ$p}Ll8uG<%>Ng7J3o+ir=vz$H_qYNXhw!n?JmYRZWkeG-AUd$B}x&G$raWZs_ zy^-F;iy-FsEHThPzs|)FH6?zW+hoRZS>n)C$4HVbbTnnkKccrOA447o zkNoJdVz4Rlv!7W2o2vH&+6c}=6oQ zA0M#{*<=dSs9d}hiRW+QfiTU?5E8kqHp0eLDS<$r3M&BiT=glCr1wJG{(yLzWJfM_ zXgt%3hv<&wH&O9DPz10~@emdR)*@jC33e>Yq-+~~&yuHqxc)3|W_c>P`5d8YFtW~V zQOeH|s$k@?d_vV}L^Fk|!O5zm)7e7xZ&2F5L#W;@8@!kr{52Mzsr=d7 z&HVXnZ<9Z37NiQ*Z~8HMSrYvM&_vkk`Apcih}bVso+zkQ@Z z%RtW%@B3@9@CNS*E%pGI^8u%?;sIjg=cv9h>#SN8YKEpi1U2^NER6M%i?!IY$4FFY zWF>#=7RiMz;2|1u8qMW-Y$Rlf1WVvZ)Qk;)4dT%v8Cy{7*s|xyW(!_i_CiJAWr#Z` z$&zjm!Vd9ABj&ptbBTkD`!xkw;3NAWt{Has7G$gcu&QrZEWQqbVIKyg%iR{`;k}p< zVS=X$V&%6>+>a@PE&6pL9j3x)YX>T!L7cpjUOFn}zcmv~dW_=VfcPPO9-0ed8H8^r zZhsGCW?OoL2v3#`xD(a#=iTMWjod=95Y@iEE!J=&7W~dI7HRPW%H&b0e>ccAm79ge z(|SN7a`{LU%5g%TiQQCKC_geb@O{3SEklcXhEh%LY#i3aOF83QZ7Fg zvbCDkJMuu1G{cO74}hMMG-J)`z1kM*Vk6e`$WX(s#`&tZW2mg&Td1aAZ&XV^oG0xe zwZ)W(ngji^M?hJ>Bdph|%KEpdF(>+zx1v_3_&l&u~_+popLwc3*q9!!QBWaez{?f#5l~|ed>)u@YQWNi9|N{Fv!t^kjY=tpG@3|-D-?j z+gy?*HX=LRo21iOGB(yHm`~YX3c~diqI>RV(W6BlbXp?0r4RPEl)!b4R1NZsp$p=>j^;UUty$!ev>Z@syFe4mVe6UBcE z{YA}SeaqM}J%u{E#p(U1Gj=CI|DVt_7Q>CvzUkuuI2 zJK+^4c)C{U)=|^jmUr3cYLaW~h;QZc&a?wvK_IdN(RywzCTDb0{|jj(6JVUQ0i>`G zB$(A4Dhvkyn7g5eLON7hy<6L+np<3PJduE4+fDU;0Aj6ee7kw0RCIwOo%Ddr=BhM^ z%cfA3Xl08V^#`-1o`fj{>s(AJm!Sp8DP=BaQZKHCJCW~14dtI} z1<($DlUto=)>9>I~X%jH| zkUL#j^*UxcL-+B~WVhg38YXoj1D3vMt4%5YH6j?xG{{qqGv0{vG5R9fnx>RL$Z_xo z3}M8{G2;9j7Q`~FQ*LQ1r-;hQU_7b<1|ris$t5U)#7<5WO>_80%&(jwCpZN98RmH; z&^V=$;D#I|P}U1|W4kK6$j+C@8V3G&c%3NvG?54l!w6sDPG2}l-H2JZt-eb*`#NzU zx5-v=bsL_GpVF@QcJ(br62IQ6mVP`>-DpeA^b#Y}pF)Ze5n6yeD~hdMB`d_=j}eoG zE5sqBf!k%eQuZgLBDJVU-H25Ws_g1I8!QZ7JTXqHmNvATV)#N(+={$=3FizUs=kjl zb*+R3#)pg>#RFeZ3HIN?R1E* zzX^TpE$aJuqWch3Bm{}Im?}Ik3}6rk|BODCqCqce|09}nM*Hn z3Hc9tmBi1ZpgJ*s`7ux^HNrlQV2pl4Zh*(gwE;xZM8P2LF5|sOOvq=3s$|+wgfv>f z5FcUgo9LOxX90$h2N9SKBfZL;Cpus)!?yO9+`L zd(tDqE#g+R5luYQnOV3+*irbJq`!~UR#{Q?{PjB!89*3J-y%B8>~u4`^>-4I3To-f z1wCM5o+Zp#KiUCi>pJ@R7?$R+aEZ^jp^@Z~9BjuGqQ<=MK(iJI;$|^MFpVW!NoO(O zJv1?jBRnFn(Fma|-vrtcd69Zmw=3jKLZiY|?oI{4cTjY|!O-7efv007dOav5-Y|Q& z7^#)=X~qgPn-LG_gK^N3!AE-brv$OP=b$ z!2JSM6taqQa?F8yGOQm7>$~Ydh!1rP>0eL{3n9Z-P?L*bw8R()Jm%fz$4V>~elCpV z%6M%f*}(C$h4Sl^)m8}aAkbAGcc2DzttanG0j_*36d%zM)|}_U`qp4oV+UgCIx!@l zod1?R9l{9pdABvEhxECRL4OICf2fpQ3yuoLm(eV;CjrQ76IrQ39DJ&hNk{Ou*ThxA40`lT?>Lw|D{ zK5Id2Oo7?|*DnX&Xw2(!@s!P74jWa|hlvEAVdzN_zZ@+i_N9p1;H-z%jdwN|hw`_T z%>BL+{6-0#&n;nfyAmEZN;rbqoT@SgC18O8KeoQy>`nC0L5Ku=V{3iE{QoTI%mi%u z9P1kLa)g{T7!?MzIb_zoizZ{5{m_$cwCO8oBL)FTI-0wHP_=P2x zw2MEsE&doI{*{Q|d}}zrI${rk5sKTzKYcWre@`R+#T37NEw-AmP;IKpF@sn?M=j9w zw>xmthkyb!q~rE7vVtT#NLkg4t_e!DKnp@G2$z2vxi*~hZ7}+AWl(=JxH4gJ;uv7B zV6^tqus*ky8Qz?X22vO3`-A#U(dR}ALZt|wBq4k|)_xENG??4;h$$q6!_!4E7F$vX zzaZY~#GNw9&O-PFQHnL7AyQuu8zeH%M9xS>{z@Wyo5<0r$Ym0FCf&$(Fpz7+r32*T zGhO_PbWolLUJy6QxO>gG-(n3-f_u8ykP<6L#(K$&wLcl_@swD08S7y))?X284RcJ& zeDc;GlVUJA3#6=1?eoaVLyG58VkVd=jJ+(f#)x-)Jpc8B@e_lFgfPbf)juYESnk)6 z!#8gQ=ZXg;-yesPPGT6k8&&gYg+e?CSV-apkL4A*SVpM7_ zTT)+;x27Yn?KPwNTQ`GAz;f>P1^QU_-$LrzHb{Lr4($sE87&Wh*;-g*V*?b7{jdbT zA=apJpm~rdn<3#Uk2L|d`p6dFAg%)*?(?+fAiW!^#LJ<0_+^%o4dNCioKoJOQ1MAG zfLS+)awLKAXHH(=g~;79&kW>Q(m{(&YH035Ig1aF5L^9}Z5n5b(qaJ|8w}Sf&H&69 zm{cac!P!}4cJo=i4qr-R;U-eWS8k;y(vA~G0qRs6(y7Wus`t2N*rq^@v{+Y2QMebA zj*d3}MdIAeFX0tr2=5oqVN^qsxzm`t_lt2@vabQ)^IM@y#WS6^!4NeL0~@_yq?jvH ze1?@6=g^B&u$6beD3r)OCi0tG(V5Z&ykB@F@)Z+#SR(guHa#TrX%o4Hko+Tk9FrR6 zvq?0?)3HsXt9OGA&_VQpDP7&lwt)|^BXJen-;wpxG&M*qM_js^bYkIj4m z(3cfw_yz3uE8T)PYZKIAX$m(WQE%!yBtS*85ajf6djMr9*@3629l*YzOx~*u4(!KK zs{NFgx(Rqh2!ogR0Z@y$wLGgTgTo&qChUNa5z636C&eRt_$d4w3fNF&QbJtJjVT$X zDo#vgHO$JAZGRP{sY5zjVAB*EQwucOG^Il&Q>R0e8{BgNW=inh&lALZV9wXEluUBZ zS5PW|TxcSHn~FRjk++)2vQ*@&5;?*|-c881Ur2v17@Ob>#$f%0!W@hjID)YP5sXj3 z{{p}ZT0|bYk2PT=`!VtB4*qxX7r*o0#n0Q<7C%+qmy+j6dwDO7`X%YZDw}cor4x&P zFy9UhaR6g~GXVpNwLl{poM1V@U3Mu#aU@P@ADTqph76`M?gAb%}(kKT+y0 z#2jwhoj58DU&_mBR<*Qf$sjt~qRAkp6e9>tkU>g6OD58r|FaOL{{vJ04?)=c&+RXz zTy%RW`G`>a$;~i+D^?(E+FXJ~aye-bFrH><(cu=Q>=52i;io53lc4d4f8g|{=`(9u z@qC1W4oF**|8OBWl+Ge8|3CyD0uzuC&fa4claX?0$2jS%VyRtcp1oIAKg_kO6DqVX znre%bZZ`HZRl1FH((-%pEoUvi&E@>i^DO6G=UL7#x?+ zj7G&*ZY@O}FqOC6qmVqR_1N#)Iuo5rG-I!~HC$`^<>VLA##1nGRZ4#jW+i3)ZkjGX zzn14dPy;G0nR{t8(b3d4mEs9Bo>tQvDO;&pkP{jt5OGuwg2r7>e{Hf@6_$a_Vsu_i z%6u3!jCJR6Y?TGP5bu*3*z;)F3i0|iQkH%IIfhvef^gCz;MhJA*Z>X3M<+Z2mx}j? z%ZR%uVoXXUf8Mf1WZa&#f-Eo93buZL@qg+gg5Xh zCpe((5?3(^lyaIr^l(nJDJ?QE+GLGf9Br~idPPrJBi%7mZ$P3Iv^3l$E=7Xo3);g5 z8JR$CqZPNWfH;2%b_bkMBUi6bY=zrju>uQ+S3GM$FsuVX<&Jn@0ki@hHDe5qnib?E zr<6U0IB=A6o4!e0&k=dl{>VbKb^}#ov_ZJj)B`-r+hb@e>bW2D#D3F@*cb`RC0GH$&K)0J$T6jDd_dkBD)x3I8%GpRi%wVn;MiC^ifI2` zW8*a0-s7$%t<+u`EWd~NGsW*Y<8|pp?dn6`sru15++@#`yy_s~jnWHpFG zUasF9wi{3|W#|*n z%5(62jmrDP7_2y@+Ci44WfFbnglwBnWD`2&$M)is6O!L#C0kg^jDCpr^|AL&MmF)v zFm4MD)+#I}Go-{Mafym@0?6#yK1uF%ltG)UY!LTj>CdZ8VuPb(MUT5?7*)#^aV(wb zyx%VSlCAnMi-OK{C7|U*d#uwkvg>M2(_+G42Er$ zHkqRB(Z2&aM22$O1*0vNn`nn;Mxd0`kD;jb$`=v|{n1taVpPMnJ#mD!kLE1aJes@l zE?IMD-d-VnxhABCD?-Z4br8W=^GsT+={IJJe-7Xk5Y77#^MkLX?o!GxvLnmb?TsOQ z4o)b?=8C+)MtCfuz3Ms~873vaQEY)hpB4ll=sxgY5U#Pvq62yyF({WW&>m$&VDl{H zzTICc|K7`~UIK#|sea#E4(vN2^EYy3{dQ3_5H^o& zU{HH_hYUmonexQxF5D!%Mwhj6CXHq$EtJVaMkfDDndp;RS+Tj2HIFd*gwCq@;o(xG<1F0i(39+nuXy2 zSNkuZqt)`Pg`WZ~~FQN`>wVYb5s@0CEUMZW4{tfCUXw=N6B)yF! z4sZkIQ>?7-emx;thRD43qMbyBVvwN`WFS-JY+fnWi!(;z#}Nm5_w`nAK^?eY8|9=? zE{#SmHygQV$mKUoOg={aPa}gKMh0oA85B|m&lwr)N0X=;Fj?B~Xv<)!k-;;J_Fs>I zH1T?8FlRUEwd}Ph*U9ywJNnJw*@-eTZ^T%{VQjTv*bs|%Z_9X~k#Po-a#w&1`gC#! zRl43l?L#*N6L4>+ai2wLTsfqy`X$5;w)9OFsvMhSp<1I&CCC8l-$ppLr+b)%zI-Kx zg`6yUQdy|%-S1-|Tua8cWhtxn()K;wmZcLL!AHxqNp?e)O|Jk;gC#Gyku@TSnE);G zUm^QEiwJ}mID!u<%8jgPz!~)GVbHG-b+(8%!zYi6N{vH``F-a<29xKIp5O>mnQ3^6Gd$eW*{ z%Ci8ph?``Jy`OUmi})6+NwR-h#I+K$(Zqbf7$ez568VgYtVuAn8-&7d3F_Fev)col=T;xVyKzow$!p7m&glDN2SDzW=aJM0$FG}PA ziL?k?8xrT^B=S`=<-f5aBeE0sB(lszzMP8uH_hR3*WD)aXQ{|- z5;@jHmZTzIlE^DeWKk;eF^P1V$oy2~e2M(>Q-cB*ry?gw@E~eU4)2 zW91uZB=C(RDc(bQ#`gUX#5Q*4=aC|LH7SzNMSlI6)J3|s;W6ZP2^a7w%7`YmZUZ3p zj|vom2P?NUrhk123Y~#9zp13W_ZwDHM$7>GM=2?oXP~82l1QBmuE`Y-QI_#1d0^A~ zY3#(P8@p5MOekqbw!gv?&CsG*57-Na;`K1>bCW90+22RAe_*O7i71w0wQ!#O{Xu?k z1w_#m*-|Xha+1X2Jl5K!SR4bKAr@N+4S_iiEm|X9+)3PQKd2&)7%5|beTc#+R4F>Y z%-DKg68j7BPyuBHoj^MBY?S-^FN%4Ci3(&sL0!gN%3|>vV}E}hyE4+`6lYd|P)wjP zWSS&ifoT$FITpY?N#{A_K7XG0mYpqkqayG(B8zU^b^H?^0F9zADshfP^gT|z&11Mx z+#pj_nkkw`Nycv!gCypEP0Sv`DcJh(v z$HdRWxv&2weqHr{7k~DvZSmQD$GoiDD>IU7CmulLG#t!gKLYC1Z1E4-qcgSW5_mpe zOu$^~=|#|qG`$cS4IFhpk&*785tGg9EAf~F^-5h0+GzPGSA*nd;HoD6f;|BbG5I6j z^T3LYRA`@A#11H~RzXn+FhFJT1}h-HPL}usNqidcvWHkcrK}I%Bj=4&d%w=k@RsTdXYU1+bOh;t6}Fm*BGNh*t_!? z6-u=i7oJ@g(+RvJ9fzx3Nqg~H4-cfia+Tdyhf2~D&)Fs%E6c9`SQ0B&e076K43H$X z{N3cxkxGm9`;+1CC^mTBV)r$Jsp77Q$zqptu}S)`1BI|Ep4wKXxXlpa9?Lw z{_aIRHEcN0@;|ynnqzD==}t>?S1o5Z7gsOnlDrUj87GH=(Ni$lgme@J8wZ!BPX;F_ z;%2T-2{bJcPbFGO zqK6YY^_QgQ8Y)k>cY#9Lt`DWXgB{|H?av90Ws5-MYGZT6ClerjnkT$lu z2a5)30aZQ4{9&+ma}&2<&POJDJ%!zjwi>4L*F2af+tsZ-e?;$s3|iTYLx_BmNDDFRN67vS<%E zqZwU9R~Xpvj{Rm?6F!+i>=(Y4SZ^Jzdsc3(L>;G-j|NGj@W*1f;2zry+dRL2goQa+ zjt-y#+goCvHLO|E@Cc{Iv$-eLARYY{KP#;-T66q^vO?1cH;YIK5l^Y?7c z2mNt>wAetV(4=u3tdcFASHNlDFGPWVzJ2~-@^G4vg)LzRwucYMt>SUCMNDCOHsVQm zA!fpD5cz1;Y;R2FX7sne0yBDr>8P1%O^qJ&!H>L=ZN~EAR`0vKiy7;s#cqZ5^j4=i z$Ea_lp^H_$K_!oJY;K-eKHs^iGX+<|o&uCIdOK~nkQ@!g?@14rp9m>_T=m=>vVEqM zy+big@5U9Oe4(s%A;;j#Z`o68a4;UeG>EHVABJO;MQEhFlU3|JVxRbIT-p9nBeeC_ z<_vP%8qB)A2uD=uatzfY0IAc4;5yIt_fJ8G0qR<&ITs?qeY8Z0{8=QaJbO9BF zC0J+5IyMweWSZ?w(&3XKC(cU9>+6*DPw;(1k`!v?haJ_@Bl7~CkCYx&{GE^bD`rB! zuhC8(xM*+b(NYcGcF{A-7IpP0>vwhDUZGi=ptTdT2CHEHk!+J%mu_Fdh+SG$6IO#AD{wEkPA|Fq0uf0s+5D0&U)=nH?ODQLd?O9E zC+G#E2rnJ+7sX&Uq+&X$Z%{v?!*KJJuBdtkHI}ZxbuOJQS{wyX(AI$JYWfqNwTLJ# z=?s4spe~iDS#9@=V=zY>ZKIU+>AAV-y|hF%&VZ=}1va}H=#XY4_f$IwO;d@7jVqLj_! z&J8-rg)pa%Y&NsCs#A8}uG%A|4oV-3YGx2Y9jNXFZ7B?cgAcuNaH|H2(8ArIs#%wu8L$g=2PFTupyl ze1UNylkNl%x|=x65I(9mUeoW#DZPJ1aQh-G+#l7De5i(n`(JG*^mrC(G)D!h0Y`$f zF7h8kBcc_GF|HIH7w>YtVPbxhb|#87qLS?-9W2LU7v4>9+(q~18aKC!d2n*rA^x}) zf6pfw%Ry|cXCa!-zBE6@yBc>r1mQVN{?kVwR2KLWLpfiPy2?fb+b*8{_KE)?1ob*qnp|0T zh$Gbd(XGX8qiafaDCg@SF03CN#Fj(O8Lk!L?h-SR9FzMsU_*FR|D33&Di(|D3h;oRhS8}#or)$$-Hi$yv|B?#*VDcu9GM_**2_6zc;?$ zpdZ5Kot6VlX^(M*!5c`9u>dVHd1lZz0Y3FK?DMxr=7jNt|G6`igI#dd=}pX9gYoBU z3CDeIwIVGT-9qEhx2K@OZ`(tmy%gFT)U^X)T@yjQurU~0EbyP62gb!hHcYKr%edG? zTjO}V!N0n`zv$1AfQNI58Dks_Mpnuw@k%S@=rDA{ZzP zk%jY`WHf@HrTC*9DN{4Y;P#Vxgq$LtEL49(V2v10$5M*?{`q?s$usQdlVWcyqiQ98R6p63#F_3%$zvk= zF;ulMOl}8!7DOk034*O|$s*MR+hWnvY09e6(5-N^1J^38SMYy@)vxbSR~{`z_o>R0 zTcLq$BUPjHh~n2jS66;Si0H>F5OuWm#BQ~$D$);Eci<|Kf{Q+}LG-&}qxc1E1mfq| zT539mg}z^}QlpKIxccpgbmigAfRvufP@;cDAOKIDxq-56=gDI!vRk(N-T4isrRBB`al;>TP z=RaAZCRQlrf8`{nJ1eVxf4(fu?9-9G8Mdc{JEVj=ri2|S;Z6v@PHNb)bBR_n6jj;- zov7(Ds?tgfYl~&kx$$17cz>XHaIv-o^Orl?df*F_9X3&8SfXSr=!{K_&gvzQv0Bjsv63~M}P{*O_Hu@{VM=HWcaSMo2 zww(xNYG4pOt;*_`kc!09O;3?HX~aZBI(wa1iFpIg5G^nt2q^6|h3!JKu(}t9)(+V!Cm?@jF|iMcmYHy(O&@_}LJKVw#>TrtVZl_pLzEz6)RN!Lde8g9_OpuR*iU7>NmJ{kNh^udRr*nm*% zPAGDBI{g)QX3eS{1xdvQ&QWdvaW~nhJOxpKbeqZOXxt<^yv`S5a76vYnSMU z{K0UzrOC`6N)un#H3u3oX~NR!d|KPA&-SA!S!AKFq@kkQulo{8j_sK98z8se5@&2)m^jIW4wyGuYtBM zDbj48Q*#I)BAoQ2(Q+@*;Q3{G$cMn7>gKE`N6%H3_E`jkx0COKh#oXeF1uVj%Tr2(E(vB zFGoZ26j@Vo#|j78YO@N(gKSl-ZwlJ}b? z^`YdA=-0I*`F|b=uB=yGA-zgje^YnfiK{y5$k+{F4>QnHSs%>8m&^EFg;L)uqmHhj z28iA+%BZ79Z@kJ-Uksnh?Ymu+)2=YWN2VAGzif~P&7{xbV)LF zX)-hz(R>swI|;fh8Olk9u0S+DMY}u+8j=hR&KhJADiZ>+S#wFp`Ty>SHN5Jjo*7Hw*2w{ z{@$0ZFLZj}_v_s~-h11@q73Cy?YQ2c=xEWqFmKmtyXRC=kJVc`AXaphTD7g8s_*qq^f**~o9cZh5G%~{?hM4V5vupCSh|Ny+sZ^+XfY9pm8RK0t+ zIHU=w-nUin7Nd$P>Y0TEC_#%tJXk6ERJ4#vnW!Ruky5@KhGnXgn{GtO!x;?H$Snc= za!){iTZMrwJ%Ijk1Yl+B5`YwPuECZ-_XRF}3lzMQy9aJp2UflM%LiB8mQmGw4N%z& zI==eb=7aa)GlbE^hy^`Vy%G^Kw#bO@z1I6NM9h5kovJ&xt5_z%gpZ82S8Y$L+SXgO z-Pme7Xgd%OBvjkG(bn$EdIG0!Ik`t2xJ4aUr^v%cf0D{u78Q{ORL(2k`{iW+P<`Xq1wKPe%pPSORra{oPpJ-=O%7W zUGvq^Z>f|`vN_RjM=V2YQ0pxj^)jAONT#}pngf(~ySH9HQ&pc<)zBNC9#U=BtF}|N zQ>v|%8spM;>D4HsMnxeTjY6)HP1(qWxTz_qi(Z|v%ZQdNW1}P)O7QOT>xZj$rGZIN zN?O1+Ej?g6;I|$0+YV7V7wQdq4a%taWfavmkPNMb*af{;5bGR8JoEk z$llu!(Ce!jP{1}6U<=r8bog!C{kClZ+jee5Ix{Keo#c!+f+p4J;P#Z`3K{2q{zy`CNt5eG9&s~q& zAex%7O~x}RCQG7nRJt0V60J!?NvdtM)3!Svu-o?7-l1Z$z@K16DyC8$Sg)D|T_<}+ z63s&;_2LRusSw>pRHH0K<-({UD9T$0R;;R{!lG|FP+oV~`9ZpD3s`BGS!tMAG0d<%06&07lb@Ek#7S0*XZh|Dx!AZDi;cE(m-I0& zsRMf}YpvFSfxDp*7Lit1tER{PwDa>?)p6#%&A+HsyDXeI%!xb3TaN6lrW7gqChRBf zvGMdbApxKQwrEzhm@WK#1NyyWZo#=E7855@_alB--z@r~P2VJ4b4ig8`{qzKZ-AjP z6kEWW=6W)HL*YXyr0@7hAJd@lxKosS)R*^r-O$#fr_xHWpt~8GeC7*ZSuF|Itv#XW zz!w4E`kFw{Ujj-QOwkg9MgoVg80Tv7%%5PPlyG?{ay;`Myl64|EY845u$cW0ywD~D z-R_8kUL~*&)@M~`DzVH`kjL>^WkXsbF}+8+Wj02u6X2t zvY71JrRcB_xTOM5RC{)_CDDit&Q2)5X$hGq2X&>Y#O)mkat}k&CFI-VfJ|n{X#^4H zOM(O#(jp;E1o1ND-x6||ApIHgo`k$j5QQOoC8VAp-(r4A462imDuU3x5{W^tOUMR- z9AwBV67pw))H39c67oDj{=ty767oxeJkOA)B;+xIJkF3uC8V4nD;Tm$LY5F@E<+Ye z$O8nK!jStU07IgnUGh=?pn4A@33-%#Z^TvWFn~4A~_iwFDW=kgXE(PlEJh$Yu%oJ3;IW zStlWXAjp@Hc8Nj%D@Q7`Y0;4{_5rYD(yRCjIf1`rm60sSiNTy@<}f@GuB%+w=;`(48o>J# z9P;BhKFj>qz8B)Hq=|fNeZ~!cWHi|+=)?;?@AEEpf?+a&EV1IE&>Q?v%X}P}Z7Vwk zeWG5RM9C-=C&TTp(W)<=`A<9&t~cPU0f(Pj`ycU2Ka#KzvvWw`Mx>a<{2^uQN&8#W z5VTGy`wikoM>h1vyHZAb>f#Cf;T9T=3(0aOaXFKz9N9QO!IO=<25%)zx}Bc3>X>~9 zp83@!-MxEpVa_1D;F6~JsB{4bMvJ%-MId+Bg6t=_e=<+f!;s`(UWjn5y%8Y#Nil8g zTX63n*~>t_L3k~{7Dr=IjX9vjUoRqBEa-;x*d+iE+xLf?^B~zb0E77`;p#z17^VIV z;AR5G?DtaHggfn&IDGcQJ`F%`CHGqag2)MHoib6H@?>RmN8cm0&1u6bC6Q5Wnwpu9 z$SPGz)zVL^8_6t89@vAJ8Wb>k_nWn-$2fUU0FlcJb%$p5Gb%mQd^vx>&{cWusNuz|KEP zW?3p4{O6=uKdU;{Q&&AP8@WFFREc z|9sbeoMiS8T@n0+cn%vP`sj2VHT%QdL;?$UN6=QO-_j*)Yte6X;(7@z>AMGQbzy7@ z#{zYF2biq=`shA>?2*(4)@f8`tYjk&r&nsVfkv)FZ9veoHb5+i^Yek-FIr0m;}Vp0 z$Rby~f)C|!M`RTSFo-VF!@0vl zS&ou!TK?3m+>*}Y^rau6zKN2bVA}=sLO~nYXN-p^T2_TO*|NKtMkZ;-rzc#QW|@^G zZ7ur{%xSc2MY3fJkc$|F9T^<=6xjP&3l3Sk*+ImPEqf8ZA7XebA?-iGAfMv)e^RDcP9Y-7g9}33K7gtovtr|m z)>r0w1zs2UsA}fhC;^PE!D%>7x8-XNrCXZ#8v8Lwxt1~`k6hzw`J`_vO#a!(kTQ6} z%mC|xWG*3G<%4Wqk=fjunhkDPKf4Y$nOU@}!y=hDJvA{FK#)b6aSXvN?j;c$cNO7w zA)1=p;u9oFX(NOsR&@u9X^9lMkit9fkWBxvoTu@5PQ5PDxCpe>etlk|HQGpXjzVUFJ z@LO$41on75H?>gt1FJ%|x{w!TZJW|WdQftHnhgm!54$#t-S|>56vUu@D=KxIuPSTe zy~tg-WD*})N*A+{lO9O-%sO#^>l*02O+5+QO`X4dTzaG%d!J#;hE>0%*oADbsrhKG z;8n5OZdshN9?#DV9)O^CYE@OvStoJwr^H&VRc&)N{S6!Vl4i8W7yZN<$)-O&qNhRT zHoA#b9iVX9#RNR)au}jz5H3M@HlerSmRPAg32g$eStLu^=?_Nx+28pK%qho_2_5~f zLqhQ&2HPVCup8s^ZLmg1?rBDHrTk5xYVB2c!K+1VMI=l><3(*Jyqy7ah(Q2>>u!cm zBnChZ9%B7;UWE@9cgW~&;5$qF*PVc$27Il34l*SX<{OrHq+Zl?M5ruLa)aPIAR%C* zdGL*(o$?ETqUjXQIGZT}_8v8SY)j947@6S{n+bdDBdg>s`KeLXo(*$_*&UmZ3F?o( zYlt_AE~Jm<`W`u@+k;47Ub!MuYCS%X4;Swz>SFd>AjEVulPTklj@fP&mq(SsRY0CNoVj&{qGpNtYI{2s#sD$KCZ2J1LVufH) z&HTKR59S^HG;U1A0S0Bb>m?k4Sb^JQn?6GR@llCrt921L&7PaoNsFw_j)ZHm!)nnF zpkcXm9nD`583ZHWxLxA+m~?=GvmE&p|2!2n416b1(S)_+8mJ`0kjx7&v0Z|WQ$xQ3 zLy3A)yRdGdIT6yMs~IQZvZ7erR&S3cY$YR-C3;gzj0{4`RWcba@2$wx%g!2D5*35i3D*(A zpsgdw&{a$Xo=y8qd5DP~sUynZbVUsz=Fv+wP6vQF-3iyrNSUaOCeoJvg*utPK@Ut8 zTpY+t3@cx|hbsN*u-_fN;+HrBLb}i*9A9xlwdA=x;rct*D}Z4WXi2z!jW=Aqb0vji zG8_+Q$@d57JwT^lTC}Q0x8_CI3l|k{m9`1e9zPT?5HH@g(lo^nh0^|;z0`PG2%OxF z*9LlpXt=$42Mc6cH^wt#{{}QM=rR<;?+@a=>8>nf8n-V)7^fYLC!Kx32^)AKJ3In+ zF;gH78A4O1xl*i#U;sh;&(!qvLAf9!eXpPy3zxb`ce$L+^drNP&#-u>)bW6?2w!Azept?_K0J!%3+;OaNDaoiG7BDf2V)qHl)55rh(5 zAV%HIFCE1xK$~&vOftR52TB|T*Z`VxHN~G3(^dn9x!U_%xuT%qw4@F`)zld8ZnNHI=lZX?<_kYA)lHJsdwuxV1Akzv? zlpv6-C)#;%mV9q2Mr|n%7@IrR*uTY?vx>!#a^i50WShH->ku6T=!BFPQma2nHc;w| zr6ac@rA0qjayKl{i+&<@LcpWvvhjUvT$hpg7huJ&Q6p4_YPp`?mmvZe>|s3Um7aKg438T7t@vx@3P9gujaZxkZ-CdL$1o*UZ4BQAOZ0I2 z7t^6kEY@aZdWu=f9l<-!yssS2`v3He84wJ!hO1d66X9*9Y=D13bW4_I+oNny@o9uE zrJ;Bi*iO28g86$QS^C&6AvhIv#&@o5Rk(6_z5}tdn-8PEFewpdbdNsdu`HudXYgSM zJjtdK-I`S`Y4pfJu_2u%LeM3n?A?-%+G^LsA8>D>9VQ)@0AhLMU?jZ^XZ6HskO&j# zbGZG_Y%uW@zQgtz#!;<(6~)HS_>T4@E&h_nhlMM76VViV(2&9lF{Dv!x?aC?@Fw)G zMO0!qpze?X>c-uumarWLBj7dR>PF*V|Fu9gE&e250Yux!l?hh@bS4RRgQiP(Jl=@3 z=aF(4<8eVKl5;F+5OC8xQcZd2<#mLFBrMcod^aN1g@NkEUr@n36_i&{RquJfEd^%m zV#w4&5QGlQPNe21T(!tkKLBwG=PhJNlSQ0d{&2HR!gVJVh?0B>*LVcMfteU=5l39J ziOoET<03c^i=3M9fGkVuLT=o=_xCuuC_eHfJen_nmPPIFkZ|?E#DfDAI8t$VK8`fe z=%g_z=Vocwi}zhE)0Uoy`30Y*}-aw zWREPy`OrxJk@M(rk$v5%Z=gWA7kM)H zE5GyWd)YHBUo7QBejUbQ`_Fd}K^xE1+T#dOzt-AUBSf<|hJFM=W%I|~7r;B9@pIU9 z+EBM5SZkkxzYv2IskajKA_G*&x?8I{>ee!L)0UPSs6I+m9trV#+@202Iw<9zA`NWY zNd33QXq}_h-W5R_A~AaxgwzvN?#P|dI(M!8t9q*i3KOji8MUr13*xV739!Egg{O_I% zx@gMg7WBV;1t6-j`RIiU#NC)Uphe5rS+Xh=KR_){-ZD6J! zNwrw!NIXVZ7iMVDBRHm;ImF1&wZO$0qM*hL7j(ko>I;BEEv7;(sU%A~lnz=jM7KJ5 zr`B6J-2P${D)?ljsedNVD1b-Zr4KqVtYJAjNYa6iwq7g7)5wj_hJLkEEVvnAx(l1H z7sh3jup7KB;>FZYTI|}IF%GL}K%C~zG{|CUHKQoQb7wv17>2Cm5)aZ*icaE5q^!Z0 z;9+eW$6*06$@Kz=%#$>l+r|FO9pwVUW%y`(!o^-P}zx7R+s=D&(<5 zf;A5ou#!_m1wJYofuCt~YaytMbx$a!@w!Jd7Cv-JxERE&^&Q~$#5A}M`&z_3-H;v{ zXCdx=#ifb~*Awtpgdp@$tY!=A$vEs6E7%1rN`dxpp3vVc4!IKl8 zp3uJ*HBd;kc=u;ezhX?IYj8!L6XwYLdFjjT`STphJ3uFRn|SQJeS01o#Us5!@tdp_ z7eVA`@hf^4(bpny>;#>8>O^&VWFTC(I!BM-X1UkP2Cw~-)$+)rgV*5^%Gs^zqrTZE zVx!VeR68P_Rh>=%rQ^`eiE3xcYZvd{FgA1Ya9u~q9Ve>OB2!gdkf08~ATl;MBMmkb z6wv9s1=I!fo4!%^eG&jW4N-Ngst41<@t`BWCekUfMa|zk|C8n(YHXad*~u&2or9Y@ zq82Jnk=3JCr2m;zPO+}pHIZGATq1C4V{76n%&2J z=tzAxnX%-afT71?B<$GnNScQ~B*$|b@1O7_MeGU}@B?)B<%3`$x)E2e$2b*Vq8nvq zcA6x?>K)YRHu#bIbq!`IFc@O)5*x9+F}hNU3z`F=Pr`VG5!HzoJ&{aUu+We$U>>Z2 zC>xrPb4ADNkeJo|bLPFIUnpdYs?Y8c(qWjY!?7N?kmEu}F%i`Z<5OCG9scz_n(qzH z7~_nGalQIdk3(+)-^H|ep9+6|BtL!mjr4G=7!%aHKpDm0VP$662`tNI`175(Y~2RE z0XtUtUHrN;fL*Ab!FXX8ZAMx!e@mnX&HzNWbXW7Y&Ht4Cbim=1$D85M766-fi3Mkb zDx7E=P9SzALKN|>pAoG6&|$?Sh?3{;&$F;e;|ED=Rp2ezy66|@o&M6BXHZ!e|tVTsD+CU|wXtoNsGyeF4UkQM3Yy6m{>1#8dTqyk=@E;p3`T|&gXdBW z0IP>r%RG$g7VimhGiDOMo)2;c=pf5(&?Tf#!QF#{elY<9LNCbj=eI2FhYc7v0xNoy z90=3DgQ{Kt*%yjUL1c^|TQFLkF5f(X{QXLK zKB6=Li-bjm&xW`?o*|p`#1|C8Xm*Z0tWk1IHy`A=(W^H!DufN#77~`miAo z#5aaCd|gO&CNiE9h)P{Q;x8ZVr?_(pnk>Bs|eht4r=d8{eetRPBtf01NMl!1^ znr!@6*jvu(5CjDvaC^oh5%(C68R%))E$#t6;4K<)8~utpaoh05Jprr-Bg8fk@$8Ut{4cAArIiui=%W0mk796AM=h z7HWGo3nnp3gYcRE<`8^NP=J*|_+{`IW3!-IgjYQIy?(X3~h()b>2o^=WXOT zdM*aV!_!jlV4ufu4zC{W2 zM7>j|{#Samj{|9T!2d{(_L(enhWAL_aT4i#?wGQ&v^Yfe;4m(2GaBAuurV|ap~91WrLN8!DRpC5b=Lqoz)LjnKNv8Sko-uAwA=toE8^n9@NfTZ92Fjtp*eXaSAYz5|C zJ-FA@+OzxH-LaNGaSEM994tq7EV@%I+9b{?AUW!x(^bIo8R9Px($tHf_1QVHAB%?i zu^mxD8(&ZGw~#6%rJ(qOyq@4|_LW|mal^YPTNYzqV&2w+dpV9r>=In|#>$=J)2XgJ z_&a*qfc(`!5LJ?DA-&SRAdyttS}C%Wmnyw@L-Z&q1Nrk*lC;IJzYrJWmH>NIPI?kmlZ7zxoaGPU(*3A zmPvl8?cc?#yW1(;;lAO9cNRqnsd3jvrG5;Jc*NQ&(CrHgqobz7|RZTw~_HLRuJa+1+d z<%c{oW?>g~x+Pm9g^!y%FBI1?USFNUE)>EE6h4*RrZ|ZRP6RULe@avT z?G(xM)Ytp(I+HEE|JSsFZS0r)MBLi~k!i2>-^X*9I3a~QW(|%uNt)g?+~sQkR3LV# zSe>re`R-!^3}A8U&9YOJhll0IDR)^N|Kj8HSi)mTY_#N@J zjH7r)F^orWfsYgKAzoO6E+Vl-0{oc%Z!x8yjJJ02Z+;aJGZ?J;6*8H|W(oFNArkS| zy;W=V#Z_kI1%rC-W6WFdKIpkeo9~i3QnxQ{F%{-a1CnvfmzmM5CS33BJGiz|{*UI< z6wiL3Pd2Y&vE=f?P=B^l;g@h$Xsfe$b8X`GilX?{ZYVHQEJkc>@k{T1=1*D6W{3+l zx?&eO_y9olCOCyxz^O%`Wz1nZkUn`JuPio+h!Rzf>(f!`QY&RhJrD;$7_PI`$^34J z9-GtXxQJ+aj8k_4&NJ?nl-rB%)ht;vAZf&39C#c72*Ew^xuU!~kBc_XEpnQ#gr=2@ zi8dFF#X}E&s1dqSmxH*^wOxAU?AiNc$FyDAcsajg+b-4cVyC5#H9w%YiI(cT)jso| zJZ79~D>$MGph<{yibVM&5DMF8TJ6iiDs$<4kGB`RYlfaR%n9&$-#|wvdr-0YQqT?+ z+mVL@Zs{TrDRC$hJKMa)e7L1eyvx4QXU=5FXup_94cFQl`lLtNX&SvstjO%m+p+2h z&@ZN!Ra?z~VN7WjaX;%`g*r?13AoB`A*vW&8?J8&22MHwB?q5oo|YCW<9K8rxG9A+~Vc*_sni#(?u3} z(Q)5Sm%62&C2!4MGfyosnl+bF!R}1?Zn|N`(xa+e>^LD--=;28OGw&e@#)l)IGDjs zohrY0C%x}A@9=@%jqfS`CJAa5E5~RfyK2_@X6tcFU)|tA-EYpPNKf%Iypx;k7J}LJ z(AeypWFxnrG%3nY9Q+_YE()LHK4#WZqnFd0N9#3=io!gnn6)5y^X!wf8wTC5uSlpP z^#-_lSHeqSZx7{(AZgi-g2mE9lpl^t*&#uMg6Y zfN)nvn?Hty=}OO+;J}*{miW($2Zf6DLFp_j2xhnJ<*-ZXjrYkwW2E z`M+{B{4pqJMYh+Ny3%i(anTQzT|b(50)<9j;&us4d;RU-SHGGgWzp0H<(znM+-1HR z`MjdefTns%DhY(=W<|_%J?{S^DX#D3o$ zti8R=-#(uVb$9sUzPfsUDx{bCJI8`PKBsULDz1UT*4TNWfl+0#>5f}Gua{-UG_tD( z{{#jyiuR9)Oycg*9?*j>bm>jsi0U_XV#IAE8UO*N#^tgU*ev7Imr`RsnnQO18R+F3 zLTA-MrFo6bm!a<2Wd_)tLy6TBeg2Mb>wDcL{&p!|9CtjCbA0A5-K~-w)!#{4r1^#l zW^SChg75_BZ3+c}-83FQKT@}<%HRGa6;un_(#bthRj7leUe$2ru(Wl%OdE}+>r_U> zXCU@ZgEhYc_cpxd*qqSXQI$mleJAdC=ebO`dq~Wui<7vgwrx6!8}Rj8O(??7H$#6e z(x3D6=PdqkU#b4GMm@cj9H`N|RQ#Pe_jz+ZkA97u^JPGpInREdX1|Y^^DD?ucSlKl zOx+zt{?u&yR&?hWcQ#JicG71T4WIP|+XrWTF6^+K^)oe-g6FAv@Me9{!0e*`_i4{; z{`=GJ%JcK^X}^}Z>BA@I|32+u>p+^D_O^l8sKtmgl3(>`|&^W306LH()Mp9}f3 z-c;+aX!Bw7p7l9=6Nj#v=RnH>G0TgQZ0NUQv#2z_-A61PQz>33) z&CM1Y8bFK!A2xvRH)Q9)%7#Q)3091Z_qj+X^13VpUq*ni*B`U-oHC8?_S}nvosR5Y9DIVDiI{NxZ(#8Evr^#Z?$(l zU=fMBKX}l>m$*Y=SsxBb#ob~hNW!Ds+KH_I34IYOy@>;c@A9Y*Mvff#_#C)I2Eo_jegXH#_jZamR@lyty8IQBU_eE(@ut zEQCajp(cXOC7LQ)%iXp`Z1B;%vSj1Ks)Z9I_t$Ur-*Y~7EOtncF`~ZDf6o*WA{>M# zypq?X{g`aLR~Z=YdT}?HqVr&6AE4GYYC7nK+scv+h(U9zo#url=4Bg5-+?_Qp>U^G z5>Zg;H?v9#D z7fzXZD&n{QE)@Js!3_a8ud!yUmTKYF_~e1hDvPp_i`{2L`flgidT^>^E7|SG4tz&* z1;?4SDwvvB2{x!Y_GSQPB|3fVd5(`i>H6+LeLMn!8=8a}R~cG$4FqLdg*b&B1Q zPA$miJf@+Rf9OTnSYzND9|HPd?gZ1)GlZ8bE^Pgk>SASzt@I!zxJvm&s4JjD`KN#s zbF5|3&?ddFc@bY@({>5cjrj>%fh2qL-+I8Gafy?3s?1IH<5+}L^fvY$^+9^~{mK?5 z1CmE|B6(9E%#pmMQTJB|7?b2W_Xj>c>wdrFf(M~^oSxC_FNM@W@$QGxS&C=QVb6!% zcJkZ9LE^RUIGP<6i6|xf_Kq&84 zfy5dglUMwui!zzm^hopN@Y)}Rad~pcBA1^P!15)45z5iJA&7fMv&f-}9I^9v{GNe$ zl;$~2(@|(_H|bd#yMafuMDX@#?3W>7W})6iV=uQ4SsIHkOO=I$ab%s6{qk{g|HCx) zK2`m`$g^-EcBy$&&n`69*oP4`_K%Z?Xl(b%9*wQ1g8pOpBfe^BqlheIfxxt;r!3bG zj+_k=+BF|SXm3`IRRMp> zPsk5E?0#~6G&T9z3o;qe%bj6(kDE9{*6J^tU12FGgs_t+_4iCyL!zb!{P#%uYvj-$ z4R>aT5|Gln#ZQ+S6qIfWQzJ^$BD#v^F^{|AYDG68{Ep7~aRYF}Lfrs-z(1jJf3$f? ziMdO63qTMRRW?U*KTBHJt*l6&5ox}ja~8a2N$Q>~Nxj!+N$Rvv=J814QDomgta%F1 z2Fy#WKT*p}7yVdLPhb2UD_BG61#3GF(j!Y%MXFgNTu68rMYZG;iYoY0UKG_5Sy9wI zLlo7T^i3xmX&4H96IUZ*h@aefzPgDWDT8%?uZ3yWLM4Our0imt^kD{X+010{J}l#& zoWUDow`|@+%WFi&5k@mv(E|~jd7?6FVNJmnn4DM1Hq-0Bs{$e)8W|8bdchGto@}YmjaV9yz*+7!7DF-4xkncY=!vm>0n-^P~v_PYh^1u z$B3O|qjn7E?Y)SCZFQ_dScrblaRv`KfBR^4`DE%0!_ZgL!7yR^tN3*YK`m@&C}nxE zkIP^8-}WiF&%B|lS?U&+#Twc!v8vsfZI@V8?*$I5eJzEe?h|1)B<(NSeg&v7`wftS z84{!>GBg%Qhd{zE?o%#y0!|Yr)`*vKN%u-%Hd;h=wpfFXOn71T&F`2of0_4k_%a7N z^`4C3Pn=Fo5T2GSQ?;&A^XPFZ9%qF{|_%V;4|#% z65|Ag%+`AEY8(GuiftmvszOcR{j9+byOYr@#h!-ve)!(}naW-^X3aPo^Sb+U8*^0- z(+)vLHd2?QN%vRx^90h_xfY&+!V5b6?VUowe?trlyWf^v7DYlV2HJ*k46 z6_fvf5HFlXyct=WB>SPasZFLSEws>o@!Uk__v35?OmkxAI#VAeO9LN=OQf_uG} z_6BqVyL-&9T;^p_5nkhOB7pCKX{|Kl*$!b^iA&+7j5UATZ&L;l?&^Vt$Aj_tBfw}; zZ9(S|XvPQxpe&B15K-9nsu@9^W;P4x+hCgjL(AE6(OdvuwD<4t19CrDfWJkbk_!A|I{~@vR?w&>+_9l#V=J_ykovPFA=Z39m8$BIx@%Q5jSP+f-&_W~HR?jsu;+Bd++TUSyy3L<0B0ljr6Smn;s*>XOB{P?|Nb~$6 zB4#-C&&ev7t#z`^Hr?un-$1upWKOXu1U@g^1D2GTH9xX89Nn%~_i#a|eN?P?V3ZF( z)Pd3Ydd!ba;;~4NMffJRkLDN(d2DDB)W5|WfeeT^80`vmS(DY2*--5{T?~E@WrOF7 zbN+V%64nZC=I}fh1*BI5q?=zH0@5=ckbD+M^Z9TXki-EysT+!4 zML}zHY@Bre_>^ofQUiYp4HQ)hZiRRT=vja(EQ1bY0e#dL(`! z@gmuvlI!(Q%&a>OxZS8bgCO4P0l;Q7n5{aycS>mE={zP{f_d=^J#IgCcHQyuGK362 z0dw2dERuCOT^Oz#9V>SWr*zLejrV0^2WD5|!UGSIH!!DYvA_KuYE9fxgt|pmmc%bB z?Sv=&(%~FDQ4y2L0`p|np$_Oj zg;aWUau|=25Y}1$I4QIZ$0w|$m~zU+9X z`IZ3d!*43#3b>mmezFC@;Hdm}{e)tS43Yi2JY}VyCBUL^**~?d325jmKISpsOMFz- zXkLfbN3oa`J{{w7o^|#d9Ii8v6TCz^@7Dv-gl0- zFMEDRP^2T)TP|$Rb2+@xsxwz3BA7F@Ex_h=(T|$fL%)`JKD1E?6xt-*saq0^SB2|p zVpGC(g&+=h1PXEPu!s{IAFdl08#6FE;O`h<+OUd%EK_-^yUpis|2+>50x<^4Se2SN zOfDW_n9Rw=5}E#6HF&yZf5$hyiUa=kP4tll<81O-Jlk#dp(p{XEUJCoYZ&`o^EE#5 z_@aed*m2}je-txi7k=b_+xL2yJEc;KC@F1$5VOau83$sDXVj4Agxz^r%)FQ+jprX5 zNSNzoQXJlfLe8s7KS0G6g?F3R_JG1Yj743P;}9$QS)+K=b)TthiUZD|zx_LQtTpjZ z0rA3R&24vh=y@%U#?{g0rIx@onnqY?@UyY-84o}EY^_=R+~$Cddq{z~8HS&|qS1t&gIr&@wk+38h@gzRyzS{~Ifb1h;eJT{%DfH~2gnKv=$cvcGo zSx9UP4#o(n>9WB|h+`rr!%$hLy?h06F;t0@FyS9V!EiF-)Xgf1HQ*sYtfxI_Zu(I4 zIms)A@exN=*q}2exCw$J|JXZGkEIKeD7|uFJ-GWN+d9EI)H+R8&{S@-&o%d{f2=vK z1b`Ld7{C<-@sN9`Q23}F^Kyp7H2nkFhIxt~wYE?)gvc_hNVU3SBgqiGh*WB*I*#D^ zKM1@woXex2@saUh(mMcXs<=}eJ0QzJh$LMed04!ef3mrNV>aH*h|8T&PaGnwZ&-L5 z=4K(b;XEtIM0pWvnwuf^QFjR(ClZhOm`Fda%MSM}b@AD8S2jtVxlor?ZnOz=9E)B= z>JM5{4`w;U@TUTCFYZn=6YkoSsUn;=&1n08M?xMdAp(MresK1CZ@G%?rnoW+QwgSEsnz=AdE zQC_SBtohQj0vX*o3}yaIwIfl+k=OQMi$WQYD2p;n_x{gN<}0*1gfioKGe7FfqRfLl z2xZKDJcN_z*#CuxEOi&ov~6pp_ruY~82A$T5pcsyYVwJJOa?OVQQng{?w=#}_&@r> zYmug#^243nt|D@(kW6O`k;xH?!yNw+N(PZCo0PdAHlDLsoDsC|$zXuAqJN}Pm zqN%w>R96*RyM_DZh+ji_U#xycS-dRLJSLI~QE`y_U!3Z#GvJ`ao<^FvCh!W|Am6G* zh@EDraL{L62q{`E->WR0A2ERFG$KI<9nblyaEsbg6;vHpSp6}aA>`Pv-A0ZqCm%1B zNRTaETklswNdzK^+pF{9lgw=>alm{PvHXWu zTDlC0P@WH<bi2(}&>^=E3#89fQ#{$y0)jy#5#i)<8fKy9bf?iu-*D_nS1$4hdW zud66B7xRKn$Bvp6c1?JY$NU@Pv-yudvWlYNRlKunu!_(|&48Fi{5y|DIFrjqhVN;l zvj@EJ%#ff~Mq=-D)Yej^jfVbK_Lnkf^BlWL)~9zDkNEU5=2$ThSW`LFxf|8FL^fcg zPVwFF@vY{VDXeN!qQ9(dWSQacZ+lHNm9u&q(J@x7%jy{0EBDiv1|0?MvmSyki`KU2 z&mv8xV#w43oFw$b-E0x~Dhd#vE;|?3zK-4WNOZygw^jNqhTXK^Y zhxrD@H2x*#Pdix{CjzLjxT>YrfgsF^VCVFZq5ogtdrZ%hgDc{fJX$aJbrx@>Vl4d; zB%vyMdwJV7A^C`{?)_6VTcTsb^gu{W0Z#4^=L;PWcyF!|9|G9mV}^$o?YL!dI}yW0x+F?*7T7^e2$?^`$$mev0NdScdaa(1agFup$0u_>DijtS0RNHo7-?AH*%iEPhqoM!Z4{%#u)M zx0C3>$%JR>Tl4dDVd$rDuG}e^c{EgiwtwAcG$-rp z#87fp8R3{>CxYn2O*~W>CyYn|9`x1?M_DS^4o4<9E>}3^#L5w^>Yow_T0EB`rSLvnKIFh^;pJw}-2RcB!gD)3K$ z_C@Ni^sSgDih|I6b!C+~o}R1ERa}i-H^;Z~59zZ)?sNXK(O&ktCf^DUHVkGrs6_Ny zmD%ak%_loy6bm^?psojnKaMuqk!R>0e|#w3CR4?KAO3Eaw|13^FvPel($g(Yt{>$G z3xofd_7VT-oh|x(RP*5YuWz7t9B!HNNoO!(Tk>8}fqJKG86kWf--^+j5V!K4_(<-Y z4x!>xB(pvMl1WyY-PQf@;82p-LrHOsT}`$$sR;e!Nck7u(O2$g+HD7(6LaU#4fBB zu!07AX2fmJEbJ)AThGnAUPMWGjCV+P*I3`}x1I#tK^<|w@lH_LbjD~LS3LVWy2+Bh zrP2N6J3hkEE1KkPL`0ts3ANEX?{rUmb*B8|NCk<5*Tl~Xr)H0qiZWHce;2^mcY+1R zaX`tI&Xh-n%5k6bcKVw+hW_5&ZrgSek8*eCYyJ)qyvDnKYWod@!ILIY_=T1zjzDyX z!B%S7G`tqz?*(1{{g1^TKFwmwl;6iQ1CKoj;~2Snovk|k?VxvivkovDa8tezke=BqmJ&l5%e}@#Y?8?pXIkgJCneE;k?M zG^}H?Cg8oU0I(gzkvqTSg`hvvN+yLclfr?_FB8cr(;iI@6D}) z4IV(-nkj#iLS91>Ob0oLEZ(XuZ(zEU<6Z32wbz!#D>CJ8{g8h5I>{S-8d0YFzo|y! zx|VSjaiCCQ@(?;%_}G3g;7)QU_5I2+!LIGK18fa!0PU-@GFr!euod~+eT&#|9KI|z z3m)=94dS5V1@|-m`UQxCf)AEugAab51SfG*rNhFMiwKWF9&teBsR=O!uNOSg033W^ zru;U#9(8{ve;93|K}?J`q|c3{Yvo<2Vmga%8DBEw!msMg1c^<;Xq39t&qF}oCeu~a z?eJ+d$quh(?=8{gljun5gJAYxo`zO<%vh#;9tCT5aB`>o&=2@b?F%`V%_BT%8G65P5Tt3;w z{SZ^W!oasT?BSo`-vRy|B!afTtayM~ATeLTS^5B2mjG6U>qxa80%k5FXkBFr;zSQ? z=t|tLySv|SU3CB*vwQt(0Hn+4;+y2cKr7yGO8l!$e9`TO=MCCi`%-9_VkRRaZn6FcDJ*D6l4CqLl8dPzW{bdgkXuzsD2S9 zx{?|PD~P&fpkMKw1pKPmgI)0DOC$RpYvhV&Jrep(W&cw}&{*K}v0S&+cTJ$K3MU9;zVMA*7^OIou%B340N%dXQo#X3k~C(RDGAXRTs6xjl#F5HeJo zRSMaf9POl_KyIhRcPA+uWoM`N2t0aCrH#dobI>(qrak+tCGECp&L1ow2xf0V(!Ok; zQ(+|}$afFjAGvo}`pR)1g5B+nmznRvh4kb>$%ttVz&0}cH5&3DTbP*H!4$DN_hJ-_ zU&%4Wn4=-j_Mg&9DP6cZh7f7_4gL)Ujj1bP>w9A-rb3S-4o*s45eTJ%kND?2>2h)3 zq?JXXL|1@I_oj8lkKwfAqg(rLqdDfQe>4?kTeRy#q!c31WkaC>;T>^&-X;z9v}CZS zK%j~420 zrw}cjiC&ZMq&}X{UE>@W-7q`DLy6DbGOasKIDq&I4TOR(vDGL3!!Bs8pzJU`9yhzy z95OiE=dleiTv)K(=A65P-Ttp`%}M)*&%UKYbzguEdAoCtH)Fm0o*}Mh<+&|79?r6J z+{u1&IyHUHzMW(^&JKFeSemV1aJ~Yp1#*4EtEN1xYPKZyQ_XLjn#qr*R4Wy23ex3i zJneRB-gS~T4lBhrSpW}L=H}{mOAoCi-t<>M6(#k5kDUAxF9OdU5z{O%*a;z1Hk@m* zIlYYu@*=XvU-h=WEGUjBLOmyB%Z)LAZnbotqe(UrZ2V6igIztejQU-#{f+Xo0M`|> z!tL#6a`TRmKRkxuE!55L9&7bqo>ahfEy(O{cQn=3MX?CAl-AY8U{t!wBK2MIzvLP{ zOogCn{zFuENAU1`Byq4fK9)F>J{H;E(ogVCxOkmG-{QEppzc`iOSBYmAbAsQ5K#kD z#1}b>*cm+)O=r>2o$i{PWUPo7d{+)XnYs zIbkz1lb1er^XK(bvN@rj;?3Y~9!B|1$WLsZU1sqb-tQ<&`xTo|b`a98B+W_Q;_I&v zD%g3n*BRRRkGQzT9CXK;lOU#`@oode^VYlL%#EV1qLkhoS{b4mTxp%@$UoWN@$Y1` z+rZt$XOKdw>x1Iduol+D^uv0nA4goo+x&*kJe#@Oyw?M2LoiRx(I7 zJe6!9B17X-+$k#FN!G~GB=@;?VxwfrKlgwpu-Dy}DPPGWxv*^TlPM3-L(zonoXV&wNI(Z* z1{{RAFxrz;`MKTV=-}sUMX-=SgEtEzO7Q~z?BqHVUXP^zh*|0Z7D;y>XEzaA>KjX+B*!6W>*tZo%elT|=)-U;{8 zLy^Q8c@Zv6Wl-A0Mmxz9xT;m^wAM>ci~CWI1vi`)^nc}1C)1O@D3ak`FfIpMJG!&b z$!zui`XZ9uUFN4}TgK*?!@lz|*gg~Dt2IgUH^OT(hkuTkA^mp>s#-$QET4&p1AUFWb0EswIb2^}*yw+#7fR0U z2@x(|JBh33EL6weZ^1=7I+~lZP2MAusO{ zF=xqIb3D-^`sG?_CVYe{Q^e-TFR+BZstS+Nxca$V+ zYj)TGRP$3s$OHRqy_`hMRck(ghYlq^$d6BS8-h%Aa$Ptd^GmZs+m7s^N6-YtO<*hH zq9RPtYmZA$ZGCs9Ltqm}mvg`^(JBGBLaj64T?ZnWu4rLbXl)r62|No7>=k3?SGGZd z*>uIn(f*&ABbMYRqV8YPQHO9dPUg|p8E5Ck-{E1#%-97MJstN6({2kM6fK-@4d7@3 zd(EyQ;VqTTk0dYALO0)_MyK%YwWBz7{X<$W^NnQg|0GLj zq;zI(dCSsHQQ7+83>h09Jlr8&vuxiu?v7txdMb?kE9Kdb^3xY8eW@IlZhv9|F4wJbpO|Xh2fbk}lP049K zFu{hni@L?>&#>&}g?-SexmaxazTL8(*P!Ovhl+d-us-;{|88+LWaA1j@GhAseq=-S9r7YsrN8CKPrwQxpJt5IHQTETRyQgqORPRTNIuR!aSOuXlo%FW);p_D zwf3fY@TsrWMtWu+fDmyIU^WghvyI1hU?PVVTG*JHSJ9Z7Z6c|wI2|&t%-lv+?b!(a z5*&*F9Vi(pbL#Tr=sAnOcZ(J*r>*D8Xs(DQ>l=OSMzr}CMHz=Ld}r=v!8nyq#~*}^{yb9R~pIIrLO8ZDrm<|mL6{eJ76 zY+29e1>)LY0rVPTHn5C=xeGxLv_@8@aJli z3*J7in!UL&uTXck1GcR>)Qk6Eg(%o)bHQ@th&=NJuwLFLL;oqS+<752rDCrnJjEx6 zJM+yC;m@O=diTHV?>t$Rp+j((%a*NMCy$%jFya=5ZCp4OV29O|54K5gp| zwKFSKhn{R5Ah)W@_WgLqp?;3tq(;m_UI&W*<5OIQ5j!)hn0nxAmbDq3jVtf%!<)+q zScYP%z%*hM_bz&I;RA+-_jvy=kP3#qTUs=vq=K57H+A4Hbxnn~6xlazkYxGvK0Li<2OI!TBd^ka;@Gfwr4`iJZ3^y=}( zkrd2@jwcUW)m(R4d>;6q$cLj$mHJH!4^VFSIEh7Vxy2?Y*(hyrpQJJvuYldvC4X%! zrgF~7C6Um)?~>N`TWO80olkoZ*l6r$(nls6_9w3(W9chDRzs?f$uIrx629@4T(7zJ z(ycBsHFuVMOD(8cob3Fi#z8h7w?G^a`@k^jNZfxv#q!MQ5MnxqgT6$@1v=GUVZKNr zD+6f{lo1q8&>4aN`@Uh@puU~vOpThY;NyxvZpRyB42CiDPgRxI(%q3G)t7^c{=f+L zCma5N5HGVeTC`sC8xbX!!fs@#d1B~gq3IfWS!8}P^s>bK*U*b&zBcsIWY!J6w3s!6 zFUeL7`L?0=E?{78d@rS3wUk$L-N)!&Vi_dUEEfbBa?Cmo~AS4lvKP-|Dx+EDPxL2b9@Q|mCN zo3y&y&emtXHvnY(jnM1*lAD#Q}Lpj=hNfOs;SD}M|@D#jWl>XBfHZk?lcby(2Ps>d;)M?PwVYn z*Vvv8#sv+(>ycTobBIrLOW$wKwbYd!Wsap%cntz;P85vCnpr|`$en_V)^0VKL$;Ej zU{dYm^b-P8uqG3%oq5LRfWnz>>34Fqawv0@d9*TDD|!fB_V$|X^TBi-_Y!}Zd1Ywv zY>8rY{1jO`ScFYZMK*awq$T-JipUaR#a>2y{RJVNP?Zkvu=k4d2R|zv-pvJ0(u9TCoWSf zH-GeiWpAN_;^n3Lhwblf>6erlgJX$#fWnE=Hr{hw*3f=4wBHSGAe^i_geFkYN?_(E zKZYin`{b{pxH1Pox<`~$--q1Exj5{)*0prj#dMm}E~tLf&$xbby2fWm#y;m{hv(gk zcz5wXQv)&3ek=CE(jEBFGWbv*JZUYwXa&DP_)(v|r;x&y7ts2!>stP774DPh3zyxR zI8?fFA|gNj0&6yiX%BZ7SzqzCcPm)ME2Eo`MZA$tQbo_zm&GnxHo7r&RX*N@@XQ&xA+tNQ?h&5-Wr{CyzZ zmr@yrt18S1uEBjEjJT9k zdAVjQ(S@#V2huRNkO+VRws~kU&+8msB~M^Po?KhS`&RH3+e00$a-Nx{qxcbaHhjko zOsAdck^M^*-{+O#9`>#gx9$u&9`oy9AD`zlQ8(|jm znAAQT62s{O4}xlQ?#Ym_J1eX6J>y(%W#nKU zMZX1z7>oSRQ?vFv@B9T*(6ZSP|3ltA-Rxson9YSw0gx)e?9acqFvFp+^yAD5Ftci* zO!;IaA%X2l!1gF3KOAhbpDnktF`%q}%>S>5!5^-pYN#0qx!j8Q8^j4Z8Ltf2E~`>h z^0{T^4ybszb9q%Xxx9>j75oeIpT``BYtM}@iqBikH{m%(|u!}4XC#%z6(%n-E6M~G_ zqZ0uE_lZ#Iim~QpEuUs|i*asu>2oaxG~(c5HuA^K>t|1-ma8h9`nOhG6RuruM}zj@ z2XsiIVPRZof+KpTKAyPOneq%hZ8)(j^v<48Vt=-?4G>Q{%fV8-p4t9GE_a}+m+BwZ z8g&}hec*F#KFPq=vBWLpVKb)XfvJ({UWPUU!9KQBq-cnkgY#64 zrI3~SZMY^=2LHu8eSO$GeRSA76=!=XIrVFDTpC28|LHW<=cdVaHH${o?h~3d)*}0O zz)Vpuz3KYs;nUS5E$BjRi;JwsI)sT^y|aEk!_G%~k{f4XaXYnZeQ*4Db0$L#rLI4Y zt@EN681UBqJ8pEz3}k1Btkm z9C?B*0Y0~j@>Zu#xPn#ti7(>RuQL92Pgomgo&c<#ar=4`|8xJh0WWe0`SzHx@H;B$ zSww9nSLXD1yK0JX=a}Qh4X2Bu?f@}=nxfO*fvt>me^4075LEnw*lAH0<8Qefap7Qu%9o+-w3&X zl|^@gP-1)k4=qXzjxC0;H_p5bAcw}4-os%6G#&3CG%k#~FRR+9GmS7-4NjvwDuVJp zlIfYjd-+vApVP* z9g!sQ+}5boVZFX>uov`NUA}Uk?KWO>@5xHP#iijpF1 z4EZ+|d4&NIkm+SK`@z~7ABn$XwE#E{JB6?6I`4Y3B9NMuHL!xCON66K>4P658!5)slGUG5392gx>HBv|-6o(ArX(>?&QH5Lh;Xmq!kZ)QKD zxMTNOQ5H_M_@Z?ya64evRUGvAw2=F3$|*9(3KSS?Mw!S#L2VSM6`SQGFGI%*50|{G zEPZ`++J%Eww>82n?lM_8%gq6nuuME0Vw!ufl5}3DmNl(?p z(}+OKD|51#nBC?e4ff+-kr!$;=ZL*%1~r+RV3l~54=HTO zQaw5P)1*HO^=DDIGsa=4sf<~kN-dlE-zSWPQxZQuTpRC{1_l4ktYcx=-I1;}TgvU) zIN`|eUgYj{`H^25WFQPnWr+Vf{+s5Dc0%yn6!q!o^0sig6F`!|_j89>zklukmS`^| zF`hXbHot}VyM5tWIwI@ z+Y|1L_nEW%H0*|Z2S~^^tp&RmdWI%3vWCmwTPOflw^1FpFJm_7f zJ;UOVhq~a_kh;ug&aW1*DgT#*Shr!I{W?vcU7FUqsxQxLw38H@w}-r~oXpD0O~YsT z5>jtdS{OPY_uB1RINP*vLN{2Vqgb=}aXk+>#M5{(@gS{3#tRb0My9VEw|Qc)_S03d zqG0EzVX!`3#=i>w1^TzL+!oh;B!0eA_vwoG)S+Bv-Z=u{R75(U~ z7~-t5U}shO*D|?T#zYTdO!#5HXI^*+m~+uaI?a1TXENpYwpqTUlv+&-f80EbtL{9Q z$0t{m1Z!`pilx*@`tBSnVJoLjTX)S~IVY=Pu@Zd<-jI4vksZFkED9 zdlCF1rV|=;zaZ-t|Gp_lgXG(YgEjyQZ7k*)RA|kVAA6U@*om3)=UQ#|=M&5gU&{vs z1^i={kdJ;zGsG0g4S@ckS=PZk5*89MZfTw=eOgn^$_?2i5*B4BXUc_b(cyyr_&4))fs-E?v7^#U*mx zrk&_|?*u`E+lxETYU?}75i;FoscS5Con2od7b&`Givt2`7j!D>y7+5{|yOb@RXc;;pC^+vYH*)-{MIcKRsrW zO7BE1pdNE`)Q;E<>T&dcr;}J>Hl!!3gF3uw9>0Mn`QX5I*6eA z9QX)&2FyCzPfShSOy3gkeGosUr+78bydmQ+#Un6Xo_O#5_{5&#n+KDxAldCpAD?*d zZ*g?kz^|t`lKtu~ECCA%feaQ>eb&Jie+HUAEam`AI-N*#S7fK|$Jc8!b#Q_4|9lIi z^RCM^BUcq6bUVo}2f)qL+)<1F@;y{5Yxv~88=ck#H{zEYRj4A=8TM5>Z5d&~orXNu z324*$$T61vdu^L0yR&`Vd0O3V?`nj1{$7xQTiQ`;f!>;CpR)T_1DlqtU$&qa2Lb_JWKi1>qFsM*f^Ocy*n zSO2`dHeAWkkgF>{Dq;{w2k>Z~mG9rsn;uucb9u@3aLLj@rW=p%6$fP1TU)?B_FH#O zkyi9lNK7>`Np=c#bGe?Ax_pua84iK>;e{KJ zm%FcZOj&AHAdTqny}^X)kPbGHGK64S^KrVC-z?+|7 zzSu9g?939ue-Ktg*@CyqDls98EQbe`=k z5tHH$?qTY%r%SkjF|kSJxjY>t{hGR;zR4b^G4}&B_T2kCa<8RZe==b+u)v+>Z5)N# zIF5t(T}EF-fXN}aTtuHF5hm~UiZWuh2TT3Dn!m2;pdMxlBB3*QF!@1`GMcZwXgz*j zt7@J3DNF)+@hG;Z%0^m9mNt+;d(TAlQ<~9CB#Ud6m@GY&A9E66E+OVqd5*eWKhBro zEMq>;>e*g=B8mCKY*J<)>Q)r+2NzKuZD0ZymB+OTp*FACcd1GjB7%5kZJ-n9Glxg5#cMC3vMD`O|Qf5Un1_d)GhgSwf^?Y7*DwHZFrYz zd@75VrQ0&b67s2h@c$fh?8jR?GCq-njUw{(2jizBP8T`Je-|-L-cYePdBaIgYBl@T z)=iL{JT|HRXUHzp3CN^-PPUG1d~{OtD+bw>Uw@QEL4cToncx= zO|Si!jmZ>ZW0+9CXXV6cTT-9PPfe_9jb2nyRQSF#?dkYm<@ixMDUJ`oWhZRbfMWkQKrze$#eI5!ttjr% z!)P8h@ZcmruW@ocT{`($Uq45@Gj)@%zma1;9q-YS$Qe)>Ij%n~5X-#1kx`U!Li!!> zBJ^v~xM=F6V5Ix^MO;M>Jq^`Pid|BBZGNndov%QfU%0+&Wn}{)sX}e<<^#gz$A{LA z4i`R3sH*cS!i7&~^Q_pf&7$^%I9y=24-HFn+S~CT0z`V)_J$qoM-p!o5y|0=(pV{x z5E$p={OmX%Txt`PGxtmyngn4w}qpeDc7(SlPa?tM}h&+K>11JzR zN%Y0!DF%jw0sn@5!S*`~CdGAg7ZU=}fj{*Byy%LK?HJ+l3AaX`qi|XtugBt*%e5Fj zs<+3X?ZLhN&oOz(gxLA8TgNrG#lN^-=A3VOFB^EtE=c5~jo*I}bnjhxc`UrK2HfTG zlvthHoiJy{&O57sl-M*pjbf+k%nh3OOA?z1jX`mtv<<6#_g&N{}&PqFBdu5`&v zok2rn`T;e^{;YES`tt|MCyKURURMT@Bi!R! z_*uzQ!3H*9NNw4TK;`V141^zQf5?=VlYvMop0A1SOOe%G0BlF_AScCMf zsn0aPOFde!xGtU-|Gn_7)|r;pFTC!f1bsvN_+I#?|2SWKc ztA2QJIm_eA=4+zL$iJk^+W9K4>6dJ^RAQ@DeO_(iKA~sk3Th)i+N0fOlM0Nb-QVf_qTGdwni<|pjFY;WpBsr;@DeenxR4bQrB&j%Uz5&~enzlYmhYygb$ zxK8*xW<&k@lVpmx-+w>YBljT(<6AZc#;Si-@8o&pw|9_a%CA}qEhY{|B(?BiGK$+z zl|O@J&g^*B8ZkLTtfVR5RLLjIPrTFY3;^N+}(jOiT)N2!!`MNzY-fRhH4Qv45a3Ow7W9pkKX3(qHU@dQ!8ER z>82XyBiudr?xH^p6~Gojfv?yCv8!p|eTCs?22dEX&v~2rY55w!l>RP5h*s z6U;>MBeXCP3}OhFOypM<_;~-Z4*bDX4(i!g1m4%6*~Q<~F@HHQoug_`rP`mf)!0BE z|IGsxe~%yYYpK6&zs2+P&dHvbqblpyl9@V{*~RiR^@8m0Wc%wDFHrpoD8#o3*>98V zuW04Sb<-4e%heywo9iqejAwr&@opxzhST5i)9G3hU17u_uVb_L38m&9V@{=W#86iM zaBW{#c|UWA;OTmy(X1K{a^^mxZ})0`p>8mc>ujVnPp1O0v3pp1Wvk5qm&R#x^U`Gy znDZ=Rdp<6`BkENdRXeN{`d2%VI@AVAEXmninxxzC_6Hyz0PI)f$0cv)Ycu zlQG8m0r)HUNjVeEC6eYCUx|qLPBTaS^6BYN75Rp=1hm1tTG3kwTfJGh4&%Fl|>OcBk*7n+Z=3f-s=|res zVtzGGLx=f6U&0_ztYbEhRsNG-^TasAOtJX)b$V;AAly~aBY6Ry3txnNkJdsS2AHDy zncF@_zb~KpD}K2Ccu~mxvy-ULphQhzo3vL9&*16?PLI0d@b_f6%=Vd%OYpSfq^wQs zWZj2Gah{qB+k3ffOODxm@0d6>&XNGN)Fj{e?H~qHz~pOY|4`+ka{wiu~lHycHBVbe0GaGqmsCivlp|PP=jdWky4If%D!@8Zpvy7IQw=v9N_e~YgOBuv-^1n z{Zi*C67P*$c|pkkt=}#`r_sHQBVAa}A_)R1CEoMJuQWeGUGE0V*clc3KVbfY_nu&x z$fGixOG~p78tVR{NFkDK=?wd32W}O;3|RuhA|EK+RhC8!Dn4|9=6iH{l-C102Jb9P zf4W*P%iZqE!Wjke;(>1D5C7(u$1N+$6r^EDW|y_%k5cB9b3+r?KWWH+iZ)a1 zD(|qViBY58**=bK1H9Q42_MVJZ!V?HVO)TvOSW%1W6Tb^$eP6t(7X5HEa~0kTScpy zi*Mj3nmXT(rdDz7?49#!(Hh6x<3!6&8{Yl$;oTo^yYI`e72q_znQJxZJzf^>C~MTS z(YrLOj;d?&V%xH12E3W(gH>!+DRWTDsA?y*&W0&A-()h=-(_g`TLa`bDqF!INWdbr zl-3unGddVXDVX@A4N_2*_+)_5;16Ms#n^xaNM-i)38yS<@B&U;G*)ax=Fc7!F^D&r z)>UP?_tD?bz`i!}48{n#&Qj%9frenPo;kdnIgHJ9>!;n}OEi};1zolnWF zW!VEUi)`R1x|5js3Ytx#G#n*%)MgAjL$RZ9*wq2yM;R`H=6TqNyG#XS6-sZVWw8v#7Yfnsh|M))f~!j`=k8+I{NaV zI)#8++>M0{F-|)J1aP#q^`uAD_pI_^tuOwT>}Sor-ZAJ6P+N)i#a|`W7>ue;-Q*VGQ8{hwl(^2xrY`t^4U9`~Ug9T`nqQ3!>P4`;_O$$3p(k*+o6J$qk2X$S{=uRF+ukw zK25*yYX5%ZtRKOjm?tQ0VrRpfBAb>zB-5i?GR_=#juw9Lecn4~7rLu6OGPcb zR}p`b?5%t@iVX~Nyqsq(B+I{$9l7j_&nf$yvpEfmUt!Ox!x`E@D<;dTbnNxF zPoX{z{rTHZ;2~UlUi=tnhQIw--f+=9w|^`T4YmJV6^AVBG}reCfLB$7-78B_p-M9w zKLbhQ?fHy|tve8v_Xsl8Zu6%C2;L45)bDinZwCpYbw6f4^5UGeAu#&`r1&?CTAUo+ zuU*)`fpZ)MFz4qxt3DBS=lZydDu4B~P<{WMr=#hm2&ddPvw=x^2)U0ze5yQE&<2b$ z;1^gwyTWNEv~PX?GJm*sMZTo;*%kP9r|0RU0xPy>_VhEUAze?6p-uFK-BI;YAGNAV zyn7)5(lFgYx2|`egqGYhmxM?3&T)?+_nG*r}HS{RivBk;RMLc%%J1Ti>|76CIx+{+>u4ZPSdn>{i;PWQrEuW$6I=0nHwft5p zz$?EsjCYOq)--O{@GH11>FJMjv@`zeRD<{FBRJUO?qKC!Usf2yc#|jrG z;T5g-f))@P-e-=&09QNi#qfVN?hGnE=~nDAO*1gsv4%v z{Gx2<>%_CInA6scIUMhoygsSi;Sd&e8+;*lEe?(ATAVE0m;u=rPw9n}6>QA=Ezje6 zHP*s+mBJn0u;vRyQ>VQ^unOnN_Yf@lzepD&?)y-lY3Va8xRP0*riac2i!LU7Z` z0PDa1cK&$s-$?ykfW946v|n09smJa z;}gtzj|*j7)nHC$>Us9YGMJ-mSPoy2&7n%oL7!ByWe_Fh$u`I`5vu^TzeJE@;k@%$?fkaysyQhdWS0dvj) zg_84&XFf(_Dm6FQqT|g+^_y4&Y}sZm2exPkl%v?puwS;bS@#5-#OwL-A3-#Z#s&5t zLr!poq8M|FpIS*rFrJs$HHz;++jaCQ)3tRYOJWVW3G$umovlt4e@B^_74lcOHsgAB zyi(I_!MxM_{4sUU;|VB781~{=w*K+p;9%{&x!MPD*5CdwKtu;T4utb@+!(^nA`;m0 z2hlV4p2N@Fdv2z@_u&{i=FBXHmSizhS;l%Oik{3v(QH~4N7>LUj+zTZ7_?|C?`+Q` zoAPa>r8Y`<_dG4!;vZI{j_Z|7bqcgJKHZDV+}CS`r1JHb&;hnN$UVP(-bcTTpwL~| z4Xf?X>M_i*zqTUcPK2$z& z2S=b^0QlcIL(8Tw2J^Ple2Hx7o*a|NEJ<~v`SrI8cDeKO9B;=Vwe;$9Y!sY7G6Y;y z1EkFLQucW%Rip&Hlx{BtRZ{7NUdlsWN-ZhVy_9cyDM3 z&a36|>pZ67#c&U)c}vYY`@!8qPWKtJ+Is_Q^HK}mGq>s0b%VT`zihY9j-Frfo{>`W z%=3Cqxr=zF@|j)*_j+&VWGmO(Gv?H6v>aCMS6AJ`*}5;UiA;^`A+Zo zVLdPPp2a7ao9y$TFbgDZAfCf8tK%Z%rPGF31e5nvC^kv|{0XQ~iO0U2Dn|yHE4oOM7@?0ks^0RAkcw-~ZtoqOI zB=#RL`=^m<8okl5AOW}b6h8hqEYY#%xJLz@K5ctrd-7g@p@m0bSA9MfK|GKFX{T9M zV>@aM(ezfh;05l06rA^xmBjxKdv5|3W!3(V51Rs_gSkX5IT|X4=#(3ZJkGG_prE)F z=KCfHgP<%E42tD~f(4EgZ&}$+Wo4_hQ(1wUVwquCX`5KRIYzVucocpZzS)Oz5vpo3xS#=p=l0Zk_eqeTB(z7pCs$jq#1iiFq zc6y^!v~QS9LE!Ci4ozCwT7x)8F)@&rThmB81s}kE*I77|q6G;%AYlh2Ty1srJjCkh zg9jY}x0>n9LNqDjqP_?z<@-5rhR%!ijrTk%`yzoi^~{28N26$3g?(3!Zur(BUdaJ7 zhfy9PefZWrOwi>NTa|uK7F|w!;{%OiKc~^{dn|l!9gSBJ^`*Z_+4Qyj1nt3EK2*-c zpwnxvZ$}Yz8n2WlTd*JrFCA$(5Qa(Roxb{wtuRc&_hPE<4L4E1`km)2RZoRS(=*l~ z;S*0rJd&DVS9k=TgpP~8y?`OYTS>p6NTgvx;*UW6O{Disi8;H{I;(p881xk_j&n&d zzpXOh{9fwi<5LfvM=%?O%`E!a?0J30jw8o>ZW2`UmnKCX*AGdcaVgdf zh4iWP?^B7b!1H`WSLzh@QNjOJ+i75c*M2LGqr!u}vKx|s?HmWOAz{}+N@VLlQ2H!~ z+wdhXYz6*eX7$uabVEh(>!5(eca`@i$NXRq&(;sAK%~Wx3njeS68Ql>`%>v^uEbf5 z4Pq(!zbR^%p{J;?Gs>u@!0qr9$Ga(!@9}xgh%W{`A-&C&{=Ge7>=g6VGTrOOsdRSQ zBa%_|BHweLmvmwGpC>tf%dWvfhLr=8{JuadS&Y6AO=rp&wY6QMA7avh1^KPQ``v?O zaeSW?dD;^5+e&GENH|&Vw8Z>egzq@xl>CqEmnP!~^2kFM3Ljel>4l9IFIZ^Nx{{p&I0vBz-@84m( zccA2Ayq4(i{gUxrIu|KuwJ-zxDb(<2Xt7&nvKRaPlFJfs_EiBoJlsCq@Q^w`%l+C* ziTr@3-pe~XOCqz~;WD;&FJ$G%MrL%u+a zld8=)@&bn>qFMKaP3WOEMGI>Pt&h2K!NAVyxKxjKuz8=K&iVT56yag0B+j=Vgr5{w zbz+z7RG~#f`v+Bgz^1|6h$Wy}q6%Y2E}if0kIxX}D>|5t8|!0+YrGHez zu?YSYQW=Po&Mw3GS1&b|o#<|9bo$}6Z~ymC;R}`}2CywYsF#>BKTg7>MgaNPkU%NL z!7)&ZxD20EhN8Ju<1SiiMBitsp71Gpj^^?&QGh>5iu{DO7bAlk^;dtIR2|p(v%V0@ zfsS6QiX9a(5(#V@ zOC+c*f=F=NP$E6r1`r8p>qDexTL_U}Z2?5|5SsZFJ;a@@w>M_%KW-o`A^Leb{jO$O z(g97+>Yv(rzY+>7`0`XFeObw*zjeRa(HObgjL+}f^d51x+-MOIKh${w-k$LxzkOP1 zE{>otLElyyml5P2G?W~X4GpJVjIOYF0abxSu_wD`0cNWf z<6eq87q<=fD%|UEZ^FF=_iecE#{D4f9k_SmehGI^Oxg{?9f^Ai?j+m`acAJp$GsZ& zCfxtReIM?}aleSW5%;^eXJP_%F77nkOK@l7&c|)XeFN@|xM`tA4emQ}-;etd+)v?t z9yg{CT9J8j2teaelUO1sj??Jt9QKNl`sHXx16D#WBKzfmmdv&3Nsb>A9WC-81I%_|tr>b22b|3pV}ffxwv?~& zb#x>+N=g&)6&&=`{Sq8D^wi6ceEL)*>B|qDr>h=CQ#0=;XNm>!#nhR@`@;{-s|7vv zM$5nk%Vqc^S1d8y{qk7VWw)Tq-n7b(>QDKJcC4OtUSWW^BTrCwJr&Z_R|LQ*ciF?R z=ERu}sZ-zlJpFck#Zfd=^x1L@L@3Jc?m8mx+=zK2+Q+M}cox=ZViU_{(eqq@of+t5 zfEv-&0>K=^f^dV`am3lm}7YtF7|g9W1N1@E1_8;X+eACG0NGGQ4VZA44W4egIz{hOpEx7=)#9< zk>~_OQ_2jRP$4sj7H{UprKCz%pRBc}npLQ2je&A4^Wh1=AyhE z;~B9+Q}!L`pT>98@w>$N%nPnI=e2Fr@xW=*WE;H)%I2QIcvX`DW(e<`4vnw8TCwzm z)~2dUs5JP@Ke2`genZ4>JN;flP6(}9cjwjg+#6%7mX%S?i6Yz(q^(Q8(piKZyC@gO zX{_A;9`TH!R?l*1V5n>F*iUBy^g~Rj{2gxFi?mSR)5${c>J%S+(y^E?*6oo|MR9P=+d-p21!BpbS(z2TMZ@)`hSFn}*sl>l@nJMuW=F;T z<`1y^X5U}pi99g8YN062>~Q|^A{9$+gce(>cjyoaI$#;Qm`c&o&uMneJ~yC&w3N^3 zfL>-!ud-!5JE&Qjw0}mRP8S@!Z$?P4sqzZ3cN3omDf$^2WeYYpHp8!ydYs*exr_H8 zdeQ9_E8A%Yl~@ypq$r)DeI^UlwJ5FnSrH*B+*q4-h!zWB$54JeB1r+noD;7cr`_$f zYlWHHE1D7w!(sP0z{K$*)GP+9g&XA@jpYHa(UdHXzlpvB)kVDW5h=XaXkIiG#Si+5 zJ>xp7=X7_*Jr4z|4CQm(X_iY>Itif(4$#O{t<%x6)WuGPU*ro%eMKOb4MZGFsj=?Av7(4^N z#5Zz&wlsc^6_!&Q5a#LA2_4Zsv@~>0M?|N6nzIHyWK6D>j6|c=Kk}%(2iDFGJkQcf zsvv(N0_2CKJQ9p3D$ca9hT4bnGv_cD zwOrbD-sp1PHXA9pGNvc#Ws5JjWYXs#za=F-_OZ|!Q72N+_W()lbV4&yfLDJ)b41%9 z=MeTP#^sgMvel!>L1QAyiuZadELfsL4{B&hRAwMrSA;}MQ4y{k;Zjyr_Z8VB1H4S? zH)%QPpJuc#pP~>9#`#}Z_JyP0?!t^3O4>^xQXJ*)bYg`Oom1OIm46Vr7|h3D9GH2y z{P%O1Cn#rI!+ zgJWz$#1}^#0S9{_KS=wQcrksz;rs(du z|6C`EU^2?yOh-j)&1PTSOh-ZoIxdMP6QR5F!vR#*2Ri$`W}-DyFVg^X;bZ3L>my1+ zlF-a=f##Y_k{mO`97!QnDX*catn$NGfRiU%-_(~sO?o}Y7fFqOAi#hA;P@Epl@o8N zT6>#$7y2nW-j}|q8h}og`VE^PgAgNZi$AM@Kg(~+XA~t<^kjRl&fRp2Im_h1k%ms}8sy>&#|W_vN6r9wl!!`&K6O#7dn;Y|BrIIke^nC`;DiE3_${Nq&b? zPynGE?}nZ(r5au=h8O7nBEr8TB2E$6$~8WkaQ)GmljuQXt9c^wC-Gwk7D@c+uix6x z*^uC9ftEKJr2@qu1vVDaQ9idhqiHhnN1eIA6tDPA}n~Bt$*Vw zgGe9VPRWiGB|$ z-T*GN^KAoDpdNR81dD>7ulO01Jd^-5s?qdkq@@@Eh%Dr*7d0x;aS;3bZ$p1LnnbPXIQ!!x$sTDk8rd@ z!sL=W^&3yYux#xu!6lkFH8r~`@fNp7)uvzI(=Ec68usN`I4ECxCswZP#8W4hYhrE7 ze1D4&0ru(0qT@hqNO`UGTlDR){9;`sG@Mun6>`tH&RNxc&&_gd5p^+cv;V}(gkTLP zlp*DrSjy6{=6HfnynowOR4$=^-H(E}A5J>pye9H)nVcPI<+h?ahNLa;&w{XhEq>nOQi2?$>V<^de!(M7_R3BJ;Nrm6< zSZ_k>OzTto;tjKldM_A5V4ZI;w?q};CUBB7(WyLxT{ULR1BmSeJ?k*r1J%{EBtNK^ z+bs_NMkE8f6Yb3r)QEJint{{S-YT}!2+m}Q`L#HFb2sGw)Zmh!&KZIG{CeVDF1`(9 zsjdj0hA=Q^TJ$lmpFww9&I5^!Fp)>8*)?H{88#5&d!8|(qjwRO+!%dk_~Wb#j2?e2 zx`V{<#AJv8ude+T#}*ND62)+ABcMGMlt%Qp4M~m_7~x?r1+7LspB!H3t>iEz=>Mxbx@e!rgRlz9n zmS*sLQ93xHoL~dk?nLaLl;xxnGfE_%6uEUW4y@uxj%g}-j|vNYVwMg;62hXl zb82#A6E!jm>C`6J)?vmr>F^nhkLdj^jzn^H!yFu)%4MHRr*7G!;n)PrTZLtJ5i~gt zC1CQv?{GpSCW+AIEJZnk{egbyhokH@;pGsyA5{@C*Kdr*8=V9`c#^A5ZV4yxP+{CQ zMhct+iNc72xWYt*kr$PTH4oSWu^>E@dNNnJrs&Z7#vnBjTW>OdEI)UyB+9(c9PMK+ z&ls=66RndnkEU)ScMol{`z?>{x^@pbKKhsmf1=J7cdti_fF1Ya8qmQScL86hRz%43 zdwiC4TNM&^KgJ))m{V))M31rO;|9?QPOc6|55)gW-06fC^qd}tnkDlWtPjKY+OZ^} z0+zt-kld1fv?3GBF)6zH;-h`aGsoj7AdC|eY5nMe@Eo}A2OipgJjIhgI688K9J`tp z&i6i;GiMxjY_}(8wu({wPdLO?U-2V#6QFyYBoc^Gn7L~8cpQyDq8fLAgw-D*h|>cp zrSxubzEUZAZLKfU8x>Kh?)eV%G3Z~VIR2f~_$PX<)XfSx5w|(v%;d_%rgKeGeO3h_ zZof5S<@Fs%-I-_u9RiHWUu;10btdEehG)FhTbz05ONp(StKcWaa3Hc_mczd#E;_j* zT3;Ok7(FYZq&E$rf5s46Se^;XVr}c>%4k?9(JL2|^%b8W0aYpOc!Raia)h+ZbR?gN zK!16nd>g(9uKtabCR%E8Bc5qjR}dzL^_x=R(d_DQtYlf+Oc@#Ti@qF7y&&$ABWBb( z{mWRYm)PXI0~#*<%PCFS*vK;3jMgfls^my^`I+F7!LOi7>6|67AfCv^#pcd^WC8Cw z)Y_DoKZ~Ak#kxOi|L;E@@l0$M-$25_dQ`Lwq?E(wCCrWwoyU>CKjEMlM`>Vd9UP!r zw%}3>3NdMlJU}CY?s<{}d*-S`4w$0XydAxEp-h*3BBg1tNK-i+lHc^n3Q|#i=nTj1 z*|x{JnvMPgX18@U`=tXD*lVZ{?nr(cyBSi1BKsrDP_z+=G)7OvS2vF0ys8N#SG>IX zO~+aQm^#)TMYI!}f718HIj=Z>oMxRIIF7Z^X@JE%JfejdO<(%F*sH)-#g7+LiVkdd zaD3pr3o~%7<(LidO0yWi9yp!Q6m7BxlxYL(L#U>(UxSchsywYT;n0!zb>x2jOkIxq zHBX22k+{Vt$Bk&)3_9_ZPUrIvV_^0gN+g}N6dp6U&rm4C3oMyfh8dv8GhXMUDJ=1A zTj(&+HV4}LatRbVKcOaL@%kC(=Wt95Dg8SkC%8H$8CXk6tJr%$M6kVA+3vHQj-#0OSq7Fwqlu3A#gwkMGeHVhp!abcEF<&UhjBRmf2gk(p`~|hDcm&44SW4+c zJ@gy{hhQ0+|89K!w<)^3#ng6@Gv4LgnYu}YRZeO-OZhNzhwX$zk*223eQ{{h;>5C1 z8uEz?Q=wu;?=XE>=OTPqhbGCp%%{E_jPEY{ChA}IOQ~M$YsMNsgZKBBaS|0e-PNg> zc%0FUW1Qqin1i7s!<;Hkse6^;0=*!5yOKA$2FiW#*Y8pSPkFVP&PGC zSMn1@&Jl1eB;e8afv$tkKQLM{(a$@ERT9*xJLP=*2jm*98K(5M{X@MTk$a>I z#$E~d8f&{Vp}4Ki)(Iy#4{yJ4|a(K2xE26Jsvan0)LyAT7^en7OK;@+~`a}I}RoqH1rg4 ztO+f?7NU{+hmmNDm|ZuL${C|InhJ-_1 z;(QXVVOxtc>yXfS&;kf2x=C37Lr>Sh6xu4%dt!JbzAtK%wbC8-a0-y#NFvMzkC@=Z zh`};!)JJn)yi~bX#5#M^5>#lW+nxI{7NMY4V0weZ{;_kDNdM{p*l)vf4IFWfLKEz~ zv6iwl6HBdN`&ZOsv~p71q`KoOsQSfgy!I`X$6nbFGC%L8r2w7hrX|{>MBj0zy+@7? zI`t!^fpyIKnZWY&qj*_$psqW95~r-S3SC#vA@HHIUr-d}dlc1wIlljb=kktjB}>pW`gr&s zEBwzAI|q6OBDyHe5tw44_8H~DGv>i;)qr6r*0VGr6)$(AW2caXA9nV;2m2K;BL>BA zn$(Ix%SC6KBW+@S0V2V!PfSM&rN8UE&3YW+RU`Fu$)u;F{g14x>)F&__TT4J`;)S+ z5xpF0Rf3$Py}?P1y||o;zNgU1-3s5%tCLGh&TK?_u-D{VNf>=jBmv(O@o?T+4KL9` zrzgY&%thN!e035U(CU7Ph=S+@GZdQ&3k)M1*ieG=fRcS zg9P1XB6$(B$NmPqn@rEtjz*xcpx8VC{RXxz;j=;SIWy=WHPLd8Ll}Q;Irrf#0eswp z_LF~vsvU>LsMJuSr|+RK#_Lhc7nCQ3iT5VbZVtq^6hQ{zj=0I(*Y*Aq^$SOELsnwY zkWdv6bqS6_c!=8H4JUM=y09w$a0td9@(aP#01Qg59CtwPgX4<7G+25xlVA;^;ScXN zwOff^?n;3_{|=+g%?XZx&+vfW`RN89`vkarsJx^5n#;!>sHf$%`iI6foZe%w585B_ zEUZy|*dOpPKOtj67h`S*o^6GZgzmP1o{}@oQ&HfO{Ti{{23=cIU%YA4F!F8)OY&<- zgs3icq=qENyk8XTumt+Oog8zxsFxYa!}5lR#F%%AzN8OKdR(Fm@O;@ZY{VK=Me4)% zoao@vi)IL&@gtTPI?-BV#V4KlVG94P8Q&Li=Yq-r_**Z(?(KtP#53pO>)wYqOi4|o zUjDd-S9+lF&YnCo3<^gi67OpD-tgMjXGn3(#WcWASf^>hnJZL%520e49Rn;l3N6X+ zljQ1nf9IGXsFR8Q;n}C<7fJB7j!*oWH_i9A_ohXF)O=vW)4R?AQ>lp25?L|1gvJBS ztNXwO#QB2pNOCMXPdr5Eb(eMxJ#pXx^KZuz{F)Lr&GL@H)G2=#1CI<5kM8wpXuEOH zX5a8+s;en9gSa3(EIG0{MIZNpHQ6y}IK7Z*D_Q?+^M)^V?J3pw=-M&5!~!#zmb523 z;1;P5q{4)pcjvdzTO4!#fykYX_s=frxgjRAIKKt^PCI<$chHS+gPP@BFb(mqN;5cT ziHFh%XK;0wN!Nq!_|n-rf4w~T!{bJ|CU0F9J^91_OTKjCwtw|iG!IC#-AzAl$LuFs zc{HzA-FU7usk}q4zlp}6=$^XP^UZK<+1N7F7b|ezHg}%bQ63AXl+j}^C4qCvM z;{1j0{t!kmKB2gWR^A4JMe&7H46822YOmm*6mvkok@oSI$EN?P)A{K)en~0>Y^X9|yI+5L(1qz%^*kMr3w@%meiMCv{;hL` zzIz{BSD5G9LKYx;{f&E2KJmfRr1BF((6=`vMIK0sJe=a!=(6w-EUAZLHtj&q+n@vV_U!s$GvwOhEXy4#N7E6 zrFly*HV<~vx=NrMFbDzB4}*GZDsNs`ye|3qFVSzaeuUME>zC;#X2N;t2))}H*UyvWQT zCE}77nR&~L%(}>H?MY905pv6mkf*%#&vXcpQS0DtAE+c^{lZEV>>Bh!QLyiZh6VM- zm+DKNZ#yiMp~UEKycz$pVCzw^Lp=*NSy*|Up4Quonx-$D7m9~#4ES4W%tnpFJr~O@ z*Do^QFT)7)nI`15A_a!P)qoDxAfl|;m-cq_^%qH+RC zX)2@sR7P`LGN_}>C z?QXwLKgy@Azsw%Df1}Ky`cXl`H+^Vw?-p#LBq8WWnQi(}N$JGE0r<(iO-Y>xV3-O+ zoY|bv8>i$a_cp-92onRDgz7^>dY3!{BgCm?y*{E*hU{-2;4Tk10h%IBF@%RD?Xao0 z`|07hx5tTIZu@_EKhYu8P(L*N{6vzYQNEuXSg6qN`Ss_pChGm9*L?U&*6;izJ4s)F zPZiUPtDF)w1k<2R^vbFc`ADy<vk8@pI&nJYqMrbMCzEq~yyOMu z&oKW(*o1$;zX1P9u72&}$8X9r94ST~!9vHLnrwX@wrk*>5rTa6p`1>@i=sSs)(_&P z@Hv{xArTMsQdr<8>dra56!w0#Hmm_N!xwx7thB;m2psBfI)p^a1gP?Z zmfHun8I9L^Ga9e;=5+jRpe!d^%d~-M3n(|{U0d@jtoYzZd^s zJmSChq>4X1$@tTgj6Xfe_^&-F;!gzeC*m1@SEH!nkF3f4PPT_-J|a&qhjLct=K0&b zSt0|Kdo){EA-~>Cjh&eqJF}7gs9`fx!)B(2&8!+WuNH0hd0Mov%hX#}6h_gMAropO zs+ELVEy@{5M01r8BpN7`UeQ3gx}M^}onNFS`0beGaT=@H_1QI>L!oA@c;CKcNB5GS zlj=LqiECXF&e<2&2J8h!vw`7NV6xxamfzk_8h1G9vJdP|+7JwPb8&dn3`^swP&`k@ z^H_c!isy@^aWIZ>e+6Uyz)qYunho=+Xa1V|%)> zyS=aeC7&t&!8jJ9vk|M_6Jb{JZPIIHd?mfg2|2f{+CO-Br(UOv?ZDqEDB1AsCpdf) zeZf%rY!}XpPP(iyY11A%W)b$#s^{`1kCxB7y+ioW4BMCg)+i)6nB(zJS|-!kWS@t~ z%(h5o$yeu#P}lfim@nh=vWQ5zGjOFog?g#KHFK=qJ728a`H63KV|63czK%p=d5aIC z7FupKV((RTEppgd?Z9vsqa5CSi1AVNX6Sfzt=peFCzh3pX-nk?^nC{BV!+nbg-;HgA!`--+@OC#YCAGrm;uscxAtOvk3o)8@Et+M=D+6 z*AVu1^F{n$V7^NpuJYegmj4u!vj%ot1&I=a>#z1zeJMjQ&YsAYE>4jCXbQigjpIY< zqw{~H()pCdao-N`#r_RPi9zh)aJ){n$5QPdW2s8S`oq3ASgJ!}u-CX2#@Mgmy!sSE z*`G)rW9}5zszYwT>h}nXqmMI&cva)Zy^r<7Hw=Q3SH@fYi~2BsA#1eoJ;F^CJk}jT z>9ZEWueG4+i{PtLQaMQFbxW%|SW8um2qMfY2&7l!X9c3+B`g6Nxoi(LL#noM>|_ z%t5&6PTDI^K2eE+PxO6HED+cb9iY=S=(jdH8p&MB2vRv^sYKl z=vY`vM+YX)#^GU|qv7#>6BSn7{zMbXJV*i&M`8jZZ(2f!5qU@R0J%C(G@m7NuV~&U z&2pSu@!-Hhc1#Uh5P|<$q#sB@q-T90yLmaR?G+4CSjN)1B^V2iN;!vIRco%S-(HgfV4u62FNi&h>=J+PuWw%okmJ5jH$Qb zs^QMlFfA`N>edB1+wjTJnqdmtYEQQ>9 z9D00r=*sj!7gMSujv#4&XIG9Wzdnw@s+90?4I9o-DTX?~D$yWITbHE4n>6K3PFHWx zJSxuYE*$ZF9U1b3t_SBKz=(-Uo0HLh-`o zDi_{uws5`&$9w$W>wl*N!u|m@IIhu5cV$SN%=lWS1x(j5tzlZr^ckkRnI2*4Wa|4* z>2H6gS29gyn#Ht~=~kxCFx|`a6Q;i~4Zc?Tdnr>R(*&mTm@a2}J=4uhA7c6{)AyPF z&a~SS>3?6Q!SX#0({AZ99$`$!Fil{3 zEz?q_6-;ksTFdkarcF$bGCjrgccy_{4hAqC!E`*+1g2?BvzT7bbPLm3rq3`{W!*GW zS4N#9MGdQcB=(}pel43T>`je}rTdmxNgGNe^|p6!FKPZl5%Z^=-=1<;cA2k;7dGh$ zS~pnIg#{}L3Re{vtfiS&n?1L%fE^qSKfnEs3;44%Bg>FcRFtvWP+(nU$g>tKv*(ak z#rC4yf@KDKVWArj?NqxpO83xh9zm{tmKs0b5iHdo4){~le9(GWGv0hvSu&K z$z8r8FTbGBc3n}iy=3L8($&`+uefsD_z4pyMNf_#>+)#0jAv>Lrz=m=$`R)`FUYXv zE?H)^FUiX&wlA?36%`gO$t}n(RQ@HB$&@Lxt*fMou%BDJ#3i34Hfuo^lEe;N{$&(o zEy>KYW)!i{Uh)+F8gdH^1sV3-l~zM$Mqb|1jLa1(T;We?H4XxZq2ky2FG6zG7;_}&)fp*5?fKB&01v7wHC8EyDze4TZ^m(nO4}(w-y&? zEVJsyFU`uBY@K9{8bA4paZ%&5mS#pxo{(jYik^H$=F;qm6DLfLwnm8vU6qli!pY1l zEVeGmfhh8jicEy2vj{Mso~KM%=Yc44xMcc-J8N-fhAm?$oOba++DlYS4=>>1`HY1F zYpD$~v1S>hFm)~*SCWm?>STFc21&>(KcjesVTE;(SrVgo6t1#n z%`0B1)2V#VEX<-T(jhZ-MPL-#l!;DfW5?M=8OTDNF0(M-R${lBGpSn7vaXiCqCVzi zToIR1Y@J98NpLMK$<51}PL3p=r^>?A1=^G;E~JY`eJM6%78XFBC7JfZB7ls7f>^!Xoeb-x4pmm|Nh7g$1r0nm7L{!_r*46uoMn zR9fQ;3+zROc?OYAgR<(%wd<`#vMM7<%kr%SR00rbw-Xg^SARtFlu?9opQy?W6$m(% z;ba#T<{L8ea^WF+AahTKOHvT!M_88eo?TcFm7iOXo1c+qxME@y(&N!6!Vk`DHiUd^ zlx9P*l>_i}KXLqp-BY_{%@R42ox7~02vJ5+(&?_85S?hAZk`a8IQfe4QR62im{EV@ z%~A0a%yGtq_~;37S6o3!si~ChWdX|8n5;ai%DRG8>Iu(eZY|}~L0oxxo6piE>gMTY z<3Cw9PIsklj4lCB$;!IUoOxYIZjp8VysMK7Ggl;*X6BU?qaD=Ev!cx`{;RpmAwP)v ziaL>r=96AhN4Y+Fzt7S}$$IE*-ooZNcgXa5`){I``2QD|jpO6xcj-g&eO<}ai%kbd z|1Z6cTz>v|mT~-Qm~LZQ%XEjr>!f?rdPy;0?s}c;JllD$^H1DF|G4C$OM2k;XR5>E zBH2IjO0{YqNdMx+`dPxwc=4OPaEljiXRPAe!C1vF@I{%v9_)V@ zV-@}|#?01*Gxlc#BV*-%G-FjQr!tnK8T9|XaDtb8ix)rH3#WSFG{!1_vb^{?j8%N{ zy!bXRZ1=KX>V?;M;WEaw5SFeAFMg#L-r|L87%TZ~_2O^y;@|7Vul3?@_u}vH!cTeO zIxqJxc;R|4yvqwWc;UTXxXBA2WUS=X?1hhb*+1%qKl8#Zj8%DU_rkiDWcgO*Gmx<= zFJX-P%Iwn_z4#`^7coDL@gT;fj0ZE`=Ebk~;ve*{5ERQ$pjtM655aiua=?WcEpneJu3l(F)E8)H?z>KH5eG&5E&b#MQ@+c)p_$-91gw+EG6 zUsU_(UH;oSeA@g=*ODbm(GAT~;sb^jA~O%P*q%j$b!iRQo|B8Qs4`fxBpZqZPb^0~ z%47*f-ByhFR$7-76c$*?-@GDbE?HvDSeh$6MmVc-v+YYnr(DEG;wxR@N<7YmZT2Dz z;+8Cd_t3GZ@&A$~B?TFIxyuTyav-U=lrU1wuydUu3mtE}RTm2b4JW8fovPCf#d9nS zhT>lQPid1h1{oN^5sHF6Do>Fpq)}10=@~cG(J1Y5-B?g6@9;`D6@JjcEE?!&(1=kw z-8#@~aj(HW0*=<;;d1aJaYx}Ei+eb34UVS5gAsUMgZoVqMsfgB)PX z=wHYel2>k#y#$iT$}P6#Wn@}uaEzg%O{LSCWB8k>NV&W1xh3HdrF1v{zl>5kG(xK{ zBs7v+NtWGEWVM$R6+mjp*F=jhecplvNg@{D%Y1c}imv$l9#i>OTTS&5|cxEca&zryapIvOE=Vuf^kCyd!LiM(HUZGNWZn^$Na$U-c+n$oY zmz+Iq!{4mc1sVCM8qihPbJ21@gJQ^r#zvJ3#fM_D6bcHD_<7iZKd!>_Uk2y0_a8-$ z()|}X{*C`#>bpG$8r3Y1Y7d>6tXqa*!wm4=jWY|EWUR`_Rr(!eZ)z;HVrV-Tpj|N} zKu1}WYeRd;;?WsMnP!mMF*nzcVK>NEi6`Go`f+y1PAs{IPElsgYHzO%@lfDV3vHMq zw7Z66Qhm6?P0zsVWOaUFNij6a(D>OI!v5IxC*CVX_oYMS`EFy8>qN7RlHBo%>?lYWSF`%Yi%T`bs>B#V5jp6~gZV{O1Y% zkn~mO<*ziQF~jt{Vl%0Gls%$sKE22))lrORSnbe3mq;@Yd-FZbsUJZ0lU&6-z6b># zjq`jopin6#LTTo41z=5%>idxKU|=;iB#f=IU2rvUATjv5*$dy|g|Q5$i~WCj;ak1% zZC>~Ve4*VlycfN&>es3MuMM*Z!1Yezj4Ul#n*&}oRM3S1k2!{fzTqS!{ zo>VEaLhF}>{H4B9d|^={+Kbep!c5F4oZmm`E6OZCkpCA7cL&0iHAc&fKWUBmaXLofyCI1(u=@TWsm+3E&jM;ufgv81pMOF9; zM+bDZ*WnewI-3v_XneJlRz;rLuCZ-3O9%0(T)XB7issC>2e<;&IObtxK znMN=j&D6+rJkw~VQ<<8WCNQ-yO=X(KG>d5-Q{}&%@fxNTOlz3dGTp(np6OnuO-!4a zwlM8rN@b9)z&)IPreRDCOe2^YnMN};F->Kf&eX=Vl4&i|I;Krbo0%SE+QQVyw4G@O zQ{7$}&p@W3Ov9KOm_{&-W}3=0ovHHQ#<+}W4bxht^-P7Psk-;(h%FtspE zXF9*6K$ikV{sOeyS7WTQAg4q(y(m{VKf|sAFDnBxR^SUt`2l;y1Yoy7K9MQRb4rQ? z1J7{pvJZbsiWtqzD9}x}F4d)E6zR;iBGA>knFxPoNuJJJvP?JMYSYcZ0BUyON?n3g zzH;COV};e^u1GwKwe4C|$E52TY-2Hp&VU<$sCrmHd(66u~uxBhwCJ4ww2f@{-}_im=E;hA*;T zSdj5>yO;4PfgEIkknyr37Wv%IlK#qg7P`!2e7$X{_;)ooBbIcfGNtDf{Ki72S@>V= zksdOk-)OvT$qxMtE)%jTZCi8}-4w(zAOFSpsmqF7iP9~EeC0*$WPjY$JD{8T8APd% z6o#An20d|;K8^Yw-EmW&g!(K*$&4uJ>xoBwEyW{$$t_XR?~%WuxXFz4Qy1|~=0kCl zIgZQ{_RNgq8K;7hn|W+b@hAIN<0k(X;ij;u43T+0ZUb&ALxXTrnWMOt;ikB5V7d{M z%*%0;KNYyiJ^FDpm!-R(@q?fg&+WJ=oX2pJy_a!Qybj?e{>Qk9zX$>(9ZML5Lh|X@ z$L;%mNyC^%FkOyv8->zH>7?s=(F2c1xtG@pl>aE*ERlXUe}PCpTalzm`fp-d#exewlg)p!|s{3Ff|@zbEazCvW;;a(*~x2?@IeB4SzR2 zp;m@!pB=4UKByX{s4>ppxxdi(=t_>jf8svRBU~CCjfdO+i8~7OzvGU=qI6Pt>iRqP zc_=rT2qh2lx?adGSG-Y_+@zn%x4)0ih5e(puNZ!lbSQ^BLom7m_`CSh+ks+C?;~n+ zbAYXgcNUQHk!0|n<`?-vZ^#0?RXp9R82w#*Xgpjj+-D5=KOfzH_Ve^%qt5;F zMW5zB`6>5?|KAsbvJD%{D>mJDQ)Sg=$Cm1wZ>jm$t+#Ex{f;}g-F5dp_uhB^1GNu6 z^zima9(`=b<4-*K)YH%Gtb6vk=U;g7rI+hpdG)njufOqTL*wo}d*9l(zv;l+?;L#h z(0k2?-~ZsqhaY`>^w=k#e)jnn$6HQ(`PJ9|{^q2!^;Fxp-+li>`;R~U{L8PWf9p8& z`yYRvJ=dx8@%8f$=+-?jD7Z&R&tCe_-WT=h+pqt{VV4XTIB4*tLkvTQT^2rk#K?$I zmq(6{8Z*|t7JEtzbmY@a7hbl#_#gkgc1ik$`8TXtyKepe?)3lf4*&nP{4czqUdsQ% z{Qo25U!q&lr469>5nZ8Q%6>kLk?0CzOyf%~-ALFfpbvCtViC zH1?z`l`)O&=t^TuV?Vmm8Piyet{lcRR-?=yWwPzC=P@Gh?;xdXE1JJoW!`9 z@l3`?8P8(e!dU4WoQ&r%znyU^;||7GG1h%8^Oy87bOkcLMnYXEV=Ln@#_Jgy82fMo z5W(1&aWrE;#umo@%0BB+0vM+;zZ>Hm#@!j0G7e;1$vB9y(r@=*yp8!GjCU~Z$+(_z zFUC!b^^A`)rcb2P_R{@gT;fj0ZEWWPB;(ZH$L7-oe0-hJeqM1<0!^ujK?yrVSFXyTE^oU*D;>JxPkFR z#?6c;F>YZ@U$3XDo$+MGx|1@!Qy7Obj$v$ItT8q+rXwclGBGwWPGxLnoX$9&v5j#8 z<4VSfjJGkK&Ugpo8I0>0CoyhfJd^QJ# z?9aHAad*a*jDr|&V;szQ2jdXN^^6BFZekq6_$Xr^?%+8Y`!nuf+?{b?n@oQY<1og- zj3XF_Fpg$CfU$*f4C8dhKHOonF%Du}#yFU94dW2TwTuTau45d-xQVe3cPNiC4r1(N z9L%_b@c_nw-^%pHFg7suF;MG;{vYEYgMc~{<6y?A%01(BGYM z`>&BWl<@$@2F7yM82ekrtT6V&Lc>aznjf?9OlBrDvUJh>kfgGwN!nJrXx>v&X^-ZC z=*osBmaZJwkd$WCv9Fi?BYihrG(Sfd&BM`E!2T96wlT(8DS}V47<7@ImoA#epsSe2 z$Hltq7_StRW;*Di*$TQy*G^Y1QbZT6>7%RIl^z*Ro|qM|Zfv59lgkf9)K;js021;gGhSE}AKz zYX#>+zDpjGpU>vYIDI7N6|hh93?vDf6OfW3Uno5^moXpf1>{BLBT5&iQ{x{hCsDdY z*E~0sk0@QdPK`&XoJ3(Yfg1miUY>9w`zN*ZGhFknR9>R6%0P{$sN4{q$M&iGM1jl2 z9r7yywqT}RUR0ilKi`FE79!sr*rVlzl3PBtMmYDvwc+rt-fS(k8x=2bIq##Fnc!LMQ(gxcsB?O7TU~!%>xW7gwF92~e3Acd|EYcO zl1v=ujGWbU z=WD*mr`aw!%l0TqH&+Ia(ogA)chwiU?#3NIn%}0-(%8OiPvTtpLhl_<_p*I(^9w}! zJ=+JepXyOgNPhES(zSfcdhKqZMvPV3qyt%`b@tWa^w~Ci)A7y(R=Mm3*^da0eSB9V9DnBy(6jwW-!gsfa z6u!H>$?)S{?VSwY9ba0DL8aG>f6w-<7_-n650$er9x1MPO8F2Cl`B1z zelk%dL&j^7i!a^ByV?;YXZ2ns_mmS|-K$na_A^Nys{K{+Q|+w`Z>B4qGQ0(@awP4W zUHK~QCws()Lchkf?n~NNwN2HxSsr|{pX$*LQR?GSCgdgkH+!U?_zPY2Lh|Fh+^2f+ z=eo*=jE`zHNgm|ieAjzhVv9#PApUHR_delNSNh%keEFuQa^ZO?y|HTdZC}Z8#b~x< z`%_}s+jh@GDL=}Xf0PYs7=OaJmhrQU>loKEZeV;1<7US1F>Yb}A>($&?=#k&mGOI= zaVX|nmCKhezhXZwNYWO%B76UO)^=9}1l z0OJVet9IJLd^N8a&HRVhzJ>9>7^g8-?Q#y|=b2y1_({fLthZPF#Y*Non4ikwcW1nf z`D&gfjroDh-@*Kc8P_v@mvIy0rx+h)e1Nf&@vV$I7{AImuv5zOEyiJtUtk=;_#?*A zjGGx-7_0tr8si4$=P>?&aXP0jh;b?N4>PW0{5j)oj6Y_)gYnyp>lweuxQTHiu%J>V$m5h%u z-o|(z;|Q*gmoeVKd@JL0=Bs(pdgkXb-^Bb8jGLIB!#IcYCz$b3<|i{QWA|eiJDFe1 z*v9UAFz#UfR>pxoQofHc4rBZb;|Rv;{T|KuCFWZg?_#XxA=SKV8uKfeujWN3G0tJW znujdq_=YgQl=*6$QOW5Y%lt~_+Zi8a_hF2;F@GoH9gJ1~pp5PJWPUyK=P*v?@FEyD zF@HJZQ05O|e3bbaj4RpyUW}d0S8BK#=Ifc?!Tj492l~qVnag+^+YeaD$v`ByMMn)#)S)jaeR#unypWL(SP_huZ(?dvqgX>7lWaSr48$~}jFCF4@& zOD!4JnJ|Ai^DCLZjIojV;f%L2Uuw~?j)U>d%+F!_k&Nq^pU=37aXI4-wjay*DD!V* z>|}n7!pyH=T*G`L;|}KE$2ibW=BL!&VI2+{FBU zFjji~uNWU?{%*$Yj9+IQ7$D{KsB+KvE@hv?8^}1C`FAt6F#adw9W0-5jMJEZJ!7>_ z#l$#=`I{Lxv-@bqrOYp5e3bc<8CNoY1LF>k?;yt8n13zf9gGVY>)5}+jO&@dL}BJn zVBEy~HH_7|D+A-B%wNhlklkO(*vb5K#&yge&$xs6_cIRdCiCY8#um0el5qs{a~Vf7 zE>!jz`!P;q{3YWY#x;yf89&IllJRqlw=sT#@ean*8P_wmF_!vS+8HA+Io{3Css5A1 zOQGfUtzf2yK2Vy-|2*)O4>T_oh1e_q(m&At z8+l2+6z!m(-7Ic@DS_r6c5PosZN zKJAL?iq(5i&NtCM71r zpX4uh<+H>EUjEx$x#Yk zUER|zBTxHs?=G3h@Z9+=@iJHbNu1* zdRBM&QCPJ@64Sp5kMyv4uJS1P`Is-4mz)oA$4}1Jxa*~yzjW`5mh(`aeDa^_t-Pdu zTg__Id@-e8?nx&ba=tCYRet4spqkB=^Xt?uD0#{G4tIT(Sk1o6`S&Pju2s7&=h2qA zfPl>t_M)7SBOvLMXi3J zbt04>bUK5)-{ZDkNo$PkEgk3dgc87O2k55avt6tA31M8?TKt*+*sBig_V1W zb6oL}n09Q+OX6Zz`yjF1_5PIe{_gNEbUssHvae2!Ed$tZj1oItkK&Z6Cf<4yZHjU?JpG9hhF?<7ry&0x(>LowEvb1 z3-3B^X%G~DXS=H>Pg>X2zV3T3{G%5Rbvfq4)7LA5Zx&DtUUb<%vhP*IugZlVnEPY* z%aWG5aC_%Jo5q(-bz$;{{8avtxO{P|Vi1p+MVfP6h#5ttqXN4OH(g~iKF6miN@kun z%r(y&JayIF|N3HzhwaGD6-3i-f5lF;cIDO^1Wg&gfoN*rJrzV7t~+-V(XyIr9Youg zzjiax+VbFk5p8+##aoG{&RMdRsBV7uJBT*#dHPPG?c3+wMbvQS*Sm?@_S|_d(b{g& z_Y!Sw*_Ib6IsNuv-4-#$gUHFio%Z5How5IoWf|mKzZztRmz3~yEp|8w(l&Gn^ z?_)$8wtXgO^Y0Ju5crAZj}vWv-1r1h#6wWs-LF1LxTbpDQ$#~QG(SzW_B#J(h}yFD z30n8eO*;uUM1+g-(>|g?(36r^v%du$h;=MOwihAjtUC-yh`S^ODYAmH6ItW z?$3#@k$Lmi)q)zUz82JUYRWD$w*~%7(9o~H5wv#g)Yr+p?8AQvs{8gEL2Dah-XQb3 zt7-(Tee!ET8yceD6!!1fBB(K{MbO&amoy0f=fn$|{(7FEWg&M6s*8P7(9k(fLEGbc zHv zb!qzqHE#Je zAyz@lA~s7Jxl_=Ven%w#WQU-(2M6ybcP(*of|?Fy3tAiN5Y%|*PC-MDeIRJ6Ux%QE z{)3vxT}^M3pbfuf3fi*!CP8(ppA;13Pte-hp9HmC)L*pcb@`J8Eqm@Cg6dAJ7c}+E zLxS4=cuUZ_lTJa~U+?iYg;%z2jG*bG<_cQ-MzNqa?G8cPchn1NIQNO5M(wPmxkKI| z_onq`L2YH3g0|;v60|PiF^Rh$5VYZ?Q-T`jh8!e!sUJs4nlwjH(_=P4jX(ZN;*rk_ zT9$M~(9pDB1=Y>(|1P;tpE60(UTK2r-YXTWmkSCXmjsBrTG^F-y`?Ucf|-=8@E`{vSZf^YPp)Z8vP>$4Xv6Ys3~Bkpe?0~1a1E+M^M}JQbEgV zZxS^0r#l2S#yl!$`wcG&n)Q>X zx;e3eHpeClS{uGtP@CU!K~p~|71Z?jO@gM|?hv$g>?4AreGs(aj@^RRX@>=E|Khly zwpHH?njUyo(At0Xc%R~v+Gl{Ew(1B$Lv@n`HLge$wE56{L3NQ!C0=h6)b#E;LDTzG z3u>5mkD#?xj|7S}C?=Z5VHelGS%&oSe2_0Ps${r);<&)W~h=H@SrN%;AL*sHaPkDR*Z zm)IU}o|u{wzc;q`Bm2_dtvVC?z?dP1!lh?p-+ld)ddHmB*nY;iAC6Y)w5L}`KHA4W zP}}>#_YD`{8KC(l9eH}y%%@{}87H+*TiHw7bGqA%kC&c^?Yk>w$U&cO+MEAAJ-6lO zQ?YG754g0)^+DQx-v(RN!ws=>_haT~OsLkY;N9 zZO*A~Gn;1h(VpJ*;QgP(_t!2z_1g=NWe?VV`17~umgi2#R<_&rEol8Y_W8G`1O*lO zYmfbNyYdvi2t6fohOK9kd!J7G}S9{!hQ-3XT*Q3|^1a`*eE!+2Q>`SAx(NFH( zHQF~)OR#>vw)x^SvG-5%yE@&}PfH(o{Z_}}5N+M#Yerh1zF2#F$pdetRQA?3Hg`+k z+xudzBk+o;V}izNQ%*#F^;X}DwY%pOpMC7L5n6dg%Zs=CayIt%9x40p8GD)5CuFt7 zS$rn8AZ=gZu7j6q+h)!?)7o#SR)576i%b`f)h0w|4R^dZP%Hb+F?h$4A==l+Mx9BS z8Ln*&8FtjL?IJDcEC1UpJucVISs#7!s+1vG=G=*w)PxMxCXQTmu2kO<`}Uxw;g$13 zwdMBwwexRpiIwsR)27~*`0b9mZrbCY{yMPZnozCZhYLsi{^iBmn_oZk=C_M_Y7bA# z`DCnPur_JZl(V1Lhim>9J(IC+V;}7SeQVMUTSjYx7v0&f{nRLJ;tf|6Jo>~X+QM!{ zL01)x(H1;){h#9ojnL*jl<{6<_9)Fba&PaZ_%LnaJJ`jxoniS;o8#Z%EBwPosT}5 zynJztHfZI|pDiEO9{b&ZDOY?vbET9dp zV=R-k5ou3+-|O=j?bS)Xi$32wS=;}1TTAQD1GJ}lj@&r^&;;$(S1zA#pEFroaAW1| zBgc2w+Gl;$Lw8LG=i^ANW6O6h4A%|UYTy6qkmE4YR}vgDCSs`e_G632{cP*04L9xR zvu=H)c4^hnJq5;bT55@dUY}al;E%UVsM9q2)=k5jR!-5ry77y7`+CJ{JJW7#IkH#lzA+iq$5y-?K^oY@l}HothUftJJj9cU<~&?>-Z? zyY&zK~iZ{`g9L>6j7PdmW(zj%nY;ZhCjtx|!C?w4qOzC6z7?(6S1iJrXr`s21|; z&OH??%ik4R<;n*mQ>ISRHpI5JJmS1u+c~s<`@Xu% zwd}>8+Z~r0wXF+Y`?k=4FC845Q{;G|J$BTW89j!SPt$hp>c02R0UfbVy!_6fya-LZ zEqGW`kIV?|AEO^??AN0+c6!jDlZgu^Xq)o8br`>i(I)2|Yd?P1aBV}~EzfQ`I8kfb zaj7nU#&~VW2mSA_oHj|j>GIV*L$4mEo%YFiX7%A1?aR}9t_poPMEfJ~-let(9H_GF z{j%s+r)ZC^9rez*iK8{&Q$O4lT`^SqCeU!-frBwx>IbhU1n8o*6U);_?EY7zc0BT> z5y!8;Tsu&(v1!iAFs(gD|L@p2L$t4MUtRKc`fsr_=9Yc1F8j~e!sE*?IX!NYwxV47 zIrQbRTA$FYR|_g9YXi3IY|fegN9=W@st4w7nSglY53_DP7kj5}TDNs+ufge@G#ZS{F+9zKdlsQHF;*wXc zx-o9N_UN(ad~SVvqBiKZ%cpFN9;q2`y|`Cp@2T3kdHL0!#a^LZ+&Zl4!|zc}KVMOC z>!MMbW8|16DWCS#_D<+_`HzqM7(0II=*srE>Dsk3PCs_f_m^v5r_U^3KWl_GW_A3R zaXm+AK6Cm68b&5-i{JaG|CrL5nkD;_)&EFM(1yO7a_Y$A$=a?D*DQ@)J4);G#I7^{ zc-EkOzVf|H!{RG6%g85w{-%7CwzakMm#pMzn*JK+npfYLuGK#}`)uyLG1`;cmy|!U zJW@OSoqqM6gYjC+9Mj(9hEdvmM@z1sRcz8O>ff^0KVhJ@)pBUJ^(~Y3?u29JzWc{% zvtw2)ymfm~Z2V_tzo6d@+Aqhx3bNfYMoZl6?>IehmUh+SzaO9Xy{5fx{aP2aB9YsN z6fOPBNjE-JVA0wi3i)xTb-HH%*0S?#@3Gqc!`p8h_(rm3UAg1j;=1A5;F$x0cONoq z58Pu4Uh=M4v!#w`x@uygmOdKlHz*`&2z{n_Ng{VCej zzl1z?n}4zv^5`RnJ}RH7y?XUqJ#8NuwcyvC7v&vD(E45W)oquIj@9BeF6lFL|1fQ> z{gV{!?vYyLW9HlkI{u8kBJfAw$C8F>pO$P`GwbQuTJXutbH?1++Su=pz0vK2S-W-6 zj~gR%qO>*JKdt<+`xNbTQDfBjGbZgq`W-{d5d1o)wRiv1XMIEGw2OZCd1BCmozn~* z8-{dj=$!WAr?pRoW_C`yE^g-i)&$_-%Mwlx@0=DmWKDZx_s(g)Hz#)NZ#_2+`zoLR zf7<&NxTvbN{k4YyhN}aD4v0D`CSJ0U$k4PsUc*uw5tYnhkQs&IG7f{HSq)vO)W~B+ zWi=r8n`AfYn2lvcm(!W9A6?I6R-UrXfT(z@|MTv>1_#8``M&Rbzwdni-`PJNo_DYP zu6M2V?su)d_H_c^`&Il&czKh(N;UZx5PJi`Nc2{9MW6)8hL99apDZep>v@o~xg#JuOy^{%p!M zL8rxp-4%Q9={hCeShnN#!(W^dhgsf;wY+gkJp0qVmki&1O5B%qlksomr^M^N(JlG@ zj#FY@tgA-IJ0)Iye|F%k6{p15s#*9uB|75XxOc*&Q=;OUO(#DZf^>&~zfo|i-B#hF9&!3_m`J_aBQ_kpdC*HuJ>t&$gyYV~dc><+8$I9M(<8pL-MM$1 ztw+?{lZn3`F)E<=HFj-}_|?8Wn;xCfBRZ?>-?8 zzjo!4u?J6x-Tt@E%5a?!Hw%-uKfCXQ`1%pIYIO4n@quYC+}!ZQ39-GZxMbn|C&aKf zACFLNJRv?)pLFQUwI{^9BH^`nmY)#k552+m!MqdV)?a76;Ym6n?)`fH?FsQG#GuVP z^NI(b5G^GktK5nc;!tDP5M$SI@vY0}+re$wf6E92bY??jMr7|F}3ac31F% zXO4?y)}kGLMV9uD;^#Yg3Pl zrcoi+wa-2-e(k)!ZTY3gMg3}F!>KXH#T_kEvY(AQE(Q!qH{Z9ap9XcO1Wh|8 zUgKZ4{I?0m#OR)bKL!pzCcbeX;+xTfux=3WcT9X@;a964JlZWz^S`9l{av@XaMG9i z=5%z6`Mby7+xAYk_|1bgUtRf1w|M=lsg6%~cZ*jG>zi+{>=xI$_Ix|-;cn5MB8>Jg z?G|r|YPss0P2J)e<8?{z=XHyZ|M}Qk?;5+sch0cLVs|pD4aej2JWt&{opT0MMeFgy^{_e z72hmsc<8fFj*34t-ct4O+egJ^5TVpI4bTho_IPg^{6<1 zu)AsF{G;NYy(_LiH2tV}YWPh*ue#)@_^Nv1)!&XeD!%a3U(+{ej*4X;=!BTCqoPr9 zU_!faRLs7l;+4COcZt`0@N325pSr|H?bkTRy1PV&;bI~96Y!*xMW^5H5+g2Ox$We> zE>S;GXjVSgCHn6_x;?JGOMEKw(D+$Tb&1u=w(G5b=n@CFmPWRgc8QDLuSh<1YnOQ0 zxRN$QVV5{g_;mBL*J-Dq6=jULzEgbrle4>CTGA{;H&{;bNy4 z(S8~JI>jdE&-XnrsZ+dEcf$|qV>-o)Qfgy#vDhvxouXYW>^mKZb?A%XWT$^RXiyF~WGqvVcP#@sart)@i@+h|{0CZ28;|J>nIg@4a^2+a7V=9#c9Qpi1I*<6*@f*&V5un? zmQ0P;Kwnxsq8%T)Q>r|49RrJ(<+b{g$EDk>VOZUP8xwOUDcIadx=VrYWN#GMbDIRF z0z}|t;Ax-?Py@|C5wHgEK=)3t0Z0H`Sbt=*z#arjfI`3wECFT$IE!*t^+Xg%V+y@*0o&z2Q?goAY z{sV9WZv#%C75D>C0t~xDU{OFA5CHsEBCun?Prx_8e*j+~{bS%yz?;CU!1F*OPysv& zynd&^_5#lXEkG^c03HLj0}lZIjK$ZAZWHcRj!`f>aG{0toj%)LJ~HJY8{UQPIgzXf z$gc0=TW&h?XyX;Er=O0mKHcw1hK_ehhinJ>m*2Y`Hoe-u^`LTmms03?>*A|d*H6!z zhjKf8wq2+WUYnGU${>3kKKZ=%eDzwPmoOG35C&LCR|)8Swr4{w1B@44*cW7qYZue_GzI<6ny=Xe1W=C83vziMjx5%c;d8)WNbh1!b6O`0fcSGZ;SkavBoDD8;6%cW&oeyrJkRFMh9cn71$08t-^1z0;NC) zFut0xZoE8^f)`A7f63UVU*p-VpBTFrxbX;McLT!D`0W$mDqtPpxm#emdoU*hT!8vs zf$2*Hro9hy4&bBv1=a(EJ|M7Vz$zdM*aSQc><5Ck2rL570F!}aKm_Ih*8;30@}BFO}=P6M<=8kNFnVoW+VS0`D<;oLO^Z*TGYcYX>zlTc(wu$L7D#&SNTV2$^DdY} zdhWh@Qr^RT(hO2w57OvqBRQ`jo$|6>zI8FAlcK6`nq*JiCoN5~r|Fv}>1mPXybWdG zhq!E+sM{z7xrDEi7qL$;S4+dQQ?gFH^jPi3h3m=>_9NHbv}u!R zHC%|vBE|#IWUDPJe!(oMKB_)xE9H9orlrYxnm%c=o)&5JgO8Jo<$7xuDOePhE3L<4 z$1;{=P%tf(X`-DQpGawGNQ*z0b}6M5Bh5~2k@ck4VS1J*7=3?|r%ffjl;xP)QLM;% zms6T29miVmWV2k4;_FZkT9@NVDsxNUG^tDn(tP4hDpRvc!JflpgXfjXWEPCg6tA** zY0lj$)s@24%IH{rn98H=@zz3!tR3Sfy0o{RQcN3eQ?Paf)8y6scgV^VYz6{zvV|LN zMZ+l18jJLs&145pTgiROT4>FR*GaE+8j&XXN=}p7C+YqZ{s{pJ7LcgW3BgJhoD{%< z69X)QQeetEWaE-N8`UJeROsOYzp7NF#m}fPjPh47|3e{68^;)ZXV9Qiuu){EJCyk+ z1xsm*kiLr2VUBcs*ZbsS0T@^@aKIizUf*pIBZJt;%3+=u_fS`~bFd}S7-3MOlbqQD zb=Xe$8UKy~if|gb6z`E+<#rjQ`me@%go;HZg|mp%Fi(g($Q5V_FiLej5XSt|LYWRP zzSID!DRN!=t|KU+$NK5TjPz$=Nkdqe5Xk~8jO}~`{TA(v8Ro}=kfuN#d($M{q37#L z>9I&3BH4(;*t{2YsDzz_Hz2$Vpk0V9g}*|NM)=E*o*d1X}8)M=FS)?h3MJ8!beiRGAz9An) zUFuWc;aE{t__3$pQ;mWJbt!bDlZ<3~_pW#zgcRU9(o?BX6NLeyBEn9G?wQJfEsEiO zOpkOH6RcptsR0IxM;mlQ8;wQImc;F~j{?2-+`spT}Yu)kho1 z!V#Z577XXdDaCYDZ%j*hXiTV-`&@bwLWTTehOh}B=j0I&jimEnJxzEliW|u{0{JE} zz#!KpvQJ&?(smkmg2;asX*@Bhm;phQ4>(|w+UdJau^5%4V^P8crm_SY0}MR=p*tI6 zX~IbeVVA+D!4AZ6iDI@9ueN&<>3^$w8{4MT224`^$xm^B-KNA&h?yM3hMPn-Jn2d{ zTu5f&?odkzw>cMPUM8E1AY2b9C7ZKkn{IUzb1BxamC8wMt3vS(n}zPlV(@|QV8pzi zMWLhpC;4uC5F2V5hB%EyoW`)B=!a^HJT^Gcz8GBy8<{kNjT91@+JhRnf}Or?dk;n5 zLG}0q!neKkDDj)EMibrPt?cbUMHH@TD6eFnqawl}fel&>yV97hl6*_Csh)~sOEmr| zRuqhymMDj%)|XMg@d@KybJn)8PrNm&1@rhyQ}& zN()jZJMd3EMX9o_vqJxx6{1xxBHs!&9>B@@(XbJ#72CzY)*F14un8~1>OOjae*v4TZ3aq z68c$U@3{XQs#=J8C+~;w4&bJ`tAfkmWG6-%h4Mor@J{BSGm6WU!B)lH3Z-4KO?d~4 z38Z~GR5~u6fo5`0vVuhd;{a~QF4>7if^TPSQzj}FD@yxrP>hiBNyo;~y<=e=)cmN;&qH_}_zY0V zZMILfppDt+cLDDrm0L5?Y19ph;FXFY%Eb%)oM9=5LRwdF>ZZ>fGi zLpTA1;YiKvCn!?L>Tl<)I_b1?ntyP%!e1#_#aSzUXLEEg8=Vx%Mq5XC;@q(=jdO@4 z+88Ar$7aA>!aV%D22g~%Y5wsQ1~@?z%rvG@rb!E78qCu)sZpLtx7s4$L+MebU>21Y zgz*`2s@f7UESL>T3unWULfNp?p`K{>U?&})DQ0$({c8MclO_3NEBiP988qW}Slq=Gymg?3)dB4HG!<09;%trH-Oa;pfQbhQ(nKTTum@z6g zX3t2^aQ84*jB}`Eh%s76`;nhCb#FiE({4~L(&GZA(+Dt zN$nkZjWJWg5GT{v$h2g{%H=pF=vZ&G@N(&#S-^!N&1<}Tn;#1{;oKz&zvhM?90@}o z2$ZPK8>3}vIcdP^|KagUhC$$Auy z6H$ri3zD56*io?4A#<3+D+oBUA+^%O4c-WR+&e&VP zRCEYhCOn3H3wYNfe2(dqhhnDy+aCfJ@jNET)xa9Q-U9h0pY62%vd{LQ*Z>xrG>FAo z(aS7@jbxWf?}X0#kK^0mutUtx0S!Wsz=Bp|oz4ZV^6XOfV=xQDJUEDs4Wn^9=XU%Y zxby_H!Va+%M+UGoW?-!F^=EbGJ1Y4CHBKZ}Zlucc%3AjDHR z8?-&dBH#xc2HTW4Zu_y2G#n3UACu1zuhRaG3uSSpFcy~vPQqLzv3FluV&eQTFOI`R zUyfH7d>}~rYUmGwemIM>p3@h`hqLk7{%knLs^J)`hNnef9;s%-_r!RHx}%+PeZx@S zP}DbsMOnS$WCYUGNE^hW_NXmE8eGTR6Q%R|E3p>8%M29Yx*u_`pD`}<*ZmsTB7X(i z;ag&bLdpDaDyc9E7F562e+t2mDUeR7L1A?N^xXbA^a5i?fp}aiBo+ewSm10w>AXOQ zMx5HPPfSV{o#uyqqhJ)t!iZqZgTmQ}#8{8UJ;W8|jI=};)dqQg@cx~OInxLg8pYHeg(Xj_^GW zB*4umpLoc3IG+cX@cN)CEQaE%>-;)UKP<&jm97VG+$u;+>xREDR)KX|K7#xi;N9+B z_imTQ4fqse1&uqdLC!Ess4>J4LDw>@ir)CB{0z2$7kJyGerZ)0n;ZWJ>5I8{Up~Nv>$n-d5Rjo7zAI0GtGAH z3vDRV+J-W%X$aG%MKf(u6w`LezK9uzF<%(V_!T1gSd24qI(Dg1p_mE5IIo#9;CAU4 z6B~?iG>XOU8RCg@N4nI`a7&mm)F6xsVWX19uu(V`_UQ=**p$i~H=xY~lqrut7^^Vf zio-F!Tx`L!<2xQJ4dm&Yf#` z_mLPbunoYN2e}{Q>%h3aEnSDw@z~P|Lxb5+%=?CJ?|a2X-d|zZUzi7?&q?z@YqVSL zhdBPHVeWu^9+!G<9uPAzh{X!oOuDYzJ8H;t2%R7L=)^!4YfH!2umXB%jIJ+H|148r z|3uMw6XpjfD+>La<_IxkX|5ZAxvrWGv7VdjQXX6ikmq4I9>nzP&)#@=W*pj{Ag~o) zAB+uRV@*rh*rZf8R#?n1H?c&~*dx`e8}&MhdU<;5WeN1gVK5tH4Y7EAJ5!5&J_;8< zy>_MYL(nf}Jt4r41z>(a*TM&!+evK=M_Vx`f)As%V?NY7A3J}1^WJ;tKb}~p;@L64 z;;ly<@?uPn!L(EUp5T8kiPoLNvXpG&M zf;IvNz5WYVu<*oSouCQ8@iGv{OK@V8G3Mg1%SPIw*f7&zsjm#aG<;96N97K1DV^Rq zaypey^L_Nmm{B;l6YgUwPk>wLQaGu8YD|nqjaRYpw!3kjb`SRby}15g${dRXmbh48 zxmU}_65n+p1lO%G-wZ)4(Y5;+jFmK|l07YzC&gU^;!e#5eTX^c#bL|()N|?Iucz;^ zN*G}NAxLA(x$`;sd@UGr6wHM&jz*_Oc)WdL(2W9H4)n$%#wr!+I#AsB8wHjDoc8)X z3gg#n{bw7wh0p%BT0RcOTpYxPrIjg$C2dm-6Yj^A9bCUO%D&Y{!Pir8EjsNH#mJ-`ijl%L z#ktW()-ggyjw$(?z1I&<Zl0En``-N*4D+lM>8$|W7awS$=P+sUEvHr8SCdxh zc}7}%^(_7LXuE?B23UFqD38uZw2N^I3$OqesuSg>dp5Lq%R}fe%Va63&p&#`kbL9S zBUwMCkBYQH&wBOO^GrNn&s+aC)UW@7sVh57^#=ZtHc);&%B96yKWYcNoc{G)y!%mi z?fKmknT_;-nSnDZqvH2|Z6ni*Gslzf(@n0OgPc zwPD~g=ozd2_6=W1Nzy+WSuFMFE4ShKh0S9Ow5qyE&iYtXeAD)pAbeyqI$?=Q}t*&bfv2Yn;F2e4Mj7O|~1)`AW{I zoU=J^=3L785zY;qU*r5a=i{8!%eX%{FXn9JT*~W5$LYTXsgSIe)D!+iQt$Hx(4E&NcVXRcN#3Hd@SbQ+w@GQo$Op9{FQ^W^R!=qqiEpzL3+4a`J7L zCZ4ZPJ~%(MZ?$E=W)+yNS>_B|L56RhbE)}7d8^Gf~qpC3K><_#IPOe>1< zYH}M{h&jqG`F4Xf)8dtj@_pB==DdRS<_w<1y(h<()x5@RHRoqhph#9ss4imeymV?~ zZ=$?!kwwk}ujXfDXXcx7%^8JRSnJ)Am0M6~?!QSYN6KR^%*wQ6B24?M@H$GlFQ_Eh zk+ypC_m*qRwiayYUCSxVFc)W;Efn4vsH+KGz*~1}7iyl7g`Q{Seb}q(t3&Z^lKWhr z-koVOWuRwg=H_gYf=#aZ8a%O<+pmZ4e!0464P2f9H}%FL>L;gCjsLy;+XMeMJm8%- zO}b8gmYj~X1P#`;Kmy>xV6M(%Y$oJo0M1TWVSd4e+@ie9j17g8^9xM)q%$2Rt>(2k zg*NnzyaH1ZMuhcK7;Vg;Z9GZpt5{ucwiZ%Xh6+7v>Rql}1=%5=uX)qFOwXUvGKuqE z+{dP6Az#0db3W(WIG1sDaBkuJ8t0EWALgvMLAE=Db0TL0XA|dQ&O11_a6Z8KbI#qI zgKw1Wj^M20JePAS=bJch;(R~nO3p8H{*d!2&H)*+{V2|(IZxtzCFg~lS931rd>7|3 z&O14`a&~h5kn@+E4|DG39AK2|q2WB4^IXn1axUh47w7Gq9h@6Dw{z~`{3GX6oauQ6 zT4Fh0#5sxcT+Zp7O`JDz-on|zxrMW26#ps}SD9^#q=-(D4v@2OZJ*K%)`F~ACX>}n z2k>j=r7oVg@Y2M|CYlhID^oLb3eEG*9fr12j)j%w zJjZG)%FKmTn>1I9^QJ5*GFx$=`B<25HJcaathQ!iwYq<;RxozVZ(%{EiEGR&Mm>Z4 zQ*F6(GA*_ut9edAKE08^A}DQPLBY*Mmic_bI4|EuC1_|1ug0?c4LSLk>z?*smM_l> zOuem{pOcGTj;9p-mzr%C+&qhFIH$;pxryW|a#M$Yn%SC%W3A0h-jh7n=C`1buM}A4 zW4esG8sJo#aFr;f#v9DmH3inZOiXg-6cnKuRyO;5>kCY5zE5geHs(hrB(m6ZzD~=@ zGtVkS1I#3`$Nd)M=h$+jL;uo+7`#%Dg|(tabIq%Z)~+>My)_Xe8<@h`iY&ClRGbsMSzPlU+Bjm^}sSsB3OP*3D+q{M@3#Y^e-ZOn&o;g{8v0{45NVh62o} zVPyr@!E>yrT2^N6QiOvvtM~XVG-s|ipO=1#Fjt!L_22M_PwV<^o0V@`YRSo$yvcs_ zPs=Twm5X{Zc7$Z?xaBnUXTQ)IDl4!3L~9g;?0DZuL+srn%q!06-OpA1qjO#{bSloJ zlFt@nj*isLesG>eF5WK5QW5M)VLl>o4ox8OS_#SXbF76n$|+fUPD)#hkfx*+Y#;U- z>X~DjL$1tRYi3^vXvnNNxVZ5qm3-~IMI`@7sdEfculr4s3-Sf;1uJq)<~iA!R<M8sx+@%#fK%-byE#vI_FaQZ+E^g*vS@w7BBagrHy~*pUNu#Zq9{N{*90wy))WnS%_WK=0oAJp=#k?edo`2Kq0X)?RS=Zx{V9VIXsL z7OsY@&Ca>$=G?se0?RrK^F`}76mQ%lS8vwrIdkXDzba+H)z>UswD?-XlGLSX%a*T5 zzi#EfMD_p2Dlt$*$Z2ws7YqyS|5%m&Hx2(E4-@)ojj#KvaD&5m$HqHG@x+?H$U;T6 z%q35|@uUu8`rGUh*Fk^(uFrRA<;~~)FZoqY(sO?PAJm`4^KnnS@{a%}@TT?fh5CC;ZN$=(qUs z#an;!2QA+9goeKJjmhGy<-OOa^@TQ*UN5N*q_;ZLlp$Yl**K#ewY5tqtj>6KdXepY#emJGe#Wcli33oPXiW z?w7Yma*pRbm2(Q`m7H@q-^RI&b0z2JIKRocgY%D^&u|WZKrUCyIg#^R&dWJxbKb;x z3+Jaew{m`s^T(XO=iI|NnEN4)^JLC?&Z(SDoY!+M<@`A3CeHgfyEu1q_Sx0{7XL4L zK#lhq0EW*3&@)6$0DZ@Uo;y0iWqQ^r6`*t@_yZsXGK*wvHjn_>0JZ>0kcmqGJ>)WQ zL>!)jf$aOu2H$Tz&^I4$8IJtWA+`ghkR^s(4!IOu3)De&fo~rHoh0ah?;MG|c%QWl z{5Rkb-tqK+L$!Ec3bGpfEGC>gpyLFO8;!O>)`1`8vI86xkN5hgK_A=&lp!x0%h+0g z^ey04AO+HX-h zdAb`s2#-mS4!r?h4AB0f=c#_;=^pU#Y4Sdzk1{OcvH|RUx1P8KXhJ=SPXSKIY&zb( z0CbSuVD%NaKSh29&jqA-0Pp3p6Fh1LV>8I-;Ai!WRiVyK@VYth3GCRxUjYedqZ@qF zT(lQD7Vx?SC=2O!a3^4c54Bgr6#&JU1$@myT)Tj;4B(o@xIc!nTESld-LT^Zhg~bn zYVb@h>%nDo_QPcnz=@ zGVwOR1)2B-o=*HVK>BWQ_A=SN1st?omet_zfHSCr2W($~Z>69P#2*71@)g)(#5!c+ z>@4he@*DU`fZFZ=|B1^k@L4W16W#{^NJj?_F(Xz{mKwYhpt2lb4IYn?d=7q)%Vpq? z@i2k|I&ScWY+g4oeRqQNiM`*WAnpVXz&`Q(oAA9X$i!K|VaOKnlYmrbaOll)+^WH& z0NU5S-(8{au@vLJQyj`7-U=i^CawYILMCqF>8;>)fb4kh?`}byXmOwSU;*q*N1egm z_i26KnWcAUKLOsmLLqS{u7w;2nb-;FAQQiY>%%=L%L%4; zWU0USzAH=b%;o@T&?ly6aIz^c_-{pcXNBqszGpqsA(w%zw=nh`WIMQaGwv@yZUyJx z3Lhb_1^oE!Xg_2Jxba?$Gmw4Xp`~|gZGZ#m#CHL0kjuc+?vuw85&Qz6nu&2>E5;MR z2>A%OW}B>22cG|++^!U`8_+_BcvBh13&@+ng%4refNTQ~-_FM(aO}g_cSxsa8aD$p zjuF2O&^RVNQ~8LT&cI^;I_|`SjXXUY{0A=6bKx%mwBPrF>01@_PBQTmfDL7}g5L+q zAiKcYa$XQB6MC-y1y z)4=V(D#*kep2U8H+ys6LpnA50g{Nd$2~OrR@ggo8z{Ol9-pb`Num{))o5b3ud0W6q zTqe%vvITq^pn9GG?{L5;$V=P?P&)B9T4mI&;BxfMS?jWREL)#z|52=^!Xu)>@bbKLx z0U#f?fuC$Zyur=^@To?mLp}rE+>A0H6W`u~ID~8mKfPO)9pL+(!TZxl-vWLUAV0K& zhwYKu8wZ{YP+2=1xQfffninz0&?C;l*8pVG0{#@B{YCG*9R$e!A+TSYEGxka z0McIwHuLms@RXP2eUSvd1)#i}!4+Jt0>8`U_rS*hvZH*NF%h704d535N^b*K{}Fcd z_>LR+@mG*O8{dZlKlCd4GvpoMG$+O-$i&h65m%5k;9r2;If!%co3F`oJNU)7upg1$ z2L9W7=&KD}RuEz6w0&Fpg(Pp9_8upng&MSH_nAh`BEErh`>KVNL*95568? zknv-eER)L?@H#Fxfx7^zPd9kt5m}xDzU5~ex6t0r;QavU8~_LZBFmxRR4%81s{z`- zb>N`C$^Fp)E(7#PCw`gBPVo0!_JA+<$U4d3rvZj{NFCtdPK+0jL&50)^>N}ix-f2_ zZZ7c6M=_>DCl@@XTRtYngJ%PDUNaZ`03g)??0rX-c)~Fhg}lV`fONVt0JL8|1}|awHYn_*f!_kC+;;Hig23!Z z{}Mc0fp>mjM+=?~P#b4}mvcEC`~+ZueiisHKr3W7_!vIKLw%$Nd4*==cf%kHm_&qKY3wTeJbd=yIE)!o0e2jAS;C(#Z2_AxP zCy~AmTmw*?90HHQ`$78om>YmIfhNc%a6Mpx+yoB6_bN&uhk`!?bdbLUp8*me6L$uq z4UoIR^&ztTCh*`;+0Rkn)qn;%Ch)BQ)yEEg4IqCW0H@LWztADx&E-~bH$eKtL-2ko z$y)F>pac3l!S4Vr$nSxl7=*81VIHy*ydTg){{Z-VE*}PmsAW5$;7hoy17`xHZvsEY z<(=R^aoGj-kC1g#U;~$P!MnKZ1doUm@PP)@6TAvgL2d$n0g!z+cp2W!QzJbW9270b zVJNt52>gt6;x7933gm8Zajd{nAQOK&9Qz2e8+>wvz#NdzfQM@Zb{AwV_?J=GFZi61 z2b?z=v4M08ST#o8FT`i#1r`S#yxhtP#=-xPE#QO%yrT(y;!=QoPF%%h;@pY&{Q>9@ z{{>iuyxriKNwR(u`2LHbhx9Gr$0y6}a)2+p1noh33iy-`^@n^0oIXYN4{;?x<#vGI zNfg)?=)4D>e5qW29oPtv4sj)ytH9p@@tBJA{lI)DoFEN;wOLu zNZ$$m5}@&ccqQIdrT(%C{3t-_zkoDl3Qe~SK zaPU&>7o@Af?aL8wkX>NY3Y3Mhn)unR zCgeEq>i~`02f#Tu$o|O%?*)>eLu|Scwje(T&d z$SUv?X2c5Qo#0(-(BBv0*a3cZtt>miNjc~jNGD!$6WR#<{Esf!_w4klzD8RwVZqC)m0kzD2qV9J>MIIAr=> z%m)CSSJFGSON(XM0^SE`@IEHJiywk-VN+ab!J`2u=5l)Qe4rh&5xfSV`CA#-0eEn} zKpbY5({*4ypn?u@`<-&S8(ex9>?3|0;J~}_4RIWUwBRQJJTxkOcl$F+M;+*soSJ*k z?{FYxa zeUFIJiRs%wBootjfv7&jRa~ZToY1#Rc3{5{(>DT~kcsKrB9xbyzE43iF?~;gWMcYe z1IfhnPC3cM^nC)7iRs$`Boov30Z1mM_xVXCrgx%ACZ>1ANhYTEv#HL+^o}*96W_qo z>HTOsPsi-~-^;%}@NWn%A3iwYl_v=D5tl1^Md>ZZ=!TX^V1ZWzpLpGsmsT%q=vJ z(_YeRXT~KLE@j3ged;vhlHSH4`;1Gxe#1)toiWh51Lv1WFRrv#mR6QkmRHtQwpY3; zJ1RYuJ(X;ic2~kK-7dqf^j*eX*}E*eig)$wVpXatb(N+{TV<@tuCde<*Vt=HYszZM zYm)0d^*!~hLDisc&@^Zp5*o@IS{vFL^o{9_#>VVMOJi}Py|J{hr-?PIn$^v^W_`1v z+1PApwl|kGJDOXYoz1RhceAINwWwRPExHzci=oBXVrj9rl(jfoT3ehgt`>KTr-kiS z@7C_t?bh!$>^APU?6&VN+wIuhy4$(iwcEYhvzxVIE==+0P&>2^okQ<1IE)U9!|o_^ zI2^4Gr^DrNJ3J0np{~$Y=qmITh6-barNUlOR^g~%ZA^I;ki=y zt{mR0tLUh4*Bq|#)aYwdY7MpNwZ_`)T1#zlt-ZFiwyd_i)=^tm+gjUJ>#S|Bb=7v% zx@!;DdTN;q=Uv!m9lH)A%2bH3gsSAKl&bWq?5g6b(yH>Rx~jIS_NtDm!&N<1s%lMj zLUnR=N_Bd5c6D)eX?1yZU3FV^dv!gw9+ z+Uq*%4%hY6sp>WL3H8bKDfQ{~+4aTsrS;|Yb@gra?e!h?htUgE=m7~0$qgwD=?&Qp z#SNwC3w7uV?F}6bhZ}ktREUR!#^lBn^o?xvi_*sO#=6F~#`eaJ#>0(0jjAS1Q$ka6 zQ%X~MQ+88vQ)yFqQ(aSAQ+rcK)8VF`CRMYhIiWeZIi)$hIlH;IxwN^wxvsgbxxKlg z`EYYjv#LddC`*)1pE|B_Nto5J}mHqEbXq9ipclk#m@$1{YW{ z7YC^jGYN>76h}H@r5JHiju>e}d~_f-dK@Z5MFJus1<{a=NGL@V)K#=qv{!Ug9Ioi8 zP*wgn`mqP+cK<^CSYKtRGFDlt>{Vq|j;huwXO*kUUFE4_)#_?(wXRxUZKyU@TdM8V zWz~-A)@o<9tJ+=dsb)3m8f}fPMqgv7F=EWLW4v_KwAMIlT<9yF8dj^W)z<22_2@4~ z^c6e$i35GaiT>fHzEP*H)7I(g^mT?hW1XeWURPG+1FO zhI(VYrQTj&R_~~9t#{VD>fIQX8AfDngRVi}U}!KlSQ_jNWepCD&CUi_gS)}gz%V{( z8+DEPMgvA_3r6X(Mn_|7qqEV~=x+2hvL&%Ts^no%&zq?Tl z`*nzN7vkKFNcSMt<)ekBS&N9*A?EdndIRF#h{(4f_U(xNGQ__FJ)jkRz=>YqLO*b$ YCwR~oSc?kB6HV{9i;Dkykv#DK0QZ&=qyPW_ literal 0 HcmV?d00001 diff --git a/packages/runtime/package.json b/packages/runtime/package.json new file mode 100644 index 00000000..f915e51b --- /dev/null +++ b/packages/runtime/package.json @@ -0,0 +1,12 @@ +{ + "license": "SEE LICENSE IN LICENSE", + "name": "@snowluma/runtime", + "version": "2.4.2", + "private": true, + "type": "module", + "main": "index.mjs", + "description": "SnowLuma runtime distribution manifest: ships into dist/ (launcher.bat, package.json, native/*.dll, native/*.node). All native bindings ship as standalone `.node` files in `dist/native/` — loaded via `process.dlopen()` / `createRequire().require()` from inside the bundle. There are intentionally NO runtime npm dependencies; production artifacts are self-contained.", + "engines": { + "node": "^24.22.1 || >=26.12.1" + } +} diff --git a/packages/sdk/CHANGELOG.md b/packages/sdk/CHANGELOG.md new file mode 100644 index 00000000..8a22ee94 --- /dev/null +++ b/packages/sdk/CHANGELOG.md @@ -0,0 +1,41 @@ +# Changelog + +## Unreleased + +- Fix ordinary WebSocket request deadlines to include connection waits, prevent expired requests from being sent after a late open, and preserve shared connections when an individual request times out or is cancelled. Refs #666. + +- Add typed public contact profiles and opt-in friend-list enrichment via `getFriendList({ withProfile: true })` or `with_profile` on either list action; existing request options remain compatible. See [contact profiles](../onebot/CONTACT_PROFILES.md). + +- Add a Node reverse WebSocket server with authenticated per-account sessions, Universal and paired API/Event channels, existing action/event/stream helpers, bounded buffers and explicit disconnect handling; see [REVERSE_WEBSOCKET.md](REVERSE_WEBSOCKET.md). + +- Add one-step local media sends, the optional `@snowluma/sdk/node` file source, stage-aware errors, explicit quoted replies, and cancellable WebSocket event waits; see [MESSAGING.md](MESSAGING.md). Existing methods and handler/context types remain compatible. +- Report group-file chat publication failures through the runtime's existing error response instead of returning a successful upload result after publication fails. +- Add HTTP and WebSocket `requestStream()` / `stream()`, incremental `uploadFileStream()` / `downloadFileStream()` helpers, cancellation, bounded response buffering, and transfer validation. Existing single-response methods remain unchanged; see [STREAMING.md](STREAMING.md). +- Add parameter and result types for the remaining 57 actions and three aliases, covering every registered action name while preserving existing client methods and type mappings. +- Describe album pagination and media, Qzone, flash transfers, stickers, group settings, and stream frame payloads; retain numeric-string inputs and signed message IDs. +- Fix native Node.js ESM imports for the package root and all supported subpaths without requiring a bundler. +- Restore `@snowluma/sdk/actions` and the root exports `SNOWLUMA_ACTIONS`, `isSnowLumaAction`, and `SnowLumaKnownAction`, including current action names and compatibility aliases. +- Require patched Node.js releases: 24.22.1 or newer in the 24.x line, or 26.12.1 and newer. + +## 2.0.0 + +Upgrade to Node.js 24 or newer before updating the SDK. SDK and application versions are released together. + +- Add typed `get_qzone_msg_detail` support for reading a post and its comment page with inline replies. +- Release cancellation listeners as soon as a request stops waiting for a connection. +- Isolate WebSocket connection lifetimes and release request timers and abort listeners on every outcome. +- Reject duplicate in-flight WebSocket echoes instead of overwriting the original request. +- Add `getGroupShareLink()` and typed `get_group_share_link` support for group invitation links. +- Breaking: require Node.js 24 or newer. +- Add `CustomReplySegment` and `message.customReply()` for inline quote previews inside merged-forward nodes. +- Expose optional inline content and quote metadata on received `ReplySegment` values. +- Reject CQ serialization of nested custom-reply content instead of silently stringifying message objects. +- Preserve string custom-reply content and metadata when parsing CQ strings. +- Decode CQ parameters once so literal entity text such as `,` survives round trips. + +## 0.1.0 + +- Initial SnowLuma TypeScript SDK package. +- Added HTTP and WebSocket clients for OneBot APIs. +- Added event middleware, command matching, request context helpers, and message chain builders. +- Added structured SDK error classes and per-request `AbortSignal` support. diff --git a/packages/sdk/MESSAGING.md b/packages/sdk/MESSAGING.md new file mode 100644 index 00000000..3737a2fb --- /dev/null +++ b/packages/sdk/MESSAGING.md @@ -0,0 +1,168 @@ +# Media sends, quoted replies, and event waits + +These helpers are additive. Existing string media paths still refer to the SnowLuma server, `context.reply()` still sends an ordinary reply, and existing event subscriptions and middleware keep their behavior. + +## Send local media + +Both HTTP and WebSocket clients provide `sendGroupImage`, `sendPrivateImage`, `sendGroupRecord`, `sendPrivateRecord`, `sendGroupVideo`, `sendPrivateVideo`, `sendGroupFile`, and `sendPrivateFile`. + +```ts +import { SnowLumaHttpClient } from '@snowluma/sdk'; +import { localFile } from '@snowluma/sdk/node'; + +const bot = new SnowLumaHttpClient({ baseUrl: 'http://127.0.0.1:3000/' }); +const receipt = await bot.sendGroupImage(12345, await localFile('./picture.png'), { + image: { summary: 'Picture' }, + onProgress: ({ uploadedBytes, fileSize }) => { + console.log(`${uploadedBytes}/${fileSize} bytes uploaded`); + }, +}); +console.log(receipt.message_id); + +await bot.sendPrivateFile(67890, await localFile('./report.pdf'), { name: 'Report.pdf' }); +``` + +Sources may be `Uint8Array` (including Node `Buffer`), `Blob` / browser `File`, `ReadableStream`, or `AsyncIterable` (including a byte-mode Node readable). Streams and async iterables require `fileSize`. A `{ source, filename }` wrapper supplies a name without changing the byte source. Browser `File` names are inferred; an explicit `filename` option overrides them. + +`localFile(pathOrFileURL)` is available **only** from `@snowluma/sdk/node`. It returns a named, file-backed Blob without reading the entire file into memory. The file must remain unchanged until sending finishes; missing, non-regular, or changed files produce errors. The root and browser-facing entry points do not import Node filesystem modules. A browser can pass a selected `File` directly. + +The helpers await every chunk acknowledgement and upload completion, then use the returned **server path** in the final action. Image, record, and video methods return the ordinary `{ message_id }` result. File methods call the existing file publishing actions and return `{ file_id }`. `sendGroupFile` accepts `folder` / `folderId`; file methods accept a display `name`, defaulting to the uploaded name. Media attributes go under `image`, `record`, or `video`. A `video.thumb` path still refers to the server and is not uploaded automatically. + +All [upload options](STREAMING.md) apply, including `chunkSize`, `expectedSha256`, `fileRetention`, `signal`, and `onProgress`. Progress measures acknowledged uploaded bytes, not message delivery. `timeoutMs` is a timeout **per upload request and final send request**, not a deadline for the entire operation or source reads. Use an `AbortSignal` with your own deadline for an overall cancellation policy. + +```ts +import { SnowLumaMediaSendError } from '@snowluma/sdk'; + +try { + await bot.sendPrivateImage(67890, new Uint8Array([/* image bytes */]), { + signal: AbortSignal.timeout(60_000), + }); +} catch (error) { + if (error instanceof SnowLumaMediaSendError) { + console.error(error.stage, error.cause); + // error.upload contains completion metadata if uploading finished. + } + throw error; +} +``` + +Errors carry `stage: 'upload' | 'send'`, the original `cause` (including API, abort, and timeout errors), and completed upload metadata when available. Cancellation between stages prevents sending. Cancellation or timeout after dispatch does not prove that the server failed to send: there is no automatic retry, rollback, or remote deletion. Remote retention and partial-upload expiry remain controlled by the existing upload service. The accompanying runtime fix reports a failed group-file chat publication as an error, retaining the uploaded file ID in the error context; it no longer returns success after that failure. + +## Quote a message explicitly + +```ts +import { SnowLumaWebSocketClient, quoteMessage, text } from '@snowluma/sdk'; + +const bot = new SnowLumaWebSocketClient(); +bot.onGroupMessage(async (event, context) => { + if (event.post_type === 'message' && event.raw_message === '/ping') { + await context.quote(text('pong')); + } +}); +await bot.connect(); + +// HTTP clients or code outside an event handler can compose the same quote. +await bot.sendGroupMessage(12345, quoteMessage(-42, 'Reply body')); +``` + +`context.quote()` routes to the event's group or private conversation and uses its message ID. It rejects non-message events. IDs are non-zero signed 32-bit integers; negative IDs are preserved. `quoteMessage(id, body, options?)` is also exported from `@snowluma/sdk/messages` and only composes content, without making a request. + +Bodies accept strings, CQ strings, a segment, arrays of segments, and message chains. String CQ content retains its original fields and escaping. With `autoEscape: true`, a string becomes literal text following the quote; arrays and chains remain structured. A body that already contains a reply segment is rejected, and inputs are not mutated. This does not fetch the referenced message; the server must be able to resolve its ID. + +Old `SnowLumaEventContext` objects and explicitly typed handlers remain valid. SDK-created contexts and inferred client callbacks expose `SnowLumaEventContextWithQuote`. To annotate a reusable new handler, use `EventHandler>` (or the corresponding context parameter of `EventMiddleware` / `CommandHandler`). + +## Wait for a future event + +Private messages marked by QQ as automatic replies carry `auto_reply: true` in live events and friend history. Check `event.auto_reply === true` to filter them. SnowLuma preserves the reply text, including any literal `[自动回复]` the sender typed. Older locally stored messages may lack the flag. + +`waitForEvent(predicate?, options?)` and `waitForMessage(predicate?, options?)` are available on the WebSocket client. Both also accept just the options object. Synchronous type-guard predicates narrow the resolved type; boolean predicates filter without claiming a narrower type. + +```ts +const controller = new AbortController(); +await bot.connect(); +try { + // Register before sending so a fast reply cannot arrive before the listener. + const reply = bot.waitForMessage( + (event) => event.post_type === 'message' + && event.message_type === 'private' + && event.user_id === 67890, + { timeoutMs: 30_000, signal: controller.signal }, + ); + const [incoming] = await Promise.all([ + reply, + bot.sendPrivateMessage(67890, 'Ready?', { signal: controller.signal }), + ]); + console.log(incoming.raw_message); +} finally { + controller.abort(); // Also releases the wait if sending failed first. +} +``` + +Waits register synchronously and do not connect, replay history, consume events from other listeners, or persist across reconnects. They observe the same public event stream as `onEvent`, **after middleware**; events stopped by middleware are not visible. `waitForMessage` includes both `message` and `message_sent`, so filter direction, conversation, and sender when needed. Multiple waits can resolve from the same event. + +The default timeout is the client's `requestTimeoutMs` (30 seconds by default); `0` disables it. Timeout rejects with `SnowLumaTimeoutError`, cancellation with `SnowLumaAbortError`, and disconnect or explicit `close()` with `SnowLumaConnectionError`. Predicate exceptions reject with their original error. Every completion path removes its listener, abort handler, and timer. Cancellation affects the wait only; it does not close the client or undo a sent message. + +## Reply to a Qzone comment + +Both clients expose this through the typed `raw('comment_qzone', params)` action. Omitting `comment_id` and `comment_uin` preserves ordinary comments, including image uploads. `target_uin` always identifies the **post owner**, not the person being replied to. + +Read `get_qzone_msg_detail` to obtain a parent comment's `comment_id` and `uin`. Pass both to create a text reply under that comment; `"0"` is a valid comment ID. To address someone inside the thread, also pass their `uin` and `name` as `reply_uin` and `reply_name`: + +```ts +const result = await bot.raw('comment_qzone', { + tid: post.tid, + target_uin: postOwnerUin, + comment_id: parentComment.comment_id, + comment_uin: parentComment.uin, + reply_uin: selectedReply.uin, + reply_name: selectedReply.name, + content: 'Thanks for the explanation!', +}); +console.log(result.comment_id, result.parent_comment_id); +``` + +`post`, `postOwnerUin`, `parentComment` and `selectedReply` above are the post and comments chosen by the caller. For an ordinary reply to the parent, omit `reply_uin` and `reply_name`. For a nested reply, keep the **top-level parent** in `comment_id`/`comment_uin`; do not substitute the nested reply's own ID. New servers also include `parent_comment_id` and `parent_comment_uin` on each inline reply to preserve this association. Inline replies may be incomplete; absence from a page does not mean a comment was deleted. + +On success, `comment_id` is the **new reply's** ID and the result includes its parent ID and author. Those parent fields are optional in SDK types for compatibility with older servers. Non-empty `images` with a parent comment are rejected before upload: threaded replies currently support text only. Incomplete recipient/parent parameters are errors, and a failed reply never falls back to an ordinary comment or retries automatically. If an acknowledgement is malformed after sending, check the thread before retrying; the reply may already exist. + +## Read structured Qzone friend feeds + +`get_qzone_feeds` retains `page_num`, `count`, `feeds`, `has_more`, and each feed's +original `html`. Newer servers also return `tid`, `content`, `content_complete`, +`images`, `like_count`, and `comment_count`. A `null` value means the source did +not establish that field; it does not mean zero or an empty post. A collapsed +excerpt has `content_complete: false`. Images cover only pictures available in +the post body, excluding avatars, comment pictures and video covers; they are +not a complete album listing. Non-post feed types may have no `tid`. + +Use the returned `next_cursor` unchanged to continue on the same account: + +```ts +let cursor: string | undefined; +while (true) { + const page = await bot.raw('get_qzone_feeds', { count: 10, cursor }); + for (const feed of page.feeds) { + console.log(feed.content, feed.images); + } + if (!page.has_more) { + break; + } + if (!page.next_cursor) { + throw new Error('This server did not provide a continuation cursor'); + } + cursor = page.next_cursor; +} +``` + +Omit `page_num` when using a cursor, or supply its corresponding page number. +Without a cursor, requesting a later `page_num` walks earlier pages from the +beginning and can take longer; requesting beyond the end returns an empty page. +The service may return fewer entries than `count`, including empty intermediate +pages with a continuation. Follow `has_more` and `next_cursor`, not array length. +Invalid, foreign-account or stalled cursors fail visibly. Results reflect a live +feed, not a frozen snapshot; posts may change between requests. + +The added result fields are optional in SDK types so older servers and existing +consumer-created result objects remain supported. MCP discovers the same fields +and cursor examples through `get_action` and calls this read-only action through +`query_action`; its existing mode restrictions are unchanged. diff --git a/packages/sdk/README.md b/packages/sdk/README.md new file mode 100644 index 00000000..2558bd90 --- /dev/null +++ b/packages/sdk/README.md @@ -0,0 +1,455 @@ +# @snowluma/sdk + +SnowLuma 的 TypeScript SDK,提供 OneBot HTTP / WebSocket 客户端、事件中间件、命令匹配和消息链式构造器。 + +## 导航 + +- [安装](#安装) +- [快速开始](#快速开始) +- [HTTP Client](#http-client) +- [WebSocket Client](#websocket-client) +- [事件中间件与命令](#事件中间件与命令) +- [Raw Action](#raw-action) +- [Message Builder](#message-builder) +- [请求控制](#请求控制) +- [错误处理](#错误处理) +- [测试建议](#测试建议) +- [子路径导入](#子路径导入) +- [Action 同步](#action-同步) +- [项目结构](#项目结构) +- [版本策略](#版本策略) + +群申请中的入群者、邀请人和审批人,以及入群通知的身份可用状态,见[群邀请与入群身份](../onebot/GROUP_REQUESTS.md)。 + +## 安装 + +在本 monorepo 内直接通过 workspace 引用: + +```bash +pnpm add @snowluma/sdk --workspace +``` + +发布到 npm 后可直接安装: + +```bash +pnpm add @snowluma/sdk +``` + +## 快速开始 + +```ts +import { SnowLumaHttpClient, text } from '@snowluma/sdk'; + +const bot = new SnowLumaHttpClient({ + baseUrl: 'http://127.0.0.1:3000/', + accessToken: process.env.SNOWLUMA_TOKEN, +}); + +const login = await bot.getLoginInfo(); +await bot.sendGroupMessage(123456, text(`Hello from ${login.nickname}`).at('all')); +``` + +SnowLuma 的 OneBot HTTP / WebSocket 端口和 `accessToken` 来自 `config/onebot_.json`。 + +## HTTP Client + +```ts +import { SnowLumaHttpClient, message, text } from '@snowluma/sdk'; + +const bot = new SnowLumaHttpClient({ + baseUrl: 'http://127.0.0.1:3000/', + accessToken: process.env.SNOWLUMA_TOKEN, + requestTimeoutMs: 30_000, +}); + +await bot.sendPrivateMessage(10001, text('pong')); + +const { url } = await bot.getGroupShareLink(123456); + +await bot.sendGroupMessage(123456, [ + message.text('Hello'), + message.at('all'), +]); +``` + +## WebSocket Client + +WebSocket 客户端会用 `echo` 关联 API 响应,并把无 `echo` 的包作为事件分发。 + +```ts +import { SnowLumaWebSocketClient, text } from '@snowluma/sdk'; + +const bot = new SnowLumaWebSocketClient({ + url: 'ws://127.0.0.1:3001/', + accessToken: process.env.SNOWLUMA_TOKEN, + reconnect: true, +}); + +bot.onGroupMessage(async (event, ctx) => { + if (event.raw_message === '/ping') { + await ctx.reply(text('pong').at(event.user_id)); + } +}); + +bot.onRequest('friend', async (_event, ctx) => { + await ctx.approve(); +}); + +bot.onBotStatus((event) => { + console.log(event.sub_type, event.user_id); +}); + +await bot.connect(); +await bot.sendPrivateMessage(10001, text('ready')); +``` + +## 事件中间件与命令 + +```ts +bot.use(async (event, ctx, next) => { + console.log(event.post_type); + await next(); +}); + +bot.command('echo', async (_event, ctx, match) => { + await ctx.reply(text(match.rest || 'empty')); +}); + +bot.when( + (event) => event.post_type === 'notice', + async (event) => console.log(event), +); +``` + +事件上下文内置快捷操作: + +- `ctx.reply(message)`:按私聊/群聊自动回复。 +- `ctx.approve()` / `ctx.reject(reason)`:处理好友或群请求。 +- `ctx.quickOperation(operation)`:调用 `.handle_quick_operation`。 +- `ctx.stopPropagation()`:停止后续中间件和普通 `onEvent` 分发。 + +## Raw Action + +动画系统表情可通过 `face(id, { resultId: '0' })` 指定结果,收到的结果保留在 `face.data.resultId` 中。不传时沿用默认选择;有效结果取决于具体表情,不能与 `large: false` 同用。 + +`await bot.getStatus()` 的 `time` 为当前账号服务实例的运行秒数,与 `#sl` 使用相同计时起点;实例重建后重新计时。 + +高频接口提供 camelCase 方法;其它 SnowLuma action 可以用 `raw` 或 `rawResponse`: + +```ts +const data = await bot.raw('get_group_file_system_info', { + group_id: 123456, +}); + +const response = await bot.rawResponse('get_status'); +``` + +`raw` 会在 SnowLuma 返回 `status: "failed"` 或非零 `retcode` 时抛出 `SnowLumaApiError`;`rawResponse` 会保留完整响应。 + +### 读取与修改空间资料 + +`get_qzone_profile` 返回 QQ 空间的名称和说明;这两个字段独立于 QQ 昵称和个性签名。 + +```ts +const profile = await bot.raw('get_qzone_profile', {}); // 当前账号 +console.log(profile.name, profile.description); +await bot.raw('get_qzone_profile', { target_uin: '10002' }); + +await bot.raw('set_qzone_profile', { name: '我的空间' }); +await bot.raw('set_qzone_profile', { description: '' }); // 清空说明 +``` + +`set_qzone_profile` 只修改当前账号,至少提供 `name`、`description` 中的一项;省略字段保持原值,空字符串表示清空。成功返回 `null`,登录失效、访问受限或上游要求验证时会抛出 `SnowLumaApiError`。修改后可再次读取资料确认结果。 + +### 读取空间说说评论 + +`get_qzone_msg_detail` 是只读扩展动作,`raw` 提供参数和结果类型: + +```ts +const detail = await bot.raw('get_qzone_msg_detail', { + tid: '说说 ID', // 来自 get_qzone_msg_list / send_qzone_msg + // target_uin: 10001, // 省略时读取机器人自己的空间 + pos: 0, + num: 20, +}); + +for (const comment of detail.comments) { + console.log(comment.comment_id, comment.uin, comment.name, comment.time, comment.content); + console.log(comment.replies); // 服务端内联返回的二级回复 +} +``` + +`comment_num` 是服务端报告的总数,`comments` 是本页一级评论;`num` 范围为 1–100,实际返回数量可能更少。二级回复不单独分页,`replies` 不保证完整。评论 ID 在所属说说内唯一,二级回复 ID 在父评论内唯一;时间均为 Unix 秒,正文保留空间表情和 @ 标记。该接口复用当前账号的空间登录态,登录或访问权限失败会抛出 `SnowLumaApiError`。 + +分页参数及 `commentlist` / `list_3` 字段参考 [Qzone-API](https://github.com/SmartHypercube/Qzone-API/blob/master/qzone.py)。实际分页和可见内容取决于 QQ 空间服务端。 + +### 空友爱看与公共空间 + +`get_qzone_home_feeds` 读取自己的空间主页,可传 `target_uin` 访问有权限的其他主页;`cursor` 使用同一账号、同一主页上次返回的 `next_cursor`。它返回完整动态,旧版 `get_qzone_feeds` 和 `get_qzone_msg_list` 保持原有格式。 + +已有说说编号时,可调用 `get_qzone_feed_detail`,传入 `get_qzone_msg_list` 或 `send_qzone_msg` 返回的 24 位十六进制 `tid`。此接口读取普通空间说说,自动从编号取得作者和发布时间,不需要 `target_uin`;访问仍使用当前账号的权限。结果的 `feed` 是单个完整动态对象,保留图片、视频、分享信息和未知字段,无需再取 `.feed.feed`。其余上游详情字段也会保留,`attach_info` 为上游评论游标(未提供时为 `null`);只读取一次详情,不自动翻页,也不保证评论和回复完整。旧的 `get_qzone_msg_detail` 及其 `pos/num` 分页保持不变。 + +```ts +const detail = await bot.raw('get_qzone_feed_detail', { + tid: '1127000000f1536501000000', // 替换为实际说说编号 +}); +const card = await bot.raw('get_qzone_share_ark', { feed: detail.feed }); +// 若 card.requires_confirmation 为 true,发送前展示 card.notice 并取得确认。 +``` + +把详情、主页或推荐列表的完整动态传给 `get_qzone_share_ark`,可获得 `{ ark, requires_confirmation, notice }`。此动作会生成分享卡片但不发送消息;将 `ark` 原文交给普通 JSON 消息发送接口即可获得消息编号,继续使用已有撤回及发送事件能力。能读取不代表允许分享:分享受限或缺少上游分享信息时,分享接口会明确报错。 + +分享链接可能让未登录者也能访问动态,并包含作者 QQ 号。若 `requires_confirmation` 为 `true`,发送前应展示 `notice` 并取得确认;上游禁止分享或生成失败会返回错误。 + +```ts +const page = await bot.raw('get_qzone_home_feeds', {}); +if (page.feeds[0]) { + const card = await bot.raw('get_qzone_share_ark', { feed: page.feeds[0] }); + // 先按 requires_confirmation / notice 确认分享范围,再由调用方决定是否发送。 + // 发送时使用 [{ type: 'json', data: { data: card.ark } }],保持卡片原文。 +} +``` + +公共空间动作使用推荐域 `3` 的 JSON 接口,与上面的旧空间 CGI 动作分开。先读取 `get_qzone_public_feeds`,再把返回的完整 `feed` 对象传给详情和互动动作,保留其中的身份、传递数据及未知字段;不要用旧说说 `tid` 拼造。 + +| 动作 | 主要参数 | +| --- | --- | +| `get_qzone_public_capabilities` | 无;读取当前账号的入口能力 | +| `get_qzone_public_feeds` | 可选 `cursor` | +| `get_qzone_public_feed_detail` | `feed` | +| `get_qzone_public_comments` | `feed`、`cursor` | +| `get_qzone_public_replies` | `feed`、完整 `comment`,可选 `cursor`、`page_size`(默认 20) | +| `set_qzone_public_upvote` / `set_qzone_public_like` / `set_qzone_public_follow` | `feed`,可选 `enable`(默认 `true`,`false` 取消) | +| `set_qzone_public_comment_like` | `feed`、完整 `comment`,可选完整 `reply`、`enable`(默认 `true`) | +| `comment_qzone_public_feed` | `feed`、`content` | +| `reply_qzone_public_feed` | `feed`、完整 `comment`、`content`,可选完整 `reply` | +| `delete_qzone_public_comment` / `delete_qzone_public_reply` | `feed`、完整 `comment`;删除回复还需完整 `reply` | +| `forward_qzone_public_feed` | `feed`,可选 `reason`(默认空字符串) | + +“推”与“赞”是不同的互动,分别使用 `set_qzone_public_upvote` 和 `set_qzone_public_like`。评论或回复的 `content` 接受非空文本或非空的上游富文本对象数组。详情、评论、回复及写操作保留上游结果字段,`raw` 返回这些 JSON 对象;列表的 `feeds` 已去掉上游每项的 `.feed` 包装,其余字段保持开放。 + +QQ 上游会对评论换行做归一化,返回的富文本保持上游格式。 + +`set_qzone_public_comment_like` 为评论点赞;提供 `reply` 时改为给该回复点赞,`enable: false` 取消。保留评论或回复自带的 `like.id`,不要将它替换成评论 ID。 + +```ts +const page = await bot.raw('get_qzone_public_feeds', {}); +if (page.has_more && page.next_cursor) { + const next = await bot.raw('get_qzone_public_feeds', { cursor: page.next_cursor }); + console.log(next.feeds); +} + +const feed = page.feeds[0]; +if (feed) { + const detail = await bot.raw('get_qzone_public_feed_detail', { feed }); + if (detail.has_more === true && typeof detail.attach_info === 'string') { + const comments = await bot.raw('get_qzone_public_comments', { + feed, + cursor: detail.attach_info, + }); + console.log(comments); + } +} +``` + +列表续页必须原样传回 `next_cursor`,根据 `has_more` 判断结束,不能因本页不足 10 条而停止。详情中的首批评论位于 `feed.feed.cell_comment.comments`;后续评论使用详情或上一评论页的 `attach_info` 作为 `cursor`。读取回复时,首次可省略 `cursor` 使用完整评论自带的 `reply_attach_info`,之后传上一回复页的 `reply_attach_info`。这些游标各有用途,列表游标还绑定当前账号。登录或访问权限失败会抛出 `SnowLumaApiError`。 + +### 单个管理员权限 + +`set_group_admin` 用于授予或取消管理员身份。对已有管理员,可通过以下动作读取或修改权限;调用账号需要具有 QQ 服务端要求的管理权限。 + +| 动作 | 参数与结果 | +| --- | --- | +| `get_group_admin_permissions` | `group_id`、`user_id`;返回撤回权限、移除权限、每日移除上限和接收验证消息状态 | +| `set_group_admin_permissions` | `group_id`、`user_id`,以及至少一个 `recall_member_message` / `kick_member` | +| `set_group_admin_receive_verify` | `group_id`、`user_id`、必填 `enable`;独立设置接收加群验证消息 | + +```ts +await bot.raw('set_group_admin_permissions', { + group_id: 123456, + user_id: 10001, + recall_member_message: false, + kick_member: true, + kick_member_per_day: 20, +}); + +const permissions = await bot.raw('get_group_admin_permissions', { + group_id: 123456, + user_id: 10001, +}); + +await bot.raw('set_group_admin_receive_verify', { + group_id: 123456, + user_id: 10001, + enable: false, +}); +``` + +只修改显式提供的权限。开启移除权限必须明确提供 `kick_member_per_day`,支持 `0`、`5`、`10`、`20`、`50`、`100`、`200`,其中 `0` 表示不限。修改上限也须同时传 `kick_member: true`;关闭或省略移除权限时不能提供上限。SDK 的 `kick_member` 使用布尔值,以便类型检查约束上限。 + +读取结果包含 `group_id`、`user_id`、`recall_member_message`、`kick_member`、`kick_member_per_day`、`receive_verify`。`receive_verify` 表示是否接收加群验证消息。服务器未返回或未指定的状态为 `null`;移除权限关闭或未指定时,上限也为 `null`。各项来自独立查询,不保证同一时刻的状态;任何查询失败都会报错。 + +两个写动作分别发送一次请求,不自动重试或授予管理员身份。权限写入成功表示服务器确认请求;接收验证消息写入还会核对响应中的群号和成功管理员列表。两者均返回 `null`。完整的客户端显示和实际权限效果仍需真实 QQ 验证,不能以接口成功替代验收。 + +## Message Builder + +```ts +import { fromCQString, message, text, toCQString } from '@snowluma/sdk'; + +const segments = [ + message.reply(42), + message.text('收到 '), + message.image('https://example.com/a.png'), +]; + +const chained = text('收到 ') + .at(10001) + .image('https://example.com/a.png'); + +const cq = toCQString(segments); +const chainedCq = toCQString(chained); +const parsed = fromCQString('hi[CQ:at,qq=all]'); +``` + +CQ 转换会保留参数中的字面量转义文本,例如图片路径中的 `,`,不会将它再次解码成逗号。 + +链式入口返回 `MessageChain`,可以直接传给发送接口,也可以用 `build()` / `toSegments()` 转成 OneBot segment 数组: + +```ts +await bot.sendGroupMessage(123456, text('hi').at(10001).image('/tmp/a.png')); + +const segments = text('hi').at('all').build(); + +await text('hi').atAll().br().face(14).sendToGroup(bot, 123456); +``` + +`reply()` 在一条链中只能出现一次;TypeScript 会阻止 `text('a').reply(1).reply(2)`,运行时也会做同样检查。 + +已内置常用段:`text`、`br`、`face`、`at`、`atAll`、`reply`、`image`、`record`、`video`、`json`、`xml`、`poke`、`forward`、`node`、`share`、`music`、`location`、`contact` 和 `raw`。 + +### 合并转发中的自定义引用 + +合并转发节点的 `content` 支持 `reply.data.message`,无需引用目标已存在于本地消息库。 +SDK 提供 `message.customReply()`(返回消息段,仅用于转发节点): + +```ts +await bot.raw('send_group_forward_msg', { + group_id: 123456, + messages: [message.node(10001, '发送者', [ + message.customReply([message.text('SnowLuma')], { qq: 10002, time: 1700000000, seq: 42 }), + message.text('这是回复内容'), + ])], +}); +``` + +对应的 OneBot JSON 为 `{ "type": "reply", "data": { "message": [{ "type": "text", "data": { "text": "SnowLuma" } }] } }`。 +`message` 可以是文本/CQ 字符串、单个消息段或消息段数组,不能为空;显式提供时优先于 `id`。 +引用预览保留文字和 @,图片、表情、语音、视频、文件、转发、JSON/XML 卡片和 Markdown 使用类型文字摘要,不会为引用重新上传媒体。 +引用内容不支持嵌套 `reply`/`node` 或 `music`、`contact`、`poke` 等其他类型;无效内容会返回参数错误。 + +`qq`、`time`、`seq` 支持整数或整数字符串。省略时分别使用当前节点发送者、节点时间(未指定时为当前时间)和 `1`。 +`qq` 必须是正安全整数,`time` 是 0 到 4294967295 的 Unix 秒,`seq` 是 1 到 4294967295 的序号。 +这些字段用于引用预览;自定义引用不保证能在 QQ 中跳转到原消息。请使用 JSON 消息段传递此扩展;SDK 的 `toCQString` 会拒绝将嵌套消息段转换成 CQ 参数,避免内容被转成 `[object Object]`。 + +`get_forward_msg` 的回复段仍含 `id`;当 QQ 返回内嵌引用内容时,还会包含 `message` 以及可用的 `qq`、`time`、`seq`。 +将返回节点的 `message` 作为新转发节点的 `content` 即可保留引用预览,无需再通过 `get_msg` 查询引用 ID。 +若 QQ 没有提供引用内容,则只返回原有 `id`。普通群聊/私聊的 `reply.data.id` 用法保持不变。 + +## 请求控制 + +每次请求都支持覆盖 `echo`、超时和 `AbortSignal`: + +WebSocket 并发请求必须使用不同的 `echo`;重复值会被拒绝。省略时由 SDK 自动生成。 + +```ts +const controller = new AbortController(); + +const status = bot.getStatus({ + echo: 'healthcheck', + timeoutMs: 5_000, + signal: controller.signal, +}); + +controller.abort(); +await status; +``` + +`timeoutMs: 0` 表示关闭该请求的超时控制。 +WebSocket 普通请求的超时从调用时开始,包含等待连接建立和等待响应的总时间, +连接成功后不会重新计时。等待连接时已超时或取消的请求不会在连接晚到后补发; +取消单个请求不会关闭其他请求正在使用或等待的共享连接。 + +## 错误处理 + +SDK 暴露统一错误基类和更具体的错误类型: + +- `SnowLumaApiError`:OneBot 响应失败或 `retcode !== 0`。 +- `SnowLumaAuthError`:鉴权相关 retcode,例如 `1401`、`401`、`403`。 +- `SnowLumaTransportError`:连接、解析、超时、取消等传输层错误基类。 +- `SnowLumaConnectionError`:HTTP fetch / WebSocket 连接或发送失败。 +- `SnowLumaParseError`:响应不是合法 JSON 或不符合 OneBot 响应结构。 +- `SnowLumaTimeoutError`:请求超过 `timeoutMs`。 +- `SnowLumaAbortError`:调用方通过 `AbortSignal` 主动取消。 + +```ts +import { + SnowLumaApiError, + SnowLumaAuthError, + SnowLumaTimeoutError, +} from '@snowluma/sdk'; + +try { + await bot.getStatus({ timeoutMs: 1000 }); +} catch (error) { + if (error instanceof SnowLumaAuthError) { + throw new Error('SnowLuma access token is invalid'); + } + if (error instanceof SnowLumaTimeoutError) { + console.warn(`SnowLuma did not respond in ${error.timeoutMs}ms`); + } + if (error instanceof SnowLumaApiError) { + console.warn(error.retcode, error.wording); + } +} +``` + +## 测试建议 + +- SDK 自身使用 Vitest 覆盖消息构造、事件上下文、WebSocket 响应关联、错误模型和取消逻辑。 +- 对接真实 SnowLuma 时建议使用单独测试账号和测试群,避免把自动化消息发到生产环境。 +- 集成测试里优先显式设置 `echo` 和较短 `timeoutMs`,这样失败时更容易定位是哪一次 action。 +- 发布前运行 `pnpm --filter @snowluma/sdk typecheck`、`pnpm --filter @snowluma/sdk test`、`pnpm --filter @snowluma/sdk build`。 + +## 子路径导入 + +```ts +import { SnowLumaHttpClient } from '@snowluma/sdk/client'; +import { text } from '@snowluma/sdk/messages'; +import { isMessageEvent } from '@snowluma/sdk/events'; +import { SnowLumaApiError } from '@snowluma/sdk/errors'; +``` + +根入口 `@snowluma/sdk` 仍导出正式公开 API;不再保留旧的根级兼容 barrel 或别名 API。 + +## Action 同步 + +SDK 导出 `SNOWLUMA_ACTIONS` 和 `isSnowLumaAction()`。测试会扫描 `packages/core/src/onebot/actions/*.ts` 的 `registerAction()`,确保 SDK action 列表没有落后。 + +## 项目结构 + +```text +src/ + client/ HTTP / WebSocket client 与 API facade + events/ 事件上下文、类型守卫、中间件和命令匹配 + messages/ segment 工厂、MessageChain、CQ 编解码 + types/ JSON、消息、事件、action 参数和返回类型 + internal/ SDK 内部工具 +``` + +## 版本策略 + +当前包版本为 `0.1.0`。版本规则、发布检查清单和破坏性变更边界见 [VERSIONING.md](./VERSIONING.md)。 + +## 接收反向 WebSocket 连接 + +Node 程序可通过 `@snowluma/sdk/node` 的 `createReverseWebSocketServer()` 接受 SnowLuma 的反向连接,按账号使用原有消息监听、动作和流式接口。支持统一连接或分开的 API/Event 通道。配置、鉴权和重连处理见 [REVERSE_WEBSOCKET.md](REVERSE_WEBSOCKET.md)。 diff --git a/packages/sdk/REVERSE_WEBSOCKET.md b/packages/sdk/REVERSE_WEBSOCKET.md new file mode 100644 index 00000000..7454cdf2 --- /dev/null +++ b/packages/sdk/REVERSE_WEBSOCKET.md @@ -0,0 +1,122 @@ +# Reverse WebSocket connections + +`@snowluma/sdk/node` can accept OneBot reverse WebSocket connections. SnowLuma +connects **to your SDK program** and sends events; your program sends actions +back over that same connection. The ordinary `createWebSocketClient()` continues +to dial a SnowLuma WebSocket server. Neither SDK entry acts as a QQ implementation +for NoneBot/AstrBot; SnowLuma's `networks.wsClients` already serves that use case. + +```ts +import { text } from '@snowluma/sdk'; +import { createReverseWebSocketServer } from '@snowluma/sdk/node'; + +const server = createReverseWebSocketServer({ + host: '127.0.0.1', + port: 3002, + path: '/onebot/v11/ws', + accessToken: process.env.ONEBOT_ACCESS_TOKEN, + // Optional: restrict which accounts may connect, in addition to the token. + selfIds: ['10001'], +}); + +server.on('error', (error) => console.error('Reverse connection failed', error)); +server.on('rejected', ({ status, reason }) => console.error('Handshake rejected', status, reason)); +server.on('connection', (bot) => { + console.log('Connected account', bot.selfId); + bot.onMessage(async (_event, context) => { + await context.reply(text('received')); + }); +}); +server.on('disconnect', ({ client, code }) => console.log('Disconnected', client.selfId, code)); +await server.listen(); +// Await server.close() when shutting down your application. +``` + +Configure the matching SnowLuma account with an entry in `networks.wsClients`: + +```json +{ + "name": "sdk", + "url": "ws://127.0.0.1:3002/onebot/v11/ws", + "accessToken": "same-token-as-the-sdk-server", + "role": "Universal", + "messageFormat": "array", + "reportSelfMessage": false +} +``` + +Use the address of the SDK host if the two processes run on different machines. +The listener binds only to loopback by default. Authentication accepts a Bearer +header or `access_token` query parameter. Empty/omitted tokens mean no token +check. Account and role headers are still mandatory. No credentials or frame +bodies are included in handshake rejection events. + +## Sessions and channels + +`connection` supplies a `SnowLumaReverseWebSocketSession` with `selfId` (string), +`canCallActions`, `canReceiveEvents` and the existing forward client's helpers: +`onMessage`, middleware, `waitForMessage`, `getStatus`, message sends, `request`, +`requestStream`, upload and download helpers. Signed message IDs, response errors, +timeouts, cancellation and stream limits retain their existing meaning. + +`server.getClient(selfId)` and the read-only `server.clients` snapshot expose live +sessions. Each account owns its pending requests and event handlers. Events must +match the account declared by `X-Self-ID`; mismatches close the session and report +an error. Duplicate active channels receive HTTP 409 and do not replace a healthy +session. An optional account allowlist rejects unknown accounts with HTTP 403. + +Universal mode carries both actions and events. For separate channels, configure +one SnowLuma `Api` connection and one `Event` connection using the same account +and server address. `API` is also accepted in the wire header. Both share one SDK +session, so an event handler's `context.reply()` uses the API channel. `connection` +fires when the first channel arrives; `channel` fires for each accepted channel: + +```ts +server.on('channel', ({ client, role }) => { + console.log(client.selfId, role, client.canCallActions, client.canReceiveEvents); +}); +``` + +Wait for `canCallActions` before sending actions in split mode. Calling an action +on an Event-only session fails explicitly. Closing either half ends the entire +session and its sibling channel. SnowLuma owns reconnect timing; the next +connection creates a new session and emits `connection` again, where handlers +should be registered anew. Old session objects cannot reconnect themselves. +Pending requests, stream iterators and event waits fail on disconnect. Actions +are never automatically replayed because the remote side may already have +executed them. This transport does not persist events missed while disconnected. + +## Limits, errors and ownership + +The defaults are 100 MiB per incoming message, 16 MiB of outgoing buffered bytes +per channel, 128 simultaneous channels, a 30-second action timeout and a +30-second ping interval. Configure `maxPayloadBytes`, `maxBufferedBytes`, +`maxConnections`, `requestTimeoutMs` and `heartbeatIntervalMs` as needed. A zero +request timeout waits indefinitely; a zero heartbeat interval disables pings. +Other limits must be positive integers. All timers are cleaned up on close. +Oversized inbound messages close with 1009; outbound capacity failures reject +the action without enqueueing it. A peer missing the next ping check is terminated +(normally within two heartbeat intervals). + +Register a server `error` handler: unhandled errors follow Node's EventEmitter +error contract and throw. Session transport, parsing and asynchronous event-handler +failures are forwarded there. Invalid peer JSON and cross-account/channel frames +close the connection; startup bind errors reject `listen()` directly. + +To reuse an HTTP or HTTPS server, pass `server` instead of `host`/`port`, after +that server has started listening. Only the configured upgrade path belongs to +the SDK. Ordinary requests and other upgrade paths remain with their existing +handlers. `close()` releases SDK connections and listeners without closing the +external server. TLS configuration remains with that HTTPS server or your proxy; +there is no automatic downgrade. Internally owned listeners are closed by the +SDK. Closing connections have a bounded handshake grace period before termination. + +Only the Node subpath imports the `ws` runtime dependency; browser-facing SDK +entry points retain their existing imports. TypeScript Node consumers should +include their normal `@types/node` development dependency and enable `"types": ["node"]` in their TypeScript configuration. + +Validation uses real local WebSockets and SnowLuma's `WsClientAdapter` with the +actual action and stream handlers, isolated from QQ accounts. It covers Universal +and split channels, identity/authentication, message replies, multi-account echoes, +disconnect cleanup, limits, heartbeat, external-server ownership and published +NodeNext/bundler package consumers. diff --git a/packages/sdk/STREAMING.md b/packages/sdk/STREAMING.md new file mode 100644 index 00000000..a2317005 --- /dev/null +++ b/packages/sdk/STREAMING.md @@ -0,0 +1,130 @@ +# Streaming files + +Both `SnowLumaHttpClient` and `SnowLumaWebSocketClient` support incremental uploads +and downloads. Existing `request()`, `call()`, `raw()`, `rawResponse()` and +`downloadFile()` keep their single-response behavior. Use the new methods below +when a response contains multiple frames. + +## Upload + +```ts +import { createReadStream } from 'node:fs'; +import { stat } from 'node:fs/promises'; +import { SnowLumaHttpClient } from '@snowluma/sdk'; + +const client = new SnowLumaHttpClient({ baseUrl: 'http://127.0.0.1:3000/' }); +const controller = new AbortController(); +const path = './photo.png'; +const file = await client.uploadFileStream( + createReadStream(path, { signal: controller.signal }), + { + fileSize: (await stat(path)).size, + filename: 'photo.png', + signal: controller.signal, + onProgress: ({ uploadedBytes, fileSize }) => { + console.log(`${uploadedBytes}/${fileSize}`); + }, + }, +); +console.log(file.file_path, file.file_size, file.sha256); +``` + +`uploadFileStream(source, options?)` accepts `Uint8Array` (including Node.js +`Buffer`), `Blob`, `ReadableStream` or `AsyncIterable`. +Byte arrays and blobs provide their own size. Stream sources require `fileSize`: +the server needs the total chunk count before accepting the first chunk. The SDK +rejects input whose actual length differs from the declared size. + +The default chunk size is 64 KiB. `chunkSize` accepts 1 through 1048576 bytes, +keeping each encoded request below the standard server HTTP body limit. Input is +read incrementally; chunks are acknowledged sequentially, and `onProgress` is +awaited before continuing. Empty files are supported. Completion is a separate +request and returns `UploadFileStreamComplete`, including the **server's** local +file path; it does not write a local client file or send a QQ message. + +Optional settings are `filename`, `expectedSha256`, `fileRetention` (milliseconds; +zero disables server expiry), and `streamId`. The default server retention is five +minutes. A generated ID identifies each upload; an explicit ID must be fresh, not +an existing upload. The helper does not resume or automatically retry transfers. +The server validates `expectedSha256` when provided; the SDK checks the completed +metadata and returned digest against that expectation. + +`signal` cancels requests and closes readable sources. For custom async iterables, +pass the same signal to the source and ensure pending reads and iterator cleanup +can finish on cancellation (as the `createReadStream` example does). Cancellation +cannot force an arbitrary producer to resolve its own promises. A failed or +cancelled upload is not finalized; partial server uploads expire after the +server's idle timeout (currently ten minutes). The helper does not issue a reset +request or delete a completed server file automatically. + +## Download + +```ts +import { createWriteStream } from 'node:fs'; +import { pipeline } from 'node:stream/promises'; + +await pipeline( + client.downloadFileStream( + { file: file.file_path, chunk_size: 64 * 1024 }, + { onInfo: (info) => console.log(info.file_name, info.file_size) }, + ), + createWriteStream('./downloaded.png'), +); +``` + +`downloadFileStream(params, options?)` yields `Uint8Array` chunks and returns +`DownloadFileStreamComplete` as the iterator's final value. `for await` and +`pipeline()` consume chunks and verify completion, but discard that return value; +call `iterator.next()` manually if you need `total_bytes` and `total_chunks` from +the final result. `onInfo` runs before any file bytes are yielded. + +Parameters accept a server-side `file` or `file_id`, plus optional `chunk_size`. +The `action` option selects `download_file_stream` (default), +`download_file_image_stream`, or `download_file_record_stream`. + +The helper decodes base64 and checks chunk order, chunk lengths and final counts. +A zero initial file size can mean unknown size; final byte and chunk totals still +must match. Missing metadata, malformed frames, truncation and server failures +throw; bytes already consumed are not rolled back. For durable output, write to +a temporary file and rename it after the iteration succeeds. + +## Individual frames + +```ts +for await (const frame of client.stream('test_download_stream', {})) { + console.log(frame.type, frame.data_type); +} + +for await (const response of client.requestStream('test_download_stream', {})) { + console.log(response.status, response.retcode, response.data); +} +``` + +- `requestStream()` yields response envelopes, including a final failed envelope. +- `stream()` yields typed payloads and throws `SnowLumaApiError` (or its auth + subtype) for failed envelopes, including errors after earlier chunks. +- Both support the five streaming actions: the three downloads, + `test_download_stream`, and `upload_file_stream`. Each upload request returns + just one acknowledgement, including `type: 'stream'` chunk ACKs. Low-level + callers must finalize in a separate request. Reset retains the server's + existing failed-envelope behavior. +- `AbortSignal`, `echo`, and `timeoutMs` work as on ordinary requests. Timeout + covers an active streaming request (including WebSocket connection setup); + uploads apply it to each chunk/finalization request. Zero disables timeout. + Source reads and application callbacks are not timed by the request timeout. +- Stopping iteration releases client resources. HTTP also cancels its response + body. WebSocket stops collecting that request without closing the shared socket; + the protocol has no per-request download cancellation message, so the server + may continue sending remaining frames. Use unique echoes for transfers; do not + reuse an aborted transfer's echo while late frames may still arrive. +- WebSocket disconnection fails active transfers; reconnect does not replay them. +- `maxBufferBytes` defaults to 32 MiB and bounds each HTTP frame or the queued + WebSocket payloads. `maxBufferedFrames` defaults to 256 for WebSocket. An + overflow throws instead of dropping frames or buffering the entire file. + HTTP reads follow consumption; WebSocket has no per-request backpressure, so + prefer HTTP for large downloads to a slow destination. + +All new types are exported from `@snowluma/sdk` and `@snowluma/sdk/types`. Custom +`SnowLumaApiClient` subclasses can opt in by implementing `requestStream()`; +request-only subclasses remain compatible and receive an explicit unsupported +error if streaming is attempted. diff --git a/packages/sdk/VERSIONING.md b/packages/sdk/VERSIONING.md new file mode 100644 index 00000000..9d1573af --- /dev/null +++ b/packages/sdk/VERSIONING.md @@ -0,0 +1,52 @@ +# @snowluma/sdk Versioning + +The SDK follows SemVer for its public package surface: + +- Exported runtime values and classes from `@snowluma/sdk`. +- Exported types from `@snowluma/sdk` and `@snowluma/sdk/types`. +- Supported subpath exports: `client`, `messages`, `events`, `errors`, `actions`, `types`, and `node`. +- Runtime behavior of typed client helpers, message builders, event helpers, and SDK error classes. + +## Version policy + +SDK and application versions are synchronized by `pnpm bump ` from the repository root. + +The current Node.js requirement is `^24.22.1 || >=26.12.1`. Use the repository's `.node-version` for development and builds. + +The SDK is an ES module package that supports native Node.js imports and bundler consumers. Its build uses `NodeNext`; relative source imports and re-exports must use `.js` specifiers so both emitted JavaScript and declarations resolve without a bundler. Package tests compile fresh output, load every runtime entry point with Node.js, and typecheck consumers with both NodeNext and bundler resolution. + +- Major: removes or changes a public export, changes runtime behavior incompatibly, changes supported Node version, or removes/changes an existing package subpath. +- Minor: adds new public API or package subpaths, supports new SnowLuma actions, adds optional parameters, or adds error subclasses. +- Patch: fixes bugs, improves docs, narrows implementation details without breaking public types, or updates action metadata without changing call signatures. + +## Release Checklist + +1. Run `pnpm bump ` to update all workspace versions. +2. Update `packages/sdk/CHANGELOG.md`. +3. Run `pnpm --filter @snowluma/sdk typecheck`. +4. Run `pnpm --filter @snowluma/sdk test`. +5. Run `pnpm --filter @snowluma/sdk build`. +6. Run `pnpm --filter @snowluma/sdk pack --dry-run` to inspect published files. + +## Automated npm Publish + +`.github/workflows/sdk-npm-publish.yml` publishes `@snowluma/sdk` when SDK-related files reach `main`, including the automated `dev` to `main` promotion flow. The publish job uses npm Trusted Publishing with the GitHub Environment named `SnowLuma`; it authenticates through GitHub Actions OIDC and does not require an `NPM_TOKEN` secret. + +The one-time npm settings for SDK, UI, and MCP are documented in +[`.github/npm-trusted-publishing.md`](../../.github/npm-trusted-publishing.md). + +If the package version already exists on npm, the workflow skips publishing that run. Bump `packages/sdk/package.json` before merging SDK changes that should create a new npm release. + +## Action Compatibility + +`SNOWLUMA_ACTIONS`, `isSnowLumaAction`, and `SnowLumaKnownAction` are available from both `@snowluma/sdk` and `@snowluma/sdk/actions`. The catalog includes this release's executable action names, compatibility aliases, and raw actions. OneBot's registry tests verify that the SDK catalog stays aligned with the server; the published SDK does not import server code. + +This local catalog is not a capability check against a connected server. Every known action name has a parameter and result entry in `SnowLumaActionMap`, including aliases. Existing broad JSON contracts are retained for compatibility. New parameter types describe accepted input forms, including numeric strings and primitive coercions; server-side range and state validation still applies. Custom actions and dynamically selected names remain supported through `raw()` and `rawResponse()`. Adding an action type is a minor change unless it changes an existing method signature or return type. + +Stream result types describe individual frame payloads, including intermediate and terminal frames. Both built-in clients support `requestStream()` (envelopes) and `stream()` (payloads with API error handling), plus incremental file upload/download helpers; see [STREAMING.md](STREAMING.md). Existing `request()`, `call()`, `raw()`, `rawResponse()` and `downloadFile()` keep their single-response contracts. Custom subclasses that only implement `request()` remain valid; the default `requestStream()` explicitly reports unsupported streaming. Stream reset/error envelopes retain their existing error behavior. Album counts and IDs returned as decimal strings stay strings, and ordinary message IDs remain signed numbers. + +The package consumer tests check complete action-map coverage, inferred results, compatibility aliases, and invalid input examples with both NodeNext and bundler resolution. The same parameter examples are checked against the server's real action parsers without starting QQ or executing actions. + +Additive media-send methods, explicit quoted replies, and WebSocket event waits are described in [MESSAGING.md](MESSAGING.md). Existing string paths, ordinary `reply()` behavior, and handler/context types remain supported. The optional `node` subpath owns local filesystem access; browser-facing entry points stay free of Node imports. The runtime also propagates group-file chat publication failures instead of returning success after a failed publication; successful action response shapes are unchanged. + +The optional `node` entry also exports `createReverseWebSocketServer`, `SnowLumaReverseWebSocketServer`, and reverse-session types. These additive exports accept OneBot reverse connections without changing the forward client. The `ws` runtime dependency is loaded only by the Node entry; browser-facing exports remain free of Node server imports. See [REVERSE_WEBSOCKET.md](REVERSE_WEBSOCKET.md). diff --git a/packages/sdk/package.json b/packages/sdk/package.json new file mode 100644 index 00000000..ddaf0d04 --- /dev/null +++ b/packages/sdk/package.json @@ -0,0 +1,107 @@ +{ + "name": "@snowluma/sdk", + "author": { + "name": "MotricSeven", + "email": "motricseven@gmail.com" + }, + "version": "2.4.2", + "description": "TypeScript SDK for SnowLuma OneBot HTTP and WebSocket transports", + "keywords": [ + "snowluma", + "onebot", + "onebot11", + "qq", + "bot", + "sdk" + ], + "homepage": "https://github.com/SnowLuma/SnowLuma#readme", + "bugs": { + "url": "https://github.com/SnowLuma/SnowLuma/issues" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/SnowLuma/SnowLuma.git", + "directory": "packages/sdk" + }, + "license": "SEE LICENSE IN LICENSE", + "type": "module", + "sideEffects": false, + "main": "./dist/index.js", + "types": "./dist/index.d.ts", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.js" + }, + "./client": { + "types": "./dist/client/index.d.ts", + "import": "./dist/client/index.js" + }, + "./messages": { + "types": "./dist/messages/index.d.ts", + "import": "./dist/messages/index.js" + }, + "./events": { + "types": "./dist/events/index.d.ts", + "import": "./dist/events/index.js" + }, + "./types": { + "types": "./dist/types/index.d.ts", + "import": "./dist/types/index.js" + }, + "./errors": { + "types": "./dist/errors.d.ts", + "import": "./dist/errors.js" + }, + "./actions": { + "types": "./dist/actions.d.ts", + "import": "./dist/actions.js" + }, + "./node": { + "types": "./dist/node/index.d.ts", + "import": "./dist/node/index.js" + }, + "./package.json": "./package.json" + }, + "files": [ + "dist/actions.*", + "dist/client", + "dist/emitter.*", + "dist/errors.*", + "dist/events", + "dist/index.*", + "dist/internal", + "dist/messages", + "dist/node", + "dist/types", + "README.md", + "CHANGELOG.md", + "STREAMING.md", + "MESSAGING.md", + "VERSIONING.md", + "REVERSE_WEBSOCKET.md" + ], + "scripts": { + "clean": "node -e \"const fs = require('node:fs'); fs.rmSync('dist', { recursive: true, force: true })\"", + "prebuild": "pnpm run clean", + "build": "tsc -p tsconfig.json", + "prepack": "pnpm run build", + "test": "vitest run", + "typecheck": "tsc --noEmit" + }, + "publishConfig": { + "access": "public" + }, + "engines": { + "node": "^24.22.1 || >=26.12.1" + }, + "devDependencies": { + "@types/node": "catalog:", + "@types/ws": "8.18.2", + "typescript": "catalog:", + "vitest": "4.1.12" + }, + "dependencies": { + "ws": "8.22.0" + } +} diff --git a/packages/sdk/src/actions.ts b/packages/sdk/src/actions.ts new file mode 100644 index 00000000..fb05411b --- /dev/null +++ b/packages/sdk/src/actions.ts @@ -0,0 +1,244 @@ +/** + * Action names shipped with this SDK version, including compatibility aliases. + * This is a local catalog, not a capability check against a connected server. + */ +export const SNOWLUMA_ACTIONS = [ + 'get_login_info', + 'get_status', + 'get_version_info', + 'can_send_image', + 'can_send_record', + 'send_msg', + 'send_private_msg', + 'send_group_msg', + 'get_msg', + 'delete_msg', + 'get_friend_list', + 'get_stranger_info', + 'delete_friend', + 'get_group_list', + 'get_group_info', + 'get_group_member_list', + 'get_group_member_info', + 'get_group_honor_info', + 'get_group_system_msg', + 'set_group_kick', + 'set_group_kick_members', + 'set_group_ban', + 'set_group_whole_ban', + 'set_group_add_option', + 'set_group_search', + 'set_group_admin', + 'get_group_admin_permissions', + 'set_group_admin_permissions', + 'set_group_admin_receive_verify', + 'set_group_card', + 'set_group_name', + 'set_group_leave', + 'set_group_special_title', + 'set_group_anonymous', + 'set_group_anonymous_ban', + 'set_group_portrait', + 'upload_group_file', + 'upload_private_file', + 'get_group_file_url', + 'get_group_root_files', + 'get_group_files_by_folder', + 'delete_group_file', + 'move_group_file', + 'create_group_file_folder', + 'delete_group_file_folder', + 'rename_group_file_folder', + 'get_private_file_url', + 'set_friend_add_request', + 'set_group_add_request', + 'send_like', + 'friend_poke', + 'group_poke', + 'send_poke', + 'set_essence_msg', + 'delete_essence_msg', + 'get_essence_msg_list', + 'set_group_reaction', + 'get_group_msg_history', + 'get_friend_msg_history', + 'mark_group_msg_as_read', + 'mark_private_msg_as_read', + 'mark_msg_as_read', + 'get_rkey', + 'ocr_image', + '.ocr_image', + '_send_group_notice', + '_get_group_notice', + '_del_group_notice', + 'upload_forward_msg', + 'upload_foward_msg', + 'send_forward_msg', + 'send_group_forward_msg', + 'send_private_forward_msg', + 'get_forward_msg', + 'get_image', + 'get_record', + 'get_cookies', + 'get_csrf_token', + 'get_credentials', + 'set_restart', + 'clean_cache', + '.handle_quick_operation', + 'set_friend_remark', + 'set_group_remark', + 'set_msg_emoji_like', + '_mark_all_as_read', + 'get_group_file_system_info', + 'check_url_safely', + 'download_file', + 'set_qq_profile', + 'set_online_status', + 'get_group_ignored_notifies', + 'get_group_shut_list', + 'forward_friend_single_msg', + 'forward_group_single_msg', + 'get_recent_contact', + 'get_profile_like', + 'fetch_custom_face', + 'get_emoji_likes', + 'fetch_emoji_like', + 'get_friends_with_category', + 'get_online_clients', + '_get_model_show', + '_set_model_show', + '.get_word_slices', + 'get_group_at_all_remain', + 'get_unidirectional_friend_list', + 'set_self_longnick', + 'get_collection_list', + 'create_collection', + 'set_qq_avatar', + 'set_input_status', + 'translate_en2zh', + 'get_clientkey', + 'get_mini_app_ark', + 'click_inline_keyboard_button', + 'set_group_sign', + 'send_group_sign', + 'get_group_info_ex', + 'get_group_detail_info', + 'trans_group_file', + 'rename_group_file', + 'get_file', + '.send_packet', + 'send_packet', + 'bot_exit', + 'nc_get_packet_status', + 'nc_get_rkey', + 'nc_get_user_status', + 'get_group_ignore_add_request', + 'delete_group_folder', + 'set_group_todo', + 'complete_group_todo', + 'cancel_group_todo', + 'set_diy_online_status', + 'get_ai_characters', + 'get_ai_record', + 'send_group_ai_record', + '_get_friend_dress', + 'add_custom_face', + 'add_group_tag', + 'cancel_group_album_media_like', + 'clean_stream_temp_file', + 'comment_qzone', + 'comment_qzone_public_feed', + 'create_flash_task', + 'del_group_album_media', + 'delete_custom_face', + 'delete_flash_file', + 'delete_group_tag', + 'delete_qzone_msg', + 'delete_qzone_public_comment', + 'delete_qzone_public_reply', + 'do_group_album_comment', + 'download_file_image_stream', + 'download_file_record_stream', + 'download_file_stream', + 'download_fileset', + 'fetch_custom_face_detail', + 'fetch_face_entity', + 'fetch_ptt_text', + 'get_ptt_text', + 'get_record_text', + 'fetch_super_face_id', + 'fetch_sys_faces', + 'forward_qzone_public_feed', + 'get_doubt_friends_add_request', + 'get_fileset_id', + 'get_fileset_info', + 'get_flash_file_list', + 'get_flash_file_url', + 'get_group_admin_settings', + 'get_group_album_list', + 'get_group_album_media_list', + 'get_group_share_link', + 'get_group_signed_list', + 'get_group_tags', + 'get_group_todo_list', + 'get_msg_emoji_likes', + 'get_qun_album_list', + 'get_qzone_feeds', + 'get_qzone_home_feeds', + 'get_qzone_feed_detail', + 'get_qzone_msg_detail', + 'get_qzone_msg_list', + 'get_qzone_profile', + 'get_qzone_public_capabilities', + 'get_qzone_public_comments', + 'get_qzone_public_feed_detail', + 'get_qzone_public_feeds', + 'get_qzone_public_replies', + 'get_qzone_share_ark', + 'get_rkey_server', + 'get_share_link', + 'like_qzone', + 'list_filesets', + 'modify_custom_face', + 'move_custom_face_to_front', + 'rename_flash_file', + 'reply_qzone_public_feed', + 'request_decrypt_key', + 'search_sys_faces', + 'send_ark_share', + 'send_custom_face', + 'send_flash_msg', + 'send_group_ark_share', + 'send_qzone_msg', + 'send_tuwen_ark', + 'set_doubt_friends_add_request', + 'set_friends_category', + 'set_group_album_media_like', + 'set_group_member_invite_policy', + 'set_group_member_permissions', + 'set_group_new_member_history_visibility', + 'set_group_robot_add_option', + 'set_qzone_ban', + 'set_qzone_msg_right', + 'set_qzone_profile', + 'set_qzone_public_comment_like', + 'set_qzone_public_follow', + 'set_qzone_public_like', + 'set_qzone_public_upvote', + 'share_group_ex', + 'share_peer', + 'test_download_stream', + 'unlike_qzone', + 'upload_file_stream', + 'upload_image_to_qun_album', + 'upload_video_to_qun_album', + '.handle_quick_operation_async', +] as const; + +export type SnowLumaKnownAction = (typeof SNOWLUMA_ACTIONS)[number]; + +const ACTION_SET = new Set(SNOWLUMA_ACTIONS); + +export function isSnowLumaAction(action: string): action is SnowLumaKnownAction { + return ACTION_SET.has(action); +} diff --git a/packages/sdk/src/client/api-client.ts b/packages/sdk/src/client/api-client.ts new file mode 100644 index 00000000..66c43adc --- /dev/null +++ b/packages/sdk/src/client/api-client.ts @@ -0,0 +1,908 @@ +import { createSnowLumaApiError, SnowLumaConnectionError } from '../errors.js'; +import { normalizeMessage } from '../messages/index.js'; +import { downloadFileStream, uploadFileStream } from './file-streams.js'; +import { sendUploadedMedia } from './media.js'; +import type { + ActionParams, + ActionResult, + ApiResponse, + DomainParams, + DownloadFileStreamOptions, + DownloadFileStreamParams, + DownloadFileParams, + ForwardMessageParams, + GetForwardMsgParams, + GetFriendMessageHistoryParams, + GetGroupHonorInfoParams, + GetGroupMessageHistoryParams, + GetMediaParams, + JsonObject, + JsonValue, + MediaSource, + OutgoingMessage, + RequestOptions, + SendFileOptions, + SendGroupFileOptions, + SendImageOptions, + SendRecordOptions, + SendVideoOptions, + SendMsgParams, + SetGroupReactionParams, + SnowLumaAction, + SnowLumaStreamAction, + StreamApiResponse, + StreamRequestOptions, + UploadFileSource, + UploadFileStreamOptions, +} from '../types/index.js'; + +/** + * Base class for SnowLuma API clients. + * + * Concrete transports implement request(); this facade adds typed OneBot actions, + * message normalization, and failed-response error handling. + */ +export abstract class SnowLumaApiClient { + /** Sends a raw OneBot action and returns the complete API response. */ + abstract request( + action: TAction, + params?: ActionParams, + options?: RequestOptions, + ): Promise>>; + + /** Returns every stream envelope, including a terminal failed response. + * Custom request-only subclasses remain valid and can opt into streaming. */ + requestStream( + _action: TAction, + _params: ActionParams, + _options?: StreamRequestOptions, + ): AsyncIterableIterator>> { + throw new SnowLumaConnectionError('This client transport does not implement streaming'); + } + + /** Returns every stream payload; failed responses throw SnowLumaApiError. */ + async *stream( + action: TAction, + params: ActionParams, + options?: StreamRequestOptions, + ): AsyncGenerator, void, void> { + for await (const response of this.requestStream(action, params, options)) { + if (response.status !== 'ok' || response.retcode !== 0) { + throw createSnowLumaApiError(response); + } + + yield response.data; + } + } + + /** Uploads bytes incrementally and returns the server's completed file metadata. */ + uploadFileStream(source: UploadFileSource, options?: UploadFileStreamOptions) { + return uploadFileStream(this, source, options); + } + + /** Yields decoded byte chunks; the iterator's return value is completion metadata. */ + downloadFileStream(params: DownloadFileStreamParams, options?: DownloadFileStreamOptions) { + return downloadFileStream(this, params, options); + } + + /** Sends a OneBot action and returns data, throwing SnowLumaApiError on failed responses. */ + async call( + action: TAction, + params?: ActionParams, + options?: RequestOptions, + ): Promise> { + const response = await this.request(action, params, options); + + if (response.status !== 'ok' || response.retcode !== 0) { + throw createSnowLumaApiError(response); + } + + return response.data; + } + + getLoginInfo(options?: RequestOptions) { + return this.call('get_login_info', {}, options); + } + + getStatus(options?: RequestOptions) { + return this.call('get_status', {}, options); + } + + getVersionInfo(options?: RequestOptions) { + return this.call('get_version_info', {}, options); + } + + canSendImage(options?: RequestOptions) { + return this.call('can_send_image', {}, options); + } + + canSendRecord(options?: RequestOptions) { + return this.call('can_send_record', {}, options); + } + + sendMsg( + params: Omit & { message: OutgoingMessage }, + options?: RequestOptions, + ) { + return this.call( + 'send_msg', + { ...params, message: normalizeMessage(params.message) as JsonValue }, + options, + ); + } + + sendPrivateMessage( + userId: number, + message: OutgoingMessage, + options?: RequestOptions & { autoEscape?: boolean }, + ) { + return this.call( + 'send_private_msg', + { + user_id: userId, + message: normalizeMessage(message) as JsonValue, + auto_escape: options?.autoEscape, + }, + options, + ); + } + + sendGroupMessage( + groupId: number, + message: OutgoingMessage, + options?: RequestOptions & { autoEscape?: boolean }, + ) { + return this.call( + 'send_group_msg', + { + group_id: groupId, + message: normalizeMessage(message) as JsonValue, + auto_escape: options?.autoEscape, + }, + options, + ); + } + + /** Uploads local bytes, then sends an image message using the server's file path. */ + sendGroupImage(groupId: number, source: MediaSource, options: SendImageOptions = {}) { + const { signal, timeoutMs, echo } = options; + return sendUploadedMedia(this, source, options, (upload) => + this.sendGroupMessage( + groupId, + { type: 'image', data: { ...options.image, file: upload.file_path } }, + { + signal, + timeoutMs, + echo, + }, + ), + ); + } + + /** Uploads local bytes, then sends a record message using the server's file path. */ + sendGroupRecord(groupId: number, source: MediaSource, options: SendRecordOptions = {}) { + const { signal, timeoutMs, echo } = options; + return sendUploadedMedia(this, source, options, (upload) => + this.sendGroupMessage( + groupId, + { type: 'record', data: { ...options.record, file: upload.file_path } }, + { + signal, + timeoutMs, + echo, + }, + ), + ); + } + + /** Uploads local bytes, then sends a video message using the server's file path. */ + sendGroupVideo(groupId: number, source: MediaSource, options: SendVideoOptions = {}) { + const { signal, timeoutMs, echo } = options; + return sendUploadedMedia(this, source, options, (upload) => + this.sendGroupMessage( + groupId, + { type: 'video', data: { ...options.video, file: upload.file_path } }, + { + signal, + timeoutMs, + echo, + }, + ), + ); + } + + /** Uploads local bytes, then sends an image message using the server's file path. */ + sendPrivateImage(userId: number, source: MediaSource, options: SendImageOptions = {}) { + const { signal, timeoutMs, echo } = options; + return sendUploadedMedia(this, source, options, (upload) => + this.sendPrivateMessage( + userId, + { type: 'image', data: { ...options.image, file: upload.file_path } }, + { + signal, + timeoutMs, + echo, + }, + ), + ); + } + + /** Uploads local bytes, then sends a record message using the server's file path. */ + sendPrivateRecord(userId: number, source: MediaSource, options: SendRecordOptions = {}) { + const { signal, timeoutMs, echo } = options; + return sendUploadedMedia(this, source, options, (upload) => + this.sendPrivateMessage( + userId, + { type: 'record', data: { ...options.record, file: upload.file_path } }, + { + signal, + timeoutMs, + echo, + }, + ), + ); + } + + /** Uploads local bytes, then sends a video message using the server's file path. */ + sendPrivateVideo(userId: number, source: MediaSource, options: SendVideoOptions = {}) { + const { signal, timeoutMs, echo } = options; + return sendUploadedMedia(this, source, options, (upload) => + this.sendPrivateMessage( + userId, + { type: 'video', data: { ...options.video, file: upload.file_path } }, + { + signal, + timeoutMs, + echo, + }, + ), + ); + } + + /** Uploads local bytes and publishes a file in the group. */ + sendGroupFile(groupId: number, source: MediaSource, options: SendGroupFileOptions = {}) { + const { signal, timeoutMs, echo, folder, folderId } = options; + return sendUploadedMedia(this, source, options, (upload) => + this.uploadGroupFile(groupId, upload.file_path, { + signal, + timeoutMs, + echo, + folder, + folderId, + name: options.name ?? upload.file_name, + uploadFile: true, + }), + ); + } + + /** Uploads local bytes and sends the file to a private conversation. */ + sendPrivateFile(userId: number, source: MediaSource, options: SendFileOptions = {}) { + const { signal, timeoutMs, echo } = options; + return sendUploadedMedia(this, source, options, (upload) => + this.uploadPrivateFile(userId, upload.file_path, { + signal, + timeoutMs, + echo, + name: options.name ?? upload.file_name, + uploadFile: true, + }), + ); + } + + getMessage(messageId: number, options?: RequestOptions) { + return this.call('get_msg', { message_id: messageId }, options); + } + + deleteMessage(messageId: number, options?: RequestOptions) { + return this.call('delete_msg', { message_id: messageId }, options); + } + + getFriendList(options?: RequestOptions & { withProfile?: boolean }) { + return this.call( + 'get_friend_list', + options?.withProfile === undefined ? {} : { with_profile: options.withProfile }, + options, + ); + } + + getStrangerInfo(userId: number, options?: RequestOptions) { + return this.call('get_stranger_info', { user_id: userId }, options); + } + + deleteFriend(userId: number, options?: RequestOptions & { block?: boolean }) { + return this.call('delete_friend', { user_id: userId, block: options?.block }, options); + } + + getGroupList(options?: RequestOptions & { noCache?: boolean }) { + return this.call('get_group_list', { no_cache: options?.noCache }, options); + } + + getGroupInfo(groupId: number, options?: RequestOptions & { noCache?: boolean }) { + return this.call( + 'get_group_info', + { group_id: groupId, no_cache: options?.noCache }, + options, + ); + } + + getGroupMemberList(groupId: number, options?: RequestOptions & { noCache?: boolean }) { + return this.call( + 'get_group_member_list', + { group_id: groupId, no_cache: options?.noCache }, + options, + ); + } + + getGroupShareLink( + groupId: number, + options?: RequestOptions & { + needShortUrl?: boolean; + srcId?: number; + additionalParam?: string; + }, + ) { + return this.call( + 'get_group_share_link', + { + group_id: groupId, + need_short_url: options?.needShortUrl, + src_id: options?.srcId, + additional_param: options?.additionalParam, + }, + options, + ); + } + + getGroupMemberInfo( + groupId: number, + userId: number, + options?: RequestOptions & { noCache?: boolean }, + ) { + return this.call( + 'get_group_member_info', + { + group_id: groupId, + user_id: userId, + no_cache: options?.noCache, + }, + options, + ); + } + + getGroupHonorInfo(params: GetGroupHonorInfoParams, options?: RequestOptions) { + return this.call('get_group_honor_info', params, options); + } + + getGroupSystemMessages( + options?: RequestOptions & { + groupId?: number; + onlyPending?: boolean; + count?: number; + }, + ) { + return this.call( + 'get_group_system_msg', + { + group_id: options?.groupId, + only_pending: options?.onlyPending, + count: options?.count, + }, + options, + ); + } + + setGroupKick( + groupId: number, + userId: number, + options?: RequestOptions & { rejectAddRequest?: boolean }, + ) { + return this.call( + 'set_group_kick', + { + group_id: groupId, + user_id: userId, + reject_add_request: options?.rejectAddRequest, + }, + options, + ); + } + + setGroupBan(groupId: number, userId: number, duration?: number, options?: RequestOptions) { + return this.call( + 'set_group_ban', + { group_id: groupId, user_id: userId, duration }, + options, + ); + } + + setGroupWholeBan(groupId: number, enable = true, options?: RequestOptions) { + return this.call('set_group_whole_ban', { group_id: groupId, enable }, options); + } + + setGroupAdmin(groupId: number, userId: number, enable = true, options?: RequestOptions) { + return this.call( + 'set_group_admin', + { group_id: groupId, user_id: userId, enable }, + options, + ); + } + + setGroupCard(groupId: number, userId: number, card = '', options?: RequestOptions) { + return this.call('set_group_card', { group_id: groupId, user_id: userId, card }, options); + } + + setGroupName(groupId: number, name: string, options?: RequestOptions) { + return this.call('set_group_name', { group_id: groupId, group_name: name }, options); + } + + setGroupLeave(groupId: number, options?: RequestOptions) { + return this.call('set_group_leave', { group_id: groupId }, options); + } + + setGroupSpecialTitle(groupId: number, userId: number, title = '', options?: RequestOptions) { + return this.call( + 'set_group_special_title', + { + group_id: groupId, + user_id: userId, + special_title: title, + }, + options, + ); + } + + uploadGroupFile( + groupId: number, + file: string, + options: RequestOptions & { + name?: string; + folder?: string; + folderId?: string; + uploadFile?: boolean; + } = {}, + ) { + return this.call( + 'upload_group_file', + { + group_id: groupId, + file, + name: options.name, + folder: options.folder, + folder_id: options.folderId, + upload_file: options.uploadFile, + }, + options, + ); + } + + uploadPrivateFile( + userId: number, + file: string, + options: RequestOptions & { + name?: string; + uploadFile?: boolean; + } = {}, + ) { + return this.call( + 'upload_private_file', + { + user_id: userId, + file, + name: options.name, + upload_file: options.uploadFile, + }, + options, + ); + } + + getGroupFileUrl( + groupId: number, + fileId: string, + options?: RequestOptions & { busid?: number }, + ) { + return this.call( + 'get_group_file_url', + { group_id: groupId, file_id: fileId, busid: options?.busid }, + options, + ); + } + + getGroupRootFiles(groupId: number, options?: RequestOptions) { + return this.call('get_group_root_files', { group_id: groupId }, options); + } + + getGroupFilesByFolder(groupId: number, folderId = '/', options?: RequestOptions) { + return this.call( + 'get_group_files_by_folder', + { group_id: groupId, folder_id: folderId }, + options, + ); + } + + deleteGroupFile(groupId: number, fileId: string, options?: RequestOptions) { + return this.call('delete_group_file', { group_id: groupId, file_id: fileId }, options); + } + + moveGroupFile( + groupId: number, + fileId: string, + parentDirectory: string, + targetDirectory: string, + options?: RequestOptions, + ) { + return this.call( + 'move_group_file', + { + group_id: groupId, + file_id: fileId, + parent_directory: parentDirectory, + target_directory: targetDirectory, + }, + options, + ); + } + + createGroupFileFolder(groupId: number, name: string, parentId = '/', options?: RequestOptions) { + return this.call( + 'create_group_file_folder', + { group_id: groupId, name, parent_id: parentId }, + options, + ); + } + + deleteGroupFileFolder(groupId: number, folderId: string, options?: RequestOptions) { + return this.call( + 'delete_group_file_folder', + { group_id: groupId, folder_id: folderId }, + options, + ); + } + + renameGroupFileFolder( + groupId: number, + folderId: string, + newName: string, + options?: RequestOptions, + ) { + return this.call( + 'rename_group_file_folder', + { + group_id: groupId, + folder_id: folderId, + new_folder_name: newName, + }, + options, + ); + } + + getPrivateFileUrl(userId: number, fileId: string, fileHash: string, options?: RequestOptions) { + return this.call( + 'get_private_file_url', + { user_id: userId, file_id: fileId, file_hash: fileHash }, + options, + ); + } + + setFriendAddRequest(flag: string, approve = true, options?: RequestOptions) { + return this.call('set_friend_add_request', { flag, approve }, options); + } + + setGroupAddRequest( + flag: string, + params: RequestOptions & { + subType?: string; + type?: string; + approve?: boolean; + reason?: string; + } = {}, + ) { + return this.call( + 'set_group_add_request', + { + flag, + sub_type: params.subType, + type: params.type, + approve: params.approve, + reason: params.reason, + }, + params, + ); + } + + sendLike(userId: number, times = 1, options?: RequestOptions) { + return this.call('send_like', { user_id: userId, times }, options); + } + + friendPoke(userId: number, options?: RequestOptions & { targetId?: number }) { + return this.call('friend_poke', { user_id: userId, target_id: options?.targetId }, options); + } + + groupPoke(groupId: number, userId: number, options?: RequestOptions) { + return this.call('group_poke', { group_id: groupId, user_id: userId }, options); + } + + sendPoke(userId: number, options?: RequestOptions & { groupId?: number }) { + return this.call('send_poke', { user_id: userId, group_id: options?.groupId }, options); + } + + setEssenceMessage(messageId: number, options?: RequestOptions) { + return this.call('set_essence_msg', { message_id: messageId }, options); + } + + deleteEssenceMessage(messageId: number, options?: RequestOptions) { + return this.call('delete_essence_msg', { message_id: messageId }, options); + } + + getEssenceMessageList(groupId: number, options?: RequestOptions) { + return this.call('get_essence_msg_list', { group_id: groupId }, options); + } + + setGroupReaction(params: SetGroupReactionParams, options?: RequestOptions) { + return this.call('set_group_reaction', params, options); + } + + getGroupMessageHistory(params: GetGroupMessageHistoryParams, options?: RequestOptions) { + return this.call('get_group_msg_history', params, options); + } + + getFriendMessageHistory(params: GetFriendMessageHistoryParams, options?: RequestOptions) { + return this.call('get_friend_msg_history', params, options); + } + + markGroupMessageAsRead(messageId: number, groupId?: number, options?: RequestOptions) { + return this.call( + 'mark_group_msg_as_read', + { message_id: messageId, group_id: groupId }, + options, + ); + } + + markPrivateMessageAsRead(messageId: number, userId?: number, options?: RequestOptions) { + return this.call( + 'mark_private_msg_as_read', + { message_id: messageId, user_id: userId }, + options, + ); + } + + markMessageAsRead(messageId: number, targetId?: number, options?: RequestOptions) { + return this.call( + 'mark_msg_as_read', + { message_id: messageId, target_id: targetId }, + options, + ); + } + + getRKey(options?: RequestOptions) { + return this.call('get_rkey', {}, options); + } + + sendGroupNotice( + groupId: number, + content: string, + options: RequestOptions & { + image?: string; + pinned?: 0 | 1; + type?: 1 | 20; + sendToNewMembers?: boolean; + isShowEditCard?: 0 | 1; + /** QQ's raw inverted field: 0=show popup, 1=do not show popup. */ + tipWindowType?: 0 | 1; + confirmRequired?: 0 | 1; + } = {}, + ) { + return this.call( + '_send_group_notice', + { + group_id: groupId, + content, + image: options.image, + pinned: options.pinned, + type: options.type, + send_to_new_members: options.sendToNewMembers, + is_show_edit_card: options.isShowEditCard, + tip_window_type: options.tipWindowType, + confirm_required: options.confirmRequired, + }, + options, + ); + } + + getGroupNotice(groupId: number, options?: RequestOptions) { + return this.call('_get_group_notice', { group_id: groupId }, options); + } + + uploadForwardMessage(params: ForwardMessageParams, options?: RequestOptions) { + return this.call('upload_forward_msg', params, options); + } + + sendForwardMessage(params: ForwardMessageParams, options?: RequestOptions) { + return this.call('send_forward_msg', params, options); + } + + sendGroupForwardMessage(groupId: number, messages: OutgoingMessage, options?: RequestOptions) { + return this.call( + 'send_group_forward_msg', + { + group_id: groupId, + messages: normalizeMessage(messages) as JsonValue, + }, + options, + ); + } + + sendPrivateForwardMessage(userId: number, messages: OutgoingMessage, options?: RequestOptions) { + return this.call( + 'send_private_forward_msg', + { + user_id: userId, + messages: normalizeMessage(messages) as JsonValue, + }, + options, + ); + } + + getForwardMessage(params: GetForwardMsgParams, options?: RequestOptions) { + return this.call('get_forward_msg', params, options); + } + + getImage(params: GetMediaParams, options?: RequestOptions) { + return this.call('get_image', params, options); + } + + getRecord(params: GetMediaParams, options?: RequestOptions) { + return this.call('get_record', params, options); + } + + getCookies(params: DomainParams = {}, options?: RequestOptions) { + return this.call('get_cookies', params, options); + } + + getCsrfToken(options?: RequestOptions) { + return this.call('get_csrf_token', {}, options); + } + + getCredentials(params: DomainParams = {}, options?: RequestOptions) { + return this.call('get_credentials', params, options); + } + + cleanCache(options?: RequestOptions) { + return this.call('clean_cache', {}, options); + } + + setFriendRemark(userId: number, remark: string, options?: RequestOptions) { + return this.call('set_friend_remark', { user_id: userId, remark }, options); + } + + setMsgEmojiLike(messageId: number, emojiId: string, set = true, options?: RequestOptions) { + return this.call( + 'set_msg_emoji_like', + { message_id: messageId, emoji_id: emojiId, set }, + options, + ); + } + + fetchSysFaces(refresh = false, options?: RequestOptions) { + return this.call('fetch_sys_faces', { refresh }, options); + } + + fetchFaceEntity(faceId: number, options: RequestOptions & { refresh?: boolean } = {}) { + return this.call( + 'fetch_face_entity', + { + face_id: faceId, + refresh: options.refresh ?? false, + }, + options, + ); + } + + searchSysFaces(query: string, options?: RequestOptions) { + return this.call('search_sys_faces', { query }, options); + } + + fetchSuperFaceId(faceId: number, options: RequestOptions & { refresh?: boolean } = {}) { + return this.call( + 'fetch_super_face_id', + { + face_id: faceId, + refresh: options.refresh ?? false, + }, + options, + ); + } + + markAllAsRead(options?: RequestOptions) { + return this.call('_mark_all_as_read', {}, options); + } + + getGroupFileSystemInfo(groupId: number, options?: RequestOptions) { + return this.call('get_group_file_system_info', { group_id: groupId }, options); + } + + checkUrlSafely(options?: RequestOptions) { + return this.call('check_url_safely', {}, options); + } + + downloadFile(params: DownloadFileParams, options?: RequestOptions) { + return this.call('download_file', params, options); + } + + setQqProfile( + params: { nickname?: string; personalNote?: string; sex?: number }, + options?: RequestOptions, + ) { + return this.call( + 'set_qq_profile', + { + nickname: params.nickname, + personal_note: params.personalNote, + ...(params.sex !== undefined ? { sex: params.sex } : {}), + }, + options, + ); + } + + setOnlineStatus( + status: number, + params: RequestOptions & { extStatus?: number; batteryStatus?: number } = {}, + ) { + return this.call( + 'set_online_status', + { + status, + ext_status: params.extStatus, + battery_status: params.batteryStatus, + }, + params, + ); + } + + getClientKey(options?: RequestOptions) { + return this.call('get_clientkey', {}, options); + } + + getGroupInfoEx(groupId: number, options?: RequestOptions & { noCache?: boolean }) { + return this.call( + 'get_group_info_ex', + { + group_id: groupId, + no_cache: options?.noCache, + }, + options, + ); + } + + getGroupDetailInfo(groupId: number, options?: RequestOptions & { noCache?: boolean }) { + return this.call( + 'get_group_detail_info', + { + group_id: groupId, + no_cache: options?.noCache, + }, + options, + ); + } + + /** Calls any registered SnowLuma action and returns the response data. */ + raw( + action: TAction, + params?: ActionParams, + options?: RequestOptions, + ) { + return this.call(action, params, options); + } + + /** Calls any registered SnowLuma action and preserves the full OneBot response envelope. */ + rawResponse( + action: TAction, + params?: ActionParams, + options?: RequestOptions, + ) { + return this.request(action, params, options); + } +} + +export function toJsonObject(value: JsonObject | undefined): JsonObject { + return value ?? {}; +} diff --git a/packages/sdk/src/client/file-streams.ts b/packages/sdk/src/client/file-streams.ts new file mode 100644 index 00000000..628c7d66 --- /dev/null +++ b/packages/sdk/src/client/file-streams.ts @@ -0,0 +1,329 @@ +import { SnowLumaParseError } from '../errors.js'; +import { raceWithAbort, throwIfAborted } from '../internal/abort.js'; +import { readBytes } from '../internal/streaming.js'; +import type { + DownloadFileStreamComplete, + DownloadFileStreamInfo, + DownloadFileStreamOptions, + DownloadFileStreamParams, + UploadFileSource, + UploadFileStreamComplete, + UploadFileStreamOptions, + UploadFileStreamParams, + UploadFileStreamResult, +} from '../types/index.js'; +import type { SnowLumaApiClient } from './api-client.js'; + +function encodeBase64(bytes: Uint8Array): string { + const parts: string[] = []; + + for (let i = 0; i < bytes.length; i += 0x8000) { + parts.push(String.fromCharCode(...bytes.subarray(i, i + 0x8000))); + } + + return btoa(parts.join('')); +} + +function decodeBase64(value: string): Uint8Array { + try { + const binary = atob(value); + + if (btoa(binary) !== value) { + throw new Error('non-canonical base64'); + } + + return Uint8Array.from(binary, (char) => char.charCodeAt(0)); + } catch (cause) { + throw new SnowLumaParseError('Invalid base64 in download chunk', { cause }); + } +} + +function isSize(value: unknown): value is number { + return typeof value === 'number' && Number.isSafeInteger(value) && value >= 0; +} + +async function* sourceBytes( + source: UploadFileSource, + signal?: AbortSignal, +): AsyncGenerator { + throwIfAborted(signal); + + if (source instanceof Uint8Array) { + yield source; + return; + } + + if (source instanceof Blob) { + yield* readBytes(source.stream(), signal); + return; + } + + if ('getReader' in source) { + yield* readBytes(source, signal); + return; + } + + const iterator = source[Symbol.asyncIterator](); + let ended = false; + + try { + while (true) { + throwIfAborted(signal); + const next = await raceWithAbort(iterator.next(), signal); + + if (next.done) { + ended = true; + return; + } + + yield next.value; + } + } finally { + if (!ended) { + await iterator.return?.(); + } + } +} + +async function* uploadChunks( + source: UploadFileSource, + fileSize: number, + chunkSize: number, + signal?: AbortSignal, +): AsyncGenerator { + let buffer = new Uint8Array(Math.min(chunkSize, fileSize)); + let used = 0; + let received = 0; + + for await (const bytes of sourceBytes(source, signal)) { + if (!(bytes instanceof Uint8Array)) { + throw new TypeError('Upload source must yield Uint8Array chunks'); + } + + received += bytes.byteLength; + + if (received > fileSize) { + throw new RangeError('Upload source is longer than fileSize'); + } + + for (let offset = 0; offset < bytes.length;) { + const count = Math.min(buffer.length - used, bytes.length - offset); + buffer.set(bytes.subarray(offset, offset + count), used); + used += count; + offset += count; + + if (used === buffer.length) { + yield buffer; + buffer = new Uint8Array(chunkSize); + used = 0; + } + } + } + + if (received !== fileSize) { + throw new RangeError('Upload source is shorter than fileSize'); + } + + if (used > 0 || fileSize === 0) { + yield buffer.subarray(0, used); + } +} + +async function uploadResponse( + client: SnowLumaApiClient, + params: UploadFileStreamParams, + options: UploadFileStreamOptions, +): Promise { + let result: UploadFileStreamResult | undefined; + + for await (const frame of client.stream('upload_file_stream', params, options)) { + if (result !== undefined) { + throw new SnowLumaParseError('Upload request returned multiple acknowledgements'); + } + + result = frame; + } + + if (!result) { + throw new SnowLumaParseError('Upload request returned no acknowledgement'); + } + + return result; +} + +export async function uploadFileStream( + client: SnowLumaApiClient, + source: UploadFileSource, + options: UploadFileStreamOptions = {}, +): Promise { + throwIfAborted(options.signal); + const knownSize = + source instanceof Uint8Array + ? source.byteLength + : source instanceof Blob + ? source.size + : undefined; + const fileSize = options.fileSize ?? knownSize; + const chunkSize = options.chunkSize ?? 64 * 1024; + const streamId = options.streamId ?? globalThis.crypto.randomUUID(); + + if (!isSize(fileSize)) { + throw new RangeError('fileSize must be a non-negative safe integer for streaming sources'); + } + + if (knownSize !== undefined && knownSize !== fileSize) { + throw new RangeError('fileSize does not match the upload source'); + } + + if (!Number.isSafeInteger(chunkSize) || chunkSize < 1 || chunkSize > 1024 * 1024) { + throw new RangeError('chunkSize must be an integer between 1 and 1048576'); + } + + if (!/^[A-Za-z0-9_-]{1,128}$/.test(streamId)) { + throw new TypeError('streamId must contain 1–128 letters, digits, underscores or hyphens'); + } + + const totalChunks = Math.max(1, Math.ceil(fileSize / chunkSize)); + let uploadedChunks = 0; + let uploadedBytes = 0; + + for await (const bytes of uploadChunks(source, fileSize, chunkSize, options.signal)) { + throwIfAborted(options.signal); + const response = await uploadResponse( + client, + { + stream_id: streamId, + total_chunks: totalChunks, + file_size: fileSize, + filename: options.filename, + expected_sha256: options.expectedSha256, + file_retention: options.fileRetention, + chunk_index: uploadedChunks, + chunk_data: encodeBase64(bytes), + }, + options, + ); + uploadedChunks++; + uploadedBytes += bytes.byteLength; + + if ( + response.type !== 'stream' || + response.status !== 'chunk_received' || + response.stream_id !== streamId || + response.total_chunks !== totalChunks || + response.received_chunks !== uploadedChunks + ) { + throw new SnowLumaParseError('Upload acknowledgement does not match the sent chunk'); + } + + await options.onProgress?.({ + streamId, + uploadedBytes, + fileSize, + uploadedChunks, + totalChunks, + }); + } + + throwIfAborted(options.signal); + // A chunk request returns early in the server handler. Finalization must + // be a separate request, after the source has ended and every ACK arrived. + const result = await uploadResponse( + client, + { stream_id: streamId, is_complete: true }, + options, + ); + + if ( + result.type !== 'response' || + result.status !== 'file_complete' || + result.stream_id !== streamId || + result.received_chunks !== totalChunks || + result.total_chunks !== totalChunks || + result.file_size !== fileSize || + typeof result.file_path !== 'string' || + !result.file_path || + typeof result.file_name !== 'string' || + typeof result.sha256 !== 'string' || + !/^[a-f0-9]{64}$/i.test(result.sha256) || + (options.expectedSha256 !== undefined && + result.sha256.toLowerCase() !== options.expectedSha256.toLowerCase()) + ) { + throw new SnowLumaParseError('Invalid upload completion metadata'); + } + + return result; +} + +export async function* downloadFileStream( + client: SnowLumaApiClient, + params: DownloadFileStreamParams, + options: DownloadFileStreamOptions = {}, +): AsyncGenerator { + let info: DownloadFileStreamInfo | undefined; + let chunks = 0; + let bytes = 0; + + for await (const frame of client.stream( + options.action ?? 'download_file_stream', + params, + options, + )) { + throwIfAborted(options.signal); + + if (frame.type === 'stream' && frame.data_type === 'file_info') { + if ( + info || + typeof frame.file_name !== 'string' || + !isSize(frame.file_size) || + !isSize(frame.chunk_size) || + frame.chunk_size === 0 + ) { + throw new SnowLumaParseError('Invalid or duplicate download file info'); + } + + info = frame; + await options.onInfo?.(info); + } else if (frame.type === 'stream' && frame.data_type === 'file_chunk') { + if ( + !info || + frame.index !== chunks || + typeof frame.data !== 'string' || + frame.base64_size !== frame.data.length || + typeof frame.progress !== 'number' || + !Number.isFinite(frame.progress) || + frame.progress < 0 || + frame.progress > 100 + ) { + throw new SnowLumaParseError('Invalid or out-of-order download chunk'); + } + + const data = decodeBase64(frame.data); + bytes += data.byteLength; + chunks++; + + if (frame.size !== data.byteLength || (info.file_size > 0 && bytes > info.file_size)) { + throw new SnowLumaParseError('Download chunk size does not match its metadata'); + } + + yield data; + } else if (frame.type === 'response' && frame.data_type === 'file_complete') { + if ( + !info || + frame.file_name !== info.file_name || + frame.total_chunks !== chunks || + frame.total_bytes !== bytes || + (info.file_size > 0 && info.file_size !== bytes) || + typeof frame.message !== 'string' + ) { + throw new SnowLumaParseError('Download completion does not match received bytes'); + } + + return frame; + } else { + throw new SnowLumaParseError('Unexpected download frame'); + } + } + + throw new SnowLumaParseError('Download ended before file completion'); +} diff --git a/packages/sdk/src/client/http-client.ts b/packages/sdk/src/client/http-client.ts new file mode 100644 index 00000000..4ba68a73 --- /dev/null +++ b/packages/sdk/src/client/http-client.ts @@ -0,0 +1,189 @@ +import { + SnowLumaAbortError, + SnowLumaConnectionError, + SnowLumaParseError, + SnowLumaTimeoutError, + SnowLumaTransportError, +} from '../errors.js'; +import { SnowLumaApiClient, toJsonObject } from './api-client.js'; +import { createRequestAbortState, isAbortError, throwIfAborted } from '../internal/abort.js'; +import { assertApiResponse } from '../internal/json.js'; +import { isStreamTerminal, readHttpFrames, streamLimits } from '../internal/streaming.js'; +import type { + ActionParams, + ActionResult, + ApiResponse, + JsonObject, + RequestOptions, + SnowLumaAction, + SnowLumaClientOptions, + SnowLumaStreamAction, + StreamApiResponse, + StreamRequestOptions, +} from '../types/index.js'; + +/** Options for the HTTP transport client. */ +export interface SnowLumaHttpClientOptions extends SnowLumaClientOptions { + /** OneBot HTTP endpoint. Defaults to http://127.0.0.1:3000/. */ + baseUrl?: string; + /** Custom fetch implementation for tests or non-standard runtimes. */ + fetch?: typeof fetch; + /** Extra headers sent with every request. Authorization is managed by accessToken. */ + headers?: Record; +} + +/** OneBot HTTP client for SnowLuma. */ +export class SnowLumaHttpClient extends SnowLumaApiClient { + readonly baseUrl: string; + readonly accessToken?: string; + readonly requestTimeoutMs: number; + + private readonly fetchImpl: typeof fetch; + private readonly headers: Record; + + constructor(options: SnowLumaHttpClientOptions = {}) { + super(); + this.baseUrl = options.baseUrl ?? 'http://127.0.0.1:3000/'; + this.accessToken = options.accessToken; + this.requestTimeoutMs = options.requestTimeoutMs ?? 30_000; + this.fetchImpl = options.fetch ?? globalThis.fetch; + this.headers = options.headers ?? {}; + + if (!this.fetchImpl) { + throw new SnowLumaConnectionError('No fetch implementation is available'); + } + } + + /** Sends one OneBot action over HTTP and returns the raw response envelope. */ + override async request( + action: TAction, + params?: ActionParams, + options?: RequestOptions, + ): Promise>> { + const timeoutMs = options?.timeoutMs ?? this.requestTimeoutMs; + const abort = createRequestAbortState(timeoutMs, options?.signal); + + try { + const response = await this.fetchImpl(this.baseUrl, { + method: 'POST', + headers: this.createHeaders(), + body: JSON.stringify({ + action, + params: toJsonObject(params as JsonObject | undefined), + echo: options?.echo, + }), + signal: abort.signal, + }); + + const text = await response.text(); + let parsed: unknown; + + try { + parsed = text ? JSON.parse(text) : null; + } catch (error) { + throw new SnowLumaParseError(`SnowLuma returned non-JSON HTTP ${response.status}`, { + cause: error, + }); + } + + const apiResponse = assertApiResponse(parsed) as ApiResponse>; + return apiResponse; + } catch (error) { + if (error instanceof SnowLumaTransportError) { + throw error; + } + + if (isAbortError(error) || abort.signal.aborted) { + if (abort.isTimedOut()) { + throw new SnowLumaTimeoutError( + `SnowLuma request timed out after ${timeoutMs}ms`, + timeoutMs, + { cause: error }, + ); + } + + if (abort.isExternallyAborted()) { + throw new SnowLumaAbortError('SnowLuma request aborted', { cause: error }); + } + } + + throw new SnowLumaConnectionError('SnowLuma HTTP request failed', { cause: error }); + } finally { + abort.cleanup(); + } + } + + override async *requestStream( + action: TAction, + params: ActionParams, + options?: StreamRequestOptions, + ): AsyncGenerator>, void, void> { + const { maxBufferBytes } = streamLimits(options); + const timeoutMs = options?.timeoutMs ?? this.requestTimeoutMs; + const abort = createRequestAbortState(timeoutMs, options?.signal); + + try { + throwIfAborted(abort.signal); + const response = await this.fetchImpl(this.baseUrl, { + method: 'POST', + headers: this.createHeaders(), + body: JSON.stringify({ action, params, echo: options?.echo }), + signal: abort.signal, + }); + + if (!response.body) { + throw new SnowLumaParseError('SnowLuma HTTP stream has no response body'); + } + + for await (const frame of readHttpFrames(response.body, maxBufferBytes, abort.signal)) { + throwIfAborted(abort.signal); + const terminal = isStreamTerminal(action, frame); + yield frame as StreamApiResponse>; + + if (terminal) { + return; + } + } + + throw new SnowLumaParseError('SnowLuma HTTP stream ended before its terminal frame'); + } catch (error) { + if (abort.isTimedOut()) { + throw new SnowLumaTimeoutError( + `SnowLuma stream timed out after ${timeoutMs}ms`, + timeoutMs, + { cause: error }, + ); + } + + if (abort.isExternallyAborted()) { + throw new SnowLumaAbortError('SnowLuma stream aborted', { cause: error }); + } + + if (error instanceof SnowLumaTransportError) { + throw error; + } + + throw new SnowLumaConnectionError('SnowLuma HTTP stream failed', { cause: error }); + } finally { + abort.cleanup(); + } + } + + private createHeaders(): Record { + const headers: Record = { + 'Content-Type': 'application/json', + Accept: 'application/json', + ...this.headers, + }; + + if (this.accessToken) { + headers.Authorization = `Bearer ${this.accessToken}`; + } + + return headers; + } +} + +export function createHttpClient(options?: SnowLumaHttpClientOptions): SnowLumaHttpClient { + return new SnowLumaHttpClient(options); +} diff --git a/packages/sdk/src/client/index.ts b/packages/sdk/src/client/index.ts new file mode 100644 index 00000000..2b54ae57 --- /dev/null +++ b/packages/sdk/src/client/index.ts @@ -0,0 +1,13 @@ +export { SnowLumaApiClient } from './api-client.js'; +export { SnowLumaHttpClient, createHttpClient } from './http-client.js'; +export { SnowLumaWebSocketClient, createWebSocketClient } from './websocket-client.js'; + +export type { SnowLumaHttpClientOptions } from './http-client.js'; +export type { + EventWaitOptions, + ReconnectOptions, + SnowLumaWebSocketClientOptions, + SnowLumaWebSocketEvents, + WebSocketCloseInfo, + WebSocketConstructor, +} from './websocket-client.js'; diff --git a/packages/sdk/src/client/media.ts b/packages/sdk/src/client/media.ts new file mode 100644 index 00000000..008df1c3 --- /dev/null +++ b/packages/sdk/src/client/media.ts @@ -0,0 +1,48 @@ +import { SnowLumaMediaSendError } from '../errors.js'; +import { throwIfAborted } from '../internal/abort.js'; +import type { + MediaSource, + UploadFileStreamComplete, + UploadFileStreamOptions, +} from '../types/index.js'; +import type { SnowLumaApiClient } from './api-client.js'; + +/** Upload and send are separate operations; never retry a possibly completed send. */ +export async function sendUploadedMedia( + client: SnowLumaApiClient, + input: MediaSource, + options: UploadFileStreamOptions, + send: (upload: UploadFileStreamComplete) => Promise, +): Promise { + let upload: UploadFileStreamComplete; + + try { + throwIfAborted(options.signal); + + if (typeof input !== 'object' || input === null) { + throw new TypeError('Media source must contain bytes; use localFile() for local paths'); + } + + const source = 'source' in input ? input.source : input; + const filename = + 'source' in input + ? input.filename + : source instanceof Blob && 'name' in source && typeof source.name === 'string' + ? source.name + : undefined; + upload = await client.uploadFileStream(source, { + ...options, + filename: options.filename ?? filename, + }); + } catch (cause) { + throw new SnowLumaMediaSendError('upload', cause); + } + + try { + // Cancellation can arrive with the final upload ACK, before dispatching the send. + throwIfAborted(options.signal); + return await send(upload); + } catch (cause) { + throw new SnowLumaMediaSendError('send', cause, upload); + } +} diff --git a/packages/sdk/src/client/websocket-client.ts b/packages/sdk/src/client/websocket-client.ts new file mode 100644 index 00000000..08bab75d --- /dev/null +++ b/packages/sdk/src/client/websocket-client.ts @@ -0,0 +1,863 @@ +import { + SnowLumaAbortError, + SnowLumaConnectionError, + SnowLumaParseError, + SnowLumaTimeoutError, +} from '../errors.js'; +import { Emitter } from '../emitter.js'; +import { + createEventContext, + isBotStatusEvent, + isGroupMessageEvent, + isMessageEvent, + isMetaEvent, + isNoticeEvent, + isPrivateMessageEvent, + isRequestEvent, + matchCommand, + noticeType, + requestType, + type CommandHandler as BaseCommandHandler, + type CommandOptions, + type EventHandler as BaseEventHandler, + type EventMiddleware as BaseEventMiddleware, + type EventPredicate, + type SnowLumaEventContextWithQuote, +} from '../events/index.js'; +import { SnowLumaApiClient, toJsonObject } from './api-client.js'; +import { createRequestAbortState, raceWithAbort, throwIfAborted } from '../internal/abort.js'; +import { + isStreamTerminal, + parseStreamResponse, + StreamQueue, + streamLimits, +} from '../internal/streaming.js'; +import { + appendAccessToken, + assertApiResponse, + createEcho, + echoKey, + isJsonObject, +} from '../internal/json.js'; +import { + addSocketListener, + closeInfo, + normalizeReconnect, + rawToString, + unwrapEventPayload, + unwrapMessagePayload, + WEBSOCKET_CLOSED, + WEBSOCKET_OPEN, +} from './websocket-utils.js'; +import type { + ActionParams, + ActionResult, + ApiResponse, + JsonObject, + JsonValue, + OneBotBotStatusEvent, + OneBotMessageEvent, + OneBotMetaEvent, + OneBotNoticeEvent, + OneBotRequestEvent, + RequestOptions, + SnowLumaAction, + SnowLumaEvent, + SnowLumaStreamAction, + StreamApiResponse, + StreamRequestOptions, + WsRole, +} from '../types/index.js'; +import type { + EventWaitOptions, + ReconnectOptions, + SnowLumaWebSocketClientOptions, + SnowLumaWebSocketEvents, + WebSocketConstructor, + WebSocketLike, +} from './websocket-types.js'; + +export type { + EventWaitOptions, + ReconnectOptions, + SnowLumaWebSocketClientOptions, + SnowLumaWebSocketEvents, + WebSocketCloseInfo, + WebSocketConstructor, +} from './websocket-types.js'; + +interface SocketConnection { + socket: WebSocketLike; + opened: Promise; + dispose(error: Error): void; +} + +interface PendingRequest { + stream?: boolean; + resolve(response: ApiResponse, bytes: number): void; + reject(error: Error): void; +} + +type EventHandler = BaseEventHandler< + TEvent, + SnowLumaEventContextWithQuote +>; +type EventMiddleware = BaseEventMiddleware; +type CommandHandler = BaseCommandHandler< + OneBotMessageEvent, + SnowLumaEventContextWithQuote +>; + +/** OneBot WebSocket client for SnowLuma APIs and realtime events. */ +export class SnowLumaWebSocketClient extends SnowLumaApiClient { + readonly url: string; + readonly accessToken?: string; + readonly requestTimeoutMs: number; + readonly role: WsRole; + + private readonly protocols?: string | string[]; + private readonly WebSocketCtor: WebSocketConstructor; + private readonly reconnect: ReconnectOptions | null; + private readonly emitter = new Emitter(); + private readonly pending = new Map(); + private readonly eventWaits = new Set<(error: Error) => void>(); + private readonly middlewares: EventMiddleware[] = []; + private connection: SocketConnection | null = null; + private reconnectTimer: ReturnType | null = null; + private reconnectAttempts = 0; + private closedByUser = false; + + constructor(options: SnowLumaWebSocketClientOptions = {}) { + super(); + this.url = options.url ?? 'ws://127.0.0.1:3001/'; + this.accessToken = options.accessToken; + this.requestTimeoutMs = options.requestTimeoutMs ?? 30_000; + this.role = options.role ?? 'Universal'; + this.protocols = options.protocols; + this.WebSocketCtor = + options.webSocket ?? (globalThis.WebSocket as unknown as WebSocketConstructor); + this.reconnect = normalizeReconnect(options.reconnect); + + if (!this.WebSocketCtor) { + throw new SnowLumaConnectionError('No WebSocket implementation is available'); + } + } + + /** True when the underlying WebSocket is currently open. */ + get isConnected(): boolean { + return this.connection?.socket.readyState === WEBSOCKET_OPEN; + } + + /** Subscribes to low-level client events. Returns an unsubscribe function. */ + on( + event: TKey, + listener: (payload: SnowLumaWebSocketEvents[TKey]) => void, + ): () => void { + return this.emitter.on(event, listener); + } + + /** Subscribes to one low-level client event, then automatically unsubscribes. */ + once( + event: TKey, + listener: (payload: SnowLumaWebSocketEvents[TKey]) => void, + ): () => void { + return this.emitter.once(event, listener); + } + + /** Removes a previously registered low-level client event listener. */ + off( + event: TKey, + listener: (payload: SnowLumaWebSocketEvents[TKey]) => void, + ): void { + this.emitter.off(event, listener); + } + + /** Subscribes to every SnowLuma event packet. */ + onEvent(listener: (event: SnowLumaEvent) => void): () => void { + return this.on('event', listener); + } + + /** Waits for a future public event after middleware, without connecting or replaying events. */ + waitForEvent( + predicate: EventPredicate, + options?: EventWaitOptions, + ): Promise; + waitForEvent( + predicate: ((event: SnowLumaEvent) => boolean) | undefined, + options?: EventWaitOptions, + ): Promise; + waitForEvent(options?: EventWaitOptions): Promise; + waitForEvent( + predicateOrOptions?: ((event: SnowLumaEvent) => boolean) | EventWaitOptions, + requestedOptions?: EventWaitOptions, + ): Promise { + const predicate = typeof predicateOrOptions === 'function' ? predicateOrOptions : undefined; + const options = + typeof predicateOrOptions === 'function' + ? requestedOptions + : (predicateOrOptions ?? requestedOptions); + const timeoutMs = options?.timeoutMs ?? this.requestTimeoutMs; + + return new Promise((resolve, reject) => { + throwIfAborted(options?.signal, 'SnowLuma event wait aborted'); + + if (!Number.isFinite(timeoutMs) || timeoutMs < 0 || timeoutMs > 2_147_483_647) { + throw new RangeError('Event wait timeoutMs must be between 0 and 2147483647'); + } + + let settled = false; + let timer: ReturnType | undefined; + + const cleanup = (): void => { + off(); + this.eventWaits.delete(fail); + clearTimeout(timer); + options?.signal?.removeEventListener('abort', onAbort); + }; + + const fail = (error: unknown): void => { + if (settled) { + return; + } + + settled = true; + cleanup(); + reject(error); + }; + + const onAbort = (): void => { + fail( + new SnowLumaAbortError('SnowLuma event wait aborted', { + cause: options?.signal?.reason, + }), + ); + }; + + const off = this.onEvent((event) => { + if (settled) { + return; + } + + try { + const matched = predicate ? predicate(event) : true; + + if (typeof matched !== 'boolean') { + throw new TypeError( + 'Event wait predicates must return a boolean synchronously', + ); + } + + if (matched && !settled) { + settled = true; + cleanup(); + resolve(event); + } + } catch (error) { + fail(error); + } + }); + + this.eventWaits.add(fail); + options?.signal?.addEventListener('abort', onAbort, { once: true }); + + if (timeoutMs > 0) { + timer = setTimeout(() => { + fail( + new SnowLumaTimeoutError( + `SnowLuma event wait timed out after ${timeoutMs}ms`, + timeoutMs, + ), + ); + }, timeoutMs); + } + }); + } + + /** Waits for a future message or message_sent event that passes the optional predicate. */ + waitForMessage( + predicate: (event: OneBotMessageEvent) => event is TEvent, + options?: EventWaitOptions, + ): Promise; + waitForMessage( + predicate: ((event: OneBotMessageEvent) => boolean) | undefined, + options?: EventWaitOptions, + ): Promise; + waitForMessage(options?: EventWaitOptions): Promise; + waitForMessage( + predicateOrOptions?: ((event: OneBotMessageEvent) => boolean) | EventWaitOptions, + requestedOptions?: EventWaitOptions, + ): Promise { + const predicate = typeof predicateOrOptions === 'function' ? predicateOrOptions : undefined; + const options = + typeof predicateOrOptions === 'function' + ? requestedOptions + : (predicateOrOptions ?? requestedOptions); + + return this.waitForEvent( + (event): event is OneBotMessageEvent => + isMessageEvent(event) && (predicate ? predicate(event) : true), + options, + ); + } + + /** Adds event middleware to the dispatch pipeline. */ + use(middleware: EventMiddleware): () => void { + this.middlewares.push(middleware); + + return () => { + const index = this.middlewares.indexOf(middleware); + + if (index >= 0) { + this.middlewares.splice(index, 1); + } + }; + } + + /** Runs a handler when a type guard or predicate matches an event. */ + when( + predicate: EventPredicate, + handler: EventHandler, + ): () => void { + return this.use(async (event, context, next) => { + if (predicate(event)) { + await handler(event, context as never); + } + + if (!context.stopped) { + await next(); + } + }); + } + + onMessage(handler: EventHandler): () => void { + return this.when(isMessageEvent, handler); + } + + onPrivateMessage( + handler: EventHandler>, + ): () => void { + return this.when(isPrivateMessageEvent, handler); + } + + onGroupMessage( + handler: EventHandler>, + ): () => void { + return this.when(isGroupMessageEvent, handler); + } + + onNotice(handler: EventHandler): () => void; + onNotice(type: string, handler: EventHandler): () => void; + onNotice( + typeOrHandler: string | EventHandler, + handler?: EventHandler, + ): () => void { + if (typeof typeOrHandler === 'string') { + if (!handler) { + throw new TypeError('onNotice(type, handler) requires a handler'); + } + + return this.when(noticeType(typeOrHandler), handler); + } + + return this.when(isNoticeEvent, typeOrHandler); + } + + onBotStatus(handler: EventHandler): () => void { + return this.when(isBotStatusEvent, handler); + } + + onRequest(handler: EventHandler): () => void; + onRequest(type: string, handler: EventHandler): () => void; + onRequest( + typeOrHandler: string | EventHandler, + handler?: EventHandler, + ): () => void { + if (typeof typeOrHandler === 'string') { + if (!handler) { + throw new TypeError('onRequest(type, handler) requires a handler'); + } + + return this.when(requestType(typeOrHandler), handler); + } + + return this.when(isRequestEvent, typeOrHandler); + } + + onMetaEvent(handler: EventHandler): () => void { + return this.when(isMetaEvent, handler); + } + + command( + command: string | RegExp, + handler: CommandHandler, + options?: CommandOptions, + ): () => void { + return this.onMessage(async (event, context) => { + const matched = matchCommand(event, command, options); + + if (!matched) { + return; + } + + await handler(event, Object.assign(context, { command: matched }), matched); + }); + } + + /** Connects to SnowLuma's OneBot WebSocket endpoint. */ + async connect(): Promise { + if (this.connection) { + return this.connection.opened; + } + + this.closedByUser = false; + const socket = new this.WebSocketCtor( + appendAccessToken(this.url, this.accessToken), + this.protocols, + ); + return this.attachSocket(socket); + } + + /** Shared protocol session for outgoing and already accepted connections. */ + protected attachSocket(socket: WebSocketLike): Promise { + if (this.connection) { + throw new SnowLumaConnectionError('A WebSocket is already attached'); + } + + this.closedByUser = false; + let resolveOpening!: () => void; + let rejectOpening!: (error: Error) => void; + const opened = new Promise((resolve, reject) => { + resolveOpening = resolve; + rejectOpening = reject; + }); + const listeners: (() => void)[] = []; + const connection: SocketConnection = { + socket, + opened, + dispose: (error) => { + listeners.forEach((off) => off()); + rejectOpening(error); + }, + }; + this.connection = connection; + + const openedSocket = (): void => { + if (this.connection !== connection) { + return; + } + + this.reconnectAttempts = 0; + resolveOpening(); + this.emitter.emit('open', undefined); + }; + + listeners.push( + addSocketListener(socket, 'open', openedSocket), + addSocketListener(socket, 'message', (...args) => { + if (this.connection === connection) { + this.handleMessage(args); + } + }), + addSocketListener(socket, 'error', (error) => { + if (this.connection === connection) { + this.emitter.emit('error', unwrapEventPayload(error)); + } + }), + addSocketListener(socket, 'close', (...args) => { + if (this.connection !== connection) { + return; + } + + this.connection = null; + connection.dispose(new SnowLumaConnectionError('SnowLuma WebSocket closed')); + this.handleClose(args); + }), + ); + + if (socket.readyState === WEBSOCKET_OPEN) { + openedSocket(); + } + + return opened; + } + + /** Closes the socket and rejects all pending API requests. */ + close(code = 1000, reason = 'normal'): void { + this.closedByUser = true; + + if (this.reconnectTimer) { + clearTimeout(this.reconnectTimer); + this.reconnectTimer = null; + } + + const error = new SnowLumaConnectionError('SnowLuma WebSocket client closed'); + const connection = this.connection; + this.connection = null; + connection?.dispose(error); + this.rejectPending(error); + this.rejectEventWaits(error); + + if (connection && connection.socket.readyState !== WEBSOCKET_CLOSED) { + const off = addSocketListener(connection.socket, 'close', (...args) => { + off(); + this.emitter.emit('close', closeInfo(args)); + }); + connection.socket.close(code, reason); + } + } + + /** Sends one OneBot action over WebSocket and returns the raw response envelope. */ + override async request( + action: TAction, + params?: ActionParams, + options?: RequestOptions, + ): Promise>> { + const timeoutMs = options?.timeoutMs ?? this.requestTimeoutMs; + const abort = createRequestAbortState(timeoutMs, options?.signal); + + try { + throwIfAborted(abort.signal); + await raceWithAbort( + this.connect(), + abort.signal, + 'SnowLuma WebSocket request aborted before connection opened', + ); + throwIfAborted(abort.signal); + + const socket = this.connection?.socket; + + if (!socket || socket.readyState !== WEBSOCKET_OPEN) { + throw new SnowLumaConnectionError('SnowLuma WebSocket is not open'); + } + + const echo = options?.echo ?? createEcho(); + const key = echoKey(echo); + + if (this.pending.has(key)) { + throw new SnowLumaConnectionError( + 'A WebSocket request with this echo is already pending', + ); + } + + return await new Promise>>((resolve, reject) => { + const cleanup = (): void => { + if (this.pending.get(key) === pending) { + this.pending.delete(key); + } + + abort.signal.removeEventListener('abort', abortListener); + abort.cleanup(); + }; + + const pending: PendingRequest = { + resolve: (response) => { + cleanup(); + resolve(response as ApiResponse>); + }, + reject: (error) => { + cleanup(); + reject(error); + }, + }; + + const abortListener = (): void => { + pending.reject( + new SnowLumaAbortError('SnowLuma WebSocket request aborted', { + cause: abort.signal.reason, + }), + ); + }; + + this.pending.set(key, pending); + abort.signal.addEventListener('abort', abortListener, { once: true }); + + try { + socket.send( + JSON.stringify({ + action, + params: toJsonObject(params as JsonObject | undefined), + echo, + }), + ); + } catch (error) { + pending.reject( + new SnowLumaConnectionError('Failed to send SnowLuma WebSocket request', { + cause: error, + }), + ); + } + }); + } catch (error) { + if (abort.isTimedOut()) { + throw new SnowLumaTimeoutError( + `SnowLuma WebSocket request timed out after ${timeoutMs}ms`, + timeoutMs, + { cause: error }, + ); + } + + throw error; + } finally { + abort.cleanup(); + } + } + + override async *requestStream( + action: TAction, + params: ActionParams, + options?: StreamRequestOptions, + ): AsyncGenerator>, void, void> { + const queue = new StreamQueue>>( + streamLimits(options), + ); + const timeoutMs = options?.timeoutMs ?? this.requestTimeoutMs; + const abort = createRequestAbortState(timeoutMs, options?.signal); + const echo = options?.echo ?? createEcho(); + const key = echoKey(echo); + + const cleanup = (): void => { + // A completed stream can still be drained while a new request uses + // this echo. Its iterator cleanup must not remove the new request. + if (this.pending.get(key) === pending) { + this.pending.delete(key); + } + + abort.signal.removeEventListener('abort', onAbort); + abort.cleanup(); + }; + + const pending: PendingRequest = { + stream: true, + resolve: (response, bytes) => { + try { + queue.push(response as StreamApiResponse>, bytes); + + if (isStreamTerminal(action, response)) { + queue.finish(); + cleanup(); + } + } catch (error) { + pending.reject( + error instanceof Error ? error : new SnowLumaConnectionError(String(error)), + ); + } + }, + reject: (error) => { + queue.fail(error); + cleanup(); + }, + }; + + const onAbort = (): void => { + pending.reject( + abort.isTimedOut() + ? new SnowLumaTimeoutError( + `SnowLuma stream timed out after ${timeoutMs}ms`, + timeoutMs, + ) + : new SnowLumaAbortError('SnowLuma stream aborted', { + cause: options?.signal?.reason, + }), + ); + }; + + try { + throwIfAborted(abort.signal); + await raceWithAbort(this.connect(), abort.signal); + throwIfAborted(abort.signal); + const socket = this.connection?.socket; + + if (!socket || socket.readyState !== WEBSOCKET_OPEN) { + throw new SnowLumaConnectionError('SnowLuma WebSocket is not open'); + } + + if (this.pending.has(key)) { + throw new SnowLumaConnectionError( + 'A WebSocket request with this echo is already pending', + ); + } + + this.pending.set(key, pending); + abort.signal.addEventListener('abort', onAbort, { once: true }); + + try { + socket.send(JSON.stringify({ action, params, echo })); + } catch (cause) { + throw new SnowLumaConnectionError('Failed to send SnowLuma WebSocket stream', { + cause, + }); + } + + while (true) { + throwIfAborted(options?.signal); + const next = await queue.next(); + + if (next.done) { + return; + } + + yield next.value; + } + } catch (error) { + if (abort.isTimedOut() && !(error instanceof SnowLumaTimeoutError)) { + throw new SnowLumaTimeoutError( + `SnowLuma stream timed out after ${timeoutMs}ms`, + timeoutMs, + { cause: error }, + ); + } + + throw error; + } finally { + cleanup(); + } + } + + private handleMessage(args: unknown[]): void { + const raw = unwrapMessagePayload(args[0]); + this.emitter.emit('raw', raw); + + let parsed: unknown; + let text: string; + + try { + text = rawToString(raw); + parsed = JSON.parse(text); + } catch (error) { + const failure = new SnowLumaParseError('SnowLuma WebSocket returned non-JSON message', { + cause: error, + }); + + // Without a readable echo, a lost stream frame cannot be attributed + // safely. Fail active streams instead of reporting partial success. + for (const pending of this.pending.values()) { + if (pending.stream) { + pending.reject(failure); + } + } + + this.emitter.emit('error', failure); + return; + } + + if (isJsonObject(parsed) && parsed.echo !== undefined) { + const key = echoKey(parsed.echo as JsonValue); + const pending = this.pending.get(key); + + if (pending) { + let response: ApiResponse; + + try { + response = pending.stream + ? parseStreamResponse(parsed) + : assertApiResponse(parsed); + } catch (error) { + pending.reject( + new SnowLumaParseError('SnowLuma WebSocket response is invalid', { + cause: error, + }), + ); + return; + } + + pending.resolve( + response, + pending.stream ? new TextEncoder().encode(text).byteLength : 0, + ); + this.emitter.emit('response', response); + return; + } + } + + if (isJsonObject(parsed) && typeof parsed.post_type === 'string') { + void this.dispatchEvent(parsed as SnowLumaEvent).catch((error) => { + this.emitter.emit('error', error); + }); + } + } + + private async dispatchEvent(event: SnowLumaEvent): Promise { + const context = createEventContext(event, this); + let index = -1; + + const next = async (): Promise => { + index += 1; + const middleware = this.middlewares[index]; + + if (!middleware || context.stopped) { + return; + } + + await middleware(event, context, next); + }; + + await next(); + + if (!context.stopped && index >= this.middlewares.length - 1) { + this.emitter.emit('event', event); + } + } + + private handleClose(args: unknown[]): void { + const info = closeInfo(args); + const error = new SnowLumaConnectionError('SnowLuma WebSocket closed'); + this.rejectPending(error); + this.rejectEventWaits(error); + this.emitter.emit('close', info); + + if (!this.closedByUser && this.reconnect) { + this.scheduleReconnect(); + } + } + + private scheduleReconnect(): void { + if (this.reconnectTimer) { + return; + } + + const reconnect = this.reconnect; + + if (!reconnect) { + return; + } + + const retries = reconnect.retries ?? Number.POSITIVE_INFINITY; + + if (this.reconnectAttempts >= retries) { + return; + } + + const minDelay = reconnect.minDelayMs ?? 1000; + const maxDelay = reconnect.maxDelayMs ?? 30_000; + const delay = Math.min(maxDelay, minDelay * 2 ** this.reconnectAttempts); + this.reconnectAttempts += 1; + this.reconnectTimer = setTimeout(() => { + this.reconnectTimer = null; + void this.connect().catch((error) => { + this.emitter.emit('error', error); + + if (!this.closedByUser) { + this.scheduleReconnect(); + } + }); + }, delay); + } + + private rejectPending(error: Error): void { + for (const pending of this.pending.values()) { + pending.reject(error); + } + } + + private rejectEventWaits(error: Error): void { + for (const fail of this.eventWaits) { + fail(error); + } + } +} + +export function createWebSocketClient( + options?: SnowLumaWebSocketClientOptions, +): SnowLumaWebSocketClient { + return new SnowLumaWebSocketClient(options); +} diff --git a/packages/sdk/src/client/websocket-types.ts b/packages/sdk/src/client/websocket-types.ts new file mode 100644 index 00000000..23fe6206 --- /dev/null +++ b/packages/sdk/src/client/websocket-types.ts @@ -0,0 +1,63 @@ +import type { ApiResponse, SnowLumaClientOptions, SnowLumaEvent, WsRole } from '../types/index.js'; + +export interface WebSocketLike { + readyState: number; + send(data: string): void; + close(code?: number, reason?: string): void; + addEventListener?: (event: string, listener: (...args: unknown[]) => void) => void; + removeEventListener?: (event: string, listener: (...args: unknown[]) => void) => void; + on?: (event: string, listener: (...args: unknown[]) => void) => void; + off?: (event: string, listener: (...args: unknown[]) => void) => void; + removeListener?: (event: string, listener: (...args: unknown[]) => void) => void; +} + +export type WebSocketConstructor = new ( + url: string, + protocols?: string | string[], +) => WebSocketLike; + +/** Reconnect policy for the WebSocket client. */ +export interface ReconnectOptions { + /** Maximum reconnect attempts. Omit for unlimited retries. */ + retries?: number; + /** Initial reconnect delay in milliseconds. Defaults to 1000. */ + minDelayMs?: number; + /** Maximum reconnect delay in milliseconds. Defaults to 30000. */ + maxDelayMs?: number; +} + +/** Options for the WebSocket transport client. */ +export interface SnowLumaWebSocketClientOptions extends SnowLumaClientOptions { + /** OneBot WebSocket endpoint. Defaults to ws://127.0.0.1:3001/. */ + url?: string; + /** OneBot WebSocket role advertised by the client. */ + role?: WsRole; + /** Optional WebSocket protocols argument. */ + protocols?: string | string[]; + /** Custom WebSocket constructor for Node runtimes or tests. */ + webSocket?: WebSocketConstructor; + /** Enables or configures automatic reconnect after unexpected close. */ + reconnect?: boolean | ReconnectOptions; +} + +/** Controls one wait for a future event, without opening a connection. */ +export interface EventWaitOptions { + /** Defaults to the client's requestTimeoutMs. Set to 0 to wait without a deadline. */ + timeoutMs?: number; + /** Cancels the wait without closing the connection. */ + signal?: AbortSignal; +} + +export interface WebSocketCloseInfo { + code?: number; + reason?: string; +} + +export interface SnowLumaWebSocketEvents { + open: undefined; + close: WebSocketCloseInfo; + error: unknown; + event: SnowLumaEvent; + response: ApiResponse; + raw: unknown; +} diff --git a/packages/sdk/src/client/websocket-utils.ts b/packages/sdk/src/client/websocket-utils.ts new file mode 100644 index 00000000..f9313823 --- /dev/null +++ b/packages/sdk/src/client/websocket-utils.ts @@ -0,0 +1,101 @@ +import { isJsonObject } from '../internal/json.js'; +import type { ReconnectOptions, WebSocketCloseInfo, WebSocketLike } from './websocket-types.js'; + +export const WEBSOCKET_OPEN = 1; +export const WEBSOCKET_CLOSED = 3; + +export function normalizeReconnect( + value: boolean | ReconnectOptions | undefined, +): ReconnectOptions | null { + if (!value) { + return null; + } + + if (value === true) { + return {}; + } + + return value; +} + +export function addSocketListener( + socket: WebSocketLike, + event: string, + listener: (...args: unknown[]) => void, +): () => void { + if (socket.addEventListener) { + socket.addEventListener(event, listener); + return () => socket.removeEventListener?.(event, listener); + } + + if (socket.on) { + socket.on(event, listener); + + return () => { + if (socket.off) { + socket.off(event, listener); + } else { + socket.removeListener?.(event, listener); + } + }; + } + + return () => undefined; +} + +export function unwrapMessagePayload(value: unknown): unknown { + if (isJsonObject(value) && 'data' in value) { + return value.data; + } + + return value; +} + +export function unwrapEventPayload(value: unknown): unknown { + if (isJsonObject(value) && 'error' in value) { + return value.error; + } + + return value; +} + +export function rawToString(value: unknown): string { + if (typeof value === 'string') { + return value; + } + + if (value instanceof ArrayBuffer || ArrayBuffer.isView(value)) { + return new TextDecoder().decode(value); + } + + if (value instanceof Blob) { + throw new Error('Blob WebSocket messages are not supported synchronously'); + } + + if ( + value && + typeof value === 'object' && + 'toString' in value && + typeof value.toString === 'function' + ) { + return value.toString(); + } + + return String(value); +} + +export function closeInfo(args: unknown[]): WebSocketCloseInfo { + const first = args[0]; + + if (isJsonObject(first)) { + return { + code: typeof first.code === 'number' ? first.code : undefined, + reason: typeof first.reason === 'string' ? first.reason : undefined, + }; + } + + return { + code: typeof args[0] === 'number' ? args[0] : undefined, + reason: typeof args[1] === 'string' ? args[1] : undefined, + }; +} diff --git a/packages/sdk/src/emitter.ts b/packages/sdk/src/emitter.ts new file mode 100644 index 00000000..3811f080 --- /dev/null +++ b/packages/sdk/src/emitter.ts @@ -0,0 +1,45 @@ +type Listener = (payload: TPayload) => void; + +export class Emitter { + private readonly listeners = new Map>>(); + + on(event: TKey, listener: Listener): () => void { + let set = this.listeners.get(event); + + if (!set) { + set = new Set(); + this.listeners.set(event, set); + } + + set.add(listener as Listener); + return () => this.off(event, listener); + } + + once(event: TKey, listener: Listener): () => void { + const off = this.on(event, (payload) => { + off(); + listener(payload); + }); + return off; + } + + off(event: TKey, listener: Listener): void { + this.listeners.get(event)?.delete(listener as Listener); + } + + emit(event: TKey, payload: TEvents[TKey]): void { + const set = this.listeners.get(event); + + if (!set) { + return; + } + + for (const listener of [...set]) { + listener(payload as never); + } + } + + clear(): void { + this.listeners.clear(); + } +} diff --git a/packages/sdk/src/errors.ts b/packages/sdk/src/errors.ts new file mode 100644 index 00000000..10917e15 --- /dev/null +++ b/packages/sdk/src/errors.ts @@ -0,0 +1,103 @@ +import type { ApiResponse, UploadFileStreamComplete } from './types/index.js'; + +/** Base error for every exception intentionally thrown by the SnowLuma SDK. */ +export class SnowLumaError extends Error { + constructor(message: string, options?: ErrorOptions) { + super(message, options); + this.name = 'SnowLumaError'; + } +} + +/** A one-step media operation failed. The original error is preserved as cause. */ +export class SnowLumaMediaSendError extends SnowLumaError { + readonly stage: 'upload' | 'send'; + /** Present after a completed upload, even when sending fails or is cancelled. */ + readonly upload?: UploadFileStreamComplete; + + constructor(stage: 'upload' | 'send', cause: unknown, upload?: UploadFileStreamComplete) { + super(`Media ${stage} failed${cause instanceof Error ? `: ${cause.message}` : ''}`, { + cause, + }); + this.name = 'SnowLumaMediaSendError'; + this.stage = stage; + this.upload = upload; + } +} + +/** Transport-layer failures before a valid OneBot API response is available. */ +export class SnowLumaTransportError extends SnowLumaError { + constructor(message: string, options?: ErrorOptions) { + super(message, options); + this.name = 'SnowLumaTransportError'; + } +} + +/** The request was cancelled by the caller's AbortSignal. */ +export class SnowLumaAbortError extends SnowLumaTransportError { + constructor(message = 'SnowLuma request aborted', options?: ErrorOptions) { + super(message, options); + this.name = 'SnowLumaAbortError'; + } +} + +/** The request exceeded the configured timeout. */ +export class SnowLumaTimeoutError extends SnowLumaTransportError { + readonly timeoutMs: number; + + constructor(message: string, timeoutMs: number, options?: ErrorOptions) { + super(message, options); + this.name = 'SnowLumaTimeoutError'; + this.timeoutMs = timeoutMs; + } +} + +/** The SDK could not establish or keep a connection to SnowLuma. */ +export class SnowLumaConnectionError extends SnowLumaTransportError { + constructor(message: string, options?: ErrorOptions) { + super(message, options); + this.name = 'SnowLumaConnectionError'; + } +} + +/** SnowLuma returned a payload that could not be parsed as the expected protocol shape. */ +export class SnowLumaParseError extends SnowLumaTransportError { + constructor(message: string, options?: ErrorOptions) { + super(message, options); + this.name = 'SnowLumaParseError'; + } +} + +/** A OneBot API response with status failed or a non-zero retcode. */ +export class SnowLumaApiError extends SnowLumaError { + readonly response: ApiResponse; + readonly retcode: number; + readonly wording?: string; + + constructor(response: ApiResponse) { + super(response.wording || `SnowLuma API failed with retcode ${response.retcode}`); + this.name = 'SnowLumaApiError'; + this.response = response; + this.retcode = response.retcode; + this.wording = response.wording; + } +} + +/** Authentication or authorization failure returned by SnowLuma. */ +export class SnowLumaAuthError extends SnowLumaApiError { + constructor(response: ApiResponse) { + super(response); + this.name = 'SnowLumaAuthError'; + } +} + +export function createSnowLumaApiError( + response: ApiResponse, +): SnowLumaApiError { + return isAuthFailure(response) + ? new SnowLumaAuthError(response) + : new SnowLumaApiError(response); +} + +function isAuthFailure(response: ApiResponse): boolean { + return response.retcode === 1401 || response.retcode === 401 || response.retcode === 403; +} diff --git a/packages/sdk/src/events/command.ts b/packages/sdk/src/events/command.ts new file mode 100644 index 00000000..907aa4cd --- /dev/null +++ b/packages/sdk/src/events/command.ts @@ -0,0 +1,67 @@ +import type { OneBotMessageEvent } from '../types/index.js'; +import type { CommandMatch, CommandOptions } from './types.js'; + +export function matchCommand( + event: OneBotMessageEvent, + command: string | RegExp, + options: CommandOptions = {}, +): CommandMatch | null { + const trim = options.trim ?? true; + const raw = trim ? event.raw_message.trim() : event.raw_message; + const prefixes = normalizePrefixes(options.prefixes ?? '/'); + + for (const prefix of prefixes) { + if (prefix && !raw.startsWith(prefix)) { + continue; + } + + const text = prefix ? raw.slice(prefix.length).trimStart() : raw; + + if (!text) { + continue; + } + + if (command instanceof RegExp) { + const match = text.match(command); + + if (!match || match.index !== 0) { + continue; + } + + const matchedText = match[0] ?? ''; + const rest = text.slice(matchedText.length).trim(); + return { + command: matchedText, + text, + args: rest ? rest.split(/\s+/) : [], + rest, + prefix, + match, + }; + } + + const [head = '', ...args] = text.split(/\s+/); + const matches = options.caseSensitive + ? head === command + : head.toLowerCase() === command.toLowerCase(); + + if (!matches) { + continue; + } + + return { + command: head, + text, + args, + rest: text.slice(head.length).trim(), + prefix, + match: null, + }; + } + + return null; +} + +function normalizePrefixes(prefixes: string | string[]): string[] { + return Array.isArray(prefixes) ? prefixes : [prefixes]; +} diff --git a/packages/sdk/src/events/context.ts b/packages/sdk/src/events/context.ts new file mode 100644 index 00000000..85619fb9 --- /dev/null +++ b/packages/sdk/src/events/context.ts @@ -0,0 +1,104 @@ +import type { SnowLumaApiClient } from '../client/api-client.js'; +import type { SnowLumaEvent } from '../types/index.js'; +import { quoteMessage } from '../messages/quote.js'; +import { isGroupMessageEvent, isPrivateMessageEvent, isRequestEvent } from './guards.js'; +import type { SnowLumaEventContextWithQuote } from './types.js'; + +export function createEventContext( + event: TEvent, + client: SnowLumaApiClient, +): SnowLumaEventContextWithQuote { + let stopped = false; + + const context: SnowLumaEventContextWithQuote = { + event, + client, + get stopped() { + return stopped; + }, + stopPropagation() { + stopped = true; + }, + async reply(message, options) { + if (isGroupMessageEvent(event)) { + return client.sendGroupMessage(event.group_id, message, options); + } + + if (isPrivateMessageEvent(event)) { + return client.sendPrivateMessage(event.user_id, message, options); + } + + throw new Error('reply() is only available for message events'); + }, + async quote(message, options) { + if (isGroupMessageEvent(event)) { + return client.sendGroupMessage( + event.group_id, + quoteMessage(event.message_id, message, options), + options, + ); + } + + if (isPrivateMessageEvent(event)) { + return client.sendPrivateMessage( + event.user_id, + quoteMessage(event.message_id, message, options), + options, + ); + } + + throw new Error('quote() is only available for message events'); + }, + async approve(options) { + if (!isRequestEvent(event)) { + throw new Error('approve() is only available for request events'); + } + + if (event.request_type === 'friend') { + return client.setFriendAddRequest(event.flag, true, options); + } + + if (event.request_type === 'group') { + return client.setGroupAddRequest(event.flag, { + ...options, + subType: options?.subType ?? event.sub_type, + approve: true, + }); + } + + throw new Error(`approve() does not support request_type=${event.request_type}`); + }, + async reject(reason, options) { + if (!isRequestEvent(event)) { + throw new Error('reject() is only available for request events'); + } + + if (event.request_type === 'friend') { + return client.setFriendAddRequest(event.flag, false, options); + } + + if (event.request_type === 'group') { + return client.setGroupAddRequest(event.flag, { + ...options, + subType: options?.subType ?? event.sub_type, + approve: false, + reason: reason ?? options?.reason, + }); + } + + throw new Error(`reject() does not support request_type=${event.request_type}`); + }, + async quickOperation(operation, options) { + return client.raw( + '.handle_quick_operation', + { + context: event, + operation, + }, + options, + ); + }, + }; + + return context; +} diff --git a/packages/sdk/src/events/guards.ts b/packages/sdk/src/events/guards.ts new file mode 100644 index 00000000..25833d58 --- /dev/null +++ b/packages/sdk/src/events/guards.ts @@ -0,0 +1,61 @@ +import type { + OneBotBotStatusEvent, + OneBotGroupMessageEvent, + OneBotMessageEvent, + OneBotMetaEvent, + OneBotNoticeEvent, + OneBotPrivateMessageEvent, + OneBotRequestEvent, + SnowLumaEvent, +} from '../types/index.js'; +import type { EventPredicate } from './types.js'; + +export function isMessageEvent(event: SnowLumaEvent): event is OneBotMessageEvent { + return ( + (event.post_type === 'message' || event.post_type === 'message_sent') && + (event.message_type === 'private' || event.message_type === 'group') + ); +} + +export function isPrivateMessageEvent(event: SnowLumaEvent): event is OneBotPrivateMessageEvent { + return isMessageEvent(event) && event.message_type === 'private'; +} + +export function isGroupMessageEvent(event: SnowLumaEvent): event is OneBotGroupMessageEvent { + return isMessageEvent(event) && event.message_type === 'group'; +} + +export function isNoticeEvent(event: SnowLumaEvent): event is OneBotNoticeEvent { + return event.post_type === 'notice' && typeof event.notice_type === 'string'; +} + +export function isBotStatusEvent(event: SnowLumaEvent): event is OneBotBotStatusEvent { + return ( + isNoticeEvent(event) && + event.notice_type === 'bot_status' && + (event.sub_type === 'online' || event.sub_type === 'offline') && + typeof event.user_id === 'number' + ); +} + +export function isRequestEvent(event: SnowLumaEvent): event is OneBotRequestEvent { + return ( + event.post_type === 'request' && + typeof event.request_type === 'string' && + typeof event.flag === 'string' + ); +} + +export function isMetaEvent(event: SnowLumaEvent): event is OneBotMetaEvent { + return event.post_type === 'meta_event' && typeof event.meta_event_type === 'string'; +} + +export function noticeType(type: string): EventPredicate { + return (event): event is OneBotNoticeEvent => + isNoticeEvent(event) && event.notice_type === type; +} + +export function requestType(type: string): EventPredicate { + return (event): event is OneBotRequestEvent => + isRequestEvent(event) && event.request_type === type; +} diff --git a/packages/sdk/src/events/index.ts b/packages/sdk/src/events/index.ts new file mode 100644 index 00000000..70d95024 --- /dev/null +++ b/packages/sdk/src/events/index.ts @@ -0,0 +1,4 @@ +export * from './types.js'; +export * from './guards.js'; +export * from './context.js'; +export * from './command.js'; diff --git a/packages/sdk/src/events/types.ts b/packages/sdk/src/events/types.ts new file mode 100644 index 00000000..cfc168e1 --- /dev/null +++ b/packages/sdk/src/events/types.ts @@ -0,0 +1,81 @@ +import type { SnowLumaApiClient } from '../client/api-client.js'; +import type { + JsonObject, + OneBotMessageEvent, + OutgoingMessage, + RequestOptions, + SendMessageResult, + SnowLumaEvent, +} from '../types/index.js'; + +export type MaybePromise = T | Promise; +export type EventNext = () => Promise; + +export type EventPredicate = ( + event: SnowLumaEvent, +) => event is TEvent; + +export type EventHandler< + TEvent extends SnowLumaEvent = SnowLumaEvent, + TContext extends SnowLumaEventContext = SnowLumaEventContext, +> = (event: TEvent, context: TContext) => MaybePromise; + +export type EventMiddleware = ( + event: SnowLumaEvent, + context: TContext, + next: EventNext, +) => MaybePromise; + +export interface RequestDecisionOptions extends RequestOptions { + reason?: string; + subType?: string; +} + +export interface SnowLumaEventContext { + readonly event: TEvent; + readonly client: SnowLumaApiClient; + readonly stopped: boolean; + stopPropagation(): void; + reply( + message: OutgoingMessage, + options?: RequestOptions & { autoEscape?: boolean }, + ): Promise; + approve(options?: RequestDecisionOptions): Promise; + reject(reason?: string, options?: RequestDecisionOptions): Promise; + quickOperation(operation: JsonObject, options?: RequestOptions): Promise; +} + +/** Contexts supplied by the SDK include explicit quoted replies. */ +export interface SnowLumaEventContextWithQuote< + TEvent extends SnowLumaEvent = SnowLumaEvent, +> extends SnowLumaEventContext { + /** Quotes this message and sends the body to the same group or private conversation. */ + quote( + message: OutgoingMessage, + options?: RequestOptions & { autoEscape?: boolean }, + ): Promise; +} + +export interface CommandOptions { + prefixes?: string | string[]; + trim?: boolean; + caseSensitive?: boolean; +} + +export interface CommandMatch { + command: string; + text: string; + args: string[]; + rest: string; + prefix: string; + match: RegExpMatchArray | null; +} + +export type CommandHandler< + TEvent extends OneBotMessageEvent = OneBotMessageEvent, + TContext extends SnowLumaEventContext = SnowLumaEventContext, +> = ( + event: TEvent, + context: TContext & { command: CommandMatch }, + match: CommandMatch, +) => MaybePromise; diff --git a/packages/sdk/src/index.ts b/packages/sdk/src/index.ts new file mode 100644 index 00000000..6adb68e0 --- /dev/null +++ b/packages/sdk/src/index.ts @@ -0,0 +1,87 @@ +export { SNOWLUMA_ACTIONS, isSnowLumaAction } from './actions.js'; +export type { SnowLumaKnownAction } from './actions.js'; +export { SnowLumaApiClient } from './client/api-client.js'; +export { createHttpClient, SnowLumaHttpClient } from './client/http-client.js'; +export type { SnowLumaHttpClientOptions } from './client/http-client.js'; +export { createWebSocketClient, SnowLumaWebSocketClient } from './client/websocket-client.js'; +export { + createSnowLumaApiError, + SnowLumaAbortError, + SnowLumaApiError, + SnowLumaAuthError, + SnowLumaConnectionError, + SnowLumaError, + SnowLumaMediaSendError, + SnowLumaParseError, + SnowLumaTimeoutError, + SnowLumaTransportError, +} from './errors.js'; +export { + createEventContext, + isBotStatusEvent, + isGroupMessageEvent, + isMessageEvent, + isMetaEvent, + isNoticeEvent, + isPrivateMessageEvent, + isRequestEvent, + matchCommand, + noticeType, + requestType, +} from './events/index.js'; +export { + at, + atAll, + br, + chain, + contact, + escapeCqParam, + escapeCqText, + face, + forward, + fromCQString, + image, + json, + location, + message, + MessageChain, + music, + node, + normalizeMessage, + parseSegments, + poke, + quoteMessage, + raw, + record, + reply, + share, + text, + toCQString, + video, + xml, +} from './messages/index.js'; + +export type { + EventWaitOptions, + ReconnectOptions, + SnowLumaWebSocketClientOptions, + SnowLumaWebSocketEvents, + WebSocketCloseInfo, + WebSocketConstructor, +} from './client/websocket-client.js'; + +export type { + CommandHandler, + CommandMatch, + CommandOptions, + EventHandler, + EventMiddleware, + EventNext, + EventPredicate, + MaybePromise, + RequestDecisionOptions, + SnowLumaEventContext, + SnowLumaEventContextWithQuote, +} from './events/index.js'; + +export type * from './types/index.js'; diff --git a/packages/sdk/src/internal/abort.ts b/packages/sdk/src/internal/abort.ts new file mode 100644 index 00000000..a705728c --- /dev/null +++ b/packages/sdk/src/internal/abort.ts @@ -0,0 +1,100 @@ +import { SnowLumaAbortError } from '../errors.js'; + +export interface RequestAbortState { + signal: AbortSignal; + cleanup(): void; + isTimedOut(): boolean; + isExternallyAborted(): boolean; +} + +export function createRequestAbortState( + timeoutMs: number, + externalSignal?: AbortSignal, +): RequestAbortState { + const controller = new AbortController(); + let abortedBy: 'timeout' | 'external' | null = null; + + const abort = (source: 'timeout' | 'external', reason?: unknown): void => { + if (abortedBy !== null) { + return; + } + + abortedBy = source; + controller.abort(reason); + }; + + const onExternalAbort = (): void => { + abort('external', externalSignal?.reason); + }; + + if (externalSignal?.aborted) { + onExternalAbort(); + } else { + externalSignal?.addEventListener('abort', onExternalAbort, { once: true }); + } + + const timer = + timeoutMs > 0 + ? setTimeout(() => { + abort('timeout'); + }, timeoutMs) + : null; + + return { + signal: controller.signal, + cleanup() { + if (timer) { + clearTimeout(timer); + } + + externalSignal?.removeEventListener('abort', onExternalAbort); + }, + isTimedOut() { + return abortedBy === 'timeout'; + }, + isExternallyAborted() { + return abortedBy === 'external'; + }, + }; +} + +export function throwIfAborted(signal?: AbortSignal, message = 'SnowLuma request aborted'): void { + if (signal?.aborted) { + throw new SnowLumaAbortError(message, { cause: signal.reason }); + } +} + +export function isAbortError(error: unknown): boolean { + return ( + typeof error === 'object' && + error !== null && + 'name' in error && + error.name === 'AbortError' + ); +} + +export function raceWithAbort( + promise: Promise, + signal?: AbortSignal, + message = 'SnowLuma request aborted', +): Promise { + if (!signal) { + return promise; + } + + let onAbort!: () => void; + const aborted = new Promise((_resolve, reject) => { + onAbort = () => { + reject(new SnowLumaAbortError(message, { cause: signal.reason })); + }; + + if (signal.aborted) { + onAbort(); + } else { + signal.addEventListener('abort', onAbort, { once: true }); + } + }); + return Promise.race([aborted, promise]).finally(() => { + signal.removeEventListener('abort', onAbort); + }); +} diff --git a/packages/sdk/src/internal/json.ts b/packages/sdk/src/internal/json.ts new file mode 100644 index 00000000..c0e14756 --- /dev/null +++ b/packages/sdk/src/internal/json.ts @@ -0,0 +1,89 @@ +import type { ApiResponse, JsonObject, JsonValue } from '../types/index.js'; + +export function isJsonObject(value: unknown): value is JsonObject { + return typeof value === 'object' && value !== null && !Array.isArray(value); +} + +export function asJsonValue(value: unknown): JsonValue { + if (value === null) { + return null; + } + + if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') { + return value; + } + + if (Array.isArray(value)) { + return value.map(asJsonValue); + } + + if (isJsonObject(value)) { + const out: JsonObject = {}; + + for (const [key, item] of Object.entries(value)) { + if (item === undefined) { + continue; + } + + out[key] = asJsonValue(item); + } + + return out; + } + + return String(value); +} + +export function assertApiResponse(value: unknown): ApiResponse { + if (!isJsonObject(value)) { + throw new Error('response is not a JSON object'); + } + + const status = value.status === 'ok' ? 'ok' : value.status === 'failed' ? 'failed' : null; + + if (!status) { + throw new Error('response status is missing or invalid'); + } + + const retcode = + typeof value.retcode === 'number' && Number.isFinite(value.retcode) + ? value.retcode + : status === 'ok' + ? 0 + : -1; + + return { + status, + retcode, + data: asJsonValue(value.data ?? null), + echo: value.echo === undefined ? undefined : asJsonValue(value.echo), + wording: typeof value.wording === 'string' ? value.wording : undefined, + }; +} + +export function createEcho(): string { + const random = Math.random().toString(36).slice(2); + return `snowluma-sdk:${Date.now().toString(36)}:${random}`; +} + +export function echoKey(value: JsonValue | undefined): string { + if (value === undefined) { + return ''; + } + + return JSON.stringify(value); +} + +export function appendAccessToken(urlValue: string, accessToken?: string): string { + if (!accessToken) { + return urlValue; + } + + const url = new URL(urlValue); + + if (!url.searchParams.has('access_token')) { + url.searchParams.set('access_token', accessToken); + } + + return url.toString(); +} diff --git a/packages/sdk/src/internal/streaming.ts b/packages/sdk/src/internal/streaming.ts new file mode 100644 index 00000000..177aa5d5 --- /dev/null +++ b/packages/sdk/src/internal/streaming.ts @@ -0,0 +1,260 @@ +import { SnowLumaConnectionError, SnowLumaParseError } from '../errors.js'; +import type { + ApiResponse, + JsonValue, + SnowLumaStreamAction, + StreamApiResponse, + StreamRequestOptions, +} from '../types/index.js'; +import { raceWithAbort, throwIfAborted } from './abort.js'; +import { assertApiResponse, isJsonObject } from './json.js'; + +export function streamLimits(options?: StreamRequestOptions) { + const maxBufferBytes = options?.maxBufferBytes ?? 32 * 1024 * 1024; + const maxBufferedFrames = options?.maxBufferedFrames ?? 256; + + for (const [name, value] of Object.entries({ maxBufferBytes, maxBufferedFrames })) { + if (!Number.isSafeInteger(value) || value < 1) { + throw new RangeError(`${name} must be a positive safe integer`); + } + } + + return { maxBufferBytes, maxBufferedFrames }; +} + +export function parseStreamResponse(value: unknown): StreamApiResponse { + if (!isJsonObject(value) || !Number.isSafeInteger(value.retcode) || !('data' in value)) { + throw new SnowLumaParseError('Invalid SnowLuma stream response envelope'); + } + + let response: ApiResponse; + + try { + response = assertApiResponse(value); + } catch (cause) { + throw new SnowLumaParseError('Invalid SnowLuma stream response envelope', { cause }); + } + + if (response.status === 'ok' && response.retcode === 0) { + if ( + value.stream !== 'stream-action' || + !isJsonObject(response.data) || + (response.data.type !== 'stream' && response.data.type !== 'response') + ) { + throw new SnowLumaParseError('Invalid SnowLuma stream frame or missing stream marker'); + } + } + + return { + ...response, + stream: value.stream === 'stream-action' ? value.stream : undefined, + message: typeof value.message === 'string' ? value.message : undefined, + }; +} + +export function isStreamTerminal(action: SnowLumaStreamAction, response: ApiResponse): boolean { + // Each upload request has exactly one ACK, even though its data.type is + // "stream". Only downloads keep the same request open for multiple frames. + return ( + action === 'upload_file_stream' || + response.status !== 'ok' || + response.retcode !== 0 || + (isJsonObject(response.data) && response.data.type === 'response') + ); +} + +async function cancelReader( + reader: ReadableStreamDefaultReader, + failure?: { error: unknown }, +): Promise { + try { + await reader.cancel(); + } catch (error) { + // Retain the original failure if the source also rejects cancellation. + if (failure) { + throw new AggregateError([failure.error, error], 'Stream cleanup failed'); + } + + throw error; + } +} + +/** Cancel on early exit and always release the Web Stream's reader lock. */ +export async function* readBytes( + body: ReadableStream, + signal?: AbortSignal, +): AsyncGenerator { + const reader = body.getReader(); + let ended = false; + let failure: { error: unknown } | undefined; + + try { + while (true) { + throwIfAborted(signal); + const next = await raceWithAbort(reader.read(), signal); + + if (next.done) { + ended = true; + return; + } + + yield next.value; + } + } catch (error) { + failure = { error }; + throw error; + } finally { + try { + if (!ended) { + await cancelReader(reader, failure); + } + } finally { + reader.releaseLock(); + } + } +} + +/** HTTP frames are JSON objects separated by CRLF CRLF, not SSE or NDJSON. */ +export async function* readHttpFrames( + body: ReadableStream, + maxBytes: number, + signal: AbortSignal, +): AsyncGenerator> { + const decoder = new TextDecoder('utf-8', { fatal: true }); + const encoder = new TextEncoder(); + let buffer = ''; + let bufferedBytes = 0; + let searchFrom = 0; + + const parse = (text: string) => { + try { + return parseStreamResponse(JSON.parse(text)); + } catch (cause) { + if (cause instanceof SnowLumaParseError) { + throw cause; + } + + throw new SnowLumaParseError('Invalid JSON in SnowLuma HTTP stream', { cause }); + } + }; + + const decode = (bytes?: Uint8Array) => { + try { + return decoder.decode(bytes, { stream: bytes !== undefined }); + } catch (cause) { + throw new SnowLumaParseError('Invalid UTF-8 in SnowLuma HTTP stream', { cause }); + } + }; + + for await (const bytes of readBytes(body, signal)) { + const text = decode(bytes); + buffer += text; + bufferedBytes += encoder.encode(text).byteLength; + let end: number; + + while ((end = buffer.indexOf('\r\n\r\n', searchFrom)) !== -1) { + const frame = buffer.slice(0, end); + const size = encoder.encode(frame).byteLength; + + if (size > maxBytes) { + throw new SnowLumaParseError('SnowLuma HTTP stream frame exceeds maxBufferBytes'); + } + + buffer = buffer.slice(end + 4); + bufferedBytes -= size + 4; + searchFrom = 0; + + if (frame.trim()) { + yield parse(frame); + } + } + + if (bufferedBytes > maxBytes + 3) { + throw new SnowLumaParseError('SnowLuma HTTP stream frame exceeds maxBufferBytes'); + } + + searchFrom = Math.max(0, buffer.length - 3); + } + + buffer += decode(); + + if (encoder.encode(buffer).byteLength > maxBytes) { + throw new SnowLumaParseError('SnowLuma HTTP stream frame exceeds maxBufferBytes'); + } + + // Ordinary preflight errors are single JSON responses without a delimiter. + if (buffer.trim()) { + yield parse(buffer); + } +} + +/** WebSocket has no per-request backpressure; bound its queue and fail on overflow. */ +export class StreamQueue { + private readonly items: { value: T; size: number }[] = []; + private bytes = 0; + private ended = false; + private error?: Error; + private waiting?: { + resolve: (result: IteratorResult) => void; + reject: (error: Error) => void; + }; + + constructor(private readonly limits: ReturnType) {} + + push(value: T, size: number): void { + if (this.ended) { + return; + } + + if ( + this.bytes + size > this.limits.maxBufferBytes || + this.items.length >= this.limits.maxBufferedFrames + ) { + throw new SnowLumaConnectionError('SnowLuma WebSocket stream buffer limit exceeded'); + } + + if (this.waiting) { + this.waiting.resolve({ value, done: false }); + this.waiting = undefined; + } else { + this.items.push({ value, size }); + this.bytes += size; + } + } + + finish(): void { + this.ended = true; + this.waiting?.resolve({ value: undefined, done: true }); + this.waiting = undefined; + } + + fail(error: Error): void { + this.error = error; + this.items.length = 0; + this.bytes = 0; + this.waiting?.reject(error); + this.waiting = undefined; + this.ended = true; + } + + next(): Promise> { + if (this.error) { + return Promise.reject(this.error); + } + + const item = this.items.shift(); + + if (item) { + this.bytes -= item.size; + return Promise.resolve({ value: item.value, done: false }); + } + + if (this.ended) { + return Promise.resolve({ value: undefined, done: true }); + } + + return new Promise((resolve, reject) => { + this.waiting = { resolve, reject }; + }); + } +} diff --git a/packages/sdk/src/messages/chain.ts b/packages/sdk/src/messages/chain.ts new file mode 100644 index 00000000..f7f9fec9 --- /dev/null +++ b/packages/sdk/src/messages/chain.ts @@ -0,0 +1,336 @@ +import type { + AnyMessageSegment, + ContactSegment, + FaceSegment, + ImageSegment, + JsonObject, + LocationSegment, + MessageChainLike, + MusicSegment, + OutgoingMessage, + RecordSegment, + RequestOptions, + ShareSegment, + VideoSegment, + XmlSegment, +} from '../types/index.js'; +import { segmentsToCQString } from './cq-format.js'; +import { segments } from './segments.js'; + +export interface MessageChainSender { + sendGroupMessage( + groupId: number, + message: OutgoingMessage, + options?: RequestOptions & { autoEscape?: boolean }, + ): Promise; + sendPrivateMessage( + userId: number, + message: OutgoingMessage, + options?: RequestOptions & { autoEscape?: boolean }, + ): Promise; +} + +const SINGLE_USE_TYPES = new Set(['reply']); + +export class MessageChain implements MessageChainLike { + declare private readonly replyStateBrand?: THasReply; + + private constructor( + private readonly items: AnyMessageSegment[] = [], + private readonly used: ReadonlySet = new Set(), + ) {} + + static empty(): MessageChain { + return new MessageChain(); + } + + get length(): number { + return this.items.length; + } + + get isEmpty(): boolean { + return this.items.length === 0; + } + + text(text = ''): MessageChain { + return this.addSegment(segments.text(text)); + } + + br(): MessageChain { + return this.text('\n'); + } + + face( + id: number | string, + options: Omit = {}, + ): MessageChain { + return this.addSegment(segments.face(id, options)); + } + + at(qq: number | 'all', options: { name?: string; uid?: string } = {}): MessageChain { + return this.addSegment(segments.at(qq, options)); + } + + atAll(): MessageChain { + return this.at('all'); + } + + reply(this: MessageChain, id: number | string): MessageChain { + return this.addSegment(segments.reply(id)); + } + + image(file: string, options: Omit = {}): MessageChain { + return this.addSegment(segments.image(file, options)); + } + + record( + file: string, + options: Omit = {}, + ): MessageChain { + return this.addSegment(segments.record(file, options)); + } + + video(file: string, options: Omit = {}): MessageChain { + return this.addSegment(segments.video(file, options)); + } + + json(data: string | JsonObject): MessageChain { + return this.addSegment(segments.json(data)); + } + + xml(data: string, options: Omit = {}): MessageChain { + return this.addSegment(segments.xml(data, options)); + } + + poke(type: number | string, id?: number | string): MessageChain { + return this.addSegment(segments.poke(type, id)); + } + + forward(id: string): MessageChain { + return this.addSegment(segments.forward(id)); + } + + node(userId: number, nickname: string, content: OutgoingMessage): MessageChain { + return this.addSegment(segments.node(userId, nickname, content)); + } + + share(options: ShareSegment['data']): MessageChain { + return this.addSegment(segments.share(options)); + } + + music(options: MusicSegment['data']): MessageChain { + return this.addSegment(segments.music(options)); + } + + location(options: LocationSegment['data']): MessageChain { + return this.addSegment(segments.location(options)); + } + + contact(type: ContactSegment['data']['type'], id: number | string): MessageChain { + return this.addSegment(segments.contact(type, id)); + } + + raw( + type: TType, + data: TData, + ): MessageChain { + return this.addSegment(segments.raw(type, data)); + } + + append(messageInput: OutgoingMessage): MessageChain { + let next: MessageChain = this; + const normalized = normalizeMessage(messageInput); + + if (typeof normalized === 'string') { + return next.text(normalized); + } + + for (const segment of normalized) { + next = next.addSegment(segment); + } + + return next; + } + + build(): AnyMessageSegment[] { + return this.toSegments(); + } + + toArray(): AnyMessageSegment[] { + return this.toSegments(); + } + + toSegments(): AnyMessageSegment[] { + return [...this.items]; + } + + toJSON(): AnyMessageSegment[] { + return this.toSegments(); + } + + toString(): string { + return segmentsToCQString(this.items); + } + + sendToGroup( + client: MessageChainSender, + groupId: number, + options?: RequestOptions & { autoEscape?: boolean }, + ): Promise { + return client.sendGroupMessage(groupId, this, options); + } + + sendToPrivate( + client: MessageChainSender, + userId: number, + options?: RequestOptions & { autoEscape?: boolean }, + ): Promise { + return client.sendPrivateMessage(userId, this, options); + } + + [Symbol.iterator](): IterableIterator { + return this.items[Symbol.iterator](); + } + + private addSegment( + segment: AnyMessageSegment, + ): MessageChain { + const singleUse = SINGLE_USE_TYPES.has(segment.type); + + if (singleUse && this.used.has(segment.type)) { + throw new Error(`Message segment "${segment.type}" can only appear once in a chain`); + } + + const nextUsed = singleUse ? new Set(this.used).add(segment.type) : this.used; + return new MessageChain([...this.items, segment], nextUsed); + } +} + +export function chain(): MessageChain { + return MessageChain.empty(); +} + +export function text(value = ''): MessageChain { + return chain().text(value); +} + +export function br(): MessageChain { + return chain().br(); +} + +export function face( + id: number | string, + options: Omit = {}, +): MessageChain { + return chain().face(id, options); +} + +export function at( + qq: number | 'all', + options: { name?: string; uid?: string } = {}, +): MessageChain { + return chain().at(qq, options); +} + +export function atAll(): MessageChain { + return chain().atAll(); +} + +export function reply(id: number | string): MessageChain { + return chain().reply(id); +} + +export function image( + file: string, + options: Omit = {}, +): MessageChain { + return chain().image(file, options); +} + +export function record( + file: string, + options: Omit = {}, +): MessageChain { + return chain().record(file, options); +} + +export function video( + file: string, + options: Omit = {}, +): MessageChain { + return chain().video(file, options); +} + +export function json(data: string | JsonObject): MessageChain { + return chain().json(data); +} + +export function xml( + data: string, + options: Omit = {}, +): MessageChain { + return chain().xml(data, options); +} + +export function poke(type: number | string, id?: number | string): MessageChain { + return chain().poke(type, id); +} + +export function forward(id: string): MessageChain { + return chain().forward(id); +} + +export function node( + userId: number, + nickname: string, + content: OutgoingMessage, +): MessageChain { + return chain().node(userId, nickname, content); +} + +export function share(options: ShareSegment['data']): MessageChain { + return chain().share(options); +} + +export function music(options: MusicSegment['data']): MessageChain { + return chain().music(options); +} + +export function location(options: LocationSegment['data']): MessageChain { + return chain().location(options); +} + +export function contact( + type: ContactSegment['data']['type'], + id: number | string, +): MessageChain { + return chain().contact(type, id); +} + +export function raw( + type: TType, + data: TData, +): MessageChain { + return chain().raw(type, data); +} + +export function normalizeMessage(input: OutgoingMessage): string | AnyMessageSegment[] { + if (typeof input === 'string') { + return input; + } + + if (isMessageChainLike(input)) { + return input.toSegments(); + } + + return Array.isArray(input) ? input : [input]; +} + +function isMessageChainLike(value: unknown): value is MessageChainLike { + return ( + typeof value === 'object' && + value !== null && + 'toSegments' in value && + typeof value.toSegments === 'function' + ); +} diff --git a/packages/sdk/src/messages/cq-format.ts b/packages/sdk/src/messages/cq-format.ts new file mode 100644 index 00000000..90af6d4f --- /dev/null +++ b/packages/sdk/src/messages/cq-format.ts @@ -0,0 +1,34 @@ +import type { AnyMessageSegment } from '../types/index.js'; + +export function escapeCqText(text: string): string { + return text.replaceAll('&', '&').replaceAll('[', '[').replaceAll(']', ']'); +} + +export function escapeCqParam(text: string): string { + return escapeCqText(text).replaceAll(',', ','); +} + +export function segmentsToCQString(segments: AnyMessageSegment[]): string { + return segments.map(segmentToCq).join(''); +} + +function segmentToCq(segment: AnyMessageSegment): string { + if (segment.type === 'text') { + return escapeCqText(String(segment.data.text ?? '')); + } + + if ( + segment.type === 'reply' && + segment.data.message !== undefined && + typeof segment.data.message !== 'string' + ) { + throw new TypeError('reply.message containing message segments must be sent as JSON'); + } + + const params = Object.entries(segment.data) + .filter(([, value]) => value !== undefined && value !== null) + .map(([key, value]) => `${key}=${escapeCqParam(String(value))}`) + .join(','); + + return params ? `[CQ:${segment.type},${params}]` : `[CQ:${segment.type}]`; +} diff --git a/packages/sdk/src/messages/cq.ts b/packages/sdk/src/messages/cq.ts new file mode 100644 index 00000000..809cbd91 --- /dev/null +++ b/packages/sdk/src/messages/cq.ts @@ -0,0 +1,141 @@ +import { normalizeMessage, chain } from './chain.js'; +import { escapeCqText, segmentsToCQString } from './cq-format.js'; +import { segments } from './segments.js'; +import type { AnyMessageSegment, FaceSegment, OutgoingMessage } from '../types/index.js'; + +const CQ_REGEX = /\[CQ:([a-zA-Z0-9_.-]+)(?:,([^\]]*))?\]/g; + +export function toCQString(input: OutgoingMessage): string { + const normalized = normalizeMessage(input); + return typeof normalized === 'string' + ? escapeCqText(normalized) + : segmentsToCQString(normalized); +} + +export function fromCQString(input: string) { + let current = chain(); + let lastIndex = 0; + + for (const match of input.matchAll(CQ_REGEX)) { + const index = match.index; + + if (index > lastIndex) { + current = current.text(cqUnescape(input.slice(lastIndex, index))); + } + + current = current.append(segmentFromCq(match[1]!, parseCQParams(match[2] ?? ''))); + lastIndex = index + match[0].length; + } + + if (lastIndex < input.length) { + current = current.text(cqUnescape(input.slice(lastIndex))); + } + + return current; +} + +export function parseSegments(input: string): AnyMessageSegment[] { + return fromCQString(input).toSegments(); +} + +function parseCQParams(raw: string): Record { + const params: Record = {}; + + if (!raw) { + return params; + } + + for (const pair of raw.split(',')) { + const eq = pair.indexOf('='); + + if (eq <= 0) { + continue; + } + + params[pair.slice(0, eq)] = cqUnescapeParam(pair.slice(eq + 1)); + } + + return params; +} + +function cqUnescape(text: string): string { + return text.replaceAll('[', '[').replaceAll(']', ']').replaceAll('&', '&'); +} + +function cqUnescapeParam(text: string): string { + // Decode ampersands last so literal entity text is not decoded twice. + return cqUnescape(text.replaceAll(',', ',')); +} + +function segmentFromCq(type: string, data: Record): AnyMessageSegment { + switch (type) { + case 'text': + return segments.text(data.text ?? ''); + + case 'face': { + const options: Omit = {}; + + if (data.resultId !== undefined) { + options.resultId = data.resultId; + } + + if (data.large !== undefined) { + if (data.large === 'true' || data.large === '1') { + options.large = true; + } else if (data.large === 'false' || data.large === '0') { + options.large = false; + } else { + throw new Error('face.large must be true, false, 1, or 0'); + } + } + + return segments.face(data.id ?? '0', options); + } + + case 'at': + if (data.qq === 'all') { + return segments.at('all'); + } + + { + const qq = Number(data.qq); + return Number.isFinite(qq) && qq > 0 + ? segments.at(qq, { name: data.name, uid: data.uid }) + : segments.raw(type, data); + } + + case 'reply': { + const { message, ...metadata } = data; + + if (message !== undefined) { + return segments.customReply(message, metadata); + } + + return segments.reply(data.id ?? '0'); + } + + case 'image': + return segments.image(data.file ?? data.url ?? '', { + url: data.url, + type: data.type === 'flash' ? 'flash' : undefined, + summary: data.summary, + }); + case 'record': + return segments.record(data.file ?? data.url ?? '', { url: data.url }); + case 'video': + return segments.video(data.file ?? data.url ?? '', { + url: data.url, + thumb: data.thumb, + }); + case 'json': + return segments.json(data.data ?? ''); + case 'xml': + return segments.xml(data.data ?? '', { id: data.id }); + case 'poke': + return segments.poke(data.type ?? data.id ?? '0', data.id); + case 'forward': + return segments.forward(data.id ?? data.res_id ?? data.forward_id ?? ''); + default: + return segments.raw(type, data); + } +} diff --git a/packages/sdk/src/messages/index.ts b/packages/sdk/src/messages/index.ts new file mode 100644 index 00000000..95b5e151 --- /dev/null +++ b/packages/sdk/src/messages/index.ts @@ -0,0 +1,34 @@ +import { segments } from './segments.js'; + +export { MessageChain } from './chain.js'; +export { + at, + atAll, + br, + chain, + contact, + face, + forward, + image, + json, + location, + music, + node, + normalizeMessage, + poke, + raw, + record, + reply, + share, + text, + video, + xml, +} from './chain.js'; +export { escapeCqParam, escapeCqText } from './cq-format.js'; +export { fromCQString, parseSegments, toCQString } from './cq.js'; +export { quoteMessage } from './quote.js'; +export { segments }; + +export const message = { + ...segments, +}; diff --git a/packages/sdk/src/messages/quote.ts b/packages/sdk/src/messages/quote.ts new file mode 100644 index 00000000..eeccc49b --- /dev/null +++ b/packages/sdk/src/messages/quote.ts @@ -0,0 +1,42 @@ +import type { AnyMessageSegment, OutgoingMessage } from '../types/index.js'; +import { normalizeMessage } from './chain.js'; +import { parseSegments } from './cq.js'; +import { segments } from './segments.js'; + +/** Adds an existing message's ID as the quote without changing the supplied body. */ +export function quoteMessage( + messageId: number, + message: OutgoingMessage, + options: { autoEscape?: boolean } = {}, +): string | AnyMessageSegment[] { + if ( + !Number.isInteger(messageId) || + messageId === 0 || + messageId < -2147483648 || + messageId > 2147483647 + ) { + throw new TypeError('quoteMessage() requires a non-zero signed 32-bit message ID'); + } + + const normalized = normalizeMessage(message); + const quote = segments.reply(messageId); + + if (typeof normalized === 'string') { + if (options.autoEscape) { + return [quote, segments.text(normalized)]; + } + + assertNoReply(parseSegments(normalized)); + // Keep the original CQ body so extension fields are not lost in conversion. + return `[CQ:reply,id=${messageId}]${normalized}`; + } + + assertNoReply(normalized); + return [quote, ...normalized]; +} + +function assertNoReply(message: AnyMessageSegment[]): void { + if (message.some((segment) => segment.type === 'reply')) { + throw new TypeError('quoteMessage() cannot add a quote to a message containing a reply'); + } +} diff --git a/packages/sdk/src/messages/segments.ts b/packages/sdk/src/messages/segments.ts new file mode 100644 index 00000000..38bf5b71 --- /dev/null +++ b/packages/sdk/src/messages/segments.ts @@ -0,0 +1,126 @@ +import type { + AtSegment, + ContactSegment, + CustomReplySegment, + FaceSegment, + ForwardSegment, + ImageSegment, + JsonObject, + JsonSegment, + LocationSegment, + MessageSegment, + MusicSegment, + NodeSegment, + OutgoingMessage, + PokeSegment, + RecordSegment, + ReplySegment, + ShareSegment, + TextSegment, + VideoSegment, + XmlSegment, +} from '../types/index.js'; + +function seg>( + type: TType, + data: TData, +): MessageSegment { + return { type, data }; +} + +export const segments = { + text(text: string): TextSegment { + return seg('text', { text }); + }, + + face(id: number | string, options: Omit = {}): FaceSegment { + return seg('face', { id: String(id), ...options }); + }, + + at(qq: number | 'all', options: { name?: string; uid?: string } = {}): AtSegment { + const data: AtSegment['data'] = { qq: String(qq) }; + + if (options.name) { + data.name = options.name; + } + + if (options.uid) { + data.uid = options.uid; + } + + return seg('at', data); + }, + + reply(id: number | string): ReplySegment { + return seg('reply', { id: String(id) }); + }, + + /** An inline quote preview for use inside a merged-forward node. */ + customReply( + message: CustomReplySegment['data']['message'], + options: Omit = {}, + ): CustomReplySegment { + return seg('reply', { ...options, message }); + }, + + image(file: string, options: Omit = {}): ImageSegment { + return seg('image', { file, ...options }); + }, + + record(file: string, options: Omit = {}): RecordSegment { + return seg('record', { file, ...options }); + }, + + video(file: string, options: Omit = {}): VideoSegment { + return seg('video', { file, ...options }); + }, + + json(data: string | JsonObject): JsonSegment { + return seg('json', { data: typeof data === 'string' ? data : JSON.stringify(data) }); + }, + + xml(data: string, options: Omit = {}): XmlSegment { + return seg('xml', { data, ...options }); + }, + + poke(type: number | string, id?: number | string): PokeSegment { + const data: PokeSegment['data'] = { type }; + + if (id !== undefined) { + data.id = id; + } + + return seg('poke', data); + }, + + forward(id: string): ForwardSegment { + return seg('forward', { id, res_id: id, forward_id: id }); + }, + + node(userId: number, nickname: string, content: OutgoingMessage): NodeSegment { + return seg('node', { user_id: userId, nickname, content }); + }, + + share(options: ShareSegment['data']): ShareSegment { + return seg('share', options); + }, + + music(options: MusicSegment['data']): MusicSegment { + return seg('music', options); + }, + + location(options: LocationSegment['data']): LocationSegment { + return seg('location', options); + }, + + contact(type: ContactSegment['data']['type'], id: number | string): ContactSegment { + return seg('contact', { type, id }); + }, + + raw( + type: TType, + data: TData, + ): MessageSegment { + return seg(type, data); + }, +}; diff --git a/packages/sdk/src/node/index.ts b/packages/sdk/src/node/index.ts new file mode 100644 index 00000000..54ba8168 --- /dev/null +++ b/packages/sdk/src/node/index.ts @@ -0,0 +1,26 @@ +import { openAsBlob } from 'node:fs'; +import { stat } from 'node:fs/promises'; +import { basename, resolve } from 'node:path'; +import { fileURLToPath } from 'node:url'; +import type { NamedMediaSource } from '../types/index.js'; + +export { + createReverseWebSocketServer, + SnowLumaReverseWebSocketServer, + type SnowLumaReverseWebSocketSession, + type ReverseWebSocketServerOptions, + type ReverseWebSocketServerEvents, +} from './reverse-websocket-server.js'; + +/** Opens a file-backed source without buffering the entire file in memory. + * Keep the file unchanged until the send finishes; read failures are propagated. */ +export async function localFile(path: string | URL): Promise { + const absolutePath = path instanceof URL ? fileURLToPath(path) : resolve(path); + const info = await stat(absolutePath); + + if (!info.isFile()) { + throw new TypeError('localFile() requires a regular file'); + } + + return { source: await openAsBlob(absolutePath), filename: basename(absolutePath) }; +} diff --git a/packages/sdk/src/node/reverse-websocket-server.ts b/packages/sdk/src/node/reverse-websocket-server.ts new file mode 100644 index 00000000..308d322d --- /dev/null +++ b/packages/sdk/src/node/reverse-websocket-server.ts @@ -0,0 +1,493 @@ +/// +import { timingSafeEqual } from 'node:crypto'; +import { EventEmitter } from 'node:events'; +import { createServer, type IncomingMessage, type Server } from 'node:http'; +import type { Server as HttpsServer } from 'node:https'; +import type { AddressInfo } from 'node:net'; +import type { Duplex } from 'node:stream'; +import { WebSocket, WebSocketServer } from 'ws'; +import { SnowLumaWebSocketClient } from '../client/websocket-client.js'; +import type { WebSocketCloseInfo } from '../client/websocket-types.js'; +import { SnowLumaConnectionError } from '../errors.js'; +import type { WsRole } from '../types/index.js'; +import { ReverseWebSocketTransport } from './reverse-websocket-transport.js'; + +export interface ReverseWebSocketServerOptions { + /** Defaults to loopback; set explicitly when accepting remote peers. */ + host?: string; + /** Defaults to 3002. Zero allocates an ephemeral port. */ + port?: number; + /** Defaults to /onebot/v11/ws. An optional trailing slash is accepted. */ + path?: string; + accessToken?: string; + /** Optional allowlist of bot accounts. Each connection still authenticates. */ + selfIds?: readonly (string | number)[]; + /** Attach to an already listening HTTP(S) server without owning its lifetime. */ + server?: Server | HttpsServer; + requestTimeoutMs?: number; + /** Maximum incoming message size; defaults to 100 MiB. */ + maxPayloadBytes?: number; + /** Maximum queued outgoing bytes per channel; defaults to 16 MiB. */ + maxBufferedBytes?: number; + /** Maximum connected channels, including separate API/Event channels. Default 128. */ + maxConnections?: number; + /** Ping interval; defaults to 30 seconds. Zero disables keepalive. */ + heartbeatIntervalMs?: number; +} + +export interface ReverseWebSocketServerEvents { + /** One account session, ready for event subscriptions immediately. */ + connection: SnowLumaReverseWebSocketSession; + /** Emitted for each channel, including the second half of API/Event mode. */ + channel: { client: SnowLumaReverseWebSocketSession; role: WsRole }; + disconnect: { client: SnowLumaReverseWebSocketSession } & WebSocketCloseInfo; + rejected: { status: number; reason: string }; + error: Error; +} + +/** A connected account; action helpers, middleware and streams match the forward SDK client. */ +export interface SnowLumaReverseWebSocketSession extends SnowLumaWebSocketClient { + readonly selfId: string; + readonly canCallActions: boolean; + readonly canReceiveEvents: boolean; +} + +class ReverseWebSocketSession + extends SnowLumaWebSocketClient + implements SnowLumaReverseWebSocketSession +{ + constructor( + readonly selfId: string, + private readonly transport: ReverseWebSocketTransport, + requestTimeoutMs?: number, + ) { + super({ url: 'reverse://accepted', requestTimeoutMs, reconnect: false }); + // Accepted sockets are already open; attachSocket installs the same + // protocol handlers before any peer data can be dispatched. + void this.attachSocket(transport); + } + + get canCallActions(): boolean { + return this.transport.canCallActions; + } + get canReceiveEvents(): boolean { + return this.transport.canReceiveEvents; + } + + /** Reverse peers reconnect to the server; a stale session never dials out. */ + override async connect(): Promise { + if (!this.isConnected) { + throw new SnowLumaConnectionError( + 'Reverse session disconnected; wait for a new server connection', + ); + } + } +} + +interface Account { + transport: ReverseWebSocketTransport; + client: SnowLumaReverseWebSocketSession; +} + +export class SnowLumaReverseWebSocketServer { + private readonly events = new EventEmitter(); + private readonly accounts = new Map(); + private readonly allowedIds: Set | undefined; + private readonly options: ReverseWebSocketServerOptions; + private readonly path: string; + private httpServer: Server | HttpsServer | null = null; + private wsServer: WebSocketServer | null = null; + private opening: Promise | null = null; + private closing: Promise | null = null; + private heartbeat: ReturnType | undefined; + private readonly alive = new Set(); + + constructor(options: ReverseWebSocketServerOptions = {}) { + if (options.server && (options.host !== undefined || options.port !== undefined)) { + throw new TypeError('server cannot be combined with host or port'); + } + + if (options.accessToken !== undefined && typeof options.accessToken !== 'string') { + throw new TypeError('accessToken must be a string'); + } + + this.options = { ...options }; + const path = options.path ?? '/onebot/v11/ws'; + + if (!path.startsWith('/') || /[?#\s]/.test(path)) { + throw new TypeError( + 'path must be an absolute URL pathname without query or whitespace', + ); + } + + this.path = path.replace(/\/$/, '') || '/'; + + integer('port', options.port ?? 3002, 0, 65535); + integer('requestTimeoutMs', options.requestTimeoutMs ?? 30_000, 0); + integer('maxPayloadBytes', options.maxPayloadBytes ?? 100 * 1024 * 1024, 1); + integer('maxBufferedBytes', options.maxBufferedBytes ?? 16 * 1024 * 1024, 1); + integer('maxConnections', options.maxConnections ?? 128, 1); + integer('heartbeatIntervalMs', options.heartbeatIntervalMs ?? 30_000, 0); + this.allowedIds = options.selfIds ? new Set(options.selfIds.map(accountId)) : undefined; + } + + get address(): AddressInfo | string | null { + return this.httpServer?.address() ?? null; + } + get clients(): ReadonlyMap { + return new Map([...this.accounts].map(([id, account]) => [id, account.client])); + } + + getClient(selfId: string | number): SnowLumaReverseWebSocketSession | undefined { + return this.accounts.get(accountId(selfId))?.client; + } + + /** Unhandled error events throw, following Node's server error contract. */ + on( + event: K, + listener: (value: ReverseWebSocketServerEvents[K]) => void, + ): () => void { + this.events.on(event, listener); + + return () => { + this.events.off(event, listener); + }; + } + + async listen(): Promise { + if (this.closing) { + await this.closing; + } + + if (this.opening) { + return this.opening; + } + + if (this.wsServer) { + return; + } + + if (this.options.server && !this.options.server.listening) { + throw new SnowLumaConnectionError( + 'The supplied HTTP(S) server must already be listening', + ); + } + + const server = + this.options.server ?? + createServer((_req, res) => { + res.writeHead(426, { + 'Content-Type': 'text/plain; charset=utf-8', + Upgrade: 'websocket', + }); + res.end('Use a OneBot reverse WebSocket connection'); + }); + const wsServer = new WebSocketServer({ + noServer: true, + perMessageDeflate: false, + maxPayload: this.options.maxPayloadBytes ?? 100 * 1024 * 1024, + }); + this.httpServer = server; + this.wsServer = wsServer; + wsServer.on('error', this.onError); + server.on('upgrade', this.upgrade); + server.on('error', this.onError); + server.on('close', this.onHttpClose); + this.opening = this.options.server + ? Promise.resolve() + : new Promise((resolve, reject) => { + const failed = (error: Error): void => { + server.off('listening', ready); + reject(error); + }; + + const ready = (): void => { + server.off('error', failed); + resolve(); + }; + + server.once('error', failed); + server.once('listening', ready); + server.listen(this.options.port ?? 3002, this.options.host ?? '127.0.0.1'); + }); + + try { + await this.opening; + this.startHeartbeat(); + } catch (error) { + this.detach(); + wsServer.close(); + throw error; + } finally { + this.opening = null; + } + } + + async close(): Promise { + if (this.opening) { + try { + await this.opening; + } catch { + return; + } // listen() owns the failure. + } + + if (this.closing) { + return this.closing; + } + + const server = this.httpServer; + const wsServer = this.wsServer; + + if (!server || !wsServer) { + return; + } + + this.closing = (async () => { + // Publish the closing promise before disconnect callbacks can call + // listen()/close() again. + await Promise.resolve(); + this.detach(); + + for (const account of [...this.accounts.values()]) { + account.client.close(1001, 'server closing'); + } + + const releaseWebSockets = new Promise((resolve, reject) => { + wsServer.close((error) => (error ? reject(error) : resolve())); + }); + const releaseHttp = this.options.server + ? Promise.resolve() + : new Promise((resolve, reject) => { + server.close((error) => + error && + (error as NodeJS.ErrnoException).code !== 'ERR_SERVER_NOT_RUNNING' + ? reject(error) + : resolve(), + ); + server.closeAllConnections(); + }); + await Promise.all([releaseWebSockets, releaseHttp]); + })(); + + try { + await this.closing; + } finally { + this.closing = null; + } + } + + private readonly onError = (error: Error): void => { + if (!this.opening) { + this.events.emit('error', error); + } + }; + + private readonly onHttpClose = (): void => { + void this.close().catch((error) => this.events.emit('error', error)); + }; + + private detach(): void { + this.httpServer?.off('upgrade', this.upgrade); + this.httpServer?.off('error', this.onError); + this.httpServer?.off('close', this.onHttpClose); + this.httpServer = null; + this.wsServer = null; + + if (this.heartbeat) { + clearInterval(this.heartbeat); + } + + this.heartbeat = undefined; + this.alive.clear(); + } + + private readonly upgrade = (request: IncomingMessage, socket: Duplex, head: Buffer): void => { + const onError = (error: Error): void => { + this.events.emit('error', error); + }; + + socket.on('error', onError); + socket.once('close', () => socket.off('error', onError)); + + const reject = (status: number, reason: string): void => { + socket.end( + `HTTP/1.1 ${status} ${reason}\r\nConnection: close\r\nContent-Length: 0\r\n\r\n`, + () => socket.destroy(), + ); + this.events.emit('rejected', { status, reason }); + }; + + let url: URL; + + try { + url = new URL(request.url ?? '/', 'http://localhost'); + } catch { + reject(400, 'Bad Request'); + return; + } + + const pathname = url.pathname; + + if (pathname !== this.path && pathname !== `${this.path.replace(/\/$/, '')}/`) { + if (!this.options.server) { + reject(404, 'Not Found'); + } else { + socket.off('error', onError); + } + + return; + } + + if (!this.wsServer || this.closing) { + reject(503, 'Service Unavailable'); + return; + } + + const token = this.options.accessToken; + + if (token) { + const supplied = request.headers.authorization?.startsWith('Bearer ') + ? request.headers.authorization.slice(7) + : (url.searchParams.get('access_token') ?? ''); + const expected = Buffer.from(token); + const actual = Buffer.from(supplied); + + if (expected.length !== actual.length || !timingSafeEqual(expected, actual)) { + reject(401, 'Unauthorized'); + return; + } + } + + let selfId: string; + + try { + selfId = accountId(request.headers['x-self-id']); + } catch { + reject(400, 'Invalid Self ID'); + return; + } + + const rawRole = request.headers['x-client-role']; + const role = rawRole === 'API' ? 'Api' : rawRole; + + if (role !== 'Api' && role !== 'Event' && role !== 'Universal') { + reject(400, 'Invalid Client Role'); + return; + } + + if (this.allowedIds && !this.allowedIds.has(selfId)) { + reject(403, 'Forbidden'); + return; + } + + const existing = this.accounts.get(selfId); + + if (existing && !existing.transport.canAttach(role)) { + reject(409, 'Channel Already Connected'); + return; + } + + if (this.wsServer.clients.size >= (this.options.maxConnections ?? 128)) { + reject(503, 'Connection Limit Reached'); + return; + } + + this.wsServer.handleUpgrade(request, socket, head, (peer) => { + socket.off('error', onError); + this.alive.add(peer); + peer.on('pong', () => this.alive.add(peer)); + peer.once('close', () => this.alive.delete(peer)); + let account = existing; + + if (!account) { + const transport = new ReverseWebSocketTransport( + selfId, + this.options.maxBufferedBytes ?? 16 * 1024 * 1024, + ); + + // Observe transport errors even after the protocol client has + // detached its own error listener during close. + const reportError = (cause: unknown): void => { + this.events.emit( + 'error', + new SnowLumaConnectionError(`Reverse account ${selfId} failed`, { cause }), + ); + }; + + transport.on('error', (cause: Error) => { + if (!client.isConnected) { + reportError(cause); + } + }); + const client = new ReverseWebSocketSession( + selfId, + transport, + this.options.requestTimeoutMs, + ); + client.on('error', reportError); + account = { transport, client }; + this.accounts.set(selfId, account); + client.on('close', (info) => { + if (this.accounts.get(selfId)?.client === client) { + this.accounts.delete(selfId); + } + + this.events.emit('disconnect', { client, ...info }); + }); + transport.attach(role, peer); + this.events.emit('connection', client); + } else { + account.transport.attach(role, peer); + } + + this.events.emit('channel', { client: account.client, role }); + }); + }; + + private startHeartbeat(): void { + const interval = this.options.heartbeatIntervalMs ?? 30_000; + + if (interval === 0) { + return; + } + + this.heartbeat = setInterval(() => { + for (const peer of this.wsServer?.clients ?? []) { + if (!this.alive.delete(peer)) { + peer.terminate(); + } else if (peer.readyState === WebSocket.OPEN) { + peer.ping(); + } + } + }, interval); + this.heartbeat.unref(); + } +} + +export function createReverseWebSocketServer( + options?: ReverseWebSocketServerOptions, +): SnowLumaReverseWebSocketServer { + return new SnowLumaReverseWebSocketServer(options); +} + +function accountId(value: unknown): string { + if (typeof value === 'number' && (!Number.isSafeInteger(value) || value <= 0)) { + throw new TypeError('selfId must be a positive integer'); + } + + if ( + (typeof value !== 'string' && typeof value !== 'number') || + !/^[1-9]\d{0,19}$/.test(String(value)) + ) { + throw new TypeError('selfId must be a positive decimal account ID'); + } + + return String(value); +} + +function integer(name: string, value: number, minimum: number, maximum = 2_147_483_647): void { + if (!Number.isSafeInteger(value) || value < minimum || value > maximum) { + throw new RangeError(`${name} must be an integer between ${minimum} and ${maximum}`); + } +} diff --git a/packages/sdk/src/node/reverse-websocket-transport.ts b/packages/sdk/src/node/reverse-websocket-transport.ts new file mode 100644 index 00000000..902c191b --- /dev/null +++ b/packages/sdk/src/node/reverse-websocket-transport.ts @@ -0,0 +1,157 @@ +import { EventEmitter } from 'node:events'; +import { WebSocket, type RawData } from 'ws'; +import { SnowLumaConnectionError, SnowLumaParseError } from '../errors.js'; +import { isJsonObject } from '../internal/json.js'; +import type { WsRole } from '../types/index.js'; + +/** API and Event channels share one account session and pending-request owner. */ +export class ReverseWebSocketTransport extends EventEmitter { + readyState = WebSocket.OPEN as number; + private readonly channels = new Map(); + + constructor( + readonly selfId: string, + private readonly maxBufferedBytes: number, + ) { + super(); + } + + get canCallActions(): boolean { + return this.apiSocket?.readyState === WebSocket.OPEN; + } + + get canReceiveEvents(): boolean { + return ( + (this.channels.get('Universal') ?? this.channels.get('Event'))?.readyState === + WebSocket.OPEN + ); + } + + canAttach(role: WsRole): boolean { + return ( + this.readyState === WebSocket.OPEN && + !this.channels.has(role) && + !this.channels.has('Universal') && + (role !== 'Universal' || this.channels.size === 0) + ); + } + + attach(role: WsRole, socket: WebSocket): void { + if (!this.canAttach(role)) { + throw new SnowLumaConnectionError('Duplicate reverse WebSocket channel'); + } + + this.channels.set(role, socket); + socket.on('message', (data: RawData) => this.receive(role, data)); + socket.on('error', (error: Error) => { + this.close(1011, 'connection failed'); + this.emit('error', error); + }); + socket.once('close', (code: number, reason: Buffer) => { + this.close(code, reason.toString('utf8')); + }); + } + + send(data: string): void { + const socket = this.apiSocket; + + if (this.readyState !== WebSocket.OPEN || socket?.readyState !== WebSocket.OPEN) { + throw new SnowLumaConnectionError('This reverse session has no connected API channel'); + } + + if (socket.bufferedAmount + Buffer.byteLength(data) > this.maxBufferedBytes) { + throw new SnowLumaConnectionError('Reverse WebSocket outbound buffer limit exceeded'); + } + + socket.send(data, (error) => { + if (error) { + this.close(1011, 'send failed'); + this.emit('error', error); + } + }); + } + + close(code = 1000, reason = 'normal'): void { + if (this.readyState === WebSocket.CLOSED) { + return; + } + + this.readyState = WebSocket.CLOSED; + + for (const socket of this.channels.values()) { + if (socket.readyState === WebSocket.CLOSED) { + continue; + } + + // A peer's abnormal close code cannot be sent on the wire. Closing + // either half also ends its sibling: pending actions never survive + // into a replacement connection with uncertain execution state. + socket.close(code === 1005 || code === 1006 || code === 1015 ? 1001 : code, reason); + const timer = setTimeout(() => socket.terminate(), 1000); + timer.unref(); + socket.once('close', () => clearTimeout(timer)); + } + + this.channels.clear(); + this.emit('close', code, reason); + } + + private get apiSocket(): WebSocket | undefined { + return this.channels.get('Universal') ?? this.channels.get('Api'); + } + + private receive(role: WsRole, data: RawData): void { + if (this.readyState !== WebSocket.OPEN) { + return; + } + + const text = Buffer.isBuffer(data) + ? data.toString('utf8') + : Array.isArray(data) + ? Buffer.concat(data).toString('utf8') + : Buffer.from(data).toString('utf8'); + let parsed: unknown; + + try { + parsed = JSON.parse(text); + } catch { + this.fail(new SnowLumaParseError('Reverse peer sent invalid JSON')); + return; + } + + if (!isJsonObject(parsed)) { + this.fail(new SnowLumaParseError('Reverse peer frame must be a JSON object')); + return; + } + + if (typeof parsed.post_type === 'string') { + if (role === 'Api' || String(parsed.self_id) !== this.selfId) { + this.fail( + new SnowLumaParseError( + 'Reverse event account or channel does not match its handshake', + ), + ); + return; + } + } else if ( + role === 'Event' || + parsed.echo === undefined || + (parsed.status !== 'ok' && parsed.status !== 'failed') + ) { + this.fail(new SnowLumaParseError('Reverse peer sent an unexpected action response')); + return; + } + + this.emit('message', text); + } + + private fail(error: Error): void { + // Preserve an error observer until all underlying socket callbacks end. + // The owner receives diagnostics independently of SDK close cleanup. + try { + this.emit('error', error); + } finally { + this.close(1008, 'invalid OneBot frame'); + } + } +} diff --git a/packages/sdk/src/types/actions.ts b/packages/sdk/src/types/actions.ts new file mode 100644 index 00000000..4ac561e1 --- /dev/null +++ b/packages/sdk/src/types/actions.ts @@ -0,0 +1,497 @@ +import type { JsonArray, JsonObject, JsonValue } from './json.js'; +import type { + GetFriendListParams, + CreateGroupFileFolderParams, + DeleteFriendParams, + DeleteGroupFileFolderParams, + DeleteGroupFileParams, + DomainParams, + DownloadFileParams, + FetchCustomFaceParams, + SendCustomFaceParams, + FetchFaceEntityParams, + FetchSysFacesParams, + FetchEmojiLikeParams, + ForwardMessageParams, + FriendPokeParams, + GetEmojiLikesParams, + GetForwardMsgParams, + GetFriendMessageHistoryParams, + GetGroupFilesParams, + GetGroupFileUrlParams, + GetGroupHonorInfoParams, + GetGroupSystemMsgParams, + GetGroupInfoParams, + GetGroupShareLinkParams, + GetGroupListParams, + GetGroupMemberInfoParams, + GetGroupMemberListParams, + GetGroupMessageHistoryParams, + GetMediaParams, + GetOnlineClientsParams, + GetPrivateFileUrlParams, + GroupForwardMessageParams, + GroupIdParams, + GroupClassParams, + GroupCategoryTagNameParams, + GroupNoticeParams, + GroupPokeParams, + MarkGroupMsgAsReadParams, + MarkMsgAsReadParams, + MarkPrivateMsgAsReadParams, + MessageIdParams, + MoveGroupFileParams, + PrivateForwardMessageParams, + RenameGroupFileFolderParams, + SendGroupMsgParams, + SendLikeParams, + SendMsgParams, + SendPokeParams, + SendPrivateMsgParams, + SetFriendAddRequestParams, + SetFriendRemarkParams, + SetFriendsCategoryParams, + SetGroupAddRequestParams, + SetGroupAddOptionParams, + SetGroupAdminParams, + GroupAdminTargetParams, + SetGroupAdminPermissionsParams, + SetGroupAdminReceiveVerifyParams, + SetGroupBanParams, + SetGroupCardParams, + SetGroupKickParams, + SetGroupKickMembersParams, + SetGroupNameParams, + SetGroupRemarkParams, + SetGroupReactionParams, + SetGroupSpecialTitleParams, + SetGroupWholeBanParams, + SetMsgEmojiLikeParams, + SetOnlineStatusParams, + SetQqProfileParams, + UploadGroupFileParams, + UploadPrivateFileParams, + UserIdParams, + QuickOperationParams, + SetDiyOnlineStatusParams, + NcGetUserStatusParams, + GroupTodoParams, + GetAiCharactersParams, + GetCollectionListParams, + AiVoiceParams, + DeleteGroupFolderParams, + SendPacketParams, + SearchSysFacesParams, + GetQzoneMsgDetailParams, + ActionGroupIdParams, + ActionMessageIdParams, + ActionUserIdParams, + AddCustomFaceParams, + CommentQzoneParams, + CommentQzonePublicFeedParams, + CreateFlashTaskParams, + CustomFaceIdParams, + DownloadFileStreamParams, + DownloadFilesetParams, + FetchCustomFaceDetailParams, + FilesetIdParams, + GetDoubtFriendsAddRequestParams, + GetFilesetIdParams, + GetFlashFileUrlParams, + GetGroupAlbumMediaListParams, + GetQunAlbumListParams, + GetQzoneFeedsParams, + GetQzoneMsgListParams, + GetQzoneProfileParams, + GetQzonePublicFeedsParams, + GetQzoneHomeFeedsParams, + GetQzoneFeedDetailParams, + GetQzoneShareArkParams, + GetQzonePublicCommentsParams, + GetQzonePublicRepliesParams, + GroupAlbumCommentParams, + GroupAlbumMediaLikeParams, + GroupAlbumMediaParams, + LikeQzoneParams, + ModifyCustomFaceParams, + QzoneMsgIdParams, + QzonePublicFeedParams, + QzonePublicCommentParams, + QzonePublicReplyParams, + QzonePublicInteractionParams, + SetQzonePublicCommentLikeParams, + ReplyQzonePublicFeedParams, + ForwardQzonePublicFeedParams, + RenameFlashFileParams, + RequestDecryptKeyParams, + SendFlashMsgParams, + SendQzoneMsgParams, + SendTuwenArkParams, + SetDoubtFriendsAddRequestParams, + SetGroupMemberInvitePolicyParams, + SetGroupMemberPermissionsParams, + SetGroupNewMemberHistoryVisibilityParams, + SetGroupRobotAddOptionParams, + SetQzoneBanParams, + SetQzoneMsgRightParams, + SetQzoneProfileParams, + SharePeerParams, + TestDownloadStreamParams, + UploadFileStreamParams, + UploadGroupAlbumMediaParams, +} from './params.js'; +import type { + CapabilityInfo, + ClientKeyInfo, + CookieInfo, + CredentialsInfo, + CsrfInfo, + DownloadFileResult, + EmptyData, + ForwardMessageResult, + FriendCategoryResult, + FriendInfo, + StrangerInfo, + FriendMessageHistory, + GroupAdminSettings, + GroupAdminPermissions, + GroupCategoryTagList, + GroupAtAllRemainInfo, + GroupFileSystemInfo, + GroupFileUrl, + GroupMessageHistory, + GroupNoticeInfo, + GroupSystemMessage, + GroupTodoListItem, + LoginInfo, + MediaInfo, + OnlineClientsInfo, + PrivateFileUrl, + SendMessageResult, + StatusInfo, + UploadForwardResult, + UrlSafetyInfo, + VersionInfo, + AiCharacterCategory, + UserOnlineStatus, + SendGroupAiRecordResult, + CollectionListInfo, + SuperFaceInfo, + SystemFaceCatalogInfo, + SystemFaceInfo, + SystemFaceSearchInfo, + QzoneMsgDetailResult, + AddCustomFaceResult, + ArkShareResult, + CleanStreamTempFileResult, + CreateFlashTaskResult, + CustomFaceDetail, + DecryptKeyResult, + DeleteGroupAlbumMediaResult, + DoubtFriendsAddRequest, + DownloadFileStreamResult, + DownloadFilesetResult, + FilesetIdResult, + FilesetInfo, + FlashFileInfo, + FlashFileUrl, + FriendDressResult, + GroupAlbumCommentResult, + GroupAlbumInfo, + GroupAlbumMediaLikeResult, + GroupAlbumMediaResult, + GroupSignedMember, + MessageEmojiLikeInfo, + PttTextResult, + QunAlbumListResult, + QzoneCommentResult, + QzoneFeedsResult, + QzoneMsgListResult, + QzonePublishResult, + QzoneProfileResult, + QzonePublicFeedsPage, + QzoneFeedDetailResult, + QzoneShareArkResult, + QzoneUpdateRightResult, + RkeyServerResult, + SendFlashMsgResult, + TestDownloadStreamResult, + UploadFileStreamResult, + UploadGroupAlbumVideoResult, +} from './results.js'; + +export type ActionData = JsonValue; + +export interface SnowLumaActionMap { + get_qzone_msg_detail: { params: GetQzoneMsgDetailParams; data: QzoneMsgDetailResult }; + get_login_info: { params: JsonObject; data: LoginInfo }; + get_status: { params: JsonObject; data: StatusInfo }; + get_version_info: { params: JsonObject; data: VersionInfo }; + can_send_image: { params: JsonObject; data: CapabilityInfo }; + can_send_record: { params: JsonObject; data: CapabilityInfo }; + send_msg: { params: SendMsgParams; data: SendMessageResult }; + send_private_msg: { params: SendPrivateMsgParams; data: SendMessageResult }; + send_group_msg: { params: SendGroupMsgParams; data: SendMessageResult }; + get_msg: { params: MessageIdParams; data: JsonObject }; + delete_msg: { params: MessageIdParams; data: EmptyData }; + get_friend_list: { params: GetFriendListParams; data: FriendInfo[] }; + get_stranger_info: { params: UserIdParams; data: StrangerInfo }; + delete_friend: { params: DeleteFriendParams; data: EmptyData }; + get_group_list: { params: GetGroupListParams; data: JsonObject[] }; + get_group_info: { params: GetGroupInfoParams; data: JsonObject }; + get_group_share_link: { params: GetGroupShareLinkParams; data: { url: string } }; + get_group_member_list: { params: GetGroupMemberListParams; data: JsonObject[] }; + get_group_member_info: { params: GetGroupMemberInfoParams; data: JsonObject }; + get_group_honor_info: { params: GetGroupHonorInfoParams; data: JsonValue }; + get_group_system_msg: { params: GetGroupSystemMsgParams; data: GroupSystemMessage[] }; + set_group_kick: { params: SetGroupKickParams; data: EmptyData }; + set_group_kick_members: { params: SetGroupKickMembersParams; data: EmptyData }; + set_group_ban: { params: SetGroupBanParams; data: EmptyData }; + set_group_whole_ban: { params: SetGroupWholeBanParams; data: EmptyData }; + set_group_add_option: { params: SetGroupAddOptionParams; data: EmptyData }; + set_group_search: { params: GroupIdParams; data: EmptyData }; + get_group_admin_settings: { params: GroupIdParams; data: GroupAdminSettings }; + get_group_tags: { params: GroupClassParams; data: GroupCategoryTagList }; + add_group_tag: { params: GroupCategoryTagNameParams; data: EmptyData }; + delete_group_tag: { params: GroupCategoryTagNameParams; data: EmptyData }; + set_group_admin: { params: SetGroupAdminParams; data: EmptyData }; + get_group_admin_permissions: { params: GroupAdminTargetParams; data: GroupAdminPermissions }; + set_group_admin_permissions: { params: SetGroupAdminPermissionsParams; data: EmptyData }; + set_group_admin_receive_verify: { params: SetGroupAdminReceiveVerifyParams; data: EmptyData }; + set_group_card: { params: SetGroupCardParams; data: EmptyData }; + set_group_name: { params: SetGroupNameParams; data: EmptyData }; + set_group_leave: { params: GroupIdParams; data: EmptyData }; + set_group_special_title: { params: SetGroupSpecialTitleParams; data: EmptyData }; + set_group_anonymous: { params: JsonObject; data: EmptyData }; + set_group_anonymous_ban: { params: JsonObject; data: EmptyData }; + set_group_portrait: { params: JsonObject; data: EmptyData }; + upload_group_file: { params: UploadGroupFileParams; data: { file_id: string | null } }; + upload_private_file: { params: UploadPrivateFileParams; data: { file_id: string | null } }; + get_group_file_url: { params: GetGroupFileUrlParams; data: GroupFileUrl }; + get_group_root_files: { params: GroupIdParams; data: JsonObject }; + get_group_files_by_folder: { params: GetGroupFilesParams; data: JsonObject }; + delete_group_file: { params: DeleteGroupFileParams; data: EmptyData }; + move_group_file: { params: MoveGroupFileParams; data: EmptyData }; + create_group_file_folder: { params: CreateGroupFileFolderParams; data: EmptyData }; + delete_group_file_folder: { params: DeleteGroupFileFolderParams; data: EmptyData }; + rename_group_file_folder: { params: RenameGroupFileFolderParams; data: EmptyData }; + get_private_file_url: { params: GetPrivateFileUrlParams; data: PrivateFileUrl }; + set_friend_add_request: { params: SetFriendAddRequestParams; data: EmptyData }; + set_group_add_request: { params: SetGroupAddRequestParams; data: EmptyData }; + send_like: { params: SendLikeParams; data: EmptyData }; + friend_poke: { params: FriendPokeParams; data: EmptyData }; + group_poke: { params: GroupPokeParams; data: EmptyData }; + send_poke: { params: SendPokeParams; data: EmptyData }; + set_essence_msg: { params: MessageIdParams; data: EmptyData }; + delete_essence_msg: { params: MessageIdParams; data: EmptyData }; + get_essence_msg_list: { params: GroupIdParams; data: JsonArray }; + set_group_reaction: { params: SetGroupReactionParams; data: EmptyData }; + get_group_msg_history: { params: GetGroupMessageHistoryParams; data: GroupMessageHistory }; + get_friend_msg_history: { params: GetFriendMessageHistoryParams; data: FriendMessageHistory }; + mark_group_msg_as_read: { params: MarkGroupMsgAsReadParams; data: EmptyData }; + mark_private_msg_as_read: { params: MarkPrivateMsgAsReadParams; data: EmptyData }; + mark_msg_as_read: { params: MarkMsgAsReadParams; data: EmptyData }; + get_rkey: { params: JsonObject; data: JsonObject[] }; + ocr_image: { params: JsonObject; data: JsonValue }; + '.ocr_image': { params: JsonObject; data: JsonValue }; + _send_group_notice: { params: GroupNoticeParams; data: EmptyData }; + _get_group_notice: { params: GroupIdParams; data: GroupNoticeInfo[] }; + _del_group_notice: { params: JsonObject; data: EmptyData }; + upload_forward_msg: { params: ForwardMessageParams; data: UploadForwardResult }; + upload_foward_msg: { params: ForwardMessageParams; data: UploadForwardResult }; + send_forward_msg: { params: ForwardMessageParams; data: ForwardMessageResult }; + send_group_forward_msg: { params: GroupForwardMessageParams; data: ForwardMessageResult }; + send_private_forward_msg: { params: PrivateForwardMessageParams; data: ForwardMessageResult }; + get_forward_msg: { params: GetForwardMsgParams; data: { messages: JsonObject[] } }; + get_image: { params: GetMediaParams; data: MediaInfo }; + get_record: { params: GetMediaParams; data: MediaInfo }; + get_cookies: { params: DomainParams; data: CookieInfo }; + get_csrf_token: { params: JsonObject; data: CsrfInfo }; + get_credentials: { params: DomainParams; data: CredentialsInfo }; + set_restart: { params: JsonObject; data: EmptyData }; + clean_cache: { params: JsonObject; data: EmptyData }; + '.handle_quick_operation': { params: QuickOperationParams; data: EmptyData }; + set_friend_remark: { params: SetFriendRemarkParams; data: EmptyData }; + set_group_remark: { params: SetGroupRemarkParams; data: EmptyData }; + set_msg_emoji_like: { params: SetMsgEmojiLikeParams; data: EmptyData }; + _mark_all_as_read: { params: JsonObject; data: EmptyData }; + get_group_file_system_info: { params: GroupIdParams; data: GroupFileSystemInfo }; + check_url_safely: { params: JsonObject; data: UrlSafetyInfo }; + download_file: { params: DownloadFileParams; data: DownloadFileResult }; + set_qq_profile: { params: SetQqProfileParams; data: EmptyData }; + set_online_status: { params: SetOnlineStatusParams; data: EmptyData }; + get_group_ignored_notifies: { params: JsonObject; data: JsonArray }; + get_group_shut_list: { params: JsonObject; data: JsonArray }; + forward_friend_single_msg: { params: JsonObject; data: JsonValue }; + forward_group_single_msg: { params: JsonObject; data: JsonValue }; + get_recent_contact: { params: JsonObject; data: JsonArray }; + get_profile_like: { params: JsonObject; data: JsonObject }; + fetch_custom_face: { params: FetchCustomFaceParams; data: string[] }; + send_custom_face: { params: SendCustomFaceParams; data: SendMessageResult }; + fetch_sys_faces: { params: FetchSysFacesParams; data: SystemFaceCatalogInfo }; + fetch_face_entity: { params: FetchFaceEntityParams; data: SystemFaceInfo | null }; + search_sys_faces: { params: SearchSysFacesParams; data: SystemFaceSearchInfo }; + fetch_super_face_id: { params: FetchFaceEntityParams; data: SuperFaceInfo }; + get_emoji_likes: { params: GetEmojiLikesParams; data: JsonObject }; + fetch_emoji_like: { params: FetchEmojiLikeParams; data: JsonObject }; + get_friends_with_category: { params: GetFriendListParams; data: FriendCategoryResult[] }; + set_friends_category: { params: SetFriendsCategoryParams; data: EmptyData }; + get_online_clients: { params: GetOnlineClientsParams; data: OnlineClientsInfo }; + _get_model_show: { params: JsonObject; data: { variants: JsonArray } }; + _set_model_show: { params: JsonObject; data: EmptyData }; + '.get_word_slices': { params: JsonObject; data: JsonValue }; + get_group_at_all_remain: { params: JsonObject; data: GroupAtAllRemainInfo }; + get_unidirectional_friend_list: { params: JsonObject; data: JsonArray }; + set_self_longnick: { params: JsonObject; data: EmptyData }; + get_collection_list: { params: GetCollectionListParams; data: CollectionListInfo }; + create_collection: { params: JsonObject; data: JsonValue }; + set_qq_avatar: { params: JsonObject; data: EmptyData }; + set_input_status: { params: JsonObject; data: EmptyData }; + translate_en2zh: { params: JsonObject; data: JsonValue }; + get_clientkey: { params: JsonObject; data: ClientKeyInfo }; + get_mini_app_ark: { params: JsonObject; data: JsonValue }; + click_inline_keyboard_button: { params: JsonObject; data: JsonValue }; + set_group_sign: { params: JsonObject; data: EmptyData }; + send_group_sign: { params: JsonObject; data: EmptyData }; + get_group_info_ex: { params: GetGroupInfoParams; data: JsonObject }; + get_group_detail_info: { params: GetGroupInfoParams; data: JsonObject }; + trans_group_file: { params: JsonObject; data: JsonValue }; + rename_group_file: { params: JsonObject; data: JsonValue }; + get_file: { params: GetMediaParams; data: JsonValue }; + '.send_packet': { params: SendPacketParams; data: string }; + + // — napcat-parity extensions (Tier 1 + Tier 2) — + send_packet: { params: SendPacketParams; data: string }; + bot_exit: { params: JsonObject; data: EmptyData }; + nc_get_packet_status: { params: JsonObject; data: JsonValue }; + nc_get_rkey: { params: JsonObject; data: JsonObject[] }; + nc_get_user_status: { params: NcGetUserStatusParams; data: UserOnlineStatus }; + get_group_ignore_add_request: { params: JsonObject; data: JsonArray }; + delete_group_folder: { params: DeleteGroupFolderParams; data: EmptyData }; + get_group_todo_list: { params: GroupIdParams; data: GroupTodoListItem[] }; + set_group_todo: { params: GroupTodoParams; data: EmptyData }; + complete_group_todo: { params: GroupTodoParams; data: EmptyData }; + cancel_group_todo: { params: GroupTodoParams; data: EmptyData }; + + // — Tier 3: DIY status — + set_diy_online_status: { params: SetDiyOnlineStatusParams; data: EmptyData }; + + // — AI voice trio — + get_ai_characters: { params: GetAiCharactersParams; data: AiCharacterCategory[] }; + get_ai_record: { params: AiVoiceParams; data: string }; + send_group_ai_record: { params: AiVoiceParams; data: SendGroupAiRecordResult }; + // Additional executable actions and compatibility aliases. + _get_friend_dress: { params: ActionUserIdParams; data: FriendDressResult }; + add_custom_face: { params: AddCustomFaceParams; data: AddCustomFaceResult }; + cancel_group_album_media_like: { + params: GroupAlbumMediaLikeParams; + data: GroupAlbumMediaLikeResult; + }; + clean_stream_temp_file: { params: JsonObject; data: CleanStreamTempFileResult }; + comment_qzone: { params: CommentQzoneParams; data: QzoneCommentResult }; + comment_qzone_public_feed: { params: CommentQzonePublicFeedParams; data: JsonObject }; + create_flash_task: { params: CreateFlashTaskParams; data: CreateFlashTaskResult }; + del_group_album_media: { params: GroupAlbumMediaParams; data: DeleteGroupAlbumMediaResult }; + delete_custom_face: { params: CustomFaceIdParams; data: EmptyData }; + delete_flash_file: { params: FilesetIdParams; data: EmptyData }; + delete_qzone_msg: { params: QzoneMsgIdParams; data: EmptyData }; + delete_qzone_public_comment: { params: QzonePublicCommentParams; data: JsonObject }; + delete_qzone_public_reply: { params: QzonePublicReplyParams; data: JsonObject }; + do_group_album_comment: { params: GroupAlbumCommentParams; data: GroupAlbumCommentResult }; + download_file_image_stream: { + params: DownloadFileStreamParams; + data: DownloadFileStreamResult; + }; + download_file_record_stream: { + params: DownloadFileStreamParams; + data: DownloadFileStreamResult; + }; + download_file_stream: { params: DownloadFileStreamParams; data: DownloadFileStreamResult }; + download_fileset: { params: DownloadFilesetParams; data: DownloadFilesetResult }; + fetch_custom_face_detail: { params: FetchCustomFaceDetailParams; data: CustomFaceDetail[] }; + fetch_ptt_text: { params: ActionMessageIdParams; data: PttTextResult }; + get_ptt_text: { params: ActionMessageIdParams; data: PttTextResult }; + get_record_text: { params: ActionMessageIdParams; data: PttTextResult }; + get_doubt_friends_add_request: { + params: GetDoubtFriendsAddRequestParams; + data: DoubtFriendsAddRequest[]; + }; + get_fileset_id: { params: GetFilesetIdParams; data: FilesetIdResult }; + get_fileset_info: { params: FilesetIdParams; data: FilesetInfo }; + get_flash_file_list: { params: FilesetIdParams; data: FlashFileInfo[] }; + get_flash_file_url: { params: GetFlashFileUrlParams; data: FlashFileUrl }; + get_group_album_list: { params: ActionGroupIdParams; data: GroupAlbumInfo[] }; + get_group_album_media_list: { + params: GetGroupAlbumMediaListParams; + data: GroupAlbumMediaResult; + }; + get_group_signed_list: { params: ActionGroupIdParams; data: GroupSignedMember[] }; + get_msg_emoji_likes: { params: ActionMessageIdParams; data: MessageEmojiLikeInfo[] }; + get_qun_album_list: { params: GetQunAlbumListParams; data: QunAlbumListResult }; + get_qzone_feeds: { params: GetQzoneFeedsParams; data: QzoneFeedsResult }; + get_qzone_msg_list: { params: GetQzoneMsgListParams; data: QzoneMsgListResult }; + get_qzone_profile: { params: GetQzoneProfileParams; data: QzoneProfileResult }; + get_qzone_public_capabilities: { params: JsonObject; data: JsonObject }; + get_qzone_public_feeds: { params: GetQzonePublicFeedsParams; data: QzonePublicFeedsPage }; + get_qzone_home_feeds: { params: GetQzoneHomeFeedsParams; data: QzonePublicFeedsPage }; + get_qzone_feed_detail: { params: GetQzoneFeedDetailParams; data: QzoneFeedDetailResult }; + get_qzone_share_ark: { params: GetQzoneShareArkParams; data: QzoneShareArkResult }; + get_qzone_public_feed_detail: { params: QzonePublicFeedParams; data: JsonObject }; + get_qzone_public_comments: { params: GetQzonePublicCommentsParams; data: JsonObject }; + get_qzone_public_replies: { params: GetQzonePublicRepliesParams; data: JsonObject }; + get_rkey_server: { params: JsonObject; data: RkeyServerResult }; + get_share_link: { params: FilesetIdParams; data: string }; + like_qzone: { params: LikeQzoneParams; data: EmptyData }; + list_filesets: { params: JsonObject; data: FlashFileInfo[] }; + modify_custom_face: { params: ModifyCustomFaceParams; data: EmptyData }; + move_custom_face_to_front: { params: CustomFaceIdParams; data: EmptyData }; + rename_flash_file: { params: RenameFlashFileParams; data: EmptyData }; + reply_qzone_public_feed: { params: ReplyQzonePublicFeedParams; data: JsonObject }; + request_decrypt_key: { params: RequestDecryptKeyParams; data: DecryptKeyResult }; + send_ark_share: { params: SharePeerParams; data: ArkShareResult }; + send_flash_msg: { params: SendFlashMsgParams; data: SendFlashMsgResult }; + send_group_ark_share: { params: ActionGroupIdParams; data: string }; + send_qzone_msg: { params: SendQzoneMsgParams; data: QzonePublishResult }; + send_tuwen_ark: { params: SendTuwenArkParams; data: EmptyData }; + set_doubt_friends_add_request: { params: SetDoubtFriendsAddRequestParams; data: EmptyData }; + set_group_album_media_like: { + params: GroupAlbumMediaLikeParams; + data: GroupAlbumMediaLikeResult; + }; + set_group_member_invite_policy: { params: SetGroupMemberInvitePolicyParams; data: EmptyData }; + set_group_member_permissions: { params: SetGroupMemberPermissionsParams; data: EmptyData }; + set_group_new_member_history_visibility: { + params: SetGroupNewMemberHistoryVisibilityParams; + data: EmptyData; + }; + set_group_robot_add_option: { params: SetGroupRobotAddOptionParams; data: EmptyData }; + set_qzone_ban: { params: SetQzoneBanParams; data: EmptyData }; + set_qzone_msg_right: { params: SetQzoneMsgRightParams; data: QzoneUpdateRightResult }; + set_qzone_profile: { params: SetQzoneProfileParams; data: EmptyData }; + set_qzone_public_upvote: { params: QzonePublicInteractionParams; data: JsonObject }; + set_qzone_public_comment_like: { params: SetQzonePublicCommentLikeParams; data: JsonObject }; + set_qzone_public_like: { params: QzonePublicInteractionParams; data: JsonObject }; + set_qzone_public_follow: { params: QzonePublicInteractionParams; data: JsonObject }; + forward_qzone_public_feed: { params: ForwardQzonePublicFeedParams; data: JsonObject }; + share_group_ex: { params: ActionGroupIdParams; data: string }; + share_peer: { params: SharePeerParams; data: ArkShareResult }; + test_download_stream: { params: TestDownloadStreamParams; data: TestDownloadStreamResult }; + unlike_qzone: { params: LikeQzoneParams; data: EmptyData }; + upload_file_stream: { params: UploadFileStreamParams; data: UploadFileStreamResult }; + upload_image_to_qun_album: { params: UploadGroupAlbumMediaParams; data: EmptyData }; + upload_video_to_qun_album: { + params: UploadGroupAlbumMediaParams; + data: UploadGroupAlbumVideoResult; + }; + '.handle_quick_operation_async': { params: QuickOperationParams; data: EmptyData }; +} + +export type SnowLumaAction = keyof SnowLumaActionMap | (string & {}); + +export type ActionParams = TAction extends keyof SnowLumaActionMap + ? SnowLumaActionMap[TAction]['params'] + : JsonObject; + +export type ActionResult = TAction extends keyof SnowLumaActionMap + ? SnowLumaActionMap[TAction]['data'] + : ActionData; diff --git a/packages/sdk/src/types/events.ts b/packages/sdk/src/types/events.ts new file mode 100644 index 00000000..5db51fd2 --- /dev/null +++ b/packages/sdk/src/types/events.ts @@ -0,0 +1,94 @@ +import type { JsonObject, JsonValue } from './json.js'; +import type { GroupIdentityStatus } from './results.js'; + +export interface OneBotBaseEvent extends JsonObject { + time: number; + self_id: number; + post_type: string; +} + +export interface OneBotSender extends JsonObject { + user_id: number; + nickname: string; + sex?: string; + age?: number; + card?: string; + role?: string; +} + +export interface OneBotPrivateMessageEvent extends OneBotBaseEvent { + post_type: 'message' | 'message_sent'; + message_type: 'private'; + /** Present only when QQ marks this message as an automatic reply. */ + auto_reply?: true; + sub_type: string; + message_id: number; + message_seq?: number; + user_id: number; + message: JsonValue; + raw_message: string; + font: number; + sender: OneBotSender; +} + +export interface OneBotGroupMessageEvent extends OneBotBaseEvent { + post_type: 'message' | 'message_sent'; + message_type: 'group'; + sub_type: string; + message_id: number; + message_seq?: number; + group_id: number; + user_id: number; + message: JsonValue; + raw_message: string; + font: number; + sender: OneBotSender; + anonymous?: JsonValue; +} + +export type OneBotMessageEvent = OneBotPrivateMessageEvent | OneBotGroupMessageEvent; + +export interface OneBotNoticeEvent extends OneBotBaseEvent { + post_type: 'notice'; + notice_type: string; +} + +export interface OneBotGroupIncreaseEvent extends OneBotNoticeEvent { + notice_type: 'group_increase'; + sub_type: 'approve' | 'invite'; + group_id: number; + user_id: number; + operator_id: number; + /** Independent inviter, when QQ supplies one. Zero does not prove absence. */ + invitor_id?: number; + invitor_status?: GroupIdentityStatus; +} + +export type BotStatusSubType = 'online' | 'offline'; + +/** Bridge session edge. Not KickNT `bot_offline`. */ +export interface OneBotBotStatusEvent extends OneBotNoticeEvent { + notice_type: 'bot_status'; + sub_type: BotStatusSubType; + user_id: number; +} + +export interface OneBotRequestEvent extends OneBotBaseEvent { + post_type: 'request'; + request_type: string; + flag: string; + sub_type?: string; + group_id?: number; + user_id?: number; + /** Invitee QQ number on `request.group` / `invite`. */ + invited_id?: number; + comment?: string; +} + +export interface OneBotMetaEvent extends OneBotBaseEvent { + post_type: 'meta_event'; + meta_event_type: string; +} + +export type SnowLumaEvent = + OneBotMessageEvent | OneBotNoticeEvent | OneBotRequestEvent | OneBotMetaEvent | OneBotBaseEvent; diff --git a/packages/sdk/src/types/index.ts b/packages/sdk/src/types/index.ts new file mode 100644 index 00000000..ab5e1337 --- /dev/null +++ b/packages/sdk/src/types/index.ts @@ -0,0 +1,8 @@ +export * from './json.js'; +export * from './messages.js'; +export * from './results.js'; +export * from './params.js'; +export * from './actions.js'; +export * from './events.js'; +export * from './streaming.js'; +export * from './media.js'; diff --git a/packages/sdk/src/types/json.ts b/packages/sdk/src/types/json.ts new file mode 100644 index 00000000..1b0589e4 --- /dev/null +++ b/packages/sdk/src/types/json.ts @@ -0,0 +1,43 @@ +export type JsonPrimitive = string | number | boolean | null; +export type JsonValue = JsonPrimitive | JsonObject | JsonArray; + +export interface JsonObject { + [key: string]: JsonValue | undefined; +} + +export type JsonArray = JsonValue[]; + +export interface ApiResponse { + status: 'ok' | 'failed'; + retcode: number; + data: TData; + echo?: JsonValue; + wording?: string; +} + +export interface OneBotRequest { + action: string; + params?: TParams; + echo?: JsonValue; +} + +export type WsRole = 'Api' | 'Event' | 'Universal'; +export type MessageFormat = 'array' | 'string'; + +/** Per-request controls shared by HTTP and WebSocket clients. */ +export interface RequestOptions { + /** Echo value used to correlate OneBot request and response packets. */ + echo?: JsonValue; + /** Total request timeout, including connection and response waits. Set to 0 to disable. */ + timeoutMs?: number; + /** Cancels the request before a SnowLuma response arrives. */ + signal?: AbortSignal; +} + +/** Shared options accepted by concrete SnowLuma clients. */ +export interface SnowLumaClientOptions { + /** Access token configured in SnowLuma's OneBot settings. */ + accessToken?: string; + /** Default total timeout for API calls in milliseconds, including connection waits. Defaults to 30000. */ + requestTimeoutMs?: number; +} diff --git a/packages/sdk/src/types/media.ts b/packages/sdk/src/types/media.ts new file mode 100644 index 00000000..6275603f --- /dev/null +++ b/packages/sdk/src/types/media.ts @@ -0,0 +1,34 @@ +import type { ImageSegment, RecordSegment, VideoSegment } from './messages.js'; +import type { UploadFileSource, UploadFileStreamOptions } from './streaming.js'; + +/** A byte source with a filename, including files opened by @snowluma/sdk/node. */ +export interface NamedMediaSource { + readonly source: UploadFileSource; + readonly filename: string; +} + +/** Strings are deliberately excluded: existing string paths refer to the server. */ +export type MediaSource = UploadFileSource | NamedMediaSource; + +export interface SendImageOptions extends UploadFileStreamOptions { + image?: Omit; +} + +export interface SendRecordOptions extends UploadFileStreamOptions { + record?: Omit; +} + +export interface SendVideoOptions extends UploadFileStreamOptions { + /** A thumbnail path, if supplied, still refers to the server. */ + video?: Omit; +} + +export interface SendFileOptions extends UploadFileStreamOptions { + /** Display name in QQ; defaults to the uploaded file's name. */ + name?: string; +} + +export interface SendGroupFileOptions extends SendFileOptions { + folder?: string; + folderId?: string; +} diff --git a/packages/sdk/src/types/messages.ts b/packages/sdk/src/types/messages.ts new file mode 100644 index 00000000..e650f1aa --- /dev/null +++ b/packages/sdk/src/types/messages.ts @@ -0,0 +1,117 @@ +import type { JsonObject } from './json.js'; + +export interface MessageSegment< + TType extends string = string, + TData extends Record = JsonObject, +> { + type: TType; + data: TData; +} + +export type TextSegment = MessageSegment<'text', { text: string }>; +export type FaceSegment = MessageSegment< + 'face', + { id: string; large?: boolean; resultId?: string } +>; +export type AtSegment = MessageSegment<'at', { qq: string; name?: string; uid?: string }>; +type ReplyContent = { + /** Inline quote preview; supported only inside merged-forward nodes. */ + message: string | AnyMessageSegment | AnyMessageSegment[]; + qq?: string | number; + time?: string | number; + seq?: string | number; +}; +export type ReplySegment = MessageSegment<'reply', { id: string } & Partial>; +export type CustomReplySegment = MessageSegment<'reply', { id?: string } & ReplyContent>; +export type ImageSegment = MessageSegment< + 'image', + { + file: string; + type?: 'flash'; + subType?: number; + summary?: string; + url?: string; + } +>; +export type RecordSegment = MessageSegment<'record', { file: string; url?: string }>; +export type VideoSegment = MessageSegment<'video', { file: string; url?: string; thumb?: string }>; +export type JsonSegment = MessageSegment<'json', { data: string }>; +export type XmlSegment = MessageSegment<'xml', { data: string; id?: string }>; +export type PokeSegment = MessageSegment<'poke', { type: string | number; id?: string | number }>; +export type ForwardSegment = MessageSegment< + 'forward', + { id: string; res_id?: string; forward_id?: string } +>; +export type NodeSegment = MessageSegment< + 'node', + { + user_id: number; + nickname: string; + content: OutgoingMessage; + } +>; +export type ShareSegment = MessageSegment< + 'share', + { + url: string; + title: string; + content?: string; + image?: string; + } +>; +export type MusicSegment = MessageSegment< + 'music', + { + type: string; + id?: string; + url?: string; + audio?: string; + title?: string; + image?: string; + content?: string; + } +>; +export type LocationSegment = MessageSegment< + 'location', + { + lat: string | number; + lon: string | number; + title?: string; + content?: string; + } +>; +export type ContactSegment = MessageSegment< + 'contact', + { + type: 'qq' | 'group' | string; + id: string | number; + } +>; + +export type KnownMessageSegment = + | TextSegment + | FaceSegment + | AtSegment + | ReplySegment + | ImageSegment + | RecordSegment + | VideoSegment + | JsonSegment + | XmlSegment + | PokeSegment + | ForwardSegment + | NodeSegment + | ShareSegment + | MusicSegment + | LocationSegment + | ContactSegment; + +export type AnyMessageSegment = KnownMessageSegment | CustomReplySegment | MessageSegment; + +export interface MessageChainLike { + readonly length: number; + toSegments(): AnyMessageSegment[]; + toJSON(): AnyMessageSegment[]; +} + +export type OutgoingMessage = string | MessageChainLike | AnyMessageSegment | AnyMessageSegment[]; diff --git a/packages/sdk/src/types/params.ts b/packages/sdk/src/types/params.ts new file mode 100644 index 00000000..69ae145e --- /dev/null +++ b/packages/sdk/src/types/params.ts @@ -0,0 +1,810 @@ +import type { JsonObject, JsonValue } from './json.js'; + +export interface SendMsgParams extends JsonObject { + message_type?: 'private' | 'group' | string; + user_id?: number; + group_id?: number; + message: JsonValue; + auto_escape?: boolean; +} + +export interface SendPrivateMsgParams extends JsonObject { + user_id: number; + message: JsonValue; + auto_escape?: boolean; +} + +export interface SendGroupMsgParams extends JsonObject { + group_id: number; + message: JsonValue; + auto_escape?: boolean; +} + +export interface MessageIdParams extends JsonObject { + message_id: number; +} + +export interface GroupIdParams extends JsonObject { + group_id: number; +} + +export interface GroupClassParams extends JsonObject { + group_class: number; +} + +export interface GroupCategoryTagNameParams extends GroupClassParams { + name: string; +} + +export interface UserIdParams extends JsonObject { + user_id: number; +} + +export interface NoCacheParams extends JsonObject { + no_cache?: boolean; +} + +export interface GetOnlineClientsParams extends NoCacheParams {} + +export interface GetGroupListParams extends NoCacheParams {} + +export interface GetGroupInfoParams extends GroupIdParams { + no_cache?: boolean; +} + +export interface GetGroupShareLinkParams extends GroupIdParams { + need_short_url?: boolean; + src_id?: number; + additional_param?: string; +} + +export interface GetGroupMemberListParams extends GroupIdParams { + no_cache?: boolean; +} + +export interface GetGroupMemberInfoParams extends GroupIdParams { + user_id: number; + no_cache?: boolean; +} + +export interface GetGroupHonorInfoParams extends GroupIdParams { + type?: 'talkative' | 'performer' | 'legend' | 'strong_newbie' | 'emotion' | 'all' | string; +} + +export interface GetGroupSystemMsgParams extends JsonObject { + group_id?: number; + only_pending?: boolean; + count?: number; +} + +export interface DeleteFriendParams extends UserIdParams { + block?: boolean; +} + +export interface SetGroupKickParams extends GroupIdParams { + user_id: number; + reject_add_request?: boolean; +} + +export interface SetGroupKickMembersParams extends GroupIdParams { + user_id: number[]; + reject_add_request?: boolean; +} + +export interface SetGroupBanParams extends GroupIdParams { + user_id: number; + duration?: number; +} + +export interface SetGroupWholeBanParams extends GroupIdParams { + enable?: boolean; +} + +export interface SetGroupAddOptionParams extends GroupIdParams { + add_type: number; + group_question?: string; + group_answer?: string; +} + +export interface SetGroupAdminParams extends GroupIdParams { + user_id: number; + enable?: boolean; +} + +export interface SetGroupCardParams extends GroupIdParams { + user_id: number; + card?: string; +} + +export interface SetGroupNameParams extends GroupIdParams { + group_name: string; +} + +export interface SetGroupSpecialTitleParams extends GroupIdParams { + user_id: number; + special_title?: string; +} + +export type SetFriendsCategoryParams = JsonObject & + ( + | { uin: number; categoryId: number; categoryName?: never } + | { uin: number; categoryId?: never; categoryName: string } + ); + +export interface UploadGroupFileParams extends GroupIdParams { + file: string; + name?: string; + folder?: string; + folder_id?: string; + upload_file?: boolean; +} + +export interface UploadPrivateFileParams extends UserIdParams { + file: string; + name?: string; + upload_file?: boolean; +} + +export interface GetGroupFileUrlParams extends GroupIdParams { + file_id: string; + busid?: number; +} + +export interface GetGroupFilesParams extends GroupIdParams { + folder_id?: string; + folder?: string; +} + +export interface DeleteGroupFileParams extends GroupIdParams { + file_id: string; +} + +export interface MoveGroupFileParams extends GroupIdParams { + file_id: string; + parent_directory: string; + target_directory: string; +} + +export interface CreateGroupFileFolderParams extends GroupIdParams { + name: string; + parent_id?: string; +} + +export interface DeleteGroupFileFolderParams extends GroupIdParams { + folder_id: string; +} + +export interface RenameGroupFileFolderParams extends GroupIdParams { + folder_id: string; + new_folder_name?: string; + name?: string; +} + +export interface GetPrivateFileUrlParams extends UserIdParams { + file_id: string; + file_hash: string; +} + +export interface SetFriendAddRequestParams extends JsonObject { + flag: string; + approve?: boolean; +} + +export interface SetGroupAddRequestParams extends JsonObject { + flag: string; + sub_type?: string; + type?: string; + approve?: boolean; + reason?: string; +} + +export interface SendLikeParams extends UserIdParams { + times?: number; +} + +export interface FriendPokeParams extends UserIdParams { + target_id?: number; +} + +export interface GroupPokeParams extends GroupIdParams { + user_id: number; +} + +export interface SendPokeParams extends UserIdParams { + group_id?: number; +} + +export interface SetGroupReactionParams extends JsonObject { + message_id: number; + code: string; + group_id?: number; + is_set?: boolean; +} + +export interface GetMessageHistoryParams extends JsonObject { + message_id?: number; + count?: number; + /** With a non-zero message_id, include the anchor and query older (`true`) or newer (`false`) messages. Defaults to `true`. */ + reverse_order?: boolean; +} + +export interface GetGroupMessageHistoryParams extends GroupIdParams, GetMessageHistoryParams {} +export interface GetFriendMessageHistoryParams extends UserIdParams, GetMessageHistoryParams {} + +export interface MarkGroupMsgAsReadParams extends JsonObject { + message_id: number; + group_id?: number; +} + +export interface MarkPrivateMsgAsReadParams extends JsonObject { + message_id: number; + user_id?: number; +} + +export interface MarkMsgAsReadParams extends JsonObject { + message_id: number; + target_id?: number; +} + +export interface GroupNoticeParams extends GroupIdParams { + content: string; + image?: string; + pinned?: 0 | 1; + /** Compatibility field: 1=regular announcement, 20=new-member announcement. */ + type?: 1 | 20; + send_to_new_members?: boolean; + is_show_edit_card?: 0 | 1; + /** QQ's raw inverted field: 0=show popup, 1=do not show popup. */ + tip_window_type?: 0 | 1; + confirm_required?: 0 | 1; +} + +export interface ForwardPreviewParams { + // Header above the preview ("群聊的聊天记录"). Default: "聊天记录" / nicks. + source?: string; + // Per-line preview entries ("nick: text"). Default: derived from nodes. + news?: Array<{ text: string }>; + // Grey footer ("查看 N 条转发消息"). Default: "查看 N 条转发消息". + summary?: string; + // Chat-list brief ("[聊天记录]"). Default: "[聊天记录]". + prompt?: string; +} + +export interface ForwardMessageParams extends JsonObject, ForwardPreviewParams { + message_type?: 'private' | 'group' | string; + user_id?: number; + group_id?: number; + message?: JsonValue; + messages?: JsonValue; +} + +export interface GroupForwardMessageParams extends GroupIdParams, ForwardPreviewParams { + message?: JsonValue; + messages?: JsonValue; +} + +export interface PrivateForwardMessageParams extends UserIdParams, ForwardPreviewParams { + message?: JsonValue; + messages?: JsonValue; +} + +export interface GetForwardMsgParams extends JsonObject { + id?: string; + message_id?: number | string; +} + +export interface GetMediaParams extends JsonObject { + file?: string; + file_id?: string; +} + +export interface DomainParams extends JsonObject { + domain?: string; +} + +export interface QuickOperationParams extends JsonObject { + context: JsonObject; + operation: JsonObject; +} + +export interface SetFriendRemarkParams extends UserIdParams { + remark: string; +} + +export interface SetGroupRemarkParams extends GroupIdParams { + remark: string; +} + +export interface SetMsgEmojiLikeParams extends JsonObject { + message_id: number; + emoji_id: string; + set?: boolean; +} + +export interface FetchCustomFaceParams extends JsonObject { + count?: number; +} + +export type SendCustomFaceParams = JsonObject & { + /** Saved sticker resource ID or its 32-character content MD5. */ + emoji_id: string; + reply_to?: number; +} & ({ group_id: number; user_id?: never } | { user_id: number; group_id?: never }); + +export interface FetchSysFacesParams extends JsonObject { + refresh?: boolean; +} + +export interface FetchFaceEntityParams extends FetchSysFacesParams { + face_id: number; +} + +export interface SearchSysFacesParams extends JsonObject { + query: string; +} + +export interface GetCollectionListParams extends JsonObject { + /** Collection category ID; 0 returns every category. */ + category?: number; + /** Maximum number of collection items to return (1-500). */ + count?: number; +} + +export interface GetEmojiLikesParams extends MessageIdParams { + emoji_id: string; +} + +export interface FetchEmojiLikeParams extends MessageIdParams { + emojiId: string; + emojiType?: number; + count?: number; + cookie?: string; +} + +export interface DownloadFileParams extends JsonObject { + url?: string; + base64?: string; + name?: string; + headers?: string | string[]; +} + +export interface SetQqProfileParams extends JsonObject { + nickname?: string; + personal_note?: string; + sex?: number; +} + +export interface SetOnlineStatusParams extends JsonObject { + status: number; + ext_status?: number; + battery_status?: number; +} + +// DIY online status — status/extStatus are forced to 10/2000 server-side, +// and these three fields land in the customExt sub-message. +export interface SetDiyOnlineStatusParams extends JsonObject { + face_id: number | string; + wording?: string; + face_type?: number | string; +} + +// nc_get_user_status — read the QQ-side online/ext-status word for a uin. +export interface NcGetUserStatusParams extends UserIdParams {} + +// set_/complete_/cancel_group_todo all share this shape; the action verb +// lives in the route, not the body. +export interface GroupTodoParams extends GroupIdParams { + message_id: number | string; +} + +// AI voice — fetch the in-group AI character list. +export interface GetAiCharactersParams extends GroupIdParams { + chat_type?: number | string; +} + +// AI voice — `get_ai_record` and `send_group_ai_record` share params. +// The action's verb (read vs send) is the route, not the body. +export interface AiVoiceParams extends GroupIdParams { + character: string; + text: string; + chat_type?: number | string; +} + +// delete_group_folder — napcat's alias for delete_group_file_folder. +// Same body, different action name. +export interface DeleteGroupFolderParams extends GroupIdParams { + folder_id: string; +} + +// send_packet — debug endpoint, sends a hex-encoded raw packet. +// `rsp=false` skips waiting for a response. +export interface SendPacketParams extends JsonObject { + cmd: string; + data?: string; + rsp?: boolean; +} + +export interface GetQzoneMsgDetailParams extends JsonObject { + tid: string; + /** Post owner; defaults to the current account. */ + target_uin?: number | string; + /** Top-level comment offset (default 0). */ + pos?: number | string; + /** Requested page size, 1–100 (default 20); Qzone may return fewer. */ + num?: number | string; +} + +/** Numeric action fields also accept numeric strings; bounds are checked by the server. */ +export type ActionNumberInput = number | string; +/** String action fields preserve the server's number/boolean coercion. */ +export type ActionStringInput = string | number | boolean; +/** Boolean fields accept numbers and strings such as true/false, yes/no and on/off. */ +export type ActionBooleanInput = boolean | number | string; + +export interface ActionGroupIdParams extends JsonObject { + group_id: ActionNumberInput; +} + +export interface ActionUserIdParams extends JsonObject { + user_id: ActionNumberInput; +} + +export interface ActionMessageIdParams extends JsonObject { + /** Non-zero signed message ID; negative values are valid. */ + message_id: ActionNumberInput; +} + +/** Both IDs may be supplied; these actions give group_id precedence. */ +export type ActionPeerParams = JsonObject & + ( + | { group_id: ActionNumberInput; user_id?: ActionNumberInput } + | { user_id: ActionNumberInput; group_id?: ActionNumberInput } + ); + +export interface AddCustomFaceParams extends JsonObject { + file: ActionStringInput; +} + +export interface CustomFaceIdParams extends JsonObject { + emoji_id: ActionStringInput; +} + +export interface ModifyCustomFaceParams extends CustomFaceIdParams { + desc?: ActionStringInput; +} + +export interface FetchCustomFaceDetailParams extends JsonObject { + count?: ActionNumberInput; +} + +export interface GetDoubtFriendsAddRequestParams extends JsonObject { + count?: ActionNumberInput; +} + +export interface SetDoubtFriendsAddRequestParams extends JsonObject { + flag: ActionStringInput; + approve?: ActionBooleanInput; +} + +export type SharePeerParams = ActionPeerParams & { phone_number?: ActionStringInput }; + +export type SendTuwenArkParams = ActionPeerParams & { + title: ActionStringInput; + desc: ActionStringInput; + summary?: ActionStringInput; + preview_url?: ActionStringInput; + jump_url: ActionStringInput; +}; + +export interface RequestDecryptKeyParams extends JsonObject { + db_path: ActionStringInput; +} + +export interface SetGroupMemberInvitePolicyParams extends ActionGroupIdParams { + policy: 'disabled' | 'require_approval' | 'no_approval' | 'no_approval_under_100'; +} + +export interface SetGroupNewMemberHistoryVisibilityParams extends ActionGroupIdParams { + visible: ActionBooleanInput; +} + +export interface GroupAdminTargetParams extends ActionGroupIdParams { + user_id: ActionNumberInput; +} + +export type GroupAdminKickLimit = 0 | 5 | 10 | 20 | 50 | 100 | 200; + +/** Only supplied permissions change. Enabling removal requires an explicit limit. */ +export type SetGroupAdminPermissionsParams = GroupAdminTargetParams & + ( + | { + recall_member_message: ActionBooleanInput; + kick_member?: never; + kick_member_per_day?: never; + } + | { + recall_member_message?: ActionBooleanInput; + kick_member: false; + kick_member_per_day?: never; + } + | { + recall_member_message?: ActionBooleanInput; + kick_member: true; + kick_member_per_day: GroupAdminKickLimit | `${GroupAdminKickLimit}`; + } + ); + +export interface SetGroupAdminReceiveVerifyParams extends GroupAdminTargetParams { + enable: ActionBooleanInput; +} + +export type SetGroupMemberPermissionsParams = ActionGroupIdParams & + ( + | { + allow_member_upload_album: ActionBooleanInput; + allow_member_temporary_session?: ActionBooleanInput; + allow_member_create_group?: ActionBooleanInput; + } + | { + allow_member_upload_album?: ActionBooleanInput; + allow_member_temporary_session: ActionBooleanInput; + allow_member_create_group?: ActionBooleanInput; + } + | { + allow_member_upload_album?: ActionBooleanInput; + allow_member_temporary_session?: ActionBooleanInput; + allow_member_create_group: ActionBooleanInput; + } + ); + +export interface SetGroupRobotAddOptionParams extends ActionGroupIdParams { + robot_member_switch?: ActionNumberInput; + robot_member_examine?: ActionNumberInput; +} + +export interface GetQunAlbumListParams extends ActionGroupIdParams { + attach_info?: ActionStringInput; +} + +export interface GroupAlbumParams extends ActionGroupIdParams { + album_id: ActionStringInput; +} + +export interface UploadGroupAlbumMediaParams extends GroupAlbumParams { + album_name: ActionStringInput; + file: ActionStringInput; +} + +export interface GetGroupAlbumMediaListParams extends GroupAlbumParams { + attach_info?: ActionStringInput; +} + +export interface GroupAlbumMediaParams extends GroupAlbumParams { + /** Photo locator or video ID. */ + lloc: ActionStringInput; +} + +export interface GroupAlbumCommentParams extends GroupAlbumMediaParams { + content: ActionStringInput; +} + +export interface GroupAlbumMediaLikeParams extends GroupAlbumParams { + batch_id: ActionStringInput; + lloc?: ActionStringInput; +} + +export interface GetQzoneMsgListParams extends JsonObject { + target_uin?: ActionNumberInput; + pos?: ActionNumberInput; + num?: ActionNumberInput; +} + +export interface GetQzoneFeedsParams extends JsonObject { + /** Starts at 1. Without a cursor, earlier pages are traversed to reach this page. */ + page_num?: ActionNumberInput; + count?: ActionNumberInput; + /** Pass next_cursor unchanged for the same account; omit page_num when continuing. */ + cursor?: string; +} + +export interface GetQzoneProfileParams extends JsonObject { + /** Defaults to the current account's space. */ + target_uin?: ActionNumberInput; +} + +/** Updates the current account's space; omitted fields are preserved. */ +export type SetQzoneProfileParams = JsonObject & + ( + | { name: ActionStringInput; description?: ActionStringInput } + | { name?: ActionStringInput; description: ActionStringInput } + ); + +/** Non-empty text or a non-empty array of upstream rich-text items. */ +export type QzonePublicContent = string | JsonObject[]; + +export interface GetQzonePublicFeedsParams extends JsonObject { + /** Opaque account-bound next_cursor from the previous page. */ + cursor?: string; +} + +export interface GetQzoneHomeFeedsParams extends JsonObject { + target_uin?: ActionNumberInput; + /** Continuation for the same account and target homepage. */ + cursor?: string; +} + +export interface GetQzoneFeedDetailParams extends JsonObject { + /** 24 hexadecimal characters from get_qzone_msg_list or send_qzone_msg. */ + tid: string; +} + +export interface GetQzoneShareArkParams extends JsonObject { + /** Original feed from get_qzone_feed_detail, get_qzone_home_feeds or get_qzone_public_feeds. */ + feed: JsonObject; +} + +export interface QzonePublicFeedParams extends JsonObject { + /** The original feed cells returned in get_qzone_public_feeds.feeds. */ + feed: JsonObject; +} + +export interface GetQzonePublicCommentsParams extends QzonePublicFeedParams { + /** Upstream attach_info from the detail or previous comment page. */ + cursor: string; +} + +export interface QzonePublicCommentParams extends QzonePublicFeedParams { + /** Preserve the complete upstream parent comment. */ + comment: JsonObject; +} + +export interface GetQzonePublicRepliesParams extends QzonePublicCommentParams { + /** Omit to use comment.reply_attach_info; then pass the reply page's cursor unchanged. */ + cursor?: string; + /** Defaults to 20; must be at least 1. */ + page_size?: ActionNumberInput; +} + +export interface QzonePublicInteractionParams extends QzonePublicFeedParams { + /** Defaults to true; false cancels the interaction. */ + enable?: ActionBooleanInput; +} + +export interface SetQzonePublicCommentLikeParams extends QzonePublicCommentParams { + /** Omit for the parent comment; provide the complete upstream reply to like that reply. */ + reply?: JsonObject; + /** Defaults to true; false cancels the like. */ + enable?: ActionBooleanInput; +} + +export interface CommentQzonePublicFeedParams extends QzonePublicFeedParams { + content: QzonePublicContent; +} + +export interface ReplyQzonePublicFeedParams extends CommentQzonePublicFeedParams { + comment: JsonObject; + /** Preserve a specific upstream reply when addressing its author. */ + reply?: JsonObject; +} + +export interface QzonePublicReplyParams extends QzonePublicCommentParams { + reply: JsonObject; +} + +export interface ForwardQzonePublicFeedParams extends QzonePublicFeedParams { + reason?: string; +} + +export interface QzoneMsgIdParams extends JsonObject { + tid: ActionStringInput; +} + +/** 1=public, 4=friends, 16=selected friends, 64=self, 128=exclude selected friends. */ +export type QzoneUgcRight = 1 | 4 | 16 | 64 | 128; + +export interface SendQzoneMsgParams extends JsonObject { + content: ActionStringInput; + images?: ActionStringInput[]; + /** Defaults to 1. Values are validated as QzoneUgcRight by the server. */ + ugc_right?: ActionNumberInput; + /** Required and non-empty when ugc_right is 16 or 128. */ + target_uins?: ActionNumberInput[]; +} + +export interface SetQzoneMsgRightParams extends QzoneMsgIdParams { + /** One of the QzoneUgcRight values, also accepted as a numeric string. */ + ugc_right: ActionNumberInput; + /** Required and non-empty when ugc_right is 16 or 128. */ + target_uins?: ActionNumberInput[]; +} + +export interface LikeQzoneParams extends QzoneMsgIdParams { + target_uin?: ActionNumberInput; + /** Post publication time in Unix seconds. */ + abstime?: ActionNumberInput; +} + +export interface CommentQzoneParams extends QzoneMsgIdParams { + content: ActionStringInput; + /** Post owner, not the author being replied to. Defaults to the current account. */ + target_uin?: ActionNumberInput; + /** Top-level parent ID, including "0". Requires comment_uin; omit for an ordinary comment. */ + comment_id?: ActionStringInput; + /** Parent comment author from get_qzone_msg_detail. Requires comment_id. */ + comment_uin?: ActionNumberInput; + /** Author to address inside the parent thread. Requires reply_name and a parent comment. */ + reply_uin?: ActionNumberInput; + /** Addressed author's name from comment details. Requires reply_uin. */ + reply_name?: ActionStringInput; + /** Ordinary comments only; non-empty images with comment_id are rejected before upload. */ + images?: ActionStringInput[]; +} + +export interface SetQzoneBanParams extends ActionUserIdParams { + enable?: ActionBooleanInput; +} + +export type FlashTaskFile = string | { file: string; name?: string }; + +export interface CreateFlashTaskParams extends JsonObject { + /** A path, a named file, or a non-empty array mixing both forms. */ + files: FlashTaskFile | FlashTaskFile[]; + name?: ActionStringInput; + thumb_path?: ActionStringInput; +} + +export interface FilesetIdParams extends JsonObject { + fileset_id: ActionStringInput; +} + +export interface GetFlashFileUrlParams extends FilesetIdParams { + /** Accepted for compatibility; this action selects by file_index. */ + file_name?: ActionStringInput; + file_index?: ActionNumberInput; +} + +export interface DownloadFilesetParams extends FilesetIdParams { + file_name?: ActionStringInput; + file_index?: ActionNumberInput; +} + +export interface RenameFlashFileParams extends FilesetIdParams { + new_name: ActionStringInput; +} + +export type SendFlashMsgParams = FilesetIdParams & ActionPeerParams; + +export interface GetFilesetIdParams extends JsonObject { + share_code: ActionStringInput; +} + +export interface UploadFileStreamParams extends JsonObject { + stream_id: ActionStringInput; + chunk_data?: ActionStringInput; + chunk_index?: ActionNumberInput; + /** Required when creating a stream; omitted for status, reset and later chunks. */ + total_chunks?: ActionNumberInput; + file_size?: ActionNumberInput; + expected_sha256?: ActionStringInput; + is_complete?: ActionBooleanInput; + filename?: ActionStringInput; + reset?: ActionBooleanInput; + verify_only?: ActionBooleanInput; + /** Retention in milliseconds; 0 disables automatic expiry. */ + file_retention?: ActionNumberInput; +} + +export type DownloadFileStreamParams = JsonObject & { + chunk_size?: ActionNumberInput; +} & ( + | { file: ActionStringInput; file_id?: ActionStringInput } + | { file_id: ActionStringInput; file?: ActionStringInput } + ); + +export interface TestDownloadStreamParams extends JsonObject { + error?: ActionBooleanInput; +} +export interface GetFriendListParams extends JsonObject { + /** Query missing public profiles explicitly; cached per account for five minutes. */ + with_profile?: boolean; +} diff --git a/packages/sdk/src/types/results.ts b/packages/sdk/src/types/results.ts new file mode 100644 index 00000000..a27f2104 --- /dev/null +++ b/packages/sdk/src/types/results.ts @@ -0,0 +1,818 @@ +import type { OneBotPrivateMessageEvent } from './events.js'; +import type { JsonArray, JsonObject, JsonValue } from './json.js'; + +/** Unknown includes missing information; it does not mean that no such person exists. */ +export type GroupIdentityStatus = 'known' | 'unknown'; + +export interface GroupSystemMessage extends JsonObject { + group_id: number; + group_name: string; + request_id: number; + requester_uin: number; + requester_nick: string; + invitor_uin: number; + invitor_nick: string; + message: string; + checked: boolean; + flag: string; + /** Always the applicant or invitee; unlike requester_uin on self invitations. */ + target_uin?: number; + target_nick?: string; + target_status?: GroupIdentityStatus; + invitor_status?: GroupIdentityStatus; + /** The person who handled the request, not necessarily the inviter. */ + operator_uin?: number; + operator_nick?: string; + operator_status?: GroupIdentityStatus; +} + +export interface QzoneCommentReply { + uin: number; + name: string; + /** Unix seconds. */ + time: number; + content: string; + /** Scoped to the post, or parent comment for replies. */ + comment_id: string; + /** Present on nested replies from newer servers; identifies their top-level parent. */ + parent_comment_id?: string; + parent_comment_uin?: number; +} + +export interface QzoneComment extends QzoneCommentReply { + /** Inline replies only; Qzone may omit further replies. */ + replies: QzoneCommentReply[]; +} + +export interface QzoneMsgDetailResult { + tid: string; + content: string; + /** Server-reported total, not the number of comments on this page. */ + comment_num: number; + comments: QzoneComment[]; +} + +export interface SendMessageResult { + message_id: number; +} + +export interface ForwardMessageResult { + message_id: number; + res_id: string; + forward_id: string; +} + +export interface UploadForwardResult { + message_id: number; + res_id: string; + forward_id: string; + group_id?: number; +} + +export interface LoginInfo { + user_id: number; + nickname: string; +} + +export interface StatusInfo { + online: boolean; + good: boolean; + /** Current account-session uptime in seconds, matching #sl. */ + time: number; +} + +export interface VersionInfo { + app_name: string; + app_version: string; + protocol_version: string; +} + +export interface CapabilityInfo { + yes: boolean; +} + +export interface GroupFileUrl { + url: string; +} + +export interface PrivateFileUrl { + url: string; +} + +export interface GroupFileSystemInfo { + file_count: number; + limit_count: number; + used_space: number; + total_space: number; +} + +export interface GroupMessageHistory { + messages: JsonObject[]; +} + +export interface FriendMessageHistory { + messages: Array>; +} + +export interface GroupNoticeInfo { + notice_id: string; + sender_id: number; + publish_time: number; + message: { + text: string; + image: Array<{ id: string; url: string; height: number; width: number }>; + images: Array<{ id: string; url: string; height: number; width: number }>; + }; + settings: JsonValue; + read_num: number; + /** Server response type; regular announcements are commonly returned as 6. */ + type: number; + pinned: number; + send_to_new_members: boolean; +} + +export interface ProfilePrivilege extends JsonObject { + type?: number; + level?: number; + flag?: number; + is_big?: number; + jump_url?: string; + icon_url?: string; + deluxe_icon_url?: string; +} + +/** Fields are present only when supplied by QQ; empty strings, false and zero are valid. */ +export interface PublicProfileFields extends JsonObject { + long_nick?: string; + sex?: 'male' | 'female' | 'unknown'; + age?: number; + level?: number; + birthday_year?: number; + birthday_month?: number; + birthday_day?: number; + phone_num?: string; + email?: string; + country?: string; + province?: string; + city?: string; + college?: string; + is_qq_vip?: boolean; + is_vip?: boolean; + is_years_vip?: boolean; + vip_level?: number; + privilege_icons?: { + jump_url?: string; + open: ProfilePrivilege[]; + closed: ProfilePrivilege[]; + }; +} + +export interface FriendInfo extends PublicProfileFields { + user_id: number; + nickname: string; + remark: string; + category_id?: number; +} + +export interface CategorizedFriend extends FriendInfo {} + +export interface StrangerInfo extends PublicProfileFields { + user_id: number; + nickname: string; + remark: string; + sex: 'male' | 'female' | 'unknown'; + age: number; + long_nick: string; +} + +export interface FriendCategoryResult { + categoryId: number; + categoryName: string; + categoryMbCount: number; + buddyList: CategorizedFriend[]; +} + +export interface MediaInfo extends JsonObject {} + +export interface CookieInfo { + cookies: string; +} + +export interface CsrfInfo { + token: number; +} + +export interface CredentialsInfo { + cookies: string; + token: number; + csrf_token: number; +} + +export interface DownloadFileResult { + file: string; +} + +export interface ClientKeyInfo { + clientKey: string; + keyIndex: string; + expireTime: string; +} + +export interface OnlineClientInfo { + app_id: number; + device_name: string; + device_kind: '电脑' | 'Pad' | '手机' | '未知设备'; +} + +export interface OnlineClientsInfo { + clients: OnlineClientInfo[]; +} + +export interface CollectionAuthorInfo extends JsonObject { + type: number; + numId: string; + strId: string; + groupId: string; + groupName: string; + uid: string; +} + +export interface CollectionSummaryInfo extends JsonObject { + textSummary: JsonValue; + linkSummary: JsonValue; + gallerySummary: JsonValue; + audioSummary: JsonValue; + videoSummary: JsonValue; + fileSummary: JsonValue; + locationSummary: JsonValue; + richMediaSummary: JsonValue; +} + +export interface CollectionItemInfo extends JsonObject { + cid: string; + type: number; + status: number; + author: CollectionAuthorInfo; + bid: number; + category: number; + createTime: string; + collectTime: string; + modifyTime: string; + sequence: string; + shareUrl: string; + customGroupId: number; + securityBeat: boolean; + summary: CollectionSummaryInfo; +} + +export interface CollectionSearchListInfo extends JsonObject { + collectionItemList: CollectionItemInfo[]; + hasMore: boolean; + bottomTimeStamp: string; +} + +export interface CollectionListInfo extends JsonObject { + errCode: number; + errMsg: string; + collectionSearchList: CollectionSearchListInfo; +} + +export interface SystemFaceInfo extends JsonObject { + q_sid: string; + q_des: string; + em_code: string; + q_cid: number | null; + ani_sticker_type: number | null; + ani_sticker_pack_id: number | null; + ani_sticker_id: number | null; + url: string | null; + emoji_name_alias: string[]; + ani_sticker_width: number | null; + ani_sticker_height: number | null; + is_super: boolean; +} + +export interface SystemFacePackInfo extends JsonObject { + pack_name: string; + emojis: SystemFaceInfo[]; +} + +export interface SystemFaceCatalogInfo extends JsonObject { + packs: SystemFacePackInfo[]; +} + +export interface SystemFaceSearchInfo extends JsonObject { + faces: SystemFaceInfo[]; +} + +export interface SuperFaceInfo extends JsonObject { + is_super: boolean; +} + +export interface UrlSafetyInfo { + level: number; +} + +export interface GroupAtAllRemainInfo { + can_at_all: boolean; + remain_at_all_count_for_group: number; + remain_at_all_count_for_uin: number; +} + +export interface GroupCategoryTag { + id: number; + name: string; + type: number; +} + +export interface GroupCategoryTagList { + tags: GroupCategoryTag[]; +} + +export type GroupAdminSettings = { + add_type: number; + group_question: string; + group_answer: string; + robot_member_switch: number; + robot_member_examine: number; + member_invite_policy: 'disabled' | 'require_approval' | 'no_approval' | 'no_approval_under_100'; + allow_member_upload_album: boolean; + allow_member_temporary_session: boolean; + allow_member_create_group: boolean; + new_member_history_visible: boolean; + no_finger_open: number; + no_code_finger_open: number; +}; + +export interface GroupAdminPermissions { + group_id: number; + user_id: number; + /** Null means the server did not specify this permission. */ + recall_member_message: boolean | null; + kick_member: boolean | null; + /** Zero means unlimited; null means removal is disabled or unspecified. */ + kick_member_per_day: number | null; + /** Whether join-verification messages are received; null means the state was not returned. */ + receive_verify: boolean | null; +} + +export interface GroupTodoListItem { + message_id: number; + message_seq: number; + message_random: number; + message: JsonArray | null; + text: string; + create_time: number; + update_time: number; +} + +export type EmptyData = null; + +// — AI 语音角色:get_ai_characters 返回的分类数组 — +export interface AiCharacter { + character_id: string; + character_name: string; + preview_url: string; +} + +export interface AiCharacterCategory { + type: string; + characters: AiCharacter[]; +} + +// — nc_get_user_status 返回的状态字 — +export interface UserOnlineStatus { + status: number; + ext_status: number; +} + +// — send_group_ai_record 返回 — +export interface SendGroupAiRecordResult { + message_id: number; +} + +export interface CustomFaceDetail extends JsonObject { + emoji_id: string; + resId: string; + url: string; + md5: string; + desc: string; +} + +export interface AddCustomFaceResult extends JsonObject { + emoji_id: string; +} + +export interface PttTextResult extends JsonObject { + text: string; +} + +export interface MessageEmojiLikeInfo extends JsonObject { + emoji_id: string; + emoji_type: number; + count: number; + last_reaction_time: number; + users: Array<{ user_id: number }>; +} + +export interface GroupSignedMember extends JsonObject { + user_id: number; + nick: string; + time: number; + rank: number; +} + +export interface DoubtFriendsAddRequest extends JsonObject { + /** Pass this UID back as the request's flag. */ + uid: string; + user_id: number; + nick: string; + source: string; + reason: string; + msg: string; + group_code: string; + reqTime: number; +} + +export interface FriendDressItem extends JsonObject { + app_id: number; + kind: string; + item_id: number; + name: string; + preview_url: string; + video_url: string; + price: number; +} + +export interface FriendDressResult extends JsonObject { + target_uin: string; + is_svip: boolean; + avatar_url: string; + items: FriendDressItem[]; +} + +export interface ArkShareResult extends JsonObject { + arkMsg: string; +} + +export interface DecryptKeyResult extends JsonObject { + db_key: string; +} + +export interface RkeyServerResult extends JsonObject { + /** Unix seconds; either key can be absent. */ + expired_time: number; + name: string; + private_rkey?: string; + group_rkey?: string; +} + +export interface QzoneEmotion extends JsonObject { + tid: string; + content: string; + /** Unix seconds. */ + time: number; + comment_num: number; + is_private: boolean; + images: string[]; +} + +export interface QzoneMsgListResult extends JsonObject { + total: number; + msglist: QzoneEmotion[]; +} + +export interface QzoneProfileResult extends JsonObject { + name: string; + description: string; +} + +export interface QzonePublicFeedsPage extends JsonObject { + /** Original feed cells, with the upstream item.feed wrapper removed. */ + feeds: JsonObject[]; + /** Controls pagination even when a page contains fewer than ten items. */ + has_more: boolean; + /** Account-bound continuation; null when the list ends. */ + next_cursor: string | null; +} + +export interface QzoneFeedDetailResult extends JsonObject { + /** Original cells, suitable for get_qzone_share_ark when sharing is permitted. */ + feed: JsonObject; + /** Upstream comment continuation; null when none is supplied. No automatic pagination. */ + attach_info: string | null; +} + +export interface QzoneShareArkResult extends JsonObject { + /** Preserve this string when sending a JSON message. */ + ark: string; + /** Display notice and obtain confirmation before sending when true. */ + requires_confirmation: boolean; + notice: string | null; +} + +export interface QzoneFeed extends JsonObject { + uin: number; + nickname: string; + time: number; + appid: number; + key: string; + html: string; + /** Newer servers return these fields; null means the source could not establish the value. */ + tid?: string | null; + content?: string | null; + /** False for a collapsed excerpt; null when content is unavailable. */ + content_complete?: boolean | null; + /** Images visible in the post body, excluding avatars, comment images and video covers. */ + images?: string[] | null; + like_count?: number | null; + comment_count?: number | null; +} + +export interface QzoneFeedsResult extends JsonObject { + feeds: QzoneFeed[]; + has_more: boolean; + /** Opaque account-bound continuation; null at the end, absent on older servers. */ + next_cursor?: string | null; +} + +export interface QzonePublishResult extends JsonObject { + tid: string; + time: number; +} + +export interface QzoneCommentResult extends JsonObject { + /** New comment/reply ID. Ordinary comments may return an empty string if upstream omits it. */ + comment_id: string; + /** Present when creating a nested reply, distinct from its new comment_id. */ + parent_comment_id?: string; + parent_comment_uin?: number; +} + +export interface QzoneUpdateRightResult extends JsonObject { + ugc_right: number; +} + +export interface QunAlbumCoverUrl extends JsonObject { + url: string; + width: number; + height: number; +} + +export interface QunAlbumCoverPhotoUrl extends JsonObject { + spec: number; + url: QunAlbumCoverUrl | null; +} + +export interface QunAlbumCoverImage extends JsonObject { + name: string; + sloc: string; + lloc: string; + photoUrls: QunAlbumCoverPhotoUrl[]; + defaultUrl: QunAlbumCoverUrl | null; + isGif: boolean; + hasRaw: boolean; +} + +export interface QunAlbumCover extends JsonObject { + type: number; + image: QunAlbumCoverImage | null; +} + +export interface GroupAlbumInfo extends JsonObject { + id: string; + name: string; + picNum: number; + createTime: number; + desc: string; + owner: string; + createuin: string; + createnickname: string; + last_upload_time: number; + cover: QunAlbumCover | null; +} + +export interface QunAlbumCreator extends JsonObject { + uid: string; + nick: string; + is_sweet: boolean; + is_special: boolean; + is_super_like: boolean; + custom_id: string; + poly_id: string; + portrait: string; + can_follow: number; + isfollowed: number; + uin: string; + ditto_uin: string; +} + +export interface QunAlbumInfo extends JsonObject { + album_id: string; + owner: string; + name: string; + desc: string; + /** The Qun API preserves 64-bit times and counts as decimal strings. */ + create_time: string; + modify_time: string; + last_upload_time: string; + upload_number: string; + cover: QunAlbumCover | null; + creator?: QunAlbumCreator; + top_flag: string; + busi_type: number; + status: number; + allow_share: boolean; + is_subscribe: boolean; + bitmap: string; + is_share_album: boolean; + qz_album_type: number; + cover_type: number; + default_desc: string; + sort_type: number; +} + +export interface QunAlbumListResult extends JsonObject { + album_list: QunAlbumInfo[]; + attach_info: string; + has_more: boolean; +} + +// Media-list fields are passed through from QQ, unlike normalized album covers. +// Omitted fields stay optional; explicitly undefined decoded values become null. +export interface GroupAlbumMediaUrl extends JsonObject { + url?: string | null; + width?: number | null; + height?: number | null; +} + +export interface GroupAlbumMediaPhotoUrl extends JsonObject { + spec?: number | null; + url?: GroupAlbumMediaUrl | null; +} + +export interface GroupAlbumMediaImage extends JsonObject { + name?: string | null; + sloc?: string | null; + lloc?: string | null; + photoUrls?: GroupAlbumMediaPhotoUrl[] | null; + defaultUrl?: GroupAlbumMediaUrl | null; + isGif?: boolean | null; + hasRaw?: boolean | null; +} + +export interface GroupAlbumMediaVideo extends JsonObject { + id?: string | null; + url?: string | null; + cover?: GroupAlbumMediaImage | null; + width?: number | null; + height?: number | null; + videoTime?: string | null; + videoUrl?: GroupAlbumMediaPhotoUrl[] | null; +} + +export interface GroupAlbumMediaInfo extends JsonObject { + type?: number | null; + image?: GroupAlbumMediaImage | null; + video?: GroupAlbumMediaVideo | null; + uploader?: string | null; + batchId?: string | null; + uploadTime?: string | null; +} + +export interface GroupAlbumMediaResult extends JsonObject { + mediaList: GroupAlbumMediaInfo[]; + nextAttachInfo: string; +} + +export interface GroupAlbumCommentResult extends JsonObject { + id: string; + user: { uin: string }; + content: Array<{ type: number; content: string }>; + time: string; + clientKey: string; +} + +export interface GroupAlbumMediaLikeResult extends JsonObject { + id?: string | null; + status?: number | null; +} + +export interface UploadGroupAlbumVideoResult extends JsonObject { + id: string; +} + +export interface DeleteGroupAlbumMediaResult extends JsonObject { + success: true; +} + +export interface CreateFlashTaskResult extends JsonObject { + fileset_id: string; + task_id: string; +} + +export interface FlashFileInfo extends JsonObject { + fileset_id: string; + file_name: string; + orig_name: string; + size: number; + share_url: string; + file_id: string; + download_url: string; +} + +export interface FilesetInfo extends JsonObject { + fileset_id: string; + file_list: FlashFileInfo[]; +} + +export interface FlashFileUrl extends JsonObject { + url: string; +} + +export interface DownloadFilesetResult extends FlashFileUrl { + file_name: string; + file_size: number; +} + +export interface FilesetIdResult extends JsonObject { + fileset_id: string; +} + +export interface SendFlashMsgResult extends JsonObject { + /** Flash sharing has no ordinary message ID; the server returns this sentinel. */ + message_id: 0; +} + +export interface CleanStreamTempFileResult extends JsonObject { + message: string; + removed: number; + freed_bytes: number; + skipped_active: number; +} + +/** Stream errors are carried by failed envelopes; raw() throws for these. */ +export interface StreamErrorData extends JsonObject { + type: 'error'; + data_type: 'error'; +} + +export interface UploadFileStreamStatus extends JsonObject { + type: 'stream'; + stream_id: string; + status: 'file_created' | 'chunk_received'; + received_chunks: number; + total_chunks: number; +} + +export interface UploadFileStreamComplete extends JsonObject { + type: 'response'; + stream_id: string; + status: 'file_complete'; + received_chunks: number; + total_chunks: number; + file_path: string; + file_name: string; + file_size: number; + sha256: string; +} + +export type UploadFileStreamResult = + UploadFileStreamStatus | UploadFileStreamComplete | StreamErrorData; + +export interface DownloadFileStreamInfo extends JsonObject { + type: 'stream'; + data_type: 'file_info'; + file_name: string; + file_size: number; + chunk_size: number; +} + +export interface DownloadFileStreamChunk extends JsonObject { + type: 'stream'; + data_type: 'file_chunk'; + index: number; + /** Base64-encoded bytes. */ + data: string; + size: number; + progress: number; + base64_size: number; +} + +export interface DownloadFileStreamComplete extends JsonObject { + type: 'response'; + data_type: 'file_complete'; + file_name: string; + total_chunks: number; + total_bytes: number; + message: string; +} + +/** One frame's data, not an aggregated download. A streaming transport is required. */ +export type DownloadFileStreamResult = + DownloadFileStreamInfo | DownloadFileStreamChunk | DownloadFileStreamComplete | StreamErrorData; + +export type TestDownloadStreamResult = + | { type: 'stream'; data_type: 'data_chunk'; data: string } + | { type: 'response'; data_type: 'data_complete'; data: string } + | StreamErrorData; diff --git a/packages/sdk/src/types/streaming.ts b/packages/sdk/src/types/streaming.ts new file mode 100644 index 00000000..43b57859 --- /dev/null +++ b/packages/sdk/src/types/streaming.ts @@ -0,0 +1,53 @@ +import type { ApiResponse, RequestOptions } from './json.js'; +import type { DownloadFileStreamInfo } from './results.js'; + +export type DownloadStreamAction = + 'download_file_stream' | 'download_file_image_stream' | 'download_file_record_stream'; + +export type SnowLumaStreamAction = + DownloadStreamAction | 'upload_file_stream' | 'test_download_stream'; + +/** Authentication/validation failures can arrive without the stream marker. */ +export interface StreamApiResponse extends ApiResponse { + stream?: 'stream-action'; + message?: string; +} + +export interface StreamRequestOptions extends RequestOptions { + /** Maximum HTTP frame or queued WebSocket payload bytes. Default: 32 MiB. */ + maxBufferBytes?: number; + /** Maximum queued WebSocket frames. Default: 256. */ + maxBufferedFrames?: number; +} + +export type UploadFileSource = + Uint8Array | Blob | ReadableStream | AsyncIterable; + +export interface UploadProgress { + streamId: string; + uploadedBytes: number; + fileSize: number; + uploadedChunks: number; + totalChunks: number; +} + +export interface UploadFileStreamOptions extends RequestOptions { + /** Required for streams/async iterables; inferred for Uint8Array and Blob. */ + fileSize?: number; + /** Decoded bytes per chunk, 1–1048576. Default: 64 KiB. */ + chunkSize?: number; + /** Must identify a fresh upload. Generated automatically when omitted. */ + streamId?: string; + filename?: string; + expectedSha256?: string; + /** Server-side retention in milliseconds; zero disables expiry. */ + fileRetention?: number; + /** Called after each acknowledged chunk; awaited before reading more input. */ + onProgress?: (progress: UploadProgress) => void | Promise; +} + +export interface DownloadFileStreamOptions extends StreamRequestOptions { + action?: DownloadStreamAction; + /** Called once before yielding file bytes. */ + onInfo?: (info: DownloadFileStreamInfo) => void | Promise; +} diff --git a/packages/sdk/tests/abort.test.ts b/packages/sdk/tests/abort.test.ts new file mode 100644 index 00000000..6dfcb621 --- /dev/null +++ b/packages/sdk/tests/abort.test.ts @@ -0,0 +1,82 @@ +import { afterEach, describe, expect, it, vi } from 'vitest'; +import { createRequestAbortState, raceWithAbort } from '../src/internal/abort'; + +afterEach(() => vi.useRealTimers()); + +describe('request cancellation', () => { + it('honors an existing cancellation before a completed operation', async () => { + const controller = new AbortController(); + controller.abort('already canceled'); + await expect( + raceWithAbort(Promise.resolve('done'), controller.signal), + ).rejects.toMatchObject({ + cause: 'already canceled', + }); + }); + + it('releases its listener when cancellation wins against a pending operation', async () => { + const operation = Promise.withResolvers(); + const controller = new AbortController(); + const remove = vi.spyOn(controller.signal, 'removeEventListener'); + const result = raceWithAbort(operation.promise, controller.signal); + controller.abort('canceled'); + await expect(result).rejects.toMatchObject({ cause: 'canceled' }); + expect(remove).toHaveBeenCalledWith('abort', expect.any(Function)); + operation.resolve(); + }); + + it.each(['resolve', 'reject'] as const)( + 'releases its listener when the operation will %s', + async (outcome) => { + const operation = Promise.withResolvers(); + const controller = new AbortController(); + const remove = vi.spyOn(controller.signal, 'removeEventListener'); + const result = raceWithAbort(operation.promise, controller.signal); + + if (outcome === 'resolve') { + operation.resolve('done'); + await expect(result).resolves.toBe('done'); + } else { + operation.reject(new Error('failed')); + await expect(result).rejects.toThrow('failed'); + } + + expect(remove).toHaveBeenCalledWith('abort', expect.any(Function)); + }, + ); + + it('keeps caller cancellation as the cause when the timeout expires later', () => { + vi.useFakeTimers(); + const caller = new AbortController(); + const request = createRequestAbortState(100, caller.signal); + caller.abort('caller canceled'); + vi.advanceTimersByTime(100); + expect(request.signal.reason).toBe('caller canceled'); + expect(request.isExternallyAborted()).toBe(true); + expect(request.isTimedOut()).toBe(false); + request.cleanup(); + }); + + it('keeps the timeout as the cause when the caller cancels later', () => { + vi.useFakeTimers(); + const caller = new AbortController(); + const request = createRequestAbortState(100, caller.signal); + vi.advanceTimersByTime(100); + caller.abort(); + expect(request.isTimedOut()).toBe(true); + expect(request.isExternallyAborted()).toBe(false); + request.cleanup(); + }); + + it('stops observing timeouts and caller cancellation after cleanup', () => { + vi.useFakeTimers(); + const caller = new AbortController(); + const request = createRequestAbortState(100, caller.signal); + request.cleanup(); + caller.abort(); + vi.advanceTimersByTime(100); + expect(request.signal.aborted).toBe(false); + expect(request.isTimedOut()).toBe(false); + expect(request.isExternallyAborted()).toBe(false); + }); +}); diff --git a/packages/sdk/tests/api-client.test.ts b/packages/sdk/tests/api-client.test.ts new file mode 100644 index 00000000..943ddae3 --- /dev/null +++ b/packages/sdk/tests/api-client.test.ts @@ -0,0 +1,973 @@ +import { describe, expect, it } from 'vitest'; +import { SnowLumaApiClient, toJsonObject } from '../src/client/api-client'; +import { + SnowLumaApiError, + SnowLumaAuthError, + text, + type ActionParams, + type ActionResult, + type ApiResponse, + type RequestOptions, + type SnowLumaAction, +} from '../src'; + +class RecordingClient extends SnowLumaApiClient { + readonly calls: Array<{ + action: string; + params: unknown; + options: RequestOptions | undefined; + }> = []; + + response: ApiResponse = { status: 'ok', retcode: 0, data: null }; + + async request( + action: TAction, + params?: ActionParams, + options?: RequestOptions, + ): Promise>> { + this.calls.push({ action, params, options }); + return this.response as ApiResponse>; + } +} + +function okClient(data: unknown = null): RecordingClient { + const client = new RecordingClient(); + client.response = { status: 'ok', retcode: 0, data }; + return client; +} + +describe('toJsonObject', () => { + it('returns an empty object for undefined', () => { + expect(toJsonObject(undefined)).toEqual({}); + }); + + it('returns the same object when one is provided', () => { + const value = { domain: 'qun.qq.com' }; + expect(toJsonObject(value)).toBe(value); + }); +}); + +describe('SnowLumaApiClient.call', () => { + it('preserves friend-list request options while enabling public profile enrichment', async () => { + const client = okClient([]); + await client.getFriendList({ timeoutMs: 60000, withProfile: true }); + expect(client.calls[0]).toMatchObject({ + action: 'get_friend_list', + params: { with_profile: true }, + options: { timeoutMs: 60000 }, + }); + await client.getFriendList({ timeoutMs: 1000 }); + expect(client.calls[1]).toMatchObject({ params: {}, options: { timeoutMs: 1000 } }); + }); + + it('returns response data when status is ok and retcode is 0', async () => { + const client = okClient({ user_id: 1787882683, nickname: 'luma' }); + + await expect(client.call('get_login_info', {}, { timeoutMs: 1500 })).resolves.toEqual({ + user_id: 1787882683, + nickname: 'luma', + }); + expect(client.calls).toEqual([ + { action: 'get_login_info', params: {}, options: { timeoutMs: 1500 } }, + ]); + }); + + it('throws SnowLumaApiError when status is failed even if retcode is 0', async () => { + const client = new RecordingClient(); + const response: ApiResponse = { + status: 'failed', + retcode: 0, + data: null, + wording: 'handler rejected', + }; + client.response = response; + + await expect(client.call('clean_cache', {})).rejects.toBeInstanceOf(SnowLumaApiError); + await expect(client.call('clean_cache', {})).rejects.toMatchObject({ + name: 'SnowLumaApiError', + retcode: 0, + wording: 'handler rejected', + message: 'handler rejected', + response, + }); + }); + + it('throws SnowLumaApiError when retcode is non-zero even if status is ok', async () => { + const client = new RecordingClient(); + const response: ApiResponse = { status: 'ok', retcode: 1200, data: null }; + client.response = response; + + await expect(client.getStatus()).rejects.toBeInstanceOf(SnowLumaApiError); + await expect(client.getStatus()).rejects.toMatchObject({ + name: 'SnowLumaApiError', + retcode: 1200, + message: 'SnowLuma API failed with retcode 1200', + response, + }); + }); + + it('throws SnowLumaAuthError for auth retcodes', async () => { + const client = new RecordingClient(); + + client.response = { status: 'failed', retcode: 1401, data: null, wording: 'unauthorized' }; + await expect(client.getStatus()).rejects.toBeInstanceOf(SnowLumaAuthError); + + client.response = { status: 'ok', retcode: 401, data: null, wording: 'token missing' }; + await expect(client.getStatus()).rejects.toMatchObject({ + name: 'SnowLumaAuthError', + retcode: 401, + wording: 'token missing', + }); + + client.response = { status: 'failed', retcode: 403, data: null }; + await expect(client.getStatus()).rejects.toBeInstanceOf(SnowLumaAuthError); + }); +}); + +describe('SnowLumaApiClient.raw', () => { + it('unwraps successful data and forwards the raw action arguments', async () => { + const client = okClient({ cookies: 'uin=o10001' }); + + await expect( + client.raw('get_cookies', { domain: 'qun.qq.com' }, { echo: 'raw-1' }), + ).resolves.toEqual({ + cookies: 'uin=o10001', + }); + expect(client.calls).toEqual([ + { action: 'get_cookies', params: { domain: 'qun.qq.com' }, options: { echo: 'raw-1' } }, + ]); + }); + + it('throws on failed envelopes instead of returning them', async () => { + const client = new RecordingClient(); + client.response = { status: 'failed', retcode: 1403, data: null, wording: 'denied' }; + + await expect(client.raw('get_csrf_token', {})).rejects.toBeInstanceOf(SnowLumaApiError); + }); +}); + +describe('SnowLumaApiClient.rawResponse', () => { + it('returns the full envelope without applying call error handling', async () => { + const client = new RecordingClient(); + const response: ApiResponse = { + status: 'failed', + retcode: 1403, + data: null, + wording: 'denied', + }; + client.response = response; + + await expect(client.rawResponse('get_csrf_token', {}, { echo: 'env-1' })).resolves.toEqual( + response, + ); + expect(client.calls).toEqual([ + { action: 'get_csrf_token', params: {}, options: { echo: 'env-1' } }, + ]); + }); +}); + +describe('SnowLumaApiClient typed actions', () => { + it('exposes account-session uptime through getStatus', async () => { + const client = okClient({ online: true, good: true, time: 90 }); + const status = await client.getStatus(); + const seconds: number = status.time; + expect(seconds).toBe(90); + }); + + it('maps session helpers to empty-param OneBot actions', async () => { + const client = okClient(); + const timeout = { timeoutMs: 2500 }; + + await client.getLoginInfo(); + await client.getStatus(timeout); + await client.getVersionInfo(); + await client.canSendImage(); + await client.canSendRecord(); + await client.getFriendList(); + await client.getRKey(); + await client.getCsrfToken(); + await client.cleanCache(); + await client.markAllAsRead(); + await client.checkUrlSafely(); + await client.getClientKey(); + + expect(client.calls).toEqual([ + { action: 'get_login_info', params: {}, options: undefined }, + { action: 'get_status', params: {}, options: timeout }, + { action: 'get_version_info', params: {}, options: undefined }, + { action: 'can_send_image', params: {}, options: undefined }, + { action: 'can_send_record', params: {}, options: undefined }, + { action: 'get_friend_list', params: {}, options: undefined }, + { action: 'get_rkey', params: {}, options: undefined }, + { action: 'get_csrf_token', params: {}, options: undefined }, + { action: 'clean_cache', params: {}, options: undefined }, + { action: '_mark_all_as_read', params: {}, options: undefined }, + { action: 'check_url_safely', params: {}, options: undefined }, + { action: 'get_clientkey', params: {}, options: undefined }, + ]); + }); + + it('normalizes outgoing messages for send helpers', async () => { + const client = okClient({ message_id: 88 }); + + await client.sendMsg({ + message_type: 'group', + group_id: 941657197, + message: 'plain', + auto_escape: true, + }); + await client.sendMsg({ + message_type: 'private', + user_id: 10001, + message: { type: 'text', data: { text: 'seg' } }, + }); + await client.sendPrivateMessage(10002, text('hi'), { autoEscape: true, timeoutMs: 9 }); + await client.sendGroupMessage(20002, [{ type: 'text', data: { text: 'arr' } }]); + await client.sendGroupForwardMessage(30003, text('fwd-g')); + await client.sendPrivateForwardMessage(40004, 'fwd-p'); + + expect(client.calls).toEqual([ + { + action: 'send_msg', + params: { + message_type: 'group', + group_id: 941657197, + message: 'plain', + auto_escape: true, + }, + options: undefined, + }, + { + action: 'send_msg', + params: { + message_type: 'private', + user_id: 10001, + message: [{ type: 'text', data: { text: 'seg' } }], + }, + options: undefined, + }, + { + action: 'send_private_msg', + params: { + user_id: 10002, + message: [{ type: 'text', data: { text: 'hi' } }], + auto_escape: true, + }, + options: { autoEscape: true, timeoutMs: 9 }, + }, + { + action: 'send_group_msg', + params: { + group_id: 20002, + message: [{ type: 'text', data: { text: 'arr' } }], + auto_escape: undefined, + }, + options: undefined, + }, + { + action: 'send_group_forward_msg', + params: { + group_id: 30003, + messages: [{ type: 'text', data: { text: 'fwd-g' } }], + }, + options: undefined, + }, + { + action: 'send_private_forward_msg', + params: { + user_id: 40004, + messages: 'fwd-p', + }, + options: undefined, + }, + ]); + }); + + it('maps message lookup, delete, and history helpers', async () => { + const client = okClient(); + + await client.getMessage(71); + await client.deleteMessage(72); + await client.getGroupMessageHistory({ + group_id: 941657197, + message_id: 73, + count: 20, + reverse_order: false, + }); + await client.getFriendMessageHistory({ user_id: 10001, count: 8 }); + await client.markGroupMessageAsRead(74); + await client.markGroupMessageAsRead(75, 941657198); + await client.markPrivateMessageAsRead(76); + await client.markPrivateMessageAsRead(77, 10002); + await client.markMessageAsRead(78); + await client.markMessageAsRead(79, 10003); + + expect(client.calls).toEqual([ + { action: 'get_msg', params: { message_id: 71 }, options: undefined }, + { action: 'delete_msg', params: { message_id: 72 }, options: undefined }, + { + action: 'get_group_msg_history', + params: { group_id: 941657197, message_id: 73, count: 20, reverse_order: false }, + options: undefined, + }, + { + action: 'get_friend_msg_history', + params: { user_id: 10001, count: 8 }, + options: undefined, + }, + { + action: 'mark_group_msg_as_read', + params: { message_id: 74, group_id: undefined }, + options: undefined, + }, + { + action: 'mark_group_msg_as_read', + params: { message_id: 75, group_id: 941657198 }, + options: undefined, + }, + { + action: 'mark_private_msg_as_read', + params: { message_id: 76, user_id: undefined }, + options: undefined, + }, + { + action: 'mark_private_msg_as_read', + params: { message_id: 77, user_id: 10002 }, + options: undefined, + }, + { + action: 'mark_msg_as_read', + params: { message_id: 78, target_id: undefined }, + options: undefined, + }, + { + action: 'mark_msg_as_read', + params: { message_id: 79, target_id: 10003 }, + options: undefined, + }, + ]); + }); + + it('maps friend and stranger helpers, including optional block', async () => { + const client = okClient(); + + await client.getStrangerInfo(10011); + await client.deleteFriend(10012); + await client.deleteFriend(10013, { block: true, timeoutMs: 40 }); + await client.setFriendRemark(10014, 'alias'); + await client.setFriendAddRequest('flag-a'); + await client.setFriendAddRequest('flag-b', false); + + expect(client.calls).toEqual([ + { action: 'get_stranger_info', params: { user_id: 10011 }, options: undefined }, + { + action: 'delete_friend', + params: { user_id: 10012, block: undefined }, + options: undefined, + }, + { + action: 'delete_friend', + params: { user_id: 10013, block: true }, + options: { block: true, timeoutMs: 40 }, + }, + { + action: 'set_friend_remark', + params: { user_id: 10014, remark: 'alias' }, + options: undefined, + }, + { + action: 'set_friend_add_request', + params: { flag: 'flag-a', approve: true }, + options: undefined, + }, + { + action: 'set_friend_add_request', + params: { flag: 'flag-b', approve: false }, + options: undefined, + }, + ]); + }); + + it('maps group list and member lookups with noCache', async () => { + const client = okClient(); + + await client.getGroupList(); + await client.getGroupList({ noCache: true, timeoutMs: 11 }); + await client.getGroupInfo(941657197); + await client.getGroupInfo(941657198, { noCache: false }); + await client.getGroupMemberList(941657199); + await client.getGroupMemberList(941657200, { noCache: true }); + await client.getGroupMemberInfo(941657201, 10021); + await client.getGroupMemberInfo(941657202, 10022, { noCache: true }); + await client.getGroupInfoEx(941657203); + await client.getGroupInfoEx(941657204, { noCache: true }); + await client.getGroupDetailInfo(941657205); + await client.getGroupDetailInfo(941657206, { noCache: true }); + + expect(client.calls).toEqual([ + { action: 'get_group_list', params: { no_cache: undefined }, options: undefined }, + { + action: 'get_group_list', + params: { no_cache: true }, + options: { noCache: true, timeoutMs: 11 }, + }, + { + action: 'get_group_info', + params: { group_id: 941657197, no_cache: undefined }, + options: undefined, + }, + { + action: 'get_group_info', + params: { group_id: 941657198, no_cache: false }, + options: { noCache: false }, + }, + { + action: 'get_group_member_list', + params: { group_id: 941657199, no_cache: undefined }, + options: undefined, + }, + { + action: 'get_group_member_list', + params: { group_id: 941657200, no_cache: true }, + options: { noCache: true }, + }, + { + action: 'get_group_member_info', + params: { group_id: 941657201, user_id: 10021, no_cache: undefined }, + options: undefined, + }, + { + action: 'get_group_member_info', + params: { group_id: 941657202, user_id: 10022, no_cache: true }, + options: { noCache: true }, + }, + { + action: 'get_group_info_ex', + params: { group_id: 941657203, no_cache: undefined }, + options: undefined, + }, + { + action: 'get_group_info_ex', + params: { group_id: 941657204, no_cache: true }, + options: { noCache: true }, + }, + { + action: 'get_group_detail_info', + params: { group_id: 941657205, no_cache: undefined }, + options: undefined, + }, + { + action: 'get_group_detail_info', + params: { group_id: 941657206, no_cache: true }, + options: { noCache: true }, + }, + ]); + }); + + it('maps honor and system-message helpers', async () => { + const client = okClient(); + + await client.getGroupHonorInfo({ group_id: 941657210, type: 'talkative' }); + await client.getGroupSystemMessages(); + await client.getGroupSystemMessages({ groupId: 941657211, onlyPending: true, count: 5 }); + + expect(client.calls).toEqual([ + { + action: 'get_group_honor_info', + params: { group_id: 941657210, type: 'talkative' }, + options: undefined, + }, + { + action: 'get_group_system_msg', + params: { group_id: undefined, only_pending: undefined, count: undefined }, + options: undefined, + }, + { + action: 'get_group_system_msg', + params: { group_id: 941657211, only_pending: true, count: 5 }, + options: { groupId: 941657211, onlyPending: true, count: 5 }, + }, + ]); + }); + + it('maps group administration helpers and their defaults', async () => { + const client = okClient(); + + await client.setGroupKick(941657220, 10031); + await client.setGroupKick(941657221, 10032, { rejectAddRequest: true }); + await client.setGroupBan(941657222, 10033); + await client.setGroupBan(941657223, 10034, 600); + await client.setGroupWholeBan(941657224); + await client.setGroupWholeBan(941657225, false); + await client.setGroupAdmin(941657226, 10035); + await client.setGroupAdmin(941657227, 10036, false); + await client.setGroupCard(941657228, 10037); + await client.setGroupCard(941657229, 10038, 'card'); + await client.setGroupName(941657230, 'new-name'); + await client.setGroupLeave(941657231); + await client.setGroupSpecialTitle(941657232, 10039); + await client.setGroupSpecialTitle(941657233, 10040, 'title'); + + expect(client.calls).toEqual([ + { + action: 'set_group_kick', + params: { group_id: 941657220, user_id: 10031, reject_add_request: undefined }, + options: undefined, + }, + { + action: 'set_group_kick', + params: { group_id: 941657221, user_id: 10032, reject_add_request: true }, + options: { rejectAddRequest: true }, + }, + { + action: 'set_group_ban', + params: { group_id: 941657222, user_id: 10033, duration: undefined }, + options: undefined, + }, + { + action: 'set_group_ban', + params: { group_id: 941657223, user_id: 10034, duration: 600 }, + options: undefined, + }, + { + action: 'set_group_whole_ban', + params: { group_id: 941657224, enable: true }, + options: undefined, + }, + { + action: 'set_group_whole_ban', + params: { group_id: 941657225, enable: false }, + options: undefined, + }, + { + action: 'set_group_admin', + params: { group_id: 941657226, user_id: 10035, enable: true }, + options: undefined, + }, + { + action: 'set_group_admin', + params: { group_id: 941657227, user_id: 10036, enable: false }, + options: undefined, + }, + { + action: 'set_group_card', + params: { group_id: 941657228, user_id: 10037, card: '' }, + options: undefined, + }, + { + action: 'set_group_card', + params: { group_id: 941657229, user_id: 10038, card: 'card' }, + options: undefined, + }, + { + action: 'set_group_name', + params: { group_id: 941657230, group_name: 'new-name' }, + options: undefined, + }, + { action: 'set_group_leave', params: { group_id: 941657231 }, options: undefined }, + { + action: 'set_group_special_title', + params: { group_id: 941657232, user_id: 10039, special_title: '' }, + options: undefined, + }, + { + action: 'set_group_special_title', + params: { group_id: 941657233, user_id: 10040, special_title: 'title' }, + options: undefined, + }, + ]); + }); + + it('maps group and private file helpers', async () => { + const client = okClient(); + + await client.uploadGroupFile(941657240, '/tmp/a.png'); + await client.uploadGroupFile(941657241, '/tmp/b.png', { + name: 'b.png', + folder: '/docs', + folderId: '/abc', + uploadFile: true, + }); + await client.uploadPrivateFile(10051, '/tmp/c.png'); + await client.uploadPrivateFile(10052, '/tmp/d.png', { name: 'd.png', uploadFile: false }); + await client.getGroupFileUrl(941657242, 'file-1'); + await client.getGroupFileUrl(941657243, 'file-2', { busid: 102 }); + await client.getGroupRootFiles(941657244); + await client.getGroupFilesByFolder(941657245); + await client.getGroupFilesByFolder(941657246, '/sub'); + await client.deleteGroupFile(941657247, 'file-3'); + await client.moveGroupFile(941657248, 'file-4', '/from', '/to'); + await client.createGroupFileFolder(941657249, 'photos'); + await client.createGroupFileFolder(941657250, 'docs', '/root'); + await client.deleteGroupFileFolder(941657251, '/gone'); + await client.renameGroupFileFolder(941657252, '/old', 'new-name'); + await client.getPrivateFileUrl(10053, 'file-5', 'hash-5'); + await client.getGroupFileSystemInfo(941657253); + + expect(client.calls).toEqual([ + { + action: 'upload_group_file', + params: { + group_id: 941657240, + file: '/tmp/a.png', + name: undefined, + folder: undefined, + folder_id: undefined, + upload_file: undefined, + }, + options: {}, + }, + { + action: 'upload_group_file', + params: { + group_id: 941657241, + file: '/tmp/b.png', + name: 'b.png', + folder: '/docs', + folder_id: '/abc', + upload_file: true, + }, + options: { name: 'b.png', folder: '/docs', folderId: '/abc', uploadFile: true }, + }, + { + action: 'upload_private_file', + params: { + user_id: 10051, + file: '/tmp/c.png', + name: undefined, + upload_file: undefined, + }, + options: {}, + }, + { + action: 'upload_private_file', + params: { user_id: 10052, file: '/tmp/d.png', name: 'd.png', upload_file: false }, + options: { name: 'd.png', uploadFile: false }, + }, + { + action: 'get_group_file_url', + params: { group_id: 941657242, file_id: 'file-1', busid: undefined }, + options: undefined, + }, + { + action: 'get_group_file_url', + params: { group_id: 941657243, file_id: 'file-2', busid: 102 }, + options: { busid: 102 }, + }, + { action: 'get_group_root_files', params: { group_id: 941657244 }, options: undefined }, + { + action: 'get_group_files_by_folder', + params: { group_id: 941657245, folder_id: '/' }, + options: undefined, + }, + { + action: 'get_group_files_by_folder', + params: { group_id: 941657246, folder_id: '/sub' }, + options: undefined, + }, + { + action: 'delete_group_file', + params: { group_id: 941657247, file_id: 'file-3' }, + options: undefined, + }, + { + action: 'move_group_file', + params: { + group_id: 941657248, + file_id: 'file-4', + parent_directory: '/from', + target_directory: '/to', + }, + options: undefined, + }, + { + action: 'create_group_file_folder', + params: { group_id: 941657249, name: 'photos', parent_id: '/' }, + options: undefined, + }, + { + action: 'create_group_file_folder', + params: { group_id: 941657250, name: 'docs', parent_id: '/root' }, + options: undefined, + }, + { + action: 'delete_group_file_folder', + params: { group_id: 941657251, folder_id: '/gone' }, + options: undefined, + }, + { + action: 'rename_group_file_folder', + params: { group_id: 941657252, folder_id: '/old', new_folder_name: 'new-name' }, + options: undefined, + }, + { + action: 'get_private_file_url', + params: { user_id: 10053, file_id: 'file-5', file_hash: 'hash-5' }, + options: undefined, + }, + { + action: 'get_group_file_system_info', + params: { group_id: 941657253 }, + options: undefined, + }, + ]); + }); + + it('maps group add-request, poke, like, and essence helpers', async () => { + const client = okClient(); + + await client.setGroupAddRequest('flag-c'); + await client.setGroupAddRequest('flag-d', { + subType: 'add', + type: 'group', + approve: false, + reason: 'nope', + }); + await client.sendLike(10061); + await client.sendLike(10062, 5); + await client.friendPoke(10063); + await client.friendPoke(10064, { targetId: 10065 }); + await client.groupPoke(941657260, 10066); + await client.sendPoke(10067); + await client.sendPoke(10068, { groupId: 941657261 }); + await client.setEssenceMessage(81); + await client.deleteEssenceMessage(82); + await client.getEssenceMessageList(941657262); + await client.setGroupReaction({ + message_id: 83, + code: '76', + group_id: 941657263, + is_set: true, + }); + + expect(client.calls).toEqual([ + { + action: 'set_group_add_request', + params: { + flag: 'flag-c', + sub_type: undefined, + type: undefined, + approve: undefined, + reason: undefined, + }, + options: {}, + }, + { + action: 'set_group_add_request', + params: { + flag: 'flag-d', + sub_type: 'add', + type: 'group', + approve: false, + reason: 'nope', + }, + options: { subType: 'add', type: 'group', approve: false, reason: 'nope' }, + }, + { action: 'send_like', params: { user_id: 10061, times: 1 }, options: undefined }, + { action: 'send_like', params: { user_id: 10062, times: 5 }, options: undefined }, + { + action: 'friend_poke', + params: { user_id: 10063, target_id: undefined }, + options: undefined, + }, + { + action: 'friend_poke', + params: { user_id: 10064, target_id: 10065 }, + options: { targetId: 10065 }, + }, + { + action: 'group_poke', + params: { group_id: 941657260, user_id: 10066 }, + options: undefined, + }, + { + action: 'send_poke', + params: { user_id: 10067, group_id: undefined }, + options: undefined, + }, + { + action: 'send_poke', + params: { user_id: 10068, group_id: 941657261 }, + options: { groupId: 941657261 }, + }, + { action: 'set_essence_msg', params: { message_id: 81 }, options: undefined }, + { action: 'delete_essence_msg', params: { message_id: 82 }, options: undefined }, + { action: 'get_essence_msg_list', params: { group_id: 941657262 }, options: undefined }, + { + action: 'set_group_reaction', + params: { message_id: 83, code: '76', group_id: 941657263, is_set: true }, + options: undefined, + }, + ]); + }); + + it('maps group-notice helpers to underscored OneBot actions', async () => { + const client = okClient(); + + await client.sendGroupNotice(941657270, 'welcome'); + await client.sendGroupNotice(941657271, 'pinned', { + image: 'https://example.test/n.png', + pinned: 1, + type: 20, + sendToNewMembers: true, + isShowEditCard: 0, + tipWindowType: 1, + confirmRequired: 0, + }); + await client.getGroupNotice(941657272); + + expect(client.calls).toEqual([ + { + action: '_send_group_notice', + params: { + group_id: 941657270, + content: 'welcome', + image: undefined, + pinned: undefined, + type: undefined, + send_to_new_members: undefined, + is_show_edit_card: undefined, + tip_window_type: undefined, + confirm_required: undefined, + }, + options: {}, + }, + { + action: '_send_group_notice', + params: { + group_id: 941657271, + content: 'pinned', + image: 'https://example.test/n.png', + pinned: 1, + type: 20, + send_to_new_members: true, + is_show_edit_card: 0, + tip_window_type: 1, + confirm_required: 0, + }, + options: { + image: 'https://example.test/n.png', + pinned: 1, + type: 20, + sendToNewMembers: true, + isShowEditCard: 0, + tipWindowType: 1, + confirmRequired: 0, + }, + }, + { action: '_get_group_notice', params: { group_id: 941657272 }, options: undefined }, + ]); + }); + + it('forwards forward-message and media helpers without remapping their params', async () => { + const client = okClient(); + + await client.uploadForwardMessage({ group_id: 941657280, messages: 'up' }); + await client.sendForwardMessage({ user_id: 10071, message: 'send' }); + await client.getForwardMessage({ id: 'fwd-1' }); + await client.getImage({ file: 'img-1' }); + await client.getRecord({ file_id: 'rec-1' }); + await client.downloadFile({ url: 'https://example.test/a.bin', name: 'a.bin' }); + + expect(client.calls).toEqual([ + { + action: 'upload_forward_msg', + params: { group_id: 941657280, messages: 'up' }, + options: undefined, + }, + { + action: 'send_forward_msg', + params: { user_id: 10071, message: 'send' }, + options: undefined, + }, + { action: 'get_forward_msg', params: { id: 'fwd-1' }, options: undefined }, + { action: 'get_image', params: { file: 'img-1' }, options: undefined }, + { action: 'get_record', params: { file_id: 'rec-1' }, options: undefined }, + { + action: 'download_file', + params: { url: 'https://example.test/a.bin', name: 'a.bin' }, + options: undefined, + }, + ]); + }); + + it('maps cookie, credential, profile, and status helpers', async () => { + const client = okClient(); + + await client.getCookies(); + await client.getCookies({ domain: 'qun.qq.com' }); + await client.getCredentials(); + await client.getCredentials({ domain: 'qzone.qq.com' }); + await client.setQqProfile({ nickname: 'luma', personalNote: 'hello' }); + await client.setOnlineStatus(11); + await client.setOnlineStatus(10, { extStatus: 1000, batteryStatus: 80, timeoutMs: 30 }); + + expect(client.calls).toEqual([ + { action: 'get_cookies', params: {}, options: undefined }, + { action: 'get_cookies', params: { domain: 'qun.qq.com' }, options: undefined }, + { action: 'get_credentials', params: {}, options: undefined }, + { action: 'get_credentials', params: { domain: 'qzone.qq.com' }, options: undefined }, + { + action: 'set_qq_profile', + params: { nickname: 'luma', personal_note: 'hello' }, + options: undefined, + }, + { + action: 'set_online_status', + params: { status: 11, ext_status: undefined, battery_status: undefined }, + options: {}, + }, + { + action: 'set_online_status', + params: { status: 10, ext_status: 1000, battery_status: 80 }, + options: { extStatus: 1000, batteryStatus: 80, timeoutMs: 30 }, + }, + ]); + }); + + it('maps emoji and system-face helpers including refresh defaults', async () => { + const client = okClient(); + + await client.setMsgEmojiLike(91, '128076'); + await client.setMsgEmojiLike(92, '128077', false); + await client.fetchSysFaces(); + await client.fetchSysFaces(true); + await client.fetchFaceEntity(392); + await client.fetchFaceEntity(393, { refresh: true }); + await client.searchSysFaces('dragon'); + await client.fetchSuperFaceId(394); + await client.fetchSuperFaceId(395, { refresh: false }); + + expect(client.calls).toEqual([ + { + action: 'set_msg_emoji_like', + params: { message_id: 91, emoji_id: '128076', set: true }, + options: undefined, + }, + { + action: 'set_msg_emoji_like', + params: { message_id: 92, emoji_id: '128077', set: false }, + options: undefined, + }, + { action: 'fetch_sys_faces', params: { refresh: false }, options: undefined }, + { action: 'fetch_sys_faces', params: { refresh: true }, options: undefined }, + { action: 'fetch_face_entity', params: { face_id: 392, refresh: false }, options: {} }, + { + action: 'fetch_face_entity', + params: { face_id: 393, refresh: true }, + options: { refresh: true }, + }, + { action: 'search_sys_faces', params: { query: 'dragon' }, options: undefined }, + { + action: 'fetch_super_face_id', + params: { face_id: 394, refresh: false }, + options: {}, + }, + { + action: 'fetch_super_face_id', + params: { face_id: 395, refresh: false }, + options: { refresh: false }, + }, + ]); + }); +}); diff --git a/packages/sdk/tests/chain.test.ts b/packages/sdk/tests/chain.test.ts new file mode 100644 index 00000000..90c760aa --- /dev/null +++ b/packages/sdk/tests/chain.test.ts @@ -0,0 +1,532 @@ +import { describe, expect, it, vi } from 'vitest'; +import { + at, + atAll, + br, + chain, + contact, + face, + forward, + image, + json, + location, + MessageChain, + music, + node, + normalizeMessage, + poke, + raw, + record, + reply, + share, + text, + video, + xml, +} from '../src'; + +function sender() { + return { + sendGroupMessage: vi.fn().mockResolvedValue({ message_id: 61001 }), + sendPrivateMessage: vi.fn().mockResolvedValue({ message_id: 61002 }), + }; +} + +describe('MessageChain.empty and chain()', () => { + it('starts empty', () => { + const empty = MessageChain.empty(); + + expect(empty).toBeInstanceOf(MessageChain); + expect(empty.length).toBe(0); + expect(empty.isEmpty).toBe(true); + expect(empty.toSegments()).toEqual([]); + expect(chain().toSegments()).toEqual([]); + }); + + it('updates length and isEmpty after a segment is added', () => { + const next = chain().text('wave'); + + expect(next.length).toBe(1); + expect(next.isEmpty).toBe(false); + expect(chain().isEmpty).toBe(true); + }); + + it('does not mutate the previous chain when a segment is added', () => { + const base = text('keep'); + const next = base.face(39); + + expect(base.toSegments()).toEqual([{ type: 'text', data: { text: 'keep' } }]); + expect(next.toSegments()).toEqual([ + { type: 'text', data: { text: 'keep' } }, + { type: 'face', data: { id: '39' } }, + ]); + }); +}); + +describe('segment builders', () => { + it('builds a text segment and defaults to an empty string', () => { + expect(text().toSegments()).toEqual([{ type: 'text', data: { text: '' } }]); + expect(text('wave').toSegments()).toEqual([{ type: 'text', data: { text: 'wave' } }]); + expect(chain().text().toSegments()).toEqual([{ type: 'text', data: { text: '' } }]); + }); + + it('treats br as a newline text segment', () => { + expect(br().toSegments()).toEqual([{ type: 'text', data: { text: '\n' } }]); + }); + + it('stringifies face ids', () => { + expect(face(39).toSegments()).toEqual([{ type: 'face', data: { id: '39' } }]); + expect(face('178').toSegments()).toEqual([{ type: 'face', data: { id: '178' } }]); + }); + + it('stringifies at targets and only copies truthy name/uid', () => { + expect(at(31415).toSegments()).toEqual([{ type: 'at', data: { qq: '31415' } }]); + expect(at('all').toSegments()).toEqual([{ type: 'at', data: { qq: 'all' } }]); + expect(atAll().toSegments()).toEqual([{ type: 'at', data: { qq: 'all' } }]); + expect(at(31415, { name: 'Ada', uid: 'uid-ada' }).toSegments()).toEqual([ + { type: 'at', data: { qq: '31415', name: 'Ada', uid: 'uid-ada' } }, + ]); + expect(at(31415, { name: '', uid: '' }).toSegments()).toEqual([ + { type: 'at', data: { qq: '31415' } }, + ]); + }); + + it('stringifies reply ids', () => { + expect(reply(88).toSegments()).toEqual([{ type: 'reply', data: { id: '88' } }]); + expect(reply('mid-88').toSegments()).toEqual([{ type: 'reply', data: { id: 'mid-88' } }]); + }); + + it('spreads image, record, and video options after file', () => { + expect(image('file://pic.webp').toSegments()).toEqual([ + { type: 'image', data: { file: 'file://pic.webp' } }, + ]); + expect( + image('file://pic.webp', { + type: 'flash', + subType: 4, + summary: 'cover', + url: 'https://cdn.example/pic.webp', + }).toSegments(), + ).toEqual([ + { + type: 'image', + data: { + file: 'file://pic.webp', + type: 'flash', + subType: 4, + summary: 'cover', + url: 'https://cdn.example/pic.webp', + }, + }, + ]); + expect(record('file://voice.amr').toSegments()).toEqual([ + { type: 'record', data: { file: 'file://voice.amr' } }, + ]); + expect( + record('file://voice.amr', { url: 'https://cdn.example/voice.amr' }).toSegments(), + ).toEqual([ + { + type: 'record', + data: { file: 'file://voice.amr', url: 'https://cdn.example/voice.amr' }, + }, + ]); + expect(video('file://clip.mp4').toSegments()).toEqual([ + { type: 'video', data: { file: 'file://clip.mp4' } }, + ]); + expect( + video('file://clip.mp4', { + url: 'https://cdn.example/clip.mp4', + thumb: 'file://thumb.jpg', + }).toSegments(), + ).toEqual([ + { + type: 'video', + data: { + file: 'file://clip.mp4', + url: 'https://cdn.example/clip.mp4', + thumb: 'file://thumb.jpg', + }, + }, + ]); + }); + + it('keeps a json string and stringifies a json object', () => { + expect(json('{"prompt":"card"}').toSegments()).toEqual([ + { type: 'json', data: { data: '{"prompt":"card"}' } }, + ]); + expect(json({ prompt: 'card', n: 2 }).toSegments()).toEqual([ + { type: 'json', data: { data: '{"prompt":"card","n":2}' } }, + ]); + }); + + it('spreads xml options after the payload', () => { + expect(xml('').toSegments()).toEqual([{ type: 'xml', data: { data: '' } }]); + expect(xml('', { id: 'resid-3' }).toSegments()).toEqual([ + { type: 'xml', data: { data: '', id: 'resid-3' } }, + ]); + }); + + it('omits poke id only when it is undefined', () => { + expect(poke(6).toSegments()).toEqual([{ type: 'poke', data: { type: 6 } }]); + expect(poke(6, 0).toSegments()).toEqual([{ type: 'poke', data: { type: 6, id: 0 } }]); + expect(poke('6', '-1').toSegments()).toEqual([ + { type: 'poke', data: { type: '6', id: '-1' } }, + ]); + }); + + it('mirrors a forward id onto res_id and forward_id', () => { + expect(forward('fwd-22').toSegments()).toEqual([ + { type: 'forward', data: { id: 'fwd-22', res_id: 'fwd-22', forward_id: 'fwd-22' } }, + ]); + }); + + it('stores node content as given', () => { + const inner = text('nested'); + + expect(node(20002, 'bot', 'plain').toSegments()).toEqual([ + { type: 'node', data: { user_id: 20002, nickname: 'bot', content: 'plain' } }, + ]); + expect(node(20002, 'bot', { type: 'text', data: { text: 'seg' } }).toSegments()).toEqual([ + { + type: 'node', + data: { + user_id: 20002, + nickname: 'bot', + content: { type: 'text', data: { text: 'seg' } }, + }, + }, + ]); + expect(node(20002, 'bot', inner).toSegments()).toEqual([ + { type: 'node', data: { user_id: 20002, nickname: 'bot', content: inner } }, + ]); + }); + + it('passes share, music, location, and contact data through', () => { + expect(share({ url: 'https://ex.test/page', title: 'Page' }).toSegments()).toEqual([ + { type: 'share', data: { url: 'https://ex.test/page', title: 'Page' } }, + ]); + expect( + share({ + url: 'https://ex.test/page', + title: 'Page', + content: 'blurb', + image: 'https://ex.test/cover.png', + }).toSegments(), + ).toEqual([ + { + type: 'share', + data: { + url: 'https://ex.test/page', + title: 'Page', + content: 'blurb', + image: 'https://ex.test/cover.png', + }, + }, + ]); + expect(music({ type: 'qq', id: '991' }).toSegments()).toEqual([ + { type: 'music', data: { type: 'qq', id: '991' } }, + ]); + expect( + location({ + lat: 30.1, + lon: 120.2, + title: 'Hangzhou', + content: 'West Lake', + }).toSegments(), + ).toEqual([ + { + type: 'location', + data: { lat: 30.1, lon: 120.2, title: 'Hangzhou', content: 'West Lake' }, + }, + ]); + expect(contact('qq', 20002).toSegments()).toEqual([ + { type: 'contact', data: { type: 'qq', id: 20002 } }, + ]); + expect(contact('group', '987654').toSegments()).toEqual([ + { type: 'contact', data: { type: 'group', id: '987654' } }, + ]); + }); + + it('builds an arbitrary raw segment', () => { + expect(raw('dice', { result: 3 }).toSegments()).toEqual([ + { type: 'dice', data: { result: 3 } }, + ]); + }); + + it('chains fluent builders in order', () => { + const built = chain().text('ping').at(20002).br().image('file://b.jpg').face(39); + + expect(built.length).toBe(5); + expect(built.toSegments()).toEqual([ + { type: 'text', data: { text: 'ping' } }, + { type: 'at', data: { qq: '20002' } }, + { type: 'text', data: { text: '\n' } }, + { type: 'image', data: { file: 'file://b.jpg' } }, + { type: 'face', data: { id: '39' } }, + ]); + }); +}); + +describe('append', () => { + it('appends a string as a text segment', () => { + expect(text('pre').append('post').toSegments()).toEqual([ + { type: 'text', data: { text: 'pre' } }, + { type: 'text', data: { text: 'post' } }, + ]); + expect(text('pre').append('').toSegments()).toEqual([ + { type: 'text', data: { text: 'pre' } }, + { type: 'text', data: { text: '' } }, + ]); + }); + + it('returns the same instance when appending an empty array', () => { + const base = text('keep'); + expect(base.append([])).toBe(base); + }); + + it('appends a single segment', () => { + expect( + text('pre') + .append({ type: 'face', data: { id: '39' } }) + .toSegments(), + ).toEqual([ + { type: 'text', data: { text: 'pre' } }, + { type: 'face', data: { id: '39' } }, + ]); + }); + + it('appends a segment array', () => { + expect( + text('pre') + .append([ + { type: 'at', data: { qq: 'all' } }, + { type: 'face', data: { id: '39' } }, + ]) + .toSegments(), + ).toEqual([ + { type: 'text', data: { text: 'pre' } }, + { type: 'at', data: { qq: 'all' } }, + { type: 'face', data: { id: '39' } }, + ]); + }); + + it('appends another chain by copying its segments', () => { + const extra = at(20002).text('!'); + expect(text('pre').append(extra).toSegments()).toEqual([ + { type: 'text', data: { text: 'pre' } }, + { type: 'at', data: { qq: '20002' } }, + { type: 'text', data: { text: '!' } }, + ]); + expect(extra.toSegments()).toEqual([ + { type: 'at', data: { qq: '20002' } }, + { type: 'text', data: { text: '!' } }, + ]); + }); + + it('appends a duck-typed chain-like value via toSegments', () => { + const duck = { + length: 1, + toSegments() { + return [{ type: 'poke', data: { type: 6 } }]; + }, + toJSON() { + return this.toSegments(); + }, + }; + + expect(text('pre').append(duck).toSegments()).toEqual([ + { type: 'text', data: { text: 'pre' } }, + { type: 'poke', data: { type: 6 } }, + ]); + }); +}); + +describe('single-use reply', () => { + it('throws when reply is added twice through reply()', () => { + const once = reply(88); + expect(() => (once as unknown as { reply(id: number): unknown }).reply(89)).toThrow( + 'Message segment "reply" can only appear once in a chain', + ); + }); + + it('throws when a second reply is appended', () => { + expect(() => reply(88).append({ type: 'reply', data: { id: '89' } })).toThrow( + 'Message segment "reply" can only appear once in a chain', + ); + expect(() => + chain().append([ + { type: 'reply', data: { id: '88' } }, + { type: 'text', data: { text: 'x' } }, + { type: 'reply', data: { id: '89' } }, + ]), + ).toThrow('Message segment "reply" can only appear once in a chain'); + }); + + it('throws when raw reply is added twice', () => { + expect(() => raw('reply', { id: '88' }).raw('reply', { id: '89' })).toThrow( + 'Message segment "reply" can only appear once in a chain', + ); + }); + + it('allows two independent chains to each have their own reply', () => { + const base = text('fork'); + expect(base.reply(88).toSegments()).toEqual([ + { type: 'text', data: { text: 'fork' } }, + { type: 'reply', data: { id: '88' } }, + ]); + expect(base.reply(89).toSegments()).toEqual([ + { type: 'text', data: { text: 'fork' } }, + { type: 'reply', data: { id: '89' } }, + ]); + }); + + it('allows non-reply types, including raw, to appear more than once', () => { + expect(image('a.webp').image('b.webp').toSegments()).toEqual([ + { type: 'image', data: { file: 'a.webp' } }, + { type: 'image', data: { file: 'b.webp' } }, + ]); + expect(raw('dice', { result: 1 }).raw('dice', { result: 2 }).toSegments()).toEqual([ + { type: 'dice', data: { result: 1 } }, + { type: 'dice', data: { result: 2 } }, + ]); + }); + + it('still allows other segments after a reply', () => { + expect(reply(88).text('after').toSegments()).toEqual([ + { type: 'reply', data: { id: '88' } }, + { type: 'text', data: { text: 'after' } }, + ]); + }); +}); + +describe('serialization and iteration', () => { + it('returns a shallow copy from build, toArray, toSegments, and toJSON', () => { + const built = text('copy').at(20002); + const viaBuild = built.build(); + const viaArray = built.toArray(); + const viaSegments = built.toSegments(); + const viaJson = built.toJSON(); + const expected = [ + { type: 'text', data: { text: 'copy' } }, + { type: 'at', data: { qq: '20002' } }, + ]; + + expect(viaBuild).toEqual(expected); + expect(viaArray).toEqual(expected); + expect(viaSegments).toEqual(expected); + expect(viaJson).toEqual(expected); + expect(viaBuild).not.toBe(viaArray); + expect(viaArray).not.toBe(viaSegments); + expect(viaSegments).not.toBe(viaJson); + + viaBuild.push({ type: 'face', data: { id: '1' } }); + expect(built.toSegments()).toEqual(expected); + expect(built.length).toBe(2); + }); + + it('uses toJSON when stringified', () => { + expect(JSON.parse(JSON.stringify(text('copy').at(20002)))).toEqual([ + { type: 'text', data: { text: 'copy' } }, + { type: 'at', data: { qq: '20002' } }, + ]); + }); + + it('renders CQ text through toString', () => { + expect(chain().toString()).toBe(''); + expect(text('A&B[C]').toString()).toBe('A&B[C]'); + expect(text('wave').at(20002).face(39).toString()).toBe( + 'wave[CQ:at,qq=20002][CQ:face,id=39]', + ); + expect(image('a,b').toString()).toBe('[CQ:image,file=a,b]'); + expect(raw('dice', {}).toString()).toBe('[CQ:dice]'); + expect( + chain() + .append({ type: 'image', data: { file: 'z.webp', url: undefined } }) + .toString(), + ).toBe('[CQ:image,file=z.webp]'); + }); + + it('iterates stored segments', () => { + const built = text('wave').face(39); + expect([...built]).toEqual([ + { type: 'text', data: { text: 'wave' } }, + { type: 'face', data: { id: '39' } }, + ]); + + const walked: unknown[] = []; + + for (const segment of built) { + walked.push(segment); + } + + expect(walked).toEqual([ + { type: 'text', data: { text: 'wave' } }, + { type: 'face', data: { id: '39' } }, + ]); + }); +}); + +describe('sendToGroup and sendToPrivate', () => { + it('forwards the chain instance and options to the client', async () => { + const client = sender(); + const groupPayload = text('group-hi'); + const privatePayload = text('priv-hi'); + const options = { autoEscape: true, timeoutMs: 2500, echo: 'echo-chain' }; + + await expect(groupPayload.sendToGroup(client, 70001, options)).resolves.toEqual({ + message_id: 61001, + }); + await expect(privatePayload.sendToPrivate(client, 80001, options)).resolves.toEqual({ + message_id: 61002, + }); + + expect(client.sendGroupMessage).toHaveBeenCalledTimes(1); + expect(client.sendGroupMessage).toHaveBeenCalledWith(70001, groupPayload, options); + expect(client.sendPrivateMessage).toHaveBeenCalledTimes(1); + expect(client.sendPrivateMessage).toHaveBeenCalledWith(80001, privatePayload, options); + }); + + it('passes undefined options when none are given', async () => { + const client = sender(); + const payload = text('plain'); + + await payload.sendToGroup(client, 70002); + await payload.sendToPrivate(client, 80002); + + expect(client.sendGroupMessage).toHaveBeenCalledWith(70002, payload, undefined); + expect(client.sendPrivateMessage).toHaveBeenCalledWith(80002, payload, undefined); + }); +}); + +describe('normalizeMessage', () => { + it('returns a string unchanged', () => { + expect(normalizeMessage('plain-text')).toBe('plain-text'); + expect(normalizeMessage('')).toBe(''); + }); + + it('returns toSegments() for a chain and for duck-typed chain-like values', () => { + expect(normalizeMessage(text('wave').at(20002))).toEqual([ + { type: 'text', data: { text: 'wave' } }, + { type: 'at', data: { qq: '20002' } }, + ]); + + const segs = [{ type: 'face', data: { id: '39' } }]; + const duck = { toSegments: () => segs }; + expect(normalizeMessage(duck)).toBe(segs); + }); + + it('returns an array input by reference', () => { + const segs = [{ type: 'text', data: { text: 'arr' } }]; + expect(normalizeMessage(segs)).toBe(segs); + }); + + it('wraps a single segment in a new array', () => { + const segment = { type: 'text', data: { text: 'solo' } }; + expect(normalizeMessage(segment)).toEqual([segment]); + expect(normalizeMessage(segment)).not.toBe(segment); + }); + + it('does not treat an object with a non-function toSegments as a chain', () => { + const value = { type: 'text', data: { text: 'solo' }, toSegments: 0 }; + expect(normalizeMessage(value as never)).toEqual([value]); + }); +}); diff --git a/packages/sdk/tests/emitter.test.ts b/packages/sdk/tests/emitter.test.ts new file mode 100644 index 00000000..6fc79357 --- /dev/null +++ b/packages/sdk/tests/emitter.test.ts @@ -0,0 +1,338 @@ +import { describe, expect, it } from 'vitest'; +import { Emitter } from '../src/emitter'; + +type TestEvents = { + open: undefined; + data: string; + count: number; + close: { code: number; reason: string }; +}; + +describe('Emitter', () => { + it('delivers a payload to a listener registered with on', () => { + const emitter = new Emitter(); + const seen: string[] = []; + + emitter.on('data', (payload) => { + seen.push(payload); + }); + emitter.emit('data', 'hello'); + + expect(seen).toEqual(['hello']); + }); + + it('invokes every listener for the same event in registration order', () => { + const emitter = new Emitter(); + const seen: string[] = []; + + emitter.on('data', (payload) => { + seen.push(`first:${payload}`); + }); + emitter.on('data', (payload) => { + seen.push(`second:${payload}`); + }); + emitter.emit('data', 'alpha'); + + expect(seen).toEqual(['first:alpha', 'second:alpha']); + }); + + it('keeps listeners for different events isolated', () => { + const emitter = new Emitter(); + const data: string[] = []; + const counts: number[] = []; + + emitter.on('data', (payload) => { + data.push(payload); + }); + emitter.on('count', (payload) => { + counts.push(payload); + }); + emitter.emit('data', 'alpha'); + emitter.emit('count', 7); + emitter.emit('data', 'beta'); + + expect(data).toEqual(['alpha', 'beta']); + expect(counts).toEqual([7]); + }); + + it('passes the payload object through by reference', () => { + const emitter = new Emitter(); + const payload = { code: 1000, reason: 'done' }; + const seen: Array<{ code: number; reason: string }> = []; + + emitter.on('close', (value) => { + seen.push(value); + }); + emitter.emit('close', payload); + + expect(seen).toEqual([{ code: 1000, reason: 'done' }]); + expect(seen[0]).toBe(payload); + }); + + it('forwards an undefined payload for events typed as undefined', () => { + const emitter = new Emitter(); + const seen: Array = []; + + emitter.on('open', (payload) => { + seen.push(payload); + }); + emitter.emit('open', undefined); + + expect(seen).toEqual([undefined]); + }); + + it('stores a listener only once when the same function is registered twice', () => { + const emitter = new Emitter(); + const seen: string[] = []; + + const listener = (payload: string) => { + seen.push(payload); + }; + + emitter.on('data', listener); + emitter.on('data', listener); + emitter.emit('data', 'once-only'); + + expect(seen).toEqual(['once-only']); + }); + + it('returns an unsubscribe function from on that stops later delivery', () => { + const emitter = new Emitter(); + const seen: string[] = []; + + const off = emitter.on('data', (payload) => { + seen.push(payload); + }); + off(); + emitter.emit('data', 'nope'); + + expect(seen).toEqual([]); + }); + + it('does not throw when emit is called with no listeners for that event', () => { + const emitter = new Emitter(); + + expect(() => emitter.emit('data', 'orphan')).not.toThrow(); + }); + + it('does not deliver after every listener has been unsubscribed, even if the event key remains', () => { + const emitter = new Emitter(); + const seen: string[] = []; + + const off = emitter.on('data', (payload) => { + seen.push(payload); + }); + off(); + emitter.emit('data', 'ghost'); + + expect(seen).toEqual([]); + }); + + it('fires a once listener exactly once', () => { + const emitter = new Emitter(); + const seen: string[] = []; + + emitter.once('data', (payload) => { + seen.push(payload); + }); + emitter.emit('data', 'first'); + emitter.emit('data', 'second'); + + expect(seen).toEqual(['first']); + }); + + it('lets once and on listeners share an event without once firing again', () => { + const emitter = new Emitter(); + const seen: string[] = []; + + emitter.on('data', (payload) => { + seen.push(`on:${payload}`); + }); + emitter.once('data', (payload) => { + seen.push(`once:${payload}`); + }); + emitter.emit('data', 'a'); + emitter.emit('data', 'b'); + + expect(seen).toEqual(['on:a', 'once:a', 'on:b']); + }); + + it('does not call a once listener that was unsubscribed before emit', () => { + const emitter = new Emitter(); + const seen: string[] = []; + + const off = emitter.once('data', (payload) => { + seen.push(payload); + }); + off(); + emitter.emit('data', 'nope'); + + expect(seen).toEqual([]); + }); + + it('allows calling the once unsubscribe after it has already fired', () => { + const emitter = new Emitter(); + const seen: string[] = []; + + const off = emitter.once('data', (payload) => { + seen.push(payload); + }); + emitter.emit('data', 'first'); + off(); + emitter.emit('data', 'second'); + + expect(seen).toEqual(['first']); + }); + + it('does not re-enter a once listener that emits the same event again', () => { + const emitter = new Emitter(); + const seen: string[] = []; + + emitter.once('data', (payload) => { + seen.push(payload); + emitter.emit('data', 'again'); + }); + emitter.emit('data', 'first'); + + expect(seen).toEqual(['first']); + }); + + it('does not cancel a once subscription when off is given the original listener', () => { + const emitter = new Emitter(); + const seen: string[] = []; + + const listener = (payload: string) => { + seen.push(payload); + }; + + emitter.once('data', listener); + emitter.off('data', listener); + emitter.emit('data', 'still'); + + expect(seen).toEqual(['still']); + }); + + it('removes only the given listener when off is called', () => { + const emitter = new Emitter(); + const seen: string[] = []; + + const keep = (payload: string) => { + seen.push(`keep:${payload}`); + }; + + const drop = (payload: string) => { + seen.push(`drop:${payload}`); + }; + + emitter.on('data', keep); + emitter.on('data', drop); + emitter.off('data', drop); + emitter.emit('data', 'x'); + + expect(seen).toEqual(['keep:x']); + }); + + it('does not throw when off is called for an event that was never registered', () => { + const emitter = new Emitter(); + + expect(() => { + emitter.off('data', () => {}); + }).not.toThrow(); + }); + + it('does not throw when off is called with a listener that was never added', () => { + const emitter = new Emitter(); + + emitter.on('data', (payload) => { + void payload; + }); + + expect(() => { + emitter.off('data', () => {}); + }).not.toThrow(); + }); + + it('still delivers to a listener removed by an earlier listener during the same emit', () => { + const emitter = new Emitter(); + const seen: string[] = []; + + const second = (payload: string) => { + seen.push(`second:${payload}`); + }; + + emitter.on('data', (payload) => { + seen.push(`first:${payload}`); + emitter.off('data', second); + }); + emitter.on('data', second); + emitter.emit('data', 'keep'); + + expect(seen).toEqual(['first:keep', 'second:keep']); + }); + + it('does not deliver to a listener added during the same emit', () => { + const emitter = new Emitter(); + const seen: string[] = []; + + const late = (payload: string) => { + seen.push(`late:${payload}`); + }; + + emitter.on('data', (payload) => { + seen.push(`early:${payload}`); + emitter.on('data', late); + }); + emitter.emit('data', 'now'); + emitter.emit('data', 'next'); + + expect(seen).toEqual(['early:now', 'early:next', 'late:next']); + }); + + it('stops all listeners after clear', () => { + const emitter = new Emitter(); + const seen: Array = []; + + emitter.on('data', (payload) => { + seen.push(payload); + }); + emitter.on('count', (payload) => { + seen.push(payload); + }); + emitter.clear(); + emitter.emit('data', 'x'); + emitter.emit('count', 1); + + expect(seen).toEqual([]); + }); + + it('accepts new listeners after clear', () => { + const emitter = new Emitter(); + const seen: string[] = []; + + emitter.on('data', (payload) => { + seen.push(`old:${payload}`); + }); + emitter.clear(); + emitter.on('data', (payload) => { + seen.push(`new:${payload}`); + }); + emitter.emit('data', 'after'); + + expect(seen).toEqual(['new:after']); + }); + + it('does not throw when off is called after clear', () => { + const emitter = new Emitter(); + + const listener = (payload: string) => { + void payload; + }; + + emitter.on('data', listener); + emitter.clear(); + + expect(() => { + emitter.off('data', listener); + }).not.toThrow(); + }); +}); diff --git a/packages/sdk/tests/event-waits.test.ts b/packages/sdk/tests/event-waits.test.ts new file mode 100644 index 00000000..f05c5ead --- /dev/null +++ b/packages/sdk/tests/event-waits.test.ts @@ -0,0 +1,387 @@ +import { afterEach, beforeEach, describe, expect, expectTypeOf, it, vi } from 'vitest'; +import { + SnowLumaAbortError, + SnowLumaConnectionError, + SnowLumaTimeoutError, + SnowLumaWebSocketClient, + isGroupMessageEvent, + type OneBotGroupMessageEvent, + type OneBotMessageEvent, + type OneBotPrivateMessageEvent, + type SnowLumaEvent, +} from '../src'; + +class EventSocket { + static instances: EventSocket[] = []; + readyState = 0; + readonly listeners = new Map void>>(); + + constructor(readonly url: string) { + EventSocket.instances.push(this); + } + + addEventListener(name: string, listener: (...args: unknown[]) => void): void { + const listeners = this.listeners.get(name) ?? new Set(); + listeners.add(listener); + this.listeners.set(name, listeners); + } + + removeEventListener(name: string, listener: (...args: unknown[]) => void): void { + this.listeners.get(name)?.delete(listener); + } + + send(): void {} + + close(): void { + this.readyState = 3; + this.emit('close', { code: 1000, reason: 'closed' }); + } + + open(): void { + this.readyState = 1; + this.emit('open'); + } + + message(event: SnowLumaEvent): void { + this.emit('message', { data: JSON.stringify(event) }); + } + + emit(name: string, ...args: unknown[]): void { + for (const listener of [...(this.listeners.get(name) ?? [])]) { + listener(...args); + } + } +} + +const privateEvent: OneBotPrivateMessageEvent = { + time: 1, + self_id: 10000, + post_type: 'message', + message_type: 'private', + sub_type: 'friend', + message_id: -7, + user_id: 10001, + message: [{ type: 'text', data: { text: 'hello' } }], + raw_message: 'hello', + font: 0, + sender: { user_id: 10001, nickname: 'tester' }, +}; + +const groupEvent: OneBotGroupMessageEvent = { + ...privateEvent, + message_type: 'group', + sub_type: 'normal', + group_id: 20000, +}; + +describe('WebSocket event waits', () => { + const clients: SnowLumaWebSocketClient[] = []; + + beforeEach(() => { + vi.useFakeTimers(); + EventSocket.instances = []; + }); + + afterEach(() => { + for (const client of clients.splice(0)) { + client.close(); + } + + vi.useRealTimers(); + }); + + function createClient(reconnect = false): SnowLumaWebSocketClient { + const client = new SnowLumaWebSocketClient({ + webSocket: EventSocket, + requestTimeoutMs: 1000, + reconnect: reconnect ? { minDelayMs: 10 } : false, + }); + clients.push(client); + return client; + } + + async function connect(client: SnowLumaWebSocketClient): Promise { + const opening = client.connect(); + const socket = EventSocket.instances.at(-1)!; + socket.open(); + await opening; + return socket; + } + + it('registers immediately before connect and observes the first matching event', async () => { + const client = createClient(); + const predicate = vi.fn((event: SnowLumaEvent) => event.post_type === 'message'); + const waiting = client.waitForEvent(predicate); + expect(EventSocket.instances).toHaveLength(0); + const socket = await connect(client); + socket.message(privateEvent); + await expect(waiting).resolves.toEqual(privateEvent); + socket.message(groupEvent); + await vi.advanceTimersByTimeAsync(0); + expect(predicate).toHaveBeenCalledOnce(); + expect(vi.getTimerCount()).toBe(0); + }); + + it('filters messages before invoking a predicate and accepts self-sent messages', async () => { + const client = createClient(); + const socket = await connect(client); + const predicate = vi.fn((event: OneBotMessageEvent) => event.message_type === 'group'); + const waiting = client.waitForMessage(predicate); + socket.message({ + time: 1, + self_id: 10000, + post_type: 'notice', + notice_type: 'group_upload', + }); + socket.message(privateEvent); + const sent: OneBotGroupMessageEvent = { ...groupEvent, post_type: 'message_sent' }; + socket.message(sent); + await expect(waiting).resolves.toEqual(sent); + expect(predicate).toHaveBeenCalledTimes(2); + }); + + it('supports type guards, boolean predicates, omitted predicates and options-only calls', async () => { + const client = createClient(); + const socket = await connect(client); + const narrowedEvent = client.waitForEvent(isGroupMessageEvent); + const narrowedMessage = client.waitForMessage(isGroupMessageEvent); + const booleanEvent = client.waitForEvent((event): boolean => event.post_type === 'message'); + const booleanMessage = client.waitForMessage((event): boolean => event.user_id === 10001); + const anyEvent = client.waitForEvent({ timeoutMs: 100 }); + const anyMessage = client.waitForMessage({ timeoutMs: 100 }); + const defaultMessage = client.waitForMessage(); + const explicitUndefined = client.waitForEvent(undefined, { timeoutMs: 100 }); + expectTypeOf(narrowedEvent).toEqualTypeOf>(); + expectTypeOf(narrowedMessage).toEqualTypeOf>(); + expectTypeOf(booleanEvent).toEqualTypeOf>(); + expectTypeOf(booleanMessage).toEqualTypeOf>(); + socket.message(groupEvent); + + for (const wait of [ + narrowedEvent, + narrowedMessage, + booleanEvent, + booleanMessage, + anyEvent, + anyMessage, + defaultMessage, + explicitUndefined, + ]) { + await expect(wait).resolves.toEqual(groupEvent); + } + + expect(vi.getTimerCount()).toBe(0); + }); + + it.each([ + 'success', + 'timeout', + 'abort', + 'predicate error', + 'remote close', + 'client close', + ] as const)( + 'cleans event subscriptions, timers and abort listeners after %s', + async (outcome) => { + const client = createClient(); + const socket = await connect(client); + const controller = new AbortController(); + const removeAbort = vi.spyOn(controller.signal, 'removeEventListener'); + const subscribe = client.onEvent.bind(client); + const unsubscribe = vi.fn(); + vi.spyOn(client, 'onEvent').mockImplementation((listener) => { + const off = subscribe(listener); + + return () => { + unsubscribe(); + off(); + }; + }); + const cause = new Error('predicate failed'); + const predicate = vi.fn(() => { + if (outcome === 'predicate error') { + throw cause; + } + + return true; + }); + const waiting = client.waitForEvent(predicate, { signal: controller.signal }); + const settled = waiting.then( + (event) => event, + (error: unknown) => error, + ); + + switch (outcome) { + case 'success': + case 'predicate error': + socket.message(privateEvent); + break; + case 'timeout': + await vi.advanceTimersByTimeAsync(1000); + break; + case 'abort': + controller.abort(cause); + break; + case 'remote close': + socket.close(); + break; + case 'client close': + client.close(); + break; + } + + const result = await settled; + + if (outcome === 'success') { + expect(result).toEqual(privateEvent); + } else if (outcome === 'predicate error') { + expect(result).toBe(cause); + } else if (outcome === 'abort') { + expect(result).toBeInstanceOf(SnowLumaAbortError); + expect(result).toHaveProperty('cause', cause); + } else if (outcome === 'timeout') { + expect(result).toBeInstanceOf(SnowLumaTimeoutError); + expect(result).toHaveProperty('timeoutMs', 1000); + } else { + expect(result).toBeInstanceOf(SnowLumaConnectionError); + } + + expect(unsubscribe).toHaveBeenCalledOnce(); + expect(removeAbort).toHaveBeenCalledWith('abort', expect.any(Function)); + expect(vi.getTimerCount()).toBe(0); + socket.message(groupEvent); + await vi.advanceTimersByTimeAsync(0); + expect(predicate).toHaveBeenCalledTimes( + ['success', 'predicate error'].includes(outcome) ? 1 : 0, + ); + }, + ); + + it('rejects all waits immediately when closed before any connection is created', async () => { + const client = createClient(); + const first = expect(client.waitForEvent()).rejects.toBeInstanceOf(SnowLumaConnectionError); + const second = expect(client.waitForMessage({ timeoutMs: 0 })).rejects.toBeInstanceOf( + SnowLumaConnectionError, + ); + client.close(); + await Promise.all([first, second]); + expect(EventSocket.instances).toHaveLength(0); + expect(vi.getTimerCount()).toBe(0); + }); + + it('rejects on explicit close even if the socket never emits its close event', async () => { + const client = createClient(); + const socket = await connect(client); + vi.spyOn(socket, 'close').mockImplementation(() => { + socket.readyState = 2; + }); + const waiting = expect(client.waitForEvent()).rejects.toBeInstanceOf( + SnowLumaConnectionError, + ); + client.close(); + await waiting; + expect(vi.getTimerCount()).toBe(0); + }); + + it('rejects a pre-aborted signal without adding event listeners or timers', async () => { + const client = createClient(); + const controller = new AbortController(); + const cause = new Error('cancelled'); + controller.abort(cause); + const subscribe = vi.spyOn(client, 'onEvent'); + await expect(client.waitForMessage({ signal: controller.signal })).rejects.toMatchObject({ + name: 'SnowLumaAbortError', + cause, + }); + expect(subscribe).not.toHaveBeenCalled(); + expect(vi.getTimerCount()).toBe(0); + }); + + it('does not carry a wait across an unexpected disconnect and automatic reconnect', async () => { + const client = createClient(true); + const socket = await connect(client); + const predicate = vi.fn(() => true); + const waiting = expect(client.waitForEvent(predicate)).rejects.toBeInstanceOf( + SnowLumaConnectionError, + ); + socket.close(); + await waiting; + await vi.advanceTimersByTimeAsync(10); + const replacement = EventSocket.instances.at(-1)!; + replacement.open(); + replacement.message(privateEvent); + await vi.advanceTimersByTimeAsync(0); + expect(predicate).not.toHaveBeenCalled(); + const newWait = client.waitForMessage(); + replacement.message(groupEvent); + await expect(newWait).resolves.toEqual(groupEvent); + }); + + it('observes middleware ordering and ignores stopped events', async () => { + const client = createClient(); + const socket = await connect(client); + const predicate = vi.fn((event: SnowLumaEvent) => event.raw_message === 'processed'); + client.use(async (event, context, next) => { + if (event.message_id === -7) { + context.stopPropagation(); + return; + } + + event.raw_message = 'processed'; + await next(); + }); + const waiting = client.waitForEvent(predicate); + socket.message(privateEvent); + await vi.advanceTimersByTimeAsync(0); + expect(predicate).not.toHaveBeenCalled(); + socket.message({ ...groupEvent, message_id: -8 }); + await expect(waiting).resolves.toMatchObject({ message_id: -8, raw_message: 'processed' }); + expect(predicate).toHaveBeenCalledOnce(); + }); + + it('allows a zero timeout and still supports cancellation', async () => { + const client = createClient(); + const controller = new AbortController(); + const waiting = expect( + client.waitForEvent({ timeoutMs: 0, signal: controller.signal }), + ).rejects.toBeInstanceOf(SnowLumaAbortError); + expect(vi.getTimerCount()).toBe(0); + await vi.advanceTimersByTimeAsync(100_000); + controller.abort(); + await waiting; + }); + + it('keeps cancellation authoritative when a predicate cancels its own wait', async () => { + const client = createClient(); + const socket = await connect(client); + const controller = new AbortController(); + const removeAbort = vi.spyOn(controller.signal, 'removeEventListener'); + const waiting = expect( + client.waitForMessage( + () => { + controller.abort('cancel while checking'); + return true; + }, + { signal: controller.signal }, + ), + ).rejects.toMatchObject({ + name: 'SnowLumaAbortError', + cause: 'cancel while checking', + }); + socket.message(privateEvent); + await waiting; + expect(removeAbort).toHaveBeenCalledOnce(); + expect(vi.getTimerCount()).toBe(0); + }); + + it.each([-1, Number.NaN, Number.POSITIVE_INFINITY, 2_147_483_648])( + 'rejects invalid timeout %s before subscribing', + async (timeoutMs) => { + const client = createClient(); + const subscribe = vi.spyOn(client, 'onEvent'); + await expect(client.waitForEvent({ timeoutMs })).rejects.toBeInstanceOf(RangeError); + expect(subscribe).not.toHaveBeenCalled(); + expect(vi.getTimerCount()).toBe(0); + }, + ); +}); diff --git a/packages/sdk/tests/events.test.ts b/packages/sdk/tests/events.test.ts new file mode 100644 index 00000000..de57dcf7 --- /dev/null +++ b/packages/sdk/tests/events.test.ts @@ -0,0 +1,88 @@ +import { describe, expect, it, vi } from 'vitest'; +import { + createEventContext, + isGroupMessageEvent, + isPrivateMessageEvent, + matchCommand, + text, + type OneBotPrivateMessageEvent, + type OneBotRequestEvent, + type SnowLumaApiClient, +} from '../src'; + +const PRIVATE_EVENT: OneBotPrivateMessageEvent = { + time: 1, + self_id: 10000, + post_type: 'message', + message_type: 'private', + sub_type: 'friend', + message_id: 7, + message_seq: 8, + user_id: 10001, + message: [{ type: 'text', data: { text: '/ping a b' } }], + raw_message: '/ping a b', + font: 0, + sender: { user_id: 10001, nickname: 'tester' }, +}; + +function fakeClient(): SnowLumaApiClient { + return { + sendPrivateMessage: vi.fn().mockResolvedValue({ message_id: 1 }), + sendGroupMessage: vi.fn().mockResolvedValue({ message_id: 2 }), + setFriendAddRequest: vi.fn().mockResolvedValue(null), + setGroupAddRequest: vi.fn().mockResolvedValue(null), + raw: vi.fn().mockResolvedValue(null), + } as unknown as SnowLumaApiClient; +} + +describe('event helpers', () => { + it('narrows message event types', () => { + expect(isPrivateMessageEvent(PRIVATE_EVENT)).toBe(true); + expect(isGroupMessageEvent(PRIVATE_EVENT)).toBe(false); + }); + + it('replies to private messages through context', async () => { + const client = fakeClient(); + const context = createEventContext(PRIVATE_EVENT, client); + + await context.reply(text('pong')); + + expect(client.sendPrivateMessage).toHaveBeenCalledWith(10001, text('pong'), undefined); + }); + + it('approves and rejects request events', async () => { + const client = fakeClient(); + const request: OneBotRequestEvent = { + time: 1, + self_id: 10000, + post_type: 'request', + request_type: 'group', + sub_type: 'invite', + flag: 'flag-1', + }; + const context = createEventContext(request, client); + + await context.approve(); + await context.reject('nope'); + + expect(client.setGroupAddRequest).toHaveBeenNthCalledWith(1, 'flag-1', { + subType: 'invite', + approve: true, + }); + expect(client.setGroupAddRequest).toHaveBeenNthCalledWith(2, 'flag-1', { + subType: 'invite', + approve: false, + reason: 'nope', + }); + }); + + it('matches commands with prefixes', () => { + expect(matchCommand(PRIVATE_EVENT, 'ping')).toMatchObject({ + command: 'ping', + args: ['a', 'b'], + rest: 'a b', + prefix: '/', + }); + expect(matchCommand(PRIVATE_EVENT, 'pong')).toBeNull(); + }); +}); diff --git a/packages/sdk/tests/file-streams.test.ts b/packages/sdk/tests/file-streams.test.ts new file mode 100644 index 00000000..bf61b9a2 --- /dev/null +++ b/packages/sdk/tests/file-streams.test.ts @@ -0,0 +1,288 @@ +import { describe, expect, it, vi } from 'vitest'; +import { + SnowLumaAbortError, + SnowLumaApiError, + SnowLumaHttpClient, + SnowLumaParseError, +} from '../src/index.js'; +import type { JsonObject } from '../src/index.js'; + +const wrap = (data: unknown) => ({ status: 'ok', retcode: 0, stream: 'stream-action', data }); +const wire = (data: unknown) => JSON.stringify(wrap(data)) + '\r\n\r\n'; +const info = { + type: 'stream', + data_type: 'file_info', + file_name: 'test', + file_size: 2, + chunk_size: 2, +}; +const chunk = { + type: 'stream', + data_type: 'file_chunk', + index: 0, + data: 'YWI=', + size: 2, + base64_size: 4, + progress: 100, +}; +const complete = { + type: 'response', + data_type: 'file_complete', + file_name: 'test', + total_chunks: 1, + total_bytes: 2, + message: 'done', +}; + +async function download(frames: unknown[], onInfo?: (value: unknown) => void) { + const client = new SnowLumaHttpClient({ + fetch: async () => new Response(frames.map(wire).join('')), + }); + const stream = client.downloadFileStream({ file: 'test' }, { onInfo }); + const chunks: Uint8Array[] = []; + + while (true) { + const result = await stream.next(); + + if (result.done) { + return { chunks, complete: result.value }; + } + + chunks.push(result.value); + } +} + +describe('file download helper', () => { + it('yields bytes, exposes metadata and returns verified completion', async () => { + const onInfo = vi.fn(); + expect(await download([info, chunk, complete], onInfo)).toEqual({ + chunks: [new Uint8Array([97, 98])], + complete, + }); + expect(onInfo).toHaveBeenCalledExactlyOnceWith(info); + }); + + it('accepts an unknown initial size and verifies the final totals', async () => { + expect( + (await download([{ ...info, file_size: 0 }, chunk, complete])).complete.total_bytes, + ).toBe(2); + }); + + it('supports empty files', async () => { + expect( + ( + await download([ + { ...info, file_size: 0 }, + { ...complete, total_chunks: 0, total_bytes: 0 }, + ]) + ).chunks, + ).toEqual([]); + }); + + it.each([ + ['missing info', [chunk, complete]], + ['duplicate info', [info, info, chunk, complete]], + ['missing chunk', [info, complete]], + ['out-of-order index', [info, { ...chunk, index: 1 }, complete]], + ['invalid base64', [info, { ...chunk, data: '????' }, complete]], + ['non-canonical base64', [info, { ...chunk, data: 'YWL=' }, complete]], + ['wrong chunk size', [info, { ...chunk, size: 3 }, complete]], + ['wrong base64 size', [info, { ...chunk, base64_size: 5 }, complete]], + ['wrong final size', [info, chunk, { ...complete, total_bytes: 3 }]], + ['wrong final count', [info, chunk, { ...complete, total_chunks: 2 }]], + ['wrong info size', [{ ...info, file_size: 3 }, chunk, complete]], + ['wrong final name', [info, chunk, { ...complete, file_name: 'other' }]], + ['unexpected frame', [info, { type: 'stream', data_type: 'other' }, complete]], + ])('rejects %s', async (_name, frames) => { + await expect(download(frames as unknown[])).rejects.toBeInstanceOf(SnowLumaParseError); + }); +}); + +function uploader(transform?: (data: JsonObject, params: JsonObject) => JsonObject) { + const calls: JsonObject[] = []; + const fetch = vi.fn(async (_input: string | URL | Request, init?: RequestInit) => { + const { params } = JSON.parse(String(init?.body)) as { params: JsonObject }; + calls.push(params); + const first = calls[0]; + const result: JsonObject = params.is_complete + ? { + type: 'response', + status: 'file_complete', + stream_id: first.stream_id, + received_chunks: first.total_chunks, + total_chunks: first.total_chunks, + file_size: first.file_size, + file_path: '/remote/file', + file_name: 'test', + sha256: 'a'.repeat(64), + } + : { + type: 'stream', + status: 'chunk_received', + stream_id: params.stream_id, + received_chunks: Number(params.chunk_index) + 1, + total_chunks: params.total_chunks, + }; + return new Response(wire(transform ? transform(result, params) : result)); + }); + return { client: new SnowLumaHttpClient({ fetch }), calls, fetch }; +} + +describe('file upload helper', () => { + it('cancels a stalled readable source before any request is sent', async () => { + const { client, fetch } = uploader(); + const cancel = vi.fn(); + const source = new ReadableStream({ cancel }); + const controller = new AbortController(); + const upload = client.uploadFileStream(source, { fileSize: 1, signal: controller.signal }); + await vi.waitFor(() => expect(source.locked).toBe(true)); + controller.abort(); + await expect(upload).rejects.toBeInstanceOf(SnowLumaAbortError); + expect(cancel).toHaveBeenCalledOnce(); + expect(source.locked).toBe(false); + expect(fetch).not.toHaveBeenCalled(); + }); + + it('does not send later chunks or finalize after cancellation from a progress callback', async () => { + const { client, calls } = uploader(); + const controller = new AbortController(); + await expect( + client.uploadFileStream(new Uint8Array([1, 2]), { + chunkSize: 1, + signal: controller.signal, + onProgress: () => controller.abort(), + }), + ).rejects.toBeInstanceOf(SnowLumaAbortError); + expect(calls).toHaveLength(1); + }); + + it('re-chunks async input, awaits progress and separately finalizes after all ACKs', async () => { + const { client, calls } = uploader(); + const progress = vi.fn(); + let readSecond = false; + const source = (async function* () { + yield new Uint8Array([1, 2, 3, 4]); + expect(progress).toHaveBeenCalledTimes(2); + readSecond = true; + yield new Uint8Array([5]); + })(); + const result = await client.uploadFileStream(source, { + fileSize: 5, + chunkSize: 2, + filename: 'input', + streamId: 'test', + onProgress: progress, + }); + expect(readSecond).toBe(true); + expect(calls.map((params) => params.chunk_data)).toEqual([ + 'AQI=', + 'AwQ=', + 'BQ==', + undefined, + ]); + expect(calls[0]).toMatchObject({ total_chunks: 3, file_size: 5, filename: 'input' }); + expect(calls[3]).toEqual({ stream_id: 'test', is_complete: true }); + expect(progress).toHaveBeenLastCalledWith({ + streamId: 'test', + uploadedChunks: 3, + totalChunks: 3, + uploadedBytes: 5, + fileSize: 5, + }); + expect(result.file_path).toBe('/remote/file'); + }); + + it.each([new Uint8Array(), new Blob([]), new Blob(['ab'])])( + 'infers size for byte and Blob sources: %s', + async (source) => { + const { client, calls } = uploader(); + const result = await client.uploadFileStream(source); + expect(result.file_size).toBe(source instanceof Blob ? source.size : source.length); + expect(calls).toHaveLength(2); + expect(calls[0].total_chunks).toBe(1); + }, + ); + + it.each([0, 4])( + 'does not finalize a streaming source with mismatched size %i', + async (fileSize) => { + const { client, calls } = uploader(); + let closed = false; + const source = (async function* () { + try { + yield new Uint8Array([1, 2]); + } finally { + closed = true; + } + })(); + await expect( + client.uploadFileStream(source, { fileSize, chunkSize: 1 }), + ).rejects.toThrow('fileSize'); + expect(closed).toBe(true); + expect(calls.some((call) => call.is_complete)).toBe(false); + }, + ); + + it('requires a declared size and validates options before making requests', async () => { + const { client, fetch } = uploader(); + const source = (async function* () { + yield new Uint8Array([1]); + })(); + await expect(client.uploadFileStream(source)).rejects.toThrow('fileSize'); + await expect(client.uploadFileStream(new Uint8Array([1]), { fileSize: 2 })).rejects.toThrow( + 'fileSize', + ); + await expect( + client.uploadFileStream(new Uint8Array([1]), { chunkSize: 0 }), + ).rejects.toThrow('chunkSize'); + await expect( + client.uploadFileStream(new Uint8Array([1]), { streamId: '../bad' }), + ).rejects.toThrow('streamId'); + expect(fetch).not.toHaveBeenCalled(); + }); + + it('rejects incorrect ACKs and cancels a readable source on failure', async () => { + const { client, calls } = uploader((data) => ({ ...data, received_chunks: 99 })); + const cancel = vi.fn(); + const source = new ReadableStream({ + start(c) { + c.enqueue(new Uint8Array([1, 2])); + }, + cancel, + }); + await expect(client.uploadFileStream(source, { fileSize: 2 })).rejects.toBeInstanceOf( + SnowLumaParseError, + ); + expect(calls).toHaveLength(1); + expect(cancel).toHaveBeenCalledOnce(); + expect(source.locked).toBe(false); + }); + + it('stops after a failed chunk and preserves the server error', async () => { + const fetch = vi.fn( + async () => + new Response( + JSON.stringify({ + status: 'failed', + retcode: 1500, + data: { type: 'error' }, + wording: 'disk full', + }), + ), + ); + const client = new SnowLumaHttpClient({ fetch }); + await expect( + client.uploadFileStream(new Uint8Array(10), { chunkSize: 2 }), + ).rejects.toBeInstanceOf(SnowLumaApiError); + expect(fetch).toHaveBeenCalledOnce(); + }); + + it('rejects inconsistent final metadata', async () => { + const { client } = uploader((data, params) => + params.is_complete ? { ...data, file_size: 99 } : data, + ); + await expect(client.uploadFileStream(new Uint8Array([1]))).rejects.toThrow( + 'completion metadata', + ); + }); +}); diff --git a/packages/sdk/tests/fixtures/action-contracts.ts b/packages/sdk/tests/fixtures/action-contracts.ts new file mode 100644 index 00000000..350fc32e --- /dev/null +++ b/packages/sdk/tests/fixtures/action-contracts.ts @@ -0,0 +1,579 @@ +import type { ActionParams, ActionResult } from '@snowluma/sdk'; + +const album = { group_id: '10001', album_id: 'album' }; +const mediaLike = { ...album, batch_id: '9007199254740993', lloc: 'photo' }; +const mediaUpload = { ...album, album_name: 'Album', file: 'file:///fixture' }; +const download = { file: 'https://example.com/file', file_id: 'cached', chunk_size: '65536' }; +const fileset = { fileset_id: 'fileset' }; +const flashFile = { ...fileset, file_name: 'file.txt', file_index: '0' }; +const peer = { group_id: '10001', user_id: '10002', phone_number: '' }; +const qzoneLike = { tid: 'post', target_uin: '10002', abstime: '1700000000' }; +const qzonePublicFeed = { + cell_common: { + domain_type: 3, + union_id: { uf_key: '9007199254740993', unknown_identity: 'preserved' }, + }, + cell_feed_transfer: { opaque: 'fixture' }, + unknown_cell: { decimal: '18446744073709551615' }, +}; +const qzonePublicComment = { + id: '9007199254740993', + user: { uid: 'public-reader' }, + like: { id: 'comment-like-key' }, +}; +const qzonePublicReply = { + id: '18446744073709551615', + user: { uid: 'public-author' }, + like: { id: 'reply-like-key' }, +}; + +// The same examples are compiled against the published declarations and parsed +// by the real server action definitions. They never invoke QQ or perform I/O. +export const actionParams = { + get_friend_list: { with_profile: true }, + get_friends_with_category: { with_profile: false }, + get_group_admin_permissions: { group_id: '10001', user_id: '10002' }, + set_group_admin_permissions: { + group_id: '10001', + user_id: '10002', + recall_member_message: false, + kick_member: true, + kick_member_per_day: '20', + }, + set_group_admin_receive_verify: { group_id: '10001', user_id: '10002', enable: 'on' }, + _get_friend_dress: { user_id: '10002' }, + add_custom_face: { file: 'file:///fixture.png' }, + cancel_group_album_media_like: mediaLike, + clean_stream_temp_file: {}, + comment_qzone: { + tid: 'post', + content: 'Comment', + target_uin: '10002', + images: [], + comment_id: '0', + comment_uin: '10003', + reply_uin: '10004', + reply_name: 'Reader', + }, + comment_qzone_public_feed: { + feed: qzonePublicFeed, + content: [{ type: 0, content: 'Comment', upstream_option: true }], + }, + create_flash_task: { + files: ['file:///one', { file: 'file:///two', name: 'two.txt' }], + name: 'Files', + thumb_path: '', + }, + del_group_album_media: { ...album, lloc: 'photo' }, + delete_custom_face: { emoji_id: 'face' }, + delete_flash_file: fileset, + delete_qzone_msg: { tid: 'post' }, + delete_qzone_public_comment: { feed: qzonePublicFeed, comment: qzonePublicComment }, + delete_qzone_public_reply: { + feed: qzonePublicFeed, + comment: qzonePublicComment, + reply: qzonePublicReply, + }, + do_group_album_comment: { ...album, lloc: 'photo', content: 'Comment' }, + download_file_image_stream: download, + download_file_record_stream: download, + download_file_stream: download, + download_fileset: flashFile, + fetch_custom_face_detail: { count: '48' }, + fetch_ptt_text: { message_id: -42 }, + forward_qzone_public_feed: { feed: qzonePublicFeed, reason: '' }, + get_ptt_text: { message_id: '-42' }, + get_record_text: { message_id: -42 }, + get_doubt_friends_add_request: { count: '50' }, + get_fileset_id: { share_code: 'share' }, + get_fileset_info: fileset, + get_flash_file_list: fileset, + get_flash_file_url: flashFile, + get_group_album_list: { group_id: '10001' }, + get_group_album_media_list: { ...album, attach_info: '' }, + get_group_signed_list: { group_id: '10001' }, + get_msg_emoji_likes: { message_id: '-42' }, + get_qun_album_list: { group_id: '10001', attach_info: '' }, + get_qzone_feeds: { page_num: '1', count: '10', cursor: 'cursor-from-previous-response' }, + get_qzone_msg_list: { target_uin: '10002', pos: '0', num: '20' }, + get_qzone_profile: { target_uin: '10002' }, + get_qzone_public_capabilities: {}, + get_qzone_home_feeds: { target_uin: '10001', cursor: 'home-feed-cursor' }, + get_qzone_feed_detail: { tid: '1127000000f1536501000000' }, + get_qzone_share_ark: { feed: qzonePublicFeed }, + get_qzone_public_comments: { feed: qzonePublicFeed, cursor: 'comments-from-detail' }, + get_qzone_public_feed_detail: { feed: qzonePublicFeed }, + get_qzone_public_feeds: { cursor: 'public-feed-cursor' }, + get_qzone_public_replies: { + feed: qzonePublicFeed, + comment: qzonePublicComment, + cursor: '', + page_size: '20', + }, + get_rkey_server: {}, + get_share_link: fileset, + like_qzone: qzoneLike, + list_filesets: {}, + modify_custom_face: { emoji_id: 'face', desc: 'Description' }, + move_custom_face_to_front: { emoji_id: 'face' }, + rename_flash_file: { ...fileset, new_name: 'new.txt' }, + reply_qzone_public_feed: { + feed: qzonePublicFeed, + comment: qzonePublicComment, + content: 'Reply', + reply: qzonePublicReply, + }, + request_decrypt_key: { db_path: '/fixture.db' }, + send_ark_share: peer, + send_flash_msg: { ...fileset, group_id: '10001', user_id: '10002' }, + send_group_ark_share: { group_id: '10001' }, + send_qzone_msg: { + content: 'Post', + images: [], + ugc_right: '16', + target_uins: ['10002'], + }, + send_tuwen_ark: { + group_id: '10001', + user_id: '10002', + title: 'Title', + desc: 'Description', + summary: 'Summary', + preview_url: '', + jump_url: 'https://example.com/', + }, + set_doubt_friends_add_request: { flag: 'u_fixture', approve: 'yes' }, + set_group_album_media_like: mediaLike, + set_group_member_invite_policy: { group_id: '10001', policy: 'require_approval' }, + set_group_member_permissions: { + group_id: '10001', + allow_member_upload_album: false, + allow_member_temporary_session: 'off', + allow_member_create_group: 1, + }, + set_group_new_member_history_visibility: { group_id: '10001', visible: 'on' }, + set_group_robot_add_option: { + group_id: '10001', + robot_member_switch: '1', + robot_member_examine: '0', + }, + set_qzone_ban: { user_id: '10002', enable: false }, + set_qzone_msg_right: { tid: 'post', ugc_right: '128', target_uins: ['10002'] }, + set_qzone_profile: { name: 'Space', description: '' }, + set_qzone_public_follow: { feed: qzonePublicFeed, enable: 'off' }, + set_qzone_public_comment_like: { + feed: qzonePublicFeed, + comment: qzonePublicComment, + reply: qzonePublicReply, + enable: 'on', + }, + set_qzone_public_like: { feed: qzonePublicFeed, enable: 0 }, + set_qzone_public_upvote: { feed: qzonePublicFeed, enable: true }, + share_group_ex: { group_id: '10001' }, + share_peer: peer, + test_download_stream: { error: false }, + unlike_qzone: qzoneLike, + upload_file_stream: { + stream_id: 'fixture', + chunk_data: 'YQ==', + chunk_index: '0', + total_chunks: '1', + file_size: '1', + expected_sha256: '', + is_complete: 'false', + filename: 'file.txt', + reset: false, + verify_only: 0, + file_retention: '0', + }, + upload_image_to_qun_album: mediaUpload, + upload_video_to_qun_album: mediaUpload, + '.handle_quick_operation_async': { context: {}, operation: {} }, +} satisfies { [K in CoveredAction]: ActionParams }; + +// Keep this independent of SnowLumaActionMap: a missing map entry must fail the +// consumer's coverage check rather than silently remove that example. +export type CoveredAction = + | 'get_friend_list' + | 'get_friends_with_category' + | 'get_group_admin_permissions' + | 'set_group_admin_permissions' + | 'set_group_admin_receive_verify' + | '_get_friend_dress' + | 'add_custom_face' + | 'cancel_group_album_media_like' + | 'clean_stream_temp_file' + | 'comment_qzone' + | 'comment_qzone_public_feed' + | 'create_flash_task' + | 'del_group_album_media' + | 'delete_custom_face' + | 'delete_flash_file' + | 'delete_qzone_msg' + | 'delete_qzone_public_comment' + | 'delete_qzone_public_reply' + | 'do_group_album_comment' + | 'download_file_image_stream' + | 'download_file_record_stream' + | 'download_file_stream' + | 'download_fileset' + | 'fetch_custom_face_detail' + | 'fetch_ptt_text' + | 'forward_qzone_public_feed' + | 'get_ptt_text' + | 'get_record_text' + | 'get_doubt_friends_add_request' + | 'get_fileset_id' + | 'get_fileset_info' + | 'get_flash_file_list' + | 'get_flash_file_url' + | 'get_group_album_list' + | 'get_group_album_media_list' + | 'get_group_signed_list' + | 'get_msg_emoji_likes' + | 'get_qun_album_list' + | 'get_qzone_feeds' + | 'get_qzone_msg_list' + | 'get_qzone_profile' + | 'get_qzone_public_capabilities' + | 'get_qzone_home_feeds' + | 'get_qzone_feed_detail' + | 'get_qzone_share_ark' + | 'get_qzone_public_comments' + | 'get_qzone_public_feed_detail' + | 'get_qzone_public_feeds' + | 'get_qzone_public_replies' + | 'get_rkey_server' + | 'get_share_link' + | 'like_qzone' + | 'list_filesets' + | 'modify_custom_face' + | 'move_custom_face_to_front' + | 'rename_flash_file' + | 'reply_qzone_public_feed' + | 'request_decrypt_key' + | 'send_ark_share' + | 'send_flash_msg' + | 'send_group_ark_share' + | 'send_qzone_msg' + | 'send_tuwen_ark' + | 'set_doubt_friends_add_request' + | 'set_group_album_media_like' + | 'set_group_member_invite_policy' + | 'set_group_member_permissions' + | 'set_group_new_member_history_visibility' + | 'set_group_robot_add_option' + | 'set_qzone_ban' + | 'set_qzone_msg_right' + | 'set_qzone_profile' + | 'set_qzone_public_follow' + | 'set_qzone_public_comment_like' + | 'set_qzone_public_like' + | 'set_qzone_public_upvote' + | 'share_group_ex' + | 'share_peer' + | 'test_download_stream' + | 'unlike_qzone' + | 'upload_file_stream' + | 'upload_image_to_qun_album' + | 'upload_video_to_qun_album' + | '.handle_quick_operation_async'; + +const flashInfo = { + fileset_id: 'fileset', + file_name: 'file.txt', + orig_name: 'original.txt', + size: 42, + share_url: 'https://example.com/share', + file_id: 'file', + download_url: '', +}; + +export const actionResults = { + get_friend_list: [ + { + user_id: 10001, + nickname: 'Friend', + remark: '', + category_id: 0, + long_nick: '', + age: 0, + is_qq_vip: false, + privilege_icons: { + open: [{ type: 1, icon_url: 'normal', deluxe_icon_url: 'deluxe' }], + closed: [], + }, + }, + ], + get_friends_with_category: [ + { + categoryId: 0, + categoryName: 'Friends', + categoryMbCount: 1, + buddyList: [{ user_id: 10001, nickname: 'Friend', remark: '', city: 'City' }], + }, + ], + get_group_admin_permissions: { + group_id: 10001, + user_id: 10002, + recall_member_message: null, + kick_member: true, + kick_member_per_day: 20, + receive_verify: false, + }, + set_group_admin_permissions: null, + set_group_admin_receive_verify: null, + _get_friend_dress: { + target_uin: '10002', + is_svip: true, + avatar_url: '', + items: [ + { + app_id: 15, + kind: 'card', + item_id: 1, + name: 'Card', + preview_url: '', + video_url: '', + price: 0, + }, + ], + }, + add_custom_face: { emoji_id: 'face' }, + cancel_group_album_media_like: {}, + clean_stream_temp_file: { message: 'success', removed: 1, freed_bytes: 42, skipped_active: 1 }, + comment_qzone: { comment_id: 'comment' }, + comment_qzone_public_feed: { comment: qzonePublicComment }, + create_flash_task: { fileset_id: 'fileset', task_id: 'fileset' }, + del_group_album_media: { success: true }, + delete_custom_face: null, + delete_flash_file: null, + delete_qzone_msg: null, + delete_qzone_public_comment: {}, + delete_qzone_public_reply: {}, + do_group_album_comment: { + id: 'comment', + user: { uin: '10002' }, + content: [{ type: 0, content: 'Comment' }], + time: '1700000000', + clientKey: 'fixture', + }, + download_file_image_stream: { + type: 'stream', + data_type: 'file_info', + file_name: 'image', + file_size: 1, + chunk_size: 1, + }, + download_file_record_stream: { + type: 'stream', + data_type: 'file_chunk', + index: 0, + data: 'YQ==', + size: 1, + progress: 100, + base64_size: 4, + }, + download_file_stream: { + type: 'response', + data_type: 'file_complete', + file_name: 'file', + total_chunks: 1, + total_bytes: 1, + message: 'Download completed', + }, + download_fileset: { url: '', file_name: 'file.txt', file_size: 42 }, + fetch_custom_face_detail: [{ emoji_id: 'face', resId: 'face', url: '', md5: '', desc: '' }], + fetch_ptt_text: { text: 'Speech' }, + forward_qzone_public_feed: {}, + get_ptt_text: { text: 'Speech' }, + get_record_text: { text: 'Speech' }, + get_doubt_friends_add_request: [ + { + uid: 'u_fixture', + user_id: 10002, + nick: 'User', + source: '', + reason: '', + msg: '', + group_code: '', + reqTime: 0, + }, + ], + get_fileset_id: { fileset_id: 'fileset' }, + get_fileset_info: { fileset_id: 'fileset', file_list: [flashInfo] }, + get_flash_file_list: [flashInfo], + get_flash_file_url: { url: '' }, + get_group_album_list: [ + { + id: 'album', + name: 'Album', + picNum: 1, + createTime: 1, + desc: '', + owner: '10002', + createuin: '10002', + createnickname: 'User', + last_upload_time: 1, + cover: null, + }, + ], + get_group_album_media_list: { + mediaList: [ + { + type: 2, + video: { id: 'video', videoTime: '1000' }, + batchId: '9007199254740993', + uploadTime: '1', + }, + ], + nextAttachInfo: '', + }, + get_group_signed_list: [{ user_id: 10002, nick: 'User', time: 1, rank: 1 }], + get_msg_emoji_likes: [ + { + emoji_id: '1', + emoji_type: 1, + count: 1, + last_reaction_time: 1, + users: [{ user_id: 10002 }], + }, + ], + get_qun_album_list: { + album_list: [ + { + album_id: 'album', + owner: '10002', + name: 'Album', + desc: '', + create_time: '1', + modify_time: '1', + last_upload_time: '1', + upload_number: '9007199254740993', + cover: { + type: 1, + image: { + name: '', + sloc: '', + lloc: '', + photoUrls: [], + defaultUrl: null, + isGif: false, + hasRaw: false, + }, + }, + top_flag: '0', + busi_type: 0, + status: 0, + allow_share: true, + is_subscribe: false, + bitmap: '', + is_share_album: false, + qz_album_type: 0, + cover_type: 0, + default_desc: '', + sort_type: 0, + }, + ], + attach_info: '', + has_more: false, + }, + get_qzone_feeds: { + feeds: [{ uin: 10002, nickname: 'User', time: 1, appid: 311, key: 'post', html: '' }], + has_more: false, + }, + get_qzone_msg_list: { + total: 1, + msglist: [ + { + tid: 'post', + content: 'Post', + time: 1, + comment_num: 0, + is_private: false, + images: [], + }, + ], + }, + get_qzone_profile: { name: 'Space', description: 'Description' }, + get_qzone_public_capabilities: { public_qzone_entrance_switch: true, can_upvote: true }, + get_qzone_home_feeds: { feeds: [qzonePublicFeed], has_more: false, next_cursor: null }, + get_qzone_feed_detail: { + feed: { + cell_common: { domain_type: 1, union_id: { feed_id: '1127000000f1536501000000' } }, + cell_pic: { future_image_field: true }, + }, + attach_info: 'comments-from-detail', + }, + get_qzone_share_ark: { + ark: '{"app":"com.tencent.tuwen.lua"}', + requires_confirmation: false, + notice: null, + }, + get_qzone_public_comments: { + cell_comment: { comments: [qzonePublicComment] }, + attach_info: 'next-comments', + has_more: true, + }, + get_qzone_public_feed_detail: { + feed: { feed: qzonePublicFeed }, + attach_info: 'comments-from-detail', + has_more: true, + }, + get_qzone_public_feeds: { + feeds: [qzonePublicFeed], + has_more: true, + next_cursor: 'public-feed-cursor', + unknown_page: { preserved: true }, + }, + get_qzone_public_replies: { + replys: [qzonePublicReply], + reply_attach_info: '', + has_more: false, + }, + get_rkey_server: { expired_time: 1, name: 'SnowLuma', private_rkey: 'fixture' }, + get_share_link: 'https://example.com/share', + like_qzone: null, + list_filesets: [flashInfo], + modify_custom_face: null, + move_custom_face_to_front: null, + rename_flash_file: null, + reply_qzone_public_feed: { reply: qzonePublicReply }, + request_decrypt_key: { db_key: 'fixture' }, + send_ark_share: { arkMsg: '{}' }, + send_flash_msg: { message_id: 0 }, + send_group_ark_share: '{}', + send_qzone_msg: { tid: 'post', time: 1 }, + send_tuwen_ark: null, + set_doubt_friends_add_request: null, + set_group_album_media_like: { id: 'like', status: 1 }, + set_group_member_invite_policy: null, + set_group_member_permissions: null, + set_group_new_member_history_visibility: null, + set_group_robot_add_option: null, + set_qzone_ban: null, + set_qzone_msg_right: { ugc_right: 128 }, + set_qzone_profile: null, + set_qzone_public_follow: { ret_code: 0 }, + set_qzone_public_comment_like: { like: { status: 1 } }, + set_qzone_public_like: { like: { liked: true } }, + set_qzone_public_upvote: { upvote: { upvoted: true } }, + share_group_ex: '{}', + share_peer: { arkMsg: '{}' }, + test_download_stream: { + type: 'response', + data_type: 'data_complete', + data: 'Stream transmission complete', + }, + unlike_qzone: null, + upload_file_stream: { + type: 'stream', + stream_id: 'fixture', + status: 'chunk_received', + received_chunks: 1, + total_chunks: 1, + }, + upload_image_to_qun_album: null, + upload_video_to_qun_album: { id: 'video' }, + '.handle_quick_operation_async': null, +} satisfies { [K in CoveredAction]: ActionResult }; diff --git a/packages/sdk/tests/fixtures/action-types.mts b/packages/sdk/tests/fixtures/action-types.mts new file mode 100644 index 00000000..a13576e7 --- /dev/null +++ b/packages/sdk/tests/fixtures/action-types.mts @@ -0,0 +1,324 @@ +import type { + ActionParams, + ActionResult, + DownloadFileStreamComplete, + JsonObject, + JsonValue, + SnowLumaActionMap, + SnowLumaHttpClient, + SnowLumaKnownAction, + SnowLumaWebSocketClient, + StreamApiResponse, + UploadFileStreamComplete, +} from '@snowluma/sdk'; +import { actionParams, actionResults, type CoveredAction } from './action-contracts.js'; + +type AssertNever = T; +export type MissingActionTypes = AssertNever>; +export type UnregisteredActionTypes = AssertNever< + Exclude +>; +export type UnspecifiedResults = AssertNever< + { + [K in CoveredAction]: JsonValue extends ActionResult ? K : never; + }[CoveredAction] +>; + +type AssertTrue = T; +type Equal = + (() => T extends A ? 1 : 2) extends () => T extends B ? 1 : 2 ? true : false; +export type PttAliasParams = AssertTrue< + Equal, ActionParams<'fetch_ptt_text'>> +>; +export type PttAliasResult = AssertTrue< + Equal, ActionResult<'fetch_ptt_text'>> +>; +export type QuickAlias = AssertTrue< + Equal< + SnowLumaActionMap['.handle_quick_operation_async'], + SnowLumaActionMap['.handle_quick_operation'] + > +>; + +declare const http: SnowLumaHttpClient; +declare const ws: SnowLumaWebSocketClient; + +const groupSystemMessages = await http.getGroupSystemMessages({ groupId: 10001 }); +export const invitationTarget: number | undefined = groupSystemMessages[0]?.target_uin; +export const invitationOperator: number | undefined = groupSystemMessages[0]?.operator_uin; +export const invitationIdentityStatus: 'known' | 'unknown' | undefined = + groupSystemMessages[0]?.invitor_status; + +const adminPermissions = await http.raw('get_group_admin_permissions', { + group_id: 10001, + user_id: 10002, +}); +export const adminRecall: boolean | null = adminPermissions.recall_member_message; +export const adminKickLimit: number | null = adminPermissions.kick_member_per_day; +export const adminReceiveVerify: boolean | null = adminPermissions.receive_verify; +await http.raw('set_group_admin_permissions', { + group_id: 10001, + user_id: 10002, + recall_member_message: false, +}); +await http.raw('set_group_admin_permissions', { + group_id: 10001, + user_id: 10002, + kick_member: false, +}); +await http.raw('set_group_admin_permissions', { + group_id: 10001, + user_id: 10002, + kick_member: true, + kick_member_per_day: 0, +}); +await http.raw('set_group_admin_receive_verify', { + group_id: 10001, + user_id: 10002, + enable: false, +}); +// @ts-expect-error a patch must change a permission +http.raw('set_group_admin_permissions', { group_id: 10001, user_id: 10002 }); +// @ts-expect-error enabling removal requires an explicit limit +http.raw('set_group_admin_permissions', { group_id: 10001, user_id: 10002, kick_member: true }); +http.raw('set_group_admin_permissions', { + group_id: 10001, + user_id: 10002, + kick_member: false, + // @ts-expect-error a limit without enabling removal is invalid + kick_member_per_day: 20, +}); +http.raw('set_group_admin_permissions', { + group_id: 10001, + user_id: 10002, + kick_member: true, + // @ts-expect-error only supported limits may be written + kick_member_per_day: 1, +}); +// @ts-expect-error receive-verification enable is required +http.raw('set_group_admin_receive_verify', { group_id: 10001, user_id: 10002 }); + +export const uploadedFile: Promise = http.uploadFileStream( + new Blob(['file']), +); +export const download: AsyncGenerator = + ws.downloadFileStream({ file_id: 'media' }, { action: 'download_file_image_stream' }); +export const rawFrames: AsyncIterableIterator< + StreamApiResponse> +> = http.requestStream('test_download_stream', {}); + +for await (const item of ws.stream('download_file_stream', { file: '/remote/file' })) { + if (item.type === 'stream' && item.data_type === 'file_chunk') { + const encoded: string = item.data; + void encoded; + } +} + +// @ts-expect-error single-response actions use request()/call() +http.stream('get_status', {}); +// @ts-expect-error uploads accept bytes rather than text chunks +http.uploadFileStream('text'); +// @ts-expect-error downloads require a file or file ID +ws.downloadFileStream({}); + +const feeds = await http.raw('get_qzone_feeds', { page_num: '2', count: 10 }); +const more: boolean = feeds.has_more; +const author: number = feeds.feeds[0].uin; +export const legacyFeedHtml: string = feeds.feeds[0].html; +export const feedContent: string | null | undefined = feeds.feeds[0].content; +export const feedPhotos: string[] | null | undefined = feeds.feeds[0].images; +export const feedLikeCount: number | null | undefined = feeds.feeds[0].like_count; +export const feedCursor: string | null | undefined = feeds.next_cursor; + +if (feedCursor) { + await http.raw('get_qzone_feeds', { cursor: feedCursor, count: 10 }); +} + +export const legacyFeedsResult: ActionResult<'get_qzone_feeds'> = { + feeds: [{ uin: 10002, nickname: 'User', time: 1, appid: 311, key: 'post', html: '' }], + has_more: false, +}; +// @ts-expect-error continuation tokens must be strings +http.raw('get_qzone_feeds', { cursor: 123 }); +const qzoneReply = await http.raw('comment_qzone', actionParams.comment_qzone); +export const qzoneReplyId: string = qzoneReply.comment_id; +export const qzoneParentId: string | undefined = qzoneReply.parent_comment_id; +export const qzoneParentUin: number | undefined = qzoneReply.parent_comment_uin; +export const legacyQzoneComment: ActionParams<'comment_qzone'> = { + tid: 'post', + content: 'Comment', + images: ['https://example.com/image.png'], +}; +export const legacyQzoneResult: ActionResult<'comment_qzone'> = { comment_id: '' }; +const qzoneProfile = await http.raw('get_qzone_profile', actionParams.get_qzone_profile); +export const qzoneName: string = qzoneProfile.name; +export const qzoneDescription: string = qzoneProfile.description; +export const ownQzoneProfile = http.raw('get_qzone_profile', {}); +export const qzoneProfileUpdate: Promise = ws.raw('set_qzone_profile', { + name: 'Space', + description: '', +}); +export const qzoneNameOnly: ActionParams<'set_qzone_profile'> = { name: 'Space' }; +export const qzoneDescriptionOnly: ActionParams<'set_qzone_profile'> = { description: '' }; +export const qzoneScalarFields: ActionParams<'set_qzone_profile'> = { + name: 123, + description: false, +}; +// @ts-expect-error a space profile patch requires at least one field +export const emptyQzoneProfilePatch: ActionParams<'set_qzone_profile'> = {}; +export const invalidQzoneProfilePatch: ActionParams<'set_qzone_profile'> = { + // @ts-expect-error profile fields accept string, number or boolean primitives + description: [], +}; +const feedDetail = await http.raw('get_qzone_feed_detail', actionParams.get_qzone_feed_detail); +export const fullQzoneFeed: JsonObject = feedDetail.feed; +export const feedDetailCursor: string | null = feedDetail.attach_info; +export const feedDetailCard = await http.raw('get_qzone_share_ark', { feed: feedDetail.feed }); +// @ts-expect-error querying a feed requires a post ID +http.raw('get_qzone_feed_detail', {}); +// @ts-expect-error the post ID is hexadecimal text, not an array +http.raw('get_qzone_feed_detail', { tid: [] }); + +const publicPage = await http.raw('get_qzone_public_feeds', {}); +export const publicCells: JsonObject[] = publicPage.feeds; +export const publicHasMore: boolean = publicPage.has_more; +export const publicCursor: string | null = publicPage.next_cursor; + +if (publicPage.has_more && publicPage.next_cursor) { + await http.raw('get_qzone_public_feeds', { cursor: publicPage.next_cursor }); +} + +declare const publicFeed: JsonObject; +declare const publicComment: JsonObject; +export const publicReplyDefaults: ActionParams<'get_qzone_public_replies'> = { + feed: publicFeed, + comment: publicComment, +}; +export const publicUpvoteDefault: ActionParams<'set_qzone_public_upvote'> = { feed: publicFeed }; +export const publicLikeDefault: ActionParams<'set_qzone_public_like'> = { feed: publicFeed }; +export const publicFollowDefault: ActionParams<'set_qzone_public_follow'> = { feed: publicFeed }; +export const publicCommentLikeDefault: ActionParams<'set_qzone_public_comment_like'> = { + feed: publicFeed, + comment: publicComment, +}; +export const publicReplyLike: ActionParams<'set_qzone_public_comment_like'> = { + feed: publicFeed, + comment: publicComment, + reply: { id: '18446744073709551615', like: { id: 'reply-like-key' } }, + enable: false, +}; +export const publicReplyToComment: ActionParams<'reply_qzone_public_feed'> = { + feed: publicFeed, + comment: publicComment, + content: 'Reply', +}; +export const publicForwardDefault: ActionParams<'forward_qzone_public_feed'> = { feed: publicFeed }; +export const publicReplyResult: JsonObject = await ws.raw( + 'reply_qzone_public_feed', + actionParams.reply_qzone_public_feed, +); +// @ts-expect-error follow-up comments require attach_info as the cursor +export const publicCommentsWithoutCursor: ActionParams<'get_qzone_public_comments'> = { + feed: publicFeed, +}; +export const invalidPublicContent: ActionParams<'comment_qzone_public_feed'> = { + feed: publicFeed, + // @ts-expect-error public content does not coerce numeric primitives + content: 123, +}; +export const invalidPublicRichItems: ActionParams<'comment_qzone_public_feed'> = { + feed: publicFeed, + // @ts-expect-error rich-text arrays contain JSON objects, not strings + content: ['text'], +}; +const speech = await ws.raw('get_record_text', { message_id: -42 }); +const transcription: string = speech.text; +const flash = await http.raw('get_fileset_info', { fileset_id: 'files' }); +const bytes: number = flash.file_list[0].size; +const envelope = await ws.rawResponse('get_fileset_info', actionParams.get_fileset_info); +const filesetId: string = envelope.data.fileset_id; +const album = await http.raw('get_qun_album_list', actionParams.get_qun_album_list); +const count: string = album.album_list[0].upload_number; +const cover: string | null | undefined = album.album_list[0].cover?.image?.defaultUrl?.url; +const upload = await ws.raw('upload_file_stream', { stream_id: 'fixture', verify_only: true }); + +if (upload.type === 'response') { + const checksum: string = upload.sha256; + const received: number = upload.received_chunks; + void [checksum, received]; +} else if (upload.type === 'stream') { + const status: 'file_created' | 'chunk_received' = upload.status; + void status; +} + +declare const frame: ActionResult<'download_file_stream'>; + +if (frame.data_type === 'file_chunk') { + const chunk: string = frame.data; + const index: number = frame.index; + void [chunk, index]; +} + +// Extra JSON fields and all accepted flash-task forms remain available. +export const extra: ActionParams<'send_qzone_msg'> = { content: 'Post', vendor_option: true }; +export const singlePath: ActionParams<'create_flash_task'> = { files: '/fixture' }; +export const namedFile: ActionParams<'create_flash_task'> = { + files: { file: '/fixture', name: 'file' }, +}; +export const legacyScalars: ActionParams<'modify_custom_face'> = { emoji_id: 123, desc: false }; +export const onePermission: ActionParams<'set_group_member_permissions'> = { + group_id: 10001, + allow_member_upload_album: false, +}; +export const completed: ActionResult<'upload_file_stream'> = { + type: 'response', + stream_id: 'fixture', + status: 'file_complete', + received_chunks: 1, + total_chunks: 1, + file_path: '/fixture', + file_name: 'file', + file_size: 1, + sha256: 'fixture', +}; +export const streamError: ActionResult<'download_file_stream'> = { + type: 'error', + data_type: 'error', +}; + +// @ts-expect-error publishing requires content +export const missingContent: ActionParams<'send_qzone_msg'> = {}; +// @ts-expect-error flash files must be paths or named file objects +export const invalidFlashFile: ActionParams<'create_flash_task'> = { files: [123] }; +// @ts-expect-error a permission patch needs at least one flag +export const missingPermission: ActionParams<'set_group_member_permissions'> = { group_id: 10001 }; +export const invalidPolicy: ActionParams<'set_group_member_invite_policy'> = { + group_id: 10001, + // @ts-expect-error the policy is a closed server enum + policy: 'admin_only', +}; +// @ts-expect-error uint64 album counters are returned as strings +export const invalidCount: ActionResult<'get_qun_album_list'>['album_list'][number]['upload_number'] = 1; +// @ts-expect-error voice transcription is an object with a text field +export const invalidSpeech: ActionResult<'fetch_ptt_text'> = 'Speech'; + +// The open action namespace and JSON escape hatch remain available. +declare const dynamicAction: string; +declare const dynamicParams: JsonObject; +const custom: Promise = http.raw('consumer_extension', { custom: true }); +const dynamic: Promise = ws.raw(dynamicAction, dynamicParams); + +export { + more, + author, + transcription, + bytes, + filesetId, + count, + cover, + custom, + dynamic, + actionResults, +}; +export type NewParams = ActionParams<'send_qzone_msg'>; +export type NewResult = ActionResult<'send_qzone_msg'>; diff --git a/packages/sdk/tests/fixtures/messaging-types.mts b/packages/sdk/tests/fixtures/messaging-types.mts new file mode 100644 index 00000000..dfb1e306 --- /dev/null +++ b/packages/sdk/tests/fixtures/messaging-types.mts @@ -0,0 +1,103 @@ +import { + createEventContext, + isGroupMessageEvent, + quoteMessage, + text, + type EventHandler, + type EventMiddleware, + type EventWaitOptions, + type MediaSource, + type OneBotGroupMessageEvent, + type OneBotMessageEvent, + type SendMessageResult, + type SnowLumaEvent, + type SnowLumaEventContext, + type SnowLumaEventContextWithQuote, + type SnowLumaHttpClient, + type SnowLumaWebSocketClient, +} from '@snowluma/sdk'; +import { localFile } from '@snowluma/sdk/node'; +import type { EventWaitOptions as ClientWaitOptions } from '@snowluma/sdk/client'; +import type { SendImageOptions } from '@snowluma/sdk/types'; +import { quoteMessage as messageQuote } from '@snowluma/sdk/messages'; + +declare const http: SnowLumaHttpClient; +declare const ws: SnowLumaWebSocketClient; +declare const event: OneBotMessageEvent; +const source: MediaSource = await localFile('./picture.png'); +const options: SendImageOptions = { image: { summary: 'picture' }, chunkSize: 16384 }; +const sent: Promise = http.sendGroupImage(123, source, options); +const sentPrivate: Promise = ws.sendPrivateVideo(456, new Blob(['bytes'])); +const file: Promise<{ file_id: string | null }> = ws.sendPrivateFile(456, new Uint8Array([1])); +ws.sendGroupFile( + 123, + { source: new Blob(['bytes']), filename: 'notes.txt' }, + { folderId: '/docs' }, +); +// @ts-expect-error Strings remain server paths; opening a local file must be explicit. +http.sendPrivateImage(456, './picture.png'); +// @ts-expect-error Media attributes remain checked. +http.sendGroupImage(123, source, { image: { subType: 'invalid' } }); + +const oldContext: SnowLumaEventContext = { + event, + client: http, + stopped: false, + stopPropagation() {}, + async reply() {}, + async approve() {}, + async reject() {}, + async quickOperation() {}, +}; + +const oldHandler: EventHandler = async (_event, context) => { + await context.reply('unchanged'); +}; + +oldHandler(event, oldContext); +ws.onMessage(oldHandler); + +const oldMiddleware: EventMiddleware = async (_event, context, next) => { + await context.reply('unchanged'); + await next(); +}; + +oldMiddleware(event, oldContext, async () => {}); +ws.use(oldMiddleware); + +const context: SnowLumaEventContextWithQuote = createEventContext(event, http); +const quoted: Promise = context.quote(text('hello')); +ws.onMessage(async (_event, ctx) => { + await ctx.quote('hello'); +}); +ws.onGroupMessage(async (_event, ctx) => { + await ctx.quote('hello'); +}); +ws.use(async (_event, ctx, next) => { + await ctx.quote('hello'); + await next(); +}); +ws.command('ping', async (_event, ctx) => { + await ctx.quote('pong'); +}); +http.sendGroupMessage(123, quoteMessage(-42, 'body')); +http.sendPrivateMessage(456, messageQuote(-42, text('body'))); + +const waitOptions: EventWaitOptions & ClientWaitOptions = { + timeoutMs: 100, + signal: new AbortController().signal, +}; +const group: Promise = ws.waitForEvent(isGroupMessageEvent, waitOptions); +const groupMessage: Promise = ws.waitForMessage(isGroupMessageEvent); +const message: Promise = ws.waitForMessage( + (e) => e.user_id === 456, + waitOptions, +); +const anyEvent: Promise = ws.waitForEvent(waitOptions); +ws.waitForEvent(undefined, waitOptions); +ws.waitForMessage(waitOptions); +// @ts-expect-error A filter without a type guard does not promise group fields. +const wrong: Promise = ws.waitForEvent(() => true); +// @ts-expect-error Wait predicates are synchronous. +ws.waitForMessage(async () => true); +export { sent, sentPrivate, file, quoted, group, groupMessage, message, anyEvent, wrong }; diff --git a/packages/sdk/tests/guards.test.ts b/packages/sdk/tests/guards.test.ts new file mode 100644 index 00000000..ebdd5c0b --- /dev/null +++ b/packages/sdk/tests/guards.test.ts @@ -0,0 +1,495 @@ +import { describe, expect, it } from 'vitest'; +import { + isBotStatusEvent, + isGroupMessageEvent, + isMessageEvent, + isMetaEvent, + isNoticeEvent, + isPrivateMessageEvent, + isRequestEvent, + noticeType, + requestType, + type OneBotGroupMessageEvent, + type OneBotMetaEvent, + type OneBotNoticeEvent, + type OneBotPrivateMessageEvent, + type OneBotRequestEvent, + type SnowLumaEvent, +} from '../src'; + +const PRIVATE_MESSAGE: OneBotPrivateMessageEvent = { + time: 1_700_000_001, + self_id: 10000, + post_type: 'message', + message_type: 'private', + sub_type: 'friend', + message_id: 11, + message_seq: 12, + user_id: 20001, + message: [{ type: 'text', data: { text: 'hi' } }], + raw_message: 'hi', + font: 0, + sender: { user_id: 20001, nickname: 'alice' }, +}; + +const PRIVATE_SENT: OneBotPrivateMessageEvent = { + time: 1_700_000_002, + self_id: 10000, + post_type: 'message_sent', + message_type: 'private', + sub_type: 'friend', + message_id: 13, + user_id: 20002, + message: 'echo', + raw_message: 'echo', + font: 0, + sender: { user_id: 10000, nickname: 'bot' }, +}; + +const GROUP_MESSAGE: OneBotGroupMessageEvent = { + time: 1_700_000_003, + self_id: 10000, + post_type: 'message', + message_type: 'group', + sub_type: 'normal', + message_id: 21, + message_seq: 22, + group_id: 30001, + user_id: 20003, + message: [{ type: 'text', data: { text: 'hey' } }], + raw_message: 'hey', + font: 0, + sender: { user_id: 20003, nickname: 'bob', card: 'Bobby', role: 'member' }, +}; + +const GROUP_SENT: OneBotGroupMessageEvent = { + time: 1_700_000_004, + self_id: 10000, + post_type: 'message_sent', + message_type: 'group', + sub_type: 'normal', + message_id: 23, + group_id: 30002, + user_id: 10000, + message: 'sent', + raw_message: 'sent', + font: 0, + sender: { user_id: 10000, nickname: 'bot' }, +}; + +const NOTICE: OneBotNoticeEvent = { + time: 1_700_000_005, + self_id: 10000, + post_type: 'notice', + notice_type: 'group_increase', +}; + +const REQUEST: OneBotRequestEvent = { + time: 1_700_000_006, + self_id: 10000, + post_type: 'request', + request_type: 'friend', + flag: 'flag-friend-1', + user_id: 20004, + comment: 'please', +}; + +const META: OneBotMetaEvent = { + time: 1_700_000_007, + self_id: 10000, + post_type: 'meta_event', + meta_event_type: 'heartbeat', +}; + +const UNKNOWN: SnowLumaEvent = { + time: 1_700_000_008, + self_id: 10000, + post_type: 'unknown', +}; + +describe('isMessageEvent', () => { + it('accepts inbound private and group messages', () => { + expect(isMessageEvent(PRIVATE_MESSAGE)).toBe(true); + expect(isMessageEvent(GROUP_MESSAGE)).toBe(true); + }); + + it('accepts message_sent private and group events', () => { + expect(isMessageEvent(PRIVATE_SENT)).toBe(true); + expect(isMessageEvent(GROUP_SENT)).toBe(true); + }); + + it('rejects message post types whose message_type is not private or group', () => { + const guild: SnowLumaEvent = { + time: 9, + self_id: 10000, + post_type: 'message', + message_type: 'guild', + }; + const sentChannel: SnowLumaEvent = { + time: 10, + self_id: 10000, + post_type: 'message_sent', + message_type: 'channel', + }; + const missingType: SnowLumaEvent = { + time: 11, + self_id: 10000, + post_type: 'message', + }; + + expect(isMessageEvent(guild)).toBe(false); + expect(isMessageEvent(sentChannel)).toBe(false); + expect(isMessageEvent(missingType)).toBe(false); + }); + + it('rejects non-message events even when message_type is present', () => { + const noticeShaped: SnowLumaEvent = { + time: 12, + self_id: 10000, + post_type: 'notice', + notice_type: 'notify', + message_type: 'private', + }; + + expect(isMessageEvent(NOTICE)).toBe(false); + expect(isMessageEvent(REQUEST)).toBe(false); + expect(isMessageEvent(META)).toBe(false); + expect(isMessageEvent(UNKNOWN)).toBe(false); + expect(isMessageEvent(noticeShaped)).toBe(false); + }); +}); + +describe('isPrivateMessageEvent', () => { + it('accepts private inbound and sent messages', () => { + expect(isPrivateMessageEvent(PRIVATE_MESSAGE)).toBe(true); + expect(isPrivateMessageEvent(PRIVATE_SENT)).toBe(true); + }); + + it('rejects group messages and non-message events', () => { + expect(isPrivateMessageEvent(GROUP_MESSAGE)).toBe(false); + expect(isPrivateMessageEvent(GROUP_SENT)).toBe(false); + expect(isPrivateMessageEvent(NOTICE)).toBe(false); + expect(isPrivateMessageEvent(REQUEST)).toBe(false); + expect(isPrivateMessageEvent(META)).toBe(false); + }); + + it('rejects private message_type when post_type is not a message kind', () => { + const leftover: SnowLumaEvent = { + time: 13, + self_id: 10000, + post_type: 'notice', + notice_type: 'friend_add', + message_type: 'private', + }; + + expect(isPrivateMessageEvent(leftover)).toBe(false); + }); +}); + +describe('isGroupMessageEvent', () => { + it('accepts group inbound and sent messages', () => { + expect(isGroupMessageEvent(GROUP_MESSAGE)).toBe(true); + expect(isGroupMessageEvent(GROUP_SENT)).toBe(true); + }); + + it('rejects private messages and non-message events', () => { + expect(isGroupMessageEvent(PRIVATE_MESSAGE)).toBe(false); + expect(isGroupMessageEvent(PRIVATE_SENT)).toBe(false); + expect(isGroupMessageEvent(NOTICE)).toBe(false); + expect(isGroupMessageEvent(REQUEST)).toBe(false); + expect(isGroupMessageEvent(META)).toBe(false); + }); + + it('rejects group message_type when post_type is not a message kind', () => { + const leftover: SnowLumaEvent = { + time: 14, + self_id: 10000, + post_type: 'request', + request_type: 'group', + flag: 'flag-x', + message_type: 'group', + }; + + expect(isGroupMessageEvent(leftover)).toBe(false); + }); +}); + +describe('isNoticeEvent', () => { + it('accepts notice events with a string notice_type', () => { + expect(isNoticeEvent(NOTICE)).toBe(true); + expect( + isNoticeEvent({ + time: 15, + self_id: 10000, + post_type: 'notice', + notice_type: '', + }), + ).toBe(true); + }); + + it('rejects notice post_type when notice_type is not a string', () => { + const missing: SnowLumaEvent = { + time: 16, + self_id: 10000, + post_type: 'notice', + }; + const numeric: SnowLumaEvent = { + time: 17, + self_id: 10000, + post_type: 'notice', + notice_type: 7, + }; + const nulled: SnowLumaEvent = { + time: 18, + self_id: 10000, + post_type: 'notice', + notice_type: null, + }; + + expect(isNoticeEvent(missing)).toBe(false); + expect(isNoticeEvent(numeric)).toBe(false); + expect(isNoticeEvent(nulled)).toBe(false); + }); + + it('accepts bot_status notices and rejects incomplete ones', () => { + expect( + isBotStatusEvent({ + time: 19, + self_id: 10000, + post_type: 'notice', + notice_type: 'bot_status', + sub_type: 'online', + user_id: 10000, + }), + ).toBe(true); + expect( + isBotStatusEvent({ + time: 20, + self_id: 10000, + post_type: 'notice', + notice_type: 'bot_status', + sub_type: 'offline', + user_id: 10000, + }), + ).toBe(true); + expect(isBotStatusEvent(NOTICE)).toBe(false); + expect( + isBotStatusEvent({ + time: 21, + self_id: 10000, + post_type: 'notice', + notice_type: 'bot_status', + sub_type: 'flap', + user_id: 10000, + }), + ).toBe(false); + }); + + it('rejects other post types', () => { + expect(isNoticeEvent(PRIVATE_MESSAGE)).toBe(false); + expect(isNoticeEvent(REQUEST)).toBe(false); + expect(isNoticeEvent(META)).toBe(false); + expect(isNoticeEvent(UNKNOWN)).toBe(false); + }); +}); + +describe('isRequestEvent', () => { + it('accepts request events with string request_type and flag', () => { + expect(isRequestEvent(REQUEST)).toBe(true); + expect( + isRequestEvent({ + time: 19, + self_id: 10000, + post_type: 'request', + request_type: 'group', + sub_type: 'add', + flag: '', + group_id: 30003, + }), + ).toBe(true); + }); + + it('rejects request post_type when request_type or flag is not a string', () => { + const missingFlag: SnowLumaEvent = { + time: 20, + self_id: 10000, + post_type: 'request', + request_type: 'friend', + }; + const numericFlag: SnowLumaEvent = { + time: 21, + self_id: 10000, + post_type: 'request', + request_type: 'friend', + flag: 99, + }; + const missingType: SnowLumaEvent = { + time: 22, + self_id: 10000, + post_type: 'request', + flag: 'flag-2', + }; + const numericType: SnowLumaEvent = { + time: 23, + self_id: 10000, + post_type: 'request', + request_type: 1, + flag: 'flag-3', + }; + const nullFlag: SnowLumaEvent = { + time: 24, + self_id: 10000, + post_type: 'request', + request_type: 'friend', + flag: null, + }; + + expect(isRequestEvent(missingFlag)).toBe(false); + expect(isRequestEvent(numericFlag)).toBe(false); + expect(isRequestEvent(missingType)).toBe(false); + expect(isRequestEvent(numericType)).toBe(false); + expect(isRequestEvent(nullFlag)).toBe(false); + }); + + it('rejects other post types even when request fields are present', () => { + const leftover: SnowLumaEvent = { + time: 25, + self_id: 10000, + post_type: 'notice', + notice_type: 'group_ban', + request_type: 'group', + flag: 'flag-4', + }; + + expect(isRequestEvent(PRIVATE_MESSAGE)).toBe(false); + expect(isRequestEvent(NOTICE)).toBe(false); + expect(isRequestEvent(META)).toBe(false); + expect(isRequestEvent(leftover)).toBe(false); + }); +}); + +describe('isMetaEvent', () => { + it('accepts meta_event events with a string meta_event_type', () => { + expect(isMetaEvent(META)).toBe(true); + expect( + isMetaEvent({ + time: 26, + self_id: 10000, + post_type: 'meta_event', + meta_event_type: 'lifecycle', + }), + ).toBe(true); + }); + + it('rejects meta_event post_type when meta_event_type is not a string', () => { + const missing: SnowLumaEvent = { + time: 27, + self_id: 10000, + post_type: 'meta_event', + }; + const numeric: SnowLumaEvent = { + time: 28, + self_id: 10000, + post_type: 'meta_event', + meta_event_type: 0, + }; + const nulled: SnowLumaEvent = { + time: 29, + self_id: 10000, + post_type: 'meta_event', + meta_event_type: null, + }; + + expect(isMetaEvent(missing)).toBe(false); + expect(isMetaEvent(numeric)).toBe(false); + expect(isMetaEvent(nulled)).toBe(false); + }); + + it('rejects other post types', () => { + expect(isMetaEvent(PRIVATE_MESSAGE)).toBe(false); + expect(isMetaEvent(NOTICE)).toBe(false); + expect(isMetaEvent(REQUEST)).toBe(false); + expect(isMetaEvent(UNKNOWN)).toBe(false); + }); +}); + +describe('noticeType', () => { + it('matches notice events by notice_type', () => { + const isIncrease = noticeType('group_increase'); + const isDecrease = noticeType('group_decrease'); + + expect(isIncrease(NOTICE)).toBe(true); + expect(isDecrease(NOTICE)).toBe(false); + expect( + isIncrease({ + time: 30, + self_id: 10000, + post_type: 'notice', + notice_type: 'group_decrease', + }), + ).toBe(false); + }); + + it('rejects events that fail isNoticeEvent', () => { + const isIncrease = noticeType('group_increase'); + const missingType: SnowLumaEvent = { + time: 31, + self_id: 10000, + post_type: 'notice', + }; + const leftover: SnowLumaEvent = { + time: 32, + self_id: 10000, + post_type: 'message', + message_type: 'private', + notice_type: 'group_increase', + }; + + expect(isIncrease(missingType)).toBe(false); + expect(isIncrease(leftover)).toBe(false); + expect(isIncrease(REQUEST)).toBe(false); + expect(isIncrease(PRIVATE_MESSAGE)).toBe(false); + }); +}); + +describe('requestType', () => { + it('matches request events by request_type', () => { + const isFriend = requestType('friend'); + const isGroup = requestType('group'); + + expect(isFriend(REQUEST)).toBe(true); + expect(isGroup(REQUEST)).toBe(false); + expect( + isFriend({ + time: 33, + self_id: 10000, + post_type: 'request', + request_type: 'group', + flag: 'flag-group-1', + }), + ).toBe(false); + }); + + it('rejects events that fail isRequestEvent', () => { + const isFriend = requestType('friend'); + const missingFlag: SnowLumaEvent = { + time: 34, + self_id: 10000, + post_type: 'request', + request_type: 'friend', + }; + const leftover: SnowLumaEvent = { + time: 35, + self_id: 10000, + post_type: 'notice', + notice_type: 'friend_add', + request_type: 'friend', + flag: 'flag-5', + }; + + expect(isFriend(missingFlag)).toBe(false); + expect(isFriend(leftover)).toBe(false); + expect(isFriend(NOTICE)).toBe(false); + expect(isFriend(META)).toBe(false); + }); +}); diff --git a/packages/sdk/tests/http-client.test.ts b/packages/sdk/tests/http-client.test.ts new file mode 100644 index 00000000..4b13774a --- /dev/null +++ b/packages/sdk/tests/http-client.test.ts @@ -0,0 +1,308 @@ +import { describe, expect, expectTypeOf, it, vi } from 'vitest'; +import type { GroupSystemMessage, QzoneMsgDetailResult, QzoneProfileResult } from '../src'; +import { + SnowLumaAbortError, + SnowLumaApiError, + SnowLumaAuthError, + SnowLumaHttpClient, + SnowLumaParseError, +} from '../src'; + +describe('SnowLumaHttpClient', () => { + it('retains independent group request actors and supports old servers', async () => { + const legacy: GroupSystemMessage = { + group_id: 90001, + group_name: 'group', + request_id: 1, + requester_uin: 10002, + requester_nick: 'member', + invitor_uin: 10004, + invitor_nick: 'inviter', + message: '', + checked: true, + flag: 'request-1', + }; + const current: GroupSystemMessage = { + ...legacy, + target_uin: 10002, + target_status: 'known', + operator_uin: 10003, + operator_status: 'known', + invitor_status: 'known', + }; + const fetchImpl = vi.fn( + async () => + new Response(JSON.stringify({ status: 'ok', retcode: 0, data: [current, legacy] })), + ); + const client = new SnowLumaHttpClient({ fetch: fetchImpl }); + const result = await client.getGroupSystemMessages({ groupId: 90001 }); + expectTypeOf(result).toEqualTypeOf(); + expect(result).toEqual([current, legacy]); + expect(result[1]).not.toHaveProperty('invitor_status'); + }); + it('reads typed space profiles for the current and an explicit account', async () => { + const data: QzoneProfileResult = { name: 'Space', description: 'Description' }; + const fetchImpl = vi + .fn() + .mockImplementation( + async () => new Response(JSON.stringify({ status: 'ok', retcode: 0, data })), + ); + const client = new SnowLumaHttpClient({ fetch: fetchImpl }); + const own = await client.raw('get_qzone_profile', {}); + const other = await client.raw('get_qzone_profile', { target_uin: '10002' }); + + expectTypeOf(own).toEqualTypeOf(); + expect(other).toEqual(data); + expect( + fetchImpl.mock.calls.map((call) => JSON.parse((call[1] as RequestInit).body as string)), + ).toEqual([ + { action: 'get_qzone_profile', params: {} }, + { action: 'get_qzone_profile', params: { target_uin: '10002' } }, + ]); + }); + + it('preserves omitted and empty space profile fields and returns null', async () => { + const fetchImpl = vi + .fn() + .mockImplementation( + async () => new Response(JSON.stringify({ status: 'ok', retcode: 0, data: null })), + ); + const client = new SnowLumaHttpClient({ fetch: fetchImpl }); + const result = await client.raw('set_qzone_profile', { name: 'Space' }); + + expectTypeOf(result).toEqualTypeOf(); + expect(result).toBeNull(); + await expect(client.raw('set_qzone_profile', { description: '' })).resolves.toBeNull(); + expect( + fetchImpl.mock.calls.map((call) => JSON.parse((call[1] as RequestInit).body as string)), + ).toEqual([ + { action: 'set_qzone_profile', params: { name: 'Space' } }, + { action: 'set_qzone_profile', params: { description: '' } }, + ]); + }); + + it('propagates space profile update failures', async () => { + const fetchImpl = vi.fn( + async () => + new Response( + JSON.stringify({ + status: 'failed', + retcode: 1200, + data: null, + wording: 'Qzone requires verification', + }), + ), + ); + const client = new SnowLumaHttpClient({ fetch: fetchImpl }); + const request = client.raw('set_qzone_profile', { name: 'Space' }); + + await expect(request).rejects.toMatchObject({ + name: 'SnowLumaApiError', + retcode: 1200, + wording: 'Qzone requires verification', + }); + await expect(request).rejects.toBeInstanceOf(SnowLumaApiError); + }); + + it('reads a typed Qzone comment page through raw', async () => { + const data: QzoneMsgDetailResult = { + tid: 'T1', + content: 'Post', + comment_num: 1, + comments: [ + { + uin: 20002, + name: 'Reader', + time: 1700000000, + content: 'Hi', + comment_id: '0', + replies: [], + }, + ], + }; + const fetchImpl = vi.fn( + async () => new Response(JSON.stringify({ status: 'ok', retcode: 0, data })), + ); + const client = new SnowLumaHttpClient({ fetch: fetchImpl }); + const params = { tid: 'T1', target_uin: 10001, pos: 0, num: 20 }; + const result = await client.raw('get_qzone_msg_detail', params); + expectTypeOf(result).toEqualTypeOf(); + expect(result).toEqual(data); + expect(fetchImpl).toHaveBeenCalledWith( + 'http://127.0.0.1:3000/', + expect.objectContaining({ + body: JSON.stringify({ action: 'get_qzone_msg_detail', params }), + }), + ); + }); + + it('requests group share links with default and explicit options', async () => { + const url = 'https://qm.qq.com/q/example'; + const fetchImpl = vi + .fn() + .mockImplementation( + async () => + new Response(JSON.stringify({ status: 'ok', retcode: 0, data: { url } })), + ); + const client = new SnowLumaHttpClient({ fetch: fetchImpl }); + + await expect(client.getGroupShareLink(12345)).resolves.toEqual({ url }); + await expect( + client.getGroupShareLink(12345, { + needShortUrl: false, + srcId: 0, + additionalParam: 'source=二维码', + }), + ).resolves.toEqual({ url }); + + expect( + fetchImpl.mock.calls.map((call) => JSON.parse((call[1] as RequestInit).body as string)), + ).toEqual([ + { action: 'get_group_share_link', params: { group_id: 12345 } }, + { + action: 'get_group_share_link', + params: { + group_id: 12345, + need_short_url: false, + src_id: 0, + additional_param: 'source=二维码', + }, + }, + ]); + }); + + it('maps extended group-info refresh options to OneBot field names', async () => { + const fetchImpl = vi.fn().mockImplementation( + async () => + new Response( + JSON.stringify({ + status: 'ok', + retcode: 0, + data: null, + }), + ), + ); + const client = new SnowLumaHttpClient({ fetch: fetchImpl }); + + await client.getGroupInfoEx(123456, { noCache: true }); + await client.getGroupDetailInfo(123456, { noCache: true }); + + expect( + fetchImpl.mock.calls.map((call) => JSON.parse((call[1] as RequestInit).body as string)), + ).toEqual([ + { action: 'get_group_info_ex', params: { group_id: 123456, no_cache: true } }, + { action: 'get_group_detail_info', params: { group_id: 123456, no_cache: true } }, + ]); + }); + + it('maps system-face catalog helpers to their OneBot actions', async () => { + const fetchImpl = vi.fn().mockImplementation( + async () => + new Response( + JSON.stringify({ + status: 'ok', + retcode: 0, + data: null, + }), + ), + ); + const client = new SnowLumaHttpClient({ fetch: fetchImpl }); + + await client.fetchSysFaces(true); + await client.fetchFaceEntity(392, { refresh: true }); + await client.searchSysFaces('dragon'); + await client.fetchSuperFaceId(392); + + expect( + fetchImpl.mock.calls.map((call) => JSON.parse((call[1] as RequestInit).body as string)), + ).toEqual([ + { action: 'fetch_sys_faces', params: { refresh: true } }, + { action: 'fetch_face_entity', params: { face_id: 392, refresh: true } }, + { action: 'search_sys_faces', params: { query: 'dragon' } }, + { action: 'fetch_super_face_id', params: { face_id: 392, refresh: false } }, + ]); + }); + + it('maps group-announcement options to their OneBot field names', async () => { + const fetchImpl = vi.fn().mockResolvedValue( + new Response( + JSON.stringify({ + status: 'ok', + retcode: 0, + data: null, + }), + ), + ); + const client = new SnowLumaHttpClient({ fetch: fetchImpl }); + + await client.sendGroupNotice(941657197, 'welcome', { + pinned: 1, + type: 20, + sendToNewMembers: true, + isShowEditCard: 0, + tipWindowType: 0, + confirmRequired: 0, + }); + + const init = fetchImpl.mock.calls[0]![1] as RequestInit; + expect(JSON.parse(init.body as string)).toEqual({ + action: '_send_group_notice', + params: { + group_id: 941657197, + content: 'welcome', + pinned: 1, + type: 20, + send_to_new_members: true, + is_show_edit_card: 0, + tip_window_type: 0, + confirm_required: 0, + }, + }); + }); + + it('throws SnowLumaAuthError for auth retcodes', async () => { + const fetchImpl = vi.fn().mockResolvedValue( + new Response( + JSON.stringify({ + status: 'failed', + retcode: 1401, + data: null, + wording: 'unauthorized', + }), + ), + ); + const client = new SnowLumaHttpClient({ fetch: fetchImpl }); + + await expect(client.getStatus()).rejects.toBeInstanceOf(SnowLumaAuthError); + }); + + it('throws SnowLumaParseError for non-JSON responses', async () => { + const fetchImpl = vi.fn().mockResolvedValue(new Response('not json', { status: 200 })); + const client = new SnowLumaHttpClient({ fetch: fetchImpl }); + + await expect(client.getStatus()).rejects.toBeInstanceOf(SnowLumaParseError); + }); + + it('supports caller AbortSignal cancellation', async () => { + const fetchImpl = vi.fn( + (_url: string | URL | Request, init?: RequestInit) => + new Promise((_resolve, reject) => { + const signal = init?.signal; + const abort = () => reject(new DOMException('aborted', 'AbortError')); + + if (signal?.aborted) { + abort(); + } + + signal?.addEventListener('abort', abort, { once: true }); + }), + ); + const client = new SnowLumaHttpClient({ fetch: fetchImpl }); + const controller = new AbortController(); + + const request = client.getStatus({ signal: controller.signal }); + controller.abort(); + + await expect(request).rejects.toBeInstanceOf(SnowLumaAbortError); + }); +}); diff --git a/packages/sdk/tests/http-streaming.test.ts b/packages/sdk/tests/http-streaming.test.ts new file mode 100644 index 00000000..9c86df7a --- /dev/null +++ b/packages/sdk/tests/http-streaming.test.ts @@ -0,0 +1,222 @@ +import { afterEach, describe, expect, it, vi } from 'vitest'; +import { + SnowLumaAbortError, + SnowLumaApiError, + SnowLumaAuthError, + SnowLumaHttpClient, + SnowLumaParseError, + SnowLumaTimeoutError, +} from '../src/index.js'; + +const data = { type: 'stream', data_type: 'data_chunk', data: '中文🙂' }; +const complete = { type: 'response', data_type: 'data_complete', data: 'done' }; +const frame = (payload: unknown) => ({ + status: 'ok', + retcode: 0, + stream: 'stream-action', + data: payload, + echo: 'stream', +}); +const wire = (payload: unknown) => JSON.stringify(payload) + '\r\n\r\n'; + +async function collect(stream: AsyncIterable): Promise { + const results: T[] = []; + + for await (const result of stream) { + results.push(result); + } + + return results; +} + +function clientFor(body: BodyInit | null) { + return new SnowLumaHttpClient({ fetch: async () => new Response(body) }); +} + +afterEach(() => vi.useRealTimers()); + +describe('HTTP streaming', () => { + it('does not send an already-aborted request', async () => { + const fetch = vi.fn(); + const client = new SnowLumaHttpClient({ fetch }); + await expect( + client.stream('test_download_stream', {}, { signal: AbortSignal.abort() }).next(), + ).rejects.toBeInstanceOf(SnowLumaAbortError); + expect(fetch).not.toHaveBeenCalled(); + }); + + it('honors cancellation between frames buffered in the same HTTP read', async () => { + const controller = new AbortController(); + const client = clientFor(wire(frame(data)) + wire(frame(complete))); + const stream = client.stream('test_download_stream', {}, { signal: controller.signal }); + await stream.next(); + controller.abort(); + await expect(stream.next()).rejects.toBeInstanceOf(SnowLumaAbortError); + }); + + it.each(['one byte', 'one read'] as const)( + 'decodes split UTF-8 and delimiters: %s', + async (mode) => { + const bytes = new TextEncoder().encode( + wire(frame(data)) + wire(frame(data)) + wire(frame(complete)), + ); + let offset = 0; + const body = new ReadableStream({ + pull(controller) { + if (offset === bytes.length) { + controller.close(); + return; + } + + const end = mode === 'one byte' ? offset + 1 : bytes.length; + controller.enqueue(bytes.subarray(offset, end)); + offset = end; + }, + }); + const fetch = vi.fn(async () => new Response(body)); + const client = new SnowLumaHttpClient({ fetch, accessToken: 'test-token' }); + const results = await collect( + client.requestStream('test_download_stream', {}, { echo: 'stream' }), + ); + expect(results.map((result) => result.data)).toEqual([data, data, complete]); + expect( + results.every( + (result) => result.stream === 'stream-action' && result.echo === 'stream', + ), + ).toBe(true); + expect(fetch).toHaveBeenCalledWith( + expect.any(String), + expect.objectContaining({ + headers: expect.objectContaining({ Authorization: 'Bearer test-token' }), + body: JSON.stringify({ + action: 'test_download_stream', + params: {}, + echo: 'stream', + }), + }), + ); + expect(body.locked).toBe(false); + }, + ); + + it('delivers a frame before EOF and cancels the reader when iteration stops', async () => { + const cancel = vi.fn(); + const body = new ReadableStream({ + start(controller) { + controller.enqueue(new TextEncoder().encode(wire(frame(data)))); + }, + cancel, + }); + const stream = clientFor(body).stream('test_download_stream', {}); + expect(await stream.next()).toMatchObject({ value: data, done: false }); + await stream.return(); + expect(cancel).toHaveBeenCalledOnce(); + expect(body.locked).toBe(false); + }); + + it.each([ + ['', 'terminal'], + [wire(frame(data)), 'terminal'], + [wire({ status: 'ok', retcode: 0, data }), 'marker'], + [wire({ status: 'ok', data }), 'envelope'], + [wire(frame({ type: 'error' })), 'frame'], + ['{bad json}\r\n\r\n', 'JSON'], + ])('rejects incomplete or invalid responses: %s', async (body, message) => { + await expect(collect(clientFor(body).stream('test_download_stream', {}))).rejects.toThrow( + message, + ); + }); + + it('rejects malformed UTF-8', async () => { + await expect( + collect(clientFor(new Uint8Array([0xff])).stream('test_download_stream', {})), + ).rejects.toBeInstanceOf(SnowLumaParseError); + }); + + it('bounds individual frames while allowing multiple frames in one large read', async () => { + const text = wire(frame(data)).repeat(10) + wire(frame(complete)); + await expect( + collect(clientFor(text).stream('test_download_stream', {}, { maxBufferBytes: 200 })), + ).resolves.toHaveLength(11); + await expect( + collect(clientFor(text).stream('test_download_stream', {}, { maxBufferBytes: 10 })), + ).rejects.toThrow('maxBufferBytes'); + await expect( + collect( + clientFor('x'.repeat(500)).stream( + 'test_download_stream', + {}, + { maxBufferBytes: 10 }, + ), + ), + ).rejects.toThrow('maxBufferBytes'); + }); + + it('returns raw failures and throws typed API errors from stream()', async () => { + const failure = { status: 'failed', retcode: 1401, data: null, wording: 'denied' }; + expect( + await collect( + clientFor(JSON.stringify(failure)).requestStream('test_download_stream', {}), + ), + ).toMatchObject([failure]); + await expect( + collect(clientFor(JSON.stringify(failure)).stream('test_download_stream', {})), + ).rejects.toBeInstanceOf(SnowLumaAuthError); + const stream = clientFor(wire(frame(data)) + wire({ ...failure, retcode: 1500 })).stream( + 'test_download_stream', + {}, + ); + expect((await stream.next()).value).toEqual(data); + await expect(stream.next()).rejects.toBeInstanceOf(SnowLumaApiError); + }); + + it.each(['abort', 'timeout'] as const)('releases a pending body read on %s', async (reason) => { + vi.useFakeTimers(); + const cancel = vi.fn(); + const body = new ReadableStream({ cancel }); + const controller = new AbortController(); + const remove = vi.spyOn(controller.signal, 'removeEventListener'); + const stream = clientFor(body).stream( + 'test_download_stream', + {}, + { signal: controller.signal, timeoutMs: 100 }, + ); + const next = expect(stream.next()).rejects.toBeInstanceOf( + reason === 'abort' ? SnowLumaAbortError : SnowLumaTimeoutError, + ); + await vi.advanceTimersByTimeAsync(0); + + if (reason === 'abort') { + controller.abort(); + } else { + await vi.advanceTimersByTimeAsync(100); + } + + await next; + expect(cancel).toHaveBeenCalledOnce(); + expect(remove).toHaveBeenCalled(); + expect(body.locked).toBe(false); + expect(vi.getTimerCount()).toBe(0); + }); + + it('ends an upload ACK without waiting for a response-type frame or HTTP EOF', async () => { + const ack = { + type: 'stream', + status: 'chunk_received', + stream_id: 'id', + received_chunks: 1, + total_chunks: 2, + }; + const cancel = vi.fn(); + const body = new ReadableStream({ + start(controller) { + controller.enqueue(new TextEncoder().encode(wire(frame(ack)))); + }, + cancel, + }); + expect( + await collect(clientFor(body).stream('upload_file_stream', { stream_id: 'id' })), + ).toEqual([ack]); + expect(cancel).toHaveBeenCalledOnce(); + }); +}); diff --git a/packages/sdk/tests/media.test.ts b/packages/sdk/tests/media.test.ts new file mode 100644 index 00000000..cf6b8355 --- /dev/null +++ b/packages/sdk/tests/media.test.ts @@ -0,0 +1,382 @@ +import { mkdtemp, rm, writeFile } from 'node:fs/promises'; +import { tmpdir } from 'node:os'; +import { join } from 'node:path'; +import { pathToFileURL } from 'node:url'; +import { afterEach, describe, expect, it, vi } from 'vitest'; +import { + SnowLumaAbortError, + SnowLumaApiError, + SnowLumaHttpClient, + SnowLumaMediaSendError, + SnowLumaTimeoutError, + type JsonObject, +} from '../src/index.js'; +import { localFile } from '../src/node/index.js'; + +function server( + options: { + failUpload?: boolean; + failSend?: boolean; + sendResponse?: (init?: RequestInit) => Promise; + } = {}, +) { + const calls: Array<{ action: string; params: JsonObject }> = []; + let first: JsonObject; + const fetch = vi.fn(async (_input: string | URL | Request, init?: RequestInit) => { + const { action, params } = JSON.parse(String(init?.body)) as { + action: string; + params: JsonObject; + }; + calls.push({ action, params }); + + if (action !== 'upload_file_stream') { + if (options.sendResponse) { + return options.sendResponse(init); + } + + return Response.json( + options.failSend + ? { status: 'failed', retcode: 123, data: null, wording: 'send rejected' } + : { + status: 'ok', + retcode: 0, + data: action.startsWith('upload_') + ? { file_id: 'file-id' } + : { message_id: -42 }, + }, + ); + } + + if (params.chunk_index === 0) { + first = params; + } + + if (options.failUpload) { + return new Response( + JSON.stringify({ status: 'failed', retcode: 321, data: null }) + '\r\n\r\n', + ); + } + + const data = params.is_complete + ? { + type: 'response', + status: 'file_complete', + stream_id: first.stream_id, + received_chunks: first.total_chunks, + total_chunks: first.total_chunks, + file_size: first.file_size, + file_path: '/server/staged.bin', + file_name: first.filename ?? 'generated.bin', + sha256: 'a'.repeat(64), + } + : { + type: 'stream', + status: 'chunk_received', + stream_id: params.stream_id, + received_chunks: Number(params.chunk_index) + 1, + total_chunks: params.total_chunks, + }; + + return new Response( + JSON.stringify({ status: 'ok', retcode: 0, stream: 'stream-action', data }) + + '\r\n\r\n', + ); + }); + return { client: new SnowLumaHttpClient({ fetch }), calls, fetch }; +} + +describe('one-step media sends', () => { + it.each([ + ['sendGroupImage', 'send_group_msg', 'group_id', 'image'], + ['sendPrivateImage', 'send_private_msg', 'user_id', 'image'], + ['sendGroupRecord', 'send_group_msg', 'group_id', 'record'], + ['sendPrivateRecord', 'send_private_msg', 'user_id', 'record'], + ['sendGroupVideo', 'send_group_msg', 'group_id', 'video'], + ['sendPrivateVideo', 'send_private_msg', 'user_id', 'video'], + ] as const)( + '%s sends only after every chunk and final ACK', + async (method, action, id, type) => { + const { client, calls } = server(); + const progress = vi.fn(); + await expect( + client[method](123, new Uint8Array([1, 2, 3]), { + chunkSize: 2, + onProgress: progress, + }), + ).resolves.toEqual({ message_id: -42 }); + expect(calls.map((call) => call.action)).toEqual([ + 'upload_file_stream', + 'upload_file_stream', + 'upload_file_stream', + action, + ]); + expect(calls.slice(0, 2).map((call) => call.params.chunk_data)).toEqual([ + 'AQI=', + 'Aw==', + ]); + expect(calls[2].params.is_complete).toBe(true); + expect(calls[3].params).toEqual({ + [id]: 123, + message: [{ type, data: { file: '/server/staged.bin' } }], + }); + expect(progress).toHaveBeenLastCalledWith( + expect.objectContaining({ uploadedBytes: 3 }), + ); + }, + ); + + it('preserves media attributes and does not mutate options', async () => { + const { client, calls } = server(); + const image = Object.freeze({ subType: 1, summary: 'picture' }); + await client.sendGroupImage(123, new Blob(['bytes']), { image }); + expect(calls.at(-1)?.params.message).toEqual([ + { type: 'image', data: { file: '/server/staged.bin', subType: 1, summary: 'picture' } }, + ]); + await client.sendPrivateVideo(456, new Uint8Array([1]), { + video: { thumb: '/server/thumb' }, + }); + expect(calls.at(-1)?.params.message).toEqual([ + { type: 'video', data: { file: '/server/staged.bin', thumb: '/server/thumb' } }, + ]); + }); + + it('keeps the uploaded file authoritative when callers pass wider attribute objects', async () => { + const { client, calls } = server(); + // Structurally typed options may include extra fields from an existing segment. + const image = { file: '/wrong/image', summary: 'picture' }; + const record = { file: '/wrong/record', url: 'https://example.test/voice' }; + const video = { file: '/wrong/video', thumb: '/server/thumb' }; + const source = new Uint8Array([1]); + await client.sendGroupImage(123, source, { image }); + await client.sendPrivateImage(123, source, { image }); + await client.sendGroupRecord(123, source, { record }); + await client.sendPrivateRecord(123, source, { record }); + await client.sendGroupVideo(123, source, { video }); + await client.sendPrivateVideo(123, source, { video }); + const sends = calls.filter((call) => call.action.startsWith('send_')); + expect(sends).toHaveLength(6); + + for (const send of sends) { + expect(send.params.message).toEqual([ + expect.objectContaining({ + data: expect.objectContaining({ file: '/server/staged.bin' }), + }), + ]); + } + + expect(image.file).toBe('/wrong/image'); + }); + + it('preserves File names and uses the existing file publishing actions exactly once', async () => { + const { client, calls } = server(); + await expect( + client.sendGroupFile(123, new File(['bytes'], '报告.txt'), { + folderId: '/folder', + }), + ).resolves.toEqual({ file_id: 'file-id' }); + expect(calls[0].params.filename).toBe('报告.txt'); + expect(calls.at(-1)).toEqual({ + action: 'upload_group_file', + params: { + group_id: 123, + file: '/server/staged.bin', + name: '报告.txt', + folder_id: '/folder', + upload_file: true, + }, + }); + await client.sendPrivateFile( + 456, + { source: new Uint8Array([1]), filename: 'original.txt' }, + { + filename: 'staged.txt', + name: '发送.txt', + }, + ); + expect(calls[3].params.filename).toBe('staged.txt'); + expect(calls.at(-1)).toEqual({ + action: 'upload_private_file', + params: { + user_id: 456, + file: '/server/staged.bin', + name: '发送.txt', + upload_file: true, + }, + }); + }); + + it('keeps async sources incremental and accepts declared sizes', async () => { + const { client, calls } = server(); + const source = (async function* () { + yield new Uint8Array([1]); + expect(calls).toHaveLength(1); + yield new Uint8Array([2]); + })(); + await client.sendGroupImage(123, source, { fileSize: 2, chunkSize: 1 }); + expect(calls).toHaveLength(4); + }); + + it('reports upload failure with its cause and never dispatches the message', async () => { + const { client, calls } = server({ failUpload: true }); + await expect(client.sendGroupImage(123, new Uint8Array([1]))).rejects.toMatchObject({ + name: 'SnowLumaMediaSendError', + stage: 'upload', + upload: undefined, + cause: expect.any(SnowLumaApiError), + }); + expect(calls).toHaveLength(1); + }); + + it('retains the completed upload and original send error without retrying', async () => { + const { client, calls } = server({ failSend: true }); + await expect(client.sendGroupImage(123, new Uint8Array([1]))).rejects.toMatchObject({ + stage: 'send', + upload: { file_path: '/server/staged.bin' }, + cause: expect.objectContaining({ retcode: 123 }), + }); + expect(calls).toHaveLength(3); + }); + + it('prevents dispatch when cancellation occurs between upload and send', async () => { + const controller = new AbortController(); + const { client, calls } = server(); + const upload = client.uploadFileStream.bind(client); + vi.spyOn(client, 'uploadFileStream').mockImplementation(async (...args) => { + const result = await upload(...args); + controller.abort('stop'); + return result; + }); + await expect( + client.sendGroupImage(123, new Uint8Array([1]), { + signal: controller.signal, + }), + ).rejects.toMatchObject({ stage: 'send', cause: expect.any(SnowLumaAbortError) }); + expect(calls.every((call) => call.action === 'upload_file_stream')).toBe(true); + }); + + it('passes cancellation to the upload and stops before any later stage', async () => { + const controller = new AbortController(); + const { client, calls } = server(); + await expect( + client.sendPrivateFile(123, new Uint8Array([1, 2]), { + chunkSize: 1, + signal: controller.signal, + onProgress: () => controller.abort(), + }), + ).rejects.toMatchObject({ stage: 'upload', cause: expect.any(SnowLumaAbortError) }); + expect(calls).toHaveLength(1); + }); + + it('passes request controls to both stages', async () => { + const { client } = server(); + const upload = vi.spyOn(client, 'uploadFileStream'); + const send = vi.spyOn(client, 'sendGroupMessage'); + const controls = { signal: new AbortController().signal, timeoutMs: 1234, echo: 'media' }; + await client.sendGroupImage(123, new Uint8Array([1]), controls); + expect(upload.mock.calls[0][1]).toMatchObject(controls); + expect(send.mock.calls[0][2]).toEqual(controls); + }); + + it.each(['abort', 'timeout'] as const)( + 'retains upload metadata when an in-flight send ends by %s', + async (mode) => { + vi.useFakeTimers(); + + try { + const controller = new AbortController(); + const { client, calls } = server({ + sendResponse: (init) => + new Promise((_resolve, reject) => { + init?.signal?.addEventListener( + 'abort', + () => reject(init.signal?.reason), + { once: true }, + ); + }), + }); + const result = client.sendGroupImage(123, new Uint8Array([1]), { + signal: controller.signal, + timeoutMs: 1000, + }); + const rejected = expect(result).rejects.toMatchObject({ + stage: 'send', + upload: { file_path: '/server/staged.bin' }, + cause: + mode === 'abort' + ? expect.any(SnowLumaAbortError) + : expect.any(SnowLumaTimeoutError), + }); + await vi.waitFor(() => expect(calls.at(-1)?.action).toBe('send_group_msg')); + + if (mode === 'abort') { + controller.abort(); + } else { + await vi.advanceTimersByTimeAsync(1000); + } + + await rejected; + expect(calls).toHaveLength(3); + expect(vi.getTimerCount()).toBe(0); + } finally { + vi.useRealTimers(); + } + }, + ); + + it('never treats a string as a local path', async () => { + const { client, fetch } = server(); + // @ts-expect-error A local path must be explicitly opened with localFile(). + await expect(client.sendGroupImage(123, './local.png')).rejects.toBeInstanceOf( + SnowLumaMediaSendError, + ); + expect(fetch).not.toHaveBeenCalled(); + }); +}); + +describe('Node localFile source', () => { + let directory: string | undefined; + + afterEach(async () => { + if (directory) { + await rm(directory, { recursive: true, force: true }); + } + }); + + async function fixture() { + directory = await mkdtemp(join(tmpdir(), 'sdk-local-media-')); + const path = join(directory, '图片.bin'); + await writeFile(path, new Uint8Array([7, 8, 9])); + return path; + } + + it('sends file-backed bytes from paths and file URLs without leaking the local path', async () => { + const path = await fixture(); + + for (const location of [path, pathToFileURL(path)]) { + const source = await localFile(location); + const { client, calls } = server(); + await client.sendPrivateImage(123, source); + expect(calls[0].params).toMatchObject({ + filename: '图片.bin', + file_size: 3, + chunk_data: 'BwgJ', + }); + expect(JSON.stringify(calls)).not.toContain(directory); + } + }); + + it('reports missing files and rejects directories before uploading', async () => { + const path = await fixture(); + await expect(localFile(path + '.missing')).rejects.toMatchObject({ code: 'ENOENT' }); + await expect(localFile(directory!)).rejects.toThrow('regular file'); + }); + + it('fails if the file changes after the source is created', async () => { + const path = await fixture(); + const source = await localFile(path); + await writeFile(path, 'modified file'); + const { client, fetch } = server(); + await expect(client.sendGroupFile(123, source)).rejects.toMatchObject({ stage: 'upload' }); + expect(fetch).not.toHaveBeenCalled(); + }); +}); diff --git a/packages/sdk/tests/messages.test.ts b/packages/sdk/tests/messages.test.ts new file mode 100644 index 00000000..e06bc0e7 --- /dev/null +++ b/packages/sdk/tests/messages.test.ts @@ -0,0 +1,114 @@ +import { describe, expect, it, vi } from 'vitest'; +import { atAll, chain, face, fromCQString, message, parseSegments, text, toCQString } from '../src'; + +describe('MessageChain', () => { + it.each([undefined, true])( + 'preserves animation results through builders and CQ with large=%s', + (large) => { + const options = { resultId: '0', ...(large !== undefined ? { large } : {}) }; + const expected = [{ type: 'face', data: { id: '114', ...options } }]; + expect(face(114, options).toSegments()).toEqual(expected); + expect(chain().face(114, options).toSegments()).toEqual(expected); + expect(message.face(114, options)).toEqual(expected[0]); + expect(parseSegments(toCQString(face(114, options)))).toEqual(expected); + }, + ); + + it.each([false, true])( + 'preserves face animation selection through builders and CQ, large=%s', + (large) => { + const expected = [{ type: 'face', data: { id: '451', large } }]; + const built = face(451, { large }); + expect(built.toSegments()).toEqual(expected); + expect(chain().face(451, { large }).toSegments()).toEqual(expected); + expect(message.face(451, { large })).toEqual(expected[0]); + expect(parseSegments(toCQString(built))).toEqual(expected); + expect(parseSegments(`[CQ:face,id=451,large=${large ? 1 : 0}]`)).toEqual(expected); + }, + ); + + it('rejects an invalid face animation choice instead of discarding it', () => { + expect(() => parseSegments('[CQ:face,id=451,large=invalid]')).toThrow('face.large'); + }); + + it('builds fluent segment chains', () => { + const chain = text('hello').at(10001).br().image('/tmp/a.png'); + + expect(chain.length).toBe(4); + expect(chain.toSegments()).toEqual([ + { type: 'text', data: { text: 'hello' } }, + { type: 'at', data: { qq: '10001' } }, + { type: 'text', data: { text: '\n' } }, + { type: 'image', data: { file: '/tmp/a.png' } }, + ]); + }); + + it('keeps the old segment builder API available', () => { + expect(message.text('hello')).toEqual({ type: 'text', data: { text: 'hello' } }); + expect(atAll().toSegments()).toEqual([{ type: 'at', data: { qq: 'all' } }]); + }); + + it('allows reply only once in a chain at runtime', () => { + const chain = text('hello').reply(1); + expect(() => (chain as any).reply(2)).toThrow(/reply/); + expect(() => chain.append(message.reply(2))).toThrow(/reply/); + }); + + it('appends other messages and converts to CQ string', () => { + const chain = text('hello').append([message.at('all'), message.face(14)]); + expect(toCQString(chain)).toBe('hello[CQ:at,qq=all][CQ:face,id=14]'); + }); + + it('parses CQ strings into chains', () => { + const chain = fromCQString('hi[CQ:at,qq=all][CQ:image,file=a,b]'); + expect(chain.toSegments()).toEqual([ + { type: 'text', data: { text: 'hi' } }, + { type: 'at', data: { qq: 'all' } }, + { + type: 'image', + data: { file: 'a,b', url: undefined, type: undefined, summary: undefined }, + }, + ]); + expect(parseSegments('[CQ:reply,id=7]')).toEqual([{ type: 'reply', data: { id: '7' } }]); + }); + + it.each([ + message.image('literal,&#44;.png'), + message.customReply('literal , [CQ:at,qq=all] &[],'), + message.raw('extension', { value: '[],& &[],' }), + ])('decodes CQ parameters exactly once for $type', (segment) => { + expect(parseSegments(toCQString(segment))).toEqual([segment]); + }); + + it('preserves string custom replies and their metadata through CQ conversion', () => { + const reply = message.customReply('hello[CQ:at,qq=all] & goodbye', { + id: '-123', + qq: '10001', + time: '1700000000', + seq: '42', + }); + expect(parseSegments(toCQString(reply))).toEqual([reply]); + const inline = message.customReply('quoted'); + expect(parseSegments(toCQString(inline))).toEqual([inline]); + }); + + it.each([[message.text('quoted')], message.text('quoted')].map((content) => ({ content })))( + 'rejects nested custom replies during CQ conversion ($content)', + ({ content }) => { + expect(() => toCQString(message.customReply(content))).toThrow(/must be sent as JSON/); + }, + ); + + it('can send itself through a compatible client', async () => { + const client = { + sendGroupMessage: vi.fn().mockResolvedValue({ message_id: 1 }), + sendPrivateMessage: vi.fn().mockResolvedValue({ message_id: 2 }), + }; + + await text('hi').sendToGroup(client, 123); + await text('yo').sendToPrivate(client, 456); + + expect(client.sendGroupMessage).toHaveBeenCalledWith(123, text('hi'), undefined); + expect(client.sendPrivateMessage).toHaveBeenCalledWith(456, text('yo'), undefined); + }); +}); diff --git a/packages/sdk/tests/package.test.ts b/packages/sdk/tests/package.test.ts new file mode 100644 index 00000000..73917728 --- /dev/null +++ b/packages/sdk/tests/package.test.ts @@ -0,0 +1,261 @@ +import { spawnSync } from 'node:child_process'; +import { + copyFileSync, + cpSync, + mkdirSync, + mkdtempSync, + readFileSync, + rmSync, + symlinkSync, + writeFileSync, +} from 'node:fs'; +import { createRequire } from 'node:module'; +import { tmpdir } from 'node:os'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; +import { afterAll, beforeAll, describe, it } from 'vitest'; + +const sdkRoot = fileURLToPath(new URL('..', import.meta.url)); +const compiler = createRequire(import.meta.url).resolve('typescript/bin/tsc'); +const manifest = JSON.parse(readFileSync(path.join(sdkRoot, 'package.json'), 'utf8')) as { + name: string; + exports: Record; +}; +const entrypoints = Object.entries(manifest.exports) + .filter(([, target]) => typeof target !== 'string') + .map(([entry]) => `${manifest.name}${entry === '.' ? '' : entry.slice(1)}`); +let consumerRoot: string; + +function node(args: string[]): void { + const result = spawnSync(process.execPath, args, { + cwd: consumerRoot, + encoding: 'utf8', + stdio: 'pipe', + timeout: 30_000, + }); + + if (result.error) { + throw result.error; + } + + if (result.status !== 0) { + throw new Error( + `Node exited with status ${result.status} (signal ${result.signal}):\n${result.stdout}\n${result.stderr}`, + ); + } +} + +beforeAll(() => { + consumerRoot = mkdtempSync(path.join(tmpdir(), 'snowluma-sdk-package-')); + const installed = path.join(consumerRoot, 'node_modules', '@snowluma', 'sdk'); + mkdirSync(installed, { recursive: true }); + copyFileSync(path.join(sdkRoot, 'package.json'), path.join(installed, 'package.json')); + // Install the declared runtime dependency into this isolated consumer. Node + // type declarations belong to the consuming Node project's dev environment. + const require = createRequire(import.meta.url); + cpSync( + path.dirname(require.resolve('ws/package.json')), + path.join(consumerRoot, 'node_modules', 'ws'), + { recursive: true }, + ); + mkdirSync(path.join(consumerRoot, 'node_modules', '@types'), { recursive: true }); + symlinkSync( + path.dirname(require.resolve('@types/node/package.json')), + path.join(consumerRoot, 'node_modules', '@types', 'node'), + 'dir', + ); + + copyFileSync( + path.join(sdkRoot, 'tests', 'fixtures', 'action-types.mts'), + path.join(consumerRoot, 'action-types.mts'), + ); + copyFileSync( + path.join(sdkRoot, 'tests', 'fixtures', 'action-contracts.ts'), + path.join(consumerRoot, 'action-contracts.ts'), + ); + copyFileSync( + path.join(sdkRoot, 'tests', 'fixtures', 'messaging-types.mts'), + path.join(consumerRoot, 'messaging-types.mts'), + ); + + writeFileSync( + path.join(consumerRoot, 'reverse-types.mts'), + `import { text } from '@snowluma/sdk'; +import { createReverseWebSocketServer, type SnowLumaReverseWebSocketSession } from '@snowluma/sdk/node'; +const reverse = createReverseWebSocketServer({ port: 0, selfIds: ['10001'] }); +reverse.on('connection', (bot: SnowLumaReverseWebSocketSession) => { + const id: string = bot.selfId; + const ready: boolean = bot.canCallActions; + void bot.getStatus(); + bot.onMessage(async (_event, context) => { await context.reply(text(id)); }); + void ready; +}); +`, + ); + + writeFileSync( + path.join(consumerRoot, 'browser-types.mts'), + ` +import { SnowLumaWebSocketClient, text } from '@snowluma/sdk'; +new SnowLumaWebSocketClient().onMessage(async (_event, context) => { await context.reply(text('hello')); }); +// @ts-expect-error Node globals must not leak through the browser entry. +process.cwd(); +`, + ); + writeFileSync( + path.join(consumerRoot, 'tsconfig.browser.json'), + JSON.stringify({ + compilerOptions: { + strict: true, + noEmit: true, + target: 'ES2022', + lib: ['ES2022', 'DOM'], + module: 'ESNext', + moduleResolution: 'Bundler', + types: [], + }, + files: ['browser-types.mts'], + }), + ); + + // Compile fresh output outside the workspace so neither stale dist files nor + // Vitest's source resolver can hide a broken published entry point. + node([ + compiler, + '--project', + path.join(sdkRoot, 'tsconfig.json'), + '--outDir', + path.join(installed, 'dist'), + ]); + writeFileSync( + path.join(consumerRoot, 'consumer.mts'), + `import { SnowLumaHttpClient, text, type SnowLumaKnownAction as RootKnownAction } from '@snowluma/sdk'; +import { SnowLumaWebSocketClient, type SnowLumaHttpClientOptions } from '@snowluma/sdk/client'; +import { MessageChain } from '@snowluma/sdk/messages'; +import { isMessageEvent, type EventMiddleware } from '@snowluma/sdk/events'; +import { SnowLumaApiError } from '@snowluma/sdk/errors'; +import { SNOWLUMA_ACTIONS, isSnowLumaAction, type SnowLumaKnownAction } from '@snowluma/sdk/actions'; +import type { ActionParams, StatusInfo } from '@snowluma/sdk/types'; + +const options: SnowLumaHttpClientOptions = { baseUrl: 'http://127.0.0.1:3000/' }; +const client = new SnowLumaHttpClient(options); +const status: Promise = client.getStatus(); +const message: MessageChain = text('hello').reply(-42); +const params: ActionParams<'send_group_msg'> = { group_id: 123, message: [] }; +client.raw('send_group_msg', params); +client.raw('consumer_extension', { custom: true }); +client.sendGroupMessage(123, message); +const middleware: EventMiddleware = async (event, context, next) => { + if (isMessageEvent(event)) await context.reply(text('received')); + await next(); +}; +new SnowLumaWebSocketClient().use(middleware); +const action: RootKnownAction = SNOWLUMA_ACTIONS[0]; +function known(value: string): SnowLumaKnownAction | null { + return isSnowLumaAction(value) ? value : null; +} +const error = new SnowLumaApiError({ status: 'failed', retcode: 1, data: null }); +export { status, action, known, error }; +`, + ); +}, 30_000); + +afterAll(() => { + if (consumerRoot) { + rmSync(consumerRoot, { recursive: true, force: true }); + } +}); + +describe('SDK package entry points', () => { + it('keeps browser consumers independent of Node server declarations', () => { + node([compiler, '-p', path.join(consumerRoot, 'tsconfig.browser.json')]); + }, 30_000); + + it('starts the published Node reverse server without workspace resolution', () => { + node([ + '--input-type=module', + '--eval', + ` +import assert from 'node:assert/strict'; +import { createReverseWebSocketServer } from '@snowluma/sdk/node'; +const server = createReverseWebSocketServer({ port: 0 }); +await server.listen(); +assert.ok(server.address.port > 0); +await server.close(); +`, + ]); + }); + + it.each(entrypoints)('loads %s in native Node without a bundler', (entrypoint) => { + node(['--input-type=module', '--eval', `await import(${JSON.stringify(entrypoint)});`]); + }); + + it('preserves runtime identities across the root and subpath exports', () => { + node([ + '--input-type=module', + '--eval', + `import assert from 'node:assert/strict'; +import * as sdk from '@snowluma/sdk'; +import * as client from '@snowluma/sdk/client'; +import * as messages from '@snowluma/sdk/messages'; +import * as events from '@snowluma/sdk/events'; +import * as errors from '@snowluma/sdk/errors'; +import * as actions from '@snowluma/sdk/actions'; +assert.equal(sdk.SnowLumaHttpClient, client.SnowLumaHttpClient); +assert.equal(sdk.SnowLumaWebSocketClient, client.SnowLumaWebSocketClient); +assert.equal(sdk.MessageChain, messages.MessageChain); +assert.equal(sdk.quoteMessage, messages.quoteMessage); +assert.equal(sdk.isMessageEvent, events.isMessageEvent); +assert.equal(sdk.SnowLumaApiError, errors.SnowLumaApiError); +assert.equal(sdk.SnowLumaMediaSendError, errors.SnowLumaMediaSendError); +assert.equal(sdk.SNOWLUMA_ACTIONS, actions.SNOWLUMA_ACTIONS); +assert.equal(sdk.isSnowLumaAction, actions.isSnowLumaAction); +assert.ok(sdk.text('hello') instanceof messages.MessageChain); +assert.equal(actions.isSnowLumaAction('send_group_msg'), true); +assert.equal(actions.isSnowLumaAction('consumer_extension'), false); +`, + ]); + }); + + it.each([ + ['NodeNext', 'NodeNext'], + ['ESNext', 'Bundler'], + ])( + 'typechecks a consumer using %s / %s', + (module, resolution) => { + node([ + compiler, + '--noEmit', + '--strict', + '--target', + 'ES2022', + '--lib', + 'ES2022,DOM', + '--module', + module, + '--moduleResolution', + resolution, + path.join(consumerRoot, 'consumer.mts'), + path.join(consumerRoot, 'action-types.mts'), + path.join(consumerRoot, 'messaging-types.mts'), + ]); + node([ + compiler, + '--noEmit', + '--strict', + '--target', + 'ES2022', + '--lib', + 'ES2022,DOM', + '--types', + 'node', + '--module', + module, + '--moduleResolution', + resolution, + path.join(consumerRoot, 'reverse-types.mts'), + ]); + }, + 30_000, + ); +}); diff --git a/packages/sdk/tests/quote.test.ts b/packages/sdk/tests/quote.test.ts new file mode 100644 index 00000000..1b726123 --- /dev/null +++ b/packages/sdk/tests/quote.test.ts @@ -0,0 +1,242 @@ +import { describe, expect, it } from 'vitest'; +import { SnowLumaApiClient } from '../src/client/api-client'; +import { SnowLumaApiError } from '../src/errors'; +import { createEventContext } from '../src/events/context'; +import { chain } from '../src/messages/chain'; +import { quoteMessage } from '../src/messages/quote'; +import { segments } from '../src/messages/segments'; +import type { + ActionParams, + ActionResult, + ApiResponse, + OneBotGroupMessageEvent, + OneBotPrivateMessageEvent, + OneBotRequestEvent, + RequestOptions, + SnowLumaAction, +} from '../src/types'; + +class RecordingClient extends SnowLumaApiClient { + readonly calls: Array<{ + action: string; + params: unknown; + options: RequestOptions | undefined; + }> = []; + + response: ApiResponse = { status: 'ok', retcode: 0, data: { message_id: -19 } }; + + async request( + action: TAction, + params?: ActionParams, + options?: RequestOptions, + ): Promise>> { + this.calls.push({ action, params, options }); + return this.response as ApiResponse>; + } +} + +const PRIVATE_EVENT: OneBotPrivateMessageEvent = { + time: 1, + self_id: 10000, + post_type: 'message', + message_type: 'private', + sub_type: 'friend', + message_id: -2147483648, + user_id: 10001, + message: [{ type: 'text', data: { text: 'hello' } }], + raw_message: 'hello', + font: 0, + sender: { user_id: 10001, nickname: 'tester' }, +}; + +const GROUP_EVENT: OneBotGroupMessageEvent = { + ...PRIVATE_EVENT, + message_type: 'group', + sub_type: 'normal', + group_id: 20001, + message_id: 2147483647, +}; + +describe('quoteMessage', () => { + it('preserves CQ strings, extension fields and escaping byte for byte', () => { + const body = 'hi&[CQ:image,file=a,b,subType=7,extension=keep]'; + expect(quoteMessage(-123, body)).toBe(`[CQ:reply,id=-123]${body}`); + }); + + it('treats the complete string as literal text when autoEscape is enabled', () => { + const body = '[CQ:reply,id=7] [ &'; + expect(quoteMessage(-123, body, { autoEscape: true })).toEqual([ + segments.reply(-123), + segments.text(body), + ]); + }); + + it('does not interpret escaped CQ-like text as an existing reply', () => { + const body = '[CQ:reply,id=7]'; + expect(quoteMessage(-123, body)).toBe(`[CQ:reply,id=-123]${body}`); + }); + + it('adds a quote to one segment, an array and a chain without mutating inputs', () => { + const segment = Object.freeze({ + type: 'text' as const, + data: Object.freeze({ text: 'hello' }), + }); + const array = [segment]; + Object.freeze(array); + const messageChain = chain().text('hello'); + const expected = [segments.reply(-123), segment]; + + expect(quoteMessage(-123, segment)).toEqual(expected); + expect(quoteMessage(-123, array)).toEqual(expected); + expect(quoteMessage(-123, messageChain)).toEqual(expected); + expect(array).toEqual([segment]); + expect(messageChain.toSegments()).toEqual([segment]); + }); + + it.each([ + '[CQ:reply,id=-12]hello', + segments.reply(-12), + [segments.text('hello'), segments.reply(-12)], + chain().text('hello').reply(-12), + segments.customReply('quoted'), + ])('rejects a body that already contains a reply: %j', (body) => { + expect(() => quoteMessage(-123, body)).toThrow(/containing a reply/); + }); + + it('does not treat replies inside a forward node as an outer reply', () => { + const node = segments.node(10001, 'tester', [segments.reply(-12), segments.text('body')]); + expect(quoteMessage(-123, node)).toEqual([segments.reply(-123), node]); + }); + + it.each([0, NaN, Infinity, -Infinity, 1.5, -2147483649, 2147483648])( + 'rejects invalid message ID %s', + (messageId) => { + expect(() => quoteMessage(messageId, 'hello')).toThrow(/signed 32-bit message ID/); + }, + ); +}); + +describe('event context quote', () => { + it('quotes a private event with its signed ID and forwards request options', async () => { + const client = new RecordingClient(); + const context = createEventContext(PRIVATE_EVENT, client); + const options = { signal: new AbortController().signal, timeoutMs: 250, echo: 'quote' }; + + await expect(context.quote('reply body', options)).resolves.toEqual({ message_id: -19 }); + expect(client.calls).toEqual([ + { + action: 'send_private_msg', + params: { + user_id: 10001, + message: '[CQ:reply,id=-2147483648]reply body', + auto_escape: undefined, + }, + options, + }, + ]); + }); + + it('quotes a group event in its group rather than sending privately to its author', async () => { + const client = new RecordingClient(); + const context = createEventContext(GROUP_EVENT, client); + + await context.quote(chain().text('reply body')); + expect(client.calls).toEqual([ + { + action: 'send_group_msg', + params: { + group_id: 20001, + message: [segments.reply(2147483647), segments.text('reply body')], + auto_escape: undefined, + }, + options: undefined, + }, + ]); + }); + + it('sends literal CQ text with autoEscape without escaping the added quote', async () => { + const client = new RecordingClient(); + const context = createEventContext(PRIVATE_EVENT, client); + + await context.quote('[CQ:reply,id=-99]hello', { autoEscape: true }); + expect(client.calls[0]?.params).toEqual({ + user_id: 10001, + message: [segments.reply(-2147483648), segments.text('[CQ:reply,id=-99]hello')], + auto_escape: true, + }); + }); + + it('keeps reply() unquoted and preserves its existing CQ behavior', async () => { + const client = new RecordingClient(); + const context = createEventContext(PRIVATE_EVENT, client); + const body = '[CQ:reply,id=7]hello'; + + await context.reply(body); + expect(client.calls[0]?.params).toEqual({ + user_id: 10001, + message: body, + auto_escape: undefined, + }); + }); + + it('does not perform a request when the event is not a message', async () => { + const client = new RecordingClient(); + const event: OneBotRequestEvent = { + time: 1, + self_id: 10000, + post_type: 'request', + request_type: 'friend', + user_id: 10001, + flag: 'request-1', + }; + + await expect(createEventContext(event, client).quote('hello')).rejects.toThrow( + 'quote() is only available for message events', + ); + expect(client.calls).toHaveLength(0); + }); + + it('does not send duplicate quotes or invalid event IDs', async () => { + const client = new RecordingClient(); + + await expect( + createEventContext(PRIVATE_EVENT, client).quote('[CQ:reply,id=7]'), + ).rejects.toThrow(/containing a reply/); + await expect( + createEventContext({ ...PRIVATE_EVENT, message_id: 0 }, client).quote('hello'), + ).rejects.toThrow(/signed 32-bit message ID/); + expect(client.calls).toHaveLength(0); + }); + + it('preserves the original transport failure', async () => { + const client = new RecordingClient(); + const failure = new Error('connection lost'); + + client.request = async () => { + throw failure; + }; + + await expect(createEventContext(PRIVATE_EVENT, client).quote('hello')).rejects.toBe( + failure, + ); + }); + + it('preserves API failure details without retrying the send', async () => { + const client = new RecordingClient(); + client.response = { + status: 'failed', + retcode: 1200, + data: null, + wording: 'quote unavailable', + }; + + await expect( + createEventContext(PRIVATE_EVENT, client).quote('hello'), + ).rejects.toMatchObject({ + constructor: SnowLumaApiError, + retcode: 1200, + wording: 'quote unavailable', + }); + expect(client.calls).toHaveLength(1); + }); +}); diff --git a/packages/sdk/tests/qzone-public.test.ts b/packages/sdk/tests/qzone-public.test.ts new file mode 100644 index 00000000..5bc77294 --- /dev/null +++ b/packages/sdk/tests/qzone-public.test.ts @@ -0,0 +1,103 @@ +import { describe, expect, expectTypeOf, it, vi } from 'vitest'; +import { + SnowLumaHttpClient, + type JsonObject, + type QzonePublicFeedsPage, + type QzoneShareArkResult, +} from '../src'; + +const feed: JsonObject = { + cell_common: { + domain_type: 3, + union_id: { uf_key: '9007199254740993', unknown_identity: 'preserved' }, + }, + cell_feed_transfer: { opaque: 'fixture' }, + unknown_cell: { decimal: '18446744073709551615' }, +}; + +describe('public Qzone raw actions', () => { + it('exposes homepage and card types without automatically sending the card', async () => { + const page: QzonePublicFeedsPage = { feeds: [feed], has_more: false, next_cursor: null }; + const card: QzoneShareArkResult = { + ark: '{ "app": "com.tencent.tuwen.lua" }', + requires_confirmation: true, + notice: '所有人可见', + }; + const fetchImpl = vi + .fn() + .mockResolvedValueOnce( + new Response(JSON.stringify({ status: 'ok', retcode: 0, data: page })), + ) + .mockResolvedValueOnce( + new Response(JSON.stringify({ status: 'ok', retcode: 0, data: card })), + ); + const client = new SnowLumaHttpClient({ fetch: fetchImpl }); + const homepage = await client.raw('get_qzone_home_feeds', {}); + expectTypeOf(homepage).toEqualTypeOf(); + const result = await client.raw('get_qzone_share_ark', { feed: homepage.feeds[0]! }); + expectTypeOf(result).toEqualTypeOf(); + expect(result).toEqual(card); + expect(fetchImpl).toHaveBeenCalledTimes(2); + expect(JSON.parse(fetchImpl.mock.calls[1]![1].body)).toEqual({ + action: 'get_qzone_share_ark', + params: { feed }, + }); + }); + it('preserves original feed cells and follows an explicit cursor after a short page', async () => { + const first: QzonePublicFeedsPage = { + feeds: [feed], + has_more: true, + next_cursor: 'account-bound-cursor', + upstream_page: { untouched: '18446744073709551615' }, + }; + const last: QzonePublicFeedsPage = { feeds: [], has_more: false, next_cursor: null }; + const fetchImpl = vi + .fn() + .mockImplementationOnce( + async () => new Response(JSON.stringify({ status: 'ok', retcode: 0, data: first })), + ) + .mockImplementationOnce( + async () => new Response(JSON.stringify({ status: 'ok', retcode: 0, data: last })), + ); + const client = new SnowLumaHttpClient({ fetch: fetchImpl }); + const page = await client.raw('get_qzone_public_feeds', {}); + + expectTypeOf(page).toEqualTypeOf(); + expect(page).toEqual(first); + expect(fetchImpl).toHaveBeenCalledTimes(1); + expect(page.has_more).toBe(true); + expect(await client.raw('get_qzone_public_feeds', { cursor: page.next_cursor! })).toEqual( + last, + ); + expect( + fetchImpl.mock.calls.map((call) => JSON.parse((call[1] as RequestInit).body as string)), + ).toEqual([ + { action: 'get_qzone_public_feeds', params: {} }, + { action: 'get_qzone_public_feeds', params: { cursor: 'account-bound-cursor' } }, + ]); + }); + + it('preserves complete comment and reply objects and unknown writer results', async () => { + const comment: JsonObject = { id: '9007199254740993', unknown_parent: { keep: true } }; + const reply: JsonObject = { id: '18446744073709551615', user: { uid: 'reader' } }; + const content = [{ type: 0, content: 'Reply', upstream_option: true }]; + const data = { reply, upstream_result: { untouched: true } }; + const fetchImpl = vi + .fn() + .mockImplementation( + async () => new Response(JSON.stringify({ status: 'ok', retcode: 0, data })), + ); + const client = new SnowLumaHttpClient({ fetch: fetchImpl }); + const params = { feed, comment, reply, content }; + const result = await client.raw('reply_qzone_public_feed', params); + + expectTypeOf(result).toEqualTypeOf(); + expect(result).toEqual(data); + expect(fetchImpl).toHaveBeenCalledWith( + 'http://127.0.0.1:3000/', + expect.objectContaining({ + body: JSON.stringify({ action: 'reply_qzone_public_feed', params }), + }), + ); + }); +}); diff --git a/packages/sdk/tests/reverse-websocket-server.test.ts b/packages/sdk/tests/reverse-websocket-server.test.ts new file mode 100644 index 00000000..e65b97c1 --- /dev/null +++ b/packages/sdk/tests/reverse-websocket-server.test.ts @@ -0,0 +1,331 @@ +import { afterEach, describe, expect, it, vi } from 'vitest'; +import { once } from 'node:events'; +import { createServer } from 'node:http'; +import type { AddressInfo } from 'node:net'; +import { WebSocket } from 'ws'; +import { SnowLumaConnectionError } from '../src/errors.js'; +import { + createReverseWebSocketServer, + type ReverseWebSocketServerOptions, + type SnowLumaReverseWebSocketServer, + type SnowLumaReverseWebSocketSession, +} from '../src/node/index.js'; + +const servers: SnowLumaReverseWebSocketServer[] = []; +const peers: WebSocket[] = []; + +afterEach(async () => { + peers.splice(0).forEach((peer) => peer.terminate()); + await Promise.all(servers.splice(0).map((server) => server.close())); +}); + +async function start(options: ReverseWebSocketServerOptions = {}) { + const server = createReverseWebSocketServer({ port: 0, accessToken: 'test-token', ...options }); + const errors = vi.fn(); + server.on('error', errors); + servers.push(server); + await server.listen(); + const port = (server.address as AddressInfo).port; + + const connect = ( + id = '10001', + role = 'Universal', + extras: { path?: string; headers?: Record; autoPong?: boolean } = {}, + ) => { + const peer = new WebSocket(`ws://127.0.0.1:${port}${extras.path ?? '/onebot/v11/ws'}`, { + headers: { + 'X-Self-ID': id, + 'X-Client-Role': role, + Authorization: 'Bearer test-token', + ...extras.headers, + }, + autoPong: extras.autoPong, + }); + peers.push(peer); + return peer; + }; + + const accept = async (id = '10001', role = 'Universal') => { + const peer = connect(id, role); + await once(peer, 'open'); + const client = server.getClient(id)!; + expect(client).toBeDefined(); + return { peer, client }; + }; + + return { server, errors, connect, accept }; +} + +const event = (selfId = 10001) => ({ + self_id: selfId, + time: 1, + post_type: 'message', + message_type: 'private', + sub_type: 'friend', + user_id: 20001, + message_id: -42, + message: [{ type: 'text', data: { text: 'hello' } }], + raw_message: 'hello', + font: 0, + sender: { user_id: 20001, nickname: 'Test' }, +}); + +describe('SDK reverse WebSocket server', () => { + it('receives real events and sends actions back over the accepted connection', async () => { + const { server, accept, errors } = await start(); + const connected: SnowLumaReverseWebSocketSession[] = []; + server.on('connection', (client) => connected.push(client)); + const { peer, client } = await accept(); + expect(connected).toEqual([client]); + expect(client.canCallActions).toBe(true); + expect(client.canReceiveEvents).toBe(true); + const received = new Promise((resolve) => + client.onMessage(async (message, context) => { + expect(message.message_id).toBe(-42); + await context.reply('reply'); + resolve(); + }), + ); + const called = once(peer, 'message'); + peer.send(JSON.stringify(event())); + const action = JSON.parse((await called)[0].toString()); + expect(action).toMatchObject({ action: 'send_private_msg', params: { user_id: 20001 } }); + peer.send( + JSON.stringify({ + status: 'ok', + retcode: 0, + data: { message_id: -43 }, + echo: action.echo, + }), + ); + await received; + expect(errors).not.toHaveBeenCalled(); + }); + + it('accepts both trailing-slash forms of the configured path', async () => { + const { accept } = await start({ path: '/onebot/v11/ws/' }); + expect((await accept()).client.isConnected).toBe(true); + }); + + it('isolates equal request echoes between two accounts', async () => { + const { accept } = await start(); + const first = await accept('10001'); + const second = await accept('10002'); + const a = first.client.request('get_login_info', {}, { echo: 'same' }); + const b = second.client.request('get_login_info', {}, { echo: 'same' }); + await Promise.all([once(first.peer, 'message'), once(second.peer, 'message')]); + second.peer.send( + JSON.stringify({ status: 'ok', retcode: 0, data: { user_id: 10002 }, echo: 'same' }), + ); + first.peer.send( + JSON.stringify({ status: 'ok', retcode: 0, data: { user_id: 10001 }, echo: 'same' }), + ); + expect((await a).data).toMatchObject({ user_id: 10001 }); + expect((await b).data).toMatchObject({ user_id: 10002 }); + }); + + it('reports asynchronous handler failures and supports request cancellation and timeout', async () => { + const { accept, errors } = await start(); + const { peer, client } = await accept(); + client.onMessage(async () => { + throw new Error('handler failed'); + }); + peer.send(JSON.stringify(event())); + await vi.waitFor(() => + expect(errors).toHaveBeenCalledWith( + expect.objectContaining({ + cause: expect.objectContaining({ message: 'handler failed' }), + }), + ), + ); + const abort = new AbortController(); + const called = once(peer, 'message'); + const cancelled = expect( + client.request('get_status', {}, { signal: abort.signal }), + ).rejects.toMatchObject({ name: 'SnowLumaAbortError' }); + await called; + abort.abort(); + await cancelled; + await expect(client.request('get_status', {}, { timeoutMs: 10 })).rejects.toMatchObject({ + name: 'SnowLumaTimeoutError', + }); + expect(client.isConnected).toBe(true); + }); + + it('authenticates and validates identity, role, path and duplicate channels before upgrading', async () => { + const { connect, accept, server } = await start({ selfIds: ['10001'] }); + + const failed = async (peer: WebSocket, status: number) => { + const [error] = await once(peer, 'error'); + expect(error.message).toContain(String(status)); + }; + + await failed( + connect('10001', 'Universal', { headers: { Authorization: 'Bearer wrong' } }), + 401, + ); + await failed(connect('10002'), 403); + await failed(connect('', 'Universal'), 400); + await failed(connect('10001', 'unknown'), 400); + await failed(connect('10001', 'Universal', { path: '/other' }), 404); + const first = await accept(); + await failed(connect(), 409); + expect(server.getClient('10001')).toBe(first.client); + expect(first.client.isConnected).toBe(true); + }); + + it('combines separate Event/API channels and routes event replies over the API channel', async () => { + const { accept, server } = await start(); + const eventPeer = await accept('10001', 'Event'); + expect(eventPeer.client.canCallActions).toBe(false); + await expect(eventPeer.client.getStatus()).rejects.toBeInstanceOf(SnowLumaConnectionError); + const apiPeer = await accept('10001', 'API'); + expect(apiPeer.client).toBe(eventPeer.client); + expect(apiPeer.client.canCallActions).toBe(true); + const done = new Promise((resolve) => + apiPeer.client.onMessage(async (_message, context) => { + await context.reply('split-channel reply'); + resolve(); + }), + ); + const called = once(apiPeer.peer, 'message'); + eventPeer.peer.send(JSON.stringify(event())); + const request = JSON.parse((await called)[0].toString()); + apiPeer.peer.send( + JSON.stringify({ + status: 'ok', + retcode: 0, + data: { message_id: 1 }, + echo: request.echo, + }), + ); + await done; + const eventClosed = once(eventPeer.peer, 'close'); + apiPeer.peer.terminate(); + await eventClosed; + expect(server.clients.size).toBe(0); + }); + + it('rejects pending actions and waits on disconnect, without replaying them after reconnect', async () => { + const { accept, server } = await start(); + const first = await accept(); + const called = once(first.peer, 'message'); + const pending = expect(first.client.getStatus()).rejects.toBeInstanceOf( + SnowLumaConnectionError, + ); + const waiting = expect(first.client.waitForMessage()).rejects.toBeInstanceOf( + SnowLumaConnectionError, + ); + await called; + first.peer.terminate(); + await Promise.all([pending, waiting]); + await vi.waitFor(() => expect(server.clients.size).toBe(0)); + const replacement = await accept(); + expect(replacement.client).not.toBe(first.client); + await expect(first.client.getStatus()).rejects.toThrow('wait for a new server connection'); + const seen = vi.fn(); + replacement.peer.on('message', seen); + await new Promise((resolve) => setImmediate(resolve)); + expect(seen).not.toHaveBeenCalled(); + }); + + it.each(['invalid-json', 'wrong-account', 'wrong-role'])( + 'rejects %s frames and exposes the error without dispatching a false event', + async (kind) => { + const { accept, errors } = await start(); + const { peer, client } = await accept( + '10001', + kind === 'wrong-role' ? 'Api' : 'Universal', + ); + const seen = vi.fn(); + client.onMessage(seen); + const closed = once(peer, 'close'); + peer.send( + kind === 'invalid-json' + ? '{' + : JSON.stringify(event(kind === 'wrong-account' ? 10002 : 10001)), + ); + expect((await closed)[0]).toBe(1008); + expect(seen).not.toHaveBeenCalled(); + expect(errors).toHaveBeenCalledOnce(); + }, + ); + + it('enforces inbound and outbound byte limits and connection capacity', async () => { + const { accept, connect } = await start({ + maxPayloadBytes: 256, + maxBufferedBytes: 32, + maxConnections: 1, + }); + const { peer, client } = await accept(); + const [rejected] = await once(connect('10002'), 'error'); + expect(rejected.message).toContain('503'); + await expect(client.getStatus()).rejects.toMatchObject({ + cause: { message: 'Reverse WebSocket outbound buffer limit exceeded' }, + }); + const closed = once(peer, 'close'); + peer.send('x'.repeat(257)); + expect((await closed)[0]).toBe(1009); + }); + + it('reaps a silent peer and allows a new connection after the old session closes', async () => { + const { connect, accept, server } = await start({ heartbeatIntervalMs: 15 }); + const silent = connect('10001', 'Universal', { autoPong: false }); + await once(silent, 'open'); + await once(silent, 'close'); + await vi.waitFor(() => expect(server.clients.size).toBe(0)); + expect((await accept()).client.isConnected).toBe(true); + }); + + it('leaves an externally owned HTTP server running after closing SDK connections', async () => { + const http = createServer((_req, res) => res.end('still serving')); + http.listen(0, '127.0.0.1'); + await once(http, 'listening'); + const server = createReverseWebSocketServer({ server: http, accessToken: 'token' }); + servers.push(server); + server.on('error', (error) => { + throw error; + }); + + try { + await server.listen(); + const port = (http.address() as AddressInfo).port; + const peer = new WebSocket(`ws://127.0.0.1:${port}/onebot/v11/ws?access_token=token`, { + headers: { 'X-Self-ID': '10001', 'X-Client-Role': 'Universal' }, + }); + peers.push(peer); + await once(peer, 'open'); + await server.close(); + expect(await (await fetch(`http://127.0.0.1:${port}/health`)).text()).toBe( + 'still serving', + ); + expect(server.clients.size).toBe(0); + } finally { + await server.close(); + await new Promise((resolve, reject) => + http.close((error) => (error ? reject(error) : resolve())), + ); + } + }); + + it('rejects a failed bind, then supports retry and repeated close', async () => { + const occupied = createServer(); + occupied.listen(0, '127.0.0.1'); + await once(occupied, 'listening'); + const server = createReverseWebSocketServer({ + port: (occupied.address() as AddressInfo).port, + }); + servers.push(server); + + try { + await expect(server.listen()).rejects.toMatchObject({ code: 'EADDRINUSE' }); + } finally { + await new Promise((resolve) => occupied.close(() => resolve())); + } + + await server.listen(); + await Promise.all([server.close(), server.close()]); + await server.listen(); + await server.close(); + }); +}); diff --git a/packages/sdk/tests/segments.test.ts b/packages/sdk/tests/segments.test.ts new file mode 100644 index 00000000..68c36a1a --- /dev/null +++ b/packages/sdk/tests/segments.test.ts @@ -0,0 +1,374 @@ +import { describe, expect, it } from 'vitest'; +import { segments } from '../src/messages/segments'; + +describe('segments.text', () => { + it('wraps a string as a text segment', () => { + expect(segments.text('hello')).toEqual({ type: 'text', data: { text: 'hello' } }); + }); + + it('keeps empty text', () => { + expect(segments.text('')).toEqual({ type: 'text', data: { text: '' } }); + }); +}); + +describe('segments.face', () => { + it('stringifies a numeric face id', () => { + expect(segments.face(14)).toEqual({ type: 'face', data: { id: '14' } }); + }); + + it('keeps a string face id', () => { + expect(segments.face('178')).toEqual({ type: 'face', data: { id: '178' } }); + }); + + it('stringifies zero', () => { + expect(segments.face(0)).toEqual({ type: 'face', data: { id: '0' } }); + }); +}); + +describe('segments.at', () => { + it('stringifies a numeric qq and omits empty options', () => { + expect(segments.at(10001)).toEqual({ type: 'at', data: { qq: '10001' } }); + }); + + it('supports at-all', () => { + expect(segments.at('all')).toEqual({ type: 'at', data: { qq: 'all' } }); + }); + + it('includes name when provided', () => { + expect(segments.at(10001, { name: 'luma' })).toEqual({ + type: 'at', + data: { qq: '10001', name: 'luma' }, + }); + }); + + it('includes uid when provided', () => { + expect(segments.at(10001, { uid: 'u_abc' })).toEqual({ + type: 'at', + data: { qq: '10001', uid: 'u_abc' }, + }); + }); + + it('includes both name and uid', () => { + expect(segments.at(10001, { name: 'luma', uid: 'u_abc' })).toEqual({ + type: 'at', + data: { qq: '10001', name: 'luma', uid: 'u_abc' }, + }); + }); + + it('omits empty name and uid', () => { + expect(segments.at(10001, { name: '', uid: '' })).toEqual({ + type: 'at', + data: { qq: '10001' }, + }); + }); +}); + +describe('segments.reply', () => { + it('stringifies a numeric message id', () => { + expect(segments.reply(7)).toEqual({ type: 'reply', data: { id: '7' } }); + }); + + it('keeps a string message id', () => { + expect(segments.reply('abc')).toEqual({ type: 'reply', data: { id: 'abc' } }); + }); +}); + +describe('segments.customReply', () => { + it('builds an inline quote without requiring a cached message id', () => { + expect( + segments.customReply([segments.text('SnowLuma')], { + qq: 10001, + time: 1700000000, + seq: 42, + }), + ).toEqual({ + type: 'reply', + data: { + message: [{ type: 'text', data: { text: 'SnowLuma' } }], + qq: 10001, + time: 1700000000, + seq: 42, + }, + }); + }); + + it('accepts a plain quote string without metadata', () => { + expect(segments.customReply('quoted')).toEqual({ + type: 'reply', + data: { message: 'quoted' }, + }); + }); +}); + +describe('segments.image', () => { + it('uses only the file when no options are given', () => { + expect(segments.image('/tmp/a.png')).toEqual({ + type: 'image', + data: { file: '/tmp/a.png' }, + }); + }); + + it('spreads image options after file', () => { + expect( + segments.image('base64://abc', { + type: 'flash', + subType: 1, + summary: 'pic', + url: 'https://example.com/a.png', + }), + ).toEqual({ + type: 'image', + data: { + file: 'base64://abc', + type: 'flash', + subType: 1, + summary: 'pic', + url: 'https://example.com/a.png', + }, + }); + }); +}); + +describe('segments.record', () => { + it('uses only the file when no options are given', () => { + expect(segments.record('/tmp/a.amr')).toEqual({ + type: 'record', + data: { file: '/tmp/a.amr' }, + }); + }); + + it('spreads record options after file', () => { + expect(segments.record('/tmp/a.amr', { url: 'https://example.com/a.amr' })).toEqual({ + type: 'record', + data: { file: '/tmp/a.amr', url: 'https://example.com/a.amr' }, + }); + }); +}); + +describe('segments.video', () => { + it('uses only the file when no options are given', () => { + expect(segments.video('/tmp/a.mp4')).toEqual({ + type: 'video', + data: { file: '/tmp/a.mp4' }, + }); + }); + + it('spreads video options after file', () => { + expect( + segments.video('/tmp/a.mp4', { + url: 'https://example.com/a.mp4', + thumb: '/tmp/thumb.jpg', + }), + ).toEqual({ + type: 'video', + data: { + file: '/tmp/a.mp4', + url: 'https://example.com/a.mp4', + thumb: '/tmp/thumb.jpg', + }, + }); + }); +}); + +describe('segments.json', () => { + it('keeps a JSON string as-is', () => { + expect(segments.json('{"app":"com.tencent.miniapp"}')).toEqual({ + type: 'json', + data: { data: '{"app":"com.tencent.miniapp"}' }, + }); + }); + + it('stringifies a JSON object', () => { + expect(segments.json({ app: 'com.tencent.miniapp', desc: 'hi' })).toEqual({ + type: 'json', + data: { data: '{"app":"com.tencent.miniapp","desc":"hi"}' }, + }); + }); +}); + +describe('segments.xml', () => { + it('uses only the xml payload when no options are given', () => { + expect(segments.xml('')).toEqual({ + type: 'xml', + data: { data: '' }, + }); + }); + + it('spreads xml options after data', () => { + expect(segments.xml('', { id: '12345' })).toEqual({ + type: 'xml', + data: { data: '', id: '12345' }, + }); + }); +}); + +describe('segments.poke', () => { + it('omits id when it is not provided', () => { + expect(segments.poke(1)).toEqual({ type: 'poke', data: { type: 1 } }); + }); + + it('includes a numeric id', () => { + expect(segments.poke(1, -1)).toEqual({ type: 'poke', data: { type: 1, id: -1 } }); + }); + + it('keeps string type and id', () => { + expect(segments.poke('1', '0')).toEqual({ type: 'poke', data: { type: '1', id: '0' } }); + }); + + it('includes an id of 0', () => { + expect(segments.poke(1, 0)).toEqual({ type: 'poke', data: { type: 1, id: 0 } }); + }); +}); + +describe('segments.forward', () => { + it('mirrors the id onto res_id and forward_id', () => { + expect(segments.forward('res-9')).toEqual({ + type: 'forward', + data: { id: 'res-9', res_id: 'res-9', forward_id: 'res-9' }, + }); + }); +}); + +describe('segments.node', () => { + it('stores user_id, nickname, and string content', () => { + expect(segments.node(10001, 'luma', 'hello')).toEqual({ + type: 'node', + data: { user_id: 10001, nickname: 'luma', content: 'hello' }, + }); + }); + + it('stores a single segment as content', () => { + expect(segments.node(10001, 'luma', { type: 'text', data: { text: 'hi' } })).toEqual({ + type: 'node', + data: { + user_id: 10001, + nickname: 'luma', + content: { type: 'text', data: { text: 'hi' } }, + }, + }); + }); + + it('stores a segment array as content', () => { + expect(segments.node(10001, 'luma', [{ type: 'text', data: { text: 'hi' } }])).toEqual({ + type: 'node', + data: { + user_id: 10001, + nickname: 'luma', + content: [{ type: 'text', data: { text: 'hi' } }], + }, + }); + }); +}); + +describe('segments.share', () => { + it('passes required share fields through', () => { + expect(segments.share({ url: 'https://example.com', title: 'Example' })).toEqual({ + type: 'share', + data: { url: 'https://example.com', title: 'Example' }, + }); + }); + + it('passes optional share fields through', () => { + expect( + segments.share({ + url: 'https://example.com', + title: 'Example', + content: 'desc', + image: 'https://example.com/a.png', + }), + ).toEqual({ + type: 'share', + data: { + url: 'https://example.com', + title: 'Example', + content: 'desc', + image: 'https://example.com/a.png', + }, + }); + }); +}); + +describe('segments.music', () => { + it('passes platform music id data through', () => { + expect(segments.music({ type: '163', id: '12345' })).toEqual({ + type: 'music', + data: { type: '163', id: '12345' }, + }); + }); + + it('passes custom music data through', () => { + expect( + segments.music({ + type: 'custom', + url: 'https://example.com/song', + audio: 'https://example.com/song.mp3', + title: 'Song', + image: 'https://example.com/cover.jpg', + content: 'Artist', + }), + ).toEqual({ + type: 'music', + data: { + type: 'custom', + url: 'https://example.com/song', + audio: 'https://example.com/song.mp3', + title: 'Song', + image: 'https://example.com/cover.jpg', + content: 'Artist', + }, + }); + }); +}); + +describe('segments.location', () => { + it('passes numeric coordinates and labels through', () => { + expect( + segments.location({ + lat: 39.9, + lon: 116.4, + title: 'Beijing', + content: 'Tiananmen', + }), + ).toEqual({ + type: 'location', + data: { + lat: 39.9, + lon: 116.4, + title: 'Beijing', + content: 'Tiananmen', + }, + }); + }); + + it('passes string coordinates through', () => { + expect(segments.location({ lat: '31.2', lon: '121.5' })).toEqual({ + type: 'location', + data: { lat: '31.2', lon: '121.5' }, + }); + }); +}); + +describe('segments.contact', () => { + it('builds a qq contact with a numeric id', () => { + expect(segments.contact('qq', 10001)).toEqual({ + type: 'contact', + data: { type: 'qq', id: 10001 }, + }); + }); + + it('builds a group contact with a string id', () => { + expect(segments.contact('group', '123456')).toEqual({ + type: 'contact', + data: { type: 'group', id: '123456' }, + }); + }); +}); + +describe('segments.raw', () => { + it('builds an arbitrary typed segment', () => { + expect(segments.raw('dice', { result: 6 })).toEqual({ + type: 'dice', + data: { result: 6 }, + }); + }); +}); diff --git a/packages/sdk/tests/websocket-client.test.ts b/packages/sdk/tests/websocket-client.test.ts new file mode 100644 index 00000000..a62a0042 --- /dev/null +++ b/packages/sdk/tests/websocket-client.test.ts @@ -0,0 +1,749 @@ +import { afterEach, describe, expect, it, vi } from 'vitest'; +import { + SnowLumaAbortError, + SnowLumaApiError, + SnowLumaConnectionError, + SnowLumaParseError, + SnowLumaTimeoutError, + SnowLumaWebSocketClient, + type OneBotPrivateMessageEvent, +} from '../src'; + +class MockWebSocket { + static instances: MockWebSocket[] = []; + + readyState = 0; + sent: string[] = []; + readonly listeners = new Map void>>(); + + constructor( + readonly url: string, + readonly protocols?: string | string[], + ) { + MockWebSocket.instances.push(this); + } + + addEventListener(event: string, listener: (...args: unknown[]) => void): void { + let listeners = this.listeners.get(event); + + if (!listeners) { + listeners = new Set(); + this.listeners.set(event, listeners); + } + + listeners.add(listener); + } + + removeEventListener(event: string, listener: (...args: unknown[]) => void): void { + this.listeners.get(event)?.delete(listener); + } + + send(data: string): void { + this.sent.push(data); + } + + close(code?: number, reason?: string): void { + this.readyState = 3; + this.emit('close', { code, reason }); + } + + open(): void { + this.readyState = 1; + this.emit('open'); + } + + message(data: unknown): void { + this.emit('message', { data }); + } + + emit(event: string, ...args: unknown[]): void { + for (const listener of this.listeners.get(event) ?? []) { + listener(...args); + } + } +} + +const PRIVATE_EVENT: OneBotPrivateMessageEvent = { + time: 1, + self_id: 10000, + post_type: 'message', + message_type: 'private', + sub_type: 'friend', + message_id: 7, + message_seq: 8, + user_id: 10001, + message: [{ type: 'text', data: { text: '/ping a b' } }], + raw_message: '/ping a b', + font: 0, + sender: { user_id: 10001, nickname: 'tester' }, +}; + +describe('WebSocket streaming', () => { + afterEach(() => vi.useRealTimers()); + + async function connected() { + const client = new SnowLumaWebSocketClient({ + webSocket: MockWebSocket, + requestTimeoutMs: 1000, + }); + const opening = client.connect(); + const socket = MockWebSocket.instances.at(-1)!; + socket.open(); + await opening; + return { client, socket }; + } + + const data = { type: 'stream', data_type: 'data_chunk', data: 'part' }; + const complete = { type: 'response', data_type: 'data_complete', data: 'done' }; + const frame = (echo: string, payload: unknown) => + JSON.stringify({ + status: 'ok', + retcode: 0, + stream: 'stream-action', + echo, + data: payload, + }); + + it('routes interleaved streams, normal responses and events independently', async () => { + const { client, socket } = await connected(); + const event = vi.fn(); + client.onEvent(event); + const first = client.stream('test_download_stream', {}, { echo: 'a' }); + const second = client.stream('test_download_stream', {}, { echo: 'b' }); + const a = first.next(); + const b = second.next(); + const status = client.getStatus({ echo: 'ordinary' }); + await vi.waitFor(() => expect(socket.sent).toHaveLength(3)); + socket.message(frame('b', data)); + socket.message(frame('a', data)); + socket.message(JSON.stringify(PRIVATE_EVENT)); + socket.message( + JSON.stringify({ status: 'ok', retcode: 0, echo: 'ordinary', data: { online: true } }), + ); + await expect(status).resolves.toEqual({ online: true }); + expect((await a).value).toEqual(data); + expect((await b).value).toEqual(data); + socket.message(frame('a', complete)); + socket.message(frame('b', complete)); + expect((await first.next()).value).toEqual(complete); + expect((await second.next()).value).toEqual(complete); + expect((await first.next()).done).toBe(true); + expect((await second.next()).done).toBe(true); + await vi.waitFor(() => expect(event).toHaveBeenCalledOnce()); + client.close(); + }); + + it('shares echo collision checks with single-response calls and preserves later requests', async () => { + const { client, socket } = await connected(); + const stream = client.stream('test_download_stream', {}, { echo: 'same' }); + const first = stream.next(); + await vi.waitFor(() => expect(socket.sent).toHaveLength(1)); + await expect(client.getStatus({ echo: 'same' })).rejects.toThrow('already pending'); + await expect( + client.stream('test_download_stream', {}, { echo: 'same' }).next(), + ).rejects.toThrow('already pending'); + socket.message(frame('same', data)); + await first; + socket.message(frame('same', complete)); + const ordinary = client.getStatus({ echo: 'same' }); + await vi.waitFor(() => expect(socket.sent).toHaveLength(2)); + await stream.return(); + socket.message( + JSON.stringify({ status: 'ok', retcode: 0, data: { online: true }, echo: 'same' }), + ); + await expect(ordinary).resolves.toEqual({ online: true }); + client.close(); + }); + + it.each([ + 'abort', + 'timeout', + 'close', + 'invalid frame', + 'invalid JSON', + 'send failure', + 'return', + 'complete', + ] as const)('releases stream timers and listeners after %s', async (outcome) => { + vi.useFakeTimers(); + const { client, socket } = await connected(); + const controller = new AbortController(); + const remove = vi.spyOn(controller.signal, 'removeEventListener'); + + if (outcome === 'send failure') { + vi.spyOn(socket, 'send').mockImplementationOnce(() => { + throw new Error('send'); + }); + } + + const stream = client.stream( + 'test_download_stream', + {}, + { echo: 's', signal: controller.signal }, + ); + const next = stream.next(); + const settled = next.then( + () => undefined, + (error: unknown) => error, + ); + await vi.advanceTimersByTimeAsync(0); + + switch (outcome) { + case 'abort': + controller.abort(); + break; + case 'timeout': + await vi.advanceTimersByTimeAsync(1000); + break; + case 'close': + socket.close(); + break; + case 'invalid frame': + socket.message(JSON.stringify({ echo: 's' })); + break; + case 'invalid JSON': + socket.message('bad json'); + break; + case 'return': + socket.message(frame('s', data)); + await next; + await stream.return(); + break; + case 'complete': + socket.message(frame('s', complete)); + await next; + await stream.next(); + break; + } + + const error = await settled; + const expected = { + abort: SnowLumaAbortError, + timeout: SnowLumaTimeoutError, + close: SnowLumaConnectionError, + 'send failure': SnowLumaConnectionError, + 'invalid frame': SnowLumaParseError, + 'invalid JSON': SnowLumaParseError, + }; + + if (outcome in expected) { + expect(error).toBeInstanceOf(expected[outcome as keyof typeof expected]); + } else { + expect(error).toBeUndefined(); + } + + expect(vi.getTimerCount()).toBe(0); + expect(remove).toHaveBeenCalled(); + client.close(); + }); + + it.each(['frames', 'bytes'] as const)( + 'fails a slow consumer when queued %s exceed its limit', + async (limit) => { + const { client, socket } = await connected(); + const stream = client.stream( + 'test_download_stream', + {}, + { + echo: 's', + maxBufferedFrames: limit === 'frames' ? 1 : 256, + maxBufferBytes: limit === 'bytes' ? 180 : 10000, + }, + ); + const next = stream.next(); + await vi.waitFor(() => expect(socket.sent).toHaveLength(1)); + socket.message(frame('s', data)); + await next; + socket.message(frame('s', data)); + socket.message(frame('s', data)); + await expect(stream.next()).rejects.toThrow('buffer limit'); + client.close(); + }, + ); + + it('throws a terminal API error after previously delivered frames', async () => { + const { client, socket } = await connected(); + const stream = client.stream('test_download_stream', {}, { echo: 's' }); + const next = stream.next(); + await vi.waitFor(() => expect(socket.sent).toHaveLength(1)); + socket.message(frame('s', data)); + await next; + socket.message( + JSON.stringify({ + status: 'failed', + retcode: 1500, + echo: 's', + data: { type: 'error' }, + wording: 'failed', + }), + ); + await expect(stream.next()).rejects.toBeInstanceOf(SnowLumaApiError); + client.close(); + }); + + it('times out while opening without sending a request later', async () => { + vi.useFakeTimers(); + const client = new SnowLumaWebSocketClient({ webSocket: MockWebSocket }); + const result = expect( + client.stream('test_download_stream', {}, { timeoutMs: 20 }).next(), + ).rejects.toBeInstanceOf(SnowLumaTimeoutError); + const socket = MockWebSocket.instances.at(-1)!; + await vi.advanceTimersByTimeAsync(20); + await result; + socket.open(); + expect(socket.sent).toHaveLength(0); + expect(vi.getTimerCount()).toBe(0); + client.close(); + }); +}); + +describe('SnowLumaWebSocketClient', () => { + afterEach(() => { + vi.useRealTimers(); + }); + + it('times out while opening and never sends the expired action after a late open', async () => { + vi.useFakeTimers(); + const client = new SnowLumaWebSocketClient({ webSocket: MockWebSocket }); + const settled = vi.fn(); + const request = client.getStatus({ timeoutMs: 20 }).then(settled, settled); + const socket = MockWebSocket.instances.at(-1)!; + + try { + await vi.advanceTimersByTimeAsync(20); + expect(settled).toHaveBeenCalledExactlyOnceWith(expect.any(SnowLumaTimeoutError)); + expect(settled.mock.calls[0]![0]).toHaveProperty('timeoutMs', 20); + socket.open(); + await vi.advanceTimersByTimeAsync(0); + expect(socket.sent).toHaveLength(0); + expect(client.isConnected).toBe(true); + expect(vi.getTimerCount()).toBe(0); + } finally { + client.close(); + await request; + } + }); + + it('uses the client default as one deadline across connection and response waits', async () => { + vi.useFakeTimers(); + const client = new SnowLumaWebSocketClient({ + webSocket: MockWebSocket, + requestTimeoutMs: 30, + }); + const settled = vi.fn(); + const request = client.getStatus({ echo: 'deadline' }).then(settled, settled); + const socket = MockWebSocket.instances.at(-1)!; + + try { + await vi.advanceTimersByTimeAsync(20); + socket.open(); + await vi.advanceTimersByTimeAsync(0); + expect(socket.sent).toHaveLength(1); + await vi.advanceTimersByTimeAsync(9); + expect(settled).not.toHaveBeenCalled(); + await vi.advanceTimersByTimeAsync(1); + expect(settled).toHaveBeenCalledExactlyOnceWith(expect.any(SnowLumaTimeoutError)); + expect(settled.mock.calls[0]![0]).toHaveProperty('timeoutMs', 30); + expect(vi.getTimerCount()).toBe(0); + } finally { + client.close(); + await request; + } + }); + + it.each(['timeout', 'abort'] as const)( + 'keeps a shared opening connection usable after one request ends by %s', + async (outcome) => { + vi.useFakeTimers(); + const client = new SnowLumaWebSocketClient({ webSocket: MockWebSocket }); + const controller = new AbortController(); + const remove = vi.spyOn(controller.signal, 'removeEventListener'); + const firstSettled = vi.fn(); + const first = client + .getStatus({ echo: 'first', timeoutMs: 20, signal: controller.signal }) + .then(firstSettled, firstSettled); + const socket = MockWebSocket.instances.at(-1)!; + const second = client.getStatus({ echo: 'second', timeoutMs: 100 }); + const secondResult = second.catch((error: unknown) => error); + + try { + if (outcome === 'abort') { + controller.abort('caller cancelled'); + } + + await vi.advanceTimersByTimeAsync(20); + expect(firstSettled).toHaveBeenCalledExactlyOnceWith( + expect.any(outcome === 'timeout' ? SnowLumaTimeoutError : SnowLumaAbortError), + ); + + if (outcome === 'abort') { + expect(firstSettled.mock.calls[0]![0]).toHaveProperty( + 'cause', + 'caller cancelled', + ); + } + + expect(remove).toHaveBeenCalledWith('abort', expect.any(Function)); + expect(socket.readyState).toBe(0); + socket.open(); + await vi.advanceTimersByTimeAsync(0); + expect(socket.sent.map((value) => JSON.parse(value).echo)).toEqual(['second']); + socket.message( + JSON.stringify({ + status: 'ok', + retcode: 0, + data: { online: true }, + echo: 'second', + }), + ); + await expect(second).resolves.toEqual({ online: true }); + expect(client.isConnected).toBe(true); + expect(vi.getTimerCount()).toBe(0); + } finally { + client.close(); + await Promise.all([first, secondResult]); + } + }, + ); + + it('allows zero timeout through connection and response waits', async () => { + vi.useFakeTimers(); + const client = new SnowLumaWebSocketClient({ + webSocket: MockWebSocket, + requestTimeoutMs: 10, + }); + const settled = vi.fn(); + const request = client + .getStatus({ timeoutMs: 0, echo: 'unlimited' }) + .then(settled, settled); + const socket = MockWebSocket.instances.at(-1)!; + + try { + await vi.advanceTimersByTimeAsync(100); + expect(settled).not.toHaveBeenCalled(); + socket.open(); + await vi.advanceTimersByTimeAsync(100); + expect(settled).not.toHaveBeenCalled(); + expect(socket.sent).toHaveLength(1); + socket.message( + JSON.stringify({ + status: 'ok', + retcode: 0, + data: { online: true }, + echo: 'unlimited', + }), + ); + await request; + expect(settled).toHaveBeenCalledExactlyOnceWith({ online: true }); + expect(vi.getTimerCount()).toBe(0); + } finally { + client.close(); + await request; + } + }); + + it.each(['close', 'constructor failure', 'pre-aborted'] as const)( + 'cleans request controls when opening ends with %s', + async (outcome) => { + vi.useFakeTimers(); + const failure = new Error('opening failed'); + class OpeningSocket extends MockWebSocket { + constructor(url: string) { + if (outcome === 'constructor failure') { + throw failure; + } + + super(url); + } + } + const client = new SnowLumaWebSocketClient({ webSocket: OpeningSocket }); + const controller = new AbortController(); + const remove = vi.spyOn(controller.signal, 'removeEventListener'); + + if (outcome === 'pre-aborted') { + controller.abort(failure); + } + + const before = MockWebSocket.instances.length; + const result = client + .getStatus({ timeoutMs: 20, signal: controller.signal }) + .catch((error: unknown) => error); + + if (outcome === 'close') { + MockWebSocket.instances.at(-1)!.close(); + expect(await result).toBeInstanceOf(SnowLumaConnectionError); + } else if (outcome === 'constructor failure') { + expect(await result).toBe(failure); + } else { + expect(await result).toBeInstanceOf(SnowLumaAbortError); + expect(MockWebSocket.instances).toHaveLength(before); + } + + expect(vi.getTimerCount()).toBe(0); + expect(remove).toHaveBeenCalledWith('abort', expect.any(Function)); + client.close(); + }, + ); + + it('rejects duplicate in-flight echoes without replacing the original request', async () => { + const client = new SnowLumaWebSocketClient({ webSocket: MockWebSocket }); + const opening = client.connect(); + const socket = MockWebSocket.instances.at(-1)!; + socket.open(); + await opening; + const first = client.getStatus({ echo: 'same' }); + await vi.waitFor(() => expect(socket.sent).toHaveLength(1)); + await expect(client.getStatus({ echo: 'same' })).rejects.toThrow('already pending'); + expect(socket.sent).toHaveLength(1); + socket.message( + JSON.stringify({ status: 'ok', retcode: 0, data: { online: true }, echo: 'same' }), + ); + await expect(first).resolves.toEqual({ online: true }); + client.close(); + }); + + it.each(['response', 'abort', 'timeout', 'send failure', 'invalid response', 'close'] as const)( + 'releases the timer and abort listener after %s', + async (outcome) => { + vi.useFakeTimers(); + const client = new SnowLumaWebSocketClient({ + webSocket: MockWebSocket, + requestTimeoutMs: 1000, + }); + const opening = client.connect(); + const socket = MockWebSocket.instances.at(-1)!; + socket.open(); + await opening; + const controller = new AbortController(); + const remove = vi.spyOn(controller.signal, 'removeEventListener'); + + if (outcome === 'send failure') { + vi.spyOn(socket, 'send').mockImplementation(() => { + throw new Error('send failed'); + }); + } + + const request = client.getStatus({ echo: 'request', signal: controller.signal }); + const settled = request.then( + () => 'resolved', + () => 'rejected', + ); + await vi.advanceTimersByTimeAsync(0); + + switch (outcome) { + case 'response': + socket.message( + JSON.stringify({ status: 'ok', retcode: 0, data: {}, echo: 'request' }), + ); + break; + case 'invalid response': + socket.message(JSON.stringify({ echo: 'request' })); + break; + case 'abort': + controller.abort(); + break; + case 'timeout': + await vi.advanceTimersByTimeAsync(1000); + break; + case 'close': + client.close(); + break; + } + + expect(await settled).toBe(outcome === 'response' ? 'resolved' : 'rejected'); + expect(vi.getTimerCount()).toBe(0); + expect(remove).toHaveBeenCalledWith('abort', expect.any(Function)); + client.close(); + }, + ); + + it('reconnects after a remote close and cancels scheduled retries when closed by the caller', async () => { + vi.useFakeTimers(); + const client = new SnowLumaWebSocketClient({ + webSocket: MockWebSocket, + reconnect: { minDelayMs: 10 }, + }); + const opening = client.connect(); + const first = MockWebSocket.instances.at(-1)!; + first.open(); + await opening; + first.close(); + await vi.advanceTimersByTimeAsync(10); + const second = MockWebSocket.instances.at(-1)!; + expect(second).not.toBe(first); + second.open(); + await vi.advanceTimersByTimeAsync(0); + expect(client.isConnected).toBe(true); + second.close(); + client.close(); + expect(vi.getTimerCount()).toBe(0); + }); + + it('retries after the WebSocket constructor throws', async () => { + let attempts = 0; + class RetrySocket extends MockWebSocket { + constructor(url: string) { + if (attempts++ === 0) { + throw new Error('constructor failed'); + } + + super(url); + } + } + const client = new SnowLumaWebSocketClient({ webSocket: RetrySocket }); + await expect(client.connect()).rejects.toThrow('constructor failed'); + const connecting = client.connect(); + expect(attempts).toBe(2); + MockWebSocket.instances.at(-1)!.open(); + await connecting; + client.close(); + }); + + it('ignores events from a closed socket after a new connection opens', async () => { + class DelayedCloseSocket extends MockWebSocket { + override close(): void { + this.readyState = 2; + } + } + const client = new SnowLumaWebSocketClient({ webSocket: DelayedCloseSocket }); + const first = client.connect(); + const oldSocket = MockWebSocket.instances.at(-1)!; + oldSocket.open(); + await first; + client.close(); + + const second = client.connect(); + const currentSocket = MockWebSocket.instances.at(-1)!; + currentSocket.open(); + await second; + const raw = vi.fn(); + client.on('raw', raw); + oldSocket.message(JSON.stringify(PRIVATE_EVENT)); + oldSocket.emit('close', { code: 1000 }); + + expect(client.isConnected).toBe(true); + expect(raw).not.toHaveBeenCalled(); + client.close(); + }); + + it('settles an opening connection when the caller closes it before the close event', async () => { + class DelayedCloseSocket extends MockWebSocket { + override close(): void { + this.readyState = 2; + } + } + const client = new SnowLumaWebSocketClient({ webSocket: DelayedCloseSocket }); + const opening = client.connect(); + const oldSocket = MockWebSocket.instances.at(-1)!; + const result = expect(opening).rejects.toThrow('closed'); + client.close(); + await result; + + oldSocket.open(); + expect(client.isConnected).toBe(false); + }); + + it('matches API responses by echo', async () => { + MockWebSocket.instances = []; + const client = new SnowLumaWebSocketClient({ + url: 'ws://127.0.0.1:3001/', + accessToken: 'token', + webSocket: MockWebSocket, + }); + + const connecting = client.connect(); + const socket = MockWebSocket.instances[0]!; + expect(socket.url).toContain('access_token=token'); + socket.open(); + await connecting; + + const status = client.getStatus(); + await vi.waitFor(() => expect(socket.sent).toHaveLength(1)); + const request = JSON.parse(socket.sent[0]!) as { echo: string }; + socket.message( + JSON.stringify({ + status: 'ok', + retcode: 0, + data: { online: true, good: true }, + echo: request.echo, + }), + ); + + await expect(status).resolves.toEqual({ online: true, good: true }); + }); + + it('runs command handlers for matching message events', async () => { + MockWebSocket.instances = []; + const client = new SnowLumaWebSocketClient({ + url: 'ws://127.0.0.1:3001/', + webSocket: MockWebSocket, + }); + const handler = vi.fn(); + client.command('ping', handler); + + const connecting = client.connect(); + const socket = MockWebSocket.instances[0]!; + socket.open(); + await connecting; + socket.message(JSON.stringify(PRIVATE_EVENT)); + + await vi.waitFor(() => { + expect(handler).toHaveBeenCalledTimes(1); + expect(handler.mock.calls[0]![2]).toMatchObject({ args: ['a', 'b'] }); + }); + }); + + it('supports caller AbortSignal cancellation for pending requests', async () => { + MockWebSocket.instances = []; + const client = new SnowLumaWebSocketClient({ + url: 'ws://127.0.0.1:3001/', + webSocket: MockWebSocket, + }); + const controller = new AbortController(); + + const connecting = client.connect(); + const socket = MockWebSocket.instances[0]!; + socket.open(); + await connecting; + + const request = client.getStatus({ signal: controller.signal }); + await vi.waitFor(() => expect(socket.sent).toHaveLength(1)); + controller.abort(); + + await expect(request).rejects.toBeInstanceOf(SnowLumaAbortError); + }); + + it('dispatches bot_status notices to onBotStatus', async () => { + MockWebSocket.instances = []; + const client = new SnowLumaWebSocketClient({ + url: 'ws://127.0.0.1:3001/', + webSocket: MockWebSocket, + }); + const handler = vi.fn(); + client.onBotStatus(handler); + + const connecting = client.connect(); + const socket = MockWebSocket.instances[0]!; + socket.open(); + await connecting; + socket.message( + JSON.stringify({ + time: 1_710_000_000, + self_id: 10000, + post_type: 'notice', + notice_type: 'bot_status', + sub_type: 'offline', + user_id: 10000, + }), + ); + + await vi.waitFor(() => { + expect(handler).toHaveBeenCalledTimes(1); + expect(handler.mock.calls[0]![0]).toMatchObject({ + notice_type: 'bot_status', + sub_type: 'offline', + user_id: 10000, + }); + }); + }); +}); diff --git a/packages/sdk/tests/websocket-utils.test.ts b/packages/sdk/tests/websocket-utils.test.ts new file mode 100644 index 00000000..003ad205 --- /dev/null +++ b/packages/sdk/tests/websocket-utils.test.ts @@ -0,0 +1,225 @@ +import { describe, expect, it, vi } from 'vitest'; +import { + addSocketListener, + closeInfo, + normalizeReconnect, + rawToString, + unwrapEventPayload, + unwrapMessagePayload, + WEBSOCKET_CLOSED, + WEBSOCKET_OPEN, +} from '../src/client/websocket-utils'; +import type { WebSocketLike } from '../src/client/websocket-types'; + +function stubSocket(extra: Partial = {}): WebSocketLike { + return { + readyState: 0, + send() {}, + close() {}, + ...extra, + }; +} + +describe('websocket readyState constants', () => { + it('matches the standard WebSocket readyState values', () => { + expect(WEBSOCKET_OPEN).toBe(1); + expect(WEBSOCKET_CLOSED).toBe(3); + }); +}); + +describe('normalizeReconnect', () => { + it('treats a disabled or omitted value as no reconnect policy', () => { + expect(normalizeReconnect(false)).toBeNull(); + expect(normalizeReconnect(undefined)).toBeNull(); + }); + + it('turns a boolean enable flag into an empty options object', () => { + expect(normalizeReconnect(true)).toEqual({}); + }); + + it('returns the given reconnect options object unchanged', () => { + const options = { retries: 4, minDelayMs: 250, maxDelayMs: 8_000 }; + expect(normalizeReconnect(options)).toBe(options); + expect(normalizeReconnect({ retries: 0 })).toEqual({ retries: 0 }); + expect(normalizeReconnect({})).toEqual({}); + }); +}); + +describe('addSocketListener', () => { + it('binds and unbinds through addEventListener when present', () => { + const listener = vi.fn(); + const socket = stubSocket({ + addEventListener: vi.fn(), + removeEventListener: vi.fn(), + on: vi.fn(), + }); + + const off = addSocketListener(socket, 'message', listener); + + expect(socket.addEventListener).toHaveBeenCalledTimes(1); + expect(socket.addEventListener).toHaveBeenCalledWith('message', listener); + expect(socket.on).not.toHaveBeenCalled(); + + off(); + expect(socket.removeEventListener).toHaveBeenCalledTimes(1); + expect(socket.removeEventListener).toHaveBeenCalledWith('message', listener); + }); + + it('does not throw on cleanup when removeEventListener is absent', () => { + const socket = stubSocket({ addEventListener: vi.fn() }); + const off = addSocketListener(socket, 'open', vi.fn()); + expect(off).not.toThrow(); + }); + + it('binds through on() and unbinds through off() when addEventListener is missing', () => { + const listener = vi.fn(); + const socket = stubSocket({ + on: vi.fn(), + off: vi.fn(), + removeListener: vi.fn(), + }); + + const off = addSocketListener(socket, 'close', listener); + + expect(socket.on).toHaveBeenCalledTimes(1); + expect(socket.on).toHaveBeenCalledWith('close', listener); + + off(); + expect(socket.off).toHaveBeenCalledTimes(1); + expect(socket.off).toHaveBeenCalledWith('close', listener); + expect(socket.removeListener).not.toHaveBeenCalled(); + }); + + it('falls back to removeListener when off() is absent', () => { + const listener = vi.fn(); + const socket = stubSocket({ + on: vi.fn(), + removeListener: vi.fn(), + }); + + const off = addSocketListener(socket, 'error', listener); + off(); + + expect(socket.removeListener).toHaveBeenCalledTimes(1); + expect(socket.removeListener).toHaveBeenCalledWith('error', listener); + }); + + it('cleanup is a no-op when on() has neither off nor removeListener', () => { + const socket = stubSocket({ on: vi.fn() }); + const off = addSocketListener(socket, 'message', vi.fn()); + expect(off).not.toThrow(); + }); + + it('returns a no-op cleanup when the socket has no listener APIs', () => { + const off = addSocketListener(stubSocket(), 'open', vi.fn()); + expect(off).not.toThrow(); + }); +}); + +describe('unwrapMessagePayload', () => { + it('returns the data field from a JSON object envelope', () => { + expect(unwrapMessagePayload({ data: '{"ok":true}' })).toBe('{"ok":true}'); + expect(unwrapMessagePayload({ data: { text: 'hi' } })).toEqual({ text: 'hi' }); + expect(unwrapMessagePayload({ data: 0 })).toBe(0); + expect(unwrapMessagePayload({ data: undefined })).toBeUndefined(); + }); + + it('returns the original value when it is not a data envelope', () => { + expect(unwrapMessagePayload('raw-text')).toBe('raw-text'); + expect(unwrapMessagePayload(null)).toBeNull(); + expect(unwrapMessagePayload([{ data: 1 }])).toEqual([{ data: 1 }]); + expect(unwrapMessagePayload({ type: 'message' })).toEqual({ type: 'message' }); + }); +}); + +describe('unwrapEventPayload', () => { + it('returns the error field from a JSON object envelope', () => { + expect(unwrapEventPayload({ error: 'socket failed' })).toBe('socket failed'); + expect(unwrapEventPayload({ error: { message: 'boom' } })).toEqual({ message: 'boom' }); + expect(unwrapEventPayload({ error: undefined })).toBeUndefined(); + }); + + it('returns the original value when it is not an error envelope', () => { + expect(unwrapEventPayload('plain-error')).toBe('plain-error'); + expect(unwrapEventPayload(null)).toBeNull(); + expect(unwrapEventPayload([{ error: 1 }])).toEqual([{ error: 1 }]); + expect(unwrapEventPayload({ type: 'error' })).toEqual({ type: 'error' }); + }); +}); + +describe('rawToString', () => { + it('returns strings unchanged', () => { + expect(rawToString('{"echo":1}')).toBe('{"echo":1}'); + expect(rawToString('')).toBe(''); + }); + + it('decodes ArrayBuffer and ArrayBufferView payloads as UTF-8', () => { + const bytes = Uint8Array.from([0x68, 0x69]); + expect(rawToString(bytes.buffer)).toBe('hi'); + expect(rawToString(bytes)).toBe('hi'); + expect(rawToString(Buffer.from([0x68, 0x69]))).toBe('hi'); + expect(rawToString(new DataView(bytes.buffer))).toBe('hi'); + expect(rawToString(Uint8Array.from([0x21, 0x68, 0x69, 0x21]).subarray(1, 3))).toBe('hi'); + expect(rawToString(new ArrayBuffer(0))).toBe(''); + }); + + it('rejects Blob payloads that cannot be read synchronously', () => { + expect(() => rawToString(new Blob(['hi']))).toThrow( + 'Blob WebSocket messages are not supported synchronously', + ); + }); + + it('uses toString() on objects and String() on primitives', () => { + expect(rawToString({ toString: () => 'from-toString' })).toBe('from-toString'); + expect(rawToString([1, 2])).toBe('1,2'); + expect(rawToString({ a: 1 })).toBe('[object Object]'); + expect(rawToString(42)).toBe('42'); + expect(rawToString(false)).toBe('false'); + expect(rawToString(null)).toBe('null'); + expect(rawToString(undefined)).toBe('undefined'); + }); +}); + +describe('closeInfo', () => { + it('reads code and reason from a CloseEvent-like object', () => { + expect(closeInfo([{ code: 1000, reason: 'normal', wasClean: true }])).toEqual({ + code: 1000, + reason: 'normal', + }); + expect(closeInfo([{ code: 1001 }])).toEqual({ + code: 1001, + reason: undefined, + }); + expect(closeInfo([{ reason: 'going away' }])).toEqual({ + code: undefined, + reason: 'going away', + }); + expect(closeInfo([{ code: '1000', reason: 1 }])).toEqual({ + code: undefined, + reason: undefined, + }); + }); + + it('reads positional Node-style close arguments', () => { + expect(closeInfo([1006, 'abnormal'])).toEqual({ + code: 1006, + reason: 'abnormal', + }); + expect(closeInfo([1000])).toEqual({ + code: 1000, + reason: undefined, + }); + expect(closeInfo(['1000', 1])).toEqual({ + code: undefined, + reason: undefined, + }); + expect(closeInfo([])).toEqual({ + code: undefined, + reason: undefined, + }); + expect(closeInfo([[1000, 'nested']])).toEqual({ + code: undefined, + reason: undefined, + }); + }); +}); diff --git a/packages/sdk/tsconfig.json b/packages/sdk/tsconfig.json new file mode 100644 index 00000000..c06efc97 --- /dev/null +++ b/packages/sdk/tsconfig.json @@ -0,0 +1,16 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "module": "NodeNext", + "moduleResolution": "NodeNext", + "outDir": "./dist", + "rootDir": "./src", + "declaration": true, + "declarationMap": true, + "sourceMap": true, + "lib": ["ES2022", "DOM"], + "types": ["node"] + }, + "include": ["src/**/*"], + "exclude": ["node_modules", "dist"] +} diff --git a/packages/sqlite/package.json b/packages/sqlite/package.json new file mode 100644 index 00000000..17ac520d --- /dev/null +++ b/packages/sqlite/package.json @@ -0,0 +1,36 @@ +{ + "license": "SEE LICENSE IN LICENSE", + "name": "@snowluma/sqlite", + "version": "2.4.2", + "private": true, + "type": "module", + "description": "SnowLuma asynchronous SQLite facade, native loader and release assets.", + "main": "./src/index.ts", + "types": "./src/index.ts", + "exports": { + ".": { + "types": "./src/index.ts", + "default": "./src/index.ts" + }, + "./vite": { + "types": "./src/vite.ts", + "default": "./src/vite.ts" + } + }, + "scripts": { + "typecheck": "tsc --noEmit", + "test": "vitest run" + }, + "dependencies": { + "@appthreat/sqlite3": "9.1.0" + }, + "devDependencies": { + "@types/node": "catalog:", + "typescript": "catalog:", + "vite": "catalog:", + "vitest": "4.1.12" + }, + "engines": { + "node": "^24.22.1 || >=26.12.1" + } +} diff --git a/packages/sqlite/src/driver.ts b/packages/sqlite/src/driver.ts new file mode 100644 index 00000000..52b9e009 --- /dev/null +++ b/packages/sqlite/src/driver.ts @@ -0,0 +1,118 @@ +import path from 'node:path'; +import { + loadNative, + type BindValue, + type NativeDatabase, + type NativeStatement, + type Row, +} from './native'; + +export type { BindValue } from './native'; + +/** Promises adapt native completion callbacks; SQLite work stays on native workers. */ +export async function openDatabase(filename: string, readOnly: boolean): Promise { + if (process.permission && filename !== ':memory:') { + const file = path.resolve(filename); + const checks: ['fs.read' | 'fs.write', string][] = [['fs.read', file]]; + + if (!readOnly) { + checks.push(['fs.write', file], ['fs.write', path.dirname(file)]); + } + + for (const [scope, resource] of checks) { + if (!process.permission.has(scope, resource)) { + throw new Error(`SQLite permission denied: ${scope} ${resource}`); + } + } + } + + const binding = loadNative(); + const mode = + (readOnly ? binding.OPEN_READONLY : binding.OPEN_READWRITE | binding.OPEN_CREATE) | + binding.OPEN_FULLMUTEX; + return new Promise((resolve, reject) => { + new binding.Database(filename, mode, function (error) { + if (error) { + reject(error); + } else { + resolve(new Database(this)); + } + }); + }); +} + +export class Database { + constructor(private readonly native: NativeDatabase) {} + + exec(sql: string): Promise { + return new Promise((resolve, reject) => + this.native.exec(sql, (error) => (error ? reject(error) : resolve())), + ); + } + + prepare(sql: string): Promise { + const binding = loadNative(); + return new Promise((resolve, reject) => { + new binding.Statement(this.native, sql, function (error) { + if (error) { + reject(error); + } else { + resolve(new Statement(this)); + } + }); + }); + } + + close(): Promise { + return new Promise((resolve, reject) => + this.native.close((error) => (error ? reject(error) : resolve())), + ); + } +} + +export class Statement { + constructor(private readonly native: NativeStatement) {} + + run(parameters: BindValue[]): Promise<{ changes: number; lastIDBigInt: bigint }> { + return new Promise((resolve, reject) => + this.native.run(parameters, (error) => { + if (error) { + reject(error); + return; + } + + const { changes, lastIDBigInt } = this.native; + + if (changes === undefined || lastIDBigInt === undefined) { + reject(new Error('SQLite native run completed without its result metadata')); + } else { + resolve({ changes, lastIDBigInt }); + } + }), + ); + } + + get(parameters: BindValue[]): Promise { + return new Promise((resolve, reject) => + this.native.get(parameters, (error, row) => (error ? reject(error) : resolve(row))), + ); + } + + all(parameters: BindValue[]): Promise { + return new Promise((resolve, reject) => + this.native.all(parameters, (error, rows) => (error ? reject(error) : resolve(rows))), + ); + } + + reset(): Promise { + return new Promise((resolve, reject) => + this.native.reset((error) => (error ? reject(error) : resolve())), + ); + } + + finalize(): Promise { + return new Promise((resolve, reject) => + this.native.finalize((error) => (error ? reject(error) : resolve())), + ); + } +} diff --git a/packages/sqlite/src/index.ts b/packages/sqlite/src/index.ts new file mode 100644 index 00000000..0eaa0f8c --- /dev/null +++ b/packages/sqlite/src/index.ts @@ -0,0 +1,199 @@ +import { AsyncLocalStorage } from 'node:async_hooks'; +import { mkdir } from 'node:fs/promises'; +import path from 'node:path'; +import { openDatabase, type Database, type Statement, type BindValue } from './driver'; + +export type SqliteValue = BindValue; +export type SqliteRow = Record; +const MAX_PENDING_OPERATIONS = 2048; +const context = new AsyncLocalStorage<{ database: SqliteDatabase; active: boolean }>(); + +/** Owns one native asynchronous connection. Serialize whole store operations, + * not only statements, so unrelated calls cannot enter another call's transaction. + */ +export class SqliteDatabase { + readonly initialization: Promise; + private database: Database | null = null; + private tail: Promise; + private readonly statements = new Map(); + private pending = 0; + private shutdown: { task: Promise | null } | null = null; + + constructor( + filename: string, + options: { readOnly?: boolean; busyTimeout?: number; beforeOpen?: Promise } = {}, + ) { + this.initialization = (async () => { + await options.beforeOpen; + + if (!options.readOnly && filename !== ':memory:') { + await mkdir(path.dirname(filename), { recursive: true }); + } + + const database = await openDatabase(filename, options.readOnly ?? false); + this.database = database; + + try { + await database.exec(`PRAGMA busy_timeout = ${options.busyTimeout ?? 1000}`); + await database.exec('PRAGMA foreign_keys = ON'); + + if (!options.readOnly) { + await database.exec('PRAGMA journal_mode = WAL'); + await database.exec('PRAGMA synchronous = NORMAL'); + } + } catch (error) { + try { + await database.close(); + this.database = null; + } catch (closeError) { + throw new AggregateError( + [error, closeError], + 'SQLite initialization and cleanup failed', + { cause: error }, + ); + } + + throw error; + } + })(); + this.tail = this.initialization.catch(() => undefined); + } + + serial(operation: () => T | Promise): Promise { + const current = context.getStore(); + + if (current?.database === this && current.active) { + return Promise.resolve().then(operation); + } + + if (this.shutdown) { + return Promise.reject(new Error('SQLite database is closing')); + } + + if (this.pending >= MAX_PENDING_OPERATIONS) { + return Promise.reject(new Error('SQLite operation queue is full')); + } + + this.pending++; + const work = this.tail.then(async () => { + await this.initialization; + const scope = { database: this, active: true }; + + try { + return await context.run(scope, operation); + } finally { + scope.active = false; + } + }); + this.tail = work + .then( + () => undefined, + () => undefined, + ) + .finally(() => { + this.pending--; + }); + return work; + } + + prepare(sql: string): SqliteStatement { + return new SqliteStatement(this, sql); + } + + exec(sql: string): Promise { + return this.serial(() => this.database!.exec(sql)); + } + + /** Preparation and statement execution both happen in the driver's native workers. */ + execute(sql: string, operation: (statement: Statement) => Promise): Promise { + return this.serial(async () => { + let statement = this.statements.get(sql); + + if (!statement) { + statement = await this.database!.prepare(sql); + this.statements.set(sql, statement); + } + + try { + return await operation(statement); + } finally { + // get() may stop on SQLITE_ROW. Release its read snapshot before the + // next operation or another connection's commit causes BUSY_SNAPSHOT. + await statement.reset(); + } + }); + } + + close(): Promise { + const current = context.getStore(); + + if (current?.database === this && current.active) { + return Promise.reject(new Error('Cannot close SQLite from a serialized operation')); + } + + // Shutdown remains terminal for callers even if native cleanup needs a retry. + const shutdown = (this.shutdown ??= { task: null }); + + if (shutdown.task) { + return shutdown.task; + } + + shutdown.task = (async () => { + // The queue includes initialization and every accepted operation. + await this.tail; + + if (!this.database) { + return; + } + + const results = await Promise.allSettled( + [...this.statements.values()].map((statement) => statement.finalize()), + ); + this.statements.clear(); + const errors = results.flatMap((result) => + result.status === 'rejected' ? [result.reason] : [], + ); + + try { + await this.database.close(); + this.database = null; + } catch (error) { + errors.push(error); + } + + if (errors.length) { + throw new AggregateError(errors, 'SQLite close failed'); + } + })(); + void shutdown.task.catch(() => { + shutdown.task = null; + }); + return shutdown.task; + } +} + +/** A lazy SQL descriptor: creating it does not touch SQLite or block JavaScript. */ +export class SqliteStatement { + constructor( + private readonly database: SqliteDatabase, + readonly sourceSQL: string, + ) {} + + run(...values: SqliteValue[]): Promise<{ changes: number; lastInsertRowid: number | bigint }> { + const parameters = structuredClone(values); + return this.database.execute(this.sourceSQL, async (statement) => { + const result = await statement.run(parameters); + return { changes: result.changes, lastInsertRowid: result.lastIDBigInt }; + }); + } + + get(...values: SqliteValue[]): Promise { + const parameters = structuredClone(values); + return this.database.execute(this.sourceSQL, (statement) => statement.get(parameters)); + } + + all(...values: SqliteValue[]): Promise { + const parameters = structuredClone(values); + return this.database.execute(this.sourceSQL, (statement) => statement.all(parameters)); + } +} diff --git a/packages/sqlite/src/layout.ts b/packages/sqlite/src/layout.ts new file mode 100644 index 00000000..5ca646df --- /dev/null +++ b/packages/sqlite/src/layout.ts @@ -0,0 +1,52 @@ +// Upgrade these together with package.json, then rerun the native and bundle tests. +export const DRIVER_VERSION = '9.1.0'; +export const NATIVE_INTERFACE_VERSION = 1; +export const REQUIRED_NAPI_VERSION = 10; +export const RELEASE_PREBUILDS = './native/sqlite/prebuilds/'; + +export function prebuildFiles(target: string): string[] { + if (!/^(win32|linux|darwin)-(x64|arm64)$/.test(target)) { + throw new Error(`Unsupported SQLite target: ${target}`); + } + + return ( + target.startsWith('linux-') + ? ['@appthreat+sqlite3.glibc.node', '@appthreat+sqlite3.musl.node'] + : ['@appthreat+sqlite3.node'] + ).map((file) => `${target}/${file}`); +} + +export function runtimePrebuild(platform: string, arch: string, libc?: 'glibc' | 'musl'): string { + const target = `${platform}-${arch}`; + const files = prebuildFiles(target); + + if (platform !== 'linux') { + return files[0]; + } + + if (!libc) { + throw new Error('SQLite requires an explicit Linux libc selection'); + } + + return `${target}/@appthreat+sqlite3.${libc}.node`; +} + +export function assertRuntime(node: string, napi: string | undefined): void { + if (!(Number.parseInt(node, 10) >= 24) || !(Number(napi) >= REQUIRED_NAPI_VERSION)) { + throw new Error( + `SQLite requires Node >=24 and Node-API >=${REQUIRED_NAPI_VERSION}; got Node ${node}, Node-API ${napi ?? 'unavailable'}`, + ); + } +} + +export function runtimeLibc(report: object): 'glibc' | 'musl' { + if (!('header' in report) || !report.header || typeof report.header !== 'object') { + throw new Error('Cannot determine SQLite libc: Node diagnostic report has no header'); + } + + return 'glibcVersionRuntime' in report.header && + typeof report.header.glibcVersionRuntime === 'string' && + report.header.glibcVersionRuntime.length > 0 + ? 'glibc' + : 'musl'; +} diff --git a/packages/sqlite/src/native.ts b/packages/sqlite/src/native.ts new file mode 100644 index 00000000..1e5146d8 --- /dev/null +++ b/packages/sqlite/src/native.ts @@ -0,0 +1,128 @@ +import { EventEmitter } from 'node:events'; +import { createRequire } from 'node:module'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; +import { + assertRuntime, + NATIVE_INTERFACE_VERSION, + RELEASE_PREBUILDS, + runtimeLibc, + runtimePrebuild, +} from './layout'; + +// Only the callback ABI used by SnowLuma is exposed. No upstream JavaScript, +// convenience methods, synchronous SQL methods or node-gyp resolver are loaded. +export type BindValue = + | string + | number + | bigint + | boolean + | null + | undefined + | Uint8Array + | ArrayBuffer + | DataView + | Date + | RegExp; +export type Row = Record; +type Done = (error: Error | null) => void; + +export interface NativeDatabase { + exec(sql: string, callback: Done): void; + close(callback: Done): void; +} + +export interface NativeStatement { + run(parameters: BindValue[], callback: Done): void; + get( + parameters: BindValue[], + callback: (error: Error | null, row: Row | undefined) => void, + ): void; + all(parameters: BindValue[], callback: (error: Error | null, rows: Row[]) => void): void; + reset(callback: Done): void; + finalize(callback: Done): void; + readonly changes: number | undefined; + readonly lastIDBigInt: bigint | undefined; +} + +interface NativeBinding { + NATIVE_INTERFACE_VERSION: number; + OPEN_READONLY: number; + OPEN_READWRITE: number; + OPEN_CREATE: number; + OPEN_FULLMUTEX: number; + Database: new ( + filename: string, + mode: number, + callback: (this: NativeDatabase, error: Error | null) => void, + ) => NativeDatabase; + Statement: new ( + database: NativeDatabase, + sql: string, + callback: (this: NativeStatement, error: Error | null) => void, + ) => NativeStatement; +} + +function assertBinding(value: unknown): asserts value is NativeBinding { + if ( + !value || + typeof value !== 'object' || + !('NATIVE_INTERFACE_VERSION' in value) || + value.NATIVE_INTERFACE_VERSION !== NATIVE_INTERFACE_VERSION || + !('Database' in value) || + typeof value.Database !== 'function' || + !('Statement' in value) || + typeof value.Statement !== 'function' || + !('OPEN_READONLY' in value) || + value.OPEN_READONLY !== 1 || + !('OPEN_READWRITE' in value) || + value.OPEN_READWRITE !== 2 || + !('OPEN_CREATE' in value) || + value.OPEN_CREATE !== 4 || + !('OPEN_FULLMUTEX' in value) || + value.OPEN_FULLMUTEX !== 0x10000 + ) { + throw new Error( + `SQLite native interface mismatch; expected interface ${NATIVE_INTERFACE_VERSION}`, + ); + } +} + +declare const __SNOWLUMA_SQLITE_RELEASE__: boolean; +let binding: NativeBinding | undefined; + +export function loadNative(): NativeBinding { + if (binding) { + return binding; + } + + assertRuntime(process.versions.node, process.versions.napi); + const libc = process.platform === 'linux' ? runtimeLibc(process.report.getReport()) : undefined; + const file = runtimePrebuild(process.platform, process.arch, libc); + // Vite makes the release branch constant. A missing release binary must fail, + // never fall back to another install, the working directory or a local build. + const root = + typeof __SNOWLUMA_SQLITE_RELEASE__ !== 'undefined' && __SNOWLUMA_SQLITE_RELEASE__ + ? fileURLToPath(new URL(RELEASE_PREBUILDS, import.meta.url)) + : path.join( + path.dirname( + createRequire(import.meta.url).resolve('@appthreat/sqlite3/package.json'), + ), + 'prebuilds', + ); + const filename = path.join(root, file); + + try { + const module: { exports: unknown } = { exports: {} }; + process.dlopen(module, filename); + assertBinding(module.exports); + // The native constructors emit open/close/error events even when callbacks + // are supplied, and expect EventEmitter methods on their prototypes. + Object.assign(module.exports.Database.prototype, EventEmitter.prototype); + Object.assign(module.exports.Statement.prototype, EventEmitter.prototype); + binding = module.exports; + return binding; + } catch (cause) { + throw new Error(`Failed to load SQLite native addon: ${filename}`, { cause }); + } +} diff --git a/packages/sqlite/src/vite.ts b/packages/sqlite/src/vite.ts new file mode 100644 index 00000000..ec3c9dc9 --- /dev/null +++ b/packages/sqlite/src/vite.ts @@ -0,0 +1,68 @@ +import fs from 'node:fs'; +import { createRequire } from 'node:module'; +import path from 'node:path'; +import type { Plugin } from 'vite'; +import { DRIVER_VERSION, NATIVE_INTERFACE_VERSION, prebuildFiles } from './layout.ts'; + +/** Upstream is a locked prebuild source, never a runtime JS or installer dependency. */ +export function sqliteBuildPlugin(target: string): Plugin { + const require = createRequire(import.meta.url); + const driverRoot = path.dirname(require.resolve('@appthreat/sqlite3/package.json')); + const metadata: unknown = JSON.parse( + fs.readFileSync(path.join(driverRoot, 'package.json'), 'utf8'), + ); + + if ( + !metadata || + typeof metadata !== 'object' || + !('version' in metadata) || + metadata.version !== DRIVER_VERSION + ) { + throw new Error( + `SQLite prebuild version mismatch; expected @appthreat/sqlite3 ${DRIVER_VERSION}`, + ); + } + + const files = prebuildFiles(target).map((file) => `prebuilds/${file}`); + const assets = [ + ...files.map((file) => ({ file, source: path.join(driverRoot, file) })), + { file: 'LICENSE.sqlite3', source: path.join(driverRoot, 'LICENSE') }, + ]; + + for (const asset of assets) { + if (!fs.statSync(asset.source, { throwIfNoEntry: false })?.isFile()) { + throw new Error(`Missing SQLite release input for ${target}: ${asset.source}`); + } + } + + return { + name: 'snowluma-sqlite-prebuilds', + config: () => ({ define: { __SNOWLUMA_SQLITE_RELEASE__: 'true' } }), + generateBundle() { + for (const asset of assets) { + this.emitFile({ + type: 'asset', + fileName: `native/sqlite/${asset.file}`, + source: fs.readFileSync(asset.source), + }); + } + + this.emitFile({ + type: 'asset', + fileName: 'native/sqlite/manifest.json', + source: + JSON.stringify( + { + package: '@appthreat/sqlite3', + version: DRIVER_VERSION, + nativeInterface: NATIVE_INTERFACE_VERSION, + target, + files, + }, + null, + 2, + ) + '\n', + }); + }, + }; +} diff --git a/packages/sqlite/tests/build.test.ts b/packages/sqlite/tests/build.test.ts new file mode 100644 index 00000000..7ff8f8fb --- /dev/null +++ b/packages/sqlite/tests/build.test.ts @@ -0,0 +1,125 @@ +import { execFile } from 'node:child_process'; +import fs from 'node:fs/promises'; +import os from 'node:os'; +import path from 'node:path'; +import { isBuiltin } from 'node:module'; +import { promisify } from 'node:util'; +import { fileURLToPath } from 'node:url'; +import { expect, it } from 'vitest'; +import { build } from 'vite'; +import { sqliteBuildPlugin } from '../src/vite'; +import { prebuildFiles } from '../src/layout'; + +it('runs bundled SQLite from a release directory with no installed dependencies', async () => { + const directory = await fs.mkdtemp(path.join(os.tmpdir(), 'sqlite-release-')); + + try { + const target = `${process.platform}-${process.arch}`; + await build({ + configFile: false, + logLevel: 'silent', + plugins: [sqliteBuildPlugin(target)], + build: { + target: 'node24', + outDir: directory, + emptyOutDir: false, + minify: false, + lib: { + entry: fileURLToPath(new URL('../src/index.ts', import.meta.url)), + formats: ['es'], + fileName: () => 'database.mjs', + }, + rollupOptions: { + external: isBuiltin, + }, + }, + }); + const probe = path.join(directory, 'probe.mjs'); + await fs.writeFile( + probe, + ` + import { SqliteDatabase } from './database.mjs'; + const db = new SqliteDatabase(':memory:'); + await db.exec('CREATE TABLE records (value TEXT)'); + await db.prepare('INSERT INTO records VALUES (?)').run('packaged'); + const row = await db.prepare('SELECT value FROM records').get(); + await db.close(); + if (row.value !== 'packaged') throw new Error('packaged SQLite round trip failed'); + console.log('packaged SQLite ok'); + `, + ); + const { stdout } = await promisify(execFile)(process.execPath, [probe], { + cwd: os.tmpdir(), + }); + expect(stdout.trim()).toBe('packaged SQLite ok'); + const manifest = JSON.parse( + await fs.readFile(path.join(directory, 'native/sqlite/manifest.json'), 'utf8'), + ); + expect(manifest).toMatchObject({ + package: '@appthreat/sqlite3', + version: '9.1.0', + nativeInterface: 1, + target, + }); + const bundle = await fs.readFile(path.join(directory, 'database.mjs'), 'utf8'); + expect(bundle).not.toContain('node-gyp-build'); + expect(bundle).not.toContain("resolve('@appthreat/sqlite3/package.json')"); + + // Even with dependencies available in the caller's cwd, a broken release + // cannot silently load a development binary or a different local build. + for (const file of prebuildFiles(target)) { + await fs.unlink(path.join(directory, 'native/sqlite/prebuilds', file)); + } + + await expect( + promisify(execFile)(process.execPath, [probe], { cwd: process.cwd() }), + ).rejects.toMatchObject({ + stderr: expect.stringContaining('Failed to load SQLite native addon:'), + }); + } finally { + await fs.rm(directory, { recursive: true, force: true }); + } +}, 30_000); + +it.each(['win32-x64', 'win32-arm64', 'linux-x64', 'linux-arm64', 'darwin-x64', 'darwin-arm64'])( + 'packages %s using the same installed prebuild dependency', + async (target) => { + const result = await build({ + configFile: false, + logLevel: 'silent', + plugins: [sqliteBuildPlugin(target)], + build: { + target: 'node24', + write: false, + minify: false, + lib: { + entry: fileURLToPath(new URL('../src/index.ts', import.meta.url)), + formats: ['es'], + }, + rollupOptions: { external: isBuiltin }, + }, + }); + const bundle = Array.isArray(result) ? result[0] : result; + + if (!('output' in bundle)) { + throw new Error('Expected one release bundle'); + } + + const names = bundle.output.map((file) => file.fileName); + expect(names.filter((name) => name.endsWith('.node')).sort()).toEqual( + prebuildFiles(target) + .map((file) => `native/sqlite/prebuilds/${file}`) + .sort(), + ); + expect(names).toContain('native/sqlite/LICENSE.sqlite3'); + expect(names).toContain('native/sqlite/manifest.json'); + + for (const chunk of bundle.output) { + if (chunk.type === 'chunk') { + expect( + Object.keys(chunk.modules).some((file) => file.includes('/node_modules/')), + ).toBe(false); + } + } + }, +); diff --git a/packages/sqlite/tests/layout.test.ts b/packages/sqlite/tests/layout.test.ts new file mode 100644 index 00000000..1d8b4790 --- /dev/null +++ b/packages/sqlite/tests/layout.test.ts @@ -0,0 +1,24 @@ +import { expect, it } from 'vitest'; +import { assertRuntime, prebuildFiles, runtimeLibc, runtimePrebuild } from '../src/layout'; + +it('selects only the exact platform, architecture and libc binary', () => { + expect(runtimePrebuild('win32', 'arm64')).toBe('win32-arm64/@appthreat+sqlite3.node'); + expect(runtimePrebuild('darwin', 'x64')).toBe('darwin-x64/@appthreat+sqlite3.node'); + expect( + runtimePrebuild('linux', 'arm64', runtimeLibc({ header: { glibcVersionRuntime: '2.39' } })), + ).toBe('linux-arm64/@appthreat+sqlite3.glibc.node'); + expect(runtimePrebuild('linux', 'x64', runtimeLibc({ header: {} }))).toBe( + 'linux-x64/@appthreat+sqlite3.musl.node', + ); + expect(() => runtimePrebuild('linux', 'x64')).toThrow('libc'); + expect(() => prebuildFiles('linux-ia32')).toThrow('Unsupported SQLite target'); + expect(() => runtimeLibc({})).toThrow('diagnostic report'); +}); + +it('rejects incompatible runtimes before attempting to load a Node-API 10 binary', () => { + expect(() => assertRuntime('24.0.0', '10')).not.toThrow(); + expect(() => assertRuntime('26.0.0', '11')).not.toThrow(); + expect(() => assertRuntime('22.0.0', '10')).toThrow('Node >=24'); + expect(() => assertRuntime('24.0.0', '9')).toThrow('Node-API >=10'); + expect(() => assertRuntime('24.0.0', undefined)).toThrow('Node-API >=10'); +}); diff --git a/packages/sqlite/tests/sqlite.test.ts b/packages/sqlite/tests/sqlite.test.ts new file mode 100644 index 00000000..d77e43eb --- /dev/null +++ b/packages/sqlite/tests/sqlite.test.ts @@ -0,0 +1,240 @@ +import { mkdtemp, rm } from 'node:fs/promises'; +import os from 'node:os'; +import path from 'node:path'; +import { setImmediate as nextTurn, setTimeout as delay } from 'node:timers/promises'; +import { afterEach, expect, it, vi } from 'vitest'; +import { SqliteDatabase } from '../src/index'; +import { Database, Statement } from '../src/driver'; + +const directories: string[] = []; +afterEach(async () => { + for (const directory of directories.splice(0)) { + await rm(directory, { recursive: true, force: true }); + } +}); + +async function filename(): Promise { + const directory = await mkdtemp(path.join(os.tmpdir(), 'sqlite-async-')); + directories.push(directory); + return path.join(directory, 'test.db'); +} + +it('keeps the event loop responsive while SQLite waits for a write lock', async () => { + const file = await filename(); + const db = new SqliteDatabase(file, { busyTimeout: 0 }); + await db.exec('CREATE TABLE records (value INTEGER)'); + const locker = new SqliteDatabase(file); + await locker.exec('BEGIN IMMEDIATE'); + + try { + const insert = db.prepare('INSERT INTO records VALUES (?)'); + // Both connections must use the same SQLite library for in-process locks. + // Prove contention before checking whether waiting leaves timers responsive. + await expect(insert.run(7)).rejects.toMatchObject({ code: 'SQLITE_BUSY' }); + await db.exec('PRAGMA busy_timeout = 1000'); + let timerRan = false; + const release = delay(25).then(() => { + timerRan = true; + return locker.exec('ROLLBACK'); + }); + + try { + await Promise.all([ + insert.run(7).then(() => { + expect(timerRan).toBe(true); + }), + release, + ]); + expect(await db.prepare('SELECT value FROM records').get()).toEqual({ value: 7 }); + } finally { + await release; + } + } finally { + await locker.close(); + await db.close(); + } +}); + +it('releases a cached get cursor before a second connection commits', async () => { + const file = await filename(); + const first = new SqliteDatabase(file); + await first.exec('CREATE TABLE records (value INTEGER); INSERT INTO records VALUES (1)'); + const second = new SqliteDatabase(file); + + try { + const get = first.prepare('SELECT value FROM records ORDER BY value DESC'); + expect(await get.get()).toEqual({ value: 1 }); + await second.prepare('INSERT INTO records VALUES (?)').run(2); + await first.prepare('INSERT INTO records VALUES (?)').run(3); + expect(await get.get()).toEqual({ value: 3 }); + } finally { + await first.close(); + await second.close(); + } +}); + +it('keeps concurrent operations outside a transaction and drains accepted writes before close', async () => { + const db = new SqliteDatabase(await filename()); + await db.exec('CREATE TABLE records (value INTEGER)'); + let release!: () => void; + const gate = new Promise((resolve) => { + release = resolve; + }); + let entered!: () => void; + const started = new Promise((resolve) => { + entered = resolve; + }); + const transaction = db.serial(async () => { + await db.exec('BEGIN IMMEDIATE'); + await db.prepare('INSERT INTO records VALUES (?)').run(1); + entered(); + await gate; + await db.exec('ROLLBACK'); + }); + await started; + const write = db.prepare('INSERT INTO records VALUES (?)').run(2); + const read = db.prepare('SELECT value FROM records').all(); + const closing = db.close(); + await expect(db.exec('SELECT 1')).rejects.toThrow('closing'); + release(); + await transaction; + await write; + expect(await read).toEqual([{ value: 2 }]); + await closing; +}); + +it('preserves native errors, exact insert IDs and blob parameters through the callback facade', async () => { + const db = new SqliteDatabase(await filename()); + + try { + await db.exec('CREATE TABLE records (id INTEGER PRIMARY KEY, payload BLOB)'); + const insert = db.prepare('INSERT INTO records VALUES (?, ?)'); + const id = 9_007_199_254_740_993n; + const bytes = new Uint8Array([0, 127, 255]); + const pending = insert.run(id, bytes); + bytes.fill(42); + expect(await pending).toEqual({ changes: 1, lastInsertRowid: id }); + expect(await db.prepare('SELECT payload FROM records WHERE id = ?').get(id)).toEqual({ + payload: Buffer.from([0, 127, 255]), + }); + await expect(insert.run(id, null)).rejects.toMatchObject({ + code: 'SQLITE_CONSTRAINT_PRIMARYKEY', + }); + await expect(db.prepare('SELECT FROM invalid').get()).rejects.toMatchObject({ + code: 'SQLITE_ERROR', + }); + // Failed operations must release the connection queue and leave it usable. + expect(await db.prepare('SELECT count(*) AS count FROM records').get()).toEqual({ + count: 1, + }); + } finally { + await db.close(); + } +}); + +it('rejects failed opens and safely closes a partially initialized connection', async () => { + const db = new SqliteDatabase(await filename(), { readOnly: true }); + await expect(db.initialization).rejects.toMatchObject({ code: 'SQLITE_CANTOPEN' }); + await expect(db.prepare('SELECT 1').get()).rejects.toMatchObject({ code: 'SQLITE_CANTOPEN' }); + await db.close(); +}); + +it.each(['ready', 'failed'] as const)( + 'opens only after the previous owner is %s', + async (outcome) => { + const driver = await import('../src/driver'); + const open = vi.spyOn(driver, 'openDatabase'); + let resolve!: () => void; + let reject!: (error: Error) => void; + const beforeOpen = new Promise((yes, no) => { + resolve = yes; + reject = no; + }); + const db = new SqliteDatabase(':memory:', { beforeOpen }); + + try { + await nextTurn(); + expect(open).not.toHaveBeenCalled(); + + if (outcome === 'ready') { + resolve(); + await db.initialization; + expect(open).toHaveBeenCalledOnce(); + expect(await db.prepare('SELECT 1 AS value').get()).toEqual({ value: 1 }); + } else { + const failure = new Error('previous owner could not close'); + reject(failure); + await expect(db.initialization).rejects.toBe(failure); + await expect(db.exec('SELECT 1')).rejects.toBe(failure); + expect(open).not.toHaveBeenCalled(); + } + } finally { + resolve(); + await db.close(); + open.mockRestore(); + } + }, +); + +it('keeps writes rejected after a failed close while allowing cleanup to retry', async () => { + const db = new SqliteDatabase(':memory:'); + await db.initialization; + const close = vi + .spyOn(Database.prototype, 'close') + .mockRejectedValueOnce(new Error('close failed')); + + try { + await expect(db.close()).rejects.toThrow('SQLite close failed'); + await expect(db.exec('CREATE TABLE late_write (value INTEGER)')).rejects.toThrow('closing'); + const retry = db.close(); + expect(db.close()).toBe(retry); + await retry; + expect(close).toHaveBeenCalledTimes(2); + await expect(db.serial(() => 1)).rejects.toThrow('closing'); + } finally { + close.mockRestore(); + await db.close(); + } +}); + +it('does not accept work when connection close succeeds but statement cleanup reports an error', async () => { + const db = new SqliteDatabase(':memory:'); + await db.prepare('SELECT 1').get(); + const original = Statement.prototype.finalize; + const finalize = vi + .spyOn(Statement.prototype, 'finalize') + .mockImplementationOnce(async function (this: Statement) { + await original.call(this); + throw new Error('statement cleanup failed'); + }); + + try { + await expect(db.close()).rejects.toThrow('SQLite close failed'); + await expect(db.serial(() => 1)).rejects.toThrow('closing'); + await db.close(); + } finally { + finalize.mockRestore(); + await db.close(); + } +}); + +it('rejects close from inside its own serialized operation instead of waiting on itself', async () => { + const db = new SqliteDatabase(':memory:'); + + try { + await db.serial(async () => { + await expect( + Promise.race([ + db.close(), + nextTurn().then(() => { + throw new Error('close is waiting on its own operation'); + }), + ]), + ).rejects.toThrow('Cannot close SQLite from a serialized operation'); + await db.exec('CREATE TABLE records (value INTEGER)'); + }); + await db.prepare('INSERT INTO records VALUES (?)').run(1); + } finally { + await db.close(); + } +}); diff --git a/packages/sqlite/tsconfig.json b/packages/sqlite/tsconfig.json new file mode 100644 index 00000000..c7533245 --- /dev/null +++ b/packages/sqlite/tsconfig.json @@ -0,0 +1,6 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { "types": ["node"], "noEmit": true, "allowImportingTsExtensions": true }, + "include": ["src/**/*"], + "exclude": ["node_modules"] +} diff --git a/packages/sqlite/vitest.config.ts b/packages/sqlite/vitest.config.ts new file mode 100644 index 00000000..4c2468a3 --- /dev/null +++ b/packages/sqlite/vitest.config.ts @@ -0,0 +1,5 @@ +import { defineConfig } from 'vitest/config'; + +export default defineConfig({ + test: { include: ['tests/**/*.test.ts'], environment: 'node' }, +}); diff --git a/packages/ui/package.json b/packages/ui/package.json new file mode 100644 index 00000000..562e6d49 --- /dev/null +++ b/packages/ui/package.json @@ -0,0 +1,89 @@ +{ + "name": "@snowluma/ui", + "author": { + "name": "MotricSeven", + "email": "motricseven@gmail.com" + }, + "version": "2.4.2", + "description": "Shared SnowLuma UI primitives — Tailwind 4 theme tokens + shadcn-style atomic components", + "keywords": [ + "snowluma", + "ui", + "shadcn", + "tailwind", + "react" + ], + "homepage": "https://github.com/SnowLuma/SnowLuma#readme", + "bugs": { + "url": "https://github.com/SnowLuma/SnowLuma/issues" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/SnowLuma/SnowLuma.git", + "directory": "packages/ui" + }, + "license": "SEE LICENSE IN LICENSE", + "type": "module", + "sideEffects": [ + "**/*.css" + ], + "main": "./dist/index.js", + "types": "./dist/index.d.ts", + "exports": { + ".": { + "types": "./dist/index.d.ts", + "import": "./dist/index.js" + }, + "./styles/theme.css": "./src/styles/theme.css", + "./package.json": "./package.json" + }, + "files": [ + "dist", + "src/styles" + ], + "scripts": { + "clean": "node -e \"const fs = require('node:fs'); fs.rmSync('dist', { recursive: true, force: true })\"", + "prebuild": "pnpm run clean", + "build": "tsup", + "dev": "tsup --watch", + "prepack": "pnpm run build", + "typecheck": "tsc --noEmit" + }, + "publishConfig": { + "access": "public" + }, + "engines": { + "node": "^24.22.1 || >=26.12.1" + }, + "peerDependencies": { + "react": "^19.0.0", + "react-dom": "^19.0.0" + }, + "dependencies": { + "@radix-ui/react-alert-dialog": "^1.1.7", + "@radix-ui/react-checkbox": "^1.1.5", + "@radix-ui/react-dialog": "^1.1.7", + "@radix-ui/react-label": "^2.1.3", + "@radix-ui/react-popover": "^1.1.7", + "@radix-ui/react-scroll-area": "^1.2.4", + "@radix-ui/react-select": "^2.2.6", + "@radix-ui/react-separator": "^1.1.3", + "@radix-ui/react-slot": "^1.1.3", + "@radix-ui/react-switch": "^1.2.6", + "@radix-ui/react-tabs": "^1.1.13", + "@radix-ui/react-tooltip": "^1.1.9", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "lucide-react": "^0.469.0", + "sonner": "^2.0.6", + "tailwind-merge": "^3.5.0" + }, + "devDependencies": { + "@types/react": "^19.2.14", + "@types/react-dom": "^19.2.3", + "react": "^19.2.5", + "react-dom": "^19.2.5", + "tsup": "^8.5.0", + "typescript": "catalog:" + } +} diff --git a/packages/ui/src/components/alert-dialog.tsx b/packages/ui/src/components/alert-dialog.tsx new file mode 100644 index 00000000..1476bf7c --- /dev/null +++ b/packages/ui/src/components/alert-dialog.tsx @@ -0,0 +1,113 @@ +import * as React from 'react'; +import * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog'; +import { cn } from '../lib/cn'; +import { buttonVariants } from './button'; + +const AlertDialog = AlertDialogPrimitive.Root; +const AlertDialogTrigger = AlertDialogPrimitive.Trigger; +const AlertDialogPortal = AlertDialogPrimitive.Portal; + +const AlertDialogOverlay = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)); +AlertDialogOverlay.displayName = 'AlertDialogOverlay'; + +const AlertDialogContent = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + + + + +)); +AlertDialogContent.displayName = 'AlertDialogContent'; + +const AlertDialogHeader = ({ className, ...props }: React.HTMLAttributes) => ( +

    +); + +const AlertDialogFooter = ({ className, ...props }: React.HTMLAttributes) => ( +
    +); + +const AlertDialogTitle = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)); +AlertDialogTitle.displayName = 'AlertDialogTitle'; + +const AlertDialogDescription = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)); +AlertDialogDescription.displayName = 'AlertDialogDescription'; + +const AlertDialogAction = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)); +AlertDialogAction.displayName = 'AlertDialogAction'; + +const AlertDialogCancel = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)); +AlertDialogCancel.displayName = 'AlertDialogCancel'; + +export { + AlertDialog, + AlertDialogPortal, + AlertDialogOverlay, + AlertDialogTrigger, + AlertDialogContent, + AlertDialogHeader, + AlertDialogFooter, + AlertDialogTitle, + AlertDialogDescription, + AlertDialogAction, + AlertDialogCancel, +}; diff --git a/packages/ui/src/components/avatar.tsx b/packages/ui/src/components/avatar.tsx new file mode 100644 index 00000000..1d0a6d00 --- /dev/null +++ b/packages/ui/src/components/avatar.tsx @@ -0,0 +1,50 @@ +import * as React from 'react'; +import { cn } from '../lib/cn'; + +interface AvatarProps extends React.HTMLAttributes { + size?: number; +} + +const Avatar = React.forwardRef( + ({ className, size = 36, style, ...props }, ref) => ( +
    + ), +); +Avatar.displayName = 'Avatar'; + +const AvatarImage = React.forwardRef>( + ({ className, alt = '', ...props }, ref) => ( + {alt} + ), +); +AvatarImage.displayName = 'AvatarImage'; + +const AvatarFallback = React.forwardRef>( + ({ className, ...props }, ref) => ( + + ), +); +AvatarFallback.displayName = 'AvatarFallback'; + +export { Avatar, AvatarImage, AvatarFallback }; diff --git a/packages/ui/src/components/badge.tsx b/packages/ui/src/components/badge.tsx new file mode 100644 index 00000000..24484d9d --- /dev/null +++ b/packages/ui/src/components/badge.tsx @@ -0,0 +1,34 @@ +import * as React from 'react'; +import { cva, type VariantProps } from 'class-variance-authority'; +import { cn } from '../lib/cn'; + +export const badgeVariants = cva( + 'inline-flex items-center gap-1 rounded-full border px-2 py-0.5 text-[11px] font-medium leading-none transition-colors', + { + variants: { + variant: { + default: 'border-transparent bg-primary/15 text-primary', + secondary: 'border-transparent bg-secondary text-secondary-foreground', + destructive: 'border-transparent bg-destructive/15 text-destructive', + success: 'border-transparent bg-success/15 text-success', + warning: 'border-transparent bg-warning/15 text-warning', + info: 'border-transparent bg-info/15 text-info', + outline: 'border-border bg-card text-foreground', + soft: 'border-transparent bg-muted text-muted-foreground', + }, + size: { + default: 'px-2 py-0.5 text-[11px]', + sm: 'px-1.5 py-px text-[10px]', + lg: 'px-2.5 py-1 text-xs', + }, + }, + defaultVariants: { variant: 'default', size: 'default' }, + }, +); + +export interface BadgeProps + extends React.HTMLAttributes, VariantProps {} + +export function Badge({ className, variant, size, ...props }: BadgeProps) { + return ; +} diff --git a/packages/ui/src/components/button.tsx b/packages/ui/src/components/button.tsx new file mode 100644 index 00000000..cd771dce --- /dev/null +++ b/packages/ui/src/components/button.tsx @@ -0,0 +1,60 @@ +import * as React from 'react'; +import { Slot } from '@radix-ui/react-slot'; +import { cva, type VariantProps } from 'class-variance-authority'; +import { cn } from '../lib/cn'; + +export const buttonVariants = cva( + [ + 'inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-lg text-sm font-medium', + 'transition-[color,background-color,border-color,box-shadow,transform] duration-150 ease-out', + 'disabled:pointer-events-none disabled:opacity-50', + "[&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0", + 'outline-none focus-visible:ring-[3px] focus-visible:ring-ring/40 focus-visible:border-ring', + 'active:translate-y-px cursor-pointer', + ].join(' '), + { + variants: { + variant: { + default: + 'bg-primary text-primary-foreground shadow-sm hover:bg-primary/90 active:bg-primary/95', + destructive: + 'bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90 active:bg-destructive/95', + outline: + 'border border-border bg-card text-foreground shadow-xs hover:bg-accent hover:text-accent-foreground hover:border-border/80', + secondary: 'bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80', + ghost: 'text-foreground hover:bg-accent hover:text-accent-foreground', + link: 'text-primary underline-offset-4 hover:underline shadow-none', + success: 'bg-success text-success-foreground shadow-sm hover:bg-success/90', + warning: 'bg-warning text-warning-foreground shadow-sm hover:bg-warning/90', + }, + size: { + default: 'h-9 px-4 py-2', + sm: 'h-8 rounded-md px-3 text-xs', + lg: 'h-10 rounded-lg px-6', + icon: 'size-9 rounded-lg', + 'icon-sm': 'size-8 rounded-md', + 'icon-xs': 'size-7 rounded-md', + }, + }, + defaultVariants: { variant: 'default', size: 'default' }, + }, +); + +export interface ButtonProps + extends React.ButtonHTMLAttributes, VariantProps { + asChild?: boolean; +} + +export const Button = React.forwardRef( + ({ className, variant, size, asChild = false, ...props }, ref) => { + const Comp = asChild ? Slot : 'button'; + return ( + + ); + }, +); +Button.displayName = 'Button'; diff --git a/packages/ui/src/components/card.tsx b/packages/ui/src/components/card.tsx new file mode 100644 index 00000000..41580f2f --- /dev/null +++ b/packages/ui/src/components/card.tsx @@ -0,0 +1,61 @@ +import * as React from 'react'; +import { cn } from '../lib/cn'; + +const Card = React.forwardRef>( + ({ className, ...props }, ref) => ( +
    + ), +); +Card.displayName = 'Card'; + +const CardHeader = React.forwardRef>( + ({ className, ...props }, ref) => ( +
    + ), +); +CardHeader.displayName = 'CardHeader'; + +const CardTitle = React.forwardRef>( + ({ className, ...props }, ref) => ( +
    + ), +); +CardTitle.displayName = 'CardTitle'; + +const CardDescription = React.forwardRef>( + ({ className, ...props }, ref) => ( +
    + ), +); +CardDescription.displayName = 'CardDescription'; + +const CardContent = React.forwardRef>( + ({ className, ...props }, ref) => ( +
    + ), +); +CardContent.displayName = 'CardContent'; + +const CardFooter = React.forwardRef>( + ({ className, ...props }, ref) => ( +
    + ), +); +CardFooter.displayName = 'CardFooter'; + +export { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter }; diff --git a/packages/ui/src/components/checkbox.tsx b/packages/ui/src/components/checkbox.tsx new file mode 100644 index 00000000..240863bc --- /dev/null +++ b/packages/ui/src/components/checkbox.tsx @@ -0,0 +1,34 @@ +import * as React from 'react'; +import * as CheckboxPrimitive from '@radix-ui/react-checkbox'; +import { Check, Minus } from 'lucide-react'; +import { cn } from '../lib/cn'; + +const Checkbox = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + + + {props.checked === 'indeterminate' ? ( + + ) : ( + + )} + + +)); +Checkbox.displayName = 'Checkbox'; + +export { Checkbox }; diff --git a/packages/ui/src/components/dialog.tsx b/packages/ui/src/components/dialog.tsx new file mode 100644 index 00000000..a62be440 --- /dev/null +++ b/packages/ui/src/components/dialog.tsx @@ -0,0 +1,105 @@ +import * as React from 'react'; +import * as DialogPrimitive from '@radix-ui/react-dialog'; +import { X } from 'lucide-react'; +import { cn } from '../lib/cn'; + +const Dialog = DialogPrimitive.Root; +const DialogTrigger = DialogPrimitive.Trigger; +const DialogPortal = DialogPrimitive.Portal; +const DialogClose = DialogPrimitive.Close; + +const DialogOverlay = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)); +DialogOverlay.displayName = 'DialogOverlay'; + +const DialogContent = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef & { showClose?: boolean } +>(({ className, children, showClose = true, ...props }, ref) => ( + + + + {children} + {showClose && ( + + + Close + + )} + + +)); +DialogContent.displayName = 'DialogContent'; + +const DialogHeader = ({ className, ...props }: React.HTMLAttributes) => ( +
    +); + +const DialogFooter = ({ className, ...props }: React.HTMLAttributes) => ( +
    +); + +const DialogTitle = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)); +DialogTitle.displayName = 'DialogTitle'; + +const DialogDescription = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)); +DialogDescription.displayName = 'DialogDescription'; + +export { + Dialog, + DialogPortal, + DialogOverlay, + DialogTrigger, + DialogClose, + DialogContent, + DialogHeader, + DialogFooter, + DialogTitle, + DialogDescription, +}; diff --git a/packages/ui/src/components/empty-state.tsx b/packages/ui/src/components/empty-state.tsx new file mode 100644 index 00000000..3a7c30f8 --- /dev/null +++ b/packages/ui/src/components/empty-state.tsx @@ -0,0 +1,45 @@ +import * as React from 'react'; +import { cn } from '../lib/cn'; + +interface EmptyStateProps extends Omit, 'title'> { + icon?: React.ReactNode; + title: React.ReactNode; + description?: React.ReactNode; + action?: React.ReactNode; +} + +/** + * Generic "nothing here yet" placeholder. Used by Bot list, search-with-no- + * results, log filters that filtered everything out, etc. + */ +export function EmptyState({ + icon, + title, + description, + action, + className, + ...props +}: EmptyStateProps) { + return ( +
    + {icon && ( +
    + {icon} +
    + )} +
    +

    {title}

    + {description && ( +

    {description}

    + )} +
    + {action &&
    {action}
    } +
    + ); +} diff --git a/packages/ui/src/components/input.tsx b/packages/ui/src/components/input.tsx new file mode 100644 index 00000000..4d7fea47 --- /dev/null +++ b/packages/ui/src/components/input.tsx @@ -0,0 +1,25 @@ +import * as React from 'react'; +import { cn } from '../lib/cn'; + +const Input = React.forwardRef>( + ({ className, type, ...props }, ref) => ( + + ), +); +Input.displayName = 'Input'; + +export { Input }; diff --git a/packages/ui/src/components/kbd.tsx b/packages/ui/src/components/kbd.tsx new file mode 100644 index 00000000..b064a0ce --- /dev/null +++ b/packages/ui/src/components/kbd.tsx @@ -0,0 +1,17 @@ +import * as React from 'react'; +import { cn } from '../lib/cn'; + +/** Small inline keyboard-key label, e.g. `⌘K`. */ +export const Kbd = React.forwardRef>( + ({ className, ...props }, ref) => ( + + ), +); +Kbd.displayName = 'Kbd'; diff --git a/packages/ui/src/components/label.tsx b/packages/ui/src/components/label.tsx new file mode 100644 index 00000000..d3042c64 --- /dev/null +++ b/packages/ui/src/components/label.tsx @@ -0,0 +1,20 @@ +import * as React from 'react'; +import * as LabelPrimitive from '@radix-ui/react-label'; +import { cn } from '../lib/cn'; + +const Label = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)); +Label.displayName = 'Label'; + +export { Label }; diff --git a/packages/ui/src/components/popover.tsx b/packages/ui/src/components/popover.tsx new file mode 100644 index 00000000..0815e54b --- /dev/null +++ b/packages/ui/src/components/popover.tsx @@ -0,0 +1,31 @@ +import * as React from 'react'; +import * as PopoverPrimitive from '@radix-ui/react-popover'; +import { cn } from '../lib/cn'; + +const Popover = PopoverPrimitive.Root; +const PopoverTrigger = PopoverPrimitive.Trigger; +const PopoverAnchor = PopoverPrimitive.Anchor; + +const PopoverContent = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, align = 'center', sideOffset = 6, ...props }, ref) => ( + + + +)); +PopoverContent.displayName = 'PopoverContent'; + +export { Popover, PopoverTrigger, PopoverAnchor, PopoverContent }; diff --git a/packages/ui/src/components/progress.tsx b/packages/ui/src/components/progress.tsx new file mode 100644 index 00000000..1d60b590 --- /dev/null +++ b/packages/ui/src/components/progress.tsx @@ -0,0 +1,54 @@ +import * as React from 'react'; +import { cn } from '../lib/cn'; + +interface ProgressProps extends React.HTMLAttributes { + value?: number; + indicatorClassName?: string; + /** + * When true, the bar shows an animated marquee instead of a fixed + * width — useful when we know a job is running but don't yet know + * the total size (e.g. a download whose Content-Length is unknown). + */ + indeterminate?: boolean; +} + +const Progress = React.forwardRef( + ({ className, value = 0, indicatorClassName, indeterminate = false, ...props }, ref) => { + const clamped = Math.max(0, Math.min(100, value)); + return ( +
    + {indeterminate ? ( +
    + ) : ( +
    + )} +
    + ); + }, +); +Progress.displayName = 'Progress'; + +export { Progress }; diff --git a/packages/ui/src/components/scroll-area.tsx b/packages/ui/src/components/scroll-area.tsx new file mode 100644 index 00000000..32b72e05 --- /dev/null +++ b/packages/ui/src/components/scroll-area.tsx @@ -0,0 +1,51 @@ +import * as React from 'react'; +import * as ScrollAreaPrimitive from '@radix-ui/react-scroll-area'; +import { cn } from '../lib/cn'; + +interface ScrollAreaProps extends React.ComponentPropsWithoutRef { + viewportClassName?: string; +} + +const ScrollArea = React.forwardRef< + React.ElementRef, + ScrollAreaProps +>(({ className, children, viewportClassName, type = 'hover', ...props }, ref) => ( + + div]:!block', viewportClassName)} + > + {children} + + + + + +)); +ScrollArea.displayName = 'ScrollArea'; + +const ScrollBar = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, orientation = 'vertical', ...props }, ref) => ( + + + +)); +ScrollBar.displayName = 'ScrollBar'; + +export { ScrollArea, ScrollBar }; diff --git a/packages/ui/src/components/select.tsx b/packages/ui/src/components/select.tsx new file mode 100644 index 00000000..41b062e8 --- /dev/null +++ b/packages/ui/src/components/select.tsx @@ -0,0 +1,171 @@ +import * as React from 'react'; +import * as SelectPrimitive from '@radix-ui/react-select'; +import { Check, ChevronDown, ChevronUp } from 'lucide-react'; +import { cn } from '../lib/cn'; + +const Select = SelectPrimitive.Root; +const SelectGroup = SelectPrimitive.Group; +const SelectValue = SelectPrimitive.Value; + +const SelectTrigger = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, children, ...props }, ref) => ( + span:not([data-radix-select-icon])]:flex-1 [&>span:not([data-radix-select-icon])]:min-w-0 [&>span:not([data-radix-select-icon])]:truncate [&>span:not([data-radix-select-icon])]:text-left', + className, + )} + {...props} + > + {children} + + + + +)); +SelectTrigger.displayName = 'SelectTrigger'; + +const SelectScrollUpButton = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + + + +)); +SelectScrollUpButton.displayName = 'SelectScrollUpButton'; + +const SelectScrollDownButton = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + + + +)); +SelectScrollDownButton.displayName = 'SelectScrollDownButton'; + +const SelectContent = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, children, position = 'popper', ...props }, ref) => ( + + + + + {children} + + + + +)); +SelectContent.displayName = 'SelectContent'; + +const SelectLabel = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)); +SelectLabel.displayName = 'SelectLabel'; + +const SelectItem = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, children, ...props }, ref) => ( + + + + + + + {children} + +)); +SelectItem.displayName = 'SelectItem'; + +const SelectSeparator = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)); +SelectSeparator.displayName = 'SelectSeparator'; + +export { + Select, + SelectGroup, + SelectValue, + SelectTrigger, + SelectContent, + SelectLabel, + SelectItem, + SelectSeparator, + SelectScrollUpButton, + SelectScrollDownButton, +}; diff --git a/packages/ui/src/components/separator.tsx b/packages/ui/src/components/separator.tsx new file mode 100644 index 00000000..9ac022ea --- /dev/null +++ b/packages/ui/src/components/separator.tsx @@ -0,0 +1,23 @@ +import * as React from 'react'; +import * as SeparatorPrimitive from '@radix-ui/react-separator'; +import { cn } from '../lib/cn'; + +const Separator = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, orientation = 'horizontal', decorative = true, ...props }, ref) => ( + +)); +Separator.displayName = 'Separator'; + +export { Separator }; diff --git a/packages/ui/src/components/sheet.tsx b/packages/ui/src/components/sheet.tsx new file mode 100644 index 00000000..a62b35e1 --- /dev/null +++ b/packages/ui/src/components/sheet.tsx @@ -0,0 +1,72 @@ +import * as React from 'react'; +import * as DialogPrimitive from '@radix-ui/react-dialog'; +import { X } from 'lucide-react'; +import { cva, type VariantProps } from 'class-variance-authority'; +import { cn } from '../lib/cn'; + +const Sheet = DialogPrimitive.Root; +const SheetTrigger = DialogPrimitive.Trigger; +const SheetClose = DialogPrimitive.Close; +const SheetPortal = DialogPrimitive.Portal; + +const SheetOverlay = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)); +SheetOverlay.displayName = 'SheetOverlay'; + +const sheetVariants = cva( + 'fixed z-50 gap-4 bg-card p-0 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500 outline-none', + { + variants: { + side: { + top: 'inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top', + bottom: 'inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom', + left: 'inset-y-0 left-0 h-full w-3/4 max-w-xs border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm', + right: 'inset-y-0 right-0 h-full w-3/4 max-w-xs border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm', + }, + }, + defaultVariants: { side: 'right' }, + }, +); + +interface SheetContentProps + extends + React.ComponentPropsWithoutRef, + VariantProps { + showClose?: boolean; +} + +const SheetContent = React.forwardRef< + React.ElementRef, + SheetContentProps +>(({ side = 'right', className, children, showClose = true, ...props }, ref) => ( + + + + {children} + {showClose && ( + + + Close + + )} + + +)); +SheetContent.displayName = 'SheetContent'; + +export { Sheet, SheetTrigger, SheetClose, SheetContent, SheetPortal, SheetOverlay }; diff --git a/packages/ui/src/components/skeleton.tsx b/packages/ui/src/components/skeleton.tsx new file mode 100644 index 00000000..066e1c75 --- /dev/null +++ b/packages/ui/src/components/skeleton.tsx @@ -0,0 +1,6 @@ +import * as React from 'react'; +import { cn } from '../lib/cn'; + +export function Skeleton({ className, ...props }: React.HTMLAttributes) { + return
    ; +} diff --git a/packages/ui/src/components/status-dot.tsx b/packages/ui/src/components/status-dot.tsx new file mode 100644 index 00000000..2d0afcda --- /dev/null +++ b/packages/ui/src/components/status-dot.tsx @@ -0,0 +1,49 @@ +import * as React from 'react'; +import { cva, type VariantProps } from 'class-variance-authority'; +import { cn } from '../lib/cn'; + +/** + * A semantic colored status dot — drop-in replacement for ad-hoc emoji + * (🟢 / 🟡 / 🔴) so we keep visual rhythm with the rest of the Lucide + * iconography. `pulse` adds a soft halo for the "active" state. + */ +const dotVariants = cva('inline-block shrink-0 rounded-full', { + variants: { + tone: { + success: 'bg-success', + warning: 'bg-warning', + destructive: 'bg-destructive', + info: 'bg-info', + muted: 'bg-muted-foreground/50', + primary: 'bg-primary', + }, + size: { + xs: 'size-1.5', + sm: 'size-2', + md: 'size-2.5', + lg: 'size-3', + }, + }, + defaultVariants: { tone: 'muted', size: 'sm' }, +}); + +export interface StatusDotProps + extends React.HTMLAttributes, VariantProps { + pulse?: boolean; +} + +export function StatusDot({ className, tone, size, pulse, ...props }: StatusDotProps) { + return ( + + + + ); +} diff --git a/packages/ui/src/components/switch.tsx b/packages/ui/src/components/switch.tsx new file mode 100644 index 00000000..3a8c3b5e --- /dev/null +++ b/packages/ui/src/components/switch.tsx @@ -0,0 +1,35 @@ +import * as React from 'react'; +import * as SwitchPrimitive from '@radix-ui/react-switch'; +import { cn } from '../lib/cn'; + +const Switch = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + + + +)); +Switch.displayName = 'Switch'; + +export { Switch }; diff --git a/packages/ui/src/components/tabs.tsx b/packages/ui/src/components/tabs.tsx new file mode 100644 index 00000000..29a86f1f --- /dev/null +++ b/packages/ui/src/components/tabs.tsx @@ -0,0 +1,48 @@ +import * as React from 'react'; +import * as TabsPrimitive from '@radix-ui/react-tabs'; +import { cn } from '../lib/cn'; + +const Tabs = TabsPrimitive.Root; + +const TabsList = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)); +TabsList.displayName = 'TabsList'; + +const TabsTrigger = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)); +TabsTrigger.displayName = 'TabsTrigger'; + +const TabsContent = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, ...props }, ref) => ( + +)); +TabsContent.displayName = 'TabsContent'; + +export { Tabs, TabsList, TabsTrigger, TabsContent }; diff --git a/packages/ui/src/components/toaster.tsx b/packages/ui/src/components/toaster.tsx new file mode 100644 index 00000000..ae0f6bdb --- /dev/null +++ b/packages/ui/src/components/toaster.tsx @@ -0,0 +1,30 @@ +import { Toaster as Sonner, toast, type ToasterProps } from 'sonner'; + +/** + * SnowLuma-themed toaster. Uses the Tailwind `--*-foreground / --background` + * tokens defined in `@snowluma/ui/styles/theme.css` so toasts match the + * surrounding chrome in both light and dark mode. + */ +export function Toaster(props: ToasterProps) { + return ( + + ); +} + +export { toast }; +export type { ToasterProps }; diff --git a/packages/ui/src/components/tooltip.tsx b/packages/ui/src/components/tooltip.tsx new file mode 100644 index 00000000..7207a9b5 --- /dev/null +++ b/packages/ui/src/components/tooltip.tsx @@ -0,0 +1,29 @@ +import * as React from 'react'; +import * as TooltipPrimitive from '@radix-ui/react-tooltip'; +import { cn } from '../lib/cn'; + +const TooltipProvider = TooltipPrimitive.Provider; +const Tooltip = TooltipPrimitive.Root; +const TooltipTrigger = TooltipPrimitive.Trigger; + +const TooltipContent = React.forwardRef< + React.ElementRef, + React.ComponentPropsWithoutRef +>(({ className, sideOffset = 6, ...props }, ref) => ( + + + +)); +TooltipContent.displayName = 'TooltipContent'; + +export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }; diff --git a/packages/ui/src/index.ts b/packages/ui/src/index.ts new file mode 100644 index 00000000..e3cc1f95 --- /dev/null +++ b/packages/ui/src/index.ts @@ -0,0 +1,72 @@ +export { cn } from './lib/cn'; +export { Button, buttonVariants, type ButtonProps } from './components/button'; +export { + AlertDialog, + AlertDialogPortal, + AlertDialogOverlay, + AlertDialogTrigger, + AlertDialogContent, + AlertDialogHeader, + AlertDialogFooter, + AlertDialogTitle, + AlertDialogDescription, + AlertDialogAction, + AlertDialogCancel, +} from './components/alert-dialog'; +export { Avatar, AvatarImage, AvatarFallback } from './components/avatar'; +export { Badge, badgeVariants, type BadgeProps } from './components/badge'; +export { + Card, + CardHeader, + CardTitle, + CardDescription, + CardContent, + CardFooter, +} from './components/card'; +export { Checkbox } from './components/checkbox'; +export { + Dialog, + DialogPortal, + DialogOverlay, + DialogTrigger, + DialogClose, + DialogContent, + DialogHeader, + DialogFooter, + DialogTitle, + DialogDescription, +} from './components/dialog'; +export { Input } from './components/input'; +export { Label } from './components/label'; +export { Progress } from './components/progress'; +export { ScrollArea, ScrollBar } from './components/scroll-area'; +export { + Select, + SelectGroup, + SelectValue, + SelectTrigger, + SelectContent, + SelectLabel, + SelectItem, + SelectSeparator, + SelectScrollUpButton, + SelectScrollDownButton, +} from './components/select'; +export { Separator } from './components/separator'; +export { + Sheet, + SheetTrigger, + SheetClose, + SheetContent, + SheetPortal, + SheetOverlay, +} from './components/sheet'; +export { Skeleton } from './components/skeleton'; +export { Switch } from './components/switch'; +export { Tabs, TabsList, TabsTrigger, TabsContent } from './components/tabs'; +export { Toaster, toast, type ToasterProps } from './components/toaster'; +export { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider } from './components/tooltip'; +export { Popover, PopoverTrigger, PopoverAnchor, PopoverContent } from './components/popover'; +export { Kbd } from './components/kbd'; +export { StatusDot, type StatusDotProps } from './components/status-dot'; +export { EmptyState } from './components/empty-state'; diff --git a/packages/ui/src/lib/cn.ts b/packages/ui/src/lib/cn.ts new file mode 100644 index 00000000..6c5c2752 --- /dev/null +++ b/packages/ui/src/lib/cn.ts @@ -0,0 +1,6 @@ +import { clsx, type ClassValue } from 'clsx'; +import { twMerge } from 'tailwind-merge'; + +export function cn(...inputs: ClassValue[]): string { + return twMerge(clsx(inputs)); +} diff --git a/packages/ui/src/styles/theme.css b/packages/ui/src/styles/theme.css new file mode 100644 index 00000000..608b8b96 --- /dev/null +++ b/packages/ui/src/styles/theme.css @@ -0,0 +1,259 @@ +/** + * @snowluma/ui — Tailwind 4 theme tokens. + * + * Consumer setup: + * @import "tailwindcss"; + * @import "tw-animate-css"; + * @import "@snowluma/ui/styles/theme.css"; + * @source "../node_modules/@snowluma/ui/dist/**\/*.js"; + */ + +@custom-variant dark (&:where(.dark, .dark *)); + +:root { + /* Surface ramp — light mode: near-white surfaces over a faint blue base. */ + --radius: 0.625rem; + + --background: oklch(99% 0.004 240); + --foreground: oklch(20% 0.03 250); + + --card: oklch(100% 0 0); + --card-foreground: oklch(20% 0.03 250); + + --popover: oklch(100% 0 0); + --popover-foreground: oklch(20% 0.03 250); + + /* sky accent ramp */ + --primary: oklch(64% 0.16 230); + --primary-foreground: oklch(99% 0.005 240); + + --secondary: oklch(96.5% 0.012 240); + --secondary-foreground: oklch(22% 0.03 250); + + --muted: oklch(96.5% 0.012 240); + --muted-foreground: oklch(48% 0.02 250); + + --accent: oklch(94% 0.04 230); + --accent-foreground: oklch(28% 0.08 230); + + --destructive: oklch(58% 0.22 27); + --destructive-foreground: oklch(99% 0.005 240); + + --success: oklch(64% 0.16 155); + --success-foreground: oklch(99% 0.005 240); + + --warning: oklch(76% 0.16 75); + --warning-foreground: oklch(20% 0.05 75); + + --info: oklch(64% 0.16 230); + --info-foreground: oklch(99% 0.005 240); + + --border: oklch(91% 0.012 240); + --input: oklch(94% 0.012 240); + --ring: oklch(64% 0.16 230); + + --sidebar: oklch(98% 0.006 240); + --sidebar-foreground: oklch(25% 0.03 250); + --sidebar-primary: oklch(64% 0.16 230); + --sidebar-primary-foreground: oklch(99% 0.005 240); + --sidebar-accent: oklch(94% 0.03 230); + --sidebar-accent-foreground: oklch(28% 0.08 230); + --sidebar-border: oklch(91% 0.012 240); + --sidebar-ring: oklch(64% 0.16 230); + + --chrome-height: 3.25rem; /* 52px — uniform top-bar height */ + --titlebar-height: 2rem; /* 32px — Windows native titlebar height */ + + --shadow-color: 240 6% 10%; + --shadow-xs: 0 1px 2px 0 hsl(var(--shadow-color) / 0.05); + --shadow-sm: 0 1px 3px 0 hsl(var(--shadow-color) / 0.08), 0 1px 2px -1px hsl(var(--shadow-color) / 0.06); + --shadow-md: 0 4px 6px -1px hsl(var(--shadow-color) / 0.08), 0 2px 4px -2px hsl(var(--shadow-color) / 0.04); + --shadow-lg: 0 10px 16px -3px hsl(var(--shadow-color) / 0.10), 0 4px 6px -4px hsl(var(--shadow-color) / 0.05); + --shadow-xl: 0 20px 28px -8px hsl(var(--shadow-color) / 0.14); +} + +.dark { + --background: oklch(13% 0.02 250); + --foreground: oklch(96% 0.012 240); + + --card: oklch(17% 0.022 250); + --card-foreground: oklch(96% 0.012 240); + + --popover: oklch(20% 0.025 250); + --popover-foreground: oklch(96% 0.012 240); + + --primary: oklch(72% 0.16 230); + --primary-foreground: oklch(12% 0.025 250); + + --secondary: oklch(22% 0.025 250); + --secondary-foreground: oklch(94% 0.012 240); + + --muted: oklch(20% 0.022 250); + --muted-foreground: oklch(72% 0.02 240); + + --accent: oklch(30% 0.06 230); + --accent-foreground: oklch(88% 0.12 230); + + --destructive: oklch(66% 0.22 27); + --destructive-foreground: oklch(98% 0.005 240); + + --success: oklch(70% 0.16 155); + --success-foreground: oklch(12% 0.025 250); + + --warning: oklch(80% 0.16 75); + --warning-foreground: oklch(20% 0.05 75); + + --info: oklch(72% 0.16 230); + --info-foreground: oklch(12% 0.025 250); + + --border: oklch(28% 0.025 250); + --input: oklch(26% 0.025 250); + --ring: oklch(72% 0.16 230); + + --sidebar: oklch(15% 0.022 250); + --sidebar-foreground: oklch(92% 0.012 240); + --sidebar-primary: oklch(72% 0.16 230); + --sidebar-primary-foreground: oklch(12% 0.025 250); + --sidebar-accent: oklch(28% 0.06 230); + --sidebar-accent-foreground: oklch(88% 0.12 230); + --sidebar-border: oklch(24% 0.025 250); + --sidebar-ring: oklch(72% 0.16 230); + + --shadow-color: 240 14% 4%; + --shadow-xs: 0 1px 2px 0 hsl(var(--shadow-color) / 0.30); + --shadow-sm: 0 1px 3px 0 hsl(var(--shadow-color) / 0.36), 0 1px 2px -1px hsl(var(--shadow-color) / 0.28); + --shadow-md: 0 4px 6px -1px hsl(var(--shadow-color) / 0.40), 0 2px 4px -2px hsl(var(--shadow-color) / 0.28); + --shadow-lg: 0 10px 16px -3px hsl(var(--shadow-color) / 0.50), 0 4px 6px -4px hsl(var(--shadow-color) / 0.32); + --shadow-xl: 0 20px 28px -8px hsl(var(--shadow-color) / 0.55); +} + +@theme inline { + --color-background: var(--background); + --color-foreground: var(--foreground); + --color-card: var(--card); + --color-card-foreground: var(--card-foreground); + --color-popover: var(--popover); + --color-popover-foreground: var(--popover-foreground); + --color-primary: var(--primary); + --color-primary-foreground: var(--primary-foreground); + --color-secondary: var(--secondary); + --color-secondary-foreground: var(--secondary-foreground); + --color-muted: var(--muted); + --color-muted-foreground: var(--muted-foreground); + --color-accent: var(--accent); + --color-accent-foreground: var(--accent-foreground); + --color-destructive: var(--destructive); + --color-destructive-foreground: var(--destructive-foreground); + --color-success: var(--success); + --color-success-foreground: var(--success-foreground); + --color-warning: var(--warning); + --color-warning-foreground: var(--warning-foreground); + --color-info: var(--info); + --color-info-foreground: var(--info-foreground); + --color-border: var(--border); + --color-input: var(--input); + --color-ring: var(--ring); + --color-sidebar: var(--sidebar); + --color-sidebar-foreground: var(--sidebar-foreground); + --color-sidebar-primary: var(--sidebar-primary); + --color-sidebar-primary-foreground: var(--sidebar-primary-foreground); + --color-sidebar-accent: var(--sidebar-accent); + --color-sidebar-accent-foreground: var(--sidebar-accent-foreground); + --color-sidebar-border: var(--sidebar-border); + --color-sidebar-ring: var(--sidebar-ring); + + --radius-xs: calc(var(--radius) - 6px); + --radius-sm: calc(var(--radius) - 4px); + --radius-md: calc(var(--radius) - 2px); + --radius-lg: var(--radius); + --radius-xl: calc(var(--radius) + 4px); + --radius-2xl: calc(var(--radius) + 8px); + --radius-3xl: calc(var(--radius) + 16px); + + --shadow-xs: var(--shadow-xs); + --shadow-sm: var(--shadow-sm); + --shadow-md: var(--shadow-md); + --shadow-lg: var(--shadow-lg); + --shadow-xl: var(--shadow-xl); + + --font-sans: 'Inter', 'Noto Sans SC', system-ui, -apple-system, sans-serif; + --font-mono: 'JetBrains Mono', 'Fira Code', ui-monospace, monospace; +} + +@layer base { + * { + border-color: var(--border); + } + html, body, #root { + height: 100%; + } + body { + margin: 0; + background-color: var(--background); + color: var(--foreground); + font-family: var(--font-sans); + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + line-height: 1.5; + overflow: hidden; /* desktop chrome: no body scroll, panels manage their own */ + } + ::selection { + background-color: color-mix(in oklab, var(--primary) 28%, transparent); + color: var(--foreground); + } + + *::-webkit-scrollbar { + width: 10px; + height: 10px; + } + *::-webkit-scrollbar-track { + background: transparent; + } + *::-webkit-scrollbar-thumb { + background-color: color-mix(in oklab, var(--muted-foreground) 35%, transparent); + border-radius: 9999px; + border: 2px solid transparent; + background-clip: content-box; + } + *::-webkit-scrollbar-thumb:hover { + background-color: color-mix(in oklab, var(--muted-foreground) 55%, transparent); + background-clip: content-box; + } + + html[data-density="compact"] body { + font-size: 13.5px; + line-height: 1.45; + } +} + +@layer utilities { + .hover-lift { + transition: transform 180ms cubic-bezier(0.22, 1, 0.36, 1), + box-shadow 220ms cubic-bezier(0.22, 1, 0.36, 1); + } + .hover-lift:hover { + transform: translateY(-1px); + box-shadow: var(--shadow-md); + } + .surface-gloss { + background-image: linear-gradient( + 180deg, + color-mix(in oklab, var(--foreground) 3%, transparent) 0%, + transparent 80% + ); + } + .surface-glass { + background-color: color-mix(in oklab, var(--popover) 92%, transparent); + backdrop-filter: saturate(180%) blur(12px); + -webkit-backdrop-filter: saturate(180%) blur(12px); + } +} + +@keyframes progress-marquee { + 0% { + transform: translateX(-100%); + } + 100% { + transform: translateX(400%); + } +} diff --git a/packages/ui/tsconfig.json b/packages/ui/tsconfig.json new file mode 100644 index 00000000..8b69c957 --- /dev/null +++ b/packages/ui/tsconfig.json @@ -0,0 +1,16 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "./dist", + "rootDir": "./src", + "declaration": true, + "declarationMap": true, + "sourceMap": true, + "jsx": "react-jsx", + "lib": ["ES2022", "DOM", "DOM.Iterable"], + "types": ["react", "react-dom"], + "ignoreDeprecations": "6.0" + }, + "include": ["src/**/*"], + "exclude": ["node_modules", "dist"] +} diff --git a/packages/ui/tsup.config.ts b/packages/ui/tsup.config.ts new file mode 100644 index 00000000..06033b51 --- /dev/null +++ b/packages/ui/tsup.config.ts @@ -0,0 +1,12 @@ +import { defineConfig } from 'tsup'; + +export default defineConfig({ + entry: ['src/index.ts'], + format: ['esm'], + dts: true, + sourcemap: true, + clean: true, + external: ['react', 'react-dom'], + target: 'es2022', + treeshake: true, +}); diff --git a/packages/websocket/package.json b/packages/websocket/package.json new file mode 100644 index 00000000..66760461 --- /dev/null +++ b/packages/websocket/package.json @@ -0,0 +1,28 @@ +{ + "license": "SEE LICENSE IN LICENSE", + "name": "@snowluma/websocket", + "version": "2.4.2", + "private": true, + "type": "module", + "main": "./src/index.ts", + "types": "./src/index.ts", + "exports": { + ".": { + "types": "./src/index.ts", + "default": "./src/index.ts" + } + }, + "description": "SnowLuma in-tree WebSocket implementation. Loads packages/runtime/native/websocket--.node via process.dlopen().", + "scripts": { + "test": "vitest run", + "typecheck": "tsc --noEmit" + }, + "devDependencies": { + "@types/node": "catalog:", + "typescript": "catalog:", + "vitest": "4.1.12" + }, + "engines": { + "node": "^24.22.1 || >=26.12.1" + } +} diff --git a/packages/websocket/src/client.ts b/packages/websocket/src/client.ts new file mode 100644 index 00000000..6d23a32f --- /dev/null +++ b/packages/websocket/src/client.ts @@ -0,0 +1,407 @@ +import { EventEmitter } from 'node:events'; +import net from 'node:net'; +import tls from 'node:tls'; +import crypto from 'node:crypto'; +import { URL } from 'node:url'; +import type { Socket } from 'node:net'; +import native from './native'; +import { + type AcceptedPerMessageDeflate, + type PerMessageDeflateConfig, + offerPerMessageDeflate, + parseAcceptedPerMessageDeflate, +} from './extensions'; +import { + WebSocket as InternalWebSocket, + CONNECTING, + OPEN, + CLOSING, + CLOSED, + isValidCloseCode, + type SendCallback, + type SendOptions, +} from './websocket'; + +interface ParsedHandshakeResponse { + statusCode: number; + statusMessage: string; + headers: Record; +} + +function parseHeaders(headerBlock: string): ParsedHandshakeResponse { + const lines = headerBlock.split('\r\n'); + const status = lines.shift() as string; + const m = /^HTTP\/1\.1\s+(\d+)\s*(.*)$/.exec(status); + + if (!m) { + throw new Error('Bad HTTP status line: ' + status); + } + + const headers: Record = Object.create(null); + + for (const line of lines) { + if (!line) { + continue; + } + + const idx = line.indexOf(':'); + + if (idx < 0) { + continue; + } + + const k = line.slice(0, idx).trim().toLowerCase(); + const v = line.slice(idx + 1).trim(); + headers[k] = v; + } + + return { statusCode: Number(m[1]), statusMessage: m[2] ?? '', headers }; +} + +export interface WebSocketClientOptions { + maxPayload?: number; + perMessageDeflate?: boolean | PerMessageDeflateConfig; + headers?: Record; + socketOptions?: net.NetConnectOpts | tls.ConnectionOptions; + // Convenience: any TLS option also accepted at top-level (mirrors the `ws` API). + [key: string]: unknown; +} + +export class WebSocketClient extends EventEmitter { + static readonly CONNECTING = 0; + static readonly OPEN = 1; + static readonly CLOSING = 2; + static readonly CLOSED = 3; + static Server: unknown; + + private readonly _url: URL; + private readonly _secure: boolean; + private _readyState: number; + private readonly _maxPayload: number | undefined; + private _ws: InternalWebSocket | null = null; + private _pendingQueue: Array<{ + data: Parameters[0]; + options?: SendOptions; + cb?: SendCallback; + }> = []; + private readonly _perMessageDeflate: boolean | PerMessageDeflateConfig | undefined; + private readonly _protocols: string[] | undefined; + public protocol = ''; + public extensions = ''; + + private readonly _socket: Socket; + private _handshakeBuf: Buffer = Buffer.alloc(0); + private _wsKey: string; + private _expectedAccept: string; + + constructor( + address: string, + protocols?: string | string[] | WebSocketClientOptions, + options?: WebSocketClientOptions, + ) { + super(); + + if (typeof protocols === 'object' && !Array.isArray(protocols) && protocols !== null) { + options = protocols as WebSocketClientOptions; + protocols = undefined; + } + + options = options || {}; + this._url = new URL(address); + + if (this._url.protocol !== 'ws:' && this._url.protocol !== 'wss:') { + throw new Error('Only ws: and wss: URLs are supported'); + } + + this._secure = this._url.protocol === 'wss:'; + this._readyState = CONNECTING; + this._maxPayload = options.maxPayload; + this._perMessageDeflate = options.perMessageDeflate; + this._protocols = Array.isArray(protocols) + ? protocols.map(String) + : typeof protocols === 'string' + ? [protocols] + : undefined; + + const host = this._url.hostname; + const port = this._url.port ? Number(this._url.port) : this._secure ? 443 : 80; + + // Generate random 16-byte Sec-WebSocket-Key per RFC 6455 §4.1. + const keyBytes = crypto.randomBytes(16); + this._wsKey = keyBytes.toString('base64'); + this._expectedAccept = native.computeAcceptKey(this._wsKey); + + const connectOpts: net.NetConnectOpts & tls.ConnectionOptions = { + host, + port, + ...(options.socketOptions || {}), + } as net.NetConnectOpts & tls.ConnectionOptions; + + const onConnect = () => { + if (this._readyState !== CONNECTING) { + return; + } + + const pathAndQuery = (this._url.pathname || '/') + (this._url.search || ''); + const hostHeader = + this._url.port && Number(this._url.port) !== (this._secure ? 443 : 80) + ? `${host}:${this._url.port}` + : host; + const reqLines = [ + `GET ${pathAndQuery} HTTP/1.1`, + `Host: ${hostHeader}`, + 'Upgrade: websocket', + 'Connection: Upgrade', + `Sec-WebSocket-Key: ${this._wsKey}`, + 'Sec-WebSocket-Version: 13', + ]; + + if (this._protocols && this._protocols.length > 0) { + reqLines.push(`Sec-WebSocket-Protocol: ${this._protocols.join(', ')}`); + } + + const extensionOffer = offerPerMessageDeflate(this._perMessageDeflate); + + if (extensionOffer) { + reqLines.push(`Sec-WebSocket-Extensions: ${extensionOffer}`); + } + + if (options!.headers) { + for (const [k, v] of Object.entries(options!.headers)) { + reqLines.push(`${k}: ${v}`); + } + } + + reqLines.push('', ''); + this._socket.write(reqLines.join('\r\n')); + }; + + if ( + this._secure && + (connectOpts as tls.ConnectionOptions).servername === undefined && + net.isIP(host) === 0 + ) { + (connectOpts as tls.ConnectionOptions).servername = host; + } + + this._socket = this._secure + ? tls.connect(connectOpts as tls.ConnectionOptions, onConnect) + : net.connect(connectOpts as net.NetConnectOpts, onConnect); + + this._socket.setNoDelay?.(true); + this._socket.on('data', (chunk: Buffer) => this._onHandshakeData(chunk)); + this._socket.on('error', (err: Error) => this._onEarlyError(err)); + this._socket.on('close', () => this._onEarlyClose()); + } + + get readyState(): number { + return this._ws ? this._ws.readyState : this._readyState; + } + + private _onHandshakeData(chunk: Buffer): void { + if (this._readyState !== CONNECTING) { + return; + } + + this._handshakeBuf = Buffer.concat([this._handshakeBuf, chunk]); + const idx = this._handshakeBuf.indexOf('\r\n\r\n'); + + if (idx < 0) { + if (this._handshakeBuf.length > 16384) { + this._abort('Handshake response too large'); + } + + return; + } + + const headBlock = this._handshakeBuf.slice(0, idx).toString('latin1'); + const rest = this._handshakeBuf.slice(idx + 4); + let parsed: ParsedHandshakeResponse; + + try { + parsed = parseHeaders(headBlock); + } catch (e) { + return this._abort((e as Error).message); + } + + if (parsed.statusCode !== 101) { + return this._abort(`Unexpected response status ${parsed.statusCode}`); + } + + if ((parsed.headers['upgrade'] || '').toLowerCase() !== 'websocket') { + return this._abort('Missing/invalid Upgrade header'); + } + + if (!/\bupgrade\b/i.test(parsed.headers['connection'] || '')) { + return this._abort('Missing Connection: Upgrade header'); + } + + if (parsed.headers['sec-websocket-accept'] !== this._expectedAccept) { + return this._abort('Invalid Sec-WebSocket-Accept'); + } + + let acceptedExtensions: AcceptedPerMessageDeflate | null; + + try { + acceptedExtensions = parseAcceptedPerMessageDeflate( + parsed.headers['sec-websocket-extensions'], + this._perMessageDeflate, + ); + } catch (e) { + return this._abort((e as Error).message); + } + + if (parsed.headers['sec-websocket-extensions'] && !acceptedExtensions) { + return this._abort('Unexpected Sec-WebSocket-Extensions'); + } + + const protocol = parsed.headers['sec-websocket-protocol'] || ''; + + if (protocol && (!this._protocols || !this._protocols.includes(protocol))) { + return this._abort('Unexpected Sec-WebSocket-Protocol'); + } + + this._socket.removeAllListeners('data'); + this._socket.removeAllListeners('error'); + this._socket.removeAllListeners('close'); + + this._handshakeBuf = Buffer.alloc(0); + this._readyState = OPEN; + this._ws = new InternalWebSocket(this._socket, { + isServer: false, + maxPayload: this._maxPayload, + extensions: acceptedExtensions ? { perMessageDeflate: acceptedExtensions } : undefined, + protocol, + readyState: OPEN, + }); + this.protocol = protocol; + this.extensions = acceptedExtensions ? 'permessage-deflate' : ''; + this._ws.on('message', (d: Buffer, isBinary: boolean) => this.emit('message', d, isBinary)); + this._ws.on('ping', (d: Buffer) => this.emit('ping', d)); + this._ws.on('pong', (d: Buffer) => this.emit('pong', d)); + this._ws.on('close', (c: number, r: string) => this.emit('close', c, r)); + this._ws.on('error', (e: Error) => this.emit('error', e)); + + this.emit('upgrade', parsed); + this.emit('open'); + + if (rest.length > 0) { + this._ws._onData(rest); + } + + if (this._ws.readyState !== OPEN) { + this._failPendingSends(new Error('WebSocket is not open')); + return; + } + + const pending = this._pendingQueue; + this._pendingQueue = []; + + for (const entry of pending) { + this._ws.send(entry.data, entry.options, entry.cb); + } + } + + private _onEarlyError(err: Error): void { + if (this._ws || this._readyState === CLOSED) { + return; + } + + this._stopHandshake(err); + this.emit('error', err); + } + + private _onEarlyClose(): void { + if (this._ws || this._readyState === CLOSED) { + return; + } + + this._stopHandshake(new Error('WebSocket closed before handshake completed')); + this._readyState = CLOSED; + this.emit('close', 1006, ''); + } + + private _failPendingSends(err: Error): void { + const pending = this._pendingQueue; + this._pendingQueue = []; + + // Release queued payloads before invoking user code. Each callback is + // scheduled independently so reentrant sends cannot rejoin this queue. + for (const entry of pending) { + if (entry.cb) { + process.nextTick(entry.cb, err); + } + } + } + + private _stopHandshake(err: Error): void { + if (this._readyState !== CONNECTING) { + return; + } + + this._readyState = CLOSING; + this._handshakeBuf = Buffer.alloc(0); + this._failPendingSends(err); + this._socket.destroy(); + } + + private _abort(msg: string): void { + this._onEarlyError(new Error('WebSocket handshake failed: ' + msg)); + this._onEarlyClose(); + } + + send( + data: Parameters[0], + options?: SendOptions | SendCallback, + cb?: SendCallback, + ): void { + if (this._ws) { + return this._ws.send(data, options, cb); + } + + if (typeof options === 'function') { + cb = options; + options = undefined; + } + + if (this._readyState !== CONNECTING) { + const err = new Error('WebSocket is not open'); + + if (cb) { + cb(err); + return; + } + + throw err; + } + + this._pendingQueue.push({ data, options, cb }); + } + + ping(data?: Buffer | string | SendCallback, mask?: unknown, cb?: SendCallback): void { + this._ws?.ping(data, mask, cb); + } + pong(data?: Buffer | string | SendCallback, mask?: unknown, cb?: SendCallback): void { + this._ws?.pong(data, mask, cb); + } + + close(code?: number, reason?: string): void { + if (code !== undefined && !isValidCloseCode(code)) { + throw new RangeError(`Invalid close code: ${code}`); + } + + if (this._ws) { + return this._ws.close(code, reason); + } + + this._stopHandshake(new Error('WebSocket closed before handshake completed')); + } + + terminate(): void { + if (this._ws) { + return this._ws.terminate(); + } + + this._stopHandshake(new Error('WebSocket terminated before handshake completed')); + } +} diff --git a/packages/websocket/src/extensions.ts b/packages/websocket/src/extensions.ts new file mode 100644 index 00000000..bc115c90 --- /dev/null +++ b/packages/websocket/src/extensions.ts @@ -0,0 +1,288 @@ +import zlib from 'node:zlib'; + +const TRAILER = Buffer.from([0x00, 0x00, 0xff, 0xff]); + +export interface PerMessageDeflateConfig { + clientNoContextTakeover?: boolean; + serverNoContextTakeover?: boolean; + threshold?: number; +} + +export interface AcceptedPerMessageDeflate { + enabled: true; + requestNoContextTakeover: boolean; + responseNoContextTakeover: boolean; + threshold: number; +} + +interface ParsedOffer { + name: string; + params: Record; +} + +export function parseHeader(header: string | undefined | null): ParsedOffer[] { + const offers: ParsedOffer[] = []; + + if (!header) { + return offers; + } + + for (const rawOffer of String(header).split(',')) { + const parts = rawOffer + .split(';') + .map((p) => p.trim()) + .filter(Boolean); + + if (parts.length === 0) { + continue; + } + + const name = (parts.shift() as string).toLowerCase(); + const params: Record = Object.create(null); + + for (const part of parts) { + const eq = part.indexOf('='); + + if (eq === -1) { + params[part.toLowerCase()] = true; + } else { + const key = part.slice(0, eq).trim().toLowerCase(); + let value = part.slice(eq + 1).trim(); + + if ( + (value.startsWith('"') && value.endsWith('"')) || + (value.startsWith("'") && value.endsWith("'")) + ) { + value = value.slice(1, -1); + } + + params[key] = value; + } + } + + offers.push({ name, params }); + } + + return offers; +} + +function normalizePerMessageDeflateOptions(value: unknown): PerMessageDeflateConfig | null { + if (value === undefined || value === false || value === null) { + return null; + } + + if (value === true) { + return { clientNoContextTakeover: true, serverNoContextTakeover: true }; + } + + if (typeof value === 'object') { + return { + clientNoContextTakeover: true, + serverNoContextTakeover: true, + ...(value as PerMessageDeflateConfig), + }; + } + + return { clientNoContextTakeover: true, serverNoContextTakeover: true }; +} + +export function acceptPerMessageDeflate( + requestHeader: string | undefined, + options: unknown, +): { header: string; options: AcceptedPerMessageDeflate } | null { + const config = normalizePerMessageDeflateOptions(options); + + if (!config) { + return null; + } + + const offer = parseHeader(requestHeader).find((item) => item.name === 'permessage-deflate'); + + if (!offer) { + return null; + } + + const responseParams: string[] = []; + + if (config.serverNoContextTakeover !== false || offer.params.server_no_context_takeover) { + responseParams.push('server_no_context_takeover'); + } + + if (config.clientNoContextTakeover !== false || offer.params.client_no_context_takeover) { + responseParams.push('client_no_context_takeover'); + } + + const accepted: AcceptedPerMessageDeflate = { + enabled: true, + requestNoContextTakeover: responseParams.includes('client_no_context_takeover'), + responseNoContextTakeover: responseParams.includes('server_no_context_takeover'), + threshold: config.threshold ?? 1024, + }; + + return { + header: ['permessage-deflate', ...responseParams].join('; '), + options: accepted, + }; +} + +export function offerPerMessageDeflate(options: unknown): string | null { + const config = normalizePerMessageDeflateOptions(options); + + if (!config) { + return null; + } + + const params = ['permessage-deflate']; + + if (config.clientNoContextTakeover !== false) { + params.push('client_no_context_takeover'); + } + + if (config.serverNoContextTakeover !== false) { + params.push('server_no_context_takeover'); + } + + return params.join('; '); +} + +export function parseAcceptedPerMessageDeflate( + responseHeader: string | undefined, + requestedOptions: unknown, +): AcceptedPerMessageDeflate | null { + const config = normalizePerMessageDeflateOptions(requestedOptions); + + if (!config) { + return null; + } + + const accepted = parseHeader(responseHeader).find((item) => item.name === 'permessage-deflate'); + + if (!accepted) { + return null; + } + + for (const key of Object.keys(accepted.params)) { + if (key !== 'client_no_context_takeover' && key !== 'server_no_context_takeover') { + throw new Error(`Unsupported permessage-deflate parameter: ${key}`); + } + } + + return { + enabled: true, + requestNoContextTakeover: !!accepted.params.server_no_context_takeover, + responseNoContextTakeover: !!accepted.params.client_no_context_takeover, + threshold: config.threshold ?? 1024, + }; +} + +export function compressRaw(data: Buffer): Buffer { + const compressed = zlib.deflateRawSync(data, { flush: zlib.constants.Z_SYNC_FLUSH }); + + if (compressed.length >= 4 && compressed.subarray(compressed.length - 4).equals(TRAILER)) { + return compressed.subarray(0, compressed.length - 4); + } + + return compressed; +} + +export function decompressRaw(data: Buffer, maxPayload?: number): Buffer { + let inflated: Buffer; + + try { + inflated = zlib.inflateRawSync(Buffer.concat([data, TRAILER]), { + finishFlush: zlib.constants.Z_SYNC_FLUSH, + // A post-inflate length check is too late for a compression bomb: zlib + // has already allocated the expanded buffer by then. Node enforces this + // limit while producing output. maxOutputLength cannot be zero, so keep + // the allocation ceiling at one byte for the maxPayload=0 edge case and + // let the exact check below reject any non-empty message. + ...(maxPayload === undefined ? {} : { maxOutputLength: Math.max(1, maxPayload) }), + }); + } catch (cause) { + const zlibError = cause as Error & { code?: string }; + + if (maxPayload !== undefined && zlibError.code === 'ERR_BUFFER_TOO_LARGE') { + const err = new Error(`Message too large after inflate (maxPayload=${maxPayload})`, { + cause, + }) as Error & { code?: number }; + err.code = 1009; + throw err; + } + + throw cause; + } + + if (maxPayload !== undefined && inflated.length > maxPayload) { + const err = new Error( + `Message too large after inflate (maxPayload=${maxPayload})`, + ) as Error & { + code?: number; + }; + err.code = 1009; + throw err; + } + + return inflated; +} + +export function normalizeProtocolList( + protocols: string | string[] | Set | undefined | null, +): string[] { + if (!protocols) { + return []; + } + + if (typeof protocols === 'string') { + return protocols + .split(',') + .map((p) => p.trim()) + .filter(Boolean); + } + + if (Array.isArray(protocols)) { + return protocols + .map(String) + .map((p) => p.trim()) + .filter(Boolean); + } + + if (protocols instanceof Set) { + return Array.from(protocols) + .map(String) + .map((p) => p.trim()) + .filter(Boolean); + } + + return []; +} + +export function chooseSubprotocol( + requestHeader: string | undefined, + protocols: + | string + | string[] + | Set + | ((requested: string[]) => string | null | undefined) + | undefined, +): string | null { + const requested = normalizeProtocolList(requestHeader); + + if (typeof protocols === 'function') { + const selected = protocols(requested); + return selected && requested.includes(String(selected)) ? String(selected) : null; + } + + const supported = normalizeProtocolList(protocols); + + if (requested.length === 0 || supported.length === 0) { + return null; + } + + for (const protocol of supported) { + if (requested.includes(protocol)) { + return protocol; + } + } + + return null; +} diff --git a/packages/websocket/src/index.ts b/packages/websocket/src/index.ts new file mode 100644 index 00000000..c6086224 --- /dev/null +++ b/packages/websocket/src/index.ts @@ -0,0 +1,49 @@ +import type { EventEmitter } from 'node:events'; +import { WebSocket as InternalWebSocket } from './websocket'; +import { WebSocketServer } from './server'; +import { WebSocketClient } from './client'; +import native from './native'; +import type { SendOptions, SendCallback } from './websocket'; + +WebSocketClient.Server = WebSocketServer; + +// `WebSocket` mirrors the `ws` package's default export shape. We use +// declaration merging (const + interface) so the name resolves to the client +// constructor in value space AND a structural interface in type space. The +// interface is intentionally narrow enough to cover both `WebSocketClient` +// (constructed by the user) and the internal `WebSocket` (emitted by the +// server's `connection` event). It also shadows Node 22+'s global DOM-style +// `WebSocket` type that ships with @types/node. +export const WebSocket: typeof WebSocketClient = WebSocketClient; +export interface WebSocket extends EventEmitter { + readonly readyState: number; + readonly protocol: string; + readonly extensions: string; + send( + data: string | Buffer | Uint8Array | ArrayBuffer, + options?: SendOptions | SendCallback, + cb?: SendCallback, + ): void; + ping(data?: Buffer | string | SendCallback, mask?: unknown, cb?: SendCallback): void; + pong(data?: Buffer | string | SendCallback, mask?: unknown, cb?: SendCallback): void; + close(code?: number, reason?: string): void; + terminate(): void; + on(event: 'message', listener: (data: Buffer, isBinary: boolean) => void): this; + on(event: 'open', listener: () => void): this; + on(event: 'close', listener: (code: number, reason: string) => void): this; + on(event: 'error', listener: (err: Error) => void): this; + on(event: 'ping' | 'pong', listener: (data: Buffer) => void): this; + on(event: string | symbol, listener: (...args: unknown[]) => void): this; +} + +const Server = WebSocketServer; +const _internal = { WebSocket: InternalWebSocket, native }; + +export { WebSocketClient, WebSocketServer, Server, InternalWebSocket, _internal }; +export { DEFAULT_MAX_PAYLOAD_BYTES } from './websocket'; + +export type { SendOptions, SendCallback, WebSocketRawData } from './websocket'; +export type { WebSocketClientOptions } from './client'; +export type { WebSocketServerOptions, SubprotocolSelector } from './server'; + +export default WebSocketClient; diff --git a/packages/websocket/src/native.ts b/packages/websocket/src/native.ts new file mode 100644 index 00000000..71a4d563 --- /dev/null +++ b/packages/websocket/src/native.ts @@ -0,0 +1,153 @@ +import { existsSync } from 'node:fs'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; + +const __dirname = path.dirname(fileURLToPath(import.meta.url)); + +export interface ParserOptions { + isServer: boolean; + maxPayload: number; + allowedRsv: number; +} + +export interface ParsedFrame { + fin: boolean; + opcode: number; + payload: Buffer; + rsv?: number; +} + +export interface ParseResult { + frames: ParsedFrame[]; + error?: boolean; + code?: number; + message?: string; +} + +export interface ParserInstance { + push(chunk: Buffer): ParseResult; +} + +export interface NativeAddon { + Parser: new (options: ParserOptions) => ParserInstance; + buildFrame( + opcode: number, + fin: boolean, + payload: Buffer, + maskKey: Buffer | null, + rsv: number, + ): Buffer; + computeAcceptKey(key: string): string; +} + +function platformBinaryName(): string { + return `websocket-${process.platform}-${process.arch}.node`; +} + +// The same binary ships under several layouts, depending on whether we're +// running from source (tsx), from the bundled monorepo dist/, or from a +// flattened release zip. Probe each candidate in priority order. +function searchDirs(): string[] { + return [ + // Released zip (flattened): /native, called from /index.mjs + path.resolve(__dirname, 'native'), + // Bundled into /dist/index.mjs → natives at /dist/native + path.resolve(__dirname, '..', 'native'), + // Dev (tsx) — packages/websocket/src → packages/runtime/native + path.resolve(__dirname, '..', '..', 'runtime', 'native'), + // Fallback when invoked from repo root + path.resolve(process.cwd(), 'native'), + path.resolve(process.cwd(), 'dist', 'native'), + path.resolve(process.cwd(), 'packages', 'runtime', 'native'), + ]; +} + +function resolveAddonPath(): string { + const fileName = platformBinaryName(); + + for (const dir of searchDirs()) { + const full = path.join(dir, fileName); + + if (existsSync(full)) { + return full; + } + } + + throw new Error( + `[snowluma/websocket] native addon not found: ${fileName}. Searched: ${searchDirs().join(', ')}`, + ); +} + +function loadAddon(): NativeAddon { + const addonPath = resolveAddonPath(); + const mod = { exports: {} as Record }; + // process.dlopen expects a NodeModule-shaped object; mod.exports is mutated in-place. + (process as unknown as { dlopen: (m: { exports: unknown }, file: string) => void }).dlopen( + mod, + addonPath, + ); + return mod.exports as unknown as NativeAddon; +} + +// Local-only escape hatch: when SNOWLUMA_DEV_NO_NATIVE=1 is set, we return a +// stub addon that lets the process boot (so the WebUI / HTTP API can run on +// platforms without a prebuilt binary, e.g. darwin-arm64 dev machines). Any +// actual WebSocket parsing/serialization call will throw at use-time. This +// branch never triggers for normal users because the env var is opt-in. +function createStubAddon(reason: string): NativeAddon { + const fail = (): never => { + throw new Error( + `[snowluma/websocket] native addon is stubbed (${reason}). ` + + `Set SNOWLUMA_DEV_NO_NATIVE=0 (or unset) and provide the prebuilt binary to enable WebSocket I/O.`, + ); + }; + + class StubParser { + constructor(_options: ParserOptions) {} + push(_chunk: Buffer): ParseResult { + return fail(); + } + } + console.warn( + `[snowluma/websocket] WARNING: using stub addon (${reason}). WebSocket features are disabled.`, + ); + return { + Parser: StubParser as unknown as NativeAddon['Parser'], + buildFrame: fail as unknown as NativeAddon['buildFrame'], + computeAcceptKey: fail as unknown as NativeAddon['computeAcceptKey'], + }; +} + +function tryLoad(): NativeAddon { + const devSkip = process.env.SNOWLUMA_DEV_NO_NATIVE === '1'; + + try { + return loadAddon(); + } catch (err) { + if (devSkip) { + return createStubAddon((err as Error).message); + } + + throw err; + } +} + +let addon: NativeAddon | undefined; + +function getAddon(): NativeAddon { + return (addon ??= tryLoad()); +} + +const native: NativeAddon = { + get Parser() { + return getAddon().Parser; + }, + buildFrame(...args) { + return getAddon().buildFrame(...args); + }, + computeAcceptKey(key) { + return getAddon().computeAcceptKey(key); + }, +}; + +export default native; diff --git a/packages/websocket/src/server.ts b/packages/websocket/src/server.ts new file mode 100644 index 00000000..8f176709 --- /dev/null +++ b/packages/websocket/src/server.ts @@ -0,0 +1,407 @@ +import { EventEmitter } from 'node:events'; +import http from 'node:http'; +import https from 'node:https'; +import type { IncomingMessage, Server as HttpServer, ServerResponse } from 'node:http'; +import type { Server as HttpsServer } from 'node:https'; +import type { Duplex } from 'node:stream'; +import native from './native'; +import { + type PerMessageDeflateConfig, + acceptPerMessageDeflate, + chooseSubprotocol, +} from './extensions'; +import { WebSocket, OPEN } from './websocket'; + +function computeAccept(key: string): string { + return native.computeAcceptKey(key); +} + +function abortUpgrade(socket: Duplex, status: number, message?: string): void { + try { + const body = message ? message : http.STATUS_CODES[status] || ''; + const head = + `HTTP/1.1 ${status} ${http.STATUS_CODES[status] || 'Error'}\r\n` + + 'Connection: close\r\n' + + `Content-Length: ${Buffer.byteLength(body)}\r\n` + + 'Content-Type: text/plain\r\n\r\n'; + socket.write(head + body); + } catch { + /* noop */ + } + + try { + socket.destroy(); + } catch { + /* noop */ + } +} + +const TLS_OPTION_KEYS = [ + 'ALPNProtocols', + 'SNICallback', + 'ca', + 'cert', + 'ciphers', + 'clientCertEngine', + 'crl', + 'dhparam', + 'ecdhCurve', + 'honorCipherOrder', + 'key', + 'maxVersion', + 'minVersion', + 'passphrase', + 'pfx', + 'privateKeyEngine', + 'privateKeyIdentifier', + 'requestCert', + 'rejectUnauthorized', + 'secureOptions', + 'secureProtocol', + 'sessionIdContext', + 'sigalgs', + 'ticketKeys', +] as const; + +type TlsOptions = Record; + +function getTlsOptions(options: WebSocketServerOptions & TlsOptions): TlsOptions { + const tlsOptions: TlsOptions = {}; + + for (const key of TLS_OPTION_KEYS) { + if ((options as TlsOptions)[key] !== undefined) { + tlsOptions[key] = (options as TlsOptions)[key]; + } + } + + if (options.tls && typeof options.tls === 'object') { + Object.assign(tlsOptions, options.tls); + } + + return tlsOptions; +} + +export type SubprotocolSelector = (requested: string[]) => string | null | undefined; + +export interface WebSocketServerOptions { + port?: number; + host?: string; + server?: HttpServer | HttpsServer; + noServer?: boolean; + path?: string; + maxPayload?: number; + verifyClient?: + | ((info: { origin?: string; secure: boolean; req: IncomingMessage }) => boolean) + | (( + info: { origin?: string; secure: boolean; req: IncomingMessage }, + cb: ( + allow: boolean, + code?: number, + message?: string, + headers?: Record, + ) => void, + ) => void); + protocols?: string | string[] | Set | SubprotocolSelector; + perMessageDeflate?: boolean | PerMessageDeflateConfig; + backlog?: number; + tls?: TlsOptions; +} + +type UpgradeHandler = (req: IncomingMessage, socket: Duplex, head: Buffer) => void; + +export class WebSocketServer extends EventEmitter { + public readonly options: WebSocketServerOptions & { tls?: TlsOptions }; + public readonly clients = new Set(); + private _server: HttpServer | HttpsServer | null = null; + private _externalServer: HttpServer | HttpsServer | null = null; + private _upgradeHandler: UpgradeHandler | null = null; + + constructor(options?: WebSocketServerOptions) { + super(); + options = options || {}; + this.options = { + port: options.port, + host: options.host, + server: options.server, + noServer: !!options.noServer, + path: options.path, + maxPayload: options.maxPayload, + verifyClient: options.verifyClient, + protocols: options.protocols, + perMessageDeflate: options.perMessageDeflate, + backlog: options.backlog, + tls: options.tls, + }; + const tlsOptions = getTlsOptions(options as WebSocketServerOptions & TlsOptions); + this.options.tls = Object.keys(tlsOptions).length > 0 ? tlsOptions : undefined; + + if (this.options.noServer) { + return; + } + + if (this.options.server) { + this._externalServer = this.options.server; + this._attachToServer(this._externalServer); + } else if (this.options.port !== undefined) { + const requestHandler = (_req: IncomingMessage, res: ServerResponse) => { + const body = http.STATUS_CODES[426] ?? ''; + res.writeHead(426, { + 'Content-Length': Buffer.byteLength(body), + 'Content-Type': 'text/plain', + }); + res.end(body); + }; + + this._server = this.options.tls + ? https.createServer(this.options.tls, requestHandler) + : http.createServer(requestHandler); + this._attachToServer(this._server); + this._server.listen(this.options.port, this.options.host, this.options.backlog, () => + this.emit('listening'), + ); + this._server.on('error', (err: Error) => this.emit('error', err)); + } else { + throw new Error( + 'WebSocketServer requires { port } or { server } or { noServer: true }', + ); + } + } + + address(): ReturnType | null { + if (this._server) { + return this._server.address(); + } + + if (this._externalServer && this._externalServer.address) { + return this._externalServer.address(); + } + + return null; + } + + private _attachToServer(server: HttpServer | HttpsServer): void { + const handler: UpgradeHandler = (req, socket, head) => { + if (this.options.path) { + const urlPath = (req.url ?? '/').split('?')[0]; + + if (urlPath !== this.options.path) { + if (server.listenerCount('upgrade') === 1) { + abortUpgrade(socket, 400, 'Bad path for WebSocket'); + } + + return; + } + } + + this.handleUpgrade(req, socket, head, (ws) => { + this.emit('connection', ws, req); + }); + }; + + this._upgradeHandler = handler; + server.on('upgrade', handler); + } + + handleUpgrade( + request: IncomingMessage, + socket: Duplex, + head: Buffer, + cb: (ws: WebSocket, request: IncomingMessage) => void, + ): void { + const upgrade = (request.headers['upgrade'] ?? '').toLowerCase(); + const connection = ( + Array.isArray(request.headers['connection']) + ? request.headers['connection'].join(',') + : (request.headers['connection'] ?? '') + ).toLowerCase(); + const version = request.headers['sec-websocket-version']; + const key = request.headers['sec-websocket-key']; + + if (request.method !== 'GET') { + return abortUpgrade(socket, 405, 'Method not allowed'); + } + + if (upgrade !== 'websocket') { + return abortUpgrade(socket, 400, 'Upgrade header must be websocket'); + } + + if (!/\bupgrade\b/i.test(connection)) { + return abortUpgrade(socket, 400, 'Connection header must contain "upgrade"'); + } + + if (version !== '13') { + try { + socket.write( + 'HTTP/1.1 426 Upgrade Required\r\n' + + 'Sec-WebSocket-Version: 13\r\n' + + 'Connection: close\r\n\r\n', + ); + } catch { + /* noop */ + } + + try { + socket.destroy(); + } catch { + /* noop */ + } + + return; + } + + if (typeof key !== 'string' || !/^[+/0-9A-Za-z]{22}==$/.test(key)) { + return abortUpgrade(socket, 400, 'Invalid Sec-WebSocket-Key'); + } + + const doAccept = () => { + const accept = computeAccept(key); + const extension = acceptPerMessageDeflate( + request.headers['sec-websocket-extensions'] as string | undefined, + this.options.perMessageDeflate, + ); + const protocol = chooseSubprotocol( + request.headers['sec-websocket-protocol'] as string | undefined, + this.options.protocols, + ); + const responseHeaders = [ + 'HTTP/1.1 101 Switching Protocols', + 'Upgrade: websocket', + 'Connection: Upgrade', + `Sec-WebSocket-Accept: ${accept}`, + ]; + + if (extension) { + responseHeaders.push(`Sec-WebSocket-Extensions: ${extension.header}`); + } + + if (protocol) { + responseHeaders.push(`Sec-WebSocket-Protocol: ${protocol}`); + } + + try { + socket.write(responseHeaders.join('\r\n') + '\r\n\r\n'); + } catch { + try { + socket.destroy(); + } catch { + /* noop */ + } + + return; + } + + const ns = socket as Duplex & { + setTimeout?: (ms: number) => void; + setNoDelay?: (b: boolean) => void; + }; + ns.setTimeout?.(0); + ns.setNoDelay?.(true); + + const ws = new WebSocket(socket as unknown as import('node:net').Socket, { + isServer: true, + maxPayload: this.options.maxPayload, + extensions: extension ? { perMessageDeflate: extension.options } : undefined, + protocol: protocol ?? '', + readyState: OPEN, + }); + this.clients.add(ws); + ws.on('close', () => this.clients.delete(ws)); + + if (head && head.length > 0) { + ws._onData(head); + } + + cb(ws, request); + }; + + const verify = this.options.verifyClient; + + if (typeof verify === 'function') { + type VerifyInfo = { origin?: string; secure: boolean; req: IncomingMessage }; + const info: VerifyInfo = { + origin: request.headers['origin'] as string | undefined, + secure: !!(socket as unknown as { encrypted?: boolean }).encrypted, + req: request, + }; + + if (verify.length >= 2) { + ( + verify as ( + i: VerifyInfo, + cb: (allow: boolean, code?: number, message?: string) => void, + ) => void + )(info, (allow, code, message) => { + if (!allow) { + return abortUpgrade(socket, code || 401, message); + } + + doAccept(); + }); + } else { + const allow = (verify as (i: VerifyInfo) => boolean)(info); + + if (!allow) { + return abortUpgrade(socket, 401, 'Unauthorized'); + } + + doAccept(); + } + } else { + doAccept(); + } + } + + close(cb?: (err?: Error) => void): void { + if (this._externalServer && this._upgradeHandler) { + this._externalServer.removeListener('upgrade', this._upgradeHandler); + this._upgradeHandler = null; + } + + for (const ws of this.clients) { + try { + ws.close(1001, 'Server shutting down'); + } catch { + /* noop */ + } + } + + if (this._server) { + this._server.close((err?: Error) => cb && cb(err)); + } else if (cb) { + setImmediate(cb); + } + } + + /** Destroy clients and, when this server owns the HTTP listener, that + * listener too. An external HTTP server is left to its owner. */ + destroy(): void { + for (const ws of this.clients) { + try { + ws.terminate(); + } catch { + /* noop */ + } + } + + if (this._externalServer && this._upgradeHandler) { + this._externalServer.removeListener('upgrade', this._upgradeHandler); + this._upgradeHandler = null; + } + + if (this._server) { + try { + this._server.closeAllConnections(); + } catch { + /* noop */ + } + + try { + this._server.close(() => undefined); + } catch { + /* noop */ + } + + this._server = null; + } + } +} diff --git a/packages/websocket/src/websocket.ts b/packages/websocket/src/websocket.ts new file mode 100644 index 00000000..3f14440e --- /dev/null +++ b/packages/websocket/src/websocket.ts @@ -0,0 +1,896 @@ +import { EventEmitter } from 'node:events'; +import crypto from 'node:crypto'; +import type { Socket } from 'node:net'; +import native, { type ParsedFrame, type ParserInstance, type ParseResult } from './native'; +import { type AcceptedPerMessageDeflate, compressRaw, decompressRaw } from './extensions'; + +// RFC 6455 opcodes. +export const OP_CONT = 0x0; +export const OP_TEXT = 0x1; +export const OP_BIN = 0x2; +export const OP_CLOSE = 0x8; +export const OP_PING = 0x9; +export const OP_PONG = 0xa; +export const RSV1 = 0x40; + +// Ready states (mirror the standard WebSocket API numbers). +export const CONNECTING = 0; +export const OPEN = 1; +export const CLOSING = 2; +export const CLOSED = 3; + +/** + * Default cap on one inbound WebSocket message (all fragments included). + * Exported so callers can name the default in configuration and diagnostics + * instead of duplicating the number. + */ +export const DEFAULT_MAX_PAYLOAD_BYTES = 100 * 1024 * 1024; + +/** RFC 6455 §5.5 bounds a close frame's payload to 125 bytes; the 2-byte code + * leaves this much room for a reason. Long diagnostics are truncated (never + * mid-code-point) because an over-long reason would make the close invalid. */ +const MAX_CLOSE_REASON_BYTES = 123; + +export function isValidCloseCode(code: number): boolean { + if ( + code === 1000 || + code === 1001 || + code === 1002 || + code === 1003 || + code === 1007 || + code === 1008 || + code === 1009 || + code === 1010 || + code === 1011 + ) { + return true; + } + + if (code >= 3000 && code <= 4999) { + return true; + } + + return false; +} + +export function encodeClosePayload(code: number | undefined | null, reason?: string): Buffer { + const reasonBuf = truncateCloseReason(reason); + + if (code === undefined || code === null) { + if (reasonBuf.length > 0) { + throw new Error('Cannot send close reason without a code'); + } + + return Buffer.alloc(0); + } + + const buf = Buffer.allocUnsafe(2 + reasonBuf.length); + buf.writeUInt16BE(code & 0xffff, 0); + reasonBuf.copy(buf, 2); + return buf; +} + +/** UTF-8 safe truncation of a close reason to the RFC 6455 control-frame room. */ +function truncateCloseReason(reason: string | undefined): Buffer { + if (!reason) { + return Buffer.alloc(0); + } + + const encoded = Buffer.from(String(reason), 'utf8'); + + if (encoded.length <= MAX_CLOSE_REASON_BYTES) { + return encoded; + } + + let end = MAX_CLOSE_REASON_BYTES; + + // Back off to a code-point boundary: `encoded[end]` is the first dropped + // byte, and continuation bytes must never lead a truncated string. + while (end > 0 && (encoded[end]! & 0xc0) === 0x80) { + end -= 1; + } + + return encoded.subarray(0, end); +} + +/** Human label for the message type carried by a frame's opcode. */ +function opcodeLabel(opcode: number): string { + if (opcode === OP_TEXT) { + return 'text'; + } + + if (opcode === OP_BIN) { + return 'binary'; + } + + return `opcode ${opcode}`; +} + +interface FrameHeaderInfo { + opcode: number; + payloadBytes: number; +} + +/** Budget for re-reading inbound bytes when an oversized frame is reported. */ +const DIAG_BUFFER_LIMIT = 64 * 1024; + +/** + * Walk a frame stream from `bytes` and return the first data frame whose declared + * payload exceeds `maxPayload`. + * + * The native parser rejects an oversized frame without saying where it is or how + * large it is, so the reporting path re-reads the retained bytes from the first + * unparsed frame. Walking from a frame boundary removes the "the first bytes of + * this chunk are the offending header" assumption: earlier data frames, interleaved + * control frames and a header split across chunks are all stepped over correctly. + * Returns `null` when the walk cannot reach a verdict, in which case the caller + * reports the cap without a size instead of guessing. + */ +function scanOversizedFrame(bytes: Buffer, maxPayload: number): FrameHeaderInfo | null { + let offset = 0; + + while (offset + 2 <= bytes.length) { + const first = bytes[offset]!; + const second = bytes[offset + 1]!; + const opcode = first & 0x0f; + const masked = (second & 0x80) !== 0; + const shortLength = second & 0x7f; + let payloadBytes: number; + let headerBytes: number; + + if (shortLength === 126) { + if (offset + 4 > bytes.length) { + return null; + } + + payloadBytes = bytes.readUInt16BE(offset + 2); + headerBytes = 4; + } else if (shortLength === 127) { + if (offset + 10 > bytes.length) { + return null; + } + + const high = bytes.readUInt32BE(offset + 2); + const low = bytes.readUInt32BE(offset + 6); + + if (high > 0x1fffff) { + return null; + } + + payloadBytes = high * 2 ** 32 + low; + headerBytes = 10; + } else { + payloadBytes = shortLength; + headerBytes = 2; + } + + if (masked) { + headerBytes += 4; + } + + if (payloadBytes > maxPayload) { + // Only a data frame may legitimately exceed the cap; any other opcode + // means the walk is out of sync, so report nothing rather than a + // misleading number. + return opcode === OP_TEXT || opcode === OP_BIN ? { opcode, payloadBytes } : null; + } + + offset += headerBytes + payloadBytes; + } + + return null; +} + +// Streaming UTF-8 validator used while a text message is being received in +// fragments. Returns false if invalid; `done()` checks code-point boundary. +class Utf8Validator { + private state = 0; + private codepoint = 0; + private minNext = 0; + + push(buf: Buffer): boolean { + for (let i = 0; i < buf.length; i++) { + const b = buf[i]!; + + if (this.state === 0) { + if ((b & 0x80) === 0) { + continue; + } + + if ((b & 0xe0) === 0xc0) { + if (b < 0xc2) { + return false; + } + + this.codepoint = b & 0x1f; + this.state = 1; + this.minNext = 0x80; + } else if ((b & 0xf0) === 0xe0) { + this.codepoint = b & 0x0f; + this.state = 2; + this.minNext = b === 0xe0 ? 0xa0 : 0x80; + } else if ((b & 0xf8) === 0xf0) { + if (b > 0xf4) { + return false; + } + + this.codepoint = b & 0x07; + this.state = 3; + this.minNext = b === 0xf0 ? 0x90 : 0x80; + } else { + return false; + } + } else { + if (b < this.minNext || b > 0xbf) { + return false; + } + + // Reject UTF-16 surrogates (U+D800–U+DFFF), encoded as 0xED 0xA0–0xBF …. + // Here b is already constrained to 0x80–0xBF by the guard above, and in + // that range `b & 0x20` is true iff `b >= 0xA0` — so a single check + // covers it (the former second `if` was unreachable dead code). + if (this.state === 2 && this.codepoint === 0xd && b >= 0xa0) { + return false; + } + + this.codepoint = (this.codepoint << 6) | (b & 0x3f); + this.state--; + this.minNext = 0x80; + } + } + + return true; + } + + done(): boolean { + return this.state === 0; + } +} + +export function randomMaskKey(): Buffer { + const b = Buffer.allocUnsafe(4); + crypto.randomFillSync(b); + return b; +} + +export interface SendOptions { + binary?: boolean; + compress?: boolean; +} + +export type SendCallback = (err?: Error | null) => void; + +export type WebSocketRawData = Buffer; + +export interface WebSocketEvents { + message: (data: Buffer, isBinary: boolean) => void; + ping: (data: Buffer) => void; + pong: (data: Buffer) => void; + close: (code: number, reason: string) => void; + error: (err: Error) => void; +} + +export interface WebSocketOptions { + isServer?: boolean; + maxPayload?: number; + readyState?: number; + extensions?: { perMessageDeflate?: AcceptedPerMessageDeflate }; + protocol?: string; +} + +// Shared WebSocket connection handling logic (post-handshake). +export class WebSocket extends EventEmitter { + protected readonly _socket: Socket; + protected readonly _isServer: boolean; + protected readonly _maxPayload: number; + protected _readyState: number; + protected readonly _perMessageDeflate?: AcceptedPerMessageDeflate; + public protocol: string; + public extensions: string; + + protected readonly _parser: ParserInstance; + + // Fragmented message assembly state. + protected _msgOpcode = 0; + protected _msgChunks: Buffer[] = []; + protected _msgSize = 0; + protected _msgValidator: Utf8Validator | null = null; + protected _msgCompressed = false; + + // Diagnostic re-read of inbound bytes, kept only so an oversized-frame error + // can name the offending frame. It follows the parser's frame boundaries, + // retaining any partial next frame, and downgrades the error text once the + // small budget would be exceeded. It never feeds parsing. + private _diagChunks: Buffer[] = []; + private _diagBytes = 0; + private _diagOverflow = false; + + // Close state. + protected _closeCodeSent: number | null = null; + protected _closeCodeReceived: number | null = null; + protected _closeReasonReceived = ''; + protected _closeFrameSent = false; + protected _closeTimer: NodeJS.Timeout | null = null; + + // Ready state constants exposed as instance fields (for ws compatibility). + static readonly CONNECTING = CONNECTING; + static readonly OPEN = OPEN; + static readonly CLOSING = CLOSING; + static readonly CLOSED = CLOSED; + + constructor(socket: Socket, options?: WebSocketOptions) { + super(); + options = options || {}; + this._socket = socket; + this._isServer = !!options.isServer; + this._maxPayload = options.maxPayload ?? DEFAULT_MAX_PAYLOAD_BYTES; + this._readyState = options.readyState ?? OPEN; + this._perMessageDeflate = options.extensions?.perMessageDeflate; + this.protocol = options.protocol || ''; + this.extensions = this._perMessageDeflate ? 'permessage-deflate' : ''; + + this._parser = new native.Parser({ + isServer: this._isServer, + maxPayload: this._maxPayload, + allowedRsv: this._perMessageDeflate ? RSV1 : 0, + }); + + this._bindSocket(); + } + + get readyState(): number { + return this._readyState; + } + get isServer(): boolean { + return this._isServer; + } + + protected _bindSocket(): void { + const sock = this._socket; + sock.on('data', (chunk: Buffer) => this._onData(chunk)); + sock.on('end', () => this._onEnd()); + sock.on('close', () => this._onSocketClose()); + sock.on('error', (err: Error) => this._onError(err)); + } + + /** @internal */ + _onData(chunk: Buffer): void { + if (this._readyState === CLOSED) { + return; + } + + this._recordDiagnosticBytes(chunk); + const res = this._parser.push(chunk); + + if (res.error) { + this._failConnection(res.code || 1002, this._describeParseError(res)); + return; + } + + for (const f of res.frames) { + this._consumeDiagnosticFrame(f); + this._handleFrame(f); + + if (this._readyState === CLOSED) { + return; + } + } + } + + /** + * Add the numbers a payload-limit failure needs to be actionable: how big the + * offending frame is, its message type, and the effective cap. The native + * parser only reports that the cap was exceeded, so the size is recovered by + * re-walking the buffered bytes; when that walk cannot reach a verdict the + * text names the cap alone instead of inventing a size. + */ + protected _describeParseError(res: ParseResult): string { + const message = res.message || 'Protocol error'; + + if (res.code !== 1009) { + return message; + } + + const info = this._scanDiagnosticBytes(); + this._resetDiagnosticBytes(); + const limit = `${this._maxPayload} byte limit (maxPayloadBytes)`; + + if (!info) { + return `${message}: an inbound frame exceeds the ${limit}`; + } + + return `${message}: ${info.payloadBytes} B ${opcodeLabel(info.opcode)} frame exceeds the ${limit}`; + } + + /** Keep bounded diagnostic bytes starting at the first unparsed frame. */ + private _recordDiagnosticBytes(chunk: Buffer): void { + this._diagBytes += chunk.length; + + if (this._diagOverflow) { + return; + } + + if (this._diagBytes > DIAG_BUFFER_LIMIT) { + this._diagOverflow = true; + this._diagChunks = []; + return; + } + + this._diagChunks.push(chunk); + } + + private _consumeDiagnosticFrame(frame: ParsedFrame): void { + const payloadBytes = frame.payload.length; + // The parser enforces minimal length encoding and the masking direction, + // so every accepted frame has this exact wire length, including controls. + const lengthBytes = payloadBytes <= 125 ? 0 : payloadBytes <= 65535 ? 2 : 8; + let remaining = 2 + lengthBytes + (this._isServer ? 4 : 0) + payloadBytes; + this._diagBytes -= remaining; + + if (this._diagBytes === 0) { + this._resetDiagnosticBytes(); + return; + } + + // Once bytes are discarded, wait until the parser drains all pending + // bytes before recording again; a new read may start inside a frame. + if (this._diagOverflow) { + return; + } + + let consumedChunks = 0; + + while (remaining > 0) { + const chunk = this._diagChunks[consumedChunks]!; + + if (remaining < chunk.length) { + this._diagChunks[consumedChunks] = chunk.subarray(remaining); + break; + } + + remaining -= chunk.length; + consumedChunks += 1; + } + + this._diagChunks.splice(0, consumedChunks); + } + + private _resetDiagnosticBytes(): void { + this._diagChunks = []; + this._diagBytes = 0; + this._diagOverflow = false; + } + + private _scanDiagnosticBytes(): FrameHeaderInfo | null { + if (this._diagOverflow || this._diagChunks.length === 0) { + return null; + } + + const bytes = + this._diagChunks.length === 1 + ? this._diagChunks[0]! + : Buffer.concat(this._diagChunks, this._diagBytes); + + return scanOversizedFrame(bytes, this._maxPayload); + } + + protected _onEnd(): void { + if (this._readyState !== CLOSED) { + if (this._closeCodeReceived === null) { + this._closeCodeReceived = 1006; + this._closeReasonReceived = ''; + } + + this._destroySocket(); + } + } + + protected _onSocketClose(): void { + if (this._readyState === CLOSED) { + return; + } + + if (this._closeCodeReceived === null) { + this._closeCodeReceived = 1006; + } + + this._readyState = CLOSED; + + if (this._closeTimer) { + clearTimeout(this._closeTimer); + this._closeTimer = null; + } + + this.emit('close', this._closeCodeReceived, this._closeReasonReceived); + } + + protected _onError(err: Error): void { + this.emit('error', err); + } + + protected _handleFrame(f: ParsedFrame): void { + const { fin, opcode, payload } = f; + const rsv = f.rsv ?? 0; + + if (opcode === OP_PING) { + this.emit('ping', payload); + + if (this._readyState === OPEN) { + this._sendControl(OP_PONG, payload); + } + + return; + } + + if (opcode === OP_PONG) { + this.emit('pong', payload); + return; + } + + if (opcode === OP_CLOSE) { + this._handleCloseFrame(payload); + return; + } + + if (opcode === OP_TEXT || opcode === OP_BIN) { + if (this._msgOpcode !== 0) { + this._failConnection( + 1002, + 'New data frame started before previous fragmented message finished', + ); + return; + } + + if (rsv & RSV1 && !this._perMessageDeflate) { + this._failConnection( + 1002, + 'Compressed frame without negotiated permessage-deflate', + ); + return; + } + + this._msgOpcode = opcode; + this._msgChunks = []; + this._msgSize = 0; + this._msgCompressed = (rsv & RSV1) !== 0; + this._msgValidator = opcode === OP_TEXT ? new Utf8Validator() : null; + } else if (opcode === OP_CONT) { + if (this._msgOpcode === 0) { + this._failConnection(1002, 'Continuation frame without active message'); + return; + } + + if (rsv !== 0) { + this._failConnection(1002, 'RSV bits set on continuation frame'); + return; + } + } + + this._msgSize += payload.length; + + if (this._msgSize > this._maxPayload) { + this._failConnection( + 1009, + `Message too large: ${this._msgSize} B ${opcodeLabel(this._msgOpcode)} message exceeds the ${this._maxPayload} byte limit (maxPayloadBytes)`, + ); + return; + } + + if (payload.length > 0) { + this._msgChunks.push(payload); + } + + if (fin) { + let data = + this._msgChunks.length === 1 + ? this._msgChunks[0]! + : Buffer.concat(this._msgChunks, this._msgSize); + + if (this._msgCompressed) { + try { + data = decompressRaw(data, this._maxPayload); + } catch (err) { + const e = err as Error & { code?: number }; + this._failConnection(e.code || 1007, e.message || 'Invalid compressed payload'); + return; + } + } + + if (this._msgValidator) { + if (!this._msgValidator.push(data) || !this._msgValidator.done()) { + this._failConnection(1007, 'Invalid UTF-8'); + return; + } + } + + const isBinary = this._msgOpcode === OP_BIN; + this._msgOpcode = 0; + this._msgChunks = []; + this._msgSize = 0; + this._msgValidator = null; + this._msgCompressed = false; + this.emit('message', data, isBinary); + } + } + + protected _handleCloseFrame(payload: Buffer): void { + let code = 1005; + let reason = ''; + + if (payload.length === 1) { + this._failConnection(1002, 'Close payload length 1'); + return; + } + + if (payload.length >= 2) { + code = payload.readUInt16BE(0); + + if (!isValidCloseCode(code)) { + this._failConnection(1002, 'Invalid close code'); + return; + } + + if (payload.length > 2) { + try { + reason = new TextDecoder('utf-8', { fatal: true }).decode(payload.subarray(2)); + } catch { + this._failConnection(1007, 'Invalid UTF-8 in close reason'); + return; + } + } + } + + this._closeCodeReceived = code; + this._closeReasonReceived = reason; + + if (this._readyState === OPEN) { + this._readyState = CLOSING; + const echo = encodeClosePayload(code === 1005 ? undefined : code, ''); + this._sendControl(OP_CLOSE, echo); + this._closeFrameSent = true; + this._endSocketSoon(); + } else if (this._readyState === CLOSING) { + this._endSocketSoon(); + } + } + + protected _endSocketSoon(): void { + try { + this._socket.end(); + } catch { + /* noop */ + } + + if (this._closeTimer) { + clearTimeout(this._closeTimer); + } + + this._closeTimer = setTimeout(() => this._destroySocket(), 30000); + this._closeTimer.unref?.(); + } + + protected _destroySocket(): void { + try { + this._socket.destroy(); + } catch { + /* noop */ + } + } + + protected _failConnection(code: number, reason: string): void { + if (this._readyState === CLOSED) { + return; + } + + const payload = encodeClosePayload(code, reason); + let frame: Buffer | null = null; + + try { + frame = native.buildFrame( + OP_CLOSE, + true, + payload, + this._isServer ? null : randomMaskKey(), + 0, + ); + } catch { + /* noop */ + } + + this._closeCodeSent = code; + this._readyState = CLOSING; + const err = new Error(`WebSocket protocol error: ${reason}`) as Error & { code?: number }; + err.code = code; + this.emit('error', err); + + try { + if (frame) { + this._socket.end(frame); + } else { + this._socket.end(); + } + } catch { + /* noop */ + } + + if (this._closeTimer) { + clearTimeout(this._closeTimer); + } + + this._closeTimer = setTimeout(() => this._destroySocket(), 2000); + this._closeTimer.unref?.(); + } + + protected _sendControl(opcode: number, payload?: Buffer): void { + const data = payload ?? Buffer.alloc(0); + const frame = native.buildFrame( + opcode, + true, + data, + this._isServer ? null : randomMaskKey(), + 0, + ); + this._socket.write(frame); + } + + // Public API ------------------------------------------------------------- + + send( + data: string | Buffer | Uint8Array | ArrayBuffer, + options?: SendOptions | SendCallback, + cb?: SendCallback, + ): void { + if (typeof options === 'function') { + cb = options; + options = undefined; + } + + const opts: SendOptions = options || {}; + + if (this._readyState !== OPEN) { + const err = new Error('WebSocket is not open'); + + if (cb) { + cb(err); + return; + } + + throw err; + } + + let payload: Buffer; + let opcode: number; + + if (typeof data === 'string') { + payload = Buffer.from(data, 'utf8'); + opcode = opts.binary ? OP_BIN : OP_TEXT; + } else if (Buffer.isBuffer(data)) { + payload = data; + opcode = opts.binary === false ? OP_TEXT : OP_BIN; + } else if (data instanceof Uint8Array) { + payload = Buffer.from(data.buffer, data.byteOffset, data.byteLength); + opcode = opts.binary === false ? OP_TEXT : OP_BIN; + } else if (data instanceof ArrayBuffer) { + payload = Buffer.from(data); + opcode = opts.binary === false ? OP_TEXT : OP_BIN; + } else { + const err = new TypeError('Unsupported data type for send()'); + + if (cb) { + cb(err); + return; + } + + throw err; + } + + let rsv = 0; + + if ( + this._perMessageDeflate && + opts.compress !== false && + payload.length >= (this._perMessageDeflate.threshold ?? 1024) + ) { + payload = compressRaw(payload); + rsv = RSV1; + } + + const maskKey = this._isServer ? null : randomMaskKey(); + const frame = native.buildFrame(opcode, true, payload, maskKey, rsv); + this._socket.write(frame, cb); + } + + ping(data?: Buffer | string | SendCallback, _mask?: unknown, cb?: SendCallback): void { + if (typeof data === 'function') { + cb = data; + data = undefined; + } + + const payload = data + ? Buffer.isBuffer(data) + ? data + : Buffer.from(String(data), 'utf8') + : Buffer.alloc(0); + + if (payload.length > 125) { + throw new Error('Ping payload must be <=125 bytes'); + } + + if (this._readyState !== OPEN) { + const err = new Error('WebSocket is not open'); + + if (cb) { + cb(err); + return; + } + + throw err; + } + + const maskKey = this._isServer ? null : randomMaskKey(); + const frame = native.buildFrame(OP_PING, true, payload, maskKey, 0); + this._socket.write(frame, cb); + } + + pong(data?: Buffer | string | SendCallback, _mask?: unknown, cb?: SendCallback): void { + if (typeof data === 'function') { + cb = data; + data = undefined; + } + + const payload = data + ? Buffer.isBuffer(data) + ? data + : Buffer.from(String(data), 'utf8') + : Buffer.alloc(0); + + if (payload.length > 125) { + throw new Error('Pong payload must be <=125 bytes'); + } + + if (this._readyState !== OPEN) { + const err = new Error('WebSocket is not open'); + + if (cb) { + cb(err); + return; + } + + throw err; + } + + const maskKey = this._isServer ? null : randomMaskKey(); + const frame = native.buildFrame(OP_PONG, true, payload, maskKey, 0); + this._socket.write(frame, cb); + } + + close(code?: number, reason?: string): void { + if (this._readyState === CLOSED || this._readyState === CLOSING) { + return; + } + + if (code !== undefined && !isValidCloseCode(code)) { + throw new RangeError(`Invalid close code: ${code}`); + } + + const reasonBuf = reason ? Buffer.from(String(reason), 'utf8') : Buffer.alloc(0); + + if (reasonBuf.length > 123) { + throw new RangeError('Close reason must be <=123 bytes'); + } + + const payload = encodeClosePayload(code, reason); + const maskKey = this._isServer ? null : randomMaskKey(); + const frame = native.buildFrame(OP_CLOSE, true, payload, maskKey, 0); + this._readyState = CLOSING; + this._closeCodeSent = code ?? null; + this._socket.write(frame); + this._closeFrameSent = true; + this._endSocketSoon(); + } + + terminate(): void { + this._readyState = CLOSING; + this._destroySocket(); + } +} diff --git a/packages/websocket/tests/client.test.ts b/packages/websocket/tests/client.test.ts new file mode 100644 index 00000000..37ff0fd8 --- /dev/null +++ b/packages/websocket/tests/client.test.ts @@ -0,0 +1,1196 @@ +import crypto, { createHash } from 'node:crypto'; +import net from 'node:net'; +import type { AddressInfo, Socket } from 'node:net'; +import tls from 'node:tls'; +import { afterEach, describe, expect, it, vi } from 'vitest'; + +import { WebSocketClient } from '../src/client'; + +const ACCEPT_GUID = '258EAFA5-E914-47DA-95CA-C5AB0DC85B11'; + +// Throwaway self-signed pair (openssl, CN=snowluma-test). Used only with +// rejectUnauthorized: false so expiry/SAN are irrelevant. +const TLS_CERT = `-----BEGIN CERTIFICATE----- +MIIDETCCAfmgAwIBAgIUNiu66PmcO6Do6cUaB92UKD8j3qYwDQYJKoZIhvcNAQEL +BQAwGDEWMBQGA1UEAwwNc25vd2x1bWEtdGVzdDAeFw0yNjA2MTgwNjIwMTZaFw0z +NjA2MTUwNjIwMTZaMBgxFjAUBgNVBAMMDXNub3dsdW1hLXRlc3QwggEiMA0GCSqG +SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCm0sVJhqlG75gOFJVsUJOfR+oqvb9eSq4t +k5QItuwXr85E2mrzuKFnSzVVbi3VqqyN8t4otL11mGll2ANSjusmWN4hzpaOBBdX +bP4UNX/YA7oHId+QKbVicxJgxDE18aPTwaWullyw23LsMsij8T4nLk4eHiOkeRfi +uLinG1COe3gUGkCK4uyyMT4Vz+y+5Oj9dvoXYL/A/KmcNtq7JrX7F7qYnYsJKLZZ +aZeFyIGSE8ihb0k53iyJ3agWY+rMUD+p5J7pgIZzBd5dcZuI+KwixVKZgapG5n5R +ghrnN2ZAQFz13yTRXYmDYy42m4Ue73hMmmt1xVXyf+WVhvrD6pphAgMBAAGjUzBR +MB0GA1UdDgQWBBRW/HP12nj9fYMYNxa3jyqmnUigvTAfBgNVHSMEGDAWgBRW/HP1 +2nj9fYMYNxa3jyqmnUigvTAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUA +A4IBAQCijzVQ/jHNoqu6stvkkigUv2lTKrd1EHcTZLfzwQkmNv/hfY2EMobO/Qxs +FhmITreKFALJ/dUwTt0UTO00LV9whEgr2of4x8wwjZ9wRstY6uyRYBP85QC8+8mZ +zWlcf611HugrmpOWjWfEVmmxdI1m26YWTn52nZFPnJqDWg2+RlLJWl55lVotbXEZ +Fvas4Vcf2KOk0QwBQKvpt0BISeTIQhbT4GnducxSxyoXGeBQOjQNYb/vTpMn4F9U +IAxSsfs9WVoHKXOabK8GV89BCxWoRk4UaSahTq/2Vnbgt86tWibt3lA4y49+XhA2 +6z7n9HgJAUKqhsDrYvZmM7/VZ2d5 +-----END CERTIFICATE----- +`; +const TLS_KEY = `-----BEGIN PRIVATE KEY----- +MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCm0sVJhqlG75gO +FJVsUJOfR+oqvb9eSq4tk5QItuwXr85E2mrzuKFnSzVVbi3VqqyN8t4otL11mGll +2ANSjusmWN4hzpaOBBdXbP4UNX/YA7oHId+QKbVicxJgxDE18aPTwaWullyw23Ls +Msij8T4nLk4eHiOkeRfiuLinG1COe3gUGkCK4uyyMT4Vz+y+5Oj9dvoXYL/A/Kmc +Ntq7JrX7F7qYnYsJKLZZaZeFyIGSE8ihb0k53iyJ3agWY+rMUD+p5J7pgIZzBd5d +cZuI+KwixVKZgapG5n5RghrnN2ZAQFz13yTRXYmDYy42m4Ue73hMmmt1xVXyf+WV +hvrD6pphAgMBAAECggEAJ13+u4qhIMHCnrQBzPU42PImEt8DLXOvJcc5PFM6ZJ6S +rRHkAk60HAWV+OqOu2jS3o6NGYsJWJpWaPewVQev+zUmelDfm3TgsztfvBIh8K50 +dGFsef81tB1WnWo++K1kzUBZ4ljOV9f5hz62tWVlFubo/Vd8bsA6wEB6Jskd2fls +ZOO0hJCb/M6IIwe3cWw4sb/YFTTLMUnVHM0aJfnQ/QH+uraRwecJMv118d0YBYVG +DsNmYqrv9TYNBh4P9mKv6/0x8zaKsJZVLAMwHztILHItOXBfxCbSDivGWVUGiDq2 +NxEuBOgxzOelxEYzUzf7B6sjHoEeIL5wIKQbwUbmfwKBgQDZRLhucrMZPw7ous1t +igkO32p1ku7FRxm0/JAskc66oX61KLIYbZFM9N7nTXAEs8ZGhzUkdSgxNcdHWIdK +RI+6pd2FhhcKU1feEohlOHvZTXXEMhm61phWnN391GZXfwMKSpscqsu9kIix2jtw +4YrzKLx82EDDHcLfBh9AtArKywKBgQDEj+7UJp5wuqz9hj+gogXeq4Buv9be1u4u +HCJZMZzLCwVjvoqYw0n1afXP3057v8hQPGsBaxzQpOg7i1lYGGfuZ9T6T8fFrtqw +m/LJLHhMQxeyCEQi1/EoNewvVGSwBJkLOuOs8T2WmMXmOgdHbEYdzkKtT71jst6y +TeJ15hVuAwKBgBMK4t9LTkc4L6ZWOQsQvhp/mmUTq7m+sZIbUMeXP/c7kE9wcauS +btm/3ImJT/gZiZdE4nN/kTY+8GhgafsoZzCEuRWq2vocs+bS2QGGIdS55Uh826R0 +ioWM2igVJaMljq6oO1AX6COFN3XfGraaDgOh3mNS0NpJEXtangKdxRRhAoGAP9SF +t/r6hJz6RDHuQ5mZ0l9bC5vciOy+19ZnCRPlWMIxc9ySYV05jSplmqVndSQoRnX4 +QbOo3dBPYda0orj6Nx8cuFRkCTvo5GUgCFgakJlQ/o1UowQA2g/4rL35HHfBwzXS +bXzBhUADM+owJu9wLYmneWRlmhSh4MEOAz8+QkUCgYAw0fA1Im2/ftrA2Z2IENTi +U4cLXqeUeGJfXjIBklUmXhc4qrd/9V9eEHjackI/JI7Qhp/QfPWMXLudlSrppnNJ ++s3dVevEKosiZbf4qtTtlmR/IifuTKjK5O94KlBT+evxNsL4Hv0b0oTsVNnEfOOl +OUsvSYNSnfvl87tyLIxYLA== +-----END PRIVATE KEY----- +`; + +const closers: Array<() => void | Promise> = []; + +afterEach(async () => { + vi.restoreAllMocks(); + const pending = closers.splice(0).reverse(); + + for (const close of pending) { + await close(); + } +}); + +function acceptKey(key: string): string { + return createHash('sha1') + .update(key + ACCEPT_GUID) + .digest('base64'); +} + +function serverFrame(opcode: number, payload: Buffer): Buffer { + if (payload.length > 125) { + throw new Error('test frames must be <=125 bytes'); + } + + return Buffer.concat([Buffer.from([0x80 | opcode, payload.length]), payload]); +} + +function tryDecodeClientFrame( + buf: Buffer, +): { opcode: number; payload: Buffer; rest: Buffer } | null { + if (buf.length < 2) { + return null; + } + + const opcode = buf[0]! & 0x0f; + const masked = (buf[1]! & 0x80) !== 0; + let length = buf[1]! & 0x7f; + let offset = 2; + + if (length === 126) { + if (buf.length < 4) { + return null; + } + + length = buf.readUInt16BE(2); + offset = 4; + } + + const maskLen = masked ? 4 : 0; + + if (buf.length < offset + maskLen + length) { + return null; + } + + let mask: Buffer | undefined; + + if (masked) { + mask = buf.subarray(offset, offset + 4); + offset += 4; + } + + const payload = Buffer.from(buf.subarray(offset, offset + length)); + + if (mask) { + for (let i = 0; i < payload.length; i++) { + payload[i]! ^= mask[i & 3]!; + } + } + + return { opcode, payload, rest: buf.subarray(offset + length) }; +} + +function collectFrames(socket: Socket) { + let buf = Buffer.alloc(0); + socket.on('data', (chunk: Buffer) => { + buf = Buffer.concat([buf, chunk]); + }); + return { + async next(): Promise<{ opcode: number; payload: Buffer }> { + for (;;) { + const decoded = tryDecodeClientFrame(buf); + + if (decoded) { + buf = decoded.rest; + return { opcode: decoded.opcode, payload: decoded.payload }; + } + + await new Promise((resolve, reject) => { + const timer = setTimeout( + () => reject(new Error('timeout waiting for frame')), + 3000, + ); + + const onChunk = () => { + clearTimeout(timer); + socket.off('data', onChunk); + socket.off('error', onErr); + resolve(); + }; + + const onErr = (err: Error) => { + clearTimeout(timer); + socket.off('data', onChunk); + reject(err); + }; + + socket.on('data', onChunk); + socket.on('error', onErr); + + if (tryDecodeClientFrame(buf)) { + onChunk(); + } + }); + } + }, + }; +} + +function handshakeResponse(key: string, extraHeaders: string[] = [], rest?: Buffer): Buffer { + const lines = [ + 'HTTP/1.1 101 Switching Protocols', + 'Upgrade: websocket', + 'Connection: Upgrade', + `Sec-WebSocket-Accept: ${acceptKey(key)}`, + ...extraHeaders, + '', + '', + ]; + const head = Buffer.from(lines.join('\r\n'), 'latin1'); + return rest && rest.length > 0 ? Buffer.concat([head, rest]) : head; +} + +type ParsedRequest = { + requestLine: string; + headers: Record; +}; + +function parseRequest(raw: string): ParsedRequest { + const lines = raw.split('\r\n'); + const headers: Record = Object.create(null); + + for (const line of lines.slice(1)) { + const colon = line.indexOf(':'); + + if (colon < 0) { + continue; + } + + headers[line.slice(0, colon).trim().toLowerCase()] = line.slice(colon + 1).trim(); + } + + return { requestLine: lines[0] ?? '', headers }; +} + +function readRequest(socket: Socket): Promise { + return new Promise((resolve, reject) => { + let buf = Buffer.alloc(0); + const timer = setTimeout( + () => reject(new Error('timeout waiting for handshake request')), + 3000, + ); + + const onError = (err: Error) => { + clearTimeout(timer); + reject(err); + }; + + const onData = (chunk: Buffer) => { + buf = Buffer.concat([buf, chunk]); + const idx = buf.indexOf('\r\n\r\n'); + + if (idx < 0) { + return; + } + + clearTimeout(timer); + socket.off('data', onData); + socket.off('error', onError); + resolve(parseRequest(buf.subarray(0, idx).toString('latin1'))); + }; + + socket.on('data', onData); + socket.on('error', onError); + }); +} + +function track(client: WebSocketClient) { + const errors: Error[] = []; + const closes: Array<{ code: number; reason: string }> = []; + const messages: Array<{ data: Buffer; isBinary: boolean }> = []; + const pings: Buffer[] = []; + const pongs: Buffer[] = []; + let upgrade: + { statusCode: number; statusMessage: string; headers: Record } | undefined; + let opened = false; + + client.on('error', (err) => errors.push(err)); + client.on('close', (code, reason) => closes.push({ code, reason })); + client.on('message', (data, isBinary) => messages.push({ data, isBinary })); + client.on('ping', (data) => pings.push(data)); + client.on('pong', (data) => pongs.push(data)); + client.on('upgrade', (parsed) => { + upgrade = parsed as { + statusCode: number; + statusMessage: string; + headers: Record; + }; + }); + client.on('open', () => { + opened = true; + }); + + const wait = ( + label: string, + ready: () => T | undefined, + subscribe: (finish: (value: T) => void) => void, + ): Promise => { + const existing = ready(); + + if (existing !== undefined) { + return Promise.resolve(existing); + } + + return new Promise((resolve, reject) => { + const timer = setTimeout(() => reject(new Error(`timeout waiting for ${label}`)), 3000); + subscribe((value) => { + clearTimeout(timer); + resolve(value); + }); + }); + }; + + return { + errors, + closes, + messages, + pings, + pongs, + get upgrade() { + return upgrade; + }, + waitOpen: () => + new Promise((resolve, reject) => { + if (opened) { + return resolve(); + } + + if (errors.length) { + return reject(errors[0]); + } + + const timer = setTimeout(() => reject(new Error('timeout waiting for open')), 3000); + + const onOpen = () => { + cleanup(); + resolve(); + }; + + const onError = (err: Error) => { + cleanup(); + reject(err); + }; + + const cleanup = () => { + clearTimeout(timer); + client.off('open', onOpen); + client.off('error', onError); + }; + + client.once('open', onOpen); + client.once('error', onError); + }), + waitError: () => + wait( + 'error', + () => errors[0], + (finish) => { + client.once('error', (err) => finish(err)); + }, + ), + waitClose: () => + wait( + 'close', + () => closes[0], + (finish) => { + client.once('close', (code, reason) => finish({ code, reason })); + }, + ), + waitMessage: () => + wait( + 'message', + () => messages[0], + (finish) => { + client.once('message', (data, isBinary) => finish({ data, isBinary })); + }, + ), + waitPing: () => + wait( + 'ping', + () => pings[0], + (finish) => { + client.once('ping', (data) => finish(data)); + }, + ), + waitPong: () => + wait( + 'pong', + () => pongs[0], + (finish) => { + client.once('pong', (data) => finish(data)); + }, + ), + }; +} + +async function listenPlain(): Promise<{ port: number; nextSocket: () => Promise }> { + const sockets = new Set(); + const queued: Socket[] = []; + const waiters: Array<(socket: Socket) => void> = []; + const server = net.createServer((socket) => { + sockets.add(socket); + const waiter = waiters.shift(); + + if (waiter) { + waiter(socket); + } else { + queued.push(socket); + } + }); + await new Promise((resolve, reject) => { + const onError = (err: Error) => reject(err); + server.once('error', onError); + server.listen(0, '127.0.0.1', () => { + server.off('error', onError); + resolve(); + }); + }); + const port = (server.address() as AddressInfo).port; + closers.push(() => { + for (const socket of sockets) { + socket.destroy(); + } + + return new Promise((resolve, reject) => { + server.close((err) => (err ? reject(err) : resolve())); + }); + }); + return { + port, + nextSocket: () => { + const socket = queued.shift(); + + if (socket) { + return Promise.resolve(socket); + } + + return new Promise((resolve) => waiters.push(resolve)); + }, + }; +} + +async function listenTls(): Promise<{ port: number; nextSocket: () => Promise }> { + const sockets = new Set(); + const queued: tls.TLSSocket[] = []; + const waiters: Array<(socket: tls.TLSSocket) => void> = []; + const server = tls.createServer({ cert: TLS_CERT, key: TLS_KEY }, (socket) => { + sockets.add(socket); + const waiter = waiters.shift(); + + if (waiter) { + waiter(socket); + } else { + queued.push(socket); + } + }); + await new Promise((resolve, reject) => { + const onError = (err: Error) => reject(err); + server.once('error', onError); + server.listen(0, '127.0.0.1', () => { + server.off('error', onError); + resolve(); + }); + }); + const port = (server.address() as AddressInfo).port; + closers.push(() => { + for (const socket of sockets) { + socket.destroy(); + } + + return new Promise((resolve, reject) => { + server.close((err) => (err ? reject(err) : resolve())); + }); + }); + return { + port, + nextSocket: () => { + const socket = queued.shift(); + + if (socket) { + return Promise.resolve(socket); + } + + return new Promise((resolve) => waiters.push(resolve)); + }, + }; +} + +function createClient( + address: string, + protocols?: string | string[] | ConstructorParameters[1], + options?: ConstructorParameters[2], +): WebSocketClient { + const client = new WebSocketClient(address, protocols, options); + client.on('error', () => {}); + closers.push(() => { + try { + client.terminate(); + } catch { + /* already closed */ + } + }); + return client; +} + +async function unusedPort(): Promise { + const server = net.createServer(); + await new Promise((resolve, reject) => { + const onError = (err: Error) => reject(err); + server.once('error', onError); + server.listen(0, '127.0.0.1', () => { + server.off('error', onError); + resolve(); + }); + }); + const port = (server.address() as AddressInfo).port; + await new Promise((resolve, reject) => { + server.close((err) => (err ? reject(err) : resolve())); + }); + return port; +} + +async function writeAndTick(socket: Socket, data: Buffer | string): Promise { + await new Promise((resolve, reject) => { + socket.write(data, (err) => (err ? reject(err) : resolve())); + }); + await new Promise((resolve) => setImmediate(resolve)); +} + +describe('WebSocketClient', () => { + it('exposes the standard ready-state constants', () => { + expect(WebSocketClient.CONNECTING).toBe(0); + expect(WebSocketClient.OPEN).toBe(1); + expect(WebSocketClient.CLOSING).toBe(2); + expect(WebSocketClient.CLOSED).toBe(3); + }); + + it('rejects non-ws URLs before connecting', () => { + expect(() => new WebSocketClient('http://127.0.0.1/')).toThrowError( + new Error('Only ws: and wss: URLs are supported'), + ); + expect(() => new WebSocketClient('https://127.0.0.1/')).toThrowError( + new Error('Only ws: and wss: URLs are supported'), + ); + expect(() => new WebSocketClient('foo')).toThrow(TypeError); + }); + + it('starts in CONNECTING', async () => { + const { port } = await listenPlain(); + const client = createClient(`ws://127.0.0.1:${port}`); + expect(client.readyState).toBe(0); + expect(client.protocol).toBe(''); + expect(client.extensions).toBe(''); + }); + + it('sends RFC 6455 handshake fields, path, query, protocols, deflate offer, and extra headers', async () => { + const { port, nextSocket } = await listenPlain(); + const client = createClient( + `ws://127.0.0.1:${port}/rooms/1?token=abc`, + ['chat', 'superchat'], + { + perMessageDeflate: true, + headers: { 'X-Token': 'secret', Authorization: 'Bearer t' }, + }, + ); + const events = track(client); + const socket = await nextSocket(); + const req = await readRequest(socket); + + expect(req.requestLine).toBe('GET /rooms/1?token=abc HTTP/1.1'); + expect(req.headers.host).toBe(`127.0.0.1:${port}`); + expect(req.headers.upgrade).toBe('websocket'); + expect(req.headers.connection).toBe('Upgrade'); + expect(req.headers['sec-websocket-version']).toBe('13'); + expect(req.headers['sec-websocket-key']).toMatch(/^[A-Za-z0-9+/]{22}==$/); + expect(req.headers['sec-websocket-protocol']).toBe('chat, superchat'); + expect(req.headers['sec-websocket-extensions']).toBe( + 'permessage-deflate; client_no_context_takeover; server_no_context_takeover', + ); + expect(req.headers['x-token']).toBe('secret'); + expect(req.headers.authorization).toBe('Bearer t'); + expect(client.readyState).toBe(0); + expect(events.errors).toEqual([]); + }); + + it('treats a string protocol as a one-element list', async () => { + const { port, nextSocket } = await listenPlain(); + createClient(`ws://127.0.0.1:${port}`, 'chat'); + const req = await readRequest(await nextSocket()); + expect(req.headers['sec-websocket-protocol']).toBe('chat'); + }); + + it('omits Sec-WebSocket-Protocol when the list is empty', async () => { + const { port, nextSocket } = await listenPlain(); + createClient(`ws://127.0.0.1:${port}`, []); + const req = await readRequest(await nextSocket()); + expect(req.headers['sec-websocket-protocol']).toBeUndefined(); + }); + + it('treats a non-array object second argument as options, not protocols', async () => { + const { port, nextSocket } = await listenPlain(); + createClient(`ws://127.0.0.1:${port}`, { + headers: { 'X-From-Options': 'yes' }, + perMessageDeflate: false, + }); + const req = await readRequest(await nextSocket()); + expect(req.headers['sec-websocket-protocol']).toBeUndefined(); + expect(req.headers['sec-websocket-extensions']).toBeUndefined(); + expect(req.headers['x-from-options']).toBe('yes'); + }); + + it('offers only the requested permessage-deflate flags', async () => { + const { port, nextSocket } = await listenPlain(); + createClient(`ws://127.0.0.1:${port}`, { + perMessageDeflate: { clientNoContextTakeover: false }, + }); + const req = await readRequest(await nextSocket()); + expect(req.headers['sec-websocket-extensions']).toBe( + 'permessage-deflate; server_no_context_takeover', + ); + }); + + it('uses Host without a port when the URL port is the ws default', async () => { + const { port, nextSocket } = await listenPlain(); + createClient('ws://127.0.0.1:80/chat', { + socketOptions: { port, host: '127.0.0.1' }, + }); + const req = await readRequest(await nextSocket()); + expect(req.requestLine).toBe('GET /chat HTTP/1.1'); + expect(req.headers.host).toBe('127.0.0.1'); + }); + + it('emits upgrade+open, records protocol/extensions, and forwards leftover frames', async () => { + const { port, nextSocket } = await listenPlain(); + const client = createClient(`ws://127.0.0.1:${port}`, ['chat', 'superchat'], { + perMessageDeflate: true, + }); + const events = track(client); + const socket = await nextSocket(); + const req = await readRequest(socket); + const rest = serverFrame(0x1, Buffer.from('hello')); + socket.write( + handshakeResponse( + req.headers['sec-websocket-key']!, + [ + 'NoColonLine', + 'Sec-WebSocket-Protocol: superchat', + 'Sec-WebSocket-Extensions: permessage-deflate; client_no_context_takeover; server_no_context_takeover', + ], + rest, + ), + ); + + await events.waitOpen(); + const message = await events.waitMessage(); + expect(client.readyState).toBe(1); + expect(client.protocol).toBe('superchat'); + expect(client.extensions).toBe('permessage-deflate'); + expect(events.upgrade).toMatchObject({ + statusCode: 101, + statusMessage: 'Switching Protocols', + headers: { + upgrade: 'websocket', + connection: 'Upgrade', + 'sec-websocket-accept': acceptKey(req.headers['sec-websocket-key']!), + 'sec-websocket-protocol': 'superchat', + 'sec-websocket-extensions': + 'permessage-deflate; client_no_context_takeover; server_no_context_takeover', + }, + }); + expect(message.data).toEqual(Buffer.from('hello')); + expect(message.isBinary).toBe(false); + }); + + it('accepts a 101 that arrives in two TCP chunks and Upgrade/Connection variants', async () => { + const { port, nextSocket } = await listenPlain(); + const client = createClient(`ws://127.0.0.1:${port}`); + const events = track(client); + const socket = await nextSocket(); + const req = await readRequest(socket); + await writeAndTick(socket, 'HTTP/1.1 101\r\n'); + expect(client.readyState).toBe(0); + socket.write( + `Upgrade: WebSocket\r\nConnection: keep-alive, Upgrade\r\nSec-WebSocket-Accept: ${acceptKey(req.headers['sec-websocket-key']!)}\r\n\r\n`, + ); + await events.waitOpen(); + expect(client.readyState).toBe(1); + expect(events.upgrade?.statusMessage).toBe(''); + expect(events.upgrade?.headers.upgrade).toBe('WebSocket'); + expect(events.upgrade?.headers.connection).toBe('keep-alive, Upgrade'); + }); + + it('accepts the RFC 6455 example Sec-WebSocket-Accept', async () => { + vi.spyOn(crypto, 'randomBytes').mockImplementation(((size: number) => { + expect(size).toBe(16); + return Buffer.from('the sample nonce'); + }) as typeof crypto.randomBytes); + const { port, nextSocket } = await listenPlain(); + const client = createClient(`ws://127.0.0.1:${port}`); + const events = track(client); + const socket = await nextSocket(); + const req = await readRequest(socket); + expect(req.headers['sec-websocket-key']).toBe('dGhlIHNhbXBsZSBub25jZQ=='); + socket.write( + [ + 'HTTP/1.1 101 Switching Protocols', + 'Upgrade: websocket', + 'Connection: Upgrade', + 'Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=', + '', + '', + ].join('\r\n'), + ); + await events.waitOpen(); + expect(client.readyState).toBe(1); + }); + + it('keeps CONNECTING while the response is incomplete and aborts once it exceeds 16384 bytes', async () => { + const { port, nextSocket } = await listenPlain(); + const client = createClient(`ws://127.0.0.1:${port}`); + const events = track(client); + const socket = await nextSocket(); + await writeAndTick(socket, Buffer.alloc(16384, 0x58)); + expect(client.readyState).toBe(0); + expect(events.errors).toEqual([]); + socket.write('Y'); + const err = await events.waitError(); + expect(err.message).toBe('WebSocket handshake failed: Handshake response too large'); + expect(await events.waitClose()).toEqual({ code: 1006, reason: '' }); + expect(client.readyState).toBe(3); + }); + + it.each([ + { + name: 'a non-HTTP status line', + respond: () => 'NOT-A-STATUS\r\n\r\n', + message: 'WebSocket handshake failed: Bad HTTP status line: NOT-A-STATUS', + }, + { + name: 'HTTP/1.0', + respond: () => 'HTTP/1.0 101 Switching Protocols\r\n\r\n', + message: + 'WebSocket handshake failed: Bad HTTP status line: HTTP/1.0 101 Switching Protocols', + }, + { + name: 'an empty header block', + respond: () => '\r\n\r\n', + message: 'WebSocket handshake failed: Bad HTTP status line: ', + }, + { + name: 'a non-101 status', + respond: () => 'HTTP/1.1 400 Bad Request\r\n\r\n', + message: 'WebSocket handshake failed: Unexpected response status 400', + }, + { + name: 'a missing Upgrade header', + respond: (key: string) => + `HTTP/1.1 101 Switching Protocols\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: ${acceptKey(key)}\r\n\r\n`, + message: 'WebSocket handshake failed: Missing/invalid Upgrade header', + }, + { + name: 'an Upgrade header that is not websocket', + respond: (key: string) => + `HTTP/1.1 101 Switching Protocols\r\nUpgrade: h2c\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: ${acceptKey(key)}\r\n\r\n`, + message: 'WebSocket handshake failed: Missing/invalid Upgrade header', + }, + { + name: 'a Connection header without upgrade', + respond: (key: string) => + `HTTP/1.1 101 Switching Protocols\r\nUpgrade: websocket\r\nConnection: keep-alive\r\nSec-WebSocket-Accept: ${acceptKey(key)}\r\n\r\n`, + message: 'WebSocket handshake failed: Missing Connection: Upgrade header', + }, + { + name: 'a missing Connection header', + respond: (key: string) => + `HTTP/1.1 101 Switching Protocols\r\nUpgrade: websocket\r\nSec-WebSocket-Accept: ${acceptKey(key)}\r\n\r\n`, + message: 'WebSocket handshake failed: Missing Connection: Upgrade header', + }, + { + name: 'an invalid Sec-WebSocket-Accept', + respond: () => + 'HTTP/1.1 101 Switching Protocols\r\nUpgrade: websocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: AAAAAAAAAAAAAAAAAAAAAAAAAAA=\r\n\r\n', + message: 'WebSocket handshake failed: Invalid Sec-WebSocket-Accept', + }, + { + name: 'an unexpected extension when none were offered', + respond: (key: string) => + `HTTP/1.1 101 Switching Protocols\r\nUpgrade: websocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: ${acceptKey(key)}\r\nSec-WebSocket-Extensions: permessage-deflate\r\n\r\n`, + message: 'WebSocket handshake failed: Unexpected Sec-WebSocket-Extensions', + }, + { + name: 'an unexpected subprotocol when none were requested', + respond: (key: string) => + `HTTP/1.1 101 Switching Protocols\r\nUpgrade: websocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: ${acceptKey(key)}\r\nSec-WebSocket-Protocol: chat\r\n\r\n`, + message: 'WebSocket handshake failed: Unexpected Sec-WebSocket-Protocol', + }, + ])('aborts the handshake on $name', async ({ respond, message }) => { + const { port, nextSocket } = await listenPlain(); + const client = createClient(`ws://127.0.0.1:${port}`); + const events = track(client); + const socket = await nextSocket(); + const req = await readRequest(socket); + socket.write(respond(req.headers['sec-websocket-key'] ?? '')); + const err = await events.waitError(); + expect(err.message).toBe(message); + expect(await events.waitClose()).toEqual({ code: 1006, reason: '' }); + expect(client.readyState).toBe(3); + }); + + it('aborts when the selected subprotocol is not in the offered list', async () => { + const { port, nextSocket } = await listenPlain(); + const client = createClient(`ws://127.0.0.1:${port}`, ['chat']); + const events = track(client); + const socket = await nextSocket(); + const req = await readRequest(socket); + socket.write( + handshakeResponse(req.headers['sec-websocket-key']!, ['Sec-WebSocket-Protocol: other']), + ); + const err = await events.waitError(); + expect(err.message).toBe('WebSocket handshake failed: Unexpected Sec-WebSocket-Protocol'); + expect(client.readyState).toBe(3); + }); + + it('aborts when the server returns an unsupported permessage-deflate parameter', async () => { + const { port, nextSocket } = await listenPlain(); + const client = createClient(`ws://127.0.0.1:${port}`, { perMessageDeflate: true }); + const events = track(client); + const socket = await nextSocket(); + const req = await readRequest(socket); + socket.write( + handshakeResponse(req.headers['sec-websocket-key']!, [ + 'Sec-WebSocket-Extensions: permessage-deflate; server_max_window_bits=10', + ]), + ); + const err = await events.waitError(); + expect(err.message).toBe( + 'WebSocket handshake failed: Unsupported permessage-deflate parameter: server_max_window_bits', + ); + expect(client.readyState).toBe(3); + }); + + it('opens without extensions when deflate was offered but the server omitted them', async () => { + const { port, nextSocket } = await listenPlain(); + const client = createClient(`ws://127.0.0.1:${port}`, { perMessageDeflate: true }); + const events = track(client); + const socket = await nextSocket(); + const req = await readRequest(socket); + socket.write(handshakeResponse(req.headers['sec-websocket-key']!)); + await events.waitOpen(); + expect(client.extensions).toBe(''); + expect(client.protocol).toBe(''); + }); + + it('forwards a binary leftover frame as isBinary=true', async () => { + const { port, nextSocket } = await listenPlain(); + const client = createClient(`ws://127.0.0.1:${port}`); + const events = track(client); + const socket = await nextSocket(); + const req = await readRequest(socket); + socket.write( + handshakeResponse( + req.headers['sec-websocket-key']!, + [], + serverFrame(0x2, Buffer.from([0xde, 0xad])), + ), + ); + await events.waitOpen(); + const message = await events.waitMessage(); + expect(message.data).toEqual(Buffer.from([0xde, 0xad])); + expect(message.isBinary).toBe(true); + }); + + it('queues send() until the socket is open, including options-as-callback', async () => { + const { port, nextSocket } = await listenPlain(); + const client = createClient(`ws://127.0.0.1:${port}`); + const events = track(client); + const queued = new Promise((resolve) => { + client.send('queued', (err) => resolve(err)); + }); + client.send('bin', { binary: true }); + client.ping('too-early'); + client.pong('too-early'); + + const socket = await nextSocket(); + const req = await readRequest(socket); + const frames = collectFrames(socket); + socket.write(handshakeResponse(req.headers['sec-websocket-key']!)); + await events.waitOpen(); + expect(await queued).toBeFalsy(); + + const first = await frames.next(); + expect(first.opcode).toBe(0x1); + expect(first.payload).toEqual(Buffer.from('queued')); + const second = await frames.next(); + expect(second.opcode).toBe(0x2); + expect(second.payload).toEqual(Buffer.from('bin')); + }); + + it('settles queued sends once on a rejected handshake and rejects further sends', async () => { + const { port, nextSocket } = await listenPlain(); + const client = createClient(`ws://127.0.0.1:${port}`); + const events = track(client); + const reentrant = vi.fn(); + const fromError = vi.fn(); + const first = vi.fn(() => client.send('from failed callback', reentrant)); + const second = vi.fn(); + client.on('error', () => client.send('from error listener', fromError)); + client.send('first', first); + client.send('second', { binary: true }, second); + client.send('without callback'); + const socket = await nextSocket(); + await readRequest(socket); + socket.end('HTTP/1.1 401 Unauthorized\r\nContent-Length: 0\r\n\r\n'); + await events.waitClose(); + await new Promise((resolve) => setImmediate(resolve)); + + expect(first).toHaveBeenCalledExactlyOnceWith(events.errors[0]); + expect(second).toHaveBeenCalledExactlyOnceWith(events.errors[0]); + expect(reentrant).toHaveBeenCalledExactlyOnceWith(expect.any(Error)); + expect(fromError).toHaveBeenCalledExactlyOnceWith(expect.any(Error)); + expect(events.errors[0]?.message).toContain('Unexpected response status 401'); + expect(events.closes).toEqual([{ code: 1006, reason: '' }]); + const afterClose = vi.fn(); + client.send('after close', afterClose); + expect(afterClose).toHaveBeenCalledExactlyOnceWith(expect.any(Error)); + expect(() => client.send('after close without callback')).toThrow('WebSocket is not open'); + + client.close(); + client.terminate(); + await new Promise((resolve) => setImmediate(resolve)); + expect(first).toHaveBeenCalledTimes(1); + expect(second).toHaveBeenCalledTimes(1); + expect(events.closes).toHaveLength(1); + }); + + it.each(['close', 'terminate', 'peer close'] as const)( + 'settles queued callbacks exactly once after %s before opening', + async (outcome) => { + const { port, nextSocket } = await listenPlain(); + const client = createClient(`ws://127.0.0.1:${port}`); + const events = track(client); + const first = vi.fn(); + const second = vi.fn(); + client.send('first', first); + client.send('second', { binary: true }, second); + client.send('without callback'); + const socket = await nextSocket(); + await readRequest(socket); + + if (outcome === 'peer close') { + socket.destroy(); + } else { + client[outcome](); + const whileClosing = vi.fn(); + client.send('while closing', whileClosing); + expect(whileClosing).toHaveBeenCalledExactlyOnceWith(expect.any(Error)); + } + + await events.waitClose(); + await new Promise((resolve) => setImmediate(resolve)); + expect(first).toHaveBeenCalledExactlyOnceWith(expect.any(Error)); + expect(second).toHaveBeenCalledExactlyOnceWith(expect.any(Error)); + expect(client.readyState).toBe(WebSocketClient.CLOSED); + expect(() => client.send('after close')).toThrow('WebSocket is not open'); + client.close(); + client.terminate(); + await new Promise((resolve) => setImmediate(resolve)); + expect(first).toHaveBeenCalledTimes(1); + expect(second).toHaveBeenCalledTimes(1); + expect(events.closes).toEqual([{ code: 1006, reason: '' }]); + }, + ); + + it('passes the original connection error to queued send callbacks', async () => { + const port = await unusedPort(); + const client = createClient(`ws://127.0.0.1:${port}`); + const events = track(client); + const callback = vi.fn(); + client.send('queued', callback); + await events.waitClose(); + expect(events.errors[0]).toHaveProperty('code', 'ECONNREFUSED'); + expect(callback).toHaveBeenCalledExactlyOnceWith(events.errors[0]); + expect(events.closes).toHaveLength(1); + }); + + it('settles the pre-open queue if an open listener immediately terminates the connection', async () => { + const { port, nextSocket } = await listenPlain(); + const client = createClient(`ws://127.0.0.1:${port}`); + const events = track(client); + const first = vi.fn(); + const second = vi.fn(); + client.send('without callback'); + client.send('first', first); + client.send('second', second); + client.once('open', () => client.terminate()); + const socket = await nextSocket(); + const req = await readRequest(socket); + socket.write(handshakeResponse(req.headers['sec-websocket-key']!)); + await events.waitClose(); + expect(first).toHaveBeenCalledExactlyOnceWith(expect.any(Error)); + expect(second).toHaveBeenCalledExactlyOnceWith(expect.any(Error)); + expect(events.closes).toHaveLength(1); + }); + + it('delegates send/ping/pong/close after open and forwards control events', async () => { + const { port, nextSocket } = await listenPlain(); + const client = createClient(`ws://127.0.0.1:${port}`); + const events = track(client); + const socket = await nextSocket(); + const req = await readRequest(socket); + const frames = collectFrames(socket); + socket.write(handshakeResponse(req.headers['sec-websocket-key']!)); + await events.waitOpen(); + + const sent = new Promise((resolve) => { + client.send('after-open', (err) => resolve(err)); + }); + expect(await frames.next()).toEqual({ opcode: 0x1, payload: Buffer.from('after-open') }); + expect(await sent).toBeFalsy(); + + client.ping('hi'); + expect(await frames.next()).toEqual({ opcode: 0x9, payload: Buffer.from('hi') }); + + client.pong(Buffer.from('xy')); + expect(await frames.next()).toEqual({ opcode: 0xa, payload: Buffer.from('xy') }); + + socket.write(serverFrame(0x9, Buffer.from('srv-ping'))); + expect(await events.waitPing()).toEqual(Buffer.from('srv-ping')); + expect(await frames.next()).toEqual({ opcode: 0xa, payload: Buffer.from('srv-ping') }); + + socket.write(serverFrame(0xa, Buffer.from('srv-pong'))); + expect(await events.waitPong()).toEqual(Buffer.from('srv-pong')); + + client.close(1000, 'done'); + expect(client.readyState).toBe(2); + const close = await frames.next(); + expect(close.opcode).toBe(0x8); + expect(close.payload.readUInt16BE(0)).toBe(1000); + expect(close.payload.subarray(2).toString('utf8')).toBe('done'); + socket.destroy(); + expect(await events.waitClose()).toEqual({ code: 1006, reason: '' }); + }); + + it('forwards a peer close code and reason', async () => { + const { port, nextSocket } = await listenPlain(); + const client = createClient(`ws://127.0.0.1:${port}`); + const events = track(client); + const socket = await nextSocket(); + const req = await readRequest(socket); + socket.write(handshakeResponse(req.headers['sec-websocket-key']!)); + await events.waitOpen(); + + const reason = Buffer.from('bye'); + const payload = Buffer.alloc(2 + reason.length); + payload.writeUInt16BE(1001, 0); + reason.copy(payload, 2); + socket.write(serverFrame(0x8, payload)); + socket.end(); + expect(await events.waitClose()).toEqual({ code: 1001, reason: 'bye' }); + }); + + it('rejects invalid close codes before touching the socket', async () => { + const { port } = await listenPlain(); + const client = createClient(`ws://127.0.0.1:${port}`); + expect(() => client.close(1005)).toThrowError(new RangeError('Invalid close code: 1005')); + expect(() => client.close(1006)).toThrowError(new RangeError('Invalid close code: 1006')); + expect(() => client.close(2500)).toThrowError(new RangeError('Invalid close code: 2500')); + expect(client.readyState).toBe(0); + }); + + it('destroys the TCP socket when close() is called before the handshake finishes', async () => { + const { port, nextSocket } = await listenPlain(); + const client = createClient(`ws://127.0.0.1:${port}`); + const events = track(client); + const socket = await nextSocket(); + // The handshake request may already be sitting unread. A paused socket + // with buffered data does not emit 'close' after the peer destroy()s. + socket.resume(); + const socketClosed = new Promise((resolve) => socket.once('close', () => resolve())); + client.close(1000, 'ignored-before-open'); + await socketClosed; + expect(await events.waitClose()).toEqual({ code: 1006, reason: '' }); + expect(client.readyState).toBe(3); + }); + + it('destroys the TCP socket when terminate() is called before the handshake finishes', async () => { + const { port, nextSocket } = await listenPlain(); + const client = createClient(`ws://127.0.0.1:${port}`); + const events = track(client); + const socket = await nextSocket(); + socket.resume(); + const socketClosed = new Promise((resolve) => socket.once('close', () => resolve())); + client.terminate(); + await socketClosed; + expect(await events.waitClose()).toEqual({ code: 1006, reason: '' }); + expect(client.readyState).toBe(3); + }); + + it('terminates an open connection without a close frame', async () => { + const { port, nextSocket } = await listenPlain(); + const client = createClient(`ws://127.0.0.1:${port}`); + const events = track(client); + const socket = await nextSocket(); + const req = await readRequest(socket); + socket.write(handshakeResponse(req.headers['sec-websocket-key']!)); + await events.waitOpen(); + client.terminate(); + expect(() => client.send('nope')).toThrowError(new Error('WebSocket is not open')); + expect(await events.waitClose()).toEqual({ code: 1006, reason: '' }); + }); + + it('forwards a socket error after the handshake', async () => { + const { port, nextSocket } = await listenPlain(); + const client = createClient(`ws://127.0.0.1:${port}`); + const events = track(client); + const socket = await nextSocket(); + const req = await readRequest(socket); + socket.write(handshakeResponse(req.headers['sec-websocket-key']!)); + await events.waitOpen(); + // destroy(err) emits only on this socket. RST the peer so the client + // sees a real TCP error (ECONNRESET) after the handshake listeners move. + socket.resetAndDestroy(); + const err = await events.waitError(); + expect(err).toBeInstanceOf(Error); + expect((err as NodeJS.ErrnoException).code).toBe('ECONNRESET'); + expect(await events.waitClose()).toEqual({ code: 1006, reason: '' }); + }); + + it('emits the TCP connect error and then a 1006 close', async () => { + const port = await unusedPort(); + const client = createClient(`ws://127.0.0.1:${port}`); + const events = track(client); + const err = await events.waitError(); + expect((err as NodeJS.ErrnoException).code).toBe('ECONNREFUSED'); + expect(await events.waitClose()).toEqual({ code: 1006, reason: '' }); + expect(client.readyState).toBe(3); + }); + + it('emits 1006 when the peer closes before the handshake', async () => { + const { port, nextSocket } = await listenPlain(); + const client = createClient(`ws://127.0.0.1:${port}`); + const events = track(client); + const socket = await nextSocket(); + socket.destroy(); + expect(await events.waitClose()).toEqual({ code: 1006, reason: '' }); + expect(client.readyState).toBe(3); + }); + + it('forwards maxPayload into the post-handshake socket', async () => { + const { port, nextSocket } = await listenPlain(); + const client = createClient(`ws://127.0.0.1:${port}`, { maxPayload: 4 }); + const events = track(client); + const socket = await nextSocket(); + const req = await readRequest(socket); + socket.write( + handshakeResponse( + req.headers['sec-websocket-key']!, + [], + serverFrame(0x1, Buffer.from('12345')), + ), + ); + const err = await events.waitError(); + expect(err.message).toBe( + 'WebSocket protocol error: Payload exceeds configured max: 5 B text frame exceeds the 4 byte limit (maxPayloadBytes)', + ); + expect((err as Error & { code?: number }).code).toBe(1009); + }); + + it('completes a wss handshake and auto-sets SNI from a non-IP hostname', async () => { + const { port, nextSocket } = await listenTls(); + const client = createClient('wss://sni.example.test:443/secure', { + socketOptions: { + host: '127.0.0.1', + port, + rejectUnauthorized: false, + }, + }); + const events = track(client); + const socket = await nextSocket(); + expect(socket.servername).toBe('sni.example.test'); + const req = await readRequest(socket); + expect(req.requestLine).toBe('GET /secure HTTP/1.1'); + expect(req.headers.host).toBe('sni.example.test'); + socket.write(handshakeResponse(req.headers['sec-websocket-key']!)); + await events.waitOpen(); + expect(client.readyState).toBe(1); + }); + + it('does not overwrite an explicit TLS servername', async () => { + const { port, nextSocket } = await listenTls(); + createClient('wss://sni.example.test:443/', { + socketOptions: { + host: '127.0.0.1', + port, + rejectUnauthorized: false, + servername: 'explicit.example', + }, + }); + const socket = await nextSocket(); + expect(socket.servername).toBe('explicit.example'); + }); + + it('does not invent SNI for an IPv4 wss URL and includes a non-default port in Host', async () => { + const { port, nextSocket } = await listenTls(); + const client = createClient(`wss://127.0.0.1:${port}/`, { + socketOptions: { rejectUnauthorized: false }, + }); + const events = track(client); + const socket = await nextSocket(); + expect(socket.servername || '').toBe(''); + const req = await readRequest(socket); + expect(req.headers.host).toBe(`127.0.0.1:${port}`); + socket.write(handshakeResponse(req.headers['sec-websocket-key']!)); + await events.waitOpen(); + expect(client.readyState).toBe(1); + }); +}); diff --git a/packages/websocket/tests/extensions-more.test.ts b/packages/websocket/tests/extensions-more.test.ts new file mode 100644 index 00000000..ec0a8e29 --- /dev/null +++ b/packages/websocket/tests/extensions-more.test.ts @@ -0,0 +1,413 @@ +import zlib from 'node:zlib'; +import { afterEach, describe, expect, it, vi } from 'vitest'; + +import { + acceptPerMessageDeflate, + chooseSubprotocol, + compressRaw, + decompressRaw, + normalizeProtocolList, + offerPerMessageDeflate, + parseAcceptedPerMessageDeflate, + parseHeader, +} from '../src/extensions'; + +const TRAILER = Buffer.from([0x00, 0x00, 0xff, 0xff]); + +afterEach(() => { + vi.restoreAllMocks(); +}); + +function deflateRawFlushed(data: Buffer): Buffer { + return zlib.deflateRawSync(data, { flush: zlib.constants.Z_SYNC_FLUSH }); +} + +function inflateRawError(data: Buffer): Error & { code?: string } { + try { + zlib.inflateRawSync(Buffer.concat([data, TRAILER]), { + finishFlush: zlib.constants.Z_SYNC_FLUSH, + }); + } catch (err) { + return err as Error & { code?: string }; + } + + throw new Error('expected inflateRawSync to fail'); +} + +describe('parseHeader', () => { + it('returns no offers for missing or blank headers', () => { + expect(parseHeader(undefined)).toEqual([]); + expect(parseHeader(null)).toEqual([]); + expect(parseHeader('')).toEqual([]); + expect(parseHeader(' ')).toEqual([]); + expect(parseHeader(', ,')).toEqual([]); + }); + + it('lowercases names and flag parameters, and keeps unquoted values', () => { + expect( + parseHeader( + 'PerMessage-Deflate; Client_No_Context_Takeover; Server_Max_Window_Bits=10', + ), + ).toEqual([ + { + name: 'permessage-deflate', + params: { + client_no_context_takeover: true, + server_max_window_bits: '10', + }, + }, + ]); + }); + + it('strips matching double or single quotes around parameter values', () => { + expect(parseHeader(`mux; token="a b"; flag='x'`)).toEqual([ + { name: 'mux', params: { token: 'a b', flag: 'x' } }, + ]); + }); + + it('leaves unmatched quotes and empty quoted values as parsed', () => { + expect(parseHeader(`ext; a="bare; b='bare; c=""; d=''`)).toEqual([ + { + name: 'ext', + params: { + a: '"bare', + b: "'bare", + c: '', + d: '', + }, + }, + ]); + }); + + it('splits multiple offers and ignores empty tokens', () => { + expect(parseHeader(' mux , permessage-deflate; client_no_context_takeover, ')).toEqual([ + { name: 'mux', params: {} }, + { name: 'permessage-deflate', params: { client_no_context_takeover: true } }, + ]); + }); +}); + +describe('acceptPerMessageDeflate', () => { + it('returns null when deflate is disabled or the client did not offer it', () => { + expect(acceptPerMessageDeflate('permessage-deflate', undefined)).toBeNull(); + expect(acceptPerMessageDeflate('permessage-deflate', false)).toBeNull(); + expect(acceptPerMessageDeflate('permessage-deflate', null)).toBeNull(); + expect(acceptPerMessageDeflate(undefined, true)).toBeNull(); + expect(acceptPerMessageDeflate('mux', true)).toBeNull(); + }); + + it('accepts a boolean enable with both no-context-takeover parameters', () => { + expect(acceptPerMessageDeflate('permessage-deflate', true)).toEqual({ + header: 'permessage-deflate; server_no_context_takeover; client_no_context_takeover', + options: { + enabled: true, + requestNoContextTakeover: true, + responseNoContextTakeover: true, + threshold: 1024, + }, + }); + }); + + it('treats a non-object enable value like true', () => { + expect(acceptPerMessageDeflate('PerMessage-Deflate', 1)).toEqual({ + header: 'permessage-deflate; server_no_context_takeover; client_no_context_takeover', + options: { + enabled: true, + requestNoContextTakeover: true, + responseNoContextTakeover: true, + threshold: 1024, + }, + }); + }); + + it('omits takeover parameters that are disabled and not requested', () => { + expect( + acceptPerMessageDeflate('permessage-deflate', { + clientNoContextTakeover: false, + serverNoContextTakeover: false, + threshold: 0, + }), + ).toEqual({ + header: 'permessage-deflate', + options: { + enabled: true, + requestNoContextTakeover: false, + responseNoContextTakeover: false, + threshold: 0, + }, + }); + }); + + it('still echoes a takeover parameter the client offered when the config disables it', () => { + expect( + acceptPerMessageDeflate( + 'mux, permessage-deflate; server_no_context_takeover; client_no_context_takeover', + { clientNoContextTakeover: false, serverNoContextTakeover: false, threshold: 8 }, + ), + ).toEqual({ + header: 'permessage-deflate; server_no_context_takeover; client_no_context_takeover', + options: { + enabled: true, + requestNoContextTakeover: true, + responseNoContextTakeover: true, + threshold: 8, + }, + }); + }); + + it('defaults object options to both takeover flags', () => { + expect(acceptPerMessageDeflate('permessage-deflate', {})).toEqual({ + header: 'permessage-deflate; server_no_context_takeover; client_no_context_takeover', + options: { + enabled: true, + requestNoContextTakeover: true, + responseNoContextTakeover: true, + threshold: 1024, + }, + }); + }); +}); + +describe('offerPerMessageDeflate', () => { + it('returns null when deflate is disabled', () => { + expect(offerPerMessageDeflate(undefined)).toBeNull(); + expect(offerPerMessageDeflate(false)).toBeNull(); + expect(offerPerMessageDeflate(null)).toBeNull(); + }); + + it('offers both takeover flags for true or a non-object enable value', () => { + expect(offerPerMessageDeflate(true)).toBe( + 'permessage-deflate; client_no_context_takeover; server_no_context_takeover', + ); + expect(offerPerMessageDeflate('yes')).toBe( + 'permessage-deflate; client_no_context_takeover; server_no_context_takeover', + ); + }); + + it('offers only the takeover flags that are not disabled', () => { + expect(offerPerMessageDeflate({ clientNoContextTakeover: false })).toBe( + 'permessage-deflate; server_no_context_takeover', + ); + expect(offerPerMessageDeflate({ serverNoContextTakeover: false })).toBe( + 'permessage-deflate; client_no_context_takeover', + ); + expect( + offerPerMessageDeflate({ + clientNoContextTakeover: false, + serverNoContextTakeover: false, + }), + ).toBe('permessage-deflate'); + }); + + it('keeps default takeover flags when the object only sets threshold', () => { + expect(offerPerMessageDeflate({ threshold: 8 })).toBe( + 'permessage-deflate; client_no_context_takeover; server_no_context_takeover', + ); + }); +}); + +describe('parseAcceptedPerMessageDeflate', () => { + it('returns null when deflate was not requested or not accepted', () => { + expect(parseAcceptedPerMessageDeflate('permessage-deflate', undefined)).toBeNull(); + expect(parseAcceptedPerMessageDeflate('permessage-deflate', false)).toBeNull(); + expect(parseAcceptedPerMessageDeflate('permessage-deflate', null)).toBeNull(); + expect(parseAcceptedPerMessageDeflate(undefined, true)).toBeNull(); + expect(parseAcceptedPerMessageDeflate('mux', true)).toBeNull(); + }); + + it('maps server/client takeover parameters onto the opposite request/response flags', () => { + expect( + parseAcceptedPerMessageDeflate( + 'permessage-deflate; server_no_context_takeover; client_no_context_takeover', + true, + ), + ).toEqual({ + enabled: true, + requestNoContextTakeover: true, + responseNoContextTakeover: true, + threshold: 1024, + }); + }); + + it('treats missing takeover parameters as false and uses the requested threshold', () => { + expect( + parseAcceptedPerMessageDeflate('mux, permessage-deflate', { threshold: 4096 }), + ).toEqual({ + enabled: true, + requestNoContextTakeover: false, + responseNoContextTakeover: false, + threshold: 4096, + }); + }); + + it('treats an empty parameter value as absent and a non-empty string as present', () => { + expect( + parseAcceptedPerMessageDeflate( + 'permessage-deflate; client_no_context_takeover=; server_no_context_takeover=0', + {}, + ), + ).toEqual({ + enabled: true, + requestNoContextTakeover: true, + responseNoContextTakeover: false, + threshold: 1024, + }); + }); + + it('rejects unsupported permessage-deflate parameters', () => { + expect(() => + parseAcceptedPerMessageDeflate('permessage-deflate; server_max_window_bits=10', true), + ).toThrowError( + new Error('Unsupported permessage-deflate parameter: server_max_window_bits'), + ); + expect(() => + parseAcceptedPerMessageDeflate( + 'permessage-deflate; client_no_context_takeover; client_max_window_bits=12', + true, + ), + ).toThrowError( + new Error('Unsupported permessage-deflate parameter: client_max_window_bits'), + ); + }); +}); + +describe('compressRaw / decompressRaw', () => { + it('strips the zlib sync-flush trailer when deflateRawSync emits one', () => { + const source = Buffer.from('hello hello hello'); + const flushed = deflateRawFlushed(source); + const compressed = compressRaw(source); + + if (flushed.length >= 4 && flushed.subarray(flushed.length - 4).equals(TRAILER)) { + expect(compressed).toEqual(flushed.subarray(0, flushed.length - 4)); + } else { + expect(compressed).toEqual(flushed); + } + }); + + it('returns raw bytes when the deflate output has no sync-flush trailer', () => { + const raw = Buffer.from([0x03, 0x00]); + vi.spyOn(zlib, 'deflateRawSync').mockReturnValueOnce(raw); + expect(compressRaw(Buffer.from('x'))).toEqual(Buffer.from([0x03, 0x00])); + }); + + it('returns raw bytes when the deflate output is shorter than the trailer', () => { + vi.spyOn(zlib, 'deflateRawSync').mockReturnValueOnce(Buffer.from([0xaa])); + expect(compressRaw(Buffer.alloc(0))).toEqual(Buffer.from([0xaa])); + }); + + it('inflates independently stripped deflate bytes without a maxPayload cap', () => { + const source = Buffer.from('roundtrip payload'); + expect(decompressRaw(compressRaw(source))).toEqual(source); + }); + + it('accepts an empty inflate when maxPayload is 0', () => { + expect(decompressRaw(compressRaw(Buffer.alloc(0)), 0)).toEqual(Buffer.alloc(0)); + }); + + it('rejects a one-byte inflate when maxPayload is 0 after zlib succeeds', () => { + const source = Buffer.from([0x61]); + const stripped = compressRaw(source); + expect( + zlib.inflateRawSync(Buffer.concat([stripped, TRAILER]), { + finishFlush: zlib.constants.Z_SYNC_FLUSH, + maxOutputLength: 1, + }), + ).toEqual(source); + + let thrown: unknown; + + try { + decompressRaw(stripped, 0); + } catch (error) { + thrown = error; + } + + expect(thrown).toMatchObject({ + code: 1009, + message: 'Message too large after inflate (maxPayload=0)', + }); + expect((thrown as Error).cause).toBeUndefined(); + }); + + it('rethrows a zlib failure that is not ERR_BUFFER_TOO_LARGE', () => { + const garbage = Buffer.from([0x03, 0x01, 0x02, 0xff]); + const cause = inflateRawError(garbage); + let thrown: unknown; + + try { + decompressRaw(garbage, 64); + } catch (error) { + thrown = error; + } + + expect(thrown).toBeInstanceOf(Error); + expect(thrown).toMatchObject({ + message: cause.message, + code: cause.code, + }); + expect(thrown).not.toMatchObject({ code: 1009 }); + }); +}); + +describe('normalizeProtocolList', () => { + it('returns an empty list for missing or empty inputs', () => { + expect(normalizeProtocolList(undefined)).toEqual([]); + expect(normalizeProtocolList(null)).toEqual([]); + expect(normalizeProtocolList('')).toEqual([]); + expect(normalizeProtocolList([])).toEqual([]); + expect(normalizeProtocolList(new Set())).toEqual([]); + }); + + it('splits a comma-separated string and drops blank tokens', () => { + expect(normalizeProtocolList(' chat , , superchat ')).toEqual(['chat', 'superchat']); + }); + + it('stringifies array entries, trims them, and drops blanks', () => { + expect(normalizeProtocolList(['chat', ' superchat ', '', ' '])).toEqual([ + 'chat', + 'superchat', + ]); + }); + + it('stringifies Set entries, trims them, and drops blanks', () => { + expect(normalizeProtocolList(new Set(['chat', ' superchat ', '']))).toEqual([ + 'chat', + 'superchat', + ]); + }); +}); + +describe('chooseSubprotocol', () => { + it('returns the first supported protocol that the client requested', () => { + expect(chooseSubprotocol('chat, superchat', ['superchat', 'chat'])).toBe('superchat'); + expect(chooseSubprotocol('chat, superchat', 'chat, extra')).toBe('chat'); + expect(chooseSubprotocol('chat, superchat', new Set(['other', 'superchat']))).toBe( + 'superchat', + ); + }); + + it('returns null when either side has no protocols or there is no overlap', () => { + expect(chooseSubprotocol(undefined, ['chat'])).toBeNull(); + expect(chooseSubprotocol(' , ', ['chat'])).toBeNull(); + expect(chooseSubprotocol('chat', undefined)).toBeNull(); + expect(chooseSubprotocol('chat', [])).toBeNull(); + expect(chooseSubprotocol('chat', ['superchat'])).toBeNull(); + }); + + it('uses a selector function only when the result is in the requested list', () => { + let seen: string[] | undefined; + expect( + chooseSubprotocol(' chat , superchat ', (requested) => { + seen = requested; + return 'superchat'; + }), + ).toBe('superchat'); + expect(seen).toEqual(['chat', 'superchat']); + + expect(chooseSubprotocol('chat', () => 'other')).toBeNull(); + expect(chooseSubprotocol('chat', () => null)).toBeNull(); + expect(chooseSubprotocol('chat', () => undefined)).toBeNull(); + expect(chooseSubprotocol('chat', () => '')).toBeNull(); + expect(chooseSubprotocol('', () => 'chat')).toBeNull(); + }); +}); diff --git a/packages/websocket/tests/extensions.test.ts b/packages/websocket/tests/extensions.test.ts new file mode 100644 index 00000000..18b3a2d8 --- /dev/null +++ b/packages/websocket/tests/extensions.test.ts @@ -0,0 +1,32 @@ +import { describe, expect, it } from 'vitest'; + +import { compressRaw, decompressRaw } from '../src/extensions'; + +describe('permessage-deflate decompression limits', () => { + it('accepts output exactly at maxPayload', () => { + const source = Buffer.alloc(4096, 0x61); + const compressed = compressRaw(source); + + expect(decompressRaw(compressed, source.byteLength)).toEqual(source); + }); + + it('stops a compression bomb during inflate and maps it to WebSocket 1009', () => { + const maxPayload = 4096; + const compressed = compressRaw(Buffer.alloc(1024 * 1024, 0x61)); + expect(compressed.byteLength).toBeLessThan(maxPayload); + + let thrown: unknown; + + try { + decompressRaw(compressed, maxPayload); + } catch (error) { + thrown = error; + } + + expect(thrown).toMatchObject({ + code: 1009, + message: `Message too large after inflate (maxPayload=${maxPayload})`, + cause: { code: 'ERR_BUFFER_TOO_LARGE' }, + }); + }); +}); diff --git a/packages/websocket/tests/native.test.ts b/packages/websocket/tests/native.test.ts new file mode 100644 index 00000000..d47c0208 --- /dev/null +++ b/packages/websocket/tests/native.test.ts @@ -0,0 +1,570 @@ +import { mkdtempSync, rmSync } from 'node:fs'; +import os from 'node:os'; +import path from 'node:path'; +import { fileURLToPath } from 'node:url'; +import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest'; + +import native, { type NativeAddon, type ParserOptions } from '../src/native'; + +const { existsSyncMock } = vi.hoisted(() => ({ + existsSyncMock: vi.fn<(target: string) => boolean>(), +})); + +const fsHooks = vi.hoisted(() => ({ + realExistsSync: (_target: string): boolean => false, +})); + +vi.mock('node:fs', async (importOriginal) => { + const actual = await importOriginal(); + fsHooks.realExistsSync = (target) => actual.existsSync(target); + existsSyncMock.mockImplementation((target) => actual.existsSync(target)); + return { + ...actual, + existsSync: (target: Parameters[0]) => + existsSyncMock(String(target)), + }; +}); + +const ORIGINAL_DEV_NO_NATIVE = process.env.SNOWLUMA_DEV_NO_NATIVE; +const ORIGINAL_CWD = process.cwd(); +const NATIVE_SRC_DIR = path.dirname(fileURLToPath(new URL('../src/native.ts', import.meta.url))); +const BINARY_NAME = `websocket-${process.platform}-${process.arch}.node`; +const tmpDirs: string[] = []; + +const RFC_KEY = 'dGhlIHNhbXBsZSBub25jZQ=='; +const RFC_ACCEPT = 's3pPLMBiTxaQ9kYGzzhZRbK+xOo='; +const RFC_UNMASKED_HELLO = Buffer.from([0x81, 0x05, 0x48, 0x65, 0x6c, 0x6c, 0x6f]); +const RFC_MASKED_HELLO = Buffer.from([ + 0x81, 0x85, 0x37, 0xfa, 0x21, 0x3d, 0x7f, 0x9f, 0x4d, 0x51, 0x58, +]); +const RFC_MASK = Buffer.from([0x37, 0xfa, 0x21, 0x3d]); +const HELLO = Buffer.from([0x48, 0x65, 0x6c, 0x6c, 0x6f]); + +const STUB_USE_SUFFIX = + 'Set SNOWLUMA_DEV_NO_NATIVE=0 (or unset) and provide the prebuilt binary to enable WebSocket I/O.'; + +let nativeIo = false; + +try { + nativeIo = native.computeAcceptKey(RFC_KEY) === RFC_ACCEPT; +} catch (err) { + nativeIo = !String((err as Error).message).includes('native addon is stubbed'); +} + +function expectedSearchDirs(cwd = process.cwd()): string[] { + return [ + path.resolve(NATIVE_SRC_DIR, 'native'), + path.resolve(NATIVE_SRC_DIR, '..', 'native'), + path.resolve(NATIVE_SRC_DIR, '..', '..', 'runtime', 'native'), + path.resolve(cwd, 'native'), + path.resolve(cwd, 'dist', 'native'), + path.resolve(cwd, 'packages', 'runtime', 'native'), + ]; +} + +function candidatePaths(cwd = process.cwd()): string[] { + return expectedSearchDirs(cwd).map((dir) => path.join(dir, BINARY_NAME)); +} + +function notFoundMessage(cwd = process.cwd()): string { + return `[snowluma/websocket] native addon not found: ${BINARY_NAME}. Searched: ${expectedSearchDirs(cwd).join(', ')}`; +} + +function stubWarnMessage(reason: string): string { + return `[snowluma/websocket] WARNING: using stub addon (${reason}). WebSocket features are disabled.`; +} + +function stubUseMessage(reason: string): string { + return `[snowluma/websocket] native addon is stubbed (${reason}). ${STUB_USE_SUFFIX}`; +} + +function restoreExistsSync(): void { + existsSyncMock.mockReset(); + existsSyncMock.mockImplementation((target) => fsHooks.realExistsSync(target)); +} + +function restoreDevNoNative(): void { + if (ORIGINAL_DEV_NO_NATIVE === undefined) { + delete process.env.SNOWLUMA_DEV_NO_NATIVE; + } else { + process.env.SNOWLUMA_DEV_NO_NATIVE = ORIGINAL_DEV_NO_NATIVE; + } +} + +async function loadNative(): Promise { + const addon = (await import('../src/native')).default; + void addon.Parser; + return addon; +} + +function installFakeAddon(exports: NativeAddon): string[] { + const opened: string[] = []; + vi.spyOn(process, 'dlopen').mockImplementation((module, filename) => { + opened.push(filename); + module.exports = exports; + }); + return opened; +} + +function fakeAddon(acceptKey: string): NativeAddon { + return { + Parser: class { + push() { + return { frames: [] }; + } + } as unknown as NativeAddon['Parser'], + buildFrame: () => Buffer.from([0x81, 0x00]), + computeAcceptKey: () => acceptKey, + }; +} + +function makeTmpDir(): string { + const dir = mkdtempSync(path.join(os.tmpdir(), 'sl-ws-native-')); + tmpDirs.push(dir); + return dir; +} + +function cleanupLoaderTest(): void { + process.chdir(ORIGINAL_CWD); + restoreDevNoNative(); + restoreExistsSync(); + vi.restoreAllMocks(); + vi.resetModules(); + + for (const dir of tmpDirs.splice(0)) { + rmSync(dir, { recursive: true, force: true }); + } +} + +describe.skipIf(!nativeIo)('computeAcceptKey', () => { + it('returns the RFC 6455 §1.3 Sec-WebSocket-Accept value', () => { + expect(native.computeAcceptKey(RFC_KEY)).toBe(RFC_ACCEPT); + }); + + it('rejects a non-string key', () => { + expect(() => native.computeAcceptKey(1 as unknown as string)).toThrow('expected string'); + }); +}); + +describe.skipIf(!nativeIo)('buildFrame', () => { + it('emits the RFC 6455 §5.7 unmasked Hello text frame', () => { + expect(native.buildFrame(0x1, true, HELLO, null, 0)).toEqual(RFC_UNMASKED_HELLO); + }); + + it('emits the RFC 6455 §5.7 masked Hello text frame', () => { + expect(native.buildFrame(0x1, true, HELLO, RFC_MASK, 0)).toEqual(RFC_MASKED_HELLO); + }); + + it('encodes a 16-bit length for a 126-byte payload', () => { + const payload = Buffer.alloc(126, 0x55); + expect(native.buildFrame(0x2, true, payload, null, 0)).toEqual( + Buffer.concat([Buffer.from([0x82, 0x7e, 0x00, 0x7e]), payload]), + ); + }); + + it('encodes a 64-bit length for a 65536-byte payload', () => { + const payload = Buffer.alloc(65536, 0x62); + expect(native.buildFrame(0x2, true, payload, null, 0)).toEqual( + Buffer.concat([ + Buffer.from([0x82, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00]), + payload, + ]), + ); + }); + + it('masks a 16-bit-length payload with the 4-byte key', () => { + const payload = Buffer.alloc(126, 0x55); + const mask = Buffer.from([0x01, 0x02, 0x03, 0x04]); + const body = Buffer.from(payload); + + for (let i = 0; i < body.length; i++) { + body[i]! ^= mask[i & 3]!; + } + + expect(native.buildFrame(0x2, true, payload, mask, 0)).toEqual( + Buffer.concat([Buffer.from([0x82, 0xfe, 0x00, 0x7e, 0x01, 0x02, 0x03, 0x04]), body]), + ); + }); + + it('writes FIN, RSV, and opcode into the first header byte', () => { + expect(native.buildFrame(0x1, false, Buffer.from([0x48, 0x65, 0x6c]), null, 0)).toEqual( + Buffer.from([0x01, 0x03, 0x48, 0x65, 0x6c]), + ); + expect(native.buildFrame(0x1, true, Buffer.alloc(0), null, 0x40)).toEqual( + Buffer.from([0xc1, 0x00]), + ); + expect(native.buildFrame(0x11, true, Buffer.alloc(0), null, 0x41)).toEqual( + Buffer.from([0xc1, 0x00]), + ); + expect(native.buildFrame(0x8, true, Buffer.from([0x03, 0xe8]), null, 0)).toEqual( + Buffer.from([0x88, 0x02, 0x03, 0xe8]), + ); + expect(native.buildFrame(0x9, true, Buffer.alloc(0), null, 0)).toEqual( + Buffer.from([0x89, 0x00]), + ); + }); + + it('rejects a mask key that is not 4 bytes', () => { + expect(() => + native.buildFrame(0x1, true, HELLO, Buffer.from([0x00, 0x01, 0x02]), 0), + ).toThrow('mask key must be 4 bytes'); + }); + + it('rejects a call that is missing the required arguments', () => { + expect(() => (native.buildFrame as unknown as (opcode: number) => Buffer)(0x1)).toThrow( + 'bad args', + ); + }); +}); + +describe.skipIf(!nativeIo)('Parser', () => { + it('parses the RFC 6455 unmasked Hello frame as a client', () => { + const parser = new native.Parser({ isServer: false, maxPayload: 1024, allowedRsv: 0 }); + expect(parser.push(RFC_UNMASKED_HELLO)).toEqual({ + frames: [{ fin: true, rsv: 0, opcode: 0x1, payload: HELLO }], + }); + }); + + it('unmasks the RFC 6455 masked Hello frame as a server', () => { + const parser = new native.Parser({ isServer: true, maxPayload: 1024, allowedRsv: 0 }); + expect(parser.push(RFC_MASKED_HELLO)).toEqual({ + frames: [{ fin: true, rsv: 0, opcode: 0x1, payload: HELLO }], + }); + }); + + it('returns no frames until a split header and payload are complete', () => { + const parser = new native.Parser({ isServer: false, maxPayload: 1024, allowedRsv: 0 }); + expect(parser.push(Buffer.from([0x81]))).toEqual({ frames: [] }); + expect(parser.push(Buffer.from([0x05, 0x48, 0x65, 0x6c, 0x6c, 0x6f]))).toEqual({ + frames: [{ fin: true, rsv: 0, opcode: 0x1, payload: HELLO }], + }); + }); + + it('parses two frames from one chunk', () => { + const parser = new native.Parser({ isServer: false, maxPayload: 1024, allowedRsv: 0 }); + expect(parser.push(Buffer.concat([RFC_UNMASKED_HELLO, Buffer.from([0x89, 0x00])]))).toEqual( + { + frames: [ + { fin: true, rsv: 0, opcode: 0x1, payload: HELLO }, + { fin: true, rsv: 0, opcode: 0x9, payload: Buffer.alloc(0) }, + ], + }, + ); + }); + + it('parses 16-bit and 64-bit unmasked payloads', () => { + const mid = Buffer.alloc(126, 0x41); + const large = Buffer.alloc(65536, 0x42); + const midParser = new native.Parser({ isServer: false, maxPayload: 200, allowedRsv: 0 }); + expect(midParser.push(Buffer.concat([Buffer.from([0x82, 0x7e, 0x00, 0x7e]), mid]))).toEqual( + { + frames: [{ fin: true, rsv: 0, opcode: 0x2, payload: mid }], + }, + ); + const largeParser = new native.Parser({ + isServer: false, + maxPayload: 70_000, + allowedRsv: 0, + }); + expect( + largeParser.push( + Buffer.concat([ + Buffer.from([0x82, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00]), + large, + ]), + ), + ).toEqual({ + frames: [{ fin: true, rsv: 0, opcode: 0x2, payload: large }], + }); + }); + + it('exposes allowed RSV1 and defaults to a masking server', () => { + const deflate = new native.Parser({ isServer: false, maxPayload: 1024, allowedRsv: 0x40 }); + expect(deflate.push(Buffer.from([0xc1, 0x00]))).toEqual({ + frames: [{ fin: true, rsv: 0x40, opcode: 0x1, payload: Buffer.alloc(0) }], + }); + + const defaults = new native.Parser({} as ParserOptions); + expect(defaults.push(RFC_UNMASKED_HELLO)).toEqual({ + error: true, + code: 1002, + message: 'Expected masked frame from client', + }); + }); + + it('reports protocol errors with the native close code and message', () => { + const client: ParserOptions = { isServer: false, maxPayload: 1, allowedRsv: 0 }; + expect(new native.Parser(client).push(Buffer.from([0xc1, 0x00]))).toEqual({ + error: true, + code: 1002, + message: 'Unexpected RSV bits', + }); + expect(new native.Parser(client).push(Buffer.from([0x83, 0x00]))).toEqual({ + error: true, + code: 1002, + message: 'Unknown opcode', + }); + expect(new native.Parser(client).push(Buffer.from([0x09, 0x00]))).toEqual({ + error: true, + code: 1002, + message: 'Fragmented control frame', + }); + expect(new native.Parser(client).push(Buffer.from([0x89, 0x7e, 0x00, 0x7e]))).toEqual({ + error: true, + code: 1002, + message: 'Control frame too large', + }); + expect(new native.Parser(client).push(Buffer.from([0x81, 0x80]))).toEqual({ + error: true, + code: 1002, + message: 'Server must not mask frames', + }); + expect(new native.Parser(client).push(Buffer.from([0x82, 0x7e, 0x00, 0x05]))).toEqual({ + error: true, + code: 1002, + message: 'Non-minimal 16-bit length', + }); + expect( + new native.Parser(client).push( + Buffer.from([0x82, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05]), + ), + ).toEqual({ + error: true, + code: 1002, + message: 'Non-minimal 64-bit length', + }); + expect( + new native.Parser(client).push( + Buffer.from([0x82, 0x7f, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00]), + ), + ).toEqual({ + error: true, + code: 1002, + message: 'Payload length top bit set', + }); + expect(new native.Parser(client).push(Buffer.from([0x82, 0x02]))).toEqual({ + error: true, + code: 1009, + message: 'Payload exceeds configured max', + }); + + expect( + new native.Parser({ isServer: true, maxPayload: 1024, allowedRsv: 0 }).push( + Buffer.from([0x81, 0x00]), + ), + ).toEqual({ + error: true, + code: 1002, + message: 'Expected masked frame from client', + }); + + expect( + new native.Parser({ isServer: false, maxPayload: 1024, allowedRsv: 0x40 }).push( + Buffer.from([0xc9, 0x00]), + ), + ).toEqual({ + error: true, + code: 1002, + message: 'Control frame RSV bits must be zero', + }); + }); + + it('treats a negative maxPayload as zero and masks allowedRsv to RSV bits', () => { + const zeroCap = new native.Parser({ isServer: false, maxPayload: -1, allowedRsv: 0 }); + expect(zeroCap.push(Buffer.from([0x81, 0x00]))).toEqual({ + frames: [{ fin: true, rsv: 0, opcode: 0x1, payload: Buffer.alloc(0) }], + }); + expect(zeroCap.push(Buffer.from([0x81, 0x01, 0x61]))).toEqual({ + error: true, + code: 1009, + message: 'Payload exceeds configured max', + }); + + const rsvMasked = new native.Parser({ + isServer: false, + maxPayload: 1024, + allowedRsv: 0x41, + }); + expect(rsvMasked.push(Buffer.from([0xc1, 0x00]))).toEqual({ + frames: [{ fin: true, rsv: 0x40, opcode: 0x1, payload: Buffer.alloc(0) }], + }); + }); + + it('rejects a non-Buffer push argument', () => { + const parser = new native.Parser({ isServer: false, maxPayload: 1024, allowedRsv: 0 }); + expect(() => parser.push('hello' as unknown as Buffer)).toThrow('expected Buffer'); + }); +}); + +describe('addon path resolution', () => { + beforeEach(() => { + delete process.env.SNOWLUMA_DEV_NO_NATIVE; + restoreExistsSync(); + vi.resetModules(); + }); + + afterEach(cleanupLoaderTest); + + it('does not load a native library until first use, then caches it', async () => { + const opened = installFakeAddon(fakeAddon('lazy')); + existsSyncMock.mockReturnValue(true); + const addon = (await import('../src/native')).default; + expect(opened).toEqual([]); + expect(existsSyncMock).not.toHaveBeenCalled(); + expect(addon.computeAcceptKey(RFC_KEY)).toBe('lazy'); + expect(addon.computeAcceptKey(RFC_KEY)).toBe('lazy'); + expect(opened).toHaveLength(1); + }); + + it('dlopens the first existing websocket--.node candidate', async () => { + const opened = installFakeAddon(fakeAddon('from-first-hit')); + const winner = candidatePaths()[2]!; + const probed: string[] = []; + existsSyncMock.mockImplementation((target) => { + probed.push(target); + return target === winner; + }); + + const addon = await loadNative(); + expect(probed).toEqual(candidatePaths().slice(0, 3)); + expect(opened).toEqual([winner]); + expect(addon.computeAcceptKey(RFC_KEY)).toBe('from-first-hit'); + }); + + it('prefers the flattened /native layout over later candidates', async () => { + const opened = installFakeAddon(fakeAddon('flattened')); + const winner = candidatePaths()[0]!; + existsSyncMock.mockImplementation((target) => target === winner); + + await loadNative(); + expect(opened).toEqual([winner]); + expect(existsSyncMock.mock.calls.map(([target]) => target)).toEqual([winner]); + }); + + it('falls back to process.cwd()/native when module-relative binaries are absent', async () => { + process.chdir(makeTmpDir()); + // Node may report /private/var/folders/... after chdir while mkdtemp + // returned /var/folders/...; searchDirs() uses process.cwd(). + const cwd = process.cwd(); + const opened = installFakeAddon(fakeAddon('cwd-native')); + const winner = path.join(cwd, 'native', BINARY_NAME); + existsSyncMock.mockImplementation((target) => target === winner); + + const addon = await loadNative(); + expect(opened).toEqual([winner]); + expect(addon.computeAcceptKey(RFC_KEY)).toBe('cwd-native'); + }); + + it('throws the searched-path error when no candidate exists', async () => { + process.chdir(makeTmpDir()); + const cwd = process.cwd(); + const probed: string[] = []; + existsSyncMock.mockImplementation((target) => { + probed.push(target); + return false; + }); + + let thrown: unknown; + + try { + await loadNative(); + } catch (err) { + thrown = err; + } + + expect(probed).toEqual(candidatePaths(cwd)); + expect(thrown).toBeInstanceOf(Error); + expect((thrown as Error).message).toBe(notFoundMessage(cwd)); + }); + + it('does not stub a successful load when SNOWLUMA_DEV_NO_NATIVE=1', async () => { + process.env.SNOWLUMA_DEV_NO_NATIVE = '1'; + const warn = vi.spyOn(console, 'warn').mockImplementation(() => {}); + existsSyncMock.mockImplementation((target) => target === candidatePaths()[0]); + installFakeAddon(fakeAddon('still-live')); + + const addon = await loadNative(); + expect(warn).not.toHaveBeenCalled(); + expect(addon.computeAcceptKey(RFC_KEY)).toBe('still-live'); + expect(addon.buildFrame(0x1, true, Buffer.alloc(0), null, 0)).toEqual( + Buffer.from([0x81, 0x00]), + ); + }); +}); + +describe('SNOWLUMA_DEV_NO_NATIVE stub', () => { + beforeEach(() => { + delete process.env.SNOWLUMA_DEV_NO_NATIVE; + restoreExistsSync(); + vi.resetModules(); + }); + + afterEach(cleanupLoaderTest); + + it('stubs after a missing binary when the env var is exactly 1', async () => { + process.env.SNOWLUMA_DEV_NO_NATIVE = '1'; + existsSyncMock.mockReturnValue(false); + const warn = vi.spyOn(console, 'warn').mockImplementation(() => {}); + + const addon = await loadNative(); + const reason = notFoundMessage(); + expect(warn).toHaveBeenCalledTimes(1); + expect(warn).toHaveBeenCalledWith(stubWarnMessage(reason)); + + const parser = new addon.Parser({ isServer: true, maxPayload: 1, allowedRsv: 0 }); + expect(() => parser.push(Buffer.alloc(0))).toThrow(stubUseMessage(reason)); + expect(() => addon.buildFrame(0x1, true, Buffer.alloc(0), null, 0)).toThrow( + stubUseMessage(reason), + ); + expect(() => addon.computeAcceptKey(RFC_KEY)).toThrow(stubUseMessage(reason)); + }); + + it('stubs after process.dlopen fails when the env var is exactly 1', async () => { + process.env.SNOWLUMA_DEV_NO_NATIVE = '1'; + existsSyncMock.mockReturnValue(true); + vi.spyOn(process, 'dlopen').mockImplementation(() => { + throw new Error('not a valid Node addon'); + }); + const warn = vi.spyOn(console, 'warn').mockImplementation(() => {}); + + const addon = await loadNative(); + expect(warn).toHaveBeenCalledWith(stubWarnMessage('not a valid Node addon')); + expect(() => addon.computeAcceptKey(RFC_KEY)).toThrow( + stubUseMessage('not a valid Node addon'), + ); + }); + + it('rethrows a missing-binary error when the env var is not 1', async () => { + existsSyncMock.mockReturnValue(false); + + for (const value of [undefined, '', '0', 'true', '2'] as const) { + vi.resetModules(); + + if (value === undefined) { + delete process.env.SNOWLUMA_DEV_NO_NATIVE; + } else { + process.env.SNOWLUMA_DEV_NO_NATIVE = value; + } + + let thrown: unknown; + + try { + await loadNative(); + } catch (err) { + thrown = err; + } + + expect(thrown).toBeInstanceOf(Error); + expect((thrown as Error).message).toBe(notFoundMessage()); + } + }); + + it('rethrows a dlopen failure when the env var is unset', async () => { + existsSyncMock.mockReturnValue(true); + vi.spyOn(process, 'dlopen').mockImplementation(() => { + throw new Error('not a valid Node addon'); + }); + + await expect(loadNative()).rejects.toThrow('not a valid Node addon'); + }); +}); diff --git a/packages/websocket/tests/server.test.ts b/packages/websocket/tests/server.test.ts new file mode 100644 index 00000000..acc61030 --- /dev/null +++ b/packages/websocket/tests/server.test.ts @@ -0,0 +1,1165 @@ +import { EventEmitter } from 'node:events'; +import http from 'node:http'; +import https from 'node:https'; +import type { IncomingMessage } from 'node:http'; +import type { AddressInfo } from 'node:net'; +import type { Duplex } from 'node:stream'; +import { afterEach, describe, expect, it, vi } from 'vitest'; + +import { WebSocketServer } from '../src/server'; + +// RFC 6455 §1.3 example. +const RFC_KEY = 'dGhlIHNhbXBsZSBub25jZQ=='; +const RFC_SWITCHING = + 'HTTP/1.1 101 Switching Protocols\r\n' + + 'Upgrade: websocket\r\n' + + 'Connection: Upgrade\r\n' + + 'Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=\r\n' + + '\r\n'; + +const METHOD_NOT_ALLOWED = + 'HTTP/1.1 405 Method Not Allowed\r\n' + + 'Connection: close\r\n' + + 'Content-Length: 18\r\n' + + 'Content-Type: text/plain\r\n' + + '\r\n' + + 'Method not allowed'; + +const BAD_UPGRADE_HEADER = + 'HTTP/1.1 400 Bad Request\r\n' + + 'Connection: close\r\n' + + 'Content-Length: 32\r\n' + + 'Content-Type: text/plain\r\n' + + '\r\n' + + 'Upgrade header must be websocket'; + +const BAD_CONNECTION_HEADER = + 'HTTP/1.1 400 Bad Request\r\n' + + 'Connection: close\r\n' + + 'Content-Length: 40\r\n' + + 'Content-Type: text/plain\r\n' + + '\r\n' + + 'Connection header must contain "upgrade"'; + +const BAD_KEY = + 'HTTP/1.1 400 Bad Request\r\n' + + 'Connection: close\r\n' + + 'Content-Length: 25\r\n' + + 'Content-Type: text/plain\r\n' + + '\r\n' + + 'Invalid Sec-WebSocket-Key'; + +const VERSION_REQUIRED = + 'HTTP/1.1 426 Upgrade Required\r\n' + + 'Sec-WebSocket-Version: 13\r\n' + + 'Connection: close\r\n' + + '\r\n'; + +const UNAUTHORIZED = + 'HTTP/1.1 401 Unauthorized\r\n' + + 'Connection: close\r\n' + + 'Content-Length: 12\r\n' + + 'Content-Type: text/plain\r\n' + + '\r\n' + + 'Unauthorized'; + +const BAD_PATH = + 'HTTP/1.1 400 Bad Request\r\n' + + 'Connection: close\r\n' + + 'Content-Length: 22\r\n' + + 'Content-Type: text/plain\r\n' + + '\r\n' + + 'Bad path for WebSocket'; + +const SHUTDOWN_CLOSE_FRAME = Buffer.from([ + 0x88, 0x16, 0x03, 0xe9, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x73, 0x68, 0x75, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x20, 0x64, 0x6f, 0x77, 0x6e, +]); + +class MockSocket extends EventEmitter { + readonly writes: Buffer[] = []; + destroyed = false; + ended = false; + timeout: number | undefined; + noDelay: boolean | undefined; + encrypted: boolean | undefined; + private readonly failWrite: boolean; + private readonly failDestroy: boolean; + + constructor(opts?: { encrypted?: boolean; throwOnWrite?: boolean; throwOnDestroy?: boolean }) { + super(); + this.encrypted = opts?.encrypted; + this.failWrite = opts?.throwOnWrite === true; + this.failDestroy = opts?.throwOnDestroy === true; + } + + write(data: string | Buffer): boolean { + if (this.failWrite) { + throw new Error('write failed'); + } + + this.writes.push(typeof data === 'string' ? Buffer.from(data) : Buffer.from(data)); + return true; + } + + get text(): string { + return Buffer.concat(this.writes).toString('utf8'); + } + + setTimeout(ms: number): this { + this.timeout = ms; + return this; + } + + setNoDelay(value: boolean): this { + this.noDelay = value; + return this; + } + + end(data?: string | Buffer): this { + if (data !== undefined) { + this.write(data); + } + + this.ended = true; + this.emit('end'); + this.destroy(); + return this; + } + + destroy(): this { + if (this.failDestroy) { + throw new Error('destroy failed'); + } + + this.destroyed = true; + this.emit('close'); + return this; + } +} + +function asSocket(socket: MockSocket): Duplex { + return socket as unknown as Duplex; +} + +function upgradeRequest( + overrides: { + method?: string; + url?: string; + headers?: Record; + } = {}, +): IncomingMessage { + return { + method: overrides.method ?? 'GET', + url: 'url' in overrides ? overrides.url : '/', + headers: { + upgrade: 'websocket', + connection: 'Upgrade', + 'sec-websocket-version': '13', + 'sec-websocket-key': RFC_KEY, + ...overrides.headers, + }, + } as IncomingMessage; +} + +function listen(server: http.Server): Promise { + return new Promise((resolve, reject) => { + const onError = (err: Error) => { + server.off('listening', onListening); + reject(err); + }; + + const onListening = () => { + server.off('error', onError); + resolve((server.address() as AddressInfo).port); + }; + + server.once('error', onError); + server.listen(0, '127.0.0.1', onListening); + }); +} + +function waitListening(wss: WebSocketServer): Promise { + return new Promise((resolve, reject) => { + const onError = (err: Error) => { + wss.off('listening', onListening); + reject(err); + }; + + const onListening = () => { + wss.off('error', onError); + resolve(); + }; + + wss.once('listening', onListening); + wss.once('error', onError); + }); +} + +function closeWss(wss: WebSocketServer): Promise { + return new Promise((resolve) => { + wss.close(() => resolve()); + }); +} + +function closeHttp(server: http.Server): Promise { + return new Promise((resolve) => { + server.close(() => resolve()); + }); +} + +function stubListenServer(address = { address: '127.0.0.1', family: 'IPv4', port: 8443 }) { + const stub = { + listen: vi.fn((..._args: unknown[]) => stub), + on: vi.fn(), + close: (cb?: (err?: Error) => void) => { + cb?.(); + }, + address: () => address, + }; + return stub; +} + +const ownedServers: WebSocketServer[] = []; +const httpServers: http.Server[] = []; + +afterEach(async () => { + const pendingWss = ownedServers.splice(0); + const pendingHttp = httpServers.splice(0); + await Promise.all(pendingWss.map((wss) => closeWss(wss))); + await Promise.all(pendingHttp.map((server) => closeHttp(server))); + vi.restoreAllMocks(); +}); + +describe('WebSocketServer constructor', () => { + it('throws when neither port, server, nor noServer is provided', () => { + expect(() => new WebSocketServer()).toThrowError( + 'WebSocketServer requires { port } or { server } or { noServer: true }', + ); + expect(() => new WebSocketServer({})).toThrowError( + 'WebSocketServer requires { port } or { server } or { noServer: true }', + ); + }); + + it('stores options and skips listening in noServer mode', () => { + const verifyClient = () => true; + const wss = new WebSocketServer({ + noServer: true, + path: '/ws', + maxPayload: 4096, + verifyClient, + protocols: ['chat'], + perMessageDeflate: true, + backlog: 128, + host: '127.0.0.1', + port: 9, + }); + ownedServers.push(wss); + + expect(wss.options).toEqual({ + port: 9, + host: '127.0.0.1', + server: undefined, + noServer: true, + path: '/ws', + maxPayload: 4096, + verifyClient, + protocols: ['chat'], + perMessageDeflate: true, + backlog: 128, + tls: undefined, + }); + expect(wss.clients).toEqual(new Set()); + expect(wss.address()).toBeNull(); + }); + + it('does not attach to a provided server when noServer is set', () => { + const server = http.createServer(); + httpServers.push(server); + const wss = new WebSocketServer({ noServer: true, server }); + ownedServers.push(wss); + expect(server.listenerCount('upgrade')).toBe(0); + }); + + it('copies listed TLS keys into options.tls and ignores non-TLS fields', () => { + const wss = new WebSocketServer({ + noServer: true, + cert: 'CERT', + key: 'KEY', + rejectUnauthorized: false, + ca: undefined, + host: '127.0.0.1', + } as never); + ownedServers.push(wss); + expect(wss.options.tls).toEqual({ + cert: 'CERT', + key: 'KEY', + rejectUnauthorized: false, + }); + }); + + it('lets a tls object overwrite top-level TLS keys', () => { + const wss = new WebSocketServer({ + noServer: true, + cert: 'TOP', + key: 'TOPKEY', + tls: { cert: 'NESTED', passphrase: 'p' }, + }); + ownedServers.push(wss); + expect(wss.options.tls).toEqual({ + cert: 'NESTED', + key: 'TOPKEY', + passphrase: 'p', + }); + }); + + it('leaves options.tls unset when no TLS material is present', () => { + const wss = new WebSocketServer({ noServer: true, tls: {} }); + ownedServers.push(wss); + expect(wss.options.tls).toBeUndefined(); + }); + + it('attaches an upgrade listener to an existing server', () => { + const server = http.createServer(); + httpServers.push(server); + const wss = new WebSocketServer({ server, path: '/ws' }); + ownedServers.push(wss); + expect(wss.options.server).toBe(server); + expect(server.listenerCount('upgrade')).toBe(1); + expect(wss.address()).toBeNull(); + }); + + it('listens on a standalone port, emits listening, and answers plain HTTP with 426', async () => { + const wss = new WebSocketServer({ port: 0, host: '127.0.0.1' }); + ownedServers.push(wss); + await waitListening(wss); + + const addr = wss.address() as AddressInfo; + expect(addr.address).toBe('127.0.0.1'); + expect(addr.port).toBeGreaterThan(0); + + const res = await fetch(`http://127.0.0.1:${addr.port}/`); + expect(res.status).toBe(426); + expect(res.headers.get('content-type')).toBe('text/plain'); + expect(res.headers.get('content-length')).toBe('16'); + expect(await res.text()).toBe('Upgrade Required'); + }); + + it('creates an HTTPS server when tls options are present', () => { + const stub = stubListenServer(); + const spy = vi.spyOn(https, 'createServer').mockReturnValue(stub as never); + const wss = new WebSocketServer({ + port: 8443, + host: '127.0.0.1', + backlog: 511, + tls: { cert: 'CERT', key: 'KEY' }, + }); + ownedServers.push(wss); + + expect(spy).toHaveBeenCalledTimes(1); + expect(spy.mock.calls[0]![0]).toEqual({ cert: 'CERT', key: 'KEY' }); + expect(stub.listen).toHaveBeenCalledWith(8443, '127.0.0.1', 511, expect.any(Function)); + expect(wss.address()).toEqual({ address: '127.0.0.1', family: 'IPv4', port: 8443 }); + }); + + it('creates an HTTPS server from top-level cert and key', () => { + const stub = stubListenServer(); + const spy = vi.spyOn(https, 'createServer').mockReturnValue(stub as never); + const wss = new WebSocketServer({ + port: 8443, + host: '127.0.0.1', + cert: 'CERT', + key: 'KEY', + } as never); + ownedServers.push(wss); + + expect(spy.mock.calls[0]![0]).toEqual({ cert: 'CERT', key: 'KEY' }); + }); + + it('forwards a listen error from the owned HTTP server', async () => { + const blocker = http.createServer(); + httpServers.push(blocker); + const port = await listen(blocker); + const wss = new WebSocketServer({ port, host: '127.0.0.1' }); + ownedServers.push(wss); + + const err = await new Promise((resolve) => { + wss.once('error', resolve); + }); + expect((err as NodeJS.ErrnoException).code).toBe('EADDRINUSE'); + }); +}); + +describe('WebSocketServer.address', () => { + it('returns the listening address of an attached external server', async () => { + const server = http.createServer(); + httpServers.push(server); + const port = await listen(server); + const wss = new WebSocketServer({ server }); + ownedServers.push(wss); + + const addr = wss.address() as AddressInfo; + expect(addr.address).toBe('127.0.0.1'); + expect(addr.port).toBe(port); + }); + + it('returns null when an external server has no address method', () => { + const server = { + on() {}, + removeListener() {}, + }; + const wss = new WebSocketServer({ server: server as never }); + ownedServers.push(wss); + expect(wss.address()).toBeNull(); + }); +}); + +describe('WebSocketServer.handleUpgrade', () => { + it('rejects a non-GET method with 405', () => { + const wss = new WebSocketServer({ noServer: true }); + ownedServers.push(wss); + const socket = new MockSocket(); + let accepted = false; + wss.handleUpgrade( + upgradeRequest({ method: 'POST' }), + asSocket(socket), + Buffer.alloc(0), + () => { + accepted = true; + }, + ); + expect(accepted).toBe(false); + expect(socket.text).toBe(METHOD_NOT_ALLOWED); + expect(socket.destroyed).toBe(true); + }); + + it('rejects a missing or non-websocket Upgrade header with 400', () => { + const wss = new WebSocketServer({ noServer: true }); + ownedServers.push(wss); + + const missing = new MockSocket(); + wss.handleUpgrade( + upgradeRequest({ headers: { upgrade: undefined } }), + asSocket(missing), + Buffer.alloc(0), + () => {}, + ); + expect(missing.text).toBe(BAD_UPGRADE_HEADER); + expect(missing.destroyed).toBe(true); + + const httpUpgrade = new MockSocket(); + wss.handleUpgrade( + upgradeRequest({ headers: { upgrade: 'h2c' } }), + asSocket(httpUpgrade), + Buffer.alloc(0), + () => {}, + ); + expect(httpUpgrade.text).toBe(BAD_UPGRADE_HEADER); + }); + + it('rejects a Connection header that does not contain upgrade', () => { + const wss = new WebSocketServer({ noServer: true }); + ownedServers.push(wss); + const socket = new MockSocket(); + wss.handleUpgrade( + upgradeRequest({ headers: { connection: 'keep-alive' } }), + asSocket(socket), + Buffer.alloc(0), + () => {}, + ); + expect(socket.text).toBe(BAD_CONNECTION_HEADER); + expect(socket.destroyed).toBe(true); + }); + + it('rejects a Sec-WebSocket-Version other than 13 with 426', () => { + const wss = new WebSocketServer({ noServer: true }); + ownedServers.push(wss); + + const old = new MockSocket(); + wss.handleUpgrade( + upgradeRequest({ headers: { 'sec-websocket-version': '8' } }), + asSocket(old), + Buffer.alloc(0), + () => {}, + ); + expect(old.text).toBe(VERSION_REQUIRED); + expect(old.destroyed).toBe(true); + + const missing = new MockSocket(); + wss.handleUpgrade( + upgradeRequest({ headers: { 'sec-websocket-version': undefined } }), + asSocket(missing), + Buffer.alloc(0), + () => {}, + ); + expect(missing.text).toBe(VERSION_REQUIRED); + }); + + it('rejects a missing, non-string, or malformed Sec-WebSocket-Key', () => { + const wss = new WebSocketServer({ noServer: true }); + ownedServers.push(wss); + + const cases: Array = [ + undefined, + ['dGhlIHNhbXBsZSBub25jZQ=='], + 'short==', + 'AAAAAAAAAAAAAAAAAAAAA==', + 'AAAAAAAAAAAAAAAAAAAAAA', + '**********************==', + ]; + + for (const key of cases) { + const socket = new MockSocket(); + wss.handleUpgrade( + upgradeRequest({ headers: { 'sec-websocket-key': key } }), + asSocket(socket), + Buffer.alloc(0), + () => {}, + ); + expect(socket.text).toBe(BAD_KEY); + expect(socket.destroyed).toBe(true); + } + }); + + it('swallows write and destroy errors while aborting', () => { + const wss = new WebSocketServer({ noServer: true }); + ownedServers.push(wss); + const socket = new MockSocket({ throwOnWrite: true, throwOnDestroy: true }); + expect(() => { + wss.handleUpgrade( + upgradeRequest({ method: 'PUT' }), + asSocket(socket), + Buffer.alloc(0), + () => {}, + ); + }).not.toThrow(); + }); + + it('swallows write and destroy errors on the 426 version path', () => { + const wss = new WebSocketServer({ noServer: true }); + ownedServers.push(wss); + const socket = new MockSocket({ throwOnWrite: true, throwOnDestroy: true }); + expect(() => { + wss.handleUpgrade( + upgradeRequest({ headers: { 'sec-websocket-version': '7' } }), + asSocket(socket), + Buffer.alloc(0), + () => {}, + ); + }).not.toThrow(); + }); + + it('accepts a RFC 6455 handshake and tracks the client', () => { + const wss = new WebSocketServer({ noServer: true }); + ownedServers.push(wss); + const socket = new MockSocket(); + const req = upgradeRequest({ headers: { upgrade: 'WebSocket' } }); + let acceptedReq: IncomingMessage | undefined; + wss.handleUpgrade(req, asSocket(socket), Buffer.alloc(0), (ws, request) => { + acceptedReq = request; + expect(ws.readyState).toBe(1); + expect(ws.protocol).toBe(''); + expect(ws.extensions).toBe(''); + expect(wss.clients.has(ws)).toBe(true); + ws.terminate(); + }); + + expect(acceptedReq).toBe(req); + expect(socket.text).toBe(RFC_SWITCHING); + expect(socket.timeout).toBe(0); + expect(socket.noDelay).toBe(true); + expect(wss.clients.size).toBe(0); + }); + + it('joins an array Connection header before testing for upgrade', () => { + const wss = new WebSocketServer({ noServer: true }); + ownedServers.push(wss); + const socket = new MockSocket(); + wss.handleUpgrade( + upgradeRequest({ headers: { connection: ['Keep-Alive', 'Upgrade'] } }), + asSocket(socket), + Buffer.alloc(0), + (ws) => ws.terminate(), + ); + expect(socket.text).toBe(RFC_SWITCHING); + }); + + it('accepts Connection: keep-alive, Upgrade', () => { + const wss = new WebSocketServer({ noServer: true }); + ownedServers.push(wss); + const socket = new MockSocket(); + wss.handleUpgrade( + upgradeRequest({ headers: { connection: 'keep-alive, Upgrade' } }), + asSocket(socket), + Buffer.alloc(0), + (ws) => ws.terminate(), + ); + expect(socket.text).toBe(RFC_SWITCHING); + }); + + it('skips setTimeout and setNoDelay when the socket does not implement them', () => { + const wss = new WebSocketServer({ noServer: true }); + ownedServers.push(wss); + const socket = new MockSocket(); + (socket as { setTimeout?: unknown }).setTimeout = undefined; + (socket as { setNoDelay?: unknown }).setNoDelay = undefined; + wss.handleUpgrade(upgradeRequest(), asSocket(socket), Buffer.alloc(0), (ws) => + ws.terminate(), + ); + expect(socket.text).toBe(RFC_SWITCHING); + }); + + it('selects the first server protocol that the client offered', () => { + const wss = new WebSocketServer({ noServer: true, protocols: ['chat.v2', 'chat.v1'] }); + ownedServers.push(wss); + const socket = new MockSocket(); + wss.handleUpgrade( + upgradeRequest({ headers: { 'sec-websocket-protocol': 'chat.v1, chat.v2' } }), + asSocket(socket), + Buffer.alloc(0), + (ws) => { + expect(ws.protocol).toBe('chat.v2'); + ws.terminate(); + }, + ); + expect(socket.text).toBe( + 'HTTP/1.1 101 Switching Protocols\r\n' + + 'Upgrade: websocket\r\n' + + 'Connection: Upgrade\r\n' + + 'Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=\r\n' + + 'Sec-WebSocket-Protocol: chat.v2\r\n' + + '\r\n', + ); + }); + + it('accepts a comma-separated protocols string and a Set', () => { + const asString = new WebSocketServer({ noServer: true, protocols: 'chat' }); + ownedServers.push(asString); + const stringSocket = new MockSocket(); + asString.handleUpgrade( + upgradeRequest({ headers: { 'sec-websocket-protocol': 'chat' } }), + asSocket(stringSocket), + Buffer.alloc(0), + (ws) => { + expect(ws.protocol).toBe('chat'); + ws.terminate(); + }, + ); + expect(stringSocket.text).toContain('Sec-WebSocket-Protocol: chat\r\n'); + + const asSet = new WebSocketServer({ + noServer: true, + protocols: new Set(['superchat', 'chat']), + }); + ownedServers.push(asSet); + const setSocket = new MockSocket(); + asSet.handleUpgrade( + upgradeRequest({ headers: { 'sec-websocket-protocol': 'chat, superchat' } }), + asSocket(setSocket), + Buffer.alloc(0), + (ws) => { + expect(ws.protocol).toBe('superchat'); + ws.terminate(); + }, + ); + expect(setSocket.text).toContain('Sec-WebSocket-Protocol: superchat\r\n'); + }); + + it('uses a protocol selector only when the result was requested', () => { + const requestedSeen: string[][] = []; + const wss = new WebSocketServer({ + noServer: true, + protocols: (requested) => { + requestedSeen.push(requested); + return 'chat'; + }, + }); + ownedServers.push(wss); + const socket = new MockSocket(); + wss.handleUpgrade( + upgradeRequest({ headers: { 'sec-websocket-protocol': 'chat, extra' } }), + asSocket(socket), + Buffer.alloc(0), + (ws) => { + expect(ws.protocol).toBe('chat'); + ws.terminate(); + }, + ); + expect(requestedSeen).toEqual([['chat', 'extra']]); + expect(socket.text).toContain('Sec-WebSocket-Protocol: chat\r\n'); + }); + + it('omits Sec-WebSocket-Protocol when the selector result was not offered', () => { + const wss = new WebSocketServer({ + noServer: true, + protocols: () => 'other', + }); + ownedServers.push(wss); + const socket = new MockSocket(); + wss.handleUpgrade( + upgradeRequest({ headers: { 'sec-websocket-protocol': 'chat' } }), + asSocket(socket), + Buffer.alloc(0), + (ws) => { + expect(ws.protocol).toBe(''); + ws.terminate(); + }, + ); + expect(socket.text).toBe(RFC_SWITCHING); + }); + + it('omits Sec-WebSocket-Protocol when nothing overlaps', () => { + const wss = new WebSocketServer({ noServer: true, protocols: ['json'] }); + ownedServers.push(wss); + const socket = new MockSocket(); + wss.handleUpgrade( + upgradeRequest({ headers: { 'sec-websocket-protocol': 'chat' } }), + asSocket(socket), + Buffer.alloc(0), + (ws) => { + expect(ws.protocol).toBe(''); + ws.terminate(); + }, + ); + expect(socket.text).toBe(RFC_SWITCHING); + }); + + it('negotiates permessage-deflate when offered and enabled', () => { + const wss = new WebSocketServer({ noServer: true, perMessageDeflate: true }); + ownedServers.push(wss); + const socket = new MockSocket(); + wss.handleUpgrade( + upgradeRequest({ headers: { 'sec-websocket-extensions': 'permessage-deflate' } }), + asSocket(socket), + Buffer.alloc(0), + (ws) => { + expect(ws.extensions).toBe('permessage-deflate'); + ws.terminate(); + }, + ); + expect(socket.text).toBe( + 'HTTP/1.1 101 Switching Protocols\r\n' + + 'Upgrade: websocket\r\n' + + 'Connection: Upgrade\r\n' + + 'Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=\r\n' + + 'Sec-WebSocket-Extensions: permessage-deflate; server_no_context_takeover; client_no_context_takeover\r\n' + + '\r\n', + ); + }); + + it('does not advertise permessage-deflate when disabled or not offered', () => { + const disabled = new WebSocketServer({ noServer: true, perMessageDeflate: false }); + ownedServers.push(disabled); + const disabledSocket = new MockSocket(); + disabled.handleUpgrade( + upgradeRequest({ headers: { 'sec-websocket-extensions': 'permessage-deflate' } }), + asSocket(disabledSocket), + Buffer.alloc(0), + (ws) => { + expect(ws.extensions).toBe(''); + ws.terminate(); + }, + ); + expect(disabledSocket.text).toBe(RFC_SWITCHING); + + const noOffer = new WebSocketServer({ noServer: true, perMessageDeflate: true }); + ownedServers.push(noOffer); + const noOfferSocket = new MockSocket(); + noOffer.handleUpgrade(upgradeRequest(), asSocket(noOfferSocket), Buffer.alloc(0), (ws) => { + expect(ws.extensions).toBe(''); + ws.terminate(); + }); + expect(noOfferSocket.text).toBe(RFC_SWITCHING); + }); + + it('honors permessage-deflate takeover flags from the config object', () => { + const wss = new WebSocketServer({ + noServer: true, + perMessageDeflate: { clientNoContextTakeover: false, serverNoContextTakeover: false }, + }); + ownedServers.push(wss); + const socket = new MockSocket(); + wss.handleUpgrade( + upgradeRequest({ headers: { 'sec-websocket-extensions': 'permessage-deflate' } }), + asSocket(socket), + Buffer.alloc(0), + (ws) => ws.terminate(), + ); + expect(socket.text).toBe( + 'HTTP/1.1 101 Switching Protocols\r\n' + + 'Upgrade: websocket\r\n' + + 'Connection: Upgrade\r\n' + + 'Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=\r\n' + + 'Sec-WebSocket-Extensions: permessage-deflate\r\n' + + '\r\n', + ); + }); + + it('writes extensions before protocol when both are selected', () => { + const wss = new WebSocketServer({ + noServer: true, + protocols: ['chat'], + perMessageDeflate: true, + }); + ownedServers.push(wss); + const socket = new MockSocket(); + wss.handleUpgrade( + upgradeRequest({ + headers: { + 'sec-websocket-protocol': 'chat', + 'sec-websocket-extensions': 'permessage-deflate', + }, + }), + asSocket(socket), + Buffer.alloc(0), + (ws) => { + expect(ws.protocol).toBe('chat'); + expect(ws.extensions).toBe('permessage-deflate'); + ws.terminate(); + }, + ); + expect(socket.text).toBe( + 'HTTP/1.1 101 Switching Protocols\r\n' + + 'Upgrade: websocket\r\n' + + 'Connection: Upgrade\r\n' + + 'Sec-WebSocket-Accept: s3pPLMBiTxaQ9kYGzzhZRbK+xOo=\r\n' + + 'Sec-WebSocket-Extensions: permessage-deflate; server_no_context_takeover; client_no_context_takeover\r\n' + + 'Sec-WebSocket-Protocol: chat\r\n' + + '\r\n', + ); + }); + + it('destroys the socket and skips the callback when the 101 write fails', () => { + const wss = new WebSocketServer({ noServer: true }); + ownedServers.push(wss); + const socket = new MockSocket({ throwOnWrite: true }); + let accepted = false; + wss.handleUpgrade(upgradeRequest(), asSocket(socket), Buffer.alloc(0), () => { + accepted = true; + }); + expect(accepted).toBe(false); + expect(wss.clients.size).toBe(0); + expect(socket.destroyed).toBe(true); + }); + + it('feeds leftover handshake bytes into the new socket', () => { + const wss = new WebSocketServer({ noServer: true }); + ownedServers.push(wss); + const socket = new MockSocket(); + const ping = Buffer.from([0x89, 0x80, 0x00, 0x00, 0x00, 0x00]); + wss.handleUpgrade(upgradeRequest(), asSocket(socket), ping, (ws) => ws.terminate()); + expect(socket.writes[0]!.toString('utf8')).toBe(RFC_SWITCHING); + expect(socket.writes[1]!.equals(Buffer.from([0x8a, 0x00]))).toBe(true); + }); + + it('does not emit connection from handleUpgrade in noServer mode', () => { + const wss = new WebSocketServer({ noServer: true }); + ownedServers.push(wss); + let connected = false; + wss.on('connection', () => { + connected = true; + }); + const socket = new MockSocket(); + wss.handleUpgrade(upgradeRequest(), asSocket(socket), Buffer.alloc(0), (ws) => + ws.terminate(), + ); + expect(connected).toBe(false); + }); + + it('ignores options.path inside handleUpgrade itself', () => { + const wss = new WebSocketServer({ noServer: true, path: '/ws' }); + ownedServers.push(wss); + const socket = new MockSocket(); + wss.handleUpgrade( + upgradeRequest({ url: '/other' }), + asSocket(socket), + Buffer.alloc(0), + (ws) => { + ws.terminate(); + }, + ); + expect(socket.text).toBe(RFC_SWITCHING); + }); +}); + +describe('WebSocketServer verifyClient', () => { + it('accepts when the sync verifier returns true', () => { + const infos: Array<{ origin?: string; secure: boolean; req: IncomingMessage }> = []; + const req = upgradeRequest({ headers: { origin: 'https://chat.example' } }); + const wss = new WebSocketServer({ + noServer: true, + verifyClient: (info) => { + infos.push(info); + return true; + }, + }); + ownedServers.push(wss); + const socket = new MockSocket(); + wss.handleUpgrade(req, asSocket(socket), Buffer.alloc(0), (ws) => ws.terminate()); + expect(infos).toEqual([{ origin: 'https://chat.example', secure: false, req }]); + expect(socket.text).toBe(RFC_SWITCHING); + }); + + it('rejects a sync verifier false with 401 Unauthorized', () => { + const wss = new WebSocketServer({ noServer: true, verifyClient: () => false }); + ownedServers.push(wss); + const socket = new MockSocket(); + let accepted = false; + wss.handleUpgrade(upgradeRequest(), asSocket(socket), Buffer.alloc(0), () => { + accepted = true; + }); + expect(accepted).toBe(false); + expect(socket.text).toBe(UNAUTHORIZED); + expect(socket.destroyed).toBe(true); + }); + + it('marks verify info secure when the socket is encrypted', () => { + let secure: boolean | undefined; + const wss = new WebSocketServer({ + noServer: true, + verifyClient: (info) => { + secure = info.secure; + return true; + }, + }); + ownedServers.push(wss); + const socket = new MockSocket({ encrypted: true }); + wss.handleUpgrade(upgradeRequest(), asSocket(socket), Buffer.alloc(0), (ws) => + ws.terminate(), + ); + expect(secure).toBe(true); + }); + + it('accepts when the async verifier calls back true', () => { + const wss = new WebSocketServer({ + noServer: true, + verifyClient: (_info, cb) => { + cb(true); + }, + }); + ownedServers.push(wss); + const socket = new MockSocket(); + wss.handleUpgrade(upgradeRequest(), asSocket(socket), Buffer.alloc(0), (ws) => + ws.terminate(), + ); + expect(socket.text).toBe(RFC_SWITCHING); + }); + + it('rejects an async verifier false with the default 401 body', () => { + const wss = new WebSocketServer({ + noServer: true, + verifyClient: (_info, cb) => { + cb(false); + }, + }); + ownedServers.push(wss); + const socket = new MockSocket(); + wss.handleUpgrade(upgradeRequest(), asSocket(socket), Buffer.alloc(0), () => {}); + expect(socket.text).toBe(UNAUTHORIZED); + }); + + it('rejects an async verifier with a custom status and message', () => { + const wss = new WebSocketServer({ + noServer: true, + verifyClient: (_info, cb) => { + cb(false, 403, 'go away'); + }, + }); + ownedServers.push(wss); + const socket = new MockSocket(); + wss.handleUpgrade(upgradeRequest(), asSocket(socket), Buffer.alloc(0), () => {}); + expect(socket.text).toBe( + 'HTTP/1.1 403 Forbidden\r\n' + + 'Connection: close\r\n' + + 'Content-Length: 7\r\n' + + 'Content-Type: text/plain\r\n' + + '\r\n' + + 'go away', + ); + }); + + it('uses status text Error and an empty body for an unknown async reject code', () => { + const wss = new WebSocketServer({ + noServer: true, + verifyClient: (_info, cb) => { + cb(false, 599); + }, + }); + ownedServers.push(wss); + const socket = new MockSocket(); + wss.handleUpgrade(upgradeRequest(), asSocket(socket), Buffer.alloc(0), () => {}); + expect(socket.text).toBe( + 'HTTP/1.1 599 Error\r\n' + + 'Connection: close\r\n' + + 'Content-Length: 0\r\n' + + 'Content-Type: text/plain\r\n' + + '\r\n', + ); + }); + + it('waits for a deferred async verifier before writing 101', () => { + let decide: ((allow: boolean) => void) | undefined; + const wss = new WebSocketServer({ + noServer: true, + verifyClient: (_info, cb) => { + decide = (allow) => cb(allow); + }, + }); + ownedServers.push(wss); + const socket = new MockSocket(); + wss.handleUpgrade(upgradeRequest(), asSocket(socket), Buffer.alloc(0), (ws) => + ws.terminate(), + ); + expect(socket.writes).toEqual([]); + decide!(true); + expect(socket.text).toBe(RFC_SWITCHING); + }); +}); + +describe('WebSocketServer path filtering', () => { + it('aborts a mismatched path when it is the only upgrade listener', () => { + const server = http.createServer(); + httpServers.push(server); + const wss = new WebSocketServer({ server, path: '/ws' }); + ownedServers.push(wss); + const socket = new MockSocket(); + server.emit( + 'upgrade', + upgradeRequest({ url: '/other' }), + asSocket(socket), + Buffer.alloc(0), + ); + expect(socket.text).toBe(BAD_PATH); + expect(socket.destroyed).toBe(true); + }); + + it('leaves a mismatched path alone when another upgrade listener exists', () => { + const server = http.createServer(); + httpServers.push(server); + const wss = new WebSocketServer({ server, path: '/ws' }); + ownedServers.push(wss); + let other = false; + server.on('upgrade', () => { + other = true; + }); + const socket = new MockSocket(); + server.emit( + 'upgrade', + upgradeRequest({ url: '/other' }), + asSocket(socket), + Buffer.alloc(0), + ); + expect(other).toBe(true); + expect(socket.writes).toEqual([]); + expect(socket.destroyed).toBe(false); + }); + + it('matches the path after stripping the query string', () => { + const server = http.createServer(); + httpServers.push(server); + const wss = new WebSocketServer({ server, path: '/ws' }); + ownedServers.push(wss); + const req = upgradeRequest({ url: '/ws?x=1' }); + const socket = new MockSocket(); + const seen: IncomingMessage[] = []; + wss.on('connection', (ws, request) => { + seen.push(request); + ws.terminate(); + }); + server.emit('upgrade', req, asSocket(socket), Buffer.alloc(0)); + expect(seen).toEqual([req]); + expect(socket.text).toBe(RFC_SWITCHING); + }); + + it('treats a missing url as /', () => { + const server = http.createServer(); + httpServers.push(server); + const wss = new WebSocketServer({ server, path: '/' }); + ownedServers.push(wss); + const req = upgradeRequest({ url: undefined }); + const socket = new MockSocket(); + let connected = false; + wss.on('connection', (ws) => { + connected = true; + ws.terminate(); + }); + server.emit('upgrade', req, asSocket(socket), Buffer.alloc(0)); + expect(connected).toBe(true); + expect(socket.text).toBe(RFC_SWITCHING); + }); + + it('rejects a missing url when the configured path is not /', () => { + const server = http.createServer(); + httpServers.push(server); + const wss = new WebSocketServer({ server, path: '/ws' }); + ownedServers.push(wss); + const socket = new MockSocket(); + server.emit( + 'upgrade', + upgradeRequest({ url: undefined }), + asSocket(socket), + Buffer.alloc(0), + ); + expect(socket.text).toBe(BAD_PATH); + }); +}); + +describe('WebSocketServer.close', () => { + it('invokes the callback on the next immediate tick in noServer mode', async () => { + const wss = new WebSocketServer({ noServer: true }); + ownedServers.push(wss); + let called = false; + wss.close(() => { + called = true; + }); + expect(called).toBe(false); + await new Promise((resolve) => setImmediate(resolve)); + expect(called).toBe(true); + }); + + it('returns without throwing when noServer close has no callback', () => { + const wss = new WebSocketServer({ noServer: true }); + ownedServers.push(wss); + expect(() => wss.close()).not.toThrow(); + }); + + it('detaches the upgrade listener from an external server and still calls back', async () => { + const server = http.createServer(); + httpServers.push(server); + const wss = new WebSocketServer({ server }); + ownedServers.push(wss); + expect(server.listenerCount('upgrade')).toBe(1); + await closeWss(wss); + expect(server.listenerCount('upgrade')).toBe(0); + await closeWss(wss); + expect(server.listenerCount('upgrade')).toBe(0); + }); + + it('sends 1001 Server shutting down to live clients', () => { + const wss = new WebSocketServer({ noServer: true }); + ownedServers.push(wss); + const socket = new MockSocket(); + wss.handleUpgrade(upgradeRequest(), asSocket(socket), Buffer.alloc(0), () => {}); + wss.close(); + expect(socket.writes[0]!.toString('utf8')).toBe(RFC_SWITCHING); + expect(socket.writes[1]!.equals(SHUTDOWN_CLOSE_FRAME)).toBe(true); + }); + + it('swallows a client close that throws', async () => { + const wss = new WebSocketServer({ noServer: true }); + ownedServers.push(wss); + wss.clients.add({ + close() { + throw new Error('boom'); + }, + } as never); + await closeWss(wss); + }); + + it('forwards the owned HTTP server close callback', async () => { + const wss = new WebSocketServer({ port: 0, host: '127.0.0.1' }); + ownedServers.push(wss); + await waitListening(wss); + await closeWss(wss); + }); +}); diff --git a/packages/websocket/tests/websocket.test.ts b/packages/websocket/tests/websocket.test.ts new file mode 100644 index 00000000..40d28d70 --- /dev/null +++ b/packages/websocket/tests/websocket.test.ts @@ -0,0 +1,1336 @@ +import { EventEmitter } from 'node:events'; +import type { Socket } from 'node:net'; +import zlib from 'node:zlib'; +import { afterEach, describe, expect, it } from 'vitest'; + +import { compressRaw } from '../src/extensions'; +import native from '../src/native'; +import { + CLOSED, + CLOSING, + CONNECTING, + DEFAULT_MAX_PAYLOAD_BYTES, + OPEN, + OP_BIN, + OP_CLOSE, + OP_CONT, + OP_PING, + OP_PONG, + OP_TEXT, + RSV1, + WebSocket, + encodeClosePayload, + isValidCloseCode, + randomMaskKey, +} from '../src/websocket'; + +const MASK = Buffer.from([0x11, 0x22, 0x33, 0x44]); +const ZLIB_TRAILER = Buffer.from([0x00, 0x00, 0xff, 0xff]); +const DEFLATE = { + enabled: true as const, + requestNoContextTakeover: true, + responseNoContextTakeover: true, + threshold: 1024, +}; + +let nativeIo = true; + +try { + native.buildFrame(OP_TEXT, true, Buffer.from([0x61]), null, 0); +} catch (err) { + nativeIo = !String((err as Error).message).includes('native addon is stubbed'); +} + +class FakeSocket extends EventEmitter { + readonly written: Buffer[] = []; + ended = false; + endedPayload: Buffer | undefined; + destroyed = false; + throwOnEnd = false; + throwOnDestroy = false; + autoCloseOnEnd = false; + + write(chunk: Buffer, cb?: (err?: Error | null) => void): boolean { + this.written.push(Buffer.from(chunk)); + cb?.(null); + return true; + } + + end(chunk?: Buffer): this { + if (this.throwOnEnd) { + throw new Error('end failed'); + } + + if (chunk !== undefined) { + this.endedPayload = Buffer.from(chunk); + } + + this.ended = true; + + if (this.autoCloseOnEnd) { + this.emit('end'); + this.emit('close'); + } + + return this; + } + + destroy(): this { + if (this.throwOnDestroy) { + throw new Error('destroy failed'); + } + + this.destroyed = true; + return this; + } +} + +const sockets: FakeSocket[] = []; + +function createWs( + options?: ConstructorParameters[1], + socket = new FakeSocket(), +): { ws: WebSocket; socket: FakeSocket } { + sockets.push(socket); + return { ws: new WebSocket(socket as unknown as Socket, options), socket }; +} + +function clientFrame(opcode: number, payload: Buffer, fin = true, rsv = 0): Buffer { + return native.buildFrame(opcode, fin, payload, MASK, rsv); +} + +function serverFrame(opcode: number, payload: Buffer, fin = true, rsv = 0): Buffer { + return native.buildFrame(opcode, fin, payload, null, rsv); +} + +/** A masked header declaring `payloadBytes` with no payload — the parser rejects + * on the declared length before buffering any payload. */ +function maskedOversizedHeader(opcode: number, payloadBytes: number): Buffer { + const header = Buffer.alloc(14); + header[0] = 0x80 | opcode; + header[1] = 0xff; // masked + 64-bit length + header.writeUInt32BE(Math.floor(payloadBytes / 2 ** 32), 2); + header.writeUInt32BE(payloadBytes % 2 ** 32, 6); + MASK.copy(header, 10); + return header; +} + +function parseFrames( + buffers: Array, + expectMasked: boolean, +): Array<{ + fin: boolean; + opcode: number; + payload: Buffer; + rsv: number; +}> { + const parser = new native.Parser({ + isServer: expectMasked, + maxPayload: 100 * 1024 * 1024, + allowedRsv: 0x70, + }); + const frames: Array<{ fin: boolean; opcode: number; payload: Buffer; rsv: number }> = []; + + for (const buf of buffers) { + if (!buf) { + continue; + } + + const res = parser.push(buf); + + if (res.error) { + throw new Error(res.message ?? 'parse failed'); + } + + for (const frame of res.frames) { + frames.push({ + fin: frame.fin, + opcode: frame.opcode, + payload: frame.payload, + rsv: frame.rsv ?? 0, + }); + } + } + + return frames; +} + +function inflateRawError(data: Buffer): Error & { code?: string } { + try { + zlib.inflateRawSync(Buffer.concat([data, ZLIB_TRAILER]), { + finishFlush: zlib.constants.Z_SYNC_FLUSH, + }); + } catch (err) { + return err as Error & { code?: string }; + } + + throw new Error('expected inflateRawSync to fail'); +} + +afterEach(() => { + for (const socket of sockets) { + socket.emit('close'); + } + + sockets.length = 0; +}); + +describe('opcode and ready-state constants', () => { + it('exports the RFC 6455 opcodes and ready-state numbers', () => { + expect(OP_CONT).toBe(0x0); + expect(OP_TEXT).toBe(0x1); + expect(OP_BIN).toBe(0x2); + expect(OP_CLOSE).toBe(0x8); + expect(OP_PING).toBe(0x9); + expect(OP_PONG).toBe(0xa); + expect(RSV1).toBe(0x40); + expect(CONNECTING).toBe(0); + expect(OPEN).toBe(1); + expect(CLOSING).toBe(2); + expect(CLOSED).toBe(3); + expect(WebSocket.CONNECTING).toBe(0); + expect(WebSocket.OPEN).toBe(1); + expect(WebSocket.CLOSING).toBe(2); + expect(WebSocket.CLOSED).toBe(3); + }); +}); + +describe('isValidCloseCode', () => { + it('accepts the RFC registered application codes and the 3000–4999 range', () => { + for (const code of [ + 1000, 1001, 1002, 1003, 1007, 1008, 1009, 1010, 1011, 3000, 3001, 3999, 4000, 4999, + ]) { + expect(isValidCloseCode(code)).toBe(true); + } + }); + + it('rejects reserved, unused, and out-of-range codes', () => { + for (const code of [ + 0, 999, 1004, 1005, 1006, 1012, 1013, 1014, 1015, 1016, 2000, 2999, 5000, 65535, -1, + ]) { + expect(isValidCloseCode(code)).toBe(false); + } + }); +}); + +describe('encodeClosePayload', () => { + it('returns an empty buffer when the code is omitted', () => { + expect(encodeClosePayload(undefined)).toEqual(Buffer.alloc(0)); + expect(encodeClosePayload(null)).toEqual(Buffer.alloc(0)); + expect(encodeClosePayload(1000, '')).toEqual(Buffer.from([0x03, 0xe8])); + }); + + it('rejects a reason without a close code', () => { + expect(() => encodeClosePayload(undefined, 'bye')).toThrow( + 'Cannot send close reason without a code', + ); + expect(() => encodeClosePayload(null, 'bye')).toThrow( + 'Cannot send close reason without a code', + ); + }); + + it('writes a big-endian code and the UTF-8 reason', () => { + expect(encodeClosePayload(1000)).toEqual(Buffer.from([0x03, 0xe8])); + expect(encodeClosePayload(1001, 'bye')).toEqual( + Buffer.from([0x03, 0xe9, 0x62, 0x79, 0x65]), + ); + expect(encodeClosePayload(4999, 'é')).toEqual(Buffer.from([0x13, 0x87, 0xc3, 0xa9])); + expect(encodeClosePayload(0x1_0000)).toEqual(Buffer.from([0x00, 0x00])); + }); +}); + +describe('randomMaskKey', () => { + it('returns a 4-byte Buffer', () => { + const key = randomMaskKey(); + expect(Buffer.isBuffer(key)).toBe(true); + expect(key).toHaveLength(4); + expect(randomMaskKey()).not.toEqual(key); + }); +}); + +describe('WebSocket constructor', () => { + it('defaults to an unmasked client socket in the OPEN state', () => { + const { ws } = createWs(); + expect(ws.readyState).toBe(1); + expect(ws.isServer).toBe(false); + expect(ws.protocol).toBe(''); + expect(ws.extensions).toBe(''); + }); + + it('applies server, protocol, payload, ready-state, and deflate options', () => { + const { ws } = createWs({ + isServer: true, + maxPayload: 32, + readyState: CONNECTING, + protocol: 'chat', + extensions: { perMessageDeflate: DEFLATE }, + }); + expect(ws.readyState).toBe(0); + expect(ws.isServer).toBe(true); + expect(ws.protocol).toBe('chat'); + expect(ws.extensions).toBe('permessage-deflate'); + }); + + it('treats a missing options object as empty', () => { + const { ws } = createWs(undefined); + expect(ws.readyState).toBe(OPEN); + expect(ws.isServer).toBe(false); + expect(ws.extensions).toBe(''); + }); +}); + +describe.skipIf(!nativeIo)('WebSocket send/ping/pong/close', () => { + it('sends a UTF-8 text frame for a string', () => { + const { ws, socket } = createWs({ isServer: true }); + ws.send('hi'); + expect(parseFrames(socket.written, false)).toEqual([ + { fin: true, opcode: 0x1, payload: Buffer.from([0x68, 0x69]), rsv: 0 }, + ]); + }); + + it('sends a string as binary when binary: true', () => { + const { ws, socket } = createWs({ isServer: true }); + ws.send('hi', { binary: true }); + expect(parseFrames(socket.written, false)[0]).toMatchObject({ + opcode: 0x2, + payload: Buffer.from([0x68, 0x69]), + }); + }); + + it('sends a Buffer as binary unless binary: false', () => { + const { ws, socket } = createWs({ isServer: true }); + ws.send(Buffer.from([0x01, 0x02])); + ws.send(Buffer.from([0x61]), { binary: false }); + const frames = parseFrames(socket.written, false); + expect(frames[0]).toMatchObject({ opcode: 0x2, payload: Buffer.from([0x01, 0x02]) }); + expect(frames[1]).toMatchObject({ opcode: 0x1, payload: Buffer.from([0x61]) }); + }); + + it('sends a Uint8Array view using byteOffset/byteLength', () => { + const { ws, socket } = createWs({ isServer: true }); + const view = new Uint8Array([0x00, 0x09, 0x08, 0x07, 0x00]).subarray(1, 4); + ws.send(view); + expect(parseFrames(socket.written, false)[0]).toMatchObject({ + opcode: 0x2, + payload: Buffer.from([0x09, 0x08, 0x07]), + }); + }); + + it('sends an ArrayBuffer as binary unless binary: false', () => { + const { ws, socket } = createWs({ isServer: true }); + ws.send(new Uint8Array([0x04, 0x05, 0x06]).buffer); + ws.send(new Uint8Array([0x7a]).buffer, { binary: false }); + const frames = parseFrames(socket.written, false); + expect(frames[0]).toMatchObject({ opcode: 0x2, payload: Buffer.from([0x04, 0x05, 0x06]) }); + expect(frames[1]).toMatchObject({ opcode: 0x1, payload: Buffer.from([0x7a]) }); + }); + + it('accepts the callback as the second argument', () => { + const { ws } = createWs({ isServer: true }); + const seen: Array = []; + ws.send('ok', (err) => { + seen.push(err); + }); + expect(seen).toEqual([null]); + }); + + it('passes the callback through with send options', () => { + const { ws, socket } = createWs({ isServer: true }); + const seen: Array = []; + ws.send('ok', { binary: false }, (err) => { + seen.push(err); + }); + expect(seen).toEqual([null]); + expect(parseFrames(socket.written, false)[0]!.opcode).toBe(0x1); + }); + + it('throws when send() is used while not OPEN', () => { + const { ws } = createWs({ isServer: true, readyState: CONNECTING }); + expect(() => ws.send('x')).toThrow('WebSocket is not open'); + }); + + it('delivers the not-open error to the send callback without throwing', () => { + const { ws } = createWs({ isServer: true, readyState: CLOSING }); + const seen: Array = []; + ws.send('x', (err) => { + seen.push(err); + }); + expect(seen).toHaveLength(1); + expect(seen[0]).toBeInstanceOf(Error); + expect(seen[0]!.message).toBe('WebSocket is not open'); + }); + + it('rejects unsupported send() data types', () => { + const { ws } = createWs({ isServer: true }); + expect(() => ws.send(1 as unknown as string)).toThrow(TypeError); + expect(() => ws.send(1 as unknown as string)).toThrow('Unsupported data type for send()'); + const seen: Array = []; + ws.send({} as unknown as Buffer, (err) => { + seen.push(err); + }); + expect(seen).toHaveLength(1); + expect(seen[0]).toBeInstanceOf(TypeError); + expect(seen[0]!.message).toBe('Unsupported data type for send()'); + }); + + it('masks client frames and leaves server frames unmasked', () => { + const server = createWs({ isServer: true }); + server.ws.send('a'); + expect(server.socket.written[0]![1]! & 0x80).toBe(0); + + const client = createWs({ isServer: false }); + client.ws.send('a'); + expect(client.socket.written[0]![1]! & 0x80).toBe(0x80); + expect(parseFrames(client.socket.written, true)[0]).toMatchObject({ + opcode: 0x1, + payload: Buffer.from([0x61]), + }); + }); + + it('compresses payloads at or above the deflate threshold', () => { + const { ws, socket } = createWs({ + isServer: true, + extensions: { perMessageDeflate: DEFLATE }, + }); + const body = Buffer.alloc(1024, 0x61); + ws.send(body); + const frame = parseFrames(socket.written, false)[0]!; + expect(frame.opcode).toBe(0x2); + expect(frame.rsv).toBe(0x40); + expect(frame.payload.equals(body)).toBe(false); + expect( + zlib.inflateRawSync(Buffer.concat([frame.payload, ZLIB_TRAILER]), { + finishFlush: zlib.constants.Z_SYNC_FLUSH, + }), + ).toEqual(body); + }); + + it('uses 1024 as the compress threshold when the negotiated value is missing', () => { + const { ws, socket } = createWs({ + isServer: true, + extensions: { + perMessageDeflate: { + enabled: true, + requestNoContextTakeover: true, + responseNoContextTakeover: true, + } as typeof DEFLATE, + }, + }); + ws.send(Buffer.alloc(1023, 0x62)); + ws.send(Buffer.alloc(1024, 0x62)); + const frames = parseFrames(socket.written, false); + expect(frames[0]!.rsv).toBe(0); + expect(frames[0]!.payload).toEqual(Buffer.alloc(1023, 0x62)); + expect(frames[1]!.rsv).toBe(0x40); + }); + + it('skips compression when compress is false or the payload is under the threshold', () => { + const { ws, socket } = createWs({ + isServer: true, + extensions: { perMessageDeflate: { ...DEFLATE, threshold: 8 } }, + }); + ws.send(Buffer.alloc(8, 0x63), { compress: false }); + ws.send(Buffer.alloc(7, 0x63)); + const frames = parseFrames(socket.written, false); + expect(frames[0]).toMatchObject({ rsv: 0, payload: Buffer.alloc(8, 0x63) }); + expect(frames[1]).toMatchObject({ rsv: 0, payload: Buffer.alloc(7, 0x63) }); + }); + + it('does not compress when permessage-deflate was not negotiated', () => { + const { ws, socket } = createWs({ isServer: true }); + ws.send(Buffer.alloc(2048, 0x64), { compress: true }); + expect(parseFrames(socket.written, false)[0]!.rsv).toBe(0); + }); + + it('sends ping and pong control frames', () => { + const { ws, socket } = createWs({ isServer: true }); + ws.ping(); + ws.ping('ab'); + ws.ping(Buffer.from([0x01])); + ws.pong(); + ws.pong('cd'); + ws.pong(Buffer.from([0x02])); + const frames = parseFrames(socket.written, false); + expect(frames).toEqual([ + { fin: true, opcode: 0x9, payload: Buffer.alloc(0), rsv: 0 }, + { fin: true, opcode: 0x9, payload: Buffer.from([0x61, 0x62]), rsv: 0 }, + { fin: true, opcode: 0x9, payload: Buffer.from([0x01]), rsv: 0 }, + { fin: true, opcode: 0xa, payload: Buffer.alloc(0), rsv: 0 }, + { fin: true, opcode: 0xa, payload: Buffer.from([0x63, 0x64]), rsv: 0 }, + { fin: true, opcode: 0xa, payload: Buffer.from([0x02]), rsv: 0 }, + ]); + }); + + it('accepts a callback as the first ping/pong argument', () => { + const { ws } = createWs({ isServer: true }); + const seen: Array = []; + ws.ping((err) => { + seen.push(err); + }); + ws.pong((err) => { + seen.push(err); + }); + expect(seen).toEqual([null, null]); + }); + + it('accepts ping/pong callbacks after the unused mask argument', () => { + const { ws, socket } = createWs({ isServer: true }); + const seen: Array = []; + ws.ping('z', undefined, (err) => { + seen.push(err); + }); + ws.pong('z', undefined, (err) => { + seen.push(err); + }); + expect(seen).toEqual([null, null]); + expect(parseFrames(socket.written, false).map((f) => f.opcode)).toEqual([0x9, 0xa]); + }); + + it('rejects ping/pong payloads larger than 125 bytes before checking readyState', () => { + const { ws } = createWs({ isServer: true, readyState: CLOSED }); + expect(() => ws.ping(Buffer.alloc(126))).toThrow('Ping payload must be <=125 bytes'); + expect(() => ws.pong('x'.repeat(126))).toThrow('Pong payload must be <=125 bytes'); + expect(() => ws.ping(Buffer.alloc(125))).toThrow('WebSocket is not open'); + expect(() => ws.pong(Buffer.alloc(125))).toThrow('WebSocket is not open'); + }); + + it('delivers the not-open error to ping/pong callbacks', () => { + const { ws } = createWs({ isServer: true, readyState: CONNECTING }); + const seen: Error[] = []; + ws.ping(Buffer.from('a'), undefined, (err) => { + if (err) { + seen.push(err); + } + }); + ws.pong('a', undefined, (err) => { + if (err) { + seen.push(err); + } + }); + expect(seen.map((err) => err.message)).toEqual([ + 'WebSocket is not open', + 'WebSocket is not open', + ]); + }); + + it('writes a close frame, then half-closes the socket', () => { + const { ws, socket } = createWs({ isServer: true }); + ws.close(1000, 'done'); + expect(ws.readyState).toBe(2); + expect(parseFrames(socket.written, false)).toEqual([ + { + fin: true, + opcode: 0x8, + payload: Buffer.from([0x03, 0xe8, 0x64, 0x6f, 0x6e, 0x65]), + rsv: 0, + }, + ]); + expect(socket.ended).toBe(true); + expect(socket.endedPayload).toBeUndefined(); + }); + + it('allows a 123-byte close reason and rejects 124 bytes', () => { + const ok = createWs({ isServer: true }); + ok.ws.close(1001, 'n'.repeat(123)); + expect(parseFrames(ok.socket.written, false)[0]!.payload).toEqual( + Buffer.concat([Buffer.from([0x03, 0xe9]), Buffer.from('n'.repeat(123))]), + ); + + const tooLong = createWs({ isServer: true }); + expect(() => tooLong.ws.close(1000, 'n'.repeat(124))).toThrow(RangeError); + expect(() => tooLong.ws.close(1000, 'é'.repeat(62))).toThrow( + 'Close reason must be <=123 bytes', + ); + expect(tooLong.socket.written).toEqual([]); + }); + + it('rejects invalid close codes and ignores close() after CLOSING/CLOSED', () => { + const open = createWs({ isServer: true }); + expect(() => open.ws.close(1005)).toThrow(RangeError); + expect(() => open.ws.close(1006)).toThrow('Invalid close code: 1006'); + expect(() => open.ws.close(0)).toThrow('Invalid close code: 0'); + expect(open.socket.written).toEqual([]); + + open.ws.close(); + expect(open.ws.readyState).toBe(CLOSING); + expect(parseFrames(open.socket.written, false)[0]!.payload).toEqual(Buffer.alloc(0)); + open.ws.close(1000, 'again'); + expect(open.socket.written).toHaveLength(1); + + const closed = createWs({ isServer: true, readyState: CLOSED }); + closed.ws.close(1000); + expect(closed.socket.written).toEqual([]); + }); + + it('masks a client close frame', () => { + const { ws, socket } = createWs({ isServer: false }); + ws.close(3000); + expect(socket.written[0]![1]! & 0x80).toBe(0x80); + expect(parseFrames(socket.written, true)[0]!.payload).toEqual(Buffer.from([0x0b, 0xb8])); + }); + + it('terminate() force-destroys the socket while leaving the state CLOSING', () => { + const { ws, socket } = createWs({ isServer: true }); + ws.terminate(); + expect(ws.readyState).toBe(2); + expect(socket.destroyed).toBe(true); + expect(socket.written).toEqual([]); + }); + + it('swallows destroy() failures from terminate()', () => { + const { ws, socket } = createWs({ isServer: true }); + socket.throwOnDestroy = true; + expect(() => ws.terminate()).not.toThrow(); + expect(ws.readyState).toBe(CLOSING); + }); + + it('swallows end() failures from close()', () => { + const { ws, socket } = createWs({ isServer: true }); + socket.throwOnEnd = true; + expect(() => ws.close(1000)).not.toThrow(); + expect(ws.readyState).toBe(CLOSING); + expect(socket.written).toHaveLength(1); + }); +}); + +describe.skipIf(!nativeIo)('WebSocket incoming frames', () => { + it('emits a complete text message and a complete binary message', () => { + const { ws, socket } = createWs({ isServer: true }); + const messages: Array<{ data: Buffer; isBinary: boolean }> = []; + ws.on('message', (data, isBinary) => { + messages.push({ data, isBinary }); + }); + socket.emit('data', clientFrame(OP_TEXT, Buffer.from('hello'))); + socket.emit('data', clientFrame(OP_BIN, Buffer.from([0xde, 0xad]))); + expect(messages).toEqual([ + { data: Buffer.from([0x68, 0x65, 0x6c, 0x6c, 0x6f]), isBinary: false }, + { data: Buffer.from([0xde, 0xad]), isBinary: true }, + ]); + }); + + it('reassembles fragmented messages, including an empty continuation', () => { + const { ws, socket } = createWs({ isServer: true }); + const messages: Array<{ text: string; isBinary: boolean }> = []; + ws.on('message', (data, isBinary) => { + messages.push({ text: data.toString('utf8'), isBinary }); + }); + socket.emit('data', clientFrame(OP_TEXT, Buffer.from('he'), false)); + socket.emit('data', clientFrame(OP_CONT, Buffer.alloc(0), false)); + socket.emit('data', clientFrame(OP_CONT, Buffer.from('llo'), true)); + socket.emit( + 'data', + Buffer.concat([ + clientFrame(OP_BIN, Buffer.from([0x01]), false), + clientFrame(OP_CONT, Buffer.from([0x02, 0x03]), true), + ]), + ); + expect(messages).toEqual([ + { text: 'hello', isBinary: false }, + { text: '\u0001\u0002\u0003', isBinary: true }, + ]); + }); + + it('accepts valid 2/3/4-byte UTF-8 text', () => { + const { ws, socket } = createWs({ isServer: true }); + const seen: string[] = []; + ws.on('message', (data) => { + seen.push(data.toString('utf8')); + }); + socket.emit('data', clientFrame(OP_TEXT, Buffer.from([0xc2, 0xa2]))); + socket.emit('data', clientFrame(OP_TEXT, Buffer.from([0xe2, 0x82, 0xac]))); + socket.emit('data', clientFrame(OP_TEXT, Buffer.from([0xf0, 0x9d, 0x84, 0x9e]))); + expect(seen).toEqual(['¢', '€', '𝄞']); + }); + + it('fails invalid UTF-8 text with 1007', () => { + const cases: Array<{ name: string; payload: Buffer }> = [ + { name: 'lone 0xFF', payload: Buffer.from([0xff]) }, + { name: 'incomplete 2-byte', payload: Buffer.from([0xc2]) }, + { name: 'overlong 2-byte', payload: Buffer.from([0xc0, 0x80]) }, + { name: 'overlong 3-byte', payload: Buffer.from([0xe0, 0x80, 0x80]) }, + { name: 'UTF-16 surrogate', payload: Buffer.from([0xed, 0xa0, 0x80]) }, + { name: 'out-of-range 4-byte lead', payload: Buffer.from([0xf5, 0x80, 0x80, 0x80]) }, + { name: 'lone continuation', payload: Buffer.from([0x80]) }, + ]; + + for (const testCase of cases) { + const { ws, socket } = createWs({ isServer: true }); + const errors: Array = []; + ws.on('error', (err) => { + errors.push(err); + }); + socket.emit('data', clientFrame(OP_TEXT, testCase.payload)); + expect(errors, testCase.name).toHaveLength(1); + expect(errors[0]!.message).toBe('WebSocket protocol error: Invalid UTF-8'); + expect(errors[0]!.code).toBe(1007); + expect(ws.readyState).toBe(CLOSING); + } + }); + + it('answers a ping with a pong while OPEN, and only emits ping while not OPEN', () => { + const open = createWs({ isServer: true }); + const pings: Buffer[] = []; + open.ws.on('ping', (data) => { + pings.push(data); + }); + open.socket.emit('data', clientFrame(OP_PING, Buffer.from('hi'))); + expect(pings).toEqual([Buffer.from([0x68, 0x69])]); + expect(parseFrames(open.socket.written, false)).toEqual([ + { fin: true, opcode: 0xa, payload: Buffer.from([0x68, 0x69]), rsv: 0 }, + ]); + + const closing = createWs({ isServer: true, readyState: CLOSING }); + const ignored: Buffer[] = []; + closing.ws.on('ping', (data) => { + ignored.push(data); + }); + closing.socket.emit('data', clientFrame(OP_PING, Buffer.from('zz'))); + expect(ignored).toEqual([Buffer.from([0x7a, 0x7a])]); + expect(closing.socket.written).toEqual([]); + }); + + it('emits pong payloads without writing a reply', () => { + const { ws, socket } = createWs({ isServer: true }); + const pongs: Buffer[] = []; + ws.on('pong', (data) => { + pongs.push(data); + }); + socket.emit('data', clientFrame(OP_PONG, Buffer.from([0xaa]))); + expect(pongs).toEqual([Buffer.from([0xaa])]); + expect(socket.written).toEqual([]); + }); + + it('echoes a close code without the peer reason and then ends the socket', () => { + const { ws, socket } = createWs({ isServer: true }); + socket.emit('data', clientFrame(OP_CLOSE, Buffer.from([0x03, 0xe8, 0x62, 0x79, 0x65]))); + expect(ws.readyState).toBe(CLOSING); + expect(parseFrames(socket.written, false)).toEqual([ + { fin: true, opcode: 0x8, payload: Buffer.from([0x03, 0xe8]), rsv: 0 }, + ]); + expect(socket.ended).toBe(true); + const closes: Array<{ code: number; reason: string }> = []; + ws.on('close', (code, reason) => { + closes.push({ code, reason }); + }); + socket.emit('close'); + expect(closes).toEqual([{ code: 1000, reason: 'bye' }]); + }); + + it('treats an empty close payload as 1005 and echoes an empty close', () => { + const { ws, socket } = createWs({ isServer: true }); + socket.emit('data', clientFrame(OP_CLOSE, Buffer.alloc(0))); + expect(parseFrames(socket.written, false)).toEqual([ + { fin: true, opcode: 0x8, payload: Buffer.alloc(0), rsv: 0 }, + ]); + socket.emit('close'); + expect(ws.readyState).toBe(CLOSED); + }); + + it('accepts a UTF-8 close reason including non-ASCII', () => { + const { ws, socket } = createWs({ isServer: true }); + const closes: Array<{ code: number; reason: string }> = []; + ws.on('close', (code, reason) => { + closes.push({ code, reason }); + }); + socket.emit('data', clientFrame(OP_CLOSE, Buffer.from([0x03, 0xe8, 0xc3, 0xa9]))); + socket.emit('close'); + expect(closes).toEqual([{ code: 1000, reason: 'é' }]); + }); + + it('fails a 1-byte close payload', () => { + const { ws, socket } = createWs({ isServer: true }); + const errors: Array = []; + ws.on('error', (err) => { + errors.push(err); + }); + socket.emit('data', clientFrame(OP_CLOSE, Buffer.from([0x00]))); + expect(errors[0]!.message).toBe('WebSocket protocol error: Close payload length 1'); + expect(errors[0]!.code).toBe(1002); + expect(parseFrames([socket.endedPayload], false)[0]!.payload.subarray(0, 2)).toEqual( + Buffer.from([0x03, 0xea]), + ); + }); + + it('fails reserved close codes', () => { + const { ws, socket } = createWs({ isServer: true }); + const errors: Array = []; + ws.on('error', (err) => { + errors.push(err); + }); + socket.emit('data', clientFrame(OP_CLOSE, Buffer.from([0x03, 0xed]))); + expect(errors[0]!.message).toBe('WebSocket protocol error: Invalid close code'); + expect(errors[0]!.code).toBe(1002); + }); + + it('fails a close reason that is not valid UTF-8', () => { + const { ws, socket } = createWs({ isServer: true }); + const errors: Array = []; + ws.on('error', (err) => { + errors.push(err); + }); + socket.emit('data', clientFrame(OP_CLOSE, Buffer.from([0x03, 0xe8, 0xff]))); + expect(errors[0]!.message).toBe('WebSocket protocol error: Invalid UTF-8 in close reason'); + expect(errors[0]!.code).toBe(1007); + }); + + it('does not echo a close received while CONNECTING', () => { + const { ws, socket } = createWs({ isServer: true, readyState: CONNECTING }); + socket.emit('data', clientFrame(OP_CLOSE, Buffer.from([0x03, 0xe8]))); + expect(ws.readyState).toBe(CONNECTING); + expect(socket.written).toEqual([]); + expect(socket.ended).toBe(false); + const closes: Array<{ code: number; reason: string }> = []; + ws.on('close', (code, reason) => { + closes.push({ code, reason }); + }); + socket.emit('close'); + expect(closes).toEqual([{ code: 1000, reason: '' }]); + }); + + it('ends the socket again when a close arrives already CLOSING', () => { + const { ws, socket } = createWs({ isServer: true }); + ws.close(1000); + expect(socket.ended).toBe(true); + socket.ended = false; + socket.emit('data', clientFrame(OP_CLOSE, Buffer.from([0x03, 0xe8]))); + expect(ws.readyState).toBe(CLOSING); + expect(socket.ended).toBe(true); + expect(socket.written).toHaveLength(1); + }); + + it('stops the frame loop once a close handshake has already CLOSED the socket', () => { + const { ws, socket } = createWs({ isServer: true }); + socket.autoCloseOnEnd = true; + const messages: Buffer[] = []; + ws.on('message', (data) => { + messages.push(data); + }); + const closes: number[] = []; + ws.on('close', (code) => { + closes.push(code); + }); + socket.emit( + 'data', + Buffer.concat([ + clientFrame(OP_CLOSE, Buffer.from([0x03, 0xe8])), + clientFrame(OP_TEXT, Buffer.from('late')), + ]), + ); + expect(closes).toEqual([1000]); + expect(messages).toEqual([]); + expect(ws.readyState).toBe(CLOSED); + }); + + it('fails a new data frame that starts before the previous fragment finishes', () => { + const { ws, socket } = createWs({ isServer: true }); + const errors: Array = []; + ws.on('error', (err) => { + errors.push(err); + }); + socket.emit('data', clientFrame(OP_TEXT, Buffer.from('ab'), false)); + socket.emit('data', clientFrame(OP_BIN, Buffer.from('cd'), true)); + expect(errors[0]!.message).toBe( + 'WebSocket protocol error: New data frame started before previous fragmented message finished', + ); + expect(errors[0]!.code).toBe(1002); + }); + + it('fails a continuation that has no active message', () => { + const { ws, socket } = createWs({ isServer: true }); + const errors: Array = []; + ws.on('error', (err) => { + errors.push(err); + }); + socket.emit('data', clientFrame(OP_CONT, Buffer.from('x'))); + expect(errors[0]!.message).toBe( + 'WebSocket protocol error: Continuation frame without active message', + ); + expect(errors[0]!.code).toBe(1002); + }); + + it('fails RSV bits on a continuation after deflate was negotiated', () => { + const { ws, socket } = createWs({ + isServer: true, + extensions: { perMessageDeflate: DEFLATE }, + }); + const errors: Array = []; + ws.on('error', (err) => { + errors.push(err); + }); + socket.emit('data', clientFrame(OP_TEXT, Buffer.from('ab'), false)); + socket.emit('data', clientFrame(OP_CONT, Buffer.from('c'), true, RSV1)); + expect(errors[0]!.message).toBe( + 'WebSocket protocol error: RSV bits set on continuation frame', + ); + expect(errors[0]!.code).toBe(1002); + }); + + it('fails when assembled fragments exceed maxPayload', () => { + const { ws, socket } = createWs({ isServer: true, maxPayload: 10 }); + const errors: Array = []; + ws.on('error', (err) => { + errors.push(err); + }); + socket.emit('data', clientFrame(OP_TEXT, Buffer.from('xxxxxx'), false)); + socket.emit('data', clientFrame(OP_CONT, Buffer.from('xxxxx'), true)); + expect(errors[0]!.message).toBe( + 'WebSocket protocol error: Message too large: 11 B text message exceeds the 10 byte limit (maxPayloadBytes)', + ); + expect(errors[0]!.code).toBe(1009); + }); + + it('fails a single frame that the parser rejects as larger than maxPayload', () => { + const { ws, socket } = createWs({ isServer: true, maxPayload: 4 }); + const errors: Array = []; + ws.on('error', (err) => { + errors.push(err); + }); + socket.emit('data', clientFrame(OP_TEXT, Buffer.from('hello'))); + expect(errors[0]!.message).toBe( + 'WebSocket protocol error: Payload exceeds configured max: 5 B text frame exceeds the 4 byte limit (maxPayloadBytes)', + ); + expect(errors[0]!.code).toBe(1009); + }); + + it('reports the effective limit and frame size against the 100 MiB default', () => { + const { ws, socket } = createWs({ isServer: true }); + const errors: Array = []; + ws.on('error', (err) => { + errors.push(err); + }); + const declared = 1024 * 1024 * 1024; + socket.emit('data', maskedOversizedHeader(OP_TEXT, declared)); + expect(DEFAULT_MAX_PAYLOAD_BYTES).toBe(100 * 1024 * 1024); + expect(errors[0]!.message).toBe( + `WebSocket protocol error: Payload exceeds configured max: ${declared} B text frame exceeds the ${DEFAULT_MAX_PAYLOAD_BYTES} byte limit (maxPayloadBytes)`, + ); + expect(errors[0]!.code).toBe(1009); + }); + + it('names the oversized frame when a smaller frame shares the chunk', () => { + const { ws, socket } = createWs({ isServer: true }); + const errors: Array = []; + ws.on('error', (err) => { + errors.push(err); + }); + const declared = 1024 * 1024 * 1024; + // One TCP read: a complete 5-byte text frame followed by an oversized + // header. The offending header is NOT at offset 0 of the chunk. + socket.emit( + 'data', + Buffer.concat([ + clientFrame(OP_TEXT, Buffer.from('hello')), + maskedOversizedHeader(OP_TEXT, declared), + ]), + ); + expect(errors[0]!.message).toBe( + `WebSocket protocol error: Payload exceeds configured max: ${declared} B text frame exceeds the ${DEFAULT_MAX_PAYLOAD_BYTES} byte limit (maxPayloadBytes)`, + ); + expect(errors[0]!.code).toBe(1009); + }); + + it('attributes an oversized frame whose header arrives in two chunks', () => { + const { ws, socket } = createWs({ isServer: true }); + const errors: Array = []; + ws.on('error', (err) => { + errors.push(err); + }); + const declared = 1024 * 1024 * 1024; + const header = maskedOversizedHeader(OP_TEXT, declared); + socket.emit('data', header.subarray(0, 3)); + expect(errors).toHaveLength(0); // incomplete header: parser waits + socket.emit('data', header.subarray(3)); + expect(errors[0]!.message).toBe( + `WebSocket protocol error: Payload exceeds configured max: ${declared} B text frame exceeds the ${DEFAULT_MAX_PAYLOAD_BYTES} byte limit (maxPayloadBytes)`, + ); + expect(errors[0]!.code).toBe(1009); + }); + + it.each([ + { isServer: false, previousPayloadBytes: 1 }, + { isServer: false, previousPayloadBytes: 126 }, + { isServer: true, previousPayloadBytes: 1 }, + { isServer: true, previousPayloadBytes: 126 }, + ])('preserves a split header after delivering the preceding message: %j', (options) => { + const { isServer, previousPayloadBytes } = options; + const { ws, socket } = createWs({ isServer, maxPayload: 1024 }); + const errors: Array = []; + const messages: Buffer[] = []; + ws.on('error', (err) => errors.push(err)); + ws.on('message', (data) => messages.push(data)); + const payload = Buffer.alloc(previousPayloadBytes, 0x61); + const precedingFrame = isServer + ? clientFrame(OP_TEXT, payload) + : serverFrame(OP_TEXT, payload); + const header = Buffer.from([0x82, isServer ? 0xfe : 0x7e, 0x82, 0x7e]); + socket.emit('data', Buffer.concat([precedingFrame, header.subarray(0, 2)])); + expect(messages).toEqual([payload]); + expect(errors).toHaveLength(0); + + // The length bytes resemble a new frame header. Losing the buffered + // prefix would invent a size from the mask or payload bytes that follow. + socket.emit( + 'data', + Buffer.concat([ + header.subarray(2), + isServer ? MASK : Buffer.alloc(0), + Buffer.from([0x20, 0x00]), + ]), + ); + expect(errors[0]!.message).toBe( + 'WebSocket protocol error: Payload exceeds configured max: 33406 B binary frame exceeds the 1024 byte limit (maxPayloadBytes)', + ); + expect(errors[0]!.code).toBe(1009); + }); + + it('skips interleaved control frames while locating the oversized frame', () => { + const { ws, socket } = createWs({ isServer: true }); + const errors: Array = []; + ws.on('error', (err) => { + errors.push(err); + }); + const declared = 1024 * 1024 * 1024; + socket.emit( + 'data', + Buffer.concat([ + clientFrame(OP_PING, Buffer.from('hb')), + maskedOversizedHeader(OP_BIN, declared), + ]), + ); + expect(errors[0]!.message).toBe( + `WebSocket protocol error: Payload exceeds configured max: ${declared} B binary frame exceeds the ${DEFAULT_MAX_PAYLOAD_BYTES} byte limit (maxPayloadBytes)`, + ); + }); + + it('reports only the limit when the oversized header is outside the diagnostic budget', () => { + const maxPayload = 1024 * 1024; + const { ws, socket } = createWs({ isServer: true, maxPayload }); + const errors: Array = []; + ws.on('error', (err) => { + errors.push(err); + }); + // This single read exceeds the diagnostic budget before the parser + // reports the error, so no reliable header is retained. + socket.emit( + 'data', + Buffer.concat([ + clientFrame(OP_TEXT, Buffer.alloc(96 * 1024, 0x61)), + maskedOversizedHeader(OP_TEXT, 2 * 1024 * 1024), + ]), + ); + expect(errors[0]!.message).toBe( + 'WebSocket protocol error: Payload exceeds configured max: an inbound frame exceeds the 1048576 byte limit (maxPayloadBytes)', + ); + expect(errors[0]!.message).not.toMatch(/\d+ B /); + expect(errors[0]!.code).toBe(1009); + }); + + it('releases parsed fragments and control frames from the diagnostic budget', () => { + const maxPayload = 1024 * 1024; + const { ws, socket } = createWs({ isServer: true, maxPayload }); + const errors: Error[] = []; + ws.on('error', (err) => errors.push(err)); + const fragment = Buffer.alloc(8 * 1024, 0x61); + + for (let i = 0; i < 12; i += 1) { + socket.emit('data', clientFrame(i === 0 ? OP_TEXT : OP_CONT, fragment, i === 11)); + socket.emit('data', clientFrame(OP_PING, Buffer.from('hb'))); + } + + expect(errors).toHaveLength(0); + socket.emit('data', maskedOversizedHeader(OP_BIN, 2 * 1024 * 1024)); + expect(errors[0]!.message).toContain('2097152 B binary frame'); + }); + + it('recovers diagnostics after a complete frame exceeds the diagnostic budget', () => { + const { ws, socket } = createWs({ isServer: true, maxPayload: 1024 * 1024 }); + const errors: Error[] = []; + const messages: Buffer[] = []; + ws.on('error', (err) => errors.push(err)); + ws.on('message', (data) => messages.push(data)); + const payload = Buffer.alloc(96 * 1024, 0x61); + socket.emit('data', clientFrame(OP_TEXT, payload)); + expect(messages).toEqual([payload]); + expect(errors).toHaveLength(0); + socket.emit('data', maskedOversizedHeader(OP_BIN, 2 * 1024 * 1024)); + expect(errors[0]!.message).toContain('2097152 B binary frame'); + }); + + it('keeps size unknown when a partial next header was discarded by the budget', () => { + const { ws, socket } = createWs({ isServer: true, maxPayload: 1024 * 1024 }); + const errors: Error[] = []; + ws.on('error', (err) => errors.push(err)); + const header = maskedOversizedHeader(OP_BIN, 2 * 1024 * 1024); + socket.emit( + 'data', + Buffer.concat([ + clientFrame(OP_TEXT, Buffer.alloc(96 * 1024, 0x61)), + header.subarray(0, 2), + ]), + ); + expect(errors).toHaveLength(0); + socket.emit('data', header.subarray(2)); + expect(errors[0]!.message).toBe( + 'WebSocket protocol error: Payload exceeds configured max: an inbound frame exceeds the 1048576 byte limit (maxPayloadBytes)', + ); + }); + + it('names the message type when a binary frame exceeds the limit', () => { + const { ws, socket } = createWs({ isServer: true, maxPayload: 4 }); + const errors: Array = []; + ws.on('error', (err) => { + errors.push(err); + }); + socket.emit('data', clientFrame(OP_BIN, Buffer.from([1, 2, 3, 4, 5]))); + expect(errors[0]!.message).toBe( + 'WebSocket protocol error: Payload exceeds configured max: 5 B binary frame exceeds the 4 byte limit (maxPayloadBytes)', + ); + expect(errors[0]!.code).toBe(1009); + }); + + it('accepts a message exactly at the configured limit', () => { + const { ws, socket } = createWs({ isServer: true, maxPayload: 5 }); + const messages: Array<{ data: Buffer; isBinary: boolean }> = []; + ws.on('message', (data, isBinary) => { + messages.push({ data, isBinary }); + }); + socket.emit('data', clientFrame(OP_TEXT, Buffer.from('hello'))); + expect(messages).toEqual([{ data: Buffer.from('hello'), isBinary: false }]); + }); + + it('truncates an over-long close reason on a code-point boundary', () => { + const payload = encodeClosePayload(1009, 'é'.repeat(200)); + expect(payload.length).toBeLessThanOrEqual(125); + const reason = payload.subarray(2).toString('utf8'); + expect(reason).toBe('é'.repeat(61)); + expect(Buffer.from(reason, 'utf8').equals(payload.subarray(2))).toBe(true); + }); + + it('truncates a 4-byte code point without splitting it', () => { + const payload = encodeClosePayload(1009, '😀'.repeat(50)); + expect(payload.length).toBe(122); // 2-byte code + 30 whole code points + const reason = payload.subarray(2).toString('utf8'); + expect(reason).toBe('😀'.repeat(30)); + expect(Buffer.from(reason, 'utf8').equals(payload.subarray(2))).toBe(true); + }); + + it('inflates a compressed text frame when deflate was negotiated', () => { + const { ws, socket } = createWs({ + isServer: true, + extensions: { perMessageDeflate: DEFLATE }, + }); + const messages: Array<{ data: Buffer; isBinary: boolean }> = []; + ws.on('message', (data, isBinary) => { + messages.push({ data, isBinary }); + }); + const plain = Buffer.from('hello hello hello hello'); + socket.emit('data', clientFrame(OP_TEXT, compressRaw(plain), true, RSV1)); + expect(messages).toEqual([{ data: plain, isBinary: false }]); + }); + + it('inflates a compressed binary frame', () => { + const { ws, socket } = createWs({ + isServer: true, + extensions: { perMessageDeflate: { ...DEFLATE, threshold: 1 } }, + }); + const messages: Array<{ data: Buffer; isBinary: boolean }> = []; + ws.on('message', (data, isBinary) => { + messages.push({ data, isBinary }); + }); + const plain = Buffer.from([0x00, 0x01, 0x02, 0x03, 0x04]); + socket.emit('data', clientFrame(OP_BIN, compressRaw(plain), true, RSV1)); + expect(messages).toEqual([{ data: plain, isBinary: true }]); + }); + + it('fails compressed bytes that zlib cannot inflate', () => { + const { ws, socket } = createWs({ + isServer: true, + extensions: { perMessageDeflate: DEFLATE }, + }); + const garbage = Buffer.from([0x03, 0x01, 0x02, 0xff]); + const cause = inflateRawError(garbage); + const errors: Array = []; + ws.on('error', (err) => { + errors.push(err); + }); + socket.emit('data', clientFrame(OP_TEXT, garbage, true, RSV1)); + expect(errors[0]!.message).toBe(`WebSocket protocol error: ${cause.message}`); + expect(errors[0]!.code).toBe(cause.code); + expect(ws.readyState).toBe(CLOSING); + }); + + it('maps an inflated payload that exceeds maxPayload to 1009', () => { + const maxPayload = 32; + const { ws, socket } = createWs({ + isServer: true, + maxPayload, + extensions: { perMessageDeflate: DEFLATE }, + }); + const errors: Array = []; + ws.on('error', (err) => { + errors.push(err); + }); + socket.emit('data', clientFrame(OP_TEXT, compressRaw(Buffer.alloc(256, 0x61)), true, RSV1)); + expect(errors[0]!.message).toBe( + `WebSocket protocol error: Message too large after inflate (maxPayload=${maxPayload})`, + ); + expect(errors[0]!.code).toBe(1009); + }); + + it('validates UTF-8 after inflate', () => { + const { ws, socket } = createWs({ + isServer: true, + extensions: { perMessageDeflate: DEFLATE }, + }); + const errors: Array = []; + ws.on('error', (err) => { + errors.push(err); + }); + socket.emit('data', clientFrame(OP_TEXT, compressRaw(Buffer.from([0xff])), true, RSV1)); + expect(errors[0]!.message).toBe('WebSocket protocol error: Invalid UTF-8'); + expect(errors[0]!.code).toBe(1007); + }); + + it('fails RSV1 when permessage-deflate was not negotiated', () => { + const { ws, socket } = createWs({ isServer: true }); + const errors: Array = []; + ws.on('error', (err) => { + errors.push(err); + }); + socket.emit('data', clientFrame(OP_TEXT, Buffer.from('x'), true, RSV1)); + expect(errors[0]!.message).toBe('WebSocket protocol error: Unexpected RSV bits'); + expect(errors[0]!.code).toBe(1002); + }); + + it('fails unknown opcodes and unmasked client frames through the parser error path', () => { + const unknown = createWs({ isServer: true }); + const errors: Array = []; + unknown.ws.on('error', (err) => { + errors.push(err); + }); + unknown.socket.emit('data', clientFrame(0x3, Buffer.from('x'))); + expect(errors[0]!.message).toBe('WebSocket protocol error: Unknown opcode'); + expect(errors[0]!.code).toBe(1002); + + const unmasked = createWs({ isServer: true }); + const more: Array = []; + unmasked.ws.on('error', (err) => { + more.push(err); + }); + unmasked.socket.emit('data', serverFrame(OP_TEXT, Buffer.from('x'))); + expect(more[0]!.message).toBe( + 'WebSocket protocol error: Expected masked frame from client', + ); + expect(more[0]!.code).toBe(1002); + }); + + it('fails a masked frame delivered to a client socket', () => { + const { ws, socket } = createWs({ isServer: false }); + const errors: Array = []; + ws.on('error', (err) => { + errors.push(err); + }); + socket.emit('data', clientFrame(OP_TEXT, Buffer.from('x'))); + expect(errors[0]!.message).toBe('WebSocket protocol error: Server must not mask frames'); + expect(errors[0]!.code).toBe(1002); + }); + + it('assembles a client-side message from unmasked server frames split across reads', () => { + const { ws, socket } = createWs({ isServer: false }); + const messages: Buffer[] = []; + ws.on('message', (data) => { + messages.push(data); + }); + const frame = serverFrame(OP_TEXT, Buffer.from('abc')); + socket.emit('data', frame.subarray(0, 2)); + expect(messages).toEqual([]); + socket.emit('data', frame.subarray(2)); + expect(messages).toEqual([Buffer.from([0x61, 0x62, 0x63])]); + }); + + it('ignores data after the socket has already CLOSED', () => { + const { ws, socket } = createWs({ isServer: true, readyState: CLOSED }); + const errors: Error[] = []; + const messages: Buffer[] = []; + ws.on('error', (err) => { + errors.push(err); + }); + ws.on('message', (data) => { + messages.push(data); + }); + socket.emit('data', clientFrame(OP_TEXT, Buffer.from('x'))); + expect(errors).toEqual([]); + expect(messages).toEqual([]); + }); +}); + +describe.skipIf(!nativeIo)('WebSocket socket lifecycle', () => { + it('maps a peer FIN without a close frame to 1006', () => { + const { ws, socket } = createWs({ isServer: true }); + const closes: Array<{ code: number; reason: string }> = []; + ws.on('close', (code, reason) => { + closes.push({ code, reason }); + }); + socket.emit('end'); + expect(socket.destroyed).toBe(true); + expect(ws.readyState).toBe(OPEN); + socket.emit('close'); + expect(ws.readyState).toBe(CLOSED); + expect(closes).toEqual([{ code: 1006, reason: '' }]); + }); + + it('keeps a previously received close code when the socket later ends', () => { + const { ws, socket } = createWs({ isServer: true }); + const closes: Array<{ code: number; reason: string }> = []; + ws.on('close', (code, reason) => { + closes.push({ code, reason }); + }); + socket.emit('data', clientFrame(OP_CLOSE, Buffer.from([0x03, 0xe9, 0x67, 0x6f]))); + socket.emit('end'); + socket.emit('close'); + expect(closes).toEqual([{ code: 1001, reason: 'go' }]); + }); + + it('does not emit a second close after the socket is already CLOSED', () => { + const { ws, socket } = createWs({ isServer: true }); + const closes: number[] = []; + ws.on('close', (code) => { + closes.push(code); + }); + socket.emit('close'); + socket.emit('end'); + socket.emit('close'); + expect(closes).toEqual([1006]); + expect(ws.readyState).toBe(CLOSED); + }); + + it('forwards socket errors', () => { + const { ws, socket } = createWs({ isServer: true }); + const err = new Error('ECONNRESET'); + const seen: Error[] = []; + ws.on('error', (e) => { + seen.push(e); + }); + socket.emit('error', err); + expect(seen).toEqual([err]); + }); + + it('swallows destroy() failures from a peer FIN', () => { + const { ws, socket } = createWs({ isServer: true }); + socket.throwOnDestroy = true; + expect(() => socket.emit('end')).not.toThrow(); + expect(ws.readyState).toBe(OPEN); + }); + + it('swallows end() failures while failing the connection', () => { + const { ws, socket } = createWs({ isServer: true }); + socket.throwOnEnd = true; + const errors: Error[] = []; + ws.on('error', (err) => { + errors.push(err); + }); + expect(() => socket.emit('data', clientFrame(0x3, Buffer.alloc(0)))).not.toThrow(); + expect(errors[0]!.message).toBe('WebSocket protocol error: Unknown opcode'); + expect(ws.readyState).toBe(CLOSING); + }); +}); diff --git a/packages/websocket/tsconfig.json b/packages/websocket/tsconfig.json new file mode 100644 index 00000000..4e54be7f --- /dev/null +++ b/packages/websocket/tsconfig.json @@ -0,0 +1,8 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "types": ["node"] + }, + "include": ["src/**/*"], + "exclude": ["node_modules"] +} diff --git a/packages/webui/.gitignore b/packages/webui/.gitignore new file mode 100644 index 00000000..a547bf36 --- /dev/null +++ b/packages/webui/.gitignore @@ -0,0 +1,24 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +dist +dist-ssr +*.local + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +.DS_Store +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/packages/webui/INTEGRATIONS.md b/packages/webui/INTEGRATIONS.md new file mode 100644 index 00000000..cb11cf85 --- /dev/null +++ b/packages/webui/INTEGRATIONS.md @@ -0,0 +1,111 @@ +# Host appearance overlays + +Set `SNOWLUMA_WEBUI_TARGET=maibot` on the **SnowLuma process** to use MaiBot's +millennium appearance. The same release bundle supports standalone and embedded +deployments. An unset or empty value keeps the existing SnowLuma experience; +unknown values fail WebUI startup with an explicit diagnostic. + +This first adapter implements **millennium only**, in light and dark modes. +Other MaiBot styles are not implemented. There is no new appearance selector in +SnowLuma. The host owns theme changes; existing theme controls are unavailable +while managed, and the settings page explains which preferences are preserved. + +## Runtime and ownership + +1. Core reads the environment at startup. [Static document delivery](../core/src/webui/static-frontend.ts) + injects a validated, public JSON bootstrap into `/`, `/index.html` and SPA + fallback documents. Documents use `Cache-Control: no-store`. No secrets or + arbitrary environment variables reach the browser. +2. [Frontend bootstrap](src/appearance/runtime.ts) loads only the selected + target's assets before mounting React. Standalone deployments load no target + stylesheet, font or host listener. Vite development serves the same bootstrap + when its process has the environment variable; production builds remain neutral. +3. [ThemeContext](src/contexts/ThemeContext.tsx) keeps `savedAppearance` separate + from effective `appearance`. Only saved preferences enter localStorage or + `config/ui.json`. Target updates never invoke the persistence API. +4. The target owns colors, fonts, radius, wallpaper, CSS variable overrides, + custom CSS and custom cursor presentation. These saved values are preserved + but suspended. UI scale, density, motion/accessibility, navigation layout and + data preferences remain available. Safe-mode restrictions still apply when + returning to native appearance. +5. A single layout effect applies effective appearance. Changes do not reload + the document, change React keys or restart sessions. All target rules are + scoped to `html[data-webui-target]`, including portals under `body`. + +## Host protocol, version 1 + +The contract lives in [common/webui-target.ts](../common/src/webui-target.ts). +The deployment environment is an opt-in, **not a live transport**. Existing +launchers need to implement the sender below; merely setting the environment +variable cannot convey another process's current theme. + +A same-document embedding bridge (for example Electron `executeJavaScript`) +publishes the latest snapshot before dispatching the event: + +```js +const appearance = { + version: 1, + target: 'maibot', + style: 'millennium', + mode: 'dark', // 'light' | 'dark' | 'system' +}; +window.__SNOWLUMA_HOST_APPEARANCE__ = appearance; +window.dispatchEvent(new CustomEvent('snowluma:host-appearance', { detail: appearance })); +``` + +The snapshot handles messages sent before React or the lazy asset loader is +ready. Publish on each guest `dom-ready` and whenever the host's resolved +brightness changes. A host that already follows MaiBot should forward its own +resolved `light`/`dark` state; this avoids competing sources of truth. Validate +the guest's expected origin before injecting, serialize values with +`JSON.stringify`, and do not enable Node integration in the guest. + +Send `{ version: 1, target: null }` using the same mechanism to release the +override for the current document. The original appearance returns immediately. +The opted-in document keeps its host subscription so the host can reapply the +target later. Listeners are released on provider unmount. This does not change +the startup environment or enable a target in a standalone deployment. + +The current adapter starts with millennium and system brightness before a host +snapshot arrives. The last valid snapshot remains active if the host stops +sending. Snapshots are not persisted or shared across origins/tabs. A reload +requires the host to publish again. Unsupported versions, targets, styles or +modes are rejected with `[SnowLuma appearance]` console diagnostics; the previous +valid snapshot remains. The host cannot supply CSS, URLs or executable content +through this protocol. No unauthenticated HTTP write endpoint is introduced. + +## Adding a target + +- Add its identifier, styles and default style to `WEBUI_TARGETS` in the shared + contract. Keep validation at this boundary; do not accept arbitrary strings. +- Add one lazy loader to the exhaustive [frontend registry](src/appearance/registry.ts). + Implement a pure saved-to-effective resolver and scoped stylesheet under + `src/appearance/targets`. Keep any fonts local with their redistribution license. +- Use semantic color variables, shared component classes and neutral + `data-ui-surface` markers. Do not add target-name checks to business pages. +- Never persist resolved overrides, mutate saved preferences, introduce a + second DOM theme writer, or remount the application to switch presentation. +- Test default asset/listener isolation, initial document routes, malformed + messages, rapid updates, cleanup and exact restoration of saved preferences. + Verify forms, focus, scroll, portals and mobile layout with an isolated backend. + Electron integration needs a separate real-host check. + +## Sources and checks + +The adapter follows the main MaiBot repository's +[millennium stylesheet](https://github.com/Mai-with-u/MaiBot/blob/5c7637e6913c84d1c3d5e742fa9e95a7e70d3501/dashboard/src/styles/millennium.css), +not the archived standalone WebUI. Colors/materials also match the +[OneKey shell](https://github.com/Mai-with-u/MaiBotOneKey/blob/e8073b0bce35c8c4da973b06156602e14c42fee5/src/renderer/src/styles/millennium.css). +The bundled Jersey 20 font is from that MaiBot revision, copyright The Soft Type +Project Authors, under the [SIL Open Font License](src/appearance/targets/assets/Jersey20-OFL.txt). +Its license is emitted alongside the font in production assets. + +Focused checks (from the repository root): + +```sh +pnpm --filter @snowluma/common exec vitest run tests/webui-target.test.ts +pnpm --filter @snowluma/core exec vitest run tests/webui-static-frontend.test.ts +pnpm --filter webui exec vitest run tests/target-appearance.test.ts +``` + +Run the normal workspace checks from `AGENTS.md` before handing off changes. diff --git a/packages/webui/README.md b/packages/webui/README.md new file mode 100644 index 00000000..1760f1b5 --- /dev/null +++ b/packages/webui/README.md @@ -0,0 +1,130 @@ +# SnowLuma WebUI + +SnowLuma's browser console is a Vite + React application for managing runtime +status, OneBot configuration, logs, storage, and server settings. + +## Default appearance + +New installations and appearance resets use the mascot's lavender accent. +The light variant uses a deeper purple for readable button labels; dark mode +uses a softer lavender. Existing saved accents and custom colors are preserved. +The original sky-blue accent remains available in Settings. + +With the default palette, page, card, input, popover and sidebar surfaces mix a +small amount of the active accent into neutral light/dark backgrounds. Text stays +neutral for readability. Sidebar-only accents tint only the sidebar; OLED keeps a +true-black canvas. Named palettes, custom CSS variables and host appearance +overlays retain control of their own surfaces. + +Keep the server defaults in `packages/core/src/webui/ui-config.ts`, the frontend +defaults and preset in `src/contexts/ThemeContext.tsx`, and the pre-mount tokens +in `src/index.css` aligned when changing the default accent. + +The browser favicon, home-screen icon and in-app logo share the mascot avatar +in [`assets/brand/mascot-avatar.png`](../../assets/brand/mascot-avatar.png). +Its exported sizes live in `public/`: `logo.png` (512 px), `favicon.png` (64 px), +and `apple-touch-icon.png` (180 px). Export from the master without redrawing +individual sizes. + +## Host appearance integration + +`SNOWLUMA_WEBUI_TARGET=maibot` opts a deployment into a reversible millennium +appearance overlay. Standalone defaults are unchanged. Hosts drive live light/dark +updates without saving over personal preferences or adding another selector. +See [the integration contract and extension guide](INTEGRATIONS.md) before changing +target startup, theme ownership, host messaging or scoped styles. + +## Interaction conventions + +- Destructive actions and second confirmations stay in modal dialogs. +- Operations that may take time show a bottom-right running state. +- Completed and failed operations use bottom-right result notices that close + automatically after a visible countdown. +- Routine, high-frequency adjustments should not generate a notice for every + intermediate edit. +- Foreground polling pauses in hidden tabs and waits for each request to finish + before scheduling the next. Connection-state polling runs only while SSE clients + are subscribed. +- Data-backed surfaces use the Interior Skeleton Swap defaults (120 ms delay, + 380 ms minimum visibility) so fast local responses do not flash a placeholder. + Submission, upload, and other explicit operation progress keeps its spinner. +- Variable-height content must release the skeleton's reserved box after it is + ready; do not introduce a second scrolling region inside the page. +- The mobile navigation menu uses a controlled Icon Morph whose visual state + follows the actual drawer state. +- Failures must remain visible in the affected control and in the operation + result; do not convert failed responses into successful feedback. +- JSON endpoints must return an object. Malformed or non-object responses are + reported as errors rather than displayed as empty lists or default settings. +- Configuration responses include `config`; saves also report `saved`, `applied`, + `online`, `errors`, and `message`. The UI uses these fields without legacy aliases + or a second request after saving. +- Password change flows use floating labels and inline validation consistently. +- Password strength details appear only while the new-password field has focus + and leave with the same motion language when focus moves away. +- The first-run wizard keeps agreement text as the primary reading surface and + aligns each step's actions inside one responsive footer. Settings includes a + visible developer page for safely replaying this wizard and exercising the + page-level crash screen; replayed consent and passwords are never persisted. + +## Authentication behind a reverse proxy + +Authenticated WebUI requests send the session token in `X-SnowLuma-Token`, leaving +`Authorization` available for the reverse proxy's HTTP authentication (such as +Nginx Basic Auth). Forward `X-SnowLuma-Token` unchanged if the proxy filters +request headers. The backend still accepts `Authorization: Bearer ` for +existing clients when the dedicated header is absent. Both layers still require +their own valid credentials. + +Late authentication failures from an old session do not sign out a newer session. +Live streams release subscriptions on disconnect and pause with the page. +Malformed stream data is reported; a debug stream invocation fails instead of silently succeeding. + +## Process account detection + +Process cards use QQ's local account data before injection and the hook's confirmed +identity after login. Missing local data means the account is unknown. It does not +prove that QQ is signed out, and local detection alone never marks a bridge online. +The manual login probe and `/api/processes/:pid/probe-login` endpoint are removed. + +Linux resolves data roots from each QQ process's `XDG_CONFIG_HOME` or `HOME`. +Windows uses the bundled addon’s `getFileHoldersAsync` to find the process holding +each account database. Query failures are reported instead of treated as no login. + +## Account notification templates + +Webhook bodies and email subjects/bodies support `{uin}`, `{nickname}`, `{event}` +(`offline` or `online`), `{time}`, `{status}` (Hook process state), `{pid}`, and +`{error}` (Hook process error). New webhook and email channels include process +status in their default body; existing saved templates are preserved. +JSON templates escape substituted strings, including quotes, line breaks and control characters. + +Process facts are resolved when the notification is dispatched, after any offline +debounce. Each transition carries its process PID, including the final PID detached +when an account goes offline. Facts are looked up for that PID and UIN without +substituting another process. Missing facts render empty and mean unknown, not +proof that QQ exited. Hook status alone does not identify the cause of a QQ login +failure. Notifications for one account are delivered in transition order; a slow +account does not delay other accounts. + +## Local development + +Packaged installations offer download and restart controls in Settings → About. +Downloads are verified and staged; files are applied before the application starts. +Restart confirmation uses the shared modal, and download results use action feedback. + +On Windows, the native API logs the process token and EXE integrity label once +at startup. A Low (or lower) token triggers a WebUI warning; file labels and +query failures alone do not. “临时关闭” lasts for the tab session, including +reloads; “永久关闭” persists in this browser's site storage. Neither suppresses +startup logs. Failed queries and preference writes remain visible. + +From the repository root: + +```bash +pnpm --filter webui dev +pnpm --filter webui typecheck +pnpm --filter webui lint +pnpm --filter webui test +pnpm --filter webui build +``` diff --git a/packages/webui/components.json b/packages/webui/components.json new file mode 100644 index 00000000..13e1db0b --- /dev/null +++ b/packages/webui/components.json @@ -0,0 +1,21 @@ +{ + "$schema": "https://ui.shadcn.com/schema.json", + "style": "new-york", + "rsc": false, + "tsx": true, + "tailwind": { + "config": "", + "css": "src/index.css", + "baseColor": "neutral", + "cssVariables": true, + "prefix": "" + }, + "aliases": { + "components": "@/components", + "utils": "@/lib/utils", + "ui": "@/components/ui", + "lib": "@/lib", + "hooks": "@/hooks" + }, + "iconLibrary": "lucide" +} diff --git a/packages/webui/eslint.config.ts b/packages/webui/eslint.config.ts new file mode 100644 index 00000000..a0e31cc8 --- /dev/null +++ b/packages/webui/eslint.config.ts @@ -0,0 +1,32 @@ +import js from '@eslint/js'; +import eslintConfigPrettier from 'eslint-config-prettier/flat'; +import globals from 'globals'; +import reactHooks from 'eslint-plugin-react-hooks'; +import reactRefresh from 'eslint-plugin-react-refresh'; +import tseslint from 'typescript-eslint'; +import { defineConfig, globalIgnores } from 'eslint/config'; + +export default defineConfig([ + globalIgnores(['dist']), + { + files: ['**/*.{ts,tsx}'], + extends: [ + js.configs.recommended, + tseslint.configs.recommended, + reactHooks.configs.flat.recommended, + reactRefresh.configs.vite, + ], + languageOptions: { + ecmaVersion: 2020, + globals: globals.browser, + parserOptions: { + tsconfigRootDir: import.meta.dirname, + }, + }, + rules: { + 'react-refresh/only-export-components': 'off', + 'react-hooks/set-state-in-effect': 'off', + }, + }, + eslintConfigPrettier, +]); diff --git a/packages/webui/index.html b/packages/webui/index.html new file mode 100644 index 00000000..84b7eac4 --- /dev/null +++ b/packages/webui/index.html @@ -0,0 +1,67 @@ + + + + + + + + + + + + + SnowLuma 控制台 + + + + +
    + + + diff --git a/packages/webui/package.json b/packages/webui/package.json new file mode 100644 index 00000000..eed30e4d --- /dev/null +++ b/packages/webui/package.json @@ -0,0 +1,58 @@ +{ + "license": "SEE LICENSE IN LICENSE", + "name": "webui", + "private": true, + "version": "2.4.2", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc -b && vite build", + "test": "vitest run", + "typecheck": "tsc -b", + "lint": "eslint .", + "preview": "vite preview" + }, + "dependencies": { + "@radix-ui/react-dialog": "^1.1.7", + "@radix-ui/react-label": "^2.1.3", + "@radix-ui/react-scroll-area": "^1.2.4", + "@radix-ui/react-separator": "^1.1.3", + "@radix-ui/react-slider": "^1.4.3", + "@radix-ui/react-slot": "^1.1.3", + "@radix-ui/react-tooltip": "^1.1.9", + "@snowluma/common": "workspace:*", + "@tanstack/react-router": "^1.169.2", + "@tanstack/react-virtual": "^3.14.5", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "gridstack": "^12.6.0", + "lucide-react": "^0.469.0", + "motion": "^12.0.0", + "react": "^19.2.5", + "react-dom": "^19.2.5", + "tailwind-merge": "^3.5.0", + "tw-animate-css": "^1.2.5", + "uqr": "^0.1.3" + }, + "devDependencies": { + "@eslint/js": "^10.0.1", + "@tailwindcss/vite": "^4.2.2", + "@types/node": "catalog:", + "@types/react": "^19.2.14", + "@types/react-dom": "^19.2.3", + "@vitejs/plugin-react": "^6.0.1", + "eslint": "^10.2.0", + "eslint-plugin-react-hooks": "^7.0.1", + "eslint-plugin-react-refresh": "^0.5.2", + "globals": "^17.5.0", + "jiti": "^2.6.1", + "tailwindcss": "^4.2.2", + "typescript": "catalog:", + "typescript-eslint": "^8.58.2", + "vite": "catalog:", + "vitest": "4.1.12" + }, + "engines": { + "node": "^24.22.1 || >=26.12.1" + } +} diff --git a/packages/webui/public/apple-touch-icon.png b/packages/webui/public/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..d3f4d517a507d84bba4001b0d12ba22e7b3ab241 GIT binary patch literal 40280 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 AumAu6 literal 0 HcmV?d00001 diff --git a/packages/webui/public/favicon.png b/packages/webui/public/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..b205ca179b4a6a5a600f4cf9594ccdeba8b382cc GIT binary patch literal 6830 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 literal 0 HcmV?d00001 diff --git a/packages/webui/public/icons.svg b/packages/webui/public/icons.svg new file mode 100644 index 00000000..e9522193 --- /dev/null +++ b/packages/webui/public/icons.svg @@ -0,0 +1,24 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/webui/public/logo.png b/packages/webui/public/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..bb89d10fe87aa22db187f5d0e781e85d70540a56 GIT binary patch literal 275467 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ʻv#%R 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

    SOM9Ikbi$UUCz9>pb2*&~ft`d+} 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%0A>VC3)-U!A~^coIf_{Hg6ZQmFt67$^73 zXl%4MJKLX|?H@bA3#L9L=oCZFCB)g-KDH9xM$Q#7 zWhYWxs$E6!!8OJLvAJ2V%f{@#^>wd!;k_3QbdARjqv2$Z%gy;XGi)Hq+E0GMA@HV6 zWI814Nad%lE!zgnw8ct>Hb$g>=^Vz95*!&)hme)=4PY1SiRdS>-O?2pVp7*aX|r_N z0Jd&MtZcGr9_qQtn`PRRg?~{uYL$etNS%N#9M)OHLAQ2z=(At_>SIsn4J;`_6=gux zAkDTkW$SxO6%^Qsx+c+9TsoCxe`R%jb$R9Z>p<0AK0X@W+kPHM`XbPiK z-83IJ*7OF5D=*p0HZ>ZyMSx%N_eKgvB`R|b9O$)J$I1=TDo|0~SliLPxAd9AUUqOO z8S5M1nHk>(DmcwcD8a58SZkp@(FLL)$<_{*nnR5*-!T9p+8!lm(m0rI7fU@^>Y?xW zzVDt_edG&&RPTYM$gnsBP(g9X7AFZLe-jum1lAJ?_+nA!L!07H<;lWPq$b0mg;9fn z^a@aa&DQxy7qRWs97+&Q@(Y5X&}xwYg=r(QL9)Cpd}0sSI1XgxVkrm+c`&(6vuThe zM1hJ%5ZYYf%U{zo!uB@5$z+jNB}31&X;?^bDbWke_A)0owIz1?1)%5c*x3C1G>%p| z9LM?=4)H89s6oQhc{q-RShN^1B@o{T>2m-_ffS2x?nWl3NA-Ka@oD|u2_X6Dnv)9) zGjDpst9G`x^%Dn4lyd?)l#QHib#e0_LfMiBI8K^mEph`>y$$`@pZ-x_NrNLm@vVHI z3QZeZhs1UB2n|G*YX!TKHVg-h5UtRlq*X(8rUA&POT1;D4RC2{x zLCLrl3P2M{TJ)f5F%GVeVr6eYP(Z||Jtvww7>u|U>l~1b1cnL?jY$CtWwN>6`kt!RYGIT)!xd6N|OQAq2OF}0KIEiej%NIVPT^{`rU1J$F zmZ`a$>T(qzebKFH+fpbmquag$ICPZ`Z#^n@qX0eJWE3vAAn*%->tK+qU`kMrJ_+kl z_10ELQ_r3}fAZKJIw>gj^{pmByr@z6Sroa~24WIbh^}s~a;t+uQtJRP3ba_mD`B9; zBPms6nb|ZZp;2~_>R3o`M^?_S{AFSRV`^_aTn)Q6Si8vrVH9!*A-UsPurYDbnL9*_ zN2t(aA(q3@wr{c$8Fl03Hwh+9$nBloI-G3+!j+Im2TU}F)EaDS3JMxDA?+B7X~#ng z)A}M71uAUxn}b91o;R|`C0eb$gkE3?$ASsQN!x)rsHBIEuIk+N2|d(K!W@(7@Ar3h z-}%F@pPioMR|XC|NCYec0!=fHW=D!FolO|T#58tx_TKb^uX@XaKd4(uQCbNtHxg*Y zGjgX>X`o?PVIo*+K&>1dh_r1GNTU&2_MS&rMObl|T-YKvZRo&2NSd_281wPUvW{g?Y%ICrwWY?)T^UJJ zxhn%*0(w_hH_MmFF1RO4=L*?E^7um7{i@9%N?bfnc8MANu0>o$(xrGdH+GdpW2E## z9>MgKZ~K~@?CbHtK*7pRo8VR-M>U6FWbB@N!qM{>D<8_x=k&M)HtUvZ2LrlsbS$_x zGdcUBb1&W3Z&ex#v@iiw?ONoWi1b@{$f*vL!%~bYoDmR%(b>ZRSj*95vD8Ldc`2Rj zd9)NzrR|yCqJao<;>5)$UfCNjn;_~MwC#n=tcrwb$Ok8^EjC)>BlWY+vLS8k<$|^* ziNWGmvqoRSbAFYRR21#kxRM`xRq$NQ+er>F#>D^d&Aer}{3v$-v?rdM)8+ZN>O6FO zM?l@SZ)!$IavdV+$yU}Rs!^An-gyPhVJx;m1;tYP!+H%6VYkMk4okLxD@CS_qslIOTy1IKjg1_Q7H33wAT$P1ldPu#4rb|n z9yT3g#LzNAG=_?V!Nov5;Uhz!6*W@R540$)k~XIH1JFDOVwRBPHLZ|M8fSzKZ+kgw zJ30FP4}Rk2@)|xB3q$@aas?!DC~vchUfRwep&{rbM3tQBX=|*}(L)QmHmEK#)$$0b zxY*AMq?V~6S2gi4igHq4X#MrI@jZQLAxE7X6EPZDnj5jHL&gfH{An{BA2SDKKE$6* zBFfZRxHcmI;@hKT!{vPR=Q~yDlOXBp~BF$m#r%gUb%wWnU^bY(ufUJb2CAb zmc-yv4ebGduvzSZus^FLt|$D#$V<+@97EAY?iQ<9spUshwMG?e8uw zp<6OVS(DJ6%C@PUHc>FlCJjMRF8;LGm4+*kFr5o>ySp5=U=XRAVw*6Oz;&_}33bp7 zP`!91o(ydiy+Ux15#UC^h^#1TTdF+ncKiD1clUbyf&(6A9BH9N)KJ>C7%L=Y6dg$O z-wd?X4@2}Cz-Q^8j_C4XUA1a^`{)0QpM1@$9ysvL zzpyVGZ?y`&kWmfuoMkr#)8d#(*V3bm@E4dCZ3vVGpq9%Od5uledmDOcf)5f#bdi{K zTx+Jsz#>f4z#L*c@D?vRpqW}=u@WAni4qe=JufCG)j^!71xyAK5;cLm!;-|^j-MN*5+-83KH0m3g)z0t;9QORXTfG`MFm3s6!qHaaow z*s;S4M~>=>B+jF`5+I&nI*J>t@{)x#I&EEyk<}Gn0RjykIxLR{rY>*UQ&T)$cj8!H zP*O@xVI;88u%7Y<9f z)o3<}x*fkJ14=l=?r_mz7{NeXh1Z5)`m3rIK-=K%dZZ$BQPq-Q03dS@R)875avQeB zNGxI=1rA;kgW74K_yKXx5v(9POiE&Q4Iu_h$j)9 z0Y~ZLW>#wJa6H8^w2sHm%yLIMy5h$VeQ6ois16ZV#LAU-`bicS@Au0ct#K0(Tk_?# zP+odL`@!$O|L^?VPv?dhu5|*Lp#u>YAL@`&NE}VN4(TxL{deB>rq}$!&;M-p{$=lv zOoeMO0g*{WjbY*>Q)$>iRNM@6vkx15lQIO6VO+UdZb+ zD0C4Bs?>C|mx-$2F~}omDX>R_kgbGD!C6p4glwrI56WJl(g@S$ilgZWj~Ku5x}#~ zHj>M|5Y*_<0}GG<)d?$LysywZgtawJSuKYk5Q!F>Qm7zQ3ri$nB1nIvwT6`ym7qEp z8-U0->pjlWjrB5@w`^G0+KcPGb9X#q1P{<=R+jb<5iyFHO=3jE@{j-{thEj)scJzk zOOdi!**QT&+tn+kg3S*42S*l;ojY}}elDo-DJ*TQWkzTr4y_j1!k9{9M$Ok!WH@18 zW=L2{?@mifV%t`fq)?6|1QqZMq4YYM2n>i&EgM+`v>N#MA2U5fCqN~&k?_inZWg;I z9>7{yC0vYIn;T+UJg_s7@<(G&*V{s8?%!efsep@?we@Z6l!DUr61k#y@o2PWz}4dk zg_{}aBz;FG87x4VUzpOV`K>ggbMv|ytx=m)`s9 zzw!^}bf)wEo`R7>0K9G;PuJ{Wpi-#d;Bfmw_O5_q-KI;iLkNXi6==v1Nh6xZkTOAq zw&_=s@+nD$Ce=P%sp% zBnjrD|GMzQ#>P&)NE%2+3h!qO1EzDbCvz1bxe=kf0cL@n>>O0d&)N5H`TU9`jbUR%x!FGxnwe7J*`v7r zrZNbrmR}`jrY7cQr`Gl1RFkpSpPFV)dTHDAh{$tL*H-IoZt8~#I>X;1A;$WB@5JcT zq^@PIiLA>DaA{bD_k+0#m3)Uy%R{Q!JSNfH?96+9^&h_Lm;Ui*zx?$%UC@$`2l_1< z2c;B^VmP_D$X9RZIdmC$hRwcIS7H2V)3=tJ_4Pt_e#7HGb$89An?p8{nc~JfE3xQgbrHL>aH6F#w8%;6iXz=b6J!W8 z9R%AV3rOwdTU_l5A)#YyEPM#)#nU3%%pppT6WF%#ET!4PftPvVIO=iaYU$>B+&WST zpzyNrw{dzOrh_fU6~T@|*|7mDaouvSh|+dkX)@KIBoz8Cl?}|@wW9{oIF4E#d~JDd zx!x$ln5~}o`}f}UlF133Gzejy&Q*sHVsvb7rS$gJMq4jTE_LP9YD(nI zv!d}NbkMAD$=wR8*m`hW7LcT_0?GqdZEfvsZ0QsN+hL}LR(7IX^d%;HLj$FT z71A|Jwh3gRKFf~kj?a?FP^ax^H=dGVqlMg60p7XyR@e3~J$-QL>E87ly_Hp6r&PC6 z?d!nQ#^%BD%E9#;2bZtxU%Yg1@nY}V^%31=RdMP)Pe>MI2xt^_ut`&Y@%XXde9yao z{2g!F(wR=8!Sx~RcAGiHAg^SkwQ}cX6g^!r>776HhJW*a{L_2xI^EMRzgoVOE~N;L zdS1#^LJ~HPfNaZH#EZV9JfcCNg#ufGt{Z2Js?#+p8mw7@m6(QrCxwk)tO$yw7RRfO z87M5~r6hXSZ0KPc`Cm{P)7e>tKNMQEgyHCBNOUu{fsA13KftjgI_3Di4}5e}U*iL* zRc#B%{X_t#%8jWOQW>_hH&(SczS}TVB>g6J|KRSs&b;&`_w{!6xGs{z3C4qlWB$X# z=;kAZZ2~Njc1tZeGs ze*EI*FC>+~{HT62(8vt^eo@%@6398EhE&E&xS>`~Aca%o4Z|LJf;e%sn-CTfN)a-s)Yuw)fOidNJtT zyu}9vh4vTCvC1}>Ft1ni zwFfxZ+S)pLX#Ris`|tWc|F{47&c&k#x}ZLmN(%#-n4z1b(>*MS*ucyOS6Zog4yWb} zMyy;-3JOG<=dyITDz(~xC%+ghD<3v*tnXBvo{@^W%yyvUt3fiKZp+kni`fg^JK8OpRBZO z8G4Rqfp%wuddL^|XrbyXO-o|!{%$R=Ya}EM78P~uB%r3`dPHa(*F3P{U~nZ#o`T^9 zkh(d{q~3ra85z~ZNHpBMENGXlv>m;-wsvssx(N8%^Xz>L#{StM1FEJPo;g&!uN!R~ zJp0`KlTY?;EP)A_E!BWxD&~Fp?yfF={fmG5XFl+M{p!#BmA4(9pWWHfFCTPm30#ytAle$+Mb?A$s3nVv8?n!IBGX+Lk$<$Q-o~wkduQJY#YBKPMqQ=iAz~tah0zY z`Bw1saq)z3^<7ujVK^RcI5RCNr0Kv!4c1b5p^>-(#_%*Y zNLUC1IX$9`E-&eGuA~GbDP!s8#_kS3 zp=wpZ8dAKI0ZVV0rlu!#K3*xN+xlqPzDIslB09hRZ;CCqqkfhUKCAvYLS;?y3)-M8A(+F zGIK-+!>P%Wf7i8sfKhI+A=UqQ@jZcM?Zgvpb3de zd)hh=2O?ohorc<@V}}pTulfdcx*E9_CnO{_WZOTub&Kz8Z(}K=kPd-?E>V#>FMVgA zLqq-LTVtnA>Xf5yP+S$55X`>^)=#(YKY#ky-~EfoqlyWr^K2fEaxtgnA>EZzFRhd!md zI$PXg;n}e;j?rK?wAjV0hJ;SdNPWY$pv|I(6(`yfe&E? z0!{^uXuCl>h-VRSUr4r!2_q6BjgO79Do=m=&n|j1-$kj zOGlQ}$@Th&7G`uN-_EYCqab5m`~+uGnxQ)R;y~xANk)yG4KKz38lbT0+eItuV(S-D z9jfm={ml5{;@F*c=)D9;^7qgQ3P;_#P=|x|di}lqd+%Jl_rLt9|LW&{dimC^l^fTt zU%#oJ!A(w0oz(4JPM$n=^sw$wrtcW`H#m)h@%Gc-cpkU3;3gu)#7*dXvK8aviya(X zO0^7!C#AUC@T9UNs;gwR`R<4imdy(_UFex`^b}* zp3`mLd6$e=Flaay8^;X?f)x!kL!2;=sb|EXTViL9>aYF8+clN=mQ)A`9E%*Bl{m&boYX0g>02OkGOSqw2n*bSady}{k|c>r2?Rr*!Wqp8 zU%$SlqbDdt%!L+PfatT@)Td7gkWZBeRcdNRq-=|}r#PMn{eKD4v9naSTAijmAZ zIbli83j~JvfZkNnXLiX!ZHxU>N~ujm1;9W0R57?^A9^K9tU)xy0N{r-tip%dDuPaT zr-2P~!Kj35Ajne$)9Wm35C;hAVZ+!8AcQ%%ii;L)5vEH6(<(Yq6CE3<)}6xfaa>ue zsZW&a=g#iws(!LT69B`;&Jtn>kSwqxI_O508E)-4Xkkyk2i6HW+qyf3jD6$KE(716 zDx?b)evSz4V5xy<1CLFSl#R(9=qrJ}z43GB^s7go>BC7shB7&rF(D5Q_WBzey2Hrv z`I*JJbNY4{AidAmRZ2(3bcZk9v`{aG`s%D`kr7KOU@Z5kv7a=W`!sBBQ*6qPVw68E zHOY-uNl~{5XrY{VG4b;~!`zAS#>y}N0b*fWmD1@;7Q@cO4F@Vm2@0#>L}Dh)Zlz-) z_OxluGr9kLkHEz}Qw|BrO`r=KwpbVXX!Mo?lRw*_^Z z8wKxhO|PvH@-%8vF&Np~+xxy3U3mR#U#ZWCDP%$oRn<(IPjXeyV^49=keH6hkFMO* zhsj7Xj+lG+FhBw8j(Kx$Gaz6FaMtlHJfaYbH`rr0S2j8IlV?+#9e6N<9Ds&)`#KGe zi|84*%e_!KybvmOE}Jkqjt<#YVPKu?+t@;Z|IwSP&;R-A7tTF+K_~X;l+aWHGlN4+ zeAO?SpwdLxKeBNA*uvuFo9p9xCSnv0#RH$Vw1g!o++po)!kBto6Em5)owAZ|uxVJ< z;s^=G6(sTFFN@YlYE-`Y78x6~c653ok#A$|1Thlvzu10*{EeCdB@YrIlC^O)aTR&v~k4aIh;V987~Tvk(hJgRRE* z=#hCJ`+uwS94V!xN8Lx5XNx$iq{b%woEu-%dyhet*16N_b*)<+1liD zKtiA@8}0x78y`L+=xx3}66iyZjt}X(fZpD|emmCR+a1&1Uz3!n3mg8!q$qWqP*|&t zw~(Vcdf2n_!Hy;3R7-k2B%!n|(Q>0IXjqKPx^obyoE(sbF`8*-2aEWat@VXv_c*j- z8YgO%oQcH}4hBM}hUJunJk{mjmL4JIqs^LS%@m9^{Pi`k2REQ{#ig<>G@V8=IrWuC zpZL;O9?S6`0`Qh0b)!RaAS6jkhzu3V(ZF$tOd|CBXHEbHXZwtf>g(U1{)x98TA0;c z3WK4wU0Jbs%L)*tWmSjwxB?RvS!fpP_Ak0aC}Hf^R_-wro!B5!b8{|8v&NuV#L#0v z{lMcP6Jw6<>>VuK;Ihx11i7s=$(<_$C4dEAj|*^oCD9h#IJy$@Qxa+>09&AJsE%=Q zL6|i}5Lk;$4S;nwr_s@eAN%aq&Kf!SMs%pN*xj))hvaRGzAT(Med4UI-_;Zj;0lL@ z;5GdA^UMu{yRy2r=# zl%`Isg$Zn+i(=s@tpQ?JV~I3(J$)T{q^GZUpVkRQo4l#lVzlN6MwJJ-)e`acKUpEl zc$FDld&3N+7lDwYX9#LN)OOc;be6`vd{Y*TL5z*IsxO0v%u;Vshh`;PM~|z$0qb14 z#(*U*!;3V=FmHKQSCQ4ygX$K%1!)_B8Lh4nplNGXo@*(b*6Ov)$cd67$wI}{YjhC5lW4znu6vKQgj>gA48}zX6E)-4cq@>5+WfoMPtKrwN9F z#yyB>kB;8BvDR+lR1}BxT|m7B*A;pBAmEXZX{^0wC52~gdABON8`Bu!=RIPe2P|Xc z3Bu8y{$6kY^3tWJu0AoTyFOW&5T4(F08mb8Iu=HJ4}ALMUBSjA^F*rH$I)=iwc$ku zwR4iRRCa1+ZJUg1CJ%6dP7p^QP_RO(#-QO)w7N`^i;hB?*T>*YuW}I)3rR zuv;Y3bZh1f-XJt0$tA}K;+sc7Cp>tfKKm)5y@m2Ks&;%&Al5pR{ZG=&LJ;1 zH}C|PzDC{g)s9v`Ok@D_z|;>t(R41_;_><1qs2RBtZ~rp_sCHNQeOgZ3sfg>LH}ZRzF7bmh?_Co~K7Ov2v-~)I%5x*HANEW*B0$INVJ2hxH0Uw> zBnrW>0ma=!gq92=Z5sgNjxD}ec_KL&)>T;4Hj1U)QvXDuYWgdDH`Jycq35zjB0-k6 z#n0TF0={5^h1?oPHvy|+pnk>zEnfB@2oIM-npPGY5!hNt_@8;lXv!H7FWNf11S6AE z-@Wwg2S4_?DgEd#X!z?N92lsD{m|17X#er1hWFm&rGLwD)1o#w?zw?P_M>CFd%HjO z_BY;j*I9lAS*1W}y**ot4$yj!WEyG?*-57ZoU6-%bjZQ`%E~qFjgLH?w2Rz?Lo#K7 z3Gt$ZyW0}4t!=Mz&v#c1i$>Q?I}|hh09fbX2}eT*U;ZI4!^#3@7AmSuD-pJ!nuWyX z;rbUc#@OpEDNzN==N?_3ms|3UedUQSkLyCf6MPu*XmQ?OOD41(%B~EWW9yW>JCC2` z7yChEouo}iD_DzC1$PO7zzzeZWj`v-ml4M94;;nt5Y~4v*;s9u`|`1%NA-lqI)IjYemMW&O*LKNf@UZ0|qwjE?Wx(PD8+!Mi9f zWd(IQ1wq?JgCUV96ALPVb6Ty*Hqisr*+?8-lE*h@IM~QTRFk$!+&PnP{DN)(30;*o zrGg`~JPOruTMU8?7NdlPl21cgs^bDv`wn#AW)oQrhDpwHY5=fis#rkBOOdJ_#XuOE zWfK3 z_fYhlvt_doh@0KhG$9j4mSjpGnj<4OuTLHL&Z^8PCU3L0iB{}}ZE0PcI_{L!)vV&< z)RmSdXjprgsCy$=d?}5X%^xCLz zQ5C+ql6@ZJn#t>#G-TkNNF@`%tiz_`1VEWOR1i8G*f;Mq{$IA<^hdJo%I?d|h{&<# zd3g0E@=+vB^+-_!)gvi3CDJAdnQFKp39vp1up!8>zsRt^*f3xL_BX@-fMEzNS!&Db zxh0X^>;~CQHQ5~A{Hk8fRasMJR#xSl8R7L?Yo8mDk9{)Y-gEY__S*ZL8{^FzY$w!m zs!=DzLiY(nsk8#TZPtfT?CT9)(M_xY3$2c>jQ*1Br0)t5E4Ce!XVp(xi2*`QIgdu1 zUbeUVU`5lJ13GB7VD{C#k{v}GsU3vr!6Vbu5j8)J^owz`y}90;&+eB)h_O?|{`qsh zN*teY(Xg+@r><~ItX`Lf4I$p1%RGaQ%NGh$!;R;|$B!)ZBc?gXT_4s;OBNiG4qqYp z5HqNfRxdmI+KL%82Z@}qAQ)??WgIOW*(ssy$5Fy@_pyFs_cFNa9ei!L~t}$QFXy$x2z1IIUj1pb;sIVj1IDfT~k{ za6@1|6w_bhXs8zgz16k#fAia4*J zz=>?)oJ1=NVI_)nvQQORrJbjM5b3u$n9J?mtwDdVzOnM|t+#ZApNgtE_se_}WC3u? zhKj&Y8+{{pZ1LFA{F3R|s-nx5cXw)G72lxA*`2QJ71IRM7dGJ%$a`wu4ZV5+$xL8L zAOIxwdJMV> z5(Z1cI3%4UZ#T>ABYPV$02vZ&=+>9N-J>R&ieFa#WuN8yt2)Pk=X4$@-PqY!KzU3m zwpNIU_BIwAi##_d;Ew0aXmxc)Kj~#!GT<99NJ*q$tJ4{r$oyK-q=jQQtU#}vKvRJv z;N3XLHnULfAOHje=LPNVI05*zYM_!MCUm*eU`pu~NB$r?4HU6-hPIIkO68p$@J3-r zk8K~kszS6Kfm$K@4Wrqjed{+T5>gm zL#ZV}B!LlIAjE1V3#M?p_?9G=%s`0*9FqM9U;84L8YMAwo^f>mfE`wvvj}2CvK=Z` z5>HR9JQ?WSCZBjnR4*_pH-muSX#k5*mO8BhQ=h}W8X9i8N2Z6+-t_9)=Cfz|m0^2F z0}do)DO>wUqGu-k+^*hl=l^af4_dcC$`3D6wjWUnLp`+UgRU%dTi`i&PIj%~WI#M?!cBW0y{d~ye#OTRF;cx2Jng$^_!)f^Dh zB$>FWRv3^&Y$wAJ&+&)2ELA;x~RT7YUb5N@>ql zRa|KiiV8e5Xbp1WP-=RRr4H zIaHi@#np9rM|}Q60Rl}rN-yEc>d^Gs!10?6Y2eL#mxp$Atx0Xw?Ued|y3Orv4fV;- zyEor>{Nxd@hE27Mj1Ou(^m?_(AT=6|X8Us|j-J*x^NvT@-1I!6PP~h?#s-qf;jH3A zm2mKlrEDH?p(sRzMo`$n)6F~EM42<l>H$Q{zjap>#&*G-VwOMTZcE7-VOcn7I(H zLt@|+tA?k2?3IgsG-_QtX0E+xnvYQ&Fwry4Hs4f)4w8UtAF6sjUs>H)ez>OVD9gx% zrSjrS_2i>@Lj&b_(c`dmI1ebXpE|&29;O~W82DW&B!i2S6vI*P?AhM=^PUxI>7Z6J zNL0MkCJ0$VtOjO59jgksxhVz{Pz5UwA@ahh=oYeIEQG2}Y(Q6(5G7w{=q}J5d{9Xh z!-xUau-0@_nUb015f$seaj4G-`y4LjH`O;^PA7A2KqZFkMpad!A)0^8{ zo4f;1(9!DpqpNq`(HFsd>d_K|1OX*T2yl7B-Yj~(-pQlBBpgC)93H}PB+GQ2t@<$_ z0zC|AiR2y|L5XsQQ5-C_Hg2JrzRF-PGn1j4RO1j$IH^M>qs%G*ljYP<0s$I1mPm?T z;aKj1xJ=Q4t9yln14tQ{F5Jq<6J!afiB~G;E@6EpH_k_P@=yz)Pj|R|`-y%hfNSZa zV68#deKr&a>qbmUACZV$h;%#~_)?hZjrIQXwSoQ-&8Ot^wKU4kq*fb$jd)p{a{NkUCNS$Pe#vQ%xF;kz$fNg9& zKqhLGz} z$sdK^a?>GLWq`N3<0hT3us9r`ECgQKLtaKDh|HugMusH`9D|DIvOs0@FaP!LJm1>x z%4CylJRN|=D-j*v*shFJF;gd&GP61ucJ>%vdStwK?$lSl_&Lu046e;O2ZTJZQvU$p z))MoySj-m*Gb<1KoG~F&PnAI2+Fo9s3;3~ebpw;0(q=@Yzq}>n^wjdhbzQHQxNTBd z%JS`6MF&aZBS+``&-Egd@;HLCn(%N&5*jtw#zbI}+O`5R}BuiT$%@&o;L< z^uPW751aj~ciyxCOFcoy{%y{bk%Jd0jZPfZl_XpsgEzx67$d+;gvNqyrXn(M;gmBw zrx8ANh%^Lg)HGsNsG7kiD`8p&z>LoLrV+Q=xd#K8B{NMXOUeS#2x*8|Y*l2I zMyRcB2|a0sb+`bE2B)@1nNfPR<5%?&KI?0}=Ct`F|%wMmaJnGIJ&vb^+N;K`GNmtWC&LHI<-gaIK3?Fd2F?%pD- zMi4%W)#u1QBW+rj!O9ax(KMEzLdcZlLFHTptfYciLaFb`BCP)02pS8A^8mfhBy_XR z)j?`EZPg0dAPVOU(6n&s`k6sBw0R;1p{i|>wV+J`;t@r4m=y__j##p;1!JdJ%E0r5 znAp0x3>pN4j>S$AAaXBWMg{^%CPg3edhzZ-|sk1-7__@!#^5SK!aO=h!XTh+=INTe< z`8Cvx-qFtK`p;y}ga$qpW1zc$JOP2^5kED^vXV-}3R-#EJ&dI4O+9|{d~IcuBi1!z zOKTiS(QzG%qUIXxDGlI`Smp3%zfy&UU8HFY6BR%LAT~cEsH@jhcveadAOS=OyY}qq z_V!lB`XcB3`|s`@?9A};(KuMfmw-^NX1Q051SghGP`IFIpPq(B;niX%iA@`pX&YKe zj1EiDLpES0qe-mSLj-UTIp_vsOTZCkl<8wf7^6AfWE@{eO;VxIpiTav0cHYZT+cKu z1TKxRyIxelBoADfnF<rMAqpY+?VG?n-N1`4= zkTyQ*Ojw370nM4&AQ-M}if$Y%MI&S8%Ts4nr4=3IWGYe#)uJJ`#-5VO$n)0Rx)BO) zwGWJ}y0JPA;CgCcnu%BJp=Vr7{g6>(lSUIYopNdP3~mFx*X+;y#&7?J2ai{Er6|ee z)3ok&%w#S_EEKsr5}JJlo3NiOSyu(=^#$p#e&q{O2Yz=b*u%{@Y(VlcqX;f4NltJZ z?QHg+JRI=ypHKLFfTUWaNfGciVI77+Ae2>MO&-E_NJ~P~W1m{H{&f4%L;bvfQ6QA~ zK5W5i4Lx4^JWK!lH8-!Lt3V~BtcvOY9Ss9%V1NkFNop6h{y44fgcr8@{^bqe|R8c@5~v! zoNrG9UGQQE1i|b`0_1E^DC$SVW{w?C*;NflCjcFDPVJc*dgSHYfZz}_obecdY;3Dr z;5bQ(2~*@KB?V9*z-vbkMh;I1I)Mb4zC)-ZmAj5h?6Q-P9(T7WEUAFwFxQ z9OWq~H<&R}vObYRTNiL_S<3 zb?vv_+S=3q@3+6<{}Hi;GdI4u$j5;oN}sJ_q)7#1-J&2Q)}m`ER^h?U{T=;Y^e2Dv zr+(r;IoR9R_oyJyv?UyW^bi7N?&<*-9nsO~@4>xUU0DimY-?lsHZYXIVj~L|8dxLa zGwIdRlG=6N*xbE$?`bgt2uG5WSJ>!40YaN%rSJA3h4X>*|6slT-v0KTM>htud_CS`;V7?^lG?ge zW%&$vxHNyH&ncyNK##zfF_tvsf@ohz1ikaXiCmx@rnW>%=>n@qKpq1LZF{PNo)I=p zjv##*#sJ#f!Ucyk4D>FkopR!=jE>qq#k;|1pSdKSF`PHdQPDC7R@Si^u_=N|o`?vJ zIU85XGQ(m4LQKd`eX(R`FZ|v29*k0Qn)8rK-MzbV`_3c%Tq^Md=Z&q|jOmt0uxi=L zlzu2gs-(6zrtqm;pTv^!xn_7YDDr+CO`4dN9z5 zW}XbZNUey@#G-0a>6;cF_8EkqSF!c!4H&T|K%3t zI965|1suy7;iLmz-MWXiGB))_RFo$mIt8RGN;#2)twss+E+i%Pg9hTqS~WA4JgOr?AnyKoed^>y7JH3ao1-U?& zbi+&4cuS(zRwahYDXz@~x1HVn`*+v;uLhuX?vNlrIhMkndL^~6Fj!phc?dGRsZFnkSby_<%r-=(>&F7}>-!22;x`5Atyj-@fS)W_s%Vd+#Ot$p^2RKq30I zKo?b(s>z@~TNhIu^GjT9i-9@?Vv(esLPjmEOi3FzjA+LXSs7zB?qS(bmXQtuASBm;M3j_=fenG>12X*d zuKDru;P}b?V@GxNaP;y3(R>^mTKG)sU&zj#n>l?-r}PZhpK@Xk{|f^Rnjm?D943Yk z-K8a+Q#8G>z%OE8<5X-80jFzI_0%Xq%+#kM2+5{QVS-#s79H-{ik@xD-8#R-2dx?y zo-A8hh&dzjGmtivM|T^8Pe>b^nFD&BT5RjG!Lp_gdIE9ykTz-;h5()e*@y!}b#Mxw z01B+Cq`7o_QoxEZ26G)^SG-a9phiVP?CdNs#UfdCoEBnr^mA@Hv*lm@n?G>6_Qwxe z8qi{ok3l1g7|x+m6v;#etk0NBZ4}u#wB-6i>m#qc_=`XHDP1#4?=(p}X=%s%5p$jh z))0V9a497m9!%fAGv}8XaOYkIrhsWeH%Aeml*X3~LdKJo`r4L1V};OJs(0?L?d~2> zHe@o_PR(_sgE&k}f#>Mt$we2?M~Ab+&X`m`ed@+tZOp=GPK0SyG>oM7T42NESz$-X zxq60qu`EWzM{5stJ)e9}poO4s`EK67w#`|#Za^gfTR^10puNmCIaFqZ8qE#n^*A&6 z-HfYCrl~v(lQ%V?@*V@{(hwuWoq#q8r)?~pQmmY^?b#?gJLzF8be9Nk7Y-p9-T`Yu zwy{j!s;?pNN$p~cpEZ!7v;|`R3Dr$69RYlRfFeLPZv0$%V;OS##*K%HarxqDPDcYyq?53#U}l&zDn$kgr7@;0s06zB z%AFgtuYGJQO9mB~&6TB=AtK%QPne^}r;i-#>0S5E&PZn*Ypa_s!i(#)-Y(4a2h;Nl zGfNBl7C{N=Jw$;R$=uk8O4n}&**g#<)m$M{VjOPiHEOaEmJC~gnXs;UKg)-58l4|?LYsKezl5O!6J45hPgo?=G6>>B;2!M zAM%DT0FcJXu(q+*W^Zrzt6%)3Qzwq;hu?U|QF3xLB36{2`?%q5|JdkV{^N&p8@g=n zj9zn#Du)fbB*zm;!jXjrj&B5ulY?v%R2FoYc+JmRh*Yv$^;<3e-qOVzu2ej|k>DG?DS8lG+FPOIBkQF;Q% zy+)ZFX7?~)+>pkwjUnJkVlNn`c#H>daGICWGB)!|jVJDJA*JH%;Rme_Uv zeyk^OadYq1aoEN!e7&0qH0bEb*WZEo9-*3-HQ}17UxW6}i z;qnX(z0UL6;x)h+P)5 z^n4`9q=W68m2<+yjn5)PgoR*G!;vhgka9;)1AI_N9PD9Xf98adj0#VZ>6t(4j!t5pJxWiiE24uaK#EGh@&6qoABKj8Y2lTW$TZ_=&7VB6q{m{_-=LUbVM;tx(TFMHPQ3HA33}31 z(_RGaiKS79X{7RUUmGS{ulv_G*H_n9^x~bM29evd&9w)QmrpL8=5Z&WLd*J)D}iXP zqc`gE9)c@f6&7uq+6Y0gB%!bjjoMaNSi>7np~PDE<+wS zNm?5w1y>t0?ZhW+^kU$vGCC9wK8~Z2)UUjH{=%h`e3^q4$Fn#QL1mD7G=1adqpMf% z>cSoRt{xY`>ZXZE#}&(f=w5NDAasQ!ojUp~g-_{6kCtaw>Wm;3yp;O01>UjG(+>{> z65#Bv-a%+l11&c#628x~5?N|#2-JY00~<`;v10C%p9xEjm25C^UFg|cmQfoyBoVj) zUV7JEJix)qL5r6L0%?yt_B3d1K(@Wcx(N_+^eRfasUOraNffyfBf%I*7nKhH#}_7I z4vb0=4@QO&l(2}$l$*XCf+QW@g&P=oFxGmCd!O73dlx}rO~JD>aczy9G@Upg4- zl|*F(97eH|drc(*g5wzk*NTJd-i`S^PW>e75OWl>Fd2JDX-oq+f&*z?!HBzRO^>sO z$x-WHkN&sstZY2r*25qmP#_M)GfRm)g)WT)Am+2lk$(C8*wJ}cvY1dlA0uQT1UK!7 zt%j8pMG`rHD1`{DhcI*II{fqpim>$PNu>)`ui97ESDtOIOJheK<#pfN-+j2c?9cS= zM+7?N>VB^Yj@=GCuDXW z+0h!bu)-LM;-Y;5B2U9V352s(p#AJ(WF`}9VQKHIcxW;mqc{nau(!n445+F#DxGta z9uxC16!zgzmMI$N*W|#p0a#d>zulq47{Xm}Jn3m|%FC0<-8K_*tiDQj!I;Mo`8mQ8&zyuKoE3U;p;a zyUX+XL5P|+^Tx*c<6sbw?dOO!vMSRp3Ak)!CvS5ioTMQE*8J??*Z$5IruCaYMIT0`5HW83&$H-k49%s9pMp#7k{`CgAxfycK|e$E<}>^u3eh31_U)(nfnVV zr$V{)HyRy1zHsHrX+4?9^W|61z4D<866)iAwmikC<$b+Ar|Ug^y7k5zw^vr5>*<>C zLS|!Piow{aCo1p0iH?YgFEWzp9jiXWzkYRYds_!pQpHRv$AcLe`sNo&L~$e;@CJ}j zR(nfmGa>Id(E(Tukq4&hVpvIL))@?XVVM=Fp_Ta@%sRr7jN31q>i8wjY5G!#li`!KVlFMW1yT1dzsDjH@CKa{a^o%UTU}&=n^Kr25{F3 zftXup0Uc|`3ZDYD2v`zRHrnO+b)+lReDbG0{>h*D$pg+H&_5i8768JQzyxbrsR_u; z7IGIv!p)8T{k!uzdPG-pXQwStvdIlZdt+pp_Ra`5hpI(E->=>F_2_?Rb!%gn7yJCX zjGF?fLB(FA;<(;gDs0{f>)iii$Mn4yq|Df6On~FU#5(za7*|zMU0!FIA>af=sRl#p zKrK;uNZ*)c1^`F#^z}Q}hQod7;D`|rdT@CB^npGtpi;W=hsG4(gn(vit4kmm8sQ}Y z_i)8BUZ^xSfFvG7RgogIN6Uam7?@x$5Ac+tvj^0DSISW(Ap(D{9wrEI6Oyu^r$6W6 zcXsp~KwAnM0}b#3#~Vq}bW?&4%{FpGk74Xs`Kg#9;a1jqU&tFVY-MU&MNcpE!Xdcv z>LC5<+K%zpKaRih^0|TjZ#LrtzU+PNwM%k4@N)p3VnPkr=zZG$?!i0n+`WE-36_}x zn~ZlDJJ-NLn*5Vgaizup>JeaPYx@0nW_R@~7d##zPc2M68>&nhxv|$hDPe1&VAWBh z1o{JABkt&ZH~54M3#km|+OaGg-(C>0YXiw%BGQSY4UG^S%9CK)(l zdi9b`J#QqMa2})Jf;mM_TCTOBU}1mEHLz{0sU#sYF;WGcVCF@vs*wvpbTHc#+DOjD z82~j%(h^NtM@3;3@sl!SDx{G-gpcfcvx7hR)9-)xNAK!HUjR$zU8><(G`rF!n;4p= zoY1rLUp5Gmh>KAKcnLE6FTVVF{YGwy1yoVh@w`YPD)Q|tlx0goS?v#J?%Z5F&{aR} z81K-Omrzuy+!#PBhC+=)<_S}IxoRl%8fbfa_tx#z?X5i>0I(`Q939{8fa)G?dQ!S} z(^IF<9KlO?RejqQdlLv57F$9)h5%#_*x?WkgRsKaOSADzm4T;xG_9}J-+liby{rV< ziFt+S@xQmW@nm;jS4xtGSC;sxg(gxByuc`Ym$zh56)h|2%g-8Z+MHF$A}R~@uxBR^ z*T>3;<=-ZiaP*V9Y#abb8oRoiZD(aI^dKK&Zyl^WP{LFO@MA|X_6UO|F~YEv7&{5@ zB?jcWt|c}YJ3IQA7TOM71K$uP3{ZhI0_%*(Uitbi<>IAN`dL&RB#87}Hk{Izy=TuH z|LDhG?Du1JdYO0I#L9MLDDnc-{;@`y$z zh(IEYv%|TX#dxJrO#;YaqA3U##;Fcvk_G(7rU~RA(odvjav}g*z>LjEH<>$JgpFph za?nbUP__nxga~ZRfCxnv1lNsZows*{akNlHSvKk+lf>WV0pSX{-pGmQSJi@aw#2BM z^|;_9CGwvjh6j7U{u{r$ud^u~iuo;j!#Y^;lSaLi(+G;CCP>FLecNlppK~XUx(1h_ z&i;J)%7xGV(r1P{+cRF|Bw&De7~j0@54;OxFk?=S?%!V6)NkeG^_kp4-C>wyg%rKK zHYD}1s|D7|n3_1W9rS?z{MpW}TWk6SBk(#NIuH{eH8UU370FSYDID}3{pit!rA2=F z5d>kIjQ!0E`!t452Cj(Any97=wlhZ~m5YddrcJ(j-N<_rjU$4V1W%toy}5iNZ{`dQ z1=;E6y*4(V?d)t47UFCHn5?}?Sg%m}jkcYAo#yAL@KdK2M#(IK5LA?u@DK0;s(!(?OvJ7 zLGdY4vmXaAvyhaP0SqY^QI#T-sDY6ghYOJ^o|8*)@?OZ1rbb7O%wNI8B`k(KH%o_F z9n)x-N|hX}Z}BLaTluuU_u*i$bomTK8r>Necm{Te&XC}7j~!W*1;@R4HQ983@b>$6 z{^(nOF{ht??D!-AY6`K9`yAMSS9apQ4-%CVDTuYCpgAl8P?cB#@O2kP~V?C*}Q#w zRaef(#JqSsQV#=znie`*v31-s(F?CLdigK1ri77AyH2fl3zekRGHF&RSaU(ITT`;1 z?AJ_63b)vaz`Y0epR7I9b7P63bGF+%TbnyuSSB01#+d2{-YHXm|B8TrpJ%K9PCgDv z56WIAq(cih9n$LpSrh$u8=P7Ivh7d>TYW0#t~Y*GBw?3M8lEz$0O=r`$cb1cnNFZ4 z4O$#)%z#x>)(FSpWoi=5v;u=xh*49!Zc#{x3hvq$m}I;I2!tYEdExAUZ{8~k zkIgvYqJPsmc68wrKk<@2VdS$se6$G<4T#d?!+ZUZ6PHk_@y!-n6qldFP#Ryb*OtzMlX;_goV;64f$IB$)C_&e6HNeEa zABf=B323Y&M5-|nf$rFAoF6U~&OtSHUO{4;p0fp+?|;S2MG>HoQcx^O0!3UpUyR}! zw>CB-R}5_h&R%1I@ye?lwddxcb&Ao#@Ldgk9)`5{V!~S$tmgu$an%jIZ{XsRy*q7% zfMO){osdH(pbf`x6Zr~CJoK6fg^b3*jVqD<8~}~;u(#r$ zJ#qY3|Fd7wuLD7&+^fbQsR>y*YDSuc*9@ff=>K$e_WtcTz1p^^L4lVi<`O2bwPt0e zl2Qg67#@`bW}uJ$hWGBTFW+Aiy>N{jkmetYOb^9qc{CV8P?U;zA&;EjCDgD{{44uyuHl_xD}Nhe3)^4{o3| z&EC2;uixpL9>g{i2opzTYlsF5@eVS1Qv!H4c?RPu;Go7L^}cQFm8hkXKAdgHpn^NO zPAdflx~n)!86)Gko~Wn;Or^21)7J=_YKc(;PX~ac4}RwkzGW@|RaWdgzjUEwky(Hg z1CP|{2sSccflUaEw6{ol-5f#!qCk%XT_G8kwN&`(LlOeT8x&%i1lnPL_VJ1?{_}PH zW~?V(mXLP1kV-rdA~lUen?O1TL&sDoj+V%fgznV#?(XM)>C+#6^<|x8S-cSY0C86O zcp7xcY_D!=rOr(6VDnl3&b5X7M>!TIs-2#_=o8vSEq5Q#Bn){N5J@*l%u-VQ2h7&q zjhibgD;rc!(E@@dP&vLF2`W`$gMp`z+DWsxID6{!lDQc?7AWNcE?rx?$oM%HLZblf zt_5JQf>6uO-jziTK@FO<4d8JwHG2Kp>paBAkzBo4X1nQvF zk9x+6IO!rY~JOV;XIo4L1@pKYSRPirh6ck^upA@)ZPQqFC%*+aL^a*&D>Rm?QAQ z!PeSfLnK;z$ekBNc#XIgHRojr08nSRO zo$~SGa(;P8!o*1!$PRG~3dM#6BgjN5P)S79zXmL^y8XHSzx(>PuHCqklO6FZZlXmw zs3FiuJ#hw0x&;flpeb53K+C(xYJjhFS{6Dt@z=icEBa}OhN%$hYU4swsO%^~@fqsP z#%Oz^cjM~9-o6sxgPl$(qYNCi12$q~A7Z>^!L5oT;mYdfjT=w4H+8~~zfTARXC*0w z3}J?kyvQJ~kVOJH^+;EbJm=0I6TCB#6jMrI7sl#QOe2*eixk6hvQ;c`O!?$uxuf_+ zTyw!ophPeS9jU$bjrDhLzBkY>Iotja9lfp_>Y^LlB!i#4se|zq%TkTFS*jlu*jVSE zkcjV~3WT}CMF0YVNCg{jL}FkZNn~PNNJ*|n&o_MKtiHDHgn z1RelOKpA4xHtH8stKr5N4BzNTL*3;P)67p91WYCnmr2N&h-2A|Xo(z#FmW&5Ru{Sz z+2~Rb`ZxCBsgp7G zZ|Nv+5j+jhY^L^u0Yb!p0#|!vR5WT#)U31>medq0C7xtlX-|W_5SAB~0`4U0dNrWN z-)3cE8VJ-JUTP)4bW0VYsBm&{BO5{|ODND}6hN#u0|1CdW@$pfLt3~RvNX+rn8eZC zVx(L_!NU#>%5!f39IRv=K(_;D-2Ck=fnz6@v>HMLC(8_kR3+&3ceb|vuYd8Id?2Nz zz@vp8TQ%k7Cx@_tq=ZBQ&0rto5K{J(pCS;shH)8d^;{-$1xPl;clc8ubr?_}&xVOLm@Zt0I zr&~hf2oi)DU_gfOkZHv1YyfT5sD*}vkq4nL z^4wsRtYwzjmn(X9xW+xq6B|exIMM>?|J%B8@A`vB_uJ{b1|}{|ds%Pq>34n{7Dojx zc*=~W=U6>7Q|p_2CT8z4WgwAuuu@;kg;YFH4=&MZS12xojV+1kgb^rCI|)*i_{K({ zWEW`#(iod6e<9kjWh8UkdcMssnOK-^+?$wk6Q$XDjCFuy77mW==uH(S`d3(4Rymnk z4B4gQ&of!dtQJ3Y4zaYx_--4mnhLQ!SQ1Yy3{}45Ok>}-&S2tDd`RJ;&(Hm*D% z%`k2@z)*2h(e%+W-BNkY0%i@h`xd{U6^lYj&&y%Nh+0 z^bcQK&j;_nyTE_^>ScNs2xfRy-5_KTCFVUN@T)R@oWh6Gq|r*_|Y^V!p<{y#4! zrMv}b2kO(DQ%2GNm<8fm2^v2>xz$xa&+5Bhop$ZqnI7(qR_;x0 ztoF{nuzmV0OCBO*0VAhV2dKrVFhx`^x!F$qoB?@t&9hLXYevwSxQ$GxB#BxiOPgxL zxT>2V#6o3HuS%0P1&Ry^yK!juw1IU=or&_WAu=65Cj7V(Q>`e*c@gBL85p zU{j}P1M-$#r5DHW3apW|arXHkr$&(2gh2(0c>%w7aG;<4`kTM_H-`F(QV*Mw1%?hI z)yCApb)BG~NB?I}2RE-S=sRP-_BSBUrlgB!0YOrI4spX-7ZPA2)|U%2(??J2ox8lN zQ&FF<@AJB!nC1>yJ7FG?kzkSX6Az2F^#B&SiB?ez3-#uq0?&1dI@k z#Wo=c4b98aRMEC5s5_o|VADgD)0H&-MubCV%+@w0C^%R`7m()SsP$NnU6GL_Q(mHu zBtbw6jf#;1p&-1#`+Dd-cUo&`#+PHxM0i@XNo=gua80&&nw7q#dExRYE#;fnAL!Wk zi~T(1fs;gVk#VhKx_%}YZEWm3-`vr+#ItjKUA%B{ab9m@^#S6-Tz_d^De;wothE%T z2cyN_Xm&7~KQdZ6KAc~e>J1tviUd9p%rQ*qlc1XUP|oPR^vDFqWZ^p4UnT<5&0v{9 z_Yu*tqdQIPAk0!sz_qQ$tQ@u4f$RCi)8)yqIikh7c{!z!Moz<2H`%F&%6T`x>>~uq zaEXqoml|RdC3&!9<#D1%*TgpPfQ`)nwYX-rOB-3x;U!{<+*efv8< znAO>zK*$^~*H=gxDOTfb8RAAldr)1`aKc)DQ8>4x2=vsH&P)Ev-};4fXHM*GZ}BgV z)DLe*^um^q++>Sd1HIl~eLQ>T`og|WM)zk%Hc${P%aqHuu(S^oCqQ2AGlmUaME%jx zlly1R?;Sb5-|J8P#h>kM?+gb6TVb2hfD+D8kc0{#|FA+&mB4k=0ekksQGfVT1&0EW zNkCXW0@XEsafTegv7;+^!injKFblNDzuMFrQ@Rptx zb~Tg;G(cCrSay)*oTT)QjwB2o3quD$0s_mylo^_+Hl9IyGDS8t4@!qATbgS96TSC{?HU_IYs&a|axM$T^1`j$} zHlAJ*wF`KTA`2?gN;;J2f(O{vH#M zrhg+D^simLdHv4vtS%aC=-@=Jt(~-=fQ10fu}x8f2!&hP#IaqafQQ!hiDO6p^Dli? z&jZv6D?7k%f^Oo;QA=z%^Wf&}!)0BXRFD3)2C#f_u81a7iLnb~Em8evn>+@y!{aA+ z&RpDIILf*o9rU)hMz?P4DFmTYMWZpIb+b=2g~{Q9uMP#NE0*5H438X}KXaN(;R5iN zm9dqHJmm)*5eSoL?h08^m^E!oV{BzpU>sMLo_Lqdx#FR}-eB+-Z-0ON`5HgwY&tDM z5f(?E-CgVxw+7}ydU9mhDMn8(4xeqT`rDDlR|d5x<1O>B4oB#OJ?aWzqO2G=MTl1o zD4Z4A0gj3DL60OM$^rMXMq3~y%usrZWkwzz(FeHffg~2wH5SF5d>q<=936AK%O5SR zJehiTF>@#8n3T$?8JYgg~-34vGcxP+Q9v>_>5Cv~S3c2Yr(qUdjGXK(cI&fLM?@ZzhZIsIt-t{(4o z)1ThE+YKDxCR!@b5W2DeB}|h`O@ZP};>Wm(W|xXFj#Kd}oJWO7-*%O` z{Uz~a6tYY_hgCG{AZwJ_b>ut+hcm2%gJc{cvYMI*7)v7dVyUGfc~YsFm4#Y4W`1HK zyTtA++E8-nRu!erDr>0(u2vpGeY-!HefQ>FT}E(zQ5UV;H!?f|L;z~!6+z-|p=2Az zZRjowr_rOX9e*dl*`Htd?598S+N=Be?H7X?Axg531KhMsX1K`n-5c}I*0iE^zL3Bt zf;9q47(c?Zvjz0wt0SN{T0F9M{Pf=O6MJ)W6l!?D+gTkM5104XpALPQOFOlV{8S@{ zA|3q|NoYDL$6})hqbdDx!o`axLIP8WDGnWbGK_JMQpoNguw@Km)?tht9g3s?O{
    ILXKZbu%mrn-Pm(BFu@uva}z#P-D&m1SX9gN^dyElr(qN+(KvuPXxNSpTUJ#J;xd6C+(N~Fq9_i?1~t@et3K-nyu_f76)gdbAzA<8 zW&SI&7GDbpTGuks8j=V&r5!I*eNZ#HaQ3+7SnmUf<){grkA-n8DxnCB!GhXAb#bs6 zT_2{mvfAJH(dg2P2gi=-!cvNzYXboRzW+?a8%V*AO$79aNM4dTbTduy6JAKI`sGa# z>Ead?ZBv&9&0e*rs5o@iM68(}2)S`!$vtR?AkTby)5&*l{Z-=N!14zZzNDT^_jjU>rR|1xyz);$|Q z1gPlD97s3GgiRyIm^j(^L@Fg1Nx$nLFfib=gZ|(D+TZ3MOIU(tsDK>SqN+ zU~NiLxeBfU&pt7?lIkEQW9`7uA;_Xd;GLB0ITPf;%{SkFeZY^v#K0CV6pWEk>e>D* zL~No>8G~pyD`c-rir#;6OW!9C`h3)DbM0#1tN~Wv_)W#!!rRE|GEdUEX7~jQ6W0ul zy0Wm5vgZ$T0J|)aIX=2XjTW!?W55&}!H5WqjxbGB)E#RrEeu=nkqBHJ9<7UIcQy^j zeu08`Y0Ms@cpEpCY}>G^U+JUKHMkP8xVbv8OkC)ix1m8&gfcZQ$gto-q36#X*QUb10&oWEzq`AG%m;Iil2HoaOGDE19N z9k^LSFzz-WC;>e`0HLsf?de)(50n}<06L{4oVp<)=|nKBTRRMeH3evZK|tU_q_PU< z0ujp*8Wyqh0uynIuKh&7B4`7zcASeOhIqNfCl$g_H8J9N#o3}6C?3$NoehHGoT+6( zSlIBXlM$`OCU|-jjRz8l>1D!b>e0g|8u^1q0NNZ;EKe>Vw4jp)$pA!{$eWZ=oZ{`c zao4BGdwZYy$&dc^PyV#d{?s>0!2_z$>oKjFPtDCvpFKa^-qdy3X7=_-C>5j-tX>WE z7MHy~8tU~&v$Mmw`O*B+aB=BCZ&>^Kk42Ptjr6~gdTK}^o&4I`)creqd}k|nZOp<< zs#me1=n_@P)h9=F9k1CMSu&7~E+lG=Rcss@ zIE%q3W$O+4{cnH&ThBJ1&Z`i9L9H@nC9rsKWUa|-ZkCVK>~9k4C6aU`Xhe1Oo#OIU zmYpdz6Ot0F0Y$G6NF1h=fDYT>dS~ZmOaKI!aPN?_#&MvPd3G*B>Ju&7IEpZV%K~wM zGc9UiqFooq(s8DeOJ^qH)a4%!Y(Ln7=rFid0C!v%+e-?tv^5Dy7^=<#J&bImFM*wd zRE3s(B_>(HmDAKB}&ae5hb?V7IrZ5^9hIkriZOd}RX5;MMKqsg3a ze)N`Ee7Qd6og4G|&AyjEw8Ikv@l1iR!gUmHuxw$~ z>GVcm145BDriMu~hZ0dRp}|4PX-qi6wv~;Q!C_^OsuVjPeqqWGi-<7I5L_ptEl}7E z57yS6q6idjG`kxu53 z+;WGPDN>cGlc)BlPNUX|XZmb&|6qEb-wgIz#0gxzX43al`Z~AY=L=pf3q$y$$~wcy zhZpgZFb9F&BHX;TyR$vi&y_M+R)$1?A#R|?%qCuRG6;1Y5xU^d@#DH&BO*0L67M#u zw0z7tgbdKiST~+~)iwTj$!4hmRFD{`>l|!d|2JU^F?YTSEi8SowY9tb&F}q@t`r%D zaPqQ+8#Yw}y$qNeETXmDWR4D;g7D<3%fQ`SzNQy}&~aj(nTEw@Hf9C7z;Sdry-G|P z0*EJrXo$Vdt7DT1p-nPwMJw~{h~<1(D1K}Sq>&+OgQRV8#1j+K=&IXf&H<)aSgXwB zMrff&ZD`lqLI-wD{4&a1iJNG4cjiuzh6npMu0I$<2v?>Cgc3ZQCLxL0H3ABQ#yO*UBADq{tI9#0NRP-^>48rzq3k~p2pN3WdnsF3wXL7-b81gxNuW)vXPLyV2e z$0jiV$*fyyrx;>~J*6$+ij}csz)%Lw>%qa^fvyy#CwZ2iT?+;?h;~DD6j2~_2%+X6 zsc(kK%8@XwV{W8}?}HaFU;LHN{lZZHi0=6yl`&AF7}jn=;{n_UqCNuBYmQk>?Gi!a zO~|U1+@P-eGH1_Xj=6;adPp@ zS^oyAqu``F!6`4?I6@)~5eg!`gSun$%x8j?ogp;8gmbm+1-1!z?udXyH#c1kzW@5Q zA6~t6wXf$xbFqUwY+`3NzCz5A1zkeMauAIg825!Ooqjd!$HzoAc;nrOn*6pN#ATK89YgxY;W* zN%0b{O`@?4;3g1Xo0lh6L5>q!AB|pdoskio22d^DxLbymMY4g3(0DiN=5>=OCax}# zePdn0+l7+M0~O58HW+x}>66y|;iU^Fu3S0G&j(ExH8yYzqSBkimVs-(Y5K7Gr`bt9^cxj)Gbq<$W zG%V>Oh`9&IXi7VcEYvKw9lBx)52>21&C&eHD6W&FbLX=jV$5a1g@&l z;Z-BOCOWb-ck%qOs+V>+;Zr>gTBDq5$%XpH#zLeC28m=r92`8gawZYo5K@H@!$2({ z*>hpwfA_85+tq(~C4w!=1rq!zoX%Mq^kYsmWYB^pJKTRCf_Fjf^VD0J0=BBLwOo?@*45wbWa{BV+(|Va_Fk2^K#{%3#FrZ>E1M{T> zaY)IvqNCSh&z{a)dux7=A4V4OqABh)AVdf{h&Xt(m#LkcCr8|a}X7U8YDFV zYl!l_K&rRCh-O;;m=@(>lE@$QDFveknjgqUh z;zvkF;=7B{!qV&umrvyT6!S86OjIwz($oP*Bi$Mv@-B+w)XFjm#|V(e&9#*{nYJl$ z6i3pF$C~8y>u{hG*)h$AtRO)f4wvSSEY2_S%&F!$q6#bBF{G}rpPqU9 z=IfmDiriFe?rdcehQ-qs80yxEx=yssM!rF8pkwve+g!;MkqX&Gbzb)O%CIlVjzO#D zaSlQvFo)gE5LyKlLmJf5Ybz{)n`QZ<8b^qgp)f6erF& z3|xp7Epgg}kE22>K?wp<8eBp_y@sU|35XN~N+r=YhWT%1iq6VEq0QQ`xv4 z6{Fl?hA39@Zh!7%R8t0Gvvwx3ITw9;~e#@T-@8d^QFu2Xsi8szJgi9!0B{&kKvQ zFI+h_)1Rp~9yT%)dgJDS`A2Cjw9|lZtxO9f72v>z19i~NI_N-JTa;28Po2?VF!;mo zd}HNlE(Q}O%`rweaF^$?Bd7S57%&97XT!FciRI?*=6ko_)(N8+q@@b!%Tn=KCq_W% zvPV1KBE&Wl4V+RWQ1k;;l%%U38Je5Mrq*zcBu|4loP&?iD^SHUXb>7u;!G%9ZN|j# zKD$b)LxKv#9UYd|sF>Vv^<0EnA$SnTSi~wI254)p(7KO+;^aEu!%)ppsh67LS;&Hb zg@urmRFhY3jC>!BUVZu8@e_-B_v#|C3UQG$k1W`0K$e^vqUV0jm7bmL2d_(o4p(5; z>DANvm6)6FFX+q?--M(<#G*lfLB<4YQIRw&cNJd7@-AEYFlkm@PaRvLk!^u!*I5Y9 zas*L(i=$`Gde2mPc17#@*(MH(1BtFCgyQcEdWfQifvg%`xg z#uNdjDU%e6b--WUqQ%2Ef;wkMPI$K9dtX?DL8>hkqW5%T_22*L@Aq})Q?T3dM0pbq zGu|l3;M|GxgPvyGD-3Po2T^)?a7ocS53Vmi)&*kux(|M8yxvn(_hSbO*o+&js9xGQ ze9WR9TVved=+l5CIa>H5iWzhUdg`tA_n2%Svc&S-CH8;n4>Yy+a5X6Y3|DaiW(z|zOHs=V$F6Cz1 z9PMN`$e3afF>#w1#xbrE!$m%d=W0*`NwBXS{)J7CVL8|*0!yvMbD~oU7eD>bcfYfx z#uSj4^n)Nm>BkNs`k?I&WOB*b0s^RY7_1Ac7Eb!yLm#sg2oV;ZO|J=-bZ1N?O2xYsKDp zZ~w{T15RTzq*KA3W1(@;nA|+HSiYR;G`}#oa^)7;o-1|JTSX*ah5i>hiwu=&#!~oZ~x%iH}7B9XSSeLlR7va%hydYE}ebJ z@7z-@Y|@glN$NzY-uJKm`R@K!Q+i*M-zI`Wb>7Z~syOPTn@ya|SSguqR33Yj>S%BO zW`-lNTo#qh;T)nMWi5bs+7i#U`f<#RfWkcx1g@I|{8^1mjjekbG9XHBz`(MabJEBR z9aaOhw!;W;8apsN(k6w}LN`1`kdQZ}@l09qp+c0$rLhv2L{WBdC$F%y#xZ2?P$*$x zidrax4}JJzPp@Alk}z3}OwbVc@IHW_2Z4Q4F>rVeC-wA3VYGaA@N`8NF+v5eK-(?W z#Uul5?dW~=&D3}Zny0$3uCb(4z-1&j=3(UoacriAG=YQ8Qczmv>cqu{W*6_j+=~dqE!Z= zDhvl9YvLF=HE?W8ys&g;<=GQQKlQVp*wQs|bS@BhE^H7rf(OmHB}^w1a2KiB*|s3; zsPlim_T|qnEzHUoYrK79H0h;Lm#sTZslD<#Y)ut(OLLrNT~w(#4U3Aiy*2gjo4dLQ zDDhC?OHj73K1)!>J}&iNURbe$i)_SX?1Ei@%YX=a$IxfYK{^4)sY7LC>lZ`W}e9B30-u02r<#ShbfegLK2Tr%# zA;{e$ol&~^`g`B=1%)KD)O&9Lwe18KqI#*Du*_UXn5g}jzoH-w3R-7sOh@>@#^I<& zkP=<}R>s7LQ*g%s@h!eC3_O#kBZI4sF`$tIK<8#S^c^BSCq5Y|=p+3QBeJr|AU8llRMtR-7F}I^D^b$paX6_O-Fe@k~}k@f!t;a8V6liw{<_67TfoCWC1M2^jHsZAgK2>fk+yE^37<7xvM8f6m|)?7q4pqx z?IM|qV=znHoQ;w238Xt7=F!IyN+)Ohz^y{S(MJTdn07}ma;P8>?+T`!a~CTDpflj; z%U}5Uf$TY}22jTlfV*sIZR#>Y;5*xxq&ONUJ+#xh+Wy{auUz@k7k*h6AdZ81*|zeL zVZhOk!8~Y^B#;uAT`lRc1CEWVljugWA#r_@@y^@3PgiyN8q^c4dN}0P;>Vj=(&IPZZZ@j22E@y-#dTsP(&ADz>Y$L!0=YVChz8w0F%KXX zQ~LD(Pk;0u-_n2o>g9iPwJDBN8zF$~h6g(T=i=!X^pDXFh)IGrW|-=uq-%HIx%>Er zKL6~w zheRJJpM%;-Xn?oe=<=tG$hKN~gbH09^;*rkWcj5_r!y#uxBvh^07*naRP=k3AYe^I zOwGyG`p0=K0=-qp?``8As+kPKTg3mCj`V-RcW?3^HORdQm_gYT4=L3^YDNZ<*h>hj ziW0d~!BqD^)J}Db$Vj9Rqp{sMs(OI3PCFEjO{9d@R!MmxlZUP8Qc=lxz=V))b`O=< zNlFaXvAGb^&C2%M^ST7#b*bNtJnxMu+ z2j7Y5H;8t2f9_L1@u{Er#Ln)%%{c?dxi~v)4V_N5p=6v0D3p8S*iKcy`1oJ_mtQ-7 z;)vc}D49e~ZZ;PQ(xT$IIWG)Qh=3z8eVDtffTX-ACpZ>umyX17^;VwKQ>!bZw_o4Y z)lI06St>_$=^NZuNnAoiBByVCj~!ol@yaP(su$znu_Z9pi6Uz$8HJD*OSDWqEjt;j zV;n=YVKYGK$o7#5w+Y5_^&&)VJ6*7AfBXOWy{{qg>2FEkRW`mK8M0@cm6X!@34jVE?c@^PVH#zdJdSGT6sKJUG3`=ArrC@ESq()%DA+` z(AZ@;J@TT85TSovgXSdh54Z8IwCs5J06BU=Xx1^ngZ8mk{PhFD9WOv+EnA8*oC z1xkktC=^pSAf2Fg#*tLqp|3RJV;ADdHbF{JkZ~>VGKxj#&|D`SSqOncs|hNl9~7D) zdy*6z8PCrz{n!8K@9AQ+eEW~U#lhgvgpwYW!_mi0g^|=;wR08NaRrg>ot@A9{HK2P zD}U=i?+_aejMN88o5m*qph)H$7DlU0B74wSIX7nlDK$K`BYy5lQ~jB#*T28By?Ky1 z!Gu=X$qgb*%s5{O^f}3?Ge>mJ55JU&LA>DLKuutAQ)&;@OtYM#)UdkR1)#>3hqWYf zXrvg)GKDe_(1vGk$)G>?&F}unkKX-0FaKL>CLYVK#yIJpv0uIXSM&m3F9gX5nG4qN zWvo~I51!n6{n~f+?*f6eMY`lR(W{YY62u^-Z9B=OqarwpOe;19XyRy^%x73R!3HT< z)J9j`D++k(mx~WBgE??)9I%8bV<|zbQVUi9Za|U0Bgd7A`BVg$wP4sl$Npp?(-1Hr zo01*$iH%_yr-P7Q+k04>&c)ZdbtUm_IL2+Mp>3*Qv9dTAYouLn=F2F-)A#Sp^84QLX|n~}iAE?JQ!0>B zVUIM7Izp7P_09xhByTUr;sc%>1!iPJx@&KSXiP8?2^gseo-5UjuB=+@0wxWVFo1&( zXk-LGb=wwfVjuK+IDoIin}o>_fP(4I z@i0&a2mOhsn$B(C-TC}4{v)SVi!925%RU@IbEqi>${)jXu$W5?wvrI%$m1PB!z5jd)=# z7kh?*#|q}un>&|jJ(v91n}70bYn2lLC5J$YExxW!mXxuxN#b#@<*{bC<4@^H$r$y$H>lM=WMt^N(z;g?ru`Pbu$wh{A zCP-T>a2ZR*TYo$nXaD594OcY!>(DifI#9XJn1NF@DsJs?P6e?=IAM| zpDI|5Xv@~cBUq6 zQME(M$4-*y)@4>5a1E0D8LHu6aGY8!Yc%eZj>aSyA9eM8VAs5&(_Jb0#*lb45_P}T zTahFn1L|CjL5FNFsOk?QV0zT7D;WL_0X*Fs;#kuN@!6~W$0|5_(U}TzED$OH-Rft@ zaRDXWnBSPi23K0xXs0tiPMsX0o!|CbA z59UU?*m_HtbSfhmNE*g+RUdLV$E3xGD++tai6}k+m2d;h(OyoWE-Jj<;RS9 zL$)yJeA1y-?oFs<(_}y=m9Yd-ytEF+cqN?>Fh%XrEg5;+&XF1Mww0NKh%mQIl5qd^K!oj4GZoX&R5{$wl48~21 z-uQ4AlwKk02U7Y|`oG`D4|U;BMd6bi(A3L(BYeaI$yJ;saw%W^}H#7TZZ~XCtCwKiqj+b+e zW=xq(OcD;QB?3fAlN_9^#0n344Lv!afigiA3|Yj+Y&?`N7>*u20y5PdR9w``fYKI< zQ^LK8WQAu;Q|R)xb7Gn+@r-F_=TKw#)2*g{Ae+4xd2{HdQ(8X)B)US#D>NIB_g?Gj zX?6OC%^)A!+CthTgRmh|3Zz&TZktjKC3jvnww|GBW8M*a@rBb1OS--r{}x{^SnHgL z>A5+b0^|X^x_JUXm~5F8J@9XB%shLh%QK=>e2QZli3^z7I~6i9JXR8?^fo{sNitAR zcDzlM(7e%75d)x;Ng|+W2r)IdE$rh}U~~DYn9U6+1L0*2Fhnf$q{z|>d4dPK3)rlU z*#gbV=90qGb36*p3*f>2D0B1T9UPfmx%E|hk#414b=Zir(8Bx+kZod~A& zN`3D$pZe+l_B0c)g=$qtYM;8CjfA&v* z?aQA%*xbs*rMS+irY`)$5>`AWD5V%m5RSx-($#?hhk(Qt8%Ikll-ik@C$xAY^brVTs9;c#t$qo{MeQOT!N2} zS=!!)4UWBxnW~%C7b7Cp;2=%J}pa1T!KU`bRrQhJH7OpbEOav?j-xD~~ z`nP{WOCBWl!&(P3 zs?3_J=SBkrL4pts3W5nz6csW_lQsnpv>BpJ7`(Cw9zP$IGz1LoQIOpCs z-`Dv>6jIqGEQ(T2*h@?}9l1r`*b_($2o6h%<#&1?dGu^dV~v!TO(*6%fSP{3`j zP!N0UWl{?JAv*HP4AWDK3lD6BO{uIm3RkWQ=!7Uq*>)t*A?79^w@^e#U*Xuw^WgLe z$KpV7V7RvQGe+hnP;ND$2u;a>MF)?m5H)bDqjAbFH&{_irMvKx{k^~c(;xo$zx>~x zdi5X5pIwHVsIBP;tn59!N zBjIFgb!L|k3}wYpA+IB-1=J27M5!%fr=*Prx`OoIJli|m({9*l0(Ga|a*`%s5?($-1Zrott@Wo2tcI1IC$w5{ZjurK8*3Q^nL0 zn}Z;53ow6QzIsoo8;`y`pb{5g$#g>3CbAsQ_{r4|W7bL&u>$djgR(#&KajZHDH? z3?cNoxLef1pJuB2V0%25Tuq+mp& zMuj|IR^X3C1yaS)CxSNCmd>1A(}%*!+6a9hMBf9TOB(S3ZTb*m9(lZI%bMERoah~b zG7^YDVo^`_4us4w&D7Xh14nA8B>)-%YzT?nYY=oSoFqcWRF#qik;kz*>WRRX$bpi9 zIiU7{cwqB!WL;+=X}|_JSc`%pdfCQDNaO+uk;jCNldv7x3tq&C0y|#%bkvbfQF&a+#+QP?7VB9UjvPtYXq z(cy++GDD0f=EHW55}3xt$ViA7*i&(uo4T35+?qZX(8`j0gs>ZUAVLnP#P&o8C?Z!l zHqur|X^gj$i~vdzp)nZi2G}=HwL}{(+-4Kh6`Q(x<&J(9SRcP929k!lXzc-GkJ$t> z3W9T}wq8S6y6_yVY~c|AmVqu8dglJ-?(va6sSShDou1Vv-~1~O5hifi^^cH%ogc)^G1P-G`601;p%8ES^6Q~_)Q>5stn-CS17+Gm3*jD3+p*6`c zVT+}VMxFF!ix-=8rm3nDD!enp0E7vUfSS-RNF45;Ut9V={@4HIzxszi`ccvsIDaiO#iyJVE=>%*Jn>}{M=7}_+!8Ppa0MgysLk7e4^ibiTlKW3;%ac z@z}DL60O%1sEWp7962~6EMgM_?NSS>Rs_<(t8?7c;Od+G?>@gjF{PC#$NqEVcn%*g zeCqN(Q)kbvtSrxqg$rf1>Gl*jPLtcMqj8Yl$eE~Z03k7?IL1}X1SdH$$EcVrAv-^4b`@vlULezO{)q!flDVwaVr3>Px(!LHNfTfS4qi7ed8jBSV>8(x;oByLNL|GO zN-9ieR302xtSV+x;y`$rcJ-0GRQA`!6M43T?`&SUu)!O%5AalYLl)WM zZp4#gjRzCQ1O)RBn{Ck1mru>Ewt7Ekes=2OrH$8Lds~nDVIA~!(JQS>9S>>XY!z!$ zH~@l&+%s(2{`k)J)Ts^qU`D*)wnD*J)pZgWdEOB^YHcgR$};MBwlliIKmgJ^dBKnX zEqB$B*=HOBv_GI~k``6E!y=+-HdzNTfL&OYCcBthMH1l~JywWH;!s6RxQQ9xq8VjD z1%$BhyYQmpK9#WaN)@gEzoMNgDpKHEq?_i&zd9MPYv#G4!-*A zzLL;=mJ}4wg%Xpiq&GZuQH1fcXO=cLmh>erKVXs0lSZ*q)A+^KS$P&(7;uIxF(L=a z))p3kVcD1hNp(ym?6}@DAG~?x-qMnuZt0B&uGOgeITWz*Ld<5-Z}~p|z327OPd!f8 zd$|tR)v<3IxcWGhwfzpp^uu27f8v7|HXiOB>#K0}B5k4~UOoJuo_X=gcmDd@PwO3p zdg$idsApFUGq$YB5C=}pRdp}ZsHEe&Y&}H@2@*H^mA(oqE&>mojH{-gj4W$oYL@U) zX2GNewWdcVLGre`;=4%gQT~AznKTMPyi`^@;=xPeqE};^w4sS4F_faD)68lgYgH_r zV)6{fQom@|zk2P?=`*W*@xh64v-xO&)ty%viN0}*0aB)foLxwX2K#&5bC`yRQo3XVfn+Ac7EA3) z;+p0F#jMtVLx>^X2!K%$no3~PAd8^whA6wLRh527Ff1}wf*PI`Vi*%*jS2^*1#W{9 zcsdXa^YH+)E=SW!60YVN+ykxBNEE59=xv0G!V*GQ0(QR;3fRY{X8}9OYer-otAvTl z`5Hpxs3|jV2^=5kG5!-5&OGs7{_HP(^k)zD_I7r*^rDd5&(F=SEU(PX&EZI&E7VuL z`g#QeW9%It9rZjWJ3OKD-a&gdW#eqX>A&FGsnv|RYmIEx(8P#d1)azh&(ZPNSN>{$ zcdO6i8Co2Kk&hGT#VP%i`uR zh$9t>9-zV0_{`t^z|ZK(n=MRTb6{G1W$$SB_n!H!zQM z6F5GCj#pyEQyrd~i_)J^~l{e1-_Ho*uN(7Wt+^ngpS{?;eF zZDNc+1=z*t`N1jS#Y8*fa9Ej`q0YP}3#9IL_^zq zZ`0TsM#|Eg`s8^0_*hpGZ3Hs2KLfK#Og6!+vPw>-BBa8H28YE%mX(~37vWr&c=sx4 zwm7a9Cj^2ubSN0eu0o|)Loa}$a*2w|{Fzy-RJp24DBCC@C5uFtC>;=d2?Eb8Mq(o- z#_mKD3r{237*t$C#7MzNDl0*Ai;0_AlUxaShgOkjY1l=mAr=ZR=14S>NTkz~3{p74 zY$tu`%wDO4Epb9bGe9N`tN!kx2w{8*()gt}lU>USv(%G0Lff*lD-NYG{dDl)8(-_a z^5Ws-6bqXfbb30`EBKYQxs8qGr6o@NJP|MnTYzzFoFvl9p!o))=E<(EBVuN$3D%NV zve~Dqo_o{*76P!|Q@?k2|JIEi0rm63Iqi^&G0x5F#Br#nZ*KnS7ykUu{_2lrXXac1 zAf7DPs;j+6wj=@p=4Tdv_QN05$9}xHjRnR?TAlQtfAy7eL5@fWsYX&JTLN6f>s7XG6ujhlW zzy5Ym3dsJ1vNaKV8J2*N5OLv%lW{7et(OW$F#tjxl13tc0hw->F0Ly8T>_~6u$;X| zR}hR{b`}Xl>>L&YhuI%L(eHlK4E9bQ>;#dI1(Vt}1cYZ>o5+Hk&>~jDim57O6L(d} z3N$rG64t(%wpn!xgDPO5;>1OHXMiV$Xz4-bF0#tAxhJxGw}>9iL@~f9WOR~Edia)O z!U_Phmaz8rFEVw#JW&yH*qa~QRQ#T0$L++b)QyKQ(vq$E#3`tJ5Q3vXgf!rc=<5}E z4O9lNAuUo){Dg$D?HflV+BPL!HO0|6)=)g=rMTtY>NvKuFo5lb!%iL_6kLvV4%fo&@@}~fbfJxOKJn1Bm z{NR^df^tCIXOMP=^oXc73WscjCMT&fji_OzVrB_}?tHg*4z9nosX+ADU-wD5KQgyW zl}@}?ss{rY_P zN5alV7yP|(|E*8{#c!VIx^K|x59aVVIkpSMnK3UF)*UgMP579#LeFLIF|{9m$|edacl*}pk*kvEQL~I3*Ka8g9Z*d zZqWvizR<*+nFj+ic1|OPE=>Y7KWr|e;f`-g3Yq9Tez$IKufBcv(uH+>B@@0FR}TXT z*a1gMBRPd*g@p`SbF!4xAcd;OIO+yhKq*(2=1-kk+S%RLH$h^GqZl!!7b9YqKU1(* zr;+ImY<(5f$O_J?>KCmiMe`P;2xF2eQcdEL7w;N*A>X+ZMjlg@M1=wDjx#YkNa%># zp5vhwZ9ExDeY$)g4$xw|W(kF%95QR6bT?b2*(V8<6(-~%#8lC;f{3lk&7Oe5ho*Xxm?HZMok0W0rdhc|+(U_2I?EjhUO4{N*L%8vq0ad_vFg+Ax`@AC>t9~c zE1J5JGY{)&@QJ6mI~NXzO#=7Oc#yHdb(b&{4-SYobswU_;9#v)d37Sz$9}H9dC%W8 z9;~e`>b(lyhp-bl6D!lf5Oe)F`;Dzz|McVkZ1-SGea{#2S{VdtD3)~f7mTjRZw{GY&pqvrZ1QD?*7}`q_YT%T+*zi(}hJyAV zBZp3v9aCzWuEPxkkRvk6y^2wG!-eSSvT=d2!?LYfnM*^Q)XvUpA~IoGQ<$^1lOW@$ z!V#j1y10`KeoR`fvm-A&z(%CnbqedK-o)c~*-m6;hj!vrC_Rxo-#hHIZSTDew~!N3?2*ed?v| zZkNRaoz9st#EqYDRrDTc6T9Xn;{+vqO(rn{ZM2M-&SC4)pteQnU7Wg$%2AXhi`+G2 zoB&!@b{!=ui&auH69|rN0npvzZ0OJ#V~t&rM$qLB8k3cG$6kEOsQgq=I5(~fGUnzd zO)G=oU~6rdOU{$1gvyeY3)R?0;H~p|kx&owan+R;yYf+a2;LmoqXrL7ODHk&hXU-# zKAaqEcGmgFh2w$A-0l#AR6aPoC$bVjr+2#8X5Y~vGqM|=PDH~;r5Z@)G>?U#k2mTw-x(Qu^3iG^Jg zNUYE4{%1e&-<(=Jt@r3{Vp>qT6Ve-wW54qk|L(;%zNuG%cybfAMhD1$l&xGKau%kr zFT?Dz(i@dp4pz!=LQP~|a;Ytrl@%B&HF z{!(}VW^>KunK(5&=8D1tx)qUEQv!|u_!Yv#$nZe~-j}9!0Xi}O8R|DvHK0BU^7y#_ z(o0w0_d}1(&+4a?>^Q81fO}H30_CtlWpT)DqjBO8cYJ`7jpqV3bt#6@US6DA-&hv2 zGm1+T8iTS~d0={SSP@gx__z=pkj!vw(_kQM|7K0(5*h8FA!BS|^w60Ah4W)bCsDZ) z6*KbG-6R6yl4#0M5|2v(Wn3cAK#Kz-IBX%b0j{~FF1@s#1{)C$w#@{g)36qY{*S1@ z4#T+0Bi0OH!i2h;!2uNEh>z4u2B??|vXqq|`m3lRNUe=xSh-<~TBP1*`ouW00Pr+6B@d$!{@>Orbl(k-AQ61vJ+H4FhiqmwJW`^0te${Tl%^qrfD@ss0|wbi9*f8)}jP(bmg^4jaU!b$(=pZ&Xk z^0n`Md2VJdKiSrT5+N;3rqfBMIM;3GYKGgCy8IT&ZH&l3&){nNkw z#czLh#y=yBNdm=v7cry^QafYtQXc3OxY@M5*)-^yNC=d`keP$>RyA=Efc*#OwNfM? zlV8;vmUQVT5Xi%ee8jhlYNa!AK8b>8D4R{yV_9RU=s1?JVE~y#=?`U5)Hvsy#>P=4 zBip%JIU?I}LwwN39qu(y^D_W@(pXQ>_V;qk*3}WE2$Bb=DG!hcmMG(z6B=4%Bn467yRV6#KxkW7&4MJWXTw5Fp;OT;&zD?O_ zU}FRxx=QhhFTxNjG1%_G&`pF{5f*VbA|5k)S19@l6RQ9{FplY>Q&x0caOY)ltrunK zn5?GeK-IJlX$ibz<4%jq(B`ELnzHR9uLxTr7KSTFhx9-wlZ!^U)+dm3L(&|2WFsLl zvvJLj3=oO3SP(StH48C{*LH|XW?rU(j!i5{MWYm#K0B&MpZcj4U#TH8E2ZKWP#rd= zXig>Jm1>&4g4Wxg*wy8y?oZslIr-S5y3{f6JTVn|c+Bq|nF%h(A#sb#)ac_R*_Cj( zv)(hCqQr5g+Qu%EqpAAfLC%TW;-I{hNZ;Vy>s`5W_vomvFIDR~$;|BJsZ)!7KO)>D zPS3`?5HRTfi{JWn{o1=ebgLKfJ1_VE4_sP$E?N9WZANb2u4uf_WEsC!6IKXMnwGJ^ZOO6i!U6d(1HP>GzR6W$;RFBnE zCU!sKtaVLisC#B`br~iK594?=tkxG!%@p42-cXa+PT8ESrQVCW8BrKiuoV}nR; znyirBt{GAoaT5{X`Z5(yn~~eYhRS~ zXp~qYhX}v^^;)zOb;wbGVJ^JT5%JfV+DwMUNss^LRBBwnZ3HzL@hAmYSISUMh_`Oc z?rn}OES=2HpUlqpXXdzm1DBlO!EauaRx~Vpoh46BCUmWYqXRuKnmjm|IM|=;?dw4_ z&Sv@Lk_pbFj65fV<~-RDR(4LY(=ah4Ydhevk{+p|cf=T*EA)aDbA;OBz=Q04{9`q2 zV%yz4yn5}vPR)GBUg*JKeSKLk0r}h1ju5}Zpn!7KjeqsY|Lc!G_j~-Hf?uM+1wcpD ziak+PXe)c)e{_v4w49)9eR2q&4 zDfyA1cvJ(|H%49M&{v~yp^Ay@0H^W73OBC|>IjAwm)+1ZqvW!s7;jN&mML?Y*{A8) zh}?1)%kh_2oaGO51B=IEt0m{J5tlcx(MVx7ZAT+F8+HgQ;95SBAT|hgHy2(~*9*y% zPVk(Ls{{jtgr%K(93fefRz=Kj1NigA1rplvb>88z<6ysL)}oTWT4G}s{-Yu{$XU4fD+TMdYzdBNDJCTpMxQs)tn((4s{ z5cHWLSJ(EOJf!k;I10hw%|y_N7ZD05(=%s}U%5GbXIoz|5OSbzq3Q(*eZy%&+ev-R z6_g&C9371xAC2pi1^r{)2SB2Ke`rOE4O-{`*ET&+?s;yk)TZ*3yOtJb5>s?$Ik$M| z!Vp}G95=QYa)sIe^6iRTW|B?t{hn)A^{#K9FXEb6uT!m`THxvvYOX5`I{x)3AH5hn z*8i8E_>JHD%TMa458eq}%2eT8u{15*7CoVkI>-l@X77C-wd+F!n zKk=!LfBAb)PfzJ%+9=pU!)kCzET(WBdDmfXQM9r)ThX{q1R|MYOxajM7~rUyxm+Q+ zO)jB#-^GguCu%#Nsyln5O={7QS+ZhEgfeSN$sx@+AdHz)jGBBB3CMIAskz-Tm^ zhIgK5D&GQ^|M1r!sw_GB=EjRU{_?GHa48>&^K67d8t=Ff?M6c>_q8}UA zcgvIuPf&m+#aIdEn<*T$G1SvjPck;aLp7;nlghXtE}3AuY0RQ=Dnhk#qKQLcSuBBS zOLGcd7a5BsZk=%u)|dj-y?c9azrDpHeXkLn;zi3PD5i7?3NvzbI|6J) z{Xd`nH!r{WEnW2!<8Y8wTaM{Rj?~V&d}vP&>0zPauu~VdCt-&B!$6 z%m$fqQ<_@AVryLG=?N9sHI^ctgs~Hkn$~s{h(MfoG)V9fa@ncZB8)D%;L#Xu-38eS zZjNlo4+{G;ls-((T&9^OR4pA7R+Z`{ph~nQW^P>>Vt=pq-S1v`;>mMoPp|Oq7QUJ@ zVX98}c4;t6V(b+Nak!_QBV=wJvOVb8!Tf0!Iylj%vPwKQaeN zFn$4;IyI;QNf(eqt3Ycq5(f#J0e`ikOcmNhJFKfvUiqU|5;<699k-YYFq{mmoGq2X z)FA-DIrj8jmtpOr107SqCeqka1A;0HShW_#un#KCDL#`VNh4R^-P)paLkL;+7GY-e zu!_iq=tzvKbi$Z;3#KB&IoR1bzJI^JvpaUAAN=HW(mK6I~-UQW-9FU(J@ zERQcP@YzhEnA$46Of+mJyk>Le-0{xlo`!dmsD-z44o~zhaxv6N>Tiue|i^??3Z@-`Tv$Fa0tFP&y>Yv4_fAf(a+oHCc9r z7Y9;Onc&({U|pdg8n#3(5a~bAY>RU`@ts)k?;s2(%+Ai}xHl#UZEF;yJ=MGvKfoak zBLX8q@}+42R$__Vb<8B?#ZE2wHz8Cp%U0Y`;e|i9=)~)cV%^lH35>0Vz6z_HfyaO- z)S>ZwS6AzN`SSIh?Sn@iJ~OQkz99zTC~cHAVX>65Oe*e&hpu|!W}Cpss7fK3T@yYC z{loqKy?c5pFtM^SvA(XK76R`;jG%7{Nx8`M zBk$_J_R{3Ro<73K3mM|zAr3wb#7icGpgo{N;TgH%+(HzRfOl4iJ(Sc6jVpWw6%IX4 zCP1&W_8v2?W2^fj4?K#;rlNkG*Eos_C*$L)-}SdQceZsdW+6+Zqu62e&zxCi-AJS` zT|b9Q?z+#Iou0jP=HjbYU();9j^4rGfJpQQA+j_js`o#5UG5iu^1uC=5B(QMJw1&A zpr>bg;D2}P_8)!W-+$@bPwNg^ul#T??kHWO91`Mztrb+JRdBojcC2LOVRq^}9)dvS zKL#GAlYxPBaYCaCDJrhul(m|tBrXcop_xq?dQGTqM1;U4v<7V)SY*;q%glKdND9v#e&xJNu76rYqPkv}*?n7niPOtimceUn(ellK~^xM3NmkOUS2EVFyP4Wg2dvMPLN= z@{D-5xXgVM6_F9?$7o1mcmPDFv& z1EU41jwl>(MV-Y~3}hy2?+kTpH8iz7n9V%unK-kr0V8QzIq+rI9Q5u6K=KqwG6#(^ z^AfnlmI=}nAqt^Q1HeVIN*|zfO`V{MN79nBIFC<`-*|Jdx33Rc5|M+Hagu7eg~5IoE53kGxy=0TaD_WIB}*iWn%b zLjvgL9sXQT7cSk*tT}DXX*-3@&^AyMQE`|(Qo71P&WWB?1VNG)0t2^Zq5&YsfUE%K z*P*(*cl7q#oBDmU34Jz+SIj_AMqN)yS0b99(YL_Bl3GquCKN_rV;h@zCVNzw{42_7flYnWMua-C^lfxtZzdz25F$fBTtFedSMX z-M!|Id+IYkj+nT;%8JTa!q}2X*)t@*QaCwmsujGMNg7FqOGm;&GNYZXST*9$>T)6^ zkO&P{i4`E~m}?sY7trYREG>Fs@v+CGijFmG2G1Hu$>R%tTg8Bi*8K*CwrXJp8TaA9 z5(p7@EU-B>l<49uJ&z(93glW}1QUToqPIWOMg%-fZwpW84&a3suRQe7>GS8;^_*MZ zA*}gI2(a?+ksov5zJhc5@e4n7bs>1*VTjM{&RSN2-oDbKAcXoe3@LqvrHP)cB+*(|31G&=gjcSUG0EY>BXqVz zU>7*BSvCyfvN`r@h&OEu?jmXs3W+hxh@Bc1^6S2h5UL^fUl*=~_GJqO_6SJqq~uO^ zvUj#v&}H~YG_vmYCGSuoX3)G#UwS9t7# zp~g*4u=+^KoxA<*oyjw&$Jf@F0bhGl9R((P&Au*DFuyqV@RKL6y)b#CU!s&7D_}C6 zQ@~)@C_PF$SBJPV>ckc@N;8T1P%t+b#6Gr$;zSAq5dcs^DHLM^s_3E-g<~mZ^NroP zw|o2cjvk-sF*x=%(!GE#R&h?hIgxv4q5d#V};X zh>wnYYm29U<>&tKkG$(|>#@Hs7&kpRv%SClq)%8H205Wm4GUBYfe| z&|{pdsqfm78XEmME;=y)UUOqE2NqQU%8ALsiUi-b)kZDVk8!wNCkgD>cEAO-K?HW) zg<7nR%+w7`h{ceiIwZ(c)}&Sm1?MS7>zo~}V3;DzCKT1@oRwt|fR_|$l|^#&5T0b5 zC(AI<2qffQoMZXnqUeyTMWG!do2gQq^aq32-?(x2?)IaPo?F#Z0ez_0p$i2kI|{|l zJl<#+oyAgXR1Q*R1U$rG04Bp5UEK)D zf5HNhscv|}jwUH_c{EgkFr~DRGRB5Y^|fQD`%7KO>*mcZz3e06P)TR?U}k3W{DqZ; zxfx{-Lu)R9A+E2q$4AExpL=w6TE9xq^_k5b6FK*qcBJ}b?9tKD4?XsQfAn+z_~OPB zN5=>H{^*-Gu08+i*Pgrlu-BkdYB zAzPIMGz22XQCkllkQfF?x8}(;WwlxcFCAxEWEyuKh4Rqogz69kZ~!1900?cD5bMqZ zr`x=lIWdHrxVoidXK_Oiqiw_u@!C&96N-+UIi#VAo*LeYvq*&Io50qq51V&g#0d=< z<>B?xiOu_a-`;%v{JB$?E^X)o13Gszo8pCrVwi(Xu{E6ljtdRXxLr}9F%UUH2*Qq0 zC@qEC?2x*FHoK7e_VU};?_Yj#PyG*mXl+c_ji=Cg{Ll=AAY^MFYlD}1;@gkcc5lgh&A#v-Eiw>Ad{2UCweGB!WYQcW(ZkuHO* zwRQ4+klvuWb3?LYH zG&Fm3LAnSmYfA4c{T8V$u}Orrbt zjm{TK3ybf2_Yc2%^##4C8qdI-dbaB7zTvr7p8Nc_Kfiytdw8UuY14~V58|m#)Vr;cb0M1Z@a>&x4arUoOk+L(v`eO>b5iB8r&LEaX z;USdq1!$zjsVQv~%hqLCw0K+Ko~6m3|H!Z6G^x3=f|iG7tvxp-ARavr&<6#yLI0 zP6~nfF-){h${wxj0_s?uHohDqMKcH1CM_mQ5y+76S!N^^xx0~cBA|#Y7$RffG>1Ve zUi}5#Vlhx6HDYLy(|_=0gk)*Nok8MJ9}>i6SZay%5cIgO5C2GFwN7abm)tF7{pElW z$}wsypo0!;bIDoASXK$IYwMSzSJv?EMeHL(m=PEV|z9-Eobk4umDxnzzfydI}P zGnojW^vAyRh()A|mf;0iSHXqPk-jdk`@(KZ-a5tHpkQWTNx zrE+lc&sb32`<>X_-n;VVZ7lgfnik^t)i)1M1``iGHZKGg=G4aQ-gtSHJWf$plfYRr zOpk~lGBmZoI0PEoMY5>@Dx1InA_H|<;W=U3jESyn=rBz2<1AjVD1Y#lV@?Aqt*B9! z1MC^8C0YwA^7Nx^0HYlqhM6^6R#M_&=o}oe4Z?4ZM4cEyO-PWbIkHGQnIBVx}&}ps;*CZy zKBvQ#n%iJ}X|=zy);~NP9PDyV}s7)8RcGWLYStCr-@ zIuV;_6e#9R;XPA+bke_nZ};sRo4U5M)MBOv>FI$#A8{SOaA9?0W06-`F$*(X#?>}e zlh7_M5}E)2KmbWZK~!-VsDXaSWq$tYuYBe}*So-iSUW__1!Cpl62^)(xniS&qcQ@i zI}*BFOnWMB>(szZF+rfA$+d5FFxX-NiUEwnld}B8z#+h67BHAMQfbx4z>d=QsFAQX zgR&JssoaKUkmR_GZIL2uj%!(3#KvLpDAte^gduU%Dnx@LW7)W4*VWTbH^HT|8Vhk5 zV`I^qB}ffiujp%QAN0ZM4&Wod3aboSOV2b-#2$}&0;r(1$kcNA6xs3gvp=@8b8!34 zj()pUuQ~eJfN6*|g(6Vo8bz zok=Pg89S0}O6%l|VguiZbsZ3dS&rpQm{CYmR4~vQ0?2fhG%@y$qUz+Bh7^Xi+!^4^ z6Gx{=inSzh6FS)1EsHcU#1>t+yhwEipf7NZ^>=nS!Bn(%XrEOLnXq#BW9OKJO^hC* zx0uZANqhUzor-=qba@%Oc4{$`Hoi&P*9Aoer#6mfX8ZfQ6MV5r+&r#;O`9xK@!JUw z)N2myw>E(7NMqX>i6dG9!_L8JoUE({5&%#q&cm&v@!gLUdsi+7rV1mWejDNG1lj%$SYb+_elhhS}IXHWor0D<3_jlqim3;USsTfz1wI zEF&Y|VH*}>%${&Dj}*yM^*&j3D#3s=rm+8EiYAf0%%q}Df9o_y-!pW6aN{TPR~+r-r2f# z^)|fvNM|+OMd@+g_>H%E+xG{T9@kIK@gp-$9fCmBmnXl=;oLcp(uo6M+M6k^34Ewal$BDm}Kr!G*W7u8yK0l7ONGVZIJ;f)v*Qx;jRoF;jd%R35Fa z4HHL`m-tGsZDD!y`4;433XYVXV_jiwpDpgM+bN zuO;AxC2|1^oq!T}iU@_)9t|Xp(_qJirX%4dJOBm^9KOV1uNbB+LPK$E`@g&Gku zo*2`|I_~dme);(?`qx^lA{;SDZ@Sde){N=+A08oCGwd>ID$~2>RTwLT&pIM3^CBTy zmSjf*l^d?Y#1I>8-EA9aB%#957)5-et=X_QOYQ-Z*LBbUS# zZXD4!nAsFtK}=L0CKWUIl@E^uML;%4gK3!d0shL_`$7G0!LROd-=;SZ_LM-toHQ#`9`NoPNel+NI|sLJZS5cQ=H|Fg zx|3;v!Aa19<0=yn_e`#^i6FiO_ArG9@4tc062~uHzN#-Ox6qMuT=D9Z?gPed-#WVW z_Q|D3=jY~lf>Q1~)({g!<20mv6GjCXKy4*URSl+F?!#N_mVxIP8WCZo){<6`lD0^S z00(M7=|#$xN=cF%mTn%>*FRA-c_*QR8>9cjO$=-mNCC^A%Povzckrf)FfqdJVA;DB zuFHS|TJ}H;BO#HP4=kD6Ee|3l78m-vyJPxVDJ}MGU!Lr*HZAJxy_HRXgkLa|iEYrI zm|qyz$AMUZewC?$E1u4!vepxlmDQ8=(wo%+ujqgv&;j$AXFqeIU)i>jN${OtGPG$?wcG&WGR#N`kWgTN zR}#83z$hiOK4VN$539k$R%^_5Kx9gv7PLC1XDe0b#ZqG}wgt@YjBZd@qsPQnBL`?I zEQKO~2E^5&B+AW3KCOVNPav^7kA#2T%IRtyfUN-^&RZv6;2g_!S zw9!}ysMDrrkwBBb;Aa4_s42r%dVQ|IesDbY)VnUNt}f`CggQvq)))0l?mEBk@Am|i z6-!s>Hi@j}Flz@C<0?w!+ry{jjc?e1^L=* zH*eqE(&K%h!zg%Oo5D`fPmXQgJ-Yg4@7%??rDcEc)WioWWV#<8@lZ?}P%B(Q46XCQ&K^RH%4Z9Z3|g}Tli19xqYEcI!DC9# zRW^a0rsu`ol*DZ}+LDKB5O9^_fq2a@jEcITk5>`I5?OgMC693Ecwo5e)|o*l9oN@i zUefb`fiBx`k&A5?8g~ULuL)fWnX(8orW3jr8bdG9Nqs|jf%k{_(=x5q$img1hq7@( zc+)2v$Cg%3*3XpQDp?+Rz^B%136-GJJ9Z-0UWoC55#pa!-=O zF{(C_Vhff%W(=%tg|>?bjV==Ux)Bd{xTjYUW;mL=F=ZQ2SC<4M>yQ~#^vwWO9NHOB z{Mom61c=i}0e1lfr!ndxFIkiZmF6j6~Fst1ZBe#0Z20ukwg=*7j8lH zPHNo&V1T}v5_d@S_UgvQ%A=2*<&*0cYhBOIPOYC_(YwLhTl@7eycRoFJ}vWVjNrSw z2Y2pn3!~qmo|(?K%u~ejFbvW`*{e2Q2n5sxLgDnUPqy8^zx(Q|H=HMM&RbSx;}~rz z@7u?3zIwR2p=hUh3?&^mH>17AngnktySWR;&TcSBDKo68PBvb=orRFr%E06r(bHd{ z%_&v1PHpI>R=mA*l*Tqv2Wl7_PDV5Zm_7Y;N103FSyUdjOjKyv8j+!H1{om+pIVuc z9Gz8e)8P^h8rjjaDEo*z1UiwnaRwk`7IXcC)yfLrlh{8nz~misvu!NIh!?w;uyty3 z7`L#rA}7wA;julk!nSpmAsPtt{Gfv6+&H%|m|yCD<16?1*5Q$!py)jdy(8uiL{w~< z8(v6pHdMoO)G~Jk0QFC+2P?#(NAV~9gWj=T;n7PyddRO&)*bBYoodd?jy*hB87~{A zM90_Z(@XlSCx?}u*e>!bEPAjfT{c8C)A4I>6r5=s(M0P5Otv{1yhnVAl_*%?6-7VAu=P!YRjGHPH?Bb3S_Si_r5B63+U zz(*r&5csS!mVnAbhej|O7x-Ybt2=-!UgyHAIws_-s;1|ax+t{H_*!!m#z7<(eIHm) z3-mld*A2B;a6gvF(`(b{5Ye%`xwU`iuD+)}wy-cerJv9y9#13|e!zyM6KyVp2ns>s z7uX*cynOksgZ&-@XN#EZbHJD+4p8t%vq|dxx8w92Yw2-@mt~%lAvjOF9@5B~h@g0wySL2TMz{7cQP!UDNOA zskwBbX5M27M@xr_g#|wT!C;pr?8s0L^Ym8mXTS29<6|FU*g60fnykp8bCb{@$64pa z6$1Zel#*jd(d48m_%xI2L? zZC-*-O!$>GyuF&v<@=jSJV)KrUOeZ+rKL3}uZ(i^H_)qCayC(-D zUpQ@eyg^XaFi9Oja%`o~b*9f4kEw+0)MU;u2VO#UC{_fL+6qW6BMm~|EX&ALj!D7? z&^1DbTs!?k=!hx^GfAY7iloI>$1^$~CeRbEEh2J1VL)A6cv7FC@VL`|6)EO0nzyM9 zHk;99Xb=@rGUDHO-1C|#1_wJwEyQ^>WI>gQ^t}85pClC*{_0T~g%V}3< z)!Es}^Jks2(jEE?32{?B`&YlJiM^PQ`-3k&v-SGRdoy!-2}pN?Jf`6#(7i*gXPwz~ z@wJ)hiK*#nU3x*EHPxGBx)Xqz;_1qz`l{5VzG)ng855-(aEHNNhQP$& zBGS=lr1}JxCrTiF8l zLL<_U!v&a)Bk(e}&Ss+$S4Kc)TturTOX+aVKJRnI}dxCX< z>5BmYM4Iqe7rL<2KZ9Vl?JaT&O+^OxIgOfpDuM6Q9lWHyk z1a2H-H?ALCyK;E;!u0YAzfI9J&7gpg3|Yt^akM+{f*I3r+Uu6(lNb^)*kD@8n^!9^ z!;V3{E|msi@zxAsX?#8?QC5?2ynAd#jWr3yEIQUo zO-{39A0pPO(NRShbM+YxiOiCeh6Do-Ys&TS47V^?2;ZSRw)36be*1E2rQ=BqF4O!_hh)P!Rn~IHL8uaFIaY&$P5L-DS zPgG@cSLtg@vi!RUe@r%Yejw@|m_pm{kht+#qH;?*i`_709-y?k8`X?`-v6era!Eaq8@aS?;=+i_sf_44W4R&PC-k!xaNfnKTfyuxN@JiMPed z&^nKEWOhdI*ft%2b_6zy1k-RgqE1D}Os02!VUwcsslHma?y5iJ>jK4s*bsQpsT1;~ zMwuY7J{iZmxr)XH@g)hjE_MpTfuB&amqR*iN?->%K_n8#0YIm0-Fr{Y>uz98pW+|S zHw|@X08qBBI?f$TVr1kqjb6T7SeiO_ZsOcoo;>n!8GrsGCi|9+14f*VA_u~^$Bz2X zd}{NR7kBjoC-qq}DDamQ@vCkPU{_bCb$OF>wdv_8{kppP85${w!|*P50MsGUOg;At zh&c7@2k&MkPpvPWJ-@2YdJ2}}FgY6FM9ta2Ky-|?2d8Gfq!yl zps`6JBMZmspy6J^bl+)!HI+Aaj#rBl~(rY^Gs9+@eu z!Wm1X;k*w9d^ZGF28LIHu*N+$E+j*s-o!{bF@ul!QVdj7vg07JO18w1B zA5%Gw%=#Q0NYY{hq)AL74o7N2{Eq5l{N$``BaW z^l^Sx5+F?;=IkJ6c7cQR|M-~R5?DL6tk*^NcXe$-^p3(Vjg-VzSZ;40= zr3o93W66%PW@K$uxh#@}yo4iCjO>`LZEKjFgz=-H!VT4vS?Wk;Gyze-Rsbn#RGUjBt`XDRatm{!2i zA^7ATX$#TNYzT?~_@l8+;$HA2iN=_2DuD{g)HL3(NKR(Znynb=yW8OLV;L5ioglP@ z)3E`tFL$8jAZ_Q2OksdN=*o@2btGfmgxNc~1ZQdjs@9OBcK}W2ya4Zuiv_LYnx-hkFfN(MCX0|Ua>sN{p#xC%Iebg)}G#2Bekr( zSlep_9{I%h^*0Z$y?J!{-1N#Rp4bc6mM&d_BOj8jk}<}$mF$Nq_dA>mA+4cR6|B^X zLp+{9i!7$6#tPF8y~m79)O-;FEn}&ulqJ~!wzT69w1cVi;f}4rjldf0X)GyvEotnU z4zd5WB~VX4i?zfOJ=iki4!&VcF(i!BL=d-PAcXwaI`i=-f67j$`+@r4}_NgI(VIsUn{H#?U?f5h;*EV?n(x_is+~RWb?`!I{PP1 z>zpuSfxT0RM5!j0RszPR)3e*zIj&4)G!Lb_sUW%b;2(yNn1}o(CKi`w^&4LLA(w?k zJ?gLA1*;fw885yMwhv3p1fyH+5bBl_Fa7%SF37gEB~x+X+{Mp*?V0_9y?Dop^`nM$ z5(zy=mBxgFp!r0i7W3A{*jVLZncxF$L#f%RRs8nIQQ1HmUGcAPEH=@-yO?Bm{WP9V&1DfwalRcZq<8 z4E3SG&R~3bX{qELq&pnn!i;iBwxXI@{hle)XjT zy)Jb2;*6fKx4BC?fQHSZ;zCM@L+yjTreM0I2@y4PWBw_JZ3;T#%NC8>4h1Z4)*0Ig z=orPiQf3;f6^W0@5$;k+E8!^8(;H4SR1T^kL;^U?3@!r?+2CAJ5=dB#b(-N4!X{;C zxcZI8D-v1>ayJsQ&?OK_a`2SbxFEztA2v`4Q;}fKVk$v)I5Eb7GcX{|D+XQX@aC

    VDMI>`A+8fk@yR8)eYh8EK(5))i-DY>O%TV%DIJ5yEpg_TJ76rEeLl zigb$#Jidy!x=kq$0q}gm4O|7xIA-ZtFXmF$GXO9Fh6&2?M;<;qH>>OEfMsk*a@bQVhHeA$L**m=MNYU$^=qxXerIiJqJDXfey+d|z zaHJQ1^zk^Bp-Fh!Jg$pgotl}|9R@Fxaxu8RE>1VDuPo^8xUH?-995FMYWpcL z2uk6<5Dg}0#;(2D`^!JRzj^;ikNrUcvx{aXX}VUI8?7>7Ss;KZ^3>Fn9?{r7I`q6Z z;H4RnnGot+ua{5HoL*VqSX%N&rL`8-5*y%5f}b_uLn2FX<`2}#qpIk@I>iIEPZBAE ztXk&D5K|YJ)I<%@VEp2_OV51e>E3aDDX%FSN849;i(8^6h@Xk&}6vt6&!1O?m zHw`7we<*TC?GZ5P>uF~y0h~fOA2}*Bp+s)i6vsuR(|nkl2%VU%qs2*d zAVqOCo<`TPiqx{UGVp|8*q zquB0bXDrl~RS*_d7Dbr@7!r=eA*;hGTjY4rC%-pV*Kgdv{oR+psm}!gDW4(33qXj9 zz5oW2Ck>qm1Hu63{>L;+E++<$gF|8K<}<@mn$rOp7i{72I5Kx~g`#C>{}E{0DTllk zMh>m(WXduEIr?Ap5+QY!KxExo(l(MQ>sG~44jffk;<1s1(gdvz=9Vu^I_4m}P2Ek{ z)D4Img1veHGv z*VmVLpLS>OSfAwMiYm4a)->4i8s)^^-ofVfzP@>&mvmIFt8d-Ce*M0mgUXlb9mVwY z#JTgQ($_Cryz$E3&6`IX=O!0d z^p!Uf(LYZfmL&YG>yP0>on(-@Q~PC|#uLX$|QqdT71+bh1*^+yZo z^GCU&MaOASJ2D4}Jx(Ie5obe-+u4FvLHWe$z zxMtw{&@LPYfHGm!zKkj)seH;ahA>Kvl{4tb)iF3b=_?Pyj1^hgCyY4_J1eBL7^oUt zPDdGh<=LIDe14N>tGR@riwIRwYFxzXAu~<581aElZaRGQ!T%ZkB)#1LmH(*;eU4Kv zTCS|lpITeeTf6HU%lg@t`8j=e0Dn|J;g%KrFktT}YV5F+qEsGXX>it%#4=>ru)wTo z69f?rfKjX?dfG>3pKPEQyLkSg&wcfo!()9byBb(~YjA5AuomG@*xETE3mi-+*gELk zjnc(CLiQNr0U`@bYmaSVWD=W4p?nI!sH_N`FtVp_heC)a=L-{h>H|Y#E1Y7;p95iN z^I;(2EgWG>Fr;PZa<>%Z)}^s~+nU~P;tsg)9Bc=1MVyRqVHq9Lu{{v<%rQMT^)=F1 zbR*K_Ul8p&n#o__a?qgyA7;Haa_;Qf%F3daGIL{2NGp&c!q77nE8IfuT|tUk57L*G z=GIo1boFL^bJ#D-m``{gnHa&&=~x$fyLWecetx!h+<)cex6xDp>QW&^rSA~vr>?WC zS~Aq5PT6Avy)CTok-f7;6#y$lloTT z4iYNb2uC+=p{QokgNVds@K8Ncpw(K>D1+c0h|f@M2*KHd7dq4h^)5~gwNbnfyN1na z)RGKuwgcmTHm%RzHHglN&V5E`Msh66PFJdiK<-H7h3RsuejF2Rt+=MwUOLoTi%bX( z;}uhQTyEo#v@xjCV66t$-5N9GLezT)`l{gOcb?nkKC?Bir&-G1AP4&``YS)9subzeVy^w))p2QXJ&b<4;Lq27FaRhSj5`uFLjEFC~}+( zy&0tl>=&c-DkKILG;z5wx-|Hp>ug6Eh>0bpr`8*5r|<9HfBwbirnrs^_oJ<*j%3KL zp64ym$4$jBObY=OW3^*|cUowiarG@70f5X6fO;I36e~b;WI)%qHtgIPYa0RFbe~-v zv$;SIUJE2 zCPSf^Maa7X(^IE-eMY~#bfC4x>n+%ogHYI7-xoX4kDcljA$@m7Fx`y9lWr=7E-7*5 z%nFa0M(nMQUyiJNQC=h#*_FX$l+Wl9CDqAR&)4-K(Ko)ouU`~cS)W-wm2bgNJW%XC zVI{DX+`=*vhv95oyEtZ>o^!Fb6M2o)0%%K8N;~qJ!PL2Djg+c5wIeR;31(!~;=yYC zxnbir%mREp42&xEV)T3sl;73W|sUTu0Lxl0v)QtQW zxJ|Ut*UrzLU3==Oi)(B1t1EMQ33Ps53!iTY*UV=n`2jbS#Rpx2BS#JVPiUx9rs6d72#tVPY#qBGn_89{cO(zOcKm*HrUv1LUrv zKrp56;62K6MpJ&`mSJSthQb}*=!?(n=-bjL*hxkn$=Mxn`nO*?;$@rWUJbR&eU=$0 zn=u_6w(zH(Xo0fBmR>VK6BV*(wY9kpA2JxFAOQW z70$-)*9N6lRr@1=t|5emmRmAy`vCsaH@t_RP zaintVH6q=YaN1HMBpMKdlDgg=SX)~>>>Y1y?_(@|@aiz|KLpWL`E~!ab?@l%_xAR7 zj!&PTo?Dn0>sK9u#FOjgAz7M&tpoI4!jk)_vnwa)L>#Dl1{c)FL3c1pql$^fDLO{L zuA*a?vjonZ_#n0ydK!ng+d3GHM3%0n2f7-AB&@V_*d_+cvoXC;BMys4jor~m=^8jl)Lfi-YG(4Or!M*HjpaLw)}gsRL{%Naw-cAm zrC?embgO#|#;r=F!H!(fKmgIW4k#VD#36Bn)&yq^8)P(f2+cigI5?UzA&6RE0zI|7 zs^j)c&p*pmylhCcIKiM<$h4z!FU+N{cmQ<4 zjWg4{O6zY! zCvk^cF%u^_a*UFRTY`6D_9+NSs=6sh>9v!ch)m$aN?jNnjB9`!yNVOEVY6Wzhnf&f zT;_3NTe|8v@ub{|S$;l>YA;%+g2fP2L6)%Gz^beb6SN&f8RN#iwl~@`1Ivo2y2Z*} zms;o68apcyX#JbJ@dX~#h-IlC*kR61uhCDA>C1qB^~~nipWWp0KD=40R+BYi1RjIz z0~!Vx8I`gxv+`@9lwxDsnz=Oq)l~3sv&_P}SF*HOj-GECBW%qOhZ$H)mw&Y`lsJ$i za`yC^f3Q)>P=7vDg9tF%VVDg(OtBGTZW16ESWzt1k1Q)B*!Y*B5C&;SUxONgppjCC z^TI+JkicFhZ3SdXn!1RLu#8hH2XJmaMZ%>^t?{XwtSpVSxYXDsA)L8DKKNm^)&Qcb zq_w^onVnQUMyJ!O9{WH3_}M3(Jf}CubTJXc3l+x9M5<~4w zU{DEGpT?V*c=GY{`9T7_BuJ8>ONHYM8+#)a9YXpN|M>RS(KCN~_YZ&f=BxU-`H6uR zKX=};gQpr@SmKq`ac}bUD4nN8#+tTa-5?-J{zRajwjd!$gO`Q^C(#rOINlH`NSo>* z%!Xx>kQzf#mOF=!c{`WH9}y9hZdD?4;kJBA%|tmprziq4qzZ(tUV?k)w#pDlk(mI0 zu*;+Kuui>>#~lX@XNM_>0>(Ebf2T`WD<8e=^Tw6KKm6U>FMM-HUmy143#ZQOl)S@) zu{ZxeTW>a{!hp4LX{xES1fq z8JFR`dbn2YoeM7IlO`)=_z^|mND&3rSZYVtH+GhmH@!Pz`n9soEU{!;i79azszhjq zEyIW$=7o-%q%k};HUFXi@I(CAYv&hD-C9E&;atp5FPeZzI5A5a3yu49ioKNyT4?HN z$hR)R2SjPw7|C9&fEX81eES$RLuF`?YE%4eiKK~Z)JfEass!qr^y98IdYAG{f;gEp z!Z{bLSPVO6J?VL%_JGtT0*yMk2ILH7wM}HkOgaH03HMV|YAACmwuX z?BuEAyhG>2uVNfiE&*K>DXb>j%3x&V(xsD}2R3qxHNeL$wTQ9PYla&YO^z=-TGl8o z&B%=r6QHkysKT$Td%fxM(%!3ITzhbTXa3~aiBrB;^!Z}J!>mUR)FGG%_WHWEk#uo+ z#-*lIWvWa2*PW%bUn*{aEl|p0Wmv{mqdD|rFyR1C^~AUHJ83aq-tPRt{1`=a2&W>C1FQ4}d+bIDS&!?kD9Jm0&u zwg1Uatp3_BJzih&O8O^@+o)3^@y71lF1>%!+GLv%}|jf>)0oK zj708BT8Dz8U8T(yabg^LsX|n^#tyFCK%`5nLPoDa?I+8kCS^y|ZD6K>{XuDC&_-(P z&`W(XGkcU&Li>i`xND2NHR#BASX8nUO6$CVkV#DE}&8=N7 z5aMG8g!OUbRu3`#v*F^7`SRsclib|VUIUGe4x;*xn*hG2f#Gs)kayF;t{+IYghg6LKB6$G(kEqBa5n#D^`C#%!P` zbS#3MXdw}V2ZccOPx$oTUqL!O}XTS+6Y-V z>~sD4_AmbY!mD3cBOPZ#tEmxm*3g)K0L=T8UY5Ycpnx$hZcX85+JmQ`zQnVJx8%VP zuy%UMu&8AKD_Y{=ZZAXMpopx%zuqhxh3X94x7E%auI}Dh;?fCz8jMSfx=~`_6(TK^ zU`Ak_6il_F2Dv>i65Um^NBsOV@A&n9_v=fmT$b(gq;T{#L$(z*AR%8CP02GmCYrej z%wHZR*5{)`VvY%1rmPids*g*k)3aG=6dU>gL{TnUsA{njPQjrhpTl<6xAeeDXp83zr_OjPko9#opaz#;gx!5c3dlTdc*B%Fv)-Ek#QljfD2&!6)5<1bE`JtPhjTjz# z`}{`C3ol&0`ow8}bs$i($%9q7D;CY+=3RL%ou+ABGXv7LBf#Jkj)3`i+uJVi?E#PO zSH@*1Do*W5OS|P)1R9j!eluwA;B&vb@_+ubd%y833rlPJW86Z*r}$yGYKB5*-{`67 z+-zE)*tr^#P?H6z0Pb~LGg%fXN44aZTqKsFt+D@_xLC&_ZW*Fg#?sI#{npjf8lc0x zdz7`kDrmu$O@l!fYXO=!3$1aNK#&qKq7rhH&V0#2h7-s*XnK-pw#J)%NwObq@!EVG^N*%r+b} z?BE?feO6TmU4m0$jl$Nds44f>HiY`D3NM`oQWCX&R9jL8ppNKiwYZwSWsyh(Hn;}5 zE(2vh#v5wh{j25nvyNgRSce{g=&TeQ_~ZdE}oK4Y9TbNYh!MMW=PZ{<-9Z6-Q9b< zxXMQz;S(g_846nhmg-QMf+kV)-d>Cw#NT{l^VOI5HK?&O=SSoIW1XnIL0#=AM zEZ7z2uCX+cu+7jxAls5+R=jlQ&!J#y7J1fjZ8~j*FLi`iL=r>&V^dJs=~yF8&dR!jzNIUItE;znFEE79!fR!VV>#J-*v{4aiX{i8p(@aC)Qj68EH^RUq=W7bC+sj;)W=&GscZjyl)Cij@|JAQnY zgFn6<&?kw6US;N91LH_&Sv%{R;kKQwt_58&f*whCmPYE|d~j@aJQ%rs=dru~QSOg7 z#gB#YCMWc&?gkEMGsnMhBZ&6-{ZT%ll&$DR)=$; z1sR;3It@RmH#9dA!Olv^%vGjV6NV8M39L->Y+@N$1TFujLMmuI8m1e=R0gSh#Y$*B zZ0M4?S>uG6#44UignjKZ^0OUcBJPV#xRy`ktW-0|u}KJI!EqHL+UVKmLT34pW_STB znL^Q+#Z>Y*(icc~)cp4yWz6Zvui+%a637B(&O0V9KW4-_Z;tigQ$ZN`mEHEf1Yi@X zG$oRzK@>%6ga2~Xv+F=iPdnU9AXzc1lqg2eZ^c}`eCE05uW(wJerl1|0Q1u zP{yM&jxYYL=wek^*)(u{7@_@xE0@ns)!nU!a+Os=lt%<{4YBINv-VXf0(T%D+gRKF z#K#uyeER18qx;-8-jmwe2SacZ7@z_-^t7o_CF?dXl42(w|7gU+i1h$QgFbFm0GK0D znDtxAV8kXaHjYB91KSB9DQQEBQ}c~Y6~3Db$x>0P5kXstmZi)B)|)!Hq}+ocfEW;5 zGg||J7^@j<2c$ARLZfN=Q^=V!J~ejl{?5;SR z*0$EywwZuTa(>SXi=tWJaR6QHpnnODgt8>4Ps{)py2?z%Ms$B~XYV^d_@6%iwiozy zo3;lS0I*GtRk;!eGzb;MGQ6c_Kps^Gi(vcE2-`2=dsK3Wm0AQiOp8KlI@rYIXzvi% z)?qI&u8xR`)e*tr4hJDI2jEtf0i>8QPhxijHHHwa!9qd1m3eUPK7+tU1#IkETq;H@ zr5u=)Q^b+s=VIIcREH18{F)siFC*IX3a|h@>Z~ST1Bot(y zJ}lLXNYq{vn&|?_`363xYv<+CgMlvfn$%kO?NUiV&jZTq@V9Ty&B<{YopO z!dpc*)3QOdpykZkCz zlTJcqkjkcNWI_d~T7w$ofR`vjRoqa0xE~h3Pi!4D*NT5p{DnEV3NRfWoW0-<(Uz^BdA0KGNjd17f#}6 z?aPf%h64_;?4O#Sd;Wzdr~KVJ=;V1DPu-GDeqkf@_0K|x8mS6`z0{+!$a^d`` z9O;TOl&lKXmjL!sv;1j0cDm-}Dqw2!@`2ICGb3}e)NY)gD%^eWaPzg-ckbLd*xcZ* zzV1g{8fX_ez@U59h}LBJqn1C_Ej3#02K zLI7AhM`-7SP`oravLqCJ?R!|GgXE)#78gUIaVY|t#j*8E*KOh&KFVWTuuf*VxC-{}eAfZGySS64v@glV{HR5GdL2S3chrTk?sSjhi3K=!m zs(2@{y0*!0Ps$Bs-bL(v2?8%uIF(Q)70H2T`iPkb;aJS1nunTRrj}hi_yN8b-~R6J z`qSUDySFEeunACK9a1RB;Pjmd9?)yn&})v}iET+(x3sLIrcgFjF`Py&*0?PS8z6b3 zGHlZcU=L|6g+e47l}YaQY&ah-QM2Z3 zh0W9(&ekWo>~~9=DU@be77VX5+;j27$vMF)Td^y+pD_}lt@3(=I=lZK&3b9*Tg7Yq z#&`=HA%{p87Pj7aW9P<=y|q4m4o4Ra(LM&uBFtW z>rA)X^7cm-9ac->zEyFH>o#&R0!Q@LYPhw56=J#huAkpq|J-NRKk^d~f8&>yR+o1< z_Z!Uak%7=2BFy$S6HA*;NLQQ;6e{>8#DEbx5ap!klTVzxeB})Heo)!mIz;T<$6}gd zL@$=e$&J-p$`nInDYc!$B@U)pOST30=;3O9WLQk<>2D5mzAHtKLC4UAe?#_!9B|oa zqT2E8^@=o_Oqo&)dztOc%@6$14}9Q#-?qNJCEE@l`CvJ}z>G$17PSpOGZSHRbu^+Z z_d@JW14wqh17^q>Pd!t;%=@}>Q*$Uu47(K4f~Hyi%`BW{lGzvjR#HiiTO()0`bXDN zRS?XqdNVaG@n8U0quZ?pYFHYoduf;GaEJ>p@nvDGLmV9rmj<3F0pR@)#>qK-L46t` znkZc1vamJy!RY$x7Qedg*Ge!fMB5s*f*8|64N6^=^@*BJj4YAi*(SXn9k5CajNou& zAF~6l4BDGNHud)BFTeWxceb~+m@CFC4=MTru@=#R4YyLsuFJ?iO|X4>duAabrbT(F|G?>8gsptxBz|vckKi zEKZnJKW>L;f>adA^9N8Iia`U^NFoWHB1Dp`Y#HG&ie}+c!sgfr37#18%w2GjZ)iCR z25~F`>PYbJcY=5Q2d{r_{WJe=?f#u@bbP%lJ1#Bb5dv{kK(BJhgq2M8SS>yE7T@tu zghyG|2su(5{kU@V%(W-aG5U!S%K(dAPYOpU(8`N;Qjtr`AX!D-3DJ>MNVceLW&kDu zQx;VWu59L3S9tJcUHaJb3BVY4&!qwXK`TJ+(hvw}$0SI0DyIfrv01k~5huMy zN!xnq^n+++639f7hz`au-Ea^p{ZK;GXd2&~0kM=dMj;b>FLeoD{TrET8MVgN{1VTM z0P3G=JAJ9dcXe&6zE!9ovVuz7YPz<2L{E57BVa8>9@>~#EJL>}><>#5u_-v7S$+<9 z?zu~Rhbv!q%+WO7d5@3s$sk}Uz+uKEGtTf3u0@WNp*T1=InVD6_@&+F7ps5 z4&AW>9!hN;_70oK0MFQ00t&z-plO={0+$#@Vln+>P+BeG1d3Uit%&?1A3NYXz1zFH zpZm9I5eLJ>=1wrIw+U-L--06+jqL_t)`qb$V^1sl|!P1LoGH+`2x zL~M(I_wFxo@lQY+Jnx)%lV|}Xj#tg{xaedi;){@VZ)&Q~AkD;TIUyve28s=RZhA30 zdF;Rb(BFLS$>;dRm>#GwgJifC*XkvJ@v9YwrmmCQZa3 z4v(gdSzKcrvm_JK>auRB(t>0?rJX5Bg-s(7wIPxS;^K|~10FUkPaeetTfy^46B;g- z@sN?>^H*{s99ha4&_t*;p$VQ@+UuM#4`xsrC*9(j#(*52qvIcZ--krkwN&&th&{Tq zw|AVI@=y82*Y?@VR(jb>>eP{SJsjI2CJqjMxJ!d6laLk1x_Q*2AWXoPQc-neAq%eE zoIN(fo&Bknr|9q*9pwk}_;rC8X^5l6%rr%3gFq!KXrpRmO(bu8oborRDv#HEyah%BO+) zriIo%IF3uxmO(?LYEY6eQA(q7lvg}74o!75l17x70?h-t>JSql{D5P7h!eb4L1L9n zYUN5xT*DBbqi)J-RAnGf-EDXxWGF^cWYZ_Bph-LUMJFtyNEn0r6!Ya5Q}-t}_~&%3 zr+N23`|0&x{l&+h|Mcp{>b^JXpq6N{Ib2A&_jPUtR>bIGY*UqKBCBS)w6#oJm|)L) z{|gsSzWuq&6+v61R$0G<;)PzNd|_Hu&;~tF(IqQIcu7!0$q3itH;;hFF`?3hCO3Us zS>3#ObJ2Gd_`o_(4K51eXZVaFoM;1R@3|#Do6HQXLS1f|L#+UAN)eR8NluZn;yv2@ z-2990eD}vc{fX7}Wxkvf|2BV8mcdot?K5|C?<%>oRO%UFh-4`X%&TYxj-8poj+RbI zt01af0<3Lltv>|`P(r2N?Wv%+;6fs!5m2ST7EGt&6o`2VFw|YBgh4HU5yLE0iXw6v zHA`&ScEn7^;}XFjU>lQ6BsEcIv}o4OG%oB55oAgxTpWxKose=R3$4?3E4t6mWD)o} zHl(aVMQB{!g>iBz&pdO)TN52^`4wI|{v{q_(XpWG0~;UJEnk%dBrle#Z{F?+8llx> zNnu3iMqPZl@!H$Y#|IPd&ESn2HF8z<`Zq=@eBL!3B+8C0E!x}&jLW5GFmDPi)l{8Q zq9%cX)smuj1Wh&AjUUWS?O#334~MiEgCl@}aho>mBw$v&4BWfN2ZG&OxAs<6JaoV_ z7eoUzb2BK4w6gSV(hOu#0#elYMbZqROIKC2Vw9IVsI;R~4x~$24urAJ{BZyrXCElD zf+~ycbVD1MB4W=aNST)fow(6xkbgna7Rz?}ZuwneK#bnQ)q+mvw4^61ji&ToHw z<)?rA!EbzYap}?a1gCi?!kh5HsWlEZf@(GaiG>>e8+8>fA)`LFRVgi9Oo>6;<16UT zKX)a_&iD}4qu_%oGE0HuWuW{;fo;?#&m$cgML!%$-#iYD;a`J_$j9A#OYyI~f|*r3 zB8*u8Za|U0D{uvS0r*1o*Lx5of4h}NlLmvd3U zW0;qE2SLLIb&@WXTmp`BAl=&`l!T9BMI-piG>d;@ zBmmkhI;NowQVn}7qR_I6L7nyU}gjVz9! zNJWMbX00RvRJ11pTSF)&R(wjUI7=F$$*v6LF0>d*z~IGZ?$`{w-Q^{J?VU@2E?hY2 zH-Te;Blser)5Tz|Csu_Ilsqu<{lLcN_R`Xttw<6`|N4Xh!rpFPY4}ZWzWKE`vcJoG zPYnK?UOCv_R>Izk z!xlnh*yNj@fTUkTjBhCfETB>**^*!@N-dhpH@3~kXiclBTFqi)E0JT=9W{$Oj*$iy zpu`&B@XaiCqM3;AO4;I}iR0^wXW}C;t+?iBO|>+u|BRY%loQsjq3btj4tk+>0At^e9Yoq;o2%AcZRV5gRVwZaMlrSj(-_!AeNeD3MD zfBfJ5`sVf~qfxMjl^{Z%S9!?@nz0L+4NH=*x3`%b5^p9+!Cq#wR6{+SQ=OPLd9fQl-zP<9MJV!!l zp+SmXAYmhhvi>ikiag0e53k@rwT;pQD!Vc{(X<*)*L`jIe3Mog?7KsL?%wy`l*YAk&ZT_Xj zwXtz$UZ@D;0wo~BjdUYv?$vD~C%&{XF5V(?VVN6R9iI%LC&Hg25gy>s_* zAat(yM2fcT=@g4bGU*|SeG4sc1lq*GMuepapeaN>Y!TPaBvS$H*7nv{zw@jA)?fbq z|K^AP_S)v^1Xo`rd~$4<5rn$w0YySFTMg|8H~ z3?Wkvf-&nE7^5fy&~Oq&8*vViOM57!)f_6B>U9ja{C9KUj(~ZAiURIn#lFl|TVg)? z@WIN-`D2_ijaLy#I`)%7V(VA9xDo}j*lIm8=aZuyUx1G)C63>OKvH;;xyQ#i2+;{XK9%M zU?5d#nyo#7HL)FhJ1kiT#M-o(t-=bnr9nhn_F&1O@hd#nB`MZHNR$+(J}!tznC$o4 zU{w%&^K0q{E35lAuW!Hh^7`!?n;UDp+=qjq=k2YTX2+K#5+dMnMfL@<$Pqevs65-8lzZf{g3~%|LMa&NFdCzWWc15_)Z{II0sA=8h{ufIN8HWD7!bKu(+`yObTSwB2k$M z8z&>-i&X`TT}2C3#6eWvQ6oBb%`pDrs875^BjXE)7_e7G-*R;@Y)y*KaP=`|dba$qZB^ z>IvNgX<|-c874|7g+JJ2Ms*T576&8j?|IAr-uIt5erlX+Pg7Z0@U=Le_!#q)J8^dM zhRoV5x{G-;Z!4M8zwX%=M=yJ)NBTDI{>r7(Be zm2Vr5fC?ZiE6!N@mp0BZMqI;NJj_mDY-|O;G}1FjunepnM!W^#hgqoe>e~L@TRU&Q zx^?^d#>%n-!3!ei&J(YNjh~=Nuc=}XXj=)Hl_KLDT_n|64elgRcD43`pSk&&=ih#X zU-$JeU^CQJtRt9}ssjFvr`|FSHsxDdL)R0so>%6fgLQDzR?S#R24BFU4sx!7Y$qD>Ufk7(HdvdMaOS0z4x78^80aK7SYYAZ9p&6IZlMA?gpm@9n=(tyB13GEx@p0dxrL}D+n8jIc5B6@ zO8jOlSSO}BA@ipYV-RREt{w}hja;~}zq!e8$BZwpj&5yu+M1*)HN7E|@YdE=TRf~LS-EDNB1KPl zKIkkhdzfQ}7lT<|2}Wn8*#(A8RS-w1u`yPVlXlzXI5=IN$$^dfcqLT!Jgiz7rJ_p_ z&Y+|hx*;0)g2AU18X=F+*0TI)02g7!Yz9RsA`i9W$;RW@jQP&)!P4Ws`*(M4UEjKQ zb8BT~mwSHjf|`q@0+s?+0s|?7Q-GFqBhsJj!XHu#smd;;2)&}&D_8}ytj2=v!Ntp` zo_gCwehSg6EA=pOk!-caAciVAWc+}qT0tz!)JegA>TEsvcq>MH-X z1Ws2_j5a6|B)t#?GqWQ^LqZtMi#c0*1wye^CHWv~qL0B2V^6Em z2CA0|^3z=ys|b-c4)NCyMKVKPFg8pP zxo$m9!X?493JzteCI${B&!5;CQgjC+d=gI>6+J>=lcg5POn;|BKiU#V99nJmy{RV? zPOCaC!;8Vh$g^KD$E6+wOL0Pg*jBID8!$noDZx53%tW7^-9LL_bbE^*ydPU$8QoaV zu`J9nO3w8mUSv5I$uyEj(aJa(z-I!Bmyq&(g3$%e?u~J_V3bb=v&Y6}XE@pCjY(NN z1eHnB^S0C}0!k?cIdv=^#x^CBa&yE=u6B{Jah+EADX%)Kl3lD6Vo;7cl)O8+lVew5h+oki;1kl zStU({*xJsHw{1hVR+wOG3KH+;yu9ymmWW;d`SU0FK8o)Sw82UfHaZv}3@S{Ehbn(% z7;9DufJl{di-%Nu5o=DUZ&6|&>e{H_pGooX(dr_n!E`UM&`{kFbC(paC}qh+V}&bA zP;@)8R2Y>}<6<)_+R$ta^K>XH`G>m3$it)x7{|@+jVtG#{QKYcgFp0R|KOKC`HR!- zBkUmwokb3cp(^LdicdIZ6++UhQV-L$r!eq~w*+bE*-}ns-8jO=Lq$eP#|o7(2r-ph zwYRB3hd59Dvd+MFvML z%)@LrIC1OF!c*7I#kqrNAN=qb5Ry&l^i82Fo?&r_)Bj%!MezlzC09g%NkNLE5F)iL zc*td{G##5RMJ(H>t14NmW&g6zAyxVuSLMC^#V4mPT$%Bk{an!umhYo5^Cd*<3{mPD zaVR>A<;JNZV{*5--PxJZGv~&(Hb1lCF4Crfb}yikao>2F9sa z=0(c~rdH2ZmWcG1Y)Y?$e?=}4x3+x?LmVwoaWR$oA?I#otE)SYAMHK3yM6D@*22TR zwUu3N07Xtb!T80lI5+5OR}nxnny4)rsH(yu7gIh+eS|%1gMpRQ#GE0#2x3RVH2jBVL|MEkBYkG`3k{vvF zbZ=*GXPn;$AB=}aNOk_Qz#fF+cq9P?#?6>yUtn+yF)@D}*weTMpgqr;dE+HX6jdYN zAy$HAZ%jo2v=YII4RXX;)K)ZY^~?)EDOnRK!UiMdAh9Q0S>E8ngDaO$IfRDRytYPF zknO(0Xd+dpCc+T(6RFnt1Sg|qpI(9$TOSU&N zIye2AcR+ywn|khVdbc_JS1CLt9P_&pvazxMnlM{>digBUzRID z_+&6KGjnrkc4cq+^x26MCnsi)jq*)rkF5y8CEJ9|tAfZ54u3;AYeKb2h9O;K z)x}{5yU5zA%$%9D%mbo1?BEb^PmitL{mr$5$IE+53%if*Z!bL9dHi^HYomTO-8<=l z%I&q2zdHy~G8^*Y#&MUtw9upkHjN`mx4N)cE4tcgPZvyAZiEQ`IK`yCfhW8w(`MmV z{}WH1JIl}E!Nr4lI2{QR7^J!&&ZfczpqR?ZfIh!PcAZ8ss{30cWLxQ`KPxfWhEfZX zo;+^fS>!dqN(C8pVcTdSMz}oMPqe9;F-u(_UD%Xhr+^z%RTzy8DPci)(voKAJLw2I71ZG##=Wfm^%QZpV zskj!URNs=M1c_MzDte1XoaBnx@p-;cJ+`~UFAI+?E{<_e2tBip475lNn8mS~v|Krz zflgQ&X_?L-Fs=|>jI_6X@SC69zxQaJ(*%4lI5yA4L=*F;#^+9rojf^p;`GGy%=pYy zzJts=aStXCFqp)1pGzkLBaQSbP%}|t;&H*kX2?b2)1TKE{JAp{zqq@#xxc=;x45*s zytupkXnT2iZ)5!cVLk|@e(W27%A0*5NvX<8bemFe+^h!?(j^9_r9w+5)2Tfrbzq65 zb~H1QYzZTO!L<;k;TTpQ_VxSw9OAru`7}T2&f8TFPGQK~tO7M$42!33p{Cwg*!mwM z0}WmYr>#MQ;yMiF$yn+WXaI_h043KX1lj37c(}5VgFl#8h?YhC!o!t6m0?gJS;Q7B zJdBlK5j2rT&cEtn5T15JyDH^m3}~<_T})~*qe{tm!@~75n;YA_kN%W6;#$N%v! zee&NzZJZB!m4A=fdxqeVztk~6p(}csDLay{tP(Sr$-z|$nVN%E_LVm5%nIv1J&?yD zUeQkABGZJLIMi%PYlBwJPPJi2qu9nOCdN+u_6dNtemaQI zg45Ng1M!aX{)1(%h~dkSJT?4mZ14odiEh%1AVN`*#jNbWLe@sPt|bW%%aQPqD7;jb zb`y)_qI*b|Amt20EeVxisXzh&8|d;W6Hk$i++TROuyX&mzWCsCZ+_t&SD$_1sds$Y zGb6|6d1tz}xBhr*ZDI887sn^L4aF&538v>SjL)7N=gKx>ctj|Fgxb%=F!W>=YHX87 zrH%$G9{irX`}jqy$39ezW`TyWN^IrL$Pqp-$m=Sx$fmLdZ~EtBZT z_}Iby#nFYekx5>y{GJ(?m5w|d*-q&_AL#L+NskrHOpi~`jZSk$d1ma`-01AFiJ94P zei$8td>zeusQJ|@ULP!dqeg>f?hdYuy*wvuw|DkAXTGy}u(n3H{mpeB8>}}EIETHv z%^p=haCoE5%mLF~lb9?vqE%ol63rTgdUn57z><~+)z#24tGA}H^mtdb6r!|VZp$nP zGzSo@%DHUu<~h&LOPs%O_R^(OGc%JMjLIt&ASr!Naqql)KR}t=@-$?(37tmMB=m?i z3ZqJ~=8Bl~^$kH0>~#B7DWClK2F#6Hk1Sfiij1DRv}q3*FR}bC4RQ<$Gf?(Sz*u3| zc@!;vbt4$&pKGCE@kQT2q4TGc~Z9x|2tV2bXI+##s2IS}n zB$v^H?cMETQ?uXw=l;r{`uG3r?$-Y9&YsVMgR#30@4a#3HQqH=^q#7Kg;0Th{!lTvQ-TkXqPVw4kEux2=glKmUVXGt>B)XXHkd2gVQc6K( zU~qK-R1hqc)fkl8HdDIu8ngZn4(>j<&mL)VY+`$B^HZ;W_LW<= zHpebrxjKDnerkJTf*lx7rroX8-ObgF$G67$X@cYDW=>w2K5=PcdM+m@`Eu}{&m5P4 zvZ*mizRnFuKpt{3cB|#w+}`oyeu3ceKG`PofC`DmT40#A;B=fs zJYKy$#{IZBa22o^9-46&W`BQkj|-F@y3zi(# z^PU_u93(D>p}~m~-_iT&L3WAjNfQ^7;G{JQF{4vb6_8iP&zCJ`Y?OIhCrUu8B|{vyq)nnr3% zNa30KS4~o(W@u&MpmC*1vx?Jl5Z`+bZ*FdV#WU~ztAGBlz4*dc^1U{4;;F%G;8)T= z^YW(`mlmciY!dPVw0Pz=FbSOeD;80QswRA%33v_aCKXa{m8R}87T=ZR&^KX0s;edG zz6DZanYak6YoS-1C{j=B77F7Z{3dS&;b7C#Tfv9P?YCbq7EUS`elw6WsU}77!0ok=N z-aq%TUs+yR;fNLkGci8N4(<0}Tm8*Xc{=jyrSaKm_IDip&wb;#>lnZKy}h};@?i7v z&CR8|dz&k;8ylbY?gVmfv`nPJG=7y|X^Wqwp~YqG`^V?^Po3hI4LD0Y%2x_l8e<#1 z?BE5|+zLLJ1>(-z9rxz$=qJ7~zQe&`mD&}lIHyC@FawrvGV+$3GZE}kZAb_gYt0u- zNt%McwR%r5q$O`fpUg}Pn?VhM$%}bqDTJGW{RpY zY}U;d1KAvw0rl9(3-7pceD2uh_73|&x(pd9$0LYEU#x^{sNpeSTh3xqPbbRHk+Hca zpE%ETK4;F%)Ahy7tO`hEJ;V%dk;)Uk4Yt;as8OuaNJh%@6lic3A%zH{TD$twWXnGt z>&Ksqy%Z{jZ{B#wJ)irlUj{kcidsAxFkajx#rq_t%1PP)!s()Kd2y}sJ_Lu{EfisD(K8Z1mKOK2M}9JGT7VSBOu7N9vD6@cu`4a0(Yp5QEc=^Vn|3X0Fg1XPB1Wvw1qED?d)HK#{w8{?o0HP{@ z0c~PfrqwhVRqWVEE7s^hBUqv2W+uHr~=hr^<`L!wT^>%q`W`YY9 zdEW70XQ`Fq{+GK?`6<%@9glt;cq5KbZLZoB6q0t#!$!4K;2Roppb@Y9j+5 z)rwV#%H4GqO;t3D!&a;_V%=GL5q%nmhHD2(gM#T{(`|HoA?r&kS;_|**Whq`=Go^i zojZ48j^8@xGy^xNV(;Z1u2q>l#WofVqbC%im;lA8e4lTe0vSJX;@IU&XRckl$el&_ zC3j3kVs1#e&qe$Kggk@N$qDS!sX?dFbjn<^wXGT35?9l%>?)!*dbp^EfGtzyIEsZ~;{BAY~(D$k$2D;KVQ(|h0d^tERnEIhooaF36t9Cz#y zIuw2#wti%_@r)HDF|~19ftqyD0b1m=)i3i~_7{-%H!n zuzb{{qcQ(UE&&p{l(p6?kgObR9elKbSL+{BjhQ2CY;5S@exSj76GiE&>PYCCgIJ+&CT=$0#9Mh=+y$D%eg4{ZbxMWzigEu~t; zuTe_Lkwj)rKGF?dIhbv+h|;%^uiv`8vA)UffOCBv&jSDinw&hib$8=``4=1i&nK2Y z@XZ&#>VBzNjN30u!(( zIW;=xVv*!j9_&v{>|eb)K0P&l=XSnTV4cb}YaPX+VlB0}b$Dv<>ir!0@w{b%WYhDq z!;mC?$PB}*xR4XzEv`i}K%E4(RH49M|OgwzFbot6j?%sOg{K>OtPi$@MtSqlDEv>JvZSb8~22f8=*_vaHWF@E_ z%RV*Ed5+1sx!Du*vw-k&!a*el2QO!AjRT=;LWX6E6}l!+Y&5JG$%I+RNp6s!@`YF@2GVi`6S>DgfzVauc1M$w>iwZ#!F zK46ZFz3;2u|1~du?I%9_@qhKvk9_v!&us5(PVohJa;~i0IK|3E7B0eOq=IQo3HqNX zMYjZHTxzK{B*$f!BYnFE7tWl2|JQ!=pZNN3xpwI(Zu+vbwVmB^1vNZerl-e$`I8@g zys|JeJ#8*og6SakZj(FaMlF&m%cTqlRY<0S81zx;n9aLEvvJfiIZQB_6}%}KEGt9O zuv~*#w~YZ9Y}*ov{7d9P3^fhE?U@s}S)e?e2!v?HS`u${Wou*O;h8gYXV1+|vMYxF%I@tHb!qh7~xqjppnX6^q90^Y6)uNl7!=+La$^dEB+9r5W#9p zdKJqg7^Y?z2>}sKtWCILxISF;Of-o*#O7HgX><%-tmB0mJB~}edE>!5o`1qi^7lsA zgP%Kl>fG6rdeOg#<=f^9wO=WWph9UriIQ^P}IQXcjJ3e|Bby*TQ@EmY;ayG^dV%YJhUpvM9Nw zYap8%v4pW4(rluxPBpdX&vrSISv-w%aIm$#%^Ux3`~%al9HietqK02cck-R0xs?DXuHJ^ijf_J_au zYyaTaUp#Y(Uq0XFn>x62Idb3mC10P1kCz{R^yB}A&jAKv2?57#fL2&s+$uL+r$Fo@ ziHU-Y3_13a`em)2w}jgaE5fl46#w9qp8!> zh)w3EmwZqv6RKwuqj)QF?Kw0;EPu7G=A-O z9)Irl*Z<@nJMsQMa&~%Re0!5~zX_wOhc4V^LL6|YeEI&?(j5-UOmfEf^tI`em&PY& zg9~(!tL7CJMRIK!aG2uk`B82uv9KU1k!vkI1lGn1aiF+Pz1p1^-M@XGp9Meg08qKP z!PS5@T~qQPR(ckx=p;hCY?($|(x@I9tHJ9|b5mf5K)l5-W!Acep`jIOhARV`;T21e z9x!B0OY5YWpr|t`78X`--(I+M{BG1!S%sG1Gpgv zzO9f!DmmHW@9+uG%?aX!N(!k)`C?!BwAThvSb{|`!73MhlbRk~T;Q0L)zS5!syKZu zvzjRdf}FG5CMBk`qmn82BgulD@U60P=<`d6l-+wr-@W~K@zMIpQ?n;e9OLs`#$Vs0 znJ_}@?!MD-YTHPlgVs!5&7Kwm_DsXPKd{qNo;7!_tdxeGM9?+Df)}RcYRrHW3}>5Gq%M8UoXrVef^F5yp=zF;#eKu=#vw*r>1c;asq+Vk<+5WU<=-M zi%se@idQ@xhod0HSa?|#V5Je_6)r=MU*hJ)LVNx|(kt>7qxwMDcaw_IY2Gqyb4l47 zZ$9L+HSf@yhhF}>7_nMz($kYazPgOgc0$J(FEPqF>qd^}ATOUQ%bOePJNND{U%GrU zW`RzC#=n99Qc;h=|YU6v~fCM)bc91M+g>%e@;HKK}7* zWtYxfdiKfZUwG!7?|k-MS1(@WvTlCGo2v=7*0+3FDTL&eqJ%sCc_*^Cvh+QY6o4o-vYY%#0Jnng z;t1`qkY0mIa05perC9{cPXI155FK#HwfWLS4M@NcJ;FGIGQ9foLz3Hj5ALrnF09R; znBj!m>~vk3XaN3Mj*@8E7@WeCHrTN&m()f&66@I}5qe4u?lw!uvC{&UqlOGQKL+`` zU-$x7rXBFnN5>c?uVe-dv$QnrIb|8gC-z=?ZTav0@XEjUN3Z?q4?H_JzO=F8H}dmM zAz4{Ha}W&x&#a7%agqG`gI6{e-k3OcnpXm@A|2xc0d^dN&_QBl-$w+HZ z@>~y>AJN1lL9CEG>{Qtr_y8~IMyRX&T*#BBJd;}3)U?9Ly`eG1XoQLgZ{%Kn`PP@e zaBc2bj>a|!jk8#v{3lXNIWh|{P!+Z)#m^9`b!y=X?r<$74UU+^HG+Z~O4rLCu=uo< z0A^-V#?c@(utJT%fI2$z#`Q-F3v2HEJ)&BMx)l!*Dh)a5R<7(5xiGJh9U}F|Hk)R`o^#NCN9WXTv@n%|JLn$w{G6Q{b1qV((>ZU#>&>#=H?F9 zg>5G}Zss!1n*&ZEoS2(Gb^O$YGZ(L1dg6&oPhP!r zX$aIR*+ovmQ;XW%hXIdqDA*Gz5v2i3jyDl|tTGh2k(0Wd2-b<$< zR9J^d)ux1&tdum;DL}NwWwaEHN*lis4~Q5@O2A0L14c=2GqQO!AFT8y7UGL;IU@E6@C~!k$Q|RF# zB`21S@=7KxaJmw;p~6Px+J(_5Pjw<~^=WqTs)Uskl!fT6_&Byg2S;r&=u&KPsPo^k zX(c(hetqG=y=9NAB4!3b(N+P)yRZ@rWhM~@e2H&7KXVj?QS+UTjHK#zAXP-O&mG5{D!8rxQ1>79E!C>24xp1Fwjrfl4B&T{f=`+b0 zq6tf9(E_r+zqQ3VXJ-m=5{3va71I_VhF4h(LX|J1+vm%thVi;%=5hJZWk zk1S2zfXY5Em zM2vB;I1>2n@Bd5Xr!T`;5J9j$3FJb%IfHg@BQktPdqm^b7pLOhJEqD&Q`7=T| zYOICtwV};?+}T-M+*-K4wS0%lOdUHlHo;Zc8XBFAL&B44e|(XT7wqC{Q1d+FXb-#o zD_8ciku2y31#IzMAWcj=>V$X7CfiPGYrf1x%-C zRI{{0J0$G!>uA$6Q(K!noq%ilDwEt(!zOhTS^D){iA%YuVyTj2Srt}C0h|~XI|!w; zjfPpoDZ8bWwbQ4MbM#-SpW>}xrXT{BA}oM#B4yS4T^P%R>8n_3Z{ z(Ly<)wNFrW#v+9bWDBjfY&6dzMMQbFM5QSW61;JJ;oe>M{-^_3u7a@GiC`cYfg_Uu0{&@FJ2G0D+A}lIp~s$vL~h|XE>cZJIyf$F729O zm(8IeJT>L5KCcuWAPrLL2o#uxX^|Sy^eS@rl+F0TKlo=q`0|^d=VzlFsp2Ikv9b-d ztQv3ICQ#E)L%a15q5cMW`77*81qnX1MQb*qrpLB4qLf9=MooLaLzXCYL^L?WG&VX| zlJReQ-*@q5gD$IzWjLFf*mMJfPg|#(* z(u;3Z@KWtt+61<0lIaW_I*s#tiq&3)E*VjEK6i(VwMjX@b;jqHx8Mj3Q6! z0@Z)Ukhbtyj%H92Rr!w@BN#MYZr)h9cW;H+WdiOc2k>}kT4anRwG<_7D|Pzp@e?O! z^V%<@CdN6ks$SJNTFnkdmRB~_B-QnGe`u^;1MoCVM(apQjWU|TV{5&!sIn(0{bGj^ zn%YSuFU(c3h)`QyTDKZSUqqd=(l#_>p>OJA0v?NJT@RsRX+H7Qt4J6m?KGrT0$ee6 zJvur&J^eGk{4@XiFZ?(kDzr^jn$>?idl1W7BV3JaQUS(F^S`YZim(v1k80Q@4De@ESD`{-bzn{?$xPfeB> zv1)L-Va1Af+>>J$FP&mSW61jS={W{!VPScBX@mR9Ek0h`*y3y_Z>z_6Ex^8^0@cui zQfWn!zAKg%JxwDP*Q727vu%`;IJ>MdUVauHt?{~acK*y)zxX0|thssj4#e8s>3ubd zU(n0hD7CAVok98M!LEpp%pd#Z-&=gN@~(G1aeQuebn^Htr+m*n#Z4o~W{~UdY z_T%+T#!m!39&p!V?lZhSIeVJ(!yM=J$ar2PJgu~`F?s)fu3SkidBHe-V(;49ylu5M za*&&eJ2z?9d!5<2i6@_%zxLeR@*+1|-p+nRn|R<*9@vLO>xxz?1OnIUh*ue);R3^{ zTvo~Tm%PIQU#M7i^Pq)w^U6jeW4f?yyET0>X)>=`Vlt??qeFL!pXN4*3xS2j6^{EJ zpZB9rOUVRMjy7@vs0~iwFtj(|2CpWru5VoerEL_fYyi-^v976#=B=PdkTkF0CPt^d zGye`6lp(kRGX3Gb&ci+=ESFhh-cgEcy2-k9~7y_4f5G_!cq(M@77ku!0 zpS|%rzy12t&t81;+66w@jB#UQPWhhZl<(!Si5b2vwzsq4D?!J|(V_gz71L{f4@;jY za55o}wQnxmTEG9McTF6d0Bt3-{NT z9&iO=Y8l!Z=RczuI&WQ}t_;~8dCndh0XEIAl5v6T)C3oCCnk{f{E$HXR}mYr@>bPa z*3HE(2+2C9(o^gxYGef~s(l=iZ6=-v#`g~%Ei7|C622bn=MvdaAt6~R1VM_F4MJuI zTxmwtR!Y#9O>JUb&QTPqz^yfG>ou&Tn!2B;M<^9?5>=jrnp!kGs4B1DZ(e`&@WHBm zyvvB8pxn?T0AB9ySXmt}ds#XnvHTo{D!p|`bltct>+ytO2xYW#!m|4YqN z5-mtgw)i>#1N2)X3Z+DT1`4SN)4O=_6eneT0cgYQ^Zod-X}*xTyt1*ov(H;^tU0vD zgj-x(=ckTV*EaoX_}Ccdba-y~mbWc5sxuTfffB#lbkn3(?JGEp5)Z5gJpE`bq{rmLsvr^yP$f2R!q#q7oG2yt1{p^!@`=8IS$#(7D%PXsQ)<(8A zN45{fM<-_IMlW76aK%iG(?MW1eWqpb>~g8=C>OlF{?f|c4lh!OboMW%G<@FCaj0Dy zunqr{c;uKiWemsoq2d`N`MT-2=hoEr|2&lk`@%e2cN~FA+J?5f1JnZhwGyqmWp`+T z-X(?6wY9B>4_AnMY;J~k4`d{U85%|;)7f!B5uIP_ zJ$G)tgc|8rI*XxAH$QZZh#A5&kxC{`H{vy5V~Z;bj?YaqhcY0>E;2=4HY`G?(Q%vH zO>t;`F>AK^IS;cZZD3 z2+uOqGvU5et8GnlHFhe;^aO|`Km}cjgy@3g;tN3C3@#StWrK~|m^cP@G8QUb5PS(k zB$;c`jU4bDlMClhU{`Zk`#eE8+QC~$J{fH7>}+gsFHEm=AP&dOQLV4^zr>AbM<>Si zMi18a*EzK}bMD%(S2AS68(5;U(L2N=^XYnQesb~t_M^MoTzS>hndh{zQB)JR>&&CT z!el6514o!bbMMT&$Mi!0GA_i3qnN?fjQ?=zp|ULi)-Kv)Q5DMcB5Yi1qY{f|nE>@# zrftSSXI{>E->|T_ij*_M%$C8W8h!{0x-LDMs=N#amJTDD-9Tp-)F@Jg9f zMPsSFQwq%Z^N~4JiPR947!`Ak%OYNT?IG`e@;Z&FRTe)>ZS6*uIncDKLaMgp#XaDT zd#|K&)gv?2tb)VpFnb|;rU4&aUfJqJipDsjn;YC8VUP0xTq@dd4~HogYXdSU1V;}aKrxUe7kX1$z^umsvksMwj z($bwbw5QL^&Cl^W@>nM=Tx3<;yddZ7xq05{udZ%jz@E2)uodlqBjG!KCRkYIohI+i zr?_6(S=h`7R6|r=$cGBcB5W)I?Sy^f%?He8qcErTN9IpVb8^CW^tlL{-vxX3JKwpw zvHr@NZ&VZuV=xyZWh-1;iizvQkQVPCZrphI8z1{3Z^WK??z~qlc)T|W@#;2n{D3bW zF5N+r8t`p^z1cI@CTCCh2_T~i+1;(RwR^94TtKcSeC!M_66XdRN#(!gOHYAITC8lc z-(TW~c3%+f+b7n-qcL#ZV4zN#MIKH1sxSmMI!&h9?9?d2z& z9LE-XFcwRh^n=|J?{U7wK1NADB*Ie4`hxAB^aih@8m+Eb!oMXE@-o(t>*5|Pzxl>P z-hBrIto$9q6~2`xMwIvx%znpClh0(6WBgPfZ*+=VLWHiNq^YFfLm~_c1hsE|Ihe*( zHhJchyrOvB1UFpb`(k{wP4MO~s&m3Wmnx~`@}HVSgCL|-G&XT4H_@VrEXf5hz?jsY zL#r02`&Ocm3=U&roWd-LhAP7(ZF-t_0kVLIG0GKgAO4wt_7gw<&v|E4C`qqpCzx>b z@rg9!6~th+*g~qVIEIh0o&hM|L{?JL0ITm>8TGzxf`+R0*#!p_^L&zN9o=!$g#AuC z5-5s8gS@F4lZ2}9z1)Nas6uAT zn-|_8-n+Bp{xotQfh*)hKP zm09D28ynwVez>uCd(3-_vUm<^{?fDl0zvXk2~}9hp_(mz%UZh3fU%Lg*SGFm-*7+3 z(mB4R12=41dzFnAB13}Wi@BA^X6-oZ0Wg9;$+ zO2I&mJSiro-53Wb&BPbD%VUyW^uAN1SezW@CUFn>3hl}|KkLG26hA)t&cTSyH^I`z zHIaT9h0v!pz#* zro#wXR#^uUQeJMt7mPWA&#s&=qw*TSsRcoYGK7_k6DUMmiu%_@;-6eBUn9@rmjA zOV6{(KDS8Z8J7%QA%g-1l1%GTKj2>e)XL%mFX=0Cscf>c_RhXs@DY~#|L*SZ z?Ctr9$NCtKMSC_?z)0S*3c2D}a#O%s*8V;gpUhTPH(r13!Q;mpj8R`|;=m{KWsHl0WdgaUG`@KTM~!U(fKI|_JrfNFb=$_P zPCDEsgNMy7QZe&Yje}5m&A(Zg1`KxHy$g+Hu%peGTm0ym|lDt^0HHM^Buboz{Hrezvq_)5obw zpX_NsFD@=?7r+)Tiu~}sT@$*+jpJ6kEuvLf9Sr=#4}Exhcl*LOo*&l}i~7AF4!{$< zDncWTr~&MZCaXhw)Zz;-y!EU9>bHOKU;ORA@k8(3**e(XT-n)NMVVYk=U`-PYG`E4 zyG9RSd8q#YY%a5-LWVLrKB?IwB(1u;Ux~IhX|@D(*lp}U6i4$i-MzhuR!P;Wno%iQ z`#xxr^_3u$CLLP}QPU}kh&fx=UR8(J(^E&6SJtH+Kcfdfx$zLNxDBA3%(>=4gb0v? zO$IZX*zt)#fN@0(5>Bb{hAZ@QYl>-|$f=8UPr>TyrX;jm*QTzoE8QrmD?mD-!8d`v zXmPsI%{{n0Z$PgD-54W*GiQ#E4Yh}>*bhO)OFY9{it9BNX!lVgrW+k(OWC`5b9wRY zWgTtEpG1c|y~kMWQUF5Jl$aQbl1i5WaS56f>sO9uU}U1BW|>+m9TFp?y3JJ^h!I7k zzv(C)4lUg%eTU(Nj#2b0dGXeY=5AX!KBMnR&6SqaOU@wpLa|dl|AlBeYs^YmOZfq{ z;zh0cO-!-KMY0XUTozJE8laXvq^(Qxs5&dlOftpu-V9p)*(4eg zaUk{#c{tKJu`sQpn5$QAFWp%dng8|KGE0ESl2+_24+oa+aPz3HBtLxmm~IB=EV`r+ zplhQjW7|7>dY%TyUbbtx{)49ZW_i448)fuqr#dn?^iO{3r|+$-yngA@kr5s5&{r4_ zdax5f7f8!ZdRr06iP0m&x0Y7_!@qmxpMK;=e)bpC0rft{|x+=m= zmROuS2v|;*jc9*rLCVT8jHzK?wMajOW^-`(aU~i3h}_mJefz7c`k`4!($oQnzz9&b z^#G9Edp2-5H#c?ev4?aIg0JNmAx0mt-0uf&VW_aB0zr}Bz~SKXy|ruC@9JJ;9f6ov znJI__j)uI!m!N@&^Q}c6b{d4J8+B%W~Eb8dno4UzOL!@J9O{_7|H+l3dttN|P=cETuH zG)J)N5Gx8Z+7OL!vmTW!p?Pn|8nMcRDjhPR!NYpwwbZ)_;7?lY{7MoeCyL%pjv_{{1MR-77ZEgl+Pww`m$)q`zQF-q@Ot-SkG=HTYa5!J8988+96J+|meBIi z3K8V|QpF=$|44uCYZq_aym$W5osqpI%_Sju^|uhGA38rexq!a*2-*sUM|U^wZr*vz zs=6OrQn~=}ZXPltd0bG@t~G^*(tu4{#&(m@8KWz2tY3b0EoU?EsTJ4aCpZ~as=#NJ zVc}jbxK0;zeRN7h{|3W3UJ^JRRf;Xzxsa4D_8GayM9k|*yw9sI*t_Jm@jcd+nF}6RA4Mt|5gXbxmVS5aevG%^|d%WQ0|8X>@Y@*uu1ajc;t~PEgK>P*6-? zxaoxE3u0}3TXzBKbQAX~=xD0e9!KO(NMNbQn>;ZMuf9Z{zufDo?{_(M6bK|<+EI~~uF@5UE z;Ukl^6B2EBWJ}WoEiXFR%y}Zx^ds-nv~ggmkTF}TDw%X}W!Yp2@gwP5f3bY`*0#O^ zajRm$Q-xZtqDkHBU>8_1w4xvqfUZ3@Hf9hLf;hm9p)$3-vzz>Y)u7vs&i)4yRjii_ zk%S1L)3b5HMiL%eS#hE55fQSQxDrsySsuWM1w+^|8_9SNjDAGw+gdxdCmw(J)X6!e zw#zQ2+rA2XK81r5c{N%XId<9H+R=Xh>XoInb-o(;sb>Y?O3@S`#dk*`hdW4O3Bf85 z)V8Rj&_Vyv$+6R?=3*2GYuP<&C;$?=fow%>zbtO1hPAHe+fR8J>j5x=NJg;DRvrv+sDu?|Flqm+>y0TkjJog1J+ zu|FLNCgv~@jm}i_8wE#X7zYC;dng+-(^ddefvQjNsN2gX;Z`Yzi6k26w5cGX6%;aH z5H*d0qo`CUhDX6bj199))=8xi9mr4m%tq-1%tCg?ro$^w#EZKu^{8m(jnE@ob#ubb zHc#Vh*2OMstWDQGRJ-iu<#o-?pkH&kS6vX|Xv1T2t4k~}myop5+2^~qndyh00 zq|yhRuC<}`rTxrC7YC3}Ed$NUUB8QqPejNnu^Xddii1Ox$RcWz88x_6Cw_q=M#Wxo zvzd;~Pdzk$?%XLJZmOdRt7TJWb1gwIQ4h8^*RpJGx z>EQv^?MhW3LF9)*j~iy%CL2QEa60h6e&_nHee%Ej?jLyv?3-N)Qk!9BiPi96nT*Xl@2nLDL}cvFu2i+*xAL3 ztzrSJ=-IOnU~}~&t*WGd><^2UT#kVVvLHKt7Z4qRgtjFT(4x132Z4{GaMxXCY}FHk zl|3||XfGqA*_nx{?|Ec#apmos_jF;7-KDmE8^#SPpr!kD%|Nr-zH#xUj_w~ldt65- zx@CyCB~~g@!g)OeRY2Ou60cyoVHTeaD~|4q_|Vf&zw+kA#ictM-(;@@45tRV3>{Zk z6AEHl;;4~L7}RZ1gUhQ2zwwF1pa1au-}>OuQ9UzK)4(BO72U$Pv$3aD2nOu z$ke<}W0?{}L5b(UQM5m3^C1jTAP%hD-(S1Gm%YEaqIJFrnEYE>3o@i)Hzd~DCfcfN zkQ0thnlrQd_!!51A_pt@l4nk&p~1DajULb2riA&5!vOwc3HR*=u7CxjzI&+0&)`_Z z29+4AS~4|6vk^oLToMSEioo&`1-rz`i^7ykO4NxHGY>s9KY3IalbB9JQXB?*U=X$o zPzk~AiY90vp!@HAx`wa&Q15TtUR=?YXTDUlm9u9=KnCl#tlA*i1$zn8B&ZG>LzGy= zg*cNW!Ex&J_?LN4wPN`IqGf>~P_4MBnip?yyh1}=XFhpyCb)!E_Jd_jODmb;L{B$T z>3dR>dg%rs{pm*+@L-w;u5hB)v{7u7mRe`VT8Jll)QsXvJTBenLw9jgi?)kubVuNH zuy2rnj`TOTH-6_&KL0y^^qHmmw{&e!1|pD^T;TO!F+7&_F^`2h1B;eSG7>Yw>DTZa z0kpWMrFRMFMZke|4YlNee)!vwk|?L_2YO}6W@veMH#l1|p8fN}HUuVTtgD68R2r87 z#uq>tgjEe2C2|MiQ7J9t5pfbK%>hF`DBR(|xf#o}WEn2Du`WsN=s*W8MjTJWv>k1Y z8j%m5n%DEiu3ulee}7GyaHJJmt_HybG5LRut_}FgQlYz_EMa5T0>)SiqhkU=ZII++Qa4m(R zTc&d#p-#&h5-;5nI@B|NcKwu$LNEVNQ!Im1N5@6cHDQNtyc%^*6mX0yGw?&70QPNr{OZd&8m1q*x;W5-7c zfR#G=g24w+s+>F0AJ_E|B;DM(wW*0f4t2Yyf850gKwz>^t-_bC;{wwADMK64V?q{< z-XmixMKs+?e0*U>zqUDAqFC6FEsY{!5O!=QCp1woGg=7fUo1Lj$lt*t-i*f!E3k-a zHHm0QlX~gl@+%V?bH{W5a715vLQ|McvY9AtvSz;B!$C2;qT(GkP3lgSY>44+^@y3L zg`$&$bxm@$YZI{!yhe`fAMSnSg=atW#ZSHZ-EZl-j_>S{k_2t5d4~saxlx*(X2bLv zJvfAdWXJ(%tY}q%CmDF5rBm4!0K#*`3nge7PY5D{u6?2*0c~7hxrOOMsw|+;SDZ6k z=x7W#%*besz%<)000&{d7F`$+oMj8ER?);a3q}Vz{UIY7Ne#kr8G;Th-%;==vj#-7 zieKi`vSr;=y00glKJoaeyZ6^_T)(T6LX043*{*dZiRozQ+{DHjzq|G25#;0wE*GeE zq%*4D7{udPEQPN1J6zCpsQdo!`76)9>-mdUF6#od1l$A2MA(pVB;5=LF=ZHld|bCe z_AkHxrz^W7-~Gj3{yt5xtY_Wjs9zIA9~@}z9{(&=fSP&pD3^bQLZSD7>$O8QA#?)r zfLgq&18{n|qes?m%QJ_KKpZR}J6k-loa6MT1&Exc=$a0ieI@Wx;*}wbZ``{ycyvPd zqz|sHuE&A}<9db<@YQ4Ci7YsGA#jQUY=vVZj=8Lb+~>Inu(G3$N63&0ue$|0*d;~S z)5+`8r|0#1Q8&OKqyt)!Gbvv@K?;TJ%c&Ds58+UaPW%S5_W`LiYUeJ?U^vsr+ zAuZ99qAk+Lop;TGjUwSnrQ1&6HyVJrbae?^9cPe|9F(yUJ=I|Ur8i&v-9P^9*IxRn zCR`cQfq(NEufX!4lW)yn3<$+(FKcvSFy&A0Tv2d1%99$`v@gPD#LgGC6N}|}uq*`4Xy6Sl%unf#x3_QcKLE`^z>jM? zElYZp7rr-5UZHRAL3j8N^?QGKQ1|u$%y$6H&ie}7wy1-k2SXpxo%|Qyx-5cG0kaYU zqU2>DG)v05cET3S&O$Q!m)sxz@7I@>KKC#G^-nP;(&naaN8DY#W0#VJ!O`)VkqNF; zQSm+X_-@m&~S<Co^!2jFf{dE7k5&fxG(X9l@3f&RprQzq-** z-#Rv+WeLX~ja~r&8x2L(2#`g4A(o=nR7(0SYCk2cH7}L)a&toK0Ks;hW<>QDyrp|< zpZ$Z+oP22h$A91_&YXOglBlP5aao0Q=9W)MW7$~(UoPOHQSFZxy>^+46>j-YwA$L<*3-eTk3VQAX%V)#eqs%d zYqr(dndOx=dd@~AsUudFmE#zQF`){@zszi>Gz8~b(b6?N3QT)pDd^5`(nAAt_D^EH zo)Rd)2bz;yzrpra{P#N%M72Cd^<7|W^`r)$knqlzjxfWQ1n$R`+708R<2O|clq?5_ zDj2MaXlG%$lhN|N2j@(L(W;?|A|>7Yv#>D54;Hx)QLXGeVm)>A<%1(n|ES%Nuu5Id zAfQPSJ;z@&=(S~fAv7!DNyXN+wp(ByPL0j}$Y1|Ezwyj}`t%n+@k4+0hky9}Pe1v@ z_dc|6N*7&qU4#dFX>efI%AL;*5o+SMo8&z5sy8Gb=9vyM1Xhe>R;?6Sf3g^zo6-MQBc(M`7PK2||DmB67Tbgi>sF^K z%y>i1kOKoc0j>K)H4D6Etkul^7II__g>4x5LQ3}uO_|XJfDQ9nKj_8!fORvAme9r?YxJErjDN*)kWa^pozQD11Ns=nZOuD2XJq`yngk~b)8AV4F}h3#aLRfIa0ShW4Hx@5?ts+L)YOS8f`R}BCEEkiDd}`G&n4<9V#b7hmSsb z{OE+PWP(Y_(#WpjRVqNqcWko&L-MY>8>|Z|;+oh=7c&sc2V!T#MhyCZIb`^x2w3Tx zI5PdgCx7tr%}dX{`hTB$`DVl!@-`v`{>n#87{?66KYhV86pMB~JpZuSn|M-P(K6`(4Ne7F1HKyLsCYb@Z>5y(3_-Ut#SsPRni=tYF^4bYe(-iPSEe!}DV#)^6wo^z}At$Ygie%OI z4BT>Ga^|-Mg99jGJ|I*^YBvbi(3nP}rh-7FSuWr-F&aZ|BPNm)YL2bSC4IF;j(J7c zWEg4@3$)Ba#4G?#E)q^eRNXy9N~KpS@aCenNcG97Q^)4!r>Mnf8qH*R*AiEV>01%qeLbdZrau$pfqn$+OzNH=4(8~}N*$ic zjCPFJxIpV;)HEHv z?KK+&9&L*g9S+!u;KhVGAwF55xyL$*!H|mWptvqe>$w&mJ!}l(U~Ho^gzLN#gJTk!vxRiSN~n%F;z(LL z9UB-xaF#V64Zq5YROM}Nia*NIQ zWIk6NWmJgzw1{oQo~za?MHVFF9*Pyq72RQ}U%C1z@A(1{vzBoPNn);RMNoVKh8Z*a z+MP6d09nSC^dEiQ_5b)256{j`UDa&Q`~`{cYF_1Dt-y2VD}J3Kbizf7ZQDepZ_veO z1qD^t3Jw-#X3xLtv2VQcvTohsW-Z33oxmRzn$^abs&uONivqxHk>o-O9I0?#gnQ>V z);E6bH~;b%e*Tdk{r)N4P@!#Ha|CGyP<_uu1AP^DFckW$(L&b}4-Pk1_m=&cwml5ID%N(rEFgm8~nJbnGnyM zK87?wQ(`xeQMb7Lhiw@aE?9<$S4jr#ATgaSzv?8@wCreF60)h1O&W{^KrvObs^+NJ z8y`LT(ZBc0zx9P*f9{npj~^M+5xan{FI~TS`^uNT@qb1%%hmYNx#{^6b0<#BpFB2u zY-Va^>ZtA`((eO~>*>C9g0S}Yme*G{w$|_7Us_yRymjyPoqLOSSMP1@Y$`9h9H=Qg zxPalLu*o(jd%*!#ex|<_jHDE73?bTSMiDhmu+!w6ZV%MQozl>- zZ(WDMz(x%hX-mL(^h6m_Meo+vwq5I=#W9MlH}F&pY>)jX@}_Ju5V%;f zNEsV-Z$C8SO3{5XK4MbR6Bc#3Oh3VlAPq~Y(c2V)>D0$qgxn`hx-)@3Dd`GrN8n>f z-N-SSNraYk2;gIMOIxjUD%^nqT>%Ek8TK}S02cERtmCHTC=-HC%e?RLC!T-#W#MGE zRqi+oJ>lpW*Ld&rJW*CcNSaclvp&ND{p2&Zc6Wz<;&0CGZ0-$f9y(6qaE7;aLmZI- zFnh&;kPdx@2bXT?Y62I!9d8>hB-?S7(`W+%l{zIEqh`lpmZ2!I0)GQz=$Mg?E}MjDX`QY5-&8INsK<%JVw z1&1a(2FF|eyza5;XknP!m7?uNLm(jU!`MNy0VDZZYMvSfYhC!hdK($h_DfR zfO*VOSha*EBXmRAivMf_npJOjVC*9w`sZUK6VJZ*$J*Uzf-jw~2jTEwYis@b#_H9# zzoV0E*=I{xFWzj&dXrUK)$yM4M3wI-jdh6(>3Xj(%ZZv|(Q;0809?pcHi~Mhovy^7 z6#!3FJ?3O$&1wjkLga=iJMi%kDQbEHL1|FbNCw>E0TS!}3NqESh{~+x1#Fh}A*uq- z14R^s&B9--K(l0E@U7J_Ty=yD$yCGfS8K=VSdCn=<|mHGmMdLIu^1RnP^J67M)Y4H zuJ{E*m~qW6CSRn^E;v%y%@YgB12!#C?U8{T8BrLGFm+jp`$W&5e|Tnk;@b5kP5sMJ zOzR5t`x2^|AnA{sqH>mC8d_GgcKW1}l)#acP6R*p$RoP;psP$)vSC>G5hd%WL7*!3 z&)#|w8!})(q)@Ytsswm=_}SmPxw*de;isoY$GHDT*-PZc3#OJR=~JTwp0TtV(igzG z(xFrD2pFA(bEtK6oe-l$BIuccG)@yz0Ni;IFq%NKHku}p-*P^SX2J9owtAAP$z7fD z8X1|No7TMF`lGB9XZ(Dl+M{yXK}BEH3a`8e3w}mUw*`6Zbdt$V&w;o@T>pP*v~)j` zc-x9_3$^uha)X#CcCTQYAgYxG3DC0!qZcd!fQ=TS%+L8jbLFfVvS`y zR17AmU96r2gBf;)ZRZDJ>)N>H(e1yhN)9XfhNVhIJ3ffWTi4-rQ{LDJ*M)U_V8_Tr zlduD^1`oXo)}oLY6s)~)W-W!7J3RX*G(6g_yL}EOHx#B|9k4)f9=$XQ?GvKTbsKZ zp6^}Zs+SyebD=K~dMR%#;2G-@?2zMvsEDiYif`vFgc8Lg26z>%98Q|jNmCG}n1@`< znT?`6MZNMDbP-Hzn$|%As!Kd?(l!8wwPH|%A#KZx(Hswz1X-|}`6jS_Qy>I3iq1K> zD*aYXasWhN`*BUZphrUL3!uHCh(y5{tJtZ-;#Hhfx*)_6w5HY76IUc*LD2M}$4%;i z+wEW>gf1G^vaIyz*%*Odi7*6kjstMu4>WI&CK1v_2+b#oHInNhRp|~7Y9?FV?rkqf zJvLxak$le%ZQBq{74ASC`S!(2i}&v6XEJ^?M-2=}h$h=A*K!SFW)lmjmWcbsH3@m* z%|TCzIe6`oo)J6z{tukjwAJ|F>ydU;ayUplXr@K8603(TPmDkO*yQH@7q_>TbP`F^ zNoZ<5?4wqzQj=coNTD0n?gZBcnx4(65e%;Ya}YAE+ksq%5j*7}G6sgs*-)+1;X2hk z#^Z&#Ux0oC4t`5|XOU1_k(3%u6o%^|mk>mYd0iu?Nm{0{qmT^C1sifi6?&gx8^V@> z0^mqgE!T-y+`@@&Sm?nJwvnY0V}OO}r~}W^RJb9zt@`1avkP;xNBLEqz{R#lmSf?f zO4U13>z&xE(PDq3fs}h7-f0#ij-L`v+pF{ddzi7!lI=ruxm_`;UTJ}@o7!|LT(?s_ z`tZ5;oqOu)jmvjeZlmP`TRf0Zddd~)RBr^gQs>}m(Gnm57i&v7iL^(s$}wtPrfI~S zYOTPvdNSlX?e636sUkQ^^3yQA$(Lr6A*c4zE=tl)`SN%(+Gmpd8!cWNI{rwHJJkAg zJboHQ@|AT}nztnkqCd(*cD!K#;CPfC`#AhFKmHNUsu>hG^a5vpgzI-*>IBf2NL`ZFJCYev9sUOgndFG}$(YgLSPCLckjD?57i(wv+w+0nNh& zu~?<4=hU~Go$XJ^c&9!n8B~PlW&p&{xzRT+f9L9r8$2vbZHxxq)grLc|I>)e6a;mV zin<7x=&`s&lD$8-O^B;MF6yll2k1Kw;v9T?+@tzFN6|dmNY6@s&T2YTT|5X*7C$^3NfpytrsL+@ZaClj5NBk zo=`&6l1c+tEp-rdu8F|82Ci%Pnnz5}9cLt}KZOv1z!9NL zhebQ3k0roHRBi#Mpy?RHGbY5YxNg{<7P<*mYgEeBqL*VClL**~4Ta@pSyA1#7*L0Y zGqV$C&mPym;tk9e)V(bwOc4@D3#R}q>R}T|J0_)f2;-GNHaEBRP$oQ=2>zRnu;u&x z45@rBqYf$w6#_2?w;~uk*xTEko}BxEr#^7;t#9AHd#A#;_bh0$M2CF^>!LW1ZfoH; zBfY;^xgntJSlr1HL$%3MZ_?tYV79AaR}yZQ4JdvCMs#YaG)y;|ND*zL#bI#)q7l`e zN`=zM_}9r$HK9?EGIHs&l0fxcwM_E~Vwh~0K + + + + + + + + + ); +} + +// #194: read a one-shot `?token=` login param and immediately strip +// it from the URL (replaceState) so the credential doesn't linger in the +// address bar / browser history / Referer header. Named `token` to match the +// requested query key; the value is the WebUI login password. +function consumeUrlToken(): string | null { + if (typeof window === 'undefined') { + return null; + } + + try { + const url = new URL(window.location.href); + const value = url.searchParams.get('token'); + + if (!value) { + return null; + } + + url.searchParams.delete('token'); + window.history.replaceState({}, '', `${url.pathname}${url.search}${url.hash}`); + return value; + } catch { + return null; + } +} + +function AuthBoundary({ onboardingSteps }: { onboardingSteps: AdditionalOnboardingStep[] }) { + const finePointer = useFinePointer(); + const [authChecked, setAuthChecked] = useState(false); + const [authed, setAuthed] = useState(false); + const [mustChange, setMustChange] = useState(false); + const [status, setStatus] = useState('未连接'); + // Agreement consent gate, shown after login but BEFORE the forced password + // change. `agreements === null` while the post-auth fetch is in flight. + const [agreements, setAgreements] = useState(null); + const [agreementsError, setAgreementsError] = useState(null); + const [needsConsent, setNeedsConsent] = useState(false); + const [onboardingFinished, setOnboardingFinished] = useState(false); + const [replayingOnboarding, setReplayingOnboarding] = useState( + () => typeof window !== 'undefined' && isDeveloperOnboardingLocation(window.location), + ); + const onboardingReturnPath = useRef(null); + // The password from *this* session's login, carried into the forced + // change-password gate so it doesn't have to render an old-password field + // (which browsers autofill, misleading users on upgrade). Stays undefined + // for a returning session that's already authed but still must change. + const [loginPassword, setLoginPassword] = useState(undefined); + const [urlLoginPassword, setUrlLoginPassword] = useState(undefined); + const [urlNeedsTotp, setUrlNeedsTotp] = useState(false); + const authLoading = !authChecked || (authed && agreements === null && agreementsError === null); + const { showSkeleton: showAuthSkeleton } = useSkeletonSwap({ ready: !authLoading }); + + const client = useMemo( + () => + createApiClient({ + onUnauthorized: () => { + setAuthed(false); + setStatus('未授权'); + }, + }), + [], + ); + + const refreshAgreements = useCallback(async () => { + setAgreements(null); + setAgreementsError(null); + + try { + const payload = await client.agreements.get(); + setAgreements(payload); + setNeedsConsent(payload.consentRequired); + } catch (error) { + console.error('agreement status load failed', error); + setAgreementsError(actionErrorMessage(error)); + } + }, [client]); + + useEffect(() => { + (async () => { + let ok = await client.status(); + // #194: `?token=` in the URL logs in without typing the + // password. Only attempted when no stored token already authed us; the + // value is the WebUI login password (verified by /api/login server-side, + // so a wrong one just falls through to the login page). The param is + // consumed once and stripped from the URL first — a password in the + // address bar leaks via browser history / access logs / the Referer. + let urlPassword: string | undefined; + + if (!ok) { + const pw = consumeUrlToken(); + + if (pw) { + const result = await client.login(pw); + + if (result.ok) { + ok = true; + urlPassword = pw; + } else if ('needsTotp' in result && result.needsTotp) { + setUrlLoginPassword(pw); + setUrlNeedsTotp(true); + } + } + } + + if (ok) { + setAuthed(true); + setStatus('已连接'); + const [nextMustChange] = await Promise.all([ + client.mustChangePassword(), + refreshAgreements(), + ]); + setMustChange(nextMustChange); + + // Carry the URL password into the forced change-password gate so it + // needn't re-prompt for the old password (matches the login flow). + if (urlPassword) { + setLoginPassword(urlPassword); + } + } + + setAuthChecked(true); + })(); + }, [client, refreshAgreements]); + + const handleLoggedOut = useCallback(() => { + // Reset the URL so the next login lands on the overview page, matching + // the pre-router behaviour, and clear every post-auth gate. + window.history.replaceState({}, '', '/'); + setAuthed(false); + setStatus('未连接'); + setMustChange(false); + setAgreements(null); + setAgreementsError(null); + setNeedsConsent(false); + setOnboardingFinished(false); + setReplayingOnboarding(false); + onboardingReturnPath.current = null; + setLoginPassword(undefined); + setUrlLoginPassword(undefined); + setUrlNeedsTotp(false); + }, []); + + const handleDecline = useCallback(async () => { + await client.logout(); + handleLoggedOut(); + }, [client, handleLoggedOut]); + + const restartOnboarding = useCallback(() => { + const currentPath = browserPath(window.location); + const returnPath = isDeveloperOnboardingLocation(window.location) + ? DEVELOPER_SETTINGS_URL + : currentPath; + onboardingReturnPath.current = returnPath; + const currentState = + typeof window.history.state === 'object' && window.history.state !== null + ? (window.history.state as Record) + : {}; + setReplayingOnboarding(true); + appRouter.history.push(DEVELOPER_ONBOARDING_URL, { + ...currentState, + [DEVELOPER_ONBOARDING_RETURN_KEY]: returnPath, + }); + }, []); + + const exitOnboardingReplay = useCallback(() => { + const returnPath = + onboardingReturnPath.current ?? developerOnboardingReturnPath(window.history.state); + onboardingReturnPath.current = null; + + if (returnPath && isDeveloperOnboardingLocation(window.location)) { + // The developer page pushed the replay entry, so browser Back is the + // authoritative way to restore both the URL and its router history. + appRouter.history.back(); + return; + } + + appRouter.history.replace(returnPath ?? DEVELOPER_SETTINGS_URL); + setReplayingOnboarding(false); + }, []); + + useEffect(() => { + const syncReplayToLocation = () => { + const replaying = isDeveloperOnboardingLocation(appRouter.history.location); + + if (!replaying) { + onboardingReturnPath.current = null; + } + + setReplayingOnboarding(replaying); + }; + + return appRouter.history.subscribe(syncReplayToLocation); + }, []); + + let view: React.ReactNode; + + if (authLoading || showAuthSkeleton) { + view = {authChecked ? '加载中…' : '初始化中…'}; + } else if (!authed) { + view = ( + { + setAuthed(true); + setStatus('已连接'); + setMustChange(needsChange); + setLoginPassword(password); + setUrlLoginPassword(undefined); + setUrlNeedsTotp(false); + setOnboardingFinished(false); + void refreshAgreements(); + }} + /> + ); + } else if (agreementsError) { + view = ( + { + void refreshAgreements(); + }} + onLogout={() => { + void handleDecline(); + }} + /> + ); + } else if ( + agreements && + (replayingOnboarding || + (!onboardingFinished && (needsConsent || mustChange || onboardingSteps.length > 0))) + ) { + view = ( + setNeedsConsent(false)} + onPasswordComplete={() => { + setMustChange(false); + setLoginPassword(undefined); + }} + onComplete={() => { + if (replayingOnboarding) { + exitOnboardingReplay(); + return; + } + + setOnboardingFinished(true); + }} + onStale={refreshAgreements} + onDecline={replayingOnboarding ? exitOnboardingReplay : handleDecline} + /> + ); + } else { + view = ( + + + + ); + } + + return ( + + + + {view} + + + + + ); +} + +function AgreementLoadFailure({ + detail, + onRetry, + onLogout, +}: { + detail: string; + onRetry: () => void; + onLogout: () => void; +}) { + return ( +

    + + +
    +
    + +
    +
    +

    协议状态加载失败

    +

    + 无法确认当前用户协议与隐私政策状态。为避免绕过必要确认,控制台暂不放行。 +

    +

    {detail}

    +
    +
    +
    + + +
    +
    +
    +
    + ); +} + +function Splash({ children }: { children: React.ReactNode }) { + return ( +
    + + {null} + +
    + ); +} + +function LoginGate({ + onAuthed, + initialPassword, + initialNeedsTotp, +}: { + onAuthed: (mustChange: boolean, password: string) => void; + initialPassword?: string; + initialNeedsTotp?: boolean; +}) { + const api = useApi(); + const { startAction, dismiss } = useActionFeedback(); + const handleLogin = useCallback( + async (password: string, secondFactor?: { totp?: string; recoveryCode?: string }) => { + const handle = startAction({ + title: '正在登录', + detail: secondFactor ? '正在验证一次性密码' : '正在验证 WebUI 访问密码', + }); + const result = await api.login(password, secondFactor); + + if (result.ok) { + handle.succeed({ title: '登录成功', detail: '正在进入控制台' }); + onAuthed(result.mustChangePassword, password); + return { success: true }; + } + + if ('message' in result) { + handle.fail(result.message, { title: '登录失败' }); + return { success: false, error: result.message }; + } + + dismiss(); + return { success: false, needsTotp: true }; + }, + [api, dismiss, onAuthed, startAction], + ); + return ( + + ); +} + +function OnboardingGate({ + payload, + needsConsent, + mustChangePassword, + replay, + knownOldPassword, + onConsentComplete, + onPasswordComplete, + onComplete, + additionalSteps, + onStale, + onDecline, +}: { + payload: AgreementsPayload; + needsConsent: boolean; + mustChangePassword: boolean; + replay: boolean; + knownOldPassword?: string; + onConsentComplete: () => void; + onPasswordComplete: () => void; + onComplete: () => void; + additionalSteps: AdditionalOnboardingStep[]; + onStale: () => void; + onDecline: () => void; +}) { + const api = useApi(); + const { runAction } = useActionFeedback(); + const execution = onboardingExecution(replay, { + changePassword: (oldPassword, newPassword) => api.changePassword(oldPassword, newPassword), + acceptAgreements: async () => { + const result = await runAction( + { + title: '正在记录协议确认', + detail: `协议版本 ${payload.version.slice(0, 8)}`, + successTitle: '协议确认已记录', + errorTitle: '协议确认失败', + resultError: (consent) => (consent.success ? null : consent.message), + }, + () => api.agreements.recordConsent(payload.version), + ); + + if (result.success) { + return { success: true }; + } + + if (result.currentVersion && result.currentVersion !== payload.version) { + onStale(); + return { + success: false, + message: '协议已更新,已为你载入最新版本,请重新阅读后确认。', + }; + } + + return { success: false, message: result.message ?? '提交失败,请重试' }; + }, + }); + return ( + undefined : onConsentComplete} + onPasswordComplete={replay ? () => undefined : onPasswordComplete} + onComplete={onComplete} + additionalSteps={additionalSteps} + checkStrength={(password) => api.checkPasswordStrength(password)} + submitPassword={execution.actions.changePassword} + onAccept={execution.actions.acceptAgreements} + /> + ); +} diff --git a/packages/webui/src/appearance/registry.ts b/packages/webui/src/appearance/registry.ts new file mode 100644 index 00000000..84ae495b --- /dev/null +++ b/packages/webui/src/appearance/registry.ts @@ -0,0 +1,29 @@ +import type { WebuiPresentation, WebuiTarget } from '@snowluma/common/webui-target'; +import type { UiAppearance } from '@/types'; + +export interface TargetAppearance { + css: string; + licenseUrl?: string; + resolve: (saved: UiAppearance, presentation: WebuiPresentation) => UiAppearance; +} + +export function resolveAppearance( + saved: UiAppearance, + presentation: WebuiPresentation | null, + target: TargetAppearance | null, +): UiAppearance { + if (!presentation) { + return saved; + } + + if (!target) { + throw new Error('Target appearance must be prepared before mounting ThemeProvider'); + } + + return target.resolve(saved, presentation); +} + +// Exhaustive: adding a shared target requires a frontend implementation here. +export const targetLoaders = { + maibot: () => import('./targets/maibot').then((module) => module.maibotAppearance), +} satisfies Record Promise>; diff --git a/packages/webui/src/appearance/runtime.ts b/packages/webui/src/appearance/runtime.ts new file mode 100644 index 00000000..c9a9c0ce --- /dev/null +++ b/packages/webui/src/appearance/runtime.ts @@ -0,0 +1,104 @@ +import { + parseWebuiPresentation, + WEBUI_PRESENTATION_EVENT, + WEBUI_TARGET_BOOTSTRAP_ID, + type WebuiPresentation, +} from '@snowluma/common/webui-target'; +import { createPresentationStore, type PresentationStore } from './store'; +import { targetLoaders, type TargetAppearance } from './registry'; + +declare global { + interface Window { + /** The embedding host sets this before dispatching WEBUI_PRESENTATION_EVENT. */ + __SNOWLUMA_HOST_APPEARANCE__?: unknown; + } +} + +const bootstrap = + typeof document === 'undefined' ? null : document.getElementById(WEBUI_TARGET_BOOTSTRAP_ID); +const initial = bootstrap + ? parseWebuiPresentation(JSON.parse(bootstrap.textContent || 'null')) + : null; +export const presentationStore = createPresentationStore(initial?.target ?? null); +let targetAppearance: TargetAppearance | null = null; + +function acceptHostValue(store: PresentationStore, value: unknown): void { + try { + store.receive(value); + } catch (error) { + // Reject only the bad update; keep the last valid presentation and expose the failure. + console.error('[SnowLuma appearance] Rejected host update', error); + } +} + +export function subscribeHostAppearance(host: Window, store: PresentationStore): () => void { + if (store.target === null) { + return () => {}; + } + + const receive = (event: Event) => + acceptHostValue(store, (event as CustomEvent).detail); + host.addEventListener(WEBUI_PRESENTATION_EVENT, receive); + + // Covers messages sent before React subscribed, including while the lazy CSS was loading. + if (host.__SNOWLUMA_HOST_APPEARANCE__ !== undefined) { + acceptHostValue(store, host.__SNOWLUMA_HOST_APPEARANCE__); + } + + return () => host.removeEventListener(WEBUI_PRESENTATION_EVENT, receive); +} + +export function applyPresentationAttributes(presentation: WebuiPresentation | null): void { + const root = document.documentElement; + + if (presentation) { + root.dataset.webuiTarget = presentation.target; + root.dataset.webuiStyle = presentation.style; + } else { + delete root.dataset.webuiTarget; + delete root.dataset.webuiStyle; + } +} + +export function getTargetAppearance(): TargetAppearance | null { + return targetAppearance; +} + +/** Called before mounting React; standalone deployments do not load any target assets. */ +export async function prepareTargetAppearance(): Promise { + const target = presentationStore.target; + + if (target === null) { + return; + } + + targetAppearance = await targetLoaders[target](); + const style = document.createElement('style'); + style.id = 'snowluma-target-styles'; + style.textContent = targetAppearance.css; + document.head.appendChild(style); + + if (targetAppearance.licenseUrl) { + const license = document.createElement('link'); + license.rel = 'license'; + license.href = targetAppearance.licenseUrl; + document.head.appendChild(license); + } + + if (window.__SNOWLUMA_HOST_APPEARANCE__ !== undefined) { + acceptHostValue(presentationStore, window.__SNOWLUMA_HOST_APPEARANCE__); + } + + const presentation = presentationStore.getSnapshot(); + applyPresentationAttributes(presentation); + + if (presentation) { + const dark = + presentation.mode === 'system' + ? window.matchMedia('(prefers-color-scheme: dark)').matches + : presentation.mode === 'dark'; + document.documentElement.classList.toggle('dark', dark); + document.documentElement.classList.toggle('light', !dark); + document.documentElement.style.colorScheme = dark ? 'dark' : 'light'; + } +} diff --git a/packages/webui/src/appearance/store.ts b/packages/webui/src/appearance/store.ts new file mode 100644 index 00000000..8d6de3d8 --- /dev/null +++ b/packages/webui/src/appearance/store.ts @@ -0,0 +1,51 @@ +import { + defaultWebuiPresentation, + parseWebuiPresentation, + type WebuiPresentation, + type WebuiTarget, +} from '@snowluma/common/webui-target'; + +/** Synchronous snapshots avoid stale async style loads winning a rapid host theme change. */ +export function createPresentationStore(target: WebuiTarget | null) { + let snapshot: WebuiPresentation | null = target ? defaultWebuiPresentation(target) : null; + const listeners = new Set<() => void>(); + + return { + target, + getSnapshot: () => snapshot, + subscribe(listener: () => void) { + if (target) { + listeners.add(listener); + } + + return () => { + listeners.delete(listener); + }; + }, + receive(value: unknown) { + // Host code cannot opt a standalone deployment into a target. + if (target === null) { + return; + } + + const update = parseWebuiPresentation(value); + + if (update.target !== null && update.target !== target) { + throw new Error( + `Host appearance target does not match deployment target ${target}`, + ); + } + + const next = update.target === null ? null : update; + + if (JSON.stringify(next) === JSON.stringify(snapshot)) { + return; + } + + snapshot = next; + listeners.forEach((listener) => listener()); + }, + }; +} + +export type PresentationStore = ReturnType; diff --git a/packages/webui/src/appearance/targets/assets/Jersey20-OFL.txt b/packages/webui/src/appearance/targets/assets/Jersey20-OFL.txt new file mode 100644 index 00000000..0e2994d7 --- /dev/null +++ b/packages/webui/src/appearance/targets/assets/Jersey20-OFL.txt @@ -0,0 +1,93 @@ +Copyright 2023 The Soft Type Project Authors (https://github.com/scfried/soft-type-jersey) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +https://openfontlicense.org + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/packages/webui/src/appearance/targets/assets/Jersey20-Regular.ttf b/packages/webui/src/appearance/targets/assets/Jersey20-Regular.ttf new file mode 100644 index 0000000000000000000000000000000000000000..8b4e0fef033467399221bb68ec688d07fb7ea95a GIT binary patch literal 128576 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�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 kjcwYVv`IXR5t ({ + ...saved, + mode: presentation.mode, + palette: 'default', + accentMode: 'preset', + accentScope: 'global', + darkIntensity: 'soft', + sidebarStyle: 'follow', + background: { ...saved.background, type: 'none' }, + fontSans: 'custom', + fontSansCustom: + '"SnowLuma Jersey 20", system-ui, "PingFang SC", "Microsoft YaHei", sans-serif', + fontMono: 'default', + fontMonoCustom: '', + radius: 0, + customCss: '', + cssVars: {}, + customPointerSystem: false, + }), +}; diff --git a/packages/webui/src/assets/hero.png b/packages/webui/src/assets/hero.png new file mode 100644 index 0000000000000000000000000000000000000000..cc51a3d20ad4bc961b596a6adfd686685cd84bb0 GIT binary patch literal 44919 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 JPDHLkV1myZcL)Fg literal 0 HcmV?d00001 diff --git a/packages/webui/src/assets/react.svg b/packages/webui/src/assets/react.svg new file mode 100644 index 00000000..6c87de9b --- /dev/null +++ b/packages/webui/src/assets/react.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/webui/src/assets/vite.svg b/packages/webui/src/assets/vite.svg new file mode 100644 index 00000000..5101b674 --- /dev/null +++ b/packages/webui/src/assets/vite.svg @@ -0,0 +1 @@ +Vite diff --git a/packages/webui/src/components/change-password-dialog.tsx b/packages/webui/src/components/change-password-dialog.tsx new file mode 100644 index 00000000..660f87a3 --- /dev/null +++ b/packages/webui/src/components/change-password-dialog.tsx @@ -0,0 +1,40 @@ +import { Modal } from '@/components/interior/modal'; +import { ChangePasswordForm } from '@/components/pages/change-password-form'; +import { useApi } from '@/lib/api'; + +interface ChangePasswordDialogProps { + open: boolean; + onOpenChange: (open: boolean) => void; + /** Fired after the password is changed successfully (dialog closes itself). */ + onSuccess: () => void; +} + +/** + * In-app "修改访问密码" modal. The forced first-time flow uses the full-screen + * the onboarding wizard; this is the voluntary change a logged-in admin triggers + * from 设置 → 账号安全. Both share ChangePasswordForm, so behaviour is identical. + */ +export function ChangePasswordDialog({ open, onOpenChange, onSuccess }: ChangePasswordDialogProps) { + const api = useApi(); + + return ( + onOpenChange(false)} + title="修改访问密码" + description="设置一个全新的强密码后,其它会话将被立即下线,需要重新登录。" + closeLabel="关闭修改密码弹窗" + > + api.checkPasswordStrength(p)} + submit={(o, n) => api.changePassword(o, n)} + onSuccess={() => { + onSuccess(); + onOpenChange(false); + }} + onCancel={() => onOpenChange(false)} + idPrefix="dialog-cpw" + /> + + ); +} diff --git a/packages/webui/src/components/config/account-sidebar.tsx b/packages/webui/src/components/config/account-sidebar.tsx new file mode 100644 index 00000000..eb27e9b4 --- /dev/null +++ b/packages/webui/src/components/config/account-sidebar.tsx @@ -0,0 +1,155 @@ +// Account selector strip. Collapsing to a 56px avatar-only column keeps +// the right-side editor breathing on smaller screens; expanded it shows +// nickname + UIN like the original. Selection routes through +// `requestSwitchUin` so the dirty-modify guard still gates the switch. + +import { motion } from 'motion/react'; +import { ChevronLeft, ChevronRight } from 'lucide-react'; +import { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar'; +import { Button } from '@/components/ui/button'; +import { ScrollArea } from '@/components/ui/scroll-area'; +import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip'; +import { useTheme } from '@/contexts/ThemeContext'; +import { cn } from '@/lib/utils'; +import type { QQInfo } from '@/types'; + +function qqAvatarUrl(uin: string) { + return `/avatar/${encodeURIComponent(uin)}`; +} + +interface AccountSidebarProps { + accounts: QQInfo[]; + selectedUin: string | null; + onSelect: (uin: string) => void; + collapsed: boolean; + onToggleCollapsed: () => void; +} + +export function AccountSidebar({ + accounts, + selectedUin, + onSelect, + collapsed, + onToggleCollapsed, +}: AccountSidebarProps) { + const { appearance } = useTheme(); + const reduceMotion = appearance.reduceMotion || appearance.disableMotion; + + return ( + +
    + {!collapsed && ( + 在线连接 + )} + +
    + + {accounts.length === 0 ? ( +

    + {collapsed ? '—' : '暂无在线会话'} +

    + ) : ( + + +
    + {accounts.map((q) => { + const isActive = selectedUin === q.uin; + const button = ( + onSelect(q.uin)} + className={cn( + 'flex items-center gap-2.5 rounded-lg border text-left transition-colors cursor-pointer', + collapsed ? 'justify-center p-1.5' : 'px-2.5 py-2', + isActive + ? 'border-primary/30 bg-primary/10' + : 'border-transparent hover:bg-accent/40', + )} + > + + + + {(q.nickname || q.uin).slice(0, 2)} + + + {!collapsed && ( +
    +
    + {q.nickname || q.uin} +
    +
    + {q.uin} +
    +
    + )} +
    + ); + return collapsed ? ( + + {button} + +
    + + {q.nickname || q.uin} + + + {q.uin} + +
    +
    +
    + ) : ( + button + ); + })} +
    +
    +
    + )} +
    + ); +} diff --git a/packages/webui/src/components/config/defaults.ts b/packages/webui/src/components/config/defaults.ts new file mode 100644 index 00000000..01386bdc --- /dev/null +++ b/packages/webui/src/components/config/defaults.ts @@ -0,0 +1,165 @@ +// Per-network-kind metadata: localized title, summary projector for the +// list view, and factory for "create new" defaults. Centralised here so the +// page / list / dialog all agree on naming and shape and a new adapter +// kind only needs one entry in NETWORK_TABS to wire end-to-end. + +import type { + HttpClientNetwork, + HttpServerNetwork, + MessageFormat, + NetworkKind, + OneBotNetworks, + WsClientNetwork, + WsRole, + WsServerNetwork, +} from '@/types'; + +export type TabKey = 'general' | NetworkKind; + +export interface NetworkTabDescriptor { + key: K; + /** Tab label and dialog title prefix. */ + title: string; + /** Short subtitle shown under the tab when active. */ + description: string; + /** Singular noun for "新建 / 编辑 X". */ + noun: string; + /** Project the adapter into a short list-card summary string. */ + summarize: (item: OneBotNetworks[K][number]) => string; + /** Factory producing a fresh adapter with a unique suffix in its name. */ + defaultEntry: (suffix: number) => OneBotNetworks[K][number]; +} + +export function generateAccessToken(): string { + const bytes = new Uint8Array(32); + globalThis.crypto.getRandomValues(bytes); + return Array.from(bytes, (b) => b.toString(16).padStart(2, '0')).join(''); +} + +const httpServersTab: NetworkTabDescriptor<'httpServers'> = { + key: 'httpServers', + title: 'HTTP API', + description: '本地监听 HTTP 端口,OneBot 客户端发起请求', + noun: 'HTTP API 服务', + summarize: (it: HttpServerNetwork) => { + const host = it.host?.trim() || '0.0.0.0'; + const path = (it.path?.trim() || '/').replace(/^\/?/, '/'); + return `${host}:${it.port}${path}${it.enableWebSocket === true ? ' · WebSocket' : ''}${it.enableSse === true ? ' · SSE' : ''}`; + }, + defaultEntry: (suffix): HttpServerNetwork => ({ + name: `http-${suffix}`, + host: '127.0.0.1', + port: 3000, + path: '/', + enableWebSocket: false, + enableSse: false, + accessToken: generateAccessToken(), + messageFormat: 'array', + reportSelfMessage: false, + }), +}; + +const httpClientsTab: NetworkTabDescriptor<'httpClients'> = { + key: 'httpClients', + title: 'HTTP 客户端', + description: '主动向远端 URL POST 推送事件', + noun: 'HTTP 推送客户端', + summarize: (it: HttpClientNetwork) => it.url || '(未设置 URL)', + defaultEntry: (suffix): HttpClientNetwork => ({ + name: `httppost-${suffix}`, + url: 'http://127.0.0.1:5700', + messageFormat: 'array', + reportSelfMessage: false, + }), +}; + +const wsServersTab: NetworkTabDescriptor<'wsServers'> = { + key: 'wsServers', + title: 'WS 服务端', + description: '本地监听 WebSocket 端口,客户端建立持久连接', + noun: 'WebSocket 服务', + summarize: (it: WsServerNetwork) => { + const host = it.host?.trim() || '0.0.0.0'; + const path = (it.path?.trim() || '/').replace(/^\/?/, '/'); + const role = it.role ?? 'Universal'; + return `${host}:${it.port}${path} · ${role}`; + }, + defaultEntry: (suffix): WsServerNetwork => ({ + name: `ws-${suffix}`, + host: '127.0.0.1', + port: 3001, + path: '/', + role: 'Universal' as WsRole, + accessToken: generateAccessToken(), + messageFormat: 'array', + reportSelfMessage: false, + }), +}; + +const wsClientsTab: NetworkTabDescriptor<'wsClients'> = { + key: 'wsClients', + title: 'WS 客户端', + description: '主动连接到外部 WebSocket 服务器(reverse-ws)', + noun: 'WebSocket 反向客户端', + summarize: (it: WsClientNetwork) => { + const role = it.role ?? 'Universal'; + return `${it.url || '(未设置 URL)'} · ${role}`; + }, + defaultEntry: (suffix): WsClientNetwork => ({ + name: `wsclient-${suffix}`, + url: 'ws://127.0.0.1:8080/ws', + role: 'Universal' as WsRole, + reconnectIntervalMs: 5000, + messageFormat: 'array', + reportSelfMessage: false, + }), +}; + +/** + * Order here drives both the tab strip order and the dialog/page wiring. + * Each entry stays strictly typed on its kind so callers get the narrow + * adapter shape (no NetworkBase widening). + */ +export const NETWORK_TABS = { + httpServers: httpServersTab, + httpClients: httpClientsTab, + wsServers: wsServersTab, + wsClients: wsClientsTab, +} satisfies { [K in NetworkKind]: NetworkTabDescriptor }; + +export const NETWORK_TAB_ORDER: NetworkKind[] = [ + 'httpServers', + 'httpClients', + 'wsServers', + 'wsClients', +]; + +export const ALL_TABS: TabKey[] = ['general', ...NETWORK_TAB_ORDER]; + +/** + * Find the smallest suffix N (starting at list.length + 1) such that + * `factory(N).name` doesn't collide with any existing adapter. Used by + * the page to seed a fresh-default adapter when the user clicks "create". + */ +export function nextUniqueSuffix( + networks: { name: string }[], + factory: (suffix: number) => { name: string }, +): number { + const used = new Set(networks.map((n) => n.name)); + let suffix = networks.length + 1; + + while (used.has(factory(suffix).name)) { + suffix += 1; + } + + return suffix; +} + +// Re-exported for callers that just need to type a generic adapter. +export interface AdapterCommon { + name: string; + enabled?: boolean; + accessToken?: string; + messageFormat: MessageFormat; + reportSelfMessage: boolean; +} diff --git a/packages/webui/src/components/config/general-settings-tab.tsx b/packages/webui/src/components/config/general-settings-tab.tsx new file mode 100644 index 00000000..ad1f275a --- /dev/null +++ b/packages/webui/src/components/config/general-settings-tab.tsx @@ -0,0 +1,130 @@ +// "通用设置" tab — per-account fields that apply to the whole OneBotInstance +// rather than any specific adapter: the built-in `#sl` status command and the +// notification opt-in. Edits here mark the config dirty and are auto-saved with +// debounce by the parent ConfigPage. (Deployment-wide knobs like the music-sign +// URL live in Settings → 全局配置, not here.) + +import { Input } from '@/components/ui/input'; +import { Label } from '@/components/ui/label'; +import { ToggleSwitch } from '@/components/ui/toggle-switch'; +import { NotificationOptIn } from '@/components/config/notification-opt-in'; +import type { OneBotConfig, StatusCommandConfig } from '@/types'; + +interface GeneralSettingsTabProps { + config: OneBotConfig; + onChange: (next: OneBotConfig) => void; +} + +export function GeneralSettingsTab({ config, onChange }: GeneralSettingsTabProps) { + const sc = config.statusCommand; + const setStatusCommand = (patch: Partial) => + onChange({ ...config, statusCommand: { ...sc, ...patch } }); + + return ( +
    +
    +
    + +

    + 下次账号登录或重启后生效。只静默写入本地消息库,不重放历史事件,也不改变 QQ + 已读状态。 每次最多处理 3 个群和 3 个好友、每个会话 20 条,自动请求至少间隔 + 2 秒。 +

    +
    + + onChange({ + ...config, + historySync: { enabled }, + }) + } + ariaLabel="登录时补齐云端历史记录" + /> +
    + +
    +
    +
    + +

    + 收到纯文本 #sl 时回复 SnowLuma 版本 / + 平台 / 运行时长。任何人可触发,关闭后完全不响应。 +

    +
    + setStatusCommand({ enabled: v })} + ariaLabel="启用 #sl 状态命令" + /> +
    + +
    + + setStatusCommand({ trigger: e.target.value })} + /> +

    + 自定义触发词,默认 #sl。最长 32 + 字符,匹配前会去除首尾空格并转为小写。 +

    +
    + +
    +
    + +

    + 开启后,命中的 #sl 不再投递给已连接的 + Bot(仍会回复并本地记录)。默认关闭即透传。 +

    +
    + setStatusCommand({ swallow: v })} + ariaLabel="吞掉 #sl 不转发给下游" + disabled={!sc.enabled} + /> +
    + +
    + + { + const n = Math.trunc(Number(e.target.value)); + setStatusCommand({ + cooldownSeconds: Number.isFinite(n) && n >= 0 ? n : 0, + }); + }} + /> +

    + 同一会话在该秒数内重复 #sl{' '} + 不再回复,防刷屏。 + 0 表示不限制。 +

    +
    +
    + + onChange({ ...config, notifications: { channelIds } })} + /> +
    + ); +} diff --git a/packages/webui/src/components/config/node-edit-dialog.tsx b/packages/webui/src/components/config/node-edit-dialog.tsx new file mode 100644 index 00000000..6c262763 --- /dev/null +++ b/packages/webui/src/components/config/node-edit-dialog.tsx @@ -0,0 +1,678 @@ +// Modal editor used for both "create" and "edit". Holds a local draft +// copy of the adapter until the user clicks save (so cancel really does +// throw away changes). Validation is minimal — blank-name and dup-name +// disable the save button; everything else is best-effort coercion. +// +// Visual language: Apple-HIG grouped-list flavour (matches debug-page) — +// captioned sections, soft rounded cards, settings rows with a label on the +// left and a control (toggle / custom dropdown) on the right. + +import { useId, useMemo, useRef, useState, type ReactNode } from 'react'; +import { motion } from 'motion/react'; +import { + ArrowLeftRight, + ArrowUpRight, + Check, + Copy, + Eye, + EyeOff, + Radio, + RefreshCw, + Server, + type LucideIcon, +} from 'lucide-react'; +import { Modal } from '@/components/interior/modal'; +import { Button } from '@/components/ui/button'; +import { DropdownSelect, type DropdownOption } from '@/components/ui/dropdown-select'; +import { Input } from '@/components/ui/input'; +import { Label } from '@/components/ui/label'; +import { ToggleSwitch } from '@/components/ui/toggle-switch'; +import { cn, copyText } from '@/lib/utils'; +import { accessTokenFeedback, type AccessTokenFeedback } from '@/lib/access-token-feedback'; +import { allowEmptyInboundAccessToken } from '@/lib/transport-security'; +import type { + HttpClientNetwork, + HttpServerNetwork, + MessageFormat, + NetworkKind, + OneBotNetworks, + WsClientNetwork, + WsRole, + WsServerNetwork, +} from '@/types'; +import { generateAccessToken, NETWORK_TABS } from './defaults'; + +type AnyAdapter = OneBotNetworks[K][number]; + +const KIND_ICON: Record = { + httpServers: Server, + httpClients: ArrowUpRight, + wsServers: Radio, + wsClients: ArrowLeftRight, +}; + +interface NodeEditDialogProps { + open: boolean; + onOpenChange: (open: boolean) => void; + kind: K; + /** Initial draft state — caller seeds it with `defaultEntry` for create + * or the existing item for edit. */ + initial: AnyAdapter; + /** True when editing an existing adapter (drives title + button copy). */ + isEdit: boolean; + /** Names of every other adapter in the same list, for duplicate check. */ + otherNames: string[]; + /** Account context used when evaluating user-chosen access tokens. */ + uin: string; + onSubmit: (item: AnyAdapter) => void; +} + +export function NodeEditDialog(props: NodeEditDialogProps) { + const { open, onOpenChange, kind, initial, isEdit, otherNames, uin, onSubmit } = props; + const tab = NETWORK_TABS[kind]; + const Icon: LucideIcon = KIND_ICON[kind]; + + // Local draft. The parent unmounts this component on close so each + // open gets a fresh `initial` via useState's lazy init — no effect-based + // resync needed, which keeps the lifecycle linear. + const [draft, setDraft] = useState>(initial); + + const trimmedName = draft.name?.trim() ?? ''; + const blankName = trimmedName.length === 0; + const duplicateName = !blankName && otherNames.includes(trimmedName); + + const isInboundServer = kind === 'httpServers' || kind === 'wsServers'; + const tokenChanged = (draft.accessToken ?? '') !== (initial.accessToken ?? ''); + const enforceTokenPolicy = isInboundServer && (!isEdit || tokenChanged); + const inbound = isInboundServer ? (draft as HttpServerNetwork | WsServerNetwork) : null; + const allowEmptyToken = + typeof window !== 'undefined' && + allowEmptyInboundAccessToken(window.location.hostname, inbound?.host); + const tokenFeedback = useMemo( + () => + enforceTokenPolicy + ? accessTokenFeedback( + draft.accessToken ?? '', + [uin, draft.name ?? '', kind, inbound?.host ?? '', inbound?.port ?? 0], + allowEmptyToken, + ) + : undefined, + [ + allowEmptyToken, + draft.accessToken, + draft.name, + enforceTokenPolicy, + inbound?.host, + inbound?.port, + kind, + uin, + ], + ); + + const canSave = !blankName && !duplicateName && (tokenFeedback?.valid ?? true); + + const patch = (changes: Partial>) => + setDraft({ ...draft, ...changes } as AnyAdapter); + + const isWs = kind === 'wsServers' || kind === 'wsClients'; + const isHttpServer = kind === 'httpServers'; + const role = ((draft as WsServerNetwork | WsClientNetwork).role ?? 'Universal') as WsRole; + + return ( + onOpenChange(false)} + title={ + + + + + {isEdit ? `编辑 ${tab.noun}` : `新建 ${tab.noun}`} + + } + description={tab.description} + closeLabel="关闭节点编辑弹窗" + maxWidth={576} + maxHeight="calc(100dvh - 2rem)" + footer={ + <> + + + + } + > +
    + +
    + +

    + 关闭后保存即可保留配置但不启动该节点 +

    +
    + + patch({ enabled: v ? undefined : false } as Partial>) + } + ariaLabel="启用" + /> +
    + +
    +
    + patch({ name: v } as Partial>)} + error={ + blankName + ? '请填写名称' + : duplicateName + ? '名称与其它节点重复' + : undefined + } + /> + +
    +
    + +
    +
    + + patch({ accessToken: v || undefined } as Partial>) + } + onGenerate={() => + patch({ accessToken: generateAccessToken() } as Partial< + AnyAdapter + >) + } + feedback={tokenFeedback} + /> +
    +
    + +
    +
    + {isHttpServer && ( + + + patch({ enableWebSocket: v } as unknown as Partial< + AnyAdapter + >) + } + ariaLabel="启用 WebSocket" + /> + + )} + + {isHttpServer && ( + + patch({ ...draft, enableSse: v })} + ariaLabel="启用 SSE" + /> + + )} + + + + patch({ messageFormat: v } as Partial>) + } + /> + + + {isWs && ( + + + patch({ role: v } as unknown as Partial>) + } + /> + + )} + + + + patch({ reportSelfMessage: v } as Partial>) + } + ariaLabel="上报自身消息" + /> + +
    +
    +
    +
    + ); +} + +// ─────────────── grouped-list scaffolding ─────────────── + +/** Captioned inset section — the iOS "grouped list" unit. */ +function Section({ + caption, + delay, + children, +}: { + caption: string; + delay: number; + children: ReactNode; +}) { + return ( + + {caption} +
    + {children} +
    +
    + ); +} + +/** Settings row — label (+ optional subtitle) on the left, control on the right. */ +function SettingRow({ + label, + desc, + children, +}: { + label: string; + desc?: string; + children: ReactNode; +}) { + return ( +
    +
    + + {desc && ( +

    {desc}

    + )} +
    +
    {children}
    +
    + ); +} + +// ─────────────── kind-specific field strips ─────────────── + +interface KindFieldsProps { + kind: K; + draft: AnyAdapter; + patch: (changes: Partial>) => void; +} + +function KindFields({ kind, draft, patch }: KindFieldsProps) { + // Per-branch narrowing — TS can't follow the generic relationship so + // each arm casts once. Field components receive specific shapes. The WS + // `role` lives in the behaviour section, so it is intentionally absent here. + if (kind === 'httpServers') { + const it = draft as HttpServerNetwork; + const set = patch as (c: Partial) => void; + return ( +
    +
    + set({ host: v || undefined })} + /> + set({ port: Number(v) || 0 })} + /> + set({ path: v || undefined })} + /> +
    + {/* The cap only exists for the embedded WebSocket listener. */} + {it.enableWebSocket === true ? maxPayloadField(it.maxPayloadBytes, set) : null} +
    + ); + } + + if (kind === 'httpClients') { + const it = draft as HttpClientNetwork; + const set = patch as (c: Partial) => void; + return ( +
    + set({ url: v })} + /> + set({ timeoutMs: Number(v) || undefined })} + /> +
    + ); + } + + if (kind === 'wsServers') { + const it = draft as WsServerNetwork; + const set = patch as (c: Partial) => void; + return ( +
    +
    + set({ host: v || undefined })} + /> + set({ port: Number(v) || 0 })} + /> + set({ path: v || undefined })} + /> +
    + {maxPayloadField(it.maxPayloadBytes, set)} +
    + ); + } + + if (kind === 'wsClients') { + const it = draft as WsClientNetwork; + const set = patch as (c: Partial) => void; + return ( +
    +
    + set({ url: v })} + /> + set({ reconnectIntervalMs: Number(v) || undefined })} + /> +
    + {maxPayloadField(it.maxPayloadBytes, set)} +
    + ); + } + + return null; +} + +/** + * Inbound WebSocket frame cap. Shared by every editor that owns a WebSocket + * transport (wsServers, wsClients, httpServers with the embedded listener): the + * value is empty by default (transport default of 100 MiB), and the hint spells + * out why inline PCM audio hits it at ~7:26. + */ +function maxPayloadField( + value: number | undefined, + set: (patch: { maxPayloadBytes?: number }) => void, +) { + return ( +
    +
    + set({ maxPayloadBytes: Number(v) || undefined })} + /> +
    +

    + 入站 WebSocket 单帧上限,留空即默认 100 MiB(104857600),有效范围 1024 – + 2147483648。44.1 kHz 立体声 PCM 语音约 445 + 秒(7:26)就会触顶并断开连接;超长音频应由上游改发 URL/文件或压缩为 + SILK,调大上限会按帧大小增加内存占用。 +

    +
    + ); +} + +// ─────────────── shared form bits ─────────────── + +interface FieldProps { + label: string; + value: string | number | undefined; + onChange: (v: string) => void; + placeholder?: string; + type?: 'text' | 'number' | 'url'; + min?: number; + max?: number; + step?: number; + error?: string; +} + +function Field({ + label, + value, + onChange, + placeholder, + type = 'text', + min, + max, + step, + error, +}: FieldProps) { + return ( +
    + + onChange(e.target.value)} + placeholder={placeholder} + min={min} + max={max} + step={step} + className={cn(error && 'border-destructive focus-visible:ring-destructive/40')} + /> + {error &&

    {error}

    } +
    + ); +} + +interface TokenFieldProps { + label: string; + value: string | undefined; + onChange: (v: string) => void; + onGenerate: () => void; + placeholder?: string; + feedback?: AccessTokenFeedback; +} + +/** + * Password-style input for the access token. Hidden by default to keep + * the value out of over-the-shoulder reads / screenshots; an eye toggle + * unmasks it and a copy button shoves the current value to the system + * clipboard with a short "已复制" confirmation flash. + */ +function TokenField({ + label, + value, + onChange, + onGenerate, + placeholder, + feedback, +}: TokenFieldProps) { + const [visible, setVisible] = useState(false); + const [copied, setCopied] = useState(false); + const copiedTimerRef = useRef(null); + const feedbackId = useId(); + + const handleCopy = async () => { + if (!value) { + return; + } + + if (!(await copyText(value))) { + return; + } + + setCopied(true); + + if (copiedTimerRef.current != null) { + window.clearTimeout(copiedTimerRef.current); + } + + copiedTimerRef.current = window.setTimeout(() => { + setCopied(false); + copiedTimerRef.current = null; + }, 1400); + }; + + return ( +
    + +
    + onChange(e.target.value)} + placeholder={placeholder} + autoComplete="off" + spellCheck={false} + aria-invalid={feedback?.tone === 'error' || undefined} + aria-describedby={feedback ? feedbackId : undefined} + className="flex-1 font-mono" + /> + + + +
    + {feedback && ( +

    + {feedback.message} +

    + )} +
    + ); +} + +const FORMAT_OPTIONS: ReadonlyArray> = [ + { value: 'array', label: '数组' }, + { value: 'string', label: 'CQ 码' }, +]; + +const WS_ROLE_OPTIONS: ReadonlyArray> = [ + { value: 'Universal', label: 'Universal' }, + { value: 'Event', label: 'Event' }, + { value: 'Api', label: 'Api' }, +]; diff --git a/packages/webui/src/components/config/node-summary-card.tsx b/packages/webui/src/components/config/node-summary-card.tsx new file mode 100644 index 00000000..b39a918c --- /dev/null +++ b/packages/webui/src/components/config/node-summary-card.tsx @@ -0,0 +1,141 @@ +// One row in the per-kind list view. Shows just enough to identify the +// adapter at a glance (name + projected summary + token state + the two +// flags) plus the inline enable toggle. Real editing always goes through +// the dialog — there are no live-typed inputs here. + +import { motion } from 'motion/react'; +import { Pencil, Trash2 } from 'lucide-react'; +import { Button } from '@/components/ui/button'; +import { Badge } from '@/components/ui/badge'; +import { ToggleSwitch } from '@/components/ui/toggle-switch'; +import { cn } from '@/lib/utils'; +import { useTheme } from '@/contexts/ThemeContext'; +import type { AdapterCommon } from './defaults'; +import type { AdapterStatus } from '@/types'; + +const LIVE_STYLE: Record = { + ok: 'bg-success/10 text-success', + warn: 'bg-warning/10 text-warning', + down: 'bg-destructive/10 text-destructive', + degraded: 'bg-destructive/10 text-destructive', + disabled: 'bg-muted text-muted-foreground', +}; +const LIVE_LABEL: Record = { + ok: '正常', + warn: '注意', + down: '异常', + degraded: '应用失败', + disabled: '未启用', +}; + +interface NodeSummaryCardProps { + item: T; + summary: string; + duplicateName: boolean; + /** Live runtime status from the OneBot manager, matched by adapter name. */ + liveStatus?: AdapterStatus; + onToggleEnabled: (next: boolean) => void; + onEdit: () => void; + onDelete: () => void; +} + +export function NodeSummaryCard({ + item, + summary, + duplicateName, + liveStatus, + onToggleEnabled, + onEdit, + onDelete, +}: NodeSummaryCardProps) { + const enabled = item.enabled !== false; + const blankName = !item.name?.trim(); + const off = useTheme().appearance.disableMotion; + + return ( + +
    +
    + + {item.name || '(未命名)'} + + {duplicateName && ( + + 名称重复 + + )} + {!enabled && ( + + 已停用 + + )} + {liveStatus && ( + + {LIVE_LABEL[liveStatus.status]} · {liveStatus.detail} + + )} +
    +
    + {summary} +
    +
    + {item.messageFormat === 'string' ? 'CQ 码' : '数组'} + + · + + {item.reportSelfMessage ? '上报自身' : '不上报自身'} + + · + + + {item.accessToken ? '已设 Token' : '无 Token'} + +
    +
    + +
    + + + +
    +
    + ); +} diff --git a/packages/webui/src/components/config/notification-opt-in.tsx b/packages/webui/src/components/config/notification-opt-in.tsx new file mode 100644 index 00000000..0bc6ff15 --- /dev/null +++ b/packages/webui/src/components/config/notification-opt-in.tsx @@ -0,0 +1,297 @@ +// Per-account opt-in to the GLOBAL notification channels. Renders the channels +// defined in 设置 → 通知 as toggles; the selection maps to +// OneBotConfig.notifications.channelIds. Lives inside the account's 通用设置 tab, +// so toggling marks the config dirty and rides the parent's debounced autosave. +// +// Scales to many channels (40+): collapsed by default to a one-line summary of +// selected channels as removable chips; expanded into a searchable, bulk- +// actionable, height-bounded scroll list so it never blows up the page. +import { useCallback, useEffect, useMemo, useState } from 'react'; +import { AnimatePresence, motion } from 'motion/react'; +import { ChevronDown, Search, X } from 'lucide-react'; +import { Badge } from '@/components/ui/badge'; +import { Button } from '@/components/ui/button'; +import { SkeletonSwap } from '@/components/interior/skeleton-swap'; +import { Input } from '@/components/ui/input'; +import { Label } from '@/components/ui/label'; +import { ScrollArea } from '@/components/ui/scroll-area'; +import { ToggleSwitch } from '@/components/ui/toggle-switch'; +import { useApi } from '@/lib/api'; +import { cn } from '@/lib/utils'; +import type { NotificationChannel } from '@/types'; + +interface NotificationOptInProps { + selectedIds: string[]; + onChange: (channelIds: string[]) => void; +} + +/** How many summary chips to show before collapsing the rest into "+N". */ +const CHIP_CAP = 8; + +export function NotificationOptIn({ selectedIds, onChange }: NotificationOptInProps) { + const api = useApi(); + const [channels, setChannels] = useState(null); + const [loadError, setLoadError] = useState(null); + const [expanded, setExpanded] = useState(false); + const [query, setQuery] = useState(''); + + const load = useCallback(async () => { + setChannels(null); + setLoadError(null); + + try { + const cfg = await api.notifications.getConfig(); + setChannels(cfg.channels); + } catch (error) { + console.error('load notification opt-ins failed', error); + setLoadError(error instanceof Error ? error.message : '加载通知渠道失败'); + setChannels([]); + } + }, [api]); + + useEffect(() => { + void load(); + }, [load]); + + const selected = useMemo(() => new Set(selectedIds), [selectedIds]); + + const toggle = (id: string, on: boolean) => { + const set = new Set(selectedIds); + + if (on) { + set.add(id); + } else { + set.delete(id); + } + + // Order known channels by the global list; keep any stale ids (channel + // deleted globally but still opted-in) at the end rather than dropping them. + const known = (channels ?? []).map((c) => c.id).filter((cid) => set.has(cid)); + const extra = selectedIds.filter((sid) => set.has(sid) && !known.includes(sid)); + onChange([...known, ...extra]); + }; + + const selectAll = () => { + // Only enabled channels can ever fire, so "全选" maps to those. + onChange((channels ?? []).filter((c) => c.enabled).map((c) => c.id)); + }; + + const clearAll = () => onChange([]); + + // Resolve the selected ids back to channels for the collapsed chip summary. + // Stale ids (channel deleted globally) fall back to showing the raw id. + const selectedChips = useMemo(() => { + const byId = new Map((channels ?? []).map((c) => [c.id, c])); + return selectedIds.map((id) => ({ id, name: byId.get(id)?.name || id })); + }, [channels, selectedIds]); + + const filtered = useMemo(() => { + const list = channels ?? []; + const q = query.trim().toLowerCase(); + + if (!q) { + return list; + } + + return list.filter((c) => { + const hay = [c.name, c.id, c.url, c.smtpHost, c.to, c.from] + .filter(Boolean) + .join(' ') + .toLowerCase(); + return hay.includes(q); + }); + }, [channels, query]); + + const total = channels?.length ?? 0; + const selectedCount = selectedIds.length; + + return ( +
    + {/* header — toggles the editor open/closed */} + + + + {channels !== null ? ( + loadError ? ( +
    + {loadError} + +
    + ) : total === 0 ? ( +

    + 还没有全局渠道——先到「设置 → 通知」添加。 +

    + ) : ( + <> + {/* collapsed: selected channels as removable chips */} + {!expanded && + (selectedCount === 0 ? ( +

    + 未选择任何渠道。展开以选择。 +

    + ) : ( +
    + {selectedChips.slice(0, CHIP_CAP).map((ch) => ( + + {ch.name} + + + ))} + {selectedCount > CHIP_CAP && ( + + )} +
    + ))} + + {/* expanded: search + bulk + bounded scroll list */} + + {expanded && ( + +
    +

    + 该账号上线 / + 下线时向选中的渠道推送通知。渠道在「设置 → + 通知」中全局定义。 +

    + +
    +
    + + setQuery(e.target.value)} + placeholder="搜索渠道…" + className="h-8 pl-8 text-xs" + /> +
    + + +
    + + {filtered.length === 0 ? ( +

    + 无匹配渠道 +

    + ) : ( + +
    + {filtered.map((ch) => ( +
    +
    +
    + + {ch.name || ch.id} + + {!ch.enabled && ( + + (已全局禁用) + + )} +
    +

    + {ch.type === 'email' + ? ch.to || + ch.smtpHost || + '邮件' + : ch.url} +

    +
    + + toggle(ch.id, v) + } + ariaLabel={`为该账号启用渠道 ${ch.name || ch.id}`} + disabled={!ch.enabled} + /> +
    + ))} +
    +
    + )} +
    +
    + )} +
    + + ) + ) : null} +
    +
    + ); +} diff --git a/packages/webui/src/components/confirm-dialog.tsx b/packages/webui/src/components/confirm-dialog.tsx new file mode 100644 index 00000000..032e9697 --- /dev/null +++ b/packages/webui/src/components/confirm-dialog.tsx @@ -0,0 +1,123 @@ +import { useRef, useState, type ReactNode } from 'react'; +import { Modal } from '@/components/interior/modal'; +import { Button } from '@/components/ui/button'; +import { + actionErrorMessage, + useActionFeedback, + type ActionFeedbackOptions, +} from '@/contexts/ActionFeedbackContext'; + +interface ConfirmDialogProps { + open: boolean; + onOpenChange: (open: boolean) => void; + title: string; + description?: ReactNode; + confirmText?: string; + cancelText?: string; + destructive?: boolean; + content?: ReactNode; + confirmDisabled?: boolean; + activity?: ActionFeedbackOptions; + onConfirm: () => void | Promise; +} + +export function ConfirmDialog({ + open, + onOpenChange, + title, + description, + confirmText = '确认', + cancelText = '取消', + destructive = false, + content, + confirmDisabled = false, + activity, + onConfirm, +}: ConfirmDialogProps) { + const [busy, setBusy] = useState(false); + const [error, setError] = useState(null); + const { runAction } = useActionFeedback(); + const cancelRef = useRef(null); + + const handleConfirm = async () => { + setBusy(true); + setError(null); + + try { + if (!activity) { + await onConfirm(); + } else { + await runAction(activity, onConfirm); + } + + onOpenChange(false); + } catch (caught) { + const message = actionErrorMessage(caught); + setError(message); + console.error('confirm action failed', caught); + } finally { + setBusy(false); + } + }; + + const handleOpenChange = (nextOpen: boolean) => { + if (busy && !nextOpen) { + return; + } + + if (!nextOpen) { + setError(null); + } + + onOpenChange(nextOpen); + }; + + return ( + handleOpenChange(false)} + title={title} + description={description} + showClose={false} + closeOnBackdrop={!busy} + closeOnEscape={!busy} + initialFocusRef={cancelRef} + maxWidth={512} + footer={ + <> + + + + } + > +
    + {error && ( +
    + {error} +
    + )} + {content} +
    +
    + ); +} diff --git a/packages/webui/src/components/debug/action-tester.tsx b/packages/webui/src/components/debug/action-tester.tsx new file mode 100644 index 00000000..f34f8d08 --- /dev/null +++ b/packages/webui/src/components/debug/action-tester.tsx @@ -0,0 +1,656 @@ +// ActionTester — the debug console's centrepiece. Pick an account + action and +// invoke it; params render as role-driven smart controls (pickers, switches, +// file sources) with a raw-JSON escape hatch. Read-only actions are badged +// green, side-effecting ones amber; destructive ones confirm first. Stream API +// actions invoke over the streaming transport and render frames live (tracked +// in the app-level task registry). Every call lands in localStorage history +// with one-click replay. Responses render in a collapsible JsonTree. +import { useEffect, useMemo, useRef, useState, type ReactNode } from 'react'; +import { motion } from 'motion/react'; +import { + AlertTriangle, + FlaskConical, + History, + Loader2, + Play, + RotateCcw, + ShieldCheck, + Trash2, + Zap, +} from 'lucide-react'; +import { Textarea } from '@/components/ui/textarea'; +import { Picker } from '@/components/ui/picker'; +import { JsonTree } from '@/components/ui/json-tree'; +import { ConfirmDialog } from '@/components/confirm-dialog'; +import { ParamField } from '@/components/debug/param-field'; +import { Segmented } from '@/components/debug/segmented'; +import { useApi } from '@/lib/api'; +import { useDebugTasks } from '@/contexts/DebugTaskContext'; +import { buildActionParams } from '@/lib/action-params'; +import { clearHistory, loadHistory, pushHistory, type InvokeRecord } from '@/lib/debug-history'; +import { cn } from '@/lib/utils'; +import type { DebugActionDoc, DebugStreamFrame, QQInfo } from '@/types'; + +const cardCls = + 'rounded-2xl border border-border/60 bg-card/80 shadow-[0_1px_2px_rgb(0_0_0/0.04),0_8px_24px_-12px_rgb(0_0_0/0.10)] backdrop-blur-sm'; + +// Name patterns for genuinely destructive actions → require a confirm. False +// positives just add one extra click; false negatives skip a confirm — both low +// stakes (the amber banner already warns that any write is real). +const DESTRUCTIVE_RE = + /(kick|ban|mute|recall|withdraw|delete|del_|dismiss|disband|leave|quit|remove|revoke)/i; +// Cap retained stream frames so a long-running / runaway stream can't grow the +// array and DOM without bound. Generous enough to keep a full normal stream. +const MAX_STREAM_FRAMES = 2000; + +function qqAvatarUrl(uin: string) { + return `/avatar/${encodeURIComponent(uin)}`; +} + +function Field({ label, children }: { label: ReactNode; children: ReactNode }) { + return ( + + ); +} + +export function ActionTester({ + accounts, + docs, + presetAction, +}: { + accounts: QQInfo[]; + docs: DebugActionDoc[]; + presetAction?: { name: string; nonce: number }; +}) { + const api = useApi(); + const tasks = useDebugTasks(); + + const [uin, setUin] = useState(''); + const [actionName, setActionName] = useState(''); + const [fields, setFields] = useState>({}); + const [paramMode, setParamMode] = useState<'form' | 'json'>('form'); + const [rawJson, setRawJson] = useState('{}'); + const [invoking, setInvoking] = useState(false); + const [result, setResult] = useState(null); + const [frames, setFrames] = useState([]); + const [confirmOpen, setConfirmOpen] = useState(false); + const [history, setHistory] = useState([]); + const [showHistory, setShowHistory] = useState(false); + const streamAbort = useRef(null); + + useEffect(() => { + setHistory(loadHistory()); + }, []); + useEffect(() => { + if (accounts[0] && !uin) { + setUin(accounts[0].uin); + } + }, [accounts, uin]); + // Prefill from the API browser's 试一下 (nonce lets the same action re-trigger). + useEffect(() => { + if (presetAction) { + setActionName(presetAction.name); + setFields({}); + setParamMode('form'); + setResult(null); + setFrames([]); + setShowHistory(false); + } + }, [presetAction]); + + const doc = useMemo(() => docs.find((d) => d.name === actionName), [docs, actionName]); + const effectiveMode = paramMode === 'json' || !doc ? 'json' : 'form'; + const isStream = !!doc?.stream; + const isDestructive = DESTRUCTIVE_RE.test(actionName); + + const accountOptions = useMemo( + () => + accounts.length === 0 + ? [{ value: '', label: '(无在线账号)' }] + : accounts.map((a) => ({ + value: a.uin, + label: a.nickname || a.uin, + sub: a.nickname ? a.uin : undefined, + avatar: qqAvatarUrl(a.uin), + })), + [accounts], + ); + + const actionOptions = useMemo( + () => docs.map((d) => ({ value: d.name, label: d.name, sub: d.summary })), + [docs], + ); + + const buildParams = (): Record | { __error: string } => { + if (effectiveMode === 'json') { + let parsed: unknown; + + try { + parsed = JSON.parse(rawJson || '{}'); + } catch { + return { __error: 'params JSON 无效' }; + } + + if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) { + return { __error: 'params 必须是对象' }; + } + + return parsed as Record; + } + + try { + return buildActionParams(doc?.params ?? [], fields); + } catch (error) { + return { __error: error instanceof Error ? error.message : String(error) }; + } + }; + + const runInvoke = async () => { + if (!uin) { + setResult({ error: '请选择账号' }); + return; + } + + if (!actionName.trim()) { + setResult({ error: '请填写 action' }); + return; + } + + const params = buildParams(); + + if ('__error' in params) { + setResult({ error: params.__error as string }); + return; + } + + setInvoking(true); + setResult(null); + setFrames([]); + const startedAt = Date.now(); + + if (isStream) { + const ac = new AbortController(); + streamAbort.current = ac; + const taskId = tasks.start({ + kind: 'stream', + label: `${actionName} @ ${uin}`, + progress: undefined, + cancel: () => ac.abort(), + }); + let last: DebugStreamFrame | null = null; + + try { + await api.debug.invokeStream( + uin, + actionName.trim(), + params, + (frame) => { + last = frame; + setFrames((prev) => + prev.length >= MAX_STREAM_FRAMES + ? [...prev.slice(-(MAX_STREAM_FRAMES - 1)), frame] + : [...prev, frame], + ); + const d = frame.data as + | { + type?: string; + progress?: number; + transferred?: number; + total?: number; + } + | undefined; + + if (d && typeof d.progress === 'number') { + tasks.update(taskId, { progress: d.progress }); + } else if ( + d && + typeof d.transferred === 'number' && + typeof d.total === 'number' && + d.total > 0 + ) { + tasks.update(taskId, { progress: d.transferred / d.total }); + } + }, + ac.signal, + ); + // A clean success requires the terminal frame (status ok AND the + // NapCat terminal marker data.type==='response') — a stream that closed + // without emitting its terminator must not read as success. + const term = last as DebugStreamFrame | null; + const ok = + !!term && + term.status === 'ok' && + (term.data as { type?: string } | undefined)?.type === 'response'; + setResult(last); + tasks.finish(taskId, ok ? 'done' : 'failed'); + setHistory( + pushHistory({ + at: startedAt, + uin, + action: actionName.trim(), + params, + ok, + ms: Date.now() - startedAt, + stream: true, + }), + ); + } catch (e) { + const aborted = ac.signal.aborted; + const msg = e instanceof Error ? e.message : '流式调用失败'; + + if (!aborted) { + setResult({ error: msg }); + } + + tasks.finish(taskId, aborted ? 'canceled' : 'failed', msg); + setHistory( + pushHistory({ + at: startedAt, + uin, + action: actionName.trim(), + params, + ok: false, + ms: Date.now() - startedAt, + stream: true, + }), + ); + } finally { + streamAbort.current = null; + setInvoking(false); + } + + return; + } + + try { + const res = await api.debug.invoke(uin, actionName.trim(), params); + setResult(res); + setHistory( + pushHistory({ + at: startedAt, + uin, + action: actionName.trim(), + params, + ok: res.status === 'ok', + ms: Date.now() - startedAt, + }), + ); + } catch (e) { + setResult({ error: e instanceof Error ? e.message : '调用失败' }); + setHistory( + pushHistory({ + at: startedAt, + uin, + action: actionName.trim(), + params, + ok: false, + ms: Date.now() - startedAt, + }), + ); + } finally { + setInvoking(false); + } + }; + + const onExecute = () => { + if (isDestructive) { + setConfirmOpen(true); + return; + } + + void runInvoke(); + }; + + const replay = (rec: InvokeRecord) => { + setUin(rec.uin); + setActionName(rec.action); + setParamMode('json'); + setRawJson(JSON.stringify(rec.params, null, 2)); + setResult(null); + setFrames([]); + setShowHistory(false); + }; + + const resultFailed = !!result && ('error' in result || result.status === 'failed'); + + return ( +
    + {/* tester */} + +
    +
    + +

    Action 测试台

    +
    + +
    + +
    + + + 调用会真实生效(真发消息 / + 真踢人等),请谨慎。 + +
    + +
    + + false} + disabled={accounts.length === 0} + /> + + + { + setActionName(v); + setFields({}); + setResult(null); + setFrames([]); + }} + options={actionOptions} + placeholder="search action…" + validateRaw={(s) => s.trim().length > 0} + /> + +
    + + {doc && ( +
    + {doc.readOnly ? ( + + 只读·安全 + + ) : ( + + 有副作用 + + )} + {isStream && ( + + 流式 + + )} + + {doc.summary} + {doc.returns ? ( + <> + {' '} + · 返回{' '} + {doc.returns} + + ) : null} + +
    + )} + +
    + 参数 + +
    + + {effectiveMode === 'json' ? ( +

    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 literal 0 HcmV?d00001 diff --git a/packages/runtime/native/snowluma-linux-x64.node b/packages/runtime/native/snowluma-linux-x64.node new file mode 100644 index 0000000000000000000000000000000000000000..249c5f4c1b366a3dc23e08963ec90959945b3949 GIT binary patch literal 203872 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°g&r-`*(spSw%AU3XmLq4?ADX_-_;;azD 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 G=>GuWNWQrM literal 0 HcmV?d00001 diff --git a/packages/runtime/native/snowluma-linux-x64.so b/packages/runtime/native/snowluma-linux-x64.so new file mode 100644 index 0000000000000000000000000000000000000000..a9753cb58c02e166d42de4fa889b7f1bf8fe8f15 GIT binary patch literal 425216 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%0A`#yy0cydsqElXrIOHPPbgq{yvMN1{XaXE{CyS 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 literal 0 HcmV?d00001 diff --git a/packages/runtime/native/snowluma-win32-x64.dll b/packages/runtime/native/snowluma-win32-x64.dll new file mode 100644 index 0000000000000000000000000000000000000000..ca4d63ef32965c800c6121af2cd2d0db27a307f9 GIT binary patch literal 494592 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

  • 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%0ABXJ-n)XQED~I`Z9&()fUYndBs1>58EP$6 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%0DH{gJSi}$Q_2cse{7Rq~5^B#wu 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�mFoQN+! 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 NE|Ubep%0TO=A<4Edf{Hj=q7Ast=!>O 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 z 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 Gn`DOe0=o(+7AFXA3rkp1Qp2tt1^dip&!1CF>;U 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

    51*X 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%0A;6<~Ho=9HX{1&hZZk#y|b-bowFL81(pb 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℘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%0A{pZl9%{ncOlhqrIv+P(8*KQ;lFMjf$Q4YFDf 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%0Ak%Q zyPISyB>jdTX6tyUf!^R``9)vp0*Hver9)^{RLEMyQeKWMzvaMQr#)@C@c<*+vEIIn zKH2D1~gce{fsuG~xI6GT*2JOJ`0bX^Rz2c2Qc$XN)@VE69E zq>&TY+_2%R>ApE*fM!9oD>tCt%mP?KRh`n9795PcHDzAKb$mANwfk@d!P(rNYO@ z&v5rgK8Sz#5B>#y^>@FHS3d9|%>9JvA`?=yU=dL}O$|O1hMue&Z8FU(D;Shz zhm&I0A#F38CP#U|CYYzDUl<*of(1em`-77pAoO8vbx6FXu2mQZrc8dd?|rYe9avcB z8AT@Cym7nZE=iW{^03Sjx{k5+B@m3d#cEO&zDk7wxA&aKp8M#(qyZ;& z=z1Sjed&0ZlVK%o===&d79lr{&T*ioYDFZB>huBe#bgR-+k+lG zdy1?1*mzVs3?wT6aO1{#dJBdUZ$dX#w&V23T)Qtg&PQx^JACeIU&qsn%l=wV;)Acw z>GGh!<>jTk`P%Dp>*lRL_TIgB|7^#=&8#Z=b`8%;{3FG*X0tuxw?PUTbTVNAB2ias zjZ+Gvq)=Idy+4=i34G{aY~P@j;Azz7dy(8qJWoioZDIJmm)P%19S4mBqP{X9;SbtY z!0qR#P*SsluOZ(`{!&JIq}lYL-r9Xr3%hRvwyB&Cjxeyyi;P9WCHb`Y^yc}wggzu+ zY5b+K9?m46V783lcaSV@7y|Kbzgf22e-ESr$p5-*40Iky)J8;1*;2=WbN@0x20I+k zNiaSqI)>hceg+UDP=vd~!ahX&E{Pa7lAZ@JbZ?CwSixbyhijCDL0qeIqRc1|Z2HaN z#q8i(yKos8fnI8V{N_FYvX{M0QCl*?5cW?qehVzt;7DV0#5h?kJ>tdfu#qF*JRm0v z;W2|h49czY#0Ca=sgC2}PB50sxF|7TFym)`B)DNwI{ajvG=4?^9gcUz(+r5n5*LDc z(7x>S?f;P!3(C0t;D8{U#iIWq*mDWyK!EVqq~t63!V;!zhRn|;H*B<7fj@wKIBUo61@1a@m>j0nXI;0zx_{P6&-?z~3e_Vj?!NKXKl^vT_Upg%@ZI+| z=Qq#h!^LwwTwdbr#tlWSZB6XlgTx}ZeEtk~UV8=D?b`CEg0`%Zbw|(=5mY>U=N)|c z+iwHg9UY)m`zxc`()qL94nMf}2-p;yy?z&Zbp?S!pI=~i`xfrM^FIC$f9LPv#%ph2 zmI+fS*pz}&HV}zd{Q+$zsU=yRUp^YoGh{JRZgBfQ2{~OG=luWh_UF->C0l+F_S8)^{U?3uV0VqmReH39;9wbxEW-Gg)P7=31oqgu)s`$g%M!v1zN}kWR``H zjlr@((gJMILTCUCMrsWpwdke?^?TiKo@#hCWL3_2^WN{A*#0A8@BQ0x&dsWB8K0_~ z-}jvp!=8tTI1wB~3M2w($pL}%07KJYk`Di7c~xqweJE`A@^JVeOcbYjkl;`VV5=}K zl88+S720>{S?Yq54ohOPW}MP! z3kI`7QG+)cbTavH+&W-J6C2bB|3Kl2nEtmu5>1V-29?J1Se4-DL|K=Kz}=GH_FOw| z8uDkolFTeM-v1AXwXH%ytO#i6+G+#aJ0koQe-^P;f}U)fbHY$k-)1}G^ogA4xh)WP zvHir4u*?4XhVk5Js#$-mLlMEzexH6va%ey?0>DydEX(XNH4eUHigH*WaZ^mk;#f|m z_j)OD$5DWXPoCiH;=Ie2`M;1=Rp9FBX|}mA{z%(Mv&(!x*>B~kjRx~_K-ul_?!$Zd z{MWvUqvK-~8N|l?Z4(Nps!V07-}$ZIc5?sT{U3s$D7`4?Iy7G0P`ceDTh;0z?5i7P z1}4MKpWMbeDQ3qaLtAio>;~Di^xeJ${1WBaanW=BWB8-K-_~ALStkPDvA(f>Y@b#k zZ1g?CzbX?3a|JKci~rmrN|X;DWuOlDtmqIj++-|hz<$HwBX~?cGe4a~1WW!*wqs-h z`Mikh33t~!wk3{Wf|qGw@MMZ)ooU;5kxT|+aZdtP$G!7FsEmOwoLa2v2lkx*cpDp+ zmb{KMlZjgc=m;-)@oIwY`cJdCw*e=C?uf-yU`ixZoG?3c&jrDB!-{ce|T+ zvyr)k=9kpE?4~}u+@+T~gEHfCt67$U3JJew0XQao?{T?uP_kx?^e-^FabT_ZX1xbKwJO|@{>-C zGllk`ogCylrF*p)_={K7ZJq=7;Tco%Tc}YJm_VqP$Zk7uAT3Mt0z%CQSd~) zBhCqGe+58c{OU3$loa)3PrZ)KdP4o3ZF|SOC7spl8jY(HO?^P7$mBDhE(1nGCCf;> z5&`Li-B;gJA<-|Q701>1>xt<&2-w?p`BcNzXaPSR#AQT-ABMNTli%xP_~86dty%~t zqftB7uPtp?zu)?kBJfwswf22R&3;us1;V_C?Q7D4;7Wd@L1DIN)Ec+5WCv~kf*33| zeBrWXCmtA$eRqC{!<_6s*>dR$mgqq&YVurNHhA#6lnJ73^^M6&=p~#cE|Yb^#l?j` zGrTHgB914xnON!Ir*LWL-O5>;zi>fn{XKs21P>oS=`8PfF6#2NEEQKyu6ROj_9F(O zO#Y&Omv!Qe*2cHP;R4fs-&X;gVcJh^FAIw?5*{t(dHUo`zWL*yz>_EEKX`FC-0T`7 zkx1GKwXlh5@Pe&sj(z=mr?vb1Xf}moKJ7&@D?mw_w`mQfj{%bLF5vbtC17dbL5!v# z(IXI@h{FFxmL}*gqUE&MTg*9`*V>5xyhN8ks+Tc~K^PcrPSBAO0cFtRl53?9WS+>j zrB=2aa>z>@$m>r>29EMG`bYC`?ar8Vr^&CCj@pyPgjM|P_C0*)h>Wo>{1tp)fms@Z zyWzXEL)>7^5T#BwF2*g|1!7=3;5rquuVxdohN0UJlvNwu3jR1Bza+Ph||AGLni7i2KRRT7Up9@m zh4L#Hj4#=qNBi$32bwWlVX3JYwh6y3|ICYx$NMP=4yFjFQ76Tc&S$lI`7<59uVQZ? z1$MeBr+ryzH_#f-JxJ2^MpV@@5`kXKhx(Ck{^Xx}{oQ+i@++VJ%2cjgS%78PpI&iY zS6U`oc6*%MxB=|M@vo}w6#(l;08D~qu6X$HG3NOklT@@_tojCkssJiO?_!vbN=*1IEA9@~t?oa#|_>capzk=&8yo`&b!d`wXr9h?~q}a^rFmq5O25kGl zq0ML+HQo7-R@@_=(Hr#O*!!_00;ysi@t4(R^C?u<&?%lN^ufdqpt)@|tI{2}I)3BQ zc{d0yE4412mv*m0RB`R}TEAyYu8p^#);vh?Sl0NRXE2G59Qmt`{q;mBy=k=Qdwn(dN}u)jchx20D|QUp6-I4i>rQ*yshwwBS(YSN z@APOh#XaP+E;KxX3i_ax$)D*c%K_X@y9`?}WC0Y(tjU$hrUiCYD=KO*j)XmIf5oB; z^&3e=%&h6!6!wI1nkGzB$@NWtq`k{t>k@9s-krDI^96Q>1}{*i31v5-)`e*7t~n=* zU5=OKkXBG6-6Z|9q&C}_z<!M!IB@Y%0_6-Ot>frrVw2x3C7V4fFw{`Rf;#?9-W zxOeaVw-lLF#CE*Pd~^OWKPBjH3APeU9(M_~L-sz;GH>Zv3DXdQ!;3J(( zKF`Y8E;7wo#9%D7-~0AZ&J?5@O=*oPQu~kuzmIc>+1~`8%VPYN=pPOTmp6Oiv+g7P zm|oP<*srx~I_MXvl-X5?q}L`)(Sy$jf8uIQ`bzzWjC4F4K0=!6dq4fY66_3ghy%5! zxjlOzvc7M$@mSShC%D4CnGaDgEgFEsD=y3j&G)J21Ye?q|ARz7he9#X0swqKgTEC2 zbYE?SDaIP{@_xit0z}N!XMfhgxPOcZhSf6~b(}guQ?9&m$?$D+0DxyC{(pCMrF=#S zP7?fxDN7`x2@jN<3GWlu%Sv^TbApFL3`;;f!L}M}g09*%?ddl*%j>EZn3+obrHi#K z87mzg_j{hG*~mD+qjrI#_-MP>ErVZmLp}uCTjLL?syS|(Ig;F#_h+8LZfjQ_(hP^6 zlxcMFjM7Fs>%pF+d21xzL(X(;2c(-^rU$LOWZq~IeG%*oKVfQLq8irLV?BoC1PyF~#eg3e_kX@;V z!$JBCk1iK8be;hPj!&=R>60_y>A~7or=0+HK)Fc4{`3?ddHE%L@&mV_PaXryf_4Ud zMeVbJ(28X~;OP2u_>ceGPvB4fU;jhs$uXwqZ{qWR@yGDb{p)`e<;pEcIfgEszg7G3 zTD0UAwljCkdNJR;n5qwGxE<>}ZyV_aPes)AjpfNU(o=1-c+PtvUXi3|ujjM4^xSM% z5^W`gML0U?6TZ6FPTf$lLsYS6U3f@3q!h_*z+@t{|4+XtG(;f>Ba zaYyVJ3>#=5`bW+!E4(beNdAM$1Y{w&4#hAyWBOtP6^)*f>l+rThHvcorUDznG4Mw_ z6O=T2Yu^cU(y^p2t4rvQWXDM#3gS31D-f(vU@cPvxG|8fhAx_=u|YEsO=*zY!EN>4 z_bULa1}-hgmL=c53@7h_vCh1>^cn+|Rhwh^@m5G#fH92lt>9QSOE)fs`F&CE(o54f z-F|qPvG4t_o(|3MJDcsd8AV-J;nA|e8JPNqdC961v6mTYlbLMbdS(B(+?fpqc0|qF zAY;$v-G(+8VneC1pLN%!tRqfVSh*a1&t7{QFSURP$i|^RjG!*s(^QxH<)Dc>CxbVX zi$I?1NW$3zHBT_wGS`;$wAR`NY<*C`1_ZQ1tExciQfs;P+;g9)*RK8_{`;T)^u3cC z&y_o`y)t876t!YG9B?=spv!{mw{PLquYMKFlQXnYdiA7PMB47>ohIeVF`j?^2L8rh z`5pLykGz2T_%4j1eD1i`1u{*jS8m{+{x|+T{MNtcpTh6@`+pDq?%)0UaQ86b=<3a$ zKy>_TMJZD{qdjIO@{CB4Fv#wvgqE^P(AR@&a(e6>c*X}1f2Uo#j&2QvrZ&b0Jj$LP zDb`Jy=dolvq{W<1)TS;ve6?@D)=ofZ7It1{9ACMH-PD6?$4$K*vn`QelB1PzRxf5g zEnzl(*y;ld0?ZjRE*_Bxan*SuUB-%+Z}MiVBEs>tw1C(!&-!yr$R^mz z0Z;xBd^5PYuE{0O!ZuSr&R#`OvPIvRNk-r0Uj1|d$J5}C5GNoZec*R4O9>fnD-{H` zac1}%JNvqi@d4UT&rqYKfoiW2?517ti$DMrb(tvuqcWzKX8XI$WS1JjzRiNW-ANbO zejQA_TUSjo(P-a{skPaj_j4LXUqtp{46a2H8y6bvS9|pYh=F1Du^dZDj~Qk+#BQzuRM)Chyeq zs?um_s{+tz5d3GEr8uWnh)j6+_%VL=bDzil=m@dU$1T3=@>B{A7jyZxZ~0ctT7TWe za=0NP&MlbD2}UMyNtcW_*)AaS%LD76p(g=s703@U{9@0H`(z*ZxA)7oFZZd^uIApl z4Ds&&-fpJ|&*Xz0hqu2zHL*kG`>W&xIHkYI-uZpgX9PWBhCf6vQ^6_{{hS`rxPNt7 zi-*bXN}CBb`AxAdnI)o|W>`C1z4@f(nO^EJo9K!q)}1zrA9sz2m(<(+A zx)@h=zt^RgGOe{!TwvGUY}I+(*e>sZ!4ME_c*<0snf`vSQ68TKy}#Yz%rS=>bz` zv))bu(4|Slywr00YzPgzj^C6u9k}5^IQK;{J_Va$AhF;v4v%#0;06E&D z+IwS!Z1dG~hA*V)W_5{Q+MwHaPkKuXMDyDY{mBnzx9bB6S@;9(?d0R|2_Q`@vo6Utratg#uYpinUCs7bwm1bjYK&=I9#qAZ%iU*C1*0A7Z z7{uwO&Sqx){qz3JgHdl!hqhbtUzgffzliTY;GLTcQClW$F;h$dXaY{%j#!eX&UaM~ zRzsbP2Ti`FGBq4~U$%LlLa{7yR3@)3@C{1)?5_1~{H_%)gR1SsklI%OnQR;SmG}s+ zZ{M3;vW@!GHl#FKh{;9R&o(F$dzbhg1PUrogH*;d1kVDbe!rJHIy!DN=%+TgT~Q_Y z*_HrxnK93YpnYy-u!FR$FFedEwak00Uwqlay;hkksk>twCiPdn_U zozMK+X%}Wv(fcV<`l_0NKj^Ciy3wn(qAoLb`#nDUm9OI6hYzqn+WSVOIizjr-vlc&?y%dVqsFrA&JURUArFCH>)T(-C_Xigj9871l0D3s*iIRY@}PS4e< z3u8Vac-0L$!0ZcHFKtKw3(+N&PhKw@Xu})2Aygm(o7;%`>bkj!+vbnB z=>}f;cfhs8Av0hi5|Tj3c%K|Zu5U-ELQh5eO`7&h+^;! z&y-88J4}ffF*0H$^IMYd^QUT(C#60|_+1)RZM7#D1P%(hf(=-B((mY~|0Scv{b+8_ z?-BeQ$nkF|`bJrv+-QGZ6~_08lUd>&zVtatQv^LRlR^O=#|tC?9uo;t zkRHJ^ygg6wNq&5TK_L|llJ%RUS8n9{yiiRFConYp;kL#T;FL&2k}0Ll zg0~&-o1L)P84t$HMo7SB^dcEn9^`4Wh6*X7s+#sta2$QiOquOSl>)7Oop?)DR6`D|q4r}c6H?>Wp7R@lI~t#DbGyJd%dJ)lMqNJoDMW_Z{ss z@Co)#llbmEP#Ya58>W#FKS^{T`lZzgLWCOWH?UTM4;>!Fya2&!czfBTCkZ}`Js>*H z@{toFr&foo|f4{d>1H;;(wD=MJ$8kpWH544qHG7)B6BtY*vSV z`?x1$#FB+{Y;e_&yHRYk;?MnL12(M9#LxGVA5P%;Tfm#{W_%^u&@Qm9*PAM1^;b>$rzHUi z4rSc3!LTw`#{yY9Eg*LKH@a@U|8L9x!L$FU74}+yK&39rBGb|FrytGwhmUSQclPAs z>EY@9hqaVRR0&}EUw8p;z4979`jHp# z&;7Q)16MBYD_F1{+DYM|o-*96Ek?b=Uz57}rG^s(edoc{K{ zbM1UAMSPWx$)>8=ZNPSpH#lp}_P;u>LWYw)by+m4Sc6S625Nw`S6zLXzrCj6yTO}O z^qF8A(6SuTWOH6-)LOCMANc^Iy%S#R0tUiNeQ!shF>u6fcIG)V%(l5*cNWF!hK{-? z^gQSRwv(>r+RGO2J7%e31&j}zm>k=Qof7cIz#Ghs!o(v;Zi7*!4FD`NOy_uJj7^H! zbrE2h4_KDjakGAXfTa@8)MA(hKnzTnw7Jl7;$`RgfZfp^pa1Gt@z%X}aeRCft8{!%_7=!V zndESBD4+P)$ET;~hu`?<(c{~@QfgH#o&$yCJOARhr2AseDMK<}VNpj63eY|0G&ewV zr=g-59OD<8Jc6(F$BF+cNfw}Q;s+jFZN%zjI`KtpAgH$~_FOD7&I1iR3)Q6?DiM4| z!b;>)Hg*n~XN!*B$_?#)ccKk-+!U==->mu~})Z z3^#q=-JfTZih$dV@stA7;6c(oR=E*i?_ofLlwp(O;mA`E zJG4B0PeG+_36pzC?kPWZ=f43U4=%{4V9&ntyx1Ck|2_80_zwgi^GvNsqA%9X`~og{ zkBavE*#_eB>bbtI{#{>80t?nIlZmm6_J5MU=}y9eP2VJt{%oMY1_N3mt7sVj6u_d; zy1RP%$KH7GjUU@^yepdn2vfp8uXMOSImvR2|37*_}2W2V*Q+$yY`2!-j zcIze{&j&nx_bz_;2YxC3wSV~U!^f}e@bJzXfX?o4f+z}TZSRfSriGwo#RBYhM~(Ep zlX?sS7*Y6jfW#}9t!U4ZBX@l;``7tOwoo0&OI(H6#^q(qB*5 z*z+Kb^2_+U(YzF!O^kPbogX57Q@!F#Br?+_TzVYZcexN$KpPu^@IG6xyUfU z5%5r-u2&3iqV4dU-lWJnJG%Q2D7Gg=j5YsLn-On#eGKhK2k;{=s2?XJ)e(t%?JL1; zp9-YxI22<8-yvA1q82Hv=tOl^uLpB?gdT}rDj(vOu?_0vwzU^^KP|(vH55Y|nG1g% z8OJ3L@{{t5Ykqxs0`Lp1^FAtwAWloLWW%%QHY*sD^&zMuS!KLAJa3Ps2b>WUZ7;gy zq@z9AWTUKEVYhVS-WKa(c1Hcq<%C;HoW*Z8@-4Yk;O_Wtv?}yoFVVvJK=7p{H;7{274zz(Q&#EA(c4!^!D4;x~|Ahh|3jFJYCA@DFu->Eh7d z8lJ(xaYF0x#ywlXkY+?kuWZ&O>DusVe9g)IF#Aux(@Fp;Yp-**@1j*jYMCDE@%7*L zg;($VsUQ7w|IJb%5UtP(T%4Wb$A26C=5PNfp1kuGE*?LjcSakL9DW4+s_iU!fnc}W z`wr$!p6j4lF+*kn9)Nx>dHZd%tQI_{#0;_8!(~YFJG#O96hx5#g*h~b4`ki92*{q> zF*PD2Gv05=PP_&trsQGIdp%XOUC%qxF|*hB(=(fu8El>i zM5Yc?>%Z2)f2#C%%%e}!Vd=kZgLyN7kwm%3BtDx6ggqh{4VE5Q+pKpaZLAL=69HV{ z=KSlAZT3F-j1GLKjb>k`I2>k3DcJ3H{j`sE-v{wJOiiR)=u^9VTl@Y_xb0->+S&a9 ztqN>35=7MAY10X&oxjrUiRrv0rlv2AmNoF#m}P1!E@)=mX=d_GK1$&$Jy;)oKuM+R zcY}FpTy|^Zfj%ZL!*22pZuNz zkDffigGUbyn`ZCDUh9yy2S6B*Bu^H9*oqdj@zzhwp2AI<*@gKqW15cerB`3aoA17Z z{qf!g)x;7ltttW$)%N*qpZu0v_wGITt>+gPH_KE+RXvN(rohFtV&;smw`MGgWSYJ+v?);+ z2$dJ8WO{LOp777O`}44WF5?MX#X!$Iz-0c%?6XrZy+EHuA|<4zg9AIPy>wT@rnz0a>;4Abka_Wb;whp}ni+PZlRn#=I4@lulYU?7ublWJ z?s<8VIPEc7!JSY3vhV&^UU~fFuYUOpU%_tLRnbLDX^`E1@ddp3+Uw9|hG+#)(Ki@q ze{}(Bh0GVYas4XJ4^MID?z>nNm>)mFhi{zVU;c;xUi_oK{s-|~eTuVt_i#9$0VypQ zM}=zJIo{r3ueEI^HkE>DDzH@nBh7tef5q>xN^KUAY>EtqB{jkC)VCX-Ez`Yr^`?IxJY#^TQLlD8EnRpu zq^3oWLwz4uOfHyF?>rFO4c97B(89s>Fml^;#b%oNJx+W#?M{Qm`DOzfQjj@h5um+# zQPMsDfp5r5d-uQb#8#vL=sTfjytUtVKPbqPGPLhONdZ-WO0#=Syr-fbaJg*?IZ@Ew z3o^(l@!ww0aJu#wtCZsYy3L9jV_QIGCq3+sj$Ci;6&{n(mMj+g>kBaY=5K{~Eb$tN zpdaxmcF2^c8ySA5smXuHQL%BEL7tqJ0#wv!$b3`xlfLo*124iPpxPV#VtmeYwSJ5T z`~4A0-&D_Z#b{1dHX>$4T@EgTJSf4Z7p#1^4E%QR*wWd519?Som=AdO!F^zAuj{D2 zozZdHnSO9sk^HyGb&cmRIW~f~%EjbY+G>Le;6i77<||*uZojiV6`ZA|h$<>dDX8-z zAN|mW>$R&_e$BfN-~DxMb4sz!yR{l^^qQ{`qsD(mi}qKNBucLsG$me!+3s|Rw*1p| znpze5P06u|cjt3|wOTa%KxcR>9~-~eS{SjnsY$SstT22rQ{Q1x1b=*$L5k19L8|*P zqnSi`r@8w&N%uz+KCS{_f00do$PXO0>`xqGqeSM3QtTNxY&exPBY%l6XZYB!DHmaV zVA&a)8~R<}A1&mD|D{%0-aOi%zD+p7o(+KYI2GL%jXkqT^)FcwBYPUZ z)5zdzCLu7{8ualQ!-OdZ@xx3a*8>nsmhB_&6X3Cpozu6f9~|RR(Gk>mw!w29J_lsB z^7@$BjLx1Vx2f)i*ycoiNMFYGhnbGy$IvhHkAP8UwU33_OcKv*l1Qwc$8P^LyI(c8 zp|%@)oQ*vW4yY*)=MVjrpZeMRDn+pzYMrYbo}TON=by*D`}gtm z-aP<7JuHA$XrJ}hWr1ECpcgZ)oVIi3A3b`4uYB&Sc>M4TCs&T3ci+Kp{~!Md{*S-w z@5SHwsqe(q!&96+d`lseWQ@NU2hbVO+N0T){vMfj zuO%W-QPn06{X1Z1SLgS}EwHToE;HH0biO;^ox}M^xB2nceWp4AGFd;6~oLtwcp+0i?o^e-Lyw3J36TX2_CwG@cs?2w&y}S z646dwX!Upx5GT0P#q6KSM2aI!R{eC0>UsgRJu}|De-Df4e8&S_Zg$h;^tJw&4C6f{ z-Zr@tmf8NLs^TzTpiDb_;nmmh_T9TUKHi7U)-J4#SF+5tTsyuZAOFZlZ@vE7>%aT3 z%pWYJ6xBMZEh9<67Q>~+D2Gdfd2Sa{V&0!O`yKYih6haNti7CQGC?9#_xRB5{y4~M z33Y}i+Ks^i^-U78zY^{&QZPTtJ#3)bs6jGnt7KY&N=85-U*xMN`k=ykRyxXI^<dV?0duF?wYFMZ)Mh_zaHJ9=ZuSC#+WZLYUgWxizflVF}9$*gnQ?C>4 zm_O(K*SViMX6_;+ATXbj$fLO*P`qn{7OqY*5Jvfp4+*sGH-V>Sd!t+L((!fu5wB%+ zb%Q*Y!FhDTEZ?Ao#I=!C#>H8oU*Y=qq z6O4YYeLpZXqorz_7*p?93&94A{HZ{Gw}YG~cb8ilO3-MOmnLA@KWwum84g!Iew>sq zEMo2<%TD%7h`?wydOa9MuW?C$8P%em8Jso6Nw7_iU7uO#qy0-~-<1^i8NtDd#)h}9 z?_FMx)P7ZP1WR)jM>zI3u3*#M&*Fv^7@_(=z0|Z zZyIO=1ze_9RaMc$VaAQ;Uii}wm-@$l?&m)z`{R?U%c0H}=eT3H`^TU^=@~Xc3Lb@43V4zpX^NfH!YL|~ z0vq<|?y)wU9kTu<(M)(KEcwdFY4jVArx2*7UCevWMQ~VVoSt6CH0^_KT~-_qOQ0m{ zkD|uwh$&GasE=Xo?EU0#0bbb zRfzsf?|A>Th^%O$h+W&Ioe~hz))P;mU}0GnOw)vEH}%c`BAyg+57Q*XR~<)i+Ey9# zJ{X=vFq%O#8cU0dkMG1RroKkIphLm+KsfcrHQ8=Jusr=jzM z8k176J37K*qhnl_6HJTYEa30@wJe8bw>JF$C{K~jgrzW*SR{%f(?moJQ z^ZCMG*#bf)_q+YTC|P}tr^aLSS3X%UB-wHS{56vE!v#M5#V=x-_HMV#7Io1uQ03zv z`Pg!CF@NeCZ@>BX6)BUdow_Aqo}F<7*9fZwKV`7}o_Gtl)oq-~0w?5zQ{c+Uyrg!l zzcIFBedk1a0Nu*QyZue3-Jtij6}G>6o3S_JW41*lXAdS^O0c^On}~J$qL;w$06TrL zF6Z>$!e5B~PR;BOk{$(X2GxlEgSOVb3k0dAm-7|rS-aPK3^@td$Qb0hjvL`ldL9*x z4dOrfve@*p+3>APzOEJK!U6tBv@e*RRN?_V``6hs)0SC4TzM(MBhFdr4bkDPDie1Jp z{vtWYNbdJ;JDJK=9T|R&Ehe-E6Sj423ib+M?nf>w1hb&qEYhqPI)Ib{4@tpxg!{QS ze?|>yzsIu*K18!IAi#qzs!Tm@benkNUFY>+pCaL=KwnulHe^3HkU-H(KuWUaN$>ih z*VmlvU{zneodFC7L=8WU7L?kJfdeI&I$%R$KGv(0`~y5|-`cZxl6|&c<2~hSdjQn- zu6|X;QfprcP<^(}err{&6>@&KxOnj+ANd1+?l1r3XC6O%QYK)zczPzKh}^n)6R&>h ztI)bY=R+F=s0*+xF@t|NpzQa!b^A8%-MNboeB?!Z$ESWdKJ&Am!&krdI<9}{gV>$y zaPjsXeAh=`#J~Q}{7(Gi|Fd6*M{m7~i}Q~13MFa);QFQh9l{9?@n}mRH)Lx2+BD#)4>4UxiW9r^dy6;*5B>J@O={?JDWJ#rpskhIa-VBI5zCWKAU;j_d$9BClm|L6T z=cqT53-LV$`V78>5VT{_8hID#$;P1|Zj+}$<5fCdGT%97ZBmRdi>?b#Ly-PH8 zS+tv-{{o#4vqFLWZr|)oUHr6Vr;G8*_TzvZ`POEXZCQTns!+d*rK*a{2FF1oL4o zAGm#6KJfepc5l6T=O27>cJ?c}PuM~G=Jm3%AHb08MABmX7;JdANhZfJz&RGOwuUDu zd8KC>lEe1f2NS#)4W8L?gbD6Qfb#%@43(faogEpfS3_*tgsr>DFbSJ+o`C9|nPgflJ{|{SL}I z!lYgA4WQJ{2>UajmHgC#V5EQDZTY|9yamHDfmQic|1y@ho;E~zkj1E)m41bDw=@>q z=upl?))Zw$!tu8mJZs)!1#-r%-sS3*+>2yf)u#TWx9NCuQalD;n&qIwISxvC(3Y%k z)Jef=astng8)EZirE@_+>xv{rLG$e-1zMSAPnSV_doZ z94_wP!~E7a@K5~qzYD+jANZf6K6)EZ&(Bdxn|WQ91yUyL_D7v=T^~jKGyou${n~QW76cftgzSMOCcc58CztVF zd$GpdLB|YJtrewAxO#fM&Crf8_x%@gFZ~t z4CJ=2Y@w0*N{T2RG+*ihRK+w+xR@_+_rZOL$%OeN6&xKMamy>3g{^|G%vsx0lFh`E zhQC7bbiTmPef7(bsaRKJH~Ourdgb`Iy!_Hjy5H?zzVptzzq5#3>k2~>gy0+NymO66 zDC2Y!*(gs=V-R4py~%d^J!;orFnJccl@nj?$K{G*j*_ z3=~+oO+n2-cmT2`2tD}TO7j%x&%$YXV9#Ej7C}E%!j|?MmR+++Xd435&ZX2C z2^)dE_;30gv7w`-BE%ap9yxD{7k%>g5jt4Q{Raz57~Qc)<(kjN!FuxKnG6o{EXU?W zMj-`%rYN=sSLyvvS*dZV3lU;v7{oAo67*@Of*nq%N0TnradZr)y#3%lZdQR+U`1&=RedAU9J^#}m!N2;C{5@D6-Nk%pGd~v>7yZ52X|;2^F*wXow`H`u zw^=f3j6=)vc>OMYM7`K_I9Ntg5NOwviV`JDl!OfCp<);xTW%3iss8nV_d zI_1IxPPX^b>8(_seL;UaztK|7b_J}xP4j_d6IrIL&5-%9cg2>2C-^$OyY3Xi$^W%B zTU&ZKT*%SUF+|!q?oBMREe(3t2$)HyyO_C*wtF@(5;EZ@6D0c@auWE4yzqbvDWktj z@BIe}TasS0T!($IwhV`eX)JDR;zM>y1X?S0(;idVx0NU^`$i*s&px|2D`WJvJp}y3 zf)0Zqw`aU%`z27Il6*LsVwIrx*H>fQxqlCJBP2OKI;LL~Bbgi-J&;e{uz_mE-|I=h z1GE8;QUqUm^)uXt$pj`6 zuQ4s)TS8ff(7kxR5l!VJ%bSoD-K@Z%RT(D1Y9Js8C|)`xiT2wX+^Cv7=XM&>myn0f z=m@+!v*aIFty$8mYdd>+cx+RzP~rmEvf04 zhz)5{n@oEF(Oq1pEM5#a0=}m9yb3Msb7F1B-*qDmW^Bn9*)(moG_X=bKE)%9lkt9J zPx3vg*b+~tAyxJ~#Bpx_M14UYs|#CCe;ynR?Gohe6?10uC3M+@H?)bd^!4K^-1 zdcWKS)<*2T3Z>>fwZw>ZGaR~-l`Vt6^_BaUXFcbl1l3mgrW-bZWQJ*jAEWfH1YG%J zRWbR?4H#YFEvRLq&4|F1ZiHj#XLZR&9|I8YaV6v8t#$)MhI{R-w|-j#8-~^X9mF;y zDmuzRk^MH~n*%&WPW1UWK~Ui5&wH6z1<-fzt`$qIQtf5@S}(r&yT0?^_%Hw4zxpS? z@#foyX*a3P=larzKZGy*{AU%%M}RKA`+uUxJmco`x1p$bdU1|vx5IpKf&FfWzu|BE z8}U6q@G1P%XFiKR{Qvk5@uPp?zr*=KQJ+4--}Sfu8vOo$=e{` z$PC1;?yy;C^EsB(MG&?XAg7Ugj}vU5$1>?W<7WED139JdEZa)KsL|K?-sLjrqHYgV0o!?=L_S}A)>wvF{2@|}*%-hEZIb-C4UAx0 ztS%yX5ww*$Qz_UV9ktox-b7#GF2XpwJQc+9aO0J|w&QVzI6au2?Ds-tL-%{x(jW5j z^T3hyAKtFXs;#uhaiHmZ(A70V$xICwm!GDcFJ*_FAX@u>+e}b`*2WK_TcVTW z(UnFO=$pbmy?Bbxe(6i;WD1wxzGr2f7kTLeA1sHnGkoi}eB#!-@4oXpMam1RS{xAK zWwJ&j2R6{T#lg&%%=7IU88?$XQ(vF!H6F3A+p148;j+AX7LaoN1P}7Xwl9%H5{^mx zcx;62SA1q7bx>7?Mni{b06hQ;D!G5o^wWXzj9nUq`xopuyp zU)CTHvFtO-j2pef%*ZpE&DXO4xTHk#5AS_ldJ2HG#=hnkeTi&H!li{TeWJtPGg}f?-!@6CSwXhSa6l5Hg@e-=+Oc~vDmTs; z!AI0A=va;ZvT#rWXv|5$v?|>jM&M|~Jrpn#HI2#-MV={IiWQGcfD*0)W&M!`9ikr@ z%97Do_1(YPM$@|fOv!n=&%cMpISG&K+d<%2W2ar^=NaVGAJIpLe)4awHw*;Socy;0 zA8~J3?mzx5_Bk)86?Lw)TtB_`_U)HG{4f6LKl5k*+j4Y_^T&_%6QB4dyz-S-<#7K2 zWOsx*FJ1Q)SQJtfIxjfAejU@%2_D{m*qqQ*FfSDshjV<}w|_JK&cEw7;n(~vKZ2kB z{MYcm{onuJ@bCXW{|kKeXFiMH_?vz`{*E8{LA?F;o0z6k>~?(sVC~~Q@P_FT8)FHY zHAmVlk9#|fc6%A0iK77+>nujy<1Wj{dZtFHS7Z3#FZ#$oCs}HGZw5CBOsnJHU5@&y zkDB4ps+bQ4Ts^%WbrEt}we2BpgF@V%(V$ZQp?7VY{sxAm*D-*8Je<=klf>wlB1wKf zXiylN`5)~A+a+ksw6r56L-~1Ee`q@#4aGfh!X`={oHZON|JrTC|~OT`b?hf=K<||0Vt;39uFQr!lSb%kZJ0*8cZkq6IzKw zah%%9!@N49@hX42z8uk(q1rdk?Lv}yiE zd$Pi3jOx=s<;Il;CAiy50$S&(;j=V&V(p6g{tj`9IU00qV%T4{jGc|! z22E6>4F{teuW)qMmG|ity4|yt;AygvSg9m65kGC%)6Q{**l`zbH$1VM@MK3veB8aI zXXzq!x7^U{aDSHxjzdiH#cJ}bTEY__eN9!fC*r{S+;acN6Eh`-yvJqr*}y-GCTrX* zh|Z34a6#dq`w!!>nu5B3G2_G8FtOIKg?V1>%sm1_hBK@5xGZHH8D)7_{^;_M**WeS z!)^J@m>R9OMZvHi>;d6HW!V@GK}HBIGM;qi_ex6;^5yiRk<`Q=3LZ8uw->oQ8@k~1 zP>=ZL97}Wz+%Ge*j=#C_jbf%xM!(e(LvCNwM;ID{-vU6!*Xpy*nW5T(H_zrrKcTNN zFc!!CUG|y((vf~Z{+*sj`RzRbYC8>}D(a$8MZLH{0zIJeRC4~3FUag`O|Y8<^#Uv zTfYha;Q#Ws;@AI%AHkph%Rh_X^UwcV_^H`|1=4J52( zj(HB>pquRZm{5$)OtLL>f9(dMtn|sr z2_WLHAYsM2Hm%N!IPBkkL!@yny^UroQ!J4T`L|iipy66y`ZM2fp5p;}PWFUF*<_ZM zy9_LlRh|^yftcjJu43xD=liN1=anf=@K3eTU+h@JuIux1K? z$#N1t!(f#Df5a)m{ba}F@H;_W6f#aL7>O4A5ivA97jZk3+Ce1te9v0qtit?9&VpE9 zH1M|aVPq3M!16AEf1G6z`v0Z4u~o7tpPC*#P0%f{tOoQ)O_0)R#-w_x?>j4ay)O18O3FGk5W_uXeQ`I+N> zd9oiz_0fG_z7I;`c{9N3^_IRTz(Vi(>yZ2}ZRtOKS1eU!S=t=r+4*_-rf>h&AN%Rg zef{@;`HNpWht%?kZ~AEc@xStuQl%{k)ny^Bb%~lL-2TAxxOe{n6s5gGTG~6=Ww!%L z!Nu7*>eCDSO+WJe_~-uF--VBT*C+AM{(*lN|K5N4XE5#e5L8TMqC_xc#WXIh!eO2x zY&|EiorUR3t;2J#FJ5dMB;e<%%?{V7&)t<$9Sc0750HMO!6N!Ihs>DPy1)h_Z3bE( zSmqf=`(qsKPiXgZ4TvmRGhHKl)ZkIX%yPHs^|`i7F&tSzivR^3FSfuIO`%H}Ea zU+Kg2r`Pa+%4iz4#^2|*jp~FtUGWdvHX&;rOw**j4|Tg;irW!&dX4XuD|I8OBV)HE z;@WSD#!3O(TS5Ha2yVh^XFF+|ebVf^pK)(17}`vX1)>ejI9*~eZf3g-KKQBv5sBnv zKFm1U?XjD7nCIEcsRma8^!;f%w_5Be+7^_E>oA?(0BBE?L$1P~G=4^CKr*N{SVsIo zvyYMV@_X+_+-%-M#=-RD`!c2pJpVav>VVK-#loJR6MSc1E-3Igfx6K#BTZ zF8L5~da(Og`J7OyoQ8Ep>us8>2E36?%SL-+vWwncY9C%qxuw9vhds=7dSp!s6h>hc z+lOCE1EvFo-998N^7B^9ofonM1+-B=Q650w;Lt(j$Q4Px`7)cu{Uq30p@37#zlFhH zyV4bS`C*22q!*k9`97~uNPL9pI!mapE+F`Vlr>hD@!lO{HEb|$J6@FV+l->ek zZAMZny(x8pgE^rb1%a(?)V^HVR&Xchl}ocDb*0cA7;GpHx519vgJSzV2&oz8JX1}r zZ}gP`UGvC;uOMzRerrSxxpCB3y)^*XKqtTd9CTaz7w^UGG&vr(|H+38bYRbEMm26< zw$dWwVQ`JEeyhJ<%$2P%(`7V94Ev>UknJ) zgKS8QGC8oN^d(I?{>Rni+#m`h}U8I z+aO%{P^9@Wk&GM9Ubo=4SZgW0Ni(@X3@~`#B=dtDib&s`TD*RK&R&xSY)iZ@;P_H7 zCS8avnLWL71$9}1>n7wH^+(@R{Fu%r>**v6MI7Vlx^KFtAh!Ce8cKs!5y%&(5!0mj zbAG07Z$!)v7?0pQC|xE}J_3_@jkeMyn5GHSZs&tVo)l`+CDZ02;$AZbCd?mJEX(XN z7tMz(<(XfzA67;a4}@ron)upy3$Z%U!LXcazGriz#|ho)0*sp2~c`w=UuwrGJDPbDBFeZ+tmAK z|3&@8^8p^SDQ+LEztpdG`=6H2ZnQ@V=L(W-Zji<6+s#%#&c7P%G|$-Er$BsV#;CiA zHv_yzqxSzmpG@WU!KbSPyw=%@9_bqKHGHsDKVY^;T+c+$mezB9fa2}`PxcAfW3tV% z#@U~cV_C(fu@nA)CWG(Kb4=pxD3y18NAQKT*CYZmz~^<~dK2)F_6zL`k*tCZ!b^fP zAxqz*RF;rNw-_wabyep90lZ4F%9seepGz+L+c35(#GX~8kM!CZ-eXk&Y3F|{mt+8l z`u)$BJ`y>3BuGX^N{GN3^K5fXc)Wqc4N{MUcUX7bdfdxI0;Z{|4&`zK!e4Va3S