From 8bb983eb03f11e414462da800625ee8bb8df4c63 Mon Sep 17 00:00:00 2001 From: Gaubee Date: Fri, 9 Jan 2026 14:17:23 +0800 Subject: [PATCH 01/23] fix(bioforest): add beginEpochTime to transaction timestamps BioForest chain timestamps are relative to the genesis block's beginEpochTime, not absolute Unix timestamps. This fix adds the epoch time offset to correctly display transaction times. Before: timestamps showed 1970 (only relative seconds * 1000) After: timestamps show correct dates (relative seconds * 1000 + epochTime) Changes: - Add getBeginEpochTime() to fetch and cache epoch time from SDK - Add toAbsoluteTimestamp() helper for timestamp conversion - Fix getTransaction() to use absolute timestamps - Fix getTransactionHistory() to use absolute timestamps --- .../bioforest/transaction-service.ts | 37 ++++++++++++++++++- 1 file changed, 35 insertions(+), 2 deletions(-) diff --git a/src/services/chain-adapter/bioforest/transaction-service.ts b/src/services/chain-adapter/bioforest/transaction-service.ts index 92adbe9c0..fe44e7ea7 100644 --- a/src/services/chain-adapter/bioforest/transaction-service.ts +++ b/src/services/chain-adapter/bioforest/transaction-service.ts @@ -29,11 +29,41 @@ export class BioforestTransactionService implements ITransactionService { private readonly chainId: string private config: ChainConfig | null = null private baseUrl: string = '' + private beginEpochTime: number | null = null constructor(chainId: string) { this.chainId = chainId } + /** + * Get the genesis block's beginEpochTime (in milliseconds). + * BioForest chain timestamps are relative to this epoch time. + */ + private async getBeginEpochTime(): Promise { + if (this.beginEpochTime !== null) { + return this.beginEpochTime + } + try { + const core = await getBioforestCore(this.chainId) + // Access config through the core's internal structure + // The SDK stores beginEpochTime in milliseconds + const config = (core as unknown as { config?: { beginEpochTime?: number } }).config + this.beginEpochTime = config?.beginEpochTime ?? 0 + } catch { + this.beginEpochTime = 0 + } + return this.beginEpochTime + } + + /** + * Convert BioForest relative timestamp to absolute milliseconds. + * BioForest timestamps are seconds since beginEpochTime. + */ + private async toAbsoluteTimestamp(relativeTimestamp: number): Promise { + const epochTime = await this.getBeginEpochTime() + return relativeTimestamp * 1000 + epochTime + } + private getConfig(): ChainConfig { if (!this.config) { const config = chainConfigService.getConfig(this.chainId) @@ -321,7 +351,7 @@ export class BioforestTransactionService implements ITransactionService { confirmations: 1, requiredConfirmations: 1, }, - timestamp: tx.timestamp * 1000, // Convert to milliseconds + timestamp: await this.toAbsoluteTimestamp(tx.timestamp), blockNumber: BigInt(item.height), type: 'transfer', } @@ -412,6 +442,9 @@ export class BioforestTransactionService implements ITransactionService { const { decimals, symbol } = config + // Get beginEpochTime once for all transactions + const beginEpochTime = await this.getBeginEpochTime() + // Show all transaction types for the address return transactions .map((item) => { @@ -437,7 +470,7 @@ export class BioforestTransactionService implements ITransactionService { confirmations: 1, requiredConfirmations: 1, }, - timestamp: tx.timestamp * 1000, // Convert to milliseconds + timestamp: tx.timestamp * 1000 + beginEpochTime, blockNumber: BigInt(item.height), type: 'transfer' as const, rawType: txType, // Pass the original chain transaction type From f97d0ecfa45596d7e6693751877d8d835cbe9120 Mon Sep 17 00:00:00 2001 From: Gaubee Date: Fri, 9 Jan 2026 14:29:27 +0800 Subject: [PATCH 02/23] feat(agent-flow): add label management with auto-creation support - Add top-level await to load labels from GitHub at startup - Add getLabels() to list all available labels with colors - Add createLabel() and ensureLabels() for label management - Add --create-labels flag to auto-create missing labels - Add --list-labels flag to display available labels grouped by prefix - Update createIssue/createPr to validate labels before creation Usage: pnpm agent task start --list-labels pnpm agent task start --type service --title 'Feature' --create-labels --- scripts/agent-flow/mcps/git-workflow.mcp.ts | 116 +++++++++++++++++- scripts/agent-flow/workflows/task.workflow.ts | 38 +++++- 2 files changed, 149 insertions(+), 5 deletions(-) diff --git a/scripts/agent-flow/mcps/git-workflow.mcp.ts b/scripts/agent-flow/mcps/git-workflow.mcp.ts index 396e4d544..914aff77a 100755 --- a/scripts/agent-flow/mcps/git-workflow.mcp.ts +++ b/scripts/agent-flow/mcps/git-workflow.mcp.ts @@ -46,8 +46,107 @@ function safeExec(cmd: string, cwd?: string): string | null { // Pure Functions (Exports) // ============================================================================= -export async function createIssue(args: { title: string; body: string; labels?: string[]; assignee?: string }) { - const { title, body, labels, assignee = "@me" } = args; +/** Label info type */ +interface LabelInfo { + name: string; + color: string; + description: string; +} + +/** Cache for available labels with their colors */ +let labelsCache: LabelInfo[] | null = null; + +/** + * Load labels from GitHub (called once at startup via top-level await) + */ +async function loadLabelsFromGitHub(): Promise { + const output = safeExec(`gh label list --repo ${REPO} --limit 100 --json name,color,description`); + if (!output) return []; + try { + return JSON.parse(output) as LabelInfo[]; + } catch { + return []; + } +} + +// Top-level await: load labels at module initialization +labelsCache = await loadLabelsFromGitHub(); +console.log(`📋 Loaded ${labelsCache.length} labels from GitHub`); + +/** + * Get all available labels in the repository + */ +export async function getLabels(args?: { refresh?: boolean }): Promise<{ labels: LabelInfo[] }> { + if (args?.refresh || !labelsCache) { + labelsCache = await loadLabelsFromGitHub(); + } + return { labels: labelsCache }; +} + +/** + * Get color for a label (from cache or generate based on prefix) + */ +function getLabelColor(name: string): string { + // Check if label exists in cache + const existing = labelsCache?.find(l => l.name === name); + if (existing) return existing.color; + + // Generate color based on prefix + if (name.startsWith("area/")) return "c5def5"; + if (name.startsWith("type/")) return "0e8a16"; + if (name.startsWith("priority/")) return "d93f0b"; + return "ededed"; // Default gray +} + +/** + * Create a label if it doesn't exist + */ +export async function createLabel(args: { name: string; description?: string; color?: string }): Promise<{ created: boolean }> { + const { name, description = "", color = getLabelColor(name) } = args; + const { labels } = await getLabels(); + + if (labels.some(l => l.name === name)) { + return { created: false }; + } + + const descFlag = description ? `--description "${description}"` : ""; + exec(`gh label create "${name}" --repo ${REPO} --color "${color}" ${descFlag}`); + labelsCache = null; // Invalidate cache + return { created: true }; +} + +/** + * Ensure all specified labels exist, creating missing ones if requested + */ +export async function ensureLabels(args: { labels: string[]; create?: boolean }): Promise<{ missing: string[]; created: string[] }> { + const { labels: requestedLabels, create = false } = args; + const { labels: existingLabels } = await getLabels(); + const existingNames = existingLabels.map(l => l.name); + + const missing = requestedLabels.filter(l => !existingNames.includes(l)); + const created: string[] = []; + + if (create && missing.length > 0) { + for (const label of missing) { + await createLabel({ name: label }); + created.push(label); + } + } + + return { missing: create ? [] : missing, created }; +} + +export async function createIssue(args: { title: string; body: string; labels?: string[]; assignee?: string; createLabels?: boolean }) { + const { title, body, labels, assignee = "@me", createLabels = false } = args; + + // Ensure labels exist before creating issue + if (labels && labels.length > 0) { + const { missing } = await ensureLabels({ labels, create: createLabels }); + if (missing.length > 0) { + throw new Error(`Labels not found: ${missing.join(", ")}. Use --create-labels to auto-create them.`); + } + } + const labelFlag = labels ? labels.map(l => `--label "${l}"`).join(" ") : ""; const assigneeFlag = assignee ? `--assignee "${assignee}"` : ""; const safeBody = body.replace(/"/g, '\\"'); @@ -70,8 +169,17 @@ export async function updateIssue(args: { issueId: string; body?: string; state? return { success: true }; } -export async function createPr(args: { title: string; body: string; head: string; base?: string; draft?: boolean; labels?: string[] }) { - const { title, body, head, base = "main", draft = true, labels } = args; +export async function createPr(args: { title: string; body: string; head: string; base?: string; draft?: boolean; labels?: string[]; createLabels?: boolean }) { + const { title, body, head, base = "main", draft = true, labels, createLabels = false } = args; + + // Ensure labels exist before creating PR + if (labels && labels.length > 0) { + const { missing } = await ensureLabels({ labels, create: createLabels }); + if (missing.length > 0) { + throw new Error(`Labels not found: ${missing.join(", ")}. Use --create-labels to auto-create them.`); + } + } + const draftFlag = draft ? "--draft" : ""; const labelFlag = labels ? labels.map(l => `--label "${l}"`).join(" ") : ""; diff --git a/scripts/agent-flow/workflows/task.workflow.ts b/scripts/agent-flow/workflows/task.workflow.ts index bbdf63d4f..d7ba59633 100755 --- a/scripts/agent-flow/workflows/task.workflow.ts +++ b/scripts/agent-flow/workflows/task.workflow.ts @@ -22,6 +22,7 @@ import { createWorktree, pushWorktree, updateIssue, + getLabels, } from "../mcps/git-workflow.mcp.ts"; import { getRelatedChapters } from "../mcps/whitebook.mcp.ts"; @@ -98,15 +99,44 @@ const startWorkflow = defineWorkflow({ name: "start", description: "启动新任务 (Issue -> Branch -> Worktree -> Draft PR)", args: { - title: { type: "string", description: "任务标题", required: true }, + title: { type: "string", description: "任务标题", required: false }, type: { type: "string", description: "任务类型 (ui|service|page|hybrid)", default: "hybrid", }, description: { type: "string", description: "任务描述", required: false }, + "create-labels": { + type: "boolean", + description: "自动创建不存在的标签", + default: false, + }, + "list-labels": { + type: "boolean", + description: "列出所有可用标签", + default: false, + }, }, handler: async (args) => { + // Handle --list-labels flag + if (args["list-labels"]) { + const { labels } = await getLabels({ refresh: true }); + console.log("📋 可用标签列表:\n"); + const grouped = new Map(); + for (const label of labels) { + const prefix = label.name.includes("/") ? label.name.split("/")[0] : "other"; + if (!grouped.has(prefix)) grouped.set(prefix, []); + grouped.get(prefix)!.push(label); + } + for (const [prefix, items] of grouped) { + console.log(` [${prefix}]`); + for (const item of items) { + console.log(` - ${item.name} (#${item.color})${item.description ? ` - ${item.description}` : ""}`); + } + } + return; + } + const title = args.title || args._.join(" "); if (!title) { console.error("❌ 错误: 请提供任务标题"); @@ -114,6 +144,7 @@ const startWorkflow = defineWorkflow({ } const type = (args.type || "hybrid") as keyof typeof TEMPLATES; const rawDesc = args.description || "Start development..."; + const createLabels = args["create-labels"] as boolean; // 1. 组装 Description const template = TEMPLATES[type] || TEMPLATES.hybrid; @@ -125,6 +156,7 @@ const startWorkflow = defineWorkflow({ if (type === "service") labels.push("area/core"); console.log(`🚀 启动任务: ${title} [${type}]\n`); + console.log(`🏷️ 标签: ${labels.join(", ")}${createLabels ? " (自动创建)" : ""}\n`); // 3. 上下文注入 console.log("📚 推荐阅读白皮书章节:"); @@ -138,6 +170,7 @@ const startWorkflow = defineWorkflow({ title, body: description, labels, + createLabels, }); console.log(` ✅ Issue #${issueId} Created: ${issueUrl}`); @@ -168,6 +201,7 @@ const startWorkflow = defineWorkflow({ base: "main", draft: true, labels, + createLabels, }); console.log(` ✅ Draft PR Created: ${prUrl}`); @@ -280,6 +314,8 @@ export const workflow = createRouter({ examples: [ ['task start --type ui --title "Button Component"', "启动 UI 任务"], ['task start --type service --title "Auth Service"', "启动服务任务"], + ['task start --type service --title "New Feature" --create-labels', "启动任务并自动创建缺失标签"], + ['task start --list-labels', "列出所有可用标签"], ['task sync "- [x] Step 1"', "同步进度"], ["task submit", "提交任务"], ], From 2bf22358ca2dd91925a8ff92f8aff448d3a4bacd Mon Sep 17 00:00:00 2001 From: Gaubee Date: Fri, 9 Jan 2026 14:32:06 +0800 Subject: [PATCH 03/23] feat(agent-flow): skip CI on initial draft PR commit Add [skip ci] to initial commit message to avoid triggering CI runners for draft PRs. CI will run normally when task submit is called. --- scripts/agent-flow/workflows/task.workflow.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/agent-flow/workflows/task.workflow.ts b/scripts/agent-flow/workflows/task.workflow.ts index d7ba59633..b3f04a470 100755 --- a/scripts/agent-flow/workflows/task.workflow.ts +++ b/scripts/agent-flow/workflows/task.workflow.ts @@ -185,11 +185,11 @@ const startWorkflow = defineWorkflow({ console.log(` ✅ Worktree Created: ${path}`); console.log(` ✅ Branch Created: ${branch}`); - // 6. 初始化提交 & 推送 + // 6. 初始化提交 & 推送 (skip CI for draft) console.log("\n3️⃣ 初始化 Git 环境..."); await pushWorktree({ path, - message: `chore: start issue #${issueId}`, + message: `chore: start issue #${issueId} [skip ci]`, }); // 7. 创建 Draft PR From b5b2bc1254cc689ced0b3300506e5a1c28c87666 Mon Sep 17 00:00:00 2001 From: Gaubee Date: Fri, 9 Jan 2026 14:34:05 +0800 Subject: [PATCH 04/23] docs(agent-flow): add detailed documentation for workflow and mcp MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Document workflow stages (start → develop → submit) - Explain CI skip behavior for draft PRs - Document label management features - Add color inference rules for new labels --- scripts/agent-flow/mcps/git-workflow.mcp.ts | 21 ++++++++++ scripts/agent-flow/workflows/task.workflow.ts | 42 +++++++++++++++---- 2 files changed, 56 insertions(+), 7 deletions(-) diff --git a/scripts/agent-flow/mcps/git-workflow.mcp.ts b/scripts/agent-flow/mcps/git-workflow.mcp.ts index 914aff77a..2e9ca0f89 100755 --- a/scripts/agent-flow/mcps/git-workflow.mcp.ts +++ b/scripts/agent-flow/mcps/git-workflow.mcp.ts @@ -3,6 +3,27 @@ * Git Workflow MCP - GitHub & Git 操作封装 * * 提供原子化的 Git/GitHub 操作工具,供 workflow 调用。 + * + * ## 标签管理 + * + * 模块加载时通过 top-level await 从 GitHub 获取所有标签: + * - `getLabels()` - 获取标签列表(含 name, color, description) + * - `createLabel()` - 创建新标签(自动推断颜色) + * - `ensureLabels()` - 确保标签存在,可选自动创建 + * + * 颜色推断规则: + * - `area/*` → #c5def5 (蓝色) + * - `type/*` → #0e8a16 (绿色) + * - `priority/*` → #d93f0b (红色) + * - 其他 → #ededed (灰色) + * + * ## Issue/PR 创建 + * + * `createIssue()` 和 `createPr()` 支持: + * - `labels` - 要添加的标签数组 + * - `createLabels` - 是否自动创建缺失的标签 + * + * 如果标签不存在且 `createLabels=false`,会抛出错误提示。 */ import { execSync } from "node:child_process"; diff --git a/scripts/agent-flow/workflows/task.workflow.ts b/scripts/agent-flow/workflows/task.workflow.ts index b3f04a470..159eedbc4 100755 --- a/scripts/agent-flow/workflows/task.workflow.ts +++ b/scripts/agent-flow/workflows/task.workflow.ts @@ -4,10 +4,38 @@ * * 核心理念:AI 的计划即 Issue,AI 的执行即 PR。 * - * 主要功能: - * 1. start: 一键启动 (Issue -> Branch -> Worktree -> Draft PR) - * 2. sync: 同步进度 (Local Todo -> Issue Body) - * 3. submit: 提交任务 (Push -> Ready PR) + * ## 工作流程 + * + * ``` + * task start task submit + * │ │ + * ▼ ▼ + * Issue + Branch + Worktree Push + Ready PR + * + Draft PR [skip ci] (触发 CI) + * ``` + * + * ## 主要功能 + * + * 1. **start**: 一键启动开发环境 + * - 创建 GitHub Issue (根据 type 选择模板) + * - 创建 Git Branch + Worktree + * - 创建 Draft PR (带 [skip ci],不触发 CI) + * - 支持 --list-labels 列出可用标签 + * - 支持 --create-labels 自动创建缺失标签 + * + * 2. **sync**: 同步进度到 Issue + * - 将本地 Todo/进度更新到 Issue Description + * + * 3. **submit**: 提交任务触发 CI + * - 推送代码 (不带 [skip ci],触发 CI) + * - 标记 PR 为 Ready for Review + * + * ## 标签管理 + * + * 标签在模块加载时从 GitHub 动态获取,支持: + * - 按前缀分组显示 (type/, area/, etc.) + * - 自动推断新标签颜色 + * - 创建前验证标签是否存在 */ import { existsSync } from "jsr:@std/fs"; @@ -97,7 +125,7 @@ ${desc} */ const startWorkflow = defineWorkflow({ name: "start", - description: "启动新任务 (Issue -> Branch -> Worktree -> Draft PR)", + description: "启动新任务 (Issue + Worktree + Draft PR,不触发 CI)", args: { title: { type: "string", description: "任务标题", required: false }, type: { @@ -250,11 +278,11 @@ const syncWorkflow = defineWorkflow({ /** * 提交任务 - * Push 代码 -> 标记 PR 为 Ready + * Push 代码 (触发 CI) -> 标记 PR 为 Ready */ const submitWorkflow = defineWorkflow({ name: "submit", - description: "提交任务 (Push -> Ready PR)", + description: "提交任务并触发 CI (Push + Ready PR)", handler: async () => { const wt = getCurrentWorktreeInfo(); if (!wt || !wt.path) { From f8eb97e693757bdcdcfeee1f232253f179ff8c0d Mon Sep 17 00:00:00 2001 From: Gaubee Date: Fri, 9 Jan 2026 14:40:18 +0800 Subject: [PATCH 05/23] refactor(flow): rename workflow tool to 'use' Rename the MCP tool from 'workflow' to 'use' for cleaner API: - workflow___workflow -> workflow___use - Update examples in dynamic description --- packages/flow/src/meta/meta.mcp.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/flow/src/meta/meta.mcp.ts b/packages/flow/src/meta/meta.mcp.ts index 4f49ff84a..28dac9e08 100644 --- a/packages/flow/src/meta/meta.mcp.ts +++ b/packages/flow/src/meta/meta.mcp.ts @@ -3,7 +3,7 @@ * Meta MCP Server * * Provides workflow execution capability to AI agents. - * - workflow(name, args): Execute any workflow + * - use(name, args): Execute any workflow by name * - reload(): Refresh workflow list and return updated description * - buildMetaMcp(): Package workflows into an MCP server * @@ -185,7 +185,7 @@ async function buildToolDescription( .join("\n"); // 动态生成 examples - const examples = workflows.slice(0, 3).map((w) => ` workflow("${w.name}", ["--help"])`).join("\n"); + const examples = workflows.slice(0, 3).map((w) => ` use("${w.name}", ["--help"])`).join("\n"); return `Execute a workflow by name with arguments. @@ -197,7 +197,7 @@ async function buildToolDescription( ${workflowList || "(none)"} ## Examples -${examples || ' workflow("", ["--help"])'}`; +${examples || ' use("", ["--help"])'}`; } // ============================================================================= @@ -341,7 +341,7 @@ async function createWorkflowTool( const description = await buildToolDescription(directories, filter); return defineTool({ - name: "workflow", + name: "use", description, inputSchema: z.object({ name: z From 37642bc27a46bbcd0ebc4cd64d859948c6733f97 Mon Sep 17 00:00:00 2001 From: Gaubee Date: Fri, 9 Jan 2026 14:55:06 +0800 Subject: [PATCH 06/23] feat(flow): add RuntimeContext and async description support - Add RuntimeContext to detect MCP vs CLI mode - Support async description: string | () => string | () => Promise - Add formatScenarios() and formatDataSection() mode-aware formatters - MCP mode set automatically in buildToolDescription and executeWorkflow Usage example: description: async () => { const labels = await getLabels(); return `Task management\n\n${formatScenarios('task', scenarios)}\n\n${formatDataSection('Labels', labels)}`; } --- packages/flow/src/common/async-context.ts | 101 ++++++++++++++++++ .../flow/src/common/workflow/base-workflow.ts | 24 ++++- packages/flow/src/meta/meta.mcp.ts | 40 +++---- 3 files changed, 143 insertions(+), 22 deletions(-) diff --git a/packages/flow/src/common/async-context.ts b/packages/flow/src/common/async-context.ts index 18e29277e..6b60d12f4 100644 --- a/packages/flow/src/common/async-context.ts +++ b/packages/flow/src/common/async-context.ts @@ -85,6 +85,107 @@ export const PreferencesContext = new AsyncContext( "PreferencesContext" ); +// ============================================================================= +// Runtime Context (MCP vs CLI) +// ============================================================================= + +export type RuntimeMode = "mcp" | "cli"; + +export interface RuntimeInfo { + mode: RuntimeMode; +} + +/** + * Async context for runtime mode + */ +export const RuntimeContext = new AsyncContext("RuntimeContext"); + +/** + * Get current runtime mode, defaults to "cli" + */ +export function getRuntimeMode(): RuntimeMode { + return RuntimeContext.tryGet()?.mode ?? "cli"; +} + +/** + * Check if running in MCP mode + */ +export function isMcpMode(): boolean { + return getRuntimeMode() === "mcp"; +} + +/** + * Check if running in CLI mode + */ +export function isCliMode(): boolean { + return getRuntimeMode() === "cli"; +} + +/** + * Run function within specified runtime mode + */ +export function withRuntimeMode(mode: RuntimeMode, fn: () => R): R { + return RuntimeContext.run({ mode }, fn); +} + +// ============================================================================= +// Scenario Formatting (mode-aware) +// ============================================================================= + +export interface Scenario { + when: string; + args?: string[]; +} + +/** + * Format scenarios based on current runtime mode + * - MCP: `when → use("workflow", ["arg1", "arg2"])` + * - CLI: `when:\n workflow arg1 arg2` + */ +export function formatScenarios( + workflowName: string, + scenarios: Scenario[] +): string { + const mode = getRuntimeMode(); + + if (mode === "mcp") { + return scenarios + .map((s) => `- ${s.when} → use("${workflowName}", ${JSON.stringify(s.args ?? [])})`) + .join("\n"); + } else { + return scenarios + .map((s) => ` ${s.when}:\n ${workflowName} ${s.args?.join(" ") ?? ""}`) + .join("\n"); + } +} + +/** + * Format a key-value data section + * - MCP: compact inline format + * - CLI: indented list format + */ +export function formatDataSection( + title: string, + items: Array<{ name: string; description?: string; color?: string }> +): string { + const mode = getRuntimeMode(); + + if (mode === "mcp") { + // Compact format for MCP + return `${title}: ${items.map((i) => i.name).join(", ")}`; + } else { + // Detailed format for CLI + const lines = [`${title}:`]; + for (const item of items) { + const parts = [item.name]; + if (item.color) parts.push(`#${item.color}`); + if (item.description) parts.push(`- ${item.description}`); + lines.push(` ${parts.join(" ")}`); + } + return lines.join("\n"); + } +} + // ============================================================================= // Helpers // ============================================================================= diff --git a/packages/flow/src/common/workflow/base-workflow.ts b/packages/flow/src/common/workflow/base-workflow.ts index 75e9d49f1..33f38f447 100644 --- a/packages/flow/src/common/workflow/base-workflow.ts +++ b/packages/flow/src/common/workflow/base-workflow.ts @@ -62,9 +62,19 @@ async function buildSubflowMap(subflows: SubflowDef[]): Promise string) | (() => Promise); + +/** Resolve description to string */ +export async function resolveDescription(desc: DescriptionProvider): Promise { + if (typeof desc === "string") return desc; + const result = desc(); + return result instanceof Promise ? await result : result; +} + export interface WorkflowConfig> { name: string; - description: string; + description: DescriptionProvider; version?: string; args?: TArgs; subflows?: SubflowDef[]; @@ -76,11 +86,16 @@ export interface WorkflowConfig> { export interface WorkflowMeta { name: string; - description: string; + description: DescriptionProvider; version: string; args: Record; } +/** Get resolved description string from WorkflowMeta */ +export async function getMetaDescription(meta: WorkflowMeta): Promise { + return resolveDescription(meta.description); +} + export interface WorkflowContext { meta: WorkflowMeta; path: string[]; @@ -241,12 +256,13 @@ async function printHelp>( } opts.printed.add(id); + const description = await getMetaDescription(meta); if (opts.indent === 0) { - console.log(`${meta.name} v${meta.version} - ${meta.description}`); + console.log(`${meta.name} v${meta.version} - ${description}`); console.log(); console.log(`Usage: ${pathStr || meta.name} [subflow...] [options]`); } else { - console.log(`${prefix}${meta.name} - ${meta.description}`); + console.log(`${prefix}${meta.name} - ${description}`); } const argEntries = Object.entries(meta.args); diff --git a/packages/flow/src/meta/meta.mcp.ts b/packages/flow/src/meta/meta.mcp.ts index 28dac9e08..7d019c1ed 100644 --- a/packages/flow/src/meta/meta.mcp.ts +++ b/packages/flow/src/meta/meta.mcp.ts @@ -23,6 +23,7 @@ import { printMcpHelp, z, } from "../common/mcp/base-mcp.ts"; +import { withRuntimeMode } from "../common/async-context.ts"; const MCP_NAME = "meta"; @@ -168,26 +169,28 @@ async function buildToolDescription( directories: string[], filter?: string[] ): Promise { - let workflows = await scanWorkflows(directories); + // Run in MCP mode to get MCP-formatted descriptions + return withRuntimeMode("mcp", async () => { + let workflows = await scanWorkflows(directories); - if (filter && filter.length > 0) { - workflows = workflows.filter((w) => filter.includes(w.name)); - } + if (filter && filter.length > 0) { + workflows = workflows.filter((w) => filter.includes(w.name)); + } - const workflowList = workflows - .map((w) => { - const tags: string[] = []; - if (w.mode) tags.push(w.mode); - if (w.isUserOverride) tags.push("user"); - const tagStr = tags.length > 0 ? ` [${tags.join(", ")}]` : ""; - return `- ${w.name}: ${w.description}${tagStr}`; - }) - .join("\n"); + const workflowList = workflows + .map((w) => { + const tags: string[] = []; + if (w.mode) tags.push(w.mode); + if (w.isUserOverride) tags.push("user"); + const tagStr = tags.length > 0 ? ` [${tags.join(", ")}]` : ""; + return `- ${w.name}: ${w.description}${tagStr}`; + }) + .join("\n"); - // 动态生成 examples - const examples = workflows.slice(0, 3).map((w) => ` use("${w.name}", ["--help"])`).join("\n"); + // 动态生成 examples + const examples = workflows.slice(0, 3).map((w) => ` use("${w.name}", ["--help"])`).join("\n"); - return `Execute a workflow by name with arguments. + return `Execute a workflow by name with arguments. ## Usage - Use \`--help\` to get detailed usage for any workflow @@ -198,6 +201,7 @@ ${workflowList || "(none)"} ## Examples ${examples || ' use("", ["--help"])'}`; + }); } // ============================================================================= @@ -295,8 +299,8 @@ async function executeWorkflow( }; } - // Execute with args - await workflow.run(args); + // Execute with args in MCP mode + await withRuntimeMode("mcp", () => workflow.run(args)); return { success: true, From 9c9092978948260705ffff4f1ad5f1f9e7eeb996 Mon Sep 17 00:00:00 2001 From: Gaubee Date: Fri, 9 Jan 2026 15:00:17 +0800 Subject: [PATCH 07/23] feat(destroy): add asset destroy feature for BioForest chains - Add AssetSelector component for selecting transfer/destroy assets - Add TokenItem renderActions slot for custom action menus - Create useBurn hook with bioforest-specific destroy logic - Add DestroyPage with confirmation flow - Enhance SendPage with AssetSelector for non-native assets - Add WalletTab token menu (transfer/destroy options) - Add bio_destroyAsset miniapp ecosystem handler - Add MiniappDestroyConfirmJob sheet - Add i18n translations (zh-CN, en) - Add unit tests (25 new tests passed) --- src/apis/bnqkl_wallet/bioforest/types.ts | 2 + .../asset/asset-selector.stories.tsx | 161 ++++++++ src/components/asset/asset-selector.test.tsx | 213 ++++++++++ src/components/asset/asset-selector.tsx | 163 ++++++++ src/components/asset/index.ts | 2 + src/components/token/index.ts | 2 +- src/components/token/token-item.tsx | 67 ++- src/components/token/token-list.tsx | 10 +- .../wallet/wallet-address-portfolio-view.tsx | 10 +- src/hooks/use-burn.bioforest.ts | 202 +++++++++ src/hooks/use-burn.test.ts | 278 +++++++++++++ src/hooks/use-burn.ts | 383 ++++++++++++++++++ src/hooks/use-burn.types.ts | 84 ++++ src/i18n/locales/en/home.json | 5 +- src/i18n/locales/en/transaction.json | 14 +- src/i18n/locales/zh-CN/home.json | 5 +- src/i18n/locales/zh-CN/transaction.json | 14 +- src/pages/destroy/destroy.stories.tsx | 48 +++ src/pages/destroy/index.tsx | 365 +++++++++++++++++ src/pages/send/index.tsx | 82 +++- src/services/bioforest-sdk/index.ts | 149 +++++++ src/services/ecosystem/handlers/context.ts | 3 +- src/services/ecosystem/handlers/destroy.ts | 53 +++ src/services/ecosystem/handlers/index.ts | 5 + src/services/ecosystem/provider.ts | 6 + src/services/ecosystem/types.ts | 14 + src/stackflow/activities/DestroyActivity.tsx | 22 + src/stackflow/activities/SendActivity.tsx | 2 + .../sheets/MiniappDestroyConfirmJob.tsx | 240 +++++++++++ src/stackflow/activities/sheets/index.ts | 1 + src/stackflow/activities/tabs/WalletTab.tsx | 64 ++- src/stackflow/stackflow.ts | 6 + 32 files changed, 2657 insertions(+), 18 deletions(-) create mode 100644 src/components/asset/asset-selector.stories.tsx create mode 100644 src/components/asset/asset-selector.test.tsx create mode 100644 src/components/asset/asset-selector.tsx create mode 100644 src/hooks/use-burn.bioforest.ts create mode 100644 src/hooks/use-burn.test.ts create mode 100644 src/hooks/use-burn.ts create mode 100644 src/hooks/use-burn.types.ts create mode 100644 src/pages/destroy/destroy.stories.tsx create mode 100644 src/pages/destroy/index.tsx create mode 100644 src/services/ecosystem/handlers/destroy.ts create mode 100644 src/stackflow/activities/DestroyActivity.tsx create mode 100644 src/stackflow/activities/sheets/MiniappDestroyConfirmJob.tsx diff --git a/src/apis/bnqkl_wallet/bioforest/types.ts b/src/apis/bnqkl_wallet/bioforest/types.ts index e944c99be..83f195b0b 100644 --- a/src/apis/bnqkl_wallet/bioforest/types.ts +++ b/src/apis/bnqkl_wallet/bioforest/types.ts @@ -90,6 +90,8 @@ export interface TokenDetailResult { decimals: number logoUrl?: string iconUrl?: string + /** Asset issuer address (used as recipient for destroy transactions) */ + applyAddress: string } export interface BroadcastResult { diff --git a/src/components/asset/asset-selector.stories.tsx b/src/components/asset/asset-selector.stories.tsx new file mode 100644 index 000000000..e0df31586 --- /dev/null +++ b/src/components/asset/asset-selector.stories.tsx @@ -0,0 +1,161 @@ +import type { Meta, StoryObj } from '@storybook/react' +import { useState } from 'react' +import { AssetSelector } from './asset-selector' +import type { TokenInfo } from '@/components/token/token-item' + +const mockAssets: TokenInfo[] = [ + { + symbol: 'BFM', + name: 'BFMeta', + balance: '10000.12345678', + decimals: 8, + chain: 'bfmeta', + }, + { + symbol: 'USDT', + name: 'Tether USD', + balance: '500.00', + decimals: 6, + chain: 'bfmeta', + }, + { + symbol: 'ETH', + name: 'Ethereum', + balance: '2.50000000', + decimals: 18, + chain: 'ethereum', + }, + { + symbol: 'BTC', + name: 'Bitcoin', + balance: '0.05', + decimals: 8, + chain: 'bitcoin', + }, + { + symbol: 'TRX', + name: 'Tron', + balance: '1500.00', + decimals: 6, + chain: 'tron', + }, +] + +const meta: Meta = { + title: 'Asset/AssetSelector', + component: AssetSelector, + parameters: { + layout: 'centered', + }, + decorators: [ + (Story) => ( +
+ +
+ ), + ], + tags: ['autodocs'], +} + +export default meta +type Story = StoryObj + +/** 交互式示例 */ +function InteractiveDemo() { + const [selected, setSelected] = useState(null) + + return ( +
+ + {selected && ( +
+ 已选择: {selected.symbol} ({selected.name}) +
+ )} +
+ ) +} + +export const Default: Story = { + render: () => , +} + +/** 预选资产 */ +export const WithSelectedAsset: Story = { + args: { + selectedAsset: mockAssets[0], + assets: mockAssets, + onSelect: () => {}, + }, +} + +/** 禁用状态 */ +export const Disabled: Story = { + args: { + selectedAsset: mockAssets[1], + assets: mockAssets, + onSelect: () => {}, + disabled: true, + }, +} + +/** 排除资产 (如销毁场景不显示主资产) */ +export const ExcludeAssets: Story = { + render: () => { + const [selected, setSelected] = useState(null) + return ( +
+

排除了 BFM (主资产)

+ +
+ ) + }, +} + +/** 不显示余额 */ +export const WithoutBalance: Story = { + args: { + selectedAsset: mockAssets[0], + assets: mockAssets, + onSelect: () => {}, + showBalance: false, + }, +} + +/** 自定义占位符 */ +export const CustomPlaceholder: Story = { + args: { + selectedAsset: null, + assets: mockAssets, + onSelect: () => {}, + placeholder: '点击选择要销毁的资产', + }, +} + +/** 空资产列表 */ +export const EmptyAssets: Story = { + args: { + selectedAsset: null, + assets: [], + onSelect: () => {}, + }, +} + +/** 所有资产被排除 */ +export const AllExcluded: Story = { + args: { + selectedAsset: null, + assets: mockAssets, + onSelect: () => {}, + excludeAssets: ['BFM', 'USDT', 'ETH', 'BTC', 'TRX'], + }, +} diff --git a/src/components/asset/asset-selector.test.tsx b/src/components/asset/asset-selector.test.tsx new file mode 100644 index 000000000..ff41ce9c7 --- /dev/null +++ b/src/components/asset/asset-selector.test.tsx @@ -0,0 +1,213 @@ +import { describe, it, expect, vi } from 'vitest' +import { render, screen, fireEvent } from '@testing-library/react' +import { AssetSelector } from './asset-selector' +import type { TokenInfo } from '@/components/token/token-item' + +// Mock i18n +vi.mock('react-i18next', () => ({ + useTranslation: () => ({ + t: (key: string, defaultValue?: string) => defaultValue ?? key, + }), +})) + +const mockAssets: TokenInfo[] = [ + { + symbol: 'BFM', + name: 'BFMeta', + balance: '1000.00', + decimals: 8, + chain: 'bfmeta', + }, + { + symbol: 'USDT', + name: 'Tether USD', + balance: '500.00', + decimals: 6, + chain: 'bfmeta', + }, + { + symbol: 'ETH', + name: 'Ethereum', + balance: '2.5', + decimals: 18, + chain: 'bfmeta', + }, +] + +describe('AssetSelector', () => { + it('renders placeholder when no asset selected', () => { + render( + , + ) + + expect(screen.getByText('选择资产')).toBeInTheDocument() + }) + + it('renders selected asset', () => { + render( + , + ) + + expect(screen.getByText('BFM')).toBeInTheDocument() + }) + + it('opens sheet on click', () => { + render( + , + ) + + fireEvent.click(screen.getByTestId('asset-selector')) + + // Sheet should open and show assets + expect(screen.getByText('BFMeta')).toBeInTheDocument() + expect(screen.getByText('Tether USD')).toBeInTheDocument() + }) + + it('calls onSelect when asset is clicked', () => { + const onSelect = vi.fn() + render( + , + ) + + // Open sheet + fireEvent.click(screen.getByTestId('asset-selector')) + + // Click on USDT + fireEvent.click(screen.getByText('Tether USD')) + + expect(onSelect).toHaveBeenCalledWith(mockAssets[1]) + }) + + it('excludes assets from list', () => { + render( + , + ) + + // Open sheet + fireEvent.click(screen.getByTestId('asset-selector')) + + // Only ETH should be visible + expect(screen.queryByText('BFMeta')).not.toBeInTheDocument() + expect(screen.queryByText('Tether USD')).not.toBeInTheDocument() + expect(screen.getByText('Ethereum')).toBeInTheDocument() + }) + + it('shows empty state when all assets excluded', () => { + render( + , + ) + + // Open sheet + fireEvent.click(screen.getByTestId('asset-selector')) + + expect(screen.getByText('暂无可选资产')).toBeInTheDocument() + }) + + it('is disabled when disabled prop is true', () => { + render( + , + ) + + const trigger = screen.getByTestId('asset-selector') + expect(trigger).toBeDisabled() + }) + + it('shows balance when showBalance is true', () => { + render( + , + ) + + expect(screen.getByText('余额:')).toBeInTheDocument() + }) + + it('hides balance when showBalance is false', () => { + render( + , + ) + + expect(screen.queryByText('余额:')).not.toBeInTheDocument() + }) + + it('uses custom placeholder', () => { + render( + , + ) + + expect(screen.getByText('Pick an asset')).toBeInTheDocument() + }) + + it('highlights selected asset in list', () => { + render( + , + ) + + // Open sheet + fireEvent.click(screen.getByTestId('asset-selector')) + + // The selected asset (USDT) should have a different background style + // We can verify the sheet is open and shows assets + expect(screen.getByText('Tether USD')).toBeInTheDocument() + expect(screen.getByText('BFMeta')).toBeInTheDocument() + }) +}) diff --git a/src/components/asset/asset-selector.tsx b/src/components/asset/asset-selector.tsx new file mode 100644 index 000000000..a4d974bf0 --- /dev/null +++ b/src/components/asset/asset-selector.tsx @@ -0,0 +1,163 @@ +/** + * AssetSelector - 资产选择器组件 + * + * 用于在转账、销毁等场景中选择资产 + */ + +import { useState, useMemo } from 'react' +import { useTranslation } from 'react-i18next' +import { cn } from '@/lib/utils' +import { TokenIcon } from '@/components/wallet/token-icon' +import { AmountDisplay } from '@/components/common' +import { + Sheet, + SheetTrigger, + SheetContent, + SheetHeader, + SheetTitle, +} from '@/components/ui/sheet' +import { IconChevronDown, IconCheck } from '@tabler/icons-react' +import type { TokenInfo } from '@/components/token/token-item' + +export interface AssetSelectorProps { + /** 当前选中的资产 */ + selectedAsset: TokenInfo | null + /** 可选资产列表 */ + assets: TokenInfo[] + /** 选择资产回调 */ + onSelect: (asset: TokenInfo) => void + /** 是否禁用 */ + disabled?: boolean + /** 排除的资产符号列表 (如主资产不可销毁) */ + excludeAssets?: string[] + /** 是否显示余额 */ + showBalance?: boolean + /** 占位文本 */ + placeholder?: string + /** 额外的 class */ + className?: string + /** 测试 ID */ + testId?: string +} + +/** + * 资产选择器 + * + * 点击展开 Sheet 显示可选资产列表 + */ +export function AssetSelector({ + selectedAsset, + assets, + onSelect, + disabled = false, + excludeAssets = [], + showBalance = true, + placeholder, + className, + testId, +}: AssetSelectorProps) { + const { t } = useTranslation('transaction') + const [open, setOpen] = useState(false) + + // 过滤可选资产 + const availableAssets = useMemo(() => { + if (excludeAssets.length === 0) return assets + const excludeSet = new Set(excludeAssets.map((s) => s.toUpperCase())) + return assets.filter((asset) => !excludeSet.has(asset.symbol.toUpperCase())) + }, [assets, excludeAssets]) + + const handleSelect = (asset: TokenInfo) => { + onSelect(asset) + setOpen(false) + } + + const displayPlaceholder = placeholder ?? t('assetSelector.selectAsset', '选择资产') + + return ( + + + {selectedAsset ? ( +
+ +
+ {selectedAsset.symbol} + {showBalance && ( + + {t('assetSelector.balance', '余额')}: + + )} +
+
+ ) : ( + {displayPlaceholder} + )} + +
+ + + + {t('assetSelector.selectAsset', '选择资产')} + + +
+ {availableAssets.length === 0 ? ( +
+

{t('assetSelector.noAssets', '暂无可选资产')}

+
+ ) : ( +
+ {availableAssets.map((asset) => { + const isSelected = selectedAsset?.symbol === asset.symbol && selectedAsset?.chain === asset.chain + return ( + + ) + })} +
+ )} +
+ + {/* Safe area */} +
+ + + ) +} diff --git a/src/components/asset/index.ts b/src/components/asset/index.ts index a86f32688..657d51344 100644 --- a/src/components/asset/index.ts +++ b/src/components/asset/index.ts @@ -1,2 +1,4 @@ export { AssetItem } from './asset-item' export { AssetList } from './asset-list' +export { AssetSelector } from './asset-selector' +export type { AssetSelectorProps } from './asset-selector' diff --git a/src/components/token/index.ts b/src/components/token/index.ts index 2c3bb29ce..59ec5d92b 100644 --- a/src/components/token/index.ts +++ b/src/components/token/index.ts @@ -1,3 +1,3 @@ export { BalanceDisplay, formatNumber } from './balance-display' -export { TokenItem, type TokenInfo } from './token-item' +export { TokenItem, type TokenInfo, type TokenItemContext } from './token-item' export { TokenList } from './token-list' diff --git a/src/components/token/token-item.tsx b/src/components/token/token-item.tsx index 7956c6677..a7545dd12 100644 --- a/src/components/token/token-item.tsx +++ b/src/components/token/token-item.tsx @@ -25,6 +25,18 @@ export interface TokenInfo { change24h?: number | undefined; } +/** Context passed to renderActions for conditional rendering */ +export interface TokenItemContext { + /** Chain type of the token */ + chainType: ChainType; + /** Whether this is a BioForest chain (supports destroy) */ + isBioforestChain: boolean; + /** Whether this is the main/native asset of the chain */ + isMainAsset: boolean; + /** Whether this asset can be destroyed (bioforest + non-main asset) */ + canDestroy: boolean; +} + interface TokenItemProps { token: TokenInfo; onClick?: (() => void) | undefined; @@ -33,13 +45,55 @@ interface TokenItemProps { loading?: boolean | undefined; className?: string | undefined; testId?: string | undefined; + /** + * Render prop for custom actions (e.g., dropdown menu) + * Receives the token and context for conditional rendering + */ + renderActions?: ((token: TokenInfo, context: TokenItemContext) => React.ReactNode) | undefined; + /** Main asset symbol of the chain (used to determine isMainAsset) */ + mainAssetSymbol?: string | undefined; } -export function TokenItem({ token, onClick, showChange = false, loading = false, className, testId }: TokenItemProps) { +// BioForest chain types that support asset destruction +const BIOFOREST_CHAINS = new Set([ + 'bfmeta', + 'ccchain', + 'pmchain', + 'bfchainv2', + 'btgmeta', + 'biwmeta', + 'ethmeta', + 'malibu', +]); + +export function TokenItem({ + token, + onClick, + showChange = false, + loading = false, + className, + testId, + renderActions, + mainAssetSymbol, +}: TokenItemProps) { const isClickable = !!onClick; const { t } = useTranslation(['currency', 'common']); const currency = useCurrency(); + // Compute context for renderActions + const isBioforestChain = BIOFOREST_CHAINS.has(token.chain); + const isMainAsset = mainAssetSymbol + ? token.symbol.toUpperCase() === mainAssetSymbol.toUpperCase() + : false; + const canDestroy = isBioforestChain && !isMainAsset; + + const context: TokenItemContext = { + chainType: token.chain, + isBioforestChain, + isMainAsset, + canDestroy, + }; + const shouldFetchRate = token.fiatValue !== undefined && currency !== 'USD'; const { data: exchangeRateData, @@ -127,6 +181,17 @@ export function TokenItem({ token, onClick, showChange = false, loading = false,

)}
+ + {/* Custom actions slot */} + {renderActions && ( +
e.stopPropagation()} + onKeyDown={(e) => e.stopPropagation()} + > + {renderActions(token, context)} +
+ )} ); } diff --git a/src/components/token/token-list.tsx b/src/components/token/token-list.tsx index 2d45b2951..f6e413e70 100644 --- a/src/components/token/token-list.tsx +++ b/src/components/token/token-list.tsx @@ -1,5 +1,5 @@ import { cn } from '@/lib/utils' -import { TokenItem, type TokenInfo } from './token-item' +import { TokenItem, type TokenInfo, type TokenItemContext } from './token-item' import { EmptyState } from '../common/empty-state' import { SkeletonList } from '../common/skeleton' @@ -16,6 +16,10 @@ interface TokenListProps { emptyAction?: React.ReactNode | undefined className?: string | undefined testId?: string | undefined + /** Render prop for custom actions per token item */ + renderActions?: ((token: TokenInfo, context: TokenItemContext) => React.ReactNode) | undefined + /** Main asset symbol for the chain (used by renderActions context) */ + mainAssetSymbol?: string | undefined } export function TokenList({ @@ -29,6 +33,8 @@ export function TokenList({ emptyAction, className, testId, + renderActions, + mainAssetSymbol, }: TokenListProps) { if (loading) { return @@ -60,6 +66,8 @@ export function TokenList({ testId={testId ? `token-item-${token.chain}-${token.symbol}` : undefined} showChange={showChange} loading={refreshing} + renderActions={renderActions} + mainAssetSymbol={mainAssetSymbol} {...(onTokenClick && { onClick: () => onTokenClick(token) })} /> ))} diff --git a/src/components/wallet/wallet-address-portfolio-view.tsx b/src/components/wallet/wallet-address-portfolio-view.tsx index 77b47d8a7..b36c59d41 100644 --- a/src/components/wallet/wallet-address-portfolio-view.tsx +++ b/src/components/wallet/wallet-address-portfolio-view.tsx @@ -4,7 +4,7 @@ import { TokenList } from '@/components/token/token-list' import { TransactionList } from '@/components/transaction/transaction-list' import { SwipeableTabs } from '@/components/layout/swipeable-tabs' import { ProviderFallbackWarning } from '@/components/common/provider-fallback-warning' -import type { TokenInfo } from '@/components/token/token-item' +import type { TokenInfo, TokenItemContext } from '@/components/token/token-item' import type { TransactionInfo } from '@/components/transaction/transaction-item' import type { ChainType } from '@/stores' @@ -26,6 +26,10 @@ export interface WalletAddressPortfolioViewProps { onTransactionClick?: (tx: TransactionInfo) => void /** 渲染交易列表底部额外内容(如"查看全部"按钮) */ renderTransactionFooter?: () => React.ReactNode + /** Main asset symbol for the chain (used for renderActions context) */ + mainAssetSymbol?: string + /** Render prop for token item actions (e.g., dropdown menu) */ + renderTokenActions?: (token: TokenInfo, context: TokenItemContext) => React.ReactNode className?: string testId?: string } @@ -45,6 +49,8 @@ export function WalletAddressPortfolioView({ onTokenClick, onTransactionClick, renderTransactionFooter, + mainAssetSymbol, + renderTokenActions, className, testId = 'wallet-address-portfolio', }: WalletAddressPortfolioViewProps) { @@ -77,6 +83,8 @@ export function WalletAddressPortfolioView({ onTokenClick={onTokenClick} emptyTitle={t('home:wallet.noAssets')} emptyDescription={t('home:wallet.noAssetsOnChain', { chain: displayChainName })} + mainAssetSymbol={mainAssetSymbol} + renderActions={renderTokenActions} testId={`${testId}-token-list`} /> diff --git a/src/hooks/use-burn.bioforest.ts b/src/hooks/use-burn.bioforest.ts new file mode 100644 index 000000000..fcad7afd6 --- /dev/null +++ b/src/hooks/use-burn.bioforest.ts @@ -0,0 +1,202 @@ +/** + * BioForest chain-specific burn (destroy asset) logic + */ + +import type { ChainConfig } from '@/services/chain-config' +import { Amount } from '@/types/amount' +import { walletStorageService, WalletStorageError, WalletStorageErrorCode } from '@/services/wallet-storage' +import { + createDestroyTransaction, + broadcastTransaction, + getAddressInfo, + getAssetDetail, + getDestroyTransactionMinFee, + verifyTwoStepSecret, +} from '@/services/bioforest-sdk' + +export interface BioforestBurnFeeResult { + amount: Amount + symbol: string +} + +function getBioforestApiUrl(chainConfig: ChainConfig): string | null { + const biowallet = chainConfig.apis.find((p) => p.type === 'biowallet-v1') + return biowallet?.endpoint ?? null +} + +/** + * Fetch the asset's applyAddress (issuer address) for destroy transaction + */ +export async function fetchAssetApplyAddress( + chainConfig: ChainConfig, + assetType: string, + fromAddress: string, +): Promise { + const apiUrl = getBioforestApiUrl(chainConfig) + if (!apiUrl) return null + + const detail = await getAssetDetail(apiUrl, assetType, fromAddress) + return detail?.applyAddress ?? null +} + +/** + * Fetch minimum fee for destroy transaction + */ +export async function fetchBioforestBurnFee( + chainConfig: ChainConfig, + assetType: string, + amount: string, +): Promise { + const apiUrl = getBioforestApiUrl(chainConfig) + if (!apiUrl) { + // Fallback fee + return { + amount: Amount.fromRaw('1000', chainConfig.decimals, chainConfig.symbol), + symbol: chainConfig.symbol, + } + } + + try { + const feeRaw = await getDestroyTransactionMinFee(apiUrl, chainConfig.id, assetType, amount) + return { + amount: Amount.fromRaw(feeRaw, chainConfig.decimals, chainConfig.symbol), + symbol: chainConfig.symbol, + } + } catch (error) { + console.warn('[fetchBioforestBurnFee] Failed to get fee:', error) + return { + amount: Amount.fromRaw('1000', chainConfig.decimals, chainConfig.symbol), + symbol: chainConfig.symbol, + } + } +} + +export type SubmitBioforestBurnResult = + | { status: 'ok'; txHash: string } + | { status: 'password' } + | { status: 'password_required'; secondPublicKey: string } + | { status: 'error'; message: string } + +export interface SubmitBioforestBurnParams { + chainConfig: ChainConfig + walletId: string + password: string + fromAddress: string + recipientAddress: string + assetType: string + amount: Amount + fee?: Amount + twoStepSecret?: string +} + +/** + * Submit a destroy asset transaction + */ +export async function submitBioforestBurn({ + chainConfig, + walletId, + password, + fromAddress, + recipientAddress, + assetType, + amount, + fee, + twoStepSecret, +}: SubmitBioforestBurnParams): Promise { + // Get mnemonic from wallet storage + let secret: string + try { + secret = await walletStorageService.getMnemonic(walletId, password) + } catch (error) { + if (error instanceof WalletStorageError && error.code === WalletStorageErrorCode.DECRYPTION_FAILED) { + return { status: 'password' } + } + return { + status: 'error', + message: error instanceof Error ? error.message : '未知错误', + } + } + + if (!amount.isPositive()) { + return { status: 'error', message: '请输入有效金额' } + } + + const apiUrl = getBioforestApiUrl(chainConfig) + if (!apiUrl) { + return { status: 'error', message: 'API URL 未配置' } + } + + try { + console.log('[submitBioforestBurn] Starting destroy:', { + apiUrl, + fromAddress, + recipientAddress, + assetType, + amount: amount.toRawString() + }) + + // Check if pay password is required but not provided + const addressInfo = await getAddressInfo(apiUrl, fromAddress) + console.log('[submitBioforestBurn] Address info:', { hasSecondPubKey: !!addressInfo.secondPublicKey }) + + if (addressInfo.secondPublicKey && !twoStepSecret) { + console.log('[submitBioforestBurn] Pay password required') + return { + status: 'password_required', + secondPublicKey: addressInfo.secondPublicKey, + } + } + + // Verify pay password if provided + if (twoStepSecret && addressInfo.secondPublicKey) { + console.log('[submitBioforestBurn] Verifying pay password...') + const isValid = await verifyTwoStepSecret(chainConfig.id, secret, twoStepSecret, addressInfo.secondPublicKey) + console.log('[submitBioforestBurn] Pay password verification result:', isValid) + if (!isValid) { + return { status: 'error', message: '安全密码验证失败' } + } + } + + // Create destroy transaction using SDK + console.log('[submitBioforestBurn] Creating transaction...') + const transaction = await createDestroyTransaction({ + baseUrl: apiUrl, + chainId: chainConfig.id, + mainSecret: secret, + paySecret: twoStepSecret, + from: fromAddress, + recipientId: recipientAddress, + assetType, + amount: amount.toRawString(), + fee: fee?.toRawString(), + }) + const txHash = transaction.signature + console.log('[submitBioforestBurn] Transaction created:', txHash?.slice(0, 20)) + + // Broadcast transaction + console.log('[submitBioforestBurn] Broadcasting...') + await broadcastTransaction(apiUrl, transaction).catch((err) => { + console.warn('[submitBioforestBurn] Broadcast warning (may still succeed):', err.message) + }) + + console.log('[submitBioforestBurn] SUCCESS! txHash:', txHash) + return { status: 'ok', txHash } + } catch (error) { + console.error('[submitBioforestBurn] FAILED:', error) + + const errorMessage = error instanceof Error ? error.message : String(error) + + if (errorMessage.includes('insufficient') || errorMessage.includes('余额不足')) { + return { status: 'error', message: '余额不足' } + } + + if (errorMessage.includes('fee') || errorMessage.includes('手续费')) { + return { status: 'error', message: '手续费不足' } + } + + return { + status: 'error', + message: errorMessage || '销毁失败,请稍后重试', + } + } +} diff --git a/src/hooks/use-burn.test.ts b/src/hooks/use-burn.test.ts new file mode 100644 index 000000000..06d5df043 --- /dev/null +++ b/src/hooks/use-burn.test.ts @@ -0,0 +1,278 @@ +import { describe, it, expect, vi, beforeEach } from 'vitest' +import { renderHook, act, waitFor } from '@testing-library/react' +import { useBurn } from './use-burn' +import { Amount } from '@/types/amount' +import type { AssetInfo } from '@/types/asset' + +const mockAsset: AssetInfo = { + assetType: 'TEST', + name: 'Test Token', + amount: Amount.fromFormatted('100', 8, 'TEST'), + decimals: 8, +} + +describe('useBurn', () => { + beforeEach(() => { + vi.clearAllMocks() + }) + + describe('initialization', () => { + it('initializes with default state', () => { + const { result } = renderHook(() => useBurn()) + + expect(result.current.state.step).toBe('input') + expect(result.current.state.asset).toBeNull() + expect(result.current.state.amount).toBeNull() + expect(result.current.state.recipientAddress).toBeNull() + expect(result.current.canProceed).toBe(false) + }) + + it('initializes with initial asset', () => { + const { result } = renderHook(() => + useBurn({ initialAsset: mockAsset }) + ) + + expect(result.current.state.asset).toEqual(mockAsset) + }) + }) + + describe('setAmount', () => { + it('sets amount correctly', () => { + const { result } = renderHook(() => + useBurn({ initialAsset: mockAsset }) + ) + + const newAmount = Amount.fromFormatted('50', 8, 'TEST') + act(() => { + result.current.setAmount(newAmount) + }) + + expect(result.current.state.amount?.toFormatted()).toBe('50') + }) + + it('clears amount error on change', () => { + const { result } = renderHook(() => + useBurn({ initialAsset: mockAsset }) + ) + + // Set invalid amount first + act(() => { + result.current.setAmount(Amount.fromFormatted('0', 8, 'TEST')) + }) + + // Try to proceed (will set error) + act(() => { + result.current.goToConfirm() + }) + + // Set new amount should clear error + act(() => { + result.current.setAmount(Amount.fromFormatted('10', 8, 'TEST')) + }) + + expect(result.current.state.amountError).toBeNull() + }) + }) + + describe('setAsset', () => { + it('sets asset and fetches fee in mock mode', async () => { + const { result } = renderHook(() => useBurn({ useMock: true })) + + act(() => { + result.current.setAsset(mockAsset) + }) + + await waitFor(() => { + expect(result.current.state.asset).toEqual(mockAsset) + expect(result.current.state.feeLoading).toBe(false) + }) + }) + }) + + describe('goToConfirm', () => { + it('validates amount is positive', async () => { + const { result } = renderHook(() => + useBurn({ initialAsset: mockAsset, useMock: true }) + ) + + await waitFor(() => { + expect(result.current.state.feeLoading).toBe(false) + }) + + // Set zero amount + act(() => { + result.current.setAmount(Amount.fromFormatted('0', 8, 'TEST')) + }) + + let success: boolean + act(() => { + success = result.current.goToConfirm() + }) + + expect(success!).toBe(false) + expect(result.current.state.amountError).toBeTruthy() + }) + + it('validates amount is not greater than balance', async () => { + const { result } = renderHook(() => + useBurn({ initialAsset: mockAsset, useMock: true }) + ) + + await waitFor(() => { + expect(result.current.state.feeLoading).toBe(false) + }) + + // Set amount greater than balance (100) + act(() => { + result.current.setAmount(Amount.fromFormatted('150', 8, 'TEST')) + }) + + let success: boolean + act(() => { + success = result.current.goToConfirm() + }) + + expect(success!).toBe(false) + expect(result.current.state.amountError).toBeTruthy() + }) + + it('proceeds to confirm with valid data', async () => { + const { result } = renderHook(() => + useBurn({ initialAsset: mockAsset, useMock: true }) + ) + + await waitFor(() => { + expect(result.current.state.feeLoading).toBe(false) + }) + + // Set valid amount + act(() => { + result.current.setAmount(Amount.fromFormatted('50', 8, 'TEST')) + }) + + let success: boolean + act(() => { + success = result.current.goToConfirm() + }) + + expect(success!).toBe(true) + expect(result.current.state.step).toBe('confirm') + }) + }) + + describe('goBack', () => { + it('returns to input step', async () => { + const { result } = renderHook(() => + useBurn({ initialAsset: mockAsset, useMock: true }) + ) + + await waitFor(() => { + expect(result.current.state.feeLoading).toBe(false) + }) + + // Go to confirm + act(() => { + result.current.setAmount(Amount.fromFormatted('50', 8, 'TEST')) + result.current.goToConfirm() + }) + + expect(result.current.state.step).toBe('confirm') + + // Go back + act(() => { + result.current.goBack() + }) + + expect(result.current.state.step).toBe('input') + }) + }) + + describe('submit (mock mode)', () => { + it('submits successfully in mock mode', async () => { + const { result } = renderHook(() => + useBurn({ initialAsset: mockAsset, useMock: true }) + ) + + await waitFor(() => { + expect(result.current.state.feeLoading).toBe(false) + }) + + // Setup + act(() => { + result.current.setAmount(Amount.fromFormatted('50', 8, 'TEST')) + result.current.goToConfirm() + }) + + // Submit + let submitResult: Awaited> + await act(async () => { + submitResult = await result.current.submit('password') + }) + + expect(submitResult!.status).toBe('ok') + expect(result.current.state.step).toBe('result') + expect(result.current.state.resultStatus).toBe('success') + }) + }) + + describe('reset', () => { + it('resets to initial state', async () => { + const { result } = renderHook(() => + useBurn({ initialAsset: mockAsset, useMock: true }) + ) + + await waitFor(() => { + expect(result.current.state.feeLoading).toBe(false) + }) + + // Make changes + act(() => { + result.current.setAmount(Amount.fromFormatted('50', 8, 'TEST')) + result.current.goToConfirm() + }) + + // Reset + act(() => { + result.current.reset() + }) + + expect(result.current.state.step).toBe('input') + expect(result.current.state.amount).toBeNull() + }) + }) + + describe('canProceed', () => { + it('returns false without asset', () => { + const { result } = renderHook(() => useBurn()) + expect(result.current.canProceed).toBe(false) + }) + + it('returns false without amount', async () => { + const { result } = renderHook(() => + useBurn({ initialAsset: mockAsset, useMock: true }) + ) + + await waitFor(() => { + expect(result.current.state.feeLoading).toBe(false) + }) + + expect(result.current.canProceed).toBe(false) + }) + + it('returns true with valid asset and amount', async () => { + const { result } = renderHook(() => + useBurn({ initialAsset: mockAsset, useMock: true }) + ) + + await waitFor(() => { + expect(result.current.state.feeLoading).toBe(false) + }) + + act(() => { + result.current.setAmount(Amount.fromFormatted('50', 8, 'TEST')) + }) + + expect(result.current.canProceed).toBe(true) + }) + }) +}) diff --git a/src/hooks/use-burn.ts b/src/hooks/use-burn.ts new file mode 100644 index 000000000..1b9397d14 --- /dev/null +++ b/src/hooks/use-burn.ts @@ -0,0 +1,383 @@ +/** + * Hook for managing burn (destroy asset) flow state + * + * Only supports BioForest chains. Main asset cannot be destroyed. + */ + +import { useState, useCallback, useMemo, useEffect } from 'react' +import type { AssetInfo } from '@/types/asset' +import { Amount } from '@/types/amount' +import type { BurnState, UseBurnOptions, UseBurnReturn, BurnSubmitResult } from './use-burn.types' +import { fetchAssetApplyAddress, fetchBioforestBurnFee, submitBioforestBurn } from './use-burn.bioforest' + +const initialState: BurnState = { + step: 'input', + asset: null, + amount: null, + amountError: null, + recipientAddress: null, + feeAmount: null, + feeMinAmount: null, + feeSymbol: '', + feeLoading: false, + isSubmitting: false, + resultStatus: null, + txHash: null, + errorMessage: null, +} + +// Mock fee for non-bioforest or mock mode +const MOCK_FEE = { amount: '0.001', symbol: 'BFM' } + +/** + * Validate amount input + */ +function validateAmountInput(amount: Amount | null, asset: AssetInfo | null): string | null { + if (!amount || !asset) return null + + if (!amount.isPositive()) { + return '请输入有效金额' + } + + const balance = asset.amount + if (amount.gt(balance)) { + return '销毁数量不能大于余额' + } + + return null +} + +/** + * Hook for managing burn flow + */ +export function useBurn(options: UseBurnOptions = {}): UseBurnReturn { + const { + initialAsset, + assetLocked = false, + useMock = true, + walletId, + fromAddress, + chainConfig + } = options + + const [state, setState] = useState({ + ...initialState, + asset: initialAsset ?? null, + }) + + const isBioforestChain = chainConfig?.chainKind === 'bioforest' + + // Validate amount + const validateAmount = useCallback((amount: Amount | null, asset: AssetInfo | null): string | null => { + return validateAmountInput(amount, asset) + }, []) + + // Set amount + const setAmount = useCallback((amount: Amount | null) => { + setState((prev) => ({ + ...prev, + amount, + amountError: null, + })) + }, []) + + // Set asset and fetch applyAddress + fee + const setAsset = useCallback((asset: AssetInfo) => { + setState((prev) => ({ + ...prev, + asset, + amount: null, + amountError: null, + feeLoading: true, + recipientAddress: null, + })) + + const shouldUseMock = useMock || !isBioforestChain || !chainConfig || !fromAddress + + if (shouldUseMock) { + // Mock mode + setTimeout(() => { + setState((prev) => ({ + ...prev, + recipientAddress: 'mock_apply_address', + feeAmount: Amount.fromFormatted(MOCK_FEE.amount, asset.decimals, MOCK_FEE.symbol), + feeMinAmount: Amount.fromFormatted(MOCK_FEE.amount, asset.decimals, MOCK_FEE.symbol), + feeSymbol: chainConfig?.symbol ?? MOCK_FEE.symbol, + feeLoading: false, + })) + }, 300) + return + } + + // Real mode - fetch applyAddress and fee + void (async () => { + try { + // Fetch asset's applyAddress + const applyAddress = await fetchAssetApplyAddress(chainConfig, asset.assetType, fromAddress) + if (!applyAddress) { + setState((prev) => ({ + ...prev, + feeLoading: false, + errorMessage: '无法获取资产发行地址', + })) + return + } + + // Fetch fee (use placeholder amount for fee calculation) + const feeResult = await fetchBioforestBurnFee(chainConfig, asset.assetType, '1') + + setState((prev) => ({ + ...prev, + recipientAddress: applyAddress, + feeAmount: feeResult.amount, + feeMinAmount: feeResult.amount, + feeSymbol: feeResult.symbol, + feeLoading: false, + })) + } catch (error) { + setState((prev) => ({ + ...prev, + feeLoading: false, + errorMessage: error instanceof Error ? error.message : '获取手续费失败', + })) + } + })() + }, [chainConfig, fromAddress, isBioforestChain, useMock]) + + // Initialize with initial asset + useEffect(() => { + if (initialAsset && !state.recipientAddress) { + setAsset(initialAsset) + } + }, [initialAsset, setAsset, state.recipientAddress]) + + // Check if can proceed + const canProceed = useMemo(() => { + return !!( + state.asset && + state.amount && + state.amount.isPositive() && + state.recipientAddress && + !state.feeLoading + ) + }, [state.amount, state.asset, state.recipientAddress, state.feeLoading]) + + // Validate and go to confirm + const goToConfirm = useCallback((): boolean => { + const amountError = validateAmount(state.amount, state.asset) + + if (amountError) { + setState((prev) => ({ + ...prev, + amountError, + })) + return false + } + + if (!state.recipientAddress) { + setState((prev) => ({ + ...prev, + errorMessage: '资产发行地址未获取', + })) + return false + } + + setState((prev) => ({ + ...prev, + step: 'confirm', + amountError: null, + })) + return true + }, [state.amount, state.asset, state.recipientAddress, validateAmount]) + + // Go back to input + const goBack = useCallback(() => { + setState((prev) => ({ + ...prev, + step: 'input', + })) + }, []) + + // Submit transaction + const submit = useCallback(async (password: string): Promise => { + console.log('[useBurn.submit] Called with:', { useMock, chainKind: chainConfig?.chainKind, walletId, fromAddress }) + + if (useMock) { + console.log('[useBurn.submit] Using mock burn') + setState((prev) => ({ + ...prev, + step: 'burning', + isSubmitting: true, + })) + + // Simulate async operation + await new Promise((resolve) => setTimeout(resolve, 1500)) + + setState((prev) => ({ + ...prev, + step: 'result', + isSubmitting: false, + resultStatus: 'success', + txHash: `mock_burn_tx_${Date.now()}`, + })) + + return { status: 'ok', txHash: `mock_burn_tx_${Date.now()}` } + } + + if (!chainConfig || chainConfig.chainKind !== 'bioforest') { + setState((prev) => ({ + ...prev, + step: 'result', + isSubmitting: false, + resultStatus: 'failed', + errorMessage: '仅支持 BioForest 链的资产销毁', + })) + return { status: 'error', message: '仅支持 BioForest 链' } + } + + if (!walletId || !fromAddress || !state.asset || !state.amount || !state.recipientAddress) { + setState((prev) => ({ + ...prev, + step: 'result', + isSubmitting: false, + resultStatus: 'failed', + errorMessage: '参数不完整', + })) + return { status: 'error', message: '参数不完整' } + } + + setState((prev) => ({ + ...prev, + step: 'burning', + isSubmitting: true, + errorMessage: null, + })) + + const result = await submitBioforestBurn({ + chainConfig, + walletId, + password, + fromAddress, + recipientAddress: state.recipientAddress, + assetType: state.asset.assetType, + amount: state.amount, + fee: state.feeAmount ?? undefined, + }) + + if (result.status === 'password') { + setState((prev) => ({ + ...prev, + step: 'confirm', + isSubmitting: false, + })) + return { status: 'password' } + } + + if (result.status === 'password_required') { + setState((prev) => ({ + ...prev, + step: 'confirm', + isSubmitting: false, + })) + return { status: 'two_step_secret_required', secondPublicKey: result.secondPublicKey } + } + + if (result.status === 'error') { + setState((prev) => ({ + ...prev, + step: 'result', + isSubmitting: false, + resultStatus: 'failed', + errorMessage: result.message, + })) + return { status: 'error', message: result.message } + } + + setState((prev) => ({ + ...prev, + step: 'result', + isSubmitting: false, + resultStatus: 'success', + txHash: result.txHash, + })) + + return { status: 'ok', txHash: result.txHash } + }, [chainConfig, fromAddress, state.amount, state.asset, state.feeAmount, state.recipientAddress, useMock, walletId]) + + // Submit with two-step secret (pay password) + const submitWithTwoStepSecret = useCallback(async (password: string, twoStepSecret: string): Promise => { + if (!chainConfig || !walletId || !fromAddress || !state.asset || !state.amount || !state.recipientAddress) { + return { status: 'error', message: '参数不完整' } + } + + setState((prev) => ({ + ...prev, + step: 'burning', + isSubmitting: true, + errorMessage: null, + })) + + const result = await submitBioforestBurn({ + chainConfig, + walletId, + password, + fromAddress, + recipientAddress: state.recipientAddress, + assetType: state.asset.assetType, + amount: state.amount, + fee: state.feeAmount ?? undefined, + twoStepSecret, + }) + + if (result.status === 'password') { + setState((prev) => ({ + ...prev, + step: 'confirm', + isSubmitting: false, + })) + return { status: 'password' } + } + + if (result.status === 'error') { + setState((prev) => ({ + ...prev, + step: 'result', + isSubmitting: false, + resultStatus: 'failed', + errorMessage: result.message, + })) + return { status: 'error', message: result.message } + } + + setState((prev) => ({ + ...prev, + step: 'result', + isSubmitting: false, + resultStatus: 'success', + txHash: result.txHash, + })) + + return { status: 'ok', txHash: result.txHash } + }, [chainConfig, fromAddress, state.amount, state.asset, state.feeAmount, state.recipientAddress, walletId]) + + // Reset to initial state + const reset = useCallback(() => { + setState({ + ...initialState, + asset: initialAsset ?? null, + }) + }, [initialAsset]) + + return { + state, + setAmount, + setAsset, + goToConfirm, + goBack, + submit, + submitWithTwoStepSecret, + reset, + canProceed, + assetLocked, + } +} diff --git a/src/hooks/use-burn.types.ts b/src/hooks/use-burn.types.ts new file mode 100644 index 000000000..2e06a695b --- /dev/null +++ b/src/hooks/use-burn.types.ts @@ -0,0 +1,84 @@ +import type { AssetInfo } from '@/types/asset' +import type { Amount } from '@/types/amount' +import type { ChainConfig } from '@/services/chain-config' + +/** Burn flow step */ +export type BurnStep = 'input' | 'confirm' | 'burning' | 'result' + +/** Burn result status */ +export type BurnResultStatus = 'success' | 'failed' | 'pending' + +/** Burn flow state */ +export interface BurnState { + /** Current step */ + step: BurnStep + /** Selected asset to burn (must not be main asset) */ + asset: AssetInfo | null + /** Amount to burn (as Amount object, null if empty/invalid) */ + amount: Amount | null + /** Amount validation error */ + amountError: string | null + /** Recipient address (asset's applyAddress) */ + recipientAddress: string | null + /** Estimated fee amount */ + feeAmount: Amount | null + /** Minimum fee from estimation */ + feeMinAmount: Amount | null + /** Fee token symbol (always main asset) */ + feeSymbol: string + /** Fee loading state */ + feeLoading: boolean + /** Is submitting transaction */ + isSubmitting: boolean + /** Result status */ + resultStatus: BurnResultStatus | null + /** Transaction hash */ + txHash: string | null + /** Error message */ + errorMessage: string | null +} + +export interface UseBurnOptions { + /** Initial asset */ + initialAsset?: AssetInfo | undefined + /** Whether asset can be changed (default: true) */ + assetLocked?: boolean | undefined + /** Mock mode (default: true) */ + useMock?: boolean | undefined + /** Wallet id for decrypting secret */ + walletId?: string | undefined + /** Sender address */ + fromAddress?: string | undefined + /** Chain config (bioforest only) */ + chainConfig?: ChainConfig | null | undefined +} + +/** Submit result type */ +export type BurnSubmitResult = + | { status: 'ok'; txHash?: string } + | { status: 'password' } + | { status: 'two_step_secret_required'; secondPublicKey: string } + | { status: 'error'; message?: string } + +export interface UseBurnReturn { + /** Current state */ + state: BurnState + /** Set amount (Amount object or null for empty/invalid) */ + setAmount: (amount: Amount | null) => void + /** Set asset to burn */ + setAsset: (asset: AssetInfo) => void + /** Validate and go to confirm */ + goToConfirm: () => boolean + /** Go back to input */ + goBack: () => void + /** Submit transaction */ + submit: (password: string) => Promise + /** Submit transaction with pay password */ + submitWithTwoStepSecret: (password: string, twoStepSecret: string) => Promise + /** Reset to initial state */ + reset: () => void + /** Check if can proceed to confirm */ + canProceed: boolean + /** Whether asset selection is locked */ + assetLocked: boolean +} diff --git a/src/i18n/locales/en/home.json b/src/i18n/locales/en/home.json index fd02df32b..760d06a12 100644 --- a/src/i18n/locales/en/home.json +++ b/src/i18n/locales/en/home.json @@ -12,6 +12,9 @@ "noAssets": "No Assets", "noAssetsOnChain": "No tokens on {{chain}}", "selectNetwork": "Select Network", - "addressCopied": "Address copied" + "addressCopied": "Address copied", + "tokenActions": "Token Actions", + "transfer": "Transfer", + "destroy": "Destroy" } } diff --git a/src/i18n/locales/en/transaction.json b/src/i18n/locales/en/transaction.json index a01ebe8c1..a3197bd9f 100644 --- a/src/i18n/locales/en/transaction.json +++ b/src/i18n/locales/en/transaction.json @@ -49,6 +49,7 @@ "toAddressLabel": "Recipient Address", "toAddressPlaceholder": "Enter {{chain}} address", "amountLabel": "Amount", + "assetLabel": "Transfer Asset", "networkWarning": "Please ensure the recipient address is a {{chain}} network address. Sending to the wrong network cannot be recovered", "continue": "Continue", "cameraPermissionRequired": "Camera permission required for scanning", @@ -58,7 +59,18 @@ "twoStepSecretTitle": "Security Password Required", "twoStepSecretDescription": "This address has a security password set. Please enter your security password to confirm the transfer.", "twoStepSecretPlaceholder": "Enter security password", - "twoStepSecretError": "Incorrect security password" + "twoStepSecretError": "Incorrect security password", + "fee": "Fee" + }, + "destroyPage": { + "title": "Destroy", + "resultTitle": "Destroy Result", + "assetLabel": "Asset to Destroy", + "amountLabel": "Destroy Amount", + "warning": "This action cannot be undone. Please verify the amount before confirming.", + "confirm": "Confirm Destroy", + "notSupported": "Asset destruction not supported on this chain", + "noDestroyableAssets": "No assets available for destruction" }, "aboutFee": "About Fee", "amount": "Amount", diff --git a/src/i18n/locales/zh-CN/home.json b/src/i18n/locales/zh-CN/home.json index 37c47ec61..014a9504d 100644 --- a/src/i18n/locales/zh-CN/home.json +++ b/src/i18n/locales/zh-CN/home.json @@ -12,6 +12,9 @@ "noAssets": "暂无资产", "noAssetsOnChain": "{{chain}} 链上暂无代币", "selectNetwork": "选择网络", - "addressCopied": "地址已复制" + "addressCopied": "地址已复制", + "tokenActions": "资产操作", + "transfer": "转账", + "destroy": "销毁" } } diff --git a/src/i18n/locales/zh-CN/transaction.json b/src/i18n/locales/zh-CN/transaction.json index 5b9a05ad0..9c6c974f7 100644 --- a/src/i18n/locales/zh-CN/transaction.json +++ b/src/i18n/locales/zh-CN/transaction.json @@ -49,6 +49,7 @@ "toAddressLabel": "收款地址", "toAddressPlaceholder": "输入 {{chain}} 地址", "amountLabel": "金额", + "assetLabel": "转账资产", "networkWarning": "请确保收款地址为 {{chain}} 网络地址,发送到错误网络将无法找回", "continue": "继续", "cameraPermissionRequired": "需要相机权限才能扫描", @@ -58,7 +59,18 @@ "twoStepSecretTitle": "需要安全密码", "twoStepSecretDescription": "该地址已设置安全密码,请输入安全密码确认转账。", "twoStepSecretPlaceholder": "输入安全密码", - "twoStepSecretError": "安全密码错误" + "twoStepSecretError": "安全密码错误", + "fee": "手续费" + }, + "destroyPage": { + "title": "销毁", + "resultTitle": "销毁结果", + "assetLabel": "销毁资产", + "amountLabel": "销毁数量", + "warning": "销毁操作不可撤销,请仔细核对销毁数量。", + "confirm": "确认销毁", + "notSupported": "当前链不支持资产销毁", + "noDestroyableAssets": "暂无可销毁的资产" }, "history": { "title": "交易记录", diff --git a/src/pages/destroy/destroy.stories.tsx b/src/pages/destroy/destroy.stories.tsx new file mode 100644 index 000000000..ad7440afa --- /dev/null +++ b/src/pages/destroy/destroy.stories.tsx @@ -0,0 +1,48 @@ +import type { Meta, StoryObj } from '@storybook/react' +import { DestroyPage } from './index' +import { StorybookProviders } from '@/test/storybook-providers' +import { StackflowStoryWrapper } from '@/test/stackflow-story-wrapper' + +const meta: Meta = { + title: 'Pages/DestroyPage', + component: DestroyPage, + decorators: [ + (Story) => ( + + +
+ +
+
+
+ ), + ], + parameters: { + layout: 'fullscreen', + viewport: { + defaultViewport: 'mobile1', + }, + }, +} + +export default meta +type Story = StoryObj + +export const Default: Story = { + name: 'Default (No Wallet)', +} + +export const WithMockData: Story = { + name: 'With Mock Wallet', + parameters: { + mockData: { + hasWallet: true, + selectedChain: 'bfmeta', + tokens: [ + { symbol: 'BFM', name: 'BFMeta', balance: '1000', decimals: 8 }, + { symbol: 'TEST', name: 'Test Token', balance: '500', decimals: 8 }, + { symbol: 'USDT', name: 'Tether USD', balance: '1000', decimals: 8 }, + ], + }, + }, +} diff --git a/src/pages/destroy/index.tsx b/src/pages/destroy/index.tsx new file mode 100644 index 000000000..7107852e5 --- /dev/null +++ b/src/pages/destroy/index.tsx @@ -0,0 +1,365 @@ +/** + * DestroyPage - 资产销毁页面 + * + * 仅支持 BioForest 链,主资产不可销毁 + */ + +import { useEffect, useMemo, useRef, useCallback } from 'react' +import { useTranslation } from 'react-i18next' +import { useNavigation, useActivityParams, useFlow } from '@/stackflow' +import { setTransferConfirmCallback, setTransferWalletLockCallback } from '@/stackflow/activities/sheets' +import { PageHeader } from '@/components/layout/page-header' +import { AssetSelector } from '@/components/asset' +import { AmountInput } from '@/components/transfer/amount-input' +import { GradientButton } from '@/components/common/gradient-button' +import { Alert } from '@/components/common/alert' +import { ChainIcon } from '@/components/wallet/chain-icon' +import { SendResult } from '@/components/transfer/send-result' +import { useToast, useHaptics } from '@/services' +import { useBurn } from '@/hooks/use-burn' +import { Amount } from '@/types/amount' +import type { AssetInfo } from '@/types/asset' +import type { TokenInfo } from '@/components/token/token-item' +import { IconFlame } from '@tabler/icons-react' +import { + useChainConfigState, + chainConfigSelectors, + useCurrentChainAddress, + useCurrentWallet, + useSelectedChain, + useCurrentChainTokens, + type ChainType, +} from '@/stores' + +const CHAIN_NAMES: Record = { + ethereum: 'Ethereum', + bitcoin: 'Bitcoin', + tron: 'Tron', + binance: 'BSC', + bfmeta: 'BFMeta', + ccchain: 'CCChain', + pmchain: 'PMChain', + bfchainv2: 'BFChain V2', + btgmeta: 'BTGMeta', + biwmeta: 'BIWMeta', + ethmeta: 'ETHMeta', + malibu: 'Malibu', +} + +/** Convert TokenInfo to AssetInfo */ +function tokenToAsset(token: TokenInfo): AssetInfo { + return { + assetType: token.symbol, + name: token.name, + amount: Amount.fromFormatted(token.balance, token.decimals ?? 8, token.symbol), + decimals: token.decimals ?? 8, + logoUrl: token.icon, + } +} + +/** Convert AssetInfo to TokenInfo */ +function assetToToken(asset: AssetInfo, chain: ChainType): TokenInfo { + return { + symbol: asset.assetType, + name: asset.name ?? asset.assetType, + balance: asset.amount.toFormatted(), + decimals: asset.decimals, + chain, + icon: asset.logoUrl, + } +} + +export function DestroyPage() { + const { t } = useTranslation(['transaction', 'common', 'security']) + const { goBack: navGoBack } = useNavigation() + const { push } = useFlow() + const toast = useToast() + const haptics = useHaptics() + const isWalletLockSheetOpen = useRef(false) + + // Read params + const { assetType: initialAssetType, assetLocked: assetLockedParam } = useActivityParams<{ + assetType?: string + assetLocked?: string + }>() + + const selectedChain = useSelectedChain() + const currentWallet = useCurrentWallet() + const currentChainAddress = useCurrentChainAddress() + const chainConfigState = useChainConfigState() + const chainConfig = chainConfigState.snapshot + ? chainConfigSelectors.getChainById(chainConfigState, selectedChain) + : null + const selectedChainName = chainConfig?.name ?? CHAIN_NAMES[selectedChain] ?? selectedChain + const tokens = useCurrentChainTokens() + + // Filter out main asset (cannot be destroyed) + const destroyableTokens = useMemo(() => { + if (!chainConfig) return [] + return tokens.filter((token) => token.symbol.toUpperCase() !== chainConfig.symbol.toUpperCase()) + }, [tokens, chainConfig]) + + // Find initial asset from params + const initialAsset = useMemo(() => { + if (!initialAssetType || destroyableTokens.length === 0) return null + const found = destroyableTokens.find( + (t) => t.symbol.toUpperCase() === initialAssetType.toUpperCase() + ) + return found ? tokenToAsset(found) : null + }, [initialAssetType, destroyableTokens]) + + const assetLocked = assetLockedParam === 'true' + + const { + state, + setAmount, + setAsset, + goToConfirm, + submit, + submitWithTwoStepSecret, + reset, + canProceed + } = useBurn({ + initialAsset: initialAsset ?? undefined, + assetLocked, + useMock: false, + walletId: currentWallet?.id, + fromAddress: currentChainAddress?.address, + chainConfig, + }) + + // Handle asset selection + const handleAssetSelect = useCallback((token: TokenInfo) => { + setAsset(tokenToAsset(token)) + }, [setAsset]) + + // Selected token for AssetSelector + const selectedToken = useMemo(() => { + if (!state.asset) return null + return assetToToken(state.asset, selectedChain) + }, [state.asset, selectedChain]) + + // Derive formatted values for display + const balance = state.asset?.amount ?? null + const symbol = state.asset?.assetType ?? 'TOKEN' + + const handleProceed = () => { + if (!goToConfirm()) return + + haptics.impact('light') + + // Set up callback: TransferConfirm -> TransferWalletLock + setTransferConfirmCallback( + async () => { + if (isWalletLockSheetOpen.current) return + isWalletLockSheetOpen.current = true + + await haptics.impact('medium') + + setTransferWalletLockCallback(async (walletLockKey: string, twoStepSecret?: string) => { + if (!twoStepSecret) { + const result = await submit(walletLockKey) + + if (result.status === 'password') { + return { status: 'wallet_lock_invalid' as const } + } + + if (result.status === 'two_step_secret_required') { + return { status: 'two_step_secret_required' as const } + } + + if (result.status === 'ok') { + isWalletLockSheetOpen.current = false + return { status: 'ok' as const, txHash: result.txHash } + } + + return { status: 'error' as const, message: '销毁失败' } + } + + const result = await submitWithTwoStepSecret(walletLockKey, twoStepSecret) + + if (result.status === 'ok') { + isWalletLockSheetOpen.current = false + return { status: 'ok' as const, txHash: result.txHash } + } + + if (result.status === 'password') { + return { status: 'two_step_secret_invalid' as const, message: '安全密码错误' } + } + + return { status: 'error' as const, message: result.status === 'error' ? '销毁失败' : '未知错误' } + }) + + push('TransferWalletLockJob', { + title: t('security:walletLock.verifyTitle'), + }) + }, + { + minFee: state.feeMinAmount?.toFormatted() ?? state.feeAmount?.toFormatted() ?? '0', + } + ) + + push('TransferConfirmJob', { + amount: state.amount?.toFormatted() ?? '0', + symbol, + toAddress: state.recipientAddress ?? '', + feeAmount: state.feeAmount?.toFormatted() ?? '0', + feeSymbol: state.feeSymbol, + feeLoading: state.feeLoading ? 'true' : 'false', + }) + } + + const handleDone = () => { + if (state.resultStatus === 'success') { + haptics.impact('success') + } + navGoBack() + } + + const handleRetry = () => { + reset() + } + + const handleViewExplorer = () => { + if (state.txHash) { + toast.show(t('sendPage.explorerNotImplemented')) + } + } + + // Check if chain supports destroy + const isBioforestChain = chainConfig?.chainKind === 'bioforest' + + if (!currentWallet || !currentChainAddress) { + return ( +
+ +
+

{t('history.noWallet')}

+
+
+ ) + } + + if (!isBioforestChain) { + return ( +
+ +
+ +

+ {t('destroyPage.notSupported', '当前链不支持资产销毁')} +

+
+
+ ) + } + + // Result step + if (state.step === 'result' || state.step === 'burning') { + return ( +
+ + +
+ ) + } + + return ( +
+ + +
+ {/* Current chain info & sender address */} +
+
+ + {selectedChainName} +
+ {currentChainAddress?.address && ( +
+ {t('sendPage.from')}: + + {currentChainAddress.address.slice(0, 8)}...{currentChainAddress.address.slice(-6)} + +
+ )} +
+ + {/* Asset selector */} +
+ + + {destroyableTokens.length === 0 && ( +

+ {t('destroyPage.noDestroyableAssets', '暂无可销毁的资产')} +

+ )} +
+ + {/* Amount input */} + {state.asset && ( + + )} + + {/* Warning */} + + {t('destroyPage.warning', '销毁操作不可撤销,请仔细核对销毁数量。')} + + + {/* Fee info */} + {state.feeAmount && ( +
+
+ {t('sendPage.fee', '手续费')} + + {state.feeAmount.toFormatted()} {state.feeSymbol} + +
+
+ )} + + {/* Continue button */} +
+ + + {t('destroyPage.confirm', '确认销毁')} + +
+
+
+ ) +} + +export default DestroyPage diff --git a/src/pages/send/index.tsx b/src/pages/send/index.tsx index ec979aa76..5ca07b75a 100644 --- a/src/pages/send/index.tsx +++ b/src/pages/send/index.tsx @@ -5,8 +5,10 @@ import { setTransferConfirmCallback, setTransferWalletLockCallback, setScannerRe import type { Contact, ContactAddress } from '@/stores'; import { addressBookStore, addressBookSelectors, preferencesActions } from '@/stores'; import { PageHeader } from '@/components/layout/page-header'; +import { AssetSelector } from '@/components/asset'; import { AddressInput } from '@/components/transfer'; import { AmountInput } from '@/components/transfer/amount-input'; +import type { TokenInfo } from '@/components/token/token-item'; import { GradientButton } from '@/components/common/gradient-button'; import { Alert } from '@/components/common/alert'; import { ChainIcon } from '@/components/wallet/chain-icon'; @@ -21,6 +23,7 @@ import { useCurrentChainAddress, useCurrentWallet, useSelectedChain, + useCurrentChainTokens, type ChainType, } from '@/stores'; @@ -48,10 +51,14 @@ export function SendPage() { const isWalletLockSheetOpen = useRef(false); // Read params for pre-fill from scanner - const { address: initialAddress, amount: initialAmount } = useActivityParams<{ + const { address: initialAddress, amount: initialAmount, assetType: initialAssetType, assetLocked: assetLockedParam } = useActivityParams<{ address?: string; amount?: string; + assetType?: string; + assetLocked?: string; }>(); + + const assetLocked = assetLockedParam === 'true'; const selectedChain = useSelectedChain(); const currentWallet = useCurrentWallet(); @@ -61,10 +68,28 @@ export function SendPage() { ? chainConfigSelectors.getChainById(chainConfigState, selectedChain) : null; const selectedChainName = chainConfig?.name ?? CHAIN_NAMES[selectedChain] ?? selectedChain; + const tokens = useCurrentChainTokens(); - const defaultAsset = useMemo(() => { + // Find initial asset from params or use default + const initialAsset = useMemo(() => { if (!chainConfig) return null; - const nativeBalance = currentChainAddress?.tokens.find((token) => token.symbol === chainConfig.symbol); + + // If assetType is specified, find it in tokens + if (initialAssetType) { + const found = tokens.find((t) => t.symbol.toUpperCase() === initialAssetType.toUpperCase()); + if (found) { + return { + assetType: found.symbol, + name: found.name, + amount: Amount.fromFormatted(found.balance, found.decimals ?? chainConfig.decimals, found.symbol), + decimals: found.decimals ?? chainConfig.decimals, + logoUrl: found.icon, + }; + } + } + + // Default to native asset + const nativeBalance = tokens.find((token) => token.symbol === chainConfig.symbol); const balanceFormatted = nativeBalance?.balance ?? '0'; return { assetType: chainConfig.symbol, @@ -72,10 +97,35 @@ export function SendPage() { amount: Amount.fromFormatted(balanceFormatted, chainConfig.decimals, chainConfig.symbol), decimals: chainConfig.decimals, }; - }, [chainConfig, currentChainAddress?.tokens]); + }, [chainConfig, tokens, initialAssetType]); + + // Selected token for AssetSelector (convert from state.asset) + const selectedToken = useMemo((): TokenInfo | null => { + if (!state.asset) return null; + return { + symbol: state.asset.assetType, + name: state.asset.name ?? state.asset.assetType, + balance: state.asset.amount.toFormatted(), + decimals: state.asset.decimals, + chain: selectedChain, + icon: state.asset.logoUrl, + }; + }, [state.asset, selectedChain]); + + // Handle asset selection from AssetSelector + const handleAssetSelect = useCallback((token: TokenInfo) => { + const asset = { + assetType: token.symbol, + name: token.name, + amount: Amount.fromFormatted(token.balance, token.decimals ?? chainConfig?.decimals ?? 8, token.symbol), + decimals: token.decimals ?? chainConfig?.decimals ?? 8, + logoUrl: token.icon, + }; + setAsset(asset); + }, [chainConfig?.decimals, setAsset]); const { state, setToAddress, setAmount, setAsset, setFee, goToConfirm, submit, submitWithTwoStepSecret, reset, canProceed } = useSend({ - initialAsset: defaultAsset ?? undefined, + initialAsset: initialAsset ?? undefined, useMock: false, walletId: currentWallet?.id, fromAddress: currentChainAddress?.address, @@ -83,9 +133,9 @@ export function SendPage() { }); useEffect(() => { - if (!defaultAsset) return; - setAsset(defaultAsset); - }, [defaultAsset, setAsset]); + if (!initialAsset) return; + setAsset(initialAsset); + }, [initialAsset, setAsset]); // Pre-fill from search params (scanner integration) useEffect(() => { @@ -285,6 +335,22 @@ export function SendPage() { )} + {/* Asset selector (only show if multiple tokens available) */} + {tokens.length > 1 && ( +
+ + +
+ )} + {/* Address input - 直接从 addressBookStore 读取(单一数据源) */} | undefined +} + +/** + * Get minimum fee for destroying an asset + */ +export async function getDestroyTransactionMinFee( + baseUrl: string, + chainId: string, + assetType: string, + amount: string, +): Promise { + const core = await getBioforestCore(chainId) + + const lastBlock = await getLastBlock(baseUrl) + const applyBlockHeight = lastBlock.height + const timestamp = lastBlock.timestamp + + return core.transactionController.getDestoryAssetTransactionMinFee({ + transaction: { + applyBlockHeight, + timestamp, + remark: {}, + }, + assetInfo: { + sourceChainName: await core.getChainName(), + sourceChainMagic: await core.getMagic(), + assetType, + amount, + }, + }) +} + +/** + * Create a destroy asset transaction using the SDK + * + * NOTE: The SDK uses "Destory" (typo from legacy code, not "Destroy") + */ +export async function createDestroyTransaction( + params: CreateDestroyParams, +): Promise { + const core = await getBioforestCore(params.chainId) + + const lastBlock = await getLastBlock(params.baseUrl) + const applyBlockHeight = lastBlock.height + const timestamp = lastBlock.timestamp + + // Calculate fee if not provided + let fee = params.fee + if (!fee) { + fee = await getDestroyTransactionMinFee( + params.baseUrl, + params.chainId, + params.assetType, + params.amount, + ) + } + + // Determine pay password version if set + let usePaySecretV1 = false + if (params.paySecret) { + const addressInfo = await getAddressInfo(params.baseUrl, params.from) + if (addressInfo.secondPublicKey) { + const version = await verifyTwoStepSecret( + params.chainId, + params.mainSecret, + params.paySecret, + addressInfo.secondPublicKey, + ) + usePaySecretV1 = version === 'v1' + } + } + + const secrets: Secrets = { + mainSecret: params.mainSecret, + ...(params.paySecret ? { paySecret: params.paySecret, usePaySecretV1 } : {}), + } + + const assetInfo: DestroyAssetInfo = { + sourceChainName: await core.getChainName(), + sourceChainMagic: await core.getMagic(), + assetType: params.assetType, + amount: params.amount, + } + + // SDK method is "createDestoryAssetTransactionJSON" (typo preserved) + return core.transactionController.createDestoryAssetTransactionJSON({ + secrets, + transaction: { + fee, + recipientId: params.recipientId, + applyBlockHeight, + timestamp, + remark: params.remark ?? {}, + effectiveBlockHeight: applyBlockHeight + 100, + }, + assetInfo, + }) +} + +/** + * Get asset detail including applyAddress (issuer address) + * @param baseUrl - Full wallet API URL + * @param assetType - Asset type to query + * @param address - Address to query (required by API) + */ +export async function getAssetDetail( + baseUrl: string, + assetType: string, + address: string, +): Promise<{ applyAddress: string; assetType: string } | null> { + const api = getApi(baseUrl) + try { + const result = await api.queryTokenDetail({ assetType, address }) + if (result?.applyAddress) { + return { + applyAddress: result.applyAddress, + assetType: result.assetType, + } + } + return null + } catch { + return null + } +} diff --git a/src/services/ecosystem/handlers/context.ts b/src/services/ecosystem/handlers/context.ts index 0e602d547..2f6c6487e 100644 --- a/src/services/ecosystem/handlers/context.ts +++ b/src/services/ecosystem/handlers/context.ts @@ -3,7 +3,7 @@ * 管理小程序回调的注册中心,支持多实例 */ -import type { BioAccount, BioSignedTransaction, BioUnsignedTransaction, TransferParams } from '../types' +import type { BioAccount, BioSignedTransaction, BioUnsignedTransaction, TransferParams, DestroyParams } from '../types' /** EVM 交易请求类型 */ export interface EvmTransactionRequest { @@ -80,6 +80,7 @@ export interface HandlerCallbacks { getConnectedAccounts: () => BioAccount[] showSigningDialog: (params: SigningParams) => Promise showTransferDialog: (params: TransferParams & { app: MiniappInfo }) => Promise<{ txHash: string } | null> + showDestroyDialog?: (params: DestroyParams & { app: MiniappInfo }) => Promise<{ txHash: string } | null> showSignTransactionDialog: (params: SignTransactionParams) => Promise // EVM (Ethereum/BSC) callbacks diff --git a/src/services/ecosystem/handlers/destroy.ts b/src/services/ecosystem/handlers/destroy.ts new file mode 100644 index 000000000..64f18cdb8 --- /dev/null +++ b/src/services/ecosystem/handlers/destroy.ts @@ -0,0 +1,53 @@ +/** + * Destroy asset method handlers + */ + +import type { MethodHandler, DestroyParams } from '../types' +import { BioErrorCodes } from '../types' +import { HandlerContext, type MiniappInfo } from './context' + +// 兼容旧 API +let _showDestroyDialog: ((params: DestroyParams & { app: MiniappInfo }) => Promise<{ txHash: string } | null>) | null = null + +/** @deprecated 使用 HandlerContext.register 替代 */ +export function setDestroyDialog(dialog: typeof _showDestroyDialog): void { + _showDestroyDialog = dialog +} + +/** 获取销毁对话框 */ +function getDestroyDialog(appId: string) { + const callbacks = HandlerContext.get(appId) + return callbacks?.showDestroyDialog ?? _showDestroyDialog +} + +/** bio_destroyAsset - Destroy an asset (BioForest chains only) */ +export const handleDestroyAsset: MethodHandler = async (params, context) => { + const opts = params as Partial | undefined + if (!opts?.from || !opts?.amount || !opts?.chain || !opts?.asset) { + throw Object.assign( + new Error('Missing required parameters: from, amount, chain, asset'), + { code: BioErrorCodes.INVALID_PARAMS } + ) + } + + const showDestroyDialog = getDestroyDialog(context.appId) + if (!showDestroyDialog) { + throw Object.assign(new Error('Destroy dialog not available'), { code: BioErrorCodes.INTERNAL_ERROR }) + } + + const destroyParams: DestroyParams & { app: MiniappInfo } = { + from: opts.from, + amount: opts.amount, + chain: opts.chain, + asset: opts.asset, + app: { name: context.appName }, + } + + const result = await showDestroyDialog(destroyParams) + + if (!result) { + throw Object.assign(new Error('User rejected'), { code: BioErrorCodes.USER_REJECTED }) + } + + return result +} diff --git a/src/services/ecosystem/handlers/index.ts b/src/services/ecosystem/handlers/index.ts index f5312a847..cba792d76 100644 --- a/src/services/ecosystem/handlers/index.ts +++ b/src/services/ecosystem/handlers/index.ts @@ -40,6 +40,11 @@ export { setTransferDialog, } from './transfer' +export { + handleDestroyAsset, + setDestroyDialog, +} from './destroy' + export { handleCreateTransaction, handleSignTransaction, diff --git a/src/services/ecosystem/provider.ts b/src/services/ecosystem/provider.ts index b1878e4b3..e9b5e1d9a 100644 --- a/src/services/ecosystem/provider.ts +++ b/src/services/ecosystem/provider.ts @@ -19,6 +19,7 @@ import { handleCreateTransaction, handleSignTransaction, handleSendTransaction, + handleDestroyAsset, registerEvmHandlers, registerTronHandlers, } from './handlers' @@ -46,6 +47,9 @@ export function initBioProvider(): void { // Transfer methods bridge.registerHandler('bio_sendTransaction', handleSendTransaction) + // Destroy asset (BioForest chains only) + bridge.registerHandler('bio_destroyAsset', handleDestroyAsset) + // EVM methods (Ethereum/BSC via window.ethereum) registerEvmHandlers((method, handler) => bridge.registerHandler(method, handler)) @@ -67,6 +71,7 @@ export function initBioProvider(): void { 'bio_createTransaction', 'bio_signTransaction', 'bio_sendTransaction', + 'bio_destroyAsset', ], evm: [ 'eth_chainId', @@ -97,6 +102,7 @@ export { setGetAccounts, setSigningDialog, setTransferDialog, + setDestroyDialog, setSignTransactionDialog, // EVM setters setEvmWalletPicker, diff --git a/src/services/ecosystem/types.ts b/src/services/ecosystem/types.ts index 021414c3a..11730bb18 100644 --- a/src/services/ecosystem/types.ts +++ b/src/services/ecosystem/types.ts @@ -18,6 +18,14 @@ export interface TransferParams { asset?: string } +/** Destroy asset parameters */ +export interface DestroyParams { + from: string + amount: string + chain: string + asset: string +} + /** Unsigned transaction payload (chain-specific) */ export interface BioUnsignedTransaction { chainId: string @@ -126,6 +134,12 @@ export const KNOWN_PERMISSIONS: Record = { description: '请求发送转账(需要您确认)', risk: 'high', }, + bio_destroyAsset: { + id: 'bio_destroyAsset', + name: '销毁资产', + description: '请求销毁资产(需要您确认,不可撤销)', + risk: 'high', + }, } /** Miniapp manifest - 完整的小程序元数据 */ diff --git a/src/stackflow/activities/DestroyActivity.tsx b/src/stackflow/activities/DestroyActivity.tsx new file mode 100644 index 000000000..dc5327059 --- /dev/null +++ b/src/stackflow/activities/DestroyActivity.tsx @@ -0,0 +1,22 @@ +import type { ActivityComponentType } from "@stackflow/react"; +import { AppScreen } from "@stackflow/plugin-basic-ui"; +import { ActivityParamsProvider } from "../hooks"; +import { ErrorBoundary } from "@/components/common/error-boundary"; +import { DestroyPage } from "@/pages/destroy"; + +type DestroyParams = { + assetType?: string; + assetLocked?: string; +}; + +export const DestroyActivity: ActivityComponentType = ({ params }) => { + return ( + + + + + + + + ); +}; diff --git a/src/stackflow/activities/SendActivity.tsx b/src/stackflow/activities/SendActivity.tsx index 32f8b8434..22be20c77 100644 --- a/src/stackflow/activities/SendActivity.tsx +++ b/src/stackflow/activities/SendActivity.tsx @@ -8,6 +8,8 @@ type SendParams = { address?: string; chain?: string; amount?: string; + assetType?: string; + assetLocked?: string; }; export const SendActivity: ActivityComponentType = ({ params }) => { diff --git a/src/stackflow/activities/sheets/MiniappDestroyConfirmJob.tsx b/src/stackflow/activities/sheets/MiniappDestroyConfirmJob.tsx new file mode 100644 index 000000000..40c467163 --- /dev/null +++ b/src/stackflow/activities/sheets/MiniappDestroyConfirmJob.tsx @@ -0,0 +1,240 @@ +/** + * MiniappDestroyConfirmJob - 小程序销毁资产确认对话框 + * 用于小程序请求销毁资产时显示 + */ + +import { useState, useCallback } from 'react' +import type { ActivityComponentType } from '@stackflow/react' +import { BottomSheet } from '@/components/layout/bottom-sheet' +import { useTranslation } from 'react-i18next' +import { cn } from '@/lib/utils' +import { IconFlame, IconAlertTriangle, IconLoader2, IconApps } from '@tabler/icons-react' +import { useFlow } from '../../stackflow' +import { ActivityParamsProvider, useActivityParams } from '../../hooks' +import { setWalletLockConfirmCallback } from './WalletLockConfirmJob' +import { useCurrentWallet, useChainConfigState, chainConfigSelectors } from '@/stores' +import { walletStorageService, WalletStorageError, WalletStorageErrorCode } from '@/services/wallet-storage' +import { submitBioforestBurn } from '@/hooks/use-burn.bioforest' +import { Amount } from '@/types/amount' +import { AddressDisplay } from '@/components/wallet/address-display' +import { AmountDisplay } from '@/components/common/amount-display' + +type MiniappDestroyConfirmJobParams = { + /** 来源小程序名称 */ + appName: string + /** 来源小程序图标 */ + appIcon?: string + /** 发送地址 */ + from: string + /** 金额 */ + amount: string + /** 链 ID */ + chain: string + /** 资产类型 */ + asset: string +} + +function MiniappDestroyConfirmJobContent() { + const { t } = useTranslation(['common', 'transaction']) + const { pop, push } = useFlow() + const params = useActivityParams() + const { appName, appIcon, from, amount, chain, asset } = params + const currentWallet = useCurrentWallet() + const chainConfigState = useChainConfigState() + + const chainConfig = chainConfigState.snapshot + ? chainConfigSelectors.getChainById(chainConfigState, chain as 'bfmeta') + : null + + const [isConfirming, setIsConfirming] = useState(false) + + const handleConfirm = useCallback(() => { + if (isConfirming) return + + // 设置钱包锁验证回调 + setWalletLockConfirmCallback(async (password: string) => { + setIsConfirming(true) + + try { + if (!currentWallet?.id || !chainConfig) { + console.error('[MiniappDestroyConfirmJob] Missing wallet or chain config') + return false + } + + // 获取 applyAddress + const { fetchAssetApplyAddress } = await import('@/hooks/use-burn.bioforest') + const applyAddress = await fetchAssetApplyAddress(chainConfig, asset, from) + + if (!applyAddress) { + console.error('[MiniappDestroyConfirmJob] Failed to get asset apply address') + return false + } + + // 执行销毁 + const amountObj = Amount.fromFormatted(amount, chainConfig.decimals, asset) + + const result = await submitBioforestBurn({ + chainConfig, + walletId: currentWallet.id, + password, + fromAddress: from, + recipientAddress: applyAddress, + assetType: asset, + amount: amountObj, + }) + + if (result.status === 'password') { + return false + } + + if (result.status === 'error') { + console.error('[MiniappDestroyConfirmJob] Destroy failed:', result.message) + return false + } + + // 发送成功事件 + const event = new CustomEvent('miniapp-destroy-confirm', { + detail: { + confirmed: true, + txHash: result.txHash, + }, + }) + window.dispatchEvent(event) + + pop() + return true + } catch (error) { + console.error('[MiniappDestroyConfirmJob] Destroy failed:', error) + return false + } finally { + setIsConfirming(false) + } + }) + + // 打开钱包锁验证 + push('WalletLockConfirmJob', { + title: t('transaction:destroyPage.title'), + }) + }, [isConfirming, currentWallet, chainConfig, asset, from, amount, pop, push, t]) + + const handleCancel = useCallback(() => { + const event = new CustomEvent('miniapp-destroy-confirm', { + detail: { confirmed: false }, + }) + window.dispatchEvent(event) + pop() + }, [pop]) + + return ( + +
+ {/* Handle */} +
+
+
+ + {/* Header */} +
+
+ {appIcon ? ( + {appName} + ) : ( + + )} +
+

+ {t('transaction:destroyPage.title')} +

+

+ {appName || t('common:unknownDApp')} {t('common:requestsDestroy', '请求销毁资产')} +

+
+ + {/* Content */} +
+ {/* Amount */} +
+ +
+ + {/* From address */} +
+
+ + {t('common:from', '来自')} + + +
+
+ + {/* Chain & Asset */} +
+ + {t('common:network', '网络')} + + {chain} +
+ + {/* Warning */} +
+ +

+ {t('transaction:destroyPage.warning')} +

+
+
+ + {/* Actions */} +
+ + +
+ + {/* Safe area */} +
+
+ + ) +} + +export const MiniappDestroyConfirmJob: ActivityComponentType = ({ + params, +}) => { + return ( + + + + ) +} diff --git a/src/stackflow/activities/sheets/index.ts b/src/stackflow/activities/sheets/index.ts index b39947719..b7040f658 100644 --- a/src/stackflow/activities/sheets/index.ts +++ b/src/stackflow/activities/sheets/index.ts @@ -21,5 +21,6 @@ export { WalletPickerJob } from "./WalletPickerJob"; export { SigningConfirmJob } from "./SigningConfirmJob"; export { PermissionRequestJob } from "./PermissionRequestJob"; export { MiniappTransferConfirmJob } from "./MiniappTransferConfirmJob"; +export { MiniappDestroyConfirmJob } from "./MiniappDestroyConfirmJob"; export { MiniappSignTransactionJob } from "./MiniappSignTransactionJob"; export { ChainSwitchConfirmJob } from "./ChainSwitchConfirmJob"; diff --git a/src/stackflow/activities/tabs/WalletTab.tsx b/src/stackflow/activities/tabs/WalletTab.tsx index 95c19ee62..44511a24d 100644 --- a/src/stackflow/activities/tabs/WalletTab.tsx +++ b/src/stackflow/activities/tabs/WalletTab.tsx @@ -1,4 +1,4 @@ -import { useCallback, useEffect } from "react"; +import { useCallback, useEffect, useMemo } from "react"; import { useTranslation } from "react-i18next"; import { useFlow } from "../../stackflow"; import { WalletCardCarousel } from "@/components/wallet/wallet-card-carousel"; @@ -7,14 +7,24 @@ import { LoadingSpinner } from "@/components/common/loading-spinner"; import { MigrationRequiredView } from "@/components/common/migration-required-view"; import { GradientButton } from "@/components/common/gradient-button"; import { Button } from "@/components/ui/button"; +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuTrigger, +} from "@/components/ui/dropdown-menu"; import { useWalletTheme } from "@/hooks/useWalletTheme"; import { useClipboard, useToast, useHaptics } from "@/services"; import { useBalanceQuery, useTransactionHistoryQuery } from "@/queries"; +import type { TokenInfo, TokenItemContext } from "@/components/token/token-item"; import { IconPlus, IconSend, IconQrcode, IconLineScan, + IconDotsVertical, + IconFlame, + IconArrowRight, } from "@tabler/icons-react"; import { useWallets, @@ -25,6 +35,8 @@ import { useHasWallet, useWalletInitialized, useChainConfigMigrationRequired, + useChainConfigState, + chainConfigSelectors, walletActions, } from "@/stores"; import type { TransactionInfo } from "@/components/transaction/transaction-item"; @@ -61,6 +73,11 @@ export function WalletTab() { const chainPreferences = useChainPreferences(); const selectedChainName = CHAIN_NAMES[selectedChain] ?? selectedChain; const tokens = useCurrentChainTokens(); + const chainConfigState = useChainConfigState(); + const chainConfig = chainConfigState.snapshot + ? chainConfigSelectors.getChainById(chainConfigState, selectedChain) + : null; + const mainAssetSymbol = chainConfig?.symbol; // 初始化钱包主题 useWalletTheme(); @@ -146,6 +163,49 @@ export function WalletTab() { [push] ); + // 资产操作菜单渲染 + const renderTokenActions = useCallback( + (token: TokenInfo, context: TokenItemContext) => { + return ( + + + + + + { + e.stopPropagation(); + push("SendActivity", { assetType: token.symbol }); + }} + > + + {t("home:wallet.transfer")} + + {context.canDestroy && ( + { + e.stopPropagation(); + push("DestroyActivity", { assetType: token.symbol, assetLocked: "true" }); + }} + className="text-destructive focus:text-destructive" + > + + {t("home:wallet.destroy")} + + )} + + + ); + }, + [push, t] + ); + // 需要迁移数据库 if (migrationRequired) { return ; @@ -242,6 +302,8 @@ export function WalletTab() { console.log("Token clicked:", token.symbol); }} onTransactionClick={handleTransactionClick} + mainAssetSymbol={mainAssetSymbol} + renderTokenActions={renderTokenActions} renderTransactionFooter={() => ( + )) + + render( + + ) + + expect(screen.getByTestId('custom-action')).toBeInTheDocument() + expect(renderActions).toHaveBeenCalledWith( + mockToken, + expect.objectContaining({ + chainType: 'bfmeta', + isBioforestChain: true, + isMainAsset: false, + canDestroy: true, + }) + ) + }) + + it('action click does not trigger parent onClick', () => { + const onClick = vi.fn() + const actionClick = vi.fn() + + const renderActions = () => ( + + ) + + render( + + ) + + fireEvent.click(screen.getByTestId('custom-action')) + + expect(actionClick).toHaveBeenCalled() + expect(onClick).not.toHaveBeenCalled() + }) + }) + + describe('context menu (onContextMenu)', () => { + it('should trigger onContextMenu when provided', () => { + const onContextMenu = vi.fn() + + render( + + ) + + const tokenItem = screen.getByTestId('token-item') + fireEvent.contextMenu(tokenItem) + + expect(onContextMenu).toHaveBeenCalledWith( + expect.any(Object), // event + mockToken, + expect.objectContaining({ + chainType: 'bfmeta', + isBioforestChain: true, + }) + ) + }) + + it('more button click should trigger onContextMenu', () => { + const onContextMenu = vi.fn() + + render( + + ) + + const moreButton = screen.getByLabelText(/more|更多/i) + fireEvent.click(moreButton) + + expect(onContextMenu).toHaveBeenCalled() + }) + + it('long press should trigger onContextMenu on touch devices', async () => { + const onContextMenu = vi.fn() + + render( + + ) + + const tokenItem = screen.getByTestId('token-item') + + // Simulate long press via touch events + fireEvent.touchStart(tokenItem) + + // Wait for long press timeout (typically 500ms) + await new Promise(resolve => setTimeout(resolve, 600)) + + fireEvent.touchEnd(tokenItem) + + expect(onContextMenu).toHaveBeenCalled() + }) + + it('should not show more button when onContextMenu is not provided', () => { + render( + + ) + + expect(screen.queryByLabelText(/more|操作/i)).not.toBeInTheDocument() + }) + }) + + describe('context for bioforest chains', () => { + it('canDestroy is true for non-main asset on bioforest chain', () => { + let capturedContext: TokenItemContext | null = null + + const renderActions = (_token: TokenInfo, context: TokenItemContext) => { + capturedContext = context + return null + } + + render( + + ) + + expect(capturedContext?.canDestroy).toBe(true) + expect(capturedContext?.isBioforestChain).toBe(true) + expect(capturedContext?.isMainAsset).toBe(false) + }) + + it('canDestroy is false for main asset', () => { + let capturedContext: TokenItemContext | null = null + + const renderActions = (_token: TokenInfo, context: TokenItemContext) => { + capturedContext = context + return null + } + + render( + + ) + + expect(capturedContext?.canDestroy).toBe(false) + expect(capturedContext?.isMainAsset).toBe(true) + }) + + it('canDestroy is false for non-bioforest chains', () => { + let capturedContext: TokenItemContext | null = null + + const renderActions = (_token: TokenInfo, context: TokenItemContext) => { + capturedContext = context + return null + } + + render( + + ) + + expect(capturedContext?.canDestroy).toBe(false) + expect(capturedContext?.isBioforestChain).toBe(false) + }) + }) +}) diff --git a/src/components/token/token-item.tsx b/src/components/token/token-item.tsx index a7545dd12..e85e299cf 100644 --- a/src/components/token/token-item.tsx +++ b/src/components/token/token-item.tsx @@ -1,5 +1,7 @@ +import * as React from 'react'; import { cn } from '@/lib/utils'; import { useTranslation } from 'react-i18next'; +import { IconDotsVertical } from '@tabler/icons-react'; import { ChainIcon, TokenIcon, type ChainType } from '../wallet'; import { AmountDisplay, AnimatedAmount } from '../common'; import { currencies, useCurrency } from '@/stores'; @@ -52,6 +54,13 @@ interface TokenItemProps { renderActions?: ((token: TokenInfo, context: TokenItemContext) => React.ReactNode) | undefined; /** Main asset symbol of the chain (used to determine isMainAsset) */ mainAssetSymbol?: string | undefined; + /** + * Context menu handler - triggered by: + * - Right click (desktop) + * - Long press (mobile) + * - More button click + */ + onContextMenu?: ((event: React.MouseEvent | React.TouchEvent | null, token: TokenInfo, context: TokenItemContext) => void) | undefined; } // BioForest chain types that support asset destruction @@ -75,10 +84,15 @@ export function TokenItem({ testId, renderActions, mainAssetSymbol, + onContextMenu, }: TokenItemProps) { const isClickable = !!onClick; const { t } = useTranslation(['currency', 'common']); const currency = useCurrency(); + + // Long press support for mobile + const longPressTimerRef = React.useRef | null>(null); + const longPressTriggeredRef = React.useRef(false); // Compute context for renderActions const isBioforestChain = BIOFOREST_CHAINS.has(token.chain); @@ -94,6 +108,56 @@ export function TokenItem({ canDestroy, }; + // Context menu handlers + const handleContextMenu = React.useCallback((e: React.MouseEvent) => { + if (onContextMenu) { + e.preventDefault(); + e.stopPropagation(); + onContextMenu(e, token, context); + } + }, [onContextMenu, token, context]); + + const handleMoreButtonClick = React.useCallback((e: React.MouseEvent) => { + e.preventDefault(); + e.stopPropagation(); + onContextMenu?.(e, token, context); + }, [onContextMenu, token, context]); + + // Long press handlers for touch devices + const handleTouchStart = React.useCallback(() => { + if (!onContextMenu) return; + + longPressTriggeredRef.current = false; + longPressTimerRef.current = setTimeout(() => { + longPressTriggeredRef.current = true; + onContextMenu(null, token, context); + }, 500); // 500ms long press + }, [onContextMenu, token, context]); + + const handleTouchEnd = React.useCallback(() => { + if (longPressTimerRef.current) { + clearTimeout(longPressTimerRef.current); + longPressTimerRef.current = null; + } + }, []); + + const handleTouchMove = React.useCallback(() => { + // Cancel long press if user moves finger + if (longPressTimerRef.current) { + clearTimeout(longPressTimerRef.current); + longPressTimerRef.current = null; + } + }, []); + + // Cleanup timer on unmount + React.useEffect(() => { + return () => { + if (longPressTimerRef.current) { + clearTimeout(longPressTimerRef.current); + } + }; + }, []); + const shouldFetchRate = token.fiatValue !== undefined && currency !== 'USD'; const { data: exchangeRateData, @@ -127,6 +191,10 @@ export function TokenItem({ tabIndex={isClickable ? 0 : undefined} onClick={onClick} onKeyDown={isClickable ? (e) => e.key === 'Enter' && onClick?.() : undefined} + onContextMenu={handleContextMenu} + onTouchStart={handleTouchStart} + onTouchEnd={handleTouchEnd} + onTouchMove={handleTouchMove} aria-label={isClickable ? t('common:a11y.tokenDetails', { token: token.symbol }) : undefined} className={cn( '@container flex items-center gap-3 rounded-xl p-3 transition-colors', @@ -182,8 +250,21 @@ export function TokenItem({ )}
- {/* Custom actions slot */} - {renderActions && ( + {/* More button - visible when onContextMenu is provided */} + {onContextMenu && ( + + )} + + {/* Custom actions slot (deprecated: use onContextMenu instead) */} + {renderActions && !onContextMenu && (
e.stopPropagation()} diff --git a/src/components/token/token-list.tsx b/src/components/token/token-list.tsx index f6e413e70..2e6134c6f 100644 --- a/src/components/token/token-list.tsx +++ b/src/components/token/token-list.tsx @@ -16,10 +16,12 @@ interface TokenListProps { emptyAction?: React.ReactNode | undefined className?: string | undefined testId?: string | undefined - /** Render prop for custom actions per token item */ + /** Render prop for custom actions per token item (deprecated: use onContextMenu) */ renderActions?: ((token: TokenInfo, context: TokenItemContext) => React.ReactNode) | undefined /** Main asset symbol for the chain (used by renderActions context) */ mainAssetSymbol?: string | undefined + /** Context menu handler for token items */ + onContextMenu?: ((event: React.MouseEvent | React.TouchEvent | null, token: TokenInfo, context: TokenItemContext) => void) | undefined } export function TokenList({ @@ -35,6 +37,7 @@ export function TokenList({ testId, renderActions, mainAssetSymbol, + onContextMenu, }: TokenListProps) { if (loading) { return @@ -68,6 +71,7 @@ export function TokenList({ loading={refreshing} renderActions={renderActions} mainAssetSymbol={mainAssetSymbol} + onContextMenu={onContextMenu} {...(onTokenClick && { onClick: () => onTokenClick(token) })} /> ))} diff --git a/src/components/wallet/wallet-address-portfolio-view.tsx b/src/components/wallet/wallet-address-portfolio-view.tsx index b36c59d41..ad950db19 100644 --- a/src/components/wallet/wallet-address-portfolio-view.tsx +++ b/src/components/wallet/wallet-address-portfolio-view.tsx @@ -28,8 +28,10 @@ export interface WalletAddressPortfolioViewProps { renderTransactionFooter?: () => React.ReactNode /** Main asset symbol for the chain (used for renderActions context) */ mainAssetSymbol?: string - /** Render prop for token item actions (e.g., dropdown menu) */ + /** Render prop for token item actions (deprecated: use onTokenContextMenu) */ renderTokenActions?: (token: TokenInfo, context: TokenItemContext) => React.ReactNode + /** Context menu handler for token items (right-click, long-press, more button) */ + onTokenContextMenu?: (event: React.MouseEvent | React.TouchEvent | null, token: TokenInfo, context: TokenItemContext) => void className?: string testId?: string } @@ -51,6 +53,7 @@ export function WalletAddressPortfolioView({ renderTransactionFooter, mainAssetSymbol, renderTokenActions, + onTokenContextMenu, className, testId = 'wallet-address-portfolio', }: WalletAddressPortfolioViewProps) { @@ -85,6 +88,7 @@ export function WalletAddressPortfolioView({ emptyDescription={t('home:wallet.noAssetsOnChain', { chain: displayChainName })} mainAssetSymbol={mainAssetSymbol} renderActions={renderTokenActions} + onContextMenu={onTokenContextMenu} testId={`${testId}-token-list`} />
diff --git a/src/stackflow/activities/tabs/WalletTab.tsx b/src/stackflow/activities/tabs/WalletTab.tsx index 44511a24d..af267729d 100644 --- a/src/stackflow/activities/tabs/WalletTab.tsx +++ b/src/stackflow/activities/tabs/WalletTab.tsx @@ -1,4 +1,4 @@ -import { useCallback, useEffect, useMemo } from "react"; +import { useCallback, useEffect, useMemo, useState } from "react"; import { useTranslation } from "react-i18next"; import { useFlow } from "../../stackflow"; import { WalletCardCarousel } from "@/components/wallet/wallet-card-carousel"; @@ -8,11 +8,11 @@ import { MigrationRequiredView } from "@/components/common/migration-required-vi import { GradientButton } from "@/components/common/gradient-button"; import { Button } from "@/components/ui/button"; import { - DropdownMenu, - DropdownMenuContent, - DropdownMenuItem, - DropdownMenuTrigger, -} from "@/components/ui/dropdown-menu"; + Sheet, + SheetContent, + SheetHeader, + SheetTitle, +} from "@/components/ui/sheet"; import { useWalletTheme } from "@/hooks/useWalletTheme"; import { useClipboard, useToast, useHaptics } from "@/services"; import { useBalanceQuery, useTransactionHistoryQuery } from "@/queries"; @@ -22,7 +22,6 @@ import { IconSend, IconQrcode, IconLineScan, - IconDotsVertical, IconFlame, IconArrowRight, } from "@tabler/icons-react"; @@ -163,49 +162,35 @@ export function WalletTab() { [push] ); - // 资产操作菜单渲染 - const renderTokenActions = useCallback( - (token: TokenInfo, context: TokenItemContext) => { - return ( - - - - - - { - e.stopPropagation(); - push("SendActivity", { assetType: token.symbol }); - }} - > - - {t("home:wallet.transfer")} - - {context.canDestroy && ( - { - e.stopPropagation(); - push("DestroyActivity", { assetType: token.symbol, assetLocked: "true" }); - }} - className="text-destructive focus:text-destructive" - > - - {t("home:wallet.destroy")} - - )} - - - ); + // 资产操作菜单状态 + const [actionSheetOpen, setActionSheetOpen] = useState(false); + const [selectedToken, setSelectedToken] = useState<{ token: TokenInfo; context: TokenItemContext } | null>(null); + + // 资产操作菜单触发 + const handleTokenContextMenu = useCallback( + (_event: React.MouseEvent | React.TouchEvent | null, token: TokenInfo, context: TokenItemContext) => { + haptics.impact("light"); + setSelectedToken({ token, context }); + setActionSheetOpen(true); }, - [push, t] + [haptics] ); + // 资产操作菜单项点击 + const handleTransfer = useCallback(() => { + if (selectedToken) { + setActionSheetOpen(false); + push("SendActivity", { assetType: selectedToken.token.symbol }); + } + }, [selectedToken, push]); + + const handleDestroy = useCallback(() => { + if (selectedToken) { + setActionSheetOpen(false); + push("DestroyActivity", { assetType: selectedToken.token.symbol, assetLocked: "true" }); + } + }, [selectedToken, push]); + // 需要迁移数据库 if (migrationRequired) { return ; @@ -303,7 +288,7 @@ export function WalletTab() { }} onTransactionClick={handleTransactionClick} mainAssetSymbol={mainAssetSymbol} - renderTokenActions={renderTokenActions} + onTokenContextMenu={handleTokenContextMenu} renderTransactionFooter={() => ( + {selectedToken?.context.canDestroy && ( + + )} +
+
+
); } From 553f1a46ff0b5df6173fb209ad6fd5a23305c7fb Mon Sep 17 00:00:00 2001 From: Gaubee Date: Fri, 9 Jan 2026 16:00:33 +0800 Subject: [PATCH 10/23] feat(flow): add mode-aware str template for workflow descriptions - str`` tagged template returns () => Promise - str.scenarios(args) formats commands based on runtime mode (CLI vs MCP) - str.data(title, items) formats data sections by mode - Resolve async descriptions in meta.mcp.ts with WorkflowNameContext - Update task.workflow.ts to use str template for start workflow --- packages/flow/src/common/async-context.ts | 12 ++++++++++++ packages/flow/src/meta/meta.mcp.ts | 11 +++++++++-- scripts/agent-flow/workflows/task.workflow.ts | 8 +++++++- 3 files changed, 28 insertions(+), 3 deletions(-) diff --git a/packages/flow/src/common/async-context.ts b/packages/flow/src/common/async-context.ts index dff1af3f0..41bc96413 100644 --- a/packages/flow/src/common/async-context.ts +++ b/packages/flow/src/common/async-context.ts @@ -123,11 +123,23 @@ export function isCliMode(): boolean { /** * Run function within specified runtime mode + * Supports both sync and async functions */ export function withRuntimeMode(mode: RuntimeMode, fn: () => R): R { return RuntimeContext.run({ mode }, fn); } +/** + * Run async function within specified runtime mode + * Use this for async functions to ensure context is preserved + */ +export async function withRuntimeModeAsync( + mode: RuntimeMode, + fn: () => Promise +): Promise { + return RuntimeContext.run({ mode }, fn); +} + // ============================================================================= // Workflow Name Context // ============================================================================= diff --git a/packages/flow/src/meta/meta.mcp.ts b/packages/flow/src/meta/meta.mcp.ts index 7d019c1ed..09e98466a 100644 --- a/packages/flow/src/meta/meta.mcp.ts +++ b/packages/flow/src/meta/meta.mcp.ts @@ -23,7 +23,8 @@ import { printMcpHelp, z, } from "../common/mcp/base-mcp.ts"; -import { withRuntimeMode } from "../common/async-context.ts"; +import { withRuntimeMode, WorkflowNameContext } from "../common/async-context.ts"; +import { resolveDescription } from "../common/workflow/base-workflow.ts"; const MCP_NAME = "meta"; @@ -145,7 +146,13 @@ async function getWorkflowInfo( else if (hasAi) mode = "ai"; else if (hasSubflows || hasDirectCommands) mode = "programmatic"; - return { description: workflow.meta.description, mode }; + // Resolve description with workflow name context + const description = await WorkflowNameContext.run( + workflow.meta.name, + () => resolveDescription(workflow.meta.description) + ); + + return { description, mode }; } } catch { // Ignore import errors diff --git a/scripts/agent-flow/workflows/task.workflow.ts b/scripts/agent-flow/workflows/task.workflow.ts index 159eedbc4..5b51b8a78 100755 --- a/scripts/agent-flow/workflows/task.workflow.ts +++ b/scripts/agent-flow/workflows/task.workflow.ts @@ -44,6 +44,7 @@ import { createRouter, defineWorkflow, } from "../../../packages/flow/src/common/workflow/base-workflow.ts"; +import { str } from "../../../packages/flow/src/common/async-context.ts"; import { createIssue, createPr, @@ -125,7 +126,12 @@ ${desc} */ const startWorkflow = defineWorkflow({ name: "start", - description: "启动新任务 (Issue + Worktree + Draft PR,不触发 CI)", + description: str`启动新任务 (Issue + Worktree + Draft PR,不触发 CI) + +## When to Use +- 启动服务开发 → ${str.scenarios(["--type", "service", "--title", "Feature"])} +- 列出可用标签 → ${str.scenarios(["--list-labels"])} +- 自动创建标签 → ${str.scenarios(["--type", "ui", "--create-labels"])}`, args: { title: { type: "string", description: "任务标题", required: false }, type: { From ef3ec752aac54a98f7259e91d12801e48ecb9e86 Mon Sep 17 00:00:00 2001 From: Gaubee Date: Fri, 9 Jan 2026 16:07:57 +0800 Subject: [PATCH 11/23] test(storybook-e2e): add TokenItem context menu visual tests - Add WithContextMenu and ContextMenuList stories to token-item.stories.tsx - Fix DestroyPage story to remove non-existent imports - Create token-item-context-menu.spec.ts with 3 tests for context menu feature - Add baseline screenshots for visual regression testing --- src/components/token/token-item.stories.tsx | 50 ++++++ src/pages/destroy/destroy.stories.tsx | 29 +--- ...context-menu.spec.ts-context-menu-list.png | Bin 0 -> 17581 bytes ...context-menu.spec.ts-with-context-menu.png | Bin 0 -> 8879 bytes storybook-e2e/token-item-context-menu.spec.ts | 164 ++++++++++++++++++ 5 files changed, 218 insertions(+), 25 deletions(-) create mode 100644 storybook-e2e/__screenshots__/Mobile-Chrome/token-item-context-menu.spec.ts-context-menu-list.png create mode 100644 storybook-e2e/__screenshots__/Mobile-Chrome/token-item-context-menu.spec.ts-with-context-menu.png create mode 100644 storybook-e2e/token-item-context-menu.spec.ts diff --git a/src/components/token/token-item.stories.tsx b/src/components/token/token-item.stories.tsx index d18201e20..cde162a83 100644 --- a/src/components/token/token-item.stories.tsx +++ b/src/components/token/token-item.stories.tsx @@ -122,3 +122,53 @@ export const Responsive: Story = { }, }, }; + +export const WithContextMenu: Story = { + args: { + token: mockUSDT, + onClick: () => alert('Clicked USDT'), + onContextMenu: (event, token, context) => { + alert(`Context menu for ${token.symbol}\nCan destroy: ${context.canDestroy}`); + }, + mainAssetSymbol: 'ETH', // USDT is not main asset, so canDestroy = true for bioforest chains + }, + parameters: { + docs: { + description: { + story: '带有更多操作按钮的代币项,点击按钮、右键点击或长按触发上下文菜单', + }, + }, + }, +}; + +export const ContextMenuList: Story = { + render: () => ( +
+ {}} + onContextMenu={(e, token) => alert(`Menu: ${token.symbol}`)} + mainAssetSymbol="ETH" + /> + {}} + onContextMenu={(e, token) => alert(`Menu: ${token.symbol}`)} + mainAssetSymbol="ETH" + /> + {}} + onContextMenu={(e, token) => alert(`Menu: ${token.symbol}`)} + mainAssetSymbol="TRX" + /> +
+ ), + parameters: { + docs: { + description: { + story: '多个代币项带有上下文菜单,注意主资产(TRX)的 canDestroy 为 false', + }, + }, + }, +}; diff --git a/src/pages/destroy/destroy.stories.tsx b/src/pages/destroy/destroy.stories.tsx index ad7440afa..daaf01eb8 100644 --- a/src/pages/destroy/destroy.stories.tsx +++ b/src/pages/destroy/destroy.stories.tsx @@ -1,20 +1,14 @@ import type { Meta, StoryObj } from '@storybook/react' import { DestroyPage } from './index' -import { StorybookProviders } from '@/test/storybook-providers' -import { StackflowStoryWrapper } from '@/test/stackflow-story-wrapper' const meta: Meta = { title: 'Pages/DestroyPage', component: DestroyPage, decorators: [ (Story) => ( - - -
- -
-
-
+
+ +
), ], parameters: { @@ -29,20 +23,5 @@ export default meta type Story = StoryObj export const Default: Story = { - name: 'Default (No Wallet)', -} - -export const WithMockData: Story = { - name: 'With Mock Wallet', - parameters: { - mockData: { - hasWallet: true, - selectedChain: 'bfmeta', - tokens: [ - { symbol: 'BFM', name: 'BFMeta', balance: '1000', decimals: 8 }, - { symbol: 'TEST', name: 'Test Token', balance: '500', decimals: 8 }, - { symbol: 'USDT', name: 'Tether USD', balance: '1000', decimals: 8 }, - ], - }, - }, + name: 'Default', } diff --git a/storybook-e2e/__screenshots__/Mobile-Chrome/token-item-context-menu.spec.ts-context-menu-list.png b/storybook-e2e/__screenshots__/Mobile-Chrome/token-item-context-menu.spec.ts-context-menu-list.png new file mode 100644 index 0000000000000000000000000000000000000000..42e068ffaf523bb03bbb0554a0de8f94c52e8356 GIT binary patch literal 17581 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 literal 0 HcmV?d00001 diff --git a/storybook-e2e/__screenshots__/Mobile-Chrome/token-item-context-menu.spec.ts-with-context-menu.png b/storybook-e2e/__screenshots__/Mobile-Chrome/token-item-context-menu.spec.ts-with-context-menu.png new file mode 100644 index 0000000000000000000000000000000000000000..7204d9a30c4a59a18e9b2bb064b5311cfed9ca6e GIT binary patch literal 8879 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 literal 0 HcmV?d00001 diff --git a/storybook-e2e/token-item-context-menu.spec.ts b/storybook-e2e/token-item-context-menu.spec.ts new file mode 100644 index 000000000..415ae7cc1 --- /dev/null +++ b/storybook-e2e/token-item-context-menu.spec.ts @@ -0,0 +1,164 @@ +import { expect, test } from '@playwright/test' +import { createReadStream } from 'node:fs' +import { stat } from 'node:fs/promises' +import { createServer, type Server } from 'node:http' +import path from 'node:path' +import { fileURLToPath } from 'node:url' + +const storybookStaticDir = path.resolve( + path.dirname(fileURLToPath(import.meta.url)), + '../storybook-static' +) + +function getContentType(filePath: string): string { + const ext = path.extname(filePath).toLowerCase() + switch (ext) { + case '.html': + return 'text/html; charset=utf-8' + case '.js': + return 'text/javascript; charset=utf-8' + case '.css': + return 'text/css; charset=utf-8' + case '.json': + return 'application/json; charset=utf-8' + case '.svg': + return 'image/svg+xml' + case '.png': + return 'image/png' + case '.jpg': + case '.jpeg': + return 'image/jpeg' + case '.webp': + return 'image/webp' + case '.ico': + return 'image/x-icon' + case '.woff': + return 'font/woff' + case '.woff2': + return 'font/woff2' + case '.ttf': + return 'font/ttf' + case '.map': + return 'application/json; charset=utf-8' + default: + return 'application/octet-stream' + } +} + +async function startStorybookServer(): Promise<{ server: Server; baseUrl: string }> { + await stat(path.join(storybookStaticDir, 'index.html')) + + const server = createServer(async (req, res) => { + const url = new URL(req.url ?? '/', 'http://localhost') + const rawPath = decodeURIComponent(url.pathname) + const relativePath = rawPath === '/' ? '/index.html' : rawPath + const filePath = path.normalize(path.join(storybookStaticDir, relativePath)) + + if (!filePath.startsWith(storybookStaticDir)) { + res.statusCode = 403 + res.end('Forbidden') + return + } + + try { + const stats = await stat(filePath) + if (!stats.isFile()) { + res.statusCode = 404 + res.end('Not found') + return + } + + res.statusCode = 200 + res.setHeader('Content-Type', getContentType(filePath)) + createReadStream(filePath).pipe(res) + } catch { + res.statusCode = 404 + res.end('Not found') + } + }) + + await new Promise((resolve) => server.listen(0, '127.0.0.1', () => resolve())) + const address = server.address() + if (!address || typeof address === 'string') throw new Error('Unexpected server address') + + return { server, baseUrl: `http://127.0.0.1:${address.port}` } +} + +function storyUrl(baseUrl: string, storyId: string): string { + return `${baseUrl}/?path=/story/${storyId}` +} + +test.describe('TokenItem Context Menu Storybook', () => { + let server: Server + let baseUrl: string + + test.beforeAll(async () => { + const started = await startStorybookServer() + server = started.server + baseUrl = started.baseUrl + }) + + test.afterAll(async () => { + await new Promise((resolve, reject) => + server.close((err) => (err ? reject(err) : resolve())) + ) + }) + + test('WithContextMenu renders more button', async ({ page }) => { + const frame = page.frameLocator('#storybook-preview-iframe') + + await page.goto(storyUrl(baseUrl, 'token-tokenitem--with-context-menu')) + + // Wait for the token item to be visible + await expect(frame.getByText('USDT')).toBeVisible() + + // Check that more button is visible + const moreButton = frame.getByRole('button', { name: /更多操作/i }) + await expect(moreButton).toBeVisible() + + // Take screenshot + await expect(frame.locator('#storybook-root')).toHaveScreenshot('with-context-menu.png') + }) + + test('ContextMenuList renders multiple items with more buttons', async ({ page }) => { + const frame = page.frameLocator('#storybook-preview-iframe') + + await page.goto(storyUrl(baseUrl, 'token-tokenitem--context-menu-list')) + + // Wait for tokens to be visible using more specific selectors + await expect(frame.locator('p.font-medium').filter({ hasText: 'USDT' })).toBeVisible() + await expect(frame.locator('p.font-medium').filter({ hasText: 'ETH' })).toBeVisible() + await expect(frame.locator('p.font-medium').filter({ hasText: 'TRX' })).toBeVisible() + + // Check that more buttons are visible for all items + const moreButtons = frame.getByRole('button', { name: /更多操作/i }) + await expect(moreButtons).toHaveCount(3) + + // Take screenshot + await expect(frame.locator('#storybook-root')).toHaveScreenshot('context-menu-list.png') + }) + + test('clicking more button triggers dialog', async ({ page }) => { + const frame = page.frameLocator('#storybook-preview-iframe') + + await page.goto(storyUrl(baseUrl, 'token-tokenitem--with-context-menu')) + + // Wait for the token item to be visible + await expect(frame.getByText('USDT')).toBeVisible() + + // Set up dialog handler + let dialogMessage = '' + page.on('dialog', async (dialog) => { + dialogMessage = dialog.message() + await dialog.accept() + }) + + // Click the more button + const moreButton = frame.getByRole('button', { name: /更多操作/i }) + await moreButton.click() + + // Verify dialog was triggered with correct content + expect(dialogMessage).toContain('USDT') + expect(dialogMessage).toContain('Can destroy') + }) +}) From eba2e15fa8d33849e2b73d44b0bd8cce01fc5039 Mon Sep 17 00:00:00 2001 From: Gaubee Date: Fri, 9 Jan 2026 16:19:34 +0800 Subject: [PATCH 12/23] test(e2e): add token context menu e2e tests with screenshots - Add token-context-menu.mock.spec.ts with 14 tests - Test more button click, long press, right click triggers - Test transfer and destroy action navigation - Test main asset restriction (no destroy option for BFM) - Add baseline screenshots for visual regression --- .../token-action-sheet.png | Bin 0 -> 86154 bytes .../wallet-home-with-menu-buttons.png | Bin 0 -> 103320 bytes .../token-action-sheet.png | Bin 0 -> 78520 bytes .../wallet-home-with-menu-buttons.png | Bin 0 -> 78956 bytes e2e/token-context-menu.mock.spec.ts | 277 ++++++++++++++++++ 5 files changed, 277 insertions(+) create mode 100644 e2e/__screenshots__/Desktop-Chrome/token-context-menu.mock.spec.ts/token-action-sheet.png create mode 100644 e2e/__screenshots__/Desktop-Chrome/token-context-menu.mock.spec.ts/wallet-home-with-menu-buttons.png create mode 100644 e2e/__screenshots__/Mobile-Chrome/token-context-menu.mock.spec.ts/token-action-sheet.png create mode 100644 e2e/__screenshots__/Mobile-Chrome/token-context-menu.mock.spec.ts/wallet-home-with-menu-buttons.png create mode 100644 e2e/token-context-menu.mock.spec.ts diff --git a/e2e/__screenshots__/Desktop-Chrome/token-context-menu.mock.spec.ts/token-action-sheet.png b/e2e/__screenshots__/Desktop-Chrome/token-context-menu.mock.spec.ts/token-action-sheet.png new file mode 100644 index 0000000000000000000000000000000000000000..5a0c204b4e1dea1e3b3acf57dc702c0ad2e28b5e GIT binary patch literal 86154 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

i za?L&`)i6r)_U>1>Va};%ktV&sys`S4OBNvbqb*MeZr|jk7K&<>B*rT;bfQBTU-ZAbK+TW!9`cG1qBOo0XoRjBdeCi%z z>9)lG3hLf~MaP(?3H2}__^*H>Aj>^H3Q^PATW!Mo&WBW)Q3`-uc|p`^Y}(D9_Jx(*K!9e@?5U!Q`oX8}AVb&_`1WLK z46?H8*|83W$=NRm%D$R_S7nbD`~y>JXn!S2iiT-J4&1&&ASf-Y5CU>^VY>!_Z9xODWz|m*=>Wh&UX+KAh_eIA{uqCaeCD>Ge_#F^=0o za;(R9lpzhi*XWI#J?hnx(AnLrZXrI{l2}HZ*5`7E?e^jg5gDu83mm7kpQ7#Z=WLuY ztUvfF1@RcB#@EF7h-m#325(>eS_$rGcJ`^f`e0d_;;p%4?xHso{IFZ*v5Rp}lSzFw zPL?A(KRJE12A^w=-XlQ}x_ zc~&r;_^v&YmQ{G~eh9~vJd^?xxxJsFZu$UzQ9YQ6fvZOOII&3l7nw1qwsKW2BmIm3 zeHRrfk=o6k$e(;jq~&0t_fHl&h@HkL8q2gMxl>VfTPW>9cEM?p$D{joal_R? zPS50#rPJ@5L*~753$CY9pq!;tkTq$kb!w?Ksom)A4tQ)=fa`vH7nIPdlD$N)V&J!| z0w;xsB*yZWr_`#ti>MFXGCGNz(KbupokQ=s#~^;*m14an57`jO=pP%M&uOUTPvK+X zC*(lhb|PFq$KyJ|(k!?)c8VI=$X_ljTr&m2jVUmaM=TZJ3Rjr(5G^S*RK}13u-B9J zJvip9J!GU*#>Kt?JEnelIv&BldJUOJY2;O<=Sn8OP#;__<<$^t6QP@naM`Qgb>1Ms z(_DxJVidP@oEw=q9$|i*m|LB|sgSx52phlJ>`t~ps`u)j?{7lUb1dcayd3=;VjN~j zJxYa=o1vZ6M!OEL5BCj3RYUxejVkE(L}M^&Y}qq$=vY$UW&UbCM>6IvsmDJ;{zjTfxHP*f5L ziVmh6V)|Ot8*ND>WB*e}A5F*h66f_3z$Z+eyL1OH+xOgV=j|k#RzCp{@sO-2m;_=v z9h{DXY(0y#j27-e@a?903-06%SK_~3Kx>H@*Oo0AoeU!on+iaIer5V8uQs?AM0Vrz4zRTXk^bBQq{ zVKC=07$+@cCEpBW8P+Lw!b+{vL!jSC`uj-sn)a^;CoW?)xcQs!d?ZTgQJrTDyA=lx zZot=L@ZROAdX#8x`9#s4t6yfP2i;EZl54Y?^ixLH8Q+ zpBJ0>!9v@ffCTfaOy_K{iQtM8R%wzwgyPKs>n_tQ$;46Z_K|eAu#wTABfcMB2LTip z^jp-q(&*~%3k~|xU$2|j>WQ`hvY>vEjgB0DI)(qmk3a>9S3!frj_WVHB}PYeqk^v} zPKq+MjUy`yVh-1bf$`8(>8?>x7S&mnER@Bm8u zpH{n-`o3dSh3nhxWN<%!!zq|dVFrFGx$~SkD3@tM@Mxk4-Y48U&PHWzVna}!?ktqZ}uIt|C#L&cvMmOxshV6zgw@JpMiVaW;IjE zituD@o<`Ck?kC0r=sV@%yDd@AMRzr_2JxZn9R~_eRBeCXddr_C%KD2!&l1w7EUaP{ z3i2D*Fe3E8t2^tfs!xAnSNe;c1?k&rK5gQcN4B3=x#@&CEi|7ibEsLq+XmiFFO5?$ zCiylUN79{Id_ND*XTULhI|`pd^=9=$a#(G=sR(^z=-^&+!%M0ygVXA1Hk8}e8IyZ} zyJp09jTkrLZ_VPo_HXtE7J$MptDEGWw5F)H;}Tn=b#2K+E=@P%!|r%buI;3anh`c! zgD2W9K7ulksZgBSuw>Wc@{w|{TzuT|sMB~ZJJZj0c0p~Dm)gG)R+|V*pu@!yI$qYf zS6H4%{2Tqde|p43g# zD4zy!PKkz!s~P!=`B1N{q$-MxVae;dfc6xNje{IO(*wGzhB0yTbrpaH*W(!KX0kSJ zHdfG$KUq;r&~&Z!k@W1$sUR;Kccx%YJjrwLmh#nurDI6o*y7!IkA_UlSE8$ni*=xl zCi;Y722;-%uj0M17^6NN7p`@&{S=PDgXIQ&&oa5;5VE38rs#R5oGi6gu%WfANtoG$ zN&UT#QOB0%b%8K(=)-f}t&W>`H~t@Ar0pN!`>M`e@A>%gYnX{b{wWd2-{G-a32{AH zlJ}M3&tBieP&K?GZfvtJ3>jmkK&kY`EjYj3+c(fb-IKt8z;8thBE`_rv`S zheE8kfe39_)1rmEQ`^9#qMk#=olflnB~8h z6ihFxQ>&!iGHW%5mfLcCU9EDRMD zrv}Fz1R_fBB^ZtR_wUH3t9{v&XuFer0HmG51jfA)y803vU;P2I*ndK-MA5n}4fjzr z@$i%14)2y_%vXqx)KKWHS9N6D;O$kiddT?In&lrgRMmW}PHFGQk zmyw-a#hwaqa4Js^T?2IOTXT#-HR7Mi*GH~bJms?K(VO_|QLEWJn+jPD^`a>`qNjP| zPjL6g>y?d5Z;wd0`s<-O(}I6RT!O$Zcwm* z4_G2OHEEv<##q6I?>EKBQGReVami=&up>JC!~s?S?3w%mmd$c1fl@%k@T#dB{??aa z%Dk7>CH&O76*Fg*D#=0@*A^31t9z~rW?#X9SJN99p!e3=7GqEP3wVXcdFB4rm&W0xYrg2(d*l_MM(O<8=5qQbf!E+w}**?DkzsF zy{$-;7|Aelx0}y0pHxYBMD62YF^|we*Fs>N73&2C{0E#j?+eav#Q{x5A!!9Ql8gY4P?v_0{&mhOR<@nf_cdf z)?HF!+JxBbO~}t9`BDSw;X1WYCcF18dd%-1;uz&-OC_YczP$(+q3?WCToa!XDxwxT z&yh8dZAh*Crc4PWd@4W_6Znn{AvYvB_fc$g;(#h!yv4{vNi)*Nu;7*MGnTu#tIYFA z&Et5J#3#GYf#2L!7Xl-0n)6@U?ye_m{aOWA6Yd+%=yle0ut1HQWWJc*>XvvO2ckA! zBL8)MqW;k+HT|?}h0)IOUA9)c>m^jFvO=WomJhpt{!QuLhrQYy&Vh>BRXL6!si-J{ z53oJ8xQfhO|73d%j%_ zQXFrXmO{LFRQSs#M3iv0lXJ6#_~3dk-4WjA2&ir=&mo4eTL*kX#LK#wCe(Uh2OncT z$lqcYI81vS22IO-*-ii#c4qQqnAz^bPrcU4cR10f!xyM3)c+&i#kKx{;Dr>Y>XW8i zgIGa!Bi4v0xQqpGJt?8W12*UO7ObZQAiro>cG}oDTXZjUQs;V1mlGevQ6lHlAPX$m z)5=>TP`3(nyh$#V4qc>OVKAEL&r9MbYqwVg)AuRuX;>M$-j}gk!I-(uliJ}eUeP_? z9H)!MJFBYs<}!B0rSyB+UPq5y&AH8hzw@SCB<9Ew&qIr5+nQOY7x8-6$u4fO(WkDi z67&6ubx5I+cj`sW-t!{aBp9q?VK!b7T?#49FBL!+UIe(!k==E(EVsf$1T}}V>2h^o zmZ#HO`aOvm$yoP19R{+gh)VS9l9N9pabm=OP56|7a?V=*@V9*(F60flx0tF}0HRN6 zfef8NPFv7NIxaN-A_CO;>AGWAdw7gl)#Ag6r&h`gr7{H$5jRQ7sjO#iXmb)!_Gi%- z4JY}w`e?_Tb^p|9eHjCXQ2vxU$w7RQFZnU!Vk~J;^37}okwyZSohGyYk-lQ(V zpI`jQMHG2B@t#`M%*sl0!_*W&5y`W3@iy>7;bmN5?Eb>S!WsdbM63~`w$Q&X!ktTX zd(LWiN3lfdVhlZoYCi}TV@dn=WTFu3rKe$ueAv>fsjO0S_@_zH0B`XxuEuAP-b15lr zHg*sYZ{zTwRO|lkyiu~2tU6aMMn64t|QC@%uTkoF+j#Op5&%9@3%LbT+=#|rcH z5={t3r<0tz&$l53dTUnV0Du_@t`?}a&wVpXlq0YMHP`z=s? z|2by^NvFklqeW^>63T#lbnEU~e9O3B@|d0P(rtC+awbL4BWgz9p**bNYz34H5(;;x zYi5&Bx}Kqvo)GA-c&^bQI~iaiTN4dyZ8yD9Mh>dvu$^lbP9N=zYqR?%xN!E4IUyg2 zXKZHr8o&K>z`Z8eTcvoF;!xJ$EOU!k#jKM)XxV}rXcE(1Z+f^jz9g($#ny1eG70#J zmaUZ9AH0XMSmeS1!8Qu)INbccpj3FYLXetYKd!oJ)WkxExg+^+cLolfzk=;Z2 z&4cJs-uu7jSL1WK!{2Fpr+`8wUHu2tunZOEUQhfQw#Gj+*&YaXvD_pU=CE=#tVS9o zcyKk_+_W0pBSM5PxegjEQwrHw^d7Op{cNx@9EQXv*?zUExX}bDdqG^}fxlQt&IQi2-XRnQlQ} zO;}jC-)i)f#Pm-FLXmKdVFBl}m6csz>;lV|?)kon@_OgcUjG#teU|c%V>|>JT_kBR zv}^GV?>|xi@oxiXOlRz0-81u?#4Rp}>pd}K8OoIbr#m_Nl{9ycAsp?Sp&PHaNak$f zzF24w*uEct0o!Yf^vPphdcjY1VHdvM(?g4p`$kaV)6v8Cv_K$-Cy+jSqE~CQ1v@aT zqIzd;yT>7*2I;$BE)$tj3~Hl-yHIoUs>dM1ZQLBb0ZVa`mZkV%ABbKkw?USV$6amQ z{x*?=_-TjM#Fjl`GK}Dty<7Hx&-?KVuBo=(CLT$eFZ15pYz5O!3e`6|SF4YmJ3=DA zXR7*UZ_qdEAt{km{U!y2GgjSz4_g{w@ri zzCz9HFL&}YnctiTZb^gK(EVnA>C|OjTLRoD=%L}Q^PX?9C`0r~_>oH0H&E(i*|!(1 zkXp8;`4E&x&u)S&<5pYWy}L7!3=8R#_yH-Ih9>EBTbU>eF*}>9@(w#nnO-d^&f%aC zdnJXi+x_bWl;v4J0z3F~(+7~u9g)Y_9?>KGa*4TQ>aG}0d(V=I5og2V*CapYndNmb zl}Z<14E{Jz)z@JbA-Iw`F#3Mg(8$ze>CyLVl}!jnD~!{IQ#EWPZ}_7{Rf=hMWtrf% zDpNtq$(bAve;;nh2V_7FqvX1SvOinZEIa@NPa*u2!Z%VE45FKUl$GBVjJxtI2vCV( zg!k610l$55sRGu&rV-}ASS|Jl_Z4#u=|>i_*BP#Q&&&y**UgykBF&40V94}-NSnNs z>9z1t2?jg6NImtyx+wxu!Q3`kIGkw;x}M-*dh~tT>74GL9g#JenP0YBuZLN%TlLSY z!-81g&&5&+eq@YdbQP_}KCKpacfX`-ktWtc(n4j$(^4dPfm9=F`(@KHSmHFQFE>pt zy`grd@BB4a9QAx|uR{%=76Ka-VOi8LW12X`AN%w*&LpLGj~@5?Qgbf~0dcMwD*yMu zsgR==@48s3LV`&PEp*9oXd}- z#r7kEp~`aR4ZS5SS6WYTbuQ8X7UIGEH8RAHqoyVeF|BuQRfVcX4pEed<-EB$Ro4nX zCxZ>|`*7g+t6z01n7*y%7BN3u@O!qO)(ua=1ewkpw3*_eEa_RtGcS!wO?%LTWT2;$lL@r6X}LrwkcG!8et zOg$)DwxxLLy$zry4~dV^-hVtn$su0&ixguT)z83}WZ~e*k7ez)zAks0^+}}r-ds_h zgwth)_ywrP!l@0TBRLV65x zsmSQ7GYD%`z{TLl_EJ#$8%K_(;iKDEJmaN2WFu3wD%}>;cpWBh@E@z4jyS{^bVQY2 zaw5}WU|P3-3pccj%2{0Y#~aA^FP0srveO#XvdEu4i#2zvoWM`0EuK4q&wD)PrYqpB z@}#uqqsvQjjaa^%a73xpTOUQ1!tTqs*x&7&18Q3!Rc?%{`zZNjuAs;#}aYgFq)a`e;UD8QS95ky;+r{8IPfEK;Td z!p?5!_l{h;`iTPecICz0ewMB-nvh@x&X37l{?X#0-1HM;MbL1!$*`f9CXmu) z*Z2#z_Id3d-fSz?#i;oM(XT8Otdz(JI%>m#HS3F|wU4&8z_F;Lbgqb?w=3^x;EDIe zGJt*L)JhKST_iJ(N_MkM2Mc0d-26+DAXnR>$5Jx>$LB;(fWiA*a+H+8z6gpB0eD}G zRNixYIW|TNwI+7p>e9^3@Vv75Jw&vnuACCYc=1DZMQV-E62G8q4aSf4(?9BM*ffBc3VryK%sVdb2u|*#T>Ll>U zZ9AO*%(6eQ{go+!Nv|K20;IIXxi}vWbFlBT1p;eIgl27Z8q1}|zE-q{f%K*QO%gEm zsJt-FPT^g^3+~*8O0wSeT**YwNv-8J1_&jelxZ$RtBuSUOo~B*TguG6gIr^BgVa>*pIt zHtI5&L{PCi1r&Vgpqh*mMayQcjagqk4`8n5paW0jrCMYCp8w!Jb-@Lt7_6NM(7BK! z=e>}Hiw|l6Q~P;ZY#gDXcHvskEY~dUPyPYT+P`CW2SD!r^o_ooo~{{+FQ(8EQTRGG zW(JmM3IU3^!qzj4NSkG+%~>&3Kx~i=p}Q~{eUBlTH)#KpvxVyD(T4%{RCk{h?vi9) z!m9q4*gnYyasF4JV|uUnWaBYAFj#NWFzIx4C{{W(ohB`VxpW+u?A--dg$08SSL5)W%e(ClMRE2W4+564Va|gl-#| z-em0lOb`_lbUtHOL0NahyZcDHf9fcBmOqD@{6~|P|BoHe-|79R{*`<-r)$azC7ri| z2Nb-2XNuuh#!$tK44^;LKJU28 zX?Bv-S8J+izas5^4NdKx=N8vmSnYXM&P_EVwOl!Px@0}%4B3=RE~zi39EJu*kweNR zVkQiMX0YSm!Sytu1JR26>G<_I!rU&qzCg1@twu zj7C;jgTSCg>HWT_Ch~{oz5?)85{hOh4c^-9Rl58|M8VAN=83V){RO-#JvklX{ub1a zT2L$sPJ*zv_fHZ0k0He8vrn7_7sbn*TwkiH{^>h=Ew916voIYb407m@AZ0LGw-K{* zen$KPKv_z5=mkJM-0h0}TsGW=AJ9UN8?B01T1Arefz_*7F9!QS)<)+DSW-Cg7PUQP zaJZQW=HX&A3U0qz-AjIkf6(~6KJn(f?DtE@=7n2Z?Qm&4g2}(U6WGYxqThi?e!LbP z*&|dVSnOo=zNNL(TS^LJGRqTU$&){`xh~CxajAm8?=8}sChVZo&n7KSNm_f^jmAy7 z;ar}5N?5%~tyxcKd`aw}K>7ANMUyzY5u-5f@dnQW^>W60f+g3f03^iU^G99p;Y@$i zCP-?vS4H@)73(N2c#(a;Szv}L@fApt39HP{mpq}Hecq_H3)mbNw zQ0(jQzNA3*%ml6v`>_&zj1?k@`H5sE6V{%->;z-SrDF{F1&6^@kS1|;?mkt0*?^AP zGO3R*?-MFx>gQAJIH^hRKcLEsfL(kWuV#Zv9R@B(c&%uwLsjn+DpZMwHJ5mxzw&!d zjFq94s8exai75+w;@#~ewg0UNT(@Jbuy@E1ul!steLZQE={$5FcGMfG>JmccL zzRP8Kk$Er>m+E`26#@X`wyc5^2u2&WglDrfWt35gl9U@gP|fPcn&99euWkxmuqP16 zuAtGFjH$6?_$e2sf;Y{DnSt|pv}aZB(~0gus`1w}ay~JI7@S+`q=t}1B90nUKi`>K z^7oN>*<0V?QvieHdQR;#L;7Q}r1$uWwb!y$;*;LneYhXPx_1`}HF0M~WET3(mS^7k zJ4%FHhP++4GJU>#3k3$&Mc544UYI!o@4XDyl$AG;?c8T9O zgzz#xFt1PzC^{LZrym`8zT5)8G(rN5TI=KMzlNqCux2eqvCqG@vSG-J_?q#Mo$F!* za;^i^RskU8sDmTc%Kqc*o^$e2Im6%HuJW47PZgLkSD4G`XVy>KRdIHAYw91x-T_j| zQr4GVf$IRG(7uoq29@`qyM&M1B(ATPPH>=<}u*Q(=MRbUdcBXi=vQGf6agx zag0`ZxJg#aI{3{-D>XfhtO~5)Nz9LFN5Xe{Pj}l-KO(C33h8EJX2!4E_EAw@?!}rH zFNPca>jm6~69B#`d*XbPGb591NgKLa{&_9k*l#*^Ag(h85HC^o$IGe8KJrCHQ9WAz zrFYR=U|m?3pRu&B04R7-My-i^)rHu2TU3QVMOjEokBg;@Sn)!A?UOQU@j^b*q{Q?s z@4^z&J#BKkB}vk-&_O(m1paqOUH=TpWW+$3S~4zgA13g1!3*pzPM^2x-!w$xgfo7r zk}fB?zT7iJ?2x@J#9DiQ&5l2Jy)+xzT^Ex&rN!_o2Nqf$N{KX<*hBVfDhgE$UrqTK z#^2P?lmc8R6l!30QBit)q5ZbUh@NRMt33{)GOEJXXdd=ySfHBB3pxuGon7d=12>9sHv99A@yFd%`{Zp1-+h-_nfh(VU);HS3MDSYPe`G?*0B)obtb-SJImh1r}|F-gZE2V6{ z4-s#WXs6!~FhU)xwXz(NQg zcxvT;7OUI6yk7R1%(|Kf?yqKAGyn`M@~5IUXb_8**rPl|DowB7^>=)D2>ucNOy>E=}x7QQjqTE(%s$Nb!mi4cXxMp zcXu~}5A=KgV4r-pL0yiTsl3JcVHjRFy=9i;No*8_=oxb>U zl~c{2fCF+f%620+i@OxDjhXPHKVj{LmP_eZA_oPCfHz9K(%(DN$^(|mQ0jdHB1!2R zhJP-O5!738q-^u78z^GW;f>SOD>46WvWZChk(EhHt6!rr4|1smKT-E8GcmA4%X zouWF5F)+11ueL{;(I1QbsQ6run(a?bdwCAzRB}&#Vlnfyc$oIR$&e*@k)VF7QEmT~ zWHrOC&35J65(W5@3nZZc7n4lcDv3Lbv;gEg3=xP1?MAm)PP&Bq501ysi7NcFzwNXJB8)RaI8FerLl`ka+gGgYC2mkO5CTtMQlUg zz0H*UzC+kIU;HmW(4v<7itXEkRyq^nU7+KuOdkVzRiCNHZ}F)}bl!qcAECT?q!%8S zuVA4dQbX2+X=K&AyBfPUV_<;(w`seb8Izi!r+StCE1LgRHFHdmp{i7P)}kU0PmCiC ze{v1|mxN}_LdhM-1@U%RTe^t#;3Em%Wyt%7LvzMZ(9`U=$%uxk^}Qak;cSq)NUn29 z^u=!$lxvzkJ9UBn8;tu|uPh);rf@@CGR*8l+8w~Wl zTnf^U#piW%oXA}QhFT>eT(R6wb}LiwsHu|g4by-bX_7g$a1uu5$rYvwawa7w60HvG zOs-+o!5C*dEOZzzBT50cw1LR(b6w?w%TcOwS6mr-u^#1y(4$yePmAb$Sk~sw zSHqUJ>KJh;%mJQUXShElEi=gd)3=I{=qJvHg94o|WwnjG1In%m9tV@EpM~>R5>J0* zPm4^7TuIMt=g__3=vDuU(;B)Q1u~l?eF=$2l0v?TrD`n$P60g`=XGOukP%{Oqg~Z^ zuwF$^|1>CAltV`AdWW}X96`fU@Tz+}`aWMT4ahrb+2^_`A$FkDwlg~gTd#4j%N^c4 z2p5-%53okOOz~;j^K-Lv6l`08?(WKK`4-?5N?7`16y+i83^$&ollt&zcrlj_^#Toj2IMl()($e&l%$@IA5ms;D-%U4J{n208t z%V*8xN?(^3YpaO{#4Jz&z7!oS6_2_x)p?;+fM@k)F-t zu~v;YO&pHoO7~kb?gk?4V?HHo{w~(ul28J?{e=Gpt`wQQqCnS68h}1RBs)l*P?Mjd zQnP$S*=ekd0p!Svx=hVO?Cq57WajV6D!tb-fVYBY5(N)h0_KgoEA#I(RF{HD(hqz3 zR7VCXy5p3-YRT5ZSl*1vj;{p$2$7aXL^Re1xk@Jj|YHb$Fkf zv^RI2@r0g3+R7~dnX~EeN`9m;SS$Au zW8*P&0uKG+#MA|{`as`W?akpN{u`Pa_;6LGgMSF2Fl?-H<)CS7qz`?0#2YKbkC&S= zxIc3)vql%yx=>f=O;Z}$ zQQd|V)Kg2-|65HQgk1i4?lbG5xVCC-z}-l^jNy1?JzZ?Q^<2p2S>+#9K7f|e=KxZ1tQQ+al`-^)1d+bG&(BacMW7S@%G4-w=jUwUY=Tlr6H&Wrk zFT9X5D|@{`^{vaHrH|V~gX3Egdg{rNaKh-865Y|k4U25SJRee&vCFGX6fA`$b)mWZ zJy^D?M><~gSm0j~~(Wi>oO)$Qc6?fB}}|DM`pg5=}~I30(4W9>{wcV7|l zLEGKp@Je~KUJbxP%q?r|)DO%LEv_mT2XQxtNbC5;`Q#>FKoCG0@y)8i{nLn+EBnuD?|Mu-13O`edgg@;?;MT0C8x^f#Z zmt?=0+QhaJ4-^TKVHwmGG=8teR)GTR*qrfVtwAmoaA86{;OD(y9^8}=mOfm{Pot7j z19alt51T&8JCYUgBx+#rl7``|EG;V1S)cv-9Tw@8Jn~rc4ci1TP0ZaM zEZadHZxVW$J_izH`$U4?UsnD*bhl90EVG(;K$0O_zj{k7B>7M;09W zsQ2=~6QkBl;&9@h)R!~F!4sQl$P`ZPJnk#Je8*;of8?Qw6yr}L3cHklU&9xno6mSY zjs2F(9{p=krs)TXDt23!&2D`+y8Kb#kw&5QZDd9zsZqFS&Ls_^*l!AD>JLTPaku*2 zJM4uICpftq-ulL;!!T3J5#7ucRi&LdV%o;YD)`Z(D^Smmefq!LY5eh~y|>ih1TdZy zQ0vu9i|#=C)oopzH;~c*4@SHbL^DaP8F-%~r+tEznICO}DGmrhH1Rt+7nSeYU#tM5 zC*ys1Ion&89foGj_)uvjRdHSn=J=FI3A1<&(Ef|mZ>LB6FEIGQz1vjjw&SL^fwQdk zX`ykp$tV(7r!N654XohRS>zOX7(c|T8U)b%Ca@SjBttDa?-#U;%I#aePzXQUVQ^Sj z>ujswSs#ZRT7fLcBPo0MiI&s{T%?xXI4w}KmBL8#Oyz8!S{Cs{X(B6H zaGs?CeMd;Ot8$)nV)DKDvpeT0?*nIjZJ5wlzb#iF!!C!QzEC@xhS$1~ti`aHklUZI z5rj7r*QELzmZ`-(Sl>_K-0Sj7OT8$ps%ElGN5>N?!EnIUN-pL4hB^G)vone5_90{C zWC6INznmOiLiTPTr5(+32KG)Y-p8MO5ObmOPCf4pwv}u10$r+Ni`|}cR}X)F2dLaf zEC-76w4&FWCR`<}BC<=gJU?!5E1Kke1!fJmfZ0AVJjd~2mg;DGOh!SXg9A%$TI8}}{3>&J7+-AS2?lSp z{9Rc~b|S+`66EXsSlIT{RH#lID zyuH&`_g3*dI{(Wv(+oNBD5+u`VusQSRE~F>o9P^}4z~x&7wlx}SPk&*>;158h08Kg zjw;7_bq`q%=WozMrpf$>L|_dPqT#j~D|Fd`A?6A6!+BWJri2EQO_=1Me1AjKJ= zl5oJ{#1jG1WBQj;)Z1rRX?^%jJ zSt0Xf71+jf}>8(Yz(_5+U96hO;#O#qJ5!%b>LyHd_%-fk#@=Ae%@nxWe)lc}1nuF}Un zJIYyuYsqFIWH81?@s)hDk zz6iqfDfl)ji1~c};5&YwKB$Rx8Z01j6jl_6YB~7In3j`$uD~qbbD3ePb!At63=B^M zzd`8?Xn$#C{)hKD9yYFLju>nMEr~a|O|c#yewdM!%8G6LZc; zaGo&ycKc@HTp5XCh!`TC!1cCA?3wh+Mp+Rx9Sgp@T+!(~RHksbFFzdnG~~lj=beY> zKE!pZaBw)>PX)RAEgBFoCVY~*+fyr`HUHu`2r zbycl+$QVQyv!K&B+xq@2UAtMbW7?c_I+2rYGA&Nb$<}9_(mQ}##f8NtC!Y#KR_f^3 zxUWFa`6{2O!qK&v_2*Y4${#L+iGko!_Q#F9V^ywFo#XXEw7-}GL9^6y*R3!T$a`4cppxj0p) zt(oDuIkMWZYQ|h%olm5oEXmYDuA@yfzKFaydeO#gP~*lA6-L=$U&1sZI5yz}l)b># zkJiN23?VarFfmk*t*)u4fmOX4Xk=AsTCvBO_JEIOL5y5D5L(`EFNx02&-zwo-|V`0 z5lm=#ybLv@DhL^YVT<*juUFnR7iT|OAA~!@MT0}q-p8vOB5JT-da?jap zo}-*@1#oD~sfl}+^d%F19;Vp|n`SlzUk1$&Xj>rPKM4OOQ=~A%!@kF-;i%12H~GM=u6s-Z*4zu>R-NJ${PpDze#Ph zN&STa=1gE@4k9HwNUr2|x?=A(QJRybO{1v$T3BwBwFbe?pQfE6FL8``J}4e2nRG{D zMyg9UVehBns%Brta&Lqqh3?DH{E+fx?FHcv6fD>Dwok@qx<2n(KzzRPwl!5=FKQ>( zlV4(J*5|e*zs}5c3No1u8ICAPyE+DWT#-1TH?_y!hG7cSn+L>`mN~$S<9@c1Q+UZz zwL`wFr(f+1Ts9sv&|FasbPR1VtmCPKw6*>-@mq<}#m)u$&2|5q4)RF*JQfAXA|fhj zih^l?%}QjRJol&wGp1SdJg5-R0)_{$fgGSe|A}{e`tV2LuxdiqMAS^=aqd0>u?emM zt3Y%%NLOCQ1!Ff|{7x2J*Ju|nPMkBoYsq9pRU7nbAeYk5dH{M4u(*AG;82N zz{^v`%Z-`9a1i|*buV5?T1#)lZwloe-~op90f+mHyktPD2^pw;JlZo`WsnY5-Sv|v z0b}bh7EFSs8RXy#V&IOY=2;AAB?)H`}TOqm$GMSJ(j*9b_Jel!iHC$$KHmWMjj#F-I zqC^vA;F{5(VV}~iu3YoESvGp~t8nRvHFHAjC1>)}~w zd}M|Tw!>WNqMCFM@Q)O`Vz$;%p`+~DcjCIH2x7A_y92<;yWO9 zqHMrGO*!m|Qi&yoezDzVD2BF2Kc(PzpJ8g59>Gqtx(gvJ-=$`XsTtu_fO;Z~eOh0)E+C{8w{u64LvPP%jml9^P{q;t&w3cvA%1Cg z_WtR>AGeT0DIdOJPdl)>wZp0?jdMd=)gyDNGQ?QMJz(n6wsWO;3jMZQO<6#-#eXy$dk(Pl1%BS=^|zZ zjFTg9?dAQDXHJhoCUiUj7UUL*OOt3I=I^Lhlzwfj?m=eiJBcku-M&I8W%mq#5q57V zeRnw`9!q6E+Mmp8pi{nGVt_(OIU3~3PGylgV{+~nP#Y_P)>K7P6{eAV0pBUKDWX^V zL_R!qO9!vJ^}zf124X!!{c~BL2=}CREumO+ZBtcD4|qzGT0ldc#C)H&>?MAHhsd|u zLN6L&mt@|HarcrOluHMwN*$8%34TmPTjSL0P0*lX2hOH%RxSk`9Fon3o0OIL+WqOr z!KxE0>e$x*#v7bm7~OF#c-eh%U340-BtUO77|x9Nbqsyc6ATIr{Q(!bqAY3r>9L@f zbqo&qAmh`kz{fk6e_#QFoOj}aT3HfFxkPjM=2ix@+)Y0Rhw;QjAJ9L&-y$oNAVmew zGlZeL7j=(mNn(O}tf6AVOWy^N_g!F%$r{)^5Fz));RBMJ=mTwC}DY=OqS%MHXx zimN8}iGh*l?+2)T00GNb*(;A`X<=io;5%r=bk3>Zk-sJHe>Mb;h=QXqO>6`OCVwHq z+kJR)*=lDB6=3J5YLz z-9GghKah5|Vsz(K#3QaUy1(5{n9@G~D2^?%BpP*7zGr*!*ms}fKlZ`uO-g0Xl>F_J zt0*Js7e8u+8u9Wpe0Ulg9rf{upVqgCn$wyi)dDr@oD7@QtFuiG5obf;s@Z7z4}9y9 z)rq(;O0Li~C$6j&Q8Psy+G#Z~KHuhjqR1W@B{tih;(4k^eu$2aRUaev>_@%~FTV%V zRe9zw2hzJ=e|UR0v4Svf$`K!fskO|djz}fnjge_@wxwg5=#8#Ws_2740(BZuS291m zOM`cn7TNBG0*p!S33*EEd(C4I+cai`KsAO8pPsOyEb}32gm)WYd2E6X(lK1{vU-Ra zDg{K^D%r^*e}i6lO~AP{O)%Ne8n-jDqC_+P=>>ntc$_iw#M;!~J|5#gxIw+YuJ!ED zm2nB#<2a?+XwE|2LVA$JSpO1#7-g25yy&9~SDF8?S?PlI<^X0-I4mfkw2#@J8~3xg zd+(}I@;O|S_Yfjtb$LQnRRh)Gav_PH-$=6D2y%K{@5?mBPV6wd?nZz6^}7cr!wsQx zF4ZlOtRm|3WtqL1LAntSa#j|>$VL6bU_POvvbU_7_P?x}>PK3)^;A+MFImwQ%Z&K5 z<83-18y!R_g`81OikMP8ET>cNvq9iHhyAz}T{+)WO3X}f^+gWWDhEatXp*F{N%Z2! zw-8cUQZ?m`HKMKyV!QDgfh|?4Bk8C}wao^A$-lUq`&|q3&t8$b$(To=iYBg8Fr*3A zJDwfC7bqAK>uHt9gMT~GKQ`H;i0<=LS+VsZf@&l8 z+<9$gA?G>K-9*uESyOaGuaKQT7o(ZVBQX**z8M`Ig;{7m`v4?wqM!&NjaGKCh;k z70o5#WB-vjl%V{lh9e{}?(K|4e}CqqoBb!bKZi=Vx(389C3WDig@rb&rEVc8Lzbxd zwq?hCjtZez)gT64i|riIfr$R)AZZmL2jhin8{U2AE$+Z@7BLXyoW z8SC_=r~nsMYGC(dR_Ohk^%4CgYCU^i0M{>5=RpF;I_8_Q={;TMP@ar4gm^A!Nk<#X zT&^a?EjyF#RNjoaF1j&l&O7h91z^9;q{Z7o|AXkVa_jq9^7rQ>v2l3@RDPPg!yN36 zqgx&An;g)g#64gDxa1^Zo|5%l{t>fa5?ZZC@D;y@>Wdx$0E+N|pxK zh(~Xh=R^0%oInrs9cX`RLuG5p6Oby=ul&=@A2MD`UrV<4!DX57JZwAG1o<^?g#QPK zHs5o1s)Y}NXe+<*CNR7INVxEm3hyWTcF_7VZ|Y92d{A^djtn9~*@>{ICxY2&@B9^v znq52Cu3n~Ar_%kU9uo?C10g)5o2!AFgC4ev<^HeLTr?6qFRjU79Y9Yx7DF&fCz z+7my|XX>*H7ULMT!a?oyROA1|Tr+qlh{R~98;6IZ=%(NkKdWf=Eob=Gj%>J+8f1-H)i`Eb6T`nY&MIMl+@INONcyas581*9lyk|^&s8CDa@n=^>^^ob z)S0m*zk;6-kaLSMchJ4*a@v1oLL~|BX7xrD6El;h2^2y~omp zYI`wgjM%y%cUuy`c04+|9|&z>AvfPbQ>qo(-1XbVFMJ& zABk`!*gh|RU#U|@BuO;3qG3NjlzAd`g_;Z6X_!}5ES{ibveLEuksQ8&Qu2dyUOrrZ zk1q+Kuj$xTebJO!0x6XjZ7<4l;DclP40SsQ~7>9g{Dj^Ke@(=Kq)RBJ{@wRD0>pEYNT?lRHv^4Y>9PsUfpV&8@yzV<)$fmw87}M znQWxGA#uAEeQ^SMKj1-MEd0zvvJ7Ru8g5E*mO@AkX3#Vh(C;WS#7ngHC=!aL`L;V( z+us@|KD9tt;WZL4^l=B^fq&IWmf8cOe#QbmSn1xst_fg{spnuk=ezXe3_5O-55}c# zD&gosxpAl~wy*4G6mAn*yV%Bb&l^vAX4-QOAL@mu>ua$MFs{UO*qc;dK=&mEK2{l+ zxZ|B1PO-n)H1WR@MS=NjP|(7p)K`|7<=Yi*xF}v_On}j9z49+ATWzUA$gYZ2zL<^* zngAT~QD@buG6Tbm2`JI7j^HCc1(5CJhmVG)3ZM4-abcmcH5q=tU_;!05Ll!44unS1 zBFjEp-@yJOowe2a3=%3cpsNmE%Z(lj_FxF@R84r~)X+P|I^TpD)z$WXYwK(AP{qj|MEk__ zvqLwDZ8M9rLJ1nN#S+V_6r~LQdpkGd?mzYeevkOe(N-+F2X&{B!&~h>wF&k&lP@NI zRAY`xu<0`*hJDq>$Z8BAtPQ@?v4KUtx6Fh3U*_SjZ$H~Mb@V9w5Z==IwQQat;E{Pk z+0?;4w*h(+sfNS(EYdC`=W8LU)Sjq{V};hm`+k^>ddqN8vUm?QQ)9&apNe>jn42F~ z5@IB)aSBw1I+aL&r;xYL0mjb~?}naS-$7ZP9Y}Rd2X(y8G&*nFP8&pauk{Hl!^EV?`!6Dd*7`_Z|fa%5G+TiG2T3j`+}!FD9bgXcecTYii?%A z^3GPi`!kvBq4ch$Q>Jh%ioH5&L$kJoy-^fAly7FZ$rXN99(CDpe<-SATO_=x63+xEc zOVQhY@0_EUu3Ubt#t?L|O62&!n-Di-mYhjYWf!rnPS@y)R*_t&c6OMfK8W<&VW+?4 zRo?CFRX33o^L47tB@4T7hG{(5L$99|V$VJDVseSE$NP*DvzgeOrnoYW)fR=S59c_Z z87}cAKc8;JO&<|>{K}}}UIZQPN*p@irk6|{u&UhEuiQO3HWaV~XG{g1VotTT`rFV% z_^e*)jskBjQFIXl>44`fYtR&Hk=9NQoET1^!BX)_q7|+t2c+Y(@l+h1Zug*ZKqy$t za87HyK|v~RrkjC(Q1pE^6XIv)|4b*M$*4qVk9xd{ITr`i3h=Sm@c@#zzkG(-7r z=51(=&VP2sald+P)Bg3!%tT04Zr$CX88N(H0bA-i=D@v@U=DhX;u+aj?x#H z%auvv4RWZxlle199xfD|h_1+j(YBF`p5|#qsCD5*NUycpI#x99@M5Y->lvmew%#aP znEGM?jn3)aQ&UFgr4WB4o2>b#a9`@WA#3T;eYAb$8n0G#ueAq&EHwRm>YVfHb)l*t54)mj17a4NlJsV*zgMJ!xwoASe(xBgxg#Xy3b`2l(CS#4%;LRD?{zOcGIl=N94Ze z8EDt?L6vYv#O81VJoZ!v_9b7}-MlSf;efIVg6Jb*{Bz;q{KqC(=d}(nue3;qY&N~W zb3k5pQg0=`8?tVK@c|FF+x(0ilv87ZO0{|{`BDRCNf{v=K?|_#bJ$~b;a;5z53y9A z%g$}Qw+&EUwWHo(4NN>!YF(ae-bqnspg~I$=YmVsv*Ho)Ds!GWTBcG14Kx$qao%t! z9)3XQe%04hVozRq!24X&(}rWbbDArluY~6{u6r&PZ7G;!#w{qGlK#MPn85S2VM>JyUc1Kx#)%X?1}Li3)Q0L2&H-&3kh0qkqPSlz74{E zkVI%@E#k2CWlV)NF2C#xx4mk~sihMQH#%BqLc4@Q5X>bn3iYampl&e0 ze)ucXhq(t^?{Xq=pLt_ygz=z)o19TQ_6c%_q4T)Pz7r;vGrLm7N7s6AUpPUFn7FI!9|F%t?aSKLYrv_7=Mzrx~xZ89T7VC`FU&7W*ZS~&iK zkW`pzcl<#N0Q76l{2$quAu&)$2!<-t;6O?21^eKG_(*zGhqlWh@}evRy%Et)!VT`n z^%#5l^c*cOp3t-z;C>?8r&8CG5b(j`J4zJJ0u)+mFrPOKeUN>yt=$?usXm_0Jpl52 zM>oNgfAZyvx2q+n<`!mRVThb$zrvOXD(#kJ65u~|zxQsQ8!8$2A!bqZPg9HtxniQPHT zI=ju8HLAmzb&&1q63{bt$bG4_&tU+Z$X0iFDz(jn2^UQKXqpj;nsp{V{elwX%#Qc? z+Q67}{7{hI1LuOe z^M0fB%O$8xyzS4nzVJM3Sr37`NiNv4n-Vp-x#0!Qz@aTnfg9=uc0ZyyQ2T1Oj3H+ zXv0I_zeLyGpwBf72|EWh8kaK{VWQzGASxdVOW$?eXgJ$S$M2GtQKr)gAAL<$Q*AyVPIi}ONdsP zYdzrI{6Hi)D^{5V!9XR25+{-u>Tf3?H?&jYPEKc8K~MR00XP8nQ=>S(_o>NjE+Z~{ zIz28f1C|h0BfCT2Xe89ZOFWHGy*TBjbHU@O{2nNnPy_pR2mfJkv6NFn47Ea{YV}j! z%i$Q=xPGj_avH^lu?q%3j=8CXD%~@AO5b@a+AgZDH=u*COW>Emb7&xyqx{9_4-m!p zR6B}{v3x09rCJRD!eR45a}7(-Rrv;id^mJsB&Isx=KxULHYC?V?Jz1z_p?vYq$T${ z?=Q~J@Sa1Bs+D_Vd@fZ7noa)ugZk^0c(b{pc7(tXp?nda3s=9}YE=bs;)*1Kj@rY+ zX`R5(n1?oBO$%B43z&1o{yU`phP>xMeHYPXq1T*?9V=ze>W%*RXmtrcmOi=1hwjPP z;u15LtJ33v>-Q!g$o%&Wyb#6L>0G53LAwu8r(FG#XlNC*4bj@EH*&4my+TW_^d3JJ zal@+Jx%%wnQ5%e(b|?CnU#8s5rXx8g3z|**@QZ`I(=Z0$cG^shB@=YtNGjlI2 zVcedAgr|C2ox|xQrj&ZPSim&w%ReiW2)ET|Dd7{rCpHFRx^?UutL6AE0teIgXpfU& z-oSFvDtHB%@Hwsa`?#bZV_?smVodrSnu>Ur07d8hcbN~UMmADaxtUoR#>sD!b^j@f zWaNKPDd`L7JqGvEZ#6N-mQHp(!+v&3e$U8a6^XOA&yx=7-QjtY-$GD%#@IU&HDnoHiKF&Sl1_1#$Ekk_R!Lz%r2YoVxN7&q?rKbAB~bANyvr zt!RQYDXPeU%o^(}D`Bbwj`W+wq-LDz7_ng;wKf3KcML^wQZDLGxgahq;+DrVH*sd( z5KR(0gK4Fy8jJzpFV7HO%l6UpVvdV?lffT#McwMod! z|5Tu%FKwWbLudT-4!9O_;3^oJht(E%EAzCdAQ)du{Gs@4`%`zN!HN#Fjpp!@2q%mF zsI2eFY|QA|;qIgNV+ouDQ)n^CEp4)$ZSL56%6GpQ*e&;hX@4GN4uHE&5I4T3Gz`>C z_M)Uf+?!ET$acyFQ03_i*aQdhe9+@{Mul)oeDZ*SYo-3My0zQzy1q=u+&;Zl&7pqM z5Uel|DwwAp9Ef4qXC9)zb49Ajw5M4QfIRw_B%reb%G6--bmBb+*y|>06d5J&u>6zTF zt*Lqi0`Y-ui9ikGnBA{wPWKH9l5gk+!@siss^{p6H?;MT$6c+~;e{Izk-Bh2&Zmo| znR*d)dC#{>q`aQBD^xcjB|CBSPWgfi{)~XyDO3uXht(GqaQQ0;DpKsVkgZl*zzvEo zIhxTEu(*5ncoi}i?}QAVGSXR;G6Yhv^nEJ%xu`EMw*W73{TVpUPG708uQW;3(t%Mx zNCD)cUp(I5L8@?Ya`?3-ScRSzi_tjoL%pEre!@$@@=uXar72GHQBS{YL9et%BGLr3 zan8p3L@`+^zQI$9leT4}=}(U3eEk|h%3Sto?t=K&RWy3psZiSUZ5|=A!`>SSru=qQzO|RkF_EgO{KaMWnAVA z(B#T8qc<@{A7qV7w&}hfr|G67kwg#cn(-=F@-QQqbJ)fFgN)VEofa~gAhIDlsJ z#i>iz=;E|$21GxeFH=^TXZXJV@mn}t})4@R^N_qYih6A3XFT{zsW6yk2i#x7f0`YVh48o zngFoZAFr((9aVfEV`8@UMe?5&&I=-ww}tCJ8fqzCJ62-2$faL?0VY;kW+HhdbaH`$ zb2cqBnhR^x(=iX9;0Eo};MMMLM}ZCboJQ;ng{c^Xz`;{Z36G z28GRidOvThRW;6(x-MOHWr5 zB_n8#U6}R$zDKFrHzZ2M{G^X@QklxOsoha|ZE^l!=RY5LJs{J@wSc-Vzbv3(xTvLAbMWApmrabysYOcQDVdf`NN(dQjA~SjaO9OV z2PQ<=%VBgXYOG$w|4GwTz;=pPz_6|b(Z2+!J|YT4ITQOe!aF_p$wzm4SOawBLA$X` z5VHbRqse)BPWj_{v`@tDYw@xC>fNWS&nriTs?h>MhB6+o9;@~d^k;MRSXSGb^eGU1 z?p_UaHyVaiYj>E@39gU4w@B?-cKn-y;{-7pxAoMqz14_NL{#;J?m3) zIfq*nj1|dO;uW9JIXLA7&2HEl(cf(Dt<*)?dTP^<^Xz)%FIU04ciT^%pohe@X&OdK zOante))Jgw2h*EX4)8Lqj@?h>Fj$vc;e6mwBDFd@dAfK`*roXB>9kaL}4s(`0m0!0WA?B8mN;$Z#&};$by0Yvlo6 zj$0^c1qaBaz)n8aQ%@>%a0wIsB)U)Y2!c~lOZgM=%9+iS#r#Jl#G_uW?Z-M8m#1vO zD>gkI7;HaCMR}y;sHke$T2hJZ3Bj$SxkB$fQ65HYQTAL=%5uXp^(JsY`nt@98q`vZ zyqQ`~13DC+4{MmFnyvLEz%nc87F*mkZWH5d*0{yQ3m>?(a>|ojeM*?IrOazyo=)$~ zaR%%QQD5)UG)E^xL%>V5nBAQO4TCxq63a#dtLC1BH%k}$2uXlbM zs$Log!C7IKyM`&dJIVdJAXgS6=5>h%Q^Tvu*fRN}g|+lSs7t4dBl1$8^|UJzNni9z z6HM9QxtWH%YPX|4U5D9&(|z}4m$6a?d`(GYo6d;(^R&b!apNMb9AVVJRipNLMQ*n3 z*qlg!?4^H%(pzLz`X{z782o44R(I8&l0jSer=I!_9!EEU<}v=Cgo&0Ljpf+Tj=%{9 zz&AP~oX7ZBs{}i2Rcsc{CJH9YhokRS5i=&p!!C-z>#FMVnw1Oj=-dF$5#zZ@3Xnh~ z0M_QgK~_1*mXOpirJzRmn;P_@^*Hdcl%7w-zTGM{YWNl3BH$-P<0LaBEKPOH8X;n> z4dc`>L?;fpbVKZRh0$zTom$_!PJ~FB5A&pNjjt)76pp!5yGMdZRr029LJK@phl10h z@z2f1XJdFhgINHk-h|jY^1g{_=dQf8Ln_JL)5gG=wFV=&_d`&=ed!t^``6`~H2h8eB&WI4$z-p6;)BsBs083K(*eD31Bw^|o|r8CdzDuK zurZu5>HVUM?aFLRqW0!QWDs)=k-^E{zGQ`MB>K8O1sndHn5395F*n5%eH|wiZ#Yuf zkS}45uRm@20`y@gGPA<$|qer2uH6Cbs$d`ok1z<)eopZ*!y)NH@O`^C#KSy`O z-#qc)xhzz%$$@NF3$A2VfS_X2EkF2#lbRWg071KLvnw-M&<3RXEKlepbrK-4;KEUo z6)%b>`K>?r7j#YTy}7|9AZf80X>wyV#4;>aV8$|EtWU_3tuswW$_!7^-xQUhRWAHjS){b>)*)O zZPds+Bib$VI-|;@sA+)~SUoC^l~&N@SC#vAS-L(*o_{)b!(MrYv*!3B0z| zH)=5xR`aX3#-l6LFU3z|ScEKz#0WcUol_m&OWPi`i;FY38XgcxSfqT&BOQ09xTQ>) zL526{*6Px#m-KzEDjyrer5Qc#LX2p)W4(!*u9^MRoV5iD#&GRds1FqP z&>?H*a%{UIcCe!(m2zwYUY7)4x#7WMC%UhuGt*voE4-E7|FL<~8ad3PPZiuC!;uvU zXC01BPH4?h!hGZQ1FGEHaW*R%p>|5F05mpQn=O#I9 zRrc2mL!>E=={6li$BkEmx>MA0%*a!_`q>H6=;9T!O>vy3j&psupi&*6bDKZS@rig% zebzF-W|ZInCKwNtGKVIsuEuWY8|BFxi8a?aWE?WuUPRVi@j zKVH^+h@G|e-lU(0bm1%%(e*;L+JI?L+n3|$0xpf{@CY=*6@#_QX^oFLJBrmf98EgA z_CxBG;n`s-W4oZb6FJi#hq@;;Iy&o^BK=(qe7=ecdR?mbci1M_dQCc2wMJc+Pn86jgV>VR7D#XiEefv)W4GcT|Oo6Q1H@ zoijwB$;gXDZi!1O#Qzv7-cWH^f!ECr5=M4M~Fi)_T9mDh;Kj>tqINUe38%$mT1$laK=tJ5L4Xxi<4 zxmVXHjjzF*qffWvW0lJoGXN-xT+zA1S6uoLCf9h;c@e*LKVbiTVx=e)rjY68>aQK# zN%Fhi<0#8?mzTrz@K21m)EU~)6;4yq5V`z5d^9e%8pYNoW{xq-jT4H$PHE}wA#9~S zWPK_zAt2=(*TB6WHtVcSUdUv_&$|qK4{ICDfj?FV%MLJg3Pb*JfZg*@&&+s$r)ofW z@WNEcpNxVgEmv75plcbPS|z8WskaCO8W)Co9LPId+C_ZuBrc| z{fa%!bT(5L7eXa>9s}n}o`=nOs<4#i_ zgFWXnh-*oXxZ20^@p;}@AO96S8Mzn8t9`Dn7pb&!wf?ykpDy_C?l^O=bhNP&!oK&LDc3%g$P^8U@5O_D?R7ByAs&6*IYRqt4@WGxGRlYQ{9XRWep6aeOw%^5z2yoNR2#{rY6F$nI z{|nTVVWbFPplw+wn@Jy&1?|p54ZH{8uq}g0pT#+kS!C8G4ElNMsr5>u`$Z8eySB&QcV_nuam2c{-R)B{7|}NvY!vBTdxsu1zXJ8iS%wyE@!I1(;DE-Sua$KPgxI{oo-}nQRYKOWysGhq3GeMggJeWEH-o&lYJDjPK{c899 zh`=0b(h^(MrzdVXY>vE>$*?I1-Zw$AIvr0Wyv;kP2ZY=qf%BINM0mhU^G{oIz|sbT zHMe+s9>&xCIU?D!{&$jl>8VDZ;wr2Su!I{K595$TW5kj0s=Ofjj`7jhV^&LqEU{7E z%JaA@y}&rP9Q4MpYa!>q(Q#Vz?MjS_wh(4nc!j=e?wXhVkEW|&i1K^7AOa#OC`gxp zv~;(0cXuvJH>`wGN_Tg6F5TTB-6gdwOD{<23;zD^H`sf3o-=3Wo;kBASTD7~&Ww?E zIkR^ZwdivcnYmsp=oob0PF~4%t zc8%g~b(GpJ;mls-KbUQu#i$2T3KzI&*Rofd$}Es<6M|sJpDFW-=s>Y2k(HhV06xM0 zfRXj*h`zv-aj?KXbi*$=gy;7=i?DkJbI9N~4x7jd8l(fk%RC1}1shp87uy<#x~Ldq7C4aIl!I}jzi;>$Zww}e zV>%LzY$1WL{MeIm4h(Mx%d&SKqfVbD29yKJDC)8&V?BYlek9>*NtxCV~DF3o>=od8rH!8I?sBjc*YK}hqv8_GBH(vLRx=c~6 zD4>}UoQmA*aXdfHjdW9-fyOqubXlIxP8IVs=scla zcgI4$>j4nL7i?w&be6_yGTb6~p)-$p&wRVT`*?eyck+pk7)((&I=S)onJTP57{~f zn#EG!cg@O_;Yft+*4muL<6BuIKwt>A)yq z_IU5vD;SH`skL^rF+k@yleRbz^X_Mon|0g|#a=|xgeg9C^KrV8mZTs8)s9&AU>&C67X4XgVtWD!ITKqeNx0OsW(oAH6 zxs-}y>8(O(v5=C0uhOu`^f)qa|J}C&mb~woBU)^RWh8!0qoNrs-6)>B&9yJRw6qIs zlHwQ|yndeG|DSKmRGgr<=J|M5?YNdOF77ZVcuyjeDhgpWz5XhejWFkDyX)mEI)$kB z`O>`>)W+{Zh1$63mYQvSZMYhi_;8{yuJmCljux-^W?IB1$#dy1bQP>;iH_^*61Hj@ zzX2kBfIj!?O6I2sw+lFF@`5ta+5kjtPVc-05;Ev$;-el_)!$d>#34y(qO?LU2J5)$ zW3DuDh$1RXva)Pmf=mR2lI$H0J?$dz0zP?maj+=MwQLB8Lff96rv5+oSI3D_f<6=& zXi#^PZIWZu>&GG zsOhFZo~YZ@aKM8?UJl|Zcfo6?ug{kYA~2I?$gW3{B*n}Fr(*^Li96n;ik((a`BvSz zuS|RnBu&m_zK9buy0rO$`Ij5TNb_IJ{KpSFWZ3y!witFckBb9TV&%VZx(5iQO{OQx zeyLFFm+4AdZeJq~Tll?zGlwhTJ0~hBHKkaXwpsu*_P#SL6>nJLFbw?8YV(~^+rr%n zbZ4KA?pj*sNNHUSMp<0QA%ve3-STV1pBO2v_TJ6W;a_;PTF@=&V%v6eTo{qPnkXQB zQ4!hOZ>Ua-fp4z{@vW&8tCyn4)+uqEVq4USEk#ai2$|vq9Q!PWlb)=0PqU^XUfv?^ zo-F4Kkmkbw%`Vmd_hoi`9)D$eKFr`ZUH2k6izoyWI72z7tGv&_QS-+9Gs%HQ{ky9p zv3luNA`N$jEd0K1J$n5T$&=V!=JVHlD(4E8$6jgn@UsLi&p-t+YVVa+hR3_kfVv9R zP9`7j7sj^6weaKSF|V0y$XX0Cs#?8}@CWWliOr|v^$?3#!10)5Ubv~@>wsxG)VCOR z;OLBed7<#CiTKM5(L(ocrx`oJ7S`EJ2$KQ_R#rx&N(s;ybhn3pzlVE&omGhcJ+L3% z)JIjMYeW}g3XUL!pdYp&d`@!U^gphopRb-=>Lvr?=q!H+0yUyr zmXt^lW8M23LJ+CcW2+v&Cza4jP!9)z42cNI>eK8Z+Gbh}0ADw*beymdp?~Fo2~jw; zhP*_mlP%hnl)lkY#^G+$aEGfzL$2=_C;+QaR3O+khWmv9r0GG82^oFa6yXkh*m9wQ zrsy~KoGt&;pg*m%Y6Bsu1_ygsJrw&9=BYV&l#{wB6u(_3JT0k~VH;w1svo_cFq9Uq z$F`UnEi)dFj2S`sYMB&&ACW{n!1*F_!dfgGMLXnuopR-seoVC=&FEWlMnioGl7kZ2 zYf`)_8(nDuZN>9~e*O2S;TUJKNTCAa=6Lt^Qz)wo!?hFKMPh`_gI}eUEu4W*gz~C{ z{uq|zzOGz%N!78W7_A2%%QiQmr_MsZzqig8eAAHrW8vR|zYeK?j8!@5AoY5p;tfqb z$z}2bVIKI3{4+HleM3JV=JsK@Z)ci{GW+G-t2|8D`Dis-&&nlZv68JR2(P`gmL}O= zU)Zh0F>+Gzut`c-mgx6#Ow(?R6B(K!%^Y0^^q@!Tj^gzEcsG7|DB@Z)y*J@$9ZEK4 z4o#nBt{*0?&t%E_!1AdQzb1XXpVj`vr-w~g#|3OnGptQC zIkbPWG%VjYtU{F~#i#nhfYAArYvMO_>A>^@wzAg$JS90KVy}mA* z{jo+xTW(ScoG!;Xwlg9>v4N)u`Jek)cATK6l2x+LmzkGe^j3~&Hu?q_Fr?})0X9Wg z&dfTqn66v{pXY=)K}dp==7vJ&k%etBkd;CJwcv*%y4mR&HfGHq)&2hZMi~iZ zH>eL)cHJ?U*C%|rHWYxu7~~&^u;Z2V7Kaq&U{{(C@Gm#%MZM||2*yQXm zR^D=X378htCV01)zX~Jni}4m?<-5@L&m$T+Ot%)q-<{L+v(4Om`P+GenAFWOPn>h3gWt> z;87yS=9d1`GrXU=+BmW&OF2WDH+nAJ=C@CZH??RvA4mF47*Gyk!FX7Ou29?-=Ni7$ z*biNNyQb#fjrJVt*8h#UfOcP~)L|f0U5t)uu=25qr#TDCUNd)5MJ5<3;63akPOU}Z zOJsYSwIf^k_Iq`{ftv9FLp_QV`!BAk+HyCgf3x*$t2x=CRMl=^bO1hlf_|A&|6=%# zjzb1C9BKdQE}}4-bEbu@DAld#L-)Mtw1t)+%d|W#%AYqB$+aw;f(PWb8&U(3(PsB9w_k7b~6p!f)s1 z#xH(HF#8)k-a1SHva^m_xBXu82>_LaiJlR=812n-k)B*W5HQ~67;Xb!eXUquJ?V7w z;!iEXk!-9bi(~4P9!l@1Z4UQ=Y8Dk|_)qU4w^vO}9VsFHZ7u>pMsyFPvL1tQ5d!}~ zwFzB^zH)lxu3${$MX}92qngT`DAa@ckJPNTltr0C{Raz0s=l9 z^xjU1NIf!Jz`!)HPLRY6-}VQ4AwexfTDD$;r*Yyy(XyGAjWCrK38a#|#m9vi4v9tB6bzV`n>xPcKzK(sYwu_!a z7IaOWN&d)k#ow$^ZUQxPy`dC9pPHfO{MkK2mgMt-$F^j=KE5yv#o}|?RN~pHP(obW zFGlT0I$is(711XZ6$(Oz$9eh%kE`pl47CQE^rC#643*M>5B8RqcA0HGov)`vwmIL* z$=fBxM{taItqT)Z{_1yloD<2-EWNdS4%`2UTMg8`KzF`P;Y1U$r>0WuOCz&x5^qzO z0-XuVnCC;k7+%=u#CG-%ocC&zLke}H0|d5Gk@5i zYgWy#6G;i{1V0LiT;H`5g-uBG@nL%(ED(RN$C(_P$iJa(;_1Yx56d?V`q=t%NV@8RR*`xnh2KY+jl zRw{U|uFLPfBwbDEh*)djZfEODh3K%P8Lqi{cK{}!3;&T+M$nb$ZXf z>sE?Zi#|HQAY_HlIH}$v-B(|8G3U?ssY`s6g%boAsZCD@Q7e3z>DTuzYNWPF8i{qQ zge$~M>ts5s4mrK+wAV=KsxMl59HWrxu?T9S1HPv?WG+wq_F@)Zp z@V5dlEr4)+tkpzEmo!5EQZ@Ckbm@S~&q&-Mk97)nc&ogDV}f@;@O&!0VfyyhMN-J* z<0~eEAzow@W-e~&T3>#RKZ#gt1#N=!?map3h#94v2IvT zInu{t$0*YKrgL1_4F&sJLSo-Did+9j0QE*5%9q|lZ1W0ukAN8_PEDPn`X~+|UfpZ;xTJPdOCb`aiLlnH1em``L|)yr1R*i7^e7smRK~bVl&qgC7yKo)D#fOqij=|A z`fjlZ>tSV9`_zy4foX=%T#e=aMG+6UUbI*%0XVymv{65eV@5J*t{KQph}+O-Qa3ZN(zBrTT;R z`#B4p%XTeSBj#eFZH-0Cm1%_Z%jqwERA0Zct5dUoIx9Gwdy@mF9>w`+ zxEQhIn>V0{%zY)$)|P*HER?Ecod&e5sbA2H|ALM&RXma2CNs*fb7vAMUq5x9v7&*v zs?n*I8Tv25{KHmBU3d(v-`lubo@M1bEK8BLH_J<-BJE_f3e0~{ z-Gl*4rcfP=uNaeL+PdN2cF_&Ja6kU7t4>&fn6De6e=nzHPRa8ObbD2;QY7q*oT8cK zkDDYtLmmY1m^ z{K3^gwNl*NT1v24?=$#~2GBO5Elyb_nmF4+{>k{U)f$w3fR#0t-tjFvr8@JV@--hG z@!wK9yxQavF?0EG2~UIum!Sm;mjoI{o|63YTzZa27a<6rBok8nk8f(MsjteNfNt$*73yrfiH_#iksbfWV} z#Rhd0oEoINTC93@W*74aC`c+-KiO05cuK+l|J>;w2LV-%8+l9HBy4xAsRcaAj-3Nh zvEGh-RR~Lq5~@1H{cGv$%*SQs1(55?XHBXLLKUf`*Ouj=Y${J+77eLxbhf)bF?m5> z#Z}VBjxJ+AU~c~NEX!>#GLCM)GaG%gXs+~N0=6D0p4;;<)wzBfzzjG&?pk|9) z8$I5Slxp>v!1bIO6eO6qtU8td)8lmB-}tREYD#Tkc1ITQ95iG9k=)NC$Mdc1iG&1l z?CER*zVob`Lce3Zm$Rm;sih#yF-c35Ku0kQB`0zTmTYmd-T}T!depf$E*cb_+x@uc z*n(76Pg^Mmla}u(eb>Cs)I=8Pi!^`V9?&|f4QJt>)=`BxY%8F9T0JxcCk80JhL%7>#;aJa+*{@ zBKE2diO5{F{NO4?|7XkeOf#gr4zL|1i|^nTE{u7zfU?YQ%c3rNnweMx7oHu^NaSmo>>%Hycu|`392iSK(VW4SmW(jW4fv$r)~PEg*gBZqg#w+XhqmH9}0vwhxgF*=NT? z(<%$&1YWz?&$-z1zsDO0zciQX7SsDA)^RFva*$?L1)zWZLYwn$VGq|If;wvNo?eo( z|E(M_%rEw&c!(`yqLmqQ6*$;iaAmpYAfnq7p5tRwLc2}XcXhE=j!?+-@1)*ZOZ5>n z@)Z{Foz4bqPIELB367ixK#@L6SW9QEm8XkyjCd0$pPofG{Im4v`*#D6axFFXLPgfE zLfagf=9mXHa-z{&eq@=q<=b1UJ)EOuoE?jgCSHraThJ`J;L|QFjEx@BD_*vjQbnP4 z4D$`}w2e?)YnRjW?^So04l}eAU#IgP_{B+s0c#x`k}A|0taQ(=jvjkyu+ z=l|<}CK#EM8>mtfga6+P_(qN->;H8b6MT%n`7S<;!PyD(Q++s$Z9Y>T=x3E}brMW_ zCNsGANgsD_r=L~mk^g9${i9y1Ez`j6N)Wh4j*|In1(VnJ*_te?9jv9_bCH(Y*{QL5VTIYg@DT}4wuvfcrNc&6g5Z#fBf0bn3jTf^W&2iiEg zKq3e)rEwzLkUq1(Bj}Sn%w)O>#o?x7&7iG;-~cqa53rlOQVxF%dO|tB$bU~pUE+I+ zJYR{3#cQ0{c1?-d7F=N}A?330#CAg{;RjPd?>dnbZ6A{bQuBmLU^e~m(&ByNTL(#w zYXC+ijnY1e=zcGVPEk$wv-A28-I#1rm>@WT@&YR`I~3Q?tK;fvIbN;9@hI5N3Mb`@ z&O+~LZ?IZnQtIQ2Wx+I}$lX_Vi;FvrwT17#-~yV0Fr-2)d|&I`=97=<-E1aWN`iud z9{N_2yWu?XS>BVr5|ED!rX~jOQTgDtzUVMi4I%`tXIT!sczknl(4!W(t22om5*K)J zHfT7PcJHMlC29N9JbdKniB1N17?oi9F7US0BuqC|Z#WHC@`nkFD3KliYLWw*y{Mqk zWsVzm@|7fybr5X1GHNXj9B$J7v1dz>RmQ`aYYoybd8;gSEkDw)9tG{u7FR7L(=`{*BYu z-4Iw>t>=mGM0y_O{!wXRV`@UL$+R3(Vc^;4kyLmf9KP|zR*fxSzVW~w^iH##1$obp0({^N!q2dvW&YKV@@ds@^&5F5vGXKpJ7Rvyko+;&}uBV9=~eY5^3=JS>1cU^PBof`rtX=~66qd`H1)EjKWV zM`!4LyfV8t8Exgg(I78Qi=E1CR=D}J60#AY8$uD|^gvyBDAR%F%d;)ol_8A%$Oq0w zX6}Ciu$Pav|5X!IM%kuFG6mf|hBY$IB@fYKHsd~aG*-VYzskl&ef_oSFPv(8iHQ_1 zMQ?vq-l|oH2daLHJ6xb(E{62(V`$OOT(0-!_S5RcxB`pF(P~Qz4bgz^HH1O|iclW+ z1m{}}9knuAu#TnvswQ^1GGUV9mZly#VrDcPK9p+cItIj80sAAF?C&cAvosLtHCPLk zzlID28Y(WWaTEVgzWG+#P#rVU*C2EuX6nGw6b-fmAVa;jv}`?7txlCE`&wRPywZ^ydV%>!WVYHUXhLlG;-*Ns(@A)PyVANf zbLb8I@1^KWnt~N|4pM2D_GqSfyVaH|xy-XUrmw-jx+NL-*_gey(eKGEL^jb6kF@`1 za&TZO6v#jCrDusmPh2~P>BER7e?JcBX95+b6fw;mHu-GYgf9mvm!28D{vPb5i-5rX zJ_GOJ@9`sgjoYe6OlV|_*6H62&`C#JRSa?+Gcnc6-LKAOB;E978K}ruDAe-wavyqn zOk(gT)o@dEsANz+$RHCWeh)(@kS$X%3s$=VlQ7if7pRrK)MnV5K^pz~f{B6sRR>OM z+{x|D2^aeT$tByqUir<*&@l@hdMj6G8275x!zot1b7AQ7g34ZH zkg1}Xq1Q(Ch>DthIuAbLq&A*Qd>C4rZ|EIE^Mc0ZTq82Ty1>?^rSqr7PeVDI(v=nE zqN{nBW<~GX%|_F_l9~XA`#@do^NQw4PVW;=Z$?>a#q1-94 zbs+=iMo843@#PyGP+%|zJC(^u{+VdyHx%k4RAdvMFObNo zNM|&M$hXA|x><(?#lsQ9Gf^lXtYGZH#O)ro=l& z>lBX~&HFZ;N_F$MFn~Lqy3g+>vM4RgD(QtPqzKBbb|}q&g{3T!otXViTI5Y`*Hr(p zXIimES3L<9fC~9*pdo&3W6*800qL&`Rqx__rirO|ti^CFIt(3U1tf&-UtbZB5Co~< zLl24~4u*40WsWhQ_?5z>_sI9I?Mg>yk^C8$c^7;f7M2__kv#613xUiMvsi4^C$2ou z9?#2!Ir_S#nYSVP1286fa!%$>1y#OY-1aY8VtC|5!2ON2qL$X+=*8EW+G$L$la*!K za8xS&f5hQ=W@lKx7J6-{kGIB_km#xgOwl7*Vv*X-a6agMEId*@yWRnaps!SP5F6Ww zw{!lOum&4W%CG`sN60XzDu>0SY6Cp{6+_Ue_TWyan$;m1#s*1Mn}w2(LioK>0hjz- zSw@-a(AAt0NB#{L%6>o%`kN;E#6y^w;*qO`#@0F`HFJQ0r7&lDm2%sS`r#=HNa(nI zz&Z@EoUp8!;_SU!C4tjw#1cWT)m+uj_YG2V=RrLwyu8VWk;&0WHuhR0K6L{YPj4Dcbfr>%gAiJMixWgLc ze+{RDVsa;K)jO#{n2h zgy@hvX|fj_rsU>XxuCu7To$U?RAXVT5d1ywD;*)0@F4??(-T-PkEV|Ow>1#@X6vX` z*nlr6AieP}1~T&vwg)~~0&AMrair4t)uoqud1J!96b0PbY9Hb~Ejdq_9i3N$Qo+m*t635lnU=jIA|7e) zBX2@g`gtqsmj(lYwg$~4kc6s%po@h`L})Ej`YJrK*7#c=0s{7{7Z?a<7H-&3ZrXW+ z;_02%+%%_nrPMIiL>p6&XoEQJMfXW`+jrS2CxxNP`foJ|X6IF04APOXDUJOjcJhmg z^tA|hz&7SlC41ArnMr!IWTqiILV3@J>4puNadm!!Oe1wFcj|W=6NDqLl*1)y#_qzGk*2SGGCy$wvw%@66;iP^zb_ z0N?m*fxj2M-DDyhvn+;3>amJ0js4_)TehnIMI`&0uSd&JV~z*SG>y>^tuq zYu2H2uBa>Wno9Q?kIO9m3b1!cN9je~9t?7JM$s-BZGyQ+zpD4fulq_I`}|0y$NfP3 z;OnJMjzgbHnlA66!ngT#)IX|w6O4;ZRu{G-H_&?1a0?D(jz1VWmD8%qP}uRgo$jQxB}9 zQm@;Y`4Af%a&?QNc~HnhX3qr^Nwgt=s+DRK4K!B1?MIU0UhS6q+QP?ugTs|o-IY4c zeEs2Rvt#B5;=4RXV&^QbGClNqg6gsJ0}?xMGN3n2gMS5z^l zk!*^(X`#gxAR-gD?{tB{C;9j;4E#aA(z=e{!gmz-#hWrD=>w|)QwZeS!JY<~-Hz+U zrXp{`7@N=wyTrT;ec(v-5N@(evg}Mh`%!Vk!Q2VBoj&lI?Y;I&v-SuRXLfoR2O4!LQUJ8~jAh>dMe9`h(8 z(`^6yMNDILFG-bxlTy0U)nI+<=pL@Q1`{t zRIS!l{&2O}Daq9r)w76>3y*FK%h}6}skT}QH))s!cUZtX^x907VRE18Bdl`WYvs{s zumw7-^z^8PVy<}L1gwri{!D>LK!G;3&2II>?aeRjnk(T{aMCz@MY>O2Z)Wbz?koh_#yLkIo8j{+(|uTJ#D1pYz^%t~)=eKo}=`~JS^^~#jxo?V=Ji4Y(V_zV#Y zTZ5(^f=Z73*^6YQTpG9EYbg|7HtjC(~Dxm76Z>gU(C=tobm+kC(xD3&+Ycy4doju7XnQo1zIpMji_@jM{kxy$fq0Kst(PpY$BLHp zN_Q@7kJ^06#)dA5&_q0WxgDkA+V+ZT!uQIm(jZ*P%>0wQSd8rCI_RHi;n%r_v`)p1 zcD`^M-WBzv@W&Sjg1pcC^jB@BV>`buSUOw>l1 zB#tIrgG%pQ{`cY^J1AT~RPkEq8yBK377*I0_WNis<2PL?rP4Sqhev4VZ~xXPYmvQd zn#LSZibL0G!&~6laIcYkonGVq}R>i9dknbd0T>m$i$SCdJ$4(l~Pe=Q?Mm{?zT!4)79}YH-#!t zHhOY?r*}n>sTsjM`n+|?Y&odDVSl~OM=act%NRy#VOEQn3RW5Dxe&|-r^|QU8l5eq@R)*9#udk{;0ihQe&QqQVl?d%hCtqes z;QRb4y!%=Q7#`k8e$D?Hu2vW5dJSL^<=Tr_rWLr2=7wRcM~d@=?OVyS#WKW9IE}@o zS}N%J(I$UjqU9LUnE!~079Uy;NA{C=qX)?RROn-FBbfvg^hisy9iiwCjI@QlGuTs< znm1T^FDxuH-z0>=s`37z4B#LVcH(y}r)&G$cc%uwQEH1*O)C)k+kzrUGyFU0<09vs0Jz+7UAZG92R`!+L@E*e zw^*s&gPC%!oc-jRV!biIkqhw6aD$RLYJHB)THHott!j|n&q&K=EawJ)jbCe}7bNJuT_%TF;?!a%)_=cE&9(Me=W(aUm z#DTevYD~yu(vvUn^CU$@NXzf_hxM(8j%uu;Pl(CIHTFRgyDt}4z->UkERtNjL zz6Fyw9hMHLm7iXFXt6O`CE770W2r%R^wqp2_z2+R;1pB7Np2~7yva56MdCWx&_&Ex z$4daQVaI#s^`>--2}#GgPKdPLG?6)< zj0bfa8>zX9Z2FPaP(>pqTG_Ad8=cVHaBGCWWm(%K7M`}CJsKP}JC-I-#mXg3sdMEy z|CKx9n>G)Gs^=tfUD~n@9_1^B0Ae%5M13`Pj+=62Dh>CMtfuO zoWZcXc~pMFl?Yn$fo@4MTHG6zMILl($&18;^YW?WdGW90DeW57uD=T`Lp(^Eivt{0Pxe`3g1IPb>gb$$9qUu}-}UmU4yVCIZE6F4USBONbzwrk z1m3Ssu#{c_KipzAg6pk+g4&8yHh}OI2|Nfz<*+)pk-cwY-;;4w=I%vZL;3qZzoDy? z5zsq>t1a`NF#Af=rO?|4wW<(KylVn115rO1(t+!cd4b{L<7DRu+jm{GC% zvi>p2RKr~fyTYZqIRz-(P1~)Rmy~r@K|^6@ssLkifPgTq0^mW-HQO;EWk!?b2%$z{ zBgbI445j3P5)f0>rl zl+yS+9B0hMVAqQ&BwN2Je~l4*!tLo8^>vfpfs#&N!Ax5lY>XCn?L0@r;xVrMEy{yd z`hIP21r+>pg|Dn zMH2!{htOrWTzU7%Pt`kN`;q(IJ9+j+glYyFpgZRus@N}e&6!Y^ferb0RN?UX_*vxI~Vd<9U|twmueY)&q@ zd%bxC(=B&CaF}skcT!lLDy*InQ!XXa8r4{gt1t@jY#c)kM{_#CQkk^qc#C^i-f-G6 z{KO{W|MhWLwy(a}lNyd;@6mWdGtHJ5Bm?XXGBo=gRmb#UCo2WiZrPu>&WYBLQrL&> z=j-u*+y4|PW-cmae!H^30A;3$Z=5{RqEus+%<#j0K~e#-W%0|Lqgru1LeEHN9Y702 zKY@#-`y~HL`qkPT*RF)Mx?B?41>fK|?8};YR7#WeAoUyr8Y@3`tY&au0$Vll#tO4E znN9c8N(`cN?$@s~Ir(cEhlu!iZ+hJO5ap0bc0&+kc8-z4!Lfm>tjjKL436Lpf-6{zyJ;P`ip^ zpXKvXXGLE%9EsfZcN0oR8yvf1vd~Zo4eEhC_2LQT|FKwPVSau7qs9`G`dFqWfECe^ zJ6f(JdZ9EyI>Sx7aqK?Gh*j?uTLSr+CNwRN({PqDtfa4K<)=Q$oY0=cki2J^=I0gE zNW(QZUit;3MmQo?{6J8{iehrP1BAI$Q*Q47e`Lrst${kHAr$W(n6EUzYJ>gfd335;s8A3P zlo6i$EZsq~vy6D)-wvI@xLgba)kPc2b-LdiUV6onU~z5FI_N{!wF%Ax(Hgo2WYYQJ zygRn)>6<4jWc34~MOyw)<+-Aay0bEOE3GT@Sa_goVp#BK>dO@|ac& zIOnu+d^P1n>-`#rTea@r4BaOZ=g~Ayd+k9IC-ovkaBI;5RPC{ri`gFcP^=?@tMqa$ zXy5e7i15#Ms^Bh<%6_+175y>d-*+nOBUg+KUT3z{&_Kc~PixT3MAyr0^{If7!B|`R z7f+jr9w!bfJzEVwj-2b*Crg%{G(y;8jeYHT6>PR%$B~q(imKGKy(*~l!qj< zz_eCs|0u}(b=vB9x)IFh8`(N6r4x_LNi}b1ncwLO9+C|0TkDLG@cZq>@U3Fa8@ADBS~1nV5)+CnZnOBbX(u0t zc|rBdPdz;O!9S3h2n}1G;A;ic(`G2zQ~6S_ugVBTAh{S`WgL|ZQj=Xh=9!~7E45mG z<@0>*e_3mcdyXT>*TBOrY=0lTIak=Yr&G25wD)hybcf`pUJ}t|#gxYZYv%wd^@`id1$kc78~k#db+sIzzkE}0-WR?G z%`{j7OOIN8j^&d{Sa_Xfp>_FC_6~O z+CeAP8aDResxEiCUvWNL)vqhkbN(>%g&bcVozINt!A#l@o8-~(dc6Oe0)GjJ~ zCP3JNhz1}ckYzX>EyDP5^l5$2D0R!$Usf6_-_HyPaz2?DdX@f29`GCLtZvL}B;Pdc zFkXHMo!e}ZO!M|ZO(LVKf9Zf${=wM(MCjPf{XcRUQC*Y&Pyw`((P;T4k?^b!@Uv5v()h*&f%%Zkkz<)4}jB6$|N z^RN9nxIu5XU_cg-ZOM^kwfo7u%NM2Ho5>!oYv=}I`uM>FJ%e5v2Qqk9dd|e_4h-gz zEkV_tlBzeJcfPEm)!tOJ&!3MZj?}qYdL4KV4kJ2oj9MqVaLd6up1gmRKr~tm*{-Bi%$&vSsCSZ)a!L>sK8w$=~QE zy18sO$2)8%b~N;nim9Y0O8tK?z?W~_Y2i3?f>K!UB$qsS)zX*P=7+160E1)1RZapb zdS4n`aUR{=6Y-jU5}pCBd3bs&r7f*UD}v5@C>I%lPI;y6K8Jyo zr99rTY&lKVT)yaa{KQAmVnfWgaLuv3fCo7}_Z<(*LMf`*Z+=MpMpX1e>+?G6*N-QA z2~W*m723gB9t+gNKOt^ynW`rtkr?z=JqLjE;e}S8fWXGQ zd4iIB9SSOso9Zjrt;)OVaNEd7Ip{vG9AHFwxd}^8JzWJer-+j(KKRVsX+Tii-gS4?TcqA41dk=aD{O)Xe`k0wfHQ+ zo%z~XnSNV*og`#)CTbe8FM8i&!$Yv%mE)9oQTb%=X171LjC1f^5?Nod;yNP9Gc@9& zxYcJ_YshJW67mCoo_Yqz?Q#@Uv2WMcl}{%RizI$%$K{`}W;kHrVe=p+oJCwIZ5Bpp z&)@lT6+BPrK=cJRaz$K*Z*a%4>PxmwAARw5aETS``CR|_wdDIqE7i28+V2fnPcTJ1no7e4xjFLq*C$6jt|jJM9u{Md1OkQ#D2g8$l~ zULt%}PFA;SXu9{H%2BjU2`rofLkv3CH6)$gxNxy&TbX(SpoMwf^-x(T(DAAN_#UM0ZW?$|e5~9gl#gmt6lzoDJ0&Q{-&nd6p zKH!{GwIOY=r_uBA{q0!~R9|^;aX_hF52A7xBxVq}Zu7xDerb4u3)dC_`*H%hCnE+8eM5>KGmMD?5<-+b%G>QUnKn4vi%dKkZ1!hD8clA-GaH~`rqb=z{&Pg2wKK%0R|K^Q_-i|3;G%1(wn=4mvODazf2)*nb5Dc20iJ^U)&^Jwi_ zL(6y6I>EcY}N^r;Rc7KQC z?Fs&hX{O5uXZ^EP5-Swl4*K?4c+yg~N|P}w@^Mz!dT8rSLR2VS`o7(x0#CVP6Zti5 zh-aLuXLWuj|D4nNM<#%Z|B;-imteRb`sxh~OK+HPAHquj1$8$UKnDU+WZ> zjnAh-?cN++vM)$Zu^m}vf;sR^T(>gAbPy1nq@TN*pm_f`#r$CPKjzn<*a)7-Zr{`Y zBkHT;n*P53M}ray3L+&cAT8aXAQB@4q(+wr14fN*6chxMR8l%e!{`(#>1HsxHb!^; z2Jgq```bS}UTm+M=brOC&vWj*eFv%aGK@5;<4KfsC6P|$qwPI11N*D4x-n-EkBXp0 zA*+Y(g0p@d;9+sS30t+=u?eGRW3VRiRI~1aL=>D~Jh~WkKZM~hSeFgC)Edh*|598J zVe#%zwqf?*u-c7mAtz#Ut2i+l^E z(^nhb3Pbc(;c^}J45B4pk>-75(H!r5pLWk_?ag z78*tNy|+6M>9cIKYC4hwV&wF;{&(&#VyTZ~q8r-#UQt2eSgBIkTjq*IG+Cf<^q6;XYr{$3?=1%2wV4%BFI^2_y}V^W#tnm_cC;=Op)+-IZqT0?Y- z^&ZT8GS$;nf8jc1WMt%9sus%9QI*jhLWd1lHB$qJ#;E^VSh$~lp3BcDwR$R4+9!?oXo zdCQL7_@H*0n9J)d{7A?o0RWJUhc&&9GDQ+OWFrFlC+>;lyAzlWOVoMU@hSx}ZO%{B z$f%F+A}O9+cmH{U%Qt`mQzXs;zXMnnF>73^fllN96BYTlChTL?lbtQ&b0Y~i~S*8Uj;mQ zi~{zrpE~1v_+4LGHZxs&)cNl0hEqr@vR+)B^WoATdh|~WDaRF2pR*9(bn`~C&!ZoR zS_|1;w-|7m8-Dvjm?i}Qu(r*?tHjM^Tt39Sxjdf?xY>%qCXFu%UfwHGcWJnJc%H1E8 ziyO~UC4plh2}Wl7R3e`_OAuXKW}9~qXAgRXR;Soz`0LQgYj<}%$%ba3?(w3&(krfd zeig-A#XRSQ$Hx=Dt{UJ!%sTc(us~#4Jy!c`+VI@zOC$Q#@bK_sWb?_q1w?xH>+vEc zCe34esXLIj9Ix|5;CHEaKwie%&XDbn3G{hZgfHdw)V5+YH z9e8jZ(fRi`iP6jWNEjKTRSlC zOLyNICSF{Vs}u|>iPVQ$=WN2w4a;V>70T50$KB*O(J>Kg$xFpaN9Zl;<%VbXYp0gs zxIRnNZtx0k((+$OyEpE-GW*zx?Vk-wHP-k$>NI8GD{fo-QA*&#tjr;MGaz-1#!w-1RbB450$i)nq5RegH-7gYoxoNpc9Ov3BYJT z+Kjiq=8fDxheV(8^vWClsUtF3Zde~^P(2-h@NyG~^E}BXkFVr^zhYgS8U~sgWw$W| zuPJ9KEE!?m9#6Zq^Lb>BJN@E2tMgArth*pabJlivyf`PO`%a|%57AS0Zy?^!*XRdm zzjk{0xdbKq;LWbRpK;S_6~nBScl8tMqEl;+UC5V4)wZF+L8J7m4+bNgjOY%JcaTZp z$8)@|=cD`=FV(a9Ti9`vfo9pVUcXXtu^C#&H^~<@BJ3yNs&8^?&Z(>^hkf#u-)q0= z#A;%Y`L+@F$GWN#2n4>-OT2ovi8_5-h&VG)+a!o$=sbgyBAQ^M(-YbU;5CR=S^D_-D=RJJLIb;bbwGLUU8(7$;JItq|8&H0v6w z7=g2NV-9ZfMxGQ!8B?1MdDgA7cjqse6x{U{ZF1-H_4sApJmklHEf(VM5?d3Zb-V;G z*J+QdOocSBCUkj1a$^J9S|neNgNq36%#KhuLuAhqBkm^C<8xm34(Y( z!g1BqCl&Op^F_;uk0HO}74> z<9bIKt94g8F9o(NqMNb?Er}wJ6LXydLW)bWLURjYbAw~ zi|9NR)HED55ogEKFKv8{cYt@W>Ax>-Cj8kw%?#c^HR?iiRrOQP z75JLmgx6@IymS{xiyZa)xa-i3HImrQ0$MU})i(Jhk)4|f9kUYf^U^!68cF~2x!M;m zTAuCAGnFm~ApeciI+~DfW9L%kW-b+SI$SER?~KpR)iRkC`hE%gwQTg2tf~6Q;dDJM zFjS^^1VrZm0{kycDL?NiSFWG2{~Lb*8-ip)`zN`>xSH&yaYg%Aecpu!8#~ql*D2s_ z>VE7SK9)D|f8OtB#z%p;KH}Di35;g0svlh;n1EN|ld*v}+!0IO&p*419WcOgdnex5 z0R5`n^KLB(-~`XGR0e$yQ`)Pme+}5SEMR}pqCk!H8v$FdUDA1EjeK0WU*}SqS7mAB z$~zNav?T|#6ir^KZG!(-dF*ZF#YI7WNAHLp?zsu72+F2B?D55D&452r0Bt>lpLyA1 zX4_~1fPko*lor5Dsy3zF!*p|*#Onfsa^6w}U{D-NlG$6MYe`{jbkZw#;NByj|GnaV z6F>$ybaRjh_o_$XBoccn@T(5TAbN$fI=;wir~Ll#Mo75k4ym*m)6m2?k~J{!vXO8=b-ad`MZd()vx5F7rlJmHS=n=_UZA z7*;L-qG?;QAX$GQ61VQxEgkW@r)8*d#2B;8g{qQ2_f)B;ePKdu_KUuW4fcq2zG-mh zB|oD6vjFz>?FTnwnf!XYN?%GLk=RNC)Ib1b7Ls(W-Xueb%(d^y9YJr?XG;^dI^x?c4_aOG=6xrx+)3u zcBeSi!A58b_aY2x#tr*5?8r@ z++$LzzpD`dqs0t7P?W1#`*q!FzMLth@rxaeL z&Gas$|KoOaX6pFz_)~_YYAXD(rw!NyWp*4EYU1(aJ%)HThi$3;0M&4aM}0FpzM(*( z_ex<+_huvS{LON#zfqb15shcR1gt%6WhS_s_9)fx z*<&235#@l^!A=IBx~h2tsrG_}=^f~(x2lv)lj z)p@OYTFm?t4>+EhtyU?nGA{I9gt^uG=&n>nW4PP#zLZ5TJq`aM!mezSa#4+JH2EZn zztMgNp;W&CV`EHjbeF~}2)^V=Dx~uT^Dm2qr)d#gku5&G7AwB`cH0P>+eU=)J<8)A zof(mVx>qPQH65szV7`z9)AaHQHqHS1 zh5E(^shxz7dr=QWg>18M6lX1dqpY@W(vez7>RR%WHk~;+TSxddYe@-WqL~r_Oci|8MwKn*)alPZX(_rC zkq^hxI}XjTcvSh`Co#@<1{KBgS!^d$dHZ=AysU^IaV_Gm17-C5Js&oPm5t0SOqe&@ zruu)0NZC7fOqEfuEz`#QF;VtNK0>aMesl7(MpNq);8+oB21#h;c>vaFSjR{H8*o)&jUx;l;Ohv6YOr+tW>c z=lx?j*KXT>;FV`NMUZxXNDYvAsrn9Vt|YBO?;1(tcDq(@piDqg={sWzbnW-wMT?&_ zF%wn<)`zN1?obtSpE#z~Cyw1oeY*qqc_m_`KcJzC?G z56$A$)1O_@w&{6IjXerU)?c@ZPxp%c|Js_&d@(pLVdWQo++*wYFSxNlzjcT-s&g?k z!Kq(^H=Gg7C@Z|NWoX{az9d#Gw07T=MoH6BdQ`U0s4gpl{dwQl<>I)&0sE4JSrIlv z+wHmDnM$~VFSuYks3qE$SMS7Kc{XWeM((4IOrBCrnl%+}y%c5HL?RU?SkXLC7FX79#O>)u5A0TTj=lV=N0)XXo9`hvnP|kQ|;WzSKJo zDb4;yURAMS*AkP%GZ=l@?9S~##`tVr-S=i8!Tjf(ZVjOfamHaypp?M_L9qqR ze=qx$j4Xj(r5naS_oq9*JB;B4iwg%f#3T9kG~wREo)#&Zz%&g-nFGAqd1W^~SR796pRO%l1~ zms=u6C)4UA_0p)()a-Y3`I8eCTXcnk4vKF0pug?%2` ze1KEPoHk*c1Zfx3k1281UF)@L9;Xt`H>KTRQxiE?W#08gM*6?1Twl-zJ zcMG3*SIWaf<>$T>V>Cyc{!k1(v^ofn1S{EZ3J8|1apKR;P0 z>JKW2SQayhE9%zAv)OLPqXz=ExOA=cp1$%N_V)F(N)R5@n4DAeU)8_0=`Jd`Ses6U z_%g?VhPpq5QjenWc&GfLsxIQTpFEbOecI(9Z0T?oIsM3Su72xZgN#V!@t-@Mf={5& z7}0~v*?-!jir-^5hbQ#(bv}z4M{0RXu8|tLJQ5ak3`f`98J=D>^an_I`xo2-6P`CW zpbp>N?VICe4k0Fve_ewoN;1^Lg}i|d$4{^y0#QFIF5vAytx|ABdvw7bm)8ZUPm5HM zUr19$F#vU)C<}cb`J%9U^|ET?J*60u)!<5) z{DS|IV>4_;j(%OCm2Du3cFqa?NC=Bw32)$@+P(hWxVm=}qXqR?cBB(Jc5(Fm?lq(H zxA#3-`~wRwbIrR#3z}jg5)Hg@dp%QK)M@TmpX)pNs~jTUe5A4we^@^}J(u^nDtA7C z)&VXxAIdT_{4Nx4&_&pD%NxZ*goR9w0yjv^5IFf~Dkugy^dV?Wy#H&Tl0$;h8aw^_ zs0w;#oMkJuXADLxZ2#JEvnL@nUrJIyV$ zeOAP{e)gk7QuQo)?Zb$KO5Mjh!Kh@(mpmSE5|Nuqh@alb&T#QF(mY5<)=4gS(S(MNXD-DHv94Rw}B;)l7un4 zX1*i3A_|xHXJTU4(G%)n288WoF)V=zuiQ(&))rh<(me3ZIC2p4C7iyCvHg|(t98Xs z9rR5%MW}Z&Y+Pohx7mcpZfk}8b}1x1xq-KLW!Hm;Vq1)<(i1lm%l$`|@*giHGotx8 z%;Q_+_g}sK&@1*-e2r`U@l}e^iEi@7x7TkxDRJtG8-)kRAwBnJC;x=ASM&UFgfIWx z;k)X^aqM+V4eIcV*=IYCm^PU<5Z2brxFkQyP5X98t0yC+rYE4q;UQ&$h}{^Zp}OWM z5v~!zTOq(kL2j|Zp`LhQ)KG0GY74Pf>tFI=zmMQ|ylC8oLysoCMHXv|W<^jYeh#st zYg?@)LGR!2>EI`F#s{c{k;;jqWS}uzt(j&2)V%uN+6<8>{5`l!FjUImj%%d1y6}ls zp;x2ZRqn^_l>S#=(bc&iUtaGX=b0*aqlUWtcMz(GEfBss@vv>AVG#>e!fxC#Q;NHD zEANU~8jnt;X+7c|acTcr^mj>?&<+-V+YK~G%%J7T_jc_4#!YVLYo7frY&5IOzH+mF zv-5oTL?vNO!3KiqM|JRq_*+MONW$ojT{uYRP>R=cl}9(Z&$kcY#meW$^s@&EH8<@sp6P%lbQ?gwIK&*R7*;dnL8K!xL?l&f>WI@>5)BNosE6`;dg?MR=hXORW!`sbG{6&Qmg9$x;dp}Ew*VK^Glx66yWkH_vMg8qm!yAT}5 zMC(lu&g(l$FB+=CM)xdNe8=>)8La8`AF=U!q;_u~$m;$kx}WYcjUfM*T2(N?w?~`g zrn1DCea}7el8}LA@YpqFhFfrdyH`@fd)t#R>r-p*=YYJ+3hMB2#}VTKjQVLuiXokx zNB@7u=XPG&IiCL$?o&$) znU&>I^g$B78nnBIj=_V3g{X$0&Ip{m^l;@a@&ZWhgeJYP#5AI5KTfdc%n;3t^XZPG zMNHf%gCy8S96Oe3Z}m#>ZO0SisSGlFrJn0O)P*6njb9bwO|0j+&(lAxB2Y;z&nIDxGmMiRtU*h6dzzbHTqDZgD2jNk<)_-8IN~YVhZ6n|U5x z;bVOB1b#!iOzb<-4vSK%CZvTg`FPF8j-2i@BS|TEp(w@l z*l=p5ZUZP^T&o}0QnVzAh{|uqbe;^ON~uTLY~TGMpf%z$M!l`zp0gf&f=C$65>O_x zsdc+14X;Xt_Ne>!Os)w%%>F+duKB@8iQR}xO&J^gD_Mn29#?4jT`4GcaQIlrRVcbx zJDB0K)6>yTmVM7h9M!oUtGI1u4@rG`j+6^*xNGN~xZ@3l^lSyP^RH?!>5V+mQ;$WZ zoV?|?+z7e4V47`L>Ez+rThIn48Gb`@kDS|ucK1Kyy8etF%A4q1`>fEfQjmxmO^(;^en!Y1S?Yedp zsok(s;`ktJoOfn8 zUxkO5J((H5b{`1o!QN>0XRTFPAfxqjvZ56E|FLdrx2&5dzRlB7#stdNn9A~jafV9Z zk8k2xbpBJQ@1uhAiC5E4Kb`X&D9Ro@!94r{J}6OX{&wU*0&9Ub@#2`>9dIKfM*+&s{h9HuDzy-q+3*gRu!pL*T=t9p>0Zv+w8B=(#7{tG}wHDv$Fq6L+_- z3>mI!rVfQf+I|u@vgI+4LS?`DgT)^Dp{M)(#InsMYx5xzuT*X*$lF;o;1^F9XEV%g zDo{kTJ+4NL4sv))$%%_;e$?5gEYkGK3-$Gd*u;kh+<`$?@m zs54WSmQ?SO9+HhRZXXdG>H~u8VF#>(I^qousxy&^f}zfNs$NT<7{ngm_=h*S@+}yW z;(^?|L)uKXv}Ms!^17(X*`KgEj1@iRZ(Ej7(uoZQPXF576h?06RU-fQ&tfwuN%U+f zXQ=QfKDD^o(xc}{cnOBln2I1gUda+EZYZy#T(HgNxsvkAKZ~e_ze}@!E8$Rx)E7d* z@PK2c^w^#j-}Y4E{@dN|L<3e=8+U!D0?7>$9CEjWwtO=VD$j!?yRSm^(=1ax0xw1V zqo8X?V>z~EmkXK!QOSgdUOyAX;2QsdH5(Bl2%JQ4^-v3 zfkAgiLy$+9RI92(>czO?f8cB0luSsu@@N3qTtZyt2gm|#KXvy*=%R8_qEaOqTZJ#o86+4r%8YGV&)%hY=;hCyc5(l~Da-$9xP#6(i_MAYCK1}3ocu)Eeh(}Mb z%Oy#5_iqO%i7pkv*k=NE8G{nVs~$+Kd9j59+e{wM5K^h3J~EiWdeP4+bq#dtRvbm* zWEks-bg7Cvkr9)Zh4Q}(6V$ZT!;$beEAQ$t)Q74DCY6SwrC)cIUmKKs{t-HfJsrkp zb@6XG{sa;9)LNYe>*FNcvU={XJFhZ^OjW!~_&p26c81KqHAy&Tc97*R1`gq`wNt9D zE;@>i%8xTQt+m~4{^fTOLx<&$a)s+#^1+zN9hBqL5ygH3mxjNVH@C4kp}>mM4j00sJhbLA550TPhcV1P5nK6YZj#M6ji7>HaC!Y0c z_v$XI85dzokm=T4QG{nj9>hfL>|X0f>|7V!iledXd7m^kF93;LJqL#0(KVo~eH)GFZaNY8ePTyf@x_&YfPO@ zQ&dbb##l*E;nIzQ$K#H<;6`INl4th34wDqi2xCzJd$bV4fPRzX_dS9O&x$H#c^kCc44bU9 zJdxJQ_^yZk@J8=ig!GLY%y28KcbRZ`7y^NtrBK2q*Q(eMke3FV9Nn|Bsvy_b3+a z-2*7SdHue9H9Q3YQj{PVUSiFp0W)OW!6q67Xx(aZ1sx4#r`pzdPP9cEvT9n{>QUD6 z+x*oLZN3~v=L6vr**`h94WputyPX#KKK8?t_=vs{5a<_?-+GBpC%g1t37 zN_9NYcI9(z1SG{l@2pha_jK%Ki)xmEKyS3#a%v?Fn0;7#8^QT5Y1F`)Mm&*i?JiaM z=DfOMp6Ym=mzYK`f9ym7uHEO9r4KADqPgemlle)m7!Sz@ImK%#v$6LG|4(`U06D-_ zfb0r_`ehly#$e*ctQY}=nS@wM)q8<*&%+~Jk|jq8GdZQ>h-3SQ?13gWv~93*C*tB+ z%2duCOpo1pb&c7VzabMF=}2ed3D+hDLfLp}{DW6g(cn~WBCT^0Y%g0*|FfnICsTvc zE-Q{Td9_tKe0rhAm9t-pP-Crchm@8!RH|!VdoNqfTS5w^YBxS`_lwoJR9~*V#}|z? zOIw{m^1C@SX?_HuJM)Bji&xHx7eQsi>P97 zyPgc&yF+Qcljvb*@B@0gU0ovE`&{`_ert6fl%gDTsou)p7>EB%Sa^xZ0Tjc#Y_QJvva+eEGe?-sU|#Fr+^ ztAEF|4woHVXBU_G3{nvM-+milM6@&1gbJ!WN>~KdV^(p;IwcK9HtTE?e!AHYF~dKm zzLo8!QT&`}Pvc2HmwgmoE!_y@3}SJ3lx2gWnyQq*-pgKp58FQQtvcBHCM)_Yd30AF zCc5JTg?_9`R=?}`F|+G~O0YFV#y)LN<>c=wUihNbP;Yp4lv2`Po^e&NLMI9CpPpUZ zzFGv6PxA_oq;8s~xx0PSL{}-ko&vgF1^7@G%$76BGsH%L{I0gn zIcDLGIU-CKN}SEw(whBBeM^dZ(|3`6Qf-za9J?3Bl;}oqw-l+`sKvhRaXM?bnD^O~ z*a<$HIG;Gibujvp`&d=z+}DCodnA~R=6;-Yy3n|gXSXUg!10cy?9@Y25RqW+CE=UO zjYdfJC;O|Q8S0jMpby0o8nM}=-aYDx5JEtYFlWN!Bjzfu^ro=&p`&y zW%OEVjafy1=8a?TKi%a}V!+Ff!n32o4jyBEzk#$MnVZw9lCfr+B$ikZyv6Bv4Vb@C zeF%mi8_FEYScN|*7e4rCa;)cd&zYZ15T5^fh$ex+KBBL>u!;01Ln*JnoqEa_fPwJ# zj9`sh;Fhm7*4mdC*#qkaFzjRvb>g7z72D=%!W>)aO;G;0D%=fS^=?OUjJ*G-C^kWc z3~E*4mRu_E;Th*fPC$jkL+%}<_dA25niRPNEUk$RFDTtMiY9$jJyFFevnDa`4fj_s zDh5&a%?E3Zjkr2VFRQwD2l5ZU!o(^^I5}|X1~6ZfH+_p}=ffeZZqHgD z1{G`!5Y0h!Qt`K2xSu3f*V7M3J4X^?Q7_MbcrJ%_)lS1ZYAUUKfgUVc+39D+g~y%L z^qZQy^4_ALP%wulYyd2j{_X5pPOGXGrVH#n7J(-@xy@RtpNKYe0Lcenp|0Q3;R?F1 ztWH4P` z^#7I9yG|U3z(3+LB<~|Q&s^sjaE=TNY|{7hXoN_I=Pxv)8e+eT-@jsLbYS@BS~fy` zc{(kmpJ}F8<0tw*#F7Sq|7qLm zqr&2s2pyku60hPOBZLbTmp|1C+} zBw(VV?U5VxjSr@F>-_mnDVru8nOitdFcu%!)NgJ50sa=Uhk9H+AGO(4MLJjtUH-w$ z3co?|Nl+O}HFN|THSZi{&H4pPB;Ja;&`oQ004FDF>~#9_r)u2`I;O@s!^xSg)(*>O zVo|C<@A#pX&TtwE=l88=jA?Z{PH6jCL2P`)^k(xFfI?}K^VA!aZ(zS>RW5WPL4R5y zGH&v%27!jceWm^#4H{!pY;N|!02mV{p1s(93%sw49fZ&uy?OJQ*S^W+y7{ye&LeS) zbh=~-ZXW^j3uR`wD_1kx0ac0H8#n(nmT=9*{`COt-NU8e6K};3coa7I(R*V{3h22y zHh*-riB&0BrChV$au@z!-fXie`m7-d2X+&<0#Hh1Ugh;o^xgbqGLuYe+nSZE35GxS zHo(_M*Y`R0Qb#OQX(?O{DS7i03rztMMTYQ;DSW?7{JEaMfrs-v&GEi4D8#-v3V-S5 z`-u4_8o5TT^J*O#ChX(4GH+NEpkzO7f60aWL=wm0*8um9!6^K%Um->KP3|4w8EgR3 zH5Z-kmwQ%X+i}w*we(eZ0gV2D<63{9A>Jn*fF?Ot_1|lE=3R`*zaP`+Cm(R!7EI1Lg^rRM-EGLZnjodv7Xp@f*H7#jHpBT@g#hdy3o8^Ko zY^IL+JJ(^YXekKBCH)Z)^;Oy?<7t|80MV1mjA({lA7n_-;n`gGTJEd!g~%*68D8Q0 z+uqYI++PR)*5$inDcc_s)NIrVu48-LBIsm777on)6x!vAE%9bT_FB24lek3Q`Xu2yEX>TmhJtJ;^Qk4S693u!{f&OH_ za@lx1FR8;a-kTM((CVM`r4CeHNS2?LzSKU(VLh+F6W0hmRU@kTaRDttNxuU+&p$w6 zm{hPEh4wq+(|Q5!ZJg-CGf>zXDTNhO%0ps}{Di@*4RCC2u*5;+cc{~>T=H-pi#4M0 zXAR-qrAf%qR@{K3!PUlT87I^pkL=y+5K5jq2*ZyPBqq8pC^v_P=BWCZc)0!=ybrg< zrtNDdbhBlTrPyqiC2+1A08j5ONP5JmGfrt6<=%Jtk9db&{m9$ayEPEU7| zXV<|3X9D8HL`IEW4bG!bZQ>QJG?{#itX3G_{{EwRtnJnwyM$^aQ%6>LK-SY5 zQ(&j(VE0-0Ts(I|5e6uDpk9SZr4VbWaB*NVos}M>CS!z@A6q;I=+xX*Hu8mK%{=vu zG^2j(|3sZb>*^@kmfj;y0fQdq9_Cf^l#M`#60r%5zKgdQ(kxeklqw4@ut@};ilo%xR5>uERv;GMv^jHW}kqLr1$ zS|3Fsj(6{lhOHlbvWzi?r!?J%&dr+ryr+*Sc|W&R-|IBj9b(5`R?vuE1(Y&ZmaLqu zOfITjHjhl&w87TwZ&!HsMd!^r%w1D3|Ewfp@K^;>a^Ng zyE-#scLTSEHf?`q6t1{4Y+1vl6I|8}91%ixOOC44K-i2GjpNIO5M8#p@e+;76-Nu^ zT4?t4DZeGRXp*GMI{--$tR8>(g{NiKrqKtu=Tbdq@j$n+hp^uAYn8fwSd$w2wP(Lk z!lIT&Ftmrf*pyr{} zNUd?%v_B(Y>yyBo>#4hbd`GCuK7V?~l!6??+m78{NRM*^kW$Q%3u~7u0I|EOa&v=DuIv zisu5ykF-;zn>?2Z&nb=ebe)i23>jl&JGtLvIs`)td+o`S3M!g>6fT@oUGi!lF7ybD zg?Yy6;|Jnw5z+j>*$Rwm6~E*@N;(vp{aPv8H>4b%vPz~$uQ&Zleq+yBd#>6GDZ4G7 zyulEH=BXnP!AYfJ9SA+h7U$hS7#Ki5@_6A$(qXl2h4~M}a`9^6l;0d&p40jEOdMnH(*Bv3q%G2$1kk&mo7oyg};Ky5lyPE zO{*M>N7ZUO+5OU1e?l&oZKKC1`>P(6Pi<>g&%uHBH!d!@YR@&I0O~A>oK-4O-4N&f=+kr|`V+uwAV;1kFA3v}NQ0ul9hZO99IG&qVR_yN~B@OcoaQT@iPrL~ zy3WMwP-hhSs z2a;%#hn-hyxoE7Cd&sMxdw|)fu0PQpTDtj)4(N(*oWR64x4`(CS%cs zd+r}ykq5K1&cB6oowD!QU)@_P*}qsx6LvPNBQzOH)B{EU;CuZW;{|4M5NO#D?eu-} z%M`5LHl{8>H?;_T_a4p3)+{~-v9F3&;9KR!KVbm96gz%8ZadWZp<2ikaZauuR<$i) zh_>m#^fN;l!%%c6E$pT7fB|w`(jD^`DS`WMG{-Nb?6wkZb;j#xNBHRM8XSFNU*?AC z)n$pnCbj8^^eTV`#;)}~DLOw~P~2$A@||osk*{711*p4{M_-&&J~4%)Uu{f*lZS=)6G? zR9;pwW$0WR`z=|H6cgg%|If^fF6wnwLR`u29&Q?BS zrUQblpkHH>z>m*|18vsd(My4OCH7~%w?6$n#wg}ZM1gT3^rKT-4 z+84blZ{@T=QoD|ADi;n$ zOWm8Qu{iScz2qt3eLFd_hXf2O)#`}E)9~R>!d$?vU;nfiQmI$9-TRKRj?kBTB_H*q<;XWt z*-S}u%A#`aEe__9gp% z|b^_MfLSk&+LlrR@)VS8m5UIJsY&K>YO6Ix6{e+$-Q+gw(r zIZWK)@Q@f#QbjmR2_pJLM%jUt{7I@ubYo-V;V#Y_Mb#-y+w@FopMQ_IAC7k7RFg50 zyNu2Ie3nqb7*sMe09stI&X**Oeo%04P(L{r4TtLYKAEWS>65p$q}tt@O+RH}!-ml@ zz|@J@aC6mh6A{ltK5Lt*;W%pi)W4Ezl=mE%=kiH?1;?8HaPLpCncm0|)fmWX%*s7= zgvM6cUzt^s>xV_N%iZg`Njn6HkzLd{JT-f)W-l(Qa~>8q%}=(~kV?}f)E zx+0UB+<|Ws#!|$2oChD{#4{61!nf*G16bmQ!tSaM<&5~&5f@LTA=F^vUp~7b0E#?o z`Z@2Odlojy9$?u_V_XcdQWstzUCEqn&S{qT$SRT>Pj`NBT{HDG|?QE@H_WI^B4qSJYHiJV#&!iZ3X|y+j4h74R`aI zF2KIa%Yi$B3&&b zZxqonv&`>3&eg%)B+@HTW7P2t&@cn+<5GiVdIi6#T3NOqkc9 z<@94<%AiOfEvi=5Lxb1bUwsjCH2z)u5OkpT_xILwDP$5n|1kg6D9!xqk8^R%?!yVu zfB7UiyI!`y*nR!cjrkCCET?(oKS+fu;~+zT`EXYMuJWzdN|qe3g74q2~y zkLKLYkhp_um0HKI0^E+plY_Myqn~p+?=i{Eh8}t>5&L z;5eAfe6Gt(Wv-nydPG@`GjBYz=Hi+PpkUfZwX~M=q1l>zHi4qySRvJ~3GY9}%VJTq z9IZhv&FEPeo8cK2sGatLL8T*}P;Ys4c&n%7DTIeF6&9G32YyNf2 z6rumFX+Q-D^!;<2?thmfRq%_gsMRyQ&THC9x3;VDt$GmlYz(~>!;??peX44{$vE>L z{;@X_MhWQd|IKey{W@CNS>fM_tZeMV19(UmM*u=oH|#oW(aAb>IzIPm;`7EFT6+{2 z=7lTORnGfi-4B;0c5)_$5AC#myC3!DKAc}5F5D>Hs<<~3I_#f%`UH38D_HO(amBst z-&#^zGhE^&_JD?JraTFs_XEm-#hM1guVq#J#=VpzvNZRxcdd8SxCa3O3^b%A>zcOc ztM4AN{rwZZufW$Tm$bv+)Owp)?@ej|V*v9G7|&s1Tce~2mW0dv zEI>lDiR*Bhv$Y;8;|3n@PTt^25*|KwxhJME;*dZ`Q1kp1F#p999h}~vmTbK!vC`Fr zc5bzqzvegr22>70bO2+XR@KV8o%#Rjt<)kkBi}grQ3i zo2h9U4=An{JF@P%4%Ks3^ytw~@Fd<9KKOs-y=PQYUC=NZKtVu2sR{@pBGN_aEh-`c z0#bwY-g~bBR76BTq)C@vLhmhvA|fClz4sCby%W;D06y>fe%*ifu6M0FOBcyGC;RN# zGkf;znb|WBv3R#nX-Zo02=5p+S@*Qow(Q0!-mpYv4L zHMEb3m`kAqvQ@+uyAWyr)tM(WN5nkoT+#v3*pwhPWq!KaZul=Pm3%I>pHF2DAH52A zXdE-$w4qDWaE#=OWPat3w|K36IC^nw$Jq#P6r;<_YTPh~>qQWN!(D=k-#bmb=Xf^8 zsFOhw5Pl`A1>e?3Q3KK2?~Kpi0WXUHjBz?95(o6iv<$js@D1t-iB-9R=vi0E?*ITl zoSz4cQQf*qinn!&eCR|FHO+>7{yb#NWszA;MTZ{`fZp0Ro*d4BZK3AgZF~e zmw)C|K$G*i7vmhf>F^rT1?+O4M+lt5|7~{#;DgW3AqYfpZqhx6(u-4{=bsF(o_ih6 zp^5DO#Ri-16O2BIC&k-0&%v1_O)KbVG87&}_0Kr$BNYnRu+#+|)N(U_gl!p)^*iYBP~(smmez^b3g55D+evTPPNw^3UDpPTI* ze(ZlIl=9xmZ&uQtGt-{)4$PSWCv3u?4RQ3Sh|hL3Zq0HuGUgP9&l{r7n2Nm>e=#$V ze?H#|;Gv}@i*&ae%&>*<<5>56P2-!BAw?^V_)fSbanh$|SGm?#xGpob^NrK8murAt zWb_7uo^5nd*vc-**5%DMx6eR3uuAFyY|nJcMgCcQ#sbo5!3;q%XO}o1W!a z5DCfwq4z~}-LVO(jNow+o-sWgV;+|e%5leN;g4NZU|9Asa@unoe$|$}c#Z4eZZ)pd z)?*%-cz&4kGA_XNzF+r*(8vRADyJUpfZEKBglF$B$1Lr8DE<5h0M-i@(8>Y?S`YH< zXXNU+84oQjO@b{fV4eO=N>xT99I>u%ZI=i`rKHr!kgF(DC^zbvu>dq_q7N98Tg{Uv z&C#A0|8FYEuejW6(dChX>xG?xt!MSNPM+wRi-q9h`K+B_+Up3N!Q}9b_}PYMd}U0o zaYaHeoV91ZRzHTT$Xm(KU74NSp|5p*8wdhT=_ikWE{Sa)^n@jGT?{W^_r6p<0L2!l z*J`z~VKOMRs#Nkm`Y3!(CWISQebng=jJGI9ojP}U6Ufk!%vS4*8el~@j`1~+&+`tQgK8Ih_S4#% zQLeRy&_9B+wc^Ki2-HELa!@gud%00{MnLr^bCIz(ohXXrJ2~Bh6ERsQebmz8%bV5( zAwTRWtH=S3w*3R12N+kWT*-qusc84Qw`Ef+^M!_9_}pk7PBcTb22!u%a!2vU?a!el zX3v>$vmJJno3oGiM58h^=BSje7SYaEdvG#f@l}F^wxcJZBY`#9YYK`_$G7aTk#+dMjOG zIO5OqQ~V|X5A&oxDcpZW2zT#EiWi<4be&aSToANMt&RAiC9lA6}7otHn)of7i7+&J+KB9Cl8JSP{+l}@I1wI zyfV1jQd}3el^u0Y-;%B~HEWfH(rr5Seun6d^e<;;{t97}bH^6|AP~AS<54R0w~KC0 znxcly9xaQs-nW)3L#K$8?66Vk)0#EK(38Xu_ki5?4_r-7G7hiQtSEhRV_dN&n+eXD zwc~frVY?cD_l8Z5m1_p3A-=dLCt*q&2t-Mm|1hFQ&xrJ{)K&dBf!{f-ts0Nu;f12( zCU#oyOVsZOPVUg2jFCNyIZrQhzHvVMG-{c-fRf(6U0M|xKb6R;)>P>2W@9zq$M3e4 z=%X*|dyRl)7!>-oR18(^s=YI^-JB!lrepb*a*sZqnWW^Tn%Gsm@NKrR zwYDZPSw%&S+lP6ZuZ3@XgR==!6CJ^?=rv7?&*tf_QMmtDfqGutW_RyKq=xz&ElpbY zU-{O@>9U{a`X<2D*FW6XMsib#r?5B3^BvXvOiL8{!$w+``?4_S6-mLU?zFIzNx^#n z=Xy03HUNSG>=3#7roTlDbW7D^a{NZt-n<*$qjCMD7k;ma_P}6Lr zP)9pZuX&Q=6S=)O%j&SbmSWlF*gSe=rqX%rnz_I=eU*cy5Yipa7Kz!~-O?|qV7^50 ziPBud=5VdwiV8h@o+)j3THQy=Nbb_Qf73n?e_cR4DuqAmfzj`G860fNx^<+?&d+Bt zouh8Uv+XcoLmA4ZnP6cdA1yxSs3E_q-Ad94?SEntd(p01toDSw-ZjwXNo#^?BD(s-x0@J z9sA|Ddc39)sdA<_PGpc)th?rsl5IVz!4uB`8Ss|$(x`yi&upHTx>HW__MLMIC#M+h?jX4Zv(z8 zaCxouX5NV`1SwU__3+epyUa^T;&nBBTZv^x-Fl_6_LO0j-!=y=@GI>oxlWKsuMi$4n>&=tJIk$gBzYm}JZJCRc=bk!8De+Ba8p}h(E zv2JvtLz61|@dK1HYmo0*`!aq0O=BCvl+1~38q>E!$MjuO;W+-q-s2_HHd#jL3-qJ} zWe)1s?P7FL!E@j#_zml-x%b86ho$vF6dXfuSoNE;>PphYfZv!)j3A?Y67|{#_=D>c z9|nU&2An5N>$jZ{Nxo*_ja%1QOUQ?>WeT-dtdCY6nnbKG;E$hS=tGnl?Pmf|-=U@h zW5zv(3iKcf*1{%bnthSwYP*yg(p@&mBe}5OxmH$6#x*4{c^|*mgy>_%Im0-7+O6fr z-*QqPAhg(2hSY@N3GYIAa{)`uK@Q2Sjt;hTKXRmD$4Q`Fiow<=ZabQi8;9Hr&oCPa z?^__oe6j8rr-!uLDK;3mgZd>x%Gf}UA1;3p+ z#*Qrk`JMwKXr;y+yjxDhIQ>P$rP?jUKKrxq=L0WjQ&SP6UzLfn-o9I<@D4s%|ABAK zaZY~-i*T!(8QEbZAe}*>SuF_E^N9ze$D&P;_Btf8^S-d|FX;;YRweTH8*c-GLT$V( z(ZN@pnmO-{oGg~$cPs%tHZ=f8(xuUm;%{0kO|S4K!QaS!adHVSOvEwDMCC&>VzFqH zz*}Kqhr8ulI;F$4d3~&{LRY_2B~c#A%s2hxa(}C~4DW)Xo=eHsv8sIswNH6+e8+wR z4MePz9hS)ey*ovxZJ~xIMLAEYUO63V`Vq3aTFqO++?>s<@VikwNU^>R8j*MDHLYyT zO+VQK`KLslaX!9IZce;m3QM3MCmQqBy=SG_Hc4y-Dk-a8lLk%;UWb`Veqr(w^~9vQ zwH5U?+pd6<2~y$0^!t1o4$G-(zu$9cjx|jt$3UEVF!*X{v#=4r((LOmhb8uN`I|CQ zH#lNBdxHgJy?Gc%PGmQTc`bP7>K65{)Om)CJ{oa$-CnjUw}MvP-OcREJg9P5_$o;e zI&F3OJp4QSJ=w(1p|ZATc@J~djcS$#O1AS2Hp>$Rzl!yd{!_Rp7_=50$yLWiQ z?>Txr_=Ib-Z(Bwy68KV>IJe*d?jLUb`L_6Bz0+U+wQWU7v9+DtY%^4dCbH7*hPU`l zf@6J#D2GlS$(!?9GHzl6e@)n@Qa_e$0qmD1Uj)`mF!L92kBp4OhW3D7fIA$|fzP^I8nlq9~~e{R929z21! zX5KXx$EbHsgL5les*q*<{$M{$c9UtwYN_fG;?s#$;J~$WlmTfGXH4MKYpLxG@{lMd zGo81%T*z{un?Ju&t7%A*?be!UAAi_cA!VU?u5$z+{pPPbkzP(T$wliar45aljtR_s zlMI0}qe=Y(;HbTY3TD%+qW=8pXcnx4)vu=72O2>C`P#j^0YL{Z!tm(|j|ipeA=DaN zCOK10>q0E*u5cv=al@a5@(fX_hm4~TmETA! zHhs3^Q&VBsQ$w?M6cBVmStpN=zHEw?uQIBy1&p4(mx;7XHLT zB5hp;>!;>&n|aE_R6rk3sWbz%{z1l?e5)tVynV`>FoXh~@#Go(?48yUK7H6{8n{nHWDI>aI6+cA#Q zb21CHL!KVLf{QuPG4Rsr&wzA8$aiF}{NA@ImL}HfuSjtUpG2uQS9Ee#gc>Dud_1NriWX}E%mlP2*Ji4OG9k7OgVD%q_oRMx{~f6ZS~H45(Z8+jqQ(3 zWzlAqq`GePB1-=jeQcqw4{0cQF-Csw`yXgiyk`~z3gO*72&qt zHWqfN#vD7j{0<64X$|qHh17&PJOwpC>c1$yX)O{=)437 z-@FoB%;eZ_R@2s9z#9(@f1vUA%}Xh=l3#JJNXJLjO)^NFp1d{B35_lOTh&`cWdKXd z{?8WBoWbF?Jsk4(N{&NG{M7Be@9zEv9!mjMN>yBVvoo<&ZxRmqy} z(3xvrePn6e5g%QowzT9*ysZWkor?HwmhT`DY1shJbE`1}MJdtL%?If*vE*!SYHB=3 zQe#Q|o&HA5HJ{xMrn$>H(oui7kS-1Vb~cd!D}0&UE{D7dJ1$J1=xKtH-{=7lEPl@<3DRQIDhIzDZwe%%T70vz21`qXC6d9(o#q(V0Vo zXd!PUb*7$?{WhoR@>_9v@&nEMYD)*9D_w>V=Tzxgp_&NsH`?B^fG*`|9q~9TU$fO+ z1CT!cjAR;rix2aBxU9vO(4MV0VV&2*4E`*B;WC;0Ga5nfKR^$x1>E_rq#AAMdx|gH zFaL;_l2P@&ws3EaiBx`LF}YSWC-_~=ljIc^#8&3ZFsgd9QghbGsiY|f#gkCpd9@&_ zO8q|tl%pwIUX&fd2QH0X&(}PzI=9JSZkpf0ymE} ztZ;R29JBgIgXQ^pzFCer=T&&_Q>Qxd7$2|V zhW&zSb4V-w%#ni^rT)8xzF?L*8!E?TgZ$`>bzp8J`b|n ztx7%6tgxlj&>mfD>74Wum1%PID9dGJZqBDn*#s#udv^u+<GKI+;~kV_NoW^)0z0e0hvdpaPo!P) zCdX>!-bDF~XS#2(>+tdLK~@YK3f-;`zEmpewpHlsl&Vm>Iq(030IVT=`qwkA@fQ4H zxuJ!q;eIg3dY{={ITCP;us3D(d^~J-k+?}@@5ts1a;+@ocd?Pjp|Gi6o`T!<`|m_} zfD=zC9;52&f|k2~XZb$@*M3WPM_)&5tEf2QlmEL+#n=Hy|bql*LC;c8-1L<+vz zu{Q>z8Tt(xH(7PCI*QodLdAA3IRgnOMSiMj%}qQ`Rx0OFvKckwPK*DR9+eaxq@*I= z_wDRu`@JEyD*g91_~0O2DPf)Q<2Mah1lvpP1D0&!*ch+Qlj(1F#6a^EZo(t6>*0e| zb<74bb8;;s9MS>`fkOr&3mq1S^rOea7K&CcMnrGjXidcE(bj`K+>nuV@CBQ6rMgMs*k3G=_ zK0?N1L2J$o=H>H-C7)_nXxiP;W!}D0spK=A9@C6^jPLWD*oJ+43^ymHVV+a#T@>|R-`u-*5Nv~0kF9fg`wYND=SV8xIz@9RpthZV@V2k$^zgd2 z(Cn)B)%!gK57wnwAVfxTD2jEgG8si)hM&eVC{NVqYqpTC+TJ)9-h^*kOq%cTmsh00 zw!wm;q@6F0zsrVhizef{+iepa#hXR(!-V--)jCf*TfPIc*O@^W*tl;gKk{SFWrk+G?tbwz3DFS_U5Y7a*2OZWM_tbSyvSzTf!X}V z&bN8u6InSjp>O0WQR(&ZPyU4Q{keSK-MHt#RqN^C+_ zOz!+P_sbje)cB5sfkjjkw7ou6&dqH%;|v|S7apuejf zpAP=>og*!`Nw-Mo$Hza_Zj;qsX#oClnan!$?UN_%bY*oKqIQyCjUmp%%M=a}J~k=C z{lFPu*-bB70(I^Qo@i;)C00}SyQNrNl!CEuCm&;8wHVO;-srLBamG0LLkqI(!N60J z_}Az8FUppG{>PS~gByg*(~nd}Da06e*dpv>dj#_8>>0yE8M??siUx9i$0dD7#J+D4 zf1^hx$$D_3)korph7u}JI{H~V0Pgd?lJA>FuEqlo>V6h7M@D;sh0QkTS1o!8v&8}k(CbhZU!q=K2@0eZM@d5p9L~=nnWM!%!`b_m8FW}J;4-^V- z?@-x%$iCkoqOQiBs^zy;bEc&m0s6`1tlCh+_AaZvPrU2whI)<1^bo#VZeP{kD`tnh z%VBwAebcz-ql)|(*^kmt0A;|T)x_b5;R!*!#|-cKp3Cq*X9?1~j@Ft<&sx!=tgR>q zw4E$e;?yTW>2|%OPc6s|H(OiL6er6!-IQJD@_jW0x=Bsvl<_GE-Bf-a@gfXpJ% z?6<)u4Zae*sVjyw)Za-lMMVFO*x{t^(fq+*dF{csGma!j9z^V6!&yvMbyBW|AM*dK zn7ndHXDLA{MuJg^Xh|aY`qye99e2?#M0P>Lh+JLW!??^SpE9Ffxoo)T<2!#o$UaK; zXw~E5PZ})9i_I?zWn}0hb|7TtJrH*^S7|ob&ZE8&&sEhu$QEnzKAdjM5eg}?EUlOl zNta>OW4d5%KoERs;mY_m;agH6+Q+t!ca$j^w?w0;nR|~SJ}A{I9+kM(&hoYhdgJpM zHNQGb5~}O?kausqx;t+5mfL!#qz#K2*A_=&jYH>X#Ic`q#=L18n^P%mYawOIn`mcU zZKsU#MrrUr&p1Ai>eV}>!@nR=uu|E@FDmLa7#N!DkZqJ;Y4_f=Pw+Lji z-|VI^i+u+qG_B#+*@TJim0Y~*FTcT~%n0JEwN>j*+;=PqLQ!aJ0j8hBHi$QcHscWu zhAcsXonIpLWFeHbnBdm+F4AN{zl+;z+8_m> zbX$q5!zH|#c+5zYFCkulE=8lwP2YpwR^+E)VX@&WHZ!*a^5e25i^a6GE3hqv8*=YxrXSgNPMudaJBQsu zZ*BsSCgO0VuQC}~qN92$4>susuYOEG{bvgpX(*tUn=84 zweI<`t3l)`2Ia6kPLw=g|dRZ6T^mj zsN-~?#0&(Hg0mLUqE7rWM+N=j%)i6`3CyTlg8qJD{(o5v4Gb_pRneMF{fsFLWxyV4 z8B`?@8K&y5|F2P*v!C=+w(YP$H6Zd|!%bQK2#xeRD6L*4>`Y#{Z?TgtwSzLVn?+3FNiM7wac+uETF(FCXA}1;xw3yN)@AzV^Q%E)g#XX+To3-k z>^3?CwhKe8I$MVBm~`~!>E=|e)8z~U81ewmvVdoy zxLw?`Dmu*R@X1oU*g$yaiuJ5swD`2f2o2auE&4zNBMI(I2pnJt z*z*Fzy@Uy{nF42-bLeE;RNiQWJWelg!-J!J+42H1iqy0#hahYh$S zLl8*S%~%W5P>Px)DL1OG1mLFoF`FlWII5pvtjK6qq!(_+$p>}31p=?&@}-%GMuEr} z-~YlF*VZ* zBny#*==Z==*$bjs(1f;&`nQka&WvyyQt+T^C+%xx?n%%KL4DQhAECD=L z3*M;39?xN?@Na^xFR|jubtY>xlsR=d5WC&wV0>Oz9$|(vag85=_|i7Qb0+~fla$lO zz!P~Gsu6~Qz|QQzh&*t2x2YWXWCxoN@U(8CbkD-**dp*u6_+e{4c%dc?ztE>JJ_)i zuBjg-^^a4XwMvr?Wnziupj2gYnXq|s@W2i#0CwVs|A(7SN7cfx8~Cv~s!vDN!_W!1 zeLHRRN2k+|0+_*vZAQoB;8uZCqQH5`zqxXkleToT_J|}Bds>Qx7_ptq6MQyS*e3Od z{MiiLPDd$U(D|aF^fQgQ!!A{@`agodz*o>xMVAAQozShoQ(>^B`~1mVAW(+mWC=g6 zF?iC<9U08s;RJ7Xf;R;)Ij}<_;O={)Jv!Kqb6v+Mb~7Dg1fDy=7zOt4AZPwf^sh(* z*hXNPWMIxuuk&Uu$gwYgyW_Hmmqoarz&)OG1lM54rI-vohXvTzo0r`Q;$+J&{MWOl z4XM|x#{aG};7?;+e*FJDr1O9O3ibcP9;VRFr=us9POyJfaU{S)Dr|R@|LP7J)5D5N z>`8}d{v|U5ojR zL*VvLO6dRn_Vk*|_hksUT>vfGyv&OIi5fx_R09G#aqu17EN+VmcbZqacqo9A+riY} zy7Mxnaarl8RdN}WY2)KdR&6=hU+?F|P0Yd2(doV@=y^Y>a09B?JRnx24;_;3ae9E; z7r?@CUH!*Ol!Rzb7<>mjgWHo|Tr%3bx`Ruc+Y5oMgTV2Z?E(DVPnCeXLq-@r91OR- z<8Mi}55#TZ)#v@F;L+ zAU$U@Lew9NTZExPL@KZCrXztkYt7|;-134Xu0;Uj0Xtm!Z_!p;#bI%n!vyfb-07aG z5hhUp*M{43Li-C6V5z`stmxdpgHoeE3%ETG*dhq`jq1MzJgXmva>7iP;(p5#^k?f7itr09nofqkC@UD9K>&y*uQ1`xO);LZMzLOTy}I-|4qTX16k$*UcHqtkk= zAmFhj_2n}`Ua|d1V|p6n|GuWl)6B~qwe!^LAKFGk%o=u3DbE{vT?Io(zmf%rb)2|{e)E| z{Rr%x9&3O3kT)&ME3v2s^l<$ zAhA2KFeL69D=v9oBTx^#2#iZd`e6!G!Oi}&fhsabA?w%#tS?dkW9ehQ{jdd(yZ6*W z=$AQ)7SWo$V{3P5NEyQNAqed!2b0}cU36KkhP+Cq$ zQzNxt$}FLhq-BLtTG8B?L%shJyvR_$n88rt+#3Q`t(I$kYGJbiIcH?BF0TRb2S&xSMB~i+Ineje(2TV!ud%* za&-{~sUnVt42X}L;SZ}`sL``AeYk(+)vGkCZKpJaUz|Sif22PA^g95j!v7%q{y4?A z7^NSiA|r(I^9h}o`uhL4|2-f0T{p|v-NlD2rwML}cVx(|{6?~d;LB|xqA z$zh{zn0EJinM>MnTj>{eRPnIqXMGamtb1pNdcOVd_Qmx&q@NH;9>amEZ=0ngoqK*o zBtO7cAQll3aW+#_)OB?O#|?p9dzSoWSZR)azo;AwvN1Uz`i(5$6)^RgB&%xS20 zJzL&+Oys#8snOq3!rA&*rQvs`M`{sw^4H?YdQvaLMTA(vp@JzUYqd8SX!h$*1e56M z%1W^jjEz0ZW3D*>cxoK1JK_=W`)kH%+1pCX8mBo!Iw$CnWv$~(B(wNq`*G!9IC3GB zb-U@HL@n#(g*JZol?Oea%nxOhvaHN8vx-8A$d-iJB0YO?vF?zNa^@nKevLc*1&_xs zhaC1fzT~>+cc7H`iBF|^o;y&=w=F+Bh1FWqHx(Tq?RUI6jcnSQs-1J|pK)<!u&6inLEah|regajQ^Be%L%BwrImkgV#e=FbV#cV_=sI%`q5%uz6M|D(862d;XK;1K(Q+Qh3xf1L zDO>P}ZSXs4D9g`($g@$Cqm*#8HDxtjSI++O3$K6x(0Tr;qGI=AM|iPGSQu%0C{-;2 zjV5$z=^6oMcJ~W3J@PnQQ@h~u{9Z8S+vJlU%NRYzq2R4azoiICOP$)Aa>SlE$}-V2 z%Ccee`Eee}!t44nUdco4Da!9Wc8wi9k3TQ8R}RBM`r!w@(7ip%A&Bdo!=J)P zZ=&4X+{nqu6crVJeYrh^?;W0e1#<&gc_Kcd=bV5B?honJO)>QR@)wUOZhYFvFMaM%oj4d^`xrmN?huw+-zOH_BcC?YFoNTD+ zzP6snSulb;*g(P(rTwGrdmO5EW>&_66i)~*LG@TIMWoC)04YNLAdGuiA zm3?O24pDjuV3R?x#+LFI+WmoidxO_bv-QApEvdbqKMkS2GcKLhdx3NXKYl#ofk;?# za_0R>L5f271q47n-)}|fM&5RVx4tJi*_i{nEYj4@#8;bkxC*NuMf`iE?$)T5K+gc7 z4R;60@%YAszU{{rh>8VJj8CLzZJZsA z8RdQMipg_dbJn)C?Vg4D2|y3kN9b#a{r5T;8?`;Ry47&%>+8jusfmdb4IYqh-xdjo zN_IwzH@0Wy^pNadK$#^DdN9W{V z1J!pckHSCFTAXPiXD8&wiuG{lgTToehvc&*rzV%*qs7T26pW|KF{(#vE(?&-W?$4+ zZ4@i+)y^!mxHVbC;h_M~WhD;gyA&Y`#G!}c`Sd2?w?*vNCadj$$Yq*~sdTEvxuCq$ z-QT);(t(lEDH$rFrwIVa`0fxs!C>J4(E8Z&W+uCQ8pQ=mg&XbLZu}Oz$t> z`?lq2v0X$o+YOrfgNw`tLU`d>w-K4`7Cn9yaLx*Td7NIf6x=#(iv zYQ673tuF=-q#eJmG4p(5g;6I6)!W7FMJB&M2sa@kFdq7seDwPHImpV)}{%TZL@YZUfEwb=$qeU>U-=scf>xpYu@jfPDe^G1I7G>zV z(W7q2?KHQ%d)QpG{;QO=Ch3PKk5F53%jEZ7wI-q>o4mm*o~q$dE^%PGk+I?!a0hx? z?e#qSU(Yiw%`>eY7HQw{br9P{bkkG5lB5z+uECsibf?H|Y|{OzuOir;D|~*6`<_Wa z9^%?{+ii8C;YY$^{1Y8WDt|tHxq~~#e1fC-QXz>yW(@hcw9ioiL_Dm+*p)2fraHI` zF%ih>*^Iz%GE2*2RAJjY*)r9Yqu-a^6Ls$jx~OZhh2tJVjOaV7-Z5ucVy*n>*M1K@ zlYf#Gm-uSN!#pd`$33q0LK^(d{$u|(X=fFXUgWEgw!wvLEF5xr#f>S{FaB82insxf zq_0c8Dv?B4ww4snY!#at`|>L_=Xq~}a^FBOkd%k?wPdguH1h!x&Y{}<8NRW7M@oSh z$X74fYvOoE(tgg|m`3c~Lzqo=-h;XT0Z}sDB6-yZ7soK4W|3_dF@mX6BNGyPRC7be zk2;JnMEndVRr~6sZjc4autFkxL&d}Ru;$DqR|y+FnhUM_uY2YnXcSh1e@)L$$w%Rn z2?t5<%I!PL5lN6`|9hqSJSv)L&Vxr3v=$^f1JtI6^m&3m5LWj^_T7ih`wh_hw6_&%0QQmLRrpkwfUT9gVKpmNGtaB>s!l$@|{;a zUFPyrl{VZz@|hXH%f}?&hEqYXBI=O2B`$2=E#Z-p;&PLa(=NhEj89d=>NWAqQhPFbCgoDVrVcrMZ};-^L`_5u zT@eykyxjGQUezqX^zyXK$7r8m$e!!OHJ??za?=B0s?b}1;WynT&h!&w%_u$F6DByE zN4m`MA%H<0xHZ@CE2@n`Zu{J#eE5nLcQR|0h4Y37UtM@N{~kVHRd7Ouchv8(c1a)H z7uL{*-NWhHcm{Ry$GG`{cCUljr8Uh(fFPVs(Gt!mA1lN&+Vnf-^PP zTOmpQSM;LRqK?)H(@*K#&muDxU?fOuUeMD@INKz`H- zgD6wE!eI87VUgK1S^Yce+K#^rp8((qnwNIgn*}c+H`9G9`gd{^v<}maXTDS;vN6dU zQBX@jA5X#M_U-uqdb43aY44?}lFhy5cq=VKpY+vzn&CVMIwc@m3>0y?^mE_1YhGBjpC?eMv>u=ok^LlF?UcG-tdKupw9jD&bQ@@uu8YN< ziJZmAPNhaKBNwMC)_KS;r*2b7ctY@0u}D#=L)5oM2IM#0E}K;)MS*&&@@N-u>a0`U zBj&n20iONZP3g2~#;mr|wD`3|+-`k?rAY7?(un-R%->=Oe_bp>Cm-=dfY--5r`Cc* z+@Wbb^)u@kt9WHz9GGaLmSJ0m&K0*i8^yf~eze_`EjE*K#jYj9Mqm~kKlU}F)W6nY zj`U(-7V^9KF6T~AuK-b=7cbb^LN0;8l`+j%i?eN-xL*!eB{2zLh-`2GbX z(`?5KG_5xgfY(Sp221Hb4{rkkku&8C@o<3&-6BLmd%ya`sEk`Npon)`AH6n>L48&! zY;dzg_a;;`dz*w;4lecC-%e&Oy>P<*xP5Kn3T5Jl;%PezW5|;tGSzL-u8mohag1tz z*u7BDVQvi{aA&fDXZxgjz0kGv=#QH*fHKi9u7Zrcwr=0pWu@Cmac<^K75q)k!@w1F1}=FbGF(3PDxMG2I7XBMkr-V{JX(Ii>c3|TjI@2oivhE@vPjC zi|P2(?Pf}FMAFFa?Q!0ptnULxLd3fnu-v-Jo+B7>&{N3J~Tr{SG% z{6JA3<5K$D1%f7}v}~6-29k>B^L}s)f6!qwx?YoT>|M>c&)tAqdJ&wiU6HWx>hDjG zicHx3E5_&Kd@6SHv2)#hdx!Ex$9eVV7REf7$q;A}jr;p7C)#yT*rgqt`4Q}FBdX4G zSQ8RlKEz^t;;}_g_=br{ugo(t?uQOj1*Oaj{d<>he@_0o$F5=4TI2ab?dlf-8Kdd~}Y^50;x}EhUi@ zqIb*kPt@RRgQb5j{c~cp(frRy4OtNn9sf1mR#lcKCZHq0z`!7W`{tE81_sXUE!Geo*6rmv zvjQdt1{ucNS1&X@f9y5l{(LA8X&p%Rh$a8}{K!1Ui$*Z4%W|wb zr(StHuSp$zp5mI%_7MXs;Q0eGygPp`*Edll|GEGD(FYoTJpO-tPeMqB`S^c7Xf?%T zZT{<@e;)9R`}v)O|2+*a1Sb^Z{@;(jy)2htkemEtI0mW*SnvKjHr_|7&=+D?-IPH$ z7raFIJ2Qr;;zwRjXP?fB0qK(uRnT+TIYu9-P~8{Dx&kJ$c>nw39jumgRHsA1%~9lV zS20<^I$eBe?ZO!BhrsEKygQQ{1!~duk!{$&W+E8}MwWAd(c{cJakVl&BYX5rh?nyx ztEFH6J!6XY>z3=B8-Vlhz)@Q!;^Vgo@K&%r`s@V+b*%dy=U?;jr_n|-p`+KcXO~km zkVEF81{VY(0be$af9>_0e-&?PCG`?&*UB1EMT76FN4@)x~zbe5RMg#{M^ITz3C@afXRprzyd!eqr3k zh@v#ic8qy~c?+zWzS(`tl(s+;SLWH9^eQy*9%Lzdq^Y}slWu`CaH_PuWcjCy^t zsank7cQE5)^+?8>WmY_y8OkDaytF(}q&;!>pL2g!s0LcCdRZHBXt3-84;gtX9j<^xc<%Qlq(9+bI_aiMD^SvYv(O<3|@11#o z^N)>0VmBtbAM8Vkf@3456hI@tP}1}y>%H1sc0m;X+)xz{WK36EWu)lqv_s|Wqc^2yl5O^u0)ecuJyX!5fxF{vyesLvV6R!4~f9+}-JOMbDG@Pr{ zpjoP1BtN~7^n8VRf#6@Z*A3!1>sZP4GRm(1%DcAh-hV<-`a^Uf!y47U4UNjhsnPkuSbx9-_)>^eojQERgV^kS6H>kY!Ri}7sbx6%HI1cr$OZ}@hI%k;@17<5V6^x=sPJk5DWs$AW$ zyu1nh-0yVZs%{>)vF3JBezNNRceH>Hx@;0IO^9|RrEvpjzmLS3Z80y+=Rxw}q97M) zFnhiWjf29w-6sDsTaEekfJ(3rzN?e(Q&hCR9`?T`@Iij_h5P{e`2Lc7XX}lZG6;3| zg1NHn?!Q<^(}_#fhc{YzAW7{RB|_&n$YqpedW{HC0bGMBr|JF4FP>)k`J#s5K}cUny`{$Fxz8`eK9e!GbOVhytYzXbpP zW$@N$N=2Q;(!&)yYDkS#+CjPFV90AJZdz=XJLd23ie-YOv47xSMn_m)N7UY<@y9@O z*w@2#!7MU0(qq)I83(;odylZD!)8B6MGE-%6+x^A>n@*G&2C})BZcHMMs9jcmkaCE ziPikVObi$c1iP(UZ(gRt4Ct?W&x{1Ae4^jTX%Y+ryEa4)i6wYFq)sU7eqc_nTH?|l z&aCFYSnDPo5-|!rh@4r2vu+cMJ`;r&oj!8}aj}TIXKi~H`AJTD78{yZN)JAGy%KNn zu_w0d3+lmSg2=tarvaZVQX|)VPd-~^T}G7N`zg_>4Upies=4kr1C$zeU!f2B-)T`a zJP}EA-|=HYCJ?iy-1&{q3+ETmC%+wz>B-c2HuGN7QvPrhx{VPTHXlCT`=)Hs*0NhZ zd+Adfjk2gMHBi!^07x_u0tK0*pqk$YVCXa zo=JKEPjq?k-Hg9{?{+IEjU?p0|Kw+!l%9X_k&b|elSyjmU_!V7^T%JlWx))(q@@5b zS#swDcE}fKccp*eu~_#PdMp@eQ-@#4O$jc;1>P%pfkzukT}=+#FP|<1ewID*QvCj0 zs52Znv;*j&AzX5yX$%d{xp`5&O5naBZVoz4vX4-xz?6N8dpP=R1Y8dLZ5~t z)FAl`;5&n%Jgeq>mEPL-KvTc$f2y`@*7v=~Ob^(Z9+DB{p(gAPVM#)C$DtHCfTDH8 zFMA+fP?<_cL#O%Hy($M+c}8LIo&dY#c~6)0j@oY!e(d>+E8j7UuPklcpgXd;s`)^O zxN(372XSdJ+@Sq;Wb0!{dQ{(i9nSq62R?XzadzW@QvS8k$Y| zoSutw->~J1don1TNA4q-uyMKFSkL#Dx<}0v*AoaczEcU?c?pgvs`3fq zDW>%-D(Yt(Y2+~<+l!}la-$P3x7k@fk%;TLDQzgfZoePpITR$4>fSpI@dAQPF@N(Y z|65f&q1$ls9fN4&>ZuQ3-9dA;6L)-wzPPM@(vn=}De4u-6HfT-dZNT~c}$YuCFLsV zHC;*|C{Zc&u#<_Iz$Mu>KBnFRApdSuVZ|q!xId`BT;$=rtw(= z?7DV=u)&yXu52>|lH!}Ln_hh&F4NBt%A~@E)2o zgq2O`XIokFwv7siBjomzvYW%p<8*E{RX0{0cr^d^vb4beP1Bd^|_fhWg~Zop~3jR9xx@ zS9ssAOqn)Tp|L(E+wPfo6wc1!bGC{DW6l=+6oobekj)ZE5jp?>pU~RrmiD4$!iE$Fajj!RXy;@Gd|Hyz=c2%HIb5iHP1&dH9`_trr~TY7=(t zCaenv_}rnaFsZbFN_JP63yGIVhOkgs406HkDve8goAa7JX^4r3pQ+%r=4(jok{8sn z+dY#Xn*q`lhEDxtbN!k{yFb}^;O#d~D;iOt2J9Ku6LjwY;cTXU6S{iPP}bEDXkDAJ zOf&M0tqARcH{9_V#!~nyVFTwN2=yJM7s7y>hP{HSA*FK%rN9f6-`wS^H15g3S-H$} z$~-+Bp`E(wk0(&{F9eEyHFu)|#p**7DzQr(#P_%5;kT-lr zQ^C2RF6=%p#Xiw41<7#YN0l&L>teSBK2rBKSG*U8!~|ky+rN}dS}^74(eTJ3`T$JF|EljsbWOj6MkCKZFtwlN|!Q&G<^+oI}r#Csl88XHxg zx8!FAxZX`&6}$Irzq+Dyls8pGwYW-JcW14uxa=oxpidLsjCCqCjxr7zQX6dh$l%oa zFyN<;s4thK50PKYCSk`!&1xK0K{#3Is|~y|dTP&ooxCgIBzu9u>S9`EiT%w+O~Kts zEZr>hr%Q)3%mJsOQ;?k~Zx%X`UP3#Sex~V@6*Q3T*N(1}$*0oz5>CP>^waw;+^mh0 zft3{u8#BHdobYg_#~u!5gv{ntw(qD}PP__>)(#8u&{WDuVe41@vn-6}7oA-JIy3B6 z+=>zhbFTA14S<^iUilL4Z{*xyBRd7UL9Z{Xe_6iextn1X(B~ChwIh90#@FuLa`lO5arR zRO@XnDqKreWEAAsU|HT=p=PJ5pWIZb3vx|j-MNRmny>lUDO1;3;_$002_?Shs{ARF zZ!)}Pp#Hqb8oJ~=_<^B`G3C_3bEmoB=hBoDm&Q3ta2T{IxKwFOKA&9GImB)|&7=sI z7+WRVu6$QfYUyUrV*l`xE)zqDz-GKc@jGJHHoP)IpqH!IkfDYY9j{SQ<~ljAWAG=d zNuc@9=JH*gKVQLkFkymSK%tCWf2kFRM@9{-FZV_Z+PH0`NQ`WqN%-m25}Wy*6>f+v z0b84EWZ`*}GJ5H!AU3~yG0Izuo2w{5zkw|!k3oFhoBO>;%Y%E8bx)9!h!;j$xebdm zde#9i_-#hl1L1ahA5|+XatRy=hri?RPi5{cc2^H>vc)#{vutCx`#mRbeI_?AlviMM ztndIRs$1>nFT6=j(WgGcXXddamT$QlmAERsZx#ZelGQnYeh{BVgum+o4oF0YX#g&G9U3XrYbc_*O66}Q_Y~eIO^(^ z}kCC66GCp3dsUL@_7!>@8;lg4QyJa;rGAE=36qIKizM)L1aAH(M1C37&Xl7SkBeI zZF9>0C{f&O7dO@1#d{CUpZjhF#o}jwRr#GLC-4oD*l!4PRKfiFUi@xqXmcip!8-_h z)Z6cQn@=dm)T@dHqAFR!XaxI(Hfh%v^W((cbm~&u^7!Lx$`fF0E@G8&$sUxRI%HQG zW4-}*D&i0^iZ{+1t@-jgeZ$T}dB5oWFd~fsFQSL^22LQE(iK_La2LgC#q&}9_7xwt z8@39uqe^fpo_@X3zA>|vcAdk89AAAraNnNn1?zGvAuX3$7s+RhA zvb%bzs}D#R9GOB@=!Lsd@QiKpQh{+Y2^}`(C_W+Sdl z?h>gD3btQXf92x5Ya~bBfQ1FVTi99}N_=;5BB{p}8inx!Eyon)OTX15@(b}!otv&) z5AVl)00KpDsSVEeb54kIjC4(X@er7kXeZqdSuT$44g7SEb+B8NIZ(0H)e^Z>VVvtW zVEvYF}mfq+lM zB;K8?L0f3X0M(svwJ2Vz6J2ERCpaN4?7Fhb_Pon%r8$|PDm5*iS4aDAK>krY_+M!D zv8lOc4eJfEO*=j6V0tuM`rss+ZoUQuC@|1^fy7xX3y-RrPUjJ4>4ggKRa>-fq64jS z?A8{ars?F_=ShA0SvBszBJJ-WG%SOSD`GzB^Z4_o+!uaTs}C8OfQ&rv+3^FgR_@@O+(IoX789|3^6Je zNeBJLV>2F_ulbwhv~XDcBIP#!^wlcAmK*joz4B@G;x|o++68KP-PDMc9x0ebC>rb5 z@+m9c&_#Xgg)3>B5>13v==g)Dy>8j-f!l_GE0sieUh_4iw689!d#m$pD@g1}*YFFu z+UlOiP4DPk$xAV~5CG9mf}IK+%W5>}xZgxGL~;kGTz$65BkBW{mT3RnvL&&v@e79S?>!4yVeMH$ckwP%N%*DTzkl)4D;o z_({n=y?ATGFQ3bbaWh@s$C75ZcPlPozr8YJ9BitT7wBw4H-qiRxw6T$Dacz?oQGSg*ZQv?-(mV4>FyG-ILOpq}uh@5K2?wnuWEmGGRF{O&P zlp4jk4E*uN0x zWjfpRTsSXJUy0;$z_H&i$R(ZM-p=DmmKgO@bB(h$9F*93pS#oYQ`caHO$<*h9~fDB zI_L{LK1*71P0t8^J>RJhpe-B~41(M3Jd7sUUl4KUajPiF_tr{}yN^>NC?!}Abd?q^ z`o-Jl+ERbwmEY?EROQZFalPVu{aU&@3ahi?hwgG5T5d6_wi+0Lr4>nX{eEX^1CWQY zI!^t&LNT}dcewVEtNqRrC;fI3jKS>FU0%WRYLFFtil^|~sXESMogj50x9+UE+ClN! zt&@zxyPVuYdG3S`)6fmV9A5z7)cVjGcRnB3!fMmVD!j>%RSO_5oQP*Z%rTv4u~_p#SF2OQZK+yCzVE0 zUy67>vnlU|K_A#*9_mq#fLO6zNCIUAcMYd=4JQ|Epiwvu$YuXxcNJmn9)Y=PC)8mrFuDl_~70wW)jYIV$;;fhEa0E zT1j;(*>)atz}r3yV)vczN1v4GH?pN}-#TQQF>A)5gMeR)5Zt_)}TVAFoSmSRXAG`+6L>rGMkG?6|g7#byTP(>)`g zpsEuy?T{$3E?geM$D4GWEZDjy@C#wbjPX?;?%+5zq$ z{?h#5vh+034NPCHHW`Pm~6L}zme!6 za9vpIm#uX2qj-T{SH;EVqT~+_I{Ww5Y<@h`91t0it(@`NLev?i&T$6eNib#a_jdv+c)-30!)0OAuZ3{f5!vM)vRO%s z|CFct$3&s>XM+w?>&OPPU*ACKS}l%R{%UT&g%+~MSbxN0{t<6O25@+9R&RxeKR(2B)J{5f<3LutiP?IKU z^Fy8XkRm&+zU$q-UPwJP$ z&UY>e^SBQKmO10J-^{ya^HJ?;%||(vbac|er*FzBXz@+IJboP;*BIxq=mdy1VgMQ`q&K%EFoE^c$ac6%B~XzykD5S&G(9~;8~=VGQGC95J)8+6Sewf-uVga!dy z@eoKS`MzAM^9~_;n!$Je6ckLqmdrS5C3ai;Js!NSL_Iu2oJ<=@J=sYwUYZ?1!23+Kg!Cx_ zMxuPwq_e2En0Ep0g{{K%EgAQD4A>?}gxL*unx6zkYE2l5>Oe@iwnbq)>5q`q0xJAo zP=@BsrX>7Q1r9UoXT6j8^>ntl9F^8z*Ayl3>M(j1piedvg#`=j46}PIULY^dKLLlg z5#r_L<0h&Fd#Ya$b)x`LnEmWb>^slCID4R%=j?uoc+8&YuDkc?>AFcJ6Oq8-c_y~C z)U&tmm%biu<6(=6_bY!BbXcq^S$x?fIs)o*i#D)1>1+@kPf5wU`!df@G0m!Rp?`v> ze735GI?1;$Zm_rajhDF=S_vrL7>vU~uG7Zys&KYC!a*-;XBv`U_3P~(X?VJNw3mEk z&pp77A?bmsZC!LV=?@Q7QJ%!p^n)Kh@a{?uz#qm{5*Qk`i84 z_wSLcpMnf2D#T&2N8FsTqJ6U!i?7Zd(mcw|KM=oXu4zsx_jW0B)RCfpE$_DD{m=_E zVO)(N?yldR>Q;YJs`f+sxbZTPt%}D9n#n}cb>33xBmpRBFg~#LD}ROQIQaaeXs5HK zVo~@2M|7kY$3!rzy=r4X;VU2G*Vyc_fC96J^MaM2#$jbGW^bu&;&hR|UZ35G0f*T- z&o0J%U%C-c>HMqoA|OR|$qXM#^&N%Ga^=Qpwk3MWKj*#K%m?FhTX>gy2eXV_2nXgle&6LBWsEx?yPONA%xqY!A$>wI zJ2N`3O<-zO@q)aQfYk^;W?xac>qI$ja^6vk%C?R9?x>#QcZXjSFLYa6fK9V0vkkQp z!jDcG%pWd1+nhdcLF#nSTR*U}XKr{}JMl8eMQ_~cv9fM)liPk{hBI1!PbW=tJk^p= zW5PL|eV{>apSV`HeMh;vKTHArxrKr-@%+SETqC`Egq|>2#62gcfE(8O(=((_D#tJM|v&sVe^xF$SVgfog)M5Pz9_pL#XNM zOH+7)VKwOJr}#um&90Oud_LPDsp9b$hTi5NWJbfpI@tN^xMSHXES@qsFN zvai(~@*mzzoG$c(>KOeiRk;A&=fsH)%&44kHML?Vb&r`dC7nnrzn(TF!T{PT#EWY; zA1MJEf#N({H7X>$JaShvl&`NhoAL>vShpi|GG#|XyRb7D`N`IJwkcM@ZQXC3c^3DL zu)^#&qU~?AS7UQpl+Ue7zfLzSR3xUWIQ40U?R4;TA@0JtU~j5DeEg&tEDb#BpU5K- z*7PC@UmDmex7IDyC{8{ZLHVX3dJmqT(rg!hhI3h-HR-Kl2z>OxWP6>nt{@*bWy_c; z#=BRn_(xo&_*?%nUA6LydJ^^(CqD6g0wo`3$ID;d9+1KWAM(#_?EqO7jr{9#l0iFwQH(15(pCQWgx)_`>-*rm8b zN22@z#(1UeK@*{F(D;ngd#A8n<(D(KF#6rHn6%4&O<~Q!gvIdG_I6+Nk*wz}bjOUMFq8i}ID^>dnVwM6p16;3BTtiVFhR!%g@ z7e8Me^I4OfD?>b|5M!`PSB;IWAJtgT&nIPXEZv0f+rt)u2a?0`>GtLJAdjnczD*VRhG?5;yOiyQ0gMjy_bAX;CixBUl9#inX+Ixn{e1kuFmO#R{O4f;hB-s#f0{XRp4tvY+Ei*p@Q zqy5fi+^@u8ksAJw;$Bsfmnj#by-5mBfs{zfXY!N${V}_Q@2`12K&`naMW4V4O?fiY zkHelF&?O0{5o(?4tsj)hF{3>1WQjGOOy}YT`Fe||r4$u-YwE;WG!z77&sM3di$OSJ zNm4!P2v0jbYsGDf{2avFaUhz%xT4|Wa^gHAAm;`9C3{fx+>DV-RYuwKTS}XtP^ec_ zwY3|V(AA2_Z{bf%JQy4t2lBjyo)lL$n-tr&|-CFKOC@I;mEr-8ILYV)af@| zfH0dsqGsqUUmRdhsW_~f9rU{FivqW|jgM)L$KR|B&__u)B8Www&wf=l{g!ANNggmd z!gV(ETY@u{{X5Hg^$mw*pW4pNmVUy;8E6b?cFFp5Uynd{K>~xzVP8xOv3}LQBuRL6iP%%Px%UrB` zq@vCmMHePUO#Qcs3Fi~HJ0uQl(N*Zl2hooh67ac+%Hsf!`tFUx^TRT0K5Gg|af`f|d??O(_ zdF;?zIVzDufI+q;vbBGAh9Y>UA9gP47=s{n-;c9y)O+s7Z_SOwdE;)_%Igtk`Rwj@ z=uV|E%xX9vlL;r4g&Y$7QOboJiIauK5^}NJcQ%ZsqDHzL&6A|1#x0mAtd8G&Ti9|d zGlEEnidMe=cG7t;ug)g78X@G6iH^g#2(Y6vs+Jl&-E7)5u1ayw_s)HG(++9SUN|ZQ zdv@i?_@zpgubwdbZdvkCJ3=23Z5MDPt1!uZ^n2uXCOiTnbzuDb+u0)U{)z$vZ8TZn z1QvqwnqzHdrAF>3P0zS4gX02_hdA}TX=w#?ilu)#VtkaaZFP_-_2ktS;&hicp$T3v zzwY-#=iPC*{Ur#t=yO$G?Y9nWY!sc{Fl*TFW+#O+O`-f(!Eg;HiA^9MYR0%hF%>mM z2tw>cgQllL1dR)gj+u`o_{Q((ri;oTV{~q~U-A5EN3%dY7dA9hP#57KYJ7cS`0V%k zq`gUkkD;g)tGWG5gGslrQ>RDd+*%7xc%sywv7Cgbnm>{sR;GR3CLSloI!xKMvwL)9 zn}JSJDXuUs7UglYg$A5f=z8#s1uf_Q7|TnYd8m)aEdSs#Rs9pPaoYi)>3+Q6*Cuhu zG+C{$Q_O3>ZVPd-=5?gCyU0`6c6H_gu#1`XW$>8Mj=P6F{x%y33&}!+c}lhZP+N#G z-&Wzsh-PAq^EgRNRECJUwu@ZuepqaZW%LLWahSG&W=|M8M+r>%CFqx&uYG%jM6W>_ zL47^!i>S(Q4?~X>$xCCI8$xx01z;Po3V3(XUi!G*aMF0Oq10$p#sHBX)%B;HDS_tc zUpdYaZRjxmD3Mn4WuiCiVKzB|d`Pn@qn|7zL-lrqk+t`)`h~djFCVS@@FifN)&uqw z3D0A{Lu5E2QS8vPp82>vc2(It(ZVLe;}`WI@>>DG8j*7K0Yk+R%kmtzzPQ%wX24^u z(LzgzY@l&+zU~;*#dumGH~=B_x`fT0&)cD@_1M8DvmgYp+V41?_Y$U&ioWBuF$})Q zcQv|MK}zipLr^VUD&D=dW!bpbt%Am`1J=e+bYKo@{;(j)n3(s#LIJUgdkAh8$2y8e zx@U>;{On$v(Q14;l2b}Prt<@A*FJY!<>8FWo|(|v_pzv0)Wz(ahGLWg)4+Dq5GKM? zKmQo)J;N4OVM=@CmB80(2vw#TP|LDn0vMA}9%1>;7OIZR3umO6^YSo^tFpYC>-B4; z8F=?8;owmr3_z+<{5%aqt+>#p#PW6_J882V+2DPdaRB=lL5RT92o#$h?OUh9qv6nk z61Q1UoT5j`^{+@5Lz4>d%}$iWZZDXA`sv=}z8J$aolcPLX62;9B7Ad`&u_ARlF@HW zW8rM`#M*td)2R_DHM%>Yl{uW6>}cCq8YTbH;VrwSwxYa>`Kn6L9}KeoX=D6|Z)U*s zOXC6dOWs$)W?vs4Q<-fI{-`+E%g#0|{05Y3%%JN=pa-kuc~bm#{EU2O#ORT`v<%M< zSmK?MX39OvYtVF^avi8I1@erwbz<}>=n@BNw7eauir>Qh@Yr#4CeW|7>NKy*wB&C9 zWtsOiPH&Tp<{NJgn4hQ>@b)_09Fi)KUj)ItQ^x3FUT7G2gA(kGT4k~=2BVCd4z@y4 zE{~~iuE|M#n@1PXosFV%Aao9&?zm>Pte~BouZz^9<-My7vvx%g=dZmwau>>K)onT|M?%Op>2cxVFrV>BdHLO` z?ZAMrVje9WEk=u4tgp$2-~Hp)O*VN!$Tu$L+qn~Uqm`!6W<5pb1n?m0S}wyuWZPWkve-c@Kxh*p4j_)czJGm0 zObuOS)^kfyUhDoZQ|(^=M=;D7`T2O zunW0sg4Fqvt+)??){z&rt?79vh+MH5}^Hx1Wy zwaL&EVwOS*M_Q#Uf?bJ3ok<=f@eCha?3shMipmc#;j^2Ga$~8;C24YGrKpJ(^J@*e z3^A7($Y%>u@e5%C(~$Sm zCB|7Iit^pTn3ozlE*I+QJUZH+kO-Xu?5%O!VWjVRK=Vob;yO=^8$- zWB7>F-4NX7lXki1adRdJpZA_Uj`nRg)G@eBT)dt~N}^1yulwr@=?nj(1-SmiOr61^ zxMY|xcyJN-rxQBi!CxHkmURSQOz7-okCt2p9jBN=AqOhgV}(ONaB}*?^F1?d*0uGm zVwVaZT$ycXoZd8q+Fxh=C-1>nZHg)kewTjQ}wayr|0S;3b z4U3@c;}U>ShR+^KBM?T%5r~F7D1ZF=w30|XjbI5sifiG9_N~7PxW(&dKHa#E-@^)9F{zf}5uz!P-Lb>(_LJD?Vm;!mish&dQJhA-G#@qh%Y&(9KQ! z(6p@a#2$&Ej4Lv8$REMFGW#S0R3zOEBM;)7!oiE^vnwGhpV0J(-SeP1>sj-*8CQGl z+c-4iL^(rR)j2o&RrI#A=ZvRfTDFUIn_fq_c#L_r#Xeirj^=Ryz2>rj)r4#_`n?4I z#FgleD02M@V_)JwA}ikCBCBo>@ovnL;?o`t&J#Ts(fIH0dx)sIW0b26_Mta*Ax3qG zQJ`h-LYTetXO~ zs0=B6Y-&exx9QyD<}!@g*Yk34UI%o9I&gzk)Rb9+4Zq*`PLv}Iz;+|%Fx)}V_-V8x zvH~o*y3HklxE@=)ft+_SN76Wrah>*&F5Dy{(-1UXH^8*3FlRO!wQ-}iz3c=|i%Sk`FJ$_`r=&&ZLW`BA3Nu?JPj=a?=K7{fS)3JRL8mUcDShalcF~m z)r;4?@}ik}-rCaW{4yMJ%3v4!=1u_M#Qx+OPy7C!3H%#z?O?%W{Bd z(+ZMV;#z<-)`NS#*5{Oi{hgCOdzS=wEpA*2spGK^cxE-r0rPV)YlX|ddQm&+cf~d7 zx6@ag)5%xN%quYBQRy9tn{!v&7%)U>&|zol~;IM9|{I?OSKDDZ#6fO8ktV)b5**w zYqC|5-q!m(7i6;h6SBlM>PXqne&B`1+WB;zymKSECW@{wUcEP#W>T$1SQ*4!2`3bg zv34L3`8j>o^-~t&z)(|-!-1@9>}$@ex5?_0@JPK00UJ~6x&vtU_o($fs$`~#*0xmYE=Tq4LtYf}+8>p7#EKo1$ejku|N0#;b zOi}B@0AX=Fx|AU=XfUVp$Ati#GhJ!2SoEVGRm`GHHD~NqsU91h?2g6_RvwkCmpz)! zTo4b&<9RmG`5N<*T8ozg(ADAt6R2-j+^4W}!L~^I3RPxcO9z(dClVu%$;%VhlFeow z^~y`n(T3g1TDeyPDqwtvNuQCxcVAuPtv-=>WbO&D4e~w#~HT)>F`G zF$A9i?4^Mzhe=(zkU#G`h;6w+`pZ?vyywqM#m!TuoeY) zE*zuu(6z8-M&v;l!QCEx!pwmn4TFJd=LLwPOu6sK2j$7KF;GbUJ3&t^8SPZSiIW4e zm{cFRo}EV#jOU^1#}XDO*DF{Pmv|P$DH@E#;Qw_{ag)OGc-u}o2lnC!Y?2x<5VlpT zC7zS#jT2B`m->pJq`6BsnbMKRze~G>XX2zpPTZB!4(cE-crk3@y)c;)BY%su zk3Kl>@U9Ttzt@a_T5^Xpj<>P&OCraoe3LIr3Ir##`8(M@_;N_CQkLL^#XPVTx6kzU zP4fA~qTXJETNkc7kCBm9-w!TO%c)+fmY1-FZJU12pm^i;9K!g#FTU{tzY*I*3h4}O zwq>dmiJN?gi={vH8Y!%?yIIguLPvF>@Xjcfq`?QW)~v=xj@!9bahaAAclHKs71Zq= z7sHe#eTubf!n9TXQmd9@;Cb+7V$9lsek?G|(hxH;E_OF0(DggGZ>9`fxdGcKB8F|* z&u@_D(iQ<+{ElgXmO7!Ju_mcv%>{^W-K)N+t~g@>8N1WSHzsLZfQ)Hs^3}+}Gk;*_ zg~JD5mHaL%=;BA7>b1qeD$6y30UA3^a=Okn8o|blMZ0qK>3kim&W*WGahv|cKaJkA zH5ZP0wSXI(PCv8f%6~kKZrTyn%Q-ECg6s7@PXqUXH6K3BIolWwv4H3?I3(lbn`hrcJ~+E`*YMvLN_ zL;YdlmAp1i?F_^SKCF%UNUr#Ux#@*e;*XJc1d#MWzgXhn+UaeT6I2z850Rp;s6{nZ z+YmKL6t1bYPAhxHvk%Rsai?;&dPVHoK$t^6s-D1DH-Zu_a~XpIW)1Y{Ny3A0eRE2H z(42}zCH>D+k`YoR#-ba|AiZbz&vd_W0XjK>g_QE|Xdb*bMwd_Q#aGYKPh(}FALnx; zoR_LBzf9S}3Fz2PW}FHUX1vk+`Em6Qdpchh@~^u2pk||J<*x<^XDC8K#cMUKFE+S9 z260Kacv78w=rMAzTkK>B{W%3;P!u^ijkZrG$IJp_{n2Cb{?=o^ScLS(JM@6KI&ntM z?r_?F$4m|!B;%aB`;+>3mc;iES3(B5zLi6KN-F}~xjJXp@<@?s*oOYp{q6)4a}()j z789&&A{!@7y&6Jy4WykcL^GV9A6~k50`Jd2o?YzL(7-}SU5sZG?3B341(M}tq%;z# zxM2y;y=qJ0gkK13cVz$z%hQllPDe3zf1A7lqS7h`I90I_5~uGCz2ApZE)!J=O=f@8JhkHn}U*jDsRWE&Zu8IP8M zpBjrHm2T#2Ol}+6pH1Ox3!9-P9f~Te(@v}=CTQAcXcQp{)QOM%xHTigvNgJ{h{}mQ z=;44Z!_30sU0tSd&bR=+7dWAVbm6i3lSdWz&N1~jCaa>S`L^%+lTJR(C#O;@(&{;x9P6*VCDT^U#tOGSQlsBSba)OnhteCC!w8$bK>vQ=J+RS3BqYQn}i;-;5L7xVb1!OM5y_H<8~r^9_``=OC#;B&ZS z{!Xl=G*Muk&2$;MLJ4chThlg;1%l471-xZeJt*A_3pl4GkQtFU^Q>?Fx_UwW-r^>3 z!Btm_>7^KqY|4iY5U!=+@oC#-Am3>0#rZ;K z`Ji{EyO~$#o4i+g93c)Bu9@Jw!;j-wAM{c_J|W1XE34;AtVhzj#^)_kE;5o-`>xs@ ze0{l6@gWrZeRdw`J8mr^B+y38Vt>-jzvw=#YbB(4JELa9^(!);WUPMzYBQ+_zw#k{~gQ8=(6_gWu+WEw$ zp@x)rUC%G6t6)MnjSDeUvD28bZ{%SQe;3G_A|pDo^=zQFW6#3^(M?%mm12R{#h|(X zF^4{w$(O61!D(+ED4iClQ6KJ`Ci`eZw4)lcn^vWk<$iw=>#w#;)4z`xk)7b^lp9Cw zlFsJNJUB^LctiEIyo85e&|x7%N%4K(s&OwkfiKCdFjR}pxPfD7;1bG`-eYvwBb-5D*FbbNxR^6Y%-cUXho4u2gdS}t`1Uu~;vd79B?aMKAw9rH@Ab+$rOnmPQ$lfEzrFt9gDEa)ZZbY7hr!1LwEUEBE3H>My<0kTkA5!0$faPqmr6hN zj=kaooT-#jo=NeiVxxpaMOClZbVRJ6+DJ=y%Hzrrs(qrN60KQz`N&7d2@fkqMa&Jv zim-G92B!E4X`AafpFWtJx0wkPt}vcUewjY~FKP&liTr%Z-?bhZI7mKznS1ic^Wo0d z9!S<4UinbsK%Mh7`vm^$%)4dc##@H*wk^~V(v#hvBQq=p8jZjr!$r5p6uaH8xDWBE z)@xRrFHeU?L>uKDAK^lO+Q||;e?0zo zcb_n98*j;U@&~{BgpF9%V&LEskLH*_n))7vUAgXfi14YCRwtx~yHbkiN^rt6(=))r zKo(}-p<7)^N_NuI=;Wn2-)jTqw5esv3}(_SKfkRCjDYS-Y1~^wQ`(V|}UnP%&D> zJ~8&olf$$>I=c8@VV(sGLjk_iSh~smaF{t=A8>l#g58I%MdSL#l$TU{M+uupRpoL`mD&Wch}}yu zyDLf02dTz~vkFcyHX?e9#550?*T*QUzY|!QYqd%qAKq`Q#hSI|-g%xA`|Q0BehUfw@a|FURBW8>)0LzAm0I57wB*z%mv~bMe(|3J z^(9?8^BM35w=VYp6-V}mo)f-{y3SbxE{#=?ay|d>W{w!8PQK=o-nzHLz0`DCXZ0pa z;MJS?GySp5scgZ`!fpj}3JyI1_2?|rey$5!I6!`<|Myo`*a)r?*a{XoLI-OBt@$}&Lq<-nEeQ|6D=vt6o zu=1B1&p2Lx0xCFLk?*kUSfX=(XEA(9wc-Vjm~fW26mDl=QQw_k+S5zgHXy33u-C~& z{<6!FAHO6}2ZjIIe^6uUMecDQzLTcsy%Ty{-ohP>WidvF*LA2)GemLr1_zo!(SO`q zgUL-Rssps({UQ=8;JTpo{j&$`9dLppUc znn^QtI;eN2z)FSY%7P`@mn@Vi(>Q$kbzv<(Wh^LcfhAL^ncwQB#7dRl1<(dUK?Vqk z7o;zsd7VtiWcy=nICDU(-D8%6qGGHT!n{G(uCdysEo=(L?1zU3i>;g|3p}rG;?->- z8Sac_1AxXxJf<<&aebQt1pmBQl)Lm3&;BrMFF)%$4m7C0bNN+spwz{LszK9!lg5=V zzRj8=3&nJoBlv?e@+i_NoRsLAW8Qz}>-RFCey-n0+nOJ*x6Ve9{?zPeYuRkf*ZE^9 zDvpXn-(CJ|Myvy>$$d@?qu+TfeEFBYP2BS*m}Yh3b?dnG#!6k-X9jXDVu+fYw(yUC z=KtS~u>U1(HK6^lmq4?Hgv`>W(ufdQQa>;#;HNV43?gBD&T$(q`mG9 z(#xH!cfHcBH2mOG+3*TgHN{!aT4$Z?7KMm{>G`~!OdM+62}eR1iwvSnyB=#S6+UJ! z&r`(XM-b!T3DssYG`ufT`f{K^k!#7txQ~7j=#tmUtY6FYP?M|)+GnYPkU#L&rvsHY zx9iy5q-Vcy6B|jSN0rdiAGnCy)voHErb?aj(GNKB?Vurli4uCc^wru0O6x}}=KQ$E zw{bU4?{lr?xPRs~Z3E_ySLoZpk2sE+jK`@^FSd0Mv6t$rQFB2&yv_&X_Y|=*CdaJ~ zQG|%$Zfg7l?1qEP_5a+pjK}{aa#=Pvo!=PWRf+|F=|$|% z^Ir%TGkzB!+6+p>!eh85je)Z*Ia9wr+VJR;3-!oZxvZJ@g^;?Wn^XH(E$ZX2zmI4l z)SDs^nbF)s-WG}|gkFf%n0IEY-q%#50v`p}35x0wRj!x$rUwI}R#_GuK)(4&4l_1@ z>Xu%HPBo|*#*^{siHj!3o_-{pE;3DmB3q_1x9DihQA@vV+i$D-;XyA46C?=>_v zj=hd&J7K&d7qwNfHmZ#+N=Q46|6F_3z34#fCR{)9*CSscD;Kq+`kA1@N~8>k7yW=` zAh7mI%Ey9j%D=GEq)~~~+6Zw)rtkRlX1vxCMISw8?kstyGc@0w453)?ins>mEav%N zEc$Dm^M)dBZ}E%PrNGg8(^Eygi1u^TK_x`pX~@VsohVP4ONEI| ziHx+@43P~~dI)^h3UfbcUx7FDKN6(rwCu_!5LbIV9Z|Z{QXnKN3Fn-O6Jvf&1+Fb! zfK%g7dyI{YP7wh8jBIW$NbCdXQU}WW9}6uYac7Lj+Vn`uA)7j{P8CF~PLcb^+_xwt z)!Dv^rt_q{%3sFV6fT^^<9EqFOza~Hf|OrB38TAfeXup?$F-Z>9*_>hc-}2&W$h?>( zo-Cv#EiXr{JK*(1xQJEn3#Y~rpJE^pC)Ywl10RCC=MbvA?#`co#l9m)4iV0MLrkI|)cSaFJZZ|2(dBQ6z)q~((?jxq=*AQ3{pwO-U>K3egT)F_p? zX{~pbU332FXxhA9LYPM+ye`I~Tc$D_B;7*5*$G-Nx|FcjlNQfOhx|zY*eG>r2=pjfO z2pd?QOA1_~?wf~H$=>8fk4wo%+?U{54_eZ+=I3;4)`;O>ngVYW>9)&mu z>1+-V^49gH^zku12wB#`O&1x-QI>1lJMB>l|Y~JrK*>t@itl~MFHmx)5b-c z_(f0Oapu6LQIs5lltBTdj`g$m1GHr;Gr>i>*$*u(;k0fT?C;g+CPAH}{RFc6$Pmfm}q3OR}^h9NY-^iq>neaq@bqA?DQ~`e@19LV( z<6*&R%L?&nh|2{AaqNW{ui0kqbil#UX?Oa~ik!2W^z3<|Cfyj0?d|cLTDp@F_{H!* zqTbe`wrl5Y_eavlOU`_!N(lM+8Ho(GE4`5UAXCRx(G%I9O}C0{fH1U7a;P)CP}f}K zJoD`GR*MY39*b&7V*0o)&4}5zG2urK){15q3Gq5`Y&J59@jRK(fYjT$K0p?8^{#{! zufv*T>&4jHPV%9h8WcV9=ZpaMjQ9WF$K;OyetLQGQVTnqv{+I3v!;=?I->I++54K> zWP@yRxA!#af}!&2p&HLhKE22*d-;*+u!4}W;iMs0HnQrjB4W+w)#9Qp3Ro6x{yG6> z1w~Aa@TOK}mkz4*6jiySPlUwU(TCBAF6d6CQg!Z;v(Hh8^VCaR2TsDkqX@^#(7~J5 z311~&uclnhzS&p1rguSWl;p8Y&vVv=BtfQNOR;M7fRol?OL$3$X)@X>Q zn2=VbuY%=OT~{LJZ~*TqN}oGHIi?DU&Tqsp*HAyh{@f~B$j z`7aZV^oXm-B+9n#bl#MU7!gi`wwflwhxNwfxH%L4mkv7XB9TXNZSz6GW)Kt~OlC9Z zXIa{EH`SvdQ$bYqy>Ok|LP6eS&yE7|wREmWu)R+9>Ru^dS#2d?OpHm@AC&Eds+!AP z(>!0Ru0bM>dgdDTIWjF4KE|YPquKXiP)u@h(}|A;e=f&(*0;D`gZ)E;uhl{)1Mt<6tdG&;AHv!_0@G85l_CiodpZP1d$-q4w(t^ zoeZj>&$6l0V#3UsvjtQcHwJdiGu@8aWCj|J^CNq4k`27PPkn&4*WFBj-Cc8}b@URy zt;Ei1$1UG9K)^~PNcv2>#L`(e%m zAm`>6{@s&eIkNQpAxqBXyuo)otC_Zzwa>S$C8&4!$@#C7by6ZMAx7DbBZvr{WpB-9 zPdaME;HNqtN3<1(XWf`TJ5`F_Obh3lf)nD(h{*Ga*g-MWOWR!`cuPG@p66YU9- zRx2kSe#~u8dlyYDU(2NhjjYM$j}t8OLY7-cTCuAjENzS^<%atXn?7ObcNnId=_mXc zU*x36pKmfg@bc+T6Q1bE1&9G$`S_d*ZpzJGsQso+U8c+IC88)o)NH>(%c}+H ze@ZAkD9@K_za6-==YcV(_sKUhoyF4y`F_^iI(0ki!7w9S{8GNA4ckY%!c|WafIynd zX_unu{Q6$Rf4t@7F6OT5$y|UC^|AgacIj8q8;y6A^YTd_DZ#?d&!H;IF{B)0P4Xs% zS*K?*pWSOCCO_)T#Mv36R}E^iInOfw!oGNJzBL&U6h>7LahV8ItHVc}nd=3Hq7lL|pATu`m6^!|uS{2De#W#~ zUQ?1#huhQ{NDaq2Gaa|$*jbNVC0ODOQ?Kgls2+LqCHbAY{0?>SY+fI^xKC++ooCIh z9+1~+*O^e2`|aU2(al3!sJ>nZpTBT)z%KSw=A+*@AP#_yb?!yLMIOD_$1{9Mz8gV( zY@f7Ri24wzMwOf|{&0qyg2V${9l%IGM_rRc-|~JDUvX;E*ROY`-I_%zJ~x1$ z+dfMbe}SU>w$sGw+M?tj+t)g_o_7U%Sx`7q#vbyDEHq31B`h*+F- z(cFifxDJk|!hdBA__n-kBr|C;j^cGgm5k-Me;@)t%BryoK|9uIp4$npkq$8>vRc}{ zYTIr`tfcsykg7&d%F%+NP17R2`KQLXzs1dqe_E?gecQ+?aW_2D*#}x-xW14Cn>G&C zd0(`sN%K(0(hHS=-ki_BAt>RcGRjcEqD?9{^XP3srJxN6>J zYxP07Y^WhPMex@&M=KsW%>t`o%JnU%>gh3+mV6-v!J^VKH)Q4Xp~EsEdVdQyf@TI= z45A~bAh7`BGC58!%vg>*h{{tLrj4jc?%eIt8xeE4;5g9UCojEv`ApXYJY1ztvQfnP z6rmaaoP0B(F<5P~by^RvRnckX9aK`fY42NPTAL*VyEWpLISc08R`wycQVFB`_pbiz zl>vqGSJDqo;Cx+YjZ`ZLjLOF->t_5D>EC98=pVi8!U z-&7opB*l4?3CHFJ2Yc57J15^5*@ey^+pFZ%aEB|@=mL_}?rZKKW{{q+bM}PWV;hx$ z=w7y-G+8ab>u0D8e$?^l-zl_rJzJh*3jv7yz}`k?%UyG_cUgJK9otQep5l*f@txS% znMU3l6Xve^c57!tvZ~{l5jJ_v*YdN~9o>X$dy86=L1(_9KK{##vA4%sWEy-vrES$A zO6HHbRZibBB)~i1UFy^003v-xGsuP>9?W_F*#lQ+kO}Ynu}67X^;7~m ztB3fQ=;}?|(zk4DE9(K1=lQYd{_sU=+mYzz=0dk9*5%HLRla*Y1RFZWTn z>M~6wO}vhf`TAERt-!|X_o3QC$ik7-8qYZ!7RC>sv8}YyKg$#qd)q)oOe)aoI38S& z<6id?fji4d0vm(UJw*-%#m21T*QWI|ELY!*Uo~TYfeY{b=h}*$LYR` z2nsi_eAtgmL~dmzXg&E54Mybv&tU2}+9CE$ zjPY!~*P<;wkyN(Bw!EhD!lL}F~ zUMj&iHTuKXG=Mu>Q5JMUyhSoKdQ-hlha(%!avH^Hq07 z{ldS=MIIKU;rYg2D?NeT+Vg|EiHF>IT~%QL3L<5*CE6Q@?kr z4hJ17Lwv41R?UawigFf(uIKh5BB|B7*c|2}KvYK!Lf1mu>7&N&Nn4(NNhs;+*(s+# zNiX@XlZ|()Kx*^v3x{d0^duql`=+_Cuo4O-T+-%$Y0`ja6?%%QDdH->=kO2Z?YmmK zg2z)=7EqFnFEgA&5lCm>sDKHK5>f8VHX^^_4ZU;gG;b0*g+LtN7IDqG%kvM=B5&34KLDc(fT)6%%Qc%U+l!iX$FIeFH8;8-a3%&uI`Ar z(_q&wXz3KSqK|SpR&!Iw0f6e%7~$3-^T(}jX3td>2@L|x?6rB#1^KQqG7CtD=ToS+ z-)dWgr`uc!*Mjn7at}l0ox{-!tO?Js+^?J)d*!aqeg^w_-pg)bR14(>^NS?yYns?M zHFIg#@c{&gRZgn7%lx*S+4gGi*UR|MqW25u4Eu1ui`%6iJX*tB9~RRni*@7w{s`Mr zzq0@vlJJo}i2L&TrFBj)l}BG4SKR1=CV%x8d>AG;5i2O->YZuv^RAT&QVxbC@H!KD z&VhX<$!7_UN7bzIwxYsg9yOH>Yk@oXul?ck@-L#@Zf=)TX*sT-M)6m3B&=Ycm5<^5 z&y|qA13t%SbyJJ3Dxla1_)TkHgM{g3TB#szp`$*{Vs)@kWg2R9uorIQRVR%1fe<0j z_Q)dO%h=(o%d3g0R}~mtdET(%IXE}g;iYXk_}T8Po$8xbk1sg;8WCMS=efN+`H>q^ zT7_D+&sKXAv%myc?kEMab*UaG8BUpaaJDbHYX?93DM(IUu;@&4W)Y&q)f{xuI8x0D z6$P<%73$TF+3lrja~#7oQ=f8;A{UIoU4@S~I@jMnX}(tQVFiZHFy}&A4Vy*G0g_Nm zO}feFJ&o%mokLW4s8adt&wCQY@(Y^RiBS~2ToI0*btQtM?9dCRVbJqA%eJjiwsfy! z&Q!r@@lh%}9XD6znO*}C2 zSw~e)dgXQU&U?cd8F5uyijDRGzfNhyobIGpmB~YFO-S#HrriKj?}t|OutOE5Z@edA zbm=f29oD6UU#Py_x}LhzCm-S!{>VU6*dAD_Y1^T1FMH4W!#!u`!Fm*FCm9D}x~>!t z6WdQbJ%1Kg&+4E!Gt5;TfGNpM>?9DNsqoC$IsY@tT6as|jkNu%PXrDN@1u)Yqfah9 zIJydbj0}~@0ujeMC*p>^hiVM76H--CS+QW+hjIgF>dyea%#yW|TwAw&EY8*2%CaG< zx-y9sgY@2EF}=4!U#??5K((K2AF#k?)lKz|E;NH#G1`CEiUkW5=XL>36?Qs?om(5+kLk0!>xrz#NIyrpd z`WFgoYatu@PtsHrHt0lqwd6SS$cw`r%@;;H7c*CHT4xyw&&%~Fe-^TGGd~3b?r#TC z-(*OCCCS*B-V$MbUptkyhbVhse)nFNpLe9|`(Z$r0JmQPJT-D^I1ifE3w}wP*oRhU zOxYf5d#cgz=;EY!Q1ZO11s41qhS~S{)edO^*$Gddj;Q)GT8jt9p^#uRrBj=dQ>675(VN!6LnKZusWW@{IIge?RqikwrPq92`` z(EP^UqXVA<{)+0aKgzK608TkmR>M~{db*)Gq?F0WQY`O5ua}dwJ<1TE^;2g9E3(N5%(!cjZS{4PG#Cu!y${gd^ej(C`UHZdq}*c?;re<{ zbDCMJCnxJ4z0F=0PaemGKDmz53{yN``g+a^Wo>@%g{>j;rM_R}{mhLm>=cRae32mVLhMkXdu})yS=DK5il7fTw%^n5 z0WJR2{646?6RPJMcCGQ0S8cAFP*>ZxxRrasP>}2C=G?Kj*4Wq=LZ7v_Yh3YxYmLq&CK6`kO7C+)#OF80d>j;MB{l_15!PE;PkcTMXyF@NBc z4C;UE0=ZEB=Q%Wh`qZC~ZV$|?9 znwK_~6P#lZ^aiW!<;XJKNhM#ht$?vqL7%713!zm$1HO)Y0q-BNoq9GJwd(2VF1cEF zH9XmeR#=V&G0g$tprZ=hSP(exQPaFW9rt)ASrMx1-%_>b>=bWsX>btMa){0}7^9X^ z<5zkhs`ITOXE_Q>vrUio+COkV*3H(|cQ|g;ueg*27_lAj@qy|Dy2uafpJ}()QJGg; z;W;u@UFu+L{@yyFN!Mn-)TzqqH|c3Gkl-y7$e23t?=qS{e6`l`Wh)MV`~Y6JCfMva z{h!E5=)YHJ+FV>9aYLj+r8?Ky4Er=h!)>E(RGYI0|*!LRx$s zL($Q9VxKTZ(kU=gBi;&$$@)qBiKEX@SwG1CX)H0S7A>y#G3#OojsX9?q%ZSN0h)rA zJQ_5iM&-w^5>e;%Y)uY>N?L6An2S%-DKI=Ia;4+Lo&ly%usY)fwdS*g=ucYy%~kJ4 zhU}aWC;$)al=XC>!I-?}_|{}j?eRKZlzT&gmk9h2VItZ5F6VcMY0IM28?4F8idRR$&WkK#8LBD2MmczX6@r&S;=Q`u*K@( zTxfiKcVprM|IDusW#tE~b8Ek%@CkX@EYTG69(;*rl{bx}Q9!j}XKX250!tkUHb)4% zzxRc=tmM7Q;H`!{yb;&FnjmGy_F`k=xG18kR~BljSowRq|I^<+_@LWh#itYLDI;5B zm&$gy$R%_zsv2R<_7sc27JB&ZT7^rYsE==qHQ_d<*z?uBX9`b(4mBj>G#~U5&?d_SWv|`;d1&)04kM(<3M!g;sOIZGXAJu z1pceN^~GkjA&K&er63h;?6V9V1-%igD&4qaX+kwg%Hs$PqnV1MG{RIA$n_D%f1a2^ zB-U+@E{HpCceKyfP&KlUjE-cVQl(kKiG~k3)%V(x8V?GmgLrxy(hSF4HlQ1it=6%9 zjnqGfR(xUW+{q#~@+Qq25w#?#XCLG7*lw(&tYX}k9p#?lRAgw?O+8gVBDaTd1mbWE zvwyXPm`ulqK`FghnA-&hZsrP_JSx5Pj>%m>Li2Kop1WcXwa7Igq+XD96Z_5+jt|ai zioi2xA%|e#Q|UgvMD>FO-SNCvGK*1mQKz0vpDvBker_n+L#Sg#=6Q9^7I+md!@0#@ zXdxWo%)e$4b*5uB5KR#Ua4*&guBqI^ST+1YS}>9kpDbaG>f1}5V{K*_R|8&A?}5A+ zV=GzD{A}i5L{j>{QDXQG2Lra|ucJxa1LA7m;%8b}g}8}uHg=B2apgwill8i-cQzJl ze#e3deR_%#csW`z6bQ_i=fO83Mur3tAIqb)jrCVM7QQ|A=A@1T2t9RY< zUwyIikyNo00&4ruPef`0zdeE3ZWyB2-rJd8e~m@Z@bVpr9|~SNI$nQ`_+r`PXT=me z$7_mkh-rdnkEbXWYd>^#^9OyZjty{vMeCChEuV87vYM@FRq@JxUi%y`y(pfXrBz_d zrohM5p5nc6T+{M*j;Qv(mtoGO#d29*av-W<`#}hM&bE=$LRany=v&CuP3!r%>JD=L zp{{%W!yP2!@xrw6&o;1n%=ytm{mTVx6sgW!o=YdXy>)^DPQy$V05&f1N1txhjVkkE zt*A{NZ;Nuz&OM;Igz^M(Q%@(mjHfL(84r9^+p)fh9YO4TA#`G3{6&^~UCetlm_dze z6#mJ(aX%n$+_}2S7^qB0LypaNw|ohCkFCU~DWnyjn8QEkCG2+PjXm=n^yBDhFs_f} zAih|WL(nJ$faR@+KwmTwbDH3SxYX%zaX^F@p)_noUBB+yQUswHR+@@>L;WR7Eb*WV zG?$;yV0I-H;~^!=cbB&K*O5j}`X9B0$n~Cs;z^ZxU@RODpPvN_khp6H)?=|jE82C{-RC+m7*r~pKizI#!<7w_WuIGXJ25fb==-MqhYZv^>49&n=Vevc+m$s?UxWWf;yh})mhLF=<2Hstb8mU9P{hk*Th#(Qj?ZgUj9t1_ zv5GNWl}NK@;StlJ;UO|_UkDNJg@AsDIQ6gzuOWZCp*39my!($0YTx#MZ7)&Wxeh*= zhKIel42&xTiiywF->s6m=N#f8^X#8<>U zoi8hEa`Wl2;i2->Q({=Fq080>1t&mB*Ic81JYT&CrlZ*%G4fS_aXraB0cqj1EisYH zqzESvw;-Df=k`;!Z*E7T(=op$xd7k;*1 z{RZEqh_*<$E-b?O9w02wW+)Uke_3CG+P_+#{Gz38&JH{ZjY7}%h;zbPYY2n*0|3U#j%cZ2@;pD=&T$6IIK2fXOSz&@BQ25 zD>@{{UvC|>|C&}DL`%&QNHsNYSk{I%NC?X~s&GtF-BChq=|Hwa;+w2_J-^K=2X)IRm_3*IMF2 zYry>4|2Hm3{3U4_TNeW>pa)SBn7FrmHQ}BVTz#lv>x^>}iTVw;5S1Mo|7vKd&<zaDubuZS;U1^-&}L|Y&~>DRJLpnJRl)KJ%t z9Rk4V;ACYIA_8yvjZtL}@mNqU7zFFJQHJExk<2 zdfvu4R|{dB5GM%yxy|#FJhE94uqw2IxH`FSjBika7P^vGz1v`wN`ofuigvOH$D39Y zU%X!uAux_tbGfyBPlGrqio$K_`Z~iZZ`hA^MJD!&!%q(zIF!wvxE;j{jy?<^{<%uS7$SSPkGm+ zSZfMFAzGk=pAE&a4OJGWaV!)l8)>>qR7nushojeu;%CHYy|E@(PMPDwCIw+poxZEi z_9D&DbbXe~#ul!gIA`l1fI8e1vQpilmeO#Dj)6ZPPi_m5IVG{kj4_|+Cgd=` z2K>N=*siQcf@*M1pt3*Pc6b4kJSVM+W|SJ_hivYj%A&g$Hb)7wxmprjmnU!gYRs4e zak?E{Of*=QPDn6#Fir$TnA8W=b-@N}VBwG5Z;OKEnVjca><*aSMai0?i78AxsPi~2 zsy%!mAXByx9=Oeg*iL}k-s7xmS!SV92VG_VEDh1;zcs;uyI~*kI z)c7tu_S~GoCajh)lH)n?^6V?Do@o2(`-imz?oIOrn>{<7IO*4i(0-v+Dr&rj7Ju@+Zp-y2D; z`5c|m$71PMN820_3yMu%i`8PLUNX-GDaMMsA$c%L9~Ts&`|AU4Pg^_+xGloNFfGzc zJruT;M;IJ{Up&wK<%Rlk=eh-L{};30I8pQDe^a@%D#2g5Hc2#(7Um3PVj-t1upTN^ zS{Bhf)tS1{?nK6yBIYvuJaXoxHJN=Kx0$D@TfBVZ37^#Kd&f@6nxJfL&qj5HZND8w z@>y*%d&ogjVbu*#eEop-wl4r|EBRc}w`<@MeL$3x;7kb&CX8IS^&MM*O+QQ>Ce7Z? zGfwJ>(7V{59iQbpPEkHw@n(IoJ|4QZXMhD zzb_x(mLIPv0a}}Rk|7($dqgJ=5YGPd zpP4ptr8PI>Cf|r_zU$Y}E-Qx8sKcFKkNv$uME`Mj0dvoQ7f_5bJ{rD!;jv4WNey-ZqVR*%7;%3-i^Ht)gvWRAe0JDnO$w%4O%Li(9^`Kqs~EK3B~^mj9a z0~hz}57OTNJFOxUmC9Id@`9wvZz0qbgs|EZ1+4iZ8ZO@aiL~vU)VS^mzOD%mA_3mq zmibu2D?%|N!8iRb8V@)Zg38`@)OVc0>h0OagCZBt)fFZ5-yLwhc{F}Ip9l4zd+D#x z`ha~w%frxEK8Ux_uV_~VZ}Ma&77sCh#o)d*=h=vXUXF#10oDI(qG-K4iyS?wUuDuh z&9vC!HiAwE-`dmn2THXIZk&A}olg;T16S$ZBxEMyR-=TORZi5tR&Lp<0t^y=;Qp}7 zJAxMfu-uak)$Dc21L*qqcF*R5_8r=8=3?fApFCB-dz(2YA3-Fpda+q*N3I)7M@LM@ z6U^R&L7MS9n&qs=HpT5O2LliAT%VH}mXwl)TGSgZ2QfOj>z^uL)&TY_B#CL1@egew z27^?xggWF)b~cUlo91MPrDbMXc|J9!c+q_6!Ro~_kAJ57(*F)Yr4G6vxZ-jbl; zRhFR?CZz?GYkMY@!u6Nog}T8M1}Cn?glS7MqzeHA&X=)MsK0(#E@PX=9JcG0u6n*= zvo$^XGjHInMoRb)4huskT3ggaYxPclmu&SEOW>U9uV9}pFYfvMW}%Hrr{WJW zhcH}I6df5`zy9&#a2hHq2e|A-e2t<5w+-1qVns$WA~ti>p}jp&qvP`+wXyvw5MO+UPNnN7vZvrN#t+`UBCHTbpLO}_~4yQ(YU_xKCWd2BNiLvxg4-Dh}gTQIT2lS zS}i4w2kZXX@4}nL${Pn8DOELXm!O60w+uVD$XqB}nQhBGtV94e3>{tCfii^G)kRnH<(1 zFeNvR9w4g)VKV&m8ZPQ`2Kd%ay7EbE;7ARVCZegAB4osl?vbRNr``c7FC?%A43F!l zg79V~N?^`OPw_r+9ODlLMK}u2Wvb=Nzr>XUD zDhwzs&^hy8w-ccgA1X<7OxN>|9g6K&d#-}iBMz~;$pIxAHj&atIfi~cu2dKo;puH2 zDL3`x0b)a#SxBq$`b`yEHBfEl35#Y5R1}~9)XZGtCw3Cc@a5YLVT(<76W}I1Qx1I@ zTMs`GJ8D{QA_SWG!3Kq)xp~mmbV#%Jss2=k@l)~m%ZdJnb$|nqN#K~lLLwAdKM87f zSY{$Od-ib3y^rWZ0|w?4By}Aum=%!bdp_FqPu3_6g>y8UGKpK_gOKh9xD6`MG=42^%j1(p#F{tH7S1=N2w z(Pl7efzUG9o>k9x0ogGiEND&ird+(! zpYv{a$CH3Mp@RBi zV7rU56!U6ao{->#`BTLdfR zY1@^5$|dl^92J)+xzn#q$LhwOoXkHKWB^mpk2uc5z-ABz!9`d3kg)Cb4^*p4EGupx zG5zC(8?x)r2#GJz?*T)4jW0u3Di7D5eH59i1d&rUpW{;9JB`?@<%)=R&L@Z;koyD4Sy(zAK&2Lx|JH z)n?LMTsPkS6Y>1lbi87mlk8H#fzv%#^r&bu4qc+bXdv6cXM8$p)0w7N$*kFIO@cjk zjmG2%JmWG#a3YX2%SKmN*+=F1lRy-d6o2a59**^D;WU|=RZwDZ_9cUm%IHSK%WzG( zRWu*?NdVx;d*xxUfMQ-mAWF+?Tr=vQaVX(3by-8x%J6-BV2N>_b>;pQ+UAPYg5mqK z>Unf3T-t4O!P9P*7Q(0+%AY?wwsR6JKDvqV#(CciIMIGfd1-#BPRpx+^G@3>XB!OL z0?LKPubcxgE{Ws@-tA8#x$mr48#!#b91#6tg+Nnfu2hjS?Xez*h~ht!45J=l4DCbfff z3wh4`gr1wT92xfwqG`u6Yv4lm5WQCB$U|F}ngNKt8mg6&|M+YR-Hc%UZqSSIRgNUm87oLfKaKO>Obi zn-i}8lwpL_@7`=N?1 zE!BQLr?|#w%ZK!6g|-VK3p1!sSVOo^mZPqvMwNK-m$kIH#q$)N%ib{+6?X*~SY6t4 zmAxtZjkDUnuWmNx!a|P^JV~)e0U>ciuN0PKh~4st$IkkPy747it0Y>Fw0~{bf`HX#_<=u} znqxD6ErugMoW26_;67%H)74dHp=7N6`b9FD!oei3Y=`lPgt-nr##pwuM2}*&VDhPT zvo;{6Mq$n2=cm@vo5q^t7{{ka2~GIj~Z}`bd`1) zGs$giAX!MPV{)_qujP@Zuo9B^tu^|Y71E@xUi6+`&5;F%8pX_TqEY$E|Ak#O(l3h* zWt!UL4ei#7Hfbw6WpPRF%Gk_dA=H>%63t<4Xp7L8^M@d0jq z+$8pQXN9c~v#os^JwQcE&9!5?ZZ6~`1a$~ zwde!&-*N$0h0eD#7u~cEiHG&8+s-V%6u)$?i_n-`;F)0xO=W(& zA2C8$nmh3CJ{^z@n+w964@y@1OO0^*AId~`v+|W#6XG&RQO&9pmez8h-_<@SH~Qwy zSR}{Tf-9-0<6_F3QrE-?8hSh^tSz;$UAMFE);$IKKxfeHhz7;B&d!+H@FH{h0woHm z=O{2ODX#f2aokS!2?Kyq*wRr<(`H_9(68I6R972O4vp2pt0foPljDMS$t9b7zTq1O z&A+bhby;rP%lX;2$Nb)^V&i)K2HXJ&E?o$M`W=ros#q^vb3zaerN9(kk9|shSq1k;))4w8hzTJ{A(v5-h+;F>eI%i{_j>b!FuazX z_IKxA4%{B%2D2Z8IE%Iz7+JLtDs!cJR6}gH0`q?P_%2xnBU)G>*T#bRL9qIG|D#~> zBegJb|K4M)nDdWIeXm$@uCl?<_SJo+mcZlq`zDW@o{ibDpARvQXB#BqzT^vUc|TBY z(zO}8ceK|HoHuP`lsb6c#9EqQg;t#wxXNxbm6=TZlw;CxPHuS%VDMqM-*etmQ*tIRIj3o-hwar!M{0@0k# zq()lQX$(egHfZS433OnDT0^9>F^e&9K}p|H-WuFcGNW^)@PsxS6S*GS<9tRn^7U#1 zi%4iulu_Ig>7a)7yaFy$?45pp&?76SKzoXpJ=bfu(818s;rlIPnwwwl`9JrsSK(*S zQGIMtZ{y#2*ByCLyhg~+hBVQgJJRL(XQSzBw-H>yP+}9drGvCpZWC<@=ZUnK$>w_xLu*wmMsgNMD=V00&g!y2$wM=G3U+qTv*6%%iXM$?A&hu#;aw zG$;-G9papPyxAYz245}Du??ijd$1UECfI!kc$qA=cJJKA2Lj|TBM@?QKF(*m|DDf7 zgRV`@{gI@CE$$&4DnZlFLi$n_pcHgX3kXDP%`*939ZybsL^g2cV zdYwlYalruU`%rF#>dCVLcHI{o4Kb9p>0`m#dsV~|ti6@*k|fi!?)fe?r&JXSm#}@y z)Y}?7bDuXU${*jk;$u)};I_tT5!KfA(h1lFjOnjnYC_ zG55Wo61ZZ0C;h78C$&HGz;iQ5B?rXtl=SpAUPV{pR@`|#_zK{6GuPCvx$d?8-gtXB zA!doOS$i7vdpke4mZ2x_JBHhb0qGGFZ70aqjO5MxJ;R@wvDUc~Fv#x|?ce9b@#3ut zxFvUcclE;=`uUe!ry#{*q~J=%ySJ;SZP4yb<26SuB9(yN3s`=R$*PQ>FZ?T$m$Cn9 z>+h3O@)Q5{_d)l2P65BMd2OFUx8*f?Mmvy-UB}MjgPv+VSqX$X^ZOYO1{2#?Y$1+E zt@5Z&bD`g?iH{SPgSe=QQT&g+F&G?yf`3$zF`Y2Xk5=k;X~>{& z%a-)^w4;zkkhrkJE}eC_s8Vd3V3zm4Qs{pM^W5(=uk7eq35=qyU|=o9Mo?=|3&b?f z)4e&F(>zztLsPn>oi^?u)l^({s+mdkNU)-Ke5}|jpMj3}SVA1q3|@>zegI@^MunK* z7-h4sTNA$E%3)CQbqCmt@}6qJa+LsVzhu%% zMnmdmsM)X9^0ER8y_Xc7D)mYMFrNxF?ux5<$d4(=Qwz|7wp=3UcdZ)zDYZZ+GJ`218H9{F%;>Z_u5Fdv9*l&`R$ZKrwL+LdL||mNsh0%Bhbeh z%mog0{aia%SpB2XLLdSNjEfS9N)CDeMmi?!Yy3+M%|?;eNm>^vhrw$O{U%KGWbR~a z*irt<7y0KE0*8;pE6+{_08jZYSDC1AfKg@oU4HG0$}A%>TR-)Ot|P>Ah-v-ZZ{(VLl9ABj6A*rt{zEZmYS((+*z0Pm(b^i+3|s z4jtIJXebcb{>>!X(R>lh-)1qwJH7L&YiDnfTfgr2FR1w0avG2jz@`nEW0}5pOYNy9?)M^(|CAAB*h74lAj}u64V&4j0mkSU(&LI=0s-yI9aZ z{{p8vR&29<_H(mKuzbqaij1(T{S;f_Zr5K-I4uCqsALtqy#nSwT|~067f}ysDA_p` zaCHi;aLc(qOZkOVRH2TCpaFp_&Efdv$ zb#EUeK11UMWq$%}ahg<_Cng$X(lH-wRSAq`Ssb%V z4_&>^`3-6`G;^dgtgG{LfK??gV=IBSdJoNhiN|8jMdLTCzA7V~MpasJRu` z;s~sLz9cHs!c$vc&4UkU^|!^ImOT8i^(19ur0(*0Jr#5N5@o}Vna~m|5aD9#MW3GSL%bdn^a;NKW_#r6L!06KpKq!S zUZAuiHY4rU%BNB<%up16Dh0l_=sH4W=JCQKi$)03IrkdWZ}Q|+VNWA>cs!w1Sd{v@b6Lru!kaT z=~8r%7!GZD+x%5x3Uy3wNnYpp1w8NzXF&42%y@c(U3W~v-9PdO6o^0fsV%=lzREc7 z`W~SG=hlmuH-a8Hv)pUrx_Jo(&)+ z*s1cFIAh^k9D}8Zx&*Z78-WS|9mCQLvZ8cWN8QN}i#BLeZX>a$;H#D_Ve|{M*bQ^E z??PLfs|BKUjEL@$$$-3oWv4Ztg|N%Zm0^${>-c80*O_F8>zs1ydI@(2QD05pTWXty zv@}E1nc)x!%uQ&d_0eFLX{msMuY2ZQ`wc;b;9_`dJq z$^ZgGpWLX>+Zy|8G-l+Z5H01?U5-)65G84y7V_>!4_)JOgA$sk zuDufR*juG$ZAhXlGZJp?90Mg|aDR*T@FgIiu5)0=>`~JQR0vT{0PeBZkKA3n>C2({ z!wZza8Ya;tSttOn!Fd6r00Lcu+~L!_#rjz#y;FbZf6A_B{|(TyJ%UOJ$j%r3$PH1~ z<%D>*&8K9<&gHKK$Ie>9_6AkcE~qJ7itLp@W&DFBaK8{r`7yj$s{W(yfOVhtw9AVy z05bRoLQuMJDCO;OrL_e148VKE=J&+S(u0sg|MY~+oJHImJY!_;NjO#Z?SiC|HW8D{ zpAYT$IHuL-n(JyAJ;zsT6ZokKmQ(+Y=qNA^^oU=>;eWjV(!lH%O`};v1H{cl)j3lp z!G^BV`FY-nis&)M?( z*mAkSyguFe;t?_AyUj8e=z{w^kQ(9CkE4ZdAmy{yXN?Qw%kDT6Q2qH1Q+}!y+ z37_gRjQnr5axD2A;}z>Yk5y-Thyv3b$$tfyU0=f|f+KUfar|nHT%V|lxz7H+4DvE? zdZRQi9b3Qk>+@AGFRF|D-%j?wod5T7-I|A@kJj@UG+)2rAR8|BaNAxJDGw^PWo@b+ zH$gt0{250j_M#R64?e%yIGJ?PV7@27am&}DH4rT^`C+4s_zUhVuXVMYl_X1wMcZLU zroy3N5zMRQl%R00hV=;%-{ADg`!liMztpVW<0%nho=;umrlxMwXR{;jr&YOj5?MXn6cGLOgzV~$T(AXg?aeghu_4dp^<5Cu6 z&G(v}w&A1>%)eNJ?nygcbPES;0&vGPx;eHv3|>7&hP{3|JFMwx*^^Gi#u;r!M7kI` z{Ypojm$xmg(@?X5dc8kP=kf&QE4I7C7$WLIU2MPhocT=Qy)e=(S>)q;k`jKqx>7Uw zF|?baq1|?5(FwI>y?t5mFBf;R=)5AE%gpWK(HURD73Xa8qC!?U@}spI3sdABhF(gl&ZqYKD-5ibKy%?` z@dCn&MJYto!muL3rXc&)n9I~PvH_JoL0`qX_Me8{^R|F1P9i_Byby_^dA|4Jbnc$ zw{hnFEYjOJpp(nbI`k=F$w|Ty&vR0JSbn#L3*whUUT6p<*yEM&zBbH#Tul!~X1V8Q@iSR(v?Jn@T zcGVHd+Na4jSr^TVuTmHtzbT!yG`!4O-Sk_-IgxW%_Pq`fHyeI}_wZff$;KuI;q;5b z__R0!aX#FGm+mr=LkB@>x3cK(AU$MkgCx}2;1kF3jdmR7#qSbV3u!67Edte!j!wPF zaOiph6|jV({(1IncS`ElU8pMyo|3d5b(bC{zgLYD^?565GAt+2H}+t|J7&|C_wHA> zg&JRo%i?fJS@-1j>6F95AJmEb`9j1r?u|Va=Cj+*T{9fatzn#$5X{|waWzd*TFA7&|6!O{nW5D1`7db z-tiDaSeXRtvgmImtv8l!Bm(bpMFw#1Bt{-*O2%>~vU;Khqh=TGa71<|J|+_4xAgbUR1RQbbaz({(I^($bQzTyicp|d$rT_Xb%ubLkn z&{7!s4V>S?fDDyw(PMrUejZhAbbeSAnYMSmRe;jSM>>2HwZ{8 zgi-aRdQn<3Sbr27%o~lq6QSY^lGX!+(V0SK`XF2Ro7N_~Xpt8qo7YBV!%{-rQxH=9 z7ov%dzqCZ~t!?K74t1kmjlLqHDXPz_e6IlMp`h3;V2Z7-D!N)_oH6^tzWsS`)rSd>nnW2BSBQ4_oa4NA@n?b ztNm5EPL76mn*mEZICmkc?@mv@>+j1_UURk@b}TtJ(DRRrHud#!E7E$nLso8THLqEQ zlRVL?@R^n(^~v>sm*7SdH319xmUuYjG~N+&8)flR6MUw&wR0vhG*ueC-v$PLh_Os| zm1QMw0;>3DsrIb>P&#Ob0Ja;ro`PWI%-Q3P#1 z9Z-m-`%;7X$PEmUh=%|p=P`gIo4xg=v@!JpOkMVr{otX3%!|UdGuJ-IKtcit zhC&4jd$K-CS#{@RjfIDe~Hln&=;D zDd}=k+5#+A?f3Xu-yL#b z%-xBE8&ny8ztWY`tUZ=?+?DgT3_!`u)9Vq6g~s)x)Jx+4x$dXG$~JFlXAmWQBW!2emSEmiBApFLb4MXu zm!;p?9~EU|*G3#!PO6Psd*|^B&u64T-BkBdp&yK98=*K(La`0mol0U(Y^Z97e< zZj~_!%J=B)$XBYdtyqk^I&YJVXTWsXJW{#WmjG&QYE+aF;!I{;0Oe(S8%yzX9oT3h+L`DO1<{#;cQ0%N0+JeM1~ z5=nnXIWp7Tb{+y1_RP2mOZv^-%yHS;f>GcEE5Xr-YZThP;r4^&W6>?(?CvC$c) zxuVUhb9(Tp?g+wpv^xNy!%OV}xqSPP=2C-evOGA@6;P^An(Q|wUB&89omEN>hHHF0 zxNz^j!Rayng@ae;e**0lT|NlA#x^*%0yS-zXL-$lTK0VXF&NvU0!R3^ih}mB<))ui zy|GtJ87?kYl9plHe)P>+Lzdt1jXnr=aK(v&E#J$cpV#=@ovdh5ltg|&*SKdxF*G*} zut85cFuxsa3zV7HTMP^|Y~Z@Xm!iC^IoXwYnL~~R!n}(aS>u<=-`1Nwc6OXm>;Psg z5F`21rXEx6@pmbAn@@?l(u(>+6zu)qr02nx|B{|MiK+xfRfkU%o0W7g^GeN}i*}f^ zH4pTU*wtS~9BvzljUydq+i~epb4>pBSnf-Cjs^6zAOk@ntski)A8tzhZ^{whDSelSAX?*K%`ynhMhuC~ zo=w~CPArxRXpwP!ak*?UFvFM1?x^(RXz7a~NaLz%LF<;)dIy}|0EX!Y>Stew(_}E- z0y-3P^;N`swO8zfwCxr-eKQ@B=-6mzr9>q4PtLGR9JsmQ!Grmoq6# z_Ij<+)9=I%vQwY#zHt$!EV45ieKCjh*FR-Jy48tYW!L+!cd}chw>m9UYPW16_AUlD z4RhMR+cq8CVG`e<1vOvJCxKBId$O$*r8J%18_dOAwErR0|0dtP7qNK&@;=(;^y?@X z@tv}E=E_P*oomrOEzmQ3Fk&>ge%y%@*L70m3DdqwKKI+6=188eS|8(YTQBy6QJV#k zudwOfrY8&al^PHg<^1`bMr2QdiWxA2@rycE8ILz+h9#nn*BSa+QHtImh~ ztI9vkRQ&(lWUjtHYSfJ}{;V&5bU3var(4+e8bM9plA&17Rs6?&ydiGWnajgqTh44g zqPnTeYb`~d8r=!J#d6+55P@nmC2`Eyo{_9n&s4_gg;S}A;p2p*?;9e`V!pM1wt4_~ zs$R;Piy~o&q?ScL-=;}82X`VjkfO6wKOeZ~iK5wEz-b|8cP~h&5L0t*2VAH&3-}zG z(Bql+S#HjA=3=)-M#N8Epc6RY*VnAdepBAWzN^&A=iL;LwS|JR{zNofbfHn->izue zr%JqyD8bamoqkr&-G)_GipwOAGmL=_K zv$WTP&%d-f{&r;!tOh<7?c2Fp;c(%A(BDGxKTiJ#=L$Uw@03Ar| zB;Liny~$9JBXJ$-i6|xYS*+gF(Xu?xEOr^BRpDm1>AB3{X?8~@a;pG0Q2(Y_lml@8 zNDnv}{LU)8XEXvK7=mOg>2I*xF>ECJ(m$v+-?#26#-A|8uWw>i?-8|{BwY>!5d4>f3jW7+kblncLR8I zpo&lNff5EKT<(`b_b$&%&k#!Ccg}+7<5^U1zMS|qdKfvMCso2+oAiU>Mi<(!-lWDk zZ**zcyvMWhhU3=bZrJrj{eF8opadn+PM65~G0SOvYFETyw;>WZDI#ssw)7zCq7)c& z7A9MjB{*SN7P$V`3uwIGu5rTon}@0_2oZ(YPUggVguGp}=?_#?f6} zOv5+(!YT(k;QNi7=~oe1Vh7ABKJWsux&ubCOm7{o>O5d4KX9VITD93IbN<53?_DQDE_%x9T{=|m z$!t<#PX&M%ZJvuCmsfa7)&~~;H~jN$`xdi*n6mZsz~itC z1dPV}@!r`XF0uD75W;(OTKp2|n4Y5JHbEC#O!;+=jYw)l3z9l%_v+LlXWas}`pDom zCYtu_NL<%5YgO5&M}^hZAM-F555I6HhaOzEL%%rN&3%fR-G4(97VSgmMKY@j2LIP%IF$ps7carOW&LqIIU)*$} za2rXsq$R2@D|XqakQ4MM&VCxARAz6AA#xnmpe|;%Qn)F7P0tPU7T4Lc@YZgI9Tt1_9DSg3BIc7gEdo|wTN>EE&JjXSInX|3d zy5y}~2>yuOb;%xJo?JU;ku*KjG_K+lHkAsuA>w8-9An^|=O{y@vlA)YdN_%0*)DIpwgQy}<8Y@Ld(T4K zw;>6!iYSPz8v1(8HS6|@pmic6rSTAP0~VGi8$MR9OSetwO)X}Z8vQbY5tJpV-+JXcHLf6DPAAGg~tCn zdbq)G1)v8X;KaGA5Pdb7r%|`rD7tCcByP_NO38 z+Kdp6cO^iKv_55(dF4tewI!)BuY0UJMetZ}4(|_dR(SqtxP4#ZCfVZACasFcYH7_W z6e>gT$a(ioS?1?fX#2u0PT`|vIA|Ta2%rYdxlZzC`eG>EP&+tyxe(u2j$XAb!jZv9 z?VoLL+ScC_FC5gCr#0;9x^t|>OAI2SgwaIa0*EzP_j*3LE+kTQ@^inFQsGoDNz`5`>p^O>1w zT%+NaV%~(YS*QGNt-M~fpQmY0-KS9<1P9(I~&#oxv*N zj8L+IzY6-kl3+ohz4Vali~qN)`!Ah28+&2gd{%0=07@SCjWID|J{^cVI@8XkREFa) zb#vVYS(qh6`E4xY&Qna0>8z%Pw9MlDB6O#sJ10fq1_~xvWVT<#w$?e@?+f1xUxT|D zluX|E}kXfbW#P>&$(aKm22JoS-A16D$Nn#BL{A5lyh4(T=mj?!u|@CW^~e? z4CV<7!I>dMRg^y_&9<&I%QSN70pBaXo@*MP+59#r5K<$yd=|Ydov-Zj$nc?#1W(&3 z@A=&>#78?V%aT>!(U&ryc#(zauBu90(+&4z$61epcfGXJM4w*o3zc6>D13Dl$aFv! zRKP1-d{)}KwD|X(#4neVdw<$NpZ~c_`BW>}uEVBnlz&g#Zoo^j3*)0PmqjyYdgVGO zxOw%TrOki-?RQOAQ^4PI?(b>?o~l-xJ9!^`J7pgUFHX|P>}q>a5q=b9!DfLMwHghSqIkjY;c|fK)=lfxY53BYXwck;R|A?9;LlF3-HPLD)dzIw?YsGP08v z;ay!!JgBFEunm3@5!GK~xY76neD|v0eCpykL2AJw8J{GEZ@y2}j;g8Wv;Jec62R)K zuwx?%Mr%3(Xu?@2lI*g+-@80Hx<6WZ;%YOgJo-`og+595_1gt8&)m`StS_um1A zZD0Es`aW9l-BZIAmqqVsfz3Y)xdLBdTGfSE2VHMh4rJ7DJ5m9KIOWGYi#gb>(EH>#ln%t{DWmVLL7zmA-20Wgo#p6 zzL)-GK$>~ZCvYpx#(mtY++x`#L_Z@AbM{+JVxO(_tJ3qVlK~Rq0m!xEhour~KI%@tI~ILD4&@4U;%VI$D51H{)B|wQ5WrfDY2~)!rtfR>$AM&JC;Nf${o*I9z#o?U(b5Kdof?zd3?|cNs2h|zlx$g+iOVI_ z#*EaCM;`cRQ#Bt=G3?pyyG@3@2qy>VuJKFy9*!#O_IEOws>^r@l<3M%j6Q-qj@faEa?dc z$h>y9S}roq1)Mbb2TE~&G>vD1dcpUD+LNc#3CQsFpf3g21$S^NLVW{W^R9yxX!UK{ zsKR@Zg^`AOAD?m_3RbVy7RX>LV!J+c#JzJs^9v%XFo2C9jk?34trZ2Vtj9^0Jh(6) z@uCtk)^D{cd2`!`J%CHTo%d`d)Y_OCpMj5(_OkVdk#yxy(BjMc&&;Mj%f?x^vF*Qe zHxLHwfhZgN%?PRyU5O((jyr=4RY-kh2P#y(GU{Gic4FL?#j=khgV?)V^9K-%ZJoa{ z_RarL7eN-zofF<>?%x2W5>Z3pB2Z^$X{Al3S9}D1M?|*v^EE)gF$47bZK`EnCG6Hu zHKlHVmP#(gC^K!^oSqP)AF!>n8Ks)mo_5#)(pZKHPG1?jwqg&Su72*=ILQS8#>OG# zK=vAZB7sd^L_1~p<}=OAl>2j_qFUoPjNOD`7TK;##P!p!EA50|9@WK=Fx2DF29yVM+HL1%CgUxHr&g`RzUz& zZ#s>ctxt-0)Z!1!vLJ^s;9dH6IY3kAFW&NB;KLIwrjirOwuE+c&)Fii8H!?oX(c;Zf1?cgI2 z?EV15qN0siv16j0P@lI45fk`6S;e~}s|<`?AJ@^q>2rdk zk6zf(ZW_*yaQ&Oc7b1uSEI@2}5m6 zAK#q=EYa-?`ggtVa*$G*{n&hPGzkdxH})+`ta=Vc1h}WF`$JW=U!y5z&CYbBZb;;0 zHGB0GLLN``{|@rf{E}Vy3`Jo(;i7-a$v8+etM(e$phbvvRYxZ`zB6Zh_z(N`Kaz~< zYa`Y7?B_;gD9D#%`rcHL@bDuL8KA&yaW0+ZyidV1B$56G3*Zohvd*>`Cm6GQ=q9ms zeDG?CWCu7{^A^cANbHYh)*gi9OH?`GQ;xP30hs5Rzj9ZE#^yQiywhK_ndVPCem;Rv zdzs4PNmfYQszY|leit@;kr=QTp|jp!oT^E3MQGE?CT&&gKR$FS;r@ zG0k27LTW?3Q&y#4D=oIlwZxR)_mjI9qA-!)7S?U+RB~;`QE&$TeJE-Yqt{E;R(xb$`jVSFVYcl-*iU0++(5b52Q;lG8g{p3A`VPDU0K1ri(i5Q)aYV5VPL1_kA~Ka^4+x(-++9APPXu~XqW=^^ zmQoLwiRef&9z1W$YUw?F z^Lbq21Wqq#EWuV2t)6wUZXUzwduslK{l($UH<{e&X&tIrnm6$r>&M{ zH3J*iCMeoQ{;3r#Oc@DuUtm)oV{>IMRLN13&+i{l^E#aJ799Av9Yf~`9kMrX|50Z7pAzJDZ3an zX4b7CE6ip-%DZ8-3FxQ)fKBR%o5GS=GI()yEr)v#CQI^&`*?SL1{}&v9ZV5zj)L3! ztF!F(%&ZM9nALfoUc927<;qh2_(XE@C7nwkRoI5btDO0Sz`D9;YHUhIT%^`$<16+C z>*b;?{c9<{pH-sYZyqR5CZ)$Uib>VI1&&K=?Uk0*!?bm*{Z!kjiiF6M=!><3;U0#y zW0^XseJdf(yr`AE(pf9CO6J9s*l}K6Li6T`uL@6Qfb-30WAA^$w)a5E^Vdc2+390} z2;c6>N5zD9`|s54QfN#<<+WjNDSA#q3?t2;?<9T`)mbG^VV+z@Qa(AV%*nJ)I})3s zcwpcE`MY1ahed*<;#-|NHM4kjN?&J2W5x`$x8rN0bwHR5ypU% zF<|dS1@ei&ZP$%#*6h1&8ziC=OwDzw=Q_<&129*n_b`>`gH5>BLtJ#?oH|xox0JI_ z=O7$ExH!Ec*a0KyuxOa_-%*b*)xQOD)jqnPM3Zi;E#ykS4O89}3Ki;Wxw@SZCcqLd zt|s!gDk}wfn3KH3|GHF`7qDXVOs*1JI_$V0?}@FP0y8`A+?ZJqHv3+;XoKC?hGzRI zH0;Hu_+~^#imzv!l8a<#>qr}Ha5zJdFV2561LKESuA{J0$bNb}VNU4}wSqi!eFpWD zhzh&35ShED(yJz5H#c7SK8#5_Kmo?&DmLFrs$itdMz^+gIALD6>^`()gERZc#?tpo zYKuxK5!+Po5{cUT5w+zt!xQQjf@h)|v(cgtQ}>7{F(KSK+~2+=-OX->MwcRfEE&Gr zx-Rbd5VV@{?&f}%nUp)2Z1*7kvGze;; zD@|+-w za55ax{)F8};5Hzy4;$3wQzfDV^SUI6=uf3b-cZ2En-Ivw=ao$~d09%OJrDgXrw-hg zquMMVb3zOYbvTck)~w(I*@jytI9OOZz3q4IVSSGM>D>l5cleng9)57mM)V0^gJ?5Ajd|>ze-(FQmi(oz;_!*P-)$WJ{5w_RDbx!B zvd|Zsz4GYk$X72NEM0!g;1GT27S*vVP8mtu^Hmp65&mNzA$^>>M~aUp!YQ3&TqTa3 zJ!o~aYoT1pMeHI*FwI{urHDUI61pB*k0ztvy8R)#_q5Slr2~ojq>7H$Ss;BFg*mQ9 z*}S5IvKE^J#-5-|A`QyUQ>1XkTx;OTKJnFl=5UbWK(~*^7JD-qdk{N;^7!YH&<^-` zM-7eLB47ohcv8yhVQ2;-Wdl)d{&tTzAAF*@SlMI`y8g6s;1kFf0?zh|PWGW_KQw*l zu-I`A3+vubk!8>ck*?a8Gk57(9}1QU&`w}T>C+^fH7f?XgkSVnB;~zu%h{`CEw8L!MH@} z@zq~VmcM8*)>rRtI#LX0G6L;3k(}=&g&9y_VPUD+ZTzFra9WO;DEletFrW_9 zs#$%YK>8z^nWiTv5DV8MGoJVhi-3;O?X`Biha#KpDld!!W?1&72O@JnOj;9G+)A`h zw;P1tIYr5_dBkB%6~xO-7sb`vgxOH z0fT!ZyquO^RO=(?Pq>$1?y>8zKBjQLY0I3_xndCvA*@cPSd!`ulkErYRmENa4j~p+ zp7hZHrOiQoDgn#&7>&A3fkY!kiQJlW;a!M zaNcO`@>7jCbM|qKPd4vRN*Gm?%v;nsd zO(?65e=85!Mn?WS?Kk|~ZwO-9~IR+pxp%O_MYo4)TX~TOdU;-M&>MG|v$&_w56`e6HA6NINqAw=`JI{ zMPnPB%m<7BPveKiKQ9}#RaOQ%kq_L9xV(+*;pw3lqfbq@05e) zpIhrI7Hvq;deFe*=!>r%86<^lcg0km1dx zG`Z+PIZoj2_|pm4fFlgUfAfVKP%sQ#qPFOs{k=~(|JMugYDuGnNQBNG%IZ)=HYwsHda9FVUpkWW z&`MagN2^8p`_8oH!5qXzQ>)<=M50eaV*9*oqgM~Eo8AB1L1i~Bx%W31o#eU18eB_$ z1X&d2LMMe?rsRUSm2%#SYw^)(>My>h&Y8!Nv8%+^nAr%O=+x?;RxSy zSfTZrdqVG!K)eusIeAH0q~KaX74$M>z7FFUMnqB?Znz!vb-4-$F}f?10~61Xeka;|MM zON=`V~$FfG=eSo^H_{ zJ5mmDaKal+gzol#8knnSG-NnL;wSiN_+Fy1zg{HBi$yq0ZP?iPWJ-(bp!6>7*5>B6 zC|G8aJ>^p$yNa_X9L;X;8ibvP-PCyo8v+BuJ#LD+aqTvvOs25cidswDAy3OIIC``2 zl%192Mtxr3Ythq}tw2gA_fwcxY-BGwVJC5`4?Rja$hA9jy|-g%OiFYNZ#)i=oxi-7 z6pzAISMw9_v9L@QaquXyu;jy`8BfZ365x=lCjxKPliRm_C2!? zcNX2_--qk|xu<LithOvCo7N0jQe*p)XM)O$E*-8M` zKF6TfMt;&1U9BvzUK-)wQC)5${pxm^PnVbDgr=uxHr{GYIZu{vTvt82m{u=+5J+`T zflSEPOs1e`Kd05NmzMZ)K)| z$(^Sk3)l)0iwqW#A3(01lM+quLM_d#j1@tr)l)Sew|GXZC{>58 zb3NUDEBKVkljrdc+=-^Qf4vL#T;^9yPKTnumKf_kq)B9Xoe`{k(NbzCFshTe%oM)hMk ztuEQfB%rMTJS*hmtfIrPre(>Xdv!xClqC95GR-7@d*5HZwQ#Wvu<1LA%W)^84hW?v zuCM-h?XmKQ{CHHjH^OUMdf4K|r;|1!`f6gOP%=pI23>S`nE5M&fXF^v_#K>@9AxLZ z273--bOs5S(RA^%CvdE|o2vKz;D%(p`J+ zK*KR}UT|6D(COYQ>4|bir#J)Rspz&75uNEv-btUfE_c@nyTBNEt%nOzg~pD$9==od zHbeY%j4qbC49xbXiE?tVP4BiULh^$uKYv~|--Z?EA3d~r5GBr2odK|t&oL*#A_&nj z4l~ZftkFz|Vg^eUpPyvgEd{xQih<)6$;uFX+s(FY-)k za>S}BBU9hwkV;(Z<WXLg2 z!ru2^4qe_>&>qo z5A~z8ftP#5dVCqIF*@HH_s|K~doiuvcH_5Hc%fMbb>eq`*0LieVnMbZF5dGsggy4l zLIi=V2~M%!S~>#PJzor0BW*6h(cW{d!UQs_QfxA>icEQD%vVTJ>60ivagkkN z0*-edqxP_bxlX93_N-sLP)K~3>9DD5D(B56trhBQ^S5y54O^)A7#VW zMlgd1XBrgUA};a?O0VrTR_COBnCC^3cMfV2DYWp_9uQ%ubo>`_z?3o_`RGU6Wg z-%uZlY!1sR@nWz7Tw0DSfB7jq!HA#G{Dv%*>v8uToHmbKh>%NC?%cV3lzP4gMPB!} z=q47Z2JZGsHOVoiAd4+d{ThF5xcn?P&FvrPXBmhrv3W4gnUtg&DYcfgDqiht>GiNb84d4ML?DnpS-ChZAjph{cWpOKpD1|Y_fv&QxLX|rw)s-o)FX{-dFl365>v89pa zn6A5c^F9@!Au8>T5qn#z6hMkx|4?@gQQeAv9PN1Nd(4k(6p&bN<`mP!bE5FXr{cib z^(tjV4`}{qNe~5_@(iZ@(!8n$90uCr!@~OI`z`aHrw^pL@T>{b22xesHCniwEDLG{ z+D7j_e8vJgBab^13f17CH^A)Hp~u|#8`t87+qK$@5%#zPudlXUMB|$8V;ao#8+#M= zmZvzMGgK~Kf2(r)$!5NJ*m;&Pr10wPNv#D8IWU&;)xttwZ=QlE+|T{C?$SnE zh#rNAzvsfkl3}16aj%=l zI-BJr0lMnjCLKLp*O9^<*w=_Xz9SgX%ZwP~15gg<4NabTdtemFL# zqZ_7bq-{J}kkr7RY*EKw&%>s-2B(%`NGT~H$uX6Y&8aZfAi>zV|G61nwM;R#|GuA6 z#vh9(T@c^`<$!l}vJPc(PnB>%_Md&V`LK3|}#F0!J? ziWHHiBE2cSqaq+6AiWdmozOdB6+xv62uPRSLvMi)=@5DiHIWiJp@u*Tx!L{Q|L5NK zd6W6h^URrZ&dgIdIk#MIJNXK}DI;qup`XeqreZ3hRk`ItX`K1kO>f@%H`jZD_am+{7{(-P#`9MA^GB%*`bV3}tV2aJ zzsid&kKbql3p;dc?9J4I!gb{ODh1h=0(7;Ej11kUEYzsnL^2Q_%7v0iX_sc;jNW=N z>K}XQkiHi`JWL(JiQoW4)Bo~Z7Q%s0S zZ7M{atZj*T=>9f^>q=t~m=|_xHMbF(2|+M{1i4Ld@oMXFS}FZCsuyNYa_B$me0O>9 z72XL=ad22e{`6ZcD-SrNrC^E*_^xfC-o(I!lkws8L4k=Qss`4W0rB>Am+}OeR^57SfEH2c?=l>3#F(Q(fLXkDB#eOCD<4_<3lV_eIczc>~--1yWxWQg6*09VxC zALgIg$O#Vj1g#hGHP|I4#RS7300F4+=w^x03@blMaZI0^cScv;pUS(zAsQk}ud%wu zJAImOZ{=#6$gMT>-CFGNZ6y0Z(I3Z-5cc zOp10LWGyd>yB!RC)l~E=k#^5VUDWOYe;^dVV)1mA+_pGs4PQ}53pn*|_ z*3$!LXdj-B>~z6J$^D-U{~?uI8gNOwj2cwymP)eJfvHk6?-PT(@OU`?;|_p|NIm>| z)6WErpz-5n!b&LIsp}M)`~i$l^))K~Q@8!0)ME6DLOfPeHC?lG)P3yt+s({oHWd~# z%N<2M9eA>^mIEAKArKY)_O|d)n5Yyo`VrU^EN-tk%5S29<<3H&UVIqlB~Scm0$(s{ z)(2KBzkxSs)1U5%y&7fGjGmuQMgp|J}Z)Gm;&5<-#>qa}V#YqrNkW`CMj zv5Zp-HcD-svz3?%aeLLrT0U&$fcQB``>-)jl~9cP(#Ue7qy}`~oDdtbxJqKF9zFrW zi%ft{2-V*SY9d+M6~NahjfcM}kZ27gZ1J7PGv3D^_$82fXwctVGNMDI-PDTG|I9u9 zAEHtCY@D@P)mC%7JcwUx^BH|AYw@FWR`=Zlk2Q1rCJv9(&IS_DGM>5j^g@B zOy25>d2@}QoTcGnGr9NG&C{CvrWguM5_cgS8}IhAsS@n8u4QUI)#snQ=~*HBYsSpI zVO!O>TK27_K_9zJGw%`*O0=F*R6BsaD*98s9FWgyP?-=XOiUw6bJ?^Ci5hFIw&^J8x)uW(pjP!fyar*M~AUInYy{_8!Z8ay5uzuX5^Sb!vwm*ZYl0XfH8z3JQC?rycE92@qoWHB7HoU$7h= zAicEswkfwi#BC#_r`K1+&mNu?CrmF?6=2h@N%YVA?HNr-kMT-bO!upecWqkL1Hw_jr;S z89ldzWgq6}+9Y}CQ#eXBk!j-mk>_M%0k}0x*#P8fR#SEg;S*9`doIR!=GHISOaR#0 z3^52UjBV{_XYh?btw*PINVBz>A5IkqsHnhMX=NEry&^U)K`+45v6>Bhflk%QxMSFE}xJ11M17l0#7Hy`*4+|Au*Cm z_l8r7&oEbsx(gm1dTI*=_P*>^94qfITLqykO1vt7zm*BQhMDgII@|h~Fvh|CeKV_%mja|YuN#d z!7d^dR22H-Ws2E+u`{bBvq{tAaYLr(C>Ih)W)u^x0 zlJ{z#sxS#$Eqpj_u|Fa$J(T)E-s>Nu7@mwR{&zB~WqMxPx7puwSnnNKz4#pwEg-Th zNPpT?U2+4;%6BNJRxlW}>#tY#hl=X1X#luQqvOfF!k4K=Is!XsBh|l=gWqS*%g)pa z&Dc1NV5`uIIhKO33*C=$C!u!GFX$#XvjMCx#MUxS=|qo& zD%p+P-A<~bQ1vT&kKzq>U6Lyy+@ng?KQn=Lz}U#KLh^H4T43gNgmm1syZv*xS<*^( zKSOvOWk_Z>|hD22gUL_?FBujiqvP2$y_QL0rqF0B~C!2kuW^vJ8 z#2iDovGi*%t4|l&Mutz(&V1OVsb!f!k;Kr&mz?O=e#59aR|?*LNB`(QrpsA8{&qox znGn6vHc}{%P5Mt64%$5?COw&ak<|})hhT6y0Jd?rUU%R`CzPN)FxJu}r_uB5M{Pp~ z{cF{3vb~UzNy_)w%+19u;rhkJjKep3+%f_f=|gTDx@)(+;|*x@Ek$ zWwSpr%%J}x6V|Tn1k@H_uuXYNQ@~n#)y?%=sNhX?OLT$1KZEpe>?qUR-dc`Y8Dyz> z-QHp;NK-D`RiXoErdjf0YzF)0R-Qt-TUz1dSohV*dj)pMhn;xgsj-A+tfB(FdUYai zUw>&KN82u9=Hyu*UgssJpa)Z<-Bw4aN?i2bZ@BOMT~GeXy`=IgG2ey$;L}q9S4b@^ z0aD^DoCev_9A4RMd1apKRyFMVsMAEXhtP>cdz>Bk- zMoZge&POoh`){uT$C4|%lZ7)=##7`Uj;O}nWDa$geR$i4Rb3`WO>J z(dTcJB4R1v9mK;}CLh!P-4*SNrp$$_lM`YtMpQ#rJ=-%1K29E;i>YMp{@38tzqe`5 zf4R&mG*vi3Fp|ytIskPjcmn-G`Gb}0Xp-Dyl2Do8zTSsY_6k(O^2v{-w|%=l8@H)0 z!Jkif#FvZV%ah;gs4>nGB0o@IOnkxdh$gAO130wjSB7RqiIf?}$>z)T zkQm1P=HW0qG@&&0jRotw7T~i6ZYbb0qTuPgE-eje0tgy~>Mb?Al8D!Fm%DDpR5RN=G z9=Y}=gtmsLoG++K!bk|z`*3D*7I;+MI^JQEYNENq8sFC6e_dC;s*;PMB{jiJIl1dH zHYQKkNdj_8MR;3P#BX5;2ap%hC)%~7dqUY0ApC`OjJ{{m*>Tp{&&!GiimJ8#H#AiL zg+}91HQ#1Lv`E=ogir@+qJ%c=%}H*2kGn2I{I$&w_))Dx6UC^|g(Bhu6DVy?A4&kL zl{ZvT}94ifcA}hWZm290+3eqS8AW*(d(sTrl{+#4ZlG=bV z}_!TJd+nEx)YO)j0U7b+db#OwcLPr%(&SaW1rS)1Y^6%)kQ0F)OD;@juo@9msN*SMc}o3 zoW(mz1^ zGyc9T>xx7Dq^N@*s>aT#0bt~ zv>a6{!c;!Y&S_l5oQreAyAhqSOf0uJCXpXXQk_gIM9m51k#)48MTkBqpK~}AV0#?G zRX9-K-_~l@oBieFa2s+oFHaSy`;0DIVnt{2--O{~|DU=M)O=s>C5T7TVt#07p&N8% zgBjn)Ze-=tyOr4W8Fm4e>U?0i*A8fzfeT5#zky! z+eRqN`mhL@qM561m&pHj4u~kc{^4Qi8)Ef4r~u8P_p1RR=a(a_cO)A2Nc2(I`l{^9 zw~+G^)Bc+Id7l-NbiygdnL)G5GCAzq6WG_9{9-9>++3D!?XFwI z6i%@yFD5Mv)+w%+tQDeC&>T!{+G-zO1ivyrC6?7 z2FWWar5HM-vQd?}6;>YQ@QJz7_@LUgmHg1F6wbRd28>A!6Lu}tNtx09peWCes zkr%bc;ilweNTPQMkq;vLo#0W1l)Z$=>3+b+Um%M-PLHHxg5%(**pV>I@8#}fE`&)i z4AYf#oXFo_w)SKtk~<>aGO)1#yL)J03w>los$hF>9aaTMhycFs|Li}bjvzFxA(AAp z=4GHrNQe1y;I$4@t0I0Q4yaQBvWAt4y*#$SKS|2?>f$x#!#0h6m-I2j)Y6U_2eR|; zQ~Q%b1@8RwFAK}vn|H7uoC>DDFQ?l_3dtx4>)Wn$IFS@DM-4s-4>u=&MWyv;It;5j z1IB|I!W4~IMxM{ryHdF>-w*bj69f<7d^jLsmRSdHLs&n4_FMfM-Zt&{^ibjwo<_3< z*f@gaCTH5lk0zu*h2-U8YSNG@|UXX4gYpj7b0KdLBA)Iz~^+hXWA-251fOi%@ zi>3LL8Rd^|n3<*%M1CdAsrF&MbrUGj`X%@0e?|s+ z9f}>PNe%2J?*QRnA}i_o9EurT}fcW7|N zqA4y<(L~reQYqBHEfV+5(_8&7;b|*L>E!PMRjtlMj~|le!LZ9GNMKp}^;9&J-%Bgt zwh_sHOJ^y6r1(XsZ%nU3!;6$q^UOiSRIsQ4L#ZvO1U$kg6Z@o)p$s7K4o0;VQoG$k z(Yq6*TwDbz9%vxmLr{aMpz~Q#L3dxTRIFP?eDiX1qofbXryJ6kY^J_mXg%@gqU2nm zDWG*TM{T#hsl$xQt~k-7w<`eG2J|3GraU=F#E&R2javp4Q;bb4i3D;{=x~UYD@_Yg zC@x1tE`)NrG^yF%Q|=sYFx}4hi-6@SljXS%fRB?90aK~mHlH47{%2LY358}#ItYg4 zf(^#klC}X)gqN5S!JWgT>~Zrlp;-L5H7iA=$4|nV)1`+eZ4<+r4mJKT{ySoCOym5! z07Vdyme!w-e&JTz`s&o7CNI!jfUV@a^+WIf;{uj-m}p2pwKlfG&NUM@a?S@VNy%H* zF+5flb!GbTjY0*5LA9FSjP{p}(l*o9LSQA*-K)G*cGkZ$_5H%GL!Ca)`Y-`~--#CL zKq=-ExrAN&f;Z4(4t}V5T`OSj1Fq8T_s@-A1hfrjY@Gc>dN+qRiRdf;MTnn8pZAG~g(Pt>BE|oW&9(nx^O&N}{{->Bb9-Hcev#1I8Sr;RrSYx$ z*`CH4-mi_@s22~S6K6r2!YAt>G{x-EE=Ms3Rcr1lT+J<&p7|Op%n>rBzGZjP(5BX= z1)A^tIhrMDbnc>K!`g9T_k2956#z6HnjW9QfHO8YA0~Lr2S&IDKXWr@wbX4L7SruY8+_cx-r08n>g5tTm z2b0Fwsjruzmp&z|f%tvsUSp`C0QfD@HB$fXRR6#7gUf#gGVa&01hjs@$s>vxZ2f)H zosmvW8h67{GyPY?-W}@B#Vl(Wx3aRx0awLSrgYCzkNR4*mH?XU#y3QdM%qp(W8czZ z&|UFogk%Gg{G^WQTxwRwj4?sR(MV?v4h53<3hq4M?<8e+SCbvbcrBpaHoXM|my2(i2D!fm#-;B9&nFIkDD5mv?9uD!s_(qiG0S>V%& zj5Uv+Z&-;*CJ@zxngF|H;D7BwDVoEx=yc+=Rdn%OC+tt6@J&D(NNz;Eu5 zb;rt90LD#xw-z~wbuhPDwh;g7VlFY^liz%{CyZ1N+-#@;VcXwuu9|Y*0A{4*@ybfk zDHt=W!g-l??ioD4J{1+v9em%$ieVN!$q{9qUMaL}Y|51w&J+TRQffGW-u^Oc^o-_M zkP)f%|2sUMV@~CuRNU|l#sLK={qg%7v@G~MWJA*y2@gm)#NU+7vtn+vqoChuiuH8u zBi`dLH#$kD-ZmfHro(d0JDG$|yl3sr8m8bqkn1GOoMSWl1k}`dpD}ji>8Sr%bZ@n) z8d1zd`M&B}yyT(uVE8Ca|6HZm_(}#vGNE|=-?{ajRW$Rik(fA8J8j73EZ&7XxKF1U zX3qgh1p->B`@t{%C;!&#zf#;KW^#)q`iysJo~?|j*RR0qSXiNgE?vp)CV zQw5hwQdQ2fj_}W}#mv?Oms>?OdRfw?(G*Zv*TzMt)P*I7JSv z4vWF^&4C1tGO&Tyih^O2!DC$)-@xyO^5k>qps2B3TRjrzOdm93yelvSz?N~LO_YDa zOL;mvc#JF&8Ns~UX@FnIq2_>zFwC|@A&QT3DN_Caou}SWoow4^De(oyFVV`O86Bit zFF%wPq@*II!ASR9L+{m*dsW{bpRcw0sCT38IzD1`O?~7jK$c~RNwW3$`97ko=K8(g zu6_3NH#aXU8Mbw2U$vBi;4Y()lJ1x{A9{lq4aSh58URG-ud_Bp^smg*O+DUlX_-N9 zqp}ZN4fRbeH<}G6Pkt2dpqtW0rk51H<#S6 zjaW)A0^X`5uSf8NvojjyGO)foX!$Z;Wh|W5qNDDAT&n<19l2kWNUs%*t#^i6PG?ve zG~|!F6KE95rDe_2=L)~%`r$5I4cJ)bimlQUY=1y?amoq!ds|Nn?9ip&CC`*7ZaH)= z_Mq&(s_31$RsXL!Rzd&j0Nj~h)V5zF{pk}`?uInJ28y-%l~!gGGv$LsuL`5rl{U;pX#OM-^mjo2mu z=hEV$fR6@Z5Wqp2ze|OhTjY`yHV2+xedcR(tAg1uEaDlp#g#e(@ACT7`zt@U6-iFP(wG;I^HbvTj^-KFLrVF6Q;QdI3I3{) z7*6S!AxAGroAz^pG&wJTQZ;~jylyY~sVH4qSX*)*ZG^u_;f#`L$ItnKSJ8Py+X3W^9g(aK<w!%4uZ0d*5a@L&2x zlKjjs(Pw8@dE$uPSawmy`IoKP?xtT4l$bw<0w`zDS_stSyj&Ha4MhoiBzx3BTA8GW zn-seOWDx1hGsSzA+qt!AkBp@N?x{bWpke0R**n-EyAe~TOU zp1^aYC{(?xlodDJ6B1lE$t6Iav^UFGbU1aWI$6Oa+ar7T@V)%}w9ZTw&HCc}HjtJN zyanAW*qZovbl}NJ3Lj7EwPIJJXK(o_K4EyAdMiO=#AE z>?Kb=t9YPefvsGp4|xlCpQYOr!Ev6r5um+#m#F?d3bey{Z(fnlyN{ zoJeczudy&>rLo%d*sJ<0^}`>nO5}_uW=%#&A1;K**KLdFJBYRN zqH7H5_vyH1t|hl@H$2USdvO$?0pmOi)veBWt#e#KNuVn6|0R%C*{va?I91Du-|sfd z0js2&mww?9vk^*8Hdg||)MCMHB@|bdF;dj&3essgE`PxPmZmWV5#6fA!_YePig~yO zfpb(*JZyO^R%nrH2WNZlb1tU$XjIa_n`<}Pg@*EW=6lO+r|Fil9+t6Qu1>k>0ja5* zbpQdiw#`~VCvUcjkuHO`X84o4weS=+*P^nT!JyaWQSdYgC*_UDwi|Fj30w&UhLcnE^>MTZV{jX!>SS`6rd6P;|#kk<{SiQ*$c@ zYtkF5sxM=A_Gsn^*rj)`T|OTOY>LZUBZbx`_oj3(nJeCMNu_l)y-}WA)*N$MRN+Ox zIlQ2#kMe(08Y&3&|0XRIsl{BBYMakRRnKzaf~*%VA!$77Ly{)Ca-cMRFx(I4yV(zi z>`GT@8Lor&ZW#%T$O}(G0eT-G+e^#gSHN0u>1{<*;P+I%HA_}n@X1qZ1N)pZ z)NoUiwOwAUqkM zoUI|`u;*M_8lD9de7Z5ixJ3p1!WTxF=BXNlDN%BW`~Ph?MenBRN#GHQ?`SuVLptAC z)4aDh?Y(|)Kcu6VpNUYBFlG6!9M?L^CHrmVL{ZDI>~-YXUmIU;1~9&%%=NB<0K)A} z@(kOTU#RzXt&3k}^r2~<>qyWwz}*QGU_Ew5A%uAc|T^ zF;QyX6dyt&!%6`Gc&1YPu)MbH3NJpYX3Jd&QG;3fj9eE&{j^|>nG>4 zF|xka(47)@t=o($f9;$&ixwcbF{Ju!m^vkJdu;#lJ(@x9??d3Du~)RIH*XUa^Ksb} zG9YADxCaq`;=PgQdM1K_>tgtTb2PpK;Ukn z6ZyLIvus!meQ#`;?du{CbDomjM)}QfNe@Bq{axL15KADRX`Y5bw9py)qqmp8*3X!X zc2NDdur8tptnLGDkNetbYVD>nA+0TrkczC?bJBkh%65VLa9Xt&fi5Og`+Uc_U2>&> ztBvebg(@)ml9Fm>l;Ju-MA&49{>x@SC&sCt;gRSO$Vz!`l))hcOOM<7gBrw7=MOA1 zRJC$|hOm@>$4ef8xcvLhq;QfjFgY^G$8f)nWm^ka)zSGU^Uzm3Gz7e<9k85aWVEQK zELGMQ_>YS4!w&pkhIN!gKFxsQvzZ-x?Bma2 zTg21kj600A=xfybzR2L2YmQwUl!eul@q$1e3MZ@o$A7;4w@8|LH(P!{ z^m^3uB76=fvl{GeCj}2FEk%Tvff7>Q#@1QX)7UxsaVf`&6Kn+_dq8i}3|Ca=sD-fk z_x~RkfHvb*2<)XB$}$mhdK6271}u3GepT-XhN~*7#V_xnq#^NeVT;KlbkX=#m{!1o z4=h$;Fc}TTKG|KtB}Hhr9pqBgbnFn2#DCH`NgF3_X%WPzO4_%Qf#&E@eK7=J;Rlh4 z5Fk$Z4hlz?1Iw9ZesC7v5`Tnzy1>^=veK8aJh(W?wP@Fl4r5XI>~NB5cCcgEl|n@Im| ztyAvB1w?r?l)!G_@}2`L{+T`GC=iSnz73?lyd=`;xLt(Q&x@~J*tN*mxX=D`wbtRH zOFGQi152}K4TNt_P%G`^c;700nc7AFZVfNML9_R8=`Yk$zjk%_ERc80#eca)K6F`q}C5=2fqhf9fyDSD1 zRrOQ`_CvR^5qHQ#GGpxRgOh}@S(B2=3hRyyCk!7g(l?QG<#nK_&YogbSMUh@<2o(u z^4{lztCZLjG&;c{0{c6X6L~^62~Y{0w)rgEr~#w4^c#A(&(_#;o&ty<9cx8^4=B5E zp+h_g9tHy&Xidkr@&lE_`p-u`kjJ0+Hd8u?MeWv_;5G(#+ z;ji*v86!7~l*yrM+Bm#;-om&0cQJLdUKlM%dcvi*mVxg|T90~e*ab3zjMd_`dJ^OG zwO0oQ^*TRYS0e2AXCSfd%U+k?rV}$jTPjyQN?Ssf_um-Gxh=PIMG$Y~mz@q9mn8?o z!UJ;1{h@FN$>no-(0t93=uZ2lk0{&8jXE=VpY0>@e#{llEsvAH)f4E#&-Kj$d~j9XltEPgFrdb?S( ziT^=B))YFCr?!UaYuF^b&Kt%fj?=Sdom<8Ixhb~?#(Ngn*}4v{8JBDEZ0JIfhV#s~ z#PG^%fpDXf5wI*a^EFjWw}+zTPB__f*7hFL~w= zR@HAS<7H%~?lye6r#AxhN2%@D&Z-a%e2g$Za{?Ck_8V@xw|hLvn4xn9wE1j)=2VI} zXlnb|Hlfof(&Cop`t?4PN$A9yg0uf$yRN>z&{hLe#9leTV#xHsH|3W{{fCb~6yleaExRsRmR4+9LJz6MB3|p9W1sP9;%Wl2L}C%+;)V>!M`7%y6Y=IB_&e3x6xMWIj5 zMKAUnxKns$={Tjxg^7kk9TS9jwPi7r%-v|OxEx(My|eArJYuhuHt7c(0#N~BEAvD5 zpC1>e+m@PA`7gNM4R|JPL7AB_r>Gt8t!`ZVR~ve2nrD0oO;C=V&!Q5xcS?|z3hZWd z`~HS4Xj`c#LB2L@+FA=q@R_?Yj^-I>BG9I;@;^4@EA0$Dcy!kaf3@Wb27ZHUa->)+ z@VRQ(PZhwC?e5~I83?w4v9o;_nqcB$d#rVMspI@_50L*=sB%XfeE1wfNSr30Zd8$> za@!kR(~?F2;wds1*nt8bT7CM1312j>v$W7goEqn8t*%%Ii4~3ra~&Pbk2i1>B3;}* zX%Nx+Vd*qz+u^WE|9DBvUoyc3giG5~YTebPO)05JJJk+Yu_2sBT%5NlPg}kQyXfsK zWJW*74>;XbdLPGU5AV@6Ji|0ytdBEwlCG4b0n+5rz!K%F#)q0*Mh4I=59x3ptpCAq znm6D#&A8c_RYg~QCZLSX3#sVt>8|oQZ$Xl`_E8_tL<8{&4;hInS=h1m!FHy~H&%iH+YT@#VOjn^mi z!)5~{Sj&Kvvi$lUAs2MoQQ08K8b~CmstNErG29lNAHNP=n2&T)KChRtpcrJ$Yrb>e z7fP*Ka_v1&C)RpzE^h|MvSDW2=TLAo9fVwRsC3d2Y26OY0%U7NPbvhy936aI-l^!; z!eREj7BH?DIFdXah&V7$7h(4JA&r4{w!8Cw|6#~a*cT&LTU$0wAm~R3u5W6 zra7bTfZ3n@{s}{N9Ar3Mv{gAz8R*86La)~JR~>cPr4u9&R&3J|rR;Y})7Zn6kfr1y z155t}yNREQppYS+C6AOhrMQm$Eo#zEqR+-`kj28jd<1C;nQjdUo2%McM?M9dMx5jk z0Bz@VYg-2v!0H_Y@UkkS$mL>`PWIv=6r+SL=cPPTR8eeD(wcJnEg8TPCF1wHg(>6Q z^3E~nu}3-LNfLB-8jjXSqocN*7hve3KeR~@>`B4i(|=uf_x>}ueDb1D|{r`}{g&(R=b^BJ+AxuLh=~KJrK;c&K=G4x08#ZX zlay1j;#Y}bt0L0B{jV%Ip`a_^@>dvR*4e_zOd+a`7~*!a52;qioDuTwDz6g^4ntbK zPtGz&KhMT3yPu!d;E;CIlRp+mKZhOTB4X){-~Px1x*Rl|2Ara<-kElBS_Q_+`?em6 zEcq^7og}u*H#gX>ZE#q`S8XE@{{NWC`43K$nFhY&Du4h85t~QU++47g*nuS`ToU~A zuCV7}J(~IOPdA7ZKn+PeS2N==vtkj5;OYCS9d>j@&;eb1bIr%4I zWmjhITO?iBX0L%&({f;XPH%r4Z(iErbta)7moO)3dE&$nIr!I`(zLMi%Ztw(W@kgC z1!cNq@1^>Wn@xXS;-VZ zba68<_@?SY@EvnCYjlQBk6$bl%_DS`xC8FaJJrYnJ2Y3io=DzN`YR!-dP=>sFi_7qr})7Y^~&WeVdaQ- zHK^3hwbcPi7*H0@eKw?RE&O`NLYnAsdB#%k{Yw5&BIpoWlE}&%pc8t~6zEBGo1Wrk zu}#SfT04^W%sUz^Z06>Dxzx7IOujtyWVX7P0)pJi2M>Rn)6F|?6N_-J>#*w zp^>-PorK7KwlSs^kdL=pWU_qSosMo%Q~Ji7=1oV7;cD#0V<&WGCa(P;P`H8FK3%f4 zqRC^ZURD$aJ=tS1vah=EIjI@|?6;4PrI4{lC!)Lv_veiRQdzpKTa&r+@tCF_V@mDs zYs|nX90UV9MLSUE=wSmRqgdsOw*oY3Mk+Uj$YCGXWn7iSEzXBbBBc(rd`4{sq^hMs z0jbV!2=$C@jDi_?{=qw?02;xd3mhG5#6UQgu8ix|5~sv?#^G+1>^M|`oGMMrn8L4C zNPdh;sULdg8hyw5Y=;>f0yL}r>Az~r@1xJZ`bsxqGfG%T3AFH;llDPF&9gG*&a396 zH?5iHJCTW=F0RXm=N6fc<3l1Ao@FL?UmZw{{E$8PS{gtcQspF}H=7-Xmlb{~swE7b zZPyLt)!g=rwj26xaoKUXI9}sb+Q;+B;>YM13(lBC!F8QVV29NLxKgfC4shI%6vw-f+--UXvH( zI&*7aJY;?J8X^APqW}4+=vU)gEtYSlm6qHa!WJ9*rb}=S z5DJLt#V1pi{_rPnQCgfA<-h*hqxRVIlK>qeH#Nc7ItT`u;f~s?s#xf_RTyrja+srz zxVr<8eLr1sEov_*Rf|K)poa&-a6e>1X2~Qe+xSHxuX0R0F4~Y_T49Q0?-8?R%>CEsxL`2>(ZW6ZcYwtB<*bQoNF89aWv3 zKGU5J(A_9eb9wutkAcX;_S1y$fJK`Ne%_JbRYn_mUik2x)UVQ6<6Ay$qKB<+8{U*c zh0(bBk&dh4^qGI0!WkZRx}Kn6^u4XYE6Z`zGgEf&a$PrM=OP6lbG2cjBk#MMD4OgW zE(nMDlA303;Hm36Uqv+wTR+ip`61?ibY(}pt*NMXr-no3JsOeXc9V`Hcx|4M!ZwDJ zBTxIGIs3Dft}n>ZEK~f9wxDr<)m7gLPD+Cr(ewgJuvv?w1J;uQ{ChrofVz(jID%*3 zTSc37)oE0>qr`>wQRj?;RqkMvjyyP9a)6T+2diq1P+q-(pk+6gcYZ(m>zYG2;X7`( z4Xt74q<{;n?@-8iOLGl1H8WEmHkFsTZ&rT_? zfB^l_cV{OzI|G06)kbjbJu_B+a~1#nB`ju1KsOegtqdbeEg8-sd}Hz&G{X+1Wdu!m zGi)ajpHjb3%EQ_J%ER$yE?)Lq)Ny48>d|5%6^nN&p$9I#(?+Z;?@7F}M*q}~8bCO; zc(k+=_m@vnUwv7W-5J6vpR@~>j+=?OWD>sZ%Z`BQdCV`yc;m%46XZyy85U^6@l&4mQ>i8#FyS4~?I8au4q>e+~ZAv7K~MzfjY0 ze&ruwE*su|ml?2OeQ))<@m;oO#Cf|<1c9g1oh{@-)D;2!T5EApOwlzEM%*%ryjfCN z*(`^)e@yX=k`gY&FNaX%=Nmt7M012Z(<-i@rd!;~6dWKEti4rz1k-?_UBNwx%4x;Z zYT=2BU?R4(1!>dN7{lWc+Obp(QOtompGk8;P7bCU1?6) z%Ov%1O0gZw6_(hjFE{8D6)e%NEUN)#i(7sL$Hv1U z*a~(r`$cl@^Iqo%(MMWQhxqfnD=~a;T^6SHh88#Ve)H1UR-U}uau%kTJ^+tlCYp9U zd{8?qV!`1(pB;!Y@U7@+p%-}hoGvx*kZv!}_U)%hMfZ^(iXt+w4s|OdGANXIMsEX= z8p%Ge)|AY*vUZE)n@Gd71&EN(xRn`w0#N|VlFoJ8jp2~9`K^;-SM;C>FcePbdh^Z? zu(7fZZo3W<#oTe6&KisiJ4}!l2*q)PpXs>@yDqMGoJM0BaMZYEF3hZ-L#o}TIkSkn zS+n~pGay0f{6|+iMsvrordk~szFaqr3QPISQc8?SWoQqetn=`Af6YOV=PhYBjSv7K5*M#!(X2k-o7{3zJjo7X0-8apC>X0aPnTgFuce&# z==52*tVX$U+Z;HhWfMj?{`ovqB#3Y$c_G!|d}mJfRQYl=ueoiXsHdz14PQ9XC5H@r zSx@wWF_N^(JfDdUHMPvu?H8@T1#N$27f~P_0IsafzAU$_{Mf09O*slz_QsS-qnZ(t zCi~=Z*q3BS7%^n{qv~>f^`>J(u`p^%VHHfc3n6eeLksvKo{t>qRwKW*O1+uL+VXn^x0GHJgj>tQ_@Qf> z+c#_*nmopaYji^PZ<(Ye5-!o9SC|Se&Q3rh%mve7LO#^bf2O+r$&NT?1Y0_<;=~;9 z34YpA*jZJFT?`z!-zqJorBwS+KBRKLo^h@B zv0Z073LEh#V?kbg|JM!Uu^-1H3tJh&!p0U^t1>-_GGUvyMKj~Io4bVC&KlUJ&43+x z)4=I)(Emf-TgFA%b>X8JfPjD^C8;7HUDBl>At^b8bV*D1pb{!6-5}lFIZAhT44nfE zFyssa=Z5EfpZENKzw_yQI%mFcGYt3az3;WJb?vqHx|U1*a6*=A& zQ7l*VI>c6c%)sNMZEipBc(IkUnlF5tEn*!K^Pzo%FnATg#-^O?w0{LMsNQ?e7-`FK zu~WFoaf##56%)oBQQ-x`1~VWQ9X}Tqqw|Boj`P&DdmbYJ@T(JhV|bKwsWuHkyzDt$Dm|-WuGq36YN{)H?ga#A%~mdzHksE@e~Q0$=P5d5G%`Q+5Z8% z`a|7So}vwJK|%1?UmtB)oGmayi9_m-YEikWnquNtGn>$6G(lT1K05`PvU8;&?Wgf| z&>RH?P4gO2IooSjjZ%H7>+)bU9)rRX_4fnhzTM0H+G(Lb|18_xncm-Qzg)m`FOA9-s;{CXNBpsN_cAx$NTm--G=xd~9Mvg?7j3qP1G%23s z>(-klta=UFXYT&LsCBq37uYo zaB$Pyo^Fpo_Jd{VEMNBaQH|B;Rw@me#;#UvGNVq5sOz=Ou3MxP%~B)Ga0XuabMkOA z(HXsJ)2J)$|Hb}_XWpZm85+-IFn(g*kz1b;fs@`|SECvago_?wynpvrJ^OX;vN_QP zw|rUphIa!`>;kzSZ`4f65GzTDSJv=`RWFzQ$BO=xQQK}APwmE|jD;n`QV6)eQe?_H ziT0~y_X${v#~;J>AuoBLZ+!afvzHYINO!&@W|k+3Q$V7;jnX(P>tcZ-ax#=kWx`i2 zGpCcgyNZ)v)b$ejb-RJsX8aRS#JUt*zX(1`F|8%t zIFrS1akKvg+1tMSSW;~i0Gx4A;WWN-G0ku@eqCoaTfC>q&SGc7MZxRCzukP%y>oR> zwYr**r@eWk>2pM#yqcwpz5g{$voh%wDfo%Na*7CL^Whmp-05VZesXg9N-By0jSAtx zohW5y{2?fJ z&#-#4sIFlq(VeFMw6GvKXCShZzFgfyyP-u>put=|iT2)Zud?``Nj+Vy?e{WF3eQEd z9+2Ig1ToCVnL%kf@50CR?0XI(pVqfzS)b$X?YJY7%`VmkTU_bD3y-8XEX}pQ=~5t2 zFstVy57lV)hGb5daj>MoxFhuQgQnW`>5sf30d6D#HZUmN`!S8d6Gi9Wd=K}!-=G_;hPehn>HeSgG|;D2BN5< zbEe~8!417XyG55K`fd)%m3$qK5C>%J45=}0HyYm|z50#Pk@yw*^*b+q$VW#Bt@}^< zcZA$ub(IjA%H>ftlJjZJPAkOy<&nN))#o)a!&V#?GPu4!E0uVBph>B@GY*Ky9FL-S zMa)RrCAo)uPtDaR=f(M#i}m`yiMG1cTsrIb2MgsasRdpmZ9n5F)=Ba3a!tmZzfAeu z=QJI%^if<|r)KiNTH!$&M+~{!;SeHJvGob5tJ{kdQj@j1Hb%2@R#1qvwqE!VRJ1tO zTz+D`*Qs{RKga2A$NH;g3ns$Jsqau1F5C>RlM~DNADZN?A-^sMB|>u~~lo379CWfD9jqE-Rwq>hYmMP7RGX5t9QY+0^N&!a@e?!l^u z@1h5WEet(@lg^f+hXo98v0bB8F$?Ol)VoU7UR3 zVn0CF?SCjxcEIEbj8LK$ib|zB}?7Fos;%0T*LoB+M%|7kxbQRdE}uo_^A}KBa^qznt&0_7->93?-<(K z-uFwLJB_TtKwoBK`l)S2!>g@nY~rk{G~^^iN4)Q=q_PKcbo73rW+#GMT^5u$_CXy+JGRfHb%@^WGi|>48;Di@ z>pl0*c*;i6Dfty6A|?omWnYtfwpQxd2^_Xx@(@o>=&$nDy#i;KP|wAZaz<&ER0R%r zw@sZ+5BBz`mq(j=2p)5y3Um^uZwEktM?3 zHh;|z)+>wfx_8poB-m+3+uU%Mx*J^t5-F*o6PiIEvzM;^82Ke#M)86%4G48R$~#pi zr59LkD0IE$ zDK;7xN#2h)ys&}mD|SlpOWm>=cPI4Z6`1fdM?vyG^WyfrV<;nB>)<|o@Ekw&XkxV_ zil^R;o~3W^V`_rAzR0xhMGaGBf#-OZja{vo84ebYD$~iDGBa;9r~>ta`jfmHWVl%( zS?eRBxs~t3*53jSk(4YQl0olS*zr-5j$Pafo{VOzd+SfPrpvq+?~+!$JMO?mDtQu= z{lPw+`_s(#K%-5OM@2ie+q^!33~UeOp370-v9^w^v8}DHKdt=ybKznR5cVvMdo`@o z(hAy%b7UT?@Kw1x6so13Yw2Y7Gh5HlV4H@?1VTg4%ZoV>L6U(@of&6z)>-)LhSm5+>d4yRS7^a%q}ejT5tSD;JA zHtnAjBAo8n2rtg|YEU&kmyx_^;FbZcHJmpiklF79D!;k$C%!0tX$2x`md}btPB{Iv zT$QAr_xi{yDRePn4NM3_>VKr86~^7x8~F1E#;XxI6EB>p<0$G_Eh(5=;@n%(-|xC* zi6_fOTW~kS+6CvUifqCzq>CE|ISHE#>e)-^Dy3z7az9A9X9yElh!mtH^!mjB>gx*0 z9c>dnqWB7H^?!-0{=zJ`#92;YJEAms#s(y1TgkQ%{C;acPQkrNzH%0AjqT`|1RVZC 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 literal 0 HcmV?d00001 diff --git a/e2e/__screenshots__/Mobile-Chrome/token-context-menu.mock.spec.ts/token-action-sheet.png b/e2e/__screenshots__/Mobile-Chrome/token-context-menu.mock.spec.ts/token-action-sheet.png new file mode 100644 index 0000000000000000000000000000000000000000..db04095984b8917e74a45280ce7036847d7644eb GIT binary patch literal 78520 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

  • =06?rPfzyK`0cDklUHPe%lQV-}X@m>e3KLxq?RVcVi^V_FN*kVM{qdYC zdMFg-vNft|1E~P!3|MBGdb83~9w-~K>n>zXumx^>a#k&k1F5m+0F5Y;S9&EO1o(|~ zDVP>F?I|?*5Gryb+O^*_-zI1gKMLZ3MN&hn!w~czl=e_iCV}}+39%Wh!q#liF$ng1 z4t6vXCU*%tuE`-8^}0GRa58*Cm4k;y+3gV|Bxs>-uKH{$Jp+oLG5%oAHs`2)WdZZ* zR;#a#zj~E~2WYk~zUAklarc)tklwCpWINrC=SH=Uy4KsL$Y&V8w%Z5_*zE|`Vx{

    0B^`~@dU7L*# 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%0DD=qdW0ggBty}VON~*0b$dHp)gsNkydkQcj!16sa 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 literal 0 HcmV?d00001 diff --git a/e2e/token-context-menu.mock.spec.ts b/e2e/token-context-menu.mock.spec.ts new file mode 100644 index 000000000..af274c9a6 --- /dev/null +++ b/e2e/token-context-menu.mock.spec.ts @@ -0,0 +1,277 @@ +import { test, expect, type Page } from '@playwright/test' +import { UI_TEXT } from './helpers/i18n' + +/** + * Token Context Menu E2E Tests + * + * Tests for the token context menu feature: + * - More button click triggers action sheet + * - Long press triggers action sheet on mobile + * - Transfer and destroy actions work correctly + */ + +// Test wallet data with BioForest chain tokens +const TEST_WALLET_DATA = { + wallets: [ + { + id: 'test-wallet-1', + name: '测试钱包', + address: 'c7R6wVdPvHqvRxe5Q9ZvWr7CpPn5Mk5Xz3', + chain: 'bfmeta', + chainAddresses: [ + { + chain: 'bfmeta', + address: 'c7R6wVdPvHqvRxe5Q9ZvWr7CpPn5Mk5Xz3', + tokens: [ + { symbol: 'BFM', name: 'BFMeta', balance: '10000', decimals: 8 }, + { symbol: 'USDT', name: 'Tether USD', balance: '500', decimals: 8 }, + { symbol: 'TEST', name: 'Test Token', balance: '1000', decimals: 8 }, + ], + }, + ], + encryptedMnemonic: { ciphertext: 'test', iv: 'test', salt: 'test' }, + createdAt: Date.now(), + tokens: [], + }, + ], + currentWalletId: 'test-wallet-1', + selectedChain: 'bfmeta', +} + +async function setupTestWallet(page: Page, language: string = 'zh-CN') { + await page.addInitScript((data) => { + localStorage.setItem('bfm_wallets', JSON.stringify(data.wallet)) + localStorage.setItem('bfm_preferences', JSON.stringify({ language: data.lang, currency: 'USD' })) + }, { wallet: TEST_WALLET_DATA, lang: language }) + + await page.goto('/') + await page.waitForLoadState('networkidle') +} + +async function waitForAppReady(page: Page) { + await page.locator('svg[aria-label="加载中"]').waitFor({ state: 'hidden', timeout: 10_000 }).catch(() => {}) +} + +test.describe('Token Context Menu - More Button', () => { + test('clicking more button opens action sheet', async ({ page }) => { + await setupTestWallet(page) + await waitForAppReady(page) + + // Wait for wallet home to load + await page.waitForSelector('[data-testid="wallet-home"]', { timeout: 10000 }) + + // Find the more button on a token item (non-main asset like USDT) + const moreButton = page.locator('button[aria-label="更多操作"]').first() + + if (await moreButton.isVisible({ timeout: 5000 }).catch(() => false)) { + await moreButton.click() + + // Wait for action sheet to appear + await page.waitForTimeout(300) + + // Check for transfer and destroy options + const transferOption = page.getByText('转账') + const destroyOption = page.getByText('销毁') + + const hasTransfer = await transferOption.isVisible().catch(() => false) + const hasDestroy = await destroyOption.isVisible().catch(() => false) + + console.log(`Action sheet visible - Transfer: ${hasTransfer}, Destroy: ${hasDestroy}`) + + // Take screenshot + await expect(page).toHaveScreenshot('token-action-sheet.png') + } else { + console.log('More button not visible - wallet may not have loaded correctly') + } + }) + + test('transfer action navigates to send page', async ({ page }) => { + await setupTestWallet(page) + await waitForAppReady(page) + + await page.waitForSelector('[data-testid="wallet-home"]', { timeout: 10000 }) + + const moreButton = page.locator('button[aria-label="更多操作"]').first() + + if (await moreButton.isVisible({ timeout: 5000 }).catch(() => false)) { + await moreButton.click() + await page.waitForTimeout(300) + + // Use more specific selector to avoid conflict with wallet home send button + const transferOption = page.locator('[role="dialog"], [data-state="open"]').getByText('转账') + if (await transferOption.isVisible().catch(() => false)) { + await transferOption.click() + await page.waitForTimeout(500) + + // Should navigate to send page + const url = page.url() + const hasSendInUrl = url.includes('send') || url.includes('transfer') + console.log(`Navigated to: ${url}, has send: ${hasSendInUrl}`) + + // Check for send page elements + const sendPageTitle = page.locator('h1') + if (await sendPageTitle.isVisible()) { + const titleText = await sendPageTitle.textContent() + console.log(`Send page title: ${titleText}`) + } + } + } + }) + + test('destroy action navigates to destroy page', async ({ page }) => { + await setupTestWallet(page) + await waitForAppReady(page) + + await page.waitForSelector('[data-testid="wallet-home"]', { timeout: 10000 }) + + // Find more button for a non-main asset (USDT or TEST, not BFM) + const tokenItems = page.locator('[role="button"]').filter({ hasText: /USDT|TEST/ }) + const moreButton = tokenItems.first().locator('button[aria-label="更多操作"]') + + if (await moreButton.isVisible({ timeout: 5000 }).catch(() => false)) { + await moreButton.click() + await page.waitForTimeout(300) + + const destroyOption = page.getByText('销毁') + if (await destroyOption.isVisible()) { + await destroyOption.click() + await page.waitForTimeout(500) + + // Should navigate to destroy page + const url = page.url() + const hasDestroyInUrl = url.includes('destroy') + console.log(`Navigated to: ${url}, has destroy: ${hasDestroyInUrl}`) + + // Take screenshot + await expect(page).toHaveScreenshot('destroy-page.png') + } else { + console.log('Destroy option not visible - may be main asset') + } + } else { + console.log('More button not visible for non-main asset') + } + }) +}) + +test.describe('Token Context Menu - Long Press', () => { + test('long press opens action sheet on mobile', async ({ page }) => { + await setupTestWallet(page) + await waitForAppReady(page) + + await page.waitForSelector('[data-testid="wallet-home"]', { timeout: 10000 }) + + // Find a token item + const tokenItem = page.locator('[role="button"]').filter({ hasText: 'USDT' }).first() + + if (await tokenItem.isVisible({ timeout: 5000 }).catch(() => false)) { + const box = await tokenItem.boundingBox() + if (box) { + // Simulate long press using touch events + await page.touchscreen.tap(box.x + box.width / 2, box.y + box.height / 2) + + // Hold for 600ms (longer than 500ms threshold) + const startX = box.x + box.width / 2 + const startY = box.y + box.height / 2 + + await page.evaluate(async ({ x, y }) => { + const el = document.elementFromPoint(x, y) + if (el) { + el.dispatchEvent(new TouchEvent('touchstart', { + bubbles: true, + cancelable: true, + touches: [new Touch({ identifier: 0, target: el, clientX: x, clientY: y })], + })) + + await new Promise(r => setTimeout(r, 600)) + + el.dispatchEvent(new TouchEvent('touchend', { + bubbles: true, + cancelable: true, + touches: [], + })) + } + }, { x: startX, y: startY }) + + await page.waitForTimeout(200) + + // Check for action sheet + const transferOption = page.getByText('转账') + const hasTransfer = await transferOption.isVisible().catch(() => false) + console.log(`Long press triggered action sheet: ${hasTransfer}`) + } + } + }) +}) + +test.describe('Token Context Menu - Right Click', () => { + test('right click opens action sheet on desktop', async ({ page }) => { + await setupTestWallet(page) + await waitForAppReady(page) + + await page.waitForSelector('[data-testid="wallet-home"]', { timeout: 10000 }) + + // Find a token item + const tokenItem = page.locator('[role="button"]').filter({ hasText: 'USDT' }).first() + + if (await tokenItem.isVisible({ timeout: 5000 }).catch(() => false)) { + // Right click on token item + await tokenItem.click({ button: 'right' }) + await page.waitForTimeout(300) + + // Check for action sheet + const transferOption = page.getByText('转账') + const hasTransfer = await transferOption.isVisible().catch(() => false) + console.log(`Right click triggered action sheet: ${hasTransfer}`) + + if (hasTransfer) { + await expect(page).toHaveScreenshot('token-context-menu-right-click.png') + } + } + }) +}) + +test.describe('Token Context Menu - Main Asset Restrictions', () => { + test('main asset should not show destroy option', async ({ page }) => { + await setupTestWallet(page) + await waitForAppReady(page) + + await page.waitForSelector('[data-testid="wallet-home"]', { timeout: 10000 }) + + // Find the main asset (BFM) + const mainAssetItem = page.locator('[role="button"]').filter({ hasText: 'BFM' }).first() + const moreButton = mainAssetItem.locator('button[aria-label="更多操作"]') + + if (await moreButton.isVisible({ timeout: 5000 }).catch(() => false)) { + await moreButton.click() + await page.waitForTimeout(300) + + // Use more specific selector for action sheet options + const destroyOption = page.locator('[role="dialog"], [data-state="open"]').getByText('销毁') + const transferOption = page.locator('[role="dialog"], [data-state="open"]').getByText('转账') + const hasDestroy = await destroyOption.isVisible().catch(() => false) + + console.log(`Main asset (BFM) has destroy option: ${hasDestroy}`) + + // Main asset should not have destroy option + expect(hasDestroy).toBe(false) + + // But transfer should still be available + const hasTransfer = await transferOption.isVisible().catch(() => false) + expect(hasTransfer).toBe(true) + } else { + console.log('More button not visible for main asset - may have different behavior') + } + }) +}) + +test.describe('Token Context Menu - Screenshots', () => { + test('wallet home with context menu buttons', async ({ page }) => { + await setupTestWallet(page) + await waitForAppReady(page) + + await page.waitForSelector('[data-testid="wallet-home"]', { timeout: 10000 }) + await page.waitForTimeout(500) + + await expect(page).toHaveScreenshot('wallet-home-with-menu-buttons.png') + }) +}) From b81493b6616611685f9f17a07e42da059ee630d1 Mon Sep 17 00:00:00 2001 From: Gaubee Date: Fri, 9 Jan 2026 19:59:53 +0800 Subject: [PATCH 13/23] fix: use DropdownMenu for token actions and fix SendPage init order - Fix SendPage: move useSend hook before code that references state/setAsset (fixes 'Cannot access state before initialization' error) - Add menuItems prop to TokenItem for DropdownMenu-based actions - Export TokenMenuItem type from token components - Update TokenList and WalletAddressPortfolioView to support menuItems - Refactor WalletTab to use tokenMenuItems instead of Sheet-based menu - Remove Sheet import and action sheet state from WalletTab --- src/components/token/index.ts | 2 +- src/components/token/token-item.tsx | 60 +++++++++++- src/components/token/token-list.tsx | 10 +- .../wallet/wallet-address-portfolio-view.tsx | 10 +- src/pages/send/index.tsx | 17 ++-- src/stackflow/activities/tabs/WalletTab.tsx | 93 ++++++------------- 6 files changed, 106 insertions(+), 86 deletions(-) diff --git a/src/components/token/index.ts b/src/components/token/index.ts index 59ec5d92b..56867c886 100644 --- a/src/components/token/index.ts +++ b/src/components/token/index.ts @@ -1,3 +1,3 @@ export { BalanceDisplay, formatNumber } from './balance-display' -export { TokenItem, type TokenInfo, type TokenItemContext } from './token-item' +export { TokenItem, type TokenInfo, type TokenItemContext, type TokenMenuItem } from './token-item' export { TokenList } from './token-list' diff --git a/src/components/token/token-item.tsx b/src/components/token/token-item.tsx index e85e299cf..8a8680d57 100644 --- a/src/components/token/token-item.tsx +++ b/src/components/token/token-item.tsx @@ -4,6 +4,12 @@ import { useTranslation } from 'react-i18next'; import { IconDotsVertical } from '@tabler/icons-react'; import { ChainIcon, TokenIcon, type ChainType } from '../wallet'; import { AmountDisplay, AnimatedAmount } from '../common'; +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuTrigger, +} from '@/components/ui/dropdown-menu'; import { currencies, useCurrency } from '@/stores'; import { getExchangeRate, useExchangeRate } from '@/hooks/use-exchange-rate'; @@ -39,6 +45,16 @@ export interface TokenItemContext { canDestroy: boolean; } +/** Menu item for token actions dropdown */ +export interface TokenMenuItem { + label: string; + icon?: React.ReactNode; + onClick: () => void; + variant?: 'default' | 'destructive'; + /** Condition to show this item (default: true) */ + show?: boolean; +} + interface TokenItemProps { token: TokenInfo; onClick?: (() => void) | undefined; @@ -50,6 +66,7 @@ interface TokenItemProps { /** * Render prop for custom actions (e.g., dropdown menu) * Receives the token and context for conditional rendering + * @deprecated Use menuItems instead for dropdown menu */ renderActions?: ((token: TokenInfo, context: TokenItemContext) => React.ReactNode) | undefined; /** Main asset symbol of the chain (used to determine isMainAsset) */ @@ -59,8 +76,14 @@ interface TokenItemProps { * - Right click (desktop) * - Long press (mobile) * - More button click + * @deprecated Use menuItems instead for dropdown menu */ onContextMenu?: ((event: React.MouseEvent | React.TouchEvent | null, token: TokenInfo, context: TokenItemContext) => void) | undefined; + /** + * Menu items for the dropdown menu (recommended approach) + * Function receives token and context, returns array of menu items + */ + menuItems?: ((token: TokenInfo, context: TokenItemContext) => TokenMenuItem[]) | undefined; } // BioForest chain types that support asset destruction @@ -85,6 +108,7 @@ export function TokenItem({ renderActions, mainAssetSymbol, onContextMenu, + menuItems, }: TokenItemProps) { const isClickable = !!onClick; const { t } = useTranslation(['currency', 'common']); @@ -250,8 +274,36 @@ export function TokenItem({ )} - {/* More button - visible when onContextMenu is provided */} - {onContextMenu && ( + {/* Dropdown menu - recommended approach */} + {menuItems && ( +

    e.stopPropagation()}> + + + + + + {menuItems(token, context) + .filter((item) => item.show !== false) + .map((item, index) => ( + + {item.icon} + {item.label} + + ))} + + +
    + )} + + {/* More button - visible when onContextMenu is provided (deprecated) */} + {onContextMenu && !menuItems && ( - {selectedToken?.context.canDestroy && ( - - )} - - - ); } From 78a08fb1acc581cc46f98be2e081a3de4826482d Mon Sep 17 00:00:00 2001 From: Gaubee Date: Fri, 9 Jan 2026 20:13:05 +0800 Subject: [PATCH 14/23] refactor(token-item): use shadcn Item and ContextMenu for better mobile UX - Replace div-based layout with shadcn Item component (ItemMedia, ItemContent, ItemTitle, etc.) - Replace DropdownMenu with ContextMenu for touch-friendly interaction - ContextMenu triggered by right-click (desktop) or long-press (mobile) - Entire item becomes the context menu trigger (no small button to tap) - Add context-menu.tsx and item.tsx from shadcn base-ui - Update tests to use new data-slot selectors - Remove deprecated more button test (no longer applicable) --- .../token/token-item-actions.test.tsx | 17 -- src/components/token/token-item.tsx | 257 +++++++++-------- src/components/token/token-list.test.tsx | 3 +- src/components/ui/context-menu.tsx | 258 ++++++++++++++++++ src/components/ui/item.tsx | 200 ++++++++++++++ 5 files changed, 604 insertions(+), 131 deletions(-) create mode 100644 src/components/ui/context-menu.tsx create mode 100644 src/components/ui/item.tsx diff --git a/src/components/token/token-item-actions.test.tsx b/src/components/token/token-item-actions.test.tsx index 66d5125f3..0bf160ab0 100644 --- a/src/components/token/token-item-actions.test.tsx +++ b/src/components/token/token-item-actions.test.tsx @@ -107,23 +107,6 @@ describe('TokenItem actions', () => { ) }) - it('more button click should trigger onContextMenu', () => { - const onContextMenu = vi.fn() - - render( - - ) - - const moreButton = screen.getByLabelText(/more|更多/i) - fireEvent.click(moreButton) - - expect(onContextMenu).toHaveBeenCalled() - }) - it('long press should trigger onContextMenu on touch devices', async () => { const onContextMenu = vi.fn() diff --git a/src/components/token/token-item.tsx b/src/components/token/token-item.tsx index 8a8680d57..8000cf870 100644 --- a/src/components/token/token-item.tsx +++ b/src/components/token/token-item.tsx @@ -1,15 +1,22 @@ import * as React from 'react'; import { cn } from '@/lib/utils'; import { useTranslation } from 'react-i18next'; -import { IconDotsVertical } from '@tabler/icons-react'; import { ChainIcon, TokenIcon, type ChainType } from '../wallet'; import { AmountDisplay, AnimatedAmount } from '../common'; import { - DropdownMenu, - DropdownMenuContent, - DropdownMenuItem, - DropdownMenuTrigger, -} from '@/components/ui/dropdown-menu'; + Item, + ItemMedia, + ItemContent, + ItemTitle, + ItemDescription, + ItemActions, +} from '@/components/ui/item'; +import { + ContextMenu, + ContextMenuContent, + ContextMenuItem, + ContextMenuTrigger, +} from '@/components/ui/context-menu'; import { currencies, useCurrency } from '@/stores'; import { getExchangeRate, useExchangeRate } from '@/hooks/use-exchange-rate'; @@ -208,123 +215,147 @@ export function TokenItem({ : t('exchange.unavailable') : null; - return ( -
    e.key === 'Enter' && onClick?.() : undefined} - onContextMenu={handleContextMenu} - onTouchStart={handleTouchStart} - onTouchEnd={handleTouchEnd} - onTouchMove={handleTouchMove} - aria-label={isClickable ? t('common:a11y.tokenDetails', { token: token.symbol }) : undefined} - className={cn( - '@container flex items-center gap-3 rounded-xl p-3 transition-colors', - isClickable && 'hover:bg-muted/50 active:bg-muted cursor-pointer', - className, - )} - > + // Content to render inside the item + const itemContent = ( + <> {/* Token Icon */} -
    - - {/* Chain badge */} - -
    + +
    + + {/* Chain badge */} + +
    +
    {/* Token Info */} -
    -

    {token.symbol}

    -

    {token.name}

    -
    + + {token.symbol} + {token.name} + {/* Balance */} -
    - - {displayFiatValue && !loading && ( -

    - ≈ {fiatSymbol} - - {showChange && token.change24h !== undefined && ( - - )} - {showChange && token.change24h !== undefined && '%'} -

    - )} - {loading && ( -

    - ≈ -- -

    - )} -
    + +
    + + {displayFiatValue && !loading && ( +

    + ≈ {fiatSymbol} + + {showChange && token.change24h !== undefined && ( + + )} + {showChange && token.change24h !== undefined && '%'} +

    + )} + {loading && ( +

    + ≈ -- +

    + )} +
    +
    + + ); - {/* Dropdown menu - recommended approach */} - {menuItems && ( -
    e.stopPropagation()}> - - item.show !== false); + + return ( + + + : undefined} + onClick={onClick} + aria-label={isClickable ? t('common:a11y.tokenDetails', { token: token.symbol }) : undefined} + className={cn( + 'cursor-pointer hover:bg-muted/50 active:bg-muted', + className, + )} + > + {itemContent} + + + + {items.map((item, index) => ( + - - - - {menuItems(token, context) - .filter((item) => item.show !== false) - .map((item, index) => ( - - {item.icon} - {item.label} - - ))} - - -
    - )} + {item.icon} + {item.label} + + ))} + + + ); + } - {/* More button - visible when onContextMenu is provided (deprecated) */} - {onContextMenu && !menuItems && ( - - )} + // Legacy: onContextMenu handler + if (onContextMenu) { + return ( + : undefined} + onClick={onClick} + onContextMenu={handleContextMenu} + onTouchStart={handleTouchStart} + onTouchEnd={handleTouchEnd} + onTouchMove={handleTouchMove} + aria-label={isClickable ? t('common:a11y.tokenDetails', { token: token.symbol }) : undefined} + className={cn( + 'cursor-pointer hover:bg-muted/50 active:bg-muted', + className, + )} + > + {itemContent} + + ); + } - {/* Custom actions slot (deprecated: use menuItems instead) */} - {renderActions && !onContextMenu && !menuItems && ( -
    e.stopPropagation()} - onKeyDown={(e) => e.stopPropagation()} - > + // Default: no menu + return ( + : undefined} + onClick={onClick} + aria-label={isClickable ? t('common:a11y.tokenDetails', { token: token.symbol }) : undefined} + className={cn( + isClickable && 'cursor-pointer hover:bg-muted/50 active:bg-muted', + className, + )} + > + {itemContent} + {/* Custom actions slot (deprecated) */} + {renderActions && ( + e.stopPropagation()}> {renderActions(token, context)} -
    + )} -
    + ); } diff --git a/src/components/token/token-list.test.tsx b/src/components/token/token-list.test.tsx index db9392b69..13b43ec7a 100644 --- a/src/components/token/token-list.test.tsx +++ b/src/components/token/token-list.test.tsx @@ -52,7 +52,8 @@ describe('TokenList', () => { const handleClick = vi.fn() render() - await userEvent.click(screen.getByText('USDT').closest('[role="button"]')!) + // Item component uses data-slot="item" instead of role="button" + await userEvent.click(screen.getByText('USDT').closest('[data-slot="item"]')!) expect(handleClick).toHaveBeenCalledWith(mockTokens[0]) }) diff --git a/src/components/ui/context-menu.tsx b/src/components/ui/context-menu.tsx new file mode 100644 index 000000000..e3a133721 --- /dev/null +++ b/src/components/ui/context-menu.tsx @@ -0,0 +1,258 @@ +import * as React from "react" +import { ContextMenu as ContextMenuPrimitive } from "@base-ui/react/context-menu" + +import { cn } from "@/lib/utils" +import { IconChevronRight, IconCheck } from "@tabler/icons-react" + +function ContextMenu({ ...props }: ContextMenuPrimitive.Root.Props) { + return +} + +function ContextMenuPortal({ ...props }: ContextMenuPrimitive.Portal.Props) { + return ( + + ) +} + +function ContextMenuTrigger({ + className, + ...props +}: ContextMenuPrimitive.Trigger.Props) { + return ( + + ) +} + +function ContextMenuContent({ + className, + align = "start", + alignOffset = 4, + side = "right", + sideOffset = 0, + ...props +}: ContextMenuPrimitive.Popup.Props & + Pick< + ContextMenuPrimitive.Positioner.Props, + "align" | "alignOffset" | "side" | "sideOffset" + >) { + return ( + + + + + + ) +} + +function ContextMenuGroup({ ...props }: ContextMenuPrimitive.Group.Props) { + return ( + + ) +} + +function ContextMenuLabel({ + className, + inset, + ...props +}: ContextMenuPrimitive.GroupLabel.Props & { + inset?: boolean +}) { + return ( + + ) +} + +function ContextMenuItem({ + className, + inset, + variant = "default", + ...props +}: ContextMenuPrimitive.Item.Props & { + inset?: boolean + variant?: "default" | "destructive" +}) { + return ( + + ) +} + +function ContextMenuSub({ ...props }: ContextMenuPrimitive.SubmenuRoot.Props) { + return ( + + ) +} + +function ContextMenuSubTrigger({ + className, + inset, + children, + ...props +}: ContextMenuPrimitive.SubmenuTrigger.Props & { + inset?: boolean +}) { + return ( + + {children} + + + ) +} + +function ContextMenuSubContent({ + ...props +}: React.ComponentProps) { + return ( + + ) +} + +function ContextMenuCheckboxItem({ + className, + children, + checked, + ...props +}: ContextMenuPrimitive.CheckboxItem.Props) { + return ( + + + + + + + {children} + + ) +} + +function ContextMenuRadioGroup({ + ...props +}: ContextMenuPrimitive.RadioGroup.Props) { + return ( + + ) +} + +function ContextMenuRadioItem({ + className, + children, + ...props +}: ContextMenuPrimitive.RadioItem.Props) { + return ( + + + + + + + {children} + + ) +} + +function ContextMenuSeparator({ + className, + ...props +}: ContextMenuPrimitive.Separator.Props) { + return ( + + ) +} + +function ContextMenuShortcut({ + className, + ...props +}: React.ComponentProps<"span">) { + return ( + + ) +} + +export { + ContextMenu, + ContextMenuTrigger, + ContextMenuContent, + ContextMenuItem, + ContextMenuCheckboxItem, + ContextMenuRadioItem, + ContextMenuLabel, + ContextMenuSeparator, + ContextMenuShortcut, + ContextMenuGroup, + ContextMenuPortal, + ContextMenuSub, + ContextMenuSubContent, + ContextMenuSubTrigger, + ContextMenuRadioGroup, +} diff --git a/src/components/ui/item.tsx b/src/components/ui/item.tsx new file mode 100644 index 000000000..7eb33d213 --- /dev/null +++ b/src/components/ui/item.tsx @@ -0,0 +1,200 @@ +import * as React from "react" +import { mergeProps } from "@base-ui/react/merge-props" +import { useRender } from "@base-ui/react/use-render" +import { cva, type VariantProps } from "class-variance-authority" + +import { cn } from "@/lib/utils" +import { Separator } from "@/components/ui/separator" + +function ItemGroup({ className, ...props }: React.ComponentProps<"div">) { + return ( +
    From 4b02c146e3c024c7ccb2e8b49135520668459aa7 Mon Sep 17 00:00:00 2001 From: Gaubee Date: Fri, 9 Jan 2026 22:09:55 +0800 Subject: [PATCH 22/23] fix(asset-selector): use fixedDecimals for full precision in sheet --- src/components/asset/asset-selector.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/asset/asset-selector.tsx b/src/components/asset/asset-selector.tsx index a4d974bf0..7aeeb077d 100644 --- a/src/components/asset/asset-selector.tsx +++ b/src/components/asset/asset-selector.tsx @@ -144,7 +144,7 @@ export function AssetSelector({
    - +
    {isSelected && }
    From c470ab375496cf9cf6d918ca3f1679a3dca5fe0b Mon Sep 17 00:00:00 2001 From: Gaubee Date: Fri, 9 Jan 2026 22:21:36 +0800 Subject: [PATCH 23/23] refactor(asset-selector): use Select component instead of bottom sheet --- src/components/asset/asset-selector.test.tsx | 21 +- src/components/asset/asset-selector.tsx | 212 ++++++++----------- 2 files changed, 103 insertions(+), 130 deletions(-) diff --git a/src/components/asset/asset-selector.test.tsx b/src/components/asset/asset-selector.test.tsx index ff41ce9c7..878dc34e5 100644 --- a/src/components/asset/asset-selector.test.tsx +++ b/src/components/asset/asset-selector.test.tsx @@ -61,7 +61,7 @@ describe('AssetSelector', () => { expect(screen.getByText('BFM')).toBeInTheDocument() }) - it('opens sheet on click', () => { + it('opens dropdown on click', () => { render( { fireEvent.click(screen.getByTestId('asset-selector')) - // Sheet should open and show assets + // Dropdown should open and show assets expect(screen.getByText('BFMeta')).toBeInTheDocument() expect(screen.getByText('Tether USD')).toBeInTheDocument() }) @@ -89,7 +89,7 @@ describe('AssetSelector', () => { />, ) - // Open sheet + // Open dropdown fireEvent.click(screen.getByTestId('asset-selector')) // Click on USDT @@ -109,7 +109,7 @@ describe('AssetSelector', () => { />, ) - // Open sheet + // Open dropdown fireEvent.click(screen.getByTestId('asset-selector')) // Only ETH should be visible @@ -129,7 +129,7 @@ describe('AssetSelector', () => { />, ) - // Open sheet + // Open dropdown fireEvent.click(screen.getByTestId('asset-selector')) expect(screen.getByText('暂无可选资产')).toBeInTheDocument() @@ -161,7 +161,7 @@ describe('AssetSelector', () => { />, ) - expect(screen.getByText('余额:')).toBeInTheDocument() + expect(screen.getByText(/余额/)).toBeInTheDocument() }) it('hides balance when showBalance is false', () => { @@ -175,7 +175,7 @@ describe('AssetSelector', () => { />, ) - expect(screen.queryByText('余额:')).not.toBeInTheDocument() + expect(screen.queryByText(/余额/)).not.toBeInTheDocument() }) it('uses custom placeholder', () => { @@ -192,7 +192,7 @@ describe('AssetSelector', () => { expect(screen.getByText('Pick an asset')).toBeInTheDocument() }) - it('highlights selected asset in list', () => { + it('shows selected asset in list', () => { render( { />, ) - // Open sheet + // Open dropdown fireEvent.click(screen.getByTestId('asset-selector')) - // The selected asset (USDT) should have a different background style - // We can verify the sheet is open and shows assets + // Assets should be visible expect(screen.getByText('Tether USD')).toBeInTheDocument() expect(screen.getByText('BFMeta')).toBeInTheDocument() }) diff --git a/src/components/asset/asset-selector.tsx b/src/components/asset/asset-selector.tsx index 7aeeb077d..74467a53c 100644 --- a/src/components/asset/asset-selector.tsx +++ b/src/components/asset/asset-selector.tsx @@ -1,49 +1,42 @@ /** * AssetSelector - 资产选择器组件 - * + * * 用于在转账、销毁等场景中选择资产 */ -import { useState, useMemo } from 'react' -import { useTranslation } from 'react-i18next' -import { cn } from '@/lib/utils' -import { TokenIcon } from '@/components/wallet/token-icon' -import { AmountDisplay } from '@/components/common' -import { - Sheet, - SheetTrigger, - SheetContent, - SheetHeader, - SheetTitle, -} from '@/components/ui/sheet' -import { IconChevronDown, IconCheck } from '@tabler/icons-react' -import type { TokenInfo } from '@/components/token/token-item' +import { useMemo } from 'react'; +import { useTranslation } from 'react-i18next'; +import { cn } from '@/lib/utils'; +import { TokenIcon } from '@/components/wallet/token-icon'; +import { AmountDisplay } from '@/components/common'; +import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select'; +import type { TokenInfo } from '@/components/token/token-item'; export interface AssetSelectorProps { /** 当前选中的资产 */ - selectedAsset: TokenInfo | null + selectedAsset: TokenInfo | null; /** 可选资产列表 */ - assets: TokenInfo[] + assets: TokenInfo[]; /** 选择资产回调 */ - onSelect: (asset: TokenInfo) => void + onSelect: (asset: TokenInfo) => void; /** 是否禁用 */ - disabled?: boolean + disabled?: boolean; /** 排除的资产符号列表 (如主资产不可销毁) */ - excludeAssets?: string[] + excludeAssets?: string[]; /** 是否显示余额 */ - showBalance?: boolean + showBalance?: boolean; /** 占位文本 */ - placeholder?: string + placeholder?: string; /** 额外的 class */ - className?: string + className?: string; /** 测试 ID */ - testId?: string + testId?: string; } /** * 资产选择器 - * - * 点击展开 Sheet 显示可选资产列表 + * + * 使用 Select 组件展示可选资产列表 */ export function AssetSelector({ selectedAsset, @@ -56,108 +49,89 @@ export function AssetSelector({ className, testId, }: AssetSelectorProps) { - const { t } = useTranslation('transaction') - const [open, setOpen] = useState(false) + const { t } = useTranslation('transaction'); // 过滤可选资产 const availableAssets = useMemo(() => { - if (excludeAssets.length === 0) return assets - const excludeSet = new Set(excludeAssets.map((s) => s.toUpperCase())) - return assets.filter((asset) => !excludeSet.has(asset.symbol.toUpperCase())) - }, [assets, excludeAssets]) + if (excludeAssets.length === 0) return assets; + const excludeSet = new Set(excludeAssets.map((s) => s.toUpperCase())); + return assets.filter((asset) => !excludeSet.has(asset.symbol.toUpperCase())); + }, [assets, excludeAssets]); - const handleSelect = (asset: TokenInfo) => { - onSelect(asset) - setOpen(false) - } + // 生成唯一 key + const getAssetKey = (asset: TokenInfo) => `${asset.chain}-${asset.symbol}`; - const displayPlaceholder = placeholder ?? t('assetSelector.selectAsset', '选择资产') + const handleValueChange = (value: string) => { + const asset = availableAssets.find((a) => getAssetKey(a) === value); + if (asset) { + onSelect(asset); + } + }; - return ( - - - {selectedAsset ? ( -
    - -
    - {selectedAsset.symbol} - {showBalance && ( - - {t('assetSelector.balance', '余额')}: - - )} -
    -
    - ) : ( - {displayPlaceholder} - )} - -
    + const displayPlaceholder = placeholder ?? t('assetSelector.selectAsset', '选择资产'); + const selectedValue = selectedAsset ? getAssetKey(selectedAsset) : undefined; - - - {t('assetSelector.selectAsset', '选择资产')} - + // 渲染 trigger 内容 + const renderTriggerContent = () => { + if (!selectedAsset) { + return {displayPlaceholder}; + } -
    - {availableAssets.length === 0 ? ( -
    -

    {t('assetSelector.noAssets', '暂无可选资产')}

    -
    - ) : ( -
    - {availableAssets.map((asset) => { - const isSelected = selectedAsset?.symbol === asset.symbol && selectedAsset?.chain === asset.chain - return ( - - ) - })} -
    + return ( +
    + +
    + {selectedAsset.symbol} + {showBalance && ( + + {t('assetSelector.balance', '余额')}:{' '} + + )}
    +
    + ); + }; - {/* Safe area */} -
    - - - ) + return ( + + ); }
    + ) +} + +function ItemSeparator({ + className, + ...props +}: React.ComponentProps) { + return ( + + ) +} + +const itemVariants = cva( + "[a]:hover:bg-muted rounded-lg border text-sm w-full group/item focus-visible:border-ring focus-visible:ring-ring/50 flex items-center flex-wrap outline-none transition-colors duration-100 focus-visible:ring-[3px] [a]:transition-colors", + { + variants: { + variant: { + default: "border-transparent", + outline: "border-border", + muted: "bg-muted/50 border-transparent", + }, + size: { + default: "gap-2.5 px-3 py-2.5", + sm: "gap-2.5 px-3 py-2.5", + xs: "gap-2 px-2.5 py-2 [[data-slot=dropdown-menu-content]_&]:p-0", + }, + }, + defaultVariants: { + variant: "default", + size: "default", + }, + } +) + +function Item({ + className, + variant = "default", + size = "default", + render, + ...props +}: useRender.ComponentProps<"div"> & VariantProps) { + return useRender({ + defaultTagName: "div", + props: mergeProps<"div">( + { + className: cn(itemVariants({ variant, size, className })), + }, + props + ), + render, + state: { + slot: "item", + variant, + size, + }, + }) +} + +const itemMediaVariants = cva( + "gap-2 group-has-[[data-slot=item-description]]/item:translate-y-0.5 group-has-[[data-slot=item-description]]/item:self-start flex shrink-0 items-center justify-center [&_svg]:pointer-events-none", + { + variants: { + variant: { + default: "bg-transparent", + icon: "[&_svg:not([class*='size-'])]:size-4", + image: "size-10 overflow-hidden rounded-sm group-data-[size=sm]/item:size-8 group-data-[size=xs]/item:size-6 [&_img]:size-full [&_img]:object-cover", + }, + }, + defaultVariants: { + variant: "default", + }, + } +) + +function ItemMedia({ + className, + variant = "default", + ...props +}: React.ComponentProps<"div"> & VariantProps) { + return ( +
    + ) +} + +function ItemContent({ className, ...props }: React.ComponentProps<"div">) { + return ( +
    + ) +} + +function ItemTitle({ className, ...props }: React.ComponentProps<"div">) { + return ( +
    + ) +} + +function ItemDescription({ className, ...props }: React.ComponentProps<"p">) { + return ( +

    a:hover]:text-primary line-clamp-2 font-normal [&>a]:underline [&>a]:underline-offset-4", + className + )} + {...props} + /> + ) +} + +function ItemActions({ className, ...props }: React.ComponentProps<"div">) { + return ( +

    + ) +} + +function ItemHeader({ className, ...props }: React.ComponentProps<"div">) { + return ( +
    + ) +} + +function ItemFooter({ className, ...props }: React.ComponentProps<"div">) { + return ( +
    + ) +} + +export { + Item, + ItemMedia, + ItemContent, + ItemActions, + ItemGroup, + ItemSeparator, + ItemTitle, + ItemDescription, + ItemHeader, + ItemFooter, +} From f86baa859dca1c9dd9854a2e3322c79f75d6af25 Mon Sep 17 00:00:00 2001 From: Gaubee Date: Fri, 9 Jan 2026 20:28:06 +0800 Subject: [PATCH 15/23] refactor(token-item): simplify to DropdownMenu with more button MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Remove ContextMenu and long-press logic for simpler UX - Use DropdownMenu triggered by more button (⋮) click - Keep Item component from shadcn for consistent styling - Update tests to reflect new menuItems behavior --- .../token/token-item-actions.test.tsx | 51 +---- src/components/token/token-item.tsx | 175 ++++-------------- 2 files changed, 50 insertions(+), 176 deletions(-) diff --git a/src/components/token/token-item-actions.test.tsx b/src/components/token/token-item-actions.test.tsx index 0bf160ab0..d9dd56460 100644 --- a/src/components/token/token-item-actions.test.tsx +++ b/src/components/token/token-item-actions.test.tsx @@ -82,56 +82,25 @@ describe('TokenItem actions', () => { }) }) - describe('context menu (onContextMenu)', () => { - it('should trigger onContextMenu when provided', () => { - const onContextMenu = vi.fn() + describe('menuItems dropdown', () => { + it('should show more button when menuItems is provided', () => { + const menuItems = () => [ + { label: 'Transfer', onClick: vi.fn() }, + { label: 'Destroy', onClick: vi.fn(), variant: 'destructive' as const }, + ] render( ) - const tokenItem = screen.getByTestId('token-item') - fireEvent.contextMenu(tokenItem) - - expect(onContextMenu).toHaveBeenCalledWith( - expect.any(Object), // event - mockToken, - expect.objectContaining({ - chainType: 'bfmeta', - isBioforestChain: true, - }) - ) - }) - - it('long press should trigger onContextMenu on touch devices', async () => { - const onContextMenu = vi.fn() - - render( - - ) - - const tokenItem = screen.getByTestId('token-item') - - // Simulate long press via touch events - fireEvent.touchStart(tokenItem) - - // Wait for long press timeout (typically 500ms) - await new Promise(resolve => setTimeout(resolve, 600)) - - fireEvent.touchEnd(tokenItem) - - expect(onContextMenu).toHaveBeenCalled() + expect(screen.getByLabelText(/more|更多/i)).toBeInTheDocument() }) - it('should not show more button when onContextMenu is not provided', () => { + it('should not show more button when menuItems is not provided', () => { render( { /> ) - expect(screen.queryByLabelText(/more|操作/i)).not.toBeInTheDocument() + expect(screen.queryByLabelText(/more|更多/i)).not.toBeInTheDocument() }) }) diff --git a/src/components/token/token-item.tsx b/src/components/token/token-item.tsx index 8000cf870..d87d04f9a 100644 --- a/src/components/token/token-item.tsx +++ b/src/components/token/token-item.tsx @@ -1,6 +1,7 @@ import * as React from 'react'; import { cn } from '@/lib/utils'; import { useTranslation } from 'react-i18next'; +import { IconDotsVertical } from '@tabler/icons-react'; import { ChainIcon, TokenIcon, type ChainType } from '../wallet'; import { AmountDisplay, AnimatedAmount } from '../common'; import { @@ -12,11 +13,11 @@ import { ItemActions, } from '@/components/ui/item'; import { - ContextMenu, - ContextMenuContent, - ContextMenuItem, - ContextMenuTrigger, -} from '@/components/ui/context-menu'; + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuTrigger, +} from '@/components/ui/dropdown-menu'; import { currencies, useCurrency } from '@/stores'; import { getExchangeRate, useExchangeRate } from '@/hooks/use-exchange-rate'; @@ -71,23 +72,14 @@ interface TokenItemProps { className?: string | undefined; testId?: string | undefined; /** - * Render prop for custom actions (e.g., dropdown menu) + * Render prop for custom actions (e.g., action buttons on the right) * Receives the token and context for conditional rendering - * @deprecated Use menuItems instead for dropdown menu */ renderActions?: ((token: TokenInfo, context: TokenItemContext) => React.ReactNode) | undefined; /** Main asset symbol of the chain (used to determine isMainAsset) */ mainAssetSymbol?: string | undefined; /** - * Context menu handler - triggered by: - * - Right click (desktop) - * - Long press (mobile) - * - More button click - * @deprecated Use menuItems instead for dropdown menu - */ - onContextMenu?: ((event: React.MouseEvent | React.TouchEvent | null, token: TokenInfo, context: TokenItemContext) => void) | undefined; - /** - * Menu items for the dropdown menu (recommended approach) + * Menu items for the context menu (right-click on desktop) * Function receives token and context, returns array of menu items */ menuItems?: ((token: TokenInfo, context: TokenItemContext) => TokenMenuItem[]) | undefined; @@ -114,16 +106,11 @@ export function TokenItem({ testId, renderActions, mainAssetSymbol, - onContextMenu, menuItems, }: TokenItemProps) { const isClickable = !!onClick; const { t } = useTranslation(['currency', 'common']); const currency = useCurrency(); - - // Long press support for mobile - const longPressTimerRef = React.useRef | null>(null); - const longPressTriggeredRef = React.useRef(false); // Compute context for renderActions const isBioforestChain = BIOFOREST_CHAINS.has(token.chain); @@ -139,56 +126,6 @@ export function TokenItem({ canDestroy, }; - // Context menu handlers - const handleContextMenu = React.useCallback((e: React.MouseEvent) => { - if (onContextMenu) { - e.preventDefault(); - e.stopPropagation(); - onContextMenu(e, token, context); - } - }, [onContextMenu, token, context]); - - const handleMoreButtonClick = React.useCallback((e: React.MouseEvent) => { - e.preventDefault(); - e.stopPropagation(); - onContextMenu?.(e, token, context); - }, [onContextMenu, token, context]); - - // Long press handlers for touch devices - const handleTouchStart = React.useCallback(() => { - if (!onContextMenu) return; - - longPressTriggeredRef.current = false; - longPressTimerRef.current = setTimeout(() => { - longPressTriggeredRef.current = true; - onContextMenu(null, token, context); - }, 500); // 500ms long press - }, [onContextMenu, token, context]); - - const handleTouchEnd = React.useCallback(() => { - if (longPressTimerRef.current) { - clearTimeout(longPressTimerRef.current); - longPressTimerRef.current = null; - } - }, []); - - const handleTouchMove = React.useCallback(() => { - // Cancel long press if user moves finger - if (longPressTimerRef.current) { - clearTimeout(longPressTimerRef.current); - longPressTimerRef.current = null; - } - }, []); - - // Cleanup timer on unmount - React.useEffect(() => { - return () => { - if (longPressTimerRef.current) { - clearTimeout(longPressTimerRef.current); - } - }; - }, []); - const shouldFetchRate = token.fiatValue !== undefined && currency !== 'USD'; const { data: exchangeRateData, @@ -273,69 +210,9 @@ export function TokenItem({ ); - // If menuItems is provided, wrap with ContextMenu for better touch interaction - if (menuItems) { - const items = menuItems(token, context).filter((item) => item.show !== false); - - return ( - - - : undefined} - onClick={onClick} - aria-label={isClickable ? t('common:a11y.tokenDetails', { token: token.symbol }) : undefined} - className={cn( - 'cursor-pointer hover:bg-muted/50 active:bg-muted', - className, - )} - > - {itemContent} - - - - {items.map((item, index) => ( - - {item.icon} - {item.label} - - ))} - - - ); - } - - // Legacy: onContextMenu handler - if (onContextMenu) { - return ( - : undefined} - onClick={onClick} - onContextMenu={handleContextMenu} - onTouchStart={handleTouchStart} - onTouchEnd={handleTouchEnd} - onTouchMove={handleTouchMove} - aria-label={isClickable ? t('common:a11y.tokenDetails', { token: token.symbol }) : undefined} - className={cn( - 'cursor-pointer hover:bg-muted/50 active:bg-muted', - className, - )} - > - {itemContent} - - ); - } + // Get menu items if provided + const items = menuItems?.(token, context).filter((item) => item.show !== false) ?? []; - // Default: no menu return ( {itemContent} - {/* Custom actions slot (deprecated) */} - {renderActions && ( + + {/* More button with dropdown menu */} + {items.length > 0 && ( + + + e.stopPropagation()} + aria-label={t('common:a11y.more', '更多操作')} + className="p-2 -mr-2 rounded-full hover:bg-muted/80 active:bg-muted transition-colors" + > + + + + {items.map((item, index) => ( + + {item.icon} + {item.label} + + ))} + + + + )} + + {/* Custom actions slot */} + {renderActions && !menuItems && ( e.stopPropagation()}> {renderActions(token, context)} From cb300ba9719e7405db42e1f310d44f71349e936c Mon Sep 17 00:00:00 2001 From: Gaubee Date: Fri, 9 Jan 2026 20:41:48 +0800 Subject: [PATCH 16/23] fix(token-item): improve layout and touch targets - Remove ItemActions wrapper from DropdownMenu for proper flex layout - Increase more button touch target to 44x44px (size-11) - Add overflow-visible to ItemMedia to prevent ChainIcon clipping - Use percentage-based sizing for ChainIcon (40% of parent) --- src/components/token/token-item.tsx | 54 ++++++++++++++--------------- 1 file changed, 26 insertions(+), 28 deletions(-) diff --git a/src/components/token/token-item.tsx b/src/components/token/token-item.tsx index d87d04f9a..9f8609a6c 100644 --- a/src/components/token/token-item.tsx +++ b/src/components/token/token-item.tsx @@ -156,7 +156,7 @@ export function TokenItem({ const itemContent = ( <> {/* Token Icon */} - +
    - {/* Chain badge */} + {/* Chain badge - 40% of parent size, positioned at bottom-right */}
    @@ -180,7 +180,7 @@ export function TokenItem({ {token.name} - {/* Balance */} + {/* Balance and Actions */}
    {itemContent} - {/* More button with dropdown menu */} + {/* More button with dropdown menu - min 44x44 touch target */} {items.length > 0 && ( - - - e.stopPropagation()} - aria-label={t('common:a11y.more', '更多操作')} - className="p-2 -mr-2 rounded-full hover:bg-muted/80 active:bg-muted transition-colors" - > - - - - {items.map((item, index) => ( - - {item.icon} - {item.label} - - ))} - - - + + e.stopPropagation()} + aria-label={t('common:a11y.more', '更多操作')} + className="flex size-11 items-center justify-center rounded-lg hover:bg-muted/80 active:bg-muted transition-colors" + > + + + + {items.map((item, index) => ( + + {item.icon} + {item.label} + + ))} + + )} {/* Custom actions slot */} From 7d54e5a291a6e23bb3c9a40602fce7bf1f63e70a Mon Sep 17 00:00:00 2001 From: Gaubee Date: Fri, 9 Jan 2026 20:44:23 +0800 Subject: [PATCH 17/23] fix(token-item): enable pointer events on more button icon --- src/components/token/token-item.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/token/token-item.tsx b/src/components/token/token-item.tsx index 9f8609a6c..268296f68 100644 --- a/src/components/token/token-item.tsx +++ b/src/components/token/token-item.tsx @@ -234,7 +234,7 @@ export function TokenItem({ e.stopPropagation()} aria-label={t('common:a11y.more', '更多操作')} - className="flex size-11 items-center justify-center rounded-lg hover:bg-muted/80 active:bg-muted transition-colors" + className="flex size-11 items-center justify-center rounded-lg hover:bg-muted/80 active:bg-muted transition-colors [&_svg]:pointer-events-auto" > From b71b4815e7fa85c02bb9fcbf4a53391a8562bf32 Mon Sep 17 00:00:00 2001 From: Gaubee Date: Fri, 9 Jan 2026 20:52:41 +0800 Subject: [PATCH 18/23] fix(token-item): add background color to chain icon badge --- src/components/token/token-item.tsx | 55 +++++++++-------------------- 1 file changed, 16 insertions(+), 39 deletions(-) diff --git a/src/components/token/token-item.tsx b/src/components/token/token-item.tsx index 268296f68..1182f4f97 100644 --- a/src/components/token/token-item.tsx +++ b/src/components/token/token-item.tsx @@ -4,14 +4,7 @@ import { useTranslation } from 'react-i18next'; import { IconDotsVertical } from '@tabler/icons-react'; import { ChainIcon, TokenIcon, type ChainType } from '../wallet'; import { AmountDisplay, AnimatedAmount } from '../common'; -import { - Item, - ItemMedia, - ItemContent, - ItemTitle, - ItemDescription, - ItemActions, -} from '@/components/ui/item'; +import { Item, ItemMedia, ItemContent, ItemTitle, ItemDescription, ItemActions } from '@/components/ui/item'; import { DropdownMenu, DropdownMenuContent, @@ -71,7 +64,7 @@ interface TokenItemProps { loading?: boolean | undefined; className?: string | undefined; testId?: string | undefined; - /** + /** * Render prop for custom actions (e.g., action buttons on the right) * Receives the token and context for conditional rendering */ @@ -97,12 +90,12 @@ const BIOFOREST_CHAINS = new Set([ 'malibu', ]); -export function TokenItem({ - token, - onClick, - showChange = false, - loading = false, - className, +export function TokenItem({ + token, + onClick, + showChange = false, + loading = false, + className, testId, renderActions, mainAssetSymbol, @@ -114,9 +107,7 @@ export function TokenItem({ // Compute context for renderActions const isBioforestChain = BIOFOREST_CHAINS.has(token.chain); - const isMainAsset = mainAssetSymbol - ? token.symbol.toUpperCase() === mainAssetSymbol.toUpperCase() - : false; + const isMainAsset = mainAssetSymbol ? token.symbol.toUpperCase() === mainAssetSymbol.toUpperCase() : false; const canDestroy = isBioforestChain && !isMainAsset; const context: TokenItemContext = { @@ -169,7 +160,7 @@ export function TokenItem({
    @@ -200,11 +191,7 @@ export function TokenItem({ {showChange && token.change24h !== undefined && '%'}

    )} - {loading && ( -

    - ≈ -- -

    - )} + {loading &&

    ≈ --

    }
    @@ -221,10 +208,7 @@ export function TokenItem({ render={isClickable ?
    @@ -144,7 +144,7 @@ export function AssetSelector({
    - +
    {isSelected && }
    From 4c635ccfef253cbf4d821f7176e108e7ea01d62e Mon Sep 17 00:00:00 2001 From: Gaubee Date: Fri, 9 Jan 2026 21:06:57 +0800 Subject: [PATCH 20/23] Revert "fix(asset-selector): use fixedDecimals for AmountDisplay" This reverts commit 27f3d11e203a788e61260cc169be00e747cf51a1. --- src/components/asset/asset-selector.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/asset/asset-selector.tsx b/src/components/asset/asset-selector.tsx index bd369705c..a4d974bf0 100644 --- a/src/components/asset/asset-selector.tsx +++ b/src/components/asset/asset-selector.tsx @@ -97,7 +97,7 @@ export function AssetSelector({ {selectedAsset.symbol} {showBalance && ( - {t('assetSelector.balance', '余额')}: + {t('assetSelector.balance', '余额')}: )}
    @@ -144,7 +144,7 @@ export function AssetSelector({
    - +
    {isSelected && }
    From 35a9e0133fc0014e1a23ff0e11af70540ab73953 Mon Sep 17 00:00:00 2001 From: Gaubee Date: Fri, 9 Jan 2026 22:03:27 +0800 Subject: [PATCH 21/23] feat(amount-display): implement auto mode for adaptive decimal display - Add fixedDecimals='auto' mode that adapts decimals based on container width - Use ResizeObserver pattern from AddressDisplay for responsive behavior - Canvas-based text measurement for performance (no reflow) - Three display modes: auto (default), true (full), false (hidden) - Update AnimatedNumber/AnimatedAmount to support auto mode - Add fixedDecimals={true} to confirmation dialogs and FeeDisplay - Update tests to use aria-label queries for auto mode --- .../step-1-wallet-home.png | Bin 0 -> 102899 bytes .../step-2-no-more-buttons.png | Bin 0 -> 102899 bytes .../step-1-wallet-home.png | Bin 0 -> 78164 bytes .../step-2-no-more-buttons.png | Bin 0 -> 78164 bytes e2e/token-menu-transfer-flow.mock.spec.ts | 248 ++++++++++++++++++ src/components/common/amount-display.tsx | 186 +++++++++++-- src/components/common/animated-number.tsx | 30 ++- src/components/token/balance-display.test.tsx | 5 +- src/components/token/token-item.test.tsx | 10 +- src/components/token/token-item.tsx | 6 +- src/components/token/token-list.test.tsx | 3 +- src/components/transaction/fee-display.tsx | 1 + src/components/ui/dropdown-menu.tsx | 2 + .../sheets/MiniappDestroyConfirmJob.tsx | 1 + .../sheets/MiniappTransferConfirmJob.tsx | 1 + 15 files changed, 460 insertions(+), 33 deletions(-) create mode 100644 e2e/__screenshots__/Desktop-Chrome/token-menu-transfer-flow.mock.spec.ts/step-1-wallet-home.png create mode 100644 e2e/__screenshots__/Desktop-Chrome/token-menu-transfer-flow.mock.spec.ts/step-2-no-more-buttons.png create mode 100644 e2e/__screenshots__/Mobile-Chrome/token-menu-transfer-flow.mock.spec.ts/step-1-wallet-home.png create mode 100644 e2e/__screenshots__/Mobile-Chrome/token-menu-transfer-flow.mock.spec.ts/step-2-no-more-buttons.png create mode 100644 e2e/token-menu-transfer-flow.mock.spec.ts diff --git a/e2e/__screenshots__/Desktop-Chrome/token-menu-transfer-flow.mock.spec.ts/step-1-wallet-home.png b/e2e/__screenshots__/Desktop-Chrome/token-menu-transfer-flow.mock.spec.ts/step-1-wallet-home.png new file mode 100644 index 0000000000000000000000000000000000000000..e2ceec381b842bc3b5bb761dfd58f8a3e09e9ddc GIT binary patch literal 102899 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%0DD=qdW0ggBty}VON~*0b$dHp)gsNkydkQcj!16sa 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 Ag8%>k literal 0 HcmV?d00001 diff --git a/e2e/__screenshots__/Mobile-Chrome/token-menu-transfer-flow.mock.spec.ts/step-2-no-more-buttons.png b/e2e/__screenshots__/Mobile-Chrome/token-menu-transfer-flow.mock.spec.ts/step-2-no-more-buttons.png new file mode 100644 index 0000000000000000000000000000000000000000..2b912c169f2467d106649e08b6383cecf5161641 GIT binary patch literal 78164 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%0DD=qdW0ggBty}VON~*0b$dHp)gsNkydkQcj!16sa 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 Ag8%>k literal 0 HcmV?d00001 diff --git a/e2e/token-menu-transfer-flow.mock.spec.ts b/e2e/token-menu-transfer-flow.mock.spec.ts new file mode 100644 index 000000000..c72d96700 --- /dev/null +++ b/e2e/token-menu-transfer-flow.mock.spec.ts @@ -0,0 +1,248 @@ +import { test, expect, type Page } from '@playwright/test' + +/** + * Token Menu Transfer Flow - Complete E2E Test with Screenshots + * + * 完整的从菜单点击转账到发送页面的流程测试,每一步都截图 + */ + +const TEST_WALLET_DATA = { + wallets: [ + { + id: 'test-wallet-1', + name: '测试钱包', + address: 'c7R6wVdPvHqvRxe5Q9ZvWr7CpPn5Mk5Xz3', + chain: 'bfmeta', + chainAddresses: [ + { + chain: 'bfmeta', + address: 'c7R6wVdPvHqvRxe5Q9ZvWr7CpPn5Mk5Xz3', + tokens: [ + { symbol: 'BFM', name: 'BFMeta', balance: '10000', decimals: 8 }, + { symbol: 'USDT', name: 'Tether USD', balance: '500', decimals: 8 }, + { symbol: 'TEST', name: 'Test Token', balance: '1000', decimals: 8 }, + ], + }, + ], + encryptedMnemonic: { ciphertext: 'test', iv: 'test', salt: 'test' }, + createdAt: Date.now(), + tokens: [], + }, + ], + currentWalletId: 'test-wallet-1', + selectedChain: 'bfmeta', +} + +async function setupTestWallet(page: Page) { + await page.addInitScript((data) => { + localStorage.setItem('bfm_wallets', JSON.stringify(data.wallet)) + localStorage.setItem('bfm_preferences', JSON.stringify({ language: 'zh-CN', currency: 'USD' })) + }, { wallet: TEST_WALLET_DATA }) + + await page.goto('/') + await page.waitForLoadState('networkidle') +} + +async function waitForAppReady(page: Page) { + await page.locator('svg[aria-label="加载中"]').waitFor({ state: 'hidden', timeout: 10_000 }).catch(() => {}) +} + +test.describe('Token Menu Transfer Flow - Step by Step', () => { + test('complete transfer flow from menu click', async ({ page }) => { + // Step 1: Setup and load wallet home + await setupTestWallet(page) + await waitForAppReady(page) + + console.log('Step 1: Waiting for wallet home...') + await page.waitForSelector('[data-testid="wallet-home"]', { timeout: 10000 }) + await page.waitForTimeout(500) + await expect(page).toHaveScreenshot('step-1-wallet-home.png') + console.log('Step 1: Wallet home loaded') + + // Step 2: Find and click more button on BFM token + console.log('Step 2: Looking for more button...') + const moreButtons = page.locator('button[aria-label="更多操作"]') + const moreButtonCount = await moreButtons.count() + console.log(`Step 2: Found ${moreButtonCount} more buttons`) + + if (moreButtonCount === 0) { + console.log('Step 2: No more buttons found, taking screenshot') + await expect(page).toHaveScreenshot('step-2-no-more-buttons.png') + throw new Error('No more buttons found on token items') + } + + const firstMoreButton = moreButtons.first() + await expect(page).toHaveScreenshot('step-2-before-click-more.png') + await firstMoreButton.click() + console.log('Step 2: Clicked more button') + + // Step 3: Wait for action sheet and screenshot + console.log('Step 3: Waiting for action sheet...') + await page.waitForTimeout(500) + await expect(page).toHaveScreenshot('step-3-action-sheet-open.png') + + // Check what's in the dropdown menu (uses data-slot="dropdown-menu-content") + const menuContent = await page.locator('[data-slot="dropdown-menu-content"]').textContent().catch(() => '') + console.log(`Step 3: Menu content: ${menuContent}`) + + // Step 4: Find and click transfer option + console.log('Step 4: Looking for transfer option...') + // DropdownMenu uses data-slot="dropdown-menu-item" for menu items + const transferOption = page.locator('[data-slot="dropdown-menu-item"]').filter({ hasText: '转账' }) + const transferVisible = await transferOption.isVisible().catch(() => false) + console.log(`Step 4: Transfer option visible: ${transferVisible}`) + + if (!transferVisible) { + // Try alternative selectors + const allItems = page.locator('[data-slot="dropdown-menu-item"]') + const itemCount = await allItems.count() + console.log(`Step 4: Found ${itemCount} menu items`) + + for (let i = 0; i < itemCount; i++) { + const item = allItems.nth(i) + const text = await item.textContent().catch(() => '') + console.log(`Step 4: Item ${i}: "${text}"`) + } + + await expect(page).toHaveScreenshot('step-4-transfer-not-found.png') + throw new Error('Transfer option not found in dropdown menu') + } + + await transferOption.click() + console.log('Step 4: Clicked transfer option') + + // Step 5: Wait for navigation and screenshot send page + console.log('Step 5: Waiting for send page...') + await page.waitForTimeout(1000) + + const currentUrl = page.url() + console.log(`Step 5: Current URL: ${currentUrl}`) + await expect(page).toHaveScreenshot('step-5-after-transfer-click.png') + + // Step 6: Check send page content + console.log('Step 6: Checking send page content...') + const pageContent = await page.content() + const hasError = pageContent.includes('error') || pageContent.includes('Error') || pageContent.includes('错误') + console.log(`Step 6: Page has error: ${hasError}`) + + // Check for specific elements + const h1 = page.locator('h1') + if (await h1.isVisible().catch(() => false)) { + const title = await h1.textContent() + console.log(`Step 6: Page title: ${title}`) + } + + // Check for address input + const addressInput = page.locator('[data-testid="address-input"], input[placeholder*="地址"]') + const hasAddressInput = await addressInput.isVisible().catch(() => false) + console.log(`Step 6: Has address input: ${hasAddressInput}`) + + // Check for amount input + const amountInput = page.locator('[data-testid="amount-input"], input[placeholder="0"]') + const hasAmountInput = await amountInput.isVisible().catch(() => false) + console.log(`Step 6: Has amount input: ${hasAmountInput}`) + + await expect(page).toHaveScreenshot('step-6-send-page-content.png') + + // Step 7: Check for any error messages + console.log('Step 7: Checking for error messages...') + const errorElements = page.locator('.text-destructive, .text-red-500, [role="alert"]') + const errorCount = await errorElements.count() + console.log(`Step 7: Found ${errorCount} error elements`) + + for (let i = 0; i < errorCount; i++) { + const errorText = await errorElements.nth(i).textContent() + console.log(`Step 7: Error ${i}: "${errorText}"`) + } + + if (errorCount > 0) { + await expect(page).toHaveScreenshot('step-7-errors-found.png') + } + + // Final assertion + expect(currentUrl).toContain('send') + }) + + test('complete destroy flow from menu click', async ({ page }) => { + // Step 1: Setup and load wallet home + await setupTestWallet(page) + await waitForAppReady(page) + + console.log('Step 1: Waiting for wallet home...') + await page.waitForSelector('[data-testid="wallet-home"]', { timeout: 10000 }) + await page.waitForTimeout(500) + await expect(page).toHaveScreenshot('destroy-step-1-wallet-home.png') + + // Step 2: Find USDT token (non-main asset) and click its more button + console.log('Step 2: Looking for USDT token more button...') + const usdtToken = page.locator('[role="button"]').filter({ hasText: 'USDT' }) + const usdtVisible = await usdtToken.isVisible().catch(() => false) + console.log(`Step 2: USDT token visible: ${usdtVisible}`) + + if (!usdtVisible) { + await expect(page).toHaveScreenshot('destroy-step-2-usdt-not-found.png') + throw new Error('USDT token not found') + } + + const moreButton = usdtToken.locator('button[aria-label="更多操作"]') + const moreVisible = await moreButton.isVisible().catch(() => false) + console.log(`Step 2: More button visible: ${moreVisible}`) + + if (!moreVisible) { + await expect(page).toHaveScreenshot('destroy-step-2-more-not-found.png') + throw new Error('More button not found on USDT token') + } + + await moreButton.click() + console.log('Step 2: Clicked more button') + + // Step 3: Wait for action sheet + console.log('Step 3: Waiting for action sheet...') + await page.waitForTimeout(500) + await expect(page).toHaveScreenshot('destroy-step-3-action-sheet.png') + + // Step 4: Click destroy option + console.log('Step 4: Looking for destroy option...') + const destroyOption = page.locator('[role="dialog"], [data-state="open"]').getByText('销毁') + const destroyVisible = await destroyOption.isVisible().catch(() => false) + console.log(`Step 4: Destroy option visible: ${destroyVisible}`) + + if (!destroyVisible) { + await expect(page).toHaveScreenshot('destroy-step-4-destroy-not-found.png') + throw new Error('Destroy option not found') + } + + await destroyOption.click() + console.log('Step 4: Clicked destroy option') + + // Step 5: Wait for destroy page + console.log('Step 5: Waiting for destroy page...') + await page.waitForTimeout(1000) + + const currentUrl = page.url() + console.log(`Step 5: Current URL: ${currentUrl}`) + await expect(page).toHaveScreenshot('destroy-step-5-destroy-page.png') + + // Step 6: Check destroy page content + console.log('Step 6: Checking destroy page content...') + const h1 = page.locator('h1') + if (await h1.isVisible().catch(() => false)) { + const title = await h1.textContent() + console.log(`Step 6: Page title: ${title}`) + } + + // Check for error messages + const errorElements = page.locator('.text-destructive, .text-red-500, [role="alert"]') + const errorCount = await errorElements.count() + console.log(`Step 6: Found ${errorCount} error elements`) + + for (let i = 0; i < errorCount; i++) { + const errorText = await errorElements.nth(i).textContent() + console.log(`Step 6: Error ${i}: "${errorText}"`) + } + + await expect(page).toHaveScreenshot('destroy-step-6-page-content.png') + + expect(currentUrl).toContain('destroy') + }) +}) diff --git a/src/components/common/amount-display.tsx b/src/components/common/amount-display.tsx index 5d7550518..21c6abd6a 100644 --- a/src/components/common/amount-display.tsx +++ b/src/components/common/amount-display.tsx @@ -1,8 +1,11 @@ import NumberFlow from '@number-flow/react' +import { useState, useRef, useLayoutEffect, useCallback } from 'react' import { cn } from '@/lib/utils'; type AmountSign = 'auto' | 'always' | 'never'; type AmountColor = 'auto' | 'default' | 'positive' | 'negative'; +/** 小数位显示模式:false=隐藏尾随零, true=显示完整小数位, 'auto'=自适应容器宽度 */ +type FixedDecimalsMode = boolean | 'auto'; interface AmountDisplayProps { value: string | number; @@ -26,11 +29,50 @@ interface AmountDisplayProps { mono?: boolean | undefined; /** 是否启用动画 (默认 true) */ animated?: boolean | undefined; - /** 始终显示完整小数位 (如 0.00000000) */ - fixedDecimals?: boolean | undefined; + /** 小数位显示模式:false=隐藏尾随零, true=显示完整, 'auto'=自适应宽度 */ + fixedDecimals?: FixedDecimalsMode | undefined; className?: string | undefined; } +// Canvas 测量文字宽度(不触发回流) +let measureCanvas: HTMLCanvasElement | null = null; +let measureCtx: CanvasRenderingContext2D | null = null; + +function measureText(text: string, font: string): number { + if (typeof document === 'undefined') { + return text.length * 8; + } + + if (!measureCanvas) { + measureCanvas = document.createElement('canvas'); + measureCtx = measureCanvas.getContext('2d'); + } + + if (!measureCtx) { + return text.length * 8; + } + + measureCtx.font = font; + return measureCtx.measureText(text).width; +} + +// 格式化数字为字符串(用于测量宽度) +function formatNumberToString(num: number, minDecimals: number, maxDecimals: number): string { + return num.toLocaleString('en-US', { + minimumFractionDigits: minDecimals, + maximumFractionDigits: maxDecimals, + }); +} + +// 计算数值的有效小数位数(去除尾随零后的位数) +function getEffectiveDecimals(num: number, maxDecimals: number): number { + if (num === 0) return 0; + const str = Math.abs(num).toFixed(maxDecimals); + const decimalPart = str.split('.')[1] || ''; + const trimmed = decimalPart.replace(/0+$/, ''); + return trimmed.length; +} + // 格式化数字 (仅用于非动画模式或 compact 模式) function formatAmount( value: string | number, @@ -83,6 +125,59 @@ const weightClasses = { bold: 'font-bold', }; +// 自适应小数位数 Hook +function useAutoDecimals( + containerRef: React.RefObject, + numValue: number, + maxDecimals: number, + signChar: string, + symbol: string | undefined, +): number { + const minDecimals = getEffectiveDecimals(numValue, maxDecimals); + const [displayDecimals, setDisplayDecimals] = useState(minDecimals); + + const updateDecimals = useCallback(() => { + const container = containerRef.current; + if (!container) return; + + const style = getComputedStyle(container); + const font = `${style.fontSize} ${style.fontFamily}`; + const symbolSpace = symbol ? measureText(` ${symbol}`, font) : 0; + const signSpace = signChar ? measureText(signChar, font) : 0; + const availableWidth = container.clientWidth - symbolSpace - signSpace; + + if (availableWidth <= 0) { + setDisplayDecimals(minDecimals); + return; + } + + // 从最大小数位开始,找到能容纳的最大位数 + for (let d = maxDecimals; d >= minDecimals; d--) { + const text = formatNumberToString(Math.abs(numValue), d, maxDecimals); + const textWidth = measureText(text, font); + if (textWidth <= availableWidth) { + setDisplayDecimals(d); + return; + } + } + setDisplayDecimals(minDecimals); + }, [numValue, maxDecimals, minDecimals, signChar, symbol]); + + useLayoutEffect(() => { + const container = containerRef.current; + if (!container) return; + + updateDecimals(); + + const observer = new ResizeObserver(updateDecimals); + observer.observe(container); + + return () => observer.disconnect(); + }, [updateDecimals]); + + return displayDecimals; +} + export function AmountDisplay({ value, symbol, @@ -96,11 +191,45 @@ export function AmountDisplay({ weight = 'normal', mono = true, animated = true, - fixedDecimals = false, + fixedDecimals = 'auto', className, }: AmountDisplayProps) { + const containerRef = useRef(null); const baseClassName = cn(sizeClasses[size], weightClasses[weight], mono && 'font-mono', className); + // 预计算数值信息 + const { isNegative, isZero, numValue } = formatAmount(value, decimals, compact); + + // 计算符号 + let signChar = ''; + if (sign === 'always' && !isZero) { + signChar = isNegative ? '-' : '+'; + } else if (sign === 'auto' && isNegative) { + signChar = '-'; + } + + // auto 模式:自适应小数位数 + const autoDecimals = useAutoDecimals( + containerRef, + numValue, + decimals, + signChar, + symbol, + ); + + // 根据 fixedDecimals 模式确定 minimumFractionDigits + const effectiveMinDecimals = + fixedDecimals === 'auto' + ? autoDecimals + : fixedDecimals === true + ? decimals + : 0; + + const format = { + minimumFractionDigits: effectiveMinDecimals, + maximumFractionDigits: decimals, + }; + if (hidden) { return ( @@ -110,11 +239,6 @@ export function AmountDisplay({ ); } - const format = { - minimumFractionDigits: fixedDecimals ? decimals : 0, - maximumFractionDigits: decimals, - }; - // 加载状态:显示 0 配合呼吸动画 if (loading) { return ( @@ -134,15 +258,7 @@ export function AmountDisplay({ ); } - const { formatted, isNegative, isZero, numValue } = formatAmount(value, decimals, compact); - - // 计算符号 - let signChar = ''; - if (sign === 'always' && !isZero) { - signChar = isNegative ? '-' : '+'; - } else if (sign === 'auto' && isNegative) { - signChar = '-'; - } + const { formatted } = formatAmount(value, decimals, compact); // 计算颜色 let colorClass = ''; @@ -156,7 +272,41 @@ export function AmountDisplay({ const coloredClassName = cn(baseClassName, colorClass); - // 使用 NumberFlow 进行动画显示 (compact 模式不使用动画) + // auto 模式需要使用相对定位容器 + if (fixedDecimals === 'auto') { + const minText = formatNumberToString(Math.abs(numValue), getEffectiveDecimals(numValue, decimals), decimals); + const a11yLabel = `${signChar}${formatted}${symbol ? ` ${symbol}` : ''}`; + + return ( + + {/* 隐藏占位符:最小宽度(有效数字) */} + + {/* 绝对定位的实际内容 */} + + + ); + } + + // 非 auto 模式:使用 NumberFlow 进行动画显示 (compact 模式不使用动画) if (animated && !compact) { const a11yLabel = `${signChar}${formatted}${symbol ? ` ${symbol}` : ''}`; return ( diff --git a/src/components/common/animated-number.tsx b/src/components/common/animated-number.tsx index 56a424495..e3031bbb6 100644 --- a/src/components/common/animated-number.tsx +++ b/src/components/common/animated-number.tsx @@ -11,6 +11,10 @@ import NumberFlow from '@number-flow/react' import { cn } from '@/lib/utils' +import { AmountDisplay } from './amount-display' + +/** 小数位显示模式:false=隐藏尾随零, true=显示完整小数位, 'auto'=自适应容器宽度 */ +type FixedDecimalsMode = boolean | 'auto'; interface AnimatedNumberProps { /** The number value to display */ @@ -19,8 +23,8 @@ interface AnimatedNumberProps { loading?: boolean | undefined /** Decimal places to show (default: 8) */ decimals?: number | undefined - /** Always show full decimal places (e.g., 0.00000000) */ - fixedDecimals?: boolean | undefined + /** 小数位显示模式:false=隐藏尾随零, true=显示完整, 'auto'=自适应宽度 */ + fixedDecimals?: FixedDecimalsMode | undefined /** Formatting locale (default: en-US) */ locale?: string | undefined /** Additional CSS classes */ @@ -38,10 +42,24 @@ export function AnimatedNumber({ value, loading = false, decimals = 8, - fixedDecimals = false, + fixedDecimals = 'auto', locale = 'en-US', className, }: AnimatedNumberProps) { + // auto 模式:使用 AmountDisplay 的自适应逻辑 + if (fixedDecimals === 'auto') { + return ( + + ) + } + const format = { minimumFractionDigits: fixedDecimals ? decimals : 0, maximumFractionDigits: decimals, @@ -95,8 +113,8 @@ interface AnimatedAmountProps { loading?: boolean | undefined /** Decimal places to show (default: 8) */ decimals?: number | undefined - /** Always show full decimal places (e.g., 0.00000000) */ - fixedDecimals?: boolean | undefined + /** 小数位显示模式:false=隐藏尾随零, true=显示完整, 'auto'=自适应宽度 */ + fixedDecimals?: FixedDecimalsMode | undefined /** Formatting locale (default: en-US) */ locale?: string | undefined /** Additional CSS classes */ @@ -107,7 +125,7 @@ export function AnimatedAmount({ value, loading = false, decimals = 8, - fixedDecimals = false, + fixedDecimals = 'auto', locale = 'en-US', className, }: AnimatedAmountProps) { diff --git a/src/components/token/balance-display.test.tsx b/src/components/token/balance-display.test.tsx index ca6fe6f0b..e4262853f 100644 --- a/src/components/token/balance-display.test.tsx +++ b/src/components/token/balance-display.test.tsx @@ -62,10 +62,11 @@ describe('BalanceDisplay', () => { it('applies size classes correctly', () => { const { rerender } = render() - expect(screen.getByText('100')).toHaveClass('text-sm') + // Auto mode uses aria-label for accessibility + expect(screen.getByRole('text', { name: '100' })).toHaveClass('text-sm') rerender() - expect(screen.getByText('100')).toHaveClass('text-base') + expect(screen.getByRole('text', { name: '100' })).toHaveClass('text-base') }) it('renders without fiat when not provided', () => { diff --git a/src/components/token/token-item.test.tsx b/src/components/token/token-item.test.tsx index 2d74cb0dd..04810bc4b 100644 --- a/src/components/token/token-item.test.tsx +++ b/src/components/token/token-item.test.tsx @@ -56,21 +56,23 @@ describe('TokenItem', () => { it('shows 24h change when showChange is true', () => { render() - // AmountDisplay shows +2.5 (without trailing zeros) - expect(screen.getByText('+2.5')).toBeInTheDocument() + // Auto mode uses aria-label for accessibility + expect(screen.getByRole('text', { name: '+2.5' })).toBeInTheDocument() // % is in the same

    as the fiat value expect(screen.getByText(/≈.*%/)).toBeInTheDocument() }) it('shows negative change with correct color', () => { render() - const changeText = screen.getByText('-3.5') + // Auto mode uses aria-label, check class on the element with role="text" + const changeText = screen.getByRole('text', { name: '-3.5' }) expect(changeText).toHaveClass('text-destructive') }) it('shows positive change with correct color', () => { render() - const changeText = screen.getByText('+2.5') + // Auto mode uses aria-label, check class on the element with role="text" + const changeText = screen.getByRole('text', { name: '+2.5' }) expect(changeText).toHaveClass('text-green-500') }) diff --git a/src/components/token/token-item.tsx b/src/components/token/token-item.tsx index 1182f4f97..940c031ae 100644 --- a/src/components/token/token-item.tsx +++ b/src/components/token/token-item.tsx @@ -13,6 +13,7 @@ import { } from '@/components/ui/dropdown-menu'; import { currencies, useCurrency } from '@/stores'; import { getExchangeRate, useExchangeRate } from '@/hooks/use-exchange-rate'; +import { Button } from '../ui/button'; function parseFiatNumber(input: string): number | null { const normalized = input.replaceAll(',', '').trim(); @@ -178,7 +179,6 @@ export function TokenItem({ value={token.balance} loading={loading} decimals={token.decimals ?? 8} - fixedDecimals className="text-sm" /> {displayFiatValue && !loading && ( @@ -219,7 +219,9 @@ export function TokenItem({ aria-label={t('common:a11y.more', '更多操作')} className="hover:bg-muted/80 active:bg-muted flex size-11 items-center justify-center rounded-lg transition-colors [&_svg]:pointer-events-auto" > - + {items.map((item, index) => ( diff --git a/src/components/token/token-list.test.tsx b/src/components/token/token-list.test.tsx index 13b43ec7a..e64b0930d 100644 --- a/src/components/token/token-list.test.tsx +++ b/src/components/token/token-list.test.tsx @@ -62,7 +62,8 @@ describe('TokenList', () => { { ...mockTokens[0]!, fiatValue: '100', change24h: 5.5 }, ] render() - expect(screen.getByText('+5.5')).toBeInTheDocument() + // Auto mode renders text in multiple places, use aria-label to find the element + expect(screen.getByRole('text', { name: '+5.5' })).toBeInTheDocument() expect(screen.getByText(/≈.*%/)).toBeInTheDocument() }) diff --git a/src/components/transaction/fee-display.tsx b/src/components/transaction/fee-display.tsx index bb0414de2..c3bcf2bd2 100644 --- a/src/components/transaction/fee-display.tsx +++ b/src/components/transaction/fee-display.tsx @@ -76,6 +76,7 @@ export function FeeDisplay({ size="sm" decimals={8} animated={false} + fixedDecimals={true} /> {isHighFee && } {editable && ( diff --git a/src/components/ui/dropdown-menu.tsx b/src/components/ui/dropdown-menu.tsx index 809008d06..251cb7bd6 100644 --- a/src/components/ui/dropdown-menu.tsx +++ b/src/components/ui/dropdown-menu.tsx @@ -146,6 +146,7 @@ function DropdownMenuSubContent({ function DropdownMenuCheckboxItem({ className, children, + checked, ...props }: MenuPrimitive.CheckboxItem.Props) { return ( @@ -155,6 +156,7 @@ function DropdownMenuCheckboxItem({ "focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm [&_svg:not([class*='size-'])]:size-4 relative flex cursor-default items-center outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0", className )} + checked={checked} {...props} >

    diff --git a/src/stackflow/activities/sheets/MiniappTransferConfirmJob.tsx b/src/stackflow/activities/sheets/MiniappTransferConfirmJob.tsx index 3c5f27711..b61c16399 100644 --- a/src/stackflow/activities/sheets/MiniappTransferConfirmJob.tsx +++ b/src/stackflow/activities/sheets/MiniappTransferConfirmJob.tsx @@ -158,6 +158,7 @@ function MiniappTransferConfirmJobContent() { size="xl" weight="bold" decimals={8} + fixedDecimals={true} />