From c21e3189e3c8c578ed89508a027d2815ef819569 Mon Sep 17 00:00:00 2001 From: yangfan Date: Fri, 17 Oct 2025 13:40:44 +0800 Subject: [PATCH] First Commit --- .claude/settings.local.json | 11 + AccountingEntries.xlsx | Bin 0 -> 43812 bytes CHANGELOG.md | 79 + CLAUDE.md | 236 ++ User.md | 360 +++ ...enerate_accounting_entries.cpython-312.pyc | Bin 0 -> 9591 bytes analyze_excel.py | 43 + data/data.xlsx | Bin 0 -> 155835 bytes data/~$data.xlsx | Bin 0 -> 165 bytes exchange_rate.txt | 1 + generate_accounting_entries.py | 308 ++ process_excel.py | 214 ++ res.json | 2865 +++++++++++++++++ task.md | 355 ++ temp.png | Bin 0 -> 42681 bytes venv/pyvenv.cfg | 5 + 16 files changed, 4477 insertions(+) create mode 100644 .claude/settings.local.json create mode 100644 AccountingEntries.xlsx create mode 100644 CHANGELOG.md create mode 100644 CLAUDE.md create mode 100644 User.md create mode 100644 __pycache__/generate_accounting_entries.cpython-312.pyc create mode 100644 analyze_excel.py create mode 100644 data/data.xlsx create mode 100644 data/~$data.xlsx create mode 100644 exchange_rate.txt create mode 100644 generate_accounting_entries.py create mode 100644 process_excel.py create mode 100644 res.json create mode 100644 task.md create mode 100644 temp.png create mode 100644 venv/pyvenv.cfg diff --git a/.claude/settings.local.json b/.claude/settings.local.json new file mode 100644 index 0000000..a4628a1 --- /dev/null +++ b/.claude/settings.local.json @@ -0,0 +1,11 @@ +{ + "permissions": { + "allow": [ + "Bash(pip install:*)", + "Bash(python3:*)", + "Bash(source venv/bin/activate)" + ], + "deny": [], + "ask": [] + } +} diff --git a/AccountingEntries.xlsx b/AccountingEntries.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..89e3b24cba9b9c3f6c3eb1d08f7c0bc01dd07c72 GIT binary patch literal 43812 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 程序默认汇率 +- **使用方法**: + ```bash + echo "7.25" > exchange_rate.txt + python3 generate_accounting_entries.py + ``` + +#### 2. 智能汇率验证 +- **范围检查**: 汇率必须在 0.1 ~ 100 范围内 +- **格式验证**: 自动检测非数字格式 +- **错误处理**: 异常情况自动回退到默认汇率 (7.1072) + +#### 3. 详细日志输出 +程序运行时会显示汇率来源: +- 从文件读取: `从 exchange_rate.txt 读取汇率: 7.25` +- 文件不存在: `汇率文件 exchange_rate.txt 不存在,使用默认汇率: 7.1072` +- 格式错误: `汇率文件 exchange_rate.txt 中的值无法解析,使用默认汇率: 7.1072` +- 值不合理: `汇率文件中的值 150.0 不合理,使用默认汇率: 7.1072` + +### 代码修改 + +**文件**: `generate_accounting_entries.py` + +1. **新增导入**: + - `import os` - 用于文件检查 + +2. **新增函数**: + - `load_exchange_rate()` (line 16-52) - 汇率加载和验证逻辑 + +3. **修改函数签名**: + - `create_accounting_entries(data, exchange_rate)` - 添加汇率参数 + +4. **修改 main 函数**: + - 调用 `load_exchange_rate()` 获取汇率 + - 传递汇率参数到 `create_accounting_entries()` + +### 文档更新 + +1. **User.md**: + - 更新"汇率配置"章节,添加文件方法说明 + - 更新 Q4 常见问题 + - 更新文件说明表,添加 `exchange_rate.txt` + - 添加 v1.2 更新记录 + +2. **CLAUDE.md**: + - 更新"Exchange Rate"配置章节 + - 添加详细的错误处理说明和示例 + - 更新版本历史 + +### 测试结果 + +✅ 正常汇率文件 (7.25): 成功读取 +✅ 文件不存在: 使用默认汇率 +✅ 非数字格式 (abc): 使用默认汇率 +✅ 不合理值 (150): 使用默认汇率 + +### 向后兼容性 + +- ✅ 完全向后兼容 +- ✅ 不影响现有功能 +- ✅ 无 `exchange_rate.txt` 文件时使用程序默认值 + +### 文件清单 + +| 文件 | 状态 | 说明 | +|------|------|------| +| `generate_accounting_entries.py` | 已修改 | 添加汇率文件读取功能 | +| `exchange_rate.txt` | 新增 | 汇率配置文件 (可选) | +| `User.md` | 已更新 | 用户文档 | +| `CLAUDE.md` | 已更新 | 开发文档 | +| `CHANGELOG.md` | 新增 | 本文件 | diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 0000000..e7e28e8 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1,236 @@ +# CLAUDE.md + +This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository. + +## Project Overview + +财务Excel数据处理系统 (Financial Excel Data Processing System) - A Python-based automation system for processing financial Excel data, extracting payment information, and generating standardized accounting entries with data validation and error marking capabilities. + +**Language**: Chinese (中文) - All documentation, comments, and output are in Chinese. + +## Development Commands + +### Setup and Installation + +```bash +# Install dependencies (system-wide) +pip install openpyxl --break-system-packages + +# OR use virtual environment (recommended) +python3 -m venv venv +source venv/bin/activate # Linux/Mac +# venv\Scripts\activate # Windows +pip install openpyxl +``` + +### Run the Processing Pipeline + +```bash +# Step 1: Extract data from Excel to JSON +python3 process_excel.py + +# Step 2: Generate accounting entries Excel +python3 generate_accounting_entries.py + +# Optional: Analyze Excel structure (debugging tool) +python3 analyze_excel.py +``` + +### Verify Installation + +```bash +python3 -c "import openpyxl; print(openpyxl.__version__)" +``` + +## Architecture and Data Flow + +### Processing Pipeline + +``` +data/data.xlsx (Raw financial data) + ↓ +[process_excel.py] - Extract payment records + ↓ +res.json (Intermediate JSON data) + ↓ +[generate_accounting_entries.py] - Generate accounting entries + ↓ +AccountingEntries.xlsx (Final accounting entry table) +``` + +### Key Components + +1. **`process_excel.py`** - Excel Data Extraction Engine + - Handles merged and non-merged cells in column F (ReceivedAmount) + - Extracts orders from rows within merged cell ranges + - Validates amounts: `ReceivedAmount + HandlingFee ≈ Sum(Order[].Amount)` (tolerance: 0.01) + - Uses `data_only=True` to read formula results from column O + +2. **`generate_accounting_entries.py`** - Accounting Entry Generator + - Creates debit/credit entries following Chinese accounting standards + - Merges cells for same ReceivedAmount groups + - Marks validation failures with pink background (#FAD1D4) + - Applies fixed exchange rate to currency conversions + +3. **`analyze_excel.py`** - Structure Analysis Utility + - Debugging tool to inspect merged cells + - Preview data structure + +### Data Structures + +#### res.json Schema +```json +[ + { + "ReceivedAmount": 12125, // Column F - supports merged cells + "HandlingFee": 25, // Column G - null becomes 0 + "Order": [ + { + "OrderNum": "XLRQD300T25", // Column H + "Amount": 550, // Column I + "AccountName": "24台湾长荣航运" // Column O - formula result + } + ], + "checkRes": true // Validation: amount match within 0.01 + } +] +``` + +#### Accounting Entry Rules + +**For each ReceivedAmount record:** + +1. **Debit Entry (到账金额)** - 1 record per ReceivedAmount + - Account: `1002.02` - 银行存款 - 中行USD + - Currency: 美元 (USD) + - Amount: `ReceivedAmount × EXCHANGE_RATE` + +2. **Debit Entry (手续费)** - Only if HandlingFee > 0 + - Account: `5603.03` - 财务费用-手续费 + - Currency: 人民币 (RMB) + - Amount: `HandlingFee × EXCHANGE_RATE` + +3. **Credit Entries (订单明细)** - 1 record per Order + - Account: `1122` - 应收账款 + - Currency: 美元 (USD) + - Amount: `Order.Amount × EXCHANGE_RATE` + - **Display Order.Amount in "应收账款" column** + - Skip orders where Amount is null + +### Special Processing Logic + +#### Merged Cell Handling (process_excel.py:33-69) +- `get_f_column_ranges()`: Identifies all data ranges in column F +- Handles mixed scenarios: merged and non-merged cells +- Non-merged cells are treated as single-row ranges +- Merged cell value read from top-left corner (min_row, min_col) + +#### Validation and Error Marking +- **checkRes calculation**: `abs((ReceivedAmount + HandlingFee) - Sum(Order[].Amount)) < 0.01` +- **Error marking**: Pink background (#FAD1D4) applied to all entries where checkRes = false +- Background color applied **before** cell merging to ensure visibility + +#### Cell Merging Strategy (generate_accounting_entries.py:178-206) +- Groups entries by `(ReceivedAmount, HandlingFee)` key +- Merges "到账金额" (column A) and "手续费" (column B) for consecutive rows +- Centers content vertically and horizontally +- Re-applies background color after merging + +## Configuration + +### Exchange Rate + +**Priority**: Program reads exchange rate in the following order: + +1. **From `exchange_rate.txt` file** (if exists in current directory) + - Create a text file named `exchange_rate.txt` containing only the exchange rate value + - Example: `echo "7.25" > exchange_rate.txt` + - Validation: Rate must be between 0.1 and 100, otherwise falls back to default + +2. **From default constant** (if file doesn't exist or contains invalid value) + - Location: `generate_accounting_entries.py:13` + - Default value: `7.1072` + +**Error Handling** (generate_accounting_entries.py:16-52): +- File not found → Use default rate +- Invalid format (non-numeric) → Use default rate +- Unreasonable value (<0.1 or >100) → Use default rate +- Any other error → Use default rate + +**Examples**: +```bash +# Set custom exchange rate +echo "7.25" > exchange_rate.txt + +# Program will display which rate is being used +python3 generate_accounting_entries.py +# Output: "从 exchange_rate.txt 读取汇率: 7.25" + +# Remove file to use default +rm exchange_rate.txt +python3 generate_accounting_entries.py +# Output: "汇率文件 exchange_rate.txt 不存在,使用默认汇率: 7.1072" +``` + +### Column Mapping (data/data.xlsx) +| Field | Column | Notes | +|-------|--------|-------| +| ReceivedAmount | F (6) | Supports merged cells | +| HandlingFee | G (7) | Null → 0 | +| OrderNum | H (8) | Skip if empty | +| Amount | I (9) | Null orders skipped | +| AccountName | O (15) | Formula result (data_only=True) | + +### Excel Output Format +**Column widths**: `[12, 10, 18, 12, 25, 25, 8, 15, 25, 25, 10, 10, 12, 15]` + +**Headers**: +``` +到账金额, 手续费, 订单号, 应收账款, 金蝶名称, +摘要, 借/贷, 科目代码(*), 科目名称(*), +核算项目, 币别, 汇率, 原币金额, 金额 +``` + +**Header style**: Bold, blue background (#CCE5FF), centered + +## Important Implementation Notes + +1. **Data starts from row 2** (row 1 is header) + +2. **Formula handling**: Always use `data_only=True` when loading workbook to read calculated values + +3. **Order filtering**: Skip rows where OrderNum is None or empty string + +4. **Amount precision**: All calculations rounded to 2 decimal places + +5. **UTF-8 encoding**: All files use UTF-8 encoding + +6. **Error handling**: + - File not found: Exit with error message + - Invalid sheet: Exit with error message + - Invalid data: Log and skip row + - checkRes=false: Mark but continue processing + +7. **Performance**: Handles 300+ rows of Excel data generating 500+ accounting entries in <10 seconds + +## Testing Guidance + +### Test Scenarios (from task.md:253-272) + +1. **Single order, no fee**: ReceivedAmount=695, HandlingFee=0, Order[0].Amount=695 + - Expected: 2 entries (debit + credit), checkRes=true + +2. **Multiple orders with fee**: ReceivedAmount=12125, HandlingFee=25, Orders=[550, 11600] + - Expected: 4 entries, checkRes=true + +3. **Amount mismatch**: ReceivedAmount=17270, HandlingFee=0, Orders=[5676, 11450] + - Expected: checkRes=false, pink background on all entries + +4. **Null order amount**: ReceivedAmount=240, HandlingFee=25, Order[0].Amount=null + - Expected: Skip order credit entry, no error + +## Version History + +- **v1.2** (2025-10-17): Added exchange rate file support (`exchange_rate.txt`), intelligent rate validation, improved error handling +- **v1.1** (2025-01-17): Optimized accounting rules - removed redundant debit entries, simplified single-order logic +- **v1.0** (2025-01-17): Initial release with extraction, generation, validation, and error marking features diff --git a/User.md b/User.md new file mode 100644 index 0000000..5dc5591 --- /dev/null +++ b/User.md @@ -0,0 +1,360 @@ +# 财务Excel数据处理程序 - 使用说明 + +## 概述 + +本程序用于处理财务Excel数据,自动提取收款信息并生成会计分录表。 + +--- + +## 前置要求 + +### 运行环境 + +- **Python版本**: Python 3.x +- **操作系统**: Windows / Linux / macOS + +### 依赖库安装 + +本程序依赖以下Python第三方包: + +#### 1. openpyxl + +**用途**: Excel文件读写操作 + +**安装命令**: + +```bash +pip install openpyxl --break-system-packages +``` + +或使用虚拟环境(推荐): + +```bash +# 创建虚拟环境 +python3 -m venv venv + +# 激活虚拟环境 +# Linux/Mac: +source venv/bin/activate +# Windows: +venv\Scripts\activate + +# 安装依赖 +pip install openpyxl +``` + +**版本要求**: 建议使用最新稳定版本 + +#### 验证安装 + +安装完成后,可以通过以下命令验证: + +```bash +python3 -c "import openpyxl; print(openpyxl.__version__)" +``` + +如果输出版本号(例如: 3.1.2),则说明安装成功。 + +--- + +## 功能说明 + +### 1. 数据提取 (`process_excel.py`) + +从Excel文件中提取财务数据并输出为JSON格式。 + +**输入文件**: `data/data.xlsx` (Sheet1) + +**输出文件**: `res.json` + +**提取字段**: +- `ReceivedAmount`: 实收金额 (F列) +- `HandlingFee`: 手续费 (G列,空值记为0) +- `Order`: 订单列表 + - `OrderNum`: 订单号 (H列) + - `Amount`: 金额 (I列) + - `AccountName`: 账户名称 (O列) +- `checkRes`: 验证结果 (实收金额+手续费 = 订单金额之和) + +**运行命令**: +```bash +python3 process_excel.py +``` + +**输出示例**: +```json +[ + { + "ReceivedAmount": 12125, + "HandlingFee": 25, + "Order": [ + { + "OrderNum": "XLRQD300T25", + "Amount": 550, + "AccountName": "24台湾长荣航运" + } + ], + "checkRes": true + } +] +``` + +--- + +### 2. 会计分录生成 (`generate_accounting_entries.py`) + +根据`res.json`生成标准会计分录表。 + +**输入文件**: `res.json` + +**输出文件**: `AccountingEntries.xlsx` + +**运行命令**: +```bash +python3 generate_accounting_entries.py +``` + +--- + +## 会计分录规则 + +### 基本规则 + +每笔到账金额产生以下分录: + +1. **到账金额 - 借方** (每笔记录1条) + - 科目代码: `1002.02` + - 科目名称: `银行存款 - 中行USD` + - 币别: 美元 + - 原币金额: ReceivedAmount + - 金额: ReceivedAmount × 汇率 + +2. **手续费 - 借方** (如果手续费>0) + - 科目代码: `5603.03` + - 科目名称: `财务费用-手续费` + - 币别: 人民币 + - 金额: HandlingFee × 汇率 + +3. **订单明细 - 贷方** (每个Order记录1条) + - 科目代码: `1122` + - 科目名称: `应收账款` + - 应收账款: Order.Amount (显示在"应收账款"列) + - 币别: 美元 + - 原币金额: Order.Amount + - 金额: Order.Amount × 汇率 + +### 特殊规则 + +- **金额验证**: checkRes为false的记录,所有相关分录行标记为粉红色背景(#FAD1D4) +- **单元格合并**: 同一笔到账金额的所有分录,"到账金额"和"手续费"列会合并显示 +- **空值处理**: 订单金额为空的订单会被跳过,不生成贷方分录 + +--- + +## 汇率配置 + +程序支持两种方式设置汇率: + +### 方法一: 使用汇率文件 (推荐) + +在程序目录下创建 `exchange_rate.txt` 文件,文件中只包含汇率数值。 + +**操作步骤**: + +```bash +# 创建汇率文件 +echo "7.25" > exchange_rate.txt + +# 运行程序,会自动读取该文件中的汇率 +python3 generate_accounting_entries.py +``` + +**输出示例**: +``` +从 exchange_rate.txt 读取汇率: 7.25 +使用汇率: 7.25 +``` + +**注意事项**: +- 汇率值必须是有效数字 +- 汇率范围: 0.1 ~ 100 (超出范围会使用默认汇率) +- 文件格式错误会自动使用默认汇率 + +### 方法二: 修改程序默认值 + +编辑 `generate_accounting_entries.py` 文件第13行: + +```python +DEFAULT_EXCHANGE_RATE = 7.1072 # 修改此默认值 +``` + +**默认汇率**: 7.1072 + +**优先级**: 汇率文件 > 程序默认值 + +--- + +## 文件说明 + +| 文件名 | 说明 | +|--------|------| +| `data/data.xlsx` | 原始财务数据Excel文件 | +| `process_excel.py` | Excel数据提取程序 | +| `res.json` | 提取的财务数据(JSON格式) | +| `generate_accounting_entries.py` | 会计分录生成程序 | +| `AccountingEntries.xlsx` | 生成的会计分录表 | +| `exchange_rate.txt` | 汇率配置文件(可选) | +| `analyze_excel.py` | Excel结构分析工具(可选) | + +--- + +## 使用流程 + +### 标准流程 + +1. **准备数据** + ```bash + # 确保 data/data.xlsx 文件存在 + ``` + +2. **提取数据** + ```bash + python3 process_excel.py + # 输出: res.json + ``` + +3. **生成会计分录** + ```bash + python3 generate_accounting_entries.py + # 输出: AccountingEntries.xlsx + ``` + +4. **检查结果** + - 打开 `AccountingEntries.xlsx` + - 粉红色背景的行表示金额不匹配,需要核对 + +--- + +## 数据验证 + +### checkRes字段说明 + +- **true**: 实收金额 + 手续费 = 订单金额之和 (误差<0.01) +- **false**: 金额不匹配,需要人工核对 + +### 识别问题记录 + +在 `AccountingEntries.xlsx` 中: +- 粉红色背景(#FAD1D4)的行表示该笔记录金额不匹配 +- 建议优先核对这些记录 + +--- + +## 常见问题 + +### Q1: 如何处理合并单元格? + +程序自动处理F列的合并单元格: +- 合并单元格: 该区域内所有行属于同一笔记录 +- 非合并单元格: 每行单独处理 + +### Q2: 手续费为空怎么办? + +程序自动将空值记为0。 + +### Q3: 订单金额为空怎么办? + +金额为空的订单会被跳过,不生成贷方分录。 + +### Q4: 如何修改汇率? + +**推荐方法**: 创建 `exchange_rate.txt` 文件,输入汇率值即可。 + +```bash +echo "7.25" > exchange_rate.txt +``` + +**备选方法**: 编辑 `generate_accounting_entries.py` 第13行的 `DEFAULT_EXCHANGE_RATE` 值。 + +### Q5: Excel列对应关系 + +| 字段 | Excel列 | 说明 | +|------|---------|------| +| ReceivedAmount | F | 实收金额 | +| HandlingFee | G | 手续费 | +| OrderNum | H | 订单号 | +| Amount | I | 解款金额 | +| AccountName | O | 金蝶名称 | + +--- + +## 输出示例 + +### res.json 示例 +```json +[ + { + "ReceivedAmount": 9455, + "HandlingFee": 25, + "Order": [ + { + "OrderNum": "XLRQD063M25", + "Amount": 9480, + "AccountName": "20 Transsea" + } + ], + "checkRes": true + } +] +``` + +### AccountingEntries.xlsx 结构 + +| 到账金额 | 手续费 | 订单号 | 应收账款 | 金蝶名称 | 摘要 | 借/贷 | 科目代码 | 科目名称 | 核算项目 | 币别 | 汇率 | 原币金额 | 金额 | +|---------|--------|--------|---------|---------|------|-------|----------|----------|----------|------|------|----------|------| +| 9455 | 25 | XLRQD063M25 | | 20 Transsea | 美金收款-XLRQD063M25 | 借 | 1002.02 | 银行存款 - 中行USD | 20 Transsea | 美元 | 7.1072 | 9455 | 67,188.54 | +| (合并) | (合并) | XLRQD063M25 | | | 美金收款-XLRQD063M25 | 借 | 5603.03 | 财务费用-手续费 | | 人民币 | | | 177.68 | +| (合并) | (合并) | XLRQD063M25 | 9480 | 20 Transsea | 美金收款-XLRQD063M25 | 贷 | 1122 | 应收账款 | 20 Transsea | 美元 | 7.1072 | 9480 | 67,366.22 | + +--- + +## 注意事项 + +1. **数据起始行**: 程序从第2行开始读取(第1行为表头) +2. **汇率固定**: 默认使用固定汇率7.1072,不会从Excel读取 +3. **金额精度**: 计算结果保留2位小数 +4. **合并单元格**: "到账金额"和"手续费"列会自动合并 +5. **背景标记**: checkRes=false的记录用粉红色标记 +6. **文件编码**: 所有文件使用UTF-8编码 + +--- + +## 更新记录 + +- **v1.2** - 2025-10-17 + - 新增汇率文件支持: 可通过 `exchange_rate.txt` 设置汇率 + - 智能汇率验证: 自动检测异常汇率并回退到默认值 + - 改进错误处理: 汇率文件异常时提供详细提示信息 + +- **v1.1** - 2025-01-17 + - 优化会计分录规则: 移除"到账金额-贷方"记录 + - 每个Order记录都生成对应的贷方分录 + - Order生成的贷方记录在"应收账款"列显示Amount金额 + - 简化单订单处理逻辑 + +- **v1.0** - 2025-01-17 + - Excel数据提取 + - 会计分录生成 + - 合并单元格支持 + - 金额验证功能 + - 背景色标记 + +--- + +## 联系支持 + +如遇问题或需要帮助,请检查: +1. Excel文件格式是否正确 +2. 列映射是否匹配 +3. Python依赖是否已安装 +4. 汇率设置是否正确 diff --git a/__pycache__/generate_accounting_entries.cpython-312.pyc b/__pycache__/generate_accounting_entries.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a77569dc7e7a5a1579efee8a319bb9971b9009e2 GIT binary patch literal 9591 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�dXCc2?Y_JU7bp28lYHF`kpfn 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ΜJa3>Y;>}PuonkW7jmG^Die1`0FE{(uv(Wl-f8=`~$Ti`3-7Y&r3qLF}8l<#yjJe%5l;| z28MemX{1+ zOhPuIbmslIZ=AKvpEG`(wVXY!jCuV+dF=TR;KI7Z|2QA;0CMtk*ZA}Fwci62XXI^p za_#5p{_x!Wc*+?rkaIGwbQY|1e7wScr?YeWvfO%+O2%*0`F8!pBEZ+plT{e`8M4!D z|H2~dd41mqq!hB=aeCT+j4}2*WO-f!z8gOoz@MHyR(LUG2JYlr2&lz)WbTTK6Pkjy zd(K|Ec>4H!;&NF%wrA{r`1cb3<+MA%_kMe4eD(1c;O;#=jA?n;POqoZS`eTNtQ2Nv**z68USOlU7HUsiz@u*KExSv`u}vF>v?SqRKUAQLmF2J6O~Z(#m|@bsZVtE?l)x27H1Y~h#n ztD~vAuP>*`F;o1hQ%U8-dsZX6zk;7>1rtJ{-ojS-)CIi!*=pCdM)CN_%AeKFSHy7Q zek~|x+mx55L6fV(BIqP&J`kFigC9u9$cF;i#5Z1N7(jC0JT4MU4|%1)v3ewcNwF-P z^VLA;-FgnObPK&3!KHKsnpj{YbTL)1DS598oH_;19y^S!)9#TS8ZxaYwC7Ia2`MSb zNNjDW3nnhI*6C4cY82Hp)~3viM0ei|J3dy8YG9ua4Xz-NFUtA;DVLichLsKKy%jBn zM-RR+HB5Vu?0b+>1CeZqfF)^orhhbx_~t#Q z?4vF+Gz~)F@Wy@Lte0gzM|*vHdvyobkphH^8BeYly07{Jl)YZf8J;Z?z+cQl2%!ma zDFWTR#PMfzpy4D^UNs++sP?tlW=8aqtZzBWz5=QrUK_77xSmE9Url2~6a{fQxc9!6XF zI$p<<@#D30h*3wUu&|$pzu(?xC9&`C`?Mn^JB3eY;{hsAb1K87%2;{==6=Z$9==q& zb;AL=uk2cP-rsL>2Y6if8w=m< zKMe{)<>7g?eI!v}ug%%reP?~kLM)U^NsjPLT?eIiN1*#vCRnq_m5xU-YBg7y zy-inJ9+)(!HYKi9XlpGKz5b}7yrDrbh39|SMe#ZlaxT$PQx(2tC{N{4tl&3$1ISF8 zkU$n$=RF9Eca?vIKMm4AmSyCDS)uU-vjg`u(ol#3nD#cfuXBgj@FY$?lPb#5XPRb{ zic@%kgRh+j${)Hz>}qS9&mZrvl2<$)$7jm3kA~6LIG0n+{RsF3#8+C|0aQe$)ERMz zP>n6Qs(l&XKoQfy{7zFWrtPzpoe<%wwhJ|v`DTMAV$PMDhhIdkD9&}f5J*8m1aC7! z!Wi&>T!r~Y;|uE`2FMf z6Fq>P^Y!M7$McvnY5T*)MWg@a->Vyd>`7d}S#bZ_t(qWjsGQ}p`u9Wvvon*w%|dM8 zEJ^rzBV9vu^xn;Vc_ra#MnJ?Ya4^G2DWCy?$-YW8T5PG|IF7bW&R!lp%4P)0kjY#y=c~w|YibCQ1OA=3J3pHHijs zVfo|A@TdKd;=32i%tG4Ox-< z5*bsgsX}&FKEnh0wcP|F8&hUk84h-4j6Jh_=8Hj_!=VMh`aL~>AENIPT?ub*pq=$9 zQGl>~WF`HAh9*(_P{A8P(H+YUWid5b!hr0}uI*Ikheup z4u1UN3s$!bqdEe+-qMAyB!{vQYkSp0RQOwKd*|ZkfCb|bqmU))+KAzMu05AuGLOg9 zPdA%an_0HZzqlsc;#_VZEYuQk;>x_PM1YBBUk_GnpMnwpM8E+h-`^9yekRbTt*g-< z1Oei)e?l!=sGyoUBOUbe@WAk;n;(8Cx;R^qMRbe$b33vA+^cNBEY4OOj*7PL$a!Dq z)?z9{Ck~%>OhQcJcrqFnx08L)f6<#i{4t`}nIrDZvLG}{SKyr43Wl{B>K(IHud{I6 zS$*KdZ%b?#1tt+9sdaQyfoUQbP8v&2X955c)Zd>b=(3*JI-;Y!7MqU|UZsm#sWpL# z)-O5o%3v)IKmaOI)52NOkZt0&Iq=g#p;|;_sE!yPQaW6#=g2txUjq(F3K1oW6iQk* zJP$ktqeXdv;Xrekatn%zBdStPjVvNxMBkzd{_Hqm$fm0%augp_=x;f~AR3Ls3ls`+ z&QO~{#>wQc@kxuq_JJ*G(13<|L_^z8|44;rqD!0;WXGl;^B!+bkb#Aw8WLqet6^8n zoh=w%Dxnk?8zxaLVmn&wEnKvm6dFOZDPnB%t*S`@Xp|sw0W00F(QlTL`?8CzM@I4M zcJ$wEEXnVssFr`j$atji=_TBxeh4Yb8F@nXZdQn#!MZ_d^)>fpd?xXskh9DxciiGZ z|F!m8*AaL)89KOMYO<6XHsrY|?@}f7s`JH=;#DH}z-F3(x138EpPLUDM1n;0%Ean4 z0uyn=EevOH(w!&W|6ZWH$MvF@*wpBy!)T{LET=g3${+n2x3l4cSO_@T626J80K@ApCfl+Cv zDeBl#eexJK{k(2Bnp@fV@b-7eu*`W<-y_q}uvfefDOxBLeJDN^Awx8H?k2yge(hDE@cb#lO^0HjD)o5kdD*_-JnZ!1 z@cg)9UWagS=}$i{Q%&(cI8>>Z8&;WTOy+u_jJ8$ikFdAZg(g z?}g&L(s+@v3G+eW)KoV7eaWuF!(b4J5R%f5dXSmD)4)Yjw$j#7>tXkB-u^>YC_#3T z_hs&DPUl5t8*4oc!r#I$>Dsbn87y~l%J=CU9ErDByzNfBd`WY+i^Zy*c1xte}&>3~o57aPVS?WNy; z=l*$On65W#wG-m>a=v^ia~|F$m2A~8kjUv8=MmH;!0_|Dzr_MO7kiSyXnRG%v4O8Y z1cn1teyo&{ft@~`r{H`>?ovq)6NIHWQ&V0^pJ)l^tviF_{VRCDy72RiNE;9TV5zMx zr*|{^VK}qYsfuNqY%xEv7mh74)kPu5F4InbYHaq1cZf_&No8Gsy6~gl#V?}ldVv>V z;MuF!_j--j$XBuUvqFYOuJ6Yy8c^Cw&2hPFl57SxT+?pH!o^IQNMMMVN{nVA(mS(w zm3M|RJrI1e=#e}zrhIv7H`Kox^45PrP;T%1g91aaH~J>d4!7=}*C*OI(y0c!N}r?e z_y2Ym=|#+Y+3u$zp~B76NksXj%eXeE{Aw5R?X&$mQ%?uC--MGVYbg)rH89C%sMJyH zz%(H5lA=h_RZN_OcSXgv?%WASd&NF)%s)wiIbJ0>RhEwQXT>${tCm|Mo_l%Lr0y76 z)}KgnUbuP)sUSiL$(OeBAGYorkc%i#Jj2d3TjYus|3IM7SnYips22%r6?3*Cg2zG3 zRf40MiG-(GYr;cf{l`{C;YDk_!Hs5UutI{CLYc@?wb}lZkkP!LC4<$%mn}&o7MLI= zu!M5NpNgijwOLz7pI9)IPe)E(LcX*1Fm>12u6}aP((JpNmfOOX1gugmL*nE#xOs(p z+$c|oyUEoN(rfRi{-pi3VFhj06Ahq*6CLNFj%`JmVDqhXOEo%n#O5UsZG!+KUYyEB zChH0E+P$XpYD(@xfhI*!O$}#WOsHryGrkl2%qnFiP2tLYkq_yNCd_Md-<=#3jcb6i z9T}g*5Tl7rO|AgFMOB^Q$|qvx1nE?1wdN;Si@Pe2qocYw1b7BUO{(Hr4~;G2{MA|Y zpI>Ndaq+l1ZwYH6TJ7mlh>5h%Y01wWX9@|l!8U_madHfvtHnT?;t$v6-)w~lD6Pk! zWlc9g(dHB!djy(G=%Gwpeu-!`OFf-pB4>BacSV7wf3@IwP8${bnR+u$#9%SCXseu` zI&W`oZ6)9WbSlLpa@%3v(8Eb;xFkeVw_-3#Yic)SOidph=Yq&{K}YBBHXMtGy5u!= zyNAnNRFF>9BI?J-oTwh3$T2y?2|~v6)>G}IWi5&NX_CvycdXvKDl{dcNyz8gDjC>g zEut7XYEktgv1lqfc!w?_oKHHapSso(@=AHp!^ttsRhCzJdNwr7@$I(n6wArZ!r-m2 z6Qnks;6hxZomC?WucE3g9D@>$zh-8uA4!hR0^{!RhfwFWfMCY=3YiFDHQ5`s1EOnwCebvUF}%=Q$C_E#3;wGBK|k^k(uPDXwuaMcaN$0(yjG0RHS&- zh@;JR@k^Vb9^CA+3yimdH;PiaV_-rbO}gs8^+Az2596a4vBztBWo>>t&(F_?jysEo zx1A8JYkvJAh_x@viN~yxQuazEvTgMs4Xj`qwIO$Zg1Lmsk4VBy>O#>h+fxK7w5OZ4 z-vLY@P}+XJawF1Hf1z>K-i=n3+()eqPx8Dp?sA<_e^@5BD;lW6FH@M&5~s(^|ta?P$z@ z->QQSZjpmQf+R^@9oakyQ78VCg%JiC>qpss{O=C6)B1ybi={xLS*iiqgN@2_3b?lWh5T;O@hVZ}w!$+yQ}ws>ODUgZH&LWMkP$@mMT4nKi8G@^6r`HD zPtF~v0WFy5O2w0pC$rG-wXoReSb7wr5Rsx-L`XA7z70Yetg=}&JH5LYaNqVxP=JZiBvrrHeV`#DKnJhLj+;ltx5?Bbj{ukQM#plQRDRZyM z>)#irCY2mQ_a_6gP0iuQ2)-}lMA=ED*~6%l)sexLNS=LugGV(#>jU9nHrPN8OyssA zFj_zO+0)m(V^WvDmtV&P>8u$@(mq*ZGTsh)4-~v1NRQvXydQJtKK96et{>*k5Fv+^ zQg*F2ECS6RuD;nHKgl&RUE6ybCkLGDLFIU>p3%e>5DLW>YV*fA9z?Cj!lJWnyWv{{ z2V;Pp=i(c!L&*K@rRGDDn1Ev^MyLp)Rj5v1Gfg(J$XHoKS+4p97s6)RDH0nn9 zS>=zNog#smq_7_LV9w~Kcy_pgLZb%v`^XcdH~)ILDQ;A&?^{;oVfC*BxY)( zs&r(HMG0boF=ESn%lz;7t=e%%tLw<2X=g|Xia1?rn{Z&Vu=6aTB;3%8yi zLz0egVC=E;%2~h@hp_%BThsrPj9{C!_#6%OZC}ZsypOa%5#jo==z5fPDQH*@GWiCo zhp~y=#y_oPiYVBb0{M=JamKx)$#Cr&$0|Bzy`r>6fu5j~2p-VQiwV5drFn}kbYxJB z17m@`aW>ca!nC%3)yBBH`Sp4HqSC)ZYoFXqHE6brU5yBJIO2?{yi`}AEc*{)`Y%aECPp(I5H#vgXrqPJgU!ED$ z&DJANv3QR14*7I)^wnCk@c`CZLf@!mR7j;hq(MMZ8VLzu06{{A z?jA}Sq`SLO1ZiocTk0J?zwf&ie_fbo4d=Oc-+lHz_a08xjyX@xhAc!IDtU1ZAEs+u zvvs6YU=ZXxx6yYhhy^7Dv6iBLNeCr=M%2elv3YQ$k44 zujRId)N%advb7WT%7Nv4+S?y*j#k=?ccIKgWjg8BWpTa!<3W}oi4gV|35p0P8L@7Y zHE}HSMivEX(7blId^-Whv8u`kr>=gEW!wG7Eyi=vY^mElKb?JHqx3skSJ zja^1>|LOl1)?8K+xH)13)V-(bA`fn5!$m_S$v<~Ll_yLb+Qbk8(XjAw_%=h%czZ^xZeH(@dPus1S&ean<^F!6)~2uo_@$|a}t73@>#Up zZToNEp%Wigbo4xs>a@Og$xipkGOH0Fw6LI~3mr8qAHpxNp>+Za*0f6-98@LH{vUN0 zz>#Nl8Vr}sUH(G=vdcv zh$1jxk;SX!RfWg|j84Q^s96dPyrDxbJh|U|8^&0YI0&WE@IydDT^l4Y0W#~ZfLH)! zW;3pVH4dBPh*6QtQFZ+-tN7>uGE@=1PL8pVoXSiHzv{MXK|OBNx$U?f?_Toaj0w0C zO2?{x#ee=UFo zSsMiMjJ{It`oS6qiZTFn0b2dmaLeXx%>1w&C6mcrlNpi?0VhJbG zOy}fa0ho=m`{{+wOz6N&p|{RXSfe;)dR$&bc229Qri{ww<1xC%@F_Sm3a8uJq z5$EyHmjGWB6|(Xh3E%(976?kw2k_eaVkg;a!i_e%BaO*u213?(L8@tCMTC8*REd5} ztQ)w^{n1iVI>4#n##ruYVS%@Z_}gq>{i*(J83+MIh;_w^j$t=!9A;UQeJ#ZP^vH^$ zh(LE%Iu7`xcA5U{gCNlpH85o8js_CGo=)5D2D~9Nzs53j zkcrnX{nTasd4ue-?E}_^8&KaK>2l{nrg4C$;x(X*^x*W@So%hah6ZL{!Gr+}x>{$> zQWQ%yy+OWK0BZ5t4uh(`UKZW;%W&F`&sjboaw%JGZ~euQ=uJ3SB9KsC(YURL&4OO2 zMOSF#P&!dAT1%Q01EGG8q7n6Q9m8cgvoFG08> zcHZ=5Y%{;cq|Z3>d2Pk3@yf{p3viN%oISuGzIab_e8=$_jGSEguAdJk_8NCi^??purDFg;8ZuiwY@K zh89mSEasWlm?wKFRBxxQrkKa-1HOALw++5rEAhF(o}4kKlvH-x{knLyLX7IB8D5|1 z=S!*o$0l{2`;_w*h++-oG5DQP(dzx~waJlKhhS!fqYBp&zPL}l@8|??>LH-0C-HDo z9m+b~o443Hzs3_FeDs&rH0$l+3?Xd*C2K2Pi;_HDrwm=ORT}Y&3kF%hT7n)wMN?BL z@V`txmRe7oh&Ke^N(`}I7q*t-5@Qff8XK0?`V&uNo{0SuUght7AJrXVj6AJ`cj=QC z{FKA$wXKtnU{Ag#VpLp`ync$GJu|ap-C+ow0%EL^^wxr>MD+s{nmXBNGaLdWbXtwI zl587c>I~)0sd=A0DUOI3j{OUW6PMkL-pkHMHn@Dup01>&5 z=CMx|6c!N}1|*U4z|Pxedt>eB7K}B02`xfrXL$^uV|f2q(6_Yc_R`)_rpUeOlUsMK z{Usu=R}cA4q`p%W=zacuyf+w8CK?`+%JBbl zaF+eJL-`teLT#&d{NiS9_aJ{nC`yc4;xIL=2S?&C_<)+;FN!y1Y1#MPQGKChZp+@< z9pY?Tvi0lo{-=kYH?1_Z;=A|Q5g!NkH>g{j=E(a}^rJpXZ)E8#1r4H-fUXuz6`o{@ z>W5Q_!YHqt&b4*xiVOa#v57dty|0T!bHq<{Id+%pUUNWvhE^cGB;c=gth-8M8m?^S znQC_jICr0sK4`1gbed-XfE{XUs{Bj2M^sq2OBc&Tz@ z-OshxZ(2@25I*W*w{pGmsi7&r|6liO)5GQ69Mbbok1yOZeYI3XwruQ1=<+A)(9ta{=sdmj1dEJH9oW*nm;7w} zz3#URZIDj%7Hf!CQwn03@VgG)wzjYZ7JpF}k3wj?t(4x;^eaE^{W6*tS&J)@neQgH z-wVfVpEJ}wD?2AmQeU>+;badAtRlA9-@I9N*g0(yl@y!*t$^COdvgD~=qkpw)i`}g zLi~06-H)X#29m%Gr?ZU3Nq=|flXh>K*5>IIkWpZ_j?YOk%i(aY7F7B~F&9K43%i76WzTeAYN3WAC%v5b6D( zm#IUI+=LYJ%e59k+?r=_hHf4>95Wq}77LjvKw6C}grezi(qAavl2eelP?yd{B(0*{ z`F+`kii5HPQzsP%=bbFOzZpb|Ev9HMz7o7_=BPZPZHr%sf~U5ZWwx#gWw|-@Oy@4z%CPNY*oeR`Zb&kWoe1OTEj4Wzf140^r)Wwn*8#Q{_QT9>3sw#byDE zlsMW{o^8o15%CnYIs;y<9jU#|8CG0L2j>>pEarjsZUIz*&=TMExHP`fq5Jr!fc$28ZAzF~gnmU_c&rvLGl2Xw(y zUU{Q<$9}TYUoxj+iezQ$e+MM}PrD=~?oS{6{uLdG-ETdoZM$t7=y*K%;}zh2*|+ke z`R!HR8(zr~-24i!b!K#O*52WwSZmStI@kQ#=9=2t_Ikd9&Pw;)FH>__eRu2x-TCmW z9#c9gD4qQe=Bqj(6iKp4ms>>^bX(@$tviV_*v-&Ei*IEsZ;P+rLQ}x;>E_p?_CmIk zT3O~jPw|x!NFW^YzU+Nj$9K0T^`=S@r8{<>&iuceXh<3oUfXeVnSb?ovD-qM;eRv` z^LUwT({X(o@3k!cct9=0{+Muf4(mmgbtG z*jd=6CL;GCg$)?TQx~>xai7cpVxo*orRcz7$gBmbW@K!HoBz_tcGf-P6E&lj7Q7(i zlfSCXx{ab0nSZd}`uX1heJ;rlq;fl*NL{8fHF0i^2J?=81Kz*Uu%!n$)&z{($YCg& z&7@o#yo~Lo*WdlBv5`^>QZ8b@DtLvQEbk&r8p>-SQfffWGlnFF0@oD=77}aYzXs^k zL=_*zgUM0_5kz}CT6=$6U37`w`IG3x&4rYt50pt}3bkqro58 z2L-0Tk}bP;`9KDM_h>w$tJCctJp>#`Jep7zll6JMcWK6xbQj&T(=-48Wx9HN(70a` zAV$OCfriKJot_%a_@UpmGhER9h9>#hS)jKVzzHdS315a9T=|b(9EW&L zXk1?jkRm?Qeic{syDGz~7k_>^&gLTpL4vIaFuLFU_0Gelv&N+Wcx*yLRAo*`@_iZ> z-lxqWF62z=HzLtZh`A8+8)%*uL_Z@RoDz0k>7kNU5*}F+fpM?})dSYqGdyptgrdY&})L z!sVyljsUul_=$V@Yl~pgSH7Y7vK~OKnfLI7K-Z28-N0mYcc$cRI(MBxWJ9-ignOdg zn*MJFd&~E?$k&j3#iw}8qWd1>xzJ-xB?a0YuF$rjUXj-?A8X$L@9QqwO(w)SBa_&c zO}LSUdz-`)*;CfQIa16i{3ulP(_Iv4Aqe|o<~ed#aq$>%&lqX;XCEa6l-iFovx;9kddQ0lJgx_e+Y8hyB zz}=3UFPKnytHE4{9zUPgSaLXjuDvt}Fb-%}Od&}iwF~~`_|F{4xj!(D6)y zZ$kQ<^0mJbPy(kAQ+8&k$>#YE+$%c4vB{gopcKYXTaB3cxnD0OM+| z<(SltwMVh$4uzLjHNweBdiBo0k=weeDK* zJ%cRa@b$wYB%?-32FS-37C*(*(b)|RkLR?uw@lRI_Z=I03QKSF{POnJjRjDdaF^){ zD2GW|xL!mj|5&>pr40aS0}dORrhWy<7hD@y^LuDtk)Zxx7P&$DT!ry*e*e>_2ceEK zmqRy=Vgg+G+GpERc_!fR=9yRb_5Z!Z53>j{Js=?tKCW2on$I&~`H(!22j_?Sm>8#g z`M=M8Op$#_n?y}^P&`oQ*8i2Av%j_J9(6p;XN5g+DAhbAV{7lXi76#^p4SZwO4SY* zQ#n2_f1cHPlK-mmaU}jZ=W`<5@7k!6V`?%?dSb^zAxyM`%(C>n7TI_zUcnGv|7;Zi z3h&28anTQTjg`{=w^D{3mZv)9R>U(EM*exAoMO;O8M~bzH%*E)n$L;9m|HxZ2($4O zW`0(wT~3gDK$0HGsc$QJ9R$hNOla1aK1+EJZCfu6j>Hwl~wjwd;^j$JG- zsp*l51ZRwkS76xT*C+)q?sGrkr?GX(il9rW^jF93U1@IdJjAFDN_2(_&oLEuNJI5M zC~VJAH8~yK?(hbxg&=0qh@u&o8!5Ps6>5johG(9Ff`qSE*e zSJq+1*zi6$)#=m%bt%kCSUv@*A%-1EX_-sO#9YAokDKGU3PC9%p#UQ4n&#wT)>COp zrktSo!&F%O?;IJrPDQ%3a>pgRt?0ujRWEomP{kC8MYUwdmfbQz`YddxP~G>;jYyl< zsUI!g6^*HpA8!fO^ec99RFJKo+|+qWSKfIFgQpqF7WrGm_T_xc`I z8D}ZUW27$h;NhfaytW|8;Ft_mE<&fzQOA%@s;W8ml!XSbmEZbnY<4ba;^>cmNO0ST z(HK6zXlOPgUYh69gZ|S@<+yi`D@MK+*-#b!p+SyLqz=Q6na5G7!4^CRYq8B}c0@e+ ziMkX8ao96w=4IdbmcIr~wxtVZfMh__jDaYcdYQnX(`QxdTBK?L! zLEs`#D$d6B!}8GG#_7#WSyESC8L5tH6Z=!nvR4fdxbm(lW`j%|0Y`Y&Sb0GsDhW&x zxGG5s5}IhAzTlwC>X@#R3|$9Hdk4WnJYH-u{A*X&1S3(P#^e8KW(9}FY0l|R zoU*8iIK9!jIDSpLb0>uDNUPPEN{^3e=>Pz#PkGD&3%IDc3hAn|xJ5zLkdDDR3bU!^SIk!^XbeBxvS1?f4a&%TWP&I zADhT-yNRr_QCT**{CmNLZ0SsHuN)ANB%9iM$c70-=>|@L`z)E)JfP|%Z<*ShcuyBv zSkMQVdy9?@H>}>_h&OuueAD3hla#dhBbOq6yv8foI%*x|D<{lcNMIgBtf9U-z|w)w zGD+O&OY?kP=0WBKOAS@2l1&(4AeOkUSStD-;TAlT0Tt&v_ z5V<@=Wc@3Vu5%}Zu6`=O@5=jVnMUdJQ$}=qbS0XdA)aAU5yJ?-m$Zy>$AvGVO?r0CI6@Lu7&n&TJFL(ZlSz@agCME`HCs>p4$oM=*OPECn-%fK)Jf8eU9{X^ROZ?g$ z7~jpmNo+{IiZJBT)*PA~`?a2eqZk|m`TiQlxMC${oKO>oyE}QVq#?r2V6CB-Z8YCi zei>R99UU1~-I|w~d(Mo)wlvgKhWS88kHpSuS-U=sQz|L7H*)fvG|g=ePhv^lmSUNz z*ylntg{~gQqaGe!=jI&yQ}S+w6Y4R6*b3D@=eQT zy=93lvW?(5r@VC4X>7n7ocE;_`*_t7({UR*VD|WMQ~9`iw-OMx&^cM;cY~|s9CtE# z&Xj7pl4?=um49xiiWJ^KY*xT{tIsszXX9-%H$VKh6I)_Qxle1qcb*V`@j`op{F7DL z`qrQrjR0?+7nT8>;Oz?EC%gkUMF`J8*ZIJ?qOU}Gk1=Do=v;>l!wVRQY2?90>BZpf zkFLU7kU=D9vCF8vg#MYz1MBd5&~H!^#qohSXj;kb?!IIf2qaQDCm+g&BIjU#(r;++ z>pOPMZW*CNAQ3=AE4+Y7Gb%XtOCK@YsA?vXuFDGGBa3R2Tc+~5HCj(MlsQ8JH*`?q zj1ys#;nRcY!9eV$2A8h{*aCA}gjZdrM#Tk-JI|hE&0@wc8i|1+-{MpVneVzhjD1d> zowNMc&}W-4 zuZZ6w;Uzt+>9fMF`)^55dx zHc)6F#9>M5{h#~Y@^t(l4V%Egy{L>%I6AUtgEW{J!(hE+J668)+TgW%^U$O+A(8@U zhu2}%-ruar`CgW>PC2vl$Ayzv6)rF)8}J@0mcV#H-r|1Ek>3Ny61V3nE4k^2$x4w2 z5BP8tC{h2|7^p2R7g0M`Jc$R@Zrvbdae=KBp zQsGB3>?uj8Q{kra__5C>Qb&1mmH0u9>(2BX=tyBV_~P!36*1~d?Qp|0(gnQ~A>DVO zwu{!R)bx2s=_wBzkGe{$PqWI+sMIB@N(*TbBBH#-40XONs{X5pBSlU-TX#2TFD}Ak z&MHr7{nuHdn+h{4+EnM8*KytygFA9;^fOe~UII@wka^>ANgxU+JAWYI1lthLOM=i} z%Lirejg5BSuPiJX?6y`t3?-6rIg<&-LHkp(3mj=)Ib|Zzj9vD()G5^7txKgYK+tGO zdL1K<1i4FEY_-dwq2oL-TjZ=jIf>BG#i3D-~m3SZxvbG4vTls6H!?8$%cE zeRmk=o7jaBP%m2HZD@&H{96r&k6`sd@El zZ7|S#S=|=%fm3=-=74agLvWGu{a-5Q?8iHWxnIFg=a7sQ=(Bz+B(E$Xq(!W?<{;HK ziwgL{OtVl-)V0g;tte-bKTQ|U&l0l4V?EE6Y+ko~vZ<_v74ctYXe&fEDiorM{z=7M z+CoR>Ji0d(^}ZN(h|tA5c9tmy-`t_p;K}E~*t+3Adm%z-)}FCNFZXY9{Nku<8zK4Mxl^im_4Fm}Pr}#E&nX$iGn7tZd#yEY1nz4I)v12kFvduku*Wct;!7yDtR67R&H0D-L&G3)M zq<3RI&jY<40A|ws7?Gq)kx6t9$w*#L09@C0+lu}{PS4* z$iMeHg;!LdVTD9?^@FX0hWrXKQ9PDJn##gzq9(@zJU}A_98))p+(9strE|QHgf z9WOG>riM38S=FtRT)cS)x#|ZuLpC0pg%L&H&VMGRGygg4^lA}VT3%Qy?KTAy|A~Gr z!1Z!tM9h^|h#$;Q@Vco@ir9oIV(YEax2Wmu}(!ByQLiB2b4*PLW-^A#mNNFO?JK>kdS4luvVGntiX1%_m% z5cg)7%pI&|;>GpZNTp>yOX~t0W4w}D{BXNz6PyqWDJyH{0j%|U9hYsU?cgN_p6+#TalN zMNFsKrK6S^(gw0mRb;y!azD?O|#y)avi#xHg|q%!dkMRB@wM^zE%@<5C* zH8Gn_jPQ2hVLWL{c-hdAh=M|f=JwDgnfdrzRKU3^E=C3-fBP=cquOXI8!yg|4}4J0 zRx-{gn)tE0cu_ud9{jEdd|+5Cw-ofnd$q-*AawiJ$a4X3iV~XJJ^AyLaePrBGtuU= zru?2aT+gxJ+Ip|b=tZ8s2SJNhiD2*;1AOi(iD*IDSIG(zJWOKsP=v?j)S8JaEfI)N z6SOyCjqj{liIO8y<0jNfwK{=0q{R#7&`;%?KxCQ+Y3n)l(w0F$!%7n^q-CRDYz$Ax z$`&;w^+Ui`x)LXp)bLlRgG$ndgTooVg~wvrnr#7z$dA@cyT_EV z4oBrxoUey@lU|%1T`ajl(NJGvB4}bY!rXQOzdkf`6U6B<;^1cT1PpQ1*rC!LPLR#MF5wShJRSbQ0jgLpnw zSN2J?5WVDNk!M}M6bfgXb2dH2xxt8nu=g#1Km^WPRMmEke%#vTKmY78&_{6xFC4tj z4E-_3qqVa%!TA`<-{vYO=TIT?KrIJHWjD~5;>ZRKQIcT|DX6UU9s%}qTEeNGqLlnb zi?0x5{NTGB=ZD5d)noEp*{_7JVYun8y+?7bNwQ8@(eE`HFE|G0sgN7e_#8<1plmg0puM87ROgYzjHc&#Q>1Stb#oPaZN z>GtZ>ahojBEl#wA+}P5CD$;3QFHvN@J>5%o=kZeg?Kgk}3&4N{ilevov)^7wk-!`y*}-e0 z`MC&`xD>JVFr~(?qQxbm19>n*)6{BKK6)2GdQ50+0`(e z-b5{#qRfM*USL|?Z~9wpQw1+~B+D@!z*ZQs`>KB%qqIUksA97~&%!dF5q#8O=F*i9 zZCxA|L4%kArx%2%?EcU{+n2`@%}OKrrzbV2CY_e8PPkJv>d``0#+pzT2v3CZ+q|nm ze@V1DVO^6v+3jLqtzkfGPkqeGy`j6w6ru9*S%-3@I7Op#-0JgEuYTC~h#6VJwSn1G zz$Yez)oRfqD?komt$#LK2c^A!wx0LfaPB}L1&^@&om9oPM0oIXGx?*{-D_YuB zL~KPilarZ(s-jeIcKr4}nh2E}Nkip}4o}n{Z%!orC{mYH_8*qawzJ~Jj`ES$CdO{t zYHl>modu^*Gw|6<)tohdBSfZ-)&a@*e@!RUB{e~VBZ0G47IzFxOzD-U6-L%E9n>)R z7uMyN!ZMPoTwmhSQCWMwimAa$G;NUEkNijaKa@^>Zn|D}T|Xx1Ho*oCm{v9t9ek2m zM;`y52pEuA}7(j z#D~ooYqXq+*ZgelJu8%6Vy&Nvwoc_V6RtxYy1>$kK0W?%a+&D3ot^s#>Fm+R;SnlQ zz%RYz9TkHl5$Tf2MstqQv3OdZK*E2=&$knmUz{xB@T(MjIU-G;;96VD!2z*zpiRF& zQ>4P?)%uMWjX& zZ-|-Wv(gcklzeFUTWb0YSG*xZPdAKAM^& z6q3kc(_BZt#K11gG?xS3DOz-aI~nM%DH9|lpsCa;iZBEIb@|{E!Z58wV7UbHux}6? z7)iV6L9!MqU6+z`g6GY%&xg%0XlRR?R24lgRQ#p2*H@1>o3e4hFbvGy1Qz7TTL0SY zPCrYy4!e^hw-%~_(?JMT82X1lR_O8Vw{a?hP{sl0Au2}cc^gZ(~pTaL+XRIKy z4;6+PNdlSGL$YgLsirX)O(f^t9HJ;DeRi8}(a2u8xEgJ%8}9QLqS(xURF=V0I(DlM z=(iF4KT?KlyI;DY1py&xNGtLzWLTuiV%yYemRD?IyZu7)4NP;^@<$|aoR zEX`-~^34;xU3BU{$C5NbfbqaG|4S?94)^QMTh-kBApY6U6L#kcP9I)km6#JFHqoNM zmYzjJD}zHH!n8mAL~goJuk9i)(K)YrCr4jipb-8$ody3^_M4yRSS3-!Az|M6Y{u** z6jr*t9D~C`e@Q~RHIX!XHY;2ehFKUzAtxi0A0Diu_wBhM2}3_qSMZ8F27JELh6xN$ z#;}XuCr;1658yK2B5P*_q*A~=N4uk=1+1IJh--Jr+TGxzg&1}N?8YyxtdqhUff;R% zacJ!0(^p6OuzhedGh}7|W;YxN8xjD2sCenE&X9shsL7bgGJ`lO0x|=>Fhh-MDW9Jh zvlF=Sy?*U*om#UvD^!XRc24|iKenc>xxU8dWOQrzL+fL8`<7Kg|Ec-&`I5bH#<>eB z3l=~L%btvq_ypRS!i=kTUu1X`tq}oX1f40Iv)Qh=+=`pNm zvw!L5x%1aQUI3IH_^BWL0K8=U8lNzT0zNVN^|?)E@D0nq=5{erzl(=l^`XUR(n1_r z_SK8U>}snQ=A?Kk4#}U`)pyO=QW`wmV(}E55T??DYKeov`9!jNqP~74x5ozRi@$wT zlZ4Xc!%~bx{7m`+lE?IGUP4t#1_@y}W0F9%hEHANM>Rvz%|D3|;-WKz=ot7vQQs=V zgFfMaK!f9f{5x4O)oZ#q>#SF(bh&RaazP;>vkc85*-JiyOniTCZ!5=Q)HCYdQ3m$b zdtpr!IZdA}4|iq@rF93YTwT(xQe5LPtXNZ2Ugh*iu*>yYPO43ru{)1x7#EB%9HF+S zYf3Y7V%Pt&TT$$~hJQ&j@oeYu46QtF{XO_3cH84i61{)Y z0+9u(T^RJ>GgkAH<^IyadiO0a`5%D{29oy$PWQRn2w;cJ}m^LtJNHACdDK=AFJ%V)!@w)pXZ)E0L_5C2

ue(%!ito!NQdRp`YinS}VlZtNvTR{wmE=l}|DM+xUn>oGsyWG@Wf%Vt=NO1M zx+;iJ#mDRD$MCQ&N97px6zl zEW=T1<&GwEPC`D}5P=3q1I4biwgI`HANfTaugqT0O;sVg;{A=vP8SxeW1xm7ac=mr zT6W-ZU=2BOgE{sFEQTb(T;ejkrb}y85aTT{FIdQ_d`b2MxNuoPyWI52?c-gQJC#qo zQ%|h^DFIYvA|XRR?q4zpWlfBAuxL`ryQb!cK~sC}SBY+idPTG}oZzhr(aQb~?Q!Ou z?6#xZc^>HYk4CTG*HJ`6*yQ=k!&#PcA1OS3U!R7Sa>o;n_Ad{OxR@P-Mk-w78f>3) zi}?&Ht7pBp@GYS=ThGz3Ahn|S&CX-+{0=|SM|!fuloild2p%DrrDx+&#KDkWY2E}U z=Fk|75a3pZXIQkov_^vUih68tLJsV^n0D+ks59<2ES^oh>Ex#ipnF~yUcacKj%^j1 z{KjMo2nA{{`HjO2;MRqK-OByiF&QN@_#3Dk7z#_mq!X| zCdTd-X7fOdNxoXz5MrQ5;X)lAEiCN&ZrY@RuBEv#=tMCL>_4Tg|LvXCB_mq!dhU-O z_rY4~dhi>)-%R6c9`T|xiodr4QPd2?xKK7U-dGTpUJJG>@#r0;JVw`F3V6~eWE-4X zBJ8K!-e6^^>1}4=9d_$PUYni4Tt49F87+0IP7mW za&_PUX(&W`VgDJnDLm6KYu;FnzQb7zYuA`%kg{bnv-^Wft5>rZ_mve%)*Gw*ZQcGt zQSuu~<2^kVHVnJjD9+epZ1U7&#V*?&K0**TFWBXKo^KpI=}CQj$YE%Ptk4D0h7a1d5Q8ZtSCCG-K>nm^hjaIAUyf zR+C01W%evIGsU6?v&AjRI<`_MbOa^?7vUj7g5&W`)$j1q30Fuaq?_G{5u^k}M9?Tv zNu%zzSuX~6IEV+#FfC|{qW!w_GeU{0S+dlPvavuWBG`aWShh&5e z2Awj-eA+Vm4f(f3Sb~LiNVA%owJQl(iGK*p^push*(TDUnk|#*C^}`m*tFWK(J1A6`39cmzaiGtPCtkiMZBh_(As4^H;8 zD84-1fb%cY-{TMG1bf%1@?WssPekwPLI>|m34z^m2(W6Fm?8r=hDd6sjv906pnHWl zDk=mMp(|qglCi_8u*j~ftb3acY*h&UaC?qmy6if_INQ2f)PO5mNvE~urYp5t;IiMp zP4#f8bpKNTgg}5=wLor?3CX5nt&t|#05;_(+Ea46j3{J}TPdJ`6eRAqX@cT3;7LbS zMTPp&EAO04R%#L8Rconw^C1)2v8=YPV`QmyyW6RY=XTF0WZAXf=4o_Bn&8MCCqcA) zfRQT(ohI^PW@8K1I#+!o9Gt(HXmjQHU@L?TE`HKdYxaX+Hmt8}-D(7(^+jGD=dW_> zT-#bGkT?YCY*G3AE>g%`$`5-*61}6PJ<#vW_s-+^`ez^v{uMS!X}htiSTKnLsR=c0 z`aLv(stu}ok}N{$lxkQHWcq*lI=#;fhUDj<2+Go2_BD&l2ccu2K&)JPL)lUlg_F%EF_|}+6qpT{E!Q3#Z}VwNnLNAo$VuG zO3MD$FI_{63q3n_vH!So`n#CFJ$2(2LK2dv1!9e<=Nz2%=-RwOg$49~fx&ZN>9a%N)xcM}9Ed=icJ%Om!$dupjsN=}rmQhb2 zLYdJ+LCKz*IN{FeFA$;xoKDc%iD4?hP;)%bIp%ss&fu^d*m=~DhFt=!l&Dx^S5@U9 z?TD@q4Aq-TN8W_ZhBm!O$}6B=!t$mYH!hJDZ52#_RN=Z$(7C8e7*A$qkSl6oc}0HnRSSO_TNgxFrnCiRyvBOT zbo~ZYqHlnTicF9`%0fm$WR<9%d&=s(RTxa~{BH>sKNl4sfriSm{>9Mlw~|gW6uoz$ z)z-3)Bu2j%rp6jt-~nGSyu0jRiDeDHR=b>?H8>H~X+$nvsvyFtXbsQ_8jKo&)W5`R z{k*YM!%u|YZToC6FZZMPU1S-3OG}&N=;&F|J3c)VAr5gcL_S}MFgkQqgQmlbWMM7EvfbsL#go=m)c zgJvoWo&{TMc8hoFE~6U0{5j4U@!GRqJSO)`QW4W+W<2FhOrZ;WhY)Rgw3KztF+y=E zh9dv4YI|$n4bH0t-@dXz-duS3HPeKlT5^)Rx+4mc-SQI;Ho$r$ki9yE;ZEVBefj43 z%Z}cNU|A*14WtL4d}~Um>z_q*@Na&f8X-%v(Nq_GL1mO~P_Mbgq(JTIXya@1qH^lx zrH{M6*BFa~5+evJf(i6S! zQdP-^9x_Y35jy|yaF=sx7+n;=wH2tNb7rLl;o1PQB5#6chMKUhH8Un+MAG`_vlWMc z5qaQffs%xk*o1Ex#u73elHynuqRF0L#}J?8Qg=P$P!434wY z7{n#rwWJ3Xr40?o#CKn)1eFYT=>*ur4A)JL#&f|Ng}CinX8CdTuH^`MY2cd+(}BHIVvK;~!9My9?0OhH1Gdp59kYDTyK?;T z-Ym=SIC=yxEo=97rJzc+CKj+UAm#8{G5Nk_`ee-)g%>TPT4dsBs~O6hl+PniNlSLE`6O!CGg`+%%zwd z(q|IMDpiX1Gq>joXX@}?;VIFY1# zZgr(;Ln$8=@`2X<@CNWfO6b4PQJs!Jip95WSug| za^*iEU+bUALRnl+S~5l#@J(Idf7>ayjyyy0a4}dvcS@zL0>j{|d1Ibp)prgF0qN@s ziwGHzl7=+2idDVhmGfL&_(E4IVlt>-RaWy!**{n+&D{OFDslL|c6?#&?)pdDIOp<| z_r-(B05`wxH*szAG(P3~xDWV*_s&ua&C`r3swE|ia95cb&6Pw>a6%f)4}Dyf=;$z2 z%pRDzcm?xsYtpG0Yj?ot&>VJCQ zT368KyN~(SBQ)4J?dS!{Y}iTVy{uG4Ts&_Gr?lzm3Gwbjm@w!FFzje)_tK%r=Mhoh z-9yu!_O#hE)$`3MH6^7)6{eCy?ho3$Bq2J)8-1DM|GL`p|IFmg+%4GLxHi%K5{i`% zNZyz^xLnIC#zECWa+tq@v=zd#i|`{=i-8LjwSK!8H)8y}`h6NlWs zhc;m-(~l=>BO~O$fqO=OqM1KljZ)C6QwDyy1ApxpQ&5R;90q#iXy7b;-dy@a-hvCm z)UCtt>}MnRW}%9+h`+W>rXp}GbIAxFYd3BB;MXC`@AfaBPDPCY6m{Mk9R#J|3|S0= z<(tXmH?~b|7cUcMRPMRUVemrO_vWrkRTj|>WmH*1WYL8bALi>=#>J@BB^Q{{2Nlw*rXS<)Gdp$$jrte2`8UFwHdh4jD zzBg)IV(1d-(4mHs?q(>5ZjeSCKu`vxOTYnCN{4O`7&=5c1Ox#A=@cnJx?7sx9Y5do zuJv2%UGINz*1dOT?!D)n=h@HR`w0p8h-LQvqtvc;dYB#Jy5RLIr=N;Q|Jiz38MG<3 zeZB3UZmYH^eEi;SG4Rmf`-5$`z&f7k`5Ob9%^P(cT5U*u!Oqu=?Y9IMY5jV_|3SO)ViI4<8qkMU2g|fdR-DaSuIE=aX+t_2(V78w- z-w{NP3!?JBeTt$d#i#bkpr>kqjw`sTKB_!x-z99m#6C*9Pjfq2lgfY7tm|7vD6mRZ znU#I+taY6rK^9kTr?~0=D8Ce|@!@P;kc~Q-0k9-jB^oSvrmXo$sy1dc1^r+IEdqRq zre+fZIxuH?$Jdk~3H8~v6G_-ITyauY=kst$Hs?nAIDQag`&R+OgTpGMq99(FOiikd z8c_i^YocgDR2h$!1QrXB`?vE%kHsYdrgpi1zXiLYLOquNaANN}IJy~?y19=`U8n#M zl~gRJE-hi%ul;aeI3qbZ+c^XsVhbUKl@7nMF_7ues`YN~A9`W}kQp!_#w#s{sDz82 zJ(@wNa5~;{>h)MFPq6^=FLgs>FNk6hnS_KoluHp*9B>MIj^jS^(Y%|3;oR$*3C(JV zniMcN$*;zmPE2^{9E=wf-hk9IAR6ULuW}W3K64qDAN=@a>AM~-CP_OnpWJBiaCsFk zhsVsT)|9I(U%>0%8mD$s{fmjc+EGy+2@;54MmIjQDF_n2kI$_QDsKL*y{WnY*Is62 zyoh+jgti>_85TY$ay4K&v$D3_pooZ?PZL~2WBL7$dhz}C>ZDrWmQw7Cqs=w6g<-rE z&E-Zpz@0p?NP5*xK!i+mRV*M+RXE*OzAUZ2{#}#XX=~d=vETf#hTXed3G`Y+2>hJf z;qvHP6wR8M+{-Ry5}XYdLA-+dFTzzvX(vf?&F0gURlTk5Pfc>da+s=(#XE&HJ-eVR{_cI_1eUooD!Oe#>ezYTh*0d2UU4jU~c zA_YE`vQ1NE|M#bWbR*0rmt->ZRaT&VPq@BQSIQWZi7=AKW(2*uUAJEkkoM^?`pBEv zJ1}AVs6OpW@oROzJ~Fm1q}D87^q}z{Hz(^l;+>th!&Et@4|;;d-i5*+01Jxi9h}~_ zJKFKVu@QpzFXo)6a9KscYkMuPZnlD@1O9#*{<^%K96Z+9zzn+podfn$M^S-3l}J=J za{NmUiPlzdQ1Yp==zb|ZH89)JBl$kIo8Qh`LSk*$O9Au%OiCY~%ruyc_-iM3e(fj; zOKQP7CrD~R-wi2HXX|k)2+C5xC)CCn<HNXM-1e2QD4fKSVdWqV9N{P<&3b)I+ z2*iRG`&`gen|XRl5$K#eT7Vo4l|A2@VEyw!reN!jDTRgs^p{hR6Dicexr?^{N*=<5 zW`sh`g^7or3LBop3q`2~F=YTt2Xect?Ra!DG4rKkAO?eUuWumrc!J*Gd_X z7nw+hbc0aCPuBO{yl*F(3sZ@C)_JcE))0ZYhN%`JD2LPE&(fwt+2k0g|7u}jJ;E8i zO5)dM>(QWww)YKHErL^ZaYm8Gz8jppb4IpZwl%jm#Q59*JOEji5#$D4O^O5p&d8DG zAA*+s#c8$umO;+#gzYFuV|4`<|QddFVUB z=W8l>L3jXWPQ`#Sd36sTB0lJvse~^2IMkZ{xByHMi@$AWo<_9byt)Y0k5mPQ9EEYacasB!? zwlI}r0&bd?Y`P!Nrgdrn2#uf(eHTINsM56YHO9algM^xmE_842pI))joNb%k6JTY7 z+PRMr++^A}5yvFq^0TUWXSt~r$ zS*Mom$STSNbT$<#I-q^3P-hRqF|{65Ii*y~eX5$v3}CIK1tKP70t63U`287BRFe1# z?bCrK*%sOd;2d=*whs;!tOBec$Ae8P-#*>SuTQctGX5^_PQHMr6LTRs=RhP{fFtlY zS3Nu_PL`lZ6Gw?}f{V}H)}8ju<-L7Xi69+rSQ!;ss5Gb7^7mhClc1^sJ81#nZ z#e1yB!cVw(7s3`ly4jmyh`3Ij)eFCtQYo#|;@3_q zwhS8gu~kfT9Bi?m%LS3#mAX`@h$X(#O^LEMkn#S# zQIquoxv4r}Q#C?;SGZpLe!Fkaj&+#xcH!FV2KDHMN~6W-YmQ%i$O1=_-C5~V6y-`xc$==2l3i5H$=V9R0U#Ny0=MrtT%LlqnINiJ2VHA zC)5~w6l8xNu375wc9Gb*+|mKKmE=N}Yr9{78M`*&o@*s1v8HG4VSAf&8Q^y7eSHl; zy~Ui<7lXSVnTatQ9x}X{&n;v!cWUP{%VTOSQVy45d>&)m_#V6U90H>o1z`lKD-^TeWIg}I=IeeZ`Fo6Q)tQtE9N|QH` zDfSr(-`cVIO-xux;OJh*b2L?&Jfp zh=}#f@QB8%h=`sGfFu-Ve?Y5NNny_sIX{r@hNMPrrGh;ioNs~ch9)WfScHY|#28+) zl(XO$7HR}1I(*oc^Xg=LSQNJC_sZ8^W;*+WT8X()UV)B5Q`khsbyd3dG>5{L4QVYgpF@ERQemy=paHvl!mj$l?;#Vrun3s+@bQ~xhVB5R!x>H;cy;IfzZghX zOE}>@<41dG1iS`SuqIEG1O8~Qn8g2+PGg3&%CfS5zl>gX(3JIi|2?`xqm)VOxt!y9 za2qI!Pv=V12vePMIyxJubbS9XF!_{|@`R^A0+&SyWEOf$Ff?sCHBYWx#n`6#qA7G- z0UI~$1r>a!+V@#Gz!k8-%YiJvD2DV;2KrE#4g-ZIWoU&>`mZYXx3SA1uVZ_$e$eL^ z2glsQ)Qx`F{9%ViKb%!d=TYa85`&Ta6-R|et{P9AsEU}?A7k30! zea%I%Jtl<;pYp9TxOcD2ckBICb9s%;A_)UZbGI&te_Jn0npJE<3M6(51vnLAIPQdE z5}H0-QqOE1+=uyznwzYN5;{WCUrPn-0nYA0e-C`x_RqE!9`zDje|!*_SFmR|@4%`o zcgZ5-aAx!Z3yVbo)XRh;fY_ULzdypH!Ny2A;$j4V#3$HFtV9MMU=1EH6(1cn_6Xh% z35e4GzzKgRo&Xmy5SifwE^O97q(sjRYknTCPQ{qU^vUj&=eRi}Bo(VzEC9mt;+cD+ zFzcM}@}&_7*arly+Zvr?=uQtyinbr5p#_7|MJRUXq02L-*hda+?2aqxC47Cy-UU?&$b7=_`UQ1$4V%k*5Paa7r}VG%4f?y6o0@^fSIam?_-Fq8fj0TcFpJX`Cs$%zMn${^}mzfQ_rQP-#}jP6Ks>tvFX|N zs6RRUwOV+4ya&X=+VL8_ImAVfw4&YzW^;va!#i+Aqa8+}dZ zbA4_^p`i^m*WjCdl#sTYr{#QBh~VMGFCM2t*Ty|a#Rag2t$1$af$GzOq7G}CD##3-alThHCvm% z83}EX5g1}pf}A_U4-3Hj7r(E}70BWUMZq-z4EB#d^o!_RiQBRAwrQzB!4OQu)KLHV zr#6HZ4tg*<9Gsnkq3VF;=ekG4gnMoO10af7{|7(-{Yp|FR=kiY2rWq^0XU#B(bC>0 zFv?m#Mc|Md&|%sy_ZyPiu2$vlr!ML;w@I6xISS7j{#NOHjS*M8bPdfA-{0 zIFZs_Zi0o@(7J8eYW8Pes#%e;;uM{Mb35U=;s%xVH>3wt#rAE4j3}z~QFt#p#u8q5s#CqVdPFP*Gx>s5 zJfwCg{k419Yq>OVz3qMRRF*d{q!d42wKlbAjnEF4d z_i~?|N8B>8UjcB*RmXs8P*WpOP>?$ZJ~yz|oXh$D{Xz1q^+w>GleA;?hJ%=JOc9Y1 z^&mc0J5mHZKoA}kN;%pUdsoTwn*@y@i~|iWeRTPk+*<8GJSOGifQIA37PDAfo$g16 zU-I_jqtLEIO+}z+X7GbDah!>gd#*}eEaH;dTnR%gK2#65n8eqeKhs~~iF?RIY3@l$ z#`E3*i-iRwb$M_r9lXW~!1>MJ_ii<<%Z|@z6@0H^1j5r!1WXpyT7skNXQIfKQln0C z@r0iL+$p#pt<_E1rpeHd-rX9nr+8*ag$|F`J2c>W(ju`ule^~=x(uGC!Gn7QJ>Xye zKXx%u-_t)m_;QtzC%fEr4`qJ#qHj2OFex-F0p#QrkXXTQ>(JDsX!*tTQg^@&C0LEY zX5SL0Zq)InoMT3SjT0ClBNHCGHWfUQVSV|(5&Zk98?WmX6#Oq%X$R+Tld6rhuNIV+ zy*}u+ofI;yk2Ej%U#$+wHVi{J*yesuduv?=abl4fm~q1ZDozyvOvPmc`Oe0B5UQa9 zH9t{gNPT2+W@UhOT5tt_1nZ&k!dRUxC=}w>Ou3}R;)zGjYpsZskVI8X?fa`*NaBhG z_3bH?8)~o|X{qq5?dUMj+csnIhMwDr4(u>0DBR0or7#f{8kU0P_r&#fH}Lj1JgbeL zUX;?UF2D0YU5nOT?csf+*&YzCp|fI^Uz(_YtH|=Z zk0Nz7F0|Rp010|hHk?EKVG>ix{9;~No0y0N(}++{F&jgYaJ@ZwXNb93)c z5o2lR!ObZ%dRuGDu_k_J0wVXnmIslHhT7^PksMKzdo6pun?%``zPc& z`!U~1($9xTu^G}jEu8Gq130B|6BTrz{43)|NhA>xp(4-7UhRxwr_En~e)PkMrYK^= zcwI!hn(H-CYri7+YNDV7X=nEicm@wO0^S;T*PH47Pus0>fs`5KwD<@2-H3KUZ-4LgkX+zl6ws~W zz+|PJ4~8xzD%ohyq*D#wi__0OUElPqdfd($#=;w3T>CY@lw>Lq@iVZ{-YCOL;6Ek| z9r2Ij818ost=du*E4n%a$~^WvW4|im)Pyobjk)N%*xh9c zfm=<_1#8xkd}%sAjxBLiVA9RE+q^-7hua|nc3kkiyjoLedec8Y-OKceoK?y1vd1ht zE=NTts{c#Y*2oZE1OUmG*XD0%e-+JPy3aXx^R*s8BmwTLO!c3))q{i&W?SBU3+ND< z?9IJmo+VY-$+}Ey!_je0cyXUOdtMcCnmITbdM>oOjjr}SUkf)ni2e&k#L5H9k@Azb8t(VM?P`)|CK51e4!~eb*M@ zM66pNlA|m8LmT5Gx^a z`3S zy&jo42{2(!g>2bM)2(q-L|XlX@#J2{e9iT z0(FC05p-{qr|MU2MJ{cCYFvwAcdjy^wyG@Yc|h@>$TPZ1f^b}_w5VePTs#ZU?`s8> z>X{jul#~&hP@59=E z3g@K{WN)rrvjg`9)@&~MommEhZvH05DgiwNEBwKtF;p6A!VX^g<{p%dA6(#}DqeJ` z%xT_F+icD6zmKbS{?7HFK{!&g*s8-InpWbE0|Y4osD&P2wf_qj`-~pL2FQGecaJT z1Spu0gRjQs$_EBl`;NAzOueTL6aa&fIssQJJX|rRGv?7Wz{+5^y9JS8c?7?YL?t2L znfgU49+S|b{MPPYaPG+%Z>?w1^WQBK86$;QII1s@lXDUD&{LR;8SADzL8Z#Y@5hN0 z_mCS?2#-vc_NwSMJbR*}p~`v}zjs~)e3FtvlF-BcflBy*?+Faf>^IRCV-4i(KN0*gC zAF&(RvFCnAK+(>9N)$k#nv`Cpmxuc3oPe|qPi4ES57bZ1#!F;mcd*d z&^qp)s<1X05=R)N(9p4OjsUe`ySnCxf)y2iYQv{W?!NXFo>}$tyOc7yXiqDexDv@# zP?%u>xR#xRKZrtz{|1PR+uNbS_LytA{ZfZ7{wkK_VNbaeK?l(0`hN)_E-YEq!?8tM zgJeC;%w>$#IU6GI4f0it(j8Tn^sg*4{A2Hi=V(zCcqJQyQ}a3`H=w9Vy@_9hP?+uz zqmG%#bJ*-6ReD;6?!wj8bb6cb#kbpov+_MjpQlh3K2@jnBDGIuBFQDIQ7$G=atR5f zfT(?fPficaJcg71c#fLKTu~8l^O{nyLhdnxZ1Yx#(GTVyxj}cRO&d~kV!YkudGA`BkU0yI=7}~RK zsz2*H#}5M7Uq{GCcK2-I?+av5AY|HXd(ZUEuOLv1JR-2;P4Sk6F~vUc$kV+$M-8z> z9Q`%m+e_oRlOoouavk1GYp+cm~Z$oZ>;0g>oS{MGOb1FrE@@Wp2q>)Yl0} z$d4Fz>*>qI34FBf+7S3hm~)@C8b2)r?sN~-+=xA?_``3wAA-@v z;IZ=BiM0%ap2zoR>7ITmNwB+Y7T|%0ddBj?zD*Oi*uv58k#=$i9R0k;*J6?;5!@y} z&IC$^u^$^4c_r&_cjHJ5mVh&)K=gZMvTc*o)BZ2**#g*zTr|W@D?ZHur01??Cy6Pa zDac@fC?8~a>l*@V)|+j?{u`844rlbNjxqg|@=BaBzU(S0AE}7I14wy!U$vA8`XOfL zSy-}b2zWkG88F7I1(R}|IAJsQg-=x)>a1;-7v!JMIsu0fGj|$+I`yG!JPMQLF15xiWO?g4B=D2K4<0^t@0 zBBh`vslz{{EE7gRbOf3(oHGDUlDGTcN#wygsrPR{IYf@xPV!Hn40q#_?tdQMVVv1a^ge6;)n9zj*>Huz}rJc-qWtZZq0-rz}Uk z!((e^W-EP4W~TXhW{lNPj;pkKX91x~Yfo2ys7Y02x^!z z&G1lK9hPVfEm}IJrocR3O5wDzWgp;P>Da`xGcaNv_^PO17JUwSi}vGph*`oyPC%WD z;tblc8&WMyYZ85>Ka|W4&X5z+-@?1$$c*Dv7t`$K*gPjUe2JnJda8_FNMRLwf~k%quJ}P04scD?9jrth5NwD3OSf6Y}fXsMoWK{S@u51n;mij2ruvU5A3;tR?F35f39SyMhZju!*gq#r%9%98DEg-S&66K zi7i-{rlAh&r(&1j-puc|qo-H$U!qBGpK8RA;zmo-?s-Q)sq2xUI+p&iW6_z$@1mpcnsYa`{H6+HH9*byPAo3YozFv=u7j=R zQg(K1T3&g&olAx7*SHItt#lDR0Q|}ozxIaI%mhG)WrYZ5K_UxxJD|eBc<}QwC3ZAk zFjlH0b}`8u*!uug8nJ0>2P}LP_`=8!HNf@$$y%n^8>*Q*R*l zJec2@@3lI9(RoDWK`uCJPBn{sD#GB+`#2nvIr_@{8Jyo4^r#L^-h1$;oMdBk#Vu-} z;;WA@yFKNW_t?g-ql$i9yls+xVUtI!5rY)j>YjM2^F~)+Sb&lMc)qZAv~Ga(a=H) zw|%33{66=yJPn5crL=I$thp^$Am1_{T)0AESB+i!2BWlA66|8;mvF7xQqZ~gX5pHpex z@72kFGuA9Aodi{$Y_<-qNuOqaG@>9fggQ$fQ^vpQ*^8S+E$-N)V<>OSY=U!IJa%?f z1R}Ajp|P&72?(4@KvkHg@OMNUUwqK{z7v=95o@F?ckx9@qKzJ-i5^f72P!fuFXFO< zqW7)Rri<1TiYvgs?G-m0o$vM5guT-$u;kPNOLPQWLi4%>6X!~}=#UP$m=45UbCIjUZHE7yQaU9tr69AVt zv0B*b1qi>;wCcDF$x30VmmuD@$akS(0E-^jc|}*YrGFh;Efh#hdqsep?8h|UFsqhzpQ(Vq5}-;pxlVb7*mLNcPl3vkTOy_!*1S4Zd3POq~( zuG}!K6yhw#@(T*~cHFbw`x#q{`wRLF=po49CVSr95@Opy0*e=oQt8-XM}K#N_6*@0 zVpesvFs%l8q1e+5y{RGQCGa#564A4GAk)DCz#+^UTIj5WoQ;KOy&_FPdq|TtMTuKl zIz5J+~4n?EEALFL*Yt*=;_OWHG#_pRkm-dJ25mjv8z zH{PI%_|ge|$)`8!Wc2bg1%(dKeAk{BmWxGL!eRs~>6ir!WsCqq>6>~UN+WGciZZwH zbTo*#illvfnRj2tC=3vdx)g)&QK|FvxZ@f(7erYvz<3!Ry6H90Kg5j86cmtKvp^SY zSHT=-BVBd|V^2OTtZ-Mr8Vo6PJ|iD;w(I4*e_c)_mTVh-i~I-JGC}9Miq#Fd3V!-r z0_nGraU~UW?1W#8bc=}aBGXa|_D`qtrtogTPtgaw?CUlGQZT}#4>ffWev)0-FDSVSYk0%PkN*7MDg136BmtiB^bTc@nIy=JFZWbcTulkm{`cGf%tPkNrc4kl@NW|jN~ z31n2@fUWHv1^Ju8g{Er-{yqrmFjE>`d;|AlqcI=;pzncVqQyg} z1_|9Y`!d~P>)ae9kBiUE26Cz~&VNm;iq@2zVrFZT`&S%vYMJZ^O`ARbI5=hAR{!Ty zEk)RKZRqgKOP`foCMw1;nM!mjG5tmaftsl2t86m-;u&xNq+l5TBbU5dQINP z)8Btt+t!zpC0ms?9T5$FY(;UXkD{&f7KfBFK3~7n*0|Lk_UoOc5#vhLh8ne{5{0`y z>X)Tbmok5e@7Hi|{jO>FDBDAr2XQA_9S!-GW4rSGgCuOKYO{r=EILbg&XC9?h}y&1 zymDXW3u~P%we(M^Q0E)!GM>Qx0<0*I)1XFELP+9WFumHKmGzVE4a#kAH2ZgeB{A`^zGH&T^awYlWc{XKA)`C^Kd}? zx}pswc=R4`SJySW<#u(<^_m;s|9H3le%pEVk468vVOJ3~laxt(>g}7ePcVbvi+TJH zZHM!DJ`1J9Z;9i=pZD<}PogrVUriRwFj|yKRFvKPt3EBY0*^UItyYgT`_7Jf9cgM} zG_h>Q@JXg0k&+WPfp%71dl33Bs4W?HLbhj|-oV{bHypzbMA;f6t%lI6`^|6zuvsw@ z=4*+12dw?YdX9z$#8e6l?2WOWWTPwj;8LFvi$!>rn3?39Op1^92gkRZf8W2?m0>LO z`9hkHuQXH>)LU@ZC7-7!9Gs9fe`)T&P3+~FmU>?jWxCsB_N?XjC&7ZFG~ON^WDu!QYhSy9%aHD;$Lu&s7+I*dPdj# z>YVt5L=~`Si;2mS^-*u%$Qr_>jk)q|#3)=u2|G@f8#O6M<+AQ7v4jUm8DO?}ljOXt z-t8qHKggd7%#g4ls@muFV#Br7?X+6pqub6xb+oyf8>uGD_+L39MPp zcAjZFbq$-?YjLU{D4nOw-(e_@lC=D2sYGnzCwrLw2?KPang&e$4~jW}06Oe>#L_gZ0vQ0AW6xRn%#AUH!W-#PACL~uxZ(@4g2U~0E+dWOqyZs; zAHwD7b+^f|Jd-Q3V&}zPneGT#(V@$5maHc%(w}0L>N4oB7l=g_RP66l=V+jOZe>uT zzgb_Thf%a!m?Ekg{ZHX@fS4BH==I!jM!jrfk^WoM3beOKypMe>=JH0{QW2&BE!avQ zn@h|b?4CS1+1S0U$Q89{(gc`2-qG zbOdRhpOLm*`H%mT!3cWN#@VXpx$RxBXp=SRCI6QX%VDz@`RAZ)!}~=19B9IDd9MTF zh}2k{Zja=om+!Z@-&`+bzS<&obp5g-`33jAuwjGAtJ;8qTH-d%G`a}#<_Z^pl?^PJ zV?6wN_i| z9rVQyhs{Qcmb^JJc;)~^*wZ==#glGlZ)~~4ei;)+g(=6}s4A5_6;^sVwYNI}tr{mK zV32#z|6V`yvs3_J1UT6n2PGKVP4<>U=R=G>zquk3Br`B4GLV_8D|zNYYa~J%7-CH_|jqtZpaps*y2!{l&+r!HrqspDzN|~Jq4~=@P&m5y_k+pfmm1y-#U<|t9jN8R14T>}8!o8PNrWszh}ZA@ym>i= z%Nn={3Et76qI(XmTjCqXLh2obtIw>2srKDtgBJl7p*{toIWK+?DF4)+9}p@b-*UxE z+vbd4EV`_HMZL}E%2#cAvfifC1+A(e={fD&yr?~y7#y5DHOIHUr^}sU`8iAdsLyL+ zSa)&_yppG}crkL5dHw`HQ}+XzK;6=&zT@WH5c@z>9MG*;@JN$M5(a3voPUcq0yOR{ z8%EQN<*Y0;@9QLWQ=VtWo$i2E?MFyW%u3pJVV1gOUxRA#LTEy$3LFSCZbRrSmVpD)U0P>8RcC3I3gpsIdBD$uPlZd)^Lh>pOyh=x+bijbSYiK}Ped_H)g zd035Fcl<=VgrY45{yT%|f}RNDSkN(69_vx%dKh}v5|X(0&EUThWXGR~F;nS3T)b`W z@u3}=4p8$-q7w$Q4VIHx&%Xd5RpFUeQ7@=W5~(4?u$p}`&}?uuxxs5apm~{^i9Aj)uBoOXC=sKg=q5!j(&!w@wZguR|PLV zSy0YT0BdNuZa%sWz4w^EKym)OHf{;W4${TRIeB8ZCk0Dt#d4xH+e=qr3QC4l&pc>M z9U;PwrAL(~uLXP>Ad_i6QeHpvbM*HQygl8x{&TLr_G|leW8^?t*K=_`ciq#~K6mSs z?RGnM`#um$s!^}Mibs9htLn+Eu((@@5ylL;T5a{O{e6Eb*BfRnprJP84|{Vl-nIlV zzj;7T6}lV(cx77FTJ3#*Z#+={8D`A;SB)CB*{&=oNx{tixjVjx@XDP5;-cvH|A~w8 z-&eQ#nHJlw;HOB!%=n(m!QS7qH#RV`+zA?f^Y0Lp@wyW$uiR4)Gtw&a@2TN?8B&OZB0>t*E`*A8J{*_4T4utVVANxx)imH-G=M(K#sy0m`S$dNqF09ws z5*TY03tCE{2xY+7!5d)S#=`t=O*J|_v9{9jtU`S_&3cqwZ+pZ14c`ME2n8wxfQ zBHHh?tLYn?p)t8o2pRdR`_dS&ZiRLq{ZW3mrQ_&-$*&SF^J-u!@RHJyUB>Dgif;Q1 z8h%I(h~6kRzc}1CbV`SsxW8zz(Z?CytGlu2C5g?DB6_#po40_qL&8E zT)i)?<>0?>sq!tLB7O82@3Ua}T*ByF=<)H--Z}^2q6S<-0uZ3%(K&zO+roCYWu97v zN5>B^9s-$dCM5q2hUxhjLMxZ#+5d;wO3)Cd#U#!##S`f!J2gLnI&0_SLZO|wP!aVm z<+km&p(@&RsJepIh~iUiNzpa&{h4>}D0jo!g+V@n5q%BqWVQBw-7mkv7-4JJoF3??Z9)tL(KziRp?fgayZWw?0F9XvGoN@9aeYwt<}3k!oTA?V1|G5G2vK0Ao;q#5vLcnd_`r|($Yxx1>d7O! zr4#%X_w_p;NZ93qX+XHgfU!*B4*rrYC*PcUjRMMXZ~bPLW_0!_p1ORL>qIWn(2 zeWILGTb4JxIXQ8=EpG7O-SzZ?jROz&?3YIzDwTuN5{ljd!>x$1z`U6 z-yB}*(fH8tLLYN(0-wce4TccAPmi>;p z8%=p@&qx+02B4buu4MiW#*09Lwe%S-F<^zUr>V*)Q!)Bc0yGUZuL3b^Ih|eME5uf3+ORuv5 zd#sLukeV+Da`tT{1aXB!@5dzqN{TXB0RHXNP-i3D%pcnc?QVCY!vMj zmUF$WD-&o`|6RFKPvdpXY*W9toJ{w^nPAhox zRJggqV3!PC9B#g_SuLk0IkQ)kj35>vxm)w|Ej-B2?mZCeQ9K`27$6NttX&LFmb*N< z)O;L`ZT|6ro3(MjWf2^Zl_dEI!fml#uK0TiYakCr&8>hCgb_&kLxUT4MKz?@?%ILigF1GxPAz zanhfJFV!YbemS{o&DEnd<&?8}T`-PgYVMI9_!L)pP<@=bO} zs*?|l_Jw}Thm;|5cqa$TC+5mCoz{L$4sJ4}dAa0zOl|U8__p_MZfg=M#D3)ejkIk; zeiUjW>4`aCWHGvlSQzqsmTL^y%H1Fq6v(N=yi|zXpNenEN;FGsSvCg;HhgD|`(ZC4 zI^lQ4e{VA%A%X=0$l$4EE;^>xUxYI&e6noPb*97%?z4EAl4zgtW|v8NWu7uo@#qs* z1$j)EK)gz96d2QTMS>X3gap3($n#=ul58QP)aKiQ$>;^*$LFnpXWqY=KFj~~PSPop z{fdm2B&<*$1K`709;d=sXlNgwT=(;kQJMgy`O;w@Et4joHy`y@-|>DOM*K7XsA^Oj zV1GR}EdUQ;^g+8Xszzrl+xtE=19>Ch0|+RF>frf>+>eDMD%MuJU!tmn!HXw$K%cXb z7O7FeyOzhhG|Km+R_jN|;7KNeV~lo$Xl4;FW>PleFxtkK#mS7{pYVuNo9{pOjwvF3-GuyQ=j*S*o2+?>x_)kYZob6Qq=PQ>+5 zb7y`!`z}Zu!zn3v&Rdz7&9S75aoc)(ZaIzb`%L)GnblH~C$CX?2r3=vc5d4B>#c#q z_pTb-2Wk<(-Nnc;I>Iux!{c`F3#Sct-xu?YyxbQaIk3H)aJueU%wf=a(5q> zOL(bb@gn#$F#+6Bag+a)UDmr-^{-ZY*WNC$XmNm?=I30v=4#YSJymk)Y{yF}Vx?F~ zVJ>&W3+Wrzy?a&0cQ|gmNHBVyD)*)jdVhL>6uad*4?n=iI?M05?3d(t6e1m|X9?xP zUA)joZ3}@oC4Ye2~Cyb zc@qcNdA8<0KEyBnXe3dm)l08IL%CA-b#epf(6Fxs<&ppuBMc=HR&UYzqn}`Od!)S2 z=&qd=0pB%6%I3yXEg9adBeTAuNaj%hQztfS}z-9=uGSr)Y0H!q-r%y&uUYaUn z0j7FT=YgHv>LO3Oa`8@fKH_aHa})mJPS;W(U+p1 z9DkMG3c($Y-U|PK%^@L2!0xV z=jck@{J_YT&+fNWf8kibrP69u=YQY1xB3IB)E=@upP5&9&26sw=k#K+&O%PQ;q7tT z;0P~ZrE`( zeG|+6A$joa8#ZzdFr0exmP7Z=c=YL__jb2Xk(J-oq|ZKGbiH-I_BUHT8!zz$5{61K zdeQTT0wdpc-y&j6#QneL7nGbJ+B2`_YlcVwUOXQD=i zgM)my!00^ikaxTE(F?L{m$`>4ZJ`nlPr?^pn<=z%`pG7wUED-ne^p&86UPD~rgJV6 zi=rl&;U^NQf!!V#f<9=jAxV#zJm<~q{7sN!m5;msm%oRvj`#$p}V^kP#OdQX{4n?LXbu}JZs$lbIx_n2fxha z-Xe^@S?hhD=e{)+;}Un+5Fx{3^p~tHL7JYJg;V`JNjH|ok!mc}OjU0HV-}D`vrv-q zC=wnE2^wl(5Ov%O4s~DB<(q!U&mX08!{hud?)hd7l%zGY1S+%_6=zBD4yA4-J&q}0 zp7bBNku~wVCnM2fLn>{vhkpqMJ-CE$#xSRjL%f_cPE=ll=@^Q^Y3?GuJ^FRSZ~?#i+_iv#{5*c-$J$FvSDN zqW??A1cNUJ@rc82D-012@uvvkA`Zp`-7g3HAKRbH7C=)aaI_5x`S~x=Z+OOjv6#%D z7$4{CLc;;P-&hX>)rhEo!{KX{V47dQ&k(#>wMa6WDI8~5aY>zl>2@W98eN{bplRbSW}3$^HSGK>MgYz$MEEXE2_!Hb?&~o&AI9NgdW|;oUFd|#rOREPI{=bKD8?9 z-#NeY;bzdyabbDtx4+`-zu)A$F#3K2I-5maILDNLWvnFYFWqx|E;~h2C`ejZCB{u> zjb6Y9qvc*3fY#$Eu0j_PY$ab zP(VngKN@{B@YcZQ;Pwo;oV*>O$l0jw(7L8Ak9(zb(o(3>eDop2wiFAl3riQVrjAM> zKNc{Z^Rte;BbkSw8ev*`FYnlr8U+?MeF=-XLK7hb@3Ar{_jP+rx0Q;M{q+XJ?m1^8 zs+!I2OnJhd^|ReiKhxHMis4>tqaD< zB>p@b!?e`Kv|D|P34eX>ecb_KR)D%eymdvByvL#|yZ%`^rAMM6Itt~X2!>(Xpn?%>L_OL4Jtl3*z8bBlHRd3Odm~FB+Nc~q zl*z{W@T!?L`}?-)QR)2z&Z!rzzb_!QuwZTOU@m_nRKC`4@x`X$kaR7KVZyKwZA8+$ zq>QX>kWtfFKXt5rHfmhybWnZdNTd<=;uy23tSZUvcgyISb*OF_56ryFd2M<79s&;FN#;VdY!16qx9V;I=v=ckjjf0(q36(gR5p zN9jJ5*a8Y0R`1^wn^j`ODK;4FjDV6tnOB6^>K?@GFXxAHUZ0HaXSweWt7}NGn3tjI zzEgda=R0&t35*p{A&04U#MtP$W4~G6-_sYgU+@yc#okgrZEpN#uP=|*&E`QOck$s& zlv4E5H_V6y-KshqJo^ZK<3}373*tY-vzA{teVe6T4!F7u6!rb-JlcLimqUIx-yu^T zDe`rb@R3I%J->R3Zg1UZXGolvM>z-iPZTX@(G?IyZY$n5T zs`ecZ(gc8#(2GgQeBWO0s~3D0Q%RITt9Ohli-D9XwnU?$mePINFe+a}5FwR#VNtKT z0_WSsy8+BFuo+jX_*BR#lwoFRFYE@B|4LmA0C#4V(j#}9^I+C7Q^$K3nA3iH0D2nS z+4ZmgL>}ba4vM_o5o2Frk{9xoj?gR6z{{j#R7KgHc21(8*upPTT3CK15l zgyBcb>4zjHYn$2=TIr;BJ3Y^KK-dz1rH2>nttdGC>A}7`jwRrM>$>(}OYTO_m&t+} z=-MWaRcPXy5RjVx)78a4+GrmY34NwoPGL_Jr>v^_uB@AjX^lnQI#doBwkL9X!pkwQ z${=D$Bqu`%?+&t*dwWBmJx*L3(+%G>b^i%rL~ZhM>~J_ z{9lXi54MA_y!8zC&ga;(D6*G8-}7+M10-L0gOr^5nZm@|oagN$aIv@da>E@fqS&P; z{f$*Kuk+o7;qUR$#&yQUo?7K&o)3w;uggnERarG&gZ>#l;dECARTV?2d?Kckl%F%&I3E$+mp(@*| zOKl!D#lzm-K6c<0uj?k)x9c5?-p5d`5QM3x{BWmU4Yk4OpD{IRYn4?VpGrQOZD>k) zWWIUU@(4 z$Acy-YEWaw(2HHTNyvR{FC#*NG@q8=ca_bX7ASu}ZHmoK(?&=hworTs%yFcJ_w)J+ zqYqmOGgkUv6}Uk{G5~XndNf8=8?!@YeMRLJ0U(KpVO+)zQupLQ9G705nQSh{w#MV2 z$=unCIv;rc;LEM^$C20-=dBEM-RK#d$1_tSezk=zcO>2Lo`* z&j$K4HB~j9o}WL@Jbszc!bAV5nIU09^YBQ=SrmR*I`!$@`}ba3wi`OFbQFDqqs~#P zXDA&iDxB)K7x5uxc9e)IeErK!ci)#bBEP@Yw*-(7Y*a6_K1n4{yFm*`v6W{$zpR#n zNds?=$_w8r6TtF9#e;vvp&VF873Fdz85@i({Nb<7Ma`6n+xPnKU2EMt z>%5azY|hvh;(NWprN!(WgA?R@W4(h`S`Sn+gYB+cae^krza9`vUF7*K@*w9f|I!Uh zbJJ_QF$VMs!d|}u^kFiz56LYDytJl0Gij~O3&!$)*oy2l&vMcfa>Co_IU~K^Z{=(+ zh(5W(?LyE|x_x2x5r#40s$K4jx0cxVv0?B1RJhOedR^k)It!PdlU|N7-_~|)OG?2d`!B&LSMR~~&1*Z5B6pV^` z$3QUn&v(`Pl3|Ym*WnX6PDneW91N}r1I^>~*u>oQSd7l{MM~s64Uh^;jY!;vv3tvM z(CF*}O$l}NTHJ+IE%Tdi@P%Nk1(bM;&=9`Dj159$?=LG?sQ8YUw>s5i%I$d8f}X680Q8giEbHM2 zI@TjgbMtq(vW~wchb*L_Bsk;B^U8;DLw_1MQ=1%T>tGCQIOFdPU$4idJ=Uvb@7|d3 z9gw6h93l-fs?6sme>9|Jmyf`RgShEQi+cO$PBWT&CPzt<1Nt^KNmmTOC-|7`oQYZC zc+%qfF6*#E6B9!OIUS{Yif6rjVyyUOYr|^Zp@$`st|!e(zP$tWCTw4zGe)XdVlXy-x&oGk3Gm$g=eJUR-8G(R*3PzIzT+VSrW}8z1BX zj5pfo%)Pkx(;v8jy$A~@(yC%_D122e_-N>=Z~tZyGN|yMgO2az0D3&=j6KL=p`xWk zJeE6TdXek??S6+!B<i^q$Kg=&k*#A>X483BTriDIScaUi`cXX0U^z?nG}UdaQp+#z^F1~k9Wx2|zq8iZw`UXA z-`s52Gs^$|Am80;D0^EVEB(kBGt9Vc%#lNw?C%Y}!C9nZOoTc$BXVLIXNrzD_n_w( z&Y#>|Hjq>8?Br0j^rJ~A;Ap@;)2CL%c=Vo-?-bFKNuAyUP21TynfIS+K4FB(=pd@> zmd1Jn-H$5PEGDO)b3Ij7J@@FWw2uSvdeA}i*4CRMS1~0>`(?#tpd)+!0vOkNMjw)3 zlvUuUo~b#ETf3SNmN>z1u02KptzS?a0iPBs2RJqzS64qp0>j__ zVwJibpB-&K{B;Y?wtweG)W^=g2N@VMaJZ!gQ z>RxEUN6R&{w`wfvABh*OQ)i)uQJ95FhBQM%W_k$-DzqNUW=CG|<-uV_EjJd0P0#Kn zWbHR)nk=}Oq*Rl?*FlnjwbxkJ z{#EDTsMvryT>?g#Jny(?3!}(XETEHs1Zm6lz}T($-*5M2h-&g@mKMBy?&Ee*lTwzs zF=xo{qSvrCq6DYn_FcR_gW6s+__+HW*e8oGT}F@mahIHz8WvB_-lrWBziFTq-2PMe zV29OJ|2EN0{ifRsUz?qy&&uH2Tk^LbTThgo%Cp~^#9g(>NV92RlwH>=5Uacp`H|YS z|4iFZmRWHD6;&9s&_tZM)tIC&XL2%zt@QHF5wNc?$~N902JDFq3%^AKgotDH+w(*B zsvF|*rLA!s-isb_q9U^x*wK$4BN>cUe((L3AVI*>&59Ge}o2b zV_>n1plR>1#{H7A`^Cd!dogSO?>esMXv-yb&$8GnJ%)0vuzf~Oy0M+CaNnbQ9e+jQ z3?pLZi}SMqb@(tUh*9NkHk7=}1K9Kq`|X>i7{<7dTkUI~~N= zBv_V18IUE8$;VErHX%O*$=KfLa=R9Y;=#EY;vb_%{g@-dCb5SRc!gS4kHxt2Bl1~ zd)MZK2lkLiYFR3of*3A$E)Z3Z|42oYUdOuYk`h*5Ja=?lB?fwB3%ZqJ5JS z_Sk;Y#GCp-OI{b$*n!_w;6>kK?0^B$Rj>XYROi`pRsxJpofPuIaW2`>m$I^1__OuU zmMQK@UBYqTL*ecl!=HB1QH!hD?k0Ew-~;UN!FfibP)aACFQf}MzX0MeBc#6mVl3jT zi*YV(+_n*4$wTnF`i>Qt;sQ(sQeuG&9UQLQ zUQ+)S`5f}Tmo4J?{OpopPPLjicm=d5Gkb5~(;}oEbylQf!b^@<1<=A$=)@xXz-sJj z0;GJ6ccz?;nm_Z;N}rfVfsg^1@q$d<@T}u!k$Xi1yzNO%KT0L}y4@p#AMkRt=j9?> zsJiFx7%JdWf|c&hWZ+yB90H`4;GA?;unkAlDf|D%zYOWrVB}nk1wrT``mMsK%TO{m zpO$?ADH_r_JZ6M21(~G+dah-$FZPgGGQn-47zQw)z`1q0o|FeYwVh3rwo#f1?u2nL zV3cit3Hm7!l&9%VVj~lU88A012$Q;PfG2nBvQ?}(86M<;~wQi zBU+@Nw?E_ELB;?oDyUCX(X!$c{|`#r&3v#IY@_xj_*7WXJQN_C8;?+OgSyQ;x6nVD%em3jF%#zF)< zdYgp+)ix9@s!#EG(ZE z=fh(Jp%&%CQC-9%mHwb-QaeLZ(UHppnU;Osg1uW_Y4A0#3Ozz)S=bIm7V9`PIH3U3 z@w2t2#}*4J8}>F^-~Q6}?uR-zcju+qAB{If-n&EJ-(yftV4_%>;d&{y^Kn6;7BC~q zuf{wXqF+5 zCPiR`WD*+nd>~P(g9=Q&yu|Gd$b5=4)y^3iYCGdP6)!ce=&#-`J1X5p)G@ucTt1oKfb2mQ# zO2OcC=BCh`l#oWZYo<^VO-~Cbs>J|O`rA#RD+6lVl>xZu_Cqk4??E7ioMgg3*$VDR z_^q!s^Qh6$TR@C~(R|2QXER5|QZo;~aP?kP;uP$YTo*=v86OV6v3Mv151Mqtln+&@ zqGdAR;aAwrQg;=48MC8+}l9nWnheJ%VfY0j3@o!OGRA~W^D)n)*k!#A^P#ahy^LYa941*&< z|Ky+OEidl@%sU2sLiMze$pqa-A~yC#pjJ7ApLXLsb47s7QhG{Y5lhJEL9L&82Ym~Y zrC)osFo3@{!dvO+fKJ=nrn@#Nw|i-lPj+hFAOMb($sr3epLW0Q(vgQ{-$v|~-H!sh zRGiZfPC?Shylnjdw|apK$qWD0mLab4R5)@RY*>5}$N}>r)@|XKzt^{ZS^`EznlSzS zC(<>yfDLO?b%umtq|ti{6ApPjepbTrdh{Uvu(_?yr@30D@${ zik)9EWPJCx&)-k;Yks8*;}lF&QaN~U+^|*m_1)~MBYS7dRSxG;sS0!byB6&;f8Ay&TA3=TJh zEee{e+rgm_Yim-v_KScNVXAD&GYkeO;hXa!}n@lf4Nw6a-Pw2jWTh=*|-HR;&Ule~e1# z6TayU;t$$V<1MphfE z)hg*|ex2}{&R;QjPXV+=5z9Bycc^iVM2?Q~^g~fG!;@v3k2x1TFl7bado!_Tb_YN0 zBey+q4S$<#J}&!Y`L#p`fiM=k07e<5t%@3}UqH$<9v#hznjy++vlb#k z8CuWGMmyCOZgjlNy8=ym50v$!OEi7(B*)&;`4f7Sb)?x>&yK5%bUh)=l){yGtkgV| z+R;&(>Pb|FvXbOQYWz*6hDh_q<5YBXoNqyynG3I!v$b_PMxESwh2YQr*xP~Ab^*;-rQl38LDftnOBMUw78T12LUwQnXUzrT+DIblv%R~T3S5hK` zSAXb2j{8-~;GLDvJBMr^A}{5o@V+6o_}RTSgEJ?u+G+UK^54bT2GADhH6F3Egxr|4 zMhiHhSzm15ybt9xWM8qX)rP{*>#qY!--TK_;b9v*d-=SrupF_1YJqPev_Nd|FZ4tM z`>Dxy$r%ocko+w7LB|B_(A9*LHPt==WJ$RI?L964Y{K}W6J-J@*d|+Y9OZeW=#OWD zCK>o4DQIt2=4q6k{UK9~4+{Es5Ub3JqkEYKSlNBU5LG@nc>_w>2t<`xM$P+|Sn}8x zx3ar%C22MSj50%^1Z9WRXG3DJ@UTpNDF!Gqc{h4|oFQDS!fdMQT6BWB)M>lkvWkve z35I)VLb{Y*22W9f*$g}WIQRigL`I(cG@zHP7_2;eea`g$i9-BA2sgQWz*$=e0O*}Q zS(1oiN*KsjBgb1*(jnB=LX<3DZ_YX|1>B52m%2XY&1t<`nl%X2tO?7vkr}(;Da&^n zcgry~AdJ^R>=hJ5_V@}A@QPsg6c=YMGjqIJpAln6N~uCG)HK%SGDQ};_4WPS@NsGMV#DeY-FI~#L6375O4;&OppP(?o69RD@7#HD{VrP{^qTL&EXATXD{pRXO|D9 zZf}$!)YeA)V_Z46``>vTWZmwwZY}$RqD{wR-`nLJu$~d(#nARpecL>CLP>j(Wi9q= z%_}}Xq#j~+M(pwOczzeHIpmgN3m^e-;na~YHRjrMteXd=+W7omJbw4enY#VMReVFn zA1a4ebZysqqytiSx8gP(J|{Pd9j}kCI-XpvP=i0P;O^b1d+b44??Iv1;_E0?+GJEz zA}T~|kkv2U5K)~^R<+Cz&N<#|;l?wAF_4|L))daq4U_A87H533DmLF-MAPn!NZKloY>^iC}rDPdufFv z0n}M)j05MMoY+ll@G3k0&ZF$8mlVHy2;^K4l@!3w3vLpgkHjx{lnOIE{Yx@}q!}qf_XlrWc%gXyPLhO$exa(A_{k94q#ysom&o@^kt#SuBkR%Zn!`X zyYW!Scp^QXP<=*Px-;X4rhvvJa9}{m44%d96q5+6 zqDmh=S5*tovPj2x3ch7A-dg(v_qen4Qz?q200eiEfg!8;A<;xx3j!YQ{Sf*?1k-Zk z!uS2S=418bL^{|^n`!;O`~ViHr$iVqkVKyz1^9WzwUx3K~yr-R=n z6VLzI&!=#wvbo;qX6`*;y6y`?z+V!KJgOHEv$D4#N9P>zLs?A(N-p$wdyOAbeAf+h zPgQxn0wOWx6G~GiM`g{510*S)t{Z5*LJXB+lsOD7ChTI4YcfCoe)y7#4E+S;-KPZ4 zm_BP*H$Q+_2VB*LAksqWxq^Qy+2$<#;n#6Fp~hfG-dSHdS?6VJo&q+zV~5S-l@sx2 zzp9$T6(lx_t@S&r7;No`A8^4J6aTa;nXGtSP`mLPI-DODD8pDlcc1RZUWO`40B`O_ zBq%+D_29%KC= z;rkO7gHmxVY3w!j<)B~)mbcje74paQ*Rcl&yVCs0KsxXbniaz^&^s{u{678~O+cCd zvS1%F+#vF9A)_TECbYl_R2^lxF+U6WFTG*gn2=;YL|{Q@n?k2%JEOg7T4e2&$o7t`c@(*KPV_4MeOg{c~1LfD67=v%Gfpi zdgp}Ci-~s2Ml*#$JN}`Oy%tkA*i`A!dgpHyod3PtetvuMv*xDeB=B0s#C3=NSB6}Q z%sIZ_A}6~DQwi0&)c380l*9)RgCx0LdS{0gj|UK$J4o%2e7kct;fj}?-CFoDBxIF2 z3LWsyDqQ8SSUQ82ao$|;5MUrR+_7)O=u|6${05o>z*n^`^5x)g#^JzpPt^wNeC#$C z&bMSCyaz_@9luLm`_;af^EcfG+>-uInE4KfVJ?NYZ;y=}9Bz>h-B7oNxEzxfswHbI zTbdrW$Z_pl^JcIir96xC!Tq0prMPlGFxtMX`TPo@p0k9XZI%96H{p}z_W6Vk<@UGoJ6Y|!X*%)*U#f;p9^Lsl=3c#v`r z?cXl(?l{C+dWl5a#b^ygpzA_}F}t)^>F~^W+hKWb(Qx~}{%_WM0{;XyV6ouv{FVHW z4Vyd}#V*NnCIyp%a5|rda?y6>GnpnK|HN?Pnb~J4sn!IO`Pq6jJpS+3{einBytmwN z)dsDPnKv{pAi#}L_9?Tl2_x#4C;OX=RUQ2J4NGZoojb>j`n3e+YPN0@556KF{rh;t zW5C#3=2Dm%@PHho>ko5Ti6nmEFp#yAB%E2mMgoq)PnPcv$65lt?z}qewF75TmdK$t zKE~_o%>kJzun$3aaB*tGV)2B(w+CM5t9z~gGmeeb z(5PN$+<$t&GGF3M?7^S5s^r}umjZM%OLg<2kwuEA%%9DA6wCe!f^;7*hTRzbXJ`Jn z3lm9$<^V=zj8!TfgmpGcKXXW-Dvy?AsBFh%!oN~LRXD@8{Q76J#cw83>fi?k7$$Bw z{>$s1zsnrvjIKgAfZ&+-MZCKlk5A@SI%l;@A2zmr5(>~x@2ch)FDpcD4k!J7DRQLi zV&m&ItP!xMLJqQ~-r#dZD|{J-1a2BF=4~hu5*xb+drf3JyFtL4t&h`})obe;mK$qq z8Skvt%8S|p2*!>`tv=!5Bd7&w%aXhg+0@nTEkmkDob^trm-lVxuDieWZnNETN_-F^ zD`cVZlP3w^;qY(UH1Dmu{%w#4b4<;kUSiDi?_Xfxli-(*q1bpEofCve4f&pLM@|(l z$b&Q$e<+`e{O@{@bab1RS^Z4^Rgc6dQ^YAAl9n8-W|&mzK2YAJEHZ0`^p#rFW+d~6 z19Or@7=4|gYTckuE%*t{~pb6Ip6+H zpua&!X&!ix^ChmPOX%H^5*>}D?a4~5HNSrc2^&_wx1;pj;;$k*g0!-Lp+pD4@(*9o z(Z@ldpo+#@EOJ3teskd}Kpcv%UB(VqDWk0V{EITP^!K^eL57XX1uc(ZefFM%by{ED z?RQF77iZ6l4{m=TU9^4p+m*RAw$7Ul5(zjzMC|<1NLN=}qvJ*4MYi<=10z?P?i)W7 zgl?9HwC7EiTlW*+<2L6hdd4VXpXT-(%9l}p(F5w%_1$k${>PnC*|$^9BLRbh7bJ=8 z0Y~o?JN};g#El0lvHbKBmCA*Wx~=(SlZBDu!Kp`2zAzz<<{!zv57_l>L5A?cu;k|* zeg|6yzVh^FdXixxf?AEN9rdIgB?S6`^p7;VgZ|xB5EU{K{!7X5CU@cgocRQBb~pVywRT@QX;)VtBrNiJY! z>L>w9r*J|nijSbV#qt|6Le&xg4C+?a!RO~(eA3TVZdNS0ON?BrLRbab_&51g6v>8U z2nWEJ!NS@}ZNu_`WpeSIjtg1>?$-m&zm;^fZ9dvHkz>-tkJ#9!VlUSY@D@}tF!BmX z3$x;rQmp$N;+h{^COxAmoY#gWSEEy}0qbUX7`LJ>JAc2522#ShUY4j65O z$}2V2M2T`b?Or;i{z(n)cVG|e6}=-X@gRz17oU<+F^oUvz|&vOFLBH_t^IwP2Tq!$ zRE0_wF~Ld;z-N=!L+11v2n2Nql`A>ey`g2?i7`zI>kUj&te`9p827xD-}~jA%HKd7 z$qj~#utCGR)-QWg+Vut8E%-0P&h;q(D5OKi)wk1`l7suD`q3X4gz5eBpc&dfSEho< z*^FyKLIT3VLlbj*{{ZJB2Q#s5Q6g_=T+Z1rGE*`wDc<4#*Zm-Pl8iyqZ(v&5;I`{q zu=jS@GP6AKyPHaEj84!w9L%YRCr0Hm9d+)kNcZW8J-Vf zV>8)GQ)S`BW68)gKa+m5>d>JM1U^q8U20=&nG%Q?!rJk#EH-)@KgkK-0y**r$gP`Y zk?C7No+cP9OneH|Qi7Qh4}N)L>$fU<+~VM1ZUcRcJ_Wgwc3!KliRz4q$Y*`$-36+S z*BB{bBLIPLv!0dnc*d~vXBda+*T!8lLaK|x5==?-$c5hSQ7GtdXd{HxG5U>AcoROw zpHPjHco+2+sL}A~yj*z-U7VGaZ1(^AIy(!E{)}IG`jY@LJEtt&s14BL|lGw&wpeB2w zOVlx#@nLI=lf94WBebeIRW?DS>i}cuX2|9ru&$r$S-VBh&M|jl=<`oKuvNMbP$9;3 z*@QJPB~5Hz?2On7)FxC`g3+~|zf%mn+22rp!Dfg}`eshPNxHT~t>(#Pg9unO!%Vnb zwYVf-pI)ES2cF~n3LSArcrE)MC-I8dc}NN3`CpjCKd^T<(fEuMWtEBhvdoylhXk z?8m#|iRL(6w$>(ms|=$`$CN!WCG8l@B$jIXH|NbZo`2f$@soGlUf6idr>woK)9tx> zowR+yL~^cFy@?R!oT=)+ehneuaBZg>FDOVLcQlXvt~bQFnG>AA;T9GzY?s2<8fu#* zO>Pfa_Lfe_-Y$@quafz&UGikYUIs=CRW~|Xkw#CFR`7i~WKpy)_df1Py6`rqVdD52 zR7tnDEG3QV^rPUNm+cl;f-1$hHnXlR|8n3cSkuGi(jKwcSlf=9xLVtV-)96~S3Ps? zw6X%^OOUk7?MRwJejU9C+>X%Mqg`~v8G865W6@41TV2BI$OQ5z>rLEtre}WgWd^9tw0ww?%@tkq@~kCJoG+LSYw3h0C}faqQ<+}1VWO?G9t+>P?n|3(h* zUn38RBox6(RAsJJ&l0(eAkZK-bU_83hTCs2j(->Pg&d}QuUQ#}fKK{(!opMl? zAoXT55$sbAq|_ICDo@5?C=Je2;F&dQRXgq`Ht*YLaW%rSy$J*P{gIL6R@6rV-WXza z**QX^uzXfLxQexc8kbKQtMaYxM4oq9jz8p86s3E6T(nbRuPh|R48?;#}M2}_pfWAoumaKhR%-s9ky{->CU#Mx` zJtQ_Nq)KD|ZBoRE*y5ZkOx@#jbEt`a_Cfn>-5G1?$ zsXvPuJAqMGUh^@I8HbupFc=7HaX_EyU?O|15e%Ie2CcTgO60*>3+U5UUKQqb5B4jL z#;KZ(eIE@03`1}-*rdQOs=C+2{rEj*fFc$Kh^gC6oZ7MxxfAP*s`1o!*Z6|*pAO<^ z?wuWZbfYb)M-vrIS_$~jO-BzvGzny0)_r`e-g@SG! zi=+w)3UC@?ecu(Ri=2LUyZcE~@eQ#p4VrhSJn?Yl!W}UU>Ao6H$m~MfFV4=-&#S*o z>e8ech}7EkSR9bW$bheLMnP5~4=0pgn?j+J&9e%EuT9C`H$CV!iA{&}ov`{k6ud^F z7}&M1)F01SH)zDZ&*JZlLstM{WO3}{?Db_AvM>f6!t8tRoSYeT8b_S#j{66^=-ILV z#U$*VV^kAABa#9)HlbOnQx>2sslaEW`EJcG%H!H;01L@UC{wpVOLCv;gV#rZ$} za2Q{6>OrLdpL`fk{tsjpL+ff_Gm0_l&P*chmj>(4i1wQ51R1R_!?_NQ)oL@jKZxWu z5-MKLmzPQ(g|SroJQAqBvKhL0M*BX#$VtoNS7#nSxvgt&(C;z5n! zNXdL)r`t3e_QeB);=$d`?o5Xy5W!~OoO+G69}OxVbX@)!{9D(LBg1&46I=v-F%wAs zb*h4z*-59<^J%Ne>e~ld)<(D7$%D^DD@wvz``;z>Q6%rsr|$J*E1-4ks=(NUG3O`UCQ07X;XT z+c@9sU5Y=KEooIe2zE&L%eM&J-wMy0sgcX4s-y{FKwO$K069;c{Ap2GwP zD|g`fvtU-Dzjgv_zOu zq6`{St4n-Z`Pc{2x!=$1g8I~h)2);&UcYW);GN=L@Wm!?xy8ms!r?rA~L=cAJ-y(0>tHH&VFNKcEiDqZ*=J_twq0f|KeF-MHl2KA8vsUMMm9UD3T!&A?DoKgnQ$-vPd>8F^5radeX;W*?Z4If6>J$`56VmJLN57ciwR5kH0T_%FNh#R8x zS9<%Ue6n3*>8B(FdAa8NaWj=Up%?LfbLI`(PQYpshf-#{7IdUwvev?daGGf$pd!TX z4ifCQ=r*%RUu)?u{q5B(fCR_vy*KkWrp>iCwI+#Bs5E^G6Na;@f?GngXu#HCaNXjD zmb(Mr3EN}a!*-)rAF#183XLl-X;taufbW-7j8jUUkGc@pcL2!mqaEbiv4pVe*E2J+ z5HOi=n6AYv)Q?%y%6P;Y-^k5X3*!K9tcG$>CXp9xZC%dq#=Eo*4Fh`f{-IyR@D zU5DNFgAK7m`UL==FO9@YD@rHPJ2}h0l3CrXI6b$@JAW??rJ_Q}*sjslN9^G&G)n`c zsV&y#&1P20!OyWxgRO5%v4Rxk@4x^?1F82dRZKc<)7REr1 zJg786l`O}i#LF9VZA;tHWf-asFtl~$Lwr2R<6R|UXQ4@n$gK9RaTr9wAfeE4TN*-d3Z zF2~`Ye6{4X2=Y0k5lOrY9_EiS{w`|9gd4OQf^8#Kevi;Kp^8!-cxo4kGDeN zwlg#McHS>U7UN-0C!(ZDKFOr-xO(K9vh99gwlo{yvLnKaDc3mGuM#^Ol5*{kgYu9U zqse1~CAvbCeqdD*6%hz@WL0^XM3B7xxbV;}Q zJ@McLKG7^?0JDm=Rlxl>;r%9xqxh+U zkw3?#U+(c$Q%&@WSVZ8Y91s!_@(U!Jf0Y!y_Xx6F=(kZB-#r)(dUi#Szzui$VIvLG z43GUidWjz`C&wGHAI&SZ&RAM-RN76cc|+y&%a5pQE;ZHMhN*?Jyj-eWXjGOc!E?zZ z6f;)#xdW{$`?lt8ha~5Z#|Dq5ZfgXBaHNm5za;yP{hADCw^9oCH9qP8qUvEU{!^Fa z^LTatr-4s$4dy%;=)iu*okq$1;yBgS+Ft}lp(+EO#oS~0!bA@gv{uBQymd8?njcs| zP5>(%Di?bH^IgqlQ{aAuJK_;#gWiF;}MjA$PeM4T{zP^nbDC4v!ZLp1c4spg|Ltc zc_B0`7N`C)`5mlmA_C;VWeSuS{7bNc>^%-!hWI_Gcc=+#b&)I7K|mfIjM);oI|FRY z*vJ*IL!AL7u%fz#z>6&@zao8n!ADSoY2#ZifH9dP8zPb&o`Lm_8gi&B_^tDhA_jiLNV<8M&<75VpwZu0YK=w1`PTL z$(!E{RbcrFpj3(vMd6m<`1}Df#Z2C;JY9V~oddK^{oGIcj$SLU%!e;CTfHqr$pKM_cof6g z#?3}fO_w|!Ynjd_-DchU2HJ{^sA$BPn?*@e)U*z%i&a|^gmoV%JbrhdY_DijgsHl} z&>_;Ltbpqa%kZf@68Y`Vn->C*mk9X0i)CWOAR))S<)Uzs)5XZmI#@m`E?~Ab+eH6d zJk5CN;%{R53Qx|0h6_@sDBCbF3_5=HG+eAA7JR9>-k;|RUi5sdT-1PRaz_AGAUZk8 zONI|1&_iM*4TYiA(!lDDRZm7T&6YJ}-qoYAVecH9EM+E(^7WLyEH&G1i4=pMMWWbI z4!&cOQ*~oBOKor#N~n1Hw0h zL0{&?b}H$zXlSw$_nDHcXhiWtHdG((cqiT`;t>+5&_li#jk@y-+M9BJw$y(|=25xn*5BD7ozVkur`7m?chc{i{F7~F(LQNbXwchT3W=E>Fm2E66rt%nW zE%>a810B?X{ea>bO0X?1HUsznOM29qBE}-@)fB)J`V!q>yj)QVUDp$yr0VgEGcLth zSZ55=(v{ocG<}MZL-_v2y-XyAQ=Zsz>lu$|{7UC}1DNzDgiLbq_p(`Fq?P)7uFU^2 z>ZC`gJw{Th_Y@u9EK7!@gD3UUTOER&5HSlBEUQ&Enr&`z6!6&`p7g0Mq5wGUZ&I8= zIV(47G%3tZSbhyC*{~GcKUH9n&LG*nHbe)I3%$+;pQ&FK( z+?D#BO{nEGF1$e6j0tAWZ?xV|+2rqC3mbsLsQ4isc$8(;{Z@j1bO^-Ylr48>x_qV6LToCFY z9c{ZE`J94-{H-dPie!{tFg;3MA8BDypZUag$Z`=5`oej2AE{-$5h8i0Yfk{P)G5a= z?ewOR8!J4)4rY|?$99fy*6-L^97EhNp^bb$!V@M~gco@(OwxOu5}Q+KF;)dR`YwKL zjDWX8{Yj2B*7+UIoFkoQwrnzeJ~nGW9G6cl)vN8~ffD}X^P&*2!l{2|+017_@?|Iu z?{=INe>`gPT~o|$Bx^LPL$%fLVd)ADSwsGY!ma(%CLFHEpk)JA-d^y%|rZ+rjh0j<50w)SwA z4%JoB6C^OP)!-e8MuBnzV0XJ_j1JYqxfJ`{Ky*1Qtj5yD3RgHSO zw8BIyBnXS7+k!AEO2ZXlwz7i9qTg6Ff|fU|5@I+uIa;IRlR^ajO+?>a_tt*%O4FM= zHN21gloFKoy3eC11=~l>VR-)fsHlKC#8=U6d3)T#RKcdcAQ=Xx0^EJBaXoVTffl*H zSvb%sn#8qWpjJFBJoC9Yt7_iuNk*+}h~h$YHH?1Q??}OhyM}l8FZVTsb_n05X5_N* zy6*2jNs4h!RFf_EznZ%*_oSj-;igiR@L;~iGzsHhL>mX zP}nD`K50o0mBAVN-}dULuV8&;WP|n>i?B0~&uBs?5xt9|qaW+Tyuu+0;1`Rj@$-p|;R9&X|)e-S{Pp?~EOS%|?aT zCd&3+sNlCGnJ7doZ%mOXlIeCClb5me)sBxR2(jBN@rS#w6mz&BZ1K?kKg^U(MWzRD zEbFT)cL6dR*%>Kn^e}!M#Ff4gLk&yZ`~6&*ir)4sV#0AP!rk`Ue7c5_ubg(~&)9B+ zfA3t8R)v16E~g+w@I#Hi`98rLBcm-x;eMcRnnk~~$yuDVcuwpMzt1l~zz(zS6VOm_ zat0JD35(wP{!R6DF=qaWHeH|!hI3-4Q34oE7q^_XJ)Y%nTn&d7xw|(%j*&NAg;=QkcTU%(j*Bh1mKwVh+(#7*; z{~O`j>i?qYE908{-nf5^F$RK+ZWtjU9a0h-A|fpa64E7I(#?p`L!_jY5b5sjM!Hc# zq!}Fo&-g#j^MW_`=j_9F-}gD^dwt_N<|sWseedNt^8Z+B;nXa)WP2@d67U3AKn<5& zj8^x@%Tcp!qBje;7c!SdRb_rDv!*=S$mxW|cfORp)841oWO&`ZTCnKVmNP* zASpI8lydcUyQ?nX{1;``%FW+N8b`xo5e7+UfFs-BlEowpG=b~wVK)?ouN?M&jY+> zJhsJzx7iy@-gjLPDNeHvkLFKX6komY;CvBrr74!p!>(WG+ZbsPuuy_Zn=?XDwt`vx zbz4yfM%^;o)@+y0DK4efW3B6}jB{5naUfqC*r7`02`!q9HZ;%a9)a#E0EX|_FmEGzldSE$|{`=#*Yt5+?E$pLg~ zVs_>Y9;+1RO^1g`qb|EZRA9~XmExFW>9Efx6psYYa_ezdUkbLg`cRKSvpb?kbMFHuJAl9ulMg2`cYgne%A-wY{oz1IQnUFDu*tG|!PrP&BYh zQYut}t`$tekP%13t^&;H)hR+Mizr!$?D}bnzUq^Ru%56)~L7ERKI~q*U%G~ z76Uh2kC?yz>B&!>YBv97`#i_72n-aq_$WFN{hYD)e9-aojzi)wFctGWDzVhTnM`_1+O={^lZM$n&k=^at zZ6`fA{+0|Cx>rEPcRCnJSxgun@KOPq&xmDxfTu|qTv*tQ>NvaxF=-?OPBm#HdWU6x zW}fp6#@!Qr8U_(sTNkPkpRf1xcCn2lOT|}$J;56%SDUB@PQ>96L*x^JY$#+FUYz}m z!{KumJtm(ktuJSXIGLg>MS~_f#tg;z^fe{xSqcg zy?B>tW6;p(S8j2uUTQ~ASG-qjFUc^)Fvv3UyUFgQPZ6Lfo8lHr1EDrw;+4!a*y{*xP2Sfxy5yHi-NUBV`fh5GONK{!*?| z${7=vs<@D&!)IFA3NK9*m(h}SjI)h&)hYAt8|U5ABRlUu#n?8@)n9Z%{qPD8`fF?; zrWynq1wj?$lCN~2-9=Kg9qt~OG%cutm<*Nds2rPLlE(C7&-ztion2}X!PF$M1VIl-!34wIG-__h0u`%c2G(=vL z3uVBfk%8PbyW=b_BFJOpdsY6ksC*{5NhKI>n~Q|CJwt}1Bd*^@x=w1lRXjqeV0G!@C@ak z8T4|Ag)xMM4SF-VeYU-QT3%Dt)Ml6{k*v;v8$IVj%cA5=qa_vr1jrL;td1*Qvd8zU z7;F88l7Mx1Z0|VPOdBUs6ddkuDK(*TyP9yC)Bx``g5f#JQA*3zwkIJFAv08-a+;h! z3E{#9y)fwo34yFKN)*c$Idz>D(Cp`ON95B~f_6MHGZ~4CRqY88w4dkNaX9A)QP2k*PYr6@Ha9g*E-bCKG|n#gO&I1iR@POnvwdW} zof85HiNu&#Twjq8073=&HMkN?v7!C0tjfYN_w=&G5}=A!Yj=ev@e14T>q3ue)MCq8 zg6}L=loKw-NW2=kIY#4l;7CurevQZkRm%urrbocrB3G~gT*P{am@MF3BWe>!+7>Fu zTrzw_Z^Ufx>*c+Fe)T&;(u;ZUhy1n6%Yu^-hWAy41w^G5?1;>)&Ms)J2r#$sHu1X( zGgfjrH;To*aM|sgsuN4fuo0JClqinK867Yr;*T5tl{%j*!V)O$j|owKsKrxQk2;q# zyy^6iR02G2`wszE)&d;o4d^m37f!t0>xF6V^_sum%VS^dOR~Wv)!eqT#uMHfcSlL` zA4mP91}>POzC?EmE66>yn%cd(_((FN2sF2K+iggkSva58lIcxSr^Da*jcuZupLRKG z0tB4#_y5^AJ--@>nC5VxYx@wsQkdbpyh(8b`1RI_!-@MxeKkLmp#uS6-H?m-i+Z?7 zxv81ym(E+w*^w+$$OlCj4LvM(RiC+J0U&fgfDNu_os0TFHmjKXo3^z_7;bf!fJGLWt@l9J_RY;fwk=p7Bpt@$}OY8Tfh?i;pl5@Am$-WWJA4 z>ff}ZW!sJIUFNW<8y23_I?zS%rC>5sNj)VS1Z9S@Nayv*VWx?j2CfP&?^XPmYEv^o zodGcBVlN-%Cw57?`nyVwu_Nm(#NeJPRrpM%-n`7*T!5vS&&`|jrnKaA4Y=@WufJvX z=1njGphZ9-AuPUdN^8AIEZe>f90`X-!_V_6`fN(>vt*XbQ(`Pw7+a4zH^Ol0c@5l2 zqBIH%dp&|u_dy42qfp~ssBOZxE=twnFCQl)>iw=|ZPytc^@(NhDPGW4FV;EGw;bar zF*f~CNuHxIcABR#N7z1lQ~EjxGA0fxbllc>TJTIyL)EsreBh?elE4(747HHv`;_nZ zFa0n~a+MYvgvAB2Zh!ii3-&G@PW*9`v5!ga1qYN+r>BWg2i=HY{O?o+EbzZE=Qr(< zvu`n7&k0~iT>%AbZS*x3m!VAW;HRB1e@f?vQM!$bnoom_e24bxZmZTkv@9XR{vd0z zKIJFfk%!Dx3@)-uv{=0YF2R#WIel*xOVI|o$=6JzAS_W(M{d!NQl%#=QHLbVcRwTG zun;%}3yD5$+L6Yi3>8nGU%ewtfe;l>EZt}YJ7ZV~p|UC~dbb1GEk~7$u8yD-u15zy zUizn}02UAh>Hhh|zuy}!3)!eiC*Au^QDr*cBbM?edh)xz`O}{EOWxr#_p+_98mjIT zy#B<*3`FAI$hwrR^4m8A35xbytx8l^j{QOpI0G@j_3E5e@vOw+DgE}5f%&9rmNOA8 z5FkQuyy~bHJGuv$evPG+;7Pv7T6qW{^5NNQ-y%i?;v%NDb<#C{bAr(}kB3Ip_{|{@ z%;u=6r$MGMzzZJ!cPa~xheJ>?l(Fm{+*BV=W;W&k@Rh|V&X?#MPQyC!tkU~GWmU`LeqxugXN>(e>j!go-^lue*T}!-ue~>#Y~P609*(@#Vxfo z8MR%O5ivI3?c!#&ZqiNVO$aBF{NzuRZ_QxEe04`-3!f*4lOjp-_G*~&TSL(@u+o#z zYH49VbCCcAZ;yeudfxO<#_b8#SzIt&8oknb>-XWKq7oHpn<RH_h&XJ;frF<7GBGx4Yvx+N?wNXC9ShTKkV6B+?8CBWZZC1FV{@K?E+zO zgyX)gF`}97Eudg5cvuJ4*KPe$P79(y)6|>!18t2BR$!=ZEb}WG%>hP!o;8snwZ>2g z4=EN_hh9+iTS1~Dp1W+E&_@3)VNgduzCuE_y5e*`l}7EK{4%~TXEph*vDVB45VPoT zqX5_QpSCjsJ5}^dM6HsSzgm1410-)294%KHcXRr}rTEQH7-o99 zqA@hvYFwE!&#^F%+#?SNV3ypXWFc|%hIaNPy=RHY`tz9S3k)#vQSB>AsvbRoxAgC` z`u|>R|98offp1@2>XKFO%3xY^S`H{VwVH`It|e$lG7fH#n-2;v%A6u<2!g5mpl9}N ztiW87Ax6i8IH5<20TTkjKn!XP(IDU3U#4W&E*G(1u1v3IIjmkx&R@GsiWw+v>#|R- z!r>qF{wfwz3c4mcGkB)%ZgJf6^L*9K62fnWx*llr!=qn+KBLQV@!_UMEgE1LJ(0Wg zjW0*iw{N%-r@XeM$=&OIXD6Ar zwW|V{S0@7gCqMV#s$MP6MdWw&Ti!>yHLrFvu}7ius<2*KF59FjdcBf3(etboy%$4n zT;(fH*I^e==t2&^u6f_(Nh1Pj5yDG7*UNK8VJrA2j}bc_YGw}r&`MP`u5?VPf7}qt zMPFa-zCJD?;^#h$?}wW%cPNb`0;?US|8O%hMFljcHg~kJ=W!@=ZiM-4O4o$q2(0wF zy3U^IZwi2s0t#J2DCw8)+harz)AcE$KPuw|J^W7s&a*a_YMC_5f`pJUT6~ zn~&bYzUty2{atR_MIk-6C)#w#E$Q0C3xvf73VJ?qDz=*J(RySc%vl(qZ3%&xqh3m$ zwoZAiH7T&7=|w?Um;yyrvm!huXG4oTzm2gbM1Ai+uKtdgZFDz&eDSOC)y~X}m(zp+ z;UVl}-(Qz4wpJGs0&f@L7)Y_A4gUduG%npUsq96fHq_vDyR|{pE&mSoN8kTs@9YsTCS5v{WV>awvz#NDqGuSvG1M` z_q75aZMhHGM}U}U6tQ%RmIX_*dMPc(KXHHG8~wi3cSa4=GezZZkw+lTpM+4q{o@gj zfD}c~ZVsM3Pgr;L@f|jFmiD*y_I9_Pyk@1VtNrlsfBaziP8ZTaD4!(;wC@xQN?OPSyYsS<^GQT0eJL^KE!`NLzf?7?iZ11<2ZxPO=nkX6zDd!?rq z(rAj?qhm6AaMdL8jJG_s6dL1hkH3nbPU{*g{iM0|lv=i!4`l6~D4FdYp~V$ym3Fds zewm7%lZ{wDU)WjSXY4AbG(K3q4GSec4EWcv=izA7eBqyI;)3oHwOYNLH)ZI7UC(0* zt^VTa_mi7#<{^C#(Zj+i1v|>NVeeT?RVf*84>lDOv zpI;&4Z9SG&bD(;M`|me=_iRbk3gZlP(u2f zARuPUFU#c~Ulv8^uU=?OBs=cgS(6i$9f@H2vsFba2>*Jhc&o%p`H@Ca6XT|Y#JQ5} zW9$fujpD|;qF<1&Zk*8PlgU-0ua>-*uzEn*jAsmjb@P0g7-A+IZqpQu%?ZMg7t(Hx z{z|m}15OgNPxb^*$d}UY*lma4kPmyn+)R~3&rX;umiRZ-#r;SeCd+Qo?_4)&B_$bW zMeB&$67qtCyTEIWg^*9JpT$$-89!J;XeF?$m)b3%#6-Ty%G@%fY4G+~xTT~2$r?g* zSikk+C+)?-o%{LrJIYfO=i~pT(IJFFLx+smObo9uh|9$ln)vFH_ec5qR;A5Ov=LeJZK_AtM z(vCl?D=gY8UHWS4Fu;kRqQvs@Hrx8Oa~CF2S`t%q)8uoW)xz!y`Z!A%9E$D^Ey_9? zhC=(HXHu^kRYbI1(&z}ls;?8BsqLTT$=VI$d`7+~`K7yeHsz4+`;y&)uP|io6D(_Q)|?^>j#&B$U-_DFheA+D z3Wgr^zrXSE2=GLA85#Wp=h0Lh-XE{LV&wTdr_pC{wBEuxEZDY98j`|@(Aim?Nzk_~ z8FooEaIJI)O%zkE;yhp7z823Q2#)B5a=ml!D?v}UwCwZMoImECJZ&Ekq*vdj7w%4z zPr3HD=R*V%BYYoc;+)Mt`!ZoAIxg3ku$YVGBAgUlRo;WTE)7buw75uPk@@h5iLL9g zuAf@?PG$C!%)%>|z3VYzSqyaVpB~vy%y4^c#Zaf+8;keNl>2Cnn$|PV0b3O;zz3qv zQZw|-sjGm!VJq`{@MW&5Cyn z2OVQuJEpez4BvS!JvBg4eA!F|nhhwUlohTAXcWC12ps&@jMu}1WSl<_s#1RTWnD^LfK&?{F7BelH1DC z+`ONqZI>d$x!zcfyM9xg=-rEL=7_`KvB`t$u}Q)H#xrUw2v;e!qn*8@V>RZeAhDzV z?&Qx!VO?CD-@hOJ0LxZHl5K2%8#wDq3om#~xZ`3atf;?9*qD|X8VvafL1k>)`*>M< zyW6kqSJil(Tour1kOa~x?(xs6`23=H0Y@s}DcrJsd0~AKcDVMB`g)s|!1Ux5tW=rk zzVG+9uU|(d6Bg?vReFkM!qfm^4f*o^Hgq96n$4$Ms;mBMdKpWlRk zXje%>6Tcq4b#fwMX*k@vS$9)$_j39K!h8aSx}JT@a0LkdqguWCiv@sq{g* z2Zp{19RlAtIx5oF#?=muA>TNlF=mY~B0mQiY!4J{@o56Eo`bwxTs*x`x))5=71Bmp z+x&KpS9LY6M!HV6-Kb($J? zu|dnJwaeq_HDR@->Ua)GYlgQ9qxRLZH)ZPkpxHgpm}?WFNzVp^ZtBS28;g~P&jz2{ zCnU4?EKmv2`LB*MX{iS>@Lef8XLPs4V9=TwYLo5#-eRC}A!395vn-Mu8EE{@Mx9wQ z_cGr(;nK2Hl8eqMLlhveiKp-lx~(3Zi}_K+TwBgnI1j5}Zo?3h$z+b4wOTq>6w`PZ~Bum4DFEsMX zF3qtm_l!5F7Z+5~-WZp9p##_m&E?)0=?4gZE3-a`%enUCzbMghQJ zCQAra{Eq_BFfv*YvF@=huj1I@VkZ>Z35_C-cqfKD!XF!v8zVA;Bg5n26wI=I*U`xH z?V)EH&U;YEB!-5SHD`^vJu=|O&WJT?Xov2e<1-TSo5}blqfV+?s4x;yZhVud zO&^8jG;E%7&>$>l)df@YM8j$51LXJT`U9zHQ`?8j_RJniE07847(BS?x z$wSRx4f)CNhO-#`Nn@_PXnmzu0Es3+p|4K=e)xn#J-SCT_xgiDzk2_|-D@~UZ8{E$t#nmkhXBnZ4;cQ0Z<+o{{Xgqo?orjC(Ya$_ z##P*yEYgh)I+7A`^{L)cWJp5FHY8s1vaHUk%>VlG(K>ODu6-%qRPe!HWapQ0@~pqd zUNWbve~ckcCaBPc@>Sta9G0aSu~`myObnvuX$;8{yVeq|iJ_5mSolwmPZFTr)l|7x zO+XgB*){!{9IrHb8S5lCe=xy>T~*S~a6FlI82XgfQWi-qyQ&AVe!ApM&iVRU~(T*49(?^*J#>AR*W>7 z0W#?k046TKy2$;uEjK$MOZu_Ofq-WVfvzNzZ0rbN2{CZhs{QaCrfx-Zl*E&C7EYI* zx?-i>t)D8(z-J(V7QFt9geuykF(=RHWLvhaq(y#l8-pQ6CD&RWyxut0*v#D@TeD8G z$d6B;Iv|zjAEG%vJ0Li7PWiX~DN=)i4(3$!t7VN@Ri2^^==xh%u|nanFnBS-&elpg zFzX3;IIHEkSI)D{rB?qry$bV^t_ab}3O=kJw8SG8eG~U5GsRG<`5!lV@gd2Wd#6|M z&cqrIsEFa&^HZvW>0VRzWpm1KQOj0?fS5o+<-6A~0m$jMPb~QMUqCpRE9h7=R~0~{ zIL7yHi_0_vEsN5lc(-HlO5?{DVjH5{uNGhdCPVmo!gdX9xE51Q{M*{KCjQ$JzrDGr zNI@_t4$k1aIUO!@HQlpZcNlP77W*1?5XWM@^g%C({f|+(EV8DPmgUbIse2T2tB4ot znr*Su%kh&kFu0p67aH?;jYNdub+_m+a~sQ(5CtPZ<==|rwWe{Brp*)T{h2lxriAM6 ze7}~6&)cja#7p7mjC~6+5vU}N^eKl%sRrv`_ zcZgAXK49{ZKnUXjASW^k4}ir4DtyIZC;;u|ViU#MZ%vy5GciblQd_PJ)HKyrR8Hz;TL9MKe!y<8>;+Rx_p6CRB8!N>UeK>Av@K}g#xxmFT6wFi!_y)4_Qa$pek( zP4jizTu1Vs30`C9UaGqA`lAPY|I^|FQZxeAzyCN9PvC#w_PiH{ygmhsQ3i=ycglphGj>y6XRE?f5+XM30H%ib#xi+p1-Wf?u_X+1{9 zl-^S;PG7aQS7Vk+&PZlsh?H=00f)sX+Aotl-#&iM=T=A*IST( zvMW+gcER09ynYfsYU(8JM$(mN#4f;L3y|<1QrexXG zBwIfX8JpjdW4F1}KL41ojsslsyybEKBv|2@ZwmFw|D)vi_YWODxSn4jL75zz*eIKO zc;TQa<~0rwBSxhZEL+|!=G2jJw&F^mnFr6Nob{J1WzD|=%|}RbjVhnQBAVvSy?qrG z7V=dKdW+|H$vvJPY~}=}WCC*!G9s~%ualvMrDgFxOzcqO9=4VlhAud)YfYR6jIm?` z0kQ-daVW7>lEz0|V?3XQ0Rmuf#fd>vUn5h0Wx||+e9@%4&>aw1?Kv;S+msXfRL-jF z*HKnSlIQxqyT{_P8yL7mwUIXv6M<7vx+?u#M(ShcoB-UpCr{xSV|&n|EDY8jW`OqM zue5COU-*MGIyVqosJU^tZ3v_ikGR}d+vof`xou)=oeuk9! z(Nk#Df%khcoATz^truI%7M8NZq3|#J-gLjJWIDOntwercdNhN3W8hy}R&4lPsCbF~ zHsGyedP6qOzx8dEn8UqmEfKl`+wiYxH7Eut2vb2kM zym(#A43q|iz8?|&jIuRX;dRUKOE%8tJs144KpI&WOrKVmzC6CKmX24^NR{i)+X#=O zj@PmJwOMOI2KgI3qCjd$)-UAu8tOPYv|0o1#wc)?N0;3$<6{n)WTgKUExe#g@x0v> zkgW@i4-91Txs4H~Y#JD+Q~UMa6}xVSiS%nKhMxAdkAwwNj4h{Yulg}Dk(%mZq~ZCr zpaF`q>118piP*(_eHedWbI)uUA3s?46AA4zmEWjc%LqKMC;C%yK!2VNM{k_RTKgc+ zyfU*Ta)vHIIDmPjm~#gjDCyr zIN;f-g8BeIkMp04L~XaTbbnWt9ajTxk{QzH@C!Q$Y$x_R&FD-qs=L0xMW_v9)^`e0 z32q^(u3ASMJPh(M|Jj9~{ECKvui*U~gNvMB%1F!9z+yX@?PZUMiT3+aj^r^;}bpQfuXGqLOB$3OHyvj?D2 zsuejY?{0XVwm&YvRk>Ldz)UbOf$qy6mJ9hSWgJPI47`+HqRnJF@Kr z>957l%bu`PKM={>3Ebm3>_GyJ&DF<0?QiA@{x>jJWE!@Xhhv$yJE``c$pboM!-LM8 zyr2N`)h^|_g&7(FSx69pREWKd^kzY8dpb2WBi|kYhR^b*5}$-gz6Cd7)rmbJ{aV8b z)k$-U#3xYa4%>(Y;xv@ygOQvHFq)-YokLRwu>o4V=B4mw(XR*qhRp$@YvhXz(aejP z>F<1gNnL-&LvslB_jm+cAMIyJUG@}QNMBDe_%&V{wM9K=_tI2;|LC>TK!57umOj5? zP0++#&0JlwWi0Bs`8MNEE}^VVGOe>%VVLw4CN_iRl1704fb(Uay<#JO&PAmn5_a|B zd^t840Kk+SyOxuxWrBzE;IOMuuftGTDo{FA{=wqB^{WYwBLga7+7NQSf*?4?3e)bb zMc?xLv!dw>wnEk`y2I;t#RM4r#D{`~ndJ#5aS&3U)iOW~!=y75Qtd%P<@F zoq(t0D{Lki7Se|u+J<;7v%vb*LLx}k|A0IMiNZ8pWtFawt82UFoA?S1#LReQl&)`OPIIlQKu<<6oVVOtW+CYJ%nveiMxS$Nt~2=|Vgu ziL2#p53~dfeu&g3ALLkGJ8#Nx|vdD@WkLgHP{V_W~=S?Nm<_Z=Q zs4rzkc#i(n7eVA35|kcS{L@%_!`D5|DeuT@BVjP4+uJyl9iPSwEm+Hr?>((u$ecdr zPOMO8Gp$ey%Fe8g$n>cr3297G7R~3SA>J6mSkry?7l}FQ>@A!Ez0gE5(cytde1F;g zP~;6+KXpfH6QsRAj zLtF2Jyj_W%!(Or9fS=wtYOUds z_mfB2QpX5R0)RIGrWKc`Jc42DZ?=@odn_iJw^-Jm-uv!r4FCtpcPXnL^ z28NTPZnN2C&Qjs9IIBBT?={+s()USY5pVx;V&+e)v*QM@$EFSKY7ep9MT>NCubf?L zAon#e6KlYmYxmmL`B?xiGls~UUDSB4j(LeH60KHWx)J_+@hqet3Ra+hRl`MjaLG%u z)5J$GUxu8GuvUgW)~<3m=+lh(^Q&TGW>wi?FrNE5lKH+k-{68CR_J=Dsy|6-J>O% zFAo3TKI3b?zI#-YFsZMa;hxOFIIycDTv5`hL6>r5ie8(+$IvOChD$%4od zAXe(Txy5f1;q#9MeLP09oL1X~keB!)!cUgpcMV^hyrcp)dwy&AH@KZ!| zq;RxJ^u0}qk*>aLQvT;k_dNV(kkhJssN4%qs7f+h3pM^GI#t@~WN{T!xd`;{m3Z*^ z->f7gte*_bPfdwQNw>MLZF8;cw-?$C(Op`=A*QMX$4eMmZ@`+#YTT^HBh;Yq+wikz zN3Q>vx{E#GBCY}&y8oRUyiduPGMyeBV}a=Z2XL{l*fQSy+3?}Ucv;AhjJ2BhGt{KC zsF-*puU7LlSX?9d7k5I>bRMYwSHDk&b9K9JTPHa)>dl^2|}{P#lqv? z-#?w&!52~M%>a(r6Z}qDr&Uf2$|2`hXvuqxlhLbyFX1YWDU`%;m`qurRZT{Im*MY9 zSk^Im)ctB(^WD*_dy$*2ruz%N`*ijoo(enze}iG9Vsx5HSA zc)Y1fMsH|fmCbsT}0?3CBjAoz&Yt@sHeAhzh zg>dxRgs}F0A>Fx&5oVI3A$f2~m{EWeRd!l$B;T-ghftXp4({CX8`VFm!rO{=q{<^PQOG;Tu0$QyY{5cs_VG4%WCc?E# zSA%G8);?zb{%AeegViG zj*dvHh(dzmf9Ws&pCdX4DHs$Vx+ zpyuf)MNN$k$z2jkv(V1_y(&op)(-TP{o^3&TmNKVkp!#tQD#_T{Us2u8;lR`trqXN zWl$6qzT^tl&=2H2iZDQR)(ld=nMjlFP;YbZyi>Vd=DSTXVs4(Xr0m%Qm6 zqewfF;zW0O1SKWzHT(&NW8_M1GhT19iW=fXq&Cw1xZ(StY$N!8 zIi7G1jEifXkOt_5cnrK9rp2h{Ak5k3c7!lg2^{*@Y6XVG6MQgwO&-4HG*K|&=wcF=AbbJX5r7hg9= z#~Y=R76hRTyzmv;$&3|!)ZX7#WeQ3A2yj7vYcu>ei~GnS^PgCWNuph*`;U_r!Us~q zI&)^?o0HV3)*ovR`GbfQ%t{Xbl8N*oY3;2`5j;(_Zt}Ch(2zh@=}r43X{m;1F9DsD zOR+RkPro7-JVzIVg)B4P;0UE&;!i|V8@)as4BmDZb>#c(g9nCud&$ZFhz)wmii&ll zhI6so7C0zE5OZMs{=vJMOJk3MnyTZ|nLmRaNw>QT2X~pI)w^%(Cc?^u+viVKsf{7y zYf_bO0;^tCyf$O27+CT@yWMjGVE}=~7WeG8az=24J{|ZG{LTU-uemW8_(l9Gx5fEBJPhV=5Py#iS^b7 zQi&GF)f~eh)L2;a&piQFON%o*lEUA_x((1#d@HT!OWRR~LMZ{@Jp-DW6+vT`zL=zM*$nUL)8X;&-VB4gQ#cib zES;;#hUY|yB$T*PdZ5M+c)fHPARudj+VjjxXm~V@0~+U3j&~ z8U%YuP)QX(w+@OAUUYCYs^M~oXBGSgeMJ15Qfo3(GVDuQV0>0Q4igOx#z}|t)ZDDV zZrl0FUV-h~7v=hMImO|h{l~#Bkbg1*xI$wtZ9!jGKdOmcZ#{PK94@uZ9C>(ovH5LU z)$W};&6Z%KiZNW*ML&NfOWiQFEBQ(0^Hxkv!;Ih-L*Z$OmF8da?r`lpdh326s5Jbq zFmXIX0aw{Kng4iFoeCIDWp1+HU5ZoPRr*poEzCcHF=WlU6sm&J)JdqiJl?#1(dHcs z&t?T#%X3SI!^|Xk5H+WVGfdqyW)PjBeDsdo4-vG%)KY(&s}*E2JrFam&iRxPBz})* zPKka%m0HaBAk zzd1^NUzRi?@^_OM%I`h{<7C7XkZby^6W>TzpLG9oFeWhV25w-^eGj0M9(=VZDb?UN zlxn3Bk)}XwFFkhcpC=gdfd^k<{WL}n-x+Q2mWsDNg9HK!>ZIxxeCDXC%HxJDwPKi_ z&X}pQvVP^Zr6^uenjYt0rgA&Mn-LM9Hi%J^l9<~Ry)Q=#h*o^deiUiRsyu@uTM~WA z7ClSn9|8FZI0Tfd7>w~k-Qck$sQ4~t|6dGWsDV?!+<_eN98cbqL@%q1Sp9b$4`$Pv zK`N5SxM1SNu5!9td_NEt3&?tbk3W7k0JHYRypVa41&77LX#u}`-cM`80g_p}vFuZHV-M^q|du@zAr)Z@X;*gF=06%FV2C(uw~Ze3|-U0c^uWj>q4gLY$g zLt{Qsl15S?sQK2ero^2tEC4~?ROaU=Mh3n|Q9d4RuJL~BhZ_Tq` zKF@B{a#8ibNk1rnN>v+tWu3Jq-w23BxqQW+#8?s)V8(j3iC@{@lHzMOn;ys0UJ~p6 z&*5T2vJo^UxAJGWA*BvWLz=4`6>JbyCp8FhEOIR9@#Zho}uXR7W$34y|cd`jQ{k`7;*OIZC0 zw*)_I@Tmhof1c(Wuw2h7PsEGGTXu>kj<%~vg+hoZ)$$WhSh!53e5@xL-OT;c%VcDn z_eAq>Qyhe)pnPt{^{niW$(X>YI+dw;s$%?64(@!$o^VLvYZy&=T!*cA&P>Q)ct@hD&waLPqT&LMezlb8zW9e5aO+;I=4jB} z%Bygk>UO>mVEFH{iSkg=o8RjVH@`)(&snCT>i2T0sX3BOk=#}Hs1a&lIz|`^lS^eb z?#tBVuf1Duhpav6gr2Sa>Y95WOq@29{#PBP-W#*%zx9Q2&n##Y{|BdWDnMeKgr!AS?;PF7I?z*>NsD> z8;F3x0+y&gQRZsptjNbcczJ?B(8U5+IrC$c2cr!k<6}j6=TY4Hij2XAyokdlVsO1c z{~sM%S3UjC$nSi4?}I2AeF0^LIAxbd1cn3?$ai)H?NR%0N4d~hdI(4v9ti%~_xQNm zfp#;gLa=DKQB$tJh_iK58z(ly$aUxe@GZn3%oU z^J#~YE4F50(d=E%6bBR*_q5lV`YV=QZR!8#0&2(|{9L)m-)_f^usC5HF@dOKR_?9K z&xT1Lp>up!%NH_1DG#!2IrN81(|-KbhwEVQVqbcHyBZC~xov`CdyP2Xc}AM>v60{X zZ}*A-F^B5N^2zjT+)Vq)mfM~m1%~gQjTwbrRt!Z82o|1zbE`&*yjZI@8ack6NZVI zK@c7Ax|7s`0=}{s4#Hn8E9xsH%EH8gkM7QIk9vVHA$>$cR8=)O*ptz<$w?L z=lAr5(OAiW+!-0GnG2s2L2ydN=66jFyG$_YCzAVg^_>DjAtW&gB+A9!pwX|UP0dpqiw}Xyyxu0bqXdwVp zP7Y`;z+9P|JLv&k3%}Q}ri?wjRDZ-A;~`-U$y9VagpJ1mWs%Q%5sDn^P0`~M*dBs9&V(+rXo209B8f^iJl8&j#J70 zOW7`qIL=XIGr4i^)5Hn!w^>*<>%6>$ZlIq{YMwg32d zeMQdoz!wTiry4dn>m*L2H2$rASNJEx(LXk01<}U?RBljd2>!=W8G}!D>*EZLuLYV1 z*o<_l6@-^$EZ?5lRkUpGew>vcvKvgc!~R12@?j%o1*wsM~j!XUvmX~$&|2lAaiVx?`bu2qa}YY{kHxs z(DW@3xM)$L-1>Q~%~&gC5fcS7A_nU`q(mxIKwPy0@OR{+Npe=?m}!2=j9+}o{IvYX zQ8R1i_XkdNlt%}>M^OB9i68&9DUcd7#?$pbt`)lIMBVQ}n7jp3Wh!8TUp$8|NX~ai zQLel%U^5OrGm>M8(wnJLi?7wfHq%VETxUJiEM^DecRDe;PQx+pgurtG z{ifn5zlcc;O#A3}k3|i_A_t}7vVSSCKYg+ga>zU~RknlqmFB3iAhzlI#r7l-VugPb z#^9bP3~|`({MTdcv!v5+I3B2L6-m|omJP~priIlg?Y4!_ zCd%Xof5do?KlVu57@6ibl#<-^Jc9vuNC|U zAGGy#vzF0;H=0L@Q!Ulk{O^{qRmjg>T>V#-sNNJ-Z3GvHR1Ignn~XI+TK&97z%MUA+j{#tr#*n(R1+c zYChLz#E^MMJNBQ7=L?wGAzb=Sg{v2VaDFdLhWPvItRI=M3cJN!t)(Ccm_tyZ)v_?zeqfAog8sgB0_1`kDP_VF$m_220qucMX~F8BHAB zURx@KQt4JD@bxmrtAv?&CJ-~&h{ZdepTV;}(vg1m*<;XN6_x&}v}Kd*Ahw<%LEabXj3HZ1s5j40*fcD**PygfcZ%26aFhK_p~b zqWuU6VNswk-wn0;*M^uP)-PM9-sD_CFy#P%Mqd=&=~@B~7(KuYIere{2ZIGLSt>Ld z5Hk08Gi1T9&Wb$b!+$vDzS9~hqS~hhJbik(61+IJ(cPpxQ!&cQaI8Km441u9-Ui~eagJNJj|CqbZ&^%xxYi|r3f4OZG3uk)1B0)!g8b{UH!=k&z|7(fYV z%roA+t!us3U8N-AFq~9>mum9&rcV+4pnT_G%X=MV_m;kPsFJ|0BV`Inp+OYWNiHww zSBQkfM*iItU4L`!`(Dpv7_S?Ip`+rAiM|IgemMTzKb?4a*u@Y2fO$_t@`8l_>#j@T ziDEguT@iY4kWOq^8pA5^G!whoT(r(^n}t9ayfbmyFJFQ0#HFLfF{1W25HjM8HNUi~ zBmSYpe!t9KpLVpM_WZooT||FA^{>*M<~X)>XZYbKffBJ;Qt;b8D1Vt2It43KBb#01 zrwPGrzXT!>jNq1M73qO?DzUMDx*ju-MdC)orEyPS@$};xZe+s!vta2KUz@-yX}xmzhzY+-WF@LH!NzR);2FZ^*~YG)!qq^DsEb6yq{=w}o)B@KfYOUq^DVku_* z;QxF=73hZOI=DF5>vll*npdPXoT7jW(!@hMWGYj0<;&k$z55_|(}vV?)N zzJIKQ&RGhm&TBK(x8|FHu#2ovHV+SfJwDI-VdlJki7Q2k+BXyIA_x%z{`zJ9*9b-E zARpj*=*5l+^+al@5llo(g8cpP0~a2&brfu?8gE>0xwO?IPmgHz6gDW1X*2Z7NDo6G za?J2$gVbw(dP6mos&gXL86idj==Bbtf5j(kHL95XA(m)saFA66yI{Jt+ACM68T zZt8QLlBV=Irwpvr=_L>R(b@NFbaC^%AZ4WKwH-;eLXGFnmc?=T=7lPT$E7178Sb$h zpsQttDsu#!o?u{a8Q({Q-T4qZp5v=YL@-|RN z>YqG8oE=oX5c91SkSr?Xj51MyC9gpg_1_X9Z_lXPgu)~gg)p@<9@;f-JHl~EyV8rRPl~c+L1>*DtdJRzMalNQ(!`|u(|imm{lz$*LTviZW!6Hr2O=}+5RB1o0=ye2rnc=`1%W9n$2H4Gh{IkVq0~rhy zx&Q?OLm;dcKYlrIz%Cw*j0A}4vh=zy;Jg~@l3^%)*#ZR$(V{Ec#T0+Su#k9+_UgLJ zGe@p-AprN!F6gF!WAk=w!H%aAd1M3N#VRcek}1!iVp{hY7RdP-G1>nV&UH<&pvHG$ zck^EX-4wlkHdg7iIK;#TI1u$qAsHlN7gSH&>-Gu}wgy9hb)#ShX$GR#3-IuXiWD~z zH7hXjySsU~WGB&Q#C*)oUgPO7nD-j^474auQ0XD+0+cR|0=XREgiL3GPG8B$nML$9Ju(on!+* zZKyQ#7)z1}W?$nEs1A9~`zpi&91yCaQAZ1+;1U}`jy4~BL+LJ#3UXAUPi6ncmn$*$ zs)CIo`7bR#I*6ZjlZKNV4)7YDC5cS9%)aI2_SFNdEW z93(Z&O-*s`g95OFdV(?JQZMnE*@1)udi^9)+R!O*E!s&FY}V`^6IRYjfzqvEb!(96p{=wSVeA_xClf(0q8`-kPIVdhE5Acz9B?rC3a zx^KWc&qbd0@^;04MtLn+xvdhJXe}t)pQu90atuV1x;L^SQcr!Z=OdGcck{o%pe&Y= z(_M`3dRzDb9g7Uyh!@%wmamZ7`>0Z=^+Q3*>jpBbFN)GP{RI&=9qJ30dh|h11v|a_ z`+}I)z8BqRFT+F)u7d7&Pc{6fWv&vzS6?f}o!o~wa}3IIxL=Wx(?R8!11L-EXb#LB&ajo}mvM^F+u6Z%MpbTuEvXULpeB=dKKdBpAnv z?Q`!=`=ROV_7rW+Nm2-A~=BzjvP z6tL5R_56Ag6`2K1D_=2XZFvhP1*CQ>&>lhk91~9W9226c_9;&a)*b*n^O=onw^XhN zW4heWpX`1L+~4;%>t}gi*$lVG;!ENkG<;6}{}{W7CyN9G82GzMj3kr(5{RtP<6ni) zBBIf4AvnuZd48CD;6I-tQ6(sxa`YFG9s;p*Ir^vRKllF|-O5RGgd`>*8g&FB8R5;- zgF!~X&89BFk1iAxWtS@Mb4VX#!HpFw?rKEgu8O-(<&(J{6AGKFQu`3d(DE~iG7fFs z^wUZK^?&X2I}=hV|SH4Ow#)_Zka70LYFF*#W>&1!v*tka_r8dy~<9+1I)gyl6 zTW}CC84u9r)xxYcUERPuNZx&?Ik7dald!F!P0jpm$c0eAx++sXTQJjYEHV&Jk>tUm z^z+YXA0{bMa*470>Nt#(BkFH~t3fsFuZfQ<9V%Sbz6 zg1VTqrP;>`PnhEpv9QZi<}HfBAUk>OMNKN;O87Ukb3*_obVB|~zC>{U8)@xGDebNk z#<}s&P~eT9h4-34w}}V-0_F`k7RjWG@+(8q=teVoLghJGq)NZnL*$HJilLd{#{nfI zRzgrc&zxvtC-45BG2)sWW%!=R*ZBS^q}%=wIcj*zqdP@%xR!G&$&Ec%MxZ?de!q6k zf6qT6;p+|aqzo`i`vEOm?2t!<273#@U08X{2mkN)+~+$a*XQeKYkMsD-`Ct)E^SV# z)Bs08J`ULFMW!30?0!C-P9M4TW=3Lt_1ZO6rj693rI_Spg}j8;nM zjfyfKQ66P>lz-UzK7w#1piiCJPn&*R7!^+7N5Gk(rmpRD=^9P85`h@ z`~z&vA*!1`=<~YIwO)?}k?Z0KF$p{Z4pc!mz)E3W)9v}PZO4DNaVnfufSWT&X$D zlrz=sICRhL_;tGD>kz==3sP1yw#NRlgUc~i{n_I*O~=z2C|9`2qGCovKDy@n=v10M@fphpR^hbE8D}eJ zHZpaf)D|2iEUf%7P4Y*#nF)9~ypa_lU2c?Y+r7f0BLMHsdakQx2e&YotJDeYJMAG^(MBd zCSVj>Sk$#LWsUhySW_tfs!{!cJ#7sWj#1CT@VWI%mu#3N zt0a#0IS7GK&%i&~6DJdel@W>6waW6A(9>COf=OAC1i6h<7i2^)EObN}n^BvoCH;M} z-Bz#4&krlcr0QAnJ!1jQ;8tt=5``~46r#AL)WMeZ$#-{ml)mcMvV;Ze;SXn~zLVx6 zpSgpL>EZF2i69GQAR8$|it4+l${dyFyfWJ_8>V&M!f8MyQnFdY7n1D3%3+KbxG)J| z@CnlWN8*(G^zRFgpy%_WfKY6|EwXErm+F%tV!7x#${Dl#8n7Hk22FRlIrLZSQt$oI z)Kj@Z7PInl$SnH6(~z}gz*R$unS5L}f0K@6BFs?(v~B_4{3E!P2&IqPV6WhTKvafX z)8D`0bf5E}H?xk2MK;VZb{r!_*03zTi-(drn-Si*(U*uuhe57YY0Lg{H#r%86XMoIvuvsr)@hujki#YhY1 zjFq&T)EeYx4vmbW)d{RL@IAZQSvr|Hl=GCgU(+1<8_rj^Wz9ZoNU}XD0dTcE4<6jW z0p}*MCs8Hbzc0*Iv~?E+YO@#GU-m;uD82+mIv4NlIj?NAu>z553$4(ItthU6=t8@VcDJLW zzf*ijT4(f<{gGYK;Q4diow>udGL*cJyc%r z>@3}n9&WQcphxcGcLnF3#Mn@N&_Ckyfw800u*sg#henGwoHKSPYHxMDv0`v*qa9i4 z;(p!cN+}-+45X`dvS!R7D%pM? zrt*B1enK}!p}Yyaq15K4%s;K)={xRm@`rXTosBq-z(TtokO6b6Vyr1wdGtW-AKm

~ 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 MnYYG!>jm)t0D+a5djJ3c literal 0 HcmV?d00001 diff --git a/data/~$data.xlsx b/data/~$data.xlsx new file mode 100644 index 0000000000000000000000000000000000000000..24febab2a2bbce53ae58cd3d4e8f44d1d1e31f33 GIT binary patch literal 165 fcmZQ|%uGqmQy>+vGB`41GNdr1GUPER&>R8)W=0SV literal 0 HcmV?d00001 diff --git a/exchange_rate.txt b/exchange_rate.txt new file mode 100644 index 0000000..c317ab8 --- /dev/null +++ b/exchange_rate.txt @@ -0,0 +1 @@ +7.1072 diff --git a/generate_accounting_entries.py b/generate_accounting_entries.py new file mode 100644 index 0000000..833472f --- /dev/null +++ b/generate_accounting_entries.py @@ -0,0 +1,308 @@ +#!/usr/bin/env python3 +""" +根据res.json生成会计分录表AccountingEntries.xlsx +""" + +import json +import os +from openpyxl import Workbook +from openpyxl.styles import Font, Alignment, PatternFill +from typing import List, Dict, Any + +# 默认汇率 +DEFAULT_EXCHANGE_RATE = 7.1072 + + +def load_exchange_rate() -> float: + """ + 从exchange_rate.txt文件中读取汇率 + 如果文件不存在或值异常,则使用默认汇率 + + 返回: + 汇率值 + """ + rate_file = 'exchange_rate.txt' + + # 检查文件是否存在 + if not os.path.exists(rate_file): + print(f"汇率文件 {rate_file} 不存在,使用默认汇率: {DEFAULT_EXCHANGE_RATE}") + return DEFAULT_EXCHANGE_RATE + + try: + # 读取文件内容 + with open(rate_file, 'r', encoding='utf-8') as f: + content = f.read().strip() + + # 尝试转换为浮点数 + rate = float(content) + + # 验证汇率是否合理 (假设汇率应该在 0.1 到 100 之间) + if rate <= 0 or rate > 100: + print(f"汇率文件中的值 {rate} 不合理,使用默认汇率: {DEFAULT_EXCHANGE_RATE}") + return DEFAULT_EXCHANGE_RATE + + print(f"从 {rate_file} 读取汇率: {rate}") + return rate + + except ValueError: + print(f"汇率文件 {rate_file} 中的值无法解析,使用默认汇率: {DEFAULT_EXCHANGE_RATE}") + return DEFAULT_EXCHANGE_RATE + except Exception as e: + print(f"读取汇率文件时发生错误: {e},使用默认汇率: {DEFAULT_EXCHANGE_RATE}") + return DEFAULT_EXCHANGE_RATE + + +def create_accounting_entries(data: List[Dict[str, Any]], exchange_rate: float) -> List[Dict[str, Any]]: + """ + 根据财务数据生成会计分录 + + 参数: + data: res.json中的财务数据 + exchange_rate: 汇率 + + 返回: + 会计分录列表 + """ + entries = [] + + for record in data: + received_amount = record["ReceivedAmount"] + handling_fee = record["HandlingFee"] + orders = record["Order"] + check_res = record.get("checkRes", True) # 获取checkRes字段 + + # 跳过无效记录 + if received_amount is None or not orders: + continue + + # 1. ReceivedAmount 借方记录 + # 科目代码: 1002.02, 科目名称: 银行存款 - 中行USD + for order in orders: + order_num = order["OrderNum"] + account_name = order["AccountName"] + + entry_debit = { + "到账金额": received_amount, + "手续费": handling_fee, + "订单号": order_num, + "应收账款": "", + "金蝶名称": account_name, + "摘要": f"美金收款-{order_num}", + "借/贷": "借", + "科目代码(*)": "1002.02", + "科目名称(*)": "银行存款 - 中行USD", + "核算项目": account_name, + "币别": "美元", + "汇率": exchange_rate, + "原币金额": received_amount, + "金额": round(received_amount * exchange_rate, 2), + "_check_res": check_res # 添加checkRes标记 + } + entries.append(entry_debit) + break # 只记录一次借方 + + # 2. 手续费借方记录 (如果手续费>0) + # 科目代码: 5603.03, 科目名称: 财务费用-手续费 + if handling_fee > 0: + # 获取第一个订单号用于摘要 + first_order_num = orders[0]["OrderNum"] if orders else "" + + entry_fee = { + "到账金额": received_amount, + "手续费": handling_fee, + "订单号": first_order_num, + "应收账款": "", + "金蝶名称": "", + "摘要": f"美金收款-{first_order_num}", + "借/贷": "借", + "科目代码(*)": "5603.03", + "科目名称(*)": "财务费用-手续费", + "核算项目": "", + "币别": "人民币", + "汇率": "", + "原币金额": "", + "金额": round(handling_fee * exchange_rate, 2), + "_check_res": check_res # 添加checkRes标记 + } + entries.append(entry_fee) + + # 3. Order列表中每一项的贷方记录 + # 科目代码: 1122, 科目名称: 应收账款 + for order in orders: + order_num = order["OrderNum"] + amount = order["Amount"] + account_name = order["AccountName"] + + # 跳过金额为空的订单 + if amount is None: + continue + + entry_order = { + "到账金额": received_amount, + "手续费": handling_fee, + "订单号": order_num, + "应收账款": amount, # 填入Order的Amount金额 + "金蝶名称": account_name, + "摘要": f"美金收款-{order_num}", + "借/贷": "贷", + "科目代码(*)": "1122", + "科目名称(*)": "应收账款", + "核算项目": account_name, + "币别": "美元", + "汇率": exchange_rate, + "原币金额": amount, + "金额": round(amount * exchange_rate, 2), + "_check_res": check_res # 添加checkRes标记 + } + entries.append(entry_order) + + return entries + + +def save_to_excel(entries: List[Dict[str, Any]], output_file: str): + """ + 将会计分录保存为Excel文件 + + 参数: + entries: 会计分录列表 + output_file: 输出文件路径 + """ + from openpyxl.utils import get_column_letter + + wb = Workbook() + ws = wb.active + ws.title = "会计分录" + + # 定义表头 + headers = [ + "到账金额", "手续费", "订单号", "应收账款", "金蝶名称", + "摘要", "借/贷", "科目代码(*)", "科目名称(*)", + "核算项目", "币别", "汇率", "原币金额", "金额" + ] + + # 写入表头 + for col_idx, header in enumerate(headers, start=1): + cell = ws.cell(row=1, column=col_idx, value=header) + cell.font = Font(bold=True) + cell.fill = PatternFill(start_color="CCE5FF", end_color="CCE5FF", fill_type="solid") + cell.alignment = Alignment(horizontal="center", vertical="center") + + # 写入数据 + error_fill = PatternFill(start_color="FAD1D4", end_color="FAD1D4", fill_type="solid") + + for row_idx, entry in enumerate(entries, start=2): + check_res = entry.get("_check_res", True) + + # 写入数据 + ws.cell(row=row_idx, column=1, value=entry.get("到账金额", "")) + ws.cell(row=row_idx, column=2, value=entry.get("手续费", "")) + ws.cell(row=row_idx, column=3, value=entry.get("订单号", "")) + ws.cell(row=row_idx, column=4, value=entry.get("应收账款", "")) + ws.cell(row=row_idx, column=5, value=entry.get("金蝶名称", "")) + ws.cell(row=row_idx, column=6, value=entry.get("摘要", "")) + ws.cell(row=row_idx, column=7, value=entry.get("借/贷", "")) + ws.cell(row=row_idx, column=8, value=entry.get("科目代码(*)", "")) + ws.cell(row=row_idx, column=9, value=entry.get("科目名称(*)", "")) + ws.cell(row=row_idx, column=10, value=entry.get("核算项目", "")) + ws.cell(row=row_idx, column=11, value=entry.get("币别", "")) + ws.cell(row=row_idx, column=12, value=entry.get("汇率", "")) + ws.cell(row=row_idx, column=13, value=entry.get("原币金额", "")) + ws.cell(row=row_idx, column=14, value=entry.get("金额", "")) + + # 先设置所有背景颜色(在合并单元格之前) + for row_idx, entry in enumerate(entries, start=2): + check_res = entry.get("_check_res", True) + if not check_res: + for col_idx in range(1, 15): + ws.cell(row=row_idx, column=col_idx).fill = error_fill + + # 合并同一ReceivedAmount的"到账金额"和"手续费"单元格 + merge_groups = {} # {(received_amount, handling_fee): [row_start, row_end]} + + for row_idx, entry in enumerate(entries, start=2): + received_amount = entry.get("到账金额", "") + handling_fee = entry.get("手续费", "") + key = (received_amount, handling_fee) + + if key not in merge_groups: + merge_groups[key] = [row_idx, row_idx] + else: + # 检查是否连续 + if row_idx == merge_groups[key][1] + 1: + merge_groups[key][1] = row_idx + else: + # 不连续,创建新组 + merge_groups[f"{key}_{row_idx}"] = [row_idx, row_idx] + + # 执行合并 + for key, (start_row, end_row) in merge_groups.items(): + if start_row < end_row: # 只有多于1行时才合并 + # 合并"到账金额"列(A列) + ws.merge_cells(f'A{start_row}:A{end_row}') + ws.cell(start_row, 1).alignment = Alignment(horizontal="center", vertical="center") + + # 合并"手续费"列(B列) + ws.merge_cells(f'B{start_row}:B{end_row}') + ws.cell(start_row, 2).alignment = Alignment(horizontal="center", vertical="center") + + # 合并后重新应用背景颜色(确保合并单元格也有背景色) + for row_idx, entry in enumerate(entries, start=2): + check_res = entry.get("_check_res", True) + if not check_res: + for col_idx in range(1, 15): + ws.cell(row=row_idx, column=col_idx).fill = error_fill + + # 调整列宽 + column_widths = [12, 10, 18, 12, 25, 25, 8, 15, 25, 25, 10, 10, 12, 15] + for col_idx, width in enumerate(column_widths, start=1): + ws.column_dimensions[chr(64 + col_idx)].width = width + + # 保存文件 + wb.save(output_file) + print(f"\n会计分录已保存到: {output_file}") + print(f"总共生成 {len(entries)} 条会计分录") + + +def main(): + """主函数""" + input_file = 'res.json' + output_file = 'AccountingEntries.xlsx' + + print("开始生成会计分录...") + print(f"读取文件: {input_file}") + + try: + # 加载汇率 + exchange_rate = load_exchange_rate() + + # 读取JSON数据 + with open(input_file, 'r', encoding='utf-8') as f: + data = json.load(f) + + print(f"读取了 {len(data)} 条财务记录") + print(f"使用汇率: {exchange_rate}") + + # 生成会计分录 + entries = create_accounting_entries(data, exchange_rate) + + # 保存到Excel + save_to_excel(entries, output_file) + + # 统计信息 + debit_count = sum(1 for e in entries if e["借/贷"] == "借") + credit_count = sum(1 for e in entries if e["借/贷"] == "贷") + + print(f"\n统计:") + print(f" 借方记录: {debit_count} 条") + print(f" 贷方记录: {credit_count} 条") + + print("\n处理完成!") + + except Exception as e: + print(f"\n错误: {e}") + import traceback + traceback.print_exc() + + +if __name__ == '__main__': + main() diff --git a/process_excel.py b/process_excel.py new file mode 100644 index 0000000..69a02f8 --- /dev/null +++ b/process_excel.py @@ -0,0 +1,214 @@ +#!/usr/bin/env python3 +""" +财务Excel数据处理程序 +读取data/data.xlsx中的Sheet1表格,提取财务数据并输出到res.json +""" + +import json +from openpyxl import load_workbook +from typing import List, Dict, Any, Optional + + +def get_cell_value(ws, row: int, col: int) -> Any: + """获取单元格值,处理公式计算结果""" + cell = ws.cell(row, col) + return cell.value + + +def get_merged_cell_value(ws, row: int, col: int, merged_ranges) -> Any: + """ + 获取合并单元格的值 + 如果单元格在合并区域内,返回合并区域左上角单元格的值 + """ + for merged_range in merged_ranges: + if merged_range.min_row <= row <= merged_range.max_row and \ + merged_range.min_col <= col <= merged_range.max_col: + # 返回合并区域左上角的值 + return ws.cell(merged_range.min_row, merged_range.min_col).value + + # 不在任何合并区域内,直接返回单元格值 + return ws.cell(row, col).value + + +def get_f_column_ranges(ws, start_row: int = 2) -> List[tuple]: + """ + 获取F列的所有数据区域(包括合并和非合并单元格) + 从第2行开始读取 + 返回: [(起始行, 结束行), ...] + """ + merged_cells = list(ws.merged_cells.ranges) + + # 找到F列的所有合并单元格区域 + f_merges = [] + for merge in merged_cells: + # F列是第6列 + if merge.min_col == 6 and merge.max_col == 6 and merge.min_row >= start_row: + f_merges.append((merge.min_row, merge.max_row)) + + # 创建合并单元格行的集合,用于快速查找 + merged_rows = set() + for start, end in f_merges: + for row in range(start, end + 1): + merged_rows.add(row) + + # 处理非合并单元格(从第2行开始到最大行) + all_ranges = [] + for row in range(start_row, ws.max_row + 1): + if row not in merged_rows: + # 检查F列是否有值 + f_value = ws.cell(row, 6).value + if f_value is not None: + # 非合并单元格,单独一行 + all_ranges.append((row, row)) + + # 添加合并单元格区域 + all_ranges.extend(f_merges) + + # 按起始行排序 + all_ranges.sort(key=lambda x: x[0]) + return all_ranges + + +def extract_orders(ws, start_row: int, end_row: int, merged_ranges) -> List[Dict[str, Any]]: + """ + 提取指定行范围内的订单数据 + + 参数: + ws: 工作表对象 + start_row: 起始行 + end_row: 结束行 + merged_ranges: 合并单元格范围列表 + + 返回: + 订单列表 + """ + orders = [] + + for row in range(start_row, end_row + 1): + # H列: 订单号, I列: 金额, O列: 账户名 + order_num = get_merged_cell_value(ws, row, 8, merged_ranges) # H列 + amount = get_merged_cell_value(ws, row, 9, merged_ranges) # I列 + account_name = get_merged_cell_value(ws, row, 15, merged_ranges) # O列 + + # 跳过空订单号的行 + if order_num is None or str(order_num).strip() == '': + continue + + order = { + "OrderNum": str(order_num).strip() if order_num else None, + "Amount": amount, + "AccountName": str(account_name).strip() if account_name else None + } + orders.append(order) + + return orders + + +def process_excel_data(file_path: str) -> List[Dict[str, Any]]: + """ + 处理Excel文件,提取所有财务记录 + 从第2行开始读取数据 + + 参数: + file_path: Excel文件路径 + + 返回: + 记录列表,每条记录包含ReceivedAmount, HandlingFee和Order列表 + """ + # 加载Excel文件,data_only=True读取公式计算结果 + wb = load_workbook(file_path, data_only=True) + ws = wb['Sheet1'] + + # 获取所有合并单元格范围 + merged_ranges = list(ws.merged_cells.ranges) + + # 获取F列的所有数据区域(从第2行开始) + f_ranges = get_f_column_ranges(ws, start_row=2) + + print(f"找到 {len(f_ranges)} 个F列数据区域(包含合并和非合并单元格)") + + results = [] + + for start_row, end_row in f_ranges: + # 获取F列(实收金额)和G列(手续费)的值 + # 合并单元格的值在左上角,非合并单元格直接获取 + received_amount = get_cell_value(ws, start_row, 6) # F列 + handling_fee = get_cell_value(ws, start_row, 7) # G列 + + # 手续费为空时记为0 + if handling_fee is None: + handling_fee = 0 + + # 提取该区域的订单列表 + orders = extract_orders(ws, start_row, end_row, merged_ranges) + + # 跳过没有订单的记录 + if not orders: + continue + + # 计算订单金额总和 + order_amount_sum = sum(order["Amount"] for order in orders if order["Amount"] is not None) + + # 计算实收金额+手续费 + received_plus_fee = (received_amount if received_amount is not None else 0) + handling_fee + + # 检查是否相等(考虑浮点数精度) + check_res = abs(received_plus_fee - order_amount_sum) < 0.01 + + record = { + "ReceivedAmount": received_amount, + "HandlingFee": handling_fee, + "Order": orders, + "checkRes": check_res + } + + results.append(record) + + return results + + +def save_to_json(data: List[Dict[str, Any]], output_file: str): + """ + 将数据保存为JSON文件 + + 参数: + data: 要保存的数据 + output_file: 输出文件路径 + """ + with open(output_file, 'w', encoding='utf-8') as f: + json.dump(data, f, ensure_ascii=False, indent=2) + + print(f"\n数据已保存到: {output_file}") + print(f"总共提取 {len(data)} 条记录") + + +def main(): + """主函数""" + input_file = 'data/data.xlsx' + output_file = 'res.json' + + print("开始处理Excel文件...") + print(f"输入文件: {input_file}") + + try: + # 提取数据 + data = process_excel_data(input_file) + + # 保存到JSON + save_to_json(data, output_file) + + # 显示前3条记录作为预览 + if data: + print("\n前3条记录预览:") + print(json.dumps(data[:3], ensure_ascii=False, indent=2)) + + print("\n处理完成!") + + except Exception as e: + print(f"\n错误: {e}") + import traceback + traceback.print_exc() + + +if __name__ == '__main__': + main() diff --git a/res.json b/res.json new file mode 100644 index 0000000..67d8bc9 --- /dev/null +++ b/res.json @@ -0,0 +1,2865 @@ +[ + { + "ReceivedAmount": 695, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD516A25", + "Amount": 695, + "AccountName": "13 MSC" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 5200, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD025K25", + "Amount": 5200, + "AccountName": "23无锡西亿" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 3957.51, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD103N25", + "Amount": 3957.5, + "AccountName": "05 Elektro" + } + ], + "checkRes": false + }, + { + "ReceivedAmount": 5680, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD096R25", + "Amount": 5680, + "AccountName": "08 INTERNATIONAL" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 9455, + "HandlingFee": 25, + "Order": [ + { + "OrderNum": "XLRQD063M25", + "Amount": 9480, + "AccountName": "20 Transsea" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 497, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD018X25", + "Amount": 497, + "AccountName": "#N/A" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 12125, + "HandlingFee": 25, + "Order": [ + { + "OrderNum": "XLRQD300T25", + "Amount": 550, + "AccountName": "24台湾长荣航运" + }, + { + "OrderNum": "XLRQD044T25", + "Amount": 11600, + "AccountName": "24台湾长荣航运" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 17270, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD331H25", + "Amount": 5676, + "AccountName": "ONESEA" + }, + { + "OrderNum": "XLRQD203H25", + "Amount": 11450, + "AccountName": "19 Seaspan" + } + ], + "checkRes": false + }, + { + "ReceivedAmount": 15387, + "HandlingFee": 33, + "Order": [ + { + "OrderNum": "XLRQD373C25", + "Amount": 2950, + "AccountName": "16 PAC" + }, + { + "OrderNum": "XLRQD369C25", + "Amount": 2720, + "AccountName": "16 PAC" + }, + { + "OrderNum": "XLRQD360C25", + "Amount": 8350, + "AccountName": "16 PAC" + }, + { + "OrderNum": "XLRQD287C25", + "Amount": 300, + "AccountName": "16 PAC" + }, + { + "OrderNum": "XLRQD126C25", + "Amount": 240, + "AccountName": "01 AMOS" + }, + { + "OrderNum": "XLRQD223C25", + "Amount": 160, + "AccountName": "20 TOMI" + }, + { + "OrderNum": "XLRQD395C25", + "Amount": 100, + "AccountName": "16 PAC" + }, + { + "OrderNum": "XLRQD429C25", + "Amount": 600, + "AccountName": "16 PAC" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 1418, + "HandlingFee": 12, + "Order": [ + { + "OrderNum": "XLRQD253C25", + "Amount": 1430, + "AccountName": "06 FLEE" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 7500, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD250J25", + "Amount": 7000, + "AccountName": "02 BERN" + }, + { + "OrderNum": "XLRQD223J25", + "Amount": 500, + "AccountName": "02 BERN" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 5788, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD239H25", + "Amount": 5496, + "AccountName": "19 Seaspan" + }, + { + "OrderNum": "XLRQD060H25", + "Amount": 200, + "AccountName": "19 Seaspan" + } + ], + "checkRes": false + }, + { + "ReceivedAmount": 8440, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD014D25", + "Amount": 8440, + "AccountName": "19上海神通" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 16548, + "HandlingFee": 12, + "Order": [ + { + "OrderNum": "XLRQD267C25", + "Amount": 11200, + "AccountName": "06 FLEE" + }, + { + "OrderNum": "XLRQD311C25", + "Amount": 2580, + "AccountName": "06 FLEE" + }, + { + "OrderNum": "XLRQD398C25", + "Amount": 2780, + "AccountName": "06 FLEE" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 24344, + "HandlingFee": 36, + "Order": [ + { + "OrderNum": "XLRQD169T25", + "Amount": 11200, + "AccountName": "16 Pacific" + }, + { + "OrderNum": "XLRQD269T25", + "Amount": 6040, + "AccountName": "16 Pacific" + }, + { + "OrderNum": "XLRQD306T25", + "Amount": 2380, + "AccountName": "16 Pacific" + }, + { + "OrderNum": "XLRQD319T25", + "Amount": 4760, + "AccountName": "16 Pacific" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 15390, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD335C25", + "Amount": 13940, + "AccountName": "20 Then" + }, + { + "OrderNum": "XLRQD368C25", + "Amount": 1450, + "AccountName": "20 Then" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 11358.5, + "HandlingFee": 41.5, + "Order": [ + { + "OrderNum": "XLRQD288T25", + "Amount": 11400, + "AccountName": "09 Italia" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 4700, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD183J25", + "Amount": 4700, + "AccountName": "19 Soec" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 3830, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD204H25", + "Amount": 3830, + "AccountName": "01 ANGLO-A" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 2399, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD133A25", + "Amount": 2399, + "AccountName": "13 MSC" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 2255, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD059M25", + "Amount": 2255, + "AccountName": "30 CONN" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 800, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD162C25", + "Amount": 600, + "AccountName": "06 FLEE" + }, + { + "OrderNum": "XLRQD091C25", + "Amount": 200, + "AccountName": "06 FLEE" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 2390, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD203J25", + "Amount": 2390, + "AccountName": "21Unity Ship" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 1690, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD099R25", + "Amount": 1690, + "AccountName": "Flamingo Shipping Agency" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 3305, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLSWSS25004CB", + "Amount": 3305, + "AccountName": "INDOCHINASHIPPING LIMITED" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 4835, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD183A25", + "Amount": 4835, + "AccountName": "13 MSC" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 31735, + "HandlingFee": 21, + "Order": [ + { + "OrderNum": "XLRQD190J25-1", + "Amount": 23368, + "AccountName": "02 BERN" + }, + { + "OrderNum": "XLRQD190J25", + "Amount": 8388, + "AccountName": "02 BERN" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 31202, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD072R25", + "Amount": 5442, + "AccountName": "GFS Ship Management" + }, + { + "OrderNum": "XLRQD071R25", + "Amount": 7680, + "AccountName": "GFS Ship Management" + }, + { + "OrderNum": "XLRQD066R25", + "Amount": 18080, + "AccountName": "GFS Ship Management" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 1955, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD100R25", + "Amount": 1955, + "AccountName": "11 Korabelnoe" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 77947, + "HandlingFee": 11, + "Order": [ + { + "OrderNum": "XLRQD184H25", + "Amount": 38979, + "AccountName": "01 ANGLO-A" + }, + { + "OrderNum": "XLRQD202H25", + "Amount": 38979, + "AccountName": "01 ANGLO-A" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 13309, + "HandlingFee": 11, + "Order": [ + { + "OrderNum": "XLRQD220H25", + "Amount": 13320, + "AccountName": "01 ANGLO-A" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 40.9, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD019X25", + "Amount": 40.9, + "AccountName": "#N/A" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 20340, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD383C25", + "Amount": 20340, + "AccountName": "03 CHIN" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 1435, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD148C25", + "Amount": 100, + "AccountName": "03 CHAR" + }, + { + "OrderNum": "XLRQD326C25", + "Amount": 855, + "AccountName": "03 CHAR" + }, + { + "OrderNum": "XLRQD326C25-02", + "Amount": 480, + "AccountName": "03 CHAR" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 180, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD294C25", + "Amount": 180, + "AccountName": "03 CHIN" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 2680, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD077M25", + "Amount": 2680, + "AccountName": "ENEOS" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 7200, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD095R25", + "Amount": 7200, + "AccountName": "PT Sillo Maritime Perdana Tbk" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 108, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD071G25", + "Amount": 108, + "AccountName": "05 Wallem Group" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 13000, + "HandlingFee": 20, + "Order": [ + { + "OrderNum": "XLRQD185C25", + "Amount": 12170, + "AccountName": "Navios Tankers Management Inc" + }, + { + "OrderNum": "XLRQD268C25", + "Amount": 350, + "AccountName": "Navios Tankers Management Inc" + }, + { + "OrderNum": "XLRQD269C25", + "Amount": 400, + "AccountName": "Navios Tankers Management Inc" + }, + { + "OrderNum": "XLRQD392C25", + "Amount": 100, + "AccountName": "Navios Tankers Management Inc" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 10895, + "HandlingFee": 25, + "Order": [ + { + "OrderNum": "XLRQD291T25", + "Amount": 10920, + "AccountName": "24台湾长荣航运" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 4348, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD202G25", + "Amount": 4348, + "AccountName": "Synergz" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 8900, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD324T25", + "Amount": 8900, + "AccountName": "26 中国石化燃料" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 962, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD065R25", + "Amount": 962, + "AccountName": "13 MANTA" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 21349, + "HandlingFee": 21, + "Order": [ + { + "OrderNum": "XLRQD003A25", + "Amount": 13155, + "AccountName": "Kloska Group" + }, + { + "OrderNum": "XLRQD237A24", + "Amount": 8215, + "AccountName": "Kloska Group" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 4900, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD162G25", + "Amount": 3540, + "AccountName": "19 Synergy" + }, + { + "OrderNum": "XLRQD204G25", + "Amount": 1360, + "AccountName": "19 Synergy" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 2820, + "HandlingFee": 15, + "Order": [ + { + "OrderNum": "XLRQD105N25", + "Amount": 2835, + "AccountName": "16 PENC" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 1832, + "HandlingFee": 18, + "Order": [ + { + "OrderNum": "XLRQD007S25", + "Amount": 1850, + "AccountName": "01 AMOS KOREA" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 4228, + "HandlingFee": 32, + "Order": [ + { + "OrderNum": "XLRQD008S25", + "Amount": 4260, + "AccountName": "24 XT" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 3220, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD274C25", + "Amount": 3220, + "AccountName": "24 XT" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 2478, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD005W25", + "Amount": 2478, + "AccountName": "Qualships" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 5200, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD026K25", + "Amount": 5200, + "AccountName": "23无锡西亿" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 32053.55, + "HandlingFee": 44, + "Order": [ + { + "OrderNum": "XLRGS287A25", + "Amount": 32097.55, + "AccountName": "13 MSC" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 125, + "HandlingFee": 5, + "Order": [ + { + "OrderNum": "XLRQD020L25", + "Amount": 130, + "AccountName": "03 claude" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 43, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD108N25", + "Amount": 43, + "AccountName": "#N/A" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 5211.64, + "HandlingFee": 8.36, + "Order": [ + { + "OrderNum": "XLRQD329C25", + "Amount": 180, + "AccountName": "05 Efnav" + }, + { + "OrderNum": "XLRQD339C25", + "Amount": 3460, + "AccountName": "05 Efnav" + }, + { + "OrderNum": "XLRQD374C25", + "Amount": 1580, + "AccountName": "05 Efnav" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 20018, + "HandlingFee": 12, + "Order": [ + { + "OrderNum": "XLRQD289C25", + "Amount": 7280, + "AccountName": "06 FLEE" + }, + { + "OrderNum": "XLRQD327C25", + "Amount": 150, + "AccountName": "06 FLEE" + }, + { + "OrderNum": "XLRQD361C25", + "Amount": 3340, + "AccountName": "06 FLEE" + }, + { + "OrderNum": "XLRQD385C25", + "Amount": 3470, + "AccountName": "06 FLEE" + }, + { + "OrderNum": "XLRQD385C25-02", + "Amount": 2640, + "AccountName": "06 FLEE" + }, + { + "OrderNum": "XLRQD394C25", + "Amount": 3150, + "AccountName": "06 FLEE" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 12340, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD333C25", + "Amount": 6140, + "AccountName": "03 C" + }, + { + "OrderNum": "XLRQD333C25-02", + "Amount": 6200, + "AccountName": "03 C" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 5069, + "HandlingFee": 51, + "Order": [ + { + "OrderNum": "XLRQD194J25", + "Amount": 5120, + "AccountName": "02 BERN" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 27328, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD226A25", + "Amount": 27328, + "AccountName": "13 MSC" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 10750, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD259C25", + "Amount": 2750, + "AccountName": "Navios Tankers Management Inc" + }, + { + "OrderNum": "XLRQD288C25", + "Amount": 7500, + "AccountName": "Navios Tankers Management Inc" + }, + { + "OrderNum": "XLRQD090C25", + "Amount": 500, + "AccountName": "02 Brave" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 23440, + "HandlingFee": 20, + "Order": [ + { + "OrderNum": "XLRQD062R25", + "Amount": 1540, + "AccountName": "Exsil nv" + }, + { + "OrderNum": "XLRQD074R25", + "Amount": 20750, + "AccountName": "Exsil nv" + }, + { + "OrderNum": "XLRQD081R25", + "Amount": 1170, + "AccountName": "Exsil nv" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 7117, + "HandlingFee": 23, + "Order": [ + { + "OrderNum": "XLRQD069M25", + "Amount": 7140, + "AccountName": "06 Fairmont" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 15225, + "HandlingFee": 25, + "Order": [ + { + "OrderNum": "XLRQD181T25", + "Amount": 1900, + "AccountName": "01 ALAM" + }, + { + "OrderNum": "XLRQD196T25", + "Amount": 1150, + "AccountName": "01 ALAM" + }, + { + "OrderNum": "XLRQD204T25", + "Amount": 5400, + "AccountName": "01 ALAM" + }, + { + "OrderNum": "XLRQD286T25", + "Amount": 6800, + "AccountName": "01 ALAM" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 15982, + "HandlingFee": 29, + "Order": [ + { + "OrderNum": "XLRQD258H25", + "Amount": 6543, + "AccountName": "Eastern Pacific Shipping Pte Ltd" + }, + { + "OrderNum": "XLRQD259H25", + "Amount": 8242.2, + "AccountName": "Eastern Pacific Shipping Pte Ltd" + }, + { + "OrderNum": "XLRQD291H25", + "Amount": 219, + "AccountName": "01 ANGLO-A" + } + ], + "checkRes": false + }, + { + "ReceivedAmount": 706, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD020X25", + "Amount": 706, + "AccountName": "#N/A" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 19000, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRJT25002", + "Amount": 19000, + "AccountName": "#N/A" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 8374, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD552A25", + "Amount": 8374, + "AccountName": "13 MSC" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 3160, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD210H25", + "Amount": 3160, + "AccountName": "01 ANGLO-A" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 2628, + "HandlingFee": 12, + "Order": [ + { + "OrderNum": "XLRQD365C25", + "Amount": 2640, + "AccountName": "06 FLEE" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 22040, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD082R25", + "Amount": 22040, + "AccountName": "19 SUSESEA" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 33785, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD084R25", + "Amount": 33785, + "AccountName": "MEGATUGS" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 2106, + "HandlingFee": 18, + "Order": [ + { + "OrderNum": "XLRQD337T25", + "Amount": 2124, + "AccountName": "19松裕" + }, + { + "OrderNum": "XLRQD337T25-2", + "Amount": 0, + "AccountName": "19松裕" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 11880, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD350T25", + "Amount": 11880, + "AccountName": "#N/A" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 2450, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD350C25", + "Amount": 2450, + "AccountName": "PT SAMUDERA INDONESIA" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 3183, + "HandlingFee": 30, + "Order": [ + { + "OrderNum": "XLRQD109N25", + "Amount": 3213, + "AccountName": "16 PENC" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 3700, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD230J25", + "Amount": 3700, + "AccountName": "02 BERN" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 1960, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD313T25", + "Amount": 1960, + "AccountName": "08 华洋海事" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 66283.9, + "HandlingFee": 11, + "Order": [ + { + "OrderNum": "XLRQD217H25", + "Amount": 37222.9, + "AccountName": "01 ANGLO-A" + }, + { + "OrderNum": "XLRQD225H25", + "Amount": 29072, + "AccountName": "01 ANGLO-A" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 7275, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD196J25", + "Amount": 7275, + "AccountName": "16 Paci" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 310, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD098R25", + "Amount": 310, + "AccountName": "01 Amarc" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 7505, + "HandlingFee": 55, + "Order": [ + { + "OrderNum": "XLRQD224C25", + "Amount": 360, + "AccountName": "LASKARIDIS SHIPPING CO" + }, + { + "OrderNum": "XLRQD250C25", + "Amount": 6900, + "AccountName": "LASKARIDIS SHIPPING CO" + }, + { + "OrderNum": "XLRQD348C25", + "Amount": 200, + "AccountName": "LASKARIDIS SHIPPING CO" + }, + { + "OrderNum": "XLRQD358C25", + "Amount": 100, + "AccountName": "LASKARIDIS SHIPPING CO" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 5227, + "HandlingFee": 23, + "Order": [ + { + "OrderNum": "XLRQD075M25", + "Amount": 5250, + "AccountName": "06 Fairmont" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 2250, + "HandlingFee": 30, + "Order": [ + { + "OrderNum": "XLRQD009D25", + "Amount": 1600, + "AccountName": "SEACON MARINE SERVICE LIMITED" + }, + { + "OrderNum": "XLRQD033D25", + "Amount": 680, + "AccountName": "SEACON MARINE SERVICE LIMITED" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 2630, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD342C25", + "Amount": 2530, + "AccountName": "06 FLEE" + }, + { + "OrderNum": "XLRQD313C25", + "Amount": 100, + "AccountName": "06 FLEE" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 5984, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD273H25", + "Amount": 5984, + "AccountName": "ONESEA" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 87825, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD217G25", + "Amount": 100, + "AccountName": "26 ZODL" + }, + { + "OrderNum": "XLRQD215G25", + "Amount": 200, + "AccountName": "26 ZODL" + }, + { + "OrderNum": "XLRQD208G25", + "Amount": 360, + "AccountName": "26 ZODL" + }, + { + "OrderNum": "XLRQD194G25", + "Amount": 810, + "AccountName": "26 ZODL" + }, + { + "OrderNum": "XLRQD216G25", + "Amount": 2360, + "AccountName": "26 ZODL" + }, + { + "OrderNum": "XLRQD220G25", + "Amount": 2480, + "AccountName": "26 ZODL" + }, + { + "OrderNum": "XLRQD209G25", + "Amount": 3150, + "AccountName": "26 ZODL" + }, + { + "OrderNum": "XLRQD206G25", + "Amount": 6000, + "AccountName": "26 ZODL" + }, + { + "OrderNum": "XLRQD175G25", + "Amount": 7280, + "AccountName": "26 ZODL" + }, + { + "OrderNum": "XLRQD183G25", + "Amount": 8185, + "AccountName": "26 ZODL" + }, + { + "OrderNum": "XLRQD210G25", + "Amount": 16665, + "AccountName": "26 ZODL" + }, + { + "OrderNum": "XLRQD176G25", + "Amount": 40235, + "AccountName": "26 ZODL" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 5640, + "HandlingFee": 30, + "Order": [ + { + "OrderNum": "XLRQD107N25", + "Amount": 5670, + "AccountName": "16 PENC" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 17600, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD060D25", + "Amount": 17600, + "AccountName": "24西安创孚" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 4800, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD351T25", + "Amount": 4800, + "AccountName": "青岛蓝科海洋仪器设备有限公司" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 298.38, + "HandlingFee": 1.62, + "Order": [ + { + "OrderNum": "XLRQD023X25", + "Amount": 300, + "AccountName": "#N/A" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 33975, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD348C25", + "Amount": 33975, + "AccountName": "Ship Procurement Services S" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 11638, + "HandlingFee": 12, + "Order": [ + { + "OrderNum": "XLRQD226C25", + "Amount": 5750, + "AccountName": "06 FLEE" + }, + { + "OrderNum": "XLRQD298C25", + "Amount": 300, + "AccountName": "06 FLEE" + }, + { + "OrderNum": "XLRQD400C25", + "Amount": 5600, + "AccountName": "06 FLEE" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 2982, + "HandlingFee": 18, + "Order": [ + { + "OrderNum": "XLRQD082T25", + "Amount": 3000, + "AccountName": "19松裕" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 2300, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD156G25", + "Amount": 2300, + "AccountName": "05 Wallem Group" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 3232.5, + "HandlingFee": 30, + "Order": [ + { + "OrderNum": "XLRQD110N25", + "Amount": 3262.5, + "AccountName": "LALUNE SARL" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 469, + "HandlingFee": 46, + "Order": [ + { + "OrderNum": "XLRQD273J25", + "Amount": 515, + "AccountName": "02 BERN" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 9461.06, + "HandlingFee": 27.5, + "Order": [ + { + "OrderNum": "XLRGS270A25", + "Amount": 9488.56, + "AccountName": "13 MSC" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 92016.5, + "HandlingFee": 27.5, + "Order": [ + { + "OrderNum": "欧洲回款", + "Amount": 92044, + "AccountName": "#N/A" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 1127.1, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD106N25", + "Amount": 1127.1, + "AccountName": "12 les" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 5180, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD058M25", + "Amount": 5180, + "AccountName": "01 Atlant" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 13160, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD238J25", + "Amount": 5940, + "AccountName": "08 Helikon Shipping" + }, + { + "OrderNum": "XLRQD234J25", + "Amount": 4550, + "AccountName": "08 Helikon Shipping" + }, + { + "OrderNum": "XLRQD209J25", + "Amount": 170, + "AccountName": "08 Helikon Shipping" + }, + { + "OrderNum": "XLRQD206J25", + "Amount": 2500, + "AccountName": "08 Helikon Shipping" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 4350, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD382C25", + "Amount": 2280, + "AccountName": "03 CHIN" + }, + { + "OrderNum": "XLRQD382C25-02", + "Amount": 400, + "AccountName": "03 CHIN" + }, + { + "OrderNum": "XLRQD405C25", + "Amount": 1670, + "AccountName": "03 CHIN" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 1713, + "HandlingFee": 11, + "Order": [ + { + "OrderNum": "XLRQD241H25", + "Amount": 1724, + "AccountName": "01 ANGLO-A" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 149.19, + "HandlingFee": 0.81, + "Order": [ + { + "OrderNum": "XLRQD023X25", + "Amount": 150, + "AccountName": "#N/A" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 12400, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLSWSS25054CB", + "Amount": 12400, + "AccountName": "武汉招商滚装运输有限公司" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 4060, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD112G25", + "Amount": 1140, + "AccountName": "05 Wallem Group" + }, + { + "OrderNum": "XLRQD111G25", + "Amount": 2920, + "AccountName": "05 Wallem Group" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 104576.22, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD392A25", + "Amount": 104576.22, + "AccountName": "13 MSC" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 58950, + "HandlingFee": 36, + "Order": [ + { + "OrderNum": "XLRQD294T25", + "Amount": 6670, + "AccountName": "16 Pacific" + }, + { + "OrderNum": "XLRQD304T25", + "Amount": 2380, + "AccountName": "16 Pacific" + }, + { + "OrderNum": "XLRQD305T25", + "Amount": 560, + "AccountName": "16 Pacific" + }, + { + "OrderNum": "XLRQD307T25", + "Amount": 4760, + "AccountName": "16 Pacific" + }, + { + "OrderNum": "XLRQD308T25", + "Amount": 6040, + "AccountName": "16 Pacific" + }, + { + "OrderNum": "XLRQD309T25", + "Amount": 31476, + "AccountName": "16 Pacific" + }, + { + "OrderNum": "XLRQD312T25", + "Amount": 3020, + "AccountName": "16 Pacific" + }, + { + "OrderNum": "XLRQD326T25", + "Amount": 3660, + "AccountName": "16 Pacific" + }, + { + "OrderNum": "XLRQD329T25", + "Amount": 420, + "AccountName": "16 Pacific" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 5975, + "HandlingFee": 25, + "Order": [ + { + "OrderNum": "XLRQD200G25", + "Amount": 2770, + "AccountName": "20天津市金源02" + }, + { + "OrderNum": "XLRQD199G25", + "Amount": 3230, + "AccountName": "20天津市金源02" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 13067, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD203G25", + "Amount": 11407, + "AccountName": "GS Shipmanagement Pvt Ltd" + }, + { + "OrderNum": "XLRQD222G25", + "Amount": 1660, + "AccountName": "Synergz" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 3976, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD237J25", + "Amount": 3976, + "AccountName": "02 BERN" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 14074, + "HandlingFee": 51, + "Order": [ + { + "OrderNum": "XLRQD224J25", + "Amount": 14125, + "AccountName": "02 BERN" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 150, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD118N25", + "Amount": 150, + "AccountName": "#N/A" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 47140, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD117N25", + "Amount": 47140, + "AccountName": "#N/A" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 35, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD025X25", + "Amount": 35, + "AccountName": "#N/A" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 3340, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD191G25", + "Amount": 3340, + "AccountName": "05 Wallem Group" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 6904.5, + "HandlingFee": 11, + "Order": [ + { + "OrderNum": "XLRQD238G25", + "Amount": 5120, + "AccountName": "05 Eastaway" + }, + { + "OrderNum": "XLRQD205G25", + "Amount": 1795.5, + "AccountName": "05 Eastaway" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 8620, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD113C25", + "Amount": 100, + "AccountName": "20 Then" + }, + { + "OrderNum": "XLRQD368C25", + "Amount": 100, + "AccountName": "20 Then" + }, + { + "OrderNum": "XLRQD401C25", + "Amount": 8000, + "AccountName": "20 Then" + }, + { + "OrderNum": "XLRQD404C25", + "Amount": 420, + "AccountName": "20 Then" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 4845.92, + "HandlingFee": 4.08, + "Order": [ + { + "OrderNum": "XLRQD228J25", + "Amount": 2450, + "AccountName": "02 BERN" + }, + { + "OrderNum": "XLRQD181J25", + "Amount": 2400, + "AccountName": "18 RIZZO-RB" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 13905, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD114G25", + "Amount": 13905, + "AccountName": "Synergz" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 5659, + "HandlingFee": 11, + "Order": [ + { + "OrderNum": "XLRQD169H25", + "Amount": 5670, + "AccountName": "01 ANGLO-A" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 16770, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD055D25", + "Amount": 11200, + "AccountName": "24小田影视" + }, + { + "OrderNum": "XLRQD056D25", + "Amount": 4320, + "AccountName": "24小田影视" + }, + { + "OrderNum": "XLRQD059D25", + "Amount": 1250, + "AccountName": "24小田影视" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 10220, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD325C25-02", + "Amount": 4950, + "AccountName": "03 C" + }, + { + "OrderNum": "XLRQD325C25", + "Amount": 4920, + "AccountName": "03 C" + }, + { + "OrderNum": "XLRQD333C25", + "Amount": 350, + "AccountName": "03 C" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 9052, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD333A25", + "Amount": 9052, + "AccountName": "MSC CYPRUS" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 18829.3, + "HandlingFee": 56, + "Order": [ + { + "OrderNum": "XLRQD082N25", + "Amount": 17766.36, + "AccountName": "Obeikan Tensile Structures Factory" + }, + { + "OrderNum": "XLRQD082N25-2", + "Amount": 1118.94, + "AccountName": "Obeikan Tensile Structures Factory" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 760.8, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD112N25", + "Amount": 760.8, + "AccountName": "20 tuff rope" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 860, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD021L25", + "Amount": 860, + "AccountName": "#N/A" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 7970, + "HandlingFee": 17, + "Order": [ + { + "OrderNum": "XLRQD177J25", + "Amount": 7987, + "AccountName": "Yasa Shipping" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 5840, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD119N25", + "Amount": 5840, + "AccountName": "#N/A" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 155, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD116N25", + "Amount": 155, + "AccountName": "#N/A" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 23308, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD173J25", + "Amount": 20008, + "AccountName": "Columbia Ship Management" + }, + { + "OrderNum": "XLRQD188J25", + "Amount": 3300, + "AccountName": "Columbia Ship Management" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 7188, + "HandlingFee": 12, + "Order": [ + { + "OrderNum": "XLRQD307C25", + "Amount": 300, + "AccountName": "06 FLEE" + }, + { + "OrderNum": "XLRQD343C25", + "Amount": 6900, + "AccountName": "06 FLEE" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 4450, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD100N25", + "Amount": 4450, + "AccountName": "12 LALIZAS" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 13300, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD197C25", + "Amount": 13300, + "AccountName": "LASKARIDIS SHIPPING CO" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 6791, + "HandlingFee": 29, + "Order": [ + { + "OrderNum": "XLRQD022Y25", + "Amount": 6820, + "AccountName": "AGRICORE SHIP MANAGEMENT CO" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 1300, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLSWSS25037CB", + "Amount": 1300, + "AccountName": "02 Bernice" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 4300, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD091R25", + "Amount": 4300, + "AccountName": "Flamingo Shipping Agency" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 11222.5, + "HandlingFee": 37.5, + "Order": [ + { + "OrderNum": "XLRQD090T25", + "Amount": 1900, + "AccountName": "26 中化" + }, + { + "OrderNum": "XLRQD148T25", + "Amount": 2450, + "AccountName": "26 中化" + }, + { + "OrderNum": "XLRQD187T25", + "Amount": 4860, + "AccountName": "26 中化" + }, + { + "OrderNum": "XLRQD201T25", + "Amount": 2050, + "AccountName": "26 中化" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 5478, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD256J25", + "Amount": 5478, + "AccountName": "02 BERN" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 4341, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD213H25", + "Amount": 4122, + "AccountName": "19 Seaspan" + } + ], + "checkRes": false + }, + { + "ReceivedAmount": 13010, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD192G25", + "Amount": 13010, + "AccountName": "05 Wallem Group" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 150, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD304C25", + "Amount": 150, + "AccountName": "23 WILH" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 29908.11, + "HandlingFee": 44, + "Order": [ + { + "OrderNum": "XLRGS030A25", + "Amount": 913.3, + "AccountName": "MSC GLOBAL SUPPLIES SRL" + }, + { + "OrderNum": "XLRGS048A25", + "Amount": 2047.7, + "AccountName": "MSC GLOBAL SUPPLIES SRL" + }, + { + "OrderNum": "XLRGS065A25", + "Amount": 456.65, + "AccountName": "MSC GLOBAL SUPPLIES SRL" + }, + { + "OrderNum": "XLRGS217A25", + "Amount": 825.33, + "AccountName": "MSC GLOBAL SUPPLIES SRL" + }, + { + "OrderNum": "XLRGS221A25", + "Amount": 1116, + "AccountName": "MSC GLOBAL SUPPLIES SRL" + }, + { + "OrderNum": "XLRGS250A25", + "Amount": 967, + "AccountName": "MSC GLOBAL SUPPLIES SRL" + }, + { + "OrderNum": "XLRGS266A25", + "Amount": 865, + "AccountName": "MSC GLOBAL SUPPLIES SRL" + }, + { + "OrderNum": "XLRGS282A25", + "Amount": 1726.6, + "AccountName": "MSC GLOBAL SUPPLIES SRL" + }, + { + "OrderNum": "XLRGS289A25", + "Amount": 1980, + "AccountName": "MSC GLOBAL SUPPLIES SRL" + }, + { + "OrderNum": "XLRGS290A25", + "Amount": 1780, + "AccountName": "MSC GLOBAL SUPPLIES SRL" + }, + { + "OrderNum": "XLRGS292A25", + "Amount": 913.3, + "AccountName": "MSC GLOBAL SUPPLIES SRL" + }, + { + "OrderNum": "XLRGS293A25", + "Amount": 3004, + "AccountName": "MSC GLOBAL SUPPLIES SRL" + }, + { + "OrderNum": "XLRGS299A25", + "Amount": 106, + "AccountName": "MSC GLOBAL SUPPLIES SRL" + }, + { + "OrderNum": "XLRGS294A25", + "Amount": 372, + "AccountName": "MSC GLOBAL SUPPLIES SRL" + }, + { + "OrderNum": "XLRGS295A25", + "Amount": 2396.64, + "AccountName": "MSC GLOBAL SUPPLIES SRL" + }, + { + "OrderNum": "XLRGS297A25", + "Amount": 1726.66, + "AccountName": "MSC GLOBAL SUPPLIES SRL" + }, + { + "OrderNum": "XLRGS303A25", + "Amount": 3322, + "AccountName": "MSC GLOBAL SUPPLIES SRL" + }, + { + "OrderNum": "XLRGS305A25", + "Amount": 1284, + "AccountName": "MSC GLOBAL SUPPLIES SRL" + }, + { + "OrderNum": "XLRGS307A25", + "Amount": 491.25, + "AccountName": "MSC GLOBAL SUPPLIES SRL" + }, + { + "OrderNum": "XLRGS302A25", + "Amount": 3658.68, + "AccountName": "MSC GLOBAL SUPPLIES SRL" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 40220, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD247T25", + "Amount": 3000, + "AccountName": "24台湾万海航运" + }, + { + "OrderNum": "XLRQD083T25", + "Amount": 20580, + "AccountName": "24台湾万海航运" + }, + { + "OrderNum": "XLRQD210T25", + "Amount": 2560, + "AccountName": "24台湾万海航运" + }, + { + "OrderNum": "XLRQD241T25", + "Amount": 2560, + "AccountName": "24台湾万海航运" + }, + { + "OrderNum": "XLRQD234T25", + "Amount": 2560, + "AccountName": "24台湾万海航运" + }, + { + "OrderNum": "XLRQD236T25", + "Amount": 2560, + "AccountName": "24台湾万海航运" + }, + { + "OrderNum": "XLRQD191T25", + "Amount": 3840, + "AccountName": "24台湾万海航运" + }, + { + "OrderNum": "XLRQD238T25", + "Amount": 2560, + "AccountName": "24台湾万海航运" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 4303, + "HandlingFee": 17, + "Order": [ + { + "OrderNum": "XLRQD115N25", + "Amount": 4320, + "AccountName": "Coin De Mire Exports (Pty) Ltd" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 41688, + "HandlingFee": 11, + "Order": [ + { + "OrderNum": "XLRQD196H25", + "Amount": 7510, + "AccountName": "01 ANGLO-A" + }, + { + "OrderNum": "XLRQD257H25", + "Amount": 23650, + "AccountName": "01 ANGLO-A" + }, + { + "OrderNum": "XLRQD286H25", + "Amount": 10537, + "AccountName": "01 ANGLO-A" + } + ], + "checkRes": false + }, + { + "ReceivedAmount": 2809, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD120N25", + "Amount": 2809, + "AccountName": "#N/A" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 860, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD419C25", + "Amount": 690, + "AccountName": "20 Then" + }, + { + "OrderNum": "XLRQD379C25", + "Amount": 170, + "AccountName": "20 Then" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 240, + "HandlingFee": 25, + "Order": [ + { + "OrderNum": "XLRQD549A25", + "Amount": null, + "AccountName": "13 MSC" + } + ], + "checkRes": false + }, + { + "ReceivedAmount": 2476, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD229G25", + "Amount": 2476, + "AccountName": "05 Wallem Group" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 962, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD065R25", + "Amount": 962, + "AccountName": "13 MANTA" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 210, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD022L25", + "Amount": 210, + "AccountName": "#N/A" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 70685, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD185J25", + "Amount": 4860, + "AccountName": "Advantage Tankers-Geden Lines" + }, + { + "OrderNum": "XLRQD170J25", + "Amount": 65825, + "AccountName": "Advantage Tankers-Geden Lines" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 294, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD026X25", + "Amount": 294, + "AccountName": "#N/A" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 18200, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD027K25", + "Amount": 18200, + "AccountName": "23无锡西亿" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 64296, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD418C25", + "Amount": 61796, + "AccountName": "09 INTL" + }, + { + "OrderNum": "XLRQD448C25", + "Amount": 2500, + "AccountName": "09 INTL" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 4818, + "HandlingFee": 12, + "Order": [ + { + "OrderNum": "XLRQD421C25", + "Amount": null, + "AccountName": "06 FLEE" + } + ], + "checkRes": false + }, + { + "ReceivedAmount": 3689, + "HandlingFee": 51, + "Order": [ + { + "OrderNum": "XLRQD191J25", + "Amount": 3740, + "AccountName": "02 BERN" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 52961.88, + "HandlingFee": 51, + "Order": [ + { + "OrderNum": "XLRQD159J25", + "Amount": 3000, + "AccountName": "02 BERN" + }, + { + "OrderNum": "XLRQD184J25", + "Amount": 2508, + "AccountName": "02 BERN" + }, + { + "OrderNum": "XLRQD187J25", + "Amount": 31330, + "AccountName": "02 BERN" + }, + { + "OrderNum": "XLRQD199J25", + "Amount": 5316, + "AccountName": "02 BERN" + }, + { + "OrderNum": "XLRQD217J25", + "Amount": 725, + "AccountName": "02 BERN" + }, + { + "OrderNum": "XLRQD222J25", + "Amount": 2508, + "AccountName": "02 BERN" + }, + { + "OrderNum": "XLRQD227J25", + "Amount": 7225.83, + "AccountName": "02 BERN" + }, + { + "OrderNum": "XLRQD217J25-1", + "Amount": 400, + "AccountName": "02 BERN" + } + ], + "checkRes": false + }, + { + "ReceivedAmount": 1029, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD121N25", + "Amount": 1029, + "AccountName": "#N/A" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 23454, + "HandlingFee": 46, + "Order": [ + { + "OrderNum": "XLRQD310C25", + "Amount": 7320, + "AccountName": "20 TRANS" + }, + { + "OrderNum": "XLRQD324C25", + "Amount": 2720, + "AccountName": "20 TRANS" + }, + { + "OrderNum": "XLRQD345C25", + "Amount": 180, + "AccountName": "20 TRANS" + }, + { + "OrderNum": "XLRQD346C25", + "Amount": 8780, + "AccountName": "20 TRANS" + }, + { + "OrderNum": "XLRQD346C25-02", + "Amount": 4500, + "AccountName": "20 TRANS" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 7997, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD202J25", + "Amount": 1100, + "AccountName": "Yasa Shipping" + }, + { + "OrderNum": "XLRQD201J25", + "Amount": 6897, + "AccountName": "Yasa Shipping" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 20178, + "HandlingFee": 12, + "Order": [ + { + "OrderNum": "XLRQD303C25", + "Amount": 5280, + "AccountName": "06 FLEE" + }, + { + "OrderNum": "XLRQD387C25-02", + "Amount": 270, + "AccountName": "06 FLEE" + }, + { + "OrderNum": "XLRQD394C25", + "Amount": 100, + "AccountName": "06 FLEE" + }, + { + "OrderNum": "XLRQD397C25", + "Amount": 7200, + "AccountName": "06 FLEE" + }, + { + "OrderNum": "XLRQD398C25", + "Amount": 200, + "AccountName": "06 FLEE" + }, + { + "OrderNum": "XLRQD400C25", + "Amount": 100, + "AccountName": "06 FLEE" + }, + { + "OrderNum": "XLRQD439C25", + "Amount": 1560, + "AccountName": "06 FLEE" + }, + { + "OrderNum": "XLRQD446C25", + "Amount": 1770, + "AccountName": "06 FLEE" + }, + { + "OrderNum": "XLRQD450C25", + "Amount": 3710, + "AccountName": "06 FLEE" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 12359, + "HandlingFee": 21, + "Order": [ + { + "OrderNum": "XLRQD221J25", + "Amount": 12380, + "AccountName": "02 BERN" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 34229.65, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD377J24", + "Amount": 6100, + "AccountName": "16 Paci" + }, + { + "OrderNum": "XLRQD241J25", + "Amount": 1600, + "AccountName": "16 Paci" + }, + { + "OrderNum": "XLRQD242J25", + "Amount": 14302.4, + "AccountName": "16 Paci" + }, + { + "OrderNum": "XLRQD246J25", + "Amount": 7035.45, + "AccountName": "16 Paci" + }, + { + "OrderNum": "XLRQD249J25", + "Amount": 5191.8, + "AccountName": "16 Paci" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 15360, + "HandlingFee": 40, + "Order": [ + { + "OrderNum": "XLRQD080M25", + "Amount": 15400, + "AccountName": "15 Oceanbrave" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 198.92, + "HandlingFee": 1.08, + "Order": [ + { + "OrderNum": "XLRQD122N25", + "Amount": null, + "AccountName": "#N/A" + } + ], + "checkRes": false + }, + { + "ReceivedAmount": 5700, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD081H25", + "Amount": 5700, + "AccountName": "01 ANGLO-A" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 3130, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD222H25", + "Amount": 3130, + "AccountName": "01 ANGLO-A" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 3808, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD240H25", + "Amount": 3808, + "AccountName": "01 ANGLO-A" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 2640, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD200H25", + "Amount": 2640, + "AccountName": "01 ANGLO-A" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 270, + "HandlingFee": 0, + "Order": [ + { + "OrderNum": "XLRQD082M25", + "Amount": 270, + "AccountName": "ENEOS" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 17725, + "HandlingFee": 25, + "Order": [ + { + "OrderNum": "XLRQD316T25", + "Amount": 1100, + "AccountName": "24台湾长荣航运" + }, + { + "OrderNum": "XLRQD268T25", + "Amount": 14450, + "AccountName": "24台湾长荣航运" + }, + { + "OrderNum": "XLRQD315T25", + "Amount": 1100, + "AccountName": "24台湾长荣航运" + }, + { + "OrderNum": "XLRQD317T25", + "Amount": 1100, + "AccountName": "24台湾长荣航运" + } + ], + "checkRes": true + }, + { + "ReceivedAmount": 2005.11, + "HandlingFee": 10.89, + "Order": [ + { + "OrderNum": "XLRQD023L25", + "Amount": null, + "AccountName": "#N/A" + } + ], + "checkRes": false + } +] \ No newline at end of file diff --git a/task.md b/task.md new file mode 100644 index 0000000..361b175 --- /dev/null +++ b/task.md @@ -0,0 +1,355 @@ +# 财务Excel数据处理系统 - 需求文档 + +## 项目概述 + +本系统用于自动化处理财务Excel数据,提取收款信息并生成标准会计分录表,支持数据验证和异常标记功能。 + +--- + +## 功能模块 + +### 模块一: Excel数据提取 (`process_excel.py`) + +#### 1.1 数据源 +- **文件路径**: `data/data.xlsx` +- **工作表**: Sheet1 +- **数据起始行**: 第2行(第1行为表头) + +#### 1.2 数据提取规则 + +##### 1.2.1 主记录字段 +- **ReceivedAmount** (实收金额) + - 来源: F列 + - 说明: 支持合并单元格(一行或多行) + - 处理: 非合并单元格按单行处理 + +- **HandlingFee** (手续费) + - 来源: G列 + - 处理: 空值自动记为0 + +##### 1.2.2 订单明细字段 +- **Order** (订单列表) + - 范围: F列合并单元格包含的所有行 + - 包含字段: + - **OrderNum** (订单号): H列 + - **Amount** (金额): I列 + - **AccountName** (账户名称): O列(支持公式,读取计算结果) + +##### 1.2.3 数据验证 +- **checkRes** (验证结果): Boolean + - 计算规则: `ReceivedAmount + HandlingFee ≈ Sum(Order[].Amount)` + - 容差: 0.01 + - true: 金额匹配 + - false: 金额不匹配,需要人工核对 + +#### 1.3 输出格式 + +**文件**: `res.json` + +**结构**: +```json +[ + { + "ReceivedAmount": 12125, + "HandlingFee": 25, + "Order": [ + { + "OrderNum": "XLRQD300T25", + "Amount": 550, + "AccountName": "24台湾长荣航运" + }, + { + "OrderNum": "XLRQD044T25", + "Amount": 11600, + "AccountName": "24台湾长荣航运" + } + ], + "checkRes": true + } +] +``` + +#### 1.4 特殊处理 +- 跳过订单号为空的行 +- 处理F列合并和非合并单元格混合的情况 +- 读取O列公式计算后的值(data_only=True) + +--- + +### 模块二: 会计分录生成 (`generate_accounting_entries.py`) + +#### 2.1 输入输出 +- **输入**: `res.json` +- **输出**: `AccountingEntries.xlsx` + +#### 2.2 会计分录规则 + +##### 2.2.1 基本分录 + +每笔 ReceivedAmount 记录生成以下分录: + +**1) 到账金额 - 借方记录** (每笔记录1条) +- 科目代码: `1002.02` +- 科目名称: `银行存款 - 中行USD` +- 摘要: `美金收款-{OrderNum}` +- 核算项目: Order[0].AccountName +- 币别: 美元 +- 汇率: 7.1072 (可配置) +- 原币金额: ReceivedAmount +- 金额: ReceivedAmount × 汇率 + +**2) 手续费 - 借方记录** (仅当 HandlingFee > 0) +- 科目代码: `5603.03` +- 科目名称: `财务费用-手续费` +- 摘要: `美金收款-{OrderNum}` +- 核算项目: 空 +- 币别: 人民币 +- 汇率: 空 +- 原币金额: 空 +- 金额: HandlingFee × 汇率 + +**3) 订单明细 - 贷方记录** (每个Order记录1条) +- 科目代码: `1122` +- 科目名称: `应收账款` +- 应收账款: Order.Amount (显示在"应收账款"列) +- 摘要: `美金收款-{OrderNum}` +- 核算项目: Order.AccountName +- 币别: 美元 +- 汇率: 7.1072 (可配置) +- 原币金额: Order.Amount +- 金额: Order.Amount × 汇率 + +##### 2.2.2 特殊规则 + +**空值处理** +- Order.Amount为null的订单跳过,不生成分录 + +**金额验证** +- checkRes为false的记录,所有相关分录行标记为粉红色背景(#FAD1D4) + +#### 2.3 Excel格式设置 + +##### 2.3.1 表头 +- 字段: 到账金额, 手续费, 订单号, 应收账款, 金蝶名称, 摘要, 借/贷, 科目代码(*), 科目名称(*), 核算项目, 币别, 汇率, 原币金额, 金额 +- 样式: 粗体, 蓝色背景(#CCE5FF), 居中对齐 + +##### 2.3.2 单元格合并 +- **到账金额列** (A列): 同一ReceivedAmount的所有分录行合并 +- **手续费列** (B列): 同一ReceivedAmount的所有分录行合并 +- 对齐方式: 垂直居中,水平居中 + +##### 2.3.3 异常标记 +- 条件: 原始记录的 checkRes = false +- 处理: 该记录产生的所有分录行设置背景色 +- 颜色: #FAD1D4 (粉红色) +- 目的: 突出显示金额不匹配的记录,便于人工核对 + +##### 2.3.4 列宽设置 +``` +A(到账金额): 12, B(手续费): 10, C(订单号): 18, +D(应收账款): 12, E(金蝶名称): 25, F(摘要): 25, +G(借/贷): 8, H(科目代码): 15, I(科目名称): 25, +J(核算项目): 25, K(币别): 10, L(汇率): 10, +M(原币金额): 12, N(金额): 15 +``` + +--- + +## 配置参数 + +### 汇率配置 +- **变量名**: `EXCHANGE_RATE` +- **位置**: `generate_accounting_entries.py` 第12行 +- **默认值**: 7.1072 +- **修改方式**: 直接编辑变量值 + +```python +# 固定汇率 +EXCHANGE_RATE = 7.1072 # 修改此值 +``` + +--- + +## 数据流程 + +``` +data/data.xlsx (原始数据) + ↓ +[process_excel.py 提取] + ↓ +res.json (中间数据) + ↓ +[generate_accounting_entries.py 生成] + ↓ +AccountingEntries.xlsx (会计分录表) +``` + +--- + +## 技术要求 + +### 开发语言 +- Python 3.x + +### 依赖库 +- openpyxl: Excel文件读写 + +### 安装命令 +```bash +pip install openpyxl --break-system-packages +``` + +--- + +## 数据示例 + +### 输入示例 (data.xlsx) + +| 到账金额 | 手续费 | 订单号 | 解款金额 | 金蝶名称 | +|---------|--------|---------|---------|---------| +| 12125 | 25 | XLRQD300T25 | 550 | 24台湾长荣航运 | +| (合并) | (合并) | XLRQD044T25 | 11600 | 24台湾长荣航运 | + +### 中间数据 (res.json) +```json +{ + "ReceivedAmount": 12125, + "HandlingFee": 25, + "Order": [ + {"OrderNum": "XLRQD300T25", "Amount": 550, "AccountName": "24台湾长荣航运"}, + {"OrderNum": "XLRQD044T25", "Amount": 11600, "AccountName": "24台湾长荣航运"} + ], + "checkRes": true +} +``` + +### 输出示例 (AccountingEntries.xlsx) + +| 到账金额 | 手续费 | 订单号 | 应收账款 | 金蝶名称 | 借/贷 | 科目代码 | 科目名称 | 币别 | 原币金额 | 金额 | +|---------|--------|--------|---------|---------|-------|----------|----------|------|----------|------| +| 12125 | 25 | XLRQD300T25 | | 24台湾长荣航运 | 借 | 1002.02 | 银行存款 - 中行USD | 美元 | 12125 | 86,174.80 | +| (合并) | (合并) | XLRQD300T25 | | | 借 | 5603.03 | 财务费用-手续费 | 人民币 | | 177.68 | +| (合并) | (合并) | XLRQD300T25 | 550 | 24台湾长荣航运 | 贷 | 1122 | 应收账款 | 美元 | 550 | 3,908.96 | +| (合并) | (合并) | XLRQD044T25 | 11600 | 24台湾长荣航运 | 贷 | 1122 | 应收账款 | 美元 | 11600 | 82,443.52 | + +--- + +## 验证规则 + +### checkRes计算 +```python +received_plus_fee = ReceivedAmount + HandlingFee +order_amount_sum = Sum(Order[].Amount where Amount is not null) +checkRes = abs(received_plus_fee - order_amount_sum) < 0.01 +``` + +### 异常情况 +- **checkRes = false**: 粉红色背景标记 +- **Order.Amount = null**: 跳过该订单,不生成分录 +- **HandlingFee = null**: 自动记为0 + +--- + +## 测试用例 + +### 测试用例1: 正常单订单 +- 输入: ReceivedAmount=695, HandlingFee=0, Order[0].Amount=695 +- 预期: 2行分录(到账借+订单贷), checkRes=true +- 应收账款列: 贷方记录显示695 + +### 测试用例2: 正常多订单 +- 输入: ReceivedAmount=12125, HandlingFee=25, Order=[550, 11600] +- 预期: 4行分录(到账借+手续费借+2个订单贷), checkRes=true +- 应收账款列: 两条贷方记录分别显示550和11600 + +### 测试用例3: 金额不匹配 +- 输入: ReceivedAmount=17270, HandlingFee=0, Order=[5676, 11450] +- 预期: checkRes=false, 所有分录行粉红色背景(#FAD1D4) + +### 测试用例4: 订单金额为空 +- 输入: ReceivedAmount=240, HandlingFee=25, Order[0].Amount=null +- 预期: 跳过订单明细分录,不报错,只生成到账借方和手续费借方 + +--- + +## 文件清单 + +| 文件名 | 类型 | 说明 | +|--------|------|------| +| data/data.xlsx | 输入 | 原始财务数据 | +| process_excel.py | 程序 | 数据提取脚本 | +| res.json | 中间 | 提取的JSON数据 | +| generate_accounting_entries.py | 程序 | 会计分录生成脚本 | +| AccountingEntries.xlsx | 输出 | 会计分录表 | +| analyze_excel.py | 工具 | Excel结构分析工具 | +| task.md | 文档 | 需求文档(本文件) | +| User.md | 文档 | 用户使用说明 | + +--- + +## 性能要求 + +- 支持处理300+行Excel数据 +- 生成500+行会计分录 +- 处理时间 < 10秒 +- 实测: 174条记录生成566条会计分录 + +--- + +## 错误处理 + +### Excel读取错误 +- 文件不存在: 提示并退出 +- Sheet1不存在: 提示并退出 +- 列映射错误: 记录日志,跳过该行 + +### 数据验证错误 +- 空值: 自动处理(HandlingFee=0, 跳过Amount=null) +- 格式错误: 记录日志,继续处理 +- checkRes=false: 标记但继续处理 + +--- + +## 扩展需求 + +### 未来可能增加的功能 +- [ ] 支持多工作表批量处理 +- [ ] 汇率从配置文件读取 +- [ ] 生成汇总统计报表 +- [ ] 支持导出金蝶格式 +- [ ] 添加数据修正功能 + +--- + +## 版本信息 + +- **版本**: v1.1 +- **最后更新**: 2025-01-17 +- **作者**: Claude Code +- **状态**: 已完成并测试 + +### 版本历史 + +**v1.1** (2025-01-17) +- 优化会计分录规则: 移除"到账金额-贷方"记录 +- 每个Order记录都生成对应的贷方分录(无例外) +- Order生成的贷方记录在"应收账款"列显示Amount金额 +- 简化单订单处理逻辑,移除单订单优化规则 + +**v1.0** (2025-01-17) +- 初始版本 +- Excel数据提取功能 +- 会计分录生成功能 +- 合并单元格支持 +- 金额验证功能 +- 异常背景色标记 + +--- + +## 备注 + +1. 所有金额计算保留2位小数 +2. 汇率统一使用固定值,不从Excel读取 +3. 合并单元格的值读取左上角单元格 +4. O列公式使用data_only=True读取计算结果 +5. 背景色仅用于标记,不影响数据内容 diff --git a/temp.png b/temp.png new file mode 100644 index 0000000000000000000000000000000000000000..3484b157d1fa938ca7ce8f1ce03bad30e7986812 GIT binary patch literal 42681 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 VvgE9+++(N>C?^GxtdKAa{4X_xi$wqc literal 0 HcmV?d00001 diff --git a/venv/pyvenv.cfg b/venv/pyvenv.cfg new file mode 100644 index 0000000..ab412e8 --- /dev/null +++ b/venv/pyvenv.cfg @@ -0,0 +1,5 @@ +home = /usr/bin +include-system-site-packages = false +version = 3.12.3 +executable = /usr/bin/python3.12 +command = /usr/bin/python3 -m venv /mnt/d/Cursor/TableProcessing/venv